diff --git a/.gitignore b/.gitignore index be170102a..ac5350650 100644 --- a/.gitignore +++ b/.gitignore @@ -114,3 +114,12 @@ project/vs2015/*.opendb docs/examples/web/*.html docs/examples/web/*/*.html !docs/examples/web/loader.html +!docs/examples/web/core/loader.html +!docs/examples/web/shapes/loader.html +!docs/examples/web/text/loader.html +!docs/examples/web/textures/loader.html +!docs/examples/web/audio/loader.html +!docs/examples/web/physac/loader.html +!docs/examples/web/shaders/loader.html +!docs/examples/web/models/loader.html + diff --git a/docs/common/js/examples.js b/docs/common/js/examples.js index 01f7611f2..a06f4502b 100644 --- a/docs/common/js/examples.js +++ b/docs/common/js/examples.js @@ -25,6 +25,7 @@ $(document).ready(function() { 'shapes_basic_shapes', 'shapes_colors_palette', 'shapes_logo_raylib_anim', + 'shapes_lines_bezier', 'textures_logo_raylib', 'textures_image_loading', 'textures_rectangle', @@ -35,18 +36,19 @@ $(document).ready(function() { 'textures_image_drawing', 'text_sprite_fonts', 'text_bmfont_ttf', - 'text_rbmf_fonts', + 'text_raylib_fonts', 'text_format_text', 'text_writing_anim', 'text_ttf_loading', 'text_bmfont_unordered', + 'text_input_box', 'models_geometric_shapes', 'models_box_collisions', 'models_billboard', 'models_obj_loading', 'models_heightmap', 'models_cubicmap', - 'models_ray_picking', + 'models_mesh_picking', 'shaders_model_shader', 'shaders_shapes_textures', 'shaders_custom_uniform', @@ -56,68 +58,16 @@ $(document).ready(function() { 'audio_module_playing', 'audio_raw_stream']; - var exampleDesc = [ - 'basic window', - 'input keys', - 'input mouse', - 'mouse wheel', - 'input gamepad', - 'random values', - 'color select', - 'drop files', - 'storage values', - 'gestures detection', - '3d mode', - '3d picking', - '3d camera free', - '3d camera first person', - '2d camera', - 'world screen', - 'vr simulator', - 'logo raylib shapes', - 'basic shapes', - 'colors palette', - 'logo raylib anim', - 'logo raylib texture', - 'image loading', - 'texture rectangle', - 'src-dest. rectangles', - 'texture to image', - 'raw data loading', - 'image processing', - 'image drawing', - 'sprite fonts', - 'bmfonts ttf', - 'rbmf fonts', - 'text formatting', - 'writing animation', - 'ttf loading', - 'bmfont unordered', - 'geometric shapes', - 'box collisions', - 'billboard drawing', - 'obj loading', - 'heightmap loading', - 'cubesmap loading', - 'mesh ray picking', - 'model shader', - 'shapes textures shader', - 'custom uniform in shaders', - 'postprocessing shaders', - 'standard lighting', - 'sound loading', - 'music streaming', - 'module playing', - 'raw stream']; - for (var i = 0; i < exampleName.length; i++) { var filterType = exampleName[i].substring(0, exampleName[i].indexOf("_")); + var exampleBase = exampleName[i].slice(exampleName[i].indexOf('_') + 1); + var exampleDesc = exampleBase.replace('_', ' '); $('#container').append( '
' + - '' + - '

' + exampleDesc[i] + '

' + + '' + + '

' + exampleDesc + '

' + '
'); $('#container a .extext').hide(); diff --git a/docs/common/js/games.js b/docs/common/js/games.js index 659c2a1a5..67a9e502c 100644 --- a/docs/common/js/games.js +++ b/docs/common/js/games.js @@ -14,14 +14,12 @@ $(document).ready(function() { 'sample_space_invaders', 'sample_floppy', 'sample_tetris', - 'sample_gold_fever', - 'sample_doom', - 'game_raylib_features', 'game_drturtle', 'game_just_do', 'game_skully_escape', 'game_koala_seasons', 'game_light_my_ritual', + 'game_wave_collector', 'user_raymario', 'user_crazyball', 'user_tictactoe', @@ -40,14 +38,12 @@ $(document).ready(function() { 'space invaders', 'floppy', 'tetris', - 'gold fever', - 'doom', - 'raylib Features DEMO', 'Dr Turtle & Mr Gamera', 'JUST DO', 'Skully Escape', 'Koala Seasons', 'LIGHT MY RITUAL', + 'Wave Collector', 'RayMario (Victor Fisac)', 'CrazyBall (Victor Fisac)', 'Tic-Tac-Toe (LelixSuper)', @@ -83,8 +79,6 @@ $(document).ready(function() { */ } - if (exampleName[i] == 'game_koala_seasons') linkTag = ''; - $('#container').append( '
' + linkTag + '

' + exampleDesc[i] + '

' + diff --git a/docs/examples/img/audio/audio_module_playing.png b/docs/examples/img/audio/audio_module_playing.png deleted file mode 100644 index ed181fa02..000000000 Binary files a/docs/examples/img/audio/audio_module_playing.png and /dev/null differ diff --git a/docs/examples/img/shaders/shaders_shapes_textures.png b/docs/examples/img/shaders/shaders_shapes_textures.png deleted file mode 100644 index ee5fed428..000000000 Binary files a/docs/examples/img/shaders/shaders_shapes_textures.png and /dev/null differ diff --git a/docs/examples/img/shaders/shaders_standard_lighting.png b/docs/examples/img/shaders/shaders_standard_lighting.png deleted file mode 100644 index 65efe47f7..000000000 Binary files a/docs/examples/img/shaders/shaders_standard_lighting.png and /dev/null differ diff --git a/docs/examples/img/text/text_font_select.png b/docs/examples/img/text/text_font_select.png deleted file mode 100644 index 65040df67..000000000 Binary files a/docs/examples/img/text/text_font_select.png and /dev/null differ diff --git a/docs/examples/img/text/text_rbmf_fonts.png b/docs/examples/img/text/text_rbmf_fonts.png deleted file mode 100644 index c047c5037..000000000 Binary files a/docs/examples/img/text/text_rbmf_fonts.png and /dev/null differ diff --git a/docs/examples/img/textures/textures_formats_loading.png b/docs/examples/img/textures/textures_formats_loading.png deleted file mode 100644 index 6778080f4..000000000 Binary files a/docs/examples/img/textures/textures_formats_loading.png and /dev/null differ diff --git a/docs/examples/img/textures/textures_raw_data.png b/docs/examples/img/textures/textures_raw_data.png deleted file mode 100644 index 374d22665..000000000 Binary files a/docs/examples/img/textures/textures_raw_data.png and /dev/null differ diff --git a/docs/examples/img/textures/textures_rectangle.png b/docs/examples/img/textures/textures_rectangle.png deleted file mode 100644 index d89404abc..000000000 Binary files a/docs/examples/img/textures/textures_rectangle.png and /dev/null differ diff --git a/docs/examples/img/textures/textures_srcrec_dstrec.png b/docs/examples/img/textures/textures_srcrec_dstrec.png deleted file mode 100644 index 9ea00fe43..000000000 Binary files a/docs/examples/img/textures/textures_srcrec_dstrec.png and /dev/null differ diff --git a/docs/examples/src/audio/audio_module_playing.c b/docs/examples/src/audio/audio_module_playing.c index a9ee46193..671a119f7 100644 --- a/docs/examples/src/audio/audio_module_playing.c +++ b/docs/examples/src/audio/audio_module_playing.c @@ -52,7 +52,7 @@ int main() circles[i].color = colors[GetRandomValue(0, 13)]; } - Music xm = LoadMusicStream("resources/audio/mini1111.xm"); + Music xm = LoadMusicStream("resources/mini1111.xm"); PlayMusicStream(xm); @@ -86,7 +86,7 @@ int main() } // Get timePlayed scaled to bar dimensions - timePlayed = (GetMusicTimePlayed(xm)/GetMusicTimeLength(xm)*(screenWidth - 40))*2; + timePlayed = GetMusicTimePlayed(xm)/GetMusicTimeLength(xm)*(screenWidth - 40); // Color circles animation for (int i = MAX_CIRCLES - 1; (i >= 0) && !pause; i--) @@ -112,7 +112,7 @@ int main() //---------------------------------------------------------------------------------- BeginDrawing(); - ClearBackground(WHITE); + ClearBackground(RAYWHITE); for (int i = MAX_CIRCLES - 1; i >= 0; i--) { diff --git a/docs/examples/src/audio/audio_music_stream.c b/docs/examples/src/audio/audio_music_stream.c index dc9d43554..f9fe23d2d 100644 --- a/docs/examples/src/audio/audio_music_stream.c +++ b/docs/examples/src/audio/audio_music_stream.c @@ -24,7 +24,7 @@ int main() InitAudioDevice(); // Initialize audio device - Music music = LoadMusicStream("resources/audio/guitar_noodling.ogg"); + Music music = LoadMusicStream("resources/guitar_noodling.ogg"); PlayMusicStream(music); @@ -58,7 +58,7 @@ int main() } // Get timePlayed scaled to bar dimensions (400 pixels) - timePlayed = GetMusicTimePlayed(music)/GetMusicTimeLength(music)*100*4; + timePlayed = GetMusicTimePlayed(music)/GetMusicTimeLength(music)*400; //---------------------------------------------------------------------------------- // Draw diff --git a/docs/examples/src/audio/audio_raw_stream.c b/docs/examples/src/audio/audio_raw_stream.c index c044a7e0a..80c83e968 100644 --- a/docs/examples/src/audio/audio_raw_stream.c +++ b/docs/examples/src/audio/audio_raw_stream.c @@ -16,7 +16,8 @@ #include // Required for: malloc(), free() #include // Required for: sinf() -#define MAX_SAMPLES 20000 +#define MAX_SAMPLES 22050 +#define MAX_SAMPLES_PER_UPDATE 4096 int main() { @@ -29,21 +30,20 @@ int main() InitAudioDevice(); // Initialize audio device - // Init raw audio stream (sample rate: 22050, sample size: 32bit-float, channels: 1-mono) - AudioStream stream = InitAudioStream(22050, 32, 1); + // Init raw audio stream (sample rate: 22050, sample size: 16bit-short, channels: 1-mono) + AudioStream stream = InitAudioStream(22050, 16, 1); - // Fill audio stream with some samples (sine wave) - float *data = (float *)malloc(sizeof(float)*MAX_SAMPLES); + // Generate samples data from sine wave + short *data = (short *)malloc(sizeof(short)*MAX_SAMPLES); + // TODO: Review data generation, it seems data is discontinued for loop, + // for that reason, there is a clip everytime audio stream is looped... for (int i = 0; i < MAX_SAMPLES; i++) { - data[i] = sinf(((2*PI*(float)i)/2)*DEG2RAD); + data[i] = (short)(sinf(((2*PI*(float)i)/2)*DEG2RAD)*32000); } - // NOTE: The generated MAX_SAMPLES do not fit to close a perfect loop - // for that reason, there is a clip everytime audio stream is looped - - PlayAudioStream(stream); + PlayAudioStream(stream); // Start processing stream buffer (no data loaded currently) int totalSamples = MAX_SAMPLES; int samplesLeft = totalSamples; @@ -60,10 +60,13 @@ int main() //---------------------------------------------------------------------------------- // Refill audio stream if required + // NOTE: Every update we check if stream data has been already consumed and we update + // buffer with new data from the generated samples, we upload data at a rate (MAX_SAMPLES_PER_UPDATE), + // but notice that at some point we update < MAX_SAMPLES_PER_UPDATE data... if (IsAudioBufferProcessed(stream)) { int numSamples = 0; - if (samplesLeft >= 4096) numSamples = 4096; + if (samplesLeft >= MAX_SAMPLES_PER_UPDATE) numSamples = MAX_SAMPLES_PER_UPDATE; else numSamples = samplesLeft; UpdateAudioStream(stream, data + (totalSamples - samplesLeft), numSamples); @@ -83,11 +86,11 @@ int main() DrawText("SINE WAVE SHOULD BE PLAYING!", 240, 140, 20, LIGHTGRAY); - // NOTE: Draw a part of the sine wave (only screen width) + // NOTE: Draw a part of the sine wave (only screen width, proportional values) for (int i = 0; i < GetScreenWidth(); i++) { position.x = i; - position.y = 250 + 50*data[i]; + position.y = 250 + 50*data[i]/32000; DrawPixelV(position, RED); } diff --git a/docs/examples/src/audio/audio_sound_loading.c b/docs/examples/src/audio/audio_sound_loading.c index f081e8ed3..00e583264 100644 --- a/docs/examples/src/audio/audio_sound_loading.c +++ b/docs/examples/src/audio/audio_sound_loading.c @@ -24,8 +24,8 @@ int main() InitAudioDevice(); // Initialize audio device - Sound fxWav = LoadSound("resources/audio/weird.wav"); // Load WAV audio file - Sound fxOgg = LoadSound("resources/audio/tanatana.ogg"); // Load OGG audio file + Sound fxWav = LoadSound("resources/sound.wav"); // Load WAV audio file + Sound fxOgg = LoadSound("resources/tanatana.ogg"); // Load OGG audio file SetTargetFPS(60); //-------------------------------------------------------------------------------------- diff --git a/docs/examples/src/core/core_input_gamepad.c b/docs/examples/src/core/core_input_gamepad.c index f98885e3c..64520a47c 100644 --- a/docs/examples/src/core/core_input_gamepad.c +++ b/docs/examples/src/core/core_input_gamepad.c @@ -4,8 +4,8 @@ * * NOTE: This example requires a Gamepad connected to the system * raylib is configured to work with the following gamepads: -* Xbox 360 Controller (Xbox 360, Xbox One) -* PLAYSTATION(R)3 Controller +* - Xbox 360 Controller (Xbox 360, Xbox One) +* - PLAYSTATION(R)3 Controller * Check raylib.h for buttons configuration * * This example has been created using raylib 1.6 (www.raylib.com) diff --git a/docs/examples/src/core/core_vr_simulator.c b/docs/examples/src/core/core_vr_simulator.c index eb628cd76..69e0f849f 100644 --- a/docs/examples/src/core/core_vr_simulator.c +++ b/docs/examples/src/core/core_vr_simulator.c @@ -1,14 +1,11 @@ /******************************************************************************************* * -* raylib [core] example - Oculus Rift CV1 +* raylib [core] example - VR Simulator (Oculus Rift CV1 parameters) * -* Compile example using: -* gcc -o $(NAME_PART).exe $(FILE_NAME) -L. -L..\src\external\OculusSDK\LibOVR -lLibOVRRT32_1 -lraylib -lglfw3 -lopengl32 -lgdi32 -std=c99 -* -* This example has been created using raylib 1.5 (www.raylib.com) +* This example has been created using raylib 1.7 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * -* Copyright (c) 2016 Ramon Santamaria (@raysan5) +* Copyright (c) 2017 Ramon Santamaria (@raysan5) * ********************************************************************************************/ @@ -23,10 +20,9 @@ int main() // NOTE: screenWidth/screenHeight should match VR device aspect ratio - InitWindow(screenWidth, screenHeight, "raylib [core] example - oculus rift"); - - // NOTE: If device is not available, it fallbacks to default device (simulator) - InitVrDevice(HMD_OCULUS_RIFT_CV1); // Init VR device (Oculus Rift CV1) + InitWindow(screenWidth, screenHeight, "raylib [core] example - vr simulator"); + + InitVrSimulator(HMD_OCULUS_RIFT_CV1); // Init VR simulator (Oculus Rift CV1 parameters) // Define the camera to look into our 3d world Camera camera; @@ -47,10 +43,9 @@ int main() { // Update //---------------------------------------------------------------------------------- - if (IsVrSimulator()) UpdateCamera(&camera); // Update camera (simulator mode) - else if (IsVrDeviceReady()) UpdateVrTracking(&camera); // Update camera with device tracking data - - if (IsKeyPressed(KEY_SPACE)) ToggleVrMode(); // Toggle VR mode + UpdateCamera(&camera); // Update camera (simulator mode) + + if (IsKeyPressed(KEY_SPACE)) ToggleVrMode(); // Toggle VR mode //---------------------------------------------------------------------------------- // Draw @@ -58,15 +53,19 @@ int main() BeginDrawing(); ClearBackground(RAYWHITE); + + BeginVrDrawing(); - Begin3dMode(camera); + Begin3dMode(camera); - DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED); - DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, MAROON); + DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED); + DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, MAROON); - DrawGrid(40, 1.0f); + DrawGrid(40, 1.0f); - End3dMode(); + End3dMode(); + + EndVrDrawing(); DrawFPS(10, 10); @@ -76,10 +75,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - CloseVrDevice(); // Close VR device + CloseVrSimulator(); // Close VR simulator CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; -} +} \ No newline at end of file diff --git a/examples/models/models_ray_picking.c b/docs/examples/src/models/models_mesh_picking.c similarity index 93% rename from examples/models/models_ray_picking.c rename to docs/examples/src/models/models_mesh_picking.c index 55914fa20..0b5247ec1 100644 --- a/examples/models/models_ray_picking.c +++ b/docs/examples/src/models/models_mesh_picking.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - Ray picking in 3d mode, ground plane, triangle, mesh +* raylib [models] example - Mesh picking in 3d mode, ground plane, triangle, mesh * * This example has been created using raylib 1.7 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) @@ -13,9 +13,7 @@ #include "raylib.h" #include "raymath.h" -#include -#include - +#define FLT_MAX 3.40282347E+38F // Maximum value of a float, defined in int main() { @@ -24,7 +22,7 @@ int main() int screenWidth = 800; int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [models] example - 3d ray picking"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - mesh picking"); // Define the camera to look into our 3d world Camera camera; @@ -33,7 +31,7 @@ int main() camera.up = (Vector3){ 0.0f, 1.6f, 0.0f }; // Camera up vector (rotation towards target) camera.fovy = 45.0f; // Camera field-of-view Y - Ray ray; // Picking line ray + Ray ray; // Picking ray Model tower = LoadModel("resources/tower.obj"); // Load OBJ model Texture2D texture = LoadTexture("resources/tower.png"); // Load model texture @@ -91,7 +89,7 @@ int main() cursorColor = PURPLE; hitObjectName = "Triangle"; - bary = Barycenter(nearestHit.hitPosition, ta, tb, tc); + bary = VectorBarycenter(nearestHit.hitPosition, ta, tb, tc); hitTriangle = true; } else hitTriangle = false; @@ -138,15 +136,15 @@ int main() // If we hit something, draw the cursor at the hit point if (nearestHit.hit) { - DrawCube(nearestHit.hitPosition, 0.5, 0.5, 0.5, cursorColor); - DrawCubeWires(nearestHit.hitPosition, 0.5, 0.5, 0.5, YELLOW); + DrawCube(nearestHit.hitPosition, 0.3, 0.3, 0.3, cursorColor); + DrawCubeWires(nearestHit.hitPosition, 0.3, 0.3, 0.3, RED); Vector3 normalEnd; normalEnd.x = nearestHit.hitPosition.x + nearestHit.hitNormal.x; normalEnd.y = nearestHit.hitPosition.y + nearestHit.hitNormal.y; normalEnd.z = nearestHit.hitPosition.z + nearestHit.hitNormal.z; - DrawLine3D(nearestHit.hitPosition, normalEnd, YELLOW); + DrawLine3D(nearestHit.hitPosition, normalEnd, RED); } DrawRay(ray, MAROON); diff --git a/docs/examples/src/physac/physics_demo.c b/docs/examples/src/physac/physics_demo.c index bed7c94d3..555883636 100644 --- a/docs/examples/src/physac/physics_demo.c +++ b/docs/examples/src/physac/physics_demo.c @@ -2,17 +2,22 @@ * * Physac - Physics demo * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. -* The file pthreadGC2.dll is required to run the program; you can find it in 'src\external' +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) * -* Copyright (c) 2016 Victor Fisac +* Use the following line to compile: +* +* gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread +* -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition +* +* Copyright (c) 2017 Victor Fisac * ********************************************************************************************/ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "..\src\physac.h" +#include "physac.h" int main() { @@ -114,9 +119,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + diff --git a/docs/examples/src/physac/physics_friction.c b/docs/examples/src/physac/physics_friction.c index 28d3c4b8c..6ce1d4063 100644 --- a/docs/examples/src/physac/physics_friction.c +++ b/docs/examples/src/physac/physics_friction.c @@ -2,17 +2,22 @@ * * Physac - Physics friction * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. -* The file pthreadGC2.dll is required to run the program; you can find it in 'src\external' +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) * -* Copyright (c) 2016 Victor Fisac +* Use the following line to compile: +* +* gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread +* -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition +* +* Copyright (c) 2017 Victor Fisac * ********************************************************************************************/ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "..\src\physac.h" +#include "physac.h" int main() { @@ -128,9 +133,11 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + diff --git a/docs/examples/src/physac/physics_movement.c b/docs/examples/src/physac/physics_movement.c index ca18f3dfc..534997bf5 100644 --- a/docs/examples/src/physac/physics_movement.c +++ b/docs/examples/src/physac/physics_movement.c @@ -2,19 +2,24 @@ * * Physac - Physics movement * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. -* The file pthreadGC2.dll is required to run the program; you can find it in 'src\external' +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) * -* Copyright (c) 2016 Victor Fisac +* Use the following line to compile: +* +* gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread +* -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition +* +* Copyright (c) 2017 Victor Fisac * ********************************************************************************************/ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "..\src\physac.h" +#include "physac.h" -#define VELOCITY 0.5f +#define VELOCITY 0.5f int main() { @@ -114,9 +119,11 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + diff --git a/docs/examples/src/physac/physics_restitution.c b/docs/examples/src/physac/physics_restitution.c index 3543db69c..0809697cb 100644 --- a/docs/examples/src/physac/physics_restitution.c +++ b/docs/examples/src/physac/physics_restitution.c @@ -2,17 +2,22 @@ * * Physac - Physics restitution * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. -* The file pthreadGC2.dll is required to run the program; you can find it in 'src\external' +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) * -* Copyright (c) 2016 Victor Fisac +* Use the following line to compile: +* +* gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread +* -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition +* +* Copyright (c) 2017 Victor Fisac * ********************************************************************************************/ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "..\src\physac.h" +#include "physac.h" int main() { @@ -107,9 +112,11 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + diff --git a/docs/examples/src/physac/physics_shatter.c b/docs/examples/src/physac/physics_shatter.c index 2cb9d1952..b237bfca5 100644 --- a/docs/examples/src/physac/physics_shatter.c +++ b/docs/examples/src/physac/physics_shatter.c @@ -2,17 +2,22 @@ * * Physac - Body shatter * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. -* The file pthreadGC2.dll is required to run the program; you can find it in 'src\external' +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) * -* Copyright (c) 2016 Victor Fisac +* Use the following line to compile: +* +* gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread +* -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition +* +* Copyright (c) 2017 Victor Fisac * ********************************************************************************************/ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "..\src\physac.h" +#include "physac.h" int main() { @@ -99,9 +104,11 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + diff --git a/docs/examples/src/shaders/shaders_shapes_textures.c b/docs/examples/src/shaders/shaders_shapes_textures.c index 0a14469fc..40e99a8f4 100644 --- a/docs/examples/src/shaders/shaders_shapes_textures.c +++ b/docs/examples/src/shaders/shaders_shapes_textures.c @@ -9,7 +9,7 @@ * on OpenGL ES 2.0 platforms (Android, Raspberry Pi, HTML5), use #version 100 shaders * raylib comes with shaders ready for both versions, check raylib/shaders install folder * -* This example has been created using raylib 1.3 (www.raylib.com) +* This example has been created using raylib 1.7 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * * Copyright (c) 2015 Ramon Santamaria (@raysan5) @@ -18,9 +18,6 @@ #include "raylib.h" -#include -#include - int main() { // Initialization @@ -30,14 +27,12 @@ int main() InitWindow(screenWidth, screenHeight, "raylib [shaders] example - shapes and texture shaders"); - Texture2D sonic = LoadTexture("resources/texture_formats/sonic.png"); + Texture2D fudesumi = LoadTexture("resources/fudesumi.png"); // NOTE: Using GLSL 330 shader version, on OpenGL ES 2.0 use GLSL 100 shader version Shader shader = LoadShader("resources/shaders/glsl330/base.vs", "resources/shaders/glsl330/grayscale.fs"); - - // Shader usage is also different than models/postprocessing, shader is just activated when required - + SetTargetFPS(60); //-------------------------------------------------------------------------------------- @@ -91,21 +86,23 @@ int main() // Activate our custom shader to be applied on next shapes/textures drawings BeginShaderMode(shader); - DrawTexture(sonic, 380, -10, WHITE); // Using custom shader + DrawTexture(fudesumi, 500, -30, WHITE); // Using custom shader // Activate our default shader for next drawings EndShaderMode(); + DrawText("(c) Fudesumi sprite by Eiden Marsal", 380, screenHeight - 20, 10, GRAY); + EndDrawing(); //---------------------------------------------------------------------------------- } // De-Initialization //-------------------------------------------------------------------------------------- - UnloadShader(shader); // Unload shader - UnloadTexture(sonic); // Unload texture + UnloadShader(shader); // Unload shader + UnloadTexture(fudesumi); // Unload texture - CloseWindow(); // Close window and OpenGL context + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; diff --git a/docs/examples/src/shapes/shapes_lines_bezier.c b/docs/examples/src/shapes/shapes_lines_bezier.c new file mode 100644 index 000000000..f41334594 --- /dev/null +++ b/docs/examples/src/shapes/shapes_lines_bezier.c @@ -0,0 +1,59 @@ +/******************************************************************************************* +* +* raylib [shapes] example - Cubic-bezier lines +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + SetConfigFlags(FLAG_MSAA_4X_HINT); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - cubic-bezier lines"); + + Vector2 start = { 0, 0 }; + Vector2 end = { screenWidth, screenHeight }; + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) start = GetMousePosition(); + else if (IsMouseButtonDown(MOUSE_RIGHT_BUTTON)) end = GetMousePosition(); + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("USE MOUSE LEFT-RIGHT CLICK to DEFINE LINE START and END POINTS", 15, 20, 20, GRAY); + + DrawLineBezier(start, end, 2.0f, RED); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} diff --git a/docs/examples/src/text/text_bmfont_ttf.c b/docs/examples/src/text/text_bmfont_ttf.c index caece548d..0778fd11a 100644 --- a/docs/examples/src/text/text_bmfont_ttf.c +++ b/docs/examples/src/text/text_bmfont_ttf.c @@ -24,13 +24,13 @@ int main() const char msgTtf[64] = "THIS SPRITE FONT has been GENERATED from a TTF"; // NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required) - SpriteFont fontBm = LoadSpriteFont("resources/fonts/bmfont.fnt"); // BMFont (AngelCode) - SpriteFont fontTtf = LoadSpriteFont("resources/fonts/pixantiqua.ttf"); // TTF font + SpriteFont fontBm = LoadSpriteFont("resources/bmfont.fnt"); // BMFont (AngelCode) + SpriteFont fontTtf = LoadSpriteFont("resources/pixantiqua.ttf"); // TTF font Vector2 fontPosition; - fontPosition.x = screenWidth/2 - MeasureTextEx(fontBm, msgBm, fontBm.size, 0).x/2; - fontPosition.y = screenHeight/2 - fontBm.size/2 - 80; + fontPosition.x = screenWidth/2 - MeasureTextEx(fontBm, msgBm, fontBm.baseSize, 0).x/2; + fontPosition.y = screenHeight/2 - fontBm.baseSize/2 - 80; SetTargetFPS(60); //-------------------------------------------------------------------------------------- @@ -49,8 +49,8 @@ int main() ClearBackground(RAYWHITE); - DrawTextEx(fontBm, msgBm, fontPosition, fontBm.size, 0, MAROON); - DrawTextEx(fontTtf, msgTtf, (Vector2){ 75.0f, 240.0f }, fontTtf.size*0.8f, 2, LIME); + DrawTextEx(fontBm, msgBm, fontPosition, fontBm.baseSize, 0, MAROON); + DrawTextEx(fontTtf, msgTtf, (Vector2){ 75.0f, 240.0f }, fontTtf.baseSize*0.8f, 2, LIME); EndDrawing(); //---------------------------------------------------------------------------------- diff --git a/docs/examples/src/text/text_bmfont_unordered.c b/docs/examples/src/text/text_bmfont_unordered.c index b29c5f8b6..01561bec3 100644 --- a/docs/examples/src/text/text_bmfont_unordered.c +++ b/docs/examples/src/text/text_bmfont_unordered.c @@ -25,7 +25,7 @@ int main() const char msg[256] = "ASCII extended characters:\n¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆ\nÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæ\nçèéêëìíîïðñòóôõö÷øùúûüýþÿ"; // NOTE: Loaded font has an unordered list of characters (chars in the range 32..255) - SpriteFont font = LoadSpriteFont("resources/fonts/pixantiqua.fnt"); // BMFont (AngelCode) + SpriteFont font = LoadSpriteFont("resources/pixantiqua.fnt"); // BMFont (AngelCode) SetTargetFPS(60); //-------------------------------------------------------------------------------------- @@ -45,10 +45,10 @@ int main() ClearBackground(RAYWHITE); DrawText("Font name: PixAntiqua", 40, 50, 20, GRAY); - DrawText(FormatText("Font base size: %i", font.size), 40, 80, 20, GRAY); - DrawText(FormatText("Font chars number: %i", font.numChars), 40, 110, 20, GRAY); + DrawText(FormatText("Font base size: %i", font.baseSize), 40, 80, 20, GRAY); + DrawText(FormatText("Font chars number: %i", font.charsCount), 40, 110, 20, GRAY); - DrawTextEx(font, msg, (Vector2){ 40, 180 }, font.size, 0, MAROON); + DrawTextEx(font, msg, (Vector2){ 40, 180 }, font.baseSize, 0, MAROON); EndDrawing(); //---------------------------------------------------------------------------------- diff --git a/docs/examples/src/text/text_input_box.c b/docs/examples/src/text/text_input_box.c new file mode 100644 index 000000000..54eebf40b --- /dev/null +++ b/docs/examples/src/text/text_input_box.c @@ -0,0 +1,116 @@ +/******************************************************************************************* +* +* raylib [text] example - Input Box +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#define MAX_INPUT_CHARS 9 + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [text] example - input box"); + + char name[MAX_INPUT_CHARS + 1] = "\0"; // NOTE: One extra space required for line ending char '\0' + int letterCount = 0; + + Rectangle textBox = { screenWidth/2 - 100, 180, 225, 50 }; + bool mouseOnText = false; + + int framesCounter = 0; + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + if (CheckCollisionPointRec(GetMousePosition(), textBox)) mouseOnText = true; + else mouseOnText = false; + + if (mouseOnText) + { + int key = GetKeyPressed(); + + // NOTE: Only allow keys in range [32..125] + if ((key >= 32) && (key <= 125) && (letterCount < MAX_INPUT_CHARS)) + { + name[letterCount] = (char)key; + letterCount++; + } + + if (key == KEY_BACKSPACE) + { + letterCount--; + name[letterCount] = '\0'; + + if (letterCount < 0) letterCount = 0; + } + } + + if (mouseOnText) framesCounter++; + else framesCounter = 0; + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("PLACE MOUSE OVER INPUT BOX!", 240, 140, 20, GRAY); + + DrawRectangleRec(textBox, LIGHTGRAY); + if (mouseOnText) DrawRectangleLines(textBox.x, textBox.y, textBox.width, textBox.height, RED); + else DrawRectangleLines(textBox.x, textBox.y, textBox.width, textBox.height, DARKGRAY); + + DrawText(name, textBox.x + 5, textBox.y + 8, 40, MAROON); + + DrawText(FormatText("INPUT CHARS: %i/%i", letterCount, MAX_INPUT_CHARS), 315, 250, 20, DARKGRAY); + + if (mouseOnText) + { + if (letterCount < MAX_INPUT_CHARS) + { + // Draw blinking underscore char + if (((framesCounter/20)%2) == 0) DrawText("_", textBox.x + 8 + MeasureText(name, 40), textBox.y + 12, 40, MAROON); + } + else DrawText("Press BACKSPACE to delete chars...", 230, 300, 20, GRAY); + } + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +// Check if any key is pressed +// NOTE: We limit keys check to keys between 32 (KEY_SPACE) and 126 +bool IsAnyKeyPressed() +{ + bool keyPressed = false; + int key = GetKeyPressed(); + + if ((key >= 32) && (key <= 126)) keyPressed = true; + + return keyPressed; +} \ No newline at end of file diff --git a/examples/text/text_rbmf_fonts.c b/docs/examples/src/text/text_raylib_fonts.c similarity index 68% rename from examples/text/text_rbmf_fonts.c rename to docs/examples/src/text/text_raylib_fonts.c index f4778b451..6d8ef2b62 100644 --- a/examples/text/text_rbmf_fonts.c +++ b/docs/examples/src/text/text_raylib_fonts.c @@ -1,19 +1,21 @@ /******************************************************************************************* * -* raylib [text] example - raylib bitmap font (rbmf) loading and usage +* raylib [text] example - raylib font loading and usage * * NOTE: raylib is distributed with some free to use fonts (even for commercial pourposes!) * To view details and credits for those fonts, check raylib license file * -* This example has been created using raylib 1.3 (www.raylib.com) +* This example has been created using raylib 1.7 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * -* Copyright (c) 2015 Ramon Santamaria (@raysan5) +* Copyright (c) 2017 Ramon Santamaria (@raysan5) * ********************************************************************************************/ #include "raylib.h" +#define MAX_FONTS 8 + int main() { // Initialization @@ -21,21 +23,21 @@ int main() int screenWidth = 800; int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [text] example - rBMF fonts"); + InitWindow(screenWidth, screenHeight, "raylib [text] example - raylib fonts"); // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) - SpriteFont fonts[8]; + SpriteFont fonts[MAX_FONTS]; - fonts[0] = LoadSpriteFont("resources/fonts/alagard.rbmf"); // rBMF font loading - fonts[1] = LoadSpriteFont("resources/fonts/pixelplay.rbmf"); // rBMF font loading - fonts[2] = LoadSpriteFont("resources/fonts/mecha.rbmf"); // rBMF font loading - fonts[3] = LoadSpriteFont("resources/fonts/setback.rbmf"); // rBMF font loading - fonts[4] = LoadSpriteFont("resources/fonts/romulus.rbmf"); // rBMF font loading - fonts[5] = LoadSpriteFont("resources/fonts/pixantiqua.rbmf"); // rBMF font loading - fonts[6] = LoadSpriteFont("resources/fonts/alpha_beta.rbmf"); // rBMF font loading - fonts[7] = LoadSpriteFont("resources/fonts/jupiter_crash.rbmf"); // rBMF font loading + fonts[0] = LoadSpriteFont("resources/fonts/alagard.png"); + fonts[1] = LoadSpriteFont("resources/fonts/pixelplay.png"); + fonts[2] = LoadSpriteFont("resources/fonts/mecha.png"); + fonts[3] = LoadSpriteFont("resources/fonts/setback.png"); + fonts[4] = LoadSpriteFont("resources/fonts/romulus.png"); + fonts[5] = LoadSpriteFont("resources/fonts/pixantiqua.png"); + fonts[6] = LoadSpriteFont("resources/fonts/alpha_beta.png"); + fonts[7] = LoadSpriteFont("resources/fonts/jupiter_crash.png"); - const char *messages[8] = { "ALAGARD FONT designed by Hewett Tsoi", + const char *messages[MAX_FONTS] = { "ALAGARD FONT designed by Hewett Tsoi", "PIXELPLAY FONT designed by Aleksander Shevchuk", "MECHA FONT designed by Captain Falcon", "SETBACK FONT designed by Brian Kent (AEnigma)", @@ -44,17 +46,22 @@ int main() "ALPHA_BETA FONT designed by Brian Kent (AEnigma)", "JUPITER_CRASH FONT designed by Brian Kent (AEnigma)" }; - const int spacings[8] = { 2, 4, 8, 4, 3, 4, 4, 1 }; + const int spacings[MAX_FONTS] = { 2, 4, 8, 4, 3, 4, 4, 1 }; - Vector2 positions[8]; + Vector2 positions[MAX_FONTS]; - for (int i = 0; i < 8; i++) + for (int i = 0; i < MAX_FONTS; i++) { positions[i].x = screenWidth/2 - MeasureTextEx(fonts[i], messages[i], fonts[i].baseSize*2, spacings[i]).x/2; - positions[i].y = 60 + fonts[i].baseSize + 50*i; + positions[i].y = 60 + fonts[i].baseSize + 45*i; } - Color colors[8] = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD }; + // Small Y position corrections + positions[3].y += 8; + positions[4].y += 2; + positions[7].y -= 8; + + Color colors[MAX_FONTS] = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD, RED }; //-------------------------------------------------------------------------------------- // Main game loop @@ -74,7 +81,7 @@ int main() DrawText("free fonts included with raylib", 250, 20, 20, DARKGRAY); DrawLine(220, 50, 590, 50, DARKGRAY); - for (int i = 0; i < 8; i++) + for (int i = 0; i < MAX_FONTS; i++) { DrawTextEx(fonts[i], messages[i], positions[i], fonts[i].baseSize*2, spacings[i], colors[i]); } @@ -87,7 +94,7 @@ int main() //-------------------------------------------------------------------------------------- // SpriteFonts unloading - for (int i = 0; i < 8; i++) UnloadSpriteFont(fonts[i]); + for (int i = 0; i < MAX_FONTS; i++) UnloadSpriteFont(fonts[i]); CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/docs/examples/src/text/text_sprite_fonts.c b/docs/examples/src/text/text_sprite_fonts.c index c73eda854..aefbfd1f8 100644 --- a/docs/examples/src/text/text_sprite_fonts.c +++ b/docs/examples/src/text/text_sprite_fonts.c @@ -25,20 +25,20 @@ int main() const char msg3[50] = "...and a THIRD one! GREAT! :D"; // NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required) - SpriteFont font1 = LoadSpriteFont("resources/fonts/custom_mecha.png"); // SpriteFont loading - SpriteFont font2 = LoadSpriteFont("resources/fonts/custom_alagard.png"); // SpriteFont loading - SpriteFont font3 = LoadSpriteFont("resources/fonts/custom_jupiter_crash.png"); // SpriteFont loading + SpriteFont font1 = LoadSpriteFont("resources/custom_mecha.png"); // SpriteFont loading + SpriteFont font2 = LoadSpriteFont("resources/custom_alagard.png"); // SpriteFont loading + SpriteFont font3 = LoadSpriteFont("resources/custom_jupiter_crash.png"); // SpriteFont loading Vector2 fontPosition1, fontPosition2, fontPosition3; - fontPosition1.x = screenWidth/2 - MeasureTextEx(font1, msg1, font1.size, -3).x/2; - fontPosition1.y = screenHeight/2 - font1.size/2 - 80; + fontPosition1.x = screenWidth/2 - MeasureTextEx(font1, msg1, font1.baseSize, -3).x/2; + fontPosition1.y = screenHeight/2 - font1.baseSize/2 - 80; - fontPosition2.x = screenWidth/2 - MeasureTextEx(font2, msg2, font2.size, -2).x/2; - fontPosition2.y = screenHeight/2 - font2.size/2 - 10; + fontPosition2.x = screenWidth/2 - MeasureTextEx(font2, msg2, font2.baseSize, -2).x/2; + fontPosition2.y = screenHeight/2 - font2.baseSize/2 - 10; - fontPosition3.x = screenWidth/2 - MeasureTextEx(font3, msg3, font3.size, 2).x/2; - fontPosition3.y = screenHeight/2 - font3.size/2 + 50; + fontPosition3.x = screenWidth/2 - MeasureTextEx(font3, msg3, font3.baseSize, 2).x/2; + fontPosition3.y = screenHeight/2 - font3.baseSize/2 + 50; //-------------------------------------------------------------------------------------- @@ -56,9 +56,9 @@ int main() ClearBackground(RAYWHITE); - DrawTextEx(font1, msg1, fontPosition1, font1.size, -3, WHITE); - DrawTextEx(font2, msg2, fontPosition2, font2.size, -2, WHITE); - DrawTextEx(font3, msg3, fontPosition3, font3.size, 2, WHITE); + DrawTextEx(font1, msg1, fontPosition1, font1.baseSize, -3, WHITE); + DrawTextEx(font2, msg2, fontPosition2, font2.baseSize, -2, WHITE); + DrawTextEx(font3, msg3, fontPosition3, font3.baseSize, 2, WHITE); EndDrawing(); //---------------------------------------------------------------------------------- diff --git a/docs/examples/src/text/text_ttf_loading.c b/docs/examples/src/text/text_ttf_loading.c index 33cda7f5f..02b7f95fd 100644 --- a/docs/examples/src/text/text_ttf_loading.c +++ b/docs/examples/src/text/text_ttf_loading.c @@ -25,13 +25,13 @@ int main() // NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required) // TTF SpriteFont loading with custom generation parameters - SpriteFont font = LoadSpriteFontTTF("resources/fonts/KAISG.ttf", 96, 0, 0); + SpriteFont font = LoadSpriteFontEx("resources/KAISG.ttf", 96, 0, 0); // Generate mipmap levels to use trilinear filtering // NOTE: On 2D drawing it won't be noticeable, it looks like FILTER_BILINEAR GenTextureMipmaps(&font.texture); - float fontSize = font.size; + float fontSize = font.baseSize; Vector2 fontPosition = { 40, screenHeight/2 + 50 }; Vector2 textSize; @@ -82,7 +82,7 @@ int main() if (count == 1) // Only support one ttf file dropped { UnloadSpriteFont(font); - font = LoadSpriteFontTTF(droppedFiles[0], fontSize, 0, 0); + font = LoadSpriteFontEx(droppedFiles[0], fontSize, 0, 0); ClearDroppedFiles(); } } diff --git a/examples/others/particles_trail_blending.c b/docs/examples/src/textures/textures_particles_blending.c similarity index 96% rename from examples/others/particles_trail_blending.c rename to docs/examples/src/textures/textures_particles_blending.c index 0b47c790d..842ac77de 100644 --- a/examples/others/particles_trail_blending.c +++ b/docs/examples/src/textures/textures_particles_blending.c @@ -1,11 +1,11 @@ /******************************************************************************************* * -* raylib example - particles trail blending +* raylib example - particles blending * -* This example has been created using raylib 1.3 (www.raylib.com) +* This example has been created using raylib 1.7 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * -* Copyright (c) 2015 Ramon Santamaria (@raysan5) +* Copyright (c) 2017 Ramon Santamaria (@raysan5) * ********************************************************************************************/ @@ -30,7 +30,7 @@ int main() int screenWidth = 800; int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [textures] example - particles trail blending"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - particles blending"); // Particles pool, reuse them! Particle mouseTail[MAX_PARTICLES]; diff --git a/docs/examples/src/textures/textures_raw_data.c b/docs/examples/src/textures/textures_raw_data.c index d19221807..b038792ba 100644 --- a/docs/examples/src/textures/textures_raw_data.c +++ b/docs/examples/src/textures/textures_raw_data.c @@ -27,9 +27,9 @@ int main() // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) // Load RAW image data (512x512, 32bit RGBA, no file header) - Image sonicRaw = LoadImageRaw("resources/texture_formats/sonic_R8G8B8A8.raw", 512, 512, UNCOMPRESSED_R8G8B8A8, 0); - Texture2D sonic = LoadTextureFromImage(sonicRaw); // Upload CPU (RAM) image to GPU (VRAM) - UnloadImage(sonicRaw); // Unload CPU (RAM) image data + Image fudesumiRaw = LoadImageRaw("resources/fudesumi.raw", 384, 512, UNCOMPRESSED_R8G8B8A8, 0); + Texture2D fudesumi = LoadTextureFromImage(fudesumiRaw); // Upload CPU (RAM) image to GPU (VRAM) + UnloadImage(fudesumiRaw); // Unload CPU (RAM) image data // Generate a checked texture by code (1024x1024 pixels) int width = 1024; @@ -42,8 +42,8 @@ int main() { for (int x = 0; x < width; x++) { - if (((x/32+y/32)/1)%2 == 0) pixels[y*height + x] = DARKBLUE; - else pixels[y*height + x] = SKYBLUE; + if (((x/32+y/32)/1)%2 == 0) pixels[y*height + x] = ORANGE; + else pixels[y*height + x] = GOLD; } } @@ -70,12 +70,14 @@ int main() ClearBackground(RAYWHITE); - DrawTexture(checked, screenWidth/2 - checked.width/2, screenHeight/2 - checked.height/2, Fade(WHITE, 0.3f)); - DrawTexture(sonic, 330, -20, WHITE); + DrawTexture(checked, screenWidth/2 - checked.width/2, screenHeight/2 - checked.height/2, Fade(WHITE, 0.5f)); + DrawTexture(fudesumi, 430, -30, WHITE); - DrawText("CHECKED TEXTURE ", 84, 100, 30, DARKBLUE); - DrawText("GENERATED by CODE", 72, 164, 30, DARKBLUE); - DrawText("and RAW IMAGE LOADING", 46, 226, 30, DARKBLUE); + DrawText("CHECKED TEXTURE ", 84, 100, 30, BROWN); + DrawText("GENERATED by CODE", 72, 164, 30, BROWN); + DrawText("and RAW IMAGE LOADING", 46, 226, 30, BROWN); + + DrawText("(c) Fudesumi sprite by Eiden Marsal", 310, screenHeight - 20, 10, BROWN); EndDrawing(); //---------------------------------------------------------------------------------- @@ -83,7 +85,7 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - UnloadTexture(sonic); // Texture unloading + UnloadTexture(fudesumi); // Texture unloading UnloadTexture(checked); // Texture unloading CloseWindow(); // Close window and OpenGL context diff --git a/docs/examples/src/textures/textures_rectangle.c b/docs/examples/src/textures/textures_rectangle.c index cca5b2169..c90db8ac1 100644 --- a/docs/examples/src/textures/textures_rectangle.c +++ b/docs/examples/src/textures/textures_rectangle.c @@ -11,6 +11,9 @@ #include "raylib.h" +#define MAX_FRAME_SPEED 15 +#define MIN_FRAME_SPEED 1 + int main() { // Initialization @@ -21,11 +24,16 @@ int main() InitWindow(screenWidth, screenHeight, "raylib [texture] example - texture rectangle"); // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) - Texture2D guybrush = LoadTexture("resources/guybrush.png"); // Texture loading + Texture2D scarfy = LoadTexture("resources/scarfy.png"); // Texture loading - Vector2 position = { 350.0f, 240.0f }; - Rectangle frameRec = { 0, 0, guybrush.width/7, guybrush.height }; + Vector2 position = { 350.0f, 280.0f }; + Rectangle frameRec = { 0, 0, scarfy.width/6, scarfy.height }; int currentFrame = 0; + + int framesCounter = 0; + int framesSpeed = 8; // Number of spritesheet frames shown by second + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- // Main game loop @@ -33,14 +41,23 @@ int main() { // Update //---------------------------------------------------------------------------------- - if (IsKeyPressed(KEY_RIGHT)) + framesCounter++; + + if (framesCounter >= (60/framesSpeed)) { + framesCounter = 0; currentFrame++; - if (currentFrame > 6) currentFrame = 0; + if (currentFrame > 5) currentFrame = 0; - frameRec.x = currentFrame*guybrush.width/7; + frameRec.x = currentFrame*scarfy.width/6; } + + if (IsKeyPressed(KEY_RIGHT)) framesSpeed++; + else if (IsKeyPressed(KEY_LEFT)) framesSpeed--; + + if (framesSpeed > MAX_FRAME_SPEED) framesSpeed = MAX_FRAME_SPEED; + else if (framesSpeed < MIN_FRAME_SPEED) framesSpeed = MIN_FRAME_SPEED; //---------------------------------------------------------------------------------- // Draw @@ -49,19 +66,23 @@ int main() ClearBackground(RAYWHITE); - DrawTexture(guybrush, 35, 40, WHITE); - DrawRectangleLines(35, 40, guybrush.width, guybrush.height, LIME); + DrawTexture(scarfy, 15, 40, WHITE); + DrawRectangleLines(15, 40, scarfy.width, scarfy.height, LIME); + DrawRectangleLines(15 + frameRec.x, 40 + frameRec.y, frameRec.width, frameRec.height, RED); - DrawTextureRec(guybrush, frameRec, position, WHITE); // Draw part of the texture + DrawText("FRAME SPEED: ", 165, 210, 10, DARKGRAY); + DrawText(FormatText("%02i FPS", framesSpeed), 575, 210, 10, DARKGRAY); + DrawText("PRESS RIGHT/LEFT KEYS to CHANGE SPEED!", 290, 240, 10, DARKGRAY); - DrawRectangleLines(35 + frameRec.x, 40 + frameRec.y, frameRec.width, frameRec.height, RED); + for (int i = 0; i < MAX_FRAME_SPEED; i++) + { + if (i < framesSpeed) DrawRectangle(250 + 21*i, 205, 20, 20, RED); + DrawRectangleLines(250 + 21*i, 205, 20, 20, MAROON); + } - DrawText("PRESS RIGHT KEY to", 540, 310, 10, GRAY); - DrawText("CHANGE DRAWING RECTANGLE", 520, 330, 10, GRAY); - - DrawText("Guybrush Ulysses Threepwood,", 100, 300, 10, GRAY); - DrawText("main character of the Monkey Island series", 80, 320, 10, GRAY); - DrawText("of computer adventure games by LucasArts.", 80, 340, 10, GRAY); + DrawTextureRec(scarfy, frameRec, position, WHITE); // Draw part of the texture + + DrawText("(c) Scarfy sprite by Eiden Marsal", screenWidth - 200, screenHeight - 20, 10, GRAY); EndDrawing(); //---------------------------------------------------------------------------------- @@ -69,7 +90,7 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - UnloadTexture(guybrush); // Texture unloading + UnloadTexture(scarfy); // Texture unloading CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/docs/examples/src/textures/textures_srcrec_dstrec.c b/docs/examples/src/textures/textures_srcrec_dstrec.c index 6d824ce61..53ffd1d01 100644 --- a/docs/examples/src/textures/textures_srcrec_dstrec.c +++ b/docs/examples/src/textures/textures_srcrec_dstrec.c @@ -21,10 +21,10 @@ int main() InitWindow(screenWidth, screenHeight, "raylib [textures] examples - texture source and destination rectangles"); // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) - Texture2D guybrush = LoadTexture("resources/guybrush.png"); // Texture loading + Texture2D scarfy = LoadTexture("resources/scarfy.png"); // Texture loading - int frameWidth = guybrush.width/7; - int frameHeight = guybrush.height; + int frameWidth = scarfy.width/6; + int frameHeight = scarfy.height; // NOTE: Source rectangle (part of the texture to use for drawing) Rectangle sourceRec = { 0, 0, frameWidth, frameHeight }; @@ -59,10 +59,12 @@ int main() // destRec defines the rectangle where our texture part will fit (scaling it to fit) // origin defines the point of the texture used as reference for rotation and scaling // rotation defines the texture rotation (using origin as rotation point) - DrawTexturePro(guybrush, sourceRec, destRec, origin, rotation, WHITE); + DrawTexturePro(scarfy, sourceRec, destRec, origin, rotation, WHITE); DrawLine(destRec.x, 0, destRec.x, screenHeight, GRAY); DrawLine(0, destRec.y, screenWidth, destRec.y, GRAY); + + DrawText("(c) Scarfy sprite by Eiden Marsal", screenWidth - 200, screenHeight - 20, 10, GRAY); EndDrawing(); //---------------------------------------------------------------------------------- @@ -70,7 +72,7 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - UnloadTexture(guybrush); // Texture unloading + UnloadTexture(scarfy); // Texture unloading CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/docs/examples/web/audio/audio_module_playing.data b/docs/examples/web/audio/audio_module_playing.data new file mode 100644 index 000000000..a185c1a2a Binary files /dev/null and b/docs/examples/web/audio/audio_module_playing.data differ diff --git a/docs/examples/web/audio/audio_module_playing.js b/docs/examples/web/audio/audio_module_playing.js index cca61da39..2ac2cc665 100644 --- a/docs/examples/web/audio/audio_module_playing.js +++ b/docs/examples/web/audio/audio_module_playing.js @@ -1,3 +1,191 @@ + +var Module; + +if (typeof Module === 'undefined') Module = {}; + +if (!Module.expectedDataFileDownloads) { + Module.expectedDataFileDownloads = 0; + Module.finishedDataFileDownloads = 0; +} +Module.expectedDataFileDownloads++; +(function() { + var loadPackage = function(metadata) { + + var PACKAGE_PATH; + if (typeof window === 'object') { + PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); + } else if (typeof location !== 'undefined') { + // worker + PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); + } else { + throw 'using preloaded data can only be done on a web page or in a web worker'; + } + var PACKAGE_NAME = 'audio/audio_module_playing.data'; + var REMOTE_PACKAGE_BASE = 'audio_module_playing.data'; + if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { + Module['locateFile'] = Module['locateFilePackage']; + Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); + } + var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? + Module['locateFile'](REMOTE_PACKAGE_BASE) : + ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); + + var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; + var PACKAGE_UUID = metadata.package_uuid; + + function fetchRemotePackage(packageName, packageSize, callback, errback) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', packageName, true); + xhr.responseType = 'arraybuffer'; + xhr.onprogress = function(event) { + var url = packageName; + var size = packageSize; + if (event.total) size = event.total; + if (event.loaded) { + if (!xhr.addedTotal) { + xhr.addedTotal = true; + if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; + Module.dataFileDownloads[url] = { + loaded: event.loaded, + total: size + }; + } else { + Module.dataFileDownloads[url].loaded = event.loaded; + } + var total = 0; + var loaded = 0; + var num = 0; + for (var download in Module.dataFileDownloads) { + var data = Module.dataFileDownloads[download]; + total += data.total; + loaded += data.loaded; + num++; + } + total = Math.ceil(total * Module.expectedDataFileDownloads/num); + if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); + } else if (!Module.dataFileDownloads) { + if (Module['setStatus']) Module['setStatus']('Downloading data...'); + } + }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } + xhr.onload = function(event) { + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } + }; + xhr.send(null); + }; + + function handleError(error) { + console.error('package error:', error); + }; + + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + if (fetchedCallback) { + fetchedCallback(data); + fetchedCallback = null; + } else { + fetched = data; + } + }, handleError); + + function runWithFS() { + + function assert(check, msg) { + if (!check) throw msg + new Error().stack; + } +Module['FS_createPath']('/', 'resources', true, true); + + function DataRequest(start, end, crunched, audio) { + this.start = start; + this.end = end; + this.crunched = crunched; + this.audio = audio; + } + DataRequest.prototype = { + requests: {}, + open: function(mode, name) { + this.name = name; + this.requests[name] = this; + Module['addRunDependency']('fp ' + this.name); + }, + send: function() {}, + onload: function() { + var byteArray = this.byteArray.subarray(this.start, this.end); + + this.finish(byteArray); + + }, + finish: function(byteArray) { + var that = this; + + Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + Module['removeRunDependency']('fp ' + that.name); + + this.requests[this.name] = null; + } + }; + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); + } + + + function processPackageData(arrayBuffer) { + Module.finishedDataFileDownloads++; + assert(arrayBuffer, 'Loading data file failed.'); + assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); + var byteArray = new Uint8Array(arrayBuffer); + var curr; + + // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though + // (we may be allocating before malloc is ready, during startup). + if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); + var ptr = Module['getMemory'](byteArray.length); + Module['HEAPU8'].set(byteArray, ptr); + DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + DataRequest.prototype.requests[files[i].filename].onload(); + } + Module['removeRunDependency']('datafile_audio/audio_module_playing.data'); + + }; + Module['addRunDependency']('datafile_audio/audio_module_playing.data'); + + if (!Module.preloadResults) Module.preloadResults = {}; + + Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; + if (fetched) { + processPackageData(fetched); + fetched = null; + } else { + fetchedCallback = processPackageData; + } + + } + if (Module['calledRun']) { + runWithFS(); + } else { + if (!Module['preRun']) Module['preRun'] = []; + Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it + } + + } + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 25676, "filename": "/resources/mini1111.xm"}], "remote_package_size": 25676, "package_uuid": "7074b939-a8f9-4156-b9d3-4dee5c5b8125"}); + +})(); + // The Module object: Our interface to the outside world. We import // and export values on it, and do the work to get that through // closure compiler if necessary. There are various ways Module can be used: @@ -1587,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 24464; +STATICTOP = STATIC_BASE + 23504; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,170,42,63,0,0,0,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,192,63,0,0,0,64,0,0,0,0,0,0,128,191,0,0,0,192,0,0,128,192,0,0,0,193,0,0,128,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,64,0,0,128,64,0,0,0,65,0,0,128,65,0,0,0,0,0,0,0,0,172,95,0,0,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,64,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,131,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,17,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,139,91,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,17,0,0,176,6,80,6,245,5,160,5,77,5,1,5,185,4,117,4,53,4,249,3,193,3,139,3,88,3,255,161,0,255,230,41,55,255,255,203,0,255,0,158,47,255,0,121,241,255,135,60,190,255,127,106,79,255,200,200,200,255,255,109,194,255,253,249,0,255,0,228,48,255,102,191,255,255,200,122,255,255,211,176,131,255,114,97,121,108,105,98,32,91,97,117,100,105,111,93,32,101,120,97,109,112,108,101,32,45,32,109,111,100,117,108,101,32,112,108,97,121,105,110,103,32,40,115,116,114,101,97,109,105,110,103,41,0,114,101,115,111,117,114,99,101,115,47,109,105,110,105,49,49,49,49,46,120,109,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,114,101,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,108,111,97,100,10,0,106,97,114,95,120,109,95,99,114,101,97,116,101,95,99,111,110,116,101,120,116,95,115,97,102,101,0,37,115,40,41,58,32,99,97,108,108,32,116,111,32,109,97,108,108,111,99,40,41,32,102,97,105,108,101,100,44,32,114,101,116,117,114,110,101,100,32,37,112,10,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,112,108,97,121,10,0,37,115,40,41,58,32,116,114,105,109,109,105,110,103,32,105,110,118,97,108,105,100,32,80,79,84,32,97,116,32,112,111,115,32,37,88,10,0,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,0,37,115,40,41,58,32,109,111,100,117,108,101,32,104,97,115,32,105,110,118,97,108,105,100,32,80,79,84,44,32,112,111,115,32,37,88,32,114,101,102,101,114,101,110,99,101,115,32,110,111,110,101,120,105,115,116,101,110,116,32,112,97,116,116,101,114,110,32,37,88,10,0,69,120,116,101,110,100,101,100,32,77,111,100,117,108,101,58,32,0,67,111,117,108,100,32,110,111,116,32,111,112,101,110,32,105,110,112,117,116,32,102,105,108,101,0,102,115,101,101,107,40,41,32,102,97,105,108,101,100,0,102,114,101,97,100,40,41,32,102,97,105,108,101,100,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,110,101,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,97,108,108,111,99,32,102,97,105,108,101,100,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,117,110,107,110,111,119,110,32,101,114,114,111,114,10,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,111,103,103,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,77,111,110,111,0,83,116,101,114,101,111,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,70,76,65,67,32,116,111,116,97,108,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,71,71,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,46,120,109,0,91,37,115,93,32,88,77,32,110,117,109,98,101,114,32,111,102,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,88,77,32,116,114,97,99,107,32,108,101,110,103,116,104,58,32,37,49,49,46,54,102,32,115,101,99,0,91,37,115,93,32,88,77,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,83,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,65,85,68,32,73,68,32,37,105,93,32,65,117,100,105,111,32,115,116,114,101,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,65,85,68,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,97,117,100,105,111,32,115,116,114,101,97,109,32,100,97,116,97,0,79,112,101,110,65,76,58,32,69,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,203,87,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,16,0,0,255,161,0,255,230,41,55,255,255,203,0,255,0,158,47,255,0,121,241,255,135,60,190,255,127,106,79,255,200,200,200,255,255,109,194,255,253,249,0,255,0,228,48,255,102,191,255,255,200,122,255,255,211,176,131,255,114,97,121,108,105,98,32,91,97,117,100,105,111,93,32,101,120,97,109,112,108,101,32,45,32,109,111,100,117,108,101,32,112,108,97,121,105,110,103,32,40,115,116,114,101,97,109,105,110,103,41,0,114,101,115,111,117,114,99,101,115,47,109,105,110,105,49,49,49,49,46,120,109,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,111,103,103,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,77,111,110,111,0,83,116,101,114,101,111,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,70,76,65,67,32,116,111,116,97,108,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,71,71,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,83,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,65,85,68,32,73,68,32,37,105,93,32,65,117,100,105,111,32,115,116,114,101,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,65,85,68,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,97,117,100,105,111,32,115,116,114,101,97,109,32,100,97,116,97,0,79,112,101,110,65,76,58,32,69,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -8692,21 +8880,6 @@ function copyTempDouble(ptr) { AL.setSourceState(src, 0x1014 /* AL_STOPPED */); } - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { @@ -9696,8 +9869,19 @@ function copyTempDouble(ptr) { clearInterval(AL.contexts[context - 1].interval); } - function _llvm_exp2_f32(x) { - return Math.pow(2, x); + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } } function _glGetShaderiv(shader, pname, p) { @@ -10649,7 +10833,7 @@ function invoke_viiii(index,a1,a2,a3,a4) { 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "___syscall221": ___syscall221, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_alSourcePause": _alSourcePause, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetCursorPos": _glfwGetCursorPos, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_llvm_exp2_f32": _llvm_exp2_f32, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "___syscall221": ___syscall221, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_alSourcePause": _alSourcePause, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetCursorPos": _glfwGetCursorPos, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; // EMSCRIPTEN_START_ASM var asm = (function(global, env, buffer) { 'use asm'; @@ -10899,7 +11083,6 @@ var asm = (function(global, env, buffer) { var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; var _exit=env._exit; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _glGetString=env._glGetString; var _emscripten_glUniform4i=env._emscripten_glUniform4i; var _alSourcef=env._alSourcef; @@ -10980,7 +11163,7 @@ var asm = (function(global, env, buffer) { var _glDeleteShader=env._glDeleteShader; var _emscripten_glUniform1f=env._emscripten_glUniform1f; var _glGetProgramiv=env._glGetProgramiv; - var _llvm_exp2_f32=env._llvm_exp2_f32; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; var _glfwGetTime=env._glfwGetTime; var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; @@ -11111,15 +11294,15 @@ function _main() { sp = STACKTOP; $0 = HEAP32[2]|0; $1 = HEAP32[3]|0; - _InitWindow($0,$1,4742); + _InitWindow($0,$1,4456); _InitAudioDevice(); $$013 = 31; while(1) { - $4 = (((17492 + (($$013*24)|0)|0)) + 12|0); + $4 = (((16540 + (($$013*24)|0)|0)) + 12|0); HEAPF32[$4>>2] = 0.0; $5 = (_GetRandomValue(10,40)|0); $6 = (+($5|0)); - $7 = (((17492 + (($$013*24)|0)|0)) + 8|0); + $7 = (((16540 + (($$013*24)|0)|0)) + 8|0); HEAPF32[$7>>2] = $6; $8 = (~~(($6))); $9 = HEAP32[2]|0; @@ -11128,7 +11311,7 @@ function _main() { $12 = (~~(($11))); $13 = (_GetRandomValue($8,$12)|0); $14 = (+($13|0)); - $15 = (17492 + (($$013*24)|0)|0); + $15 = (16540 + (($$013*24)|0)|0); HEAPF32[$15>>2] = $14; $16 = +HEAPF32[$7>>2]; $17 = (~~(($16))); @@ -11138,16 +11321,16 @@ function _main() { $21 = (~~(($20))); $22 = (_GetRandomValue($17,$21)|0); $23 = (+($22|0)); - $24 = (((17492 + (($$013*24)|0)|0)) + 4|0); + $24 = (((16540 + (($$013*24)|0)|0)) + 4|0); HEAPF32[$24>>2] = $23; $25 = (_GetRandomValue(1,100)|0); $26 = (+($25|0)); $27 = $26 / 2.0E+4; - $28 = (((17492 + (($$013*24)|0)|0)) + 16|0); + $28 = (((16540 + (($$013*24)|0)|0)) + 16|0); HEAPF32[$28>>2] = $27; $29 = (_GetRandomValue(0,13)|0); - $30 = (((17492 + (($$013*24)|0)|0)) + 20|0); - $31 = (4686 + ($29<<2)|0); + $30 = (((16540 + (($$013*24)|0)|0)) + 20|0); + $31 = (4400 + ($29<<2)|0); $32 = HEAPU8[$31>>0]|(HEAPU8[$31+1>>0]<<8)|(HEAPU8[$31+2>>0]<<16)|(HEAPU8[$31+3>>0]<<24); HEAP32[$30>>2] = $32; $33 = (($$013) + -1)|0; @@ -11158,11 +11341,11 @@ function _main() { break; } } - $2 = (_LoadMusicStream(4794)|0); - HEAP32[4565] = $2; + $2 = (_LoadMusicStream(4508)|0); + HEAP32[4327] = $2; _PlayMusicStream($2); _emscripten_set_main_loop((1|0),0,1); - $3 = HEAP32[4565]|0; + $3 = HEAP32[4327]|0; _UnloadMusicStream($3); _CloseAudioDevice(); _CloseWindow(); @@ -11184,25 +11367,25 @@ function _UpdateDrawFrame() { $2 = sp + 16|0; $3 = sp + 12|0; $4 = sp + 8|0; - $5 = HEAP32[4565]|0; + $5 = HEAP32[4327]|0; _UpdateMusicStream($5); $6 = (_IsKeyPressed(32)|0); $7 = ($6|0)==(0); if (!($7)) { - $8 = HEAP32[4565]|0; + $8 = HEAP32[4327]|0; _StopMusicStream($8); - $9 = HEAP32[4565]|0; + $9 = HEAP32[4327]|0; _PlayMusicStream($9); } $10 = (_IsKeyPressed(80)|0); $11 = ($10|0)==(0); do { if (!($11)) { - $12 = HEAP32[4566]|0; + $12 = HEAP32[4328]|0; $13 = ($12|0)==(0); $14 = $13&1; - HEAP32[4566] = $14; - $15 = HEAP32[4565]|0; + HEAP32[4328] = $14; + $15 = HEAP32[4327]|0; if ($13) { _PauseMusicStream($15); break; @@ -11212,26 +11395,26 @@ function _UpdateDrawFrame() { } } } while(0); - $16 = HEAP32[4565]|0; + $16 = HEAP32[4327]|0; $17 = (+_GetMusicTimePlayed($16)); - $18 = HEAP32[4565]|0; + $18 = HEAP32[4327]|0; $19 = (+_GetMusicTimeLength($18)); $20 = $17 / $19; $21 = HEAP32[2]|0; $22 = (($21) + -40)|0; $23 = (+($22|0)); $24 = $20 * $23; - HEAPF32[4372] = $24; + HEAPF32[4134] = $24; $$02830 = 31; while(1) { - $28 = (((17492 + (($$02830*24)|0)|0)) + 16|0); + $28 = (((16540 + (($$02830*24)|0)|0)) + 16|0); $29 = +HEAPF32[$28>>2]; - $30 = (((17492 + (($$02830*24)|0)|0)) + 12|0); + $30 = (((16540 + (($$02830*24)|0)|0)) + 12|0); $31 = +HEAPF32[$30>>2]; $32 = $29 + $31; HEAPF32[$30>>2] = $32; $33 = $29 * 10.0; - $34 = (((17492 + (($$02830*24)|0)|0)) + 8|0); + $34 = (((16540 + (($$02830*24)|0)|0)) + 8|0); $35 = +HEAPF32[$34>>2]; $36 = $33 + $35; HEAPF32[$34>>2] = $36; @@ -11253,7 +11436,7 @@ function _UpdateDrawFrame() { $46 = (~~(($45))); $47 = (_GetRandomValue($42,$46)|0); $48 = (+($47|0)); - $49 = (17492 + (($$02830*24)|0)|0); + $49 = (16540 + (($$02830*24)|0)|0); HEAPF32[$49>>2] = $48; $50 = +HEAPF32[$34>>2]; $51 = (~~(($50))); @@ -11263,11 +11446,11 @@ function _UpdateDrawFrame() { $55 = (~~(($54))); $56 = (_GetRandomValue($51,$55)|0); $57 = (+($56|0)); - $58 = (((17492 + (($$02830*24)|0)|0)) + 4|0); + $58 = (((16540 + (($$02830*24)|0)|0)) + 4|0); HEAPF32[$58>>2] = $57; $59 = (_GetRandomValue(0,13)|0); - $60 = (((17492 + (($$02830*24)|0)|0)) + 20|0); - $61 = (4686 + ($59<<2)|0); + $60 = (((16540 + (($$02830*24)|0)|0)) + 20|0); + $61 = (4400 + ($59<<2)|0); $62 = HEAPU8[$61>>0]|(HEAPU8[$61+1>>0]<<8)|(HEAPU8[$61+2>>0]<<16)|(HEAPU8[$61+3>>0]<<24); HEAP32[$60>>2] = $62; $63 = (_GetRandomValue(1,100)|0); @@ -11295,11 +11478,11 @@ function _UpdateDrawFrame() { _ClearBackground($$byval_copy6); $$029 = 31; while(1) { - $89 = (17492 + (($$029*24)|0)|0); - $90 = (((17492 + (($$029*24)|0)|0)) + 8|0); + $89 = (16540 + (($$029*24)|0)|0); + $90 = (((16540 + (($$029*24)|0)|0)) + 8|0); $91 = +HEAPF32[$90>>2]; - $92 = (((17492 + (($$029*24)|0)|0)) + 20|0); - $93 = (((17492 + (($$029*24)|0)|0)) + 12|0); + $92 = (((16540 + (($$029*24)|0)|0)) + 20|0); + $93 = (((16540 + (($$029*24)|0)|0)) + 12|0); $94 = +HEAPF32[$93>>2]; ;HEAP8[$$byval_copy6>>0]=HEAP8[$92>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$92+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$92+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$92+3>>0]|0; _Fade($1,$$byval_copy6,$94); @@ -11329,7 +11512,7 @@ function _UpdateDrawFrame() { _DrawRectangle(20,$69,$71,12,$$byval_copy6); $75 = HEAP32[3]|0; $76 = (($75) + -32)|0; - $77 = +HEAPF32[4372]; + $77 = +HEAPF32[4134]; $78 = (~~(($77))); HEAP8[$3>>0] = -66; $79 = ((($3)) + 1|0); @@ -11356,6 +11539,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorTransform($0,$1) { $0 = $0|0; $1 = $1|0; @@ -11414,13 +11647,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11814,7 +12040,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4568] = $2; + HEAP32[4330] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11827,7 +12053,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 17216; + $95 = 16264; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11840,48 +12066,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 17256; + $106 = 16304; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4314]; - $111 = +HEAPF32[4304]; + $110 = +HEAPF32[4076]; + $111 = +HEAPF32[4066]; $112 = $110 - $111; - HEAPF32[4316] = $112; - $113 = +HEAPF32[(17260)>>2]; - $114 = +HEAPF32[(17220)>>2]; + HEAPF32[4078] = $112; + $113 = +HEAPF32[(16308)>>2]; + $114 = +HEAPF32[(16268)>>2]; $115 = $113 - $114; - HEAPF32[(17268)>>2] = $115; - HEAP32[4567] = 4; + HEAPF32[(16316)>>2] = $115; + HEAP32[4329] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17248>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17248+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17272+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16296>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16296+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16320+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4573] = $116; - $117 = 17248; + HEAPF32[4335] = $116; + $117 = 16296; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 17216; + $123 = 16264; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 17272; + $127 = 16320; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 17256; + $133 = 16304; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11894,7 +12120,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 17248; + $144 = 16296; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11907,27 +12133,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 17272; + $155 = 16320; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4318]; - $160 = +HEAPF32[4312]; + $159 = +HEAPF32[4080]; + $160 = +HEAPF32[4074]; $161 = $159 - $160; - HEAPF32[4316] = $161; - $162 = +HEAPF32[(17276)>>2]; - $163 = +HEAPF32[(17252)>>2]; + HEAPF32[4078] = $161; + $162 = +HEAPF32[(16324)>>2]; + $163 = +HEAPF32[(16300)>>2]; $164 = $162 - $163; - HEAPF32[(17268)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17248>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17248+4>>2]|0; + HEAPF32[(16316)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16264>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16264+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16296>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16296+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17256>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17256+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17272+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16304>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16304+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16320+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11939,31 +12165,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17248>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17248+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17272+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16296>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16296+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16320+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4573]; + $170 = +HEAPF32[4335]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4567] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17248>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17248+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17272+4>>2]|0; + HEAP32[4329] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16296>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16296+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16320+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4574] = $174; + HEAPF32[4336] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4573] = 0.0; - HEAPF32[4574] = 0.0; - HEAPF32[4316] = 0.0; - HEAPF32[(17268)>>2] = 0.0; - HEAP32[4568] = 0; - HEAP32[4567] = 0; + HEAPF32[4335] = 0.0; + HEAPF32[4336] = 0.0; + HEAPF32[4078] = 0.0; + HEAPF32[(16316)>>2] = 0.0; + HEAP32[4330] = 0; + HEAP32[4329] = 0; STACKTOP = sp;return; break; } @@ -11973,22 +12199,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4569]|0; + $6 = HEAP32[4331]|0; $7 = (($6) + 1)|0; - HEAP32[4569] = $7; - $8 = HEAP32[4567]|0; + HEAP32[4331] = $7; + $8 = HEAP32[4329]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17216+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16264>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16264+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4567] = 2; - HEAP32[4569] = 0; + HEAP32[4329] = 2; + HEAP32[4331] = 0; } else { label = 6; } @@ -11996,8 +12222,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4569] = 1; - HEAP32[4567] = 1; + HEAP32[4331] = 1; + HEAP32[4329] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12006,19 +12232,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 17216; + $21 = 16264; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 17224; + $25 = 16272; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 17232; + $29 = 16280; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12027,13 +12253,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4310] = 0.0; - HEAPF32[(17244)>>2] = 0.0; + HEAPF32[4072] = 0.0; + HEAPF32[(16292)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4567]|0; + $35 = HEAP32[4329]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12043,19 +12269,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 17232; + $44 = 16280; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17232>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17232+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16264>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16264+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16280>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16280+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4570] = $49; - HEAP32[4571] = 0; + HEAPF32[4332] = $49; + HEAP32[4333] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -12063,11 +12289,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17232>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17232+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16264>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16264+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16280>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16280+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4572] = $56; + HEAPF32[4334] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12098,22 +12324,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4570] = 0.0; - HEAPF32[4572] = 0.0; + HEAPF32[4332] = 0.0; + HEAPF32[4334] = 0.0; $$sink10 = 0; } - HEAP32[4567] = $$sink10; - HEAPF32[4306] = 0.0; - HEAPF32[(17228)>>2] = 0.0; - HEAP32[4568] = 0; + HEAP32[4329] = $$sink10; + HEAPF32[4068] = 0.0; + HEAPF32[(16276)>>2] = 0.0; + HEAP32[4330] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4571]|0; + $65 = HEAP32[4333]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4571] = 1; + HEAP32[4333] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12122,31 +12348,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 17248; + $74 = 16296; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4567]|0; + $78 = HEAP32[4329]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17248>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17248+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16264>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16264+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16296>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16296+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4567] = 8; + HEAP32[4329] = 8; } } - $82 = +HEAPF32[4312]; - $83 = +HEAPF32[4306]; + $82 = +HEAPF32[4074]; + $83 = +HEAPF32[4068]; $84 = $82 - $83; - HEAPF32[4310] = $84; - $85 = +HEAPF32[(17252)>>2]; - $86 = +HEAPF32[(17228)>>2]; + HEAPF32[4072] = $84; + $85 = +HEAPF32[(16300)>>2]; + $86 = +HEAPF32[(16276)>>2]; $87 = $85 - $86; - HEAPF32[(17244)>>2] = $87; + HEAPF32[(16292)>>2] = $87; STACKTOP = sp;return; break; } @@ -12155,58 +12381,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4567]|0; + $0 = HEAP32[4329]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4568]|0; + $2 = HEAP32[4330]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4567] = 4; + HEAP32[4329] = 4; } - $4 = HEAP32[4567]|0; + $4 = HEAP32[4329]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12219,14 +12406,14 @@ function _UpdateGestures() { return; } } - HEAP32[4567] = 0; + HEAP32[4329] = 0; return; } function _GetMousePosition($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 = 17280; + $1 = 16328; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12243,13 +12430,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4577]|0; + $0 = HEAP32[4339]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4576]|0; + $0 = HEAP32[4338]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -12260,29 +12447,29 @@ function _InitWindow($0,$1,$2) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - _TraceLog(0,4816,$vararg_buffer); - HEAP32[4579] = $2; + _TraceLog(0,4530,$vararg_buffer); + HEAP32[4341] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); - (_emscripten_set_keypress_callback((4845|0),(0|0),1,(5|0))|0); - (_emscripten_set_click_callback((4845|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchstart_callback((4845|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchend_callback((4845|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchmove_callback((4845|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchcancel_callback((4845|0),(0|0),1,(7|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4577]|0; + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(3|0))|0); + (_emscripten_set_keypress_callback((4559|0),(0|0),1,(4|0))|0); + (_emscripten_set_click_callback((4559|0),(0|0),1,(5|0))|0); + (_emscripten_set_touchstart_callback((4559|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchend_callback((4559|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchmove_callback((4559|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchcancel_callback((4559|0),(0|0),1,(6|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(7|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(7|0))|0); + $3 = HEAP32[4339]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4320] = $5; - $6 = HEAP32[4576]|0; + HEAPF32[4082] = $5; + $6 = HEAP32[4338]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(17284)>>2] = $8; - $9 = HEAP32[4580]|0; + HEAPF32[(16332)>>2] = $8; + $9 = HEAP32[4342]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12301,11 +12488,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[17320>>0]=HEAP8[9374>>0]|0;HEAP8[17320+1>>0]=HEAP8[9374+1>>0]|0;HEAP8[17320+2>>0]=HEAP8[9374+2>>0]|0;HEAP8[17320+3>>0]=HEAP8[9374+3>>0]|0;HEAP8[17320+4>>0]=HEAP8[9374+4>>0]|0;HEAP8[17320+5>>0]=HEAP8[9374+5>>0]|0;HEAP8[17320+6>>0]=HEAP8[9374+6>>0]|0; + ;HEAP8[16368>>0]=HEAP8[9088>>0]|0;HEAP8[16368+1>>0]=HEAP8[9088+1>>0]|0;HEAP8[16368+2>>0]=HEAP8[9088+2>>0]|0;HEAP8[16368+3>>0]=HEAP8[9088+3>>0]|0;HEAP8[16368+4>>0]=HEAP8[9088+4>>0]|0;HEAP8[16368+5>>0]=HEAP8[9088+5>>0]|0;HEAP8[16368+6>>0]=HEAP8[9088+6>>0]|0; break; } case 1: { - $3 = 17320; + $3 = 16368; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12314,11 +12501,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=17320; src=9381; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16368; src=9095; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 17320; + $7 = 16368; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12329,16 +12516,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(17320,$1)|0); - $strlen = (_strlen(17320)|0); - $endptr = (17320 + ($strlen)|0); + (_strcat(16368,$1)|0); + $strlen = (_strlen(16368)|0); + $endptr = (16368 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(17320,$2)|0); + (_vprintf(16368,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12370,22 +12557,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4577] = $0; - HEAP32[4576] = $1; + HEAP32[4339] = $0; + HEAP32[4338] = $1; _MatrixIdentity($2); - dest=18396; 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)); + dest=17444; 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)); (_glfwSetErrorCallback((1|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { - _TraceLog(1,5516,$vararg_buffer); + _TraceLog(1,5230,$vararg_buffer); } - $6 = HEAP32[4577]|0; - HEAP32[4615] = $6; - $7 = HEAP32[4576]|0; - HEAP32[4616] = $7; + $6 = HEAP32[4339]|0; + HEAP32[4377] = $6; + $7 = HEAP32[4338]|0; + HEAP32[4378] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[22132]|0; + $8 = HEAP8[21180]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12393,18 +12580,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[22132]|0; + $11 = HEAP8[21180]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[22132]|0; + $14 = HEAP8[21180]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,5542,$vararg_buffer1); + _TraceLog(0,5256,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -12421,18 +12608,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4617]|0; + $21 = HEAP32[4379]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4577]|0; - $48 = HEAP32[4576]|0; - $49 = HEAP32[4579]|0; + $47 = HEAP32[4339]|0; + $48 = HEAP32[4338]|0; + $49 = HEAP32[4341]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4575] = $50; - $51 = HEAP32[4577]|0; - HEAP32[4618] = $51; - $52 = HEAP32[4576]|0; - HEAP32[4619] = $52; + HEAP32[4337] = $50; + $51 = HEAP32[4339]|0; + HEAP32[4380] = $51; + $52 = HEAP32[4338]|0; + HEAP32[4381] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12441,9 +12628,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4577]|0; + $27 = HEAP32[4339]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4576]|0; + $29 = HEAP32[4338]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12465,87 +12652,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4615] = $31; - HEAP32[4616] = $34; + HEAP32[4377] = $31; + HEAP32[4378] = $34; } } while(0); - $38 = HEAP32[4615]|0; - $39 = HEAP32[4616]|0; + $38 = HEAP32[4377]|0; + $39 = HEAP32[4378]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,5567,$vararg_buffer3); - $40 = HEAP32[4615]|0; - $41 = HEAP32[4616]|0; + _TraceLog(2,5281,$vararg_buffer3); + $40 = HEAP32[4377]|0; + $41 = HEAP32[4378]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4615]|0; - $43 = HEAP32[4616]|0; - $44 = HEAP32[4579]|0; + $42 = HEAP32[4377]|0; + $43 = HEAP32[4378]|0; + $44 = HEAP32[4341]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4575] = $46; + HEAP32[4337] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,5605,$vararg_buffer6); + _TraceLog(1,5319,$vararg_buffer6); } else { - _TraceLog(0,5638,$vararg_buffer8); - $55 = HEAP32[4618]|0; - $56 = HEAP32[4619]|0; + _TraceLog(0,5352,$vararg_buffer8); + $55 = HEAP32[4380]|0; + $56 = HEAP32[4381]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,5678,$vararg_buffer10); - $57 = HEAP32[4577]|0; - $58 = HEAP32[4576]|0; + _TraceLog(0,5392,$vararg_buffer10); + $57 = HEAP32[4339]|0; + $58 = HEAP32[4338]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,5699,$vararg_buffer14); - $59 = HEAP32[4620]|0; - $60 = HEAP32[4621]|0; + _TraceLog(0,5413,$vararg_buffer14); + $59 = HEAP32[4382]|0; + $60 = HEAP32[4383]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,5720,$vararg_buffer18); + _TraceLog(0,5434,$vararg_buffer18); } - $61 = HEAP32[4575]|0; + $61 = HEAP32[4337]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4575]|0; + $62 = HEAP32[4337]|0; (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[4575]|0; + $63 = HEAP32[4337]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4575]|0; + $64 = HEAP32[4337]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4575]|0; + $65 = HEAP32[4337]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4575]|0; + $66 = HEAP32[4337]|0; (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[4575]|0; + $67 = HEAP32[4337]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4575]|0; + $68 = HEAP32[4337]|0; (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[4575]|0; + $69 = HEAP32[4337]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[22132]|0; + $70 = HEAP8[21180]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4577]|0; - $74 = HEAP32[4576]|0; + $73 = HEAP32[4339]|0; + $74 = HEAP32[4338]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4618]|0; - $76 = HEAP32[4620]|0; + $75 = HEAP32[4380]|0; + $76 = HEAP32[4382]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4619]|0; - $80 = HEAP32[4621]|0; + $79 = HEAP32[4381]|0; + $80 = HEAP32[4383]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12563,19 +12750,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,5745,$vararg_buffer22); - $73 = HEAP32[4577]|0; - $74 = HEAP32[4576]|0; + _TraceLog(0,5459,$vararg_buffer22); + $73 = HEAP32[4339]|0; + $74 = HEAP32[4338]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4618]|0; - $76 = HEAP32[4620]|0; + $75 = HEAP32[4380]|0; + $76 = HEAP32[4382]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4619]|0; - $80 = HEAP32[4621]|0; + $79 = HEAP32[4381]|0; + $80 = HEAP32[4383]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12603,7 +12790,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(18364)>>2] = 224; + HEAP32[(17412)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12644,27 +12831,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[18340>>2]=HEAP32[$1>>2]|0;HEAP32[18340+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18340+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18340+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18340+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17388>>2]=HEAP32[$1>>2]|0;HEAP32[17388+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17388+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17388+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17388+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(18364)>>2]|0; + $5 = HEAP32[(17412)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(18368)>>2] = $7; + HEAP32[(17416)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18360)>>2] = $23; - $24 = HEAP32[4585]|0; + HEAP32[(17408)>>2] = $23; + $24 = HEAP32[4347]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5040,$vararg_buffer); + _TraceLog(0,4754,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(18344)>>2]|0; - $10 = HEAP32[(18364)>>2]|0; - $11 = HEAP32[(18368)>>2]|0; + $9 = HEAP32[(17392)>>2]|0; + $10 = HEAP32[(17412)>>2]|0; + $11 = HEAP32[(17416)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12713,10 +12900,10 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18360)>>2] = $23; - $24 = HEAP32[4585]|0; + HEAP32[(17408)>>2] = $23; + $24 = HEAP32[4347]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5040,$vararg_buffer); + _TraceLog(0,4754,$vararg_buffer); STACKTOP = sp;return; } function _InitTimer() { @@ -12725,7 +12912,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2164] = $1; + HEAPF64[2045] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12755,7 +12942,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,4973,$vararg_buffer4); + _TraceLog(0,4687,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -12765,7 +12952,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,4904,$vararg_buffer); + _TraceLog(0,4618,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -12781,7 +12968,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,4897)|0); + $5 = (_strcmp($4,4611)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -12884,7 +13071,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 17296; + $31 = 16344; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12897,7 +13084,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (17304); + $42 = (16352); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12953,7 +13140,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (18324 + ($10<<2)|0); + $11 = (17372 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12967,19 +13154,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2161] = $$; + HEAPF64[2042] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,4853,$vararg_buffer); + _TraceLog(0,4567,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4580] = 0; + HEAP32[4342] = 0; return; } function _GetTime() { @@ -13078,7 +13265,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,5416,$vararg_buffer); + _TraceLog(2,5130,$vararg_buffer); STACKTOP = sp;return; } ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; @@ -13555,52 +13742,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4593]|0; + $6 = HEAP32[4355]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,5085,$vararg_buffer); + _TraceLog(2,4799,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4594]|0; + $9 = HEAP32[4356]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,5129,$vararg_buffer1); + _TraceLog(2,4843,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4595]|0; + $12 = HEAP32[4357]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); $or$cond = $14 & $13; if ($or$cond) { - _TraceLog(2,5174,$vararg_buffer3); + _TraceLog(2,4888,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4596]|0; + $15 = HEAP32[4358]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); $or$cond96 = $17 & $16; if ($or$cond96) { - _TraceLog(2,5219,$vararg_buffer5); + _TraceLog(2,4933,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4597]|0; + $18 = HEAP32[4359]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); $or$cond98 = $20 & $19; if ($or$cond98) { - _TraceLog(2,5264,$vararg_buffer7); + _TraceLog(2,4978,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13638,7 +13825,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4593]|0; + $22 = HEAP32[4355]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13646,7 +13833,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4593]|0; + $24 = HEAP32[4355]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13654,7 +13841,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4593]|0; + $26 = HEAP32[4355]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13662,7 +13849,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4593]|0; + $28 = HEAP32[4355]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13670,7 +13857,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4594]|0; + $30 = HEAP32[4356]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13678,7 +13865,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4595]|0; + $32 = HEAP32[4357]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13686,7 +13873,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4595]|0; + $34 = HEAP32[4357]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13694,7 +13881,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4596]|0; + $36 = HEAP32[4358]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13702,7 +13889,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4596]|0; + $38 = HEAP32[4358]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13710,7 +13897,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4597]|0; + $40 = HEAP32[4359]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13718,7 +13905,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4597]|0; + $42 = HEAP32[4359]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13726,11 +13913,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,5309,$vararg_buffer9); + _TraceLog(2,5023,$vararg_buffer9); } } } while(0); - $44 = HEAP32[4598]|0; + $44 = HEAP32[4360]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13745,7 +13932,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,5387,$vararg_buffer15); + _TraceLog(2,5101,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13754,7 +13941,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { HEAP32[$vararg_ptr13>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,5338,$vararg_buffer11); + _TraceLog(0,5052,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -14028,7 +14215,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,5470,$vararg_buffer); + _TraceLog(2,5184,$vararg_buffer); $$1 = $$0106; } } @@ -14055,7 +14242,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,9336,$vararg_buffer); + _TraceLog(2,9050,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -14076,20 +14263,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4577]|0; + $3 = HEAP32[4339]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4576]|0; + $5 = HEAP32[4338]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4618] = $3; - HEAP32[4619] = $5; - HEAP32[4620] = 0; - HEAP32[4621] = 0; + HEAP32[4380] = $3; + HEAP32[4381] = $5; + HEAP32[4382] = 0; + HEAP32[4383] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14099,13 +14286,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,9270,$vararg_buffer8); + _TraceLog(0,8984,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4577]|0; + $35 = HEAP32[4339]|0; $36 = (+($35|0)); - $37 = HEAP32[4576]|0; + $37 = HEAP32[4338]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14113,26 +14300,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4618] = $45; - HEAP32[4619] = $37; + HEAP32[4380] = $45; + HEAP32[4381] = $37; $46 = (($45) - ($35))|0; - HEAP32[4620] = $46; + HEAP32[4382] = $46; $$sink1 = 0; } else { - HEAP32[4618] = $35; + HEAP32[4380] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4619] = $42; - HEAP32[4620] = 0; + HEAP32[4381] = $42; + HEAP32[4382] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4621] = $$sink1; + HEAP32[4383] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4576]|0; + $7 = HEAP32[4338]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14140,13 +14327,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,9127,$vararg_buffer); + _TraceLog(2,8841,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4577]|0; + $9 = HEAP32[4339]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4576]|0; + $13 = HEAP32[4338]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14154,37 +14341,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4618] = $23; - HEAP32[4619] = $1; + HEAP32[4380] = $23; + HEAP32[4381] = $1; $24 = (($0) - ($23))|0; - HEAP32[4620] = $24; + HEAP32[4382] = $24; $$sink = 0; } else { - HEAP32[4618] = $0; - $17 = HEAP32[4576]|0; + HEAP32[4380] = $0; + $17 = HEAP32[4338]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4619] = $20; - HEAP32[4620] = 0; + HEAP32[4381] = $20; + HEAP32[4382] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4621] = $$sink; - $25 = HEAP32[4618]|0; + HEAP32[4383] = $$sink; + $25 = HEAP32[4380]|0; $26 = (+($25|0)); - $27 = HEAP32[4577]|0; + $27 = HEAP32[4339]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=18396; 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)); - HEAP32[4618] = $0; - HEAP32[4619] = $1; + dest=17444; 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)); + HEAP32[4380] = $0; + HEAP32[4381] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,9205,$vararg_buffer4); + _TraceLog(2,8919,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -14202,10 +14389,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4577] = $1; - HEAP32[4576] = $2; - HEAP32[4618] = $1; - HEAP32[4619] = $2; + HEAP32[4339] = $1; + HEAP32[4338] = $2; + HEAP32[4380] = $1; + HEAP32[4381] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14232,7 +14419,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (22139 + ($1)|0); + $9 = (21187 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -14253,7 +14440,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (22133 + ($1)|0); + $7 = (21181 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14332,7 +14519,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 17296; + $15 = 16344; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14367,7 +14554,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4991] = $3; + HEAP32[4753] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14377,7 +14564,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4990] = $$sink; + HEAP32[4752] = $$sink; return; } function _rlglInit($0,$1) { @@ -14417,16 +14604,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,5768,$vararg_buffer); + _TraceLog(0,5482,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,5786,$vararg_buffer1); + _TraceLog(0,5500,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,5804,$vararg_buffer4); + _TraceLog(0,5518,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,5822,$vararg_buffer7); + _TraceLog(0,5536,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -14434,7 +14621,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,5840)|0); + $15 = (_strtok($$sink63,5554)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -14448,41 +14635,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,5842,$vararg_buffer10); + _TraceLog(0,5556,$vararg_buffer10); $20 = ($$062|0)>(1); if ($20) { $$06167 = 0; while(1) { $23 = (($vararg_buffer7) + ($$06167<<2)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,5877)|0); + $25 = (_strcmp($24,5591)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4656] = 1; - $27 = (_eglGetProcAddress((5904|0))|0); - HEAP32[4657] = $27; - $28 = (_eglGetProcAddress((5925|0))|0); - HEAP32[4658] = $28; - $29 = (_eglGetProcAddress((5946|0))|0); - HEAP32[4659] = $29; + HEAP32[4418] = 1; + $27 = (_eglGetProcAddress((5618|0))|0); + HEAP32[4419] = $27; + $28 = (_eglGetProcAddress((5639|0))|0); + HEAP32[4420] = $28; + $29 = (_eglGetProcAddress((5660|0))|0); + HEAP32[4421] = $29; } - $30 = (_strcmp($24,5970)|0); + $30 = (_strcmp($24,5684)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4598] = 1; + HEAP32[4360] = 1; } - $32 = (_strcmp($24,5990)|0); + $32 = (_strcmp($24,5704)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,6022)|0); + $35 = (_strcmp($34,5736)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,6055)|0); + $37 = (_strcmp($34,5769)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -14491,15 +14678,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4593] = 1; + HEAP32[4355] = 1; } - $39 = (_strcmp($24,6095)|0); + $39 = (_strcmp($24,5809)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,6131)|0); + $42 = (_strcmp($41,5845)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -14507,35 +14694,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4594] = 1; + HEAP32[4356] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,6164)|0); + $45 = (_strcmp($44,5878)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4595] = 1; + HEAP32[4357] = 1; } - $47 = (_strcmp($44,6189)|0); + $47 = (_strcmp($44,5903)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4596] = 1; + HEAP32[4358] = 1; } - $49 = (_strcmp($44,6222)|0); + $49 = (_strcmp($44,5936)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4597] = 1; + HEAP32[4359] = 1; } - $51 = (_strcmp($44,6258)|0); + $51 = (_strcmp($44,5972)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4660] = 1; - _glGetFloatv(34047,(18644|0)); + HEAP32[4422] = 1; + _glGetFloatv(34047,(17692|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,6292)|0); + $54 = (_strcmp($53,6006)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4662] = 1; + HEAP32[4424] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14546,77 +14733,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4656]|0; + $21 = HEAP32[4418]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,6395,$vararg_buffer15); + _TraceLog(2,6109,$vararg_buffer15); } else { - _TraceLog(0,6320,$vararg_buffer13); + _TraceLog(0,6034,$vararg_buffer13); } - $57 = HEAP32[4598]|0; + $57 = HEAP32[4360]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,6531,$vararg_buffer19); + _TraceLog(2,6245,$vararg_buffer19); } else { - _TraceLog(0,6456,$vararg_buffer17); + _TraceLog(0,6170,$vararg_buffer17); } - $59 = HEAP32[4593]|0; + $59 = HEAP32[4355]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,6623,$vararg_buffer21); + _TraceLog(0,6337,$vararg_buffer21); } - $61 = HEAP32[4594]|0; + $61 = HEAP32[4356]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,6669,$vararg_buffer23); + _TraceLog(0,6383,$vararg_buffer23); } - $63 = HEAP32[4595]|0; + $63 = HEAP32[4357]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,6716,$vararg_buffer25); + _TraceLog(0,6430,$vararg_buffer25); } - $65 = HEAP32[4596]|0; + $65 = HEAP32[4358]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,6767,$vararg_buffer27); + _TraceLog(0,6481,$vararg_buffer27); } - $67 = HEAP32[4597]|0; + $67 = HEAP32[4359]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,6814,$vararg_buffer29); + _TraceLog(0,6528,$vararg_buffer29); } - $69 = HEAP32[4660]|0; + $69 = HEAP32[4422]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4661]; + $71 = +HEAPF32[4423]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,6861,$vararg_buffer31); + _TraceLog(0,6575,$vararg_buffer31); } - $73 = HEAP32[4662]|0; + $73 = HEAP32[4424]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,6927,$vararg_buffer34); + _TraceLog(0,6641,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4663] = $75; + HEAP32[4425] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,7031,$vararg_buffer39); + _TraceLog(2,6745,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,6980,$vararg_buffer36); + _TraceLog(0,6694,$vararg_buffer36); } _LoadDefaultShader($2); - dest=18656; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18712; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17704; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17760; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4692] = $77; + HEAP32[4454] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4692]|0; + $79 = HEAP32[4454]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14629,7 +14816,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4693] = $78; + HEAP32[4455] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14644,48 +14831,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4694] = 1; - $85 = HEAP32[4663]|0; + HEAP32[4456] = 1; + $85 = HEAP32[4425]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4695] = 4; + HEAP32[4457] = 4; _MatrixIdentity($4); - dest=18784; src=$4; 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)); + dest=17832; src=$4; 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)); _MatrixIdentity($4); - dest=(18848); src=$4; 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)); + dest=(17896); src=$4; 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)); _MatrixIdentity($4); - dest=(18912); src=$4; 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)); + dest=(17960); src=$4; 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)); _MatrixIdentity($4); - dest=(18976); src=$4; 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)); + dest=(18024); src=$4; 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)); _MatrixIdentity($4); - dest=(19040); src=$4; 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)); + dest=(18088); src=$4; 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)); _MatrixIdentity($4); - dest=(19104); src=$4; 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)); + dest=(18152); src=$4; 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)); _MatrixIdentity($4); - dest=(19168); src=$4; 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)); + dest=(18216); src=$4; 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)); _MatrixIdentity($4); - dest=(19232); src=$4; 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)); + dest=(18280); src=$4; 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)); _MatrixIdentity($4); - dest=(19296); src=$4; 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)); + dest=(18344); src=$4; 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)); _MatrixIdentity($4); - dest=(19360); src=$4; 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)); + dest=(18408); src=$4; 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)); _MatrixIdentity($4); - dest=(19424); src=$4; 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)); + dest=(18472); src=$4; 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)); _MatrixIdentity($4); - dest=(19488); src=$4; 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)); + dest=(18536); src=$4; 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)); _MatrixIdentity($4); - dest=(19552); src=$4; 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)); + dest=(18600); src=$4; 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)); _MatrixIdentity($4); - dest=(19616); src=$4; 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)); + dest=(18664); src=$4; 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)); _MatrixIdentity($4); - dest=(19680); src=$4; 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)); + dest=(18728); src=$4; 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)); _MatrixIdentity($4); - dest=(19744); src=$4; 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)); + dest=(18792); src=$4; 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)); _MatrixIdentity($5); - dest=18492; src=$5; 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)); + dest=17540; src=$5; 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)); _MatrixIdentity($6); - dest=18556; src=$6; 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)); - HEAP32[4622] = 18556; + dest=17604; src=$6; 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)); + HEAP32[4384] = 17604; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14696,21 +14883,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4952] = $0; - HEAP32[4953] = $1; - _TraceLog(0,7070,$vararg_buffer41); + HEAP32[4714] = $0; + HEAP32[4715] = $1; + _TraceLog(0,6784,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4620]|0; + $0 = HEAP32[4382]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4621]|0; + $2 = HEAP32[4383]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4618]|0; + $4 = HEAP32[4380]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4619]|0; + $6 = HEAP32[4381]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14721,12 +14908,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 18492; + $modelview$sink = 17540; label = 3; break; } case 5888: { - $modelview$sink = 18556; + $modelview$sink = 17604; label = 3; break; } @@ -14734,9 +14921,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4622] = $modelview$sink; + HEAP32[4384] = $modelview$sink; } - HEAP32[4655] = $0; + HEAP32[4417] = $0; return; } function _rlLoadIdentity() { @@ -14744,7 +14931,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4622]|0; + $1 = HEAP32[4384]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14765,7 +14952,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4622]|0; + $8 = HEAP32[4384]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14824,17 +15011,17 @@ function _LoadDefaultShader($0) { $1 = sp + 16|0; $2 = sp + 513|0; $3 = sp + 72|0; - _memcpy(($2|0),(7646|0),489)|0; - _memcpy(($3|0),(8135|0),441)|0; + _memcpy(($2|0),(7360|0),489)|0; + _memcpy(($3|0),(7849|0),441)|0; $4 = (_LoadShaderProgram($2,$3)|0); HEAP32[$1>>2] = $4; $5 = ($4|0)==(0); if ($5) { HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,8624,$vararg_buffer1); + _TraceLog(2,8338,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,8576,$vararg_buffer); + _TraceLog(0,8290,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -14862,15 +15049,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(19828)>>2] = $0; + HEAP32[(18876)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(19836)>>2] = $1; - HEAP32[(19832)>>2] = 0; - HEAP32[(19840)>>2] = 0; + HEAP32[(18884)>>2] = $1; + HEAP32[(18880)>>2] = 0; + HEAP32[(18888)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(19836)>>2]|0; + $2 = HEAP32[(18884)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14881,19 +15068,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4954] = 0; - HEAP32[(19824)>>2] = 0; - HEAP32[(19820)>>2] = 0; + HEAP32[4716] = 0; + HEAP32[(18872)>>2] = 0; + HEAP32[(18868)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(19876)>>2] = $5; + HEAP32[(18924)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(19884)>>2] = $6; - HEAP32[(19880)>>2] = 0; - HEAP32[(19888)>>2] = 0; + HEAP32[(18932)>>2] = $6; + HEAP32[(18928)>>2] = 0; + HEAP32[(18936)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(19884)>>2]|0; + $7 = HEAP32[(18932)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14904,24 +15091,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4966] = 0; - HEAP32[(19872)>>2] = 0; - HEAP32[(19868)>>2] = 0; + HEAP32[4728] = 0; + HEAP32[(18920)>>2] = 0; + HEAP32[(18916)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(19924)>>2] = $10; + HEAP32[(18972)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(19928)>>2] = $11; + HEAP32[(18976)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(19932)>>2] = $12; + HEAP32[(18980)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(19936)>>2] = $13; - $14 = HEAP32[(19924)>>2]|0; + HEAP32[(18984)>>2] = $13; + $14 = HEAP32[(18972)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(19928)>>2]|0; + $15 = HEAP32[(18976)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(19932)>>2]|0; + $17 = HEAP32[(18980)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14932,7 +15119,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(19936)>>2]|0; + $16 = HEAP32[(18984)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14969,140 +15156,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4978] = 0; - HEAP32[(19916)>>2] = 0; - HEAP32[(19920)>>2] = 0; - _TraceLog(0,7117,$vararg_buffer); - $20 = HEAP32[4656]|0; + HEAP32[4740] = 0; + HEAP32[(18964)>>2] = 0; + HEAP32[(18968)>>2] = 0; + _TraceLog(0,6831,$vararg_buffer); + $20 = HEAP32[4418]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4657]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(19844)); - $44 = HEAP32[4658]|0; - $45 = HEAP32[(19844)>>2]|0; + $43 = HEAP32[4419]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18892)); + $44 = HEAP32[4420]|0; + $45 = HEAP32[(18892)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((19848)|0)); - $46 = HEAP32[(19848)>>2]|0; + _glGenBuffers(2,((18896)|0)); + $46 = HEAP32[(18896)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(19828)>>2]|0; + $47 = HEAP32[(18876)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(18716)>>2]|0; + $48 = HEAP32[(17764)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(18716)>>2]|0; + $49 = HEAP32[(17764)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((19852)|0)); - $50 = HEAP32[(19852)>>2]|0; + _glGenBuffers(2,((18900)|0)); + $50 = HEAP32[(18900)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(19836)>>2]|0; + $51 = HEAP32[(18884)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(18736)>>2]|0; + $52 = HEAP32[(17784)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(18736)>>2]|0; + $53 = HEAP32[(17784)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4656]|0; + $54 = HEAP32[4418]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(19848)>>2]|0; - $58 = HEAP32[(19852)>>2]|0; + $57 = HEAP32[(18896)>>2]|0; + $58 = HEAP32[(18900)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,7255,$vararg_buffer3); + _TraceLog(0,6969,$vararg_buffer3); } else { - $56 = HEAP32[(19844)>>2]|0; + $56 = HEAP32[(18892)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,7190,$vararg_buffer1); + _TraceLog(0,6904,$vararg_buffer1); } - $59 = HEAP32[4656]|0; + $59 = HEAP32[4418]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4657]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(19892)); - $62 = HEAP32[4658]|0; - $63 = HEAP32[(19892)>>2]|0; + $61 = HEAP32[4419]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18940)); + $62 = HEAP32[4420]|0; + $63 = HEAP32[(18940)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((19896)|0)); - $64 = HEAP32[(19896)>>2]|0; + _glGenBuffers(1,((18944)|0)); + $64 = HEAP32[(18944)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(19876)>>2]|0; + $65 = HEAP32[(18924)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(18716)>>2]|0; + $66 = HEAP32[(17764)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(18716)>>2]|0; + $67 = HEAP32[(17764)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19900)|0)); - $68 = HEAP32[(19900)>>2]|0; + _glGenBuffers(1,((18948)|0)); + $68 = HEAP32[(18948)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(19884)>>2]|0; + $69 = HEAP32[(18932)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(18736)>>2]|0; + $70 = HEAP32[(17784)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(18736)>>2]|0; + $71 = HEAP32[(17784)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4656]|0; + $72 = HEAP32[4418]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(19896)>>2]|0; - $76 = HEAP32[(19900)>>2]|0; + $75 = HEAP32[(18944)>>2]|0; + $76 = HEAP32[(18948)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,7401,$vararg_buffer10); + _TraceLog(0,7115,$vararg_buffer10); } else { - $74 = HEAP32[(19892)>>2]|0; + $74 = HEAP32[(18940)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,7332,$vararg_buffer7); + _TraceLog(0,7046,$vararg_buffer7); } - $77 = HEAP32[4656]|0; + $77 = HEAP32[4418]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4657]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(19940)); - $80 = HEAP32[4658]|0; - $81 = HEAP32[(19940)>>2]|0; + $79 = HEAP32[4419]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18988)); + $80 = HEAP32[4420]|0; + $81 = HEAP32[(18988)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((19944)|0)); - $82 = HEAP32[(19944)>>2]|0; + _glGenBuffers(1,((18992)|0)); + $82 = HEAP32[(18992)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(19924)>>2]|0; + $83 = HEAP32[(18972)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(18716)>>2]|0; + $84 = HEAP32[(17764)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(18716)>>2]|0; + $85 = HEAP32[(17764)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19948)|0)); - $86 = HEAP32[(19948)>>2]|0; + _glGenBuffers(1,((18996)|0)); + $86 = HEAP32[(18996)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(19928)>>2]|0; + $87 = HEAP32[(18976)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(18720)>>2]|0; + $88 = HEAP32[(17768)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(18720)>>2]|0; + $89 = HEAP32[(17768)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((19952)|0)); - $90 = HEAP32[(19952)>>2]|0; + _glGenBuffers(1,((19000)|0)); + $90 = HEAP32[(19000)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(19932)>>2]|0; + $91 = HEAP32[(18980)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(18736)>>2]|0; + $92 = HEAP32[(17784)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(18736)>>2]|0; + $93 = HEAP32[(17784)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((19956)|0)); - $94 = HEAP32[(19956)>>2]|0; + _glGenBuffers(1,((19004)|0)); + $94 = HEAP32[(19004)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(19936)>>2]|0; + $95 = HEAP32[(18984)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4656]|0; + $96 = HEAP32[4418]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(19944)>>2]|0; - $100 = HEAP32[(19948)>>2]|0; - $101 = HEAP32[(19952)>>2]|0; - $102 = HEAP32[(19956)>>2]|0; + $99 = HEAP32[(18992)>>2]|0; + $100 = HEAP32[(18996)>>2]|0; + $101 = HEAP32[(19000)>>2]|0; + $102 = HEAP32[(19004)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15110,18 +15297,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,7547,$vararg_buffer17); + _TraceLog(0,7261,$vararg_buffer17); } else { - $98 = HEAP32[(19940)>>2]|0; + $98 = HEAP32[(18988)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,7482,$vararg_buffer14); + _TraceLog(0,7196,$vararg_buffer14); } - $103 = HEAP32[4656]|0; + $103 = HEAP32[4418]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4658]|0; + $105 = HEAP32[4420]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15158,10 +15345,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,8880,$vararg_buffer4); + _TraceLog(0,8594,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,8828,$vararg_buffer); + _TraceLog(2,8542,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -15171,7 +15358,7 @@ function _LoadShaderProgram($0,$1) { $13 = HEAP32[$vararg_buffer>>2]|0; _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,8877,$vararg_buffer1); + _TraceLog(0,8591,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -15180,10 +15367,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,8981,$vararg_buffer13); + _TraceLog(0,8695,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,8930,$vararg_buffer7); + _TraceLog(2,8644,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -15193,25 +15380,25 @@ function _LoadShaderProgram($0,$1) { $19 = HEAP32[$vararg_buffer7>>2]|0; _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,8877,$vararg_buffer10); + _TraceLog(0,8591,$vararg_buffer10); _llvm_stackrestore(($17|0)); } $20 = (_glCreateProgram()|0); _glAttachShader(($20|0),($6|0)); _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(8672|0)); - _glBindAttribLocation(($20|0),1,(8687|0)); - _glBindAttribLocation(($20|0),2,(8718|0)); - _glBindAttribLocation(($20|0),3,(8745|0)); - _glBindAttribLocation(($20|0),4,(8731|0)); - _glBindAttribLocation(($20|0),5,(8702|0)); + _glBindAttribLocation(($20|0),0,(8386|0)); + _glBindAttribLocation(($20|0),1,(8401|0)); + _glBindAttribLocation(($20|0),2,(8432|0)); + _glBindAttribLocation(($20|0),3,(8459|0)); + _glBindAttribLocation(($20|0),4,(8445|0)); + _glBindAttribLocation(($20|0),5,(8416|0)); _glLinkProgram(($20|0)); _glGetProgramiv(($20|0),35714,($4|0)); $21 = HEAP32[$4>>2]|0; $22 = ($21|0)==(0); if ($22) { HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,9033,$vararg_buffer16); + _TraceLog(2,8747,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -15221,7 +15408,7 @@ function _LoadShaderProgram($0,$1) { $26 = HEAP32[$vararg_buffer16>>2]|0; _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,8877,$vararg_buffer19); + _TraceLog(0,8591,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -15230,7 +15417,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,9079,$vararg_buffer22); + _TraceLog(0,8793,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -15245,55 +15432,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(8672|0))|0); + $2 = (_glGetAttribLocation(($1|0),(8386|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(8687|0))|0); + $5 = (_glGetAttribLocation(($4|0),(8401|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(8702|0))|0); + $8 = (_glGetAttribLocation(($7|0),(8416|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(8718|0))|0); + $11 = (_glGetAttribLocation(($10|0),(8432|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(8731|0))|0); + $14 = (_glGetAttribLocation(($13|0),(8445|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(8745|0))|0); + $17 = (_glGetAttribLocation(($16|0),(8459|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(8757|0))|0); + $20 = (_glGetUniformLocation(($19|0),(8471|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(8767|0))|0); + $23 = (_glGetUniformLocation(($22|0),(8481|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(8778|0))|0); + $26 = (_glGetUniformLocation(($25|0),(8492|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(8789|0))|0); + $29 = (_glGetUniformLocation(($28|0),(8503|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(8801|0))|0); + $32 = (_glGetUniformLocation(($31|0),(8515|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(8810|0))|0); + $35 = (_glGetUniformLocation(($34|0),(8524|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(8819|0))|0); + $38 = (_glGetUniformLocation(($37|0),(8533|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -15302,9 +15489,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22133 + ($0)|0); + $1 = (21181 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22136 + ($0)|0); + $3 = (21184 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15316,9 +15503,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22133 + ($0)|0); + $1 = (21181 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22136 + ($0)|0); + $3 = (21184 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15339,10 +15526,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4575]|0; + $0 = HEAP32[4337]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,9391,$vararg_buffer); + _TraceLog(0,9105,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -15350,9 +15537,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[18340>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18340+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18340+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18340+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18340+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17388>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17388+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17388+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17388+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17388+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(18368)>>2]|0; + $0 = HEAP32[(17416)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15363,11 +15550,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(18652|0)); - $0 = HEAP32[4663]|0; + _glDeleteTextures(1,(17700|0)); + $0 = HEAP32[4425]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,9418,$vararg_buffer); - $1 = HEAP32[4693]|0; + _TraceLog(0,9132,$vararg_buffer); + $1 = HEAP32[4455]|0; _free($1); STACKTOP = sp;return; } @@ -15375,17 +15562,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4664]|0; + $0 = HEAP32[4426]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4656]|0; + $0 = HEAP32[4418]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4658]|0; + $2 = HEAP32[4420]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15394,39 +15581,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((19848)|0)); - _glDeleteBuffers(1,((19852)|0)); - _glDeleteBuffers(1,((19896)|0)); - _glDeleteBuffers(1,((19900)|0)); - _glDeleteBuffers(1,((19944)|0)); - _glDeleteBuffers(1,((19948)|0)); - _glDeleteBuffers(1,((19952)|0)); - _glDeleteBuffers(1,((19956)|0)); - $3 = HEAP32[4656]|0; + _glDeleteBuffers(1,((18896)|0)); + _glDeleteBuffers(1,((18900)|0)); + _glDeleteBuffers(1,((18944)|0)); + _glDeleteBuffers(1,((18948)|0)); + _glDeleteBuffers(1,((18992)|0)); + _glDeleteBuffers(1,((18996)|0)); + _glDeleteBuffers(1,((19000)|0)); + _glDeleteBuffers(1,((19004)|0)); + $3 = HEAP32[4418]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4659]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(19844)); - $6 = HEAP32[4659]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(19892)); - $7 = HEAP32[4659]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(19940)); + $5 = HEAP32[4421]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18892)); + $6 = HEAP32[4421]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18940)); + $7 = HEAP32[4421]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18988)); } - $8 = HEAP32[(19828)>>2]|0; + $8 = HEAP32[(18876)>>2]|0; _free($8); - $9 = HEAP32[(19836)>>2]|0; + $9 = HEAP32[(18884)>>2]|0; _free($9); - $10 = HEAP32[(19876)>>2]|0; + $10 = HEAP32[(18924)>>2]|0; _free($10); - $11 = HEAP32[(19884)>>2]|0; + $11 = HEAP32[(18932)>>2]|0; _free($11); - $12 = HEAP32[(19924)>>2]|0; + $12 = HEAP32[(18972)>>2]|0; _free($12); - $13 = HEAP32[(19928)>>2]|0; + $13 = HEAP32[(18976)>>2]|0; _free($13); - $14 = HEAP32[(19932)>>2]|0; + $14 = HEAP32[(18980)>>2]|0; _free($14); - $15 = HEAP32[(19936)>>2]|0; + $15 = HEAP32[(18984)>>2]|0; _free($15); return; } @@ -15444,7 +15631,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,9483,$vararg_buffer); + _TraceLog(0,9197,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -15466,16 +15653,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2181] = $0; - $1 = +HEAPF64[2164]; + HEAPF64[2062] = $0; + $1 = +HEAPF64[2045]; $2 = $0 - $1; - HEAPF64[2182] = $2; - HEAPF64[2164] = $0; + HEAPF64[2063] = $2; + HEAPF64[2045] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=18396; 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)); + dest=$downscaleView$byval_copy; src=17444; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(19968); + _rlMultMatrixf(19016); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15484,53 +15671,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[4992] = $1; + HEAP32[4754] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(19972)>>2] = $3; + HEAP32[(19020)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(19976)>>2] = $5; + HEAP32[(19024)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(19980)>>2] = $7; + HEAP32[(19028)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(19984)>>2] = $9; + HEAP32[(19032)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(19988)>>2] = $11; + HEAP32[(19036)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(19992)>>2] = $13; + HEAP32[(19040)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(19996)>>2] = $15; + HEAP32[(19044)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(20000)>>2] = $17; + HEAP32[(19048)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(20004)>>2] = $19; + HEAP32[(19052)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(20008)>>2] = $21; + HEAP32[(19056)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(20012)>>2] = $23; + HEAP32[(19060)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(20016)>>2] = $25; + HEAP32[(19064)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(20020)>>2] = $27; + HEAP32[(19068)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(20024)>>2] = $29; + HEAP32[(19072)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(20028)>>2] = $31; - return (19968|0); + HEAP32[(19076)>>2] = $31; + return (19016|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15605,7 +15792,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4622]|0; + $49 = HEAP32[4384]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15619,15 +15806,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2181] = $0; - $1 = +HEAPF64[2164]; + HEAPF64[2062] = $0; + $1 = +HEAPF64[2045]; $2 = $0 - $1; - HEAPF64[2183] = $2; - HEAPF64[2164] = $0; - $3 = +HEAPF64[2182]; + HEAPF64[2064] = $2; + HEAPF64[2045] = $0; + $3 = +HEAPF64[2063]; $4 = $2 + $3; - HEAPF64[2184] = $4; - $5 = +HEAPF64[2161]; + HEAPF64[2065] = $4; + $5 = +HEAPF64[2042]; $6 = $4 < $5; if (!($6)) { return; @@ -15637,13 +15824,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2181] = $10; - $11 = +HEAPF64[2164]; + HEAPF64[2062] = $10; + $11 = +HEAPF64[2045]; $12 = $10 - $11; - HEAPF64[2164] = $10; - $13 = +HEAPF64[2184]; + HEAPF64[2045] = $10; + $13 = +HEAPF64[2065]; $14 = $12 + $13; - HEAPF64[2184] = $14; + HEAPF64[2065] = $14; return; } function _rlglDraw() { @@ -15656,7 +15843,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4575]|0; + $0 = HEAP32[4337]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15672,20 +15859,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[5008] = 0; - $3 = HEAP32[4575]|0; + HEAP32[4770] = 0; + $3 = HEAP32[4337]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4320] = $5; + HEAPF32[4082] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(17284)>>2] = $7; - _memcpy((22651|0),(22139|0),512)|0; - ;HEAP8[22136>>0]=HEAP8[22133>>0]|0;HEAP8[22136+1>>0]=HEAP8[22133+1>>0]|0;HEAP8[22136+2>>0]=HEAP8[22133+2>>0]|0; - $8 = HEAP32[4991]|0; - HEAP32[4578] = $8; - HEAP32[4991] = 0; + HEAPF32[(16332)>>2] = $7; + _memcpy((21699|0),(21187|0),512)|0; + ;HEAP8[21184>>0]=HEAP8[21181>>0]|0;HEAP8[21184+1>>0]=HEAP8[21181+1>>0]|0;HEAP8[21184+2>>0]=HEAP8[21181+2>>0]|0; + $8 = HEAP32[4753]|0; + HEAP32[4340] = $8; + HEAP32[4753] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15695,8 +15882,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (23163 + ($$05160<<5)|0); - $scevgep67 = (23291 + ($$05160<<5)|0); + $scevgep = (22211 + ($$05160<<5)|0); + $scevgep67 = (22339 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15710,7 +15897,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((23291 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((22339 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15737,7 +15924,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((20036 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((19084 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15753,7 +15940,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5008] = $$lcssa; + HEAP32[4770] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15794,87 +15981,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4954]|0; + $0 = HEAP32[4716]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4656]|0; + $2 = HEAP32[4418]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4658]|0; - $5 = HEAP32[(19844)>>2]|0; + $4 = HEAP32[4420]|0; + $5 = HEAP32[(18892)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(19848)>>2]|0; + $6 = HEAP32[(18896)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4954]|0; + $7 = HEAP32[4716]|0; $8 = ($7*12)|0; - $9 = HEAP32[(19828)>>2]|0; + $9 = HEAP32[(18876)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(19852)>>2]|0; + $10 = HEAP32[(18900)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(19824)>>2]|0; + $11 = HEAP32[(18872)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(19836)>>2]|0; + $13 = HEAP32[(18884)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4966]|0; + $14 = HEAP32[4728]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4656]|0; + $16 = HEAP32[4418]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4658]|0; - $19 = HEAP32[(19892)>>2]|0; + $18 = HEAP32[4420]|0; + $19 = HEAP32[(18940)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(19896)>>2]|0; + $20 = HEAP32[(18944)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4966]|0; + $21 = HEAP32[4728]|0; $22 = ($21*12)|0; - $23 = HEAP32[(19876)>>2]|0; + $23 = HEAP32[(18924)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(19900)>>2]|0; + $24 = HEAP32[(18948)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(19872)>>2]|0; + $25 = HEAP32[(18920)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(19884)>>2]|0; + $27 = HEAP32[(18932)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4978]|0; + $28 = HEAP32[4740]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4656]|0; + $30 = HEAP32[4418]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4658]|0; - $33 = HEAP32[(19940)>>2]|0; + $32 = HEAP32[4420]|0; + $33 = HEAP32[(18988)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(19944)>>2]|0; + $34 = HEAP32[(18992)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4978]|0; + $35 = HEAP32[4740]|0; $36 = ($35*12)|0; - $37 = HEAP32[(19924)>>2]|0; + $37 = HEAP32[(18972)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(19948)>>2]|0; + $38 = HEAP32[(18996)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4978]|0; + $39 = HEAP32[4740]|0; $40 = $39 << 3; - $41 = HEAP32[(19928)>>2]|0; + $41 = HEAP32[(18976)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(19952)>>2]|0; + $42 = HEAP32[(19000)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4978]|0; + $43 = HEAP32[4740]|0; $44 = $43 << 2; - $45 = HEAP32[(19932)>>2]|0; + $45 = HEAP32[(18980)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4656]|0; + $46 = HEAP32[4418]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4658]|0; + $48 = HEAP32[4420]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15892,9 +16079,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=18492; 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)); - dest=$1; src=18556; 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)); - $3 = HEAP32[5041]|0; + dest=$0; src=17540; 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)); + dest=$1; src=17604; 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)); + $3 = HEAP32[4803]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15904,134 +16091,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4954]|0; + $8 = HEAP32[4716]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4966]|0; + $10 = HEAP32[4728]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4978]|0; + $12 = HEAP32[4740]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4678]|0; + $14 = HEAP32[4440]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=18556; 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)); - dest=$$byval_copy2; src=18492; 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)); + dest=$modelview$byval_copy; src=17604; 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)); + dest=$$byval_copy2; src=17540; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(18740)>>2]|0; + $15 = HEAP32[(17788)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(18744)>>2]|0; + $17 = HEAP32[(17792)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(18756)>>2]|0; + $18 = HEAP32[(17804)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4954]|0; + $19 = HEAP32[4716]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4663]|0; + $21 = HEAP32[4425]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4656]|0; + $22 = HEAP32[4418]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(19848)>>2]|0; + $26 = HEAP32[(18896)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(18716)>>2]|0; + $27 = HEAP32[(17764)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(18716)>>2]|0; + $28 = HEAP32[(17764)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(19852)>>2]|0; + $29 = HEAP32[(18900)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(18736)>>2]|0; + $30 = HEAP32[(17784)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(18736)>>2]|0; + $31 = HEAP32[(17784)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4658]|0; - $25 = HEAP32[(19844)>>2]|0; + $24 = HEAP32[4420]|0; + $25 = HEAP32[(18892)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4954]|0; + $32 = HEAP32[4716]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4656]|0; + $33 = HEAP32[4418]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4966]|0; + $35 = HEAP32[4728]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4663]|0; + $37 = HEAP32[4425]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4656]|0; + $38 = HEAP32[4418]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(19896)>>2]|0; + $42 = HEAP32[(18944)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(18716)>>2]|0; + $43 = HEAP32[(17764)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(18716)>>2]|0; + $44 = HEAP32[(17764)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(19900)>>2]|0; + $45 = HEAP32[(18948)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(18736)>>2]|0; + $46 = HEAP32[(17784)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(18736)>>2]|0; + $47 = HEAP32[(17784)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4658]|0; - $41 = HEAP32[(19892)>>2]|0; + $40 = HEAP32[4420]|0; + $41 = HEAP32[(18940)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4966]|0; + $48 = HEAP32[4728]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4656]|0; + $49 = HEAP32[4418]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4978]|0; + $51 = HEAP32[4740]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4656]|0; + $53 = HEAP32[4418]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(19944)>>2]|0; + $57 = HEAP32[(18992)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(18716)>>2]|0; + $58 = HEAP32[(17764)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(18716)>>2]|0; + $59 = HEAP32[(17764)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(19948)>>2]|0; + $60 = HEAP32[(18996)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(18720)>>2]|0; + $61 = HEAP32[(17768)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(18720)>>2]|0; + $62 = HEAP32[(17768)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(19952)>>2]|0; + $63 = HEAP32[(19000)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(18736)>>2]|0; + $64 = HEAP32[(17784)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(18736)>>2]|0; + $65 = HEAP32[(17784)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(19956)>>2]|0; + $66 = HEAP32[(19004)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4658]|0; - $56 = HEAP32[(19940)>>2]|0; + $55 = HEAP32[4420]|0; + $56 = HEAP32[(18988)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4694]|0; + $67 = HEAP32[4456]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4693]|0; + $71 = HEAP32[4455]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16042,14 +16229,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4693]|0; + $80 = HEAP32[4455]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4694]|0; + $87 = HEAP32[4456]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16058,7 +16245,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4656]|0; + $69 = HEAP32[4418]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16066,10 +16253,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4656]|0; + $89 = HEAP32[4418]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4658]|0; + $91 = HEAP32[4420]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16081,22 +16268,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4694] = 1; - $5 = HEAP32[4663]|0; - $6 = HEAP32[4693]|0; + HEAP32[4456] = 1; + $5 = HEAP32[4425]|0; + $6 = HEAP32[4455]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4954] = 0; - HEAP32[(19824)>>2] = 0; - HEAP32[4966] = 0; - HEAP32[(19872)>>2] = 0; - HEAP32[4978] = 0; - HEAP32[(19916)>>2] = 0; - HEAP32[(19920)>>2] = 0; + HEAP32[4716] = 0; + HEAP32[(18872)>>2] = 0; + HEAP32[4728] = 0; + HEAP32[(18920)>>2] = 0; + HEAP32[4740] = 0; + HEAP32[(18964)>>2] = 0; + HEAP32[(18968)>>2] = 0; HEAPF32[744] = -1.0; - dest=18492; src=$0; 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)); - dest=18556; src=$1; 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)); + dest=17540; src=$0; 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)); + dest=17604; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16111,17 +16298,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[4952]|0; + $5 = HEAP32[4714]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4953]|0; + $9 = HEAP32[4715]|0; _rlViewport($7,0,$8,$9); - $10 = (20396 + ($0<<6)|0); + $10 = (19444 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20268 + ($0<<6)|0); + $11 = (19316 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -16133,14 +16320,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=18556; src=$0; 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)); + dest=17604; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=18492; src=$0; 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)); + dest=17540; src=$0; 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)); return; } function _GetRandomValue($0,$1) { @@ -16218,9 +16405,9 @@ function _IsKeyPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22139 + ($0)|0); + $1 = (21187 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22651 + ($0)|0); + $3 = (21699 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16232,7 +16419,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4695] = $0; + HEAP32[4457] = $0; return; } function _rlEnd() { @@ -16248,21 +16435,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5131]|0; + $0 = HEAP32[4893]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5132]|0; + $2 = HEAP32[4894]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4692]|0; + $6 = HEAP32[4454]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4622]|0; + $8 = HEAP32[4384]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5132]|0; + $5 = HEAP32[4894]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16270,12 +16457,12 @@ function _rlEnd() { break; } } - HEAP32[5131] = 0; + HEAP32[4893] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4692]|0; + $11 = HEAP32[4454]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16284,7 +16471,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5132]|0; + $19 = HEAP32[4894]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16294,15 +16481,15 @@ function _rlEnd() { } } } else { - HEAP32[5131] = 0; + HEAP32[4893] = 0; } - HEAP32[5132] = 0; + HEAP32[4894] = 0; } - $21 = HEAP32[4695]|0; + $21 = HEAP32[4457]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4954]|0; - $23 = HEAP32[(19824)>>2]|0; + $22 = HEAP32[4716]|0; + $23 = HEAP32[(18872)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -16321,16 +16508,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(19836)>>2]|0; - $28 = HEAP32[(19824)>>2]|0; + $27 = HEAP32[(18884)>>2]|0; + $28 = HEAP32[(18872)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(19836)>>2]|0; - $35 = HEAP32[(19824)>>2]|0; + $34 = HEAP32[(18884)>>2]|0; + $35 = HEAP32[(18872)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16338,8 +16525,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(19836)>>2]|0; - $43 = HEAP32[(19824)>>2]|0; + $42 = HEAP32[(18884)>>2]|0; + $43 = HEAP32[(18872)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16347,8 +16534,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(19836)>>2]|0; - $51 = HEAP32[(19824)>>2]|0; + $50 = HEAP32[(18884)>>2]|0; + $51 = HEAP32[(18872)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16356,9 +16543,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(19824)>>2]|0; + $58 = HEAP32[(18872)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(19824)>>2] = $59; + HEAP32[(18872)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16374,8 +16561,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4966]|0; - $62 = HEAP32[(19872)>>2]|0; + $61 = HEAP32[4728]|0; + $62 = HEAP32[(18920)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -16394,16 +16581,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(19884)>>2]|0; - $67 = HEAP32[(19872)>>2]|0; + $66 = HEAP32[(18932)>>2]|0; + $67 = HEAP32[(18920)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(19884)>>2]|0; - $74 = HEAP32[(19872)>>2]|0; + $73 = HEAP32[(18932)>>2]|0; + $74 = HEAP32[(18920)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16411,8 +16598,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(19884)>>2]|0; - $82 = HEAP32[(19872)>>2]|0; + $81 = HEAP32[(18932)>>2]|0; + $82 = HEAP32[(18920)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16420,8 +16607,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(19884)>>2]|0; - $90 = HEAP32[(19872)>>2]|0; + $89 = HEAP32[(18932)>>2]|0; + $90 = HEAP32[(18920)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16429,9 +16616,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(19872)>>2]|0; + $97 = HEAP32[(18920)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(19872)>>2] = $98; + HEAP32[(18920)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16447,8 +16634,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4978]|0; - $101 = HEAP32[(19920)>>2]|0; + $100 = HEAP32[4740]|0; + $101 = HEAP32[(18968)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16456,16 +16643,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(19932)>>2]|0; - $106 = HEAP32[(19920)>>2]|0; + $105 = HEAP32[(18980)>>2]|0; + $106 = HEAP32[(18968)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(19932)>>2]|0; - $113 = HEAP32[(19920)>>2]|0; + $112 = HEAP32[(18980)>>2]|0; + $113 = HEAP32[(18968)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16473,8 +16660,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(19932)>>2]|0; - $121 = HEAP32[(19920)>>2]|0; + $120 = HEAP32[(18980)>>2]|0; + $121 = HEAP32[(18968)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16482,8 +16669,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(19932)>>2]|0; - $129 = HEAP32[(19920)>>2]|0; + $128 = HEAP32[(18980)>>2]|0; + $129 = HEAP32[(18968)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16491,9 +16678,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(19920)>>2]|0; + $136 = HEAP32[(18968)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(19920)>>2] = $137; + HEAP32[(18968)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16504,8 +16691,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4978]|0; - $140 = HEAP32[(19916)>>2]|0; + $139 = HEAP32[4740]|0; + $140 = HEAP32[(18964)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16513,8 +16700,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(19928)>>2]|0; - $$promoted = HEAP32[(19916)>>2]|0; + $142 = HEAP32[(18976)>>2]|0; + $$promoted = HEAP32[(18964)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16522,7 +16709,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(19916)>>2] = $147; + HEAP32[(18964)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16549,11 +16736,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5131]|0; + $3 = HEAP32[4893]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4692]|0; - $6 = HEAP32[5132]|0; + $5 = HEAP32[4454]|0; + $6 = HEAP32[4894]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16561,16 +16748,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5132] = $10; + HEAP32[4894] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4695]|0; + $11 = HEAP32[4457]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4954]|0; + $12 = HEAP32[4716]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(19828)>>2]|0; + $14 = HEAP32[(18876)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16581,19 +16768,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4954] = $21; + HEAP32[4716] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,9533,$vararg_buffer); + _TraceLog(1,9247,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[4966]|0; + $22 = HEAP32[4728]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(19876)>>2]|0; + $24 = HEAP32[(18924)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16604,19 +16791,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4966] = $31; + HEAP32[4728] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,9558,$vararg_buffer1); + _TraceLog(1,9272,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[4978]|0; + $32 = HEAP32[4740]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(19924)>>2]|0; + $34 = HEAP32[(18972)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16627,9 +16814,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4978] = $41; - $42 = HEAP32[4693]|0; - $43 = HEAP32[4694]|0; + HEAP32[4740] = $41; + $42 = HEAP32[4455]|0; + $43 = HEAP32[4456]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16637,7 +16824,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,9587,$vararg_buffer3); + _TraceLog(1,9301,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -16672,13 +16859,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4695]|0; + $2 = HEAP32[4457]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(19928)>>2]|0; - $5 = HEAP32[(19916)>>2]|0; + $4 = HEAP32[(18976)>>2]|0; + $5 = HEAP32[(18964)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16686,7 +16873,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(19916)>>2] = $10; + HEAP32[(18964)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16705,18 +16892,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4695]|0; + $4 = HEAP32[4457]|0; switch ($4|0) { case 1: { - $$sink37 = (19824);$$sink38 = (19836); + $$sink37 = (18872);$$sink38 = (18884); break; } case 4: { - $$sink37 = (19872);$$sink38 = (19884); + $$sink37 = (18920);$$sink38 = (18932); break; } case 7: { - $$sink37 = (19920);$$sink38 = (19932); + $$sink37 = (18968);$$sink38 = (18980); break; } default: { @@ -16755,8 +16942,8 @@ function _rlEnableTexture($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 = HEAP32[4693]|0; - $2 = HEAP32[4694]|0; + $1 = HEAP32[4455]|0; + $2 = HEAP32[4456]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16769,9 +16956,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4694] = $10; + HEAP32[4456] = $10; } - $11 = HEAP32[4694]|0; + $11 = HEAP32[4456]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16782,7 +16969,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4978]|0; + $0 = HEAP32[4740]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16794,7 +16981,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4663]|0; + $1 = HEAP32[4425]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -17156,5767 +17343,6 @@ function _DrawRectangleLines($0,$1,$2,$3,$4) { _DrawRectangle($0,$26,1,$27,$$byval_copy3); STACKTOP = sp;return; } -function _jar_xm_generate_samples_16bit($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$015 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2 << 1; - $4 = $2 << 3; - $5 = (_malloc($4)|0); - _jar_xm_generate_samples($0,$5,$2); - $6 = ($1|0)!=(0|0); - $7 = ($3|0)!=(0); - $or$cond = $6 & $7; - if ($or$cond) { - $$015 = 0; - } else { - _free($5); - return; - } - while(1) { - $8 = (($5) + ($$015<<2)|0); - $9 = +HEAPF32[$8>>2]; - $10 = $9 * 32767.0; - $11 = (~~(($10))); - $12 = (($1) + ($$015<<1)|0); - HEAP16[$12>>1] = $11; - $13 = (($$015) + 1)|0; - $exitcond = ($13|0)==($3|0); - if ($exitcond) { - break; - } else { - $$015 = $13; - } - } - _free($5); - return; -} -function _jar_xm_generate_samples($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$013 = 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, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)!=(0|0); - $4 = ($1|0)!=(0|0); - $or$cond = $3 & $4; - if (!($or$cond)) { - return; - } - $5 = ((($0)) + 360|0); - $6 = $5; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = (($6) + 4)|0; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (_i64Add(($8|0),($11|0),($2|0),0)|0); - $13 = tempRet0; - $14 = $5; - $15 = $14; - HEAP32[$15>>2] = $12; - $16 = (($14) + 4)|0; - $17 = $16; - HEAP32[$17>>2] = $13; - $18 = ($2|0)==(0); - if ($18) { - return; - } else { - $$013 = 0; - } - while(1) { - $19 = $$013 << 1; - $20 = (($1) + ($19<<2)|0); - $21 = $19 | 1; - $22 = (($1) + ($21<<2)|0); - _jar_xm_sample($0,$20,$22); - $23 = (($$013) + 1)|0; - $exitcond = ($23|0)==($2|0); - if ($exitcond) { - break; - } else { - $$013 = $23; - } - } - return; -} -function _jar_xm_sample($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$072 = 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.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; - var $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0; - var $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 352|0); - $4 = +HEAPF32[$3>>2]; - $5 = !($4 <= 0.0); - if (!($5)) { - _jar_xm_tick($0); - } - $6 = +HEAPF32[$3>>2]; - $7 = $6 + -1.0; - HEAPF32[$3>>2] = $7; - HEAPF32[$1>>2] = 0.0; - HEAPF32[$2>>2] = 0.0; - $8 = ((($0)) + 385|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if (!($10)) { - $11 = ((($0)) + 384|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12&255)<($9&255); - if (!($13)) { - return; - } - } - $14 = ((($0)) + 50|0); - $15 = HEAP16[$14>>1]|0; - $16 = ($15<<16>>16)==(0); - if (!($16)) { - $17 = ((($0)) + 388|0); - $18 = ((($0)) + 340|0); - $19 = ((($0)) + 344|0); - $20 = ((($0)) + 344|0); - $21 = ((($0)) + 340|0); - $$072 = 0;$33 = 0; - while(1) { - $31 = HEAP32[$17>>2]|0; - $32 = (($31) + (($33*304)|0)|0); - $34 = (((($31) + (($33*304)|0)|0)) + 8|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - do { - if (!($36)) { - $37 = (((($31) + (($33*304)|0)|0)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==(0|0); - if (!($39)) { - $40 = (((($31) + (($33*304)|0)|0)) + 20|0); - $41 = +HEAPF32[$40>>2]; - $42 = $41 < 0.0; - if (!($42)) { - $43 = (+_jar_xm_next_of_sample($32)); - $44 = (((($31) + (($33*304)|0)|0)) + 152|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)==(0); - if ($46) { - $47 = HEAP32[$34>>2]|0; - $48 = ((($47)) + 272|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - $51 = (((($31) + (($33*304)|0)|0)) + 300|0); - $52 = +HEAPF32[$51>>2]; - $53 = $43 * $52; - $54 = (((($31) + (($33*304)|0)|0)) + 296|0); - $55 = +HEAPF32[$54>>2]; - $56 = 1.0 - $55; - $57 = $53 * $56; - $58 = +HEAPF32[$1>>2]; - $59 = $58 + $57; - HEAPF32[$1>>2] = $59; - $60 = +HEAPF32[$51>>2]; - $61 = $43 * $60; - $62 = +HEAPF32[$54>>2]; - $63 = $61 * $62; - $64 = +HEAPF32[$2>>2]; - $65 = $64 + $63; - HEAPF32[$2>>2] = $65; - } - } - $66 = (((($31) + (($33*304)|0)|0)) + 164|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$66>>2] = $68; - $69 = (((($31) + (($33*304)|0)|0)) + 300|0); - $70 = +HEAPF32[$69>>2]; - $71 = (((($31) + (($33*304)|0)|0)) + 160|0); - $72 = +HEAPF32[$71>>2]; - $73 = $70 > $72; - if ($73) { - $74 = +HEAPF32[$18>>2]; - $75 = $70 - $74; - HEAPF32[$69>>2] = $75; - $76 = $75 < $72; - if ($76) { - HEAPF32[$69>>2] = $72; - } - } else { - $77 = $70 < $72; - if ($77) { - $78 = +HEAPF32[$21>>2]; - $79 = $70 + $78; - HEAPF32[$69>>2] = $79; - $80 = $79 > $72; - if ($80) { - HEAPF32[$69>>2] = $72; - } - } - } - $81 = (((($31) + (($33*304)|0)|0)) + 296|0); - $82 = +HEAPF32[$81>>2]; - $83 = (((($31) + (($33*304)|0)|0)) + 156|0); - $84 = +HEAPF32[$83>>2]; - $85 = $82 > $84; - if ($85) { - $86 = +HEAPF32[$19>>2]; - $87 = $82 - $86; - HEAPF32[$81>>2] = $87; - $88 = $87 < $84; - if (!($88)) { - break; - } - HEAPF32[$81>>2] = $84; - break; - } - $89 = $82 < $84; - if ($89) { - $90 = +HEAPF32[$20>>2]; - $91 = $82 + $90; - HEAPF32[$81>>2] = $91; - $92 = $91 > $84; - if ($92) { - HEAPF32[$81>>2] = $84; - } - } - } - } - } - } while(0); - $93 = (($$072) + 1)<<24>>24; - $94 = $93&255; - $95 = HEAP16[$14>>1]|0; - $96 = $95&65535; - $97 = ($94>>>0)<($96>>>0); - if ($97) { - $$072 = $93;$33 = $94; - } else { - break; - } - } - } - $22 = ((($0)) + 332|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($0)) + 336|0); - $25 = +HEAPF32[$24>>2]; - $26 = $23 * $25; - $27 = +HEAPF32[$1>>2]; - $28 = $27 * $26; - HEAPF32[$1>>2] = $28; - $29 = +HEAPF32[$2>>2]; - $30 = $26 * $29; - HEAPF32[$2>>2] = $30; - return; -} -function _jar_xm_tick($0) { - $0 = $0|0; - var $$0 = 0.0, $$0195202 = 0, $$0196 = 0.0, $$1 = 0.0, $$not = 0, $$pr = 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.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.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.0, $181 = 0, $182 = 0.0, $183 = 0.0; - var $184 = 0.0, $185 = 0, $186 = 0.0, $187 = 0.0, $188 = 0.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; - 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.0, $212 = 0, $213 = 0, $214 = 0.0, $215 = 0.0, $216 = 0, $217 = 0.0, $218 = 0.0, $219 = 0; - var $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, $237 = 0.0; - var $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0, $253 = 0.0, $254 = 0.0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0.0, $259 = 0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0.0, $273 = 0; - var $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0.0, $28 = 0, $280 = 0.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, $storemerge = 0.0, $storemerge198 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc199 = 0, $trunc199$clear = 0, $trunc200 = 0, $trunc200$clear = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 350|0); - $2 = HEAP16[$1>>1]|0; - $3 = ($2<<16>>16)==(0); - if ($3) { - _jar_xm_row($0); - } - $4 = ((($0)) + 50|0); - $5 = HEAP16[$4>>1]|0; - $6 = ($5<<16>>16)==(0); - L4: do { - if (!($6)) { - $7 = ((($0)) + 388|0); - $8 = ((($0)) + 328|0); - $9 = ((($0)) + 332|0); - $$0195202 = 0;$23 = 0; - while(1) { - $21 = HEAP32[$7>>2]|0; - $22 = (($21) + (($23*304)|0)|0); - _jar_xm_envelopes($22); - _jar_xm_autovibrato($0,$22); - $24 = (((($21) + (($23*304)|0)|0)) + 76|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)==(0); - do { - if (!($26)) { - $27 = (((($21) + (($23*304)|0)|0)) + 16|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 3|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(0); - if ($31) { - $32 = ((($28)) + 4|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if (!($34)) { - break; - } - } - HEAP32[$24>>2] = 0; - $35 = (((($21) + (($23*304)|0)|0)) + 80|0); - HEAP8[$35>>0] = 0; - _jar_xm_update_frequency($0,$22); - } - } while(0); - $36 = (((($21) + (($23*304)|0)|0)) + 100|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)==(0); - if (!($38)) { - $39 = (((($21) + (($23*304)|0)|0)) + 16|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($40)) + 3|0); - $42 = HEAP8[$41>>0]|0; - $43 = ($42<<24>>24)==(4); - if (!($43)) { - $44 = ((($40)) + 4|0); - $45 = HEAP8[$44>>0]|0; - $46 = ($45<<24>>24)==(6); - if (!($46)) { - $47 = ((($40)) + 2|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48 & -16; - $50 = ($49<<24>>24)==(-80); - if (!($50)) { - $51 = (((($21) + (($23*304)|0)|0)) + 116|0); - HEAP32[$36>>2] = 0; - HEAPF32[$51>>2] = 0.0; - _jar_xm_update_frequency($0,$22); - } - } - } - } - $52 = (((($21) + (($23*304)|0)|0)) + 16|0); - $53 = HEAP32[$52>>2]|0; - $54 = ((($53)) + 2|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $trunc = ($55&255) >>> 4; - $trunc$clear = $trunc & 15; - switch ($trunc$clear<<24>>24) { - case 6: { - $57 = HEAP16[$1>>1]|0; - $58 = ($57<<16>>16)==(0); - if (!($58)) { - $59 = $56 & 15; - $60 = $59&255; - _jar_xm_volume_slide($22,$60); - } - break; - } - case 7: { - $61 = HEAP16[$1>>1]|0; - $62 = ($61<<16>>16)==(0); - if (!($62)) { - $63 = $56 << 4; - $64 = $63&255; - _jar_xm_volume_slide($22,$64); - } - break; - } - case 11: { - $65 = HEAP16[$1>>1]|0; - $66 = ($65<<16>>16)==(0); - if (!($66)) { - HEAP32[$36>>2] = 0; - $67 = (((($21) + (($23*304)|0)|0)) + 112|0); - $68 = HEAP8[$67>>0]|0; - $69 = (((($21) + (($23*304)|0)|0)) + 114|0); - $70 = HEAP16[$69>>1]|0; - $71 = (($70) + 1)<<16>>16; - HEAP16[$69>>1] = $71; - _jar_xm_vibrato($0,$22,$68,$70); - } - break; - } - case 13: { - $72 = HEAP16[$1>>1]|0; - $73 = ($72<<16>>16)==(0); - if (!($73)) { - $74 = $56 & 15; - $75 = $74&255; - _jar_xm_panning_slide($22,$75); - } - break; - } - case 14: { - $76 = HEAP16[$1>>1]|0; - $77 = ($76<<16>>16)==(0); - if (!($77)) { - $78 = $56 << 4; - $79 = $78&255; - _jar_xm_panning_slide($22,$79); - } - break; - } - case 15: { - $80 = HEAP16[$1>>1]|0; - $81 = ($80<<16>>16)==(0); - if (!($81)) { - _jar_xm_tone_portamento($0,$22); - } - break; - } - default: { - } - } - $82 = HEAP32[$52>>2]|0; - $83 = ((($82)) + 3|0); - $84 = HEAP8[$83>>0]|0; - L34: do { - switch ($84<<24>>24) { - case 0: { - $85 = ((($82)) + 4|0); - $86 = HEAP8[$85>>0]|0; - $87 = ($86<<24>>24)==(0); - if (!($87)) { - $88 = HEAP16[$8>>1]|0; - $89 = (($88&65535) % 3)&-1; - $90 = $89&65535; - $trunc200 = $89&255; - $trunc200$clear = $trunc200 & 3; - switch ($trunc200$clear<<24>>24) { - case 2: { - $91 = HEAP16[$1>>1]|0; - $92 = ($91<<16>>16)==(1); - if ($92) { - HEAP32[$24>>2] = 1; - $93 = ($86&255) >>> 4; - $94 = (((($21) + (($23*304)|0)|0)) + 80|0); - HEAP8[$94>>0] = $93; - _jar_xm_update_frequency($0,$22); - break L34; - } else { - $96 = $91; - label = 34; - } - break; - } - case 1: { - $$pr = HEAP16[$1>>1]|0; - $96 = $$pr; - label = 34; - break; - } - case 0: { - break; - } - default: { - break L34; - } - } - if ((label|0) == 34) { - label = 0; - $95 = ($96<<16>>16)==(0); - if ($95) { - HEAP32[$24>>2] = 0; - $97 = (((($21) + (($23*304)|0)|0)) + 80|0); - HEAP8[$97>>0] = 0; - _jar_xm_update_frequency($0,$22); - break L34; - } - } - $98 = HEAP32[$52>>2]|0; - $99 = ((($98)) + 4|0); - $100 = HEAP8[$99>>0]|0; - $101 = HEAP16[$1>>1]|0; - $102 = $101&65535; - $103 = (($102) - ($90))|0; - $104 = $103&65535; - _jar_xm_arpeggio($0,$22,$100,$104); - } - break; - } - case 1: { - $105 = HEAP16[$1>>1]|0; - $106 = ($105<<16>>16)==(0); - if (!($106)) { - $107 = (((($21) + (($23*304)|0)|0)) + 85|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = (0 - ($109))|0; - $111 = (+($110|0)); - _jar_xm_pitch_slide($0,$22,$111); - } - break; - } - case 2: { - $112 = HEAP16[$1>>1]|0; - $113 = ($112<<16>>16)==(0); - if (!($113)) { - $114 = (((($21) + (($23*304)|0)|0)) + 86|0); - $115 = HEAP8[$114>>0]|0; - $116 = (+($115&255)); - _jar_xm_pitch_slide($0,$22,$116); - } - break; - } - case 3: { - $117 = HEAP16[$1>>1]|0; - $118 = ($117<<16>>16)==(0); - if (!($118)) { - _jar_xm_tone_portamento($0,$22); - } - break; - } - case 4: { - $119 = HEAP16[$1>>1]|0; - $120 = ($119<<16>>16)==(0); - if (!($120)) { - HEAP32[$36>>2] = 1; - $121 = (((($21) + (($23*304)|0)|0)) + 112|0); - $122 = HEAP8[$121>>0]|0; - $123 = (((($21) + (($23*304)|0)|0)) + 114|0); - $124 = HEAP16[$123>>1]|0; - $125 = (($124) + 1)<<16>>16; - HEAP16[$123>>1] = $125; - _jar_xm_vibrato($0,$22,$122,$124); - } - break; - } - case 5: { - $126 = HEAP16[$1>>1]|0; - $127 = ($126<<16>>16)==(0); - if (!($127)) { - $128 = (((($21) + (($23*304)|0)|0)) + 81|0); - _jar_xm_tone_portamento($0,$22); - $129 = HEAP8[$128>>0]|0; - _jar_xm_volume_slide($22,$129); - } - break; - } - case 6: { - $130 = HEAP16[$1>>1]|0; - $131 = ($130<<16>>16)==(0); - if (!($131)) { - HEAP32[$36>>2] = 1; - $132 = (((($21) + (($23*304)|0)|0)) + 112|0); - $133 = HEAP8[$132>>0]|0; - $134 = (((($21) + (($23*304)|0)|0)) + 114|0); - $135 = HEAP16[$134>>1]|0; - $136 = (($135) + 1)<<16>>16; - HEAP16[$134>>1] = $136; - _jar_xm_vibrato($0,$22,$133,$135); - $137 = (((($21) + (($23*304)|0)|0)) + 81|0); - $138 = HEAP8[$137>>0]|0; - _jar_xm_volume_slide($22,$138); - } - break; - } - case 7: { - $139 = HEAP16[$1>>1]|0; - $140 = ($139<<16>>16)==(0); - if (!($140)) { - $141 = (((($21) + (($23*304)|0)|0)) + 128|0); - $142 = HEAP8[$141>>0]|0; - $143 = (((($21) + (($23*304)|0)|0)) + 129|0); - $144 = HEAP8[$143>>0]|0; - $145 = (($144) + 1)<<24>>24; - HEAP8[$143>>0] = $145; - $146 = $144&255; - _jar_xm_tremolo($22,$142,$146); - } - break; - } - case 10: { - $147 = HEAP16[$1>>1]|0; - $148 = ($147<<16>>16)==(0); - if (!($148)) { - $149 = (((($21) + (($23*304)|0)|0)) + 81|0); - $150 = HEAP8[$149>>0]|0; - _jar_xm_volume_slide($22,$150); - } - break; - } - case 14: { - $151 = ((($82)) + 4|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $trunc199 = ($152&255) >>> 4; - $trunc199$clear = $trunc199 & 15; - switch ($trunc199$clear<<24>>24) { - case 9: { - $154 = HEAP16[$1>>1]|0; - $155 = $154&65535; - $156 = ($154<<16>>16)==(0); - if ($156) { - break L34; - } - $157 = $153 & 15; - $158 = ($157|0)==(0); - if ($158) { - break L34; - } - $159 = (($155>>>0) % ($157>>>0))&-1; - $160 = ($159|0)==(0); - if (!($160)) { - break L34; - } - _jar_xm_trigger_note($0,$22,0); - _jar_xm_envelopes($22); - break L34; - break; - } - case 12: { - $161 = $153 & 15; - $162 = HEAP16[$1>>1]|0; - $163 = $162&65535; - $164 = ($161|0)==($163|0); - if (!($164)) { - break L34; - } - _jar_xm_cut_note($22); - break L34; - break; - } - case 13: { - $165 = (((($21) + (($23*304)|0)|0)) + 97|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $168 = HEAP16[$1>>1]|0; - $169 = $168&65535; - $170 = ($167|0)==($169|0); - if (!($170)) { - break L34; - } - _jar_xm_handle_note_and_instrument($0,$22,$82); - _jar_xm_envelopes($22); - break L34; - break; - } - default: { - break L34; - } - } - break; - } - case 17: { - $171 = HEAP16[$1>>1]|0; - $172 = ($171<<16>>16)==(0); - if (!($172)) { - $173 = (((($21) + (($23*304)|0)|0)) + 83|0); - $174 = HEAP8[$173>>0]|0; - $175 = $174&255; - $176 = $175 & 240; - $177 = ($176|0)!=(0); - $$not = $177 ^ 1; - $178 = $175 & 15; - $179 = ($178|0)==(0); - $or$cond = $179 | $$not; - if ($or$cond) { - $180 = +HEAPF32[$9>>2]; - if ($177) { - $181 = $175 >>> 4; - $182 = (+($181|0)); - $183 = $182 * 0.015625; - $184 = $183 + $180; - $185 = $184 > 1.0; - $storemerge198 = $185 ? 1.0 : $184; - HEAPF32[$9>>2] = $storemerge198; - break L34; - } else { - $186 = (+($178|0)); - $187 = $186 * 0.015625; - $188 = $180 - $187; - $189 = $188 < 0.0; - $storemerge = $189 ? 0.0 : $188; - HEAPF32[$9>>2] = $storemerge; - break L34; - } - } - } - break; - } - case 20: { - $190 = HEAP16[$1>>1]|0; - $191 = $190&65535; - $192 = ((($82)) + 4|0); - $193 = HEAP8[$192>>0]|0; - $194 = $193&255; - $195 = ($191|0)==($194|0); - if ($195) { - _jar_xm_key_off($22); - } - break; - } - case 25: { - $196 = HEAP16[$1>>1]|0; - $197 = ($196<<16>>16)==(0); - if (!($197)) { - $198 = (((($21) + (($23*304)|0)|0)) + 84|0); - $199 = HEAP8[$198>>0]|0; - _jar_xm_panning_slide($22,$199); - } - break; - } - case 27: { - $200 = HEAP16[$1>>1]|0; - $201 = $200&65535; - $202 = ($200<<16>>16)==(0); - if (!($202)) { - $203 = (((($21) + (($23*304)|0)|0)) + 96|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204&255; - $206 = $205 & 15; - $207 = ($206|0)==(0); - if (!($207)) { - $208 = (($201>>>0) % ($206>>>0))&-1; - $209 = ($208|0)==(0); - if ($209) { - $210 = (((($21) + (($23*304)|0)|0)) + 40|0); - $211 = +HEAPF32[$210>>2]; - $212 = $205 >>> 4; - $213 = (2980 + ($212<<2)|0); - $214 = +HEAPF32[$213>>2]; - $215 = $211 * $214; - $216 = (3044 + ($212<<2)|0); - $217 = +HEAPF32[$216>>2]; - $218 = $215 + $217; - $219 = $218 > 1.0; - if ($219) { - $$0196 = 1.0; - } else { - $220 = $218 < 0.0; - if ($220) { - $$0196 = 0.0; - } else { - $$0196 = $218; - } - } - _jar_xm_trigger_note($0,$22,0); - HEAPF32[$210>>2] = $$0196; - } - } - } - break; - } - case 29: { - $221 = HEAP16[$1>>1]|0; - $222 = ($221<<16>>16)==(0); - if (!($222)) { - $223 = $221&65535; - $224 = (($223) + -1)|0; - $225 = (((($21) + (($23*304)|0)|0)) + 136|0); - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - $228 = $227 >>> 4; - $229 = $227 & 15; - $230 = (($229) + 2)|0; - $231 = (($230) + ($228))|0; - $232 = (($224|0) % ($231|0))&-1; - $233 = ($232|0)>($228|0); - $234 = $233&1; - $235 = (((($21) + (($23*304)|0)|0)) + 140|0); - HEAP32[$235>>2] = $234; - } - break; - } - default: { - } - } - } while(0); - $236 = (((($21) + (($23*304)|0)|0)) + 44|0); - $237 = +HEAPF32[$236>>2]; - $238 = (((($21) + (($23*304)|0)|0)) + 64|0); - $239 = +HEAPF32[$238>>2]; - $240 = $239 + -0.5; - $241 = $237 + -0.5; - $242 = (+Math_abs((+$241))); - $243 = 0.5 - $242; - $244 = $240 * $243; - $245 = $244 * 2.0; - $246 = $237 + $245; - $247 = (((($21) + (($23*304)|0)|0)) + 140|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)==(0); - if ($249) { - $250 = (((($21) + (($23*304)|0)|0)) + 40|0); - $251 = +HEAPF32[$250>>2]; - $252 = (((($21) + (($23*304)|0)|0)) + 132|0); - $253 = +HEAPF32[$252>>2]; - $254 = $251 + $253; - $255 = $254 > 1.0; - if ($255) { - $$0 = 1.0; - } else { - $256 = $254 < 0.0; - if ($256) { - $$0 = 0.0; - } else { - $$0 = $254; - } - } - $257 = (((($21) + (($23*304)|0)|0)) + 56|0); - $258 = +HEAPF32[$257>>2]; - $259 = (((($21) + (($23*304)|0)|0)) + 60|0); - $260 = +HEAPF32[$259>>2]; - $261 = $258 * $260; - $262 = $$0 * $261; - $$1 = $262; - } else { - $$1 = 0.0; - } - $263 = (((($21) + (($23*304)|0)|0)) + 156|0); - HEAPF32[$263>>2] = $246; - $264 = (((($21) + (($23*304)|0)|0)) + 160|0); - HEAPF32[$264>>2] = $$1; - $265 = (($$0195202) + 1)<<24>>24; - $266 = $265&255; - $267 = HEAP16[$4>>1]|0; - $268 = $267&65535; - $269 = ($266>>>0)<($268>>>0); - if ($269) { - $$0195202 = $265;$23 = $266; - } else { - break L4; - } - } - } - } while(0); - $10 = HEAP16[$1>>1]|0; - $11 = (($10) + 1)<<16>>16; - HEAP16[$1>>1] = $11; - $12 = $11&65535; - $13 = ((($0)) + 328|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = ((($0)) + 378|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = (($18) + ($15))|0; - $20 = ($12>>>0)<($19>>>0); - if ($20) { - $270 = ((($0)) + 324|0); - $271 = HEAP32[$270>>2]|0; - $272 = (+($271>>>0)); - $273 = ((($0)) + 330|0); - $274 = HEAP16[$273>>1]|0; - $275 = (+($274&65535)); - $276 = $275 * 0.40000000596046448; - $277 = $272 / $276; - $278 = ((($0)) + 352|0); - $279 = +HEAPF32[$278>>2]; - $280 = $279 + $277; - HEAPF32[$278>>2] = $280; - return; - } - HEAP16[$1>>1] = 0; - HEAP16[$16>>1] = 0; - $270 = ((($0)) + 324|0); - $271 = HEAP32[$270>>2]|0; - $272 = (+($271>>>0)); - $273 = ((($0)) + 330|0); - $274 = HEAP16[$273>>1]|0; - $275 = (+($274&65535)); - $276 = $275 * 0.40000000596046448; - $277 = $272 / $276; - $278 = ((($0)) + 352|0); - $279 = +HEAPF32[$278>>2]; - $280 = $279 + $277; - HEAPF32[$278>>2] = $280; - return; -} -function _jar_xm_next_of_sample($0) { - $0 = $0|0; - var $$0100 = 0.0, $$0101 = 0.0, $$1 = 0.0, $$pr = 0.0, $$sink = 0.0, $$sink$p = 0.0, $$sink103 = 0, $$sink105 = 0, $$sink2 = 0, $1 = 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.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0; - var $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0.0; - var $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $storemerge106 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - $4 = ((($0)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = ((($0)) + 20|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 < 0.0; - if (!($9)) { - $20 = ((($5)) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - $$1 = 0.0; - return (+$$1); - } - $23 = (~~(($8))>>>0); - $24 = (($23) + 1)|0; - $25 = (+($23>>>0)); - $26 = $8 - $25; - $27 = ((($5)) + 72|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + ($23<<2)|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($5)) + 48|0); - $32 = HEAP32[$31>>2]|0; - L8: do { - switch ($32|0) { - case 0: { - $33 = ($24>>>0)<($21>>>0); - if ($33) { - $34 = (($28) + ($24<<2)|0); - $35 = +HEAPF32[$34>>2]; - $135 = $35; - } else { - $135 = 0.0; - } - $36 = ((($0)) + 32|0); - $37 = +HEAPF32[$36>>2]; - $38 = +HEAPF32[$7>>2]; - $39 = $37 + $38; - HEAPF32[$7>>2] = $39; - $40 = HEAP32[$4>>2]|0; - $41 = ((($40)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = (+($42>>>0)); - $44 = !($39 >= $43); - if ($44) { - $$0100 = $30;$$0101 = $135; - } else { - HEAPF32[$7>>2] = -1.0; - $$0100 = $30;$$0101 = $135; - } - break; - } - case 1: { - $45 = ((($5)) + 36|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($24|0)==($46|0); - if ($47) { - $48 = ((($5)) + 28|0); - $49 = HEAP32[$48>>2]|0; - $51 = $49; - } else { - $51 = $24; - } - $50 = (($28) + ($51<<2)|0); - $52 = +HEAPF32[$50>>2]; - $53 = ((($0)) + 32|0); - $54 = +HEAPF32[$53>>2]; - $55 = +HEAPF32[$7>>2]; - $56 = $54 + $55; - HEAPF32[$7>>2] = $56; - $57 = HEAP32[$4>>2]|0; - $58 = ((($57)) + 36|0); - $59 = HEAP32[$58>>2]|0; - $60 = (+($59>>>0)); - $61 = !($56 >= $60); - if ($61) { - $$0100 = $30;$$0101 = $52; - } else { - $62 = HEAP32[$4>>2]|0; - $63 = ((($62)) + 36|0); - $64 = HEAP32[$63>>2]|0; - $65 = (+($64>>>0)); - $67 = $57;$storemerge106 = $56; - while(1) { - $66 = ((($67)) + 32|0); - $68 = HEAP32[$66>>2]|0; - $69 = (+($68>>>0)); - $70 = $storemerge106 - $69; - $71 = !($70 >= $65); - if ($71) { - break; - } else { - $67 = $62;$storemerge106 = $70; - } - } - HEAPF32[$7>>2] = $70; - $$0100 = $30;$$0101 = $52; - } - break; - } - case 2: { - $72 = ((($0)) + 36|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)!=(0); - $75 = ((($0)) + 32|0); - $76 = +HEAPF32[$75>>2]; - $77 = -$76; - $$sink$p = $74 ? $76 : $77; - $$sink = $8 + $$sink$p; - HEAPF32[$7>>2] = $$sink; - if ($74) { - $78 = HEAP32[$4>>2]|0; - $79 = ((($78)) + 36|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($24>>>0)>=($80>>>0); - $82 = ((($78)) + 72|0); - $83 = HEAP32[$82>>2]|0; - $$sink2 = $81 ? $23 : $24; - $84 = (($83) + ($$sink2<<2)|0); - $85 = +HEAPF32[$84>>2]; - $86 = (+($80>>>0)); - $87 = !($$sink >= $86); - if (!($87)) { - $88 = $80 << 1; - $89 = (+($88>>>0)); - HEAP32[$72>>2] = 0; - $90 = +HEAPF32[$7>>2]; - $91 = $89 - $90; - HEAPF32[$7>>2] = $91; - } - $92 = +HEAPF32[$7>>2]; - $93 = ((($78)) + 24|0); - $94 = HEAP32[$93>>2]|0; - $95 = (+($94>>>0)); - $96 = !($92 >= $95); - if ($96) { - $$0100 = $30;$$0101 = $85; - break L8; - } - $97 = (($94) + -1)|0; - $98 = (+($97>>>0)); - $99 = $92 - $98; - HEAP32[$72>>2] = 0; - HEAPF32[$7>>2] = $99; - $$0100 = $30;$$0101 = $85; - break L8; - } - $100 = ($23|0)==(0); - if ($100) { - label = 24; - } else { - $101 = (($23) + -1)|0; - $102 = HEAP32[$4>>2]|0; - $103 = ((($102)) + 28|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($101>>>0)>($104>>>0); - if ($105) { - $$sink103 = $101;$$sink105 = $102; - } else { - label = 24; - } - } - if ((label|0) == 24) { - $106 = HEAP32[$4>>2]|0; - $$sink103 = $23;$$sink105 = $106; - } - $107 = ((($$sink105)) + 72|0); - $108 = HEAP32[$107>>2]|0; - $109 = (($108) + ($$sink103<<2)|0); - $110 = +HEAPF32[$109>>2]; - $111 = +HEAPF32[$7>>2]; - $112 = HEAP32[$4>>2]|0; - $113 = ((($112)) + 28|0); - $114 = HEAP32[$113>>2]|0; - $115 = (+($114>>>0)); - $116 = !($111 <= $115); - $117 = $114 << 1; - $118 = (+($117>>>0)); - $119 = $118 - $111; - if ($116) { - $$pr = +HEAPF32[$7>>2]; - $121 = $$pr; - } else { - HEAP32[$72>>2] = 1; - HEAPF32[$7>>2] = $119; - $121 = $119; - } - $120 = !($121 <= 0.0); - if ($120) { - $$0100 = $110;$$0101 = $30; - } else { - HEAP32[$72>>2] = 1; - HEAPF32[$7>>2] = 0.0; - $$0100 = $110;$$0101 = $30; - } - break; - } - default: { - $$0100 = $30;$$0101 = 0.0; - } - } - } while(0); - $122 = $$0101 - $$0100; - $123 = $26 * $122; - $124 = $$0100 + $123; - $125 = ((($0)) + 164|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($126>>>0)<(32); - if (!($127)) { - $$1 = $124; - return (+$$1); - } - $128 = (+($126>>>0)); - $129 = $128 * 0.03125; - $130 = (((($0)) + 168|0) + ($126<<2)|0); - $131 = +HEAPF32[$130>>2]; - $132 = $124 - $131; - $133 = $129 * $132; - $134 = $131 + $133; - $$1 = $134; - return (+$$1); - } - } - } - $10 = ((($0)) + 164|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11>>>0)<(32); - if (!($12)) { - $$1 = 0.0; - return (+$$1); - } - $13 = (+($11>>>0)); - $14 = $13 * 0.03125; - $15 = (((($0)) + 168|0) + ($11<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = 0.0 - $16; - $18 = $14 * $17; - $19 = $16 + $18; - $$1 = $19; - return (+$$1); -} -function _jar_xm_row($0) { - $0 = $0|0; - var $$0$ = 0, $$06061 = 0, $$062 = 0, $$1 = 0, $$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; - 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, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 368|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - $11 = ((($0)) + 372|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0); - if (!($13)) { - $14 = ((($0)) + 348|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($15) + 1)<<24>>24; - HEAP8[$14>>0] = $16; - $17 = ((($0)) + 377|0); - $18 = HEAP8[$17>>0]|0; - $19 = ((($0)) + 349|0); - HEAP8[$19>>0] = $18; - HEAP32[$11>>2] = 0; - HEAP8[$17>>0] = 0; - _jar_xm_post_pattern_change($0); - } - } else { - $4 = ((($0)) + 376|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 348|0); - HEAP8[$6>>0] = $5; - $7 = ((($0)) + 377|0); - $8 = HEAP8[$7>>0]|0; - $9 = ((($0)) + 349|0); - HEAP8[$9>>0] = $8; - HEAP32[$1>>2] = 0; - $10 = ((($0)) + 372|0); - HEAP32[$10>>2] = 0; - HEAP8[$7>>0] = 0; - _jar_xm_post_pattern_change($0); - } - $20 = ((($0)) + 316|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($0)) + 348|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = (((($0)) + 60|0) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ((($0)) + 50|0); - $29 = HEAP16[$28>>1]|0; - $30 = ($29<<16>>16)==(0); - if ($30) { - label = 15; - } else { - $31 = $29&65535; - $32 = (((($21) + ($27<<3)|0)) + 4|0); - $33 = ((($0)) + 349|0); - $34 = ((($0)) + 388|0); - $$06061 = 0;$$062 = 0;$40 = $31;$43 = 0; - while(1) { - $36 = HEAP32[$32>>2]|0; - $37 = HEAP8[$33>>0]|0; - $38 = $37&255; - $39 = Math_imul($38, $40)|0; - $41 = (($36) + (($39*5)|0)|0); - $42 = (($41) + (($43*5)|0)|0); - $44 = HEAP32[$34>>2]|0; - $45 = (($44) + (($43*304)|0)|0); - $46 = (((($44) + (($43*304)|0)|0)) + 16|0); - HEAP32[$46>>2] = $42; - $47 = ((($42)) + 3|0); - $48 = HEAP8[$47>>0]|0; - $49 = ($48<<24>>24)==(14); - if ($49) { - $50 = ((($42)) + 4|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $$mask = $52 & 240; - $53 = ($$mask|0)==(208); - if ($53) { - $54 = $52 & 15; - $55 = $54&255; - $56 = (((($44) + (($43*304)|0)|0)) + 97|0); - HEAP8[$56>>0] = $55; - } else { - label = 10; - } - } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - _jar_xm_handle_note_and_instrument($0,$45,$42); - } - $57 = ($$062|0)==(0); - if ($57) { - $58 = (((($44) + (($43*304)|0)|0)) + 99|0); - $59 = HEAP8[$58>>0]|0; - $60 = ($59<<24>>24)==(0); - $$0$ = $60 ? $$062 : 1; - $$1 = $$0$; - } else { - $$1 = $$062; - } - $61 = (($$06061) + 1)<<24>>24; - $62 = $61&255; - $63 = HEAP16[$28>>1]|0; - $64 = $63&65535; - $65 = ($62>>>0)<($64>>>0); - if ($65) { - $$06061 = $61;$$062 = $$1;$40 = $64;$43 = $62; - } else { - break; - } - } - $35 = ($$1|0)==(0); - if ($35) { - label = 15; - } - } - if ((label|0) == 15) { - $66 = ((($0)) + 380|0); - $67 = HEAP32[$66>>2]|0; - $68 = HEAP8[$22>>0]|0; - $69 = $68&255; - $70 = $69 << 8; - $71 = ((($0)) + 349|0); - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - $74 = $70 | $73; - $75 = (($67) + ($74)|0); - $76 = HEAP8[$75>>0]|0; - $77 = (($76) + 1)<<24>>24; - HEAP8[$75>>0] = $77; - $78 = ((($0)) + 384|0); - HEAP8[$78>>0] = $76; - } - $79 = ((($0)) + 349|0); - $80 = HEAP8[$79>>0]|0; - $81 = (($80) + 1)<<24>>24; - HEAP8[$79>>0] = $81; - $82 = HEAP32[$1>>2]|0; - $83 = ($82|0)==(0); - if (!($83)) { - return; - } - $84 = ((($0)) + 372|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)==(0); - if (!($86)) { - return; - } - $87 = $81&255; - $88 = (($21) + ($27<<3)|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = ($87>>>0)>=($90>>>0); - $92 = ($81<<24>>24)==(0); - $or$cond = $92 | $91; - if (!($or$cond)) { - return; - } - $93 = HEAP8[$22>>0]|0; - $94 = (($93) + 1)<<24>>24; - HEAP8[$22>>0] = $94; - $95 = ((($0)) + 377|0); - $96 = HEAP8[$95>>0]|0; - HEAP8[$79>>0] = $96; - HEAP8[$95>>0] = 0; - _jar_xm_post_pattern_change($0); - return; -} -function _jar_xm_envelopes($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.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, $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; - $3 = ($2|0)==(0|0); - if ($3) { - return; - } - $4 = ((($2)) + 176|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if (!($6)) { - $7 = ((($0)) + 52|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $10 = ((($2)) + 260|0); - $11 = HEAP16[$10>>1]|0; - $12 = (+($11&65535)); - $13 = $12 * 1.52587890625E-5; - $14 = ((($0)) + 56|0); - $15 = +HEAPF32[$14>>2]; - $16 = $15 - $13; - HEAPF32[$14>>2] = $16; - $17 = $16 < 0.0; - if ($17) { - HEAPF32[$14>>2] = 0.0; - } - } - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 124|0); - $20 = ((($0)) + 68|0); - $21 = ((($0)) + 60|0); - _jar_xm_envelope_tick($0,$19,$20,$21); - } - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 240|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - return; - } - $26 = ((($22)) + 188|0); - $27 = ((($0)) + 70|0); - $28 = ((($0)) + 64|0); - _jar_xm_envelope_tick($0,$26,$27,$28); - return; -} -function _jar_xm_autovibrato($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - return; - } - $5 = ((($3)) + 257|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 48|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ((($3)) + 256|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($10>>>0)<($13>>>0); - $15 = (+($9&65535)); - $16 = (+($12&255)); - $17 = $15 / $16; - $18 = $17 + 0.0; - $$ = $14 ? $18 : 1.0; - $19 = (($9) + 1)<<16>>16; - HEAP16[$8>>1] = $19; - $20 = ((($3)) + 258|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = Math_imul($22, $10)|0; - $24 = $23 >>> 2; - $25 = ((($3)) + 252|0); - $26 = HEAP32[$25>>2]|0; - $27 = $24&255; - $28 = (+_jar_xm_waveform($26,$27)); - $29 = $28 * 0.25; - $30 = HEAP8[$5>>0]|0; - $31 = (+($30&255)); - $32 = $29 * $31; - $33 = $32 / 15.0; - $34 = $$ * $33; - $35 = ((($1)) + 72|0); - HEAPF32[$35>>2] = $34; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_update_frequency($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 24|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($1)) + 80|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)==(0); - if ($6) { - $8 = ((($1)) + 116|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($1)) + 72|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 + $11; - $13 = $12; - } else { - $7 = (+($5&255)); - $13 = $7; - } - $14 = (+_jar_xm_frequency($0,$3,$13)); - $15 = ((($1)) + 28|0); - HEAPF32[$15>>2] = $14; - $16 = ((($0)) + 324|0); - $17 = HEAP32[$16>>2]|0; - $18 = (+($17>>>0)); - $19 = $14 / $18; - $20 = ((($1)) + 32|0); - HEAPF32[$20>>2] = $19; - return; -} -function _jar_xm_volume_slide($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1&255; - $3 = $2 & 240; - $4 = ($3|0)!=(0); - $$not = $4 ^ 1; - $5 = $2 & 15; - $6 = ($5|0)==(0); - $or$cond = $6 | $$not; - if (!($or$cond)) { - return; - } - $7 = ((($0)) + 40|0); - $8 = +HEAPF32[$7>>2]; - if ($4) { - $9 = $2 >>> 4; - $10 = (+($9|0)); - $11 = $10 * 0.015625; - $12 = $11 + $8; - HEAPF32[$7>>2] = $12; - $13 = $12 > 1.0; - if (!($13)) { - return; - } - HEAPF32[$7>>2] = 1.0; - return; - } else { - $14 = (+($5|0)); - $15 = $14 * 0.015625; - $16 = $8 - $15; - HEAPF32[$7>>2] = $16; - $17 = $16 < 0.0; - if (!($17)) { - return; - } - HEAPF32[$7>>2] = 0.0; - return; - } -} -function _jar_xm_vibrato($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $3&65535; - $5 = $2&255; - $6 = $5 >>> 4; - $7 = Math_imul($4, $6)|0; - $8 = ((($1)) + 104|0); - $9 = HEAP32[$8>>2]|0; - $10 = $7&255; - $11 = (+_jar_xm_waveform($9,$10)); - $12 = $11 * 2.0; - $13 = $5 & 15; - $14 = (+($13|0)); - $15 = $14 * $12; - $16 = $15 / 15.0; - $17 = ((($1)) + 116|0); - HEAPF32[$17>>2] = $16; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_panning_slide($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1&255; - $3 = $2 & 240; - $4 = ($3|0)!=(0); - $$not = $4 ^ 1; - $5 = $2 & 15; - $6 = ($5|0)==(0); - $or$cond = $6 | $$not; - if (!($or$cond)) { - return; - } - $7 = ((($0)) + 44|0); - $8 = +HEAPF32[$7>>2]; - if ($4) { - $9 = $2 >>> 4; - $10 = (+($9|0)); - $11 = $10 / 255.0; - $12 = $11 + $8; - HEAPF32[$7>>2] = $12; - $13 = $12 > 1.0; - if (!($13)) { - return; - } - HEAPF32[$7>>2] = 1.0; - return; - } else { - $14 = (+($5|0)); - $15 = $14 / 255.0; - $16 = $8 - $15; - HEAPF32[$7>>2] = $16; - $17 = $16 < 0.0; - if (!($17)) { - return; - } - HEAPF32[$7>>2] = 0.0; - return; - } -} -function _jar_xm_tone_portamento($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0; - var $29 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 92|0); - $3 = +HEAPF32[$2>>2]; - $4 = $3 == 0.0; - if ($4) { - return; - } - $5 = ((($1)) + 24|0); - $6 = +HEAPF32[$5>>2]; - $7 = $6 != $3; - if (!($7)) { - return; - } - $8 = $6 > $3; - if ($8) { - $9 = ((($0)) + 56|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0); - $12 = $11 ? 4.0 : 1.0; - $13 = ((($1)) + 91|0); - $14 = HEAP8[$13>>0]|0; - $15 = (+($14&255)); - $16 = $12 * $15; - $17 = $6 - $16; - HEAPF32[$5>>2] = $17; - $18 = $17 < $3; - if ($18) { - HEAPF32[$5>>2] = $3; - } - } else { - $19 = $6 < $3; - if ($19) { - $20 = ((($0)) + 56|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - $23 = $22 ? 4.0 : 1.0; - $24 = ((($1)) + 91|0); - $25 = HEAP8[$24>>0]|0; - $26 = (+($25&255)); - $27 = $23 * $26; - $28 = $6 + $27; - HEAPF32[$5>>2] = $28; - $29 = $28 > $3; - if ($29) { - HEAPF32[$5>>2] = $3; - } - } - } - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_arpeggio($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (($3&65535) % 3)&-1; - $trunc = $4&255; - $trunc$clear = $trunc & 3; - switch ($trunc$clear<<24>>24) { - case 0: { - $5 = ((($1)) + 76|0); - HEAP32[$5>>2] = 0; - $$sink = 0; - break; - } - case 2: { - $6 = ((($1)) + 76|0); - HEAP32[$6>>2] = 1; - $7 = ($2&255) >>> 4; - $$sink = $7; - break; - } - case 1: { - $8 = ((($1)) + 76|0); - HEAP32[$8>>2] = 1; - $9 = $2 & 15; - $$sink = $9; - break; - } - default: { - _jar_xm_update_frequency($0,$1); - return; - } - } - $10 = ((($1)) + 80|0); - HEAP8[$10>>0] = $$sink; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_pitch_slide($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 56|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - $6 = $2 * 4.0; - $$ = $5 ? $6 : $2; - $7 = ((($1)) + 24|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 + $$; - $10 = $9 < 0.0; - $storemerge = $10 ? 0.0 : $9; - HEAPF32[$7>>2] = $storemerge; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_tremolo($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2&65535; - $4 = $1&255; - $5 = $4 >>> 4; - $6 = Math_imul($3, $5)|0; - $7 = ((($0)) + 120|0); - $8 = HEAP32[$7>>2]|0; - $9 = $6&255; - $10 = (+_jar_xm_waveform($8,$9)); - $11 = $4 & 15; - $12 = (+($11|0)); - $13 = $12 * $10; - $14 = -$13; - $15 = $14 / 15.0; - $16 = ((($0)) + 132|0); - HEAPF32[$16>>2] = $15; - return; -} -function _jar_xm_trigger_note($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.0, $39 = 0.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, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2 & 4; - $4 = ($3|0)==(0); - if ($4) { - $5 = ((($1)) + 20|0); - HEAPF32[$5>>2] = 0.0; - $6 = ((($1)) + 36|0); - HEAP32[$6>>2] = 1; - } - $7 = ((($1)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if (!($9)) { - $10 = $2 & 1; - $11 = ($10|0)==(0); - if ($11) { - $12 = ((($8)) + 40|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($1)) + 40|0); - HEAP32[$14>>2] = $13; - } - $15 = ((($8)) + 52|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($1)) + 44|0); - HEAP32[$17>>2] = $16; - } - $18 = ((($1)) + 52|0); - HEAP32[$18>>2] = 1; - $19 = ((($1)) + 60|0); - HEAPF32[$19>>2] = 1.0; - $20 = ((($1)) + 56|0); - HEAPF32[$20>>2] = 1.0; - $21 = ((($1)) + 64|0); - HEAPF32[$21>>2] = 0.5; - $22 = ((($1)) + 70|0); - HEAP16[$22>>1] = 0; - $23 = ((($1)) + 68|0); - HEAP16[$23>>1] = 0; - $24 = ((($1)) + 116|0); - HEAPF32[$24>>2] = 0.0; - $25 = ((($1)) + 132|0); - HEAPF32[$25>>2] = 0.0; - $26 = ((($1)) + 140|0); - HEAP32[$26>>2] = 0; - $27 = ((($1)) + 48|0); - HEAP16[$27>>1] = 0; - $28 = ((($1)) + 108|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0); - if (!($30)) { - $31 = ((($1)) + 114|0); - HEAP16[$31>>1] = 0; - } - $32 = ((($1)) + 124|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)==(0); - if (!($34)) { - $35 = ((($1)) + 129|0); - HEAP8[$35>>0] = 0; - } - $36 = $2 & 2; - $37 = ($36|0)==(0); - if ($37) { - $38 = +HEAPF32[$1>>2]; - $39 = (+_jar_xm_period($0,$38)); - $40 = ((($1)) + 24|0); - HEAPF32[$40>>2] = $39; - _jar_xm_update_frequency($0,$1); - } - $41 = ((($0)) + 360|0); - $42 = $41; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = ((($1)) + 144|0); - $49 = $48; - $50 = $49; - HEAP32[$50>>2] = $44; - $51 = (($49) + 4)|0; - $52 = $51; - HEAP32[$52>>2] = $47; - $53 = ((($1)) + 8|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0|0); - if (!($55)) { - $56 = ((($54)) + 264|0); - $57 = $56; - $58 = $57; - HEAP32[$58>>2] = $44; - $59 = (($57) + 4)|0; - $60 = $59; - HEAP32[$60>>2] = $47; - } - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - return; - } - $63 = ((($61)) + 64|0); - $64 = $63; - $65 = $64; - HEAP32[$65>>2] = $44; - $66 = (($64) + 4)|0; - $67 = $66; - HEAP32[$67>>2] = $47; - return; -} -function _jar_xm_cut_note($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 40|0); - HEAPF32[$1>>2] = 0.0; - return; -} -function _jar_xm_handle_note_and_instrument($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0275 = 0, $$lobit = 0, $$lobit262 = 0, $$mask = 0, $$mask265 = 0, $$mask266 = 0, $$off = 0, $$off273 = 0, $$off274 = 0, $$old1 = 0, $$sink = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0.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.0, $133 = 0.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.0, $202 = 0.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.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.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.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0.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.0, $288 = 0, $289 = 0; - var $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.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; - var $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, $324 = 0; - var $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, $342 = 0; - var $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, $360 = 0; - var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0.0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; - var $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, $397 = 0; - var $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.0, $411 = 0.0, $412 = 0, $413 = 0, $414 = 0; - var $415 = 0, $416 = 0, $417 = 0, $418 = 0.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.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.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.0, $97 = 0, $98 = 0, $99 = 0.0, $exitcond = 0, $or$cond = 0, $phitmp = 0.0, $phitmp260 = 0.0, $phitmp263 = 0.0, $phitmp264 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc259 = 0, $trunc259$clear = 0, $trunc261 = 0, $trunc261$clear = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - do { - if (!($5)) { - $6 = ((($1)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($7)) + 3|0); - $9 = HEAP8[$8>>0]|0; - switch ($9<<24>>24) { - case 5: case 3: { - label = 4; - break; - } - default: { - $10 = ((($7)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11&255)>(239); - if ($12) { - label = 4; - } - } - } - if ((label|0) == 4) { - $13 = ((($1)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if (!($15)) { - $16 = ((($1)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - _jar_xm_trigger_note($0,$1,6); - break; - } - } - } - $19 = HEAP8[$3>>0]|0; - $20 = $19&255; - $21 = ((($0)) + 54|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = ($20>>>0)>($23>>>0); - if ($24) { - _jar_xm_cut_note($1); - $25 = ((($1)) + 8|0); - HEAP32[$25>>2] = 0; - $26 = ((($1)) + 12|0); - HEAP32[$26>>2] = 0; - break; - } - $27 = ((($0)) + 320|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($20) + -1)|0; - $30 = (($28) + (($29*280)|0)|0); - $31 = ((($1)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = HEAP8[$2>>0]|0; - $33 = ($32<<24>>24)==(0); - if ($33) { - $34 = ((($1)) + 12|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - if (!($36)) { - _jar_xm_trigger_note($0,$1,4); - } - } - } - } while(0); - $37 = HEAP8[$2>>0]|0; - $$off = (($37) + -1)<<24>>24; - $38 = ($$off&255)<(96); - do { - if ($38) { - $39 = ((($1)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($1)) + 16|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($42)) + 3|0); - $44 = HEAP8[$43>>0]|0; - $$old1 = ($40|0)!=(0|0); - switch ($44<<24>>24) { - case 5: case 3: { - if ($$old1) { - label = 16; - } - break; - } - default: { - $45 = ((($42)) + 2|0); - $46 = HEAP8[$45>>0]|0; - $47 = ($46&255)>(239); - $or$cond = $$old1 & $47; - if ($or$cond) { - label = 16; - } else { - $66 = ($40|0)==(0|0); - if (!($66)) { - label = 19; - } - } - } - } - if ((label|0) == 16) { - $48 = ((($1)) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)==(0|0); - if ($50) { - label = 19; - } else { - $51 = HEAP8[$2>>0]|0; - $52 = $51&255; - $53 = ((($49)) + 56|0); - $54 = HEAP8[$53>>0]|0; - $55 = $54 << 24 >> 24; - $56 = (($55) + ($52))|0; - $57 = (+($56|0)); - $58 = ((($49)) + 44|0); - $59 = HEAP8[$58>>0]|0; - $60 = (+($59<<24>>24)); - $61 = $60 * 0.0078125; - $62 = $57 + $61; - $63 = $62 + -1.0; - HEAPF32[$1>>2] = $63; - $64 = (+_jar_xm_period($0,$63)); - $65 = ((($1)) + 92|0); - HEAPF32[$65>>2] = $64; - break; - } - } - if ((label|0) == 19) { - $67 = HEAP32[$39>>2]|0; - $68 = ((($67)) + 24|0); - $69 = HEAP16[$68>>1]|0; - $70 = ($69<<16>>16)==(0); - if (!($70)) { - $71 = HEAP8[$2>>0]|0; - $72 = $71&255; - $73 = (($72) + -1)|0; - $74 = (((($40)) + 26|0) + ($73)|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - $77 = ((($40)) + 24|0); - $78 = HEAP16[$77>>1]|0; - $79 = $78&65535; - $80 = ($76>>>0)<($79>>>0); - if ($80) { - $$0275 = 0; - } else { - _jar_xm_cut_note($1); - break; - } - while(1) { - $106 = (+_jar_xm_next_of_sample($1)); - $107 = (((($1)) + 168|0) + ($$0275<<2)|0); - HEAPF32[$107>>2] = $106; - $108 = (($$0275) + 1)|0; - $exitcond = ($108|0)==(32); - if ($exitcond) { - break; - } else { - $$0275 = $108; - } - } - $81 = ((($1)) + 164|0); - HEAP32[$81>>2] = 0; - $82 = ((($40)) + 276|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP8[$2>>0]|0; - $85 = $84&255; - $86 = (($85) + -1)|0; - $87 = (((($40)) + 26|0) + ($86)|0); - $88 = HEAP8[$87>>0]|0; - $89 = $88&255; - $90 = (($83) + (($89*80)|0)|0); - $91 = ((($1)) + 12|0); - HEAP32[$91>>2] = $90; - $92 = (((($83) + (($89*80)|0)|0)) + 56|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93 << 24 >> 24; - $95 = (($94) + ($85))|0; - $96 = (+($95|0)); - $97 = (((($83) + (($89*80)|0)|0)) + 44|0); - $98 = HEAP8[$97>>0]|0; - $99 = (+($98<<24>>24)); - $100 = $99 * 0.0078125; - $101 = $96 + $100; - $102 = $101 + -1.0; - HEAPF32[$1>>2] = $102; - $103 = ((($1)) + 4|0); - HEAPF32[$103>>2] = $102; - $104 = HEAP8[$3>>0]|0; - $105 = ($104<<24>>24)==(0); - if ($105) { - _jar_xm_trigger_note($0,$1,1); - break; - } else { - _jar_xm_trigger_note($0,$1,0); - break; - } - } - } - _jar_xm_cut_note($1); - } else { - $109 = ($37<<24>>24)==(97); - if ($109) { - _jar_xm_key_off($1); - } - } - } while(0); - $110 = ((($2)) + 2|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $trunc = ($111&255) >>> 4; - $trunc$clear = $trunc & 15; - switch ($trunc$clear<<24>>24) { - case 5: { - $113 = ($111&255)>(80); - if (!($113)) { - label = 31; - } - break; - } - case 4: case 3: case 2: case 1: { - label = 31; - break; - } - case 8: { - $118 = $112 & 15; - $119 = $118&255; - _jar_xm_volume_slide($1,$119); - break; - } - case 9: { - $120 = $112 << 4; - $121 = $120&255; - _jar_xm_volume_slide($1,$121); - break; - } - case 10: { - $122 = ((($1)) + 112|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123 & 15; - $125 = $124&255; - $126 = $112 << 4; - $127 = $125 | $126; - $128 = $127&255; - HEAP8[$122>>0] = $128; - break; - } - case 12: { - $129 = $112 & 15; - $130 = $129 << 4; - $131 = $130 | $129; - $132 = (+($131|0)); - $133 = $132 / 255.0; - $134 = ((($1)) + 44|0); - HEAPF32[$134>>2] = $133; - break; - } - case 15: { - $135 = $112 & 15; - $136 = ($135|0)==(0); - if (!($136)) { - $137 = ((($1)) + 91|0); - $138 = $112 << 4; - $139 = $138 | $135; - $140 = $139&255; - HEAP8[$137>>0] = $140; - } - break; - } - default: { - } - } - if ((label|0) == 31) { - $114 = (($112) + -16)|0; - $115 = (+($114|0)); - $116 = $115 * 0.015625; - $117 = ((($1)) + 40|0); - HEAPF32[$117>>2] = $116; - } - $141 = ((($2)) + 3|0); - $142 = HEAP8[$141>>0]|0; - do { - switch ($142<<24>>24) { - case 1: { - $143 = ((($2)) + 4|0); - $144 = HEAP8[$143>>0]|0; - $145 = ($144<<24>>24)==(0); - if ($145) { - return; - } - $146 = ((($1)) + 85|0); - HEAP8[$146>>0] = $144; - return; - break; - } - case 2: { - $147 = ((($2)) + 4|0); - $148 = HEAP8[$147>>0]|0; - $149 = ($148<<24>>24)==(0); - if ($149) { - return; - } - $150 = ((($1)) + 86|0); - HEAP8[$150>>0] = $148; - return; - break; - } - case 3: { - $151 = ((($2)) + 4|0); - $152 = HEAP8[$151>>0]|0; - $153 = ($152<<24>>24)==(0); - if ($153) { - return; - } - $154 = ((($1)) + 91|0); - HEAP8[$154>>0] = $152; - return; - break; - } - case 4: { - $155 = ((($2)) + 4|0); - $156 = HEAP8[$155>>0]|0; - $157 = $156&255; - $158 = $157 & 15; - $159 = ($158|0)==(0); - if (!($159)) { - $160 = ((($1)) + 112|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161 & -16; - $163 = $162&255; - $164 = $163 | $158; - $165 = $164&255; - HEAP8[$160>>0] = $165; - } - $$mask266 = $157 & 240; - $166 = ($$mask266|0)==(0); - if ($166) { - return; - } - $167 = ((($1)) + 112|0); - $168 = HEAP8[$167>>0]|0; - $169 = $168 & 15; - $170 = $169&255; - $171 = $170 | $$mask266; - $172 = $171&255; - HEAP8[$167>>0] = $172; - return; - break; - } - case 5: { - $173 = ((($2)) + 4|0); - $174 = HEAP8[$173>>0]|0; - $175 = ($174<<24>>24)==(0); - if ($175) { - return; - } - $176 = ((($1)) + 81|0); - HEAP8[$176>>0] = $174; - return; - break; - } - case 6: { - $177 = ((($2)) + 4|0); - $178 = HEAP8[$177>>0]|0; - $179 = ($178<<24>>24)==(0); - if ($179) { - return; - } - $180 = ((($1)) + 81|0); - HEAP8[$180>>0] = $178; - return; - break; - } - case 7: { - $181 = ((($2)) + 4|0); - $182 = HEAP8[$181>>0]|0; - $183 = $182&255; - $184 = $183 & 15; - $185 = ($184|0)==(0); - if (!($185)) { - $186 = ((($1)) + 128|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187 & -16; - $189 = $188&255; - $190 = $189 | $184; - $191 = $190&255; - HEAP8[$186>>0] = $191; - } - $$mask265 = $183 & 240; - $192 = ($$mask265|0)==(0); - if ($192) { - return; - } - $193 = ((($1)) + 128|0); - $194 = HEAP8[$193>>0]|0; - $195 = $194 & 15; - $196 = $195&255; - $197 = $196 | $$mask265; - $198 = $197&255; - HEAP8[$193>>0] = $198; - return; - break; - } - case 8: { - $199 = ((($2)) + 4|0); - $200 = HEAP8[$199>>0]|0; - $201 = (+($200&255)); - $202 = $201 / 255.0; - $203 = ((($1)) + 44|0); - HEAPF32[$203>>2] = $202; - return; - break; - } - case 9: { - $204 = ((($1)) + 12|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - if ($206) { - return; - } - $207 = HEAP8[$2>>0]|0; - $$off274 = (($207) + -1)<<24>>24; - $208 = ($$off274&255)<(96); - if (!($208)) { - return; - } - $209 = ((($2)) + 4|0); - $210 = HEAP8[$209>>0]|0; - $211 = $210&255; - $212 = ((($205)) + 23|0); - $213 = HEAP8[$212>>0]|0; - $214 = ($213<<24>>24)==(16); - $215 = $214 ? 7 : 8; - $216 = $211 << $215; - $217 = ((($205)) + 24|0); - $218 = HEAP32[$217>>2]|0; - $219 = ($216>>>0)<($218>>>0); - if ($219) { - $221 = (+($216>>>0)); - $222 = ((($1)) + 20|0); - HEAPF32[$222>>2] = $221; - return; - } else { - $220 = ((($1)) + 20|0); - HEAPF32[$220>>2] = -1.0; - return; - } - break; - } - case 10: { - $223 = ((($2)) + 4|0); - $224 = HEAP8[$223>>0]|0; - $225 = ($224<<24>>24)==(0); - if ($225) { - return; - } - $226 = ((($1)) + 81|0); - HEAP8[$226>>0] = $224; - return; - break; - } - case 11: { - $227 = ((($2)) + 4|0); - $228 = HEAP8[$227>>0]|0; - $229 = $228&255; - $230 = ((($0)) + 46|0); - $231 = HEAP16[$230>>1]|0; - $232 = $231&65535; - $233 = ($229>>>0)<($232>>>0); - if (!($233)) { - return; - } - $234 = ((($0)) + 368|0); - HEAP32[$234>>2] = 1; - $235 = ((($0)) + 376|0); - HEAP8[$235>>0] = $228; - return; - break; - } - case 12: { - $236 = ((($2)) + 4|0); - $237 = HEAP8[$236>>0]|0; - $238 = ($237&255)>(64); - $phitmp263 = (+($237&255)); - $phitmp264 = $phitmp263 * 0.015625; - $239 = $238 ? 1.0 : $phitmp264; - $240 = ((($1)) + 40|0); - HEAPF32[$240>>2] = $239; - return; - break; - } - case 13: { - $241 = ((($0)) + 372|0); - HEAP32[$241>>2] = 1; - $242 = ((($2)) + 4|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = $244 >>> 4; - $246 = ($245*10)|0; - $247 = $244 & 15; - $248 = (($246) + ($247))|0; - $249 = $248&255; - $250 = ((($0)) + 377|0); - HEAP8[$250>>0] = $249; - return; - break; - } - case 14: { - $251 = ((($2)) + 4|0); - $252 = HEAP8[$251>>0]|0; - $253 = $252&255; - $trunc261 = ($252&255) >>> 4; - $trunc261$clear = $trunc261 & 15; - do { - switch ($trunc261$clear<<24>>24) { - case 1: { - $254 = $253 & 15; - $255 = ($254|0)==(0); - if (!($255)) { - $256 = $254&255; - $257 = ((($1)) + 87|0); - HEAP8[$257>>0] = $256; - } - $258 = ((($1)) + 87|0); - $259 = HEAP8[$258>>0]|0; - $260 = $259&255; - $261 = (0 - ($260))|0; - $262 = (+($261|0)); - _jar_xm_pitch_slide($0,$1,$262); - return; - break; - } - case 2: { - $263 = $253 & 15; - $264 = ($263|0)==(0); - if (!($264)) { - $265 = $263&255; - $266 = ((($1)) + 88|0); - HEAP8[$266>>0] = $265; - } - $267 = ((($1)) + 88|0); - $268 = HEAP8[$267>>0]|0; - $269 = (+($268&255)); - _jar_xm_pitch_slide($0,$1,$269); - return; - break; - } - case 4: { - $270 = $253 & 3; - $271 = ((($1)) + 104|0); - HEAP32[$271>>2] = $270; - $272 = $253 >>> 2; - $$lobit262 = $272 & 1; - $273 = $$lobit262 ^ 1; - $274 = ((($1)) + 108|0); - HEAP32[$274>>2] = $273; - return; - break; - } - case 5: { - $275 = ((($1)) + 16|0); - $276 = HEAP32[$275>>2]|0; - $277 = HEAP8[$276>>0]|0; - $278 = $277&255; - $$off273 = (($277) + -1)<<24>>24; - $279 = ($$off273&255)<(96); - if (!($279)) { - return; - } - $280 = ((($1)) + 12|0); - $281 = HEAP32[$280>>2]|0; - $282 = ($281|0)==(0|0); - if ($282) { - return; - } - $283 = ((($281)) + 56|0); - $284 = HEAP8[$283>>0]|0; - $285 = $284 << 24 >> 24; - $286 = (($285) + ($278))|0; - $287 = (+($286|0)); - $288 = $253 << 4; - $289 = $288 & 240; - $290 = (($289) + -128)|0; - $291 = (+($290|0)); - $292 = $291 * 0.0078125; - $293 = $292 + $287; - $294 = $293 + -1.0; - HEAPF32[$1>>2] = $294; - $295 = (+_jar_xm_period($0,$294)); - $296 = ((($1)) + 24|0); - HEAPF32[$296>>2] = $295; - _jar_xm_update_frequency($0,$1); - return; - break; - } - case 6: { - $297 = $253 & 15; - $298 = ($297|0)==(0); - if ($298) { - $311 = ((($0)) + 349|0); - $312 = HEAP8[$311>>0]|0; - $313 = ((($1)) + 98|0); - HEAP8[$313>>0] = $312; - $314 = ((($0)) + 377|0); - HEAP8[$314>>0] = $312; - return; - } - $299 = ((($1)) + 99|0); - $300 = HEAP8[$299>>0]|0; - $301 = $300&255; - $302 = ($297|0)==($301|0); - if ($302) { - HEAP8[$299>>0] = 0; - return; - } else { - $303 = (($300) + 1)<<24>>24; - HEAP8[$299>>0] = $303; - $304 = ((($0)) + 368|0); - HEAP32[$304>>2] = 1; - $305 = ((($1)) + 98|0); - $306 = HEAP8[$305>>0]|0; - $307 = ((($0)) + 377|0); - HEAP8[$307>>0] = $306; - $308 = ((($0)) + 348|0); - $309 = HEAP8[$308>>0]|0; - $310 = ((($0)) + 376|0); - HEAP8[$310>>0] = $309; - return; - } - break; - } - case 7: { - $315 = $253 & 3; - $316 = ((($1)) + 120|0); - HEAP32[$316>>2] = $315; - $317 = $253 >>> 2; - $$lobit = $317 & 1; - $318 = $$lobit ^ 1; - $319 = ((($1)) + 124|0); - HEAP32[$319>>2] = $318; - return; - break; - } - case 10: { - $320 = $253 & 15; - $321 = ($320|0)==(0); - if (!($321)) { - $322 = $320&255; - $323 = ((($1)) + 82|0); - HEAP8[$323>>0] = $322; - } - $324 = ((($1)) + 82|0); - $325 = HEAP8[$324>>0]|0; - $326 = $325&255; - $327 = $326 << 4; - $328 = $327&255; - _jar_xm_volume_slide($1,$328); - return; - break; - } - case 11: { - $329 = $253 & 15; - $330 = ($329|0)==(0); - if (!($330)) { - $331 = $329&255; - $332 = ((($1)) + 82|0); - HEAP8[$332>>0] = $331; - } - $333 = ((($1)) + 82|0); - $334 = HEAP8[$333>>0]|0; - _jar_xm_volume_slide($1,$334); - return; - break; - } - case 13: { - $335 = HEAP8[$2>>0]|0; - $336 = ($335<<24>>24)==(0); - if (!($336)) { - return; - } - $337 = HEAP8[$3>>0]|0; - $338 = ($337<<24>>24)==(0); - if (!($338)) { - return; - } - $339 = ((($1)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $341 = ((($340)) + 4|0); - $342 = HEAP8[$341>>0]|0; - $343 = $342 & 15; - $344 = ($343<<24>>24)==(0); - if ($344) { - _jar_xm_trigger_note($0,$1,7); - return; - } else { - $345 = ((($1)) + 4|0); - $346 = HEAP32[$345>>2]|0; - HEAP32[$1>>2] = $346; - _jar_xm_trigger_note($0,$1,1); - return; - } - break; - } - case 14: { - $347 = ((($1)) + 16|0); - $348 = HEAP32[$347>>2]|0; - $349 = ((($348)) + 4|0); - $350 = HEAP8[$349>>0]|0; - $351 = $350 & 15; - $352 = $351&255; - $353 = ((($0)) + 328|0); - $354 = HEAP16[$353>>1]|0; - $355 = $354&65535; - $356 = Math_imul($352, $355)|0; - $357 = $356&65535; - $358 = ((($0)) + 378|0); - HEAP16[$358>>1] = $357; - return; - break; - } - default: { - return; - } - } - } while(0); - break; - } - case 15: { - $359 = ((($2)) + 4|0); - $360 = HEAP8[$359>>0]|0; - $361 = ($360<<24>>24)==(0); - if ($361) { - return; - } - $362 = ($360&255)<(32); - $363 = $360&255; - if ($362) { - $364 = ((($0)) + 328|0); - HEAP16[$364>>1] = $363; - return; - } else { - $365 = ((($0)) + 330|0); - HEAP16[$365>>1] = $363; - return; - } - break; - } - case 16: { - $366 = ((($2)) + 4|0); - $367 = HEAP8[$366>>0]|0; - $368 = ($367&255)>(64); - $phitmp = (+($367&255)); - $phitmp260 = $phitmp * 0.015625; - $369 = $368 ? 1.0 : $phitmp260; - $370 = ((($0)) + 332|0); - HEAPF32[$370>>2] = $369; - return; - break; - } - case 17: { - $371 = ((($2)) + 4|0); - $372 = HEAP8[$371>>0]|0; - $373 = ($372<<24>>24)==(0); - if ($373) { - return; - } - $374 = ((($1)) + 83|0); - HEAP8[$374>>0] = $372; - return; - break; - } - case 21: { - $375 = ((($2)) + 4|0); - $376 = HEAP8[$375>>0]|0; - $377 = $376&255; - $378 = ((($1)) + 68|0); - HEAP16[$378>>1] = $377; - $379 = ((($1)) + 70|0); - HEAP16[$379>>1] = $377; - return; - break; - } - case 25: { - $380 = ((($2)) + 4|0); - $381 = HEAP8[$380>>0]|0; - $382 = ($381<<24>>24)==(0); - if ($382) { - return; - } - $383 = ((($1)) + 84|0); - HEAP8[$383>>0] = $381; - return; - break; - } - case 27: { - $384 = ((($2)) + 4|0); - $385 = HEAP8[$384>>0]|0; - $386 = $385&255; - $387 = ($385<<24>>24)==(0); - if ($387) { - return; - } - $$mask = $386 & 240; - $388 = ($$mask|0)==(0); - if ($388) { - $389 = ((($1)) + 96|0); - $390 = HEAP8[$389>>0]|0; - $391 = $390 & -16; - $392 = $391&255; - $393 = $386 & 15; - $394 = $392 | $393; - $395 = $394&255; - $$sink = $395; - } else { - $$sink = $385; - } - $396 = ((($1)) + 96|0); - HEAP8[$396>>0] = $$sink; - return; - break; - } - case 29: { - $397 = ((($2)) + 4|0); - $398 = HEAP8[$397>>0]|0; - $399 = ($398<<24>>24)==(0); - if ($399) { - return; - } - $400 = ((($1)) + 136|0); - HEAP8[$400>>0] = $398; - return; - break; - } - case 33: { - $401 = ((($2)) + 4|0); - $402 = HEAP8[$401>>0]|0; - $403 = $402&255; - $trunc259 = ($402&255) >>> 4; - $trunc259$clear = $trunc259 & 15; - switch ($trunc259$clear<<24>>24) { - case 1: { - $404 = $403 & 15; - $405 = ($404|0)==(0); - if (!($405)) { - $406 = $404&255; - $407 = ((($1)) + 89|0); - HEAP8[$407>>0] = $406; - } - $408 = ((($1)) + 89|0); - $409 = HEAP8[$408>>0]|0; - $410 = (+($409&255)); - $411 = -$410; - _jar_xm_pitch_slide($0,$1,$411); - return; - break; - } - case 2: { - $412 = $403 & 15; - $413 = ($412|0)==(0); - if (!($413)) { - $414 = $412&255; - $415 = ((($1)) + 90|0); - HEAP8[$415>>0] = $414; - } - $416 = ((($1)) + 90|0); - $417 = HEAP8[$416>>0]|0; - $418 = (+($417&255)); - _jar_xm_pitch_slide($0,$1,$418); - return; - break; - } - default: { - return; - } - } - break; - } - default: { - return; - } - } - } while(0); -} -function _jar_xm_key_off($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 52|0); - HEAP32[$1>>2] = 0; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if (!($4)) { - $5 = ((($3)) + 176|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - return; - } - } - _jar_xm_cut_note($0); - return; -} -function _jar_xm_period($0,$1) { - $0 = $0|0; - $1 = +$1; - var $$0 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 56|0); - $3 = HEAP32[$2>>2]|0; - switch ($3|0) { - case 0: { - $4 = (+_jar_xm_linear_period($1)); - $$0 = $4; - break; - } - case 1: { - $5 = (+_jar_xm_amiga_period($1)); - $$0 = $5; - break; - } - default: { - $$0 = 0.0; - } - } - return (+$$0); -} -function _jar_xm_linear_period($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0 * 64.0; - $2 = 7680.0 - $1; - return (+$2); -} -function _jar_xm_amiga_period($0) { - $0 = +$0; - var $$0 = 0, $$023 = 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.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (~~(($0))>>>0); - $2 = (($1>>>0) % 12)&-1; - $3 = $0 / 12.0; - $4 = $3 + -2.0; - $5 = (~~(($4))); - $6 = (4660 + ($2<<1)|0); - $7 = HEAP16[$6>>1]|0; - $8 = (($2) + 1)|0; - $9 = (4660 + ($8<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = $5 << 24 >> 24; - $12 = ($5<<24>>24)>(0); - if ($12) { - $13 = $7&65535; - $14 = $13 >>> $11; - $15 = $14&65535; - $16 = $10&65535; - $17 = $16 >>> $11; - $18 = $17&65535; - $$0 = $18;$$023 = $15; - } else { - $19 = ($5<<24>>24)<(0); - $20 = (0 - ($11))|0; - if ($19) { - $21 = $10&65535; - $22 = $21 << $20; - $23 = $7&65535; - $24 = $23 << $20; - $25 = $24&65535; - $26 = $22&65535; - $$0 = $26;$$023 = $25; - } else { - $$0 = $10;$$023 = $7; - } - } - $27 = $$023&65535; - $28 = (+($$023&65535)); - $29 = (+($1>>>0)); - $30 = $0 - $29; - $31 = $$0&65535; - $32 = (($31) - ($27))|0; - $33 = (+($32|0)); - $34 = $30 * $33; - $35 = $28 + $34; - return (+$35); -} -function _jar_xm_waveform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $3 = 0.0, $4 = 0.0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 63; - switch ($0|0) { - case 0: { - $3 = (+($2&255)); - $4 = $3 * 6.2831840515136719; - $5 = $4 * 0.015625; - $6 = (+Math_sin((+$5))); - $7 = -$6; - $$0 = $7; - return (+$$0); - break; - } - case 1: { - $8 = $2&255; - $9 = (32 - ($8))|0; - $10 = (+($9|0)); - $11 = $10 * 0.03125; - $$0 = $11; - return (+$$0); - break; - } - case 2: { - $12 = ($2&255)>(31); - $13 = $12 ? 1.0 : -1.0; - $$0 = $13; - return (+$$0); - break; - } - case 3: { - $14 = HEAP32[777]|0; - $15 = Math_imul($14, 1103515245)|0; - $16 = (($15) + 12345)|0; - HEAP32[777] = $16; - $17 = $16 >>> 16; - $18 = $17 & 32767; - $19 = (+($18>>>0)); - $20 = $19 * 6.103515625E-5; - $21 = $20 + -1.0; - $$0 = $21; - return (+$$0); - break; - } - case 4: { - $22 = $2&255; - $23 = (($22) + -32)|0; - $24 = (+($23|0)); - $25 = $24 * 0.03125; - $$0 = $25; - return (+$$0); - break; - } - default: { - $$0 = 0.0; - return (+$$0); - } - } - return +(0.0); -} -function _jar_xm_frequency($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$050 = 0.0, $$051 = 0, $$054 = 0, $$1 = 0, $$148 = 0, $$152 = 0, $$253 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.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.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0; - var $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $indvars$iv = 0, $indvars$iv$next = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 56|0); - $4 = HEAP32[$3>>2]|0; - switch ($4|0) { - case 0: { - $5 = $2 * 64.0; - $6 = $1 - $5; - $7 = (+_jar_xm_linear_frequency($6)); - $$050 = $7; - return (+$$050); - break; - } - case 1: { - $8 = $2 == 0.0; - if ($8) { - $9 = (+_jar_xm_amiga_frequency($1)); - $$050 = $9; - return (+$$050); - } - $10 = $1 > 1712.0; - if ($10) { - $$051 = -1; - while(1) { - $11 = $$051 << 24 >> 24; - $12 = (0 - ($11))|0; - $13 = 1712 << $12; - $14 = (+($13|0)); - $15 = $14 < $1; - $16 = (($$051) + -1)<<24>>24; - if ($15) { - $$051 = $16; - } else { - $$253 = $$051; - break; - } - } - } else { - $17 = $1 < 856.0; - if ($17) { - $$152 = 1; - while(1) { - $18 = $$152 << 24 >> 24; - $19 = 856 >>> $18; - $20 = (+($19|0)); - $21 = $20 > $1; - $22 = (($$152) + 1)<<24>>24; - if ($21) { - $$152 = $22; - } else { - $$253 = $$152; - break; - } - } - } else { - $$253 = 0; - } - } - $23 = $$253 << 24 >> 24; - $24 = ($$253<<24>>24)>(0); - $25 = ($$253<<24>>24)<(0); - $26 = (0 - ($23))|0; - $indvars$iv = 0; - while(1) { - $27 = (4660 + ($indvars$iv<<1)|0); - $28 = HEAP16[$27>>1]|0; - $29 = (($indvars$iv) + 1)|0; - $30 = (4660 + ($29<<1)|0); - $31 = HEAP16[$30>>1]|0; - if ($24) { - $32 = $28&65535; - $33 = $32 >>> $23; - $34 = $33&65535; - $35 = $31&65535; - $36 = $35 >>> $23; - $37 = $36&65535; - $$1 = $37;$$148 = $34; - } else { - if ($25) { - $38 = $31&65535; - $39 = $38 << $26; - $40 = $28&65535; - $41 = $40 << $26; - $42 = $41&65535; - $43 = $39&65535; - $$1 = $43;$$148 = $42; - } else { - $$1 = $31;$$148 = $28; - } - } - $44 = (+($$1&65535)); - $45 = !($44 <= $1); - $46 = (+($$148&65535)); - $47 = !($46 >= $1); - $or$cond = $47 | $45; - $48 = $indvars$iv&255; - if (!($or$cond)) { - $$054 = $48; - break; - } - $indvars$iv$next = (($indvars$iv) + 1)|0; - $49 = ($indvars$iv$next>>>0)<(12); - if ($49) { - $indvars$iv = $indvars$iv$next; - } else { - $$054 = 0; - break; - } - } - $50 = $$253 << 24 >> 24; - $51 = (($50) + 2)|0; - $52 = (+($51|0)); - $53 = $52 * 12.0; - $54 = (+($$054&255)); - $55 = $53 + $54; - $56 = $$148&65535; - $57 = (+($$148&65535)); - $58 = $1 - $57; - $59 = $$1&65535; - $60 = (($59) - ($56))|0; - $61 = (+($60|0)); - $62 = $58 / $61; - $63 = $55 + $62; - $64 = $63 + $2; - $65 = (+_jar_xm_amiga_period($64)); - $66 = (+_jar_xm_amiga_frequency($65)); - $$050 = $66; - return (+$$050); - break; - } - default: { - $$050 = 0.0; - return (+$$050); - } - } - return +(0.0); -} -function _jar_xm_linear_frequency($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $exp2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = 4608.0 - $0; - $2 = $1 / 768.0; - $exp2 = (+_llvm_exp2_f32((+$2))); - $3 = $exp2 * 8363.0; - return (+$3); -} -function _jar_xm_amiga_frequency($0) { - $0 = +$0; - var $$0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0 == 0.0; - $2 = $0 * 2.0; - $3 = 7093789.0 / $2; - $$0 = $1 ? 0.0 : $3; - return (+$$0); -} -function _jar_xm_envelope_tick($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$043 = 0, $$lcssa = 0, $$lcssa42 = 0, $10 = 0.0, $11 = 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; - 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.0, $56 = 0.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, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ((($1)) + 48|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5&255)<(2); - if ($6) { - $7 = ($5<<24>>24)==(1); - if (!($7)) { - return; - } - $8 = ((($1)) + 2|0); - $9 = HEAP16[$8>>1]|0; - $10 = (+($9&65535)); - $11 = $10 * 0.015625; - HEAPF32[$3>>2] = $11; - $12 = $11 > 1.0; - if (!($12)) { - return; - } - HEAPF32[$3>>2] = 1.0; - return; - } - $13 = ((($1)) + 60|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0); - if (!($15)) { - $16 = ((($1)) + 51|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = (($1) + ($18<<2)|0); - $20 = HEAP16[$19>>1]|0; - $21 = HEAP16[$2>>1]|0; - $22 = ($21&65535)<($20&65535); - if (!($22)) { - $23 = $21&65535; - $24 = $20&65535; - $25 = ((($1)) + 50|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = (($1) + ($27<<2)|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - $31 = (($23) - ($24))|0; - $32 = (($31) + ($30))|0; - $33 = $32&65535; - HEAP16[$2>>1] = $33; - } - } - $34 = HEAP8[$4>>0]|0; - $35 = ($34&255)>(2); - $36 = HEAP16[$2>>1]|0; - L15: do { - if ($35) { - $$043 = 0;$38 = 0;$41 = $36; - while(1) { - $37 = (($1) + ($38<<2)|0); - $39 = HEAP16[$37>>1]|0; - $40 = ($39&65535)>($41&65535); - if (!($40)) { - $42 = (($38) + 1)|0; - $43 = (($1) + ($42<<2)|0); - $44 = HEAP16[$43>>1]|0; - $45 = ($44&65535)<($41&65535); - if (!($45)) { - $$lcssa = $41;$$lcssa42 = $38; - break L15; - } - } - $46 = (($$043) + 1)<<24>>24; - $47 = $46&255; - $48 = HEAP8[$4>>0]|0; - $49 = $48&255; - $50 = (($49) + -2)|0; - $51 = ($47|0)<($50|0); - $52 = HEAP16[$2>>1]|0; - if ($51) { - $$043 = $46;$38 = $47;$41 = $52; - } else { - $$lcssa = $52;$$lcssa42 = $47; - break; - } - } - } else { - $$lcssa = $36;$$lcssa42 = 0; - } - } while(0); - $53 = (($1) + ($$lcssa42<<2)|0); - $54 = ((($53)) + 4|0); - $55 = (+_jar_xm_envelope_lerp($53,$54,$$lcssa)); - $56 = $55 * 0.015625; - HEAPF32[$3>>2] = $56; - $57 = ((($0)) + 52|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0); - if (!($59)) { - $60 = ((($1)) + 56|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0); - if (!($62)) { - $63 = HEAP16[$2>>1]|0; - $64 = ((($1)) + 49|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = (($1) + ($66<<2)|0); - $68 = HEAP16[$67>>1]|0; - $69 = ($63<<16>>16)==($68<<16>>16); - if ($69) { - return; - } - } - } - $70 = HEAP16[$2>>1]|0; - $71 = (($70) + 1)<<16>>16; - HEAP16[$2>>1] = $71; - return; -} -function _jar_xm_envelope_lerp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2&65535; - $4 = HEAP16[$0>>1]|0; - $5 = $4&65535; - $6 = ($4&65535)<($2&65535); - if (!($6)) { - $7 = ((($0)) + 2|0); - $8 = HEAP16[$7>>1]|0; - $9 = (+($8&65535)); - $$0 = $9; - return (+$$0); - } - $10 = HEAP16[$1>>1]|0; - $11 = ($10&65535)>($2&65535); - $12 = ((($1)) + 2|0); - $13 = HEAP16[$12>>1]|0; - if ($11) { - $15 = $10&65535; - $16 = (($3) - ($5))|0; - $17 = (+($16|0)); - $18 = (($15) - ($5))|0; - $19 = (+($18|0)); - $20 = $17 / $19; - $21 = ((($0)) + 2|0); - $22 = HEAP16[$21>>1]|0; - $23 = (+($22&65535)); - $24 = 1.0 - $20; - $25 = $24 * $23; - $26 = (+($13&65535)); - $27 = $26 * $20; - $28 = $27 + $25; - $$0 = $28; - return (+$$0); - } else { - $14 = (+($13&65535)); - $$0 = $14; - return (+$$0); - } - return +(0.0); -} -function _jar_xm_post_pattern_change($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)) + 348|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ((($0)) + 46|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = ($3>>>0)<($6>>>0); - if ($7) { - return; - } - $8 = ((($0)) + 48|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&255; - HEAP8[$1>>0] = $10; - return; -} -function _jar_xm_create_context_safe($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$06364 = 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, $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, 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 = (_jar_xm_check_sanity_preload($1,$2)|0); - $5 = ($4|0)==(0); - if (!($5)) { - $6 = HEAP32[1039]|0; - HEAP32[$vararg_buffer>>2] = 9689; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $4; - (_fprintf($6,9612,$vararg_buffer)|0); - (_fflush($6)|0); - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $7 = (_jar_xm_get_memory_needed_for_context($1,$2)|0); - $8 = (_malloc($7)|0); - $9 = ($8|0)==(0|0); - $10 = ($7|0)!=(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = HEAP32[1039]|0; - HEAP32[$vararg_buffer2>>2] = 9689; - $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $8; - (_fprintf($11,9716,$vararg_buffer2)|0); - (_fflush($11)|0); - $$0 = 2; - STACKTOP = sp;return ($$0|0); - } - _memset(($8|0),0,($7|0))|0; - HEAP32[$0>>2] = $8; - HEAP32[$8>>2] = $8; - $12 = ((($8)) + 392|0); - $13 = ((($8)) + 324|0); - HEAP32[$13>>2] = $3; - $14 = (_jar_xm_load_module($8,$1,$2,$12)|0); - $15 = ((($8)) + 388|0); - HEAP32[$15>>2] = $14; - $16 = ((($8)) + 50|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = ($18*304)|0; - $20 = (($14) + ($19)|0); - $21 = ((($8)) + 332|0); - HEAPF32[$21>>2] = 1.0; - $22 = ((($8)) + 336|0); - HEAPF32[$22>>2] = 0.25; - $23 = ((($8)) + 340|0); - HEAPF32[$23>>2] = 0.0078125; - $24 = ((($8)) + 344|0); - HEAPF32[$24>>2] = 0.0078125; - $25 = HEAP16[$16>>1]|0; - $26 = ($25<<16>>16)==(0); - if (!($26)) { - $27 = HEAP32[$15>>2]|0; - $28 = HEAP16[$16>>1]|0; - $29 = $28&65535; - $$06364 = 0;$34 = 0; - while(1) { - $33 = (((($27) + (($34*304)|0)|0)) + 36|0); - HEAP32[$33>>2] = 1; - $35 = (((($27) + (($34*304)|0)|0)) + 104|0); - HEAP32[$35>>2] = 0; - $36 = (((($27) + (($34*304)|0)|0)) + 108|0); - HEAP32[$36>>2] = 1; - $37 = (((($27) + (($34*304)|0)|0)) + 120|0); - HEAP32[$37>>2] = 0; - $38 = (((($27) + (($34*304)|0)|0)) + 124|0); - HEAP32[$38>>2] = 1; - $39 = (((($27) + (($34*304)|0)|0)) + 56|0); - HEAPF32[$39>>2] = 1.0; - $40 = (((($27) + (($34*304)|0)|0)) + 60|0); - HEAPF32[$40>>2] = 1.0; - $41 = (((($27) + (($34*304)|0)|0)) + 40|0); - HEAPF32[$41>>2] = 1.0; - $42 = (((($27) + (($34*304)|0)|0)) + 64|0); - HEAPF32[$42>>2] = 0.5; - $43 = (((($27) + (($34*304)|0)|0)) + 44|0); - HEAPF32[$43>>2] = 0.5; - $44 = (((($27) + (($34*304)|0)|0)) + 300|0); - HEAPF32[$44>>2] = 0.0; - $45 = (((($27) + (($34*304)|0)|0)) + 296|0); - HEAPF32[$45>>2] = 0.5; - $46 = (($$06364) + 1)<<24>>24; - $47 = $46&255; - $48 = ($47>>>0)<($29>>>0); - if ($48) { - $$06364 = $46;$34 = $47; - } else { - break; - } - } - } - $30 = ((($8)) + 380|0); - HEAP32[$30>>2] = $20; - $31 = (_jar_xm_check_sanity_postload($8)|0); - $32 = ($31|0)==(0); - if ($32) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $49 = HEAP32[1039]|0; - HEAP32[$vararg_buffer6>>2] = 9689; - $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $31; - (_fprintf($49,9760,$vararg_buffer6)|0); - (_fflush($49)|0); - _jar_xm_free_context($8); - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _jar_xm_check_sanity_preload($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $$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; - $2 = ($1>>>0)<(60); - if ($2) { - $$0 = 4; - return ($$0|0); - } - $3 = (_memcmp(9977,$0,17)|0); - $4 = ($3|0)==(0); - if (!($4)) { - $$0 = 1; - return ($$0|0); - } - $5 = ((($0)) + 37|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(26); - if (!($7)) { - $$0 = 2; - return ($$0|0); - } - $8 = ((($0)) + 59|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(1); - if ($10) { - $11 = ((($0)) + 58|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(4); - $$ = $13 ? 0 : 3; - return ($$|0); - } else { - $$0 = 3; - return ($$0|0); - } - return (0)|0; -} -function _jar_xm_get_memory_needed_for_context($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$0209$lcssa = 0, $$0209274 = 0, $$0212262 = 0, $$0213$lcssa = 0, $$0213261 = 0, $$0214 = 0, $$0215267 = 0, $$0216273 = 0, $$0275 = 0, $$1$lcssa = 0, $$1210268 = 0, $$1269 = 0, $$2$lcssa = 0, $$2211$lcssa = 0, $$2211263 = 0, $$2264 = 0, $$3 = 0, $$ph = 0, $$ph228 = 0; - var $$ph233 = 0, $$ph234 = 0, $$ph237 = 0, $$ph238 = 0, $$ph239 = 0, $$ph240 = 0, $$ph241 = 0, $$ph242 = 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, $2 = 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, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0; - var $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, $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, $phitmp = 0, $phitmp294 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1>>>0)>(68); - $3 = ($1>>>0)>(69); - if ($2) { - $4 = ((($0)) + 68|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $12 = $6; - } else { - $12 = 0; - } - do { - if ($3) { - $7 = ((($0)) + 69|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = $9 << 8; - $11 = $10 | $12; - $13 = ($1|0)==(70); - do { - if ($13) { - $$ph = 0;$$ph233 = 0;$$ph234 = 0; - } else { - $14 = ((($0)) + 70|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($1>>>0)>(71); - if (!($17)) { - $18 = $16 << 3; - $$ph = $18;$$ph233 = 0;$$ph234 = $16; - break; - } - $19 = ((($0)) + 71|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = $21 << 8; - $23 = $22 | $16; - $24 = $23 << 3; - $25 = ($1|0)==(72); - if ($25) { - $$ph = $24;$$ph233 = 0;$$ph234 = $23; - } else { - $26 = ((($0)) + 72|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = ($1>>>0)>(73); - if ($29) { - $30 = ((($0)) + 73|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $phitmp294 = $32 << 8; - $$ph228 = $phitmp294; - } else { - $$ph228 = 0; - } - $33 = $$ph228 | $28; - $34 = ($33*280)|0; - $35 = (($34) + ($24))|0; - $$ph = $35;$$ph233 = $33;$$ph234 = $23; - } - } - } while(0); - $37 = ((($0)) + 64|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $284 = $39;$285 = $11;$286 = $$ph234;$287 = $$ph233;$288 = $$ph; - label = 14; - } else { - $36 = ($1>>>0)>(64); - if ($36) { - $40 = ((($0)) + 64|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = ($1|0)==(65); - if ($43) { - $$ph237 = $42;$$ph238 = $12;$$ph239 = 0;$$ph240 = 0;$$ph241 = 0;$$ph242 = 0; - label = 15; - break; - } else { - $284 = $42;$285 = $12;$286 = 0;$287 = 0;$288 = 0; - label = 14; - break; - } - } - $61 = ($1>>>0)>(62); - if (!($61)) { - $$1$lcssa = 0;$155 = $12; - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); - } - $62 = ((($0)) + 61|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = $64 << 8; - $66 = ((($0)) + 60|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67&255; - $69 = $65 | $68; - $70 = ((($0)) + 62|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = ($1|0)==(63); - if ($73) { - $$1$lcssa = 0;$155 = $12; - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); - } else { - $289 = 0;$79 = $72;$82 = $69;$85 = 0;$87 = $12;$89 = 0; - } - } - } while(0); - if ((label|0) == 14) { - $44 = ((($0)) + 65|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $phitmp = $46 << 8; - $$ph237 = $284;$$ph238 = $285;$$ph239 = $286;$$ph240 = $287;$$ph241 = $288;$$ph242 = $phitmp; - label = 15; - } - if ((label|0) == 15) { - $47 = $$ph242 | $$ph237; - $48 = $47 << 8; - $49 = (($48) + ($$ph241))|0; - $50 = ((($0)) + 60|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = ((($0)) + 61|0); - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - $56 = $55 << 8; - $57 = $56 | $52; - $58 = ((($0)) + 62|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $289 = $49;$79 = $60;$82 = $57;$85 = $$ph239;$87 = $$ph238;$89 = $$ph240; - } - $74 = ((($0)) + 63|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - $77 = $76 << 8; - $78 = $77 | $79; - $80 = $78 << 16; - $81 = $80 | $82; - $83 = (($81) + 60)|0; - $84 = ($85|0)==(0); - if ($84) { - $$0$lcssa = $289;$$0209$lcssa = $83; - } else { - $86 = ($87*5)|0; - $$0209274 = $83;$$0216273 = 0;$$0275 = $289; - while(1) { - $90 = (($$0209274) + 5)|0; - $91 = ($90>>>0)<($1>>>0); - if ($91) { - $92 = (($0) + ($90)|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - $103 = $94; - } else { - $103 = 0; - } - $95 = (($$0209274) + 6)|0; - $96 = ($95>>>0)<($1>>>0); - if ($96) { - $97 = (($0) + ($95)|0); - $98 = HEAP8[$97>>0]|0; - $99 = $98&255; - $101 = $99; - } else { - $101 = 0; - } - $100 = $101 << 8; - $102 = $100 | $103; - $104 = Math_imul($86, $102)|0; - $105 = (($104) + ($$0275))|0; - $106 = ($$0209274>>>0)<($1>>>0); - if ($106) { - $107 = (($0) + ($$0209274)|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $118 = $109; - } else { - $118 = 0; - } - $110 = (($$0209274) + 1)|0; - $111 = ($110>>>0)<($1>>>0); - if ($111) { - $112 = (($0) + ($110)|0); - $113 = HEAP8[$112>>0]|0; - $114 = $113&255; - $116 = $114; - } else { - $116 = 0; - } - $115 = $116 << 8; - $117 = $115 | $118; - $119 = (($$0209274) + 2)|0; - $120 = ($119>>>0)<($1>>>0); - if ($120) { - $121 = (($0) + ($119)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $132 = $123; - } else { - $132 = 0; - } - $124 = (($$0209274) + 3)|0; - $125 = ($124>>>0)<($1>>>0); - if ($125) { - $126 = (($0) + ($124)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $130 = $128; - } else { - $130 = 0; - } - $129 = $130 << 8; - $131 = $129 | $132; - $133 = $131 << 16; - $134 = $117 | $133; - $135 = (($$0209274) + 7)|0; - $136 = ($135>>>0)<($1>>>0); - if ($136) { - $137 = (($0) + ($135)|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $148 = $139; - } else { - $148 = 0; - } - $140 = (($$0209274) + 8)|0; - $141 = ($140>>>0)<($1>>>0); - if ($141) { - $142 = (($0) + ($140)|0); - $143 = HEAP8[$142>>0]|0; - $144 = $143&255; - $146 = $144; - } else { - $146 = 0; - } - $145 = $146 << 8; - $147 = $145 | $148; - $149 = (($134) + ($$0209274))|0; - $150 = (($149) + ($147))|0; - $151 = (($$0216273) + 1)<<16>>16; - $152 = $151&65535; - $153 = ($152>>>0)<($85>>>0); - if ($153) { - $$0209274 = $150;$$0216273 = $151;$$0275 = $105; - } else { - $$0$lcssa = $105;$$0209$lcssa = $150; - break; - } - } - } - $88 = ($89|0)==(0); - if ($88) { - $$1$lcssa = $$0$lcssa;$155 = $87; - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); - } else { - $$0215267 = 0;$$1210268 = $$0209$lcssa;$$1269 = $$0$lcssa; - } - while(1) { - $158 = (($$1210268) + 27)|0; - $159 = ($158>>>0)<($1>>>0); - if ($159) { - $160 = (($0) + ($158)|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161&255; - $171 = $162; - } else { - $171 = 0; - } - $163 = (($$1210268) + 28)|0; - $164 = ($163>>>0)<($1>>>0); - if ($164) { - $165 = (($0) + ($163)|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $169 = $167; - } else { - $169 = 0; - } - $168 = $169 << 8; - $170 = $168 | $171; - $172 = ($170*80)|0; - $173 = (($172) + ($$1269))|0; - $174 = ($170|0)==(0); - if ($174) { - $$0214 = 0; - } else { - $175 = (($$1210268) + 29)|0; - $176 = ($175>>>0)<($1>>>0); - if ($176) { - $177 = (($0) + ($175)|0); - $178 = HEAP8[$177>>0]|0; - $179 = $178&255; - $188 = $179; - } else { - $188 = 0; - } - $180 = (($$1210268) + 30)|0; - $181 = ($180>>>0)<($1>>>0); - if ($181) { - $182 = (($0) + ($180)|0); - $183 = HEAP8[$182>>0]|0; - $184 = $183&255; - $186 = $184; - } else { - $186 = 0; - } - $185 = $186 << 8; - $187 = $185 | $188; - $189 = (($$1210268) + 31)|0; - $190 = ($189>>>0)<($1>>>0); - if ($190) { - $191 = (($0) + ($189)|0); - $192 = HEAP8[$191>>0]|0; - $193 = $192&255; - $202 = $193; - } else { - $202 = 0; - } - $194 = (($$1210268) + 32)|0; - $195 = ($194>>>0)<($1>>>0); - if ($195) { - $196 = (($0) + ($194)|0); - $197 = HEAP8[$196>>0]|0; - $198 = $197&255; - $200 = $198; - } else { - $200 = 0; - } - $199 = $200 << 8; - $201 = $199 | $202; - $203 = $201 << 16; - $204 = $187 | $203; - $$0214 = $204; - } - $205 = ($$1210268>>>0)<($1>>>0); - if ($205) { - $206 = (($0) + ($$1210268)|0); - $207 = HEAP8[$206>>0]|0; - $208 = $207&255; - $217 = $208; - } else { - $217 = 0; - } - $209 = (($$1210268) + 1)|0; - $210 = ($209>>>0)<($1>>>0); - if ($210) { - $211 = (($0) + ($209)|0); - $212 = HEAP8[$211>>0]|0; - $213 = $212&255; - $215 = $213; - } else { - $215 = 0; - } - $214 = $215 << 8; - $216 = $214 | $217; - $218 = (($$1210268) + 2)|0; - $219 = ($218>>>0)<($1>>>0); - if ($219) { - $220 = (($0) + ($218)|0); - $221 = HEAP8[$220>>0]|0; - $222 = $221&255; - $231 = $222; - } else { - $231 = 0; - } - $223 = (($$1210268) + 3)|0; - $224 = ($223>>>0)<($1>>>0); - if ($224) { - $225 = (($0) + ($223)|0); - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - $229 = $227; - } else { - $229 = 0; - } - $228 = $229 << 8; - $230 = $228 | $231; - $232 = $230 << 16; - $233 = $216 | $232; - $234 = (($233) + ($$1210268))|0; - $235 = ($170|0)==(0); - if ($235) { - $$0213$lcssa = 0;$$2$lcssa = $173;$$2211$lcssa = $234; - } else { - $$0212262 = 0;$$0213261 = 0;$$2211263 = $234;$$2264 = $173; - while(1) { - $240 = ($$2211263>>>0)<($1>>>0); - if ($240) { - $241 = (($0) + ($$2211263)|0); - $242 = HEAP8[$241>>0]|0; - $243 = $242&255; - $252 = $243; - } else { - $252 = 0; - } - $244 = (($$2211263) + 1)|0; - $245 = ($244>>>0)<($1>>>0); - if ($245) { - $246 = (($0) + ($244)|0); - $247 = HEAP8[$246>>0]|0; - $248 = $247&255; - $250 = $248; - } else { - $250 = 0; - } - $249 = $250 << 8; - $251 = $249 | $252; - $253 = (($$2211263) + 2)|0; - $254 = ($253>>>0)<($1>>>0); - if ($254) { - $255 = (($0) + ($253)|0); - $256 = HEAP8[$255>>0]|0; - $257 = $256&255; - $266 = $257; - } else { - $266 = 0; - } - $258 = (($$2211263) + 3)|0; - $259 = ($258>>>0)<($1>>>0); - if ($259) { - $260 = (($0) + ($258)|0); - $261 = HEAP8[$260>>0]|0; - $262 = $261&255; - $264 = $262; - } else { - $264 = 0; - } - $263 = $264 << 8; - $265 = $263 | $266; - $267 = $265 << 16; - $268 = $251 | $267; - $269 = (($$2211263) + 14)|0; - $270 = ($269>>>0)<($1>>>0); - if ($270) { - $271 = (($0) + ($269)|0); - $272 = HEAP8[$271>>0]|0; - $273 = $272&255; - $276 = $273; - } else { - $276 = 0; - } - $274 = (($268) + ($$0213261))|0; - $275 = $276 >>> 4; - $277 = $275 & 1; - $278 = (2 - ($277))|0; - $279 = $268 << $278; - $$3 = (($279) + ($$2264))|0; - $280 = (($$2211263) + ($$0214))|0; - $281 = (($$0212262) + 1)<<16>>16; - $282 = $281&65535; - $283 = ($282>>>0)<($170>>>0); - if ($283) { - $$0212262 = $281;$$0213261 = $274;$$2211263 = $280;$$2264 = $$3; - } else { - $$0213$lcssa = $274;$$2$lcssa = $$3;$$2211$lcssa = $280; - break; - } - } - } - $236 = (($$2211$lcssa) + ($$0213$lcssa))|0; - $237 = (($$0215267) + 1)<<16>>16; - $238 = $237&65535; - $239 = ($238>>>0)<($89>>>0); - if ($239) { - $$0215267 = $237;$$1210268 = $236;$$1269 = $$2$lcssa; - } else { - $$1$lcssa = $$2$lcssa;$155 = $87; - break; - } - } - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); -} -function _jar_xm_load_module($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0668761 = 0, $$0669766 = 0, $$0670765 = 0, $$0671$lcssa = 0, $$0671787 = 0, $$0672$lcssa = 0, $$0672786 = 0, $$0677769 = 0, $$0678785 = 0, $$0679755 = 0, $$0680753 = 0, $$0681752 = 0, $$0682783 = 0, $$0687 = 0, $$0688776 = 0, $$0689782 = 0, $$0762 = 0, $$1$lcssa = 0, $$1673777 = 0, $$1683 = 0; - var $$1778 = 0, $$2 = 0, $$2674756 = 0, $$2684 = 0, $$3$lcssa794 = 0, $$3675$lcssa = 0, $$3675770 = 0, $$3685 = 0, $$3757 = 0, $$4 = 0, $$4676 = 0, $$4686 = 0, $$5 = 0, $$ph700 = 0, $$ph701 = 0, $$ph707 = 0, $$ph708 = 0, $$ph714 = 0, $$ph715 = 0, $$ph721 = 0; - var $$ph722 = 0, $$ph729 = 0, $$ph730 = 0, $$ph731 = 0, $$ph740 = 0, $$pn = 0, $$pn693 = 0, $$pr = 0, $$sink = 0, $$sink694 = 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 $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, $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 $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, $470 = 0; - var $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, $489 = 0; - var $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, $506 = 0; - var $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, $524 = 0; - var $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, $542 = 0; - var $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, $560 = 0; - var $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, $579 = 0; - var $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, $597 = 0; - var $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, $611 = 0, $612 = 0, $613 = 0, $614 = 0; - var $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, $63 = 0, $630 = 0, $631 = 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.0, $769 = 0, $77 = 0, $770 = 0.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.0, $802 = 0, $803 = 0.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.0, $866 = 0.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.0, $882 = 0.0, $883 = 0, $884 = 0, $885 = 0; - var $886 = 0, $887 = 0, $888 = 0, $889 = 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, $exitcond793 = 0, $phitmp = 0, $phitmp804 = 0; - var $sext = 0, $sext690 = 0, $sext691 = 0, $sext692 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ((($0)) + 4|0); - _memcpy_pad($4,20,$1,$2,17); - $5 = ((($0)) + 25|0); - _memcpy_pad($5,20,$1,$2,38); - $6 = ($2>>>0)>(60); - if ($6) { - $7 = ((($1)) + 60|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($2|0)==(61); - if ($10) { - $$ph700 = 0;$$ph701 = $9; - label = 5; - } else { - $11 = ((($1)) + 61|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = $13 << 8; - $15 = $14 | $9; - $16 = ($2>>>0)>(62); - if ($16) { - $17 = ((($1)) + 62|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($2|0)==(63); - if ($20) { - $$ph700 = $19;$$ph701 = $15; - label = 5; - } else { - $23 = ((($1)) + 63|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $26 | $19; - $28 = $27 << 16; - $29 = $28 | $15; - $30 = ($2>>>0)>(64); - if ($30) { - $31 = ((($1)) + 64|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = ($2|0)==(65); - if ($34) { - $$ph707 = $33;$$ph708 = $29; - label = 8; - } else { - $37 = ((($1)) + 65|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = $39 << 8; - $41 = $40 | $33; - $42 = $41&65535; - $43 = ((($0)) + 46|0); - HEAP16[$43>>1] = $42; - $44 = ($2>>>0)>(66); - if ($44) { - $45 = ((($1)) + 66|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = ($2|0)==(67); - if ($48) { - $$ph714 = $47;$$ph715 = $29; - label = 11; - } else { - $51 = ((($1)) + 67|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = $53 << 8; - $55 = $54 | $47; - $56 = $55&65535; - $57 = ((($0)) + 48|0); - HEAP16[$57>>1] = $56; - $58 = ($2>>>0)>(68); - if ($58) { - $59 = ((($1)) + 68|0); - $60 = HEAP8[$59>>0]|0; - $61 = $60&255; - $62 = ($2|0)==(69); - if ($62) { - $$ph721 = $61;$$ph722 = $29; - label = 14; - } else { - $65 = ((($1)) + 69|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = $67 << 8; - $69 = $68 | $61; - $70 = $69&65535; - $71 = ((($0)) + 50|0); - HEAP16[$71>>1] = $70; - $72 = ($2>>>0)>(70); - if ($72) { - $73 = ((($1)) + 70|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = ($2|0)==(71); - if ($76) { - $$ph729 = $75;$$ph730 = $29;$$ph731 = $71; - label = 17; - } else { - $79 = ((($1)) + 71|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = $81 << 8; - $83 = $82 | $75; - $84 = $83&65535; - $85 = ((($0)) + 52|0); - HEAP16[$85>>1] = $84; - $86 = ($2>>>0)>(72); - if ($86) { - $87 = ((($1)) + 72|0); - $88 = HEAP8[$87>>0]|0; - $89 = $88&255; - $90 = ($2|0)==(73); - if ($90) { - $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = $89; - } else { - $91 = ((($1)) + 73|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $phitmp = $93 << 8; - $101 = $85;$147 = $29;$186 = $71;$95 = $phitmp;$96 = $89; - } - } else { - $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = 0; - } - } - } else { - $$ph729 = 0;$$ph730 = $29;$$ph731 = $71; - label = 17; - } - } - } else { - $$ph721 = 0;$$ph722 = $29; - label = 14; - } - } - } else { - $$ph714 = 0;$$ph715 = $29; - label = 11; - } - } - } else { - $$ph707 = 0;$$ph708 = $29; - label = 8; - } - } - } else { - $$ph700 = 0;$$ph701 = $15; - label = 5; - } - } - } else { - $$ph700 = 0;$$ph701 = 0; - label = 5; - } - if ((label|0) == 5) { - $21 = $$ph700 << 16; - $22 = $$ph701 | $21; - $$ph707 = 0;$$ph708 = $22; - label = 8; - } - if ((label|0) == 8) { - $35 = $$ph707&65535; - $36 = ((($0)) + 46|0); - HEAP16[$36>>1] = $35; - $$ph714 = 0;$$ph715 = $$ph708; - label = 11; - } - if ((label|0) == 11) { - $49 = $$ph714&65535; - $50 = ((($0)) + 48|0); - HEAP16[$50>>1] = $49; - $$ph721 = 0;$$ph722 = $$ph715; - label = 14; - } - if ((label|0) == 14) { - $63 = $$ph721&65535; - $64 = ((($0)) + 50|0); - HEAP16[$64>>1] = $63; - $$ph729 = 0;$$ph730 = $$ph722;$$ph731 = $64; - label = 17; - } - if ((label|0) == 17) { - $77 = $$ph729&65535; - $78 = ((($0)) + 52|0); - HEAP16[$78>>1] = $77; - $101 = $78;$147 = $$ph730;$186 = $$ph731;$95 = 0;$96 = 0; - } - $94 = $95 | $96; - $97 = $94&65535; - $98 = ((($0)) + 54|0); - HEAP16[$98>>1] = $97; - $99 = ((($0)) + 316|0); - HEAP32[$99>>2] = $3; - $100 = HEAP16[$101>>1]|0; - $102 = $100&65535; - $103 = $102 << 3; - $104 = (($3) + ($103)|0); - $105 = ((($0)) + 320|0); - HEAP32[$105>>2] = $104; - $106 = HEAP16[$98>>1]|0; - $107 = $106&65535; - $108 = ($107*280)|0; - $109 = (($104) + ($108)|0); - $110 = ($2>>>0)>(74); - if ($110) { - $112 = ((($1)) + 74|0); - $113 = HEAP8[$112>>0]|0; - $114 = ($2>>>0)>(76); - $115 = $113 & 1; - $116 = $115 ^ 1; - $117 = $116&255; - $118 = ((($0)) + 56|0); - HEAP32[$118>>2] = $117; - if ($114) { - $119 = ($2|0)==(77); - $120 = ((($1)) + 76|0); - $121 = HEAP8[$120>>0]|0; - $122 = $121&255; - if ($119) { - $$ph740 = $122; - label = 25; - } else { - $125 = ((($1)) + 77|0); - $126 = HEAP8[$125>>0]|0; - $127 = $126&255; - $128 = $127 << 8; - $129 = $128 | $122; - $130 = $129&65535; - $131 = ((($0)) + 328|0); - HEAP16[$131>>1] = $130; - $132 = ($2>>>0)>(78); - if ($132) { - $133 = ((($1)) + 78|0); - $134 = HEAP8[$133>>0]|0; - $135 = $134&255; - $136 = ($2|0)==(79); - if ($136) { - $141 = 0;$142 = $135; - } else { - $137 = ((($1)) + 79|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $phitmp804 = $139 << 8; - $141 = $phitmp804;$142 = $135; - } - } else { - $141 = 0;$142 = 0; - } - } - } else { - $$ph740 = 0; - label = 25; - } - } else { - $111 = ((($0)) + 56|0); - HEAP32[$111>>2] = 1; - $$ph740 = 0; - label = 25; - } - if ((label|0) == 25) { - $123 = $$ph740&65535; - $124 = ((($0)) + 328|0); - HEAP16[$124>>1] = $123; - $141 = 0;$142 = 0; - } - $140 = $141 | $142; - $143 = $140&65535; - $144 = ((($0)) + 330|0); - HEAP16[$144>>1] = $143; - $145 = ((($0)) + 60|0); - _memcpy_pad($145,256,$1,$2,80); - $146 = (($147) + 60)|0; - $148 = HEAP16[$101>>1]|0; - $149 = ($148<<16>>16)==(0); - if ($149) { - $$0671$lcssa = $109;$$0672$lcssa = $146; - } else { - $$0671787 = $109;$$0672786 = $146;$$0678785 = 0;$183 = 0; - while(1) { - $152 = (($$0672786) + 7)|0; - $153 = ($152>>>0)<($2>>>0); - if ($153) { - $154 = (($1) + ($152)|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $165 = $156; - } else { - $165 = 0; - } - $157 = (($$0672786) + 8)|0; - $158 = ($157>>>0)<($2>>>0); - if ($158) { - $159 = (($1) + ($157)|0); - $160 = HEAP8[$159>>0]|0; - $161 = $160&255; - $163 = $161; - } else { - $163 = 0; - } - $162 = $163 << 8; - $164 = $162 | $165; - $166 = HEAP32[$99>>2]|0; - $167 = (($$0672786) + 5)|0; - $168 = ($167>>>0)<($2>>>0); - if ($168) { - $169 = (($1) + ($167)|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $180 = $171; - } else { - $180 = 0; - } - $172 = (($$0672786) + 6)|0; - $173 = ($172>>>0)<($2>>>0); - if ($173) { - $174 = (($1) + ($172)|0); - $175 = HEAP8[$174>>0]|0; - $176 = $175&255; - $178 = $176; - } else { - $178 = 0; - } - $177 = $178 << 8; - $179 = $177 | $180; - $181 = $179&65535; - $182 = (($166) + ($183<<3)|0); - HEAP16[$182>>1] = $181; - $184 = (((($166) + ($183<<3)|0)) + 4|0); - HEAP32[$184>>2] = $$0671787; - $185 = HEAP16[$186>>1]|0; - $187 = $185&65535; - $188 = ($179*5)|0; - $189 = Math_imul($188, $187)|0; - $190 = (($$0671787) + ($189)|0); - $191 = ($$0672786>>>0)<($2>>>0); - if ($191) { - $192 = (($1) + ($$0672786)|0); - $193 = HEAP8[$192>>0]|0; - $194 = $193&255; - $203 = $194; - } else { - $203 = 0; - } - $195 = (($$0672786) + 1)|0; - $196 = ($195>>>0)<($2>>>0); - if ($196) { - $197 = (($1) + ($195)|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $201 = $199; - } else { - $201 = 0; - } - $200 = $201 << 8; - $202 = $200 | $203; - $204 = (($$0672786) + 2)|0; - $205 = ($204>>>0)<($2>>>0); - if ($205) { - $206 = (($1) + ($204)|0); - $207 = HEAP8[$206>>0]|0; - $208 = $207&255; - $217 = $208; - } else { - $217 = 0; - } - $209 = (($$0672786) + 3)|0; - $210 = ($209>>>0)<($2>>>0); - if ($210) { - $211 = (($1) + ($209)|0); - $212 = HEAP8[$211>>0]|0; - $213 = $212&255; - $215 = $213; - } else { - $215 = 0; - } - $214 = $215 << 8; - $216 = $214 | $217; - $218 = $216 << 16; - $219 = $202 | $218; - $220 = (($219) + ($$0672786))|0; - $221 = ($164|0)==(0); - if ($221) { - $222 = HEAP32[$184>>2]|0; - $223 = HEAP16[$182>>1]|0; - $224 = $223&65535; - $225 = ($224*5)|0; - $226 = HEAP16[$186>>1]|0; - $227 = $226&65535; - $228 = Math_imul($225, $227)|0; - _memset(($222|0),0,($228|0))|0; - } else { - $$0682783 = 0;$$0689782 = 0;$230 = 0; - while(1) { - $229 = (($230) + ($220))|0; - $231 = ($229>>>0)<($2>>>0); - do { - if ($231) { - $235 = (($1) + ($229)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = HEAP32[$184>>2]|0; - $239 = $$0689782&65535; - $240 = (($238) + (($239*5)|0)|0); - $241 = $237 & 128; - $242 = ($241|0)==(0); - if ($242) { - $308 = $237;$309 = $240;$318 = $238;$319 = $239; - label = 77; - } else { - $243 = (($$0682783) + 1)<<16>>16; - $244 = $237 & 1; - $245 = ($244|0)==(0); - if ($245) { - HEAP8[$240>>0] = 0; - $$1683 = $243; - } else { - $246 = $243&65535; - $247 = (($246) + ($220))|0; - $248 = ($247>>>0)<($2>>>0); - if ($248) { - $249 = (($1) + ($247)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $253 = $251; - } else { - $253 = 0; - } - $252 = $253&255; - HEAP8[$240>>0] = $252; - $254 = (($$0682783) + 2)<<16>>16; - $$1683 = $254; - } - $255 = $237 & 2; - $256 = ($255|0)==(0); - if ($256) { - $267 = (((($238) + (($239*5)|0)|0)) + 1|0); - HEAP8[$267>>0] = 0; - $$2684 = $$1683; - } else { - $257 = $$1683&65535; - $258 = (($257) + ($220))|0; - $259 = ($258>>>0)<($2>>>0); - if ($259) { - $260 = (($1) + ($258)|0); - $261 = HEAP8[$260>>0]|0; - $262 = $261&255; - $264 = $262; - } else { - $264 = 0; - } - $263 = $264&255; - $265 = (((($238) + (($239*5)|0)|0)) + 1|0); - HEAP8[$265>>0] = $263; - $266 = (($$1683) + 1)<<16>>16; - $$2684 = $266; - } - $268 = $237 & 4; - $269 = ($268|0)==(0); - if ($269) { - $280 = (((($238) + (($239*5)|0)|0)) + 2|0); - HEAP8[$280>>0] = 0; - $$3685 = $$2684; - } else { - $270 = $$2684&65535; - $271 = (($270) + ($220))|0; - $272 = ($271>>>0)<($2>>>0); - if ($272) { - $273 = (($1) + ($271)|0); - $274 = HEAP8[$273>>0]|0; - $275 = $274&255; - $277 = $275; - } else { - $277 = 0; - } - $276 = $277&255; - $278 = (((($238) + (($239*5)|0)|0)) + 2|0); - HEAP8[$278>>0] = $276; - $279 = (($$2684) + 1)<<16>>16; - $$3685 = $279; - } - $281 = $237 & 8; - $282 = ($281|0)==(0); - if ($282) { - $293 = (((($238) + (($239*5)|0)|0)) + 3|0); - HEAP8[$293>>0] = 0; - $$4686 = $$3685; - } else { - $283 = $$3685&65535; - $284 = (($283) + ($220))|0; - $285 = ($284>>>0)<($2>>>0); - if ($285) { - $286 = (($1) + ($284)|0); - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $290 = $288; - } else { - $290 = 0; - } - $289 = $290&255; - $291 = (((($238) + (($239*5)|0)|0)) + 3|0); - HEAP8[$291>>0] = $289; - $292 = (($$3685) + 1)<<16>>16; - $$4686 = $292; - } - $294 = $237 & 16; - $295 = ($294|0)==(0); - if ($295) { - $306 = (((($238) + (($239*5)|0)|0)) + 4|0); - HEAP8[$306>>0] = 0; - $$5 = $$4686; - break; - } - $296 = $$4686&65535; - $297 = (($296) + ($220))|0; - $298 = ($297>>>0)<($2>>>0); - if ($298) { - $299 = (($1) + ($297)|0); - $300 = HEAP8[$299>>0]|0; - $301 = $300&255; - $303 = $301; - } else { - $303 = 0; - } - $302 = $303&255; - $304 = (((($238) + (($239*5)|0)|0)) + 4|0); - HEAP8[$304>>0] = $302; - $305 = (($$4686) + 1)<<16>>16; - $$5 = $305; - } - } else { - $232 = HEAP32[$184>>2]|0; - $233 = $$0689782&65535; - $234 = (($232) + (($233*5)|0)|0); - $308 = 0;$309 = $234;$318 = $232;$319 = $233; - label = 77; - } - } while(0); - if ((label|0) == 77) { - label = 0; - $307 = $308&255; - HEAP8[$309>>0] = $307; - $310 = (($229) + 1)|0; - $311 = ($310>>>0)<($2>>>0); - if ($311) { - $312 = (($1) + ($310)|0); - $313 = HEAP8[$312>>0]|0; - $314 = $313&255; - $316 = $314; - } else { - $316 = 0; - } - $315 = $316&255; - $317 = (((($318) + (($319*5)|0)|0)) + 1|0); - HEAP8[$317>>0] = $315; - $320 = (($229) + 2)|0; - $321 = ($320>>>0)<($2>>>0); - if ($321) { - $322 = (($1) + ($320)|0); - $323 = HEAP8[$322>>0]|0; - $324 = $323&255; - $326 = $324; - } else { - $326 = 0; - } - $325 = $326&255; - $327 = (((($318) + (($319*5)|0)|0)) + 2|0); - HEAP8[$327>>0] = $325; - $328 = (($229) + 3)|0; - $329 = ($328>>>0)<($2>>>0); - if ($329) { - $330 = (($1) + ($328)|0); - $331 = HEAP8[$330>>0]|0; - $332 = $331&255; - $334 = $332; - } else { - $334 = 0; - } - $333 = $334&255; - $335 = (((($318) + (($319*5)|0)|0)) + 3|0); - HEAP8[$335>>0] = $333; - $336 = (($229) + 4)|0; - $337 = ($336>>>0)<($2>>>0); - if ($337) { - $338 = (($1) + ($336)|0); - $339 = HEAP8[$338>>0]|0; - $340 = $339&255; - $342 = $340; - } else { - $342 = 0; - } - $341 = $342&255; - $343 = (((($318) + (($319*5)|0)|0)) + 4|0); - HEAP8[$343>>0] = $341; - $344 = (($230) + 5)|0; - $345 = $344&65535; - $$5 = $345; - } - $346 = (($$0689782) + 1)<<16>>16; - $347 = $$5&65535; - $348 = ($347>>>0)<($164>>>0); - if ($348) { - $$0682783 = $$5;$$0689782 = $346;$230 = $347; - } else { - break; - } - } - } - $349 = (($220) + ($164))|0; - $350 = (($$0678785) + 1)<<16>>16; - $351 = $350&65535; - $352 = HEAP16[$101>>1]|0; - $353 = ($350&65535)<($352&65535); - if ($353) { - $$0671787 = $190;$$0672786 = $349;$$0678785 = $350;$183 = $351; - } else { - $$0671$lcssa = $190;$$0672$lcssa = $349; - break; - } - } - } - $150 = HEAP16[$98>>1]|0; - $151 = ($150<<16>>16)==(0); - if ($151) { - $$1$lcssa = $$0671$lcssa; - return ($$1$lcssa|0); - } else { - $$0688776 = 0;$$1673777 = $$0672$lcssa;$$1778 = $$0671$lcssa; - } - while(1) { - $354 = $$0688776&65535; - $355 = HEAP32[$105>>2]|0; - $356 = (($355) + (($354*280)|0)|0); - $357 = (($$1673777) + 4)|0; - _memcpy_pad($356,22,$1,$2,$357); - $358 = (($$1673777) + 27)|0; - $359 = ($358>>>0)<($2>>>0); - if ($359) { - $360 = (($1) + ($358)|0); - $361 = HEAP8[$360>>0]|0; - $362 = $361&255; - $371 = $362; - } else { - $371 = 0; - } - $363 = (($$1673777) + 28)|0; - $364 = ($363>>>0)<($2>>>0); - if ($364) { - $365 = (($1) + ($363)|0); - $366 = HEAP8[$365>>0]|0; - $367 = $366&255; - $369 = $367; - } else { - $369 = 0; - } - $368 = $369 << 8; - $370 = $368 | $371; - $372 = $370&65535; - $373 = (((($355) + (($354*280)|0)|0)) + 24|0); - HEAP16[$373>>1] = $372; - $374 = ($370|0)==(0); - if ($374) { - $629 = (((($355) + (($354*280)|0)|0)) + 276|0); - HEAP32[$629>>2] = 0; - $$0687 = 0;$$2 = $$1778; - } else { - $375 = (($$1673777) + 29)|0; - $376 = ($375>>>0)<($2>>>0); - if ($376) { - $377 = (($1) + ($375)|0); - $378 = HEAP8[$377>>0]|0; - $379 = $378&255; - $388 = $379; - } else { - $388 = 0; - } - $380 = (($$1673777) + 30)|0; - $381 = ($380>>>0)<($2>>>0); - if ($381) { - $382 = (($1) + ($380)|0); - $383 = HEAP8[$382>>0]|0; - $384 = $383&255; - $386 = $384; - } else { - $386 = 0; - } - $385 = $386 << 8; - $387 = $385 | $388; - $389 = (($$1673777) + 31)|0; - $390 = ($389>>>0)<($2>>>0); - if ($390) { - $391 = (($1) + ($389)|0); - $392 = HEAP8[$391>>0]|0; - $393 = $392&255; - $402 = $393; - } else { - $402 = 0; - } - $394 = (($$1673777) + 32)|0; - $395 = ($394>>>0)<($2>>>0); - if ($395) { - $396 = (($1) + ($394)|0); - $397 = HEAP8[$396>>0]|0; - $398 = $397&255; - $400 = $398; - } else { - $400 = 0; - } - $399 = $400 << 8; - $401 = $399 | $402; - $403 = $401 << 16; - $404 = $387 | $403; - $405 = (((($355) + (($354*280)|0)|0)) + 26|0); - $406 = (($$1673777) + 33)|0; - _memcpy_pad($405,96,$1,$2,$406); - $407 = (($$1673777) + 225)|0; - $408 = ($407>>>0)<($2>>>0); - if ($408) { - $409 = (($1) + ($407)|0); - $410 = HEAP8[$409>>0]|0; - $411 = $410&255; - $413 = $411; - } else { - $413 = 0; - } - $412 = $413&255; - $414 = (((($355) + (($354*280)|0)|0)) + 172|0); - HEAP8[$414>>0] = $412; - $415 = (($$1673777) + 226)|0; - $416 = ($415>>>0)<($2>>>0); - if ($416) { - $417 = (($1) + ($415)|0); - $418 = HEAP8[$417>>0]|0; - $419 = $418&255; - $421 = $419; - } else { - $421 = 0; - } - $420 = $421&255; - $422 = (((($355) + (($354*280)|0)|0)) + 236|0); - HEAP8[$422>>0] = $420; - $423 = HEAP8[$414>>0]|0; - $424 = ($423<<24>>24)==(0); - if ($424) { - $427 = $420; - } else { - $425 = (($$1673777) + 129)|0; - $$0681752 = 0;$430 = 0; - while(1) { - $429 = $430 << 2; - $431 = (($425) + ($429))|0; - $432 = ($431>>>0)<($2>>>0); - if ($432) { - $433 = (($1) + ($431)|0); - $434 = HEAP8[$433>>0]|0; - $435 = $434&255; - $444 = $435; - } else { - $444 = 0; - } - $436 = (($431) + 1)|0; - $437 = ($436>>>0)<($2>>>0); - if ($437) { - $438 = (($1) + ($436)|0); - $439 = HEAP8[$438>>0]|0; - $440 = $439&255; - $442 = $440; - } else { - $442 = 0; - } - $441 = $442 << 8; - $443 = $441 | $444; - $445 = $443&65535; - $446 = ((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0); - HEAP16[$446>>1] = $445; - $447 = (($431) + 2)|0; - $448 = ($447>>>0)<($2>>>0); - if ($448) { - $449 = (($1) + ($447)|0); - $450 = HEAP8[$449>>0]|0; - $451 = $450&255; - $460 = $451; - } else { - $460 = 0; - } - $452 = (($431) + 3)|0; - $453 = ($452>>>0)<($2>>>0); - if ($453) { - $454 = (($1) + ($452)|0); - $455 = HEAP8[$454>>0]|0; - $456 = $455&255; - $458 = $456; - } else { - $458 = 0; - } - $457 = $458 << 8; - $459 = $457 | $460; - $461 = $459&65535; - $462 = ((((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0)) + 2|0); - HEAP16[$462>>1] = $461; - $463 = (($$0681752) + 1)<<24>>24; - $464 = $463&255; - $465 = HEAP8[$414>>0]|0; - $466 = ($463&255)<($465&255); - if ($466) { - $$0681752 = $463;$430 = $464; - } else { - break; - } - } - $$pr = HEAP8[$422>>0]|0; - $427 = $$pr; - } - $426 = ($427<<24>>24)==(0); - if (!($426)) { - $428 = (($$1673777) + 177)|0; - $$0680753 = 0;$470 = 0; - while(1) { - $469 = $470 << 2; - $471 = (($428) + ($469))|0; - $472 = ($471>>>0)<($2>>>0); - if ($472) { - $473 = (($1) + ($471)|0); - $474 = HEAP8[$473>>0]|0; - $475 = $474&255; - $484 = $475; - } else { - $484 = 0; - } - $476 = (($471) + 1)|0; - $477 = ($476>>>0)<($2>>>0); - if ($477) { - $478 = (($1) + ($476)|0); - $479 = HEAP8[$478>>0]|0; - $480 = $479&255; - $482 = $480; - } else { - $482 = 0; - } - $481 = $482 << 8; - $483 = $481 | $484; - $485 = $483&65535; - $486 = ((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0); - HEAP16[$486>>1] = $485; - $487 = (($471) + 2)|0; - $488 = ($487>>>0)<($2>>>0); - if ($488) { - $489 = (($1) + ($487)|0); - $490 = HEAP8[$489>>0]|0; - $491 = $490&255; - $500 = $491; - } else { - $500 = 0; - } - $492 = (($471) + 3)|0; - $493 = ($492>>>0)<($2>>>0); - if ($493) { - $494 = (($1) + ($492)|0); - $495 = HEAP8[$494>>0]|0; - $496 = $495&255; - $498 = $496; - } else { - $498 = 0; - } - $497 = $498 << 8; - $499 = $497 | $500; - $501 = $499&65535; - $502 = ((((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0)) + 2|0); - HEAP16[$502>>1] = $501; - $503 = (($$0680753) + 1)<<24>>24; - $504 = $503&255; - $505 = HEAP8[$422>>0]|0; - $506 = ($503&255)<($505&255); - if ($506) { - $$0680753 = $503;$470 = $504; - } else { - break; - } - } - } - $467 = (($$1673777) + 227)|0; - $468 = ($467>>>0)<($2>>>0); - if ($468) { - $507 = (($1) + ($467)|0); - $508 = HEAP8[$507>>0]|0; - $509 = $508&255; - $511 = $509; - } else { - $511 = 0; - } - $510 = $511&255; - $512 = (((($355) + (($354*280)|0)|0)) + 173|0); - HEAP8[$512>>0] = $510; - $513 = (($$1673777) + 228)|0; - $514 = ($513>>>0)<($2>>>0); - if ($514) { - $515 = (($1) + ($513)|0); - $516 = HEAP8[$515>>0]|0; - $517 = $516&255; - $519 = $517; - } else { - $519 = 0; - } - $518 = $519&255; - $520 = (((($355) + (($354*280)|0)|0)) + 174|0); - HEAP8[$520>>0] = $518; - $521 = (($$1673777) + 229)|0; - $522 = ($521>>>0)<($2>>>0); - if ($522) { - $523 = (($1) + ($521)|0); - $524 = HEAP8[$523>>0]|0; - $525 = $524&255; - $527 = $525; - } else { - $527 = 0; - } - $526 = $527&255; - $528 = (((($355) + (($354*280)|0)|0)) + 175|0); - HEAP8[$528>>0] = $526; - $529 = (($$1673777) + 230)|0; - $530 = ($529>>>0)<($2>>>0); - if ($530) { - $531 = (($1) + ($529)|0); - $532 = HEAP8[$531>>0]|0; - $533 = $532&255; - $535 = $533; - } else { - $535 = 0; - } - $534 = $535&255; - $536 = (((($355) + (($354*280)|0)|0)) + 237|0); - HEAP8[$536>>0] = $534; - $537 = (($$1673777) + 231)|0; - $538 = ($537>>>0)<($2>>>0); - if ($538) { - $539 = (($1) + ($537)|0); - $540 = HEAP8[$539>>0]|0; - $541 = $540&255; - $543 = $541; - } else { - $543 = 0; - } - $542 = $543&255; - $544 = (((($355) + (($354*280)|0)|0)) + 238|0); - HEAP8[$544>>0] = $542; - $545 = (($$1673777) + 232)|0; - $546 = ($545>>>0)<($2>>>0); - if ($546) { - $547 = (($1) + ($545)|0); - $548 = HEAP8[$547>>0]|0; - $549 = $548&255; - $551 = $549; - } else { - $551 = 0; - } - $550 = $551&255; - $552 = (((($355) + (($354*280)|0)|0)) + 239|0); - HEAP8[$552>>0] = $550; - $553 = (($$1673777) + 233)|0; - $554 = ($553>>>0)<($2>>>0); - if ($554) { - $555 = (($1) + ($553)|0); - $556 = HEAP8[$555>>0]|0; - $557 = $556&255; - $559 = $557; - } else { - $559 = 0; - } - $558 = $559 & 1; - $560 = (((($355) + (($354*280)|0)|0)) + 176|0); - HEAP32[$560>>2] = $558; - $561 = $559 & 2; - $562 = (((($355) + (($354*280)|0)|0)) + 180|0); - HEAP32[$562>>2] = $561; - $563 = $559 & 4; - $564 = (((($355) + (($354*280)|0)|0)) + 184|0); - HEAP32[$564>>2] = $563; - $565 = (($$1673777) + 234)|0; - $566 = ($565>>>0)<($2>>>0); - if ($566) { - $567 = (($1) + ($565)|0); - $568 = HEAP8[$567>>0]|0; - $569 = $568&255; - $571 = $569; - } else { - $571 = 0; - } - $570 = $571 & 1; - $572 = (((($355) + (($354*280)|0)|0)) + 240|0); - HEAP32[$572>>2] = $570; - $573 = $571 & 2; - $574 = (((($355) + (($354*280)|0)|0)) + 244|0); - HEAP32[$574>>2] = $573; - $575 = $571 & 4; - $576 = (((($355) + (($354*280)|0)|0)) + 248|0); - HEAP32[$576>>2] = $575; - $577 = (($$1673777) + 235)|0; - $578 = ($577>>>0)<($2>>>0); - L213: do { - if ($578) { - $580 = (($1) + ($577)|0); - $581 = HEAP8[$580>>0]|0; - $582 = $581&255; - $583 = (((($355) + (($354*280)|0)|0)) + 252|0); - HEAP32[$583>>2] = $582; - switch ($581<<24>>24) { - case 2: { - $$sink694 = 1; - break; - } - case 1: { - $$sink694 = 2; - break; - } - default: { - break L213; - } - } - HEAP32[$583>>2] = $$sink694; - } else { - $579 = (((($355) + (($354*280)|0)|0)) + 252|0); - HEAP32[$579>>2] = 0; - } - } while(0); - $584 = (($$1673777) + 236)|0; - $585 = ($584>>>0)<($2>>>0); - if ($585) { - $586 = (($1) + ($584)|0); - $587 = HEAP8[$586>>0]|0; - $588 = $587&255; - $590 = $588; - } else { - $590 = 0; - } - $589 = $590&255; - $591 = (((($355) + (($354*280)|0)|0)) + 256|0); - HEAP8[$591>>0] = $589; - $592 = (($$1673777) + 237)|0; - $593 = ($592>>>0)<($2>>>0); - if ($593) { - $594 = (($1) + ($592)|0); - $595 = HEAP8[$594>>0]|0; - $596 = $595&255; - $598 = $596; - } else { - $598 = 0; - } - $597 = $598&255; - $599 = (((($355) + (($354*280)|0)|0)) + 257|0); - HEAP8[$599>>0] = $597; - $600 = (($$1673777) + 238)|0; - $601 = ($600>>>0)<($2>>>0); - if ($601) { - $602 = (($1) + ($600)|0); - $603 = HEAP8[$602>>0]|0; - $604 = $603&255; - $606 = $604; - } else { - $606 = 0; - } - $605 = $606&255; - $607 = (((($355) + (($354*280)|0)|0)) + 258|0); - HEAP8[$607>>0] = $605; - $608 = (($$1673777) + 239)|0; - $609 = ($608>>>0)<($2>>>0); - if ($609) { - $610 = (($1) + ($608)|0); - $611 = HEAP8[$610>>0]|0; - $612 = $611&255; - $621 = $612; - } else { - $621 = 0; - } - $613 = (($$1673777) + 240)|0; - $614 = ($613>>>0)<($2>>>0); - if ($614) { - $615 = (($1) + ($613)|0); - $616 = HEAP8[$615>>0]|0; - $617 = $616&255; - $619 = $617; - } else { - $619 = 0; - } - $618 = $619 << 8; - $620 = $618 | $621; - $622 = $620&65535; - $623 = (((($355) + (($354*280)|0)|0)) + 260|0); - HEAP16[$623>>1] = $622; - $624 = (((($355) + (($354*280)|0)|0)) + 276|0); - HEAP32[$624>>2] = $$1778; - $625 = HEAP16[$373>>1]|0; - $626 = $625&65535; - $627 = ($626*80)|0; - $628 = (($$1778) + ($627)|0); - $$0687 = $404;$$2 = $628; - } - $630 = ($$1673777>>>0)<($2>>>0); - if ($630) { - $631 = (($1) + ($$1673777)|0); - $632 = HEAP8[$631>>0]|0; - $633 = $632&255; - $642 = $633; - } else { - $642 = 0; - } - $634 = (($$1673777) + 1)|0; - $635 = ($634>>>0)<($2>>>0); - if ($635) { - $636 = (($1) + ($634)|0); - $637 = HEAP8[$636>>0]|0; - $638 = $637&255; - $640 = $638; - } else { - $640 = 0; - } - $639 = $640 << 8; - $641 = $639 | $642; - $643 = (($$1673777) + 2)|0; - $644 = ($643>>>0)<($2>>>0); - if ($644) { - $645 = (($1) + ($643)|0); - $646 = HEAP8[$645>>0]|0; - $647 = $646&255; - $656 = $647; - } else { - $656 = 0; - } - $648 = (($$1673777) + 3)|0; - $649 = ($648>>>0)<($2>>>0); - if ($649) { - $650 = (($1) + ($648)|0); - $651 = HEAP8[$650>>0]|0; - $652 = $651&255; - $654 = $652; - } else { - $654 = 0; - } - $653 = $654 << 8; - $655 = $653 | $656; - $657 = $655 << 16; - $658 = $641 | $657; - $659 = (($658) + ($$1673777))|0; - $660 = HEAP16[$373>>1]|0; - $661 = ($660<<16>>16)==(0); - if ($661) { - $$3$lcssa794 = $$2;$$3675$lcssa = $659; - } else { - $662 = (((($355) + (($354*280)|0)|0)) + 276|0); - $$0679755 = 0;$$2674756 = $659;$$3757 = $$2; - while(1) { - $666 = $$0679755&65535; - $667 = HEAP32[$662>>2]|0; - $668 = ($$2674756>>>0)<($2>>>0); - if ($668) { - $669 = (($1) + ($$2674756)|0); - $670 = HEAP8[$669>>0]|0; - $671 = $670&255; - $680 = $671; - } else { - $680 = 0; - } - $672 = (($$2674756) + 1)|0; - $673 = ($672>>>0)<($2>>>0); - if ($673) { - $674 = (($1) + ($672)|0); - $675 = HEAP8[$674>>0]|0; - $676 = $675&255; - $678 = $676; - } else { - $678 = 0; - } - $677 = $678 << 8; - $679 = $677 | $680; - $681 = (($$2674756) + 2)|0; - $682 = ($681>>>0)<($2>>>0); - if ($682) { - $683 = (($1) + ($681)|0); - $684 = HEAP8[$683>>0]|0; - $685 = $684&255; - $694 = $685; - } else { - $694 = 0; - } - $686 = (($$2674756) + 3)|0; - $687 = ($686>>>0)<($2>>>0); - if ($687) { - $688 = (($1) + ($686)|0); - $689 = HEAP8[$688>>0]|0; - $690 = $689&255; - $692 = $690; - } else { - $692 = 0; - } - $691 = $692 << 8; - $693 = $691 | $694; - $695 = $693 << 16; - $696 = $679 | $695; - $697 = (((($667) + (($666*80)|0)|0)) + 24|0); - HEAP32[$697>>2] = $696; - $698 = (($$2674756) + 4)|0; - $699 = ($698>>>0)<($2>>>0); - if ($699) { - $700 = (($1) + ($698)|0); - $701 = HEAP8[$700>>0]|0; - $702 = $701&255; - $711 = $702; - } else { - $711 = 0; - } - $703 = (($$2674756) + 5)|0; - $704 = ($703>>>0)<($2>>>0); - if ($704) { - $705 = (($1) + ($703)|0); - $706 = HEAP8[$705>>0]|0; - $707 = $706&255; - $709 = $707; - } else { - $709 = 0; - } - $708 = $709 << 8; - $710 = $708 | $711; - $712 = (($$2674756) + 6)|0; - $713 = ($712>>>0)<($2>>>0); - if ($713) { - $714 = (($1) + ($712)|0); - $715 = HEAP8[$714>>0]|0; - $716 = $715&255; - $725 = $716; - } else { - $725 = 0; - } - $717 = (($$2674756) + 7)|0; - $718 = ($717>>>0)<($2>>>0); - if ($718) { - $719 = (($1) + ($717)|0); - $720 = HEAP8[$719>>0]|0; - $721 = $720&255; - $723 = $721; - } else { - $723 = 0; - } - $722 = $723 << 8; - $724 = $722 | $725; - $726 = $724 << 16; - $727 = $710 | $726; - $728 = (((($667) + (($666*80)|0)|0)) + 28|0); - HEAP32[$728>>2] = $727; - $729 = (($$2674756) + 8)|0; - $730 = ($729>>>0)<($2>>>0); - if ($730) { - $731 = (($1) + ($729)|0); - $732 = HEAP8[$731>>0]|0; - $733 = $732&255; - $742 = $733; - } else { - $742 = 0; - } - $734 = (($$2674756) + 9)|0; - $735 = ($734>>>0)<($2>>>0); - if ($735) { - $736 = (($1) + ($734)|0); - $737 = HEAP8[$736>>0]|0; - $738 = $737&255; - $740 = $738; - } else { - $740 = 0; - } - $739 = $740 << 8; - $741 = $739 | $742; - $743 = (($$2674756) + 10)|0; - $744 = ($743>>>0)<($2>>>0); - if ($744) { - $745 = (($1) + ($743)|0); - $746 = HEAP8[$745>>0]|0; - $747 = $746&255; - $756 = $747; - } else { - $756 = 0; - } - $748 = (($$2674756) + 11)|0; - $749 = ($748>>>0)<($2>>>0); - if ($749) { - $750 = (($1) + ($748)|0); - $751 = HEAP8[$750>>0]|0; - $752 = $751&255; - $754 = $752; - } else { - $754 = 0; - } - $753 = $754 << 8; - $755 = $753 | $756; - $757 = $755 << 16; - $758 = $741 | $757; - $759 = (((($667) + (($666*80)|0)|0)) + 32|0); - HEAP32[$759>>2] = $758; - $760 = HEAP32[$728>>2]|0; - $761 = (($758) + ($760))|0; - $762 = (((($667) + (($666*80)|0)|0)) + 36|0); - HEAP32[$762>>2] = $761; - $763 = (($$2674756) + 12)|0; - $764 = ($763>>>0)<($2>>>0); - if ($764) { - $765 = (($1) + ($763)|0); - $766 = HEAP8[$765>>0]|0; - $767 = $766&255; - $769 = $767; - } else { - $769 = 0; - } - $768 = (+($769|0)); - $770 = $768 * 0.015625; - $771 = (((($667) + (($666*80)|0)|0)) + 40|0); - HEAPF32[$771>>2] = $770; - $772 = (($$2674756) + 13)|0; - $773 = ($772>>>0)<($2>>>0); - if ($773) { - $774 = (($1) + ($772)|0); - $775 = HEAP8[$774>>0]|0; - $776 = $775&255; - $778 = $776; - } else { - $778 = 0; - } - $777 = $778&255; - $779 = (((($667) + (($666*80)|0)|0)) + 44|0); - HEAP8[$779>>0] = $777; - $780 = (($$2674756) + 14)|0; - $781 = ($780>>>0)<($2>>>0); - do { - if ($781) { - $782 = (($1) + ($780)|0); - $783 = HEAP8[$782>>0]|0; - $784 = $783&255; - $785 = $784 & 3; - $786 = ($785|0)==(0); - if ($786) { - $889 = $784; - label = 204; - break; - } - $788 = ($785|0)==(1); - $789 = (((($667) + (($666*80)|0)|0)) + 48|0); - $$sink = $788 ? 1 : 2; - HEAP32[$789>>2] = $$sink; - $791 = $784; - } else { - $889 = 0; - label = 204; - } - } while(0); - if ((label|0) == 204) { - label = 0; - $787 = (((($667) + (($666*80)|0)|0)) + 48|0); - HEAP32[$787>>2] = 0; - $791 = $889; - } - $790 = $791 >>> 1; - $792 = $790 & 8; - $793 = (($792) + 8)|0; - $794 = $793&255; - $795 = (((($667) + (($666*80)|0)|0)) + 23|0); - HEAP8[$795>>0] = $794; - $796 = (($$2674756) + 15)|0; - $797 = ($796>>>0)<($2>>>0); - if ($797) { - $798 = (($1) + ($796)|0); - $799 = HEAP8[$798>>0]|0; - $800 = $799&255; - $802 = $800; - } else { - $802 = 0; - } - $801 = (+($802|0)); - $803 = $801 / 255.0; - $804 = (((($667) + (($666*80)|0)|0)) + 52|0); - HEAPF32[$804>>2] = $803; - $805 = (($$2674756) + 16)|0; - $806 = ($805>>>0)<($2>>>0); - if ($806) { - $807 = (($1) + ($805)|0); - $808 = HEAP8[$807>>0]|0; - $809 = $808&255; - $811 = $809; - } else { - $811 = 0; - } - $810 = $811&255; - $812 = (((($667) + (($666*80)|0)|0)) + 56|0); - HEAP8[$812>>0] = $810; - $813 = (($667) + (($666*80)|0)|0); - _memcpy_pad($813,22,$1,$2,18); - $814 = (((($667) + (($666*80)|0)|0)) + 72|0); - HEAP32[$814>>2] = $$3757; - $815 = HEAP8[$795>>0]|0; - $816 = ($815<<24>>24)==(16); - $817 = HEAP32[$697>>2]|0; - if ($816) { - $818 = $817 << 1; - $819 = HEAP32[$728>>2]|0; - $820 = $819 >>> 1; - HEAP32[$728>>2] = $820; - $821 = HEAP32[$759>>2]|0; - $822 = $821 >>> 1; - HEAP32[$759>>2] = $822; - $823 = HEAP32[$762>>2]|0; - $824 = $823 >>> 1; - HEAP32[$762>>2] = $824; - $825 = HEAP32[$697>>2]|0; - $826 = $825 >>> 1; - HEAP32[$697>>2] = $826; - $$pn693 = $818; - } else { - $827 = $817 << 2; - $$pn693 = $827; - } - $$4 = (($$3757) + ($$pn693)|0); - $828 = (($$2674756) + ($$0687))|0; - $829 = (($$0679755) + 1)<<16>>16; - $664 = HEAP16[$373>>1]|0; - $830 = ($829&65535)<($664&65535); - if ($830) { - $$0679755 = $829;$$2674756 = $828;$$3757 = $$4; - } else { - break; - } - } - $663 = ($664<<16>>16)==(0); - if ($663) { - $$3$lcssa794 = $$4;$$3675$lcssa = $828; - } else { - $665 = (((($355) + (($354*280)|0)|0)) + 276|0); - $$0677769 = 0;$$3675770 = $828; - while(1) { - $834 = $$0677769&65535; - $835 = HEAP32[$665>>2]|0; - $836 = (((($835) + (($834*80)|0)|0)) + 24|0); - $837 = HEAP32[$836>>2]|0; - $838 = (((($835) + (($834*80)|0)|0)) + 23|0); - $839 = HEAP8[$838>>0]|0; - $840 = ($839<<24>>24)==(16); - $841 = ($837|0)!=(0); - if ($840) { - if ($841) { - $843 = (((($835) + (($834*80)|0)|0)) + 72|0); - $$0669766 = 0;$$0670765 = 0; - while(1) { - $sext691 = $$0670765 << 16; - $846 = $sext691 >> 16; - $847 = $$0669766 << 1; - $848 = (($847) + ($$3675770))|0; - $849 = ($848>>>0)<($2>>>0); - if ($849) { - $850 = (($1) + ($848)|0); - $851 = HEAP8[$850>>0]|0; - $852 = $851&255; - $861 = $852; - } else { - $861 = 0; - } - $853 = (($848) + 1)|0; - $854 = ($853>>>0)<($2>>>0); - if ($854) { - $855 = (($1) + ($853)|0); - $856 = HEAP8[$855>>0]|0; - $857 = $856&255; - $859 = $857; - } else { - $859 = 0; - } - $858 = $859 << 8; - $860 = $858 | $861; - $sext692 = $860 << 16; - $862 = $sext692 >> 16; - $863 = (($862) + ($846))|0; - $864 = $863&65535; - $865 = (+($864<<16>>16)); - $866 = $865 * 3.0517578125E-5; - $867 = HEAP32[$843>>2]|0; - $868 = (($867) + ($$0669766<<2)|0); - HEAPF32[$868>>2] = $866; - $869 = (($$0669766) + 1)|0; - $exitcond793 = ($869|0)==($837|0); - if ($exitcond793) { - break; - } else { - $$0669766 = $869;$$0670765 = $863; - } - } - } - $844 = HEAP32[$836>>2]|0; - $845 = $844 << 1; - $$pn = $845; - } else { - if ($841) { - $842 = (((($835) + (($834*80)|0)|0)) + 72|0); - $$0668761 = 0;$$0762 = 0; - while(1) { - $sext = $$0668761 << 24; - $871 = $sext >> 24; - $872 = (($$0762) + ($$3675770))|0; - $873 = ($872>>>0)<($2>>>0); - if ($873) { - $874 = (($1) + ($872)|0); - $875 = HEAP8[$874>>0]|0; - $876 = $875&255; - $877 = $876; - } else { - $877 = 0; - } - $sext690 = $877 << 24; - $878 = $sext690 >> 24; - $879 = (($878) + ($871))|0; - $880 = $879&255; - $881 = (+($880<<24>>24)); - $882 = $881 * 0.0078125; - $883 = HEAP32[$842>>2]|0; - $884 = (($883) + ($$0762<<2)|0); - HEAPF32[$884>>2] = $882; - $885 = (($$0762) + 1)|0; - $exitcond = ($885|0)==($837|0); - if ($exitcond) { - break; - } else { - $$0668761 = $879;$$0762 = $885; - } - } - } - $870 = HEAP32[$836>>2]|0; - $$pn = $870; - } - $$4676 = (($$pn) + ($$3675770))|0; - $886 = (($$0677769) + 1)<<16>>16; - $887 = HEAP16[$373>>1]|0; - $888 = ($886&65535)<($887&65535); - if ($888) { - $$0677769 = $886;$$3675770 = $$4676; - } else { - $$3$lcssa794 = $$4;$$3675$lcssa = $$4676; - break; - } - } - } - } - $831 = (($$0688776) + 1)<<16>>16; - $832 = HEAP16[$98>>1]|0; - $833 = ($831&65535)<($832&65535); - if ($833) { - $$0688776 = $831;$$1673777 = $$3675$lcssa;$$1778 = $$3$lcssa794; - } else { - $$1$lcssa = $$3$lcssa794; - break; - } - } - return ($$1$lcssa|0); -} -function _jar_xm_check_sanity_postload($0) { - $0 = $0|0; - var $$01520 = 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, $or$cond = 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; - $1 = ((($0)) + 46|0); - $2 = HEAP16[$1>>1]|0; - $3 = ($2<<16>>16)==(0); - if ($3) { - $26 = 0; - STACKTOP = sp;return ($26|0); - } - $4 = $2&65535; - $5 = ((($0)) + 52|0); - $6 = HEAP32[1039]|0; - $$01520 = 0;$16 = $4;$18 = $2;$8 = 0; - while(1) { - $7 = (((($0)) + 60|0) + ($8)|0); - $9 = HEAP8[$7>>0]|0; - $10 = $9&255; - $11 = HEAP16[$5>>1]|0; - $12 = $11&65535; - $13 = ($10>>>0)<($12>>>0); - if (!($13)) { - $14 = (($8) + 1)|0; - $15 = ($14|0)==($16|0); - $17 = ($18&65535)>(1); - $or$cond = $17 & $15; - if (!($or$cond)) { - break; - } - $19 = (($18) + -1)<<16>>16; - HEAP16[$1>>1] = $19; - HEAP32[$vararg_buffer>>2] = 9876; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - (_fprintf($6,9838,$vararg_buffer)|0); - (_fflush($6)|0); - } - $20 = (($$01520) + 1)<<24>>24; - $21 = $20&255; - $22 = HEAP16[$1>>1]|0; - $23 = $22&65535; - $24 = ($21>>>0)<($23>>>0); - if ($24) { - $$01520 = $20;$16 = $23;$18 = $22;$8 = $21; - } else { - $26 = 0; - label = 8; - break; - } - } - if ((label|0) == 8) { - STACKTOP = sp;return ($26|0); - } - HEAP32[$vararg_buffer2>>2] = 9876; - $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $8; - $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); - HEAP32[$vararg_ptr6>>2] = $10; - (_fprintf($6,9905,$vararg_buffer2)|0); - $25 = HEAP32[1039]|0; - (_fflush($25)|0); - $26 = 1; - STACKTOP = sp;return ($26|0); -} -function _jar_xm_free_context($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - _free($1); - return; -} -function _memcpy_pad($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($3>>>0)<($4>>>0); - $6 = (($3) - ($4))|0; - $$ = $5 ? 0 : $6; - $7 = ($$>>>0)>($1>>>0); - $8 = $7 ? $1 : $$; - $9 = (($2) + ($4)|0); - _memcpy(($0|0),($9|0),($8|0))|0; - $10 = (($0) + ($8)|0); - $11 = (($1) - ($8))|0; - _memset(($10|0),0,($11|0))|0; - return; -} -function _jar_xm_set_max_loop_count($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 385|0); - HEAP8[$2>>0] = $1; - return; -} -function _jar_xm_get_loop_count($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 384|0); - $2 = HEAP8[$1>>0]|0; - return ($2|0); -} -function _jar_xm_get_remaining_samples($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.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_jar_xm_get_loop_count($0)|0); - _jar_xm_set_max_loop_count($0,0); - $2 = (_jar_xm_get_loop_count($0)|0); - $3 = ($2<<24>>24)==($1<<24>>24); - if (!($3)) { - $15 = 0;$16 = 0; - $14 = ((($0)) + 384|0); - HEAP8[$14>>0] = $1; - tempRet0 = ($15); - return ($16|0); - } - $4 = ((($0)) + 352|0); - $6 = 0;$7 = 0; - while(1) { - $5 = +HEAPF32[$4>>2]; - $8 = (+($6>>>0)) + (4294967296.0*(+($7>>>0))); - $9 = $8 + $5; - $10 = (~~$9)>>>0; - $11 = +Math_abs($9) >= 1.0 ? $9 > 0.0 ? (~~+Math_min(+Math_floor($9 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($9 - +(~~$9 >>> 0)) / 4294967296.0) >>> 0 : 0; - HEAPF32[$4>>2] = 0.0; - _jar_xm_tick($0); - $12 = (_jar_xm_get_loop_count($0)|0); - $13 = ($12<<24>>24)==($1<<24>>24); - if ($13) { - $6 = $10;$7 = $11; - } else { - $15 = $11;$16 = $10; - break; - } - } - $14 = ((($0)) + 384|0); - HEAP8[$14>>0] = $1; - tempRet0 = ($15); - return ($16|0); -} -function _jar_xm_create_context_from_file($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$1 = 0, $$1$ph = 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, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_fopen($2,10958)|0); - $4 = ($3|0)==(0|0); - L1: do { - if ($4) { - $5 = HEAP32[1039]|0; - (_fwrite(9995,25,1,$5)|0); - (_fflush($5)|0); - $$1$ph = 3; - } else { - (_fseek($3,0,2)|0); - $6 = (_ftell($3)|0); - _rewind($3); - $7 = ($6|0)==(-1); - if ($7) { - (_fclose($3)|0); - $8 = HEAP32[1039]|0; - (_fwrite(10021,14,1,$8)|0); - (_fflush($8)|0); - $$1$ph = 4; - break; - } - $9 = (($6) + 1)|0; - $10 = (_malloc($9)|0); - $11 = (_fread($10,1,$6,$3)|0); - $12 = ($11>>>0)<($6>>>0); - (_fclose($3)|0); - if ($12) { - $13 = HEAP32[1039]|0; - (_fwrite(10036,14,1,$13)|0); - (_fflush($13)|0); - $$1$ph = 5; - break; - } - $14 = (_jar_xm_create_context_safe($0,$10,$6,$1)|0); - switch ($14|0) { - case 1: { - $15 = HEAP32[1039]|0; - (_fwrite(10051,45,1,$15)|0); - (_fflush($15)|0); - $$1$ph = 1; - break L1; - break; - } - case 2: { - $16 = HEAP32[1039]|0; - (_fwrite(10097,40,1,$16)|0); - (_fflush($16)|0); - _exit(1); - // unreachable; - break; - } - case 0: { - $$1 = 0; - return ($$1|0); - break; - } - default: { - $17 = HEAP32[1039]|0; - (_fwrite(10138,40,1,$17)|0); - (_fflush($17)|0); - _exit(1); - // unreachable; - } - } - } - } while(0); - HEAP32[$0>>2] = 0; - $$1 = $$1$ph; - return ($$1|0); -} function _InitAudioDevice() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; sp = STACKTOP; @@ -22927,7 +17353,7 @@ function _InitAudioDevice() { $0 = (_alcOpenDevice((0|0))|0); $1 = ($0|0)==(0|0); if ($1) { - _TraceLog(1,10179,$vararg_buffer); + _TraceLog(1,9326,$vararg_buffer); STACKTOP = sp;return; } $2 = (_alcCreateContext(($0|0),(0|0))|0); @@ -22942,7 +17368,7 @@ function _InitAudioDevice() { } $5 = (_alcGetString(($0|0),4101)|0); HEAP32[$vararg_buffer3>>2] = $5; - _TraceLog(0,10247,$vararg_buffer3); + _TraceLog(0,9394,$vararg_buffer3); _alListener3f(4100,0.0,0.0,0.0); _alListener3f(4102,0.0,0.0,0.0); _alListener3f(4111,0.0,0.0,-1.0); @@ -22951,7 +17377,7 @@ function _InitAudioDevice() { } } while(0); (_alcCloseDevice(($0|0))|0); - _TraceLog(1,10212,$vararg_buffer1); + _TraceLog(1,9359,$vararg_buffer1); STACKTOP = sp;return; } function _CloseAudioDevice() { @@ -22963,13 +17389,13 @@ function _CloseAudioDevice() { $0 = (_alcGetCurrentContext()|0); $1 = ($0|0)==(0|0); if ($1) { - _TraceLog(2,10301,$vararg_buffer); + _TraceLog(2,9448,$vararg_buffer); } $2 = (_alcGetContextsDevice(($0|0))|0); (_alcMakeContextCurrent((0|0))|0); _alcDestroyContext(($0|0)); (_alcCloseDevice(($2|0))|0); - _TraceLog(0,10349,$vararg_buffer1); + _TraceLog(0,9496,$vararg_buffer1); STACKTOP = sp;return; } function _stb_vorbis_open_filename($0,$1,$2) { @@ -22978,7 +17404,7 @@ function _stb_vorbis_open_filename($0,$1,$2) { $2 = $2|0; var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $3 = (_fopen($0,10958)|0); + $3 = (_fopen($0,10105)|0); $4 = ($3|0)==(0|0); if ($4) { $6 = ($1|0)==(0|0); @@ -23455,7 +17881,7 @@ function _convert_channels_short_interleaved($0,$1,$2,$3,$4,$5) { if ($9) { $$04956 = 0; } else { - ___assert_fail((10870|0),(10457|0),4749,(10881|0)); + ___assert_fail((10017|0),(9604|0),4759,(10028|0)); // unreachable; } while(1) { @@ -23791,7 +18217,7 @@ function _get_window($0,$1) { if ($8) { $$sink = 1; } else { - ___assert_fail((10455|0),(10457|0),2655,(10479|0)); + ___assert_fail((9602|0),(9604|0),2658,(9626|0)); // unreachable; } } @@ -23874,7 +18300,7 @@ function _vorbis_decode_initial($0,$1,$2,$3,$4,$5) { $28 = HEAP32[$27>>2]|0; $29 = ($26|0)==($28|0); if (!($29)) { - ___assert_fail((10490|0),(10457|0),2734,(10848|0)); + ___assert_fail((9637|0),(9604|0),2737,(9995|0)); // unreachable; } } @@ -24046,7 +18472,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $51 = HEAP8[$50>>0]|0; $52 = $51&255; $53 = (($52) + -1)|0; - $54 = (3112 + ($53<<2)|0); + $54 = (2980 + ($53<<2)|0); $55 = HEAP32[$54>>2]|0; $56 = (((($0)) + 996|0) + ($$041263<<2)|0); $57 = HEAP32[$56>>2]|0; @@ -24369,7 +18795,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $223 = HEAP32[$222>>2]|0; $224 = ($221|0)==($223|0); if (!($224)) { - ___assert_fail((10490|0),(10457|0),2883,(10546|0)); + ___assert_fail((9637|0),(9604|0),2886,(9693|0)); // unreachable; } } @@ -24493,7 +18919,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $281 = HEAP32[$280>>2]|0; $282 = ($279|0)==($281|0); if (!($282)) { - ___assert_fail((10490|0),(10457|0),2916,(10546|0)); + ___assert_fail((9637|0),(9604|0),2919,(9693|0)); // unreachable; } } @@ -24722,7 +19148,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $390 = HEAP32[$389>>2]|0; $391 = ($388|0)==($390|0); if (!($391)) { - ___assert_fail((10490|0),(10457|0),3032,(10546|0)); + ___assert_fail((9637|0),(9604|0),3035,(9693|0)); // unreachable; } } @@ -24814,69 +19240,82 @@ function _get_bits($0,$1) { function _ilog($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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; - $1 = ($0|0)<(16384); + $1 = ($0|0)<(0); if ($1) { - $2 = ($0|0)<(16); - if ($2) { - $3 = (10832 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $$0 = $5; + $$0 = 0; + return ($$0|0); + } + $2 = ($0|0)<(16384); + if ($2) { + $3 = ($0|0)<(16); + if ($3) { + $4 = (9979 + ($0)|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5 << 24 >> 24; + $$0 = $6; return ($$0|0); } - $6 = ($0|0)<(512); - if ($6) { - $7 = $0 >>> 5; - $8 = (10832 + ($7)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = (($10) + 5)|0; - $$0 = $11; + $7 = ($0|0)<(512); + if ($7) { + $8 = $0 >>> 5; + $9 = (9979 + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($11) + 5)|0; + $$0 = $12; return ($$0|0); } else { - $12 = $0 >>> 10; - $13 = (10832 + ($12)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = (($15) + 10)|0; - $$0 = $16; + $13 = $0 >>> 10; + $14 = (9979 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = (($16) + 10)|0; + $$0 = $17; return ($$0|0); } } - $17 = ($0|0)<(16777216); - if (!($17)) { - $29 = ($0|0)<(536870912); - if (!($29)) { - $$0 = 0; - return ($$0|0); - } - $30 = $0 >>> 25; - $31 = (10832 + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32 << 24 >> 24; - $34 = (($33) + 25)|0; - $$0 = $34; - return ($$0|0); - } - $18 = ($0|0)<(524288); + $18 = ($0|0)<(16777216); if ($18) { - $19 = $0 >>> 15; - $20 = (10832 + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21 << 24 >> 24; - $23 = (($22) + 15)|0; - $$0 = $23; - return ($$0|0); + $19 = ($0|0)<(524288); + if ($19) { + $20 = $0 >>> 15; + $21 = (9979 + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = (($23) + 15)|0; + $$0 = $24; + return ($$0|0); + } else { + $25 = $0 >>> 20; + $26 = (9979 + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = (($28) + 20)|0; + $$0 = $29; + return ($$0|0); + } } else { - $24 = $0 >>> 20; - $25 = (10832 + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; - $28 = (($27) + 20)|0; - $$0 = $28; - return ($$0|0); + $30 = ($0|0)<(536870912); + if ($30) { + $31 = $0 >>> 25; + $32 = (9979 + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = (($34) + 25)|0; + $$0 = $35; + return ($$0|0); + } else { + $36 = $0 >>> 30; + $37 = (9979 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = (($39) + 30)|0; + $$0 = $40; + return ($$0|0); + } } return (0)|0; } @@ -25040,7 +19479,7 @@ function _codebook_decode_scalar_raw($0,$1) { $50 = HEAP8[$49>>0]|0; $51 = ($50<<24>>24)==(0); if (!($51)) { - ___assert_fail((10794|0),(10457|0),1251,(10805|0)); + ___assert_fail((9941|0),(9604|0),1254,(9952|0)); // unreachable; } $52 = HEAP32[$8>>2]|0; @@ -25959,7 +20398,7 @@ function _do_floor($0,$1,$2,$3,$4,$5) { if (!($46)) { return; } - $47 = (3128 + ($$062$lcssa<<2)|0); + $47 = (2996 + ($$062$lcssa<<2)|0); $48 = +HEAPF32[$47>>2]; $$0661 = $$063$lcssa; while(1) { @@ -26590,7 +21029,7 @@ function _get8_packet_raw($0) { $$pr = HEAP8[$1>>0]|0; $9 = ($$pr<<24>>24)==(0); if ($9) { - ___assert_fail((10572|0),(10457|0),1135,(10592|0)); + ___assert_fail((9719|0),(9604|0),1138,(9739|0)); // unreachable; } else { $11 = $$pr; @@ -26669,7 +21108,7 @@ function _next_segment($0) { $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)==(0); if (!($29)) { - ___assert_fail((10608|0),(10457|0),1121,(10629|0)); + ___assert_fail((9755|0),(9604|0),1124,(9776|0)); // unreachable; } HEAP8[$27>>0] = $20; @@ -26977,7 +21416,7 @@ function _imdct_step3_iter0_loop($0,$1,$2,$3,$4) { $6 = $0 & 3; $7 = ($6|0)==(0); if (!($7)) { - ___assert_fail((10642|0),(10457|0),2004,(10655|0)); + ___assert_fail((9789|0),(9604|0),2007,(9802|0)); // unreachable; } $8 = $0 >> 2; @@ -27593,7 +22032,7 @@ function _draw_line($0,$1,$2,$3,$4,$5) { if (!($16)) { return; } - $17 = (3128 + ($2<<2)|0); + $17 = (2996 + ($2<<2)|0); $18 = +HEAPF32[$17>>2]; $19 = (($0) + ($1<<2)|0); $20 = +HEAPF32[$19>>2]; @@ -27614,7 +22053,7 @@ function _draw_line($0,$1,$2,$3,$4,$5) { $$1 = (($23) - ($26))|0; $$0$pn = (($$155$sink67) + ($9))|0; $$155 = (($$0$pn) + ($25))|0; - $27 = (3128 + ($$155<<2)|0); + $27 = (2996 + ($$155<<2)|0); $28 = +HEAPF32[$27>>2]; $29 = (($0) + ($$05669<<2)|0); $30 = +HEAPF32[$29>>2]; @@ -27833,7 +22272,7 @@ function _codebook_decode_deinterleave_repeat($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 12) { - ___assert_fail((10722|0),(10457|0),1433,(10758|0)); + ___assert_fail((9869|0),(9604|0),1436,(9905|0)); // unreachable; } $46 = ((($0)) + 1376|0); @@ -28130,7 +22569,7 @@ function _codebook_decode_start($0,$1) { $29 = HEAP32[$28>>2]|0; $30 = ($$1|0)<($29|0); if (!($30)) { - ___assert_fail((10678|0),(10457|0),1339,(10700|0)); + ___assert_fail((9825|0),(9604|0),1342,(9847|0)); // unreachable; } } @@ -28349,7 +22788,7 @@ function _compute_stereo_samples($0,$1,$2,$3,$4) { $17 = (($$07593) + ($3))|0; $$07488 = 0; while(1) { - $20 = ((10916 + (($1*6)|0)|0) + ($$07488)|0); + $20 = ((10063 + (($1*6)|0)|0) + ($$07488)|0); $21 = HEAP8[$20>>0]|0; $trunc = $21 & 6; $trunc$clear = $trunc & 7; @@ -28683,15 +23122,15 @@ function _vorbis_find_page($0,$1,$2) { break; } $72 = (_get8($0)|0); - $73 = HEAP8[(4153)>>0]|0; + $73 = HEAP8[(4021)>>0]|0; $74 = ($72<<24>>24)==($73<<24>>24); if ($74) { $75 = (_get8($0)|0); - $76 = HEAP8[(4154)>>0]|0; + $76 = HEAP8[(4022)>>0]|0; $77 = ($75<<24>>24)==($76<<24>>24); if ($77) { $198 = (_get8($0)|0); - $199 = HEAP8[(4155)>>0]|0; + $199 = HEAP8[(4023)>>0]|0; $200 = ($198<<24>>24)==($199<<24>>24); $$ = $200 ? 4 : 3; $$082$lcssa = $$; @@ -28711,7 +23150,7 @@ function _vorbis_find_page($0,$1,$2) { $80 = ($$082$lcssa|0)==(4); L13: do { if ($80) { - $81 = HEAP32[1038]|0; + $81 = HEAP32[1005]|0; HEAP32[$3>>2] = $81; $82 = (_get8($0)|0); HEAP8[$15>>0] = $82; @@ -28948,7 +23387,7 @@ function _crc32_update($0,$1) { $3 = $1&255; $4 = $0 >>> 24; $5 = $3 ^ $4; - $6 = (20532 + ($5<<2)|0); + $6 = (19580 + ($5<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = $7 ^ $2; return ($8|0); @@ -28995,7 +23434,7 @@ function _stb_vorbis_open_file_section($0,$1,$2,$3,$4) { $14 = ($13|0)==(0|0); if (!($14)) { _memcpy(($13|0),($5|0),1512)|0; - _vorbis_pump_first_frame($13); + (_vorbis_pump_first_frame($13)|0); $$0 = $13; STACKTOP = sp;return ($$0|0); } @@ -31256,7 +25695,7 @@ function _start_decoder($0) { $868 = HEAP32[$867>>2]|0; $869 = ($866|0)==($868|0); if (!($869)) { - ___assert_fail((10961|0),(10457|0),3709,(11017|0)); + ___assert_fail((10108|0),(9604|0),3714,(10164|0)); // unreachable; } $870 = ((($0)) + 88|0); @@ -31297,13 +25736,13 @@ function _vorbis_pump_first_frame($0) { $4 = (_vorbis_decode_packet($0,$1,$3,$2)|0); $5 = ($4|0)==(0); if ($5) { - STACKTOP = sp;return; + STACKTOP = sp;return ($4|0); } $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$3>>2]|0; $8 = HEAP32[$2>>2]|0; (_vorbis_finish_frame($0,$6,$7,$8)|0); - STACKTOP = sp;return; + STACKTOP = sp;return ($4|0); } function _setup_malloc($0,$1) { $0 = $0|0; @@ -31350,7 +25789,7 @@ function _vorbis_validate($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (_memcmp($0,11333,6)|0); + $1 = (_memcmp($0,10480,6)|0); $2 = ($1|0)==(0); $3 = $2&1; return ($3|0); @@ -31471,7 +25910,7 @@ function _is_whole_packet_present($0,$1) { label = 12; break; } - $32 = (_memcmp($$274,4152,4)|0); + $32 = (_memcmp($$274,4020,4)|0); $33 = ($32|0)==(0); if (!($33)) { label = 14; @@ -31647,7 +26086,7 @@ function _crc32_init() { $30 = $25 >> 31; $31 = $30 & 79764919; $32 = $31 ^ $29; - $33 = (20532 + ($$01417<<2)|0); + $33 = (19580 + ($$01417<<2)|0); HEAP32[$33>>2] = $32; $34 = (($$01417) + 1)|0; $exitcond = ($34|0)==(256); @@ -31728,7 +26167,7 @@ function _compute_codewords($0,$1,$2,$3) { $$2 = 1; STACKTOP = sp;return ($$2|0); } else { - ___assert_fail((11230|0),(10457|0),662,(11253|0)); + ___assert_fail((10377|0),(9604|0),665,(10400|0)); // unreachable; } } @@ -31861,15 +26300,15 @@ function _compute_codewords($0,$1,$2,$3) { } } if ((label|0) == 17) { - ___assert_fail((11271|0),(10457|0),685,(11253|0)); + ___assert_fail((10418|0),(9604|0),688,(10400|0)); // unreachable; } else if ((label|0) == 21) { - ___assert_fail((11288|0),(10457|0),690,(11253|0)); + ___assert_fail((10435|0),(9604|0),693,(10400|0)); // unreachable; } else if ((label|0) == 23) { - ___assert_fail((11315|0),(10457|0),692,(11253|0)); + ___assert_fail((10462|0),(9604|0),695,(10400|0)); // unreachable; } else if ((label|0) == 25) { @@ -31934,7 +26373,7 @@ function _compute_sorted_huffman($0,$1,$2) { $33 = HEAP32[$32>>2]|0; $34 = ($$084$lcssa|0)==($33|0); if (!($34)) { - ___assert_fail((11122|0),(10457|0),759,(11145|0)); + ___assert_fail((10269|0),(9604|0),762,(10292|0)); // unreachable; } } else { @@ -32068,7 +26507,7 @@ function _compute_sorted_huffman($0,$1,$2) { } } if ((label|0) == 21) { - ___assert_fail((11168|0),(10457|0),789,(11145|0)); + ___assert_fail((10315|0),(9604|0),792,(10292|0)); // unreachable; } else if ((label|0) == 26) { @@ -32203,7 +26642,7 @@ function _lookup1_values($0,$1) { $24 = (+($0|0)); $25 = $23 > $24; if (!($25)) { - ___assert_fail((11031|0),(10457|0),814,(11063|0)); + ___assert_fail((10178|0),(9604|0),817,(10210|0)); // unreachable; } $26 = $20; @@ -32212,7 +26651,7 @@ function _lookup1_values($0,$1) { $29 = (~~(($28))); $30 = ($29|0)>($0|0); if ($30) { - ___assert_fail((11078|0),(10457|0),815,(11063|0)); + ___assert_fail((10225|0),(9604|0),818,(10210|0)); // unreachable; } else { return ($$|0); @@ -32524,7 +26963,7 @@ function _include_in_sort($0,$1) { return ($$$|0); } if ($5) { - ___assert_fail((11199|0),(10457|0),739,(11214|0)); + ___assert_fail((10346|0),(9604|0),742,(10361|0)); // unreachable; } else { return 1; @@ -32579,119 +27018,74 @@ function _add_entry($0,$1,$2,$3,$4,$5) { } function _LoadMusicStream($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.0, $39 = 0.0, $4 = 0, $40 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $vararg_ptr24 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $vararg_buffer28 = sp + 72|0; - $vararg_buffer25 = sp + 64|0; - $vararg_buffer21 = sp + 48|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $vararg_buffer17 = sp + 40|0; $vararg_buffer13 = sp + 32|0; $vararg_buffer9 = sp + 24|0; $vararg_buffer5 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $1 = sp + 136|0; - $2 = sp + 104|0; - $3 = sp + 76|0; - $4 = (_malloc(52)|0); - $5 = (_IsFileExtension($0,10382)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_stb_vorbis_open_filename($0,0,0)|0); - $8 = ((($4)) + 4|0); - HEAP32[$8>>2] = $7; - $9 = ($7|0)==(0|0); - if ($9) { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11339,$vararg_buffer); - STACKTOP = sp;return ($4|0); - } else { - $10 = HEAP32[$8>>2]|0; - _stb_vorbis_get_info($1,$10); - $11 = ((($4)) + 12|0); - $12 = HEAP32[$1>>2]|0; - $13 = ((($1)) + 4|0); - $14 = HEAP32[$13>>2]|0; - _InitAudioStream($2,$12,16,$14); - ;HEAP32[$11>>2]=HEAP32[$2>>2]|0;HEAP32[$11+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[$2+24>>2]|0; - $15 = HEAP32[$8>>2]|0; - $16 = (_stb_vorbis_stream_length_in_samples($15)|0); - $17 = ((($4)) + 44|0); - HEAP32[$17>>2] = $16; - $18 = ((($4)) + 48|0); - HEAP32[$18>>2] = $16; - HEAP32[$4>>2] = 0; - $19 = ((($4)) + 40|0); - HEAP32[$19>>2] = -1; - $20 = HEAP32[$17>>2]|0; - HEAP32[$vararg_buffer1>>2] = $0; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $20; - _TraceLog(3,11379,$vararg_buffer1); - $21 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer5>>2] = $0; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $21; - _TraceLog(3,11407,$vararg_buffer5); - $22 = HEAP32[$13>>2]|0; - HEAP32[$vararg_buffer9>>2] = $0; - $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $22; - _TraceLog(3,11432,$vararg_buffer9); - $23 = ((($1)) + 16|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$vararg_buffer13>>2] = $0; - $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); - HEAP32[$vararg_ptr16>>2] = $24; - _TraceLog(3,11454,$vararg_buffer13); - STACKTOP = sp;return ($4|0); - } - } - $25 = (_IsFileExtension($0,11483)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[$vararg_buffer28>>2] = $0; - _TraceLog(2,10387,$vararg_buffer28); - STACKTOP = sp;return ($4|0); - } - $27 = ((($4)) + 8|0); - $28 = (_jar_xm_create_context_from_file($27,48000,$0)|0); - $29 = ($28|0)==(0); - if ($29) { - $30 = HEAP32[$27>>2]|0; - _jar_xm_set_max_loop_count($30,0); - $31 = ((($4)) + 12|0); - _InitAudioStream($3,48000,16,2); - ;HEAP32[$31>>2]=HEAP32[$3>>2]|0;HEAP32[$31+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$31+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$31+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$31+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$31+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$31+24>>2]=HEAP32[$3+24>>2]|0; - $32 = (_jar_xm_get_remaining_samples($30)|0); - $33 = tempRet0; - $34 = ((($4)) + 44|0); - HEAP32[$34>>2] = $32; - $35 = ((($4)) + 48|0); - HEAP32[$35>>2] = $32; - HEAP32[$4>>2] = 2; - $36 = ((($4)) + 40|0); - HEAP32[$36>>2] = -1; - $37 = HEAP32[$34>>2]|0; + $1 = sp + 72|0; + $2 = sp + 44|0; + $3 = (_malloc(48)|0); + $4 = (_IsFileExtension($0,9529)|0); + $5 = ($4|0)==(0); + if ($5) { HEAP32[$vararg_buffer17>>2] = $0; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $37; - _TraceLog(3,11487,$vararg_buffer17); - $38 = (+($37>>>0)); - $39 = $38 / 48000.0; - $40 = $39; - HEAP32[$vararg_buffer21>>2] = $0; - $vararg_ptr24 = ((($vararg_buffer21)) + 8|0); - HEAPF64[$vararg_ptr24>>3] = $40; - _TraceLog(3,11517,$vararg_buffer21); - STACKTOP = sp;return ($4|0); + _TraceLog(2,9534,$vararg_buffer17); + STACKTOP = sp;return ($3|0); + } + $6 = (_stb_vorbis_open_filename($0,0,0)|0); + $7 = ((($3)) + 4|0); + HEAP32[$7>>2] = $6; + $8 = ($6|0)==(0|0); + if ($8) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(2,10486,$vararg_buffer); + STACKTOP = sp;return ($3|0); } else { - HEAP32[$vararg_buffer25>>2] = $0; - _TraceLog(2,11550,$vararg_buffer25); - STACKTOP = sp;return ($4|0); + $9 = HEAP32[$7>>2]|0; + _stb_vorbis_get_info($1,$9); + $10 = ((($3)) + 8|0); + $11 = HEAP32[$1>>2]|0; + $12 = ((($1)) + 4|0); + $13 = HEAP32[$12>>2]|0; + _InitAudioStream($2,$11,16,$13); + ;HEAP32[$10>>2]=HEAP32[$2>>2]|0;HEAP32[$10+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$10+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$10+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$10+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$10+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$10+24>>2]=HEAP32[$2+24>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = (_stb_vorbis_stream_length_in_samples($14)|0); + $16 = ((($3)) + 40|0); + HEAP32[$16>>2] = $15; + $17 = ((($3)) + 44|0); + HEAP32[$17>>2] = $15; + HEAP32[$3>>2] = 0; + $18 = ((($3)) + 36|0); + HEAP32[$18>>2] = -1; + $19 = HEAP32[$16>>2]|0; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $19; + _TraceLog(3,10526,$vararg_buffer1); + $20 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer5>>2] = $0; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $20; + _TraceLog(3,10554,$vararg_buffer5); + $21 = HEAP32[$12>>2]|0; + HEAP32[$vararg_buffer9>>2] = $0; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $21; + _TraceLog(3,10579,$vararg_buffer9); + $22 = ((($1)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$vararg_buffer13>>2] = $0; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $23; + _TraceLog(3,10601,$vararg_buffer13); + STACKTOP = sp;return ($3|0); } return (0)|0; } @@ -32761,14 +27155,14 @@ function _InitAudioStream($0,$1,$2,$3) { } default: { HEAP32[$vararg_buffer4>>2] = $2; - _TraceLog(2,11639,$vararg_buffer4); + _TraceLog(2,10686,$vararg_buffer4); $26 = $9; break L1; } } } else { HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(2,11583,$vararg_buffer); + _TraceLog(2,10630,$vararg_buffer); $8 = ((($4)) + 8|0); HEAP32[$8>>2] = 1; $55 = $8; @@ -32801,7 +27195,7 @@ function _InitAudioStream($0,$1,$2,$3) { } default: { HEAP32[$vararg_buffer1>>2] = $2; - _TraceLog(2,11639,$vararg_buffer1); + _TraceLog(2,10686,$vararg_buffer1); $26 = $55; break L10; } @@ -32855,7 +27249,7 @@ function _InitAudioStream($0,$1,$2,$3) { $51 = HEAP32[$6>>2]|0; $52 = HEAP32[$26>>2]|0; $53 = ($52|0)==(1); - $54 = $53 ? 10443 : 10448; + $54 = $53 ? 9590 : 9595; HEAP32[$vararg_buffer7>>2] = $49; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $50; @@ -32863,42 +27257,30 @@ function _InitAudioStream($0,$1,$2,$3) { HEAP32[$vararg_ptr11>>2] = $51; $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); HEAP32[$vararg_ptr12>>2] = $54; - _TraceLog(0,11688,$vararg_buffer7); + _TraceLog(0,10735,$vararg_buffer7); ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$4+24>>2]|0; STACKTOP = sp;return; } function _UnloadMusicStream($0) { $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - $1 = ((($0)) + 12|0); + $1 = ((($0)) + 8|0); ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0; _CloseAudioStream($$byval_copy); $2 = HEAP32[$0>>2]|0; - switch ($2|0) { - case 0: { - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - _stb_vorbis_close($4); - _free($0); - STACKTOP = sp;return; - break; - } - case 2: { - $5 = ((($0)) + 8|0); - $6 = HEAP32[$5>>2]|0; - _jar_xm_free_context($6); - _free($0); - STACKTOP = sp;return; - break; - } - default: { + $3 = ($2|0)==(0); + if (!($3)) { _free($0); STACKTOP = sp;return; } - } + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + _stb_vorbis_close($5); + _free($0); + STACKTOP = sp;return; } function _CloseAudioStream($0) { $0 = $0|0; @@ -32935,14 +27317,14 @@ function _CloseAudioStream($0) { _alDeleteBuffers(2,($11|0)); $12 = HEAP32[$3>>2]|0; HEAP32[$vararg_buffer>>2] = $12; - _TraceLog(0,11753,$vararg_buffer); + _TraceLog(0,10800,$vararg_buffer); STACKTOP = sp;return; } function _PlayMusicStream($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 28|0); + $1 = ((($0)) + 24|0); $2 = HEAP32[$1>>2]|0; _alSourcePlay(($2|0)); return; @@ -32951,7 +27333,7 @@ function _PauseMusicStream($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 28|0); + $1 = ((($0)) + 24|0); $2 = HEAP32[$1>>2]|0; _alSourcePause(($2|0)); return; @@ -32962,7 +27344,7 @@ function _ResumeMusicStream($0) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; - $2 = ((($0)) + 28|0); + $2 = ((($0)) + 24|0); $3 = HEAP32[$2>>2]|0; _alGetSourcei(($3|0),4112,($1|0)); $4 = HEAP32[$1>>2]|0; @@ -32979,20 +27361,20 @@ function _StopMusicStream($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 28|0); + $1 = ((($0)) + 24|0); $2 = HEAP32[$1>>2]|0; _alSourceStop(($2|0)); - $3 = ((($0)) + 16|0); + $3 = ((($0)) + 12|0); $4 = HEAP32[$3>>2]|0; $5 = $4 << 9; $6 = $5 & 536870400; - $7 = ((($0)) + 20|0); + $7 = ((($0)) + 16|0); $8 = HEAP32[$7>>2]|0; $9 = Math_imul($6, $8)|0; $10 = (_calloc($9,1)|0); - $11 = ((($0)) + 24|0); - $12 = ((($0)) + 12|0); - $13 = ((($0)) + 32|0); + $11 = ((($0)) + 20|0); + $12 = ((($0)) + 8|0); + $13 = ((($0)) + 28|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$11>>2]|0; $16 = HEAP32[$3>>2]|0; @@ -33002,7 +27384,7 @@ function _StopMusicStream($0) { $20 = Math_imul($18, $19)|0; $21 = HEAP32[$12>>2]|0; _alBufferData(($14|0),($15|0),($10|0),($20|0),($21|0)); - $22 = ((($0)) + 36|0); + $22 = ((($0)) + 32|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$11>>2]|0; $25 = HEAP32[$3>>2]|0; @@ -33016,24 +27398,24 @@ function _StopMusicStream($0) { $31 = HEAP32[$0>>2]|0; $cond = ($31|0)==(0); if (!($cond)) { - $34 = ((($0)) + 44|0); + $34 = ((($0)) + 40|0); $35 = HEAP32[$34>>2]|0; - $36 = ((($0)) + 48|0); + $36 = ((($0)) + 44|0); HEAP32[$36>>2] = $35; return; } $32 = ((($0)) + 4|0); $33 = HEAP32[$32>>2]|0; - _stb_vorbis_seek_start($33); - $34 = ((($0)) + 44|0); + (_stb_vorbis_seek_start($33)|0); + $34 = ((($0)) + 40|0); $35 = HEAP32[$34>>2]|0; - $36 = ((($0)) + 48|0); + $36 = ((($0)) + 44|0); HEAP32[$36>>2] = $35; return; } function _stb_vorbis_seek_start($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; + 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; $1 = ((($0)) + 48|0); $2 = HEAP8[$1>>0]|0; @@ -33048,18 +27430,21 @@ function _stb_vorbis_seek_start($0) { HEAP8[$7>>0] = 1; $8 = ((($0)) + 1380|0); HEAP32[$8>>2] = -1; - _vorbis_pump_first_frame($0); - return; + $9 = (_vorbis_pump_first_frame($0)|0); + $$0 = $9; + return ($$0|0); } else { _error($0,2); - return; + $$0 = 0; + return ($$0|0); } + return (0)|0; } function _UpdateMusicStream($0) { $0 = $0|0; - var $$ = 0, $$0 = 0, $$04143 = 0, $$byval_copy = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $$ = 0, $$0 = 0, $$03840 = 0, $$byval_copy = 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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); $$byval_copy = sp + 12|0; @@ -33067,8 +27452,8 @@ function _UpdateMusicStream($0) { $1 = sp + 8|0; $2 = sp + 4|0; HEAP32[$2>>2] = 0; - $3 = ((($0)) + 12|0); - $4 = ((($0)) + 28|0); + $3 = ((($0)) + 8|0); + $4 = ((($0)) + 24|0); $5 = HEAP32[$4>>2]|0; _alGetSourcei(($5|0),4112,($1|0)); $6 = HEAP32[$4>>2]|0; @@ -33078,10 +27463,10 @@ function _UpdateMusicStream($0) { if (!($8)) { STACKTOP = sp;return; } - $9 = ((($0)) + 20|0); + $9 = ((($0)) + 16|0); $10 = HEAP32[$9>>2]|0; $11 = $10 << 12; - $12 = ((($0)) + 16|0); + $12 = ((($0)) + 12|0); $13 = HEAP32[$12>>2]|0; $14 = Math_imul($11, $13)|0; $15 = $14 >>> 3; @@ -33090,74 +27475,64 @@ function _UpdateMusicStream($0) { $18 = ($17|0)>(0); L4: do { if ($18) { - $19 = ((($0)) + 48|0); + $19 = ((($0)) + 44|0); $20 = ((($0)) + 4|0); - $21 = ((($0)) + 8|0); - $$04143 = 0; + $$03840 = 0; while(1) { - $24 = HEAP32[$19>>2]|0; - $25 = ($24>>>0)<(4096); - $$ = $25 ? $24 : 4096; - $26 = HEAP32[$0>>2]|0; - switch ($26|0) { - case 0: { - $27 = HEAP32[$20>>2]|0; - $28 = HEAP32[$9>>2]|0; - $29 = Math_imul($28, $$)|0; - (_stb_vorbis_get_samples_short_interleaved($27,$28,$16,$29)|0); - break; - } - case 2: { - $30 = HEAP32[$21>>2]|0; - _jar_xm_generate_samples_16bit($30,$16,$$); - break; - } - default: { - } + $23 = HEAP32[$19>>2]|0; + $24 = ($23>>>0)<(4096); + $$ = $24 ? $23 : 4096; + $25 = HEAP32[$0>>2]|0; + $cond = ($25|0)==(0); + if ($cond) { + $26 = HEAP32[$20>>2]|0; + $27 = HEAP32[$9>>2]|0; + $28 = Math_imul($27, $$)|0; + (_stb_vorbis_get_samples_short_interleaved($26,$27,$16,$28)|0); } ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0; _UpdateAudioStream($$byval_copy,$16,$$); - $31 = HEAP32[$19>>2]|0; - $32 = (($31) - ($$))|0; - HEAP32[$19>>2] = $32; - $33 = ($32|0)==(0); - $23 = (($$04143) + 1)|0; - if ($33) { + $29 = HEAP32[$19>>2]|0; + $30 = (($29) - ($$))|0; + HEAP32[$19>>2] = $30; + $31 = ($30|0)==(0); + $22 = (($$03840) + 1)|0; + if ($31) { $$0 = 0; break L4; } - $22 = ($23|0)<($17|0); - if ($22) { - $$04143 = $23; + $21 = ($22|0)<($17|0); + if ($21) { + $$03840 = $22; } else { $$0 = 1; - break L4; + break; } } } else { $$0 = 1; } } while(0); - $34 = (_alGetError()|0); - $35 = ($34|0)==(40963); - if ($35) { - _TraceLog(2,11792,$vararg_buffer); + $32 = (_alGetError()|0); + $33 = ($32|0)==(40963); + if ($33) { + _TraceLog(2,10839,$vararg_buffer); } - $36 = ($$0|0)==(0); - if ($36) { + $34 = ($$0|0)==(0); + if ($34) { _StopMusicStream($0); - $37 = ((($0)) + 40|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)>(0); - if ($39) { - $40 = (($38) + -1)|0; - HEAP32[$37>>2] = $40; + $35 = ((($0)) + 36|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)>(0); + if ($37) { + $38 = (($36) + -1)|0; + HEAP32[$35>>2] = $38; _PlayMusicStream($0); } } else { - $41 = HEAP32[$1>>2]|0; - $42 = ($41|0)==(4114); - if (!($42)) { + $39 = HEAP32[$1>>2]|0; + $40 = ($39|0)==(4114); + if (!($40)) { _PlayMusicStream($0); } } @@ -33201,10 +27576,10 @@ function _GetMusicTimeLength($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 44|0); + $1 = ((($0)) + 40|0); $2 = HEAP32[$1>>2]|0; $3 = (+($2>>>0)); - $4 = ((($0)) + 12|0); + $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; $6 = (+($5>>>0)); $7 = $3 / $6; @@ -33214,13 +27589,13 @@ function _GetMusicTimePlayed($0) { $0 = $0|0; var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 44|0); + $1 = ((($0)) + 40|0); $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 48|0); + $3 = ((($0)) + 44|0); $4 = HEAP32[$3>>2]|0; $5 = (($2) - ($4))|0; $6 = (+($5>>>0)); - $7 = ((($0)) + 12|0); + $7 = ((($0)) + 8|0); $8 = HEAP32[$7>>2]|0; $9 = (+($8>>>0)); $10 = $6 / $9; @@ -33272,7 +27647,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11824)|0); + $12 = (_strstr($11,10871)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -33281,7 +27656,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11828)|0); + $17 = (_strstr($16,10875)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -33290,7 +27665,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11832)|0); + $22 = (_strstr($21,10879)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -33299,7 +27674,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11836)|0); + $27 = (_strstr($26,10883)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -33308,1210 +27683,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11842)|0); + $32 = (_strcmp($31,10889)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11880)|0); + $35 = (_strcmp($34,10927)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11899; + HEAP32[$3>>2] = 10946; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11912)|0); + $38 = (_strcmp($37,10959)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11933; + HEAP32[$3>>2] = 10980; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11948)|0); + $41 = (_strcmp($40,10995)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11963; + HEAP32[$3>>2] = 11010; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11978)|0); + $44 = (_strcmp($43,11025)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11993; + HEAP32[$3>>2] = 11040; } } else { - HEAP32[$3>>2] = 11864; + HEAP32[$3>>2] = 10911; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12008)|0); + $47 = (_strcmp($46,11055)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12022)|0); + $50 = (_strcmp($49,11069)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 2; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12034)|0); + $53 = (_strcmp($52,11081)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 6; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12048)|0); + $56 = (_strcmp($55,11095)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 7; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12060)|0); + $59 = (_strcmp($58,11107)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 8; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12074)|0); + $62 = (_strcmp($61,11121)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 9; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12088)|0); + $65 = (_strcmp($64,11135)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 10; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12105)|0); + $68 = (_strcmp($67,11152)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12128)|0); + $71 = (_strcmp($70,11175)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12154)|0); + $74 = (_strcmp($73,11201)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12167)|0); + $77 = (_strcmp($76,11214)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12183)|0); + $80 = (_strcmp($79,11230)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12196)|0); + $83 = (_strcmp($82,11243)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 11; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12210)|0); + $86 = (_strcmp($85,11257)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12230)|0); + $89 = (_strcmp($88,11277)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12250)|0); + $92 = (_strcmp($91,11297)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12267)|0); + $95 = (_strcmp($94,11314)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12284)|0); + $98 = (_strcmp($97,11331)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 3; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12296)|0); + $101 = (_strcmp($100,11343)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 12; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12309)|0); + $104 = (_strcmp($103,11356)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 13; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12325)|0); + $107 = (_strcmp($106,11372)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12348)|0); + $110 = (_strcmp($109,11395)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12361)|0); + $113 = (_strcmp($112,11408)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12377)|0); + $116 = (_strcmp($115,11424)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 4; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12388)|0); + $119 = (_strcmp($118,11435)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 14; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12407)|0); + $122 = (_strcmp($121,11454)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 15; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12429)|0); + $125 = (_strcmp($124,11476)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 16; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12448)|0); + $128 = (_strcmp($127,11495)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12477)|0); + $131 = (_strcmp($130,11524)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 5; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12494)|0); + $134 = (_strcmp($133,11541)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12509)|0); + $137 = (_strcmp($136,11556)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12524)|0); + $140 = (_strcmp($139,11571)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 3; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12545)|0); + $143 = (_strcmp($142,11592)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12565)|0); + $146 = (_strcmp($145,11612)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12585)|0); + $149 = (_strcmp($148,11632)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12611)|0); + $152 = (_strcmp($151,11658)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12630)|0); + $155 = (_strcmp($154,11677)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12642)|0); + $158 = (_strcmp($157,11689)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12654)|0); + $161 = (_strcmp($160,11701)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12666)|0); + $164 = (_strcmp($163,11713)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12678)|0); + $167 = (_strcmp($166,11725)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 17; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12690)|0); + $170 = (_strcmp($169,11737)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,12702)|0); + $173 = (_strcmp($172,11749)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,12714)|0); + $176 = (_strcmp($175,11761)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,12726)|0); + $179 = (_strcmp($178,11773)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,12739)|0); + $182 = (_strcmp($181,11786)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,12752)|0); + $185 = (_strcmp($184,11799)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,12765)|0); + $188 = (_strcmp($187,11812)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,12778)|0); + $191 = (_strcmp($190,11825)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,12791)|0); + $194 = (_strcmp($193,11838)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,12804)|0); + $197 = (_strcmp($196,11851)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12817)|0); + $200 = (_strcmp($199,11864)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12830)|0); + $203 = (_strcmp($202,11877)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12849)|0); + $206 = (_strcmp($205,11896)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12868)|0); + $209 = (_strcmp($208,11915)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12887)|0); + $212 = (_strcmp($211,11934)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 18; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12900)|0); + $215 = (_strcmp($214,11947)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 19; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12918)|0); + $218 = (_strcmp($217,11965)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 20; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12936)|0); + $221 = (_strcmp($220,11983)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 21; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12954)|0); + $224 = (_strcmp($223,12001)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 22; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12972)|0); + $227 = (_strcmp($226,12019)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 4; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12992)|0); + $230 = (_strcmp($229,12039)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11933)|0); + $233 = (_strcmp($232,10980)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 6; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13010)|0); + $236 = (_strcmp($235,12057)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13025)|0); + $239 = (_strcmp($238,12072)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13046)|0); + $242 = (_strcmp($241,12093)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13061)|0); + $245 = (_strcmp($244,12108)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13079)|0); + $248 = (_strcmp($247,12126)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13095)|0); + $251 = (_strcmp($250,12142)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13114)|0); + $254 = (_strcmp($253,12161)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13128)|0); + $257 = (_strcmp($256,12175)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13143)|0); + $260 = (_strcmp($259,12190)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 7; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11864)|0); + $263 = (_strcmp($262,10911)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13154)|0); + $266 = (_strcmp($265,12201)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11963)|0); + $269 = (_strcmp($268,11010)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 23; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11993)|0); + $272 = (_strcmp($271,11040)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 24; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13170)|0); + $275 = (_strcmp($274,12217)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13197)|0); + $278 = (_strcmp($277,12244)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13211)|0); + $281 = (_strcmp($280,12258)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11899)|0); + $284 = (_strcmp($283,10946)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13231)|0); + $287 = (_strcmp($286,12278)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13249)|0); + $290 = (_strcmp($289,12296)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 8; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13261)|0); + $293 = (_strcmp($292,12308)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13282)|0); + $296 = (_strcmp($295,12329)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 25; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13300)|0); + $299 = (_strcmp($298,12347)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 26; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13318)|0); + $302 = (_strcmp($301,12365)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 27; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13339)|0); + $305 = (_strcmp($304,12386)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13365)|0); + $308 = (_strcmp($307,12412)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13388)|0); + $311 = (_strcmp($310,12435)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13426)|0); + $314 = (_strcmp($313,12473)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 9; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13442)|0); + $317 = (_strcmp($316,12489)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13457)|0); + $320 = (_strcmp($319,12504)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13480)|0); + $323 = (_strcmp($322,12527)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13493)|0); + $326 = (_strcmp($325,12540)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 28; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13507)|0); + $329 = (_strcmp($328,12554)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 29; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13521)|0); + $332 = (_strcmp($331,12568)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13541)|0); + $335 = (_strcmp($334,12588)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13561)|0); + $338 = (_strcmp($337,12608)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13577)|0); + $341 = (_strcmp($340,12624)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13595)|0); + $344 = (_strcmp($343,12642)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13611)|0); + $347 = (_strcmp($346,12658)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13626)|0); + $350 = (_strcmp($349,12673)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,13648)|0); + $353 = (_strcmp($352,12695)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 30; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13666)|0); + $356 = (_strcmp($355,12713)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 31; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13687)|0); + $359 = (_strcmp($358,12734)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,13705)|0); + $362 = (_strcmp($361,12752)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,13718)|0); + $365 = (_strcmp($364,12765)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,13733)|0); + $368 = (_strcmp($367,12780)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,13747)|0); + $371 = (_strcmp($370,12794)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,13757)|0); + $374 = (_strcmp($373,12804)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,13767)|0); + $377 = (_strcmp($376,12814)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,13789)|0); + $380 = (_strcmp($379,12836)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13815)|0); + $383 = (_strcmp($382,12862)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13842)|0); + $386 = (_strcmp($385,12889)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13855)|0); + $389 = (_strcmp($388,12902)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13870)|0); + $392 = (_strcmp($391,12917)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13885)|0); + $395 = (_strcmp($394,12932)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13909)|0); + $398 = (_strcmp($397,12956)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13920)|0); + $401 = (_strcmp($400,12967)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 32; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13942)|0); + $404 = (_strcmp($403,12989)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13964)|0); + $407 = (_strcmp($406,13011)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13988)|0); + $410 = (_strcmp($409,13035)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13997)|0); + $413 = (_strcmp($412,13044)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14005)|0); + $416 = (_strcmp($415,13052)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14018)|0); + $419 = (_strcmp($418,13065)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14032)|0); + $422 = (_strcmp($421,13079)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14044)|0); + $425 = (_strcmp($424,13091)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14053)|0); + $428 = (_strcmp($427,13100)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14063)|0); + $431 = (_strcmp($430,13110)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14075)|0); + $434 = (_strcmp($433,13122)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14086)|0); + $437 = (_strcmp($436,13133)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14094)|0); + $440 = (_strcmp($439,13141)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14106)|0); + $443 = (_strcmp($442,13153)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14121)|0); + $446 = (_strcmp($445,13168)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14133)|0); + $449 = (_strcmp($448,13180)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14147)|0); + $452 = (_strcmp($451,13194)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 10; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14172)|0); + $455 = (_strcmp($454,13219)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14189)|0); + $458 = (_strcmp($457,13236)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14205)|0); + $461 = (_strcmp($460,13252)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14221)|0); + $464 = (_strcmp($463,13268)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 11; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14233)|0); + $467 = (_strcmp($466,13280)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 33; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14245)|0); + $470 = (_strcmp($469,13292)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 34; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14269)|0); + $473 = (_strcmp($472,13316)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14282)|0); + $476 = (_strcmp($475,13329)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14296)|0); + $479 = (_strcmp($478,13343)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 35; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14318)|0); + $482 = (_strcmp($481,13365)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 36; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14325)|0); + $485 = (_strcmp($484,13372)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14341)|0); + $488 = (_strcmp($487,13388)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14358)|0); + $491 = (_strcmp($490,13405)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14375)|0); + $494 = (_strcmp($493,13422)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14391)|0); + $497 = (_strcmp($496,13438)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14407)|0); + $500 = (_strcmp($499,13454)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14424)|0); + $503 = (_strcmp($502,13471)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14438)|0); + $506 = (_strcmp($505,13485)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14450)|0); + $509 = (_strcmp($508,13497)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14461)|0); + $512 = (_strcmp($511,13508)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14474)|0); + $515 = (_strcmp($514,13521)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14484)|0); + $518 = (_strcmp($517,13531)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14501)|0); + $521 = (_strcmp($520,13548)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14513)|0); + $524 = (_strcmp($523,13560)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14535)|0); + $527 = (_strcmp($526,13582)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14555)|0); + $530 = (_strcmp($529,13602)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14568)|0); + $533 = (_strcmp($532,13615)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14590)|0); + $536 = (_strcmp($535,13637)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14610)|0); + $539 = (_strcmp($538,13657)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14627)|0); + $542 = (_strcmp($541,13674)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14644)|0); + $545 = (_strcmp($544,13691)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14664)|0); + $548 = (_strcmp($547,13711)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -34533,7 +28908,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (21556|0); + return (20604|0); } function ___stdio_close($0) { $0 = $0|0; @@ -34726,7 +29101,7 @@ function ___pthread_self_108() { function _pthread_self() { var label = 0, sp = 0; sp = STACKTOP; - return (4284|0); + return (4024|0); } function _dummy_738($0) { $0 = $0|0; @@ -34816,7 +29191,7 @@ function ___stdout_write($0,$1,$2) { $vararg_buffer = sp; $3 = sp + 16|0; $4 = ((($0)) + 36|0); - HEAP32[$4>>2] = 1; + HEAP32[$4>>2] = 8; $5 = HEAP32[$0>>2]|0; $6 = $5 & 64; $7 = ($6|0)==(0); @@ -35422,7 +29797,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((14780 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((13827 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -35600,7 +29975,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 15244;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14291;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -35621,7 +29996,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 15244;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14291;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -35629,8 +30004,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 15244 : (15246); - $$$ = $238 ? $$ : (15245); + $$ = $240 ? 14291 : (14293); + $$$ = $238 ? $$ : (14292); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -35647,7 +30022,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 15244;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14291;$242 = $167;$243 = $170; label = 66; break; } @@ -35660,7 +30035,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 15244;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14291;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -35674,7 +30049,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 15254; + $271 = $270 ? $269 : 14301; $$1 = $271; label = 71; break; @@ -35714,7 +30089,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 15244;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14291;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -35736,8 +30111,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (15244 + ($208)|0); - $$289 = $or$cond283 ? 15244 : $209; + $209 = (14291 + ($208)|0); + $$289 = $or$cond283 ? 14291 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -35758,7 +30133,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 15244;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14291;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -36288,7 +30663,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (15296 + ($7)|0); + $9 = (14343 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -36646,14 +31021,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 15261; + $$0471 = $14;$$0520 = 1;$$0521 = 14308; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (15262) : (15267); - $$$ = $16 ? $$ : (15264); + $$ = $18 ? (14309) : (14314); + $$$ = $16 ? $$ : (14311); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -36752,7 +31127,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (15296 + ($80)|0); + $81 = (14343 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -37363,7 +31738,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,15312,1); + _out($0,14359,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -37444,7 +31819,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,15312,1); + _out($0,14359,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -37501,9 +31876,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 15280 : 15284; + $29 = $28 ? 14327 : 14331; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 15288 : 15292; + $31 = $28 ? 14335 : 14339; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -37713,7 +32088,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (15314 + ($$016)|0); + $3 = (14361 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -37724,7 +32099,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 15402;$$115 = 87; + $$01214 = 14449;$$115 = 87; label = 5; break; } else { @@ -37734,9 +32109,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 15402; + $$012$lcssa = 14449; } else { - $$01214 = 15402;$$115 = $$016; + $$01214 = 14449;$$115 = $$016; label = 5; } } @@ -38880,42 +33255,6 @@ function _ldexp($0,$1) { $2 = (+_scalbn($0,$1)); return (+$2); } -function _fwrite($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $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, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = ($1|0)==(0); - $$ = $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 = $$; - } else { - $14 = (($13>>>0) / ($1>>>0))&-1; - $15 = $14; - } - return ($15|0); -} function ___unlist_locked_file($0) { $0 = $0|0; var $$pre = 0, $$sink = 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; @@ -38965,7 +33304,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(17206,$3,4)|0); + $memchr = (_memchr(16253,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -39054,7 +33393,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(17206,$4,4)|0); + $memchr = (_memchr(16253,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -39140,12 +33479,12 @@ function ___fdopen($0,$1) { $34 = ((($7)) + 32|0); HEAP32[$34>>2] = 9; $35 = ((($7)) + 36|0); - HEAP32[$35>>2] = 1; + HEAP32[$35>>2] = 8; $36 = ((($7)) + 40|0); HEAP32[$36>>2] = 2; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 1; - $38 = HEAP32[(21560)>>2]|0; + $38 = HEAP32[(20608)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -39178,13 +33517,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((21620|0)); - return (21628|0); + ___lock((20668|0)); + return (20676|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((21620|0)); + ___unlock((20668|0)); return; } function _fclose($0) { @@ -39259,12 +33598,12 @@ function _fflush($0) { $1 = ($0|0)==(0|0); do { if ($1) { - $8 = HEAP32[1164]|0; + $8 = HEAP32[1099]|0; $9 = ($8|0)==(0|0); if ($9) { $29 = 0; } else { - $10 = HEAP32[1164]|0; + $10 = HEAP32[1099]|0; $11 = (_fflush($10)|0); $29 = $11; } @@ -39393,18 +33732,6 @@ function _fseek($0,$1,$2) { $3 = (___fseeko($0,$1,$2)|0); return ($3|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 ___fseeko($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -40233,7 +34560,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 17480; + $2 = 16528; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -40244,7 +34571,7 @@ function _srand($0) { function _rand() { 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; - $0 = 17480; + $0 = 16528; $1 = $0; $2 = HEAP32[$1>>2]|0; $3 = (($0) + 4)|0; @@ -40254,7 +34581,7 @@ function _rand() { $7 = tempRet0; $8 = (_i64Add(($6|0),($7|0),1,0)|0); $9 = tempRet0; - $10 = 17480; + $10 = 16528; $11 = $10; HEAP32[$11>>2] = $8; $12 = (($10) + 4)|0; @@ -40491,37 +34818,12 @@ function _ftell($0) { $1 = (___ftello($0)|0); return ($1|0); } -function _rewind($0) { - $0 = $0|0; - var $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) { - $4 = (___lockfile($0)|0); - $phitmp = ($4|0)==(0); - (___fseeko_unlocked($0,0,0)|0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & -33; - HEAP32[$0>>2] = $6; - if (!($phitmp)) { - ___unlockfile($0); - } - } else { - (___fseeko_unlocked($0,0,0)|0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 & -33; - HEAP32[$0>>2] = $8; - } - return; -} function _vprintf($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[1132]|0; + $2 = HEAP32[1067]|0; $3 = (_vfprintf($2,$0,$1)|0); return ($3|0); } @@ -40628,7 +34930,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5408]|0; + $3 = HEAP32[5170]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -40647,22 +34949,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5408] = 0; + HEAP32[5170] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5408] = $10; + HEAP32[5170] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5408] = 0; + HEAP32[5170] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5408] = $13; + HEAP32[5170] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -40743,7 +35045,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5409]|0; + $8 = HEAP32[5171]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -40752,7 +35054,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (21676 + ($15<<2)|0); + $16 = (20724 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -40763,9 +35065,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5409] = $24; + HEAP32[5171] = $24; } else { - $25 = HEAP32[(21652)>>2]|0; + $25 = HEAP32[(20700)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -40796,7 +35098,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(21644)>>2]|0; + $37 = HEAP32[(20692)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -40830,7 +35132,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (21676 + ($68<<2)|0); + $69 = (20724 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -40841,10 +35143,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5409] = $77; + HEAP32[5171] = $77; $98 = $77; } else { - $78 = HEAP32[(21652)>>2]|0; + $78 = HEAP32[(20700)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -40877,22 +35179,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(21656)>>2]|0; + $92 = HEAP32[(20704)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (21676 + ($94<<2)|0); + $95 = (20724 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5409] = $100; + HEAP32[5171] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21652)>>2]|0; + $103 = HEAP32[(20700)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -40909,12 +35211,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(21644)>>2] = $84; - HEAP32[(21656)>>2] = $87; + HEAP32[(20692)>>2] = $84; + HEAP32[(20704)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(21640)>>2]|0; + $108 = HEAP32[(20688)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -40942,7 +35244,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21940 + ($132<<2)|0); + $133 = (20988 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -40982,7 +35284,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(21652)>>2]|0; + $155 = HEAP32[(20700)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -41077,7 +35379,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21940 + ($188<<2)|0); + $189 = (20988 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -41088,11 +35390,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(21640)>>2] = $194; + HEAP32[(20688)>>2] = $194; break L73; } } else { - $195 = HEAP32[(21652)>>2]|0; + $195 = HEAP32[(20700)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -41113,7 +35415,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(21652)>>2]|0; + $201 = HEAP32[(20700)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -41143,7 +35445,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(21652)>>2]|0; + $213 = HEAP32[(20700)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -41180,22 +35482,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(21656)>>2]|0; + $231 = HEAP32[(20704)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (21676 + ($233<<2)|0); + $234 = (20724 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5409] = $238; + HEAP32[5171] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21652)>>2]|0; + $241 = HEAP32[(20700)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -41212,8 +35514,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(21644)>>2] = $$0193$lcssa$i; - HEAP32[(21656)>>2] = $157; + HEAP32[(20692)>>2] = $$0193$lcssa$i; + HEAP32[(20704)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -41229,7 +35531,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(21640)>>2]|0; + $250 = HEAP32[(20688)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -41269,7 +35571,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21940 + ($$0358$i<<2)|0); + $278 = (20988 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -41361,7 +35663,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21940 + ($330<<2)|0); + $331 = (20988 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -41405,11 +35707,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(21644)>>2]|0; + $345 = HEAP32[(20692)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(21652)>>2]|0; + $348 = HEAP32[(20700)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -41506,7 +35808,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21940 + ($381<<2)|0); + $382 = (20988 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -41517,12 +35819,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(21640)>>2] = $387; + HEAP32[(20688)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(21652)>>2]|0; + $388 = HEAP32[(20700)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -41544,7 +35846,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(21652)>>2]|0; + $394 = HEAP32[(20700)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -41576,7 +35878,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(21652)>>2]|0; + $406 = HEAP32[(20700)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -41617,20 +35919,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (21676 + ($425<<2)|0); - $427 = HEAP32[5409]|0; + $426 = (20724 + ($425<<2)|0); + $427 = HEAP32[5171]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5409] = $431; + HEAP32[5171] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21652)>>2]|0; + $434 = HEAP32[(20700)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -41682,7 +35984,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21940 + ($$0361$i<<2)|0); + $464 = (20988 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -41694,7 +35996,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(21640)>>2] = $472; + HEAP32[(20688)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -41733,7 +36035,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(21652)>>2]|0; + $491 = HEAP32[(20700)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -41752,7 +36054,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21652)>>2]|0; + $498 = HEAP32[(20700)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -41785,16 +36087,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(21644)>>2]|0; + $506 = HEAP32[(20692)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21656)>>2]|0; + $509 = HEAP32[(20704)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(21656)>>2] = $511; - HEAP32[(21644)>>2] = $508; + HEAP32[(20704)>>2] = $511; + HEAP32[(20692)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -41804,8 +36106,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(21644)>>2] = 0; - HEAP32[(21656)>>2] = 0; + HEAP32[(20692)>>2] = 0; + HEAP32[(20704)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -41819,14 +36121,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(21648)>>2]|0; + $524 = HEAP32[(20696)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(21648)>>2] = $526; - $527 = HEAP32[(21660)>>2]|0; + HEAP32[(20696)>>2] = $526; + $527 = HEAP32[(20708)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(21660)>>2] = $528; + HEAP32[(20708)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -41837,23 +36139,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5527]|0; + $534 = HEAP32[5289]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(22116)>>2] = 4096; - HEAP32[(22112)>>2] = 4096; - HEAP32[(22120)>>2] = -1; - HEAP32[(22124)>>2] = -1; - HEAP32[(22128)>>2] = 0; - HEAP32[(22080)>>2] = 0; + HEAP32[(21164)>>2] = 4096; + HEAP32[(21160)>>2] = 4096; + HEAP32[(21168)>>2] = -1; + HEAP32[(21172)>>2] = -1; + HEAP32[(21176)>>2] = 0; + HEAP32[(21128)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5527] = $538; + HEAP32[5289] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(22116)>>2]|0; + $$pre$i212 = HEAP32[(21164)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -41866,10 +36168,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(22076)>>2]|0; + $546 = HEAP32[(21124)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(22068)>>2]|0; + $548 = HEAP32[(21116)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -41879,18 +36181,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(22080)>>2]|0; + $552 = HEAP32[(21128)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(21660)>>2]|0; + $555 = HEAP32[(20708)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (22084); + $$0$i$i = (21132); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -41948,7 +36250,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(22112)>>2]|0; + $569 = HEAP32[(21160)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -41958,13 +36260,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(22068)>>2]|0; + $578 = HEAP32[(21116)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(22076)>>2]|0; + $582 = HEAP32[(21124)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -42010,7 +36312,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(22116)>>2]|0; + $601 = HEAP32[(21164)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -42035,9 +36337,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(22080)>>2]|0; + $611 = HEAP32[(21128)>>2]|0; $612 = $611 | 4; - HEAP32[(22080)>>2] = $612; + HEAP32[(21128)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -42073,35 +36375,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(22068)>>2]|0; + $626 = HEAP32[(21116)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(22068)>>2] = $627; - $628 = HEAP32[(22072)>>2]|0; + HEAP32[(21116)>>2] = $627; + $628 = HEAP32[(21120)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(22072)>>2] = $627; + HEAP32[(21120)>>2] = $627; } - $630 = HEAP32[(21660)>>2]|0; + $630 = HEAP32[(20708)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(21652)>>2]|0; + $632 = HEAP32[(20700)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(21652)>>2] = $$749$i; + HEAP32[(20700)>>2] = $$749$i; } - HEAP32[(22084)>>2] = $$749$i; - HEAP32[(22088)>>2] = $$723948$i; - HEAP32[(22096)>>2] = 0; - $635 = HEAP32[5527]|0; - HEAP32[(21672)>>2] = $635; - HEAP32[(21668)>>2] = -1; + HEAP32[(21132)>>2] = $$749$i; + HEAP32[(21136)>>2] = $$723948$i; + HEAP32[(21144)>>2] = 0; + $635 = HEAP32[5289]|0; + HEAP32[(20720)>>2] = $635; + HEAP32[(20716)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (21676 + ($636<<2)|0); + $637 = (20724 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -42124,18 +36426,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(21660)>>2] = $649; - HEAP32[(21648)>>2] = $650; + HEAP32[(20708)>>2] = $649; + HEAP32[(20696)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(22124)>>2]|0; - HEAP32[(21664)>>2] = $655; + $655 = HEAP32[(21172)>>2]|0; + HEAP32[(20712)>>2] = $655; } else { - $$024371$i = (22084); + $$024371$i = (21132); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -42167,7 +36469,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(21648)>>2]|0; + $671 = HEAP32[(20696)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -42178,30 +36480,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(21660)>>2] = $679; - HEAP32[(21648)>>2] = $681; + HEAP32[(20708)>>2] = $679; + HEAP32[(20696)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(22124)>>2]|0; - HEAP32[(21664)>>2] = $686; + $686 = HEAP32[(21172)>>2]|0; + HEAP32[(20712)>>2] = $686; break; } } } - $687 = HEAP32[(21652)>>2]|0; + $687 = HEAP32[(20700)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(21652)>>2] = $$749$i; + HEAP32[(20700)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (22084); + $$124470$i = (21132); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -42256,21 +36558,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(21648)>>2]|0; + $726 = HEAP32[(20696)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(21648)>>2] = $727; - HEAP32[(21660)>>2] = $721; + HEAP32[(20696)>>2] = $727; + HEAP32[(20708)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(21656)>>2]|0; + $730 = HEAP32[(20704)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(21644)>>2]|0; + $732 = HEAP32[(20692)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(21644)>>2] = $733; - HEAP32[(21656)>>2] = $721; + HEAP32[(20692)>>2] = $733; + HEAP32[(20704)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -42293,7 +36595,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (21676 + ($748<<2)|0); + $749 = (20724 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -42316,9 +36618,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5409]|0; + $759 = HEAP32[5171]|0; $760 = $759 & $758; - HEAP32[5409] = $760; + HEAP32[5171] = $760; break; } $761 = ($747|0)==($749|0); @@ -42431,7 +36733,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21940 + ($796<<2)|0); + $797 = (20988 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -42443,12 +36745,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(21640)>>2]|0; + $802 = HEAP32[(20688)>>2]|0; $803 = $802 & $801; - HEAP32[(21640)>>2] = $803; + HEAP32[(20688)>>2] = $803; break L314; } else { - $804 = HEAP32[(21652)>>2]|0; + $804 = HEAP32[(20700)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -42469,7 +36771,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(21652)>>2]|0; + $810 = HEAP32[(20700)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -42501,7 +36803,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(21652)>>2]|0; + $822 = HEAP32[(20700)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -42534,21 +36836,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (21676 + ($836<<2)|0); - $838 = HEAP32[5409]|0; + $837 = (20724 + ($836<<2)|0); + $838 = HEAP32[5171]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5409] = $842; + HEAP32[5171] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21652)>>2]|0; + $845 = HEAP32[(20700)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -42603,20 +36905,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21940 + ($$0296$i$i<<2)|0); + $875 = (20988 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(21640)>>2]|0; + $879 = HEAP32[(20688)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(21640)>>2] = $883; + HEAP32[(20688)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -42655,7 +36957,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(21652)>>2]|0; + $902 = HEAP32[(20700)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -42674,7 +36976,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21652)>>2]|0; + $909 = HEAP32[(20700)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -42701,7 +37003,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (22084); + $$0$i$i$i = (21132); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -42742,23 +37044,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(21660)>>2] = $946; - HEAP32[(21648)>>2] = $947; + HEAP32[(20708)>>2] = $946; + HEAP32[(20696)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(22124)>>2]|0; - HEAP32[(21664)>>2] = $952; + $952 = HEAP32[(21172)>>2]|0; + HEAP32[(20712)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(22084)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22084)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22084)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22084)+12>>2]|0; - HEAP32[(22084)>>2] = $$749$i; - HEAP32[(22088)>>2] = $$723948$i; - HEAP32[(22096)>>2] = 0; - HEAP32[(22092)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(21132)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21132)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21132)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21132)+12>>2]|0; + HEAP32[(21132)>>2] = $$749$i; + HEAP32[(21136)>>2] = $$723948$i; + HEAP32[(21144)>>2] = 0; + HEAP32[(21140)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -42787,20 +37089,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (21676 + ($968<<2)|0); - $970 = HEAP32[5409]|0; + $969 = (20724 + ($968<<2)|0); + $970 = HEAP32[5171]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5409] = $974; + HEAP32[5171] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21652)>>2]|0; + $977 = HEAP32[(20700)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -42852,19 +37154,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21940 + ($$0212$i$i<<2)|0); + $1007 = (20988 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21640)>>2]|0; + $1010 = HEAP32[(20688)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(21640)>>2] = $1014; + HEAP32[(20688)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -42903,7 +37205,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(21652)>>2]|0; + $1033 = HEAP32[(20700)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -42922,7 +37224,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21652)>>2]|0; + $1040 = HEAP32[(20700)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -42945,14 +37247,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(21648)>>2]|0; + $1048 = HEAP32[(20696)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(21648)>>2] = $1050; - $1051 = HEAP32[(21660)>>2]|0; + HEAP32[(20696)>>2] = $1050; + $1051 = HEAP32[(20708)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(21660)>>2] = $1052; + HEAP32[(20708)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -42995,7 +37297,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(21652)>>2]|0; + $3 = HEAP32[(20700)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -43028,7 +37330,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(21656)>>2]|0; + $19 = HEAP32[(20704)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -43043,7 +37345,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(21644)>>2] = $17; + HEAP32[(20692)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -43057,7 +37359,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (21676 + ($27<<2)|0); + $28 = (20724 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -43077,9 +37379,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5409]|0; + $37 = HEAP32[5171]|0; $38 = $37 & $36; - HEAP32[5409] = $38; + HEAP32[5171] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -43193,7 +37495,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21940 + ($74<<2)|0); + $75 = (20988 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -43203,14 +37505,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(21640)>>2]|0; + $80 = HEAP32[(20688)>>2]|0; $81 = $80 & $79; - HEAP32[(21640)>>2] = $81; + HEAP32[(20688)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(21652)>>2]|0; + $82 = HEAP32[(20700)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -43232,7 +37534,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(21652)>>2]|0; + $88 = HEAP32[(20700)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -43264,7 +37566,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(21652)>>2]|0; + $100 = HEAP32[(20700)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -43299,14 +37601,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(21660)>>2]|0; + $120 = HEAP32[(20708)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(21656)>>2]|0; + $122 = HEAP32[(20704)>>2]|0; if ($121) { - $123 = HEAP32[(21648)>>2]|0; + $123 = HEAP32[(20696)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(21648)>>2] = $124; - HEAP32[(21660)>>2] = $$1; + HEAP32[(20696)>>2] = $124; + HEAP32[(20708)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -43314,16 +37616,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(21656)>>2] = 0; - HEAP32[(21644)>>2] = 0; + HEAP32[(20704)>>2] = 0; + HEAP32[(20692)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(21644)>>2]|0; + $129 = HEAP32[(20692)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(21644)>>2] = $130; - HEAP32[(21656)>>2] = $113; + HEAP32[(20692)>>2] = $130; + HEAP32[(20704)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -43342,10 +37644,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (21676 + ($142<<2)|0); + $143 = (20724 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(21652)>>2]|0; + $145 = HEAP32[(20700)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -43363,9 +37665,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5409]|0; + $153 = HEAP32[5171]|0; $154 = $153 & $152; - HEAP32[5409] = $154; + HEAP32[5171] = $154; break; } $155 = ($141|0)==($143|0); @@ -43373,7 +37675,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(21652)>>2]|0; + $156 = HEAP32[(20700)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -43433,7 +37735,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(21652)>>2]|0; + $189 = HEAP32[(20700)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -43446,7 +37748,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21652)>>2]|0; + $169 = HEAP32[(20700)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -43477,7 +37779,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21940 + ($193<<2)|0); + $194 = (20988 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -43487,13 +37789,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(21640)>>2]|0; + $199 = HEAP32[(20688)>>2]|0; $200 = $199 & $198; - HEAP32[(21640)>>2] = $200; + HEAP32[(20688)>>2] = $200; break L108; } } else { - $201 = HEAP32[(21652)>>2]|0; + $201 = HEAP32[(20700)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -43514,7 +37816,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(21652)>>2]|0; + $207 = HEAP32[(20700)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -43544,7 +37846,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(21652)>>2]|0; + $219 = HEAP32[(20700)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -43565,10 +37867,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(21656)>>2]|0; + $226 = HEAP32[(20704)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(21644)>>2] = $135; + HEAP32[(20692)>>2] = $135; return; } else { $$2 = $135; @@ -43587,20 +37889,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (21676 + ($234<<2)|0); - $236 = HEAP32[5409]|0; + $235 = (20724 + ($234<<2)|0); + $236 = HEAP32[5171]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5409] = $240; + HEAP32[5171] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21652)>>2]|0; + $243 = HEAP32[(20700)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -43652,21 +37954,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21940 + ($$0396<<2)|0); + $273 = (20988 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(21640)>>2]|0; + $277 = HEAP32[(20688)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(21640)>>2] = $281; + HEAP32[(20688)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -43704,7 +38006,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(21652)>>2]|0; + $300 = HEAP32[(20700)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -43723,7 +38025,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21652)>>2]|0; + $307 = HEAP32[(20700)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -43745,12 +38047,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(21668)>>2]|0; + $314 = HEAP32[(20716)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(21668)>>2] = $315; + HEAP32[(20716)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (22092); + $$0212$in$i = (21140); } else { return; } @@ -43764,7 +38066,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(21668)>>2] = -1; + HEAP32[(20716)>>2] = -1; return; } function _calloc($0,$1) { @@ -45025,7 +39327,7 @@ var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_ var FUNCTION_TABLE_ii = [b5,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5,b5]; var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,___stdio_write,___stdio_seek,___stdout_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_read,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,b8,b8,b8,b8,b8,b8]; var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; diff --git a/docs/examples/web/audio/audio_module_playing.png b/docs/examples/web/audio/audio_module_playing.png new file mode 100644 index 000000000..8bde9879d Binary files /dev/null and b/docs/examples/web/audio/audio_module_playing.png differ diff --git a/games/raylib_demo/resources/audio/guitar_noodling.ogg b/docs/examples/web/audio/audio_music_stream.data similarity index 100% rename from games/raylib_demo/resources/audio/guitar_noodling.ogg rename to docs/examples/web/audio/audio_music_stream.data diff --git a/docs/examples/web/audio/audio_music_stream.js b/docs/examples/web/audio/audio_music_stream.js index d2fdbc2ac..b1e95b687 100644 --- a/docs/examples/web/audio/audio_music_stream.js +++ b/docs/examples/web/audio/audio_music_stream.js @@ -1,3 +1,191 @@ + +var Module; + +if (typeof Module === 'undefined') Module = {}; + +if (!Module.expectedDataFileDownloads) { + Module.expectedDataFileDownloads = 0; + Module.finishedDataFileDownloads = 0; +} +Module.expectedDataFileDownloads++; +(function() { + var loadPackage = function(metadata) { + + var PACKAGE_PATH; + if (typeof window === 'object') { + PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); + } else if (typeof location !== 'undefined') { + // worker + PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); + } else { + throw 'using preloaded data can only be done on a web page or in a web worker'; + } + var PACKAGE_NAME = 'audio/audio_music_stream.data'; + var REMOTE_PACKAGE_BASE = 'audio_music_stream.data'; + if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { + Module['locateFile'] = Module['locateFilePackage']; + Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); + } + var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? + Module['locateFile'](REMOTE_PACKAGE_BASE) : + ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); + + var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; + var PACKAGE_UUID = metadata.package_uuid; + + function fetchRemotePackage(packageName, packageSize, callback, errback) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', packageName, true); + xhr.responseType = 'arraybuffer'; + xhr.onprogress = function(event) { + var url = packageName; + var size = packageSize; + if (event.total) size = event.total; + if (event.loaded) { + if (!xhr.addedTotal) { + xhr.addedTotal = true; + if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; + Module.dataFileDownloads[url] = { + loaded: event.loaded, + total: size + }; + } else { + Module.dataFileDownloads[url].loaded = event.loaded; + } + var total = 0; + var loaded = 0; + var num = 0; + for (var download in Module.dataFileDownloads) { + var data = Module.dataFileDownloads[download]; + total += data.total; + loaded += data.loaded; + num++; + } + total = Math.ceil(total * Module.expectedDataFileDownloads/num); + if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); + } else if (!Module.dataFileDownloads) { + if (Module['setStatus']) Module['setStatus']('Downloading data...'); + } + }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } + xhr.onload = function(event) { + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } + }; + xhr.send(null); + }; + + function handleError(error) { + console.error('package error:', error); + }; + + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + if (fetchedCallback) { + fetchedCallback(data); + fetchedCallback = null; + } else { + fetched = data; + } + }, handleError); + + function runWithFS() { + + function assert(check, msg) { + if (!check) throw msg + new Error().stack; + } +Module['FS_createPath']('/', 'resources', true, true); + + function DataRequest(start, end, crunched, audio) { + this.start = start; + this.end = end; + this.crunched = crunched; + this.audio = audio; + } + DataRequest.prototype = { + requests: {}, + open: function(mode, name) { + this.name = name; + this.requests[name] = this; + Module['addRunDependency']('fp ' + this.name); + }, + send: function() {}, + onload: function() { + var byteArray = this.byteArray.subarray(this.start, this.end); + + this.finish(byteArray); + + }, + finish: function(byteArray) { + var that = this; + + Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + Module['removeRunDependency']('fp ' + that.name); + + this.requests[this.name] = null; + } + }; + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); + } + + + function processPackageData(arrayBuffer) { + Module.finishedDataFileDownloads++; + assert(arrayBuffer, 'Loading data file failed.'); + assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); + var byteArray = new Uint8Array(arrayBuffer); + var curr; + + // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though + // (we may be allocating before malloc is ready, during startup). + if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); + var ptr = Module['getMemory'](byteArray.length); + Module['HEAPU8'].set(byteArray, ptr); + DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + DataRequest.prototype.requests[files[i].filename].onload(); + } + Module['removeRunDependency']('datafile_audio/audio_music_stream.data'); + + }; + Module['addRunDependency']('datafile_audio/audio_music_stream.data'); + + if (!Module.preloadResults) Module.preloadResults = {}; + + Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; + if (fetched) { + processPackageData(fetched); + fetched = null; + } else { + fetchedCallback = processPackageData; + } + + } + if (Module['calledRun']) { + runWithFS(); + } else { + if (!Module['preRun']) Module['preRun'] = []; + Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it + } + + } + loadPackage({"files": [{"audio": 1, "start": 0, "crunched": 0, "end": 506938, "filename": "/resources/guitar_noodling.ogg"}], "remote_package_size": 506938, "package_uuid": "9a508b29-a452-4ce3-a8f6-df548014b1c0"}); + +})(); + // The Module object: Our interface to the outside world. We import // and export values on it, and do the work to get that through // closure compiler if necessary. There are various ways Module can be used: @@ -1587,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 23776; +STATICTOP = STATIC_BASE + 22816; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,170,42,63,0,0,0,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,192,63,0,0,0,64,0,0,0,0,0,0,128,191,0,0,0,192,0,0,128,192,0,0,0,193,0,0,128,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,64,0,0,128,64,0,0,0,65,0,0,128,65,0,0,0,0,0,0,0,0,172,95,0,0,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,64,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,207,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,17,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,215,88,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,17,0,0,176,6,80,6,245,5,160,5,77,5,1,5,185,4,117,4,53,4,249,3,193,3,139,3,88,3,114,97,121,108,105,98,32,91,97,117,100,105,111,93,32,101,120,97,109,112,108,101,32,45,32,109,117,115,105,99,32,112,108,97,121,105,110,103,32,40,115,116,114,101,97,109,105,110,103,41,0,114,101,115,111,117,114,99,101,115,47,103,117,105,116,97,114,95,110,111,111,100,108,105,110,103,46,111,103,103,0,77,85,83,73,67,32,83,72,79,85,76,68,32,66,69,32,80,76,65,89,73,78,71,33,0,80,82,69,83,83,32,83,80,65,67,69,32,84,79,32,82,69,83,84,65,82,84,32,77,85,83,73,67,0,80,82,69,83,83,32,80,32,84,79,32,80,65,85,83,69,47,82,69,83,85,77,69,32,77,85,83,73,67,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,114,101,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,108,111,97,100,10,0,106,97,114,95,120,109,95,99,114,101,97,116,101,95,99,111,110,116,101,120,116,95,115,97,102,101,0,37,115,40,41,58,32,99,97,108,108,32,116,111,32,109,97,108,108,111,99,40,41,32,102,97,105,108,101,100,44,32,114,101,116,117,114,110,101,100,32,37,112,10,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,112,108,97,121,10,0,37,115,40,41,58,32,116,114,105,109,109,105,110,103,32,105,110,118,97,108,105,100,32,80,79,84,32,97,116,32,112,111,115,32,37,88,10,0,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,0,37,115,40,41,58,32,109,111,100,117,108,101,32,104,97,115,32,105,110,118,97,108,105,100,32,80,79,84,44,32,112,111,115,32,37,88,32,114,101,102,101,114,101,110,99,101,115,32,110,111,110,101,120,105,115,116,101,110,116,32,112,97,116,116,101,114,110,32,37,88,10,0,69,120,116,101,110,100,101,100,32,77,111,100,117,108,101,58,32,0,67,111,117,108,100,32,110,111,116,32,111,112,101,110,32,105,110,112,117,116,32,102,105,108,101,0,102,115,101,101,107,40,41,32,102,97,105,108,101,100,0,102,114,101,97,100,40,41,32,102,97,105,108,101,100,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,110,101,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,97,108,108,111,99,32,102,97,105,108,101,100,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,117,110,107,110,111,119,110,32,101,114,114], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([111,114,10,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,111,103,103,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,77,111,110,111,0,83,116,101,114,101,111,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,70,76,65,67,32,116,111,116,97,108,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,71,71,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,46,120,109,0,91,37,115,93,32,88,77,32,110,117,109,98,101,114,32,111,102,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,88,77,32,116,114,97,99,107,32,108,101,110,103,116,104,58,32,37,49,49,46,54,102,32,115,101,99,0,91,37,115,93,32,88,77,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,83,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,65,85,68,32,73,68,32,37,105,93,32,65,117,100,105,111,32,115,116,114,101,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,65,85,68,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,97,117,100,105,111,32,115,116,114,101,97,109,32,100,97,116,97,0,79,112,101,110,65,76,58,32,69,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,23,85,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,16,0,0,114,97,121,108,105,98,32,91,97,117,100,105,111,93,32,101,120,97,109,112,108,101,32,45,32,109,117,115,105,99,32,112,108,97,121,105,110,103,32,40,115,116,114,101,97,109,105,110,103,41,0,114,101,115,111,117,114,99,101,115,47,103,117,105,116,97,114,95,110,111,111,100,108,105,110,103,46,111,103,103,0,77,85,83,73,67,32,83,72,79,85,76,68,32,66,69,32,80,76,65,89,73,78,71,33,0,80,82,69,83,83,32,83,80,65,67,69,32,84,79,32,82,69,83,84,65,82,84,32,77,85,83,73,67,0,80,82,69,83,83,32,80,32,84,79,32,80,65,85,83,69,47,82,69,83,85,77,69,32,77,85,83,73,67,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,111,103,103,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,77,111,110,111,0,83,116,101,114,101,111,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,70,76,65,67,32,116,111,116,97,108,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,71,71,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,83,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,65,85,68,32,73,68,32,37,105,93,32,65,117,100,105,111,32,115,116,114,101,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,65,85,68,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,97,117,100,105,111,32,115,116,114,101,97,109,32,100,97,116,97,0,79,112,101,110,65,76,58,32,69,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -8692,21 +8880,6 @@ function copyTempDouble(ptr) { AL.setSourceState(src, 0x1014 /* AL_STOPPED */); } - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { @@ -9694,8 +9867,19 @@ function copyTempDouble(ptr) { clearInterval(AL.contexts[context - 1].interval); } - function _llvm_exp2_f32(x) { - return Math.pow(2, x); + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } } function _glGetShaderiv(shader, pname, p) { @@ -10647,7 +10831,7 @@ function invoke_viiii(index,a1,a2,a3,a4) { 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "___syscall221": ___syscall221, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_alSourcePause": _alSourcePause, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetCursorPos": _glfwGetCursorPos, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_llvm_exp2_f32": _llvm_exp2_f32, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "___syscall221": ___syscall221, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_alSourcePause": _alSourcePause, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetCursorPos": _glfwGetCursorPos, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; // EMSCRIPTEN_START_ASM var asm = (function(global, env, buffer) { 'use asm'; @@ -10897,7 +11081,6 @@ var asm = (function(global, env, buffer) { var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; var _exit=env._exit; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _glGetString=env._glGetString; var _emscripten_glUniform4i=env._emscripten_glUniform4i; var _alSourcef=env._alSourcef; @@ -10978,7 +11161,7 @@ var asm = (function(global, env, buffer) { var _glDeleteShader=env._glDeleteShader; var _emscripten_glUniform1f=env._emscripten_glUniform1f; var _glGetProgramiv=env._glGetProgramiv; - var _llvm_exp2_f32=env._llvm_exp2_f32; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; var _glfwGetTime=env._glfwGetTime; var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; @@ -11108,13 +11291,13 @@ function _main() { sp = STACKTOP; $0 = HEAP32[2]|0; $1 = HEAP32[3]|0; - _InitWindow($0,$1,4686); + _InitWindow($0,$1,4400); _InitAudioDevice(); - $2 = (_LoadMusicStream(4737)|0); - HEAP32[4391] = $2; + $2 = (_LoadMusicStream(4451)|0); + HEAP32[4153] = $2; _PlayMusicStream($2); _emscripten_set_main_loop((1|0),0,1); - $3 = HEAP32[4391]|0; + $3 = HEAP32[4153]|0; _UnloadMusicStream($3); _CloseAudioDevice(); _CloseWindow(); @@ -11134,25 +11317,25 @@ function _UpdateDrawFrame() { $4 = sp + 8|0; $5 = sp + 4|0; $6 = sp; - $7 = HEAP32[4391]|0; + $7 = HEAP32[4153]|0; _UpdateMusicStream($7); $8 = (_IsKeyPressed(32)|0); $9 = ($8|0)==(0); if (!($9)) { - $10 = HEAP32[4391]|0; + $10 = HEAP32[4153]|0; _StopMusicStream($10); - $11 = HEAP32[4391]|0; + $11 = HEAP32[4153]|0; _PlayMusicStream($11); } $12 = (_IsKeyPressed(80)|0); $13 = ($12|0)==(0); do { if (!($13)) { - $14 = HEAP32[4392]|0; + $14 = HEAP32[4154]|0; $15 = ($14|0)==(0); $16 = $15&1; - HEAP32[4392] = $16; - $17 = HEAP32[4391]|0; + HEAP32[4154] = $16; + $17 = HEAP32[4153]|0; if ($15) { _PauseMusicStream($17); break; @@ -11162,13 +11345,13 @@ function _UpdateDrawFrame() { } } } while(0); - $18 = HEAP32[4391]|0; + $18 = HEAP32[4153]|0; $19 = (+_GetMusicTimePlayed($18)); - $20 = HEAP32[4391]|0; + $20 = HEAP32[4153]|0; $21 = (+_GetMusicTimeLength($20)); $22 = $19 / $21; $23 = $22 * 400.0; - HEAPF32[4390] = $23; + HEAPF32[4152] = $23; _BeginDrawing(); HEAP8[$0>>0] = -11; $24 = ((($0)) + 1|0); @@ -11187,7 +11370,7 @@ function _UpdateDrawFrame() { $29 = ((($1)) + 3|0); HEAP8[$29>>0] = -1; ;HEAP8[$$byval_copy6>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$1+3>>0]|0; - _DrawText(4767,255,150,20,$$byval_copy6); + _DrawText(4481,255,150,20,$$byval_copy6); HEAP8[$2>>0] = -56; $30 = ((($2)) + 1|0); HEAP8[$30>>0] = -56; @@ -11197,7 +11380,7 @@ function _UpdateDrawFrame() { HEAP8[$32>>0] = -1; ;HEAP8[$$byval_copy6>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$2+3>>0]|0; _DrawRectangle(200,200,400,12,$$byval_copy6); - $33 = +HEAPF32[4390]; + $33 = +HEAPF32[4152]; $34 = (~~(($33))); HEAP8[$3>>0] = -66; $35 = ((($3)) + 1|0); @@ -11225,7 +11408,7 @@ function _UpdateDrawFrame() { $43 = ((($5)) + 3|0); HEAP8[$43>>0] = -1; ;HEAP8[$$byval_copy6>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$5+3>>0]|0; - _DrawText(4792,215,250,20,$$byval_copy6); + _DrawText(4506,215,250,20,$$byval_copy6); HEAP8[$6>>0] = -56; $44 = ((($6)) + 1|0); HEAP8[$44>>0] = -56; @@ -11234,10 +11417,60 @@ function _UpdateDrawFrame() { $46 = ((($6)) + 3|0); HEAP8[$46>>0] = -1; ;HEAP8[$$byval_copy6>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$6+3>>0]|0; - _DrawText(4821,208,280,20,$$byval_copy6); + _DrawText(4535,208,280,20,$$byval_copy6); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -11337,13 +11570,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11953,7 +12179,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4394] = $2; + HEAP32[4156] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11966,7 +12192,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 17288; + $95 = 16336; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11979,48 +12205,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 17328; + $106 = 16376; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4332]; - $111 = +HEAPF32[4322]; + $110 = +HEAPF32[4094]; + $111 = +HEAPF32[4084]; $112 = $110 - $111; - HEAPF32[4334] = $112; - $113 = +HEAPF32[(17332)>>2]; - $114 = +HEAPF32[(17292)>>2]; + HEAPF32[4096] = $112; + $113 = +HEAPF32[(16380)>>2]; + $114 = +HEAPF32[(16340)>>2]; $115 = $113 - $114; - HEAPF32[(17340)>>2] = $115; - HEAP32[4393] = 4; + HEAPF32[(16388)>>2] = $115; + HEAP32[4155] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17320>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17320+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17344>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17344+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16368+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16392>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16392+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4399] = $116; - $117 = 17320; + HEAPF32[4161] = $116; + $117 = 16368; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 17288; + $123 = 16336; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 17344; + $127 = 16392; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 17328; + $133 = 16376; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -12033,7 +12259,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 17320; + $144 = 16368; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -12046,27 +12272,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 17344; + $155 = 16392; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4336]; - $160 = +HEAPF32[4330]; + $159 = +HEAPF32[4098]; + $160 = +HEAPF32[4092]; $161 = $159 - $160; - HEAPF32[4334] = $161; - $162 = +HEAPF32[(17348)>>2]; - $163 = +HEAPF32[(17324)>>2]; + HEAPF32[4096] = $161; + $162 = +HEAPF32[(16396)>>2]; + $163 = +HEAPF32[(16372)>>2]; $164 = $162 - $163; - HEAPF32[(17340)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17288>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17288+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17320+4>>2]|0; + HEAPF32[(16388)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16368+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17328>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17328+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17344>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17344+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16376>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16376+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16392>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16392+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -12078,31 +12304,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17320>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17320+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17344>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17344+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16368+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16392>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16392+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4399]; + $170 = +HEAPF32[4161]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4393] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17320>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17320+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17344>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17344+4>>2]|0; + HEAP32[4155] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16368+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16392>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16392+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4400] = $174; + HEAPF32[4162] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4399] = 0.0; - HEAPF32[4400] = 0.0; - HEAPF32[4334] = 0.0; - HEAPF32[(17340)>>2] = 0.0; - HEAP32[4394] = 0; - HEAP32[4393] = 0; + HEAPF32[4161] = 0.0; + HEAPF32[4162] = 0.0; + HEAPF32[4096] = 0.0; + HEAPF32[(16388)>>2] = 0.0; + HEAP32[4156] = 0; + HEAP32[4155] = 0; STACKTOP = sp;return; break; } @@ -12112,22 +12338,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4395]|0; + $6 = HEAP32[4157]|0; $7 = (($6) + 1)|0; - HEAP32[4395] = $7; - $8 = HEAP32[4393]|0; + HEAP32[4157] = $7; + $8 = HEAP32[4155]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17288>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17288+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4393] = 2; - HEAP32[4395] = 0; + HEAP32[4155] = 2; + HEAP32[4157] = 0; } else { label = 6; } @@ -12135,8 +12361,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4395] = 1; - HEAP32[4393] = 1; + HEAP32[4157] = 1; + HEAP32[4155] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12145,19 +12371,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 17288; + $21 = 16336; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 17296; + $25 = 16344; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 17304; + $29 = 16352; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12166,13 +12392,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4328] = 0.0; - HEAPF32[(17316)>>2] = 0.0; + HEAPF32[4090] = 0.0; + HEAPF32[(16364)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4393]|0; + $35 = HEAP32[4155]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12182,19 +12408,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 17304; + $44 = 16352; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17288>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17288+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17304>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17304+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16352>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16352+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4396] = $49; - HEAP32[4397] = 0; + HEAPF32[4158] = $49; + HEAP32[4159] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -12202,11 +12428,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17288>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17288+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17304>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17304+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16352>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16352+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4398] = $56; + HEAPF32[4160] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12237,22 +12463,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4396] = 0.0; - HEAPF32[4398] = 0.0; + HEAPF32[4158] = 0.0; + HEAPF32[4160] = 0.0; $$sink10 = 0; } - HEAP32[4393] = $$sink10; - HEAPF32[4324] = 0.0; - HEAPF32[(17300)>>2] = 0.0; - HEAP32[4394] = 0; + HEAP32[4155] = $$sink10; + HEAPF32[4086] = 0.0; + HEAPF32[(16348)>>2] = 0.0; + HEAP32[4156] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4397]|0; + $65 = HEAP32[4159]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4397] = 1; + HEAP32[4159] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12261,31 +12487,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 17320; + $74 = 16368; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4393]|0; + $78 = HEAP32[4155]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17288>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17288+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17320+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16368+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4393] = 8; + HEAP32[4155] = 8; } } - $82 = +HEAPF32[4330]; - $83 = +HEAPF32[4324]; + $82 = +HEAPF32[4092]; + $83 = +HEAPF32[4086]; $84 = $82 - $83; - HEAPF32[4328] = $84; - $85 = +HEAPF32[(17324)>>2]; - $86 = +HEAPF32[(17300)>>2]; + HEAPF32[4090] = $84; + $85 = +HEAPF32[(16372)>>2]; + $86 = +HEAPF32[(16348)>>2]; $87 = $85 - $86; - HEAPF32[(17316)>>2] = $87; + HEAPF32[(16364)>>2] = $87; STACKTOP = sp;return; break; } @@ -12294,58 +12520,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4393]|0; + $0 = HEAP32[4155]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4394]|0; + $2 = HEAP32[4156]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4393] = 4; + HEAP32[4155] = 4; } - $4 = HEAP32[4393]|0; + $4 = HEAP32[4155]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12358,14 +12545,14 @@ function _UpdateGestures() { return; } } - HEAP32[4393] = 0; + HEAP32[4155] = 0; return; } function _GetMousePosition($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 = 17352; + $1 = 16400; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12382,13 +12569,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4403]|0; + $0 = HEAP32[4165]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4402]|0; + $0 = HEAP32[4164]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -12399,29 +12586,29 @@ function _InitWindow($0,$1,$2) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - _TraceLog(0,4851,$vararg_buffer); - HEAP32[4405] = $2; + _TraceLog(0,4565,$vararg_buffer); + HEAP32[4167] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); - (_emscripten_set_keypress_callback((4880|0),(0|0),1,(5|0))|0); - (_emscripten_set_click_callback((4880|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchstart_callback((4880|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchend_callback((4880|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchmove_callback((4880|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchcancel_callback((4880|0),(0|0),1,(7|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4403]|0; + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(3|0))|0); + (_emscripten_set_keypress_callback((4594|0),(0|0),1,(4|0))|0); + (_emscripten_set_click_callback((4594|0),(0|0),1,(5|0))|0); + (_emscripten_set_touchstart_callback((4594|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchend_callback((4594|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchmove_callback((4594|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchcancel_callback((4594|0),(0|0),1,(6|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(7|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(7|0))|0); + $3 = HEAP32[4165]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4338] = $5; - $6 = HEAP32[4402]|0; + HEAPF32[4100] = $5; + $6 = HEAP32[4164]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(17356)>>2] = $8; - $9 = HEAP32[4406]|0; + HEAPF32[(16404)>>2] = $8; + $9 = HEAP32[4168]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12440,11 +12627,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[17392>>0]=HEAP8[9409>>0]|0;HEAP8[17392+1>>0]=HEAP8[9409+1>>0]|0;HEAP8[17392+2>>0]=HEAP8[9409+2>>0]|0;HEAP8[17392+3>>0]=HEAP8[9409+3>>0]|0;HEAP8[17392+4>>0]=HEAP8[9409+4>>0]|0;HEAP8[17392+5>>0]=HEAP8[9409+5>>0]|0;HEAP8[17392+6>>0]=HEAP8[9409+6>>0]|0; + ;HEAP8[16440>>0]=HEAP8[9123>>0]|0;HEAP8[16440+1>>0]=HEAP8[9123+1>>0]|0;HEAP8[16440+2>>0]=HEAP8[9123+2>>0]|0;HEAP8[16440+3>>0]=HEAP8[9123+3>>0]|0;HEAP8[16440+4>>0]=HEAP8[9123+4>>0]|0;HEAP8[16440+5>>0]=HEAP8[9123+5>>0]|0;HEAP8[16440+6>>0]=HEAP8[9123+6>>0]|0; break; } case 1: { - $3 = 17392; + $3 = 16440; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12453,11 +12640,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=17392; src=9416; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16440; src=9130; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 17392; + $7 = 16440; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12468,16 +12655,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(17392,$1)|0); - $strlen = (_strlen(17392)|0); - $endptr = (17392 + ($strlen)|0); + (_strcat(16440,$1)|0); + $strlen = (_strlen(16440)|0); + $endptr = (16440 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(17392,$2)|0); + (_vprintf(16440,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12509,22 +12696,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4403] = $0; - HEAP32[4402] = $1; + HEAP32[4165] = $0; + HEAP32[4164] = $1; _MatrixIdentity($2); - dest=17700; 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)); + dest=16748; 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)); (_glfwSetErrorCallback((1|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { - _TraceLog(1,5551,$vararg_buffer); + _TraceLog(1,5265,$vararg_buffer); } - $6 = HEAP32[4403]|0; - HEAP32[4441] = $6; - $7 = HEAP32[4402]|0; - HEAP32[4442] = $7; + $6 = HEAP32[4165]|0; + HEAP32[4203] = $6; + $7 = HEAP32[4164]|0; + HEAP32[4204] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[21440]|0; + $8 = HEAP8[20488]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12532,18 +12719,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[21440]|0; + $11 = HEAP8[20488]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[21440]|0; + $14 = HEAP8[20488]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,5577,$vararg_buffer1); + _TraceLog(0,5291,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -12560,18 +12747,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4443]|0; + $21 = HEAP32[4205]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4403]|0; - $48 = HEAP32[4402]|0; - $49 = HEAP32[4405]|0; + $47 = HEAP32[4165]|0; + $48 = HEAP32[4164]|0; + $49 = HEAP32[4167]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4401] = $50; - $51 = HEAP32[4403]|0; - HEAP32[4444] = $51; - $52 = HEAP32[4402]|0; - HEAP32[4445] = $52; + HEAP32[4163] = $50; + $51 = HEAP32[4165]|0; + HEAP32[4206] = $51; + $52 = HEAP32[4164]|0; + HEAP32[4207] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12580,9 +12767,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4403]|0; + $27 = HEAP32[4165]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4402]|0; + $29 = HEAP32[4164]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12604,87 +12791,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4441] = $31; - HEAP32[4442] = $34; + HEAP32[4203] = $31; + HEAP32[4204] = $34; } } while(0); - $38 = HEAP32[4441]|0; - $39 = HEAP32[4442]|0; + $38 = HEAP32[4203]|0; + $39 = HEAP32[4204]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,5602,$vararg_buffer3); - $40 = HEAP32[4441]|0; - $41 = HEAP32[4442]|0; + _TraceLog(2,5316,$vararg_buffer3); + $40 = HEAP32[4203]|0; + $41 = HEAP32[4204]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4441]|0; - $43 = HEAP32[4442]|0; - $44 = HEAP32[4405]|0; + $42 = HEAP32[4203]|0; + $43 = HEAP32[4204]|0; + $44 = HEAP32[4167]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4401] = $46; + HEAP32[4163] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,5640,$vararg_buffer6); + _TraceLog(1,5354,$vararg_buffer6); } else { - _TraceLog(0,5673,$vararg_buffer8); - $55 = HEAP32[4444]|0; - $56 = HEAP32[4445]|0; + _TraceLog(0,5387,$vararg_buffer8); + $55 = HEAP32[4206]|0; + $56 = HEAP32[4207]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,5713,$vararg_buffer10); - $57 = HEAP32[4403]|0; - $58 = HEAP32[4402]|0; + _TraceLog(0,5427,$vararg_buffer10); + $57 = HEAP32[4165]|0; + $58 = HEAP32[4164]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,5734,$vararg_buffer14); - $59 = HEAP32[4446]|0; - $60 = HEAP32[4447]|0; + _TraceLog(0,5448,$vararg_buffer14); + $59 = HEAP32[4208]|0; + $60 = HEAP32[4209]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,5755,$vararg_buffer18); + _TraceLog(0,5469,$vararg_buffer18); } - $61 = HEAP32[4401]|0; + $61 = HEAP32[4163]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4401]|0; + $62 = HEAP32[4163]|0; (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[4401]|0; + $63 = HEAP32[4163]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4401]|0; + $64 = HEAP32[4163]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4401]|0; + $65 = HEAP32[4163]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4401]|0; + $66 = HEAP32[4163]|0; (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[4401]|0; + $67 = HEAP32[4163]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4401]|0; + $68 = HEAP32[4163]|0; (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[4401]|0; + $69 = HEAP32[4163]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[21440]|0; + $70 = HEAP8[20488]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4403]|0; - $74 = HEAP32[4402]|0; + $73 = HEAP32[4165]|0; + $74 = HEAP32[4164]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4444]|0; - $76 = HEAP32[4446]|0; + $75 = HEAP32[4206]|0; + $76 = HEAP32[4208]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4445]|0; - $80 = HEAP32[4447]|0; + $79 = HEAP32[4207]|0; + $80 = HEAP32[4209]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12702,19 +12889,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,5780,$vararg_buffer22); - $73 = HEAP32[4403]|0; - $74 = HEAP32[4402]|0; + _TraceLog(0,5494,$vararg_buffer22); + $73 = HEAP32[4165]|0; + $74 = HEAP32[4164]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4444]|0; - $76 = HEAP32[4446]|0; + $75 = HEAP32[4206]|0; + $76 = HEAP32[4208]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4445]|0; - $80 = HEAP32[4447]|0; + $79 = HEAP32[4207]|0; + $80 = HEAP32[4209]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12742,7 +12929,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(17668)>>2] = 224; + HEAP32[(16716)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12783,27 +12970,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[17644>>2]=HEAP32[$1>>2]|0;HEAP32[17644+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17644+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17644+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17644+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[16692>>2]=HEAP32[$1>>2]|0;HEAP32[16692+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16692+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16692+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16692+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(17668)>>2]|0; + $5 = HEAP32[(16716)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(17672)>>2] = $7; + HEAP32[(16720)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(17664)>>2] = $23; - $24 = HEAP32[4411]|0; + HEAP32[(16712)>>2] = $23; + $24 = HEAP32[4173]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5075,$vararg_buffer); + _TraceLog(0,4789,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(17648)>>2]|0; - $10 = HEAP32[(17668)>>2]|0; - $11 = HEAP32[(17672)>>2]|0; + $9 = HEAP32[(16696)>>2]|0; + $10 = HEAP32[(16716)>>2]|0; + $11 = HEAP32[(16720)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12852,10 +13039,10 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(17664)>>2] = $23; - $24 = HEAP32[4411]|0; + HEAP32[(16712)>>2] = $23; + $24 = HEAP32[4173]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5075,$vararg_buffer); + _TraceLog(0,4789,$vararg_buffer); STACKTOP = sp;return; } function _InitTimer() { @@ -12864,7 +13051,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2173] = $1; + HEAPF64[2054] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12894,7 +13081,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,5008,$vararg_buffer4); + _TraceLog(0,4722,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -12904,7 +13091,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,4939,$vararg_buffer); + _TraceLog(0,4653,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -12920,7 +13107,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,4932)|0); + $5 = (_strcmp($4,4646)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -13023,7 +13210,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 17368; + $31 = 16416; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13036,7 +13223,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (17376); + $42 = (16424); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13092,7 +13279,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (17628 + ($10<<2)|0); + $11 = (16676 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13106,19 +13293,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2170] = $$; + HEAPF64[2051] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,4888,$vararg_buffer); + _TraceLog(0,4602,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4406] = 0; + HEAP32[4168] = 0; return; } function _GetTime() { @@ -13217,7 +13404,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,5451,$vararg_buffer); + _TraceLog(2,5165,$vararg_buffer); STACKTOP = sp;return; } ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; @@ -13694,52 +13881,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4419]|0; + $6 = HEAP32[4181]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,5120,$vararg_buffer); + _TraceLog(2,4834,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4420]|0; + $9 = HEAP32[4182]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,5164,$vararg_buffer1); + _TraceLog(2,4878,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4421]|0; + $12 = HEAP32[4183]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); $or$cond = $14 & $13; if ($or$cond) { - _TraceLog(2,5209,$vararg_buffer3); + _TraceLog(2,4923,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4422]|0; + $15 = HEAP32[4184]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); $or$cond96 = $17 & $16; if ($or$cond96) { - _TraceLog(2,5254,$vararg_buffer5); + _TraceLog(2,4968,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4423]|0; + $18 = HEAP32[4185]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); $or$cond98 = $20 & $19; if ($or$cond98) { - _TraceLog(2,5299,$vararg_buffer7); + _TraceLog(2,5013,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13777,7 +13964,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4419]|0; + $22 = HEAP32[4181]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13785,7 +13972,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4419]|0; + $24 = HEAP32[4181]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13793,7 +13980,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4419]|0; + $26 = HEAP32[4181]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13801,7 +13988,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4419]|0; + $28 = HEAP32[4181]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13809,7 +13996,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4420]|0; + $30 = HEAP32[4182]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13817,7 +14004,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4421]|0; + $32 = HEAP32[4183]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13825,7 +14012,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4421]|0; + $34 = HEAP32[4183]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13833,7 +14020,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4422]|0; + $36 = HEAP32[4184]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13841,7 +14028,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4422]|0; + $38 = HEAP32[4184]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13849,7 +14036,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4423]|0; + $40 = HEAP32[4185]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13857,7 +14044,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4423]|0; + $42 = HEAP32[4185]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13865,11 +14052,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,5344,$vararg_buffer9); + _TraceLog(2,5058,$vararg_buffer9); } } } while(0); - $44 = HEAP32[4424]|0; + $44 = HEAP32[4186]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13884,7 +14071,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,5422,$vararg_buffer15); + _TraceLog(2,5136,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13893,7 +14080,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { HEAP32[$vararg_ptr13>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,5373,$vararg_buffer11); + _TraceLog(0,5087,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -14167,7 +14354,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,5505,$vararg_buffer); + _TraceLog(2,5219,$vararg_buffer); $$1 = $$0106; } } @@ -14194,7 +14381,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,9371,$vararg_buffer); + _TraceLog(2,9085,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -14215,20 +14402,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4403]|0; + $3 = HEAP32[4165]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4402]|0; + $5 = HEAP32[4164]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4444] = $3; - HEAP32[4445] = $5; - HEAP32[4446] = 0; - HEAP32[4447] = 0; + HEAP32[4206] = $3; + HEAP32[4207] = $5; + HEAP32[4208] = 0; + HEAP32[4209] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14238,13 +14425,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,9305,$vararg_buffer8); + _TraceLog(0,9019,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4403]|0; + $35 = HEAP32[4165]|0; $36 = (+($35|0)); - $37 = HEAP32[4402]|0; + $37 = HEAP32[4164]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14252,26 +14439,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4444] = $45; - HEAP32[4445] = $37; + HEAP32[4206] = $45; + HEAP32[4207] = $37; $46 = (($45) - ($35))|0; - HEAP32[4446] = $46; + HEAP32[4208] = $46; $$sink1 = 0; } else { - HEAP32[4444] = $35; + HEAP32[4206] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4445] = $42; - HEAP32[4446] = 0; + HEAP32[4207] = $42; + HEAP32[4208] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4447] = $$sink1; + HEAP32[4209] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4402]|0; + $7 = HEAP32[4164]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14279,13 +14466,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,9162,$vararg_buffer); + _TraceLog(2,8876,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4403]|0; + $9 = HEAP32[4165]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4402]|0; + $13 = HEAP32[4164]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14293,37 +14480,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4444] = $23; - HEAP32[4445] = $1; + HEAP32[4206] = $23; + HEAP32[4207] = $1; $24 = (($0) - ($23))|0; - HEAP32[4446] = $24; + HEAP32[4208] = $24; $$sink = 0; } else { - HEAP32[4444] = $0; - $17 = HEAP32[4402]|0; + HEAP32[4206] = $0; + $17 = HEAP32[4164]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4445] = $20; - HEAP32[4446] = 0; + HEAP32[4207] = $20; + HEAP32[4208] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4447] = $$sink; - $25 = HEAP32[4444]|0; + HEAP32[4209] = $$sink; + $25 = HEAP32[4206]|0; $26 = (+($25|0)); - $27 = HEAP32[4403]|0; + $27 = HEAP32[4165]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=17700; 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)); - HEAP32[4444] = $0; - HEAP32[4445] = $1; + dest=16748; 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)); + HEAP32[4206] = $0; + HEAP32[4207] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,9240,$vararg_buffer4); + _TraceLog(2,8954,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -14341,10 +14528,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4403] = $1; - HEAP32[4402] = $2; - HEAP32[4444] = $1; - HEAP32[4445] = $2; + HEAP32[4165] = $1; + HEAP32[4164] = $2; + HEAP32[4206] = $1; + HEAP32[4207] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14371,7 +14558,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (21447 + ($1)|0); + $9 = (20495 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -14392,7 +14579,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (21441 + ($1)|0); + $7 = (20489 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14471,7 +14658,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 17368; + $15 = 16416; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14506,7 +14693,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4817] = $3; + HEAP32[4579] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14516,7 +14703,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4816] = $$sink; + HEAP32[4578] = $$sink; return; } function _rlglInit($0,$1) { @@ -14556,16 +14743,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,5803,$vararg_buffer); + _TraceLog(0,5517,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,5821,$vararg_buffer1); + _TraceLog(0,5535,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,5839,$vararg_buffer4); + _TraceLog(0,5553,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,5857,$vararg_buffer7); + _TraceLog(0,5571,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -14573,7 +14760,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,5875)|0); + $15 = (_strtok($$sink63,5589)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -14587,41 +14774,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,5877,$vararg_buffer10); + _TraceLog(0,5591,$vararg_buffer10); $20 = ($$062|0)>(1); if ($20) { $$06167 = 0; while(1) { $23 = (($vararg_buffer7) + ($$06167<<2)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,5912)|0); + $25 = (_strcmp($24,5626)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4482] = 1; - $27 = (_eglGetProcAddress((5939|0))|0); - HEAP32[4483] = $27; - $28 = (_eglGetProcAddress((5960|0))|0); - HEAP32[4484] = $28; - $29 = (_eglGetProcAddress((5981|0))|0); - HEAP32[4485] = $29; + HEAP32[4244] = 1; + $27 = (_eglGetProcAddress((5653|0))|0); + HEAP32[4245] = $27; + $28 = (_eglGetProcAddress((5674|0))|0); + HEAP32[4246] = $28; + $29 = (_eglGetProcAddress((5695|0))|0); + HEAP32[4247] = $29; } - $30 = (_strcmp($24,6005)|0); + $30 = (_strcmp($24,5719)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4424] = 1; + HEAP32[4186] = 1; } - $32 = (_strcmp($24,6025)|0); + $32 = (_strcmp($24,5739)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,6057)|0); + $35 = (_strcmp($34,5771)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,6090)|0); + $37 = (_strcmp($34,5804)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -14630,15 +14817,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4419] = 1; + HEAP32[4181] = 1; } - $39 = (_strcmp($24,6130)|0); + $39 = (_strcmp($24,5844)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,6166)|0); + $42 = (_strcmp($41,5880)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -14646,35 +14833,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4420] = 1; + HEAP32[4182] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,6199)|0); + $45 = (_strcmp($44,5913)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4421] = 1; + HEAP32[4183] = 1; } - $47 = (_strcmp($44,6224)|0); + $47 = (_strcmp($44,5938)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4422] = 1; + HEAP32[4184] = 1; } - $49 = (_strcmp($44,6257)|0); + $49 = (_strcmp($44,5971)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4423] = 1; + HEAP32[4185] = 1; } - $51 = (_strcmp($44,6293)|0); + $51 = (_strcmp($44,6007)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4486] = 1; - _glGetFloatv(34047,(17948|0)); + HEAP32[4248] = 1; + _glGetFloatv(34047,(16996|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,6327)|0); + $54 = (_strcmp($53,6041)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4488] = 1; + HEAP32[4250] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14685,77 +14872,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4482]|0; + $21 = HEAP32[4244]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,6430,$vararg_buffer15); + _TraceLog(2,6144,$vararg_buffer15); } else { - _TraceLog(0,6355,$vararg_buffer13); + _TraceLog(0,6069,$vararg_buffer13); } - $57 = HEAP32[4424]|0; + $57 = HEAP32[4186]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,6566,$vararg_buffer19); + _TraceLog(2,6280,$vararg_buffer19); } else { - _TraceLog(0,6491,$vararg_buffer17); + _TraceLog(0,6205,$vararg_buffer17); } - $59 = HEAP32[4419]|0; + $59 = HEAP32[4181]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,6658,$vararg_buffer21); + _TraceLog(0,6372,$vararg_buffer21); } - $61 = HEAP32[4420]|0; + $61 = HEAP32[4182]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,6704,$vararg_buffer23); + _TraceLog(0,6418,$vararg_buffer23); } - $63 = HEAP32[4421]|0; + $63 = HEAP32[4183]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,6751,$vararg_buffer25); + _TraceLog(0,6465,$vararg_buffer25); } - $65 = HEAP32[4422]|0; + $65 = HEAP32[4184]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,6802,$vararg_buffer27); + _TraceLog(0,6516,$vararg_buffer27); } - $67 = HEAP32[4423]|0; + $67 = HEAP32[4185]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,6849,$vararg_buffer29); + _TraceLog(0,6563,$vararg_buffer29); } - $69 = HEAP32[4486]|0; + $69 = HEAP32[4248]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4487]; + $71 = +HEAPF32[4249]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,6896,$vararg_buffer31); + _TraceLog(0,6610,$vararg_buffer31); } - $73 = HEAP32[4488]|0; + $73 = HEAP32[4250]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,6962,$vararg_buffer34); + _TraceLog(0,6676,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4489] = $75; + HEAP32[4251] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,7066,$vararg_buffer39); + _TraceLog(2,6780,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,7015,$vararg_buffer36); + _TraceLog(0,6729,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17960; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18016; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17008; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17064; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4518] = $77; + HEAP32[4280] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4518]|0; + $79 = HEAP32[4280]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14768,7 +14955,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4519] = $78; + HEAP32[4281] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14783,48 +14970,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4520] = 1; - $85 = HEAP32[4489]|0; + HEAP32[4282] = 1; + $85 = HEAP32[4251]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4521] = 4; + HEAP32[4283] = 4; _MatrixIdentity($4); - dest=18088; src=$4; 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)); + dest=17136; src=$4; 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)); _MatrixIdentity($4); - dest=(18152); src=$4; 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)); + dest=(17200); src=$4; 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)); _MatrixIdentity($4); - dest=(18216); src=$4; 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)); + dest=(17264); src=$4; 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)); _MatrixIdentity($4); - dest=(18280); src=$4; 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)); + dest=(17328); src=$4; 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)); _MatrixIdentity($4); - dest=(18344); src=$4; 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)); + dest=(17392); src=$4; 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)); _MatrixIdentity($4); - dest=(18408); src=$4; 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)); + dest=(17456); src=$4; 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)); _MatrixIdentity($4); - dest=(18472); src=$4; 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)); + dest=(17520); src=$4; 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)); _MatrixIdentity($4); - dest=(18536); src=$4; 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)); + dest=(17584); src=$4; 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)); _MatrixIdentity($4); - dest=(18600); src=$4; 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)); + dest=(17648); src=$4; 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)); _MatrixIdentity($4); - dest=(18664); src=$4; 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)); + dest=(17712); src=$4; 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)); _MatrixIdentity($4); - dest=(18728); src=$4; 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)); + dest=(17776); src=$4; 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)); _MatrixIdentity($4); - dest=(18792); src=$4; 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)); + dest=(17840); src=$4; 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)); _MatrixIdentity($4); - dest=(18856); src=$4; 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)); + dest=(17904); src=$4; 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)); _MatrixIdentity($4); - dest=(18920); src=$4; 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)); + dest=(17968); src=$4; 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)); _MatrixIdentity($4); - dest=(18984); src=$4; 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)); + dest=(18032); src=$4; 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)); _MatrixIdentity($4); - dest=(19048); src=$4; 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)); + dest=(18096); src=$4; 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)); _MatrixIdentity($5); - dest=17796; src=$5; 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)); + dest=16844; src=$5; 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)); _MatrixIdentity($6); - dest=17860; src=$6; 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)); - HEAP32[4448] = 17860; + dest=16908; src=$6; 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)); + HEAP32[4210] = 16908; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14835,21 +15022,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4778] = $0; - HEAP32[4779] = $1; - _TraceLog(0,7105,$vararg_buffer41); + HEAP32[4540] = $0; + HEAP32[4541] = $1; + _TraceLog(0,6819,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4446]|0; + $0 = HEAP32[4208]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4447]|0; + $2 = HEAP32[4209]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4444]|0; + $4 = HEAP32[4206]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4445]|0; + $6 = HEAP32[4207]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14860,12 +15047,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 17796; + $modelview$sink = 16844; label = 3; break; } case 5888: { - $modelview$sink = 17860; + $modelview$sink = 16908; label = 3; break; } @@ -14873,9 +15060,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4448] = $modelview$sink; + HEAP32[4210] = $modelview$sink; } - HEAP32[4481] = $0; + HEAP32[4243] = $0; return; } function _rlLoadIdentity() { @@ -14883,7 +15070,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4448]|0; + $1 = HEAP32[4210]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14904,7 +15091,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4448]|0; + $8 = HEAP32[4210]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14963,17 +15150,17 @@ function _LoadDefaultShader($0) { $1 = sp + 16|0; $2 = sp + 513|0; $3 = sp + 72|0; - _memcpy(($2|0),(7681|0),489)|0; - _memcpy(($3|0),(8170|0),441)|0; + _memcpy(($2|0),(7395|0),489)|0; + _memcpy(($3|0),(7884|0),441)|0; $4 = (_LoadShaderProgram($2,$3)|0); HEAP32[$1>>2] = $4; $5 = ($4|0)==(0); if ($5) { HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,8659,$vararg_buffer1); + _TraceLog(2,8373,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,8611,$vararg_buffer); + _TraceLog(0,8325,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -15001,15 +15188,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(19132)>>2] = $0; + HEAP32[(18180)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(19140)>>2] = $1; - HEAP32[(19136)>>2] = 0; - HEAP32[(19144)>>2] = 0; + HEAP32[(18188)>>2] = $1; + HEAP32[(18184)>>2] = 0; + HEAP32[(18192)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(19140)>>2]|0; + $2 = HEAP32[(18188)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15020,19 +15207,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4780] = 0; - HEAP32[(19128)>>2] = 0; - HEAP32[(19124)>>2] = 0; + HEAP32[4542] = 0; + HEAP32[(18176)>>2] = 0; + HEAP32[(18172)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(19180)>>2] = $5; + HEAP32[(18228)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(19188)>>2] = $6; - HEAP32[(19184)>>2] = 0; - HEAP32[(19192)>>2] = 0; + HEAP32[(18236)>>2] = $6; + HEAP32[(18232)>>2] = 0; + HEAP32[(18240)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(19188)>>2]|0; + $7 = HEAP32[(18236)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15043,24 +15230,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4792] = 0; - HEAP32[(19176)>>2] = 0; - HEAP32[(19172)>>2] = 0; + HEAP32[4554] = 0; + HEAP32[(18224)>>2] = 0; + HEAP32[(18220)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(19228)>>2] = $10; + HEAP32[(18276)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(19232)>>2] = $11; + HEAP32[(18280)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(19236)>>2] = $12; + HEAP32[(18284)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(19240)>>2] = $13; - $14 = HEAP32[(19228)>>2]|0; + HEAP32[(18288)>>2] = $13; + $14 = HEAP32[(18276)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(19232)>>2]|0; + $15 = HEAP32[(18280)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(19236)>>2]|0; + $17 = HEAP32[(18284)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15071,7 +15258,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(19240)>>2]|0; + $16 = HEAP32[(18288)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15108,140 +15295,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4804] = 0; - HEAP32[(19220)>>2] = 0; - HEAP32[(19224)>>2] = 0; - _TraceLog(0,7152,$vararg_buffer); - $20 = HEAP32[4482]|0; + HEAP32[4566] = 0; + HEAP32[(18268)>>2] = 0; + HEAP32[(18272)>>2] = 0; + _TraceLog(0,6866,$vararg_buffer); + $20 = HEAP32[4244]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4483]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(19148)); - $44 = HEAP32[4484]|0; - $45 = HEAP32[(19148)>>2]|0; + $43 = HEAP32[4245]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18196)); + $44 = HEAP32[4246]|0; + $45 = HEAP32[(18196)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((19152)|0)); - $46 = HEAP32[(19152)>>2]|0; + _glGenBuffers(2,((18200)|0)); + $46 = HEAP32[(18200)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(19132)>>2]|0; + $47 = HEAP32[(18180)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(18020)>>2]|0; + $48 = HEAP32[(17068)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(18020)>>2]|0; + $49 = HEAP32[(17068)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((19156)|0)); - $50 = HEAP32[(19156)>>2]|0; + _glGenBuffers(2,((18204)|0)); + $50 = HEAP32[(18204)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(19140)>>2]|0; + $51 = HEAP32[(18188)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(18040)>>2]|0; + $52 = HEAP32[(17088)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(18040)>>2]|0; + $53 = HEAP32[(17088)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4482]|0; + $54 = HEAP32[4244]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(19152)>>2]|0; - $58 = HEAP32[(19156)>>2]|0; + $57 = HEAP32[(18200)>>2]|0; + $58 = HEAP32[(18204)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,7290,$vararg_buffer3); + _TraceLog(0,7004,$vararg_buffer3); } else { - $56 = HEAP32[(19148)>>2]|0; + $56 = HEAP32[(18196)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,7225,$vararg_buffer1); + _TraceLog(0,6939,$vararg_buffer1); } - $59 = HEAP32[4482]|0; + $59 = HEAP32[4244]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4483]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(19196)); - $62 = HEAP32[4484]|0; - $63 = HEAP32[(19196)>>2]|0; + $61 = HEAP32[4245]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18244)); + $62 = HEAP32[4246]|0; + $63 = HEAP32[(18244)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((19200)|0)); - $64 = HEAP32[(19200)>>2]|0; + _glGenBuffers(1,((18248)|0)); + $64 = HEAP32[(18248)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(19180)>>2]|0; + $65 = HEAP32[(18228)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(18020)>>2]|0; + $66 = HEAP32[(17068)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(18020)>>2]|0; + $67 = HEAP32[(17068)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19204)|0)); - $68 = HEAP32[(19204)>>2]|0; + _glGenBuffers(1,((18252)|0)); + $68 = HEAP32[(18252)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(19188)>>2]|0; + $69 = HEAP32[(18236)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(18040)>>2]|0; + $70 = HEAP32[(17088)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(18040)>>2]|0; + $71 = HEAP32[(17088)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4482]|0; + $72 = HEAP32[4244]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(19200)>>2]|0; - $76 = HEAP32[(19204)>>2]|0; + $75 = HEAP32[(18248)>>2]|0; + $76 = HEAP32[(18252)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,7436,$vararg_buffer10); + _TraceLog(0,7150,$vararg_buffer10); } else { - $74 = HEAP32[(19196)>>2]|0; + $74 = HEAP32[(18244)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,7367,$vararg_buffer7); + _TraceLog(0,7081,$vararg_buffer7); } - $77 = HEAP32[4482]|0; + $77 = HEAP32[4244]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4483]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(19244)); - $80 = HEAP32[4484]|0; - $81 = HEAP32[(19244)>>2]|0; + $79 = HEAP32[4245]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18292)); + $80 = HEAP32[4246]|0; + $81 = HEAP32[(18292)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((19248)|0)); - $82 = HEAP32[(19248)>>2]|0; + _glGenBuffers(1,((18296)|0)); + $82 = HEAP32[(18296)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(19228)>>2]|0; + $83 = HEAP32[(18276)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(18020)>>2]|0; + $84 = HEAP32[(17068)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(18020)>>2]|0; + $85 = HEAP32[(17068)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19252)|0)); - $86 = HEAP32[(19252)>>2]|0; + _glGenBuffers(1,((18300)|0)); + $86 = HEAP32[(18300)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(19232)>>2]|0; + $87 = HEAP32[(18280)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(18024)>>2]|0; + $88 = HEAP32[(17072)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(18024)>>2]|0; + $89 = HEAP32[(17072)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((19256)|0)); - $90 = HEAP32[(19256)>>2]|0; + _glGenBuffers(1,((18304)|0)); + $90 = HEAP32[(18304)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(19236)>>2]|0; + $91 = HEAP32[(18284)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(18040)>>2]|0; + $92 = HEAP32[(17088)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(18040)>>2]|0; + $93 = HEAP32[(17088)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((19260)|0)); - $94 = HEAP32[(19260)>>2]|0; + _glGenBuffers(1,((18308)|0)); + $94 = HEAP32[(18308)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(19240)>>2]|0; + $95 = HEAP32[(18288)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4482]|0; + $96 = HEAP32[4244]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(19248)>>2]|0; - $100 = HEAP32[(19252)>>2]|0; - $101 = HEAP32[(19256)>>2]|0; - $102 = HEAP32[(19260)>>2]|0; + $99 = HEAP32[(18296)>>2]|0; + $100 = HEAP32[(18300)>>2]|0; + $101 = HEAP32[(18304)>>2]|0; + $102 = HEAP32[(18308)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15249,18 +15436,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,7582,$vararg_buffer17); + _TraceLog(0,7296,$vararg_buffer17); } else { - $98 = HEAP32[(19244)>>2]|0; + $98 = HEAP32[(18292)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,7517,$vararg_buffer14); + _TraceLog(0,7231,$vararg_buffer14); } - $103 = HEAP32[4482]|0; + $103 = HEAP32[4244]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4484]|0; + $105 = HEAP32[4246]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15297,10 +15484,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,8915,$vararg_buffer4); + _TraceLog(0,8629,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,8863,$vararg_buffer); + _TraceLog(2,8577,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -15310,7 +15497,7 @@ function _LoadShaderProgram($0,$1) { $13 = HEAP32[$vararg_buffer>>2]|0; _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,8912,$vararg_buffer1); + _TraceLog(0,8626,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -15319,10 +15506,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,9016,$vararg_buffer13); + _TraceLog(0,8730,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,8965,$vararg_buffer7); + _TraceLog(2,8679,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -15332,25 +15519,25 @@ function _LoadShaderProgram($0,$1) { $19 = HEAP32[$vararg_buffer7>>2]|0; _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,8912,$vararg_buffer10); + _TraceLog(0,8626,$vararg_buffer10); _llvm_stackrestore(($17|0)); } $20 = (_glCreateProgram()|0); _glAttachShader(($20|0),($6|0)); _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(8707|0)); - _glBindAttribLocation(($20|0),1,(8722|0)); - _glBindAttribLocation(($20|0),2,(8753|0)); - _glBindAttribLocation(($20|0),3,(8780|0)); - _glBindAttribLocation(($20|0),4,(8766|0)); - _glBindAttribLocation(($20|0),5,(8737|0)); + _glBindAttribLocation(($20|0),0,(8421|0)); + _glBindAttribLocation(($20|0),1,(8436|0)); + _glBindAttribLocation(($20|0),2,(8467|0)); + _glBindAttribLocation(($20|0),3,(8494|0)); + _glBindAttribLocation(($20|0),4,(8480|0)); + _glBindAttribLocation(($20|0),5,(8451|0)); _glLinkProgram(($20|0)); _glGetProgramiv(($20|0),35714,($4|0)); $21 = HEAP32[$4>>2]|0; $22 = ($21|0)==(0); if ($22) { HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,9068,$vararg_buffer16); + _TraceLog(2,8782,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -15360,7 +15547,7 @@ function _LoadShaderProgram($0,$1) { $26 = HEAP32[$vararg_buffer16>>2]|0; _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,8912,$vararg_buffer19); + _TraceLog(0,8626,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -15369,7 +15556,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,9114,$vararg_buffer22); + _TraceLog(0,8828,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -15384,55 +15571,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(8707|0))|0); + $2 = (_glGetAttribLocation(($1|0),(8421|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(8722|0))|0); + $5 = (_glGetAttribLocation(($4|0),(8436|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(8737|0))|0); + $8 = (_glGetAttribLocation(($7|0),(8451|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(8753|0))|0); + $11 = (_glGetAttribLocation(($10|0),(8467|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(8766|0))|0); + $14 = (_glGetAttribLocation(($13|0),(8480|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(8780|0))|0); + $17 = (_glGetAttribLocation(($16|0),(8494|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(8792|0))|0); + $20 = (_glGetUniformLocation(($19|0),(8506|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(8802|0))|0); + $23 = (_glGetUniformLocation(($22|0),(8516|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(8813|0))|0); + $26 = (_glGetUniformLocation(($25|0),(8527|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(8824|0))|0); + $29 = (_glGetUniformLocation(($28|0),(8538|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(8836|0))|0); + $32 = (_glGetUniformLocation(($31|0),(8550|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(8845|0))|0); + $35 = (_glGetUniformLocation(($34|0),(8559|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(8854|0))|0); + $38 = (_glGetUniformLocation(($37|0),(8568|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -15441,9 +15628,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21441 + ($0)|0); + $1 = (20489 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21444 + ($0)|0); + $3 = (20492 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15455,9 +15642,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21441 + ($0)|0); + $1 = (20489 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21444 + ($0)|0); + $3 = (20492 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15478,10 +15665,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4401]|0; + $0 = HEAP32[4163]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,9426,$vararg_buffer); + _TraceLog(0,9140,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -15489,9 +15676,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[17644>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17644+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17644+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17644+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17644+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[16692>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16692+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16692+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16692+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16692+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(17672)>>2]|0; + $0 = HEAP32[(16720)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15502,11 +15689,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17956|0)); - $0 = HEAP32[4489]|0; + _glDeleteTextures(1,(17004|0)); + $0 = HEAP32[4251]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,9453,$vararg_buffer); - $1 = HEAP32[4519]|0; + _TraceLog(0,9167,$vararg_buffer); + $1 = HEAP32[4281]|0; _free($1); STACKTOP = sp;return; } @@ -15514,17 +15701,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4490]|0; + $0 = HEAP32[4252]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4482]|0; + $0 = HEAP32[4244]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4484]|0; + $2 = HEAP32[4246]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15533,39 +15720,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((19152)|0)); - _glDeleteBuffers(1,((19156)|0)); - _glDeleteBuffers(1,((19200)|0)); - _glDeleteBuffers(1,((19204)|0)); - _glDeleteBuffers(1,((19248)|0)); - _glDeleteBuffers(1,((19252)|0)); - _glDeleteBuffers(1,((19256)|0)); - _glDeleteBuffers(1,((19260)|0)); - $3 = HEAP32[4482]|0; + _glDeleteBuffers(1,((18200)|0)); + _glDeleteBuffers(1,((18204)|0)); + _glDeleteBuffers(1,((18248)|0)); + _glDeleteBuffers(1,((18252)|0)); + _glDeleteBuffers(1,((18296)|0)); + _glDeleteBuffers(1,((18300)|0)); + _glDeleteBuffers(1,((18304)|0)); + _glDeleteBuffers(1,((18308)|0)); + $3 = HEAP32[4244]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4485]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(19148)); - $6 = HEAP32[4485]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(19196)); - $7 = HEAP32[4485]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(19244)); + $5 = HEAP32[4247]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18196)); + $6 = HEAP32[4247]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18244)); + $7 = HEAP32[4247]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18292)); } - $8 = HEAP32[(19132)>>2]|0; + $8 = HEAP32[(18180)>>2]|0; _free($8); - $9 = HEAP32[(19140)>>2]|0; + $9 = HEAP32[(18188)>>2]|0; _free($9); - $10 = HEAP32[(19180)>>2]|0; + $10 = HEAP32[(18228)>>2]|0; _free($10); - $11 = HEAP32[(19188)>>2]|0; + $11 = HEAP32[(18236)>>2]|0; _free($11); - $12 = HEAP32[(19228)>>2]|0; + $12 = HEAP32[(18276)>>2]|0; _free($12); - $13 = HEAP32[(19232)>>2]|0; + $13 = HEAP32[(18280)>>2]|0; _free($13); - $14 = HEAP32[(19236)>>2]|0; + $14 = HEAP32[(18284)>>2]|0; _free($14); - $15 = HEAP32[(19240)>>2]|0; + $15 = HEAP32[(18288)>>2]|0; _free($15); return; } @@ -15583,7 +15770,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,9518,$vararg_buffer); + _TraceLog(0,9232,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -15605,16 +15792,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2190] = $0; - $1 = +HEAPF64[2173]; + HEAPF64[2071] = $0; + $1 = +HEAPF64[2054]; $2 = $0 - $1; - HEAPF64[2191] = $2; - HEAPF64[2173] = $0; + HEAPF64[2072] = $2; + HEAPF64[2054] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=17700; 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)); + dest=$downscaleView$byval_copy; src=16748; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(19272); + _rlMultMatrixf(18320); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15623,53 +15810,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[4818] = $1; + HEAP32[4580] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(19276)>>2] = $3; + HEAP32[(18324)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(19280)>>2] = $5; + HEAP32[(18328)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(19284)>>2] = $7; + HEAP32[(18332)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(19288)>>2] = $9; + HEAP32[(18336)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(19292)>>2] = $11; + HEAP32[(18340)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(19296)>>2] = $13; + HEAP32[(18344)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(19300)>>2] = $15; + HEAP32[(18348)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(19304)>>2] = $17; + HEAP32[(18352)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(19308)>>2] = $19; + HEAP32[(18356)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(19312)>>2] = $21; + HEAP32[(18360)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19316)>>2] = $23; + HEAP32[(18364)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(19320)>>2] = $25; + HEAP32[(18368)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(19324)>>2] = $27; + HEAP32[(18372)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(19328)>>2] = $29; + HEAP32[(18376)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(19332)>>2] = $31; - return (19272|0); + HEAP32[(18380)>>2] = $31; + return (18320|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15744,7 +15931,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4448]|0; + $49 = HEAP32[4210]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15758,15 +15945,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2190] = $0; - $1 = +HEAPF64[2173]; + HEAPF64[2071] = $0; + $1 = +HEAPF64[2054]; $2 = $0 - $1; - HEAPF64[2192] = $2; - HEAPF64[2173] = $0; - $3 = +HEAPF64[2191]; + HEAPF64[2073] = $2; + HEAPF64[2054] = $0; + $3 = +HEAPF64[2072]; $4 = $2 + $3; - HEAPF64[2193] = $4; - $5 = +HEAPF64[2170]; + HEAPF64[2074] = $4; + $5 = +HEAPF64[2051]; $6 = $4 < $5; if (!($6)) { return; @@ -15776,13 +15963,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2190] = $10; - $11 = +HEAPF64[2173]; + HEAPF64[2071] = $10; + $11 = +HEAPF64[2054]; $12 = $10 - $11; - HEAPF64[2173] = $10; - $13 = +HEAPF64[2193]; + HEAPF64[2054] = $10; + $13 = +HEAPF64[2074]; $14 = $12 + $13; - HEAPF64[2193] = $14; + HEAPF64[2074] = $14; return; } function _rlglDraw() { @@ -15795,7 +15982,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4401]|0; + $0 = HEAP32[4163]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15811,20 +15998,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[4834] = 0; - $3 = HEAP32[4401]|0; + HEAP32[4596] = 0; + $3 = HEAP32[4163]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4338] = $5; + HEAPF32[4100] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(17356)>>2] = $7; - _memcpy((21959|0),(21447|0),512)|0; - ;HEAP8[21444>>0]=HEAP8[21441>>0]|0;HEAP8[21444+1>>0]=HEAP8[21441+1>>0]|0;HEAP8[21444+2>>0]=HEAP8[21441+2>>0]|0; - $8 = HEAP32[4817]|0; - HEAP32[4404] = $8; - HEAP32[4817] = 0; + HEAPF32[(16404)>>2] = $7; + _memcpy((21007|0),(20495|0),512)|0; + ;HEAP8[20492>>0]=HEAP8[20489>>0]|0;HEAP8[20492+1>>0]=HEAP8[20489+1>>0]|0;HEAP8[20492+2>>0]=HEAP8[20489+2>>0]|0; + $8 = HEAP32[4579]|0; + HEAP32[4166] = $8; + HEAP32[4579] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15834,8 +16021,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (22471 + ($$05160<<5)|0); - $scevgep67 = (22599 + ($$05160<<5)|0); + $scevgep = (21519 + ($$05160<<5)|0); + $scevgep67 = (21647 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15849,7 +16036,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((22599 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((21647 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15876,7 +16063,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((19340 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18388 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15892,7 +16079,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4834] = $$lcssa; + HEAP32[4596] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15933,87 +16120,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4780]|0; + $0 = HEAP32[4542]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4482]|0; + $2 = HEAP32[4244]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4484]|0; - $5 = HEAP32[(19148)>>2]|0; + $4 = HEAP32[4246]|0; + $5 = HEAP32[(18196)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(19152)>>2]|0; + $6 = HEAP32[(18200)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4780]|0; + $7 = HEAP32[4542]|0; $8 = ($7*12)|0; - $9 = HEAP32[(19132)>>2]|0; + $9 = HEAP32[(18180)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(19156)>>2]|0; + $10 = HEAP32[(18204)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(19128)>>2]|0; + $11 = HEAP32[(18176)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(19140)>>2]|0; + $13 = HEAP32[(18188)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4792]|0; + $14 = HEAP32[4554]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4482]|0; + $16 = HEAP32[4244]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4484]|0; - $19 = HEAP32[(19196)>>2]|0; + $18 = HEAP32[4246]|0; + $19 = HEAP32[(18244)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(19200)>>2]|0; + $20 = HEAP32[(18248)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4792]|0; + $21 = HEAP32[4554]|0; $22 = ($21*12)|0; - $23 = HEAP32[(19180)>>2]|0; + $23 = HEAP32[(18228)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(19204)>>2]|0; + $24 = HEAP32[(18252)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(19176)>>2]|0; + $25 = HEAP32[(18224)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(19188)>>2]|0; + $27 = HEAP32[(18236)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4804]|0; + $28 = HEAP32[4566]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4482]|0; + $30 = HEAP32[4244]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4484]|0; - $33 = HEAP32[(19244)>>2]|0; + $32 = HEAP32[4246]|0; + $33 = HEAP32[(18292)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(19248)>>2]|0; + $34 = HEAP32[(18296)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4804]|0; + $35 = HEAP32[4566]|0; $36 = ($35*12)|0; - $37 = HEAP32[(19228)>>2]|0; + $37 = HEAP32[(18276)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(19252)>>2]|0; + $38 = HEAP32[(18300)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4804]|0; + $39 = HEAP32[4566]|0; $40 = $39 << 3; - $41 = HEAP32[(19232)>>2]|0; + $41 = HEAP32[(18280)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(19256)>>2]|0; + $42 = HEAP32[(18304)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4804]|0; + $43 = HEAP32[4566]|0; $44 = $43 << 2; - $45 = HEAP32[(19236)>>2]|0; + $45 = HEAP32[(18284)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4482]|0; + $46 = HEAP32[4244]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4484]|0; + $48 = HEAP32[4246]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16031,9 +16218,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=17796; 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)); - dest=$1; src=17860; 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)); - $3 = HEAP32[4867]|0; + dest=$0; src=16844; 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)); + dest=$1; src=16908; 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)); + $3 = HEAP32[4629]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16043,134 +16230,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4780]|0; + $8 = HEAP32[4542]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4792]|0; + $10 = HEAP32[4554]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4804]|0; + $12 = HEAP32[4566]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4504]|0; + $14 = HEAP32[4266]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=17860; 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)); - dest=$$byval_copy2; src=17796; 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)); + dest=$modelview$byval_copy; src=16908; 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)); + dest=$$byval_copy2; src=16844; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(18044)>>2]|0; + $15 = HEAP32[(17092)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(18048)>>2]|0; + $17 = HEAP32[(17096)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(18060)>>2]|0; + $18 = HEAP32[(17108)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4780]|0; + $19 = HEAP32[4542]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4489]|0; + $21 = HEAP32[4251]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4482]|0; + $22 = HEAP32[4244]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(19152)>>2]|0; + $26 = HEAP32[(18200)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(18020)>>2]|0; + $27 = HEAP32[(17068)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(18020)>>2]|0; + $28 = HEAP32[(17068)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(19156)>>2]|0; + $29 = HEAP32[(18204)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(18040)>>2]|0; + $30 = HEAP32[(17088)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(18040)>>2]|0; + $31 = HEAP32[(17088)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4484]|0; - $25 = HEAP32[(19148)>>2]|0; + $24 = HEAP32[4246]|0; + $25 = HEAP32[(18196)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4780]|0; + $32 = HEAP32[4542]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4482]|0; + $33 = HEAP32[4244]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4792]|0; + $35 = HEAP32[4554]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4489]|0; + $37 = HEAP32[4251]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4482]|0; + $38 = HEAP32[4244]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(19200)>>2]|0; + $42 = HEAP32[(18248)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(18020)>>2]|0; + $43 = HEAP32[(17068)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(18020)>>2]|0; + $44 = HEAP32[(17068)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(19204)>>2]|0; + $45 = HEAP32[(18252)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(18040)>>2]|0; + $46 = HEAP32[(17088)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(18040)>>2]|0; + $47 = HEAP32[(17088)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4484]|0; - $41 = HEAP32[(19196)>>2]|0; + $40 = HEAP32[4246]|0; + $41 = HEAP32[(18244)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4792]|0; + $48 = HEAP32[4554]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4482]|0; + $49 = HEAP32[4244]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4804]|0; + $51 = HEAP32[4566]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4482]|0; + $53 = HEAP32[4244]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(19248)>>2]|0; + $57 = HEAP32[(18296)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(18020)>>2]|0; + $58 = HEAP32[(17068)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(18020)>>2]|0; + $59 = HEAP32[(17068)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(19252)>>2]|0; + $60 = HEAP32[(18300)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(18024)>>2]|0; + $61 = HEAP32[(17072)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(18024)>>2]|0; + $62 = HEAP32[(17072)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(19256)>>2]|0; + $63 = HEAP32[(18304)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(18040)>>2]|0; + $64 = HEAP32[(17088)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(18040)>>2]|0; + $65 = HEAP32[(17088)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(19260)>>2]|0; + $66 = HEAP32[(18308)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4484]|0; - $56 = HEAP32[(19244)>>2]|0; + $55 = HEAP32[4246]|0; + $56 = HEAP32[(18292)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4520]|0; + $67 = HEAP32[4282]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4519]|0; + $71 = HEAP32[4281]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16181,14 +16368,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4519]|0; + $80 = HEAP32[4281]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4520]|0; + $87 = HEAP32[4282]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16197,7 +16384,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4482]|0; + $69 = HEAP32[4244]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16205,10 +16392,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4482]|0; + $89 = HEAP32[4244]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4484]|0; + $91 = HEAP32[4246]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16220,22 +16407,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4520] = 1; - $5 = HEAP32[4489]|0; - $6 = HEAP32[4519]|0; + HEAP32[4282] = 1; + $5 = HEAP32[4251]|0; + $6 = HEAP32[4281]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4780] = 0; - HEAP32[(19128)>>2] = 0; - HEAP32[4792] = 0; - HEAP32[(19176)>>2] = 0; - HEAP32[4804] = 0; - HEAP32[(19220)>>2] = 0; - HEAP32[(19224)>>2] = 0; + HEAP32[4542] = 0; + HEAP32[(18176)>>2] = 0; + HEAP32[4554] = 0; + HEAP32[(18224)>>2] = 0; + HEAP32[4566] = 0; + HEAP32[(18268)>>2] = 0; + HEAP32[(18272)>>2] = 0; HEAPF32[744] = -1.0; - dest=17796; src=$0; 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)); - dest=17860; src=$1; 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)); + dest=16844; src=$0; 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)); + dest=16908; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16250,17 +16437,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[4778]|0; + $5 = HEAP32[4540]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4779]|0; + $9 = HEAP32[4541]|0; _rlViewport($7,0,$8,$9); - $10 = (19700 + ($0<<6)|0); + $10 = (18748 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (19572 + ($0<<6)|0); + $11 = (18620 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -16272,14 +16459,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17860; src=$0; 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)); + dest=16908; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17796; src=$0; 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)); + dest=16844; src=$0; 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)); return; } function _rlPushMatrix() { @@ -16287,43 +16474,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4957]|0; + $0 = HEAP32[4719]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,9568,$vararg_buffer); + _TraceLog(1,9282,$vararg_buffer); } - $2 = HEAP32[4957]|0; - $3 = (18088 + ($2<<6)|0); - $4 = HEAP32[4448]|0; + $2 = HEAP32[4719]|0; + $3 = (17136 + ($2<<6)|0); + $4 = HEAP32[4210]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[4957]|0; + $5 = HEAP32[4719]|0; $6 = (($5) + 1)|0; - HEAP32[4957] = $6; - $7 = HEAP32[4481]|0; + HEAP32[4719] = $6; + $7 = HEAP32[4243]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4958] = 1; + HEAP32[4720] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4957]|0; + $0 = HEAP32[4719]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4957]|0; + $2 = HEAP32[4719]|0; $3 = (($2) + -1)|0; - $4 = (18088 + ($3<<6)|0); - $5 = HEAP32[4448]|0; + $4 = (17136 + ($3<<6)|0); + $5 = HEAP32[4210]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4957] = $6; + HEAP32[4719] = $6; return; } function _IsFileExtension($0,$1) { @@ -16347,9 +16534,9 @@ function _IsKeyPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21447 + ($0)|0); + $1 = (20495 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21959 + ($0)|0); + $3 = (21007 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16370,7 +16557,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4448]|0; + $5 = HEAP32[4210]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -16403,7 +16590,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4448]|0; + $11 = HEAP32[4210]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -16414,7 +16601,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4521] = $0; + HEAP32[4283] = $0; return; } function _rlEnd() { @@ -16430,21 +16617,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4958]|0; + $0 = HEAP32[4720]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4959]|0; + $2 = HEAP32[4721]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4518]|0; + $6 = HEAP32[4280]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4448]|0; + $8 = HEAP32[4210]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4959]|0; + $5 = HEAP32[4721]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16452,12 +16639,12 @@ function _rlEnd() { break; } } - HEAP32[4958] = 0; + HEAP32[4720] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4518]|0; + $11 = HEAP32[4280]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16466,7 +16653,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4959]|0; + $19 = HEAP32[4721]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16476,15 +16663,15 @@ function _rlEnd() { } } } else { - HEAP32[4958] = 0; + HEAP32[4720] = 0; } - HEAP32[4959] = 0; + HEAP32[4721] = 0; } - $21 = HEAP32[4521]|0; + $21 = HEAP32[4283]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4780]|0; - $23 = HEAP32[(19128)>>2]|0; + $22 = HEAP32[4542]|0; + $23 = HEAP32[(18176)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -16503,16 +16690,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(19140)>>2]|0; - $28 = HEAP32[(19128)>>2]|0; + $27 = HEAP32[(18188)>>2]|0; + $28 = HEAP32[(18176)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(19140)>>2]|0; - $35 = HEAP32[(19128)>>2]|0; + $34 = HEAP32[(18188)>>2]|0; + $35 = HEAP32[(18176)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16520,8 +16707,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(19140)>>2]|0; - $43 = HEAP32[(19128)>>2]|0; + $42 = HEAP32[(18188)>>2]|0; + $43 = HEAP32[(18176)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16529,8 +16716,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(19140)>>2]|0; - $51 = HEAP32[(19128)>>2]|0; + $50 = HEAP32[(18188)>>2]|0; + $51 = HEAP32[(18176)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16538,9 +16725,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(19128)>>2]|0; + $58 = HEAP32[(18176)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(19128)>>2] = $59; + HEAP32[(18176)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16556,8 +16743,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4792]|0; - $62 = HEAP32[(19176)>>2]|0; + $61 = HEAP32[4554]|0; + $62 = HEAP32[(18224)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -16576,16 +16763,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(19188)>>2]|0; - $67 = HEAP32[(19176)>>2]|0; + $66 = HEAP32[(18236)>>2]|0; + $67 = HEAP32[(18224)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(19188)>>2]|0; - $74 = HEAP32[(19176)>>2]|0; + $73 = HEAP32[(18236)>>2]|0; + $74 = HEAP32[(18224)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16593,8 +16780,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(19188)>>2]|0; - $82 = HEAP32[(19176)>>2]|0; + $81 = HEAP32[(18236)>>2]|0; + $82 = HEAP32[(18224)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16602,8 +16789,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(19188)>>2]|0; - $90 = HEAP32[(19176)>>2]|0; + $89 = HEAP32[(18236)>>2]|0; + $90 = HEAP32[(18224)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16611,9 +16798,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(19176)>>2]|0; + $97 = HEAP32[(18224)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(19176)>>2] = $98; + HEAP32[(18224)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16629,8 +16816,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4804]|0; - $101 = HEAP32[(19224)>>2]|0; + $100 = HEAP32[4566]|0; + $101 = HEAP32[(18272)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16638,16 +16825,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(19236)>>2]|0; - $106 = HEAP32[(19224)>>2]|0; + $105 = HEAP32[(18284)>>2]|0; + $106 = HEAP32[(18272)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(19236)>>2]|0; - $113 = HEAP32[(19224)>>2]|0; + $112 = HEAP32[(18284)>>2]|0; + $113 = HEAP32[(18272)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16655,8 +16842,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(19236)>>2]|0; - $121 = HEAP32[(19224)>>2]|0; + $120 = HEAP32[(18284)>>2]|0; + $121 = HEAP32[(18272)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16664,8 +16851,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(19236)>>2]|0; - $129 = HEAP32[(19224)>>2]|0; + $128 = HEAP32[(18284)>>2]|0; + $129 = HEAP32[(18272)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16673,9 +16860,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(19224)>>2]|0; + $136 = HEAP32[(18272)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(19224)>>2] = $137; + HEAP32[(18272)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16686,8 +16873,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4804]|0; - $140 = HEAP32[(19220)>>2]|0; + $139 = HEAP32[4566]|0; + $140 = HEAP32[(18268)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16695,8 +16882,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(19232)>>2]|0; - $$promoted = HEAP32[(19220)>>2]|0; + $142 = HEAP32[(18280)>>2]|0; + $$promoted = HEAP32[(18268)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16704,7 +16891,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(19220)>>2] = $147; + HEAP32[(18268)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16731,11 +16918,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4958]|0; + $3 = HEAP32[4720]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4518]|0; - $6 = HEAP32[4959]|0; + $5 = HEAP32[4280]|0; + $6 = HEAP32[4721]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16743,16 +16930,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4959] = $10; + HEAP32[4721] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4521]|0; + $11 = HEAP32[4283]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4780]|0; + $12 = HEAP32[4542]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(19132)>>2]|0; + $14 = HEAP32[(18180)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16763,19 +16950,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4780] = $21; + HEAP32[4542] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,9606,$vararg_buffer); + _TraceLog(1,9320,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[4792]|0; + $22 = HEAP32[4554]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(19180)>>2]|0; + $24 = HEAP32[(18228)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16786,19 +16973,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4792] = $31; + HEAP32[4554] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,9631,$vararg_buffer1); + _TraceLog(1,9345,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[4804]|0; + $32 = HEAP32[4566]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(19228)>>2]|0; + $34 = HEAP32[(18276)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16809,9 +16996,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4804] = $41; - $42 = HEAP32[4519]|0; - $43 = HEAP32[4520]|0; + HEAP32[4566] = $41; + $42 = HEAP32[4281]|0; + $43 = HEAP32[4282]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16819,7 +17006,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,9660,$vararg_buffer3); + _TraceLog(1,9374,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -16854,13 +17041,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4521]|0; + $2 = HEAP32[4283]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(19232)>>2]|0; - $5 = HEAP32[(19220)>>2]|0; + $4 = HEAP32[(18280)>>2]|0; + $5 = HEAP32[(18268)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16868,7 +17055,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(19220)>>2] = $10; + HEAP32[(18268)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16887,18 +17074,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4521]|0; + $4 = HEAP32[4283]|0; switch ($4|0) { case 1: { - $$sink37 = (19128);$$sink38 = (19140); + $$sink37 = (18176);$$sink38 = (18188); break; } case 4: { - $$sink37 = (19176);$$sink38 = (19188); + $$sink37 = (18224);$$sink38 = (18236); break; } case 7: { - $$sink37 = (19224);$$sink38 = (19236); + $$sink37 = (18272);$$sink38 = (18284); break; } default: { @@ -16937,8 +17124,8 @@ function _rlEnableTexture($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 = HEAP32[4519]|0; - $2 = HEAP32[4520]|0; + $1 = HEAP32[4281]|0; + $2 = HEAP32[4282]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16951,9 +17138,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4520] = $10; + HEAP32[4282] = $10; } - $11 = HEAP32[4520]|0; + $11 = HEAP32[4282]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16964,7 +17151,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4804]|0; + $0 = HEAP32[4566]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16976,7 +17163,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4489]|0; + $1 = HEAP32[4251]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -17207,7 +17394,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[17644>>2]|0;HEAP32[$0+4>>2]=HEAP32[17644+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17644+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17644+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17644+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17644+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17644+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17644+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[16692>>2]|0;HEAP32[$0+4>>2]=HEAP32[16692+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16692+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16692+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16692+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16692+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16692+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16692+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -17581,5767 +17768,6 @@ function _DrawTextEx($0,$1,$2,$3,$4,$5) { } STACKTOP = sp;return; } -function _jar_xm_generate_samples_16bit($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$015 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2 << 1; - $4 = $2 << 3; - $5 = (_malloc($4)|0); - _jar_xm_generate_samples($0,$5,$2); - $6 = ($1|0)!=(0|0); - $7 = ($3|0)!=(0); - $or$cond = $6 & $7; - if ($or$cond) { - $$015 = 0; - } else { - _free($5); - return; - } - while(1) { - $8 = (($5) + ($$015<<2)|0); - $9 = +HEAPF32[$8>>2]; - $10 = $9 * 32767.0; - $11 = (~~(($10))); - $12 = (($1) + ($$015<<1)|0); - HEAP16[$12>>1] = $11; - $13 = (($$015) + 1)|0; - $exitcond = ($13|0)==($3|0); - if ($exitcond) { - break; - } else { - $$015 = $13; - } - } - _free($5); - return; -} -function _jar_xm_generate_samples($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$013 = 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, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)!=(0|0); - $4 = ($1|0)!=(0|0); - $or$cond = $3 & $4; - if (!($or$cond)) { - return; - } - $5 = ((($0)) + 360|0); - $6 = $5; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = (($6) + 4)|0; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (_i64Add(($8|0),($11|0),($2|0),0)|0); - $13 = tempRet0; - $14 = $5; - $15 = $14; - HEAP32[$15>>2] = $12; - $16 = (($14) + 4)|0; - $17 = $16; - HEAP32[$17>>2] = $13; - $18 = ($2|0)==(0); - if ($18) { - return; - } else { - $$013 = 0; - } - while(1) { - $19 = $$013 << 1; - $20 = (($1) + ($19<<2)|0); - $21 = $19 | 1; - $22 = (($1) + ($21<<2)|0); - _jar_xm_sample($0,$20,$22); - $23 = (($$013) + 1)|0; - $exitcond = ($23|0)==($2|0); - if ($exitcond) { - break; - } else { - $$013 = $23; - } - } - return; -} -function _jar_xm_sample($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$072 = 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.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; - var $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0; - var $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 352|0); - $4 = +HEAPF32[$3>>2]; - $5 = !($4 <= 0.0); - if (!($5)) { - _jar_xm_tick($0); - } - $6 = +HEAPF32[$3>>2]; - $7 = $6 + -1.0; - HEAPF32[$3>>2] = $7; - HEAPF32[$1>>2] = 0.0; - HEAPF32[$2>>2] = 0.0; - $8 = ((($0)) + 385|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if (!($10)) { - $11 = ((($0)) + 384|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12&255)<($9&255); - if (!($13)) { - return; - } - } - $14 = ((($0)) + 50|0); - $15 = HEAP16[$14>>1]|0; - $16 = ($15<<16>>16)==(0); - if (!($16)) { - $17 = ((($0)) + 388|0); - $18 = ((($0)) + 340|0); - $19 = ((($0)) + 344|0); - $20 = ((($0)) + 344|0); - $21 = ((($0)) + 340|0); - $$072 = 0;$33 = 0; - while(1) { - $31 = HEAP32[$17>>2]|0; - $32 = (($31) + (($33*304)|0)|0); - $34 = (((($31) + (($33*304)|0)|0)) + 8|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - do { - if (!($36)) { - $37 = (((($31) + (($33*304)|0)|0)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==(0|0); - if (!($39)) { - $40 = (((($31) + (($33*304)|0)|0)) + 20|0); - $41 = +HEAPF32[$40>>2]; - $42 = $41 < 0.0; - if (!($42)) { - $43 = (+_jar_xm_next_of_sample($32)); - $44 = (((($31) + (($33*304)|0)|0)) + 152|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)==(0); - if ($46) { - $47 = HEAP32[$34>>2]|0; - $48 = ((($47)) + 272|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - $51 = (((($31) + (($33*304)|0)|0)) + 300|0); - $52 = +HEAPF32[$51>>2]; - $53 = $43 * $52; - $54 = (((($31) + (($33*304)|0)|0)) + 296|0); - $55 = +HEAPF32[$54>>2]; - $56 = 1.0 - $55; - $57 = $53 * $56; - $58 = +HEAPF32[$1>>2]; - $59 = $58 + $57; - HEAPF32[$1>>2] = $59; - $60 = +HEAPF32[$51>>2]; - $61 = $43 * $60; - $62 = +HEAPF32[$54>>2]; - $63 = $61 * $62; - $64 = +HEAPF32[$2>>2]; - $65 = $64 + $63; - HEAPF32[$2>>2] = $65; - } - } - $66 = (((($31) + (($33*304)|0)|0)) + 164|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$66>>2] = $68; - $69 = (((($31) + (($33*304)|0)|0)) + 300|0); - $70 = +HEAPF32[$69>>2]; - $71 = (((($31) + (($33*304)|0)|0)) + 160|0); - $72 = +HEAPF32[$71>>2]; - $73 = $70 > $72; - if ($73) { - $74 = +HEAPF32[$18>>2]; - $75 = $70 - $74; - HEAPF32[$69>>2] = $75; - $76 = $75 < $72; - if ($76) { - HEAPF32[$69>>2] = $72; - } - } else { - $77 = $70 < $72; - if ($77) { - $78 = +HEAPF32[$21>>2]; - $79 = $70 + $78; - HEAPF32[$69>>2] = $79; - $80 = $79 > $72; - if ($80) { - HEAPF32[$69>>2] = $72; - } - } - } - $81 = (((($31) + (($33*304)|0)|0)) + 296|0); - $82 = +HEAPF32[$81>>2]; - $83 = (((($31) + (($33*304)|0)|0)) + 156|0); - $84 = +HEAPF32[$83>>2]; - $85 = $82 > $84; - if ($85) { - $86 = +HEAPF32[$19>>2]; - $87 = $82 - $86; - HEAPF32[$81>>2] = $87; - $88 = $87 < $84; - if (!($88)) { - break; - } - HEAPF32[$81>>2] = $84; - break; - } - $89 = $82 < $84; - if ($89) { - $90 = +HEAPF32[$20>>2]; - $91 = $82 + $90; - HEAPF32[$81>>2] = $91; - $92 = $91 > $84; - if ($92) { - HEAPF32[$81>>2] = $84; - } - } - } - } - } - } while(0); - $93 = (($$072) + 1)<<24>>24; - $94 = $93&255; - $95 = HEAP16[$14>>1]|0; - $96 = $95&65535; - $97 = ($94>>>0)<($96>>>0); - if ($97) { - $$072 = $93;$33 = $94; - } else { - break; - } - } - } - $22 = ((($0)) + 332|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($0)) + 336|0); - $25 = +HEAPF32[$24>>2]; - $26 = $23 * $25; - $27 = +HEAPF32[$1>>2]; - $28 = $27 * $26; - HEAPF32[$1>>2] = $28; - $29 = +HEAPF32[$2>>2]; - $30 = $26 * $29; - HEAPF32[$2>>2] = $30; - return; -} -function _jar_xm_tick($0) { - $0 = $0|0; - var $$0 = 0.0, $$0195202 = 0, $$0196 = 0.0, $$1 = 0.0, $$not = 0, $$pr = 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.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.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.0, $181 = 0, $182 = 0.0, $183 = 0.0; - var $184 = 0.0, $185 = 0, $186 = 0.0, $187 = 0.0, $188 = 0.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; - 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.0, $212 = 0, $213 = 0, $214 = 0.0, $215 = 0.0, $216 = 0, $217 = 0.0, $218 = 0.0, $219 = 0; - var $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, $237 = 0.0; - var $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0, $253 = 0.0, $254 = 0.0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0.0, $259 = 0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0.0, $273 = 0; - var $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0.0, $28 = 0, $280 = 0.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, $storemerge = 0.0, $storemerge198 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc199 = 0, $trunc199$clear = 0, $trunc200 = 0, $trunc200$clear = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 350|0); - $2 = HEAP16[$1>>1]|0; - $3 = ($2<<16>>16)==(0); - if ($3) { - _jar_xm_row($0); - } - $4 = ((($0)) + 50|0); - $5 = HEAP16[$4>>1]|0; - $6 = ($5<<16>>16)==(0); - L4: do { - if (!($6)) { - $7 = ((($0)) + 388|0); - $8 = ((($0)) + 328|0); - $9 = ((($0)) + 332|0); - $$0195202 = 0;$23 = 0; - while(1) { - $21 = HEAP32[$7>>2]|0; - $22 = (($21) + (($23*304)|0)|0); - _jar_xm_envelopes($22); - _jar_xm_autovibrato($0,$22); - $24 = (((($21) + (($23*304)|0)|0)) + 76|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)==(0); - do { - if (!($26)) { - $27 = (((($21) + (($23*304)|0)|0)) + 16|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 3|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(0); - if ($31) { - $32 = ((($28)) + 4|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if (!($34)) { - break; - } - } - HEAP32[$24>>2] = 0; - $35 = (((($21) + (($23*304)|0)|0)) + 80|0); - HEAP8[$35>>0] = 0; - _jar_xm_update_frequency($0,$22); - } - } while(0); - $36 = (((($21) + (($23*304)|0)|0)) + 100|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)==(0); - if (!($38)) { - $39 = (((($21) + (($23*304)|0)|0)) + 16|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($40)) + 3|0); - $42 = HEAP8[$41>>0]|0; - $43 = ($42<<24>>24)==(4); - if (!($43)) { - $44 = ((($40)) + 4|0); - $45 = HEAP8[$44>>0]|0; - $46 = ($45<<24>>24)==(6); - if (!($46)) { - $47 = ((($40)) + 2|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48 & -16; - $50 = ($49<<24>>24)==(-80); - if (!($50)) { - $51 = (((($21) + (($23*304)|0)|0)) + 116|0); - HEAP32[$36>>2] = 0; - HEAPF32[$51>>2] = 0.0; - _jar_xm_update_frequency($0,$22); - } - } - } - } - $52 = (((($21) + (($23*304)|0)|0)) + 16|0); - $53 = HEAP32[$52>>2]|0; - $54 = ((($53)) + 2|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $trunc = ($55&255) >>> 4; - $trunc$clear = $trunc & 15; - switch ($trunc$clear<<24>>24) { - case 6: { - $57 = HEAP16[$1>>1]|0; - $58 = ($57<<16>>16)==(0); - if (!($58)) { - $59 = $56 & 15; - $60 = $59&255; - _jar_xm_volume_slide($22,$60); - } - break; - } - case 7: { - $61 = HEAP16[$1>>1]|0; - $62 = ($61<<16>>16)==(0); - if (!($62)) { - $63 = $56 << 4; - $64 = $63&255; - _jar_xm_volume_slide($22,$64); - } - break; - } - case 11: { - $65 = HEAP16[$1>>1]|0; - $66 = ($65<<16>>16)==(0); - if (!($66)) { - HEAP32[$36>>2] = 0; - $67 = (((($21) + (($23*304)|0)|0)) + 112|0); - $68 = HEAP8[$67>>0]|0; - $69 = (((($21) + (($23*304)|0)|0)) + 114|0); - $70 = HEAP16[$69>>1]|0; - $71 = (($70) + 1)<<16>>16; - HEAP16[$69>>1] = $71; - _jar_xm_vibrato($0,$22,$68,$70); - } - break; - } - case 13: { - $72 = HEAP16[$1>>1]|0; - $73 = ($72<<16>>16)==(0); - if (!($73)) { - $74 = $56 & 15; - $75 = $74&255; - _jar_xm_panning_slide($22,$75); - } - break; - } - case 14: { - $76 = HEAP16[$1>>1]|0; - $77 = ($76<<16>>16)==(0); - if (!($77)) { - $78 = $56 << 4; - $79 = $78&255; - _jar_xm_panning_slide($22,$79); - } - break; - } - case 15: { - $80 = HEAP16[$1>>1]|0; - $81 = ($80<<16>>16)==(0); - if (!($81)) { - _jar_xm_tone_portamento($0,$22); - } - break; - } - default: { - } - } - $82 = HEAP32[$52>>2]|0; - $83 = ((($82)) + 3|0); - $84 = HEAP8[$83>>0]|0; - L34: do { - switch ($84<<24>>24) { - case 0: { - $85 = ((($82)) + 4|0); - $86 = HEAP8[$85>>0]|0; - $87 = ($86<<24>>24)==(0); - if (!($87)) { - $88 = HEAP16[$8>>1]|0; - $89 = (($88&65535) % 3)&-1; - $90 = $89&65535; - $trunc200 = $89&255; - $trunc200$clear = $trunc200 & 3; - switch ($trunc200$clear<<24>>24) { - case 2: { - $91 = HEAP16[$1>>1]|0; - $92 = ($91<<16>>16)==(1); - if ($92) { - HEAP32[$24>>2] = 1; - $93 = ($86&255) >>> 4; - $94 = (((($21) + (($23*304)|0)|0)) + 80|0); - HEAP8[$94>>0] = $93; - _jar_xm_update_frequency($0,$22); - break L34; - } else { - $96 = $91; - label = 34; - } - break; - } - case 1: { - $$pr = HEAP16[$1>>1]|0; - $96 = $$pr; - label = 34; - break; - } - case 0: { - break; - } - default: { - break L34; - } - } - if ((label|0) == 34) { - label = 0; - $95 = ($96<<16>>16)==(0); - if ($95) { - HEAP32[$24>>2] = 0; - $97 = (((($21) + (($23*304)|0)|0)) + 80|0); - HEAP8[$97>>0] = 0; - _jar_xm_update_frequency($0,$22); - break L34; - } - } - $98 = HEAP32[$52>>2]|0; - $99 = ((($98)) + 4|0); - $100 = HEAP8[$99>>0]|0; - $101 = HEAP16[$1>>1]|0; - $102 = $101&65535; - $103 = (($102) - ($90))|0; - $104 = $103&65535; - _jar_xm_arpeggio($0,$22,$100,$104); - } - break; - } - case 1: { - $105 = HEAP16[$1>>1]|0; - $106 = ($105<<16>>16)==(0); - if (!($106)) { - $107 = (((($21) + (($23*304)|0)|0)) + 85|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = (0 - ($109))|0; - $111 = (+($110|0)); - _jar_xm_pitch_slide($0,$22,$111); - } - break; - } - case 2: { - $112 = HEAP16[$1>>1]|0; - $113 = ($112<<16>>16)==(0); - if (!($113)) { - $114 = (((($21) + (($23*304)|0)|0)) + 86|0); - $115 = HEAP8[$114>>0]|0; - $116 = (+($115&255)); - _jar_xm_pitch_slide($0,$22,$116); - } - break; - } - case 3: { - $117 = HEAP16[$1>>1]|0; - $118 = ($117<<16>>16)==(0); - if (!($118)) { - _jar_xm_tone_portamento($0,$22); - } - break; - } - case 4: { - $119 = HEAP16[$1>>1]|0; - $120 = ($119<<16>>16)==(0); - if (!($120)) { - HEAP32[$36>>2] = 1; - $121 = (((($21) + (($23*304)|0)|0)) + 112|0); - $122 = HEAP8[$121>>0]|0; - $123 = (((($21) + (($23*304)|0)|0)) + 114|0); - $124 = HEAP16[$123>>1]|0; - $125 = (($124) + 1)<<16>>16; - HEAP16[$123>>1] = $125; - _jar_xm_vibrato($0,$22,$122,$124); - } - break; - } - case 5: { - $126 = HEAP16[$1>>1]|0; - $127 = ($126<<16>>16)==(0); - if (!($127)) { - $128 = (((($21) + (($23*304)|0)|0)) + 81|0); - _jar_xm_tone_portamento($0,$22); - $129 = HEAP8[$128>>0]|0; - _jar_xm_volume_slide($22,$129); - } - break; - } - case 6: { - $130 = HEAP16[$1>>1]|0; - $131 = ($130<<16>>16)==(0); - if (!($131)) { - HEAP32[$36>>2] = 1; - $132 = (((($21) + (($23*304)|0)|0)) + 112|0); - $133 = HEAP8[$132>>0]|0; - $134 = (((($21) + (($23*304)|0)|0)) + 114|0); - $135 = HEAP16[$134>>1]|0; - $136 = (($135) + 1)<<16>>16; - HEAP16[$134>>1] = $136; - _jar_xm_vibrato($0,$22,$133,$135); - $137 = (((($21) + (($23*304)|0)|0)) + 81|0); - $138 = HEAP8[$137>>0]|0; - _jar_xm_volume_slide($22,$138); - } - break; - } - case 7: { - $139 = HEAP16[$1>>1]|0; - $140 = ($139<<16>>16)==(0); - if (!($140)) { - $141 = (((($21) + (($23*304)|0)|0)) + 128|0); - $142 = HEAP8[$141>>0]|0; - $143 = (((($21) + (($23*304)|0)|0)) + 129|0); - $144 = HEAP8[$143>>0]|0; - $145 = (($144) + 1)<<24>>24; - HEAP8[$143>>0] = $145; - $146 = $144&255; - _jar_xm_tremolo($22,$142,$146); - } - break; - } - case 10: { - $147 = HEAP16[$1>>1]|0; - $148 = ($147<<16>>16)==(0); - if (!($148)) { - $149 = (((($21) + (($23*304)|0)|0)) + 81|0); - $150 = HEAP8[$149>>0]|0; - _jar_xm_volume_slide($22,$150); - } - break; - } - case 14: { - $151 = ((($82)) + 4|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $trunc199 = ($152&255) >>> 4; - $trunc199$clear = $trunc199 & 15; - switch ($trunc199$clear<<24>>24) { - case 9: { - $154 = HEAP16[$1>>1]|0; - $155 = $154&65535; - $156 = ($154<<16>>16)==(0); - if ($156) { - break L34; - } - $157 = $153 & 15; - $158 = ($157|0)==(0); - if ($158) { - break L34; - } - $159 = (($155>>>0) % ($157>>>0))&-1; - $160 = ($159|0)==(0); - if (!($160)) { - break L34; - } - _jar_xm_trigger_note($0,$22,0); - _jar_xm_envelopes($22); - break L34; - break; - } - case 12: { - $161 = $153 & 15; - $162 = HEAP16[$1>>1]|0; - $163 = $162&65535; - $164 = ($161|0)==($163|0); - if (!($164)) { - break L34; - } - _jar_xm_cut_note($22); - break L34; - break; - } - case 13: { - $165 = (((($21) + (($23*304)|0)|0)) + 97|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $168 = HEAP16[$1>>1]|0; - $169 = $168&65535; - $170 = ($167|0)==($169|0); - if (!($170)) { - break L34; - } - _jar_xm_handle_note_and_instrument($0,$22,$82); - _jar_xm_envelopes($22); - break L34; - break; - } - default: { - break L34; - } - } - break; - } - case 17: { - $171 = HEAP16[$1>>1]|0; - $172 = ($171<<16>>16)==(0); - if (!($172)) { - $173 = (((($21) + (($23*304)|0)|0)) + 83|0); - $174 = HEAP8[$173>>0]|0; - $175 = $174&255; - $176 = $175 & 240; - $177 = ($176|0)!=(0); - $$not = $177 ^ 1; - $178 = $175 & 15; - $179 = ($178|0)==(0); - $or$cond = $179 | $$not; - if ($or$cond) { - $180 = +HEAPF32[$9>>2]; - if ($177) { - $181 = $175 >>> 4; - $182 = (+($181|0)); - $183 = $182 * 0.015625; - $184 = $183 + $180; - $185 = $184 > 1.0; - $storemerge198 = $185 ? 1.0 : $184; - HEAPF32[$9>>2] = $storemerge198; - break L34; - } else { - $186 = (+($178|0)); - $187 = $186 * 0.015625; - $188 = $180 - $187; - $189 = $188 < 0.0; - $storemerge = $189 ? 0.0 : $188; - HEAPF32[$9>>2] = $storemerge; - break L34; - } - } - } - break; - } - case 20: { - $190 = HEAP16[$1>>1]|0; - $191 = $190&65535; - $192 = ((($82)) + 4|0); - $193 = HEAP8[$192>>0]|0; - $194 = $193&255; - $195 = ($191|0)==($194|0); - if ($195) { - _jar_xm_key_off($22); - } - break; - } - case 25: { - $196 = HEAP16[$1>>1]|0; - $197 = ($196<<16>>16)==(0); - if (!($197)) { - $198 = (((($21) + (($23*304)|0)|0)) + 84|0); - $199 = HEAP8[$198>>0]|0; - _jar_xm_panning_slide($22,$199); - } - break; - } - case 27: { - $200 = HEAP16[$1>>1]|0; - $201 = $200&65535; - $202 = ($200<<16>>16)==(0); - if (!($202)) { - $203 = (((($21) + (($23*304)|0)|0)) + 96|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204&255; - $206 = $205 & 15; - $207 = ($206|0)==(0); - if (!($207)) { - $208 = (($201>>>0) % ($206>>>0))&-1; - $209 = ($208|0)==(0); - if ($209) { - $210 = (((($21) + (($23*304)|0)|0)) + 40|0); - $211 = +HEAPF32[$210>>2]; - $212 = $205 >>> 4; - $213 = (2980 + ($212<<2)|0); - $214 = +HEAPF32[$213>>2]; - $215 = $211 * $214; - $216 = (3044 + ($212<<2)|0); - $217 = +HEAPF32[$216>>2]; - $218 = $215 + $217; - $219 = $218 > 1.0; - if ($219) { - $$0196 = 1.0; - } else { - $220 = $218 < 0.0; - if ($220) { - $$0196 = 0.0; - } else { - $$0196 = $218; - } - } - _jar_xm_trigger_note($0,$22,0); - HEAPF32[$210>>2] = $$0196; - } - } - } - break; - } - case 29: { - $221 = HEAP16[$1>>1]|0; - $222 = ($221<<16>>16)==(0); - if (!($222)) { - $223 = $221&65535; - $224 = (($223) + -1)|0; - $225 = (((($21) + (($23*304)|0)|0)) + 136|0); - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - $228 = $227 >>> 4; - $229 = $227 & 15; - $230 = (($229) + 2)|0; - $231 = (($230) + ($228))|0; - $232 = (($224|0) % ($231|0))&-1; - $233 = ($232|0)>($228|0); - $234 = $233&1; - $235 = (((($21) + (($23*304)|0)|0)) + 140|0); - HEAP32[$235>>2] = $234; - } - break; - } - default: { - } - } - } while(0); - $236 = (((($21) + (($23*304)|0)|0)) + 44|0); - $237 = +HEAPF32[$236>>2]; - $238 = (((($21) + (($23*304)|0)|0)) + 64|0); - $239 = +HEAPF32[$238>>2]; - $240 = $239 + -0.5; - $241 = $237 + -0.5; - $242 = (+Math_abs((+$241))); - $243 = 0.5 - $242; - $244 = $240 * $243; - $245 = $244 * 2.0; - $246 = $237 + $245; - $247 = (((($21) + (($23*304)|0)|0)) + 140|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)==(0); - if ($249) { - $250 = (((($21) + (($23*304)|0)|0)) + 40|0); - $251 = +HEAPF32[$250>>2]; - $252 = (((($21) + (($23*304)|0)|0)) + 132|0); - $253 = +HEAPF32[$252>>2]; - $254 = $251 + $253; - $255 = $254 > 1.0; - if ($255) { - $$0 = 1.0; - } else { - $256 = $254 < 0.0; - if ($256) { - $$0 = 0.0; - } else { - $$0 = $254; - } - } - $257 = (((($21) + (($23*304)|0)|0)) + 56|0); - $258 = +HEAPF32[$257>>2]; - $259 = (((($21) + (($23*304)|0)|0)) + 60|0); - $260 = +HEAPF32[$259>>2]; - $261 = $258 * $260; - $262 = $$0 * $261; - $$1 = $262; - } else { - $$1 = 0.0; - } - $263 = (((($21) + (($23*304)|0)|0)) + 156|0); - HEAPF32[$263>>2] = $246; - $264 = (((($21) + (($23*304)|0)|0)) + 160|0); - HEAPF32[$264>>2] = $$1; - $265 = (($$0195202) + 1)<<24>>24; - $266 = $265&255; - $267 = HEAP16[$4>>1]|0; - $268 = $267&65535; - $269 = ($266>>>0)<($268>>>0); - if ($269) { - $$0195202 = $265;$23 = $266; - } else { - break L4; - } - } - } - } while(0); - $10 = HEAP16[$1>>1]|0; - $11 = (($10) + 1)<<16>>16; - HEAP16[$1>>1] = $11; - $12 = $11&65535; - $13 = ((($0)) + 328|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = ((($0)) + 378|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = (($18) + ($15))|0; - $20 = ($12>>>0)<($19>>>0); - if ($20) { - $270 = ((($0)) + 324|0); - $271 = HEAP32[$270>>2]|0; - $272 = (+($271>>>0)); - $273 = ((($0)) + 330|0); - $274 = HEAP16[$273>>1]|0; - $275 = (+($274&65535)); - $276 = $275 * 0.40000000596046448; - $277 = $272 / $276; - $278 = ((($0)) + 352|0); - $279 = +HEAPF32[$278>>2]; - $280 = $279 + $277; - HEAPF32[$278>>2] = $280; - return; - } - HEAP16[$1>>1] = 0; - HEAP16[$16>>1] = 0; - $270 = ((($0)) + 324|0); - $271 = HEAP32[$270>>2]|0; - $272 = (+($271>>>0)); - $273 = ((($0)) + 330|0); - $274 = HEAP16[$273>>1]|0; - $275 = (+($274&65535)); - $276 = $275 * 0.40000000596046448; - $277 = $272 / $276; - $278 = ((($0)) + 352|0); - $279 = +HEAPF32[$278>>2]; - $280 = $279 + $277; - HEAPF32[$278>>2] = $280; - return; -} -function _jar_xm_next_of_sample($0) { - $0 = $0|0; - var $$0100 = 0.0, $$0101 = 0.0, $$1 = 0.0, $$pr = 0.0, $$sink = 0.0, $$sink$p = 0.0, $$sink103 = 0, $$sink105 = 0, $$sink2 = 0, $1 = 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.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0; - var $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0.0; - var $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $storemerge106 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - $4 = ((($0)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = ((($0)) + 20|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 < 0.0; - if (!($9)) { - $20 = ((($5)) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - $$1 = 0.0; - return (+$$1); - } - $23 = (~~(($8))>>>0); - $24 = (($23) + 1)|0; - $25 = (+($23>>>0)); - $26 = $8 - $25; - $27 = ((($5)) + 72|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + ($23<<2)|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($5)) + 48|0); - $32 = HEAP32[$31>>2]|0; - L8: do { - switch ($32|0) { - case 0: { - $33 = ($24>>>0)<($21>>>0); - if ($33) { - $34 = (($28) + ($24<<2)|0); - $35 = +HEAPF32[$34>>2]; - $135 = $35; - } else { - $135 = 0.0; - } - $36 = ((($0)) + 32|0); - $37 = +HEAPF32[$36>>2]; - $38 = +HEAPF32[$7>>2]; - $39 = $37 + $38; - HEAPF32[$7>>2] = $39; - $40 = HEAP32[$4>>2]|0; - $41 = ((($40)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = (+($42>>>0)); - $44 = !($39 >= $43); - if ($44) { - $$0100 = $30;$$0101 = $135; - } else { - HEAPF32[$7>>2] = -1.0; - $$0100 = $30;$$0101 = $135; - } - break; - } - case 1: { - $45 = ((($5)) + 36|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($24|0)==($46|0); - if ($47) { - $48 = ((($5)) + 28|0); - $49 = HEAP32[$48>>2]|0; - $51 = $49; - } else { - $51 = $24; - } - $50 = (($28) + ($51<<2)|0); - $52 = +HEAPF32[$50>>2]; - $53 = ((($0)) + 32|0); - $54 = +HEAPF32[$53>>2]; - $55 = +HEAPF32[$7>>2]; - $56 = $54 + $55; - HEAPF32[$7>>2] = $56; - $57 = HEAP32[$4>>2]|0; - $58 = ((($57)) + 36|0); - $59 = HEAP32[$58>>2]|0; - $60 = (+($59>>>0)); - $61 = !($56 >= $60); - if ($61) { - $$0100 = $30;$$0101 = $52; - } else { - $62 = HEAP32[$4>>2]|0; - $63 = ((($62)) + 36|0); - $64 = HEAP32[$63>>2]|0; - $65 = (+($64>>>0)); - $67 = $57;$storemerge106 = $56; - while(1) { - $66 = ((($67)) + 32|0); - $68 = HEAP32[$66>>2]|0; - $69 = (+($68>>>0)); - $70 = $storemerge106 - $69; - $71 = !($70 >= $65); - if ($71) { - break; - } else { - $67 = $62;$storemerge106 = $70; - } - } - HEAPF32[$7>>2] = $70; - $$0100 = $30;$$0101 = $52; - } - break; - } - case 2: { - $72 = ((($0)) + 36|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)!=(0); - $75 = ((($0)) + 32|0); - $76 = +HEAPF32[$75>>2]; - $77 = -$76; - $$sink$p = $74 ? $76 : $77; - $$sink = $8 + $$sink$p; - HEAPF32[$7>>2] = $$sink; - if ($74) { - $78 = HEAP32[$4>>2]|0; - $79 = ((($78)) + 36|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($24>>>0)>=($80>>>0); - $82 = ((($78)) + 72|0); - $83 = HEAP32[$82>>2]|0; - $$sink2 = $81 ? $23 : $24; - $84 = (($83) + ($$sink2<<2)|0); - $85 = +HEAPF32[$84>>2]; - $86 = (+($80>>>0)); - $87 = !($$sink >= $86); - if (!($87)) { - $88 = $80 << 1; - $89 = (+($88>>>0)); - HEAP32[$72>>2] = 0; - $90 = +HEAPF32[$7>>2]; - $91 = $89 - $90; - HEAPF32[$7>>2] = $91; - } - $92 = +HEAPF32[$7>>2]; - $93 = ((($78)) + 24|0); - $94 = HEAP32[$93>>2]|0; - $95 = (+($94>>>0)); - $96 = !($92 >= $95); - if ($96) { - $$0100 = $30;$$0101 = $85; - break L8; - } - $97 = (($94) + -1)|0; - $98 = (+($97>>>0)); - $99 = $92 - $98; - HEAP32[$72>>2] = 0; - HEAPF32[$7>>2] = $99; - $$0100 = $30;$$0101 = $85; - break L8; - } - $100 = ($23|0)==(0); - if ($100) { - label = 24; - } else { - $101 = (($23) + -1)|0; - $102 = HEAP32[$4>>2]|0; - $103 = ((($102)) + 28|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($101>>>0)>($104>>>0); - if ($105) { - $$sink103 = $101;$$sink105 = $102; - } else { - label = 24; - } - } - if ((label|0) == 24) { - $106 = HEAP32[$4>>2]|0; - $$sink103 = $23;$$sink105 = $106; - } - $107 = ((($$sink105)) + 72|0); - $108 = HEAP32[$107>>2]|0; - $109 = (($108) + ($$sink103<<2)|0); - $110 = +HEAPF32[$109>>2]; - $111 = +HEAPF32[$7>>2]; - $112 = HEAP32[$4>>2]|0; - $113 = ((($112)) + 28|0); - $114 = HEAP32[$113>>2]|0; - $115 = (+($114>>>0)); - $116 = !($111 <= $115); - $117 = $114 << 1; - $118 = (+($117>>>0)); - $119 = $118 - $111; - if ($116) { - $$pr = +HEAPF32[$7>>2]; - $121 = $$pr; - } else { - HEAP32[$72>>2] = 1; - HEAPF32[$7>>2] = $119; - $121 = $119; - } - $120 = !($121 <= 0.0); - if ($120) { - $$0100 = $110;$$0101 = $30; - } else { - HEAP32[$72>>2] = 1; - HEAPF32[$7>>2] = 0.0; - $$0100 = $110;$$0101 = $30; - } - break; - } - default: { - $$0100 = $30;$$0101 = 0.0; - } - } - } while(0); - $122 = $$0101 - $$0100; - $123 = $26 * $122; - $124 = $$0100 + $123; - $125 = ((($0)) + 164|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($126>>>0)<(32); - if (!($127)) { - $$1 = $124; - return (+$$1); - } - $128 = (+($126>>>0)); - $129 = $128 * 0.03125; - $130 = (((($0)) + 168|0) + ($126<<2)|0); - $131 = +HEAPF32[$130>>2]; - $132 = $124 - $131; - $133 = $129 * $132; - $134 = $131 + $133; - $$1 = $134; - return (+$$1); - } - } - } - $10 = ((($0)) + 164|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11>>>0)<(32); - if (!($12)) { - $$1 = 0.0; - return (+$$1); - } - $13 = (+($11>>>0)); - $14 = $13 * 0.03125; - $15 = (((($0)) + 168|0) + ($11<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = 0.0 - $16; - $18 = $14 * $17; - $19 = $16 + $18; - $$1 = $19; - return (+$$1); -} -function _jar_xm_row($0) { - $0 = $0|0; - var $$0$ = 0, $$06061 = 0, $$062 = 0, $$1 = 0, $$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; - 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, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 368|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - $11 = ((($0)) + 372|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0); - if (!($13)) { - $14 = ((($0)) + 348|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($15) + 1)<<24>>24; - HEAP8[$14>>0] = $16; - $17 = ((($0)) + 377|0); - $18 = HEAP8[$17>>0]|0; - $19 = ((($0)) + 349|0); - HEAP8[$19>>0] = $18; - HEAP32[$11>>2] = 0; - HEAP8[$17>>0] = 0; - _jar_xm_post_pattern_change($0); - } - } else { - $4 = ((($0)) + 376|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 348|0); - HEAP8[$6>>0] = $5; - $7 = ((($0)) + 377|0); - $8 = HEAP8[$7>>0]|0; - $9 = ((($0)) + 349|0); - HEAP8[$9>>0] = $8; - HEAP32[$1>>2] = 0; - $10 = ((($0)) + 372|0); - HEAP32[$10>>2] = 0; - HEAP8[$7>>0] = 0; - _jar_xm_post_pattern_change($0); - } - $20 = ((($0)) + 316|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($0)) + 348|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = (((($0)) + 60|0) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ((($0)) + 50|0); - $29 = HEAP16[$28>>1]|0; - $30 = ($29<<16>>16)==(0); - if ($30) { - label = 15; - } else { - $31 = $29&65535; - $32 = (((($21) + ($27<<3)|0)) + 4|0); - $33 = ((($0)) + 349|0); - $34 = ((($0)) + 388|0); - $$06061 = 0;$$062 = 0;$40 = $31;$43 = 0; - while(1) { - $36 = HEAP32[$32>>2]|0; - $37 = HEAP8[$33>>0]|0; - $38 = $37&255; - $39 = Math_imul($38, $40)|0; - $41 = (($36) + (($39*5)|0)|0); - $42 = (($41) + (($43*5)|0)|0); - $44 = HEAP32[$34>>2]|0; - $45 = (($44) + (($43*304)|0)|0); - $46 = (((($44) + (($43*304)|0)|0)) + 16|0); - HEAP32[$46>>2] = $42; - $47 = ((($42)) + 3|0); - $48 = HEAP8[$47>>0]|0; - $49 = ($48<<24>>24)==(14); - if ($49) { - $50 = ((($42)) + 4|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $$mask = $52 & 240; - $53 = ($$mask|0)==(208); - if ($53) { - $54 = $52 & 15; - $55 = $54&255; - $56 = (((($44) + (($43*304)|0)|0)) + 97|0); - HEAP8[$56>>0] = $55; - } else { - label = 10; - } - } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - _jar_xm_handle_note_and_instrument($0,$45,$42); - } - $57 = ($$062|0)==(0); - if ($57) { - $58 = (((($44) + (($43*304)|0)|0)) + 99|0); - $59 = HEAP8[$58>>0]|0; - $60 = ($59<<24>>24)==(0); - $$0$ = $60 ? $$062 : 1; - $$1 = $$0$; - } else { - $$1 = $$062; - } - $61 = (($$06061) + 1)<<24>>24; - $62 = $61&255; - $63 = HEAP16[$28>>1]|0; - $64 = $63&65535; - $65 = ($62>>>0)<($64>>>0); - if ($65) { - $$06061 = $61;$$062 = $$1;$40 = $64;$43 = $62; - } else { - break; - } - } - $35 = ($$1|0)==(0); - if ($35) { - label = 15; - } - } - if ((label|0) == 15) { - $66 = ((($0)) + 380|0); - $67 = HEAP32[$66>>2]|0; - $68 = HEAP8[$22>>0]|0; - $69 = $68&255; - $70 = $69 << 8; - $71 = ((($0)) + 349|0); - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - $74 = $70 | $73; - $75 = (($67) + ($74)|0); - $76 = HEAP8[$75>>0]|0; - $77 = (($76) + 1)<<24>>24; - HEAP8[$75>>0] = $77; - $78 = ((($0)) + 384|0); - HEAP8[$78>>0] = $76; - } - $79 = ((($0)) + 349|0); - $80 = HEAP8[$79>>0]|0; - $81 = (($80) + 1)<<24>>24; - HEAP8[$79>>0] = $81; - $82 = HEAP32[$1>>2]|0; - $83 = ($82|0)==(0); - if (!($83)) { - return; - } - $84 = ((($0)) + 372|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)==(0); - if (!($86)) { - return; - } - $87 = $81&255; - $88 = (($21) + ($27<<3)|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = ($87>>>0)>=($90>>>0); - $92 = ($81<<24>>24)==(0); - $or$cond = $92 | $91; - if (!($or$cond)) { - return; - } - $93 = HEAP8[$22>>0]|0; - $94 = (($93) + 1)<<24>>24; - HEAP8[$22>>0] = $94; - $95 = ((($0)) + 377|0); - $96 = HEAP8[$95>>0]|0; - HEAP8[$79>>0] = $96; - HEAP8[$95>>0] = 0; - _jar_xm_post_pattern_change($0); - return; -} -function _jar_xm_envelopes($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.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, $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; - $3 = ($2|0)==(0|0); - if ($3) { - return; - } - $4 = ((($2)) + 176|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if (!($6)) { - $7 = ((($0)) + 52|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $10 = ((($2)) + 260|0); - $11 = HEAP16[$10>>1]|0; - $12 = (+($11&65535)); - $13 = $12 * 1.52587890625E-5; - $14 = ((($0)) + 56|0); - $15 = +HEAPF32[$14>>2]; - $16 = $15 - $13; - HEAPF32[$14>>2] = $16; - $17 = $16 < 0.0; - if ($17) { - HEAPF32[$14>>2] = 0.0; - } - } - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 124|0); - $20 = ((($0)) + 68|0); - $21 = ((($0)) + 60|0); - _jar_xm_envelope_tick($0,$19,$20,$21); - } - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 240|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - return; - } - $26 = ((($22)) + 188|0); - $27 = ((($0)) + 70|0); - $28 = ((($0)) + 64|0); - _jar_xm_envelope_tick($0,$26,$27,$28); - return; -} -function _jar_xm_autovibrato($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - return; - } - $5 = ((($3)) + 257|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 48|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ((($3)) + 256|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($10>>>0)<($13>>>0); - $15 = (+($9&65535)); - $16 = (+($12&255)); - $17 = $15 / $16; - $18 = $17 + 0.0; - $$ = $14 ? $18 : 1.0; - $19 = (($9) + 1)<<16>>16; - HEAP16[$8>>1] = $19; - $20 = ((($3)) + 258|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = Math_imul($22, $10)|0; - $24 = $23 >>> 2; - $25 = ((($3)) + 252|0); - $26 = HEAP32[$25>>2]|0; - $27 = $24&255; - $28 = (+_jar_xm_waveform($26,$27)); - $29 = $28 * 0.25; - $30 = HEAP8[$5>>0]|0; - $31 = (+($30&255)); - $32 = $29 * $31; - $33 = $32 / 15.0; - $34 = $$ * $33; - $35 = ((($1)) + 72|0); - HEAPF32[$35>>2] = $34; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_update_frequency($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 24|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($1)) + 80|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)==(0); - if ($6) { - $8 = ((($1)) + 116|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($1)) + 72|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 + $11; - $13 = $12; - } else { - $7 = (+($5&255)); - $13 = $7; - } - $14 = (+_jar_xm_frequency($0,$3,$13)); - $15 = ((($1)) + 28|0); - HEAPF32[$15>>2] = $14; - $16 = ((($0)) + 324|0); - $17 = HEAP32[$16>>2]|0; - $18 = (+($17>>>0)); - $19 = $14 / $18; - $20 = ((($1)) + 32|0); - HEAPF32[$20>>2] = $19; - return; -} -function _jar_xm_volume_slide($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1&255; - $3 = $2 & 240; - $4 = ($3|0)!=(0); - $$not = $4 ^ 1; - $5 = $2 & 15; - $6 = ($5|0)==(0); - $or$cond = $6 | $$not; - if (!($or$cond)) { - return; - } - $7 = ((($0)) + 40|0); - $8 = +HEAPF32[$7>>2]; - if ($4) { - $9 = $2 >>> 4; - $10 = (+($9|0)); - $11 = $10 * 0.015625; - $12 = $11 + $8; - HEAPF32[$7>>2] = $12; - $13 = $12 > 1.0; - if (!($13)) { - return; - } - HEAPF32[$7>>2] = 1.0; - return; - } else { - $14 = (+($5|0)); - $15 = $14 * 0.015625; - $16 = $8 - $15; - HEAPF32[$7>>2] = $16; - $17 = $16 < 0.0; - if (!($17)) { - return; - } - HEAPF32[$7>>2] = 0.0; - return; - } -} -function _jar_xm_vibrato($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $3&65535; - $5 = $2&255; - $6 = $5 >>> 4; - $7 = Math_imul($4, $6)|0; - $8 = ((($1)) + 104|0); - $9 = HEAP32[$8>>2]|0; - $10 = $7&255; - $11 = (+_jar_xm_waveform($9,$10)); - $12 = $11 * 2.0; - $13 = $5 & 15; - $14 = (+($13|0)); - $15 = $14 * $12; - $16 = $15 / 15.0; - $17 = ((($1)) + 116|0); - HEAPF32[$17>>2] = $16; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_panning_slide($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1&255; - $3 = $2 & 240; - $4 = ($3|0)!=(0); - $$not = $4 ^ 1; - $5 = $2 & 15; - $6 = ($5|0)==(0); - $or$cond = $6 | $$not; - if (!($or$cond)) { - return; - } - $7 = ((($0)) + 44|0); - $8 = +HEAPF32[$7>>2]; - if ($4) { - $9 = $2 >>> 4; - $10 = (+($9|0)); - $11 = $10 / 255.0; - $12 = $11 + $8; - HEAPF32[$7>>2] = $12; - $13 = $12 > 1.0; - if (!($13)) { - return; - } - HEAPF32[$7>>2] = 1.0; - return; - } else { - $14 = (+($5|0)); - $15 = $14 / 255.0; - $16 = $8 - $15; - HEAPF32[$7>>2] = $16; - $17 = $16 < 0.0; - if (!($17)) { - return; - } - HEAPF32[$7>>2] = 0.0; - return; - } -} -function _jar_xm_tone_portamento($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0; - var $29 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 92|0); - $3 = +HEAPF32[$2>>2]; - $4 = $3 == 0.0; - if ($4) { - return; - } - $5 = ((($1)) + 24|0); - $6 = +HEAPF32[$5>>2]; - $7 = $6 != $3; - if (!($7)) { - return; - } - $8 = $6 > $3; - if ($8) { - $9 = ((($0)) + 56|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0); - $12 = $11 ? 4.0 : 1.0; - $13 = ((($1)) + 91|0); - $14 = HEAP8[$13>>0]|0; - $15 = (+($14&255)); - $16 = $12 * $15; - $17 = $6 - $16; - HEAPF32[$5>>2] = $17; - $18 = $17 < $3; - if ($18) { - HEAPF32[$5>>2] = $3; - } - } else { - $19 = $6 < $3; - if ($19) { - $20 = ((($0)) + 56|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - $23 = $22 ? 4.0 : 1.0; - $24 = ((($1)) + 91|0); - $25 = HEAP8[$24>>0]|0; - $26 = (+($25&255)); - $27 = $23 * $26; - $28 = $6 + $27; - HEAPF32[$5>>2] = $28; - $29 = $28 > $3; - if ($29) { - HEAPF32[$5>>2] = $3; - } - } - } - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_arpeggio($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (($3&65535) % 3)&-1; - $trunc = $4&255; - $trunc$clear = $trunc & 3; - switch ($trunc$clear<<24>>24) { - case 0: { - $5 = ((($1)) + 76|0); - HEAP32[$5>>2] = 0; - $$sink = 0; - break; - } - case 2: { - $6 = ((($1)) + 76|0); - HEAP32[$6>>2] = 1; - $7 = ($2&255) >>> 4; - $$sink = $7; - break; - } - case 1: { - $8 = ((($1)) + 76|0); - HEAP32[$8>>2] = 1; - $9 = $2 & 15; - $$sink = $9; - break; - } - default: { - _jar_xm_update_frequency($0,$1); - return; - } - } - $10 = ((($1)) + 80|0); - HEAP8[$10>>0] = $$sink; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_pitch_slide($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 56|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - $6 = $2 * 4.0; - $$ = $5 ? $6 : $2; - $7 = ((($1)) + 24|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 + $$; - $10 = $9 < 0.0; - $storemerge = $10 ? 0.0 : $9; - HEAPF32[$7>>2] = $storemerge; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_tremolo($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2&65535; - $4 = $1&255; - $5 = $4 >>> 4; - $6 = Math_imul($3, $5)|0; - $7 = ((($0)) + 120|0); - $8 = HEAP32[$7>>2]|0; - $9 = $6&255; - $10 = (+_jar_xm_waveform($8,$9)); - $11 = $4 & 15; - $12 = (+($11|0)); - $13 = $12 * $10; - $14 = -$13; - $15 = $14 / 15.0; - $16 = ((($0)) + 132|0); - HEAPF32[$16>>2] = $15; - return; -} -function _jar_xm_trigger_note($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.0, $39 = 0.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, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2 & 4; - $4 = ($3|0)==(0); - if ($4) { - $5 = ((($1)) + 20|0); - HEAPF32[$5>>2] = 0.0; - $6 = ((($1)) + 36|0); - HEAP32[$6>>2] = 1; - } - $7 = ((($1)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if (!($9)) { - $10 = $2 & 1; - $11 = ($10|0)==(0); - if ($11) { - $12 = ((($8)) + 40|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($1)) + 40|0); - HEAP32[$14>>2] = $13; - } - $15 = ((($8)) + 52|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($1)) + 44|0); - HEAP32[$17>>2] = $16; - } - $18 = ((($1)) + 52|0); - HEAP32[$18>>2] = 1; - $19 = ((($1)) + 60|0); - HEAPF32[$19>>2] = 1.0; - $20 = ((($1)) + 56|0); - HEAPF32[$20>>2] = 1.0; - $21 = ((($1)) + 64|0); - HEAPF32[$21>>2] = 0.5; - $22 = ((($1)) + 70|0); - HEAP16[$22>>1] = 0; - $23 = ((($1)) + 68|0); - HEAP16[$23>>1] = 0; - $24 = ((($1)) + 116|0); - HEAPF32[$24>>2] = 0.0; - $25 = ((($1)) + 132|0); - HEAPF32[$25>>2] = 0.0; - $26 = ((($1)) + 140|0); - HEAP32[$26>>2] = 0; - $27 = ((($1)) + 48|0); - HEAP16[$27>>1] = 0; - $28 = ((($1)) + 108|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0); - if (!($30)) { - $31 = ((($1)) + 114|0); - HEAP16[$31>>1] = 0; - } - $32 = ((($1)) + 124|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)==(0); - if (!($34)) { - $35 = ((($1)) + 129|0); - HEAP8[$35>>0] = 0; - } - $36 = $2 & 2; - $37 = ($36|0)==(0); - if ($37) { - $38 = +HEAPF32[$1>>2]; - $39 = (+_jar_xm_period($0,$38)); - $40 = ((($1)) + 24|0); - HEAPF32[$40>>2] = $39; - _jar_xm_update_frequency($0,$1); - } - $41 = ((($0)) + 360|0); - $42 = $41; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = ((($1)) + 144|0); - $49 = $48; - $50 = $49; - HEAP32[$50>>2] = $44; - $51 = (($49) + 4)|0; - $52 = $51; - HEAP32[$52>>2] = $47; - $53 = ((($1)) + 8|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0|0); - if (!($55)) { - $56 = ((($54)) + 264|0); - $57 = $56; - $58 = $57; - HEAP32[$58>>2] = $44; - $59 = (($57) + 4)|0; - $60 = $59; - HEAP32[$60>>2] = $47; - } - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - return; - } - $63 = ((($61)) + 64|0); - $64 = $63; - $65 = $64; - HEAP32[$65>>2] = $44; - $66 = (($64) + 4)|0; - $67 = $66; - HEAP32[$67>>2] = $47; - return; -} -function _jar_xm_cut_note($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 40|0); - HEAPF32[$1>>2] = 0.0; - return; -} -function _jar_xm_handle_note_and_instrument($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0275 = 0, $$lobit = 0, $$lobit262 = 0, $$mask = 0, $$mask265 = 0, $$mask266 = 0, $$off = 0, $$off273 = 0, $$off274 = 0, $$old1 = 0, $$sink = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0.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.0, $133 = 0.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.0, $202 = 0.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.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.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.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0.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.0, $288 = 0, $289 = 0; - var $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.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; - var $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, $324 = 0; - var $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, $342 = 0; - var $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, $360 = 0; - var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0.0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; - var $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, $397 = 0; - var $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.0, $411 = 0.0, $412 = 0, $413 = 0, $414 = 0; - var $415 = 0, $416 = 0, $417 = 0, $418 = 0.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.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.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.0, $97 = 0, $98 = 0, $99 = 0.0, $exitcond = 0, $or$cond = 0, $phitmp = 0.0, $phitmp260 = 0.0, $phitmp263 = 0.0, $phitmp264 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc259 = 0, $trunc259$clear = 0, $trunc261 = 0, $trunc261$clear = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - do { - if (!($5)) { - $6 = ((($1)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($7)) + 3|0); - $9 = HEAP8[$8>>0]|0; - switch ($9<<24>>24) { - case 5: case 3: { - label = 4; - break; - } - default: { - $10 = ((($7)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11&255)>(239); - if ($12) { - label = 4; - } - } - } - if ((label|0) == 4) { - $13 = ((($1)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if (!($15)) { - $16 = ((($1)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - _jar_xm_trigger_note($0,$1,6); - break; - } - } - } - $19 = HEAP8[$3>>0]|0; - $20 = $19&255; - $21 = ((($0)) + 54|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = ($20>>>0)>($23>>>0); - if ($24) { - _jar_xm_cut_note($1); - $25 = ((($1)) + 8|0); - HEAP32[$25>>2] = 0; - $26 = ((($1)) + 12|0); - HEAP32[$26>>2] = 0; - break; - } - $27 = ((($0)) + 320|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($20) + -1)|0; - $30 = (($28) + (($29*280)|0)|0); - $31 = ((($1)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = HEAP8[$2>>0]|0; - $33 = ($32<<24>>24)==(0); - if ($33) { - $34 = ((($1)) + 12|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - if (!($36)) { - _jar_xm_trigger_note($0,$1,4); - } - } - } - } while(0); - $37 = HEAP8[$2>>0]|0; - $$off = (($37) + -1)<<24>>24; - $38 = ($$off&255)<(96); - do { - if ($38) { - $39 = ((($1)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($1)) + 16|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($42)) + 3|0); - $44 = HEAP8[$43>>0]|0; - $$old1 = ($40|0)!=(0|0); - switch ($44<<24>>24) { - case 5: case 3: { - if ($$old1) { - label = 16; - } - break; - } - default: { - $45 = ((($42)) + 2|0); - $46 = HEAP8[$45>>0]|0; - $47 = ($46&255)>(239); - $or$cond = $$old1 & $47; - if ($or$cond) { - label = 16; - } else { - $66 = ($40|0)==(0|0); - if (!($66)) { - label = 19; - } - } - } - } - if ((label|0) == 16) { - $48 = ((($1)) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)==(0|0); - if ($50) { - label = 19; - } else { - $51 = HEAP8[$2>>0]|0; - $52 = $51&255; - $53 = ((($49)) + 56|0); - $54 = HEAP8[$53>>0]|0; - $55 = $54 << 24 >> 24; - $56 = (($55) + ($52))|0; - $57 = (+($56|0)); - $58 = ((($49)) + 44|0); - $59 = HEAP8[$58>>0]|0; - $60 = (+($59<<24>>24)); - $61 = $60 * 0.0078125; - $62 = $57 + $61; - $63 = $62 + -1.0; - HEAPF32[$1>>2] = $63; - $64 = (+_jar_xm_period($0,$63)); - $65 = ((($1)) + 92|0); - HEAPF32[$65>>2] = $64; - break; - } - } - if ((label|0) == 19) { - $67 = HEAP32[$39>>2]|0; - $68 = ((($67)) + 24|0); - $69 = HEAP16[$68>>1]|0; - $70 = ($69<<16>>16)==(0); - if (!($70)) { - $71 = HEAP8[$2>>0]|0; - $72 = $71&255; - $73 = (($72) + -1)|0; - $74 = (((($40)) + 26|0) + ($73)|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - $77 = ((($40)) + 24|0); - $78 = HEAP16[$77>>1]|0; - $79 = $78&65535; - $80 = ($76>>>0)<($79>>>0); - if ($80) { - $$0275 = 0; - } else { - _jar_xm_cut_note($1); - break; - } - while(1) { - $106 = (+_jar_xm_next_of_sample($1)); - $107 = (((($1)) + 168|0) + ($$0275<<2)|0); - HEAPF32[$107>>2] = $106; - $108 = (($$0275) + 1)|0; - $exitcond = ($108|0)==(32); - if ($exitcond) { - break; - } else { - $$0275 = $108; - } - } - $81 = ((($1)) + 164|0); - HEAP32[$81>>2] = 0; - $82 = ((($40)) + 276|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP8[$2>>0]|0; - $85 = $84&255; - $86 = (($85) + -1)|0; - $87 = (((($40)) + 26|0) + ($86)|0); - $88 = HEAP8[$87>>0]|0; - $89 = $88&255; - $90 = (($83) + (($89*80)|0)|0); - $91 = ((($1)) + 12|0); - HEAP32[$91>>2] = $90; - $92 = (((($83) + (($89*80)|0)|0)) + 56|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93 << 24 >> 24; - $95 = (($94) + ($85))|0; - $96 = (+($95|0)); - $97 = (((($83) + (($89*80)|0)|0)) + 44|0); - $98 = HEAP8[$97>>0]|0; - $99 = (+($98<<24>>24)); - $100 = $99 * 0.0078125; - $101 = $96 + $100; - $102 = $101 + -1.0; - HEAPF32[$1>>2] = $102; - $103 = ((($1)) + 4|0); - HEAPF32[$103>>2] = $102; - $104 = HEAP8[$3>>0]|0; - $105 = ($104<<24>>24)==(0); - if ($105) { - _jar_xm_trigger_note($0,$1,1); - break; - } else { - _jar_xm_trigger_note($0,$1,0); - break; - } - } - } - _jar_xm_cut_note($1); - } else { - $109 = ($37<<24>>24)==(97); - if ($109) { - _jar_xm_key_off($1); - } - } - } while(0); - $110 = ((($2)) + 2|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $trunc = ($111&255) >>> 4; - $trunc$clear = $trunc & 15; - switch ($trunc$clear<<24>>24) { - case 5: { - $113 = ($111&255)>(80); - if (!($113)) { - label = 31; - } - break; - } - case 4: case 3: case 2: case 1: { - label = 31; - break; - } - case 8: { - $118 = $112 & 15; - $119 = $118&255; - _jar_xm_volume_slide($1,$119); - break; - } - case 9: { - $120 = $112 << 4; - $121 = $120&255; - _jar_xm_volume_slide($1,$121); - break; - } - case 10: { - $122 = ((($1)) + 112|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123 & 15; - $125 = $124&255; - $126 = $112 << 4; - $127 = $125 | $126; - $128 = $127&255; - HEAP8[$122>>0] = $128; - break; - } - case 12: { - $129 = $112 & 15; - $130 = $129 << 4; - $131 = $130 | $129; - $132 = (+($131|0)); - $133 = $132 / 255.0; - $134 = ((($1)) + 44|0); - HEAPF32[$134>>2] = $133; - break; - } - case 15: { - $135 = $112 & 15; - $136 = ($135|0)==(0); - if (!($136)) { - $137 = ((($1)) + 91|0); - $138 = $112 << 4; - $139 = $138 | $135; - $140 = $139&255; - HEAP8[$137>>0] = $140; - } - break; - } - default: { - } - } - if ((label|0) == 31) { - $114 = (($112) + -16)|0; - $115 = (+($114|0)); - $116 = $115 * 0.015625; - $117 = ((($1)) + 40|0); - HEAPF32[$117>>2] = $116; - } - $141 = ((($2)) + 3|0); - $142 = HEAP8[$141>>0]|0; - do { - switch ($142<<24>>24) { - case 1: { - $143 = ((($2)) + 4|0); - $144 = HEAP8[$143>>0]|0; - $145 = ($144<<24>>24)==(0); - if ($145) { - return; - } - $146 = ((($1)) + 85|0); - HEAP8[$146>>0] = $144; - return; - break; - } - case 2: { - $147 = ((($2)) + 4|0); - $148 = HEAP8[$147>>0]|0; - $149 = ($148<<24>>24)==(0); - if ($149) { - return; - } - $150 = ((($1)) + 86|0); - HEAP8[$150>>0] = $148; - return; - break; - } - case 3: { - $151 = ((($2)) + 4|0); - $152 = HEAP8[$151>>0]|0; - $153 = ($152<<24>>24)==(0); - if ($153) { - return; - } - $154 = ((($1)) + 91|0); - HEAP8[$154>>0] = $152; - return; - break; - } - case 4: { - $155 = ((($2)) + 4|0); - $156 = HEAP8[$155>>0]|0; - $157 = $156&255; - $158 = $157 & 15; - $159 = ($158|0)==(0); - if (!($159)) { - $160 = ((($1)) + 112|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161 & -16; - $163 = $162&255; - $164 = $163 | $158; - $165 = $164&255; - HEAP8[$160>>0] = $165; - } - $$mask266 = $157 & 240; - $166 = ($$mask266|0)==(0); - if ($166) { - return; - } - $167 = ((($1)) + 112|0); - $168 = HEAP8[$167>>0]|0; - $169 = $168 & 15; - $170 = $169&255; - $171 = $170 | $$mask266; - $172 = $171&255; - HEAP8[$167>>0] = $172; - return; - break; - } - case 5: { - $173 = ((($2)) + 4|0); - $174 = HEAP8[$173>>0]|0; - $175 = ($174<<24>>24)==(0); - if ($175) { - return; - } - $176 = ((($1)) + 81|0); - HEAP8[$176>>0] = $174; - return; - break; - } - case 6: { - $177 = ((($2)) + 4|0); - $178 = HEAP8[$177>>0]|0; - $179 = ($178<<24>>24)==(0); - if ($179) { - return; - } - $180 = ((($1)) + 81|0); - HEAP8[$180>>0] = $178; - return; - break; - } - case 7: { - $181 = ((($2)) + 4|0); - $182 = HEAP8[$181>>0]|0; - $183 = $182&255; - $184 = $183 & 15; - $185 = ($184|0)==(0); - if (!($185)) { - $186 = ((($1)) + 128|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187 & -16; - $189 = $188&255; - $190 = $189 | $184; - $191 = $190&255; - HEAP8[$186>>0] = $191; - } - $$mask265 = $183 & 240; - $192 = ($$mask265|0)==(0); - if ($192) { - return; - } - $193 = ((($1)) + 128|0); - $194 = HEAP8[$193>>0]|0; - $195 = $194 & 15; - $196 = $195&255; - $197 = $196 | $$mask265; - $198 = $197&255; - HEAP8[$193>>0] = $198; - return; - break; - } - case 8: { - $199 = ((($2)) + 4|0); - $200 = HEAP8[$199>>0]|0; - $201 = (+($200&255)); - $202 = $201 / 255.0; - $203 = ((($1)) + 44|0); - HEAPF32[$203>>2] = $202; - return; - break; - } - case 9: { - $204 = ((($1)) + 12|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - if ($206) { - return; - } - $207 = HEAP8[$2>>0]|0; - $$off274 = (($207) + -1)<<24>>24; - $208 = ($$off274&255)<(96); - if (!($208)) { - return; - } - $209 = ((($2)) + 4|0); - $210 = HEAP8[$209>>0]|0; - $211 = $210&255; - $212 = ((($205)) + 23|0); - $213 = HEAP8[$212>>0]|0; - $214 = ($213<<24>>24)==(16); - $215 = $214 ? 7 : 8; - $216 = $211 << $215; - $217 = ((($205)) + 24|0); - $218 = HEAP32[$217>>2]|0; - $219 = ($216>>>0)<($218>>>0); - if ($219) { - $221 = (+($216>>>0)); - $222 = ((($1)) + 20|0); - HEAPF32[$222>>2] = $221; - return; - } else { - $220 = ((($1)) + 20|0); - HEAPF32[$220>>2] = -1.0; - return; - } - break; - } - case 10: { - $223 = ((($2)) + 4|0); - $224 = HEAP8[$223>>0]|0; - $225 = ($224<<24>>24)==(0); - if ($225) { - return; - } - $226 = ((($1)) + 81|0); - HEAP8[$226>>0] = $224; - return; - break; - } - case 11: { - $227 = ((($2)) + 4|0); - $228 = HEAP8[$227>>0]|0; - $229 = $228&255; - $230 = ((($0)) + 46|0); - $231 = HEAP16[$230>>1]|0; - $232 = $231&65535; - $233 = ($229>>>0)<($232>>>0); - if (!($233)) { - return; - } - $234 = ((($0)) + 368|0); - HEAP32[$234>>2] = 1; - $235 = ((($0)) + 376|0); - HEAP8[$235>>0] = $228; - return; - break; - } - case 12: { - $236 = ((($2)) + 4|0); - $237 = HEAP8[$236>>0]|0; - $238 = ($237&255)>(64); - $phitmp263 = (+($237&255)); - $phitmp264 = $phitmp263 * 0.015625; - $239 = $238 ? 1.0 : $phitmp264; - $240 = ((($1)) + 40|0); - HEAPF32[$240>>2] = $239; - return; - break; - } - case 13: { - $241 = ((($0)) + 372|0); - HEAP32[$241>>2] = 1; - $242 = ((($2)) + 4|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = $244 >>> 4; - $246 = ($245*10)|0; - $247 = $244 & 15; - $248 = (($246) + ($247))|0; - $249 = $248&255; - $250 = ((($0)) + 377|0); - HEAP8[$250>>0] = $249; - return; - break; - } - case 14: { - $251 = ((($2)) + 4|0); - $252 = HEAP8[$251>>0]|0; - $253 = $252&255; - $trunc261 = ($252&255) >>> 4; - $trunc261$clear = $trunc261 & 15; - do { - switch ($trunc261$clear<<24>>24) { - case 1: { - $254 = $253 & 15; - $255 = ($254|0)==(0); - if (!($255)) { - $256 = $254&255; - $257 = ((($1)) + 87|0); - HEAP8[$257>>0] = $256; - } - $258 = ((($1)) + 87|0); - $259 = HEAP8[$258>>0]|0; - $260 = $259&255; - $261 = (0 - ($260))|0; - $262 = (+($261|0)); - _jar_xm_pitch_slide($0,$1,$262); - return; - break; - } - case 2: { - $263 = $253 & 15; - $264 = ($263|0)==(0); - if (!($264)) { - $265 = $263&255; - $266 = ((($1)) + 88|0); - HEAP8[$266>>0] = $265; - } - $267 = ((($1)) + 88|0); - $268 = HEAP8[$267>>0]|0; - $269 = (+($268&255)); - _jar_xm_pitch_slide($0,$1,$269); - return; - break; - } - case 4: { - $270 = $253 & 3; - $271 = ((($1)) + 104|0); - HEAP32[$271>>2] = $270; - $272 = $253 >>> 2; - $$lobit262 = $272 & 1; - $273 = $$lobit262 ^ 1; - $274 = ((($1)) + 108|0); - HEAP32[$274>>2] = $273; - return; - break; - } - case 5: { - $275 = ((($1)) + 16|0); - $276 = HEAP32[$275>>2]|0; - $277 = HEAP8[$276>>0]|0; - $278 = $277&255; - $$off273 = (($277) + -1)<<24>>24; - $279 = ($$off273&255)<(96); - if (!($279)) { - return; - } - $280 = ((($1)) + 12|0); - $281 = HEAP32[$280>>2]|0; - $282 = ($281|0)==(0|0); - if ($282) { - return; - } - $283 = ((($281)) + 56|0); - $284 = HEAP8[$283>>0]|0; - $285 = $284 << 24 >> 24; - $286 = (($285) + ($278))|0; - $287 = (+($286|0)); - $288 = $253 << 4; - $289 = $288 & 240; - $290 = (($289) + -128)|0; - $291 = (+($290|0)); - $292 = $291 * 0.0078125; - $293 = $292 + $287; - $294 = $293 + -1.0; - HEAPF32[$1>>2] = $294; - $295 = (+_jar_xm_period($0,$294)); - $296 = ((($1)) + 24|0); - HEAPF32[$296>>2] = $295; - _jar_xm_update_frequency($0,$1); - return; - break; - } - case 6: { - $297 = $253 & 15; - $298 = ($297|0)==(0); - if ($298) { - $311 = ((($0)) + 349|0); - $312 = HEAP8[$311>>0]|0; - $313 = ((($1)) + 98|0); - HEAP8[$313>>0] = $312; - $314 = ((($0)) + 377|0); - HEAP8[$314>>0] = $312; - return; - } - $299 = ((($1)) + 99|0); - $300 = HEAP8[$299>>0]|0; - $301 = $300&255; - $302 = ($297|0)==($301|0); - if ($302) { - HEAP8[$299>>0] = 0; - return; - } else { - $303 = (($300) + 1)<<24>>24; - HEAP8[$299>>0] = $303; - $304 = ((($0)) + 368|0); - HEAP32[$304>>2] = 1; - $305 = ((($1)) + 98|0); - $306 = HEAP8[$305>>0]|0; - $307 = ((($0)) + 377|0); - HEAP8[$307>>0] = $306; - $308 = ((($0)) + 348|0); - $309 = HEAP8[$308>>0]|0; - $310 = ((($0)) + 376|0); - HEAP8[$310>>0] = $309; - return; - } - break; - } - case 7: { - $315 = $253 & 3; - $316 = ((($1)) + 120|0); - HEAP32[$316>>2] = $315; - $317 = $253 >>> 2; - $$lobit = $317 & 1; - $318 = $$lobit ^ 1; - $319 = ((($1)) + 124|0); - HEAP32[$319>>2] = $318; - return; - break; - } - case 10: { - $320 = $253 & 15; - $321 = ($320|0)==(0); - if (!($321)) { - $322 = $320&255; - $323 = ((($1)) + 82|0); - HEAP8[$323>>0] = $322; - } - $324 = ((($1)) + 82|0); - $325 = HEAP8[$324>>0]|0; - $326 = $325&255; - $327 = $326 << 4; - $328 = $327&255; - _jar_xm_volume_slide($1,$328); - return; - break; - } - case 11: { - $329 = $253 & 15; - $330 = ($329|0)==(0); - if (!($330)) { - $331 = $329&255; - $332 = ((($1)) + 82|0); - HEAP8[$332>>0] = $331; - } - $333 = ((($1)) + 82|0); - $334 = HEAP8[$333>>0]|0; - _jar_xm_volume_slide($1,$334); - return; - break; - } - case 13: { - $335 = HEAP8[$2>>0]|0; - $336 = ($335<<24>>24)==(0); - if (!($336)) { - return; - } - $337 = HEAP8[$3>>0]|0; - $338 = ($337<<24>>24)==(0); - if (!($338)) { - return; - } - $339 = ((($1)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $341 = ((($340)) + 4|0); - $342 = HEAP8[$341>>0]|0; - $343 = $342 & 15; - $344 = ($343<<24>>24)==(0); - if ($344) { - _jar_xm_trigger_note($0,$1,7); - return; - } else { - $345 = ((($1)) + 4|0); - $346 = HEAP32[$345>>2]|0; - HEAP32[$1>>2] = $346; - _jar_xm_trigger_note($0,$1,1); - return; - } - break; - } - case 14: { - $347 = ((($1)) + 16|0); - $348 = HEAP32[$347>>2]|0; - $349 = ((($348)) + 4|0); - $350 = HEAP8[$349>>0]|0; - $351 = $350 & 15; - $352 = $351&255; - $353 = ((($0)) + 328|0); - $354 = HEAP16[$353>>1]|0; - $355 = $354&65535; - $356 = Math_imul($352, $355)|0; - $357 = $356&65535; - $358 = ((($0)) + 378|0); - HEAP16[$358>>1] = $357; - return; - break; - } - default: { - return; - } - } - } while(0); - break; - } - case 15: { - $359 = ((($2)) + 4|0); - $360 = HEAP8[$359>>0]|0; - $361 = ($360<<24>>24)==(0); - if ($361) { - return; - } - $362 = ($360&255)<(32); - $363 = $360&255; - if ($362) { - $364 = ((($0)) + 328|0); - HEAP16[$364>>1] = $363; - return; - } else { - $365 = ((($0)) + 330|0); - HEAP16[$365>>1] = $363; - return; - } - break; - } - case 16: { - $366 = ((($2)) + 4|0); - $367 = HEAP8[$366>>0]|0; - $368 = ($367&255)>(64); - $phitmp = (+($367&255)); - $phitmp260 = $phitmp * 0.015625; - $369 = $368 ? 1.0 : $phitmp260; - $370 = ((($0)) + 332|0); - HEAPF32[$370>>2] = $369; - return; - break; - } - case 17: { - $371 = ((($2)) + 4|0); - $372 = HEAP8[$371>>0]|0; - $373 = ($372<<24>>24)==(0); - if ($373) { - return; - } - $374 = ((($1)) + 83|0); - HEAP8[$374>>0] = $372; - return; - break; - } - case 21: { - $375 = ((($2)) + 4|0); - $376 = HEAP8[$375>>0]|0; - $377 = $376&255; - $378 = ((($1)) + 68|0); - HEAP16[$378>>1] = $377; - $379 = ((($1)) + 70|0); - HEAP16[$379>>1] = $377; - return; - break; - } - case 25: { - $380 = ((($2)) + 4|0); - $381 = HEAP8[$380>>0]|0; - $382 = ($381<<24>>24)==(0); - if ($382) { - return; - } - $383 = ((($1)) + 84|0); - HEAP8[$383>>0] = $381; - return; - break; - } - case 27: { - $384 = ((($2)) + 4|0); - $385 = HEAP8[$384>>0]|0; - $386 = $385&255; - $387 = ($385<<24>>24)==(0); - if ($387) { - return; - } - $$mask = $386 & 240; - $388 = ($$mask|0)==(0); - if ($388) { - $389 = ((($1)) + 96|0); - $390 = HEAP8[$389>>0]|0; - $391 = $390 & -16; - $392 = $391&255; - $393 = $386 & 15; - $394 = $392 | $393; - $395 = $394&255; - $$sink = $395; - } else { - $$sink = $385; - } - $396 = ((($1)) + 96|0); - HEAP8[$396>>0] = $$sink; - return; - break; - } - case 29: { - $397 = ((($2)) + 4|0); - $398 = HEAP8[$397>>0]|0; - $399 = ($398<<24>>24)==(0); - if ($399) { - return; - } - $400 = ((($1)) + 136|0); - HEAP8[$400>>0] = $398; - return; - break; - } - case 33: { - $401 = ((($2)) + 4|0); - $402 = HEAP8[$401>>0]|0; - $403 = $402&255; - $trunc259 = ($402&255) >>> 4; - $trunc259$clear = $trunc259 & 15; - switch ($trunc259$clear<<24>>24) { - case 1: { - $404 = $403 & 15; - $405 = ($404|0)==(0); - if (!($405)) { - $406 = $404&255; - $407 = ((($1)) + 89|0); - HEAP8[$407>>0] = $406; - } - $408 = ((($1)) + 89|0); - $409 = HEAP8[$408>>0]|0; - $410 = (+($409&255)); - $411 = -$410; - _jar_xm_pitch_slide($0,$1,$411); - return; - break; - } - case 2: { - $412 = $403 & 15; - $413 = ($412|0)==(0); - if (!($413)) { - $414 = $412&255; - $415 = ((($1)) + 90|0); - HEAP8[$415>>0] = $414; - } - $416 = ((($1)) + 90|0); - $417 = HEAP8[$416>>0]|0; - $418 = (+($417&255)); - _jar_xm_pitch_slide($0,$1,$418); - return; - break; - } - default: { - return; - } - } - break; - } - default: { - return; - } - } - } while(0); -} -function _jar_xm_key_off($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 52|0); - HEAP32[$1>>2] = 0; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if (!($4)) { - $5 = ((($3)) + 176|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - return; - } - } - _jar_xm_cut_note($0); - return; -} -function _jar_xm_period($0,$1) { - $0 = $0|0; - $1 = +$1; - var $$0 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 56|0); - $3 = HEAP32[$2>>2]|0; - switch ($3|0) { - case 0: { - $4 = (+_jar_xm_linear_period($1)); - $$0 = $4; - break; - } - case 1: { - $5 = (+_jar_xm_amiga_period($1)); - $$0 = $5; - break; - } - default: { - $$0 = 0.0; - } - } - return (+$$0); -} -function _jar_xm_linear_period($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0 * 64.0; - $2 = 7680.0 - $1; - return (+$2); -} -function _jar_xm_amiga_period($0) { - $0 = +$0; - var $$0 = 0, $$023 = 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.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (~~(($0))>>>0); - $2 = (($1>>>0) % 12)&-1; - $3 = $0 / 12.0; - $4 = $3 + -2.0; - $5 = (~~(($4))); - $6 = (4660 + ($2<<1)|0); - $7 = HEAP16[$6>>1]|0; - $8 = (($2) + 1)|0; - $9 = (4660 + ($8<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = $5 << 24 >> 24; - $12 = ($5<<24>>24)>(0); - if ($12) { - $13 = $7&65535; - $14 = $13 >>> $11; - $15 = $14&65535; - $16 = $10&65535; - $17 = $16 >>> $11; - $18 = $17&65535; - $$0 = $18;$$023 = $15; - } else { - $19 = ($5<<24>>24)<(0); - $20 = (0 - ($11))|0; - if ($19) { - $21 = $10&65535; - $22 = $21 << $20; - $23 = $7&65535; - $24 = $23 << $20; - $25 = $24&65535; - $26 = $22&65535; - $$0 = $26;$$023 = $25; - } else { - $$0 = $10;$$023 = $7; - } - } - $27 = $$023&65535; - $28 = (+($$023&65535)); - $29 = (+($1>>>0)); - $30 = $0 - $29; - $31 = $$0&65535; - $32 = (($31) - ($27))|0; - $33 = (+($32|0)); - $34 = $30 * $33; - $35 = $28 + $34; - return (+$35); -} -function _jar_xm_waveform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $3 = 0.0, $4 = 0.0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 63; - switch ($0|0) { - case 0: { - $3 = (+($2&255)); - $4 = $3 * 6.2831840515136719; - $5 = $4 * 0.015625; - $6 = (+Math_sin((+$5))); - $7 = -$6; - $$0 = $7; - return (+$$0); - break; - } - case 1: { - $8 = $2&255; - $9 = (32 - ($8))|0; - $10 = (+($9|0)); - $11 = $10 * 0.03125; - $$0 = $11; - return (+$$0); - break; - } - case 2: { - $12 = ($2&255)>(31); - $13 = $12 ? 1.0 : -1.0; - $$0 = $13; - return (+$$0); - break; - } - case 3: { - $14 = HEAP32[777]|0; - $15 = Math_imul($14, 1103515245)|0; - $16 = (($15) + 12345)|0; - HEAP32[777] = $16; - $17 = $16 >>> 16; - $18 = $17 & 32767; - $19 = (+($18>>>0)); - $20 = $19 * 6.103515625E-5; - $21 = $20 + -1.0; - $$0 = $21; - return (+$$0); - break; - } - case 4: { - $22 = $2&255; - $23 = (($22) + -32)|0; - $24 = (+($23|0)); - $25 = $24 * 0.03125; - $$0 = $25; - return (+$$0); - break; - } - default: { - $$0 = 0.0; - return (+$$0); - } - } - return +(0.0); -} -function _jar_xm_frequency($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$050 = 0.0, $$051 = 0, $$054 = 0, $$1 = 0, $$148 = 0, $$152 = 0, $$253 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.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.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0; - var $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $indvars$iv = 0, $indvars$iv$next = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 56|0); - $4 = HEAP32[$3>>2]|0; - switch ($4|0) { - case 0: { - $5 = $2 * 64.0; - $6 = $1 - $5; - $7 = (+_jar_xm_linear_frequency($6)); - $$050 = $7; - return (+$$050); - break; - } - case 1: { - $8 = $2 == 0.0; - if ($8) { - $9 = (+_jar_xm_amiga_frequency($1)); - $$050 = $9; - return (+$$050); - } - $10 = $1 > 1712.0; - if ($10) { - $$051 = -1; - while(1) { - $11 = $$051 << 24 >> 24; - $12 = (0 - ($11))|0; - $13 = 1712 << $12; - $14 = (+($13|0)); - $15 = $14 < $1; - $16 = (($$051) + -1)<<24>>24; - if ($15) { - $$051 = $16; - } else { - $$253 = $$051; - break; - } - } - } else { - $17 = $1 < 856.0; - if ($17) { - $$152 = 1; - while(1) { - $18 = $$152 << 24 >> 24; - $19 = 856 >>> $18; - $20 = (+($19|0)); - $21 = $20 > $1; - $22 = (($$152) + 1)<<24>>24; - if ($21) { - $$152 = $22; - } else { - $$253 = $$152; - break; - } - } - } else { - $$253 = 0; - } - } - $23 = $$253 << 24 >> 24; - $24 = ($$253<<24>>24)>(0); - $25 = ($$253<<24>>24)<(0); - $26 = (0 - ($23))|0; - $indvars$iv = 0; - while(1) { - $27 = (4660 + ($indvars$iv<<1)|0); - $28 = HEAP16[$27>>1]|0; - $29 = (($indvars$iv) + 1)|0; - $30 = (4660 + ($29<<1)|0); - $31 = HEAP16[$30>>1]|0; - if ($24) { - $32 = $28&65535; - $33 = $32 >>> $23; - $34 = $33&65535; - $35 = $31&65535; - $36 = $35 >>> $23; - $37 = $36&65535; - $$1 = $37;$$148 = $34; - } else { - if ($25) { - $38 = $31&65535; - $39 = $38 << $26; - $40 = $28&65535; - $41 = $40 << $26; - $42 = $41&65535; - $43 = $39&65535; - $$1 = $43;$$148 = $42; - } else { - $$1 = $31;$$148 = $28; - } - } - $44 = (+($$1&65535)); - $45 = !($44 <= $1); - $46 = (+($$148&65535)); - $47 = !($46 >= $1); - $or$cond = $47 | $45; - $48 = $indvars$iv&255; - if (!($or$cond)) { - $$054 = $48; - break; - } - $indvars$iv$next = (($indvars$iv) + 1)|0; - $49 = ($indvars$iv$next>>>0)<(12); - if ($49) { - $indvars$iv = $indvars$iv$next; - } else { - $$054 = 0; - break; - } - } - $50 = $$253 << 24 >> 24; - $51 = (($50) + 2)|0; - $52 = (+($51|0)); - $53 = $52 * 12.0; - $54 = (+($$054&255)); - $55 = $53 + $54; - $56 = $$148&65535; - $57 = (+($$148&65535)); - $58 = $1 - $57; - $59 = $$1&65535; - $60 = (($59) - ($56))|0; - $61 = (+($60|0)); - $62 = $58 / $61; - $63 = $55 + $62; - $64 = $63 + $2; - $65 = (+_jar_xm_amiga_period($64)); - $66 = (+_jar_xm_amiga_frequency($65)); - $$050 = $66; - return (+$$050); - break; - } - default: { - $$050 = 0.0; - return (+$$050); - } - } - return +(0.0); -} -function _jar_xm_linear_frequency($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $exp2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = 4608.0 - $0; - $2 = $1 / 768.0; - $exp2 = (+_llvm_exp2_f32((+$2))); - $3 = $exp2 * 8363.0; - return (+$3); -} -function _jar_xm_amiga_frequency($0) { - $0 = +$0; - var $$0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0 == 0.0; - $2 = $0 * 2.0; - $3 = 7093789.0 / $2; - $$0 = $1 ? 0.0 : $3; - return (+$$0); -} -function _jar_xm_envelope_tick($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$043 = 0, $$lcssa = 0, $$lcssa42 = 0, $10 = 0.0, $11 = 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; - 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.0, $56 = 0.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, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ((($1)) + 48|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5&255)<(2); - if ($6) { - $7 = ($5<<24>>24)==(1); - if (!($7)) { - return; - } - $8 = ((($1)) + 2|0); - $9 = HEAP16[$8>>1]|0; - $10 = (+($9&65535)); - $11 = $10 * 0.015625; - HEAPF32[$3>>2] = $11; - $12 = $11 > 1.0; - if (!($12)) { - return; - } - HEAPF32[$3>>2] = 1.0; - return; - } - $13 = ((($1)) + 60|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0); - if (!($15)) { - $16 = ((($1)) + 51|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = (($1) + ($18<<2)|0); - $20 = HEAP16[$19>>1]|0; - $21 = HEAP16[$2>>1]|0; - $22 = ($21&65535)<($20&65535); - if (!($22)) { - $23 = $21&65535; - $24 = $20&65535; - $25 = ((($1)) + 50|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = (($1) + ($27<<2)|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - $31 = (($23) - ($24))|0; - $32 = (($31) + ($30))|0; - $33 = $32&65535; - HEAP16[$2>>1] = $33; - } - } - $34 = HEAP8[$4>>0]|0; - $35 = ($34&255)>(2); - $36 = HEAP16[$2>>1]|0; - L15: do { - if ($35) { - $$043 = 0;$38 = 0;$41 = $36; - while(1) { - $37 = (($1) + ($38<<2)|0); - $39 = HEAP16[$37>>1]|0; - $40 = ($39&65535)>($41&65535); - if (!($40)) { - $42 = (($38) + 1)|0; - $43 = (($1) + ($42<<2)|0); - $44 = HEAP16[$43>>1]|0; - $45 = ($44&65535)<($41&65535); - if (!($45)) { - $$lcssa = $41;$$lcssa42 = $38; - break L15; - } - } - $46 = (($$043) + 1)<<24>>24; - $47 = $46&255; - $48 = HEAP8[$4>>0]|0; - $49 = $48&255; - $50 = (($49) + -2)|0; - $51 = ($47|0)<($50|0); - $52 = HEAP16[$2>>1]|0; - if ($51) { - $$043 = $46;$38 = $47;$41 = $52; - } else { - $$lcssa = $52;$$lcssa42 = $47; - break; - } - } - } else { - $$lcssa = $36;$$lcssa42 = 0; - } - } while(0); - $53 = (($1) + ($$lcssa42<<2)|0); - $54 = ((($53)) + 4|0); - $55 = (+_jar_xm_envelope_lerp($53,$54,$$lcssa)); - $56 = $55 * 0.015625; - HEAPF32[$3>>2] = $56; - $57 = ((($0)) + 52|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0); - if (!($59)) { - $60 = ((($1)) + 56|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0); - if (!($62)) { - $63 = HEAP16[$2>>1]|0; - $64 = ((($1)) + 49|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = (($1) + ($66<<2)|0); - $68 = HEAP16[$67>>1]|0; - $69 = ($63<<16>>16)==($68<<16>>16); - if ($69) { - return; - } - } - } - $70 = HEAP16[$2>>1]|0; - $71 = (($70) + 1)<<16>>16; - HEAP16[$2>>1] = $71; - return; -} -function _jar_xm_envelope_lerp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2&65535; - $4 = HEAP16[$0>>1]|0; - $5 = $4&65535; - $6 = ($4&65535)<($2&65535); - if (!($6)) { - $7 = ((($0)) + 2|0); - $8 = HEAP16[$7>>1]|0; - $9 = (+($8&65535)); - $$0 = $9; - return (+$$0); - } - $10 = HEAP16[$1>>1]|0; - $11 = ($10&65535)>($2&65535); - $12 = ((($1)) + 2|0); - $13 = HEAP16[$12>>1]|0; - if ($11) { - $15 = $10&65535; - $16 = (($3) - ($5))|0; - $17 = (+($16|0)); - $18 = (($15) - ($5))|0; - $19 = (+($18|0)); - $20 = $17 / $19; - $21 = ((($0)) + 2|0); - $22 = HEAP16[$21>>1]|0; - $23 = (+($22&65535)); - $24 = 1.0 - $20; - $25 = $24 * $23; - $26 = (+($13&65535)); - $27 = $26 * $20; - $28 = $27 + $25; - $$0 = $28; - return (+$$0); - } else { - $14 = (+($13&65535)); - $$0 = $14; - return (+$$0); - } - return +(0.0); -} -function _jar_xm_post_pattern_change($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)) + 348|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ((($0)) + 46|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = ($3>>>0)<($6>>>0); - if ($7) { - return; - } - $8 = ((($0)) + 48|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&255; - HEAP8[$1>>0] = $10; - return; -} -function _jar_xm_create_context_safe($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$06364 = 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, $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, 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 = (_jar_xm_check_sanity_preload($1,$2)|0); - $5 = ($4|0)==(0); - if (!($5)) { - $6 = HEAP32[1039]|0; - HEAP32[$vararg_buffer>>2] = 9762; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $4; - (_fprintf($6,9685,$vararg_buffer)|0); - (_fflush($6)|0); - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $7 = (_jar_xm_get_memory_needed_for_context($1,$2)|0); - $8 = (_malloc($7)|0); - $9 = ($8|0)==(0|0); - $10 = ($7|0)!=(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = HEAP32[1039]|0; - HEAP32[$vararg_buffer2>>2] = 9762; - $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $8; - (_fprintf($11,9789,$vararg_buffer2)|0); - (_fflush($11)|0); - $$0 = 2; - STACKTOP = sp;return ($$0|0); - } - _memset(($8|0),0,($7|0))|0; - HEAP32[$0>>2] = $8; - HEAP32[$8>>2] = $8; - $12 = ((($8)) + 392|0); - $13 = ((($8)) + 324|0); - HEAP32[$13>>2] = $3; - $14 = (_jar_xm_load_module($8,$1,$2,$12)|0); - $15 = ((($8)) + 388|0); - HEAP32[$15>>2] = $14; - $16 = ((($8)) + 50|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = ($18*304)|0; - $20 = (($14) + ($19)|0); - $21 = ((($8)) + 332|0); - HEAPF32[$21>>2] = 1.0; - $22 = ((($8)) + 336|0); - HEAPF32[$22>>2] = 0.25; - $23 = ((($8)) + 340|0); - HEAPF32[$23>>2] = 0.0078125; - $24 = ((($8)) + 344|0); - HEAPF32[$24>>2] = 0.0078125; - $25 = HEAP16[$16>>1]|0; - $26 = ($25<<16>>16)==(0); - if (!($26)) { - $27 = HEAP32[$15>>2]|0; - $28 = HEAP16[$16>>1]|0; - $29 = $28&65535; - $$06364 = 0;$34 = 0; - while(1) { - $33 = (((($27) + (($34*304)|0)|0)) + 36|0); - HEAP32[$33>>2] = 1; - $35 = (((($27) + (($34*304)|0)|0)) + 104|0); - HEAP32[$35>>2] = 0; - $36 = (((($27) + (($34*304)|0)|0)) + 108|0); - HEAP32[$36>>2] = 1; - $37 = (((($27) + (($34*304)|0)|0)) + 120|0); - HEAP32[$37>>2] = 0; - $38 = (((($27) + (($34*304)|0)|0)) + 124|0); - HEAP32[$38>>2] = 1; - $39 = (((($27) + (($34*304)|0)|0)) + 56|0); - HEAPF32[$39>>2] = 1.0; - $40 = (((($27) + (($34*304)|0)|0)) + 60|0); - HEAPF32[$40>>2] = 1.0; - $41 = (((($27) + (($34*304)|0)|0)) + 40|0); - HEAPF32[$41>>2] = 1.0; - $42 = (((($27) + (($34*304)|0)|0)) + 64|0); - HEAPF32[$42>>2] = 0.5; - $43 = (((($27) + (($34*304)|0)|0)) + 44|0); - HEAPF32[$43>>2] = 0.5; - $44 = (((($27) + (($34*304)|0)|0)) + 300|0); - HEAPF32[$44>>2] = 0.0; - $45 = (((($27) + (($34*304)|0)|0)) + 296|0); - HEAPF32[$45>>2] = 0.5; - $46 = (($$06364) + 1)<<24>>24; - $47 = $46&255; - $48 = ($47>>>0)<($29>>>0); - if ($48) { - $$06364 = $46;$34 = $47; - } else { - break; - } - } - } - $30 = ((($8)) + 380|0); - HEAP32[$30>>2] = $20; - $31 = (_jar_xm_check_sanity_postload($8)|0); - $32 = ($31|0)==(0); - if ($32) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $49 = HEAP32[1039]|0; - HEAP32[$vararg_buffer6>>2] = 9762; - $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $31; - (_fprintf($49,9833,$vararg_buffer6)|0); - (_fflush($49)|0); - _jar_xm_free_context($8); - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _jar_xm_check_sanity_preload($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $$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; - $2 = ($1>>>0)<(60); - if ($2) { - $$0 = 4; - return ($$0|0); - } - $3 = (_memcmp(10050,$0,17)|0); - $4 = ($3|0)==(0); - if (!($4)) { - $$0 = 1; - return ($$0|0); - } - $5 = ((($0)) + 37|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(26); - if (!($7)) { - $$0 = 2; - return ($$0|0); - } - $8 = ((($0)) + 59|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(1); - if ($10) { - $11 = ((($0)) + 58|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(4); - $$ = $13 ? 0 : 3; - return ($$|0); - } else { - $$0 = 3; - return ($$0|0); - } - return (0)|0; -} -function _jar_xm_get_memory_needed_for_context($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$0209$lcssa = 0, $$0209274 = 0, $$0212262 = 0, $$0213$lcssa = 0, $$0213261 = 0, $$0214 = 0, $$0215267 = 0, $$0216273 = 0, $$0275 = 0, $$1$lcssa = 0, $$1210268 = 0, $$1269 = 0, $$2$lcssa = 0, $$2211$lcssa = 0, $$2211263 = 0, $$2264 = 0, $$3 = 0, $$ph = 0, $$ph228 = 0; - var $$ph233 = 0, $$ph234 = 0, $$ph237 = 0, $$ph238 = 0, $$ph239 = 0, $$ph240 = 0, $$ph241 = 0, $$ph242 = 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, $2 = 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, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0; - var $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, $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, $phitmp = 0, $phitmp294 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1>>>0)>(68); - $3 = ($1>>>0)>(69); - if ($2) { - $4 = ((($0)) + 68|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $12 = $6; - } else { - $12 = 0; - } - do { - if ($3) { - $7 = ((($0)) + 69|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = $9 << 8; - $11 = $10 | $12; - $13 = ($1|0)==(70); - do { - if ($13) { - $$ph = 0;$$ph233 = 0;$$ph234 = 0; - } else { - $14 = ((($0)) + 70|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($1>>>0)>(71); - if (!($17)) { - $18 = $16 << 3; - $$ph = $18;$$ph233 = 0;$$ph234 = $16; - break; - } - $19 = ((($0)) + 71|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = $21 << 8; - $23 = $22 | $16; - $24 = $23 << 3; - $25 = ($1|0)==(72); - if ($25) { - $$ph = $24;$$ph233 = 0;$$ph234 = $23; - } else { - $26 = ((($0)) + 72|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = ($1>>>0)>(73); - if ($29) { - $30 = ((($0)) + 73|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $phitmp294 = $32 << 8; - $$ph228 = $phitmp294; - } else { - $$ph228 = 0; - } - $33 = $$ph228 | $28; - $34 = ($33*280)|0; - $35 = (($34) + ($24))|0; - $$ph = $35;$$ph233 = $33;$$ph234 = $23; - } - } - } while(0); - $37 = ((($0)) + 64|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $284 = $39;$285 = $11;$286 = $$ph234;$287 = $$ph233;$288 = $$ph; - label = 14; - } else { - $36 = ($1>>>0)>(64); - if ($36) { - $40 = ((($0)) + 64|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = ($1|0)==(65); - if ($43) { - $$ph237 = $42;$$ph238 = $12;$$ph239 = 0;$$ph240 = 0;$$ph241 = 0;$$ph242 = 0; - label = 15; - break; - } else { - $284 = $42;$285 = $12;$286 = 0;$287 = 0;$288 = 0; - label = 14; - break; - } - } - $61 = ($1>>>0)>(62); - if (!($61)) { - $$1$lcssa = 0;$155 = $12; - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); - } - $62 = ((($0)) + 61|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = $64 << 8; - $66 = ((($0)) + 60|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67&255; - $69 = $65 | $68; - $70 = ((($0)) + 62|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = ($1|0)==(63); - if ($73) { - $$1$lcssa = 0;$155 = $12; - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); - } else { - $289 = 0;$79 = $72;$82 = $69;$85 = 0;$87 = $12;$89 = 0; - } - } - } while(0); - if ((label|0) == 14) { - $44 = ((($0)) + 65|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $phitmp = $46 << 8; - $$ph237 = $284;$$ph238 = $285;$$ph239 = $286;$$ph240 = $287;$$ph241 = $288;$$ph242 = $phitmp; - label = 15; - } - if ((label|0) == 15) { - $47 = $$ph242 | $$ph237; - $48 = $47 << 8; - $49 = (($48) + ($$ph241))|0; - $50 = ((($0)) + 60|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = ((($0)) + 61|0); - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - $56 = $55 << 8; - $57 = $56 | $52; - $58 = ((($0)) + 62|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $289 = $49;$79 = $60;$82 = $57;$85 = $$ph239;$87 = $$ph238;$89 = $$ph240; - } - $74 = ((($0)) + 63|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - $77 = $76 << 8; - $78 = $77 | $79; - $80 = $78 << 16; - $81 = $80 | $82; - $83 = (($81) + 60)|0; - $84 = ($85|0)==(0); - if ($84) { - $$0$lcssa = $289;$$0209$lcssa = $83; - } else { - $86 = ($87*5)|0; - $$0209274 = $83;$$0216273 = 0;$$0275 = $289; - while(1) { - $90 = (($$0209274) + 5)|0; - $91 = ($90>>>0)<($1>>>0); - if ($91) { - $92 = (($0) + ($90)|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - $103 = $94; - } else { - $103 = 0; - } - $95 = (($$0209274) + 6)|0; - $96 = ($95>>>0)<($1>>>0); - if ($96) { - $97 = (($0) + ($95)|0); - $98 = HEAP8[$97>>0]|0; - $99 = $98&255; - $101 = $99; - } else { - $101 = 0; - } - $100 = $101 << 8; - $102 = $100 | $103; - $104 = Math_imul($86, $102)|0; - $105 = (($104) + ($$0275))|0; - $106 = ($$0209274>>>0)<($1>>>0); - if ($106) { - $107 = (($0) + ($$0209274)|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $118 = $109; - } else { - $118 = 0; - } - $110 = (($$0209274) + 1)|0; - $111 = ($110>>>0)<($1>>>0); - if ($111) { - $112 = (($0) + ($110)|0); - $113 = HEAP8[$112>>0]|0; - $114 = $113&255; - $116 = $114; - } else { - $116 = 0; - } - $115 = $116 << 8; - $117 = $115 | $118; - $119 = (($$0209274) + 2)|0; - $120 = ($119>>>0)<($1>>>0); - if ($120) { - $121 = (($0) + ($119)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $132 = $123; - } else { - $132 = 0; - } - $124 = (($$0209274) + 3)|0; - $125 = ($124>>>0)<($1>>>0); - if ($125) { - $126 = (($0) + ($124)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $130 = $128; - } else { - $130 = 0; - } - $129 = $130 << 8; - $131 = $129 | $132; - $133 = $131 << 16; - $134 = $117 | $133; - $135 = (($$0209274) + 7)|0; - $136 = ($135>>>0)<($1>>>0); - if ($136) { - $137 = (($0) + ($135)|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $148 = $139; - } else { - $148 = 0; - } - $140 = (($$0209274) + 8)|0; - $141 = ($140>>>0)<($1>>>0); - if ($141) { - $142 = (($0) + ($140)|0); - $143 = HEAP8[$142>>0]|0; - $144 = $143&255; - $146 = $144; - } else { - $146 = 0; - } - $145 = $146 << 8; - $147 = $145 | $148; - $149 = (($134) + ($$0209274))|0; - $150 = (($149) + ($147))|0; - $151 = (($$0216273) + 1)<<16>>16; - $152 = $151&65535; - $153 = ($152>>>0)<($85>>>0); - if ($153) { - $$0209274 = $150;$$0216273 = $151;$$0275 = $105; - } else { - $$0$lcssa = $105;$$0209$lcssa = $150; - break; - } - } - } - $88 = ($89|0)==(0); - if ($88) { - $$1$lcssa = $$0$lcssa;$155 = $87; - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); - } else { - $$0215267 = 0;$$1210268 = $$0209$lcssa;$$1269 = $$0$lcssa; - } - while(1) { - $158 = (($$1210268) + 27)|0; - $159 = ($158>>>0)<($1>>>0); - if ($159) { - $160 = (($0) + ($158)|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161&255; - $171 = $162; - } else { - $171 = 0; - } - $163 = (($$1210268) + 28)|0; - $164 = ($163>>>0)<($1>>>0); - if ($164) { - $165 = (($0) + ($163)|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $169 = $167; - } else { - $169 = 0; - } - $168 = $169 << 8; - $170 = $168 | $171; - $172 = ($170*80)|0; - $173 = (($172) + ($$1269))|0; - $174 = ($170|0)==(0); - if ($174) { - $$0214 = 0; - } else { - $175 = (($$1210268) + 29)|0; - $176 = ($175>>>0)<($1>>>0); - if ($176) { - $177 = (($0) + ($175)|0); - $178 = HEAP8[$177>>0]|0; - $179 = $178&255; - $188 = $179; - } else { - $188 = 0; - } - $180 = (($$1210268) + 30)|0; - $181 = ($180>>>0)<($1>>>0); - if ($181) { - $182 = (($0) + ($180)|0); - $183 = HEAP8[$182>>0]|0; - $184 = $183&255; - $186 = $184; - } else { - $186 = 0; - } - $185 = $186 << 8; - $187 = $185 | $188; - $189 = (($$1210268) + 31)|0; - $190 = ($189>>>0)<($1>>>0); - if ($190) { - $191 = (($0) + ($189)|0); - $192 = HEAP8[$191>>0]|0; - $193 = $192&255; - $202 = $193; - } else { - $202 = 0; - } - $194 = (($$1210268) + 32)|0; - $195 = ($194>>>0)<($1>>>0); - if ($195) { - $196 = (($0) + ($194)|0); - $197 = HEAP8[$196>>0]|0; - $198 = $197&255; - $200 = $198; - } else { - $200 = 0; - } - $199 = $200 << 8; - $201 = $199 | $202; - $203 = $201 << 16; - $204 = $187 | $203; - $$0214 = $204; - } - $205 = ($$1210268>>>0)<($1>>>0); - if ($205) { - $206 = (($0) + ($$1210268)|0); - $207 = HEAP8[$206>>0]|0; - $208 = $207&255; - $217 = $208; - } else { - $217 = 0; - } - $209 = (($$1210268) + 1)|0; - $210 = ($209>>>0)<($1>>>0); - if ($210) { - $211 = (($0) + ($209)|0); - $212 = HEAP8[$211>>0]|0; - $213 = $212&255; - $215 = $213; - } else { - $215 = 0; - } - $214 = $215 << 8; - $216 = $214 | $217; - $218 = (($$1210268) + 2)|0; - $219 = ($218>>>0)<($1>>>0); - if ($219) { - $220 = (($0) + ($218)|0); - $221 = HEAP8[$220>>0]|0; - $222 = $221&255; - $231 = $222; - } else { - $231 = 0; - } - $223 = (($$1210268) + 3)|0; - $224 = ($223>>>0)<($1>>>0); - if ($224) { - $225 = (($0) + ($223)|0); - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - $229 = $227; - } else { - $229 = 0; - } - $228 = $229 << 8; - $230 = $228 | $231; - $232 = $230 << 16; - $233 = $216 | $232; - $234 = (($233) + ($$1210268))|0; - $235 = ($170|0)==(0); - if ($235) { - $$0213$lcssa = 0;$$2$lcssa = $173;$$2211$lcssa = $234; - } else { - $$0212262 = 0;$$0213261 = 0;$$2211263 = $234;$$2264 = $173; - while(1) { - $240 = ($$2211263>>>0)<($1>>>0); - if ($240) { - $241 = (($0) + ($$2211263)|0); - $242 = HEAP8[$241>>0]|0; - $243 = $242&255; - $252 = $243; - } else { - $252 = 0; - } - $244 = (($$2211263) + 1)|0; - $245 = ($244>>>0)<($1>>>0); - if ($245) { - $246 = (($0) + ($244)|0); - $247 = HEAP8[$246>>0]|0; - $248 = $247&255; - $250 = $248; - } else { - $250 = 0; - } - $249 = $250 << 8; - $251 = $249 | $252; - $253 = (($$2211263) + 2)|0; - $254 = ($253>>>0)<($1>>>0); - if ($254) { - $255 = (($0) + ($253)|0); - $256 = HEAP8[$255>>0]|0; - $257 = $256&255; - $266 = $257; - } else { - $266 = 0; - } - $258 = (($$2211263) + 3)|0; - $259 = ($258>>>0)<($1>>>0); - if ($259) { - $260 = (($0) + ($258)|0); - $261 = HEAP8[$260>>0]|0; - $262 = $261&255; - $264 = $262; - } else { - $264 = 0; - } - $263 = $264 << 8; - $265 = $263 | $266; - $267 = $265 << 16; - $268 = $251 | $267; - $269 = (($$2211263) + 14)|0; - $270 = ($269>>>0)<($1>>>0); - if ($270) { - $271 = (($0) + ($269)|0); - $272 = HEAP8[$271>>0]|0; - $273 = $272&255; - $276 = $273; - } else { - $276 = 0; - } - $274 = (($268) + ($$0213261))|0; - $275 = $276 >>> 4; - $277 = $275 & 1; - $278 = (2 - ($277))|0; - $279 = $268 << $278; - $$3 = (($279) + ($$2264))|0; - $280 = (($$2211263) + ($$0214))|0; - $281 = (($$0212262) + 1)<<16>>16; - $282 = $281&65535; - $283 = ($282>>>0)<($170>>>0); - if ($283) { - $$0212262 = $281;$$0213261 = $274;$$2211263 = $280;$$2264 = $$3; - } else { - $$0213$lcssa = $274;$$2$lcssa = $$3;$$2211$lcssa = $280; - break; - } - } - } - $236 = (($$2211$lcssa) + ($$0213$lcssa))|0; - $237 = (($$0215267) + 1)<<16>>16; - $238 = $237&65535; - $239 = ($238>>>0)<($89>>>0); - if ($239) { - $$0215267 = $237;$$1210268 = $236;$$1269 = $$2$lcssa; - } else { - $$1$lcssa = $$2$lcssa;$155 = $87; - break; - } - } - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); -} -function _jar_xm_load_module($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0668761 = 0, $$0669766 = 0, $$0670765 = 0, $$0671$lcssa = 0, $$0671787 = 0, $$0672$lcssa = 0, $$0672786 = 0, $$0677769 = 0, $$0678785 = 0, $$0679755 = 0, $$0680753 = 0, $$0681752 = 0, $$0682783 = 0, $$0687 = 0, $$0688776 = 0, $$0689782 = 0, $$0762 = 0, $$1$lcssa = 0, $$1673777 = 0, $$1683 = 0; - var $$1778 = 0, $$2 = 0, $$2674756 = 0, $$2684 = 0, $$3$lcssa794 = 0, $$3675$lcssa = 0, $$3675770 = 0, $$3685 = 0, $$3757 = 0, $$4 = 0, $$4676 = 0, $$4686 = 0, $$5 = 0, $$ph700 = 0, $$ph701 = 0, $$ph707 = 0, $$ph708 = 0, $$ph714 = 0, $$ph715 = 0, $$ph721 = 0; - var $$ph722 = 0, $$ph729 = 0, $$ph730 = 0, $$ph731 = 0, $$ph740 = 0, $$pn = 0, $$pn693 = 0, $$pr = 0, $$sink = 0, $$sink694 = 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 $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, $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 $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, $470 = 0; - var $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, $489 = 0; - var $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, $506 = 0; - var $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, $524 = 0; - var $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, $542 = 0; - var $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, $560 = 0; - var $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, $579 = 0; - var $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, $597 = 0; - var $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, $611 = 0, $612 = 0, $613 = 0, $614 = 0; - var $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, $63 = 0, $630 = 0, $631 = 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.0, $769 = 0, $77 = 0, $770 = 0.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.0, $802 = 0, $803 = 0.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.0, $866 = 0.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.0, $882 = 0.0, $883 = 0, $884 = 0, $885 = 0; - var $886 = 0, $887 = 0, $888 = 0, $889 = 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, $exitcond793 = 0, $phitmp = 0, $phitmp804 = 0; - var $sext = 0, $sext690 = 0, $sext691 = 0, $sext692 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ((($0)) + 4|0); - _memcpy_pad($4,20,$1,$2,17); - $5 = ((($0)) + 25|0); - _memcpy_pad($5,20,$1,$2,38); - $6 = ($2>>>0)>(60); - if ($6) { - $7 = ((($1)) + 60|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($2|0)==(61); - if ($10) { - $$ph700 = 0;$$ph701 = $9; - label = 5; - } else { - $11 = ((($1)) + 61|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = $13 << 8; - $15 = $14 | $9; - $16 = ($2>>>0)>(62); - if ($16) { - $17 = ((($1)) + 62|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($2|0)==(63); - if ($20) { - $$ph700 = $19;$$ph701 = $15; - label = 5; - } else { - $23 = ((($1)) + 63|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $26 | $19; - $28 = $27 << 16; - $29 = $28 | $15; - $30 = ($2>>>0)>(64); - if ($30) { - $31 = ((($1)) + 64|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = ($2|0)==(65); - if ($34) { - $$ph707 = $33;$$ph708 = $29; - label = 8; - } else { - $37 = ((($1)) + 65|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = $39 << 8; - $41 = $40 | $33; - $42 = $41&65535; - $43 = ((($0)) + 46|0); - HEAP16[$43>>1] = $42; - $44 = ($2>>>0)>(66); - if ($44) { - $45 = ((($1)) + 66|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = ($2|0)==(67); - if ($48) { - $$ph714 = $47;$$ph715 = $29; - label = 11; - } else { - $51 = ((($1)) + 67|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = $53 << 8; - $55 = $54 | $47; - $56 = $55&65535; - $57 = ((($0)) + 48|0); - HEAP16[$57>>1] = $56; - $58 = ($2>>>0)>(68); - if ($58) { - $59 = ((($1)) + 68|0); - $60 = HEAP8[$59>>0]|0; - $61 = $60&255; - $62 = ($2|0)==(69); - if ($62) { - $$ph721 = $61;$$ph722 = $29; - label = 14; - } else { - $65 = ((($1)) + 69|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = $67 << 8; - $69 = $68 | $61; - $70 = $69&65535; - $71 = ((($0)) + 50|0); - HEAP16[$71>>1] = $70; - $72 = ($2>>>0)>(70); - if ($72) { - $73 = ((($1)) + 70|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = ($2|0)==(71); - if ($76) { - $$ph729 = $75;$$ph730 = $29;$$ph731 = $71; - label = 17; - } else { - $79 = ((($1)) + 71|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = $81 << 8; - $83 = $82 | $75; - $84 = $83&65535; - $85 = ((($0)) + 52|0); - HEAP16[$85>>1] = $84; - $86 = ($2>>>0)>(72); - if ($86) { - $87 = ((($1)) + 72|0); - $88 = HEAP8[$87>>0]|0; - $89 = $88&255; - $90 = ($2|0)==(73); - if ($90) { - $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = $89; - } else { - $91 = ((($1)) + 73|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $phitmp = $93 << 8; - $101 = $85;$147 = $29;$186 = $71;$95 = $phitmp;$96 = $89; - } - } else { - $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = 0; - } - } - } else { - $$ph729 = 0;$$ph730 = $29;$$ph731 = $71; - label = 17; - } - } - } else { - $$ph721 = 0;$$ph722 = $29; - label = 14; - } - } - } else { - $$ph714 = 0;$$ph715 = $29; - label = 11; - } - } - } else { - $$ph707 = 0;$$ph708 = $29; - label = 8; - } - } - } else { - $$ph700 = 0;$$ph701 = $15; - label = 5; - } - } - } else { - $$ph700 = 0;$$ph701 = 0; - label = 5; - } - if ((label|0) == 5) { - $21 = $$ph700 << 16; - $22 = $$ph701 | $21; - $$ph707 = 0;$$ph708 = $22; - label = 8; - } - if ((label|0) == 8) { - $35 = $$ph707&65535; - $36 = ((($0)) + 46|0); - HEAP16[$36>>1] = $35; - $$ph714 = 0;$$ph715 = $$ph708; - label = 11; - } - if ((label|0) == 11) { - $49 = $$ph714&65535; - $50 = ((($0)) + 48|0); - HEAP16[$50>>1] = $49; - $$ph721 = 0;$$ph722 = $$ph715; - label = 14; - } - if ((label|0) == 14) { - $63 = $$ph721&65535; - $64 = ((($0)) + 50|0); - HEAP16[$64>>1] = $63; - $$ph729 = 0;$$ph730 = $$ph722;$$ph731 = $64; - label = 17; - } - if ((label|0) == 17) { - $77 = $$ph729&65535; - $78 = ((($0)) + 52|0); - HEAP16[$78>>1] = $77; - $101 = $78;$147 = $$ph730;$186 = $$ph731;$95 = 0;$96 = 0; - } - $94 = $95 | $96; - $97 = $94&65535; - $98 = ((($0)) + 54|0); - HEAP16[$98>>1] = $97; - $99 = ((($0)) + 316|0); - HEAP32[$99>>2] = $3; - $100 = HEAP16[$101>>1]|0; - $102 = $100&65535; - $103 = $102 << 3; - $104 = (($3) + ($103)|0); - $105 = ((($0)) + 320|0); - HEAP32[$105>>2] = $104; - $106 = HEAP16[$98>>1]|0; - $107 = $106&65535; - $108 = ($107*280)|0; - $109 = (($104) + ($108)|0); - $110 = ($2>>>0)>(74); - if ($110) { - $112 = ((($1)) + 74|0); - $113 = HEAP8[$112>>0]|0; - $114 = ($2>>>0)>(76); - $115 = $113 & 1; - $116 = $115 ^ 1; - $117 = $116&255; - $118 = ((($0)) + 56|0); - HEAP32[$118>>2] = $117; - if ($114) { - $119 = ($2|0)==(77); - $120 = ((($1)) + 76|0); - $121 = HEAP8[$120>>0]|0; - $122 = $121&255; - if ($119) { - $$ph740 = $122; - label = 25; - } else { - $125 = ((($1)) + 77|0); - $126 = HEAP8[$125>>0]|0; - $127 = $126&255; - $128 = $127 << 8; - $129 = $128 | $122; - $130 = $129&65535; - $131 = ((($0)) + 328|0); - HEAP16[$131>>1] = $130; - $132 = ($2>>>0)>(78); - if ($132) { - $133 = ((($1)) + 78|0); - $134 = HEAP8[$133>>0]|0; - $135 = $134&255; - $136 = ($2|0)==(79); - if ($136) { - $141 = 0;$142 = $135; - } else { - $137 = ((($1)) + 79|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $phitmp804 = $139 << 8; - $141 = $phitmp804;$142 = $135; - } - } else { - $141 = 0;$142 = 0; - } - } - } else { - $$ph740 = 0; - label = 25; - } - } else { - $111 = ((($0)) + 56|0); - HEAP32[$111>>2] = 1; - $$ph740 = 0; - label = 25; - } - if ((label|0) == 25) { - $123 = $$ph740&65535; - $124 = ((($0)) + 328|0); - HEAP16[$124>>1] = $123; - $141 = 0;$142 = 0; - } - $140 = $141 | $142; - $143 = $140&65535; - $144 = ((($0)) + 330|0); - HEAP16[$144>>1] = $143; - $145 = ((($0)) + 60|0); - _memcpy_pad($145,256,$1,$2,80); - $146 = (($147) + 60)|0; - $148 = HEAP16[$101>>1]|0; - $149 = ($148<<16>>16)==(0); - if ($149) { - $$0671$lcssa = $109;$$0672$lcssa = $146; - } else { - $$0671787 = $109;$$0672786 = $146;$$0678785 = 0;$183 = 0; - while(1) { - $152 = (($$0672786) + 7)|0; - $153 = ($152>>>0)<($2>>>0); - if ($153) { - $154 = (($1) + ($152)|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $165 = $156; - } else { - $165 = 0; - } - $157 = (($$0672786) + 8)|0; - $158 = ($157>>>0)<($2>>>0); - if ($158) { - $159 = (($1) + ($157)|0); - $160 = HEAP8[$159>>0]|0; - $161 = $160&255; - $163 = $161; - } else { - $163 = 0; - } - $162 = $163 << 8; - $164 = $162 | $165; - $166 = HEAP32[$99>>2]|0; - $167 = (($$0672786) + 5)|0; - $168 = ($167>>>0)<($2>>>0); - if ($168) { - $169 = (($1) + ($167)|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $180 = $171; - } else { - $180 = 0; - } - $172 = (($$0672786) + 6)|0; - $173 = ($172>>>0)<($2>>>0); - if ($173) { - $174 = (($1) + ($172)|0); - $175 = HEAP8[$174>>0]|0; - $176 = $175&255; - $178 = $176; - } else { - $178 = 0; - } - $177 = $178 << 8; - $179 = $177 | $180; - $181 = $179&65535; - $182 = (($166) + ($183<<3)|0); - HEAP16[$182>>1] = $181; - $184 = (((($166) + ($183<<3)|0)) + 4|0); - HEAP32[$184>>2] = $$0671787; - $185 = HEAP16[$186>>1]|0; - $187 = $185&65535; - $188 = ($179*5)|0; - $189 = Math_imul($188, $187)|0; - $190 = (($$0671787) + ($189)|0); - $191 = ($$0672786>>>0)<($2>>>0); - if ($191) { - $192 = (($1) + ($$0672786)|0); - $193 = HEAP8[$192>>0]|0; - $194 = $193&255; - $203 = $194; - } else { - $203 = 0; - } - $195 = (($$0672786) + 1)|0; - $196 = ($195>>>0)<($2>>>0); - if ($196) { - $197 = (($1) + ($195)|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $201 = $199; - } else { - $201 = 0; - } - $200 = $201 << 8; - $202 = $200 | $203; - $204 = (($$0672786) + 2)|0; - $205 = ($204>>>0)<($2>>>0); - if ($205) { - $206 = (($1) + ($204)|0); - $207 = HEAP8[$206>>0]|0; - $208 = $207&255; - $217 = $208; - } else { - $217 = 0; - } - $209 = (($$0672786) + 3)|0; - $210 = ($209>>>0)<($2>>>0); - if ($210) { - $211 = (($1) + ($209)|0); - $212 = HEAP8[$211>>0]|0; - $213 = $212&255; - $215 = $213; - } else { - $215 = 0; - } - $214 = $215 << 8; - $216 = $214 | $217; - $218 = $216 << 16; - $219 = $202 | $218; - $220 = (($219) + ($$0672786))|0; - $221 = ($164|0)==(0); - if ($221) { - $222 = HEAP32[$184>>2]|0; - $223 = HEAP16[$182>>1]|0; - $224 = $223&65535; - $225 = ($224*5)|0; - $226 = HEAP16[$186>>1]|0; - $227 = $226&65535; - $228 = Math_imul($225, $227)|0; - _memset(($222|0),0,($228|0))|0; - } else { - $$0682783 = 0;$$0689782 = 0;$230 = 0; - while(1) { - $229 = (($230) + ($220))|0; - $231 = ($229>>>0)<($2>>>0); - do { - if ($231) { - $235 = (($1) + ($229)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = HEAP32[$184>>2]|0; - $239 = $$0689782&65535; - $240 = (($238) + (($239*5)|0)|0); - $241 = $237 & 128; - $242 = ($241|0)==(0); - if ($242) { - $308 = $237;$309 = $240;$318 = $238;$319 = $239; - label = 77; - } else { - $243 = (($$0682783) + 1)<<16>>16; - $244 = $237 & 1; - $245 = ($244|0)==(0); - if ($245) { - HEAP8[$240>>0] = 0; - $$1683 = $243; - } else { - $246 = $243&65535; - $247 = (($246) + ($220))|0; - $248 = ($247>>>0)<($2>>>0); - if ($248) { - $249 = (($1) + ($247)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $253 = $251; - } else { - $253 = 0; - } - $252 = $253&255; - HEAP8[$240>>0] = $252; - $254 = (($$0682783) + 2)<<16>>16; - $$1683 = $254; - } - $255 = $237 & 2; - $256 = ($255|0)==(0); - if ($256) { - $267 = (((($238) + (($239*5)|0)|0)) + 1|0); - HEAP8[$267>>0] = 0; - $$2684 = $$1683; - } else { - $257 = $$1683&65535; - $258 = (($257) + ($220))|0; - $259 = ($258>>>0)<($2>>>0); - if ($259) { - $260 = (($1) + ($258)|0); - $261 = HEAP8[$260>>0]|0; - $262 = $261&255; - $264 = $262; - } else { - $264 = 0; - } - $263 = $264&255; - $265 = (((($238) + (($239*5)|0)|0)) + 1|0); - HEAP8[$265>>0] = $263; - $266 = (($$1683) + 1)<<16>>16; - $$2684 = $266; - } - $268 = $237 & 4; - $269 = ($268|0)==(0); - if ($269) { - $280 = (((($238) + (($239*5)|0)|0)) + 2|0); - HEAP8[$280>>0] = 0; - $$3685 = $$2684; - } else { - $270 = $$2684&65535; - $271 = (($270) + ($220))|0; - $272 = ($271>>>0)<($2>>>0); - if ($272) { - $273 = (($1) + ($271)|0); - $274 = HEAP8[$273>>0]|0; - $275 = $274&255; - $277 = $275; - } else { - $277 = 0; - } - $276 = $277&255; - $278 = (((($238) + (($239*5)|0)|0)) + 2|0); - HEAP8[$278>>0] = $276; - $279 = (($$2684) + 1)<<16>>16; - $$3685 = $279; - } - $281 = $237 & 8; - $282 = ($281|0)==(0); - if ($282) { - $293 = (((($238) + (($239*5)|0)|0)) + 3|0); - HEAP8[$293>>0] = 0; - $$4686 = $$3685; - } else { - $283 = $$3685&65535; - $284 = (($283) + ($220))|0; - $285 = ($284>>>0)<($2>>>0); - if ($285) { - $286 = (($1) + ($284)|0); - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $290 = $288; - } else { - $290 = 0; - } - $289 = $290&255; - $291 = (((($238) + (($239*5)|0)|0)) + 3|0); - HEAP8[$291>>0] = $289; - $292 = (($$3685) + 1)<<16>>16; - $$4686 = $292; - } - $294 = $237 & 16; - $295 = ($294|0)==(0); - if ($295) { - $306 = (((($238) + (($239*5)|0)|0)) + 4|0); - HEAP8[$306>>0] = 0; - $$5 = $$4686; - break; - } - $296 = $$4686&65535; - $297 = (($296) + ($220))|0; - $298 = ($297>>>0)<($2>>>0); - if ($298) { - $299 = (($1) + ($297)|0); - $300 = HEAP8[$299>>0]|0; - $301 = $300&255; - $303 = $301; - } else { - $303 = 0; - } - $302 = $303&255; - $304 = (((($238) + (($239*5)|0)|0)) + 4|0); - HEAP8[$304>>0] = $302; - $305 = (($$4686) + 1)<<16>>16; - $$5 = $305; - } - } else { - $232 = HEAP32[$184>>2]|0; - $233 = $$0689782&65535; - $234 = (($232) + (($233*5)|0)|0); - $308 = 0;$309 = $234;$318 = $232;$319 = $233; - label = 77; - } - } while(0); - if ((label|0) == 77) { - label = 0; - $307 = $308&255; - HEAP8[$309>>0] = $307; - $310 = (($229) + 1)|0; - $311 = ($310>>>0)<($2>>>0); - if ($311) { - $312 = (($1) + ($310)|0); - $313 = HEAP8[$312>>0]|0; - $314 = $313&255; - $316 = $314; - } else { - $316 = 0; - } - $315 = $316&255; - $317 = (((($318) + (($319*5)|0)|0)) + 1|0); - HEAP8[$317>>0] = $315; - $320 = (($229) + 2)|0; - $321 = ($320>>>0)<($2>>>0); - if ($321) { - $322 = (($1) + ($320)|0); - $323 = HEAP8[$322>>0]|0; - $324 = $323&255; - $326 = $324; - } else { - $326 = 0; - } - $325 = $326&255; - $327 = (((($318) + (($319*5)|0)|0)) + 2|0); - HEAP8[$327>>0] = $325; - $328 = (($229) + 3)|0; - $329 = ($328>>>0)<($2>>>0); - if ($329) { - $330 = (($1) + ($328)|0); - $331 = HEAP8[$330>>0]|0; - $332 = $331&255; - $334 = $332; - } else { - $334 = 0; - } - $333 = $334&255; - $335 = (((($318) + (($319*5)|0)|0)) + 3|0); - HEAP8[$335>>0] = $333; - $336 = (($229) + 4)|0; - $337 = ($336>>>0)<($2>>>0); - if ($337) { - $338 = (($1) + ($336)|0); - $339 = HEAP8[$338>>0]|0; - $340 = $339&255; - $342 = $340; - } else { - $342 = 0; - } - $341 = $342&255; - $343 = (((($318) + (($319*5)|0)|0)) + 4|0); - HEAP8[$343>>0] = $341; - $344 = (($230) + 5)|0; - $345 = $344&65535; - $$5 = $345; - } - $346 = (($$0689782) + 1)<<16>>16; - $347 = $$5&65535; - $348 = ($347>>>0)<($164>>>0); - if ($348) { - $$0682783 = $$5;$$0689782 = $346;$230 = $347; - } else { - break; - } - } - } - $349 = (($220) + ($164))|0; - $350 = (($$0678785) + 1)<<16>>16; - $351 = $350&65535; - $352 = HEAP16[$101>>1]|0; - $353 = ($350&65535)<($352&65535); - if ($353) { - $$0671787 = $190;$$0672786 = $349;$$0678785 = $350;$183 = $351; - } else { - $$0671$lcssa = $190;$$0672$lcssa = $349; - break; - } - } - } - $150 = HEAP16[$98>>1]|0; - $151 = ($150<<16>>16)==(0); - if ($151) { - $$1$lcssa = $$0671$lcssa; - return ($$1$lcssa|0); - } else { - $$0688776 = 0;$$1673777 = $$0672$lcssa;$$1778 = $$0671$lcssa; - } - while(1) { - $354 = $$0688776&65535; - $355 = HEAP32[$105>>2]|0; - $356 = (($355) + (($354*280)|0)|0); - $357 = (($$1673777) + 4)|0; - _memcpy_pad($356,22,$1,$2,$357); - $358 = (($$1673777) + 27)|0; - $359 = ($358>>>0)<($2>>>0); - if ($359) { - $360 = (($1) + ($358)|0); - $361 = HEAP8[$360>>0]|0; - $362 = $361&255; - $371 = $362; - } else { - $371 = 0; - } - $363 = (($$1673777) + 28)|0; - $364 = ($363>>>0)<($2>>>0); - if ($364) { - $365 = (($1) + ($363)|0); - $366 = HEAP8[$365>>0]|0; - $367 = $366&255; - $369 = $367; - } else { - $369 = 0; - } - $368 = $369 << 8; - $370 = $368 | $371; - $372 = $370&65535; - $373 = (((($355) + (($354*280)|0)|0)) + 24|0); - HEAP16[$373>>1] = $372; - $374 = ($370|0)==(0); - if ($374) { - $629 = (((($355) + (($354*280)|0)|0)) + 276|0); - HEAP32[$629>>2] = 0; - $$0687 = 0;$$2 = $$1778; - } else { - $375 = (($$1673777) + 29)|0; - $376 = ($375>>>0)<($2>>>0); - if ($376) { - $377 = (($1) + ($375)|0); - $378 = HEAP8[$377>>0]|0; - $379 = $378&255; - $388 = $379; - } else { - $388 = 0; - } - $380 = (($$1673777) + 30)|0; - $381 = ($380>>>0)<($2>>>0); - if ($381) { - $382 = (($1) + ($380)|0); - $383 = HEAP8[$382>>0]|0; - $384 = $383&255; - $386 = $384; - } else { - $386 = 0; - } - $385 = $386 << 8; - $387 = $385 | $388; - $389 = (($$1673777) + 31)|0; - $390 = ($389>>>0)<($2>>>0); - if ($390) { - $391 = (($1) + ($389)|0); - $392 = HEAP8[$391>>0]|0; - $393 = $392&255; - $402 = $393; - } else { - $402 = 0; - } - $394 = (($$1673777) + 32)|0; - $395 = ($394>>>0)<($2>>>0); - if ($395) { - $396 = (($1) + ($394)|0); - $397 = HEAP8[$396>>0]|0; - $398 = $397&255; - $400 = $398; - } else { - $400 = 0; - } - $399 = $400 << 8; - $401 = $399 | $402; - $403 = $401 << 16; - $404 = $387 | $403; - $405 = (((($355) + (($354*280)|0)|0)) + 26|0); - $406 = (($$1673777) + 33)|0; - _memcpy_pad($405,96,$1,$2,$406); - $407 = (($$1673777) + 225)|0; - $408 = ($407>>>0)<($2>>>0); - if ($408) { - $409 = (($1) + ($407)|0); - $410 = HEAP8[$409>>0]|0; - $411 = $410&255; - $413 = $411; - } else { - $413 = 0; - } - $412 = $413&255; - $414 = (((($355) + (($354*280)|0)|0)) + 172|0); - HEAP8[$414>>0] = $412; - $415 = (($$1673777) + 226)|0; - $416 = ($415>>>0)<($2>>>0); - if ($416) { - $417 = (($1) + ($415)|0); - $418 = HEAP8[$417>>0]|0; - $419 = $418&255; - $421 = $419; - } else { - $421 = 0; - } - $420 = $421&255; - $422 = (((($355) + (($354*280)|0)|0)) + 236|0); - HEAP8[$422>>0] = $420; - $423 = HEAP8[$414>>0]|0; - $424 = ($423<<24>>24)==(0); - if ($424) { - $427 = $420; - } else { - $425 = (($$1673777) + 129)|0; - $$0681752 = 0;$430 = 0; - while(1) { - $429 = $430 << 2; - $431 = (($425) + ($429))|0; - $432 = ($431>>>0)<($2>>>0); - if ($432) { - $433 = (($1) + ($431)|0); - $434 = HEAP8[$433>>0]|0; - $435 = $434&255; - $444 = $435; - } else { - $444 = 0; - } - $436 = (($431) + 1)|0; - $437 = ($436>>>0)<($2>>>0); - if ($437) { - $438 = (($1) + ($436)|0); - $439 = HEAP8[$438>>0]|0; - $440 = $439&255; - $442 = $440; - } else { - $442 = 0; - } - $441 = $442 << 8; - $443 = $441 | $444; - $445 = $443&65535; - $446 = ((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0); - HEAP16[$446>>1] = $445; - $447 = (($431) + 2)|0; - $448 = ($447>>>0)<($2>>>0); - if ($448) { - $449 = (($1) + ($447)|0); - $450 = HEAP8[$449>>0]|0; - $451 = $450&255; - $460 = $451; - } else { - $460 = 0; - } - $452 = (($431) + 3)|0; - $453 = ($452>>>0)<($2>>>0); - if ($453) { - $454 = (($1) + ($452)|0); - $455 = HEAP8[$454>>0]|0; - $456 = $455&255; - $458 = $456; - } else { - $458 = 0; - } - $457 = $458 << 8; - $459 = $457 | $460; - $461 = $459&65535; - $462 = ((((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0)) + 2|0); - HEAP16[$462>>1] = $461; - $463 = (($$0681752) + 1)<<24>>24; - $464 = $463&255; - $465 = HEAP8[$414>>0]|0; - $466 = ($463&255)<($465&255); - if ($466) { - $$0681752 = $463;$430 = $464; - } else { - break; - } - } - $$pr = HEAP8[$422>>0]|0; - $427 = $$pr; - } - $426 = ($427<<24>>24)==(0); - if (!($426)) { - $428 = (($$1673777) + 177)|0; - $$0680753 = 0;$470 = 0; - while(1) { - $469 = $470 << 2; - $471 = (($428) + ($469))|0; - $472 = ($471>>>0)<($2>>>0); - if ($472) { - $473 = (($1) + ($471)|0); - $474 = HEAP8[$473>>0]|0; - $475 = $474&255; - $484 = $475; - } else { - $484 = 0; - } - $476 = (($471) + 1)|0; - $477 = ($476>>>0)<($2>>>0); - if ($477) { - $478 = (($1) + ($476)|0); - $479 = HEAP8[$478>>0]|0; - $480 = $479&255; - $482 = $480; - } else { - $482 = 0; - } - $481 = $482 << 8; - $483 = $481 | $484; - $485 = $483&65535; - $486 = ((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0); - HEAP16[$486>>1] = $485; - $487 = (($471) + 2)|0; - $488 = ($487>>>0)<($2>>>0); - if ($488) { - $489 = (($1) + ($487)|0); - $490 = HEAP8[$489>>0]|0; - $491 = $490&255; - $500 = $491; - } else { - $500 = 0; - } - $492 = (($471) + 3)|0; - $493 = ($492>>>0)<($2>>>0); - if ($493) { - $494 = (($1) + ($492)|0); - $495 = HEAP8[$494>>0]|0; - $496 = $495&255; - $498 = $496; - } else { - $498 = 0; - } - $497 = $498 << 8; - $499 = $497 | $500; - $501 = $499&65535; - $502 = ((((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0)) + 2|0); - HEAP16[$502>>1] = $501; - $503 = (($$0680753) + 1)<<24>>24; - $504 = $503&255; - $505 = HEAP8[$422>>0]|0; - $506 = ($503&255)<($505&255); - if ($506) { - $$0680753 = $503;$470 = $504; - } else { - break; - } - } - } - $467 = (($$1673777) + 227)|0; - $468 = ($467>>>0)<($2>>>0); - if ($468) { - $507 = (($1) + ($467)|0); - $508 = HEAP8[$507>>0]|0; - $509 = $508&255; - $511 = $509; - } else { - $511 = 0; - } - $510 = $511&255; - $512 = (((($355) + (($354*280)|0)|0)) + 173|0); - HEAP8[$512>>0] = $510; - $513 = (($$1673777) + 228)|0; - $514 = ($513>>>0)<($2>>>0); - if ($514) { - $515 = (($1) + ($513)|0); - $516 = HEAP8[$515>>0]|0; - $517 = $516&255; - $519 = $517; - } else { - $519 = 0; - } - $518 = $519&255; - $520 = (((($355) + (($354*280)|0)|0)) + 174|0); - HEAP8[$520>>0] = $518; - $521 = (($$1673777) + 229)|0; - $522 = ($521>>>0)<($2>>>0); - if ($522) { - $523 = (($1) + ($521)|0); - $524 = HEAP8[$523>>0]|0; - $525 = $524&255; - $527 = $525; - } else { - $527 = 0; - } - $526 = $527&255; - $528 = (((($355) + (($354*280)|0)|0)) + 175|0); - HEAP8[$528>>0] = $526; - $529 = (($$1673777) + 230)|0; - $530 = ($529>>>0)<($2>>>0); - if ($530) { - $531 = (($1) + ($529)|0); - $532 = HEAP8[$531>>0]|0; - $533 = $532&255; - $535 = $533; - } else { - $535 = 0; - } - $534 = $535&255; - $536 = (((($355) + (($354*280)|0)|0)) + 237|0); - HEAP8[$536>>0] = $534; - $537 = (($$1673777) + 231)|0; - $538 = ($537>>>0)<($2>>>0); - if ($538) { - $539 = (($1) + ($537)|0); - $540 = HEAP8[$539>>0]|0; - $541 = $540&255; - $543 = $541; - } else { - $543 = 0; - } - $542 = $543&255; - $544 = (((($355) + (($354*280)|0)|0)) + 238|0); - HEAP8[$544>>0] = $542; - $545 = (($$1673777) + 232)|0; - $546 = ($545>>>0)<($2>>>0); - if ($546) { - $547 = (($1) + ($545)|0); - $548 = HEAP8[$547>>0]|0; - $549 = $548&255; - $551 = $549; - } else { - $551 = 0; - } - $550 = $551&255; - $552 = (((($355) + (($354*280)|0)|0)) + 239|0); - HEAP8[$552>>0] = $550; - $553 = (($$1673777) + 233)|0; - $554 = ($553>>>0)<($2>>>0); - if ($554) { - $555 = (($1) + ($553)|0); - $556 = HEAP8[$555>>0]|0; - $557 = $556&255; - $559 = $557; - } else { - $559 = 0; - } - $558 = $559 & 1; - $560 = (((($355) + (($354*280)|0)|0)) + 176|0); - HEAP32[$560>>2] = $558; - $561 = $559 & 2; - $562 = (((($355) + (($354*280)|0)|0)) + 180|0); - HEAP32[$562>>2] = $561; - $563 = $559 & 4; - $564 = (((($355) + (($354*280)|0)|0)) + 184|0); - HEAP32[$564>>2] = $563; - $565 = (($$1673777) + 234)|0; - $566 = ($565>>>0)<($2>>>0); - if ($566) { - $567 = (($1) + ($565)|0); - $568 = HEAP8[$567>>0]|0; - $569 = $568&255; - $571 = $569; - } else { - $571 = 0; - } - $570 = $571 & 1; - $572 = (((($355) + (($354*280)|0)|0)) + 240|0); - HEAP32[$572>>2] = $570; - $573 = $571 & 2; - $574 = (((($355) + (($354*280)|0)|0)) + 244|0); - HEAP32[$574>>2] = $573; - $575 = $571 & 4; - $576 = (((($355) + (($354*280)|0)|0)) + 248|0); - HEAP32[$576>>2] = $575; - $577 = (($$1673777) + 235)|0; - $578 = ($577>>>0)<($2>>>0); - L213: do { - if ($578) { - $580 = (($1) + ($577)|0); - $581 = HEAP8[$580>>0]|0; - $582 = $581&255; - $583 = (((($355) + (($354*280)|0)|0)) + 252|0); - HEAP32[$583>>2] = $582; - switch ($581<<24>>24) { - case 2: { - $$sink694 = 1; - break; - } - case 1: { - $$sink694 = 2; - break; - } - default: { - break L213; - } - } - HEAP32[$583>>2] = $$sink694; - } else { - $579 = (((($355) + (($354*280)|0)|0)) + 252|0); - HEAP32[$579>>2] = 0; - } - } while(0); - $584 = (($$1673777) + 236)|0; - $585 = ($584>>>0)<($2>>>0); - if ($585) { - $586 = (($1) + ($584)|0); - $587 = HEAP8[$586>>0]|0; - $588 = $587&255; - $590 = $588; - } else { - $590 = 0; - } - $589 = $590&255; - $591 = (((($355) + (($354*280)|0)|0)) + 256|0); - HEAP8[$591>>0] = $589; - $592 = (($$1673777) + 237)|0; - $593 = ($592>>>0)<($2>>>0); - if ($593) { - $594 = (($1) + ($592)|0); - $595 = HEAP8[$594>>0]|0; - $596 = $595&255; - $598 = $596; - } else { - $598 = 0; - } - $597 = $598&255; - $599 = (((($355) + (($354*280)|0)|0)) + 257|0); - HEAP8[$599>>0] = $597; - $600 = (($$1673777) + 238)|0; - $601 = ($600>>>0)<($2>>>0); - if ($601) { - $602 = (($1) + ($600)|0); - $603 = HEAP8[$602>>0]|0; - $604 = $603&255; - $606 = $604; - } else { - $606 = 0; - } - $605 = $606&255; - $607 = (((($355) + (($354*280)|0)|0)) + 258|0); - HEAP8[$607>>0] = $605; - $608 = (($$1673777) + 239)|0; - $609 = ($608>>>0)<($2>>>0); - if ($609) { - $610 = (($1) + ($608)|0); - $611 = HEAP8[$610>>0]|0; - $612 = $611&255; - $621 = $612; - } else { - $621 = 0; - } - $613 = (($$1673777) + 240)|0; - $614 = ($613>>>0)<($2>>>0); - if ($614) { - $615 = (($1) + ($613)|0); - $616 = HEAP8[$615>>0]|0; - $617 = $616&255; - $619 = $617; - } else { - $619 = 0; - } - $618 = $619 << 8; - $620 = $618 | $621; - $622 = $620&65535; - $623 = (((($355) + (($354*280)|0)|0)) + 260|0); - HEAP16[$623>>1] = $622; - $624 = (((($355) + (($354*280)|0)|0)) + 276|0); - HEAP32[$624>>2] = $$1778; - $625 = HEAP16[$373>>1]|0; - $626 = $625&65535; - $627 = ($626*80)|0; - $628 = (($$1778) + ($627)|0); - $$0687 = $404;$$2 = $628; - } - $630 = ($$1673777>>>0)<($2>>>0); - if ($630) { - $631 = (($1) + ($$1673777)|0); - $632 = HEAP8[$631>>0]|0; - $633 = $632&255; - $642 = $633; - } else { - $642 = 0; - } - $634 = (($$1673777) + 1)|0; - $635 = ($634>>>0)<($2>>>0); - if ($635) { - $636 = (($1) + ($634)|0); - $637 = HEAP8[$636>>0]|0; - $638 = $637&255; - $640 = $638; - } else { - $640 = 0; - } - $639 = $640 << 8; - $641 = $639 | $642; - $643 = (($$1673777) + 2)|0; - $644 = ($643>>>0)<($2>>>0); - if ($644) { - $645 = (($1) + ($643)|0); - $646 = HEAP8[$645>>0]|0; - $647 = $646&255; - $656 = $647; - } else { - $656 = 0; - } - $648 = (($$1673777) + 3)|0; - $649 = ($648>>>0)<($2>>>0); - if ($649) { - $650 = (($1) + ($648)|0); - $651 = HEAP8[$650>>0]|0; - $652 = $651&255; - $654 = $652; - } else { - $654 = 0; - } - $653 = $654 << 8; - $655 = $653 | $656; - $657 = $655 << 16; - $658 = $641 | $657; - $659 = (($658) + ($$1673777))|0; - $660 = HEAP16[$373>>1]|0; - $661 = ($660<<16>>16)==(0); - if ($661) { - $$3$lcssa794 = $$2;$$3675$lcssa = $659; - } else { - $662 = (((($355) + (($354*280)|0)|0)) + 276|0); - $$0679755 = 0;$$2674756 = $659;$$3757 = $$2; - while(1) { - $666 = $$0679755&65535; - $667 = HEAP32[$662>>2]|0; - $668 = ($$2674756>>>0)<($2>>>0); - if ($668) { - $669 = (($1) + ($$2674756)|0); - $670 = HEAP8[$669>>0]|0; - $671 = $670&255; - $680 = $671; - } else { - $680 = 0; - } - $672 = (($$2674756) + 1)|0; - $673 = ($672>>>0)<($2>>>0); - if ($673) { - $674 = (($1) + ($672)|0); - $675 = HEAP8[$674>>0]|0; - $676 = $675&255; - $678 = $676; - } else { - $678 = 0; - } - $677 = $678 << 8; - $679 = $677 | $680; - $681 = (($$2674756) + 2)|0; - $682 = ($681>>>0)<($2>>>0); - if ($682) { - $683 = (($1) + ($681)|0); - $684 = HEAP8[$683>>0]|0; - $685 = $684&255; - $694 = $685; - } else { - $694 = 0; - } - $686 = (($$2674756) + 3)|0; - $687 = ($686>>>0)<($2>>>0); - if ($687) { - $688 = (($1) + ($686)|0); - $689 = HEAP8[$688>>0]|0; - $690 = $689&255; - $692 = $690; - } else { - $692 = 0; - } - $691 = $692 << 8; - $693 = $691 | $694; - $695 = $693 << 16; - $696 = $679 | $695; - $697 = (((($667) + (($666*80)|0)|0)) + 24|0); - HEAP32[$697>>2] = $696; - $698 = (($$2674756) + 4)|0; - $699 = ($698>>>0)<($2>>>0); - if ($699) { - $700 = (($1) + ($698)|0); - $701 = HEAP8[$700>>0]|0; - $702 = $701&255; - $711 = $702; - } else { - $711 = 0; - } - $703 = (($$2674756) + 5)|0; - $704 = ($703>>>0)<($2>>>0); - if ($704) { - $705 = (($1) + ($703)|0); - $706 = HEAP8[$705>>0]|0; - $707 = $706&255; - $709 = $707; - } else { - $709 = 0; - } - $708 = $709 << 8; - $710 = $708 | $711; - $712 = (($$2674756) + 6)|0; - $713 = ($712>>>0)<($2>>>0); - if ($713) { - $714 = (($1) + ($712)|0); - $715 = HEAP8[$714>>0]|0; - $716 = $715&255; - $725 = $716; - } else { - $725 = 0; - } - $717 = (($$2674756) + 7)|0; - $718 = ($717>>>0)<($2>>>0); - if ($718) { - $719 = (($1) + ($717)|0); - $720 = HEAP8[$719>>0]|0; - $721 = $720&255; - $723 = $721; - } else { - $723 = 0; - } - $722 = $723 << 8; - $724 = $722 | $725; - $726 = $724 << 16; - $727 = $710 | $726; - $728 = (((($667) + (($666*80)|0)|0)) + 28|0); - HEAP32[$728>>2] = $727; - $729 = (($$2674756) + 8)|0; - $730 = ($729>>>0)<($2>>>0); - if ($730) { - $731 = (($1) + ($729)|0); - $732 = HEAP8[$731>>0]|0; - $733 = $732&255; - $742 = $733; - } else { - $742 = 0; - } - $734 = (($$2674756) + 9)|0; - $735 = ($734>>>0)<($2>>>0); - if ($735) { - $736 = (($1) + ($734)|0); - $737 = HEAP8[$736>>0]|0; - $738 = $737&255; - $740 = $738; - } else { - $740 = 0; - } - $739 = $740 << 8; - $741 = $739 | $742; - $743 = (($$2674756) + 10)|0; - $744 = ($743>>>0)<($2>>>0); - if ($744) { - $745 = (($1) + ($743)|0); - $746 = HEAP8[$745>>0]|0; - $747 = $746&255; - $756 = $747; - } else { - $756 = 0; - } - $748 = (($$2674756) + 11)|0; - $749 = ($748>>>0)<($2>>>0); - if ($749) { - $750 = (($1) + ($748)|0); - $751 = HEAP8[$750>>0]|0; - $752 = $751&255; - $754 = $752; - } else { - $754 = 0; - } - $753 = $754 << 8; - $755 = $753 | $756; - $757 = $755 << 16; - $758 = $741 | $757; - $759 = (((($667) + (($666*80)|0)|0)) + 32|0); - HEAP32[$759>>2] = $758; - $760 = HEAP32[$728>>2]|0; - $761 = (($758) + ($760))|0; - $762 = (((($667) + (($666*80)|0)|0)) + 36|0); - HEAP32[$762>>2] = $761; - $763 = (($$2674756) + 12)|0; - $764 = ($763>>>0)<($2>>>0); - if ($764) { - $765 = (($1) + ($763)|0); - $766 = HEAP8[$765>>0]|0; - $767 = $766&255; - $769 = $767; - } else { - $769 = 0; - } - $768 = (+($769|0)); - $770 = $768 * 0.015625; - $771 = (((($667) + (($666*80)|0)|0)) + 40|0); - HEAPF32[$771>>2] = $770; - $772 = (($$2674756) + 13)|0; - $773 = ($772>>>0)<($2>>>0); - if ($773) { - $774 = (($1) + ($772)|0); - $775 = HEAP8[$774>>0]|0; - $776 = $775&255; - $778 = $776; - } else { - $778 = 0; - } - $777 = $778&255; - $779 = (((($667) + (($666*80)|0)|0)) + 44|0); - HEAP8[$779>>0] = $777; - $780 = (($$2674756) + 14)|0; - $781 = ($780>>>0)<($2>>>0); - do { - if ($781) { - $782 = (($1) + ($780)|0); - $783 = HEAP8[$782>>0]|0; - $784 = $783&255; - $785 = $784 & 3; - $786 = ($785|0)==(0); - if ($786) { - $889 = $784; - label = 204; - break; - } - $788 = ($785|0)==(1); - $789 = (((($667) + (($666*80)|0)|0)) + 48|0); - $$sink = $788 ? 1 : 2; - HEAP32[$789>>2] = $$sink; - $791 = $784; - } else { - $889 = 0; - label = 204; - } - } while(0); - if ((label|0) == 204) { - label = 0; - $787 = (((($667) + (($666*80)|0)|0)) + 48|0); - HEAP32[$787>>2] = 0; - $791 = $889; - } - $790 = $791 >>> 1; - $792 = $790 & 8; - $793 = (($792) + 8)|0; - $794 = $793&255; - $795 = (((($667) + (($666*80)|0)|0)) + 23|0); - HEAP8[$795>>0] = $794; - $796 = (($$2674756) + 15)|0; - $797 = ($796>>>0)<($2>>>0); - if ($797) { - $798 = (($1) + ($796)|0); - $799 = HEAP8[$798>>0]|0; - $800 = $799&255; - $802 = $800; - } else { - $802 = 0; - } - $801 = (+($802|0)); - $803 = $801 / 255.0; - $804 = (((($667) + (($666*80)|0)|0)) + 52|0); - HEAPF32[$804>>2] = $803; - $805 = (($$2674756) + 16)|0; - $806 = ($805>>>0)<($2>>>0); - if ($806) { - $807 = (($1) + ($805)|0); - $808 = HEAP8[$807>>0]|0; - $809 = $808&255; - $811 = $809; - } else { - $811 = 0; - } - $810 = $811&255; - $812 = (((($667) + (($666*80)|0)|0)) + 56|0); - HEAP8[$812>>0] = $810; - $813 = (($667) + (($666*80)|0)|0); - _memcpy_pad($813,22,$1,$2,18); - $814 = (((($667) + (($666*80)|0)|0)) + 72|0); - HEAP32[$814>>2] = $$3757; - $815 = HEAP8[$795>>0]|0; - $816 = ($815<<24>>24)==(16); - $817 = HEAP32[$697>>2]|0; - if ($816) { - $818 = $817 << 1; - $819 = HEAP32[$728>>2]|0; - $820 = $819 >>> 1; - HEAP32[$728>>2] = $820; - $821 = HEAP32[$759>>2]|0; - $822 = $821 >>> 1; - HEAP32[$759>>2] = $822; - $823 = HEAP32[$762>>2]|0; - $824 = $823 >>> 1; - HEAP32[$762>>2] = $824; - $825 = HEAP32[$697>>2]|0; - $826 = $825 >>> 1; - HEAP32[$697>>2] = $826; - $$pn693 = $818; - } else { - $827 = $817 << 2; - $$pn693 = $827; - } - $$4 = (($$3757) + ($$pn693)|0); - $828 = (($$2674756) + ($$0687))|0; - $829 = (($$0679755) + 1)<<16>>16; - $664 = HEAP16[$373>>1]|0; - $830 = ($829&65535)<($664&65535); - if ($830) { - $$0679755 = $829;$$2674756 = $828;$$3757 = $$4; - } else { - break; - } - } - $663 = ($664<<16>>16)==(0); - if ($663) { - $$3$lcssa794 = $$4;$$3675$lcssa = $828; - } else { - $665 = (((($355) + (($354*280)|0)|0)) + 276|0); - $$0677769 = 0;$$3675770 = $828; - while(1) { - $834 = $$0677769&65535; - $835 = HEAP32[$665>>2]|0; - $836 = (((($835) + (($834*80)|0)|0)) + 24|0); - $837 = HEAP32[$836>>2]|0; - $838 = (((($835) + (($834*80)|0)|0)) + 23|0); - $839 = HEAP8[$838>>0]|0; - $840 = ($839<<24>>24)==(16); - $841 = ($837|0)!=(0); - if ($840) { - if ($841) { - $843 = (((($835) + (($834*80)|0)|0)) + 72|0); - $$0669766 = 0;$$0670765 = 0; - while(1) { - $sext691 = $$0670765 << 16; - $846 = $sext691 >> 16; - $847 = $$0669766 << 1; - $848 = (($847) + ($$3675770))|0; - $849 = ($848>>>0)<($2>>>0); - if ($849) { - $850 = (($1) + ($848)|0); - $851 = HEAP8[$850>>0]|0; - $852 = $851&255; - $861 = $852; - } else { - $861 = 0; - } - $853 = (($848) + 1)|0; - $854 = ($853>>>0)<($2>>>0); - if ($854) { - $855 = (($1) + ($853)|0); - $856 = HEAP8[$855>>0]|0; - $857 = $856&255; - $859 = $857; - } else { - $859 = 0; - } - $858 = $859 << 8; - $860 = $858 | $861; - $sext692 = $860 << 16; - $862 = $sext692 >> 16; - $863 = (($862) + ($846))|0; - $864 = $863&65535; - $865 = (+($864<<16>>16)); - $866 = $865 * 3.0517578125E-5; - $867 = HEAP32[$843>>2]|0; - $868 = (($867) + ($$0669766<<2)|0); - HEAPF32[$868>>2] = $866; - $869 = (($$0669766) + 1)|0; - $exitcond793 = ($869|0)==($837|0); - if ($exitcond793) { - break; - } else { - $$0669766 = $869;$$0670765 = $863; - } - } - } - $844 = HEAP32[$836>>2]|0; - $845 = $844 << 1; - $$pn = $845; - } else { - if ($841) { - $842 = (((($835) + (($834*80)|0)|0)) + 72|0); - $$0668761 = 0;$$0762 = 0; - while(1) { - $sext = $$0668761 << 24; - $871 = $sext >> 24; - $872 = (($$0762) + ($$3675770))|0; - $873 = ($872>>>0)<($2>>>0); - if ($873) { - $874 = (($1) + ($872)|0); - $875 = HEAP8[$874>>0]|0; - $876 = $875&255; - $877 = $876; - } else { - $877 = 0; - } - $sext690 = $877 << 24; - $878 = $sext690 >> 24; - $879 = (($878) + ($871))|0; - $880 = $879&255; - $881 = (+($880<<24>>24)); - $882 = $881 * 0.0078125; - $883 = HEAP32[$842>>2]|0; - $884 = (($883) + ($$0762<<2)|0); - HEAPF32[$884>>2] = $882; - $885 = (($$0762) + 1)|0; - $exitcond = ($885|0)==($837|0); - if ($exitcond) { - break; - } else { - $$0668761 = $879;$$0762 = $885; - } - } - } - $870 = HEAP32[$836>>2]|0; - $$pn = $870; - } - $$4676 = (($$pn) + ($$3675770))|0; - $886 = (($$0677769) + 1)<<16>>16; - $887 = HEAP16[$373>>1]|0; - $888 = ($886&65535)<($887&65535); - if ($888) { - $$0677769 = $886;$$3675770 = $$4676; - } else { - $$3$lcssa794 = $$4;$$3675$lcssa = $$4676; - break; - } - } - } - } - $831 = (($$0688776) + 1)<<16>>16; - $832 = HEAP16[$98>>1]|0; - $833 = ($831&65535)<($832&65535); - if ($833) { - $$0688776 = $831;$$1673777 = $$3675$lcssa;$$1778 = $$3$lcssa794; - } else { - $$1$lcssa = $$3$lcssa794; - break; - } - } - return ($$1$lcssa|0); -} -function _jar_xm_check_sanity_postload($0) { - $0 = $0|0; - var $$01520 = 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, $or$cond = 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; - $1 = ((($0)) + 46|0); - $2 = HEAP16[$1>>1]|0; - $3 = ($2<<16>>16)==(0); - if ($3) { - $26 = 0; - STACKTOP = sp;return ($26|0); - } - $4 = $2&65535; - $5 = ((($0)) + 52|0); - $6 = HEAP32[1039]|0; - $$01520 = 0;$16 = $4;$18 = $2;$8 = 0; - while(1) { - $7 = (((($0)) + 60|0) + ($8)|0); - $9 = HEAP8[$7>>0]|0; - $10 = $9&255; - $11 = HEAP16[$5>>1]|0; - $12 = $11&65535; - $13 = ($10>>>0)<($12>>>0); - if (!($13)) { - $14 = (($8) + 1)|0; - $15 = ($14|0)==($16|0); - $17 = ($18&65535)>(1); - $or$cond = $17 & $15; - if (!($or$cond)) { - break; - } - $19 = (($18) + -1)<<16>>16; - HEAP16[$1>>1] = $19; - HEAP32[$vararg_buffer>>2] = 9949; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - (_fprintf($6,9911,$vararg_buffer)|0); - (_fflush($6)|0); - } - $20 = (($$01520) + 1)<<24>>24; - $21 = $20&255; - $22 = HEAP16[$1>>1]|0; - $23 = $22&65535; - $24 = ($21>>>0)<($23>>>0); - if ($24) { - $$01520 = $20;$16 = $23;$18 = $22;$8 = $21; - } else { - $26 = 0; - label = 8; - break; - } - } - if ((label|0) == 8) { - STACKTOP = sp;return ($26|0); - } - HEAP32[$vararg_buffer2>>2] = 9949; - $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $8; - $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); - HEAP32[$vararg_ptr6>>2] = $10; - (_fprintf($6,9978,$vararg_buffer2)|0); - $25 = HEAP32[1039]|0; - (_fflush($25)|0); - $26 = 1; - STACKTOP = sp;return ($26|0); -} -function _jar_xm_free_context($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - _free($1); - return; -} -function _memcpy_pad($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($3>>>0)<($4>>>0); - $6 = (($3) - ($4))|0; - $$ = $5 ? 0 : $6; - $7 = ($$>>>0)>($1>>>0); - $8 = $7 ? $1 : $$; - $9 = (($2) + ($4)|0); - _memcpy(($0|0),($9|0),($8|0))|0; - $10 = (($0) + ($8)|0); - $11 = (($1) - ($8))|0; - _memset(($10|0),0,($11|0))|0; - return; -} -function _jar_xm_set_max_loop_count($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 385|0); - HEAP8[$2>>0] = $1; - return; -} -function _jar_xm_get_loop_count($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 384|0); - $2 = HEAP8[$1>>0]|0; - return ($2|0); -} -function _jar_xm_get_remaining_samples($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.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_jar_xm_get_loop_count($0)|0); - _jar_xm_set_max_loop_count($0,0); - $2 = (_jar_xm_get_loop_count($0)|0); - $3 = ($2<<24>>24)==($1<<24>>24); - if (!($3)) { - $15 = 0;$16 = 0; - $14 = ((($0)) + 384|0); - HEAP8[$14>>0] = $1; - tempRet0 = ($15); - return ($16|0); - } - $4 = ((($0)) + 352|0); - $6 = 0;$7 = 0; - while(1) { - $5 = +HEAPF32[$4>>2]; - $8 = (+($6>>>0)) + (4294967296.0*(+($7>>>0))); - $9 = $8 + $5; - $10 = (~~$9)>>>0; - $11 = +Math_abs($9) >= 1.0 ? $9 > 0.0 ? (~~+Math_min(+Math_floor($9 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($9 - +(~~$9 >>> 0)) / 4294967296.0) >>> 0 : 0; - HEAPF32[$4>>2] = 0.0; - _jar_xm_tick($0); - $12 = (_jar_xm_get_loop_count($0)|0); - $13 = ($12<<24>>24)==($1<<24>>24); - if ($13) { - $6 = $10;$7 = $11; - } else { - $15 = $11;$16 = $10; - break; - } - } - $14 = ((($0)) + 384|0); - HEAP8[$14>>0] = $1; - tempRet0 = ($15); - return ($16|0); -} -function _jar_xm_create_context_from_file($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$1 = 0, $$1$ph = 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, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_fopen($2,11031)|0); - $4 = ($3|0)==(0|0); - L1: do { - if ($4) { - $5 = HEAP32[1039]|0; - (_fwrite(10068,25,1,$5)|0); - (_fflush($5)|0); - $$1$ph = 3; - } else { - (_fseek($3,0,2)|0); - $6 = (_ftell($3)|0); - _rewind($3); - $7 = ($6|0)==(-1); - if ($7) { - (_fclose($3)|0); - $8 = HEAP32[1039]|0; - (_fwrite(10094,14,1,$8)|0); - (_fflush($8)|0); - $$1$ph = 4; - break; - } - $9 = (($6) + 1)|0; - $10 = (_malloc($9)|0); - $11 = (_fread($10,1,$6,$3)|0); - $12 = ($11>>>0)<($6>>>0); - (_fclose($3)|0); - if ($12) { - $13 = HEAP32[1039]|0; - (_fwrite(10109,14,1,$13)|0); - (_fflush($13)|0); - $$1$ph = 5; - break; - } - $14 = (_jar_xm_create_context_safe($0,$10,$6,$1)|0); - switch ($14|0) { - case 1: { - $15 = HEAP32[1039]|0; - (_fwrite(10124,45,1,$15)|0); - (_fflush($15)|0); - $$1$ph = 1; - break L1; - break; - } - case 2: { - $16 = HEAP32[1039]|0; - (_fwrite(10170,40,1,$16)|0); - (_fflush($16)|0); - _exit(1); - // unreachable; - break; - } - case 0: { - $$1 = 0; - return ($$1|0); - break; - } - default: { - $17 = HEAP32[1039]|0; - (_fwrite(10211,40,1,$17)|0); - (_fflush($17)|0); - _exit(1); - // unreachable; - } - } - } - } while(0); - HEAP32[$0>>2] = 0; - $$1 = $$1$ph; - return ($$1|0); -} function _InitAudioDevice() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; sp = STACKTOP; @@ -23352,7 +17778,7 @@ function _InitAudioDevice() { $0 = (_alcOpenDevice((0|0))|0); $1 = ($0|0)==(0|0); if ($1) { - _TraceLog(1,10252,$vararg_buffer); + _TraceLog(1,9399,$vararg_buffer); STACKTOP = sp;return; } $2 = (_alcCreateContext(($0|0),(0|0))|0); @@ -23367,7 +17793,7 @@ function _InitAudioDevice() { } $5 = (_alcGetString(($0|0),4101)|0); HEAP32[$vararg_buffer3>>2] = $5; - _TraceLog(0,10320,$vararg_buffer3); + _TraceLog(0,9467,$vararg_buffer3); _alListener3f(4100,0.0,0.0,0.0); _alListener3f(4102,0.0,0.0,0.0); _alListener3f(4111,0.0,0.0,-1.0); @@ -23376,7 +17802,7 @@ function _InitAudioDevice() { } } while(0); (_alcCloseDevice(($0|0))|0); - _TraceLog(1,10285,$vararg_buffer1); + _TraceLog(1,9432,$vararg_buffer1); STACKTOP = sp;return; } function _CloseAudioDevice() { @@ -23388,13 +17814,13 @@ function _CloseAudioDevice() { $0 = (_alcGetCurrentContext()|0); $1 = ($0|0)==(0|0); if ($1) { - _TraceLog(2,10374,$vararg_buffer); + _TraceLog(2,9521,$vararg_buffer); } $2 = (_alcGetContextsDevice(($0|0))|0); (_alcMakeContextCurrent((0|0))|0); _alcDestroyContext(($0|0)); (_alcCloseDevice(($2|0))|0); - _TraceLog(0,10422,$vararg_buffer1); + _TraceLog(0,9569,$vararg_buffer1); STACKTOP = sp;return; } function _stb_vorbis_open_filename($0,$1,$2) { @@ -23403,7 +17829,7 @@ function _stb_vorbis_open_filename($0,$1,$2) { $2 = $2|0; var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $3 = (_fopen($0,11031)|0); + $3 = (_fopen($0,10178)|0); $4 = ($3|0)==(0|0); if ($4) { $6 = ($1|0)==(0|0); @@ -23880,7 +18306,7 @@ function _convert_channels_short_interleaved($0,$1,$2,$3,$4,$5) { if ($9) { $$04956 = 0; } else { - ___assert_fail((10943|0),(10530|0),4749,(10954|0)); + ___assert_fail((10090|0),(9677|0),4759,(10101|0)); // unreachable; } while(1) { @@ -24216,7 +18642,7 @@ function _get_window($0,$1) { if ($8) { $$sink = 1; } else { - ___assert_fail((10528|0),(10530|0),2655,(10552|0)); + ___assert_fail((9675|0),(9677|0),2658,(9699|0)); // unreachable; } } @@ -24299,7 +18725,7 @@ function _vorbis_decode_initial($0,$1,$2,$3,$4,$5) { $28 = HEAP32[$27>>2]|0; $29 = ($26|0)==($28|0); if (!($29)) { - ___assert_fail((10563|0),(10530|0),2734,(10921|0)); + ___assert_fail((9710|0),(9677|0),2737,(10068|0)); // unreachable; } } @@ -24471,7 +18897,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $51 = HEAP8[$50>>0]|0; $52 = $51&255; $53 = (($52) + -1)|0; - $54 = (3112 + ($53<<2)|0); + $54 = (2980 + ($53<<2)|0); $55 = HEAP32[$54>>2]|0; $56 = (((($0)) + 996|0) + ($$041263<<2)|0); $57 = HEAP32[$56>>2]|0; @@ -24794,7 +19220,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $223 = HEAP32[$222>>2]|0; $224 = ($221|0)==($223|0); if (!($224)) { - ___assert_fail((10563|0),(10530|0),2883,(10619|0)); + ___assert_fail((9710|0),(9677|0),2886,(9766|0)); // unreachable; } } @@ -24918,7 +19344,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $281 = HEAP32[$280>>2]|0; $282 = ($279|0)==($281|0); if (!($282)) { - ___assert_fail((10563|0),(10530|0),2916,(10619|0)); + ___assert_fail((9710|0),(9677|0),2919,(9766|0)); // unreachable; } } @@ -25147,7 +19573,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $390 = HEAP32[$389>>2]|0; $391 = ($388|0)==($390|0); if (!($391)) { - ___assert_fail((10563|0),(10530|0),3032,(10619|0)); + ___assert_fail((9710|0),(9677|0),3035,(9766|0)); // unreachable; } } @@ -25239,69 +19665,82 @@ function _get_bits($0,$1) { function _ilog($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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; - $1 = ($0|0)<(16384); + $1 = ($0|0)<(0); if ($1) { - $2 = ($0|0)<(16); - if ($2) { - $3 = (10905 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $$0 = $5; + $$0 = 0; + return ($$0|0); + } + $2 = ($0|0)<(16384); + if ($2) { + $3 = ($0|0)<(16); + if ($3) { + $4 = (10052 + ($0)|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5 << 24 >> 24; + $$0 = $6; return ($$0|0); } - $6 = ($0|0)<(512); - if ($6) { - $7 = $0 >>> 5; - $8 = (10905 + ($7)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = (($10) + 5)|0; - $$0 = $11; + $7 = ($0|0)<(512); + if ($7) { + $8 = $0 >>> 5; + $9 = (10052 + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($11) + 5)|0; + $$0 = $12; return ($$0|0); } else { - $12 = $0 >>> 10; - $13 = (10905 + ($12)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = (($15) + 10)|0; - $$0 = $16; + $13 = $0 >>> 10; + $14 = (10052 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = (($16) + 10)|0; + $$0 = $17; return ($$0|0); } } - $17 = ($0|0)<(16777216); - if (!($17)) { - $29 = ($0|0)<(536870912); - if (!($29)) { - $$0 = 0; - return ($$0|0); - } - $30 = $0 >>> 25; - $31 = (10905 + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32 << 24 >> 24; - $34 = (($33) + 25)|0; - $$0 = $34; - return ($$0|0); - } - $18 = ($0|0)<(524288); + $18 = ($0|0)<(16777216); if ($18) { - $19 = $0 >>> 15; - $20 = (10905 + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21 << 24 >> 24; - $23 = (($22) + 15)|0; - $$0 = $23; - return ($$0|0); + $19 = ($0|0)<(524288); + if ($19) { + $20 = $0 >>> 15; + $21 = (10052 + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = (($23) + 15)|0; + $$0 = $24; + return ($$0|0); + } else { + $25 = $0 >>> 20; + $26 = (10052 + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = (($28) + 20)|0; + $$0 = $29; + return ($$0|0); + } } else { - $24 = $0 >>> 20; - $25 = (10905 + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; - $28 = (($27) + 20)|0; - $$0 = $28; - return ($$0|0); + $30 = ($0|0)<(536870912); + if ($30) { + $31 = $0 >>> 25; + $32 = (10052 + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = (($34) + 25)|0; + $$0 = $35; + return ($$0|0); + } else { + $36 = $0 >>> 30; + $37 = (10052 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = (($39) + 30)|0; + $$0 = $40; + return ($$0|0); + } } return (0)|0; } @@ -25465,7 +19904,7 @@ function _codebook_decode_scalar_raw($0,$1) { $50 = HEAP8[$49>>0]|0; $51 = ($50<<24>>24)==(0); if (!($51)) { - ___assert_fail((10867|0),(10530|0),1251,(10878|0)); + ___assert_fail((10014|0),(9677|0),1254,(10025|0)); // unreachable; } $52 = HEAP32[$8>>2]|0; @@ -26384,7 +20823,7 @@ function _do_floor($0,$1,$2,$3,$4,$5) { if (!($46)) { return; } - $47 = (3128 + ($$062$lcssa<<2)|0); + $47 = (2996 + ($$062$lcssa<<2)|0); $48 = +HEAPF32[$47>>2]; $$0661 = $$063$lcssa; while(1) { @@ -27015,7 +21454,7 @@ function _get8_packet_raw($0) { $$pr = HEAP8[$1>>0]|0; $9 = ($$pr<<24>>24)==(0); if ($9) { - ___assert_fail((10645|0),(10530|0),1135,(10665|0)); + ___assert_fail((9792|0),(9677|0),1138,(9812|0)); // unreachable; } else { $11 = $$pr; @@ -27094,7 +21533,7 @@ function _next_segment($0) { $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)==(0); if (!($29)) { - ___assert_fail((10681|0),(10530|0),1121,(10702|0)); + ___assert_fail((9828|0),(9677|0),1124,(9849|0)); // unreachable; } HEAP8[$27>>0] = $20; @@ -27402,7 +21841,7 @@ function _imdct_step3_iter0_loop($0,$1,$2,$3,$4) { $6 = $0 & 3; $7 = ($6|0)==(0); if (!($7)) { - ___assert_fail((10715|0),(10530|0),2004,(10728|0)); + ___assert_fail((9862|0),(9677|0),2007,(9875|0)); // unreachable; } $8 = $0 >> 2; @@ -28018,7 +22457,7 @@ function _draw_line($0,$1,$2,$3,$4,$5) { if (!($16)) { return; } - $17 = (3128 + ($2<<2)|0); + $17 = (2996 + ($2<<2)|0); $18 = +HEAPF32[$17>>2]; $19 = (($0) + ($1<<2)|0); $20 = +HEAPF32[$19>>2]; @@ -28039,7 +22478,7 @@ function _draw_line($0,$1,$2,$3,$4,$5) { $$1 = (($23) - ($26))|0; $$0$pn = (($$155$sink67) + ($9))|0; $$155 = (($$0$pn) + ($25))|0; - $27 = (3128 + ($$155<<2)|0); + $27 = (2996 + ($$155<<2)|0); $28 = +HEAPF32[$27>>2]; $29 = (($0) + ($$05669<<2)|0); $30 = +HEAPF32[$29>>2]; @@ -28258,7 +22697,7 @@ function _codebook_decode_deinterleave_repeat($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 12) { - ___assert_fail((10795|0),(10530|0),1433,(10831|0)); + ___assert_fail((9942|0),(9677|0),1436,(9978|0)); // unreachable; } $46 = ((($0)) + 1376|0); @@ -28555,7 +22994,7 @@ function _codebook_decode_start($0,$1) { $29 = HEAP32[$28>>2]|0; $30 = ($$1|0)<($29|0); if (!($30)) { - ___assert_fail((10751|0),(10530|0),1339,(10773|0)); + ___assert_fail((9898|0),(9677|0),1342,(9920|0)); // unreachable; } } @@ -28774,7 +23213,7 @@ function _compute_stereo_samples($0,$1,$2,$3,$4) { $17 = (($$07593) + ($3))|0; $$07488 = 0; while(1) { - $20 = ((10989 + (($1*6)|0)|0) + ($$07488)|0); + $20 = ((10136 + (($1*6)|0)|0) + ($$07488)|0); $21 = HEAP8[$20>>0]|0; $trunc = $21 & 6; $trunc$clear = $trunc & 7; @@ -29108,15 +23547,15 @@ function _vorbis_find_page($0,$1,$2) { break; } $72 = (_get8($0)|0); - $73 = HEAP8[(4153)>>0]|0; + $73 = HEAP8[(4021)>>0]|0; $74 = ($72<<24>>24)==($73<<24>>24); if ($74) { $75 = (_get8($0)|0); - $76 = HEAP8[(4154)>>0]|0; + $76 = HEAP8[(4022)>>0]|0; $77 = ($75<<24>>24)==($76<<24>>24); if ($77) { $198 = (_get8($0)|0); - $199 = HEAP8[(4155)>>0]|0; + $199 = HEAP8[(4023)>>0]|0; $200 = ($198<<24>>24)==($199<<24>>24); $$ = $200 ? 4 : 3; $$082$lcssa = $$; @@ -29136,7 +23575,7 @@ function _vorbis_find_page($0,$1,$2) { $80 = ($$082$lcssa|0)==(4); L13: do { if ($80) { - $81 = HEAP32[1038]|0; + $81 = HEAP32[1005]|0; HEAP32[$3>>2] = $81; $82 = (_get8($0)|0); HEAP8[$15>>0] = $82; @@ -29373,7 +23812,7 @@ function _crc32_update($0,$1) { $3 = $1&255; $4 = $0 >>> 24; $5 = $3 ^ $4; - $6 = (19840 + ($5<<2)|0); + $6 = (18888 + ($5<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = $7 ^ $2; return ($8|0); @@ -29420,7 +23859,7 @@ function _stb_vorbis_open_file_section($0,$1,$2,$3,$4) { $14 = ($13|0)==(0|0); if (!($14)) { _memcpy(($13|0),($5|0),1512)|0; - _vorbis_pump_first_frame($13); + (_vorbis_pump_first_frame($13)|0); $$0 = $13; STACKTOP = sp;return ($$0|0); } @@ -31681,7 +26120,7 @@ function _start_decoder($0) { $868 = HEAP32[$867>>2]|0; $869 = ($866|0)==($868|0); if (!($869)) { - ___assert_fail((11034|0),(10530|0),3709,(11090|0)); + ___assert_fail((10181|0),(9677|0),3714,(10237|0)); // unreachable; } $870 = ((($0)) + 88|0); @@ -31722,13 +26161,13 @@ function _vorbis_pump_first_frame($0) { $4 = (_vorbis_decode_packet($0,$1,$3,$2)|0); $5 = ($4|0)==(0); if ($5) { - STACKTOP = sp;return; + STACKTOP = sp;return ($4|0); } $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$3>>2]|0; $8 = HEAP32[$2>>2]|0; (_vorbis_finish_frame($0,$6,$7,$8)|0); - STACKTOP = sp;return; + STACKTOP = sp;return ($4|0); } function _setup_malloc($0,$1) { $0 = $0|0; @@ -31775,7 +26214,7 @@ function _vorbis_validate($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (_memcmp($0,11406,6)|0); + $1 = (_memcmp($0,10553,6)|0); $2 = ($1|0)==(0); $3 = $2&1; return ($3|0); @@ -31896,7 +26335,7 @@ function _is_whole_packet_present($0,$1) { label = 12; break; } - $32 = (_memcmp($$274,4152,4)|0); + $32 = (_memcmp($$274,4020,4)|0); $33 = ($32|0)==(0); if (!($33)) { label = 14; @@ -32072,7 +26511,7 @@ function _crc32_init() { $30 = $25 >> 31; $31 = $30 & 79764919; $32 = $31 ^ $29; - $33 = (19840 + ($$01417<<2)|0); + $33 = (18888 + ($$01417<<2)|0); HEAP32[$33>>2] = $32; $34 = (($$01417) + 1)|0; $exitcond = ($34|0)==(256); @@ -32153,7 +26592,7 @@ function _compute_codewords($0,$1,$2,$3) { $$2 = 1; STACKTOP = sp;return ($$2|0); } else { - ___assert_fail((11303|0),(10530|0),662,(11326|0)); + ___assert_fail((10450|0),(9677|0),665,(10473|0)); // unreachable; } } @@ -32286,15 +26725,15 @@ function _compute_codewords($0,$1,$2,$3) { } } if ((label|0) == 17) { - ___assert_fail((11344|0),(10530|0),685,(11326|0)); + ___assert_fail((10491|0),(9677|0),688,(10473|0)); // unreachable; } else if ((label|0) == 21) { - ___assert_fail((11361|0),(10530|0),690,(11326|0)); + ___assert_fail((10508|0),(9677|0),693,(10473|0)); // unreachable; } else if ((label|0) == 23) { - ___assert_fail((11388|0),(10530|0),692,(11326|0)); + ___assert_fail((10535|0),(9677|0),695,(10473|0)); // unreachable; } else if ((label|0) == 25) { @@ -32359,7 +26798,7 @@ function _compute_sorted_huffman($0,$1,$2) { $33 = HEAP32[$32>>2]|0; $34 = ($$084$lcssa|0)==($33|0); if (!($34)) { - ___assert_fail((11195|0),(10530|0),759,(11218|0)); + ___assert_fail((10342|0),(9677|0),762,(10365|0)); // unreachable; } } else { @@ -32493,7 +26932,7 @@ function _compute_sorted_huffman($0,$1,$2) { } } if ((label|0) == 21) { - ___assert_fail((11241|0),(10530|0),789,(11218|0)); + ___assert_fail((10388|0),(9677|0),792,(10365|0)); // unreachable; } else if ((label|0) == 26) { @@ -32628,7 +27067,7 @@ function _lookup1_values($0,$1) { $24 = (+($0|0)); $25 = $23 > $24; if (!($25)) { - ___assert_fail((11104|0),(10530|0),814,(11136|0)); + ___assert_fail((10251|0),(9677|0),817,(10283|0)); // unreachable; } $26 = $20; @@ -32637,7 +27076,7 @@ function _lookup1_values($0,$1) { $29 = (~~(($28))); $30 = ($29|0)>($0|0); if ($30) { - ___assert_fail((11151|0),(10530|0),815,(11136|0)); + ___assert_fail((10298|0),(9677|0),818,(10283|0)); // unreachable; } else { return ($$|0); @@ -32949,7 +27388,7 @@ function _include_in_sort($0,$1) { return ($$$|0); } if ($5) { - ___assert_fail((11272|0),(10530|0),739,(11287|0)); + ___assert_fail((10419|0),(9677|0),742,(10434|0)); // unreachable; } else { return 1; @@ -33004,119 +27443,74 @@ function _add_entry($0,$1,$2,$3,$4,$5) { } function _LoadMusicStream($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.0, $39 = 0.0, $4 = 0, $40 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $vararg_ptr24 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $vararg_buffer28 = sp + 72|0; - $vararg_buffer25 = sp + 64|0; - $vararg_buffer21 = sp + 48|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $vararg_buffer17 = sp + 40|0; $vararg_buffer13 = sp + 32|0; $vararg_buffer9 = sp + 24|0; $vararg_buffer5 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $1 = sp + 136|0; - $2 = sp + 104|0; - $3 = sp + 76|0; - $4 = (_malloc(52)|0); - $5 = (_IsFileExtension($0,10455)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_stb_vorbis_open_filename($0,0,0)|0); - $8 = ((($4)) + 4|0); - HEAP32[$8>>2] = $7; - $9 = ($7|0)==(0|0); - if ($9) { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11412,$vararg_buffer); - STACKTOP = sp;return ($4|0); - } else { - $10 = HEAP32[$8>>2]|0; - _stb_vorbis_get_info($1,$10); - $11 = ((($4)) + 12|0); - $12 = HEAP32[$1>>2]|0; - $13 = ((($1)) + 4|0); - $14 = HEAP32[$13>>2]|0; - _InitAudioStream($2,$12,16,$14); - ;HEAP32[$11>>2]=HEAP32[$2>>2]|0;HEAP32[$11+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[$2+24>>2]|0; - $15 = HEAP32[$8>>2]|0; - $16 = (_stb_vorbis_stream_length_in_samples($15)|0); - $17 = ((($4)) + 44|0); - HEAP32[$17>>2] = $16; - $18 = ((($4)) + 48|0); - HEAP32[$18>>2] = $16; - HEAP32[$4>>2] = 0; - $19 = ((($4)) + 40|0); - HEAP32[$19>>2] = -1; - $20 = HEAP32[$17>>2]|0; - HEAP32[$vararg_buffer1>>2] = $0; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $20; - _TraceLog(3,11452,$vararg_buffer1); - $21 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer5>>2] = $0; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $21; - _TraceLog(3,11480,$vararg_buffer5); - $22 = HEAP32[$13>>2]|0; - HEAP32[$vararg_buffer9>>2] = $0; - $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $22; - _TraceLog(3,11505,$vararg_buffer9); - $23 = ((($1)) + 16|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$vararg_buffer13>>2] = $0; - $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); - HEAP32[$vararg_ptr16>>2] = $24; - _TraceLog(3,11527,$vararg_buffer13); - STACKTOP = sp;return ($4|0); - } - } - $25 = (_IsFileExtension($0,11556)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[$vararg_buffer28>>2] = $0; - _TraceLog(2,10460,$vararg_buffer28); - STACKTOP = sp;return ($4|0); - } - $27 = ((($4)) + 8|0); - $28 = (_jar_xm_create_context_from_file($27,48000,$0)|0); - $29 = ($28|0)==(0); - if ($29) { - $30 = HEAP32[$27>>2]|0; - _jar_xm_set_max_loop_count($30,0); - $31 = ((($4)) + 12|0); - _InitAudioStream($3,48000,16,2); - ;HEAP32[$31>>2]=HEAP32[$3>>2]|0;HEAP32[$31+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$31+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$31+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$31+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$31+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$31+24>>2]=HEAP32[$3+24>>2]|0; - $32 = (_jar_xm_get_remaining_samples($30)|0); - $33 = tempRet0; - $34 = ((($4)) + 44|0); - HEAP32[$34>>2] = $32; - $35 = ((($4)) + 48|0); - HEAP32[$35>>2] = $32; - HEAP32[$4>>2] = 2; - $36 = ((($4)) + 40|0); - HEAP32[$36>>2] = -1; - $37 = HEAP32[$34>>2]|0; + $1 = sp + 72|0; + $2 = sp + 44|0; + $3 = (_malloc(48)|0); + $4 = (_IsFileExtension($0,9602)|0); + $5 = ($4|0)==(0); + if ($5) { HEAP32[$vararg_buffer17>>2] = $0; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $37; - _TraceLog(3,11560,$vararg_buffer17); - $38 = (+($37>>>0)); - $39 = $38 / 48000.0; - $40 = $39; - HEAP32[$vararg_buffer21>>2] = $0; - $vararg_ptr24 = ((($vararg_buffer21)) + 8|0); - HEAPF64[$vararg_ptr24>>3] = $40; - _TraceLog(3,11590,$vararg_buffer21); - STACKTOP = sp;return ($4|0); + _TraceLog(2,9607,$vararg_buffer17); + STACKTOP = sp;return ($3|0); + } + $6 = (_stb_vorbis_open_filename($0,0,0)|0); + $7 = ((($3)) + 4|0); + HEAP32[$7>>2] = $6; + $8 = ($6|0)==(0|0); + if ($8) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(2,10559,$vararg_buffer); + STACKTOP = sp;return ($3|0); } else { - HEAP32[$vararg_buffer25>>2] = $0; - _TraceLog(2,11623,$vararg_buffer25); - STACKTOP = sp;return ($4|0); + $9 = HEAP32[$7>>2]|0; + _stb_vorbis_get_info($1,$9); + $10 = ((($3)) + 8|0); + $11 = HEAP32[$1>>2]|0; + $12 = ((($1)) + 4|0); + $13 = HEAP32[$12>>2]|0; + _InitAudioStream($2,$11,16,$13); + ;HEAP32[$10>>2]=HEAP32[$2>>2]|0;HEAP32[$10+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$10+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$10+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$10+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$10+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$10+24>>2]=HEAP32[$2+24>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = (_stb_vorbis_stream_length_in_samples($14)|0); + $16 = ((($3)) + 40|0); + HEAP32[$16>>2] = $15; + $17 = ((($3)) + 44|0); + HEAP32[$17>>2] = $15; + HEAP32[$3>>2] = 0; + $18 = ((($3)) + 36|0); + HEAP32[$18>>2] = -1; + $19 = HEAP32[$16>>2]|0; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $19; + _TraceLog(3,10599,$vararg_buffer1); + $20 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer5>>2] = $0; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $20; + _TraceLog(3,10627,$vararg_buffer5); + $21 = HEAP32[$12>>2]|0; + HEAP32[$vararg_buffer9>>2] = $0; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $21; + _TraceLog(3,10652,$vararg_buffer9); + $22 = ((($1)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$vararg_buffer13>>2] = $0; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $23; + _TraceLog(3,10674,$vararg_buffer13); + STACKTOP = sp;return ($3|0); } return (0)|0; } @@ -33186,14 +27580,14 @@ function _InitAudioStream($0,$1,$2,$3) { } default: { HEAP32[$vararg_buffer4>>2] = $2; - _TraceLog(2,11712,$vararg_buffer4); + _TraceLog(2,10759,$vararg_buffer4); $26 = $9; break L1; } } } else { HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(2,11656,$vararg_buffer); + _TraceLog(2,10703,$vararg_buffer); $8 = ((($4)) + 8|0); HEAP32[$8>>2] = 1; $55 = $8; @@ -33226,7 +27620,7 @@ function _InitAudioStream($0,$1,$2,$3) { } default: { HEAP32[$vararg_buffer1>>2] = $2; - _TraceLog(2,11712,$vararg_buffer1); + _TraceLog(2,10759,$vararg_buffer1); $26 = $55; break L10; } @@ -33280,7 +27674,7 @@ function _InitAudioStream($0,$1,$2,$3) { $51 = HEAP32[$6>>2]|0; $52 = HEAP32[$26>>2]|0; $53 = ($52|0)==(1); - $54 = $53 ? 10516 : 10521; + $54 = $53 ? 9663 : 9668; HEAP32[$vararg_buffer7>>2] = $49; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $50; @@ -33288,42 +27682,30 @@ function _InitAudioStream($0,$1,$2,$3) { HEAP32[$vararg_ptr11>>2] = $51; $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); HEAP32[$vararg_ptr12>>2] = $54; - _TraceLog(0,11761,$vararg_buffer7); + _TraceLog(0,10808,$vararg_buffer7); ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$4+24>>2]|0; STACKTOP = sp;return; } function _UnloadMusicStream($0) { $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - $1 = ((($0)) + 12|0); + $1 = ((($0)) + 8|0); ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0; _CloseAudioStream($$byval_copy); $2 = HEAP32[$0>>2]|0; - switch ($2|0) { - case 0: { - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - _stb_vorbis_close($4); - _free($0); - STACKTOP = sp;return; - break; - } - case 2: { - $5 = ((($0)) + 8|0); - $6 = HEAP32[$5>>2]|0; - _jar_xm_free_context($6); - _free($0); - STACKTOP = sp;return; - break; - } - default: { + $3 = ($2|0)==(0); + if (!($3)) { _free($0); STACKTOP = sp;return; } - } + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + _stb_vorbis_close($5); + _free($0); + STACKTOP = sp;return; } function _CloseAudioStream($0) { $0 = $0|0; @@ -33360,14 +27742,14 @@ function _CloseAudioStream($0) { _alDeleteBuffers(2,($11|0)); $12 = HEAP32[$3>>2]|0; HEAP32[$vararg_buffer>>2] = $12; - _TraceLog(0,11826,$vararg_buffer); + _TraceLog(0,10873,$vararg_buffer); STACKTOP = sp;return; } function _PlayMusicStream($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 28|0); + $1 = ((($0)) + 24|0); $2 = HEAP32[$1>>2]|0; _alSourcePlay(($2|0)); return; @@ -33376,7 +27758,7 @@ function _PauseMusicStream($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 28|0); + $1 = ((($0)) + 24|0); $2 = HEAP32[$1>>2]|0; _alSourcePause(($2|0)); return; @@ -33387,7 +27769,7 @@ function _ResumeMusicStream($0) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; - $2 = ((($0)) + 28|0); + $2 = ((($0)) + 24|0); $3 = HEAP32[$2>>2]|0; _alGetSourcei(($3|0),4112,($1|0)); $4 = HEAP32[$1>>2]|0; @@ -33404,20 +27786,20 @@ function _StopMusicStream($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 28|0); + $1 = ((($0)) + 24|0); $2 = HEAP32[$1>>2]|0; _alSourceStop(($2|0)); - $3 = ((($0)) + 16|0); + $3 = ((($0)) + 12|0); $4 = HEAP32[$3>>2]|0; $5 = $4 << 9; $6 = $5 & 536870400; - $7 = ((($0)) + 20|0); + $7 = ((($0)) + 16|0); $8 = HEAP32[$7>>2]|0; $9 = Math_imul($6, $8)|0; $10 = (_calloc($9,1)|0); - $11 = ((($0)) + 24|0); - $12 = ((($0)) + 12|0); - $13 = ((($0)) + 32|0); + $11 = ((($0)) + 20|0); + $12 = ((($0)) + 8|0); + $13 = ((($0)) + 28|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$11>>2]|0; $16 = HEAP32[$3>>2]|0; @@ -33427,7 +27809,7 @@ function _StopMusicStream($0) { $20 = Math_imul($18, $19)|0; $21 = HEAP32[$12>>2]|0; _alBufferData(($14|0),($15|0),($10|0),($20|0),($21|0)); - $22 = ((($0)) + 36|0); + $22 = ((($0)) + 32|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$11>>2]|0; $25 = HEAP32[$3>>2]|0; @@ -33441,24 +27823,24 @@ function _StopMusicStream($0) { $31 = HEAP32[$0>>2]|0; $cond = ($31|0)==(0); if (!($cond)) { - $34 = ((($0)) + 44|0); + $34 = ((($0)) + 40|0); $35 = HEAP32[$34>>2]|0; - $36 = ((($0)) + 48|0); + $36 = ((($0)) + 44|0); HEAP32[$36>>2] = $35; return; } $32 = ((($0)) + 4|0); $33 = HEAP32[$32>>2]|0; - _stb_vorbis_seek_start($33); - $34 = ((($0)) + 44|0); + (_stb_vorbis_seek_start($33)|0); + $34 = ((($0)) + 40|0); $35 = HEAP32[$34>>2]|0; - $36 = ((($0)) + 48|0); + $36 = ((($0)) + 44|0); HEAP32[$36>>2] = $35; return; } function _stb_vorbis_seek_start($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; + 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; $1 = ((($0)) + 48|0); $2 = HEAP8[$1>>0]|0; @@ -33473,18 +27855,21 @@ function _stb_vorbis_seek_start($0) { HEAP8[$7>>0] = 1; $8 = ((($0)) + 1380|0); HEAP32[$8>>2] = -1; - _vorbis_pump_first_frame($0); - return; + $9 = (_vorbis_pump_first_frame($0)|0); + $$0 = $9; + return ($$0|0); } else { _error($0,2); - return; + $$0 = 0; + return ($$0|0); } + return (0)|0; } function _UpdateMusicStream($0) { $0 = $0|0; - var $$ = 0, $$0 = 0, $$04143 = 0, $$byval_copy = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $$ = 0, $$0 = 0, $$03840 = 0, $$byval_copy = 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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); $$byval_copy = sp + 12|0; @@ -33492,8 +27877,8 @@ function _UpdateMusicStream($0) { $1 = sp + 8|0; $2 = sp + 4|0; HEAP32[$2>>2] = 0; - $3 = ((($0)) + 12|0); - $4 = ((($0)) + 28|0); + $3 = ((($0)) + 8|0); + $4 = ((($0)) + 24|0); $5 = HEAP32[$4>>2]|0; _alGetSourcei(($5|0),4112,($1|0)); $6 = HEAP32[$4>>2]|0; @@ -33503,10 +27888,10 @@ function _UpdateMusicStream($0) { if (!($8)) { STACKTOP = sp;return; } - $9 = ((($0)) + 20|0); + $9 = ((($0)) + 16|0); $10 = HEAP32[$9>>2]|0; $11 = $10 << 12; - $12 = ((($0)) + 16|0); + $12 = ((($0)) + 12|0); $13 = HEAP32[$12>>2]|0; $14 = Math_imul($11, $13)|0; $15 = $14 >>> 3; @@ -33515,74 +27900,64 @@ function _UpdateMusicStream($0) { $18 = ($17|0)>(0); L4: do { if ($18) { - $19 = ((($0)) + 48|0); + $19 = ((($0)) + 44|0); $20 = ((($0)) + 4|0); - $21 = ((($0)) + 8|0); - $$04143 = 0; + $$03840 = 0; while(1) { - $24 = HEAP32[$19>>2]|0; - $25 = ($24>>>0)<(4096); - $$ = $25 ? $24 : 4096; - $26 = HEAP32[$0>>2]|0; - switch ($26|0) { - case 0: { - $27 = HEAP32[$20>>2]|0; - $28 = HEAP32[$9>>2]|0; - $29 = Math_imul($28, $$)|0; - (_stb_vorbis_get_samples_short_interleaved($27,$28,$16,$29)|0); - break; - } - case 2: { - $30 = HEAP32[$21>>2]|0; - _jar_xm_generate_samples_16bit($30,$16,$$); - break; - } - default: { - } + $23 = HEAP32[$19>>2]|0; + $24 = ($23>>>0)<(4096); + $$ = $24 ? $23 : 4096; + $25 = HEAP32[$0>>2]|0; + $cond = ($25|0)==(0); + if ($cond) { + $26 = HEAP32[$20>>2]|0; + $27 = HEAP32[$9>>2]|0; + $28 = Math_imul($27, $$)|0; + (_stb_vorbis_get_samples_short_interleaved($26,$27,$16,$28)|0); } ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0; _UpdateAudioStream($$byval_copy,$16,$$); - $31 = HEAP32[$19>>2]|0; - $32 = (($31) - ($$))|0; - HEAP32[$19>>2] = $32; - $33 = ($32|0)==(0); - $23 = (($$04143) + 1)|0; - if ($33) { + $29 = HEAP32[$19>>2]|0; + $30 = (($29) - ($$))|0; + HEAP32[$19>>2] = $30; + $31 = ($30|0)==(0); + $22 = (($$03840) + 1)|0; + if ($31) { $$0 = 0; break L4; } - $22 = ($23|0)<($17|0); - if ($22) { - $$04143 = $23; + $21 = ($22|0)<($17|0); + if ($21) { + $$03840 = $22; } else { $$0 = 1; - break L4; + break; } } } else { $$0 = 1; } } while(0); - $34 = (_alGetError()|0); - $35 = ($34|0)==(40963); - if ($35) { - _TraceLog(2,11865,$vararg_buffer); + $32 = (_alGetError()|0); + $33 = ($32|0)==(40963); + if ($33) { + _TraceLog(2,10912,$vararg_buffer); } - $36 = ($$0|0)==(0); - if ($36) { + $34 = ($$0|0)==(0); + if ($34) { _StopMusicStream($0); - $37 = ((($0)) + 40|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)>(0); - if ($39) { - $40 = (($38) + -1)|0; - HEAP32[$37>>2] = $40; + $35 = ((($0)) + 36|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)>(0); + if ($37) { + $38 = (($36) + -1)|0; + HEAP32[$35>>2] = $38; _PlayMusicStream($0); } } else { - $41 = HEAP32[$1>>2]|0; - $42 = ($41|0)==(4114); - if (!($42)) { + $39 = HEAP32[$1>>2]|0; + $40 = ($39|0)==(4114); + if (!($40)) { _PlayMusicStream($0); } } @@ -33626,10 +28001,10 @@ function _GetMusicTimeLength($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 44|0); + $1 = ((($0)) + 40|0); $2 = HEAP32[$1>>2]|0; $3 = (+($2>>>0)); - $4 = ((($0)) + 12|0); + $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; $6 = (+($5>>>0)); $7 = $3 / $6; @@ -33639,13 +28014,13 @@ function _GetMusicTimePlayed($0) { $0 = $0|0; var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 44|0); + $1 = ((($0)) + 40|0); $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 48|0); + $3 = ((($0)) + 44|0); $4 = HEAP32[$3>>2]|0; $5 = (($2) - ($4))|0; $6 = (+($5>>>0)); - $7 = ((($0)) + 12|0); + $7 = ((($0)) + 8|0); $8 = HEAP32[$7>>2]|0; $9 = (+($8>>>0)); $10 = $6 / $9; @@ -33697,7 +28072,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11897)|0); + $12 = (_strstr($11,10944)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -33706,7 +28081,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11901)|0); + $17 = (_strstr($16,10948)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -33715,7 +28090,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11905)|0); + $22 = (_strstr($21,10952)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -33724,7 +28099,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11909)|0); + $27 = (_strstr($26,10956)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -33733,1210 +28108,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11915)|0); + $32 = (_strcmp($31,10962)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11953)|0); + $35 = (_strcmp($34,11000)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11972; + HEAP32[$3>>2] = 11019; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11985)|0); + $38 = (_strcmp($37,11032)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 12006; + HEAP32[$3>>2] = 11053; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12021)|0); + $41 = (_strcmp($40,11068)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 12036; + HEAP32[$3>>2] = 11083; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12051)|0); + $44 = (_strcmp($43,11098)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 12066; + HEAP32[$3>>2] = 11113; } } else { - HEAP32[$3>>2] = 11937; + HEAP32[$3>>2] = 10984; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12081)|0); + $47 = (_strcmp($46,11128)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12095)|0); + $50 = (_strcmp($49,11142)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 2; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12107)|0); + $53 = (_strcmp($52,11154)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 6; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12121)|0); + $56 = (_strcmp($55,11168)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 7; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12133)|0); + $59 = (_strcmp($58,11180)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 8; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12147)|0); + $62 = (_strcmp($61,11194)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 9; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12161)|0); + $65 = (_strcmp($64,11208)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 10; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12178)|0); + $68 = (_strcmp($67,11225)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12201)|0); + $71 = (_strcmp($70,11248)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12227)|0); + $74 = (_strcmp($73,11274)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12240)|0); + $77 = (_strcmp($76,11287)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12256)|0); + $80 = (_strcmp($79,11303)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12269)|0); + $83 = (_strcmp($82,11316)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 11; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12283)|0); + $86 = (_strcmp($85,11330)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12303)|0); + $89 = (_strcmp($88,11350)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12323)|0); + $92 = (_strcmp($91,11370)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12340)|0); + $95 = (_strcmp($94,11387)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12357)|0); + $98 = (_strcmp($97,11404)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 3; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12369)|0); + $101 = (_strcmp($100,11416)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 12; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12382)|0); + $104 = (_strcmp($103,11429)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 13; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12398)|0); + $107 = (_strcmp($106,11445)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12421)|0); + $110 = (_strcmp($109,11468)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12434)|0); + $113 = (_strcmp($112,11481)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12450)|0); + $116 = (_strcmp($115,11497)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 4; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12461)|0); + $119 = (_strcmp($118,11508)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 14; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12480)|0); + $122 = (_strcmp($121,11527)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 15; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12502)|0); + $125 = (_strcmp($124,11549)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 16; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12521)|0); + $128 = (_strcmp($127,11568)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12550)|0); + $131 = (_strcmp($130,11597)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 5; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12567)|0); + $134 = (_strcmp($133,11614)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12582)|0); + $137 = (_strcmp($136,11629)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12597)|0); + $140 = (_strcmp($139,11644)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 3; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12618)|0); + $143 = (_strcmp($142,11665)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12638)|0); + $146 = (_strcmp($145,11685)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12658)|0); + $149 = (_strcmp($148,11705)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12684)|0); + $152 = (_strcmp($151,11731)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12703)|0); + $155 = (_strcmp($154,11750)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12715)|0); + $158 = (_strcmp($157,11762)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12727)|0); + $161 = (_strcmp($160,11774)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12739)|0); + $164 = (_strcmp($163,11786)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12751)|0); + $167 = (_strcmp($166,11798)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 17; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12763)|0); + $170 = (_strcmp($169,11810)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,12775)|0); + $173 = (_strcmp($172,11822)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,12787)|0); + $176 = (_strcmp($175,11834)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,12799)|0); + $179 = (_strcmp($178,11846)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,12812)|0); + $182 = (_strcmp($181,11859)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,12825)|0); + $185 = (_strcmp($184,11872)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,12838)|0); + $188 = (_strcmp($187,11885)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,12851)|0); + $191 = (_strcmp($190,11898)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,12864)|0); + $194 = (_strcmp($193,11911)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,12877)|0); + $197 = (_strcmp($196,11924)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12890)|0); + $200 = (_strcmp($199,11937)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12903)|0); + $203 = (_strcmp($202,11950)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12922)|0); + $206 = (_strcmp($205,11969)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12941)|0); + $209 = (_strcmp($208,11988)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12960)|0); + $212 = (_strcmp($211,12007)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 18; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12973)|0); + $215 = (_strcmp($214,12020)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 19; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12991)|0); + $218 = (_strcmp($217,12038)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 20; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13009)|0); + $221 = (_strcmp($220,12056)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 21; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13027)|0); + $224 = (_strcmp($223,12074)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 22; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13045)|0); + $227 = (_strcmp($226,12092)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 4; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13065)|0); + $230 = (_strcmp($229,12112)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12006)|0); + $233 = (_strcmp($232,11053)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 6; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13083)|0); + $236 = (_strcmp($235,12130)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13098)|0); + $239 = (_strcmp($238,12145)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13119)|0); + $242 = (_strcmp($241,12166)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13134)|0); + $245 = (_strcmp($244,12181)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13152)|0); + $248 = (_strcmp($247,12199)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13168)|0); + $251 = (_strcmp($250,12215)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13187)|0); + $254 = (_strcmp($253,12234)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13201)|0); + $257 = (_strcmp($256,12248)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13216)|0); + $260 = (_strcmp($259,12263)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 7; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11937)|0); + $263 = (_strcmp($262,10984)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13227)|0); + $266 = (_strcmp($265,12274)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12036)|0); + $269 = (_strcmp($268,11083)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 23; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12066)|0); + $272 = (_strcmp($271,11113)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 24; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13243)|0); + $275 = (_strcmp($274,12290)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13270)|0); + $278 = (_strcmp($277,12317)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13284)|0); + $281 = (_strcmp($280,12331)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11972)|0); + $284 = (_strcmp($283,11019)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13304)|0); + $287 = (_strcmp($286,12351)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13322)|0); + $290 = (_strcmp($289,12369)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 8; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13334)|0); + $293 = (_strcmp($292,12381)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13355)|0); + $296 = (_strcmp($295,12402)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 25; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13373)|0); + $299 = (_strcmp($298,12420)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 26; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13391)|0); + $302 = (_strcmp($301,12438)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 27; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13412)|0); + $305 = (_strcmp($304,12459)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13438)|0); + $308 = (_strcmp($307,12485)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13461)|0); + $311 = (_strcmp($310,12508)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13499)|0); + $314 = (_strcmp($313,12546)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 9; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13515)|0); + $317 = (_strcmp($316,12562)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13530)|0); + $320 = (_strcmp($319,12577)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13553)|0); + $323 = (_strcmp($322,12600)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13566)|0); + $326 = (_strcmp($325,12613)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 28; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13580)|0); + $329 = (_strcmp($328,12627)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 29; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13594)|0); + $332 = (_strcmp($331,12641)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13614)|0); + $335 = (_strcmp($334,12661)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13634)|0); + $338 = (_strcmp($337,12681)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13650)|0); + $341 = (_strcmp($340,12697)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13668)|0); + $344 = (_strcmp($343,12715)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13684)|0); + $347 = (_strcmp($346,12731)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13699)|0); + $350 = (_strcmp($349,12746)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,13721)|0); + $353 = (_strcmp($352,12768)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 30; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13739)|0); + $356 = (_strcmp($355,12786)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 31; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13760)|0); + $359 = (_strcmp($358,12807)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,13778)|0); + $362 = (_strcmp($361,12825)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,13791)|0); + $365 = (_strcmp($364,12838)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,13806)|0); + $368 = (_strcmp($367,12853)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,13820)|0); + $371 = (_strcmp($370,12867)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,13830)|0); + $374 = (_strcmp($373,12877)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,13840)|0); + $377 = (_strcmp($376,12887)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,13862)|0); + $380 = (_strcmp($379,12909)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13888)|0); + $383 = (_strcmp($382,12935)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13915)|0); + $386 = (_strcmp($385,12962)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13928)|0); + $389 = (_strcmp($388,12975)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13943)|0); + $392 = (_strcmp($391,12990)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13958)|0); + $395 = (_strcmp($394,13005)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13982)|0); + $398 = (_strcmp($397,13029)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13993)|0); + $401 = (_strcmp($400,13040)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 32; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14015)|0); + $404 = (_strcmp($403,13062)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14037)|0); + $407 = (_strcmp($406,13084)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14061)|0); + $410 = (_strcmp($409,13108)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14070)|0); + $413 = (_strcmp($412,13117)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14078)|0); + $416 = (_strcmp($415,13125)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14091)|0); + $419 = (_strcmp($418,13138)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14105)|0); + $422 = (_strcmp($421,13152)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14117)|0); + $425 = (_strcmp($424,13164)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14126)|0); + $428 = (_strcmp($427,13173)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14136)|0); + $431 = (_strcmp($430,13183)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14148)|0); + $434 = (_strcmp($433,13195)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14159)|0); + $437 = (_strcmp($436,13206)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14167)|0); + $440 = (_strcmp($439,13214)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14179)|0); + $443 = (_strcmp($442,13226)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14194)|0); + $446 = (_strcmp($445,13241)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14206)|0); + $449 = (_strcmp($448,13253)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14220)|0); + $452 = (_strcmp($451,13267)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 10; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14245)|0); + $455 = (_strcmp($454,13292)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14262)|0); + $458 = (_strcmp($457,13309)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14278)|0); + $461 = (_strcmp($460,13325)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14294)|0); + $464 = (_strcmp($463,13341)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 11; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14306)|0); + $467 = (_strcmp($466,13353)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 33; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14318)|0); + $470 = (_strcmp($469,13365)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 34; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14342)|0); + $473 = (_strcmp($472,13389)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14355)|0); + $476 = (_strcmp($475,13402)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14369)|0); + $479 = (_strcmp($478,13416)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 35; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14391)|0); + $482 = (_strcmp($481,13438)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 36; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14398)|0); + $485 = (_strcmp($484,13445)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14414)|0); + $488 = (_strcmp($487,13461)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14431)|0); + $491 = (_strcmp($490,13478)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14448)|0); + $494 = (_strcmp($493,13495)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14464)|0); + $497 = (_strcmp($496,13511)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14480)|0); + $500 = (_strcmp($499,13527)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14497)|0); + $503 = (_strcmp($502,13544)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14511)|0); + $506 = (_strcmp($505,13558)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14523)|0); + $509 = (_strcmp($508,13570)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14534)|0); + $512 = (_strcmp($511,13581)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14547)|0); + $515 = (_strcmp($514,13594)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14557)|0); + $518 = (_strcmp($517,13604)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14574)|0); + $521 = (_strcmp($520,13621)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14586)|0); + $524 = (_strcmp($523,13633)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14608)|0); + $527 = (_strcmp($526,13655)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14628)|0); + $530 = (_strcmp($529,13675)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14641)|0); + $533 = (_strcmp($532,13688)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14663)|0); + $536 = (_strcmp($535,13710)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14683)|0); + $539 = (_strcmp($538,13730)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14700)|0); + $542 = (_strcmp($541,13747)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14717)|0); + $545 = (_strcmp($544,13764)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14737)|0); + $548 = (_strcmp($547,13784)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -34958,7 +29333,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (20864|0); + return (19912|0); } function ___stdio_close($0) { $0 = $0|0; @@ -35151,7 +29526,7 @@ function ___pthread_self_108() { function _pthread_self() { var label = 0, sp = 0; sp = STACKTOP; - return (4284|0); + return (4024|0); } function _dummy_738($0) { $0 = $0|0; @@ -35241,7 +29616,7 @@ function ___stdout_write($0,$1,$2) { $vararg_buffer = sp; $3 = sp + 16|0; $4 = ((($0)) + 36|0); - HEAP32[$4>>2] = 1; + HEAP32[$4>>2] = 8; $5 = HEAP32[$0>>2]|0; $6 = $5 & 64; $7 = ($6|0)==(0); @@ -35847,7 +30222,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((14853 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((13900 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -36025,7 +30400,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 15317;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14364;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -36046,7 +30421,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 15317;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14364;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -36054,8 +30429,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 15317 : (15319); - $$$ = $238 ? $$ : (15318); + $$ = $240 ? 14364 : (14366); + $$$ = $238 ? $$ : (14365); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -36072,7 +30447,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 15317;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14364;$242 = $167;$243 = $170; label = 66; break; } @@ -36085,7 +30460,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 15317;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14364;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -36099,7 +30474,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 15327; + $271 = $270 ? $269 : 14374; $$1 = $271; label = 71; break; @@ -36139,7 +30514,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 15317;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14364;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -36161,8 +30536,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (15317 + ($208)|0); - $$289 = $or$cond283 ? 15317 : $209; + $209 = (14364 + ($208)|0); + $$289 = $or$cond283 ? 14364 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -36183,7 +30558,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 15317;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14364;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -36713,7 +31088,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (15369 + ($7)|0); + $9 = (14416 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -37071,14 +31446,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 15334; + $$0471 = $14;$$0520 = 1;$$0521 = 14381; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (15335) : (15340); - $$$ = $16 ? $$ : (15337); + $$ = $18 ? (14382) : (14387); + $$$ = $16 ? $$ : (14384); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -37177,7 +31552,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (15369 + ($80)|0); + $81 = (14416 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -37788,7 +32163,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,15385,1); + _out($0,14432,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -37869,7 +32244,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,15385,1); + _out($0,14432,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -37926,9 +32301,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 15353 : 15357; + $29 = $28 ? 14400 : 14404; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 15361 : 15365; + $31 = $28 ? 14408 : 14412; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -38138,7 +32513,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (15387 + ($$016)|0); + $3 = (14434 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -38149,7 +32524,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 15475;$$115 = 87; + $$01214 = 14522;$$115 = 87; label = 5; break; } else { @@ -38159,9 +32534,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 15475; + $$012$lcssa = 14522; } else { - $$01214 = 15475;$$115 = $$016; + $$01214 = 14522;$$115 = $$016; label = 5; } } @@ -39305,42 +33680,6 @@ function _ldexp($0,$1) { $2 = (+_scalbn($0,$1)); return (+$2); } -function _fwrite($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $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, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = ($1|0)==(0); - $$ = $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 = $$; - } else { - $14 = (($13>>>0) / ($1>>>0))&-1; - $15 = $14; - } - return ($15|0); -} function ___unlist_locked_file($0) { $0 = $0|0; var $$pre = 0, $$sink = 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; @@ -39390,7 +33729,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(17279,$3,4)|0); + $memchr = (_memchr(16326,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -39479,7 +33818,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(17279,$4,4)|0); + $memchr = (_memchr(16326,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -39565,12 +33904,12 @@ function ___fdopen($0,$1) { $34 = ((($7)) + 32|0); HEAP32[$34>>2] = 9; $35 = ((($7)) + 36|0); - HEAP32[$35>>2] = 1; + HEAP32[$35>>2] = 8; $36 = ((($7)) + 40|0); HEAP32[$36>>2] = 2; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 1; - $38 = HEAP32[(20868)>>2]|0; + $38 = HEAP32[(19916)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -39603,13 +33942,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((20928|0)); - return (20936|0); + ___lock((19976|0)); + return (19984|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((20928|0)); + ___unlock((19976|0)); return; } function _fclose($0) { @@ -39684,12 +34023,12 @@ function _fflush($0) { $1 = ($0|0)==(0|0); do { if ($1) { - $8 = HEAP32[1164]|0; + $8 = HEAP32[1099]|0; $9 = ($8|0)==(0|0); if ($9) { $29 = 0; } else { - $10 = HEAP32[1164]|0; + $10 = HEAP32[1099]|0; $11 = (_fflush($10)|0); $29 = $11; } @@ -39818,18 +34157,6 @@ function _fseek($0,$1,$2) { $3 = (___fseeko($0,$1,$2)|0); return ($3|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 ___fseeko($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -40658,7 +34985,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 17552; + $2 = 16600; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -40893,37 +35220,12 @@ function _ftell($0) { $1 = (___ftello($0)|0); return ($1|0); } -function _rewind($0) { - $0 = $0|0; - var $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) { - $4 = (___lockfile($0)|0); - $phitmp = ($4|0)==(0); - (___fseeko_unlocked($0,0,0)|0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & -33; - HEAP32[$0>>2] = $6; - if (!($phitmp)) { - ___unlockfile($0); - } - } else { - (___fseeko_unlocked($0,0,0)|0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 & -33; - HEAP32[$0>>2] = $8; - } - return; -} function _vprintf($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[1132]|0; + $2 = HEAP32[1067]|0; $3 = (_vfprintf($2,$0,$1)|0); return ($3|0); } @@ -41030,7 +35332,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5235]|0; + $3 = HEAP32[4997]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -41049,22 +35351,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5235] = 0; + HEAP32[4997] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5235] = $10; + HEAP32[4997] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5235] = 0; + HEAP32[4997] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5235] = $13; + HEAP32[4997] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -41145,7 +35447,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5236]|0; + $8 = HEAP32[4998]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -41154,7 +35456,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (20984 + ($15<<2)|0); + $16 = (20032 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -41165,9 +35467,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5236] = $24; + HEAP32[4998] = $24; } else { - $25 = HEAP32[(20960)>>2]|0; + $25 = HEAP32[(20008)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -41198,7 +35500,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(20952)>>2]|0; + $37 = HEAP32[(20000)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -41232,7 +35534,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (20984 + ($68<<2)|0); + $69 = (20032 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -41243,10 +35545,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5236] = $77; + HEAP32[4998] = $77; $98 = $77; } else { - $78 = HEAP32[(20960)>>2]|0; + $78 = HEAP32[(20008)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -41279,22 +35581,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(20964)>>2]|0; + $92 = HEAP32[(20012)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (20984 + ($94<<2)|0); + $95 = (20032 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5236] = $100; + HEAP32[4998] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(20960)>>2]|0; + $103 = HEAP32[(20008)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -41311,12 +35613,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(20952)>>2] = $84; - HEAP32[(20964)>>2] = $87; + HEAP32[(20000)>>2] = $84; + HEAP32[(20012)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(20948)>>2]|0; + $108 = HEAP32[(19996)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -41344,7 +35646,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21248 + ($132<<2)|0); + $133 = (20296 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -41384,7 +35686,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(20960)>>2]|0; + $155 = HEAP32[(20008)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -41479,7 +35781,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21248 + ($188<<2)|0); + $189 = (20296 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -41490,11 +35792,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(20948)>>2] = $194; + HEAP32[(19996)>>2] = $194; break L73; } } else { - $195 = HEAP32[(20960)>>2]|0; + $195 = HEAP32[(20008)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -41515,7 +35817,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(20960)>>2]|0; + $201 = HEAP32[(20008)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -41545,7 +35847,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(20960)>>2]|0; + $213 = HEAP32[(20008)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -41582,22 +35884,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(20964)>>2]|0; + $231 = HEAP32[(20012)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (20984 + ($233<<2)|0); + $234 = (20032 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5236] = $238; + HEAP32[4998] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(20960)>>2]|0; + $241 = HEAP32[(20008)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -41614,8 +35916,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(20952)>>2] = $$0193$lcssa$i; - HEAP32[(20964)>>2] = $157; + HEAP32[(20000)>>2] = $$0193$lcssa$i; + HEAP32[(20012)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -41631,7 +35933,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(20948)>>2]|0; + $250 = HEAP32[(19996)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -41671,7 +35973,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21248 + ($$0358$i<<2)|0); + $278 = (20296 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -41763,7 +36065,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21248 + ($330<<2)|0); + $331 = (20296 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -41807,11 +36109,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(20952)>>2]|0; + $345 = HEAP32[(20000)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(20960)>>2]|0; + $348 = HEAP32[(20008)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -41908,7 +36210,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21248 + ($381<<2)|0); + $382 = (20296 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -41919,12 +36221,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(20948)>>2] = $387; + HEAP32[(19996)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(20960)>>2]|0; + $388 = HEAP32[(20008)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -41946,7 +36248,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(20960)>>2]|0; + $394 = HEAP32[(20008)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -41978,7 +36280,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(20960)>>2]|0; + $406 = HEAP32[(20008)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -42019,20 +36321,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (20984 + ($425<<2)|0); - $427 = HEAP32[5236]|0; + $426 = (20032 + ($425<<2)|0); + $427 = HEAP32[4998]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5236] = $431; + HEAP32[4998] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(20960)>>2]|0; + $434 = HEAP32[(20008)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -42084,7 +36386,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21248 + ($$0361$i<<2)|0); + $464 = (20296 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -42096,7 +36398,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(20948)>>2] = $472; + HEAP32[(19996)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -42135,7 +36437,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(20960)>>2]|0; + $491 = HEAP32[(20008)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -42154,7 +36456,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(20960)>>2]|0; + $498 = HEAP32[(20008)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -42187,16 +36489,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(20952)>>2]|0; + $506 = HEAP32[(20000)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(20964)>>2]|0; + $509 = HEAP32[(20012)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(20964)>>2] = $511; - HEAP32[(20952)>>2] = $508; + HEAP32[(20012)>>2] = $511; + HEAP32[(20000)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -42206,8 +36508,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(20952)>>2] = 0; - HEAP32[(20964)>>2] = 0; + HEAP32[(20000)>>2] = 0; + HEAP32[(20012)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -42221,14 +36523,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(20956)>>2]|0; + $524 = HEAP32[(20004)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(20956)>>2] = $526; - $527 = HEAP32[(20968)>>2]|0; + HEAP32[(20004)>>2] = $526; + $527 = HEAP32[(20016)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(20968)>>2] = $528; + HEAP32[(20016)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -42239,23 +36541,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5354]|0; + $534 = HEAP32[5116]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(21424)>>2] = 4096; - HEAP32[(21420)>>2] = 4096; - HEAP32[(21428)>>2] = -1; - HEAP32[(21432)>>2] = -1; - HEAP32[(21436)>>2] = 0; - HEAP32[(21388)>>2] = 0; + HEAP32[(20472)>>2] = 4096; + HEAP32[(20468)>>2] = 4096; + HEAP32[(20476)>>2] = -1; + HEAP32[(20480)>>2] = -1; + HEAP32[(20484)>>2] = 0; + HEAP32[(20436)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5354] = $538; + HEAP32[5116] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(21424)>>2]|0; + $$pre$i212 = HEAP32[(20472)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -42268,10 +36570,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(21384)>>2]|0; + $546 = HEAP32[(20432)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(21376)>>2]|0; + $548 = HEAP32[(20424)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -42281,18 +36583,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(21388)>>2]|0; + $552 = HEAP32[(20436)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(20968)>>2]|0; + $555 = HEAP32[(20016)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (21392); + $$0$i$i = (20440); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -42350,7 +36652,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(21420)>>2]|0; + $569 = HEAP32[(20468)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -42360,13 +36662,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21376)>>2]|0; + $578 = HEAP32[(20424)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(21384)>>2]|0; + $582 = HEAP32[(20432)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -42412,7 +36714,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(21424)>>2]|0; + $601 = HEAP32[(20472)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -42437,9 +36739,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(21388)>>2]|0; + $611 = HEAP32[(20436)>>2]|0; $612 = $611 | 4; - HEAP32[(21388)>>2] = $612; + HEAP32[(20436)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -42475,35 +36777,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(21376)>>2]|0; + $626 = HEAP32[(20424)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(21376)>>2] = $627; - $628 = HEAP32[(21380)>>2]|0; + HEAP32[(20424)>>2] = $627; + $628 = HEAP32[(20428)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(21380)>>2] = $627; + HEAP32[(20428)>>2] = $627; } - $630 = HEAP32[(20968)>>2]|0; + $630 = HEAP32[(20016)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(20960)>>2]|0; + $632 = HEAP32[(20008)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(20960)>>2] = $$749$i; + HEAP32[(20008)>>2] = $$749$i; } - HEAP32[(21392)>>2] = $$749$i; - HEAP32[(21396)>>2] = $$723948$i; - HEAP32[(21404)>>2] = 0; - $635 = HEAP32[5354]|0; - HEAP32[(20980)>>2] = $635; - HEAP32[(20976)>>2] = -1; + HEAP32[(20440)>>2] = $$749$i; + HEAP32[(20444)>>2] = $$723948$i; + HEAP32[(20452)>>2] = 0; + $635 = HEAP32[5116]|0; + HEAP32[(20028)>>2] = $635; + HEAP32[(20024)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (20984 + ($636<<2)|0); + $637 = (20032 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -42526,18 +36828,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(20968)>>2] = $649; - HEAP32[(20956)>>2] = $650; + HEAP32[(20016)>>2] = $649; + HEAP32[(20004)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(21432)>>2]|0; - HEAP32[(20972)>>2] = $655; + $655 = HEAP32[(20480)>>2]|0; + HEAP32[(20020)>>2] = $655; } else { - $$024371$i = (21392); + $$024371$i = (20440); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -42569,7 +36871,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(20956)>>2]|0; + $671 = HEAP32[(20004)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -42580,30 +36882,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(20968)>>2] = $679; - HEAP32[(20956)>>2] = $681; + HEAP32[(20016)>>2] = $679; + HEAP32[(20004)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(21432)>>2]|0; - HEAP32[(20972)>>2] = $686; + $686 = HEAP32[(20480)>>2]|0; + HEAP32[(20020)>>2] = $686; break; } } } - $687 = HEAP32[(20960)>>2]|0; + $687 = HEAP32[(20008)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(20960)>>2] = $$749$i; + HEAP32[(20008)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (21392); + $$124470$i = (20440); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -42658,21 +36960,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(20956)>>2]|0; + $726 = HEAP32[(20004)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(20956)>>2] = $727; - HEAP32[(20968)>>2] = $721; + HEAP32[(20004)>>2] = $727; + HEAP32[(20016)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(20964)>>2]|0; + $730 = HEAP32[(20012)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(20952)>>2]|0; + $732 = HEAP32[(20000)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(20952)>>2] = $733; - HEAP32[(20964)>>2] = $721; + HEAP32[(20000)>>2] = $733; + HEAP32[(20012)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -42695,7 +36997,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (20984 + ($748<<2)|0); + $749 = (20032 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -42718,9 +37020,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5236]|0; + $759 = HEAP32[4998]|0; $760 = $759 & $758; - HEAP32[5236] = $760; + HEAP32[4998] = $760; break; } $761 = ($747|0)==($749|0); @@ -42833,7 +37135,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21248 + ($796<<2)|0); + $797 = (20296 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -42845,12 +37147,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(20948)>>2]|0; + $802 = HEAP32[(19996)>>2]|0; $803 = $802 & $801; - HEAP32[(20948)>>2] = $803; + HEAP32[(19996)>>2] = $803; break L314; } else { - $804 = HEAP32[(20960)>>2]|0; + $804 = HEAP32[(20008)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -42871,7 +37173,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(20960)>>2]|0; + $810 = HEAP32[(20008)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -42903,7 +37205,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(20960)>>2]|0; + $822 = HEAP32[(20008)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -42936,21 +37238,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (20984 + ($836<<2)|0); - $838 = HEAP32[5236]|0; + $837 = (20032 + ($836<<2)|0); + $838 = HEAP32[4998]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5236] = $842; + HEAP32[4998] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(20960)>>2]|0; + $845 = HEAP32[(20008)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -43005,20 +37307,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21248 + ($$0296$i$i<<2)|0); + $875 = (20296 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(20948)>>2]|0; + $879 = HEAP32[(19996)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(20948)>>2] = $883; + HEAP32[(19996)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -43057,7 +37359,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(20960)>>2]|0; + $902 = HEAP32[(20008)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -43076,7 +37378,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(20960)>>2]|0; + $909 = HEAP32[(20008)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -43103,7 +37405,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (21392); + $$0$i$i$i = (20440); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -43144,23 +37446,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(20968)>>2] = $946; - HEAP32[(20956)>>2] = $947; + HEAP32[(20016)>>2] = $946; + HEAP32[(20004)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(21432)>>2]|0; - HEAP32[(20972)>>2] = $952; + $952 = HEAP32[(20480)>>2]|0; + HEAP32[(20020)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(21392)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21392)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21392)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21392)+12>>2]|0; - HEAP32[(21392)>>2] = $$749$i; - HEAP32[(21396)>>2] = $$723948$i; - HEAP32[(21404)>>2] = 0; - HEAP32[(21400)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(20440)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(20440)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(20440)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(20440)+12>>2]|0; + HEAP32[(20440)>>2] = $$749$i; + HEAP32[(20444)>>2] = $$723948$i; + HEAP32[(20452)>>2] = 0; + HEAP32[(20448)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -43189,20 +37491,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (20984 + ($968<<2)|0); - $970 = HEAP32[5236]|0; + $969 = (20032 + ($968<<2)|0); + $970 = HEAP32[4998]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5236] = $974; + HEAP32[4998] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(20960)>>2]|0; + $977 = HEAP32[(20008)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -43254,19 +37556,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21248 + ($$0212$i$i<<2)|0); + $1007 = (20296 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(20948)>>2]|0; + $1010 = HEAP32[(19996)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(20948)>>2] = $1014; + HEAP32[(19996)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -43305,7 +37607,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(20960)>>2]|0; + $1033 = HEAP32[(20008)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -43324,7 +37626,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(20960)>>2]|0; + $1040 = HEAP32[(20008)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -43347,14 +37649,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(20956)>>2]|0; + $1048 = HEAP32[(20004)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(20956)>>2] = $1050; - $1051 = HEAP32[(20968)>>2]|0; + HEAP32[(20004)>>2] = $1050; + $1051 = HEAP32[(20016)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(20968)>>2] = $1052; + HEAP32[(20016)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -43397,7 +37699,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(20960)>>2]|0; + $3 = HEAP32[(20008)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -43430,7 +37732,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(20964)>>2]|0; + $19 = HEAP32[(20012)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -43445,7 +37747,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(20952)>>2] = $17; + HEAP32[(20000)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -43459,7 +37761,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (20984 + ($27<<2)|0); + $28 = (20032 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -43479,9 +37781,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5236]|0; + $37 = HEAP32[4998]|0; $38 = $37 & $36; - HEAP32[5236] = $38; + HEAP32[4998] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -43595,7 +37897,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21248 + ($74<<2)|0); + $75 = (20296 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -43605,14 +37907,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(20948)>>2]|0; + $80 = HEAP32[(19996)>>2]|0; $81 = $80 & $79; - HEAP32[(20948)>>2] = $81; + HEAP32[(19996)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(20960)>>2]|0; + $82 = HEAP32[(20008)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -43634,7 +37936,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(20960)>>2]|0; + $88 = HEAP32[(20008)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -43666,7 +37968,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(20960)>>2]|0; + $100 = HEAP32[(20008)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -43701,14 +38003,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(20968)>>2]|0; + $120 = HEAP32[(20016)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(20964)>>2]|0; + $122 = HEAP32[(20012)>>2]|0; if ($121) { - $123 = HEAP32[(20956)>>2]|0; + $123 = HEAP32[(20004)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(20956)>>2] = $124; - HEAP32[(20968)>>2] = $$1; + HEAP32[(20004)>>2] = $124; + HEAP32[(20016)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -43716,16 +38018,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(20964)>>2] = 0; - HEAP32[(20952)>>2] = 0; + HEAP32[(20012)>>2] = 0; + HEAP32[(20000)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(20952)>>2]|0; + $129 = HEAP32[(20000)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(20952)>>2] = $130; - HEAP32[(20964)>>2] = $113; + HEAP32[(20000)>>2] = $130; + HEAP32[(20012)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -43744,10 +38046,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (20984 + ($142<<2)|0); + $143 = (20032 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(20960)>>2]|0; + $145 = HEAP32[(20008)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -43765,9 +38067,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5236]|0; + $153 = HEAP32[4998]|0; $154 = $153 & $152; - HEAP32[5236] = $154; + HEAP32[4998] = $154; break; } $155 = ($141|0)==($143|0); @@ -43775,7 +38077,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(20960)>>2]|0; + $156 = HEAP32[(20008)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -43835,7 +38137,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(20960)>>2]|0; + $189 = HEAP32[(20008)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -43848,7 +38150,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(20960)>>2]|0; + $169 = HEAP32[(20008)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -43879,7 +38181,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21248 + ($193<<2)|0); + $194 = (20296 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -43889,13 +38191,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(20948)>>2]|0; + $199 = HEAP32[(19996)>>2]|0; $200 = $199 & $198; - HEAP32[(20948)>>2] = $200; + HEAP32[(19996)>>2] = $200; break L108; } } else { - $201 = HEAP32[(20960)>>2]|0; + $201 = HEAP32[(20008)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -43916,7 +38218,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(20960)>>2]|0; + $207 = HEAP32[(20008)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -43946,7 +38248,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(20960)>>2]|0; + $219 = HEAP32[(20008)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -43967,10 +38269,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(20964)>>2]|0; + $226 = HEAP32[(20012)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(20952)>>2] = $135; + HEAP32[(20000)>>2] = $135; return; } else { $$2 = $135; @@ -43989,20 +38291,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (20984 + ($234<<2)|0); - $236 = HEAP32[5236]|0; + $235 = (20032 + ($234<<2)|0); + $236 = HEAP32[4998]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5236] = $240; + HEAP32[4998] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(20960)>>2]|0; + $243 = HEAP32[(20008)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -44054,21 +38356,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21248 + ($$0396<<2)|0); + $273 = (20296 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(20948)>>2]|0; + $277 = HEAP32[(19996)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(20948)>>2] = $281; + HEAP32[(19996)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -44106,7 +38408,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(20960)>>2]|0; + $300 = HEAP32[(20008)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -44125,7 +38427,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(20960)>>2]|0; + $307 = HEAP32[(20008)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -44147,12 +38449,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(20976)>>2]|0; + $314 = HEAP32[(20024)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(20976)>>2] = $315; + HEAP32[(20024)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (21400); + $$0212$in$i = (20448); } else { return; } @@ -44166,7 +38468,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(20976)>>2] = -1; + HEAP32[(20024)>>2] = -1; return; } function _calloc($0,$1) { @@ -45421,7 +39723,7 @@ var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_ var FUNCTION_TABLE_ii = [b5,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5,b5]; var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,___stdio_write,___stdio_seek,___stdout_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_read,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,b8,b8,b8,b8,b8,b8]; var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; diff --git a/docs/examples/img/audio/audio_music_stream.png b/docs/examples/web/audio/audio_music_stream.png similarity index 100% rename from docs/examples/img/audio/audio_music_stream.png rename to docs/examples/web/audio/audio_music_stream.png diff --git a/docs/examples/web/audio/audio_raw_stream.js b/docs/examples/web/audio/audio_raw_stream.js index 6b38e6b1a..6d540f317 100644 --- a/docs/examples/web/audio/audio_raw_stream.js +++ b/docs/examples/web/audio/audio_raw_stream.js @@ -1205,11 +1205,82 @@ 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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); } +if (!Module['reallocBuffer']) Module['reallocBuffer'] = function(size) { + var ret; + try { + if (ArrayBuffer.transfer) { + ret = ArrayBuffer.transfer(buffer, size); + } else { + var oldHEAP8 = HEAP8; + ret = new ArrayBuffer(size); + var temp = new Int8Array(ret); + temp.set(oldHEAP8); + } + } catch(e) { + return false; + } + var success = _emscripten_replace_memory(ret); + if (!success) return false; + return ret; +}; function enlargeMemory() { - abortOnCannotGrowMemory(); + // TOTAL_MEMORY is the current size of the actual array, and DYNAMICTOP is the new top. + assert(HEAP32[DYNAMICTOP_PTR>>2] > TOTAL_MEMORY); // This function should only ever be called after the ceiling of the dynamic heap has already been bumped to exceed the current total size of the asm.js heap. + + + var PAGE_MULTIPLE = Module["usingWasm"] ? WASM_PAGE_SIZE : ASMJS_PAGE_SIZE; // In wasm, heap size must be a multiple of 64KB. In asm.js, they need to be multiples of 16MB. + var LIMIT = 2147483648 - PAGE_MULTIPLE; // We can do one page short of 2GB as theoretical maximum. + + if (HEAP32[DYNAMICTOP_PTR>>2] > LIMIT) { + Module.printErr('Cannot enlarge memory, asked to go up to ' + HEAP32[DYNAMICTOP_PTR>>2] + ' bytes, but the limit is ' + LIMIT + ' bytes!'); + return false; + } + + var OLD_TOTAL_MEMORY = TOTAL_MEMORY; + TOTAL_MEMORY = Math.max(TOTAL_MEMORY, MIN_TOTAL_MEMORY); // So the loop below will not be infinite, and minimum asm.js memory size is 16MB. + + while (TOTAL_MEMORY < HEAP32[DYNAMICTOP_PTR>>2]) { // Keep incrementing the heap size as long as it's less than what is requested. + if (TOTAL_MEMORY <= 536870912) { + TOTAL_MEMORY = alignUp(2 * TOTAL_MEMORY, PAGE_MULTIPLE); // Simple heuristic: double until 1GB... + } else { + TOTAL_MEMORY = Math.min(alignUp((3 * TOTAL_MEMORY + 2147483648) / 4, PAGE_MULTIPLE), LIMIT); // ..., but after that, add smaller increments towards 2GB, which we cannot reach + } + } + + var start = Date.now(); + + var replacement = Module['reallocBuffer'](TOTAL_MEMORY); + if (!replacement || replacement.byteLength != TOTAL_MEMORY) { + Module.printErr('Failed to grow the heap from ' + OLD_TOTAL_MEMORY + ' bytes to ' + TOTAL_MEMORY + ' bytes, not enough memory!'); + if (replacement) { + Module.printErr('Expected to get back a buffer of size ' + TOTAL_MEMORY + ' bytes, but instead got back a buffer of size ' + replacement.byteLength); + } + return false; + } + + // everything worked + + updateGlobalBuffer(replacement); + updateGlobalBufferViews(); + + Module.printErr('enlarged memory arrays from ' + OLD_TOTAL_MEMORY + ' to ' + TOTAL_MEMORY + ', took ' + (Date.now() - start) + ' ms (has ArrayBuffer.transfer? ' + (!!ArrayBuffer.transfer) + ')'); + + if (!Module["usingWasm"]) { + Module.printErr('Warning: Enlarging memory arrays, this is not fast! ' + [OLD_TOTAL_MEMORY, TOTAL_MEMORY]); + } + + + return true; } +var byteLength; +try { + byteLength = Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength').get); + byteLength(new ArrayBuffer(4)); // can fail on older ie +} catch(e) { // can fail on older node/v8 + byteLength = function(buffer) { return buffer.byteLength; }; +} var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; @@ -7510,22 +7581,31 @@ function invoke_viiii(index,a1,a2,a3,a4) { } } -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.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity, "byteLength": byteLength }; Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetCursorPos": _glfwGetCursorPos, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; // EMSCRIPTEN_START_ASM var asm = (function(global, env, buffer) { - 'use asm'; + '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 Int8View = global.Int8Array; + var Int16View = global.Int16Array; + var Int32View = global.Int32Array; + var Uint8View = global.Uint8Array; + var Uint16View = global.Uint16Array; + var Uint32View = global.Uint32Array; + var Float32View = global.Float32Array; + var Float64View = global.Float64Array; + var HEAP8 = new Int8View(buffer); + var HEAP16 = new Int16View(buffer); + var HEAP32 = new Int32View(buffer); + var HEAPU8 = new Uint8View(buffer); + var HEAPU16 = new Uint16View(buffer); + var HEAPU32 = new Uint32View(buffer); + var HEAPF32 = new Float32View(buffer); + var HEAPF64 = new Float64View(buffer); + var byteLength = global.byteLength; var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; @@ -7918,6 +7998,20 @@ var asm = (function(global, env, buffer) { var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; var tempFloat = 0.0; +function _emscripten_replace_memory(newBuffer) { + if ((byteLength(newBuffer) & 0xffffff || byteLength(newBuffer) <= 0xffffff) || byteLength(newBuffer) > 0x80000000) return false; + HEAP8 = new Int8View(newBuffer); + HEAP16 = new Int16View(newBuffer); + HEAP32 = new Int32View(newBuffer); + HEAPU8 = new Uint8View(newBuffer); + HEAPU16 = new Uint16View(newBuffer); + HEAPU32 = new Uint32View(newBuffer); + HEAPF32 = new Float32View(newBuffer); + HEAPF64 = new Float64View(newBuffer); + buffer = newBuffer; + return true; +} + // EMSCRIPTEN_START_FUNCS function stackAlloc(size) { @@ -8094,6 +8188,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -8193,13 +8337,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -9150,45 +9287,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; @@ -24865,7 +24963,7 @@ var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, ___errno_location: ___errno_location, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, _llvm_bswap_i32: _llvm_bswap_i32, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, ___errno_location: ___errno_location, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, _llvm_bswap_i32: _llvm_bswap_i32, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, _emscripten_replace_memory: _emscripten_replace_memory, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; }) // EMSCRIPTEN_END_ASM (Module.asmGlobalArg, Module.asmLibraryArg, buffer); @@ -25061,6 +25159,7 @@ var _memmove = Module["_memmove"] = asm["_memmove"]; var _strstr = Module["_strstr"] = asm["_strstr"]; var stackRestore = Module["stackRestore"] = asm["stackRestore"]; var _malloc = Module["_malloc"] = asm["_malloc"]; +var _emscripten_replace_memory = Module["_emscripten_replace_memory"] = asm["_emscripten_replace_memory"]; var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; diff --git a/docs/examples/img/audio/audio_raw_stream.png b/docs/examples/web/audio/audio_raw_stream.png similarity index 100% rename from docs/examples/img/audio/audio_raw_stream.png rename to docs/examples/web/audio/audio_raw_stream.png diff --git a/games/raylib_demo/resources/audio/tanatana.ogg b/docs/examples/web/audio/audio_sound_loading.data similarity index 89% rename from games/raylib_demo/resources/audio/tanatana.ogg rename to docs/examples/web/audio/audio_sound_loading.data index 90b1795a0..f8a9c0275 100644 Binary files a/games/raylib_demo/resources/audio/tanatana.ogg and b/docs/examples/web/audio/audio_sound_loading.data differ diff --git a/docs/examples/web/audio/audio_sound_loading.js b/docs/examples/web/audio/audio_sound_loading.js index 240e14f72..8ace4af84 100644 --- a/docs/examples/web/audio/audio_sound_loading.js +++ b/docs/examples/web/audio/audio_sound_loading.js @@ -1,3 +1,191 @@ + +var Module; + +if (typeof Module === 'undefined') Module = {}; + +if (!Module.expectedDataFileDownloads) { + Module.expectedDataFileDownloads = 0; + Module.finishedDataFileDownloads = 0; +} +Module.expectedDataFileDownloads++; +(function() { + var loadPackage = function(metadata) { + + var PACKAGE_PATH; + if (typeof window === 'object') { + PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); + } else if (typeof location !== 'undefined') { + // worker + PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); + } else { + throw 'using preloaded data can only be done on a web page or in a web worker'; + } + var PACKAGE_NAME = 'audio/audio_sound_loading.data'; + var REMOTE_PACKAGE_BASE = 'audio_sound_loading.data'; + if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { + Module['locateFile'] = Module['locateFilePackage']; + Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); + } + var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? + Module['locateFile'](REMOTE_PACKAGE_BASE) : + ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); + + var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; + var PACKAGE_UUID = metadata.package_uuid; + + function fetchRemotePackage(packageName, packageSize, callback, errback) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', packageName, true); + xhr.responseType = 'arraybuffer'; + xhr.onprogress = function(event) { + var url = packageName; + var size = packageSize; + if (event.total) size = event.total; + if (event.loaded) { + if (!xhr.addedTotal) { + xhr.addedTotal = true; + if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; + Module.dataFileDownloads[url] = { + loaded: event.loaded, + total: size + }; + } else { + Module.dataFileDownloads[url].loaded = event.loaded; + } + var total = 0; + var loaded = 0; + var num = 0; + for (var download in Module.dataFileDownloads) { + var data = Module.dataFileDownloads[download]; + total += data.total; + loaded += data.loaded; + num++; + } + total = Math.ceil(total * Module.expectedDataFileDownloads/num); + if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); + } else if (!Module.dataFileDownloads) { + if (Module['setStatus']) Module['setStatus']('Downloading data...'); + } + }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } + xhr.onload = function(event) { + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } + }; + xhr.send(null); + }; + + function handleError(error) { + console.error('package error:', error); + }; + + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + if (fetchedCallback) { + fetchedCallback(data); + fetchedCallback = null; + } else { + fetched = data; + } + }, handleError); + + function runWithFS() { + + function assert(check, msg) { + if (!check) throw msg + new Error().stack; + } +Module['FS_createPath']('/', 'resources', true, true); + + function DataRequest(start, end, crunched, audio) { + this.start = start; + this.end = end; + this.crunched = crunched; + this.audio = audio; + } + DataRequest.prototype = { + requests: {}, + open: function(mode, name) { + this.name = name; + this.requests[name] = this; + Module['addRunDependency']('fp ' + this.name); + }, + send: function() {}, + onload: function() { + var byteArray = this.byteArray.subarray(this.start, this.end); + + this.finish(byteArray); + + }, + finish: function(byteArray) { + var that = this; + + Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + Module['removeRunDependency']('fp ' + that.name); + + this.requests[this.name] = null; + } + }; + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); + } + + + function processPackageData(arrayBuffer) { + Module.finishedDataFileDownloads++; + assert(arrayBuffer, 'Loading data file failed.'); + assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); + var byteArray = new Uint8Array(arrayBuffer); + var curr; + + // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though + // (we may be allocating before malloc is ready, during startup). + if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); + var ptr = Module['getMemory'](byteArray.length); + Module['HEAPU8'].set(byteArray, ptr); + DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + DataRequest.prototype.requests[files[i].filename].onload(); + } + Module['removeRunDependency']('datafile_audio/audio_sound_loading.data'); + + }; + Module['addRunDependency']('datafile_audio/audio_sound_loading.data'); + + if (!Module.preloadResults) Module.preloadResults = {}; + + Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; + if (fetched) { + processPackageData(fetched); + fetched = null; + } else { + fetchedCallback = processPackageData; + } + + } + if (Module['calledRun']) { + runWithFS(); + } else { + if (!Module['preRun']) Module['preRun'] = []; + Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it + } + + } + loadPackage({"files": [{"audio": 1, "start": 0, "crunched": 0, "end": 6246, "filename": "/resources/weird.wav"}, {"audio": 1, "start": 6246, "crunched": 0, "end": 63574, "filename": "/resources/tanatana.ogg"}], "remote_package_size": 63574, "package_uuid": "68f841aa-743f-48ff-b28d-eb8c71787251"}); + +})(); + // The Module object: Our interface to the outside world. We import // and export values on it, and do the work to get that through // closure compiler if necessary. There are various ways Module can be used: @@ -1592,7 +1780,7 @@ STATICTOP = STATIC_BASE + 24256; /* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,18,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,187,90,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,18,0,0,114,97,121,108,105,98,32,91,97,117,100,105,111,93,32,101,120,97,109,112,108,101,32,45,32,115,111,117,110,100,32,108,111,97,100,105,110,103,32,97,110,100,32,112,108,97,121,105,110,103,0,114,101,115,111,117,114,99,101,115,47,119,101,105,114,100,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,116,97,110,97,116,97,110,97,46,111,103,103,0,80,114,101,115,115,32,83,80,65,67,69,32,116,111,32,80,76,65,89,32,116,104,101,32,87,65,86,32,115,111,117,110,100,33,0,80,114,101,115,115,32,69,78,84,69,82,32,116,111,32,80,76,65,89,32,116,104,101,32,79,71,71,32,115,111,117,110,100,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,119,97,118,0,46,111,103,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,119,97,118,101,32,100,97,116,97,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,116,104,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,77,111,110,111,0,83,116,101,114,101,111,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,82,73,70,70,0,87,65,86,69,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,91,37,115,93,32,87,65,86,32,115,97,109,112,108,101,32,115,105,122,101,32,40,37,105,98,105,116,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,49,54,98,105,116,0,91,37,115,93,32,87,65,86,32,99,104,97,110,110,101,108,115,32,110,117,109,98,101,114,32,40,37,105,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,50,32,99,104,97,110,110,101,108,115,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,85,110,108,111,97,100,101,100,32,119,97,118,101,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,87,97,118,101,32,115,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,87,97,118,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,83,111,117,110,100,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,111,117,110,100,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,119,97,118,0,46,111,103,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,119,97,118,101,32,100,97,116,97,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,116,104,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,77,111,110,111,0,83,116,101,114,101,111,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,114,98,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,82,73,70,70,0,87,65,86,69,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,91,37,115,93,32,87,65,86,32,115,97,109,112,108,101,32,115,105,122,101,32,40,37,105,98,105,116,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,49,54,98,105,116,0,91,37,115,93,32,87,65,86,32,99,104,97,110,110,101,108,115,32,110,117,109,98,101,114,32,40,37,105,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,50,32,99,104,97,110,110,101,108,115,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,85,110,108,111,97,100,101,100,32,119,97,118,101,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,87,97,118,101,32,115,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,87,97,118,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,83,111,117,110,100,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,111,117,110,100,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -11089,6 +11277,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -11188,13 +11426,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -12145,45 +12376,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; @@ -16828,7 +17020,7 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,11451)|0); + $4 = (_fopen($0,11829)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; @@ -20570,7 +20762,7 @@ function _LoadWAV($0,$1) { $4 = sp + 88|0; $5 = sp + 64|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; - $6 = (_fopen($1,11451)|0); + $6 = (_fopen($1,11829)|0); $7 = ($6|0)==(0|0); if ($7) { HEAP32[$vararg_buffer>>2] = $1; @@ -21224,7 +21416,7 @@ function _stb_vorbis_open_filename($0,$1,$2) { $2 = $2|0; var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $3 = (_fopen($0,11451)|0); + $3 = (_fopen($0,11829)|0); $4 = ($3|0)==(0|0); if ($4) { $6 = ($1|0)==(0|0); @@ -21712,7 +21904,7 @@ function _convert_channels_short_interleaved($0,$1,$2,$3,$4,$5) { if ($9) { $$04956 = 0; } else { - ___assert_fail((11363|0),(10950|0),4749,(11374|0)); + ___assert_fail((11363|0),(10950|0),4759,(11374|0)); // unreachable; } while(1) { @@ -22048,7 +22240,7 @@ function _get_window($0,$1) { if ($8) { $$sink = 1; } else { - ___assert_fail((10948|0),(10950|0),2655,(10972|0)); + ___assert_fail((10948|0),(10950|0),2658,(10972|0)); // unreachable; } } @@ -22131,7 +22323,7 @@ function _vorbis_decode_initial($0,$1,$2,$3,$4,$5) { $28 = HEAP32[$27>>2]|0; $29 = ($26|0)==($28|0); if (!($29)) { - ___assert_fail((10983|0),(10950|0),2734,(11341|0)); + ___assert_fail((10983|0),(10950|0),2737,(11341|0)); // unreachable; } } @@ -22626,7 +22818,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $223 = HEAP32[$222>>2]|0; $224 = ($221|0)==($223|0); if (!($224)) { - ___assert_fail((10983|0),(10950|0),2883,(11039|0)); + ___assert_fail((10983|0),(10950|0),2886,(11039|0)); // unreachable; } } @@ -22750,7 +22942,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $281 = HEAP32[$280>>2]|0; $282 = ($279|0)==($281|0); if (!($282)) { - ___assert_fail((10983|0),(10950|0),2916,(11039|0)); + ___assert_fail((10983|0),(10950|0),2919,(11039|0)); // unreachable; } } @@ -22979,7 +23171,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $390 = HEAP32[$389>>2]|0; $391 = ($388|0)==($390|0); if (!($391)) { - ___assert_fail((10983|0),(10950|0),3032,(11039|0)); + ___assert_fail((10983|0),(10950|0),3035,(11039|0)); // unreachable; } } @@ -23071,69 +23263,82 @@ function _get_bits($0,$1) { function _ilog($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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; - $1 = ($0|0)<(16384); + $1 = ($0|0)<(0); if ($1) { - $2 = ($0|0)<(16); - if ($2) { - $3 = (11325 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $$0 = $5; + $$0 = 0; + return ($$0|0); + } + $2 = ($0|0)<(16384); + if ($2) { + $3 = ($0|0)<(16); + if ($3) { + $4 = (11325 + ($0)|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5 << 24 >> 24; + $$0 = $6; return ($$0|0); } - $6 = ($0|0)<(512); - if ($6) { - $7 = $0 >>> 5; - $8 = (11325 + ($7)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = (($10) + 5)|0; - $$0 = $11; + $7 = ($0|0)<(512); + if ($7) { + $8 = $0 >>> 5; + $9 = (11325 + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($11) + 5)|0; + $$0 = $12; return ($$0|0); } else { - $12 = $0 >>> 10; - $13 = (11325 + ($12)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = (($15) + 10)|0; - $$0 = $16; + $13 = $0 >>> 10; + $14 = (11325 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = (($16) + 10)|0; + $$0 = $17; return ($$0|0); } } - $17 = ($0|0)<(16777216); - if (!($17)) { - $29 = ($0|0)<(536870912); - if (!($29)) { - $$0 = 0; - return ($$0|0); - } - $30 = $0 >>> 25; - $31 = (11325 + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32 << 24 >> 24; - $34 = (($33) + 25)|0; - $$0 = $34; - return ($$0|0); - } - $18 = ($0|0)<(524288); + $18 = ($0|0)<(16777216); if ($18) { - $19 = $0 >>> 15; - $20 = (11325 + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21 << 24 >> 24; - $23 = (($22) + 15)|0; - $$0 = $23; - return ($$0|0); + $19 = ($0|0)<(524288); + if ($19) { + $20 = $0 >>> 15; + $21 = (11325 + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = (($23) + 15)|0; + $$0 = $24; + return ($$0|0); + } else { + $25 = $0 >>> 20; + $26 = (11325 + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = (($28) + 20)|0; + $$0 = $29; + return ($$0|0); + } } else { - $24 = $0 >>> 20; - $25 = (11325 + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; - $28 = (($27) + 20)|0; - $$0 = $28; - return ($$0|0); + $30 = ($0|0)<(536870912); + if ($30) { + $31 = $0 >>> 25; + $32 = (11325 + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = (($34) + 25)|0; + $$0 = $35; + return ($$0|0); + } else { + $36 = $0 >>> 30; + $37 = (11325 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = (($39) + 30)|0; + $$0 = $40; + return ($$0|0); + } } return (0)|0; } @@ -23297,7 +23502,7 @@ function _codebook_decode_scalar_raw($0,$1) { $50 = HEAP8[$49>>0]|0; $51 = ($50<<24>>24)==(0); if (!($51)) { - ___assert_fail((11287|0),(10950|0),1251,(11298|0)); + ___assert_fail((11287|0),(10950|0),1254,(11298|0)); // unreachable; } $52 = HEAP32[$8>>2]|0; @@ -24847,7 +25052,7 @@ function _get8_packet_raw($0) { $$pr = HEAP8[$1>>0]|0; $9 = ($$pr<<24>>24)==(0); if ($9) { - ___assert_fail((11065|0),(10950|0),1135,(11085|0)); + ___assert_fail((11065|0),(10950|0),1138,(11085|0)); // unreachable; } else { $11 = $$pr; @@ -24926,7 +25131,7 @@ function _next_segment($0) { $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)==(0); if (!($29)) { - ___assert_fail((11101|0),(10950|0),1121,(11122|0)); + ___assert_fail((11101|0),(10950|0),1124,(11122|0)); // unreachable; } HEAP8[$27>>0] = $20; @@ -25234,7 +25439,7 @@ function _imdct_step3_iter0_loop($0,$1,$2,$3,$4) { $6 = $0 & 3; $7 = ($6|0)==(0); if (!($7)) { - ___assert_fail((11135|0),(10950|0),2004,(11148|0)); + ___assert_fail((11135|0),(10950|0),2007,(11148|0)); // unreachable; } $8 = $0 >> 2; @@ -26090,7 +26295,7 @@ function _codebook_decode_deinterleave_repeat($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 12) { - ___assert_fail((11215|0),(10950|0),1433,(11251|0)); + ___assert_fail((11215|0),(10950|0),1436,(11251|0)); // unreachable; } $46 = ((($0)) + 1376|0); @@ -26387,7 +26592,7 @@ function _codebook_decode_start($0,$1) { $29 = HEAP32[$28>>2]|0; $30 = ($$1|0)<($29|0); if (!($30)) { - ___assert_fail((11171|0),(10950|0),1339,(11193|0)); + ___assert_fail((11171|0),(10950|0),1342,(11193|0)); // unreachable; } } @@ -27252,7 +27457,7 @@ function _stb_vorbis_open_file_section($0,$1,$2,$3,$4) { $14 = ($13|0)==(0|0); if (!($14)) { _memcpy(($13|0),($5|0),1512)|0; - _vorbis_pump_first_frame($13); + (_vorbis_pump_first_frame($13)|0); $$0 = $13; STACKTOP = sp;return ($$0|0); } @@ -29513,7 +29718,7 @@ function _start_decoder($0) { $868 = HEAP32[$867>>2]|0; $869 = ($866|0)==($868|0); if (!($869)) { - ___assert_fail((11454|0),(10950|0),3709,(11510|0)); + ___assert_fail((11451|0),(10950|0),3714,(11507|0)); // unreachable; } $870 = ((($0)) + 88|0); @@ -29554,13 +29759,13 @@ function _vorbis_pump_first_frame($0) { $4 = (_vorbis_decode_packet($0,$1,$3,$2)|0); $5 = ($4|0)==(0); if ($5) { - STACKTOP = sp;return; + STACKTOP = sp;return ($4|0); } $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$3>>2]|0; $8 = HEAP32[$2>>2]|0; (_vorbis_finish_frame($0,$6,$7,$8)|0); - STACKTOP = sp;return; + STACKTOP = sp;return ($4|0); } function _setup_malloc($0,$1) { $0 = $0|0; @@ -29607,7 +29812,7 @@ function _vorbis_validate($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (_memcmp($0,11826,6)|0); + $1 = (_memcmp($0,11823,6)|0); $2 = ($1|0)==(0); $3 = $2&1; return ($3|0); @@ -29985,7 +30190,7 @@ function _compute_codewords($0,$1,$2,$3) { $$2 = 1; STACKTOP = sp;return ($$2|0); } else { - ___assert_fail((11723|0),(10950|0),662,(11746|0)); + ___assert_fail((11720|0),(10950|0),665,(11743|0)); // unreachable; } } @@ -30118,15 +30323,15 @@ function _compute_codewords($0,$1,$2,$3) { } } if ((label|0) == 17) { - ___assert_fail((11764|0),(10950|0),685,(11746|0)); + ___assert_fail((11761|0),(10950|0),688,(11743|0)); // unreachable; } else if ((label|0) == 21) { - ___assert_fail((11781|0),(10950|0),690,(11746|0)); + ___assert_fail((11778|0),(10950|0),693,(11743|0)); // unreachable; } else if ((label|0) == 23) { - ___assert_fail((11808|0),(10950|0),692,(11746|0)); + ___assert_fail((11805|0),(10950|0),695,(11743|0)); // unreachable; } else if ((label|0) == 25) { @@ -30191,7 +30396,7 @@ function _compute_sorted_huffman($0,$1,$2) { $33 = HEAP32[$32>>2]|0; $34 = ($$084$lcssa|0)==($33|0); if (!($34)) { - ___assert_fail((11615|0),(10950|0),759,(11638|0)); + ___assert_fail((11612|0),(10950|0),762,(11635|0)); // unreachable; } } else { @@ -30325,7 +30530,7 @@ function _compute_sorted_huffman($0,$1,$2) { } } if ((label|0) == 21) { - ___assert_fail((11661|0),(10950|0),789,(11638|0)); + ___assert_fail((11658|0),(10950|0),792,(11635|0)); // unreachable; } else if ((label|0) == 26) { @@ -30460,7 +30665,7 @@ function _lookup1_values($0,$1) { $24 = (+($0|0)); $25 = $23 > $24; if (!($25)) { - ___assert_fail((11524|0),(10950|0),814,(11556|0)); + ___assert_fail((11521|0),(10950|0),817,(11553|0)); // unreachable; } $26 = $20; @@ -30469,7 +30674,7 @@ function _lookup1_values($0,$1) { $29 = (~~(($28))); $30 = ($29|0)>($0|0); if ($30) { - ___assert_fail((11571|0),(10950|0),815,(11556|0)); + ___assert_fail((11568|0),(10950|0),818,(11553|0)); // unreachable; } else { return ($$|0); @@ -30781,7 +30986,7 @@ function _include_in_sort($0,$1) { return ($$$|0); } if ($5) { - ___assert_fail((11692|0),(10950|0),739,(11707|0)); + ___assert_fail((11689|0),(10950|0),742,(11704|0)); // unreachable; } else { return 1; diff --git a/docs/examples/img/audio/audio_sound_loading.png b/docs/examples/web/audio/audio_sound_loading.png similarity index 100% rename from docs/examples/img/audio/audio_sound_loading.png rename to docs/examples/web/audio/audio_sound_loading.png diff --git a/docs/examples/web/loader.html b/docs/examples/web/audio/loader.html similarity index 95% rename from docs/examples/web/loader.html rename to docs/examples/web/audio/loader.html index 84a41d05c..93d7260f3 100644 --- a/docs/examples/web/loader.html +++ b/docs/examples/web/audio/loader.html @@ -36,7 +36,7 @@ } #eximage { width: 802px; height: 452px; text-align: center; } #eximage img { margin: 0 auto; border: 1px solid; border-color: black; } - #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; } + #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; background: black; } pre { width: 802px!important;} pre code{ border: 1px solid; border-color:#b0b0b0; height:auto; } .exdownbtn{ margin-right: 20px; width:220px; height:30px; float:left; position: relative; cursor:pointer; font-weight:bold; font-size:10px; @@ -58,8 +58,9 @@ document.title = "raylib - " + name.replace('_', ' '); - var srcUrl = '../src/' + name + '.c'; - var imgUrl = '../img/' + name + '.png'; + var type = name.substring(0, name.indexOf("_")); + var srcUrl = '../../src/' + type + '/' + name + '.c'; + var imgUrl = '../' + type + '/' + name + '.png'; $('#eximage img').attr('src', imgUrl); @@ -69,8 +70,8 @@ }, 'text'); // Quick hack for some examples not working on web - if ((name == "core/core_drop_files") || - (name == "core/core_storage_values")) + if ((name == "core_drop_files") || + (name == "core_storage_values")) { $('#eximage').append(' '); } @@ -85,7 +86,7 @@ Module.canvas = document.getElementById('canvas'); Module.canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false); - var jsUrl = '../web/' + name + '.js'; + var jsUrl = name + '.js'; // Run emscripten example $.getScript(jsUrl, function() {}); diff --git a/docs/examples/web/core/core_2d_camera.js b/docs/examples/web/core/core_2d_camera.js index 7215991c5..c8f52ab5e 100644 --- a/docs/examples/web/core/core_2d_camera.js +++ b/docs/examples/web/core/core_2d_camera.js @@ -7541,6 +7541,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7640,13 +7690,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8597,45 +8640,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/core/core_2d_camera.png b/docs/examples/web/core/core_2d_camera.png similarity index 100% rename from docs/examples/img/core/core_2d_camera.png rename to docs/examples/web/core/core_2d_camera.png diff --git a/docs/examples/web/core/core_3d_camera_first_person.js b/docs/examples/web/core/core_3d_camera_first_person.js index b436e2cc0..8ffd215f8 100644 --- a/docs/examples/web/core/core_3d_camera_first_person.js +++ b/docs/examples/web/core/core_3d_camera_first_person.js @@ -7407,30 +7407,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7565,13 +7615,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8694,45 +8737,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/core/core_3d_camera_first_person.png b/docs/examples/web/core/core_3d_camera_first_person.png similarity index 100% rename from docs/examples/img/core/core_3d_camera_first_person.png rename to docs/examples/web/core/core_3d_camera_first_person.png diff --git a/docs/examples/web/core/core_3d_camera_free.js b/docs/examples/web/core/core_3d_camera_free.js index 7e0492c72..c47a9300b 100644 --- a/docs/examples/web/core/core_3d_camera_free.js +++ b/docs/examples/web/core/core_3d_camera_free.js @@ -7319,30 +7319,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7477,13 +7527,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8606,45 +8649,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/core/core_3d_camera_free.png b/docs/examples/web/core/core_3d_camera_free.png similarity index 100% rename from docs/examples/img/core/core_3d_camera_free.png rename to docs/examples/web/core/core_3d_camera_free.png diff --git a/docs/examples/web/core/core_3d_mode.js b/docs/examples/web/core/core_3d_mode.js index 5e2694f2d..586523d88 100644 --- a/docs/examples/web/core/core_3d_mode.js +++ b/docs/examples/web/core/core_3d_mode.js @@ -7226,30 +7226,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7384,13 +7434,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8513,45 +8556,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/core/core_3d_mode.png b/docs/examples/web/core/core_3d_mode.png similarity index 100% rename from docs/examples/img/core/core_3d_mode.png rename to docs/examples/web/core/core_3d_mode.png diff --git a/docs/examples/web/core/core_3d_picking.js b/docs/examples/web/core/core_3d_picking.js index e57a90270..bede3216d 100644 --- a/docs/examples/web/core/core_3d_picking.js +++ b/docs/examples/web/core/core_3d_picking.js @@ -7390,30 +7390,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7548,13 +7598,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8982,45 +9025,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/core/core_3d_picking.png b/docs/examples/web/core/core_3d_picking.png similarity index 100% rename from docs/examples/img/core/core_3d_picking.png rename to docs/examples/web/core/core_3d_picking.png diff --git a/docs/examples/web/core/core_basic_window.js b/docs/examples/web/core/core_basic_window.js index aa5dd7f3e..c91e59a97 100644 --- a/docs/examples/web/core/core_basic_window.js +++ b/docs/examples/web/core/core_basic_window.js @@ -7190,6 +7190,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7289,13 +7339,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8246,45 +8289,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/core/core_basic_window.png b/docs/examples/web/core/core_basic_window.png similarity index 100% rename from docs/examples/img/core/core_basic_window.png rename to docs/examples/web/core/core_basic_window.png diff --git a/docs/examples/web/core/core_color_select.js b/docs/examples/web/core/core_color_select.js index ee9cc0892..71fd0cdea 100644 --- a/docs/examples/web/core/core_color_select.js +++ b/docs/examples/web/core/core_color_select.js @@ -7327,6 +7327,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorTransform($0,$1) { $0 = $0|0; $1 = $1|0; @@ -7385,13 +7435,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8126,45 +8169,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/core/core_color_select.png b/docs/examples/web/core/core_color_select.png similarity index 100% rename from docs/examples/img/core/core_color_select.png rename to docs/examples/web/core/core_color_select.png diff --git a/docs/examples/img/core/core_drop_files.png b/docs/examples/web/core/core_drop_files.png similarity index 100% rename from docs/examples/img/core/core_drop_files.png rename to docs/examples/web/core/core_drop_files.png diff --git a/docs/examples/web/core/core_gestures_detection.js b/docs/examples/web/core/core_gestures_detection.js index b873dd24c..8079be199 100644 --- a/docs/examples/web/core/core_gestures_detection.js +++ b/docs/examples/web/core/core_gestures_detection.js @@ -7477,6 +7477,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7576,13 +7626,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8533,45 +8576,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/core/core_gestures_detection.png b/docs/examples/web/core/core_gestures_detection.png similarity index 100% rename from docs/examples/img/core/core_gestures_detection.png rename to docs/examples/web/core/core_gestures_detection.png diff --git a/docs/examples/web/core/core_input_gamepad.js b/docs/examples/web/core/core_input_gamepad.js index 9307e124f..42e725492 100644 --- a/docs/examples/web/core/core_input_gamepad.js +++ b/docs/examples/web/core/core_input_gamepad.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 19345, "filename": "/resources/ps3.png"}, {"audio": 0, "start": 19345, "crunched": 0, "end": 35522, "filename": "/resources/xbox.png"}], "remote_package_size": 35522, "package_uuid": "29c15fea-3ce8-47b7-b6e2-bef9193ab6d3"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 19345, "filename": "/resources/ps3.png"}, {"audio": 0, "start": 19345, "crunched": 0, "end": 35522, "filename": "/resources/xbox.png"}], "remote_package_size": 35522, "package_uuid": "b936cb1a-6a6f-4da0-8fc1-94233d0138ba"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 22288; +STATICTOP = STATIC_BASE + 22272; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,83,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,99,111,114,101,93,32,101,120,97,109,112,108,101,32,45,32,103,97,109,101,112,97,100,32,105,110,112,117,116,0,114,101,115,111,117,114,99,101,115,47,112,115,51,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,120,98,111,120,46,112,110,103,0,71,80,49,58,32,37,115,0,88,98,111,120,32,51,54,48,32,67,111,110,116,114,111,108,108,101,114,0,80,76,65,89,83,84,65,84,73,79,78,40,82,41,51,32,67,111,110,116,114,111,108,108,101,114,0,45,32,71,69,78,69,82,73,67,32,71,65,77,69,80,65,68,32,45,0,68,69,84,69,67,84,69,68,32,65,88,73,83,32,91,37,105,93,58,0,65,88,73,83,32,37,105,58,32,37,46,48,50,102,0,68,69,84,69,67,84,69,68,32,66,85,84,84,79,78,58,32,37,105,0,68,69,84,69,67,84,69,68,32,66,85,84,84,79,78,58,32,78,79,78,69,0,71,80,49,58,32,78,79,84,32,68,69,84,69,67,84,69,68,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,251,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,99,111,114,101,93,32,101,120,97,109,112,108,101,32,45,32,103,97,109,101,112,97,100,32,105,110,112,117,116,0,114,101,115,111,117,114,99,101,115,47,112,115,51,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,120,98,111,120,46,112,110,103,0,71,80,49,58,32,37,115,0,88,98,111,120,32,51,54,48,32,67,111,110,116,114,111,108,108,101,114,0,80,76,65,89,83,84,65,84,73,79,78,40,82,41,51,32,67,111,110,116,114,111,108,108,101,114,0,45,32,71,69,78,69,82,73,67,32,71,65,77,69,80,65,68,32,45,0,68,69,84,69,67,84,69,68,32,65,88,73,83,32,91,37,105,93,58,0,65,88,73,83,32,37,105,58,32,37,46,48,50,102,0,68,69,84,69,67,84,69,68,32,66,85,84,84,79,78,58,32,37,105,0,68,69,84,69,67,84,69,68,32,66,85,84,84,79,78,58,32,78,79,78,69,0,71,80,49,58,32,78,79,84,32,68,69,84,69,67,84,69,68,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10471,13 +10471,13 @@ function _main() { $3 = HEAP32[3]|0; _InitWindow($2,$3,4120); _LoadTexture($0,4158); - ;HEAP32[16672>>2]=HEAP32[$0>>2]|0;HEAP32[16672+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16672+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16672+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16672+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[16984>>2]=HEAP32[$0>>2]|0;HEAP32[16984+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16984+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16984+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16984+16>>2]=HEAP32[$0+16>>2]|0; _LoadTexture($1,4176); - ;HEAP32[16692>>2]=HEAP32[$1>>2]|0;HEAP32[16692+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16692+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16692+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16692+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17004>>2]=HEAP32[$1>>2]|0;HEAP32[17004+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17004+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17004+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17004+16>>2]=HEAP32[$1+16>>2]|0; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$texXboxPad$byval_copy>>2]=HEAP32[16672>>2]|0;HEAP32[$texXboxPad$byval_copy+4>>2]=HEAP32[16672+4>>2]|0;HEAP32[$texXboxPad$byval_copy+8>>2]=HEAP32[16672+8>>2]|0;HEAP32[$texXboxPad$byval_copy+12>>2]=HEAP32[16672+12>>2]|0;HEAP32[$texXboxPad$byval_copy+16>>2]=HEAP32[16672+16>>2]|0; + ;HEAP32[$texXboxPad$byval_copy>>2]=HEAP32[16984>>2]|0;HEAP32[$texXboxPad$byval_copy+4>>2]=HEAP32[16984+4>>2]|0;HEAP32[$texXboxPad$byval_copy+8>>2]=HEAP32[16984+8>>2]|0;HEAP32[$texXboxPad$byval_copy+12>>2]=HEAP32[16984+12>>2]|0;HEAP32[$texXboxPad$byval_copy+16>>2]=HEAP32[16984+16>>2]|0; _UnloadTexture($texXboxPad$byval_copy); - ;HEAP32[$texXboxPad$byval_copy>>2]=HEAP32[16692>>2]|0;HEAP32[$texXboxPad$byval_copy+4>>2]=HEAP32[16692+4>>2]|0;HEAP32[$texXboxPad$byval_copy+8>>2]=HEAP32[16692+8>>2]|0;HEAP32[$texXboxPad$byval_copy+12>>2]=HEAP32[16692+12>>2]|0;HEAP32[$texXboxPad$byval_copy+16>>2]=HEAP32[16692+16>>2]|0; + ;HEAP32[$texXboxPad$byval_copy>>2]=HEAP32[17004>>2]|0;HEAP32[$texXboxPad$byval_copy+4>>2]=HEAP32[17004+4>>2]|0;HEAP32[$texXboxPad$byval_copy+8>>2]=HEAP32[17004+8>>2]|0;HEAP32[$texXboxPad$byval_copy+12>>2]=HEAP32[17004+12>>2]|0;HEAP32[$texXboxPad$byval_copy+16>>2]=HEAP32[17004+16>>2]|0; _UnloadTexture($texXboxPad$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10605,7 +10605,7 @@ function _UpdateDrawFrame() { HEAP8[$376>>0] = -56; $377 = ((($63)) + 3|0); HEAP8[$377>>0] = -1; - ;HEAP32[$texXboxPad$byval_copy73>>2]=HEAP32[16692>>2]|0;HEAP32[$texXboxPad$byval_copy73+4>>2]=HEAP32[16692+4>>2]|0;HEAP32[$texXboxPad$byval_copy73+8>>2]=HEAP32[16692+8>>2]|0;HEAP32[$texXboxPad$byval_copy73+12>>2]=HEAP32[16692+12>>2]|0;HEAP32[$texXboxPad$byval_copy73+16>>2]=HEAP32[16692+16>>2]|0; + ;HEAP32[$texXboxPad$byval_copy73>>2]=HEAP32[17004>>2]|0;HEAP32[$texXboxPad$byval_copy73+4>>2]=HEAP32[17004+4>>2]|0;HEAP32[$texXboxPad$byval_copy73+8>>2]=HEAP32[17004+8>>2]|0;HEAP32[$texXboxPad$byval_copy73+12>>2]=HEAP32[17004+12>>2]|0;HEAP32[$texXboxPad$byval_copy73+16>>2]=HEAP32[17004+16>>2]|0; ;HEAP8[$$byval_copy74>>0]=HEAP8[$63>>0]|0;HEAP8[$$byval_copy74+1>>0]=HEAP8[$63+1>>0]|0;HEAP8[$$byval_copy74+2>>0]=HEAP8[$63+2>>0]|0;HEAP8[$$byval_copy74+3>>0]=HEAP8[$63+3>>0]|0; _DrawTexture($texXboxPad$byval_copy73,0,0,$$byval_copy74); _EndDrawing(); @@ -10648,7 +10648,7 @@ function _UpdateDrawFrame() { HEAP8[$209>>0] = 80; $210 = ((($28)) + 3|0); HEAP8[$210>>0] = -1; - ;HEAP32[$texXboxPad$byval_copy73>>2]=HEAP32[16672>>2]|0;HEAP32[$texXboxPad$byval_copy73+4>>2]=HEAP32[16672+4>>2]|0;HEAP32[$texXboxPad$byval_copy73+8>>2]=HEAP32[16672+8>>2]|0;HEAP32[$texXboxPad$byval_copy73+12>>2]=HEAP32[16672+12>>2]|0;HEAP32[$texXboxPad$byval_copy73+16>>2]=HEAP32[16672+16>>2]|0; + ;HEAP32[$texXboxPad$byval_copy73>>2]=HEAP32[16984>>2]|0;HEAP32[$texXboxPad$byval_copy73+4>>2]=HEAP32[16984+4>>2]|0;HEAP32[$texXboxPad$byval_copy73+8>>2]=HEAP32[16984+8>>2]|0;HEAP32[$texXboxPad$byval_copy73+12>>2]=HEAP32[16984+12>>2]|0;HEAP32[$texXboxPad$byval_copy73+16>>2]=HEAP32[16984+16>>2]|0; ;HEAP8[$$byval_copy74>>0]=HEAP8[$28>>0]|0;HEAP8[$$byval_copy74+1>>0]=HEAP8[$28+1>>0]|0;HEAP8[$$byval_copy74+2>>0]=HEAP8[$28+2>>0]|0;HEAP8[$$byval_copy74+3>>0]=HEAP8[$28+3>>0]|0; _DrawTexture($texXboxPad$byval_copy73,0,0,$$byval_copy74); $211 = (_IsGamepadButtonDown(0,12)|0); @@ -10974,7 +10974,7 @@ function _UpdateDrawFrame() { HEAP8[$77>>0] = 80; $78 = ((($2)) + 3|0); HEAP8[$78>>0] = -1; - ;HEAP32[$texXboxPad$byval_copy73>>2]=HEAP32[16692>>2]|0;HEAP32[$texXboxPad$byval_copy73+4>>2]=HEAP32[16692+4>>2]|0;HEAP32[$texXboxPad$byval_copy73+8>>2]=HEAP32[16692+8>>2]|0;HEAP32[$texXboxPad$byval_copy73+12>>2]=HEAP32[16692+12>>2]|0;HEAP32[$texXboxPad$byval_copy73+16>>2]=HEAP32[16692+16>>2]|0; + ;HEAP32[$texXboxPad$byval_copy73>>2]=HEAP32[17004>>2]|0;HEAP32[$texXboxPad$byval_copy73+4>>2]=HEAP32[17004+4>>2]|0;HEAP32[$texXboxPad$byval_copy73+8>>2]=HEAP32[17004+8>>2]|0;HEAP32[$texXboxPad$byval_copy73+12>>2]=HEAP32[17004+12>>2]|0;HEAP32[$texXboxPad$byval_copy73+16>>2]=HEAP32[17004+16>>2]|0; ;HEAP8[$$byval_copy74>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy74+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy74+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy74+3>>0]=HEAP8[$2+3>>0]|0; _DrawTexture($texXboxPad$byval_copy73,0,0,$$byval_copy74); $79 = (_IsGamepadButtonDown(0,8)|0); @@ -11357,6 +11357,56 @@ function _UpdateDrawFrame() { STACKTOP = sp;return; } } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -11456,13 +11506,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -12072,7 +12115,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4179] = $2; + HEAP32[4257] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -12085,7 +12128,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16400; + $95 = 16712; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -12098,48 +12141,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16440; + $106 = 16752; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4110]; - $111 = +HEAPF32[4100]; + $110 = +HEAPF32[4188]; + $111 = +HEAPF32[4178]; $112 = $110 - $111; - HEAPF32[4112] = $112; - $113 = +HEAPF32[(16444)>>2]; - $114 = +HEAPF32[(16404)>>2]; + HEAPF32[4190] = $112; + $113 = +HEAPF32[(16756)>>2]; + $114 = +HEAPF32[(16716)>>2]; $115 = $113 - $114; - HEAPF32[(16452)>>2] = $115; - HEAP32[4178] = 4; + HEAPF32[(16764)>>2] = $115; + HEAP32[4256] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16432>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16432+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16456>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16456+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16744>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16744+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16768>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16768+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4184] = $116; - $117 = 16432; + HEAPF32[4262] = $116; + $117 = 16744; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16400; + $123 = 16712; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16456; + $127 = 16768; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16440; + $133 = 16752; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -12152,7 +12195,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16432; + $144 = 16744; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -12165,27 +12208,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16456; + $155 = 16768; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4114]; - $160 = +HEAPF32[4108]; + $159 = +HEAPF32[4192]; + $160 = +HEAPF32[4186]; $161 = $159 - $160; - HEAPF32[4112] = $161; - $162 = +HEAPF32[(16460)>>2]; - $163 = +HEAPF32[(16436)>>2]; + HEAPF32[4190] = $161; + $162 = +HEAPF32[(16772)>>2]; + $163 = +HEAPF32[(16748)>>2]; $164 = $162 - $163; - HEAPF32[(16452)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16400+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16432>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16432+4>>2]|0; + HEAPF32[(16764)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16744>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16744+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16440+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16456>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16456+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16752>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16752+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16768>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16768+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -12197,31 +12240,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16432>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16432+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16456>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16456+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16744>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16744+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16768>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16768+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4184]; + $170 = +HEAPF32[4262]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4178] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16432>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16432+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16456>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16456+4>>2]|0; + HEAP32[4256] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16744>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16744+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16768>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16768+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4185] = $174; + HEAPF32[4263] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4184] = 0.0; - HEAPF32[4185] = 0.0; - HEAPF32[4112] = 0.0; - HEAPF32[(16452)>>2] = 0.0; - HEAP32[4179] = 0; - HEAP32[4178] = 0; + HEAPF32[4262] = 0.0; + HEAPF32[4263] = 0.0; + HEAPF32[4190] = 0.0; + HEAPF32[(16764)>>2] = 0.0; + HEAP32[4257] = 0; + HEAP32[4256] = 0; STACKTOP = sp;return; break; } @@ -12231,22 +12274,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4180]|0; + $6 = HEAP32[4258]|0; $7 = (($6) + 1)|0; - HEAP32[4180] = $7; - $8 = HEAP32[4178]|0; + HEAP32[4258] = $7; + $8 = HEAP32[4256]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16400+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16712+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4178] = 2; - HEAP32[4180] = 0; + HEAP32[4256] = 2; + HEAP32[4258] = 0; } else { label = 6; } @@ -12254,8 +12297,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4180] = 1; - HEAP32[4178] = 1; + HEAP32[4258] = 1; + HEAP32[4256] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12264,19 +12307,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16400; + $21 = 16712; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16408; + $25 = 16720; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16416; + $29 = 16728; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12285,13 +12328,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4106] = 0.0; - HEAPF32[(16428)>>2] = 0.0; + HEAPF32[4184] = 0.0; + HEAPF32[(16740)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4178]|0; + $35 = HEAP32[4256]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12301,19 +12344,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16416; + $44 = 16728; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16400+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16416>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16416+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16728+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4181] = $49; - HEAP32[4182] = 0; + HEAPF32[4259] = $49; + HEAP32[4260] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -12321,11 +12364,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16400+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16416>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16416+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16728+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4183] = $56; + HEAPF32[4261] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12356,22 +12399,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4181] = 0.0; - HEAPF32[4183] = 0.0; + HEAPF32[4259] = 0.0; + HEAPF32[4261] = 0.0; $$sink10 = 0; } - HEAP32[4178] = $$sink10; - HEAPF32[4102] = 0.0; - HEAPF32[(16412)>>2] = 0.0; - HEAP32[4179] = 0; + HEAP32[4256] = $$sink10; + HEAPF32[4180] = 0.0; + HEAPF32[(16724)>>2] = 0.0; + HEAP32[4257] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4182]|0; + $65 = HEAP32[4260]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4182] = 1; + HEAP32[4260] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12380,31 +12423,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16432; + $74 = 16744; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4178]|0; + $78 = HEAP32[4256]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16400+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16432>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16432+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16744>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16744+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4178] = 8; + HEAP32[4256] = 8; } } - $82 = +HEAPF32[4108]; - $83 = +HEAPF32[4102]; + $82 = +HEAPF32[4186]; + $83 = +HEAPF32[4180]; $84 = $82 - $83; - HEAPF32[4106] = $84; - $85 = +HEAPF32[(16436)>>2]; - $86 = +HEAPF32[(16412)>>2]; + HEAPF32[4184] = $84; + $85 = +HEAPF32[(16748)>>2]; + $86 = +HEAPF32[(16724)>>2]; $87 = $85 - $86; - HEAPF32[(16428)>>2] = $87; + HEAPF32[(16740)>>2] = $87; STACKTOP = sp;return; break; } @@ -12413,58 +12456,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4178]|0; + $0 = HEAP32[4256]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4179]|0; + $2 = HEAP32[4257]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4178] = 4; + HEAP32[4256] = 4; } - $4 = HEAP32[4178]|0; + $4 = HEAP32[4256]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12477,14 +12481,14 @@ function _UpdateGestures() { return; } } - HEAP32[4178] = 0; + HEAP32[4256] = 0; return; } function _GetMousePosition($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 = 16464; + $1 = 16776; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12501,13 +12505,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4188]|0; + $0 = HEAP32[4266]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4187]|0; + $0 = HEAP32[4265]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -12519,7 +12523,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4365,$vararg_buffer); - HEAP32[4190] = $2; + HEAP32[4268] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -12532,15 +12536,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4394|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4188]|0; + $3 = HEAP32[4266]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4116] = $5; - $6 = HEAP32[4187]|0; + HEAPF32[4194] = $5; + $6 = HEAP32[4265]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16468)>>2] = $8; - $9 = HEAP32[4191]|0; + HEAPF32[(16780)>>2] = $8; + $9 = HEAP32[4269]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12559,11 +12563,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16504>>0]=HEAP8[8894>>0]|0;HEAP8[16504+1>>0]=HEAP8[8894+1>>0]|0;HEAP8[16504+2>>0]=HEAP8[8894+2>>0]|0;HEAP8[16504+3>>0]=HEAP8[8894+3>>0]|0;HEAP8[16504+4>>0]=HEAP8[8894+4>>0]|0;HEAP8[16504+5>>0]=HEAP8[8894+5>>0]|0;HEAP8[16504+6>>0]=HEAP8[8894+6>>0]|0; + ;HEAP8[16816>>0]=HEAP8[8894>>0]|0;HEAP8[16816+1>>0]=HEAP8[8894+1>>0]|0;HEAP8[16816+2>>0]=HEAP8[8894+2>>0]|0;HEAP8[16816+3>>0]=HEAP8[8894+3>>0]|0;HEAP8[16816+4>>0]=HEAP8[8894+4>>0]|0;HEAP8[16816+5>>0]=HEAP8[8894+5>>0]|0;HEAP8[16816+6>>0]=HEAP8[8894+6>>0]|0; break; } case 1: { - $3 = 16504; + $3 = 16816; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12572,11 +12576,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16504; src=8901; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16816; src=8901; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16504; + $7 = 16816; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12587,16 +12591,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16504,$1)|0); - $strlen = (_strlen(16504)|0); - $endptr = (16504 + ($strlen)|0); + (_strcat(16816,$1)|0); + $strlen = (_strlen(16816)|0); + $endptr = (16816 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16504,$2)|0); + (_vprintf(16816,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12628,22 +12632,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4188] = $0; - HEAP32[4187] = $1; + HEAP32[4266] = $0; + HEAP32[4265] = $1; _MatrixIdentity($2); - dest=16840; 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)); + dest=17152; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5036,$vararg_buffer); } - $6 = HEAP32[4188]|0; - HEAP32[4226] = $6; - $7 = HEAP32[4187]|0; - HEAP32[4227] = $7; + $6 = HEAP32[4266]|0; + HEAP32[4304] = $6; + $7 = HEAP32[4265]|0; + HEAP32[4305] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19572]|0; + $8 = HEAP8[19884]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12651,13 +12655,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19572]|0; + $11 = HEAP8[19884]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19572]|0; + $14 = HEAP8[19884]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -12679,18 +12683,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4228]|0; + $21 = HEAP32[4306]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4188]|0; - $48 = HEAP32[4187]|0; - $49 = HEAP32[4190]|0; + $47 = HEAP32[4266]|0; + $48 = HEAP32[4265]|0; + $49 = HEAP32[4268]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4186] = $50; - $51 = HEAP32[4188]|0; - HEAP32[4229] = $51; - $52 = HEAP32[4187]|0; - HEAP32[4230] = $52; + HEAP32[4264] = $50; + $51 = HEAP32[4266]|0; + HEAP32[4307] = $51; + $52 = HEAP32[4265]|0; + HEAP32[4308] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12699,9 +12703,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4188]|0; + $27 = HEAP32[4266]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4187]|0; + $29 = HEAP32[4265]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12723,25 +12727,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4226] = $31; - HEAP32[4227] = $34; + HEAP32[4304] = $31; + HEAP32[4305] = $34; } } while(0); - $38 = HEAP32[4226]|0; - $39 = HEAP32[4227]|0; + $38 = HEAP32[4304]|0; + $39 = HEAP32[4305]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5087,$vararg_buffer3); - $40 = HEAP32[4226]|0; - $41 = HEAP32[4227]|0; + $40 = HEAP32[4304]|0; + $41 = HEAP32[4305]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4226]|0; - $43 = HEAP32[4227]|0; - $44 = HEAP32[4190]|0; + $42 = HEAP32[4304]|0; + $43 = HEAP32[4305]|0; + $44 = HEAP32[4268]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4186] = $46; + HEAP32[4264] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12750,60 +12754,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5125,$vararg_buffer6); } else { _TraceLog(0,5158,$vararg_buffer8); - $55 = HEAP32[4229]|0; - $56 = HEAP32[4230]|0; + $55 = HEAP32[4307]|0; + $56 = HEAP32[4308]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5198,$vararg_buffer10); - $57 = HEAP32[4188]|0; - $58 = HEAP32[4187]|0; + $57 = HEAP32[4266]|0; + $58 = HEAP32[4265]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5219,$vararg_buffer14); - $59 = HEAP32[4231]|0; - $60 = HEAP32[4232]|0; + $59 = HEAP32[4309]|0; + $60 = HEAP32[4310]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5240,$vararg_buffer18); } - $61 = HEAP32[4186]|0; + $61 = HEAP32[4264]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4186]|0; + $62 = HEAP32[4264]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4186]|0; + $63 = HEAP32[4264]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4186]|0; + $64 = HEAP32[4264]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4186]|0; + $65 = HEAP32[4264]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4186]|0; + $66 = HEAP32[4264]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4186]|0; + $67 = HEAP32[4264]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4186]|0; + $68 = HEAP32[4264]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4186]|0; + $69 = HEAP32[4264]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19572]|0; + $70 = HEAP8[19884]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4188]|0; - $74 = HEAP32[4187]|0; + $73 = HEAP32[4266]|0; + $74 = HEAP32[4265]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4229]|0; - $76 = HEAP32[4231]|0; + $75 = HEAP32[4307]|0; + $76 = HEAP32[4309]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4230]|0; - $80 = HEAP32[4232]|0; + $79 = HEAP32[4308]|0; + $80 = HEAP32[4310]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12822,18 +12826,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5265,$vararg_buffer22); - $73 = HEAP32[4188]|0; - $74 = HEAP32[4187]|0; + $73 = HEAP32[4266]|0; + $74 = HEAP32[4265]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4229]|0; - $76 = HEAP32[4231]|0; + $75 = HEAP32[4307]|0; + $76 = HEAP32[4309]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4230]|0; - $80 = HEAP32[4232]|0; + $79 = HEAP32[4308]|0; + $80 = HEAP32[4310]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12861,7 +12865,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16808)>>2] = 224; + HEAP32[(17120)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12902,27 +12906,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16784>>2]=HEAP32[$1>>2]|0;HEAP32[16784+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16784+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16784+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16784+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17096>>2]=HEAP32[$1>>2]|0;HEAP32[17096+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17096+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17096+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17096+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16808)>>2]|0; + $5 = HEAP32[(17120)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16812)>>2] = $7; + HEAP32[(17124)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16804)>>2] = $23; - $24 = HEAP32[4196]|0; + HEAP32[(17116)>>2] = $23; + $24 = HEAP32[4274]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4589,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16788)>>2]|0; - $10 = HEAP32[(16808)>>2]|0; - $11 = HEAP32[(16812)>>2]|0; + $9 = HEAP32[(17100)>>2]|0; + $10 = HEAP32[(17120)>>2]|0; + $11 = HEAP32[(17124)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12971,8 +12975,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16804)>>2] = $23; - $24 = HEAP32[4196]|0; + HEAP32[(17116)>>2] = $23; + $24 = HEAP32[4274]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4589,$vararg_buffer); STACKTOP = sp;return; @@ -12983,7 +12987,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2062] = $1; + HEAPF64[2101] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13142,7 +13146,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16480; + $31 = 16792; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13155,7 +13159,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16488); + $42 = (16800); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13211,7 +13215,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16768 + ($10<<2)|0); + $11 = (17080 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13225,7 +13229,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2059] = $$; + HEAPF64[2098] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -13237,7 +13241,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4191] = 0; + HEAP32[4269] = 0; return; } function _GetTime() { @@ -13813,7 +13817,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4204]|0; + $6 = HEAP32[4282]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13823,7 +13827,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4205]|0; + $9 = HEAP32[4283]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13832,7 +13836,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4206]|0; + $12 = HEAP32[4284]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13842,7 +13846,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4207]|0; + $15 = HEAP32[4285]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13852,7 +13856,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4208]|0; + $18 = HEAP32[4286]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13896,7 +13900,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4204]|0; + $22 = HEAP32[4282]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13904,7 +13908,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4204]|0; + $24 = HEAP32[4282]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13912,7 +13916,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4204]|0; + $26 = HEAP32[4282]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13920,7 +13924,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4204]|0; + $28 = HEAP32[4282]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13928,7 +13932,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4205]|0; + $30 = HEAP32[4283]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13936,7 +13940,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4206]|0; + $32 = HEAP32[4284]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13944,7 +13948,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4206]|0; + $34 = HEAP32[4284]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13952,7 +13956,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4207]|0; + $36 = HEAP32[4285]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13960,7 +13964,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4207]|0; + $38 = HEAP32[4285]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13968,7 +13972,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4208]|0; + $40 = HEAP32[4286]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13976,7 +13980,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4208]|0; + $42 = HEAP32[4286]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13988,7 +13992,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4209]|0; + $44 = HEAP32[4287]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14003,7 +14007,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,10985,$vararg_buffer15); + _TraceLog(2,11293,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -14334,20 +14338,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4188]|0; + $3 = HEAP32[4266]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4187]|0; + $5 = HEAP32[4265]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4229] = $3; - HEAP32[4230] = $5; - HEAP32[4231] = 0; - HEAP32[4232] = 0; + HEAP32[4307] = $3; + HEAP32[4308] = $5; + HEAP32[4309] = 0; + HEAP32[4310] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14361,9 +14365,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4188]|0; + $35 = HEAP32[4266]|0; $36 = (+($35|0)); - $37 = HEAP32[4187]|0; + $37 = HEAP32[4265]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14371,26 +14375,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4229] = $45; - HEAP32[4230] = $37; + HEAP32[4307] = $45; + HEAP32[4308] = $37; $46 = (($45) - ($35))|0; - HEAP32[4231] = $46; + HEAP32[4309] = $46; $$sink1 = 0; } else { - HEAP32[4229] = $35; + HEAP32[4307] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4230] = $42; - HEAP32[4231] = 0; + HEAP32[4308] = $42; + HEAP32[4309] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4232] = $$sink1; + HEAP32[4310] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4187]|0; + $7 = HEAP32[4265]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14400,11 +14404,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8647,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4188]|0; + $9 = HEAP32[4266]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4187]|0; + $13 = HEAP32[4265]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14412,33 +14416,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4229] = $23; - HEAP32[4230] = $1; + HEAP32[4307] = $23; + HEAP32[4308] = $1; $24 = (($0) - ($23))|0; - HEAP32[4231] = $24; + HEAP32[4309] = $24; $$sink = 0; } else { - HEAP32[4229] = $0; - $17 = HEAP32[4187]|0; + HEAP32[4307] = $0; + $17 = HEAP32[4265]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4230] = $20; - HEAP32[4231] = 0; + HEAP32[4308] = $20; + HEAP32[4309] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4232] = $$sink; - $25 = HEAP32[4229]|0; + HEAP32[4310] = $$sink; + $25 = HEAP32[4307]|0; $26 = (+($25|0)); - $27 = HEAP32[4188]|0; + $27 = HEAP32[4266]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16840; 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)); - HEAP32[4229] = $0; - HEAP32[4230] = $1; + dest=17152; 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)); + HEAP32[4307] = $0; + HEAP32[4308] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -14460,10 +14464,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4188] = $1; - HEAP32[4187] = $2; - HEAP32[4229] = $1; - HEAP32[4230] = $2; + HEAP32[4266] = $1; + HEAP32[4265] = $2; + HEAP32[4307] = $1; + HEAP32[4308] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14490,7 +14494,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19579 + ($1)|0); + $9 = (19891 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -14511,7 +14515,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19573 + ($1)|0); + $7 = (19885 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14590,7 +14594,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16480; + $15 = 16792; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14625,7 +14629,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4602] = $3; + HEAP32[4680] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14635,7 +14639,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4601] = $$sink; + HEAP32[4679] = $$sink; return; } function _rlglInit($0,$1) { @@ -14716,18 +14720,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5397)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4267] = 1; + HEAP32[4345] = 1; $27 = (_eglGetProcAddress((5424|0))|0); - HEAP32[4268] = $27; + HEAP32[4346] = $27; $28 = (_eglGetProcAddress((5445|0))|0); - HEAP32[4269] = $28; + HEAP32[4347] = $28; $29 = (_eglGetProcAddress((5466|0))|0); - HEAP32[4270] = $29; + HEAP32[4348] = $29; } $30 = (_strcmp($24,5490)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4209] = 1; + HEAP32[4287] = 1; } $32 = (_strcmp($24,5510)|0); $33 = ($32|0)==(0); @@ -14749,7 +14753,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4204] = 1; + HEAP32[4282] = 1; } $39 = (_strcmp($24,5615)|0); $40 = ($39|0)==(0); @@ -14765,35 +14769,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4205] = 1; + HEAP32[4283] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5684)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4206] = 1; + HEAP32[4284] = 1; } $47 = (_strcmp($44,5709)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4207] = 1; + HEAP32[4285] = 1; } $49 = (_strcmp($44,5742)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4208] = 1; + HEAP32[4286] = 1; } $51 = (_strcmp($44,5778)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4271] = 1; - _glGetFloatv(34047,(17088|0)); + HEAP32[4349] = 1; + _glGetFloatv(34047,(17400|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5812)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4273] = 1; + HEAP32[4351] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14804,61 +14808,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4267]|0; + $21 = HEAP32[4345]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5915,$vararg_buffer15); } else { _TraceLog(0,5840,$vararg_buffer13); } - $57 = HEAP32[4209]|0; + $57 = HEAP32[4287]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6051,$vararg_buffer19); } else { _TraceLog(0,5976,$vararg_buffer17); } - $59 = HEAP32[4204]|0; + $59 = HEAP32[4282]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6143,$vararg_buffer21); } - $61 = HEAP32[4205]|0; + $61 = HEAP32[4283]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6189,$vararg_buffer23); } - $63 = HEAP32[4206]|0; + $63 = HEAP32[4284]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6236,$vararg_buffer25); } - $65 = HEAP32[4207]|0; + $65 = HEAP32[4285]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6287,$vararg_buffer27); } - $67 = HEAP32[4208]|0; + $67 = HEAP32[4286]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6334,$vararg_buffer29); } - $69 = HEAP32[4271]|0; + $69 = HEAP32[4349]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4272]; + $71 = +HEAPF32[4350]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6381,$vararg_buffer31); } - $73 = HEAP32[4273]|0; + $73 = HEAP32[4351]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6447,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4274] = $75; + HEAP32[4352] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6551,$vararg_buffer39); @@ -14867,14 +14871,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6500,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17100; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17156; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17412; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17468; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4303] = $77; + HEAP32[4381] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4303]|0; + $79 = HEAP32[4381]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14887,7 +14891,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4304] = $78; + HEAP32[4382] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14902,48 +14906,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4305] = 1; - $85 = HEAP32[4274]|0; + HEAP32[4383] = 1; + $85 = HEAP32[4352]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4306] = 4; + HEAP32[4384] = 4; _MatrixIdentity($4); - dest=17228; src=$4; 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)); + dest=17540; src=$4; 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)); _MatrixIdentity($4); - dest=(17292); src=$4; 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)); + dest=(17604); src=$4; 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)); _MatrixIdentity($4); - dest=(17356); src=$4; 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)); + dest=(17668); src=$4; 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)); _MatrixIdentity($4); - dest=(17420); src=$4; 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)); + dest=(17732); src=$4; 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)); _MatrixIdentity($4); - dest=(17484); src=$4; 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)); + dest=(17796); src=$4; 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)); _MatrixIdentity($4); - dest=(17548); src=$4; 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)); + dest=(17860); src=$4; 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)); _MatrixIdentity($4); - dest=(17612); src=$4; 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)); + dest=(17924); src=$4; 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)); _MatrixIdentity($4); - dest=(17676); src=$4; 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)); + dest=(17988); src=$4; 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)); _MatrixIdentity($4); - dest=(17740); src=$4; 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)); + dest=(18052); src=$4; 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)); _MatrixIdentity($4); - dest=(17804); src=$4; 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)); + dest=(18116); src=$4; 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)); _MatrixIdentity($4); - dest=(17868); src=$4; 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)); + dest=(18180); src=$4; 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)); _MatrixIdentity($4); - dest=(17932); src=$4; 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)); + dest=(18244); src=$4; 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)); _MatrixIdentity($4); - dest=(17996); src=$4; 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)); + dest=(18308); src=$4; 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)); _MatrixIdentity($4); - dest=(18060); src=$4; 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)); + dest=(18372); src=$4; 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)); _MatrixIdentity($4); - dest=(18124); src=$4; 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)); + dest=(18436); src=$4; 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)); _MatrixIdentity($4); - dest=(18188); src=$4; 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)); + dest=(18500); src=$4; 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)); _MatrixIdentity($5); - dest=16936; src=$5; 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)); + dest=17248; src=$5; 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)); _MatrixIdentity($6); - dest=17000; src=$6; 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)); - HEAP32[4233] = 17000; + dest=17312; src=$6; 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)); + HEAP32[4311] = 17312; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14954,21 +14958,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4563] = $0; - HEAP32[4564] = $1; + HEAP32[4641] = $0; + HEAP32[4642] = $1; _TraceLog(0,6590,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4231]|0; + $0 = HEAP32[4309]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4232]|0; + $2 = HEAP32[4310]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4229]|0; + $4 = HEAP32[4307]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4230]|0; + $6 = HEAP32[4308]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14979,12 +14983,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16936; + $modelview$sink = 17248; label = 3; break; } case 5888: { - $modelview$sink = 17000; + $modelview$sink = 17312; label = 3; break; } @@ -14992,9 +14996,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4233] = $modelview$sink; + HEAP32[4311] = $modelview$sink; } - HEAP32[4266] = $0; + HEAP32[4344] = $0; return; } function _rlLoadIdentity() { @@ -15002,7 +15006,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4233]|0; + $1 = HEAP32[4311]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -15023,7 +15027,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4233]|0; + $8 = HEAP32[4311]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -15120,15 +15124,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18272)>>2] = $0; + HEAP32[(18584)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18280)>>2] = $1; - HEAP32[(18276)>>2] = 0; - HEAP32[(18284)>>2] = 0; + HEAP32[(18592)>>2] = $1; + HEAP32[(18588)>>2] = 0; + HEAP32[(18596)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18280)>>2]|0; + $2 = HEAP32[(18592)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15139,19 +15143,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4565] = 0; - HEAP32[(18268)>>2] = 0; - HEAP32[(18264)>>2] = 0; + HEAP32[4643] = 0; + HEAP32[(18580)>>2] = 0; + HEAP32[(18576)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18320)>>2] = $5; + HEAP32[(18632)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18328)>>2] = $6; - HEAP32[(18324)>>2] = 0; - HEAP32[(18332)>>2] = 0; + HEAP32[(18640)>>2] = $6; + HEAP32[(18636)>>2] = 0; + HEAP32[(18644)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18328)>>2]|0; + $7 = HEAP32[(18640)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15162,24 +15166,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4577] = 0; - HEAP32[(18316)>>2] = 0; - HEAP32[(18312)>>2] = 0; + HEAP32[4655] = 0; + HEAP32[(18628)>>2] = 0; + HEAP32[(18624)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18368)>>2] = $10; + HEAP32[(18680)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18372)>>2] = $11; + HEAP32[(18684)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18376)>>2] = $12; + HEAP32[(18688)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18380)>>2] = $13; - $14 = HEAP32[(18368)>>2]|0; + HEAP32[(18692)>>2] = $13; + $14 = HEAP32[(18680)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18372)>>2]|0; + $15 = HEAP32[(18684)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18376)>>2]|0; + $17 = HEAP32[(18688)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15190,7 +15194,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18380)>>2]|0; + $16 = HEAP32[(18692)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15227,140 +15231,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4589] = 0; - HEAP32[(18360)>>2] = 0; - HEAP32[(18364)>>2] = 0; + HEAP32[4667] = 0; + HEAP32[(18672)>>2] = 0; + HEAP32[(18676)>>2] = 0; _TraceLog(0,6637,$vararg_buffer); - $20 = HEAP32[4267]|0; + $20 = HEAP32[4345]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4268]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18288)); - $44 = HEAP32[4269]|0; - $45 = HEAP32[(18288)>>2]|0; + $43 = HEAP32[4346]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18600)); + $44 = HEAP32[4347]|0; + $45 = HEAP32[(18600)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18292)|0)); - $46 = HEAP32[(18292)>>2]|0; + _glGenBuffers(2,((18604)|0)); + $46 = HEAP32[(18604)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18272)>>2]|0; + $47 = HEAP32[(18584)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17160)>>2]|0; + $48 = HEAP32[(17472)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17160)>>2]|0; + $49 = HEAP32[(17472)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18296)|0)); - $50 = HEAP32[(18296)>>2]|0; + _glGenBuffers(2,((18608)|0)); + $50 = HEAP32[(18608)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18280)>>2]|0; + $51 = HEAP32[(18592)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17180)>>2]|0; + $52 = HEAP32[(17492)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17180)>>2]|0; + $53 = HEAP32[(17492)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4267]|0; + $54 = HEAP32[4345]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18292)>>2]|0; - $58 = HEAP32[(18296)>>2]|0; + $57 = HEAP32[(18604)>>2]|0; + $58 = HEAP32[(18608)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6775,$vararg_buffer3); } else { - $56 = HEAP32[(18288)>>2]|0; + $56 = HEAP32[(18600)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6710,$vararg_buffer1); } - $59 = HEAP32[4267]|0; + $59 = HEAP32[4345]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4268]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18336)); - $62 = HEAP32[4269]|0; - $63 = HEAP32[(18336)>>2]|0; + $61 = HEAP32[4346]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18648)); + $62 = HEAP32[4347]|0; + $63 = HEAP32[(18648)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18340)|0)); - $64 = HEAP32[(18340)>>2]|0; + _glGenBuffers(1,((18652)|0)); + $64 = HEAP32[(18652)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18320)>>2]|0; + $65 = HEAP32[(18632)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17160)>>2]|0; + $66 = HEAP32[(17472)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17160)>>2]|0; + $67 = HEAP32[(17472)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18344)|0)); - $68 = HEAP32[(18344)>>2]|0; + _glGenBuffers(1,((18656)|0)); + $68 = HEAP32[(18656)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18328)>>2]|0; + $69 = HEAP32[(18640)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17180)>>2]|0; + $70 = HEAP32[(17492)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17180)>>2]|0; + $71 = HEAP32[(17492)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4267]|0; + $72 = HEAP32[4345]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18340)>>2]|0; - $76 = HEAP32[(18344)>>2]|0; + $75 = HEAP32[(18652)>>2]|0; + $76 = HEAP32[(18656)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6921,$vararg_buffer10); } else { - $74 = HEAP32[(18336)>>2]|0; + $74 = HEAP32[(18648)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6852,$vararg_buffer7); } - $77 = HEAP32[4267]|0; + $77 = HEAP32[4345]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4268]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18384)); - $80 = HEAP32[4269]|0; - $81 = HEAP32[(18384)>>2]|0; + $79 = HEAP32[4346]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18696)); + $80 = HEAP32[4347]|0; + $81 = HEAP32[(18696)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18388)|0)); - $82 = HEAP32[(18388)>>2]|0; + _glGenBuffers(1,((18700)|0)); + $82 = HEAP32[(18700)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18368)>>2]|0; + $83 = HEAP32[(18680)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17160)>>2]|0; + $84 = HEAP32[(17472)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17160)>>2]|0; + $85 = HEAP32[(17472)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18392)|0)); - $86 = HEAP32[(18392)>>2]|0; + _glGenBuffers(1,((18704)|0)); + $86 = HEAP32[(18704)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18372)>>2]|0; + $87 = HEAP32[(18684)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17164)>>2]|0; + $88 = HEAP32[(17476)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17164)>>2]|0; + $89 = HEAP32[(17476)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18396)|0)); - $90 = HEAP32[(18396)>>2]|0; + _glGenBuffers(1,((18708)|0)); + $90 = HEAP32[(18708)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18376)>>2]|0; + $91 = HEAP32[(18688)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17180)>>2]|0; + $92 = HEAP32[(17492)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17180)>>2]|0; + $93 = HEAP32[(17492)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18400)|0)); - $94 = HEAP32[(18400)>>2]|0; + _glGenBuffers(1,((18712)|0)); + $94 = HEAP32[(18712)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18380)>>2]|0; + $95 = HEAP32[(18692)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4267]|0; + $96 = HEAP32[4345]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18388)>>2]|0; - $100 = HEAP32[(18392)>>2]|0; - $101 = HEAP32[(18396)>>2]|0; - $102 = HEAP32[(18400)>>2]|0; + $99 = HEAP32[(18700)>>2]|0; + $100 = HEAP32[(18704)>>2]|0; + $101 = HEAP32[(18708)>>2]|0; + $102 = HEAP32[(18712)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15370,16 +15374,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7067,$vararg_buffer17); } else { - $98 = HEAP32[(18384)>>2]|0; + $98 = HEAP32[(18696)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7002,$vararg_buffer14); } - $103 = HEAP32[4267]|0; + $103 = HEAP32[4345]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4269]|0; + $105 = HEAP32[4347]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15560,9 +15564,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19573 + ($0)|0); + $1 = (19885 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19576 + ($0)|0); + $3 = (19888 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15574,9 +15578,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19573 + ($0)|0); + $1 = (19885 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19576 + ($0)|0); + $3 = (19888 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15597,7 +15601,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4186]|0; + $0 = HEAP32[4264]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8911,$vararg_buffer); @@ -15608,9 +15612,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16784>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16784+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16784+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16784+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16784+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17096>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17096+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17096+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17096+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17096+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16812)>>2]|0; + $0 = HEAP32[(17124)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15621,11 +15625,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17096|0)); - $0 = HEAP32[4274]|0; + _glDeleteTextures(1,(17408|0)); + $0 = HEAP32[4352]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8938,$vararg_buffer); - $1 = HEAP32[4304]|0; + $1 = HEAP32[4382]|0; _free($1); STACKTOP = sp;return; } @@ -15633,17 +15637,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4275]|0; + $0 = HEAP32[4353]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4267]|0; + $0 = HEAP32[4345]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4269]|0; + $2 = HEAP32[4347]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15652,39 +15656,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18292)|0)); - _glDeleteBuffers(1,((18296)|0)); - _glDeleteBuffers(1,((18340)|0)); - _glDeleteBuffers(1,((18344)|0)); - _glDeleteBuffers(1,((18388)|0)); - _glDeleteBuffers(1,((18392)|0)); - _glDeleteBuffers(1,((18396)|0)); - _glDeleteBuffers(1,((18400)|0)); - $3 = HEAP32[4267]|0; + _glDeleteBuffers(1,((18604)|0)); + _glDeleteBuffers(1,((18608)|0)); + _glDeleteBuffers(1,((18652)|0)); + _glDeleteBuffers(1,((18656)|0)); + _glDeleteBuffers(1,((18700)|0)); + _glDeleteBuffers(1,((18704)|0)); + _glDeleteBuffers(1,((18708)|0)); + _glDeleteBuffers(1,((18712)|0)); + $3 = HEAP32[4345]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4270]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18288)); - $6 = HEAP32[4270]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18336)); - $7 = HEAP32[4270]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18384)); + $5 = HEAP32[4348]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18600)); + $6 = HEAP32[4348]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18648)); + $7 = HEAP32[4348]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18696)); } - $8 = HEAP32[(18272)>>2]|0; + $8 = HEAP32[(18584)>>2]|0; _free($8); - $9 = HEAP32[(18280)>>2]|0; + $9 = HEAP32[(18592)>>2]|0; _free($9); - $10 = HEAP32[(18320)>>2]|0; + $10 = HEAP32[(18632)>>2]|0; _free($10); - $11 = HEAP32[(18328)>>2]|0; + $11 = HEAP32[(18640)>>2]|0; _free($11); - $12 = HEAP32[(18368)>>2]|0; + $12 = HEAP32[(18680)>>2]|0; _free($12); - $13 = HEAP32[(18372)>>2]|0; + $13 = HEAP32[(18684)>>2]|0; _free($13); - $14 = HEAP32[(18376)>>2]|0; + $14 = HEAP32[(18688)>>2]|0; _free($14); - $15 = HEAP32[(18380)>>2]|0; + $15 = HEAP32[(18692)>>2]|0; _free($15); return; } @@ -15724,16 +15728,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2079] = $0; - $1 = +HEAPF64[2062]; + HEAPF64[2118] = $0; + $1 = +HEAPF64[2101]; $2 = $0 - $1; - HEAPF64[2080] = $2; - HEAPF64[2062] = $0; + HEAPF64[2119] = $2; + HEAPF64[2101] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16840; 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)); + dest=$downscaleView$byval_copy; src=17152; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18412); + _rlMultMatrixf(18724); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15742,53 +15746,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[4603] = $1; + HEAP32[4681] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18416)>>2] = $3; + HEAP32[(18728)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18420)>>2] = $5; + HEAP32[(18732)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18424)>>2] = $7; + HEAP32[(18736)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18428)>>2] = $9; + HEAP32[(18740)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18432)>>2] = $11; + HEAP32[(18744)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18436)>>2] = $13; + HEAP32[(18748)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18440)>>2] = $15; + HEAP32[(18752)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18444)>>2] = $17; + HEAP32[(18756)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18448)>>2] = $19; + HEAP32[(18760)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18452)>>2] = $21; + HEAP32[(18764)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18456)>>2] = $23; + HEAP32[(18768)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18460)>>2] = $25; + HEAP32[(18772)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18464)>>2] = $27; + HEAP32[(18776)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18468)>>2] = $29; + HEAP32[(18780)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18472)>>2] = $31; - return (18412|0); + HEAP32[(18784)>>2] = $31; + return (18724|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15863,7 +15867,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4233]|0; + $49 = HEAP32[4311]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15877,15 +15881,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2079] = $0; - $1 = +HEAPF64[2062]; + HEAPF64[2118] = $0; + $1 = +HEAPF64[2101]; $2 = $0 - $1; - HEAPF64[2081] = $2; - HEAPF64[2062] = $0; - $3 = +HEAPF64[2080]; + HEAPF64[2120] = $2; + HEAPF64[2101] = $0; + $3 = +HEAPF64[2119]; $4 = $2 + $3; - HEAPF64[2082] = $4; - $5 = +HEAPF64[2059]; + HEAPF64[2121] = $4; + $5 = +HEAPF64[2098]; $6 = $4 < $5; if (!($6)) { return; @@ -15895,13 +15899,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2079] = $10; - $11 = +HEAPF64[2062]; + HEAPF64[2118] = $10; + $11 = +HEAPF64[2101]; $12 = $10 - $11; - HEAPF64[2062] = $10; - $13 = +HEAPF64[2082]; + HEAPF64[2101] = $10; + $13 = +HEAPF64[2121]; $14 = $12 + $13; - HEAPF64[2082] = $14; + HEAPF64[2121] = $14; return; } function _rlglDraw() { @@ -15914,7 +15918,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4186]|0; + $0 = HEAP32[4264]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15930,20 +15934,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[4619] = 0; - $3 = HEAP32[4186]|0; + HEAP32[4697] = 0; + $3 = HEAP32[4264]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4116] = $5; + HEAPF32[4194] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16468)>>2] = $7; - _memcpy((20091|0),(19579|0),512)|0; - ;HEAP8[19576>>0]=HEAP8[19573>>0]|0;HEAP8[19576+1>>0]=HEAP8[19573+1>>0]|0;HEAP8[19576+2>>0]=HEAP8[19573+2>>0]|0; - $8 = HEAP32[4602]|0; - HEAP32[4189] = $8; - HEAP32[4602] = 0; + HEAPF32[(16780)>>2] = $7; + _memcpy((20403|0),(19891|0),512)|0; + ;HEAP8[19888>>0]=HEAP8[19885>>0]|0;HEAP8[19888+1>>0]=HEAP8[19885+1>>0]|0;HEAP8[19888+2>>0]=HEAP8[19885+2>>0]|0; + $8 = HEAP32[4680]|0; + HEAP32[4267] = $8; + HEAP32[4680] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15953,8 +15957,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20603 + ($$05160<<5)|0); - $scevgep67 = (20731 + ($$05160<<5)|0); + $scevgep = (20915 + ($$05160<<5)|0); + $scevgep67 = (21043 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15968,7 +15972,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20731 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((21043 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15995,7 +15999,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18480 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18792 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16011,7 +16015,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4619] = $$lcssa; + HEAP32[4697] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16052,87 +16056,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4565]|0; + $0 = HEAP32[4643]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4267]|0; + $2 = HEAP32[4345]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4269]|0; - $5 = HEAP32[(18288)>>2]|0; + $4 = HEAP32[4347]|0; + $5 = HEAP32[(18600)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18292)>>2]|0; + $6 = HEAP32[(18604)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4565]|0; + $7 = HEAP32[4643]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18272)>>2]|0; + $9 = HEAP32[(18584)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18296)>>2]|0; + $10 = HEAP32[(18608)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18268)>>2]|0; + $11 = HEAP32[(18580)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18280)>>2]|0; + $13 = HEAP32[(18592)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4577]|0; + $14 = HEAP32[4655]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4267]|0; + $16 = HEAP32[4345]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4269]|0; - $19 = HEAP32[(18336)>>2]|0; + $18 = HEAP32[4347]|0; + $19 = HEAP32[(18648)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18340)>>2]|0; + $20 = HEAP32[(18652)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4577]|0; + $21 = HEAP32[4655]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18320)>>2]|0; + $23 = HEAP32[(18632)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18344)>>2]|0; + $24 = HEAP32[(18656)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18316)>>2]|0; + $25 = HEAP32[(18628)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18328)>>2]|0; + $27 = HEAP32[(18640)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4589]|0; + $28 = HEAP32[4667]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4267]|0; + $30 = HEAP32[4345]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4269]|0; - $33 = HEAP32[(18384)>>2]|0; + $32 = HEAP32[4347]|0; + $33 = HEAP32[(18696)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18388)>>2]|0; + $34 = HEAP32[(18700)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4589]|0; + $35 = HEAP32[4667]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18368)>>2]|0; + $37 = HEAP32[(18680)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18392)>>2]|0; + $38 = HEAP32[(18704)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4589]|0; + $39 = HEAP32[4667]|0; $40 = $39 << 3; - $41 = HEAP32[(18372)>>2]|0; + $41 = HEAP32[(18684)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18396)>>2]|0; + $42 = HEAP32[(18708)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4589]|0; + $43 = HEAP32[4667]|0; $44 = $43 << 2; - $45 = HEAP32[(18376)>>2]|0; + $45 = HEAP32[(18688)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4267]|0; + $46 = HEAP32[4345]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4269]|0; + $48 = HEAP32[4347]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16150,9 +16154,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16936; 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)); - dest=$1; src=17000; 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)); - $3 = HEAP32[4652]|0; + dest=$0; src=17248; 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)); + dest=$1; src=17312; 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)); + $3 = HEAP32[4730]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16162,134 +16166,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4565]|0; + $8 = HEAP32[4643]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4577]|0; + $10 = HEAP32[4655]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4589]|0; + $12 = HEAP32[4667]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4289]|0; + $14 = HEAP32[4367]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=17000; 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)); - dest=$$byval_copy2; src=16936; 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)); + dest=$modelview$byval_copy; src=17312; 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)); + dest=$$byval_copy2; src=17248; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17184)>>2]|0; + $15 = HEAP32[(17496)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17188)>>2]|0; + $17 = HEAP32[(17500)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17200)>>2]|0; + $18 = HEAP32[(17512)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4565]|0; + $19 = HEAP32[4643]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4274]|0; + $21 = HEAP32[4352]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4267]|0; + $22 = HEAP32[4345]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18292)>>2]|0; + $26 = HEAP32[(18604)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17160)>>2]|0; + $27 = HEAP32[(17472)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17160)>>2]|0; + $28 = HEAP32[(17472)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18296)>>2]|0; + $29 = HEAP32[(18608)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17180)>>2]|0; + $30 = HEAP32[(17492)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17180)>>2]|0; + $31 = HEAP32[(17492)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4269]|0; - $25 = HEAP32[(18288)>>2]|0; + $24 = HEAP32[4347]|0; + $25 = HEAP32[(18600)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4565]|0; + $32 = HEAP32[4643]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4267]|0; + $33 = HEAP32[4345]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4577]|0; + $35 = HEAP32[4655]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4274]|0; + $37 = HEAP32[4352]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4267]|0; + $38 = HEAP32[4345]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18340)>>2]|0; + $42 = HEAP32[(18652)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17160)>>2]|0; + $43 = HEAP32[(17472)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17160)>>2]|0; + $44 = HEAP32[(17472)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18344)>>2]|0; + $45 = HEAP32[(18656)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17180)>>2]|0; + $46 = HEAP32[(17492)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17180)>>2]|0; + $47 = HEAP32[(17492)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4269]|0; - $41 = HEAP32[(18336)>>2]|0; + $40 = HEAP32[4347]|0; + $41 = HEAP32[(18648)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4577]|0; + $48 = HEAP32[4655]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4267]|0; + $49 = HEAP32[4345]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4589]|0; + $51 = HEAP32[4667]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4267]|0; + $53 = HEAP32[4345]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18388)>>2]|0; + $57 = HEAP32[(18700)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17160)>>2]|0; + $58 = HEAP32[(17472)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17160)>>2]|0; + $59 = HEAP32[(17472)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18392)>>2]|0; + $60 = HEAP32[(18704)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17164)>>2]|0; + $61 = HEAP32[(17476)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17164)>>2]|0; + $62 = HEAP32[(17476)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18396)>>2]|0; + $63 = HEAP32[(18708)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17180)>>2]|0; + $64 = HEAP32[(17492)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17180)>>2]|0; + $65 = HEAP32[(17492)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18400)>>2]|0; + $66 = HEAP32[(18712)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4269]|0; - $56 = HEAP32[(18384)>>2]|0; + $55 = HEAP32[4347]|0; + $56 = HEAP32[(18696)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4305]|0; + $67 = HEAP32[4383]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4304]|0; + $71 = HEAP32[4382]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16300,14 +16304,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4304]|0; + $80 = HEAP32[4382]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4305]|0; + $87 = HEAP32[4383]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16316,7 +16320,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4267]|0; + $69 = HEAP32[4345]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16324,10 +16328,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4267]|0; + $89 = HEAP32[4345]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4269]|0; + $91 = HEAP32[4347]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16339,22 +16343,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4305] = 1; - $5 = HEAP32[4274]|0; - $6 = HEAP32[4304]|0; + HEAP32[4383] = 1; + $5 = HEAP32[4352]|0; + $6 = HEAP32[4382]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4565] = 0; - HEAP32[(18268)>>2] = 0; - HEAP32[4577] = 0; - HEAP32[(18316)>>2] = 0; - HEAP32[4589] = 0; - HEAP32[(18360)>>2] = 0; - HEAP32[(18364)>>2] = 0; + HEAP32[4643] = 0; + HEAP32[(18580)>>2] = 0; + HEAP32[4655] = 0; + HEAP32[(18628)>>2] = 0; + HEAP32[4667] = 0; + HEAP32[(18672)>>2] = 0; + HEAP32[(18676)>>2] = 0; HEAPF32[744] = -1.0; - dest=16936; src=$0; 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)); - dest=17000; src=$1; 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)); + dest=17248; src=$0; 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)); + dest=17312; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16369,17 +16373,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[4563]|0; + $5 = HEAP32[4641]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4564]|0; + $9 = HEAP32[4642]|0; _rlViewport($7,0,$8,$9); - $10 = (18840 + ($0<<6)|0); + $10 = (19152 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18712 + ($0<<6)|0); + $11 = (19024 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -16391,14 +16395,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17000; src=$0; 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)); + dest=17312; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16936; src=$0; 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)); + dest=17248; src=$0; 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)); return; } function _rlPushMatrix() { @@ -16406,43 +16410,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4742]|0; + $0 = HEAP32[4820]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9053,$vararg_buffer); } - $2 = HEAP32[4742]|0; - $3 = (17228 + ($2<<6)|0); - $4 = HEAP32[4233]|0; + $2 = HEAP32[4820]|0; + $3 = (17540 + ($2<<6)|0); + $4 = HEAP32[4311]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[4742]|0; + $5 = HEAP32[4820]|0; $6 = (($5) + 1)|0; - HEAP32[4742] = $6; - $7 = HEAP32[4266]|0; + HEAP32[4820] = $6; + $7 = HEAP32[4344]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4743] = 1; + HEAP32[4821] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4742]|0; + $0 = HEAP32[4820]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4742]|0; + $2 = HEAP32[4820]|0; $3 = (($2) + -1)|0; - $4 = (17228 + ($3<<6)|0); - $5 = HEAP32[4233]|0; + $4 = (17540 + ($3<<6)|0); + $5 = HEAP32[4311]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4742] = $6; + HEAP32[4820] = $6; return; } function _IsFileExtension($0,$1) { @@ -16468,7 +16472,7 @@ function _IsGamepadAvailable($0) { sp = STACKTOP; $1 = ($0|0)<(4); if ($1) { - $2 = (16768 + ($0<<2)|0); + $2 = (17080 + ($0<<2)|0); $3 = HEAP32[$2>>2]|0; $not$ = ($3|0)!=(0); $$ = $not$&1; @@ -16495,7 +16499,7 @@ function _GetGamepadAxisCount($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4619]|0; + $1 = HEAP32[4697]|0; return ($1|0); } function _GetGamepadAxisMovement($0,$1) { @@ -16508,7 +16512,7 @@ function _GetGamepadAxisMovement($0,$1) { $$0 = 0.0; return (+$$0); } - $3 = (16768 + ($0<<2)|0); + $3 = (17080 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0); $6 = ($1|0)<(8); @@ -16517,7 +16521,7 @@ function _GetGamepadAxisMovement($0,$1) { $$0 = 0.0; return (+$$0); } - $7 = ((18480 + ($0<<5)|0) + ($1<<2)|0); + $7 = ((18792 + ($0<<5)|0) + ($1<<2)|0); $8 = +HEAPF32[$7>>2]; $$0 = $8; return (+$$0); @@ -16531,13 +16535,13 @@ function _IsGamepadButtonDown($0,$1) { if (!($2)) { return 0; } - $3 = (16768 + ($0<<2)|0); + $3 = (17080 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0); $6 = ($1|0)<(32); $or$cond = $6 & $5; if ($or$cond) { - $7 = ((20731 + ($0<<5)|0) + ($1)|0); + $7 = ((21043 + ($0<<5)|0) + ($1)|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(1); $$ = $9&1; @@ -16566,7 +16570,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4233]|0; + $5 = HEAP32[4311]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -16599,7 +16603,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4233]|0; + $11 = HEAP32[4311]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -16610,7 +16614,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4306] = $0; + HEAP32[4384] = $0; return; } function _rlEnd() { @@ -16626,21 +16630,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4743]|0; + $0 = HEAP32[4821]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4744]|0; + $2 = HEAP32[4822]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4303]|0; + $6 = HEAP32[4381]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4233]|0; + $8 = HEAP32[4311]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4744]|0; + $5 = HEAP32[4822]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16648,12 +16652,12 @@ function _rlEnd() { break; } } - HEAP32[4743] = 0; + HEAP32[4821] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4303]|0; + $11 = HEAP32[4381]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16662,7 +16666,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4744]|0; + $19 = HEAP32[4822]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16672,15 +16676,15 @@ function _rlEnd() { } } } else { - HEAP32[4743] = 0; + HEAP32[4821] = 0; } - HEAP32[4744] = 0; + HEAP32[4822] = 0; } - $21 = HEAP32[4306]|0; + $21 = HEAP32[4384]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4565]|0; - $23 = HEAP32[(18268)>>2]|0; + $22 = HEAP32[4643]|0; + $23 = HEAP32[(18580)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -16699,16 +16703,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18280)>>2]|0; - $28 = HEAP32[(18268)>>2]|0; + $27 = HEAP32[(18592)>>2]|0; + $28 = HEAP32[(18580)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18280)>>2]|0; - $35 = HEAP32[(18268)>>2]|0; + $34 = HEAP32[(18592)>>2]|0; + $35 = HEAP32[(18580)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16716,8 +16720,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18280)>>2]|0; - $43 = HEAP32[(18268)>>2]|0; + $42 = HEAP32[(18592)>>2]|0; + $43 = HEAP32[(18580)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16725,8 +16729,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18280)>>2]|0; - $51 = HEAP32[(18268)>>2]|0; + $50 = HEAP32[(18592)>>2]|0; + $51 = HEAP32[(18580)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16734,9 +16738,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18268)>>2]|0; + $58 = HEAP32[(18580)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18268)>>2] = $59; + HEAP32[(18580)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16752,8 +16756,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4577]|0; - $62 = HEAP32[(18316)>>2]|0; + $61 = HEAP32[4655]|0; + $62 = HEAP32[(18628)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -16772,16 +16776,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18328)>>2]|0; - $67 = HEAP32[(18316)>>2]|0; + $66 = HEAP32[(18640)>>2]|0; + $67 = HEAP32[(18628)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18328)>>2]|0; - $74 = HEAP32[(18316)>>2]|0; + $73 = HEAP32[(18640)>>2]|0; + $74 = HEAP32[(18628)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16789,8 +16793,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18328)>>2]|0; - $82 = HEAP32[(18316)>>2]|0; + $81 = HEAP32[(18640)>>2]|0; + $82 = HEAP32[(18628)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16798,8 +16802,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18328)>>2]|0; - $90 = HEAP32[(18316)>>2]|0; + $89 = HEAP32[(18640)>>2]|0; + $90 = HEAP32[(18628)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16807,9 +16811,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18316)>>2]|0; + $97 = HEAP32[(18628)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18316)>>2] = $98; + HEAP32[(18628)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16825,8 +16829,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4589]|0; - $101 = HEAP32[(18364)>>2]|0; + $100 = HEAP32[4667]|0; + $101 = HEAP32[(18676)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16834,16 +16838,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18376)>>2]|0; - $106 = HEAP32[(18364)>>2]|0; + $105 = HEAP32[(18688)>>2]|0; + $106 = HEAP32[(18676)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18376)>>2]|0; - $113 = HEAP32[(18364)>>2]|0; + $112 = HEAP32[(18688)>>2]|0; + $113 = HEAP32[(18676)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16851,8 +16855,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18376)>>2]|0; - $121 = HEAP32[(18364)>>2]|0; + $120 = HEAP32[(18688)>>2]|0; + $121 = HEAP32[(18676)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16860,8 +16864,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18376)>>2]|0; - $129 = HEAP32[(18364)>>2]|0; + $128 = HEAP32[(18688)>>2]|0; + $129 = HEAP32[(18676)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16869,9 +16873,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18364)>>2]|0; + $136 = HEAP32[(18676)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18364)>>2] = $137; + HEAP32[(18676)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16882,8 +16886,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4589]|0; - $140 = HEAP32[(18360)>>2]|0; + $139 = HEAP32[4667]|0; + $140 = HEAP32[(18672)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16891,8 +16895,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18372)>>2]|0; - $$promoted = HEAP32[(18360)>>2]|0; + $142 = HEAP32[(18684)>>2]|0; + $$promoted = HEAP32[(18672)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16900,7 +16904,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18360)>>2] = $147; + HEAP32[(18672)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16927,11 +16931,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4743]|0; + $3 = HEAP32[4821]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4303]|0; - $6 = HEAP32[4744]|0; + $5 = HEAP32[4381]|0; + $6 = HEAP32[4822]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16939,16 +16943,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4744] = $10; + HEAP32[4822] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4306]|0; + $11 = HEAP32[4384]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4565]|0; + $12 = HEAP32[4643]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18272)>>2]|0; + $14 = HEAP32[(18584)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16959,7 +16963,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4565] = $21; + HEAP32[4643] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9091,$vararg_buffer); @@ -16968,10 +16972,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4577]|0; + $22 = HEAP32[4655]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18320)>>2]|0; + $24 = HEAP32[(18632)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16982,7 +16986,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4577] = $31; + HEAP32[4655] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9116,$vararg_buffer1); @@ -16991,10 +16995,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4589]|0; + $32 = HEAP32[4667]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18368)>>2]|0; + $34 = HEAP32[(18680)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17005,9 +17009,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4589] = $41; - $42 = HEAP32[4304]|0; - $43 = HEAP32[4305]|0; + HEAP32[4667] = $41; + $42 = HEAP32[4382]|0; + $43 = HEAP32[4383]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17050,13 +17054,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4306]|0; + $2 = HEAP32[4384]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18372)>>2]|0; - $5 = HEAP32[(18360)>>2]|0; + $4 = HEAP32[(18684)>>2]|0; + $5 = HEAP32[(18672)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17064,7 +17068,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18360)>>2] = $10; + HEAP32[(18672)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17083,18 +17087,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4306]|0; + $4 = HEAP32[4384]|0; switch ($4|0) { case 1: { - $$sink37 = (18268);$$sink38 = (18280); + $$sink37 = (18580);$$sink38 = (18592); break; } case 4: { - $$sink37 = (18316);$$sink38 = (18328); + $$sink37 = (18628);$$sink38 = (18640); break; } case 7: { - $$sink37 = (18364);$$sink38 = (18376); + $$sink37 = (18676);$$sink38 = (18688); break; } default: { @@ -17133,8 +17137,8 @@ function _rlEnableTexture($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 = HEAP32[4304]|0; - $2 = HEAP32[4305]|0; + $1 = HEAP32[4382]|0; + $2 = HEAP32[4383]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17147,9 +17151,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4305] = $10; + HEAP32[4383] = $10; } - $11 = HEAP32[4305]|0; + $11 = HEAP32[4383]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17160,7 +17164,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4589]|0; + $0 = HEAP32[4667]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17172,7 +17176,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4274]|0; + $1 = HEAP32[4352]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -17568,40 +17572,11 @@ function _DrawTriangle($0,$1,$2,$3) { _rlDisableTexture(); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9170); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10503)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4745] = $0; + HEAP32[4823] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -17665,7 +17640,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9182|0),(9208|0),1125,(9231|0)); + ___assert_fail((9170|0),(9196|0),1041,(9219|0)); // unreachable; } } @@ -17683,7 +17658,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4746]|0; + $15 = HEAP32[4824]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -17776,7 +17751,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9272); + _stbi__err(9260); $$0 = 0; return ($$0|0); } else { @@ -17798,7 +17773,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9263); + _stbi__err(9251); $$0 = 0; return ($$0|0); } @@ -17868,7 +17843,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9291); + _stbi__err(9279); $$045 = 0; return ($$045|0); } @@ -18429,7 +18404,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9607 + ($120)|0); + $121 = (9595 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -18471,97 +18446,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9381); + _stbi__err(9369); $$6$ph = 0; break; } case 9: { - _stbi__err(9395); + _stbi__err(9383); $$6$ph = 0; break; } case 11: { - _stbi__err(9408); + _stbi__err(9396); $$6$ph = 0; break; } case 13: { - _stbi__err(9408); + _stbi__err(9396); $$6$ph = 0; break; } case 15: { - _stbi__err(9418); + _stbi__err(9406); $$6$ph = 0; break; } case 17: { - _stbi__err(9438); + _stbi__err(9426); $$6$ph = 0; break; } case 20: { - _stbi__err(9438); + _stbi__err(9426); $$6$ph = 0; break; } case 22: { - _stbi__err(9438); + _stbi__err(9426); $$6$ph = 0; break; } case 24: { - _stbi__err(9448); + _stbi__err(9436); $$6$ph = 0; break; } case 26: { - _stbi__err(9464); + _stbi__err(9452); $$6$ph = 0; break; } case 28: { - _stbi__err(9482); + _stbi__err(9470); $$6$ph = 0; break; } case 31: { - _stbi__err(9503); + _stbi__err(9491); $$6$ph = 0; break; } case 34: { - _stbi__err(9408); + _stbi__err(9396); $$6$ph = 0; break; } case 37: { - _stbi__err(9408); + _stbi__err(9396); $$6$ph = 0; break; } case 39: { - _stbi__err(9517); + _stbi__err(9505); $$6$ph = 0; break; } case 41: { - _stbi__err(9532); + _stbi__err(9520); $$6$ph = 0; break; } case 44: { - _stbi__err(9532); + _stbi__err(9520); $$6$ph = 0; break; } case 47: { - _stbi__err(9517); + _stbi__err(9505); $$6$ph = 0; break; } case 49: { - _stbi__err(9545); + _stbi__err(9533); $$6$ph = 0; break; } @@ -18572,32 +18547,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9561); + _stbi__err(9549); $$6$ph = 0; break; } case 58: { - _stbi__err(9578); + _stbi__err(9566); $$6$ph = 0; break; } case 61: { - _stbi__err(9591); + _stbi__err(9579); $$6$ph = 0; break; } case 63: { - _stbi__err(9578); + _stbi__err(9566); $$6$ph = 0; break; } case 70: { - _stbi__err(9517); + _stbi__err(9505); $$6$ph = 0; break; } case 72: { - _stbi__err(9616); + _stbi__err(9604); $$6$ph = 0; break; } @@ -18609,12 +18584,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9263); + _stbi__err(9251); $$6$ph = 0; break; } case 83: { - _stbi__err(9624); + _stbi__err(9612); $$6$ph = 0; break; } @@ -18627,7 +18602,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9634); + _stbi__err(9622); $$4 = 0; break; } @@ -18692,7 +18667,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4747]|0; + $193 = HEAP32[4825]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -18725,7 +18700,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9517); + _stbi__err(9505); $$4 = 0; } } while(0); @@ -18733,24 +18708,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9517); + _stbi__err(9505); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9642] = $206; + HEAP8[9630] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9643)>>0] = $209; + HEAP8[(9631)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9644)>>0] = $211; + HEAP8[(9632)>>0] = $211; $212 = $207&255; - HEAP8[(9645)>>0] = $212; - _stbi__err(9642); + HEAP8[(9633)>>0] = $212; + _stbi__err(9630); $$6$ph = 0; break; } @@ -18784,14 +18759,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9304|0),(9208|0),1561,(9360|0)); + ___assert_fail((9292|0),(9196|0),1477,(9348|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9263); + _stbi__err(9251); $$0163 = 0; return ($$0163|0); } @@ -19154,7 +19129,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9358|0),(9208|0),1590,(9360|0)); + ___assert_fail((9346|0),(9196|0),1506,(9348|0)); // unreachable; } } while(0); @@ -19188,7 +19163,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9304|0),(9208|0),1610,(9335|0)); + ___assert_fail((9292|0),(9196|0),1526,(9323|0)); // unreachable; } $7 = $2 << 1; @@ -19198,7 +19173,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9263); + _stbi__err(9251); $$0163 = 0; return ($$0163|0); } @@ -19561,7 +19536,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9358|0),(9208|0),1639,(9335|0)); + ___assert_fail((9346|0),(9196|0),1555,(9323|0)); // unreachable; } } while(0); @@ -19709,7 +19684,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10299); + _stbi__err(10607); $$05 = 0; return ($$05|0); } @@ -20146,7 +20121,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9701|0),(9208|0),4568,(9753|0)); + ___assert_fail((9689|0),(9196|0),4569,(9741|0)); // unreachable; } } @@ -20233,7 +20208,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9701|0),(9208|0),4543,(9726|0)); + ___assert_fail((9689|0),(9196|0),4544,(9714|0)); // unreachable; } } @@ -20280,7 +20255,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4748]|0; + $16 = HEAP32[4826]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -20355,7 +20330,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9667|0),(9208|0),4649,(9685|0)); + ___assert_fail((9655|0),(9196|0),4650,(9673|0)); // unreachable; } } @@ -20378,7 +20353,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9263); + _stbi__err(9251); $$0 = 0; return ($$0|0); } @@ -20555,7 +20530,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9782|0),(9208|0),4294,(9823|0)); + ___assert_fail((9770|0),(9196|0),4294,(9811|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -20563,7 +20538,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9263); + _stbi__err(9251); $$2 = 0; return ($$2|0); } @@ -20582,7 +20557,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9850); + _stbi__err(9838); $$2 = 0; return ($$2|0); } @@ -20595,7 +20570,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9850); + _stbi__err(9838); $$2 = 0; return ($$2|0); } @@ -20603,12 +20578,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -20631,33 +20606,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9889 + ($56)|0); + $60 = (9877 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -20667,24 +20642,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -20694,10 +20669,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -20708,10 +20683,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -20722,14 +20697,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -20759,7 +20734,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -20774,12 +20749,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -21356,15 +21331,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9868|0),(9208|0),4315,(9823|0)); + ___assert_fail((9856|0),(9196|0),4315,(9811|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9894|0),(9208|0),4376,(9823|0)); + ___assert_fail((9882|0),(9196|0),4377,(9811|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9911); + _stbi__err(9899); $$2 = 0; return ($$2|0); } @@ -21414,7 +21389,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9607 + ($6)|0); + $336 = (9595 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -21855,7 +21830,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9926|0),(9208|0),4465,(9823|0)); + ___assert_fail((9914|0),(9196|0),4466,(9811|0)); // unreachable; } else if ((label|0) == 151) { @@ -21915,8 +21890,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -21931,15 +21906,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -21948,65 +21923,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20890)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9925,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,20891,288)|0); + $15 = (_stbi__zbuild_huffman($8,10213,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,20859,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -22025,14 +21995,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10252); + _stbi__err(10560); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10268); + _stbi__err(10576); $$0 = 0; return ($$0|0); } @@ -22041,7 +22011,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10283); + _stbi__err(10591); $$0 = 0; return ($$0|0); } @@ -22124,7 +22094,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10174|0),(9208|0),4048,(10191|0)); + ___assert_fail((10482|0),(9196|0),4033,(10499|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -22161,7 +22131,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10222); + _stbi__err(10530); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -22171,7 +22141,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10235); + _stbi__err(10543); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -22201,21 +22171,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20891|0),8,144)|0; - dest=(21035); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21147); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21171); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20859; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -22349,7 +22304,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10112); + _stbi__err(10420); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22438,7 +22393,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10164); + _stbi__err(10472); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22467,7 +22422,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10958 + ($$06579)|0); + $14 = (11266 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -22558,21 +22513,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10112); + _stbi__err(10420); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10112); + _stbi__err(10420); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10128|0),(9208|0),4021,(10136|0)); + ___assert_fail((10436|0),(9196|0),4006,(10444|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10112); + _stbi__err(10420); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22582,7 +22537,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10112); + _stbi__err(10420); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22746,7 +22701,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9937); + _stbi__err(10245); $$3$ph = 0; return ($$3$ph|0); } @@ -22756,12 +22711,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9937); + _stbi__err(10245); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9954); + _stbi__err(10262); $$3$ph = 0; return ($$3$ph|0); } @@ -22818,7 +22773,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9963); + _stbi__err(10271); $$0 = 0; return ($$0|0); } @@ -22844,7 +22799,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9263); + _stbi__err(9251); $$0 = 0; return ($$0|0); } else { @@ -22889,7 +22844,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10059|0),(9208|0),3863,(10096|0)); + ___assert_fail((10367|0),(9196|0),3848,(10404|0)); // unreachable; } else if ((label|0) == 5) { @@ -22937,7 +22892,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9983|0),(9208|0),3891,(9999|0)); + ___assert_fail((10291|0),(9196|0),3876,(10307|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -22965,7 +22920,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10030|0),(9208|0),3781,(10041|0)); + ___assert_fail((10338|0),(9196|0),3766,(10349|0)); // unreachable; } return (0)|0; @@ -23111,10 +23066,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -23125,27 +23080,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10311)|0); + $6 = (_IsFileExtension($1,10619)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10364)|0); + $19 = (_IsFileExtension($1,10672)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10369,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10677,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10811)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -23173,7 +23129,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -23190,18 +23146,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10317,$vararg_buffer); + _TraceLog(2,10625,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -23210,34 +23166,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10405,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,10713,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10444,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10752,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -23256,11 +23219,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10503)|0); + $4 = (_fopen($0,10811)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10506,$vararg_buffer); + _TraceLog(2,10814,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -23359,7 +23322,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10603,$vararg_buffer4); + _TraceLog(0,10911,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -23394,14 +23357,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10649,$vararg_buffer8); + _TraceLog(2,10957,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10557,$vararg_buffer1); + _TraceLog(2,10865,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -23491,7 +23454,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10475,$vararg_buffer); + _TraceLog(2,10783,$vararg_buffer); $$0 = $6; } } @@ -23536,27 +23499,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10699,$vararg_buffer); + _TraceLog(2,11007,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10738,$vararg_buffer1); + _TraceLog(2,11046,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10764,$vararg_buffer3); + _TraceLog(2,11072,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10827,$vararg_buffer5); + _TraceLog(2,11135,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10862,$vararg_buffer7); + _TraceLog(2,11170,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10897,$vararg_buffer10); + _TraceLog(0,11205,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -24739,7 +24702,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10954 + ($$361133)|0); + $199 = (11262 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -25169,7 +25132,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10954 + ($$331130)|0); + $186 = (11262 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -25207,7 +25170,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10954 + ($$371134)|0); + $203 = (11262 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -25246,7 +25209,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10958 + ($$421139)|0); + $235 = (11266 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -25653,7 +25616,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10977 + ($495)|0); + $496 = (11285 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -25690,7 +25653,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10981 + ($515)|0); + $516 = (11289 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -26602,7 +26565,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,10985,$vararg_buffer); + _TraceLog(2,11293,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -26623,7 +26586,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16784>>2]|0;HEAP32[$0+4>>2]=HEAP32[16784+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16784+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16784+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16784+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16784+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16784+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16784+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17096>>2]|0;HEAP32[$0+4>>2]=HEAP32[17096+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17096+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17096+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17096+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17096+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17096+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17096+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -27091,8 +27054,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(21179,$0,$1)|0); - STACKTOP = sp;return (21179|0); + (_vsprintf(21171,$0,$1)|0); + STACKTOP = sp;return (21171|0); } function _emscripten_GetProcAddress($0) { $0 = $0|0; @@ -27140,7 +27103,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11014)|0); + $12 = (_strstr($11,11322)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -27149,7 +27112,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11018)|0); + $17 = (_strstr($16,11326)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -27158,7 +27121,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11022)|0); + $22 = (_strstr($21,11330)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -27167,7 +27130,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11026)|0); + $27 = (_strstr($26,11334)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -27176,1210 +27139,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11032)|0); + $32 = (_strcmp($31,11340)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11070)|0); + $35 = (_strcmp($34,11378)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11089; + HEAP32[$3>>2] = 11397; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11102)|0); + $38 = (_strcmp($37,11410)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11123; + HEAP32[$3>>2] = 11431; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11138)|0); + $41 = (_strcmp($40,11446)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11153; + HEAP32[$3>>2] = 11461; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11168)|0); + $44 = (_strcmp($43,11476)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11183; + HEAP32[$3>>2] = 11491; } } else { - HEAP32[$3>>2] = 11054; + HEAP32[$3>>2] = 11362; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11198)|0); + $47 = (_strcmp($46,11506)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11212)|0); + $50 = (_strcmp($49,11520)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11224)|0); + $53 = (_strcmp($52,11532)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11238)|0); + $56 = (_strcmp($55,11546)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11250)|0); + $59 = (_strcmp($58,11558)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11264)|0); + $62 = (_strcmp($61,11572)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11278)|0); + $65 = (_strcmp($64,11586)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11295)|0); + $68 = (_strcmp($67,11603)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11318)|0); + $71 = (_strcmp($70,11626)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11344)|0); + $74 = (_strcmp($73,11652)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11357)|0); + $77 = (_strcmp($76,11665)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11373)|0); + $80 = (_strcmp($79,11681)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11386)|0); + $83 = (_strcmp($82,11694)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11400)|0); + $86 = (_strcmp($85,11708)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11420)|0); + $89 = (_strcmp($88,11728)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11440)|0); + $92 = (_strcmp($91,11748)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11457)|0); + $95 = (_strcmp($94,11765)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11474)|0); + $98 = (_strcmp($97,11782)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11486)|0); + $101 = (_strcmp($100,11794)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11499)|0); + $104 = (_strcmp($103,11807)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11515)|0); + $107 = (_strcmp($106,11823)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11538)|0); + $110 = (_strcmp($109,11846)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11551)|0); + $113 = (_strcmp($112,11859)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11567)|0); + $116 = (_strcmp($115,11875)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11578)|0); + $119 = (_strcmp($118,11886)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11597)|0); + $122 = (_strcmp($121,11905)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11619)|0); + $125 = (_strcmp($124,11927)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11638)|0); + $128 = (_strcmp($127,11946)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11667)|0); + $131 = (_strcmp($130,11975)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11684)|0); + $134 = (_strcmp($133,11992)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11699)|0); + $137 = (_strcmp($136,12007)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11714)|0); + $140 = (_strcmp($139,12022)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11735)|0); + $143 = (_strcmp($142,12043)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11755)|0); + $146 = (_strcmp($145,12063)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11775)|0); + $149 = (_strcmp($148,12083)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11801)|0); + $152 = (_strcmp($151,12109)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11820)|0); + $155 = (_strcmp($154,12128)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11832)|0); + $158 = (_strcmp($157,12140)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11844)|0); + $161 = (_strcmp($160,12152)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11856)|0); + $164 = (_strcmp($163,12164)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11868)|0); + $167 = (_strcmp($166,12176)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11880)|0); + $170 = (_strcmp($169,12188)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11892)|0); + $173 = (_strcmp($172,12200)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11904)|0); + $176 = (_strcmp($175,12212)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11916)|0); + $179 = (_strcmp($178,12224)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11929)|0); + $182 = (_strcmp($181,12237)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11942)|0); + $185 = (_strcmp($184,12250)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11955)|0); + $188 = (_strcmp($187,12263)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11968)|0); + $191 = (_strcmp($190,12276)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11981)|0); + $194 = (_strcmp($193,12289)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11994)|0); + $197 = (_strcmp($196,12302)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12007)|0); + $200 = (_strcmp($199,12315)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12020)|0); + $203 = (_strcmp($202,12328)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12039)|0); + $206 = (_strcmp($205,12347)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12058)|0); + $209 = (_strcmp($208,12366)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12077)|0); + $212 = (_strcmp($211,12385)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12090)|0); + $215 = (_strcmp($214,12398)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12108)|0); + $218 = (_strcmp($217,12416)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12126)|0); + $221 = (_strcmp($220,12434)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12144)|0); + $224 = (_strcmp($223,12452)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12162)|0); + $227 = (_strcmp($226,12470)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12182)|0); + $230 = (_strcmp($229,12490)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11123)|0); + $233 = (_strcmp($232,11431)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12200)|0); + $236 = (_strcmp($235,12508)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12215)|0); + $239 = (_strcmp($238,12523)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12236)|0); + $242 = (_strcmp($241,12544)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12251)|0); + $245 = (_strcmp($244,12559)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12269)|0); + $248 = (_strcmp($247,12577)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12285)|0); + $251 = (_strcmp($250,12593)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12304)|0); + $254 = (_strcmp($253,12612)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12318)|0); + $257 = (_strcmp($256,12626)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12333)|0); + $260 = (_strcmp($259,12641)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11054)|0); + $263 = (_strcmp($262,11362)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12344)|0); + $266 = (_strcmp($265,12652)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11153)|0); + $269 = (_strcmp($268,11461)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11183)|0); + $272 = (_strcmp($271,11491)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12360)|0); + $275 = (_strcmp($274,12668)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12387)|0); + $278 = (_strcmp($277,12695)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12401)|0); + $281 = (_strcmp($280,12709)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11089)|0); + $284 = (_strcmp($283,11397)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12421)|0); + $287 = (_strcmp($286,12729)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12439)|0); + $290 = (_strcmp($289,12747)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12451)|0); + $293 = (_strcmp($292,12759)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12472)|0); + $296 = (_strcmp($295,12780)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12490)|0); + $299 = (_strcmp($298,12798)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12508)|0); + $302 = (_strcmp($301,12816)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12529)|0); + $305 = (_strcmp($304,12837)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12555)|0); + $308 = (_strcmp($307,12863)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12578)|0); + $311 = (_strcmp($310,12886)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12616)|0); + $314 = (_strcmp($313,12924)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12632)|0); + $317 = (_strcmp($316,12940)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12647)|0); + $320 = (_strcmp($319,12955)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12670)|0); + $323 = (_strcmp($322,12978)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12683)|0); + $326 = (_strcmp($325,12991)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12697)|0); + $329 = (_strcmp($328,13005)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12711)|0); + $332 = (_strcmp($331,13019)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12731)|0); + $335 = (_strcmp($334,13039)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12751)|0); + $338 = (_strcmp($337,13059)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12767)|0); + $341 = (_strcmp($340,13075)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12785)|0); + $344 = (_strcmp($343,13093)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12801)|0); + $347 = (_strcmp($346,13109)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12816)|0); + $350 = (_strcmp($349,13124)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12838)|0); + $353 = (_strcmp($352,13146)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12856)|0); + $356 = (_strcmp($355,13164)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12877)|0); + $359 = (_strcmp($358,13185)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12895)|0); + $362 = (_strcmp($361,13203)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12908)|0); + $365 = (_strcmp($364,13216)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12923)|0); + $368 = (_strcmp($367,13231)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12937)|0); + $371 = (_strcmp($370,13245)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12947)|0); + $374 = (_strcmp($373,13255)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12957)|0); + $377 = (_strcmp($376,13265)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12979)|0); + $380 = (_strcmp($379,13287)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13005)|0); + $383 = (_strcmp($382,13313)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13032)|0); + $386 = (_strcmp($385,13340)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13045)|0); + $389 = (_strcmp($388,13353)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13060)|0); + $392 = (_strcmp($391,13368)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13075)|0); + $395 = (_strcmp($394,13383)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13099)|0); + $398 = (_strcmp($397,13407)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13110)|0); + $401 = (_strcmp($400,13418)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13132)|0); + $404 = (_strcmp($403,13440)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13154)|0); + $407 = (_strcmp($406,13462)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13178)|0); + $410 = (_strcmp($409,13486)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13187)|0); + $413 = (_strcmp($412,13495)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13195)|0); + $416 = (_strcmp($415,13503)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13208)|0); + $419 = (_strcmp($418,13516)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13222)|0); + $422 = (_strcmp($421,13530)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13234)|0); + $425 = (_strcmp($424,13542)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13243)|0); + $428 = (_strcmp($427,13551)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13253)|0); + $431 = (_strcmp($430,13561)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13265)|0); + $434 = (_strcmp($433,13573)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13276)|0); + $437 = (_strcmp($436,13584)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13284)|0); + $440 = (_strcmp($439,13592)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13296)|0); + $443 = (_strcmp($442,13604)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13311)|0); + $446 = (_strcmp($445,13619)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13323)|0); + $449 = (_strcmp($448,13631)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13337)|0); + $452 = (_strcmp($451,13645)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13362)|0); + $455 = (_strcmp($454,13670)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13379)|0); + $458 = (_strcmp($457,13687)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13395)|0); + $461 = (_strcmp($460,13703)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13411)|0); + $464 = (_strcmp($463,13719)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13423)|0); + $467 = (_strcmp($466,13731)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13435)|0); + $470 = (_strcmp($469,13743)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13459)|0); + $473 = (_strcmp($472,13767)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13472)|0); + $476 = (_strcmp($475,13780)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13486)|0); + $479 = (_strcmp($478,13794)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13508)|0); + $482 = (_strcmp($481,13816)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13515)|0); + $485 = (_strcmp($484,13823)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13531)|0); + $488 = (_strcmp($487,13839)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13548)|0); + $491 = (_strcmp($490,13856)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13565)|0); + $494 = (_strcmp($493,13873)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13581)|0); + $497 = (_strcmp($496,13889)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13597)|0); + $500 = (_strcmp($499,13905)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13614)|0); + $503 = (_strcmp($502,13922)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13628)|0); + $506 = (_strcmp($505,13936)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13640)|0); + $509 = (_strcmp($508,13948)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13651)|0); + $512 = (_strcmp($511,13959)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13664)|0); + $515 = (_strcmp($514,13972)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13674)|0); + $518 = (_strcmp($517,13982)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13691)|0); + $521 = (_strcmp($520,13999)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13703)|0); + $524 = (_strcmp($523,14011)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13725)|0); + $527 = (_strcmp($526,14033)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13745)|0); + $530 = (_strcmp($529,14053)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13758)|0); + $533 = (_strcmp($532,14066)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13780)|0); + $536 = (_strcmp($535,14088)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13800)|0); + $539 = (_strcmp($538,14108)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13817)|0); + $542 = (_strcmp($541,14125)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13834)|0); + $545 = (_strcmp($544,14142)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13854)|0); + $548 = (_strcmp($547,14162)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -28401,7 +28364,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (18996|0); + return (19308|0); } function ___stdio_close($0) { $0 = $0|0; @@ -29334,7 +29297,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13970 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14278 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -29512,7 +29475,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14434;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14742;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -29533,7 +29496,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14434;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14742;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -29541,8 +29504,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14434 : (14436); - $$$ = $238 ? $$ : (14435); + $$ = $240 ? 14742 : (14744); + $$$ = $238 ? $$ : (14743); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -29559,7 +29522,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14434;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14742;$242 = $167;$243 = $170; label = 66; break; } @@ -29572,7 +29535,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14434;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14742;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -29586,7 +29549,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14444; + $271 = $270 ? $269 : 14752; $$1 = $271; label = 71; break; @@ -29626,7 +29589,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14434;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14742;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -29648,8 +29611,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14434 + ($208)|0); - $$289 = $or$cond283 ? 14434 : $209; + $209 = (14742 + ($208)|0); + $$289 = $or$cond283 ? 14742 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -29670,7 +29633,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14434;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14742;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -30200,7 +30163,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14486 + ($7)|0); + $9 = (14794 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -30558,14 +30521,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14451; + $$0471 = $14;$$0520 = 1;$$0521 = 14759; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14452) : (14457); - $$$ = $16 ? $$ : (14454); + $$ = $18 ? (14760) : (14765); + $$$ = $16 ? $$ : (14762); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -30664,7 +30627,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14486 + ($80)|0); + $81 = (14794 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -31275,7 +31238,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14502,1); + _out($0,14810,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -31356,7 +31319,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14502,1); + _out($0,14810,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -31413,9 +31376,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14470 : 14474; + $29 = $28 ? 14778 : 14782; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14478 : 14482; + $31 = $28 ? 14786 : 14790; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -31625,7 +31588,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14504 + ($$016)|0); + $3 = (14812 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -31636,7 +31599,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14592;$$115 = 87; + $$01214 = 14900;$$115 = 87; label = 5; break; } else { @@ -31646,9 +31609,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14592; + $$012$lcssa = 14900; } else { - $$01214 = 14592;$$115 = $$016; + $$01214 = 14900;$$115 = $$016; label = 5; } } @@ -32331,7 +32294,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16396,$3,4)|0); + $memchr = (_memchr(16704,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -32420,7 +32383,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16396,$4,4)|0); + $memchr = (_memchr(16704,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -32511,7 +32474,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(19000)>>2]|0; + $38 = HEAP32[(19312)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -32544,13 +32507,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19060|0)); - return (19068|0); + ___lock((19372|0)); + return (19380|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19060|0)); + ___unlock((19372|0)); return; } function _fclose($0) { @@ -33614,7 +33577,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16664; + $2 = 16976; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -33831,7 +33794,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4768]|0; + $3 = HEAP32[4846]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -33850,22 +33813,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4768] = 0; + HEAP32[4846] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4768] = $10; + HEAP32[4846] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4768] = 0; + HEAP32[4846] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4768] = $13; + HEAP32[4846] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -33946,7 +33909,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4769]|0; + $8 = HEAP32[4847]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -33955,7 +33918,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19116 + ($15<<2)|0); + $16 = (19428 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -33966,9 +33929,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4769] = $24; + HEAP32[4847] = $24; } else { - $25 = HEAP32[(19092)>>2]|0; + $25 = HEAP32[(19404)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -33999,7 +33962,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19084)>>2]|0; + $37 = HEAP32[(19396)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -34033,7 +33996,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19116 + ($68<<2)|0); + $69 = (19428 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -34044,10 +34007,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4769] = $77; + HEAP32[4847] = $77; $98 = $77; } else { - $78 = HEAP32[(19092)>>2]|0; + $78 = HEAP32[(19404)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -34080,22 +34043,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19096)>>2]|0; + $92 = HEAP32[(19408)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19116 + ($94<<2)|0); + $95 = (19428 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4769] = $100; + HEAP32[4847] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19092)>>2]|0; + $103 = HEAP32[(19404)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -34112,12 +34075,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19084)>>2] = $84; - HEAP32[(19096)>>2] = $87; + HEAP32[(19396)>>2] = $84; + HEAP32[(19408)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19080)>>2]|0; + $108 = HEAP32[(19392)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -34145,7 +34108,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19380 + ($132<<2)|0); + $133 = (19692 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -34185,7 +34148,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19092)>>2]|0; + $155 = HEAP32[(19404)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -34280,7 +34243,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19380 + ($188<<2)|0); + $189 = (19692 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -34291,11 +34254,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19080)>>2] = $194; + HEAP32[(19392)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19092)>>2]|0; + $195 = HEAP32[(19404)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -34316,7 +34279,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19092)>>2]|0; + $201 = HEAP32[(19404)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -34346,7 +34309,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19092)>>2]|0; + $213 = HEAP32[(19404)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -34383,22 +34346,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19096)>>2]|0; + $231 = HEAP32[(19408)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19116 + ($233<<2)|0); + $234 = (19428 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4769] = $238; + HEAP32[4847] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19092)>>2]|0; + $241 = HEAP32[(19404)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -34415,8 +34378,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19084)>>2] = $$0193$lcssa$i; - HEAP32[(19096)>>2] = $157; + HEAP32[(19396)>>2] = $$0193$lcssa$i; + HEAP32[(19408)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -34432,7 +34395,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19080)>>2]|0; + $250 = HEAP32[(19392)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -34472,7 +34435,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19380 + ($$0358$i<<2)|0); + $278 = (19692 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -34564,7 +34527,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19380 + ($330<<2)|0); + $331 = (19692 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -34608,11 +34571,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19084)>>2]|0; + $345 = HEAP32[(19396)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19092)>>2]|0; + $348 = HEAP32[(19404)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -34709,7 +34672,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19380 + ($381<<2)|0); + $382 = (19692 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -34720,12 +34683,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19080)>>2] = $387; + HEAP32[(19392)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19092)>>2]|0; + $388 = HEAP32[(19404)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -34747,7 +34710,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19092)>>2]|0; + $394 = HEAP32[(19404)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -34779,7 +34742,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19092)>>2]|0; + $406 = HEAP32[(19404)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -34820,20 +34783,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19116 + ($425<<2)|0); - $427 = HEAP32[4769]|0; + $426 = (19428 + ($425<<2)|0); + $427 = HEAP32[4847]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4769] = $431; + HEAP32[4847] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19092)>>2]|0; + $434 = HEAP32[(19404)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -34885,7 +34848,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19380 + ($$0361$i<<2)|0); + $464 = (19692 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -34897,7 +34860,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19080)>>2] = $472; + HEAP32[(19392)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -34936,7 +34899,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19092)>>2]|0; + $491 = HEAP32[(19404)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -34955,7 +34918,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19092)>>2]|0; + $498 = HEAP32[(19404)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -34988,16 +34951,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19084)>>2]|0; + $506 = HEAP32[(19396)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19096)>>2]|0; + $509 = HEAP32[(19408)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19096)>>2] = $511; - HEAP32[(19084)>>2] = $508; + HEAP32[(19408)>>2] = $511; + HEAP32[(19396)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -35007,8 +34970,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19084)>>2] = 0; - HEAP32[(19096)>>2] = 0; + HEAP32[(19396)>>2] = 0; + HEAP32[(19408)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -35022,14 +34985,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19088)>>2]|0; + $524 = HEAP32[(19400)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19088)>>2] = $526; - $527 = HEAP32[(19100)>>2]|0; + HEAP32[(19400)>>2] = $526; + $527 = HEAP32[(19412)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19100)>>2] = $528; + HEAP32[(19412)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -35040,23 +35003,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4887]|0; + $534 = HEAP32[4965]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19556)>>2] = 4096; - HEAP32[(19552)>>2] = 4096; - HEAP32[(19560)>>2] = -1; - HEAP32[(19564)>>2] = -1; - HEAP32[(19568)>>2] = 0; - HEAP32[(19520)>>2] = 0; + HEAP32[(19868)>>2] = 4096; + HEAP32[(19864)>>2] = 4096; + HEAP32[(19872)>>2] = -1; + HEAP32[(19876)>>2] = -1; + HEAP32[(19880)>>2] = 0; + HEAP32[(19832)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4887] = $538; + HEAP32[4965] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19556)>>2]|0; + $$pre$i212 = HEAP32[(19868)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -35069,10 +35032,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19516)>>2]|0; + $546 = HEAP32[(19828)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19508)>>2]|0; + $548 = HEAP32[(19820)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -35082,18 +35045,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19520)>>2]|0; + $552 = HEAP32[(19832)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19100)>>2]|0; + $555 = HEAP32[(19412)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19524); + $$0$i$i = (19836); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -35151,7 +35114,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19552)>>2]|0; + $569 = HEAP32[(19864)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -35161,13 +35124,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19508)>>2]|0; + $578 = HEAP32[(19820)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19516)>>2]|0; + $582 = HEAP32[(19828)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -35213,7 +35176,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19556)>>2]|0; + $601 = HEAP32[(19868)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -35238,9 +35201,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19520)>>2]|0; + $611 = HEAP32[(19832)>>2]|0; $612 = $611 | 4; - HEAP32[(19520)>>2] = $612; + HEAP32[(19832)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -35276,35 +35239,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19508)>>2]|0; + $626 = HEAP32[(19820)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19508)>>2] = $627; - $628 = HEAP32[(19512)>>2]|0; + HEAP32[(19820)>>2] = $627; + $628 = HEAP32[(19824)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19512)>>2] = $627; + HEAP32[(19824)>>2] = $627; } - $630 = HEAP32[(19100)>>2]|0; + $630 = HEAP32[(19412)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19092)>>2]|0; + $632 = HEAP32[(19404)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19092)>>2] = $$749$i; + HEAP32[(19404)>>2] = $$749$i; } - HEAP32[(19524)>>2] = $$749$i; - HEAP32[(19528)>>2] = $$723948$i; - HEAP32[(19536)>>2] = 0; - $635 = HEAP32[4887]|0; - HEAP32[(19112)>>2] = $635; - HEAP32[(19108)>>2] = -1; + HEAP32[(19836)>>2] = $$749$i; + HEAP32[(19840)>>2] = $$723948$i; + HEAP32[(19848)>>2] = 0; + $635 = HEAP32[4965]|0; + HEAP32[(19424)>>2] = $635; + HEAP32[(19420)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19116 + ($636<<2)|0); + $637 = (19428 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -35327,18 +35290,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19100)>>2] = $649; - HEAP32[(19088)>>2] = $650; + HEAP32[(19412)>>2] = $649; + HEAP32[(19400)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19564)>>2]|0; - HEAP32[(19104)>>2] = $655; + $655 = HEAP32[(19876)>>2]|0; + HEAP32[(19416)>>2] = $655; } else { - $$024371$i = (19524); + $$024371$i = (19836); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -35370,7 +35333,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19088)>>2]|0; + $671 = HEAP32[(19400)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -35381,30 +35344,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19100)>>2] = $679; - HEAP32[(19088)>>2] = $681; + HEAP32[(19412)>>2] = $679; + HEAP32[(19400)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19564)>>2]|0; - HEAP32[(19104)>>2] = $686; + $686 = HEAP32[(19876)>>2]|0; + HEAP32[(19416)>>2] = $686; break; } } } - $687 = HEAP32[(19092)>>2]|0; + $687 = HEAP32[(19404)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19092)>>2] = $$749$i; + HEAP32[(19404)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19524); + $$124470$i = (19836); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -35459,21 +35422,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19088)>>2]|0; + $726 = HEAP32[(19400)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19088)>>2] = $727; - HEAP32[(19100)>>2] = $721; + HEAP32[(19400)>>2] = $727; + HEAP32[(19412)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19096)>>2]|0; + $730 = HEAP32[(19408)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19084)>>2]|0; + $732 = HEAP32[(19396)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19084)>>2] = $733; - HEAP32[(19096)>>2] = $721; + HEAP32[(19396)>>2] = $733; + HEAP32[(19408)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -35496,7 +35459,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19116 + ($748<<2)|0); + $749 = (19428 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -35519,9 +35482,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4769]|0; + $759 = HEAP32[4847]|0; $760 = $759 & $758; - HEAP32[4769] = $760; + HEAP32[4847] = $760; break; } $761 = ($747|0)==($749|0); @@ -35634,7 +35597,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19380 + ($796<<2)|0); + $797 = (19692 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -35646,12 +35609,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19080)>>2]|0; + $802 = HEAP32[(19392)>>2]|0; $803 = $802 & $801; - HEAP32[(19080)>>2] = $803; + HEAP32[(19392)>>2] = $803; break L314; } else { - $804 = HEAP32[(19092)>>2]|0; + $804 = HEAP32[(19404)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -35672,7 +35635,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19092)>>2]|0; + $810 = HEAP32[(19404)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -35704,7 +35667,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19092)>>2]|0; + $822 = HEAP32[(19404)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -35737,21 +35700,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19116 + ($836<<2)|0); - $838 = HEAP32[4769]|0; + $837 = (19428 + ($836<<2)|0); + $838 = HEAP32[4847]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4769] = $842; + HEAP32[4847] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19092)>>2]|0; + $845 = HEAP32[(19404)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -35806,20 +35769,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19380 + ($$0296$i$i<<2)|0); + $875 = (19692 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19080)>>2]|0; + $879 = HEAP32[(19392)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19080)>>2] = $883; + HEAP32[(19392)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -35858,7 +35821,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19092)>>2]|0; + $902 = HEAP32[(19404)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -35877,7 +35840,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19092)>>2]|0; + $909 = HEAP32[(19404)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -35904,7 +35867,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19524); + $$0$i$i$i = (19836); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -35945,23 +35908,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19100)>>2] = $946; - HEAP32[(19088)>>2] = $947; + HEAP32[(19412)>>2] = $946; + HEAP32[(19400)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19564)>>2]|0; - HEAP32[(19104)>>2] = $952; + $952 = HEAP32[(19876)>>2]|0; + HEAP32[(19416)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19524)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19524)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19524)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19524)+12>>2]|0; - HEAP32[(19524)>>2] = $$749$i; - HEAP32[(19528)>>2] = $$723948$i; - HEAP32[(19536)>>2] = 0; - HEAP32[(19532)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19836)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19836)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19836)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19836)+12>>2]|0; + HEAP32[(19836)>>2] = $$749$i; + HEAP32[(19840)>>2] = $$723948$i; + HEAP32[(19848)>>2] = 0; + HEAP32[(19844)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -35990,20 +35953,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19116 + ($968<<2)|0); - $970 = HEAP32[4769]|0; + $969 = (19428 + ($968<<2)|0); + $970 = HEAP32[4847]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4769] = $974; + HEAP32[4847] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19092)>>2]|0; + $977 = HEAP32[(19404)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -36055,19 +36018,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19380 + ($$0212$i$i<<2)|0); + $1007 = (19692 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19080)>>2]|0; + $1010 = HEAP32[(19392)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19080)>>2] = $1014; + HEAP32[(19392)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -36106,7 +36069,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19092)>>2]|0; + $1033 = HEAP32[(19404)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -36125,7 +36088,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19092)>>2]|0; + $1040 = HEAP32[(19404)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -36148,14 +36111,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19088)>>2]|0; + $1048 = HEAP32[(19400)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19088)>>2] = $1050; - $1051 = HEAP32[(19100)>>2]|0; + HEAP32[(19400)>>2] = $1050; + $1051 = HEAP32[(19412)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19100)>>2] = $1052; + HEAP32[(19412)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -36198,7 +36161,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19092)>>2]|0; + $3 = HEAP32[(19404)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -36231,7 +36194,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19096)>>2]|0; + $19 = HEAP32[(19408)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -36246,7 +36209,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19084)>>2] = $17; + HEAP32[(19396)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -36260,7 +36223,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19116 + ($27<<2)|0); + $28 = (19428 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -36280,9 +36243,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4769]|0; + $37 = HEAP32[4847]|0; $38 = $37 & $36; - HEAP32[4769] = $38; + HEAP32[4847] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -36396,7 +36359,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19380 + ($74<<2)|0); + $75 = (19692 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -36406,14 +36369,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19080)>>2]|0; + $80 = HEAP32[(19392)>>2]|0; $81 = $80 & $79; - HEAP32[(19080)>>2] = $81; + HEAP32[(19392)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19092)>>2]|0; + $82 = HEAP32[(19404)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -36435,7 +36398,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19092)>>2]|0; + $88 = HEAP32[(19404)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -36467,7 +36430,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19092)>>2]|0; + $100 = HEAP32[(19404)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -36502,14 +36465,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19100)>>2]|0; + $120 = HEAP32[(19412)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19096)>>2]|0; + $122 = HEAP32[(19408)>>2]|0; if ($121) { - $123 = HEAP32[(19088)>>2]|0; + $123 = HEAP32[(19400)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19088)>>2] = $124; - HEAP32[(19100)>>2] = $$1; + HEAP32[(19400)>>2] = $124; + HEAP32[(19412)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36517,16 +36480,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19096)>>2] = 0; - HEAP32[(19084)>>2] = 0; + HEAP32[(19408)>>2] = 0; + HEAP32[(19396)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19084)>>2]|0; + $129 = HEAP32[(19396)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19084)>>2] = $130; - HEAP32[(19096)>>2] = $113; + HEAP32[(19396)>>2] = $130; + HEAP32[(19408)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -36545,10 +36508,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19116 + ($142<<2)|0); + $143 = (19428 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19092)>>2]|0; + $145 = HEAP32[(19404)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -36566,9 +36529,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4769]|0; + $153 = HEAP32[4847]|0; $154 = $153 & $152; - HEAP32[4769] = $154; + HEAP32[4847] = $154; break; } $155 = ($141|0)==($143|0); @@ -36576,7 +36539,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19092)>>2]|0; + $156 = HEAP32[(19404)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -36636,7 +36599,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19092)>>2]|0; + $189 = HEAP32[(19404)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -36649,7 +36612,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19092)>>2]|0; + $169 = HEAP32[(19404)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -36680,7 +36643,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19380 + ($193<<2)|0); + $194 = (19692 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -36690,13 +36653,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19080)>>2]|0; + $199 = HEAP32[(19392)>>2]|0; $200 = $199 & $198; - HEAP32[(19080)>>2] = $200; + HEAP32[(19392)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19092)>>2]|0; + $201 = HEAP32[(19404)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -36717,7 +36680,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19092)>>2]|0; + $207 = HEAP32[(19404)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -36747,7 +36710,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19092)>>2]|0; + $219 = HEAP32[(19404)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -36768,10 +36731,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19096)>>2]|0; + $226 = HEAP32[(19408)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19084)>>2] = $135; + HEAP32[(19396)>>2] = $135; return; } else { $$2 = $135; @@ -36790,20 +36753,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19116 + ($234<<2)|0); - $236 = HEAP32[4769]|0; + $235 = (19428 + ($234<<2)|0); + $236 = HEAP32[4847]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4769] = $240; + HEAP32[4847] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19092)>>2]|0; + $243 = HEAP32[(19404)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -36855,21 +36818,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19380 + ($$0396<<2)|0); + $273 = (19692 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19080)>>2]|0; + $277 = HEAP32[(19392)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19080)>>2] = $281; + HEAP32[(19392)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -36907,7 +36870,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19092)>>2]|0; + $300 = HEAP32[(19404)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -36926,7 +36889,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19092)>>2]|0; + $307 = HEAP32[(19404)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -36948,12 +36911,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19108)>>2]|0; + $314 = HEAP32[(19420)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19108)>>2] = $315; + HEAP32[(19420)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19532); + $$0212$in$i = (19844); } else { return; } @@ -36967,7 +36930,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19108)>>2] = -1; + HEAP32[(19420)>>2] = -1; return; } function _realloc($0,$1) { @@ -37039,7 +37002,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19092)>>2]|0; + $6 = HEAP32[(19404)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -37069,7 +37032,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19556)>>2]|0; + $18 = HEAP32[(19868)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -37105,10 +37068,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19100)>>2]|0; + $34 = HEAP32[(19412)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19088)>>2]|0; + $36 = HEAP32[(19400)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -37124,15 +37087,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19100)>>2] = $40; - HEAP32[(19088)>>2] = $39; + HEAP32[(19412)>>2] = $40; + HEAP32[(19400)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19096)>>2]|0; + $46 = HEAP32[(19408)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19084)>>2]|0; + $48 = HEAP32[(19396)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -37168,8 +37131,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19084)>>2] = $storemerge1; - HEAP32[(19096)>>2] = $storemerge; + HEAP32[(19396)>>2] = $storemerge1; + HEAP32[(19408)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -37196,7 +37159,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19116 + ($81<<2)|0); + $82 = (19428 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -37216,9 +37179,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4769]|0; + $91 = HEAP32[4847]|0; $92 = $91 & $90; - HEAP32[4769] = $92; + HEAP32[4847] = $92; break; } $93 = ($80|0)==($82|0); @@ -37327,7 +37290,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19380 + ($128<<2)|0); + $129 = (19692 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -37337,13 +37300,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19080)>>2]|0; + $134 = HEAP32[(19392)>>2]|0; $135 = $134 & $133; - HEAP32[(19080)>>2] = $135; + HEAP32[(19392)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19092)>>2]|0; + $136 = HEAP32[(19404)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -37364,7 +37327,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19092)>>2]|0; + $142 = HEAP32[(19404)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -37394,7 +37357,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19092)>>2]|0; + $154 = HEAP32[(19404)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -37479,13 +37442,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19092)>>2]|0; + $13 = HEAP32[(19404)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19096)>>2]|0; + $15 = HEAP32[(19408)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -37500,7 +37463,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19084)>>2] = $12; + HEAP32[(19396)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -37514,7 +37477,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19116 + ($23<<2)|0); + $24 = (19428 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -37534,9 +37497,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4769]|0; + $33 = HEAP32[4847]|0; $34 = $33 & $32; - HEAP32[4769] = $34; + HEAP32[4847] = $34; $$1 = $11;$$1418 = $12; break; } @@ -37650,7 +37613,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19380 + ($70<<2)|0); + $71 = (19692 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -37660,14 +37623,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19080)>>2]|0; + $76 = HEAP32[(19392)>>2]|0; $77 = $76 & $75; - HEAP32[(19080)>>2] = $77; + HEAP32[(19392)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19092)>>2]|0; + $78 = HEAP32[(19404)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -37689,7 +37652,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19092)>>2]|0; + $84 = HEAP32[(19404)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -37721,7 +37684,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19092)>>2]|0; + $96 = HEAP32[(19404)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -37740,7 +37703,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19092)>>2]|0; + $108 = HEAP32[(19404)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -37751,14 +37714,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19100)>>2]|0; + $114 = HEAP32[(19412)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19096)>>2]|0; + $116 = HEAP32[(19408)>>2]|0; if ($115) { - $117 = HEAP32[(19088)>>2]|0; + $117 = HEAP32[(19400)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19088)>>2] = $118; - HEAP32[(19100)>>2] = $$1; + HEAP32[(19400)>>2] = $118; + HEAP32[(19412)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -37766,16 +37729,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19096)>>2] = 0; - HEAP32[(19084)>>2] = 0; + HEAP32[(19408)>>2] = 0; + HEAP32[(19396)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19084)>>2]|0; + $123 = HEAP32[(19396)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19084)>>2] = $124; - HEAP32[(19096)>>2] = $$1; + HEAP32[(19396)>>2] = $124; + HEAP32[(19408)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -37794,7 +37757,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19116 + ($136<<2)|0); + $137 = (19428 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -37814,9 +37777,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4769]|0; + $146 = HEAP32[4847]|0; $147 = $146 & $145; - HEAP32[4769] = $147; + HEAP32[4847] = $147; break; } $148 = ($135|0)==($137|0); @@ -37925,7 +37888,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19380 + ($183<<2)|0); + $184 = (19692 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -37935,13 +37898,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19080)>>2]|0; + $189 = HEAP32[(19392)>>2]|0; $190 = $189 & $188; - HEAP32[(19080)>>2] = $190; + HEAP32[(19392)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19092)>>2]|0; + $191 = HEAP32[(19404)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -37962,7 +37925,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19092)>>2]|0; + $197 = HEAP32[(19404)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -37992,7 +37955,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19092)>>2]|0; + $209 = HEAP32[(19404)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -38013,10 +37976,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19096)>>2]|0; + $216 = HEAP32[(19408)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19084)>>2] = $129; + HEAP32[(19396)>>2] = $129; return; } else { $$2 = $129; @@ -38035,20 +37998,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19116 + ($224<<2)|0); - $226 = HEAP32[4769]|0; + $225 = (19428 + ($224<<2)|0); + $226 = HEAP32[4847]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4769] = $230; + HEAP32[4847] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19092)>>2]|0; + $233 = HEAP32[(19404)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -38100,20 +38063,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19380 + ($$0431<<2)|0); + $263 = (19692 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19080)>>2]|0; + $267 = HEAP32[(19392)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19080)>>2] = $271; + HEAP32[(19392)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -38152,7 +38115,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19092)>>2]|0; + $290 = HEAP32[(19404)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -38170,7 +38133,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19092)>>2]|0; + $297 = HEAP32[(19404)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/core/core_input_gamepad.png b/docs/examples/web/core/core_input_gamepad.png similarity index 100% rename from docs/examples/img/core/core_input_gamepad.png rename to docs/examples/web/core/core_input_gamepad.png diff --git a/docs/examples/web/core/core_input_keys.js b/docs/examples/web/core/core_input_keys.js index 7993046a3..6e37e03ff 100644 --- a/docs/examples/web/core/core_input_keys.js +++ b/docs/examples/web/core/core_input_keys.js @@ -7244,6 +7244,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7343,13 +7393,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8300,45 +8343,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/core/core_input_keys.png b/docs/examples/web/core/core_input_keys.png similarity index 100% rename from docs/examples/img/core/core_input_keys.png rename to docs/examples/web/core/core_input_keys.png diff --git a/docs/examples/web/core/core_input_mouse.js b/docs/examples/web/core/core_input_mouse.js index 2584ac704..87dd1d332 100644 --- a/docs/examples/web/core/core_input_mouse.js +++ b/docs/examples/web/core/core_input_mouse.js @@ -7235,6 +7235,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7334,13 +7384,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8291,45 +8334,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/core/core_input_mouse.png b/docs/examples/web/core/core_input_mouse.png similarity index 100% rename from docs/examples/img/core/core_input_mouse.png rename to docs/examples/web/core/core_input_mouse.png diff --git a/docs/examples/web/core/core_mouse_wheel.js b/docs/examples/web/core/core_mouse_wheel.js index 23dff6b0d..84f893ac2 100644 --- a/docs/examples/web/core/core_mouse_wheel.js +++ b/docs/examples/web/core/core_mouse_wheel.js @@ -7229,6 +7229,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7328,13 +7378,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8285,45 +8328,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/core/core_mouse_wheel.png b/docs/examples/web/core/core_mouse_wheel.png similarity index 100% rename from docs/examples/img/core/core_mouse_wheel.png rename to docs/examples/web/core/core_mouse_wheel.png diff --git a/docs/examples/web/core/core_random_values.js b/docs/examples/web/core/core_random_values.js index aa90fc4d3..fd275ac2b 100644 --- a/docs/examples/web/core/core_random_values.js +++ b/docs/examples/web/core/core_random_values.js @@ -7223,6 +7223,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7322,13 +7372,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8279,45 +8322,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/core/core_random_values.png b/docs/examples/web/core/core_random_values.png similarity index 100% rename from docs/examples/img/core/core_random_values.png rename to docs/examples/web/core/core_random_values.png diff --git a/docs/examples/img/core/core_storage_values.png b/docs/examples/web/core/core_storage_values.png similarity index 100% rename from docs/examples/img/core/core_storage_values.png rename to docs/examples/web/core/core_storage_values.png diff --git a/docs/examples/web/core/core_vr_simulator.js b/docs/examples/web/core/core_vr_simulator.js index b79ecba98..0997fdc21 100644 --- a/docs/examples/web/core/core_vr_simulator.js +++ b/docs/examples/web/core/core_vr_simulator.js @@ -7391,30 +7391,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7549,13 +7599,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8696,45 +8739,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/core/core_oculus_rift.png b/docs/examples/web/core/core_vr_simulator.png similarity index 100% rename from docs/examples/img/core/core_oculus_rift.png rename to docs/examples/web/core/core_vr_simulator.png diff --git a/docs/examples/web/core/core_world_screen.js b/docs/examples/web/core/core_world_screen.js index 1c7761aa2..b9baaa242 100644 --- a/docs/examples/web/core/core_world_screen.js +++ b/docs/examples/web/core/core_world_screen.js @@ -7287,30 +7287,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7445,13 +7495,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8672,45 +8715,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/core/core_world_screen.png b/docs/examples/web/core/core_world_screen.png similarity index 100% rename from docs/examples/img/core/core_world_screen.png rename to docs/examples/web/core/core_world_screen.png diff --git a/docs/examples/web/core/loader.html b/docs/examples/web/core/loader.html new file mode 100644 index 000000000..93d7260f3 --- /dev/null +++ b/docs/examples/web/core/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/makefile b/docs/examples/web/makefile index 62c17f65f..c7ffe5148 100644 --- a/docs/examples/web/makefile +++ b/docs/examples/web/makefile @@ -29,10 +29,14 @@ PLATFORM ?= PLATFORM_DESKTOP # define NO to use OpenAL Soft as static library (shared by default) -SHARED_OPENAL ?= NO +SHARED_OPENAL ?= YES + +ifeq ($(PLATFORM),PLATFORM_WEB) + SHARED_OPENAL = NO +endif # define raylib directory for include and library -RAYLIB_PATH = C:\GitHub\raylib +RAYLIB_PATH ?= C:\GitHub\raylib # determine PLATFORM_OS in case PLATFORM_DESKTOP selected ifeq ($(PLATFORM),PLATFORM_DESKTOP) @@ -77,7 +81,7 @@ endif # -std=gnu99 defines C language mode (GNU C from 1999 revision) # -fgnu89-inline declaring inline functions support (GCC optimized) # -Wno-missing-braces ignore invalid warning (GCC bug 53119) -# -D_DEFAULT_SOURCE use with -std=c99 on Linux to enable timespec and drflac +# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),WINDOWS) CFLAGS = -O2 -s -Wall -std=c99 @@ -90,11 +94,12 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -s USE_GLFW=3 -s ASSERTIONS=1 --profiling - # -O2 # if used, also set --memory-init-file 0 - # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) - #-s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing - #-s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 --profiling + # -O2 # if used, also set --memory-init-file 0 + # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) + # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing + # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + # --preload-file file.res # embbed file.res resource into .data file endif ifeq ($(PLATFORM),PLATFORM_RPI) CFLAGS = -O2 -s -Wall -std=gnu99 -fgnu89-inline @@ -236,28 +241,31 @@ EXAMPLES = \ shapes/shapes_basic_shapes \ shapes/shapes_colors_palette \ shapes/shapes_logo_raylib_anim \ + shapes/shapes_lines_bezier \ textures/textures_logo_raylib \ textures/textures_image_loading \ textures/textures_rectangle \ textures/textures_srcrec_dstrec \ textures/textures_to_image \ textures/textures_raw_data \ + textures/textures_particles_blending \ textures/textures_image_processing \ textures/textures_image_drawing \ text/text_sprite_fonts \ text/text_bmfont_ttf \ - text/text_rbmf_fonts \ + text/text_raylib_fonts \ text/text_format_text \ text/text_writing_anim \ text/text_ttf_loading \ text/text_bmfont_unordered \ + text/text_input_box \ models/models_geometric_shapes \ models/models_box_collisions \ models/models_billboard \ models/models_obj_loading \ models/models_heightmap \ models/models_cubicmap \ - models/models_ray_picking \ + models/models_mesh_picking \ shaders/shaders_model_shader \ shaders/shaders_shapes_textures \ shaders/shaders_custom_uniform \ @@ -266,6 +274,11 @@ EXAMPLES = \ audio/audio_music_stream \ audio/audio_module_playing \ audio/audio_raw_stream \ + physac/physics_demo \ + physac/physics_friction \ + physac/physics_movement \ + physac/physics_restitution \ + physac/physics_shatter \ # typing 'make' will invoke the default target entry called 'all', @@ -372,6 +385,10 @@ shapes/shapes_colors_palette: shapes/shapes_colors_palette.c # compile [shapes] example - raylib logo animation shapes/shapes_logo_raylib_anim: shapes/shapes_logo_raylib_anim.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) + +# compile [shapes] example - lines bezier +shapes/shapes_lines_bezier: shapes/shapes_lines_bezier.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile [textures] example - raylib logo texture loading textures/textures_logo_raylib: textures/textures_logo_raylib.c @@ -399,7 +416,13 @@ textures/textures_to_image: textures/textures_to_image.c # compile [textures] example - texture raw data textures/textures_raw_data: textures/textures_raw_data.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ + --preload-file textures/resources/fudesumi.raw@resources/fudesumi.raw + +# compile [textures] example - texture particles blending +textures/textures_particles_blending: textures/textures_particles_blending.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ + --preload-file textures/resources/smoke.png@resources/smoke.png # compile [textures] example - texture image processing textures/textures_image_processing: textures/textures_image_processing.c @@ -426,17 +449,17 @@ text/text_bmfont_ttf: text/text_bmfont_ttf.c --preload-file text/resources/bmfont.png@resources/bmfont.png \ --preload-file text/resources/pixantiqua.ttf@resources/pixantiqua.ttf -# compile [text] example - raylib bitmap fonts (rBMF) -text/text_rbmf_fonts: text/text_rbmf_fonts.c +# compile [text] example - raylib fonts +text/text_raylib_fonts: text/text_raylib_fonts.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ - --preload-file text/resources/fonts/alagard.rbmf \ - --preload-file text/resources/fonts/pixelplay.rbmf \ - --preload-file text/resources/fonts/mecha.rbmf \ - --preload-file text/resources/fonts/setback.rbmf \ - --preload-file text/resources/fonts/romulus.rbmf \ - --preload-file text/resources/fonts/pixantiqua.rbmf \ - --preload-file text/resources/fonts/alpha_beta.rbmf \ - --preload-file text/resources/fonts/jupiter_crash.rbmf + --preload-file text/resources/fonts/alagard.png@resources/fonts/alagard.png \ + --preload-file text/resources/fonts/pixelplay.png@resources/fonts/pixelplay.png \ + --preload-file text/resources/fonts/mecha.png@resources/fonts/mecha.png \ + --preload-file text/resources/fonts/setback.png@resources/fonts/setback.png \ + --preload-file text/resources/fonts/romulus.png@resources/fonts/romulus.png \ + --preload-file text/resources/fonts/pixantiqua.png@resources/fonts/pixantiqua.png \ + --preload-file text/resources/fonts/alpha_beta.png@resources/fonts/alpha_beta.png \ + --preload-file text/resources/fonts/jupiter_crash.png@resources/fonts/jupiter_crash.png # compile [text] example - text formatting text/text_format_text: text/text_format_text.c @@ -457,6 +480,10 @@ text/text_bmfont_unordered: text/text_bmfont_unordered.c --preload-file text/resources/pixantiqua.fnt@resources/pixantiqua.fnt \ --preload-file text/resources/pixantiqua_0.png@resources/pixantiqua_0.png +# compile [text] example - text input box +text/text_input_box: text/text_input_box.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) + # compile [models] example - basic geometric 3d shapes models/models_geometric_shapes: models/models_geometric_shapes.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) @@ -491,8 +518,8 @@ models/models_cubicmap: models/models_cubicmap.c --preload-file models/resources/cubicmap.png@resources/cubicmap.png \ --preload-file models/resources/cubicmap_atlas.png@resources/cubicmap_atlas.png -# compile [models] example - model ray picking -models/models_ray_picking: models/models_ray_picking.c +# compile [models] example - model mesh picking +models/models_mesh_picking: models/models_mesh_picking.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ --preload-file models/resources/tower.obj@resources/tower.obj \ --preload-file models/resources/tower.png@resources/tower.png @@ -508,7 +535,7 @@ shaders/shaders_model_shader: shaders/shaders_model_shader.c # compile [shaders] example - shapes texture shader shaders/shaders_shapes_textures: shaders/shaders_shapes_textures.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ - --preload-file shaders/resources/sonic.png@resources/sonic.png \ + --preload-file shaders/resources/fudesumi.png@resources/fudesumi.png \ --preload-file shaders/resources/shaders/glsl100/base.vs@resources/shaders/glsl100/base.vs \ --preload-file shaders/resources/shaders/glsl100/grayscale.fs@resources/shaders/glsl100/grayscale.fs @@ -529,26 +556,45 @@ shaders/shaders_postprocessing: shaders/shaders_postprocessing.c --preload-file shaders/resources/shaders/glsl100/bloom.fs@resources/shaders/glsl100/bloom.fs # compile [audio] example - sound loading and playing (WAV and OGG) -audio_sound_loading: audio_sound_loading.c +audio/audio_sound_loading: audio/audio_sound_loading.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ --preload-file audio/resources/weird.wav@resources/weird.wav \ --preload-file audio/resources/tanatana.ogg@resources/tanatana.ogg # compile [audio] example - music stream playing (OGG) -audio_music_stream: audio_music_stream.c +audio/audio_music_stream: audio/audio_music_stream.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ --preload-file audio/resources/guitar_noodling.ogg@resources/guitar_noodling.ogg -# compile [audio] example - music stream playing (OGG) -audio_module_playing: audio_module_playing.c +# compile [audio] example - module playing (XM) +audio/audio_module_playing: audio/audio_module_playing.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ --preload-file audio/resources/mini1111.xm@resources/mini1111.xm -# compile [audio] example - music stream playing (OGG) -audio_raw_stream: audio_raw_stream.c +# compile [audio] example - raw audio streaming +audio/audio_raw_stream: audio/audio_raw_stream.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) -s ALLOW_MEMORY_GROWTH=1 - +# compile [physac] example - physics demo +physac/physics_demo: physac/physics_demo.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) -s USE_PTHREADS=1 + +# compile [physac] example - physics friction +physac/physics_friction: physac/physics_friction.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) -s USE_PTHREADS=1 + +# compile [physac] example - physics movement +physac/physics_movement: physac/physics_movement.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) -s USE_PTHREADS=1 + +# compile [physac] example - physics restitution +physac/physics_restitution: physac/physics_restitution.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) -s USE_PTHREADS=1 + +# compile [physac] example - physics shatter +physac/physics_shatter: physac/physics_shatter.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) -s USE_PTHREADS=1 + # fix dylib install path name for each executable (MAC) fix_dylib: ifeq ($(PLATFORM_OS),OSX) @@ -565,7 +611,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),LINUX) find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -f else - del *.o *.exe + del *.o *.exe /s endif endif endif @@ -574,6 +620,7 @@ ifeq ($(PLATFORM),PLATFORM_RPI) rm -f *.o endif ifeq ($(PLATFORM),PLATFORM_WEB) - del *.o *.html *.js + # TODO: Remove all generated files in all folders... avoid deleting loader.html! + del *.o *.html *.js *.data endif @echo Cleaning done diff --git a/docs/examples/web/models/loader.html b/docs/examples/web/models/loader.html new file mode 100644 index 000000000..93d7260f3 --- /dev/null +++ b/docs/examples/web/models/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/models/models_billboard.js b/docs/examples/web/models/models_billboard.js index 6f3f68361..1d677c1a6 100644 --- a/docs/examples/web/models/models_billboard.js +++ b/docs/examples/web/models/models_billboard.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 22439, "filename": "/resources/billboard.png"}], "remote_package_size": 22439, "package_uuid": "d5a232e4-08f5-4e5c-94ec-edbc16e09e53"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 22439, "filename": "/resources/billboard.png"}], "remote_package_size": 22439, "package_uuid": "b2ae9e61-c19e-44f5-a191-b007fd6e7a1d"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 22240; +STATICTOP = STATIC_BASE + 22224; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,160,64,0,0,128,64,0,0,160,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,0,0,0,0,0,64,0,0,0,0,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,223,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,100,114,97,119,105,110,103,32,98,105,108,108,98,111,97,114,100,115,0,114,101,115,111,117,114,99,101,115,47,98,105,108,108,98,111,97,114,100,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,160,64,0,0,128,64,0,0,160,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,0,0,0,0,0,64,0,0,0,0,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,207,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,100,114,97,119,105,110,103,32,98,105,108,108,98,111,97,114,100,115,0,114,101,115,111,117,114,99,101,115,47,98,105,108,108,98,111,97,114,100,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10485,11 +10485,11 @@ function _main() { $2 = HEAP32[3]|0; _InitWindow($1,$2,4228); _LoadTexture($0,4273); - ;HEAP32[16624>>2]=HEAP32[$0>>2]|0;HEAP32[16624+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16624+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16624+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16624+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[16928>>2]=HEAP32[$0>>2]|0;HEAP32[16928+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16928+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16928+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16928+16>>2]=HEAP32[$0+16>>2]|0; dest=$bill$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetCameraMode($bill$byval_copy,2); _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$bill$byval_copy>>2]=HEAP32[16624>>2]|0;HEAP32[$bill$byval_copy+4>>2]=HEAP32[16624+4>>2]|0;HEAP32[$bill$byval_copy+8>>2]=HEAP32[16624+8>>2]|0;HEAP32[$bill$byval_copy+12>>2]=HEAP32[16624+12>>2]|0;HEAP32[$bill$byval_copy+16>>2]=HEAP32[16624+16>>2]|0; + ;HEAP32[$bill$byval_copy>>2]=HEAP32[16928>>2]|0;HEAP32[$bill$byval_copy+4>>2]=HEAP32[16928+4>>2]|0;HEAP32[$bill$byval_copy+8>>2]=HEAP32[16928+8>>2]|0;HEAP32[$bill$byval_copy+12>>2]=HEAP32[16928+12>>2]|0;HEAP32[$bill$byval_copy+16>>2]=HEAP32[16928+16>>2]|0; _UnloadTexture($bill$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10519,7 +10519,7 @@ function _UpdateDrawFrame() { _Begin3dMode($tmpcast$byval_copy); HEAP32[$1>>2] = -1; dest=$camera$byval_copy1; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$bill$byval_copy>>2]=HEAP32[16624>>2]|0;HEAP32[$bill$byval_copy+4>>2]=HEAP32[16624+4>>2]|0;HEAP32[$bill$byval_copy+8>>2]=HEAP32[16624+8>>2]|0;HEAP32[$bill$byval_copy+12>>2]=HEAP32[16624+12>>2]|0;HEAP32[$bill$byval_copy+16>>2]=HEAP32[16624+16>>2]|0; + ;HEAP32[$bill$byval_copy>>2]=HEAP32[16928>>2]|0;HEAP32[$bill$byval_copy+4>>2]=HEAP32[16928+4>>2]|0;HEAP32[$bill$byval_copy+8>>2]=HEAP32[16928+8>>2]|0;HEAP32[$bill$byval_copy+12>>2]=HEAP32[16928+12>>2]|0;HEAP32[$bill$byval_copy+16>>2]=HEAP32[16928+16>>2]|0; ;HEAP32[$billPosition$byval_copy>>2]=HEAP32[56>>2]|0;HEAP32[$billPosition$byval_copy+4>>2]=HEAP32[56+4>>2]|0;HEAP32[$billPosition$byval_copy+8>>2]=HEAP32[56+8>>2]|0; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; _DrawBillboard($camera$byval_copy1,$bill$byval_copy,$billPosition$byval_copy,2.0,$tmpcast$byval_copy); @@ -10529,56 +10529,106 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorAdd($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 + $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 + $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 + $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 + $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 + $16; + HEAPF32[$12>>2] = $17; return; } function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -10731,13 +10781,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11519,7 +11562,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4162] = $2; + HEAP32[4238] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11532,7 +11575,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16344; + $95 = 16648; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11545,48 +11588,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16384; + $106 = 16688; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4096]; - $111 = +HEAPF32[4086]; + $110 = +HEAPF32[4172]; + $111 = +HEAPF32[4162]; $112 = $110 - $111; - HEAPF32[4098] = $112; - $113 = +HEAPF32[(16388)>>2]; - $114 = +HEAPF32[(16348)>>2]; + HEAPF32[4174] = $112; + $113 = +HEAPF32[(16692)>>2]; + $114 = +HEAPF32[(16652)>>2]; $115 = $113 - $114; - HEAPF32[(16396)>>2] = $115; - HEAP32[4161] = 4; + HEAPF32[(16700)>>2] = $115; + HEAP32[4237] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16376>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16376+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16400+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4167] = $116; - $117 = 16376; + HEAPF32[4243] = $116; + $117 = 16680; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16344; + $123 = 16648; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16400; + $127 = 16704; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16384; + $133 = 16688; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11599,7 +11642,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16376; + $144 = 16680; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11612,27 +11655,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16400; + $155 = 16704; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4100]; - $160 = +HEAPF32[4094]; + $159 = +HEAPF32[4176]; + $160 = +HEAPF32[4170]; $161 = $159 - $160; - HEAPF32[4098] = $161; - $162 = +HEAPF32[(16404)>>2]; - $163 = +HEAPF32[(16380)>>2]; + HEAPF32[4174] = $161; + $162 = +HEAPF32[(16708)>>2]; + $163 = +HEAPF32[(16684)>>2]; $164 = $162 - $163; - HEAPF32[(16396)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16344+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16376>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16376+4>>2]|0; + HEAPF32[(16700)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16680+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16384+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16400+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16688>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16688+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11644,31 +11687,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16376>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16376+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16400+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4167]; + $170 = +HEAPF32[4243]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4161] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16376>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16376+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16400+4>>2]|0; + HEAP32[4237] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4168] = $174; + HEAPF32[4244] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4167] = 0.0; - HEAPF32[4168] = 0.0; - HEAPF32[4098] = 0.0; - HEAPF32[(16396)>>2] = 0.0; - HEAP32[4162] = 0; - HEAP32[4161] = 0; + HEAPF32[4243] = 0.0; + HEAPF32[4244] = 0.0; + HEAPF32[4174] = 0.0; + HEAPF32[(16700)>>2] = 0.0; + HEAP32[4238] = 0; + HEAP32[4237] = 0; STACKTOP = sp;return; break; } @@ -11678,22 +11721,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4163]|0; + $6 = HEAP32[4239]|0; $7 = (($6) + 1)|0; - HEAP32[4163] = $7; - $8 = HEAP32[4161]|0; + HEAP32[4239] = $7; + $8 = HEAP32[4237]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16344+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4161] = 2; - HEAP32[4163] = 0; + HEAP32[4237] = 2; + HEAP32[4239] = 0; } else { label = 6; } @@ -11701,8 +11744,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4163] = 1; - HEAP32[4161] = 1; + HEAP32[4239] = 1; + HEAP32[4237] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11711,19 +11754,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16344; + $21 = 16648; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16352; + $25 = 16656; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16360; + $29 = 16664; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11732,13 +11775,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[17] = $34; - HEAPF32[4092] = 0.0; - HEAPF32[(16372)>>2] = 0.0; + HEAPF32[4168] = 0.0; + HEAPF32[(16676)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4161]|0; + $35 = HEAP32[4237]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11748,19 +11791,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16360; + $44 = 16664; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16344+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16664+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4164] = $49; - HEAP32[4165] = 0; + HEAPF32[4240] = $49; + HEAP32[4241] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[17]|0; @@ -11768,11 +11811,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16344+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16664+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4166] = $56; + HEAPF32[4242] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11803,22 +11846,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4164] = 0.0; - HEAPF32[4166] = 0.0; + HEAPF32[4240] = 0.0; + HEAPF32[4242] = 0.0; $$sink10 = 0; } - HEAP32[4161] = $$sink10; - HEAPF32[4088] = 0.0; - HEAPF32[(16356)>>2] = 0.0; - HEAP32[4162] = 0; + HEAP32[4237] = $$sink10; + HEAPF32[4164] = 0.0; + HEAPF32[(16660)>>2] = 0.0; + HEAP32[4238] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4165]|0; + $65 = HEAP32[4241]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4165] = 1; + HEAP32[4241] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11827,31 +11870,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16376; + $74 = 16680; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4161]|0; + $78 = HEAP32[4237]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16344+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16376>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16376+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16680+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4161] = 8; + HEAP32[4237] = 8; } } - $82 = +HEAPF32[4094]; - $83 = +HEAPF32[4088]; + $82 = +HEAPF32[4170]; + $83 = +HEAPF32[4164]; $84 = $82 - $83; - HEAPF32[4092] = $84; - $85 = +HEAPF32[(16380)>>2]; - $86 = +HEAPF32[(16356)>>2]; + HEAPF32[4168] = $84; + $85 = +HEAPF32[(16684)>>2]; + $86 = +HEAPF32[(16660)>>2]; $87 = $85 - $86; - HEAPF32[(16372)>>2] = $87; + HEAPF32[(16676)>>2] = $87; STACKTOP = sp;return; break; } @@ -11860,58 +11903,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4161]|0; + $0 = HEAP32[4237]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4162]|0; + $2 = HEAP32[4238]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4161] = 4; + HEAP32[4237] = 4; } - $4 = HEAP32[4161]|0; + $4 = HEAP32[4237]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11924,7 +11928,7 @@ function _UpdateGestures() { return; } } - HEAP32[4161] = 0; + HEAP32[4237] = 0; return; } function _SetCameraMode($0,$1) { @@ -11953,22 +11957,22 @@ function _SetCameraMode($0,$1) { $8 = $4 * $4; $9 = $7 + $8; $10 = (+Math_sqrt((+$9))); - HEAPF32[4169] = $10; + HEAPF32[4245] = $10; $11 = $5 + $8; $12 = (+Math_sqrt((+$11))); $13 = (+Math_sqrt((+$7))); $14 = (+Math_abs((+$2))); $15 = $14 / $12; $16 = (+Math_asin((+$15))); - HEAPF32[4170] = $16; + HEAPF32[4246] = $16; $17 = (+Math_abs((+$3))); $18 = $17 / $13; $19 = (+Math_asin((+$18))); $20 = -$19; - HEAPF32[4171] = $20; + HEAPF32[4247] = $20; $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; HEAP32[18] = $21; - HEAP32[4172] = $1; + HEAP32[4248] = $1; return; } function _UpdateCamera($0) { @@ -12037,7 +12041,7 @@ function _UpdateCamera($0) { $30 = HEAP32[27]|0; $31 = (_IsKeyDown($30)|0); HEAP32[$29>>2] = $31; - $32 = HEAP32[4172]|0; + $32 = HEAP32[4248]|0; $33 = ($32|0)==(0); L1: do { if ($33) { @@ -12109,9 +12113,9 @@ function _UpdateCamera($0) { $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; break; } else { - $64 = +HEAPF32[4102]; + $64 = +HEAPF32[4178]; $65 = $37 - $64; - $66 = +HEAPF32[(16412)>>2]; + $66 = +HEAPF32[(16716)>>2]; $67 = $42 - $66; $$sroa$095$0 = $65;$$sroa$9$0 = $67; break; @@ -12119,11 +12123,11 @@ function _UpdateCamera($0) { } else { _ShowCursor(); $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[4102]; + $69 = +HEAPF32[4178]; $70 = $68 - $69; $71 = ((($1)) + 4|0); $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(16412)>>2]; + $73 = +HEAPF32[(16716)>>2]; $74 = $72 - $73; $$sroa$095$0 = $70;$$sroa$9$0 = $74; } @@ -12135,16 +12139,16 @@ function _UpdateCamera($0) { $78 = (($75) + 4)|0; $79 = $78; $80 = HEAP32[$79>>2]|0; - $81 = 16408; + $81 = 16712; $82 = $81; HEAP32[$82>>2] = $77; $83 = (($81) + 4)|0; $84 = $83; HEAP32[$84>>2] = $80; - $$pr = HEAP32[4172]|0; + $$pr = HEAP32[4248]|0; switch ($$pr|0) { case 1: { - $85 = +HEAPF32[4169]; + $85 = +HEAPF32[4245]; $86 = $85 < 120.0; $87 = ($8|0)<(0); $or$cond3 = $87 & $86; @@ -12153,10 +12157,10 @@ function _UpdateCamera($0) { $88 = (+($8|0)); $89 = $88 * 1.5; $90 = $85 - $89; - HEAPF32[4169] = $90; + HEAPF32[4245] = $90; $91 = $90 > 120.0; if ($91) { - HEAPF32[4169] = 120.0; + HEAPF32[4245] = 120.0; } } else { $92 = ((($0)) + 4|0); @@ -12235,12 +12239,12 @@ function _UpdateCamera($0) { $146 = (+($8|0)); $147 = $146 * 1.5; $148 = $85 - $147; - HEAPF32[4169] = $148; + HEAPF32[4245] = $148; $149 = $148 < 0.30000001192092896; if (!($149)) { break; } - HEAPF32[4169] = 0.30000001192092896; + HEAPF32[4245] = 0.30000001192092896; break; } } @@ -12262,7 +12266,7 @@ function _UpdateCamera($0) { $161 = $151 - $152; $162 = $153 * $161; $163 = $162 * 1.5; - $164 = +HEAPF32[4169]; + $164 = +HEAPF32[4245]; $165 = $163 / $164; $166 = $151 + $165; HEAPF32[$95>>2] = $166; @@ -12294,7 +12298,7 @@ function _UpdateCamera($0) { $185 = $151 - $152; $186 = $177 * $185; $187 = $186 * 1.5; - $188 = +HEAPF32[4169]; + $188 = +HEAPF32[4245]; $189 = $187 / $188; $190 = $151 + $189; HEAPF32[$95>>2] = $190; @@ -12318,12 +12322,12 @@ function _UpdateCamera($0) { if ($or$cond15) { $203 = (+($8|0)); $204 = $203 * 1.5; - $205 = +HEAPF32[4169]; + $205 = +HEAPF32[4245]; $206 = $205 - $204; - HEAPF32[4169] = $206; + HEAPF32[4245] = $206; $207 = $206 < 0.30000001192092896; if ($207) { - HEAPF32[4169] = 0.30000001192092896; + HEAPF32[4245] = 0.30000001192092896; } } } @@ -12337,17 +12341,17 @@ function _UpdateCamera($0) { $209 = ($12|0)==(0); if ($209) { $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[4170]; + $223 = +HEAPF32[4246]; $224 = (+Math_cos((+$223))); $225 = $222 * $224; $226 = $$sroa$9$0 * 0.0099999997764825821; $227 = (+Math_sin((+$223))); $228 = $226 * $227; - $229 = +HEAPF32[4171]; + $229 = +HEAPF32[4247]; $230 = (+Math_sin((+$229))); $231 = $228 * $230; $232 = $225 + $231; - $233 = +HEAPF32[4169]; + $233 = +HEAPF32[4245]; $234 = $233 / 5.0999999046325684; $235 = $232 * $234; $236 = ((($0)) + 12|0); @@ -12377,23 +12381,23 @@ function _UpdateCamera($0) { $210 = ($14|0)==(0); if (!($210)) { $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[4169]; + $212 = +HEAPF32[4245]; $213 = $211 + $212; - HEAPF32[4169] = $213; + HEAPF32[4245] = $213; label = 58; break L1; } $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[4170]; + $215 = +HEAPF32[4246]; $216 = $215 - $214; - HEAPF32[4170] = $216; + HEAPF32[4246] = $216; $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[4171]; + $218 = +HEAPF32[4247]; $219 = $218 - $217; - HEAPF32[4171] = $219; + HEAPF32[4247] = $219; $220 = $219 > 1.483529806137085; if ($220) { - HEAPF32[4171] = 1.483529806137085; + HEAPF32[4247] = 1.483529806137085; label = 58; break L1; } @@ -12402,32 +12406,32 @@ function _UpdateCamera($0) { label = 58; break L1; } - HEAPF32[4171] = -1.483529806137085; + HEAPF32[4247] = -1.483529806137085; label = 58; break L1; break; } case 2: { - $254 = +HEAPF32[4170]; + $254 = +HEAPF32[4246]; $255 = $254 + 0.0099999997764825821; - HEAPF32[4170] = $255; + HEAPF32[4246] = $255; $256 = (+($8|0)); $257 = $256 * 1.5; - $258 = +HEAPF32[4169]; + $258 = +HEAPF32[4245]; $259 = $258 - $257; - HEAPF32[4169] = $259; + HEAPF32[4245] = $259; $260 = $259 < 1.2000000476837158; if (!($260)) { label = 58; break L1; } - HEAPF32[4169] = 1.2000000476837158; + HEAPF32[4245] = 1.2000000476837158; label = 58; break L1; break; } case 4: case 3: { - $264 = +HEAPF32[4170]; + $264 = +HEAPF32[4246]; $265 = (+Math_sin((+$264))); $266 = HEAP32[$17>>2]|0; $267 = (+($266>>>0)); @@ -12449,7 +12453,7 @@ function _UpdateCamera($0) { $283 = +HEAPF32[$0>>2]; $284 = $283 + $282; HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[4171]; + $285 = +HEAPF32[4247]; $286 = (+Math_sin((+$285))); $287 = $270 * $286; $288 = $267 * $286; @@ -12517,14 +12521,14 @@ function _UpdateCamera($0) { $$0 = 1; } $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[4170]; + $314 = +HEAPF32[4246]; $315 = $314 - $313; - HEAPF32[4170] = $315; + HEAPF32[4246] = $315; $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[4171]; + $317 = +HEAPF32[4247]; $318 = $317 - $316; - HEAPF32[4171] = $318; - $319 = HEAP32[4172]|0; + HEAPF32[4247] = $318; + $319 = HEAP32[4248]|0; $320 = ($319|0)==(4); if ($320) { $321 = $318 > 0.087266460061073303; @@ -12539,17 +12543,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 49) { - HEAPF32[4171] = $$sink26; + HEAPF32[4247] = $$sink26; } $323 = (+($8|0)); $324 = $323 * 1.5; - $325 = +HEAPF32[4169]; + $325 = +HEAPF32[4245]; $326 = $325 - $324; $327 = $326 < 1.2000000476837158; $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[4169] = $storemerge; + HEAPF32[4245] = $storemerge; $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[4170]; + $329 = +HEAPF32[4246]; $330 = (+Math_cos((+$329))); $331 = $330 * 0.40000000596046448; $332 = $328 + $331; @@ -12580,17 +12584,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 53) { - HEAPF32[4171] = $$sink28; + HEAPF32[4247] = $$sink28; } $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[4170]; + $347 = +HEAPF32[4246]; $348 = (+Math_sin((+$347))); $349 = $348 * 25.0; $350 = $346 - $349; $351 = ((($0)) + 12|0); HEAPF32[$351>>2] = $350; $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[4171]; + $353 = +HEAPF32[4247]; $354 = (+Math_sin((+$353))); $355 = $354 * 25.0; $356 = $352 + $355; @@ -12604,12 +12608,12 @@ function _UpdateCamera($0) { HEAPF32[$362>>2] = $361; $363 = ($$0|0)==(0); if (!($363)) { - $364 = HEAP32[4173]|0; + $364 = HEAP32[4249]|0; $365 = (($364) + 1)|0; - HEAP32[4173] = $365; + HEAP32[4249] = $365; } $366 = +HEAPF32[18]; - $367 = HEAP32[4173]|0; + $367 = HEAP32[4249]|0; $368 = (+($367|0)); $369 = $368 / 5.0; $370 = (+Math_sin((+$369))); @@ -12639,7 +12643,7 @@ function _UpdateCamera($0) { } } while(0); if ((label|0) == 58) { - $$pr190 = HEAP32[4172]|0; + $$pr190 = HEAP32[4248]|0; $380 = $$pr190; } switch ($380|0) { @@ -12650,11 +12654,11 @@ function _UpdateCamera($0) { STACKTOP = sp;return; } } - $381 = +HEAPF32[4170]; + $381 = +HEAPF32[4246]; $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[4169]; + $383 = +HEAPF32[4245]; $384 = $382 * $383; - $385 = +HEAPF32[4171]; + $385 = +HEAPF32[4247]; $386 = (+Math_cos((+$385))); $387 = $384 * $386; $388 = ((($0)) + 12|0); @@ -12663,7 +12667,7 @@ function _UpdateCamera($0) { HEAPF32[$0>>2] = $390; $391 = !($385 <= 0.0); $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[4169]; + $393 = +HEAPF32[4245]; $394 = ((($0)) + 16|0); $395 = +HEAPF32[$394>>2]; $396 = $392 * $393; @@ -12687,7 +12691,7 @@ function _GetMousePosition($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 = 16416; + $1 = 16720; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12704,7 +12708,7 @@ function _GetMousePosition($0) { function _GetMouseWheelMove() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4178]|0; + $0 = HEAP32[4254]|0; $1 = (($0|0) / 100)&-1; return ($1|0); } @@ -12729,19 +12733,19 @@ function _IsKeyDown($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4177]|0; + $0 = HEAP32[4253]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4176]|0; + $0 = HEAP32[4252]|0; return ($0|0); } function _HideCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4174] = 1; + HEAP32[4250] = 1; return; } function _SetMousePosition($0) { @@ -12754,13 +12758,13 @@ function _SetMousePosition($0) { $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; - $7 = 16416; + $7 = 16720; $8 = $7; HEAP32[$8>>2] = $3; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; - $11 = HEAP32[4175]|0; + $11 = HEAP32[4251]|0; $12 = +HEAPF32[$0>>2]; $13 = $12; $14 = ((($0)) + 4|0); @@ -12772,14 +12776,14 @@ function _SetMousePosition($0) { function _ShowCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4174] = 0; + HEAP32[4250] = 0; return; } function _GetKeyStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4175]|0; + $1 = HEAP32[4251]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -12787,7 +12791,7 @@ function _GetMouseButtonStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4175]|0; + $1 = HEAP32[4251]|0; $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); return ($2|0); } @@ -12800,7 +12804,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4297,$vararg_buffer); - HEAP32[4179] = $2; + HEAP32[4255] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -12813,15 +12817,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4326|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4177]|0; + $3 = HEAP32[4253]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4104] = $5; - $6 = HEAP32[4176]|0; + HEAPF32[4180] = $5; + $6 = HEAP32[4252]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16420)>>2] = $8; - $9 = HEAP32[4180]|0; + HEAPF32[(16724)>>2] = $8; + $9 = HEAP32[4256]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12840,11 +12844,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16456>>0]=HEAP8[8826>>0]|0;HEAP8[16456+1>>0]=HEAP8[8826+1>>0]|0;HEAP8[16456+2>>0]=HEAP8[8826+2>>0]|0;HEAP8[16456+3>>0]=HEAP8[8826+3>>0]|0;HEAP8[16456+4>>0]=HEAP8[8826+4>>0]|0;HEAP8[16456+5>>0]=HEAP8[8826+5>>0]|0;HEAP8[16456+6>>0]=HEAP8[8826+6>>0]|0; + ;HEAP8[16760>>0]=HEAP8[8826>>0]|0;HEAP8[16760+1>>0]=HEAP8[8826+1>>0]|0;HEAP8[16760+2>>0]=HEAP8[8826+2>>0]|0;HEAP8[16760+3>>0]=HEAP8[8826+3>>0]|0;HEAP8[16760+4>>0]=HEAP8[8826+4>>0]|0;HEAP8[16760+5>>0]=HEAP8[8826+5>>0]|0;HEAP8[16760+6>>0]=HEAP8[8826+6>>0]|0; break; } case 1: { - $3 = 16456; + $3 = 16760; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12853,11 +12857,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16456; src=8833; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16760; src=8833; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16456; + $7 = 16760; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12868,16 +12872,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16456,$1)|0); - $strlen = (_strlen(16456)|0); - $endptr = (16456 + ($strlen)|0); + (_strcat(16760,$1)|0); + $strlen = (_strlen(16760)|0); + $endptr = (16760 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16456,$2)|0); + (_vprintf(16760,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12909,22 +12913,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4177] = $0; - HEAP32[4176] = $1; + HEAP32[4253] = $0; + HEAP32[4252] = $1; _MatrixIdentity($2); - dest=16796; 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)); + dest=17100; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,4968,$vararg_buffer); } - $6 = HEAP32[4177]|0; - HEAP32[4215] = $6; - $7 = HEAP32[4176]|0; - HEAP32[4216] = $7; + $6 = HEAP32[4253]|0; + HEAP32[4291] = $6; + $7 = HEAP32[4252]|0; + HEAP32[4292] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19536]|0; + $8 = HEAP8[19840]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12932,13 +12936,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19536]|0; + $11 = HEAP8[19840]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19536]|0; + $14 = HEAP8[19840]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -12960,18 +12964,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4217]|0; + $21 = HEAP32[4293]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4177]|0; - $48 = HEAP32[4176]|0; - $49 = HEAP32[4179]|0; + $47 = HEAP32[4253]|0; + $48 = HEAP32[4252]|0; + $49 = HEAP32[4255]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4175] = $50; - $51 = HEAP32[4177]|0; - HEAP32[4218] = $51; - $52 = HEAP32[4176]|0; - HEAP32[4219] = $52; + HEAP32[4251] = $50; + $51 = HEAP32[4253]|0; + HEAP32[4294] = $51; + $52 = HEAP32[4252]|0; + HEAP32[4295] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12980,9 +12984,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4177]|0; + $27 = HEAP32[4253]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4176]|0; + $29 = HEAP32[4252]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -13004,25 +13008,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4215] = $31; - HEAP32[4216] = $34; + HEAP32[4291] = $31; + HEAP32[4292] = $34; } } while(0); - $38 = HEAP32[4215]|0; - $39 = HEAP32[4216]|0; + $38 = HEAP32[4291]|0; + $39 = HEAP32[4292]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5019,$vararg_buffer3); - $40 = HEAP32[4215]|0; - $41 = HEAP32[4216]|0; + $40 = HEAP32[4291]|0; + $41 = HEAP32[4292]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4215]|0; - $43 = HEAP32[4216]|0; - $44 = HEAP32[4179]|0; + $42 = HEAP32[4291]|0; + $43 = HEAP32[4292]|0; + $44 = HEAP32[4255]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4175] = $46; + HEAP32[4251] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -13031,60 +13035,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5057,$vararg_buffer6); } else { _TraceLog(0,5090,$vararg_buffer8); - $55 = HEAP32[4218]|0; - $56 = HEAP32[4219]|0; + $55 = HEAP32[4294]|0; + $56 = HEAP32[4295]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5130,$vararg_buffer10); - $57 = HEAP32[4177]|0; - $58 = HEAP32[4176]|0; + $57 = HEAP32[4253]|0; + $58 = HEAP32[4252]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5151,$vararg_buffer14); - $59 = HEAP32[4220]|0; - $60 = HEAP32[4221]|0; + $59 = HEAP32[4296]|0; + $60 = HEAP32[4297]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5172,$vararg_buffer18); } - $61 = HEAP32[4175]|0; + $61 = HEAP32[4251]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4175]|0; + $62 = HEAP32[4251]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4175]|0; + $63 = HEAP32[4251]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4175]|0; + $64 = HEAP32[4251]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4175]|0; + $65 = HEAP32[4251]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4175]|0; + $66 = HEAP32[4251]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4175]|0; + $67 = HEAP32[4251]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4175]|0; + $68 = HEAP32[4251]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4175]|0; + $69 = HEAP32[4251]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19536]|0; + $70 = HEAP8[19840]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4177]|0; - $74 = HEAP32[4176]|0; + $73 = HEAP32[4253]|0; + $74 = HEAP32[4252]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4218]|0; - $76 = HEAP32[4220]|0; + $75 = HEAP32[4294]|0; + $76 = HEAP32[4296]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4219]|0; - $80 = HEAP32[4221]|0; + $79 = HEAP32[4295]|0; + $80 = HEAP32[4297]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13103,18 +13107,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5197,$vararg_buffer22); - $73 = HEAP32[4177]|0; - $74 = HEAP32[4176]|0; + $73 = HEAP32[4253]|0; + $74 = HEAP32[4252]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4218]|0; - $76 = HEAP32[4220]|0; + $75 = HEAP32[4294]|0; + $76 = HEAP32[4296]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4219]|0; - $80 = HEAP32[4221]|0; + $79 = HEAP32[4295]|0; + $80 = HEAP32[4297]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13142,7 +13146,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16764)>>2] = 224; + HEAP32[(17068)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -13183,27 +13187,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16740>>2]=HEAP32[$1>>2]|0;HEAP32[16740+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16740+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16740+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16740+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17044>>2]=HEAP32[$1>>2]|0;HEAP32[17044+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17044+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17044+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17044+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16764)>>2]|0; + $5 = HEAP32[(17068)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16768)>>2] = $7; + HEAP32[(17072)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16760)>>2] = $23; - $24 = HEAP32[4185]|0; + HEAP32[(17064)>>2] = $23; + $24 = HEAP32[4261]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4521,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16744)>>2]|0; - $10 = HEAP32[(16764)>>2]|0; - $11 = HEAP32[(16768)>>2]|0; + $9 = HEAP32[(17048)>>2]|0; + $10 = HEAP32[(17068)>>2]|0; + $11 = HEAP32[(17072)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13252,8 +13256,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16760)>>2] = $23; - $24 = HEAP32[4185]|0; + HEAP32[(17064)>>2] = $23; + $24 = HEAP32[4261]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4521,$vararg_buffer); STACKTOP = sp;return; @@ -13264,7 +13268,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2056] = $1; + HEAPF64[2094] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13423,7 +13427,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16432; + $31 = 16736; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13436,7 +13440,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16440); + $42 = (16744); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13492,7 +13496,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16724 + ($10<<2)|0); + $11 = (17028 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13506,7 +13510,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2053] = $$; + HEAPF64[2091] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -13518,7 +13522,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4180] = 0; + HEAP32[4256] = 0; return; } function _GetTime() { @@ -14094,7 +14098,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4193]|0; + $6 = HEAP32[4269]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -14104,7 +14108,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4194]|0; + $9 = HEAP32[4270]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -14113,7 +14117,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4195]|0; + $12 = HEAP32[4271]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -14123,7 +14127,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4196]|0; + $15 = HEAP32[4272]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -14133,7 +14137,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4197]|0; + $18 = HEAP32[4273]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -14177,7 +14181,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4193]|0; + $22 = HEAP32[4269]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14185,7 +14189,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4193]|0; + $24 = HEAP32[4269]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14193,7 +14197,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4193]|0; + $26 = HEAP32[4269]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14201,7 +14205,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4193]|0; + $28 = HEAP32[4269]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14209,7 +14213,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4194]|0; + $30 = HEAP32[4270]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14217,7 +14221,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4195]|0; + $32 = HEAP32[4271]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14225,7 +14229,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4195]|0; + $34 = HEAP32[4271]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14233,7 +14237,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4196]|0; + $36 = HEAP32[4272]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14241,7 +14245,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4196]|0; + $38 = HEAP32[4272]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14249,7 +14253,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4197]|0; + $40 = HEAP32[4273]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14257,7 +14261,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4197]|0; + $42 = HEAP32[4273]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14269,7 +14273,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4198]|0; + $44 = HEAP32[4274]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14284,7 +14288,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,10917,$vararg_buffer15); + _TraceLog(2,11225,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -14615,20 +14619,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4177]|0; + $3 = HEAP32[4253]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4176]|0; + $5 = HEAP32[4252]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4218] = $3; - HEAP32[4219] = $5; - HEAP32[4220] = 0; - HEAP32[4221] = 0; + HEAP32[4294] = $3; + HEAP32[4295] = $5; + HEAP32[4296] = 0; + HEAP32[4297] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14642,9 +14646,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4177]|0; + $35 = HEAP32[4253]|0; $36 = (+($35|0)); - $37 = HEAP32[4176]|0; + $37 = HEAP32[4252]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14652,26 +14656,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4218] = $45; - HEAP32[4219] = $37; + HEAP32[4294] = $45; + HEAP32[4295] = $37; $46 = (($45) - ($35))|0; - HEAP32[4220] = $46; + HEAP32[4296] = $46; $$sink1 = 0; } else { - HEAP32[4218] = $35; + HEAP32[4294] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4219] = $42; - HEAP32[4220] = 0; + HEAP32[4295] = $42; + HEAP32[4296] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4221] = $$sink1; + HEAP32[4297] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4176]|0; + $7 = HEAP32[4252]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14681,11 +14685,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8579,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4177]|0; + $9 = HEAP32[4253]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4176]|0; + $13 = HEAP32[4252]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14693,33 +14697,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4218] = $23; - HEAP32[4219] = $1; + HEAP32[4294] = $23; + HEAP32[4295] = $1; $24 = (($0) - ($23))|0; - HEAP32[4220] = $24; + HEAP32[4296] = $24; $$sink = 0; } else { - HEAP32[4218] = $0; - $17 = HEAP32[4176]|0; + HEAP32[4294] = $0; + $17 = HEAP32[4252]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4219] = $20; - HEAP32[4220] = 0; + HEAP32[4295] = $20; + HEAP32[4296] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4221] = $$sink; - $25 = HEAP32[4218]|0; + HEAP32[4297] = $$sink; + $25 = HEAP32[4294]|0; $26 = (+($25|0)); - $27 = HEAP32[4177]|0; + $27 = HEAP32[4253]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16796; 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)); - HEAP32[4218] = $0; - HEAP32[4219] = $1; + dest=17100; 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)); + HEAP32[4294] = $0; + HEAP32[4295] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -14741,10 +14745,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4177] = $1; - HEAP32[4176] = $2; - HEAP32[4218] = $1; - HEAP32[4219] = $2; + HEAP32[4253] = $1; + HEAP32[4252] = $2; + HEAP32[4294] = $1; + HEAP32[4295] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14771,7 +14775,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19543 + ($1)|0); + $9 = (19847 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -14792,7 +14796,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19537 + ($1)|0); + $7 = (19841 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14871,7 +14875,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16432; + $15 = 16736; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14906,7 +14910,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4591] = $3; + HEAP32[4667] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14916,7 +14920,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4590] = $$sink; + HEAP32[4666] = $$sink; return; } function _rlglInit($0,$1) { @@ -14997,18 +15001,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5329)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4256] = 1; + HEAP32[4332] = 1; $27 = (_eglGetProcAddress((5356|0))|0); - HEAP32[4257] = $27; + HEAP32[4333] = $27; $28 = (_eglGetProcAddress((5377|0))|0); - HEAP32[4258] = $28; + HEAP32[4334] = $28; $29 = (_eglGetProcAddress((5398|0))|0); - HEAP32[4259] = $29; + HEAP32[4335] = $29; } $30 = (_strcmp($24,5422)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4198] = 1; + HEAP32[4274] = 1; } $32 = (_strcmp($24,5442)|0); $33 = ($32|0)==(0); @@ -15030,7 +15034,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4193] = 1; + HEAP32[4269] = 1; } $39 = (_strcmp($24,5547)|0); $40 = ($39|0)==(0); @@ -15046,35 +15050,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4194] = 1; + HEAP32[4270] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5616)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4195] = 1; + HEAP32[4271] = 1; } $47 = (_strcmp($44,5641)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4196] = 1; + HEAP32[4272] = 1; } $49 = (_strcmp($44,5674)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4197] = 1; + HEAP32[4273] = 1; } $51 = (_strcmp($44,5710)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4260] = 1; - _glGetFloatv(34047,(17044|0)); + HEAP32[4336] = 1; + _glGetFloatv(34047,(17348|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5744)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4262] = 1; + HEAP32[4338] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -15085,61 +15089,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4256]|0; + $21 = HEAP32[4332]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5847,$vararg_buffer15); } else { _TraceLog(0,5772,$vararg_buffer13); } - $57 = HEAP32[4198]|0; + $57 = HEAP32[4274]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,5983,$vararg_buffer19); } else { _TraceLog(0,5908,$vararg_buffer17); } - $59 = HEAP32[4193]|0; + $59 = HEAP32[4269]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6075,$vararg_buffer21); } - $61 = HEAP32[4194]|0; + $61 = HEAP32[4270]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6121,$vararg_buffer23); } - $63 = HEAP32[4195]|0; + $63 = HEAP32[4271]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6168,$vararg_buffer25); } - $65 = HEAP32[4196]|0; + $65 = HEAP32[4272]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6219,$vararg_buffer27); } - $67 = HEAP32[4197]|0; + $67 = HEAP32[4273]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6266,$vararg_buffer29); } - $69 = HEAP32[4260]|0; + $69 = HEAP32[4336]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4261]; + $71 = +HEAPF32[4337]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6313,$vararg_buffer31); } - $73 = HEAP32[4262]|0; + $73 = HEAP32[4338]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6379,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4263] = $75; + HEAP32[4339] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6483,$vararg_buffer39); @@ -15148,14 +15152,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6432,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17056; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17112; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17360; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17416; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4292] = $77; + HEAP32[4368] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4292]|0; + $79 = HEAP32[4368]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -15168,7 +15172,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4293] = $78; + HEAP32[4369] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15183,48 +15187,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4294] = 1; - $85 = HEAP32[4263]|0; + HEAP32[4370] = 1; + $85 = HEAP32[4339]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4295] = 4; + HEAP32[4371] = 4; _MatrixIdentity($4); - dest=17184; src=$4; 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)); + dest=17488; src=$4; 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)); _MatrixIdentity($4); - dest=(17248); src=$4; 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)); + dest=(17552); src=$4; 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)); _MatrixIdentity($4); - dest=(17312); src=$4; 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)); + dest=(17616); src=$4; 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)); _MatrixIdentity($4); - dest=(17376); src=$4; 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)); + dest=(17680); src=$4; 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)); _MatrixIdentity($4); - dest=(17440); src=$4; 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)); + dest=(17744); src=$4; 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)); _MatrixIdentity($4); - dest=(17504); src=$4; 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)); + dest=(17808); src=$4; 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)); _MatrixIdentity($4); - dest=(17568); src=$4; 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)); + dest=(17872); src=$4; 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)); _MatrixIdentity($4); - dest=(17632); src=$4; 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)); + dest=(17936); src=$4; 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)); _MatrixIdentity($4); - dest=(17696); src=$4; 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)); + dest=(18000); src=$4; 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)); _MatrixIdentity($4); - dest=(17760); src=$4; 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)); + dest=(18064); src=$4; 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)); _MatrixIdentity($4); - dest=(17824); src=$4; 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)); + dest=(18128); src=$4; 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)); _MatrixIdentity($4); - dest=(17888); src=$4; 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)); + dest=(18192); src=$4; 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)); _MatrixIdentity($4); - dest=(17952); src=$4; 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)); + dest=(18256); src=$4; 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)); _MatrixIdentity($4); - dest=(18016); src=$4; 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)); + dest=(18320); src=$4; 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)); _MatrixIdentity($4); - dest=(18080); src=$4; 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)); + dest=(18384); src=$4; 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)); _MatrixIdentity($4); - dest=(18144); src=$4; 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)); + dest=(18448); src=$4; 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)); _MatrixIdentity($5); - dest=16892; src=$5; 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)); + dest=17196; src=$5; 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)); _MatrixIdentity($6); - dest=16956; src=$6; 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)); - HEAP32[4222] = 16956; + dest=17260; src=$6; 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)); + HEAP32[4298] = 17260; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15235,21 +15239,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4552] = $0; - HEAP32[4553] = $1; + HEAP32[4628] = $0; + HEAP32[4629] = $1; _TraceLog(0,6522,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4220]|0; + $0 = HEAP32[4296]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4221]|0; + $2 = HEAP32[4297]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4218]|0; + $4 = HEAP32[4294]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4219]|0; + $6 = HEAP32[4295]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15260,12 +15264,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16892; + $modelview$sink = 17196; label = 3; break; } case 5888: { - $modelview$sink = 16956; + $modelview$sink = 17260; label = 3; break; } @@ -15273,9 +15277,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4222] = $modelview$sink; + HEAP32[4298] = $modelview$sink; } - HEAP32[4255] = $0; + HEAP32[4331] = $0; return; } function _rlLoadIdentity() { @@ -15283,7 +15287,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4222]|0; + $1 = HEAP32[4298]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -15304,7 +15308,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4222]|0; + $8 = HEAP32[4298]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -15401,15 +15405,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18228)>>2] = $0; + HEAP32[(18532)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18236)>>2] = $1; - HEAP32[(18232)>>2] = 0; - HEAP32[(18240)>>2] = 0; + HEAP32[(18540)>>2] = $1; + HEAP32[(18536)>>2] = 0; + HEAP32[(18544)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18236)>>2]|0; + $2 = HEAP32[(18540)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15420,19 +15424,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4554] = 0; - HEAP32[(18224)>>2] = 0; - HEAP32[(18220)>>2] = 0; + HEAP32[4630] = 0; + HEAP32[(18528)>>2] = 0; + HEAP32[(18524)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18276)>>2] = $5; + HEAP32[(18580)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18284)>>2] = $6; - HEAP32[(18280)>>2] = 0; - HEAP32[(18288)>>2] = 0; + HEAP32[(18588)>>2] = $6; + HEAP32[(18584)>>2] = 0; + HEAP32[(18592)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18284)>>2]|0; + $7 = HEAP32[(18588)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15443,24 +15447,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4566] = 0; - HEAP32[(18272)>>2] = 0; - HEAP32[(18268)>>2] = 0; + HEAP32[4642] = 0; + HEAP32[(18576)>>2] = 0; + HEAP32[(18572)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18324)>>2] = $10; + HEAP32[(18628)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18328)>>2] = $11; + HEAP32[(18632)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18332)>>2] = $12; + HEAP32[(18636)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18336)>>2] = $13; - $14 = HEAP32[(18324)>>2]|0; + HEAP32[(18640)>>2] = $13; + $14 = HEAP32[(18628)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18328)>>2]|0; + $15 = HEAP32[(18632)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18332)>>2]|0; + $17 = HEAP32[(18636)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15471,7 +15475,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18336)>>2]|0; + $16 = HEAP32[(18640)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15508,140 +15512,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4578] = 0; - HEAP32[(18316)>>2] = 0; - HEAP32[(18320)>>2] = 0; + HEAP32[4654] = 0; + HEAP32[(18620)>>2] = 0; + HEAP32[(18624)>>2] = 0; _TraceLog(0,6569,$vararg_buffer); - $20 = HEAP32[4256]|0; + $20 = HEAP32[4332]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4257]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18244)); - $44 = HEAP32[4258]|0; - $45 = HEAP32[(18244)>>2]|0; + $43 = HEAP32[4333]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18548)); + $44 = HEAP32[4334]|0; + $45 = HEAP32[(18548)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18248)|0)); - $46 = HEAP32[(18248)>>2]|0; + _glGenBuffers(2,((18552)|0)); + $46 = HEAP32[(18552)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18228)>>2]|0; + $47 = HEAP32[(18532)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17116)>>2]|0; + $48 = HEAP32[(17420)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17116)>>2]|0; + $49 = HEAP32[(17420)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18252)|0)); - $50 = HEAP32[(18252)>>2]|0; + _glGenBuffers(2,((18556)|0)); + $50 = HEAP32[(18556)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18236)>>2]|0; + $51 = HEAP32[(18540)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17136)>>2]|0; + $52 = HEAP32[(17440)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17136)>>2]|0; + $53 = HEAP32[(17440)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4256]|0; + $54 = HEAP32[4332]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18248)>>2]|0; - $58 = HEAP32[(18252)>>2]|0; + $57 = HEAP32[(18552)>>2]|0; + $58 = HEAP32[(18556)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6707,$vararg_buffer3); } else { - $56 = HEAP32[(18244)>>2]|0; + $56 = HEAP32[(18548)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6642,$vararg_buffer1); } - $59 = HEAP32[4256]|0; + $59 = HEAP32[4332]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4257]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18292)); - $62 = HEAP32[4258]|0; - $63 = HEAP32[(18292)>>2]|0; + $61 = HEAP32[4333]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18596)); + $62 = HEAP32[4334]|0; + $63 = HEAP32[(18596)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18296)|0)); - $64 = HEAP32[(18296)>>2]|0; + _glGenBuffers(1,((18600)|0)); + $64 = HEAP32[(18600)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18276)>>2]|0; + $65 = HEAP32[(18580)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17116)>>2]|0; + $66 = HEAP32[(17420)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17116)>>2]|0; + $67 = HEAP32[(17420)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18300)|0)); - $68 = HEAP32[(18300)>>2]|0; + _glGenBuffers(1,((18604)|0)); + $68 = HEAP32[(18604)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18284)>>2]|0; + $69 = HEAP32[(18588)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17136)>>2]|0; + $70 = HEAP32[(17440)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17136)>>2]|0; + $71 = HEAP32[(17440)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4256]|0; + $72 = HEAP32[4332]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18296)>>2]|0; - $76 = HEAP32[(18300)>>2]|0; + $75 = HEAP32[(18600)>>2]|0; + $76 = HEAP32[(18604)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6853,$vararg_buffer10); } else { - $74 = HEAP32[(18292)>>2]|0; + $74 = HEAP32[(18596)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6784,$vararg_buffer7); } - $77 = HEAP32[4256]|0; + $77 = HEAP32[4332]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4257]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18340)); - $80 = HEAP32[4258]|0; - $81 = HEAP32[(18340)>>2]|0; + $79 = HEAP32[4333]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18644)); + $80 = HEAP32[4334]|0; + $81 = HEAP32[(18644)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18344)|0)); - $82 = HEAP32[(18344)>>2]|0; + _glGenBuffers(1,((18648)|0)); + $82 = HEAP32[(18648)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18324)>>2]|0; + $83 = HEAP32[(18628)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17116)>>2]|0; + $84 = HEAP32[(17420)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17116)>>2]|0; + $85 = HEAP32[(17420)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18348)|0)); - $86 = HEAP32[(18348)>>2]|0; + _glGenBuffers(1,((18652)|0)); + $86 = HEAP32[(18652)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18328)>>2]|0; + $87 = HEAP32[(18632)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17120)>>2]|0; + $88 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17120)>>2]|0; + $89 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18352)|0)); - $90 = HEAP32[(18352)>>2]|0; + _glGenBuffers(1,((18656)|0)); + $90 = HEAP32[(18656)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18332)>>2]|0; + $91 = HEAP32[(18636)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17136)>>2]|0; + $92 = HEAP32[(17440)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17136)>>2]|0; + $93 = HEAP32[(17440)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18356)|0)); - $94 = HEAP32[(18356)>>2]|0; + _glGenBuffers(1,((18660)|0)); + $94 = HEAP32[(18660)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18336)>>2]|0; + $95 = HEAP32[(18640)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4256]|0; + $96 = HEAP32[4332]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18344)>>2]|0; - $100 = HEAP32[(18348)>>2]|0; - $101 = HEAP32[(18352)>>2]|0; - $102 = HEAP32[(18356)>>2]|0; + $99 = HEAP32[(18648)>>2]|0; + $100 = HEAP32[(18652)>>2]|0; + $101 = HEAP32[(18656)>>2]|0; + $102 = HEAP32[(18660)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15651,16 +15655,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,6999,$vararg_buffer17); } else { - $98 = HEAP32[(18340)>>2]|0; + $98 = HEAP32[(18644)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,6934,$vararg_buffer14); } - $103 = HEAP32[4256]|0; + $103 = HEAP32[4332]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4258]|0; + $105 = HEAP32[4334]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15841,9 +15845,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19537 + ($0)|0); + $1 = (19841 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19540 + ($0)|0); + $3 = (19844 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15855,9 +15859,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19537 + ($0)|0); + $1 = (19841 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19540 + ($0)|0); + $3 = (19844 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15878,7 +15882,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4175]|0; + $0 = HEAP32[4251]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8843,$vararg_buffer); @@ -15889,9 +15893,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16740>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16740+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16740+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16740+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16740+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17044>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17044+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17044+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17044+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17044+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16768)>>2]|0; + $0 = HEAP32[(17072)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15902,11 +15906,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17052|0)); - $0 = HEAP32[4263]|0; + _glDeleteTextures(1,(17356|0)); + $0 = HEAP32[4339]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8870,$vararg_buffer); - $1 = HEAP32[4293]|0; + $1 = HEAP32[4369]|0; _free($1); STACKTOP = sp;return; } @@ -15914,17 +15918,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4264]|0; + $0 = HEAP32[4340]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4256]|0; + $0 = HEAP32[4332]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4258]|0; + $2 = HEAP32[4334]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15933,39 +15937,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18248)|0)); - _glDeleteBuffers(1,((18252)|0)); - _glDeleteBuffers(1,((18296)|0)); - _glDeleteBuffers(1,((18300)|0)); - _glDeleteBuffers(1,((18344)|0)); - _glDeleteBuffers(1,((18348)|0)); - _glDeleteBuffers(1,((18352)|0)); - _glDeleteBuffers(1,((18356)|0)); - $3 = HEAP32[4256]|0; + _glDeleteBuffers(1,((18552)|0)); + _glDeleteBuffers(1,((18556)|0)); + _glDeleteBuffers(1,((18600)|0)); + _glDeleteBuffers(1,((18604)|0)); + _glDeleteBuffers(1,((18648)|0)); + _glDeleteBuffers(1,((18652)|0)); + _glDeleteBuffers(1,((18656)|0)); + _glDeleteBuffers(1,((18660)|0)); + $3 = HEAP32[4332]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4259]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18244)); - $6 = HEAP32[4259]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18292)); - $7 = HEAP32[4259]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18340)); + $5 = HEAP32[4335]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18548)); + $6 = HEAP32[4335]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18596)); + $7 = HEAP32[4335]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18644)); } - $8 = HEAP32[(18228)>>2]|0; + $8 = HEAP32[(18532)>>2]|0; _free($8); - $9 = HEAP32[(18236)>>2]|0; + $9 = HEAP32[(18540)>>2]|0; _free($9); - $10 = HEAP32[(18276)>>2]|0; + $10 = HEAP32[(18580)>>2]|0; _free($10); - $11 = HEAP32[(18284)>>2]|0; + $11 = HEAP32[(18588)>>2]|0; _free($11); - $12 = HEAP32[(18324)>>2]|0; + $12 = HEAP32[(18628)>>2]|0; _free($12); - $13 = HEAP32[(18328)>>2]|0; + $13 = HEAP32[(18632)>>2]|0; _free($13); - $14 = HEAP32[(18332)>>2]|0; + $14 = HEAP32[(18636)>>2]|0; _free($14); - $15 = HEAP32[(18336)>>2]|0; + $15 = HEAP32[(18640)>>2]|0; _free($15); return; } @@ -16005,16 +16009,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2073] = $0; - $1 = +HEAPF64[2056]; + HEAPF64[2111] = $0; + $1 = +HEAPF64[2094]; $2 = $0 - $1; - HEAPF64[2074] = $2; - HEAPF64[2056] = $0; + HEAPF64[2112] = $2; + HEAPF64[2094] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16796; 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)); + dest=$downscaleView$byval_copy; src=17100; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18368); + _rlMultMatrixf(18672); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -16023,53 +16027,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[4592] = $1; + HEAP32[4668] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18372)>>2] = $3; + HEAP32[(18676)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18376)>>2] = $5; + HEAP32[(18680)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18380)>>2] = $7; + HEAP32[(18684)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18384)>>2] = $9; + HEAP32[(18688)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18388)>>2] = $11; + HEAP32[(18692)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18392)>>2] = $13; + HEAP32[(18696)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18396)>>2] = $15; + HEAP32[(18700)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18400)>>2] = $17; + HEAP32[(18704)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18404)>>2] = $19; + HEAP32[(18708)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18408)>>2] = $21; + HEAP32[(18712)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18412)>>2] = $23; + HEAP32[(18716)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18416)>>2] = $25; + HEAP32[(18720)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18420)>>2] = $27; + HEAP32[(18724)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18424)>>2] = $29; + HEAP32[(18728)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18428)>>2] = $31; - return (18368|0); + HEAP32[(18732)>>2] = $31; + return (18672|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16144,7 +16148,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4222]|0; + $49 = HEAP32[4298]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -16158,15 +16162,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2073] = $0; - $1 = +HEAPF64[2056]; + HEAPF64[2111] = $0; + $1 = +HEAPF64[2094]; $2 = $0 - $1; - HEAPF64[2075] = $2; - HEAPF64[2056] = $0; - $3 = +HEAPF64[2074]; + HEAPF64[2113] = $2; + HEAPF64[2094] = $0; + $3 = +HEAPF64[2112]; $4 = $2 + $3; - HEAPF64[2076] = $4; - $5 = +HEAPF64[2053]; + HEAPF64[2114] = $4; + $5 = +HEAPF64[2091]; $6 = $4 < $5; if (!($6)) { return; @@ -16176,13 +16180,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2073] = $10; - $11 = +HEAPF64[2056]; + HEAPF64[2111] = $10; + $11 = +HEAPF64[2094]; $12 = $10 - $11; - HEAPF64[2056] = $10; - $13 = +HEAPF64[2076]; + HEAPF64[2094] = $10; + $13 = +HEAPF64[2114]; $14 = $12 + $13; - HEAPF64[2076] = $14; + HEAPF64[2114] = $14; return; } function _rlglDraw() { @@ -16195,7 +16199,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4175]|0; + $0 = HEAP32[4251]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16211,20 +16215,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[764] = -1; HEAP32[766] = -1; - HEAP32[4608] = 0; - $3 = HEAP32[4175]|0; + HEAP32[4684] = 0; + $3 = HEAP32[4251]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4104] = $5; + HEAPF32[4180] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16420)>>2] = $7; - _memcpy((20055|0),(19543|0),512)|0; - ;HEAP8[19540>>0]=HEAP8[19537>>0]|0;HEAP8[19540+1>>0]=HEAP8[19537+1>>0]|0;HEAP8[19540+2>>0]=HEAP8[19537+2>>0]|0; - $8 = HEAP32[4591]|0; - HEAP32[4178] = $8; - HEAP32[4591] = 0; + HEAPF32[(16724)>>2] = $7; + _memcpy((20359|0),(19847|0),512)|0; + ;HEAP8[19844>>0]=HEAP8[19841>>0]|0;HEAP8[19844+1>>0]=HEAP8[19841+1>>0]|0;HEAP8[19844+2>>0]=HEAP8[19841+2>>0]|0; + $8 = HEAP32[4667]|0; + HEAP32[4254] = $8; + HEAP32[4667] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16234,8 +16238,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20567 + ($$05160<<5)|0); - $scevgep67 = (20695 + ($$05160<<5)|0); + $scevgep = (20871 + ($$05160<<5)|0); + $scevgep67 = (20999 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -16249,7 +16253,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20695 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((20999 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[766] = $$04857; @@ -16276,7 +16280,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18436 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18740 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16292,7 +16296,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4608] = $$lcssa; + HEAP32[4684] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16333,87 +16337,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4554]|0; + $0 = HEAP32[4630]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4256]|0; + $2 = HEAP32[4332]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4258]|0; - $5 = HEAP32[(18244)>>2]|0; + $4 = HEAP32[4334]|0; + $5 = HEAP32[(18548)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18248)>>2]|0; + $6 = HEAP32[(18552)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4554]|0; + $7 = HEAP32[4630]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18228)>>2]|0; + $9 = HEAP32[(18532)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18252)>>2]|0; + $10 = HEAP32[(18556)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18224)>>2]|0; + $11 = HEAP32[(18528)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18236)>>2]|0; + $13 = HEAP32[(18540)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4566]|0; + $14 = HEAP32[4642]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4256]|0; + $16 = HEAP32[4332]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4258]|0; - $19 = HEAP32[(18292)>>2]|0; + $18 = HEAP32[4334]|0; + $19 = HEAP32[(18596)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18296)>>2]|0; + $20 = HEAP32[(18600)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4566]|0; + $21 = HEAP32[4642]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18276)>>2]|0; + $23 = HEAP32[(18580)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18300)>>2]|0; + $24 = HEAP32[(18604)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18272)>>2]|0; + $25 = HEAP32[(18576)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18284)>>2]|0; + $27 = HEAP32[(18588)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4578]|0; + $28 = HEAP32[4654]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4256]|0; + $30 = HEAP32[4332]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4258]|0; - $33 = HEAP32[(18340)>>2]|0; + $32 = HEAP32[4334]|0; + $33 = HEAP32[(18644)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18344)>>2]|0; + $34 = HEAP32[(18648)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4578]|0; + $35 = HEAP32[4654]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18324)>>2]|0; + $37 = HEAP32[(18628)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18348)>>2]|0; + $38 = HEAP32[(18652)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4578]|0; + $39 = HEAP32[4654]|0; $40 = $39 << 3; - $41 = HEAP32[(18328)>>2]|0; + $41 = HEAP32[(18632)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18352)>>2]|0; + $42 = HEAP32[(18656)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4578]|0; + $43 = HEAP32[4654]|0; $44 = $43 << 2; - $45 = HEAP32[(18332)>>2]|0; + $45 = HEAP32[(18636)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4256]|0; + $46 = HEAP32[4332]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4258]|0; + $48 = HEAP32[4334]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16431,9 +16435,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16892; 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)); - dest=$1; src=16956; 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)); - $3 = HEAP32[4641]|0; + dest=$0; src=17196; 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)); + dest=$1; src=17260; 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)); + $3 = HEAP32[4717]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16443,134 +16447,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4554]|0; + $8 = HEAP32[4630]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4566]|0; + $10 = HEAP32[4642]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4578]|0; + $12 = HEAP32[4654]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4278]|0; + $14 = HEAP32[4354]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=16956; 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)); - dest=$$byval_copy2; src=16892; 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)); + dest=$modelview$byval_copy; src=17260; 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)); + dest=$$byval_copy2; src=17196; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17140)>>2]|0; + $15 = HEAP32[(17444)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17144)>>2]|0; + $17 = HEAP32[(17448)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17156)>>2]|0; + $18 = HEAP32[(17460)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4554]|0; + $19 = HEAP32[4630]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4263]|0; + $21 = HEAP32[4339]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4256]|0; + $22 = HEAP32[4332]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18248)>>2]|0; + $26 = HEAP32[(18552)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17116)>>2]|0; + $27 = HEAP32[(17420)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17116)>>2]|0; + $28 = HEAP32[(17420)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18252)>>2]|0; + $29 = HEAP32[(18556)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17136)>>2]|0; + $30 = HEAP32[(17440)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17136)>>2]|0; + $31 = HEAP32[(17440)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4258]|0; - $25 = HEAP32[(18244)>>2]|0; + $24 = HEAP32[4334]|0; + $25 = HEAP32[(18548)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4554]|0; + $32 = HEAP32[4630]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4256]|0; + $33 = HEAP32[4332]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4566]|0; + $35 = HEAP32[4642]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4263]|0; + $37 = HEAP32[4339]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4256]|0; + $38 = HEAP32[4332]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18296)>>2]|0; + $42 = HEAP32[(18600)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17116)>>2]|0; + $43 = HEAP32[(17420)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17116)>>2]|0; + $44 = HEAP32[(17420)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18300)>>2]|0; + $45 = HEAP32[(18604)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17136)>>2]|0; + $46 = HEAP32[(17440)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17136)>>2]|0; + $47 = HEAP32[(17440)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4258]|0; - $41 = HEAP32[(18292)>>2]|0; + $40 = HEAP32[4334]|0; + $41 = HEAP32[(18596)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4566]|0; + $48 = HEAP32[4642]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4256]|0; + $49 = HEAP32[4332]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4578]|0; + $51 = HEAP32[4654]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4256]|0; + $53 = HEAP32[4332]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18344)>>2]|0; + $57 = HEAP32[(18648)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17116)>>2]|0; + $58 = HEAP32[(17420)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17116)>>2]|0; + $59 = HEAP32[(17420)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18348)>>2]|0; + $60 = HEAP32[(18652)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17120)>>2]|0; + $61 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17120)>>2]|0; + $62 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18352)>>2]|0; + $63 = HEAP32[(18656)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17136)>>2]|0; + $64 = HEAP32[(17440)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17136)>>2]|0; + $65 = HEAP32[(17440)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18356)>>2]|0; + $66 = HEAP32[(18660)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4258]|0; - $56 = HEAP32[(18340)>>2]|0; + $55 = HEAP32[4334]|0; + $56 = HEAP32[(18644)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4294]|0; + $67 = HEAP32[4370]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4293]|0; + $71 = HEAP32[4369]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16581,14 +16585,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4293]|0; + $80 = HEAP32[4369]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4294]|0; + $87 = HEAP32[4370]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16597,7 +16601,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4256]|0; + $69 = HEAP32[4332]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16605,10 +16609,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4256]|0; + $89 = HEAP32[4332]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4258]|0; + $91 = HEAP32[4334]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16620,22 +16624,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4294] = 1; - $5 = HEAP32[4263]|0; - $6 = HEAP32[4293]|0; + HEAP32[4370] = 1; + $5 = HEAP32[4339]|0; + $6 = HEAP32[4369]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4554] = 0; - HEAP32[(18224)>>2] = 0; - HEAP32[4566] = 0; - HEAP32[(18272)>>2] = 0; - HEAP32[4578] = 0; - HEAP32[(18316)>>2] = 0; - HEAP32[(18320)>>2] = 0; + HEAP32[4630] = 0; + HEAP32[(18528)>>2] = 0; + HEAP32[4642] = 0; + HEAP32[(18576)>>2] = 0; + HEAP32[4654] = 0; + HEAP32[(18620)>>2] = 0; + HEAP32[(18624)>>2] = 0; HEAPF32[767] = -1.0; - dest=16892; src=$0; 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)); - dest=16956; src=$1; 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)); + dest=17196; src=$0; 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)); + dest=17260; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16650,17 +16654,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[4552]|0; + $5 = HEAP32[4628]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4553]|0; + $9 = HEAP32[4629]|0; _rlViewport($7,0,$8,$9); - $10 = (18796 + ($0<<6)|0); + $10 = (19100 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18668 + ($0<<6)|0); + $11 = (18972 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -16672,14 +16676,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16956; src=$0; 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)); + dest=17260; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16892; src=$0; 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)); + dest=17196; src=$0; 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)); return; } function _Begin3dMode($0) { @@ -16696,9 +16700,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4177]|0; + $2 = HEAP32[4253]|0; $3 = (+($2|0)); - $4 = HEAP32[4176]|0; + $4 = HEAP32[4252]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -16723,7 +16727,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; 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)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(18368); + _rlMultMatrixf(18672); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -16732,26 +16736,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4731]|0; + $0 = HEAP32[4807]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,8985,$vararg_buffer); } - $2 = HEAP32[4731]|0; - $3 = (17184 + ($2<<6)|0); - $4 = HEAP32[4222]|0; + $2 = HEAP32[4807]|0; + $3 = (17488 + ($2<<6)|0); + $4 = HEAP32[4298]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[4731]|0; + $5 = HEAP32[4807]|0; $6 = (($5) + 1)|0; - HEAP32[4731] = $6; - $7 = HEAP32[4255]|0; + HEAP32[4807] = $6; + $7 = HEAP32[4331]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4732] = 1; + HEAP32[4808] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -16770,7 +16774,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4222]|0; + $8 = HEAP32[4298]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -16797,18 +16801,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4731]|0; + $0 = HEAP32[4807]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4731]|0; + $2 = HEAP32[4807]|0; $3 = (($2) + -1)|0; - $4 = (17184 + ($3<<6)|0); - $5 = HEAP32[4222]|0; + $4 = (17488 + ($3<<6)|0); + $5 = HEAP32[4298]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4731] = $6; + HEAP32[4807] = $6; return; } function _rlDisableDepthTest() { @@ -16828,7 +16832,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2076]; + $0 = +HEAPF64[2114]; $1 = $0; return (+$1); } @@ -16862,7 +16866,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4222]|0; + $5 = HEAP32[4298]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -16895,7 +16899,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4222]|0; + $11 = HEAP32[4298]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -16906,7 +16910,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4295] = $0; + HEAP32[4371] = $0; return; } function _rlEnd() { @@ -16922,21 +16926,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4732]|0; + $0 = HEAP32[4808]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4733]|0; + $2 = HEAP32[4809]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4292]|0; + $6 = HEAP32[4368]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4222]|0; + $8 = HEAP32[4298]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4733]|0; + $5 = HEAP32[4809]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16944,12 +16948,12 @@ function _rlEnd() { break; } } - HEAP32[4732] = 0; + HEAP32[4808] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4292]|0; + $11 = HEAP32[4368]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16958,7 +16962,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4733]|0; + $19 = HEAP32[4809]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16968,15 +16972,15 @@ function _rlEnd() { } } } else { - HEAP32[4732] = 0; + HEAP32[4808] = 0; } - HEAP32[4733] = 0; + HEAP32[4809] = 0; } - $21 = HEAP32[4295]|0; + $21 = HEAP32[4371]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4554]|0; - $23 = HEAP32[(18224)>>2]|0; + $22 = HEAP32[4630]|0; + $23 = HEAP32[(18528)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[767]; @@ -16995,16 +16999,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18236)>>2]|0; - $28 = HEAP32[(18224)>>2]|0; + $27 = HEAP32[(18540)>>2]|0; + $28 = HEAP32[(18528)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18236)>>2]|0; - $35 = HEAP32[(18224)>>2]|0; + $34 = HEAP32[(18540)>>2]|0; + $35 = HEAP32[(18528)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -17012,8 +17016,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18236)>>2]|0; - $43 = HEAP32[(18224)>>2]|0; + $42 = HEAP32[(18540)>>2]|0; + $43 = HEAP32[(18528)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -17021,8 +17025,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18236)>>2]|0; - $51 = HEAP32[(18224)>>2]|0; + $50 = HEAP32[(18540)>>2]|0; + $51 = HEAP32[(18528)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -17030,9 +17034,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18224)>>2]|0; + $58 = HEAP32[(18528)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18224)>>2] = $59; + HEAP32[(18528)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -17048,8 +17052,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4566]|0; - $62 = HEAP32[(18272)>>2]|0; + $61 = HEAP32[4642]|0; + $62 = HEAP32[(18576)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[767]; @@ -17068,16 +17072,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18284)>>2]|0; - $67 = HEAP32[(18272)>>2]|0; + $66 = HEAP32[(18588)>>2]|0; + $67 = HEAP32[(18576)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18284)>>2]|0; - $74 = HEAP32[(18272)>>2]|0; + $73 = HEAP32[(18588)>>2]|0; + $74 = HEAP32[(18576)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -17085,8 +17089,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18284)>>2]|0; - $82 = HEAP32[(18272)>>2]|0; + $81 = HEAP32[(18588)>>2]|0; + $82 = HEAP32[(18576)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -17094,8 +17098,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18284)>>2]|0; - $90 = HEAP32[(18272)>>2]|0; + $89 = HEAP32[(18588)>>2]|0; + $90 = HEAP32[(18576)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -17103,9 +17107,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18272)>>2]|0; + $97 = HEAP32[(18576)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18272)>>2] = $98; + HEAP32[(18576)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -17121,8 +17125,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4578]|0; - $101 = HEAP32[(18320)>>2]|0; + $100 = HEAP32[4654]|0; + $101 = HEAP32[(18624)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -17130,16 +17134,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18332)>>2]|0; - $106 = HEAP32[(18320)>>2]|0; + $105 = HEAP32[(18636)>>2]|0; + $106 = HEAP32[(18624)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18332)>>2]|0; - $113 = HEAP32[(18320)>>2]|0; + $112 = HEAP32[(18636)>>2]|0; + $113 = HEAP32[(18624)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -17147,8 +17151,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18332)>>2]|0; - $121 = HEAP32[(18320)>>2]|0; + $120 = HEAP32[(18636)>>2]|0; + $121 = HEAP32[(18624)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -17156,8 +17160,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18332)>>2]|0; - $129 = HEAP32[(18320)>>2]|0; + $128 = HEAP32[(18636)>>2]|0; + $129 = HEAP32[(18624)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -17165,9 +17169,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18320)>>2]|0; + $136 = HEAP32[(18624)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18320)>>2] = $137; + HEAP32[(18624)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -17178,8 +17182,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4578]|0; - $140 = HEAP32[(18316)>>2]|0; + $139 = HEAP32[4654]|0; + $140 = HEAP32[(18620)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[767]; @@ -17187,8 +17191,8 @@ function _rlEnd() { HEAPF32[767] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18328)>>2]|0; - $$promoted = HEAP32[(18316)>>2]|0; + $142 = HEAP32[(18632)>>2]|0; + $$promoted = HEAP32[(18620)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -17196,7 +17200,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18316)>>2] = $147; + HEAP32[(18620)>>2] = $147; $148 = +HEAPF32[767]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[767] = $149; @@ -17223,11 +17227,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4732]|0; + $3 = HEAP32[4808]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4292]|0; - $6 = HEAP32[4733]|0; + $5 = HEAP32[4368]|0; + $6 = HEAP32[4809]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17235,16 +17239,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4733] = $10; + HEAP32[4809] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4295]|0; + $11 = HEAP32[4371]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4554]|0; + $12 = HEAP32[4630]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18228)>>2]|0; + $14 = HEAP32[(18532)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17255,7 +17259,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4554] = $21; + HEAP32[4630] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9023,$vararg_buffer); @@ -17264,10 +17268,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4566]|0; + $22 = HEAP32[4642]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18276)>>2]|0; + $24 = HEAP32[(18580)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17278,7 +17282,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4566] = $31; + HEAP32[4642] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9048,$vararg_buffer1); @@ -17287,10 +17291,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4578]|0; + $32 = HEAP32[4654]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18324)>>2]|0; + $34 = HEAP32[(18628)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17301,9 +17305,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4578] = $41; - $42 = HEAP32[4293]|0; - $43 = HEAP32[4294]|0; + HEAP32[4654] = $41; + $42 = HEAP32[4369]|0; + $43 = HEAP32[4370]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17335,13 +17339,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4295]|0; + $2 = HEAP32[4371]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18328)>>2]|0; - $5 = HEAP32[(18316)>>2]|0; + $4 = HEAP32[(18632)>>2]|0; + $5 = HEAP32[(18620)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17349,7 +17353,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18316)>>2] = $10; + HEAP32[(18620)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17368,18 +17372,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4295]|0; + $4 = HEAP32[4371]|0; switch ($4|0) { case 1: { - $$sink37 = (18224);$$sink38 = (18236); + $$sink37 = (18528);$$sink38 = (18540); break; } case 4: { - $$sink37 = (18272);$$sink38 = (18284); + $$sink37 = (18576);$$sink38 = (18588); break; } case 7: { - $$sink37 = (18320);$$sink38 = (18332); + $$sink37 = (18624);$$sink38 = (18636); break; } default: { @@ -17433,8 +17437,8 @@ function _rlEnableTexture($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 = HEAP32[4293]|0; - $2 = HEAP32[4294]|0; + $1 = HEAP32[4369]|0; + $2 = HEAP32[4370]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17447,9 +17451,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4294] = $10; + HEAP32[4370] = $10; } - $11 = HEAP32[4294]|0; + $11 = HEAP32[4370]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17460,7 +17464,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4578]|0; + $0 = HEAP32[4654]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17468,40 +17472,11 @@ function _rlDisableTexture() { _rlglDraw(); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9102); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10435)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4734] = $0; + HEAP32[4810] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -17565,7 +17540,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9114|0),(9140|0),1125,(9163|0)); + ___assert_fail((9102|0),(9128|0),1041,(9151|0)); // unreachable; } } @@ -17583,7 +17558,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4735]|0; + $15 = HEAP32[4811]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -17676,7 +17651,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9204); + _stbi__err(9192); $$0 = 0; return ($$0|0); } else { @@ -17698,7 +17673,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9195); + _stbi__err(9183); $$0 = 0; return ($$0|0); } @@ -17768,7 +17743,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9223); + _stbi__err(9211); $$045 = 0; return ($$045|0); } @@ -18329,7 +18304,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9539 + ($120)|0); + $121 = (9527 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -18371,97 +18346,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9313); + _stbi__err(9301); $$6$ph = 0; break; } case 9: { - _stbi__err(9327); + _stbi__err(9315); $$6$ph = 0; break; } case 11: { - _stbi__err(9340); + _stbi__err(9328); $$6$ph = 0; break; } case 13: { - _stbi__err(9340); + _stbi__err(9328); $$6$ph = 0; break; } case 15: { - _stbi__err(9350); + _stbi__err(9338); $$6$ph = 0; break; } case 17: { - _stbi__err(9370); + _stbi__err(9358); $$6$ph = 0; break; } case 20: { - _stbi__err(9370); + _stbi__err(9358); $$6$ph = 0; break; } case 22: { - _stbi__err(9370); + _stbi__err(9358); $$6$ph = 0; break; } case 24: { - _stbi__err(9380); + _stbi__err(9368); $$6$ph = 0; break; } case 26: { - _stbi__err(9396); + _stbi__err(9384); $$6$ph = 0; break; } case 28: { - _stbi__err(9414); + _stbi__err(9402); $$6$ph = 0; break; } case 31: { - _stbi__err(9435); + _stbi__err(9423); $$6$ph = 0; break; } case 34: { - _stbi__err(9340); + _stbi__err(9328); $$6$ph = 0; break; } case 37: { - _stbi__err(9340); + _stbi__err(9328); $$6$ph = 0; break; } case 39: { - _stbi__err(9449); + _stbi__err(9437); $$6$ph = 0; break; } case 41: { - _stbi__err(9464); + _stbi__err(9452); $$6$ph = 0; break; } case 44: { - _stbi__err(9464); + _stbi__err(9452); $$6$ph = 0; break; } case 47: { - _stbi__err(9449); + _stbi__err(9437); $$6$ph = 0; break; } case 49: { - _stbi__err(9477); + _stbi__err(9465); $$6$ph = 0; break; } @@ -18472,32 +18447,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9493); + _stbi__err(9481); $$6$ph = 0; break; } case 58: { - _stbi__err(9510); + _stbi__err(9498); $$6$ph = 0; break; } case 61: { - _stbi__err(9523); + _stbi__err(9511); $$6$ph = 0; break; } case 63: { - _stbi__err(9510); + _stbi__err(9498); $$6$ph = 0; break; } case 70: { - _stbi__err(9449); + _stbi__err(9437); $$6$ph = 0; break; } case 72: { - _stbi__err(9548); + _stbi__err(9536); $$6$ph = 0; break; } @@ -18509,12 +18484,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9195); + _stbi__err(9183); $$6$ph = 0; break; } case 83: { - _stbi__err(9556); + _stbi__err(9544); $$6$ph = 0; break; } @@ -18527,7 +18502,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9566); + _stbi__err(9554); $$4 = 0; break; } @@ -18592,7 +18567,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4736]|0; + $193 = HEAP32[4812]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -18625,7 +18600,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9449); + _stbi__err(9437); $$4 = 0; } } while(0); @@ -18633,24 +18608,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9449); + _stbi__err(9437); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9574] = $206; + HEAP8[9562] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9575)>>0] = $209; + HEAP8[(9563)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9576)>>0] = $211; + HEAP8[(9564)>>0] = $211; $212 = $207&255; - HEAP8[(9577)>>0] = $212; - _stbi__err(9574); + HEAP8[(9565)>>0] = $212; + _stbi__err(9562); $$6$ph = 0; break; } @@ -18684,14 +18659,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9236|0),(9140|0),1561,(9292|0)); + ___assert_fail((9224|0),(9128|0),1477,(9280|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9195); + _stbi__err(9183); $$0163 = 0; return ($$0163|0); } @@ -19054,7 +19029,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9290|0),(9140|0),1590,(9292|0)); + ___assert_fail((9278|0),(9128|0),1506,(9280|0)); // unreachable; } } while(0); @@ -19088,7 +19063,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9236|0),(9140|0),1610,(9267|0)); + ___assert_fail((9224|0),(9128|0),1526,(9255|0)); // unreachable; } $7 = $2 << 1; @@ -19098,7 +19073,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9195); + _stbi__err(9183); $$0163 = 0; return ($$0163|0); } @@ -19461,7 +19436,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9290|0),(9140|0),1639,(9267|0)); + ___assert_fail((9278|0),(9128|0),1555,(9255|0)); // unreachable; } } while(0); @@ -19609,7 +19584,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10231); + _stbi__err(10539); $$05 = 0; return ($$05|0); } @@ -20046,7 +20021,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9633|0),(9140|0),4568,(9685|0)); + ___assert_fail((9621|0),(9128|0),4569,(9673|0)); // unreachable; } } @@ -20133,7 +20108,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9633|0),(9140|0),4543,(9658|0)); + ___assert_fail((9621|0),(9128|0),4544,(9646|0)); // unreachable; } } @@ -20180,7 +20155,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4737]|0; + $16 = HEAP32[4813]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -20255,7 +20230,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9599|0),(9140|0),4649,(9617|0)); + ___assert_fail((9587|0),(9128|0),4650,(9605|0)); // unreachable; } } @@ -20278,7 +20253,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9195); + _stbi__err(9183); $$0 = 0; return ($$0|0); } @@ -20455,7 +20430,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9714|0),(9140|0),4294,(9755|0)); + ___assert_fail((9702|0),(9128|0),4294,(9743|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -20463,7 +20438,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9195); + _stbi__err(9183); $$2 = 0; return ($$2|0); } @@ -20482,7 +20457,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9782); + _stbi__err(9770); $$2 = 0; return ($$2|0); } @@ -20495,7 +20470,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9782); + _stbi__err(9770); $$2 = 0; return ($$2|0); } @@ -20503,12 +20478,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -20531,33 +20506,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9821 + ($56)|0); + $60 = (9809 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -20567,24 +20542,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -20594,10 +20569,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -20608,10 +20583,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -20622,14 +20597,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -20659,7 +20634,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -20674,12 +20649,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -21256,15 +21231,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9800|0),(9140|0),4315,(9755|0)); + ___assert_fail((9788|0),(9128|0),4315,(9743|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9826|0),(9140|0),4376,(9755|0)); + ___assert_fail((9814|0),(9128|0),4377,(9743|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9843); + _stbi__err(9831); $$2 = 0; return ($$2|0); } @@ -21314,7 +21289,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9539 + ($6)|0); + $336 = (9527 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -21755,7 +21730,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9858|0),(9140|0),4465,(9755|0)); + ___assert_fail((9846|0),(9128|0),4466,(9743|0)); // unreachable; } else if ((label|0) == 151) { @@ -21815,8 +21790,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -21831,15 +21806,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -21848,65 +21823,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20854)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9857,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,20855,288)|0); + $15 = (_stbi__zbuild_huffman($8,10145,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,20823,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -21925,14 +21895,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10184); + _stbi__err(10492); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10200); + _stbi__err(10508); $$0 = 0; return ($$0|0); } @@ -21941,7 +21911,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10215); + _stbi__err(10523); $$0 = 0; return ($$0|0); } @@ -22024,7 +21994,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10106|0),(9140|0),4048,(10123|0)); + ___assert_fail((10414|0),(9128|0),4033,(10431|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -22061,7 +22031,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10154); + _stbi__err(10462); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -22071,7 +22041,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10167); + _stbi__err(10475); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -22101,21 +22071,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20855|0),8,144)|0; - dest=(20999); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21111); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21135); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20823; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -22249,7 +22204,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10044); + _stbi__err(10352); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22338,7 +22293,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10096); + _stbi__err(10404); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22367,7 +22322,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10890 + ($$06579)|0); + $14 = (11198 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -22458,21 +22413,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10044); + _stbi__err(10352); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10044); + _stbi__err(10352); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10060|0),(9140|0),4021,(10068|0)); + ___assert_fail((10368|0),(9128|0),4006,(10376|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10044); + _stbi__err(10352); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22482,7 +22437,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10044); + _stbi__err(10352); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22646,7 +22601,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9869); + _stbi__err(10177); $$3$ph = 0; return ($$3$ph|0); } @@ -22656,12 +22611,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9869); + _stbi__err(10177); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9886); + _stbi__err(10194); $$3$ph = 0; return ($$3$ph|0); } @@ -22718,7 +22673,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9895); + _stbi__err(10203); $$0 = 0; return ($$0|0); } @@ -22744,7 +22699,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9195); + _stbi__err(9183); $$0 = 0; return ($$0|0); } else { @@ -22789,7 +22744,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((9991|0),(9140|0),3863,(10028|0)); + ___assert_fail((10299|0),(9128|0),3848,(10336|0)); // unreachable; } else if ((label|0) == 5) { @@ -22837,7 +22792,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9915|0),(9140|0),3891,(9931|0)); + ___assert_fail((10223|0),(9128|0),3876,(10239|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -22865,7 +22820,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((9962|0),(9140|0),3781,(9973|0)); + ___assert_fail((10270|0),(9128|0),3766,(10281|0)); // unreachable; } return (0)|0; @@ -23011,10 +22966,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -23025,27 +22980,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10243)|0); + $6 = (_IsFileExtension($1,10551)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10296)|0); + $19 = (_IsFileExtension($1,10604)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10301,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10609,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10743)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -23073,7 +23029,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -23090,18 +23046,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10249,$vararg_buffer); + _TraceLog(2,10557,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -23110,34 +23066,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10337,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,10645,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10376,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10684,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -23156,11 +23119,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10435)|0); + $4 = (_fopen($0,10743)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10438,$vararg_buffer); + _TraceLog(2,10746,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -23259,7 +23222,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10535,$vararg_buffer4); + _TraceLog(0,10843,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -23294,14 +23257,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10581,$vararg_buffer8); + _TraceLog(2,10889,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10489,$vararg_buffer1); + _TraceLog(2,10797,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -23391,7 +23354,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10407,$vararg_buffer); + _TraceLog(2,10715,$vararg_buffer); $$0 = $6; } } @@ -23436,27 +23399,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10631,$vararg_buffer); + _TraceLog(2,10939,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10670,$vararg_buffer1); + _TraceLog(2,10978,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10696,$vararg_buffer3); + _TraceLog(2,11004,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10759,$vararg_buffer5); + _TraceLog(2,11067,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10794,$vararg_buffer7); + _TraceLog(2,11102,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10829,$vararg_buffer10); + _TraceLog(0,11137,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -24639,7 +24602,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10886 + ($$361133)|0); + $199 = (11194 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -25069,7 +25032,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10886 + ($$331130)|0); + $186 = (11194 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -25107,7 +25070,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10886 + ($$371134)|0); + $203 = (11194 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -25146,7 +25109,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10890 + ($$421139)|0); + $235 = (11198 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -25553,7 +25516,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10909 + ($495)|0); + $496 = (11217 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -25590,7 +25553,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10913 + ($515)|0); + $516 = (11221 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -26502,7 +26465,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,10917,$vararg_buffer); + _TraceLog(2,11225,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -26523,7 +26486,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16740>>2]|0;HEAP32[$0+4>>2]=HEAP32[16740+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16740+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16740+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16740+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16740+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16740+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16740+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17044>>2]|0;HEAP32[$0+4>>2]=HEAP32[17044+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17044+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17044+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17044+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17044+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17044+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17044+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -26905,8 +26868,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(21143,$0,$1)|0); - STACKTOP = sp;return (21143|0); + (_vsprintf(21127,$0,$1)|0); + STACKTOP = sp;return (21127|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -26916,7 +26879,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[4738]|0; + $3 = HEAP32[4814]|0; $4 = HEAP32[928]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -26924,14 +26887,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[4739] = $7; + HEAP32[4815] = $7; HEAP32[928] = $7; $$sink = 0; } - HEAP32[4738] = $$sink; - $8 = HEAP32[4739]|0; + HEAP32[4814] = $$sink; + $8 = HEAP32[4815]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(10946,$$byval_copy)|0); + (_FormatText(11254,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -26940,7 +26903,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(21143,$0,$1,20,$$byval_copy); + _DrawText(21127,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _DrawGrid($0,$1) { @@ -27239,7 +27202,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,10954)|0); + $12 = (_strstr($11,11262)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -27248,7 +27211,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,10958)|0); + $17 = (_strstr($16,11266)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -27257,7 +27220,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,10962)|0); + $22 = (_strstr($21,11270)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -27266,7 +27229,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,10966)|0); + $27 = (_strstr($26,11274)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -27275,1210 +27238,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,10972)|0); + $32 = (_strcmp($31,11280)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11010)|0); + $35 = (_strcmp($34,11318)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11029; + HEAP32[$3>>2] = 11337; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11042)|0); + $38 = (_strcmp($37,11350)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11063; + HEAP32[$3>>2] = 11371; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11078)|0); + $41 = (_strcmp($40,11386)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11093; + HEAP32[$3>>2] = 11401; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11108)|0); + $44 = (_strcmp($43,11416)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11123; + HEAP32[$3>>2] = 11431; } } else { - HEAP32[$3>>2] = 10994; + HEAP32[$3>>2] = 11302; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11138)|0); + $47 = (_strcmp($46,11446)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11152)|0); + $50 = (_strcmp($49,11460)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11164)|0); + $53 = (_strcmp($52,11472)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11178)|0); + $56 = (_strcmp($55,11486)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11190)|0); + $59 = (_strcmp($58,11498)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11204)|0); + $62 = (_strcmp($61,11512)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11218)|0); + $65 = (_strcmp($64,11526)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11235)|0); + $68 = (_strcmp($67,11543)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11258)|0); + $71 = (_strcmp($70,11566)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11284)|0); + $74 = (_strcmp($73,11592)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11297)|0); + $77 = (_strcmp($76,11605)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11313)|0); + $80 = (_strcmp($79,11621)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11326)|0); + $83 = (_strcmp($82,11634)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11340)|0); + $86 = (_strcmp($85,11648)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11360)|0); + $89 = (_strcmp($88,11668)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11380)|0); + $92 = (_strcmp($91,11688)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11397)|0); + $95 = (_strcmp($94,11705)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11414)|0); + $98 = (_strcmp($97,11722)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11426)|0); + $101 = (_strcmp($100,11734)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11439)|0); + $104 = (_strcmp($103,11747)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11455)|0); + $107 = (_strcmp($106,11763)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11478)|0); + $110 = (_strcmp($109,11786)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11491)|0); + $113 = (_strcmp($112,11799)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11507)|0); + $116 = (_strcmp($115,11815)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11518)|0); + $119 = (_strcmp($118,11826)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11537)|0); + $122 = (_strcmp($121,11845)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11559)|0); + $125 = (_strcmp($124,11867)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11578)|0); + $128 = (_strcmp($127,11886)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11607)|0); + $131 = (_strcmp($130,11915)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11624)|0); + $134 = (_strcmp($133,11932)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11639)|0); + $137 = (_strcmp($136,11947)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11654)|0); + $140 = (_strcmp($139,11962)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11675)|0); + $143 = (_strcmp($142,11983)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11695)|0); + $146 = (_strcmp($145,12003)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11715)|0); + $149 = (_strcmp($148,12023)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11741)|0); + $152 = (_strcmp($151,12049)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11760)|0); + $155 = (_strcmp($154,12068)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11772)|0); + $158 = (_strcmp($157,12080)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11784)|0); + $161 = (_strcmp($160,12092)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11796)|0); + $164 = (_strcmp($163,12104)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11808)|0); + $167 = (_strcmp($166,12116)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11820)|0); + $170 = (_strcmp($169,12128)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11832)|0); + $173 = (_strcmp($172,12140)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11844)|0); + $176 = (_strcmp($175,12152)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11856)|0); + $179 = (_strcmp($178,12164)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11869)|0); + $182 = (_strcmp($181,12177)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11882)|0); + $185 = (_strcmp($184,12190)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11895)|0); + $188 = (_strcmp($187,12203)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11908)|0); + $191 = (_strcmp($190,12216)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11921)|0); + $194 = (_strcmp($193,12229)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11934)|0); + $197 = (_strcmp($196,12242)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,11947)|0); + $200 = (_strcmp($199,12255)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,11960)|0); + $203 = (_strcmp($202,12268)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,11979)|0); + $206 = (_strcmp($205,12287)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,11998)|0); + $209 = (_strcmp($208,12306)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12017)|0); + $212 = (_strcmp($211,12325)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12030)|0); + $215 = (_strcmp($214,12338)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12048)|0); + $218 = (_strcmp($217,12356)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12066)|0); + $221 = (_strcmp($220,12374)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12084)|0); + $224 = (_strcmp($223,12392)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12102)|0); + $227 = (_strcmp($226,12410)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12122)|0); + $230 = (_strcmp($229,12430)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11063)|0); + $233 = (_strcmp($232,11371)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12140)|0); + $236 = (_strcmp($235,12448)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12155)|0); + $239 = (_strcmp($238,12463)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12176)|0); + $242 = (_strcmp($241,12484)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12191)|0); + $245 = (_strcmp($244,12499)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12209)|0); + $248 = (_strcmp($247,12517)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12225)|0); + $251 = (_strcmp($250,12533)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12244)|0); + $254 = (_strcmp($253,12552)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12258)|0); + $257 = (_strcmp($256,12566)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12273)|0); + $260 = (_strcmp($259,12581)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,10994)|0); + $263 = (_strcmp($262,11302)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12284)|0); + $266 = (_strcmp($265,12592)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11093)|0); + $269 = (_strcmp($268,11401)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11123)|0); + $272 = (_strcmp($271,11431)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12300)|0); + $275 = (_strcmp($274,12608)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12327)|0); + $278 = (_strcmp($277,12635)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12341)|0); + $281 = (_strcmp($280,12649)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11029)|0); + $284 = (_strcmp($283,11337)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12361)|0); + $287 = (_strcmp($286,12669)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12379)|0); + $290 = (_strcmp($289,12687)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12391)|0); + $293 = (_strcmp($292,12699)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12412)|0); + $296 = (_strcmp($295,12720)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12430)|0); + $299 = (_strcmp($298,12738)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12448)|0); + $302 = (_strcmp($301,12756)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12469)|0); + $305 = (_strcmp($304,12777)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12495)|0); + $308 = (_strcmp($307,12803)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12518)|0); + $311 = (_strcmp($310,12826)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12556)|0); + $314 = (_strcmp($313,12864)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12572)|0); + $317 = (_strcmp($316,12880)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12587)|0); + $320 = (_strcmp($319,12895)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12610)|0); + $323 = (_strcmp($322,12918)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12623)|0); + $326 = (_strcmp($325,12931)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12637)|0); + $329 = (_strcmp($328,12945)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12651)|0); + $332 = (_strcmp($331,12959)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12671)|0); + $335 = (_strcmp($334,12979)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12691)|0); + $338 = (_strcmp($337,12999)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12707)|0); + $341 = (_strcmp($340,13015)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12725)|0); + $344 = (_strcmp($343,13033)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12741)|0); + $347 = (_strcmp($346,13049)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12756)|0); + $350 = (_strcmp($349,13064)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12778)|0); + $353 = (_strcmp($352,13086)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12796)|0); + $356 = (_strcmp($355,13104)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12817)|0); + $359 = (_strcmp($358,13125)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12835)|0); + $362 = (_strcmp($361,13143)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12848)|0); + $365 = (_strcmp($364,13156)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12863)|0); + $368 = (_strcmp($367,13171)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12877)|0); + $371 = (_strcmp($370,13185)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12887)|0); + $374 = (_strcmp($373,13195)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12897)|0); + $377 = (_strcmp($376,13205)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12919)|0); + $380 = (_strcmp($379,13227)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,12945)|0); + $383 = (_strcmp($382,13253)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,12972)|0); + $386 = (_strcmp($385,13280)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,12985)|0); + $389 = (_strcmp($388,13293)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13000)|0); + $392 = (_strcmp($391,13308)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13015)|0); + $395 = (_strcmp($394,13323)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13039)|0); + $398 = (_strcmp($397,13347)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13050)|0); + $401 = (_strcmp($400,13358)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13072)|0); + $404 = (_strcmp($403,13380)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13094)|0); + $407 = (_strcmp($406,13402)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13118)|0); + $410 = (_strcmp($409,13426)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13127)|0); + $413 = (_strcmp($412,13435)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13135)|0); + $416 = (_strcmp($415,13443)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13148)|0); + $419 = (_strcmp($418,13456)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13162)|0); + $422 = (_strcmp($421,13470)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13174)|0); + $425 = (_strcmp($424,13482)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13183)|0); + $428 = (_strcmp($427,13491)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13193)|0); + $431 = (_strcmp($430,13501)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13205)|0); + $434 = (_strcmp($433,13513)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13216)|0); + $437 = (_strcmp($436,13524)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13224)|0); + $440 = (_strcmp($439,13532)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13236)|0); + $443 = (_strcmp($442,13544)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13251)|0); + $446 = (_strcmp($445,13559)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13263)|0); + $449 = (_strcmp($448,13571)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13277)|0); + $452 = (_strcmp($451,13585)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13302)|0); + $455 = (_strcmp($454,13610)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13319)|0); + $458 = (_strcmp($457,13627)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13335)|0); + $461 = (_strcmp($460,13643)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13351)|0); + $464 = (_strcmp($463,13659)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13363)|0); + $467 = (_strcmp($466,13671)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13375)|0); + $470 = (_strcmp($469,13683)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13399)|0); + $473 = (_strcmp($472,13707)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13412)|0); + $476 = (_strcmp($475,13720)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13426)|0); + $479 = (_strcmp($478,13734)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13448)|0); + $482 = (_strcmp($481,13756)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13455)|0); + $485 = (_strcmp($484,13763)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13471)|0); + $488 = (_strcmp($487,13779)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13488)|0); + $491 = (_strcmp($490,13796)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13505)|0); + $494 = (_strcmp($493,13813)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13521)|0); + $497 = (_strcmp($496,13829)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13537)|0); + $500 = (_strcmp($499,13845)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13554)|0); + $503 = (_strcmp($502,13862)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13568)|0); + $506 = (_strcmp($505,13876)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13580)|0); + $509 = (_strcmp($508,13888)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13591)|0); + $512 = (_strcmp($511,13899)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13604)|0); + $515 = (_strcmp($514,13912)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13614)|0); + $518 = (_strcmp($517,13922)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13631)|0); + $521 = (_strcmp($520,13939)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13643)|0); + $524 = (_strcmp($523,13951)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13665)|0); + $527 = (_strcmp($526,13973)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13685)|0); + $530 = (_strcmp($529,13993)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13698)|0); + $533 = (_strcmp($532,14006)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13720)|0); + $536 = (_strcmp($535,14028)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13740)|0); + $539 = (_strcmp($538,14048)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13757)|0); + $542 = (_strcmp($541,14065)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13774)|0); + $545 = (_strcmp($544,14082)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13794)|0); + $548 = (_strcmp($547,14102)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -28500,7 +28463,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (18960|0); + return (19264|0); } function ___stdio_close($0) { $0 = $0|0; @@ -29433,7 +29396,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13910 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14218 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -29611,7 +29574,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14374;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14682;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -29632,7 +29595,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14374;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14682;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -29640,8 +29603,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14374 : (14376); - $$$ = $238 ? $$ : (14375); + $$ = $240 ? 14682 : (14684); + $$$ = $238 ? $$ : (14683); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -29658,7 +29621,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14374;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14682;$242 = $167;$243 = $170; label = 66; break; } @@ -29671,7 +29634,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14374;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14682;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -29685,7 +29648,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14384; + $271 = $270 ? $269 : 14692; $$1 = $271; label = 71; break; @@ -29725,7 +29688,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14374;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14682;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -29747,8 +29710,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14374 + ($208)|0); - $$289 = $or$cond283 ? 14374 : $209; + $209 = (14682 + ($208)|0); + $$289 = $or$cond283 ? 14682 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -29769,7 +29732,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14374;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14682;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -30299,7 +30262,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14426 + ($7)|0); + $9 = (14734 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -30657,14 +30620,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14391; + $$0471 = $14;$$0520 = 1;$$0521 = 14699; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14392) : (14397); - $$$ = $16 ? $$ : (14394); + $$ = $18 ? (14700) : (14705); + $$$ = $16 ? $$ : (14702); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -30763,7 +30726,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14426 + ($80)|0); + $81 = (14734 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -31374,7 +31337,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14442,1); + _out($0,14750,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -31455,7 +31418,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14442,1); + _out($0,14750,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -31512,9 +31475,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14410 : 14414; + $29 = $28 ? 14718 : 14722; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14418 : 14422; + $31 = $28 ? 14726 : 14730; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -31724,7 +31687,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14444 + ($$016)|0); + $3 = (14752 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -31735,7 +31698,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14532;$$115 = 87; + $$01214 = 14840;$$115 = 87; label = 5; break; } else { @@ -31745,9 +31708,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14532; + $$012$lcssa = 14840; } else { - $$01214 = 14532;$$115 = $$016; + $$01214 = 14840;$$115 = $$016; label = 5; } } @@ -32430,7 +32393,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16336,$3,4)|0); + $memchr = (_memchr(16644,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -32519,7 +32482,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16336,$4,4)|0); + $memchr = (_memchr(16644,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -32610,7 +32573,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(18964)>>2]|0; + $38 = HEAP32[(19268)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -32643,13 +32606,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19024|0)); - return (19032|0); + ___lock((19328|0)); + return (19336|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19024|0)); + ___unlock((19328|0)); return; } function _fclose($0) { @@ -33713,7 +33676,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16616; + $2 = 16920; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -33930,7 +33893,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4759]|0; + $3 = HEAP32[4835]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -33949,22 +33912,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4759] = 0; + HEAP32[4835] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4759] = $10; + HEAP32[4835] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4759] = 0; + HEAP32[4835] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4759] = $13; + HEAP32[4835] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -34045,7 +34008,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4760]|0; + $8 = HEAP32[4836]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -34054,7 +34017,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19080 + ($15<<2)|0); + $16 = (19384 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -34065,9 +34028,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4760] = $24; + HEAP32[4836] = $24; } else { - $25 = HEAP32[(19056)>>2]|0; + $25 = HEAP32[(19360)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -34098,7 +34061,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19048)>>2]|0; + $37 = HEAP32[(19352)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -34132,7 +34095,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19080 + ($68<<2)|0); + $69 = (19384 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -34143,10 +34106,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4760] = $77; + HEAP32[4836] = $77; $98 = $77; } else { - $78 = HEAP32[(19056)>>2]|0; + $78 = HEAP32[(19360)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -34179,22 +34142,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19060)>>2]|0; + $92 = HEAP32[(19364)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19080 + ($94<<2)|0); + $95 = (19384 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4760] = $100; + HEAP32[4836] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19056)>>2]|0; + $103 = HEAP32[(19360)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -34211,12 +34174,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19048)>>2] = $84; - HEAP32[(19060)>>2] = $87; + HEAP32[(19352)>>2] = $84; + HEAP32[(19364)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19044)>>2]|0; + $108 = HEAP32[(19348)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -34244,7 +34207,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19344 + ($132<<2)|0); + $133 = (19648 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -34284,7 +34247,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19056)>>2]|0; + $155 = HEAP32[(19360)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -34379,7 +34342,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19344 + ($188<<2)|0); + $189 = (19648 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -34390,11 +34353,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19044)>>2] = $194; + HEAP32[(19348)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19056)>>2]|0; + $195 = HEAP32[(19360)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -34415,7 +34378,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19056)>>2]|0; + $201 = HEAP32[(19360)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -34445,7 +34408,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19056)>>2]|0; + $213 = HEAP32[(19360)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -34482,22 +34445,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19060)>>2]|0; + $231 = HEAP32[(19364)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19080 + ($233<<2)|0); + $234 = (19384 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4760] = $238; + HEAP32[4836] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19056)>>2]|0; + $241 = HEAP32[(19360)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -34514,8 +34477,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19048)>>2] = $$0193$lcssa$i; - HEAP32[(19060)>>2] = $157; + HEAP32[(19352)>>2] = $$0193$lcssa$i; + HEAP32[(19364)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -34531,7 +34494,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19044)>>2]|0; + $250 = HEAP32[(19348)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -34571,7 +34534,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19344 + ($$0358$i<<2)|0); + $278 = (19648 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -34663,7 +34626,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19344 + ($330<<2)|0); + $331 = (19648 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -34707,11 +34670,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19048)>>2]|0; + $345 = HEAP32[(19352)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19056)>>2]|0; + $348 = HEAP32[(19360)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -34808,7 +34771,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19344 + ($381<<2)|0); + $382 = (19648 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -34819,12 +34782,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19044)>>2] = $387; + HEAP32[(19348)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19056)>>2]|0; + $388 = HEAP32[(19360)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -34846,7 +34809,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19056)>>2]|0; + $394 = HEAP32[(19360)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -34878,7 +34841,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19056)>>2]|0; + $406 = HEAP32[(19360)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -34919,20 +34882,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19080 + ($425<<2)|0); - $427 = HEAP32[4760]|0; + $426 = (19384 + ($425<<2)|0); + $427 = HEAP32[4836]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4760] = $431; + HEAP32[4836] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19056)>>2]|0; + $434 = HEAP32[(19360)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -34984,7 +34947,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19344 + ($$0361$i<<2)|0); + $464 = (19648 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -34996,7 +34959,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19044)>>2] = $472; + HEAP32[(19348)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -35035,7 +34998,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19056)>>2]|0; + $491 = HEAP32[(19360)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -35054,7 +35017,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19056)>>2]|0; + $498 = HEAP32[(19360)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -35087,16 +35050,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19048)>>2]|0; + $506 = HEAP32[(19352)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19060)>>2]|0; + $509 = HEAP32[(19364)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19060)>>2] = $511; - HEAP32[(19048)>>2] = $508; + HEAP32[(19364)>>2] = $511; + HEAP32[(19352)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -35106,8 +35069,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19048)>>2] = 0; - HEAP32[(19060)>>2] = 0; + HEAP32[(19352)>>2] = 0; + HEAP32[(19364)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -35121,14 +35084,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19052)>>2]|0; + $524 = HEAP32[(19356)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19052)>>2] = $526; - $527 = HEAP32[(19064)>>2]|0; + HEAP32[(19356)>>2] = $526; + $527 = HEAP32[(19368)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19064)>>2] = $528; + HEAP32[(19368)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -35139,23 +35102,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4878]|0; + $534 = HEAP32[4954]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19520)>>2] = 4096; - HEAP32[(19516)>>2] = 4096; - HEAP32[(19524)>>2] = -1; - HEAP32[(19528)>>2] = -1; - HEAP32[(19532)>>2] = 0; - HEAP32[(19484)>>2] = 0; + HEAP32[(19824)>>2] = 4096; + HEAP32[(19820)>>2] = 4096; + HEAP32[(19828)>>2] = -1; + HEAP32[(19832)>>2] = -1; + HEAP32[(19836)>>2] = 0; + HEAP32[(19788)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4878] = $538; + HEAP32[4954] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19520)>>2]|0; + $$pre$i212 = HEAP32[(19824)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -35168,10 +35131,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19480)>>2]|0; + $546 = HEAP32[(19784)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19472)>>2]|0; + $548 = HEAP32[(19776)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -35181,18 +35144,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19484)>>2]|0; + $552 = HEAP32[(19788)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19064)>>2]|0; + $555 = HEAP32[(19368)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19488); + $$0$i$i = (19792); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -35250,7 +35213,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19516)>>2]|0; + $569 = HEAP32[(19820)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -35260,13 +35223,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19472)>>2]|0; + $578 = HEAP32[(19776)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19480)>>2]|0; + $582 = HEAP32[(19784)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -35312,7 +35275,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19520)>>2]|0; + $601 = HEAP32[(19824)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -35337,9 +35300,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19484)>>2]|0; + $611 = HEAP32[(19788)>>2]|0; $612 = $611 | 4; - HEAP32[(19484)>>2] = $612; + HEAP32[(19788)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -35375,35 +35338,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19472)>>2]|0; + $626 = HEAP32[(19776)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19472)>>2] = $627; - $628 = HEAP32[(19476)>>2]|0; + HEAP32[(19776)>>2] = $627; + $628 = HEAP32[(19780)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19476)>>2] = $627; + HEAP32[(19780)>>2] = $627; } - $630 = HEAP32[(19064)>>2]|0; + $630 = HEAP32[(19368)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19056)>>2]|0; + $632 = HEAP32[(19360)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19056)>>2] = $$749$i; + HEAP32[(19360)>>2] = $$749$i; } - HEAP32[(19488)>>2] = $$749$i; - HEAP32[(19492)>>2] = $$723948$i; - HEAP32[(19500)>>2] = 0; - $635 = HEAP32[4878]|0; - HEAP32[(19076)>>2] = $635; - HEAP32[(19072)>>2] = -1; + HEAP32[(19792)>>2] = $$749$i; + HEAP32[(19796)>>2] = $$723948$i; + HEAP32[(19804)>>2] = 0; + $635 = HEAP32[4954]|0; + HEAP32[(19380)>>2] = $635; + HEAP32[(19376)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19080 + ($636<<2)|0); + $637 = (19384 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -35426,18 +35389,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19064)>>2] = $649; - HEAP32[(19052)>>2] = $650; + HEAP32[(19368)>>2] = $649; + HEAP32[(19356)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19528)>>2]|0; - HEAP32[(19068)>>2] = $655; + $655 = HEAP32[(19832)>>2]|0; + HEAP32[(19372)>>2] = $655; } else { - $$024371$i = (19488); + $$024371$i = (19792); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -35469,7 +35432,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19052)>>2]|0; + $671 = HEAP32[(19356)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -35480,30 +35443,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19064)>>2] = $679; - HEAP32[(19052)>>2] = $681; + HEAP32[(19368)>>2] = $679; + HEAP32[(19356)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19528)>>2]|0; - HEAP32[(19068)>>2] = $686; + $686 = HEAP32[(19832)>>2]|0; + HEAP32[(19372)>>2] = $686; break; } } } - $687 = HEAP32[(19056)>>2]|0; + $687 = HEAP32[(19360)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19056)>>2] = $$749$i; + HEAP32[(19360)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19488); + $$124470$i = (19792); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -35558,21 +35521,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19052)>>2]|0; + $726 = HEAP32[(19356)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19052)>>2] = $727; - HEAP32[(19064)>>2] = $721; + HEAP32[(19356)>>2] = $727; + HEAP32[(19368)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19060)>>2]|0; + $730 = HEAP32[(19364)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19048)>>2]|0; + $732 = HEAP32[(19352)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19048)>>2] = $733; - HEAP32[(19060)>>2] = $721; + HEAP32[(19352)>>2] = $733; + HEAP32[(19364)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -35595,7 +35558,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19080 + ($748<<2)|0); + $749 = (19384 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -35618,9 +35581,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4760]|0; + $759 = HEAP32[4836]|0; $760 = $759 & $758; - HEAP32[4760] = $760; + HEAP32[4836] = $760; break; } $761 = ($747|0)==($749|0); @@ -35733,7 +35696,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19344 + ($796<<2)|0); + $797 = (19648 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -35745,12 +35708,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19044)>>2]|0; + $802 = HEAP32[(19348)>>2]|0; $803 = $802 & $801; - HEAP32[(19044)>>2] = $803; + HEAP32[(19348)>>2] = $803; break L314; } else { - $804 = HEAP32[(19056)>>2]|0; + $804 = HEAP32[(19360)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -35771,7 +35734,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19056)>>2]|0; + $810 = HEAP32[(19360)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -35803,7 +35766,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19056)>>2]|0; + $822 = HEAP32[(19360)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -35836,21 +35799,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19080 + ($836<<2)|0); - $838 = HEAP32[4760]|0; + $837 = (19384 + ($836<<2)|0); + $838 = HEAP32[4836]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4760] = $842; + HEAP32[4836] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19056)>>2]|0; + $845 = HEAP32[(19360)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -35905,20 +35868,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19344 + ($$0296$i$i<<2)|0); + $875 = (19648 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19044)>>2]|0; + $879 = HEAP32[(19348)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19044)>>2] = $883; + HEAP32[(19348)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -35957,7 +35920,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19056)>>2]|0; + $902 = HEAP32[(19360)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -35976,7 +35939,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19056)>>2]|0; + $909 = HEAP32[(19360)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -36003,7 +35966,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19488); + $$0$i$i$i = (19792); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -36044,23 +36007,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19064)>>2] = $946; - HEAP32[(19052)>>2] = $947; + HEAP32[(19368)>>2] = $946; + HEAP32[(19356)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19528)>>2]|0; - HEAP32[(19068)>>2] = $952; + $952 = HEAP32[(19832)>>2]|0; + HEAP32[(19372)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19488)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19488)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19488)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19488)+12>>2]|0; - HEAP32[(19488)>>2] = $$749$i; - HEAP32[(19492)>>2] = $$723948$i; - HEAP32[(19500)>>2] = 0; - HEAP32[(19496)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19792)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19792)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19792)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19792)+12>>2]|0; + HEAP32[(19792)>>2] = $$749$i; + HEAP32[(19796)>>2] = $$723948$i; + HEAP32[(19804)>>2] = 0; + HEAP32[(19800)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -36089,20 +36052,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19080 + ($968<<2)|0); - $970 = HEAP32[4760]|0; + $969 = (19384 + ($968<<2)|0); + $970 = HEAP32[4836]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4760] = $974; + HEAP32[4836] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19056)>>2]|0; + $977 = HEAP32[(19360)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -36154,19 +36117,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19344 + ($$0212$i$i<<2)|0); + $1007 = (19648 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19044)>>2]|0; + $1010 = HEAP32[(19348)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19044)>>2] = $1014; + HEAP32[(19348)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -36205,7 +36168,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19056)>>2]|0; + $1033 = HEAP32[(19360)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -36224,7 +36187,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19056)>>2]|0; + $1040 = HEAP32[(19360)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -36247,14 +36210,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19052)>>2]|0; + $1048 = HEAP32[(19356)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19052)>>2] = $1050; - $1051 = HEAP32[(19064)>>2]|0; + HEAP32[(19356)>>2] = $1050; + $1051 = HEAP32[(19368)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19064)>>2] = $1052; + HEAP32[(19368)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -36297,7 +36260,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19056)>>2]|0; + $3 = HEAP32[(19360)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -36330,7 +36293,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19060)>>2]|0; + $19 = HEAP32[(19364)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -36345,7 +36308,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19048)>>2] = $17; + HEAP32[(19352)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -36359,7 +36322,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19080 + ($27<<2)|0); + $28 = (19384 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -36379,9 +36342,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4760]|0; + $37 = HEAP32[4836]|0; $38 = $37 & $36; - HEAP32[4760] = $38; + HEAP32[4836] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -36495,7 +36458,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19344 + ($74<<2)|0); + $75 = (19648 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -36505,14 +36468,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19044)>>2]|0; + $80 = HEAP32[(19348)>>2]|0; $81 = $80 & $79; - HEAP32[(19044)>>2] = $81; + HEAP32[(19348)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19056)>>2]|0; + $82 = HEAP32[(19360)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -36534,7 +36497,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19056)>>2]|0; + $88 = HEAP32[(19360)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -36566,7 +36529,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19056)>>2]|0; + $100 = HEAP32[(19360)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -36601,14 +36564,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19064)>>2]|0; + $120 = HEAP32[(19368)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19060)>>2]|0; + $122 = HEAP32[(19364)>>2]|0; if ($121) { - $123 = HEAP32[(19052)>>2]|0; + $123 = HEAP32[(19356)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19052)>>2] = $124; - HEAP32[(19064)>>2] = $$1; + HEAP32[(19356)>>2] = $124; + HEAP32[(19368)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36616,16 +36579,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19060)>>2] = 0; - HEAP32[(19048)>>2] = 0; + HEAP32[(19364)>>2] = 0; + HEAP32[(19352)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19048)>>2]|0; + $129 = HEAP32[(19352)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19048)>>2] = $130; - HEAP32[(19060)>>2] = $113; + HEAP32[(19352)>>2] = $130; + HEAP32[(19364)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -36644,10 +36607,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19080 + ($142<<2)|0); + $143 = (19384 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19056)>>2]|0; + $145 = HEAP32[(19360)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -36665,9 +36628,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4760]|0; + $153 = HEAP32[4836]|0; $154 = $153 & $152; - HEAP32[4760] = $154; + HEAP32[4836] = $154; break; } $155 = ($141|0)==($143|0); @@ -36675,7 +36638,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19056)>>2]|0; + $156 = HEAP32[(19360)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -36735,7 +36698,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19056)>>2]|0; + $189 = HEAP32[(19360)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -36748,7 +36711,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19056)>>2]|0; + $169 = HEAP32[(19360)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -36779,7 +36742,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19344 + ($193<<2)|0); + $194 = (19648 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -36789,13 +36752,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19044)>>2]|0; + $199 = HEAP32[(19348)>>2]|0; $200 = $199 & $198; - HEAP32[(19044)>>2] = $200; + HEAP32[(19348)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19056)>>2]|0; + $201 = HEAP32[(19360)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -36816,7 +36779,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19056)>>2]|0; + $207 = HEAP32[(19360)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -36846,7 +36809,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19056)>>2]|0; + $219 = HEAP32[(19360)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -36867,10 +36830,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19060)>>2]|0; + $226 = HEAP32[(19364)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19048)>>2] = $135; + HEAP32[(19352)>>2] = $135; return; } else { $$2 = $135; @@ -36889,20 +36852,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19080 + ($234<<2)|0); - $236 = HEAP32[4760]|0; + $235 = (19384 + ($234<<2)|0); + $236 = HEAP32[4836]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4760] = $240; + HEAP32[4836] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19056)>>2]|0; + $243 = HEAP32[(19360)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -36954,21 +36917,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19344 + ($$0396<<2)|0); + $273 = (19648 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19044)>>2]|0; + $277 = HEAP32[(19348)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19044)>>2] = $281; + HEAP32[(19348)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -37006,7 +36969,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19056)>>2]|0; + $300 = HEAP32[(19360)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -37025,7 +36988,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19056)>>2]|0; + $307 = HEAP32[(19360)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -37047,12 +37010,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19072)>>2]|0; + $314 = HEAP32[(19376)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19072)>>2] = $315; + HEAP32[(19376)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19496); + $$0212$in$i = (19800); } else { return; } @@ -37066,7 +37029,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19072)>>2] = -1; + HEAP32[(19376)>>2] = -1; return; } function _realloc($0,$1) { @@ -37138,7 +37101,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19056)>>2]|0; + $6 = HEAP32[(19360)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -37168,7 +37131,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19520)>>2]|0; + $18 = HEAP32[(19824)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -37204,10 +37167,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19064)>>2]|0; + $34 = HEAP32[(19368)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19052)>>2]|0; + $36 = HEAP32[(19356)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -37223,15 +37186,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19064)>>2] = $40; - HEAP32[(19052)>>2] = $39; + HEAP32[(19368)>>2] = $40; + HEAP32[(19356)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19060)>>2]|0; + $46 = HEAP32[(19364)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19048)>>2]|0; + $48 = HEAP32[(19352)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -37267,8 +37230,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19048)>>2] = $storemerge1; - HEAP32[(19060)>>2] = $storemerge; + HEAP32[(19352)>>2] = $storemerge1; + HEAP32[(19364)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -37295,7 +37258,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19080 + ($81<<2)|0); + $82 = (19384 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -37315,9 +37278,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4760]|0; + $91 = HEAP32[4836]|0; $92 = $91 & $90; - HEAP32[4760] = $92; + HEAP32[4836] = $92; break; } $93 = ($80|0)==($82|0); @@ -37426,7 +37389,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19344 + ($128<<2)|0); + $129 = (19648 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -37436,13 +37399,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19044)>>2]|0; + $134 = HEAP32[(19348)>>2]|0; $135 = $134 & $133; - HEAP32[(19044)>>2] = $135; + HEAP32[(19348)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19056)>>2]|0; + $136 = HEAP32[(19360)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -37463,7 +37426,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19056)>>2]|0; + $142 = HEAP32[(19360)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -37493,7 +37456,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19056)>>2]|0; + $154 = HEAP32[(19360)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -37578,13 +37541,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19056)>>2]|0; + $13 = HEAP32[(19360)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19060)>>2]|0; + $15 = HEAP32[(19364)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -37599,7 +37562,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19048)>>2] = $12; + HEAP32[(19352)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -37613,7 +37576,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19080 + ($23<<2)|0); + $24 = (19384 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -37633,9 +37596,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4760]|0; + $33 = HEAP32[4836]|0; $34 = $33 & $32; - HEAP32[4760] = $34; + HEAP32[4836] = $34; $$1 = $11;$$1418 = $12; break; } @@ -37749,7 +37712,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19344 + ($70<<2)|0); + $71 = (19648 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -37759,14 +37722,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19044)>>2]|0; + $76 = HEAP32[(19348)>>2]|0; $77 = $76 & $75; - HEAP32[(19044)>>2] = $77; + HEAP32[(19348)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19056)>>2]|0; + $78 = HEAP32[(19360)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -37788,7 +37751,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19056)>>2]|0; + $84 = HEAP32[(19360)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -37820,7 +37783,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19056)>>2]|0; + $96 = HEAP32[(19360)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -37839,7 +37802,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19056)>>2]|0; + $108 = HEAP32[(19360)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -37850,14 +37813,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19064)>>2]|0; + $114 = HEAP32[(19368)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19060)>>2]|0; + $116 = HEAP32[(19364)>>2]|0; if ($115) { - $117 = HEAP32[(19052)>>2]|0; + $117 = HEAP32[(19356)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19052)>>2] = $118; - HEAP32[(19064)>>2] = $$1; + HEAP32[(19356)>>2] = $118; + HEAP32[(19368)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -37865,16 +37828,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19060)>>2] = 0; - HEAP32[(19048)>>2] = 0; + HEAP32[(19364)>>2] = 0; + HEAP32[(19352)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19048)>>2]|0; + $123 = HEAP32[(19352)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19048)>>2] = $124; - HEAP32[(19060)>>2] = $$1; + HEAP32[(19352)>>2] = $124; + HEAP32[(19364)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -37893,7 +37856,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19080 + ($136<<2)|0); + $137 = (19384 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -37913,9 +37876,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4760]|0; + $146 = HEAP32[4836]|0; $147 = $146 & $145; - HEAP32[4760] = $147; + HEAP32[4836] = $147; break; } $148 = ($135|0)==($137|0); @@ -38024,7 +37987,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19344 + ($183<<2)|0); + $184 = (19648 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -38034,13 +37997,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19044)>>2]|0; + $189 = HEAP32[(19348)>>2]|0; $190 = $189 & $188; - HEAP32[(19044)>>2] = $190; + HEAP32[(19348)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19056)>>2]|0; + $191 = HEAP32[(19360)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -38061,7 +38024,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19056)>>2]|0; + $197 = HEAP32[(19360)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -38091,7 +38054,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19056)>>2]|0; + $209 = HEAP32[(19360)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -38112,10 +38075,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19060)>>2]|0; + $216 = HEAP32[(19364)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19048)>>2] = $129; + HEAP32[(19352)>>2] = $129; return; } else { $$2 = $129; @@ -38134,20 +38097,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19080 + ($224<<2)|0); - $226 = HEAP32[4760]|0; + $225 = (19384 + ($224<<2)|0); + $226 = HEAP32[4836]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4760] = $230; + HEAP32[4836] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19056)>>2]|0; + $233 = HEAP32[(19360)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -38199,20 +38162,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19344 + ($$0431<<2)|0); + $263 = (19648 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19044)>>2]|0; + $267 = HEAP32[(19348)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19044)>>2] = $271; + HEAP32[(19348)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -38251,7 +38214,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19056)>>2]|0; + $290 = HEAP32[(19360)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -38269,7 +38232,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19056)>>2]|0; + $297 = HEAP32[(19360)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/models/models_billboard.png b/docs/examples/web/models/models_billboard.png similarity index 100% rename from docs/examples/img/models/models_billboard.png rename to docs/examples/web/models/models_billboard.png diff --git a/docs/examples/web/models/models_box_collisions.js b/docs/examples/web/models/models_box_collisions.js index 6986cec2d..d3f151376 100644 --- a/docs/examples/web/models/models_box_collisions.js +++ b/docs/examples/web/models/models_box_collisions.js @@ -7406,30 +7406,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7564,13 +7614,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8693,45 +8736,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/models/models_box_collisions.png b/docs/examples/web/models/models_box_collisions.png similarity index 100% rename from docs/examples/img/models/models_box_collisions.png rename to docs/examples/web/models/models_box_collisions.png diff --git a/docs/examples/web/models/models_cubicmap.js b/docs/examples/web/models/models_cubicmap.js index c0d9d2097..5e93d6afc 100644 --- a/docs/examples/web/models/models_cubicmap.js +++ b/docs/examples/web/models/models_cubicmap.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 201, "filename": "/resources/cubicmap.png"}, {"audio": 0, "start": 201, "crunched": 0, "end": 37426, "filename": "/resources/cubicmap_atlas.png"}], "remote_package_size": 37426, "package_uuid": "4f94625e-fddb-4843-968b-9477a887e12e"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 201, "filename": "/resources/cubicmap.png"}, {"audio": 0, "start": 201, "crunched": 0, "end": 37426, "filename": "/resources/cubicmap_atlas.png"}], "remote_package_size": 37426, "package_uuid": "68436111-ec50-4203-a7c7-1199499cedf4"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 23008; +STATICTOP = STATIC_BASE + 22992; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,128,65,0,0,96,65,0,0,128,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,128,193,0,0,0,0,0,0,0,193,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,63,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,215,85,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,99,117,98,101,115,109,97,112,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,98,105,99,109,97,112,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,98,105,99,109,97,112,95,97,116,108,97,115,46,112,110,103,0,99,117,98,105,99,109,97,112,32,105,109,97,103,101,32,117,115,101,100,32,116,111,0,103,101,110,101,114,97,116,101,32,109,97,112,32,51,100,32,109,111,100,101,108,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,128,65,0,0,96,65,0,0,128,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,128,193,0,0,0,0,0,0,0,193,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,63,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,207,85,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,99,117,98,101,115,109,97,112,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,98,105,99,109,97,112,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,98,105,99,109,97,112,95,97,116,108,97,115,46,112,110,103,0,99,117,98,105,99,109,97,112,32,105,109,97,103,101,32,117,115,101,100,32,116,111,0,103,101,110,101,114,97,116,101,32,109,97,112,32,51,100,32,109,111,100,101,108,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10512,22 +10512,22 @@ function _main() { _LoadImage($0,4343); ;HEAP32[$map$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$map$byval_copy); - ;HEAP32[17120>>2]=HEAP32[$1>>2]|0;HEAP32[17120+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17120+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17120+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17120+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17432>>2]=HEAP32[$1>>2]|0;HEAP32[17432+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17432+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17432+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17432+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$map$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _LoadCubicmap($2,$map$byval_copy); - _memcpy((17140|0),($2|0),264)|0; + _memcpy((17452|0),($2|0),264)|0; _LoadTexture($3,4366); - ;HEAP32[(17328)>>2]=HEAP32[$3>>2]|0;HEAP32[(17328)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(17328)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(17328)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(17328)+16>>2]=HEAP32[$3+16>>2]|0; + ;HEAP32[(17640)>>2]=HEAP32[$3>>2]|0;HEAP32[(17640)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(17640)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(17640)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(17640)+16>>2]=HEAP32[$3+16>>2]|0; ;HEAP32[$map$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($map$byval_copy); dest=$map$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetCameraMode($map$byval_copy,2); _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$map$byval_copy>>2]=HEAP32[17120>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[17120+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[17120+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[17120+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[17120+16>>2]|0; + ;HEAP32[$map$byval_copy>>2]=HEAP32[17432>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[17432+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[17432+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[17432+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[17432+16>>2]|0; _UnloadTexture($map$byval_copy); ;HEAP32[$map$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$3+16>>2]|0; _UnloadTexture($map$byval_copy); - _memcpy(($map$byval_copy|0),(17140|0),264)|0; + _memcpy(($map$byval_copy|0),(17452|0),264)|0; _UnloadModel($map$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10562,13 +10562,13 @@ function _UpdateDrawFrame() { dest=$$byval_copy4; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _Begin3dMode($$byval_copy4); HEAP32[$1>>2] = -1; - _memcpy(($cubicmap$byval_copy|0),(17140|0),264)|0; + _memcpy(($cubicmap$byval_copy|0),(17452|0),264)|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[56>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[56+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[56+8>>2]|0; ;HEAP8[$$byval_copy4>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$1+3>>0]|0; _DrawModel($cubicmap$byval_copy,$$byval_copy1,1.0,$$byval_copy4); _End3dMode(); $10 = HEAP32[2]|0; - $11 = HEAP32[(17124)>>2]|0; + $11 = HEAP32[(17436)>>2]|0; $12 = $11 << 2; $13 = (($10) + -20)|0; $14 = (($13) - ($12))|0; @@ -10577,16 +10577,16 @@ function _UpdateDrawFrame() { $16 = ((($2)) + 4|0); HEAPF32[$16>>2] = 20.0; HEAP32[$3>>2] = -1; - ;HEAP32[$cubicmap$byval_copy>>2]=HEAP32[17120>>2]|0;HEAP32[$cubicmap$byval_copy+4>>2]=HEAP32[17120+4>>2]|0;HEAP32[$cubicmap$byval_copy+8>>2]=HEAP32[17120+8>>2]|0;HEAP32[$cubicmap$byval_copy+12>>2]=HEAP32[17120+12>>2]|0;HEAP32[$cubicmap$byval_copy+16>>2]=HEAP32[17120+16>>2]|0; + ;HEAP32[$cubicmap$byval_copy>>2]=HEAP32[17432>>2]|0;HEAP32[$cubicmap$byval_copy+4>>2]=HEAP32[17432+4>>2]|0;HEAP32[$cubicmap$byval_copy+8>>2]=HEAP32[17432+8>>2]|0;HEAP32[$cubicmap$byval_copy+12>>2]=HEAP32[17432+12>>2]|0;HEAP32[$cubicmap$byval_copy+16>>2]=HEAP32[17432+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0; ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; _DrawTextureEx($cubicmap$byval_copy,$$byval_copy1,0.0,4.0,$$byval_copy4); $17 = HEAP32[2]|0; - $18 = HEAP32[(17124)>>2]|0; + $18 = HEAP32[(17436)>>2]|0; $19 = $18 << 2; $20 = (($17) + -20)|0; $21 = (($20) - ($19))|0; - $22 = HEAP32[(17128)>>2]|0; + $22 = HEAP32[(17440)>>2]|0; $23 = $22 << 2; HEAP8[$4>>0] = 0; $24 = ((($4)) + 1|0); @@ -10619,30 +10619,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -10777,13 +10827,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11772,7 +11815,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4352] = $2; + HEAP32[4430] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11785,7 +11828,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16840; + $95 = 17152; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11798,48 +11841,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16880; + $106 = 17192; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4220]; - $111 = +HEAPF32[4210]; + $110 = +HEAPF32[4298]; + $111 = +HEAPF32[4288]; $112 = $110 - $111; - HEAPF32[4222] = $112; - $113 = +HEAPF32[(16884)>>2]; - $114 = +HEAPF32[(16844)>>2]; + HEAPF32[4300] = $112; + $113 = +HEAPF32[(17196)>>2]; + $114 = +HEAPF32[(17156)>>2]; $115 = $113 - $114; - HEAPF32[(16892)>>2] = $115; - HEAP32[4351] = 4; + HEAPF32[(17204)>>2] = $115; + HEAP32[4429] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16896+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17208+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4357] = $116; - $117 = 16872; + HEAPF32[4435] = $116; + $117 = 17184; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16840; + $123 = 17152; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16896; + $127 = 17208; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16880; + $133 = 17192; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11852,7 +11895,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16872; + $144 = 17184; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11865,27 +11908,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16896; + $155 = 17208; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4224]; - $160 = +HEAPF32[4218]; + $159 = +HEAPF32[4302]; + $160 = +HEAPF32[4296]; $161 = $159 - $160; - HEAPF32[4222] = $161; - $162 = +HEAPF32[(16900)>>2]; - $163 = +HEAPF32[(16876)>>2]; + HEAPF32[4300] = $161; + $162 = +HEAPF32[(17212)>>2]; + $163 = +HEAPF32[(17188)>>2]; $164 = $162 - $163; - HEAPF32[(16892)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16872+4>>2]|0; + HEAPF32[(17204)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17184+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16880+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16896+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17192>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17192+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17208+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11897,31 +11940,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16896+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17208+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4357]; + $170 = +HEAPF32[4435]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4351] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16896+4>>2]|0; + HEAP32[4429] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17208+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4358] = $174; + HEAPF32[4436] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4357] = 0.0; - HEAPF32[4358] = 0.0; - HEAPF32[4222] = 0.0; - HEAPF32[(16892)>>2] = 0.0; - HEAP32[4352] = 0; - HEAP32[4351] = 0; + HEAPF32[4435] = 0.0; + HEAPF32[4436] = 0.0; + HEAPF32[4300] = 0.0; + HEAPF32[(17204)>>2] = 0.0; + HEAP32[4430] = 0; + HEAP32[4429] = 0; STACKTOP = sp;return; break; } @@ -11931,22 +11974,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4353]|0; + $6 = HEAP32[4431]|0; $7 = (($6) + 1)|0; - HEAP32[4353] = $7; - $8 = HEAP32[4351]|0; + HEAP32[4431] = $7; + $8 = HEAP32[4429]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16840+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17152+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4351] = 2; - HEAP32[4353] = 0; + HEAP32[4429] = 2; + HEAP32[4431] = 0; } else { label = 6; } @@ -11954,8 +11997,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4353] = 1; - HEAP32[4351] = 1; + HEAP32[4431] = 1; + HEAP32[4429] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11964,19 +12007,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16840; + $21 = 17152; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16848; + $25 = 17160; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16856; + $29 = 17168; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11985,13 +12028,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[17] = $34; - HEAPF32[4216] = 0.0; - HEAPF32[(16868)>>2] = 0.0; + HEAPF32[4294] = 0.0; + HEAPF32[(17180)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4351]|0; + $35 = HEAP32[4429]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12001,19 +12044,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16856; + $44 = 17168; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16856+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17168+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4354] = $49; - HEAP32[4355] = 0; + HEAPF32[4432] = $49; + HEAP32[4433] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[17]|0; @@ -12021,11 +12064,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16856+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17168+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4356] = $56; + HEAPF32[4434] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12056,22 +12099,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4354] = 0.0; - HEAPF32[4356] = 0.0; + HEAPF32[4432] = 0.0; + HEAPF32[4434] = 0.0; $$sink10 = 0; } - HEAP32[4351] = $$sink10; - HEAPF32[4212] = 0.0; - HEAPF32[(16852)>>2] = 0.0; - HEAP32[4352] = 0; + HEAP32[4429] = $$sink10; + HEAPF32[4290] = 0.0; + HEAPF32[(17164)>>2] = 0.0; + HEAP32[4430] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4355]|0; + $65 = HEAP32[4433]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4355] = 1; + HEAP32[4433] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12080,31 +12123,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16872; + $74 = 17184; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4351]|0; + $78 = HEAP32[4429]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16872+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17184+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4351] = 8; + HEAP32[4429] = 8; } } - $82 = +HEAPF32[4218]; - $83 = +HEAPF32[4212]; + $82 = +HEAPF32[4296]; + $83 = +HEAPF32[4290]; $84 = $82 - $83; - HEAPF32[4216] = $84; - $85 = +HEAPF32[(16876)>>2]; - $86 = +HEAPF32[(16852)>>2]; + HEAPF32[4294] = $84; + $85 = +HEAPF32[(17188)>>2]; + $86 = +HEAPF32[(17164)>>2]; $87 = $85 - $86; - HEAPF32[(16868)>>2] = $87; + HEAPF32[(17180)>>2] = $87; STACKTOP = sp;return; break; } @@ -12113,58 +12156,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4351]|0; + $0 = HEAP32[4429]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4352]|0; + $2 = HEAP32[4430]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4351] = 4; + HEAP32[4429] = 4; } - $4 = HEAP32[4351]|0; + $4 = HEAP32[4429]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12177,7 +12181,7 @@ function _UpdateGestures() { return; } } - HEAP32[4351] = 0; + HEAP32[4429] = 0; return; } function _SetCameraMode($0,$1) { @@ -12206,22 +12210,22 @@ function _SetCameraMode($0,$1) { $8 = $4 * $4; $9 = $7 + $8; $10 = (+Math_sqrt((+$9))); - HEAPF32[4359] = $10; + HEAPF32[4437] = $10; $11 = $5 + $8; $12 = (+Math_sqrt((+$11))); $13 = (+Math_sqrt((+$7))); $14 = (+Math_abs((+$2))); $15 = $14 / $12; $16 = (+Math_asin((+$15))); - HEAPF32[4360] = $16; + HEAPF32[4438] = $16; $17 = (+Math_abs((+$3))); $18 = $17 / $13; $19 = (+Math_asin((+$18))); $20 = -$19; - HEAPF32[4361] = $20; + HEAPF32[4439] = $20; $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; HEAP32[18] = $21; - HEAP32[4362] = $1; + HEAP32[4440] = $1; return; } function _UpdateCamera($0) { @@ -12290,7 +12294,7 @@ function _UpdateCamera($0) { $30 = HEAP32[27]|0; $31 = (_IsKeyDown($30)|0); HEAP32[$29>>2] = $31; - $32 = HEAP32[4362]|0; + $32 = HEAP32[4440]|0; $33 = ($32|0)==(0); L1: do { if ($33) { @@ -12362,9 +12366,9 @@ function _UpdateCamera($0) { $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; break; } else { - $64 = +HEAPF32[4226]; + $64 = +HEAPF32[4304]; $65 = $37 - $64; - $66 = +HEAPF32[(16908)>>2]; + $66 = +HEAPF32[(17220)>>2]; $67 = $42 - $66; $$sroa$095$0 = $65;$$sroa$9$0 = $67; break; @@ -12372,11 +12376,11 @@ function _UpdateCamera($0) { } else { _ShowCursor(); $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[4226]; + $69 = +HEAPF32[4304]; $70 = $68 - $69; $71 = ((($1)) + 4|0); $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(16908)>>2]; + $73 = +HEAPF32[(17220)>>2]; $74 = $72 - $73; $$sroa$095$0 = $70;$$sroa$9$0 = $74; } @@ -12388,16 +12392,16 @@ function _UpdateCamera($0) { $78 = (($75) + 4)|0; $79 = $78; $80 = HEAP32[$79>>2]|0; - $81 = 16904; + $81 = 17216; $82 = $81; HEAP32[$82>>2] = $77; $83 = (($81) + 4)|0; $84 = $83; HEAP32[$84>>2] = $80; - $$pr = HEAP32[4362]|0; + $$pr = HEAP32[4440]|0; switch ($$pr|0) { case 1: { - $85 = +HEAPF32[4359]; + $85 = +HEAPF32[4437]; $86 = $85 < 120.0; $87 = ($8|0)<(0); $or$cond3 = $87 & $86; @@ -12406,10 +12410,10 @@ function _UpdateCamera($0) { $88 = (+($8|0)); $89 = $88 * 1.5; $90 = $85 - $89; - HEAPF32[4359] = $90; + HEAPF32[4437] = $90; $91 = $90 > 120.0; if ($91) { - HEAPF32[4359] = 120.0; + HEAPF32[4437] = 120.0; } } else { $92 = ((($0)) + 4|0); @@ -12488,12 +12492,12 @@ function _UpdateCamera($0) { $146 = (+($8|0)); $147 = $146 * 1.5; $148 = $85 - $147; - HEAPF32[4359] = $148; + HEAPF32[4437] = $148; $149 = $148 < 0.30000001192092896; if (!($149)) { break; } - HEAPF32[4359] = 0.30000001192092896; + HEAPF32[4437] = 0.30000001192092896; break; } } @@ -12515,7 +12519,7 @@ function _UpdateCamera($0) { $161 = $151 - $152; $162 = $153 * $161; $163 = $162 * 1.5; - $164 = +HEAPF32[4359]; + $164 = +HEAPF32[4437]; $165 = $163 / $164; $166 = $151 + $165; HEAPF32[$95>>2] = $166; @@ -12547,7 +12551,7 @@ function _UpdateCamera($0) { $185 = $151 - $152; $186 = $177 * $185; $187 = $186 * 1.5; - $188 = +HEAPF32[4359]; + $188 = +HEAPF32[4437]; $189 = $187 / $188; $190 = $151 + $189; HEAPF32[$95>>2] = $190; @@ -12571,12 +12575,12 @@ function _UpdateCamera($0) { if ($or$cond15) { $203 = (+($8|0)); $204 = $203 * 1.5; - $205 = +HEAPF32[4359]; + $205 = +HEAPF32[4437]; $206 = $205 - $204; - HEAPF32[4359] = $206; + HEAPF32[4437] = $206; $207 = $206 < 0.30000001192092896; if ($207) { - HEAPF32[4359] = 0.30000001192092896; + HEAPF32[4437] = 0.30000001192092896; } } } @@ -12590,17 +12594,17 @@ function _UpdateCamera($0) { $209 = ($12|0)==(0); if ($209) { $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[4360]; + $223 = +HEAPF32[4438]; $224 = (+Math_cos((+$223))); $225 = $222 * $224; $226 = $$sroa$9$0 * 0.0099999997764825821; $227 = (+Math_sin((+$223))); $228 = $226 * $227; - $229 = +HEAPF32[4361]; + $229 = +HEAPF32[4439]; $230 = (+Math_sin((+$229))); $231 = $228 * $230; $232 = $225 + $231; - $233 = +HEAPF32[4359]; + $233 = +HEAPF32[4437]; $234 = $233 / 5.0999999046325684; $235 = $232 * $234; $236 = ((($0)) + 12|0); @@ -12630,23 +12634,23 @@ function _UpdateCamera($0) { $210 = ($14|0)==(0); if (!($210)) { $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[4359]; + $212 = +HEAPF32[4437]; $213 = $211 + $212; - HEAPF32[4359] = $213; + HEAPF32[4437] = $213; label = 58; break L1; } $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[4360]; + $215 = +HEAPF32[4438]; $216 = $215 - $214; - HEAPF32[4360] = $216; + HEAPF32[4438] = $216; $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[4361]; + $218 = +HEAPF32[4439]; $219 = $218 - $217; - HEAPF32[4361] = $219; + HEAPF32[4439] = $219; $220 = $219 > 1.483529806137085; if ($220) { - HEAPF32[4361] = 1.483529806137085; + HEAPF32[4439] = 1.483529806137085; label = 58; break L1; } @@ -12655,32 +12659,32 @@ function _UpdateCamera($0) { label = 58; break L1; } - HEAPF32[4361] = -1.483529806137085; + HEAPF32[4439] = -1.483529806137085; label = 58; break L1; break; } case 2: { - $254 = +HEAPF32[4360]; + $254 = +HEAPF32[4438]; $255 = $254 + 0.0099999997764825821; - HEAPF32[4360] = $255; + HEAPF32[4438] = $255; $256 = (+($8|0)); $257 = $256 * 1.5; - $258 = +HEAPF32[4359]; + $258 = +HEAPF32[4437]; $259 = $258 - $257; - HEAPF32[4359] = $259; + HEAPF32[4437] = $259; $260 = $259 < 1.2000000476837158; if (!($260)) { label = 58; break L1; } - HEAPF32[4359] = 1.2000000476837158; + HEAPF32[4437] = 1.2000000476837158; label = 58; break L1; break; } case 4: case 3: { - $264 = +HEAPF32[4360]; + $264 = +HEAPF32[4438]; $265 = (+Math_sin((+$264))); $266 = HEAP32[$17>>2]|0; $267 = (+($266>>>0)); @@ -12702,7 +12706,7 @@ function _UpdateCamera($0) { $283 = +HEAPF32[$0>>2]; $284 = $283 + $282; HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[4361]; + $285 = +HEAPF32[4439]; $286 = (+Math_sin((+$285))); $287 = $270 * $286; $288 = $267 * $286; @@ -12770,14 +12774,14 @@ function _UpdateCamera($0) { $$0 = 1; } $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[4360]; + $314 = +HEAPF32[4438]; $315 = $314 - $313; - HEAPF32[4360] = $315; + HEAPF32[4438] = $315; $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[4361]; + $317 = +HEAPF32[4439]; $318 = $317 - $316; - HEAPF32[4361] = $318; - $319 = HEAP32[4362]|0; + HEAPF32[4439] = $318; + $319 = HEAP32[4440]|0; $320 = ($319|0)==(4); if ($320) { $321 = $318 > 0.087266460061073303; @@ -12792,17 +12796,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 49) { - HEAPF32[4361] = $$sink26; + HEAPF32[4439] = $$sink26; } $323 = (+($8|0)); $324 = $323 * 1.5; - $325 = +HEAPF32[4359]; + $325 = +HEAPF32[4437]; $326 = $325 - $324; $327 = $326 < 1.2000000476837158; $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[4359] = $storemerge; + HEAPF32[4437] = $storemerge; $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[4360]; + $329 = +HEAPF32[4438]; $330 = (+Math_cos((+$329))); $331 = $330 * 0.40000000596046448; $332 = $328 + $331; @@ -12833,17 +12837,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 53) { - HEAPF32[4361] = $$sink28; + HEAPF32[4439] = $$sink28; } $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[4360]; + $347 = +HEAPF32[4438]; $348 = (+Math_sin((+$347))); $349 = $348 * 25.0; $350 = $346 - $349; $351 = ((($0)) + 12|0); HEAPF32[$351>>2] = $350; $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[4361]; + $353 = +HEAPF32[4439]; $354 = (+Math_sin((+$353))); $355 = $354 * 25.0; $356 = $352 + $355; @@ -12857,12 +12861,12 @@ function _UpdateCamera($0) { HEAPF32[$362>>2] = $361; $363 = ($$0|0)==(0); if (!($363)) { - $364 = HEAP32[4363]|0; + $364 = HEAP32[4441]|0; $365 = (($364) + 1)|0; - HEAP32[4363] = $365; + HEAP32[4441] = $365; } $366 = +HEAPF32[18]; - $367 = HEAP32[4363]|0; + $367 = HEAP32[4441]|0; $368 = (+($367|0)); $369 = $368 / 5.0; $370 = (+Math_sin((+$369))); @@ -12892,7 +12896,7 @@ function _UpdateCamera($0) { } } while(0); if ((label|0) == 58) { - $$pr190 = HEAP32[4362]|0; + $$pr190 = HEAP32[4440]|0; $380 = $$pr190; } switch ($380|0) { @@ -12903,11 +12907,11 @@ function _UpdateCamera($0) { STACKTOP = sp;return; } } - $381 = +HEAPF32[4360]; + $381 = +HEAPF32[4438]; $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[4359]; + $383 = +HEAPF32[4437]; $384 = $382 * $383; - $385 = +HEAPF32[4361]; + $385 = +HEAPF32[4439]; $386 = (+Math_cos((+$385))); $387 = $384 * $386; $388 = ((($0)) + 12|0); @@ -12916,7 +12920,7 @@ function _UpdateCamera($0) { HEAPF32[$0>>2] = $390; $391 = !($385 <= 0.0); $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[4359]; + $393 = +HEAPF32[4437]; $394 = ((($0)) + 16|0); $395 = +HEAPF32[$394>>2]; $396 = $392 * $393; @@ -12940,7 +12944,7 @@ function _GetMousePosition($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 = 16912; + $1 = 17224; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12957,7 +12961,7 @@ function _GetMousePosition($0) { function _GetMouseWheelMove() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4368]|0; + $0 = HEAP32[4446]|0; $1 = (($0|0) / 100)&-1; return ($1|0); } @@ -12982,19 +12986,19 @@ function _IsKeyDown($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4367]|0; + $0 = HEAP32[4445]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4366]|0; + $0 = HEAP32[4444]|0; return ($0|0); } function _HideCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4364] = 1; + HEAP32[4442] = 1; return; } function _SetMousePosition($0) { @@ -13007,13 +13011,13 @@ function _SetMousePosition($0) { $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; - $7 = 16912; + $7 = 17224; $8 = $7; HEAP32[$8>>2] = $3; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; - $11 = HEAP32[4365]|0; + $11 = HEAP32[4443]|0; $12 = +HEAPF32[$0>>2]; $13 = $12; $14 = ((($0)) + 4|0); @@ -13025,14 +13029,14 @@ function _SetMousePosition($0) { function _ShowCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4364] = 0; + HEAP32[4442] = 0; return; } function _GetKeyStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4365]|0; + $1 = HEAP32[4443]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -13040,7 +13044,7 @@ function _GetMouseButtonStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4365]|0; + $1 = HEAP32[4443]|0; $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); return ($2|0); } @@ -13053,7 +13057,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4440,$vararg_buffer); - HEAP32[4369] = $2; + HEAP32[4447] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -13066,15 +13070,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4469|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4367]|0; + $3 = HEAP32[4445]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4228] = $5; - $6 = HEAP32[4366]|0; + HEAPF32[4306] = $5; + $6 = HEAP32[4444]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16916)>>2] = $8; - $9 = HEAP32[4370]|0; + HEAPF32[(17228)>>2] = $8; + $9 = HEAP32[4448]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -13093,11 +13097,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16952>>0]=HEAP8[8969>>0]|0;HEAP8[16952+1>>0]=HEAP8[8969+1>>0]|0;HEAP8[16952+2>>0]=HEAP8[8969+2>>0]|0;HEAP8[16952+3>>0]=HEAP8[8969+3>>0]|0;HEAP8[16952+4>>0]=HEAP8[8969+4>>0]|0;HEAP8[16952+5>>0]=HEAP8[8969+5>>0]|0;HEAP8[16952+6>>0]=HEAP8[8969+6>>0]|0; + ;HEAP8[17264>>0]=HEAP8[8969>>0]|0;HEAP8[17264+1>>0]=HEAP8[8969+1>>0]|0;HEAP8[17264+2>>0]=HEAP8[8969+2>>0]|0;HEAP8[17264+3>>0]=HEAP8[8969+3>>0]|0;HEAP8[17264+4>>0]=HEAP8[8969+4>>0]|0;HEAP8[17264+5>>0]=HEAP8[8969+5>>0]|0;HEAP8[17264+6>>0]=HEAP8[8969+6>>0]|0; break; } case 1: { - $3 = 16952; + $3 = 17264; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -13106,11 +13110,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16952; src=8976; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=17264; src=8976; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16952; + $7 = 17264; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -13121,16 +13125,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16952,$1)|0); - $strlen = (_strlen(16952)|0); - $endptr = (16952 + ($strlen)|0); + (_strcat(17264,$1)|0); + $strlen = (_strlen(17264)|0); + $endptr = (17264 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16952,$2)|0); + (_vprintf(17264,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -13162,22 +13166,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4367] = $0; - HEAP32[4366] = $1; + HEAP32[4445] = $0; + HEAP32[4444] = $1; _MatrixIdentity($2); - dest=17556; 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)); + dest=17868; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5111,$vararg_buffer); } - $6 = HEAP32[4367]|0; - HEAP32[4405] = $6; - $7 = HEAP32[4366]|0; - HEAP32[4406] = $7; + $6 = HEAP32[4445]|0; + HEAP32[4483] = $6; + $7 = HEAP32[4444]|0; + HEAP32[4484] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[20296]|0; + $8 = HEAP8[20608]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -13185,13 +13189,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[20296]|0; + $11 = HEAP8[20608]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[20296]|0; + $14 = HEAP8[20608]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -13213,18 +13217,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4407]|0; + $21 = HEAP32[4485]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4367]|0; - $48 = HEAP32[4366]|0; - $49 = HEAP32[4369]|0; + $47 = HEAP32[4445]|0; + $48 = HEAP32[4444]|0; + $49 = HEAP32[4447]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4365] = $50; - $51 = HEAP32[4367]|0; - HEAP32[4408] = $51; - $52 = HEAP32[4366]|0; - HEAP32[4409] = $52; + HEAP32[4443] = $50; + $51 = HEAP32[4445]|0; + HEAP32[4486] = $51; + $52 = HEAP32[4444]|0; + HEAP32[4487] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -13233,9 +13237,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4367]|0; + $27 = HEAP32[4445]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4366]|0; + $29 = HEAP32[4444]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -13257,25 +13261,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4405] = $31; - HEAP32[4406] = $34; + HEAP32[4483] = $31; + HEAP32[4484] = $34; } } while(0); - $38 = HEAP32[4405]|0; - $39 = HEAP32[4406]|0; + $38 = HEAP32[4483]|0; + $39 = HEAP32[4484]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5162,$vararg_buffer3); - $40 = HEAP32[4405]|0; - $41 = HEAP32[4406]|0; + $40 = HEAP32[4483]|0; + $41 = HEAP32[4484]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4405]|0; - $43 = HEAP32[4406]|0; - $44 = HEAP32[4369]|0; + $42 = HEAP32[4483]|0; + $43 = HEAP32[4484]|0; + $44 = HEAP32[4447]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4365] = $46; + HEAP32[4443] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -13284,60 +13288,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5200,$vararg_buffer6); } else { _TraceLog(0,5233,$vararg_buffer8); - $55 = HEAP32[4408]|0; - $56 = HEAP32[4409]|0; + $55 = HEAP32[4486]|0; + $56 = HEAP32[4487]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5273,$vararg_buffer10); - $57 = HEAP32[4367]|0; - $58 = HEAP32[4366]|0; + $57 = HEAP32[4445]|0; + $58 = HEAP32[4444]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5294,$vararg_buffer14); - $59 = HEAP32[4410]|0; - $60 = HEAP32[4411]|0; + $59 = HEAP32[4488]|0; + $60 = HEAP32[4489]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5315,$vararg_buffer18); } - $61 = HEAP32[4365]|0; + $61 = HEAP32[4443]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4365]|0; + $62 = HEAP32[4443]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4365]|0; + $63 = HEAP32[4443]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4365]|0; + $64 = HEAP32[4443]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4365]|0; + $65 = HEAP32[4443]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4365]|0; + $66 = HEAP32[4443]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4365]|0; + $67 = HEAP32[4443]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4365]|0; + $68 = HEAP32[4443]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4365]|0; + $69 = HEAP32[4443]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[20296]|0; + $70 = HEAP8[20608]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4367]|0; - $74 = HEAP32[4366]|0; + $73 = HEAP32[4445]|0; + $74 = HEAP32[4444]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4408]|0; - $76 = HEAP32[4410]|0; + $75 = HEAP32[4486]|0; + $76 = HEAP32[4488]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4409]|0; - $80 = HEAP32[4411]|0; + $79 = HEAP32[4487]|0; + $80 = HEAP32[4489]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13356,18 +13360,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5340,$vararg_buffer22); - $73 = HEAP32[4367]|0; - $74 = HEAP32[4366]|0; + $73 = HEAP32[4445]|0; + $74 = HEAP32[4444]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4408]|0; - $76 = HEAP32[4410]|0; + $75 = HEAP32[4486]|0; + $76 = HEAP32[4488]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4409]|0; - $80 = HEAP32[4411]|0; + $79 = HEAP32[4487]|0; + $80 = HEAP32[4489]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13395,7 +13399,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(17524)>>2] = 224; + HEAP32[(17836)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -13436,27 +13440,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[17500>>2]=HEAP32[$1>>2]|0;HEAP32[17500+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17500+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17500+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17500+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17812>>2]=HEAP32[$1>>2]|0;HEAP32[17812+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17812+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17812+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17812+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(17524)>>2]|0; + $5 = HEAP32[(17836)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(17528)>>2] = $7; + HEAP32[(17840)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(17520)>>2] = $23; - $24 = HEAP32[4375]|0; + HEAP32[(17832)>>2] = $23; + $24 = HEAP32[4453]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4664,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(17504)>>2]|0; - $10 = HEAP32[(17524)>>2]|0; - $11 = HEAP32[(17528)>>2]|0; + $9 = HEAP32[(17816)>>2]|0; + $10 = HEAP32[(17836)>>2]|0; + $11 = HEAP32[(17840)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13505,8 +13509,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(17520)>>2] = $23; - $24 = HEAP32[4375]|0; + HEAP32[(17832)>>2] = $23; + $24 = HEAP32[4453]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4664,$vararg_buffer); STACKTOP = sp;return; @@ -13517,7 +13521,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2118] = $1; + HEAPF64[2157] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13676,7 +13680,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16928; + $31 = 17240; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13689,7 +13693,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16936); + $42 = (17248); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13745,7 +13749,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (17484 + ($10<<2)|0); + $11 = (17796 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13759,7 +13763,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2115] = $$; + HEAPF64[2154] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -13771,7 +13775,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4370] = 0; + HEAP32[4448] = 0; return; } function _GetTime() { @@ -14347,7 +14351,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4383]|0; + $6 = HEAP32[4461]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -14357,7 +14361,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4384]|0; + $9 = HEAP32[4462]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -14366,7 +14370,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4385]|0; + $12 = HEAP32[4463]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -14376,7 +14380,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4386]|0; + $15 = HEAP32[4464]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -14386,7 +14390,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4387]|0; + $18 = HEAP32[4465]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -14430,7 +14434,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4383]|0; + $22 = HEAP32[4461]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14438,7 +14442,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4383]|0; + $24 = HEAP32[4461]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14446,7 +14450,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4383]|0; + $26 = HEAP32[4461]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14454,7 +14458,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4383]|0; + $28 = HEAP32[4461]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14462,7 +14466,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4384]|0; + $30 = HEAP32[4462]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14470,7 +14474,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4385]|0; + $32 = HEAP32[4463]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14478,7 +14482,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4385]|0; + $34 = HEAP32[4463]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14486,7 +14490,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4386]|0; + $36 = HEAP32[4464]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14494,7 +14498,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4386]|0; + $38 = HEAP32[4464]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14502,7 +14506,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4387]|0; + $40 = HEAP32[4465]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14510,7 +14514,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4387]|0; + $42 = HEAP32[4465]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14522,7 +14526,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4388]|0; + $44 = HEAP32[4466]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14537,7 +14541,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,11358,$vararg_buffer15); + _TraceLog(2,11666,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -14868,20 +14872,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4367]|0; + $3 = HEAP32[4445]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4366]|0; + $5 = HEAP32[4444]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4408] = $3; - HEAP32[4409] = $5; - HEAP32[4410] = 0; - HEAP32[4411] = 0; + HEAP32[4486] = $3; + HEAP32[4487] = $5; + HEAP32[4488] = 0; + HEAP32[4489] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14895,9 +14899,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4367]|0; + $35 = HEAP32[4445]|0; $36 = (+($35|0)); - $37 = HEAP32[4366]|0; + $37 = HEAP32[4444]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14905,26 +14909,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4408] = $45; - HEAP32[4409] = $37; + HEAP32[4486] = $45; + HEAP32[4487] = $37; $46 = (($45) - ($35))|0; - HEAP32[4410] = $46; + HEAP32[4488] = $46; $$sink1 = 0; } else { - HEAP32[4408] = $35; + HEAP32[4486] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4409] = $42; - HEAP32[4410] = 0; + HEAP32[4487] = $42; + HEAP32[4488] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4411] = $$sink1; + HEAP32[4489] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4366]|0; + $7 = HEAP32[4444]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14934,11 +14938,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8722,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4367]|0; + $9 = HEAP32[4445]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4366]|0; + $13 = HEAP32[4444]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14946,33 +14950,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4408] = $23; - HEAP32[4409] = $1; + HEAP32[4486] = $23; + HEAP32[4487] = $1; $24 = (($0) - ($23))|0; - HEAP32[4410] = $24; + HEAP32[4488] = $24; $$sink = 0; } else { - HEAP32[4408] = $0; - $17 = HEAP32[4366]|0; + HEAP32[4486] = $0; + $17 = HEAP32[4444]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4409] = $20; - HEAP32[4410] = 0; + HEAP32[4487] = $20; + HEAP32[4488] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4411] = $$sink; - $25 = HEAP32[4408]|0; + HEAP32[4489] = $$sink; + $25 = HEAP32[4486]|0; $26 = (+($25|0)); - $27 = HEAP32[4367]|0; + $27 = HEAP32[4445]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=17556; 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)); - HEAP32[4408] = $0; - HEAP32[4409] = $1; + dest=17868; 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)); + HEAP32[4486] = $0; + HEAP32[4487] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -14994,10 +14998,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4367] = $1; - HEAP32[4366] = $2; - HEAP32[4408] = $1; - HEAP32[4409] = $2; + HEAP32[4445] = $1; + HEAP32[4444] = $2; + HEAP32[4486] = $1; + HEAP32[4487] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -15024,7 +15028,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (20303 + ($1)|0); + $9 = (20615 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -15045,7 +15049,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (20297 + ($1)|0); + $7 = (20609 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -15124,7 +15128,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16928; + $15 = 17240; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -15159,7 +15163,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4781] = $3; + HEAP32[4859] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -15169,7 +15173,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4780] = $$sink; + HEAP32[4858] = $$sink; return; } function _rlglInit($0,$1) { @@ -15250,18 +15254,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5472)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4446] = 1; + HEAP32[4524] = 1; $27 = (_eglGetProcAddress((5499|0))|0); - HEAP32[4447] = $27; + HEAP32[4525] = $27; $28 = (_eglGetProcAddress((5520|0))|0); - HEAP32[4448] = $28; + HEAP32[4526] = $28; $29 = (_eglGetProcAddress((5541|0))|0); - HEAP32[4449] = $29; + HEAP32[4527] = $29; } $30 = (_strcmp($24,5565)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4388] = 1; + HEAP32[4466] = 1; } $32 = (_strcmp($24,5585)|0); $33 = ($32|0)==(0); @@ -15283,7 +15287,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4383] = 1; + HEAP32[4461] = 1; } $39 = (_strcmp($24,5690)|0); $40 = ($39|0)==(0); @@ -15299,35 +15303,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4384] = 1; + HEAP32[4462] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5759)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4385] = 1; + HEAP32[4463] = 1; } $47 = (_strcmp($44,5784)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4386] = 1; + HEAP32[4464] = 1; } $49 = (_strcmp($44,5817)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4387] = 1; + HEAP32[4465] = 1; } $51 = (_strcmp($44,5853)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4450] = 1; - _glGetFloatv(34047,(17804|0)); + HEAP32[4528] = 1; + _glGetFloatv(34047,(18116|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5887)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4452] = 1; + HEAP32[4530] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -15338,61 +15342,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4446]|0; + $21 = HEAP32[4524]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5990,$vararg_buffer15); } else { _TraceLog(0,5915,$vararg_buffer13); } - $57 = HEAP32[4388]|0; + $57 = HEAP32[4466]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6126,$vararg_buffer19); } else { _TraceLog(0,6051,$vararg_buffer17); } - $59 = HEAP32[4383]|0; + $59 = HEAP32[4461]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6218,$vararg_buffer21); } - $61 = HEAP32[4384]|0; + $61 = HEAP32[4462]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6264,$vararg_buffer23); } - $63 = HEAP32[4385]|0; + $63 = HEAP32[4463]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6311,$vararg_buffer25); } - $65 = HEAP32[4386]|0; + $65 = HEAP32[4464]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6362,$vararg_buffer27); } - $67 = HEAP32[4387]|0; + $67 = HEAP32[4465]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6409,$vararg_buffer29); } - $69 = HEAP32[4450]|0; + $69 = HEAP32[4528]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4451]; + $71 = +HEAPF32[4529]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6456,$vararg_buffer31); } - $73 = HEAP32[4452]|0; + $73 = HEAP32[4530]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6522,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4453] = $75; + HEAP32[4531] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6626,$vararg_buffer39); @@ -15401,14 +15405,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6575,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17816; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17872; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18128; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18184; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4482] = $77; + HEAP32[4560] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4482]|0; + $79 = HEAP32[4560]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -15421,7 +15425,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4483] = $78; + HEAP32[4561] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15436,48 +15440,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4484] = 1; - $85 = HEAP32[4453]|0; + HEAP32[4562] = 1; + $85 = HEAP32[4531]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4485] = 4; + HEAP32[4563] = 4; _MatrixIdentity($4); - dest=17944; src=$4; 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)); + dest=18256; src=$4; 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)); _MatrixIdentity($4); - dest=(18008); src=$4; 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)); + dest=(18320); src=$4; 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)); _MatrixIdentity($4); - dest=(18072); src=$4; 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)); + dest=(18384); src=$4; 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)); _MatrixIdentity($4); - dest=(18136); src=$4; 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)); + dest=(18448); src=$4; 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)); _MatrixIdentity($4); - dest=(18200); src=$4; 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)); + dest=(18512); src=$4; 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)); _MatrixIdentity($4); - dest=(18264); src=$4; 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)); + dest=(18576); src=$4; 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)); _MatrixIdentity($4); - dest=(18328); src=$4; 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)); + dest=(18640); src=$4; 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)); _MatrixIdentity($4); - dest=(18392); src=$4; 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)); + dest=(18704); src=$4; 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)); _MatrixIdentity($4); - dest=(18456); src=$4; 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)); + dest=(18768); src=$4; 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)); _MatrixIdentity($4); - dest=(18520); src=$4; 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)); + dest=(18832); src=$4; 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)); _MatrixIdentity($4); - dest=(18584); src=$4; 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)); + dest=(18896); src=$4; 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)); _MatrixIdentity($4); - dest=(18648); src=$4; 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)); + dest=(18960); src=$4; 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)); _MatrixIdentity($4); - dest=(18712); src=$4; 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)); + dest=(19024); src=$4; 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)); _MatrixIdentity($4); - dest=(18776); src=$4; 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)); + dest=(19088); src=$4; 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)); _MatrixIdentity($4); - dest=(18840); src=$4; 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)); + dest=(19152); src=$4; 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)); _MatrixIdentity($4); - dest=(18904); src=$4; 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)); + dest=(19216); src=$4; 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)); _MatrixIdentity($5); - dest=17652; src=$5; 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)); + dest=17964; src=$5; 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)); _MatrixIdentity($6); - dest=17716; src=$6; 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)); - HEAP32[4412] = 17716; + dest=18028; src=$6; 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)); + HEAP32[4490] = 18028; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15488,21 +15492,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4742] = $0; - HEAP32[4743] = $1; + HEAP32[4820] = $0; + HEAP32[4821] = $1; _TraceLog(0,6665,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4410]|0; + $0 = HEAP32[4488]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4411]|0; + $2 = HEAP32[4489]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4408]|0; + $4 = HEAP32[4486]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4409]|0; + $6 = HEAP32[4487]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15513,12 +15517,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 17652; + $modelview$sink = 17964; label = 3; break; } case 5888: { - $modelview$sink = 17716; + $modelview$sink = 18028; label = 3; break; } @@ -15526,9 +15530,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4412] = $modelview$sink; + HEAP32[4490] = $modelview$sink; } - HEAP32[4445] = $0; + HEAP32[4523] = $0; return; } function _rlLoadIdentity() { @@ -15536,7 +15540,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4412]|0; + $1 = HEAP32[4490]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -15557,7 +15561,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4412]|0; + $8 = HEAP32[4490]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -15654,15 +15658,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18988)>>2] = $0; + HEAP32[(19300)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18996)>>2] = $1; - HEAP32[(18992)>>2] = 0; - HEAP32[(19000)>>2] = 0; + HEAP32[(19308)>>2] = $1; + HEAP32[(19304)>>2] = 0; + HEAP32[(19312)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18996)>>2]|0; + $2 = HEAP32[(19308)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15673,19 +15677,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4744] = 0; - HEAP32[(18984)>>2] = 0; - HEAP32[(18980)>>2] = 0; + HEAP32[4822] = 0; + HEAP32[(19296)>>2] = 0; + HEAP32[(19292)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(19036)>>2] = $5; + HEAP32[(19348)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(19044)>>2] = $6; - HEAP32[(19040)>>2] = 0; - HEAP32[(19048)>>2] = 0; + HEAP32[(19356)>>2] = $6; + HEAP32[(19352)>>2] = 0; + HEAP32[(19360)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(19044)>>2]|0; + $7 = HEAP32[(19356)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15696,24 +15700,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4756] = 0; - HEAP32[(19032)>>2] = 0; - HEAP32[(19028)>>2] = 0; + HEAP32[4834] = 0; + HEAP32[(19344)>>2] = 0; + HEAP32[(19340)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(19084)>>2] = $10; + HEAP32[(19396)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(19088)>>2] = $11; + HEAP32[(19400)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(19092)>>2] = $12; + HEAP32[(19404)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(19096)>>2] = $13; - $14 = HEAP32[(19084)>>2]|0; + HEAP32[(19408)>>2] = $13; + $14 = HEAP32[(19396)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(19088)>>2]|0; + $15 = HEAP32[(19400)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(19092)>>2]|0; + $17 = HEAP32[(19404)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15724,7 +15728,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(19096)>>2]|0; + $16 = HEAP32[(19408)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15761,140 +15765,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4768] = 0; - HEAP32[(19076)>>2] = 0; - HEAP32[(19080)>>2] = 0; + HEAP32[4846] = 0; + HEAP32[(19388)>>2] = 0; + HEAP32[(19392)>>2] = 0; _TraceLog(0,6712,$vararg_buffer); - $20 = HEAP32[4446]|0; + $20 = HEAP32[4524]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4447]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(19004)); - $44 = HEAP32[4448]|0; - $45 = HEAP32[(19004)>>2]|0; + $43 = HEAP32[4525]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(19316)); + $44 = HEAP32[4526]|0; + $45 = HEAP32[(19316)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((19008)|0)); - $46 = HEAP32[(19008)>>2]|0; + _glGenBuffers(2,((19320)|0)); + $46 = HEAP32[(19320)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18988)>>2]|0; + $47 = HEAP32[(19300)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17876)>>2]|0; + $48 = HEAP32[(18188)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17876)>>2]|0; + $49 = HEAP32[(18188)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((19012)|0)); - $50 = HEAP32[(19012)>>2]|0; + _glGenBuffers(2,((19324)|0)); + $50 = HEAP32[(19324)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18996)>>2]|0; + $51 = HEAP32[(19308)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17896)>>2]|0; + $52 = HEAP32[(18208)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17896)>>2]|0; + $53 = HEAP32[(18208)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4446]|0; + $54 = HEAP32[4524]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(19008)>>2]|0; - $58 = HEAP32[(19012)>>2]|0; + $57 = HEAP32[(19320)>>2]|0; + $58 = HEAP32[(19324)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6850,$vararg_buffer3); } else { - $56 = HEAP32[(19004)>>2]|0; + $56 = HEAP32[(19316)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6785,$vararg_buffer1); } - $59 = HEAP32[4446]|0; + $59 = HEAP32[4524]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4447]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(19052)); - $62 = HEAP32[4448]|0; - $63 = HEAP32[(19052)>>2]|0; + $61 = HEAP32[4525]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(19364)); + $62 = HEAP32[4526]|0; + $63 = HEAP32[(19364)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((19056)|0)); - $64 = HEAP32[(19056)>>2]|0; + _glGenBuffers(1,((19368)|0)); + $64 = HEAP32[(19368)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(19036)>>2]|0; + $65 = HEAP32[(19348)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17876)>>2]|0; + $66 = HEAP32[(18188)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17876)>>2]|0; + $67 = HEAP32[(18188)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19060)|0)); - $68 = HEAP32[(19060)>>2]|0; + _glGenBuffers(1,((19372)|0)); + $68 = HEAP32[(19372)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(19044)>>2]|0; + $69 = HEAP32[(19356)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17896)>>2]|0; + $70 = HEAP32[(18208)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17896)>>2]|0; + $71 = HEAP32[(18208)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4446]|0; + $72 = HEAP32[4524]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(19056)>>2]|0; - $76 = HEAP32[(19060)>>2]|0; + $75 = HEAP32[(19368)>>2]|0; + $76 = HEAP32[(19372)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6996,$vararg_buffer10); } else { - $74 = HEAP32[(19052)>>2]|0; + $74 = HEAP32[(19364)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6927,$vararg_buffer7); } - $77 = HEAP32[4446]|0; + $77 = HEAP32[4524]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4447]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(19100)); - $80 = HEAP32[4448]|0; - $81 = HEAP32[(19100)>>2]|0; + $79 = HEAP32[4525]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(19412)); + $80 = HEAP32[4526]|0; + $81 = HEAP32[(19412)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((19104)|0)); - $82 = HEAP32[(19104)>>2]|0; + _glGenBuffers(1,((19416)|0)); + $82 = HEAP32[(19416)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(19084)>>2]|0; + $83 = HEAP32[(19396)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17876)>>2]|0; + $84 = HEAP32[(18188)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17876)>>2]|0; + $85 = HEAP32[(18188)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19108)|0)); - $86 = HEAP32[(19108)>>2]|0; + _glGenBuffers(1,((19420)|0)); + $86 = HEAP32[(19420)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(19088)>>2]|0; + $87 = HEAP32[(19400)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17880)>>2]|0; + $88 = HEAP32[(18192)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17880)>>2]|0; + $89 = HEAP32[(18192)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((19112)|0)); - $90 = HEAP32[(19112)>>2]|0; + _glGenBuffers(1,((19424)|0)); + $90 = HEAP32[(19424)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(19092)>>2]|0; + $91 = HEAP32[(19404)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17896)>>2]|0; + $92 = HEAP32[(18208)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17896)>>2]|0; + $93 = HEAP32[(18208)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((19116)|0)); - $94 = HEAP32[(19116)>>2]|0; + _glGenBuffers(1,((19428)|0)); + $94 = HEAP32[(19428)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(19096)>>2]|0; + $95 = HEAP32[(19408)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4446]|0; + $96 = HEAP32[4524]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(19104)>>2]|0; - $100 = HEAP32[(19108)>>2]|0; - $101 = HEAP32[(19112)>>2]|0; - $102 = HEAP32[(19116)>>2]|0; + $99 = HEAP32[(19416)>>2]|0; + $100 = HEAP32[(19420)>>2]|0; + $101 = HEAP32[(19424)>>2]|0; + $102 = HEAP32[(19428)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15904,16 +15908,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7142,$vararg_buffer17); } else { - $98 = HEAP32[(19100)>>2]|0; + $98 = HEAP32[(19412)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7077,$vararg_buffer14); } - $103 = HEAP32[4446]|0; + $103 = HEAP32[4524]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4448]|0; + $105 = HEAP32[4526]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -16094,9 +16098,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (20297 + ($0)|0); + $1 = (20609 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (20300 + ($0)|0); + $3 = (20612 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16108,9 +16112,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (20297 + ($0)|0); + $1 = (20609 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (20300 + ($0)|0); + $3 = (20612 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -16131,7 +16135,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4365]|0; + $0 = HEAP32[4443]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8986,$vararg_buffer); @@ -16142,9 +16146,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[17500>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17500+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17500+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17500+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17500+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17812>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17812+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17812+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17812+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17812+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(17528)>>2]|0; + $0 = HEAP32[(17840)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -16155,11 +16159,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17812|0)); - $0 = HEAP32[4453]|0; + _glDeleteTextures(1,(18124|0)); + $0 = HEAP32[4531]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9013,$vararg_buffer); - $1 = HEAP32[4483]|0; + $1 = HEAP32[4561]|0; _free($1); STACKTOP = sp;return; } @@ -16167,17 +16171,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4454]|0; + $0 = HEAP32[4532]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4446]|0; + $0 = HEAP32[4524]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4448]|0; + $2 = HEAP32[4526]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -16186,39 +16190,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((19008)|0)); - _glDeleteBuffers(1,((19012)|0)); - _glDeleteBuffers(1,((19056)|0)); - _glDeleteBuffers(1,((19060)|0)); - _glDeleteBuffers(1,((19104)|0)); - _glDeleteBuffers(1,((19108)|0)); - _glDeleteBuffers(1,((19112)|0)); - _glDeleteBuffers(1,((19116)|0)); - $3 = HEAP32[4446]|0; + _glDeleteBuffers(1,((19320)|0)); + _glDeleteBuffers(1,((19324)|0)); + _glDeleteBuffers(1,((19368)|0)); + _glDeleteBuffers(1,((19372)|0)); + _glDeleteBuffers(1,((19416)|0)); + _glDeleteBuffers(1,((19420)|0)); + _glDeleteBuffers(1,((19424)|0)); + _glDeleteBuffers(1,((19428)|0)); + $3 = HEAP32[4524]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4449]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(19004)); - $6 = HEAP32[4449]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(19052)); - $7 = HEAP32[4449]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(19100)); + $5 = HEAP32[4527]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(19316)); + $6 = HEAP32[4527]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(19364)); + $7 = HEAP32[4527]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(19412)); } - $8 = HEAP32[(18988)>>2]|0; + $8 = HEAP32[(19300)>>2]|0; _free($8); - $9 = HEAP32[(18996)>>2]|0; + $9 = HEAP32[(19308)>>2]|0; _free($9); - $10 = HEAP32[(19036)>>2]|0; + $10 = HEAP32[(19348)>>2]|0; _free($10); - $11 = HEAP32[(19044)>>2]|0; + $11 = HEAP32[(19356)>>2]|0; _free($11); - $12 = HEAP32[(19084)>>2]|0; + $12 = HEAP32[(19396)>>2]|0; _free($12); - $13 = HEAP32[(19088)>>2]|0; + $13 = HEAP32[(19400)>>2]|0; _free($13); - $14 = HEAP32[(19092)>>2]|0; + $14 = HEAP32[(19404)>>2]|0; _free($14); - $15 = HEAP32[(19096)>>2]|0; + $15 = HEAP32[(19408)>>2]|0; _free($15); return; } @@ -16258,16 +16262,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2135] = $0; - $1 = +HEAPF64[2118]; + HEAPF64[2174] = $0; + $1 = +HEAPF64[2157]; $2 = $0 - $1; - HEAPF64[2136] = $2; - HEAPF64[2118] = $0; + HEAPF64[2175] = $2; + HEAPF64[2157] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=17556; 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)); + dest=$downscaleView$byval_copy; src=17868; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(19128); + _rlMultMatrixf(19440); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -16276,53 +16280,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[4782] = $1; + HEAP32[4860] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(19132)>>2] = $3; + HEAP32[(19444)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(19136)>>2] = $5; + HEAP32[(19448)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(19140)>>2] = $7; + HEAP32[(19452)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(19144)>>2] = $9; + HEAP32[(19456)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(19148)>>2] = $11; + HEAP32[(19460)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(19152)>>2] = $13; + HEAP32[(19464)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(19156)>>2] = $15; + HEAP32[(19468)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(19160)>>2] = $17; + HEAP32[(19472)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(19164)>>2] = $19; + HEAP32[(19476)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(19168)>>2] = $21; + HEAP32[(19480)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19172)>>2] = $23; + HEAP32[(19484)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(19176)>>2] = $25; + HEAP32[(19488)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(19180)>>2] = $27; + HEAP32[(19492)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(19184)>>2] = $29; + HEAP32[(19496)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(19188)>>2] = $31; - return (19128|0); + HEAP32[(19500)>>2] = $31; + return (19440|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16397,7 +16401,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4412]|0; + $49 = HEAP32[4490]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -16411,15 +16415,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2135] = $0; - $1 = +HEAPF64[2118]; + HEAPF64[2174] = $0; + $1 = +HEAPF64[2157]; $2 = $0 - $1; - HEAPF64[2137] = $2; - HEAPF64[2118] = $0; - $3 = +HEAPF64[2136]; + HEAPF64[2176] = $2; + HEAPF64[2157] = $0; + $3 = +HEAPF64[2175]; $4 = $2 + $3; - HEAPF64[2138] = $4; - $5 = +HEAPF64[2115]; + HEAPF64[2177] = $4; + $5 = +HEAPF64[2154]; $6 = $4 < $5; if (!($6)) { return; @@ -16429,13 +16433,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2135] = $10; - $11 = +HEAPF64[2118]; + HEAPF64[2174] = $10; + $11 = +HEAPF64[2157]; $12 = $10 - $11; - HEAPF64[2118] = $10; - $13 = +HEAPF64[2138]; + HEAPF64[2157] = $10; + $13 = +HEAPF64[2177]; $14 = $12 + $13; - HEAPF64[2138] = $14; + HEAPF64[2177] = $14; return; } function _rlglDraw() { @@ -16448,7 +16452,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4365]|0; + $0 = HEAP32[4443]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16464,20 +16468,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[764] = -1; HEAP32[766] = -1; - HEAP32[4798] = 0; - $3 = HEAP32[4365]|0; + HEAP32[4876] = 0; + $3 = HEAP32[4443]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4228] = $5; + HEAPF32[4306] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16916)>>2] = $7; - _memcpy((20815|0),(20303|0),512)|0; - ;HEAP8[20300>>0]=HEAP8[20297>>0]|0;HEAP8[20300+1>>0]=HEAP8[20297+1>>0]|0;HEAP8[20300+2>>0]=HEAP8[20297+2>>0]|0; - $8 = HEAP32[4781]|0; - HEAP32[4368] = $8; - HEAP32[4781] = 0; + HEAPF32[(17228)>>2] = $7; + _memcpy((21127|0),(20615|0),512)|0; + ;HEAP8[20612>>0]=HEAP8[20609>>0]|0;HEAP8[20612+1>>0]=HEAP8[20609+1>>0]|0;HEAP8[20612+2>>0]=HEAP8[20609+2>>0]|0; + $8 = HEAP32[4859]|0; + HEAP32[4446] = $8; + HEAP32[4859] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16487,8 +16491,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (21327 + ($$05160<<5)|0); - $scevgep67 = (21455 + ($$05160<<5)|0); + $scevgep = (21639 + ($$05160<<5)|0); + $scevgep67 = (21767 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -16502,7 +16506,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((21455 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((21767 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[766] = $$04857; @@ -16529,7 +16533,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((19196 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((19508 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16545,7 +16549,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4798] = $$lcssa; + HEAP32[4876] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16586,87 +16590,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4744]|0; + $0 = HEAP32[4822]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4446]|0; + $2 = HEAP32[4524]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4448]|0; - $5 = HEAP32[(19004)>>2]|0; + $4 = HEAP32[4526]|0; + $5 = HEAP32[(19316)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(19008)>>2]|0; + $6 = HEAP32[(19320)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4744]|0; + $7 = HEAP32[4822]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18988)>>2]|0; + $9 = HEAP32[(19300)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(19012)>>2]|0; + $10 = HEAP32[(19324)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18984)>>2]|0; + $11 = HEAP32[(19296)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18996)>>2]|0; + $13 = HEAP32[(19308)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4756]|0; + $14 = HEAP32[4834]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4446]|0; + $16 = HEAP32[4524]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4448]|0; - $19 = HEAP32[(19052)>>2]|0; + $18 = HEAP32[4526]|0; + $19 = HEAP32[(19364)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(19056)>>2]|0; + $20 = HEAP32[(19368)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4756]|0; + $21 = HEAP32[4834]|0; $22 = ($21*12)|0; - $23 = HEAP32[(19036)>>2]|0; + $23 = HEAP32[(19348)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(19060)>>2]|0; + $24 = HEAP32[(19372)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(19032)>>2]|0; + $25 = HEAP32[(19344)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(19044)>>2]|0; + $27 = HEAP32[(19356)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4768]|0; + $28 = HEAP32[4846]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4446]|0; + $30 = HEAP32[4524]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4448]|0; - $33 = HEAP32[(19100)>>2]|0; + $32 = HEAP32[4526]|0; + $33 = HEAP32[(19412)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(19104)>>2]|0; + $34 = HEAP32[(19416)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4768]|0; + $35 = HEAP32[4846]|0; $36 = ($35*12)|0; - $37 = HEAP32[(19084)>>2]|0; + $37 = HEAP32[(19396)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(19108)>>2]|0; + $38 = HEAP32[(19420)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4768]|0; + $39 = HEAP32[4846]|0; $40 = $39 << 3; - $41 = HEAP32[(19088)>>2]|0; + $41 = HEAP32[(19400)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(19112)>>2]|0; + $42 = HEAP32[(19424)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4768]|0; + $43 = HEAP32[4846]|0; $44 = $43 << 2; - $45 = HEAP32[(19092)>>2]|0; + $45 = HEAP32[(19404)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4446]|0; + $46 = HEAP32[4524]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4448]|0; + $48 = HEAP32[4526]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16684,9 +16688,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=17652; 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)); - dest=$1; src=17716; 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)); - $3 = HEAP32[4831]|0; + dest=$0; src=17964; 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)); + dest=$1; src=18028; 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)); + $3 = HEAP32[4909]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16696,134 +16700,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4744]|0; + $8 = HEAP32[4822]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4756]|0; + $10 = HEAP32[4834]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4768]|0; + $12 = HEAP32[4846]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4468]|0; + $14 = HEAP32[4546]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=17716; 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)); - dest=$$byval_copy2; src=17652; 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)); + dest=$modelview$byval_copy; src=18028; 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)); + dest=$$byval_copy2; src=17964; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17900)>>2]|0; + $15 = HEAP32[(18212)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17904)>>2]|0; + $17 = HEAP32[(18216)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17916)>>2]|0; + $18 = HEAP32[(18228)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4744]|0; + $19 = HEAP32[4822]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4453]|0; + $21 = HEAP32[4531]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4446]|0; + $22 = HEAP32[4524]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(19008)>>2]|0; + $26 = HEAP32[(19320)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17876)>>2]|0; + $27 = HEAP32[(18188)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17876)>>2]|0; + $28 = HEAP32[(18188)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(19012)>>2]|0; + $29 = HEAP32[(19324)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17896)>>2]|0; + $30 = HEAP32[(18208)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17896)>>2]|0; + $31 = HEAP32[(18208)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4448]|0; - $25 = HEAP32[(19004)>>2]|0; + $24 = HEAP32[4526]|0; + $25 = HEAP32[(19316)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4744]|0; + $32 = HEAP32[4822]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4446]|0; + $33 = HEAP32[4524]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4756]|0; + $35 = HEAP32[4834]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4453]|0; + $37 = HEAP32[4531]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4446]|0; + $38 = HEAP32[4524]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(19056)>>2]|0; + $42 = HEAP32[(19368)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17876)>>2]|0; + $43 = HEAP32[(18188)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17876)>>2]|0; + $44 = HEAP32[(18188)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(19060)>>2]|0; + $45 = HEAP32[(19372)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17896)>>2]|0; + $46 = HEAP32[(18208)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17896)>>2]|0; + $47 = HEAP32[(18208)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4448]|0; - $41 = HEAP32[(19052)>>2]|0; + $40 = HEAP32[4526]|0; + $41 = HEAP32[(19364)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4756]|0; + $48 = HEAP32[4834]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4446]|0; + $49 = HEAP32[4524]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4768]|0; + $51 = HEAP32[4846]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4446]|0; + $53 = HEAP32[4524]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(19104)>>2]|0; + $57 = HEAP32[(19416)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17876)>>2]|0; + $58 = HEAP32[(18188)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17876)>>2]|0; + $59 = HEAP32[(18188)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(19108)>>2]|0; + $60 = HEAP32[(19420)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17880)>>2]|0; + $61 = HEAP32[(18192)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17880)>>2]|0; + $62 = HEAP32[(18192)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(19112)>>2]|0; + $63 = HEAP32[(19424)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17896)>>2]|0; + $64 = HEAP32[(18208)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17896)>>2]|0; + $65 = HEAP32[(18208)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(19116)>>2]|0; + $66 = HEAP32[(19428)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4448]|0; - $56 = HEAP32[(19100)>>2]|0; + $55 = HEAP32[4526]|0; + $56 = HEAP32[(19412)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4484]|0; + $67 = HEAP32[4562]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4483]|0; + $71 = HEAP32[4561]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16834,14 +16838,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4483]|0; + $80 = HEAP32[4561]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4484]|0; + $87 = HEAP32[4562]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16850,7 +16854,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4446]|0; + $69 = HEAP32[4524]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16858,10 +16862,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4446]|0; + $89 = HEAP32[4524]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4448]|0; + $91 = HEAP32[4526]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16873,22 +16877,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4484] = 1; - $5 = HEAP32[4453]|0; - $6 = HEAP32[4483]|0; + HEAP32[4562] = 1; + $5 = HEAP32[4531]|0; + $6 = HEAP32[4561]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4744] = 0; - HEAP32[(18984)>>2] = 0; - HEAP32[4756] = 0; - HEAP32[(19032)>>2] = 0; - HEAP32[4768] = 0; - HEAP32[(19076)>>2] = 0; - HEAP32[(19080)>>2] = 0; + HEAP32[4822] = 0; + HEAP32[(19296)>>2] = 0; + HEAP32[4834] = 0; + HEAP32[(19344)>>2] = 0; + HEAP32[4846] = 0; + HEAP32[(19388)>>2] = 0; + HEAP32[(19392)>>2] = 0; HEAPF32[767] = -1.0; - dest=17652; src=$0; 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)); - dest=17716; src=$1; 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)); + dest=17964; src=$0; 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)); + dest=18028; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16903,17 +16907,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[4742]|0; + $5 = HEAP32[4820]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4743]|0; + $9 = HEAP32[4821]|0; _rlViewport($7,0,$8,$9); - $10 = (19556 + ($0<<6)|0); + $10 = (19868 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (19428 + ($0<<6)|0); + $11 = (19740 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -16925,14 +16929,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17716; src=$0; 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)); + dest=18028; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17652; src=$0; 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)); + dest=17964; src=$0; 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)); return; } function _Begin3dMode($0) { @@ -16949,9 +16953,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4367]|0; + $2 = HEAP32[4445]|0; $3 = (+($2|0)); - $4 = HEAP32[4366]|0; + $4 = HEAP32[4444]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -16976,7 +16980,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; 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)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(19128); + _rlMultMatrixf(19440); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -16985,26 +16989,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4921]|0; + $0 = HEAP32[4999]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9128,$vararg_buffer); } - $2 = HEAP32[4921]|0; - $3 = (17944 + ($2<<6)|0); - $4 = HEAP32[4412]|0; + $2 = HEAP32[4999]|0; + $3 = (18256 + ($2<<6)|0); + $4 = HEAP32[4490]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[4921]|0; + $5 = HEAP32[4999]|0; $6 = (($5) + 1)|0; - HEAP32[4921] = $6; - $7 = HEAP32[4445]|0; + HEAP32[4999] = $6; + $7 = HEAP32[4523]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4922] = 1; + HEAP32[5000] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -17023,7 +17027,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4412]|0; + $8 = HEAP32[4490]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -17050,18 +17054,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4921]|0; + $0 = HEAP32[4999]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4921]|0; + $2 = HEAP32[4999]|0; $3 = (($2) + -1)|0; - $4 = (17944 + ($3<<6)|0); - $5 = HEAP32[4412]|0; + $4 = (18256 + ($3<<6)|0); + $5 = HEAP32[4490]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4921] = $6; + HEAP32[4999] = $6; return; } function _rlDisableDepthTest() { @@ -17081,7 +17085,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2138]; + $0 = +HEAPF64[2177]; $1 = $0; return (+$1); } @@ -17115,7 +17119,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4412]|0; + $5 = HEAP32[4490]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -17148,7 +17152,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4412]|0; + $11 = HEAP32[4490]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -17159,7 +17163,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4485] = $0; + HEAP32[4563] = $0; return; } function _rlEnd() { @@ -17175,21 +17179,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4922]|0; + $0 = HEAP32[5000]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4923]|0; + $2 = HEAP32[5001]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4482]|0; + $6 = HEAP32[4560]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4412]|0; + $8 = HEAP32[4490]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4923]|0; + $5 = HEAP32[5001]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -17197,12 +17201,12 @@ function _rlEnd() { break; } } - HEAP32[4922] = 0; + HEAP32[5000] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4482]|0; + $11 = HEAP32[4560]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -17211,7 +17215,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4923]|0; + $19 = HEAP32[5001]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -17221,15 +17225,15 @@ function _rlEnd() { } } } else { - HEAP32[4922] = 0; + HEAP32[5000] = 0; } - HEAP32[4923] = 0; + HEAP32[5001] = 0; } - $21 = HEAP32[4485]|0; + $21 = HEAP32[4563]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4744]|0; - $23 = HEAP32[(18984)>>2]|0; + $22 = HEAP32[4822]|0; + $23 = HEAP32[(19296)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[767]; @@ -17248,16 +17252,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18996)>>2]|0; - $28 = HEAP32[(18984)>>2]|0; + $27 = HEAP32[(19308)>>2]|0; + $28 = HEAP32[(19296)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18996)>>2]|0; - $35 = HEAP32[(18984)>>2]|0; + $34 = HEAP32[(19308)>>2]|0; + $35 = HEAP32[(19296)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -17265,8 +17269,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18996)>>2]|0; - $43 = HEAP32[(18984)>>2]|0; + $42 = HEAP32[(19308)>>2]|0; + $43 = HEAP32[(19296)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -17274,8 +17278,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18996)>>2]|0; - $51 = HEAP32[(18984)>>2]|0; + $50 = HEAP32[(19308)>>2]|0; + $51 = HEAP32[(19296)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -17283,9 +17287,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18984)>>2]|0; + $58 = HEAP32[(19296)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18984)>>2] = $59; + HEAP32[(19296)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -17301,8 +17305,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4756]|0; - $62 = HEAP32[(19032)>>2]|0; + $61 = HEAP32[4834]|0; + $62 = HEAP32[(19344)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[767]; @@ -17321,16 +17325,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(19044)>>2]|0; - $67 = HEAP32[(19032)>>2]|0; + $66 = HEAP32[(19356)>>2]|0; + $67 = HEAP32[(19344)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(19044)>>2]|0; - $74 = HEAP32[(19032)>>2]|0; + $73 = HEAP32[(19356)>>2]|0; + $74 = HEAP32[(19344)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -17338,8 +17342,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(19044)>>2]|0; - $82 = HEAP32[(19032)>>2]|0; + $81 = HEAP32[(19356)>>2]|0; + $82 = HEAP32[(19344)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -17347,8 +17351,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(19044)>>2]|0; - $90 = HEAP32[(19032)>>2]|0; + $89 = HEAP32[(19356)>>2]|0; + $90 = HEAP32[(19344)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -17356,9 +17360,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(19032)>>2]|0; + $97 = HEAP32[(19344)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(19032)>>2] = $98; + HEAP32[(19344)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -17374,8 +17378,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4768]|0; - $101 = HEAP32[(19080)>>2]|0; + $100 = HEAP32[4846]|0; + $101 = HEAP32[(19392)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -17383,16 +17387,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(19092)>>2]|0; - $106 = HEAP32[(19080)>>2]|0; + $105 = HEAP32[(19404)>>2]|0; + $106 = HEAP32[(19392)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(19092)>>2]|0; - $113 = HEAP32[(19080)>>2]|0; + $112 = HEAP32[(19404)>>2]|0; + $113 = HEAP32[(19392)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -17400,8 +17404,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(19092)>>2]|0; - $121 = HEAP32[(19080)>>2]|0; + $120 = HEAP32[(19404)>>2]|0; + $121 = HEAP32[(19392)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -17409,8 +17413,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(19092)>>2]|0; - $129 = HEAP32[(19080)>>2]|0; + $128 = HEAP32[(19404)>>2]|0; + $129 = HEAP32[(19392)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -17418,9 +17422,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(19080)>>2]|0; + $136 = HEAP32[(19392)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(19080)>>2] = $137; + HEAP32[(19392)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -17431,8 +17435,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4768]|0; - $140 = HEAP32[(19076)>>2]|0; + $139 = HEAP32[4846]|0; + $140 = HEAP32[(19388)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[767]; @@ -17440,8 +17444,8 @@ function _rlEnd() { HEAPF32[767] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(19088)>>2]|0; - $$promoted = HEAP32[(19076)>>2]|0; + $142 = HEAP32[(19400)>>2]|0; + $$promoted = HEAP32[(19388)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -17449,7 +17453,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(19076)>>2] = $147; + HEAP32[(19388)>>2] = $147; $148 = +HEAPF32[767]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[767] = $149; @@ -17476,11 +17480,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4922]|0; + $3 = HEAP32[5000]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4482]|0; - $6 = HEAP32[4923]|0; + $5 = HEAP32[4560]|0; + $6 = HEAP32[5001]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17488,16 +17492,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4923] = $10; + HEAP32[5001] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4485]|0; + $11 = HEAP32[4563]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4744]|0; + $12 = HEAP32[4822]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18988)>>2]|0; + $14 = HEAP32[(19300)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17508,7 +17512,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4744] = $21; + HEAP32[4822] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9166,$vararg_buffer); @@ -17517,10 +17521,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4756]|0; + $22 = HEAP32[4834]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(19036)>>2]|0; + $24 = HEAP32[(19348)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17531,7 +17535,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4756] = $31; + HEAP32[4834] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9191,$vararg_buffer1); @@ -17540,10 +17544,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4768]|0; + $32 = HEAP32[4846]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(19084)>>2]|0; + $34 = HEAP32[(19396)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17554,9 +17558,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4768] = $41; - $42 = HEAP32[4483]|0; - $43 = HEAP32[4484]|0; + HEAP32[4846] = $41; + $42 = HEAP32[4561]|0; + $43 = HEAP32[4562]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17599,13 +17603,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4485]|0; + $2 = HEAP32[4563]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(19088)>>2]|0; - $5 = HEAP32[(19076)>>2]|0; + $4 = HEAP32[(19400)>>2]|0; + $5 = HEAP32[(19388)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17613,7 +17617,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(19076)>>2] = $10; + HEAP32[(19388)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17632,18 +17636,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4485]|0; + $4 = HEAP32[4563]|0; switch ($4|0) { case 1: { - $$sink37 = (18984);$$sink38 = (18996); + $$sink37 = (19296);$$sink38 = (19308); break; } case 4: { - $$sink37 = (19032);$$sink38 = (19044); + $$sink37 = (19344);$$sink38 = (19356); break; } case 7: { - $$sink37 = (19080);$$sink38 = (19092); + $$sink37 = (19392);$$sink38 = (19404); break; } default: { @@ -17682,8 +17686,8 @@ function _rlEnableTexture($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 = HEAP32[4483]|0; - $2 = HEAP32[4484]|0; + $1 = HEAP32[4561]|0; + $2 = HEAP32[4562]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17696,9 +17700,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4484] = $10; + HEAP32[4562] = $10; } - $11 = HEAP32[4484]|0; + $11 = HEAP32[4562]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17709,7 +17713,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4768]|0; + $0 = HEAP32[4846]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17725,14 +17729,14 @@ function _rlDeleteVertexArrays($0) { $vararg_buffer = sp; $1 = sp + 4|0; HEAP32[$1>>2] = $0; - $2 = HEAP32[4446]|0; + $2 = HEAP32[4524]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = ($0|0)==(0); if (!($4)) { - $5 = HEAP32[4449]|0; + $5 = HEAP32[4527]|0; FUNCTION_TABLE_vii[$5 & 63](1,$1); } $6 = HEAP32[$1>>2]|0; @@ -17753,7 +17757,7 @@ function _rlDeleteBuffers($0) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4446]|0; + $3 = HEAP32[4524]|0; $4 = ($3|0)==(0); if (!($4)) { STACKTOP = sp;return; @@ -17791,12 +17795,12 @@ function _rlglLoadMesh($0,$1) { ;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; HEAP32[$2>>2] = 0; ;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;HEAP32[$3+24>>2]=0|0; - $13 = HEAP32[4446]|0; + $13 = HEAP32[4524]|0; $14 = ($13|0)==(0); if (!($14)) { - $15 = HEAP32[4447]|0; + $15 = HEAP32[4525]|0; FUNCTION_TABLE_vii[$15 & 63](1,$2); - $16 = HEAP32[4448]|0; + $16 = HEAP32[4526]|0; $17 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$16 & 31]($17); } @@ -17926,7 +17930,7 @@ function _rlglLoadMesh($0,$1) { $80 = ((($3)) + 24|0); $81 = HEAP32[$80>>2]|0; HEAP32[$11>>2] = $81; - $82 = HEAP32[4446]|0; + $82 = HEAP32[4524]|0; $83 = ($82|0)==(0); if ($83) { _TraceLog(0,9442,$vararg_buffer3); @@ -18031,13 +18035,13 @@ function _rlglDrawMesh($0,$1,$2) { $63 = $62 / 255.0; _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); } - dest=$3; src=17716; 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)); - dest=$4; src=17652; 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)); + dest=$3; src=18028; 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)); + dest=$4; src=17964; 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)); dest=$modelview$byval_copy4; 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)); - dest=$$byval_copy5; src=17716; 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)); + dest=$$byval_copy5; src=18028; 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)); _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[4454]|0; + $65 = HEAP32[4532]|0; $66 = ($64|0)==($65|0); if (!($66)) { $67 = (_glGetUniformLocation(($64|0),(9490|0))|0); @@ -18113,7 +18117,7 @@ function _rlglDrawMesh($0,$1,$2) { _glUniform1i(($106|0),2); } } - $107 = HEAP32[4446]|0; + $107 = HEAP32[4524]|0; $108 = ($107|0)==(0); if ($108) { $112 = ((($0)) + 40|0); @@ -18193,16 +18197,16 @@ function _rlglDrawMesh($0,$1,$2) { $151 = HEAP32[$150>>2]|0; $152 = ($151|0)==(0|0); if (!($152)) { - $153 = HEAP32[(19116)>>2]|0; + $153 = HEAP32[(19428)>>2]|0; _glBindBuffer(34963,($153|0)); } } else { - $109 = HEAP32[4448]|0; + $109 = HEAP32[4526]|0; $110 = ((($0)) + 36|0); $111 = HEAP32[$110>>2]|0; FUNCTION_TABLE_vi[$109 & 31]($111); } - $154 = HEAP32[4831]|0; + $154 = HEAP32[4909]|0; $155 = ($154|0)!=(0); $$ = $155 ? 2 : 1; $156 = ((($1)) + 28|0); @@ -18216,10 +18220,10 @@ function _rlglDrawMesh($0,$1,$2) { dest=$$byval_copy5; src=$5; 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)); _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); } else { - dest=17716; src=$5; 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)); + dest=18028; src=$5; 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)); } - dest=$modelview$byval_copy4; src=17716; 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)); - dest=$$byval_copy5; src=17652; 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)); + dest=$modelview$byval_copy4; src=18028; 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)); + dest=$$byval_copy5; src=17964; 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)); _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); $162 = HEAP32[$156>>2]|0; dest=$$byval_copy5; src=$6; 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)); @@ -18256,14 +18260,14 @@ function _rlglDrawMesh($0,$1,$2) { } _glActiveTexture(33984); _glBindTexture(3553,0); - $172 = HEAP32[4446]|0; + $172 = HEAP32[4524]|0; $173 = ($172|0)==(0); if (!($173)) { - $174 = HEAP32[4448]|0; + $174 = HEAP32[4526]|0; FUNCTION_TABLE_vi[$174 & 31](0); _glUseProgram(0); - dest=17652; src=$4; 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)); - dest=17716; src=$3; 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)); + dest=17964; src=$4; 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)); + dest=18028; src=$3; 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)); STACKTOP = sp;return; } _glBindBuffer(34962,0); @@ -18272,14 +18276,14 @@ function _rlglDrawMesh($0,$1,$2) { $177 = ($176|0)==(0|0); if ($177) { _glUseProgram(0); - dest=17652; src=$4; 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)); - dest=17716; src=$3; 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)); + dest=17964; src=$4; 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)); + dest=18028; src=$3; 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)); STACKTOP = sp;return; } _glBindBuffer(34963,0); _glUseProgram(0); - dest=17652; src=$4; 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)); - dest=17716; src=$3; 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)); + dest=17964; src=$4; 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)); + dest=18028; src=$3; 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)); STACKTOP = sp;return; } function _rlglUnloadMesh($0) { @@ -18359,7 +18363,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4453]|0; + $1 = HEAP32[4531]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -18375,7 +18379,7 @@ function _GetDefaultShader($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=$0; src=17816; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$0; src=18128; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _DrawRectangle($0,$1,$2,$3,$4) { @@ -18593,40 +18597,11 @@ function _DrawRectangleLines($0,$1,$2,$3,$4) { _DrawRectangle($0,$26,1,$27,$$byval_copy3); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9543); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10876)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4924] = $0; + HEAP32[5002] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -18690,7 +18665,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9555|0),(9581|0),1125,(9604|0)); + ___assert_fail((9543|0),(9569|0),1041,(9592|0)); // unreachable; } } @@ -18708,7 +18683,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4925]|0; + $15 = HEAP32[5003]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -18801,7 +18776,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9645); + _stbi__err(9633); $$0 = 0; return ($$0|0); } else { @@ -18823,7 +18798,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9636); + _stbi__err(9624); $$0 = 0; return ($$0|0); } @@ -18893,7 +18868,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9664); + _stbi__err(9652); $$045 = 0; return ($$045|0); } @@ -19454,7 +19429,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9980 + ($120)|0); + $121 = (9968 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -19496,97 +19471,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9754); + _stbi__err(9742); $$6$ph = 0; break; } case 9: { - _stbi__err(9768); + _stbi__err(9756); $$6$ph = 0; break; } case 11: { - _stbi__err(9781); + _stbi__err(9769); $$6$ph = 0; break; } case 13: { - _stbi__err(9781); + _stbi__err(9769); $$6$ph = 0; break; } case 15: { - _stbi__err(9791); + _stbi__err(9779); $$6$ph = 0; break; } case 17: { - _stbi__err(9811); + _stbi__err(9799); $$6$ph = 0; break; } case 20: { - _stbi__err(9811); + _stbi__err(9799); $$6$ph = 0; break; } case 22: { - _stbi__err(9811); + _stbi__err(9799); $$6$ph = 0; break; } case 24: { - _stbi__err(9821); + _stbi__err(9809); $$6$ph = 0; break; } case 26: { - _stbi__err(9837); + _stbi__err(9825); $$6$ph = 0; break; } case 28: { - _stbi__err(9855); + _stbi__err(9843); $$6$ph = 0; break; } case 31: { - _stbi__err(9876); + _stbi__err(9864); $$6$ph = 0; break; } case 34: { - _stbi__err(9781); + _stbi__err(9769); $$6$ph = 0; break; } case 37: { - _stbi__err(9781); + _stbi__err(9769); $$6$ph = 0; break; } case 39: { - _stbi__err(9890); + _stbi__err(9878); $$6$ph = 0; break; } case 41: { - _stbi__err(9905); + _stbi__err(9893); $$6$ph = 0; break; } case 44: { - _stbi__err(9905); + _stbi__err(9893); $$6$ph = 0; break; } case 47: { - _stbi__err(9890); + _stbi__err(9878); $$6$ph = 0; break; } case 49: { - _stbi__err(9918); + _stbi__err(9906); $$6$ph = 0; break; } @@ -19597,32 +19572,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9934); + _stbi__err(9922); $$6$ph = 0; break; } case 58: { - _stbi__err(9951); + _stbi__err(9939); $$6$ph = 0; break; } case 61: { - _stbi__err(9964); + _stbi__err(9952); $$6$ph = 0; break; } case 63: { - _stbi__err(9951); + _stbi__err(9939); $$6$ph = 0; break; } case 70: { - _stbi__err(9890); + _stbi__err(9878); $$6$ph = 0; break; } case 72: { - _stbi__err(9989); + _stbi__err(9977); $$6$ph = 0; break; } @@ -19634,12 +19609,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9636); + _stbi__err(9624); $$6$ph = 0; break; } case 83: { - _stbi__err(9997); + _stbi__err(9985); $$6$ph = 0; break; } @@ -19652,7 +19627,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(10007); + _stbi__err(9995); $$4 = 0; break; } @@ -19717,7 +19692,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4926]|0; + $193 = HEAP32[5004]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -19750,7 +19725,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9890); + _stbi__err(9878); $$4 = 0; } } while(0); @@ -19758,24 +19733,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9890); + _stbi__err(9878); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[10015] = $206; + HEAP8[10003] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(10016)>>0] = $209; + HEAP8[(10004)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(10017)>>0] = $211; + HEAP8[(10005)>>0] = $211; $212 = $207&255; - HEAP8[(10018)>>0] = $212; - _stbi__err(10015); + HEAP8[(10006)>>0] = $212; + _stbi__err(10003); $$6$ph = 0; break; } @@ -19809,14 +19784,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9677|0),(9581|0),1561,(9733|0)); + ___assert_fail((9665|0),(9569|0),1477,(9721|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9636); + _stbi__err(9624); $$0163 = 0; return ($$0163|0); } @@ -20179,7 +20154,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9731|0),(9581|0),1590,(9733|0)); + ___assert_fail((9719|0),(9569|0),1506,(9721|0)); // unreachable; } } while(0); @@ -20213,7 +20188,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9677|0),(9581|0),1610,(9708|0)); + ___assert_fail((9665|0),(9569|0),1526,(9696|0)); // unreachable; } $7 = $2 << 1; @@ -20223,7 +20198,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9636); + _stbi__err(9624); $$0163 = 0; return ($$0163|0); } @@ -20586,7 +20561,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9731|0),(9581|0),1639,(9708|0)); + ___assert_fail((9719|0),(9569|0),1555,(9696|0)); // unreachable; } } while(0); @@ -20734,7 +20709,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10672); + _stbi__err(10980); $$05 = 0; return ($$05|0); } @@ -21171,7 +21146,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10074|0),(9581|0),4568,(10126|0)); + ___assert_fail((10062|0),(9569|0),4569,(10114|0)); // unreachable; } } @@ -21258,7 +21233,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10074|0),(9581|0),4543,(10099|0)); + ___assert_fail((10062|0),(9569|0),4544,(10087|0)); // unreachable; } } @@ -21305,7 +21280,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4927]|0; + $16 = HEAP32[5005]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -21380,7 +21355,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((10040|0),(9581|0),4649,(10058|0)); + ___assert_fail((10028|0),(9569|0),4650,(10046|0)); // unreachable; } } @@ -21403,7 +21378,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9636); + _stbi__err(9624); $$0 = 0; return ($$0|0); } @@ -21580,7 +21555,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10155|0),(9581|0),4294,(10196|0)); + ___assert_fail((10143|0),(9569|0),4294,(10184|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -21588,7 +21563,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9636); + _stbi__err(9624); $$2 = 0; return ($$2|0); } @@ -21607,7 +21582,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10223); + _stbi__err(10211); $$2 = 0; return ($$2|0); } @@ -21620,7 +21595,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10223); + _stbi__err(10211); $$2 = 0; return ($$2|0); } @@ -21628,12 +21603,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -21656,33 +21631,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10262 + ($56)|0); + $60 = (10250 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -21692,24 +21667,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -21719,10 +21694,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -21733,10 +21708,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -21747,14 +21722,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -21784,7 +21759,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -21799,12 +21774,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -22381,15 +22356,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10241|0),(9581|0),4315,(10196|0)); + ___assert_fail((10229|0),(9569|0),4315,(10184|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10267|0),(9581|0),4376,(10196|0)); + ___assert_fail((10255|0),(9569|0),4377,(10184|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10284); + _stbi__err(10272); $$2 = 0; return ($$2|0); } @@ -22439,7 +22414,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9980 + ($6)|0); + $336 = (9968 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -22880,7 +22855,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10299|0),(9581|0),4465,(10196|0)); + ___assert_fail((10287|0),(9569|0),4466,(10184|0)); // unreachable; } else if ((label|0) == 151) { @@ -22940,8 +22915,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -22956,15 +22931,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -22973,65 +22948,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(21614)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10298,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,21615,288)|0); + $15 = (_stbi__zbuild_huffman($8,10586,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,21583,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -23050,14 +23020,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10625); + _stbi__err(10933); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10641); + _stbi__err(10949); $$0 = 0; return ($$0|0); } @@ -23066,7 +23036,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10656); + _stbi__err(10964); $$0 = 0; return ($$0|0); } @@ -23149,7 +23119,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10547|0),(9581|0),4048,(10564|0)); + ___assert_fail((10855|0),(9569|0),4033,(10872|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -23186,7 +23156,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10595); + _stbi__err(10903); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23196,7 +23166,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10608); + _stbi__err(10916); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23226,21 +23196,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((21615|0),8,144)|0; - dest=(21759); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21871); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21895); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=21583; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -23374,7 +23329,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10485); + _stbi__err(10793); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23463,7 +23418,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10537); + _stbi__err(10845); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23492,7 +23447,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11331 + ($$06579)|0); + $14 = (11639 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -23583,21 +23538,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10485); + _stbi__err(10793); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10485); + _stbi__err(10793); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10501|0),(9581|0),4021,(10509|0)); + ___assert_fail((10809|0),(9569|0),4006,(10817|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10485); + _stbi__err(10793); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23607,7 +23562,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10485); + _stbi__err(10793); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23771,7 +23726,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10310); + _stbi__err(10618); $$3$ph = 0; return ($$3$ph|0); } @@ -23781,12 +23736,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10310); + _stbi__err(10618); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10327); + _stbi__err(10635); $$3$ph = 0; return ($$3$ph|0); } @@ -23843,7 +23798,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10336); + _stbi__err(10644); $$0 = 0; return ($$0|0); } @@ -23869,7 +23824,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9636); + _stbi__err(9624); $$0 = 0; return ($$0|0); } else { @@ -23914,7 +23869,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10432|0),(9581|0),3863,(10469|0)); + ___assert_fail((10740|0),(9569|0),3848,(10777|0)); // unreachable; } else if ((label|0) == 5) { @@ -23962,7 +23917,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10356|0),(9581|0),3891,(10372|0)); + ___assert_fail((10664|0),(9569|0),3876,(10680|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -23990,7 +23945,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10403|0),(9581|0),3781,(10414|0)); + ___assert_fail((10711|0),(9569|0),3766,(10722|0)); // unreachable; } return (0)|0; @@ -24136,10 +24091,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -24150,27 +24105,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10684)|0); + $6 = (_IsFileExtension($1,10992)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10737)|0); + $19 = (_IsFileExtension($1,11045)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10742,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,11050,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,11184)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -24198,7 +24154,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -24215,18 +24171,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10690,$vararg_buffer); + _TraceLog(2,10998,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -24235,34 +24191,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10778,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,11086,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10817,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11125,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -24281,11 +24244,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10876)|0); + $4 = (_fopen($0,11184)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10879,$vararg_buffer); + _TraceLog(2,11187,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -24384,7 +24347,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10976,$vararg_buffer4); + _TraceLog(0,11284,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -24419,14 +24382,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11022,$vararg_buffer8); + _TraceLog(2,11330,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10930,$vararg_buffer1); + _TraceLog(2,11238,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -24516,7 +24479,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10848,$vararg_buffer); + _TraceLog(2,11156,$vararg_buffer); $$0 = $6; } } @@ -24561,27 +24524,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11072,$vararg_buffer); + _TraceLog(2,11380,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11111,$vararg_buffer1); + _TraceLog(2,11419,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11137,$vararg_buffer3); + _TraceLog(2,11445,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11200,$vararg_buffer5); + _TraceLog(2,11508,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11235,$vararg_buffer7); + _TraceLog(2,11543,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11270,$vararg_buffer10); + _TraceLog(0,11578,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -25764,7 +25727,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11327 + ($$361133)|0); + $199 = (11635 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -26194,7 +26157,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11327 + ($$331130)|0); + $186 = (11635 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -26232,7 +26195,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11327 + ($$371134)|0); + $203 = (11635 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -26271,7 +26234,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11331 + ($$421139)|0); + $235 = (11639 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -26678,7 +26641,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11350 + ($495)|0); + $496 = (11658 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -26715,7 +26678,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11354 + ($515)|0); + $516 = (11662 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -27627,7 +27590,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,11358,$vararg_buffer); + _TraceLog(2,11666,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -27648,7 +27611,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[17500>>2]|0;HEAP32[$0+4>>2]=HEAP32[17500+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17500+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17500+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17500+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17500+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17500+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17500+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17812>>2]|0;HEAP32[$0+4>>2]=HEAP32[17812+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17812+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17812+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17812+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17812+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17812+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17812+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -28093,8 +28056,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(21903,$0,$1)|0); - STACKTOP = sp;return (21903|0); + (_vsprintf(21895,$0,$1)|0); + STACKTOP = sp;return (21895|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -28104,7 +28067,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[4928]|0; + $3 = HEAP32[5006]|0; $4 = HEAP32[928]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -28112,14 +28075,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[4929] = $7; + HEAP32[5007] = $7; HEAP32[928] = $7; $$sink = 0; } - HEAP32[4928] = $$sink; - $8 = HEAP32[4929]|0; + HEAP32[5006] = $$sink; + $8 = HEAP32[5007]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(11387,$$byval_copy)|0); + (_FormatText(11695,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -28128,7 +28091,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(21903,$0,$1,20,$$byval_copy); + _DrawText(21895,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _LoadDefaultMaterial($0) { @@ -29376,7 +29339,7 @@ function _UnloadModel($0) { $1 = ((($0)) + 132|0); _memcpy(($$byval_copy|0),($1|0),132)|0; _UnloadMaterial($$byval_copy); - _TraceLog(0,11395,$vararg_buffer); + _TraceLog(0,11703,$vararg_buffer); STACKTOP = sp;return; } function _UnloadMaterial($0) { @@ -29521,7 +29484,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11453)|0); + $12 = (_strstr($11,11761)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -29530,7 +29493,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11457)|0); + $17 = (_strstr($16,11765)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -29539,7 +29502,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11461)|0); + $22 = (_strstr($21,11769)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -29548,7 +29511,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11465)|0); + $27 = (_strstr($26,11773)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -29557,1210 +29520,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11471)|0); + $32 = (_strcmp($31,11779)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11509)|0); + $35 = (_strcmp($34,11817)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11528; + HEAP32[$3>>2] = 11836; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11541)|0); + $38 = (_strcmp($37,11849)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11562; + HEAP32[$3>>2] = 11870; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11577)|0); + $41 = (_strcmp($40,11885)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11592; + HEAP32[$3>>2] = 11900; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11607)|0); + $44 = (_strcmp($43,11915)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11622; + HEAP32[$3>>2] = 11930; } } else { - HEAP32[$3>>2] = 11493; + HEAP32[$3>>2] = 11801; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11637)|0); + $47 = (_strcmp($46,11945)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11651)|0); + $50 = (_strcmp($49,11959)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11663)|0); + $53 = (_strcmp($52,11971)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11677)|0); + $56 = (_strcmp($55,11985)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11689)|0); + $59 = (_strcmp($58,11997)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11703)|0); + $62 = (_strcmp($61,12011)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11717)|0); + $65 = (_strcmp($64,12025)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11734)|0); + $68 = (_strcmp($67,12042)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11757)|0); + $71 = (_strcmp($70,12065)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11783)|0); + $74 = (_strcmp($73,12091)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11796)|0); + $77 = (_strcmp($76,12104)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11812)|0); + $80 = (_strcmp($79,12120)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11825)|0); + $83 = (_strcmp($82,12133)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11839)|0); + $86 = (_strcmp($85,12147)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11859)|0); + $89 = (_strcmp($88,12167)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11879)|0); + $92 = (_strcmp($91,12187)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11896)|0); + $95 = (_strcmp($94,12204)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11913)|0); + $98 = (_strcmp($97,12221)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11925)|0); + $101 = (_strcmp($100,12233)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11938)|0); + $104 = (_strcmp($103,12246)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11954)|0); + $107 = (_strcmp($106,12262)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11977)|0); + $110 = (_strcmp($109,12285)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11990)|0); + $113 = (_strcmp($112,12298)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12006)|0); + $116 = (_strcmp($115,12314)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12017)|0); + $119 = (_strcmp($118,12325)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12036)|0); + $122 = (_strcmp($121,12344)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12058)|0); + $125 = (_strcmp($124,12366)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12077)|0); + $128 = (_strcmp($127,12385)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12106)|0); + $131 = (_strcmp($130,12414)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12123)|0); + $134 = (_strcmp($133,12431)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12138)|0); + $137 = (_strcmp($136,12446)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12153)|0); + $140 = (_strcmp($139,12461)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12174)|0); + $143 = (_strcmp($142,12482)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12194)|0); + $146 = (_strcmp($145,12502)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12214)|0); + $149 = (_strcmp($148,12522)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12240)|0); + $152 = (_strcmp($151,12548)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12259)|0); + $155 = (_strcmp($154,12567)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12271)|0); + $158 = (_strcmp($157,12579)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12283)|0); + $161 = (_strcmp($160,12591)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12295)|0); + $164 = (_strcmp($163,12603)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12307)|0); + $167 = (_strcmp($166,12615)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12319)|0); + $170 = (_strcmp($169,12627)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,12331)|0); + $173 = (_strcmp($172,12639)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,12343)|0); + $176 = (_strcmp($175,12651)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,12355)|0); + $179 = (_strcmp($178,12663)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,12368)|0); + $182 = (_strcmp($181,12676)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,12381)|0); + $185 = (_strcmp($184,12689)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,12394)|0); + $188 = (_strcmp($187,12702)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,12407)|0); + $191 = (_strcmp($190,12715)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,12420)|0); + $194 = (_strcmp($193,12728)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,12433)|0); + $197 = (_strcmp($196,12741)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12446)|0); + $200 = (_strcmp($199,12754)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12459)|0); + $203 = (_strcmp($202,12767)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12478)|0); + $206 = (_strcmp($205,12786)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12497)|0); + $209 = (_strcmp($208,12805)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12516)|0); + $212 = (_strcmp($211,12824)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12529)|0); + $215 = (_strcmp($214,12837)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12547)|0); + $218 = (_strcmp($217,12855)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12565)|0); + $221 = (_strcmp($220,12873)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12583)|0); + $224 = (_strcmp($223,12891)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12601)|0); + $227 = (_strcmp($226,12909)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12621)|0); + $230 = (_strcmp($229,12929)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11562)|0); + $233 = (_strcmp($232,11870)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12639)|0); + $236 = (_strcmp($235,12947)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12654)|0); + $239 = (_strcmp($238,12962)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12675)|0); + $242 = (_strcmp($241,12983)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12690)|0); + $245 = (_strcmp($244,12998)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12708)|0); + $248 = (_strcmp($247,13016)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12724)|0); + $251 = (_strcmp($250,13032)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12743)|0); + $254 = (_strcmp($253,13051)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12757)|0); + $257 = (_strcmp($256,13065)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12772)|0); + $260 = (_strcmp($259,13080)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11493)|0); + $263 = (_strcmp($262,11801)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12783)|0); + $266 = (_strcmp($265,13091)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11592)|0); + $269 = (_strcmp($268,11900)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11622)|0); + $272 = (_strcmp($271,11930)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12799)|0); + $275 = (_strcmp($274,13107)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12826)|0); + $278 = (_strcmp($277,13134)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12840)|0); + $281 = (_strcmp($280,13148)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11528)|0); + $284 = (_strcmp($283,11836)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12860)|0); + $287 = (_strcmp($286,13168)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12878)|0); + $290 = (_strcmp($289,13186)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12890)|0); + $293 = (_strcmp($292,13198)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12911)|0); + $296 = (_strcmp($295,13219)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12929)|0); + $299 = (_strcmp($298,13237)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12947)|0); + $302 = (_strcmp($301,13255)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12968)|0); + $305 = (_strcmp($304,13276)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12994)|0); + $308 = (_strcmp($307,13302)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13017)|0); + $311 = (_strcmp($310,13325)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13055)|0); + $314 = (_strcmp($313,13363)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13071)|0); + $317 = (_strcmp($316,13379)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13086)|0); + $320 = (_strcmp($319,13394)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13109)|0); + $323 = (_strcmp($322,13417)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13122)|0); + $326 = (_strcmp($325,13430)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13136)|0); + $329 = (_strcmp($328,13444)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13150)|0); + $332 = (_strcmp($331,13458)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13170)|0); + $335 = (_strcmp($334,13478)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13190)|0); + $338 = (_strcmp($337,13498)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13206)|0); + $341 = (_strcmp($340,13514)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13224)|0); + $344 = (_strcmp($343,13532)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13240)|0); + $347 = (_strcmp($346,13548)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13255)|0); + $350 = (_strcmp($349,13563)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,13277)|0); + $353 = (_strcmp($352,13585)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13295)|0); + $356 = (_strcmp($355,13603)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13316)|0); + $359 = (_strcmp($358,13624)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,13334)|0); + $362 = (_strcmp($361,13642)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,13347)|0); + $365 = (_strcmp($364,13655)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,13362)|0); + $368 = (_strcmp($367,13670)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,13376)|0); + $371 = (_strcmp($370,13684)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,13386)|0); + $374 = (_strcmp($373,13694)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,13396)|0); + $377 = (_strcmp($376,13704)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,13418)|0); + $380 = (_strcmp($379,13726)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13444)|0); + $383 = (_strcmp($382,13752)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13471)|0); + $386 = (_strcmp($385,13779)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13484)|0); + $389 = (_strcmp($388,13792)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13499)|0); + $392 = (_strcmp($391,13807)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13514)|0); + $395 = (_strcmp($394,13822)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13538)|0); + $398 = (_strcmp($397,13846)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13549)|0); + $401 = (_strcmp($400,13857)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13571)|0); + $404 = (_strcmp($403,13879)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13593)|0); + $407 = (_strcmp($406,13901)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13617)|0); + $410 = (_strcmp($409,13925)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13626)|0); + $413 = (_strcmp($412,13934)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13634)|0); + $416 = (_strcmp($415,13942)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13647)|0); + $419 = (_strcmp($418,13955)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13661)|0); + $422 = (_strcmp($421,13969)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13673)|0); + $425 = (_strcmp($424,13981)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13682)|0); + $428 = (_strcmp($427,13990)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13692)|0); + $431 = (_strcmp($430,14000)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13704)|0); + $434 = (_strcmp($433,14012)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13715)|0); + $437 = (_strcmp($436,14023)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13723)|0); + $440 = (_strcmp($439,14031)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13735)|0); + $443 = (_strcmp($442,14043)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13750)|0); + $446 = (_strcmp($445,14058)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13762)|0); + $449 = (_strcmp($448,14070)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13776)|0); + $452 = (_strcmp($451,14084)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13801)|0); + $455 = (_strcmp($454,14109)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13818)|0); + $458 = (_strcmp($457,14126)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13834)|0); + $461 = (_strcmp($460,14142)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13850)|0); + $464 = (_strcmp($463,14158)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13862)|0); + $467 = (_strcmp($466,14170)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13874)|0); + $470 = (_strcmp($469,14182)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13898)|0); + $473 = (_strcmp($472,14206)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13911)|0); + $476 = (_strcmp($475,14219)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13925)|0); + $479 = (_strcmp($478,14233)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13947)|0); + $482 = (_strcmp($481,14255)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13954)|0); + $485 = (_strcmp($484,14262)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13970)|0); + $488 = (_strcmp($487,14278)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13987)|0); + $491 = (_strcmp($490,14295)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14004)|0); + $494 = (_strcmp($493,14312)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14020)|0); + $497 = (_strcmp($496,14328)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14036)|0); + $500 = (_strcmp($499,14344)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14053)|0); + $503 = (_strcmp($502,14361)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14067)|0); + $506 = (_strcmp($505,14375)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14079)|0); + $509 = (_strcmp($508,14387)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14090)|0); + $512 = (_strcmp($511,14398)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14103)|0); + $515 = (_strcmp($514,14411)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14113)|0); + $518 = (_strcmp($517,14421)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14130)|0); + $521 = (_strcmp($520,14438)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14142)|0); + $524 = (_strcmp($523,14450)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14164)|0); + $527 = (_strcmp($526,14472)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14184)|0); + $530 = (_strcmp($529,14492)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14197)|0); + $533 = (_strcmp($532,14505)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14219)|0); + $536 = (_strcmp($535,14527)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14239)|0); + $539 = (_strcmp($538,14547)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14256)|0); + $542 = (_strcmp($541,14564)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14273)|0); + $545 = (_strcmp($544,14581)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14293)|0); + $548 = (_strcmp($547,14601)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -30782,7 +30745,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (19720|0); + return (20032|0); } function ___stdio_close($0) { $0 = $0|0; @@ -31715,7 +31678,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((14409 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14717 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -31893,7 +31856,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14873;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 15181;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -31914,7 +31877,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14873;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 15181;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -31922,8 +31885,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14873 : (14875); - $$$ = $238 ? $$ : (14874); + $$ = $240 ? 15181 : (15183); + $$$ = $238 ? $$ : (15182); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -31940,7 +31903,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14873;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 15181;$242 = $167;$243 = $170; label = 66; break; } @@ -31953,7 +31916,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14873;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 15181;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -31967,7 +31930,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14883; + $271 = $270 ? $269 : 15191; $$1 = $271; label = 71; break; @@ -32007,7 +31970,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14873;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 15181;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -32029,8 +31992,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14873 + ($208)|0); - $$289 = $or$cond283 ? 14873 : $209; + $209 = (15181 + ($208)|0); + $$289 = $or$cond283 ? 15181 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -32051,7 +32014,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14873;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 15181;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -32581,7 +32544,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14925 + ($7)|0); + $9 = (15233 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -32939,14 +32902,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14890; + $$0471 = $14;$$0520 = 1;$$0521 = 15198; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14891) : (14896); - $$$ = $16 ? $$ : (14893); + $$ = $18 ? (15199) : (15204); + $$$ = $16 ? $$ : (15201); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -33045,7 +33008,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14925 + ($80)|0); + $81 = (15233 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -33656,7 +33619,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14941,1); + _out($0,15249,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -33737,7 +33700,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14941,1); + _out($0,15249,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -33794,9 +33757,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14909 : 14913; + $29 = $28 ? 15217 : 15221; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14917 : 14921; + $31 = $28 ? 15225 : 15229; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -34006,7 +33969,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14943 + ($$016)|0); + $3 = (15251 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -34017,7 +33980,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 15031;$$115 = 87; + $$01214 = 15339;$$115 = 87; label = 5; break; } else { @@ -34027,9 +33990,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 15031; + $$012$lcssa = 15339; } else { - $$01214 = 15031;$$115 = $$016; + $$01214 = 15339;$$115 = $$016; label = 5; } } @@ -34712,7 +34675,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16835,$3,4)|0); + $memchr = (_memchr(17143,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -34801,7 +34764,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16835,$4,4)|0); + $memchr = (_memchr(17143,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -34892,7 +34855,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(19724)>>2]|0; + $38 = HEAP32[(20036)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -34925,13 +34888,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19784|0)); - return (19792|0); + ___lock((20096|0)); + return (20104|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19784|0)); + ___unlock((20096|0)); return; } function _fclose($0) { @@ -35995,7 +35958,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 17112; + $2 = 17424; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -36212,7 +36175,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4949]|0; + $3 = HEAP32[5027]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -36231,22 +36194,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4949] = 0; + HEAP32[5027] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4949] = $10; + HEAP32[5027] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4949] = 0; + HEAP32[5027] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4949] = $13; + HEAP32[5027] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -36327,7 +36290,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4950]|0; + $8 = HEAP32[5028]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -36336,7 +36299,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19840 + ($15<<2)|0); + $16 = (20152 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -36347,9 +36310,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4950] = $24; + HEAP32[5028] = $24; } else { - $25 = HEAP32[(19816)>>2]|0; + $25 = HEAP32[(20128)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -36380,7 +36343,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19808)>>2]|0; + $37 = HEAP32[(20120)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -36414,7 +36377,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19840 + ($68<<2)|0); + $69 = (20152 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -36425,10 +36388,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4950] = $77; + HEAP32[5028] = $77; $98 = $77; } else { - $78 = HEAP32[(19816)>>2]|0; + $78 = HEAP32[(20128)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -36461,22 +36424,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19820)>>2]|0; + $92 = HEAP32[(20132)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19840 + ($94<<2)|0); + $95 = (20152 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4950] = $100; + HEAP32[5028] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19816)>>2]|0; + $103 = HEAP32[(20128)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -36493,12 +36456,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19808)>>2] = $84; - HEAP32[(19820)>>2] = $87; + HEAP32[(20120)>>2] = $84; + HEAP32[(20132)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19804)>>2]|0; + $108 = HEAP32[(20116)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -36526,7 +36489,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (20104 + ($132<<2)|0); + $133 = (20416 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -36566,7 +36529,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19816)>>2]|0; + $155 = HEAP32[(20128)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -36661,7 +36624,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (20104 + ($188<<2)|0); + $189 = (20416 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -36672,11 +36635,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19804)>>2] = $194; + HEAP32[(20116)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19816)>>2]|0; + $195 = HEAP32[(20128)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -36697,7 +36660,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19816)>>2]|0; + $201 = HEAP32[(20128)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -36727,7 +36690,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19816)>>2]|0; + $213 = HEAP32[(20128)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -36764,22 +36727,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19820)>>2]|0; + $231 = HEAP32[(20132)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19840 + ($233<<2)|0); + $234 = (20152 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4950] = $238; + HEAP32[5028] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19816)>>2]|0; + $241 = HEAP32[(20128)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -36796,8 +36759,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19808)>>2] = $$0193$lcssa$i; - HEAP32[(19820)>>2] = $157; + HEAP32[(20120)>>2] = $$0193$lcssa$i; + HEAP32[(20132)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -36813,7 +36776,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19804)>>2]|0; + $250 = HEAP32[(20116)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -36853,7 +36816,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (20104 + ($$0358$i<<2)|0); + $278 = (20416 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -36945,7 +36908,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (20104 + ($330<<2)|0); + $331 = (20416 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -36989,11 +36952,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19808)>>2]|0; + $345 = HEAP32[(20120)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19816)>>2]|0; + $348 = HEAP32[(20128)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -37090,7 +37053,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (20104 + ($381<<2)|0); + $382 = (20416 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -37101,12 +37064,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19804)>>2] = $387; + HEAP32[(20116)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19816)>>2]|0; + $388 = HEAP32[(20128)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -37128,7 +37091,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19816)>>2]|0; + $394 = HEAP32[(20128)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -37160,7 +37123,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19816)>>2]|0; + $406 = HEAP32[(20128)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -37201,20 +37164,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19840 + ($425<<2)|0); - $427 = HEAP32[4950]|0; + $426 = (20152 + ($425<<2)|0); + $427 = HEAP32[5028]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4950] = $431; + HEAP32[5028] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19816)>>2]|0; + $434 = HEAP32[(20128)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -37266,7 +37229,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (20104 + ($$0361$i<<2)|0); + $464 = (20416 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -37278,7 +37241,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19804)>>2] = $472; + HEAP32[(20116)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -37317,7 +37280,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19816)>>2]|0; + $491 = HEAP32[(20128)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -37336,7 +37299,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19816)>>2]|0; + $498 = HEAP32[(20128)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -37369,16 +37332,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19808)>>2]|0; + $506 = HEAP32[(20120)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19820)>>2]|0; + $509 = HEAP32[(20132)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19820)>>2] = $511; - HEAP32[(19808)>>2] = $508; + HEAP32[(20132)>>2] = $511; + HEAP32[(20120)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -37388,8 +37351,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19808)>>2] = 0; - HEAP32[(19820)>>2] = 0; + HEAP32[(20120)>>2] = 0; + HEAP32[(20132)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -37403,14 +37366,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19812)>>2]|0; + $524 = HEAP32[(20124)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19812)>>2] = $526; - $527 = HEAP32[(19824)>>2]|0; + HEAP32[(20124)>>2] = $526; + $527 = HEAP32[(20136)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19824)>>2] = $528; + HEAP32[(20136)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -37421,23 +37384,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5068]|0; + $534 = HEAP32[5146]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(20280)>>2] = 4096; - HEAP32[(20276)>>2] = 4096; - HEAP32[(20284)>>2] = -1; - HEAP32[(20288)>>2] = -1; - HEAP32[(20292)>>2] = 0; - HEAP32[(20244)>>2] = 0; + HEAP32[(20592)>>2] = 4096; + HEAP32[(20588)>>2] = 4096; + HEAP32[(20596)>>2] = -1; + HEAP32[(20600)>>2] = -1; + HEAP32[(20604)>>2] = 0; + HEAP32[(20556)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5068] = $538; + HEAP32[5146] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(20280)>>2]|0; + $$pre$i212 = HEAP32[(20592)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -37450,10 +37413,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(20240)>>2]|0; + $546 = HEAP32[(20552)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(20232)>>2]|0; + $548 = HEAP32[(20544)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -37463,18 +37426,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(20244)>>2]|0; + $552 = HEAP32[(20556)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19824)>>2]|0; + $555 = HEAP32[(20136)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (20248); + $$0$i$i = (20560); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -37532,7 +37495,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(20276)>>2]|0; + $569 = HEAP32[(20588)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -37542,13 +37505,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(20232)>>2]|0; + $578 = HEAP32[(20544)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(20240)>>2]|0; + $582 = HEAP32[(20552)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -37594,7 +37557,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(20280)>>2]|0; + $601 = HEAP32[(20592)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -37619,9 +37582,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(20244)>>2]|0; + $611 = HEAP32[(20556)>>2]|0; $612 = $611 | 4; - HEAP32[(20244)>>2] = $612; + HEAP32[(20556)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -37657,35 +37620,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(20232)>>2]|0; + $626 = HEAP32[(20544)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(20232)>>2] = $627; - $628 = HEAP32[(20236)>>2]|0; + HEAP32[(20544)>>2] = $627; + $628 = HEAP32[(20548)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(20236)>>2] = $627; + HEAP32[(20548)>>2] = $627; } - $630 = HEAP32[(19824)>>2]|0; + $630 = HEAP32[(20136)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19816)>>2]|0; + $632 = HEAP32[(20128)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19816)>>2] = $$749$i; + HEAP32[(20128)>>2] = $$749$i; } - HEAP32[(20248)>>2] = $$749$i; - HEAP32[(20252)>>2] = $$723948$i; - HEAP32[(20260)>>2] = 0; - $635 = HEAP32[5068]|0; - HEAP32[(19836)>>2] = $635; - HEAP32[(19832)>>2] = -1; + HEAP32[(20560)>>2] = $$749$i; + HEAP32[(20564)>>2] = $$723948$i; + HEAP32[(20572)>>2] = 0; + $635 = HEAP32[5146]|0; + HEAP32[(20148)>>2] = $635; + HEAP32[(20144)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19840 + ($636<<2)|0); + $637 = (20152 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -37708,18 +37671,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19824)>>2] = $649; - HEAP32[(19812)>>2] = $650; + HEAP32[(20136)>>2] = $649; + HEAP32[(20124)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(20288)>>2]|0; - HEAP32[(19828)>>2] = $655; + $655 = HEAP32[(20600)>>2]|0; + HEAP32[(20140)>>2] = $655; } else { - $$024371$i = (20248); + $$024371$i = (20560); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -37751,7 +37714,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19812)>>2]|0; + $671 = HEAP32[(20124)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -37762,30 +37725,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19824)>>2] = $679; - HEAP32[(19812)>>2] = $681; + HEAP32[(20136)>>2] = $679; + HEAP32[(20124)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(20288)>>2]|0; - HEAP32[(19828)>>2] = $686; + $686 = HEAP32[(20600)>>2]|0; + HEAP32[(20140)>>2] = $686; break; } } } - $687 = HEAP32[(19816)>>2]|0; + $687 = HEAP32[(20128)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19816)>>2] = $$749$i; + HEAP32[(20128)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (20248); + $$124470$i = (20560); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -37840,21 +37803,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19812)>>2]|0; + $726 = HEAP32[(20124)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19812)>>2] = $727; - HEAP32[(19824)>>2] = $721; + HEAP32[(20124)>>2] = $727; + HEAP32[(20136)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19820)>>2]|0; + $730 = HEAP32[(20132)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19808)>>2]|0; + $732 = HEAP32[(20120)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19808)>>2] = $733; - HEAP32[(19820)>>2] = $721; + HEAP32[(20120)>>2] = $733; + HEAP32[(20132)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -37877,7 +37840,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19840 + ($748<<2)|0); + $749 = (20152 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -37900,9 +37863,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4950]|0; + $759 = HEAP32[5028]|0; $760 = $759 & $758; - HEAP32[4950] = $760; + HEAP32[5028] = $760; break; } $761 = ($747|0)==($749|0); @@ -38015,7 +37978,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (20104 + ($796<<2)|0); + $797 = (20416 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -38027,12 +37990,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19804)>>2]|0; + $802 = HEAP32[(20116)>>2]|0; $803 = $802 & $801; - HEAP32[(19804)>>2] = $803; + HEAP32[(20116)>>2] = $803; break L314; } else { - $804 = HEAP32[(19816)>>2]|0; + $804 = HEAP32[(20128)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -38053,7 +38016,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19816)>>2]|0; + $810 = HEAP32[(20128)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -38085,7 +38048,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19816)>>2]|0; + $822 = HEAP32[(20128)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -38118,21 +38081,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19840 + ($836<<2)|0); - $838 = HEAP32[4950]|0; + $837 = (20152 + ($836<<2)|0); + $838 = HEAP32[5028]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4950] = $842; + HEAP32[5028] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19816)>>2]|0; + $845 = HEAP32[(20128)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -38187,20 +38150,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (20104 + ($$0296$i$i<<2)|0); + $875 = (20416 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19804)>>2]|0; + $879 = HEAP32[(20116)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19804)>>2] = $883; + HEAP32[(20116)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -38239,7 +38202,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19816)>>2]|0; + $902 = HEAP32[(20128)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -38258,7 +38221,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19816)>>2]|0; + $909 = HEAP32[(20128)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -38285,7 +38248,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (20248); + $$0$i$i$i = (20560); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -38326,23 +38289,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19824)>>2] = $946; - HEAP32[(19812)>>2] = $947; + HEAP32[(20136)>>2] = $946; + HEAP32[(20124)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(20288)>>2]|0; - HEAP32[(19828)>>2] = $952; + $952 = HEAP32[(20600)>>2]|0; + HEAP32[(20140)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(20248)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(20248)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(20248)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(20248)+12>>2]|0; - HEAP32[(20248)>>2] = $$749$i; - HEAP32[(20252)>>2] = $$723948$i; - HEAP32[(20260)>>2] = 0; - HEAP32[(20256)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(20560)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(20560)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(20560)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(20560)+12>>2]|0; + HEAP32[(20560)>>2] = $$749$i; + HEAP32[(20564)>>2] = $$723948$i; + HEAP32[(20572)>>2] = 0; + HEAP32[(20568)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -38371,20 +38334,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19840 + ($968<<2)|0); - $970 = HEAP32[4950]|0; + $969 = (20152 + ($968<<2)|0); + $970 = HEAP32[5028]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4950] = $974; + HEAP32[5028] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19816)>>2]|0; + $977 = HEAP32[(20128)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -38436,19 +38399,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (20104 + ($$0212$i$i<<2)|0); + $1007 = (20416 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19804)>>2]|0; + $1010 = HEAP32[(20116)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19804)>>2] = $1014; + HEAP32[(20116)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -38487,7 +38450,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19816)>>2]|0; + $1033 = HEAP32[(20128)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -38506,7 +38469,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19816)>>2]|0; + $1040 = HEAP32[(20128)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -38529,14 +38492,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19812)>>2]|0; + $1048 = HEAP32[(20124)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19812)>>2] = $1050; - $1051 = HEAP32[(19824)>>2]|0; + HEAP32[(20124)>>2] = $1050; + $1051 = HEAP32[(20136)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19824)>>2] = $1052; + HEAP32[(20136)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -38579,7 +38542,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19816)>>2]|0; + $3 = HEAP32[(20128)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -38612,7 +38575,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19820)>>2]|0; + $19 = HEAP32[(20132)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -38627,7 +38590,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19808)>>2] = $17; + HEAP32[(20120)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -38641,7 +38604,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19840 + ($27<<2)|0); + $28 = (20152 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -38661,9 +38624,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4950]|0; + $37 = HEAP32[5028]|0; $38 = $37 & $36; - HEAP32[4950] = $38; + HEAP32[5028] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -38777,7 +38740,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (20104 + ($74<<2)|0); + $75 = (20416 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -38787,14 +38750,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19804)>>2]|0; + $80 = HEAP32[(20116)>>2]|0; $81 = $80 & $79; - HEAP32[(19804)>>2] = $81; + HEAP32[(20116)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19816)>>2]|0; + $82 = HEAP32[(20128)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -38816,7 +38779,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19816)>>2]|0; + $88 = HEAP32[(20128)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -38848,7 +38811,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19816)>>2]|0; + $100 = HEAP32[(20128)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -38883,14 +38846,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19824)>>2]|0; + $120 = HEAP32[(20136)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19820)>>2]|0; + $122 = HEAP32[(20132)>>2]|0; if ($121) { - $123 = HEAP32[(19812)>>2]|0; + $123 = HEAP32[(20124)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19812)>>2] = $124; - HEAP32[(19824)>>2] = $$1; + HEAP32[(20124)>>2] = $124; + HEAP32[(20136)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -38898,16 +38861,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19820)>>2] = 0; - HEAP32[(19808)>>2] = 0; + HEAP32[(20132)>>2] = 0; + HEAP32[(20120)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19808)>>2]|0; + $129 = HEAP32[(20120)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19808)>>2] = $130; - HEAP32[(19820)>>2] = $113; + HEAP32[(20120)>>2] = $130; + HEAP32[(20132)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -38926,10 +38889,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19840 + ($142<<2)|0); + $143 = (20152 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19816)>>2]|0; + $145 = HEAP32[(20128)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -38947,9 +38910,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4950]|0; + $153 = HEAP32[5028]|0; $154 = $153 & $152; - HEAP32[4950] = $154; + HEAP32[5028] = $154; break; } $155 = ($141|0)==($143|0); @@ -38957,7 +38920,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19816)>>2]|0; + $156 = HEAP32[(20128)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -39017,7 +38980,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19816)>>2]|0; + $189 = HEAP32[(20128)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -39030,7 +38993,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19816)>>2]|0; + $169 = HEAP32[(20128)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -39061,7 +39024,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (20104 + ($193<<2)|0); + $194 = (20416 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -39071,13 +39034,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19804)>>2]|0; + $199 = HEAP32[(20116)>>2]|0; $200 = $199 & $198; - HEAP32[(19804)>>2] = $200; + HEAP32[(20116)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19816)>>2]|0; + $201 = HEAP32[(20128)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -39098,7 +39061,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19816)>>2]|0; + $207 = HEAP32[(20128)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -39128,7 +39091,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19816)>>2]|0; + $219 = HEAP32[(20128)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -39149,10 +39112,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19820)>>2]|0; + $226 = HEAP32[(20132)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19808)>>2] = $135; + HEAP32[(20120)>>2] = $135; return; } else { $$2 = $135; @@ -39171,20 +39134,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19840 + ($234<<2)|0); - $236 = HEAP32[4950]|0; + $235 = (20152 + ($234<<2)|0); + $236 = HEAP32[5028]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4950] = $240; + HEAP32[5028] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19816)>>2]|0; + $243 = HEAP32[(20128)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -39236,21 +39199,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (20104 + ($$0396<<2)|0); + $273 = (20416 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19804)>>2]|0; + $277 = HEAP32[(20116)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19804)>>2] = $281; + HEAP32[(20116)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -39288,7 +39251,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19816)>>2]|0; + $300 = HEAP32[(20128)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -39307,7 +39270,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19816)>>2]|0; + $307 = HEAP32[(20128)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -39329,12 +39292,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19832)>>2]|0; + $314 = HEAP32[(20144)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19832)>>2] = $315; + HEAP32[(20144)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (20256); + $$0212$in$i = (20568); } else { return; } @@ -39348,7 +39311,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19832)>>2] = -1; + HEAP32[(20144)>>2] = -1; return; } function _realloc($0,$1) { @@ -39420,7 +39383,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19816)>>2]|0; + $6 = HEAP32[(20128)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -39450,7 +39413,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(20280)>>2]|0; + $18 = HEAP32[(20592)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -39486,10 +39449,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19824)>>2]|0; + $34 = HEAP32[(20136)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19812)>>2]|0; + $36 = HEAP32[(20124)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -39505,15 +39468,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19824)>>2] = $40; - HEAP32[(19812)>>2] = $39; + HEAP32[(20136)>>2] = $40; + HEAP32[(20124)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19820)>>2]|0; + $46 = HEAP32[(20132)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19808)>>2]|0; + $48 = HEAP32[(20120)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -39549,8 +39512,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19808)>>2] = $storemerge1; - HEAP32[(19820)>>2] = $storemerge; + HEAP32[(20120)>>2] = $storemerge1; + HEAP32[(20132)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -39577,7 +39540,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19840 + ($81<<2)|0); + $82 = (20152 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -39597,9 +39560,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4950]|0; + $91 = HEAP32[5028]|0; $92 = $91 & $90; - HEAP32[4950] = $92; + HEAP32[5028] = $92; break; } $93 = ($80|0)==($82|0); @@ -39708,7 +39671,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (20104 + ($128<<2)|0); + $129 = (20416 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -39718,13 +39681,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19804)>>2]|0; + $134 = HEAP32[(20116)>>2]|0; $135 = $134 & $133; - HEAP32[(19804)>>2] = $135; + HEAP32[(20116)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19816)>>2]|0; + $136 = HEAP32[(20128)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -39745,7 +39708,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19816)>>2]|0; + $142 = HEAP32[(20128)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -39775,7 +39738,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19816)>>2]|0; + $154 = HEAP32[(20128)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -39860,13 +39823,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19816)>>2]|0; + $13 = HEAP32[(20128)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19820)>>2]|0; + $15 = HEAP32[(20132)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -39881,7 +39844,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19808)>>2] = $12; + HEAP32[(20120)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -39895,7 +39858,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19840 + ($23<<2)|0); + $24 = (20152 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -39915,9 +39878,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4950]|0; + $33 = HEAP32[5028]|0; $34 = $33 & $32; - HEAP32[4950] = $34; + HEAP32[5028] = $34; $$1 = $11;$$1418 = $12; break; } @@ -40031,7 +39994,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (20104 + ($70<<2)|0); + $71 = (20416 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -40041,14 +40004,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19804)>>2]|0; + $76 = HEAP32[(20116)>>2]|0; $77 = $76 & $75; - HEAP32[(19804)>>2] = $77; + HEAP32[(20116)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19816)>>2]|0; + $78 = HEAP32[(20128)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -40070,7 +40033,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19816)>>2]|0; + $84 = HEAP32[(20128)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -40102,7 +40065,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19816)>>2]|0; + $96 = HEAP32[(20128)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -40121,7 +40084,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19816)>>2]|0; + $108 = HEAP32[(20128)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -40132,14 +40095,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19824)>>2]|0; + $114 = HEAP32[(20136)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19820)>>2]|0; + $116 = HEAP32[(20132)>>2]|0; if ($115) { - $117 = HEAP32[(19812)>>2]|0; + $117 = HEAP32[(20124)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19812)>>2] = $118; - HEAP32[(19824)>>2] = $$1; + HEAP32[(20124)>>2] = $118; + HEAP32[(20136)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -40147,16 +40110,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19820)>>2] = 0; - HEAP32[(19808)>>2] = 0; + HEAP32[(20132)>>2] = 0; + HEAP32[(20120)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19808)>>2]|0; + $123 = HEAP32[(20120)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19808)>>2] = $124; - HEAP32[(19820)>>2] = $$1; + HEAP32[(20120)>>2] = $124; + HEAP32[(20132)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -40175,7 +40138,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19840 + ($136<<2)|0); + $137 = (20152 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -40195,9 +40158,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4950]|0; + $146 = HEAP32[5028]|0; $147 = $146 & $145; - HEAP32[4950] = $147; + HEAP32[5028] = $147; break; } $148 = ($135|0)==($137|0); @@ -40306,7 +40269,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (20104 + ($183<<2)|0); + $184 = (20416 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -40316,13 +40279,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19804)>>2]|0; + $189 = HEAP32[(20116)>>2]|0; $190 = $189 & $188; - HEAP32[(19804)>>2] = $190; + HEAP32[(20116)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19816)>>2]|0; + $191 = HEAP32[(20128)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -40343,7 +40306,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19816)>>2]|0; + $197 = HEAP32[(20128)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -40373,7 +40336,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19816)>>2]|0; + $209 = HEAP32[(20128)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -40394,10 +40357,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19820)>>2]|0; + $216 = HEAP32[(20132)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19808)>>2] = $129; + HEAP32[(20120)>>2] = $129; return; } else { $$2 = $129; @@ -40416,20 +40379,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19840 + ($224<<2)|0); - $226 = HEAP32[4950]|0; + $225 = (20152 + ($224<<2)|0); + $226 = HEAP32[5028]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4950] = $230; + HEAP32[5028] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19816)>>2]|0; + $233 = HEAP32[(20128)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -40481,20 +40444,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (20104 + ($$0431<<2)|0); + $263 = (20416 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19804)>>2]|0; + $267 = HEAP32[(20116)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19804)>>2] = $271; + HEAP32[(20116)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -40533,7 +40496,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19816)>>2]|0; + $290 = HEAP32[(20128)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -40551,7 +40514,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19816)>>2]|0; + $297 = HEAP32[(20128)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/models/models_cubicmap.png b/docs/examples/web/models/models_cubicmap.png similarity index 100% rename from docs/examples/img/models/models_cubicmap.png rename to docs/examples/web/models/models_cubicmap.png diff --git a/docs/examples/web/models/models_geometric_shapes.js b/docs/examples/web/models/models_geometric_shapes.js index e2b47d834..75202919c 100644 --- a/docs/examples/web/models/models_geometric_shapes.js +++ b/docs/examples/web/models/models_geometric_shapes.js @@ -7360,30 +7360,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7518,13 +7568,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8647,45 +8690,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/models/models_geometric_shapes.png b/docs/examples/web/models/models_geometric_shapes.png similarity index 100% rename from docs/examples/img/models/models_geometric_shapes.png rename to docs/examples/web/models/models_geometric_shapes.png diff --git a/docs/examples/web/models/models_heightmap.js b/docs/examples/web/models/models_heightmap.js index 5ac8502c1..391a2310e 100644 --- a/docs/examples/web/models/models_heightmap.js +++ b/docs/examples/web/models/models_heightmap.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 10920, "filename": "/resources/heightmap.png"}], "remote_package_size": 10920, "package_uuid": "7b43fdef-dea0-425b-82b9-1635762b9925"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 10920, "filename": "/resources/heightmap.png"}], "remote_package_size": 10920, "package_uuid": "706b22d7-42c7-4f1a-b627-ecca0390bb5a"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 22864; +STATICTOP = STATIC_BASE + 22848; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,144,65,0,0,128,65,0,0,144,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,0,193,0,0,0,0,0,0,0,193,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,71,85,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,104,101,105,103,104,116,109,97,112,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,104,101,105,103,104,116,109,97,112,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,37,50,105,32,70,80,83,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,144,65,0,0,128,65,0,0,144,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,0,193,0,0,0,0,0,0,0,193,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,63,85,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,104,101,105,103,104,116,109,97,112,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,104,101,105,103,104,116,109,97,112,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,37,50,105,32,70,80,83,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10513,7 +10513,7 @@ function _main() { _LoadImage($0,4272); ;HEAP32[$map$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$map$byval_copy); - ;HEAP32[16976>>2]=HEAP32[$1>>2]|0;HEAP32[16976+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16976+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16976+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16976+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17288>>2]=HEAP32[$1>>2]|0;HEAP32[17288+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17288+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17288+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17288+16>>2]=HEAP32[$1+16>>2]|0; HEAPF32[$2>>2] = 16.0; $6 = ((($2)) + 4|0); HEAPF32[$6>>2] = 8.0; @@ -10522,16 +10522,16 @@ function _main() { ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; ;HEAP32[$map$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$2+8>>2]|0; _LoadHeightmap($3,$$byval_copy1,$map$byval_copy); - _memcpy((16996|0),($3|0),264)|0; - ;HEAP32[(17184)>>2]=HEAP32[16976>>2]|0;HEAP32[(17184)+4>>2]=HEAP32[16976+4>>2]|0;HEAP32[(17184)+8>>2]=HEAP32[16976+8>>2]|0;HEAP32[(17184)+12>>2]=HEAP32[16976+12>>2]|0;HEAP32[(17184)+16>>2]=HEAP32[16976+16>>2]|0; + _memcpy((17308|0),($3|0),264)|0; + ;HEAP32[(17496)>>2]=HEAP32[17288>>2]|0;HEAP32[(17496)+4>>2]=HEAP32[17288+4>>2]|0;HEAP32[(17496)+8>>2]=HEAP32[17288+8>>2]|0;HEAP32[(17496)+12>>2]=HEAP32[17288+12>>2]|0;HEAP32[(17496)+16>>2]=HEAP32[17288+16>>2]|0; ;HEAP32[$map$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($map$byval_copy); dest=$map$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetCameraMode($map$byval_copy,2); _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$map$byval_copy>>2]=HEAP32[16976>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[16976+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[16976+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[16976+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[16976+16>>2]|0; + ;HEAP32[$map$byval_copy>>2]=HEAP32[17288>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[17288+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[17288+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[17288+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[17288+16>>2]|0; _UnloadTexture($map$byval_copy); - _memcpy(($map$byval_copy|0),(16996|0),264)|0; + _memcpy(($map$byval_copy|0),(17308|0),264)|0; _UnloadModel($map$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10568,25 +10568,25 @@ function _UpdateDrawFrame() { HEAP8[$8>>0] = 55; $9 = ((($1)) + 3|0); HEAP8[$9>>0] = -1; - _memcpy(($map$byval_copy|0),(16996|0),264)|0; + _memcpy(($map$byval_copy|0),(17308|0),264)|0; ;HEAP32[$texture$byval_copy>>2]=HEAP32[56>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[56+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[56+8>>2]|0; ;HEAP8[$$byval_copy2>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$1+3>>0]|0; _DrawModel($map$byval_copy,$texture$byval_copy,1.0,$$byval_copy2); _DrawGrid(20,1.0); _End3dMode(); $10 = HEAP32[2]|0; - $11 = HEAP32[(16980)>>2]|0; + $11 = HEAP32[(17292)>>2]|0; $12 = (($10) + -20)|0; $13 = (($12) - ($11))|0; HEAP32[$2>>2] = -1; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[16976>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16976+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16976+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16976+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16976+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[17288>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[17288+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[17288+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[17288+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[17288+16>>2]|0; ;HEAP8[$$byval_copy2>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$2+3>>0]|0; _DrawTexture($texture$byval_copy,$13,20,$$byval_copy2); $14 = HEAP32[2]|0; - $15 = HEAP32[(16980)>>2]|0; + $15 = HEAP32[(17292)>>2]|0; $16 = (($14) + -20)|0; $17 = (($16) - ($15))|0; - $18 = HEAP32[(16984)>>2]|0; + $18 = HEAP32[(17296)>>2]|0; HEAP8[$3>>0] = 0; $19 = ((($3)) + 1|0); HEAP8[$19>>0] = -28; @@ -10600,30 +10600,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -10758,13 +10808,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11753,7 +11796,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4316] = $2; + HEAP32[4394] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11766,7 +11809,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16696; + $95 = 17008; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11779,48 +11822,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16736; + $106 = 17048; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4184]; - $111 = +HEAPF32[4174]; + $110 = +HEAPF32[4262]; + $111 = +HEAPF32[4252]; $112 = $110 - $111; - HEAPF32[4186] = $112; - $113 = +HEAPF32[(16740)>>2]; - $114 = +HEAPF32[(16700)>>2]; + HEAPF32[4264] = $112; + $113 = +HEAPF32[(17052)>>2]; + $114 = +HEAPF32[(17012)>>2]; $115 = $113 - $114; - HEAPF32[(16748)>>2] = $115; - HEAP32[4315] = 4; + HEAPF32[(17060)>>2] = $115; + HEAP32[4393] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16728>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16728+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16752>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16752+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17064+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4321] = $116; - $117 = 16728; + HEAPF32[4399] = $116; + $117 = 17040; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16696; + $123 = 17008; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16752; + $127 = 17064; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16736; + $133 = 17048; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11833,7 +11876,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16728; + $144 = 17040; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11846,27 +11889,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16752; + $155 = 17064; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4188]; - $160 = +HEAPF32[4182]; + $159 = +HEAPF32[4266]; + $160 = +HEAPF32[4260]; $161 = $159 - $160; - HEAPF32[4186] = $161; - $162 = +HEAPF32[(16756)>>2]; - $163 = +HEAPF32[(16732)>>2]; + HEAPF32[4264] = $161; + $162 = +HEAPF32[(17068)>>2]; + $163 = +HEAPF32[(17044)>>2]; $164 = $162 - $163; - HEAPF32[(16748)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16696>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16696+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16728+4>>2]|0; + HEAPF32[(17060)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17040>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17040+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16736>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16736+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16752>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16752+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17048>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17048+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17064+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11878,31 +11921,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16728>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16728+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16752>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16752+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17064+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4321]; + $170 = +HEAPF32[4399]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4315] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16728>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16728+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16752>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16752+4>>2]|0; + HEAP32[4393] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17064+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4322] = $174; + HEAPF32[4400] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4321] = 0.0; - HEAPF32[4322] = 0.0; - HEAPF32[4186] = 0.0; - HEAPF32[(16748)>>2] = 0.0; - HEAP32[4316] = 0; - HEAP32[4315] = 0; + HEAPF32[4399] = 0.0; + HEAPF32[4400] = 0.0; + HEAPF32[4264] = 0.0; + HEAPF32[(17060)>>2] = 0.0; + HEAP32[4394] = 0; + HEAP32[4393] = 0; STACKTOP = sp;return; break; } @@ -11912,22 +11955,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4317]|0; + $6 = HEAP32[4395]|0; $7 = (($6) + 1)|0; - HEAP32[4317] = $7; - $8 = HEAP32[4315]|0; + HEAP32[4395] = $7; + $8 = HEAP32[4393]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16696>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16696+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17008+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4315] = 2; - HEAP32[4317] = 0; + HEAP32[4393] = 2; + HEAP32[4395] = 0; } else { label = 6; } @@ -11935,8 +11978,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4317] = 1; - HEAP32[4315] = 1; + HEAP32[4395] = 1; + HEAP32[4393] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11945,19 +11988,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16696; + $21 = 17008; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16704; + $25 = 17016; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16712; + $29 = 17024; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11966,13 +12009,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[17] = $34; - HEAPF32[4180] = 0.0; - HEAPF32[(16724)>>2] = 0.0; + HEAPF32[4258] = 0.0; + HEAPF32[(17036)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4315]|0; + $35 = HEAP32[4393]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11982,19 +12025,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16712; + $44 = 17024; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16696>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16696+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16712>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16712+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17024>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17024+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4318] = $49; - HEAP32[4319] = 0; + HEAPF32[4396] = $49; + HEAP32[4397] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[17]|0; @@ -12002,11 +12045,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16696>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16696+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16712>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16712+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17024>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17024+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4320] = $56; + HEAPF32[4398] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12037,22 +12080,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4318] = 0.0; - HEAPF32[4320] = 0.0; + HEAPF32[4396] = 0.0; + HEAPF32[4398] = 0.0; $$sink10 = 0; } - HEAP32[4315] = $$sink10; - HEAPF32[4176] = 0.0; - HEAPF32[(16708)>>2] = 0.0; - HEAP32[4316] = 0; + HEAP32[4393] = $$sink10; + HEAPF32[4254] = 0.0; + HEAPF32[(17020)>>2] = 0.0; + HEAP32[4394] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4319]|0; + $65 = HEAP32[4397]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4319] = 1; + HEAP32[4397] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12061,31 +12104,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16728; + $74 = 17040; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4315]|0; + $78 = HEAP32[4393]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16696>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16696+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16728+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17040>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17040+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4315] = 8; + HEAP32[4393] = 8; } } - $82 = +HEAPF32[4182]; - $83 = +HEAPF32[4176]; + $82 = +HEAPF32[4260]; + $83 = +HEAPF32[4254]; $84 = $82 - $83; - HEAPF32[4180] = $84; - $85 = +HEAPF32[(16732)>>2]; - $86 = +HEAPF32[(16708)>>2]; + HEAPF32[4258] = $84; + $85 = +HEAPF32[(17044)>>2]; + $86 = +HEAPF32[(17020)>>2]; $87 = $85 - $86; - HEAPF32[(16724)>>2] = $87; + HEAPF32[(17036)>>2] = $87; STACKTOP = sp;return; break; } @@ -12094,58 +12137,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4315]|0; + $0 = HEAP32[4393]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4316]|0; + $2 = HEAP32[4394]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4315] = 4; + HEAP32[4393] = 4; } - $4 = HEAP32[4315]|0; + $4 = HEAP32[4393]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12158,7 +12162,7 @@ function _UpdateGestures() { return; } } - HEAP32[4315] = 0; + HEAP32[4393] = 0; return; } function _SetCameraMode($0,$1) { @@ -12187,22 +12191,22 @@ function _SetCameraMode($0,$1) { $8 = $4 * $4; $9 = $7 + $8; $10 = (+Math_sqrt((+$9))); - HEAPF32[4323] = $10; + HEAPF32[4401] = $10; $11 = $5 + $8; $12 = (+Math_sqrt((+$11))); $13 = (+Math_sqrt((+$7))); $14 = (+Math_abs((+$2))); $15 = $14 / $12; $16 = (+Math_asin((+$15))); - HEAPF32[4324] = $16; + HEAPF32[4402] = $16; $17 = (+Math_abs((+$3))); $18 = $17 / $13; $19 = (+Math_asin((+$18))); $20 = -$19; - HEAPF32[4325] = $20; + HEAPF32[4403] = $20; $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; HEAP32[18] = $21; - HEAP32[4326] = $1; + HEAP32[4404] = $1; return; } function _UpdateCamera($0) { @@ -12271,7 +12275,7 @@ function _UpdateCamera($0) { $30 = HEAP32[27]|0; $31 = (_IsKeyDown($30)|0); HEAP32[$29>>2] = $31; - $32 = HEAP32[4326]|0; + $32 = HEAP32[4404]|0; $33 = ($32|0)==(0); L1: do { if ($33) { @@ -12343,9 +12347,9 @@ function _UpdateCamera($0) { $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; break; } else { - $64 = +HEAPF32[4190]; + $64 = +HEAPF32[4268]; $65 = $37 - $64; - $66 = +HEAPF32[(16764)>>2]; + $66 = +HEAPF32[(17076)>>2]; $67 = $42 - $66; $$sroa$095$0 = $65;$$sroa$9$0 = $67; break; @@ -12353,11 +12357,11 @@ function _UpdateCamera($0) { } else { _ShowCursor(); $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[4190]; + $69 = +HEAPF32[4268]; $70 = $68 - $69; $71 = ((($1)) + 4|0); $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(16764)>>2]; + $73 = +HEAPF32[(17076)>>2]; $74 = $72 - $73; $$sroa$095$0 = $70;$$sroa$9$0 = $74; } @@ -12369,16 +12373,16 @@ function _UpdateCamera($0) { $78 = (($75) + 4)|0; $79 = $78; $80 = HEAP32[$79>>2]|0; - $81 = 16760; + $81 = 17072; $82 = $81; HEAP32[$82>>2] = $77; $83 = (($81) + 4)|0; $84 = $83; HEAP32[$84>>2] = $80; - $$pr = HEAP32[4326]|0; + $$pr = HEAP32[4404]|0; switch ($$pr|0) { case 1: { - $85 = +HEAPF32[4323]; + $85 = +HEAPF32[4401]; $86 = $85 < 120.0; $87 = ($8|0)<(0); $or$cond3 = $87 & $86; @@ -12387,10 +12391,10 @@ function _UpdateCamera($0) { $88 = (+($8|0)); $89 = $88 * 1.5; $90 = $85 - $89; - HEAPF32[4323] = $90; + HEAPF32[4401] = $90; $91 = $90 > 120.0; if ($91) { - HEAPF32[4323] = 120.0; + HEAPF32[4401] = 120.0; } } else { $92 = ((($0)) + 4|0); @@ -12469,12 +12473,12 @@ function _UpdateCamera($0) { $146 = (+($8|0)); $147 = $146 * 1.5; $148 = $85 - $147; - HEAPF32[4323] = $148; + HEAPF32[4401] = $148; $149 = $148 < 0.30000001192092896; if (!($149)) { break; } - HEAPF32[4323] = 0.30000001192092896; + HEAPF32[4401] = 0.30000001192092896; break; } } @@ -12496,7 +12500,7 @@ function _UpdateCamera($0) { $161 = $151 - $152; $162 = $153 * $161; $163 = $162 * 1.5; - $164 = +HEAPF32[4323]; + $164 = +HEAPF32[4401]; $165 = $163 / $164; $166 = $151 + $165; HEAPF32[$95>>2] = $166; @@ -12528,7 +12532,7 @@ function _UpdateCamera($0) { $185 = $151 - $152; $186 = $177 * $185; $187 = $186 * 1.5; - $188 = +HEAPF32[4323]; + $188 = +HEAPF32[4401]; $189 = $187 / $188; $190 = $151 + $189; HEAPF32[$95>>2] = $190; @@ -12552,12 +12556,12 @@ function _UpdateCamera($0) { if ($or$cond15) { $203 = (+($8|0)); $204 = $203 * 1.5; - $205 = +HEAPF32[4323]; + $205 = +HEAPF32[4401]; $206 = $205 - $204; - HEAPF32[4323] = $206; + HEAPF32[4401] = $206; $207 = $206 < 0.30000001192092896; if ($207) { - HEAPF32[4323] = 0.30000001192092896; + HEAPF32[4401] = 0.30000001192092896; } } } @@ -12571,17 +12575,17 @@ function _UpdateCamera($0) { $209 = ($12|0)==(0); if ($209) { $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[4324]; + $223 = +HEAPF32[4402]; $224 = (+Math_cos((+$223))); $225 = $222 * $224; $226 = $$sroa$9$0 * 0.0099999997764825821; $227 = (+Math_sin((+$223))); $228 = $226 * $227; - $229 = +HEAPF32[4325]; + $229 = +HEAPF32[4403]; $230 = (+Math_sin((+$229))); $231 = $228 * $230; $232 = $225 + $231; - $233 = +HEAPF32[4323]; + $233 = +HEAPF32[4401]; $234 = $233 / 5.0999999046325684; $235 = $232 * $234; $236 = ((($0)) + 12|0); @@ -12611,23 +12615,23 @@ function _UpdateCamera($0) { $210 = ($14|0)==(0); if (!($210)) { $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[4323]; + $212 = +HEAPF32[4401]; $213 = $211 + $212; - HEAPF32[4323] = $213; + HEAPF32[4401] = $213; label = 58; break L1; } $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[4324]; + $215 = +HEAPF32[4402]; $216 = $215 - $214; - HEAPF32[4324] = $216; + HEAPF32[4402] = $216; $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[4325]; + $218 = +HEAPF32[4403]; $219 = $218 - $217; - HEAPF32[4325] = $219; + HEAPF32[4403] = $219; $220 = $219 > 1.483529806137085; if ($220) { - HEAPF32[4325] = 1.483529806137085; + HEAPF32[4403] = 1.483529806137085; label = 58; break L1; } @@ -12636,32 +12640,32 @@ function _UpdateCamera($0) { label = 58; break L1; } - HEAPF32[4325] = -1.483529806137085; + HEAPF32[4403] = -1.483529806137085; label = 58; break L1; break; } case 2: { - $254 = +HEAPF32[4324]; + $254 = +HEAPF32[4402]; $255 = $254 + 0.0099999997764825821; - HEAPF32[4324] = $255; + HEAPF32[4402] = $255; $256 = (+($8|0)); $257 = $256 * 1.5; - $258 = +HEAPF32[4323]; + $258 = +HEAPF32[4401]; $259 = $258 - $257; - HEAPF32[4323] = $259; + HEAPF32[4401] = $259; $260 = $259 < 1.2000000476837158; if (!($260)) { label = 58; break L1; } - HEAPF32[4323] = 1.2000000476837158; + HEAPF32[4401] = 1.2000000476837158; label = 58; break L1; break; } case 4: case 3: { - $264 = +HEAPF32[4324]; + $264 = +HEAPF32[4402]; $265 = (+Math_sin((+$264))); $266 = HEAP32[$17>>2]|0; $267 = (+($266>>>0)); @@ -12683,7 +12687,7 @@ function _UpdateCamera($0) { $283 = +HEAPF32[$0>>2]; $284 = $283 + $282; HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[4325]; + $285 = +HEAPF32[4403]; $286 = (+Math_sin((+$285))); $287 = $270 * $286; $288 = $267 * $286; @@ -12751,14 +12755,14 @@ function _UpdateCamera($0) { $$0 = 1; } $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[4324]; + $314 = +HEAPF32[4402]; $315 = $314 - $313; - HEAPF32[4324] = $315; + HEAPF32[4402] = $315; $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[4325]; + $317 = +HEAPF32[4403]; $318 = $317 - $316; - HEAPF32[4325] = $318; - $319 = HEAP32[4326]|0; + HEAPF32[4403] = $318; + $319 = HEAP32[4404]|0; $320 = ($319|0)==(4); if ($320) { $321 = $318 > 0.087266460061073303; @@ -12773,17 +12777,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 49) { - HEAPF32[4325] = $$sink26; + HEAPF32[4403] = $$sink26; } $323 = (+($8|0)); $324 = $323 * 1.5; - $325 = +HEAPF32[4323]; + $325 = +HEAPF32[4401]; $326 = $325 - $324; $327 = $326 < 1.2000000476837158; $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[4323] = $storemerge; + HEAPF32[4401] = $storemerge; $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[4324]; + $329 = +HEAPF32[4402]; $330 = (+Math_cos((+$329))); $331 = $330 * 0.40000000596046448; $332 = $328 + $331; @@ -12814,17 +12818,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 53) { - HEAPF32[4325] = $$sink28; + HEAPF32[4403] = $$sink28; } $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[4324]; + $347 = +HEAPF32[4402]; $348 = (+Math_sin((+$347))); $349 = $348 * 25.0; $350 = $346 - $349; $351 = ((($0)) + 12|0); HEAPF32[$351>>2] = $350; $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[4325]; + $353 = +HEAPF32[4403]; $354 = (+Math_sin((+$353))); $355 = $354 * 25.0; $356 = $352 + $355; @@ -12838,12 +12842,12 @@ function _UpdateCamera($0) { HEAPF32[$362>>2] = $361; $363 = ($$0|0)==(0); if (!($363)) { - $364 = HEAP32[4327]|0; + $364 = HEAP32[4405]|0; $365 = (($364) + 1)|0; - HEAP32[4327] = $365; + HEAP32[4405] = $365; } $366 = +HEAPF32[18]; - $367 = HEAP32[4327]|0; + $367 = HEAP32[4405]|0; $368 = (+($367|0)); $369 = $368 / 5.0; $370 = (+Math_sin((+$369))); @@ -12873,7 +12877,7 @@ function _UpdateCamera($0) { } } while(0); if ((label|0) == 58) { - $$pr190 = HEAP32[4326]|0; + $$pr190 = HEAP32[4404]|0; $380 = $$pr190; } switch ($380|0) { @@ -12884,11 +12888,11 @@ function _UpdateCamera($0) { STACKTOP = sp;return; } } - $381 = +HEAPF32[4324]; + $381 = +HEAPF32[4402]; $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[4323]; + $383 = +HEAPF32[4401]; $384 = $382 * $383; - $385 = +HEAPF32[4325]; + $385 = +HEAPF32[4403]; $386 = (+Math_cos((+$385))); $387 = $384 * $386; $388 = ((($0)) + 12|0); @@ -12897,7 +12901,7 @@ function _UpdateCamera($0) { HEAPF32[$0>>2] = $390; $391 = !($385 <= 0.0); $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[4323]; + $393 = +HEAPF32[4401]; $394 = ((($0)) + 16|0); $395 = +HEAPF32[$394>>2]; $396 = $392 * $393; @@ -12921,7 +12925,7 @@ function _GetMousePosition($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 = 16768; + $1 = 17080; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12938,7 +12942,7 @@ function _GetMousePosition($0) { function _GetMouseWheelMove() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4332]|0; + $0 = HEAP32[4410]|0; $1 = (($0|0) / 100)&-1; return ($1|0); } @@ -12963,19 +12967,19 @@ function _IsKeyDown($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4331]|0; + $0 = HEAP32[4409]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4330]|0; + $0 = HEAP32[4408]|0; return ($0|0); } function _HideCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4328] = 1; + HEAP32[4406] = 1; return; } function _SetMousePosition($0) { @@ -12988,13 +12992,13 @@ function _SetMousePosition($0) { $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; - $7 = 16768; + $7 = 17080; $8 = $7; HEAP32[$8>>2] = $3; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; - $11 = HEAP32[4329]|0; + $11 = HEAP32[4407]|0; $12 = +HEAPF32[$0>>2]; $13 = $12; $14 = ((($0)) + 4|0); @@ -13006,14 +13010,14 @@ function _SetMousePosition($0) { function _ShowCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4328] = 0; + HEAP32[4406] = 0; return; } function _GetKeyStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4329]|0; + $1 = HEAP32[4407]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -13021,7 +13025,7 @@ function _GetMouseButtonStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4329]|0; + $1 = HEAP32[4407]|0; $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); return ($2|0); } @@ -13034,7 +13038,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4296,$vararg_buffer); - HEAP32[4333] = $2; + HEAP32[4411] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -13047,15 +13051,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4325|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4331]|0; + $3 = HEAP32[4409]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4192] = $5; - $6 = HEAP32[4330]|0; + HEAPF32[4270] = $5; + $6 = HEAP32[4408]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16772)>>2] = $8; - $9 = HEAP32[4334]|0; + HEAPF32[(17084)>>2] = $8; + $9 = HEAP32[4412]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -13074,11 +13078,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16808>>0]=HEAP8[8854>>0]|0;HEAP8[16808+1>>0]=HEAP8[8854+1>>0]|0;HEAP8[16808+2>>0]=HEAP8[8854+2>>0]|0;HEAP8[16808+3>>0]=HEAP8[8854+3>>0]|0;HEAP8[16808+4>>0]=HEAP8[8854+4>>0]|0;HEAP8[16808+5>>0]=HEAP8[8854+5>>0]|0;HEAP8[16808+6>>0]=HEAP8[8854+6>>0]|0; + ;HEAP8[17120>>0]=HEAP8[8854>>0]|0;HEAP8[17120+1>>0]=HEAP8[8854+1>>0]|0;HEAP8[17120+2>>0]=HEAP8[8854+2>>0]|0;HEAP8[17120+3>>0]=HEAP8[8854+3>>0]|0;HEAP8[17120+4>>0]=HEAP8[8854+4>>0]|0;HEAP8[17120+5>>0]=HEAP8[8854+5>>0]|0;HEAP8[17120+6>>0]=HEAP8[8854+6>>0]|0; break; } case 1: { - $3 = 16808; + $3 = 17120; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -13087,11 +13091,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16808; src=8861; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=17120; src=8861; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16808; + $7 = 17120; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -13102,16 +13106,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16808,$1)|0); - $strlen = (_strlen(16808)|0); - $endptr = (16808 + ($strlen)|0); + (_strcat(17120,$1)|0); + $strlen = (_strlen(17120)|0); + $endptr = (17120 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16808,$2)|0); + (_vprintf(17120,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -13143,22 +13147,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4331] = $0; - HEAP32[4330] = $1; + HEAP32[4409] = $0; + HEAP32[4408] = $1; _MatrixIdentity($2); - dest=17412; 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)); + dest=17724; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,4996,$vararg_buffer); } - $6 = HEAP32[4331]|0; - HEAP32[4369] = $6; - $7 = HEAP32[4330]|0; - HEAP32[4370] = $7; + $6 = HEAP32[4409]|0; + HEAP32[4447] = $6; + $7 = HEAP32[4408]|0; + HEAP32[4448] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[20152]|0; + $8 = HEAP8[20464]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -13166,13 +13170,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[20152]|0; + $11 = HEAP8[20464]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[20152]|0; + $14 = HEAP8[20464]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -13194,18 +13198,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4371]|0; + $21 = HEAP32[4449]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4331]|0; - $48 = HEAP32[4330]|0; - $49 = HEAP32[4333]|0; + $47 = HEAP32[4409]|0; + $48 = HEAP32[4408]|0; + $49 = HEAP32[4411]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4329] = $50; - $51 = HEAP32[4331]|0; - HEAP32[4372] = $51; - $52 = HEAP32[4330]|0; - HEAP32[4373] = $52; + HEAP32[4407] = $50; + $51 = HEAP32[4409]|0; + HEAP32[4450] = $51; + $52 = HEAP32[4408]|0; + HEAP32[4451] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -13214,9 +13218,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4331]|0; + $27 = HEAP32[4409]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4330]|0; + $29 = HEAP32[4408]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -13238,25 +13242,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4369] = $31; - HEAP32[4370] = $34; + HEAP32[4447] = $31; + HEAP32[4448] = $34; } } while(0); - $38 = HEAP32[4369]|0; - $39 = HEAP32[4370]|0; + $38 = HEAP32[4447]|0; + $39 = HEAP32[4448]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5047,$vararg_buffer3); - $40 = HEAP32[4369]|0; - $41 = HEAP32[4370]|0; + $40 = HEAP32[4447]|0; + $41 = HEAP32[4448]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4369]|0; - $43 = HEAP32[4370]|0; - $44 = HEAP32[4333]|0; + $42 = HEAP32[4447]|0; + $43 = HEAP32[4448]|0; + $44 = HEAP32[4411]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4329] = $46; + HEAP32[4407] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -13265,60 +13269,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5085,$vararg_buffer6); } else { _TraceLog(0,5118,$vararg_buffer8); - $55 = HEAP32[4372]|0; - $56 = HEAP32[4373]|0; + $55 = HEAP32[4450]|0; + $56 = HEAP32[4451]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5158,$vararg_buffer10); - $57 = HEAP32[4331]|0; - $58 = HEAP32[4330]|0; + $57 = HEAP32[4409]|0; + $58 = HEAP32[4408]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5179,$vararg_buffer14); - $59 = HEAP32[4374]|0; - $60 = HEAP32[4375]|0; + $59 = HEAP32[4452]|0; + $60 = HEAP32[4453]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5200,$vararg_buffer18); } - $61 = HEAP32[4329]|0; + $61 = HEAP32[4407]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4329]|0; + $62 = HEAP32[4407]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4329]|0; + $63 = HEAP32[4407]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4329]|0; + $64 = HEAP32[4407]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4329]|0; + $65 = HEAP32[4407]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4329]|0; + $66 = HEAP32[4407]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4329]|0; + $67 = HEAP32[4407]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4329]|0; + $68 = HEAP32[4407]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4329]|0; + $69 = HEAP32[4407]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[20152]|0; + $70 = HEAP8[20464]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4331]|0; - $74 = HEAP32[4330]|0; + $73 = HEAP32[4409]|0; + $74 = HEAP32[4408]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4372]|0; - $76 = HEAP32[4374]|0; + $75 = HEAP32[4450]|0; + $76 = HEAP32[4452]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4373]|0; - $80 = HEAP32[4375]|0; + $79 = HEAP32[4451]|0; + $80 = HEAP32[4453]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13337,18 +13341,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5225,$vararg_buffer22); - $73 = HEAP32[4331]|0; - $74 = HEAP32[4330]|0; + $73 = HEAP32[4409]|0; + $74 = HEAP32[4408]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4372]|0; - $76 = HEAP32[4374]|0; + $75 = HEAP32[4450]|0; + $76 = HEAP32[4452]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4373]|0; - $80 = HEAP32[4375]|0; + $79 = HEAP32[4451]|0; + $80 = HEAP32[4453]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13376,7 +13380,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(17380)>>2] = 224; + HEAP32[(17692)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -13417,27 +13421,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[17356>>2]=HEAP32[$1>>2]|0;HEAP32[17356+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17356+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17356+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17356+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17668>>2]=HEAP32[$1>>2]|0;HEAP32[17668+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17668+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17668+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17668+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(17380)>>2]|0; + $5 = HEAP32[(17692)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(17384)>>2] = $7; + HEAP32[(17696)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(17376)>>2] = $23; - $24 = HEAP32[4339]|0; + HEAP32[(17688)>>2] = $23; + $24 = HEAP32[4417]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4520,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(17360)>>2]|0; - $10 = HEAP32[(17380)>>2]|0; - $11 = HEAP32[(17384)>>2]|0; + $9 = HEAP32[(17672)>>2]|0; + $10 = HEAP32[(17692)>>2]|0; + $11 = HEAP32[(17696)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13486,8 +13490,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(17376)>>2] = $23; - $24 = HEAP32[4339]|0; + HEAP32[(17688)>>2] = $23; + $24 = HEAP32[4417]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4520,$vararg_buffer); STACKTOP = sp;return; @@ -13498,7 +13502,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2100] = $1; + HEAPF64[2139] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13657,7 +13661,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16784; + $31 = 17096; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13670,7 +13674,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16792); + $42 = (17104); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13726,7 +13730,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (17340 + ($10<<2)|0); + $11 = (17652 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13740,7 +13744,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2097] = $$; + HEAPF64[2136] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -13752,7 +13756,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4334] = 0; + HEAP32[4412] = 0; return; } function _GetTime() { @@ -14328,7 +14332,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4347]|0; + $6 = HEAP32[4425]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -14338,7 +14342,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4348]|0; + $9 = HEAP32[4426]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -14347,7 +14351,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4349]|0; + $12 = HEAP32[4427]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -14357,7 +14361,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4350]|0; + $15 = HEAP32[4428]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -14367,7 +14371,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4351]|0; + $18 = HEAP32[4429]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -14411,7 +14415,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4347]|0; + $22 = HEAP32[4425]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14419,7 +14423,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4347]|0; + $24 = HEAP32[4425]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14427,7 +14431,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4347]|0; + $26 = HEAP32[4425]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14435,7 +14439,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4347]|0; + $28 = HEAP32[4425]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14443,7 +14447,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4348]|0; + $30 = HEAP32[4426]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14451,7 +14455,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4349]|0; + $32 = HEAP32[4427]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14459,7 +14463,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4349]|0; + $34 = HEAP32[4427]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14467,7 +14471,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4350]|0; + $36 = HEAP32[4428]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14475,7 +14479,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4350]|0; + $38 = HEAP32[4428]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14483,7 +14487,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4351]|0; + $40 = HEAP32[4429]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14491,7 +14495,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4351]|0; + $42 = HEAP32[4429]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14503,7 +14507,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4352]|0; + $44 = HEAP32[4430]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14849,20 +14853,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4331]|0; + $3 = HEAP32[4409]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4330]|0; + $5 = HEAP32[4408]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4372] = $3; - HEAP32[4373] = $5; - HEAP32[4374] = 0; - HEAP32[4375] = 0; + HEAP32[4450] = $3; + HEAP32[4451] = $5; + HEAP32[4452] = 0; + HEAP32[4453] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14876,9 +14880,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4331]|0; + $35 = HEAP32[4409]|0; $36 = (+($35|0)); - $37 = HEAP32[4330]|0; + $37 = HEAP32[4408]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14886,26 +14890,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4372] = $45; - HEAP32[4373] = $37; + HEAP32[4450] = $45; + HEAP32[4451] = $37; $46 = (($45) - ($35))|0; - HEAP32[4374] = $46; + HEAP32[4452] = $46; $$sink1 = 0; } else { - HEAP32[4372] = $35; + HEAP32[4450] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4373] = $42; - HEAP32[4374] = 0; + HEAP32[4451] = $42; + HEAP32[4452] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4375] = $$sink1; + HEAP32[4453] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4330]|0; + $7 = HEAP32[4408]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14915,11 +14919,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8607,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4331]|0; + $9 = HEAP32[4409]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4330]|0; + $13 = HEAP32[4408]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14927,33 +14931,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4372] = $23; - HEAP32[4373] = $1; + HEAP32[4450] = $23; + HEAP32[4451] = $1; $24 = (($0) - ($23))|0; - HEAP32[4374] = $24; + HEAP32[4452] = $24; $$sink = 0; } else { - HEAP32[4372] = $0; - $17 = HEAP32[4330]|0; + HEAP32[4450] = $0; + $17 = HEAP32[4408]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4373] = $20; - HEAP32[4374] = 0; + HEAP32[4451] = $20; + HEAP32[4452] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4375] = $$sink; - $25 = HEAP32[4372]|0; + HEAP32[4453] = $$sink; + $25 = HEAP32[4450]|0; $26 = (+($25|0)); - $27 = HEAP32[4331]|0; + $27 = HEAP32[4409]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=17412; 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)); - HEAP32[4372] = $0; - HEAP32[4373] = $1; + dest=17724; 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)); + HEAP32[4450] = $0; + HEAP32[4451] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -14975,10 +14979,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4331] = $1; - HEAP32[4330] = $2; - HEAP32[4372] = $1; - HEAP32[4373] = $2; + HEAP32[4409] = $1; + HEAP32[4408] = $2; + HEAP32[4450] = $1; + HEAP32[4451] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -15005,7 +15009,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (20159 + ($1)|0); + $9 = (20471 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -15026,7 +15030,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (20153 + ($1)|0); + $7 = (20465 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -15105,7 +15109,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16784; + $15 = 17096; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -15140,7 +15144,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4745] = $3; + HEAP32[4823] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -15150,7 +15154,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4744] = $$sink; + HEAP32[4822] = $$sink; return; } function _rlglInit($0,$1) { @@ -15231,18 +15235,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5357)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4410] = 1; + HEAP32[4488] = 1; $27 = (_eglGetProcAddress((5384|0))|0); - HEAP32[4411] = $27; + HEAP32[4489] = $27; $28 = (_eglGetProcAddress((5405|0))|0); - HEAP32[4412] = $28; + HEAP32[4490] = $28; $29 = (_eglGetProcAddress((5426|0))|0); - HEAP32[4413] = $29; + HEAP32[4491] = $29; } $30 = (_strcmp($24,5450)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4352] = 1; + HEAP32[4430] = 1; } $32 = (_strcmp($24,5470)|0); $33 = ($32|0)==(0); @@ -15264,7 +15268,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4347] = 1; + HEAP32[4425] = 1; } $39 = (_strcmp($24,5575)|0); $40 = ($39|0)==(0); @@ -15280,35 +15284,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4348] = 1; + HEAP32[4426] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5644)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4349] = 1; + HEAP32[4427] = 1; } $47 = (_strcmp($44,5669)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4350] = 1; + HEAP32[4428] = 1; } $49 = (_strcmp($44,5702)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4351] = 1; + HEAP32[4429] = 1; } $51 = (_strcmp($44,5738)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4414] = 1; - _glGetFloatv(34047,(17660|0)); + HEAP32[4492] = 1; + _glGetFloatv(34047,(17972|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5772)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4416] = 1; + HEAP32[4494] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -15319,61 +15323,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4410]|0; + $21 = HEAP32[4488]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5875,$vararg_buffer15); } else { _TraceLog(0,5800,$vararg_buffer13); } - $57 = HEAP32[4352]|0; + $57 = HEAP32[4430]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6011,$vararg_buffer19); } else { _TraceLog(0,5936,$vararg_buffer17); } - $59 = HEAP32[4347]|0; + $59 = HEAP32[4425]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6103,$vararg_buffer21); } - $61 = HEAP32[4348]|0; + $61 = HEAP32[4426]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6149,$vararg_buffer23); } - $63 = HEAP32[4349]|0; + $63 = HEAP32[4427]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6196,$vararg_buffer25); } - $65 = HEAP32[4350]|0; + $65 = HEAP32[4428]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6247,$vararg_buffer27); } - $67 = HEAP32[4351]|0; + $67 = HEAP32[4429]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6294,$vararg_buffer29); } - $69 = HEAP32[4414]|0; + $69 = HEAP32[4492]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4415]; + $71 = +HEAPF32[4493]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6341,$vararg_buffer31); } - $73 = HEAP32[4416]|0; + $73 = HEAP32[4494]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6407,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4417] = $75; + HEAP32[4495] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6511,$vararg_buffer39); @@ -15382,14 +15386,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6460,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17672; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17728; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17984; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18040; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4446] = $77; + HEAP32[4524] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4446]|0; + $79 = HEAP32[4524]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -15402,7 +15406,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4447] = $78; + HEAP32[4525] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15417,48 +15421,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4448] = 1; - $85 = HEAP32[4417]|0; + HEAP32[4526] = 1; + $85 = HEAP32[4495]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4449] = 4; + HEAP32[4527] = 4; _MatrixIdentity($4); - dest=17800; src=$4; 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)); + dest=18112; src=$4; 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)); _MatrixIdentity($4); - dest=(17864); src=$4; 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)); + dest=(18176); src=$4; 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)); _MatrixIdentity($4); - dest=(17928); src=$4; 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)); + dest=(18240); src=$4; 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)); _MatrixIdentity($4); - dest=(17992); src=$4; 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)); + dest=(18304); src=$4; 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)); _MatrixIdentity($4); - dest=(18056); src=$4; 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)); + dest=(18368); src=$4; 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)); _MatrixIdentity($4); - dest=(18120); src=$4; 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)); + dest=(18432); src=$4; 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)); _MatrixIdentity($4); - dest=(18184); src=$4; 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)); + dest=(18496); src=$4; 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)); _MatrixIdentity($4); - dest=(18248); src=$4; 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)); + dest=(18560); src=$4; 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)); _MatrixIdentity($4); - dest=(18312); src=$4; 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)); + dest=(18624); src=$4; 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)); _MatrixIdentity($4); - dest=(18376); src=$4; 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)); + dest=(18688); src=$4; 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)); _MatrixIdentity($4); - dest=(18440); src=$4; 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)); + dest=(18752); src=$4; 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)); _MatrixIdentity($4); - dest=(18504); src=$4; 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)); + dest=(18816); src=$4; 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)); _MatrixIdentity($4); - dest=(18568); src=$4; 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)); + dest=(18880); src=$4; 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)); _MatrixIdentity($4); - dest=(18632); src=$4; 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)); + dest=(18944); src=$4; 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)); _MatrixIdentity($4); - dest=(18696); src=$4; 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)); + dest=(19008); src=$4; 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)); _MatrixIdentity($4); - dest=(18760); src=$4; 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)); + dest=(19072); src=$4; 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)); _MatrixIdentity($5); - dest=17508; src=$5; 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)); + dest=17820; src=$5; 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)); _MatrixIdentity($6); - dest=17572; src=$6; 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)); - HEAP32[4376] = 17572; + dest=17884; src=$6; 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)); + HEAP32[4454] = 17884; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15469,21 +15473,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4706] = $0; - HEAP32[4707] = $1; + HEAP32[4784] = $0; + HEAP32[4785] = $1; _TraceLog(0,6550,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4374]|0; + $0 = HEAP32[4452]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4375]|0; + $2 = HEAP32[4453]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4372]|0; + $4 = HEAP32[4450]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4373]|0; + $6 = HEAP32[4451]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15494,12 +15498,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 17508; + $modelview$sink = 17820; label = 3; break; } case 5888: { - $modelview$sink = 17572; + $modelview$sink = 17884; label = 3; break; } @@ -15507,9 +15511,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4376] = $modelview$sink; + HEAP32[4454] = $modelview$sink; } - HEAP32[4409] = $0; + HEAP32[4487] = $0; return; } function _rlLoadIdentity() { @@ -15517,7 +15521,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4376]|0; + $1 = HEAP32[4454]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -15538,7 +15542,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4376]|0; + $8 = HEAP32[4454]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -15635,15 +15639,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18844)>>2] = $0; + HEAP32[(19156)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18852)>>2] = $1; - HEAP32[(18848)>>2] = 0; - HEAP32[(18856)>>2] = 0; + HEAP32[(19164)>>2] = $1; + HEAP32[(19160)>>2] = 0; + HEAP32[(19168)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18852)>>2]|0; + $2 = HEAP32[(19164)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15654,19 +15658,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4708] = 0; - HEAP32[(18840)>>2] = 0; - HEAP32[(18836)>>2] = 0; + HEAP32[4786] = 0; + HEAP32[(19152)>>2] = 0; + HEAP32[(19148)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18892)>>2] = $5; + HEAP32[(19204)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18900)>>2] = $6; - HEAP32[(18896)>>2] = 0; - HEAP32[(18904)>>2] = 0; + HEAP32[(19212)>>2] = $6; + HEAP32[(19208)>>2] = 0; + HEAP32[(19216)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18900)>>2]|0; + $7 = HEAP32[(19212)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15677,24 +15681,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4720] = 0; - HEAP32[(18888)>>2] = 0; - HEAP32[(18884)>>2] = 0; + HEAP32[4798] = 0; + HEAP32[(19200)>>2] = 0; + HEAP32[(19196)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18940)>>2] = $10; + HEAP32[(19252)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18944)>>2] = $11; + HEAP32[(19256)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18948)>>2] = $12; + HEAP32[(19260)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18952)>>2] = $13; - $14 = HEAP32[(18940)>>2]|0; + HEAP32[(19264)>>2] = $13; + $14 = HEAP32[(19252)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18944)>>2]|0; + $15 = HEAP32[(19256)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18948)>>2]|0; + $17 = HEAP32[(19260)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15705,7 +15709,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18952)>>2]|0; + $16 = HEAP32[(19264)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15742,140 +15746,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4732] = 0; - HEAP32[(18932)>>2] = 0; - HEAP32[(18936)>>2] = 0; + HEAP32[4810] = 0; + HEAP32[(19244)>>2] = 0; + HEAP32[(19248)>>2] = 0; _TraceLog(0,6597,$vararg_buffer); - $20 = HEAP32[4410]|0; + $20 = HEAP32[4488]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4411]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18860)); - $44 = HEAP32[4412]|0; - $45 = HEAP32[(18860)>>2]|0; + $43 = HEAP32[4489]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(19172)); + $44 = HEAP32[4490]|0; + $45 = HEAP32[(19172)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18864)|0)); - $46 = HEAP32[(18864)>>2]|0; + _glGenBuffers(2,((19176)|0)); + $46 = HEAP32[(19176)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18844)>>2]|0; + $47 = HEAP32[(19156)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17732)>>2]|0; + $48 = HEAP32[(18044)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17732)>>2]|0; + $49 = HEAP32[(18044)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18868)|0)); - $50 = HEAP32[(18868)>>2]|0; + _glGenBuffers(2,((19180)|0)); + $50 = HEAP32[(19180)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18852)>>2]|0; + $51 = HEAP32[(19164)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17752)>>2]|0; + $52 = HEAP32[(18064)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17752)>>2]|0; + $53 = HEAP32[(18064)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4410]|0; + $54 = HEAP32[4488]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18864)>>2]|0; - $58 = HEAP32[(18868)>>2]|0; + $57 = HEAP32[(19176)>>2]|0; + $58 = HEAP32[(19180)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6735,$vararg_buffer3); } else { - $56 = HEAP32[(18860)>>2]|0; + $56 = HEAP32[(19172)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6670,$vararg_buffer1); } - $59 = HEAP32[4410]|0; + $59 = HEAP32[4488]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4411]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18908)); - $62 = HEAP32[4412]|0; - $63 = HEAP32[(18908)>>2]|0; + $61 = HEAP32[4489]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(19220)); + $62 = HEAP32[4490]|0; + $63 = HEAP32[(19220)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18912)|0)); - $64 = HEAP32[(18912)>>2]|0; + _glGenBuffers(1,((19224)|0)); + $64 = HEAP32[(19224)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18892)>>2]|0; + $65 = HEAP32[(19204)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17732)>>2]|0; + $66 = HEAP32[(18044)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17732)>>2]|0; + $67 = HEAP32[(18044)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18916)|0)); - $68 = HEAP32[(18916)>>2]|0; + _glGenBuffers(1,((19228)|0)); + $68 = HEAP32[(19228)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18900)>>2]|0; + $69 = HEAP32[(19212)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17752)>>2]|0; + $70 = HEAP32[(18064)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17752)>>2]|0; + $71 = HEAP32[(18064)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4410]|0; + $72 = HEAP32[4488]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18912)>>2]|0; - $76 = HEAP32[(18916)>>2]|0; + $75 = HEAP32[(19224)>>2]|0; + $76 = HEAP32[(19228)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6881,$vararg_buffer10); } else { - $74 = HEAP32[(18908)>>2]|0; + $74 = HEAP32[(19220)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6812,$vararg_buffer7); } - $77 = HEAP32[4410]|0; + $77 = HEAP32[4488]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4411]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18956)); - $80 = HEAP32[4412]|0; - $81 = HEAP32[(18956)>>2]|0; + $79 = HEAP32[4489]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(19268)); + $80 = HEAP32[4490]|0; + $81 = HEAP32[(19268)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18960)|0)); - $82 = HEAP32[(18960)>>2]|0; + _glGenBuffers(1,((19272)|0)); + $82 = HEAP32[(19272)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18940)>>2]|0; + $83 = HEAP32[(19252)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17732)>>2]|0; + $84 = HEAP32[(18044)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17732)>>2]|0; + $85 = HEAP32[(18044)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18964)|0)); - $86 = HEAP32[(18964)>>2]|0; + _glGenBuffers(1,((19276)|0)); + $86 = HEAP32[(19276)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18944)>>2]|0; + $87 = HEAP32[(19256)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17736)>>2]|0; + $88 = HEAP32[(18048)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17736)>>2]|0; + $89 = HEAP32[(18048)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18968)|0)); - $90 = HEAP32[(18968)>>2]|0; + _glGenBuffers(1,((19280)|0)); + $90 = HEAP32[(19280)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18948)>>2]|0; + $91 = HEAP32[(19260)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17752)>>2]|0; + $92 = HEAP32[(18064)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17752)>>2]|0; + $93 = HEAP32[(18064)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18972)|0)); - $94 = HEAP32[(18972)>>2]|0; + _glGenBuffers(1,((19284)|0)); + $94 = HEAP32[(19284)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18952)>>2]|0; + $95 = HEAP32[(19264)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4410]|0; + $96 = HEAP32[4488]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18960)>>2]|0; - $100 = HEAP32[(18964)>>2]|0; - $101 = HEAP32[(18968)>>2]|0; - $102 = HEAP32[(18972)>>2]|0; + $99 = HEAP32[(19272)>>2]|0; + $100 = HEAP32[(19276)>>2]|0; + $101 = HEAP32[(19280)>>2]|0; + $102 = HEAP32[(19284)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15885,16 +15889,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7027,$vararg_buffer17); } else { - $98 = HEAP32[(18956)>>2]|0; + $98 = HEAP32[(19268)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,6962,$vararg_buffer14); } - $103 = HEAP32[4410]|0; + $103 = HEAP32[4488]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4412]|0; + $105 = HEAP32[4490]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -16075,9 +16079,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (20153 + ($0)|0); + $1 = (20465 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (20156 + ($0)|0); + $3 = (20468 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16089,9 +16093,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (20153 + ($0)|0); + $1 = (20465 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (20156 + ($0)|0); + $3 = (20468 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -16112,7 +16116,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4329]|0; + $0 = HEAP32[4407]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8871,$vararg_buffer); @@ -16123,9 +16127,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[17356>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17356+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17356+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17356+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17356+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17668>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17668+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17668+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17668+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17668+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(17384)>>2]|0; + $0 = HEAP32[(17696)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -16136,11 +16140,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17668|0)); - $0 = HEAP32[4417]|0; + _glDeleteTextures(1,(17980|0)); + $0 = HEAP32[4495]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8898,$vararg_buffer); - $1 = HEAP32[4447]|0; + $1 = HEAP32[4525]|0; _free($1); STACKTOP = sp;return; } @@ -16148,17 +16152,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4418]|0; + $0 = HEAP32[4496]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4410]|0; + $0 = HEAP32[4488]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4412]|0; + $2 = HEAP32[4490]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -16167,39 +16171,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18864)|0)); - _glDeleteBuffers(1,((18868)|0)); - _glDeleteBuffers(1,((18912)|0)); - _glDeleteBuffers(1,((18916)|0)); - _glDeleteBuffers(1,((18960)|0)); - _glDeleteBuffers(1,((18964)|0)); - _glDeleteBuffers(1,((18968)|0)); - _glDeleteBuffers(1,((18972)|0)); - $3 = HEAP32[4410]|0; + _glDeleteBuffers(1,((19176)|0)); + _glDeleteBuffers(1,((19180)|0)); + _glDeleteBuffers(1,((19224)|0)); + _glDeleteBuffers(1,((19228)|0)); + _glDeleteBuffers(1,((19272)|0)); + _glDeleteBuffers(1,((19276)|0)); + _glDeleteBuffers(1,((19280)|0)); + _glDeleteBuffers(1,((19284)|0)); + $3 = HEAP32[4488]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4413]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18860)); - $6 = HEAP32[4413]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18908)); - $7 = HEAP32[4413]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18956)); + $5 = HEAP32[4491]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(19172)); + $6 = HEAP32[4491]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(19220)); + $7 = HEAP32[4491]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(19268)); } - $8 = HEAP32[(18844)>>2]|0; + $8 = HEAP32[(19156)>>2]|0; _free($8); - $9 = HEAP32[(18852)>>2]|0; + $9 = HEAP32[(19164)>>2]|0; _free($9); - $10 = HEAP32[(18892)>>2]|0; + $10 = HEAP32[(19204)>>2]|0; _free($10); - $11 = HEAP32[(18900)>>2]|0; + $11 = HEAP32[(19212)>>2]|0; _free($11); - $12 = HEAP32[(18940)>>2]|0; + $12 = HEAP32[(19252)>>2]|0; _free($12); - $13 = HEAP32[(18944)>>2]|0; + $13 = HEAP32[(19256)>>2]|0; _free($13); - $14 = HEAP32[(18948)>>2]|0; + $14 = HEAP32[(19260)>>2]|0; _free($14); - $15 = HEAP32[(18952)>>2]|0; + $15 = HEAP32[(19264)>>2]|0; _free($15); return; } @@ -16239,16 +16243,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2117] = $0; - $1 = +HEAPF64[2100]; + HEAPF64[2156] = $0; + $1 = +HEAPF64[2139]; $2 = $0 - $1; - HEAPF64[2118] = $2; - HEAPF64[2100] = $0; + HEAPF64[2157] = $2; + HEAPF64[2139] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=17412; 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)); + dest=$downscaleView$byval_copy; src=17724; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18984); + _rlMultMatrixf(19296); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -16257,53 +16261,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[4746] = $1; + HEAP32[4824] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18988)>>2] = $3; + HEAP32[(19300)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18992)>>2] = $5; + HEAP32[(19304)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18996)>>2] = $7; + HEAP32[(19308)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(19000)>>2] = $9; + HEAP32[(19312)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(19004)>>2] = $11; + HEAP32[(19316)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(19008)>>2] = $13; + HEAP32[(19320)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(19012)>>2] = $15; + HEAP32[(19324)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(19016)>>2] = $17; + HEAP32[(19328)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(19020)>>2] = $19; + HEAP32[(19332)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(19024)>>2] = $21; + HEAP32[(19336)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19028)>>2] = $23; + HEAP32[(19340)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(19032)>>2] = $25; + HEAP32[(19344)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(19036)>>2] = $27; + HEAP32[(19348)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(19040)>>2] = $29; + HEAP32[(19352)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(19044)>>2] = $31; - return (18984|0); + HEAP32[(19356)>>2] = $31; + return (19296|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16378,7 +16382,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4376]|0; + $49 = HEAP32[4454]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -16392,15 +16396,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2117] = $0; - $1 = +HEAPF64[2100]; + HEAPF64[2156] = $0; + $1 = +HEAPF64[2139]; $2 = $0 - $1; - HEAPF64[2119] = $2; - HEAPF64[2100] = $0; - $3 = +HEAPF64[2118]; + HEAPF64[2158] = $2; + HEAPF64[2139] = $0; + $3 = +HEAPF64[2157]; $4 = $2 + $3; - HEAPF64[2120] = $4; - $5 = +HEAPF64[2097]; + HEAPF64[2159] = $4; + $5 = +HEAPF64[2136]; $6 = $4 < $5; if (!($6)) { return; @@ -16410,13 +16414,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2117] = $10; - $11 = +HEAPF64[2100]; + HEAPF64[2156] = $10; + $11 = +HEAPF64[2139]; $12 = $10 - $11; - HEAPF64[2100] = $10; - $13 = +HEAPF64[2120]; + HEAPF64[2139] = $10; + $13 = +HEAPF64[2159]; $14 = $12 + $13; - HEAPF64[2120] = $14; + HEAPF64[2159] = $14; return; } function _rlglDraw() { @@ -16429,7 +16433,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4329]|0; + $0 = HEAP32[4407]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16445,20 +16449,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[764] = -1; HEAP32[766] = -1; - HEAP32[4762] = 0; - $3 = HEAP32[4329]|0; + HEAP32[4840] = 0; + $3 = HEAP32[4407]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4192] = $5; + HEAPF32[4270] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16772)>>2] = $7; - _memcpy((20671|0),(20159|0),512)|0; - ;HEAP8[20156>>0]=HEAP8[20153>>0]|0;HEAP8[20156+1>>0]=HEAP8[20153+1>>0]|0;HEAP8[20156+2>>0]=HEAP8[20153+2>>0]|0; - $8 = HEAP32[4745]|0; - HEAP32[4332] = $8; - HEAP32[4745] = 0; + HEAPF32[(17084)>>2] = $7; + _memcpy((20983|0),(20471|0),512)|0; + ;HEAP8[20468>>0]=HEAP8[20465>>0]|0;HEAP8[20468+1>>0]=HEAP8[20465+1>>0]|0;HEAP8[20468+2>>0]=HEAP8[20465+2>>0]|0; + $8 = HEAP32[4823]|0; + HEAP32[4410] = $8; + HEAP32[4823] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16468,8 +16472,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (21183 + ($$05160<<5)|0); - $scevgep67 = (21311 + ($$05160<<5)|0); + $scevgep = (21495 + ($$05160<<5)|0); + $scevgep67 = (21623 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -16483,7 +16487,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((21311 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((21623 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[766] = $$04857; @@ -16510,7 +16514,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((19052 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((19364 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16526,7 +16530,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4762] = $$lcssa; + HEAP32[4840] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16567,87 +16571,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4708]|0; + $0 = HEAP32[4786]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4410]|0; + $2 = HEAP32[4488]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4412]|0; - $5 = HEAP32[(18860)>>2]|0; + $4 = HEAP32[4490]|0; + $5 = HEAP32[(19172)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18864)>>2]|0; + $6 = HEAP32[(19176)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4708]|0; + $7 = HEAP32[4786]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18844)>>2]|0; + $9 = HEAP32[(19156)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18868)>>2]|0; + $10 = HEAP32[(19180)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18840)>>2]|0; + $11 = HEAP32[(19152)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18852)>>2]|0; + $13 = HEAP32[(19164)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4720]|0; + $14 = HEAP32[4798]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4410]|0; + $16 = HEAP32[4488]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4412]|0; - $19 = HEAP32[(18908)>>2]|0; + $18 = HEAP32[4490]|0; + $19 = HEAP32[(19220)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18912)>>2]|0; + $20 = HEAP32[(19224)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4720]|0; + $21 = HEAP32[4798]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18892)>>2]|0; + $23 = HEAP32[(19204)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18916)>>2]|0; + $24 = HEAP32[(19228)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18888)>>2]|0; + $25 = HEAP32[(19200)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18900)>>2]|0; + $27 = HEAP32[(19212)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4732]|0; + $28 = HEAP32[4810]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4410]|0; + $30 = HEAP32[4488]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4412]|0; - $33 = HEAP32[(18956)>>2]|0; + $32 = HEAP32[4490]|0; + $33 = HEAP32[(19268)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18960)>>2]|0; + $34 = HEAP32[(19272)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4732]|0; + $35 = HEAP32[4810]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18940)>>2]|0; + $37 = HEAP32[(19252)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18964)>>2]|0; + $38 = HEAP32[(19276)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4732]|0; + $39 = HEAP32[4810]|0; $40 = $39 << 3; - $41 = HEAP32[(18944)>>2]|0; + $41 = HEAP32[(19256)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18968)>>2]|0; + $42 = HEAP32[(19280)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4732]|0; + $43 = HEAP32[4810]|0; $44 = $43 << 2; - $45 = HEAP32[(18948)>>2]|0; + $45 = HEAP32[(19260)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4410]|0; + $46 = HEAP32[4488]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4412]|0; + $48 = HEAP32[4490]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16665,9 +16669,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=17508; 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)); - dest=$1; src=17572; 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)); - $3 = HEAP32[4795]|0; + dest=$0; src=17820; 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)); + dest=$1; src=17884; 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)); + $3 = HEAP32[4873]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16677,134 +16681,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4708]|0; + $8 = HEAP32[4786]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4720]|0; + $10 = HEAP32[4798]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4732]|0; + $12 = HEAP32[4810]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4432]|0; + $14 = HEAP32[4510]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=17572; 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)); - dest=$$byval_copy2; src=17508; 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)); + dest=$modelview$byval_copy; src=17884; 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)); + dest=$$byval_copy2; src=17820; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17756)>>2]|0; + $15 = HEAP32[(18068)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17760)>>2]|0; + $17 = HEAP32[(18072)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17772)>>2]|0; + $18 = HEAP32[(18084)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4708]|0; + $19 = HEAP32[4786]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4417]|0; + $21 = HEAP32[4495]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4410]|0; + $22 = HEAP32[4488]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18864)>>2]|0; + $26 = HEAP32[(19176)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17732)>>2]|0; + $27 = HEAP32[(18044)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17732)>>2]|0; + $28 = HEAP32[(18044)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18868)>>2]|0; + $29 = HEAP32[(19180)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17752)>>2]|0; + $30 = HEAP32[(18064)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17752)>>2]|0; + $31 = HEAP32[(18064)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4412]|0; - $25 = HEAP32[(18860)>>2]|0; + $24 = HEAP32[4490]|0; + $25 = HEAP32[(19172)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4708]|0; + $32 = HEAP32[4786]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4410]|0; + $33 = HEAP32[4488]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4720]|0; + $35 = HEAP32[4798]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4417]|0; + $37 = HEAP32[4495]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4410]|0; + $38 = HEAP32[4488]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18912)>>2]|0; + $42 = HEAP32[(19224)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17732)>>2]|0; + $43 = HEAP32[(18044)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17732)>>2]|0; + $44 = HEAP32[(18044)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18916)>>2]|0; + $45 = HEAP32[(19228)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17752)>>2]|0; + $46 = HEAP32[(18064)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17752)>>2]|0; + $47 = HEAP32[(18064)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4412]|0; - $41 = HEAP32[(18908)>>2]|0; + $40 = HEAP32[4490]|0; + $41 = HEAP32[(19220)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4720]|0; + $48 = HEAP32[4798]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4410]|0; + $49 = HEAP32[4488]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4732]|0; + $51 = HEAP32[4810]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4410]|0; + $53 = HEAP32[4488]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18960)>>2]|0; + $57 = HEAP32[(19272)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17732)>>2]|0; + $58 = HEAP32[(18044)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17732)>>2]|0; + $59 = HEAP32[(18044)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18964)>>2]|0; + $60 = HEAP32[(19276)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17736)>>2]|0; + $61 = HEAP32[(18048)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17736)>>2]|0; + $62 = HEAP32[(18048)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18968)>>2]|0; + $63 = HEAP32[(19280)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17752)>>2]|0; + $64 = HEAP32[(18064)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17752)>>2]|0; + $65 = HEAP32[(18064)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18972)>>2]|0; + $66 = HEAP32[(19284)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4412]|0; - $56 = HEAP32[(18956)>>2]|0; + $55 = HEAP32[4490]|0; + $56 = HEAP32[(19268)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4448]|0; + $67 = HEAP32[4526]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4447]|0; + $71 = HEAP32[4525]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16815,14 +16819,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4447]|0; + $80 = HEAP32[4525]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4448]|0; + $87 = HEAP32[4526]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16831,7 +16835,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4410]|0; + $69 = HEAP32[4488]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16839,10 +16843,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4410]|0; + $89 = HEAP32[4488]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4412]|0; + $91 = HEAP32[4490]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16854,22 +16858,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4448] = 1; - $5 = HEAP32[4417]|0; - $6 = HEAP32[4447]|0; + HEAP32[4526] = 1; + $5 = HEAP32[4495]|0; + $6 = HEAP32[4525]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4708] = 0; - HEAP32[(18840)>>2] = 0; - HEAP32[4720] = 0; - HEAP32[(18888)>>2] = 0; - HEAP32[4732] = 0; - HEAP32[(18932)>>2] = 0; - HEAP32[(18936)>>2] = 0; + HEAP32[4786] = 0; + HEAP32[(19152)>>2] = 0; + HEAP32[4798] = 0; + HEAP32[(19200)>>2] = 0; + HEAP32[4810] = 0; + HEAP32[(19244)>>2] = 0; + HEAP32[(19248)>>2] = 0; HEAPF32[767] = -1.0; - dest=17508; src=$0; 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)); - dest=17572; src=$1; 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)); + dest=17820; src=$0; 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)); + dest=17884; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16884,17 +16888,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[4706]|0; + $5 = HEAP32[4784]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4707]|0; + $9 = HEAP32[4785]|0; _rlViewport($7,0,$8,$9); - $10 = (19412 + ($0<<6)|0); + $10 = (19724 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (19284 + ($0<<6)|0); + $11 = (19596 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -16906,14 +16910,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17572; src=$0; 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)); + dest=17884; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17508; src=$0; 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)); + dest=17820; src=$0; 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)); return; } function _Begin3dMode($0) { @@ -16930,9 +16934,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4331]|0; + $2 = HEAP32[4409]|0; $3 = (+($2|0)); - $4 = HEAP32[4330]|0; + $4 = HEAP32[4408]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -16957,7 +16961,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; 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)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(18984); + _rlMultMatrixf(19296); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -16966,26 +16970,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4885]|0; + $0 = HEAP32[4963]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9013,$vararg_buffer); } - $2 = HEAP32[4885]|0; - $3 = (17800 + ($2<<6)|0); - $4 = HEAP32[4376]|0; + $2 = HEAP32[4963]|0; + $3 = (18112 + ($2<<6)|0); + $4 = HEAP32[4454]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[4885]|0; + $5 = HEAP32[4963]|0; $6 = (($5) + 1)|0; - HEAP32[4885] = $6; - $7 = HEAP32[4409]|0; + HEAP32[4963] = $6; + $7 = HEAP32[4487]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4886] = 1; + HEAP32[4964] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -17004,7 +17008,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4376]|0; + $8 = HEAP32[4454]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -17031,18 +17035,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4885]|0; + $0 = HEAP32[4963]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4885]|0; + $2 = HEAP32[4963]|0; $3 = (($2) + -1)|0; - $4 = (17800 + ($3<<6)|0); - $5 = HEAP32[4376]|0; + $4 = (18112 + ($3<<6)|0); + $5 = HEAP32[4454]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4885] = $6; + HEAP32[4963] = $6; return; } function _rlDisableDepthTest() { @@ -17062,7 +17066,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2120]; + $0 = +HEAPF64[2159]; $1 = $0; return (+$1); } @@ -17096,7 +17100,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4376]|0; + $5 = HEAP32[4454]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -17129,7 +17133,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4376]|0; + $11 = HEAP32[4454]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -17140,7 +17144,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4449] = $0; + HEAP32[4527] = $0; return; } function _rlEnd() { @@ -17156,21 +17160,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4886]|0; + $0 = HEAP32[4964]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4887]|0; + $2 = HEAP32[4965]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4446]|0; + $6 = HEAP32[4524]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4376]|0; + $8 = HEAP32[4454]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4887]|0; + $5 = HEAP32[4965]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -17178,12 +17182,12 @@ function _rlEnd() { break; } } - HEAP32[4886] = 0; + HEAP32[4964] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4446]|0; + $11 = HEAP32[4524]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -17192,7 +17196,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4887]|0; + $19 = HEAP32[4965]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -17202,15 +17206,15 @@ function _rlEnd() { } } } else { - HEAP32[4886] = 0; + HEAP32[4964] = 0; } - HEAP32[4887] = 0; + HEAP32[4965] = 0; } - $21 = HEAP32[4449]|0; + $21 = HEAP32[4527]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4708]|0; - $23 = HEAP32[(18840)>>2]|0; + $22 = HEAP32[4786]|0; + $23 = HEAP32[(19152)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[767]; @@ -17229,16 +17233,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18852)>>2]|0; - $28 = HEAP32[(18840)>>2]|0; + $27 = HEAP32[(19164)>>2]|0; + $28 = HEAP32[(19152)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18852)>>2]|0; - $35 = HEAP32[(18840)>>2]|0; + $34 = HEAP32[(19164)>>2]|0; + $35 = HEAP32[(19152)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -17246,8 +17250,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18852)>>2]|0; - $43 = HEAP32[(18840)>>2]|0; + $42 = HEAP32[(19164)>>2]|0; + $43 = HEAP32[(19152)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -17255,8 +17259,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18852)>>2]|0; - $51 = HEAP32[(18840)>>2]|0; + $50 = HEAP32[(19164)>>2]|0; + $51 = HEAP32[(19152)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -17264,9 +17268,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18840)>>2]|0; + $58 = HEAP32[(19152)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18840)>>2] = $59; + HEAP32[(19152)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -17282,8 +17286,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4720]|0; - $62 = HEAP32[(18888)>>2]|0; + $61 = HEAP32[4798]|0; + $62 = HEAP32[(19200)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[767]; @@ -17302,16 +17306,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18900)>>2]|0; - $67 = HEAP32[(18888)>>2]|0; + $66 = HEAP32[(19212)>>2]|0; + $67 = HEAP32[(19200)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18900)>>2]|0; - $74 = HEAP32[(18888)>>2]|0; + $73 = HEAP32[(19212)>>2]|0; + $74 = HEAP32[(19200)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -17319,8 +17323,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18900)>>2]|0; - $82 = HEAP32[(18888)>>2]|0; + $81 = HEAP32[(19212)>>2]|0; + $82 = HEAP32[(19200)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -17328,8 +17332,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18900)>>2]|0; - $90 = HEAP32[(18888)>>2]|0; + $89 = HEAP32[(19212)>>2]|0; + $90 = HEAP32[(19200)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -17337,9 +17341,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18888)>>2]|0; + $97 = HEAP32[(19200)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18888)>>2] = $98; + HEAP32[(19200)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -17355,8 +17359,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4732]|0; - $101 = HEAP32[(18936)>>2]|0; + $100 = HEAP32[4810]|0; + $101 = HEAP32[(19248)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -17364,16 +17368,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18948)>>2]|0; - $106 = HEAP32[(18936)>>2]|0; + $105 = HEAP32[(19260)>>2]|0; + $106 = HEAP32[(19248)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18948)>>2]|0; - $113 = HEAP32[(18936)>>2]|0; + $112 = HEAP32[(19260)>>2]|0; + $113 = HEAP32[(19248)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -17381,8 +17385,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18948)>>2]|0; - $121 = HEAP32[(18936)>>2]|0; + $120 = HEAP32[(19260)>>2]|0; + $121 = HEAP32[(19248)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -17390,8 +17394,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18948)>>2]|0; - $129 = HEAP32[(18936)>>2]|0; + $128 = HEAP32[(19260)>>2]|0; + $129 = HEAP32[(19248)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -17399,9 +17403,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18936)>>2]|0; + $136 = HEAP32[(19248)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18936)>>2] = $137; + HEAP32[(19248)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -17412,8 +17416,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4732]|0; - $140 = HEAP32[(18932)>>2]|0; + $139 = HEAP32[4810]|0; + $140 = HEAP32[(19244)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[767]; @@ -17421,8 +17425,8 @@ function _rlEnd() { HEAPF32[767] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18944)>>2]|0; - $$promoted = HEAP32[(18932)>>2]|0; + $142 = HEAP32[(19256)>>2]|0; + $$promoted = HEAP32[(19244)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -17430,7 +17434,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18932)>>2] = $147; + HEAP32[(19244)>>2] = $147; $148 = +HEAPF32[767]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[767] = $149; @@ -17457,11 +17461,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4886]|0; + $3 = HEAP32[4964]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4446]|0; - $6 = HEAP32[4887]|0; + $5 = HEAP32[4524]|0; + $6 = HEAP32[4965]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17469,16 +17473,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4887] = $10; + HEAP32[4965] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4449]|0; + $11 = HEAP32[4527]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4708]|0; + $12 = HEAP32[4786]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18844)>>2]|0; + $14 = HEAP32[(19156)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17489,7 +17493,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4708] = $21; + HEAP32[4786] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9051,$vararg_buffer); @@ -17498,10 +17502,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4720]|0; + $22 = HEAP32[4798]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18892)>>2]|0; + $24 = HEAP32[(19204)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17512,7 +17516,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4720] = $31; + HEAP32[4798] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9076,$vararg_buffer1); @@ -17521,10 +17525,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4732]|0; + $32 = HEAP32[4810]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18940)>>2]|0; + $34 = HEAP32[(19252)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17535,9 +17539,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4732] = $41; - $42 = HEAP32[4447]|0; - $43 = HEAP32[4448]|0; + HEAP32[4810] = $41; + $42 = HEAP32[4525]|0; + $43 = HEAP32[4526]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17580,13 +17584,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4449]|0; + $2 = HEAP32[4527]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18944)>>2]|0; - $5 = HEAP32[(18932)>>2]|0; + $4 = HEAP32[(19256)>>2]|0; + $5 = HEAP32[(19244)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17594,7 +17598,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18932)>>2] = $10; + HEAP32[(19244)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17613,18 +17617,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4449]|0; + $4 = HEAP32[4527]|0; switch ($4|0) { case 1: { - $$sink37 = (18840);$$sink38 = (18852); + $$sink37 = (19152);$$sink38 = (19164); break; } case 4: { - $$sink37 = (18888);$$sink38 = (18900); + $$sink37 = (19200);$$sink38 = (19212); break; } case 7: { - $$sink37 = (18936);$$sink38 = (18948); + $$sink37 = (19248);$$sink38 = (19260); break; } default: { @@ -17678,8 +17682,8 @@ function _rlEnableTexture($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 = HEAP32[4447]|0; - $2 = HEAP32[4448]|0; + $1 = HEAP32[4525]|0; + $2 = HEAP32[4526]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17692,9 +17696,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4448] = $10; + HEAP32[4526] = $10; } - $11 = HEAP32[4448]|0; + $11 = HEAP32[4526]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17705,7 +17709,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4732]|0; + $0 = HEAP32[4810]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17721,14 +17725,14 @@ function _rlDeleteVertexArrays($0) { $vararg_buffer = sp; $1 = sp + 4|0; HEAP32[$1>>2] = $0; - $2 = HEAP32[4410]|0; + $2 = HEAP32[4488]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = ($0|0)==(0); if (!($4)) { - $5 = HEAP32[4413]|0; + $5 = HEAP32[4491]|0; FUNCTION_TABLE_vii[$5 & 63](1,$1); } $6 = HEAP32[$1>>2]|0; @@ -17749,7 +17753,7 @@ function _rlDeleteBuffers($0) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4410]|0; + $3 = HEAP32[4488]|0; $4 = ($3|0)==(0); if (!($4)) { STACKTOP = sp;return; @@ -17787,12 +17791,12 @@ function _rlglLoadMesh($0,$1) { ;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; HEAP32[$2>>2] = 0; ;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;HEAP32[$3+24>>2]=0|0; - $13 = HEAP32[4410]|0; + $13 = HEAP32[4488]|0; $14 = ($13|0)==(0); if (!($14)) { - $15 = HEAP32[4411]|0; + $15 = HEAP32[4489]|0; FUNCTION_TABLE_vii[$15 & 63](1,$2); - $16 = HEAP32[4412]|0; + $16 = HEAP32[4490]|0; $17 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$16 & 31]($17); } @@ -17922,7 +17926,7 @@ function _rlglLoadMesh($0,$1) { $80 = ((($3)) + 24|0); $81 = HEAP32[$80>>2]|0; HEAP32[$11>>2] = $81; - $82 = HEAP32[4410]|0; + $82 = HEAP32[4488]|0; $83 = ($82|0)==(0); if ($83) { _TraceLog(0,9327,$vararg_buffer3); @@ -18027,13 +18031,13 @@ function _rlglDrawMesh($0,$1,$2) { $63 = $62 / 255.0; _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); } - dest=$3; src=17572; 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)); - dest=$4; src=17508; 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)); + dest=$3; src=17884; 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)); + dest=$4; src=17820; 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)); dest=$modelview$byval_copy4; 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)); - dest=$$byval_copy5; src=17572; 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)); + dest=$$byval_copy5; src=17884; 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)); _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[4418]|0; + $65 = HEAP32[4496]|0; $66 = ($64|0)==($65|0); if (!($66)) { $67 = (_glGetUniformLocation(($64|0),(9375|0))|0); @@ -18109,7 +18113,7 @@ function _rlglDrawMesh($0,$1,$2) { _glUniform1i(($106|0),2); } } - $107 = HEAP32[4410]|0; + $107 = HEAP32[4488]|0; $108 = ($107|0)==(0); if ($108) { $112 = ((($0)) + 40|0); @@ -18189,16 +18193,16 @@ function _rlglDrawMesh($0,$1,$2) { $151 = HEAP32[$150>>2]|0; $152 = ($151|0)==(0|0); if (!($152)) { - $153 = HEAP32[(18972)>>2]|0; + $153 = HEAP32[(19284)>>2]|0; _glBindBuffer(34963,($153|0)); } } else { - $109 = HEAP32[4412]|0; + $109 = HEAP32[4490]|0; $110 = ((($0)) + 36|0); $111 = HEAP32[$110>>2]|0; FUNCTION_TABLE_vi[$109 & 31]($111); } - $154 = HEAP32[4795]|0; + $154 = HEAP32[4873]|0; $155 = ($154|0)!=(0); $$ = $155 ? 2 : 1; $156 = ((($1)) + 28|0); @@ -18212,10 +18216,10 @@ function _rlglDrawMesh($0,$1,$2) { dest=$$byval_copy5; src=$5; 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)); _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); } else { - dest=17572; src=$5; 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)); + dest=17884; src=$5; 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)); } - dest=$modelview$byval_copy4; src=17572; 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)); - dest=$$byval_copy5; src=17508; 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)); + dest=$modelview$byval_copy4; src=17884; 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)); + dest=$$byval_copy5; src=17820; 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)); _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); $162 = HEAP32[$156>>2]|0; dest=$$byval_copy5; src=$6; 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)); @@ -18252,14 +18256,14 @@ function _rlglDrawMesh($0,$1,$2) { } _glActiveTexture(33984); _glBindTexture(3553,0); - $172 = HEAP32[4410]|0; + $172 = HEAP32[4488]|0; $173 = ($172|0)==(0); if (!($173)) { - $174 = HEAP32[4412]|0; + $174 = HEAP32[4490]|0; FUNCTION_TABLE_vi[$174 & 31](0); _glUseProgram(0); - dest=17508; src=$4; 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)); - dest=17572; src=$3; 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)); + dest=17820; src=$4; 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)); + dest=17884; src=$3; 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)); STACKTOP = sp;return; } _glBindBuffer(34962,0); @@ -18268,14 +18272,14 @@ function _rlglDrawMesh($0,$1,$2) { $177 = ($176|0)==(0|0); if ($177) { _glUseProgram(0); - dest=17508; src=$4; 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)); - dest=17572; src=$3; 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)); + dest=17820; src=$4; 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)); + dest=17884; src=$3; 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)); STACKTOP = sp;return; } _glBindBuffer(34963,0); _glUseProgram(0); - dest=17508; src=$4; 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)); - dest=17572; src=$3; 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)); + dest=17820; src=$4; 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)); + dest=17884; src=$3; 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)); STACKTOP = sp;return; } function _rlglUnloadMesh($0) { @@ -18355,7 +18359,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4417]|0; + $1 = HEAP32[4495]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -18371,7 +18375,7 @@ function _GetDefaultShader($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=$0; src=17672; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$0; src=17984; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _DrawRectangle($0,$1,$2,$3,$4) { @@ -18589,40 +18593,11 @@ function _DrawRectangleLines($0,$1,$2,$3,$4) { _DrawRectangle($0,$26,1,$27,$$byval_copy3); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9428); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10761)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4888] = $0; + HEAP32[4966] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -18686,7 +18661,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9440|0),(9466|0),1125,(9489|0)); + ___assert_fail((9428|0),(9454|0),1041,(9477|0)); // unreachable; } } @@ -18704,7 +18679,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4889]|0; + $15 = HEAP32[4967]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -18797,7 +18772,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9530); + _stbi__err(9518); $$0 = 0; return ($$0|0); } else { @@ -18819,7 +18794,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9521); + _stbi__err(9509); $$0 = 0; return ($$0|0); } @@ -18889,7 +18864,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9549); + _stbi__err(9537); $$045 = 0; return ($$045|0); } @@ -19450,7 +19425,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9865 + ($120)|0); + $121 = (9853 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -19492,97 +19467,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9639); + _stbi__err(9627); $$6$ph = 0; break; } case 9: { - _stbi__err(9653); + _stbi__err(9641); $$6$ph = 0; break; } case 11: { - _stbi__err(9666); + _stbi__err(9654); $$6$ph = 0; break; } case 13: { - _stbi__err(9666); + _stbi__err(9654); $$6$ph = 0; break; } case 15: { - _stbi__err(9676); + _stbi__err(9664); $$6$ph = 0; break; } case 17: { - _stbi__err(9696); + _stbi__err(9684); $$6$ph = 0; break; } case 20: { - _stbi__err(9696); + _stbi__err(9684); $$6$ph = 0; break; } case 22: { - _stbi__err(9696); + _stbi__err(9684); $$6$ph = 0; break; } case 24: { - _stbi__err(9706); + _stbi__err(9694); $$6$ph = 0; break; } case 26: { - _stbi__err(9722); + _stbi__err(9710); $$6$ph = 0; break; } case 28: { - _stbi__err(9740); + _stbi__err(9728); $$6$ph = 0; break; } case 31: { - _stbi__err(9761); + _stbi__err(9749); $$6$ph = 0; break; } case 34: { - _stbi__err(9666); + _stbi__err(9654); $$6$ph = 0; break; } case 37: { - _stbi__err(9666); + _stbi__err(9654); $$6$ph = 0; break; } case 39: { - _stbi__err(9775); + _stbi__err(9763); $$6$ph = 0; break; } case 41: { - _stbi__err(9790); + _stbi__err(9778); $$6$ph = 0; break; } case 44: { - _stbi__err(9790); + _stbi__err(9778); $$6$ph = 0; break; } case 47: { - _stbi__err(9775); + _stbi__err(9763); $$6$ph = 0; break; } case 49: { - _stbi__err(9803); + _stbi__err(9791); $$6$ph = 0; break; } @@ -19593,32 +19568,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9819); + _stbi__err(9807); $$6$ph = 0; break; } case 58: { - _stbi__err(9836); + _stbi__err(9824); $$6$ph = 0; break; } case 61: { - _stbi__err(9849); + _stbi__err(9837); $$6$ph = 0; break; } case 63: { - _stbi__err(9836); + _stbi__err(9824); $$6$ph = 0; break; } case 70: { - _stbi__err(9775); + _stbi__err(9763); $$6$ph = 0; break; } case 72: { - _stbi__err(9874); + _stbi__err(9862); $$6$ph = 0; break; } @@ -19630,12 +19605,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9521); + _stbi__err(9509); $$6$ph = 0; break; } case 83: { - _stbi__err(9882); + _stbi__err(9870); $$6$ph = 0; break; } @@ -19648,7 +19623,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9892); + _stbi__err(9880); $$4 = 0; break; } @@ -19713,7 +19688,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4890]|0; + $193 = HEAP32[4968]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -19746,7 +19721,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9775); + _stbi__err(9763); $$4 = 0; } } while(0); @@ -19754,24 +19729,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9775); + _stbi__err(9763); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9900] = $206; + HEAP8[9888] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9901)>>0] = $209; + HEAP8[(9889)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9902)>>0] = $211; + HEAP8[(9890)>>0] = $211; $212 = $207&255; - HEAP8[(9903)>>0] = $212; - _stbi__err(9900); + HEAP8[(9891)>>0] = $212; + _stbi__err(9888); $$6$ph = 0; break; } @@ -19805,14 +19780,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9562|0),(9466|0),1561,(9618|0)); + ___assert_fail((9550|0),(9454|0),1477,(9606|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9521); + _stbi__err(9509); $$0163 = 0; return ($$0163|0); } @@ -20175,7 +20150,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9616|0),(9466|0),1590,(9618|0)); + ___assert_fail((9604|0),(9454|0),1506,(9606|0)); // unreachable; } } while(0); @@ -20209,7 +20184,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9562|0),(9466|0),1610,(9593|0)); + ___assert_fail((9550|0),(9454|0),1526,(9581|0)); // unreachable; } $7 = $2 << 1; @@ -20219,7 +20194,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9521); + _stbi__err(9509); $$0163 = 0; return ($$0163|0); } @@ -20582,7 +20557,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9616|0),(9466|0),1639,(9593|0)); + ___assert_fail((9604|0),(9454|0),1555,(9581|0)); // unreachable; } } while(0); @@ -20730,7 +20705,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10557); + _stbi__err(10865); $$05 = 0; return ($$05|0); } @@ -21167,7 +21142,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9959|0),(9466|0),4568,(10011|0)); + ___assert_fail((9947|0),(9454|0),4569,(9999|0)); // unreachable; } } @@ -21254,7 +21229,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9959|0),(9466|0),4543,(9984|0)); + ___assert_fail((9947|0),(9454|0),4544,(9972|0)); // unreachable; } } @@ -21301,7 +21276,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4891]|0; + $16 = HEAP32[4969]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -21376,7 +21351,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9925|0),(9466|0),4649,(9943|0)); + ___assert_fail((9913|0),(9454|0),4650,(9931|0)); // unreachable; } } @@ -21399,7 +21374,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9521); + _stbi__err(9509); $$0 = 0; return ($$0|0); } @@ -21576,7 +21551,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10040|0),(9466|0),4294,(10081|0)); + ___assert_fail((10028|0),(9454|0),4294,(10069|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -21584,7 +21559,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9521); + _stbi__err(9509); $$2 = 0; return ($$2|0); } @@ -21603,7 +21578,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10108); + _stbi__err(10096); $$2 = 0; return ($$2|0); } @@ -21616,7 +21591,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10108); + _stbi__err(10096); $$2 = 0; return ($$2|0); } @@ -21624,12 +21599,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -21652,33 +21627,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10147 + ($56)|0); + $60 = (10135 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -21688,24 +21663,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -21715,10 +21690,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -21729,10 +21704,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -21743,14 +21718,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -21780,7 +21755,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -21795,12 +21770,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -22377,15 +22352,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10126|0),(9466|0),4315,(10081|0)); + ___assert_fail((10114|0),(9454|0),4315,(10069|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10152|0),(9466|0),4376,(10081|0)); + ___assert_fail((10140|0),(9454|0),4377,(10069|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10169); + _stbi__err(10157); $$2 = 0; return ($$2|0); } @@ -22435,7 +22410,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9865 + ($6)|0); + $336 = (9853 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -22876,7 +22851,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10184|0),(9466|0),4465,(10081|0)); + ___assert_fail((10172|0),(9454|0),4466,(10069|0)); // unreachable; } else if ((label|0) == 151) { @@ -22936,8 +22911,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -22952,15 +22927,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -22969,65 +22944,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(21470)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10183,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,21471,288)|0); + $15 = (_stbi__zbuild_huffman($8,10471,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,21439,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -23046,14 +23016,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10510); + _stbi__err(10818); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10526); + _stbi__err(10834); $$0 = 0; return ($$0|0); } @@ -23062,7 +23032,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10541); + _stbi__err(10849); $$0 = 0; return ($$0|0); } @@ -23145,7 +23115,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10432|0),(9466|0),4048,(10449|0)); + ___assert_fail((10740|0),(9454|0),4033,(10757|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -23182,7 +23152,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10480); + _stbi__err(10788); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23192,7 +23162,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10493); + _stbi__err(10801); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23222,21 +23192,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((21471|0),8,144)|0; - dest=(21615); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21727); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21751); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=21439; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -23370,7 +23325,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10370); + _stbi__err(10678); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23459,7 +23414,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10422); + _stbi__err(10730); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23488,7 +23443,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11216 + ($$06579)|0); + $14 = (11524 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -23579,21 +23534,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10370); + _stbi__err(10678); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10370); + _stbi__err(10678); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10386|0),(9466|0),4021,(10394|0)); + ___assert_fail((10694|0),(9454|0),4006,(10702|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10370); + _stbi__err(10678); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23603,7 +23558,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10370); + _stbi__err(10678); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23767,7 +23722,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10195); + _stbi__err(10503); $$3$ph = 0; return ($$3$ph|0); } @@ -23777,12 +23732,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10195); + _stbi__err(10503); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10212); + _stbi__err(10520); $$3$ph = 0; return ($$3$ph|0); } @@ -23839,7 +23794,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10221); + _stbi__err(10529); $$0 = 0; return ($$0|0); } @@ -23865,7 +23820,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9521); + _stbi__err(9509); $$0 = 0; return ($$0|0); } else { @@ -23910,7 +23865,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10317|0),(9466|0),3863,(10354|0)); + ___assert_fail((10625|0),(9454|0),3848,(10662|0)); // unreachable; } else if ((label|0) == 5) { @@ -23958,7 +23913,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10241|0),(9466|0),3891,(10257|0)); + ___assert_fail((10549|0),(9454|0),3876,(10565|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -23986,7 +23941,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10288|0),(9466|0),3781,(10299|0)); + ___assert_fail((10596|0),(9454|0),3766,(10607|0)); // unreachable; } return (0)|0; @@ -24132,10 +24087,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -24146,27 +24101,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10569)|0); + $6 = (_IsFileExtension($1,10877)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10622)|0); + $19 = (_IsFileExtension($1,10930)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10627,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10935,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,11069)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -24194,7 +24150,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -24211,18 +24167,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10575,$vararg_buffer); + _TraceLog(2,10883,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -24231,34 +24187,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10663,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,10971,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10702,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11010,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -24277,11 +24240,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10761)|0); + $4 = (_fopen($0,11069)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10764,$vararg_buffer); + _TraceLog(2,11072,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -24380,7 +24343,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10861,$vararg_buffer4); + _TraceLog(0,11169,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -24415,14 +24378,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10907,$vararg_buffer8); + _TraceLog(2,11215,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10815,$vararg_buffer1); + _TraceLog(2,11123,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -24512,7 +24475,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10733,$vararg_buffer); + _TraceLog(2,11041,$vararg_buffer); $$0 = $6; } } @@ -24557,27 +24520,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10957,$vararg_buffer); + _TraceLog(2,11265,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10996,$vararg_buffer1); + _TraceLog(2,11304,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11022,$vararg_buffer3); + _TraceLog(2,11330,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11085,$vararg_buffer5); + _TraceLog(2,11393,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11120,$vararg_buffer7); + _TraceLog(2,11428,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11155,$vararg_buffer10); + _TraceLog(0,11463,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -25760,7 +25723,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11212 + ($$361133)|0); + $199 = (11520 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -26190,7 +26153,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11212 + ($$331130)|0); + $186 = (11520 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -26228,7 +26191,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11212 + ($$371134)|0); + $203 = (11520 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -26267,7 +26230,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11216 + ($$421139)|0); + $235 = (11524 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -26674,7 +26637,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11235 + ($495)|0); + $496 = (11543 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -26711,7 +26674,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11239 + ($515)|0); + $516 = (11547 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -27612,7 +27575,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[17356>>2]|0;HEAP32[$0+4>>2]=HEAP32[17356+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17356+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17356+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17356+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17356+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17356+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17356+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17668>>2]|0;HEAP32[$0+4>>2]=HEAP32[17668+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17668+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17668+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17668+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17668+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17668+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17668+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -28080,8 +28043,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(21759,$0,$1)|0); - STACKTOP = sp;return (21759|0); + (_vsprintf(21751,$0,$1)|0); + STACKTOP = sp;return (21751|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -28091,7 +28054,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[4892]|0; + $3 = HEAP32[4970]|0; $4 = HEAP32[928]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -28099,14 +28062,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[4893] = $7; + HEAP32[4971] = $7; HEAP32[928] = $7; $$sink = 0; } - HEAP32[4892] = $$sink; - $8 = HEAP32[4893]|0; + HEAP32[4970] = $$sink; + $8 = HEAP32[4971]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(11243,$$byval_copy)|0); + (_FormatText(11551,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -28115,7 +28078,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(21759,$0,$1,20,$$byval_copy); + _DrawText(21751,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _DrawGrid($0,$1) { @@ -28582,7 +28545,7 @@ function _UnloadModel($0) { $1 = ((($0)) + 132|0); _memcpy(($$byval_copy|0),($1|0),132)|0; _UnloadMaterial($$byval_copy); - _TraceLog(0,11251,$vararg_buffer); + _TraceLog(0,11559,$vararg_buffer); STACKTOP = sp;return; } function _UnloadMaterial($0) { @@ -28727,7 +28690,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11309)|0); + $12 = (_strstr($11,11617)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -28736,7 +28699,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11313)|0); + $17 = (_strstr($16,11621)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -28745,7 +28708,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11317)|0); + $22 = (_strstr($21,11625)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -28754,7 +28717,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11321)|0); + $27 = (_strstr($26,11629)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -28763,1210 +28726,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11327)|0); + $32 = (_strcmp($31,11635)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11365)|0); + $35 = (_strcmp($34,11673)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11384; + HEAP32[$3>>2] = 11692; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11397)|0); + $38 = (_strcmp($37,11705)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11418; + HEAP32[$3>>2] = 11726; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11433)|0); + $41 = (_strcmp($40,11741)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11448; + HEAP32[$3>>2] = 11756; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11463)|0); + $44 = (_strcmp($43,11771)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11478; + HEAP32[$3>>2] = 11786; } } else { - HEAP32[$3>>2] = 11349; + HEAP32[$3>>2] = 11657; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11493)|0); + $47 = (_strcmp($46,11801)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11507)|0); + $50 = (_strcmp($49,11815)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11519)|0); + $53 = (_strcmp($52,11827)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11533)|0); + $56 = (_strcmp($55,11841)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11545)|0); + $59 = (_strcmp($58,11853)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11559)|0); + $62 = (_strcmp($61,11867)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11573)|0); + $65 = (_strcmp($64,11881)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11590)|0); + $68 = (_strcmp($67,11898)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11613)|0); + $71 = (_strcmp($70,11921)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11639)|0); + $74 = (_strcmp($73,11947)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11652)|0); + $77 = (_strcmp($76,11960)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11668)|0); + $80 = (_strcmp($79,11976)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11681)|0); + $83 = (_strcmp($82,11989)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11695)|0); + $86 = (_strcmp($85,12003)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11715)|0); + $89 = (_strcmp($88,12023)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11735)|0); + $92 = (_strcmp($91,12043)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11752)|0); + $95 = (_strcmp($94,12060)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11769)|0); + $98 = (_strcmp($97,12077)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11781)|0); + $101 = (_strcmp($100,12089)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11794)|0); + $104 = (_strcmp($103,12102)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11810)|0); + $107 = (_strcmp($106,12118)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11833)|0); + $110 = (_strcmp($109,12141)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11846)|0); + $113 = (_strcmp($112,12154)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11862)|0); + $116 = (_strcmp($115,12170)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11873)|0); + $119 = (_strcmp($118,12181)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11892)|0); + $122 = (_strcmp($121,12200)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11914)|0); + $125 = (_strcmp($124,12222)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11933)|0); + $128 = (_strcmp($127,12241)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11962)|0); + $131 = (_strcmp($130,12270)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11979)|0); + $134 = (_strcmp($133,12287)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11994)|0); + $137 = (_strcmp($136,12302)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12009)|0); + $140 = (_strcmp($139,12317)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12030)|0); + $143 = (_strcmp($142,12338)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12050)|0); + $146 = (_strcmp($145,12358)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12070)|0); + $149 = (_strcmp($148,12378)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12096)|0); + $152 = (_strcmp($151,12404)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12115)|0); + $155 = (_strcmp($154,12423)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12127)|0); + $158 = (_strcmp($157,12435)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12139)|0); + $161 = (_strcmp($160,12447)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12151)|0); + $164 = (_strcmp($163,12459)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12163)|0); + $167 = (_strcmp($166,12471)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12175)|0); + $170 = (_strcmp($169,12483)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,12187)|0); + $173 = (_strcmp($172,12495)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,12199)|0); + $176 = (_strcmp($175,12507)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,12211)|0); + $179 = (_strcmp($178,12519)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,12224)|0); + $182 = (_strcmp($181,12532)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,12237)|0); + $185 = (_strcmp($184,12545)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,12250)|0); + $188 = (_strcmp($187,12558)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,12263)|0); + $191 = (_strcmp($190,12571)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,12276)|0); + $194 = (_strcmp($193,12584)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,12289)|0); + $197 = (_strcmp($196,12597)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12302)|0); + $200 = (_strcmp($199,12610)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12315)|0); + $203 = (_strcmp($202,12623)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12334)|0); + $206 = (_strcmp($205,12642)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12353)|0); + $209 = (_strcmp($208,12661)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12372)|0); + $212 = (_strcmp($211,12680)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12385)|0); + $215 = (_strcmp($214,12693)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12403)|0); + $218 = (_strcmp($217,12711)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12421)|0); + $221 = (_strcmp($220,12729)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12439)|0); + $224 = (_strcmp($223,12747)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12457)|0); + $227 = (_strcmp($226,12765)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12477)|0); + $230 = (_strcmp($229,12785)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11418)|0); + $233 = (_strcmp($232,11726)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12495)|0); + $236 = (_strcmp($235,12803)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12510)|0); + $239 = (_strcmp($238,12818)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12531)|0); + $242 = (_strcmp($241,12839)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12546)|0); + $245 = (_strcmp($244,12854)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12564)|0); + $248 = (_strcmp($247,12872)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12580)|0); + $251 = (_strcmp($250,12888)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12599)|0); + $254 = (_strcmp($253,12907)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12613)|0); + $257 = (_strcmp($256,12921)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12628)|0); + $260 = (_strcmp($259,12936)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11349)|0); + $263 = (_strcmp($262,11657)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12639)|0); + $266 = (_strcmp($265,12947)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11448)|0); + $269 = (_strcmp($268,11756)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11478)|0); + $272 = (_strcmp($271,11786)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12655)|0); + $275 = (_strcmp($274,12963)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12682)|0); + $278 = (_strcmp($277,12990)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12696)|0); + $281 = (_strcmp($280,13004)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11384)|0); + $284 = (_strcmp($283,11692)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12716)|0); + $287 = (_strcmp($286,13024)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12734)|0); + $290 = (_strcmp($289,13042)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12746)|0); + $293 = (_strcmp($292,13054)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12767)|0); + $296 = (_strcmp($295,13075)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12785)|0); + $299 = (_strcmp($298,13093)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12803)|0); + $302 = (_strcmp($301,13111)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12824)|0); + $305 = (_strcmp($304,13132)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12850)|0); + $308 = (_strcmp($307,13158)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12873)|0); + $311 = (_strcmp($310,13181)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12911)|0); + $314 = (_strcmp($313,13219)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12927)|0); + $317 = (_strcmp($316,13235)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12942)|0); + $320 = (_strcmp($319,13250)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12965)|0); + $323 = (_strcmp($322,13273)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12978)|0); + $326 = (_strcmp($325,13286)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12992)|0); + $329 = (_strcmp($328,13300)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13006)|0); + $332 = (_strcmp($331,13314)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13026)|0); + $335 = (_strcmp($334,13334)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13046)|0); + $338 = (_strcmp($337,13354)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13062)|0); + $341 = (_strcmp($340,13370)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13080)|0); + $344 = (_strcmp($343,13388)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13096)|0); + $347 = (_strcmp($346,13404)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13111)|0); + $350 = (_strcmp($349,13419)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,13133)|0); + $353 = (_strcmp($352,13441)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13151)|0); + $356 = (_strcmp($355,13459)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13172)|0); + $359 = (_strcmp($358,13480)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,13190)|0); + $362 = (_strcmp($361,13498)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,13203)|0); + $365 = (_strcmp($364,13511)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,13218)|0); + $368 = (_strcmp($367,13526)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,13232)|0); + $371 = (_strcmp($370,13540)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,13242)|0); + $374 = (_strcmp($373,13550)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,13252)|0); + $377 = (_strcmp($376,13560)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,13274)|0); + $380 = (_strcmp($379,13582)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13300)|0); + $383 = (_strcmp($382,13608)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13327)|0); + $386 = (_strcmp($385,13635)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13340)|0); + $389 = (_strcmp($388,13648)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13355)|0); + $392 = (_strcmp($391,13663)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13370)|0); + $395 = (_strcmp($394,13678)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13394)|0); + $398 = (_strcmp($397,13702)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13405)|0); + $401 = (_strcmp($400,13713)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13427)|0); + $404 = (_strcmp($403,13735)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13449)|0); + $407 = (_strcmp($406,13757)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13473)|0); + $410 = (_strcmp($409,13781)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13482)|0); + $413 = (_strcmp($412,13790)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13490)|0); + $416 = (_strcmp($415,13798)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13503)|0); + $419 = (_strcmp($418,13811)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13517)|0); + $422 = (_strcmp($421,13825)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13529)|0); + $425 = (_strcmp($424,13837)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13538)|0); + $428 = (_strcmp($427,13846)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13548)|0); + $431 = (_strcmp($430,13856)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13560)|0); + $434 = (_strcmp($433,13868)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13571)|0); + $437 = (_strcmp($436,13879)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13579)|0); + $440 = (_strcmp($439,13887)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13591)|0); + $443 = (_strcmp($442,13899)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13606)|0); + $446 = (_strcmp($445,13914)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13618)|0); + $449 = (_strcmp($448,13926)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13632)|0); + $452 = (_strcmp($451,13940)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13657)|0); + $455 = (_strcmp($454,13965)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13674)|0); + $458 = (_strcmp($457,13982)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13690)|0); + $461 = (_strcmp($460,13998)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13706)|0); + $464 = (_strcmp($463,14014)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13718)|0); + $467 = (_strcmp($466,14026)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13730)|0); + $470 = (_strcmp($469,14038)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13754)|0); + $473 = (_strcmp($472,14062)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13767)|0); + $476 = (_strcmp($475,14075)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13781)|0); + $479 = (_strcmp($478,14089)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13803)|0); + $482 = (_strcmp($481,14111)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13810)|0); + $485 = (_strcmp($484,14118)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13826)|0); + $488 = (_strcmp($487,14134)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13843)|0); + $491 = (_strcmp($490,14151)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13860)|0); + $494 = (_strcmp($493,14168)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13876)|0); + $497 = (_strcmp($496,14184)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13892)|0); + $500 = (_strcmp($499,14200)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13909)|0); + $503 = (_strcmp($502,14217)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13923)|0); + $506 = (_strcmp($505,14231)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13935)|0); + $509 = (_strcmp($508,14243)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13946)|0); + $512 = (_strcmp($511,14254)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13959)|0); + $515 = (_strcmp($514,14267)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13969)|0); + $518 = (_strcmp($517,14277)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13986)|0); + $521 = (_strcmp($520,14294)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13998)|0); + $524 = (_strcmp($523,14306)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14020)|0); + $527 = (_strcmp($526,14328)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14040)|0); + $530 = (_strcmp($529,14348)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14053)|0); + $533 = (_strcmp($532,14361)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14075)|0); + $536 = (_strcmp($535,14383)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14095)|0); + $539 = (_strcmp($538,14403)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14112)|0); + $542 = (_strcmp($541,14420)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14129)|0); + $545 = (_strcmp($544,14437)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14149)|0); + $548 = (_strcmp($547,14457)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -29988,7 +29951,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (19576|0); + return (19888|0); } function ___stdio_close($0) { $0 = $0|0; @@ -30921,7 +30884,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((14265 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14573 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -31099,7 +31062,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14729;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 15037;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -31120,7 +31083,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14729;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 15037;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -31128,8 +31091,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14729 : (14731); - $$$ = $238 ? $$ : (14730); + $$ = $240 ? 15037 : (15039); + $$$ = $238 ? $$ : (15038); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -31146,7 +31109,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14729;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 15037;$242 = $167;$243 = $170; label = 66; break; } @@ -31159,7 +31122,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14729;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 15037;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -31173,7 +31136,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14739; + $271 = $270 ? $269 : 15047; $$1 = $271; label = 71; break; @@ -31213,7 +31176,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14729;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 15037;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -31235,8 +31198,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14729 + ($208)|0); - $$289 = $or$cond283 ? 14729 : $209; + $209 = (15037 + ($208)|0); + $$289 = $or$cond283 ? 15037 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -31257,7 +31220,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14729;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 15037;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -31787,7 +31750,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14781 + ($7)|0); + $9 = (15089 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -32145,14 +32108,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14746; + $$0471 = $14;$$0520 = 1;$$0521 = 15054; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14747) : (14752); - $$$ = $16 ? $$ : (14749); + $$ = $18 ? (15055) : (15060); + $$$ = $16 ? $$ : (15057); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -32251,7 +32214,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14781 + ($80)|0); + $81 = (15089 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -32862,7 +32825,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14797,1); + _out($0,15105,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -32943,7 +32906,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14797,1); + _out($0,15105,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -33000,9 +32963,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14765 : 14769; + $29 = $28 ? 15073 : 15077; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14773 : 14777; + $31 = $28 ? 15081 : 15085; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -33212,7 +33175,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14799 + ($$016)|0); + $3 = (15107 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -33223,7 +33186,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14887;$$115 = 87; + $$01214 = 15195;$$115 = 87; label = 5; break; } else { @@ -33233,9 +33196,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14887; + $$012$lcssa = 15195; } else { - $$01214 = 14887;$$115 = $$016; + $$01214 = 15195;$$115 = $$016; label = 5; } } @@ -33918,7 +33881,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16691,$3,4)|0); + $memchr = (_memchr(16999,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -34007,7 +33970,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16691,$4,4)|0); + $memchr = (_memchr(16999,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -34098,7 +34061,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(19580)>>2]|0; + $38 = HEAP32[(19892)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -34131,13 +34094,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19640|0)); - return (19648|0); + ___lock((19952|0)); + return (19960|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19640|0)); + ___unlock((19952|0)); return; } function _fclose($0) { @@ -35201,7 +35164,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16968; + $2 = 17280; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -35418,7 +35381,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4913]|0; + $3 = HEAP32[4991]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -35437,22 +35400,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4913] = 0; + HEAP32[4991] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4913] = $10; + HEAP32[4991] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4913] = 0; + HEAP32[4991] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4913] = $13; + HEAP32[4991] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -35533,7 +35496,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4914]|0; + $8 = HEAP32[4992]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -35542,7 +35505,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19696 + ($15<<2)|0); + $16 = (20008 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -35553,9 +35516,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4914] = $24; + HEAP32[4992] = $24; } else { - $25 = HEAP32[(19672)>>2]|0; + $25 = HEAP32[(19984)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -35586,7 +35549,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19664)>>2]|0; + $37 = HEAP32[(19976)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -35620,7 +35583,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19696 + ($68<<2)|0); + $69 = (20008 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -35631,10 +35594,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4914] = $77; + HEAP32[4992] = $77; $98 = $77; } else { - $78 = HEAP32[(19672)>>2]|0; + $78 = HEAP32[(19984)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -35667,22 +35630,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19676)>>2]|0; + $92 = HEAP32[(19988)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19696 + ($94<<2)|0); + $95 = (20008 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4914] = $100; + HEAP32[4992] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19672)>>2]|0; + $103 = HEAP32[(19984)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -35699,12 +35662,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19664)>>2] = $84; - HEAP32[(19676)>>2] = $87; + HEAP32[(19976)>>2] = $84; + HEAP32[(19988)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19660)>>2]|0; + $108 = HEAP32[(19972)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -35732,7 +35695,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19960 + ($132<<2)|0); + $133 = (20272 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -35772,7 +35735,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19672)>>2]|0; + $155 = HEAP32[(19984)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -35867,7 +35830,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19960 + ($188<<2)|0); + $189 = (20272 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -35878,11 +35841,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19660)>>2] = $194; + HEAP32[(19972)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19672)>>2]|0; + $195 = HEAP32[(19984)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -35903,7 +35866,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19672)>>2]|0; + $201 = HEAP32[(19984)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -35933,7 +35896,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19672)>>2]|0; + $213 = HEAP32[(19984)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -35970,22 +35933,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19676)>>2]|0; + $231 = HEAP32[(19988)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19696 + ($233<<2)|0); + $234 = (20008 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4914] = $238; + HEAP32[4992] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19672)>>2]|0; + $241 = HEAP32[(19984)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -36002,8 +35965,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19664)>>2] = $$0193$lcssa$i; - HEAP32[(19676)>>2] = $157; + HEAP32[(19976)>>2] = $$0193$lcssa$i; + HEAP32[(19988)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -36019,7 +35982,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19660)>>2]|0; + $250 = HEAP32[(19972)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -36059,7 +36022,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19960 + ($$0358$i<<2)|0); + $278 = (20272 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -36151,7 +36114,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19960 + ($330<<2)|0); + $331 = (20272 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -36195,11 +36158,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19664)>>2]|0; + $345 = HEAP32[(19976)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19672)>>2]|0; + $348 = HEAP32[(19984)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -36296,7 +36259,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19960 + ($381<<2)|0); + $382 = (20272 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -36307,12 +36270,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19660)>>2] = $387; + HEAP32[(19972)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19672)>>2]|0; + $388 = HEAP32[(19984)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -36334,7 +36297,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19672)>>2]|0; + $394 = HEAP32[(19984)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -36366,7 +36329,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19672)>>2]|0; + $406 = HEAP32[(19984)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -36407,20 +36370,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19696 + ($425<<2)|0); - $427 = HEAP32[4914]|0; + $426 = (20008 + ($425<<2)|0); + $427 = HEAP32[4992]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4914] = $431; + HEAP32[4992] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19672)>>2]|0; + $434 = HEAP32[(19984)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -36472,7 +36435,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19960 + ($$0361$i<<2)|0); + $464 = (20272 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -36484,7 +36447,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19660)>>2] = $472; + HEAP32[(19972)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -36523,7 +36486,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19672)>>2]|0; + $491 = HEAP32[(19984)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -36542,7 +36505,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19672)>>2]|0; + $498 = HEAP32[(19984)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -36575,16 +36538,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19664)>>2]|0; + $506 = HEAP32[(19976)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19676)>>2]|0; + $509 = HEAP32[(19988)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19676)>>2] = $511; - HEAP32[(19664)>>2] = $508; + HEAP32[(19988)>>2] = $511; + HEAP32[(19976)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -36594,8 +36557,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19664)>>2] = 0; - HEAP32[(19676)>>2] = 0; + HEAP32[(19976)>>2] = 0; + HEAP32[(19988)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -36609,14 +36572,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19668)>>2]|0; + $524 = HEAP32[(19980)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19668)>>2] = $526; - $527 = HEAP32[(19680)>>2]|0; + HEAP32[(19980)>>2] = $526; + $527 = HEAP32[(19992)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19680)>>2] = $528; + HEAP32[(19992)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -36627,23 +36590,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5032]|0; + $534 = HEAP32[5110]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(20136)>>2] = 4096; - HEAP32[(20132)>>2] = 4096; - HEAP32[(20140)>>2] = -1; - HEAP32[(20144)>>2] = -1; - HEAP32[(20148)>>2] = 0; - HEAP32[(20100)>>2] = 0; + HEAP32[(20448)>>2] = 4096; + HEAP32[(20444)>>2] = 4096; + HEAP32[(20452)>>2] = -1; + HEAP32[(20456)>>2] = -1; + HEAP32[(20460)>>2] = 0; + HEAP32[(20412)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5032] = $538; + HEAP32[5110] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(20136)>>2]|0; + $$pre$i212 = HEAP32[(20448)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -36656,10 +36619,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(20096)>>2]|0; + $546 = HEAP32[(20408)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(20088)>>2]|0; + $548 = HEAP32[(20400)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -36669,18 +36632,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(20100)>>2]|0; + $552 = HEAP32[(20412)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19680)>>2]|0; + $555 = HEAP32[(19992)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (20104); + $$0$i$i = (20416); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -36738,7 +36701,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(20132)>>2]|0; + $569 = HEAP32[(20444)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -36748,13 +36711,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(20088)>>2]|0; + $578 = HEAP32[(20400)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(20096)>>2]|0; + $582 = HEAP32[(20408)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -36800,7 +36763,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(20136)>>2]|0; + $601 = HEAP32[(20448)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -36825,9 +36788,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(20100)>>2]|0; + $611 = HEAP32[(20412)>>2]|0; $612 = $611 | 4; - HEAP32[(20100)>>2] = $612; + HEAP32[(20412)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -36863,35 +36826,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(20088)>>2]|0; + $626 = HEAP32[(20400)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(20088)>>2] = $627; - $628 = HEAP32[(20092)>>2]|0; + HEAP32[(20400)>>2] = $627; + $628 = HEAP32[(20404)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(20092)>>2] = $627; + HEAP32[(20404)>>2] = $627; } - $630 = HEAP32[(19680)>>2]|0; + $630 = HEAP32[(19992)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19672)>>2]|0; + $632 = HEAP32[(19984)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19672)>>2] = $$749$i; + HEAP32[(19984)>>2] = $$749$i; } - HEAP32[(20104)>>2] = $$749$i; - HEAP32[(20108)>>2] = $$723948$i; - HEAP32[(20116)>>2] = 0; - $635 = HEAP32[5032]|0; - HEAP32[(19692)>>2] = $635; - HEAP32[(19688)>>2] = -1; + HEAP32[(20416)>>2] = $$749$i; + HEAP32[(20420)>>2] = $$723948$i; + HEAP32[(20428)>>2] = 0; + $635 = HEAP32[5110]|0; + HEAP32[(20004)>>2] = $635; + HEAP32[(20000)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19696 + ($636<<2)|0); + $637 = (20008 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -36914,18 +36877,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19680)>>2] = $649; - HEAP32[(19668)>>2] = $650; + HEAP32[(19992)>>2] = $649; + HEAP32[(19980)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(20144)>>2]|0; - HEAP32[(19684)>>2] = $655; + $655 = HEAP32[(20456)>>2]|0; + HEAP32[(19996)>>2] = $655; } else { - $$024371$i = (20104); + $$024371$i = (20416); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -36957,7 +36920,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19668)>>2]|0; + $671 = HEAP32[(19980)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -36968,30 +36931,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19680)>>2] = $679; - HEAP32[(19668)>>2] = $681; + HEAP32[(19992)>>2] = $679; + HEAP32[(19980)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(20144)>>2]|0; - HEAP32[(19684)>>2] = $686; + $686 = HEAP32[(20456)>>2]|0; + HEAP32[(19996)>>2] = $686; break; } } } - $687 = HEAP32[(19672)>>2]|0; + $687 = HEAP32[(19984)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19672)>>2] = $$749$i; + HEAP32[(19984)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (20104); + $$124470$i = (20416); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -37046,21 +37009,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19668)>>2]|0; + $726 = HEAP32[(19980)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19668)>>2] = $727; - HEAP32[(19680)>>2] = $721; + HEAP32[(19980)>>2] = $727; + HEAP32[(19992)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19676)>>2]|0; + $730 = HEAP32[(19988)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19664)>>2]|0; + $732 = HEAP32[(19976)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19664)>>2] = $733; - HEAP32[(19676)>>2] = $721; + HEAP32[(19976)>>2] = $733; + HEAP32[(19988)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -37083,7 +37046,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19696 + ($748<<2)|0); + $749 = (20008 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -37106,9 +37069,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4914]|0; + $759 = HEAP32[4992]|0; $760 = $759 & $758; - HEAP32[4914] = $760; + HEAP32[4992] = $760; break; } $761 = ($747|0)==($749|0); @@ -37221,7 +37184,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19960 + ($796<<2)|0); + $797 = (20272 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -37233,12 +37196,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19660)>>2]|0; + $802 = HEAP32[(19972)>>2]|0; $803 = $802 & $801; - HEAP32[(19660)>>2] = $803; + HEAP32[(19972)>>2] = $803; break L314; } else { - $804 = HEAP32[(19672)>>2]|0; + $804 = HEAP32[(19984)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -37259,7 +37222,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19672)>>2]|0; + $810 = HEAP32[(19984)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -37291,7 +37254,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19672)>>2]|0; + $822 = HEAP32[(19984)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -37324,21 +37287,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19696 + ($836<<2)|0); - $838 = HEAP32[4914]|0; + $837 = (20008 + ($836<<2)|0); + $838 = HEAP32[4992]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4914] = $842; + HEAP32[4992] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19672)>>2]|0; + $845 = HEAP32[(19984)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -37393,20 +37356,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19960 + ($$0296$i$i<<2)|0); + $875 = (20272 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19660)>>2]|0; + $879 = HEAP32[(19972)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19660)>>2] = $883; + HEAP32[(19972)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -37445,7 +37408,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19672)>>2]|0; + $902 = HEAP32[(19984)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -37464,7 +37427,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19672)>>2]|0; + $909 = HEAP32[(19984)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -37491,7 +37454,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (20104); + $$0$i$i$i = (20416); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -37532,23 +37495,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19680)>>2] = $946; - HEAP32[(19668)>>2] = $947; + HEAP32[(19992)>>2] = $946; + HEAP32[(19980)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(20144)>>2]|0; - HEAP32[(19684)>>2] = $952; + $952 = HEAP32[(20456)>>2]|0; + HEAP32[(19996)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(20104)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(20104)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(20104)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(20104)+12>>2]|0; - HEAP32[(20104)>>2] = $$749$i; - HEAP32[(20108)>>2] = $$723948$i; - HEAP32[(20116)>>2] = 0; - HEAP32[(20112)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(20416)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(20416)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(20416)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(20416)+12>>2]|0; + HEAP32[(20416)>>2] = $$749$i; + HEAP32[(20420)>>2] = $$723948$i; + HEAP32[(20428)>>2] = 0; + HEAP32[(20424)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -37577,20 +37540,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19696 + ($968<<2)|0); - $970 = HEAP32[4914]|0; + $969 = (20008 + ($968<<2)|0); + $970 = HEAP32[4992]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4914] = $974; + HEAP32[4992] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19672)>>2]|0; + $977 = HEAP32[(19984)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -37642,19 +37605,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19960 + ($$0212$i$i<<2)|0); + $1007 = (20272 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19660)>>2]|0; + $1010 = HEAP32[(19972)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19660)>>2] = $1014; + HEAP32[(19972)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -37693,7 +37656,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19672)>>2]|0; + $1033 = HEAP32[(19984)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -37712,7 +37675,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19672)>>2]|0; + $1040 = HEAP32[(19984)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -37735,14 +37698,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19668)>>2]|0; + $1048 = HEAP32[(19980)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19668)>>2] = $1050; - $1051 = HEAP32[(19680)>>2]|0; + HEAP32[(19980)>>2] = $1050; + $1051 = HEAP32[(19992)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19680)>>2] = $1052; + HEAP32[(19992)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -37785,7 +37748,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19672)>>2]|0; + $3 = HEAP32[(19984)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -37818,7 +37781,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19676)>>2]|0; + $19 = HEAP32[(19988)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -37833,7 +37796,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19664)>>2] = $17; + HEAP32[(19976)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -37847,7 +37810,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19696 + ($27<<2)|0); + $28 = (20008 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -37867,9 +37830,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4914]|0; + $37 = HEAP32[4992]|0; $38 = $37 & $36; - HEAP32[4914] = $38; + HEAP32[4992] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -37983,7 +37946,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19960 + ($74<<2)|0); + $75 = (20272 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -37993,14 +37956,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19660)>>2]|0; + $80 = HEAP32[(19972)>>2]|0; $81 = $80 & $79; - HEAP32[(19660)>>2] = $81; + HEAP32[(19972)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19672)>>2]|0; + $82 = HEAP32[(19984)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -38022,7 +37985,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19672)>>2]|0; + $88 = HEAP32[(19984)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -38054,7 +38017,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19672)>>2]|0; + $100 = HEAP32[(19984)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -38089,14 +38052,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19680)>>2]|0; + $120 = HEAP32[(19992)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19676)>>2]|0; + $122 = HEAP32[(19988)>>2]|0; if ($121) { - $123 = HEAP32[(19668)>>2]|0; + $123 = HEAP32[(19980)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19668)>>2] = $124; - HEAP32[(19680)>>2] = $$1; + HEAP32[(19980)>>2] = $124; + HEAP32[(19992)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -38104,16 +38067,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19676)>>2] = 0; - HEAP32[(19664)>>2] = 0; + HEAP32[(19988)>>2] = 0; + HEAP32[(19976)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19664)>>2]|0; + $129 = HEAP32[(19976)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19664)>>2] = $130; - HEAP32[(19676)>>2] = $113; + HEAP32[(19976)>>2] = $130; + HEAP32[(19988)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -38132,10 +38095,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19696 + ($142<<2)|0); + $143 = (20008 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19672)>>2]|0; + $145 = HEAP32[(19984)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -38153,9 +38116,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4914]|0; + $153 = HEAP32[4992]|0; $154 = $153 & $152; - HEAP32[4914] = $154; + HEAP32[4992] = $154; break; } $155 = ($141|0)==($143|0); @@ -38163,7 +38126,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19672)>>2]|0; + $156 = HEAP32[(19984)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -38223,7 +38186,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19672)>>2]|0; + $189 = HEAP32[(19984)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -38236,7 +38199,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19672)>>2]|0; + $169 = HEAP32[(19984)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -38267,7 +38230,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19960 + ($193<<2)|0); + $194 = (20272 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -38277,13 +38240,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19660)>>2]|0; + $199 = HEAP32[(19972)>>2]|0; $200 = $199 & $198; - HEAP32[(19660)>>2] = $200; + HEAP32[(19972)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19672)>>2]|0; + $201 = HEAP32[(19984)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -38304,7 +38267,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19672)>>2]|0; + $207 = HEAP32[(19984)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -38334,7 +38297,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19672)>>2]|0; + $219 = HEAP32[(19984)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -38355,10 +38318,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19676)>>2]|0; + $226 = HEAP32[(19988)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19664)>>2] = $135; + HEAP32[(19976)>>2] = $135; return; } else { $$2 = $135; @@ -38377,20 +38340,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19696 + ($234<<2)|0); - $236 = HEAP32[4914]|0; + $235 = (20008 + ($234<<2)|0); + $236 = HEAP32[4992]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4914] = $240; + HEAP32[4992] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19672)>>2]|0; + $243 = HEAP32[(19984)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -38442,21 +38405,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19960 + ($$0396<<2)|0); + $273 = (20272 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19660)>>2]|0; + $277 = HEAP32[(19972)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19660)>>2] = $281; + HEAP32[(19972)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -38494,7 +38457,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19672)>>2]|0; + $300 = HEAP32[(19984)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -38513,7 +38476,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19672)>>2]|0; + $307 = HEAP32[(19984)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -38535,12 +38498,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19688)>>2]|0; + $314 = HEAP32[(20000)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19688)>>2] = $315; + HEAP32[(20000)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (20112); + $$0212$in$i = (20424); } else { return; } @@ -38554,7 +38517,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19688)>>2] = -1; + HEAP32[(20000)>>2] = -1; return; } function _realloc($0,$1) { @@ -38626,7 +38589,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19672)>>2]|0; + $6 = HEAP32[(19984)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -38656,7 +38619,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(20136)>>2]|0; + $18 = HEAP32[(20448)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -38692,10 +38655,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19680)>>2]|0; + $34 = HEAP32[(19992)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19668)>>2]|0; + $36 = HEAP32[(19980)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -38711,15 +38674,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19680)>>2] = $40; - HEAP32[(19668)>>2] = $39; + HEAP32[(19992)>>2] = $40; + HEAP32[(19980)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19676)>>2]|0; + $46 = HEAP32[(19988)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19664)>>2]|0; + $48 = HEAP32[(19976)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -38755,8 +38718,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19664)>>2] = $storemerge1; - HEAP32[(19676)>>2] = $storemerge; + HEAP32[(19976)>>2] = $storemerge1; + HEAP32[(19988)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -38783,7 +38746,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19696 + ($81<<2)|0); + $82 = (20008 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -38803,9 +38766,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4914]|0; + $91 = HEAP32[4992]|0; $92 = $91 & $90; - HEAP32[4914] = $92; + HEAP32[4992] = $92; break; } $93 = ($80|0)==($82|0); @@ -38914,7 +38877,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19960 + ($128<<2)|0); + $129 = (20272 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -38924,13 +38887,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19660)>>2]|0; + $134 = HEAP32[(19972)>>2]|0; $135 = $134 & $133; - HEAP32[(19660)>>2] = $135; + HEAP32[(19972)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19672)>>2]|0; + $136 = HEAP32[(19984)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -38951,7 +38914,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19672)>>2]|0; + $142 = HEAP32[(19984)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -38981,7 +38944,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19672)>>2]|0; + $154 = HEAP32[(19984)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -39066,13 +39029,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19672)>>2]|0; + $13 = HEAP32[(19984)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19676)>>2]|0; + $15 = HEAP32[(19988)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -39087,7 +39050,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19664)>>2] = $12; + HEAP32[(19976)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -39101,7 +39064,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19696 + ($23<<2)|0); + $24 = (20008 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -39121,9 +39084,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4914]|0; + $33 = HEAP32[4992]|0; $34 = $33 & $32; - HEAP32[4914] = $34; + HEAP32[4992] = $34; $$1 = $11;$$1418 = $12; break; } @@ -39237,7 +39200,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19960 + ($70<<2)|0); + $71 = (20272 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -39247,14 +39210,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19660)>>2]|0; + $76 = HEAP32[(19972)>>2]|0; $77 = $76 & $75; - HEAP32[(19660)>>2] = $77; + HEAP32[(19972)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19672)>>2]|0; + $78 = HEAP32[(19984)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -39276,7 +39239,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19672)>>2]|0; + $84 = HEAP32[(19984)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -39308,7 +39271,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19672)>>2]|0; + $96 = HEAP32[(19984)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -39327,7 +39290,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19672)>>2]|0; + $108 = HEAP32[(19984)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -39338,14 +39301,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19680)>>2]|0; + $114 = HEAP32[(19992)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19676)>>2]|0; + $116 = HEAP32[(19988)>>2]|0; if ($115) { - $117 = HEAP32[(19668)>>2]|0; + $117 = HEAP32[(19980)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19668)>>2] = $118; - HEAP32[(19680)>>2] = $$1; + HEAP32[(19980)>>2] = $118; + HEAP32[(19992)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -39353,16 +39316,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19676)>>2] = 0; - HEAP32[(19664)>>2] = 0; + HEAP32[(19988)>>2] = 0; + HEAP32[(19976)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19664)>>2]|0; + $123 = HEAP32[(19976)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19664)>>2] = $124; - HEAP32[(19676)>>2] = $$1; + HEAP32[(19976)>>2] = $124; + HEAP32[(19988)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -39381,7 +39344,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19696 + ($136<<2)|0); + $137 = (20008 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -39401,9 +39364,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4914]|0; + $146 = HEAP32[4992]|0; $147 = $146 & $145; - HEAP32[4914] = $147; + HEAP32[4992] = $147; break; } $148 = ($135|0)==($137|0); @@ -39512,7 +39475,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19960 + ($183<<2)|0); + $184 = (20272 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -39522,13 +39485,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19660)>>2]|0; + $189 = HEAP32[(19972)>>2]|0; $190 = $189 & $188; - HEAP32[(19660)>>2] = $190; + HEAP32[(19972)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19672)>>2]|0; + $191 = HEAP32[(19984)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -39549,7 +39512,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19672)>>2]|0; + $197 = HEAP32[(19984)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -39579,7 +39542,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19672)>>2]|0; + $209 = HEAP32[(19984)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -39600,10 +39563,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19676)>>2]|0; + $216 = HEAP32[(19988)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19664)>>2] = $129; + HEAP32[(19976)>>2] = $129; return; } else { $$2 = $129; @@ -39622,20 +39585,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19696 + ($224<<2)|0); - $226 = HEAP32[4914]|0; + $225 = (20008 + ($224<<2)|0); + $226 = HEAP32[4992]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4914] = $230; + HEAP32[4992] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19672)>>2]|0; + $233 = HEAP32[(19984)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -39687,20 +39650,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19960 + ($$0431<<2)|0); + $263 = (20272 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19660)>>2]|0; + $267 = HEAP32[(19972)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19660)>>2] = $271; + HEAP32[(19972)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -39739,7 +39702,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19672)>>2]|0; + $290 = HEAP32[(19984)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -39757,7 +39720,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19672)>>2]|0; + $297 = HEAP32[(19984)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/models/models_heightmap.png b/docs/examples/web/models/models_heightmap.png similarity index 100% rename from docs/examples/img/models/models_heightmap.png rename to docs/examples/web/models/models_heightmap.png diff --git a/docs/examples/web/models/models_ray_picking.c b/docs/examples/web/models/models_mesh_picking.c similarity index 96% rename from docs/examples/web/models/models_ray_picking.c rename to docs/examples/web/models/models_mesh_picking.c index c6b512389..332fa20c6 100644 --- a/docs/examples/web/models/models_ray_picking.c +++ b/docs/examples/web/models/models_mesh_picking.c @@ -1,6 +1,6 @@ /******************************************************************************************* * -* raylib [models] example - Ray picking in 3d mode, ground plane, triangle, mesh +* raylib [models] example - Mesh picking in 3d mode, ground plane, triangle, mesh * * This example has been created using raylib 1.7 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) @@ -13,8 +13,7 @@ #include "raylib.h" #include "raymath.h" -#include -#include +#define FLT_MAX 3.40282347E+38F // Maximum value of a float, defined in #if defined(PLATFORM_WEB) #include @@ -63,7 +62,7 @@ int main() int screenWidth = 800; int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [models] example - 3d ray picking"); + InitWindow(screenWidth, screenHeight, "raylib [models] example - 3d mesh picking"); // Define the camera to look into our 3d world camera.position = (Vector3){ 10.0f, 8.0f, 10.0f }; // Camera position @@ -144,7 +143,7 @@ void UpdateDrawFrame(void) cursorColor = PURPLE; hitObjectName = "Triangle"; - bary = Barycenter(nearestHit.hitPosition, ta, tb, tc); + bary = VectorBarycenter(nearestHit.hitPosition, ta, tb, tc); hitTriangle = true; } else hitTriangle = false; diff --git a/docs/examples/web/models/models_ray_picking.data b/docs/examples/web/models/models_mesh_picking.data similarity index 100% rename from docs/examples/web/models/models_ray_picking.data rename to docs/examples/web/models/models_mesh_picking.data diff --git a/docs/examples/web/models/models_ray_picking.js b/docs/examples/web/models/models_mesh_picking.js similarity index 93% rename from docs/examples/web/models/models_ray_picking.js rename to docs/examples/web/models/models_mesh_picking.js index 9ffab7aaa..9638e6d9d 100644 --- a/docs/examples/web/models/models_ray_picking.js +++ b/docs/examples/web/models/models_mesh_picking.js @@ -20,8 +20,8 @@ Module.expectedDataFileDownloads++; } else { throw 'using preloaded data can only be done on a web page or in a web worker'; } - var PACKAGE_NAME = 'models/models_ray_picking.data'; - var REMOTE_PACKAGE_BASE = 'models_ray_picking.data'; + var PACKAGE_NAME = 'models/models_mesh_picking.data'; + var REMOTE_PACKAGE_BASE = 'models_mesh_picking.data'; if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { Module['locateFile'] = Module['locateFilePackage']; Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); @@ -158,10 +158,10 @@ Module['FS_createPath']('/', 'resources', true, true); for (i = 0; i < files.length; ++i) { DataRequest.prototype.requests[files[i].filename].onload(); } - Module['removeRunDependency']('datafile_models/models_ray_picking.data'); + Module['removeRunDependency']('datafile_models/models_mesh_picking.data'); }; - Module['addRunDependency']('datafile_models/models_ray_picking.data'); + Module['addRunDependency']('datafile_models/models_mesh_picking.data'); if (!Module.preloadResults) Module.preloadResults = {}; @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 11848, "filename": "/resources/tower.obj"}, {"audio": 0, "start": 11848, "crunched": 0, "end": 36787, "filename": "/resources/tower.png"}], "remote_package_size": 36787, "package_uuid": "23765f07-17ef-4904-ba6a-9197c49f6e99"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 11848, "filename": "/resources/tower.obj"}, {"audio": 0, "start": 11848, "crunched": 0, "end": 36787, "filename": "/resources/tower.png"}], "remote_package_size": 36787, "package_uuid": "df40d522-4e6c-4394-9594-d2d661fba7d0"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 24080; +STATICTOP = STATIC_BASE + 24064; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([0,0,200,193,0,0,0,63,0,0,0,0,0,0,128,192,0,0,32,64,0,0,128,63,0,0,0,193,0,0,208,64,0,0,0,0,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,11,90,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,51,100,32,114,97,121,32,112,105,99,107,105,110,103,0,114,101,115,111,117,114,99,101,115,47,116,111,119,101,114,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,116,111,119,101,114,46,112,110,103,0,78,111,110,101,0,71,114,111,117,110,100,0,84,114,105,97,110,103,108,101,0,77,101,115,104,0,72,105,116,32,79,98,106,101,99,116,58,32,37,115,0,68,105,115,116,97,110,99,101,58,32,37,51,46,50,102,0,72,105,116,32,80,111,115,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,72,105,116,32,78,111,114,109,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,66,97,114,121,99,101,110,116,101,114,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,85,115,101,32,77,111,117,115,101,32,116,111,32,77,111,118,101,32,67,97,109,101,114,97,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,68,101,118,105,99,101,32,99,111,111,114,100,105,110,97,116,101,115,58,32,40,37,102,44,32,37,102,44,32,37,102,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([0,0,200,193,0,0,0,63,0,0,0,0,0,0,128,192,0,0,32,64,0,0,128,63,0,0,0,193,0,0,208,64,0,0,0,0,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,251,89,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,51,100,32,109,101,115,104,32,112,105,99,107,105,110,103,0,114,101,115,111,117,114,99,101,115,47,116,111,119,101,114,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,116,111,119,101,114,46,112,110,103,0,78,111,110,101,0,71,114,111,117,110,100,0,84,114,105,97,110,103,108,101,0,77,101,115,104,0,72,105,116,32,79,98,106,101,99,116,58,32,37,115,0,68,105,115,116,97,110,99,101,58,32,37,51,46,50,102,0,72,105,116,32,80,111,115,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,72,105,116,32,78,111,114,109,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,66,97,114,121,99,101,110,116,101,114,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,85,115,101,32,77,111,117,115,101,32,116,111,32,77,111,118,101,32,67,97,109,101,114,97,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,68,101,118,105,99,101,32,99,111,111,114,100,105,110,97,116,101,115,58,32,40,37,102,44,32,37,102,44,32,37,102,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10511,31 +10511,31 @@ function _main() { $1 = sp + 24|0; $2 = sp; _InitWindow(800,450,4436); - HEAPF32[4526] = 10.0; - HEAPF32[(18108)>>2] = 8.0; - HEAPF32[(18112)>>2] = 10.0; - HEAPF32[(18116)>>2] = 0.0; - HEAPF32[(18120)>>2] = 2.2999999523162842; - HEAPF32[(18124)>>2] = 0.0; - HEAPF32[(18128)>>2] = 0.0; - HEAPF32[(18132)>>2] = 1.6000000238418579; - HEAPF32[(18136)>>2] = 0.0; - HEAPF32[(18140)>>2] = 45.0; - _LoadModel($0,4477); - _memcpy((18144|0),($0|0),264)|0; - _LoadTexture($1,4497); - ;HEAP32[18408>>2]=HEAP32[$1>>2]|0;HEAP32[18408+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18408+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18408+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18408+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[(18332)>>2]=HEAP32[$1>>2]|0;HEAP32[(18332)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18332)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18332)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18332)+16>>2]=HEAP32[$1+16>>2]|0; - dest=$texture$byval_copy; src=18144; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAPF32[4602] = 10.0; + HEAPF32[(18412)>>2] = 8.0; + HEAPF32[(18416)>>2] = 10.0; + HEAPF32[(18420)>>2] = 0.0; + HEAPF32[(18424)>>2] = 2.2999999523162842; + HEAPF32[(18428)>>2] = 0.0; + HEAPF32[(18432)>>2] = 0.0; + HEAPF32[(18436)>>2] = 1.6000000238418579; + HEAPF32[(18440)>>2] = 0.0; + HEAPF32[(18444)>>2] = 45.0; + _LoadModel($0,4478); + _memcpy((18448|0),($0|0),264)|0; + _LoadTexture($1,4498); + ;HEAP32[18712>>2]=HEAP32[$1>>2]|0;HEAP32[18712+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18712+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18712+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18712+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[(18636)>>2]=HEAP32[$1>>2]|0;HEAP32[(18636)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18636)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18636)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18636)+16>>2]=HEAP32[$1+16>>2]|0; + dest=$texture$byval_copy; src=18448; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _CalculateBoundingBox($2,$texture$byval_copy); - ;HEAP32[18428>>2]=HEAP32[$2>>2]|0;HEAP32[18428+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[18428+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[18428+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[18428+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[18428+20>>2]=HEAP32[$2+20>>2]|0; - dest=$texture$byval_copy; src=18104; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[18732>>2]=HEAP32[$2>>2]|0;HEAP32[18732+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[18732+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[18732+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[18732+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[18732+20>>2]=HEAP32[$2+20>>2]|0; + dest=$texture$byval_copy; src=18408; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetCameraMode($texture$byval_copy,1); _SetTargetFPS(60); _emscripten_set_main_loop((1|0),0,1); - _memcpy(($texture$byval_copy|0),(18144|0),264)|0; + _memcpy(($texture$byval_copy|0),(18448|0),264)|0; _UnloadModel($texture$byval_copy); - ;HEAP32[$texture$byval_copy>>2]=HEAP32[18408>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[18408+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[18408+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[18408+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[18408+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[18712>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[18712+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[18712+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[18712+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[18712+16>>2]|0; _UnloadTexture($texture$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10585,22 +10585,22 @@ function _UpdateDrawFrame() { $21 = sp + 656|0; $22 = sp + 652|0; $23 = sp + 648|0; - _UpdateCamera(18104); + _UpdateCamera(18408); $24 = ((($0)) + 4|0); HEAPF32[$24>>2] = 3.4028234663852886E+38; HEAP32[$0>>2] = 0; HEAP32[$1>>2] = -1; _GetMousePosition($2); ;HEAP32[$ray$byval_copy45>>2]=HEAP32[$2>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[$2+4>>2]|0; - dest=$$byval_copy52; src=18104; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy52; src=18408; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _GetMouseRay($3,$ray$byval_copy45,$$byval_copy52); - ;HEAP32[18452>>2]=HEAP32[$3>>2]|0;HEAP32[18452+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[18452+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[18452+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[18452+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[18452+20>>2]=HEAP32[$3+20>>2]|0; + ;HEAP32[18756>>2]=HEAP32[$3>>2]|0;HEAP32[18756+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[18756+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[18756+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[18756+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[18756+20>>2]=HEAP32[$3+20>>2]|0; ;HEAP32[$$byval_copy52>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[$3+20>>2]|0; _GetCollisionRayGround($4,$$byval_copy52,0.0); $25 = HEAP32[$4>>2]|0; $26 = ($25|0)==(0); if ($26) { - $$0 = 4517; + $$0 = 4518; } else { $27 = ((($4)) + 4|0); $28 = +HEAPF32[$27>>2]; @@ -10615,12 +10615,12 @@ function _UpdateDrawFrame() { HEAP8[$$sroa$326$0$$sroa_idx>>0] = 48; $$sroa$427$0$$sroa_idx = ((($1)) + 3|0); HEAP8[$$sroa$427$0$$sroa_idx>>0] = -1; - $$0 = 4522; + $$0 = 4523; } else { - $$0 = 4517; + $$0 = 4518; } } - ;HEAP32[$$byval_copy20>>2]=HEAP32[18452>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[18452+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[18452+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[18452+12>>2]|0;HEAP32[$$byval_copy20+16>>2]=HEAP32[18452+16>>2]|0;HEAP32[$$byval_copy20+20>>2]=HEAP32[18452+20>>2]|0; + ;HEAP32[$$byval_copy20>>2]=HEAP32[18756>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[18756+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[18756+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[18756+12>>2]|0;HEAP32[$$byval_copy20+16>>2]=HEAP32[18756+16>>2]|0;HEAP32[$$byval_copy20+20>>2]=HEAP32[18756+20>>2]|0; ;HEAP32[$$byval_copy42>>2]=HEAP32[8>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[8+8>>2]|0; ;HEAP32[$ray$byval_copy45>>2]=HEAP32[20>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[20+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[20+8>>2]|0; ;HEAP32[$$byval_copy52>>2]=HEAP32[32>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[32+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[32+8>>2]|0; @@ -10648,24 +10648,24 @@ function _UpdateDrawFrame() { ;HEAP32[$$byval_copy42>>2]=HEAP32[8>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[8+8>>2]|0; ;HEAP32[$ray$byval_copy45>>2]=HEAP32[20>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[20+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[20+8>>2]|0; ;HEAP32[$$byval_copy52>>2]=HEAP32[32>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[32+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[32+8>>2]|0; - _Barycenter($6,$$byval_copy20,$$byval_copy42,$ray$byval_copy45,$$byval_copy52); - ;HEAP32[18092>>2]=HEAP32[$6>>2]|0;HEAP32[18092+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[18092+8>>2]=HEAP32[$6+8>>2]|0; - $$1 = 4529;$$sink = 1; + _VectorBarycenter($6,$$byval_copy20,$$byval_copy42,$ray$byval_copy45,$$byval_copy52); + ;HEAP32[18396>>2]=HEAP32[$6>>2]|0;HEAP32[18396+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[18396+8>>2]=HEAP32[$6+8>>2]|0; + $$1 = 4530;$$sink = 1; } else { $$1 = $$0;$$sink = 0; } } - HEAP32[4522] = $$sink; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18452>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18452+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18452+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[18452+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[18452+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[18452+20>>2]|0; - ;HEAP32[$$byval_copy52>>2]=HEAP32[18428>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[18428+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[18428+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[18428+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[18428+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[18428+20>>2]|0; + HEAP32[4598] = $$sink; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18756>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18756+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18756+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[18756+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[18756+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[18756+20>>2]|0; + ;HEAP32[$$byval_copy52>>2]=HEAP32[18732>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[18732+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[18732+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[18732+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[18732+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[18732+20>>2]|0; $38 = (_CheckCollisionRayBox($ray$byval_copy45,$$byval_copy52)|0); $39 = ($38|0)==(0); if ($39) { $$2 = $$1; } else { - HEAP32[4521] = 1; - ;HEAP32[$$byval_copy52>>2]=HEAP32[18452>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[18452+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[18452+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[18452+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[18452+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[18452+20>>2]|0; - _GetCollisionRayMesh($7,$$byval_copy52,18144); + HEAP32[4597] = 1; + ;HEAP32[$$byval_copy52>>2]=HEAP32[18756>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[18756+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[18756+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[18756+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[18756+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[18756+20>>2]|0; + _GetCollisionRayMesh($7,$$byval_copy52,18448); $$sroa$05$0$copyload = HEAP32[$7>>2]|0; $$sroa$5$0$$sroa_idx9 = ((($7)) + 4|0); $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx9>>2]; @@ -10687,12 +10687,12 @@ function _UpdateDrawFrame() { HEAP8[$$sroa$3$0$$sroa_idx>>0] = 0; $$sroa$4$0$$sroa_idx = ((($1)) + 3|0); HEAP8[$$sroa$4$0$$sroa_idx>>0] = -1; - $$2 = 4538; + $$2 = 4539; } else { $$2 = $$1; } } - HEAP32[4521] = 0; + HEAP32[4597] = 0; _BeginDrawing(); HEAP8[$8>>0] = -11; $43 = ((($8)) + 1|0); @@ -10703,11 +10703,11 @@ function _UpdateDrawFrame() { HEAP8[$45>>0] = -1; ;HEAP8[$$byval_copy52>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$8+3>>0]|0; _ClearBackground($$byval_copy52); - dest=$$byval_copy52; src=18104; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy52; src=18408; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _Begin3dMode($$byval_copy52); HEAP32[$9>>2] = -1; - _memcpy(($$byval_copy42|0),(18144|0),264)|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18072>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18072+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18072+8>>2]|0; + _memcpy(($$byval_copy42|0),(18448|0),264)|0; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18376>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18376+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18376+8>>2]|0; ;HEAP8[$$byval_copy52>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$9+3>>0]|0; _DrawModel($$byval_copy42,$ray$byval_copy45,1.0,$$byval_copy52); HEAP8[$10>>0] = -56; @@ -10743,7 +10743,7 @@ function _UpdateDrawFrame() { ;HEAP32[$ray$byval_copy45>>2]=HEAP32[8>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[8+8>>2]|0; ;HEAP8[$$byval_copy52>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$12+3>>0]|0; _DrawLine3D($$byval_copy42,$ray$byval_copy45,$$byval_copy52); - $55 = HEAP32[4521]|0; + $55 = HEAP32[4597]|0; $56 = ($55|0)==(0); if (!($56)) { HEAP8[$13>>0] = 0; @@ -10753,7 +10753,7 @@ function _UpdateDrawFrame() { HEAP8[$58>>0] = 47; $59 = ((($13)) + 3|0); HEAP8[$59>>0] = -1; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18428>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18428+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18428+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[18428+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[18428+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[18428+20>>2]|0; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18732>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18732+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18732+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[18732+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[18732+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[18732+20>>2]|0; ;HEAP8[$$byval_copy52>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$13+3>>0]|0; _DrawBoundingBox($ray$byval_copy45,$$byval_copy52); } @@ -10812,13 +10812,13 @@ function _UpdateDrawFrame() { HEAP8[$86>>0] = 55; $87 = ((($17)) + 3|0); HEAP8[$87>>0] = -1; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18452>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18452+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18452+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[18452+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[18452+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[18452+20>>2]|0; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18756>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18756+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18756+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[18756+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[18756+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[18756+20>>2]|0; ;HEAP8[$$byval_copy52>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$17+3>>0]|0; _DrawRay($ray$byval_copy45,$$byval_copy52); _DrawGrid(100,1.0); _End3dMode(); HEAP32[$vararg_buffer>>2] = $$2; - $88 = (_FormatText(4543,$vararg_buffer)|0); + $88 = (_FormatText(4544,$vararg_buffer)|0); HEAP8[$18>>0] = 0; $89 = ((($18)) + 1|0); HEAP8[$89>>0] = 0; @@ -10839,7 +10839,7 @@ function _UpdateDrawFrame() { $140 = ((($23)) + 3|0); HEAP8[$140>>0] = -1; ;HEAP8[$$byval_copy52>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$23+3>>0]|0; - _DrawText(4659,10,430,10,$$byval_copy52); + _DrawText(4660,10,430,10,$$byval_copy52); _DrawFPS(10,10); _EndDrawing(); STACKTOP = sp;return; @@ -10847,7 +10847,7 @@ function _UpdateDrawFrame() { $94 = +HEAPF32[$24>>2]; $95 = $94; HEAPF64[$vararg_buffer1>>3] = $95; - $96 = (_FormatText(4558,$vararg_buffer1)|0); + $96 = (_FormatText(4559,$vararg_buffer1)|0); HEAP8[$19>>0] = 0; $97 = ((($19)) + 1|0); HEAP8[$97>>0] = 0; @@ -10871,7 +10871,7 @@ function _UpdateDrawFrame() { HEAPF64[$vararg_ptr7>>3] = $105; $vararg_ptr8 = ((($vararg_buffer4)) + 16|0); HEAPF64[$vararg_ptr8>>3] = $108; - $109 = (_FormatText(4574,$vararg_buffer4)|0); + $109 = (_FormatText(4575,$vararg_buffer4)|0); HEAP8[$20>>0] = 0; $110 = ((($20)) + 1|0); HEAP8[$110>>0] = 0; @@ -10895,7 +10895,7 @@ function _UpdateDrawFrame() { HEAPF64[$vararg_ptr12>>3] = $118; $vararg_ptr13 = ((($vararg_buffer9)) + 16|0); HEAPF64[$vararg_ptr13>>3] = $121; - $122 = (_FormatText(4601,$vararg_buffer9)|0); + $122 = (_FormatText(4602,$vararg_buffer9)|0); HEAP8[$21>>0] = 0; $123 = ((($21)) + 1|0); HEAP8[$123>>0] = 0; @@ -10905,7 +10905,7 @@ function _UpdateDrawFrame() { HEAP8[$125>>0] = -1; ;HEAP8[$$byval_copy52>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$21+3>>0]|0; _DrawText($122,10,100,10,$$byval_copy52); - $126 = HEAP32[4522]|0; + $126 = HEAP32[4598]|0; $127 = ($126|0)==(0); if ($127) { HEAP8[$23>>0] = -126; @@ -10916,23 +10916,23 @@ function _UpdateDrawFrame() { $140 = ((($23)) + 3|0); HEAP8[$140>>0] = -1; ;HEAP8[$$byval_copy52>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$23+3>>0]|0; - _DrawText(4659,10,430,10,$$byval_copy52); + _DrawText(4660,10,430,10,$$byval_copy52); _DrawFPS(10,10); _EndDrawing(); STACKTOP = sp;return; } - $128 = +HEAPF32[4523]; + $128 = +HEAPF32[4599]; $129 = $128; - $130 = +HEAPF32[(18096)>>2]; + $130 = +HEAPF32[(18400)>>2]; $131 = $130; - $132 = +HEAPF32[(18100)>>2]; + $132 = +HEAPF32[(18404)>>2]; $133 = $132; HEAPF64[$vararg_buffer14>>3] = $129; $vararg_ptr17 = ((($vararg_buffer14)) + 8|0); HEAPF64[$vararg_ptr17>>3] = $131; $vararg_ptr18 = ((($vararg_buffer14)) + 16|0); HEAPF64[$vararg_ptr18>>3] = $133; - $134 = (_FormatText(4629,$vararg_buffer14)|0); + $134 = (_FormatText(4630,$vararg_buffer14)|0); HEAP8[$22>>0] = 0; $135 = ((($22)) + 1|0); HEAP8[$135>>0] = 0; @@ -10950,61 +10950,111 @@ function _UpdateDrawFrame() { $140 = ((($23)) + 3|0); HEAP8[$140>>0] = -1; ;HEAP8[$$byval_copy52>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$23+3>>0]|0; - _DrawText(4659,10,430,10,$$byval_copy52); + _DrawText(4660,10,430,10,$$byval_copy52); _DrawFPS(10,10); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorAdd($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 + $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 + $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 + $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 + $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 + $16; + HEAPF32[$12>>2] = $17; return; } function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -11040,6 +11090,23 @@ function _VectorCrossProduct($0,$1,$2) { HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $21; return; } +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} function _VectorDotProduct($0,$1) { $0 = $0|0; $1 = $1|0; @@ -11062,23 +11129,6 @@ function _VectorDotProduct($0,$1) { $16 = $10 + $15; return (+$16); } -function _VectorLength($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = $1 * $1; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 * $4; - $6 = $2 + $5; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $8; - $10 = $6 + $9; - $11 = (+Math_sqrt((+$10))); - return (+$11); -} function _VectorScale($0,$1) { $0 = $0|0; $1 = +$1; @@ -11179,13 +11229,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _VectorMin($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -11238,7 +11281,7 @@ function _VectorMax($0,$1,$2) { HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; return; } -function _Barycenter($0,$1,$2,$3,$4) { +function _VectorBarycenter($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; @@ -12383,7 +12426,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4620] = $2; + HEAP32[4696] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -12396,7 +12439,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 17792; + $95 = 18096; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -12409,48 +12452,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 17832; + $106 = 18136; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4458]; - $111 = +HEAPF32[4448]; + $110 = +HEAPF32[4534]; + $111 = +HEAPF32[4524]; $112 = $110 - $111; - HEAPF32[4460] = $112; - $113 = +HEAPF32[(17836)>>2]; - $114 = +HEAPF32[(17796)>>2]; + HEAPF32[4536] = $112; + $113 = +HEAPF32[(18140)>>2]; + $114 = +HEAPF32[(18100)>>2]; $115 = $113 - $114; - HEAPF32[(17844)>>2] = $115; - HEAP32[4619] = 4; + HEAPF32[(18148)>>2] = $115; + HEAP32[4695] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17824>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17824+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17848>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17848+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18128+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4625] = $116; - $117 = 17824; + HEAPF32[4701] = $116; + $117 = 18128; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 17792; + $123 = 18096; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 17848; + $127 = 18152; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 17832; + $133 = 18136; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -12463,7 +12506,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 17824; + $144 = 18128; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -12476,27 +12519,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 17848; + $155 = 18152; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4462]; - $160 = +HEAPF32[4456]; + $159 = +HEAPF32[4538]; + $160 = +HEAPF32[4532]; $161 = $159 - $160; - HEAPF32[4460] = $161; - $162 = +HEAPF32[(17852)>>2]; - $163 = +HEAPF32[(17828)>>2]; + HEAPF32[4536] = $161; + $162 = +HEAPF32[(18156)>>2]; + $163 = +HEAPF32[(18132)>>2]; $164 = $162 - $163; - HEAPF32[(17844)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17792>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17792+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17824>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17824+4>>2]|0; + HEAPF32[(18148)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18128+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17832>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17832+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17848>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17848+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18136>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18136+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -12508,31 +12551,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17824>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17824+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17848>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17848+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18128+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4625]; + $170 = +HEAPF32[4701]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4619] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17824>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17824+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17848>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17848+4>>2]|0; + HEAP32[4695] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18128+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4626] = $174; + HEAPF32[4702] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4625] = 0.0; - HEAPF32[4626] = 0.0; - HEAPF32[4460] = 0.0; - HEAPF32[(17844)>>2] = 0.0; - HEAP32[4620] = 0; - HEAP32[4619] = 0; + HEAPF32[4701] = 0.0; + HEAPF32[4702] = 0.0; + HEAPF32[4536] = 0.0; + HEAPF32[(18148)>>2] = 0.0; + HEAP32[4696] = 0; + HEAP32[4695] = 0; STACKTOP = sp;return; break; } @@ -12542,22 +12585,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4621]|0; + $6 = HEAP32[4697]|0; $7 = (($6) + 1)|0; - HEAP32[4621] = $7; - $8 = HEAP32[4619]|0; + HEAP32[4697] = $7; + $8 = HEAP32[4695]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17792>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17792+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4619] = 2; - HEAP32[4621] = 0; + HEAP32[4695] = 2; + HEAP32[4697] = 0; } else { label = 6; } @@ -12565,8 +12608,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4621] = 1; - HEAP32[4619] = 1; + HEAP32[4697] = 1; + HEAP32[4695] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12575,19 +12618,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 17792; + $21 = 18096; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 17800; + $25 = 18104; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 17808; + $29 = 18112; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12596,13 +12639,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[11] = $34; - HEAPF32[4454] = 0.0; - HEAPF32[(17820)>>2] = 0.0; + HEAPF32[4530] = 0.0; + HEAPF32[(18124)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4619]|0; + $35 = HEAP32[4695]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12612,19 +12655,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 17808; + $44 = 18112; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17792>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17792+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17808>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17808+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18112+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4622] = $49; - HEAP32[4623] = 0; + HEAPF32[4698] = $49; + HEAP32[4699] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[11]|0; @@ -12632,11 +12675,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17792>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17792+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17808>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17808+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18112+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4624] = $56; + HEAPF32[4700] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12667,22 +12710,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4622] = 0.0; - HEAPF32[4624] = 0.0; + HEAPF32[4698] = 0.0; + HEAPF32[4700] = 0.0; $$sink10 = 0; } - HEAP32[4619] = $$sink10; - HEAPF32[4450] = 0.0; - HEAPF32[(17804)>>2] = 0.0; - HEAP32[4620] = 0; + HEAP32[4695] = $$sink10; + HEAPF32[4526] = 0.0; + HEAPF32[(18108)>>2] = 0.0; + HEAP32[4696] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4623]|0; + $65 = HEAP32[4699]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4623] = 1; + HEAP32[4699] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12691,31 +12734,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 17824; + $74 = 18128; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4619]|0; + $78 = HEAP32[4695]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17792>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17792+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17824>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17824+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18128+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4619] = 8; + HEAP32[4695] = 8; } } - $82 = +HEAPF32[4456]; - $83 = +HEAPF32[4450]; + $82 = +HEAPF32[4532]; + $83 = +HEAPF32[4526]; $84 = $82 - $83; - HEAPF32[4454] = $84; - $85 = +HEAPF32[(17828)>>2]; - $86 = +HEAPF32[(17804)>>2]; + HEAPF32[4530] = $84; + $85 = +HEAPF32[(18132)>>2]; + $86 = +HEAPF32[(18108)>>2]; $87 = $85 - $86; - HEAPF32[(17820)>>2] = $87; + HEAPF32[(18124)>>2] = $87; STACKTOP = sp;return; break; } @@ -12724,58 +12767,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4619]|0; + $0 = HEAP32[4695]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4620]|0; + $2 = HEAP32[4696]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4619] = 4; + HEAP32[4695] = 4; } - $4 = HEAP32[4619]|0; + $4 = HEAP32[4695]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12788,7 +12792,7 @@ function _UpdateGestures() { return; } } - HEAP32[4619] = 0; + HEAP32[4695] = 0; return; } function _SetCameraMode($0,$1) { @@ -12817,22 +12821,22 @@ function _SetCameraMode($0,$1) { $8 = $4 * $4; $9 = $7 + $8; $10 = (+Math_sqrt((+$9))); - HEAPF32[4627] = $10; + HEAPF32[4703] = $10; $11 = $5 + $8; $12 = (+Math_sqrt((+$11))); $13 = (+Math_sqrt((+$7))); $14 = (+Math_abs((+$2))); $15 = $14 / $12; $16 = (+Math_asin((+$15))); - HEAPF32[4628] = $16; + HEAPF32[4704] = $16; $17 = (+Math_abs((+$3))); $18 = $17 / $13; $19 = (+Math_asin((+$18))); $20 = -$19; - HEAPF32[4629] = $20; + HEAPF32[4705] = $20; $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; HEAP32[12] = $21; - HEAP32[4630] = $1; + HEAP32[4706] = $1; return; } function _UpdateCamera($0) { @@ -12901,7 +12905,7 @@ function _UpdateCamera($0) { $30 = HEAP32[21]|0; $31 = (_IsKeyDown($30)|0); HEAP32[$29>>2] = $31; - $32 = HEAP32[4630]|0; + $32 = HEAP32[4706]|0; $33 = ($32|0)==(0); L1: do { if ($33) { @@ -12973,9 +12977,9 @@ function _UpdateCamera($0) { $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; break; } else { - $64 = +HEAPF32[4464]; + $64 = +HEAPF32[4540]; $65 = $37 - $64; - $66 = +HEAPF32[(17860)>>2]; + $66 = +HEAPF32[(18164)>>2]; $67 = $42 - $66; $$sroa$095$0 = $65;$$sroa$9$0 = $67; break; @@ -12983,11 +12987,11 @@ function _UpdateCamera($0) { } else { _ShowCursor(); $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[4464]; + $69 = +HEAPF32[4540]; $70 = $68 - $69; $71 = ((($1)) + 4|0); $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(17860)>>2]; + $73 = +HEAPF32[(18164)>>2]; $74 = $72 - $73; $$sroa$095$0 = $70;$$sroa$9$0 = $74; } @@ -12999,16 +13003,16 @@ function _UpdateCamera($0) { $78 = (($75) + 4)|0; $79 = $78; $80 = HEAP32[$79>>2]|0; - $81 = 17856; + $81 = 18160; $82 = $81; HEAP32[$82>>2] = $77; $83 = (($81) + 4)|0; $84 = $83; HEAP32[$84>>2] = $80; - $$pr = HEAP32[4630]|0; + $$pr = HEAP32[4706]|0; switch ($$pr|0) { case 1: { - $85 = +HEAPF32[4627]; + $85 = +HEAPF32[4703]; $86 = $85 < 120.0; $87 = ($8|0)<(0); $or$cond3 = $87 & $86; @@ -13017,10 +13021,10 @@ function _UpdateCamera($0) { $88 = (+($8|0)); $89 = $88 * 1.5; $90 = $85 - $89; - HEAPF32[4627] = $90; + HEAPF32[4703] = $90; $91 = $90 > 120.0; if ($91) { - HEAPF32[4627] = 120.0; + HEAPF32[4703] = 120.0; } } else { $92 = ((($0)) + 4|0); @@ -13099,12 +13103,12 @@ function _UpdateCamera($0) { $146 = (+($8|0)); $147 = $146 * 1.5; $148 = $85 - $147; - HEAPF32[4627] = $148; + HEAPF32[4703] = $148; $149 = $148 < 0.30000001192092896; if (!($149)) { break; } - HEAPF32[4627] = 0.30000001192092896; + HEAPF32[4703] = 0.30000001192092896; break; } } @@ -13126,7 +13130,7 @@ function _UpdateCamera($0) { $161 = $151 - $152; $162 = $153 * $161; $163 = $162 * 1.5; - $164 = +HEAPF32[4627]; + $164 = +HEAPF32[4703]; $165 = $163 / $164; $166 = $151 + $165; HEAPF32[$95>>2] = $166; @@ -13158,7 +13162,7 @@ function _UpdateCamera($0) { $185 = $151 - $152; $186 = $177 * $185; $187 = $186 * 1.5; - $188 = +HEAPF32[4627]; + $188 = +HEAPF32[4703]; $189 = $187 / $188; $190 = $151 + $189; HEAPF32[$95>>2] = $190; @@ -13182,12 +13186,12 @@ function _UpdateCamera($0) { if ($or$cond15) { $203 = (+($8|0)); $204 = $203 * 1.5; - $205 = +HEAPF32[4627]; + $205 = +HEAPF32[4703]; $206 = $205 - $204; - HEAPF32[4627] = $206; + HEAPF32[4703] = $206; $207 = $206 < 0.30000001192092896; if ($207) { - HEAPF32[4627] = 0.30000001192092896; + HEAPF32[4703] = 0.30000001192092896; } } } @@ -13201,17 +13205,17 @@ function _UpdateCamera($0) { $209 = ($12|0)==(0); if ($209) { $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[4628]; + $223 = +HEAPF32[4704]; $224 = (+Math_cos((+$223))); $225 = $222 * $224; $226 = $$sroa$9$0 * 0.0099999997764825821; $227 = (+Math_sin((+$223))); $228 = $226 * $227; - $229 = +HEAPF32[4629]; + $229 = +HEAPF32[4705]; $230 = (+Math_sin((+$229))); $231 = $228 * $230; $232 = $225 + $231; - $233 = +HEAPF32[4627]; + $233 = +HEAPF32[4703]; $234 = $233 / 5.0999999046325684; $235 = $232 * $234; $236 = ((($0)) + 12|0); @@ -13241,23 +13245,23 @@ function _UpdateCamera($0) { $210 = ($14|0)==(0); if (!($210)) { $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[4627]; + $212 = +HEAPF32[4703]; $213 = $211 + $212; - HEAPF32[4627] = $213; + HEAPF32[4703] = $213; label = 58; break L1; } $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[4628]; + $215 = +HEAPF32[4704]; $216 = $215 - $214; - HEAPF32[4628] = $216; + HEAPF32[4704] = $216; $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[4629]; + $218 = +HEAPF32[4705]; $219 = $218 - $217; - HEAPF32[4629] = $219; + HEAPF32[4705] = $219; $220 = $219 > 1.483529806137085; if ($220) { - HEAPF32[4629] = 1.483529806137085; + HEAPF32[4705] = 1.483529806137085; label = 58; break L1; } @@ -13266,32 +13270,32 @@ function _UpdateCamera($0) { label = 58; break L1; } - HEAPF32[4629] = -1.483529806137085; + HEAPF32[4705] = -1.483529806137085; label = 58; break L1; break; } case 2: { - $254 = +HEAPF32[4628]; + $254 = +HEAPF32[4704]; $255 = $254 + 0.0099999997764825821; - HEAPF32[4628] = $255; + HEAPF32[4704] = $255; $256 = (+($8|0)); $257 = $256 * 1.5; - $258 = +HEAPF32[4627]; + $258 = +HEAPF32[4703]; $259 = $258 - $257; - HEAPF32[4627] = $259; + HEAPF32[4703] = $259; $260 = $259 < 1.2000000476837158; if (!($260)) { label = 58; break L1; } - HEAPF32[4627] = 1.2000000476837158; + HEAPF32[4703] = 1.2000000476837158; label = 58; break L1; break; } case 4: case 3: { - $264 = +HEAPF32[4628]; + $264 = +HEAPF32[4704]; $265 = (+Math_sin((+$264))); $266 = HEAP32[$17>>2]|0; $267 = (+($266>>>0)); @@ -13313,7 +13317,7 @@ function _UpdateCamera($0) { $283 = +HEAPF32[$0>>2]; $284 = $283 + $282; HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[4629]; + $285 = +HEAPF32[4705]; $286 = (+Math_sin((+$285))); $287 = $270 * $286; $288 = $267 * $286; @@ -13381,14 +13385,14 @@ function _UpdateCamera($0) { $$0 = 1; } $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[4628]; + $314 = +HEAPF32[4704]; $315 = $314 - $313; - HEAPF32[4628] = $315; + HEAPF32[4704] = $315; $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[4629]; + $317 = +HEAPF32[4705]; $318 = $317 - $316; - HEAPF32[4629] = $318; - $319 = HEAP32[4630]|0; + HEAPF32[4705] = $318; + $319 = HEAP32[4706]|0; $320 = ($319|0)==(4); if ($320) { $321 = $318 > 0.087266460061073303; @@ -13403,17 +13407,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 49) { - HEAPF32[4629] = $$sink26; + HEAPF32[4705] = $$sink26; } $323 = (+($8|0)); $324 = $323 * 1.5; - $325 = +HEAPF32[4627]; + $325 = +HEAPF32[4703]; $326 = $325 - $324; $327 = $326 < 1.2000000476837158; $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[4627] = $storemerge; + HEAPF32[4703] = $storemerge; $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[4628]; + $329 = +HEAPF32[4704]; $330 = (+Math_cos((+$329))); $331 = $330 * 0.40000000596046448; $332 = $328 + $331; @@ -13444,17 +13448,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 53) { - HEAPF32[4629] = $$sink28; + HEAPF32[4705] = $$sink28; } $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[4628]; + $347 = +HEAPF32[4704]; $348 = (+Math_sin((+$347))); $349 = $348 * 25.0; $350 = $346 - $349; $351 = ((($0)) + 12|0); HEAPF32[$351>>2] = $350; $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[4629]; + $353 = +HEAPF32[4705]; $354 = (+Math_sin((+$353))); $355 = $354 * 25.0; $356 = $352 + $355; @@ -13468,12 +13472,12 @@ function _UpdateCamera($0) { HEAPF32[$362>>2] = $361; $363 = ($$0|0)==(0); if (!($363)) { - $364 = HEAP32[4631]|0; + $364 = HEAP32[4707]|0; $365 = (($364) + 1)|0; - HEAP32[4631] = $365; + HEAP32[4707] = $365; } $366 = +HEAPF32[12]; - $367 = HEAP32[4631]|0; + $367 = HEAP32[4707]|0; $368 = (+($367|0)); $369 = $368 / 5.0; $370 = (+Math_sin((+$369))); @@ -13503,7 +13507,7 @@ function _UpdateCamera($0) { } } while(0); if ((label|0) == 58) { - $$pr190 = HEAP32[4630]|0; + $$pr190 = HEAP32[4706]|0; $380 = $$pr190; } switch ($380|0) { @@ -13514,11 +13518,11 @@ function _UpdateCamera($0) { STACKTOP = sp;return; } } - $381 = +HEAPF32[4628]; + $381 = +HEAPF32[4704]; $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[4627]; + $383 = +HEAPF32[4703]; $384 = $382 * $383; - $385 = +HEAPF32[4629]; + $385 = +HEAPF32[4705]; $386 = (+Math_cos((+$385))); $387 = $384 * $386; $388 = ((($0)) + 12|0); @@ -13527,7 +13531,7 @@ function _UpdateCamera($0) { HEAPF32[$0>>2] = $390; $391 = !($385 <= 0.0); $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[4627]; + $393 = +HEAPF32[4703]; $394 = ((($0)) + 16|0); $395 = +HEAPF32[$394>>2]; $396 = $392 * $393; @@ -13551,7 +13555,7 @@ function _GetMousePosition($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 = 17864; + $1 = 18168; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -13568,7 +13572,7 @@ function _GetMousePosition($0) { function _GetMouseWheelMove() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4636]|0; + $0 = HEAP32[4712]|0; $1 = (($0|0) / 100)&-1; return ($1|0); } @@ -13593,19 +13597,19 @@ function _IsKeyDown($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4635]|0; + $0 = HEAP32[4711]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4634]|0; + $0 = HEAP32[4710]|0; return ($0|0); } function _HideCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4632] = 1; + HEAP32[4708] = 1; return; } function _SetMousePosition($0) { @@ -13618,13 +13622,13 @@ function _SetMousePosition($0) { $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; - $7 = 17864; + $7 = 18168; $8 = $7; HEAP32[$8>>2] = $3; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; - $11 = HEAP32[4633]|0; + $11 = HEAP32[4709]|0; $12 = +HEAPF32[$0>>2]; $13 = $12; $14 = ((($0)) + 4|0); @@ -13636,14 +13640,14 @@ function _SetMousePosition($0) { function _ShowCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4632] = 0; + HEAP32[4708] = 0; return; } function _GetKeyStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4633]|0; + $1 = HEAP32[4709]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -13651,7 +13655,7 @@ function _GetMouseButtonStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4633]|0; + $1 = HEAP32[4709]|0; $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); return ($2|0); } @@ -13663,29 +13667,29 @@ function _InitWindow($0,$1,$2) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - _TraceLog(0,4684,$vararg_buffer); - HEAP32[4637] = $2; + _TraceLog(0,4685,$vararg_buffer); + HEAP32[4713] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(5|0))|0); - (_emscripten_set_keypress_callback((4713|0),(0|0),1,(6|0))|0); - (_emscripten_set_click_callback((4713|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchstart_callback((4713|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchend_callback((4713|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchmove_callback((4713|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchcancel_callback((4713|0),(0|0),1,(8|0))|0); + (_emscripten_set_keypress_callback((4714|0),(0|0),1,(6|0))|0); + (_emscripten_set_click_callback((4714|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchstart_callback((4714|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchend_callback((4714|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchmove_callback((4714|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchcancel_callback((4714|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4635]|0; + $3 = HEAP32[4711]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4466] = $5; - $6 = HEAP32[4634]|0; + HEAPF32[4542] = $5; + $6 = HEAP32[4710]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(17868)>>2] = $8; - $9 = HEAP32[4638]|0; + HEAPF32[(18172)>>2] = $8; + $9 = HEAP32[4714]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -13704,11 +13708,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[17904>>0]=HEAP8[9213>>0]|0;HEAP8[17904+1>>0]=HEAP8[9213+1>>0]|0;HEAP8[17904+2>>0]=HEAP8[9213+2>>0]|0;HEAP8[17904+3>>0]=HEAP8[9213+3>>0]|0;HEAP8[17904+4>>0]=HEAP8[9213+4>>0]|0;HEAP8[17904+5>>0]=HEAP8[9213+5>>0]|0;HEAP8[17904+6>>0]=HEAP8[9213+6>>0]|0; + ;HEAP8[18208>>0]=HEAP8[9214>>0]|0;HEAP8[18208+1>>0]=HEAP8[9214+1>>0]|0;HEAP8[18208+2>>0]=HEAP8[9214+2>>0]|0;HEAP8[18208+3>>0]=HEAP8[9214+3>>0]|0;HEAP8[18208+4>>0]=HEAP8[9214+4>>0]|0;HEAP8[18208+5>>0]=HEAP8[9214+5>>0]|0;HEAP8[18208+6>>0]=HEAP8[9214+6>>0]|0; break; } case 1: { - $3 = 17904; + $3 = 18208; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -13717,11 +13721,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=17904; src=9220; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=18208; src=9221; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 17904; + $7 = 18208; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -13732,16 +13736,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(17904,$1)|0); - $strlen = (_strlen(17904)|0); - $endptr = (17904 + ($strlen)|0); + (_strcat(18208,$1)|0); + $strlen = (_strlen(18208)|0); + $endptr = (18208 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(17904,$2)|0); + (_vprintf(18208,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -13773,22 +13777,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4635] = $0; - HEAP32[4634] = $1; + HEAP32[4711] = $0; + HEAP32[4710] = $1; _MatrixIdentity($2); - dest=18628; 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)); + dest=18932; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { - _TraceLog(1,5355,$vararg_buffer); + _TraceLog(1,5356,$vararg_buffer); } - $6 = HEAP32[4635]|0; - HEAP32[4673] = $6; - $7 = HEAP32[4634]|0; - HEAP32[4674] = $7; + $6 = HEAP32[4711]|0; + HEAP32[4749] = $6; + $7 = HEAP32[4710]|0; + HEAP32[4750] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[21372]|0; + $8 = HEAP8[21676]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -13796,18 +13800,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[21372]|0; + $11 = HEAP8[21676]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[21372]|0; + $14 = HEAP8[21676]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,5381,$vararg_buffer1); + _TraceLog(0,5382,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -13824,18 +13828,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4675]|0; + $21 = HEAP32[4751]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4635]|0; - $48 = HEAP32[4634]|0; - $49 = HEAP32[4637]|0; + $47 = HEAP32[4711]|0; + $48 = HEAP32[4710]|0; + $49 = HEAP32[4713]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4633] = $50; - $51 = HEAP32[4635]|0; - HEAP32[4676] = $51; - $52 = HEAP32[4634]|0; - HEAP32[4677] = $52; + HEAP32[4709] = $50; + $51 = HEAP32[4711]|0; + HEAP32[4752] = $51; + $52 = HEAP32[4710]|0; + HEAP32[4753] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -13844,9 +13848,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4635]|0; + $27 = HEAP32[4711]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4634]|0; + $29 = HEAP32[4710]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -13868,87 +13872,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4673] = $31; - HEAP32[4674] = $34; + HEAP32[4749] = $31; + HEAP32[4750] = $34; } } while(0); - $38 = HEAP32[4673]|0; - $39 = HEAP32[4674]|0; + $38 = HEAP32[4749]|0; + $39 = HEAP32[4750]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,5406,$vararg_buffer3); - $40 = HEAP32[4673]|0; - $41 = HEAP32[4674]|0; + _TraceLog(2,5407,$vararg_buffer3); + $40 = HEAP32[4749]|0; + $41 = HEAP32[4750]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4673]|0; - $43 = HEAP32[4674]|0; - $44 = HEAP32[4637]|0; + $42 = HEAP32[4749]|0; + $43 = HEAP32[4750]|0; + $44 = HEAP32[4713]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4633] = $46; + HEAP32[4709] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,5444,$vararg_buffer6); + _TraceLog(1,5445,$vararg_buffer6); } else { - _TraceLog(0,5477,$vararg_buffer8); - $55 = HEAP32[4676]|0; - $56 = HEAP32[4677]|0; + _TraceLog(0,5478,$vararg_buffer8); + $55 = HEAP32[4752]|0; + $56 = HEAP32[4753]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,5517,$vararg_buffer10); - $57 = HEAP32[4635]|0; - $58 = HEAP32[4634]|0; + _TraceLog(0,5518,$vararg_buffer10); + $57 = HEAP32[4711]|0; + $58 = HEAP32[4710]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,5538,$vararg_buffer14); - $59 = HEAP32[4678]|0; - $60 = HEAP32[4679]|0; + _TraceLog(0,5539,$vararg_buffer14); + $59 = HEAP32[4754]|0; + $60 = HEAP32[4755]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,5559,$vararg_buffer18); + _TraceLog(0,5560,$vararg_buffer18); } - $61 = HEAP32[4633]|0; + $61 = HEAP32[4709]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4633]|0; + $62 = HEAP32[4709]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4633]|0; + $63 = HEAP32[4709]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4633]|0; + $64 = HEAP32[4709]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4633]|0; + $65 = HEAP32[4709]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4633]|0; + $66 = HEAP32[4709]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4633]|0; + $67 = HEAP32[4709]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4633]|0; + $68 = HEAP32[4709]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4633]|0; + $69 = HEAP32[4709]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[21372]|0; + $70 = HEAP8[21676]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4635]|0; - $74 = HEAP32[4634]|0; + $73 = HEAP32[4711]|0; + $74 = HEAP32[4710]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4676]|0; - $76 = HEAP32[4678]|0; + $75 = HEAP32[4752]|0; + $76 = HEAP32[4754]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4677]|0; - $80 = HEAP32[4679]|0; + $79 = HEAP32[4753]|0; + $80 = HEAP32[4755]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13966,19 +13970,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,5584,$vararg_buffer22); - $73 = HEAP32[4635]|0; - $74 = HEAP32[4634]|0; + _TraceLog(0,5585,$vararg_buffer22); + $73 = HEAP32[4711]|0; + $74 = HEAP32[4710]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4676]|0; - $76 = HEAP32[4678]|0; + $75 = HEAP32[4752]|0; + $76 = HEAP32[4754]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4677]|0; - $80 = HEAP32[4679]|0; + $79 = HEAP32[4753]|0; + $80 = HEAP32[4755]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -14006,7 +14010,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(18596)>>2] = 224; + HEAP32[(18900)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -14047,27 +14051,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[18572>>2]=HEAP32[$1>>2]|0;HEAP32[18572+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18572+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18572+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18572+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[18876>>2]=HEAP32[$1>>2]|0;HEAP32[18876+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18876+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18876+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18876+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(18596)>>2]|0; + $5 = HEAP32[(18900)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(18600)>>2] = $7; + HEAP32[(18904)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18592)>>2] = $23; - $24 = HEAP32[4643]|0; + HEAP32[(18896)>>2] = $23; + $24 = HEAP32[4719]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4908,$vararg_buffer); + _TraceLog(0,4909,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(18576)>>2]|0; - $10 = HEAP32[(18596)>>2]|0; - $11 = HEAP32[(18600)>>2]|0; + $9 = HEAP32[(18880)>>2]|0; + $10 = HEAP32[(18900)>>2]|0; + $11 = HEAP32[(18904)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -14116,10 +14120,10 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18592)>>2] = $23; - $24 = HEAP32[4643]|0; + HEAP32[(18896)>>2] = $23; + $24 = HEAP32[4719]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4908,$vararg_buffer); + _TraceLog(0,4909,$vararg_buffer); STACKTOP = sp;return; } function _InitTimer() { @@ -14128,7 +14132,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2237] = $1; + HEAPF64[2275] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -14158,7 +14162,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,4841,$vararg_buffer4); + _TraceLog(0,4842,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -14168,7 +14172,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,4772,$vararg_buffer); + _TraceLog(0,4773,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -14184,7 +14188,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,4765)|0); + $5 = (_strcmp($4,4766)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -14287,7 +14291,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 17880; + $31 = 18184; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -14300,7 +14304,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (17888); + $42 = (18192); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -14356,7 +14360,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (18556 + ($10<<2)|0); + $11 = (18860 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -14370,19 +14374,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2234] = $$; + HEAPF64[2272] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,4721,$vararg_buffer); + _TraceLog(0,4722,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4638] = 0; + HEAP32[4714] = 0; return; } function _GetTime() { @@ -14481,7 +14485,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,5255,$vararg_buffer); + _TraceLog(2,5256,$vararg_buffer); STACKTOP = sp;return; } ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; @@ -14958,52 +14962,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4651]|0; + $6 = HEAP32[4727]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,4953,$vararg_buffer); + _TraceLog(2,4954,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4652]|0; + $9 = HEAP32[4728]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,4997,$vararg_buffer1); + _TraceLog(2,4998,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4653]|0; + $12 = HEAP32[4729]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); $or$cond = $14 & $13; if ($or$cond) { - _TraceLog(2,5042,$vararg_buffer3); + _TraceLog(2,5043,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4654]|0; + $15 = HEAP32[4730]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); $or$cond96 = $17 & $16; if ($or$cond96) { - _TraceLog(2,5087,$vararg_buffer5); + _TraceLog(2,5088,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4655]|0; + $18 = HEAP32[4731]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); $or$cond98 = $20 & $19; if ($or$cond98) { - _TraceLog(2,5132,$vararg_buffer7); + _TraceLog(2,5133,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -15041,7 +15045,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4651]|0; + $22 = HEAP32[4727]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -15049,7 +15053,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4651]|0; + $24 = HEAP32[4727]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -15057,7 +15061,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4651]|0; + $26 = HEAP32[4727]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -15065,7 +15069,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4651]|0; + $28 = HEAP32[4727]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -15073,7 +15077,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4652]|0; + $30 = HEAP32[4728]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -15081,7 +15085,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4653]|0; + $32 = HEAP32[4729]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -15089,7 +15093,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4653]|0; + $34 = HEAP32[4729]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -15097,7 +15101,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4654]|0; + $36 = HEAP32[4730]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -15105,7 +15109,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4654]|0; + $38 = HEAP32[4730]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -15113,7 +15117,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4655]|0; + $40 = HEAP32[4731]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -15121,7 +15125,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4655]|0; + $42 = HEAP32[4731]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -15129,11 +15133,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,5177,$vararg_buffer9); + _TraceLog(2,5178,$vararg_buffer9); } } } while(0); - $44 = HEAP32[4656]|0; + $44 = HEAP32[4732]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -15148,7 +15152,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,11635,$vararg_buffer15); + _TraceLog(2,11944,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -15157,7 +15161,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { HEAP32[$vararg_ptr13>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,5206,$vararg_buffer11); + _TraceLog(0,5207,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -15431,7 +15435,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,5309,$vararg_buffer); + _TraceLog(2,5310,$vararg_buffer); $$1 = $$0106; } } @@ -15458,7 +15462,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,9175,$vararg_buffer); + _TraceLog(2,9176,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -15479,20 +15483,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4635]|0; + $3 = HEAP32[4711]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4634]|0; + $5 = HEAP32[4710]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4676] = $3; - HEAP32[4677] = $5; - HEAP32[4678] = 0; - HEAP32[4679] = 0; + HEAP32[4752] = $3; + HEAP32[4753] = $5; + HEAP32[4754] = 0; + HEAP32[4755] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -15502,13 +15506,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,9109,$vararg_buffer8); + _TraceLog(0,9110,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4635]|0; + $35 = HEAP32[4711]|0; $36 = (+($35|0)); - $37 = HEAP32[4634]|0; + $37 = HEAP32[4710]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -15516,26 +15520,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4676] = $45; - HEAP32[4677] = $37; + HEAP32[4752] = $45; + HEAP32[4753] = $37; $46 = (($45) - ($35))|0; - HEAP32[4678] = $46; + HEAP32[4754] = $46; $$sink1 = 0; } else { - HEAP32[4676] = $35; + HEAP32[4752] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4677] = $42; - HEAP32[4678] = 0; + HEAP32[4753] = $42; + HEAP32[4754] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4679] = $$sink1; + HEAP32[4755] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4634]|0; + $7 = HEAP32[4710]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -15543,13 +15547,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,8966,$vararg_buffer); + _TraceLog(2,8967,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4635]|0; + $9 = HEAP32[4711]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4634]|0; + $13 = HEAP32[4710]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -15557,37 +15561,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4676] = $23; - HEAP32[4677] = $1; + HEAP32[4752] = $23; + HEAP32[4753] = $1; $24 = (($0) - ($23))|0; - HEAP32[4678] = $24; + HEAP32[4754] = $24; $$sink = 0; } else { - HEAP32[4676] = $0; - $17 = HEAP32[4634]|0; + HEAP32[4752] = $0; + $17 = HEAP32[4710]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4677] = $20; - HEAP32[4678] = 0; + HEAP32[4753] = $20; + HEAP32[4754] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4679] = $$sink; - $25 = HEAP32[4676]|0; + HEAP32[4755] = $$sink; + $25 = HEAP32[4752]|0; $26 = (+($25|0)); - $27 = HEAP32[4635]|0; + $27 = HEAP32[4711]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=18628; 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)); - HEAP32[4676] = $0; - HEAP32[4677] = $1; + dest=18932; 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)); + HEAP32[4752] = $0; + HEAP32[4753] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,9044,$vararg_buffer4); + _TraceLog(2,9045,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -15605,10 +15609,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4635] = $1; - HEAP32[4634] = $2; - HEAP32[4676] = $1; - HEAP32[4677] = $2; + HEAP32[4711] = $1; + HEAP32[4710] = $2; + HEAP32[4752] = $1; + HEAP32[4753] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -15635,7 +15639,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (21379 + ($1)|0); + $9 = (21683 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -15656,7 +15660,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (21373 + ($1)|0); + $7 = (21677 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -15735,7 +15739,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 17880; + $15 = 18184; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -15770,7 +15774,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5049] = $3; + HEAP32[5125] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -15780,7 +15784,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5048] = $$sink; + HEAP32[5124] = $$sink; return; } function _rlglInit($0,$1) { @@ -15820,16 +15824,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,5607,$vararg_buffer); + _TraceLog(0,5608,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,5625,$vararg_buffer1); + _TraceLog(0,5626,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,5643,$vararg_buffer4); + _TraceLog(0,5644,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,5661,$vararg_buffer7); + _TraceLog(0,5662,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -15837,7 +15841,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,5679)|0); + $15 = (_strtok($$sink63,5680)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -15851,41 +15855,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,5681,$vararg_buffer10); + _TraceLog(0,5682,$vararg_buffer10); $20 = ($$062|0)>(1); if ($20) { $$06167 = 0; while(1) { $23 = (($vararg_buffer7) + ($$06167<<2)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,5716)|0); + $25 = (_strcmp($24,5717)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4714] = 1; - $27 = (_eglGetProcAddress((5743|0))|0); - HEAP32[4715] = $27; - $28 = (_eglGetProcAddress((5764|0))|0); - HEAP32[4716] = $28; - $29 = (_eglGetProcAddress((5785|0))|0); - HEAP32[4717] = $29; + HEAP32[4790] = 1; + $27 = (_eglGetProcAddress((5744|0))|0); + HEAP32[4791] = $27; + $28 = (_eglGetProcAddress((5765|0))|0); + HEAP32[4792] = $28; + $29 = (_eglGetProcAddress((5786|0))|0); + HEAP32[4793] = $29; } - $30 = (_strcmp($24,5809)|0); + $30 = (_strcmp($24,5810)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4656] = 1; + HEAP32[4732] = 1; } - $32 = (_strcmp($24,5829)|0); + $32 = (_strcmp($24,5830)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,5861)|0); + $35 = (_strcmp($34,5862)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,5894)|0); + $37 = (_strcmp($34,5895)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -15894,15 +15898,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4651] = 1; + HEAP32[4727] = 1; } - $39 = (_strcmp($24,5934)|0); + $39 = (_strcmp($24,5935)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,5970)|0); + $42 = (_strcmp($41,5971)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -15910,35 +15914,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4652] = 1; + HEAP32[4728] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,6003)|0); + $45 = (_strcmp($44,6004)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4653] = 1; + HEAP32[4729] = 1; } - $47 = (_strcmp($44,6028)|0); + $47 = (_strcmp($44,6029)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4654] = 1; + HEAP32[4730] = 1; } - $49 = (_strcmp($44,6061)|0); + $49 = (_strcmp($44,6062)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4655] = 1; + HEAP32[4731] = 1; } - $51 = (_strcmp($44,6097)|0); + $51 = (_strcmp($44,6098)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4718] = 1; - _glGetFloatv(34047,(18876|0)); + HEAP32[4794] = 1; + _glGetFloatv(34047,(19180|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,6131)|0); + $54 = (_strcmp($53,6132)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4720] = 1; + HEAP32[4796] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -15949,77 +15953,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4714]|0; + $21 = HEAP32[4790]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,6234,$vararg_buffer15); + _TraceLog(2,6235,$vararg_buffer15); } else { - _TraceLog(0,6159,$vararg_buffer13); + _TraceLog(0,6160,$vararg_buffer13); } - $57 = HEAP32[4656]|0; + $57 = HEAP32[4732]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,6370,$vararg_buffer19); + _TraceLog(2,6371,$vararg_buffer19); } else { - _TraceLog(0,6295,$vararg_buffer17); + _TraceLog(0,6296,$vararg_buffer17); } - $59 = HEAP32[4651]|0; + $59 = HEAP32[4727]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,6462,$vararg_buffer21); + _TraceLog(0,6463,$vararg_buffer21); } - $61 = HEAP32[4652]|0; + $61 = HEAP32[4728]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,6508,$vararg_buffer23); + _TraceLog(0,6509,$vararg_buffer23); } - $63 = HEAP32[4653]|0; + $63 = HEAP32[4729]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,6555,$vararg_buffer25); + _TraceLog(0,6556,$vararg_buffer25); } - $65 = HEAP32[4654]|0; + $65 = HEAP32[4730]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,6606,$vararg_buffer27); + _TraceLog(0,6607,$vararg_buffer27); } - $67 = HEAP32[4655]|0; + $67 = HEAP32[4731]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,6653,$vararg_buffer29); + _TraceLog(0,6654,$vararg_buffer29); } - $69 = HEAP32[4718]|0; + $69 = HEAP32[4794]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4719]; + $71 = +HEAPF32[4795]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,6700,$vararg_buffer31); + _TraceLog(0,6701,$vararg_buffer31); } - $73 = HEAP32[4720]|0; + $73 = HEAP32[4796]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,6766,$vararg_buffer34); + _TraceLog(0,6767,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4721] = $75; + HEAP32[4797] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,6870,$vararg_buffer39); + _TraceLog(2,6871,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,6819,$vararg_buffer36); + _TraceLog(0,6820,$vararg_buffer36); } _LoadDefaultShader($2); - dest=18888; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18944; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19192; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19248; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4750] = $77; + HEAP32[4826] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4750]|0; + $79 = HEAP32[4826]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -16032,7 +16036,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4751] = $78; + HEAP32[4827] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -16047,48 +16051,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4752] = 1; - $85 = HEAP32[4721]|0; + HEAP32[4828] = 1; + $85 = HEAP32[4797]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4753] = 4; + HEAP32[4829] = 4; _MatrixIdentity($4); - dest=19016; src=$4; 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)); + dest=19320; src=$4; 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)); _MatrixIdentity($4); - dest=(19080); src=$4; 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)); + dest=(19384); src=$4; 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)); _MatrixIdentity($4); - dest=(19144); src=$4; 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)); + dest=(19448); src=$4; 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)); _MatrixIdentity($4); - dest=(19208); src=$4; 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)); + dest=(19512); src=$4; 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)); _MatrixIdentity($4); - dest=(19272); src=$4; 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)); + dest=(19576); src=$4; 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)); _MatrixIdentity($4); - dest=(19336); src=$4; 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)); + dest=(19640); src=$4; 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)); _MatrixIdentity($4); - dest=(19400); src=$4; 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)); + dest=(19704); src=$4; 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)); _MatrixIdentity($4); - dest=(19464); src=$4; 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)); + dest=(19768); src=$4; 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)); _MatrixIdentity($4); - dest=(19528); src=$4; 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)); + dest=(19832); src=$4; 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)); _MatrixIdentity($4); - dest=(19592); src=$4; 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)); + dest=(19896); src=$4; 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)); _MatrixIdentity($4); - dest=(19656); src=$4; 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)); + dest=(19960); src=$4; 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)); _MatrixIdentity($4); - dest=(19720); src=$4; 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)); + dest=(20024); src=$4; 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)); _MatrixIdentity($4); - dest=(19784); src=$4; 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)); + dest=(20088); src=$4; 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)); _MatrixIdentity($4); - dest=(19848); src=$4; 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)); + dest=(20152); src=$4; 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)); _MatrixIdentity($4); - dest=(19912); src=$4; 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)); + dest=(20216); src=$4; 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)); _MatrixIdentity($4); - dest=(19976); src=$4; 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)); + dest=(20280); src=$4; 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)); _MatrixIdentity($5); - dest=18724; src=$5; 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)); + dest=19028; src=$5; 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)); _MatrixIdentity($6); - dest=18788; src=$6; 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)); - HEAP32[4680] = 18788; + dest=19092; src=$6; 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)); + HEAP32[4756] = 19092; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -16099,21 +16103,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5010] = $0; - HEAP32[5011] = $1; - _TraceLog(0,6909,$vararg_buffer41); + HEAP32[5086] = $0; + HEAP32[5087] = $1; + _TraceLog(0,6910,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4678]|0; + $0 = HEAP32[4754]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4679]|0; + $2 = HEAP32[4755]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4676]|0; + $4 = HEAP32[4752]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4677]|0; + $6 = HEAP32[4753]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -16124,12 +16128,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 18724; + $modelview$sink = 19028; label = 3; break; } case 5888: { - $modelview$sink = 18788; + $modelview$sink = 19092; label = 3; break; } @@ -16137,9 +16141,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4680] = $modelview$sink; + HEAP32[4756] = $modelview$sink; } - HEAP32[4713] = $0; + HEAP32[4789] = $0; return; } function _rlLoadIdentity() { @@ -16147,7 +16151,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4680]|0; + $1 = HEAP32[4756]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -16168,7 +16172,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4680]|0; + $8 = HEAP32[4756]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -16227,17 +16231,17 @@ function _LoadDefaultShader($0) { $1 = sp + 16|0; $2 = sp + 513|0; $3 = sp + 72|0; - _memcpy(($2|0),(7485|0),489)|0; - _memcpy(($3|0),(7974|0),441)|0; + _memcpy(($2|0),(7486|0),489)|0; + _memcpy(($3|0),(7975|0),441)|0; $4 = (_LoadShaderProgram($2,$3)|0); HEAP32[$1>>2] = $4; $5 = ($4|0)==(0); if ($5) { HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,8463,$vararg_buffer1); + _TraceLog(2,8464,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,8415,$vararg_buffer); + _TraceLog(0,8416,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -16265,15 +16269,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(20060)>>2] = $0; + HEAP32[(20364)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(20068)>>2] = $1; - HEAP32[(20064)>>2] = 0; - HEAP32[(20072)>>2] = 0; + HEAP32[(20372)>>2] = $1; + HEAP32[(20368)>>2] = 0; + HEAP32[(20376)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(20068)>>2]|0; + $2 = HEAP32[(20372)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -16284,19 +16288,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5012] = 0; - HEAP32[(20056)>>2] = 0; - HEAP32[(20052)>>2] = 0; + HEAP32[5088] = 0; + HEAP32[(20360)>>2] = 0; + HEAP32[(20356)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(20108)>>2] = $5; + HEAP32[(20412)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(20116)>>2] = $6; - HEAP32[(20112)>>2] = 0; - HEAP32[(20120)>>2] = 0; + HEAP32[(20420)>>2] = $6; + HEAP32[(20416)>>2] = 0; + HEAP32[(20424)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(20116)>>2]|0; + $7 = HEAP32[(20420)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -16307,24 +16311,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5024] = 0; - HEAP32[(20104)>>2] = 0; - HEAP32[(20100)>>2] = 0; + HEAP32[5100] = 0; + HEAP32[(20408)>>2] = 0; + HEAP32[(20404)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(20156)>>2] = $10; + HEAP32[(20460)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(20160)>>2] = $11; + HEAP32[(20464)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(20164)>>2] = $12; + HEAP32[(20468)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(20168)>>2] = $13; - $14 = HEAP32[(20156)>>2]|0; + HEAP32[(20472)>>2] = $13; + $14 = HEAP32[(20460)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(20160)>>2]|0; + $15 = HEAP32[(20464)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(20164)>>2]|0; + $17 = HEAP32[(20468)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -16335,7 +16339,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(20168)>>2]|0; + $16 = HEAP32[(20472)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -16372,140 +16376,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5036] = 0; - HEAP32[(20148)>>2] = 0; - HEAP32[(20152)>>2] = 0; - _TraceLog(0,6956,$vararg_buffer); - $20 = HEAP32[4714]|0; + HEAP32[5112] = 0; + HEAP32[(20452)>>2] = 0; + HEAP32[(20456)>>2] = 0; + _TraceLog(0,6957,$vararg_buffer); + $20 = HEAP32[4790]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4715]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(20076)); - $44 = HEAP32[4716]|0; - $45 = HEAP32[(20076)>>2]|0; + $43 = HEAP32[4791]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(20380)); + $44 = HEAP32[4792]|0; + $45 = HEAP32[(20380)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((20080)|0)); - $46 = HEAP32[(20080)>>2]|0; + _glGenBuffers(2,((20384)|0)); + $46 = HEAP32[(20384)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(20060)>>2]|0; + $47 = HEAP32[(20364)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(18948)>>2]|0; + $48 = HEAP32[(19252)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(18948)>>2]|0; + $49 = HEAP32[(19252)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((20084)|0)); - $50 = HEAP32[(20084)>>2]|0; + _glGenBuffers(2,((20388)|0)); + $50 = HEAP32[(20388)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(20068)>>2]|0; + $51 = HEAP32[(20372)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(18968)>>2]|0; + $52 = HEAP32[(19272)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(18968)>>2]|0; + $53 = HEAP32[(19272)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4714]|0; + $54 = HEAP32[4790]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(20080)>>2]|0; - $58 = HEAP32[(20084)>>2]|0; + $57 = HEAP32[(20384)>>2]|0; + $58 = HEAP32[(20388)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,7094,$vararg_buffer3); + _TraceLog(0,7095,$vararg_buffer3); } else { - $56 = HEAP32[(20076)>>2]|0; + $56 = HEAP32[(20380)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,7029,$vararg_buffer1); + _TraceLog(0,7030,$vararg_buffer1); } - $59 = HEAP32[4714]|0; + $59 = HEAP32[4790]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4715]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(20124)); - $62 = HEAP32[4716]|0; - $63 = HEAP32[(20124)>>2]|0; + $61 = HEAP32[4791]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(20428)); + $62 = HEAP32[4792]|0; + $63 = HEAP32[(20428)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((20128)|0)); - $64 = HEAP32[(20128)>>2]|0; + _glGenBuffers(1,((20432)|0)); + $64 = HEAP32[(20432)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(20108)>>2]|0; + $65 = HEAP32[(20412)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(18948)>>2]|0; + $66 = HEAP32[(19252)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(18948)>>2]|0; + $67 = HEAP32[(19252)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20132)|0)); - $68 = HEAP32[(20132)>>2]|0; + _glGenBuffers(1,((20436)|0)); + $68 = HEAP32[(20436)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(20116)>>2]|0; + $69 = HEAP32[(20420)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(18968)>>2]|0; + $70 = HEAP32[(19272)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(18968)>>2]|0; + $71 = HEAP32[(19272)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4714]|0; + $72 = HEAP32[4790]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(20128)>>2]|0; - $76 = HEAP32[(20132)>>2]|0; + $75 = HEAP32[(20432)>>2]|0; + $76 = HEAP32[(20436)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,7240,$vararg_buffer10); + _TraceLog(0,7241,$vararg_buffer10); } else { - $74 = HEAP32[(20124)>>2]|0; + $74 = HEAP32[(20428)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,7171,$vararg_buffer7); + _TraceLog(0,7172,$vararg_buffer7); } - $77 = HEAP32[4714]|0; + $77 = HEAP32[4790]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4715]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(20172)); - $80 = HEAP32[4716]|0; - $81 = HEAP32[(20172)>>2]|0; + $79 = HEAP32[4791]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(20476)); + $80 = HEAP32[4792]|0; + $81 = HEAP32[(20476)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((20176)|0)); - $82 = HEAP32[(20176)>>2]|0; + _glGenBuffers(1,((20480)|0)); + $82 = HEAP32[(20480)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(20156)>>2]|0; + $83 = HEAP32[(20460)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(18948)>>2]|0; + $84 = HEAP32[(19252)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(18948)>>2]|0; + $85 = HEAP32[(19252)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20180)|0)); - $86 = HEAP32[(20180)>>2]|0; + _glGenBuffers(1,((20484)|0)); + $86 = HEAP32[(20484)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(20160)>>2]|0; + $87 = HEAP32[(20464)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(18952)>>2]|0; + $88 = HEAP32[(19256)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(18952)>>2]|0; + $89 = HEAP32[(19256)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((20184)|0)); - $90 = HEAP32[(20184)>>2]|0; + _glGenBuffers(1,((20488)|0)); + $90 = HEAP32[(20488)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(20164)>>2]|0; + $91 = HEAP32[(20468)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(18968)>>2]|0; + $92 = HEAP32[(19272)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(18968)>>2]|0; + $93 = HEAP32[(19272)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((20188)|0)); - $94 = HEAP32[(20188)>>2]|0; + _glGenBuffers(1,((20492)|0)); + $94 = HEAP32[(20492)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(20168)>>2]|0; + $95 = HEAP32[(20472)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4714]|0; + $96 = HEAP32[4790]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(20176)>>2]|0; - $100 = HEAP32[(20180)>>2]|0; - $101 = HEAP32[(20184)>>2]|0; - $102 = HEAP32[(20188)>>2]|0; + $99 = HEAP32[(20480)>>2]|0; + $100 = HEAP32[(20484)>>2]|0; + $101 = HEAP32[(20488)>>2]|0; + $102 = HEAP32[(20492)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -16513,18 +16517,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,7386,$vararg_buffer17); + _TraceLog(0,7387,$vararg_buffer17); } else { - $98 = HEAP32[(20172)>>2]|0; + $98 = HEAP32[(20476)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,7321,$vararg_buffer14); + _TraceLog(0,7322,$vararg_buffer14); } - $103 = HEAP32[4714]|0; + $103 = HEAP32[4790]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4716]|0; + $105 = HEAP32[4792]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -16561,10 +16565,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,8719,$vararg_buffer4); + _TraceLog(0,8720,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,8667,$vararg_buffer); + _TraceLog(2,8668,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -16574,7 +16578,7 @@ function _LoadShaderProgram($0,$1) { $13 = HEAP32[$vararg_buffer>>2]|0; _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,8716,$vararg_buffer1); + _TraceLog(0,8717,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -16583,10 +16587,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,8820,$vararg_buffer13); + _TraceLog(0,8821,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,8769,$vararg_buffer7); + _TraceLog(2,8770,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -16596,25 +16600,25 @@ function _LoadShaderProgram($0,$1) { $19 = HEAP32[$vararg_buffer7>>2]|0; _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,8716,$vararg_buffer10); + _TraceLog(0,8717,$vararg_buffer10); _llvm_stackrestore(($17|0)); } $20 = (_glCreateProgram()|0); _glAttachShader(($20|0),($6|0)); _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(8511|0)); - _glBindAttribLocation(($20|0),1,(8526|0)); - _glBindAttribLocation(($20|0),2,(8557|0)); - _glBindAttribLocation(($20|0),3,(8584|0)); - _glBindAttribLocation(($20|0),4,(8570|0)); - _glBindAttribLocation(($20|0),5,(8541|0)); + _glBindAttribLocation(($20|0),0,(8512|0)); + _glBindAttribLocation(($20|0),1,(8527|0)); + _glBindAttribLocation(($20|0),2,(8558|0)); + _glBindAttribLocation(($20|0),3,(8585|0)); + _glBindAttribLocation(($20|0),4,(8571|0)); + _glBindAttribLocation(($20|0),5,(8542|0)); _glLinkProgram(($20|0)); _glGetProgramiv(($20|0),35714,($4|0)); $21 = HEAP32[$4>>2]|0; $22 = ($21|0)==(0); if ($22) { HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,8872,$vararg_buffer16); + _TraceLog(2,8873,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -16624,7 +16628,7 @@ function _LoadShaderProgram($0,$1) { $26 = HEAP32[$vararg_buffer16>>2]|0; _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,8716,$vararg_buffer19); + _TraceLog(0,8717,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -16633,7 +16637,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,8918,$vararg_buffer22); + _TraceLog(0,8919,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -16648,55 +16652,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(8511|0))|0); + $2 = (_glGetAttribLocation(($1|0),(8512|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(8526|0))|0); + $5 = (_glGetAttribLocation(($4|0),(8527|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(8541|0))|0); + $8 = (_glGetAttribLocation(($7|0),(8542|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(8557|0))|0); + $11 = (_glGetAttribLocation(($10|0),(8558|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(8570|0))|0); + $14 = (_glGetAttribLocation(($13|0),(8571|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(8584|0))|0); + $17 = (_glGetAttribLocation(($16|0),(8585|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(8596|0))|0); + $20 = (_glGetUniformLocation(($19|0),(8597|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(8606|0))|0); + $23 = (_glGetUniformLocation(($22|0),(8607|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(8617|0))|0); + $26 = (_glGetUniformLocation(($25|0),(8618|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(8628|0))|0); + $29 = (_glGetUniformLocation(($28|0),(8629|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(8640|0))|0); + $32 = (_glGetUniformLocation(($31|0),(8641|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(8649|0))|0); + $35 = (_glGetUniformLocation(($34|0),(8650|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(8658|0))|0); + $38 = (_glGetUniformLocation(($37|0),(8659|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -16705,9 +16709,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21373 + ($0)|0); + $1 = (21677 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21376 + ($0)|0); + $3 = (21680 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16719,9 +16723,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21373 + ($0)|0); + $1 = (21677 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21376 + ($0)|0); + $3 = (21680 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -16742,10 +16746,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4633]|0; + $0 = HEAP32[4709]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,9230,$vararg_buffer); + _TraceLog(0,9231,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -16753,9 +16757,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[18572>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18572+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18572+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18572+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18572+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[18876>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18876+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18876+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18876+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18876+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(18600)>>2]|0; + $0 = HEAP32[(18904)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -16766,11 +16770,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(18884|0)); - $0 = HEAP32[4721]|0; + _glDeleteTextures(1,(19188|0)); + $0 = HEAP32[4797]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,9257,$vararg_buffer); - $1 = HEAP32[4751]|0; + _TraceLog(0,9258,$vararg_buffer); + $1 = HEAP32[4827]|0; _free($1); STACKTOP = sp;return; } @@ -16778,17 +16782,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4722]|0; + $0 = HEAP32[4798]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4714]|0; + $0 = HEAP32[4790]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4716]|0; + $2 = HEAP32[4792]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -16797,39 +16801,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((20080)|0)); - _glDeleteBuffers(1,((20084)|0)); - _glDeleteBuffers(1,((20128)|0)); - _glDeleteBuffers(1,((20132)|0)); - _glDeleteBuffers(1,((20176)|0)); - _glDeleteBuffers(1,((20180)|0)); - _glDeleteBuffers(1,((20184)|0)); - _glDeleteBuffers(1,((20188)|0)); - $3 = HEAP32[4714]|0; + _glDeleteBuffers(1,((20384)|0)); + _glDeleteBuffers(1,((20388)|0)); + _glDeleteBuffers(1,((20432)|0)); + _glDeleteBuffers(1,((20436)|0)); + _glDeleteBuffers(1,((20480)|0)); + _glDeleteBuffers(1,((20484)|0)); + _glDeleteBuffers(1,((20488)|0)); + _glDeleteBuffers(1,((20492)|0)); + $3 = HEAP32[4790]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4717]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(20076)); - $6 = HEAP32[4717]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(20124)); - $7 = HEAP32[4717]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(20172)); + $5 = HEAP32[4793]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(20380)); + $6 = HEAP32[4793]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(20428)); + $7 = HEAP32[4793]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(20476)); } - $8 = HEAP32[(20060)>>2]|0; + $8 = HEAP32[(20364)>>2]|0; _free($8); - $9 = HEAP32[(20068)>>2]|0; + $9 = HEAP32[(20372)>>2]|0; _free($9); - $10 = HEAP32[(20108)>>2]|0; + $10 = HEAP32[(20412)>>2]|0; _free($10); - $11 = HEAP32[(20116)>>2]|0; + $11 = HEAP32[(20420)>>2]|0; _free($11); - $12 = HEAP32[(20156)>>2]|0; + $12 = HEAP32[(20460)>>2]|0; _free($12); - $13 = HEAP32[(20160)>>2]|0; + $13 = HEAP32[(20464)>>2]|0; _free($13); - $14 = HEAP32[(20164)>>2]|0; + $14 = HEAP32[(20468)>>2]|0; _free($14); - $15 = HEAP32[(20168)>>2]|0; + $15 = HEAP32[(20472)>>2]|0; _free($15); return; } @@ -16847,7 +16851,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,9322,$vararg_buffer); + _TraceLog(0,9323,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -16869,16 +16873,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2254] = $0; - $1 = +HEAPF64[2237]; + HEAPF64[2292] = $0; + $1 = +HEAPF64[2275]; $2 = $0 - $1; - HEAPF64[2255] = $2; - HEAPF64[2237] = $0; + HEAPF64[2293] = $2; + HEAPF64[2275] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=18628; 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)); + dest=$downscaleView$byval_copy; src=18932; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20200); + _rlMultMatrixf(20504); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -16887,53 +16891,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[5050] = $1; + HEAP32[5126] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(20204)>>2] = $3; + HEAP32[(20508)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(20208)>>2] = $5; + HEAP32[(20512)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(20212)>>2] = $7; + HEAP32[(20516)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(20216)>>2] = $9; + HEAP32[(20520)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(20220)>>2] = $11; + HEAP32[(20524)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(20224)>>2] = $13; + HEAP32[(20528)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(20228)>>2] = $15; + HEAP32[(20532)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(20232)>>2] = $17; + HEAP32[(20536)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(20236)>>2] = $19; + HEAP32[(20540)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(20240)>>2] = $21; + HEAP32[(20544)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(20244)>>2] = $23; + HEAP32[(20548)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(20248)>>2] = $25; + HEAP32[(20552)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(20252)>>2] = $27; + HEAP32[(20556)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(20256)>>2] = $29; + HEAP32[(20560)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(20260)>>2] = $31; - return (20200|0); + HEAP32[(20564)>>2] = $31; + return (20504|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -17008,7 +17012,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4680]|0; + $49 = HEAP32[4756]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -17022,15 +17026,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2254] = $0; - $1 = +HEAPF64[2237]; + HEAPF64[2292] = $0; + $1 = +HEAPF64[2275]; $2 = $0 - $1; - HEAPF64[2256] = $2; - HEAPF64[2237] = $0; - $3 = +HEAPF64[2255]; + HEAPF64[2294] = $2; + HEAPF64[2275] = $0; + $3 = +HEAPF64[2293]; $4 = $2 + $3; - HEAPF64[2257] = $4; - $5 = +HEAPF64[2234]; + HEAPF64[2295] = $4; + $5 = +HEAPF64[2272]; $6 = $4 < $5; if (!($6)) { return; @@ -17040,13 +17044,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2254] = $10; - $11 = +HEAPF64[2237]; + HEAPF64[2292] = $10; + $11 = +HEAPF64[2275]; $12 = $10 - $11; - HEAPF64[2237] = $10; - $13 = +HEAPF64[2257]; + HEAPF64[2275] = $10; + $13 = +HEAPF64[2295]; $14 = $12 + $13; - HEAPF64[2257] = $14; + HEAPF64[2295] = $14; return; } function _rlglDraw() { @@ -17059,7 +17063,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4633]|0; + $0 = HEAP32[4709]|0; _glfwSwapBuffers(($0|0)); return; } @@ -17075,20 +17079,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[758] = -1; HEAP32[760] = -1; - HEAP32[5066] = 0; - $3 = HEAP32[4633]|0; + HEAP32[5142] = 0; + $3 = HEAP32[4709]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4466] = $5; + HEAPF32[4542] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(17868)>>2] = $7; - _memcpy((21891|0),(21379|0),512)|0; - ;HEAP8[21376>>0]=HEAP8[21373>>0]|0;HEAP8[21376+1>>0]=HEAP8[21373+1>>0]|0;HEAP8[21376+2>>0]=HEAP8[21373+2>>0]|0; - $8 = HEAP32[5049]|0; - HEAP32[4636] = $8; - HEAP32[5049] = 0; + HEAPF32[(18172)>>2] = $7; + _memcpy((22195|0),(21683|0),512)|0; + ;HEAP8[21680>>0]=HEAP8[21677>>0]|0;HEAP8[21680+1>>0]=HEAP8[21677+1>>0]|0;HEAP8[21680+2>>0]=HEAP8[21677+2>>0]|0; + $8 = HEAP32[5125]|0; + HEAP32[4712] = $8; + HEAP32[5125] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -17098,8 +17102,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (22403 + ($$05160<<5)|0); - $scevgep67 = (22531 + ($$05160<<5)|0); + $scevgep = (22707 + ($$05160<<5)|0); + $scevgep67 = (22835 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -17113,7 +17117,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((22531 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((22835 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[760] = $$04857; @@ -17140,7 +17144,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((20268 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((20572 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -17156,7 +17160,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5066] = $$lcssa; + HEAP32[5142] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -17197,87 +17201,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5012]|0; + $0 = HEAP32[5088]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4714]|0; + $2 = HEAP32[4790]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4716]|0; - $5 = HEAP32[(20076)>>2]|0; + $4 = HEAP32[4792]|0; + $5 = HEAP32[(20380)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(20080)>>2]|0; + $6 = HEAP32[(20384)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5012]|0; + $7 = HEAP32[5088]|0; $8 = ($7*12)|0; - $9 = HEAP32[(20060)>>2]|0; + $9 = HEAP32[(20364)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(20084)>>2]|0; + $10 = HEAP32[(20388)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(20056)>>2]|0; + $11 = HEAP32[(20360)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(20068)>>2]|0; + $13 = HEAP32[(20372)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5024]|0; + $14 = HEAP32[5100]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4714]|0; + $16 = HEAP32[4790]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4716]|0; - $19 = HEAP32[(20124)>>2]|0; + $18 = HEAP32[4792]|0; + $19 = HEAP32[(20428)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(20128)>>2]|0; + $20 = HEAP32[(20432)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5024]|0; + $21 = HEAP32[5100]|0; $22 = ($21*12)|0; - $23 = HEAP32[(20108)>>2]|0; + $23 = HEAP32[(20412)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(20132)>>2]|0; + $24 = HEAP32[(20436)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(20104)>>2]|0; + $25 = HEAP32[(20408)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(20116)>>2]|0; + $27 = HEAP32[(20420)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5036]|0; + $28 = HEAP32[5112]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4714]|0; + $30 = HEAP32[4790]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4716]|0; - $33 = HEAP32[(20172)>>2]|0; + $32 = HEAP32[4792]|0; + $33 = HEAP32[(20476)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(20176)>>2]|0; + $34 = HEAP32[(20480)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5036]|0; + $35 = HEAP32[5112]|0; $36 = ($35*12)|0; - $37 = HEAP32[(20156)>>2]|0; + $37 = HEAP32[(20460)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(20180)>>2]|0; + $38 = HEAP32[(20484)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5036]|0; + $39 = HEAP32[5112]|0; $40 = $39 << 3; - $41 = HEAP32[(20160)>>2]|0; + $41 = HEAP32[(20464)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(20184)>>2]|0; + $42 = HEAP32[(20488)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5036]|0; + $43 = HEAP32[5112]|0; $44 = $43 << 2; - $45 = HEAP32[(20164)>>2]|0; + $45 = HEAP32[(20468)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4714]|0; + $46 = HEAP32[4790]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4716]|0; + $48 = HEAP32[4792]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -17295,9 +17299,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=18724; 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)); - dest=$1; src=18788; 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)); - $3 = HEAP32[5099]|0; + dest=$0; src=19028; 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)); + dest=$1; src=19092; 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)); + $3 = HEAP32[5175]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -17307,134 +17311,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5012]|0; + $8 = HEAP32[5088]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5024]|0; + $10 = HEAP32[5100]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5036]|0; + $12 = HEAP32[5112]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4736]|0; + $14 = HEAP32[4812]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=18788; 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)); - dest=$$byval_copy2; src=18724; 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)); + dest=$modelview$byval_copy; src=19092; 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)); + dest=$$byval_copy2; src=19028; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(18972)>>2]|0; + $15 = HEAP32[(19276)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(18976)>>2]|0; + $17 = HEAP32[(19280)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(18988)>>2]|0; + $18 = HEAP32[(19292)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5012]|0; + $19 = HEAP32[5088]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4721]|0; + $21 = HEAP32[4797]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4714]|0; + $22 = HEAP32[4790]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(20080)>>2]|0; + $26 = HEAP32[(20384)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(18948)>>2]|0; + $27 = HEAP32[(19252)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(18948)>>2]|0; + $28 = HEAP32[(19252)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(20084)>>2]|0; + $29 = HEAP32[(20388)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(18968)>>2]|0; + $30 = HEAP32[(19272)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(18968)>>2]|0; + $31 = HEAP32[(19272)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4716]|0; - $25 = HEAP32[(20076)>>2]|0; + $24 = HEAP32[4792]|0; + $25 = HEAP32[(20380)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5012]|0; + $32 = HEAP32[5088]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4714]|0; + $33 = HEAP32[4790]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5024]|0; + $35 = HEAP32[5100]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4721]|0; + $37 = HEAP32[4797]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4714]|0; + $38 = HEAP32[4790]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(20128)>>2]|0; + $42 = HEAP32[(20432)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(18948)>>2]|0; + $43 = HEAP32[(19252)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(18948)>>2]|0; + $44 = HEAP32[(19252)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(20132)>>2]|0; + $45 = HEAP32[(20436)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(18968)>>2]|0; + $46 = HEAP32[(19272)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(18968)>>2]|0; + $47 = HEAP32[(19272)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4716]|0; - $41 = HEAP32[(20124)>>2]|0; + $40 = HEAP32[4792]|0; + $41 = HEAP32[(20428)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5024]|0; + $48 = HEAP32[5100]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4714]|0; + $49 = HEAP32[4790]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5036]|0; + $51 = HEAP32[5112]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4714]|0; + $53 = HEAP32[4790]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(20176)>>2]|0; + $57 = HEAP32[(20480)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(18948)>>2]|0; + $58 = HEAP32[(19252)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(18948)>>2]|0; + $59 = HEAP32[(19252)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(20180)>>2]|0; + $60 = HEAP32[(20484)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(18952)>>2]|0; + $61 = HEAP32[(19256)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(18952)>>2]|0; + $62 = HEAP32[(19256)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(20184)>>2]|0; + $63 = HEAP32[(20488)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(18968)>>2]|0; + $64 = HEAP32[(19272)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(18968)>>2]|0; + $65 = HEAP32[(19272)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(20188)>>2]|0; + $66 = HEAP32[(20492)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4716]|0; - $56 = HEAP32[(20172)>>2]|0; + $55 = HEAP32[4792]|0; + $56 = HEAP32[(20476)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4752]|0; + $67 = HEAP32[4828]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4751]|0; + $71 = HEAP32[4827]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -17445,14 +17449,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4751]|0; + $80 = HEAP32[4827]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4752]|0; + $87 = HEAP32[4828]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -17461,7 +17465,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4714]|0; + $69 = HEAP32[4790]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -17469,10 +17473,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4714]|0; + $89 = HEAP32[4790]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4716]|0; + $91 = HEAP32[4792]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -17484,22 +17488,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4752] = 1; - $5 = HEAP32[4721]|0; - $6 = HEAP32[4751]|0; + HEAP32[4828] = 1; + $5 = HEAP32[4797]|0; + $6 = HEAP32[4827]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5012] = 0; - HEAP32[(20056)>>2] = 0; - HEAP32[5024] = 0; - HEAP32[(20104)>>2] = 0; - HEAP32[5036] = 0; - HEAP32[(20148)>>2] = 0; - HEAP32[(20152)>>2] = 0; + HEAP32[5088] = 0; + HEAP32[(20360)>>2] = 0; + HEAP32[5100] = 0; + HEAP32[(20408)>>2] = 0; + HEAP32[5112] = 0; + HEAP32[(20452)>>2] = 0; + HEAP32[(20456)>>2] = 0; HEAPF32[761] = -1.0; - dest=18724; src=$0; 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)); - dest=18788; src=$1; 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)); + dest=19028; src=$0; 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)); + dest=19092; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -17514,17 +17518,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[5010]|0; + $5 = HEAP32[5086]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5011]|0; + $9 = HEAP32[5087]|0; _rlViewport($7,0,$8,$9); - $10 = (20628 + ($0<<6)|0); + $10 = (20932 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20500 + ($0<<6)|0); + $11 = (20804 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -17536,14 +17540,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=18788; src=$0; 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)); + dest=19092; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=18724; src=$0; 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)); + dest=19028; src=$0; 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)); return; } function _Begin3dMode($0) { @@ -17560,9 +17564,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4635]|0; + $2 = HEAP32[4711]|0; $3 = (+($2|0)); - $4 = HEAP32[4634]|0; + $4 = HEAP32[4710]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -17587,7 +17591,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; 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)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(20200); + _rlMultMatrixf(20504); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -17596,26 +17600,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5189]|0; + $0 = HEAP32[5265]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,9372,$vararg_buffer); + _TraceLog(1,9373,$vararg_buffer); } - $2 = HEAP32[5189]|0; - $3 = (19016 + ($2<<6)|0); - $4 = HEAP32[4680]|0; + $2 = HEAP32[5265]|0; + $3 = (19320 + ($2<<6)|0); + $4 = HEAP32[4756]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[5189]|0; + $5 = HEAP32[5265]|0; $6 = (($5) + 1)|0; - HEAP32[5189] = $6; - $7 = HEAP32[4713]|0; + HEAP32[5265] = $6; + $7 = HEAP32[4789]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5190] = 1; + HEAP32[5266] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -17634,7 +17638,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4680]|0; + $8 = HEAP32[4756]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -17661,18 +17665,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5189]|0; + $0 = HEAP32[5265]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5189]|0; + $2 = HEAP32[5265]|0; $3 = (($2) + -1)|0; - $4 = (19016 + ($3<<6)|0); - $5 = HEAP32[4680]|0; + $4 = (19320 + ($3<<6)|0); + $5 = HEAP32[4756]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5189] = $6; + HEAP32[5265] = $6; return; } function _rlDisableDepthTest() { @@ -17692,7 +17696,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2257]; + $0 = +HEAPF64[2295]; $1 = $0; return (+$1); } @@ -17754,7 +17758,7 @@ function _GetMouseRay($0,$1,$2) { HEAPF64[$vararg_ptr1>>3] = $25; $vararg_ptr2 = ((($$byval_copy10)) + 16|0); HEAPF64[$vararg_ptr2>>3] = 1.0; - _TraceLog(3,9410,$$byval_copy10); + _TraceLog(3,9411,$$byval_copy10); $26 = ((($2)) + 36|0); $27 = +HEAPF32[$26>>2]; $28 = $27; @@ -17842,7 +17846,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4680]|0; + $5 = HEAP32[4756]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -17875,7 +17879,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4680]|0; + $11 = HEAP32[4756]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -17886,7 +17890,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4753] = $0; + HEAP32[4829] = $0; return; } function _rlEnd() { @@ -17902,21 +17906,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5190]|0; + $0 = HEAP32[5266]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5191]|0; + $2 = HEAP32[5267]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4750]|0; + $6 = HEAP32[4826]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4680]|0; + $8 = HEAP32[4756]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5191]|0; + $5 = HEAP32[5267]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -17924,12 +17928,12 @@ function _rlEnd() { break; } } - HEAP32[5190] = 0; + HEAP32[5266] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4750]|0; + $11 = HEAP32[4826]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -17938,7 +17942,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5191]|0; + $19 = HEAP32[5267]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -17948,15 +17952,15 @@ function _rlEnd() { } } } else { - HEAP32[5190] = 0; + HEAP32[5266] = 0; } - HEAP32[5191] = 0; + HEAP32[5267] = 0; } - $21 = HEAP32[4753]|0; + $21 = HEAP32[4829]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5012]|0; - $23 = HEAP32[(20056)>>2]|0; + $22 = HEAP32[5088]|0; + $23 = HEAP32[(20360)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[761]; @@ -17975,16 +17979,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(20068)>>2]|0; - $28 = HEAP32[(20056)>>2]|0; + $27 = HEAP32[(20372)>>2]|0; + $28 = HEAP32[(20360)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(20068)>>2]|0; - $35 = HEAP32[(20056)>>2]|0; + $34 = HEAP32[(20372)>>2]|0; + $35 = HEAP32[(20360)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -17992,8 +17996,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(20068)>>2]|0; - $43 = HEAP32[(20056)>>2]|0; + $42 = HEAP32[(20372)>>2]|0; + $43 = HEAP32[(20360)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -18001,8 +18005,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(20068)>>2]|0; - $51 = HEAP32[(20056)>>2]|0; + $50 = HEAP32[(20372)>>2]|0; + $51 = HEAP32[(20360)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -18010,9 +18014,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(20056)>>2]|0; + $58 = HEAP32[(20360)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(20056)>>2] = $59; + HEAP32[(20360)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -18028,8 +18032,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5024]|0; - $62 = HEAP32[(20104)>>2]|0; + $61 = HEAP32[5100]|0; + $62 = HEAP32[(20408)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[761]; @@ -18048,16 +18052,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(20116)>>2]|0; - $67 = HEAP32[(20104)>>2]|0; + $66 = HEAP32[(20420)>>2]|0; + $67 = HEAP32[(20408)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(20116)>>2]|0; - $74 = HEAP32[(20104)>>2]|0; + $73 = HEAP32[(20420)>>2]|0; + $74 = HEAP32[(20408)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -18065,8 +18069,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(20116)>>2]|0; - $82 = HEAP32[(20104)>>2]|0; + $81 = HEAP32[(20420)>>2]|0; + $82 = HEAP32[(20408)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -18074,8 +18078,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(20116)>>2]|0; - $90 = HEAP32[(20104)>>2]|0; + $89 = HEAP32[(20420)>>2]|0; + $90 = HEAP32[(20408)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -18083,9 +18087,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(20104)>>2]|0; + $97 = HEAP32[(20408)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(20104)>>2] = $98; + HEAP32[(20408)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -18101,8 +18105,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5036]|0; - $101 = HEAP32[(20152)>>2]|0; + $100 = HEAP32[5112]|0; + $101 = HEAP32[(20456)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -18110,16 +18114,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(20164)>>2]|0; - $106 = HEAP32[(20152)>>2]|0; + $105 = HEAP32[(20468)>>2]|0; + $106 = HEAP32[(20456)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(20164)>>2]|0; - $113 = HEAP32[(20152)>>2]|0; + $112 = HEAP32[(20468)>>2]|0; + $113 = HEAP32[(20456)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -18127,8 +18131,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(20164)>>2]|0; - $121 = HEAP32[(20152)>>2]|0; + $120 = HEAP32[(20468)>>2]|0; + $121 = HEAP32[(20456)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -18136,8 +18140,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(20164)>>2]|0; - $129 = HEAP32[(20152)>>2]|0; + $128 = HEAP32[(20468)>>2]|0; + $129 = HEAP32[(20456)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -18145,9 +18149,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(20152)>>2]|0; + $136 = HEAP32[(20456)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(20152)>>2] = $137; + HEAP32[(20456)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -18158,8 +18162,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5036]|0; - $140 = HEAP32[(20148)>>2]|0; + $139 = HEAP32[5112]|0; + $140 = HEAP32[(20452)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[761]; @@ -18167,8 +18171,8 @@ function _rlEnd() { HEAPF32[761] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(20160)>>2]|0; - $$promoted = HEAP32[(20148)>>2]|0; + $142 = HEAP32[(20464)>>2]|0; + $$promoted = HEAP32[(20452)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -18176,7 +18180,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(20148)>>2] = $147; + HEAP32[(20452)>>2] = $147; $148 = +HEAPF32[761]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[761] = $149; @@ -18203,11 +18207,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5190]|0; + $3 = HEAP32[5266]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4750]|0; - $6 = HEAP32[5191]|0; + $5 = HEAP32[4826]|0; + $6 = HEAP32[5267]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -18215,16 +18219,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5191] = $10; + HEAP32[5267] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4753]|0; + $11 = HEAP32[4829]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5012]|0; + $12 = HEAP32[5088]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(20060)>>2]|0; + $14 = HEAP32[(20364)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -18235,19 +18239,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5012] = $21; + HEAP32[5088] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,9443,$vararg_buffer); + _TraceLog(1,9444,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[5024]|0; + $22 = HEAP32[5100]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(20108)>>2]|0; + $24 = HEAP32[(20412)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -18258,19 +18262,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5024] = $31; + HEAP32[5100] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,9468,$vararg_buffer1); + _TraceLog(1,9469,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[5036]|0; + $32 = HEAP32[5112]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(20156)>>2]|0; + $34 = HEAP32[(20460)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -18281,9 +18285,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5036] = $41; - $42 = HEAP32[4751]|0; - $43 = HEAP32[4752]|0; + HEAP32[5112] = $41; + $42 = HEAP32[4827]|0; + $43 = HEAP32[4828]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -18291,7 +18295,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,9497,$vararg_buffer3); + _TraceLog(1,9498,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -18315,13 +18319,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4753]|0; + $2 = HEAP32[4829]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(20160)>>2]|0; - $5 = HEAP32[(20148)>>2]|0; + $4 = HEAP32[(20464)>>2]|0; + $5 = HEAP32[(20452)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -18329,7 +18333,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(20148)>>2] = $10; + HEAP32[(20452)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -18348,18 +18352,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4753]|0; + $4 = HEAP32[4829]|0; switch ($4|0) { case 1: { - $$sink37 = (20056);$$sink38 = (20068); + $$sink37 = (20360);$$sink38 = (20372); break; } case 4: { - $$sink37 = (20104);$$sink38 = (20116); + $$sink37 = (20408);$$sink38 = (20420); break; } case 7: { - $$sink37 = (20152);$$sink38 = (20164); + $$sink37 = (20456);$$sink38 = (20468); break; } default: { @@ -18413,8 +18417,8 @@ function _rlEnableTexture($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 = HEAP32[4751]|0; - $2 = HEAP32[4752]|0; + $1 = HEAP32[4827]|0; + $2 = HEAP32[4828]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -18427,9 +18431,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4752] = $10; + HEAP32[4828] = $10; } - $11 = HEAP32[4752]|0; + $11 = HEAP32[4828]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -18440,7 +18444,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5036]|0; + $0 = HEAP32[5112]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -18456,19 +18460,19 @@ function _rlDeleteVertexArrays($0) { $vararg_buffer = sp; $1 = sp + 4|0; HEAP32[$1>>2] = $0; - $2 = HEAP32[4714]|0; + $2 = HEAP32[4790]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = ($0|0)==(0); if (!($4)) { - $5 = HEAP32[4717]|0; + $5 = HEAP32[4793]|0; FUNCTION_TABLE_vii[$5 & 63](1,$1); } $6 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(0,9522,$vararg_buffer); + _TraceLog(0,9523,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteBuffers($0) { @@ -18484,14 +18488,14 @@ function _rlDeleteBuffers($0) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4714]|0; + $3 = HEAP32[4790]|0; $4 = ($3|0)==(0); if (!($4)) { STACKTOP = sp;return; } $5 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = $5; - _TraceLog(0,9570,$vararg_buffer); + _TraceLog(0,9571,$vararg_buffer); STACKTOP = sp;return; } function _rlglLoadMesh($0,$1) { @@ -18522,12 +18526,12 @@ function _rlglLoadMesh($0,$1) { ;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; HEAP32[$2>>2] = 0; ;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;HEAP32[$3+24>>2]=0|0; - $13 = HEAP32[4714]|0; + $13 = HEAP32[4790]|0; $14 = ($13|0)==(0); if (!($14)) { - $15 = HEAP32[4715]|0; + $15 = HEAP32[4791]|0; FUNCTION_TABLE_vii[$15 & 63](1,$2); - $16 = HEAP32[4716]|0; + $16 = HEAP32[4792]|0; $17 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$16 & 31]($17); } @@ -18657,21 +18661,21 @@ function _rlglLoadMesh($0,$1) { $80 = ((($3)) + 24|0); $81 = HEAP32[$80>>2]|0; HEAP32[$11>>2] = $81; - $82 = HEAP32[4714]|0; + $82 = HEAP32[4790]|0; $83 = ($82|0)==(0); if ($83) { - _TraceLog(0,9719,$vararg_buffer3); + _TraceLog(0,9720,$vararg_buffer3); STACKTOP = sp;return; } $84 = HEAP32[$2>>2]|0; $85 = ($84|0)==(0); if ($85) { - _TraceLog(2,9678,$vararg_buffer1); + _TraceLog(2,9679,$vararg_buffer1); STACKTOP = sp;return; } else { HEAP32[$4>>2] = $84; HEAP32[$vararg_buffer>>2] = $84; - _TraceLog(0,9625,$vararg_buffer); + _TraceLog(0,9626,$vararg_buffer); STACKTOP = sp;return; } } @@ -18762,16 +18766,16 @@ function _rlglDrawMesh($0,$1,$2) { $63 = $62 / 255.0; _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); } - dest=$3; src=18788; 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)); - dest=$4; src=18724; 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)); + dest=$3; src=19092; 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)); + dest=$4; src=19028; 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)); dest=$modelview$byval_copy4; 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)); - dest=$$byval_copy5; src=18788; 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)); + dest=$$byval_copy5; src=19092; 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)); _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[4722]|0; + $65 = HEAP32[4798]|0; $66 = ($64|0)==($65|0); if (!($66)) { - $67 = (_glGetUniformLocation(($64|0),(9767|0))|0); + $67 = (_glGetUniformLocation(($64|0),(9768|0))|0); $68 = ($67|0)==(-1); if (!($68)) { dest=$modelview$byval_copy4; 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)); @@ -18782,7 +18786,7 @@ function _rlglDrawMesh($0,$1,$2) { _glUniformMatrix4fv(($67|0),1,0,($69|0)); } $70 = HEAP32[$1>>2]|0; - $71 = (_glGetUniformLocation(($70|0),(9779|0))|0); + $71 = (_glGetUniformLocation(($70|0),(9780|0))|0); $72 = ($71|0)==(-1); if (!($72)) { $73 = ((($3)) + 8|0); @@ -18793,7 +18797,7 @@ function _rlglDrawMesh($0,$1,$2) { $78 = +HEAPF32[$77>>2]; _glUniform3f(($71|0),(+$74),(+$76),(+$78)); } - $79 = (_glGetUniformLocation(($70|0),(9787|0))|0); + $79 = (_glGetUniformLocation(($70|0),(9788|0))|0); $80 = ($79|0)==(-1); if (!($80)) { $81 = ((($1)) + 128|0); @@ -18817,7 +18821,7 @@ function _rlglDrawMesh($0,$1,$2) { $92 = ($91|0)==(-1); if (!($92)) { $93 = HEAP32[$1>>2]|0; - $94 = (_glGetUniformLocation(($93|0),(9798|0))|0); + $94 = (_glGetUniformLocation(($93|0),(9799|0))|0); _glUniform1i(($94|0),1); _glActiveTexture(33985); $95 = HEAP32[$87>>2]|0; @@ -18835,7 +18839,7 @@ function _rlglDrawMesh($0,$1,$2) { $102 = ($101|0)==(-1); if (!($102)) { $103 = HEAP32[$1>>2]|0; - $104 = (_glGetUniformLocation(($103|0),(9808|0))|0); + $104 = (_glGetUniformLocation(($103|0),(9809|0))|0); _glUniform1i(($104|0),1); _glActiveTexture(33986); $105 = HEAP32[$97>>2]|0; @@ -18844,7 +18848,7 @@ function _rlglDrawMesh($0,$1,$2) { _glUniform1i(($106|0),2); } } - $107 = HEAP32[4714]|0; + $107 = HEAP32[4790]|0; $108 = ($107|0)==(0); if ($108) { $112 = ((($0)) + 40|0); @@ -18924,16 +18928,16 @@ function _rlglDrawMesh($0,$1,$2) { $151 = HEAP32[$150>>2]|0; $152 = ($151|0)==(0|0); if (!($152)) { - $153 = HEAP32[(20188)>>2]|0; + $153 = HEAP32[(20492)>>2]|0; _glBindBuffer(34963,($153|0)); } } else { - $109 = HEAP32[4716]|0; + $109 = HEAP32[4792]|0; $110 = ((($0)) + 36|0); $111 = HEAP32[$110>>2]|0; FUNCTION_TABLE_vi[$109 & 31]($111); } - $154 = HEAP32[5099]|0; + $154 = HEAP32[5175]|0; $155 = ($154|0)!=(0); $$ = $155 ? 2 : 1; $156 = ((($1)) + 28|0); @@ -18947,10 +18951,10 @@ function _rlglDrawMesh($0,$1,$2) { dest=$$byval_copy5; src=$5; 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)); _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); } else { - dest=18788; src=$5; 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)); + dest=19092; src=$5; 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)); } - dest=$modelview$byval_copy4; src=18788; 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)); - dest=$$byval_copy5; src=18724; 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)); + dest=$modelview$byval_copy4; src=19092; 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)); + dest=$$byval_copy5; src=19028; 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)); _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); $162 = HEAP32[$156>>2]|0; dest=$$byval_copy5; src=$6; 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)); @@ -18987,14 +18991,14 @@ function _rlglDrawMesh($0,$1,$2) { } _glActiveTexture(33984); _glBindTexture(3553,0); - $172 = HEAP32[4714]|0; + $172 = HEAP32[4790]|0; $173 = ($172|0)==(0); if (!($173)) { - $174 = HEAP32[4716]|0; + $174 = HEAP32[4792]|0; FUNCTION_TABLE_vi[$174 & 31](0); _glUseProgram(0); - dest=18724; src=$4; 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)); - dest=18788; src=$3; 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)); + dest=19028; src=$4; 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)); + dest=19092; src=$3; 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)); STACKTOP = sp;return; } _glBindBuffer(34962,0); @@ -19003,14 +19007,14 @@ function _rlglDrawMesh($0,$1,$2) { $177 = ($176|0)==(0|0); if ($177) { _glUseProgram(0); - dest=18724; src=$4; 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)); - dest=18788; src=$3; 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)); + dest=19028; src=$4; 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)); + dest=19092; src=$3; 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)); STACKTOP = sp;return; } _glBindBuffer(34963,0); _glUseProgram(0); - dest=18724; src=$4; 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)); - dest=18788; src=$3; 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)); + dest=19028; src=$4; 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)); + dest=19092; src=$3; 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)); STACKTOP = sp;return; } function _rlglUnloadMesh($0) { @@ -19090,7 +19094,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4721]|0; + $1 = HEAP32[4797]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -19106,43 +19110,14 @@ function _GetDefaultShader($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=$0; src=18888; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$0; src=19192; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9820); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,11153)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5192] = $0; + HEAP32[5268] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -19206,7 +19181,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9832|0),(9858|0),1125,(9881|0)); + ___assert_fail((9821|0),(9847|0),1041,(9870|0)); // unreachable; } } @@ -19224,7 +19199,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5193]|0; + $15 = HEAP32[5269]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -19317,7 +19292,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9922); + _stbi__err(9911); $$0 = 0; return ($$0|0); } else { @@ -19339,7 +19314,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9913); + _stbi__err(9902); $$0 = 0; return ($$0|0); } @@ -19409,7 +19384,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9941); + _stbi__err(9930); $$045 = 0; return ($$045|0); } @@ -19970,7 +19945,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (10257 + ($120)|0); + $121 = (10246 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -20012,97 +19987,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(10031); + _stbi__err(10020); $$6$ph = 0; break; } case 9: { - _stbi__err(10045); + _stbi__err(10034); $$6$ph = 0; break; } case 11: { - _stbi__err(10058); + _stbi__err(10047); $$6$ph = 0; break; } case 13: { - _stbi__err(10058); + _stbi__err(10047); $$6$ph = 0; break; } case 15: { - _stbi__err(10068); + _stbi__err(10057); $$6$ph = 0; break; } case 17: { - _stbi__err(10088); + _stbi__err(10077); $$6$ph = 0; break; } case 20: { - _stbi__err(10088); + _stbi__err(10077); $$6$ph = 0; break; } case 22: { - _stbi__err(10088); + _stbi__err(10077); $$6$ph = 0; break; } case 24: { - _stbi__err(10098); + _stbi__err(10087); $$6$ph = 0; break; } case 26: { - _stbi__err(10114); + _stbi__err(10103); $$6$ph = 0; break; } case 28: { - _stbi__err(10132); + _stbi__err(10121); $$6$ph = 0; break; } case 31: { - _stbi__err(10153); + _stbi__err(10142); $$6$ph = 0; break; } case 34: { - _stbi__err(10058); + _stbi__err(10047); $$6$ph = 0; break; } case 37: { - _stbi__err(10058); + _stbi__err(10047); $$6$ph = 0; break; } case 39: { - _stbi__err(10167); + _stbi__err(10156); $$6$ph = 0; break; } case 41: { - _stbi__err(10182); + _stbi__err(10171); $$6$ph = 0; break; } case 44: { - _stbi__err(10182); + _stbi__err(10171); $$6$ph = 0; break; } case 47: { - _stbi__err(10167); + _stbi__err(10156); $$6$ph = 0; break; } case 49: { - _stbi__err(10195); + _stbi__err(10184); $$6$ph = 0; break; } @@ -20113,32 +20088,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(10211); + _stbi__err(10200); $$6$ph = 0; break; } case 58: { - _stbi__err(10228); + _stbi__err(10217); $$6$ph = 0; break; } case 61: { - _stbi__err(10241); + _stbi__err(10230); $$6$ph = 0; break; } case 63: { - _stbi__err(10228); + _stbi__err(10217); $$6$ph = 0; break; } case 70: { - _stbi__err(10167); + _stbi__err(10156); $$6$ph = 0; break; } case 72: { - _stbi__err(10266); + _stbi__err(10255); $$6$ph = 0; break; } @@ -20150,12 +20125,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9913); + _stbi__err(9902); $$6$ph = 0; break; } case 83: { - _stbi__err(10274); + _stbi__err(10263); $$6$ph = 0; break; } @@ -20168,7 +20143,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(10284); + _stbi__err(10273); $$4 = 0; break; } @@ -20233,7 +20208,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5194]|0; + $193 = HEAP32[5270]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -20266,7 +20241,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(10167); + _stbi__err(10156); $$4 = 0; } } while(0); @@ -20274,24 +20249,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(10167); + _stbi__err(10156); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[10292] = $206; + HEAP8[10281] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(10293)>>0] = $209; + HEAP8[(10282)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(10294)>>0] = $211; + HEAP8[(10283)>>0] = $211; $212 = $207&255; - HEAP8[(10295)>>0] = $212; - _stbi__err(10292); + HEAP8[(10284)>>0] = $212; + _stbi__err(10281); $$6$ph = 0; break; } @@ -20325,14 +20300,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9954|0),(9858|0),1561,(10010|0)); + ___assert_fail((9943|0),(9847|0),1477,(9999|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9913); + _stbi__err(9902); $$0163 = 0; return ($$0163|0); } @@ -20695,7 +20670,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10008|0),(9858|0),1590,(10010|0)); + ___assert_fail((9997|0),(9847|0),1506,(9999|0)); // unreachable; } } while(0); @@ -20729,7 +20704,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9954|0),(9858|0),1610,(9985|0)); + ___assert_fail((9943|0),(9847|0),1526,(9974|0)); // unreachable; } $7 = $2 << 1; @@ -20739,7 +20714,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9913); + _stbi__err(9902); $$0163 = 0; return ($$0163|0); } @@ -21102,7 +21077,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10008|0),(9858|0),1639,(9985|0)); + ___assert_fail((9997|0),(9847|0),1555,(9974|0)); // unreachable; } } while(0); @@ -21250,7 +21225,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10949); + _stbi__err(11258); $$05 = 0; return ($$05|0); } @@ -21687,7 +21662,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10351|0),(9858|0),4568,(10403|0)); + ___assert_fail((10340|0),(9847|0),4569,(10392|0)); // unreachable; } } @@ -21774,7 +21749,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10351|0),(9858|0),4543,(10376|0)); + ___assert_fail((10340|0),(9847|0),4544,(10365|0)); // unreachable; } } @@ -21821,7 +21796,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5195]|0; + $16 = HEAP32[5271]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -21896,7 +21871,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((10317|0),(9858|0),4649,(10335|0)); + ___assert_fail((10306|0),(9847|0),4650,(10324|0)); // unreachable; } } @@ -21919,7 +21894,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9913); + _stbi__err(9902); $$0 = 0; return ($$0|0); } @@ -22096,7 +22071,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10432|0),(9858|0),4294,(10473|0)); + ___assert_fail((10421|0),(9847|0),4294,(10462|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -22104,7 +22079,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9913); + _stbi__err(9902); $$2 = 0; return ($$2|0); } @@ -22123,7 +22098,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10500); + _stbi__err(10489); $$2 = 0; return ($$2|0); } @@ -22136,7 +22111,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10500); + _stbi__err(10489); $$2 = 0; return ($$2|0); } @@ -22144,12 +22119,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -22172,33 +22147,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10539 + ($56)|0); + $60 = (10528 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -22208,24 +22183,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -22235,10 +22210,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -22249,10 +22224,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -22263,14 +22238,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -22300,7 +22275,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -22315,12 +22290,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -22897,15 +22872,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10518|0),(9858|0),4315,(10473|0)); + ___assert_fail((10507|0),(9847|0),4315,(10462|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10544|0),(9858|0),4376,(10473|0)); + ___assert_fail((10533|0),(9847|0),4377,(10462|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10561); + _stbi__err(10550); $$2 = 0; return ($$2|0); } @@ -22955,7 +22930,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (10257 + ($6)|0); + $336 = (10246 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -23396,7 +23371,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10576|0),(9858|0),4465,(10473|0)); + ___assert_fail((10565|0),(9847|0),4466,(10462|0)); // unreachable; } else if ((label|0) == 151) { @@ -23456,8 +23431,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -23472,15 +23447,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -23489,65 +23464,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(22690)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10576,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,22691,288)|0); + $15 = (_stbi__zbuild_huffman($8,10864,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,22659,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -23566,14 +23536,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10902); + _stbi__err(11211); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10918); + _stbi__err(11227); $$0 = 0; return ($$0|0); } @@ -23582,7 +23552,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10933); + _stbi__err(11242); $$0 = 0; return ($$0|0); } @@ -23665,7 +23635,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10824|0),(9858|0),4048,(10841|0)); + ___assert_fail((11133|0),(9847|0),4033,(11150|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -23702,7 +23672,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10872); + _stbi__err(11181); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23712,7 +23682,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10885); + _stbi__err(11194); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23742,21 +23712,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((22691|0),8,144)|0; - dest=(22835); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(22947); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (22971); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=22659; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -23890,7 +23845,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10762); + _stbi__err(11071); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23979,7 +23934,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10814); + _stbi__err(11123); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -24008,7 +23963,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11608 + ($$06579)|0); + $14 = (11917 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -24099,21 +24054,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10762); + _stbi__err(11071); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10762); + _stbi__err(11071); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10778|0),(9858|0),4021,(10786|0)); + ___assert_fail((11087|0),(9847|0),4006,(11095|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10762); + _stbi__err(11071); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -24123,7 +24078,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10762); + _stbi__err(11071); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -24287,7 +24242,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10587); + _stbi__err(10896); $$3$ph = 0; return ($$3$ph|0); } @@ -24297,12 +24252,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10587); + _stbi__err(10896); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10604); + _stbi__err(10913); $$3$ph = 0; return ($$3$ph|0); } @@ -24359,7 +24314,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10613); + _stbi__err(10922); $$0 = 0; return ($$0|0); } @@ -24385,7 +24340,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9913); + _stbi__err(9902); $$0 = 0; return ($$0|0); } else { @@ -24430,7 +24385,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10709|0),(9858|0),3863,(10746|0)); + ___assert_fail((11018|0),(9847|0),3848,(11055|0)); // unreachable; } else if ((label|0) == 5) { @@ -24478,7 +24433,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10633|0),(9858|0),3891,(10649|0)); + ___assert_fail((10942|0),(9847|0),3876,(10958|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -24506,7 +24461,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10680|0),(9858|0),3781,(10691|0)); + ___assert_fail((10989|0),(9847|0),3766,(11000|0)); // unreachable; } return (0)|0; @@ -24652,10 +24607,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -24666,27 +24621,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10961)|0); + $6 = (_IsFileExtension($1,11270)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,11014)|0); + $19 = (_IsFileExtension($1,11323)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,11019,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,11328,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,11462)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -24714,7 +24670,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -24731,18 +24687,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10967,$vararg_buffer); + _TraceLog(2,11276,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -24751,34 +24707,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,11055,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,11364,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,11094,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11403,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -24797,11 +24760,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,11153)|0); + $4 = (_fopen($0,11462)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11156,$vararg_buffer); + _TraceLog(2,11465,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -24900,7 +24863,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,11253,$vararg_buffer4); + _TraceLog(0,11562,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -24935,14 +24898,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11299,$vararg_buffer8); + _TraceLog(2,11608,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,11207,$vararg_buffer1); + _TraceLog(2,11516,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -25032,7 +24995,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,11125,$vararg_buffer); + _TraceLog(2,11434,$vararg_buffer); $$0 = $6; } } @@ -25077,27 +25040,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11349,$vararg_buffer); + _TraceLog(2,11658,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11388,$vararg_buffer1); + _TraceLog(2,11697,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11414,$vararg_buffer3); + _TraceLog(2,11723,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11477,$vararg_buffer5); + _TraceLog(2,11786,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11512,$vararg_buffer7); + _TraceLog(2,11821,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11547,$vararg_buffer10); + _TraceLog(0,11856,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -26280,7 +26243,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11604 + ($$361133)|0); + $199 = (11913 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -26710,7 +26673,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11604 + ($$331130)|0); + $186 = (11913 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -26748,7 +26711,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11604 + ($$371134)|0); + $203 = (11913 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -26787,7 +26750,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11608 + ($$421139)|0); + $235 = (11917 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -27194,7 +27157,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11627 + ($495)|0); + $496 = (11936 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -27231,7 +27194,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11631 + ($515)|0); + $516 = (11940 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -28143,7 +28106,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,11635,$vararg_buffer); + _TraceLog(2,11944,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -28164,7 +28127,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[18572>>2]|0;HEAP32[$0+4>>2]=HEAP32[18572+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18572+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18572+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18572+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18572+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18572+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18572+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[18876>>2]|0;HEAP32[$0+4>>2]=HEAP32[18876+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18876+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18876+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18876+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18876+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18876+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18876+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -28546,8 +28509,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(22979,$0,$1)|0); - STACKTOP = sp;return (22979|0); + (_vsprintf(22963,$0,$1)|0); + STACKTOP = sp;return (22963|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -28557,7 +28520,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[5196]|0; + $3 = HEAP32[5272]|0; $4 = HEAP32[922]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -28565,14 +28528,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[5197] = $7; + HEAP32[5273] = $7; HEAP32[922] = $7; $$sink = 0; } - HEAP32[5196] = $$sink; - $8 = HEAP32[5197]|0; + HEAP32[5272] = $$sink; + $8 = HEAP32[5273]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(11664,$$byval_copy)|0); + (_FormatText(11973,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -28581,7 +28544,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(22979,$0,$1,20,$$byval_copy); + _DrawText(22963,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _DrawLine3D($0,$1,$2) { @@ -28850,7 +28813,7 @@ function _LoadMesh($0,$1) { $2 = sp + 72|0; $3 = sp + 4|0; dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (_IsFileExtension($1,11672)|0); + $4 = (_IsFileExtension($1,11981)|0); $5 = ($4|0)==(0); if (!($5)) { _LoadOBJ($3,$1); @@ -28859,7 +28822,7 @@ function _LoadMesh($0,$1) { $6 = HEAP32[$2>>2]|0; $7 = ($6|0)==(0); if ($7) { - _TraceLog(2,11677,$vararg_buffer); + _TraceLog(2,11986,$vararg_buffer); } else { _rlglLoadMesh($2,0); } @@ -28932,11 +28895,11 @@ function _LoadOBJ($0,$1) { $13 = sp + 344|0; $14 = sp + 332|0; dest=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $15 = (_fopen($1,11702)|0); + $15 = (_fopen($1,12011)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11705,$vararg_buffer); + _TraceLog(2,12014,$vararg_buffer); $$sroa$75$0$$sroa_idx = ((($0)) + 32|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;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; dest=$$sroa$75$0$$sroa_idx; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -28956,7 +28919,7 @@ function _LoadOBJ($0,$1) { L12: while(1) { L14: while(1) { HEAP32[$vararg_buffer1>>2] = $2; - (_fscanf($15,11739,$vararg_buffer1)|0); + (_fscanf($15,12048,$vararg_buffer1)|0); $19 = HEAP8[$2>>0]|0; $20 = $19 << 24 >> 24; switch ($20|0) { @@ -28983,7 +28946,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer4>>2] = $2; - (_fscanf($15,11739,$vararg_buffer4)|0); + (_fscanf($15,12048,$vararg_buffer4)|0); $23 = HEAP8[$2>>0]|0; switch ($23<<24>>24) { case 116: { @@ -29048,19 +29011,19 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $$0$ph379$lcssa386; - _TraceLog(3,11742,$vararg_buffer7); + _TraceLog(3,12051,$vararg_buffer7); HEAP32[$vararg_buffer11>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr14>>2] = $$0345$ph372$lcssa389; - _TraceLog(3,11770,$vararg_buffer11); + _TraceLog(3,12079,$vararg_buffer11); HEAP32[$$byval_copy102>>2] = $1; $vararg_ptr18 = ((($$byval_copy102)) + 4|0); HEAP32[$vararg_ptr18>>2] = $$0344$ph376$lcssa388; - _TraceLog(3,11799,$$byval_copy102); + _TraceLog(3,12108,$$byval_copy102); HEAP32[$$byval_copy103>>2] = $1; $vararg_ptr22 = ((($$byval_copy103)) + 4|0); HEAP32[$vararg_ptr22>>2] = $$0346$ph$lcssa; - _TraceLog(3,11826,$$byval_copy103); + _TraceLog(3,12135,$$byval_copy103); $36 = ($$0$ph379$lcssa386*12)|0; $37 = (_malloc($36)|0); $38 = ($$0344$ph376$lcssa388|0)>(0); @@ -29092,7 +29055,7 @@ function _LoadOBJ($0,$1) { L36: while(1) { L38: while(1) { HEAP32[$vararg_buffer23>>2] = $2; - (_fscanf($15,11739,$vararg_buffer23)|0); + (_fscanf($15,12048,$vararg_buffer23)|0); $46 = HEAP8[$2>>0]|0; $47 = $46 << 24 >> 24; switch ($47|0) { @@ -29114,7 +29077,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer26>>2] = $2; - (_fscanf($15,11739,$vararg_buffer26)|0); + (_fscanf($15,12048,$vararg_buffer26)|0); $50 = HEAP8[$2>>0]|0; switch ($50<<24>>24) { case 110: { @@ -29133,10 +29096,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer29>>2] = $51; $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); HEAP32[$vararg_ptr32>>2] = $52; - (_fscanf($15,11855,$vararg_buffer29)|0); + (_fscanf($15,12164,$vararg_buffer29)|0); $53 = (($$0353$ph367397) + 1)|0; HEAP32[$vararg_buffer33>>2] = $2; - (_fscanf($15,11739,$vararg_buffer33)|0); + (_fscanf($15,12048,$vararg_buffer33)|0); $54 = (_feof($15)|0); $55 = ($54|0)==(0); if ($55) { @@ -29153,10 +29116,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr39>>2] = $57; $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); HEAP32[$vararg_ptr40>>2] = $58; - (_fscanf($15,11869,$vararg_buffer36)|0); + (_fscanf($15,12178,$vararg_buffer36)|0); $59 = (($$0354$ph364398) + 1)|0; HEAP32[$vararg_buffer41>>2] = $2; - (_fscanf($15,11739,$vararg_buffer41)|0); + (_fscanf($15,12048,$vararg_buffer41)|0); $60 = (_feof($15)|0); $61 = ($60|0)==(0); if ($61) { @@ -29173,10 +29136,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr47>>2] = $63; $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); HEAP32[$vararg_ptr48>>2] = $64; - (_fscanf($15,11869,$vararg_buffer44)|0); + (_fscanf($15,12178,$vararg_buffer44)|0); $65 = (($$0355$ph400) + 1)|0; HEAP32[$vararg_buffer49>>2] = $2; - (_fscanf($15,11739,$vararg_buffer49)|0); + (_fscanf($15,12048,$vararg_buffer49)|0); $66 = (_feof($15)|0); $67 = ($66|0)==(0); if ($67) { @@ -29199,7 +29162,7 @@ function _LoadOBJ($0,$1) { $76 = ($$0344$ph376$lcssa388|0)==(0); if ($76) { HEAP32[$vararg_buffer52>>2] = $1; - _TraceLog(0,11878,$vararg_buffer52); + _TraceLog(0,12187,$vararg_buffer52); } $77 = ($$0345$ph372$lcssa389|0)==(0); $78 = $$0344$ph376$lcssa388 | $$0345$ph372$lcssa389; @@ -29239,7 +29202,7 @@ function _LoadOBJ($0,$1) { } L55: while(1) { HEAP32[$vararg_buffer55>>2] = $2; - (_fscanf($15,11739,$vararg_buffer55)|0); + (_fscanf($15,12048,$vararg_buffer55)|0); $106 = HEAP8[$2>>0]|0; $107 = $106 << 24 >> 24; switch ($107|0) { @@ -29267,7 +29230,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr61>>2] = $80; $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); HEAP32[$vararg_ptr62>>2] = $81; - (_fscanf($15,11949,$vararg_buffer58)|0); + (_fscanf($15,12258,$vararg_buffer58)|0); } else { if ($76) { HEAP32[$vararg_buffer63>>2] = $vararg_buffer11; @@ -29281,7 +29244,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr69>>2] = $90; $vararg_ptr70 = ((($vararg_buffer63)) + 20|0); HEAP32[$vararg_ptr70>>2] = $91; - (_fscanf($15,11958,$vararg_buffer63)|0); + (_fscanf($15,12267,$vararg_buffer63)|0); break; } if ($77) { @@ -29296,7 +29259,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr77>>2] = $94; $vararg_ptr78 = ((($vararg_buffer71)) + 20|0); HEAP32[$vararg_ptr78>>2] = $95; - (_fscanf($15,11976,$vararg_buffer71)|0); + (_fscanf($15,12285,$vararg_buffer71)|0); break; } else { HEAP32[$vararg_buffer79>>2] = $vararg_buffer11; @@ -29316,7 +29279,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr88>>2] = $100; $vararg_ptr89 = ((($vararg_buffer79)) + 32|0); HEAP32[$vararg_ptr89>>2] = $101; - (_fscanf($15,11997,$vararg_buffer79)|0); + (_fscanf($15,12306,$vararg_buffer79)|0); break; } } @@ -29696,7 +29659,7 @@ function _LoadOBJ($0,$1) { _free($369); _free($370); HEAP32[$vararg_buffer90>>2] = $1; - _TraceLog(0,12024,$vararg_buffer90); + _TraceLog(0,12333,$vararg_buffer90); HEAP32[$0>>2] = $68; $$sroa$12$0$$sroa_idx244 = ((($0)) + 4|0); HEAP32[$$sroa$12$0$$sroa_idx244>>2] = 0; @@ -29775,7 +29738,7 @@ function _UnloadModel($0) { $1 = ((($0)) + 132|0); _memcpy(($$byval_copy|0),($1|0),132)|0; _UnloadMaterial($$byval_copy); - _TraceLog(0,12068,$vararg_buffer); + _TraceLog(0,12377,$vararg_buffer); STACKTOP = sp;return; } function _UnloadMaterial($0) { @@ -30407,7 +30370,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,12126)|0); + $12 = (_strstr($11,12435)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -30416,7 +30379,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,12130)|0); + $17 = (_strstr($16,12439)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -30425,7 +30388,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,12134)|0); + $22 = (_strstr($21,12443)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -30434,7 +30397,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,12138)|0); + $27 = (_strstr($26,12447)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -30443,1210 +30406,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,12144)|0); + $32 = (_strcmp($31,12453)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,12182)|0); + $35 = (_strcmp($34,12491)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 12201; + HEAP32[$3>>2] = 12510; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,12214)|0); + $38 = (_strcmp($37,12523)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 12235; + HEAP32[$3>>2] = 12544; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12250)|0); + $41 = (_strcmp($40,12559)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 12265; + HEAP32[$3>>2] = 12574; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12280)|0); + $44 = (_strcmp($43,12589)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 12295; + HEAP32[$3>>2] = 12604; } } else { - HEAP32[$3>>2] = 12166; + HEAP32[$3>>2] = 12475; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12310)|0); + $47 = (_strcmp($46,12619)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12324)|0); + $50 = (_strcmp($49,12633)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12336)|0); + $53 = (_strcmp($52,12645)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12350)|0); + $56 = (_strcmp($55,12659)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12362)|0); + $59 = (_strcmp($58,12671)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12376)|0); + $62 = (_strcmp($61,12685)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12390)|0); + $65 = (_strcmp($64,12699)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12407)|0); + $68 = (_strcmp($67,12716)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12430)|0); + $71 = (_strcmp($70,12739)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12456)|0); + $74 = (_strcmp($73,12765)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12469)|0); + $77 = (_strcmp($76,12778)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12485)|0); + $80 = (_strcmp($79,12794)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12498)|0); + $83 = (_strcmp($82,12807)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12512)|0); + $86 = (_strcmp($85,12821)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12532)|0); + $89 = (_strcmp($88,12841)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12552)|0); + $92 = (_strcmp($91,12861)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12569)|0); + $95 = (_strcmp($94,12878)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12586)|0); + $98 = (_strcmp($97,12895)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12598)|0); + $101 = (_strcmp($100,12907)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12611)|0); + $104 = (_strcmp($103,12920)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12627)|0); + $107 = (_strcmp($106,12936)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12650)|0); + $110 = (_strcmp($109,12959)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12663)|0); + $113 = (_strcmp($112,12972)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12679)|0); + $116 = (_strcmp($115,12988)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12690)|0); + $119 = (_strcmp($118,12999)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12709)|0); + $122 = (_strcmp($121,13018)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12731)|0); + $125 = (_strcmp($124,13040)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12750)|0); + $128 = (_strcmp($127,13059)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12779)|0); + $131 = (_strcmp($130,13088)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12796)|0); + $134 = (_strcmp($133,13105)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12811)|0); + $137 = (_strcmp($136,13120)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12826)|0); + $140 = (_strcmp($139,13135)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12847)|0); + $143 = (_strcmp($142,13156)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12867)|0); + $146 = (_strcmp($145,13176)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12887)|0); + $149 = (_strcmp($148,13196)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12913)|0); + $152 = (_strcmp($151,13222)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12932)|0); + $155 = (_strcmp($154,13241)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12944)|0); + $158 = (_strcmp($157,13253)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12956)|0); + $161 = (_strcmp($160,13265)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12968)|0); + $164 = (_strcmp($163,13277)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12980)|0); + $167 = (_strcmp($166,13289)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12992)|0); + $170 = (_strcmp($169,13301)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,13004)|0); + $173 = (_strcmp($172,13313)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,13016)|0); + $176 = (_strcmp($175,13325)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,13028)|0); + $179 = (_strcmp($178,13337)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,13041)|0); + $182 = (_strcmp($181,13350)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,13054)|0); + $185 = (_strcmp($184,13363)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,13067)|0); + $188 = (_strcmp($187,13376)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,13080)|0); + $191 = (_strcmp($190,13389)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,13093)|0); + $194 = (_strcmp($193,13402)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,13106)|0); + $197 = (_strcmp($196,13415)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,13119)|0); + $200 = (_strcmp($199,13428)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,13132)|0); + $203 = (_strcmp($202,13441)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,13151)|0); + $206 = (_strcmp($205,13460)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,13170)|0); + $209 = (_strcmp($208,13479)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,13189)|0); + $212 = (_strcmp($211,13498)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,13202)|0); + $215 = (_strcmp($214,13511)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,13220)|0); + $218 = (_strcmp($217,13529)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13238)|0); + $221 = (_strcmp($220,13547)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13256)|0); + $224 = (_strcmp($223,13565)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13274)|0); + $227 = (_strcmp($226,13583)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13294)|0); + $230 = (_strcmp($229,13603)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12235)|0); + $233 = (_strcmp($232,12544)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13312)|0); + $236 = (_strcmp($235,13621)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13327)|0); + $239 = (_strcmp($238,13636)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13348)|0); + $242 = (_strcmp($241,13657)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13363)|0); + $245 = (_strcmp($244,13672)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13381)|0); + $248 = (_strcmp($247,13690)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13397)|0); + $251 = (_strcmp($250,13706)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13416)|0); + $254 = (_strcmp($253,13725)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13430)|0); + $257 = (_strcmp($256,13739)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13445)|0); + $260 = (_strcmp($259,13754)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,12166)|0); + $263 = (_strcmp($262,12475)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13456)|0); + $266 = (_strcmp($265,13765)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12265)|0); + $269 = (_strcmp($268,12574)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12295)|0); + $272 = (_strcmp($271,12604)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13472)|0); + $275 = (_strcmp($274,13781)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13499)|0); + $278 = (_strcmp($277,13808)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13513)|0); + $281 = (_strcmp($280,13822)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,12201)|0); + $284 = (_strcmp($283,12510)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13533)|0); + $287 = (_strcmp($286,13842)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13551)|0); + $290 = (_strcmp($289,13860)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13563)|0); + $293 = (_strcmp($292,13872)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13584)|0); + $296 = (_strcmp($295,13893)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13602)|0); + $299 = (_strcmp($298,13911)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13620)|0); + $302 = (_strcmp($301,13929)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13641)|0); + $305 = (_strcmp($304,13950)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13667)|0); + $308 = (_strcmp($307,13976)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13690)|0); + $311 = (_strcmp($310,13999)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13728)|0); + $314 = (_strcmp($313,14037)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13744)|0); + $317 = (_strcmp($316,14053)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13759)|0); + $320 = (_strcmp($319,14068)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13782)|0); + $323 = (_strcmp($322,14091)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13795)|0); + $326 = (_strcmp($325,14104)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13809)|0); + $329 = (_strcmp($328,14118)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13823)|0); + $332 = (_strcmp($331,14132)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13843)|0); + $335 = (_strcmp($334,14152)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13863)|0); + $338 = (_strcmp($337,14172)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13879)|0); + $341 = (_strcmp($340,14188)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13897)|0); + $344 = (_strcmp($343,14206)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13913)|0); + $347 = (_strcmp($346,14222)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13928)|0); + $350 = (_strcmp($349,14237)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,13950)|0); + $353 = (_strcmp($352,14259)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13968)|0); + $356 = (_strcmp($355,14277)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13989)|0); + $359 = (_strcmp($358,14298)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,14007)|0); + $362 = (_strcmp($361,14316)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,14020)|0); + $365 = (_strcmp($364,14329)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,14035)|0); + $368 = (_strcmp($367,14344)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,14049)|0); + $371 = (_strcmp($370,14358)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,14059)|0); + $374 = (_strcmp($373,14368)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,14069)|0); + $377 = (_strcmp($376,14378)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,14091)|0); + $380 = (_strcmp($379,14400)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,14117)|0); + $383 = (_strcmp($382,14426)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,14144)|0); + $386 = (_strcmp($385,14453)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,14157)|0); + $389 = (_strcmp($388,14466)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,14172)|0); + $392 = (_strcmp($391,14481)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,14187)|0); + $395 = (_strcmp($394,14496)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,14211)|0); + $398 = (_strcmp($397,14520)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,14222)|0); + $401 = (_strcmp($400,14531)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14244)|0); + $404 = (_strcmp($403,14553)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14266)|0); + $407 = (_strcmp($406,14575)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14290)|0); + $410 = (_strcmp($409,14599)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14299)|0); + $413 = (_strcmp($412,14608)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14307)|0); + $416 = (_strcmp($415,14616)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14320)|0); + $419 = (_strcmp($418,14629)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14334)|0); + $422 = (_strcmp($421,14643)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14346)|0); + $425 = (_strcmp($424,14655)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14355)|0); + $428 = (_strcmp($427,14664)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14365)|0); + $431 = (_strcmp($430,14674)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14377)|0); + $434 = (_strcmp($433,14686)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14388)|0); + $437 = (_strcmp($436,14697)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14396)|0); + $440 = (_strcmp($439,14705)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14408)|0); + $443 = (_strcmp($442,14717)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14423)|0); + $446 = (_strcmp($445,14732)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14435)|0); + $449 = (_strcmp($448,14744)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14449)|0); + $452 = (_strcmp($451,14758)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14474)|0); + $455 = (_strcmp($454,14783)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14491)|0); + $458 = (_strcmp($457,14800)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14507)|0); + $461 = (_strcmp($460,14816)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14523)|0); + $464 = (_strcmp($463,14832)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14535)|0); + $467 = (_strcmp($466,14844)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14547)|0); + $470 = (_strcmp($469,14856)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14571)|0); + $473 = (_strcmp($472,14880)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14584)|0); + $476 = (_strcmp($475,14893)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14598)|0); + $479 = (_strcmp($478,14907)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14620)|0); + $482 = (_strcmp($481,14929)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14627)|0); + $485 = (_strcmp($484,14936)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14643)|0); + $488 = (_strcmp($487,14952)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14660)|0); + $491 = (_strcmp($490,14969)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14677)|0); + $494 = (_strcmp($493,14986)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14693)|0); + $497 = (_strcmp($496,15002)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14709)|0); + $500 = (_strcmp($499,15018)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14726)|0); + $503 = (_strcmp($502,15035)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14740)|0); + $506 = (_strcmp($505,15049)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14752)|0); + $509 = (_strcmp($508,15061)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14763)|0); + $512 = (_strcmp($511,15072)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14776)|0); + $515 = (_strcmp($514,15085)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14786)|0); + $518 = (_strcmp($517,15095)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14803)|0); + $521 = (_strcmp($520,15112)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14815)|0); + $524 = (_strcmp($523,15124)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14837)|0); + $527 = (_strcmp($526,15146)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14857)|0); + $530 = (_strcmp($529,15166)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14870)|0); + $533 = (_strcmp($532,15179)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14892)|0); + $536 = (_strcmp($535,15201)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14912)|0); + $539 = (_strcmp($538,15221)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14929)|0); + $542 = (_strcmp($541,15238)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14946)|0); + $545 = (_strcmp($544,15255)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14966)|0); + $548 = (_strcmp($547,15275)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -31668,7 +31631,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (20792|0); + return (21096|0); } function ___stdio_close($0) { $0 = $0|0; @@ -32125,7 +32088,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((15083) + ($50)|0); + $49 = ((15392) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -32157,7 +32120,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((15083) + ($$0159)|0); + $60 = ((15392) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -32293,10 +32256,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (15339 + ($128)|0); + $129 = (15648 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((15083) + ($$1160169)|0); + $132 = ((15392) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -32318,7 +32281,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((15083) + ($$4163$be)|0); + $146 = ((15392) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -32369,7 +32332,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((15083) + ($$5$be)|0); + $178 = ((15392) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -32388,7 +32351,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((15083) + ($$1160169)|0); + $122 = ((15392) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -32410,7 +32373,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((15083) + ($$6$be)|0); + $197 = ((15392) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -32472,7 +32435,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((15083) + ($$7$be)|0); + $234 = ((15392) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -32491,7 +32454,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((15083) + ($$8)|0); + $238 = ((15392) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -32510,7 +32473,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((15083) + ($$9$be)|0); + $249 = ((15392) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -33346,7 +33309,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((15348 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((15657 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -33524,7 +33487,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 15812;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 16121;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -33545,7 +33508,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 15812;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 16121;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -33553,8 +33516,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 15812 : (15814); - $$$ = $238 ? $$ : (15813); + $$ = $240 ? 16121 : (16123); + $$$ = $238 ? $$ : (16122); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -33571,7 +33534,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 15812;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 16121;$242 = $167;$243 = $170; label = 66; break; } @@ -33584,7 +33547,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 15812;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 16121;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -33598,7 +33561,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 15822; + $271 = $270 ? $269 : 16131; $$1 = $271; label = 71; break; @@ -33638,7 +33601,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 15812;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 16121;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -33660,8 +33623,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (15812 + ($208)|0); - $$289 = $or$cond283 ? 15812 : $209; + $209 = (16121 + ($208)|0); + $$289 = $or$cond283 ? 16121 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -33682,7 +33645,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 15812;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 16121;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -34212,7 +34175,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (15860 + ($7)|0); + $9 = (16169 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -34570,14 +34533,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 15829; + $$0471 = $14;$$0520 = 1;$$0521 = 16138; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (15830) : (15835); - $$$ = $16 ? $$ : (15832); + $$ = $18 ? (16139) : (16144); + $$$ = $16 ? $$ : (16141); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -34676,7 +34639,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (15860 + ($80)|0); + $81 = (16169 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -35287,7 +35250,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,15876,1); + _out($0,16185,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -35368,7 +35331,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,15876,1); + _out($0,16185,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -35425,9 +35388,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 15848 : 15852; + $29 = $28 ? 16157 : 16161; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 17779 : 15856; + $31 = $28 ? 18088 : 16165; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -35637,7 +35600,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (15878 + ($$016)|0); + $3 = (16187 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -35648,7 +35611,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 15966;$$115 = 87; + $$01214 = 16275;$$115 = 87; label = 5; break; } else { @@ -35658,9 +35621,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 15966; + $$012$lcssa = 16275; } else { - $$01214 = 15966;$$115 = $$016; + $$01214 = 16275;$$115 = $$016; label = 5; } } @@ -36085,7 +36048,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (17770 + ($$0107127)|0); + $27 = (18079 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -36152,7 +36115,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (17779 + ($$2109125)|0); + $58 = (18088 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -38403,7 +38366,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 20856 : $3; + $$ = $5 ? 21160 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -38780,7 +38743,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(17783,$3,4)|0); + $memchr = (_memchr(18092,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -38869,7 +38832,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(17783,$4,4)|0); + $memchr = (_memchr(18092,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -38960,7 +38923,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(20796)>>2]|0; + $38 = HEAP32[(21100)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -38993,13 +38956,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((20860|0)); - return (20868|0); + ___lock((21164|0)); + return (21172|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((20860|0)); + ___unlock((21164|0)); return; } function _fclose($0) { @@ -41259,7 +41222,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 18064; + $2 = 18368; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -41501,7 +41464,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5218]|0; + $3 = HEAP32[5294]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -41520,22 +41483,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5218] = 0; + HEAP32[5294] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5218] = $10; + HEAP32[5294] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5218] = 0; + HEAP32[5294] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5218] = $13; + HEAP32[5294] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -41616,7 +41579,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5219]|0; + $8 = HEAP32[5295]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -41625,7 +41588,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (20916 + ($15<<2)|0); + $16 = (21220 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -41636,9 +41599,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5219] = $24; + HEAP32[5295] = $24; } else { - $25 = HEAP32[(20892)>>2]|0; + $25 = HEAP32[(21196)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -41669,7 +41632,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(20884)>>2]|0; + $37 = HEAP32[(21188)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -41703,7 +41666,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (20916 + ($68<<2)|0); + $69 = (21220 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -41714,10 +41677,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5219] = $77; + HEAP32[5295] = $77; $98 = $77; } else { - $78 = HEAP32[(20892)>>2]|0; + $78 = HEAP32[(21196)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -41750,22 +41713,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(20896)>>2]|0; + $92 = HEAP32[(21200)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (20916 + ($94<<2)|0); + $95 = (21220 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5219] = $100; + HEAP32[5295] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(20892)>>2]|0; + $103 = HEAP32[(21196)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -41782,12 +41745,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(20884)>>2] = $84; - HEAP32[(20896)>>2] = $87; + HEAP32[(21188)>>2] = $84; + HEAP32[(21200)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(20880)>>2]|0; + $108 = HEAP32[(21184)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -41815,7 +41778,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21180 + ($132<<2)|0); + $133 = (21484 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -41855,7 +41818,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(20892)>>2]|0; + $155 = HEAP32[(21196)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -41950,7 +41913,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21180 + ($188<<2)|0); + $189 = (21484 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -41961,11 +41924,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(20880)>>2] = $194; + HEAP32[(21184)>>2] = $194; break L73; } } else { - $195 = HEAP32[(20892)>>2]|0; + $195 = HEAP32[(21196)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -41986,7 +41949,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(20892)>>2]|0; + $201 = HEAP32[(21196)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -42016,7 +41979,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(20892)>>2]|0; + $213 = HEAP32[(21196)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -42053,22 +42016,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(20896)>>2]|0; + $231 = HEAP32[(21200)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (20916 + ($233<<2)|0); + $234 = (21220 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5219] = $238; + HEAP32[5295] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(20892)>>2]|0; + $241 = HEAP32[(21196)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -42085,8 +42048,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(20884)>>2] = $$0193$lcssa$i; - HEAP32[(20896)>>2] = $157; + HEAP32[(21188)>>2] = $$0193$lcssa$i; + HEAP32[(21200)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -42102,7 +42065,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(20880)>>2]|0; + $250 = HEAP32[(21184)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -42142,7 +42105,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21180 + ($$0358$i<<2)|0); + $278 = (21484 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -42234,7 +42197,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21180 + ($330<<2)|0); + $331 = (21484 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -42278,11 +42241,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(20884)>>2]|0; + $345 = HEAP32[(21188)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(20892)>>2]|0; + $348 = HEAP32[(21196)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -42379,7 +42342,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21180 + ($381<<2)|0); + $382 = (21484 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -42390,12 +42353,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(20880)>>2] = $387; + HEAP32[(21184)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(20892)>>2]|0; + $388 = HEAP32[(21196)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -42417,7 +42380,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(20892)>>2]|0; + $394 = HEAP32[(21196)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -42449,7 +42412,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(20892)>>2]|0; + $406 = HEAP32[(21196)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -42490,20 +42453,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (20916 + ($425<<2)|0); - $427 = HEAP32[5219]|0; + $426 = (21220 + ($425<<2)|0); + $427 = HEAP32[5295]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5219] = $431; + HEAP32[5295] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(20892)>>2]|0; + $434 = HEAP32[(21196)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -42555,7 +42518,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21180 + ($$0361$i<<2)|0); + $464 = (21484 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -42567,7 +42530,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(20880)>>2] = $472; + HEAP32[(21184)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -42606,7 +42569,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(20892)>>2]|0; + $491 = HEAP32[(21196)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -42625,7 +42588,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(20892)>>2]|0; + $498 = HEAP32[(21196)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -42658,16 +42621,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(20884)>>2]|0; + $506 = HEAP32[(21188)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(20896)>>2]|0; + $509 = HEAP32[(21200)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(20896)>>2] = $511; - HEAP32[(20884)>>2] = $508; + HEAP32[(21200)>>2] = $511; + HEAP32[(21188)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -42677,8 +42640,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(20884)>>2] = 0; - HEAP32[(20896)>>2] = 0; + HEAP32[(21188)>>2] = 0; + HEAP32[(21200)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -42692,14 +42655,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(20888)>>2]|0; + $524 = HEAP32[(21192)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(20888)>>2] = $526; - $527 = HEAP32[(20900)>>2]|0; + HEAP32[(21192)>>2] = $526; + $527 = HEAP32[(21204)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(20900)>>2] = $528; + HEAP32[(21204)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -42710,23 +42673,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5337]|0; + $534 = HEAP32[5413]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(21356)>>2] = 4096; - HEAP32[(21352)>>2] = 4096; - HEAP32[(21360)>>2] = -1; - HEAP32[(21364)>>2] = -1; - HEAP32[(21368)>>2] = 0; - HEAP32[(21320)>>2] = 0; + HEAP32[(21660)>>2] = 4096; + HEAP32[(21656)>>2] = 4096; + HEAP32[(21664)>>2] = -1; + HEAP32[(21668)>>2] = -1; + HEAP32[(21672)>>2] = 0; + HEAP32[(21624)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5337] = $538; + HEAP32[5413] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(21356)>>2]|0; + $$pre$i212 = HEAP32[(21660)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -42739,10 +42702,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(21316)>>2]|0; + $546 = HEAP32[(21620)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(21308)>>2]|0; + $548 = HEAP32[(21612)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -42752,18 +42715,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(21320)>>2]|0; + $552 = HEAP32[(21624)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(20900)>>2]|0; + $555 = HEAP32[(21204)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (21324); + $$0$i$i = (21628); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -42821,7 +42784,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(21352)>>2]|0; + $569 = HEAP32[(21656)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -42831,13 +42794,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21308)>>2]|0; + $578 = HEAP32[(21612)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(21316)>>2]|0; + $582 = HEAP32[(21620)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -42883,7 +42846,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(21356)>>2]|0; + $601 = HEAP32[(21660)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -42908,9 +42871,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(21320)>>2]|0; + $611 = HEAP32[(21624)>>2]|0; $612 = $611 | 4; - HEAP32[(21320)>>2] = $612; + HEAP32[(21624)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -42946,35 +42909,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(21308)>>2]|0; + $626 = HEAP32[(21612)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(21308)>>2] = $627; - $628 = HEAP32[(21312)>>2]|0; + HEAP32[(21612)>>2] = $627; + $628 = HEAP32[(21616)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(21312)>>2] = $627; + HEAP32[(21616)>>2] = $627; } - $630 = HEAP32[(20900)>>2]|0; + $630 = HEAP32[(21204)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(20892)>>2]|0; + $632 = HEAP32[(21196)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(20892)>>2] = $$749$i; + HEAP32[(21196)>>2] = $$749$i; } - HEAP32[(21324)>>2] = $$749$i; - HEAP32[(21328)>>2] = $$723948$i; - HEAP32[(21336)>>2] = 0; - $635 = HEAP32[5337]|0; - HEAP32[(20912)>>2] = $635; - HEAP32[(20908)>>2] = -1; + HEAP32[(21628)>>2] = $$749$i; + HEAP32[(21632)>>2] = $$723948$i; + HEAP32[(21640)>>2] = 0; + $635 = HEAP32[5413]|0; + HEAP32[(21216)>>2] = $635; + HEAP32[(21212)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (20916 + ($636<<2)|0); + $637 = (21220 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -42997,18 +42960,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(20900)>>2] = $649; - HEAP32[(20888)>>2] = $650; + HEAP32[(21204)>>2] = $649; + HEAP32[(21192)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(21364)>>2]|0; - HEAP32[(20904)>>2] = $655; + $655 = HEAP32[(21668)>>2]|0; + HEAP32[(21208)>>2] = $655; } else { - $$024371$i = (21324); + $$024371$i = (21628); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -43040,7 +43003,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(20888)>>2]|0; + $671 = HEAP32[(21192)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -43051,30 +43014,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(20900)>>2] = $679; - HEAP32[(20888)>>2] = $681; + HEAP32[(21204)>>2] = $679; + HEAP32[(21192)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(21364)>>2]|0; - HEAP32[(20904)>>2] = $686; + $686 = HEAP32[(21668)>>2]|0; + HEAP32[(21208)>>2] = $686; break; } } } - $687 = HEAP32[(20892)>>2]|0; + $687 = HEAP32[(21196)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(20892)>>2] = $$749$i; + HEAP32[(21196)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (21324); + $$124470$i = (21628); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -43129,21 +43092,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(20888)>>2]|0; + $726 = HEAP32[(21192)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(20888)>>2] = $727; - HEAP32[(20900)>>2] = $721; + HEAP32[(21192)>>2] = $727; + HEAP32[(21204)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(20896)>>2]|0; + $730 = HEAP32[(21200)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(20884)>>2]|0; + $732 = HEAP32[(21188)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(20884)>>2] = $733; - HEAP32[(20896)>>2] = $721; + HEAP32[(21188)>>2] = $733; + HEAP32[(21200)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -43166,7 +43129,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (20916 + ($748<<2)|0); + $749 = (21220 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -43189,9 +43152,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5219]|0; + $759 = HEAP32[5295]|0; $760 = $759 & $758; - HEAP32[5219] = $760; + HEAP32[5295] = $760; break; } $761 = ($747|0)==($749|0); @@ -43304,7 +43267,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21180 + ($796<<2)|0); + $797 = (21484 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -43316,12 +43279,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(20880)>>2]|0; + $802 = HEAP32[(21184)>>2]|0; $803 = $802 & $801; - HEAP32[(20880)>>2] = $803; + HEAP32[(21184)>>2] = $803; break L314; } else { - $804 = HEAP32[(20892)>>2]|0; + $804 = HEAP32[(21196)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -43342,7 +43305,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(20892)>>2]|0; + $810 = HEAP32[(21196)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -43374,7 +43337,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(20892)>>2]|0; + $822 = HEAP32[(21196)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -43407,21 +43370,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (20916 + ($836<<2)|0); - $838 = HEAP32[5219]|0; + $837 = (21220 + ($836<<2)|0); + $838 = HEAP32[5295]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5219] = $842; + HEAP32[5295] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(20892)>>2]|0; + $845 = HEAP32[(21196)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -43476,20 +43439,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21180 + ($$0296$i$i<<2)|0); + $875 = (21484 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(20880)>>2]|0; + $879 = HEAP32[(21184)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(20880)>>2] = $883; + HEAP32[(21184)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -43528,7 +43491,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(20892)>>2]|0; + $902 = HEAP32[(21196)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -43547,7 +43510,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(20892)>>2]|0; + $909 = HEAP32[(21196)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -43574,7 +43537,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (21324); + $$0$i$i$i = (21628); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -43615,23 +43578,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(20900)>>2] = $946; - HEAP32[(20888)>>2] = $947; + HEAP32[(21204)>>2] = $946; + HEAP32[(21192)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(21364)>>2]|0; - HEAP32[(20904)>>2] = $952; + $952 = HEAP32[(21668)>>2]|0; + HEAP32[(21208)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(21324)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21324)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21324)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21324)+12>>2]|0; - HEAP32[(21324)>>2] = $$749$i; - HEAP32[(21328)>>2] = $$723948$i; - HEAP32[(21336)>>2] = 0; - HEAP32[(21332)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(21628)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21628)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21628)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21628)+12>>2]|0; + HEAP32[(21628)>>2] = $$749$i; + HEAP32[(21632)>>2] = $$723948$i; + HEAP32[(21640)>>2] = 0; + HEAP32[(21636)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -43660,20 +43623,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (20916 + ($968<<2)|0); - $970 = HEAP32[5219]|0; + $969 = (21220 + ($968<<2)|0); + $970 = HEAP32[5295]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5219] = $974; + HEAP32[5295] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(20892)>>2]|0; + $977 = HEAP32[(21196)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -43725,19 +43688,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21180 + ($$0212$i$i<<2)|0); + $1007 = (21484 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(20880)>>2]|0; + $1010 = HEAP32[(21184)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(20880)>>2] = $1014; + HEAP32[(21184)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -43776,7 +43739,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(20892)>>2]|0; + $1033 = HEAP32[(21196)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -43795,7 +43758,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(20892)>>2]|0; + $1040 = HEAP32[(21196)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -43818,14 +43781,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(20888)>>2]|0; + $1048 = HEAP32[(21192)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(20888)>>2] = $1050; - $1051 = HEAP32[(20900)>>2]|0; + HEAP32[(21192)>>2] = $1050; + $1051 = HEAP32[(21204)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(20900)>>2] = $1052; + HEAP32[(21204)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -43868,7 +43831,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(20892)>>2]|0; + $3 = HEAP32[(21196)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -43901,7 +43864,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(20896)>>2]|0; + $19 = HEAP32[(21200)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -43916,7 +43879,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(20884)>>2] = $17; + HEAP32[(21188)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -43930,7 +43893,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (20916 + ($27<<2)|0); + $28 = (21220 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -43950,9 +43913,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5219]|0; + $37 = HEAP32[5295]|0; $38 = $37 & $36; - HEAP32[5219] = $38; + HEAP32[5295] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -44066,7 +44029,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21180 + ($74<<2)|0); + $75 = (21484 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -44076,14 +44039,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(20880)>>2]|0; + $80 = HEAP32[(21184)>>2]|0; $81 = $80 & $79; - HEAP32[(20880)>>2] = $81; + HEAP32[(21184)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(20892)>>2]|0; + $82 = HEAP32[(21196)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -44105,7 +44068,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(20892)>>2]|0; + $88 = HEAP32[(21196)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -44137,7 +44100,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(20892)>>2]|0; + $100 = HEAP32[(21196)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -44172,14 +44135,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(20900)>>2]|0; + $120 = HEAP32[(21204)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(20896)>>2]|0; + $122 = HEAP32[(21200)>>2]|0; if ($121) { - $123 = HEAP32[(20888)>>2]|0; + $123 = HEAP32[(21192)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(20888)>>2] = $124; - HEAP32[(20900)>>2] = $$1; + HEAP32[(21192)>>2] = $124; + HEAP32[(21204)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -44187,16 +44150,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(20896)>>2] = 0; - HEAP32[(20884)>>2] = 0; + HEAP32[(21200)>>2] = 0; + HEAP32[(21188)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(20884)>>2]|0; + $129 = HEAP32[(21188)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(20884)>>2] = $130; - HEAP32[(20896)>>2] = $113; + HEAP32[(21188)>>2] = $130; + HEAP32[(21200)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -44215,10 +44178,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (20916 + ($142<<2)|0); + $143 = (21220 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(20892)>>2]|0; + $145 = HEAP32[(21196)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -44236,9 +44199,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5219]|0; + $153 = HEAP32[5295]|0; $154 = $153 & $152; - HEAP32[5219] = $154; + HEAP32[5295] = $154; break; } $155 = ($141|0)==($143|0); @@ -44246,7 +44209,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(20892)>>2]|0; + $156 = HEAP32[(21196)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -44306,7 +44269,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(20892)>>2]|0; + $189 = HEAP32[(21196)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -44319,7 +44282,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(20892)>>2]|0; + $169 = HEAP32[(21196)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -44350,7 +44313,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21180 + ($193<<2)|0); + $194 = (21484 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -44360,13 +44323,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(20880)>>2]|0; + $199 = HEAP32[(21184)>>2]|0; $200 = $199 & $198; - HEAP32[(20880)>>2] = $200; + HEAP32[(21184)>>2] = $200; break L108; } } else { - $201 = HEAP32[(20892)>>2]|0; + $201 = HEAP32[(21196)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -44387,7 +44350,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(20892)>>2]|0; + $207 = HEAP32[(21196)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -44417,7 +44380,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(20892)>>2]|0; + $219 = HEAP32[(21196)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -44438,10 +44401,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(20896)>>2]|0; + $226 = HEAP32[(21200)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(20884)>>2] = $135; + HEAP32[(21188)>>2] = $135; return; } else { $$2 = $135; @@ -44460,20 +44423,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (20916 + ($234<<2)|0); - $236 = HEAP32[5219]|0; + $235 = (21220 + ($234<<2)|0); + $236 = HEAP32[5295]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5219] = $240; + HEAP32[5295] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(20892)>>2]|0; + $243 = HEAP32[(21196)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -44525,21 +44488,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21180 + ($$0396<<2)|0); + $273 = (21484 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(20880)>>2]|0; + $277 = HEAP32[(21184)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(20880)>>2] = $281; + HEAP32[(21184)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -44577,7 +44540,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(20892)>>2]|0; + $300 = HEAP32[(21196)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -44596,7 +44559,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(20892)>>2]|0; + $307 = HEAP32[(21196)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -44618,12 +44581,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(20908)>>2]|0; + $314 = HEAP32[(21212)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(20908)>>2] = $315; + HEAP32[(21212)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (21332); + $$0212$in$i = (21636); } else { return; } @@ -44637,7 +44600,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(20908)>>2] = -1; + HEAP32[(21212)>>2] = -1; return; } function _realloc($0,$1) { @@ -44709,7 +44672,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(20892)>>2]|0; + $6 = HEAP32[(21196)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -44739,7 +44702,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(21356)>>2]|0; + $18 = HEAP32[(21660)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -44775,10 +44738,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(20900)>>2]|0; + $34 = HEAP32[(21204)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(20888)>>2]|0; + $36 = HEAP32[(21192)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -44794,15 +44757,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(20900)>>2] = $40; - HEAP32[(20888)>>2] = $39; + HEAP32[(21204)>>2] = $40; + HEAP32[(21192)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(20896)>>2]|0; + $46 = HEAP32[(21200)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(20884)>>2]|0; + $48 = HEAP32[(21188)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -44838,8 +44801,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(20884)>>2] = $storemerge1; - HEAP32[(20896)>>2] = $storemerge; + HEAP32[(21188)>>2] = $storemerge1; + HEAP32[(21200)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -44866,7 +44829,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (20916 + ($81<<2)|0); + $82 = (21220 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -44886,9 +44849,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5219]|0; + $91 = HEAP32[5295]|0; $92 = $91 & $90; - HEAP32[5219] = $92; + HEAP32[5295] = $92; break; } $93 = ($80|0)==($82|0); @@ -44997,7 +44960,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (21180 + ($128<<2)|0); + $129 = (21484 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -45007,13 +44970,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(20880)>>2]|0; + $134 = HEAP32[(21184)>>2]|0; $135 = $134 & $133; - HEAP32[(20880)>>2] = $135; + HEAP32[(21184)>>2] = $135; break L49; } } else { - $136 = HEAP32[(20892)>>2]|0; + $136 = HEAP32[(21196)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -45034,7 +44997,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(20892)>>2]|0; + $142 = HEAP32[(21196)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -45064,7 +45027,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(20892)>>2]|0; + $154 = HEAP32[(21196)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -45149,13 +45112,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(20892)>>2]|0; + $13 = HEAP32[(21196)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(20896)>>2]|0; + $15 = HEAP32[(21200)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -45170,7 +45133,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(20884)>>2] = $12; + HEAP32[(21188)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -45184,7 +45147,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (20916 + ($23<<2)|0); + $24 = (21220 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -45204,9 +45167,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5219]|0; + $33 = HEAP32[5295]|0; $34 = $33 & $32; - HEAP32[5219] = $34; + HEAP32[5295] = $34; $$1 = $11;$$1418 = $12; break; } @@ -45320,7 +45283,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (21180 + ($70<<2)|0); + $71 = (21484 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -45330,14 +45293,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(20880)>>2]|0; + $76 = HEAP32[(21184)>>2]|0; $77 = $76 & $75; - HEAP32[(20880)>>2] = $77; + HEAP32[(21184)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(20892)>>2]|0; + $78 = HEAP32[(21196)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -45359,7 +45322,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(20892)>>2]|0; + $84 = HEAP32[(21196)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -45391,7 +45354,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(20892)>>2]|0; + $96 = HEAP32[(21196)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -45410,7 +45373,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(20892)>>2]|0; + $108 = HEAP32[(21196)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -45421,14 +45384,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(20900)>>2]|0; + $114 = HEAP32[(21204)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(20896)>>2]|0; + $116 = HEAP32[(21200)>>2]|0; if ($115) { - $117 = HEAP32[(20888)>>2]|0; + $117 = HEAP32[(21192)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(20888)>>2] = $118; - HEAP32[(20900)>>2] = $$1; + HEAP32[(21192)>>2] = $118; + HEAP32[(21204)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -45436,16 +45399,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(20896)>>2] = 0; - HEAP32[(20884)>>2] = 0; + HEAP32[(21200)>>2] = 0; + HEAP32[(21188)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(20884)>>2]|0; + $123 = HEAP32[(21188)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(20884)>>2] = $124; - HEAP32[(20896)>>2] = $$1; + HEAP32[(21188)>>2] = $124; + HEAP32[(21200)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -45464,7 +45427,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (20916 + ($136<<2)|0); + $137 = (21220 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -45484,9 +45447,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5219]|0; + $146 = HEAP32[5295]|0; $147 = $146 & $145; - HEAP32[5219] = $147; + HEAP32[5295] = $147; break; } $148 = ($135|0)==($137|0); @@ -45595,7 +45558,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (21180 + ($183<<2)|0); + $184 = (21484 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -45605,13 +45568,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(20880)>>2]|0; + $189 = HEAP32[(21184)>>2]|0; $190 = $189 & $188; - HEAP32[(20880)>>2] = $190; + HEAP32[(21184)>>2] = $190; break L96; } } else { - $191 = HEAP32[(20892)>>2]|0; + $191 = HEAP32[(21196)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -45632,7 +45595,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(20892)>>2]|0; + $197 = HEAP32[(21196)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -45662,7 +45625,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(20892)>>2]|0; + $209 = HEAP32[(21196)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -45683,10 +45646,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(20896)>>2]|0; + $216 = HEAP32[(21200)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(20884)>>2] = $129; + HEAP32[(21188)>>2] = $129; return; } else { $$2 = $129; @@ -45705,20 +45668,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (20916 + ($224<<2)|0); - $226 = HEAP32[5219]|0; + $225 = (21220 + ($224<<2)|0); + $226 = HEAP32[5295]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5219] = $230; + HEAP32[5295] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(20892)>>2]|0; + $233 = HEAP32[(21196)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -45770,20 +45733,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (21180 + ($$0431<<2)|0); + $263 = (21484 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(20880)>>2]|0; + $267 = HEAP32[(21184)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(20880)>>2] = $271; + HEAP32[(21184)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -45822,7 +45785,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(20892)>>2]|0; + $290 = HEAP32[(21196)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -45840,7 +45803,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(20892)>>2]|0; + $297 = HEAP32[(21196)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/models/models_mesh_picking.png b/docs/examples/web/models/models_mesh_picking.png new file mode 100644 index 000000000..045db585c Binary files /dev/null and b/docs/examples/web/models/models_mesh_picking.png differ diff --git a/docs/examples/web/models/models_obj_loading.js b/docs/examples/web/models/models_obj_loading.js index 34b9163dd..e259738de 100644 --- a/docs/examples/web/models/models_obj_loading.js +++ b/docs/examples/web/models/models_obj_loading.js @@ -183,7 +183,7 @@ Module['FS_createPath']('/resources', 'model', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}], "remote_package_size": 4022872, "package_uuid": "dc77f22f-e0f2-448f-9895-b0156b254278"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}], "remote_package_size": 4022872, "package_uuid": "8916150a-89d4-4b0a-884f-4bcfc1694720"}); })(); @@ -1776,12 +1776,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 23776; +STATICTOP = STATIC_BASE + 23760; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,215,88,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,111,98,106,32,109,111,100,101,108,32,108,111,97,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,199,88,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,111,98,106,32,109,111,100,101,108,32,108,111,97,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10499,14 +10499,14 @@ function _main() { $3 = HEAP32[3]|0; _InitWindow($2,$3,4408); _LoadModel($0,4452); - _memcpy((17908|0),($0|0),264)|0; + _memcpy((18212|0),($0|0),264)|0; _LoadTexture($1,4478); - ;HEAP32[18172>>2]=HEAP32[$1>>2]|0;HEAP32[18172+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18172+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18172+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18172+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[(18096)>>2]=HEAP32[$1>>2]|0;HEAP32[(18096)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18096)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18096)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18096)+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[18476>>2]=HEAP32[$1>>2]|0;HEAP32[18476+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18476+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18476+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18476+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[(18400)>>2]=HEAP32[$1>>2]|0;HEAP32[(18400)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18400)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18400)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18400)+16>>2]=HEAP32[$1+16>>2]|0; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[18172>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[18172+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[18172+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[18172+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[18172+16>>2]|0; + ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[18476>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[18476+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[18476+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[18476+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[18476+16>>2]|0; _UnloadTexture($dwarf$byval_copy); - _memcpy(($dwarf$byval_copy|0),(17908|0),264)|0; + _memcpy(($dwarf$byval_copy|0),(18212|0),264)|0; _UnloadModel($dwarf$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10535,12 +10535,12 @@ function _UpdateDrawFrame() { dest=$$byval_copy2; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _Begin3dMode($$byval_copy2); HEAP32[$1>>2] = -1; - _memcpy(($dwarf$byval_copy|0),(17908|0),264)|0; - ;HEAP32[$position$byval_copy>>2]=HEAP32[17896>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[17896+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[17896+8>>2]|0; + _memcpy(($dwarf$byval_copy|0),(18212|0),264)|0; + ;HEAP32[$position$byval_copy>>2]=HEAP32[18200>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[18200+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[18200+8>>2]|0; ;HEAP8[$$byval_copy2>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$1+3>>0]|0; _DrawModel($dwarf$byval_copy,$position$byval_copy,2.0,$$byval_copy2); _DrawGrid(10,1.0); - ;HEAP32[$$byval_copy2>>2]=HEAP32[17896>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[17896+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[17896+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[18200>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[18200+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[18200+8>>2]|0; _DrawGizmo($$byval_copy2); _End3dMode(); $6 = HEAP32[2]|0; @@ -10560,30 +10560,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -10736,13 +10786,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11731,7 +11774,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4549] = $2; + HEAP32[4625] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11744,7 +11787,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 17624; + $95 = 17928; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11757,48 +11800,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 17664; + $106 = 17968; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4416]; - $111 = +HEAPF32[4406]; + $110 = +HEAPF32[4492]; + $111 = +HEAPF32[4482]; $112 = $110 - $111; - HEAPF32[4418] = $112; - $113 = +HEAPF32[(17668)>>2]; - $114 = +HEAPF32[(17628)>>2]; + HEAPF32[4494] = $112; + $113 = +HEAPF32[(17972)>>2]; + $114 = +HEAPF32[(17932)>>2]; $115 = $113 - $114; - HEAPF32[(17676)>>2] = $115; - HEAP32[4548] = 4; + HEAPF32[(17980)>>2] = $115; + HEAP32[4624] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17656>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17656+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17680+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17960>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17960+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17984>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17984+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4554] = $116; - $117 = 17656; + HEAPF32[4630] = $116; + $117 = 17960; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 17624; + $123 = 17928; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 17680; + $127 = 17984; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 17664; + $133 = 17968; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11811,7 +11854,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 17656; + $144 = 17960; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11824,27 +11867,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 17680; + $155 = 17984; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4420]; - $160 = +HEAPF32[4414]; + $159 = +HEAPF32[4496]; + $160 = +HEAPF32[4490]; $161 = $159 - $160; - HEAPF32[4418] = $161; - $162 = +HEAPF32[(17684)>>2]; - $163 = +HEAPF32[(17660)>>2]; + HEAPF32[4494] = $161; + $162 = +HEAPF32[(17988)>>2]; + $163 = +HEAPF32[(17964)>>2]; $164 = $162 - $163; - HEAPF32[(17676)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17624+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17656>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17656+4>>2]|0; + HEAPF32[(17980)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17928+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17960>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17960+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17664>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17664+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17680+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17968>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17968+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17984>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17984+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11856,31 +11899,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17656>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17656+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17680+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17960>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17960+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17984>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17984+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4554]; + $170 = +HEAPF32[4630]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4548] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17656>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17656+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17680+4>>2]|0; + HEAP32[4624] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17960>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17960+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17984>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17984+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4555] = $174; + HEAPF32[4631] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4554] = 0.0; - HEAPF32[4555] = 0.0; - HEAPF32[4418] = 0.0; - HEAPF32[(17676)>>2] = 0.0; - HEAP32[4549] = 0; - HEAP32[4548] = 0; + HEAPF32[4630] = 0.0; + HEAPF32[4631] = 0.0; + HEAPF32[4494] = 0.0; + HEAPF32[(17980)>>2] = 0.0; + HEAP32[4625] = 0; + HEAP32[4624] = 0; STACKTOP = sp;return; break; } @@ -11890,22 +11933,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4550]|0; + $6 = HEAP32[4626]|0; $7 = (($6) + 1)|0; - HEAP32[4550] = $7; - $8 = HEAP32[4548]|0; + HEAP32[4626] = $7; + $8 = HEAP32[4624]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17624+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17928+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4548] = 2; - HEAP32[4550] = 0; + HEAP32[4624] = 2; + HEAP32[4626] = 0; } else { label = 6; } @@ -11913,8 +11956,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4550] = 1; - HEAP32[4548] = 1; + HEAP32[4626] = 1; + HEAP32[4624] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11923,19 +11966,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 17624; + $21 = 17928; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 17632; + $25 = 17936; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 17640; + $29 = 17944; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11944,13 +11987,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[14] = $34; - HEAPF32[4412] = 0.0; - HEAPF32[(17652)>>2] = 0.0; + HEAPF32[4488] = 0.0; + HEAPF32[(17956)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4548]|0; + $35 = HEAP32[4624]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11960,19 +12003,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 17640; + $44 = 17944; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17624+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17640>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17640+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17928+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17944>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17944+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4551] = $49; - HEAP32[4552] = 0; + HEAPF32[4627] = $49; + HEAP32[4628] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[14]|0; @@ -11980,11 +12023,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17624+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17640>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17640+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17928+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17944>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17944+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4553] = $56; + HEAPF32[4629] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12015,22 +12058,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4551] = 0.0; - HEAPF32[4553] = 0.0; + HEAPF32[4627] = 0.0; + HEAPF32[4629] = 0.0; $$sink10 = 0; } - HEAP32[4548] = $$sink10; - HEAPF32[4408] = 0.0; - HEAPF32[(17636)>>2] = 0.0; - HEAP32[4549] = 0; + HEAP32[4624] = $$sink10; + HEAPF32[4484] = 0.0; + HEAPF32[(17940)>>2] = 0.0; + HEAP32[4625] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4552]|0; + $65 = HEAP32[4628]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4552] = 1; + HEAP32[4628] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12039,31 +12082,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 17656; + $74 = 17960; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4548]|0; + $78 = HEAP32[4624]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17624+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17656>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17656+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17928+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17960>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17960+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4548] = 8; + HEAP32[4624] = 8; } } - $82 = +HEAPF32[4414]; - $83 = +HEAPF32[4408]; + $82 = +HEAPF32[4490]; + $83 = +HEAPF32[4484]; $84 = $82 - $83; - HEAPF32[4412] = $84; - $85 = +HEAPF32[(17660)>>2]; - $86 = +HEAPF32[(17636)>>2]; + HEAPF32[4488] = $84; + $85 = +HEAPF32[(17964)>>2]; + $86 = +HEAPF32[(17940)>>2]; $87 = $85 - $86; - HEAPF32[(17652)>>2] = $87; + HEAPF32[(17956)>>2] = $87; STACKTOP = sp;return; break; } @@ -12072,58 +12115,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4548]|0; + $0 = HEAP32[4624]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4549]|0; + $2 = HEAP32[4625]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4548] = 4; + HEAP32[4624] = 4; } - $4 = HEAP32[4548]|0; + $4 = HEAP32[4624]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12136,14 +12140,14 @@ function _UpdateGestures() { return; } } - HEAP32[4548] = 0; + HEAP32[4624] = 0; return; } function _GetMousePosition($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 = 17688; + $1 = 17992; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12160,13 +12164,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4558]|0; + $0 = HEAP32[4634]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4557]|0; + $0 = HEAP32[4633]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -12178,7 +12182,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4547,$vararg_buffer); - HEAP32[4560] = $2; + HEAP32[4636] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -12191,15 +12195,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4576|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4558]|0; + $3 = HEAP32[4634]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4422] = $5; - $6 = HEAP32[4557]|0; + HEAPF32[4498] = $5; + $6 = HEAP32[4633]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(17692)>>2] = $8; - $9 = HEAP32[4561]|0; + HEAPF32[(17996)>>2] = $8; + $9 = HEAP32[4637]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12218,11 +12222,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[17728>>0]=HEAP8[9076>>0]|0;HEAP8[17728+1>>0]=HEAP8[9076+1>>0]|0;HEAP8[17728+2>>0]=HEAP8[9076+2>>0]|0;HEAP8[17728+3>>0]=HEAP8[9076+3>>0]|0;HEAP8[17728+4>>0]=HEAP8[9076+4>>0]|0;HEAP8[17728+5>>0]=HEAP8[9076+5>>0]|0;HEAP8[17728+6>>0]=HEAP8[9076+6>>0]|0; + ;HEAP8[18032>>0]=HEAP8[9076>>0]|0;HEAP8[18032+1>>0]=HEAP8[9076+1>>0]|0;HEAP8[18032+2>>0]=HEAP8[9076+2>>0]|0;HEAP8[18032+3>>0]=HEAP8[9076+3>>0]|0;HEAP8[18032+4>>0]=HEAP8[9076+4>>0]|0;HEAP8[18032+5>>0]=HEAP8[9076+5>>0]|0;HEAP8[18032+6>>0]=HEAP8[9076+6>>0]|0; break; } case 1: { - $3 = 17728; + $3 = 18032; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12231,11 +12235,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=17728; src=9083; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=18032; src=9083; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 17728; + $7 = 18032; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12246,16 +12250,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(17728,$1)|0); - $strlen = (_strlen(17728)|0); - $endptr = (17728 + ($strlen)|0); + (_strcat(18032,$1)|0); + $strlen = (_strlen(18032)|0); + $endptr = (18032 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(17728,$2)|0); + (_vprintf(18032,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12287,22 +12291,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4558] = $0; - HEAP32[4557] = $1; + HEAP32[4634] = $0; + HEAP32[4633] = $1; _MatrixIdentity($2); - dest=18320; 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)); + dest=18624; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5218,$vararg_buffer); } - $6 = HEAP32[4558]|0; - HEAP32[4596] = $6; - $7 = HEAP32[4557]|0; - HEAP32[4597] = $7; + $6 = HEAP32[4634]|0; + HEAP32[4672] = $6; + $7 = HEAP32[4633]|0; + HEAP32[4673] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[21064]|0; + $8 = HEAP8[21368]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12310,13 +12314,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[21064]|0; + $11 = HEAP8[21368]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[21064]|0; + $14 = HEAP8[21368]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -12338,18 +12342,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4598]|0; + $21 = HEAP32[4674]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4558]|0; - $48 = HEAP32[4557]|0; - $49 = HEAP32[4560]|0; + $47 = HEAP32[4634]|0; + $48 = HEAP32[4633]|0; + $49 = HEAP32[4636]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4556] = $50; - $51 = HEAP32[4558]|0; - HEAP32[4599] = $51; - $52 = HEAP32[4557]|0; - HEAP32[4600] = $52; + HEAP32[4632] = $50; + $51 = HEAP32[4634]|0; + HEAP32[4675] = $51; + $52 = HEAP32[4633]|0; + HEAP32[4676] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12358,9 +12362,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4558]|0; + $27 = HEAP32[4634]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4557]|0; + $29 = HEAP32[4633]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12382,25 +12386,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4596] = $31; - HEAP32[4597] = $34; + HEAP32[4672] = $31; + HEAP32[4673] = $34; } } while(0); - $38 = HEAP32[4596]|0; - $39 = HEAP32[4597]|0; + $38 = HEAP32[4672]|0; + $39 = HEAP32[4673]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5269,$vararg_buffer3); - $40 = HEAP32[4596]|0; - $41 = HEAP32[4597]|0; + $40 = HEAP32[4672]|0; + $41 = HEAP32[4673]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4596]|0; - $43 = HEAP32[4597]|0; - $44 = HEAP32[4560]|0; + $42 = HEAP32[4672]|0; + $43 = HEAP32[4673]|0; + $44 = HEAP32[4636]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4556] = $46; + HEAP32[4632] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12409,60 +12413,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5307,$vararg_buffer6); } else { _TraceLog(0,5340,$vararg_buffer8); - $55 = HEAP32[4599]|0; - $56 = HEAP32[4600]|0; + $55 = HEAP32[4675]|0; + $56 = HEAP32[4676]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5380,$vararg_buffer10); - $57 = HEAP32[4558]|0; - $58 = HEAP32[4557]|0; + $57 = HEAP32[4634]|0; + $58 = HEAP32[4633]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5401,$vararg_buffer14); - $59 = HEAP32[4601]|0; - $60 = HEAP32[4602]|0; + $59 = HEAP32[4677]|0; + $60 = HEAP32[4678]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5422,$vararg_buffer18); } - $61 = HEAP32[4556]|0; + $61 = HEAP32[4632]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4556]|0; + $62 = HEAP32[4632]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4556]|0; + $63 = HEAP32[4632]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4556]|0; + $64 = HEAP32[4632]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4556]|0; + $65 = HEAP32[4632]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4556]|0; + $66 = HEAP32[4632]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4556]|0; + $67 = HEAP32[4632]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4556]|0; + $68 = HEAP32[4632]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4556]|0; + $69 = HEAP32[4632]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[21064]|0; + $70 = HEAP8[21368]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4558]|0; - $74 = HEAP32[4557]|0; + $73 = HEAP32[4634]|0; + $74 = HEAP32[4633]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4599]|0; - $76 = HEAP32[4601]|0; + $75 = HEAP32[4675]|0; + $76 = HEAP32[4677]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4600]|0; - $80 = HEAP32[4602]|0; + $79 = HEAP32[4676]|0; + $80 = HEAP32[4678]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12481,18 +12485,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5447,$vararg_buffer22); - $73 = HEAP32[4558]|0; - $74 = HEAP32[4557]|0; + $73 = HEAP32[4634]|0; + $74 = HEAP32[4633]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4599]|0; - $76 = HEAP32[4601]|0; + $75 = HEAP32[4675]|0; + $76 = HEAP32[4677]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4600]|0; - $80 = HEAP32[4602]|0; + $79 = HEAP32[4676]|0; + $80 = HEAP32[4678]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12520,7 +12524,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(18288)>>2] = 224; + HEAP32[(18592)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12561,27 +12565,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[18264>>2]=HEAP32[$1>>2]|0;HEAP32[18264+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18264+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18264+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18264+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[18568>>2]=HEAP32[$1>>2]|0;HEAP32[18568+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18568+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18568+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18568+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(18288)>>2]|0; + $5 = HEAP32[(18592)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(18292)>>2] = $7; + HEAP32[(18596)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18284)>>2] = $23; - $24 = HEAP32[4566]|0; + HEAP32[(18588)>>2] = $23; + $24 = HEAP32[4642]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4771,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(18268)>>2]|0; - $10 = HEAP32[(18288)>>2]|0; - $11 = HEAP32[(18292)>>2]|0; + $9 = HEAP32[(18572)>>2]|0; + $10 = HEAP32[(18592)>>2]|0; + $11 = HEAP32[(18596)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12630,8 +12634,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18284)>>2] = $23; - $24 = HEAP32[4566]|0; + HEAP32[(18588)>>2] = $23; + $24 = HEAP32[4642]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4771,$vararg_buffer); STACKTOP = sp;return; @@ -12642,7 +12646,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2215] = $1; + HEAPF64[2253] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12801,7 +12805,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 17704; + $31 = 18008; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12814,7 +12818,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (17712); + $42 = (18016); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12870,7 +12874,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (18248 + ($10<<2)|0); + $11 = (18552 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12884,7 +12888,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2212] = $$; + HEAPF64[2250] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12896,7 +12900,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4561] = 0; + HEAP32[4637] = 0; return; } function _GetTime() { @@ -13472,7 +13476,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4574]|0; + $6 = HEAP32[4650]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13482,7 +13486,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4575]|0; + $9 = HEAP32[4651]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13491,7 +13495,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4576]|0; + $12 = HEAP32[4652]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13501,7 +13505,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4577]|0; + $15 = HEAP32[4653]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13511,7 +13515,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4578]|0; + $18 = HEAP32[4654]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13555,7 +13559,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4574]|0; + $22 = HEAP32[4650]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13563,7 +13567,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4574]|0; + $24 = HEAP32[4650]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13571,7 +13575,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4574]|0; + $26 = HEAP32[4650]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13579,7 +13583,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4574]|0; + $28 = HEAP32[4650]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13587,7 +13591,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4575]|0; + $30 = HEAP32[4651]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13595,7 +13599,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4576]|0; + $32 = HEAP32[4652]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13603,7 +13607,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4576]|0; + $34 = HEAP32[4652]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13611,7 +13615,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4577]|0; + $36 = HEAP32[4653]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13619,7 +13623,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4577]|0; + $38 = HEAP32[4653]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13627,7 +13631,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4578]|0; + $40 = HEAP32[4654]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13635,7 +13639,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4578]|0; + $42 = HEAP32[4654]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13647,7 +13651,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4579]|0; + $44 = HEAP32[4655]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13662,7 +13666,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,11465,$vararg_buffer15); + _TraceLog(2,11773,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13993,20 +13997,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4558]|0; + $3 = HEAP32[4634]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4557]|0; + $5 = HEAP32[4633]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4599] = $3; - HEAP32[4600] = $5; - HEAP32[4601] = 0; - HEAP32[4602] = 0; + HEAP32[4675] = $3; + HEAP32[4676] = $5; + HEAP32[4677] = 0; + HEAP32[4678] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14020,9 +14024,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4558]|0; + $35 = HEAP32[4634]|0; $36 = (+($35|0)); - $37 = HEAP32[4557]|0; + $37 = HEAP32[4633]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14030,26 +14034,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4599] = $45; - HEAP32[4600] = $37; + HEAP32[4675] = $45; + HEAP32[4676] = $37; $46 = (($45) - ($35))|0; - HEAP32[4601] = $46; + HEAP32[4677] = $46; $$sink1 = 0; } else { - HEAP32[4599] = $35; + HEAP32[4675] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4600] = $42; - HEAP32[4601] = 0; + HEAP32[4676] = $42; + HEAP32[4677] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4602] = $$sink1; + HEAP32[4678] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4557]|0; + $7 = HEAP32[4633]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14059,11 +14063,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8829,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4558]|0; + $9 = HEAP32[4634]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4557]|0; + $13 = HEAP32[4633]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14071,33 +14075,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4599] = $23; - HEAP32[4600] = $1; + HEAP32[4675] = $23; + HEAP32[4676] = $1; $24 = (($0) - ($23))|0; - HEAP32[4601] = $24; + HEAP32[4677] = $24; $$sink = 0; } else { - HEAP32[4599] = $0; - $17 = HEAP32[4557]|0; + HEAP32[4675] = $0; + $17 = HEAP32[4633]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4600] = $20; - HEAP32[4601] = 0; + HEAP32[4676] = $20; + HEAP32[4677] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4602] = $$sink; - $25 = HEAP32[4599]|0; + HEAP32[4678] = $$sink; + $25 = HEAP32[4675]|0; $26 = (+($25|0)); - $27 = HEAP32[4558]|0; + $27 = HEAP32[4634]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=18320; 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)); - HEAP32[4599] = $0; - HEAP32[4600] = $1; + dest=18624; 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)); + HEAP32[4675] = $0; + HEAP32[4676] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -14119,10 +14123,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4558] = $1; - HEAP32[4557] = $2; - HEAP32[4599] = $1; - HEAP32[4600] = $2; + HEAP32[4634] = $1; + HEAP32[4633] = $2; + HEAP32[4675] = $1; + HEAP32[4676] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14149,7 +14153,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (21071 + ($1)|0); + $9 = (21375 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -14170,7 +14174,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (21065 + ($1)|0); + $7 = (21369 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14249,7 +14253,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 17704; + $15 = 18008; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14284,7 +14288,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4972] = $3; + HEAP32[5048] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14294,7 +14298,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4971] = $$sink; + HEAP32[5047] = $$sink; return; } function _rlglInit($0,$1) { @@ -14375,18 +14379,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5579)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4637] = 1; + HEAP32[4713] = 1; $27 = (_eglGetProcAddress((5606|0))|0); - HEAP32[4638] = $27; + HEAP32[4714] = $27; $28 = (_eglGetProcAddress((5627|0))|0); - HEAP32[4639] = $28; + HEAP32[4715] = $28; $29 = (_eglGetProcAddress((5648|0))|0); - HEAP32[4640] = $29; + HEAP32[4716] = $29; } $30 = (_strcmp($24,5672)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4579] = 1; + HEAP32[4655] = 1; } $32 = (_strcmp($24,5692)|0); $33 = ($32|0)==(0); @@ -14408,7 +14412,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4574] = 1; + HEAP32[4650] = 1; } $39 = (_strcmp($24,5797)|0); $40 = ($39|0)==(0); @@ -14424,35 +14428,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4575] = 1; + HEAP32[4651] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5866)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4576] = 1; + HEAP32[4652] = 1; } $47 = (_strcmp($44,5891)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4577] = 1; + HEAP32[4653] = 1; } $49 = (_strcmp($44,5924)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4578] = 1; + HEAP32[4654] = 1; } $51 = (_strcmp($44,5960)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4641] = 1; - _glGetFloatv(34047,(18568|0)); + HEAP32[4717] = 1; + _glGetFloatv(34047,(18872|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5994)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4643] = 1; + HEAP32[4719] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14463,61 +14467,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4637]|0; + $21 = HEAP32[4713]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,6097,$vararg_buffer15); } else { _TraceLog(0,6022,$vararg_buffer13); } - $57 = HEAP32[4579]|0; + $57 = HEAP32[4655]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6233,$vararg_buffer19); } else { _TraceLog(0,6158,$vararg_buffer17); } - $59 = HEAP32[4574]|0; + $59 = HEAP32[4650]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6325,$vararg_buffer21); } - $61 = HEAP32[4575]|0; + $61 = HEAP32[4651]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6371,$vararg_buffer23); } - $63 = HEAP32[4576]|0; + $63 = HEAP32[4652]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6418,$vararg_buffer25); } - $65 = HEAP32[4577]|0; + $65 = HEAP32[4653]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6469,$vararg_buffer27); } - $67 = HEAP32[4578]|0; + $67 = HEAP32[4654]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6516,$vararg_buffer29); } - $69 = HEAP32[4641]|0; + $69 = HEAP32[4717]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4642]; + $71 = +HEAPF32[4718]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6563,$vararg_buffer31); } - $73 = HEAP32[4643]|0; + $73 = HEAP32[4719]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6629,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4644] = $75; + HEAP32[4720] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6733,$vararg_buffer39); @@ -14526,14 +14530,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6682,$vararg_buffer36); } _LoadDefaultShader($2); - dest=18580; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18636; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18884; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18940; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4673] = $77; + HEAP32[4749] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4673]|0; + $79 = HEAP32[4749]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14546,7 +14550,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4674] = $78; + HEAP32[4750] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14561,48 +14565,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4675] = 1; - $85 = HEAP32[4644]|0; + HEAP32[4751] = 1; + $85 = HEAP32[4720]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4676] = 4; + HEAP32[4752] = 4; _MatrixIdentity($4); - dest=18708; src=$4; 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)); + dest=19012; src=$4; 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)); _MatrixIdentity($4); - dest=(18772); src=$4; 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)); + dest=(19076); src=$4; 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)); _MatrixIdentity($4); - dest=(18836); src=$4; 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)); + dest=(19140); src=$4; 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)); _MatrixIdentity($4); - dest=(18900); src=$4; 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)); + dest=(19204); src=$4; 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)); _MatrixIdentity($4); - dest=(18964); src=$4; 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)); + dest=(19268); src=$4; 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)); _MatrixIdentity($4); - dest=(19028); src=$4; 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)); + dest=(19332); src=$4; 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)); _MatrixIdentity($4); - dest=(19092); src=$4; 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)); + dest=(19396); src=$4; 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)); _MatrixIdentity($4); - dest=(19156); src=$4; 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)); + dest=(19460); src=$4; 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)); _MatrixIdentity($4); - dest=(19220); src=$4; 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)); + dest=(19524); src=$4; 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)); _MatrixIdentity($4); - dest=(19284); src=$4; 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)); + dest=(19588); src=$4; 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)); _MatrixIdentity($4); - dest=(19348); src=$4; 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)); + dest=(19652); src=$4; 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)); _MatrixIdentity($4); - dest=(19412); src=$4; 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)); + dest=(19716); src=$4; 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)); _MatrixIdentity($4); - dest=(19476); src=$4; 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)); + dest=(19780); src=$4; 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)); _MatrixIdentity($4); - dest=(19540); src=$4; 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)); + dest=(19844); src=$4; 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)); _MatrixIdentity($4); - dest=(19604); src=$4; 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)); + dest=(19908); src=$4; 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)); _MatrixIdentity($4); - dest=(19668); src=$4; 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)); + dest=(19972); src=$4; 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)); _MatrixIdentity($5); - dest=18416; src=$5; 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)); + dest=18720; src=$5; 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)); _MatrixIdentity($6); - dest=18480; src=$6; 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)); - HEAP32[4603] = 18480; + dest=18784; src=$6; 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)); + HEAP32[4679] = 18784; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14613,21 +14617,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4933] = $0; - HEAP32[4934] = $1; + HEAP32[5009] = $0; + HEAP32[5010] = $1; _TraceLog(0,6772,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4601]|0; + $0 = HEAP32[4677]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4602]|0; + $2 = HEAP32[4678]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4599]|0; + $4 = HEAP32[4675]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4600]|0; + $6 = HEAP32[4676]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14638,12 +14642,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 18416; + $modelview$sink = 18720; label = 3; break; } case 5888: { - $modelview$sink = 18480; + $modelview$sink = 18784; label = 3; break; } @@ -14651,9 +14655,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4603] = $modelview$sink; + HEAP32[4679] = $modelview$sink; } - HEAP32[4636] = $0; + HEAP32[4712] = $0; return; } function _rlLoadIdentity() { @@ -14661,7 +14665,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4603]|0; + $1 = HEAP32[4679]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14682,7 +14686,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4603]|0; + $8 = HEAP32[4679]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14779,15 +14783,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(19752)>>2] = $0; + HEAP32[(20056)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(19760)>>2] = $1; - HEAP32[(19756)>>2] = 0; - HEAP32[(19764)>>2] = 0; + HEAP32[(20064)>>2] = $1; + HEAP32[(20060)>>2] = 0; + HEAP32[(20068)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(19760)>>2]|0; + $2 = HEAP32[(20064)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14798,19 +14802,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4935] = 0; - HEAP32[(19748)>>2] = 0; - HEAP32[(19744)>>2] = 0; + HEAP32[5011] = 0; + HEAP32[(20052)>>2] = 0; + HEAP32[(20048)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(19800)>>2] = $5; + HEAP32[(20104)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(19808)>>2] = $6; - HEAP32[(19804)>>2] = 0; - HEAP32[(19812)>>2] = 0; + HEAP32[(20112)>>2] = $6; + HEAP32[(20108)>>2] = 0; + HEAP32[(20116)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(19808)>>2]|0; + $7 = HEAP32[(20112)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14821,24 +14825,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4947] = 0; - HEAP32[(19796)>>2] = 0; - HEAP32[(19792)>>2] = 0; + HEAP32[5023] = 0; + HEAP32[(20100)>>2] = 0; + HEAP32[(20096)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(19848)>>2] = $10; + HEAP32[(20152)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(19852)>>2] = $11; + HEAP32[(20156)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(19856)>>2] = $12; + HEAP32[(20160)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(19860)>>2] = $13; - $14 = HEAP32[(19848)>>2]|0; + HEAP32[(20164)>>2] = $13; + $14 = HEAP32[(20152)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(19852)>>2]|0; + $15 = HEAP32[(20156)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(19856)>>2]|0; + $17 = HEAP32[(20160)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14849,7 +14853,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(19860)>>2]|0; + $16 = HEAP32[(20164)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14886,140 +14890,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4959] = 0; - HEAP32[(19840)>>2] = 0; - HEAP32[(19844)>>2] = 0; + HEAP32[5035] = 0; + HEAP32[(20144)>>2] = 0; + HEAP32[(20148)>>2] = 0; _TraceLog(0,6819,$vararg_buffer); - $20 = HEAP32[4637]|0; + $20 = HEAP32[4713]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4638]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(19768)); - $44 = HEAP32[4639]|0; - $45 = HEAP32[(19768)>>2]|0; + $43 = HEAP32[4714]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(20072)); + $44 = HEAP32[4715]|0; + $45 = HEAP32[(20072)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((19772)|0)); - $46 = HEAP32[(19772)>>2]|0; + _glGenBuffers(2,((20076)|0)); + $46 = HEAP32[(20076)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(19752)>>2]|0; + $47 = HEAP32[(20056)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(18640)>>2]|0; + $48 = HEAP32[(18944)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(18640)>>2]|0; + $49 = HEAP32[(18944)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((19776)|0)); - $50 = HEAP32[(19776)>>2]|0; + _glGenBuffers(2,((20080)|0)); + $50 = HEAP32[(20080)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(19760)>>2]|0; + $51 = HEAP32[(20064)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(18660)>>2]|0; + $52 = HEAP32[(18964)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(18660)>>2]|0; + $53 = HEAP32[(18964)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4637]|0; + $54 = HEAP32[4713]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(19772)>>2]|0; - $58 = HEAP32[(19776)>>2]|0; + $57 = HEAP32[(20076)>>2]|0; + $58 = HEAP32[(20080)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6957,$vararg_buffer3); } else { - $56 = HEAP32[(19768)>>2]|0; + $56 = HEAP32[(20072)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6892,$vararg_buffer1); } - $59 = HEAP32[4637]|0; + $59 = HEAP32[4713]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4638]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(19816)); - $62 = HEAP32[4639]|0; - $63 = HEAP32[(19816)>>2]|0; + $61 = HEAP32[4714]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(20120)); + $62 = HEAP32[4715]|0; + $63 = HEAP32[(20120)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((19820)|0)); - $64 = HEAP32[(19820)>>2]|0; + _glGenBuffers(1,((20124)|0)); + $64 = HEAP32[(20124)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(19800)>>2]|0; + $65 = HEAP32[(20104)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(18640)>>2]|0; + $66 = HEAP32[(18944)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(18640)>>2]|0; + $67 = HEAP32[(18944)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19824)|0)); - $68 = HEAP32[(19824)>>2]|0; + _glGenBuffers(1,((20128)|0)); + $68 = HEAP32[(20128)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(19808)>>2]|0; + $69 = HEAP32[(20112)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(18660)>>2]|0; + $70 = HEAP32[(18964)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(18660)>>2]|0; + $71 = HEAP32[(18964)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4637]|0; + $72 = HEAP32[4713]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(19820)>>2]|0; - $76 = HEAP32[(19824)>>2]|0; + $75 = HEAP32[(20124)>>2]|0; + $76 = HEAP32[(20128)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,7103,$vararg_buffer10); } else { - $74 = HEAP32[(19816)>>2]|0; + $74 = HEAP32[(20120)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,7034,$vararg_buffer7); } - $77 = HEAP32[4637]|0; + $77 = HEAP32[4713]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4638]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(19864)); - $80 = HEAP32[4639]|0; - $81 = HEAP32[(19864)>>2]|0; + $79 = HEAP32[4714]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(20168)); + $80 = HEAP32[4715]|0; + $81 = HEAP32[(20168)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((19868)|0)); - $82 = HEAP32[(19868)>>2]|0; + _glGenBuffers(1,((20172)|0)); + $82 = HEAP32[(20172)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(19848)>>2]|0; + $83 = HEAP32[(20152)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(18640)>>2]|0; + $84 = HEAP32[(18944)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(18640)>>2]|0; + $85 = HEAP32[(18944)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19872)|0)); - $86 = HEAP32[(19872)>>2]|0; + _glGenBuffers(1,((20176)|0)); + $86 = HEAP32[(20176)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(19852)>>2]|0; + $87 = HEAP32[(20156)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(18644)>>2]|0; + $88 = HEAP32[(18948)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(18644)>>2]|0; + $89 = HEAP32[(18948)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((19876)|0)); - $90 = HEAP32[(19876)>>2]|0; + _glGenBuffers(1,((20180)|0)); + $90 = HEAP32[(20180)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(19856)>>2]|0; + $91 = HEAP32[(20160)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(18660)>>2]|0; + $92 = HEAP32[(18964)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(18660)>>2]|0; + $93 = HEAP32[(18964)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((19880)|0)); - $94 = HEAP32[(19880)>>2]|0; + _glGenBuffers(1,((20184)|0)); + $94 = HEAP32[(20184)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(19860)>>2]|0; + $95 = HEAP32[(20164)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4637]|0; + $96 = HEAP32[4713]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(19868)>>2]|0; - $100 = HEAP32[(19872)>>2]|0; - $101 = HEAP32[(19876)>>2]|0; - $102 = HEAP32[(19880)>>2]|0; + $99 = HEAP32[(20172)>>2]|0; + $100 = HEAP32[(20176)>>2]|0; + $101 = HEAP32[(20180)>>2]|0; + $102 = HEAP32[(20184)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15029,16 +15033,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7249,$vararg_buffer17); } else { - $98 = HEAP32[(19864)>>2]|0; + $98 = HEAP32[(20168)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7184,$vararg_buffer14); } - $103 = HEAP32[4637]|0; + $103 = HEAP32[4713]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4639]|0; + $105 = HEAP32[4715]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15219,9 +15223,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21065 + ($0)|0); + $1 = (21369 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21068 + ($0)|0); + $3 = (21372 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15233,9 +15237,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21065 + ($0)|0); + $1 = (21369 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21068 + ($0)|0); + $3 = (21372 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15256,7 +15260,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4556]|0; + $0 = HEAP32[4632]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,9093,$vararg_buffer); @@ -15267,9 +15271,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[18264>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18264+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18264+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18264+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18264+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[18568>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18568+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18568+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18568+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18568+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(18292)>>2]|0; + $0 = HEAP32[(18596)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15280,11 +15284,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(18576|0)); - $0 = HEAP32[4644]|0; + _glDeleteTextures(1,(18880|0)); + $0 = HEAP32[4720]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9120,$vararg_buffer); - $1 = HEAP32[4674]|0; + $1 = HEAP32[4750]|0; _free($1); STACKTOP = sp;return; } @@ -15292,17 +15296,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4645]|0; + $0 = HEAP32[4721]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4637]|0; + $0 = HEAP32[4713]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4639]|0; + $2 = HEAP32[4715]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15311,39 +15315,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((19772)|0)); - _glDeleteBuffers(1,((19776)|0)); - _glDeleteBuffers(1,((19820)|0)); - _glDeleteBuffers(1,((19824)|0)); - _glDeleteBuffers(1,((19868)|0)); - _glDeleteBuffers(1,((19872)|0)); - _glDeleteBuffers(1,((19876)|0)); - _glDeleteBuffers(1,((19880)|0)); - $3 = HEAP32[4637]|0; + _glDeleteBuffers(1,((20076)|0)); + _glDeleteBuffers(1,((20080)|0)); + _glDeleteBuffers(1,((20124)|0)); + _glDeleteBuffers(1,((20128)|0)); + _glDeleteBuffers(1,((20172)|0)); + _glDeleteBuffers(1,((20176)|0)); + _glDeleteBuffers(1,((20180)|0)); + _glDeleteBuffers(1,((20184)|0)); + $3 = HEAP32[4713]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4640]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(19768)); - $6 = HEAP32[4640]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(19816)); - $7 = HEAP32[4640]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(19864)); + $5 = HEAP32[4716]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(20072)); + $6 = HEAP32[4716]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(20120)); + $7 = HEAP32[4716]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(20168)); } - $8 = HEAP32[(19752)>>2]|0; + $8 = HEAP32[(20056)>>2]|0; _free($8); - $9 = HEAP32[(19760)>>2]|0; + $9 = HEAP32[(20064)>>2]|0; _free($9); - $10 = HEAP32[(19800)>>2]|0; + $10 = HEAP32[(20104)>>2]|0; _free($10); - $11 = HEAP32[(19808)>>2]|0; + $11 = HEAP32[(20112)>>2]|0; _free($11); - $12 = HEAP32[(19848)>>2]|0; + $12 = HEAP32[(20152)>>2]|0; _free($12); - $13 = HEAP32[(19852)>>2]|0; + $13 = HEAP32[(20156)>>2]|0; _free($13); - $14 = HEAP32[(19856)>>2]|0; + $14 = HEAP32[(20160)>>2]|0; _free($14); - $15 = HEAP32[(19860)>>2]|0; + $15 = HEAP32[(20164)>>2]|0; _free($15); return; } @@ -15383,16 +15387,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2232] = $0; - $1 = +HEAPF64[2215]; + HEAPF64[2270] = $0; + $1 = +HEAPF64[2253]; $2 = $0 - $1; - HEAPF64[2233] = $2; - HEAPF64[2215] = $0; + HEAPF64[2271] = $2; + HEAPF64[2253] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=18320; 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)); + dest=$downscaleView$byval_copy; src=18624; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(19892); + _rlMultMatrixf(20196); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15401,53 +15405,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[4973] = $1; + HEAP32[5049] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(19896)>>2] = $3; + HEAP32[(20200)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(19900)>>2] = $5; + HEAP32[(20204)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(19904)>>2] = $7; + HEAP32[(20208)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(19908)>>2] = $9; + HEAP32[(20212)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(19912)>>2] = $11; + HEAP32[(20216)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(19916)>>2] = $13; + HEAP32[(20220)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(19920)>>2] = $15; + HEAP32[(20224)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(19924)>>2] = $17; + HEAP32[(20228)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(19928)>>2] = $19; + HEAP32[(20232)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(19932)>>2] = $21; + HEAP32[(20236)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19936)>>2] = $23; + HEAP32[(20240)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(19940)>>2] = $25; + HEAP32[(20244)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(19944)>>2] = $27; + HEAP32[(20248)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(19948)>>2] = $29; + HEAP32[(20252)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(19952)>>2] = $31; - return (19892|0); + HEAP32[(20256)>>2] = $31; + return (20196|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15522,7 +15526,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4603]|0; + $49 = HEAP32[4679]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15536,15 +15540,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2232] = $0; - $1 = +HEAPF64[2215]; + HEAPF64[2270] = $0; + $1 = +HEAPF64[2253]; $2 = $0 - $1; - HEAPF64[2234] = $2; - HEAPF64[2215] = $0; - $3 = +HEAPF64[2233]; + HEAPF64[2272] = $2; + HEAPF64[2253] = $0; + $3 = +HEAPF64[2271]; $4 = $2 + $3; - HEAPF64[2235] = $4; - $5 = +HEAPF64[2212]; + HEAPF64[2273] = $4; + $5 = +HEAPF64[2250]; $6 = $4 < $5; if (!($6)) { return; @@ -15554,13 +15558,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2232] = $10; - $11 = +HEAPF64[2215]; + HEAPF64[2270] = $10; + $11 = +HEAPF64[2253]; $12 = $10 - $11; - HEAPF64[2215] = $10; - $13 = +HEAPF64[2235]; + HEAPF64[2253] = $10; + $13 = +HEAPF64[2273]; $14 = $12 + $13; - HEAPF64[2235] = $14; + HEAPF64[2273] = $14; return; } function _rlglDraw() { @@ -15573,7 +15577,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4556]|0; + $0 = HEAP32[4632]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15589,20 +15593,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[751] = -1; HEAP32[753] = -1; - HEAP32[4989] = 0; - $3 = HEAP32[4556]|0; + HEAP32[5065] = 0; + $3 = HEAP32[4632]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4422] = $5; + HEAPF32[4498] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(17692)>>2] = $7; - _memcpy((21583|0),(21071|0),512)|0; - ;HEAP8[21068>>0]=HEAP8[21065>>0]|0;HEAP8[21068+1>>0]=HEAP8[21065+1>>0]|0;HEAP8[21068+2>>0]=HEAP8[21065+2>>0]|0; - $8 = HEAP32[4972]|0; - HEAP32[4559] = $8; - HEAP32[4972] = 0; + HEAPF32[(17996)>>2] = $7; + _memcpy((21887|0),(21375|0),512)|0; + ;HEAP8[21372>>0]=HEAP8[21369>>0]|0;HEAP8[21372+1>>0]=HEAP8[21369+1>>0]|0;HEAP8[21372+2>>0]=HEAP8[21369+2>>0]|0; + $8 = HEAP32[5048]|0; + HEAP32[4635] = $8; + HEAP32[5048] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15612,8 +15616,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (22095 + ($$05160<<5)|0); - $scevgep67 = (22223 + ($$05160<<5)|0); + $scevgep = (22399 + ($$05160<<5)|0); + $scevgep67 = (22527 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15627,7 +15631,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((22223 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((22527 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[753] = $$04857; @@ -15654,7 +15658,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((19960 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((20264 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15670,7 +15674,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4989] = $$lcssa; + HEAP32[5065] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15711,87 +15715,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4935]|0; + $0 = HEAP32[5011]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4637]|0; + $2 = HEAP32[4713]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4639]|0; - $5 = HEAP32[(19768)>>2]|0; + $4 = HEAP32[4715]|0; + $5 = HEAP32[(20072)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(19772)>>2]|0; + $6 = HEAP32[(20076)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4935]|0; + $7 = HEAP32[5011]|0; $8 = ($7*12)|0; - $9 = HEAP32[(19752)>>2]|0; + $9 = HEAP32[(20056)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(19776)>>2]|0; + $10 = HEAP32[(20080)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(19748)>>2]|0; + $11 = HEAP32[(20052)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(19760)>>2]|0; + $13 = HEAP32[(20064)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4947]|0; + $14 = HEAP32[5023]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4637]|0; + $16 = HEAP32[4713]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4639]|0; - $19 = HEAP32[(19816)>>2]|0; + $18 = HEAP32[4715]|0; + $19 = HEAP32[(20120)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(19820)>>2]|0; + $20 = HEAP32[(20124)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4947]|0; + $21 = HEAP32[5023]|0; $22 = ($21*12)|0; - $23 = HEAP32[(19800)>>2]|0; + $23 = HEAP32[(20104)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(19824)>>2]|0; + $24 = HEAP32[(20128)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(19796)>>2]|0; + $25 = HEAP32[(20100)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(19808)>>2]|0; + $27 = HEAP32[(20112)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4959]|0; + $28 = HEAP32[5035]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4637]|0; + $30 = HEAP32[4713]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4639]|0; - $33 = HEAP32[(19864)>>2]|0; + $32 = HEAP32[4715]|0; + $33 = HEAP32[(20168)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(19868)>>2]|0; + $34 = HEAP32[(20172)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4959]|0; + $35 = HEAP32[5035]|0; $36 = ($35*12)|0; - $37 = HEAP32[(19848)>>2]|0; + $37 = HEAP32[(20152)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(19872)>>2]|0; + $38 = HEAP32[(20176)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4959]|0; + $39 = HEAP32[5035]|0; $40 = $39 << 3; - $41 = HEAP32[(19852)>>2]|0; + $41 = HEAP32[(20156)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(19876)>>2]|0; + $42 = HEAP32[(20180)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4959]|0; + $43 = HEAP32[5035]|0; $44 = $43 << 2; - $45 = HEAP32[(19856)>>2]|0; + $45 = HEAP32[(20160)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4637]|0; + $46 = HEAP32[4713]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4639]|0; + $48 = HEAP32[4715]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15809,9 +15813,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=18416; 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)); - dest=$1; src=18480; 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)); - $3 = HEAP32[5022]|0; + dest=$0; src=18720; 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)); + dest=$1; src=18784; 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)); + $3 = HEAP32[5098]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15821,134 +15825,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4935]|0; + $8 = HEAP32[5011]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4947]|0; + $10 = HEAP32[5023]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4959]|0; + $12 = HEAP32[5035]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4659]|0; + $14 = HEAP32[4735]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=18480; 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)); - dest=$$byval_copy2; src=18416; 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)); + dest=$modelview$byval_copy; src=18784; 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)); + dest=$$byval_copy2; src=18720; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(18664)>>2]|0; + $15 = HEAP32[(18968)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(18668)>>2]|0; + $17 = HEAP32[(18972)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(18680)>>2]|0; + $18 = HEAP32[(18984)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4935]|0; + $19 = HEAP32[5011]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4644]|0; + $21 = HEAP32[4720]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4637]|0; + $22 = HEAP32[4713]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(19772)>>2]|0; + $26 = HEAP32[(20076)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(18640)>>2]|0; + $27 = HEAP32[(18944)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(18640)>>2]|0; + $28 = HEAP32[(18944)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(19776)>>2]|0; + $29 = HEAP32[(20080)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(18660)>>2]|0; + $30 = HEAP32[(18964)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(18660)>>2]|0; + $31 = HEAP32[(18964)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4639]|0; - $25 = HEAP32[(19768)>>2]|0; + $24 = HEAP32[4715]|0; + $25 = HEAP32[(20072)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4935]|0; + $32 = HEAP32[5011]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4637]|0; + $33 = HEAP32[4713]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4947]|0; + $35 = HEAP32[5023]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4644]|0; + $37 = HEAP32[4720]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4637]|0; + $38 = HEAP32[4713]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(19820)>>2]|0; + $42 = HEAP32[(20124)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(18640)>>2]|0; + $43 = HEAP32[(18944)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(18640)>>2]|0; + $44 = HEAP32[(18944)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(19824)>>2]|0; + $45 = HEAP32[(20128)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(18660)>>2]|0; + $46 = HEAP32[(18964)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(18660)>>2]|0; + $47 = HEAP32[(18964)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4639]|0; - $41 = HEAP32[(19816)>>2]|0; + $40 = HEAP32[4715]|0; + $41 = HEAP32[(20120)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4947]|0; + $48 = HEAP32[5023]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4637]|0; + $49 = HEAP32[4713]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4959]|0; + $51 = HEAP32[5035]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4637]|0; + $53 = HEAP32[4713]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(19868)>>2]|0; + $57 = HEAP32[(20172)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(18640)>>2]|0; + $58 = HEAP32[(18944)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(18640)>>2]|0; + $59 = HEAP32[(18944)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(19872)>>2]|0; + $60 = HEAP32[(20176)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(18644)>>2]|0; + $61 = HEAP32[(18948)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(18644)>>2]|0; + $62 = HEAP32[(18948)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(19876)>>2]|0; + $63 = HEAP32[(20180)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(18660)>>2]|0; + $64 = HEAP32[(18964)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(18660)>>2]|0; + $65 = HEAP32[(18964)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(19880)>>2]|0; + $66 = HEAP32[(20184)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4639]|0; - $56 = HEAP32[(19864)>>2]|0; + $55 = HEAP32[4715]|0; + $56 = HEAP32[(20168)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4675]|0; + $67 = HEAP32[4751]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4674]|0; + $71 = HEAP32[4750]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15959,14 +15963,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4674]|0; + $80 = HEAP32[4750]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4675]|0; + $87 = HEAP32[4751]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15975,7 +15979,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4637]|0; + $69 = HEAP32[4713]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15983,10 +15987,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4637]|0; + $89 = HEAP32[4713]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4639]|0; + $91 = HEAP32[4715]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15998,22 +16002,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4675] = 1; - $5 = HEAP32[4644]|0; - $6 = HEAP32[4674]|0; + HEAP32[4751] = 1; + $5 = HEAP32[4720]|0; + $6 = HEAP32[4750]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4935] = 0; - HEAP32[(19748)>>2] = 0; - HEAP32[4947] = 0; - HEAP32[(19796)>>2] = 0; - HEAP32[4959] = 0; - HEAP32[(19840)>>2] = 0; - HEAP32[(19844)>>2] = 0; + HEAP32[5011] = 0; + HEAP32[(20052)>>2] = 0; + HEAP32[5023] = 0; + HEAP32[(20100)>>2] = 0; + HEAP32[5035] = 0; + HEAP32[(20144)>>2] = 0; + HEAP32[(20148)>>2] = 0; HEAPF32[754] = -1.0; - dest=18416; src=$0; 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)); - dest=18480; src=$1; 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)); + dest=18720; src=$0; 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)); + dest=18784; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16028,17 +16032,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[4933]|0; + $5 = HEAP32[5009]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4934]|0; + $9 = HEAP32[5010]|0; _rlViewport($7,0,$8,$9); - $10 = (20320 + ($0<<6)|0); + $10 = (20624 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20192 + ($0<<6)|0); + $11 = (20496 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -16050,14 +16054,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=18480; src=$0; 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)); + dest=18784; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=18416; src=$0; 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)); + dest=18720; src=$0; 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)); return; } function _Begin3dMode($0) { @@ -16074,9 +16078,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4558]|0; + $2 = HEAP32[4634]|0; $3 = (+($2|0)); - $4 = HEAP32[4557]|0; + $4 = HEAP32[4633]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -16101,7 +16105,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; 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)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(19892); + _rlMultMatrixf(20196); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -16110,26 +16114,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5112]|0; + $0 = HEAP32[5188]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9235,$vararg_buffer); } - $2 = HEAP32[5112]|0; - $3 = (18708 + ($2<<6)|0); - $4 = HEAP32[4603]|0; + $2 = HEAP32[5188]|0; + $3 = (19012 + ($2<<6)|0); + $4 = HEAP32[4679]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[5112]|0; + $5 = HEAP32[5188]|0; $6 = (($5) + 1)|0; - HEAP32[5112] = $6; - $7 = HEAP32[4636]|0; + HEAP32[5188] = $6; + $7 = HEAP32[4712]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5113] = 1; + HEAP32[5189] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -16148,7 +16152,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4603]|0; + $8 = HEAP32[4679]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -16175,18 +16179,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5112]|0; + $0 = HEAP32[5188]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5112]|0; + $2 = HEAP32[5188]|0; $3 = (($2) + -1)|0; - $4 = (18708 + ($3<<6)|0); - $5 = HEAP32[4603]|0; + $4 = (19012 + ($3<<6)|0); + $5 = HEAP32[4679]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5112] = $6; + HEAP32[5188] = $6; return; } function _rlDisableDepthTest() { @@ -16206,7 +16210,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2235]; + $0 = +HEAPF64[2273]; $1 = $0; return (+$1); } @@ -16240,7 +16244,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4603]|0; + $5 = HEAP32[4679]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -16273,7 +16277,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4603]|0; + $11 = HEAP32[4679]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -16293,7 +16297,7 @@ function _rlScalef($0,$1,$2) { $4 = sp; _MatrixScale($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4603]|0; + $5 = HEAP32[4679]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -16304,7 +16308,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4676] = $0; + HEAP32[4752] = $0; return; } function _rlEnd() { @@ -16320,21 +16324,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5113]|0; + $0 = HEAP32[5189]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5114]|0; + $2 = HEAP32[5190]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4673]|0; + $6 = HEAP32[4749]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4603]|0; + $8 = HEAP32[4679]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5114]|0; + $5 = HEAP32[5190]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16342,12 +16346,12 @@ function _rlEnd() { break; } } - HEAP32[5113] = 0; + HEAP32[5189] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4673]|0; + $11 = HEAP32[4749]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16356,7 +16360,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5114]|0; + $19 = HEAP32[5190]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16366,15 +16370,15 @@ function _rlEnd() { } } } else { - HEAP32[5113] = 0; + HEAP32[5189] = 0; } - HEAP32[5114] = 0; + HEAP32[5190] = 0; } - $21 = HEAP32[4676]|0; + $21 = HEAP32[4752]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4935]|0; - $23 = HEAP32[(19748)>>2]|0; + $22 = HEAP32[5011]|0; + $23 = HEAP32[(20052)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[754]; @@ -16393,16 +16397,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(19760)>>2]|0; - $28 = HEAP32[(19748)>>2]|0; + $27 = HEAP32[(20064)>>2]|0; + $28 = HEAP32[(20052)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(19760)>>2]|0; - $35 = HEAP32[(19748)>>2]|0; + $34 = HEAP32[(20064)>>2]|0; + $35 = HEAP32[(20052)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16410,8 +16414,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(19760)>>2]|0; - $43 = HEAP32[(19748)>>2]|0; + $42 = HEAP32[(20064)>>2]|0; + $43 = HEAP32[(20052)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16419,8 +16423,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(19760)>>2]|0; - $51 = HEAP32[(19748)>>2]|0; + $50 = HEAP32[(20064)>>2]|0; + $51 = HEAP32[(20052)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16428,9 +16432,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(19748)>>2]|0; + $58 = HEAP32[(20052)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(19748)>>2] = $59; + HEAP32[(20052)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16446,8 +16450,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4947]|0; - $62 = HEAP32[(19796)>>2]|0; + $61 = HEAP32[5023]|0; + $62 = HEAP32[(20100)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[754]; @@ -16466,16 +16470,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(19808)>>2]|0; - $67 = HEAP32[(19796)>>2]|0; + $66 = HEAP32[(20112)>>2]|0; + $67 = HEAP32[(20100)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(19808)>>2]|0; - $74 = HEAP32[(19796)>>2]|0; + $73 = HEAP32[(20112)>>2]|0; + $74 = HEAP32[(20100)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16483,8 +16487,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(19808)>>2]|0; - $82 = HEAP32[(19796)>>2]|0; + $81 = HEAP32[(20112)>>2]|0; + $82 = HEAP32[(20100)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16492,8 +16496,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(19808)>>2]|0; - $90 = HEAP32[(19796)>>2]|0; + $89 = HEAP32[(20112)>>2]|0; + $90 = HEAP32[(20100)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16501,9 +16505,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(19796)>>2]|0; + $97 = HEAP32[(20100)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(19796)>>2] = $98; + HEAP32[(20100)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16519,8 +16523,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4959]|0; - $101 = HEAP32[(19844)>>2]|0; + $100 = HEAP32[5035]|0; + $101 = HEAP32[(20148)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16528,16 +16532,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(19856)>>2]|0; - $106 = HEAP32[(19844)>>2]|0; + $105 = HEAP32[(20160)>>2]|0; + $106 = HEAP32[(20148)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(19856)>>2]|0; - $113 = HEAP32[(19844)>>2]|0; + $112 = HEAP32[(20160)>>2]|0; + $113 = HEAP32[(20148)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16545,8 +16549,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(19856)>>2]|0; - $121 = HEAP32[(19844)>>2]|0; + $120 = HEAP32[(20160)>>2]|0; + $121 = HEAP32[(20148)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16554,8 +16558,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(19856)>>2]|0; - $129 = HEAP32[(19844)>>2]|0; + $128 = HEAP32[(20160)>>2]|0; + $129 = HEAP32[(20148)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16563,9 +16567,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(19844)>>2]|0; + $136 = HEAP32[(20148)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(19844)>>2] = $137; + HEAP32[(20148)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16576,8 +16580,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4959]|0; - $140 = HEAP32[(19840)>>2]|0; + $139 = HEAP32[5035]|0; + $140 = HEAP32[(20144)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[754]; @@ -16585,8 +16589,8 @@ function _rlEnd() { HEAPF32[754] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(19852)>>2]|0; - $$promoted = HEAP32[(19840)>>2]|0; + $142 = HEAP32[(20156)>>2]|0; + $$promoted = HEAP32[(20144)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16594,7 +16598,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(19840)>>2] = $147; + HEAP32[(20144)>>2] = $147; $148 = +HEAPF32[754]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[754] = $149; @@ -16621,11 +16625,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5113]|0; + $3 = HEAP32[5189]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4673]|0; - $6 = HEAP32[5114]|0; + $5 = HEAP32[4749]|0; + $6 = HEAP32[5190]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16633,16 +16637,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5114] = $10; + HEAP32[5190] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4676]|0; + $11 = HEAP32[4752]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4935]|0; + $12 = HEAP32[5011]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(19752)>>2]|0; + $14 = HEAP32[(20056)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16653,7 +16657,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4935] = $21; + HEAP32[5011] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9273,$vararg_buffer); @@ -16662,10 +16666,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4947]|0; + $22 = HEAP32[5023]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(19800)>>2]|0; + $24 = HEAP32[(20104)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16676,7 +16680,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4947] = $31; + HEAP32[5023] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9298,$vararg_buffer1); @@ -16685,10 +16689,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4959]|0; + $32 = HEAP32[5035]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(19848)>>2]|0; + $34 = HEAP32[(20152)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16699,9 +16703,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4959] = $41; - $42 = HEAP32[4674]|0; - $43 = HEAP32[4675]|0; + HEAP32[5035] = $41; + $42 = HEAP32[4750]|0; + $43 = HEAP32[4751]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16733,13 +16737,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4676]|0; + $2 = HEAP32[4752]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(19852)>>2]|0; - $5 = HEAP32[(19840)>>2]|0; + $4 = HEAP32[(20156)>>2]|0; + $5 = HEAP32[(20144)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16747,7 +16751,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(19840)>>2] = $10; + HEAP32[(20144)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16766,18 +16770,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4676]|0; + $4 = HEAP32[4752]|0; switch ($4|0) { case 1: { - $$sink37 = (19748);$$sink38 = (19760); + $$sink37 = (20052);$$sink38 = (20064); break; } case 4: { - $$sink37 = (19796);$$sink38 = (19808); + $$sink37 = (20100);$$sink38 = (20112); break; } case 7: { - $$sink37 = (19844);$$sink38 = (19856); + $$sink37 = (20148);$$sink38 = (20160); break; } default: { @@ -16831,8 +16835,8 @@ function _rlEnableTexture($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 = HEAP32[4674]|0; - $2 = HEAP32[4675]|0; + $1 = HEAP32[4750]|0; + $2 = HEAP32[4751]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16845,9 +16849,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4675] = $10; + HEAP32[4751] = $10; } - $11 = HEAP32[4675]|0; + $11 = HEAP32[4751]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16858,7 +16862,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4959]|0; + $0 = HEAP32[5035]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16874,14 +16878,14 @@ function _rlDeleteVertexArrays($0) { $vararg_buffer = sp; $1 = sp + 4|0; HEAP32[$1>>2] = $0; - $2 = HEAP32[4637]|0; + $2 = HEAP32[4713]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = ($0|0)==(0); if (!($4)) { - $5 = HEAP32[4640]|0; + $5 = HEAP32[4716]|0; FUNCTION_TABLE_vii[$5 & 63](1,$1); } $6 = HEAP32[$1>>2]|0; @@ -16902,7 +16906,7 @@ function _rlDeleteBuffers($0) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4637]|0; + $3 = HEAP32[4713]|0; $4 = ($3|0)==(0); if (!($4)) { STACKTOP = sp;return; @@ -16940,12 +16944,12 @@ function _rlglLoadMesh($0,$1) { ;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; HEAP32[$2>>2] = 0; ;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;HEAP32[$3+24>>2]=0|0; - $13 = HEAP32[4637]|0; + $13 = HEAP32[4713]|0; $14 = ($13|0)==(0); if (!($14)) { - $15 = HEAP32[4638]|0; + $15 = HEAP32[4714]|0; FUNCTION_TABLE_vii[$15 & 63](1,$2); - $16 = HEAP32[4639]|0; + $16 = HEAP32[4715]|0; $17 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$16 & 31]($17); } @@ -17075,7 +17079,7 @@ function _rlglLoadMesh($0,$1) { $80 = ((($3)) + 24|0); $81 = HEAP32[$80>>2]|0; HEAP32[$11>>2] = $81; - $82 = HEAP32[4637]|0; + $82 = HEAP32[4713]|0; $83 = ($82|0)==(0); if ($83) { _TraceLog(0,9549,$vararg_buffer3); @@ -17180,13 +17184,13 @@ function _rlglDrawMesh($0,$1,$2) { $63 = $62 / 255.0; _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); } - dest=$3; src=18480; 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)); - dest=$4; src=18416; 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)); + dest=$3; src=18784; 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)); + dest=$4; src=18720; 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)); dest=$modelview$byval_copy4; 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)); - dest=$$byval_copy5; src=18480; 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)); + dest=$$byval_copy5; src=18784; 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)); _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[4645]|0; + $65 = HEAP32[4721]|0; $66 = ($64|0)==($65|0); if (!($66)) { $67 = (_glGetUniformLocation(($64|0),(9597|0))|0); @@ -17262,7 +17266,7 @@ function _rlglDrawMesh($0,$1,$2) { _glUniform1i(($106|0),2); } } - $107 = HEAP32[4637]|0; + $107 = HEAP32[4713]|0; $108 = ($107|0)==(0); if ($108) { $112 = ((($0)) + 40|0); @@ -17342,16 +17346,16 @@ function _rlglDrawMesh($0,$1,$2) { $151 = HEAP32[$150>>2]|0; $152 = ($151|0)==(0|0); if (!($152)) { - $153 = HEAP32[(19880)>>2]|0; + $153 = HEAP32[(20184)>>2]|0; _glBindBuffer(34963,($153|0)); } } else { - $109 = HEAP32[4639]|0; + $109 = HEAP32[4715]|0; $110 = ((($0)) + 36|0); $111 = HEAP32[$110>>2]|0; FUNCTION_TABLE_vi[$109 & 31]($111); } - $154 = HEAP32[5022]|0; + $154 = HEAP32[5098]|0; $155 = ($154|0)!=(0); $$ = $155 ? 2 : 1; $156 = ((($1)) + 28|0); @@ -17365,10 +17369,10 @@ function _rlglDrawMesh($0,$1,$2) { dest=$$byval_copy5; src=$5; 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)); _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); } else { - dest=18480; src=$5; 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)); + dest=18784; src=$5; 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)); } - dest=$modelview$byval_copy4; src=18480; 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)); - dest=$$byval_copy5; src=18416; 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)); + dest=$modelview$byval_copy4; src=18784; 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)); + dest=$$byval_copy5; src=18720; 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)); _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); $162 = HEAP32[$156>>2]|0; dest=$$byval_copy5; src=$6; 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)); @@ -17405,14 +17409,14 @@ function _rlglDrawMesh($0,$1,$2) { } _glActiveTexture(33984); _glBindTexture(3553,0); - $172 = HEAP32[4637]|0; + $172 = HEAP32[4713]|0; $173 = ($172|0)==(0); if (!($173)) { - $174 = HEAP32[4639]|0; + $174 = HEAP32[4715]|0; FUNCTION_TABLE_vi[$174 & 31](0); _glUseProgram(0); - dest=18416; src=$4; 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)); - dest=18480; src=$3; 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)); + dest=18720; src=$4; 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)); + dest=18784; src=$3; 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)); STACKTOP = sp;return; } _glBindBuffer(34962,0); @@ -17421,14 +17425,14 @@ function _rlglDrawMesh($0,$1,$2) { $177 = ($176|0)==(0|0); if ($177) { _glUseProgram(0); - dest=18416; src=$4; 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)); - dest=18480; src=$3; 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)); + dest=18720; src=$4; 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)); + dest=18784; src=$3; 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)); STACKTOP = sp;return; } _glBindBuffer(34963,0); _glUseProgram(0); - dest=18416; src=$4; 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)); - dest=18480; src=$3; 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)); + dest=18720; src=$4; 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)); + dest=18784; src=$3; 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)); STACKTOP = sp;return; } function _rlglUnloadMesh($0) { @@ -17508,7 +17512,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4644]|0; + $1 = HEAP32[4720]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -17524,43 +17528,14 @@ function _GetDefaultShader($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=$0; src=18580; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$0; src=18884; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9650); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10983)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5115] = $0; + HEAP32[5191] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -17624,7 +17599,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9662|0),(9688|0),1125,(9711|0)); + ___assert_fail((9650|0),(9676|0),1041,(9699|0)); // unreachable; } } @@ -17642,7 +17617,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5116]|0; + $15 = HEAP32[5192]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -17735,7 +17710,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9752); + _stbi__err(9740); $$0 = 0; return ($$0|0); } else { @@ -17757,7 +17732,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9743); + _stbi__err(9731); $$0 = 0; return ($$0|0); } @@ -17827,7 +17802,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9771); + _stbi__err(9759); $$045 = 0; return ($$045|0); } @@ -18388,7 +18363,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (10087 + ($120)|0); + $121 = (10075 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -18430,97 +18405,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9861); + _stbi__err(9849); $$6$ph = 0; break; } case 9: { - _stbi__err(9875); + _stbi__err(9863); $$6$ph = 0; break; } case 11: { - _stbi__err(9888); + _stbi__err(9876); $$6$ph = 0; break; } case 13: { - _stbi__err(9888); + _stbi__err(9876); $$6$ph = 0; break; } case 15: { - _stbi__err(9898); + _stbi__err(9886); $$6$ph = 0; break; } case 17: { - _stbi__err(9918); + _stbi__err(9906); $$6$ph = 0; break; } case 20: { - _stbi__err(9918); + _stbi__err(9906); $$6$ph = 0; break; } case 22: { - _stbi__err(9918); + _stbi__err(9906); $$6$ph = 0; break; } case 24: { - _stbi__err(9928); + _stbi__err(9916); $$6$ph = 0; break; } case 26: { - _stbi__err(9944); + _stbi__err(9932); $$6$ph = 0; break; } case 28: { - _stbi__err(9962); + _stbi__err(9950); $$6$ph = 0; break; } case 31: { - _stbi__err(9983); + _stbi__err(9971); $$6$ph = 0; break; } case 34: { - _stbi__err(9888); + _stbi__err(9876); $$6$ph = 0; break; } case 37: { - _stbi__err(9888); + _stbi__err(9876); $$6$ph = 0; break; } case 39: { - _stbi__err(9997); + _stbi__err(9985); $$6$ph = 0; break; } case 41: { - _stbi__err(10012); + _stbi__err(10000); $$6$ph = 0; break; } case 44: { - _stbi__err(10012); + _stbi__err(10000); $$6$ph = 0; break; } case 47: { - _stbi__err(9997); + _stbi__err(9985); $$6$ph = 0; break; } case 49: { - _stbi__err(10025); + _stbi__err(10013); $$6$ph = 0; break; } @@ -18531,32 +18506,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(10041); + _stbi__err(10029); $$6$ph = 0; break; } case 58: { - _stbi__err(10058); + _stbi__err(10046); $$6$ph = 0; break; } case 61: { - _stbi__err(10071); + _stbi__err(10059); $$6$ph = 0; break; } case 63: { - _stbi__err(10058); + _stbi__err(10046); $$6$ph = 0; break; } case 70: { - _stbi__err(9997); + _stbi__err(9985); $$6$ph = 0; break; } case 72: { - _stbi__err(10096); + _stbi__err(10084); $$6$ph = 0; break; } @@ -18568,12 +18543,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9743); + _stbi__err(9731); $$6$ph = 0; break; } case 83: { - _stbi__err(10104); + _stbi__err(10092); $$6$ph = 0; break; } @@ -18586,7 +18561,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(10114); + _stbi__err(10102); $$4 = 0; break; } @@ -18651,7 +18626,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5117]|0; + $193 = HEAP32[5193]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -18684,7 +18659,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9997); + _stbi__err(9985); $$4 = 0; } } while(0); @@ -18692,24 +18667,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9997); + _stbi__err(9985); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[10122] = $206; + HEAP8[10110] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(10123)>>0] = $209; + HEAP8[(10111)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(10124)>>0] = $211; + HEAP8[(10112)>>0] = $211; $212 = $207&255; - HEAP8[(10125)>>0] = $212; - _stbi__err(10122); + HEAP8[(10113)>>0] = $212; + _stbi__err(10110); $$6$ph = 0; break; } @@ -18743,14 +18718,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9784|0),(9688|0),1561,(9840|0)); + ___assert_fail((9772|0),(9676|0),1477,(9828|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9743); + _stbi__err(9731); $$0163 = 0; return ($$0163|0); } @@ -19113,7 +19088,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9838|0),(9688|0),1590,(9840|0)); + ___assert_fail((9826|0),(9676|0),1506,(9828|0)); // unreachable; } } while(0); @@ -19147,7 +19122,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9784|0),(9688|0),1610,(9815|0)); + ___assert_fail((9772|0),(9676|0),1526,(9803|0)); // unreachable; } $7 = $2 << 1; @@ -19157,7 +19132,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9743); + _stbi__err(9731); $$0163 = 0; return ($$0163|0); } @@ -19520,7 +19495,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9838|0),(9688|0),1639,(9815|0)); + ___assert_fail((9826|0),(9676|0),1555,(9803|0)); // unreachable; } } while(0); @@ -19668,7 +19643,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10779); + _stbi__err(11087); $$05 = 0; return ($$05|0); } @@ -20105,7 +20080,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10181|0),(9688|0),4568,(10233|0)); + ___assert_fail((10169|0),(9676|0),4569,(10221|0)); // unreachable; } } @@ -20192,7 +20167,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10181|0),(9688|0),4543,(10206|0)); + ___assert_fail((10169|0),(9676|0),4544,(10194|0)); // unreachable; } } @@ -20239,7 +20214,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5118]|0; + $16 = HEAP32[5194]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -20314,7 +20289,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((10147|0),(9688|0),4649,(10165|0)); + ___assert_fail((10135|0),(9676|0),4650,(10153|0)); // unreachable; } } @@ -20337,7 +20312,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9743); + _stbi__err(9731); $$0 = 0; return ($$0|0); } @@ -20514,7 +20489,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10262|0),(9688|0),4294,(10303|0)); + ___assert_fail((10250|0),(9676|0),4294,(10291|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -20522,7 +20497,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9743); + _stbi__err(9731); $$2 = 0; return ($$2|0); } @@ -20541,7 +20516,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10330); + _stbi__err(10318); $$2 = 0; return ($$2|0); } @@ -20554,7 +20529,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10330); + _stbi__err(10318); $$2 = 0; return ($$2|0); } @@ -20562,12 +20537,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -20590,33 +20565,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10369 + ($56)|0); + $60 = (10357 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -20626,24 +20601,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -20653,10 +20628,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -20667,10 +20642,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -20681,14 +20656,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -20718,7 +20693,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -20733,12 +20708,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -21315,15 +21290,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10348|0),(9688|0),4315,(10303|0)); + ___assert_fail((10336|0),(9676|0),4315,(10291|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10374|0),(9688|0),4376,(10303|0)); + ___assert_fail((10362|0),(9676|0),4377,(10291|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10391); + _stbi__err(10379); $$2 = 0; return ($$2|0); } @@ -21373,7 +21348,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (10087 + ($6)|0); + $336 = (10075 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -21814,7 +21789,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10406|0),(9688|0),4465,(10303|0)); + ___assert_fail((10394|0),(9676|0),4466,(10291|0)); // unreachable; } else if ((label|0) == 151) { @@ -21874,8 +21849,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -21890,15 +21865,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -21907,65 +21882,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(22382)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10405,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,22383,288)|0); + $15 = (_stbi__zbuild_huffman($8,10693,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,22351,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -21984,14 +21954,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10732); + _stbi__err(11040); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10748); + _stbi__err(11056); $$0 = 0; return ($$0|0); } @@ -22000,7 +21970,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10763); + _stbi__err(11071); $$0 = 0; return ($$0|0); } @@ -22083,7 +22053,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10654|0),(9688|0),4048,(10671|0)); + ___assert_fail((10962|0),(9676|0),4033,(10979|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -22120,7 +22090,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10702); + _stbi__err(11010); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -22130,7 +22100,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10715); + _stbi__err(11023); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -22160,21 +22130,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((22383|0),8,144)|0; - dest=(22527); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(22639); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (22663); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=22351; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -22308,7 +22263,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10592); + _stbi__err(10900); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22397,7 +22352,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10644); + _stbi__err(10952); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22426,7 +22381,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11438 + ($$06579)|0); + $14 = (11746 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -22517,21 +22472,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10592); + _stbi__err(10900); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10592); + _stbi__err(10900); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10608|0),(9688|0),4021,(10616|0)); + ___assert_fail((10916|0),(9676|0),4006,(10924|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10592); + _stbi__err(10900); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22541,7 +22496,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10592); + _stbi__err(10900); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22705,7 +22660,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10417); + _stbi__err(10725); $$3$ph = 0; return ($$3$ph|0); } @@ -22715,12 +22670,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10417); + _stbi__err(10725); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10434); + _stbi__err(10742); $$3$ph = 0; return ($$3$ph|0); } @@ -22777,7 +22732,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10443); + _stbi__err(10751); $$0 = 0; return ($$0|0); } @@ -22803,7 +22758,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9743); + _stbi__err(9731); $$0 = 0; return ($$0|0); } else { @@ -22848,7 +22803,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10539|0),(9688|0),3863,(10576|0)); + ___assert_fail((10847|0),(9676|0),3848,(10884|0)); // unreachable; } else if ((label|0) == 5) { @@ -22896,7 +22851,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10463|0),(9688|0),3891,(10479|0)); + ___assert_fail((10771|0),(9676|0),3876,(10787|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -22924,7 +22879,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10510|0),(9688|0),3781,(10521|0)); + ___assert_fail((10818|0),(9676|0),3766,(10829|0)); // unreachable; } return (0)|0; @@ -23070,10 +23025,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -23084,27 +23039,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10791)|0); + $6 = (_IsFileExtension($1,11099)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10844)|0); + $19 = (_IsFileExtension($1,11152)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10849,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,11157,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,11291)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -23132,7 +23088,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -23149,18 +23105,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10797,$vararg_buffer); + _TraceLog(2,11105,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -23169,34 +23125,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10885,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,11193,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10924,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11232,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -23215,11 +23178,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10983)|0); + $4 = (_fopen($0,11291)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10986,$vararg_buffer); + _TraceLog(2,11294,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -23318,7 +23281,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,11083,$vararg_buffer4); + _TraceLog(0,11391,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -23353,14 +23316,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11129,$vararg_buffer8); + _TraceLog(2,11437,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,11037,$vararg_buffer1); + _TraceLog(2,11345,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -23450,7 +23413,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10955,$vararg_buffer); + _TraceLog(2,11263,$vararg_buffer); $$0 = $6; } } @@ -23495,27 +23458,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11179,$vararg_buffer); + _TraceLog(2,11487,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11218,$vararg_buffer1); + _TraceLog(2,11526,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11244,$vararg_buffer3); + _TraceLog(2,11552,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11307,$vararg_buffer5); + _TraceLog(2,11615,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11342,$vararg_buffer7); + _TraceLog(2,11650,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11377,$vararg_buffer10); + _TraceLog(0,11685,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -24698,7 +24661,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11434 + ($$361133)|0); + $199 = (11742 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -25128,7 +25091,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11434 + ($$331130)|0); + $186 = (11742 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -25166,7 +25129,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11434 + ($$371134)|0); + $203 = (11742 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -25205,7 +25168,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11438 + ($$421139)|0); + $235 = (11746 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -25612,7 +25575,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11457 + ($495)|0); + $496 = (11765 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -25649,7 +25612,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11461 + ($515)|0); + $516 = (11769 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -26561,7 +26524,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,11465,$vararg_buffer); + _TraceLog(2,11773,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -26582,7 +26545,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[18264>>2]|0;HEAP32[$0+4>>2]=HEAP32[18264+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18264+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18264+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18264+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18264+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18264+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18264+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[18568>>2]|0;HEAP32[$0+4>>2]=HEAP32[18568+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18568+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18568+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18568+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18568+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18568+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18568+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -26964,8 +26927,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(22671,$0,$1)|0); - STACKTOP = sp;return (22671|0); + (_vsprintf(22655,$0,$1)|0); + STACKTOP = sp;return (22655|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -26975,7 +26938,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[5119]|0; + $3 = HEAP32[5195]|0; $4 = HEAP32[915]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -26983,14 +26946,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[5120] = $7; + HEAP32[5196] = $7; HEAP32[915] = $7; $$sink = 0; } - HEAP32[5119] = $$sink; - $8 = HEAP32[5120]|0; + HEAP32[5195] = $$sink; + $8 = HEAP32[5196]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(11494,$$byval_copy)|0); + (_FormatText(11802,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -26999,7 +26962,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(22671,$0,$1,20,$$byval_copy); + _DrawText(22655,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _DrawGrid($0,$1) { @@ -27089,7 +27052,7 @@ function _LoadMesh($0,$1) { $2 = sp + 72|0; $3 = sp + 4|0; dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (_IsFileExtension($1,11502)|0); + $4 = (_IsFileExtension($1,11810)|0); $5 = ($4|0)==(0); if (!($5)) { _LoadOBJ($3,$1); @@ -27098,7 +27061,7 @@ function _LoadMesh($0,$1) { $6 = HEAP32[$2>>2]|0; $7 = ($6|0)==(0); if ($7) { - _TraceLog(2,11507,$vararg_buffer); + _TraceLog(2,11815,$vararg_buffer); } else { _rlglLoadMesh($2,0); } @@ -27171,11 +27134,11 @@ function _LoadOBJ($0,$1) { $13 = sp + 344|0; $14 = sp + 332|0; dest=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $15 = (_fopen($1,11532)|0); + $15 = (_fopen($1,11840)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11535,$vararg_buffer); + _TraceLog(2,11843,$vararg_buffer); $$sroa$75$0$$sroa_idx = ((($0)) + 32|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;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; dest=$$sroa$75$0$$sroa_idx; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -27195,7 +27158,7 @@ function _LoadOBJ($0,$1) { L12: while(1) { L14: while(1) { HEAP32[$vararg_buffer1>>2] = $2; - (_fscanf($15,11569,$vararg_buffer1)|0); + (_fscanf($15,11877,$vararg_buffer1)|0); $19 = HEAP8[$2>>0]|0; $20 = $19 << 24 >> 24; switch ($20|0) { @@ -27222,7 +27185,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer4>>2] = $2; - (_fscanf($15,11569,$vararg_buffer4)|0); + (_fscanf($15,11877,$vararg_buffer4)|0); $23 = HEAP8[$2>>0]|0; switch ($23<<24>>24) { case 116: { @@ -27287,19 +27250,19 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $$0$ph379$lcssa386; - _TraceLog(3,11572,$vararg_buffer7); + _TraceLog(3,11880,$vararg_buffer7); HEAP32[$vararg_buffer11>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr14>>2] = $$0345$ph372$lcssa389; - _TraceLog(3,11600,$vararg_buffer11); + _TraceLog(3,11908,$vararg_buffer11); HEAP32[$$byval_copy102>>2] = $1; $vararg_ptr18 = ((($$byval_copy102)) + 4|0); HEAP32[$vararg_ptr18>>2] = $$0344$ph376$lcssa388; - _TraceLog(3,11629,$$byval_copy102); + _TraceLog(3,11937,$$byval_copy102); HEAP32[$$byval_copy103>>2] = $1; $vararg_ptr22 = ((($$byval_copy103)) + 4|0); HEAP32[$vararg_ptr22>>2] = $$0346$ph$lcssa; - _TraceLog(3,11656,$$byval_copy103); + _TraceLog(3,11964,$$byval_copy103); $36 = ($$0$ph379$lcssa386*12)|0; $37 = (_malloc($36)|0); $38 = ($$0344$ph376$lcssa388|0)>(0); @@ -27331,7 +27294,7 @@ function _LoadOBJ($0,$1) { L36: while(1) { L38: while(1) { HEAP32[$vararg_buffer23>>2] = $2; - (_fscanf($15,11569,$vararg_buffer23)|0); + (_fscanf($15,11877,$vararg_buffer23)|0); $46 = HEAP8[$2>>0]|0; $47 = $46 << 24 >> 24; switch ($47|0) { @@ -27353,7 +27316,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer26>>2] = $2; - (_fscanf($15,11569,$vararg_buffer26)|0); + (_fscanf($15,11877,$vararg_buffer26)|0); $50 = HEAP8[$2>>0]|0; switch ($50<<24>>24) { case 110: { @@ -27372,10 +27335,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer29>>2] = $51; $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); HEAP32[$vararg_ptr32>>2] = $52; - (_fscanf($15,11685,$vararg_buffer29)|0); + (_fscanf($15,11993,$vararg_buffer29)|0); $53 = (($$0353$ph367397) + 1)|0; HEAP32[$vararg_buffer33>>2] = $2; - (_fscanf($15,11569,$vararg_buffer33)|0); + (_fscanf($15,11877,$vararg_buffer33)|0); $54 = (_feof($15)|0); $55 = ($54|0)==(0); if ($55) { @@ -27392,10 +27355,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr39>>2] = $57; $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); HEAP32[$vararg_ptr40>>2] = $58; - (_fscanf($15,11699,$vararg_buffer36)|0); + (_fscanf($15,12007,$vararg_buffer36)|0); $59 = (($$0354$ph364398) + 1)|0; HEAP32[$vararg_buffer41>>2] = $2; - (_fscanf($15,11569,$vararg_buffer41)|0); + (_fscanf($15,11877,$vararg_buffer41)|0); $60 = (_feof($15)|0); $61 = ($60|0)==(0); if ($61) { @@ -27412,10 +27375,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr47>>2] = $63; $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); HEAP32[$vararg_ptr48>>2] = $64; - (_fscanf($15,11699,$vararg_buffer44)|0); + (_fscanf($15,12007,$vararg_buffer44)|0); $65 = (($$0355$ph400) + 1)|0; HEAP32[$vararg_buffer49>>2] = $2; - (_fscanf($15,11569,$vararg_buffer49)|0); + (_fscanf($15,11877,$vararg_buffer49)|0); $66 = (_feof($15)|0); $67 = ($66|0)==(0); if ($67) { @@ -27438,7 +27401,7 @@ function _LoadOBJ($0,$1) { $76 = ($$0344$ph376$lcssa388|0)==(0); if ($76) { HEAP32[$vararg_buffer52>>2] = $1; - _TraceLog(0,11708,$vararg_buffer52); + _TraceLog(0,12016,$vararg_buffer52); } $77 = ($$0345$ph372$lcssa389|0)==(0); $78 = $$0344$ph376$lcssa388 | $$0345$ph372$lcssa389; @@ -27478,7 +27441,7 @@ function _LoadOBJ($0,$1) { } L55: while(1) { HEAP32[$vararg_buffer55>>2] = $2; - (_fscanf($15,11569,$vararg_buffer55)|0); + (_fscanf($15,11877,$vararg_buffer55)|0); $106 = HEAP8[$2>>0]|0; $107 = $106 << 24 >> 24; switch ($107|0) { @@ -27506,7 +27469,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr61>>2] = $80; $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); HEAP32[$vararg_ptr62>>2] = $81; - (_fscanf($15,11779,$vararg_buffer58)|0); + (_fscanf($15,12087,$vararg_buffer58)|0); } else { if ($76) { HEAP32[$vararg_buffer63>>2] = $vararg_buffer11; @@ -27520,7 +27483,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr69>>2] = $90; $vararg_ptr70 = ((($vararg_buffer63)) + 20|0); HEAP32[$vararg_ptr70>>2] = $91; - (_fscanf($15,11788,$vararg_buffer63)|0); + (_fscanf($15,12096,$vararg_buffer63)|0); break; } if ($77) { @@ -27535,7 +27498,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr77>>2] = $94; $vararg_ptr78 = ((($vararg_buffer71)) + 20|0); HEAP32[$vararg_ptr78>>2] = $95; - (_fscanf($15,11806,$vararg_buffer71)|0); + (_fscanf($15,12114,$vararg_buffer71)|0); break; } else { HEAP32[$vararg_buffer79>>2] = $vararg_buffer11; @@ -27555,7 +27518,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr88>>2] = $100; $vararg_ptr89 = ((($vararg_buffer79)) + 32|0); HEAP32[$vararg_ptr89>>2] = $101; - (_fscanf($15,11827,$vararg_buffer79)|0); + (_fscanf($15,12135,$vararg_buffer79)|0); break; } } @@ -27935,7 +27898,7 @@ function _LoadOBJ($0,$1) { _free($369); _free($370); HEAP32[$vararg_buffer90>>2] = $1; - _TraceLog(0,11854,$vararg_buffer90); + _TraceLog(0,12162,$vararg_buffer90); HEAP32[$0>>2] = $68; $$sroa$12$0$$sroa_idx244 = ((($0)) + 4|0); HEAP32[$$sroa$12$0$$sroa_idx244>>2] = 0; @@ -28014,7 +27977,7 @@ function _UnloadModel($0) { $1 = ((($0)) + 132|0); _memcpy(($$byval_copy|0),($1|0),132)|0; _UnloadMaterial($$byval_copy); - _TraceLog(0,11898,$vararg_buffer); + _TraceLog(0,12206,$vararg_buffer); STACKTOP = sp;return; } function _UnloadMaterial($0) { @@ -28159,7 +28122,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11956)|0); + $12 = (_strstr($11,12264)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -28168,7 +28131,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11960)|0); + $17 = (_strstr($16,12268)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -28177,7 +28140,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11964)|0); + $22 = (_strstr($21,12272)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -28186,7 +28149,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11968)|0); + $27 = (_strstr($26,12276)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -28195,1210 +28158,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11974)|0); + $32 = (_strcmp($31,12282)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,12012)|0); + $35 = (_strcmp($34,12320)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 12031; + HEAP32[$3>>2] = 12339; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,12044)|0); + $38 = (_strcmp($37,12352)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 12065; + HEAP32[$3>>2] = 12373; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12080)|0); + $41 = (_strcmp($40,12388)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 12095; + HEAP32[$3>>2] = 12403; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12110)|0); + $44 = (_strcmp($43,12418)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 12125; + HEAP32[$3>>2] = 12433; } } else { - HEAP32[$3>>2] = 11996; + HEAP32[$3>>2] = 12304; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12140)|0); + $47 = (_strcmp($46,12448)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12154)|0); + $50 = (_strcmp($49,12462)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12166)|0); + $53 = (_strcmp($52,12474)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12180)|0); + $56 = (_strcmp($55,12488)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12192)|0); + $59 = (_strcmp($58,12500)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12206)|0); + $62 = (_strcmp($61,12514)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12220)|0); + $65 = (_strcmp($64,12528)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12237)|0); + $68 = (_strcmp($67,12545)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12260)|0); + $71 = (_strcmp($70,12568)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12286)|0); + $74 = (_strcmp($73,12594)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12299)|0); + $77 = (_strcmp($76,12607)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12315)|0); + $80 = (_strcmp($79,12623)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12328)|0); + $83 = (_strcmp($82,12636)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12342)|0); + $86 = (_strcmp($85,12650)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12362)|0); + $89 = (_strcmp($88,12670)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12382)|0); + $92 = (_strcmp($91,12690)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12399)|0); + $95 = (_strcmp($94,12707)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12416)|0); + $98 = (_strcmp($97,12724)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12428)|0); + $101 = (_strcmp($100,12736)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12441)|0); + $104 = (_strcmp($103,12749)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12457)|0); + $107 = (_strcmp($106,12765)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12480)|0); + $110 = (_strcmp($109,12788)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12493)|0); + $113 = (_strcmp($112,12801)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12509)|0); + $116 = (_strcmp($115,12817)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12520)|0); + $119 = (_strcmp($118,12828)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12539)|0); + $122 = (_strcmp($121,12847)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12561)|0); + $125 = (_strcmp($124,12869)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12580)|0); + $128 = (_strcmp($127,12888)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12609)|0); + $131 = (_strcmp($130,12917)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12626)|0); + $134 = (_strcmp($133,12934)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12641)|0); + $137 = (_strcmp($136,12949)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12656)|0); + $140 = (_strcmp($139,12964)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12677)|0); + $143 = (_strcmp($142,12985)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12697)|0); + $146 = (_strcmp($145,13005)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12717)|0); + $149 = (_strcmp($148,13025)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12743)|0); + $152 = (_strcmp($151,13051)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12762)|0); + $155 = (_strcmp($154,13070)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12774)|0); + $158 = (_strcmp($157,13082)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12786)|0); + $161 = (_strcmp($160,13094)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12798)|0); + $164 = (_strcmp($163,13106)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12810)|0); + $167 = (_strcmp($166,13118)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12822)|0); + $170 = (_strcmp($169,13130)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,12834)|0); + $173 = (_strcmp($172,13142)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,12846)|0); + $176 = (_strcmp($175,13154)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,12858)|0); + $179 = (_strcmp($178,13166)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,12871)|0); + $182 = (_strcmp($181,13179)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,12884)|0); + $185 = (_strcmp($184,13192)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,12897)|0); + $188 = (_strcmp($187,13205)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,12910)|0); + $191 = (_strcmp($190,13218)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,12923)|0); + $194 = (_strcmp($193,13231)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,12936)|0); + $197 = (_strcmp($196,13244)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12949)|0); + $200 = (_strcmp($199,13257)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12962)|0); + $203 = (_strcmp($202,13270)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12981)|0); + $206 = (_strcmp($205,13289)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,13000)|0); + $209 = (_strcmp($208,13308)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,13019)|0); + $212 = (_strcmp($211,13327)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,13032)|0); + $215 = (_strcmp($214,13340)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,13050)|0); + $218 = (_strcmp($217,13358)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13068)|0); + $221 = (_strcmp($220,13376)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13086)|0); + $224 = (_strcmp($223,13394)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13104)|0); + $227 = (_strcmp($226,13412)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13124)|0); + $230 = (_strcmp($229,13432)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12065)|0); + $233 = (_strcmp($232,12373)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13142)|0); + $236 = (_strcmp($235,13450)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13157)|0); + $239 = (_strcmp($238,13465)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13178)|0); + $242 = (_strcmp($241,13486)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13193)|0); + $245 = (_strcmp($244,13501)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13211)|0); + $248 = (_strcmp($247,13519)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13227)|0); + $251 = (_strcmp($250,13535)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13246)|0); + $254 = (_strcmp($253,13554)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13260)|0); + $257 = (_strcmp($256,13568)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13275)|0); + $260 = (_strcmp($259,13583)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11996)|0); + $263 = (_strcmp($262,12304)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13286)|0); + $266 = (_strcmp($265,13594)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12095)|0); + $269 = (_strcmp($268,12403)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12125)|0); + $272 = (_strcmp($271,12433)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13302)|0); + $275 = (_strcmp($274,13610)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13329)|0); + $278 = (_strcmp($277,13637)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13343)|0); + $281 = (_strcmp($280,13651)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,12031)|0); + $284 = (_strcmp($283,12339)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13363)|0); + $287 = (_strcmp($286,13671)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13381)|0); + $290 = (_strcmp($289,13689)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13393)|0); + $293 = (_strcmp($292,13701)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13414)|0); + $296 = (_strcmp($295,13722)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13432)|0); + $299 = (_strcmp($298,13740)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13450)|0); + $302 = (_strcmp($301,13758)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13471)|0); + $305 = (_strcmp($304,13779)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13497)|0); + $308 = (_strcmp($307,13805)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13520)|0); + $311 = (_strcmp($310,13828)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13558)|0); + $314 = (_strcmp($313,13866)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13574)|0); + $317 = (_strcmp($316,13882)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13589)|0); + $320 = (_strcmp($319,13897)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13612)|0); + $323 = (_strcmp($322,13920)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13625)|0); + $326 = (_strcmp($325,13933)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13639)|0); + $329 = (_strcmp($328,13947)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13653)|0); + $332 = (_strcmp($331,13961)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13673)|0); + $335 = (_strcmp($334,13981)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13693)|0); + $338 = (_strcmp($337,14001)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13709)|0); + $341 = (_strcmp($340,14017)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13727)|0); + $344 = (_strcmp($343,14035)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13743)|0); + $347 = (_strcmp($346,14051)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13758)|0); + $350 = (_strcmp($349,14066)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,13780)|0); + $353 = (_strcmp($352,14088)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13798)|0); + $356 = (_strcmp($355,14106)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13819)|0); + $359 = (_strcmp($358,14127)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,13837)|0); + $362 = (_strcmp($361,14145)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,13850)|0); + $365 = (_strcmp($364,14158)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,13865)|0); + $368 = (_strcmp($367,14173)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,13879)|0); + $371 = (_strcmp($370,14187)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,13889)|0); + $374 = (_strcmp($373,14197)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,13899)|0); + $377 = (_strcmp($376,14207)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,13921)|0); + $380 = (_strcmp($379,14229)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13947)|0); + $383 = (_strcmp($382,14255)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13974)|0); + $386 = (_strcmp($385,14282)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13987)|0); + $389 = (_strcmp($388,14295)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,14002)|0); + $392 = (_strcmp($391,14310)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,14017)|0); + $395 = (_strcmp($394,14325)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,14041)|0); + $398 = (_strcmp($397,14349)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,14052)|0); + $401 = (_strcmp($400,14360)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14074)|0); + $404 = (_strcmp($403,14382)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14096)|0); + $407 = (_strcmp($406,14404)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14120)|0); + $410 = (_strcmp($409,14428)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14129)|0); + $413 = (_strcmp($412,14437)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14137)|0); + $416 = (_strcmp($415,14445)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14150)|0); + $419 = (_strcmp($418,14458)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14164)|0); + $422 = (_strcmp($421,14472)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14176)|0); + $425 = (_strcmp($424,14484)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14185)|0); + $428 = (_strcmp($427,14493)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14195)|0); + $431 = (_strcmp($430,14503)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14207)|0); + $434 = (_strcmp($433,14515)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14218)|0); + $437 = (_strcmp($436,14526)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14226)|0); + $440 = (_strcmp($439,14534)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14238)|0); + $443 = (_strcmp($442,14546)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14253)|0); + $446 = (_strcmp($445,14561)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14265)|0); + $449 = (_strcmp($448,14573)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14279)|0); + $452 = (_strcmp($451,14587)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14304)|0); + $455 = (_strcmp($454,14612)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14321)|0); + $458 = (_strcmp($457,14629)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14337)|0); + $461 = (_strcmp($460,14645)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14353)|0); + $464 = (_strcmp($463,14661)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14365)|0); + $467 = (_strcmp($466,14673)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14377)|0); + $470 = (_strcmp($469,14685)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14401)|0); + $473 = (_strcmp($472,14709)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14414)|0); + $476 = (_strcmp($475,14722)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14428)|0); + $479 = (_strcmp($478,14736)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14450)|0); + $482 = (_strcmp($481,14758)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14457)|0); + $485 = (_strcmp($484,14765)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14473)|0); + $488 = (_strcmp($487,14781)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14490)|0); + $491 = (_strcmp($490,14798)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14507)|0); + $494 = (_strcmp($493,14815)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14523)|0); + $497 = (_strcmp($496,14831)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14539)|0); + $500 = (_strcmp($499,14847)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14556)|0); + $503 = (_strcmp($502,14864)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14570)|0); + $506 = (_strcmp($505,14878)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14582)|0); + $509 = (_strcmp($508,14890)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14593)|0); + $512 = (_strcmp($511,14901)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14606)|0); + $515 = (_strcmp($514,14914)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14616)|0); + $518 = (_strcmp($517,14924)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14633)|0); + $521 = (_strcmp($520,14941)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14645)|0); + $524 = (_strcmp($523,14953)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14667)|0); + $527 = (_strcmp($526,14975)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14687)|0); + $530 = (_strcmp($529,14995)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14700)|0); + $533 = (_strcmp($532,15008)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14722)|0); + $536 = (_strcmp($535,15030)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14742)|0); + $539 = (_strcmp($538,15050)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14759)|0); + $542 = (_strcmp($541,15067)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14776)|0); + $545 = (_strcmp($544,15084)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14796)|0); + $548 = (_strcmp($547,15104)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -29420,7 +29383,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (20484|0); + return (20788|0); } function ___stdio_close($0) { $0 = $0|0; @@ -29877,7 +29840,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((14913) + ($50)|0); + $49 = ((15221) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -29909,7 +29872,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((14913) + ($$0159)|0); + $60 = ((15221) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -30045,10 +30008,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (15169 + ($128)|0); + $129 = (15477 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((14913) + ($$1160169)|0); + $132 = ((15221) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -30070,7 +30033,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((14913) + ($$4163$be)|0); + $146 = ((15221) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -30121,7 +30084,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((14913) + ($$5$be)|0); + $178 = ((15221) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -30140,7 +30103,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((14913) + ($$1160169)|0); + $122 = ((15221) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -30162,7 +30125,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((14913) + ($$6$be)|0); + $197 = ((15221) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -30224,7 +30187,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((14913) + ($$7$be)|0); + $234 = ((15221) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -30243,7 +30206,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((14913) + ($$8)|0); + $238 = ((15221) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -30262,7 +30225,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((14913) + ($$9$be)|0); + $249 = ((15221) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -31098,7 +31061,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((15178 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((15486 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -31276,7 +31239,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 15642;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 15950;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -31297,7 +31260,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 15642;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 15950;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -31305,8 +31268,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 15642 : (15644); - $$$ = $238 ? $$ : (15643); + $$ = $240 ? 15950 : (15952); + $$$ = $238 ? $$ : (15951); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -31323,7 +31286,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 15642;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 15950;$242 = $167;$243 = $170; label = 66; break; } @@ -31336,7 +31299,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 15642;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 15950;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -31350,7 +31313,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 15652; + $271 = $270 ? $269 : 15960; $$1 = $271; label = 71; break; @@ -31390,7 +31353,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 15642;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 15950;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -31412,8 +31375,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (15642 + ($208)|0); - $$289 = $or$cond283 ? 15642 : $209; + $209 = (15950 + ($208)|0); + $$289 = $or$cond283 ? 15950 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -31434,7 +31397,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 15642;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 15950;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -31964,7 +31927,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (15690 + ($7)|0); + $9 = (15998 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -32322,14 +32285,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 15659; + $$0471 = $14;$$0520 = 1;$$0521 = 15967; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (15660) : (15665); - $$$ = $16 ? $$ : (15662); + $$ = $18 ? (15968) : (15973); + $$$ = $16 ? $$ : (15970); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -32428,7 +32391,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (15690 + ($80)|0); + $81 = (15998 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -33039,7 +33002,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,15706,1); + _out($0,16014,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -33120,7 +33083,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,15706,1); + _out($0,16014,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -33177,9 +33140,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 15678 : 15682; + $29 = $28 ? 15986 : 15990; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 17609 : 15686; + $31 = $28 ? 17917 : 15994; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -33389,7 +33352,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (15708 + ($$016)|0); + $3 = (16016 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -33400,7 +33363,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 15796;$$115 = 87; + $$01214 = 16104;$$115 = 87; label = 5; break; } else { @@ -33410,9 +33373,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 15796; + $$012$lcssa = 16104; } else { - $$01214 = 15796;$$115 = $$016; + $$01214 = 16104;$$115 = $$016; label = 5; } } @@ -33837,7 +33800,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (17600 + ($$0107127)|0); + $27 = (17908 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -33904,7 +33867,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (17609 + ($$2109125)|0); + $58 = (17917 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -36155,7 +36118,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 20548 : $3; + $$ = $5 ? 20852 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -36446,7 +36409,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(17613,$3,4)|0); + $memchr = (_memchr(17921,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -36535,7 +36498,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(17613,$4,4)|0); + $memchr = (_memchr(17921,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -36626,7 +36589,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(20488)>>2]|0; + $38 = HEAP32[(20792)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -36659,13 +36622,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((20552|0)); - return (20560|0); + ___lock((20856|0)); + return (20864|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((20552|0)); + ___unlock((20856|0)); return; } function _fclose($0) { @@ -38925,7 +38888,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 17888; + $2 = 18192; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -39167,7 +39130,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5141]|0; + $3 = HEAP32[5217]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -39186,22 +39149,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5141] = 0; + HEAP32[5217] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5141] = $10; + HEAP32[5217] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5141] = 0; + HEAP32[5217] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5141] = $13; + HEAP32[5217] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -39282,7 +39245,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5142]|0; + $8 = HEAP32[5218]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -39291,7 +39254,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (20608 + ($15<<2)|0); + $16 = (20912 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -39302,9 +39265,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5142] = $24; + HEAP32[5218] = $24; } else { - $25 = HEAP32[(20584)>>2]|0; + $25 = HEAP32[(20888)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -39335,7 +39298,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(20576)>>2]|0; + $37 = HEAP32[(20880)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -39369,7 +39332,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (20608 + ($68<<2)|0); + $69 = (20912 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -39380,10 +39343,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5142] = $77; + HEAP32[5218] = $77; $98 = $77; } else { - $78 = HEAP32[(20584)>>2]|0; + $78 = HEAP32[(20888)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -39416,22 +39379,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(20588)>>2]|0; + $92 = HEAP32[(20892)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (20608 + ($94<<2)|0); + $95 = (20912 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5142] = $100; + HEAP32[5218] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(20584)>>2]|0; + $103 = HEAP32[(20888)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -39448,12 +39411,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(20576)>>2] = $84; - HEAP32[(20588)>>2] = $87; + HEAP32[(20880)>>2] = $84; + HEAP32[(20892)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(20572)>>2]|0; + $108 = HEAP32[(20876)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -39481,7 +39444,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (20872 + ($132<<2)|0); + $133 = (21176 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -39521,7 +39484,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(20584)>>2]|0; + $155 = HEAP32[(20888)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -39616,7 +39579,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (20872 + ($188<<2)|0); + $189 = (21176 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -39627,11 +39590,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(20572)>>2] = $194; + HEAP32[(20876)>>2] = $194; break L73; } } else { - $195 = HEAP32[(20584)>>2]|0; + $195 = HEAP32[(20888)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -39652,7 +39615,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(20584)>>2]|0; + $201 = HEAP32[(20888)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -39682,7 +39645,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(20584)>>2]|0; + $213 = HEAP32[(20888)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -39719,22 +39682,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(20588)>>2]|0; + $231 = HEAP32[(20892)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (20608 + ($233<<2)|0); + $234 = (20912 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5142] = $238; + HEAP32[5218] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(20584)>>2]|0; + $241 = HEAP32[(20888)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -39751,8 +39714,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(20576)>>2] = $$0193$lcssa$i; - HEAP32[(20588)>>2] = $157; + HEAP32[(20880)>>2] = $$0193$lcssa$i; + HEAP32[(20892)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -39768,7 +39731,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(20572)>>2]|0; + $250 = HEAP32[(20876)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -39808,7 +39771,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (20872 + ($$0358$i<<2)|0); + $278 = (21176 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -39900,7 +39863,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (20872 + ($330<<2)|0); + $331 = (21176 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -39944,11 +39907,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(20576)>>2]|0; + $345 = HEAP32[(20880)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(20584)>>2]|0; + $348 = HEAP32[(20888)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -40045,7 +40008,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (20872 + ($381<<2)|0); + $382 = (21176 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -40056,12 +40019,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(20572)>>2] = $387; + HEAP32[(20876)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(20584)>>2]|0; + $388 = HEAP32[(20888)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -40083,7 +40046,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(20584)>>2]|0; + $394 = HEAP32[(20888)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -40115,7 +40078,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(20584)>>2]|0; + $406 = HEAP32[(20888)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -40156,20 +40119,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (20608 + ($425<<2)|0); - $427 = HEAP32[5142]|0; + $426 = (20912 + ($425<<2)|0); + $427 = HEAP32[5218]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5142] = $431; + HEAP32[5218] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(20584)>>2]|0; + $434 = HEAP32[(20888)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -40221,7 +40184,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (20872 + ($$0361$i<<2)|0); + $464 = (21176 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -40233,7 +40196,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(20572)>>2] = $472; + HEAP32[(20876)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -40272,7 +40235,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(20584)>>2]|0; + $491 = HEAP32[(20888)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -40291,7 +40254,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(20584)>>2]|0; + $498 = HEAP32[(20888)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -40324,16 +40287,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(20576)>>2]|0; + $506 = HEAP32[(20880)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(20588)>>2]|0; + $509 = HEAP32[(20892)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(20588)>>2] = $511; - HEAP32[(20576)>>2] = $508; + HEAP32[(20892)>>2] = $511; + HEAP32[(20880)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -40343,8 +40306,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(20576)>>2] = 0; - HEAP32[(20588)>>2] = 0; + HEAP32[(20880)>>2] = 0; + HEAP32[(20892)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -40358,14 +40321,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(20580)>>2]|0; + $524 = HEAP32[(20884)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(20580)>>2] = $526; - $527 = HEAP32[(20592)>>2]|0; + HEAP32[(20884)>>2] = $526; + $527 = HEAP32[(20896)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(20592)>>2] = $528; + HEAP32[(20896)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -40376,23 +40339,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5260]|0; + $534 = HEAP32[5336]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(21048)>>2] = 4096; - HEAP32[(21044)>>2] = 4096; - HEAP32[(21052)>>2] = -1; - HEAP32[(21056)>>2] = -1; - HEAP32[(21060)>>2] = 0; - HEAP32[(21012)>>2] = 0; + HEAP32[(21352)>>2] = 4096; + HEAP32[(21348)>>2] = 4096; + HEAP32[(21356)>>2] = -1; + HEAP32[(21360)>>2] = -1; + HEAP32[(21364)>>2] = 0; + HEAP32[(21316)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5260] = $538; + HEAP32[5336] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(21048)>>2]|0; + $$pre$i212 = HEAP32[(21352)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -40405,10 +40368,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(21008)>>2]|0; + $546 = HEAP32[(21312)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(21000)>>2]|0; + $548 = HEAP32[(21304)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -40418,18 +40381,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(21012)>>2]|0; + $552 = HEAP32[(21316)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(20592)>>2]|0; + $555 = HEAP32[(20896)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (21016); + $$0$i$i = (21320); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -40487,7 +40450,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(21044)>>2]|0; + $569 = HEAP32[(21348)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -40497,13 +40460,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21000)>>2]|0; + $578 = HEAP32[(21304)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(21008)>>2]|0; + $582 = HEAP32[(21312)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -40549,7 +40512,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(21048)>>2]|0; + $601 = HEAP32[(21352)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -40574,9 +40537,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(21012)>>2]|0; + $611 = HEAP32[(21316)>>2]|0; $612 = $611 | 4; - HEAP32[(21012)>>2] = $612; + HEAP32[(21316)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -40612,35 +40575,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(21000)>>2]|0; + $626 = HEAP32[(21304)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(21000)>>2] = $627; - $628 = HEAP32[(21004)>>2]|0; + HEAP32[(21304)>>2] = $627; + $628 = HEAP32[(21308)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(21004)>>2] = $627; + HEAP32[(21308)>>2] = $627; } - $630 = HEAP32[(20592)>>2]|0; + $630 = HEAP32[(20896)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(20584)>>2]|0; + $632 = HEAP32[(20888)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(20584)>>2] = $$749$i; + HEAP32[(20888)>>2] = $$749$i; } - HEAP32[(21016)>>2] = $$749$i; - HEAP32[(21020)>>2] = $$723948$i; - HEAP32[(21028)>>2] = 0; - $635 = HEAP32[5260]|0; - HEAP32[(20604)>>2] = $635; - HEAP32[(20600)>>2] = -1; + HEAP32[(21320)>>2] = $$749$i; + HEAP32[(21324)>>2] = $$723948$i; + HEAP32[(21332)>>2] = 0; + $635 = HEAP32[5336]|0; + HEAP32[(20908)>>2] = $635; + HEAP32[(20904)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (20608 + ($636<<2)|0); + $637 = (20912 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -40663,18 +40626,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(20592)>>2] = $649; - HEAP32[(20580)>>2] = $650; + HEAP32[(20896)>>2] = $649; + HEAP32[(20884)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(21056)>>2]|0; - HEAP32[(20596)>>2] = $655; + $655 = HEAP32[(21360)>>2]|0; + HEAP32[(20900)>>2] = $655; } else { - $$024371$i = (21016); + $$024371$i = (21320); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -40706,7 +40669,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(20580)>>2]|0; + $671 = HEAP32[(20884)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -40717,30 +40680,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(20592)>>2] = $679; - HEAP32[(20580)>>2] = $681; + HEAP32[(20896)>>2] = $679; + HEAP32[(20884)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(21056)>>2]|0; - HEAP32[(20596)>>2] = $686; + $686 = HEAP32[(21360)>>2]|0; + HEAP32[(20900)>>2] = $686; break; } } } - $687 = HEAP32[(20584)>>2]|0; + $687 = HEAP32[(20888)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(20584)>>2] = $$749$i; + HEAP32[(20888)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (21016); + $$124470$i = (21320); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -40795,21 +40758,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(20580)>>2]|0; + $726 = HEAP32[(20884)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(20580)>>2] = $727; - HEAP32[(20592)>>2] = $721; + HEAP32[(20884)>>2] = $727; + HEAP32[(20896)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(20588)>>2]|0; + $730 = HEAP32[(20892)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(20576)>>2]|0; + $732 = HEAP32[(20880)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(20576)>>2] = $733; - HEAP32[(20588)>>2] = $721; + HEAP32[(20880)>>2] = $733; + HEAP32[(20892)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -40832,7 +40795,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (20608 + ($748<<2)|0); + $749 = (20912 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -40855,9 +40818,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5142]|0; + $759 = HEAP32[5218]|0; $760 = $759 & $758; - HEAP32[5142] = $760; + HEAP32[5218] = $760; break; } $761 = ($747|0)==($749|0); @@ -40970,7 +40933,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (20872 + ($796<<2)|0); + $797 = (21176 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -40982,12 +40945,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(20572)>>2]|0; + $802 = HEAP32[(20876)>>2]|0; $803 = $802 & $801; - HEAP32[(20572)>>2] = $803; + HEAP32[(20876)>>2] = $803; break L314; } else { - $804 = HEAP32[(20584)>>2]|0; + $804 = HEAP32[(20888)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -41008,7 +40971,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(20584)>>2]|0; + $810 = HEAP32[(20888)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -41040,7 +41003,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(20584)>>2]|0; + $822 = HEAP32[(20888)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -41073,21 +41036,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (20608 + ($836<<2)|0); - $838 = HEAP32[5142]|0; + $837 = (20912 + ($836<<2)|0); + $838 = HEAP32[5218]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5142] = $842; + HEAP32[5218] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(20584)>>2]|0; + $845 = HEAP32[(20888)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -41142,20 +41105,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (20872 + ($$0296$i$i<<2)|0); + $875 = (21176 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(20572)>>2]|0; + $879 = HEAP32[(20876)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(20572)>>2] = $883; + HEAP32[(20876)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -41194,7 +41157,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(20584)>>2]|0; + $902 = HEAP32[(20888)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -41213,7 +41176,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(20584)>>2]|0; + $909 = HEAP32[(20888)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -41240,7 +41203,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (21016); + $$0$i$i$i = (21320); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -41281,23 +41244,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(20592)>>2] = $946; - HEAP32[(20580)>>2] = $947; + HEAP32[(20896)>>2] = $946; + HEAP32[(20884)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(21056)>>2]|0; - HEAP32[(20596)>>2] = $952; + $952 = HEAP32[(21360)>>2]|0; + HEAP32[(20900)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(21016)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21016)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21016)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21016)+12>>2]|0; - HEAP32[(21016)>>2] = $$749$i; - HEAP32[(21020)>>2] = $$723948$i; - HEAP32[(21028)>>2] = 0; - HEAP32[(21024)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(21320)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21320)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21320)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21320)+12>>2]|0; + HEAP32[(21320)>>2] = $$749$i; + HEAP32[(21324)>>2] = $$723948$i; + HEAP32[(21332)>>2] = 0; + HEAP32[(21328)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -41326,20 +41289,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (20608 + ($968<<2)|0); - $970 = HEAP32[5142]|0; + $969 = (20912 + ($968<<2)|0); + $970 = HEAP32[5218]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5142] = $974; + HEAP32[5218] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(20584)>>2]|0; + $977 = HEAP32[(20888)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -41391,19 +41354,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (20872 + ($$0212$i$i<<2)|0); + $1007 = (21176 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(20572)>>2]|0; + $1010 = HEAP32[(20876)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(20572)>>2] = $1014; + HEAP32[(20876)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -41442,7 +41405,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(20584)>>2]|0; + $1033 = HEAP32[(20888)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -41461,7 +41424,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(20584)>>2]|0; + $1040 = HEAP32[(20888)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -41484,14 +41447,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(20580)>>2]|0; + $1048 = HEAP32[(20884)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(20580)>>2] = $1050; - $1051 = HEAP32[(20592)>>2]|0; + HEAP32[(20884)>>2] = $1050; + $1051 = HEAP32[(20896)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(20592)>>2] = $1052; + HEAP32[(20896)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -41534,7 +41497,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(20584)>>2]|0; + $3 = HEAP32[(20888)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -41567,7 +41530,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(20588)>>2]|0; + $19 = HEAP32[(20892)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -41582,7 +41545,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(20576)>>2] = $17; + HEAP32[(20880)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -41596,7 +41559,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (20608 + ($27<<2)|0); + $28 = (20912 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -41616,9 +41579,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5142]|0; + $37 = HEAP32[5218]|0; $38 = $37 & $36; - HEAP32[5142] = $38; + HEAP32[5218] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -41732,7 +41695,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (20872 + ($74<<2)|0); + $75 = (21176 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -41742,14 +41705,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(20572)>>2]|0; + $80 = HEAP32[(20876)>>2]|0; $81 = $80 & $79; - HEAP32[(20572)>>2] = $81; + HEAP32[(20876)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(20584)>>2]|0; + $82 = HEAP32[(20888)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -41771,7 +41734,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(20584)>>2]|0; + $88 = HEAP32[(20888)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -41803,7 +41766,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(20584)>>2]|0; + $100 = HEAP32[(20888)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -41838,14 +41801,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(20592)>>2]|0; + $120 = HEAP32[(20896)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(20588)>>2]|0; + $122 = HEAP32[(20892)>>2]|0; if ($121) { - $123 = HEAP32[(20580)>>2]|0; + $123 = HEAP32[(20884)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(20580)>>2] = $124; - HEAP32[(20592)>>2] = $$1; + HEAP32[(20884)>>2] = $124; + HEAP32[(20896)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -41853,16 +41816,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(20588)>>2] = 0; - HEAP32[(20576)>>2] = 0; + HEAP32[(20892)>>2] = 0; + HEAP32[(20880)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(20576)>>2]|0; + $129 = HEAP32[(20880)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(20576)>>2] = $130; - HEAP32[(20588)>>2] = $113; + HEAP32[(20880)>>2] = $130; + HEAP32[(20892)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -41881,10 +41844,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (20608 + ($142<<2)|0); + $143 = (20912 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(20584)>>2]|0; + $145 = HEAP32[(20888)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -41902,9 +41865,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5142]|0; + $153 = HEAP32[5218]|0; $154 = $153 & $152; - HEAP32[5142] = $154; + HEAP32[5218] = $154; break; } $155 = ($141|0)==($143|0); @@ -41912,7 +41875,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(20584)>>2]|0; + $156 = HEAP32[(20888)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -41972,7 +41935,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(20584)>>2]|0; + $189 = HEAP32[(20888)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -41985,7 +41948,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(20584)>>2]|0; + $169 = HEAP32[(20888)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -42016,7 +41979,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (20872 + ($193<<2)|0); + $194 = (21176 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -42026,13 +41989,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(20572)>>2]|0; + $199 = HEAP32[(20876)>>2]|0; $200 = $199 & $198; - HEAP32[(20572)>>2] = $200; + HEAP32[(20876)>>2] = $200; break L108; } } else { - $201 = HEAP32[(20584)>>2]|0; + $201 = HEAP32[(20888)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -42053,7 +42016,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(20584)>>2]|0; + $207 = HEAP32[(20888)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -42083,7 +42046,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(20584)>>2]|0; + $219 = HEAP32[(20888)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -42104,10 +42067,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(20588)>>2]|0; + $226 = HEAP32[(20892)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(20576)>>2] = $135; + HEAP32[(20880)>>2] = $135; return; } else { $$2 = $135; @@ -42126,20 +42089,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (20608 + ($234<<2)|0); - $236 = HEAP32[5142]|0; + $235 = (20912 + ($234<<2)|0); + $236 = HEAP32[5218]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5142] = $240; + HEAP32[5218] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(20584)>>2]|0; + $243 = HEAP32[(20888)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -42191,21 +42154,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (20872 + ($$0396<<2)|0); + $273 = (21176 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(20572)>>2]|0; + $277 = HEAP32[(20876)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(20572)>>2] = $281; + HEAP32[(20876)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -42243,7 +42206,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(20584)>>2]|0; + $300 = HEAP32[(20888)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -42262,7 +42225,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(20584)>>2]|0; + $307 = HEAP32[(20888)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -42284,12 +42247,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(20600)>>2]|0; + $314 = HEAP32[(20904)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(20600)>>2] = $315; + HEAP32[(20904)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (21024); + $$0212$in$i = (21328); } else { return; } @@ -42303,7 +42266,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(20600)>>2] = -1; + HEAP32[(20904)>>2] = -1; return; } function _realloc($0,$1) { @@ -42375,7 +42338,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(20584)>>2]|0; + $6 = HEAP32[(20888)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -42405,7 +42368,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(21048)>>2]|0; + $18 = HEAP32[(21352)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -42441,10 +42404,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(20592)>>2]|0; + $34 = HEAP32[(20896)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(20580)>>2]|0; + $36 = HEAP32[(20884)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -42460,15 +42423,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(20592)>>2] = $40; - HEAP32[(20580)>>2] = $39; + HEAP32[(20896)>>2] = $40; + HEAP32[(20884)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(20588)>>2]|0; + $46 = HEAP32[(20892)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(20576)>>2]|0; + $48 = HEAP32[(20880)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -42504,8 +42467,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(20576)>>2] = $storemerge1; - HEAP32[(20588)>>2] = $storemerge; + HEAP32[(20880)>>2] = $storemerge1; + HEAP32[(20892)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -42532,7 +42495,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (20608 + ($81<<2)|0); + $82 = (20912 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -42552,9 +42515,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5142]|0; + $91 = HEAP32[5218]|0; $92 = $91 & $90; - HEAP32[5142] = $92; + HEAP32[5218] = $92; break; } $93 = ($80|0)==($82|0); @@ -42663,7 +42626,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (20872 + ($128<<2)|0); + $129 = (21176 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -42673,13 +42636,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(20572)>>2]|0; + $134 = HEAP32[(20876)>>2]|0; $135 = $134 & $133; - HEAP32[(20572)>>2] = $135; + HEAP32[(20876)>>2] = $135; break L49; } } else { - $136 = HEAP32[(20584)>>2]|0; + $136 = HEAP32[(20888)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -42700,7 +42663,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(20584)>>2]|0; + $142 = HEAP32[(20888)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -42730,7 +42693,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(20584)>>2]|0; + $154 = HEAP32[(20888)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -42815,13 +42778,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(20584)>>2]|0; + $13 = HEAP32[(20888)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(20588)>>2]|0; + $15 = HEAP32[(20892)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -42836,7 +42799,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(20576)>>2] = $12; + HEAP32[(20880)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -42850,7 +42813,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (20608 + ($23<<2)|0); + $24 = (20912 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -42870,9 +42833,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5142]|0; + $33 = HEAP32[5218]|0; $34 = $33 & $32; - HEAP32[5142] = $34; + HEAP32[5218] = $34; $$1 = $11;$$1418 = $12; break; } @@ -42986,7 +42949,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (20872 + ($70<<2)|0); + $71 = (21176 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -42996,14 +42959,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(20572)>>2]|0; + $76 = HEAP32[(20876)>>2]|0; $77 = $76 & $75; - HEAP32[(20572)>>2] = $77; + HEAP32[(20876)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(20584)>>2]|0; + $78 = HEAP32[(20888)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -43025,7 +42988,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(20584)>>2]|0; + $84 = HEAP32[(20888)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -43057,7 +43020,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(20584)>>2]|0; + $96 = HEAP32[(20888)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -43076,7 +43039,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(20584)>>2]|0; + $108 = HEAP32[(20888)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -43087,14 +43050,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(20592)>>2]|0; + $114 = HEAP32[(20896)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(20588)>>2]|0; + $116 = HEAP32[(20892)>>2]|0; if ($115) { - $117 = HEAP32[(20580)>>2]|0; + $117 = HEAP32[(20884)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(20580)>>2] = $118; - HEAP32[(20592)>>2] = $$1; + HEAP32[(20884)>>2] = $118; + HEAP32[(20896)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -43102,16 +43065,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(20588)>>2] = 0; - HEAP32[(20576)>>2] = 0; + HEAP32[(20892)>>2] = 0; + HEAP32[(20880)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(20576)>>2]|0; + $123 = HEAP32[(20880)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(20576)>>2] = $124; - HEAP32[(20588)>>2] = $$1; + HEAP32[(20880)>>2] = $124; + HEAP32[(20892)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -43130,7 +43093,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (20608 + ($136<<2)|0); + $137 = (20912 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -43150,9 +43113,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5142]|0; + $146 = HEAP32[5218]|0; $147 = $146 & $145; - HEAP32[5142] = $147; + HEAP32[5218] = $147; break; } $148 = ($135|0)==($137|0); @@ -43261,7 +43224,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (20872 + ($183<<2)|0); + $184 = (21176 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -43271,13 +43234,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(20572)>>2]|0; + $189 = HEAP32[(20876)>>2]|0; $190 = $189 & $188; - HEAP32[(20572)>>2] = $190; + HEAP32[(20876)>>2] = $190; break L96; } } else { - $191 = HEAP32[(20584)>>2]|0; + $191 = HEAP32[(20888)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -43298,7 +43261,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(20584)>>2]|0; + $197 = HEAP32[(20888)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -43328,7 +43291,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(20584)>>2]|0; + $209 = HEAP32[(20888)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -43349,10 +43312,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(20588)>>2]|0; + $216 = HEAP32[(20892)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(20576)>>2] = $129; + HEAP32[(20880)>>2] = $129; return; } else { $$2 = $129; @@ -43371,20 +43334,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (20608 + ($224<<2)|0); - $226 = HEAP32[5142]|0; + $225 = (20912 + ($224<<2)|0); + $226 = HEAP32[5218]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5142] = $230; + HEAP32[5218] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(20584)>>2]|0; + $233 = HEAP32[(20888)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -43436,20 +43399,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (20872 + ($$0431<<2)|0); + $263 = (21176 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(20572)>>2]|0; + $267 = HEAP32[(20876)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(20572)>>2] = $271; + HEAP32[(20876)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -43488,7 +43451,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(20584)>>2]|0; + $290 = HEAP32[(20888)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -43506,7 +43469,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(20584)>>2]|0; + $297 = HEAP32[(20888)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/models/models_obj_loading.png b/docs/examples/web/models/models_obj_loading.png similarity index 100% rename from docs/examples/img/models/models_obj_loading.png rename to docs/examples/web/models/models_obj_loading.png diff --git a/docs/examples/web/physac/loader.html b/docs/examples/web/physac/loader.html new file mode 100644 index 000000000..93d7260f3 --- /dev/null +++ b/docs/examples/web/physac/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/physac/physics_demo.c b/docs/examples/web/physac/physics_demo.c index b12ac7088..0c17fc313 100644 --- a/docs/examples/web/physac/physics_demo.c +++ b/docs/examples/web/physac/physics_demo.c @@ -2,9 +2,11 @@ * * Physac - Physics demo * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread * -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition * @@ -15,111 +17,148 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" +#include "physac.h" +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +// Physac logo drawing position +int logoX = 0; +int logoY = 15; + +PhysicsBody ground; +PhysicsBody circle; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- int main() { // Initialization //-------------------------------------------------------------------------------------- - int screenWidth = 800; - int screenHeight = 450; - SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics demo"); SetTargetFPS(60); - - // Physac logo drawing position - int logoX = screenWidth - MeasureText("Physac", 30) - 10; - int logoY = 15; + + logoX = screenWidth - MeasureText("Physac", 30) - 10; // Initialize physics and default physics bodies InitPhysics(); // Create floor rectangle physics body - PhysicsBody floor = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, 500, 100, 10); - floor->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) + ground = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, 500, 100, 10); + ground->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) // Create obstacle circle physics body - PhysicsBody circle = CreatePhysicsBodyCircle((Vector2){ screenWidth/2, screenHeight/2 }, 45, 10); + circle = CreatePhysicsBodyCircle((Vector2){ screenWidth/2, screenHeight/2 }, 45, 10); circle->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) - //-------------------------------------------------------------------------------------- +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key { - // Update - //---------------------------------------------------------------------------------- - if (IsKeyPressed('R')) // Reset physics input - { - ResetPhysics(); - - floor = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, 500, 100, 10); - floor->enabled = false; - - circle = CreatePhysicsBodyCircle((Vector2){ screenWidth/2, screenHeight/2 }, 45, 10); - circle->enabled = false; - } - - // Physics body creation inputs - if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) CreatePhysicsBodyPolygon(GetMousePosition(), GetRandomValue(20, 80), GetRandomValue(3, 8), 10); - else if (IsMouseButtonPressed(MOUSE_RIGHT_BUTTON)) CreatePhysicsBodyCircle(GetMousePosition(), GetRandomValue(10, 45), 10); - - // Destroy falling physics bodies - int bodiesCount = GetPhysicsBodiesCount(); - for (int i = bodiesCount - 1; i >= 0; i--) - { - PhysicsBody body = GetPhysicsBody(i); - if (body != NULL && (body->position.y > screenHeight*2)) DestroyPhysicsBody(body); - } - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(BLACK); - - DrawFPS(screenWidth - 90, screenHeight - 30); - - // Draw created physics bodies - bodiesCount = GetPhysicsBodiesCount(); - for (int i = 0; i < bodiesCount; i++) - { - PhysicsBody body = GetPhysicsBody(i); - - if (body != NULL) - { - int vertexCount = GetPhysicsShapeVerticesCount(i); - for (int j = 0; j < vertexCount; j++) - { - // Get physics bodies shape vertices to draw lines - // Note: GetPhysicsShapeVertex() already calculates rotation transformations - Vector2 vertexA = GetPhysicsShapeVertex(body, j); - - int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape - Vector2 vertexB = GetPhysicsShapeVertex(body, jj); - - DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions - } - } - } - - DrawText("Left mouse button to create a polygon", 10, 10, 10, WHITE); - DrawText("Right mouse button to create a circle", 10, 25, 10, WHITE); - DrawText("Press 'R' to reset example", 10, 40, 10, WHITE); - - DrawText("Physac", logoX, logoY, 30, WHITE); - DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); - - EndDrawing(); - //---------------------------------------------------------------------------------- + UpdateDrawFrame(); } +#endif // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (IsKeyPressed('R')) // Reset physics input + { + ResetPhysics(); + + ground = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, 500, 100, 10); + ground->enabled = false; + + circle = CreatePhysicsBodyCircle((Vector2){ screenWidth/2, screenHeight/2 }, 45, 10); + circle->enabled = false; + } + + // Physics body creation inputs + if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) CreatePhysicsBodyPolygon(GetMousePosition(), GetRandomValue(20, 80), GetRandomValue(3, 8), 10); + else if (IsMouseButtonPressed(MOUSE_RIGHT_BUTTON)) CreatePhysicsBodyCircle(GetMousePosition(), GetRandomValue(10, 45), 10); + + // Destroy falling physics bodies + int bodiesCount = GetPhysicsBodiesCount(); + + for (int i = bodiesCount - 1; i >= 0; i--) + { + PhysicsBody body = GetPhysicsBody(i); + if (body != NULL && (body->position.y > screenHeight*2)) DestroyPhysicsBody(body); + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(BLACK); + + DrawFPS(screenWidth - 90, screenHeight - 30); + + // Draw created physics bodies + bodiesCount = GetPhysicsBodiesCount(); + + for (int i = 0; i < bodiesCount; i++) + { + PhysicsBody body = GetPhysicsBody(i); + + if (body != NULL) + { + int vertexCount = GetPhysicsShapeVerticesCount(i); + for (int j = 0; j < vertexCount; j++) + { + // Get physics bodies shape vertices to draw lines + // Note: GetPhysicsShapeVertex() already calculates rotation transformations + Vector2 vertexA = GetPhysicsShapeVertex(body, j); + + int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape + Vector2 vertexB = GetPhysicsShapeVertex(body, jj); + + DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions + } + } + } + + DrawText("Left mouse button to create a polygon", 10, 10, 10, WHITE); + DrawText("Right mouse button to create a circle", 10, 25, 10, WHITE); + DrawText("Press 'R' to reset example", 10, 40, 10, WHITE); + + DrawText("Physac", logoX, logoY, 30, WHITE); + DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} diff --git a/docs/examples/web/physac/physics_demo.js b/docs/examples/web/physac/physics_demo.js new file mode 100644 index 000000000..d543eca63 --- /dev/null +++ b/docs/examples/web/physac/physics_demo.js @@ -0,0 +1,35385 @@ +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// The environment setup code below is customized to use Module. +// *** Environment setup code *** +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +// 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) + +if (Module['ENVIRONMENT']) { + if (Module['ENVIRONMENT'] === 'WEB') { + ENVIRONMENT_IS_WEB = true; + } else if (Module['ENVIRONMENT'] === 'WORKER') { + ENVIRONMENT_IS_WORKER = true; + } else if (Module['ENVIRONMENT'] === 'NODE') { + ENVIRONMENT_IS_NODE = true; + } else if (Module['ENVIRONMENT'] === 'SHELL') { + ENVIRONMENT_IS_SHELL = true; + } else { + throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); + } +} else { + 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; +} + +var ENVIRONMENT_IS_PTHREAD; +if (!ENVIRONMENT_IS_PTHREAD) ENVIRONMENT_IS_PTHREAD = false; // ENVIRONMENT_IS_PTHREAD=true will have been preset in pthread-main.js. Make it false in the main runtime thread. +var PthreadWorkerInit; // Collects together variables that are needed at initialization time for the web workers that host pthreads. +if (!ENVIRONMENT_IS_PTHREAD) PthreadWorkerInit = {}; +var currentScriptUrl = ENVIRONMENT_IS_WORKER ? undefined : document.currentScript.src; + +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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var 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, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. 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 + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // 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'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (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 Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// Runtime essentials +//======================================== + +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var EXITSTATUS = 0; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { + 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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = function cwrap(ident, returnType, argTypes) { + argTypes = argTypes || []; + var cfunc = getCFunc(ident); + // When the function takes numbers and returns a number, we can just return + // the original function + var numericArgs = argTypes.every(function(type){ return type === 'number'}); + var numericRet = (returnType !== 'string'); + if ( numericRet && numericArgs) { + return cfunc; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ length) { + if (length === 0 || !ptr) return ''; + // TODO: use TextDecoder + // 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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 and https://www.ietf.org/rfc/rfc2279.txt and 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 + +if (!ENVIRONMENT_IS_PTHREAD) { // Pthreads have already initialized these variables in src/pthread-main.js, where they were passed to the thread worker at startup time + STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; + staticSealed = false; +} + +if (ENVIRONMENT_IS_PTHREAD) { + staticSealed = true; // The static memory area has been initialized already in the main thread, pthreads skip this. +} + +// 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); +} + + +function enlargeMemory() { + abort('Cannot enlarge memory arrays, since compiling with pthreads support enabled (-s USE_PTHREADS=1).'); +} + + +var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; +var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; +if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + 'JS engine does not provide full typed array support'); + + +if (typeof SharedArrayBuffer !== 'undefined') { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new SharedArrayBuffer(TOTAL_MEMORY); + // Currently SharedArrayBuffer does not have a slice() operation, so polyfill it in. + // Adapted from https://github.com/ttaubert/node-arraybuffer-slice, (c) 2014 Tim Taubert + // arraybuffer-slice may be freely distributed under the MIT license. + (function (undefined) { + "use strict"; + function clamp(val, length) { + val = (val|0) || 0; + if (val < 0) return Math.max(val + length, 0); + return Math.min(val, length); + } + if (typeof SharedArrayBuffer !== 'undefined' && !SharedArrayBuffer.prototype.slice) { + SharedArrayBuffer.prototype.slice = function (from, to) { + var length = this.byteLength; + var begin = clamp(from, length); + var end = length; + if (to !== undefined) end = clamp(to, length); + if (begin > end) return new ArrayBuffer(0); + var num = end - begin; + var target = new ArrayBuffer(num); + var targetArray = new Uint8Array(target); + var sourceArray = new Uint8Array(this, begin, num); + targetArray.set(sourceArray); + return target; + }; + } + })(); +} else { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new ArrayBuffer(TOTAL_MEMORY); +} +updateGlobalBufferViews(); + +if (typeof Atomics === 'undefined') { + // Polyfill singlethreaded atomics ops from http://lars-t-hansen.github.io/ecmascript_sharedmem/shmem.html#Atomics.add + // No thread-safety needed since we don't have multithreading support. + Atomics = {}; + Atomics['add'] = function(t, i, v) { var w = t[i]; t[i] += v; return w; } + Atomics['and'] = function(t, i, v) { var w = t[i]; t[i] &= v; return w; } + Atomics['compareExchange'] = function(t, i, e, r) { var w = t[i]; if (w == e) t[i] = r; return w; } + Atomics['exchange'] = function(t, i, v) { var w = t[i]; t[i] = v; return w; } + Atomics['wait'] = function(t, i, v, o) { if (t[i] != v) return 'not-equal'; else return 'timed-out'; } + Atomics['wake'] = function(t, i, c) { return 0; } + Atomics['wakeOrRequeue'] = function(t, i1, c, i2, v) { return 0; } + Atomics['isLockFree'] = function(s) { return true; } + Atomics['load'] = function(t, i) { return t[i]; } + Atomics['or'] = function(t, i, v) { var w = t[i]; t[i] |= v; return w; } + Atomics['store'] = function(t, i, v) { t[i] = v; return v; } + Atomics['sub'] = function(t, i, v) { var w = t[i]; t[i] -= v; return w; } + Atomics['xor'] = function(t, i, v) { var w = t[i]; t[i] ^= v; return w; } +} + + +function getTotalMemory() { + return TOTAL_MEMORY; +} + +// Endianness check (note: assumes compiler arch was little-endian) +if (!ENVIRONMENT_IS_PTHREAD) { + HEAP32[0] = 0x63736d65; /* 'emsc' */ +} else { + if (HEAP32[0] !== 0x63736d65) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; +} +HEAP16[1] = 0x6373; +if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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 runtime has exited + +var runtimeInitialized = false; +var runtimeExited = false; + +if (ENVIRONMENT_IS_PTHREAD) runtimeInitialized = true; // The runtime is hosted in the main thread, and bits shared to pthreads via SharedArrayBuffer. No need to init again in pthread. + +function preRun() { + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + // 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 (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + if (runtimeInitialized) return; + runtimeInitialized = true; + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + callRuntimeCallbacks(__ATEXIT__); + runtimeExited = true; +} + +function postRun() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + // 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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + +// Atomics.exchange is not yet implemented in the spec, so polyfill that in via compareExchange in the meanwhile. +// TODO: Keep an eye out for the opportunity to remove this once Atomics.exchange is available. +if (typeof Atomics !== 'undefined' && !Atomics['exchange']) { + Atomics['exchange'] = function(heap, index, val) { + var oldVal, oldVal2; + do { + oldVal = Atomics['load'](heap, index); + oldVal2 = Atomics['compareExchange'](heap, index, oldVal, val); + } while(oldVal != oldVal2); + return oldVal; + } +} + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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 +// PRE_RUN_ADDITIONS (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) { + // We should never get here in pthreads (could no-op this out if called in pthreads, but that might indicate a bug in caller side, + // so good to be very explicit) + assert(!ENVIRONMENT_IS_PTHREAD); + 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; + Module.printErr('still waiting on run dependencies:'); + } + Module.printErr('dependency: ' + dep); + } + if (shown) { + Module.printErr('(end of list)'); + } + }, 10000); + } + } else { + Module.printErr('warning: run dependency added without ID'); + } +} +Module["addRunDependency"] = addRunDependency; + +function removeRunDependency(id) { + runDependencies--; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('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["removeRunDependency"] = removeRunDependency; + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + + +var memoryInitializer = null; + + + + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }, + function() { postMessage({ cmd: 'processQueuedMainThreadWork' }) }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + +function _emscripten_asm_const_v(code) { + return ASM_CONSTS[code](); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 38384; + /* global initializers */ if (!ENVIRONMENT_IS_PTHREAD) __ATINIT__.push({ func: function() { ___emscripten_pthread_data_constructor() } }); + + +if (!ENVIRONMENT_IS_PTHREAD) { +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,15,0,0,0,32,186,32,60,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,20,0,0,0,180,11,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,235,145,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,104,121,115,97,99,32,91,114,97,121,108,105,98,93,32,45,32,80,104,121,115,105,99,115,32,100,101,109,111,0,80,104,121,115,97,99,0,76,101,102,116,32,109,111,117,115,101,32,98,117,116,116,111,110,32,116,111,32,99,114,101,97,116,101,32,97,32,112,111,108,121,103,111,110,0,82,105,103,104,116,32,109,111,117,115,101,32,98,117,116,116,111,110,32,116,111,32,99,114,101,97,116,101,32,97,32,99,105,114,99,108,101,0,80,114,101,115,115,32,39,82,39,32,116,111,32,114,101,115,101,116,32,101,120,97,109,112,108,101,0,80,111,119,101,114,101,100,32,98,121,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,37,50,105,32,70,80,83,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,101,109,115,99,114,105,112,116,101,110,95,105,115,95,109,97,105,110,95,114,117,110,116,105,109,101,95,116,104,114,101,97,100,40,41,32,38,38,32,34,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,32,109,117,115,116,32,98,101,32,99,97,108,108,101,100,32,102,114,111,109,32,116,104,101,32,109,97,105,110,32,116,104,114,101,97,100,33,34,0,67,58,92,101,109,115,100,107,92,101,109,115,99,114,105,112,116,101,110,92,49,46,51,55,46,57,92,115,121,115,116,101,109,92,108,105,98,92,112,116,104,114,101,97,100,92,108,105,98,114,97,114,121,95,112,116,104,114,101,97,100,46,99,0,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,0,48,32,38,38,32,34,73,110,118,97,108,105,100,32,69,109,115,99,114,105,112,116,101,110,32,112,116,104,114,101,97,100,32,95,100,111,95,99,97,108,108,32,111,112,99,111,100,101,33,34,0,95,100,111,95,99,97,108,108,0,99,97,108,108,0,101,109,115,99,114,105,112,116,101,110,95,97,115,121,110,99,95,114,117,110,95,105,110,95,109,97,105,110,95,116,104,114,101,97,100,0,112,111,115,116,77,101,115,115,97,103,101,40,123,32,99,109,100,58,32,39,112,114,111,99,101,115,115,81,117,101,117,101,100,77,97,105,110,84,104,114,101,97,100,87,111,114,107,39,32,125,41,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +} + + + + + +/* no memory initializer */ +var tempDoublePtr; + +if (!ENVIRONMENT_IS_PTHREAD) tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); + +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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + function ___pthread_setcancelstate() { return 0 } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + + + 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 Module.printErr('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) { + Module['print'](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) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function (tty, val) { + if (val === null || val === 10) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['printErr'](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); + + 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(); + }; + }); + },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, { encoding: 'binary', 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/); + },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) { + // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so + // propagate write bits to execute bits. + stat.mode = stat.mode | ((stat.mode & 146) >> 1); + } + } 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); + },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString: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. + if (flags in NODEFS.flagsToPermissionStringMap) { + return NODEFS.flagsToPermissionStringMap[flags]; + } 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.flagsToPermissionString(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) { + if (length === 0) return 0; // node errors on 0 length reads + // FIXME this is terrible. + var nbuffer = new Buffer(length); + var res; + try { + res = fs.readSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + if (res > 0) { + for (var i = 0; i < res; i++) { + buffer[offset + i] = nbuffer[i]; + } + } + return res; + },write:function (stream, buffer, offset, length, position) { + // FIXME this is terrible. + var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); + var res; + try { + res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return res; + },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; if (ENVIRONMENT_IS_PTHREAD) _stdin = PthreadWorkerInit._stdin; else PthreadWorkerInit._stdin = _stdin = allocate(1, "i32*", ALLOC_STATIC); + + var _stdout; if (ENVIRONMENT_IS_PTHREAD) _stdout = PthreadWorkerInit._stdout; else PthreadWorkerInit._stdout = _stdout = allocate(1, "i32*", ALLOC_STATIC); + + var _stderr; if (ENVIRONMENT_IS_PTHREAD) _stderr = PthreadWorkerInit._stderr; else PthreadWorkerInit._stderr = _stderr = allocate(1, "i32*", ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],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; + Module['printErr']('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 (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); + } + },llseek:function (stream, offset, whence) { + 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 ((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 = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } 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 ((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 = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } 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 (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(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'; + opts.encoding = opts.encoding || 'utf8'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var stream = FS.open(path, opts.flags, opts.mode); + if (opts.encoding === 'utf8') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); + } else if (opts.encoding === 'binary') { + FS.write(stream, data, 0, data.length, 0, opts.canOwn); + } + 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) { + //Module.printErr(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]; + 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 = ''; + }); + },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 ___syscall54(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 54, varargs) } + SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + case 21506: { + 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; + } + default: abort('bad ioctl syscall ' + op); + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _utime(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(12, path, times); + // int utime(const char *path, const struct utimbuf *times); + // http://pubs.opengroup.org/onlinepubs/009695399/basedefs/utime.h.html + var time; + if (times) { + // NOTE: We don't keep track of access timestamps. + var offset = 4; + time = HEAP32[(((times)+(offset))>>2)]; + time *= 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + + + + var PROCINFO={ppid:1,pid:42,sid:42,pgid:42}; + + + var __pthread_ptr=0; + + var __pthread_is_main_browser_thread=0;function __register_pthread_ptr(pthreadPtr, isMainBrowserThread, isMainRuntimeThread) { + pthreadPtr = pthreadPtr|0; + isMainBrowserThread = isMainBrowserThread|0; + isMainRuntimeThread = isMainRuntimeThread|0; + __pthread_ptr = pthreadPtr; + __pthread_is_main_browser_thread = isMainBrowserThread; + __pthread_is_main_runtime_thread = isMainRuntimeThread; + } + + var _emscripten_main_thread_process_queued_calls=undefined;var PThread={MAIN_THREAD_ID:1,mainThreadInfo:{schedPolicy:0,schedPrio:0},unusedWorkerPool:[],runningWorkers:[],initMainThreadBlock:function () { + if (ENVIRONMENT_IS_PTHREAD) return undefined; + PThread.mainThreadBlock = allocate(244, "i32*", ALLOC_STATIC); + __register_pthread_ptr(PThread.mainThreadBlock, /*isMainBrowserThread=*/!ENVIRONMENT_IS_WORKER, /*isMainRuntimeThread=*/1); // Pass the thread address inside the asm.js scope to store it for fast access that avoids the need for a FFI out. + + for (var i = 0; i < 244/4; ++i) HEAPU32[PThread.mainThreadBlock/4+i] = 0; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((PThread.mainThreadBlock)+(24))>>2)]=PThread.mainThreadBlock; + + // Allocate memory for thread-local storage. + var tlsMemory = allocate(128 * 4, "i32*", ALLOC_STATIC); + for (var i = 0; i < 128; ++i) HEAPU32[tlsMemory/4+i] = 0; + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 52 ) >> 2, PThread.mainThreadBlock); // Main thread ID. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 56 ) >> 2, PROCINFO.pid); // Process ID. + + },pthreads:{},pthreadIdCounter:2,exitHandlers:null,setThreadStatus:function () {},runExitHandlers:function () { + if (PThread.exitHandlers !== null) { + while (PThread.exitHandlers.length > 0) { + PThread.exitHandlers.pop()(); + } + PThread.exitHandlers = null; + } + + // Call into the musl function that runs destructors of all thread-specific data. + if (ENVIRONMENT_IS_PTHREAD && threadInfoStruct) ___pthread_tsd_run_dtors(); + },threadExit:function (exitCode) { + var tb = _pthread_self(); + if (tb) { // If we haven't yet exited? + Atomics.store(HEAPU32, (tb + 4 ) >> 2, exitCode); + // When we publish this, the main thread is free to deallocate the thread object and we are done. + // Therefore set threadInfoStruct = 0; above to 'release' the object in this worker thread. + Atomics.store(HEAPU32, (tb + 0 ) >> 2, 1); + + // Disable all cancellation so that executing the cleanup handlers won't trigger another JS + // canceled exception to be thrown. + Atomics.store(HEAPU32, (tb + 72 ) >> 2, 1/*PTHREAD_CANCEL_DISABLE*/); + Atomics.store(HEAPU32, (tb + 76 ) >> 2, 0/*PTHREAD_CANCEL_DEFERRED*/); + PThread.runExitHandlers(); + + _emscripten_futex_wake(tb + 0, 2147483647); + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + threadInfoStruct = 0; + if (ENVIRONMENT_IS_PTHREAD) { + // This worker no longer owns any WebGL OffscreenCanvases, so transfer them back to parent thread. + var transferList = []; + + + postMessage({ cmd: 'exit' }); + } + } + },threadCancel:function () { + PThread.runExitHandlers(); + Atomics.store(HEAPU32, (threadInfoStruct + 4 ) >> 2, -1/*PTHREAD_CANCELED*/); + Atomics.store(HEAPU32, (threadInfoStruct + 0 ) >> 2, 1); // Mark the thread as no longer running. + _emscripten_futex_wake(threadInfoStruct + 0, 2147483647); // wake all threads + threadInfoStruct = selfThreadId = 0; // Not hosting a pthread anymore in this worker, reset the info structures to null. + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + postMessage({ cmd: 'cancelDone' }); + },terminateAllThreads:function () { + for (var t in PThread.pthreads) { + var pthread = PThread.pthreads[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.pthreads = {}; + for (var t in PThread.unusedWorkerPool) { + var pthread = PThread.unusedWorkerPool[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.unusedWorkerPool = []; + for (var t in PThread.runningWorkers) { + var pthread = PThread.runningWorkers[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.runningWorkers = []; + },freeThreadData:function (pthread) { + if (!pthread) return; + if (pthread.threadInfoStruct) { + var tlsMemory = HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]; + HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]=0; + _free(pthread.tlsMemory); + _free(pthread.threadInfoStruct); + } + pthread.threadInfoStruct = 0; + if (pthread.allocatedOwnStack && pthread.stackBase) _free(pthread.stackBase); + pthread.stackBase = 0; + if (pthread.worker) pthread.worker.pthread = null; + },receiveObjectTransfer:function (data) { + },allocateUnusedWorkers:function (numWorkers, onFinishedLoading) { + if (typeof SharedArrayBuffer === 'undefined') return; // No multithreading support, no-op. + Module['print']('Preallocating ' + numWorkers + ' workers for a pthread spawn pool.'); + + var numWorkersLoaded = 0; + for (var i = 0; i < numWorkers; ++i) { + var pthreadMainJs = 'pthread-main.js'; + // Allow HTML module to configure the location where the 'pthread-main.js' file will be loaded from, + // either via Module.locateFile() function, or via Module.pthreadMainPrefixURL string. If neither + // of these are passed, then the default URL 'pthread-main.js' relative to the main html file is loaded. + if (typeof Module['locateFile'] === 'function') pthreadMainJs = Module['locateFile'](pthreadMainJs); + else if (Module['pthreadMainPrefixURL']) pthreadMainJs = Module['pthreadMainPrefixURL'] + pthreadMainJs; + var worker = new Worker(pthreadMainJs); + + worker.onmessage = function(e) { + // If this message is intended to a recipient that is not the main thread, forward it to the target thread. + if (e.data.targetThread && e.data.targetThread != _pthread_self()) { + var thread = PThread.pthreads[e.data.targetThread]; + if (thread) { + thread.worker.postMessage(e.data, e.data.transferList); + } else { + console.error('Internal error! Worker sent a message "' + e.data.cmd + '" to target pthread ' + e.data.targetThread + ', but that thread no longer exists!'); + } + return; + } + + if (e.data.cmd === 'processQueuedMainThreadWork') { + // TODO: Must post message to main Emscripten thread in PROXY_TO_WORKER mode. + _emscripten_main_thread_process_queued_calls(); + } else if (e.data.cmd === 'spawnThread') { + __spawn_thread(e.data); + } else if (e.data.cmd === 'cleanupThread') { + __cleanup_thread(e.data.thread); + } else if (e.data.cmd === 'killThread') { + __kill_thread(e.data.thread); + } else if (e.data.cmd === 'cancelThread') { + __cancel_thread(e.data.thread); + } else if (e.data.cmd === 'loaded') { + ++numWorkersLoaded; + if (numWorkersLoaded === numWorkers && onFinishedLoading) { + onFinishedLoading(); + } + } else if (e.data.cmd === 'print') { + Module['print']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'printErr') { + Module['printErr']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'alert') { + alert('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'exit') { + // currently no-op + } else if (e.data.cmd === 'cancelDone') { + PThread.freeThreadData(worker.pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + // TODO: Free if detached. + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } else if (e.data.cmd === 'objectTransfer') { + PThread.receiveObjectTransfer(e.data); + } else { + Module['printErr']("worker sent an unknown command " + e.data.cmd); + } + }; + + worker.onerror = function(e) { + Module['printErr']('pthread sent an error! ' + e.filename + ':' + e.lineno + ': ' + e.message); + }; + + // Allocate tempDoublePtr for the worker. This is done here on the worker's behalf, since we may need to do this statically + // if the runtime has not been loaded yet, etc. - so we just use getMemory, which is main-thread only. + var tempDoublePtr = getMemory(8); // TODO: leaks. Cleanup after worker terminates. + + // Ask the new worker to load up the Emscripten-compiled page. This is a heavy operation. + worker.postMessage({ + cmd: 'load', + url: currentScriptUrl, + buffer: HEAPU8.buffer, + tempDoublePtr: tempDoublePtr, + TOTAL_MEMORY: TOTAL_MEMORY, + STATICTOP: STATICTOP, + DYNAMIC_BASE: DYNAMIC_BASE, + DYNAMICTOP_PTR: DYNAMICTOP_PTR, + PthreadWorkerInit: PthreadWorkerInit + }); + PThread.unusedWorkerPool.push(worker); + } + },getNewWorker:function () { + if (PThread.unusedWorkerPool.length == 0) PThread.allocateUnusedWorkers(1); + if (PThread.unusedWorkerPool.length > 0) return PThread.unusedWorkerPool.pop(); + else return null; + },busySpinWait:function (msecs) { + var t = performance.now() + msecs; + while(performance.now() < t) { + ; + } + }};var __pthread_is_main_runtime_thread=0;function _emscripten_is_main_runtime_thread() { + return __pthread_is_main_runtime_thread|0; // Semantically the same as testing "!ENVIRONMENT_IS_PTHREAD" outside the asm.js scope + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _atexit(func, arg) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(110, func, arg); + __ATEXIT__.unshift({ func: func, arg: arg }); + } + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + function ___syscall6(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 6, 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 _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + function ___syscall140(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 140, varargs) } + SYSCALLS.varargs = varargs; + try { + // llseek + var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___syscall146(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 146, 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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + var _tzname; if (ENVIRONMENT_IS_PTHREAD) _tzname = PthreadWorkerInit._tzname; else PthreadWorkerInit._tzname = _tzname = allocate(8, "i32*", ALLOC_STATIC); + + var _daylight; if (ENVIRONMENT_IS_PTHREAD) _daylight = PthreadWorkerInit._daylight; else PthreadWorkerInit._daylight = _daylight = allocate(1, "i32*", ALLOC_STATIC); + + var _timezone; if (ENVIRONMENT_IS_PTHREAD) _timezone = PthreadWorkerInit._timezone; else PthreadWorkerInit._timezone = _timezone = allocate(1, "i32*", ALLOC_STATIC);function _tzset() { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_0(119); + // TODO: Use (malleable) environment variables instead of system settings. + if (_tzset.called) return; + _tzset.called = true; + + HEAP32[((_timezone)>>2)]=-(new Date()).getTimezoneOffset() * 60; + + var winter = new Date(2000, 0, 1); + var summer = new Date(2000, 6, 1); + HEAP32[((_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[((_tzname)>>2)]=winterNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=summerNamePtr; + } else { + HEAP32[((_tzname)>>2)]=summerNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=winterNamePtr; + } + } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _sysconf(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(72, 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 _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + 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 _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + + + + + var _environ; if (ENVIRONMENT_IS_PTHREAD) _environ = PthreadWorkerInit._environ; else PthreadWorkerInit._environ = _environ = allocate(1, "i32*", ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env) { + // 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'; + ENV['_'] = Module['thisProgram']; + // Allocate memory. + poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC); + envPtr = allocate(MAX_ENV_VALUES * 4, + 'i8*', ALLOC_STATIC); + 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; + }var ENV={};function _clearenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(112, name); + // int clearenv (void); + // http://www.gnu.org/s/hello/manual/libc/Environment-Access.html#index-clearenv-3107 + ENV = {}; + ___buildEnvironment(ENV); + return 0; + } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + var _emscripten_asm_const=true; + + function _chroot(path) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(37, path); + // int chroot(const char *path); + // http://pubs.opengroup.org/onlinepubs/7908799/xsh/chroot.html + ___setErrNo(ERRNO_CODES.EACCES); + return -1; + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _unsetenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(114, name); + // int unsetenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/unsetenv.html + if (name === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + name = Pointer_stringify(name); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name)) { + delete ENV[name]; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + + + function _emscripten_get_now_is_monotonic() { + // return whether emscripten_get_now is guaranteed monotonic; the Date.now + // implementation is not :( + return ENVIRONMENT_IS_NODE || (typeof dateNow !== 'undefined') || + ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self['performance'] && self['performance']['now']); + }function _clock_gettime(clk_id, tp) { + // int clock_gettime(clockid_t clk_id, struct timespec *tp); + var now; + if (clk_id === 0) { + now = Date.now(); + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now(); + } else { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + HEAP32[((tp)>>2)]=(now/1000)|0; // seconds + HEAP32[(((tp)+(4))>>2)]=((now % 1000)*1000*1000)|0; // nanoseconds + return 0; + }function ___clock_gettime() { + return _clock_gettime.apply(null, arguments) + } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + + function __cleanup_thread(pthread_ptr) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _cleanup_thread() can only ever be called from main application thread!'; + if (!pthread_ptr) throw 'Internal Error! Null pthread_ptr in _cleanup_thread!'; + HEAP32[(((pthread_ptr)+(24))>>2)]=0; + var pthread = PThread.pthreads[pthread_ptr]; + var worker = pthread.worker; + PThread.freeThreadData(pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } + + function __pthread_testcancel_js() { + if (!ENVIRONMENT_IS_PTHREAD) return; + if (!threadInfoStruct) return; + var cancelDisabled = Atomics.load(HEAPU32, (threadInfoStruct + 72 ) >> 2); + if (cancelDisabled) return; + var canceled = Atomics.load(HEAPU32, (threadInfoStruct + 0 ) >> 2); + if (canceled == 2) throw 'Canceled!'; + }function _pthread_join(thread, status) { + if (!thread) { + Module['printErr']('pthread_join attempted on a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + if (ENVIRONMENT_IS_PTHREAD && selfThreadId == thread) { + Module['printErr']('PThread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + else if (!ENVIRONMENT_IS_PTHREAD && PThread.mainThreadBlock == thread) { + Module['printErr']('Main thread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_join attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var detached = Atomics.load(HEAPU32, (thread + 80 ) >> 2); + if (detached) { + Module['printErr']('Attempted to join thread ' + thread + ', which was already detached!'); + return ERRNO_CODES.EINVAL; // The thread is already detached, can no longer join it! + } + for (;;) { + var threadStatus = Atomics.load(HEAPU32, (thread + 0 ) >> 2); + if (threadStatus == 1) { // Exited? + var threadExitCode = Atomics.load(HEAPU32, (thread + 4 ) >> 2); + if (status) HEAP32[((status)>>2)]=threadExitCode; + Atomics.store(HEAPU32, (thread + 80 ) >> 2, 1); // Mark the thread as detached. + + if (!ENVIRONMENT_IS_PTHREAD) __cleanup_thread(thread); + else postMessage({ cmd: 'cleanupThread', thread: thread}); + return 0; + } + // TODO HACK! Replace the _js variant with just _pthread_testcancel: + //_pthread_testcancel(); + __pthread_testcancel_js(); + // In main runtime thread (the thread that initialized the Emscripten C runtime and launched main()), assist pthreads in performing operations + // that they need to access the Emscripten main runtime for. + if (!ENVIRONMENT_IS_PTHREAD) _emscripten_main_thread_process_queued_calls(); + _emscripten_futex_wait(thread + 0, threadStatus, ENVIRONMENT_IS_PTHREAD ? 100 : 1); + } + } + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + var __main_thread_futex_wait_address; if (ENVIRONMENT_IS_PTHREAD) __main_thread_futex_wait_address = PthreadWorkerInit.__main_thread_futex_wait_address; else PthreadWorkerInit.__main_thread_futex_wait_address = __main_thread_futex_wait_address = allocate(1, "i32*", ALLOC_STATIC);function _emscripten_futex_wait(addr, val, timeout) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0) return -22; + // dump('futex_wait addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ENVIRONMENT_IS_WORKER) { + var ret = Atomics.wait(HEAP32, addr >> 2, val, timeout); + // dump('futex_wait done by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ret === 'timed-out') return -110; + if (ret === 'not-equal') return -11; + if (ret === 'ok') return 0; + throw 'Atomics.wait returned an unexpected value ' + ret; + } else { + // Atomics.wait is not available in the main browser thread, so simulate it via busy spinning. + var loadedVal = Atomics.load(HEAP32, addr >> 2); + if (val != loadedVal) return -11; + + var tNow = performance.now(); + var tEnd = tNow + timeout; + + + // Register globally which address the main thread is simulating to be waiting on. When zero, main thread is not waiting on anything, + // and on nonzero, the contents of address pointed by __main_thread_futex_wait_address tell which address the main thread is simulating its wait on. + Atomics.store(HEAP32, __main_thread_futex_wait_address >> 2, addr); + var ourWaitAddress = addr; // We may recursively re-enter this function while processing queued calls, in which case we'll do a spurious wakeup of the older wait operation. + while (addr == ourWaitAddress) { + tNow = performance.now(); + if (tNow > tEnd) { + return -110; + } + _emscripten_main_thread_process_queued_calls(); // We are performing a blocking loop here, so must pump any pthreads if they want to perform operations that are proxied. + addr = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); // Look for a worker thread waking us up. + } + return 0; + } + } + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + + + var cttz_i8; if (ENVIRONMENT_IS_PTHREAD) cttz_i8 = PthreadWorkerInit.cttz_i8; else PthreadWorkerInit.cttz_i8 = cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + function __exit(status) { + // void _exit(int status); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html + Module['exit'](status); + }function _exit(status) { + __exit(status); + } + + function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_futex_wake(addr, count) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0 || count < 0) return -22; + if (count == 0) return 0; + // dump('futex_wake addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + + // See if main thread is waiting on this address? If so, wake it up by resetting its wake location to zero. + // Note that this is not a fair procedure, since we always wake main thread first before any workers, so + // this scheme does not adhere to real queue-based waiting. + var mainThreadWaitAddress = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); + var mainThreadWoken = 0; + if (mainThreadWaitAddress == addr) { + var loadedAddr = Atomics.compareExchange(HEAP32, __main_thread_futex_wait_address >> 2, mainThreadWaitAddress, 0); + if (loadedAddr == mainThreadWaitAddress) { + --count; + mainThreadWoken = 1; + if (count <= 0) return 1; + } + } + + // Wake any workers waiting on this address. + var ret = Atomics.wake(HEAP32, addr >> 2, count); + if (ret >= 0) return ret + mainThreadWoken; + throw 'Atomics.wake returned an unexpected value ' + ret; + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + + function __spawn_thread(threadParams) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _spawn_thread() can only ever be called from main application thread!'; + + var worker = PThread.getNewWorker(); + if (worker.pthread !== undefined) throw 'Internal error!'; + if (!threadParams.pthread_ptr) throw 'Internal error, no pthread ptr!'; + PThread.runningWorkers.push(worker); + + // Allocate memory for thread-local storage and initialize it to zero. + var tlsMemory = _malloc(128 * 4); + for (var i = 0; i < 128; ++i) { + HEAP32[(((tlsMemory)+(i*4))>>2)]=0; + } + + var pthread = PThread.pthreads[threadParams.pthread_ptr] = { // Create a pthread info object to represent this thread. + worker: worker, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + allocatedOwnStack: threadParams.allocatedOwnStack, + thread: threadParams.pthread_ptr, + threadInfoStruct: threadParams.pthread_ptr // Info area for this thread in Emscripten HEAP (shared) + }; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 0 ) >> 2, 0); // threadStatus <- 0, meaning not yet exited. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 4 ) >> 2, 0); // threadExitCode <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 20 ) >> 2, 0); // profilerBlock <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 80 ) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 60 ) >> 2, 0); // Mark initial status to unused. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 52 ) >> 2, pthread.threadInfoStruct); // Main thread ID. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 56 ) >> 2, PROCINFO.pid); // Process ID. + + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 96) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 92) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 8) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 12) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 20) >> 2, threadParams.schedPolicy); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 24) >> 2, threadParams.schedPrio); + + var global_libc = _emscripten_get_global_libc(); + var global_locale = global_libc + 40; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 188) >> 2, global_locale); + + + worker.pthread = pthread; + + // Ask the worker to start executing its pthread entry point function. + worker.postMessage({ + cmd: 'run', + start_routine: threadParams.startRoutine, + arg: threadParams.arg, + threadInfoStruct: threadParams.pthread_ptr, + selfThreadId: threadParams.pthread_ptr, // TODO: Remove this since thread ID is now the same as the thread address. + parentThreadId: threadParams.parent_pthread_ptr, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + }, threadParams.transferList); + } + + function _pthread_getschedparam(thread, policy, schedparam) { + if (!policy && !schedparam) return ERRNO_CODES.EINVAL; + + if (!thread) { + Module['printErr']('pthread_getschedparam called with a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_getschedparam attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var schedPolicy = Atomics.load(HEAPU32, (thread + 120 + 20 ) >> 2); + var schedPrio = Atomics.load(HEAPU32, (thread + 120 + 24 ) >> 2); + + if (policy) HEAP32[((policy)>>2)]=schedPolicy; + if (schedparam) HEAP32[((schedparam)>>2)]=schedPrio; + return 0; + } + + function _pthread_self() { + return __pthread_ptr|0; + }function _pthread_create(pthread_ptr, attr, start_routine, arg) { + if (typeof SharedArrayBuffer === 'undefined') { + Module['printErr']('Current environment does not support SharedArrayBuffer, pthreads are not available!'); + return 11; + } + if (!pthread_ptr) { + Module['printErr']('pthread_create called with a null thread pointer!'); + return 22; + } + + var transferList = []; // List of JS objects that will transfer ownership to the Worker hosting the thread + + + // Synchronously proxy the thread creation to main thread if possible. If we need to transfer ownership of objects, then + // proxy asynchronously via postMessage. + if (ENVIRONMENT_IS_PTHREAD && transferList.length == 0) { + return _emscripten_sync_run_in_main_thread_4(137, pthread_ptr, attr, start_routine, arg); + } + + var stackSize = 0; + var stackBase = 0; + var detached = 0; // Default thread attr is PTHREAD_CREATE_JOINABLE, i.e. start as not detached. + var schedPolicy = 0; /*SCHED_OTHER*/ + var schedPrio = 0; + if (attr) { + stackSize = HEAP32[((attr)>>2)]; + stackBase = HEAP32[(((attr)+(8))>>2)]; + detached = HEAP32[(((attr)+(12))>>2)] != 0/*PTHREAD_CREATE_JOINABLE*/; + var inheritSched = HEAP32[(((attr)+(16))>>2)] == 0/*PTHREAD_INHERIT_SCHED*/; + if (inheritSched) { + var prevSchedPolicy = HEAP32[(((attr)+(20))>>2)]; + var prevSchedPrio = HEAP32[(((attr)+(24))>>2)]; + _pthread_getschedparam(_pthread_self(), attr + 20, attr + 24); + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + HEAP32[(((attr)+(20))>>2)]=prevSchedPolicy; + HEAP32[(((attr)+(24))>>2)]=prevSchedPrio; + } else { + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + } + } + stackSize += 81920 /*DEFAULT_STACK_SIZE*/; + var allocatedOwnStack = stackBase == 0; // If allocatedOwnStack == true, then the pthread impl maintains the stack allocation. + if (allocatedOwnStack) { + stackBase = _malloc(stackSize); // Allocate a stack if the user doesn't want to place the stack in a custom memory area. + } else { + // Musl stores the stack base address assuming stack grows downwards, so adjust it to Emscripten convention that the + // stack grows upwards instead. + stackBase -= stackSize; + assert(stackBase > 0); + } + + // Allocate thread block (pthread_t structure). + var threadInfoStruct = _malloc(244); + for (var i = 0; i < 244 >> 2; ++i) HEAPU32[(threadInfoStruct>>2) + i] = 0; // zero-initialize thread structure. + HEAP32[((pthread_ptr)>>2)]=threadInfoStruct; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((threadInfoStruct)+(24))>>2)]=threadInfoStruct; + + // pthread struct robust_list head should point to itself. + var headPtr = threadInfoStruct + 168; + HEAP32[((headPtr)>>2)]=headPtr; + + var threadParams = { + stackBase: stackBase, + stackSize: stackSize, + allocatedOwnStack: allocatedOwnStack, + schedPolicy: schedPolicy, + schedPrio: schedPrio, + detached: detached, + startRoutine: start_routine, + pthread_ptr: threadInfoStruct, + parent_pthread_ptr: _pthread_self(), + arg: arg, + transferList: transferList + }; + + if (ENVIRONMENT_IS_PTHREAD) { + // The prepopulated pool of web workers that can host pthreads is stored in the main JS thread. Therefore if a + // pthread is attempting to spawn a new thread, the thread creation must be deferred to the main JS thread. + threadParams.cmd = 'spawnThread'; + postMessage(threadParams, transferList); + } else { + // We are the main thread, so we have the pthread warmup pool in this thread and can fire off JS thread creation + // directly ourselves. + __spawn_thread(threadParams); + } + + return 0; + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + + function _emscripten_set_current_thread_status_js(newStatus) { + } + Module["_emscripten_set_current_thread_status"] = _emscripten_set_current_thread_status; + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _confstr(name, buf, len) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(68, name, buf, len); + // size_t confstr(int name, char *buf, size_t len); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/confstr.html + var value; + switch (name) { + case 0: + value = ENV['PATH'] || '/'; + break; + case 1: + // Mimicking glibc. + value = 'POSIX_V6_ILP32_OFF32\nPOSIX_V6_ILP32_OFFBIG'; + break; + case 2: + // This JS implementation was tested against this glibc version. + value = 'glibc 2.14'; + break; + case 3: + // We don't support pthreads. + value = ''; + break; + case 1118: + case 1122: + case 1124: + case 1125: + case 1126: + case 1128: + case 1129: + case 1130: + value = ''; + break; + case 1116: + case 1117: + case 1121: + value = '-m32'; + break; + case 1120: + value = '-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'; + break; + default: + ___setErrNo(ERRNO_CODES.EINVAL); + return 0; + } + if (len == 0 || buf == 0) { + return value.length + 1; + } else { + var length = Math.min(len, value.length); + for (var i = 0; i < length; i++) { + HEAP8[(((buf)+(i))>>0)]=value.charCodeAt(i); + } + if (len > length) HEAP8[(((buf)+(i++))>>0)]=0; + return i; + } + } + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _getenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(111, 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 = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL); + return _getenv.ret; + } + + + function _emscripten_conditional_set_current_thread_status_js(expectedStatus, newStatus) { + } + Module["_emscripten_conditional_set_current_thread_status"] = _emscripten_conditional_set_current_thread_status; + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function ___assert_fail(condition, filename, line, func) { + ABORT = true; + throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _setenv(envname, envval, overwrite) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(113, envname, envval, overwrite); + // int setenv(const char *envname, const char *envval, int overwrite); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/setenv.html + if (envname === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = Pointer_stringify(envname); + var val = Pointer_stringify(envval); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name) && !overwrite) return 0; + ENV[name] = val; + ___buildEnvironment(ENV); + return 0; + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _emscripten_syscall(which, varargs) { + switch (which) { + case 54: return ___syscall54(which, varargs); + case 6: return ___syscall6(which, varargs); + case 140: return ___syscall140(which, varargs); + case 146: return ___syscall146(which, varargs); + default: throw "surprising proxied syscall: " + which; + } + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _fpathconf(fildes, name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(46, fildes, name); + // long fpathconf(int fildes, int name); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/encrypt.html + // NOTE: The first parameter is ignored, so pathconf == fpathconf. + // The constants here aren't real values. Just mimicking glibc. + switch (name) { + case 0: + return 32000; + case 1: + case 2: + case 3: + return 255; + case 4: + case 5: + case 16: + case 17: + case 18: + return 4096; + case 6: + case 7: + case 20: + return 1; + case 8: + return 0; + case 9: + case 10: + case 11: + case 12: + case 14: + case 15: + case 19: + return -1; + case 13: + return 64; + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + + function _putenv(string) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(115, string); + // int putenv(char *string); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/putenv.html + // WARNING: According to the standard (and the glibc implementation), the + // string is taken by reference so future changes are reflected. + // We copy it instead, possibly breaking some uses. + if (string === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + string = Pointer_stringify(string); + var splitPoint = string.indexOf('=') + if (string === '' || string.indexOf('=') === -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = string.slice(0, splitPoint); + var value = string.slice(splitPoint + 1); + if (!(name in ENV) || ENV[name] !== value) { + ENV[name] = value; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function _utimes(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(13, path, times); + var time; + if (times) { + var offset = 8 + 0; + time = HEAP32[(((times)+(offset))>>2)] * 1000; + offset = 8 + 4; + time += HEAP32[(((times)+(offset))>>2)] / 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__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(); }; +JSEvents.staticInit();; +if (!ENVIRONMENT_IS_PTHREAD) PThread.initMainThreadBlock();; +if (!ENVIRONMENT_IS_PTHREAD) ___buildEnvironment(ENV);; +if (!ENVIRONMENT_IS_PTHREAD) { + // Only main thread initializes these, pthreads copy them over at thread worker init time (in pthread-main.js) +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + +} + + + +function nullFunc_viiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vi(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_ii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_v(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function invoke_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_ii(index,a1) { + try { + return Module["dynCall_ii"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iiii(index,a1,a2,a3) { + try { + return Module["dynCall_iiii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } catch(e) { + 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.asmGlobalArg['Atomics'] = Atomics; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_clock_gettime": _clock_gettime, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_sysconf": _sysconf, "_utime": _utime, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_chroot": _chroot, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "__pthread_testcancel_js": __pthread_testcancel_js, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_unsetenv": _unsetenv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_asm_const_v": _emscripten_asm_const_v, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_pthread_self": _pthread_self, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "__register_pthread_ptr": __register_pthread_ptr, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_gettimeofday": _gettimeofday, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "__spawn_thread": __spawn_thread, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_conditional_set_current_thread_status_js": _emscripten_conditional_set_current_thread_status_js, "_putenv": _putenv, "_pthread_join": _pthread_join, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_fpathconf": _fpathconf, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "___unlock": ___unlock, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_is_main_runtime_thread": _emscripten_is_main_runtime_thread, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___buildEnvironment": ___buildEnvironment, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_utimes": _utimes, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_tzset": _tzset, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "___clock_gettime": ___clock_gettime, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_clearenv": _clearenv, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_getenv": _getenv, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_emscripten_futex_wake": _emscripten_futex_wake, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "__cleanup_thread": __cleanup_thread, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_set_current_thread_status_js": _emscripten_set_current_thread_status_js, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_syscall": _emscripten_syscall, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_futex_wait": _emscripten_futex_wait, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "___pthread_setcancelstate": ___pthread_setcancelstate, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_confstr": _confstr, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "___syscall54": ___syscall54, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_pthread_getschedparam": _pthread_getschedparam, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_atexit": _atexit, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_setenv": _setenv, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use 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 ABORT=env.ABORT|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; + var cttz_i8=env.cttz_i8|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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var ___assert_fail=env.___assert_fail; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _clock_gettime=env._clock_gettime; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _sysconf=env._sysconf; + var _utime=env._utime; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _chroot=env._chroot; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var __pthread_testcancel_js=env.__pthread_testcancel_js; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _unsetenv=env._unsetenv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var ___syscall146=env.___syscall146; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _emscripten_get_now_is_monotonic=env._emscripten_get_now_is_monotonic; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_asm_const_v=env._emscripten_asm_const_v; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _pthread_self=env._pthread_self; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var __register_pthread_ptr=env.__register_pthread_ptr; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var _gettimeofday=env._gettimeofday; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var __spawn_thread=env.__spawn_thread; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_conditional_set_current_thread_status_js=env._emscripten_conditional_set_current_thread_status_js; + var _putenv=env._putenv; + var _pthread_join=env._pthread_join; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _fpathconf=env._fpathconf; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var ___unlock=env.___unlock; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_is_main_runtime_thread=env._emscripten_is_main_runtime_thread; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___buildEnvironment=env.___buildEnvironment; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _utimes=env._utimes; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _tzset=env._tzset; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var ___clock_gettime=env.___clock_gettime; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _clearenv=env._clearenv; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _getenv=env._getenv; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _emscripten_futex_wake=env._emscripten_futex_wake; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var __cleanup_thread=env.__cleanup_thread; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_set_current_thread_status_js=env._emscripten_set_current_thread_status_js; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_syscall=env._emscripten_syscall; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_futex_wait=env._emscripten_futex_wait; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var ___pthread_setcancelstate=env.___pthread_setcancelstate; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _confstr=env._confstr; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var ___syscall54=env.___syscall54; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _pthread_create=env._pthread_create; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _pthread_getschedparam=env._pthread_getschedparam; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _atexit=env._atexit; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _setenv=env._setenv; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + var Atomics_load=global.Atomics.load; + var Atomics_store=global.Atomics.store; + var Atomics_exchange=global.Atomics.exchange; + var Atomics_compareExchange=global.Atomics.compareExchange; + var Atomics_add=global.Atomics.add; + var Atomics_sub=global.Atomics.sub; + var Atomics_and=global.Atomics.and; + var Atomics_or=global.Atomics.or; + var Atomics_xor=global.Atomics.xor; + 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 _InitPhysics() { + var label = 0, sp = 0; + sp = STACKTOP; + (_pthread_create((14312|0),(0|0),(2|0),(0|0))|0); + return; +} +function _PhysicsLoop($0) { + $0 = $0|0; + var $$0 = 0, $$010 = 0, $$011 = 0, $$09 = 0, $$0912 = 0, $$0913 = 0, $$pr = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.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, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3579] = 1; + HEAPF64[1751] = 0.0; + _InitTimer(); + $1 = HEAP32[3579]|0; + $2 = ($1|0)==(0); + if (!($2)) { + while(1) { + $3 = (+_GetCurrentTime()); + HEAPF64[1752] = $3; + $4 = +HEAPF64[1753]; + $5 = $3 - $4; + HEAPF64[1754] = $5; + $6 = +HEAPF64[1751]; + $7 = $5 + $6; + HEAPF64[1751] = $7; + _MathClamp(); + $$pr = +HEAPF64[1751]; + $8 = !($$pr >= 0.016666666666666666); + if (!($8)) { + while(1) { + _PhysicsStep(); + $9 = +HEAPF64[1754]; + $10 = +HEAPF64[1751]; + $11 = $10 - $9; + HEAPF64[1751] = $11; + $12 = !($11 >= 0.016666666666666666); + if ($12) { + break; + } + } + } + $13 = +HEAPF64[1752]; + HEAPF64[1753] = $13; + $14 = HEAP32[3579]|0; + $15 = ($14|0)==(0); + if ($15) { + break; + } + } + } + $16 = HEAP32[3646]|0; + $$0912 = (($16) + -1)|0; + $17 = ($$0912|0)>(-1); + if ($17) { + $$0913 = $$0912; + while(1) { + $20 = (14588 + ($$0913<<2)|0); + $21 = HEAP32[$20>>2]|0; + _DestroyPhysicsManifold($21); + $$09 = (($$0913) + -1)|0; + $22 = ($$09|0)>(-1); + if ($22) { + $$0913 = $$09; + } else { + break; + } + } + } + $18 = HEAP32[3581]|0; + $$010 = (($18) + -1)|0; + $19 = ($$010|0)>(-1); + if ($19) { + $$011 = $$010; + } else { + return (0|0); + } + while(1) { + $23 = (14328 + ($$011<<2)|0); + $24 = HEAP32[$23>>2]|0; + _DestroyPhysicsBody($24); + $$0 = (($$011) + -1)|0; + $25 = ($$0|0)>(-1); + if ($25) { + $$011 = $$0; + } else { + break; + } + } + return (0|0); +} +function _CreatePhysicsBodyCircle($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + $3 = (_CreatePhysicsBodyPolygon($$byval_copy,$1,24,$2)|0); + STACKTOP = sp;return ($3|0); +} +function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = +$3; + var $$0116149 = 0, $$0116149158159 = 0, $$0119144 = 0, $$0120136 = 0, $$0121$lcssa161 = 0.0, $$0121134 = 0.0, $$0122$lcssa160 = 0.0, $$0122133 = 0.0, $$0131 = 0, $$sroa$0$0132 = 0.0, $$sroa$049$0$$sroa_idx = 0, $$sroa$8$0135 = 0.0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0.0; + var $107 = 0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.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.0; + var $125 = 0.0, $126 = 0, $127 = 0.0, $128 = 0.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, $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.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.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.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0; + var $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $tmpcast$byval_copy = 0; + var $tmpcast123$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $tmpcast123$byval_copy = sp + 432|0; + $tmpcast$byval_copy = sp + 424|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (_malloc(500)|0); + $8 = HEAP32[3580]|0; + $9 = (($8) + 500)|0; + HEAP32[3580] = $9; + $10 = HEAP32[3581]|0; + $11 = ($10|0)==(0); + $$0116149 = 0; + L1: while(1) { + if ($11) { + $$0116149158159 = 0; + break; + } else { + $$0119144 = 0; + } + while(1) { + $14 = (14328 + ($$0119144<<2)|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==($$0116149|0); + $13 = (($$0119144) + 1)|0; + if ($17) { + break; + } + $12 = ($13>>>0)<($10>>>0); + if ($12) { + $$0119144 = $13; + } else { + label = 6; + break L1; + } + } + $18 = (($$0116149) + 1)|0; + $19 = ($18|0)<(64); + if ($19) { + $$0116149 = $18; + } else { + label = 14; + break; + } + } + if ((label|0) == 14) { + STACKTOP = sp;return ($7|0); + } + if ((label|0) == 6) { + $20 = ($$0116149|0)==(-1); + if ($20) { + STACKTOP = sp;return ($7|0); + } else { + $$0116149158159 = $$0116149; + } + } + HEAP32[$7>>2] = $$0116149158159; + $21 = ((($7)) + 4|0); + HEAP32[$21>>2] = 1; + $22 = ((($7)) + 8|0); + $23 = $0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + $$sroa$049$0$$sroa_idx = ((($7)) + 16|0); + $33 = ((($7)) + 84|0); + ;HEAP32[$$sroa$049$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+20>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+24>>2]=0|0; + HEAP32[$33>>2] = 1; + $34 = ((($7)) + 88|0); + HEAP32[$34>>2] = $7; + $35 = ((($7)) + 96|0); + _CreateRandomPolygon($4,$1,$2); + _memcpy(($35|0),($4|0),404)|0; + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $$0121$lcssa161 = 0.0;$$0122$lcssa160 = 0.0; + } else { + $38 = ((($7)) + 100|0); + $39 = ((($5)) + 4|0); + $40 = ((($6)) + 4|0); + $$0120136 = 0;$$0121134 = 0.0;$$0122133 = 0.0;$$sroa$0$0132 = 0.0;$$sroa$8$0135 = 0.0; + while(1) { + $50 = (($38) + ($$0120136<<3)|0); + $51 = $50; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = $5; + $58 = $57; + HEAP32[$58>>2] = $53; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = $56; + $61 = (($$0120136) + 1)|0; + $62 = HEAP32[$35>>2]|0; + $63 = ($61>>>0)<($62>>>0); + $64 = $63 ? $61 : 0; + $65 = (($38) + ($64<<3)|0); + $66 = $65; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = $6; + $73 = $72; + HEAP32[$73>>2] = $68; + $74 = (($72) + 4)|0; + $75 = $74; + HEAP32[$75>>2] = $71; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + $76 = (+_MathCrossVector2($tmpcast$byval_copy,$tmpcast123$byval_copy)); + $77 = $76 * 0.5; + $42 = $$0122133 + $77; + $78 = $77 * 0.3333333432674408; + $79 = +HEAPF32[$5>>2]; + $80 = +HEAPF32[$6>>2]; + $81 = $79 + $80; + $82 = $78 * $81; + $44 = $$sroa$0$0132 + $82; + $83 = +HEAPF32[$39>>2]; + $84 = +HEAPF32[$40>>2]; + $85 = $83 + $84; + $86 = $78 * $85; + $46 = $$sroa$8$0135 + $86; + $87 = $79 * $79; + $88 = $79 * $80; + $89 = $87 + $88; + $90 = $80 * $80; + $91 = $90 + $89; + $92 = $83 * $83; + $93 = $83 * $84; + $94 = $92 + $93; + $95 = $84 * $84; + $96 = $95 + $94; + $97 = $76 * 0.083333335816860198; + $98 = $91 + $96; + $99 = $97 * $98; + $100 = $$0121134 + $99; + $48 = HEAP32[$35>>2]|0; + $101 = ($61>>>0)<($48>>>0); + if ($101) { + $$0120136 = $61;$$0121134 = $100;$$0122133 = $42;$$sroa$0$0132 = $44;$$sroa$8$0135 = $46; + } else { + break; + } + } + $41 = 1.0 / $42; + $43 = $44 * $41; + $45 = $41 * $46; + $47 = ($48|0)==(0); + if ($47) { + $$0121$lcssa161 = $100;$$0122$lcssa160 = $42; + } else { + $49 = ((($7)) + 100|0); + $$0131 = 0; + while(1) { + $123 = (($49) + ($$0131<<3)|0); + $124 = +HEAPF32[$123>>2]; + $125 = $124 - $43; + HEAPF32[$123>>2] = $125; + $126 = (((($49) + ($$0131<<3)|0)) + 4|0); + $127 = +HEAPF32[$126>>2]; + $128 = $127 - $45; + HEAPF32[$126>>2] = $128; + $129 = (($$0131) + 1)|0; + $exitcond = ($129|0)==($48|0); + if ($exitcond) { + $$0121$lcssa161 = $100;$$0122$lcssa160 = $42; + break; + } else { + $$0131 = $129; + } + } + } + } + $102 = $$0122$lcssa160 * $3; + $103 = ((($7)) + 52|0); + HEAPF32[$103>>2] = $102; + $104 = $102 != 0.0; + $105 = 1.0 / $102; + $106 = $104 ? $105 : 0.0; + $107 = ((($7)) + 56|0); + HEAPF32[$107>>2] = $106; + $108 = $$0121$lcssa161 * $3; + $109 = ((($7)) + 44|0); + HEAPF32[$109>>2] = $108; + $110 = $108 != 0.0; + $111 = 1.0 / $108; + $112 = $110 ? $111 : 0.0; + $113 = ((($7)) + 48|0); + HEAPF32[$113>>2] = $112; + $114 = ((($7)) + 60|0); + HEAPF32[$114>>2] = 0.40000000596046448; + $115 = ((($7)) + 64|0); + HEAPF32[$115>>2] = 0.20000000298023224; + $116 = ((($7)) + 68|0); + HEAPF32[$116>>2] = 0.0; + $117 = ((($7)) + 72|0); + HEAP32[$117>>2] = 1; + $118 = ((($7)) + 76|0); + HEAP32[$118>>2] = 0; + $119 = ((($7)) + 80|0); + HEAP32[$119>>2] = 0; + $120 = HEAP32[3581]|0; + $121 = (14328 + ($120<<2)|0); + HEAP32[$121>>2] = $7; + $122 = (($120) + 1)|0; + HEAP32[3581] = $122; + STACKTOP = sp;return ($7|0); +} +function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$0116149 = 0, $$0116149158159 = 0, $$0119144 = 0, $$0120136 = 0, $$0121$lcssa161 = 0.0, $$0121134 = 0.0, $$0122$lcssa160 = 0.0, $$0122133 = 0.0, $$0131 = 0, $$sroa$0$0132 = 0.0, $$sroa$049$0$$sroa_idx = 0, $$sroa$8$0135 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.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.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 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, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0; + var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.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.0, $79 = 0.0, $8 = 0, $80 = 0.0; + var $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0; + var $exitcond = 0, $tmpcast$byval_copy = 0, $tmpcast123$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $tmpcast123$byval_copy = sp + 440|0; + $tmpcast$byval_copy = sp + 432|0; + $4 = sp + 424|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_malloc(500)|0); + $9 = HEAP32[3580]|0; + $10 = (($9) + 500)|0; + HEAP32[3580] = $10; + $11 = HEAP32[3581]|0; + $12 = ($11|0)==(0); + $$0116149 = 0; + L1: while(1) { + if ($12) { + $$0116149158159 = 0; + break; + } else { + $$0119144 = 0; + } + while(1) { + $15 = (14328 + ($$0119144<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($$0116149|0); + $14 = (($$0119144) + 1)|0; + if ($18) { + break; + } + $13 = ($14>>>0)<($11>>>0); + if ($13) { + $$0119144 = $14; + } else { + label = 6; + break L1; + } + } + $19 = (($$0116149) + 1)|0; + $20 = ($19|0)<(64); + if ($20) { + $$0116149 = $19; + } else { + label = 14; + break; + } + } + if ((label|0) == 14) { + STACKTOP = sp;return ($8|0); + } + if ((label|0) == 6) { + $21 = ($$0116149|0)==(-1); + if ($21) { + STACKTOP = sp;return ($8|0); + } else { + $$0116149158159 = $$0116149; + } + } + HEAP32[$8>>2] = $$0116149158159; + $22 = ((($8)) + 4|0); + HEAP32[$22>>2] = 1; + $23 = ((($8)) + 8|0); + $24 = $0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = $23; + $31 = $30; + HEAP32[$31>>2] = $26; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $$sroa$049$0$$sroa_idx = ((($8)) + 16|0); + $34 = ((($8)) + 84|0); + ;HEAP32[$$sroa$049$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+20>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+24>>2]=0|0; + HEAP32[$34>>2] = 1; + $35 = ((($8)) + 88|0); + HEAP32[$35>>2] = $8; + $36 = ((($8)) + 96|0); + HEAPF32[$4>>2] = $1; + $37 = ((($4)) + 4|0); + HEAPF32[$37>>2] = $2; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + _CreateRectanglePolygon($5,$tmpcast$byval_copy,$tmpcast123$byval_copy); + _memcpy(($36|0),($5|0),404)|0; + $38 = HEAP32[$36>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $$0121$lcssa161 = 0.0;$$0122$lcssa160 = 0.0; + } else { + $40 = ((($8)) + 100|0); + $41 = ((($6)) + 4|0); + $42 = ((($7)) + 4|0); + $$0120136 = 0;$$0121134 = 0.0;$$0122133 = 0.0;$$sroa$0$0132 = 0.0;$$sroa$8$0135 = 0.0; + while(1) { + $52 = (($40) + ($$0120136<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$0120136) + 1)|0; + $64 = HEAP32[$36>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (($40) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; + $78 = (+_MathCrossVector2($tmpcast$byval_copy,$tmpcast123$byval_copy)); + $79 = $78 * 0.5; + $44 = $$0122133 + $79; + $80 = $79 * 0.3333333432674408; + $81 = +HEAPF32[$6>>2]; + $82 = +HEAPF32[$7>>2]; + $83 = $81 + $82; + $84 = $80 * $83; + $46 = $$sroa$0$0132 + $84; + $85 = +HEAPF32[$41>>2]; + $86 = +HEAPF32[$42>>2]; + $87 = $85 + $86; + $88 = $80 * $87; + $48 = $$sroa$8$0135 + $88; + $89 = $81 * $81; + $90 = $81 * $82; + $91 = $89 + $90; + $92 = $82 * $82; + $93 = $92 + $91; + $94 = $85 * $85; + $95 = $85 * $86; + $96 = $94 + $95; + $97 = $86 * $86; + $98 = $97 + $96; + $99 = $78 * 0.083333335816860198; + $100 = $93 + $98; + $101 = $99 * $100; + $102 = $$0121134 + $101; + $50 = HEAP32[$36>>2]|0; + $103 = ($63>>>0)<($50>>>0); + if ($103) { + $$0120136 = $63;$$0121134 = $102;$$0122133 = $44;$$sroa$0$0132 = $46;$$sroa$8$0135 = $48; + } else { + break; + } + } + $43 = 1.0 / $44; + $45 = $46 * $43; + $47 = $43 * $48; + $49 = ($50|0)==(0); + if ($49) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + } else { + $51 = ((($8)) + 100|0); + $$0131 = 0; + while(1) { + $125 = (($51) + ($$0131<<3)|0); + $126 = +HEAPF32[$125>>2]; + $127 = $126 - $45; + HEAPF32[$125>>2] = $127; + $128 = (((($51) + ($$0131<<3)|0)) + 4|0); + $129 = +HEAPF32[$128>>2]; + $130 = $129 - $47; + HEAPF32[$128>>2] = $130; + $131 = (($$0131) + 1)|0; + $exitcond = ($131|0)==($50|0); + if ($exitcond) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + break; + } else { + $$0131 = $131; + } + } + } + } + $104 = $$0122$lcssa160 * $3; + $105 = ((($8)) + 52|0); + HEAPF32[$105>>2] = $104; + $106 = $104 != 0.0; + $107 = 1.0 / $104; + $108 = $106 ? $107 : 0.0; + $109 = ((($8)) + 56|0); + HEAPF32[$109>>2] = $108; + $110 = $$0121$lcssa161 * $3; + $111 = ((($8)) + 44|0); + HEAPF32[$111>>2] = $110; + $112 = $110 != 0.0; + $113 = 1.0 / $110; + $114 = $112 ? $113 : 0.0; + $115 = ((($8)) + 48|0); + HEAPF32[$115>>2] = $114; + $116 = ((($8)) + 60|0); + HEAPF32[$116>>2] = 0.40000000596046448; + $117 = ((($8)) + 64|0); + HEAPF32[$117>>2] = 0.20000000298023224; + $118 = ((($8)) + 68|0); + HEAPF32[$118>>2] = 0.0; + $119 = ((($8)) + 72|0); + HEAP32[$119>>2] = 1; + $120 = ((($8)) + 76|0); + HEAP32[$120>>2] = 0; + $121 = ((($8)) + 80|0); + HEAP32[$121>>2] = 0; + $122 = HEAP32[3581]|0; + $123 = (14328 + ($122<<2)|0); + HEAP32[$123>>2] = $8; + $124 = (($122) + 1)|0; + HEAP32[3581] = $124; + STACKTOP = sp;return ($8|0); +} +function _CreateRectanglePolygon($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$024 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$sroa$012$0$$sroa_idx = 0, $$sroa$015$0$$sroa_idx = 0, $$sroa$018$0$$sroa_idx = 0, $$sroa$021$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$213$0$$sroa_idx14 = 0, $$sroa$216$0$$sroa_idx17 = 0, $$sroa$219$0$$sroa_idx20 = 0, $$sroa$222$0$$sroa_idx23 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0; + var $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.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.0, $54 = 0.0; + var $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy1 = sp + 440|0; + $$byval_copy = sp + 432|0; + $3 = sp + 24|0; + $4 = sp; + $5 = sp + 16|0; + $6 = ((($3)) + 36|0); + _memset(($6|0),0,368)|0; + HEAP32[$3>>2] = 4; + $7 = ((($3)) + 388|0); + _Mat2Radians($4,0.0); + ;HEAP32[$7>>2]=HEAP32[$4>>2]|0;HEAP32[$7+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$4+12>>2]|0; + $8 = +HEAPF32[$1>>2]; + $9 = +HEAPF32[$2>>2]; + $10 = $9 * 0.5; + $11 = $8 + $10; + $12 = ((($1)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($2)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15 * 0.5; + $17 = $13 - $16; + $$sroa$021$0$$sroa_idx = ((($3)) + 4|0); + HEAPF32[$$sroa$021$0$$sroa_idx>>2] = $11; + $$sroa$222$0$$sroa_idx23 = ((($3)) + 8|0); + HEAPF32[$$sroa$222$0$$sroa_idx23>>2] = $17; + $18 = +HEAPF32[$1>>2]; + $19 = +HEAPF32[$2>>2]; + $20 = $19 * 0.5; + $21 = $18 + $20; + $22 = +HEAPF32[$12>>2]; + $23 = +HEAPF32[$14>>2]; + $24 = $23 * 0.5; + $25 = $22 + $24; + $$sroa$018$0$$sroa_idx = ((($3)) + 12|0); + HEAPF32[$$sroa$018$0$$sroa_idx>>2] = $21; + $$sroa$219$0$$sroa_idx20 = ((($3)) + 16|0); + HEAPF32[$$sroa$219$0$$sroa_idx20>>2] = $25; + $26 = +HEAPF32[$1>>2]; + $27 = +HEAPF32[$2>>2]; + $28 = $27 * 0.5; + $29 = $26 - $28; + $30 = +HEAPF32[$12>>2]; + $31 = +HEAPF32[$14>>2]; + $32 = $31 * 0.5; + $33 = $30 + $32; + $$sroa$015$0$$sroa_idx = ((($3)) + 20|0); + HEAPF32[$$sroa$015$0$$sroa_idx>>2] = $29; + $$sroa$216$0$$sroa_idx17 = ((($3)) + 24|0); + HEAPF32[$$sroa$216$0$$sroa_idx17>>2] = $33; + $34 = +HEAPF32[$1>>2]; + $35 = +HEAPF32[$2>>2]; + $36 = $35 * 0.5; + $37 = $34 - $36; + $38 = +HEAPF32[$12>>2]; + $39 = +HEAPF32[$14>>2]; + $40 = $39 * 0.5; + $41 = $38 - $40; + $$sroa$012$0$$sroa_idx = ((($3)) + 28|0); + HEAPF32[$$sroa$012$0$$sroa_idx>>2] = $37; + $$sroa$213$0$$sroa_idx14 = ((($3)) + 32|0); + HEAPF32[$$sroa$213$0$$sroa_idx14>>2] = $41; + $42 = HEAP32[$3>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $44 = ((($5)) + 4|0); + $$024 = 0;$47 = $42; + while(1) { + $45 = (($$024) + 1)|0; + $46 = ($45>>>0)<($47>>>0); + $48 = $46 ? $45 : 0; + $49 = (((($3)) + 4|0) + ($48<<3)|0); + $50 = (((($3)) + 4|0) + ($$024<<3)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$49>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$49+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$50>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$50+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy,$$byval_copy1); + $51 = (((($3)) + 196|0) + ($$024<<3)|0); + $52 = HEAP32[$44>>2]|0; + $53 = +HEAPF32[$5>>2]; + $54 = -$53; + HEAP32[$51>>2] = $52; + $$sroa$2$0$$sroa_idx1 = (((((($3)) + 196|0) + ($$024<<3)|0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $54; + _MathNormalize($51); + $55 = HEAP32[$3>>2]|0; + $56 = ($45>>>0)<($55>>>0); + if ($56) { + $$024 = $45;$47 = $55; + } else { + break; + } + } + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; +} +function _MathCrossVector2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($1)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = +HEAPF32[$1>>2]; + $9 = $7 * $8; + $10 = $5 - $9; + return (+$10); +} +function _CreateRandomPolygon($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $$02829 = 0, $$030 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$pr = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0; + var $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.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.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy1 = sp + 440|0; + $$byval_copy = sp + 432|0; + $3 = sp + 24|0; + $4 = sp; + $5 = sp + 16|0; + $6 = ((($3)) + 4|0); + _memset(($6|0),0,400)|0; + HEAP32[$3>>2] = $2; + $7 = (_GetRandomNumber()|0); + $8 = (+($7|0)); + $9 = ((($3)) + 388|0); + $10 = $8; + $11 = $10 * 0.017453292519943295; + $12 = $11; + _Mat2Radians($4,$12); + ;HEAP32[$9>>2]=HEAP32[$4>>2]|0;HEAP32[$9+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$4+12>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $15 = (360 / ($2|0))&-1; + $16 = HEAP32[$3>>2]|0; + $$030 = 0; + while(1) { + $19 = Math_imul($15, $$030)|0; + $20 = (+($19|0)); + $21 = $20 * 0.017453292519943295; + $22 = $21; + $23 = (+Math_cos((+$22))); + $24 = $23 * $1; + $25 = (((($3)) + 4|0) + ($$030<<3)|0); + HEAPF32[$25>>2] = $24; + $26 = (+Math_sin((+$22))); + $27 = $26 * $1; + $28 = (((((($3)) + 4|0) + ($$030<<3)|0)) + 4|0); + HEAPF32[$28>>2] = $27; + $29 = (($$030) + 1)|0; + $30 = ($29>>>0)<($16>>>0); + if ($30) { + $$030 = $29; + } else { + break; + } + } + $$pr = HEAP32[$3>>2]|0; + $17 = ($$pr|0)==(0); + if ($17) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $18 = ((($5)) + 4|0); + $$02829 = 0; + while(1) { + $31 = (($$02829) + 1)|0; + $32 = ($31|0)<($2|0); + $33 = $32 ? $31 : 0; + $34 = (((($3)) + 4|0) + ($33<<3)|0); + $35 = (((($3)) + 4|0) + ($$02829<<3)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$34+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$35+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy,$$byval_copy1); + $36 = (((($3)) + 196|0) + ($$02829<<3)|0); + $37 = HEAP32[$18>>2]|0; + $38 = +HEAPF32[$5>>2]; + $39 = -$38; + HEAP32[$36>>2] = $37; + $$sroa$2$0$$sroa_idx1 = (((((($3)) + 196|0) + ($$02829<<3)|0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $39; + _MathNormalize($36); + $40 = HEAP32[$3>>2]|0; + $41 = ($31>>>0)<($40>>>0); + if ($41) { + $$02829 = $31; + } else { + break; + } + } + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; +} +function _Vector2Add_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 + $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 + $10; + HEAPF32[$6>>2] = $11; + return; +} +function _Mat2MultiplyVector2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 * $4; + $6 = ((($1)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($2)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + HEAPF32[$0>>2] = $11; + $12 = ((($0)) + 4|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $4 * $14; + $16 = ((($1)) + 12|0); + $17 = +HEAPF32[$16>>2]; + $18 = $9 * $17; + $19 = $15 + $18; + HEAPF32[$12>>2] = $19; + return; +} +function _DestroyPhysicsBody($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$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; + var $24 = 0, $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|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3581]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3581]|0; + $$02023 = 0; + while(1) { + $6 = (14328 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14328 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3580]|0; + $15 = (($14) + -500)|0; + HEAP32[3580] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3581]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3581]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14328 + ($$022<<2)|0); + $25 = (14328 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3581] = $19; + return; +} +function _Vector2Subtract_4($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 - $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + return; +} +function _MathNormalize($0) { + $0 = $0|0; + var $$op = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$5$0$copyload = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$sroa$0$0$copyload = +HEAPF32[$0>>2]; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 4|0); + $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx3>>2]; + $1 = $$sroa$0$0$copyload * $$sroa$0$0$copyload; + $2 = $$sroa$5$0$copyload * $$sroa$5$0$copyload; + $3 = $1 + $2; + $4 = (+Math_sqrt((+$3))); + $5 = $4 == 0.0; + $$op = 1.0 / $4; + $6 = $5 ? 1.0 : $$op; + $7 = $$sroa$0$0$copyload * $6; + HEAPF32[$0>>2] = $7; + $8 = $$sroa$5$0$copyload * $6; + HEAPF32[$$sroa$5$0$$sroa_idx3>>2] = $8; + return; +} +function _GetPhysicsBodiesCount() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3581]|0; + return ($0|0); +} +function _GetPhysicsBody($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3581]|0; + $2 = ($1>>>0)>($0>>>0); + if (!($2)) { + $$0 = 0; + return ($$0|0); + } + $3 = (14328 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$0 = $4; + return ($$0|0); +} +function _GetPhysicsShapeVerticesCount($0) { + $0 = $0|0; + var $$1 = 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 = HEAP32[3581]|0; + $2 = ($1>>>0)>($0>>>0); + L1: do { + if ($2) { + $3 = (14328 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $$1 = 0; + } else { + $6 = ((($4)) + 84|0); + $7 = HEAP32[$6>>2]|0; + switch ($7|0) { + case 0: { + $$1 = 24; + break L1; + break; + } + case 1: { + $8 = ((($4)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $$1 = $9; + break L1; + break; + } + default: { + $$1 = 0; + break L1; + } + } + } + } else { + $$1 = 0; + } + } while(0); + return ($$1|0); +} +function _GetPhysicsShapeVertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$0$0 = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$6$0 = 0.0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx5 = 0, $$sroa$6$0$copyload = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0; + var $22 = 0.0, $23 = 0.0, $24 = 0.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; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy3 = sp + 440|0; + $$byval_copy2 = sp + 424|0; + $3 = sp; + $4 = sp + 416|0; + $5 = sp + 408|0; + $6 = ($1|0)==(0|0); + L1: do { + if ($6) { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + } else { + $7 = ((($1)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + $9 = ((($1)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = ($2*15)|0; + $12 = (+($11|0)); + $13 = $12 * 0.017453292519943295; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = ((($1)) + 92|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 * $17; + $19 = $10 + $18; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = (+Math_sin((+$14))); + $23 = $17 * $22; + $24 = $21 + $23; + $$sroa$0$0 = $19;$$sroa$6$0 = $24; + break L1; + break; + } + case 1: { + $25 = ((($1)) + 96|0); + _memcpy(($3|0),($25|0),404)|0; + $26 = ((($1)) + 8|0); + $27 = ((($3)) + 388|0); + $28 = (((($3)) + 4|0) + ($2<<3)|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$28+4>>2]|0; + _Mat2MultiplyVector2($4,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0; + _Vector2Add_2($5,$$byval_copy2,$$byval_copy3); + $$sroa$0$0$copyload = +HEAPF32[$5>>2]; + $$sroa$6$0$$sroa_idx4 = ((($5)) + 4|0); + $$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx4>>2]; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$6$0 = $$sroa$6$0$copyload; + break L1; + break; + } + default: { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + break L1; + } + } + } + } while(0); + HEAPF32[$0>>2] = $$sroa$0$0; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 4|0); + HEAPF32[$$sroa$6$0$$sroa_idx5>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _Mat2Radians($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = ((($0)) + 4|0); + $5 = -$3; + HEAPF32[$4>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _ResetPhysics() { + var $$0 = 0, $$016 = 0, $$01620 = 0, $$01621 = 0, $$018 = 0, $$019 = 0, $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; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3581]|0; + $$01620 = (($0) + -1)|0; + $1 = ($$01620|0)>(-1); + if ($1) { + $$01621 = $$01620; + while(1) { + $4 = (14328 + ($$01621<<2)|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + _free($5); + $8 = HEAP32[3580]|0; + $9 = (($8) + -500)|0; + HEAP32[3580] = $9; + } + $$016 = (($$01621) + -1)|0; + $7 = ($$016|0)>(-1); + if ($7) { + $$01621 = $$016; + } else { + break; + } + } + } + HEAP32[3581] = 0; + $2 = HEAP32[3646]|0; + $$018 = (($2) + -1)|0; + $3 = ($$018|0)>(-1); + if ($3) { + $$019 = $$018; + } else { + HEAP32[3646] = 0; + return; + } + while(1) { + $10 = (14588 + ($$019<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0|0); + if (!($12)) { + _free($11); + $14 = HEAP32[3580]|0; + $15 = (($14) + -56)|0; + HEAP32[3580] = $15; + } + $$0 = (($$019) + -1)|0; + $13 = ($$0|0)>(-1); + if ($13) { + $$019 = $$0; + } else { + break; + } + } + HEAP32[3646] = 0; + return; +} +function _ClosePhysics() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3579] = 0; + $0 = HEAP32[3578]|0; + (_pthread_join(($0|0),(0|0))|0); + return; +} +function _main() { + var $$byval_copy1 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $3 = 0; + var $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); + $$byval_copy1 = sp + 16|0; + $0 = sp + 8|0; + $1 = sp; + _SetConfigFlags(32); + $2 = HEAP32[2]|0; + $3 = HEAP32[3]|0; + _InitWindow($2,$3,3248); + _SetTargetFPS(60); + $4 = HEAP32[2]|0; + $5 = (_MeasureText(3279,30)|0); + $6 = (($4) + -10)|0; + $7 = (($6) - ($5))|0; + HEAP32[7743] = $7; + _InitPhysics(); + $8 = HEAP32[2]|0; + $9 = (($8|0) / 2)&-1; + $10 = (+($9|0)); + HEAPF32[$0>>2] = $10; + $11 = ((($0)) + 4|0); + $12 = HEAP32[3]|0; + $13 = (+($12|0)); + HEAPF32[$11>>2] = $13; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0; + $14 = (_CreatePhysicsBodyRectangle($$byval_copy1,500.0,100.0,10.0)|0); + HEAP32[7744] = $14; + $15 = ((($14)) + 4|0); + HEAP32[$15>>2] = 0; + $16 = HEAP32[2]|0; + $17 = (($16|0) / 2)&-1; + $18 = (+($17|0)); + HEAPF32[$1>>2] = $18; + $19 = ((($1)) + 4|0); + $20 = HEAP32[3]|0; + $21 = (($20|0) / 2)&-1; + $22 = (+($21|0)); + HEAPF32[$19>>2] = $22; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0; + $23 = (_CreatePhysicsBodyCircle($$byval_copy1,45.0,10.0)|0); + HEAP32[7745] = $23; + $24 = ((($23)) + 4|0); + HEAP32[$24>>2] = 0; + _emscripten_set_main_loop((1|0),0,1); + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$03743 = 0, $$03743$in = 0, $$03840 = 0, $$039 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0.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.0, $6 = 0, $60 = 0, $61 = 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; + var $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy7 = sp + 88|0; + $$byval_copy6 = sp + 80|0; + $$byval_copy5 = sp + 72|0; + $0 = sp + 64|0; + $1 = sp + 56|0; + $2 = sp + 48|0; + $3 = sp + 40|0; + $4 = sp + 100|0; + $5 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp + 96|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp; + $13 = (_IsKeyPressed(82)|0); + $14 = ($13|0)==(0); + if (!($14)) { + _ResetPhysics(); + $15 = HEAP32[2]|0; + $16 = (($15|0) / 2)&-1; + $17 = (+($16|0)); + HEAPF32[$0>>2] = $17; + $18 = ((($0)) + 4|0); + $19 = HEAP32[3]|0; + $20 = (+($19|0)); + HEAPF32[$18>>2] = $20; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$0+4>>2]|0; + $21 = (_CreatePhysicsBodyRectangle($$byval_copy7,500.0,100.0,10.0)|0); + HEAP32[7744] = $21; + $22 = ((($21)) + 4|0); + HEAP32[$22>>2] = 0; + $23 = HEAP32[2]|0; + $24 = (($23|0) / 2)&-1; + $25 = (+($24|0)); + HEAPF32[$1>>2] = $25; + $26 = ((($1)) + 4|0); + $27 = HEAP32[3]|0; + $28 = (($27|0) / 2)&-1; + $29 = (+($28|0)); + HEAPF32[$26>>2] = $29; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$1+4>>2]|0; + $30 = (_CreatePhysicsBodyCircle($$byval_copy7,45.0,10.0)|0); + HEAP32[7745] = $30; + $31 = ((($30)) + 4|0); + HEAP32[$31>>2] = 0; + } + $32 = (_IsMouseButtonPressed(0)|0); + $33 = ($32|0)==(0); + if ($33) { + $37 = (_IsMouseButtonPressed(1)|0); + $38 = ($37|0)==(0); + if (!($38)) { + _GetMousePosition($3); + $39 = (_GetRandomValue(10,45)|0); + $40 = (+($39|0)); + ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0; + (_CreatePhysicsBodyCircle($$byval_copy7,$40,10.0)|0); + } + } else { + _GetMousePosition($2); + $34 = (_GetRandomValue(20,80)|0); + $35 = (+($34|0)); + $36 = (_GetRandomValue(3,8)|0); + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + (_CreatePhysicsBodyPolygon($$byval_copy7,$35,$36,10.0)|0); + } + $41 = (_GetPhysicsBodiesCount()|0); + $42 = ($41|0)>(0); + if ($42) { + $$03743$in = $41; + while(1) { + $$03743 = (($$03743$in) + -1)|0; + $55 = (_GetPhysicsBody($$03743)|0); + $56 = ($55|0)==(0|0); + if (!($56)) { + $58 = ((($55)) + 12|0); + $59 = +HEAPF32[$58>>2]; + $60 = HEAP32[3]|0; + $61 = $60 << 1; + $62 = (+($61|0)); + $63 = $59 > $62; + if ($63) { + _DestroyPhysicsBody($55); + } + } + $57 = ($$03743$in|0)>(1); + if ($57) { + $$03743$in = $$03743; + } else { + break; + } + } + } + _BeginDrawing(); + HEAP8[$4>>0] = 0; + $43 = ((($4)) + 1|0); + HEAP8[$43>>0] = 0; + $44 = ((($4)) + 2|0); + HEAP8[$44>>0] = 0; + $45 = ((($4)) + 3|0); + HEAP8[$45>>0] = -1; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$4+3>>0]|0; + _ClearBackground($$byval_copy7); + $46 = HEAP32[2]|0; + $47 = (($46) + -90)|0; + $48 = HEAP32[3]|0; + $49 = (($48) + -30)|0; + _DrawFPS($47,$49); + $50 = (_GetPhysicsBodiesCount()|0); + $51 = ($50|0)>(0); + if ($51) { + $52 = ((($7)) + 1|0); + $53 = ((($7)) + 2|0); + $54 = ((($7)) + 3|0); + $$03840 = 0; + while(1) { + $70 = (_GetPhysicsBody($$03840)|0); + $71 = ($70|0)==(0|0); + if (!($71)) { + $72 = (_GetPhysicsShapeVerticesCount($$03840)|0); + $73 = ($72|0)>(0); + if ($73) { + $$039 = 0; + while(1) { + _GetPhysicsShapeVertex($5,$70,$$039); + $74 = (($$039) + 1)|0; + $75 = ($74|0)<($72|0); + $76 = $75 ? $74 : 0; + _GetPhysicsShapeVertex($6,$70,$76); + HEAP8[$7>>0] = 0; + HEAP8[$52>>0] = -28; + HEAP8[$53>>0] = 48; + HEAP8[$54>>0] = -1; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$7+3>>0]|0; + _DrawLineV($$byval_copy5,$$byval_copy6,$$byval_copy7); + $exitcond = ($74|0)==($72|0); + if ($exitcond) { + break; + } else { + $$039 = $74; + } + } + } + } + $77 = (($$03840) + 1)|0; + $exitcond47 = ($77|0)==($50|0); + if ($exitcond47) { + break; + } else { + $$03840 = $77; + } + } + } + HEAP32[$8>>2] = -1; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText(3286,10,10,10,$$byval_copy7); + HEAP32[$9>>2] = -1; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(3324,10,25,10,$$byval_copy7); + HEAP32[$10>>2] = -1; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$10+3>>0]|0; + _DrawText(3362,10,40,10,$$byval_copy7); + $64 = HEAP32[7743]|0; + $65 = HEAP32[4]|0; + HEAP32[$11>>2] = -1; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$11+3>>0]|0; + _DrawText(3279,$64,$65,30,$$byval_copy7); + $66 = HEAP32[7743]|0; + $67 = (($66) + 50)|0; + $68 = HEAP32[4]|0; + $69 = (($68) + -7)|0; + HEAP32[$12>>2] = -1; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$12+3>>0]|0; + _DrawText(3389,$67,$69,10,$$byval_copy7); + _EndDrawing(); + STACKTOP = sp;return; +} +function _GetRandomNumber() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_rand()|0); + $1 = (($0|0) % 361)&-1; + return ($1|0); +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetCurrentTime()); + HEAPF64[1753] = $1; + return; +} +function _GetCurrentTime() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.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; + (_clock_gettime(1,($0|0))|0); + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)<(0); + $3 = $2 << 31 >> 31; + $4 = (___muldi3(($1|0),($3|0),1000000000,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 = (+($10>>>0)) + (4294967296.0*(+($11>>>0))); + $13 = $12 * 9.9999999999999995E-7; + STACKTOP = sp;return (+$13); +} +function _MathClamp() { + var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1751]; + $1 = $0 < 0.0; + if ($1) { + $$sink = 0.0; + } else { + $2 = $0 > 0.02; + if ($2) { + $$sink = 0.02; + } else { + return; + } + } + HEAPF64[1751] = $$sink; + return; +} +function _PhysicsStep() { + var $$0 = 0, $$0125165 = 0, $$0126163 = 0, $$0127147 = 0, $$0129148 = 0, $$0130 = 0, $$0130160 = 0, $$0130161 = 0, $$0131150 = 0, $$0132 = 0, $$0133152 = 0, $$0134155 = 0, $$0134155$ph = 0, $$0135158 = 0, $$0136156 = 0, $$0167 = 0, $$0168 = 0, $$pr = 0, $$pr172 = 0, $$sroa$0$0$$sroa_idx = 0; + var $$sroa$2$0$$sroa_idx1 = 0, $0 = 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, $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, $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.0, $32 = 0, $33 = 0, $34 = 0.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, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7746]|0; + $1 = (($0) + 1)|0; + HEAP32[7746] = $1; + $2 = HEAP32[3646]|0; + $$0167 = (($2) + -1)|0; + $3 = ($$0167|0)>(-1); + if ($3) { + $$0168 = $$0167; + while(1) { + $6 = (14588 + ($$0168<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + _DestroyPhysicsManifold($7); + } + $$0 = (($$0168) + -1)|0; + $9 = ($$0|0)>(-1); + if ($9) { + $$0168 = $$0; + } else { + break; + } + } + } + $4 = HEAP32[3581]|0; + $5 = ($4|0)==(0); + if ($5) { + $17 = $4; + label = 8; + } else { + $$0125165 = 0; + while(1) { + $11 = (14328 + ($$0125165<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 76|0); + HEAP32[$13>>2] = 0; + $14 = (($$0125165) + 1)|0; + $15 = ($14>>>0)<($4>>>0); + if ($15) { + $$0125165 = $14; + } else { + break; + } + } + $$pr = HEAP32[3581]|0; + $10 = ($$pr|0)==(0); + if (!($10)) { + $$0126163 = 0; + while(1) { + $19 = (14328 + ($$0126163<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0|0); + if (!($21)) { + $$0130160 = (($$0126163) + 1)|0; + $22 = HEAP32[3581]|0; + $23 = ($$0130160>>>0)<($22>>>0); + if ($23) { + $24 = ((($20)) + 56|0); + $25 = ((($20)) + 84|0); + $$0130161 = $$0130160; + while(1) { + $26 = (14328 + ($$0130161<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0|0); + do { + if (!($28)) { + $31 = +HEAPF32[$24>>2]; + $32 = $31 == 0.0; + if ($32) { + $33 = ((($27)) + 56|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 == 0.0; + if ($35) { + break; + } + } + $36 = HEAP32[$25>>2]|0; + $37 = ($36|0)==(1); + if ($37) { + $38 = ((($27)) + 84|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $41 = (_CreatePhysicsManifold($27,$20)|0); + $$0132 = $41; + } else { + label = 20; + } + } else { + label = 20; + } + if ((label|0) == 20) { + label = 0; + $42 = (_CreatePhysicsManifold($20,$27)|0); + $$0132 = $42; + } + _SolvePhysicsManifold($$0132); + $43 = ((($$0132)) + 40|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(0); + if (!($45)) { + $46 = (_CreatePhysicsManifold($20,$27)|0); + $47 = ((($$0132)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ((($46)) + 12|0); + HEAP32[$49>>2] = $48; + $50 = ((($46)) + 16|0); + $51 = ((($$0132)) + 16|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $50; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = ((($46)) + 24|0); + $63 = ((($$0132)) + 24|0); + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $62; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = ((($46)) + 32|0); + $75 = ((($$0132)) + 32|0); + $76 = $75; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $74; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = HEAP32[$43>>2]|0; + $87 = ((($46)) + 40|0); + HEAP32[$87>>2] = $86; + $88 = ((($$0132)) + 44|0); + $89 = HEAP32[$88>>2]|0; + $90 = ((($46)) + 44|0); + HEAP32[$90>>2] = $89; + $91 = ((($$0132)) + 48|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($46)) + 48|0); + HEAP32[$93>>2] = $92; + $94 = ((($$0132)) + 52|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($46)) + 52|0); + HEAP32[$96>>2] = $95; + } + } + } while(0); + $$0130 = (($$0130161) + 1)|0; + $29 = HEAP32[3581]|0; + $30 = ($$0130>>>0)<($29>>>0); + if ($30) { + $$0130161 = $$0130; + } else { + break; + } + } + } + } + $97 = (($$0126163) + 1)|0; + $98 = HEAP32[3581]|0; + $99 = ($97>>>0)<($98>>>0); + if ($99) { + $$0126163 = $97; + } else { + $17 = $98; + label = 8; + break; + } + } + } + } + if ((label|0) == 8) { + $16 = ($17|0)==(0); + if (!($16)) { + $18 = HEAP32[3581]|0; + $$0135158 = 0; + while(1) { + $103 = (14328 + ($$0135158<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)==(0|0); + if (!($105)) { + _IntegratePhysicsForces($104); + } + $106 = (($$0135158) + 1)|0; + $107 = ($106>>>0)<($18>>>0); + if ($107) { + $$0135158 = $106; + } else { + break; + } + } + } + } + $100 = HEAP32[3646]|0; + $101 = ($100|0)==(0); + if ($101) { + $$0134155 = 0;$114 = 0; + } else { + $102 = HEAP32[3646]|0; + $$0136156 = 0; + while(1) { + $108 = (14588 + ($$0136156<<2)|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)==(0|0); + if (!($110)) { + _InitializePhysicsManifolds($109); + } + $111 = (($$0136156) + 1)|0; + $112 = ($111>>>0)<($102>>>0); + if ($112) { + $$0136156 = $111; + } else { + $$0134155$ph = 0; + label = 32; + break; + } + } + } + while(1) { + if ((label|0) == 32) { + label = 0; + $$pr172 = HEAP32[3646]|0; + $$0134155 = $$0134155$ph;$114 = $$pr172; + } + $113 = ($114|0)==(0); + if (!($113)) { + $115 = (14588 + ($$0134155<<2)|0); + $$0133152 = 0; + while(1) { + $120 = HEAP32[$115>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + _IntegratePhysicsImpulses($120); + } + $122 = (($$0133152) + 1)|0; + $123 = HEAP32[3646]|0; + $124 = ($122>>>0)<($123>>>0); + if ($124) { + $$0133152 = $122; + } else { + break; + } + } + } + $119 = (($$0134155) + 1)|0; + $exitcond = ($119|0)==(100); + if ($exitcond) { + break; + } else { + $$0134155$ph = $119; + label = 32; + } + } + $116 = HEAP32[3581]|0; + $117 = ($116|0)==(0); + if (!($117)) { + $118 = HEAP32[3581]|0; + $$0131150 = 0; + while(1) { + $128 = (14328 + ($$0131150<<2)|0); + $129 = HEAP32[$128>>2]|0; + $130 = ($129|0)==(0|0); + if (!($130)) { + _IntegratePhysicsVelocity($129); + } + $131 = (($$0131150) + 1)|0; + $132 = ($131>>>0)<($118>>>0); + if ($132) { + $$0131150 = $131; + } else { + break; + } + } + } + $125 = HEAP32[3646]|0; + $126 = ($125|0)==(0); + if (!($126)) { + $127 = HEAP32[3646]|0; + $$0129148 = 0; + while(1) { + $136 = (14588 + ($$0129148<<2)|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($137|0)==(0|0); + if (!($138)) { + _CorrectPhysicsPositions($137); + } + $139 = (($$0129148) + 1)|0; + $140 = ($139>>>0)<($127>>>0); + if ($140) { + $$0129148 = $139; + } else { + break; + } + } + } + $133 = HEAP32[3581]|0; + $134 = ($133|0)==(0); + if ($134) { + return; + } + $135 = HEAP32[3581]|0; + $$0127147 = 0; + while(1) { + $141 = (14328 + ($$0127147<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if (!($143)) { + $$sroa$0$0$$sroa_idx = ((($142)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx1 = ((($142)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = 0.0; + $144 = ((($142)) + 36|0); + HEAPF32[$144>>2] = 0.0; + } + $145 = (($$0127147) + 1)|0; + $146 = ($145>>>0)<($135>>>0); + if ($146) { + $$0127147 = $145; + } else { + break; + } + } + return; +} +function _DestroyPhysicsManifold($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$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; + var $24 = 0, $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|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3646]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3646]|0; + $$02023 = 0; + while(1) { + $6 = (14588 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14588 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3580]|0; + $15 = (($14) + -56)|0; + HEAP32[3580] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3646]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3646]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14588 + ($$022<<2)|0); + $25 = (14588 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3646] = $19; + return; +} +function _CreatePhysicsManifold($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$04457 = 0, $$044576162 = 0, $$04755 = 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; + var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + $2 = (_malloc(56)|0); + $3 = HEAP32[3580]|0; + $4 = (($3) + 56)|0; + HEAP32[3580] = $4; + $5 = HEAP32[3646]|0; + $6 = ($5|0)==(0); + $$04457 = 0; + L1: while(1) { + if ($6) { + $$044576162 = 0; + break; + } else { + $$04755 = 0; + } + while(1) { + $9 = (14588 + ($$04755<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==($$04457|0); + $8 = (($$04755) + 1)|0; + if ($12) { + break; + } + $7 = ($8>>>0)<($5>>>0); + if ($7) { + $$04755 = $8; + } else { + label = 6; + break L1; + } + } + $13 = (($$04457) + 1)|0; + $14 = ($13|0)<(4096); + if ($14) { + $$04457 = $13; + } else { + label = 8; + break; + } + } + if ((label|0) == 8) { + return ($2|0); + } + if ((label|0) == 6) { + $15 = ($$04457|0)==(-1); + if ($15) { + return ($2|0); + } else { + $$044576162 = $$04457; + } + } + HEAP32[$2>>2] = $$044576162; + $16 = ((($2)) + 4|0); + HEAP32[$16>>2] = $0; + $17 = ((($2)) + 8|0); + HEAP32[$17>>2] = $1; + $18 = ((($2)) + 12|0); + dest=$18; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $19 = HEAP32[3646]|0; + $20 = (14588 + ($19<<2)|0); + HEAP32[$20>>2] = $2; + $21 = (($19) + 1)|0; + HEAP32[3646] = $21; + return ($2|0); +} +function _SolvePhysicsManifold($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.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 84|0); + $4 = HEAP32[$3>>2]|0; + L1: do { + switch ($4|0) { + case 0: { + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + _SolveCircleToCircle($0); + break L1; + break; + } + case 1: { + _SolveCircleToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + case 1: { + $9 = ((($0)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 84|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 0: { + _SolvePolygonToCircle($0); + break L1; + break; + } + case 1: { + _SolvePolygonToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + default: { + } + } + } while(0); + $13 = ((($0)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 76|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + return; + } + $18 = ((($0)) + 20|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19 < 0.0; + $21 = $20&1; + HEAP32[$15>>2] = $21; + return; +} +function _IntegratePhysicsForces($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 56|0); + $2 = +HEAPF32[$1>>2]; + $3 = $2 == 0.0; + if ($3) { + return; + } + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + return; + } + $7 = ((($0)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $2 * $8; + $10 = $9; + $11 = +HEAPF64[1754]; + $12 = $11 * 0.5; + $13 = $10 * $12; + $14 = ((($0)) + 16|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $16 + $13; + $18 = $17; + HEAPF32[$14>>2] = $18; + $19 = ((($0)) + 28|0); + $20 = +HEAPF32[$19>>2]; + $21 = $2 * $20; + $22 = $21; + $23 = $12 * $22; + $24 = ((($0)) + 20|0); + $25 = +HEAPF32[$24>>2]; + $26 = $25; + $27 = $26 + $23; + $28 = $27; + HEAPF32[$24>>2] = $28; + $29 = ((($0)) + 72|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = +HEAPF32[7747]; + $33 = $32; + $34 = $12 * $33; + $35 = +HEAPF32[$14>>2]; + $36 = $35; + $37 = $36 + $34; + $38 = $37; + HEAPF32[$14>>2] = $38; + $39 = +HEAPF32[5]; + $40 = $39; + $41 = $12 * $40; + $42 = +HEAPF32[$24>>2]; + $43 = $42; + $44 = $43 + $41; + $45 = $44; + HEAPF32[$24>>2] = $45; + } + $46 = ((($0)) + 80|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==(0); + if (!($48)) { + return; + } + $49 = ((($0)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = ((($0)) + 48|0); + $52 = +HEAPF32[$51>>2]; + $53 = $50 * $52; + $54 = $53; + $55 = $12 * $54; + $56 = ((($0)) + 32|0); + $57 = +HEAPF32[$56>>2]; + $58 = $57; + $59 = $58 + $55; + $60 = $59; + HEAPF32[$56>>2] = $60; + return; +} +function _InitializePhysicsManifolds($0) { + $0 = $0|0; + var $$byval_copy14 = 0, $$byval_copy9 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0; + var $26 = 0, $27 = 0.0, $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, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0; + var $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0; + var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0; + var $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy14 = sp + 48|0; + $$byval_copy9 = sp + 40|0; + $1 = sp + 24|0; + $2 = sp + 16|0; + $3 = sp + 8|0; + $4 = sp; + $5 = sp + 32|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($7)) + 68|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($9)) + 68|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 * $13; + $15 = (+Math_sqrt((+$14))); + $16 = ((($0)) + 44|0); + HEAPF32[$16>>2] = $15; + $17 = ((($7)) + 60|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($9)) + 60|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + $22 = (+Math_sqrt((+$21))); + $23 = ((($0)) + 52|0); + HEAPF32[$23>>2] = $22; + $24 = ((($7)) + 64|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($9)) + 64|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 * $27; + $29 = (+Math_sqrt((+$28))); + $30 = ((($0)) + 48|0); + HEAPF32[$30>>2] = $29; + $31 = ((($7)) + 8|0); + $32 = ((($9)) + 8|0); + $33 = ((($7)) + 32|0); + $34 = ((($9)) + 32|0); + $35 = ((($9)) + 16|0); + $36 = ((($7)) + 16|0); + $37 = ((($9)) + 20|0); + $38 = ((($3)) + 4|0); + $39 = ((($7)) + 20|0); + $40 = ((($$byval_copy9)) + 4|0); + $41 = ((($4)) + 4|0); + $42 = +HEAPF32[7747]; + $43 = $42; + $44 = +HEAPF64[1754]; + $45 = $43 * $44; + $46 = $45; + $47 = ((($5)) + 4|0); + $48 = +HEAPF32[5]; + $49 = $48; + $50 = $49 * $44; + $51 = $50; + $52 = ((($0)) + 24|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $53 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$53,$$byval_copy14); + $54 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$54,$$byval_copy14); + $55 = +HEAPF32[$35>>2]; + $56 = +HEAPF32[$3>>2]; + $57 = $55 + $56; + $58 = +HEAPF32[$36>>2]; + $59 = $57 - $58; + $60 = +HEAPF32[$$byval_copy9>>2]; + $61 = $59 - $60; + HEAPF32[$4>>2] = $61; + $62 = +HEAPF32[$37>>2]; + $63 = +HEAPF32[$38>>2]; + $64 = $62 + $63; + $65 = +HEAPF32[$39>>2]; + $66 = $64 - $65; + $67 = +HEAPF32[$40>>2]; + $68 = $66 - $67; + HEAPF32[$41>>2] = $68; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $69 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $70 = (+_MathLenSqr($$byval_copy14)); + $71 = $70 + 9.9999999747524271E-7; + $72 = $69 < $71; + if ($72) { + HEAPF32[$16>>2] = 0.0; + } + $73 = ((($0)) + 32|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$74,$$byval_copy14); + $75 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$75,$$byval_copy14); + $76 = +HEAPF32[$35>>2]; + $77 = +HEAPF32[$3>>2]; + $78 = $76 + $77; + $79 = +HEAPF32[$36>>2]; + $80 = $78 - $79; + $81 = +HEAPF32[$$byval_copy9>>2]; + $82 = $80 - $81; + HEAPF32[$4>>2] = $82; + $83 = +HEAPF32[$37>>2]; + $84 = +HEAPF32[$38>>2]; + $85 = $83 + $84; + $86 = +HEAPF32[$39>>2]; + $87 = $85 - $86; + $88 = +HEAPF32[$40>>2]; + $89 = $87 - $88; + HEAPF32[$41>>2] = $89; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $90 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $91 = (+_MathLenSqr($$byval_copy14)); + $92 = $91 + 9.9999999747524271E-7; + $93 = $90 < $92; + if (!($93)) { + STACKTOP = sp;return; + } + HEAPF32[$16>>2] = 0.0; + STACKTOP = sp;return; +} +function _IntegratePhysicsImpulses($0) { + $0 = $0|0; + var $$0 = 0, $$0135139 = 0, $$1 = 0, $$byval_copy29 = 0, $$sink = 0.0, $$sink138 = 0.0, $$sroa$047$0$$sroa_idx = 0, $$sroa$050$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$248$0$$sroa_idx49 = 0, $$sroa$251$0$$sroa_idx52 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0; + var $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0; + var $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0; + var $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0; + var $18 = 0, $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0, $197 = 0.0; + var $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0; + var $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0.0, $220 = 0.0, $221 = 0.0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0; + var $233 = 0.0, $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0.0, $240 = 0.0, $25 = 0.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.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0; + var $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0; + var $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $cond1 = 0, $fabsf = 0.0, $fabsf136 = 0.0, $tmpcast137$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $tmpcast137$byval_copy = sp + 136|0; + $$byval_copy29 = sp + 128|0; + $1 = sp + 40|0; + $2 = sp + 32|0; + $3 = sp + 8|0; + $4 = sp + 120|0; + $5 = sp + 112|0; + $6 = sp + 104|0; + $7 = sp + 96|0; + $8 = sp + 24|0; + $9 = sp + 88|0; + $10 = sp + 80|0; + $11 = sp + 72|0; + $12 = sp + 64|0; + $13 = sp + 56|0; + $14 = sp + 16|0; + $15 = sp; + $16 = sp + 48|0; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($18)) + 56|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($20)) + 56|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 + $24; + $fabsf = (+Math_abs((+$25))); + $26 = !($fabsf <= 9.9999999747524271E-7); + if (!($26)) { + $$sroa$050$0$$sroa_idx = ((($18)) + 16|0); + HEAPF32[$$sroa$050$0$$sroa_idx>>2] = 0.0; + $$sroa$251$0$$sroa_idx52 = ((($18)) + 20|0); + HEAPF32[$$sroa$251$0$$sroa_idx52>>2] = 0.0; + $$sroa$047$0$$sroa_idx = ((($20)) + 16|0); + HEAPF32[$$sroa$047$0$$sroa_idx>>2] = 0.0; + $$sroa$248$0$$sroa_idx49 = ((($20)) + 20|0); + HEAPF32[$$sroa$248$0$$sroa_idx49>>2] = 0.0; + STACKTOP = sp;return; + } + $27 = ((($0)) + 40|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0); + if ($29) { + STACKTOP = sp;return; + } + $30 = ((($18)) + 8|0); + $31 = ((($20)) + 8|0); + $32 = ((($20)) + 16|0); + $33 = ((($20)) + 32|0); + $34 = ((($18)) + 16|0); + $35 = ((($18)) + 32|0); + $36 = ((($20)) + 20|0); + $37 = ((($6)) + 4|0); + $38 = ((($18)) + 20|0); + $39 = ((($7)) + 4|0); + $40 = ((($3)) + 4|0); + $41 = ((($0)) + 16|0); + $42 = ((($18)) + 48|0); + $43 = ((($20)) + 48|0); + $44 = ((($0)) + 44|0); + $45 = ((($8)) + 4|0); + $46 = ((($0)) + 20|0); + $47 = ((($18)) + 4|0); + $48 = ((($20)) + 4|0); + $49 = ((($12)) + 4|0); + $50 = ((($13)) + 4|0); + $51 = ((($14)) + 4|0); + $52 = ((($0)) + 52|0); + $$sroa$2$0$$sroa_idx2 = ((($15)) + 4|0); + $53 = ((($20)) + 80|0); + $54 = ((($18)) + 80|0); + $55 = ((($16)) + 4|0); + $56 = ((($0)) + 48|0); + $57 = ((($20)) + 80|0); + $58 = ((($18)) + 80|0); + $59 = ((($9)) + 4|0); + $$0135139 = 0; + while(1) { + $63 = (((($0)) + 24|0) + ($$0135139<<3)|0); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$30>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$30+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy29,$tmpcast137$byval_copy); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$31>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy29,$tmpcast137$byval_copy); + $64 = +HEAPF32[$32>>2]; + $65 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($4,$65,$tmpcast137$byval_copy); + $66 = +HEAPF32[$4>>2]; + $67 = $64 + $66; + $68 = +HEAPF32[$34>>2]; + $69 = $67 - $68; + $70 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($5,$70,$tmpcast137$byval_copy); + $71 = +HEAPF32[$5>>2]; + $72 = $69 - $71; + HEAPF32[$3>>2] = $72; + $73 = +HEAPF32[$36>>2]; + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($6,$74,$tmpcast137$byval_copy); + $75 = +HEAPF32[$37>>2]; + $76 = $73 + $75; + $77 = +HEAPF32[$38>>2]; + $78 = $76 - $77; + $79 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($7,$79,$tmpcast137$byval_copy); + $80 = +HEAPF32[$39>>2]; + $81 = $78 - $80; + HEAPF32[$40>>2] = $81; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $82 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $83 = $82 > 0.0; + if ($83) { + $$1 = 1; + } else { + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $84 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $85 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $86 = +HEAPF32[$21>>2]; + $87 = +HEAPF32[$23>>2]; + $88 = $86 + $87; + $89 = $84 * $84; + $90 = +HEAPF32[$42>>2]; + $91 = $89 * $90; + $92 = $88 + $91; + $93 = $85 * $85; + $94 = +HEAPF32[$43>>2]; + $95 = $93 * $94; + $96 = $92 + $95; + $97 = +HEAPF32[$44>>2]; + $98 = $97 + 1.0; + $99 = $82 * $98; + $100 = -$99; + $101 = $100 / $96; + $102 = HEAP32[$27>>2]|0; + $103 = (+($102>>>0)); + $104 = $101 / $103; + $105 = +HEAPF32[$41>>2]; + $106 = $105 * $104; + HEAPF32[$8>>2] = $106; + $107 = +HEAPF32[$46>>2]; + $108 = $104 * $107; + HEAPF32[$45>>2] = $108; + $109 = HEAP32[$47>>2]|0; + $110 = ($109|0)==(0); + if (!($110)) { + $111 = +HEAPF32[$21>>2]; + $112 = +HEAPF32[$8>>2]; + $113 = $111 * $112; + $114 = +HEAPF32[$34>>2]; + $115 = $114 - $113; + HEAPF32[$34>>2] = $115; + $116 = +HEAPF32[$45>>2]; + $117 = $111 * $116; + $118 = +HEAPF32[$38>>2]; + $119 = $118 - $117; + HEAPF32[$38>>2] = $119; + $120 = HEAP32[$58>>2]|0; + $121 = ($120|0)==(0); + if ($121) { + $122 = +HEAPF32[$42>>2]; + $123 = +HEAPF32[$8>>2]; + $124 = -$123; + HEAPF32[$9>>2] = $124; + $125 = +HEAPF32[$45>>2]; + $126 = -$125; + HEAPF32[$59>>2] = $126; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$9+4>>2]|0; + $127 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $128 = $122 * $127; + $129 = +HEAPF32[$35>>2]; + $130 = $129 + $128; + HEAPF32[$35>>2] = $130; + } + } + $131 = HEAP32[$48>>2]|0; + $132 = ($131|0)==(0); + if (!($132)) { + $133 = +HEAPF32[$23>>2]; + $134 = +HEAPF32[$8>>2]; + $135 = $133 * $134; + $136 = +HEAPF32[$32>>2]; + $137 = $136 + $135; + HEAPF32[$32>>2] = $137; + $138 = +HEAPF32[$45>>2]; + $139 = $133 * $138; + $140 = +HEAPF32[$36>>2]; + $141 = $140 + $139; + HEAPF32[$36>>2] = $141; + $142 = HEAP32[$57>>2]|0; + $143 = ($142|0)==(0); + if ($143) { + $144 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + $145 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $146 = $144 * $145; + $147 = +HEAPF32[$33>>2]; + $148 = $147 + $146; + HEAPF32[$33>>2] = $148; + } + } + $149 = +HEAPF32[$32>>2]; + $150 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($10,$150,$tmpcast137$byval_copy); + $151 = +HEAPF32[$10>>2]; + $152 = $149 + $151; + $153 = +HEAPF32[$34>>2]; + $154 = $152 - $153; + $155 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($11,$155,$tmpcast137$byval_copy); + $156 = +HEAPF32[$11>>2]; + $157 = $154 - $156; + HEAPF32[$3>>2] = $157; + $158 = +HEAPF32[$36>>2]; + $159 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($12,$159,$tmpcast137$byval_copy); + $160 = +HEAPF32[$49>>2]; + $161 = $158 + $160; + $162 = +HEAPF32[$38>>2]; + $163 = $161 - $162; + $164 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($13,$164,$tmpcast137$byval_copy); + $165 = +HEAPF32[$50>>2]; + $166 = $163 - $165; + HEAPF32[$40>>2] = $166; + $167 = +HEAPF32[$3>>2]; + $168 = +HEAPF32[$41>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $169 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $170 = $168 * $169; + $171 = $167 - $170; + HEAPF32[$14>>2] = $171; + $172 = +HEAPF32[$40>>2]; + $173 = +HEAPF32[$46>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $174 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $175 = $173 * $174; + $176 = $172 - $175; + HEAPF32[$51>>2] = $176; + _MathNormalize($14); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$14+4>>2]|0; + $177 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $178 = -$177; + $179 = $178 / $96; + $180 = HEAP32[$27>>2]|0; + $181 = (+($180>>>0)); + $182 = $179 / $181; + $fabsf136 = (+Math_abs((+$182))); + $183 = !($fabsf136 <= 9.9999999747524271E-7); + if ($183) { + $184 = $15; + $185 = $184; + HEAP32[$185>>2] = 0; + $186 = (($184) + 4)|0; + $187 = $186; + HEAP32[$187>>2] = 0; + $188 = +HEAPF32[$52>>2]; + $189 = $104 * $188; + $190 = $fabsf136 < $189; + $191 = +HEAPF32[$14>>2]; + $192 = +HEAPF32[$51>>2]; + if ($190) { + $193 = $182 * $191; + $194 = $182 * $192; + $$sink = $194;$$sink138 = $193; + } else { + $195 = -$104; + $196 = $191 * $195; + $197 = +HEAPF32[$56>>2]; + $198 = $196 * $197; + $199 = $192 * $195; + $200 = $199 * $197; + $$sink = $200;$$sink138 = $198; + } + HEAPF32[$15>>2] = $$sink138; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $$sink; + $201 = HEAP32[$47>>2]|0; + $202 = ($201|0)==(0); + if (!($202)) { + $203 = +HEAPF32[$21>>2]; + $204 = +HEAPF32[$15>>2]; + $205 = $203 * $204; + $206 = +HEAPF32[$34>>2]; + $207 = $206 - $205; + HEAPF32[$34>>2] = $207; + $208 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $209 = $203 * $208; + $210 = +HEAPF32[$38>>2]; + $211 = $210 - $209; + HEAPF32[$38>>2] = $211; + $212 = HEAP32[$54>>2]|0; + $213 = ($212|0)==(0); + if ($213) { + $214 = +HEAPF32[$42>>2]; + $215 = +HEAPF32[$15>>2]; + $216 = -$215; + HEAPF32[$16>>2] = $216; + $217 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $218 = -$217; + HEAPF32[$55>>2] = $218; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$16+4>>2]|0; + $219 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $220 = $214 * $219; + $221 = +HEAPF32[$35>>2]; + $222 = $221 + $220; + HEAPF32[$35>>2] = $222; + } + } + $223 = HEAP32[$48>>2]|0; + $224 = ($223|0)==(0); + if (!($224)) { + $225 = +HEAPF32[$23>>2]; + $226 = +HEAPF32[$15>>2]; + $227 = $225 * $226; + $228 = +HEAPF32[$32>>2]; + $229 = $228 + $227; + HEAPF32[$32>>2] = $229; + $230 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $231 = $225 * $230; + $232 = +HEAPF32[$36>>2]; + $233 = $232 + $231; + HEAPF32[$36>>2] = $233; + $234 = HEAP32[$53>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $236 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$15+4>>2]|0; + $237 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $238 = $236 * $237; + $239 = +HEAPF32[$33>>2]; + $240 = $239 + $238; + HEAPF32[$33>>2] = $240; + } + } + $$0 = 0; + } else { + $$0 = 1; + } + $$1 = $$0; + } + $cond1 = ($$1|0)==(0); + $62 = (($$0135139) + 1)|0; + if (!($cond1)) { + label = 26; + break; + } + $60 = HEAP32[$27>>2]|0; + $61 = ($62>>>0)<($60>>>0); + if ($61) { + $$0135139 = $62; + } else { + label = 26; + break; + } + } + if ((label|0) == 26) { + STACKTOP = sp;return; + } +} +function _IntegratePhysicsVelocity($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 16|0); + $5 = +HEAPF32[$4>>2]; + $6 = $5; + $7 = +HEAPF64[1754]; + $8 = $6 * $7; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $10; + $12 = $8 + $11; + $13 = $12; + HEAPF32[$9>>2] = $13; + $14 = ((($0)) + 20|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $7 * $16; + $18 = ((($0)) + 12|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19; + $21 = $20 + $17; + $22 = $21; + HEAPF32[$18>>2] = $22; + $23 = ((($0)) + 80|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = ((($0)) + 32|0); + $27 = +HEAPF32[$26>>2]; + $28 = $27; + $29 = $7 * $28; + $30 = ((($0)) + 40|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31; + $33 = $32 + $29; + $34 = $33; + HEAPF32[$30>>2] = $34; + } + $35 = ((($0)) + 484|0); + $36 = ((($0)) + 40|0); + $37 = +HEAPF32[$36>>2]; + _Mat2Set($35,$37); + _IntegratePhysicsForces($0); + return; +} +function _CorrectPhysicsPositions($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0; + var $46 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 + -0.05000000074505806; + $8 = $7 > 0.0; + $9 = $8 ? $7 : 0.0; + $10 = ((($2)) + 56|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($4)) + 56|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 + $13; + $15 = $9 / $14; + $16 = ((($0)) + 16|0); + $17 = +HEAPF32[$16>>2]; + $18 = $17 * $15; + $19 = $18 * 0.40000000596046448; + $20 = ((($0)) + 20|0); + $21 = +HEAPF32[$20>>2]; + $22 = $15 * $21; + $23 = $22 * 0.40000000596046448; + $24 = ((($2)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = $11 * $19; + $28 = ((($2)) + 8|0); + $29 = +HEAPF32[$28>>2]; + $30 = $29 - $27; + HEAPF32[$28>>2] = $30; + $31 = $11 * $23; + $32 = ((($2)) + 12|0); + $33 = +HEAPF32[$32>>2]; + $34 = $33 - $31; + HEAPF32[$32>>2] = $34; + } + $35 = ((($4)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + return; + } + $38 = +HEAPF32[$12>>2]; + $39 = $19 * $38; + $40 = ((($4)) + 8|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 + $39; + HEAPF32[$40>>2] = $42; + $43 = $23 * $38; + $44 = ((($4)) + 12|0); + $45 = +HEAPF32[$44>>2]; + $46 = $43 + $45; + HEAPF32[$44>>2] = $46; + return; +} +function _SolveCircleToCircle($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy2 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$02$0$$sroa_idx = 0, $$sroa$05$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$23$0$$sroa_idx4 = 0, $$sroa$26$0$$sroa_idx7 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.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.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0; + var $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $6 = 0, $7 = 0; + var $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy2 = sp + 16|0; + $$byval_copy = sp + 8|0; + $1 = sp; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 8|0); + $7 = ((($3)) + 8|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy,$$byval_copy2); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; + $8 = (+_MathLenSqr($$byval_copy2)); + $9 = ((($3)) + 92|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($5)) + 92|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 + $12; + $14 = $13 * $13; + $15 = !($8 >= $14); + if (!($15)) { + $16 = ((($0)) + 40|0); + HEAP32[$16>>2] = 0; + STACKTOP = sp;return; + } + $17 = (+Math_sqrt((+$8))); + $18 = ((($0)) + 40|0); + HEAP32[$18>>2] = 1; + $19 = $17 == 0.0; + if ($19) { + $20 = HEAP32[$9>>2]|0; + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $$sroa$05$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$05$0$$sroa_idx>>2] = 1.0; + $$sroa$26$0$$sroa_idx7 = ((($0)) + 20|0); + HEAPF32[$$sroa$26$0$$sroa_idx7>>2] = 0.0; + $22 = ((($0)) + 24|0); + $23 = $7; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + } else { + $33 = $13 - $17; + $34 = ((($0)) + 12|0); + HEAPF32[$34>>2] = $33; + $35 = +HEAPF32[$1>>2]; + $36 = $35 / $17; + $37 = ((($1)) + 4|0); + $38 = +HEAPF32[$37>>2]; + $39 = $38 / $17; + $$sroa$02$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$02$0$$sroa_idx>>2] = $36; + $$sroa$23$0$$sroa_idx4 = ((($0)) + 20|0); + HEAPF32[$$sroa$23$0$$sroa_idx4>>2] = $39; + $40 = +HEAPF32[$9>>2]; + $41 = $36 * $40; + $42 = +HEAPF32[$7>>2]; + $43 = $41 + $42; + $44 = $39 * $40; + $45 = ((($3)) + 12|0); + $46 = +HEAPF32[$45>>2]; + $47 = $44 + $46; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $43; + $$sroa$2$0$$sroa_idx1 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $47; + } + $48 = ((($3)) + 76|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + STACKTOP = sp;return; + } + $51 = ((($0)) + 20|0); + $52 = +HEAPF32[$51>>2]; + $53 = $52 < 0.0; + $54 = $53&1; + HEAP32[$48>>2] = $54; + STACKTOP = sp;return; +} +function _SolveCircleToPolygon($0) { + $0 = $0|0; + var $$0$lcssa = 0.0, $$0125 = 0.0, $$093$lcssa = 0, $$093124 = 0, $$097123 = 0, $$1 = 0.0, $$194 = 0, $$byval_copy41 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$011$0$$sroa_idx = 0, $$sroa$014$0$$sroa_idx = 0, $$sroa$04$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx3 = 0, $$sroa$212$0$$sroa_idx13 = 0, $$sroa$215$0$$sroa_idx16 = 0, $$sroa$25$0$$sroa_idx6 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0; + var $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.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.0; + var $157 = 0.0, $158 = 0.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.0, $219 = 0.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.0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.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.0, $46 = 0.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.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $tmpcast104$byval_copy42 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 608|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(608|0); + $tmpcast104$byval_copy42 = sp + 584|0; + $$byval_copy41 = sp + 568|0; + $1 = sp + 24|0; + $2 = sp + 552|0; + $3 = sp + 544|0; + $4 = sp + 88|0; + $5 = sp + 536|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 528|0; + $10 = sp + 520|0; + $11 = sp + 512|0; + $12 = sp + 504|0; + $13 = sp + 80|0; + $14 = sp + 72|0; + $15 = sp + 64|0; + $16 = sp + 56|0; + $17 = sp + 48|0; + $18 = sp + 40|0; + $19 = sp + 496|0; + $20 = sp + 32|0; + $21 = ((($0)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($0)) + 40|0); + HEAP32[$25>>2] = 0; + $26 = ((($22)) + 8|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $1; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = ((($24)) + 96|0); + $38 = ((($24)) + 484|0); + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$38>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$38+4>>2]|0;HEAP32[$tmpcast104$byval_copy42+8>>2]=HEAP32[$38+8>>2]|0;HEAP32[$tmpcast104$byval_copy42+12>>2]=HEAP32[$38+12>>2]|0; + _Mat2Transpose($2,$tmpcast104$byval_copy42); + $39 = ((($24)) + 8|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Subtract_4($3,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$2+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$3>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$3+4>>2]|0; + _Mat2MultiplyVector2($1,$$byval_copy41,$tmpcast104$byval_copy42); + _memcpy(($4|0),($37|0),404)|0; + $40 = HEAP32[$4>>2]|0; + $41 = ($40|0)==(0); + L1: do { + if ($41) { + $$0$lcssa = -3.4028234663852886E+38;$$093$lcssa = 0; + } else { + $42 = ((($22)) + 92|0); + $$0125 = -3.4028234663852886E+38;$$093124 = 0;$$097123 = 0; + while(1) { + $43 = (((($4)) + 196|0) + ($$097123<<3)|0); + $44 = (((($4)) + 4|0) + ($$097123<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$44>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$44+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$43+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$5+4>>2]|0; + $45 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $46 = +HEAPF32[$42>>2]; + $47 = $45 > $46; + $48 = $45 > $$0125; + if ($47) { + break; + } + $$1 = $48 ? $45 : $$0125; + $$194 = $48 ? $$097123 : $$093124; + $49 = (($$097123) + 1)|0; + $50 = HEAP32[$4>>2]|0; + $51 = ($49>>>0)<($50>>>0); + if ($51) { + $$0125 = $$1;$$093124 = $$194;$$097123 = $49; + } else { + $$0$lcssa = $$1;$$093$lcssa = $$194; + break L1; + } + } + STACKTOP = sp;return; + } + } while(0); + $52 = (((($4)) + 4|0) + ($$093$lcssa<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$093$lcssa) + 1)|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (((($4)) + 4|0) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = $$0$lcssa < 9.9999999747524271E-7; + do { + if ($78) { + HEAP32[$25>>2] = 1; + $79 = ((($4)) + 388|0); + $80 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$79>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$79+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$79+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$80>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$80+4>>2]|0; + _Mat2MultiplyVector2($8,$$byval_copy41,$tmpcast104$byval_copy42); + $81 = +HEAPF32[$8>>2]; + $82 = -$81; + $83 = ((($8)) + 4|0); + $84 = +HEAPF32[$83>>2]; + $85 = -$84; + $$sroa$014$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$014$0$$sroa_idx>>2] = $82; + $$sroa$215$0$$sroa_idx16 = ((($0)) + 20|0); + HEAPF32[$$sroa$215$0$$sroa_idx16>>2] = $85; + $86 = ((($22)) + 92|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 * $82; + $89 = +HEAPF32[$26>>2]; + $90 = $88 + $89; + $91 = $87 * $85; + $92 = ((($22)) + 12|0); + $93 = +HEAPF32[$92>>2]; + $94 = $91 + $93; + $$sroa$011$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$011$0$$sroa_idx>>2] = $90; + $$sroa$212$0$$sroa_idx13 = ((($0)) + 28|0); + HEAPF32[$$sroa$212$0$$sroa_idx13>>2] = $94; + $95 = HEAP32[$86>>2]|0; + $96 = ((($0)) + 12|0); + HEAP32[$96>>2] = $95; + } else { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($9,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($10,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$10+4>>2]|0; + $97 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($11,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($12,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$12>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$12+4>>2]|0; + $98 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $99 = ((($22)) + 92|0); + $100 = +HEAPF32[$99>>2]; + $101 = $100 - $$0$lcssa; + $102 = ((($0)) + 12|0); + HEAPF32[$102>>2] = $101; + $103 = !($97 <= 0.0); + if (!($103)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + $104 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $105 = +HEAPF32[$99>>2]; + $106 = $105 * $105; + $107 = $104 > $106; + if ($107) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $108 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($13,$$byval_copy41,$tmpcast104$byval_copy42); + $109 = $13; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = $8; + $116 = $115; + HEAP32[$116>>2] = $111; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $114; + _MathNormalize($8); + $119 = ((($0)) + 16|0); + $120 = $8; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = $119; + $127 = $126; + HEAP32[$127>>2] = $122; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $125; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($14,$$byval_copy41,$tmpcast104$byval_copy42); + $130 = $14; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = $6; + $137 = $136; + HEAP32[$137>>2] = $132; + $138 = (($136) + 4)|0; + $139 = $138; + HEAP32[$139>>2] = $135; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($15,$$byval_copy41,$tmpcast104$byval_copy42); + $140 = $15; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = $6; + $147 = $146; + HEAP32[$147>>2] = $142; + $148 = (($146) + 4)|0; + $149 = $148; + HEAP32[$149>>2] = $145; + $150 = ((($0)) + 24|0); + $151 = $150; + $152 = $151; + HEAP32[$152>>2] = $142; + $153 = (($151) + 4)|0; + $154 = $153; + HEAP32[$154>>2] = $145; + break; + } + $155 = !($98 <= 0.0); + if (!($155)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + $156 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $157 = +HEAPF32[$99>>2]; + $158 = $157 * $157; + $159 = $156 > $158; + if ($159) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $160 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($16,$$byval_copy41,$tmpcast104$byval_copy42); + $161 = $16; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = $7; + $168 = $167; + HEAP32[$168>>2] = $163; + $169 = (($167) + 4)|0; + $170 = $169; + HEAP32[$170>>2] = $166; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($17,$$byval_copy41,$tmpcast104$byval_copy42); + $171 = $17; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = $7; + $178 = $177; + HEAP32[$178>>2] = $173; + $179 = (($177) + 4)|0; + $180 = $179; + HEAP32[$180>>2] = $176; + $181 = ((($0)) + 24|0); + $182 = $181; + $183 = $182; + HEAP32[$183>>2] = $173; + $184 = (($182) + 4)|0; + $185 = $184; + HEAP32[$185>>2] = $176; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($18,$$byval_copy41,$tmpcast104$byval_copy42); + $186 = $18; + $187 = $186; + $188 = HEAP32[$187>>2]|0; + $189 = (($186) + 4)|0; + $190 = $189; + $191 = HEAP32[$190>>2]|0; + $192 = $8; + $193 = $192; + HEAP32[$193>>2] = $188; + $194 = (($192) + 4)|0; + $195 = $194; + HEAP32[$195>>2] = $191; + _MathNormalize($8); + $196 = ((($0)) + 16|0); + $197 = $8; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = (($197) + 4)|0; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = $196; + $204 = $203; + HEAP32[$204>>2] = $199; + $205 = (($203) + 4)|0; + $206 = $205; + HEAP32[$206>>2] = $202; + break; + } + $207 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + $208 = $207; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = $8; + $215 = $214; + HEAP32[$215>>2] = $210; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $213; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($19,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$19+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + $218 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $219 = +HEAPF32[$99>>2]; + $220 = $218 > $219; + if ($220) { + break; + } else { + $221 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$221>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$221+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$221+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$221+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($20,$$byval_copy41,$tmpcast104$byval_copy42); + $222 = $20; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (($222) + 4)|0; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = $8; + $229 = $228; + HEAP32[$229>>2] = $224; + $230 = (($228) + 4)|0; + $231 = $230; + HEAP32[$231>>2] = $227; + $232 = +HEAPF32[$8>>2]; + $233 = -$232; + $234 = ((($8)) + 4|0); + $235 = +HEAPF32[$234>>2]; + $236 = -$235; + $$sroa$04$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$04$0$$sroa_idx>>2] = $233; + $$sroa$25$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$25$0$$sroa_idx6>>2] = $236; + $237 = +HEAPF32[$99>>2]; + $238 = $237 * $233; + $239 = +HEAPF32[$26>>2]; + $240 = $238 + $239; + $241 = $237 * $236; + $242 = ((($22)) + 12|0); + $243 = +HEAPF32[$242>>2]; + $244 = $241 + $243; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $240; + $$sroa$2$0$$sroa_idx3 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx3>>2] = $244; + HEAP32[$25>>2] = 1; + break; + } + } + } while(0); + STACKTOP = sp;return; +} +function _SolvePolygonToCircle($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $4; + HEAP32[$3>>2] = $2; + _SolveCircleToPolygon($0); + $5 = ((($0)) + 16|0); + $6 = +HEAPF32[$5>>2]; + $7 = -$6; + HEAPF32[$5>>2] = $7; + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = -$9; + HEAPF32[$8>>2] = $10; + return; +} +function _SolvePolygonToPolygon($0) { + $0 = $0|0; + var $$0 = 0, $$051 = 0, $$051$in = 0, $$052 = 0, $$1 = 0, $$byval_copy24 = 0, $$sink = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx12 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0.0; + var $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0.0, $126 = 0.0; + var $127 = 0.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.0, $14 = 0, $140 = 0.0, $141 = 0, $142 = 0.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.0, $156 = 0.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.0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0.0, $173 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0.0, $26 = 0, $27 = 0.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, $tmpcast58$byval_copy23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 3008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(3008|0); + $$byval_copy24 = sp + 2584|0; + $tmpcast58$byval_copy23 = sp + 2168|0; + $1 = sp + 1744|0; + $2 = sp + 1328|0; + $3 = sp + 1324|0; + $4 = sp + 1320|0; + $5 = sp + 904|0; + $6 = sp + 488|0; + $7 = sp + 24|0; + $8 = sp + 80|0; + $9 = sp + 16|0; + $10 = sp + 8|0; + $11 = sp + 64|0; + $12 = sp + 56|0; + $13 = sp + 48|0; + $14 = sp + 40|0; + $15 = sp + 72|0; + $16 = sp; + $17 = sp + 2160|0; + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 84|0); + _memcpy(($1|0),($20|0),416)|0; + $21 = ((($0)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 84|0); + _memcpy(($2|0),($23|0),416)|0; + $24 = ((($0)) + 40|0); + HEAP32[$24>>2] = 0; + HEAP32[$3>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($1|0),416)|0; + _memcpy(($$byval_copy24|0),($2|0),416)|0; + $25 = (+_FindAxisLeastPenetration($3,$tmpcast58$byval_copy23,$$byval_copy24)); + $26 = !($25 >= 0.0); + if (!($26)) { + STACKTOP = sp;return; + } + HEAP32[$4>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($2|0),416)|0; + _memcpy(($$byval_copy24|0),($1|0),416)|0; + $27 = (+_FindAxisLeastPenetration($4,$tmpcast58$byval_copy23,$$byval_copy24)); + $28 = !($27 >= 0.0); + if ($28) { + $29 = (_BiasGreaterThan($25,$27)|0); + $30 = ($29|0)==(0); + if ($30) { + _memcpy(($5|0),($2|0),416)|0; + _memcpy(($6|0),($1|0),416)|0; + $$051$in = $4;$$052 = 1; + } else { + _memcpy(($5|0),($1|0),416)|0; + _memcpy(($6|0),($2|0),416)|0; + $$051$in = $3;$$052 = 0; + } + $$051 = HEAP32[$$051$in>>2]|0; + $31 = ((($7)) + 8|0); + _memcpy(($tmpcast58$byval_copy23|0),($5|0),416)|0; + _memcpy(($$byval_copy24|0),($6|0),416)|0; + _FindIncidentFace($7,$31,$tmpcast58$byval_copy23,$$byval_copy24,$$051); + $32 = ((($5)) + 12|0); + _memcpy(($8|0),($32|0),404)|0; + $33 = (((($8)) + 4|0) + ($$051<<3)|0); + $34 = $33; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = $9; + $41 = $40; + HEAP32[$41>>2] = $36; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $39; + $44 = (($$051) + 1)|0; + $45 = HEAP32[$8>>2]|0; + $46 = ($44>>>0)<($45>>>0); + $47 = $46 ? $44 : 0; + $48 = (((($8)) + 4|0) + ($47<<3)|0); + $49 = $48; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = $10; + $56 = $55; + HEAP32[$56>>2] = $51; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $54; + $59 = ((($8)) + 388|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast58$byval_copy23,$$byval_copy24); + $60 = $11; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = $9; + $67 = $66; + HEAP32[$67>>2] = $62; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = $65; + $70 = ((($5)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$72>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$72+4>>2]|0; + _Vector2Add_2($12,$tmpcast58$byval_copy23,$$byval_copy24); + $73 = $12; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = $9; + $80 = $79; + HEAP32[$80>>2] = $75; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $78; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast58$byval_copy23,$$byval_copy24); + $83 = $13; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = $10; + $90 = $89; + HEAP32[$90>>2] = $85; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = $88; + $93 = HEAP32[$70>>2]|0; + $94 = ((($93)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$94>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$94+4>>2]|0; + _Vector2Add_2($14,$tmpcast58$byval_copy23,$$byval_copy24); + $95 = $14; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = $10; + $102 = $101; + HEAP32[$102>>2] = $97; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast58$byval_copy23,$$byval_copy24); + _MathNormalize($15); + $105 = ((($15)) + 4|0); + $106 = HEAP32[$105>>2]|0; + HEAP32[$16>>2] = $106; + $107 = ((($16)) + 4|0); + $108 = +HEAPF32[$15>>2]; + $109 = -$108; + HEAPF32[$107>>2] = $109; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $110 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $111 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $112 = -$111; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + $113 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $114 = +HEAPF32[$15>>2]; + $115 = -$114; + HEAPF32[$17>>2] = $115; + $116 = ((($17)) + 4|0); + $117 = +HEAPF32[$105>>2]; + $118 = -$117; + HEAPF32[$116>>2] = $118; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$17+4>>2]|0; + $119 = (_Clip($$byval_copy24,$112,$7,$31)|0); + $120 = ($119|0)<(2); + if (!($120)) { + ;HEAP32[$$byval_copy24>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$15+4>>2]|0; + $121 = (_Clip($$byval_copy24,$113,$7,$31)|0); + $122 = ($121|0)<(2); + if (!($122)) { + $123 = ($$052|0)==(0); + if ($123) { + $128 = ((($0)) + 16|0); + $129 = $16; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = $128; + $136 = $135; + HEAP32[$136>>2] = $131; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $134; + } else { + $124 = +HEAPF32[$16>>2]; + $125 = -$124; + $126 = +HEAPF32[$107>>2]; + $127 = -$126; + $$sroa$0$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $125; + $$sroa$2$0$$sroa_idx12 = ((($0)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx12>>2] = $127; + } + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$7+4>>2]|0; + $139 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $140 = $139 - $110; + $141 = !($140 <= 0.0); + if ($141) { + $$0 = 0;$$sink = 0.0; + } else { + $142 = -$140; + $143 = ((($0)) + 24|0); + $144 = $7; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = $143; + $151 = $150; + HEAP32[$151>>2] = $146; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = $149; + $$0 = 1;$$sink = $142; + } + $154 = ((($0)) + 12|0); + HEAPF32[$154>>2] = $$sink; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$31+4>>2]|0; + $155 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $156 = $155 - $110; + $157 = !($156 <= 0.0); + if ($157) { + $$1 = $$0; + } else { + $158 = (((($0)) + 24|0) + ($$0<<3)|0); + $159 = $31; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = $158; + $166 = $165; + HEAP32[$166>>2] = $161; + $167 = (($165) + 4)|0; + $168 = $167; + HEAP32[$168>>2] = $164; + $169 = +HEAPF32[$154>>2]; + $170 = $169 - $156; + $171 = (($$0) + 1)|0; + $172 = (+($171|0)); + $173 = $170 / $172; + HEAPF32[$154>>2] = $173; + $$1 = $171; + } + HEAP32[$24>>2] = $$1; + } + } + } + STACKTOP = sp;return; +} +function _MathLenSqr($0) { + $0 = $0|0; + var $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + return (+$6); +} +function _Mat2Transpose($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 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $2; + $3 = ((($0)) + 4|0); + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $8; + $9 = ((($0)) + 12|0); + $10 = ((($1)) + 12|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + return; +} +function _MathDot($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 * $3; + $5 = ((($0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = $6 * $8; + $10 = $4 + $9; + return (+$10); +} +function _DistSqr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $2 = 0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy3 = sp + 16|0; + $$byval_copy2 = sp + 8|0; + $2 = sp; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; + $3 = (+_MathDot($$byval_copy2,$$byval_copy3)); + STACKTOP = sp;return (+$3); +} +function _FindAxisLeastPenetration($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0.0, $$01727 = 0, $$018$lcssa = 0, $$01826 = 0, $$028 = 0.0, $$1 = 0.0, $$119 = 0, $$byval_copy16 = 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, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0; + var $4 = 0, $40 = 0.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.0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy15 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1344|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1344|0); + $$byval_copy16 = sp + 1320|0; + $tmpcast$byval_copy15 = sp + 904|0; + $3 = sp + 484|0; + $4 = sp + 80|0; + $5 = sp + 8|0; + $6 = sp + 72|0; + $7 = sp + 56|0; + $8 = sp + 48|0; + $9 = sp + 896|0; + $10 = sp; + $11 = sp + 40|0; + $12 = sp + 32|0; + $13 = sp + 24|0; + $14 = sp + 16|0; + $15 = sp + 888|0; + $16 = ((($1)) + 12|0); + _memcpy(($3|0),($16|0),404)|0; + $17 = ((($2)) + 12|0); + _memcpy(($4|0),($17|0),404)|0; + $18 = HEAP32[$3>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $$0$lcssa = -3.4028234663852886E+38;$$018$lcssa = 0; + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); + } + $20 = ((($3)) + 388|0); + $21 = ((($4)) + 388|0); + $22 = ((($9)) + 4|0); + $23 = ((($5)) + 4|0); + $24 = ((($1)) + 4|0); + $25 = ((($2)) + 4|0); + $$01727 = 0;$$01826 = 0;$$028 = -3.4028234663852886E+38; + while(1) { + $26 = (((($3)) + 196|0) + ($$01727<<3)|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $5; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$5+4>>2]|0; + _Mat2MultiplyVector2($6,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy16+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy16+12>>2]=HEAP32[$21+12>>2]|0; + _Mat2Transpose($7,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($5,$tmpcast$byval_copy15,$$byval_copy16); + $37 = +HEAPF32[$5>>2]; + $38 = -$37; + HEAPF32[$9>>2] = $38; + $39 = +HEAPF32[$23>>2]; + $40 = -$39; + HEAPF32[$22>>2] = $40; + _memcpy(($tmpcast$byval_copy15|0),($2|0),416)|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$9+4>>2]|0; + _GetSupport($8,$tmpcast$byval_copy15,$$byval_copy16); + $41 = (((($3)) + 4|0) + ($$01727<<3)|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $10; + $49 = $48; + HEAP32[$49>>2] = $44; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy15,$$byval_copy16); + $52 = $11; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $10; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = HEAP32[$24>>2]|0; + $63 = ((($62)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$63+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy15,$$byval_copy16); + $64 = $12; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $10; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = HEAP32[$25>>2]|0; + $75 = ((($74)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$75>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$75+4>>2]|0; + _Vector2Subtract_4($13,$tmpcast$byval_copy15,$$byval_copy16); + $76 = $13; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $10; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($14,$tmpcast$byval_copy15,$$byval_copy16); + $86 = $14; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = $10; + $93 = $92; + HEAP32[$93>>2] = $88; + $94 = (($92) + 4)|0; + $95 = $94; + HEAP32[$95>>2] = $91; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$15+4>>2]|0; + $96 = (+_MathDot($tmpcast$byval_copy15,$$byval_copy16)); + $97 = $96 > $$028; + $$119 = $97 ? $$01727 : $$01826; + $$1 = $97 ? $96 : $$028; + $98 = (($$01727) + 1)|0; + $99 = HEAP32[$3>>2]|0; + $100 = ($98>>>0)<($99>>>0); + if ($100) { + $$01727 = $98;$$01826 = $$119;$$028 = $$1; + } else { + $$0$lcssa = $$1;$$018$lcssa = $$119; + break; + } + } + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); +} +function _BiasGreaterThan($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 * 0.94999998807907104; + $3 = $0 * 0.0099999997764825821; + $4 = $3 + $2; + $5 = $4 <= $0; + $6 = $5&1; + return ($6|0); +} +function _FindIncidentFace($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$02434 = 0, $$02533 = 0.0, $$035 = 0, $$1 = 0, $$126 = 0.0, $$byval_copy13 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0; + var $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, $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, $tmpcast$byval_copy12 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 912|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(912|0); + $$byval_copy13 = sp + 896|0; + $tmpcast$byval_copy12 = sp + 880|0; + $5 = sp + 460|0; + $6 = sp + 56|0; + $7 = sp; + $8 = sp + 48|0; + $9 = sp + 864|0; + $10 = sp + 40|0; + $11 = sp + 32|0; + $12 = sp + 24|0; + $13 = sp + 16|0; + $14 = sp + 8|0; + $15 = ((($2)) + 12|0); + _memcpy(($5|0),($15|0),404)|0; + $16 = ((($3)) + 12|0); + _memcpy(($6|0),($16|0),404)|0; + $17 = (((($5)) + 196|0) + ($4<<3)|0); + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $7; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = ((($5)) + 388|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$28>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($8,$tmpcast$byval_copy12,$$byval_copy13); + $29 = $8; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = $7; + $36 = $35; + HEAP32[$36>>2] = $31; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; + $39 = ((($6)) + 388|0); + ;HEAP32[$$byval_copy13>>2]=HEAP32[$39>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[$39+12>>2]|0; + _Mat2Transpose($9,$$byval_copy13); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($10,$tmpcast$byval_copy12,$$byval_copy13); + $40 = $10; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = $7; + $47 = $46; + HEAP32[$47>>2] = $42; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = HEAP32[$6>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $$0$lcssa = 0; + } else { + $52 = HEAP32[$6>>2]|0; + $$02434 = 0;$$02533 = 3.4028234663852886E+38;$$035 = 0; + while(1) { + $104 = (((($6)) + 196|0) + ($$02434<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$104>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$104+4>>2]|0; + $105 = (+_MathDot($tmpcast$byval_copy12,$$byval_copy13)); + $106 = $105 < $$02533; + $$126 = $106 ? $105 : $$02533; + $$1 = $106 ? $$02434 : $$035; + $107 = (($$02434) + 1)|0; + $108 = ($107>>>0)<($52>>>0); + if ($108) { + $$02434 = $107;$$02533 = $$126;$$035 = $$1; + } else { + $$0$lcssa = $$1; + break; + } + } + } + $53 = (((($6)) + 4|0) + ($$0$lcssa<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$53+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy12,$$byval_copy13); + $54 = $11; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = $0; + $61 = $60; + HEAP32[$61>>2] = $56; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = ((($3)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($65)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$66>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$66+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy12,$$byval_copy13); + $67 = $12; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $72; + $77 = (($$0$lcssa) + 1)|0; + $78 = HEAP32[$6>>2]|0; + $79 = ($77>>>0)<($78>>>0); + $80 = $79 ? $77 : 0; + $81 = (((($6)) + 4|0) + ($80<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$81+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast$byval_copy12,$$byval_copy13); + $82 = $13; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $1; + $89 = $88; + HEAP32[$89>>2] = $84; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + $92 = HEAP32[$64>>2]|0; + $93 = ((($92)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$93>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$93+4>>2]|0; + _Vector2Add_2($14,$tmpcast$byval_copy12,$$byval_copy13); + $94 = $14; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = $1; + $101 = $100; + HEAP32[$101>>2] = $96; + $102 = (($100) + 4)|0; + $103 = $102; + HEAP32[$103>>2] = $99; + STACKTOP = sp;return; +} +function _Clip($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy6 = 0, $$byval_copy7 = 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, $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.0, $29 = 0.0, $30 = 0.0, $31 = 0.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.0, $57 = 0, $58 = 0.0, $59 = 0.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.0, $72 = 0.0, $73 = 0; + var $74 = 0.0, $75 = 0.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 + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy7 = sp + 40|0; + $$byval_copy6 = sp + 32|0; + $4 = sp; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = $2; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = $4; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $12; + $17 = ((($4)) + 8|0); + $18 = $3; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $17; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + $28 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $29 = $28 - $1; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0; + $30 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $31 = $30 - $1; + $32 = !($29 <= 0.0); + if ($32) { + $$0 = 0; + } else { + $33 = $2; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = $4; + $40 = $39; + HEAP32[$40>>2] = $35; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $38; + $$0 = 1; + } + $43 = !($31 <= 0.0); + if ($43) { + $$1 = $$0; + } else { + $44 = (($4) + ($$0<<3)|0); + $45 = (($$0) + 1)|0; + $46 = $3; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = $44; + $53 = $52; + HEAP32[$53>>2] = $48; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $$1 = $45; + } + $56 = $29 * $31; + $57 = $56 < 0.0; + if (!($57)) { + $$2 = $$1; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); + } + $58 = $29 - $31; + $59 = $29 / $58; + $60 = (($4) + ($$1<<3)|0); + $61 = $2; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = $60; + $68 = $67; + HEAP32[$68>>2] = $63; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $66; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy6,$$byval_copy7); + $71 = +HEAPF32[$5>>2]; + $72 = $59 * $71; + HEAPF32[$5>>2] = $72; + $73 = ((($5)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $59 * $74; + HEAPF32[$73>>2] = $75; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$60+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$5+4>>2]|0; + _Vector2Add_2($6,$$byval_copy6,$$byval_copy7); + $76 = $6; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $60; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = (($$1) + 1)|0; + $$2 = $86; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); +} +function _GetSupport($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$019 = 0.0, $$1 = 0.0, $$byval_copy = 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.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 432|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(432|0); + $$byval_copy = sp + 424|0; + $tmpcast$byval_copy = sp + 416|0; + $3 = sp + 8|0; + $4 = sp; + $5 = ((($1)) + 12|0); + _memcpy(($3|0),($5|0),404)|0; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + $11 = 0;$14 = 0; + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $$01318 = 0;$$019 = -3.4028234663852886E+38;$29 = 0;$31 = 0; + while(1) { + $15 = (((($3)) + 4|0) + ($$01318<<3)|0); + $16 = $15; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = $4; + $23 = $22; + HEAP32[$23>>2] = $18; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + $26 = (+_MathDot($tmpcast$byval_copy,$$byval_copy)); + $27 = $26 > $$019; + $28 = $27 ? $18 : $29; + $30 = $27 ? $21 : $31; + $$1 = $27 ? $26 : $$019; + $32 = (($$01318) + 1)|0; + $33 = ($32>>>0)<($8>>>0); + if ($33) { + $$01318 = $32;$$019 = $$1;$29 = $28;$31 = $30; + } else { + $11 = $28;$14 = $30; + break; + } + } + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; +} +function _MathCross($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $1; + $6 = -$5; + HEAPF32[$0>>2] = $6; + $7 = ((($0)) + 4|0); + $8 = +HEAPF32[$2>>2]; + $9 = $8 * $1; + HEAPF32[$7>>2] = $9; + return; +} +function _Mat2Set($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = -$3; + $5 = ((($0)) + 4|0); + HEAPF32[$5>>2] = $4; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 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); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[7749] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 14040; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 14080; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[3520]; + $111 = +HEAPF32[3510]; + $112 = $110 - $111; + HEAPF32[3522] = $112; + $113 = +HEAPF32[(14084)>>2]; + $114 = +HEAPF32[(14044)>>2]; + $115 = $113 - $114; + HEAPF32[(14092)>>2] = $115; + HEAP32[7748] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14072+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14096+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[7754] = $116; + $117 = 14072; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 14040; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 14096; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 14080; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 14072; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 14096; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[3524]; + $160 = +HEAPF32[3518]; + $161 = $159 - $160; + HEAPF32[3522] = $161; + $162 = +HEAPF32[(14100)>>2]; + $163 = +HEAPF32[(14076)>>2]; + $164 = $162 - $163; + HEAPF32[(14092)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14072+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14080>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14080+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14096+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14072+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14096+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[7754]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[7748] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14072+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14096+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[7755] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[7754] = 0.0; + HEAPF32[7755] = 0.0; + HEAPF32[3522] = 0.0; + HEAPF32[(14092)>>2] = 0.0; + HEAP32[7749] = 0; + HEAP32[7748] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[7750]|0; + $7 = (($6) + 1)|0; + HEAP32[7750] = $7; + $8 = HEAP32[7748]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[7748] = 2; + HEAP32[7750] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[7750] = 1; + HEAP32[7748] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 14040; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 14048; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 14056; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[6] = $34; + HEAPF32[3516] = 0.0; + HEAPF32[(14068)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[7748]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 14056; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[7751] = $49; + HEAP32[7752] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[6]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[7753] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[7751] = 0.0; + HEAPF32[7753] = 0.0; + $$sink10 = 0; + } + HEAP32[7748] = $$sink10; + HEAPF32[3512] = 0.0; + HEAPF32[(14052)>>2] = 0.0; + HEAP32[7749] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[7752]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[7752] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 14072; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[7748]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14072+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[7748] = 8; + } + } + $82 = +HEAPF32[3518]; + $83 = +HEAPF32[3512]; + $84 = $82 - $83; + HEAPF32[3516] = $84; + $85 = +HEAPF32[(14076)>>2]; + $86 = +HEAPF32[(14052)>>2]; + $87 = $85 - $86; + HEAPF32[(14068)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7748]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[7749]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[7748] = 4; + } + $4 = HEAP32[7748]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[7748] = 0; + return; +} +function _GetMousePosition($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 = 14104; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7758]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7757]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.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; + _TraceLog(0,3400,$vararg_buffer); + HEAP32[7760] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer_12(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((3429|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3429|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3429|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3429|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3429|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3429|0),(0|0),1,(7|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); + $3 = HEAP32[7758]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[3526] = $5; + $6 = HEAP32[7757]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(14108)>>2] = $8; + $9 = HEAP32[7761]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 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); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[14144>>0]=HEAP8[7958>>0]|0;HEAP8[14144+1>>0]=HEAP8[7958+1>>0]|0;HEAP8[14144+2>>0]=HEAP8[7958+2>>0]|0;HEAP8[14144+3>>0]=HEAP8[7958+3>>0]|0;HEAP8[14144+4>>0]=HEAP8[7958+4>>0]|0;HEAP8[14144+5>>0]=HEAP8[7958+5>>0]|0;HEAP8[14144+6>>0]=HEAP8[7958+6>>0]|0; + break; + } + case 1: { + $3 = 14144; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=14144; src=7965; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 14144; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(14144,$1)|0); + $strlen = (_strlen(14144)|0); + $endptr = (14144 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(14144,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[7758] = $0; + HEAP32[7757] = $1; + _MatrixIdentity($2); + dest=31120; 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)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4100,$vararg_buffer); + } + $6 = HEAP32[7758]|0; + HEAP32[7796] = $6; + $7 = HEAP32[7757]|0; + HEAP32[7797] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[35996]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[35996]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[35996]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4126,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[7798]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[7758]|0; + $48 = HEAP32[7757]|0; + $49 = HEAP32[7760]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[7756] = $50; + $51 = HEAP32[7758]|0; + HEAP32[7799] = $51; + $52 = HEAP32[7757]|0; + HEAP32[7800] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[7758]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[7757]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[7796] = $31; + HEAP32[7797] = $34; + } + } while(0); + $38 = HEAP32[7796]|0; + $39 = HEAP32[7797]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4151,$vararg_buffer3); + $40 = HEAP32[7796]|0; + $41 = HEAP32[7797]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[7796]|0; + $43 = HEAP32[7797]|0; + $44 = HEAP32[7760]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[7756] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4189,$vararg_buffer6); + } else { + _TraceLog(0,4222,$vararg_buffer8); + $55 = HEAP32[7799]|0; + $56 = HEAP32[7800]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4262,$vararg_buffer10); + $57 = HEAP32[7758]|0; + $58 = HEAP32[7757]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4283,$vararg_buffer14); + $59 = HEAP32[7801]|0; + $60 = HEAP32[7802]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,4304,$vararg_buffer18); + } + $61 = HEAP32[7756]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[7756]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[7756]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[7756]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[7756]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[7756]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[7756]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[7756]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[7756]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[35996]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[7758]|0; + $74 = HEAP32[7757]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7799]|0; + $76 = HEAP32[7801]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7800]|0; + $80 = HEAP32[7802]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,4329,$vararg_buffer22); + $73 = HEAP32[7758]|0; + $74 = HEAP32[7757]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7799]|0; + $76 = HEAP32[7801]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7800]|0; + $80 = HEAP32[7802]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 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, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(31088)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (28 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[31064>>2]=HEAP32[$1>>2]|0;HEAP32[31064+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[31064+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[31064+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[31064+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(31088)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(31092)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(31084)>>2] = $23; + $24 = HEAP32[7766]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3624,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(31068)>>2]|0; + $10 = HEAP32[(31088)>>2]|0; + $11 = HEAP32[(31092)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2076 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(31084)>>2] = $23; + $24 = HEAP32[7766]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3624,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer_12() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[1767] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 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 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,3557,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,3488,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,3481)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 14120; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (14128); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 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 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (31048 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 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; + $1 = ($0|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[1764] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,3437,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7761] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.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.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,4000,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[7774]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,3669,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[7775]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,3713,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[7776]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,3758,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[7777]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,3803,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[7778]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,3848,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[7774]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[7774]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[7774]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[7774]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[7775]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[7776]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[7776]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[7777]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[7777]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[7778]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[7778]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,3893,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[7779]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,3971,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,3922,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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, $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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.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; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4054,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + 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] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,7920,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[7758]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[7757]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[7799] = $3; + HEAP32[7800] = $5; + HEAP32[7801] = 0; + HEAP32[7802] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,7854,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[7758]|0; + $36 = (+($35|0)); + $37 = HEAP32[7757]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[7799] = $45; + HEAP32[7800] = $37; + $46 = (($45) - ($35))|0; + HEAP32[7801] = $46; + $$sink1 = 0; + } else { + HEAP32[7799] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[7800] = $42; + HEAP32[7801] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[7802] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[7757]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,7711,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[7758]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[7757]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[7799] = $23; + HEAP32[7800] = $1; + $24 = (($0) - ($23))|0; + HEAP32[7801] = $24; + $$sink = 0; + } else { + HEAP32[7799] = $0; + $17 = HEAP32[7757]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[7800] = $20; + HEAP32[7801] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[7802] = $$sink; + $25 = HEAP32[7799]|0; + $26 = (+($25|0)); + $27 = HEAP32[7758]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=31120; 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)); + HEAP32[7799] = $0; + HEAP32[7800] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,7789,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[7758] = $1; + HEAP32[7757] = $2; + HEAP32[7799] = $1; + HEAP32[7800] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($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, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[744]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (36003 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[743] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 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.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (35997 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 14120; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[743] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[8172] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[8171] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,4352,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,4370,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,4388,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,4406,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,4424)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,4426,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,4461)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[7837] = 1; + $27 = (_eglGetProcAddress((4488|0))|0); + HEAP32[7838] = $27; + $28 = (_eglGetProcAddress((4509|0))|0); + HEAP32[7839] = $28; + $29 = (_eglGetProcAddress((4530|0))|0); + HEAP32[7840] = $29; + } + $30 = (_strcmp($24,4554)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[7779] = 1; + } + $32 = (_strcmp($24,4574)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,4606)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,4639)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[7774] = 1; + } + $39 = (_strcmp($24,4679)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4715)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[7775] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4748)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[7776] = 1; + } + $47 = (_strcmp($44,4773)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[7777] = 1; + } + $49 = (_strcmp($44,4806)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[7778] = 1; + } + $51 = (_strcmp($44,4842)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[7841] = 1; + _glGetFloatv(34047,(31368|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,4876)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[7843] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[7837]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,4979,$vararg_buffer15); + } else { + _TraceLog(0,4904,$vararg_buffer13); + } + $57 = HEAP32[7779]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5115,$vararg_buffer19); + } else { + _TraceLog(0,5040,$vararg_buffer17); + } + $59 = HEAP32[7774]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5207,$vararg_buffer21); + } + $61 = HEAP32[7775]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5253,$vararg_buffer23); + } + $63 = HEAP32[7776]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,5300,$vararg_buffer25); + } + $65 = HEAP32[7777]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,5351,$vararg_buffer27); + } + $67 = HEAP32[7778]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,5398,$vararg_buffer29); + } + $69 = HEAP32[7841]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[7842]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,5445,$vararg_buffer31); + } + $73 = HEAP32[7843]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,5511,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[7844] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,5615,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,5564,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=31380; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=31436; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[7873] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[7873]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[7874] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[7875] = 1; + $85 = HEAP32[7844]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[7876] = 4; + _MatrixIdentity($4); + dest=31508; src=$4; 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)); + _MatrixIdentity($4); + dest=(31572); src=$4; 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)); + _MatrixIdentity($4); + dest=(31636); src=$4; 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)); + _MatrixIdentity($4); + dest=(31700); src=$4; 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)); + _MatrixIdentity($4); + dest=(31764); src=$4; 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)); + _MatrixIdentity($4); + dest=(31828); src=$4; 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)); + _MatrixIdentity($4); + dest=(31892); src=$4; 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)); + _MatrixIdentity($4); + dest=(31956); src=$4; 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)); + _MatrixIdentity($4); + dest=(32020); src=$4; 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)); + _MatrixIdentity($4); + dest=(32084); src=$4; 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)); + _MatrixIdentity($4); + dest=(32148); src=$4; 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)); + _MatrixIdentity($4); + dest=(32212); src=$4; 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)); + _MatrixIdentity($4); + dest=(32276); src=$4; 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)); + _MatrixIdentity($4); + dest=(32340); src=$4; 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)); + _MatrixIdentity($4); + dest=(32404); src=$4; 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)); + _MatrixIdentity($4); + dest=(32468); src=$4; 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)); + _MatrixIdentity($5); + dest=31216; src=$5; 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)); + _MatrixIdentity($6); + dest=31280; src=$6; 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)); + HEAP32[7803] = 31280; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[8133] = $0; + HEAP32[8134] = $1; + _TraceLog(0,5654,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7801]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[7802]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[7799]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[7800]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 31216; + label = 3; + break; + } + case 5888: { + $modelview$sink = 31280; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[7803] = $modelview$sink; + } + HEAP32[7836] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 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); + $0 = sp; + $1 = HEAP32[7803]|0; + _MatrixIdentity($0); + dest=$1; src=$0; 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)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[7803]|0; + dest=$$byval_copy; src=$8; 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)); + dest=$$byval_copy1; src=$6; 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)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; 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)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6230|0),489)|0; + _memcpy(($3|0),(6719|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7208,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7160,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|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 _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 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, $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 = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(32552)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(32560)>>2] = $1; + HEAP32[(32556)>>2] = 0; + HEAP32[(32564)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(32560)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[8135] = 0; + HEAP32[(32548)>>2] = 0; + HEAP32[(32544)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(32600)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(32608)>>2] = $6; + HEAP32[(32604)>>2] = 0; + HEAP32[(32612)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(32608)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[8147] = 0; + HEAP32[(32596)>>2] = 0; + HEAP32[(32592)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(32648)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(32652)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(32656)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(32660)>>2] = $13; + $14 = HEAP32[(32648)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(32652)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(32656)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(32660)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[8159] = 0; + HEAP32[(32640)>>2] = 0; + HEAP32[(32644)>>2] = 0; + _TraceLog(0,5701,$vararg_buffer); + $20 = HEAP32[7837]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[7838]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32568)); + $44 = HEAP32[7839]|0; + $45 = HEAP32[(32568)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((32572)|0)); + $46 = HEAP32[(32572)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(32552)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(31440)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(31440)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((32576)|0)); + $50 = HEAP32[(32576)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(32560)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(31460)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(31460)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[7837]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(32572)>>2]|0; + $58 = HEAP32[(32576)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,5839,$vararg_buffer3); + } else { + $56 = HEAP32[(32568)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,5774,$vararg_buffer1); + } + $59 = HEAP32[7837]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[7838]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32616)); + $62 = HEAP32[7839]|0; + $63 = HEAP32[(32616)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((32620)|0)); + $64 = HEAP32[(32620)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(32600)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(31440)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(31440)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32624)|0)); + $68 = HEAP32[(32624)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(32608)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(31460)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(31460)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[7837]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(32620)>>2]|0; + $76 = HEAP32[(32624)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,5985,$vararg_buffer10); + } else { + $74 = HEAP32[(32616)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,5916,$vararg_buffer7); + } + $77 = HEAP32[7837]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[7838]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32664)); + $80 = HEAP32[7839]|0; + $81 = HEAP32[(32664)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((32668)|0)); + $82 = HEAP32[(32668)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(32648)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(31440)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(31440)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32672)|0)); + $86 = HEAP32[(32672)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(32652)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(31444)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(31444)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((32676)|0)); + $90 = HEAP32[(32676)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(32656)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(31460)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(31460)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((32680)|0)); + $94 = HEAP32[(32680)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(32660)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[7837]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(32668)>>2]|0; + $100 = HEAP32[(32672)>>2]|0; + $101 = HEAP32[(32676)>>2]|0; + $102 = HEAP32[(32680)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6131,$vararg_buffer17); + } else { + $98 = HEAP32[(32664)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6066,$vararg_buffer14); + } + $103 = HEAP32[7837]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[7839]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|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; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,7464,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,7412,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,7461,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,7565,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,7514,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,7461,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7256|0)); + _glBindAttribLocation(($20|0),1,(7271|0)); + _glBindAttribLocation(($20|0),2,(7302|0)); + _glBindAttribLocation(($20|0),3,(7329|0)); + _glBindAttribLocation(($20|0),4,(7315|0)); + _glBindAttribLocation(($20|0),5,(7286|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,7617,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,7461,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,7663,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7256|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7271|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7286|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(7302|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(7315|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(7329|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(7341|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(7351|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(7362|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(7373|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(7385|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(7394|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(7403|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35997 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (36000 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35997 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (36000 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[7756]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,7975,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[31064>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[31064+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[31064+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[31064+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[31064+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(31092)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(31376|0)); + $0 = HEAP32[7844]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,8002,$vararg_buffer); + $1 = HEAP32[7874]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[7845]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + 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; + $0 = HEAP32[7837]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[7839]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((32572)|0)); + _glDeleteBuffers(1,((32576)|0)); + _glDeleteBuffers(1,((32620)|0)); + _glDeleteBuffers(1,((32624)|0)); + _glDeleteBuffers(1,((32668)|0)); + _glDeleteBuffers(1,((32672)|0)); + _glDeleteBuffers(1,((32676)|0)); + _glDeleteBuffers(1,((32680)|0)); + $3 = HEAP32[7837]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7840]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32568)); + $6 = HEAP32[7840]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32616)); + $7 = HEAP32[7840]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32664)); + } + $8 = HEAP32[(32552)>>2]|0; + _free($8); + $9 = HEAP32[(32560)>>2]|0; + _free($9); + $10 = HEAP32[(32600)>>2]|0; + _free($10); + $11 = HEAP32[(32608)>>2]|0; + _free($11); + $12 = HEAP32[(32648)>>2]|0; + _free($12); + $13 = HEAP32[(32652)>>2]|0; + _free($13); + $14 = HEAP32[(32656)>>2]|0; + _free($14); + $15 = HEAP32[(32660)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $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; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8067,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 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); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[1784] = $0; + $1 = +HEAPF64[1767]; + $2 = $0 - $1; + HEAPF64[1785] = $2; + HEAPF64[1767] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=31120; 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)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(32692); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[8173] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(32696)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(32700)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(32704)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(32708)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(32712)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(32716)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(32720)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(32724)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(32728)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(32732)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(32736)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(32740)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(32744)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(32748)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(32752)>>2] = $31; + return (32692|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[7803]|0; + dest=$$byval_copy; src=$49; 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)); + dest=$$byval_copy1; src=$1; 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)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; 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)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[1784] = $0; + $1 = +HEAPF64[1767]; + $2 = $0 - $1; + HEAPF64[1786] = $2; + HEAPF64[1767] = $0; + $3 = +HEAPF64[1785]; + $4 = $2 + $3; + HEAPF64[1787] = $4; + $5 = +HEAPF64[1764]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[1784] = $10; + $11 = +HEAPF64[1767]; + $12 = $10 - $11; + HEAPF64[1767] = $10; + $13 = +HEAPF64[1787]; + $14 = $12 + $13; + HEAPF64[1787] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7756]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[743] = -1; + HEAP32[745] = -1; + HEAP32[8189] = 0; + $3 = HEAP32[7756]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[3526] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(14108)>>2] = $7; + _memcpy((36515|0),(36003|0),512)|0; + ;HEAP8[36000>>0]=HEAP8[35997>>0]|0;HEAP8[36000+1>>0]=HEAP8[35997+1>>0]|0;HEAP8[36000+2>>0]=HEAP8[35997+2>>0]|0; + $8 = HEAP32[8172]|0; + HEAP32[7759] = $8; + HEAP32[8172] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (37027 + ($$05160<<5)|0); + $scevgep67 = (37155 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; 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)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((37155 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[745] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((32760 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[8189] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $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, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8135]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[7837]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[7839]|0; + $5 = HEAP32[(32568)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(32572)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[8135]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(32552)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(32576)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(32548)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(32560)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[8147]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[7837]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[7839]|0; + $19 = HEAP32[(32616)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(32620)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[8147]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(32600)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(32624)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(32596)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(32608)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[8159]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[7837]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[7839]|0; + $33 = HEAP32[(32664)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(32668)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[8159]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(32648)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(32672)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[8159]|0; + $40 = $39 << 3; + $41 = HEAP32[(32652)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(32676)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[8159]|0; + $44 = $43 << 2; + $45 = HEAP32[(32656)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[7837]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[7839]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 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; + 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, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=31216; 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)); + dest=$1; src=31280; 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)); + $3 = HEAP32[8222]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; 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)); + dest=$$byval_copy2; src=$1; 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)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[8135]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[8147]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[8159]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[7859]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=31280; 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)); + dest=$$byval_copy2; src=31216; 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)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(31464)>>2]|0; + dest=$$byval_copy2; 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)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(31468)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(31480)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[8135]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[7844]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[7837]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(32572)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(31440)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(31440)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(32576)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(31460)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(31460)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[7839]|0; + $25 = HEAP32[(32568)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[8135]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[7837]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[8147]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[7844]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[7837]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(32620)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(31440)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(31440)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(32624)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(31460)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(31460)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[7839]|0; + $41 = HEAP32[(32616)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[8147]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[7837]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[8159]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[7837]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(32668)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(31440)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(31440)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(32672)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(31444)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(31444)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(32676)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(31460)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(31460)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(32680)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[7839]|0; + $56 = HEAP32[(32664)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[7875]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[7874]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[7874]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[7875]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[7837]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[7837]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[7839]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[7875] = 1; + $5 = HEAP32[7844]|0; + $6 = HEAP32[7874]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[8135] = 0; + HEAP32[(32548)>>2] = 0; + HEAP32[8147] = 0; + HEAP32[(32596)>>2] = 0; + HEAP32[8159] = 0; + HEAP32[(32640)>>2] = 0; + HEAP32[(32644)>>2] = 0; + HEAPF32[746] = -1.0; + dest=31216; src=$0; 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)); + dest=31280; src=$1; 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)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $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 + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; 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)); + $5 = HEAP32[8133]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[8134]|0; + _rlViewport($7,0,$8,$9); + $10 = (33120 + ($0<<6)|0); + dest=$$byval_copy; 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)); + dest=$$byval_copy3; src=$10; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (32992 + ($0<<6)|0); + dest=$3; src=$11; 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)); + dest=$$byval_copy3; src=$4; 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)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; 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)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31280; src=$0; 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)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31216; src=$0; 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)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 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; + $0 = HEAP32[8312]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8117,$vararg_buffer); + } + $2 = HEAP32[8312]|0; + $3 = (31508 + ($2<<6)|0); + $4 = HEAP32[7803]|0; + dest=$3; src=$4; 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)); + _rlLoadIdentity(); + $5 = HEAP32[8312]|0; + $6 = (($5) + 1)|0; + HEAP32[8312] = $6; + $7 = HEAP32[7836]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[8313] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8312]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[8312]|0; + $3 = (($2) + -1)|0; + $4 = (31508 + ($3<<6)|0); + $5 = HEAP32[7803]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[8312] = $6; + return; +} +function _GetFPS() { + var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_GetFrameTime()); + $1 = 1.0 / $0; + $2 = (~~(($1))); + return ($2|0); +} +function _GetFrameTime() { + var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1787]; + $1 = $0; + return (+$1); +} +function _GetRandomValue($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)>($1|0); + $$ = $2 ? $0 : $1; + $$10 = $2 ? $1 : $0; + $3 = (_rand()|0); + $4 = (($$) - ($$10))|0; + $ispos = ($4|0)>(-1); + $neg = (0 - ($4))|0; + $5 = $ispos ? $4 : $neg; + $6 = (($5) + 1)|0; + $7 = (($3|0) % ($6|0))&-1; + $8 = (($7) + ($$10))|0; + return ($8|0); +} +function _SetConfigFlags($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP8[35996] = $0; + $1 = $0 & 1; + $2 = ($1<<24>>24)==(0); + if (!($2)) { + HEAP32[7761] = 1; + } + $3 = HEAP8[35996]|0; + $4 = $3 & 2; + $5 = ($4<<24>>24)==(0); + if ($5) { + return; + } + HEAP32[7798] = 1; + return; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (36003 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (36515 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[7803]|0; + dest=$$byval_copy; src=$5; 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)); + dest=$$byval_copy1; src=$3; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; 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)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 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 + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; 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)); + _MatrixTranspose($4); + $11 = HEAP32[7803]|0; + dest=$$byval_copy1; src=$11; 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)); + dest=$$byval_copy2; src=$4; 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)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; 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)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7876] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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.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.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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; + 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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 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); + $$byval_copy = sp; + $0 = HEAP32[8313]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[8314]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[7873]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[7803]|0; + dest=$$byval_copy; src=$8; 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)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[8314]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[8313] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[7873]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[8314]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[8313] = 0; + } + HEAP32[8314] = 0; + } + $21 = HEAP32[7876]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[8135]|0; + $23 = HEAP32[(32548)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(32560)>>2]|0; + $28 = HEAP32[(32548)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(32560)>>2]|0; + $35 = HEAP32[(32548)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(32560)>>2]|0; + $43 = HEAP32[(32548)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(32560)>>2]|0; + $51 = HEAP32[(32548)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(32548)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(32548)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[8147]|0; + $62 = HEAP32[(32596)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(32608)>>2]|0; + $67 = HEAP32[(32596)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(32608)>>2]|0; + $74 = HEAP32[(32596)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(32608)>>2]|0; + $82 = HEAP32[(32596)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(32608)>>2]|0; + $90 = HEAP32[(32596)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(32596)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(32596)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[8159]|0; + $101 = HEAP32[(32644)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(32656)>>2]|0; + $106 = HEAP32[(32644)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(32656)>>2]|0; + $113 = HEAP32[(32644)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(32656)>>2]|0; + $121 = HEAP32[(32644)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(32656)>>2]|0; + $129 = HEAP32[(32644)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(32644)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(32644)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[8159]|0; + $140 = HEAP32[(32640)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(32652)>>2]|0; + $$promoted = HEAP32[(32640)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(32640)>>2] = $147; + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + 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, $45 = 0, $46 = 0, $47 = 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; + $3 = HEAP32[8313]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7873]|0; + $6 = HEAP32[8314]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[8314] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[7876]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[8135]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(32552)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[8135] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8155,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[8147]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(32600)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[8147] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8180,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[8159]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(32648)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[8159] = $41; + $42 = HEAP32[7874]|0; + $43 = HEAP32[7875]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8209,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[746]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[7876]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(32652)>>2]|0; + $5 = HEAP32[(32640)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(32640)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[7876]|0; + switch ($4|0) { + case 1: { + $$sink37 = (32548);$$sink38 = (32560); + break; + } + case 4: { + $$sink37 = (32596);$$sink38 = (32608); + break; + } + case 7: { + $$sink37 = (32644);$$sink38 = (32656); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($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 = HEAP32[7874]|0; + $2 = HEAP32[7875]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[7875] = $10; + } + $11 = HEAP32[7875]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8159]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _DrawLineV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $3 = HEAP8[$2>>0]|0; + $4 = ((($2)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($2)) + 2|0); + $7 = HEAP8[$6>>0]|0; + $8 = ((($2)) + 3|0); + $9 = HEAP8[$8>>0]|0; + _rlColor4ub($3,$5,$7,$9); + $10 = +HEAPF32[$0>>2]; + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + _rlVertex2f($10,$12); + $13 = +HEAPF32[$1>>2]; + $14 = ((($1)) + 4|0); + $15 = +HEAPF32[$14>>2]; + _rlVertex2f($13,$15); + _rlEnd(); + return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[31064>>2]|0;HEAP32[$0+4>>2]=HEAP32[31064+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[31064+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[31064+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[31064+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[31064+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[31064+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[31064+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 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; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|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.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.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.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($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; + (_vsprintf(37283,$0,$1)|0); + STACKTOP = sp;return (37283|0); +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _DrawFPS($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $$sink = 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); + $$byval_copy = sp; + $2 = sp + 4|0; + $3 = HEAP32[8315]|0; + $4 = HEAP32[747]|0; + $5 = ($3|0)<($4|0); + if ($5) { + $6 = (($3) + 1)|0; + $$sink = $6; + } else { + $7 = (_GetFPS()|0); + HEAP32[8316] = $7; + HEAP32[747] = $7; + $$sink = 0; + } + HEAP32[8315] = $$sink; + $8 = HEAP32[8316]|0; + HEAP32[$$byval_copy>>2] = $8; + (_FormatText(8234,$$byval_copy)|0); + HEAP8[$2>>0] = 0; + $9 = ((($2)) + 1|0); + HEAP8[$9>>0] = -98; + $10 = ((($2)) + 2|0); + HEAP8[$10>>0] = 47; + $11 = ((($2)) + 3|0); + HEAP8[$11>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; + _DrawText(37283,$0,$1,20,$$byval_copy); + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($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, $398 = 0, $399 = 0, $4 = 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, $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; + var $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, $53 = 0, $530 = 0; + var $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, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,8242)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,8246)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,8250)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,8254)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,8260)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,8298)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 8317; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,8330)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 8351; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,8366)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 8381; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,8396)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 8411; + } + } else { + HEAP32[$3>>2] = 8282; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,8426)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,8440)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,8452)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,8466)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,8478)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,8492)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,8506)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,8523)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,8546)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,8572)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,8585)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,8601)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,8614)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,8628)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,8648)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,8668)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,8685)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,8702)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,8714)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,8727)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,8743)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,8766)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,8779)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,8795)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,8806)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,8825)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,8847)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,8866)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,8895)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,8912)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,8927)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,8942)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,8963)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,8983)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,9003)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,9029)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,9048)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,9060)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,9072)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,9084)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,9096)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,9108)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,9120)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,9132)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,9144)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,9157)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,9170)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,9183)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,9196)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,9209)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,9222)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,9235)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,9248)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,9267)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,9286)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,9305)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,9318)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,9336)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,9354)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,9372)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,9390)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,9410)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,8351)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,9428)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,9443)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,9464)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,9479)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,9497)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,9513)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,9532)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,9546)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,9561)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,8282)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,9572)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,8381)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,8411)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,9588)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,9615)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,9629)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,8317)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,9649)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,9667)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,9679)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,9700)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,9718)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,9736)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,9757)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,9783)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,9806)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,9844)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,9860)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,9875)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,9898)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,9911)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,9925)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,9939)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,9959)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,9979)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,9995)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,10013)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,10029)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,10044)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,10066)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,10084)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,10105)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,10123)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,10136)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,10151)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,10165)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,10175)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,10185)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,10207)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,10233)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,10260)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,10273)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,10288)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,10303)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,10327)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,10338)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,10360)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,10382)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,10406)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,10415)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,10423)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,10436)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,10450)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,10462)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,10471)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,10481)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,10493)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,10504)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,10512)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,10524)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,10539)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,10551)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,10565)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,10590)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,10607)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,10623)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,10639)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,10651)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,10663)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,10687)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,10700)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,10714)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,10736)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,10743)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,10759)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,10776)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,10793)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,10809)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,10825)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,10842)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,10856)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,10868)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,10879)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,10892)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,10902)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,10919)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,10931)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,10953)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,10973)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,10986)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,11008)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,11028)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,11045)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,11062)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,11082)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (33268|0); +} +function ___emscripten_pthread_data_constructor() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 188|0); + HEAP32[$1>>2] = (33308); + return; +} +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_736($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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 + 16|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $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;$26 = $17; + while(1) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _dummy_736($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] = 9; + $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 _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 _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 _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 _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$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; + var $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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=3124; 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); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|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 = 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, $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, $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 + 120|0; + $4 = sp + 80|0; + $5 = sp; + $6 = sp + 136|0; + 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 = (Atomics_load(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 & 15]($0,0,0)|0); + $33 = HEAP32[$26>>2]|0; + $34 = ($33|0)==(0|0); + $$ = $34 ? -1 : $29; + HEAP32[$23>>2] = $24; + HEAP32[$19>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $$1 = $$; + } + } else { + $22 = (_printf_core($0,$1,$3,$5,$4)|0); + $$1 = $22; + } + $35 = HEAP32[$0>>2]|0; + $36 = $35 & 32; + $37 = ($36|0)==(0); + $$1$ = $37 ? $$1 : -1; + $38 = $35 | $14; + HEAP32[$0>>2] = $38; + $39 = ($40|0)==(0); + if (!($39)) { + ___unlockfile($0); + } + $$0 = $$1$; + } + 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, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 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.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, $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 $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 20|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 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; + L1: 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 = HEAP8[$21>>0]|0; + $22 = ($20<<24>>24)==(0); + if ($22) { + label = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $25;$27 = $25; + label = 9; + break L9; + break; + } + case 0: { + $$0249$lcssa = $25;$39 = $25; + break L9; + break; + } + default: { + } + } + $24 = ((($25)) + 1|0); + HEAP32[$5>>2] = $24; + $$pre = HEAP8[$24>>0]|0; + $23 = $$pre;$25 = $24; + } + L12: do { + if ((label|0) == 9) { + while(1) { + label = 0; + $26 = ((($27)) + 1|0); + $28 = HEAP8[$26>>0]|0; + $29 = ($28<<24>>24)==(37); + if (!($29)) { + $$0249$lcssa = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $30;$27 = $31; + label = 9; + } else { + $$0249$lcssa = $30;$39 = $31; + break; + } + } + } + } while(0); + $34 = $$0249$lcssa; + $35 = $21; + $36 = (($34) - ($35))|0; + if ($10) { + _out($0,$21,$36); + } + $37 = ($36|0)==(0); + if (!($37)) { + $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; + continue; + } + $38 = ((($39)) + 1|0); + $40 = HEAP8[$38>>0]|0; + $41 = $40 << 24 >> 24; + $isdigittmp = (($41) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $42 = ((($39)) + 2|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)==(36); + $45 = ((($39)) + 3|0); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } else { + $$0253 = -1;$$1270 = $$0269;$storemerge = $38; + } + HEAP32[$5>>2] = $storemerge; + $46 = HEAP8[$storemerge>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($47) + -32)|0; + $49 = ($48>>>0)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((11198 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 11662;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 11662;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11662 : (11664); + $$$ = $238 ? $$ : (11663); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 11662;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 11662;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 11672; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_672($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11662;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (11662 + ($208)|0); + $$289 = $or$cond283 ? 11662 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 11662;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_672($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; + $$0228$ = $or$cond ? $$0228 : $11; + $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; + } + else if ((label|0) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_672($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_672($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_672($0,48,$$2261,$312,$314); + _pad_672($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_672($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } else { + $$0 = $$1248; + } + } + } while(0); + STACKTOP = sp;return ($$0|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 _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, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $isdigittmp4 = (($3) + -48)|0; + $isdigit5 = ($isdigittmp4>>>0)<(10); + if ($isdigit5) { + $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; + while(1) { + $4 = ($$06*10)|0; + $5 = (($isdigittmp7) + ($4))|0; + $6 = ((($7)) + 1|0); + HEAP32[$0>>2] = $6; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $isdigittmp = (($9) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; + } else { + $$0$lcssa = $5; + break; + } + } + } else { + $$0$lcssa = 0; + } + 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 = (11714 + ($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, $3 = 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 = (___uremdi3(($8|0),($9|0),10,0)|0); + $11 = tempRet0; + $12 = $10&255; + $13 = $12 | 48; + $14 = ((($$0914)) + -1|0); + HEAP8[$14>>0] = $13; + $15 = (___udivdi3(($8|0),($9|0),10,0)|0); + $16 = tempRet0; + $17 = ($9>>>0)>(9); + $18 = ($8>>>0)>(4294967295); + $19 = ($9|0)==(9); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $$0914 = $14;$8 = $15;$9 = $16; + } else { + break; + } + } + $$010$lcssa$off0 = $15;$$09$lcssa = $14; + } else { + $$010$lcssa$off0 = $0;$$09$lcssa = $2; + } + $22 = ($$010$lcssa$off0|0)==(0); + if ($22) { + $$1$lcssa = $$09$lcssa; + } else { + $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; + while(1) { + $23 = (($$012>>>0) % 10)&-1; + $24 = $23 | 48; + $25 = $24&255; + $26 = ((($$111)) + -1|0); + HEAP8[$26>>0] = $25; + $27 = (($$012>>>0) / 10)&-1; + $28 = ($$012>>>0)<(10); + if ($28) { + $$1$lcssa = $26; + break; + } else { + $$012 = $27;$$111 = $26; + } + } + } + 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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 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 { + $$2 = $$035$lcssa;$$3 = 0; + } + } + L8: do { + if ((label|0) == 6) { + $17 = HEAP8[$$035$lcssa65>>0]|0; + $18 = $1&255; + $19 = ($17<<24>>24)==($18<<24>>24); + if ($19) { + $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; + } else { + $20 = Math_imul($3, 16843009)|0; + $21 = ($$036$lcssa64>>>0)>(3); + L11: 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)) { + break; + } + $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 L11; + } + } + $$140 = $$046;$$23839 = $$13745; + } else { + $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; + label = 11; + } + } while(0); + if ((label|0) == 11) { + $32 = ($$137$lcssa|0)==(0); + if ($32) { + $$2 = $$0$lcssa;$$3 = 0; + break; + } else { + $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + } + } + while(1) { + $33 = HEAP8[$$140>>0]|0; + $34 = ($33<<24>>24)==($18<<24>>24); + if ($34) { + $$2 = $$140;$$3 = $$23839; + break L8; + } + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; + break; + } else { + $$140 = $35;$$23839 = $36; + } + } + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_672($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, $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 = ($9>>>0)<(256); + $11 = $10 ? $9 : 256; + _memset(($5|0),($1|0),($11|0))|0; + $12 = ($9>>>0)>(255); + if ($12) { + $13 = (($2) - ($3))|0; + $$011 = $9; + while(1) { + _out($0,$5,256); + $14 = (($$011) + -256)|0; + $15 = ($14>>>0)>(255); + if ($15) { + $$011 = $14; + } else { + break; + } + } + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; + } + _out($0,$5,$$0$lcssa); + } + STACKTOP = sp;return; +} +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 _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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.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.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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $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.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $387 = 0, $388 = 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.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.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 $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 524|0; + $9 = $8; + $10 = sp + 512|0; + HEAP32[$7>>2] = 0; + $11 = ((($10)) + 12|0); + (___DOUBLE_BITS_673($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11679; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11680) : (11685); + $$$ = $16 ? $$ : (11682); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_673($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (11714 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $85 = $84&255; + $86 = ((($$0523)) + 1|0); + HEAP8[$$0523>>0] = $85; + $87 = (+($80|0)); + $88 = $$2473 - $87; + $89 = $88 * 16.0; + $90 = $86; + $91 = (($90) - ($9))|0; + $92 = ($91|0)==(1); + if ($92) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_672($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_672($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_672($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_672($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$3501$lcssa; + $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; + } else { + $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; + } + $$7505 = $$7505$ph; + while(1) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_672($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_672($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11730,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_672($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,11730,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_672($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_672($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11698 : 11702; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11706 : 11710; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_672($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_672($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_673($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 _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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_446()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = (Atomics_load(HEAP32,$8>>2)|0); + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_446() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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, $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 label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; + while(1) { + $3 = (11732 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; + break; + } + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); + if ($8) { + $$01214 = 11820;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 11820; + } else { + $$01214 = 11820;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$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; + label = 5; + } + } + } + $14 = ((($1)) + 20|0); + $15 = (Atomics_load(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 $$ = 0, $$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; + 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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 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); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$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); + $$ = $61 ? $57 : 0; + $$4 = $$; + } 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 $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); +} +function ___fwritex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var 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 & 15]($2,$0,$1)|0); + $$1 = $17; + break; + } + $18 = ((($2)) + 75|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)>(-1); + L10: do { + if ($20) { + $$038 = $1; + while(1) { + $21 = ($$038|0)==(0); + if ($21) { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + break L10; + } + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; + } else { + $$038 = $22; + } + } + $26 = ((($2)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); + $29 = ($28>>>0)<($$038>>>0); + if ($29) { + $$1 = $28; + break L5; + } + $30 = (($0) + ($$038)|0); + $$042 = (($1) - ($$038))|0; + $$pre47 = HEAP32[$9>>2]|0; + $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; + } else { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + } + } while(0); + _memcpy(($31|0),($$141|0),($$143|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($32) + ($$143)|0); + HEAP32[$9>>2] = $33; + $34 = (($$139) + ($$143))|0; + $$1 = $34; + } + } 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 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 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|0); +} +function _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 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; + var $21 = 0, $22 = 0, $23 = 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 = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; + } else { + $$01519 = $6;$23 = $7; + } + } + } + } while(0); + if ((label|0) == 4) { + $$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 { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; + } else { + $$pn = $19; + } + } + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|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 ___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) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<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 _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, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 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) { + $$029 = $$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$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33332|0)); + return (33340|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33332|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 = (Atomics_load(HEAP32,780)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = (Atomics_load(HEAP32,780)|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 = (Atomics_load(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 = (Atomics_load(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 & 15]($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 & 15]($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 _strstr($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, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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 label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 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, $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, $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, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;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;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 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]=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;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 14304; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _rand() { + 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; + $0 = 14304; + $1 = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (($0) + 4)|0; + $4 = $3; + $5 = HEAP32[$4>>2]|0; + $6 = (___muldi3(($2|0),($5|0),1284865837,1481765933)|0); + $7 = tempRet0; + $8 = (_i64Add(($6|0),($7|0),1,0)|0); + $9 = tempRet0; + $10 = 14304; + $11 = $10; + HEAP32[$11>>2] = $8; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = (_bitshift64Lshr(($8|0),($9|0),33)|0); + $15 = tempRet0; + return ($14|0); +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[748]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;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;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = HEAP32[8336]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[8336] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8336] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8336] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8336] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function __emscripten_atomic_fetch_and_add_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_and_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_or_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_sub_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_xor_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function _emscripten_async_run_in_main_thread($0) { + $0 = $0|0; + var $$0 = 0, $$0$in = 0, $$0$in19 = 0, $$0$lcssa = 0, $$020 = 0, $$expand_i1_val = 0, $$lcssa = 0, $$lcssa18 = 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, $call_queue$init$val = 0, $call_queue$init$val$pre_trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + ___assert_fail((13914|0),(13746|0),260,(13919|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + if (!($3)) { + __do_call($0); + return; + } + (___pthread_mutex_lock(33864)|0); + $call_queue$init$val$pre_trunc = HEAP8[38379]|0; + $call_queue$init$val = $call_queue$init$val$pre_trunc&1; + if (!($call_queue$init$val)) { + $$expand_i1_val = 1; + HEAP8[38379] = $$expand_i1_val; + } + $4 = (Atomics_load(HEAP32, 8473)|0); + $5 = (Atomics_load(HEAP32, 8474)|0); + $$0$in19 = (($5) + 1)|0; + $$020 = (($$0$in19|0) % 128)&-1; + $6 = ($$020|0)==($4|0); + if ($6) { + $7 = $4; + while(1) { + (___pthread_mutex_unlock(33864)|0); + (_emscripten_futex_wait((33892|0),($7|0),inf)|0); + (___pthread_mutex_lock(33864)|0); + $8 = (Atomics_load(HEAP32, 8473)|0); + $9 = (Atomics_load(HEAP32, 8474)|0); + $$0$in = (($9) + 1)|0; + $$0 = (($$0$in|0) % 128)&-1; + $10 = ($$0|0)==($8|0); + if ($10) { + $7 = $8; + } else { + $$0$lcssa = $$0;$$lcssa = $9;$$lcssa18 = $8; + break; + } + } + } else { + $$0$lcssa = $$020;$$lcssa = $5;$$lcssa18 = $4; + } + $11 = (33900 + ($$lcssa<<2)|0); + HEAP32[$11>>2] = $0; + $12 = ($$lcssa18|0)==($$lcssa|0); + if ($12) { + _emscripten_asm_const_v(1); + } + $13 = (Atomics_store(HEAP32, 8474, $$0$lcssa)|0); + (___pthread_mutex_unlock(33864)|0); + return; +} +function _emscripten_atomic_add_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_and_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_cas_u64($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, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $0; + $6 = $5 >>> 3; + $7 = $6 & 255; + $8 = (34420 + ($7<<2)|0); + while(1) { + while(1) { + $9 = (Atomics_load(HEAP32, $8>>2)|0); + $10 = (Atomics_compareExchange(HEAP32, $8>>2, $9, 1)|0); + $11 = ($9|0)==($10|0); + if ($11) { + break; + } + } + $12 = ($9|0)==(0); + if ($12) { + break; + } + } + $13 = $0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)==($1|0); + $20 = ($18|0)==($2|0); + $21 = $19 & $20; + if (!($21)) { + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); + } + $22 = $0; + $23 = $22; + HEAP32[$23>>2] = $3; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $4; + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); +} +function _emscripten_atomic_exchange_u32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + while(1) { + $2 = (Atomics_load(HEAP32, $0>>2)|0); + $3 = (Atomics_compareExchange(HEAP32, $0>>2, $2, $1)|0); + $4 = ($2|0)==($3|0); + if ($4) { + break; + } + } + return ($2|0); +} +function _emscripten_atomic_exchange_u64($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, label = 0; + var sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $0; + $18 = $17; + HEAP32[$18>>2] = $1; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $2; + $21 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function _emscripten_atomic_load_f32($0) { + $0 = $0|0; + var $1 = 0, $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (Atomics_load(HEAP32, $0>>2)|0); + $2 = (HEAP32[tempDoublePtr>>2]=$1,+HEAPF32[tempDoublePtr>>2]); + return (+$2); +} +function _emscripten_atomic_load_f64($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.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34420 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } + } + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = +HEAPF64[$0>>3]; + $10 = (Atomics_store(HEAP32, $4>>2, 0)|0); + return (+$9); +} +function _emscripten_atomic_load_u64($0) { + $0 = $0|0; + var $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; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34420 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } + } + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = $0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (Atomics_store(HEAP32, $4>>2, 0)|0); + tempRet0 = ($14); + return ($11|0); +} +function _emscripten_atomic_or_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_store_f32($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (HEAPF32[tempDoublePtr>>2]=$1,HEAP32[tempDoublePtr>>2]|0); + $3 = (Atomics_store(HEAP32, $0>>2, $2)|0); + $4 = (+($3>>>0)); + return (+$4); +} +function _emscripten_atomic_store_f64($0,$1) { + $0 = $0|0; + $1 = +$1; + var $10 = 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; + $3 = $2 >>> 3; + $4 = $3 & 255; + $5 = (34420 + ($4<<2)|0); + while(1) { + while(1) { + $6 = (Atomics_load(HEAP32, $5>>2)|0); + $7 = (Atomics_compareExchange(HEAP32, $5>>2, $6, 1)|0); + $8 = ($6|0)==($7|0); + if ($8) { + break; + } + } + $9 = ($6|0)==(0); + if ($9) { + break; + } + } + HEAPF64[$0>>3] = $1; + $10 = (Atomics_store(HEAP32, $5>>2, 0)|0); + return (+$1); +} +function _emscripten_atomic_store_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + HEAP32[$12>>2] = $1; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($2); + return ($1|0); +} +function _emscripten_atomic_sub_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_xor_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_main_thread_process_queued_calls() { + var $$0910 = 0, $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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_emscripten_is_main_runtime_thread()|0); + $1 = ($0|0)==(0); + if ($1) { + ___assert_fail((13624|0),(13746|0),424,(13810|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + $4 = HEAP32[8465]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + return; + } + HEAP32[8465] = 1; + (___pthread_mutex_lock(33864)|0); + $6 = (Atomics_load(HEAP32, 8473)|0); + $7 = (Atomics_load(HEAP32, 8474)|0); + $8 = ($6|0)==($7|0); + (___pthread_mutex_unlock(33864)|0); + if (!($8)) { + $$0910 = $6; + while(1) { + $9 = (33900 + ($$0910<<2)|0); + $10 = HEAP32[$9>>2]|0; + __do_call($10); + (___pthread_mutex_lock(33864)|0); + $11 = (($$0910) + 1)|0; + $12 = (($11|0) % 128)&-1; + $13 = (Atomics_store(HEAP32, 8473, $12)|0); + $14 = (Atomics_load(HEAP32, 8474)|0); + $15 = ($12|0)==($14|0); + (___pthread_mutex_unlock(33864)|0); + if ($15) { + break; + } else { + $$0910 = $12; + } + } + } + (_emscripten_futex_wake((33892|0),2147483647)|0); + HEAP32[8465] = 0; + return; +} +function _emscripten_sync_run_in_main_thread($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + _emscripten_async_run_in_main_thread($0); + (_emscripten_wait_for_call_v($0,inf)|0); + return; +} +function _emscripten_sync_run_in_main_thread_0($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $1 = sp; + dest=$1; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$1>>2] = $0; + $2 = ((($1)) + 80|0); + HEAP32[$2>>2] = 0; + _emscripten_async_run_in_main_thread($1); + (_emscripten_wait_for_call_v($1,inf)|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _emscripten_sync_run_in_main_thread_1($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $2 = sp; + dest=$2; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$2>>2] = $0; + $3 = ((($2)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($2)) + 80|0); + HEAP32[$4>>2] = 0; + _emscripten_async_run_in_main_thread($2); + (_emscripten_wait_for_call_v($2,inf)|0); + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _emscripten_sync_run_in_main_thread_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $3 = sp; + dest=$3; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = $0; + $4 = ((($3)) + 16|0); + HEAP32[$4>>2] = $1; + $5 = ((($3)) + 24|0); + HEAP32[$5>>2] = $2; + $6 = ((($3)) + 80|0); + HEAP32[$6>>2] = 0; + _emscripten_async_run_in_main_thread($3); + (_emscripten_wait_for_call_v($3,inf)|0); + $7 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _emscripten_sync_run_in_main_thread_3($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, $9 = 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+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$4>>2] = $0; + $5 = ((($4)) + 16|0); + HEAP32[$5>>2] = $1; + $6 = ((($4)) + 24|0); + HEAP32[$6>>2] = $2; + $7 = ((($4)) + 32|0); + HEAP32[$7>>2] = $3; + $8 = ((($4)) + 80|0); + HEAP32[$8>>2] = 0; + _emscripten_async_run_in_main_thread($4); + (_emscripten_wait_for_call_v($4,inf)|0); + $9 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _emscripten_sync_run_in_main_thread_4($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $5 = sp; + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $6 = ((($5)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = ((($5)) + 24|0); + HEAP32[$7>>2] = $2; + $8 = ((($5)) + 32|0); + HEAP32[$8>>2] = $3; + $9 = ((($5)) + 40|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 80|0); + HEAP32[$10>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $11 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _emscripten_sync_run_in_main_thread_5($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $6 = sp; + dest=$6; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = $0; + $7 = ((($6)) + 16|0); + HEAP32[$7>>2] = $1; + $8 = ((($6)) + 24|0); + HEAP32[$8>>2] = $2; + $9 = ((($6)) + 32|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 40|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 48|0); + HEAP32[$11>>2] = $5; + $12 = ((($6)) + 80|0); + HEAP32[$12>>2] = 0; + _emscripten_async_run_in_main_thread($6); + (_emscripten_wait_for_call_v($6,inf)|0); + $13 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _emscripten_sync_run_in_main_thread_6($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $7 = sp; + dest=$7; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$7>>2] = $0; + $8 = ((($7)) + 16|0); + HEAP32[$8>>2] = $1; + $9 = ((($7)) + 24|0); + HEAP32[$9>>2] = $2; + $10 = ((($7)) + 32|0); + HEAP32[$10>>2] = $3; + $11 = ((($7)) + 40|0); + HEAP32[$11>>2] = $4; + $12 = ((($7)) + 48|0); + HEAP32[$12>>2] = $5; + $13 = ((($7)) + 56|0); + HEAP32[$13>>2] = $6; + $14 = ((($7)) + 80|0); + HEAP32[$14>>2] = 0; + _emscripten_async_run_in_main_thread($7); + (_emscripten_wait_for_call_v($7,inf)|0); + $15 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _emscripten_sync_run_in_main_thread_7($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $8 = sp; + dest=$8; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$8>>2] = $0; + $9 = ((($8)) + 16|0); + HEAP32[$9>>2] = $1; + $10 = ((($8)) + 24|0); + HEAP32[$10>>2] = $2; + $11 = ((($8)) + 32|0); + HEAP32[$11>>2] = $3; + $12 = ((($8)) + 40|0); + HEAP32[$12>>2] = $4; + $13 = ((($8)) + 48|0); + HEAP32[$13>>2] = $5; + $14 = ((($8)) + 56|0); + HEAP32[$14>>2] = $6; + $15 = ((($8)) + 64|0); + HEAP32[$15>>2] = $7; + $16 = ((($8)) + 80|0); + HEAP32[$16>>2] = 0; + _emscripten_async_run_in_main_thread($8); + (_emscripten_wait_for_call_v($8,inf)|0); + $17 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _emscripten_sync_run_in_main_thread_xprintf_varargs($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|0; + var $$0 = 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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $3 = sp + 96|0; + $4 = sp + 112|0; + $5 = sp; + HEAP32[$3>>2] = $varargs; + $6 = (_vsnprintf($4,128,$2,$3)|0); + $7 = ($6|0)>(127); + $8 = (($6) + 1)|0; + if ($7) { + $9 = (_malloc($8)|0); + HEAP32[$3>>2] = $varargs; + (_vsnprintf($9,$8,$2,$3)|0); + $$0 = $9; + } else { + $$0 = $4; + } + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $10 = $1; + $11 = ((($5)) + 16|0); + HEAP32[$11>>2] = $10; + $12 = ((($5)) + 24|0); + HEAP32[$12>>2] = $$0; + $13 = ((($5)) + 80|0); + HEAP32[$13>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $14 = ($$0|0)==($4|0); + if ($14) { + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); + } + _free($$0); + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); +} +function ___pthread_tsd_run_dtors() { + var $$02427 = 0, $$026 = 0, $$125 = 0, $$2 = 0, $0 = 0, $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; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 116|0); + $$02427 = 0; + while(1) { + $$026 = 0;$$125 = 0; + while(1) { + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($$026<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + $$2 = $$125; + } else { + $9 = (33348 + ($$026<<2)|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$2 = $$125; + } else { + HEAP32[$6>>2] = 0; + $12 = (Atomics_load(HEAP32,$9>>2)|0); + FUNCTION_TABLE_vi[$12 & 31]($7); + $$2 = 1; + } + } + $13 = (($$026) + 1)|0; + $exitcond = ($13|0)==(128); + if ($exitcond) { + break; + } else { + $$026 = $13;$$125 = $$2; + } + } + $14 = (($$02427) + 1)|0; + $15 = ($$2|0)!=(0); + $16 = ($14|0)<(4); + $17 = $16 & $15; + if ($17) { + $$02427 = $14; + } else { + break; + } + } + return; +} +function _emscripten_wait_for_call_v($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$ = 0, $$01921 = 0.0, $$020$lcssa = 0, $$1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = (Atomics_load(HEAP32, $2>>2)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$1 = $3; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); + } + $5 = (+_emscripten_get_now()); + $6 = $5 + $1; + _emscripten_set_current_thread_status(5); + $7 = $5 < $6; + if ($7) { + $$01921 = $5; + while(1) { + $8 = $6 - $$01921; + (_emscripten_futex_wait(($2|0),0,(+$8))|0); + $9 = (Atomics_load(HEAP32, $2>>2)|0); + $10 = (+_emscripten_get_now()); + $11 = ($9|0)==(0); + $12 = $10 < $6; + $or$cond = $11 & $12; + if ($or$cond) { + $$01921 = $10; + } else { + $$020$lcssa = $9; + break; + } + } + } else { + $$020$lcssa = 0; + } + _emscripten_set_current_thread_status(1); + $$1 = $$020$lcssa; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); +} +function __do_call($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, $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, $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; + $1 = HEAP32[$0>>2]|0; + do { + switch ($1|0) { + case 12: { + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 24|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_utime(($3|0),($5|0))|0); + $7 = ((($0)) + 80|0); + HEAP32[$7>>2] = $6; + break; + } + case 13: { + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($0)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_utimes(($9|0),($11|0))|0); + $13 = ((($0)) + 80|0); + HEAP32[$13>>2] = $12; + break; + } + case 37: { + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_chroot(($15|0))|0); + $17 = ((($0)) + 80|0); + HEAP32[$17>>2] = $16; + break; + } + case 46: { + $18 = ((($0)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_fpathconf(($19|0),($21|0))|0); + $23 = ((($0)) + 80|0); + HEAP32[$23>>2] = $22; + break; + } + case 68: { + $24 = ((($0)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_confstr(($25|0),($27|0),($29|0))|0); + $31 = ((($0)) + 80|0); + HEAP32[$31>>2] = $30; + break; + } + case 72: { + $32 = ((($0)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sysconf(($33|0))|0); + $35 = ((($0)) + 80|0); + HEAP32[$35>>2] = $34; + break; + } + case 110: { + $36 = ((($0)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_atexit(($37|0))|0); + $39 = ((($0)) + 80|0); + HEAP32[$39>>2] = $38; + break; + } + case 111: { + $40 = ((($0)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_getenv(($41|0))|0); + $43 = ((($0)) + 80|0); + HEAP32[$43>>2] = $42; + break; + } + case 112: { + $44 = (_clearenv()|0); + $45 = ((($0)) + 80|0); + HEAP32[$45>>2] = $44; + break; + } + case 113: { + $46 = ((($0)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($0)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($0)) + 32|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_setenv(($47|0),($49|0),($51|0))|0); + $53 = ((($0)) + 80|0); + HEAP32[$53>>2] = $52; + break; + } + case 114: { + $54 = ((($0)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_unsetenv(($55|0))|0); + $57 = ((($0)) + 80|0); + HEAP32[$57>>2] = $56; + break; + } + case 115: { + $58 = ((($0)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_putenv(($59|0))|0); + $61 = ((($0)) + 80|0); + HEAP32[$61>>2] = $60; + break; + } + case 119: { + _tzset(); + break; + } + case 137: { + $62 = ((($0)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($0)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($0)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = ((($0)) + 40|0); + $69 = HEAP32[$68>>2]|0; + $70 = (_pthread_create(($63|0),($65|0),($67|0),($69|0))|0); + $71 = ((($0)) + 80|0); + HEAP32[$71>>2] = $70; + break; + } + case 138: { + $72 = ((($0)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($0)) + 24|0); + $75 = HEAP32[$74>>2]|0; + $76 = (_emscripten_syscall(($73|0),($75|0))|0); + $77 = ((($0)) + 80|0); + HEAP32[$77>>2] = $76; + break; + } + case 1024: { + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + FUNCTION_TABLE_v[$79 & 7](); + break; + } + case 1025: { + $80 = ((($0)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = ((($0)) + 16|0); + $83 = HEAP32[$82>>2]|0; + FUNCTION_TABLE_vi[$81 & 31]($83); + break; + } + case 1026: { + $84 = ((($0)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = ((($0)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($0)) + 24|0); + $89 = HEAP32[$88>>2]|0; + FUNCTION_TABLE_vii[$85 & 63]($87,$89); + break; + } + case 1027: { + $90 = ((($0)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($0)) + 16|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($0)) + 24|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($0)) + 32|0); + $97 = HEAP32[$96>>2]|0; + FUNCTION_TABLE_viii[$91 & 31]($93,$95,$97); + break; + } + case 2048: { + $98 = ((($0)) + 4|0); + $99 = HEAP32[$98>>2]|0; + $100 = (FUNCTION_TABLE_i[$99 & 3]()|0); + $101 = ((($0)) + 80|0); + HEAP32[$101>>2] = $100; + break; + } + case 2049: { + $102 = ((($0)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ((($0)) + 16|0); + $105 = HEAP32[$104>>2]|0; + $106 = (FUNCTION_TABLE_ii[$103 & 15]($105)|0); + $107 = ((($0)) + 80|0); + HEAP32[$107>>2] = $106; + break; + } + case 2050: { + $108 = ((($0)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = ((($0)) + 16|0); + $111 = HEAP32[$110>>2]|0; + $112 = ((($0)) + 24|0); + $113 = HEAP32[$112>>2]|0; + $114 = (FUNCTION_TABLE_iii[$109 & 3]($111,$113)|0); + $115 = ((($0)) + 80|0); + HEAP32[$115>>2] = $114; + break; + } + case 2051: { + $116 = ((($0)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = ((($0)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = ((($0)) + 24|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($0)) + 32|0); + $123 = HEAP32[$122>>2]|0; + $124 = (FUNCTION_TABLE_iiii[$117 & 15]($119,$121,$123)|0); + $125 = ((($0)) + 80|0); + HEAP32[$125>>2] = $124; + break; + } + default: { + ___assert_fail((13854|0),(13746|0),211,(13905|0)); + // unreachable; + } + } + } while(0); + $126 = ((($0)) + 88|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)==(0); + if ($128) { + $129 = ((($0)) + 8|0); + HEAP32[$129>>2] = 1; + (_emscripten_futex_wake(($129|0),2147483647)|0); + return; + } else { + _free($0); + return; + } +} +function ___pthread_mutex_unlock($0) { + $0 = $0|0; + var $$0 = 0, $$045 = 0, $$pre = 0, $$pre$phiZ2D = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = (Atomics_load(HEAP32,$1>>2)|0); + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 15; + $5 = $3 & 128; + $6 = $5 ^ 128; + $7 = ($4|0)==(0); + if ($7) { + $$pre = ((($0)) + 4|0); + $$045 = 0;$$pre$phiZ2D = $$pre; + } else { + $8 = (_pthread_self()|0); + $9 = ((($0)) + 4|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = $10 & 2147483647; + $12 = ((($8)) + 52|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)==($13|0); + if (!($14)) { + $$0 = 1; + return ($$0|0); + } + $15 = $3 & 3; + $16 = ($15|0)==(1); + if ($16) { + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + $20 = (($18) + -1)|0; + HEAP32[$17>>2] = $20; + $$0 = 0; + return ($$0|0); + } + } + $21 = ($6|0)==(0); + $22 = ((($0)) + 16|0); + if ($21) { + $23 = ((($8)) + 176|0); + Atomics_store(HEAP32,$23>>2,$22)|0; + ___vm_lock(); + } + $24 = ((($0)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$22>>2]|0; + Atomics_store(HEAP32,$25>>2,$26)|0; + $27 = ((($8)) + 168|0); + $28 = ($26|0)==($27|0); + if ($28) { + $$045 = $8;$$pre$phiZ2D = $9; + } else { + $29 = ((($26)) + -4|0); + Atomics_store(HEAP32,$29>>2,$25)|0; + $$045 = $8;$$pre$phiZ2D = $9; + } + } + $30 = $3 & 8; + $31 = ($30|0)!=(0); + $32 = $31 ? 2147483647 : 0; + while(1) { + $33 = (Atomics_load(HEAP32, $$pre$phiZ2D>>2)|0); + $34 = (Atomics_compareExchange(HEAP32, $$pre$phiZ2D>>2, $33, $32)|0); + $35 = ($34|0)==($33|0); + if ($35) { + break; + } + } + $36 = ($6|0)!=(0); + $or$cond = $7 | $36; + if (!($or$cond)) { + $37 = ((($$045)) + 176|0); + Atomics_store(HEAP32,$37>>2,0)|0; + ___vm_unlock(); + } + $38 = ($2|0)!=(0); + $39 = ($33|0)<(0); + $or$cond3 = $38 | $39; + if (!($or$cond3)) { + $$0 = 0; + return ($$0|0); + } + (_emscripten_futex_wake(($$pre$phiZ2D|0),1)|0); + $$0 = 0; + return ($$0|0); +} +function ___vm_lock() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8603, 1)|0); + return; +} +function ___vm_unlock() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8603, -1)|0); + $1 = ($0|0)==(1); + if (!($1)) { + return; + } + $2 = (Atomics_load(HEAP32,(34416)>>2)|0); + $3 = ($2|0)==(0); + if ($3) { + return; + } + (_emscripten_futex_wake((34412|0),2147483647)|0); + return; +} +function ___pthread_mutex_lock($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; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = ($5|0)==(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + } + $7 = (___pthread_mutex_timedlock($0,0)|0); + $$0 = $7; + return ($$0|0); +} +function ___pthread_mutex_timedlock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 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, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond40 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$0>>2]|0; + $3 = $2 & 15; + $4 = ($3|0)==(0); + do { + if ($4) { + $5 = ((($0)) + 4|0); + $6 = (Atomics_compareExchange(HEAP32, $5>>2, 0, 16)|0); + $7 = ($6|0)==(0); + if ($7) { + $$2 = 0; + return ($$2|0); + } else { + $$pre = HEAP32[$0>>2]|0; + $9 = $$pre; + break; + } + } else { + $9 = $2; + } + } while(0); + $8 = $9 & 128; + $10 = $8 ^ 128; + $11 = (___pthread_mutex_trylock($0)|0); + $12 = ($11|0)==(16); + if (!($12)) { + $$2 = $11; + return ($$2|0); + } + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 8|0); + $$0 = 100; + while(1) { + $15 = (($$0) + -1)|0; + $16 = ($$0|0)==(0); + if ($16) { + break; + } + $17 = (Atomics_load(HEAP32,$13>>2)|0); + $18 = ($17|0)==(0); + if ($18) { + break; + } + $19 = (Atomics_load(HEAP32,$14>>2)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = $15; + } else { + break; + } + } + $21 = (___pthread_mutex_trylock($0)|0); + $22 = ($21|0)==(16); + if (!($22)) { + $$2 = $21; + return ($$2|0); + } + L18: while(1) { + $23 = (Atomics_load(HEAP32,$13>>2)|0); + $24 = ($23|0)==(0); + if (!($24)) { + $27 = $23 & 1073741824; + $28 = ($27|0)==(0); + $29 = HEAP32[$0>>2]|0; + $30 = $29 & 4; + $31 = ($30|0)==(0); + $or$cond40 = $28 | $31; + if ($or$cond40) { + $32 = $29 & 3; + $33 = ($32|0)==(2); + if ($33) { + $34 = $23 & 2147483647; + $35 = (_pthread_self()|0); + $36 = ((($35)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($34|0)==($37|0); + if ($38) { + $$2 = 35; + label = 17; + break; + } + } + $39 = (Atomics_add(HEAP32, $14>>2, 1)|0); + $40 = $23 | -2147483648; + $41 = (Atomics_compareExchange(HEAP32, $13>>2, $23, $40)|0); + $42 = (___timedwait($13,$40,0,$1,$10)|0); + $43 = (Atomics_sub(HEAP32, $14>>2, 1)|0); + switch ($42|0) { + case 0: case 4: { + break; + } + default: { + $$2 = $42; + label = 17; + break L18; + } + } + } + } + $25 = (___pthread_mutex_trylock($0)|0); + $26 = ($25|0)==(16); + if (!($26)) { + $$2 = $25; + label = 17; + break; + } + } + if ((label|0) == 17) { + return ($$2|0); + } + return (0)|0; +} +function ___timedwait($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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + (___pthread_setcancelstate(1,($5|0))|0); + _emscripten_conditional_set_current_thread_status(1,4); + $6 = (___timedwait_cp($0,$1,$2,$3,$4)|0); + _emscripten_conditional_set_current_thread_status(4,1); + $7 = HEAP32[$5>>2]|0; + (___pthread_setcancelstate(($7|0),(0|0))|0); + STACKTOP = sp;return ($6|0); +} +function ___timedwait_cp($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$0$us = 0.0, $$$045 = 0.0, $$$046$us = 0.0, $$0$us = 0.0, $$0$us53 = 0.0, $$138 = 0, $$138$ph = 0, $$138$ph70 = 0, $$138$ph72 = 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.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 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 = ($3|0)!=(0|0); + if ($6) { + $7 = ((($3)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8>>>0)>(999999999); + if ($9) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $10 = (___clock_gettime(($2|0),($5|0))|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (($12) - ($13))|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ((($5)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) - ($17))|0; + HEAP32[$16>>2] = $18; + $19 = ($18|0)<(0); + if ($19) { + $20 = (($14) + -1)|0; + HEAP32[$5>>2] = $20; + $21 = (($18) + 1000000000)|0; + HEAP32[$16>>2] = $21; + $23 = $20; + } else { + $23 = $14; + } + $22 = ($23|0)<(0); + if ($22) { + $$138 = 110; + STACKTOP = sp;return ($$138|0); + } + } + $24 = (_emscripten_is_main_runtime_thread()|0); + $25 = ($24|0)!=(0); + $$$045 = $25 ? 1.0 : 100.0; + if ($25) { + L15: while(1) { + $26 = (_pthread_self()|0); + $27 = (__pthread_isduecanceled($26)|0); + $28 = ($27|0)==(0); + if (!($28)) { + $$138$ph = 125; + break; + } + _emscripten_main_thread_process_queued_calls(); + if ($6) { + $29 = (+__pthread_msecs_until($3)); + $30 = !($29 <= 0.0); + $31 = $29 > 100.0; + $$0$us = $31 ? 100.0 : $29; + $32 = $$0$us > 1.0; + $$$0$us = $32 ? 1.0 : $$0$us; + if ($30) { + $$$046$us = $$$0$us; + } else { + $$138$ph = 110; + break; + } + } else { + $$$046$us = $$$045; + } + $33 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$046$us))|0); + $34 = (0 - ($33))|0; + switch ($34|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph = $34; + break L15; + break; + } + default: { + $$138 = 0; + label = 21; + break L15; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph; + STACKTOP = sp;return ($$138|0); + } + if (!($6)) { + L27: while(1) { + $43 = (_pthread_self()|0); + $44 = (__pthread_isduecanceled($43)|0); + $45 = ($44|0)==(0); + if (!($45)) { + $$138$ph72 = 125; + break; + } + $46 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$045))|0); + $47 = (0 - ($46))|0; + switch ($47|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph72 = $47; + break L27; + break; + } + default: { + $$138 = 0; + label = 21; + break L27; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph72; + STACKTOP = sp;return ($$138|0); + } + L34: while(1) { + $35 = (_pthread_self()|0); + $36 = (__pthread_isduecanceled($35)|0); + $37 = ($36|0)==(0); + if (!($37)) { + $$138$ph70 = 125; + break; + } + $38 = (+__pthread_msecs_until($3)); + $39 = !($38 <= 0.0); + if (!($39)) { + $$138$ph70 = 110; + break; + } + $40 = $38 > 100.0; + $$0$us53 = $40 ? 100.0 : $38; + $41 = (_emscripten_futex_wait(($0|0),($1|0),(+$$0$us53))|0); + $42 = (0 - ($41))|0; + switch ($42|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph70 = $42; + break L34; + break; + } + default: { + $$138 = 0; + label = 21; + break L34; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph70; + STACKTOP = sp;return ($$138|0); +} +function __pthread_isduecanceled($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(2); + $3 = $2&1; + return ($3|0); +} +function __pthread_msecs_until($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.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)); + $4 = $3 * 1000.0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (+($6|0)); + $8 = $7 * 0.001; + $9 = $4 + $8; + $10 = HEAP32[$0>>2]|0; + $11 = (+($10|0)); + $12 = $11 * 1000.0; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = $15 * 9.9999999999999995E-7; + $17 = $12 + $16; + $18 = $17 - $9; + STACKTOP = sp;return (+$18); +} +function ___pthread_mutex_trylock($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; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = $5 & 16; + $$0 = $6; + return ($$0|0); + } else { + $7 = (___pthread_mutex_trylock_owner($0)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; +} +function ___pthread_mutex_trylock_owner($0) { + $0 = $0|0; + var $$ = 0, $$1 = 0, $$154 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond57 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_pthread_self()|0); + $3 = ((($2)) + 52|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 4|0); + $6 = (Atomics_load(HEAP32,$5>>2)|0); + $7 = $6 & 2147483647; + $8 = ($7|0)==($4|0); + $9 = $1 & 3; + $10 = ($9|0)==(1); + $or$cond = $10 & $8; + if ($or$cond) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(2147483646); + if ($13) { + $$1 = 11; + return ($$1|0); + } + $14 = (($12) + 1)|0; + HEAP32[$11>>2] = $14; + $$1 = 0; + return ($$1|0); + } + $15 = ($7|0)==(2147483647); + if ($15) { + $$1 = 131; + return ($$1|0); + } + $16 = HEAP32[$0>>2]|0; + $17 = $16 & 128; + $18 = ($17|0)==(0); + if ($18) { + $$154 = $4; + } else { + $19 = ((($2)) + 172|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + HEAP32[$19>>2] = -12; + } + $22 = ((($0)) + 8|0); + $23 = (Atomics_load(HEAP32,$22>>2)|0); + $24 = ($23|0)==(0); + $25 = $4 | -2147483648; + $$ = $24 ? $4 : $25; + $26 = ((($0)) + 16|0); + $27 = ((($2)) + 176|0); + Atomics_store(HEAP32,$27>>2,$26)|0; + $$154 = $$; + } + $28 = ($7|0)!=(0); + if ($28) { + $29 = $6 & 1073741824; + $30 = ($29|0)==(0); + $31 = $1 & 4; + $32 = ($31|0)==(0); + $or$cond57 = $32 | $30; + if (!($or$cond57)) { + label = 11; + } + } else { + label = 11; + } + if ((label|0) == 11) { + $33 = (Atomics_compareExchange(HEAP32, $5>>2, $6, $$154)|0); + $34 = ($33|0)==($6|0); + if ($34) { + $36 = ((($2)) + 168|0); + $37 = (Atomics_load(HEAP32,$36>>2)|0); + $38 = ((($0)) + 16|0); + HEAP32[$38>>2] = $37; + $39 = ((($0)) + 12|0); + HEAP32[$39>>2] = $36; + $40 = ($37|0)==($36|0); + if (!($40)) { + $41 = ((($37)) + -4|0); + Atomics_store(HEAP32,$41>>2,$38)|0; + } + Atomics_store(HEAP32,$36>>2,$38)|0; + $42 = ((($2)) + 176|0); + Atomics_store(HEAP32,$42>>2,0)|0; + if (!($28)) { + $$1 = 0; + return ($$1|0); + } + $43 = ((($0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = HEAP32[$0>>2]|0; + $45 = $44 | 8; + HEAP32[$0>>2] = $45; + $$1 = 130; + return ($$1|0); + } + } + $35 = ((($2)) + 176|0); + Atomics_store(HEAP32,$35>>2,0)|0; + $$1 = 16; + return ($$1|0); +} +function _pthread_mutexattr_destroy($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _pthread_mutexattr_init($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$0>>2] = 0; + return 0; +} +function _pthread_mutex_init($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$sroa$0 = sp; + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0;HEAP32[$$sroa$0+20>>2]=0|0;HEAP32[$$sroa$0+24>>2]=0|0; + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$$sroa$0+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$$sroa$0+24>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + STACKTOP = sp;return 0; + } + $3 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $3; + STACKTOP = sp;return 0; +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4230$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i17$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0198 = 0, $$0200 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024363$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1 = 0, $$1196$i = 0; + var $$1198$i = 0, $$124462$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2 = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i202 = 0, $$3229$i = 0, $$3235$i = 0, $$3350$i = 0; + var $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0, $$4230$i = 0, $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$7$i = 0, $$7239$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i18$i = 0, $$pre$i211 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i19$iZ2D = 0; + var $$pre$phi$i212Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i205 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0; + var $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, $1022 = 0, $1023 = 0; + var $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, $1040 = 0, $1041 = 0; + var $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, $1059 = 0, $106 = 0; + var $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, $1077 = 0, $1078 = 0; + var $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 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, $398 = 0, $399 = 0, $4 = 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, $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; + var $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, $53 = 0, $530 = 0; + var $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, $548 = 0, $549 = 0; + var $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, $566 = 0, $567 = 0; + var $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, $584 = 0, $585 = 0; + var $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, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0; + var $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, $620 = 0; + var $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, $639 = 0; + var $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, $657 = 0; + var $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, $675 = 0; + var $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, $693 = 0; + var $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, $710 = 0; + var $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, $729 = 0; + var $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, $747 = 0; + var $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, $765 = 0; + var $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, $783 = 0; + var $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, $800 = 0; + var $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, $819 = 0; + var $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, $834 = 0, $835 = 0, $836 = 0, $837 = 0; + var $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, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0; + var $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, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0; + var $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, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0; + var $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, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0; + var $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, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0; + var $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, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0; + var $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, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0; + var $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, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0; + var $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, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0; + var $cond$i$i = 0, $cond$i209 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i21$i = 0, $not$$i210 = 0, $not$1$i = 0, $not$1$i204 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0, $or$cond$i = 0, $or$cond$i213 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond12$i = 0, $or$cond2$i = 0; + var $or$cond2$i214 = 0, $or$cond43$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond9$i = 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 = HEAP32[8861]|0; + $4 = ($3|0)==(0); + if ($4) { + (___pthread_mutex_lock(35468)|0); + $5 = HEAP32[8861]|0; + $6 = ($5|0)==(0); + if ($6) { + HEAP32[(35452)>>2] = 4096; + HEAP32[(35448)>>2] = 4096; + HEAP32[(35456)>>2] = -1; + HEAP32[(35460)>>2] = -1; + HEAP32[(35464)>>2] = 2; + HEAP32[(35940)>>2] = 2; + $7 = (_pthread_mutexattr_init($1)|0); + $8 = ($7|0)==(0); + if ($8) { + $9 = (_pthread_mutex_init((35944),$1)|0); + $10 = ($9|0)==(0); + if ($10) { + } + } + $11 = $2; + $12 = $11 & -16; + $13 = $12 ^ 1431655768; + HEAP32[$2>>2] = $13; + Atomics_store(HEAP32,8861,$13)|0; + } + (___pthread_mutex_unlock(35468)|0); + } + $14 = HEAP32[(35940)>>2]|0; + $15 = $14 & 2; + $16 = ($15|0)==(0); + if (!($16)) { + $17 = (___pthread_mutex_lock((35944))|0); + $18 = ($17|0)==(0); + if (!($18)) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + $19 = ($0>>>0)<(245); + do { + if ($19) { + $20 = ($0>>>0)<(11); + $21 = (($0) + 11)|0; + $22 = $21 & -8; + $23 = $20 ? 16 : $22; + $24 = $23 >>> 3; + $25 = HEAP32[8874]|0; + $26 = $25 >>> $24; + $27 = $26 & 3; + $28 = ($27|0)==(0); + if (!($28)) { + $29 = $26 & 1; + $30 = $29 ^ 1; + $31 = (($30) + ($24))|0; + $32 = $31 << 1; + $33 = (35536 + ($32<<2)|0); + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($33|0)==($37|0); + do { + if ($38) { + $39 = 1 << $31; + $40 = $39 ^ -1; + $41 = $25 & $40; + HEAP32[8874] = $41; + } else { + $42 = HEAP32[(35512)>>2]|0; + $43 = ($37>>>0)<($42>>>0); + if ($43) { + _abort(); + // unreachable; + } + $44 = ((($37)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==($35|0); + if ($46) { + HEAP32[$44>>2] = $33; + HEAP32[$34>>2] = $37; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $47 = $31 << 3; + $48 = $47 | 3; + $49 = ((($35)) + 4|0); + HEAP32[$49>>2] = $48; + $50 = (($35) + ($47)|0); + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52 | 1; + HEAP32[$51>>2] = $53; + $$2 = $36; + break; + } + $54 = HEAP32[(35504)>>2]|0; + $55 = ($23>>>0)>($54>>>0); + if ($55) { + $56 = ($26|0)==(0); + if (!($56)) { + $57 = $26 << $24; + $58 = 2 << $24; + $59 = (0 - ($58))|0; + $60 = $58 | $59; + $61 = $57 & $60; + $62 = (0 - ($61))|0; + $63 = $61 & $62; + $64 = (($63) + -1)|0; + $65 = $64 >>> 12; + $66 = $65 & 16; + $67 = $64 >>> $66; + $68 = $67 >>> 5; + $69 = $68 & 8; + $70 = $69 | $66; + $71 = $67 >>> $69; + $72 = $71 >>> 2; + $73 = $72 & 4; + $74 = $70 | $73; + $75 = $71 >>> $73; + $76 = $75 >>> 1; + $77 = $76 & 2; + $78 = $74 | $77; + $79 = $75 >>> $77; + $80 = $79 >>> 1; + $81 = $80 & 1; + $82 = $78 | $81; + $83 = $79 >>> $81; + $84 = (($82) + ($83))|0; + $85 = $84 << 1; + $86 = (35536 + ($85<<2)|0); + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + $89 = ((($88)) + 8|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($86|0)==($90|0); + do { + if ($91) { + $92 = 1 << $84; + $93 = $92 ^ -1; + $94 = $25 & $93; + HEAP32[8874] = $94; + $115 = $94; + } else { + $95 = HEAP32[(35512)>>2]|0; + $96 = ($90>>>0)<($95>>>0); + if ($96) { + _abort(); + // unreachable; + } + $97 = ((($90)) + 12|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==($88|0); + if ($99) { + HEAP32[$97>>2] = $86; + HEAP32[$87>>2] = $90; + $115 = $25; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $100 = $84 << 3; + $101 = (($100) - ($23))|0; + $102 = $23 | 3; + $103 = ((($88)) + 4|0); + HEAP32[$103>>2] = $102; + $104 = (($88) + ($23)|0); + $105 = $101 | 1; + $106 = ((($104)) + 4|0); + HEAP32[$106>>2] = $105; + $107 = (($104) + ($101)|0); + HEAP32[$107>>2] = $101; + $108 = ($54|0)==(0); + if (!($108)) { + $109 = HEAP32[(35516)>>2]|0; + $110 = $54 >>> 3; + $111 = $110 << 1; + $112 = (35536 + ($111<<2)|0); + $113 = 1 << $110; + $114 = $115 & $113; + $116 = ($114|0)==(0); + if ($116) { + $117 = $115 | $113; + HEAP32[8874] = $117; + $$pre = ((($112)) + 8|0); + $$0200 = $112;$$pre$phiZ2D = $$pre; + } else { + $118 = ((($112)) + 8|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[(35512)>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { + _abort(); + // unreachable; + } else { + $$0200 = $119;$$pre$phiZ2D = $118; + } + } + HEAP32[$$pre$phiZ2D>>2] = $109; + $122 = ((($$0200)) + 12|0); + HEAP32[$122>>2] = $109; + $123 = ((($109)) + 8|0); + HEAP32[$123>>2] = $$0200; + $124 = ((($109)) + 12|0); + HEAP32[$124>>2] = $112; + } + HEAP32[(35504)>>2] = $101; + HEAP32[(35516)>>2] = $104; + $$2 = $89; + break; + } + $125 = HEAP32[(35500)>>2]|0; + $126 = ($125|0)==(0); + if ($126) { + $$0198 = $23; + label = 153; + } else { + $127 = (0 - ($125))|0; + $128 = $125 & $127; + $129 = (($128) + -1)|0; + $130 = $129 >>> 12; + $131 = $130 & 16; + $132 = $129 >>> $131; + $133 = $132 >>> 5; + $134 = $133 & 8; + $135 = $134 | $131; + $136 = $132 >>> $134; + $137 = $136 >>> 2; + $138 = $137 & 4; + $139 = $135 | $138; + $140 = $136 >>> $138; + $141 = $140 >>> 1; + $142 = $141 & 2; + $143 = $139 | $142; + $144 = $140 >>> $142; + $145 = $144 >>> 1; + $146 = $145 & 1; + $147 = $143 | $146; + $148 = $144 >>> $146; + $149 = (($147) + ($148))|0; + $150 = (35800 + ($149<<2)|0); + $151 = HEAP32[$150>>2]|0; + $152 = ((($151)) + 4|0); + $153 = HEAP32[$152>>2]|0; + $154 = $153 & -8; + $155 = (($154) - ($23))|0; + $156 = ((($151)) + 16|0); + $157 = HEAP32[$156>>2]|0; + $not$5$i = ($157|0)==(0|0); + $$sink16$i = $not$5$i&1; + $158 = (((($151)) + 16|0) + ($$sink16$i<<2)|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==(0|0); + if ($160) { + $$0192$lcssa$i = $151;$$0193$lcssa$i = $155; + } else { + $$01928$i = $151;$$01937$i = $155;$162 = $159; + while(1) { + $161 = ((($162)) + 4|0); + $163 = HEAP32[$161>>2]|0; + $164 = $163 & -8; + $165 = (($164) - ($23))|0; + $166 = ($165>>>0)<($$01937$i>>>0); + $$$0193$i = $166 ? $165 : $$01937$i; + $$$0192$i = $166 ? $162 : $$01928$i; + $167 = ((($162)) + 16|0); + $168 = HEAP32[$167>>2]|0; + $not$$i = ($168|0)==(0|0); + $$sink1$i = $not$$i&1; + $169 = (((($162)) + 16|0) + ($$sink1$i<<2)|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$162 = $170; + } + } + } + $172 = HEAP32[(35512)>>2]|0; + $173 = ($$0192$lcssa$i>>>0)<($172>>>0); + if ($173) { + _abort(); + // unreachable; + } + $174 = (($$0192$lcssa$i) + ($23)|0); + $175 = ($$0192$lcssa$i>>>0)<($174>>>0); + if (!($175)) { + _abort(); + // unreachable; + } + $176 = ((($$0192$lcssa$i)) + 24|0); + $177 = HEAP32[$176>>2]|0; + $178 = ((($$0192$lcssa$i)) + 12|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==($$0192$lcssa$i|0); + do { + if ($180) { + $190 = ((($$0192$lcssa$i)) + 20|0); + $191 = HEAP32[$190>>2]|0; + $192 = ($191|0)==(0|0); + if ($192) { + $193 = ((($$0192$lcssa$i)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $195 = ($194|0)==(0|0); + if ($195) { + $$3$i = 0; + break; + } else { + $$1196$i = $194;$$1198$i = $193; + } + } else { + $$1196$i = $191;$$1198$i = $190; + } + while(1) { + $196 = ((($$1196$i)) + 20|0); + $197 = HEAP32[$196>>2]|0; + $198 = ($197|0)==(0|0); + if (!($198)) { + $$1196$i = $197;$$1198$i = $196; + continue; + } + $199 = ((($$1196$i)) + 16|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($200|0)==(0|0); + if ($201) { + break; + } else { + $$1196$i = $200;$$1198$i = $199; + } + } + $202 = ($$1198$i>>>0)<($172>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $181 = ((($$0192$lcssa$i)) + 8|0); + $182 = HEAP32[$181>>2]|0; + $183 = ($182>>>0)<($172>>>0); + if ($183) { + _abort(); + // unreachable; + } + $184 = ((($182)) + 12|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($185|0)==($$0192$lcssa$i|0); + if (!($186)) { + _abort(); + // unreachable; + } + $187 = ((($179)) + 8|0); + $188 = HEAP32[$187>>2]|0; + $189 = ($188|0)==($$0192$lcssa$i|0); + if ($189) { + HEAP32[$184>>2] = $179; + HEAP32[$187>>2] = $182; + $$3$i = $179; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $203 = ($177|0)==(0|0); + L85: do { + if (!($203)) { + $204 = ((($$0192$lcssa$i)) + 28|0); + $205 = HEAP32[$204>>2]|0; + $206 = (35800 + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($$0192$lcssa$i|0)==($207|0); + do { + if ($208) { + HEAP32[$206>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $209 = 1 << $205; + $210 = $209 ^ -1; + $211 = $125 & $210; + HEAP32[(35500)>>2] = $211; + break L85; + } + } else { + $212 = HEAP32[(35512)>>2]|0; + $213 = ($177>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($177)) + 16|0); + $215 = HEAP32[$214>>2]|0; + $not$1$i = ($215|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $216 = (((($177)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$216>>2] = $$3$i; + $217 = ($$3$i|0)==(0|0); + if ($217) { + break L85; + } else { + break; + } + } + } + } while(0); + $218 = HEAP32[(35512)>>2]|0; + $219 = ($$3$i>>>0)<($218>>>0); + if ($219) { + _abort(); + // unreachable; + } + $220 = ((($$3$i)) + 24|0); + HEAP32[$220>>2] = $177; + $221 = ((($$0192$lcssa$i)) + 16|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + do { + if (!($223)) { + $224 = ($222>>>0)<($218>>>0); + if ($224) { + _abort(); + // unreachable; + } else { + $225 = ((($$3$i)) + 16|0); + HEAP32[$225>>2] = $222; + $226 = ((($222)) + 24|0); + HEAP32[$226>>2] = $$3$i; + break; + } + } + } while(0); + $227 = ((($$0192$lcssa$i)) + 20|0); + $228 = HEAP32[$227>>2]|0; + $229 = ($228|0)==(0|0); + if (!($229)) { + $230 = HEAP32[(35512)>>2]|0; + $231 = ($228>>>0)<($230>>>0); + if ($231) { + _abort(); + // unreachable; + } else { + $232 = ((($$3$i)) + 20|0); + HEAP32[$232>>2] = $228; + $233 = ((($228)) + 24|0); + HEAP32[$233>>2] = $$3$i; + break; + } + } + } + } while(0); + $234 = ($$0193$lcssa$i>>>0)<(16); + if ($234) { + $235 = (($$0193$lcssa$i) + ($23))|0; + $236 = $235 | 3; + $237 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$237>>2] = $236; + $238 = (($$0192$lcssa$i) + ($235)|0); + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = $240 | 1; + HEAP32[$239>>2] = $241; + } else { + $242 = $23 | 3; + $243 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$243>>2] = $242; + $244 = $$0193$lcssa$i | 1; + $245 = ((($174)) + 4|0); + HEAP32[$245>>2] = $244; + $246 = (($174) + ($$0193$lcssa$i)|0); + HEAP32[$246>>2] = $$0193$lcssa$i; + $247 = ($54|0)==(0); + if (!($247)) { + $248 = HEAP32[(35516)>>2]|0; + $249 = $54 >>> 3; + $250 = $249 << 1; + $251 = (35536 + ($250<<2)|0); + $252 = 1 << $249; + $253 = $25 & $252; + $254 = ($253|0)==(0); + if ($254) { + $255 = $25 | $252; + HEAP32[8874] = $255; + $$pre$i = ((($251)) + 8|0); + $$0189$i = $251;$$pre$phi$iZ2D = $$pre$i; + } else { + $256 = ((($251)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[(35512)>>2]|0; + $259 = ($257>>>0)<($258>>>0); + if ($259) { + _abort(); + // unreachable; + } else { + $$0189$i = $257;$$pre$phi$iZ2D = $256; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $248; + $260 = ((($$0189$i)) + 12|0); + HEAP32[$260>>2] = $248; + $261 = ((($248)) + 8|0); + HEAP32[$261>>2] = $$0189$i; + $262 = ((($248)) + 12|0); + HEAP32[$262>>2] = $251; + } + HEAP32[(35504)>>2] = $$0193$lcssa$i; + HEAP32[(35516)>>2] = $174; + } + $263 = ((($$0192$lcssa$i)) + 8|0); + $$2 = $263; + } + } else { + $$0198 = $23; + label = 153; + } + } else { + $264 = ($0>>>0)>(4294967231); + if ($264) { + $$0198 = -1; + label = 153; + } else { + $265 = (($0) + 11)|0; + $266 = $265 & -8; + $267 = HEAP32[(35500)>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$0198 = $266; + label = 153; + } else { + $269 = (0 - ($266))|0; + $270 = $265 >>> 8; + $271 = ($270|0)==(0); + if ($271) { + $$0358$i = 0; + } else { + $272 = ($266>>>0)>(16777215); + if ($272) { + $$0358$i = 31; + } else { + $273 = (($270) + 1048320)|0; + $274 = $273 >>> 16; + $275 = $274 & 8; + $276 = $270 << $275; + $277 = (($276) + 520192)|0; + $278 = $277 >>> 16; + $279 = $278 & 4; + $280 = $279 | $275; + $281 = $276 << $279; + $282 = (($281) + 245760)|0; + $283 = $282 >>> 16; + $284 = $283 & 2; + $285 = $280 | $284; + $286 = (14 - ($285))|0; + $287 = $281 << $284; + $288 = $287 >>> 15; + $289 = (($286) + ($288))|0; + $290 = $289 << 1; + $291 = (($289) + 7)|0; + $292 = $266 >>> $291; + $293 = $292 & 1; + $294 = $293 | $290; + $$0358$i = $294; + } + } + $295 = (35800 + ($$0358$i<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($296|0)==(0|0); + L128: do { + if ($297) { + $$2355$i = 0;$$3$i202 = 0;$$3350$i = $269; + label = 90; + } else { + $298 = ($$0358$i|0)==(31); + $299 = $$0358$i >>> 1; + $300 = (25 - ($299))|0; + $301 = $298 ? 0 : $300; + $302 = $266 << $301; + $$0342$i = 0;$$0347$i = $269;$$0353$i = $296;$$0359$i = $302;$$0362$i = 0; + while(1) { + $303 = ((($$0353$i)) + 4|0); + $304 = HEAP32[$303>>2]|0; + $305 = $304 & -8; + $306 = (($305) - ($266))|0; + $307 = ($306>>>0)<($$0347$i>>>0); + if ($307) { + $308 = ($306|0)==(0); + if ($308) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 94; + break L128; + } else { + $$1343$i = $$0353$i;$$1348$i = $306; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $309 = ((($$0353$i)) + 20|0); + $310 = HEAP32[$309>>2]|0; + $311 = $$0359$i >>> 31; + $312 = (((($$0353$i)) + 16|0) + ($311<<2)|0); + $313 = HEAP32[$312>>2]|0; + $314 = ($310|0)==(0|0); + $315 = ($310|0)==($313|0); + $or$cond2$i = $314 | $315; + $$1363$i = $or$cond2$i ? $$0362$i : $310; + $316 = ($313|0)==(0|0); + $not$8$i = $316 ^ 1; + $317 = $not$8$i&1; + $$0359$$i = $$0359$i << $317; + if ($316) { + $$2355$i = $$1363$i;$$3$i202 = $$1343$i;$$3350$i = $$1348$i; + label = 90; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $313;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 90) { + $318 = ($$2355$i|0)==(0|0); + $319 = ($$3$i202|0)==(0|0); + $or$cond$i = $318 & $319; + if ($or$cond$i) { + $320 = 2 << $$0358$i; + $321 = (0 - ($320))|0; + $322 = $320 | $321; + $323 = $267 & $322; + $324 = ($323|0)==(0); + if ($324) { + $$0198 = $266; + label = 153; + break; + } + $325 = (0 - ($323))|0; + $326 = $323 & $325; + $327 = (($326) + -1)|0; + $328 = $327 >>> 12; + $329 = $328 & 16; + $330 = $327 >>> $329; + $331 = $330 >>> 5; + $332 = $331 & 8; + $333 = $332 | $329; + $334 = $330 >>> $332; + $335 = $334 >>> 2; + $336 = $335 & 4; + $337 = $333 | $336; + $338 = $334 >>> $336; + $339 = $338 >>> 1; + $340 = $339 & 2; + $341 = $337 | $340; + $342 = $338 >>> $340; + $343 = $342 >>> 1; + $344 = $343 & 1; + $345 = $341 | $344; + $346 = $342 >>> $344; + $347 = (($345) + ($346))|0; + $348 = (35800 + ($347<<2)|0); + $349 = HEAP32[$348>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $349; + } else { + $$4$ph$i = $$3$i202;$$4357$ph$i = $$2355$i; + } + $350 = ($$4357$ph$i|0)==(0|0); + if ($350) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 94; + } + } + if ((label|0) == 94) { + while(1) { + label = 0; + $351 = ((($$435713$i)) + 4|0); + $352 = HEAP32[$351>>2]|0; + $353 = $352 & -8; + $354 = (($353) - ($266))|0; + $355 = ($354>>>0)<($$435114$i>>>0); + $$$4351$i = $355 ? $354 : $$435114$i; + $$4357$$4$i = $355 ? $$435713$i : $$415$i; + $356 = ((($$435713$i)) + 16|0); + $357 = HEAP32[$356>>2]|0; + $not$1$i204 = ($357|0)==(0|0); + $$sink2$i205 = $not$1$i204&1; + $358 = (((($$435713$i)) + 16|0) + ($$sink2$i205<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0|0); + if ($360) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $359; + label = 94; + } + } + } + $361 = ($$4$lcssa$i|0)==(0|0); + if ($361) { + $$0198 = $266; + label = 153; + } else { + $362 = HEAP32[(35504)>>2]|0; + $363 = (($362) - ($266))|0; + $364 = ($$4351$lcssa$i>>>0)<($363>>>0); + if ($364) { + $365 = HEAP32[(35512)>>2]|0; + $366 = ($$4$lcssa$i>>>0)<($365>>>0); + if ($366) { + _abort(); + // unreachable; + } + $367 = (($$4$lcssa$i) + ($266)|0); + $368 = ($$4$lcssa$i>>>0)<($367>>>0); + if (!($368)) { + _abort(); + // unreachable; + } + $369 = ((($$4$lcssa$i)) + 24|0); + $370 = HEAP32[$369>>2]|0; + $371 = ((($$4$lcssa$i)) + 12|0); + $372 = HEAP32[$371>>2]|0; + $373 = ($372|0)==($$4$lcssa$i|0); + do { + if ($373) { + $383 = ((($$4$lcssa$i)) + 20|0); + $384 = HEAP32[$383>>2]|0; + $385 = ($384|0)==(0|0); + if ($385) { + $386 = ((($$4$lcssa$i)) + 16|0); + $387 = HEAP32[$386>>2]|0; + $388 = ($387|0)==(0|0); + if ($388) { + $$3372$i = 0; + break; + } else { + $$1370$i = $387;$$1374$i = $386; + } + } else { + $$1370$i = $384;$$1374$i = $383; + } + while(1) { + $389 = ((($$1370$i)) + 20|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($390|0)==(0|0); + if (!($391)) { + $$1370$i = $390;$$1374$i = $389; + continue; + } + $392 = ((($$1370$i)) + 16|0); + $393 = HEAP32[$392>>2]|0; + $394 = ($393|0)==(0|0); + if ($394) { + break; + } else { + $$1370$i = $393;$$1374$i = $392; + } + } + $395 = ($$1374$i>>>0)<($365>>>0); + if ($395) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $374 = ((($$4$lcssa$i)) + 8|0); + $375 = HEAP32[$374>>2]|0; + $376 = ($375>>>0)<($365>>>0); + if ($376) { + _abort(); + // unreachable; + } + $377 = ((($375)) + 12|0); + $378 = HEAP32[$377>>2]|0; + $379 = ($378|0)==($$4$lcssa$i|0); + if (!($379)) { + _abort(); + // unreachable; + } + $380 = ((($372)) + 8|0); + $381 = HEAP32[$380>>2]|0; + $382 = ($381|0)==($$4$lcssa$i|0); + if ($382) { + HEAP32[$377>>2] = $372; + HEAP32[$380>>2] = $375; + $$3372$i = $372; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $396 = ($370|0)==(0|0); + L175: do { + if ($396) { + $487 = $267; + } else { + $397 = ((($$4$lcssa$i)) + 28|0); + $398 = HEAP32[$397>>2]|0; + $399 = (35800 + ($398<<2)|0); + $400 = HEAP32[$399>>2]|0; + $401 = ($$4$lcssa$i|0)==($400|0); + do { + if ($401) { + HEAP32[$399>>2] = $$3372$i; + $cond$i209 = ($$3372$i|0)==(0|0); + if ($cond$i209) { + $402 = 1 << $398; + $403 = $402 ^ -1; + $404 = $267 & $403; + HEAP32[(35500)>>2] = $404; + $487 = $404; + break L175; + } + } else { + $405 = HEAP32[(35512)>>2]|0; + $406 = ($370>>>0)<($405>>>0); + if ($406) { + _abort(); + // unreachable; + } else { + $407 = ((($370)) + 16|0); + $408 = HEAP32[$407>>2]|0; + $not$$i210 = ($408|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i210&1; + $409 = (((($370)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$409>>2] = $$3372$i; + $410 = ($$3372$i|0)==(0|0); + if ($410) { + $487 = $267; + break L175; + } else { + break; + } + } + } + } while(0); + $411 = HEAP32[(35512)>>2]|0; + $412 = ($$3372$i>>>0)<($411>>>0); + if ($412) { + _abort(); + // unreachable; + } + $413 = ((($$3372$i)) + 24|0); + HEAP32[$413>>2] = $370; + $414 = ((($$4$lcssa$i)) + 16|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($415|0)==(0|0); + do { + if (!($416)) { + $417 = ($415>>>0)<($411>>>0); + if ($417) { + _abort(); + // unreachable; + } else { + $418 = ((($$3372$i)) + 16|0); + HEAP32[$418>>2] = $415; + $419 = ((($415)) + 24|0); + HEAP32[$419>>2] = $$3372$i; + break; + } + } + } while(0); + $420 = ((($$4$lcssa$i)) + 20|0); + $421 = HEAP32[$420>>2]|0; + $422 = ($421|0)==(0|0); + if ($422) { + $487 = $267; + } else { + $423 = HEAP32[(35512)>>2]|0; + $424 = ($421>>>0)<($423>>>0); + if ($424) { + _abort(); + // unreachable; + } else { + $425 = ((($$3372$i)) + 20|0); + HEAP32[$425>>2] = $421; + $426 = ((($421)) + 24|0); + HEAP32[$426>>2] = $$3372$i; + $487 = $267; + break; + } + } + } + } while(0); + $427 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($427) { + $428 = (($$4351$lcssa$i) + ($266))|0; + $429 = $428 | 3; + $430 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$430>>2] = $429; + $431 = (($$4$lcssa$i) + ($428)|0); + $432 = ((($431)) + 4|0); + $433 = HEAP32[$432>>2]|0; + $434 = $433 | 1; + HEAP32[$432>>2] = $434; + } else { + $435 = $266 | 3; + $436 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$436>>2] = $435; + $437 = $$4351$lcssa$i | 1; + $438 = ((($367)) + 4|0); + HEAP32[$438>>2] = $437; + $439 = (($367) + ($$4351$lcssa$i)|0); + HEAP32[$439>>2] = $$4351$lcssa$i; + $440 = $$4351$lcssa$i >>> 3; + $441 = ($$4351$lcssa$i>>>0)<(256); + if ($441) { + $442 = $440 << 1; + $443 = (35536 + ($442<<2)|0); + $444 = HEAP32[8874]|0; + $445 = 1 << $440; + $446 = $444 & $445; + $447 = ($446|0)==(0); + do { + if ($447) { + $448 = $444 | $445; + HEAP32[8874] = $448; + $$pre$i211 = ((($443)) + 8|0); + $$0368$i = $443;$$pre$phi$i212Z2D = $$pre$i211; + } else { + $449 = ((($443)) + 8|0); + $450 = HEAP32[$449>>2]|0; + $451 = HEAP32[(35512)>>2]|0; + $452 = ($450>>>0)<($451>>>0); + if (!($452)) { + $$0368$i = $450;$$pre$phi$i212Z2D = $449; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i212Z2D>>2] = $367; + $453 = ((($$0368$i)) + 12|0); + HEAP32[$453>>2] = $367; + $454 = ((($367)) + 8|0); + HEAP32[$454>>2] = $$0368$i; + $455 = ((($367)) + 12|0); + HEAP32[$455>>2] = $443; + break; + } + $456 = $$4351$lcssa$i >>> 8; + $457 = ($456|0)==(0); + if ($457) { + $$0361$i = 0; + } else { + $458 = ($$4351$lcssa$i>>>0)>(16777215); + if ($458) { + $$0361$i = 31; + } else { + $459 = (($456) + 1048320)|0; + $460 = $459 >>> 16; + $461 = $460 & 8; + $462 = $456 << $461; + $463 = (($462) + 520192)|0; + $464 = $463 >>> 16; + $465 = $464 & 4; + $466 = $465 | $461; + $467 = $462 << $465; + $468 = (($467) + 245760)|0; + $469 = $468 >>> 16; + $470 = $469 & 2; + $471 = $466 | $470; + $472 = (14 - ($471))|0; + $473 = $467 << $470; + $474 = $473 >>> 15; + $475 = (($472) + ($474))|0; + $476 = $475 << 1; + $477 = (($475) + 7)|0; + $478 = $$4351$lcssa$i >>> $477; + $479 = $478 & 1; + $480 = $479 | $476; + $$0361$i = $480; + } + } + $481 = (35800 + ($$0361$i<<2)|0); + $482 = ((($367)) + 28|0); + HEAP32[$482>>2] = $$0361$i; + $483 = ((($367)) + 16|0); + $484 = ((($483)) + 4|0); + HEAP32[$484>>2] = 0; + HEAP32[$483>>2] = 0; + $485 = 1 << $$0361$i; + $486 = $487 & $485; + $488 = ($486|0)==(0); + if ($488) { + $489 = $487 | $485; + HEAP32[(35500)>>2] = $489; + HEAP32[$481>>2] = $367; + $490 = ((($367)) + 24|0); + HEAP32[$490>>2] = $481; + $491 = ((($367)) + 12|0); + HEAP32[$491>>2] = $367; + $492 = ((($367)) + 8|0); + HEAP32[$492>>2] = $367; + break; + } + $493 = HEAP32[$481>>2]|0; + $494 = ($$0361$i|0)==(31); + $495 = $$0361$i >>> 1; + $496 = (25 - ($495))|0; + $497 = $494 ? 0 : $496; + $498 = $$4351$lcssa$i << $497; + $$0344$i = $498;$$0345$i = $493; + while(1) { + $499 = ((($$0345$i)) + 4|0); + $500 = HEAP32[$499>>2]|0; + $501 = $500 & -8; + $502 = ($501|0)==($$4351$lcssa$i|0); + if ($502) { + label = 148; + break; + } + $503 = $$0344$i >>> 31; + $504 = (((($$0345$i)) + 16|0) + ($503<<2)|0); + $505 = $$0344$i << 1; + $506 = HEAP32[$504>>2]|0; + $507 = ($506|0)==(0|0); + if ($507) { + label = 145; + break; + } else { + $$0344$i = $505;$$0345$i = $506; + } + } + if ((label|0) == 145) { + $508 = HEAP32[(35512)>>2]|0; + $509 = ($504>>>0)<($508>>>0); + if ($509) { + _abort(); + // unreachable; + } else { + HEAP32[$504>>2] = $367; + $510 = ((($367)) + 24|0); + HEAP32[$510>>2] = $$0345$i; + $511 = ((($367)) + 12|0); + HEAP32[$511>>2] = $367; + $512 = ((($367)) + 8|0); + HEAP32[$512>>2] = $367; + break; + } + } + else if ((label|0) == 148) { + $513 = ((($$0345$i)) + 8|0); + $514 = HEAP32[$513>>2]|0; + $515 = HEAP32[(35512)>>2]|0; + $516 = ($514>>>0)>=($515>>>0); + $not$9$i = ($$0345$i>>>0)>=($515>>>0); + $517 = $516 & $not$9$i; + if ($517) { + $518 = ((($514)) + 12|0); + HEAP32[$518>>2] = $367; + HEAP32[$513>>2] = $367; + $519 = ((($367)) + 8|0); + HEAP32[$519>>2] = $514; + $520 = ((($367)) + 12|0); + HEAP32[$520>>2] = $$0345$i; + $521 = ((($367)) + 24|0); + HEAP32[$521>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $522 = ((($$4$lcssa$i)) + 8|0); + $$2 = $522; + } else { + $$0198 = $266; + label = 153; + } + } + } + } + } + } while(0); + L230: do { + if ((label|0) == 153) { + $523 = HEAP32[(35504)>>2]|0; + $524 = ($523>>>0)<($$0198>>>0); + if (!($524)) { + $525 = (($523) - ($$0198))|0; + $526 = HEAP32[(35516)>>2]|0; + $527 = ($525>>>0)>(15); + if ($527) { + $528 = (($526) + ($$0198)|0); + HEAP32[(35516)>>2] = $528; + HEAP32[(35504)>>2] = $525; + $529 = $525 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = (($528) + ($525)|0); + HEAP32[$531>>2] = $525; + $532 = $$0198 | 3; + $533 = ((($526)) + 4|0); + HEAP32[$533>>2] = $532; + } else { + HEAP32[(35504)>>2] = 0; + HEAP32[(35516)>>2] = 0; + $534 = $523 | 3; + $535 = ((($526)) + 4|0); + HEAP32[$535>>2] = $534; + $536 = (($526) + ($523)|0); + $537 = ((($536)) + 4|0); + $538 = HEAP32[$537>>2]|0; + $539 = $538 | 1; + HEAP32[$537>>2] = $539; + } + $540 = ((($526)) + 8|0); + $$2 = $540; + break; + } + $541 = HEAP32[(35508)>>2]|0; + $542 = ($541>>>0)>($$0198>>>0); + if ($542) { + $543 = (($541) - ($$0198))|0; + HEAP32[(35508)>>2] = $543; + $544 = HEAP32[(35520)>>2]|0; + $545 = (($544) + ($$0198)|0); + HEAP32[(35520)>>2] = $545; + $546 = $543 | 1; + $547 = ((($545)) + 4|0); + HEAP32[$547>>2] = $546; + $548 = $$0198 | 3; + $549 = ((($544)) + 4|0); + HEAP32[$549>>2] = $548; + $550 = ((($544)) + 8|0); + $$2 = $550; + break; + } + $551 = HEAP32[8861]|0; + $552 = ($551|0)==(0); + if ($552) { + (___pthread_mutex_lock(35468)|0); + $553 = HEAP32[8861]|0; + $554 = ($553|0)==(0); + if ($554) { + HEAP32[(35452)>>2] = 4096; + HEAP32[(35448)>>2] = 4096; + HEAP32[(35456)>>2] = -1; + HEAP32[(35460)>>2] = -1; + HEAP32[(35464)>>2] = 2; + HEAP32[(35940)>>2] = 2; + $555 = (_pthread_mutexattr_init($1)|0); + $556 = ($555|0)==(0); + if ($556) { + $557 = (_pthread_mutex_init((35944),$1)|0); + $558 = ($557|0)==(0); + if ($558) { + } + } + $559 = $2; + $560 = $559 & -16; + $561 = $560 ^ 1431655768; + HEAP32[$2>>2] = $561; + Atomics_store(HEAP32,8861,$561)|0; + } + (___pthread_mutex_unlock(35468)|0); + } + $562 = (($$0198) + 48)|0; + $563 = HEAP32[(35452)>>2]|0; + $564 = (($$0198) + 47)|0; + $565 = (($563) + ($564))|0; + $566 = (0 - ($563))|0; + $567 = $565 & $566; + $568 = ($567>>>0)>($$0198>>>0); + if ($568) { + $569 = HEAP32[(35936)>>2]|0; + $570 = ($569|0)==(0); + if (!($570)) { + $571 = HEAP32[(35928)>>2]|0; + $572 = (($571) + ($567))|0; + $573 = ($572>>>0)<=($571>>>0); + $574 = ($572>>>0)>($569>>>0); + $or$cond1$i = $573 | $574; + if ($or$cond1$i) { + $$2 = 0; + break; + } + } + $575 = HEAP32[(35940)>>2]|0; + $576 = $575 & 4; + $577 = ($576|0)==(0); + if ($577) { + $578 = HEAP32[(35520)>>2]|0; + $579 = ($578|0)==(0|0); + L258: do { + if ($579) { + label = 176; + } else { + $$0$i$i = (35972); + while(1) { + $580 = HEAP32[$$0$i$i>>2]|0; + $581 = ($580>>>0)>($578>>>0); + if (!($581)) { + $582 = ((($$0$i$i)) + 4|0); + $583 = HEAP32[$582>>2]|0; + $584 = (($580) + ($583)|0); + $585 = ($584>>>0)>($578>>>0); + if ($585) { + break; + } + } + $586 = ((($$0$i$i)) + 8|0); + $587 = HEAP32[$586>>2]|0; + $588 = ($587|0)==(0|0); + if ($588) { + label = 176; + break L258; + } else { + $$0$i$i = $587; + } + } + (___pthread_mutex_lock(35468)|0); + $611 = HEAP32[(35508)>>2]|0; + $612 = HEAP32[(35452)>>2]|0; + $613 = (($564) - ($611))|0; + $614 = (($613) + ($612))|0; + $615 = (0 - ($612))|0; + $616 = $614 & $615; + $617 = ($616>>>0)<(2147483647); + if ($617) { + $618 = (_sbrk(($616|0))|0); + $619 = HEAP32[$$0$i$i>>2]|0; + $620 = HEAP32[$582>>2]|0; + $621 = (($619) + ($620)|0); + $622 = ($618|0)==($621|0); + if ($622) { + $623 = ($618|0)==((-1)|0); + if ($623) { + $$2234253237$i = $616; + label = 190; + } else { + $$3229$i = $618;$$3235$i = $616; + } + } else { + $$2247$ph$i = $618;$$2253$ph$i = $616; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } + } + } while(0); + do { + if ((label|0) == 176) { + (___pthread_mutex_lock(35468)|0); + $589 = (_sbrk(0)|0); + $590 = ($589|0)==((-1)|0); + if ($590) { + $$2234253237$i = 0; + label = 190; + } else { + $591 = $589; + $592 = HEAP32[(35448)>>2]|0; + $593 = (($592) + -1)|0; + $594 = $593 & $591; + $595 = ($594|0)==(0); + $596 = (($593) + ($591))|0; + $597 = (0 - ($592))|0; + $598 = $596 & $597; + $599 = (($598) - ($591))|0; + $600 = $595 ? 0 : $599; + $$$i = (($600) + ($567))|0; + $601 = HEAP32[(35928)>>2]|0; + $602 = (($$$i) + ($601))|0; + $603 = ($$$i>>>0)>($$0198>>>0); + $604 = ($$$i>>>0)<(2147483647); + $or$cond$i213 = $603 & $604; + if ($or$cond$i213) { + $605 = HEAP32[(35936)>>2]|0; + $606 = ($605|0)==(0); + if (!($606)) { + $607 = ($602>>>0)<=($601>>>0); + $608 = ($602>>>0)>($605>>>0); + $or$cond2$i214 = $607 | $608; + if ($or$cond2$i214) { + $$2234253237$i = 0; + label = 190; + break; + } + } + $609 = (_sbrk(($$$i|0))|0); + $610 = ($609|0)==($589|0); + if ($610) { + $$3229$i = $589;$$3235$i = $$$i; + } else { + $$2247$ph$i = $609;$$2253$ph$i = $$$i; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } + } + } + } while(0); + do { + if ((label|0) == 184) { + $624 = (0 - ($$2253$ph$i))|0; + $625 = ($$2247$ph$i|0)!=((-1)|0); + $626 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $626 & $625; + $627 = ($562>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $627 & $or$cond7$i; + if (!($or$cond10$i)) { + $637 = ($$2247$ph$i|0)==((-1)|0); + if ($637) { + $$2234253237$i = 0; + label = 190; + break; + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; + break; + } + } + $628 = HEAP32[(35452)>>2]|0; + $629 = (($564) - ($$2253$ph$i))|0; + $630 = (($629) + ($628))|0; + $631 = (0 - ($628))|0; + $632 = $630 & $631; + $633 = ($632>>>0)<(2147483647); + if ($633) { + $634 = (_sbrk(($632|0))|0); + $635 = ($634|0)==((-1)|0); + if ($635) { + (_sbrk(($624|0))|0); + $$2234253237$i = 0; + label = 190; + break; + } else { + $636 = (($632) + ($$2253$ph$i))|0; + $$3229$i = $$2247$ph$i;$$3235$i = $636; + break; + } + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; + } + } + } while(0); + if ((label|0) == 190) { + $638 = HEAP32[(35940)>>2]|0; + $639 = $638 | 4; + HEAP32[(35940)>>2] = $639; + $$3229$i = (-1);$$3235$i = $$2234253237$i; + } + (___pthread_mutex_unlock(35468)|0); + $$4230$i = $$3229$i;$$4236$i = $$3235$i; + } else { + $$4230$i = (-1);$$4236$i = 0; + } + $640 = ($$4230$i|0)==((-1)|0); + $641 = ($567>>>0)<(2147483647); + $or$cond9$i = $641 & $640; + if ($or$cond9$i) { + (___pthread_mutex_lock(35468)|0); + $642 = (_sbrk(($567|0))|0); + $643 = (_sbrk(0)|0); + (___pthread_mutex_unlock(35468)|0); + $644 = ($642|0)!=((-1)|0); + $645 = ($643|0)!=((-1)|0); + $or$cond5$i = $644 & $645; + $646 = ($642>>>0)<($643>>>0); + $or$cond11$i = $646 & $or$cond5$i; + $647 = $643; + $648 = $642; + $649 = (($647) - ($648))|0; + $650 = (($$0198) + 40)|0; + $651 = ($649>>>0)>($650>>>0); + $$$4236$i = $651 ? $649 : $$4236$i; + $$$4230$i = $651 ? $642 : (-1); + if ($or$cond11$i) { + $$7$i = $$$4230$i;$$7239$i = $$$4236$i; + label = 194; + } + } else { + $$7$i = $$4230$i;$$7239$i = $$4236$i; + label = 194; + } + if ((label|0) == 194) { + $652 = ($$7$i|0)==((-1)|0); + if (!($652)) { + $653 = HEAP32[(35928)>>2]|0; + $654 = (($653) + ($$7239$i))|0; + HEAP32[(35928)>>2] = $654; + $655 = HEAP32[(35932)>>2]|0; + $656 = ($654>>>0)>($655>>>0); + if ($656) { + HEAP32[(35932)>>2] = $654; + } + $657 = HEAP32[(35520)>>2]|0; + $658 = ($657|0)==(0|0); + do { + if ($658) { + $659 = HEAP32[(35512)>>2]|0; + $660 = ($659|0)==(0|0); + $661 = ($$7$i>>>0)<($659>>>0); + $or$cond12$i = $660 | $661; + if ($or$cond12$i) { + HEAP32[(35512)>>2] = $$7$i; + } + HEAP32[(35972)>>2] = $$7$i; + HEAP32[(35976)>>2] = $$7239$i; + HEAP32[(35984)>>2] = 0; + $662 = HEAP32[8861]|0; + HEAP32[(35532)>>2] = $662; + HEAP32[(35528)>>2] = -1; + $$01$i$i = 0; + while(1) { + $663 = $$01$i$i << 1; + $664 = (35536 + ($663<<2)|0); + $665 = ((($664)) + 12|0); + HEAP32[$665>>2] = $664; + $666 = ((($664)) + 8|0); + HEAP32[$666>>2] = $664; + $667 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($667|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $667; + } + } + $668 = (($$7239$i) + -40)|0; + $669 = ((($$7$i)) + 8|0); + $670 = $669; + $671 = $670 & 7; + $672 = ($671|0)==(0); + $673 = (0 - ($670))|0; + $674 = $673 & 7; + $675 = $672 ? 0 : $674; + $676 = (($$7$i) + ($675)|0); + $677 = (($668) - ($675))|0; + HEAP32[(35520)>>2] = $676; + HEAP32[(35508)>>2] = $677; + $678 = $677 | 1; + $679 = ((($676)) + 4|0); + HEAP32[$679>>2] = $678; + $680 = (($676) + ($677)|0); + $681 = ((($680)) + 4|0); + HEAP32[$681>>2] = 40; + $682 = HEAP32[(35460)>>2]|0; + HEAP32[(35524)>>2] = $682; + } else { + $$024363$i = (35972); + while(1) { + $683 = HEAP32[$$024363$i>>2]|0; + $684 = ((($$024363$i)) + 4|0); + $685 = HEAP32[$684>>2]|0; + $686 = (($683) + ($685)|0); + $687 = ($$7$i|0)==($686|0); + if ($687) { + label = 205; + break; + } + $688 = ((($$024363$i)) + 8|0); + $689 = HEAP32[$688>>2]|0; + $690 = ($689|0)==(0|0); + if ($690) { + break; + } else { + $$024363$i = $689; + } + } + if ((label|0) == 205) { + $691 = ((($$024363$i)) + 12|0); + $692 = HEAP32[$691>>2]|0; + $693 = $692 & 8; + $694 = ($693|0)==(0); + if ($694) { + $695 = ($657>>>0)>=($683>>>0); + $696 = ($657>>>0)<($$7$i>>>0); + $or$cond43$i = $696 & $695; + if ($or$cond43$i) { + $697 = (($685) + ($$7239$i))|0; + HEAP32[$684>>2] = $697; + $698 = HEAP32[(35508)>>2]|0; + $699 = ((($657)) + 8|0); + $700 = $699; + $701 = $700 & 7; + $702 = ($701|0)==(0); + $703 = (0 - ($700))|0; + $704 = $703 & 7; + $705 = $702 ? 0 : $704; + $706 = (($657) + ($705)|0); + $707 = (($$7239$i) - ($705))|0; + $708 = (($698) + ($707))|0; + HEAP32[(35520)>>2] = $706; + HEAP32[(35508)>>2] = $708; + $709 = $708 | 1; + $710 = ((($706)) + 4|0); + HEAP32[$710>>2] = $709; + $711 = (($706) + ($708)|0); + $712 = ((($711)) + 4|0); + HEAP32[$712>>2] = 40; + $713 = HEAP32[(35460)>>2]|0; + HEAP32[(35524)>>2] = $713; + break; + } + } + } + $714 = HEAP32[(35512)>>2]|0; + $715 = ($$7$i>>>0)<($714>>>0); + if ($715) { + HEAP32[(35512)>>2] = $$7$i; + $779 = $$7$i; + } else { + $779 = $714; + } + $716 = (($$7$i) + ($$7239$i)|0); + $$124462$i = (35972); + while(1) { + $717 = HEAP32[$$124462$i>>2]|0; + $718 = ($717|0)==($716|0); + if ($718) { + label = 213; + break; + } + $719 = ((($$124462$i)) + 8|0); + $720 = HEAP32[$719>>2]|0; + $721 = ($720|0)==(0|0); + if ($721) { + break; + } else { + $$124462$i = $720; + } + } + if ((label|0) == 213) { + $722 = ((($$124462$i)) + 12|0); + $723 = HEAP32[$722>>2]|0; + $724 = $723 & 8; + $725 = ($724|0)==(0); + if ($725) { + HEAP32[$$124462$i>>2] = $$7$i; + $726 = ((($$124462$i)) + 4|0); + $727 = HEAP32[$726>>2]|0; + $728 = (($727) + ($$7239$i))|0; + HEAP32[$726>>2] = $728; + $729 = ((($$7$i)) + 8|0); + $730 = $729; + $731 = $730 & 7; + $732 = ($731|0)==(0); + $733 = (0 - ($730))|0; + $734 = $733 & 7; + $735 = $732 ? 0 : $734; + $736 = (($$7$i) + ($735)|0); + $737 = ((($716)) + 8|0); + $738 = $737; + $739 = $738 & 7; + $740 = ($739|0)==(0); + $741 = (0 - ($738))|0; + $742 = $741 & 7; + $743 = $740 ? 0 : $742; + $744 = (($716) + ($743)|0); + $745 = $744; + $746 = $736; + $747 = (($745) - ($746))|0; + $748 = (($736) + ($$0198)|0); + $749 = (($747) - ($$0198))|0; + $750 = $$0198 | 3; + $751 = ((($736)) + 4|0); + HEAP32[$751>>2] = $750; + $752 = ($744|0)==($657|0); + do { + if ($752) { + $753 = HEAP32[(35508)>>2]|0; + $754 = (($753) + ($749))|0; + HEAP32[(35508)>>2] = $754; + HEAP32[(35520)>>2] = $748; + $755 = $754 | 1; + $756 = ((($748)) + 4|0); + HEAP32[$756>>2] = $755; + } else { + $757 = HEAP32[(35516)>>2]|0; + $758 = ($744|0)==($757|0); + if ($758) { + $759 = HEAP32[(35504)>>2]|0; + $760 = (($759) + ($749))|0; + HEAP32[(35504)>>2] = $760; + HEAP32[(35516)>>2] = $748; + $761 = $760 | 1; + $762 = ((($748)) + 4|0); + HEAP32[$762>>2] = $761; + $763 = (($748) + ($760)|0); + HEAP32[$763>>2] = $760; + break; + } + $764 = ((($744)) + 4|0); + $765 = HEAP32[$764>>2]|0; + $766 = $765 & 3; + $767 = ($766|0)==(1); + if ($767) { + $768 = $765 & -8; + $769 = $765 >>> 3; + $770 = ($765>>>0)<(256); + L329: do { + if ($770) { + $771 = ((($744)) + 8|0); + $772 = HEAP32[$771>>2]|0; + $773 = ((($744)) + 12|0); + $774 = HEAP32[$773>>2]|0; + $775 = $769 << 1; + $776 = (35536 + ($775<<2)|0); + $777 = ($772|0)==($776|0); + do { + if (!($777)) { + $778 = ($772>>>0)<($779>>>0); + if ($778) { + _abort(); + // unreachable; + } + $780 = ((($772)) + 12|0); + $781 = HEAP32[$780>>2]|0; + $782 = ($781|0)==($744|0); + if ($782) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $783 = ($774|0)==($772|0); + if ($783) { + $784 = 1 << $769; + $785 = $784 ^ -1; + $786 = HEAP32[8874]|0; + $787 = $786 & $785; + HEAP32[8874] = $787; + break; + } + $788 = ($774|0)==($776|0); + do { + if ($788) { + $$pre10$i$i = ((($774)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $789 = ($774>>>0)<($779>>>0); + if ($789) { + _abort(); + // unreachable; + } + $790 = ((($774)) + 8|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==($744|0); + if ($792) { + $$pre$phi11$i$iZ2D = $790; + break; + } + _abort(); + // unreachable; + } + } while(0); + $793 = ((($772)) + 12|0); + HEAP32[$793>>2] = $774; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $772; + } else { + $794 = ((($744)) + 24|0); + $795 = HEAP32[$794>>2]|0; + $796 = ((($744)) + 12|0); + $797 = HEAP32[$796>>2]|0; + $798 = ($797|0)==($744|0); + do { + if ($798) { + $808 = ((($744)) + 16|0); + $809 = ((($808)) + 4|0); + $810 = HEAP32[$809>>2]|0; + $811 = ($810|0)==(0|0); + if ($811) { + $812 = HEAP32[$808>>2]|0; + $813 = ($812|0)==(0|0); + if ($813) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $812;$$1293$i$i = $808; + } + } else { + $$1291$i$i = $810;$$1293$i$i = $809; + } + while(1) { + $814 = ((($$1291$i$i)) + 20|0); + $815 = HEAP32[$814>>2]|0; + $816 = ($815|0)==(0|0); + if (!($816)) { + $$1291$i$i = $815;$$1293$i$i = $814; + continue; + } + $817 = ((($$1291$i$i)) + 16|0); + $818 = HEAP32[$817>>2]|0; + $819 = ($818|0)==(0|0); + if ($819) { + break; + } else { + $$1291$i$i = $818;$$1293$i$i = $817; + } + } + $820 = ($$1293$i$i>>>0)<($779>>>0); + if ($820) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $799 = ((($744)) + 8|0); + $800 = HEAP32[$799>>2]|0; + $801 = ($800>>>0)<($779>>>0); + if ($801) { + _abort(); + // unreachable; + } + $802 = ((($800)) + 12|0); + $803 = HEAP32[$802>>2]|0; + $804 = ($803|0)==($744|0); + if (!($804)) { + _abort(); + // unreachable; + } + $805 = ((($797)) + 8|0); + $806 = HEAP32[$805>>2]|0; + $807 = ($806|0)==($744|0); + if ($807) { + HEAP32[$802>>2] = $797; + HEAP32[$805>>2] = $800; + $$3$i$i = $797; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $821 = ($795|0)==(0|0); + if ($821) { + break; + } + $822 = ((($744)) + 28|0); + $823 = HEAP32[$822>>2]|0; + $824 = (35800 + ($823<<2)|0); + $825 = HEAP32[$824>>2]|0; + $826 = ($744|0)==($825|0); + do { + if ($826) { + HEAP32[$824>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $827 = 1 << $823; + $828 = $827 ^ -1; + $829 = HEAP32[(35500)>>2]|0; + $830 = $829 & $828; + HEAP32[(35500)>>2] = $830; + break L329; + } else { + $831 = HEAP32[(35512)>>2]|0; + $832 = ($795>>>0)<($831>>>0); + if ($832) { + _abort(); + // unreachable; + } else { + $833 = ((($795)) + 16|0); + $834 = HEAP32[$833>>2]|0; + $not$$i$i = ($834|0)!=($744|0); + $$sink1$i$i = $not$$i$i&1; + $835 = (((($795)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$835>>2] = $$3$i$i; + $836 = ($$3$i$i|0)==(0|0); + if ($836) { + break L329; + } else { + break; + } + } + } + } while(0); + $837 = HEAP32[(35512)>>2]|0; + $838 = ($$3$i$i>>>0)<($837>>>0); + if ($838) { + _abort(); + // unreachable; + } + $839 = ((($$3$i$i)) + 24|0); + HEAP32[$839>>2] = $795; + $840 = ((($744)) + 16|0); + $841 = HEAP32[$840>>2]|0; + $842 = ($841|0)==(0|0); + do { + if (!($842)) { + $843 = ($841>>>0)<($837>>>0); + if ($843) { + _abort(); + // unreachable; + } else { + $844 = ((($$3$i$i)) + 16|0); + HEAP32[$844>>2] = $841; + $845 = ((($841)) + 24|0); + HEAP32[$845>>2] = $$3$i$i; + break; + } + } + } while(0); + $846 = ((($840)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = ($847|0)==(0|0); + if ($848) { + break; + } + $849 = HEAP32[(35512)>>2]|0; + $850 = ($847>>>0)<($849>>>0); + if ($850) { + _abort(); + // unreachable; + } else { + $851 = ((($$3$i$i)) + 20|0); + HEAP32[$851>>2] = $847; + $852 = ((($847)) + 24|0); + HEAP32[$852>>2] = $$3$i$i; + break; + } + } + } while(0); + $853 = (($744) + ($768)|0); + $854 = (($768) + ($749))|0; + $$0$i17$i = $853;$$0287$i$i = $854; + } else { + $$0$i17$i = $744;$$0287$i$i = $749; + } + $855 = ((($$0$i17$i)) + 4|0); + $856 = HEAP32[$855>>2]|0; + $857 = $856 & -2; + HEAP32[$855>>2] = $857; + $858 = $$0287$i$i | 1; + $859 = ((($748)) + 4|0); + HEAP32[$859>>2] = $858; + $860 = (($748) + ($$0287$i$i)|0); + HEAP32[$860>>2] = $$0287$i$i; + $861 = $$0287$i$i >>> 3; + $862 = ($$0287$i$i>>>0)<(256); + if ($862) { + $863 = $861 << 1; + $864 = (35536 + ($863<<2)|0); + $865 = HEAP32[8874]|0; + $866 = 1 << $861; + $867 = $865 & $866; + $868 = ($867|0)==(0); + do { + if ($868) { + $869 = $865 | $866; + HEAP32[8874] = $869; + $$pre$i$i = ((($864)) + 8|0); + $$0295$i$i = $864;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $870 = ((($864)) + 8|0); + $871 = HEAP32[$870>>2]|0; + $872 = HEAP32[(35512)>>2]|0; + $873 = ($871>>>0)<($872>>>0); + if (!($873)) { + $$0295$i$i = $871;$$pre$phi$i$iZ2D = $870; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i$iZ2D>>2] = $748; + $874 = ((($$0295$i$i)) + 12|0); + HEAP32[$874>>2] = $748; + $875 = ((($748)) + 8|0); + HEAP32[$875>>2] = $$0295$i$i; + $876 = ((($748)) + 12|0); + HEAP32[$876>>2] = $864; + break; + } + $877 = $$0287$i$i >>> 8; + $878 = ($877|0)==(0); + do { + if ($878) { + $$0296$i$i = 0; + } else { + $879 = ($$0287$i$i>>>0)>(16777215); + if ($879) { + $$0296$i$i = 31; + break; + } + $880 = (($877) + 1048320)|0; + $881 = $880 >>> 16; + $882 = $881 & 8; + $883 = $877 << $882; + $884 = (($883) + 520192)|0; + $885 = $884 >>> 16; + $886 = $885 & 4; + $887 = $886 | $882; + $888 = $883 << $886; + $889 = (($888) + 245760)|0; + $890 = $889 >>> 16; + $891 = $890 & 2; + $892 = $887 | $891; + $893 = (14 - ($892))|0; + $894 = $888 << $891; + $895 = $894 >>> 15; + $896 = (($893) + ($895))|0; + $897 = $896 << 1; + $898 = (($896) + 7)|0; + $899 = $$0287$i$i >>> $898; + $900 = $899 & 1; + $901 = $900 | $897; + $$0296$i$i = $901; + } + } while(0); + $902 = (35800 + ($$0296$i$i<<2)|0); + $903 = ((($748)) + 28|0); + HEAP32[$903>>2] = $$0296$i$i; + $904 = ((($748)) + 16|0); + $905 = ((($904)) + 4|0); + HEAP32[$905>>2] = 0; + HEAP32[$904>>2] = 0; + $906 = HEAP32[(35500)>>2]|0; + $907 = 1 << $$0296$i$i; + $908 = $906 & $907; + $909 = ($908|0)==(0); + if ($909) { + $910 = $906 | $907; + HEAP32[(35500)>>2] = $910; + HEAP32[$902>>2] = $748; + $911 = ((($748)) + 24|0); + HEAP32[$911>>2] = $902; + $912 = ((($748)) + 12|0); + HEAP32[$912>>2] = $748; + $913 = ((($748)) + 8|0); + HEAP32[$913>>2] = $748; + break; + } + $914 = HEAP32[$902>>2]|0; + $915 = ($$0296$i$i|0)==(31); + $916 = $$0296$i$i >>> 1; + $917 = (25 - ($916))|0; + $918 = $915 ? 0 : $917; + $919 = $$0287$i$i << $918; + $$0288$i$i = $919;$$0289$i$i = $914; + while(1) { + $920 = ((($$0289$i$i)) + 4|0); + $921 = HEAP32[$920>>2]|0; + $922 = $921 & -8; + $923 = ($922|0)==($$0287$i$i|0); + if ($923) { + label = 280; + break; + } + $924 = $$0288$i$i >>> 31; + $925 = (((($$0289$i$i)) + 16|0) + ($924<<2)|0); + $926 = $$0288$i$i << 1; + $927 = HEAP32[$925>>2]|0; + $928 = ($927|0)==(0|0); + if ($928) { + label = 277; + break; + } else { + $$0288$i$i = $926;$$0289$i$i = $927; + } + } + if ((label|0) == 277) { + $929 = HEAP32[(35512)>>2]|0; + $930 = ($925>>>0)<($929>>>0); + if ($930) { + _abort(); + // unreachable; + } else { + HEAP32[$925>>2] = $748; + $931 = ((($748)) + 24|0); + HEAP32[$931>>2] = $$0289$i$i; + $932 = ((($748)) + 12|0); + HEAP32[$932>>2] = $748; + $933 = ((($748)) + 8|0); + HEAP32[$933>>2] = $748; + break; + } + } + else if ((label|0) == 280) { + $934 = ((($$0289$i$i)) + 8|0); + $935 = HEAP32[$934>>2]|0; + $936 = HEAP32[(35512)>>2]|0; + $937 = ($935>>>0)>=($936>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($936>>>0); + $938 = $937 & $not$7$i$i; + if ($938) { + $939 = ((($935)) + 12|0); + HEAP32[$939>>2] = $748; + HEAP32[$934>>2] = $748; + $940 = ((($748)) + 8|0); + HEAP32[$940>>2] = $935; + $941 = ((($748)) + 12|0); + HEAP32[$941>>2] = $$0289$i$i; + $942 = ((($748)) + 24|0); + HEAP32[$942>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1074 = ((($736)) + 8|0); + $$2 = $1074; + break L230; + } + } + $$0$i$i$i = (35972); + while(1) { + $943 = HEAP32[$$0$i$i$i>>2]|0; + $944 = ($943>>>0)>($657>>>0); + if (!($944)) { + $945 = ((($$0$i$i$i)) + 4|0); + $946 = HEAP32[$945>>2]|0; + $947 = (($943) + ($946)|0); + $948 = ($947>>>0)>($657>>>0); + if ($948) { + break; + } + } + $949 = ((($$0$i$i$i)) + 8|0); + $950 = HEAP32[$949>>2]|0; + $$0$i$i$i = $950; + } + $951 = ((($947)) + -47|0); + $952 = ((($951)) + 8|0); + $953 = $952; + $954 = $953 & 7; + $955 = ($954|0)==(0); + $956 = (0 - ($953))|0; + $957 = $956 & 7; + $958 = $955 ? 0 : $957; + $959 = (($951) + ($958)|0); + $960 = ((($657)) + 16|0); + $961 = ($959>>>0)<($960>>>0); + $962 = $961 ? $657 : $959; + $963 = ((($962)) + 8|0); + $964 = ((($962)) + 24|0); + $965 = (($$7239$i) + -40)|0; + $966 = ((($$7$i)) + 8|0); + $967 = $966; + $968 = $967 & 7; + $969 = ($968|0)==(0); + $970 = (0 - ($967))|0; + $971 = $970 & 7; + $972 = $969 ? 0 : $971; + $973 = (($$7$i) + ($972)|0); + $974 = (($965) - ($972))|0; + HEAP32[(35520)>>2] = $973; + HEAP32[(35508)>>2] = $974; + $975 = $974 | 1; + $976 = ((($973)) + 4|0); + HEAP32[$976>>2] = $975; + $977 = (($973) + ($974)|0); + $978 = ((($977)) + 4|0); + HEAP32[$978>>2] = 40; + $979 = HEAP32[(35460)>>2]|0; + HEAP32[(35524)>>2] = $979; + $980 = ((($962)) + 4|0); + HEAP32[$980>>2] = 27; + ;HEAP32[$963>>2]=HEAP32[(35972)>>2]|0;HEAP32[$963+4>>2]=HEAP32[(35972)+4>>2]|0;HEAP32[$963+8>>2]=HEAP32[(35972)+8>>2]|0;HEAP32[$963+12>>2]=HEAP32[(35972)+12>>2]|0; + HEAP32[(35972)>>2] = $$7$i; + HEAP32[(35976)>>2] = $$7239$i; + HEAP32[(35984)>>2] = 0; + HEAP32[(35980)>>2] = $963; + $982 = $964; + while(1) { + $981 = ((($982)) + 4|0); + HEAP32[$981>>2] = 7; + $983 = ((($982)) + 8|0); + $984 = ($983>>>0)<($947>>>0); + if ($984) { + $982 = $981; + } else { + break; + } + } + $985 = ($962|0)==($657|0); + if (!($985)) { + $986 = $962; + $987 = $657; + $988 = (($986) - ($987))|0; + $989 = HEAP32[$980>>2]|0; + $990 = $989 & -2; + HEAP32[$980>>2] = $990; + $991 = $988 | 1; + $992 = ((($657)) + 4|0); + HEAP32[$992>>2] = $991; + HEAP32[$962>>2] = $988; + $993 = $988 >>> 3; + $994 = ($988>>>0)<(256); + if ($994) { + $995 = $993 << 1; + $996 = (35536 + ($995<<2)|0); + $997 = HEAP32[8874]|0; + $998 = 1 << $993; + $999 = $997 & $998; + $1000 = ($999|0)==(0); + do { + if ($1000) { + $1001 = $997 | $998; + HEAP32[8874] = $1001; + $$pre$i18$i = ((($996)) + 8|0); + $$0211$i$i = $996;$$pre$phi$i19$iZ2D = $$pre$i18$i; + } else { + $1002 = ((($996)) + 8|0); + $1003 = HEAP32[$1002>>2]|0; + $1004 = HEAP32[(35512)>>2]|0; + $1005 = ($1003>>>0)<($1004>>>0); + if (!($1005)) { + $$0211$i$i = $1003;$$pre$phi$i19$iZ2D = $1002; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i19$iZ2D>>2] = $657; + $1006 = ((($$0211$i$i)) + 12|0); + HEAP32[$1006>>2] = $657; + $1007 = ((($657)) + 8|0); + HEAP32[$1007>>2] = $$0211$i$i; + $1008 = ((($657)) + 12|0); + HEAP32[$1008>>2] = $996; + break; + } + $1009 = $988 >>> 8; + $1010 = ($1009|0)==(0); + do { + if ($1010) { + $$0212$i$i = 0; + } else { + $1011 = ($988>>>0)>(16777215); + if ($1011) { + $$0212$i$i = 31; + break; + } + $1012 = (($1009) + 1048320)|0; + $1013 = $1012 >>> 16; + $1014 = $1013 & 8; + $1015 = $1009 << $1014; + $1016 = (($1015) + 520192)|0; + $1017 = $1016 >>> 16; + $1018 = $1017 & 4; + $1019 = $1018 | $1014; + $1020 = $1015 << $1018; + $1021 = (($1020) + 245760)|0; + $1022 = $1021 >>> 16; + $1023 = $1022 & 2; + $1024 = $1019 | $1023; + $1025 = (14 - ($1024))|0; + $1026 = $1020 << $1023; + $1027 = $1026 >>> 15; + $1028 = (($1025) + ($1027))|0; + $1029 = $1028 << 1; + $1030 = (($1028) + 7)|0; + $1031 = $988 >>> $1030; + $1032 = $1031 & 1; + $1033 = $1032 | $1029; + $$0212$i$i = $1033; + } + } while(0); + $1034 = (35800 + ($$0212$i$i<<2)|0); + $1035 = ((($657)) + 28|0); + HEAP32[$1035>>2] = $$0212$i$i; + $1036 = ((($657)) + 20|0); + HEAP32[$1036>>2] = 0; + HEAP32[$960>>2] = 0; + $1037 = HEAP32[(35500)>>2]|0; + $1038 = 1 << $$0212$i$i; + $1039 = $1037 & $1038; + $1040 = ($1039|0)==(0); + if ($1040) { + $1041 = $1037 | $1038; + HEAP32[(35500)>>2] = $1041; + HEAP32[$1034>>2] = $657; + $1042 = ((($657)) + 24|0); + HEAP32[$1042>>2] = $1034; + $1043 = ((($657)) + 12|0); + HEAP32[$1043>>2] = $657; + $1044 = ((($657)) + 8|0); + HEAP32[$1044>>2] = $657; + break; + } + $1045 = HEAP32[$1034>>2]|0; + $1046 = ($$0212$i$i|0)==(31); + $1047 = $$0212$i$i >>> 1; + $1048 = (25 - ($1047))|0; + $1049 = $1046 ? 0 : $1048; + $1050 = $988 << $1049; + $$0206$i$i = $1050;$$0207$i$i = $1045; + while(1) { + $1051 = ((($$0207$i$i)) + 4|0); + $1052 = HEAP32[$1051>>2]|0; + $1053 = $1052 & -8; + $1054 = ($1053|0)==($988|0); + if ($1054) { + label = 307; + break; + } + $1055 = $$0206$i$i >>> 31; + $1056 = (((($$0207$i$i)) + 16|0) + ($1055<<2)|0); + $1057 = $$0206$i$i << 1; + $1058 = HEAP32[$1056>>2]|0; + $1059 = ($1058|0)==(0|0); + if ($1059) { + label = 304; + break; + } else { + $$0206$i$i = $1057;$$0207$i$i = $1058; + } + } + if ((label|0) == 304) { + $1060 = HEAP32[(35512)>>2]|0; + $1061 = ($1056>>>0)<($1060>>>0); + if ($1061) { + _abort(); + // unreachable; + } else { + HEAP32[$1056>>2] = $657; + $1062 = ((($657)) + 24|0); + HEAP32[$1062>>2] = $$0207$i$i; + $1063 = ((($657)) + 12|0); + HEAP32[$1063>>2] = $657; + $1064 = ((($657)) + 8|0); + HEAP32[$1064>>2] = $657; + break; + } + } + else if ((label|0) == 307) { + $1065 = ((($$0207$i$i)) + 8|0); + $1066 = HEAP32[$1065>>2]|0; + $1067 = HEAP32[(35512)>>2]|0; + $1068 = ($1066>>>0)>=($1067>>>0); + $not$$i21$i = ($$0207$i$i>>>0)>=($1067>>>0); + $1069 = $1068 & $not$$i21$i; + if ($1069) { + $1070 = ((($1066)) + 12|0); + HEAP32[$1070>>2] = $657; + HEAP32[$1065>>2] = $657; + $1071 = ((($657)) + 8|0); + HEAP32[$1071>>2] = $1066; + $1072 = ((($657)) + 12|0); + HEAP32[$1072>>2] = $$0207$i$i; + $1073 = ((($657)) + 24|0); + HEAP32[$1073>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1075 = HEAP32[(35508)>>2]|0; + $1076 = ($1075>>>0)>($$0198>>>0); + if ($1076) { + $1077 = (($1075) - ($$0198))|0; + HEAP32[(35508)>>2] = $1077; + $1078 = HEAP32[(35520)>>2]|0; + $1079 = (($1078) + ($$0198)|0); + HEAP32[(35520)>>2] = $1079; + $1080 = $1077 | 1; + $1081 = ((($1079)) + 4|0); + HEAP32[$1081>>2] = $1080; + $1082 = $$0198 | 3; + $1083 = ((($1078)) + 4|0); + HEAP32[$1083>>2] = $1082; + $1084 = ((($1078)) + 8|0); + $$2 = $1084; + break; + } + } + } + $1085 = (___errno_location()|0); + HEAP32[$1085>>2] = 12; + $$2 = 0; + } else { + $$2 = 0; + } + } + } while(0); + $1086 = HEAP32[(35940)>>2]|0; + $1087 = $1086 & 2; + $1088 = ($1087|0)==(0); + if ($1088) { + $$1 = $$2; + STACKTOP = sp;return ($$1|0); + } + (___pthread_mutex_unlock((35944))|0); + $$1 = $$2; + STACKTOP = sp;return ($$1|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $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; + var $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, $310 = 0, $311 = 0; + var $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, $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, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(35940)>>2]|0; + $4 = $3 & 2; + $5 = ($4|0)==(0); + if (!($5)) { + $6 = (___pthread_mutex_lock((35944))|0); + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + $8 = HEAP32[(35512)>>2]|0; + $9 = ($2>>>0)<($8>>>0); + if ($9) { + _abort(); + // unreachable; + } + $10 = ((($0)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(1); + if ($13) { + _abort(); + // unreachable; + } + $14 = $11 & -8; + $15 = (($2) + ($14)|0); + $16 = $11 & 1; + $17 = ($16|0)==(0); + L14: do { + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = ($12|0)==(0); + if (!($19)) { + $20 = (0 - ($18))|0; + $21 = (($2) + ($20)|0); + $22 = (($18) + ($14))|0; + $23 = ($21>>>0)<($8>>>0); + if ($23) { + _abort(); + // unreachable; + } + $24 = HEAP32[(35516)>>2]|0; + $25 = ($21|0)==($24|0); + if ($25) { + $109 = ((($15)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = $110 & 3; + $112 = ($111|0)==(3); + if (!($112)) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $113 = (($21) + ($22)|0); + $114 = ((($21)) + 4|0); + $115 = $22 | 1; + $116 = $110 & -2; + HEAP32[(35504)>>2] = $22; + HEAP32[$109>>2] = $116; + HEAP32[$114>>2] = $115; + HEAP32[$113>>2] = $22; + break; + } + $26 = $18 >>> 3; + $27 = ($18>>>0)<(256); + if ($27) { + $28 = ((($21)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($21)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = $26 << 1; + $33 = (35536 + ($32<<2)|0); + $34 = ($29|0)==($33|0); + if (!($34)) { + $35 = ($29>>>0)<($8>>>0); + if ($35) { + _abort(); + // unreachable; + } + $36 = ((($29)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==($21|0); + if (!($38)) { + _abort(); + // unreachable; + } + } + $39 = ($31|0)==($29|0); + if ($39) { + $40 = 1 << $26; + $41 = $40 ^ -1; + $42 = HEAP32[8874]|0; + $43 = $42 & $41; + HEAP32[8874] = $43; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $44 = ($31|0)==($33|0); + if ($44) { + $$pre444 = ((($31)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $45 = ($31>>>0)<($8>>>0); + if ($45) { + _abort(); + // unreachable; + } + $46 = ((($31)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==($21|0); + if ($48) { + $$pre$phi445Z2D = $46; + } else { + _abort(); + // unreachable; + } + } + $49 = ((($29)) + 12|0); + HEAP32[$49>>2] = $31; + HEAP32[$$pre$phi445Z2D>>2] = $29; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $50 = ((($21)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = ((($21)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($21|0); + do { + if ($54) { + $64 = ((($21)) + 16|0); + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if ($67) { + $68 = HEAP32[$64>>2]|0; + $69 = ($68|0)==(0|0); + if ($69) { + $$3 = 0; + break; + } else { + $$1387 = $68;$$1390 = $64; + } + } else { + $$1387 = $66;$$1390 = $65; + } + while(1) { + $70 = ((($$1387)) + 20|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(0|0); + if (!($72)) { + $$1387 = $71;$$1390 = $70; + continue; + } + $73 = ((($$1387)) + 16|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)==(0|0); + if ($75) { + break; + } else { + $$1387 = $74;$$1390 = $73; + } + } + $76 = ($$1390>>>0)<($8>>>0); + if ($76) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $55 = ((($21)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56>>>0)<($8>>>0); + if ($57) { + _abort(); + // unreachable; + } + $58 = ((($56)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)==($21|0); + if (!($60)) { + _abort(); + // unreachable; + } + $61 = ((($53)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==($21|0); + if ($63) { + HEAP32[$58>>2] = $53; + HEAP32[$61>>2] = $56; + $$3 = $53; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $77 = ($51|0)==(0|0); + if ($77) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $78 = ((($21)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = (35800 + ($79<<2)|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($21|0)==($81|0); + do { + if ($82) { + HEAP32[$80>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $83 = 1 << $79; + $84 = $83 ^ -1; + $85 = HEAP32[(35500)>>2]|0; + $86 = $85 & $84; + HEAP32[(35500)>>2] = $86; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; + } + } else { + $87 = HEAP32[(35512)>>2]|0; + $88 = ($51>>>0)<($87>>>0); + if ($88) { + _abort(); + // unreachable; + } else { + $89 = ((($51)) + 16|0); + $90 = HEAP32[$89>>2]|0; + $not$405 = ($90|0)!=($21|0); + $$sink3 = $not$405&1; + $91 = (((($51)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$91>>2] = $$3; + $92 = ($$3|0)==(0|0); + if ($92) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; + } else { + break; + } + } + } + } while(0); + $93 = HEAP32[(35512)>>2]|0; + $94 = ($$3>>>0)<($93>>>0); + if ($94) { + _abort(); + // unreachable; + } + $95 = ((($$3)) + 24|0); + HEAP32[$95>>2] = $51; + $96 = ((($21)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==(0|0); + do { + if (!($98)) { + $99 = ($97>>>0)<($93>>>0); + if ($99) { + _abort(); + // unreachable; + } else { + $100 = ((($$3)) + 16|0); + HEAP32[$100>>2] = $97; + $101 = ((($97)) + 24|0); + HEAP32[$101>>2] = $$3; + break; + } + } + } while(0); + $102 = ((($96)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $105 = HEAP32[(35512)>>2]|0; + $106 = ($103>>>0)<($105>>>0); + if ($106) { + _abort(); + // unreachable; + } else { + $107 = ((($$3)) + 20|0); + HEAP32[$107>>2] = $103; + $108 = ((($103)) + 24|0); + HEAP32[$108>>2] = $$3; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + } + } + } + } else { + $$1 = $2;$$1382 = $14;$118 = $2; + label = 55; + } + } while(0); + do { + if ((label|0) == 55) { + $117 = ($118>>>0)<($15>>>0); + if (!($117)) { + _abort(); + // unreachable; + } + $119 = ((($15)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = $120 & 1; + $122 = ($121|0)==(0); + if ($122) { + _abort(); + // unreachable; + } + $123 = $120 & 2; + $124 = ($123|0)==(0); + if ($124) { + $125 = HEAP32[(35520)>>2]|0; + $126 = ($15|0)==($125|0); + $127 = HEAP32[(35516)>>2]|0; + if ($126) { + $128 = HEAP32[(35508)>>2]|0; + $129 = (($128) + ($$1382))|0; + HEAP32[(35508)>>2] = $129; + HEAP32[(35520)>>2] = $$1; + $130 = $129 | 1; + $131 = ((($$1)) + 4|0); + HEAP32[$131>>2] = $130; + $132 = ($$1|0)==($127|0); + if (!($132)) { + break; + } + HEAP32[(35516)>>2] = 0; + HEAP32[(35504)>>2] = 0; + break; + } + $133 = ($15|0)==($127|0); + if ($133) { + $134 = HEAP32[(35504)>>2]|0; + $135 = (($134) + ($$1382))|0; + HEAP32[(35504)>>2] = $135; + HEAP32[(35516)>>2] = $118; + $136 = $135 | 1; + $137 = ((($$1)) + 4|0); + HEAP32[$137>>2] = $136; + $138 = (($118) + ($135)|0); + HEAP32[$138>>2] = $135; + break; + } + $139 = $120 & -8; + $140 = (($139) + ($$1382))|0; + $141 = $120 >>> 3; + $142 = ($120>>>0)<(256); + L106: do { + if ($142) { + $143 = ((($15)) + 8|0); + $144 = HEAP32[$143>>2]|0; + $145 = ((($15)) + 12|0); + $146 = HEAP32[$145>>2]|0; + $147 = $141 << 1; + $148 = (35536 + ($147<<2)|0); + $149 = ($144|0)==($148|0); + if (!($149)) { + $150 = HEAP32[(35512)>>2]|0; + $151 = ($144>>>0)<($150>>>0); + if ($151) { + _abort(); + // unreachable; + } + $152 = ((($144)) + 12|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==($15|0); + if (!($154)) { + _abort(); + // unreachable; + } + } + $155 = ($146|0)==($144|0); + if ($155) { + $156 = 1 << $141; + $157 = $156 ^ -1; + $158 = HEAP32[8874]|0; + $159 = $158 & $157; + HEAP32[8874] = $159; + break; + } + $160 = ($146|0)==($148|0); + if ($160) { + $$pre442 = ((($146)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $161 = HEAP32[(35512)>>2]|0; + $162 = ($146>>>0)<($161>>>0); + if ($162) { + _abort(); + // unreachable; + } + $163 = ((($146)) + 8|0); + $164 = HEAP32[$163>>2]|0; + $165 = ($164|0)==($15|0); + if ($165) { + $$pre$phi443Z2D = $163; + } else { + _abort(); + // unreachable; + } + } + $166 = ((($144)) + 12|0); + HEAP32[$166>>2] = $146; + HEAP32[$$pre$phi443Z2D>>2] = $144; + } else { + $167 = ((($15)) + 24|0); + $168 = HEAP32[$167>>2]|0; + $169 = ((($15)) + 12|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==($15|0); + do { + if ($171) { + $182 = ((($15)) + 16|0); + $183 = ((($182)) + 4|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if ($185) { + $186 = HEAP32[$182>>2]|0; + $187 = ($186|0)==(0|0); + if ($187) { + $$3400 = 0; + break; + } else { + $$1398 = $186;$$1402 = $182; + } + } else { + $$1398 = $184;$$1402 = $183; + } + while(1) { + $188 = ((($$1398)) + 20|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($189|0)==(0|0); + if (!($190)) { + $$1398 = $189;$$1402 = $188; + continue; + } + $191 = ((($$1398)) + 16|0); + $192 = HEAP32[$191>>2]|0; + $193 = ($192|0)==(0|0); + if ($193) { + break; + } else { + $$1398 = $192;$$1402 = $191; + } + } + $194 = HEAP32[(35512)>>2]|0; + $195 = ($$1402>>>0)<($194>>>0); + if ($195) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $172 = ((($15)) + 8|0); + $173 = HEAP32[$172>>2]|0; + $174 = HEAP32[(35512)>>2]|0; + $175 = ($173>>>0)<($174>>>0); + if ($175) { + _abort(); + // unreachable; + } + $176 = ((($173)) + 12|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==($15|0); + if (!($178)) { + _abort(); + // unreachable; + } + $179 = ((($170)) + 8|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==($15|0); + if ($181) { + HEAP32[$176>>2] = $170; + HEAP32[$179>>2] = $173; + $$3400 = $170; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $196 = ($168|0)==(0|0); + if (!($196)) { + $197 = ((($15)) + 28|0); + $198 = HEAP32[$197>>2]|0; + $199 = (35800 + ($198<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($15|0)==($200|0); + do { + if ($201) { + HEAP32[$199>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $202 = 1 << $198; + $203 = $202 ^ -1; + $204 = HEAP32[(35500)>>2]|0; + $205 = $204 & $203; + HEAP32[(35500)>>2] = $205; + break L106; + } + } else { + $206 = HEAP32[(35512)>>2]|0; + $207 = ($168>>>0)<($206>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($168)) + 16|0); + $209 = HEAP32[$208>>2]|0; + $not$ = ($209|0)!=($15|0); + $$sink5 = $not$&1; + $210 = (((($168)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$210>>2] = $$3400; + $211 = ($$3400|0)==(0|0); + if ($211) { + break L106; + } else { + break; + } + } + } + } while(0); + $212 = HEAP32[(35512)>>2]|0; + $213 = ($$3400>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } + $214 = ((($$3400)) + 24|0); + HEAP32[$214>>2] = $168; + $215 = ((($15)) + 16|0); + $216 = HEAP32[$215>>2]|0; + $217 = ($216|0)==(0|0); + do { + if (!($217)) { + $218 = ($216>>>0)<($212>>>0); + if ($218) { + _abort(); + // unreachable; + } else { + $219 = ((($$3400)) + 16|0); + HEAP32[$219>>2] = $216; + $220 = ((($216)) + 24|0); + HEAP32[$220>>2] = $$3400; + break; + } + } + } while(0); + $221 = ((($215)) + 4|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + if (!($223)) { + $224 = HEAP32[(35512)>>2]|0; + $225 = ($222>>>0)<($224>>>0); + if ($225) { + _abort(); + // unreachable; + } else { + $226 = ((($$3400)) + 20|0); + HEAP32[$226>>2] = $222; + $227 = ((($222)) + 24|0); + HEAP32[$227>>2] = $$3400; + break; + } + } + } + } + } while(0); + $228 = $140 | 1; + $229 = ((($$1)) + 4|0); + HEAP32[$229>>2] = $228; + $230 = (($118) + ($140)|0); + HEAP32[$230>>2] = $140; + $231 = HEAP32[(35516)>>2]|0; + $232 = ($$1|0)==($231|0); + if ($232) { + HEAP32[(35504)>>2] = $140; + break; + } else { + $$2 = $140; + } + } else { + $233 = $120 & -2; + HEAP32[$119>>2] = $233; + $234 = $$1382 | 1; + $235 = ((($$1)) + 4|0); + HEAP32[$235>>2] = $234; + $236 = (($118) + ($$1382)|0); + HEAP32[$236>>2] = $$1382; + $$2 = $$1382; + } + $237 = $$2 >>> 3; + $238 = ($$2>>>0)<(256); + if ($238) { + $239 = $237 << 1; + $240 = (35536 + ($239<<2)|0); + $241 = HEAP32[8874]|0; + $242 = 1 << $237; + $243 = $241 & $242; + $244 = ($243|0)==(0); + if ($244) { + $245 = $241 | $242; + HEAP32[8874] = $245; + $$pre = ((($240)) + 8|0); + $$0403 = $240;$$pre$phiZ2D = $$pre; + } else { + $246 = ((($240)) + 8|0); + $247 = HEAP32[$246>>2]|0; + $248 = HEAP32[(35512)>>2]|0; + $249 = ($247>>>0)<($248>>>0); + if ($249) { + _abort(); + // unreachable; + } else { + $$0403 = $247;$$pre$phiZ2D = $246; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $250 = ((($$0403)) + 12|0); + HEAP32[$250>>2] = $$1; + $251 = ((($$1)) + 8|0); + HEAP32[$251>>2] = $$0403; + $252 = ((($$1)) + 12|0); + HEAP32[$252>>2] = $240; + break; + } + $253 = $$2 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0396 = 0; + } else { + $255 = ($$2>>>0)>(16777215); + if ($255) { + $$0396 = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $$2 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0396 = $277; + } + } + $278 = (35800 + ($$0396<<2)|0); + $279 = ((($$1)) + 28|0); + HEAP32[$279>>2] = $$0396; + $280 = ((($$1)) + 16|0); + $281 = ((($$1)) + 20|0); + HEAP32[$281>>2] = 0; + HEAP32[$280>>2] = 0; + $282 = HEAP32[(35500)>>2]|0; + $283 = 1 << $$0396; + $284 = $282 & $283; + $285 = ($284|0)==(0); + do { + if ($285) { + $286 = $282 | $283; + HEAP32[(35500)>>2] = $286; + HEAP32[$278>>2] = $$1; + $287 = ((($$1)) + 24|0); + HEAP32[$287>>2] = $278; + $288 = ((($$1)) + 12|0); + HEAP32[$288>>2] = $$1; + $289 = ((($$1)) + 8|0); + HEAP32[$289>>2] = $$1; + } else { + $290 = HEAP32[$278>>2]|0; + $291 = ($$0396|0)==(31); + $292 = $$0396 >>> 1; + $293 = (25 - ($292))|0; + $294 = $291 ? 0 : $293; + $295 = $$2 << $294; + $$0383 = $295;$$0384 = $290; + while(1) { + $296 = ((($$0384)) + 4|0); + $297 = HEAP32[$296>>2]|0; + $298 = $297 & -8; + $299 = ($298|0)==($$2|0); + if ($299) { + label = 126; + break; + } + $300 = $$0383 >>> 31; + $301 = (((($$0384)) + 16|0) + ($300<<2)|0); + $302 = $$0383 << 1; + $303 = HEAP32[$301>>2]|0; + $304 = ($303|0)==(0|0); + if ($304) { + label = 123; + break; + } else { + $$0383 = $302;$$0384 = $303; + } + } + if ((label|0) == 123) { + $305 = HEAP32[(35512)>>2]|0; + $306 = ($301>>>0)<($305>>>0); + if ($306) { + _abort(); + // unreachable; + } else { + HEAP32[$301>>2] = $$1; + $307 = ((($$1)) + 24|0); + HEAP32[$307>>2] = $$0384; + $308 = ((($$1)) + 12|0); + HEAP32[$308>>2] = $$1; + $309 = ((($$1)) + 8|0); + HEAP32[$309>>2] = $$1; + break; + } + } + else if ((label|0) == 126) { + $310 = ((($$0384)) + 8|0); + $311 = HEAP32[$310>>2]|0; + $312 = HEAP32[(35512)>>2]|0; + $313 = ($311>>>0)>=($312>>>0); + $not$437 = ($$0384>>>0)>=($312>>>0); + $314 = $313 & $not$437; + if ($314) { + $315 = ((($311)) + 12|0); + HEAP32[$315>>2] = $$1; + HEAP32[$310>>2] = $$1; + $316 = ((($$1)) + 8|0); + HEAP32[$316>>2] = $311; + $317 = ((($$1)) + 12|0); + HEAP32[$317>>2] = $$0384; + $318 = ((($$1)) + 24|0); + HEAP32[$318>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $319 = HEAP32[(35528)>>2]|0; + $320 = (($319) + -1)|0; + HEAP32[(35528)>>2] = $320; + $321 = ($320|0)==(0); + if ($321) { + $$0212$in$i = (35980); + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $322 = ($$0212$i|0)==(0|0); + $323 = ((($$0212$i)) + 8|0); + if ($322) { + break; + } else { + $$0212$in$i = $323; + } + } + HEAP32[(35528)>>2] = -1; + } + } + } while(0); + $324 = HEAP32[(35940)>>2]|0; + $325 = $324 & 2; + $326 = ($325|0)==(0); + if ($326) { + return; + } + (___pthread_mutex_unlock((35944))|0); + return; +} +function runPostSets() { +} +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 _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 _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 ___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 _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 _llvm_cttz_i32(x) { + x = x|0; + var ret = 0; + ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); + if ((ret|0) < 8) return ret|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 8)|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 16)|0; + return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +function _emscripten_set_current_thread_status(newStatus) { + newStatus = newStatus|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 _emscripten_conditional_set_current_thread_status(expectedStatus, newStatus) { + expectedStatus = expectedStatus|0; + newStatus = newStatus|0; +} +function _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|0; + totalMemory = getTotalMemory()|0; + + // Perform a compare-and-swap loop to update the new dynamic top value. This is because + // this function can becalled simultaneously in multiple threads. + do { + oldDynamicTop = Atomics_load(HEAP32, DYNAMICTOP_PTR>>2)|0; + newDynamicTop = oldDynamicTop + increment | 0; + // Asking to increase dynamic top to a too high value? In pthreads builds we cannot + // enlarge memory, so this needs to fail. + 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. + | (newDynamicTop|0) > (totalMemory|0)) { + abortOnCannotGrowMemory()|0; + } + // Attempt to update the dynamic top to new value. Another thread may have beat this thread to the update, + // in which case we will need to start over by iterating the loop body again. + oldDynamicTopOnChange = Atomics_compareExchange(HEAP32, DYNAMICTOP_PTR>>2, oldDynamicTop|0, newDynamicTop|0)|0; + } while((oldDynamicTopOnChange|0) != (oldDynamicTop|0)); + return oldDynamicTop|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 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&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](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_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|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&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +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&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +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); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,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_ii = [b5,___stdio_close,_PhysicsLoop,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _emscripten_sync_run_in_main_thread_3: _emscripten_sync_run_in_main_thread_3, _roundf: _roundf, _bitshift64Shl: _bitshift64Shl, _emscripten_atomic_load_f32: _emscripten_atomic_load_f32, ___uremdi3: ___uremdi3, ___udivdi3: ___udivdi3, _emscripten_atomic_xor_u64: _emscripten_atomic_xor_u64, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _emscripten_atomic_and_u64: _emscripten_atomic_and_u64, _emscripten_sync_run_in_main_thread: _emscripten_sync_run_in_main_thread, _emscripten_sync_run_in_main_thread_4: _emscripten_sync_run_in_main_thread_4, _emscripten_sync_run_in_main_thread_5: _emscripten_sync_run_in_main_thread_5, _emscripten_sync_run_in_main_thread_6: _emscripten_sync_run_in_main_thread_6, _emscripten_sync_run_in_main_thread_7: _emscripten_sync_run_in_main_thread_7, _emscripten_sync_run_in_main_thread_0: _emscripten_sync_run_in_main_thread_0, _emscripten_sync_run_in_main_thread_1: _emscripten_sync_run_in_main_thread_1, _emscripten_sync_run_in_main_thread_2: _emscripten_sync_run_in_main_thread_2, __emscripten_atomic_fetch_and_sub_u64: __emscripten_atomic_fetch_and_sub_u64, _emscripten_atomic_exchange_u32: _emscripten_atomic_exchange_u32, _fflush: _fflush, _emscripten_set_current_thread_status: _emscripten_set_current_thread_status, _emscripten_atomic_cas_u64: _emscripten_atomic_cas_u64, _memset: _memset, _emscripten_atomic_sub_u64: _emscripten_atomic_sub_u64, _emscripten_sync_run_in_main_thread_xprintf_varargs: _emscripten_sync_run_in_main_thread_xprintf_varargs, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, __emscripten_atomic_fetch_and_and_u64: __emscripten_atomic_fetch_and_and_u64, _emscripten_atomic_add_u64: _emscripten_atomic_add_u64, _emscripten_atomic_store_f64: _emscripten_atomic_store_f64, ___muldsi3: ___muldsi3, __emscripten_atomic_fetch_and_xor_u64: __emscripten_atomic_fetch_and_xor_u64, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_atomic_store_u64: _emscripten_atomic_store_u64, _emscripten_atomic_load_f64: _emscripten_atomic_load_f64, _emscripten_get_global_libc: _emscripten_get_global_libc, __emscripten_atomic_fetch_and_add_u64: __emscripten_atomic_fetch_and_add_u64, __emscripten_atomic_fetch_and_or_u64: __emscripten_atomic_fetch_and_or_u64, _emscripten_GetProcAddress: _emscripten_GetProcAddress, _emscripten_async_run_in_main_thread: _emscripten_async_run_in_main_thread, ___errno_location: ___errno_location, _main: _main, _emscripten_main_thread_process_queued_calls: _emscripten_main_thread_process_queued_calls, _emscripten_atomic_load_u64: _emscripten_atomic_load_u64, _free: _free, _emscripten_atomic_store_f32: _emscripten_atomic_store_f32, _emscripten_atomic_exchange_u64: _emscripten_atomic_exchange_u64, _memmove: _memmove, ___pthread_tsd_run_dtors: ___pthread_tsd_run_dtors, _malloc: _malloc, _memcpy: _memcpy, _emscripten_conditional_set_current_thread_status: _emscripten_conditional_set_current_thread_status, _sbrk: _sbrk, _emscripten_atomic_or_u64: _emscripten_atomic_or_u64, _strstr: _strstr, ___emscripten_pthread_data_constructor: ___emscripten_pthread_data_constructor, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real___emscripten_atomic_fetch_and_xor_u64 = asm["__emscripten_atomic_fetch_and_xor_u64"]; asm["__emscripten_atomic_fetch_and_xor_u64"] = 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_atomic_fetch_and_xor_u64.apply(null, arguments); +}; + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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__emscripten_atomic_load_f32 = asm["_emscripten_atomic_load_f32"]; asm["_emscripten_atomic_load_f32"] = 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_atomic_load_f32.apply(null, arguments); +}; + +var real____emscripten_pthread_data_constructor = asm["___emscripten_pthread_data_constructor"]; asm["___emscripten_pthread_data_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_pthread_data_constructor.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 real__emscripten_atomic_xor_u64 = asm["_emscripten_atomic_xor_u64"]; asm["_emscripten_atomic_xor_u64"] = 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_atomic_xor_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_u64 = asm["_emscripten_atomic_load_u64"]; asm["_emscripten_atomic_load_u64"] = 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_atomic_load_u64.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__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_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__emscripten_atomic_and_u64 = asm["_emscripten_atomic_and_u64"]; asm["_emscripten_atomic_and_u64"] = 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_atomic_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread = asm["_emscripten_sync_run_in_main_thread"]; asm["_emscripten_sync_run_in_main_thread"] = 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_sync_run_in_main_thread.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_4 = asm["_emscripten_sync_run_in_main_thread_4"]; asm["_emscripten_sync_run_in_main_thread_4"] = 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_sync_run_in_main_thread_4.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_5 = asm["_emscripten_sync_run_in_main_thread_5"]; asm["_emscripten_sync_run_in_main_thread_5"] = 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_sync_run_in_main_thread_5.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_6 = asm["_emscripten_sync_run_in_main_thread_6"]; asm["_emscripten_sync_run_in_main_thread_6"] = 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_sync_run_in_main_thread_6.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_7 = asm["_emscripten_sync_run_in_main_thread_7"]; asm["_emscripten_sync_run_in_main_thread_7"] = 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_sync_run_in_main_thread_7.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_0 = asm["_emscripten_sync_run_in_main_thread_0"]; asm["_emscripten_sync_run_in_main_thread_0"] = 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_sync_run_in_main_thread_0.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_1 = asm["_emscripten_sync_run_in_main_thread_1"]; asm["_emscripten_sync_run_in_main_thread_1"] = 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_sync_run_in_main_thread_1.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_2 = asm["_emscripten_sync_run_in_main_thread_2"]; asm["_emscripten_sync_run_in_main_thread_2"] = 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_sync_run_in_main_thread_2.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_sub_u64 = asm["__emscripten_atomic_fetch_and_sub_u64"]; asm["__emscripten_atomic_fetch_and_sub_u64"] = 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_atomic_fetch_and_sub_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_exchange_u32 = asm["_emscripten_atomic_exchange_u32"]; asm["_emscripten_atomic_exchange_u32"] = 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_atomic_exchange_u32.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__emscripten_set_current_thread_status = asm["_emscripten_set_current_thread_status"]; asm["_emscripten_set_current_thread_status"] = 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_set_current_thread_status.apply(null, arguments); +}; + +var real__emscripten_atomic_cas_u64 = asm["_emscripten_atomic_cas_u64"]; asm["_emscripten_atomic_cas_u64"] = 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_atomic_cas_u64.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__emscripten_atomic_sub_u64 = asm["_emscripten_atomic_sub_u64"]; asm["_emscripten_atomic_sub_u64"] = 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_atomic_sub_u64.apply(null, arguments); +}; + +var real__main = asm["_main"]; asm["_main"] = 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__main.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_xprintf_varargs = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = 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_sync_run_in_main_thread_xprintf_varargs.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___emscripten_atomic_fetch_and_and_u64 = asm["__emscripten_atomic_fetch_and_and_u64"]; asm["__emscripten_atomic_fetch_and_and_u64"] = 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_atomic_fetch_and_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_3 = asm["_emscripten_sync_run_in_main_thread_3"]; asm["_emscripten_sync_run_in_main_thread_3"] = 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_sync_run_in_main_thread_3.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_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__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_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__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__emscripten_atomic_store_u64 = asm["_emscripten_atomic_store_u64"]; asm["_emscripten_atomic_store_u64"] = 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_atomic_store_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f64 = asm["_emscripten_atomic_load_f64"]; asm["_emscripten_atomic_load_f64"] = 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_atomic_load_f64.apply(null, arguments); +}; + +var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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_get_global_libc.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_add_u64 = asm["__emscripten_atomic_fetch_and_add_u64"]; asm["__emscripten_atomic_fetch_and_add_u64"] = 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_atomic_fetch_and_add_u64.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_or_u64 = asm["__emscripten_atomic_fetch_and_or_u64"]; asm["__emscripten_atomic_fetch_and_or_u64"] = 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_atomic_fetch_and_or_u64.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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_GetProcAddress.apply(null, arguments); +}; + +var real__emscripten_async_run_in_main_thread = asm["_emscripten_async_run_in_main_thread"]; asm["_emscripten_async_run_in_main_thread"] = 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_async_run_in_main_thread.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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.apply(null, arguments); +}; + +var real__emscripten_main_thread_process_queued_calls = asm["_emscripten_main_thread_process_queued_calls"]; asm["_emscripten_main_thread_process_queued_calls"] = 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_main_thread_process_queued_calls.apply(null, arguments); +}; + +var real__emscripten_atomic_add_u64 = asm["_emscripten_atomic_add_u64"]; asm["_emscripten_atomic_add_u64"] = 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_atomic_add_u64.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__emscripten_atomic_store_f32 = asm["_emscripten_atomic_store_f32"]; asm["_emscripten_atomic_store_f32"] = 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_atomic_store_f32.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__emscripten_atomic_exchange_u64 = asm["_emscripten_atomic_exchange_u64"]; asm["_emscripten_atomic_exchange_u64"] = 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_atomic_exchange_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_store_f64 = asm["_emscripten_atomic_store_f64"]; asm["_emscripten_atomic_store_f64"] = 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_atomic_store_f64.apply(null, arguments); +}; + +var real____pthread_tsd_run_dtors = asm["___pthread_tsd_run_dtors"]; asm["___pthread_tsd_run_dtors"] = 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_tsd_run_dtors.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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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_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__emscripten_conditional_set_current_thread_status = asm["_emscripten_conditional_set_current_thread_status"]; asm["_emscripten_conditional_set_current_thread_status"] = 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_conditional_set_current_thread_status.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__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__emscripten_atomic_or_u64 = asm["_emscripten_atomic_or_u64"]; asm["_emscripten_atomic_or_u64"] = 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_atomic_or_u64.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.apply(null, arguments); +}; +var __emscripten_atomic_fetch_and_xor_u64 = Module["__emscripten_atomic_fetch_and_xor_u64"] = asm["__emscripten_atomic_fetch_and_xor_u64"]; +var _roundf = Module["_roundf"] = asm["_roundf"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _emscripten_atomic_load_f32 = Module["_emscripten_atomic_load_f32"] = asm["_emscripten_atomic_load_f32"]; +var ___emscripten_pthread_data_constructor = Module["___emscripten_pthread_data_constructor"] = asm["___emscripten_pthread_data_constructor"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var _emscripten_atomic_xor_u64 = Module["_emscripten_atomic_xor_u64"] = asm["_emscripten_atomic_xor_u64"]; +var _emscripten_atomic_load_u64 = Module["_emscripten_atomic_load_u64"] = asm["_emscripten_atomic_load_u64"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _emscripten_atomic_and_u64 = Module["_emscripten_atomic_and_u64"] = asm["_emscripten_atomic_and_u64"]; +var _emscripten_sync_run_in_main_thread = Module["_emscripten_sync_run_in_main_thread"] = asm["_emscripten_sync_run_in_main_thread"]; +var _emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = asm["_emscripten_sync_run_in_main_thread_4"]; +var _emscripten_sync_run_in_main_thread_5 = Module["_emscripten_sync_run_in_main_thread_5"] = asm["_emscripten_sync_run_in_main_thread_5"]; +var _emscripten_sync_run_in_main_thread_6 = Module["_emscripten_sync_run_in_main_thread_6"] = asm["_emscripten_sync_run_in_main_thread_6"]; +var _emscripten_sync_run_in_main_thread_7 = Module["_emscripten_sync_run_in_main_thread_7"] = asm["_emscripten_sync_run_in_main_thread_7"]; +var _emscripten_sync_run_in_main_thread_0 = Module["_emscripten_sync_run_in_main_thread_0"] = asm["_emscripten_sync_run_in_main_thread_0"]; +var _emscripten_sync_run_in_main_thread_1 = Module["_emscripten_sync_run_in_main_thread_1"] = asm["_emscripten_sync_run_in_main_thread_1"]; +var _emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = asm["_emscripten_sync_run_in_main_thread_2"]; +var __emscripten_atomic_fetch_and_sub_u64 = Module["__emscripten_atomic_fetch_and_sub_u64"] = asm["__emscripten_atomic_fetch_and_sub_u64"]; +var _emscripten_atomic_exchange_u32 = Module["_emscripten_atomic_exchange_u32"] = asm["_emscripten_atomic_exchange_u32"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _emscripten_set_current_thread_status = Module["_emscripten_set_current_thread_status"] = asm["_emscripten_set_current_thread_status"]; +var _emscripten_atomic_cas_u64 = Module["_emscripten_atomic_cas_u64"] = asm["_emscripten_atomic_cas_u64"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _emscripten_atomic_sub_u64 = Module["_emscripten_atomic_sub_u64"] = asm["_emscripten_atomic_sub_u64"]; +var _main = Module["_main"] = asm["_main"]; +var _emscripten_sync_run_in_main_thread_xprintf_varargs = Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var __emscripten_atomic_fetch_and_and_u64 = Module["__emscripten_atomic_fetch_and_and_u64"] = asm["__emscripten_atomic_fetch_and_and_u64"]; +var _emscripten_sync_run_in_main_thread_3 = Module["_emscripten_sync_run_in_main_thread_3"] = asm["_emscripten_sync_run_in_main_thread_3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_atomic_store_u64 = Module["_emscripten_atomic_store_u64"] = asm["_emscripten_atomic_store_u64"]; +var _emscripten_atomic_load_f64 = Module["_emscripten_atomic_load_f64"] = asm["_emscripten_atomic_load_f64"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var __emscripten_atomic_fetch_and_add_u64 = Module["__emscripten_atomic_fetch_and_add_u64"] = asm["__emscripten_atomic_fetch_and_add_u64"]; +var __emscripten_atomic_fetch_and_or_u64 = Module["__emscripten_atomic_fetch_and_or_u64"] = asm["__emscripten_atomic_fetch_and_or_u64"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var _emscripten_async_run_in_main_thread = Module["_emscripten_async_run_in_main_thread"] = asm["_emscripten_async_run_in_main_thread"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = asm["_emscripten_main_thread_process_queued_calls"]; +var _emscripten_atomic_add_u64 = Module["_emscripten_atomic_add_u64"] = asm["_emscripten_atomic_add_u64"]; +var _free = Module["_free"] = asm["_free"]; +var _emscripten_atomic_store_f32 = Module["_emscripten_atomic_store_f32"] = asm["_emscripten_atomic_store_f32"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _emscripten_atomic_exchange_u64 = Module["_emscripten_atomic_exchange_u64"] = asm["_emscripten_atomic_exchange_u64"]; +var _emscripten_atomic_store_f64 = Module["_emscripten_atomic_store_f64"] = asm["_emscripten_atomic_store_f64"]; +var ___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = asm["___pthread_tsd_run_dtors"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _emscripten_conditional_set_current_thread_status = Module["_emscripten_conditional_set_current_thread_status"] = asm["_emscripten_conditional_set_current_thread_status"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _emscripten_atomic_or_u64 = Module["_emscripten_atomic_or_u64"] = asm["_emscripten_atomic_or_u64"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +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 +} + +Module['callMain'] = Module.callMain = function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); + assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); + + args = args || []; + + ensureInitRuntime(); + + var argc = args.length+1; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + try { + + var ret = Module['_main'](argc, argv, 0); + + + // if we're not running an evented main loop, it's time to exit + exit(ret, /* implicit = */ true); + } + catch(e) { + if (e instanceof ExitStatus) { + // exit() throws this once it's done to make sure execution + // has been stopped completely + return; + } else if (e == 'SimulateInfiniteLoop') { + // running an evented main loop, don't immediately exit + Module['noExitRuntime'] = true; + return; + } else { + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); + } + } finally { + calledMain = true; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (Module['_main'] && shouldRunNow) Module['callMain'](args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + checkStackCookie(); +} +Module['run'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); + } else { + PThread.terminateAllThreads(); + + ABORT = true; + EXITSTATUS = status; + STACKTOP = initialStackTop; + + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } + + if (ENVIRONMENT_IS_NODE) { + process['exit'](status); + } + Module['quit'](status, new ExitStatus(status)); +} +Module['exit'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(what) { + if (ENVIRONMENT_IS_PTHREAD) console.error('Pthread aborting at ' + new Error().stack); + if (what !== undefined) { + Module.print(what); + Module.printErr(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'] = Module.abort = abort; + +// {{PRE_RUN_ADDITIONS}} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; +if (Module['noInitialRun']) { + shouldRunNow = false; +} + + +if (!ENVIRONMENT_IS_PTHREAD) run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/img/physac/physics_demo.png b/docs/examples/web/physac/physics_demo.png similarity index 100% rename from docs/examples/img/physac/physics_demo.png rename to docs/examples/web/physac/physics_demo.png diff --git a/docs/examples/web/physac/physics_friction.c b/docs/examples/web/physac/physics_friction.c index db1b5f4c1..d01563069 100644 --- a/docs/examples/web/physac/physics_friction.c +++ b/docs/examples/web/physac/physics_friction.c @@ -2,9 +2,11 @@ * * Physac - Physics friction * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread * -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition * @@ -15,29 +17,50 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" +#include "physac.h" +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +// Physac logo drawing position +int logoX = 0; +int logoY = 15; + +PhysicsBody bodyA; +PhysicsBody bodyB; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- int main() { // Initialization //-------------------------------------------------------------------------------------- - int screenWidth = 800; - int screenHeight = 450; - SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics friction"); - SetTargetFPS(60); // Physac logo drawing position - int logoX = screenWidth - MeasureText("Physac", 30) - 10; - int logoY = 15; + logoX = screenWidth - MeasureText("Physac", 30) - 10; // Initialize physics and default physics bodies InitPhysics(); // Create floor rectangle physics body - PhysicsBody floor = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, screenWidth, 100, 10); - floor->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) + PhysicsBody ground = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, screenWidth, 100, 10); + ground->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) + PhysicsBody wall = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight*0.8f }, 10, 80, 10); wall->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) @@ -52,88 +75,104 @@ int main() SetPhysicsBodyRotation(rectRight, 330*DEG2RAD); // Create dynamic physics bodies - PhysicsBody bodyA = CreatePhysicsBodyRectangle((Vector2){ 35, screenHeight*0.6f }, 40, 40, 10); + bodyA = CreatePhysicsBodyRectangle((Vector2){ 35, screenHeight*0.6f }, 40, 40, 10); bodyA->staticFriction = 0.1f; bodyA->dynamicFriction = 0.1f; SetPhysicsBodyRotation(bodyA, 30*DEG2RAD); - PhysicsBody bodyB = CreatePhysicsBodyRectangle((Vector2){ screenWidth - 35, screenHeight*0.6f }, 40, 40, 10); + bodyB = CreatePhysicsBodyRectangle((Vector2){ screenWidth - 35, screenHeight*0.6f }, 40, 40, 10); bodyB->staticFriction = 1; bodyB->dynamicFriction = 1; SetPhysicsBodyRotation(bodyB, 330*DEG2RAD); - //-------------------------------------------------------------------------------------- +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key { - // Update - //---------------------------------------------------------------------------------- - if (IsKeyPressed('R')) // Reset physics input - { - // Reset dynamic physics bodies position, velocity and rotation - bodyA->position = (Vector2){ 35, screenHeight*0.6f }; - bodyA->velocity = (Vector2){ 0, 0 }; - bodyA->angularVelocity = 0; - SetPhysicsBodyRotation(bodyA, 30*DEG2RAD); - - bodyB->position = (Vector2){ screenWidth - 35, screenHeight*0.6f }; - bodyB->velocity = (Vector2){ 0, 0 }; - bodyB->angularVelocity = 0; - SetPhysicsBodyRotation(bodyB, 330*DEG2RAD); - } - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(BLACK); - - DrawFPS(screenWidth - 90, screenHeight - 30); - - // Draw created physics bodies - int bodiesCount = GetPhysicsBodiesCount(); - for (int i = 0; i < bodiesCount; i++) - { - PhysicsBody body = GetPhysicsBody(i); - - if (body != NULL) - { - int vertexCount = GetPhysicsShapeVerticesCount(i); - for (int j = 0; j < vertexCount; j++) - { - // Get physics bodies shape vertices to draw lines - // Note: GetPhysicsShapeVertex() already calculates rotation transformations - Vector2 vertexA = GetPhysicsShapeVertex(body, j); - - int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape - Vector2 vertexB = GetPhysicsShapeVertex(body, jj); - - DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions - } - } - } - - DrawRectangle(0, screenHeight - 49, screenWidth, 49, BLACK); - - DrawText("Friction amount", (screenWidth - MeasureText("Friction amount", 30))/2, 75, 30, WHITE); - DrawText("0.1", bodyA->position.x - MeasureText("0.1", 20)/2, bodyA->position.y - 7, 20, WHITE); - DrawText("1", bodyB->position.x - MeasureText("1", 20)/2, bodyB->position.y - 7, 20, WHITE); - - DrawText("Press 'R' to reset example", 10, 10, 10, WHITE); - - DrawText("Physac", logoX, logoY, 30, WHITE); - DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); - - EndDrawing(); - //---------------------------------------------------------------------------------- + UpdateDrawFrame(); } +#endif // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (IsKeyPressed('R')) // Reset physics input + { + // Reset dynamic physics bodies position, velocity and rotation + bodyA->position = (Vector2){ 35, screenHeight*0.6f }; + bodyA->velocity = (Vector2){ 0, 0 }; + bodyA->angularVelocity = 0; + SetPhysicsBodyRotation(bodyA, 30*DEG2RAD); + + bodyB->position = (Vector2){ screenWidth - 35, screenHeight*0.6f }; + bodyB->velocity = (Vector2){ 0, 0 }; + bodyB->angularVelocity = 0; + SetPhysicsBodyRotation(bodyB, 330*DEG2RAD); + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(BLACK); + + DrawFPS(screenWidth - 90, screenHeight - 30); + + // Draw created physics bodies + int bodiesCount = GetPhysicsBodiesCount(); + for (int i = 0; i < bodiesCount; i++) + { + PhysicsBody body = GetPhysicsBody(i); + + if (body != NULL) + { + int vertexCount = GetPhysicsShapeVerticesCount(i); + for (int j = 0; j < vertexCount; j++) + { + // Get physics bodies shape vertices to draw lines + // Note: GetPhysicsShapeVertex() already calculates rotation transformations + Vector2 vertexA = GetPhysicsShapeVertex(body, j); + + int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape + Vector2 vertexB = GetPhysicsShapeVertex(body, jj); + + DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions + } + } + } + + DrawRectangle(0, screenHeight - 49, screenWidth, 49, BLACK); + + DrawText("Friction amount", (screenWidth - MeasureText("Friction amount", 30))/2, 75, 30, WHITE); + DrawText("0.1", bodyA->position.x - MeasureText("0.1", 20)/2, bodyA->position.y - 7, 20, WHITE); + DrawText("1", bodyB->position.x - MeasureText("1", 20)/2, bodyB->position.y - 7, 20, WHITE); + + DrawText("Press 'R' to reset example", 10, 10, 10, WHITE); + + DrawText("Physac", logoX, logoY, 30, WHITE); + DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} + diff --git a/docs/examples/web/physac/physics_friction.js b/docs/examples/web/physac/physics_friction.js new file mode 100644 index 000000000..3e6235f90 --- /dev/null +++ b/docs/examples/web/physac/physics_friction.js @@ -0,0 +1,35201 @@ +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// The environment setup code below is customized to use Module. +// *** Environment setup code *** +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +// 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) + +if (Module['ENVIRONMENT']) { + if (Module['ENVIRONMENT'] === 'WEB') { + ENVIRONMENT_IS_WEB = true; + } else if (Module['ENVIRONMENT'] === 'WORKER') { + ENVIRONMENT_IS_WORKER = true; + } else if (Module['ENVIRONMENT'] === 'NODE') { + ENVIRONMENT_IS_NODE = true; + } else if (Module['ENVIRONMENT'] === 'SHELL') { + ENVIRONMENT_IS_SHELL = true; + } else { + throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); + } +} else { + 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; +} + +var ENVIRONMENT_IS_PTHREAD; +if (!ENVIRONMENT_IS_PTHREAD) ENVIRONMENT_IS_PTHREAD = false; // ENVIRONMENT_IS_PTHREAD=true will have been preset in pthread-main.js. Make it false in the main runtime thread. +var PthreadWorkerInit; // Collects together variables that are needed at initialization time for the web workers that host pthreads. +if (!ENVIRONMENT_IS_PTHREAD) PthreadWorkerInit = {}; +var currentScriptUrl = ENVIRONMENT_IS_WORKER ? undefined : document.currentScript.src; + +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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var 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, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. 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 + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // 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'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (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 Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// Runtime essentials +//======================================== + +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var EXITSTATUS = 0; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { + 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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = function cwrap(ident, returnType, argTypes) { + argTypes = argTypes || []; + var cfunc = getCFunc(ident); + // When the function takes numbers and returns a number, we can just return + // the original function + var numericArgs = argTypes.every(function(type){ return type === 'number'}); + var numericRet = (returnType !== 'string'); + if ( numericRet && numericArgs) { + return cfunc; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ length) { + if (length === 0 || !ptr) return ''; + // TODO: use TextDecoder + // 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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 and https://www.ietf.org/rfc/rfc2279.txt and 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 + +if (!ENVIRONMENT_IS_PTHREAD) { // Pthreads have already initialized these variables in src/pthread-main.js, where they were passed to the thread worker at startup time + STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; + staticSealed = false; +} + +if (ENVIRONMENT_IS_PTHREAD) { + staticSealed = true; // The static memory area has been initialized already in the main thread, pthreads skip this. +} + +// 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); +} + + +function enlargeMemory() { + abort('Cannot enlarge memory arrays, since compiling with pthreads support enabled (-s USE_PTHREADS=1).'); +} + + +var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; +var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; +if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + 'JS engine does not provide full typed array support'); + + +if (typeof SharedArrayBuffer !== 'undefined') { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new SharedArrayBuffer(TOTAL_MEMORY); + // Currently SharedArrayBuffer does not have a slice() operation, so polyfill it in. + // Adapted from https://github.com/ttaubert/node-arraybuffer-slice, (c) 2014 Tim Taubert + // arraybuffer-slice may be freely distributed under the MIT license. + (function (undefined) { + "use strict"; + function clamp(val, length) { + val = (val|0) || 0; + if (val < 0) return Math.max(val + length, 0); + return Math.min(val, length); + } + if (typeof SharedArrayBuffer !== 'undefined' && !SharedArrayBuffer.prototype.slice) { + SharedArrayBuffer.prototype.slice = function (from, to) { + var length = this.byteLength; + var begin = clamp(from, length); + var end = length; + if (to !== undefined) end = clamp(to, length); + if (begin > end) return new ArrayBuffer(0); + var num = end - begin; + var target = new ArrayBuffer(num); + var targetArray = new Uint8Array(target); + var sourceArray = new Uint8Array(this, begin, num); + targetArray.set(sourceArray); + return target; + }; + } + })(); +} else { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new ArrayBuffer(TOTAL_MEMORY); +} +updateGlobalBufferViews(); + +if (typeof Atomics === 'undefined') { + // Polyfill singlethreaded atomics ops from http://lars-t-hansen.github.io/ecmascript_sharedmem/shmem.html#Atomics.add + // No thread-safety needed since we don't have multithreading support. + Atomics = {}; + Atomics['add'] = function(t, i, v) { var w = t[i]; t[i] += v; return w; } + Atomics['and'] = function(t, i, v) { var w = t[i]; t[i] &= v; return w; } + Atomics['compareExchange'] = function(t, i, e, r) { var w = t[i]; if (w == e) t[i] = r; return w; } + Atomics['exchange'] = function(t, i, v) { var w = t[i]; t[i] = v; return w; } + Atomics['wait'] = function(t, i, v, o) { if (t[i] != v) return 'not-equal'; else return 'timed-out'; } + Atomics['wake'] = function(t, i, c) { return 0; } + Atomics['wakeOrRequeue'] = function(t, i1, c, i2, v) { return 0; } + Atomics['isLockFree'] = function(s) { return true; } + Atomics['load'] = function(t, i) { return t[i]; } + Atomics['or'] = function(t, i, v) { var w = t[i]; t[i] |= v; return w; } + Atomics['store'] = function(t, i, v) { t[i] = v; return v; } + Atomics['sub'] = function(t, i, v) { var w = t[i]; t[i] -= v; return w; } + Atomics['xor'] = function(t, i, v) { var w = t[i]; t[i] ^= v; return w; } +} + + +function getTotalMemory() { + return TOTAL_MEMORY; +} + +// Endianness check (note: assumes compiler arch was little-endian) +if (!ENVIRONMENT_IS_PTHREAD) { + HEAP32[0] = 0x63736d65; /* 'emsc' */ +} else { + if (HEAP32[0] !== 0x63736d65) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; +} +HEAP16[1] = 0x6373; +if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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 runtime has exited + +var runtimeInitialized = false; +var runtimeExited = false; + +if (ENVIRONMENT_IS_PTHREAD) runtimeInitialized = true; // The runtime is hosted in the main thread, and bits shared to pthreads via SharedArrayBuffer. No need to init again in pthread. + +function preRun() { + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + // 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 (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + if (runtimeInitialized) return; + runtimeInitialized = true; + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + callRuntimeCallbacks(__ATEXIT__); + runtimeExited = true; +} + +function postRun() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + // 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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + +// Atomics.exchange is not yet implemented in the spec, so polyfill that in via compareExchange in the meanwhile. +// TODO: Keep an eye out for the opportunity to remove this once Atomics.exchange is available. +if (typeof Atomics !== 'undefined' && !Atomics['exchange']) { + Atomics['exchange'] = function(heap, index, val) { + var oldVal, oldVal2; + do { + oldVal = Atomics['load'](heap, index); + oldVal2 = Atomics['compareExchange'](heap, index, oldVal, val); + } while(oldVal != oldVal2); + return oldVal; + } +} + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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 +// PRE_RUN_ADDITIONS (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) { + // We should never get here in pthreads (could no-op this out if called in pthreads, but that might indicate a bug in caller side, + // so good to be very explicit) + assert(!ENVIRONMENT_IS_PTHREAD); + 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; + Module.printErr('still waiting on run dependencies:'); + } + Module.printErr('dependency: ' + dep); + } + if (shown) { + Module.printErr('(end of list)'); + } + }, 10000); + } + } else { + Module.printErr('warning: run dependency added without ID'); + } +} +Module["addRunDependency"] = addRunDependency; + +function removeRunDependency(id) { + runDependencies--; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('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["removeRunDependency"] = removeRunDependency; + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + + +var memoryInitializer = null; + + + + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }, + function() { postMessage({ cmd: 'processQueuedMainThreadWork' }) }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + +function _emscripten_asm_const_v(code) { + return ASM_CONSTS[code](); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 38336; + /* global initializers */ if (!ENVIRONMENT_IS_PTHREAD) __ATINIT__.push({ func: function() { ___emscripten_pthread_data_constructor() } }); + + +if (!ENVIRONMENT_IS_PTHREAD) { +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,15,0,0,0,32,186,32,60,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,20,0,0,0,180,11,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,187,145,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,104,121,115,97,99,32,91,114,97,121,108,105,98,93,32,45,32,80,104,121,115,105,99,115,32,102,114,105,99,116,105,111,110,0,80,104,121,115,97,99,0,70,114,105,99,116,105,111,110,32,97,109,111,117,110,116,0,48,46,49,0,49,0,80,114,101,115,115,32,39,82,39,32,116,111,32,114,101,115,101,116,32,101,120,97,109,112,108,101,0,80,111,119,101,114,101,100,32,98,121,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,37,50,105,32,70,80,83,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,101,109,115,99,114,105,112,116,101,110,95,105,115,95,109,97,105,110,95,114,117,110,116,105,109,101,95,116,104,114,101,97,100,40,41,32,38,38,32,34,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,32,109,117,115,116,32,98,101,32,99,97,108,108,101,100,32,102,114,111,109,32,116,104,101,32,109,97,105,110,32,116,104,114,101,97,100,33,34,0,67,58,92,101,109,115,100,107,92,101,109,115,99,114,105,112,116,101,110,92,49,46,51,55,46,57,92,115,121,115,116,101,109,92,108,105,98,92,112,116,104,114,101,97,100,92,108,105,98,114,97,114,121,95,112,116,104,114,101,97,100,46,99,0,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,0,48,32,38,38,32,34,73,110,118,97,108,105,100,32,69,109,115,99,114,105,112,116,101,110,32,112,116,104,114,101,97,100,32,95,100,111,95,99,97,108,108,32,111,112,99,111,100,101,33,34,0,95,100,111,95,99,97,108,108,0,99,97,108,108,0,101,109,115,99,114,105,112,116,101,110,95,97,115,121,110,99,95,114,117,110,95,105,110,95,109,97,105,110,95,116,104,114,101,97,100,0,112,111,115,116,77,101,115,115,97,103,101,40,123,32,99,109,100,58,32,39,112,114,111,99,101,115,115,81,117,101,117,101,100,77,97,105,110,84,104,114,101,97,100,87,111,114,107,39,32,125,41,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +} + + + + + +/* no memory initializer */ +var tempDoublePtr; + +if (!ENVIRONMENT_IS_PTHREAD) tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); + +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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + function ___pthread_setcancelstate() { return 0 } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + + + 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 Module.printErr('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) { + Module['print'](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) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function (tty, val) { + if (val === null || val === 10) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['printErr'](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); + + 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(); + }; + }); + },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, { encoding: 'binary', 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/); + },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) { + // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so + // propagate write bits to execute bits. + stat.mode = stat.mode | ((stat.mode & 146) >> 1); + } + } 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); + },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString: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. + if (flags in NODEFS.flagsToPermissionStringMap) { + return NODEFS.flagsToPermissionStringMap[flags]; + } 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.flagsToPermissionString(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) { + if (length === 0) return 0; // node errors on 0 length reads + // FIXME this is terrible. + var nbuffer = new Buffer(length); + var res; + try { + res = fs.readSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + if (res > 0) { + for (var i = 0; i < res; i++) { + buffer[offset + i] = nbuffer[i]; + } + } + return res; + },write:function (stream, buffer, offset, length, position) { + // FIXME this is terrible. + var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); + var res; + try { + res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return res; + },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; if (ENVIRONMENT_IS_PTHREAD) _stdin = PthreadWorkerInit._stdin; else PthreadWorkerInit._stdin = _stdin = allocate(1, "i32*", ALLOC_STATIC); + + var _stdout; if (ENVIRONMENT_IS_PTHREAD) _stdout = PthreadWorkerInit._stdout; else PthreadWorkerInit._stdout = _stdout = allocate(1, "i32*", ALLOC_STATIC); + + var _stderr; if (ENVIRONMENT_IS_PTHREAD) _stderr = PthreadWorkerInit._stderr; else PthreadWorkerInit._stderr = _stderr = allocate(1, "i32*", ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],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; + Module['printErr']('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 (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); + } + },llseek:function (stream, offset, whence) { + 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 ((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 = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } 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 ((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 = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } 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 (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(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'; + opts.encoding = opts.encoding || 'utf8'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var stream = FS.open(path, opts.flags, opts.mode); + if (opts.encoding === 'utf8') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); + } else if (opts.encoding === 'binary') { + FS.write(stream, data, 0, data.length, 0, opts.canOwn); + } + 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) { + //Module.printErr(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]; + 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 = ''; + }); + },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 ___syscall54(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 54, varargs) } + SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + case 21506: { + 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; + } + default: abort('bad ioctl syscall ' + op); + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _utime(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(12, path, times); + // int utime(const char *path, const struct utimbuf *times); + // http://pubs.opengroup.org/onlinepubs/009695399/basedefs/utime.h.html + var time; + if (times) { + // NOTE: We don't keep track of access timestamps. + var offset = 4; + time = HEAP32[(((times)+(offset))>>2)]; + time *= 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + + + + var PROCINFO={ppid:1,pid:42,sid:42,pgid:42}; + + + var __pthread_ptr=0; + + var __pthread_is_main_browser_thread=0;function __register_pthread_ptr(pthreadPtr, isMainBrowserThread, isMainRuntimeThread) { + pthreadPtr = pthreadPtr|0; + isMainBrowserThread = isMainBrowserThread|0; + isMainRuntimeThread = isMainRuntimeThread|0; + __pthread_ptr = pthreadPtr; + __pthread_is_main_browser_thread = isMainBrowserThread; + __pthread_is_main_runtime_thread = isMainRuntimeThread; + } + + var _emscripten_main_thread_process_queued_calls=undefined;var PThread={MAIN_THREAD_ID:1,mainThreadInfo:{schedPolicy:0,schedPrio:0},unusedWorkerPool:[],runningWorkers:[],initMainThreadBlock:function () { + if (ENVIRONMENT_IS_PTHREAD) return undefined; + PThread.mainThreadBlock = allocate(244, "i32*", ALLOC_STATIC); + __register_pthread_ptr(PThread.mainThreadBlock, /*isMainBrowserThread=*/!ENVIRONMENT_IS_WORKER, /*isMainRuntimeThread=*/1); // Pass the thread address inside the asm.js scope to store it for fast access that avoids the need for a FFI out. + + for (var i = 0; i < 244/4; ++i) HEAPU32[PThread.mainThreadBlock/4+i] = 0; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((PThread.mainThreadBlock)+(24))>>2)]=PThread.mainThreadBlock; + + // Allocate memory for thread-local storage. + var tlsMemory = allocate(128 * 4, "i32*", ALLOC_STATIC); + for (var i = 0; i < 128; ++i) HEAPU32[tlsMemory/4+i] = 0; + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 52 ) >> 2, PThread.mainThreadBlock); // Main thread ID. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 56 ) >> 2, PROCINFO.pid); // Process ID. + + },pthreads:{},pthreadIdCounter:2,exitHandlers:null,setThreadStatus:function () {},runExitHandlers:function () { + if (PThread.exitHandlers !== null) { + while (PThread.exitHandlers.length > 0) { + PThread.exitHandlers.pop()(); + } + PThread.exitHandlers = null; + } + + // Call into the musl function that runs destructors of all thread-specific data. + if (ENVIRONMENT_IS_PTHREAD && threadInfoStruct) ___pthread_tsd_run_dtors(); + },threadExit:function (exitCode) { + var tb = _pthread_self(); + if (tb) { // If we haven't yet exited? + Atomics.store(HEAPU32, (tb + 4 ) >> 2, exitCode); + // When we publish this, the main thread is free to deallocate the thread object and we are done. + // Therefore set threadInfoStruct = 0; above to 'release' the object in this worker thread. + Atomics.store(HEAPU32, (tb + 0 ) >> 2, 1); + + // Disable all cancellation so that executing the cleanup handlers won't trigger another JS + // canceled exception to be thrown. + Atomics.store(HEAPU32, (tb + 72 ) >> 2, 1/*PTHREAD_CANCEL_DISABLE*/); + Atomics.store(HEAPU32, (tb + 76 ) >> 2, 0/*PTHREAD_CANCEL_DEFERRED*/); + PThread.runExitHandlers(); + + _emscripten_futex_wake(tb + 0, 2147483647); + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + threadInfoStruct = 0; + if (ENVIRONMENT_IS_PTHREAD) { + // This worker no longer owns any WebGL OffscreenCanvases, so transfer them back to parent thread. + var transferList = []; + + + postMessage({ cmd: 'exit' }); + } + } + },threadCancel:function () { + PThread.runExitHandlers(); + Atomics.store(HEAPU32, (threadInfoStruct + 4 ) >> 2, -1/*PTHREAD_CANCELED*/); + Atomics.store(HEAPU32, (threadInfoStruct + 0 ) >> 2, 1); // Mark the thread as no longer running. + _emscripten_futex_wake(threadInfoStruct + 0, 2147483647); // wake all threads + threadInfoStruct = selfThreadId = 0; // Not hosting a pthread anymore in this worker, reset the info structures to null. + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + postMessage({ cmd: 'cancelDone' }); + },terminateAllThreads:function () { + for (var t in PThread.pthreads) { + var pthread = PThread.pthreads[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.pthreads = {}; + for (var t in PThread.unusedWorkerPool) { + var pthread = PThread.unusedWorkerPool[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.unusedWorkerPool = []; + for (var t in PThread.runningWorkers) { + var pthread = PThread.runningWorkers[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.runningWorkers = []; + },freeThreadData:function (pthread) { + if (!pthread) return; + if (pthread.threadInfoStruct) { + var tlsMemory = HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]; + HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]=0; + _free(pthread.tlsMemory); + _free(pthread.threadInfoStruct); + } + pthread.threadInfoStruct = 0; + if (pthread.allocatedOwnStack && pthread.stackBase) _free(pthread.stackBase); + pthread.stackBase = 0; + if (pthread.worker) pthread.worker.pthread = null; + },receiveObjectTransfer:function (data) { + },allocateUnusedWorkers:function (numWorkers, onFinishedLoading) { + if (typeof SharedArrayBuffer === 'undefined') return; // No multithreading support, no-op. + Module['print']('Preallocating ' + numWorkers + ' workers for a pthread spawn pool.'); + + var numWorkersLoaded = 0; + for (var i = 0; i < numWorkers; ++i) { + var pthreadMainJs = 'pthread-main.js'; + // Allow HTML module to configure the location where the 'pthread-main.js' file will be loaded from, + // either via Module.locateFile() function, or via Module.pthreadMainPrefixURL string. If neither + // of these are passed, then the default URL 'pthread-main.js' relative to the main html file is loaded. + if (typeof Module['locateFile'] === 'function') pthreadMainJs = Module['locateFile'](pthreadMainJs); + else if (Module['pthreadMainPrefixURL']) pthreadMainJs = Module['pthreadMainPrefixURL'] + pthreadMainJs; + var worker = new Worker(pthreadMainJs); + + worker.onmessage = function(e) { + // If this message is intended to a recipient that is not the main thread, forward it to the target thread. + if (e.data.targetThread && e.data.targetThread != _pthread_self()) { + var thread = PThread.pthreads[e.data.targetThread]; + if (thread) { + thread.worker.postMessage(e.data, e.data.transferList); + } else { + console.error('Internal error! Worker sent a message "' + e.data.cmd + '" to target pthread ' + e.data.targetThread + ', but that thread no longer exists!'); + } + return; + } + + if (e.data.cmd === 'processQueuedMainThreadWork') { + // TODO: Must post message to main Emscripten thread in PROXY_TO_WORKER mode. + _emscripten_main_thread_process_queued_calls(); + } else if (e.data.cmd === 'spawnThread') { + __spawn_thread(e.data); + } else if (e.data.cmd === 'cleanupThread') { + __cleanup_thread(e.data.thread); + } else if (e.data.cmd === 'killThread') { + __kill_thread(e.data.thread); + } else if (e.data.cmd === 'cancelThread') { + __cancel_thread(e.data.thread); + } else if (e.data.cmd === 'loaded') { + ++numWorkersLoaded; + if (numWorkersLoaded === numWorkers && onFinishedLoading) { + onFinishedLoading(); + } + } else if (e.data.cmd === 'print') { + Module['print']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'printErr') { + Module['printErr']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'alert') { + alert('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'exit') { + // currently no-op + } else if (e.data.cmd === 'cancelDone') { + PThread.freeThreadData(worker.pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + // TODO: Free if detached. + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } else if (e.data.cmd === 'objectTransfer') { + PThread.receiveObjectTransfer(e.data); + } else { + Module['printErr']("worker sent an unknown command " + e.data.cmd); + } + }; + + worker.onerror = function(e) { + Module['printErr']('pthread sent an error! ' + e.filename + ':' + e.lineno + ': ' + e.message); + }; + + // Allocate tempDoublePtr for the worker. This is done here on the worker's behalf, since we may need to do this statically + // if the runtime has not been loaded yet, etc. - so we just use getMemory, which is main-thread only. + var tempDoublePtr = getMemory(8); // TODO: leaks. Cleanup after worker terminates. + + // Ask the new worker to load up the Emscripten-compiled page. This is a heavy operation. + worker.postMessage({ + cmd: 'load', + url: currentScriptUrl, + buffer: HEAPU8.buffer, + tempDoublePtr: tempDoublePtr, + TOTAL_MEMORY: TOTAL_MEMORY, + STATICTOP: STATICTOP, + DYNAMIC_BASE: DYNAMIC_BASE, + DYNAMICTOP_PTR: DYNAMICTOP_PTR, + PthreadWorkerInit: PthreadWorkerInit + }); + PThread.unusedWorkerPool.push(worker); + } + },getNewWorker:function () { + if (PThread.unusedWorkerPool.length == 0) PThread.allocateUnusedWorkers(1); + if (PThread.unusedWorkerPool.length > 0) return PThread.unusedWorkerPool.pop(); + else return null; + },busySpinWait:function (msecs) { + var t = performance.now() + msecs; + while(performance.now() < t) { + ; + } + }};var __pthread_is_main_runtime_thread=0;function _emscripten_is_main_runtime_thread() { + return __pthread_is_main_runtime_thread|0; // Semantically the same as testing "!ENVIRONMENT_IS_PTHREAD" outside the asm.js scope + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _atexit(func, arg) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(110, func, arg); + __ATEXIT__.unshift({ func: func, arg: arg }); + } + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + function ___syscall6(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 6, 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 _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + function ___syscall140(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 140, varargs) } + SYSCALLS.varargs = varargs; + try { + // llseek + var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___syscall146(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 146, 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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + var _tzname; if (ENVIRONMENT_IS_PTHREAD) _tzname = PthreadWorkerInit._tzname; else PthreadWorkerInit._tzname = _tzname = allocate(8, "i32*", ALLOC_STATIC); + + var _daylight; if (ENVIRONMENT_IS_PTHREAD) _daylight = PthreadWorkerInit._daylight; else PthreadWorkerInit._daylight = _daylight = allocate(1, "i32*", ALLOC_STATIC); + + var _timezone; if (ENVIRONMENT_IS_PTHREAD) _timezone = PthreadWorkerInit._timezone; else PthreadWorkerInit._timezone = _timezone = allocate(1, "i32*", ALLOC_STATIC);function _tzset() { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_0(119); + // TODO: Use (malleable) environment variables instead of system settings. + if (_tzset.called) return; + _tzset.called = true; + + HEAP32[((_timezone)>>2)]=-(new Date()).getTimezoneOffset() * 60; + + var winter = new Date(2000, 0, 1); + var summer = new Date(2000, 6, 1); + HEAP32[((_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[((_tzname)>>2)]=winterNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=summerNamePtr; + } else { + HEAP32[((_tzname)>>2)]=summerNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=winterNamePtr; + } + } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _sysconf(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(72, 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 _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + 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 _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + + + + + var _environ; if (ENVIRONMENT_IS_PTHREAD) _environ = PthreadWorkerInit._environ; else PthreadWorkerInit._environ = _environ = allocate(1, "i32*", ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env) { + // 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'; + ENV['_'] = Module['thisProgram']; + // Allocate memory. + poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC); + envPtr = allocate(MAX_ENV_VALUES * 4, + 'i8*', ALLOC_STATIC); + 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; + }var ENV={};function _clearenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(112, name); + // int clearenv (void); + // http://www.gnu.org/s/hello/manual/libc/Environment-Access.html#index-clearenv-3107 + ENV = {}; + ___buildEnvironment(ENV); + return 0; + } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + var _emscripten_asm_const=true; + + function _chroot(path) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(37, path); + // int chroot(const char *path); + // http://pubs.opengroup.org/onlinepubs/7908799/xsh/chroot.html + ___setErrNo(ERRNO_CODES.EACCES); + return -1; + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _unsetenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(114, name); + // int unsetenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/unsetenv.html + if (name === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + name = Pointer_stringify(name); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name)) { + delete ENV[name]; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + + + function _emscripten_get_now_is_monotonic() { + // return whether emscripten_get_now is guaranteed monotonic; the Date.now + // implementation is not :( + return ENVIRONMENT_IS_NODE || (typeof dateNow !== 'undefined') || + ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self['performance'] && self['performance']['now']); + }function _clock_gettime(clk_id, tp) { + // int clock_gettime(clockid_t clk_id, struct timespec *tp); + var now; + if (clk_id === 0) { + now = Date.now(); + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now(); + } else { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + HEAP32[((tp)>>2)]=(now/1000)|0; // seconds + HEAP32[(((tp)+(4))>>2)]=((now % 1000)*1000*1000)|0; // nanoseconds + return 0; + }function ___clock_gettime() { + return _clock_gettime.apply(null, arguments) + } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + + function __cleanup_thread(pthread_ptr) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _cleanup_thread() can only ever be called from main application thread!'; + if (!pthread_ptr) throw 'Internal Error! Null pthread_ptr in _cleanup_thread!'; + HEAP32[(((pthread_ptr)+(24))>>2)]=0; + var pthread = PThread.pthreads[pthread_ptr]; + var worker = pthread.worker; + PThread.freeThreadData(pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } + + function __pthread_testcancel_js() { + if (!ENVIRONMENT_IS_PTHREAD) return; + if (!threadInfoStruct) return; + var cancelDisabled = Atomics.load(HEAPU32, (threadInfoStruct + 72 ) >> 2); + if (cancelDisabled) return; + var canceled = Atomics.load(HEAPU32, (threadInfoStruct + 0 ) >> 2); + if (canceled == 2) throw 'Canceled!'; + }function _pthread_join(thread, status) { + if (!thread) { + Module['printErr']('pthread_join attempted on a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + if (ENVIRONMENT_IS_PTHREAD && selfThreadId == thread) { + Module['printErr']('PThread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + else if (!ENVIRONMENT_IS_PTHREAD && PThread.mainThreadBlock == thread) { + Module['printErr']('Main thread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_join attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var detached = Atomics.load(HEAPU32, (thread + 80 ) >> 2); + if (detached) { + Module['printErr']('Attempted to join thread ' + thread + ', which was already detached!'); + return ERRNO_CODES.EINVAL; // The thread is already detached, can no longer join it! + } + for (;;) { + var threadStatus = Atomics.load(HEAPU32, (thread + 0 ) >> 2); + if (threadStatus == 1) { // Exited? + var threadExitCode = Atomics.load(HEAPU32, (thread + 4 ) >> 2); + if (status) HEAP32[((status)>>2)]=threadExitCode; + Atomics.store(HEAPU32, (thread + 80 ) >> 2, 1); // Mark the thread as detached. + + if (!ENVIRONMENT_IS_PTHREAD) __cleanup_thread(thread); + else postMessage({ cmd: 'cleanupThread', thread: thread}); + return 0; + } + // TODO HACK! Replace the _js variant with just _pthread_testcancel: + //_pthread_testcancel(); + __pthread_testcancel_js(); + // In main runtime thread (the thread that initialized the Emscripten C runtime and launched main()), assist pthreads in performing operations + // that they need to access the Emscripten main runtime for. + if (!ENVIRONMENT_IS_PTHREAD) _emscripten_main_thread_process_queued_calls(); + _emscripten_futex_wait(thread + 0, threadStatus, ENVIRONMENT_IS_PTHREAD ? 100 : 1); + } + } + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + var __main_thread_futex_wait_address; if (ENVIRONMENT_IS_PTHREAD) __main_thread_futex_wait_address = PthreadWorkerInit.__main_thread_futex_wait_address; else PthreadWorkerInit.__main_thread_futex_wait_address = __main_thread_futex_wait_address = allocate(1, "i32*", ALLOC_STATIC);function _emscripten_futex_wait(addr, val, timeout) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0) return -22; + // dump('futex_wait addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ENVIRONMENT_IS_WORKER) { + var ret = Atomics.wait(HEAP32, addr >> 2, val, timeout); + // dump('futex_wait done by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ret === 'timed-out') return -110; + if (ret === 'not-equal') return -11; + if (ret === 'ok') return 0; + throw 'Atomics.wait returned an unexpected value ' + ret; + } else { + // Atomics.wait is not available in the main browser thread, so simulate it via busy spinning. + var loadedVal = Atomics.load(HEAP32, addr >> 2); + if (val != loadedVal) return -11; + + var tNow = performance.now(); + var tEnd = tNow + timeout; + + + // Register globally which address the main thread is simulating to be waiting on. When zero, main thread is not waiting on anything, + // and on nonzero, the contents of address pointed by __main_thread_futex_wait_address tell which address the main thread is simulating its wait on. + Atomics.store(HEAP32, __main_thread_futex_wait_address >> 2, addr); + var ourWaitAddress = addr; // We may recursively re-enter this function while processing queued calls, in which case we'll do a spurious wakeup of the older wait operation. + while (addr == ourWaitAddress) { + tNow = performance.now(); + if (tNow > tEnd) { + return -110; + } + _emscripten_main_thread_process_queued_calls(); // We are performing a blocking loop here, so must pump any pthreads if they want to perform operations that are proxied. + addr = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); // Look for a worker thread waking us up. + } + return 0; + } + } + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + + + var cttz_i8; if (ENVIRONMENT_IS_PTHREAD) cttz_i8 = PthreadWorkerInit.cttz_i8; else PthreadWorkerInit.cttz_i8 = cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + function __exit(status) { + // void _exit(int status); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html + Module['exit'](status); + }function _exit(status) { + __exit(status); + } + + function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_futex_wake(addr, count) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0 || count < 0) return -22; + if (count == 0) return 0; + // dump('futex_wake addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + + // See if main thread is waiting on this address? If so, wake it up by resetting its wake location to zero. + // Note that this is not a fair procedure, since we always wake main thread first before any workers, so + // this scheme does not adhere to real queue-based waiting. + var mainThreadWaitAddress = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); + var mainThreadWoken = 0; + if (mainThreadWaitAddress == addr) { + var loadedAddr = Atomics.compareExchange(HEAP32, __main_thread_futex_wait_address >> 2, mainThreadWaitAddress, 0); + if (loadedAddr == mainThreadWaitAddress) { + --count; + mainThreadWoken = 1; + if (count <= 0) return 1; + } + } + + // Wake any workers waiting on this address. + var ret = Atomics.wake(HEAP32, addr >> 2, count); + if (ret >= 0) return ret + mainThreadWoken; + throw 'Atomics.wake returned an unexpected value ' + ret; + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + + function __spawn_thread(threadParams) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _spawn_thread() can only ever be called from main application thread!'; + + var worker = PThread.getNewWorker(); + if (worker.pthread !== undefined) throw 'Internal error!'; + if (!threadParams.pthread_ptr) throw 'Internal error, no pthread ptr!'; + PThread.runningWorkers.push(worker); + + // Allocate memory for thread-local storage and initialize it to zero. + var tlsMemory = _malloc(128 * 4); + for (var i = 0; i < 128; ++i) { + HEAP32[(((tlsMemory)+(i*4))>>2)]=0; + } + + var pthread = PThread.pthreads[threadParams.pthread_ptr] = { // Create a pthread info object to represent this thread. + worker: worker, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + allocatedOwnStack: threadParams.allocatedOwnStack, + thread: threadParams.pthread_ptr, + threadInfoStruct: threadParams.pthread_ptr // Info area for this thread in Emscripten HEAP (shared) + }; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 0 ) >> 2, 0); // threadStatus <- 0, meaning not yet exited. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 4 ) >> 2, 0); // threadExitCode <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 20 ) >> 2, 0); // profilerBlock <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 80 ) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 60 ) >> 2, 0); // Mark initial status to unused. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 52 ) >> 2, pthread.threadInfoStruct); // Main thread ID. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 56 ) >> 2, PROCINFO.pid); // Process ID. + + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 96) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 92) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 8) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 12) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 20) >> 2, threadParams.schedPolicy); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 24) >> 2, threadParams.schedPrio); + + var global_libc = _emscripten_get_global_libc(); + var global_locale = global_libc + 40; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 188) >> 2, global_locale); + + + worker.pthread = pthread; + + // Ask the worker to start executing its pthread entry point function. + worker.postMessage({ + cmd: 'run', + start_routine: threadParams.startRoutine, + arg: threadParams.arg, + threadInfoStruct: threadParams.pthread_ptr, + selfThreadId: threadParams.pthread_ptr, // TODO: Remove this since thread ID is now the same as the thread address. + parentThreadId: threadParams.parent_pthread_ptr, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + }, threadParams.transferList); + } + + function _pthread_getschedparam(thread, policy, schedparam) { + if (!policy && !schedparam) return ERRNO_CODES.EINVAL; + + if (!thread) { + Module['printErr']('pthread_getschedparam called with a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_getschedparam attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var schedPolicy = Atomics.load(HEAPU32, (thread + 120 + 20 ) >> 2); + var schedPrio = Atomics.load(HEAPU32, (thread + 120 + 24 ) >> 2); + + if (policy) HEAP32[((policy)>>2)]=schedPolicy; + if (schedparam) HEAP32[((schedparam)>>2)]=schedPrio; + return 0; + } + + function _pthread_self() { + return __pthread_ptr|0; + }function _pthread_create(pthread_ptr, attr, start_routine, arg) { + if (typeof SharedArrayBuffer === 'undefined') { + Module['printErr']('Current environment does not support SharedArrayBuffer, pthreads are not available!'); + return 11; + } + if (!pthread_ptr) { + Module['printErr']('pthread_create called with a null thread pointer!'); + return 22; + } + + var transferList = []; // List of JS objects that will transfer ownership to the Worker hosting the thread + + + // Synchronously proxy the thread creation to main thread if possible. If we need to transfer ownership of objects, then + // proxy asynchronously via postMessage. + if (ENVIRONMENT_IS_PTHREAD && transferList.length == 0) { + return _emscripten_sync_run_in_main_thread_4(137, pthread_ptr, attr, start_routine, arg); + } + + var stackSize = 0; + var stackBase = 0; + var detached = 0; // Default thread attr is PTHREAD_CREATE_JOINABLE, i.e. start as not detached. + var schedPolicy = 0; /*SCHED_OTHER*/ + var schedPrio = 0; + if (attr) { + stackSize = HEAP32[((attr)>>2)]; + stackBase = HEAP32[(((attr)+(8))>>2)]; + detached = HEAP32[(((attr)+(12))>>2)] != 0/*PTHREAD_CREATE_JOINABLE*/; + var inheritSched = HEAP32[(((attr)+(16))>>2)] == 0/*PTHREAD_INHERIT_SCHED*/; + if (inheritSched) { + var prevSchedPolicy = HEAP32[(((attr)+(20))>>2)]; + var prevSchedPrio = HEAP32[(((attr)+(24))>>2)]; + _pthread_getschedparam(_pthread_self(), attr + 20, attr + 24); + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + HEAP32[(((attr)+(20))>>2)]=prevSchedPolicy; + HEAP32[(((attr)+(24))>>2)]=prevSchedPrio; + } else { + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + } + } + stackSize += 81920 /*DEFAULT_STACK_SIZE*/; + var allocatedOwnStack = stackBase == 0; // If allocatedOwnStack == true, then the pthread impl maintains the stack allocation. + if (allocatedOwnStack) { + stackBase = _malloc(stackSize); // Allocate a stack if the user doesn't want to place the stack in a custom memory area. + } else { + // Musl stores the stack base address assuming stack grows downwards, so adjust it to Emscripten convention that the + // stack grows upwards instead. + stackBase -= stackSize; + assert(stackBase > 0); + } + + // Allocate thread block (pthread_t structure). + var threadInfoStruct = _malloc(244); + for (var i = 0; i < 244 >> 2; ++i) HEAPU32[(threadInfoStruct>>2) + i] = 0; // zero-initialize thread structure. + HEAP32[((pthread_ptr)>>2)]=threadInfoStruct; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((threadInfoStruct)+(24))>>2)]=threadInfoStruct; + + // pthread struct robust_list head should point to itself. + var headPtr = threadInfoStruct + 168; + HEAP32[((headPtr)>>2)]=headPtr; + + var threadParams = { + stackBase: stackBase, + stackSize: stackSize, + allocatedOwnStack: allocatedOwnStack, + schedPolicy: schedPolicy, + schedPrio: schedPrio, + detached: detached, + startRoutine: start_routine, + pthread_ptr: threadInfoStruct, + parent_pthread_ptr: _pthread_self(), + arg: arg, + transferList: transferList + }; + + if (ENVIRONMENT_IS_PTHREAD) { + // The prepopulated pool of web workers that can host pthreads is stored in the main JS thread. Therefore if a + // pthread is attempting to spawn a new thread, the thread creation must be deferred to the main JS thread. + threadParams.cmd = 'spawnThread'; + postMessage(threadParams, transferList); + } else { + // We are the main thread, so we have the pthread warmup pool in this thread and can fire off JS thread creation + // directly ourselves. + __spawn_thread(threadParams); + } + + return 0; + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + + function _emscripten_set_current_thread_status_js(newStatus) { + } + Module["_emscripten_set_current_thread_status"] = _emscripten_set_current_thread_status; + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _confstr(name, buf, len) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(68, name, buf, len); + // size_t confstr(int name, char *buf, size_t len); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/confstr.html + var value; + switch (name) { + case 0: + value = ENV['PATH'] || '/'; + break; + case 1: + // Mimicking glibc. + value = 'POSIX_V6_ILP32_OFF32\nPOSIX_V6_ILP32_OFFBIG'; + break; + case 2: + // This JS implementation was tested against this glibc version. + value = 'glibc 2.14'; + break; + case 3: + // We don't support pthreads. + value = ''; + break; + case 1118: + case 1122: + case 1124: + case 1125: + case 1126: + case 1128: + case 1129: + case 1130: + value = ''; + break; + case 1116: + case 1117: + case 1121: + value = '-m32'; + break; + case 1120: + value = '-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'; + break; + default: + ___setErrNo(ERRNO_CODES.EINVAL); + return 0; + } + if (len == 0 || buf == 0) { + return value.length + 1; + } else { + var length = Math.min(len, value.length); + for (var i = 0; i < length; i++) { + HEAP8[(((buf)+(i))>>0)]=value.charCodeAt(i); + } + if (len > length) HEAP8[(((buf)+(i++))>>0)]=0; + return i; + } + } + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _getenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(111, 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 = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL); + return _getenv.ret; + } + + + function _emscripten_conditional_set_current_thread_status_js(expectedStatus, newStatus) { + } + Module["_emscripten_conditional_set_current_thread_status"] = _emscripten_conditional_set_current_thread_status; + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function ___assert_fail(condition, filename, line, func) { + ABORT = true; + throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _setenv(envname, envval, overwrite) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(113, envname, envval, overwrite); + // int setenv(const char *envname, const char *envval, int overwrite); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/setenv.html + if (envname === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = Pointer_stringify(envname); + var val = Pointer_stringify(envval); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name) && !overwrite) return 0; + ENV[name] = val; + ___buildEnvironment(ENV); + return 0; + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _emscripten_syscall(which, varargs) { + switch (which) { + case 54: return ___syscall54(which, varargs); + case 6: return ___syscall6(which, varargs); + case 140: return ___syscall140(which, varargs); + case 146: return ___syscall146(which, varargs); + default: throw "surprising proxied syscall: " + which; + } + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _fpathconf(fildes, name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(46, fildes, name); + // long fpathconf(int fildes, int name); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/encrypt.html + // NOTE: The first parameter is ignored, so pathconf == fpathconf. + // The constants here aren't real values. Just mimicking glibc. + switch (name) { + case 0: + return 32000; + case 1: + case 2: + case 3: + return 255; + case 4: + case 5: + case 16: + case 17: + case 18: + return 4096; + case 6: + case 7: + case 20: + return 1; + case 8: + return 0; + case 9: + case 10: + case 11: + case 12: + case 14: + case 15: + case 19: + return -1; + case 13: + return 64; + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + + function _putenv(string) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(115, string); + // int putenv(char *string); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/putenv.html + // WARNING: According to the standard (and the glibc implementation), the + // string is taken by reference so future changes are reflected. + // We copy it instead, possibly breaking some uses. + if (string === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + string = Pointer_stringify(string); + var splitPoint = string.indexOf('=') + if (string === '' || string.indexOf('=') === -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = string.slice(0, splitPoint); + var value = string.slice(splitPoint + 1); + if (!(name in ENV) || ENV[name] !== value) { + ENV[name] = value; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function _utimes(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(13, path, times); + var time; + if (times) { + var offset = 8 + 0; + time = HEAP32[(((times)+(offset))>>2)] * 1000; + offset = 8 + 4; + time += HEAP32[(((times)+(offset))>>2)] / 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__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(); }; +JSEvents.staticInit();; +if (!ENVIRONMENT_IS_PTHREAD) PThread.initMainThreadBlock();; +if (!ENVIRONMENT_IS_PTHREAD) ___buildEnvironment(ENV);; +if (!ENVIRONMENT_IS_PTHREAD) { + // Only main thread initializes these, pthreads copy them over at thread worker init time (in pthread-main.js) +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + +} + + + +function nullFunc_viiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vi(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_ii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_v(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function invoke_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_ii(index,a1) { + try { + return Module["dynCall_ii"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iiii(index,a1,a2,a3) { + try { + return Module["dynCall_iiii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } catch(e) { + 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.asmGlobalArg['Atomics'] = Atomics; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_clock_gettime": _clock_gettime, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_sysconf": _sysconf, "_utime": _utime, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_chroot": _chroot, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "__pthread_testcancel_js": __pthread_testcancel_js, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_unsetenv": _unsetenv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_asm_const_v": _emscripten_asm_const_v, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_pthread_self": _pthread_self, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "__register_pthread_ptr": __register_pthread_ptr, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_gettimeofday": _gettimeofday, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "__spawn_thread": __spawn_thread, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_conditional_set_current_thread_status_js": _emscripten_conditional_set_current_thread_status_js, "_putenv": _putenv, "_pthread_join": _pthread_join, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_fpathconf": _fpathconf, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "___unlock": ___unlock, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_is_main_runtime_thread": _emscripten_is_main_runtime_thread, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___buildEnvironment": ___buildEnvironment, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_utimes": _utimes, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_tzset": _tzset, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "___clock_gettime": ___clock_gettime, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_clearenv": _clearenv, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_getenv": _getenv, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_emscripten_futex_wake": _emscripten_futex_wake, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "__cleanup_thread": __cleanup_thread, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_set_current_thread_status_js": _emscripten_set_current_thread_status_js, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_syscall": _emscripten_syscall, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_futex_wait": _emscripten_futex_wait, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "___pthread_setcancelstate": ___pthread_setcancelstate, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_confstr": _confstr, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "___syscall54": ___syscall54, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_pthread_getschedparam": _pthread_getschedparam, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_atexit": _atexit, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_setenv": _setenv, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use 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 ABORT=env.ABORT|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; + var cttz_i8=env.cttz_i8|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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var ___assert_fail=env.___assert_fail; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _clock_gettime=env._clock_gettime; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _sysconf=env._sysconf; + var _utime=env._utime; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _chroot=env._chroot; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var __pthread_testcancel_js=env.__pthread_testcancel_js; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _unsetenv=env._unsetenv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var ___syscall146=env.___syscall146; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _emscripten_get_now_is_monotonic=env._emscripten_get_now_is_monotonic; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_asm_const_v=env._emscripten_asm_const_v; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _pthread_self=env._pthread_self; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var __register_pthread_ptr=env.__register_pthread_ptr; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var _gettimeofday=env._gettimeofday; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var __spawn_thread=env.__spawn_thread; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_conditional_set_current_thread_status_js=env._emscripten_conditional_set_current_thread_status_js; + var _putenv=env._putenv; + var _pthread_join=env._pthread_join; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _fpathconf=env._fpathconf; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var ___unlock=env.___unlock; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_is_main_runtime_thread=env._emscripten_is_main_runtime_thread; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___buildEnvironment=env.___buildEnvironment; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _utimes=env._utimes; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _tzset=env._tzset; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var ___clock_gettime=env.___clock_gettime; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _clearenv=env._clearenv; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _getenv=env._getenv; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _emscripten_futex_wake=env._emscripten_futex_wake; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var __cleanup_thread=env.__cleanup_thread; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_set_current_thread_status_js=env._emscripten_set_current_thread_status_js; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_syscall=env._emscripten_syscall; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_futex_wait=env._emscripten_futex_wait; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var ___pthread_setcancelstate=env.___pthread_setcancelstate; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _confstr=env._confstr; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var ___syscall54=env.___syscall54; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _pthread_create=env._pthread_create; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _pthread_getschedparam=env._pthread_getschedparam; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _atexit=env._atexit; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _setenv=env._setenv; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + var Atomics_load=global.Atomics.load; + var Atomics_store=global.Atomics.store; + var Atomics_exchange=global.Atomics.exchange; + var Atomics_compareExchange=global.Atomics.compareExchange; + var Atomics_add=global.Atomics.add; + var Atomics_sub=global.Atomics.sub; + var Atomics_and=global.Atomics.and; + var Atomics_or=global.Atomics.or; + var Atomics_xor=global.Atomics.xor; + 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 _InitPhysics() { + var label = 0, sp = 0; + sp = STACKTOP; + (_pthread_create((14264|0),(0|0),(2|0),(0|0))|0); + return; +} +function _PhysicsLoop($0) { + $0 = $0|0; + var $$0 = 0, $$010 = 0, $$011 = 0, $$09 = 0, $$0912 = 0, $$0913 = 0, $$pr = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.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, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3567] = 1; + HEAPF64[1745] = 0.0; + _InitTimer(); + $1 = HEAP32[3567]|0; + $2 = ($1|0)==(0); + if (!($2)) { + while(1) { + $3 = (+_GetCurrentTime()); + HEAPF64[1746] = $3; + $4 = +HEAPF64[1747]; + $5 = $3 - $4; + HEAPF64[1748] = $5; + $6 = +HEAPF64[1745]; + $7 = $5 + $6; + HEAPF64[1745] = $7; + _MathClamp(); + $$pr = +HEAPF64[1745]; + $8 = !($$pr >= 0.016666666666666666); + if (!($8)) { + while(1) { + _PhysicsStep(); + $9 = +HEAPF64[1748]; + $10 = +HEAPF64[1745]; + $11 = $10 - $9; + HEAPF64[1745] = $11; + $12 = !($11 >= 0.016666666666666666); + if ($12) { + break; + } + } + } + $13 = +HEAPF64[1746]; + HEAPF64[1747] = $13; + $14 = HEAP32[3567]|0; + $15 = ($14|0)==(0); + if ($15) { + break; + } + } + } + $16 = HEAP32[3634]|0; + $$0912 = (($16) + -1)|0; + $17 = ($$0912|0)>(-1); + if ($17) { + $$0913 = $$0912; + while(1) { + $20 = (14540 + ($$0913<<2)|0); + $21 = HEAP32[$20>>2]|0; + _DestroyPhysicsManifold($21); + $$09 = (($$0913) + -1)|0; + $22 = ($$09|0)>(-1); + if ($22) { + $$0913 = $$09; + } else { + break; + } + } + } + $18 = HEAP32[3569]|0; + $$010 = (($18) + -1)|0; + $19 = ($$010|0)>(-1); + if ($19) { + $$011 = $$010; + } else { + return (0|0); + } + while(1) { + $23 = (14280 + ($$011<<2)|0); + $24 = HEAP32[$23>>2]|0; + _DestroyPhysicsBody($24); + $$0 = (($$011) + -1)|0; + $25 = ($$0|0)>(-1); + if ($25) { + $$011 = $$0; + } else { + break; + } + } + return (0|0); +} +function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$0116149 = 0, $$0116149158159 = 0, $$0119144 = 0, $$0120136 = 0, $$0121$lcssa161 = 0.0, $$0121134 = 0.0, $$0122$lcssa160 = 0.0, $$0122133 = 0.0, $$0131 = 0, $$sroa$0$0132 = 0.0, $$sroa$049$0$$sroa_idx = 0, $$sroa$8$0135 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.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.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 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, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0; + var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.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.0, $79 = 0.0, $8 = 0, $80 = 0.0; + var $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0; + var $exitcond = 0, $tmpcast$byval_copy = 0, $tmpcast123$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $tmpcast123$byval_copy = sp + 440|0; + $tmpcast$byval_copy = sp + 432|0; + $4 = sp + 424|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_malloc(500)|0); + $9 = HEAP32[3568]|0; + $10 = (($9) + 500)|0; + HEAP32[3568] = $10; + $11 = HEAP32[3569]|0; + $12 = ($11|0)==(0); + $$0116149 = 0; + L1: while(1) { + if ($12) { + $$0116149158159 = 0; + break; + } else { + $$0119144 = 0; + } + while(1) { + $15 = (14280 + ($$0119144<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($$0116149|0); + $14 = (($$0119144) + 1)|0; + if ($18) { + break; + } + $13 = ($14>>>0)<($11>>>0); + if ($13) { + $$0119144 = $14; + } else { + label = 6; + break L1; + } + } + $19 = (($$0116149) + 1)|0; + $20 = ($19|0)<(64); + if ($20) { + $$0116149 = $19; + } else { + label = 14; + break; + } + } + if ((label|0) == 14) { + STACKTOP = sp;return ($8|0); + } + if ((label|0) == 6) { + $21 = ($$0116149|0)==(-1); + if ($21) { + STACKTOP = sp;return ($8|0); + } else { + $$0116149158159 = $$0116149; + } + } + HEAP32[$8>>2] = $$0116149158159; + $22 = ((($8)) + 4|0); + HEAP32[$22>>2] = 1; + $23 = ((($8)) + 8|0); + $24 = $0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = $23; + $31 = $30; + HEAP32[$31>>2] = $26; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $$sroa$049$0$$sroa_idx = ((($8)) + 16|0); + $34 = ((($8)) + 84|0); + ;HEAP32[$$sroa$049$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+20>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+24>>2]=0|0; + HEAP32[$34>>2] = 1; + $35 = ((($8)) + 88|0); + HEAP32[$35>>2] = $8; + $36 = ((($8)) + 96|0); + HEAPF32[$4>>2] = $1; + $37 = ((($4)) + 4|0); + HEAPF32[$37>>2] = $2; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + _CreateRectanglePolygon($5,$tmpcast$byval_copy,$tmpcast123$byval_copy); + _memcpy(($36|0),($5|0),404)|0; + $38 = HEAP32[$36>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $$0121$lcssa161 = 0.0;$$0122$lcssa160 = 0.0; + } else { + $40 = ((($8)) + 100|0); + $41 = ((($6)) + 4|0); + $42 = ((($7)) + 4|0); + $$0120136 = 0;$$0121134 = 0.0;$$0122133 = 0.0;$$sroa$0$0132 = 0.0;$$sroa$8$0135 = 0.0; + while(1) { + $52 = (($40) + ($$0120136<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$0120136) + 1)|0; + $64 = HEAP32[$36>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (($40) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; + $78 = (+_MathCrossVector2($tmpcast$byval_copy,$tmpcast123$byval_copy)); + $79 = $78 * 0.5; + $44 = $$0122133 + $79; + $80 = $79 * 0.3333333432674408; + $81 = +HEAPF32[$6>>2]; + $82 = +HEAPF32[$7>>2]; + $83 = $81 + $82; + $84 = $80 * $83; + $46 = $$sroa$0$0132 + $84; + $85 = +HEAPF32[$41>>2]; + $86 = +HEAPF32[$42>>2]; + $87 = $85 + $86; + $88 = $80 * $87; + $48 = $$sroa$8$0135 + $88; + $89 = $81 * $81; + $90 = $81 * $82; + $91 = $89 + $90; + $92 = $82 * $82; + $93 = $92 + $91; + $94 = $85 * $85; + $95 = $85 * $86; + $96 = $94 + $95; + $97 = $86 * $86; + $98 = $97 + $96; + $99 = $78 * 0.083333335816860198; + $100 = $93 + $98; + $101 = $99 * $100; + $102 = $$0121134 + $101; + $50 = HEAP32[$36>>2]|0; + $103 = ($63>>>0)<($50>>>0); + if ($103) { + $$0120136 = $63;$$0121134 = $102;$$0122133 = $44;$$sroa$0$0132 = $46;$$sroa$8$0135 = $48; + } else { + break; + } + } + $43 = 1.0 / $44; + $45 = $46 * $43; + $47 = $43 * $48; + $49 = ($50|0)==(0); + if ($49) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + } else { + $51 = ((($8)) + 100|0); + $$0131 = 0; + while(1) { + $125 = (($51) + ($$0131<<3)|0); + $126 = +HEAPF32[$125>>2]; + $127 = $126 - $45; + HEAPF32[$125>>2] = $127; + $128 = (((($51) + ($$0131<<3)|0)) + 4|0); + $129 = +HEAPF32[$128>>2]; + $130 = $129 - $47; + HEAPF32[$128>>2] = $130; + $131 = (($$0131) + 1)|0; + $exitcond = ($131|0)==($50|0); + if ($exitcond) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + break; + } else { + $$0131 = $131; + } + } + } + } + $104 = $$0122$lcssa160 * $3; + $105 = ((($8)) + 52|0); + HEAPF32[$105>>2] = $104; + $106 = $104 != 0.0; + $107 = 1.0 / $104; + $108 = $106 ? $107 : 0.0; + $109 = ((($8)) + 56|0); + HEAPF32[$109>>2] = $108; + $110 = $$0121$lcssa161 * $3; + $111 = ((($8)) + 44|0); + HEAPF32[$111>>2] = $110; + $112 = $110 != 0.0; + $113 = 1.0 / $110; + $114 = $112 ? $113 : 0.0; + $115 = ((($8)) + 48|0); + HEAPF32[$115>>2] = $114; + $116 = ((($8)) + 60|0); + HEAPF32[$116>>2] = 0.40000000596046448; + $117 = ((($8)) + 64|0); + HEAPF32[$117>>2] = 0.20000000298023224; + $118 = ((($8)) + 68|0); + HEAPF32[$118>>2] = 0.0; + $119 = ((($8)) + 72|0); + HEAP32[$119>>2] = 1; + $120 = ((($8)) + 76|0); + HEAP32[$120>>2] = 0; + $121 = ((($8)) + 80|0); + HEAP32[$121>>2] = 0; + $122 = HEAP32[3569]|0; + $123 = (14280 + ($122<<2)|0); + HEAP32[$123>>2] = $8; + $124 = (($122) + 1)|0; + HEAP32[3569] = $124; + STACKTOP = sp;return ($8|0); +} +function _CreateRectanglePolygon($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$024 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$sroa$012$0$$sroa_idx = 0, $$sroa$015$0$$sroa_idx = 0, $$sroa$018$0$$sroa_idx = 0, $$sroa$021$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$213$0$$sroa_idx14 = 0, $$sroa$216$0$$sroa_idx17 = 0, $$sroa$219$0$$sroa_idx20 = 0, $$sroa$222$0$$sroa_idx23 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0; + var $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.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.0, $54 = 0.0; + var $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy1 = sp + 440|0; + $$byval_copy = sp + 432|0; + $3 = sp + 24|0; + $4 = sp; + $5 = sp + 16|0; + $6 = ((($3)) + 36|0); + _memset(($6|0),0,368)|0; + HEAP32[$3>>2] = 4; + $7 = ((($3)) + 388|0); + _Mat2Radians($4,0.0); + ;HEAP32[$7>>2]=HEAP32[$4>>2]|0;HEAP32[$7+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$4+12>>2]|0; + $8 = +HEAPF32[$1>>2]; + $9 = +HEAPF32[$2>>2]; + $10 = $9 * 0.5; + $11 = $8 + $10; + $12 = ((($1)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($2)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15 * 0.5; + $17 = $13 - $16; + $$sroa$021$0$$sroa_idx = ((($3)) + 4|0); + HEAPF32[$$sroa$021$0$$sroa_idx>>2] = $11; + $$sroa$222$0$$sroa_idx23 = ((($3)) + 8|0); + HEAPF32[$$sroa$222$0$$sroa_idx23>>2] = $17; + $18 = +HEAPF32[$1>>2]; + $19 = +HEAPF32[$2>>2]; + $20 = $19 * 0.5; + $21 = $18 + $20; + $22 = +HEAPF32[$12>>2]; + $23 = +HEAPF32[$14>>2]; + $24 = $23 * 0.5; + $25 = $22 + $24; + $$sroa$018$0$$sroa_idx = ((($3)) + 12|0); + HEAPF32[$$sroa$018$0$$sroa_idx>>2] = $21; + $$sroa$219$0$$sroa_idx20 = ((($3)) + 16|0); + HEAPF32[$$sroa$219$0$$sroa_idx20>>2] = $25; + $26 = +HEAPF32[$1>>2]; + $27 = +HEAPF32[$2>>2]; + $28 = $27 * 0.5; + $29 = $26 - $28; + $30 = +HEAPF32[$12>>2]; + $31 = +HEAPF32[$14>>2]; + $32 = $31 * 0.5; + $33 = $30 + $32; + $$sroa$015$0$$sroa_idx = ((($3)) + 20|0); + HEAPF32[$$sroa$015$0$$sroa_idx>>2] = $29; + $$sroa$216$0$$sroa_idx17 = ((($3)) + 24|0); + HEAPF32[$$sroa$216$0$$sroa_idx17>>2] = $33; + $34 = +HEAPF32[$1>>2]; + $35 = +HEAPF32[$2>>2]; + $36 = $35 * 0.5; + $37 = $34 - $36; + $38 = +HEAPF32[$12>>2]; + $39 = +HEAPF32[$14>>2]; + $40 = $39 * 0.5; + $41 = $38 - $40; + $$sroa$012$0$$sroa_idx = ((($3)) + 28|0); + HEAPF32[$$sroa$012$0$$sroa_idx>>2] = $37; + $$sroa$213$0$$sroa_idx14 = ((($3)) + 32|0); + HEAPF32[$$sroa$213$0$$sroa_idx14>>2] = $41; + $42 = HEAP32[$3>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $44 = ((($5)) + 4|0); + $$024 = 0;$47 = $42; + while(1) { + $45 = (($$024) + 1)|0; + $46 = ($45>>>0)<($47>>>0); + $48 = $46 ? $45 : 0; + $49 = (((($3)) + 4|0) + ($48<<3)|0); + $50 = (((($3)) + 4|0) + ($$024<<3)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$49>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$49+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$50>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$50+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy,$$byval_copy1); + $51 = (((($3)) + 196|0) + ($$024<<3)|0); + $52 = HEAP32[$44>>2]|0; + $53 = +HEAPF32[$5>>2]; + $54 = -$53; + HEAP32[$51>>2] = $52; + $$sroa$2$0$$sroa_idx1 = (((((($3)) + 196|0) + ($$024<<3)|0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $54; + _MathNormalize($51); + $55 = HEAP32[$3>>2]|0; + $56 = ($45>>>0)<($55>>>0); + if ($56) { + $$024 = $45;$47 = $55; + } else { + break; + } + } + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; +} +function _MathCrossVector2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($1)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = +HEAPF32[$1>>2]; + $9 = $7 * $8; + $10 = $5 - $9; + return (+$10); +} +function _Vector2Add_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 + $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 + $10; + HEAPF32[$6>>2] = $11; + return; +} +function _Mat2MultiplyVector2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 * $4; + $6 = ((($1)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($2)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + HEAPF32[$0>>2] = $11; + $12 = ((($0)) + 4|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $4 * $14; + $16 = ((($1)) + 12|0); + $17 = +HEAPF32[$16>>2]; + $18 = $9 * $17; + $19 = $15 + $18; + HEAPF32[$12>>2] = $19; + return; +} +function _DestroyPhysicsBody($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$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; + var $24 = 0, $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|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3569]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3569]|0; + $$02023 = 0; + while(1) { + $6 = (14280 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14280 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3568]|0; + $15 = (($14) + -500)|0; + HEAP32[3568] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3569]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3569]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14280 + ($$022<<2)|0); + $25 = (14280 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3569] = $19; + return; +} +function _Vector2Subtract_4($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 - $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + return; +} +function _MathNormalize($0) { + $0 = $0|0; + var $$op = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$5$0$copyload = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$sroa$0$0$copyload = +HEAPF32[$0>>2]; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 4|0); + $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx3>>2]; + $1 = $$sroa$0$0$copyload * $$sroa$0$0$copyload; + $2 = $$sroa$5$0$copyload * $$sroa$5$0$copyload; + $3 = $1 + $2; + $4 = (+Math_sqrt((+$3))); + $5 = $4 == 0.0; + $$op = 1.0 / $4; + $6 = $5 ? 1.0 : $$op; + $7 = $$sroa$0$0$copyload * $6; + HEAPF32[$0>>2] = $7; + $8 = $$sroa$5$0$copyload * $6; + HEAPF32[$$sroa$5$0$$sroa_idx3>>2] = $8; + return; +} +function _GetPhysicsBodiesCount() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3569]|0; + return ($0|0); +} +function _GetPhysicsBody($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3569]|0; + $2 = ($1>>>0)>($0>>>0); + if (!($2)) { + $$0 = 0; + return ($$0|0); + } + $3 = (14280 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$0 = $4; + return ($$0|0); +} +function _GetPhysicsShapeVerticesCount($0) { + $0 = $0|0; + var $$1 = 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 = HEAP32[3569]|0; + $2 = ($1>>>0)>($0>>>0); + L1: do { + if ($2) { + $3 = (14280 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $$1 = 0; + } else { + $6 = ((($4)) + 84|0); + $7 = HEAP32[$6>>2]|0; + switch ($7|0) { + case 0: { + $$1 = 24; + break L1; + break; + } + case 1: { + $8 = ((($4)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $$1 = $9; + break L1; + break; + } + default: { + $$1 = 0; + break L1; + } + } + } + } else { + $$1 = 0; + } + } while(0); + return ($$1|0); +} +function _GetPhysicsShapeVertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$0$0 = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$6$0 = 0.0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx5 = 0, $$sroa$6$0$copyload = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0; + var $22 = 0.0, $23 = 0.0, $24 = 0.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; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy3 = sp + 440|0; + $$byval_copy2 = sp + 424|0; + $3 = sp; + $4 = sp + 416|0; + $5 = sp + 408|0; + $6 = ($1|0)==(0|0); + L1: do { + if ($6) { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + } else { + $7 = ((($1)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + $9 = ((($1)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = ($2*15)|0; + $12 = (+($11|0)); + $13 = $12 * 0.017453292519943295; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = ((($1)) + 92|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 * $17; + $19 = $10 + $18; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = (+Math_sin((+$14))); + $23 = $17 * $22; + $24 = $21 + $23; + $$sroa$0$0 = $19;$$sroa$6$0 = $24; + break L1; + break; + } + case 1: { + $25 = ((($1)) + 96|0); + _memcpy(($3|0),($25|0),404)|0; + $26 = ((($1)) + 8|0); + $27 = ((($3)) + 388|0); + $28 = (((($3)) + 4|0) + ($2<<3)|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$28+4>>2]|0; + _Mat2MultiplyVector2($4,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0; + _Vector2Add_2($5,$$byval_copy2,$$byval_copy3); + $$sroa$0$0$copyload = +HEAPF32[$5>>2]; + $$sroa$6$0$$sroa_idx4 = ((($5)) + 4|0); + $$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx4>>2]; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$6$0 = $$sroa$6$0$copyload; + break L1; + break; + } + default: { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + break L1; + } + } + } + } while(0); + HEAPF32[$0>>2] = $$sroa$0$0; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 4|0); + HEAPF32[$$sroa$6$0$$sroa_idx5>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _SetPhysicsBodyRotation($0,$1) { + $0 = $0|0; + $1 = +$1; + var $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); + $2 = sp; + $3 = ($0|0)==(0|0); + if ($3) { + STACKTOP = sp;return; + } + $4 = ((($0)) + 40|0); + HEAPF32[$4>>2] = $1; + $5 = ((($0)) + 84|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(1); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = ((($0)) + 484|0); + _Mat2Radians($2,$1); + ;HEAP32[$8>>2]=HEAP32[$2>>2]|0;HEAP32[$8+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$8+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$8+12>>2]=HEAP32[$2+12>>2]|0; + STACKTOP = sp;return; +} +function _Mat2Radians($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = ((($0)) + 4|0); + $5 = -$3; + HEAPF32[$4>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _ClosePhysics() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3567] = 0; + $0 = HEAP32[3566]|0; + (_pthread_join(($0|0),(0|0))|0); + return; +} +function _main() { + var $$byval_copy5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0; + var $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy5 = sp + 48|0; + $0 = sp + 40|0; + $1 = sp + 32|0; + $2 = sp + 24|0; + $3 = sp + 16|0; + $4 = sp + 8|0; + $5 = sp; + _SetConfigFlags(32); + $6 = HEAP32[2]|0; + $7 = HEAP32[3]|0; + _InitWindow($6,$7,3248); + $8 = HEAP32[2]|0; + $9 = (_MeasureText(3283,30)|0); + $10 = (($8) + -10)|0; + $11 = (($10) - ($9))|0; + HEAP32[7731] = $11; + _InitPhysics(); + $12 = HEAP32[2]|0; + $13 = (($12|0) / 2)&-1; + $14 = (+($13|0)); + HEAPF32[$0>>2] = $14; + $15 = ((($0)) + 4|0); + $16 = HEAP32[3]|0; + $17 = (+($16|0)); + HEAPF32[$15>>2] = $17; + $18 = HEAP32[2]|0; + $19 = (+($18|0)); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0; + $20 = (_CreatePhysicsBodyRectangle($$byval_copy5,$19,100.0,10.0)|0); + $21 = ((($20)) + 4|0); + HEAP32[$21>>2] = 0; + $22 = HEAP32[2]|0; + $23 = (($22|0) / 2)&-1; + $24 = (+($23|0)); + HEAPF32[$1>>2] = $24; + $25 = ((($1)) + 4|0); + $26 = HEAP32[3]|0; + $27 = (+($26|0)); + $28 = $27 * 0.80000001192092896; + HEAPF32[$25>>2] = $28; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$1+4>>2]|0; + $29 = (_CreatePhysicsBodyRectangle($$byval_copy5,10.0,80.0,10.0)|0); + $30 = ((($29)) + 4|0); + HEAP32[$30>>2] = 0; + HEAPF32[$2>>2] = 25.0; + $31 = ((($2)) + 4|0); + $32 = HEAP32[3]|0; + $33 = (($32) + -5)|0; + $34 = (+($33|0)); + HEAPF32[$31>>2] = $34; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0; + $35 = (_CreatePhysicsBodyRectangle($$byval_copy5,250.0,250.0,10.0)|0); + $36 = ((($35)) + 4|0); + HEAP32[$36>>2] = 0; + _SetPhysicsBodyRotation($35,0.52359879016876221); + $37 = HEAP32[2]|0; + $38 = (($37) + -25)|0; + $39 = (+($38|0)); + HEAPF32[$3>>2] = $39; + $40 = ((($3)) + 4|0); + $41 = HEAP32[3]|0; + $42 = (($41) + -5)|0; + $43 = (+($42|0)); + HEAPF32[$40>>2] = $43; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$3+4>>2]|0; + $44 = (_CreatePhysicsBodyRectangle($$byval_copy5,250.0,250.0,10.0)|0); + $45 = ((($44)) + 4|0); + HEAP32[$45>>2] = 0; + _SetPhysicsBodyRotation($44,5.7595863342285156); + HEAPF32[$4>>2] = 35.0; + $46 = ((($4)) + 4|0); + $47 = HEAP32[3]|0; + $48 = (+($47|0)); + $49 = $48 * 0.60000002384185791; + HEAPF32[$46>>2] = $49; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0; + $50 = (_CreatePhysicsBodyRectangle($$byval_copy5,40.0,40.0,10.0)|0); + HEAP32[7732] = $50; + $51 = ((($50)) + 60|0); + HEAPF32[$51>>2] = 0.10000000149011612; + $52 = ((($50)) + 64|0); + HEAPF32[$52>>2] = 0.10000000149011612; + _SetPhysicsBodyRotation($50,0.52359879016876221); + $53 = HEAP32[2]|0; + $54 = (($53) + -35)|0; + $55 = (+($54|0)); + HEAPF32[$5>>2] = $55; + $56 = ((($5)) + 4|0); + $57 = HEAP32[3]|0; + $58 = (+($57|0)); + $59 = $58 * 0.60000002384185791; + HEAPF32[$56>>2] = $59; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0; + $60 = (_CreatePhysicsBodyRectangle($$byval_copy5,40.0,40.0,10.0)|0); + HEAP32[7733] = $60; + $61 = ((($60)) + 60|0); + HEAPF32[$61>>2] = 1.0; + $62 = ((($60)) + 64|0); + HEAPF32[$62>>2] = 1.0; + _SetPhysicsBodyRotation($60,5.7595863342285156); + _emscripten_set_main_loop((1|0),0,1); + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$03637 = 0, $$038 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$027$0$$sroa_idx = 0, $$sroa$030$0$$sroa_idx = 0, $$sroa$033$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx26 = 0, $$sroa$228$0$$sroa_idx29 = 0, $$sroa$231$0$$sroa_idx32 = 0, $$sroa$234$0$$sroa_idx35 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.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.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0.0, $74 = 0.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, $exitcond = 0, $exitcond40 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy4 = sp + 76|0; + $$byval_copy3 = sp + 56|0; + $$byval_copy2 = sp + 48|0; + $0 = sp + 72|0; + $1 = sp + 24|0; + $2 = sp + 8|0; + $3 = sp + 68|0; + $4 = sp + 64|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 16|0; + $10 = sp; + $11 = (_IsKeyPressed(82)|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = HEAP32[7732]|0; + $14 = HEAP32[3]|0; + $15 = (+($14|0)); + $16 = $15 * 0.60000002384185791; + $$sroa$033$0$$sroa_idx = ((($13)) + 8|0); + HEAPF32[$$sroa$033$0$$sroa_idx>>2] = 35.0; + $$sroa$234$0$$sroa_idx35 = ((($13)) + 12|0); + HEAPF32[$$sroa$234$0$$sroa_idx35>>2] = $16; + $$sroa$030$0$$sroa_idx = ((($13)) + 16|0); + HEAPF32[$$sroa$030$0$$sroa_idx>>2] = 0.0; + $$sroa$231$0$$sroa_idx32 = ((($13)) + 20|0); + HEAPF32[$$sroa$231$0$$sroa_idx32>>2] = 0.0; + $17 = ((($13)) + 32|0); + HEAPF32[$17>>2] = 0.0; + _SetPhysicsBodyRotation($13,0.52359879016876221); + $18 = HEAP32[7733]|0; + $19 = HEAP32[2]|0; + $20 = (($19) + -35)|0; + $21 = (+($20|0)); + $22 = HEAP32[3]|0; + $23 = (+($22|0)); + $24 = $23 * 0.60000002384185791; + $$sroa$027$0$$sroa_idx = ((($18)) + 8|0); + HEAPF32[$$sroa$027$0$$sroa_idx>>2] = $21; + $$sroa$228$0$$sroa_idx29 = ((($18)) + 12|0); + HEAPF32[$$sroa$228$0$$sroa_idx29>>2] = $24; + $25 = HEAP32[7733]|0; + $$sroa$0$0$$sroa_idx = ((($25)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx26 = ((($25)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx26>>2] = 0.0; + $26 = ((($25)) + 32|0); + HEAPF32[$26>>2] = 0.0; + $27 = HEAP32[7733]|0; + _SetPhysicsBodyRotation($27,5.7595863342285156); + } + _BeginDrawing(); + HEAP8[$0>>0] = 0; + $28 = ((($0)) + 1|0); + HEAP8[$28>>0] = 0; + $29 = ((($0)) + 2|0); + HEAP8[$29>>0] = 0; + $30 = ((($0)) + 3|0); + HEAP8[$30>>0] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$0+3>>0]|0; + _ClearBackground($$byval_copy4); + $31 = HEAP32[2]|0; + $32 = (($31) + -90)|0; + $33 = HEAP32[3]|0; + $34 = (($33) + -30)|0; + _DrawFPS($32,$34); + $35 = (_GetPhysicsBodiesCount()|0); + $36 = ($35|0)>(0); + if ($36) { + $37 = ((($3)) + 1|0); + $38 = ((($3)) + 2|0); + $39 = ((($3)) + 3|0); + $$038 = 0; + while(1) { + $82 = (_GetPhysicsBody($$038)|0); + $83 = ($82|0)==(0|0); + if (!($83)) { + $84 = (_GetPhysicsShapeVerticesCount($$038)|0); + $85 = ($84|0)>(0); + if ($85) { + $$03637 = 0; + while(1) { + _GetPhysicsShapeVertex($1,$82,$$03637); + $86 = (($$03637) + 1)|0; + $87 = ($86|0)<($84|0); + $88 = $87 ? $86 : 0; + _GetPhysicsShapeVertex($2,$82,$88); + HEAP8[$3>>0] = 0; + HEAP8[$37>>0] = -28; + HEAP8[$38>>0] = 48; + HEAP8[$39>>0] = -1; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; + _DrawLineV($$byval_copy2,$$byval_copy3,$$byval_copy4); + $exitcond = ($86|0)==($84|0); + if ($exitcond) { + break; + } else { + $$03637 = $86; + } + } + } + } + $89 = (($$038) + 1)|0; + $exitcond40 = ($89|0)==($35|0); + if ($exitcond40) { + break; + } else { + $$038 = $89; + } + } + } + $40 = HEAP32[3]|0; + $41 = (($40) + -49)|0; + $42 = HEAP32[2]|0; + HEAP8[$4>>0] = 0; + $43 = ((($4)) + 1|0); + HEAP8[$43>>0] = 0; + $44 = ((($4)) + 2|0); + HEAP8[$44>>0] = 0; + $45 = ((($4)) + 3|0); + HEAP8[$45>>0] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle(0,$41,$42,49,$$byval_copy4); + $46 = HEAP32[2]|0; + $47 = (_MeasureText(3290,30)|0); + $48 = (($46) - ($47))|0; + $49 = (($48|0) / 2)&-1; + HEAP32[$5>>2] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$5+3>>0]|0; + _DrawText(3290,$49,75,30,$$byval_copy4); + $50 = HEAP32[7732]|0; + $51 = ((($50)) + 8|0); + $52 = +HEAPF32[$51>>2]; + $53 = (_MeasureText(3306,20)|0); + $54 = (($53|0) / 2)&-1; + $55 = (+($54|0)); + $56 = $52 - $55; + $57 = (~~(($56))); + $58 = HEAP32[7732]|0; + $59 = ((($58)) + 12|0); + $60 = +HEAPF32[$59>>2]; + $61 = $60 + -7.0; + $62 = (~~(($61))); + HEAP32[$6>>2] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$6+3>>0]|0; + _DrawText(3306,$57,$62,20,$$byval_copy4); + $63 = HEAP32[7733]|0; + $64 = ((($63)) + 8|0); + $65 = +HEAPF32[$64>>2]; + $66 = (_MeasureText(3310,20)|0); + $67 = (($66|0) / 2)&-1; + $68 = (+($67|0)); + $69 = $65 - $68; + $70 = (~~(($69))); + $71 = HEAP32[7733]|0; + $72 = ((($71)) + 12|0); + $73 = +HEAPF32[$72>>2]; + $74 = $73 + -7.0; + $75 = (~~(($74))); + HEAP32[$7>>2] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText(3310,$70,$75,20,$$byval_copy4); + HEAP32[$8>>2] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText(3312,10,10,10,$$byval_copy4); + $76 = HEAP32[7731]|0; + $77 = HEAP32[4]|0; + HEAP32[$9>>2] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(3283,$76,$77,30,$$byval_copy4); + $78 = HEAP32[7731]|0; + $79 = (($78) + 50)|0; + $80 = HEAP32[4]|0; + $81 = (($80) + -7)|0; + HEAP32[$10>>2] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$10+3>>0]|0; + _DrawText(3339,$79,$81,10,$$byval_copy4); + _EndDrawing(); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetCurrentTime()); + HEAPF64[1747] = $1; + return; +} +function _GetCurrentTime() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.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; + (_clock_gettime(1,($0|0))|0); + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)<(0); + $3 = $2 << 31 >> 31; + $4 = (___muldi3(($1|0),($3|0),1000000000,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 = (+($10>>>0)) + (4294967296.0*(+($11>>>0))); + $13 = $12 * 9.9999999999999995E-7; + STACKTOP = sp;return (+$13); +} +function _MathClamp() { + var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1745]; + $1 = $0 < 0.0; + if ($1) { + $$sink = 0.0; + } else { + $2 = $0 > 0.02; + if ($2) { + $$sink = 0.02; + } else { + return; + } + } + HEAPF64[1745] = $$sink; + return; +} +function _PhysicsStep() { + var $$0 = 0, $$0125165 = 0, $$0126163 = 0, $$0127147 = 0, $$0129148 = 0, $$0130 = 0, $$0130160 = 0, $$0130161 = 0, $$0131150 = 0, $$0132 = 0, $$0133152 = 0, $$0134155 = 0, $$0134155$ph = 0, $$0135158 = 0, $$0136156 = 0, $$0167 = 0, $$0168 = 0, $$pr = 0, $$pr172 = 0, $$sroa$0$0$$sroa_idx = 0; + var $$sroa$2$0$$sroa_idx1 = 0, $0 = 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, $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, $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.0, $32 = 0, $33 = 0, $34 = 0.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, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7734]|0; + $1 = (($0) + 1)|0; + HEAP32[7734] = $1; + $2 = HEAP32[3634]|0; + $$0167 = (($2) + -1)|0; + $3 = ($$0167|0)>(-1); + if ($3) { + $$0168 = $$0167; + while(1) { + $6 = (14540 + ($$0168<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + _DestroyPhysicsManifold($7); + } + $$0 = (($$0168) + -1)|0; + $9 = ($$0|0)>(-1); + if ($9) { + $$0168 = $$0; + } else { + break; + } + } + } + $4 = HEAP32[3569]|0; + $5 = ($4|0)==(0); + if ($5) { + $17 = $4; + label = 8; + } else { + $$0125165 = 0; + while(1) { + $11 = (14280 + ($$0125165<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 76|0); + HEAP32[$13>>2] = 0; + $14 = (($$0125165) + 1)|0; + $15 = ($14>>>0)<($4>>>0); + if ($15) { + $$0125165 = $14; + } else { + break; + } + } + $$pr = HEAP32[3569]|0; + $10 = ($$pr|0)==(0); + if (!($10)) { + $$0126163 = 0; + while(1) { + $19 = (14280 + ($$0126163<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0|0); + if (!($21)) { + $$0130160 = (($$0126163) + 1)|0; + $22 = HEAP32[3569]|0; + $23 = ($$0130160>>>0)<($22>>>0); + if ($23) { + $24 = ((($20)) + 56|0); + $25 = ((($20)) + 84|0); + $$0130161 = $$0130160; + while(1) { + $26 = (14280 + ($$0130161<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0|0); + do { + if (!($28)) { + $31 = +HEAPF32[$24>>2]; + $32 = $31 == 0.0; + if ($32) { + $33 = ((($27)) + 56|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 == 0.0; + if ($35) { + break; + } + } + $36 = HEAP32[$25>>2]|0; + $37 = ($36|0)==(1); + if ($37) { + $38 = ((($27)) + 84|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $41 = (_CreatePhysicsManifold($27,$20)|0); + $$0132 = $41; + } else { + label = 20; + } + } else { + label = 20; + } + if ((label|0) == 20) { + label = 0; + $42 = (_CreatePhysicsManifold($20,$27)|0); + $$0132 = $42; + } + _SolvePhysicsManifold($$0132); + $43 = ((($$0132)) + 40|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(0); + if (!($45)) { + $46 = (_CreatePhysicsManifold($20,$27)|0); + $47 = ((($$0132)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ((($46)) + 12|0); + HEAP32[$49>>2] = $48; + $50 = ((($46)) + 16|0); + $51 = ((($$0132)) + 16|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $50; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = ((($46)) + 24|0); + $63 = ((($$0132)) + 24|0); + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $62; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = ((($46)) + 32|0); + $75 = ((($$0132)) + 32|0); + $76 = $75; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $74; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = HEAP32[$43>>2]|0; + $87 = ((($46)) + 40|0); + HEAP32[$87>>2] = $86; + $88 = ((($$0132)) + 44|0); + $89 = HEAP32[$88>>2]|0; + $90 = ((($46)) + 44|0); + HEAP32[$90>>2] = $89; + $91 = ((($$0132)) + 48|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($46)) + 48|0); + HEAP32[$93>>2] = $92; + $94 = ((($$0132)) + 52|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($46)) + 52|0); + HEAP32[$96>>2] = $95; + } + } + } while(0); + $$0130 = (($$0130161) + 1)|0; + $29 = HEAP32[3569]|0; + $30 = ($$0130>>>0)<($29>>>0); + if ($30) { + $$0130161 = $$0130; + } else { + break; + } + } + } + } + $97 = (($$0126163) + 1)|0; + $98 = HEAP32[3569]|0; + $99 = ($97>>>0)<($98>>>0); + if ($99) { + $$0126163 = $97; + } else { + $17 = $98; + label = 8; + break; + } + } + } + } + if ((label|0) == 8) { + $16 = ($17|0)==(0); + if (!($16)) { + $18 = HEAP32[3569]|0; + $$0135158 = 0; + while(1) { + $103 = (14280 + ($$0135158<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)==(0|0); + if (!($105)) { + _IntegratePhysicsForces($104); + } + $106 = (($$0135158) + 1)|0; + $107 = ($106>>>0)<($18>>>0); + if ($107) { + $$0135158 = $106; + } else { + break; + } + } + } + } + $100 = HEAP32[3634]|0; + $101 = ($100|0)==(0); + if ($101) { + $$0134155 = 0;$114 = 0; + } else { + $102 = HEAP32[3634]|0; + $$0136156 = 0; + while(1) { + $108 = (14540 + ($$0136156<<2)|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)==(0|0); + if (!($110)) { + _InitializePhysicsManifolds($109); + } + $111 = (($$0136156) + 1)|0; + $112 = ($111>>>0)<($102>>>0); + if ($112) { + $$0136156 = $111; + } else { + $$0134155$ph = 0; + label = 32; + break; + } + } + } + while(1) { + if ((label|0) == 32) { + label = 0; + $$pr172 = HEAP32[3634]|0; + $$0134155 = $$0134155$ph;$114 = $$pr172; + } + $113 = ($114|0)==(0); + if (!($113)) { + $115 = (14540 + ($$0134155<<2)|0); + $$0133152 = 0; + while(1) { + $120 = HEAP32[$115>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + _IntegratePhysicsImpulses($120); + } + $122 = (($$0133152) + 1)|0; + $123 = HEAP32[3634]|0; + $124 = ($122>>>0)<($123>>>0); + if ($124) { + $$0133152 = $122; + } else { + break; + } + } + } + $119 = (($$0134155) + 1)|0; + $exitcond = ($119|0)==(100); + if ($exitcond) { + break; + } else { + $$0134155$ph = $119; + label = 32; + } + } + $116 = HEAP32[3569]|0; + $117 = ($116|0)==(0); + if (!($117)) { + $118 = HEAP32[3569]|0; + $$0131150 = 0; + while(1) { + $128 = (14280 + ($$0131150<<2)|0); + $129 = HEAP32[$128>>2]|0; + $130 = ($129|0)==(0|0); + if (!($130)) { + _IntegratePhysicsVelocity($129); + } + $131 = (($$0131150) + 1)|0; + $132 = ($131>>>0)<($118>>>0); + if ($132) { + $$0131150 = $131; + } else { + break; + } + } + } + $125 = HEAP32[3634]|0; + $126 = ($125|0)==(0); + if (!($126)) { + $127 = HEAP32[3634]|0; + $$0129148 = 0; + while(1) { + $136 = (14540 + ($$0129148<<2)|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($137|0)==(0|0); + if (!($138)) { + _CorrectPhysicsPositions($137); + } + $139 = (($$0129148) + 1)|0; + $140 = ($139>>>0)<($127>>>0); + if ($140) { + $$0129148 = $139; + } else { + break; + } + } + } + $133 = HEAP32[3569]|0; + $134 = ($133|0)==(0); + if ($134) { + return; + } + $135 = HEAP32[3569]|0; + $$0127147 = 0; + while(1) { + $141 = (14280 + ($$0127147<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if (!($143)) { + $$sroa$0$0$$sroa_idx = ((($142)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx1 = ((($142)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = 0.0; + $144 = ((($142)) + 36|0); + HEAPF32[$144>>2] = 0.0; + } + $145 = (($$0127147) + 1)|0; + $146 = ($145>>>0)<($135>>>0); + if ($146) { + $$0127147 = $145; + } else { + break; + } + } + return; +} +function _DestroyPhysicsManifold($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$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; + var $24 = 0, $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|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3634]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3634]|0; + $$02023 = 0; + while(1) { + $6 = (14540 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14540 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3568]|0; + $15 = (($14) + -56)|0; + HEAP32[3568] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3634]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3634]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14540 + ($$022<<2)|0); + $25 = (14540 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3634] = $19; + return; +} +function _CreatePhysicsManifold($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$04457 = 0, $$044576162 = 0, $$04755 = 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; + var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + $2 = (_malloc(56)|0); + $3 = HEAP32[3568]|0; + $4 = (($3) + 56)|0; + HEAP32[3568] = $4; + $5 = HEAP32[3634]|0; + $6 = ($5|0)==(0); + $$04457 = 0; + L1: while(1) { + if ($6) { + $$044576162 = 0; + break; + } else { + $$04755 = 0; + } + while(1) { + $9 = (14540 + ($$04755<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==($$04457|0); + $8 = (($$04755) + 1)|0; + if ($12) { + break; + } + $7 = ($8>>>0)<($5>>>0); + if ($7) { + $$04755 = $8; + } else { + label = 6; + break L1; + } + } + $13 = (($$04457) + 1)|0; + $14 = ($13|0)<(4096); + if ($14) { + $$04457 = $13; + } else { + label = 8; + break; + } + } + if ((label|0) == 8) { + return ($2|0); + } + if ((label|0) == 6) { + $15 = ($$04457|0)==(-1); + if ($15) { + return ($2|0); + } else { + $$044576162 = $$04457; + } + } + HEAP32[$2>>2] = $$044576162; + $16 = ((($2)) + 4|0); + HEAP32[$16>>2] = $0; + $17 = ((($2)) + 8|0); + HEAP32[$17>>2] = $1; + $18 = ((($2)) + 12|0); + dest=$18; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $19 = HEAP32[3634]|0; + $20 = (14540 + ($19<<2)|0); + HEAP32[$20>>2] = $2; + $21 = (($19) + 1)|0; + HEAP32[3634] = $21; + return ($2|0); +} +function _SolvePhysicsManifold($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.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 84|0); + $4 = HEAP32[$3>>2]|0; + L1: do { + switch ($4|0) { + case 0: { + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + _SolveCircleToCircle($0); + break L1; + break; + } + case 1: { + _SolveCircleToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + case 1: { + $9 = ((($0)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 84|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 0: { + _SolvePolygonToCircle($0); + break L1; + break; + } + case 1: { + _SolvePolygonToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + default: { + } + } + } while(0); + $13 = ((($0)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 76|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + return; + } + $18 = ((($0)) + 20|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19 < 0.0; + $21 = $20&1; + HEAP32[$15>>2] = $21; + return; +} +function _IntegratePhysicsForces($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 56|0); + $2 = +HEAPF32[$1>>2]; + $3 = $2 == 0.0; + if ($3) { + return; + } + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + return; + } + $7 = ((($0)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $2 * $8; + $10 = $9; + $11 = +HEAPF64[1748]; + $12 = $11 * 0.5; + $13 = $10 * $12; + $14 = ((($0)) + 16|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $16 + $13; + $18 = $17; + HEAPF32[$14>>2] = $18; + $19 = ((($0)) + 28|0); + $20 = +HEAPF32[$19>>2]; + $21 = $2 * $20; + $22 = $21; + $23 = $12 * $22; + $24 = ((($0)) + 20|0); + $25 = +HEAPF32[$24>>2]; + $26 = $25; + $27 = $26 + $23; + $28 = $27; + HEAPF32[$24>>2] = $28; + $29 = ((($0)) + 72|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = +HEAPF32[7735]; + $33 = $32; + $34 = $12 * $33; + $35 = +HEAPF32[$14>>2]; + $36 = $35; + $37 = $36 + $34; + $38 = $37; + HEAPF32[$14>>2] = $38; + $39 = +HEAPF32[5]; + $40 = $39; + $41 = $12 * $40; + $42 = +HEAPF32[$24>>2]; + $43 = $42; + $44 = $43 + $41; + $45 = $44; + HEAPF32[$24>>2] = $45; + } + $46 = ((($0)) + 80|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==(0); + if (!($48)) { + return; + } + $49 = ((($0)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = ((($0)) + 48|0); + $52 = +HEAPF32[$51>>2]; + $53 = $50 * $52; + $54 = $53; + $55 = $12 * $54; + $56 = ((($0)) + 32|0); + $57 = +HEAPF32[$56>>2]; + $58 = $57; + $59 = $58 + $55; + $60 = $59; + HEAPF32[$56>>2] = $60; + return; +} +function _InitializePhysicsManifolds($0) { + $0 = $0|0; + var $$byval_copy14 = 0, $$byval_copy9 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0; + var $26 = 0, $27 = 0.0, $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, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0; + var $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0; + var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0; + var $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy14 = sp + 48|0; + $$byval_copy9 = sp + 40|0; + $1 = sp + 24|0; + $2 = sp + 16|0; + $3 = sp + 8|0; + $4 = sp; + $5 = sp + 32|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($7)) + 68|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($9)) + 68|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 * $13; + $15 = (+Math_sqrt((+$14))); + $16 = ((($0)) + 44|0); + HEAPF32[$16>>2] = $15; + $17 = ((($7)) + 60|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($9)) + 60|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + $22 = (+Math_sqrt((+$21))); + $23 = ((($0)) + 52|0); + HEAPF32[$23>>2] = $22; + $24 = ((($7)) + 64|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($9)) + 64|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 * $27; + $29 = (+Math_sqrt((+$28))); + $30 = ((($0)) + 48|0); + HEAPF32[$30>>2] = $29; + $31 = ((($7)) + 8|0); + $32 = ((($9)) + 8|0); + $33 = ((($7)) + 32|0); + $34 = ((($9)) + 32|0); + $35 = ((($9)) + 16|0); + $36 = ((($7)) + 16|0); + $37 = ((($9)) + 20|0); + $38 = ((($3)) + 4|0); + $39 = ((($7)) + 20|0); + $40 = ((($$byval_copy9)) + 4|0); + $41 = ((($4)) + 4|0); + $42 = +HEAPF32[7735]; + $43 = $42; + $44 = +HEAPF64[1748]; + $45 = $43 * $44; + $46 = $45; + $47 = ((($5)) + 4|0); + $48 = +HEAPF32[5]; + $49 = $48; + $50 = $49 * $44; + $51 = $50; + $52 = ((($0)) + 24|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $53 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$53,$$byval_copy14); + $54 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$54,$$byval_copy14); + $55 = +HEAPF32[$35>>2]; + $56 = +HEAPF32[$3>>2]; + $57 = $55 + $56; + $58 = +HEAPF32[$36>>2]; + $59 = $57 - $58; + $60 = +HEAPF32[$$byval_copy9>>2]; + $61 = $59 - $60; + HEAPF32[$4>>2] = $61; + $62 = +HEAPF32[$37>>2]; + $63 = +HEAPF32[$38>>2]; + $64 = $62 + $63; + $65 = +HEAPF32[$39>>2]; + $66 = $64 - $65; + $67 = +HEAPF32[$40>>2]; + $68 = $66 - $67; + HEAPF32[$41>>2] = $68; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $69 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $70 = (+_MathLenSqr($$byval_copy14)); + $71 = $70 + 9.9999999747524271E-7; + $72 = $69 < $71; + if ($72) { + HEAPF32[$16>>2] = 0.0; + } + $73 = ((($0)) + 32|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$74,$$byval_copy14); + $75 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$75,$$byval_copy14); + $76 = +HEAPF32[$35>>2]; + $77 = +HEAPF32[$3>>2]; + $78 = $76 + $77; + $79 = +HEAPF32[$36>>2]; + $80 = $78 - $79; + $81 = +HEAPF32[$$byval_copy9>>2]; + $82 = $80 - $81; + HEAPF32[$4>>2] = $82; + $83 = +HEAPF32[$37>>2]; + $84 = +HEAPF32[$38>>2]; + $85 = $83 + $84; + $86 = +HEAPF32[$39>>2]; + $87 = $85 - $86; + $88 = +HEAPF32[$40>>2]; + $89 = $87 - $88; + HEAPF32[$41>>2] = $89; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $90 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $91 = (+_MathLenSqr($$byval_copy14)); + $92 = $91 + 9.9999999747524271E-7; + $93 = $90 < $92; + if (!($93)) { + STACKTOP = sp;return; + } + HEAPF32[$16>>2] = 0.0; + STACKTOP = sp;return; +} +function _IntegratePhysicsImpulses($0) { + $0 = $0|0; + var $$0 = 0, $$0135139 = 0, $$1 = 0, $$byval_copy29 = 0, $$sink = 0.0, $$sink138 = 0.0, $$sroa$047$0$$sroa_idx = 0, $$sroa$050$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$248$0$$sroa_idx49 = 0, $$sroa$251$0$$sroa_idx52 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0; + var $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0; + var $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0; + var $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0; + var $18 = 0, $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0, $197 = 0.0; + var $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0; + var $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0.0, $220 = 0.0, $221 = 0.0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0; + var $233 = 0.0, $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0.0, $240 = 0.0, $25 = 0.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.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0; + var $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0; + var $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $cond1 = 0, $fabsf = 0.0, $fabsf136 = 0.0, $tmpcast137$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $tmpcast137$byval_copy = sp + 136|0; + $$byval_copy29 = sp + 128|0; + $1 = sp + 40|0; + $2 = sp + 32|0; + $3 = sp + 8|0; + $4 = sp + 120|0; + $5 = sp + 112|0; + $6 = sp + 104|0; + $7 = sp + 96|0; + $8 = sp + 24|0; + $9 = sp + 88|0; + $10 = sp + 80|0; + $11 = sp + 72|0; + $12 = sp + 64|0; + $13 = sp + 56|0; + $14 = sp + 16|0; + $15 = sp; + $16 = sp + 48|0; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($18)) + 56|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($20)) + 56|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 + $24; + $fabsf = (+Math_abs((+$25))); + $26 = !($fabsf <= 9.9999999747524271E-7); + if (!($26)) { + $$sroa$050$0$$sroa_idx = ((($18)) + 16|0); + HEAPF32[$$sroa$050$0$$sroa_idx>>2] = 0.0; + $$sroa$251$0$$sroa_idx52 = ((($18)) + 20|0); + HEAPF32[$$sroa$251$0$$sroa_idx52>>2] = 0.0; + $$sroa$047$0$$sroa_idx = ((($20)) + 16|0); + HEAPF32[$$sroa$047$0$$sroa_idx>>2] = 0.0; + $$sroa$248$0$$sroa_idx49 = ((($20)) + 20|0); + HEAPF32[$$sroa$248$0$$sroa_idx49>>2] = 0.0; + STACKTOP = sp;return; + } + $27 = ((($0)) + 40|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0); + if ($29) { + STACKTOP = sp;return; + } + $30 = ((($18)) + 8|0); + $31 = ((($20)) + 8|0); + $32 = ((($20)) + 16|0); + $33 = ((($20)) + 32|0); + $34 = ((($18)) + 16|0); + $35 = ((($18)) + 32|0); + $36 = ((($20)) + 20|0); + $37 = ((($6)) + 4|0); + $38 = ((($18)) + 20|0); + $39 = ((($7)) + 4|0); + $40 = ((($3)) + 4|0); + $41 = ((($0)) + 16|0); + $42 = ((($18)) + 48|0); + $43 = ((($20)) + 48|0); + $44 = ((($0)) + 44|0); + $45 = ((($8)) + 4|0); + $46 = ((($0)) + 20|0); + $47 = ((($18)) + 4|0); + $48 = ((($20)) + 4|0); + $49 = ((($12)) + 4|0); + $50 = ((($13)) + 4|0); + $51 = ((($14)) + 4|0); + $52 = ((($0)) + 52|0); + $$sroa$2$0$$sroa_idx2 = ((($15)) + 4|0); + $53 = ((($20)) + 80|0); + $54 = ((($18)) + 80|0); + $55 = ((($16)) + 4|0); + $56 = ((($0)) + 48|0); + $57 = ((($20)) + 80|0); + $58 = ((($18)) + 80|0); + $59 = ((($9)) + 4|0); + $$0135139 = 0; + while(1) { + $63 = (((($0)) + 24|0) + ($$0135139<<3)|0); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$30>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$30+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy29,$tmpcast137$byval_copy); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$31>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy29,$tmpcast137$byval_copy); + $64 = +HEAPF32[$32>>2]; + $65 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($4,$65,$tmpcast137$byval_copy); + $66 = +HEAPF32[$4>>2]; + $67 = $64 + $66; + $68 = +HEAPF32[$34>>2]; + $69 = $67 - $68; + $70 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($5,$70,$tmpcast137$byval_copy); + $71 = +HEAPF32[$5>>2]; + $72 = $69 - $71; + HEAPF32[$3>>2] = $72; + $73 = +HEAPF32[$36>>2]; + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($6,$74,$tmpcast137$byval_copy); + $75 = +HEAPF32[$37>>2]; + $76 = $73 + $75; + $77 = +HEAPF32[$38>>2]; + $78 = $76 - $77; + $79 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($7,$79,$tmpcast137$byval_copy); + $80 = +HEAPF32[$39>>2]; + $81 = $78 - $80; + HEAPF32[$40>>2] = $81; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $82 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $83 = $82 > 0.0; + if ($83) { + $$1 = 1; + } else { + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $84 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $85 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $86 = +HEAPF32[$21>>2]; + $87 = +HEAPF32[$23>>2]; + $88 = $86 + $87; + $89 = $84 * $84; + $90 = +HEAPF32[$42>>2]; + $91 = $89 * $90; + $92 = $88 + $91; + $93 = $85 * $85; + $94 = +HEAPF32[$43>>2]; + $95 = $93 * $94; + $96 = $92 + $95; + $97 = +HEAPF32[$44>>2]; + $98 = $97 + 1.0; + $99 = $82 * $98; + $100 = -$99; + $101 = $100 / $96; + $102 = HEAP32[$27>>2]|0; + $103 = (+($102>>>0)); + $104 = $101 / $103; + $105 = +HEAPF32[$41>>2]; + $106 = $105 * $104; + HEAPF32[$8>>2] = $106; + $107 = +HEAPF32[$46>>2]; + $108 = $104 * $107; + HEAPF32[$45>>2] = $108; + $109 = HEAP32[$47>>2]|0; + $110 = ($109|0)==(0); + if (!($110)) { + $111 = +HEAPF32[$21>>2]; + $112 = +HEAPF32[$8>>2]; + $113 = $111 * $112; + $114 = +HEAPF32[$34>>2]; + $115 = $114 - $113; + HEAPF32[$34>>2] = $115; + $116 = +HEAPF32[$45>>2]; + $117 = $111 * $116; + $118 = +HEAPF32[$38>>2]; + $119 = $118 - $117; + HEAPF32[$38>>2] = $119; + $120 = HEAP32[$58>>2]|0; + $121 = ($120|0)==(0); + if ($121) { + $122 = +HEAPF32[$42>>2]; + $123 = +HEAPF32[$8>>2]; + $124 = -$123; + HEAPF32[$9>>2] = $124; + $125 = +HEAPF32[$45>>2]; + $126 = -$125; + HEAPF32[$59>>2] = $126; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$9+4>>2]|0; + $127 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $128 = $122 * $127; + $129 = +HEAPF32[$35>>2]; + $130 = $129 + $128; + HEAPF32[$35>>2] = $130; + } + } + $131 = HEAP32[$48>>2]|0; + $132 = ($131|0)==(0); + if (!($132)) { + $133 = +HEAPF32[$23>>2]; + $134 = +HEAPF32[$8>>2]; + $135 = $133 * $134; + $136 = +HEAPF32[$32>>2]; + $137 = $136 + $135; + HEAPF32[$32>>2] = $137; + $138 = +HEAPF32[$45>>2]; + $139 = $133 * $138; + $140 = +HEAPF32[$36>>2]; + $141 = $140 + $139; + HEAPF32[$36>>2] = $141; + $142 = HEAP32[$57>>2]|0; + $143 = ($142|0)==(0); + if ($143) { + $144 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + $145 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $146 = $144 * $145; + $147 = +HEAPF32[$33>>2]; + $148 = $147 + $146; + HEAPF32[$33>>2] = $148; + } + } + $149 = +HEAPF32[$32>>2]; + $150 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($10,$150,$tmpcast137$byval_copy); + $151 = +HEAPF32[$10>>2]; + $152 = $149 + $151; + $153 = +HEAPF32[$34>>2]; + $154 = $152 - $153; + $155 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($11,$155,$tmpcast137$byval_copy); + $156 = +HEAPF32[$11>>2]; + $157 = $154 - $156; + HEAPF32[$3>>2] = $157; + $158 = +HEAPF32[$36>>2]; + $159 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($12,$159,$tmpcast137$byval_copy); + $160 = +HEAPF32[$49>>2]; + $161 = $158 + $160; + $162 = +HEAPF32[$38>>2]; + $163 = $161 - $162; + $164 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($13,$164,$tmpcast137$byval_copy); + $165 = +HEAPF32[$50>>2]; + $166 = $163 - $165; + HEAPF32[$40>>2] = $166; + $167 = +HEAPF32[$3>>2]; + $168 = +HEAPF32[$41>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $169 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $170 = $168 * $169; + $171 = $167 - $170; + HEAPF32[$14>>2] = $171; + $172 = +HEAPF32[$40>>2]; + $173 = +HEAPF32[$46>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $174 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $175 = $173 * $174; + $176 = $172 - $175; + HEAPF32[$51>>2] = $176; + _MathNormalize($14); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$14+4>>2]|0; + $177 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $178 = -$177; + $179 = $178 / $96; + $180 = HEAP32[$27>>2]|0; + $181 = (+($180>>>0)); + $182 = $179 / $181; + $fabsf136 = (+Math_abs((+$182))); + $183 = !($fabsf136 <= 9.9999999747524271E-7); + if ($183) { + $184 = $15; + $185 = $184; + HEAP32[$185>>2] = 0; + $186 = (($184) + 4)|0; + $187 = $186; + HEAP32[$187>>2] = 0; + $188 = +HEAPF32[$52>>2]; + $189 = $104 * $188; + $190 = $fabsf136 < $189; + $191 = +HEAPF32[$14>>2]; + $192 = +HEAPF32[$51>>2]; + if ($190) { + $193 = $182 * $191; + $194 = $182 * $192; + $$sink = $194;$$sink138 = $193; + } else { + $195 = -$104; + $196 = $191 * $195; + $197 = +HEAPF32[$56>>2]; + $198 = $196 * $197; + $199 = $192 * $195; + $200 = $199 * $197; + $$sink = $200;$$sink138 = $198; + } + HEAPF32[$15>>2] = $$sink138; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $$sink; + $201 = HEAP32[$47>>2]|0; + $202 = ($201|0)==(0); + if (!($202)) { + $203 = +HEAPF32[$21>>2]; + $204 = +HEAPF32[$15>>2]; + $205 = $203 * $204; + $206 = +HEAPF32[$34>>2]; + $207 = $206 - $205; + HEAPF32[$34>>2] = $207; + $208 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $209 = $203 * $208; + $210 = +HEAPF32[$38>>2]; + $211 = $210 - $209; + HEAPF32[$38>>2] = $211; + $212 = HEAP32[$54>>2]|0; + $213 = ($212|0)==(0); + if ($213) { + $214 = +HEAPF32[$42>>2]; + $215 = +HEAPF32[$15>>2]; + $216 = -$215; + HEAPF32[$16>>2] = $216; + $217 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $218 = -$217; + HEAPF32[$55>>2] = $218; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$16+4>>2]|0; + $219 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $220 = $214 * $219; + $221 = +HEAPF32[$35>>2]; + $222 = $221 + $220; + HEAPF32[$35>>2] = $222; + } + } + $223 = HEAP32[$48>>2]|0; + $224 = ($223|0)==(0); + if (!($224)) { + $225 = +HEAPF32[$23>>2]; + $226 = +HEAPF32[$15>>2]; + $227 = $225 * $226; + $228 = +HEAPF32[$32>>2]; + $229 = $228 + $227; + HEAPF32[$32>>2] = $229; + $230 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $231 = $225 * $230; + $232 = +HEAPF32[$36>>2]; + $233 = $232 + $231; + HEAPF32[$36>>2] = $233; + $234 = HEAP32[$53>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $236 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$15+4>>2]|0; + $237 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $238 = $236 * $237; + $239 = +HEAPF32[$33>>2]; + $240 = $239 + $238; + HEAPF32[$33>>2] = $240; + } + } + $$0 = 0; + } else { + $$0 = 1; + } + $$1 = $$0; + } + $cond1 = ($$1|0)==(0); + $62 = (($$0135139) + 1)|0; + if (!($cond1)) { + label = 26; + break; + } + $60 = HEAP32[$27>>2]|0; + $61 = ($62>>>0)<($60>>>0); + if ($61) { + $$0135139 = $62; + } else { + label = 26; + break; + } + } + if ((label|0) == 26) { + STACKTOP = sp;return; + } +} +function _IntegratePhysicsVelocity($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 16|0); + $5 = +HEAPF32[$4>>2]; + $6 = $5; + $7 = +HEAPF64[1748]; + $8 = $6 * $7; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $10; + $12 = $8 + $11; + $13 = $12; + HEAPF32[$9>>2] = $13; + $14 = ((($0)) + 20|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $7 * $16; + $18 = ((($0)) + 12|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19; + $21 = $20 + $17; + $22 = $21; + HEAPF32[$18>>2] = $22; + $23 = ((($0)) + 80|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = ((($0)) + 32|0); + $27 = +HEAPF32[$26>>2]; + $28 = $27; + $29 = $7 * $28; + $30 = ((($0)) + 40|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31; + $33 = $32 + $29; + $34 = $33; + HEAPF32[$30>>2] = $34; + } + $35 = ((($0)) + 484|0); + $36 = ((($0)) + 40|0); + $37 = +HEAPF32[$36>>2]; + _Mat2Set($35,$37); + _IntegratePhysicsForces($0); + return; +} +function _CorrectPhysicsPositions($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0; + var $46 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 + -0.05000000074505806; + $8 = $7 > 0.0; + $9 = $8 ? $7 : 0.0; + $10 = ((($2)) + 56|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($4)) + 56|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 + $13; + $15 = $9 / $14; + $16 = ((($0)) + 16|0); + $17 = +HEAPF32[$16>>2]; + $18 = $17 * $15; + $19 = $18 * 0.40000000596046448; + $20 = ((($0)) + 20|0); + $21 = +HEAPF32[$20>>2]; + $22 = $15 * $21; + $23 = $22 * 0.40000000596046448; + $24 = ((($2)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = $11 * $19; + $28 = ((($2)) + 8|0); + $29 = +HEAPF32[$28>>2]; + $30 = $29 - $27; + HEAPF32[$28>>2] = $30; + $31 = $11 * $23; + $32 = ((($2)) + 12|0); + $33 = +HEAPF32[$32>>2]; + $34 = $33 - $31; + HEAPF32[$32>>2] = $34; + } + $35 = ((($4)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + return; + } + $38 = +HEAPF32[$12>>2]; + $39 = $19 * $38; + $40 = ((($4)) + 8|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 + $39; + HEAPF32[$40>>2] = $42; + $43 = $23 * $38; + $44 = ((($4)) + 12|0); + $45 = +HEAPF32[$44>>2]; + $46 = $43 + $45; + HEAPF32[$44>>2] = $46; + return; +} +function _SolveCircleToCircle($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy2 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$02$0$$sroa_idx = 0, $$sroa$05$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$23$0$$sroa_idx4 = 0, $$sroa$26$0$$sroa_idx7 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.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.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0; + var $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $6 = 0, $7 = 0; + var $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy2 = sp + 16|0; + $$byval_copy = sp + 8|0; + $1 = sp; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 8|0); + $7 = ((($3)) + 8|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy,$$byval_copy2); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; + $8 = (+_MathLenSqr($$byval_copy2)); + $9 = ((($3)) + 92|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($5)) + 92|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 + $12; + $14 = $13 * $13; + $15 = !($8 >= $14); + if (!($15)) { + $16 = ((($0)) + 40|0); + HEAP32[$16>>2] = 0; + STACKTOP = sp;return; + } + $17 = (+Math_sqrt((+$8))); + $18 = ((($0)) + 40|0); + HEAP32[$18>>2] = 1; + $19 = $17 == 0.0; + if ($19) { + $20 = HEAP32[$9>>2]|0; + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $$sroa$05$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$05$0$$sroa_idx>>2] = 1.0; + $$sroa$26$0$$sroa_idx7 = ((($0)) + 20|0); + HEAPF32[$$sroa$26$0$$sroa_idx7>>2] = 0.0; + $22 = ((($0)) + 24|0); + $23 = $7; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + } else { + $33 = $13 - $17; + $34 = ((($0)) + 12|0); + HEAPF32[$34>>2] = $33; + $35 = +HEAPF32[$1>>2]; + $36 = $35 / $17; + $37 = ((($1)) + 4|0); + $38 = +HEAPF32[$37>>2]; + $39 = $38 / $17; + $$sroa$02$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$02$0$$sroa_idx>>2] = $36; + $$sroa$23$0$$sroa_idx4 = ((($0)) + 20|0); + HEAPF32[$$sroa$23$0$$sroa_idx4>>2] = $39; + $40 = +HEAPF32[$9>>2]; + $41 = $36 * $40; + $42 = +HEAPF32[$7>>2]; + $43 = $41 + $42; + $44 = $39 * $40; + $45 = ((($3)) + 12|0); + $46 = +HEAPF32[$45>>2]; + $47 = $44 + $46; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $43; + $$sroa$2$0$$sroa_idx1 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $47; + } + $48 = ((($3)) + 76|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + STACKTOP = sp;return; + } + $51 = ((($0)) + 20|0); + $52 = +HEAPF32[$51>>2]; + $53 = $52 < 0.0; + $54 = $53&1; + HEAP32[$48>>2] = $54; + STACKTOP = sp;return; +} +function _SolveCircleToPolygon($0) { + $0 = $0|0; + var $$0$lcssa = 0.0, $$0125 = 0.0, $$093$lcssa = 0, $$093124 = 0, $$097123 = 0, $$1 = 0.0, $$194 = 0, $$byval_copy41 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$011$0$$sroa_idx = 0, $$sroa$014$0$$sroa_idx = 0, $$sroa$04$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx3 = 0, $$sroa$212$0$$sroa_idx13 = 0, $$sroa$215$0$$sroa_idx16 = 0, $$sroa$25$0$$sroa_idx6 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0; + var $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.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.0; + var $157 = 0.0, $158 = 0.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.0, $219 = 0.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.0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.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.0, $46 = 0.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.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $tmpcast104$byval_copy42 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 608|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(608|0); + $tmpcast104$byval_copy42 = sp + 584|0; + $$byval_copy41 = sp + 568|0; + $1 = sp + 24|0; + $2 = sp + 552|0; + $3 = sp + 544|0; + $4 = sp + 88|0; + $5 = sp + 536|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 528|0; + $10 = sp + 520|0; + $11 = sp + 512|0; + $12 = sp + 504|0; + $13 = sp + 80|0; + $14 = sp + 72|0; + $15 = sp + 64|0; + $16 = sp + 56|0; + $17 = sp + 48|0; + $18 = sp + 40|0; + $19 = sp + 496|0; + $20 = sp + 32|0; + $21 = ((($0)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($0)) + 40|0); + HEAP32[$25>>2] = 0; + $26 = ((($22)) + 8|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $1; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = ((($24)) + 96|0); + $38 = ((($24)) + 484|0); + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$38>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$38+4>>2]|0;HEAP32[$tmpcast104$byval_copy42+8>>2]=HEAP32[$38+8>>2]|0;HEAP32[$tmpcast104$byval_copy42+12>>2]=HEAP32[$38+12>>2]|0; + _Mat2Transpose($2,$tmpcast104$byval_copy42); + $39 = ((($24)) + 8|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Subtract_4($3,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$2+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$3>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$3+4>>2]|0; + _Mat2MultiplyVector2($1,$$byval_copy41,$tmpcast104$byval_copy42); + _memcpy(($4|0),($37|0),404)|0; + $40 = HEAP32[$4>>2]|0; + $41 = ($40|0)==(0); + L1: do { + if ($41) { + $$0$lcssa = -3.4028234663852886E+38;$$093$lcssa = 0; + } else { + $42 = ((($22)) + 92|0); + $$0125 = -3.4028234663852886E+38;$$093124 = 0;$$097123 = 0; + while(1) { + $43 = (((($4)) + 196|0) + ($$097123<<3)|0); + $44 = (((($4)) + 4|0) + ($$097123<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$44>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$44+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$43+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$5+4>>2]|0; + $45 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $46 = +HEAPF32[$42>>2]; + $47 = $45 > $46; + $48 = $45 > $$0125; + if ($47) { + break; + } + $$1 = $48 ? $45 : $$0125; + $$194 = $48 ? $$097123 : $$093124; + $49 = (($$097123) + 1)|0; + $50 = HEAP32[$4>>2]|0; + $51 = ($49>>>0)<($50>>>0); + if ($51) { + $$0125 = $$1;$$093124 = $$194;$$097123 = $49; + } else { + $$0$lcssa = $$1;$$093$lcssa = $$194; + break L1; + } + } + STACKTOP = sp;return; + } + } while(0); + $52 = (((($4)) + 4|0) + ($$093$lcssa<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$093$lcssa) + 1)|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (((($4)) + 4|0) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = $$0$lcssa < 9.9999999747524271E-7; + do { + if ($78) { + HEAP32[$25>>2] = 1; + $79 = ((($4)) + 388|0); + $80 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$79>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$79+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$79+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$80>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$80+4>>2]|0; + _Mat2MultiplyVector2($8,$$byval_copy41,$tmpcast104$byval_copy42); + $81 = +HEAPF32[$8>>2]; + $82 = -$81; + $83 = ((($8)) + 4|0); + $84 = +HEAPF32[$83>>2]; + $85 = -$84; + $$sroa$014$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$014$0$$sroa_idx>>2] = $82; + $$sroa$215$0$$sroa_idx16 = ((($0)) + 20|0); + HEAPF32[$$sroa$215$0$$sroa_idx16>>2] = $85; + $86 = ((($22)) + 92|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 * $82; + $89 = +HEAPF32[$26>>2]; + $90 = $88 + $89; + $91 = $87 * $85; + $92 = ((($22)) + 12|0); + $93 = +HEAPF32[$92>>2]; + $94 = $91 + $93; + $$sroa$011$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$011$0$$sroa_idx>>2] = $90; + $$sroa$212$0$$sroa_idx13 = ((($0)) + 28|0); + HEAPF32[$$sroa$212$0$$sroa_idx13>>2] = $94; + $95 = HEAP32[$86>>2]|0; + $96 = ((($0)) + 12|0); + HEAP32[$96>>2] = $95; + } else { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($9,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($10,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$10+4>>2]|0; + $97 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($11,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($12,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$12>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$12+4>>2]|0; + $98 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $99 = ((($22)) + 92|0); + $100 = +HEAPF32[$99>>2]; + $101 = $100 - $$0$lcssa; + $102 = ((($0)) + 12|0); + HEAPF32[$102>>2] = $101; + $103 = !($97 <= 0.0); + if (!($103)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + $104 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $105 = +HEAPF32[$99>>2]; + $106 = $105 * $105; + $107 = $104 > $106; + if ($107) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $108 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($13,$$byval_copy41,$tmpcast104$byval_copy42); + $109 = $13; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = $8; + $116 = $115; + HEAP32[$116>>2] = $111; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $114; + _MathNormalize($8); + $119 = ((($0)) + 16|0); + $120 = $8; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = $119; + $127 = $126; + HEAP32[$127>>2] = $122; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $125; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($14,$$byval_copy41,$tmpcast104$byval_copy42); + $130 = $14; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = $6; + $137 = $136; + HEAP32[$137>>2] = $132; + $138 = (($136) + 4)|0; + $139 = $138; + HEAP32[$139>>2] = $135; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($15,$$byval_copy41,$tmpcast104$byval_copy42); + $140 = $15; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = $6; + $147 = $146; + HEAP32[$147>>2] = $142; + $148 = (($146) + 4)|0; + $149 = $148; + HEAP32[$149>>2] = $145; + $150 = ((($0)) + 24|0); + $151 = $150; + $152 = $151; + HEAP32[$152>>2] = $142; + $153 = (($151) + 4)|0; + $154 = $153; + HEAP32[$154>>2] = $145; + break; + } + $155 = !($98 <= 0.0); + if (!($155)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + $156 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $157 = +HEAPF32[$99>>2]; + $158 = $157 * $157; + $159 = $156 > $158; + if ($159) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $160 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($16,$$byval_copy41,$tmpcast104$byval_copy42); + $161 = $16; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = $7; + $168 = $167; + HEAP32[$168>>2] = $163; + $169 = (($167) + 4)|0; + $170 = $169; + HEAP32[$170>>2] = $166; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($17,$$byval_copy41,$tmpcast104$byval_copy42); + $171 = $17; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = $7; + $178 = $177; + HEAP32[$178>>2] = $173; + $179 = (($177) + 4)|0; + $180 = $179; + HEAP32[$180>>2] = $176; + $181 = ((($0)) + 24|0); + $182 = $181; + $183 = $182; + HEAP32[$183>>2] = $173; + $184 = (($182) + 4)|0; + $185 = $184; + HEAP32[$185>>2] = $176; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($18,$$byval_copy41,$tmpcast104$byval_copy42); + $186 = $18; + $187 = $186; + $188 = HEAP32[$187>>2]|0; + $189 = (($186) + 4)|0; + $190 = $189; + $191 = HEAP32[$190>>2]|0; + $192 = $8; + $193 = $192; + HEAP32[$193>>2] = $188; + $194 = (($192) + 4)|0; + $195 = $194; + HEAP32[$195>>2] = $191; + _MathNormalize($8); + $196 = ((($0)) + 16|0); + $197 = $8; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = (($197) + 4)|0; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = $196; + $204 = $203; + HEAP32[$204>>2] = $199; + $205 = (($203) + 4)|0; + $206 = $205; + HEAP32[$206>>2] = $202; + break; + } + $207 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + $208 = $207; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = $8; + $215 = $214; + HEAP32[$215>>2] = $210; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $213; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($19,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$19+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + $218 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $219 = +HEAPF32[$99>>2]; + $220 = $218 > $219; + if ($220) { + break; + } else { + $221 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$221>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$221+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$221+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$221+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($20,$$byval_copy41,$tmpcast104$byval_copy42); + $222 = $20; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (($222) + 4)|0; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = $8; + $229 = $228; + HEAP32[$229>>2] = $224; + $230 = (($228) + 4)|0; + $231 = $230; + HEAP32[$231>>2] = $227; + $232 = +HEAPF32[$8>>2]; + $233 = -$232; + $234 = ((($8)) + 4|0); + $235 = +HEAPF32[$234>>2]; + $236 = -$235; + $$sroa$04$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$04$0$$sroa_idx>>2] = $233; + $$sroa$25$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$25$0$$sroa_idx6>>2] = $236; + $237 = +HEAPF32[$99>>2]; + $238 = $237 * $233; + $239 = +HEAPF32[$26>>2]; + $240 = $238 + $239; + $241 = $237 * $236; + $242 = ((($22)) + 12|0); + $243 = +HEAPF32[$242>>2]; + $244 = $241 + $243; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $240; + $$sroa$2$0$$sroa_idx3 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx3>>2] = $244; + HEAP32[$25>>2] = 1; + break; + } + } + } while(0); + STACKTOP = sp;return; +} +function _SolvePolygonToCircle($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $4; + HEAP32[$3>>2] = $2; + _SolveCircleToPolygon($0); + $5 = ((($0)) + 16|0); + $6 = +HEAPF32[$5>>2]; + $7 = -$6; + HEAPF32[$5>>2] = $7; + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = -$9; + HEAPF32[$8>>2] = $10; + return; +} +function _SolvePolygonToPolygon($0) { + $0 = $0|0; + var $$0 = 0, $$051 = 0, $$051$in = 0, $$052 = 0, $$1 = 0, $$byval_copy24 = 0, $$sink = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx12 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0.0; + var $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0.0, $126 = 0.0; + var $127 = 0.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.0, $14 = 0, $140 = 0.0, $141 = 0, $142 = 0.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.0, $156 = 0.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.0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0.0, $173 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0.0, $26 = 0, $27 = 0.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, $tmpcast58$byval_copy23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 3008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(3008|0); + $$byval_copy24 = sp + 2584|0; + $tmpcast58$byval_copy23 = sp + 2168|0; + $1 = sp + 1744|0; + $2 = sp + 1328|0; + $3 = sp + 1324|0; + $4 = sp + 1320|0; + $5 = sp + 904|0; + $6 = sp + 488|0; + $7 = sp + 24|0; + $8 = sp + 80|0; + $9 = sp + 16|0; + $10 = sp + 8|0; + $11 = sp + 64|0; + $12 = sp + 56|0; + $13 = sp + 48|0; + $14 = sp + 40|0; + $15 = sp + 72|0; + $16 = sp; + $17 = sp + 2160|0; + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 84|0); + _memcpy(($1|0),($20|0),416)|0; + $21 = ((($0)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 84|0); + _memcpy(($2|0),($23|0),416)|0; + $24 = ((($0)) + 40|0); + HEAP32[$24>>2] = 0; + HEAP32[$3>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($1|0),416)|0; + _memcpy(($$byval_copy24|0),($2|0),416)|0; + $25 = (+_FindAxisLeastPenetration($3,$tmpcast58$byval_copy23,$$byval_copy24)); + $26 = !($25 >= 0.0); + if (!($26)) { + STACKTOP = sp;return; + } + HEAP32[$4>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($2|0),416)|0; + _memcpy(($$byval_copy24|0),($1|0),416)|0; + $27 = (+_FindAxisLeastPenetration($4,$tmpcast58$byval_copy23,$$byval_copy24)); + $28 = !($27 >= 0.0); + if ($28) { + $29 = (_BiasGreaterThan($25,$27)|0); + $30 = ($29|0)==(0); + if ($30) { + _memcpy(($5|0),($2|0),416)|0; + _memcpy(($6|0),($1|0),416)|0; + $$051$in = $4;$$052 = 1; + } else { + _memcpy(($5|0),($1|0),416)|0; + _memcpy(($6|0),($2|0),416)|0; + $$051$in = $3;$$052 = 0; + } + $$051 = HEAP32[$$051$in>>2]|0; + $31 = ((($7)) + 8|0); + _memcpy(($tmpcast58$byval_copy23|0),($5|0),416)|0; + _memcpy(($$byval_copy24|0),($6|0),416)|0; + _FindIncidentFace($7,$31,$tmpcast58$byval_copy23,$$byval_copy24,$$051); + $32 = ((($5)) + 12|0); + _memcpy(($8|0),($32|0),404)|0; + $33 = (((($8)) + 4|0) + ($$051<<3)|0); + $34 = $33; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = $9; + $41 = $40; + HEAP32[$41>>2] = $36; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $39; + $44 = (($$051) + 1)|0; + $45 = HEAP32[$8>>2]|0; + $46 = ($44>>>0)<($45>>>0); + $47 = $46 ? $44 : 0; + $48 = (((($8)) + 4|0) + ($47<<3)|0); + $49 = $48; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = $10; + $56 = $55; + HEAP32[$56>>2] = $51; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $54; + $59 = ((($8)) + 388|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast58$byval_copy23,$$byval_copy24); + $60 = $11; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = $9; + $67 = $66; + HEAP32[$67>>2] = $62; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = $65; + $70 = ((($5)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$72>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$72+4>>2]|0; + _Vector2Add_2($12,$tmpcast58$byval_copy23,$$byval_copy24); + $73 = $12; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = $9; + $80 = $79; + HEAP32[$80>>2] = $75; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $78; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast58$byval_copy23,$$byval_copy24); + $83 = $13; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = $10; + $90 = $89; + HEAP32[$90>>2] = $85; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = $88; + $93 = HEAP32[$70>>2]|0; + $94 = ((($93)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$94>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$94+4>>2]|0; + _Vector2Add_2($14,$tmpcast58$byval_copy23,$$byval_copy24); + $95 = $14; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = $10; + $102 = $101; + HEAP32[$102>>2] = $97; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast58$byval_copy23,$$byval_copy24); + _MathNormalize($15); + $105 = ((($15)) + 4|0); + $106 = HEAP32[$105>>2]|0; + HEAP32[$16>>2] = $106; + $107 = ((($16)) + 4|0); + $108 = +HEAPF32[$15>>2]; + $109 = -$108; + HEAPF32[$107>>2] = $109; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $110 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $111 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $112 = -$111; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + $113 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $114 = +HEAPF32[$15>>2]; + $115 = -$114; + HEAPF32[$17>>2] = $115; + $116 = ((($17)) + 4|0); + $117 = +HEAPF32[$105>>2]; + $118 = -$117; + HEAPF32[$116>>2] = $118; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$17+4>>2]|0; + $119 = (_Clip($$byval_copy24,$112,$7,$31)|0); + $120 = ($119|0)<(2); + if (!($120)) { + ;HEAP32[$$byval_copy24>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$15+4>>2]|0; + $121 = (_Clip($$byval_copy24,$113,$7,$31)|0); + $122 = ($121|0)<(2); + if (!($122)) { + $123 = ($$052|0)==(0); + if ($123) { + $128 = ((($0)) + 16|0); + $129 = $16; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = $128; + $136 = $135; + HEAP32[$136>>2] = $131; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $134; + } else { + $124 = +HEAPF32[$16>>2]; + $125 = -$124; + $126 = +HEAPF32[$107>>2]; + $127 = -$126; + $$sroa$0$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $125; + $$sroa$2$0$$sroa_idx12 = ((($0)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx12>>2] = $127; + } + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$7+4>>2]|0; + $139 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $140 = $139 - $110; + $141 = !($140 <= 0.0); + if ($141) { + $$0 = 0;$$sink = 0.0; + } else { + $142 = -$140; + $143 = ((($0)) + 24|0); + $144 = $7; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = $143; + $151 = $150; + HEAP32[$151>>2] = $146; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = $149; + $$0 = 1;$$sink = $142; + } + $154 = ((($0)) + 12|0); + HEAPF32[$154>>2] = $$sink; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$31+4>>2]|0; + $155 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $156 = $155 - $110; + $157 = !($156 <= 0.0); + if ($157) { + $$1 = $$0; + } else { + $158 = (((($0)) + 24|0) + ($$0<<3)|0); + $159 = $31; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = $158; + $166 = $165; + HEAP32[$166>>2] = $161; + $167 = (($165) + 4)|0; + $168 = $167; + HEAP32[$168>>2] = $164; + $169 = +HEAPF32[$154>>2]; + $170 = $169 - $156; + $171 = (($$0) + 1)|0; + $172 = (+($171|0)); + $173 = $170 / $172; + HEAPF32[$154>>2] = $173; + $$1 = $171; + } + HEAP32[$24>>2] = $$1; + } + } + } + STACKTOP = sp;return; +} +function _MathLenSqr($0) { + $0 = $0|0; + var $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + return (+$6); +} +function _Mat2Transpose($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 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $2; + $3 = ((($0)) + 4|0); + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $8; + $9 = ((($0)) + 12|0); + $10 = ((($1)) + 12|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + return; +} +function _MathDot($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 * $3; + $5 = ((($0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = $6 * $8; + $10 = $4 + $9; + return (+$10); +} +function _DistSqr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $2 = 0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy3 = sp + 16|0; + $$byval_copy2 = sp + 8|0; + $2 = sp; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; + $3 = (+_MathDot($$byval_copy2,$$byval_copy3)); + STACKTOP = sp;return (+$3); +} +function _FindAxisLeastPenetration($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0.0, $$01727 = 0, $$018$lcssa = 0, $$01826 = 0, $$028 = 0.0, $$1 = 0.0, $$119 = 0, $$byval_copy16 = 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, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0; + var $4 = 0, $40 = 0.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.0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy15 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1344|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1344|0); + $$byval_copy16 = sp + 1320|0; + $tmpcast$byval_copy15 = sp + 904|0; + $3 = sp + 484|0; + $4 = sp + 80|0; + $5 = sp + 8|0; + $6 = sp + 72|0; + $7 = sp + 56|0; + $8 = sp + 48|0; + $9 = sp + 896|0; + $10 = sp; + $11 = sp + 40|0; + $12 = sp + 32|0; + $13 = sp + 24|0; + $14 = sp + 16|0; + $15 = sp + 888|0; + $16 = ((($1)) + 12|0); + _memcpy(($3|0),($16|0),404)|0; + $17 = ((($2)) + 12|0); + _memcpy(($4|0),($17|0),404)|0; + $18 = HEAP32[$3>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $$0$lcssa = -3.4028234663852886E+38;$$018$lcssa = 0; + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); + } + $20 = ((($3)) + 388|0); + $21 = ((($4)) + 388|0); + $22 = ((($9)) + 4|0); + $23 = ((($5)) + 4|0); + $24 = ((($1)) + 4|0); + $25 = ((($2)) + 4|0); + $$01727 = 0;$$01826 = 0;$$028 = -3.4028234663852886E+38; + while(1) { + $26 = (((($3)) + 196|0) + ($$01727<<3)|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $5; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$5+4>>2]|0; + _Mat2MultiplyVector2($6,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy16+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy16+12>>2]=HEAP32[$21+12>>2]|0; + _Mat2Transpose($7,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($5,$tmpcast$byval_copy15,$$byval_copy16); + $37 = +HEAPF32[$5>>2]; + $38 = -$37; + HEAPF32[$9>>2] = $38; + $39 = +HEAPF32[$23>>2]; + $40 = -$39; + HEAPF32[$22>>2] = $40; + _memcpy(($tmpcast$byval_copy15|0),($2|0),416)|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$9+4>>2]|0; + _GetSupport($8,$tmpcast$byval_copy15,$$byval_copy16); + $41 = (((($3)) + 4|0) + ($$01727<<3)|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $10; + $49 = $48; + HEAP32[$49>>2] = $44; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy15,$$byval_copy16); + $52 = $11; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $10; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = HEAP32[$24>>2]|0; + $63 = ((($62)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$63+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy15,$$byval_copy16); + $64 = $12; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $10; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = HEAP32[$25>>2]|0; + $75 = ((($74)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$75>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$75+4>>2]|0; + _Vector2Subtract_4($13,$tmpcast$byval_copy15,$$byval_copy16); + $76 = $13; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $10; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($14,$tmpcast$byval_copy15,$$byval_copy16); + $86 = $14; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = $10; + $93 = $92; + HEAP32[$93>>2] = $88; + $94 = (($92) + 4)|0; + $95 = $94; + HEAP32[$95>>2] = $91; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$15+4>>2]|0; + $96 = (+_MathDot($tmpcast$byval_copy15,$$byval_copy16)); + $97 = $96 > $$028; + $$119 = $97 ? $$01727 : $$01826; + $$1 = $97 ? $96 : $$028; + $98 = (($$01727) + 1)|0; + $99 = HEAP32[$3>>2]|0; + $100 = ($98>>>0)<($99>>>0); + if ($100) { + $$01727 = $98;$$01826 = $$119;$$028 = $$1; + } else { + $$0$lcssa = $$1;$$018$lcssa = $$119; + break; + } + } + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); +} +function _BiasGreaterThan($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 * 0.94999998807907104; + $3 = $0 * 0.0099999997764825821; + $4 = $3 + $2; + $5 = $4 <= $0; + $6 = $5&1; + return ($6|0); +} +function _FindIncidentFace($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$02434 = 0, $$02533 = 0.0, $$035 = 0, $$1 = 0, $$126 = 0.0, $$byval_copy13 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0; + var $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, $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, $tmpcast$byval_copy12 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 912|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(912|0); + $$byval_copy13 = sp + 896|0; + $tmpcast$byval_copy12 = sp + 880|0; + $5 = sp + 460|0; + $6 = sp + 56|0; + $7 = sp; + $8 = sp + 48|0; + $9 = sp + 864|0; + $10 = sp + 40|0; + $11 = sp + 32|0; + $12 = sp + 24|0; + $13 = sp + 16|0; + $14 = sp + 8|0; + $15 = ((($2)) + 12|0); + _memcpy(($5|0),($15|0),404)|0; + $16 = ((($3)) + 12|0); + _memcpy(($6|0),($16|0),404)|0; + $17 = (((($5)) + 196|0) + ($4<<3)|0); + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $7; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = ((($5)) + 388|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$28>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($8,$tmpcast$byval_copy12,$$byval_copy13); + $29 = $8; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = $7; + $36 = $35; + HEAP32[$36>>2] = $31; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; + $39 = ((($6)) + 388|0); + ;HEAP32[$$byval_copy13>>2]=HEAP32[$39>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[$39+12>>2]|0; + _Mat2Transpose($9,$$byval_copy13); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($10,$tmpcast$byval_copy12,$$byval_copy13); + $40 = $10; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = $7; + $47 = $46; + HEAP32[$47>>2] = $42; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = HEAP32[$6>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $$0$lcssa = 0; + } else { + $52 = HEAP32[$6>>2]|0; + $$02434 = 0;$$02533 = 3.4028234663852886E+38;$$035 = 0; + while(1) { + $104 = (((($6)) + 196|0) + ($$02434<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$104>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$104+4>>2]|0; + $105 = (+_MathDot($tmpcast$byval_copy12,$$byval_copy13)); + $106 = $105 < $$02533; + $$126 = $106 ? $105 : $$02533; + $$1 = $106 ? $$02434 : $$035; + $107 = (($$02434) + 1)|0; + $108 = ($107>>>0)<($52>>>0); + if ($108) { + $$02434 = $107;$$02533 = $$126;$$035 = $$1; + } else { + $$0$lcssa = $$1; + break; + } + } + } + $53 = (((($6)) + 4|0) + ($$0$lcssa<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$53+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy12,$$byval_copy13); + $54 = $11; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = $0; + $61 = $60; + HEAP32[$61>>2] = $56; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = ((($3)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($65)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$66>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$66+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy12,$$byval_copy13); + $67 = $12; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $72; + $77 = (($$0$lcssa) + 1)|0; + $78 = HEAP32[$6>>2]|0; + $79 = ($77>>>0)<($78>>>0); + $80 = $79 ? $77 : 0; + $81 = (((($6)) + 4|0) + ($80<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$81+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast$byval_copy12,$$byval_copy13); + $82 = $13; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $1; + $89 = $88; + HEAP32[$89>>2] = $84; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + $92 = HEAP32[$64>>2]|0; + $93 = ((($92)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$93>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$93+4>>2]|0; + _Vector2Add_2($14,$tmpcast$byval_copy12,$$byval_copy13); + $94 = $14; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = $1; + $101 = $100; + HEAP32[$101>>2] = $96; + $102 = (($100) + 4)|0; + $103 = $102; + HEAP32[$103>>2] = $99; + STACKTOP = sp;return; +} +function _Clip($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy6 = 0, $$byval_copy7 = 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, $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.0, $29 = 0.0, $30 = 0.0, $31 = 0.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.0, $57 = 0, $58 = 0.0, $59 = 0.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.0, $72 = 0.0, $73 = 0; + var $74 = 0.0, $75 = 0.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 + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy7 = sp + 40|0; + $$byval_copy6 = sp + 32|0; + $4 = sp; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = $2; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = $4; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $12; + $17 = ((($4)) + 8|0); + $18 = $3; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $17; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + $28 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $29 = $28 - $1; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0; + $30 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $31 = $30 - $1; + $32 = !($29 <= 0.0); + if ($32) { + $$0 = 0; + } else { + $33 = $2; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = $4; + $40 = $39; + HEAP32[$40>>2] = $35; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $38; + $$0 = 1; + } + $43 = !($31 <= 0.0); + if ($43) { + $$1 = $$0; + } else { + $44 = (($4) + ($$0<<3)|0); + $45 = (($$0) + 1)|0; + $46 = $3; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = $44; + $53 = $52; + HEAP32[$53>>2] = $48; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $$1 = $45; + } + $56 = $29 * $31; + $57 = $56 < 0.0; + if (!($57)) { + $$2 = $$1; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); + } + $58 = $29 - $31; + $59 = $29 / $58; + $60 = (($4) + ($$1<<3)|0); + $61 = $2; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = $60; + $68 = $67; + HEAP32[$68>>2] = $63; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $66; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy6,$$byval_copy7); + $71 = +HEAPF32[$5>>2]; + $72 = $59 * $71; + HEAPF32[$5>>2] = $72; + $73 = ((($5)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $59 * $74; + HEAPF32[$73>>2] = $75; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$60+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$5+4>>2]|0; + _Vector2Add_2($6,$$byval_copy6,$$byval_copy7); + $76 = $6; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $60; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = (($$1) + 1)|0; + $$2 = $86; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); +} +function _GetSupport($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$019 = 0.0, $$1 = 0.0, $$byval_copy = 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.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 432|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(432|0); + $$byval_copy = sp + 424|0; + $tmpcast$byval_copy = sp + 416|0; + $3 = sp + 8|0; + $4 = sp; + $5 = ((($1)) + 12|0); + _memcpy(($3|0),($5|0),404)|0; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + $11 = 0;$14 = 0; + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $$01318 = 0;$$019 = -3.4028234663852886E+38;$29 = 0;$31 = 0; + while(1) { + $15 = (((($3)) + 4|0) + ($$01318<<3)|0); + $16 = $15; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = $4; + $23 = $22; + HEAP32[$23>>2] = $18; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + $26 = (+_MathDot($tmpcast$byval_copy,$$byval_copy)); + $27 = $26 > $$019; + $28 = $27 ? $18 : $29; + $30 = $27 ? $21 : $31; + $$1 = $27 ? $26 : $$019; + $32 = (($$01318) + 1)|0; + $33 = ($32>>>0)<($8>>>0); + if ($33) { + $$01318 = $32;$$019 = $$1;$29 = $28;$31 = $30; + } else { + $11 = $28;$14 = $30; + break; + } + } + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; +} +function _MathCross($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $1; + $6 = -$5; + HEAPF32[$0>>2] = $6; + $7 = ((($0)) + 4|0); + $8 = +HEAPF32[$2>>2]; + $9 = $8 * $1; + HEAPF32[$7>>2] = $9; + return; +} +function _Mat2Set($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = -$3; + $5 = ((($0)) + 4|0); + HEAPF32[$5>>2] = $4; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 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); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[7737] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 13992; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 14032; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[3508]; + $111 = +HEAPF32[3498]; + $112 = $110 - $111; + HEAPF32[3510] = $112; + $113 = +HEAPF32[(14036)>>2]; + $114 = +HEAPF32[(13996)>>2]; + $115 = $113 - $114; + HEAPF32[(14044)>>2] = $115; + HEAP32[7736] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14024>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14024+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14048>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14048+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[7742] = $116; + $117 = 14024; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 13992; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 14048; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 14032; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 14024; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 14048; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[3512]; + $160 = +HEAPF32[3506]; + $161 = $159 - $160; + HEAPF32[3510] = $161; + $162 = +HEAPF32[(14052)>>2]; + $163 = +HEAPF32[(14028)>>2]; + $164 = $162 - $163; + HEAPF32[(14044)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13992>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13992+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14024>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14024+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14032+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14048>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14048+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14024>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14024+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14048>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14048+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[7742]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[7736] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14024>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14024+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14048>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14048+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[7743] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[7742] = 0.0; + HEAPF32[7743] = 0.0; + HEAPF32[3510] = 0.0; + HEAPF32[(14044)>>2] = 0.0; + HEAP32[7737] = 0; + HEAP32[7736] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[7738]|0; + $7 = (($6) + 1)|0; + HEAP32[7738] = $7; + $8 = HEAP32[7736]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13992>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13992+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[7736] = 2; + HEAP32[7738] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[7738] = 1; + HEAP32[7736] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 13992; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 14000; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 14008; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[6] = $34; + HEAPF32[3504] = 0.0; + HEAPF32[(14020)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[7736]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 14008; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13992>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13992+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14008>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14008+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[7739] = $49; + HEAP32[7740] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[6]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13992>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13992+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14008>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14008+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[7741] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[7739] = 0.0; + HEAPF32[7741] = 0.0; + $$sink10 = 0; + } + HEAP32[7736] = $$sink10; + HEAPF32[3500] = 0.0; + HEAPF32[(14004)>>2] = 0.0; + HEAP32[7737] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[7740]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[7740] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 14024; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[7736]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13992>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13992+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14024>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14024+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[7736] = 8; + } + } + $82 = +HEAPF32[3506]; + $83 = +HEAPF32[3500]; + $84 = $82 - $83; + HEAPF32[3504] = $84; + $85 = +HEAPF32[(14028)>>2]; + $86 = +HEAPF32[(14004)>>2]; + $87 = $85 - $86; + HEAPF32[(14020)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7736]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[7737]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[7736] = 4; + } + $4 = HEAP32[7736]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[7736] = 0; + return; +} +function _GetMousePosition($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 = 14056; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7746]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7745]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.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; + _TraceLog(0,3350,$vararg_buffer); + HEAP32[7748] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer_10(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((3379|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3379|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3379|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3379|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3379|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3379|0),(0|0),1,(7|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); + $3 = HEAP32[7746]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[3514] = $5; + $6 = HEAP32[7745]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(14060)>>2] = $8; + $9 = HEAP32[7749]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 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); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[14096>>0]=HEAP8[7908>>0]|0;HEAP8[14096+1>>0]=HEAP8[7908+1>>0]|0;HEAP8[14096+2>>0]=HEAP8[7908+2>>0]|0;HEAP8[14096+3>>0]=HEAP8[7908+3>>0]|0;HEAP8[14096+4>>0]=HEAP8[7908+4>>0]|0;HEAP8[14096+5>>0]=HEAP8[7908+5>>0]|0;HEAP8[14096+6>>0]=HEAP8[7908+6>>0]|0; + break; + } + case 1: { + $3 = 14096; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=14096; src=7915; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 14096; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(14096,$1)|0); + $strlen = (_strlen(14096)|0); + $endptr = (14096 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(14096,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[7746] = $0; + HEAP32[7745] = $1; + _MatrixIdentity($2); + dest=31072; 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)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4050,$vararg_buffer); + } + $6 = HEAP32[7746]|0; + HEAP32[7784] = $6; + $7 = HEAP32[7745]|0; + HEAP32[7785] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[35948]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[35948]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[35948]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4076,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[7786]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[7746]|0; + $48 = HEAP32[7745]|0; + $49 = HEAP32[7748]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[7744] = $50; + $51 = HEAP32[7746]|0; + HEAP32[7787] = $51; + $52 = HEAP32[7745]|0; + HEAP32[7788] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[7746]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[7745]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[7784] = $31; + HEAP32[7785] = $34; + } + } while(0); + $38 = HEAP32[7784]|0; + $39 = HEAP32[7785]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4101,$vararg_buffer3); + $40 = HEAP32[7784]|0; + $41 = HEAP32[7785]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[7784]|0; + $43 = HEAP32[7785]|0; + $44 = HEAP32[7748]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[7744] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4139,$vararg_buffer6); + } else { + _TraceLog(0,4172,$vararg_buffer8); + $55 = HEAP32[7787]|0; + $56 = HEAP32[7788]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4212,$vararg_buffer10); + $57 = HEAP32[7746]|0; + $58 = HEAP32[7745]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4233,$vararg_buffer14); + $59 = HEAP32[7789]|0; + $60 = HEAP32[7790]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,4254,$vararg_buffer18); + } + $61 = HEAP32[7744]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[7744]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[7744]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[7744]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[7744]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[7744]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[7744]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[7744]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[7744]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[35948]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[7746]|0; + $74 = HEAP32[7745]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7787]|0; + $76 = HEAP32[7789]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7788]|0; + $80 = HEAP32[7790]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,4279,$vararg_buffer22); + $73 = HEAP32[7746]|0; + $74 = HEAP32[7745]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7787]|0; + $76 = HEAP32[7789]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7788]|0; + $80 = HEAP32[7790]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 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, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(31040)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (28 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[31016>>2]=HEAP32[$1>>2]|0;HEAP32[31016+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[31016+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[31016+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[31016+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(31040)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(31044)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(31036)>>2] = $23; + $24 = HEAP32[7754]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3574,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(31020)>>2]|0; + $10 = HEAP32[(31040)>>2]|0; + $11 = HEAP32[(31044)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2076 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(31036)>>2] = $23; + $24 = HEAP32[7754]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3574,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer_10() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[1761] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 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 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,3507,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,3438,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,3431)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 14072; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (14080); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 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 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (31000 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 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; + $1 = ($0|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[1758] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,3387,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7749] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.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.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,3950,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[7762]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,3619,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[7763]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,3663,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[7764]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,3708,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[7765]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,3753,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[7766]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,3798,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[7762]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[7762]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[7762]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[7762]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[7763]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[7764]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[7764]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[7765]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[7765]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[7766]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[7766]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,3843,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[7767]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,3921,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,3872,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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, $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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.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; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4004,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + 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] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,7870,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[7746]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[7745]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[7787] = $3; + HEAP32[7788] = $5; + HEAP32[7789] = 0; + HEAP32[7790] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,7804,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[7746]|0; + $36 = (+($35|0)); + $37 = HEAP32[7745]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[7787] = $45; + HEAP32[7788] = $37; + $46 = (($45) - ($35))|0; + HEAP32[7789] = $46; + $$sink1 = 0; + } else { + HEAP32[7787] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[7788] = $42; + HEAP32[7789] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[7790] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[7745]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,7661,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[7746]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[7745]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[7787] = $23; + HEAP32[7788] = $1; + $24 = (($0) - ($23))|0; + HEAP32[7789] = $24; + $$sink = 0; + } else { + HEAP32[7787] = $0; + $17 = HEAP32[7745]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[7788] = $20; + HEAP32[7789] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[7790] = $$sink; + $25 = HEAP32[7787]|0; + $26 = (+($25|0)); + $27 = HEAP32[7746]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=31072; 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)); + HEAP32[7787] = $0; + HEAP32[7788] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,7739,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[7746] = $1; + HEAP32[7745] = $2; + HEAP32[7787] = $1; + HEAP32[7788] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($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, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[744]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (35955 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[743] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 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.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (35949 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 14072; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[743] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[8160] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[8159] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,4302,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,4320,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,4338,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,4356,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,4374)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,4376,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,4411)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[7825] = 1; + $27 = (_eglGetProcAddress((4438|0))|0); + HEAP32[7826] = $27; + $28 = (_eglGetProcAddress((4459|0))|0); + HEAP32[7827] = $28; + $29 = (_eglGetProcAddress((4480|0))|0); + HEAP32[7828] = $29; + } + $30 = (_strcmp($24,4504)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[7767] = 1; + } + $32 = (_strcmp($24,4524)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,4556)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,4589)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[7762] = 1; + } + $39 = (_strcmp($24,4629)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4665)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[7763] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4698)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[7764] = 1; + } + $47 = (_strcmp($44,4723)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[7765] = 1; + } + $49 = (_strcmp($44,4756)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[7766] = 1; + } + $51 = (_strcmp($44,4792)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[7829] = 1; + _glGetFloatv(34047,(31320|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,4826)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[7831] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[7825]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,4929,$vararg_buffer15); + } else { + _TraceLog(0,4854,$vararg_buffer13); + } + $57 = HEAP32[7767]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5065,$vararg_buffer19); + } else { + _TraceLog(0,4990,$vararg_buffer17); + } + $59 = HEAP32[7762]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5157,$vararg_buffer21); + } + $61 = HEAP32[7763]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5203,$vararg_buffer23); + } + $63 = HEAP32[7764]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,5250,$vararg_buffer25); + } + $65 = HEAP32[7765]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,5301,$vararg_buffer27); + } + $67 = HEAP32[7766]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,5348,$vararg_buffer29); + } + $69 = HEAP32[7829]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[7830]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,5395,$vararg_buffer31); + } + $73 = HEAP32[7831]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,5461,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[7832] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,5565,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,5514,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=31332; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=31388; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[7861] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[7861]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[7862] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[7863] = 1; + $85 = HEAP32[7832]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[7864] = 4; + _MatrixIdentity($4); + dest=31460; src=$4; 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)); + _MatrixIdentity($4); + dest=(31524); src=$4; 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)); + _MatrixIdentity($4); + dest=(31588); src=$4; 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)); + _MatrixIdentity($4); + dest=(31652); src=$4; 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)); + _MatrixIdentity($4); + dest=(31716); src=$4; 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)); + _MatrixIdentity($4); + dest=(31780); src=$4; 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)); + _MatrixIdentity($4); + dest=(31844); src=$4; 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)); + _MatrixIdentity($4); + dest=(31908); src=$4; 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)); + _MatrixIdentity($4); + dest=(31972); src=$4; 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)); + _MatrixIdentity($4); + dest=(32036); src=$4; 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)); + _MatrixIdentity($4); + dest=(32100); src=$4; 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)); + _MatrixIdentity($4); + dest=(32164); src=$4; 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)); + _MatrixIdentity($4); + dest=(32228); src=$4; 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)); + _MatrixIdentity($4); + dest=(32292); src=$4; 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)); + _MatrixIdentity($4); + dest=(32356); src=$4; 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)); + _MatrixIdentity($4); + dest=(32420); src=$4; 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)); + _MatrixIdentity($5); + dest=31168; src=$5; 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)); + _MatrixIdentity($6); + dest=31232; src=$6; 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)); + HEAP32[7791] = 31232; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[8121] = $0; + HEAP32[8122] = $1; + _TraceLog(0,5604,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7789]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[7790]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[7787]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[7788]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 31168; + label = 3; + break; + } + case 5888: { + $modelview$sink = 31232; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[7791] = $modelview$sink; + } + HEAP32[7824] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 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); + $0 = sp; + $1 = HEAP32[7791]|0; + _MatrixIdentity($0); + dest=$1; src=$0; 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)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[7791]|0; + dest=$$byval_copy; src=$8; 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)); + dest=$$byval_copy1; src=$6; 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)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; 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)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6180|0),489)|0; + _memcpy(($3|0),(6669|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7158,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7110,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|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 _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 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, $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 = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(32504)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(32512)>>2] = $1; + HEAP32[(32508)>>2] = 0; + HEAP32[(32516)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(32512)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[8123] = 0; + HEAP32[(32500)>>2] = 0; + HEAP32[(32496)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(32552)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(32560)>>2] = $6; + HEAP32[(32556)>>2] = 0; + HEAP32[(32564)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(32560)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[8135] = 0; + HEAP32[(32548)>>2] = 0; + HEAP32[(32544)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(32600)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(32604)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(32608)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(32612)>>2] = $13; + $14 = HEAP32[(32600)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(32604)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(32608)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(32612)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[8147] = 0; + HEAP32[(32592)>>2] = 0; + HEAP32[(32596)>>2] = 0; + _TraceLog(0,5651,$vararg_buffer); + $20 = HEAP32[7825]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[7826]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32520)); + $44 = HEAP32[7827]|0; + $45 = HEAP32[(32520)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((32524)|0)); + $46 = HEAP32[(32524)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(32504)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(31392)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(31392)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((32528)|0)); + $50 = HEAP32[(32528)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(32512)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(31412)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(31412)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[7825]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(32524)>>2]|0; + $58 = HEAP32[(32528)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,5789,$vararg_buffer3); + } else { + $56 = HEAP32[(32520)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,5724,$vararg_buffer1); + } + $59 = HEAP32[7825]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[7826]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32568)); + $62 = HEAP32[7827]|0; + $63 = HEAP32[(32568)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((32572)|0)); + $64 = HEAP32[(32572)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(32552)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(31392)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(31392)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32576)|0)); + $68 = HEAP32[(32576)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(32560)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(31412)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(31412)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[7825]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(32572)>>2]|0; + $76 = HEAP32[(32576)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,5935,$vararg_buffer10); + } else { + $74 = HEAP32[(32568)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,5866,$vararg_buffer7); + } + $77 = HEAP32[7825]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[7826]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32616)); + $80 = HEAP32[7827]|0; + $81 = HEAP32[(32616)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((32620)|0)); + $82 = HEAP32[(32620)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(32600)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(31392)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(31392)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32624)|0)); + $86 = HEAP32[(32624)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(32604)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(31396)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(31396)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((32628)|0)); + $90 = HEAP32[(32628)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(32608)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(31412)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(31412)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((32632)|0)); + $94 = HEAP32[(32632)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(32612)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[7825]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(32620)>>2]|0; + $100 = HEAP32[(32624)>>2]|0; + $101 = HEAP32[(32628)>>2]|0; + $102 = HEAP32[(32632)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6081,$vararg_buffer17); + } else { + $98 = HEAP32[(32616)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6016,$vararg_buffer14); + } + $103 = HEAP32[7825]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[7827]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|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; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,7414,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,7362,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,7411,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,7515,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,7464,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,7411,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7206|0)); + _glBindAttribLocation(($20|0),1,(7221|0)); + _glBindAttribLocation(($20|0),2,(7252|0)); + _glBindAttribLocation(($20|0),3,(7279|0)); + _glBindAttribLocation(($20|0),4,(7265|0)); + _glBindAttribLocation(($20|0),5,(7236|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,7567,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,7411,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,7613,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7206|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7221|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7236|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(7252|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(7265|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(7279|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(7291|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(7301|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(7312|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(7323|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(7335|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(7344|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(7353|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35949 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (35952 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35949 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (35952 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[7744]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,7925,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[31016>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[31016+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[31016+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[31016+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[31016+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(31044)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(31328|0)); + $0 = HEAP32[7832]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,7952,$vararg_buffer); + $1 = HEAP32[7862]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[7833]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + 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; + $0 = HEAP32[7825]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[7827]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((32524)|0)); + _glDeleteBuffers(1,((32528)|0)); + _glDeleteBuffers(1,((32572)|0)); + _glDeleteBuffers(1,((32576)|0)); + _glDeleteBuffers(1,((32620)|0)); + _glDeleteBuffers(1,((32624)|0)); + _glDeleteBuffers(1,((32628)|0)); + _glDeleteBuffers(1,((32632)|0)); + $3 = HEAP32[7825]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7828]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32520)); + $6 = HEAP32[7828]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32568)); + $7 = HEAP32[7828]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32616)); + } + $8 = HEAP32[(32504)>>2]|0; + _free($8); + $9 = HEAP32[(32512)>>2]|0; + _free($9); + $10 = HEAP32[(32552)>>2]|0; + _free($10); + $11 = HEAP32[(32560)>>2]|0; + _free($11); + $12 = HEAP32[(32600)>>2]|0; + _free($12); + $13 = HEAP32[(32604)>>2]|0; + _free($13); + $14 = HEAP32[(32608)>>2]|0; + _free($14); + $15 = HEAP32[(32612)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $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; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8017,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 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); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[1778] = $0; + $1 = +HEAPF64[1761]; + $2 = $0 - $1; + HEAPF64[1779] = $2; + HEAPF64[1761] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=31072; 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)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(32644); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[8161] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(32648)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(32652)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(32656)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(32660)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(32664)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(32668)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(32672)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(32676)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(32680)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(32684)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(32688)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(32692)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(32696)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(32700)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(32704)>>2] = $31; + return (32644|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[7791]|0; + dest=$$byval_copy; src=$49; 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)); + dest=$$byval_copy1; src=$1; 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)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; 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)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[1778] = $0; + $1 = +HEAPF64[1761]; + $2 = $0 - $1; + HEAPF64[1780] = $2; + HEAPF64[1761] = $0; + $3 = +HEAPF64[1779]; + $4 = $2 + $3; + HEAPF64[1781] = $4; + $5 = +HEAPF64[1758]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[1778] = $10; + $11 = +HEAPF64[1761]; + $12 = $10 - $11; + HEAPF64[1761] = $10; + $13 = +HEAPF64[1781]; + $14 = $12 + $13; + HEAPF64[1781] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7744]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[743] = -1; + HEAP32[745] = -1; + HEAP32[8177] = 0; + $3 = HEAP32[7744]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[3514] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(14060)>>2] = $7; + _memcpy((36467|0),(35955|0),512)|0; + ;HEAP8[35952>>0]=HEAP8[35949>>0]|0;HEAP8[35952+1>>0]=HEAP8[35949+1>>0]|0;HEAP8[35952+2>>0]=HEAP8[35949+2>>0]|0; + $8 = HEAP32[8160]|0; + HEAP32[7747] = $8; + HEAP32[8160] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (36979 + ($$05160<<5)|0); + $scevgep67 = (37107 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; 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)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((37107 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[745] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((32712 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[8177] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $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, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8123]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[7825]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[7827]|0; + $5 = HEAP32[(32520)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(32524)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[8123]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(32504)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(32528)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(32500)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(32512)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[8135]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[7825]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[7827]|0; + $19 = HEAP32[(32568)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(32572)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[8135]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(32552)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(32576)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(32548)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(32560)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[8147]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[7825]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[7827]|0; + $33 = HEAP32[(32616)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(32620)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[8147]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(32600)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(32624)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[8147]|0; + $40 = $39 << 3; + $41 = HEAP32[(32604)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(32628)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[8147]|0; + $44 = $43 << 2; + $45 = HEAP32[(32608)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[7825]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[7827]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 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; + 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, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=31168; 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)); + dest=$1; src=31232; 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)); + $3 = HEAP32[8210]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; 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)); + dest=$$byval_copy2; src=$1; 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)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[8123]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[8135]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[8147]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[7847]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=31232; 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)); + dest=$$byval_copy2; src=31168; 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)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(31416)>>2]|0; + dest=$$byval_copy2; 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)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(31420)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(31432)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[8123]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[7832]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[7825]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(32524)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(31392)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(31392)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(32528)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(31412)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(31412)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[7827]|0; + $25 = HEAP32[(32520)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[8123]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[7825]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[8135]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[7832]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[7825]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(32572)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(31392)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(31392)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(32576)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(31412)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(31412)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[7827]|0; + $41 = HEAP32[(32568)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[8135]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[7825]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[8147]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[7825]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(32620)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(31392)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(31392)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(32624)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(31396)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(31396)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(32628)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(31412)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(31412)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(32632)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[7827]|0; + $56 = HEAP32[(32616)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[7863]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[7862]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[7862]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[7863]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[7825]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[7825]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[7827]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[7863] = 1; + $5 = HEAP32[7832]|0; + $6 = HEAP32[7862]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[8123] = 0; + HEAP32[(32500)>>2] = 0; + HEAP32[8135] = 0; + HEAP32[(32548)>>2] = 0; + HEAP32[8147] = 0; + HEAP32[(32592)>>2] = 0; + HEAP32[(32596)>>2] = 0; + HEAPF32[746] = -1.0; + dest=31168; src=$0; 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)); + dest=31232; src=$1; 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)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $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 + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; 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)); + $5 = HEAP32[8121]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[8122]|0; + _rlViewport($7,0,$8,$9); + $10 = (33072 + ($0<<6)|0); + dest=$$byval_copy; 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)); + dest=$$byval_copy3; src=$10; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (32944 + ($0<<6)|0); + dest=$3; src=$11; 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)); + dest=$$byval_copy3; src=$4; 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)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; 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)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31232; src=$0; 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)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31168; src=$0; 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)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 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; + $0 = HEAP32[8300]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8067,$vararg_buffer); + } + $2 = HEAP32[8300]|0; + $3 = (31460 + ($2<<6)|0); + $4 = HEAP32[7791]|0; + dest=$3; src=$4; 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)); + _rlLoadIdentity(); + $5 = HEAP32[8300]|0; + $6 = (($5) + 1)|0; + HEAP32[8300] = $6; + $7 = HEAP32[7824]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[8301] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8300]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[8300]|0; + $3 = (($2) + -1)|0; + $4 = (31460 + ($3<<6)|0); + $5 = HEAP32[7791]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[8300] = $6; + return; +} +function _GetFPS() { + var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_GetFrameTime()); + $1 = 1.0 / $0; + $2 = (~~(($1))); + return ($2|0); +} +function _GetFrameTime() { + var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1781]; + $1 = $0; + return (+$1); +} +function _SetConfigFlags($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP8[35948] = $0; + $1 = $0 & 1; + $2 = ($1<<24>>24)==(0); + if (!($2)) { + HEAP32[7749] = 1; + } + $3 = HEAP8[35948]|0; + $4 = $3 & 2; + $5 = ($4<<24>>24)==(0); + if ($5) { + return; + } + HEAP32[7786] = 1; + return; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35955 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (36467 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[7791]|0; + dest=$$byval_copy; src=$5; 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)); + dest=$$byval_copy1; src=$3; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; 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)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 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 + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; 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)); + _MatrixTranspose($4); + $11 = HEAP32[7791]|0; + dest=$$byval_copy1; src=$11; 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)); + dest=$$byval_copy2; src=$4; 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)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; 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)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7864] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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.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.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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; + 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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 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); + $$byval_copy = sp; + $0 = HEAP32[8301]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[8302]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[7861]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[7791]|0; + dest=$$byval_copy; src=$8; 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)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[8302]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[8301] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[7861]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[8302]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[8301] = 0; + } + HEAP32[8302] = 0; + } + $21 = HEAP32[7864]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[8123]|0; + $23 = HEAP32[(32500)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(32512)>>2]|0; + $28 = HEAP32[(32500)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(32512)>>2]|0; + $35 = HEAP32[(32500)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(32512)>>2]|0; + $43 = HEAP32[(32500)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(32512)>>2]|0; + $51 = HEAP32[(32500)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(32500)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(32500)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[8135]|0; + $62 = HEAP32[(32548)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(32560)>>2]|0; + $67 = HEAP32[(32548)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(32560)>>2]|0; + $74 = HEAP32[(32548)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(32560)>>2]|0; + $82 = HEAP32[(32548)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(32560)>>2]|0; + $90 = HEAP32[(32548)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(32548)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(32548)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[8147]|0; + $101 = HEAP32[(32596)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(32608)>>2]|0; + $106 = HEAP32[(32596)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(32608)>>2]|0; + $113 = HEAP32[(32596)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(32608)>>2]|0; + $121 = HEAP32[(32596)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(32608)>>2]|0; + $129 = HEAP32[(32596)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(32596)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(32596)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[8147]|0; + $140 = HEAP32[(32592)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(32604)>>2]|0; + $$promoted = HEAP32[(32592)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(32592)>>2] = $147; + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + 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, $45 = 0, $46 = 0, $47 = 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; + $3 = HEAP32[8301]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7861]|0; + $6 = HEAP32[8302]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[8302] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[7864]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[8123]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(32504)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[8123] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8105,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[8135]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(32552)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[8135] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8130,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[8147]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(32600)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[8147] = $41; + $42 = HEAP32[7862]|0; + $43 = HEAP32[7863]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8159,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[746]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlVertex2i($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = (+($1|0)); + $4 = +HEAPF32[746]; + _rlVertex3f($2,$3,$4); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[7864]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(32604)>>2]|0; + $5 = HEAP32[(32592)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(32592)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[7864]|0; + switch ($4|0) { + case 1: { + $$sink37 = (32500);$$sink38 = (32512); + break; + } + case 4: { + $$sink37 = (32548);$$sink38 = (32560); + break; + } + case 7: { + $$sink37 = (32596);$$sink38 = (32608); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($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 = HEAP32[7862]|0; + $2 = HEAP32[7863]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[7863] = $10; + } + $11 = HEAP32[7863]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8147]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _GetDefaultTexture($0) { + $0 = $0|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[7832]|0; + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; + return; +} +function _DrawLineV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $3 = HEAP8[$2>>0]|0; + $4 = ((($2)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($2)) + 2|0); + $7 = HEAP8[$6>>0]|0; + $8 = ((($2)) + 3|0); + $9 = HEAP8[$8>>0]|0; + _rlColor4ub($3,$5,$7,$9); + $10 = +HEAPF32[$0>>2]; + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + _rlVertex2f($10,$12); + $13 = +HEAPF32[$1>>2]; + $14 = ((($1)) + 4|0); + $15 = +HEAPF32[$14>>2]; + _rlVertex2f($13,$15); + _rlEnd(); + return; +} +function _DrawRectangle($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 32|0; + $$byval_copy1 = sp + 24|0; + $$byval_copy = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (+($0|0)); + HEAPF32[$5>>2] = $7; + $8 = ((($5)) + 4|0); + $9 = (+($1|0)); + HEAPF32[$8>>2] = $9; + $10 = (+($2|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($3|0)); + HEAPF32[$11>>2] = $12; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawRectangleV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.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.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = (_rlGetVersion()|0); + $5 = ($4|0)==(1); + if ($5) { + _rlBegin(4); + $6 = HEAP8[$2>>0]|0; + $7 = ((($2)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($2)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = ((($2)) + 3|0); + $12 = HEAP8[$11>>0]|0; + _rlColor4ub($6,$8,$10,$12); + $13 = +HEAPF32[$0>>2]; + $14 = (~~(($13))); + $15 = ((($0)) + 4|0); + $16 = +HEAPF32[$15>>2]; + $17 = (~~(($16))); + _rlVertex2i($14,$17); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = $16 + $19; + $21 = (~~(($20))); + _rlVertex2i($14,$21); + $22 = +HEAPF32[$0>>2]; + $23 = +HEAPF32[$1>>2]; + $24 = $22 + $23; + $25 = (~~(($24))); + $26 = +HEAPF32[$15>>2]; + $27 = +HEAPF32[$18>>2]; + $28 = $26 + $27; + $29 = (~~(($28))); + _rlVertex2i($25,$29); + $30 = +HEAPF32[$0>>2]; + $31 = (~~(($30))); + $32 = +HEAPF32[$15>>2]; + $33 = (~~(($32))); + _rlVertex2i($31,$33); + $34 = +HEAPF32[$1>>2]; + $35 = $30 + $34; + $36 = (~~(($35))); + $37 = +HEAPF32[$18>>2]; + $38 = $32 + $37; + $39 = (~~(($38))); + _rlVertex2i($36,$39); + $40 = +HEAPF32[$0>>2]; + $41 = +HEAPF32[$1>>2]; + $42 = $40 + $41; + $43 = (~~(($42))); + $44 = +HEAPF32[$15>>2]; + $45 = (~~(($44))); + _rlVertex2i($43,$45); + _rlEnd(); + STACKTOP = sp;return; + } + $46 = (_rlGetVersion()|0); + $47 = ($46|0)==(2); + if (!($47)) { + $48 = (_rlGetVersion()|0); + $49 = ($48|0)==(3); + if (!($49)) { + $50 = (_rlGetVersion()|0); + $51 = ($50|0)==(4); + if (!($51)) { + STACKTOP = sp;return; + } + } + } + _GetDefaultTexture($3); + $52 = HEAP32[$3>>2]|0; + _rlEnableTexture($52); + _rlBegin(7); + $53 = HEAP8[$2>>0]|0; + $54 = ((($2)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = ((($2)) + 2|0); + $57 = HEAP8[$56>>0]|0; + $58 = ((($2)) + 3|0); + $59 = HEAP8[$58>>0]|0; + _rlColor4ub($53,$55,$57,$59); + _rlTexCoord2f(0.0,0.0); + $60 = +HEAPF32[$0>>2]; + $61 = ((($0)) + 4|0); + $62 = +HEAPF32[$61>>2]; + _rlVertex2f($60,$62); + _rlTexCoord2f(0.0,1.0); + $63 = ((($1)) + 4|0); + $64 = +HEAPF32[$63>>2]; + $65 = $62 + $64; + _rlVertex2f($60,$65); + _rlTexCoord2f(1.0,1.0); + $66 = +HEAPF32[$0>>2]; + $67 = +HEAPF32[$1>>2]; + $68 = $66 + $67; + $69 = +HEAPF32[$61>>2]; + $70 = +HEAPF32[$63>>2]; + $71 = $69 + $70; + _rlVertex2f($68,$71); + _rlTexCoord2f(1.0,0.0); + $72 = +HEAPF32[$0>>2]; + $73 = +HEAPF32[$1>>2]; + $74 = $72 + $73; + $75 = +HEAPF32[$61>>2]; + _rlVertex2f($74,$75); + _rlEnd(); + _rlDisableTexture(); + STACKTOP = sp;return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[31016>>2]|0;HEAP32[$0+4>>2]=HEAP32[31016+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[31016+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[31016+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[31016+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[31016+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[31016+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[31016+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 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; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|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.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.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.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($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; + (_vsprintf(37235,$0,$1)|0); + STACKTOP = sp;return (37235|0); +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _DrawFPS($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $$sink = 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); + $$byval_copy = sp; + $2 = sp + 4|0; + $3 = HEAP32[8303]|0; + $4 = HEAP32[747]|0; + $5 = ($3|0)<($4|0); + if ($5) { + $6 = (($3) + 1)|0; + $$sink = $6; + } else { + $7 = (_GetFPS()|0); + HEAP32[8304] = $7; + HEAP32[747] = $7; + $$sink = 0; + } + HEAP32[8303] = $$sink; + $8 = HEAP32[8304]|0; + HEAP32[$$byval_copy>>2] = $8; + (_FormatText(8184,$$byval_copy)|0); + HEAP8[$2>>0] = 0; + $9 = ((($2)) + 1|0); + HEAP8[$9>>0] = -98; + $10 = ((($2)) + 2|0); + HEAP8[$10>>0] = 47; + $11 = ((($2)) + 3|0); + HEAP8[$11>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; + _DrawText(37235,$0,$1,20,$$byval_copy); + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($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, $398 = 0, $399 = 0, $4 = 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, $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; + var $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, $53 = 0, $530 = 0; + var $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, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,8192)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,8196)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,8200)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,8204)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,8210)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,8248)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 8267; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,8280)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 8301; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,8316)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 8331; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,8346)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 8361; + } + } else { + HEAP32[$3>>2] = 8232; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,8376)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,8390)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,8402)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,8416)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,8428)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,8442)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,8456)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,8473)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,8496)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,8522)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,8535)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,8551)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,8564)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,8578)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,8598)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,8618)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,8635)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,8652)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,8664)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,8677)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,8693)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,8716)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,8729)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,8745)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,8756)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,8775)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,8797)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,8816)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,8845)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,8862)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,8877)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,8892)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,8913)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,8933)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,8953)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,8979)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,8998)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,9010)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,9022)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,9034)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,9046)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,9058)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,9070)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,9082)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,9094)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,9107)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,9120)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,9133)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,9146)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,9159)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,9172)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,9185)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,9198)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,9217)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,9236)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,9255)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,9268)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,9286)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,9304)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,9322)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,9340)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,9360)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,8301)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,9378)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,9393)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,9414)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,9429)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,9447)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,9463)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,9482)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,9496)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,9511)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,8232)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,9522)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,8331)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,8361)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,9538)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,9565)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,9579)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,8267)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,9599)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,9617)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,9629)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,9650)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,9668)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,9686)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,9707)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,9733)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,9756)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,9794)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,9810)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,9825)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,9848)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,9861)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,9875)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,9889)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,9909)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,9929)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,9945)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,9963)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,9979)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,9994)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,10016)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,10034)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,10055)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,10073)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,10086)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,10101)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,10115)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,10125)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,10135)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,10157)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,10183)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,10210)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,10223)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,10238)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,10253)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,10277)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,10288)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,10310)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,10332)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,10356)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,10365)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,10373)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,10386)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,10400)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,10412)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,10421)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,10431)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,10443)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,10454)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,10462)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,10474)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,10489)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,10501)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,10515)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,10540)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,10557)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,10573)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,10589)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,10601)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,10613)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,10637)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,10650)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,10664)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,10686)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,10693)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,10709)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,10726)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,10743)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,10759)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,10775)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,10792)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,10806)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,10818)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,10829)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,10842)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,10852)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,10869)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,10881)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,10903)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,10923)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,10936)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,10958)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,10978)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,10995)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,11012)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,11032)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (33220|0); +} +function ___emscripten_pthread_data_constructor() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 188|0); + HEAP32[$1>>2] = (33260); + return; +} +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_736($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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 + 16|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $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;$26 = $17; + while(1) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _dummy_736($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] = 9; + $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 _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 _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 _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 _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$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; + var $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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=3124; 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); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|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 = 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, $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, $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 + 120|0; + $4 = sp + 80|0; + $5 = sp; + $6 = sp + 136|0; + 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 = (Atomics_load(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 & 15]($0,0,0)|0); + $33 = HEAP32[$26>>2]|0; + $34 = ($33|0)==(0|0); + $$ = $34 ? -1 : $29; + HEAP32[$23>>2] = $24; + HEAP32[$19>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $$1 = $$; + } + } else { + $22 = (_printf_core($0,$1,$3,$5,$4)|0); + $$1 = $22; + } + $35 = HEAP32[$0>>2]|0; + $36 = $35 & 32; + $37 = ($36|0)==(0); + $$1$ = $37 ? $$1 : -1; + $38 = $35 | $14; + HEAP32[$0>>2] = $38; + $39 = ($40|0)==(0); + if (!($39)) { + ___unlockfile($0); + } + $$0 = $$1$; + } + 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, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 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.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, $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 $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 20|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 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; + L1: 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 = HEAP8[$21>>0]|0; + $22 = ($20<<24>>24)==(0); + if ($22) { + label = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $25;$27 = $25; + label = 9; + break L9; + break; + } + case 0: { + $$0249$lcssa = $25;$39 = $25; + break L9; + break; + } + default: { + } + } + $24 = ((($25)) + 1|0); + HEAP32[$5>>2] = $24; + $$pre = HEAP8[$24>>0]|0; + $23 = $$pre;$25 = $24; + } + L12: do { + if ((label|0) == 9) { + while(1) { + label = 0; + $26 = ((($27)) + 1|0); + $28 = HEAP8[$26>>0]|0; + $29 = ($28<<24>>24)==(37); + if (!($29)) { + $$0249$lcssa = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $30;$27 = $31; + label = 9; + } else { + $$0249$lcssa = $30;$39 = $31; + break; + } + } + } + } while(0); + $34 = $$0249$lcssa; + $35 = $21; + $36 = (($34) - ($35))|0; + if ($10) { + _out($0,$21,$36); + } + $37 = ($36|0)==(0); + if (!($37)) { + $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; + continue; + } + $38 = ((($39)) + 1|0); + $40 = HEAP8[$38>>0]|0; + $41 = $40 << 24 >> 24; + $isdigittmp = (($41) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $42 = ((($39)) + 2|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)==(36); + $45 = ((($39)) + 3|0); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } else { + $$0253 = -1;$$1270 = $$0269;$storemerge = $38; + } + HEAP32[$5>>2] = $storemerge; + $46 = HEAP8[$storemerge>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($47) + -32)|0; + $49 = ($48>>>0)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((11148 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 11612;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 11612;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11612 : (11614); + $$$ = $238 ? $$ : (11613); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 11612;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 11612;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 11622; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_672($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11612;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (11612 + ($208)|0); + $$289 = $or$cond283 ? 11612 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 11612;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_672($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; + $$0228$ = $or$cond ? $$0228 : $11; + $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; + } + else if ((label|0) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_672($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_672($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_672($0,48,$$2261,$312,$314); + _pad_672($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_672($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } else { + $$0 = $$1248; + } + } + } while(0); + STACKTOP = sp;return ($$0|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 _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, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $isdigittmp4 = (($3) + -48)|0; + $isdigit5 = ($isdigittmp4>>>0)<(10); + if ($isdigit5) { + $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; + while(1) { + $4 = ($$06*10)|0; + $5 = (($isdigittmp7) + ($4))|0; + $6 = ((($7)) + 1|0); + HEAP32[$0>>2] = $6; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $isdigittmp = (($9) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; + } else { + $$0$lcssa = $5; + break; + } + } + } else { + $$0$lcssa = 0; + } + 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 = (11664 + ($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, $3 = 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 = (___uremdi3(($8|0),($9|0),10,0)|0); + $11 = tempRet0; + $12 = $10&255; + $13 = $12 | 48; + $14 = ((($$0914)) + -1|0); + HEAP8[$14>>0] = $13; + $15 = (___udivdi3(($8|0),($9|0),10,0)|0); + $16 = tempRet0; + $17 = ($9>>>0)>(9); + $18 = ($8>>>0)>(4294967295); + $19 = ($9|0)==(9); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $$0914 = $14;$8 = $15;$9 = $16; + } else { + break; + } + } + $$010$lcssa$off0 = $15;$$09$lcssa = $14; + } else { + $$010$lcssa$off0 = $0;$$09$lcssa = $2; + } + $22 = ($$010$lcssa$off0|0)==(0); + if ($22) { + $$1$lcssa = $$09$lcssa; + } else { + $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; + while(1) { + $23 = (($$012>>>0) % 10)&-1; + $24 = $23 | 48; + $25 = $24&255; + $26 = ((($$111)) + -1|0); + HEAP8[$26>>0] = $25; + $27 = (($$012>>>0) / 10)&-1; + $28 = ($$012>>>0)<(10); + if ($28) { + $$1$lcssa = $26; + break; + } else { + $$012 = $27;$$111 = $26; + } + } + } + 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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 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 { + $$2 = $$035$lcssa;$$3 = 0; + } + } + L8: do { + if ((label|0) == 6) { + $17 = HEAP8[$$035$lcssa65>>0]|0; + $18 = $1&255; + $19 = ($17<<24>>24)==($18<<24>>24); + if ($19) { + $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; + } else { + $20 = Math_imul($3, 16843009)|0; + $21 = ($$036$lcssa64>>>0)>(3); + L11: 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)) { + break; + } + $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 L11; + } + } + $$140 = $$046;$$23839 = $$13745; + } else { + $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; + label = 11; + } + } while(0); + if ((label|0) == 11) { + $32 = ($$137$lcssa|0)==(0); + if ($32) { + $$2 = $$0$lcssa;$$3 = 0; + break; + } else { + $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + } + } + while(1) { + $33 = HEAP8[$$140>>0]|0; + $34 = ($33<<24>>24)==($18<<24>>24); + if ($34) { + $$2 = $$140;$$3 = $$23839; + break L8; + } + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; + break; + } else { + $$140 = $35;$$23839 = $36; + } + } + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_672($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, $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 = ($9>>>0)<(256); + $11 = $10 ? $9 : 256; + _memset(($5|0),($1|0),($11|0))|0; + $12 = ($9>>>0)>(255); + if ($12) { + $13 = (($2) - ($3))|0; + $$011 = $9; + while(1) { + _out($0,$5,256); + $14 = (($$011) + -256)|0; + $15 = ($14>>>0)>(255); + if ($15) { + $$011 = $14; + } else { + break; + } + } + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; + } + _out($0,$5,$$0$lcssa); + } + STACKTOP = sp;return; +} +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 _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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.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.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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $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.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $387 = 0, $388 = 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.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.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 $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 524|0; + $9 = $8; + $10 = sp + 512|0; + HEAP32[$7>>2] = 0; + $11 = ((($10)) + 12|0); + (___DOUBLE_BITS_673($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11629; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11630) : (11635); + $$$ = $16 ? $$ : (11632); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_673($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (11664 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $85 = $84&255; + $86 = ((($$0523)) + 1|0); + HEAP8[$$0523>>0] = $85; + $87 = (+($80|0)); + $88 = $$2473 - $87; + $89 = $88 * 16.0; + $90 = $86; + $91 = (($90) - ($9))|0; + $92 = ($91|0)==(1); + if ($92) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_672($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_672($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_672($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_672($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$3501$lcssa; + $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; + } else { + $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; + } + $$7505 = $$7505$ph; + while(1) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_672($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_672($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11680,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_672($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,11680,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_672($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_672($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11648 : 11652; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11656 : 11660; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_672($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_672($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_673($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 _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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_446()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = (Atomics_load(HEAP32,$8>>2)|0); + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_446() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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, $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 label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; + while(1) { + $3 = (11682 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; + break; + } + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); + if ($8) { + $$01214 = 11770;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 11770; + } else { + $$01214 = 11770;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$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; + label = 5; + } + } + } + $14 = ((($1)) + 20|0); + $15 = (Atomics_load(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 $$ = 0, $$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; + 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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 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); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$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); + $$ = $61 ? $57 : 0; + $$4 = $$; + } 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 $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); +} +function ___fwritex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var 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 & 15]($2,$0,$1)|0); + $$1 = $17; + break; + } + $18 = ((($2)) + 75|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)>(-1); + L10: do { + if ($20) { + $$038 = $1; + while(1) { + $21 = ($$038|0)==(0); + if ($21) { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + break L10; + } + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; + } else { + $$038 = $22; + } + } + $26 = ((($2)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); + $29 = ($28>>>0)<($$038>>>0); + if ($29) { + $$1 = $28; + break L5; + } + $30 = (($0) + ($$038)|0); + $$042 = (($1) - ($$038))|0; + $$pre47 = HEAP32[$9>>2]|0; + $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; + } else { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + } + } while(0); + _memcpy(($31|0),($$141|0),($$143|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($32) + ($$143)|0); + HEAP32[$9>>2] = $33; + $34 = (($$139) + ($$143))|0; + $$1 = $34; + } + } 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 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 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|0); +} +function _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 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; + var $21 = 0, $22 = 0, $23 = 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 = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; + } else { + $$01519 = $6;$23 = $7; + } + } + } + } while(0); + if ((label|0) == 4) { + $$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 { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; + } else { + $$pn = $19; + } + } + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|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 ___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) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<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 _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, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 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) { + $$029 = $$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$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33284|0)); + return (33292|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33284|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 = (Atomics_load(HEAP32,780)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = (Atomics_load(HEAP32,780)|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 = (Atomics_load(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 = (Atomics_load(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 & 15]($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 & 15]($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 _strstr($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, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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 label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 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, $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, $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, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;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;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 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]=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;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 14256; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[748]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;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;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = HEAP32[8324]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[8324] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8324] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8324] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8324] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function __emscripten_atomic_fetch_and_add_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_and_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_or_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_sub_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_xor_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function _emscripten_async_run_in_main_thread($0) { + $0 = $0|0; + var $$0 = 0, $$0$in = 0, $$0$in19 = 0, $$0$lcssa = 0, $$020 = 0, $$expand_i1_val = 0, $$lcssa = 0, $$lcssa18 = 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, $call_queue$init$val = 0, $call_queue$init$val$pre_trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + ___assert_fail((13864|0),(13696|0),260,(13869|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + if (!($3)) { + __do_call($0); + return; + } + (___pthread_mutex_lock(33816)|0); + $call_queue$init$val$pre_trunc = HEAP8[38331]|0; + $call_queue$init$val = $call_queue$init$val$pre_trunc&1; + if (!($call_queue$init$val)) { + $$expand_i1_val = 1; + HEAP8[38331] = $$expand_i1_val; + } + $4 = (Atomics_load(HEAP32, 8461)|0); + $5 = (Atomics_load(HEAP32, 8462)|0); + $$0$in19 = (($5) + 1)|0; + $$020 = (($$0$in19|0) % 128)&-1; + $6 = ($$020|0)==($4|0); + if ($6) { + $7 = $4; + while(1) { + (___pthread_mutex_unlock(33816)|0); + (_emscripten_futex_wait((33844|0),($7|0),inf)|0); + (___pthread_mutex_lock(33816)|0); + $8 = (Atomics_load(HEAP32, 8461)|0); + $9 = (Atomics_load(HEAP32, 8462)|0); + $$0$in = (($9) + 1)|0; + $$0 = (($$0$in|0) % 128)&-1; + $10 = ($$0|0)==($8|0); + if ($10) { + $7 = $8; + } else { + $$0$lcssa = $$0;$$lcssa = $9;$$lcssa18 = $8; + break; + } + } + } else { + $$0$lcssa = $$020;$$lcssa = $5;$$lcssa18 = $4; + } + $11 = (33852 + ($$lcssa<<2)|0); + HEAP32[$11>>2] = $0; + $12 = ($$lcssa18|0)==($$lcssa|0); + if ($12) { + _emscripten_asm_const_v(1); + } + $13 = (Atomics_store(HEAP32, 8462, $$0$lcssa)|0); + (___pthread_mutex_unlock(33816)|0); + return; +} +function _emscripten_atomic_add_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_and_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_cas_u64($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, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $0; + $6 = $5 >>> 3; + $7 = $6 & 255; + $8 = (34372 + ($7<<2)|0); + while(1) { + while(1) { + $9 = (Atomics_load(HEAP32, $8>>2)|0); + $10 = (Atomics_compareExchange(HEAP32, $8>>2, $9, 1)|0); + $11 = ($9|0)==($10|0); + if ($11) { + break; + } + } + $12 = ($9|0)==(0); + if ($12) { + break; + } + } + $13 = $0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)==($1|0); + $20 = ($18|0)==($2|0); + $21 = $19 & $20; + if (!($21)) { + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); + } + $22 = $0; + $23 = $22; + HEAP32[$23>>2] = $3; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $4; + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); +} +function _emscripten_atomic_exchange_u32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + while(1) { + $2 = (Atomics_load(HEAP32, $0>>2)|0); + $3 = (Atomics_compareExchange(HEAP32, $0>>2, $2, $1)|0); + $4 = ($2|0)==($3|0); + if ($4) { + break; + } + } + return ($2|0); +} +function _emscripten_atomic_exchange_u64($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, label = 0; + var sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $0; + $18 = $17; + HEAP32[$18>>2] = $1; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $2; + $21 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function _emscripten_atomic_load_f32($0) { + $0 = $0|0; + var $1 = 0, $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (Atomics_load(HEAP32, $0>>2)|0); + $2 = (HEAP32[tempDoublePtr>>2]=$1,+HEAPF32[tempDoublePtr>>2]); + return (+$2); +} +function _emscripten_atomic_load_f64($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.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34372 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } + } + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = +HEAPF64[$0>>3]; + $10 = (Atomics_store(HEAP32, $4>>2, 0)|0); + return (+$9); +} +function _emscripten_atomic_load_u64($0) { + $0 = $0|0; + var $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; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34372 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } + } + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = $0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (Atomics_store(HEAP32, $4>>2, 0)|0); + tempRet0 = ($14); + return ($11|0); +} +function _emscripten_atomic_or_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_store_f32($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (HEAPF32[tempDoublePtr>>2]=$1,HEAP32[tempDoublePtr>>2]|0); + $3 = (Atomics_store(HEAP32, $0>>2, $2)|0); + $4 = (+($3>>>0)); + return (+$4); +} +function _emscripten_atomic_store_f64($0,$1) { + $0 = $0|0; + $1 = +$1; + var $10 = 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; + $3 = $2 >>> 3; + $4 = $3 & 255; + $5 = (34372 + ($4<<2)|0); + while(1) { + while(1) { + $6 = (Atomics_load(HEAP32, $5>>2)|0); + $7 = (Atomics_compareExchange(HEAP32, $5>>2, $6, 1)|0); + $8 = ($6|0)==($7|0); + if ($8) { + break; + } + } + $9 = ($6|0)==(0); + if ($9) { + break; + } + } + HEAPF64[$0>>3] = $1; + $10 = (Atomics_store(HEAP32, $5>>2, 0)|0); + return (+$1); +} +function _emscripten_atomic_store_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + HEAP32[$12>>2] = $1; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($2); + return ($1|0); +} +function _emscripten_atomic_sub_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_xor_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_main_thread_process_queued_calls() { + var $$0910 = 0, $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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_emscripten_is_main_runtime_thread()|0); + $1 = ($0|0)==(0); + if ($1) { + ___assert_fail((13574|0),(13696|0),424,(13760|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + $4 = HEAP32[8453]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + return; + } + HEAP32[8453] = 1; + (___pthread_mutex_lock(33816)|0); + $6 = (Atomics_load(HEAP32, 8461)|0); + $7 = (Atomics_load(HEAP32, 8462)|0); + $8 = ($6|0)==($7|0); + (___pthread_mutex_unlock(33816)|0); + if (!($8)) { + $$0910 = $6; + while(1) { + $9 = (33852 + ($$0910<<2)|0); + $10 = HEAP32[$9>>2]|0; + __do_call($10); + (___pthread_mutex_lock(33816)|0); + $11 = (($$0910) + 1)|0; + $12 = (($11|0) % 128)&-1; + $13 = (Atomics_store(HEAP32, 8461, $12)|0); + $14 = (Atomics_load(HEAP32, 8462)|0); + $15 = ($12|0)==($14|0); + (___pthread_mutex_unlock(33816)|0); + if ($15) { + break; + } else { + $$0910 = $12; + } + } + } + (_emscripten_futex_wake((33844|0),2147483647)|0); + HEAP32[8453] = 0; + return; +} +function _emscripten_sync_run_in_main_thread($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + _emscripten_async_run_in_main_thread($0); + (_emscripten_wait_for_call_v($0,inf)|0); + return; +} +function _emscripten_sync_run_in_main_thread_0($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $1 = sp; + dest=$1; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$1>>2] = $0; + $2 = ((($1)) + 80|0); + HEAP32[$2>>2] = 0; + _emscripten_async_run_in_main_thread($1); + (_emscripten_wait_for_call_v($1,inf)|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _emscripten_sync_run_in_main_thread_1($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $2 = sp; + dest=$2; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$2>>2] = $0; + $3 = ((($2)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($2)) + 80|0); + HEAP32[$4>>2] = 0; + _emscripten_async_run_in_main_thread($2); + (_emscripten_wait_for_call_v($2,inf)|0); + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _emscripten_sync_run_in_main_thread_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $3 = sp; + dest=$3; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = $0; + $4 = ((($3)) + 16|0); + HEAP32[$4>>2] = $1; + $5 = ((($3)) + 24|0); + HEAP32[$5>>2] = $2; + $6 = ((($3)) + 80|0); + HEAP32[$6>>2] = 0; + _emscripten_async_run_in_main_thread($3); + (_emscripten_wait_for_call_v($3,inf)|0); + $7 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _emscripten_sync_run_in_main_thread_3($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, $9 = 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+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$4>>2] = $0; + $5 = ((($4)) + 16|0); + HEAP32[$5>>2] = $1; + $6 = ((($4)) + 24|0); + HEAP32[$6>>2] = $2; + $7 = ((($4)) + 32|0); + HEAP32[$7>>2] = $3; + $8 = ((($4)) + 80|0); + HEAP32[$8>>2] = 0; + _emscripten_async_run_in_main_thread($4); + (_emscripten_wait_for_call_v($4,inf)|0); + $9 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _emscripten_sync_run_in_main_thread_4($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $5 = sp; + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $6 = ((($5)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = ((($5)) + 24|0); + HEAP32[$7>>2] = $2; + $8 = ((($5)) + 32|0); + HEAP32[$8>>2] = $3; + $9 = ((($5)) + 40|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 80|0); + HEAP32[$10>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $11 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _emscripten_sync_run_in_main_thread_5($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $6 = sp; + dest=$6; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = $0; + $7 = ((($6)) + 16|0); + HEAP32[$7>>2] = $1; + $8 = ((($6)) + 24|0); + HEAP32[$8>>2] = $2; + $9 = ((($6)) + 32|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 40|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 48|0); + HEAP32[$11>>2] = $5; + $12 = ((($6)) + 80|0); + HEAP32[$12>>2] = 0; + _emscripten_async_run_in_main_thread($6); + (_emscripten_wait_for_call_v($6,inf)|0); + $13 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _emscripten_sync_run_in_main_thread_6($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $7 = sp; + dest=$7; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$7>>2] = $0; + $8 = ((($7)) + 16|0); + HEAP32[$8>>2] = $1; + $9 = ((($7)) + 24|0); + HEAP32[$9>>2] = $2; + $10 = ((($7)) + 32|0); + HEAP32[$10>>2] = $3; + $11 = ((($7)) + 40|0); + HEAP32[$11>>2] = $4; + $12 = ((($7)) + 48|0); + HEAP32[$12>>2] = $5; + $13 = ((($7)) + 56|0); + HEAP32[$13>>2] = $6; + $14 = ((($7)) + 80|0); + HEAP32[$14>>2] = 0; + _emscripten_async_run_in_main_thread($7); + (_emscripten_wait_for_call_v($7,inf)|0); + $15 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _emscripten_sync_run_in_main_thread_7($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $8 = sp; + dest=$8; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$8>>2] = $0; + $9 = ((($8)) + 16|0); + HEAP32[$9>>2] = $1; + $10 = ((($8)) + 24|0); + HEAP32[$10>>2] = $2; + $11 = ((($8)) + 32|0); + HEAP32[$11>>2] = $3; + $12 = ((($8)) + 40|0); + HEAP32[$12>>2] = $4; + $13 = ((($8)) + 48|0); + HEAP32[$13>>2] = $5; + $14 = ((($8)) + 56|0); + HEAP32[$14>>2] = $6; + $15 = ((($8)) + 64|0); + HEAP32[$15>>2] = $7; + $16 = ((($8)) + 80|0); + HEAP32[$16>>2] = 0; + _emscripten_async_run_in_main_thread($8); + (_emscripten_wait_for_call_v($8,inf)|0); + $17 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _emscripten_sync_run_in_main_thread_xprintf_varargs($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|0; + var $$0 = 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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $3 = sp + 96|0; + $4 = sp + 112|0; + $5 = sp; + HEAP32[$3>>2] = $varargs; + $6 = (_vsnprintf($4,128,$2,$3)|0); + $7 = ($6|0)>(127); + $8 = (($6) + 1)|0; + if ($7) { + $9 = (_malloc($8)|0); + HEAP32[$3>>2] = $varargs; + (_vsnprintf($9,$8,$2,$3)|0); + $$0 = $9; + } else { + $$0 = $4; + } + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $10 = $1; + $11 = ((($5)) + 16|0); + HEAP32[$11>>2] = $10; + $12 = ((($5)) + 24|0); + HEAP32[$12>>2] = $$0; + $13 = ((($5)) + 80|0); + HEAP32[$13>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $14 = ($$0|0)==($4|0); + if ($14) { + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); + } + _free($$0); + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); +} +function ___pthread_tsd_run_dtors() { + var $$02427 = 0, $$026 = 0, $$125 = 0, $$2 = 0, $0 = 0, $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; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 116|0); + $$02427 = 0; + while(1) { + $$026 = 0;$$125 = 0; + while(1) { + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($$026<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + $$2 = $$125; + } else { + $9 = (33300 + ($$026<<2)|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$2 = $$125; + } else { + HEAP32[$6>>2] = 0; + $12 = (Atomics_load(HEAP32,$9>>2)|0); + FUNCTION_TABLE_vi[$12 & 31]($7); + $$2 = 1; + } + } + $13 = (($$026) + 1)|0; + $exitcond = ($13|0)==(128); + if ($exitcond) { + break; + } else { + $$026 = $13;$$125 = $$2; + } + } + $14 = (($$02427) + 1)|0; + $15 = ($$2|0)!=(0); + $16 = ($14|0)<(4); + $17 = $16 & $15; + if ($17) { + $$02427 = $14; + } else { + break; + } + } + return; +} +function _emscripten_wait_for_call_v($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$ = 0, $$01921 = 0.0, $$020$lcssa = 0, $$1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = (Atomics_load(HEAP32, $2>>2)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$1 = $3; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); + } + $5 = (+_emscripten_get_now()); + $6 = $5 + $1; + _emscripten_set_current_thread_status(5); + $7 = $5 < $6; + if ($7) { + $$01921 = $5; + while(1) { + $8 = $6 - $$01921; + (_emscripten_futex_wait(($2|0),0,(+$8))|0); + $9 = (Atomics_load(HEAP32, $2>>2)|0); + $10 = (+_emscripten_get_now()); + $11 = ($9|0)==(0); + $12 = $10 < $6; + $or$cond = $11 & $12; + if ($or$cond) { + $$01921 = $10; + } else { + $$020$lcssa = $9; + break; + } + } + } else { + $$020$lcssa = 0; + } + _emscripten_set_current_thread_status(1); + $$1 = $$020$lcssa; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); +} +function __do_call($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, $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, $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; + $1 = HEAP32[$0>>2]|0; + do { + switch ($1|0) { + case 12: { + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 24|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_utime(($3|0),($5|0))|0); + $7 = ((($0)) + 80|0); + HEAP32[$7>>2] = $6; + break; + } + case 13: { + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($0)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_utimes(($9|0),($11|0))|0); + $13 = ((($0)) + 80|0); + HEAP32[$13>>2] = $12; + break; + } + case 37: { + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_chroot(($15|0))|0); + $17 = ((($0)) + 80|0); + HEAP32[$17>>2] = $16; + break; + } + case 46: { + $18 = ((($0)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_fpathconf(($19|0),($21|0))|0); + $23 = ((($0)) + 80|0); + HEAP32[$23>>2] = $22; + break; + } + case 68: { + $24 = ((($0)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_confstr(($25|0),($27|0),($29|0))|0); + $31 = ((($0)) + 80|0); + HEAP32[$31>>2] = $30; + break; + } + case 72: { + $32 = ((($0)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sysconf(($33|0))|0); + $35 = ((($0)) + 80|0); + HEAP32[$35>>2] = $34; + break; + } + case 110: { + $36 = ((($0)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_atexit(($37|0))|0); + $39 = ((($0)) + 80|0); + HEAP32[$39>>2] = $38; + break; + } + case 111: { + $40 = ((($0)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_getenv(($41|0))|0); + $43 = ((($0)) + 80|0); + HEAP32[$43>>2] = $42; + break; + } + case 112: { + $44 = (_clearenv()|0); + $45 = ((($0)) + 80|0); + HEAP32[$45>>2] = $44; + break; + } + case 113: { + $46 = ((($0)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($0)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($0)) + 32|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_setenv(($47|0),($49|0),($51|0))|0); + $53 = ((($0)) + 80|0); + HEAP32[$53>>2] = $52; + break; + } + case 114: { + $54 = ((($0)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_unsetenv(($55|0))|0); + $57 = ((($0)) + 80|0); + HEAP32[$57>>2] = $56; + break; + } + case 115: { + $58 = ((($0)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_putenv(($59|0))|0); + $61 = ((($0)) + 80|0); + HEAP32[$61>>2] = $60; + break; + } + case 119: { + _tzset(); + break; + } + case 137: { + $62 = ((($0)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($0)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($0)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = ((($0)) + 40|0); + $69 = HEAP32[$68>>2]|0; + $70 = (_pthread_create(($63|0),($65|0),($67|0),($69|0))|0); + $71 = ((($0)) + 80|0); + HEAP32[$71>>2] = $70; + break; + } + case 138: { + $72 = ((($0)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($0)) + 24|0); + $75 = HEAP32[$74>>2]|0; + $76 = (_emscripten_syscall(($73|0),($75|0))|0); + $77 = ((($0)) + 80|0); + HEAP32[$77>>2] = $76; + break; + } + case 1024: { + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + FUNCTION_TABLE_v[$79 & 7](); + break; + } + case 1025: { + $80 = ((($0)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = ((($0)) + 16|0); + $83 = HEAP32[$82>>2]|0; + FUNCTION_TABLE_vi[$81 & 31]($83); + break; + } + case 1026: { + $84 = ((($0)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = ((($0)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($0)) + 24|0); + $89 = HEAP32[$88>>2]|0; + FUNCTION_TABLE_vii[$85 & 63]($87,$89); + break; + } + case 1027: { + $90 = ((($0)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($0)) + 16|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($0)) + 24|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($0)) + 32|0); + $97 = HEAP32[$96>>2]|0; + FUNCTION_TABLE_viii[$91 & 31]($93,$95,$97); + break; + } + case 2048: { + $98 = ((($0)) + 4|0); + $99 = HEAP32[$98>>2]|0; + $100 = (FUNCTION_TABLE_i[$99 & 3]()|0); + $101 = ((($0)) + 80|0); + HEAP32[$101>>2] = $100; + break; + } + case 2049: { + $102 = ((($0)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ((($0)) + 16|0); + $105 = HEAP32[$104>>2]|0; + $106 = (FUNCTION_TABLE_ii[$103 & 15]($105)|0); + $107 = ((($0)) + 80|0); + HEAP32[$107>>2] = $106; + break; + } + case 2050: { + $108 = ((($0)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = ((($0)) + 16|0); + $111 = HEAP32[$110>>2]|0; + $112 = ((($0)) + 24|0); + $113 = HEAP32[$112>>2]|0; + $114 = (FUNCTION_TABLE_iii[$109 & 3]($111,$113)|0); + $115 = ((($0)) + 80|0); + HEAP32[$115>>2] = $114; + break; + } + case 2051: { + $116 = ((($0)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = ((($0)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = ((($0)) + 24|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($0)) + 32|0); + $123 = HEAP32[$122>>2]|0; + $124 = (FUNCTION_TABLE_iiii[$117 & 15]($119,$121,$123)|0); + $125 = ((($0)) + 80|0); + HEAP32[$125>>2] = $124; + break; + } + default: { + ___assert_fail((13804|0),(13696|0),211,(13855|0)); + // unreachable; + } + } + } while(0); + $126 = ((($0)) + 88|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)==(0); + if ($128) { + $129 = ((($0)) + 8|0); + HEAP32[$129>>2] = 1; + (_emscripten_futex_wake(($129|0),2147483647)|0); + return; + } else { + _free($0); + return; + } +} +function ___pthread_mutex_unlock($0) { + $0 = $0|0; + var $$0 = 0, $$045 = 0, $$pre = 0, $$pre$phiZ2D = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = (Atomics_load(HEAP32,$1>>2)|0); + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 15; + $5 = $3 & 128; + $6 = $5 ^ 128; + $7 = ($4|0)==(0); + if ($7) { + $$pre = ((($0)) + 4|0); + $$045 = 0;$$pre$phiZ2D = $$pre; + } else { + $8 = (_pthread_self()|0); + $9 = ((($0)) + 4|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = $10 & 2147483647; + $12 = ((($8)) + 52|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)==($13|0); + if (!($14)) { + $$0 = 1; + return ($$0|0); + } + $15 = $3 & 3; + $16 = ($15|0)==(1); + if ($16) { + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + $20 = (($18) + -1)|0; + HEAP32[$17>>2] = $20; + $$0 = 0; + return ($$0|0); + } + } + $21 = ($6|0)==(0); + $22 = ((($0)) + 16|0); + if ($21) { + $23 = ((($8)) + 176|0); + Atomics_store(HEAP32,$23>>2,$22)|0; + ___vm_lock(); + } + $24 = ((($0)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$22>>2]|0; + Atomics_store(HEAP32,$25>>2,$26)|0; + $27 = ((($8)) + 168|0); + $28 = ($26|0)==($27|0); + if ($28) { + $$045 = $8;$$pre$phiZ2D = $9; + } else { + $29 = ((($26)) + -4|0); + Atomics_store(HEAP32,$29>>2,$25)|0; + $$045 = $8;$$pre$phiZ2D = $9; + } + } + $30 = $3 & 8; + $31 = ($30|0)!=(0); + $32 = $31 ? 2147483647 : 0; + while(1) { + $33 = (Atomics_load(HEAP32, $$pre$phiZ2D>>2)|0); + $34 = (Atomics_compareExchange(HEAP32, $$pre$phiZ2D>>2, $33, $32)|0); + $35 = ($34|0)==($33|0); + if ($35) { + break; + } + } + $36 = ($6|0)!=(0); + $or$cond = $7 | $36; + if (!($or$cond)) { + $37 = ((($$045)) + 176|0); + Atomics_store(HEAP32,$37>>2,0)|0; + ___vm_unlock(); + } + $38 = ($2|0)!=(0); + $39 = ($33|0)<(0); + $or$cond3 = $38 | $39; + if (!($or$cond3)) { + $$0 = 0; + return ($$0|0); + } + (_emscripten_futex_wake(($$pre$phiZ2D|0),1)|0); + $$0 = 0; + return ($$0|0); +} +function ___vm_lock() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8591, 1)|0); + return; +} +function ___vm_unlock() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8591, -1)|0); + $1 = ($0|0)==(1); + if (!($1)) { + return; + } + $2 = (Atomics_load(HEAP32,(34368)>>2)|0); + $3 = ($2|0)==(0); + if ($3) { + return; + } + (_emscripten_futex_wake((34364|0),2147483647)|0); + return; +} +function ___pthread_mutex_lock($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; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = ($5|0)==(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + } + $7 = (___pthread_mutex_timedlock($0,0)|0); + $$0 = $7; + return ($$0|0); +} +function ___pthread_mutex_timedlock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 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, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond40 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$0>>2]|0; + $3 = $2 & 15; + $4 = ($3|0)==(0); + do { + if ($4) { + $5 = ((($0)) + 4|0); + $6 = (Atomics_compareExchange(HEAP32, $5>>2, 0, 16)|0); + $7 = ($6|0)==(0); + if ($7) { + $$2 = 0; + return ($$2|0); + } else { + $$pre = HEAP32[$0>>2]|0; + $9 = $$pre; + break; + } + } else { + $9 = $2; + } + } while(0); + $8 = $9 & 128; + $10 = $8 ^ 128; + $11 = (___pthread_mutex_trylock($0)|0); + $12 = ($11|0)==(16); + if (!($12)) { + $$2 = $11; + return ($$2|0); + } + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 8|0); + $$0 = 100; + while(1) { + $15 = (($$0) + -1)|0; + $16 = ($$0|0)==(0); + if ($16) { + break; + } + $17 = (Atomics_load(HEAP32,$13>>2)|0); + $18 = ($17|0)==(0); + if ($18) { + break; + } + $19 = (Atomics_load(HEAP32,$14>>2)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = $15; + } else { + break; + } + } + $21 = (___pthread_mutex_trylock($0)|0); + $22 = ($21|0)==(16); + if (!($22)) { + $$2 = $21; + return ($$2|0); + } + L18: while(1) { + $23 = (Atomics_load(HEAP32,$13>>2)|0); + $24 = ($23|0)==(0); + if (!($24)) { + $27 = $23 & 1073741824; + $28 = ($27|0)==(0); + $29 = HEAP32[$0>>2]|0; + $30 = $29 & 4; + $31 = ($30|0)==(0); + $or$cond40 = $28 | $31; + if ($or$cond40) { + $32 = $29 & 3; + $33 = ($32|0)==(2); + if ($33) { + $34 = $23 & 2147483647; + $35 = (_pthread_self()|0); + $36 = ((($35)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($34|0)==($37|0); + if ($38) { + $$2 = 35; + label = 17; + break; + } + } + $39 = (Atomics_add(HEAP32, $14>>2, 1)|0); + $40 = $23 | -2147483648; + $41 = (Atomics_compareExchange(HEAP32, $13>>2, $23, $40)|0); + $42 = (___timedwait($13,$40,0,$1,$10)|0); + $43 = (Atomics_sub(HEAP32, $14>>2, 1)|0); + switch ($42|0) { + case 0: case 4: { + break; + } + default: { + $$2 = $42; + label = 17; + break L18; + } + } + } + } + $25 = (___pthread_mutex_trylock($0)|0); + $26 = ($25|0)==(16); + if (!($26)) { + $$2 = $25; + label = 17; + break; + } + } + if ((label|0) == 17) { + return ($$2|0); + } + return (0)|0; +} +function ___timedwait($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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + (___pthread_setcancelstate(1,($5|0))|0); + _emscripten_conditional_set_current_thread_status(1,4); + $6 = (___timedwait_cp($0,$1,$2,$3,$4)|0); + _emscripten_conditional_set_current_thread_status(4,1); + $7 = HEAP32[$5>>2]|0; + (___pthread_setcancelstate(($7|0),(0|0))|0); + STACKTOP = sp;return ($6|0); +} +function ___timedwait_cp($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$0$us = 0.0, $$$045 = 0.0, $$$046$us = 0.0, $$0$us = 0.0, $$0$us53 = 0.0, $$138 = 0, $$138$ph = 0, $$138$ph70 = 0, $$138$ph72 = 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.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 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 = ($3|0)!=(0|0); + if ($6) { + $7 = ((($3)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8>>>0)>(999999999); + if ($9) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $10 = (___clock_gettime(($2|0),($5|0))|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (($12) - ($13))|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ((($5)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) - ($17))|0; + HEAP32[$16>>2] = $18; + $19 = ($18|0)<(0); + if ($19) { + $20 = (($14) + -1)|0; + HEAP32[$5>>2] = $20; + $21 = (($18) + 1000000000)|0; + HEAP32[$16>>2] = $21; + $23 = $20; + } else { + $23 = $14; + } + $22 = ($23|0)<(0); + if ($22) { + $$138 = 110; + STACKTOP = sp;return ($$138|0); + } + } + $24 = (_emscripten_is_main_runtime_thread()|0); + $25 = ($24|0)!=(0); + $$$045 = $25 ? 1.0 : 100.0; + if ($25) { + L15: while(1) { + $26 = (_pthread_self()|0); + $27 = (__pthread_isduecanceled($26)|0); + $28 = ($27|0)==(0); + if (!($28)) { + $$138$ph = 125; + break; + } + _emscripten_main_thread_process_queued_calls(); + if ($6) { + $29 = (+__pthread_msecs_until($3)); + $30 = !($29 <= 0.0); + $31 = $29 > 100.0; + $$0$us = $31 ? 100.0 : $29; + $32 = $$0$us > 1.0; + $$$0$us = $32 ? 1.0 : $$0$us; + if ($30) { + $$$046$us = $$$0$us; + } else { + $$138$ph = 110; + break; + } + } else { + $$$046$us = $$$045; + } + $33 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$046$us))|0); + $34 = (0 - ($33))|0; + switch ($34|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph = $34; + break L15; + break; + } + default: { + $$138 = 0; + label = 21; + break L15; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph; + STACKTOP = sp;return ($$138|0); + } + if (!($6)) { + L27: while(1) { + $43 = (_pthread_self()|0); + $44 = (__pthread_isduecanceled($43)|0); + $45 = ($44|0)==(0); + if (!($45)) { + $$138$ph72 = 125; + break; + } + $46 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$045))|0); + $47 = (0 - ($46))|0; + switch ($47|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph72 = $47; + break L27; + break; + } + default: { + $$138 = 0; + label = 21; + break L27; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph72; + STACKTOP = sp;return ($$138|0); + } + L34: while(1) { + $35 = (_pthread_self()|0); + $36 = (__pthread_isduecanceled($35)|0); + $37 = ($36|0)==(0); + if (!($37)) { + $$138$ph70 = 125; + break; + } + $38 = (+__pthread_msecs_until($3)); + $39 = !($38 <= 0.0); + if (!($39)) { + $$138$ph70 = 110; + break; + } + $40 = $38 > 100.0; + $$0$us53 = $40 ? 100.0 : $38; + $41 = (_emscripten_futex_wait(($0|0),($1|0),(+$$0$us53))|0); + $42 = (0 - ($41))|0; + switch ($42|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph70 = $42; + break L34; + break; + } + default: { + $$138 = 0; + label = 21; + break L34; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph70; + STACKTOP = sp;return ($$138|0); +} +function __pthread_isduecanceled($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(2); + $3 = $2&1; + return ($3|0); +} +function __pthread_msecs_until($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.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)); + $4 = $3 * 1000.0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (+($6|0)); + $8 = $7 * 0.001; + $9 = $4 + $8; + $10 = HEAP32[$0>>2]|0; + $11 = (+($10|0)); + $12 = $11 * 1000.0; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = $15 * 9.9999999999999995E-7; + $17 = $12 + $16; + $18 = $17 - $9; + STACKTOP = sp;return (+$18); +} +function ___pthread_mutex_trylock($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; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = $5 & 16; + $$0 = $6; + return ($$0|0); + } else { + $7 = (___pthread_mutex_trylock_owner($0)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; +} +function ___pthread_mutex_trylock_owner($0) { + $0 = $0|0; + var $$ = 0, $$1 = 0, $$154 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond57 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_pthread_self()|0); + $3 = ((($2)) + 52|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 4|0); + $6 = (Atomics_load(HEAP32,$5>>2)|0); + $7 = $6 & 2147483647; + $8 = ($7|0)==($4|0); + $9 = $1 & 3; + $10 = ($9|0)==(1); + $or$cond = $10 & $8; + if ($or$cond) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(2147483646); + if ($13) { + $$1 = 11; + return ($$1|0); + } + $14 = (($12) + 1)|0; + HEAP32[$11>>2] = $14; + $$1 = 0; + return ($$1|0); + } + $15 = ($7|0)==(2147483647); + if ($15) { + $$1 = 131; + return ($$1|0); + } + $16 = HEAP32[$0>>2]|0; + $17 = $16 & 128; + $18 = ($17|0)==(0); + if ($18) { + $$154 = $4; + } else { + $19 = ((($2)) + 172|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + HEAP32[$19>>2] = -12; + } + $22 = ((($0)) + 8|0); + $23 = (Atomics_load(HEAP32,$22>>2)|0); + $24 = ($23|0)==(0); + $25 = $4 | -2147483648; + $$ = $24 ? $4 : $25; + $26 = ((($0)) + 16|0); + $27 = ((($2)) + 176|0); + Atomics_store(HEAP32,$27>>2,$26)|0; + $$154 = $$; + } + $28 = ($7|0)!=(0); + if ($28) { + $29 = $6 & 1073741824; + $30 = ($29|0)==(0); + $31 = $1 & 4; + $32 = ($31|0)==(0); + $or$cond57 = $32 | $30; + if (!($or$cond57)) { + label = 11; + } + } else { + label = 11; + } + if ((label|0) == 11) { + $33 = (Atomics_compareExchange(HEAP32, $5>>2, $6, $$154)|0); + $34 = ($33|0)==($6|0); + if ($34) { + $36 = ((($2)) + 168|0); + $37 = (Atomics_load(HEAP32,$36>>2)|0); + $38 = ((($0)) + 16|0); + HEAP32[$38>>2] = $37; + $39 = ((($0)) + 12|0); + HEAP32[$39>>2] = $36; + $40 = ($37|0)==($36|0); + if (!($40)) { + $41 = ((($37)) + -4|0); + Atomics_store(HEAP32,$41>>2,$38)|0; + } + Atomics_store(HEAP32,$36>>2,$38)|0; + $42 = ((($2)) + 176|0); + Atomics_store(HEAP32,$42>>2,0)|0; + if (!($28)) { + $$1 = 0; + return ($$1|0); + } + $43 = ((($0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = HEAP32[$0>>2]|0; + $45 = $44 | 8; + HEAP32[$0>>2] = $45; + $$1 = 130; + return ($$1|0); + } + } + $35 = ((($2)) + 176|0); + Atomics_store(HEAP32,$35>>2,0)|0; + $$1 = 16; + return ($$1|0); +} +function _pthread_mutexattr_destroy($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _pthread_mutexattr_init($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$0>>2] = 0; + return 0; +} +function _pthread_mutex_init($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$sroa$0 = sp; + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0;HEAP32[$$sroa$0+20>>2]=0|0;HEAP32[$$sroa$0+24>>2]=0|0; + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$$sroa$0+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$$sroa$0+24>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + STACKTOP = sp;return 0; + } + $3 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $3; + STACKTOP = sp;return 0; +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4230$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i17$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0198 = 0, $$0200 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024363$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1 = 0, $$1196$i = 0; + var $$1198$i = 0, $$124462$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2 = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i202 = 0, $$3229$i = 0, $$3235$i = 0, $$3350$i = 0; + var $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0, $$4230$i = 0, $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$7$i = 0, $$7239$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i18$i = 0, $$pre$i211 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i19$iZ2D = 0; + var $$pre$phi$i212Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i205 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0; + var $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, $1022 = 0, $1023 = 0; + var $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, $1040 = 0, $1041 = 0; + var $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, $1059 = 0, $106 = 0; + var $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, $1077 = 0, $1078 = 0; + var $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 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, $398 = 0, $399 = 0, $4 = 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, $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; + var $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, $53 = 0, $530 = 0; + var $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, $548 = 0, $549 = 0; + var $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, $566 = 0, $567 = 0; + var $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, $584 = 0, $585 = 0; + var $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, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0; + var $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, $620 = 0; + var $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, $639 = 0; + var $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, $657 = 0; + var $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, $675 = 0; + var $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, $693 = 0; + var $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, $710 = 0; + var $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, $729 = 0; + var $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, $747 = 0; + var $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, $765 = 0; + var $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, $783 = 0; + var $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, $800 = 0; + var $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, $819 = 0; + var $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, $834 = 0, $835 = 0, $836 = 0, $837 = 0; + var $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, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0; + var $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, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0; + var $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, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0; + var $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, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0; + var $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, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0; + var $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, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0; + var $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, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0; + var $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, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0; + var $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, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0; + var $cond$i$i = 0, $cond$i209 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i21$i = 0, $not$$i210 = 0, $not$1$i = 0, $not$1$i204 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0, $or$cond$i = 0, $or$cond$i213 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond12$i = 0, $or$cond2$i = 0; + var $or$cond2$i214 = 0, $or$cond43$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond9$i = 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 = HEAP32[8849]|0; + $4 = ($3|0)==(0); + if ($4) { + (___pthread_mutex_lock(35420)|0); + $5 = HEAP32[8849]|0; + $6 = ($5|0)==(0); + if ($6) { + HEAP32[(35404)>>2] = 4096; + HEAP32[(35400)>>2] = 4096; + HEAP32[(35408)>>2] = -1; + HEAP32[(35412)>>2] = -1; + HEAP32[(35416)>>2] = 2; + HEAP32[(35892)>>2] = 2; + $7 = (_pthread_mutexattr_init($1)|0); + $8 = ($7|0)==(0); + if ($8) { + $9 = (_pthread_mutex_init((35896),$1)|0); + $10 = ($9|0)==(0); + if ($10) { + } + } + $11 = $2; + $12 = $11 & -16; + $13 = $12 ^ 1431655768; + HEAP32[$2>>2] = $13; + Atomics_store(HEAP32,8849,$13)|0; + } + (___pthread_mutex_unlock(35420)|0); + } + $14 = HEAP32[(35892)>>2]|0; + $15 = $14 & 2; + $16 = ($15|0)==(0); + if (!($16)) { + $17 = (___pthread_mutex_lock((35896))|0); + $18 = ($17|0)==(0); + if (!($18)) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + $19 = ($0>>>0)<(245); + do { + if ($19) { + $20 = ($0>>>0)<(11); + $21 = (($0) + 11)|0; + $22 = $21 & -8; + $23 = $20 ? 16 : $22; + $24 = $23 >>> 3; + $25 = HEAP32[8862]|0; + $26 = $25 >>> $24; + $27 = $26 & 3; + $28 = ($27|0)==(0); + if (!($28)) { + $29 = $26 & 1; + $30 = $29 ^ 1; + $31 = (($30) + ($24))|0; + $32 = $31 << 1; + $33 = (35488 + ($32<<2)|0); + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($33|0)==($37|0); + do { + if ($38) { + $39 = 1 << $31; + $40 = $39 ^ -1; + $41 = $25 & $40; + HEAP32[8862] = $41; + } else { + $42 = HEAP32[(35464)>>2]|0; + $43 = ($37>>>0)<($42>>>0); + if ($43) { + _abort(); + // unreachable; + } + $44 = ((($37)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==($35|0); + if ($46) { + HEAP32[$44>>2] = $33; + HEAP32[$34>>2] = $37; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $47 = $31 << 3; + $48 = $47 | 3; + $49 = ((($35)) + 4|0); + HEAP32[$49>>2] = $48; + $50 = (($35) + ($47)|0); + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52 | 1; + HEAP32[$51>>2] = $53; + $$2 = $36; + break; + } + $54 = HEAP32[(35456)>>2]|0; + $55 = ($23>>>0)>($54>>>0); + if ($55) { + $56 = ($26|0)==(0); + if (!($56)) { + $57 = $26 << $24; + $58 = 2 << $24; + $59 = (0 - ($58))|0; + $60 = $58 | $59; + $61 = $57 & $60; + $62 = (0 - ($61))|0; + $63 = $61 & $62; + $64 = (($63) + -1)|0; + $65 = $64 >>> 12; + $66 = $65 & 16; + $67 = $64 >>> $66; + $68 = $67 >>> 5; + $69 = $68 & 8; + $70 = $69 | $66; + $71 = $67 >>> $69; + $72 = $71 >>> 2; + $73 = $72 & 4; + $74 = $70 | $73; + $75 = $71 >>> $73; + $76 = $75 >>> 1; + $77 = $76 & 2; + $78 = $74 | $77; + $79 = $75 >>> $77; + $80 = $79 >>> 1; + $81 = $80 & 1; + $82 = $78 | $81; + $83 = $79 >>> $81; + $84 = (($82) + ($83))|0; + $85 = $84 << 1; + $86 = (35488 + ($85<<2)|0); + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + $89 = ((($88)) + 8|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($86|0)==($90|0); + do { + if ($91) { + $92 = 1 << $84; + $93 = $92 ^ -1; + $94 = $25 & $93; + HEAP32[8862] = $94; + $115 = $94; + } else { + $95 = HEAP32[(35464)>>2]|0; + $96 = ($90>>>0)<($95>>>0); + if ($96) { + _abort(); + // unreachable; + } + $97 = ((($90)) + 12|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==($88|0); + if ($99) { + HEAP32[$97>>2] = $86; + HEAP32[$87>>2] = $90; + $115 = $25; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $100 = $84 << 3; + $101 = (($100) - ($23))|0; + $102 = $23 | 3; + $103 = ((($88)) + 4|0); + HEAP32[$103>>2] = $102; + $104 = (($88) + ($23)|0); + $105 = $101 | 1; + $106 = ((($104)) + 4|0); + HEAP32[$106>>2] = $105; + $107 = (($104) + ($101)|0); + HEAP32[$107>>2] = $101; + $108 = ($54|0)==(0); + if (!($108)) { + $109 = HEAP32[(35468)>>2]|0; + $110 = $54 >>> 3; + $111 = $110 << 1; + $112 = (35488 + ($111<<2)|0); + $113 = 1 << $110; + $114 = $115 & $113; + $116 = ($114|0)==(0); + if ($116) { + $117 = $115 | $113; + HEAP32[8862] = $117; + $$pre = ((($112)) + 8|0); + $$0200 = $112;$$pre$phiZ2D = $$pre; + } else { + $118 = ((($112)) + 8|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[(35464)>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { + _abort(); + // unreachable; + } else { + $$0200 = $119;$$pre$phiZ2D = $118; + } + } + HEAP32[$$pre$phiZ2D>>2] = $109; + $122 = ((($$0200)) + 12|0); + HEAP32[$122>>2] = $109; + $123 = ((($109)) + 8|0); + HEAP32[$123>>2] = $$0200; + $124 = ((($109)) + 12|0); + HEAP32[$124>>2] = $112; + } + HEAP32[(35456)>>2] = $101; + HEAP32[(35468)>>2] = $104; + $$2 = $89; + break; + } + $125 = HEAP32[(35452)>>2]|0; + $126 = ($125|0)==(0); + if ($126) { + $$0198 = $23; + label = 153; + } else { + $127 = (0 - ($125))|0; + $128 = $125 & $127; + $129 = (($128) + -1)|0; + $130 = $129 >>> 12; + $131 = $130 & 16; + $132 = $129 >>> $131; + $133 = $132 >>> 5; + $134 = $133 & 8; + $135 = $134 | $131; + $136 = $132 >>> $134; + $137 = $136 >>> 2; + $138 = $137 & 4; + $139 = $135 | $138; + $140 = $136 >>> $138; + $141 = $140 >>> 1; + $142 = $141 & 2; + $143 = $139 | $142; + $144 = $140 >>> $142; + $145 = $144 >>> 1; + $146 = $145 & 1; + $147 = $143 | $146; + $148 = $144 >>> $146; + $149 = (($147) + ($148))|0; + $150 = (35752 + ($149<<2)|0); + $151 = HEAP32[$150>>2]|0; + $152 = ((($151)) + 4|0); + $153 = HEAP32[$152>>2]|0; + $154 = $153 & -8; + $155 = (($154) - ($23))|0; + $156 = ((($151)) + 16|0); + $157 = HEAP32[$156>>2]|0; + $not$5$i = ($157|0)==(0|0); + $$sink16$i = $not$5$i&1; + $158 = (((($151)) + 16|0) + ($$sink16$i<<2)|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==(0|0); + if ($160) { + $$0192$lcssa$i = $151;$$0193$lcssa$i = $155; + } else { + $$01928$i = $151;$$01937$i = $155;$162 = $159; + while(1) { + $161 = ((($162)) + 4|0); + $163 = HEAP32[$161>>2]|0; + $164 = $163 & -8; + $165 = (($164) - ($23))|0; + $166 = ($165>>>0)<($$01937$i>>>0); + $$$0193$i = $166 ? $165 : $$01937$i; + $$$0192$i = $166 ? $162 : $$01928$i; + $167 = ((($162)) + 16|0); + $168 = HEAP32[$167>>2]|0; + $not$$i = ($168|0)==(0|0); + $$sink1$i = $not$$i&1; + $169 = (((($162)) + 16|0) + ($$sink1$i<<2)|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$162 = $170; + } + } + } + $172 = HEAP32[(35464)>>2]|0; + $173 = ($$0192$lcssa$i>>>0)<($172>>>0); + if ($173) { + _abort(); + // unreachable; + } + $174 = (($$0192$lcssa$i) + ($23)|0); + $175 = ($$0192$lcssa$i>>>0)<($174>>>0); + if (!($175)) { + _abort(); + // unreachable; + } + $176 = ((($$0192$lcssa$i)) + 24|0); + $177 = HEAP32[$176>>2]|0; + $178 = ((($$0192$lcssa$i)) + 12|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==($$0192$lcssa$i|0); + do { + if ($180) { + $190 = ((($$0192$lcssa$i)) + 20|0); + $191 = HEAP32[$190>>2]|0; + $192 = ($191|0)==(0|0); + if ($192) { + $193 = ((($$0192$lcssa$i)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $195 = ($194|0)==(0|0); + if ($195) { + $$3$i = 0; + break; + } else { + $$1196$i = $194;$$1198$i = $193; + } + } else { + $$1196$i = $191;$$1198$i = $190; + } + while(1) { + $196 = ((($$1196$i)) + 20|0); + $197 = HEAP32[$196>>2]|0; + $198 = ($197|0)==(0|0); + if (!($198)) { + $$1196$i = $197;$$1198$i = $196; + continue; + } + $199 = ((($$1196$i)) + 16|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($200|0)==(0|0); + if ($201) { + break; + } else { + $$1196$i = $200;$$1198$i = $199; + } + } + $202 = ($$1198$i>>>0)<($172>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $181 = ((($$0192$lcssa$i)) + 8|0); + $182 = HEAP32[$181>>2]|0; + $183 = ($182>>>0)<($172>>>0); + if ($183) { + _abort(); + // unreachable; + } + $184 = ((($182)) + 12|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($185|0)==($$0192$lcssa$i|0); + if (!($186)) { + _abort(); + // unreachable; + } + $187 = ((($179)) + 8|0); + $188 = HEAP32[$187>>2]|0; + $189 = ($188|0)==($$0192$lcssa$i|0); + if ($189) { + HEAP32[$184>>2] = $179; + HEAP32[$187>>2] = $182; + $$3$i = $179; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $203 = ($177|0)==(0|0); + L85: do { + if (!($203)) { + $204 = ((($$0192$lcssa$i)) + 28|0); + $205 = HEAP32[$204>>2]|0; + $206 = (35752 + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($$0192$lcssa$i|0)==($207|0); + do { + if ($208) { + HEAP32[$206>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $209 = 1 << $205; + $210 = $209 ^ -1; + $211 = $125 & $210; + HEAP32[(35452)>>2] = $211; + break L85; + } + } else { + $212 = HEAP32[(35464)>>2]|0; + $213 = ($177>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($177)) + 16|0); + $215 = HEAP32[$214>>2]|0; + $not$1$i = ($215|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $216 = (((($177)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$216>>2] = $$3$i; + $217 = ($$3$i|0)==(0|0); + if ($217) { + break L85; + } else { + break; + } + } + } + } while(0); + $218 = HEAP32[(35464)>>2]|0; + $219 = ($$3$i>>>0)<($218>>>0); + if ($219) { + _abort(); + // unreachable; + } + $220 = ((($$3$i)) + 24|0); + HEAP32[$220>>2] = $177; + $221 = ((($$0192$lcssa$i)) + 16|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + do { + if (!($223)) { + $224 = ($222>>>0)<($218>>>0); + if ($224) { + _abort(); + // unreachable; + } else { + $225 = ((($$3$i)) + 16|0); + HEAP32[$225>>2] = $222; + $226 = ((($222)) + 24|0); + HEAP32[$226>>2] = $$3$i; + break; + } + } + } while(0); + $227 = ((($$0192$lcssa$i)) + 20|0); + $228 = HEAP32[$227>>2]|0; + $229 = ($228|0)==(0|0); + if (!($229)) { + $230 = HEAP32[(35464)>>2]|0; + $231 = ($228>>>0)<($230>>>0); + if ($231) { + _abort(); + // unreachable; + } else { + $232 = ((($$3$i)) + 20|0); + HEAP32[$232>>2] = $228; + $233 = ((($228)) + 24|0); + HEAP32[$233>>2] = $$3$i; + break; + } + } + } + } while(0); + $234 = ($$0193$lcssa$i>>>0)<(16); + if ($234) { + $235 = (($$0193$lcssa$i) + ($23))|0; + $236 = $235 | 3; + $237 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$237>>2] = $236; + $238 = (($$0192$lcssa$i) + ($235)|0); + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = $240 | 1; + HEAP32[$239>>2] = $241; + } else { + $242 = $23 | 3; + $243 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$243>>2] = $242; + $244 = $$0193$lcssa$i | 1; + $245 = ((($174)) + 4|0); + HEAP32[$245>>2] = $244; + $246 = (($174) + ($$0193$lcssa$i)|0); + HEAP32[$246>>2] = $$0193$lcssa$i; + $247 = ($54|0)==(0); + if (!($247)) { + $248 = HEAP32[(35468)>>2]|0; + $249 = $54 >>> 3; + $250 = $249 << 1; + $251 = (35488 + ($250<<2)|0); + $252 = 1 << $249; + $253 = $25 & $252; + $254 = ($253|0)==(0); + if ($254) { + $255 = $25 | $252; + HEAP32[8862] = $255; + $$pre$i = ((($251)) + 8|0); + $$0189$i = $251;$$pre$phi$iZ2D = $$pre$i; + } else { + $256 = ((($251)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[(35464)>>2]|0; + $259 = ($257>>>0)<($258>>>0); + if ($259) { + _abort(); + // unreachable; + } else { + $$0189$i = $257;$$pre$phi$iZ2D = $256; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $248; + $260 = ((($$0189$i)) + 12|0); + HEAP32[$260>>2] = $248; + $261 = ((($248)) + 8|0); + HEAP32[$261>>2] = $$0189$i; + $262 = ((($248)) + 12|0); + HEAP32[$262>>2] = $251; + } + HEAP32[(35456)>>2] = $$0193$lcssa$i; + HEAP32[(35468)>>2] = $174; + } + $263 = ((($$0192$lcssa$i)) + 8|0); + $$2 = $263; + } + } else { + $$0198 = $23; + label = 153; + } + } else { + $264 = ($0>>>0)>(4294967231); + if ($264) { + $$0198 = -1; + label = 153; + } else { + $265 = (($0) + 11)|0; + $266 = $265 & -8; + $267 = HEAP32[(35452)>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$0198 = $266; + label = 153; + } else { + $269 = (0 - ($266))|0; + $270 = $265 >>> 8; + $271 = ($270|0)==(0); + if ($271) { + $$0358$i = 0; + } else { + $272 = ($266>>>0)>(16777215); + if ($272) { + $$0358$i = 31; + } else { + $273 = (($270) + 1048320)|0; + $274 = $273 >>> 16; + $275 = $274 & 8; + $276 = $270 << $275; + $277 = (($276) + 520192)|0; + $278 = $277 >>> 16; + $279 = $278 & 4; + $280 = $279 | $275; + $281 = $276 << $279; + $282 = (($281) + 245760)|0; + $283 = $282 >>> 16; + $284 = $283 & 2; + $285 = $280 | $284; + $286 = (14 - ($285))|0; + $287 = $281 << $284; + $288 = $287 >>> 15; + $289 = (($286) + ($288))|0; + $290 = $289 << 1; + $291 = (($289) + 7)|0; + $292 = $266 >>> $291; + $293 = $292 & 1; + $294 = $293 | $290; + $$0358$i = $294; + } + } + $295 = (35752 + ($$0358$i<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($296|0)==(0|0); + L128: do { + if ($297) { + $$2355$i = 0;$$3$i202 = 0;$$3350$i = $269; + label = 90; + } else { + $298 = ($$0358$i|0)==(31); + $299 = $$0358$i >>> 1; + $300 = (25 - ($299))|0; + $301 = $298 ? 0 : $300; + $302 = $266 << $301; + $$0342$i = 0;$$0347$i = $269;$$0353$i = $296;$$0359$i = $302;$$0362$i = 0; + while(1) { + $303 = ((($$0353$i)) + 4|0); + $304 = HEAP32[$303>>2]|0; + $305 = $304 & -8; + $306 = (($305) - ($266))|0; + $307 = ($306>>>0)<($$0347$i>>>0); + if ($307) { + $308 = ($306|0)==(0); + if ($308) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 94; + break L128; + } else { + $$1343$i = $$0353$i;$$1348$i = $306; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $309 = ((($$0353$i)) + 20|0); + $310 = HEAP32[$309>>2]|0; + $311 = $$0359$i >>> 31; + $312 = (((($$0353$i)) + 16|0) + ($311<<2)|0); + $313 = HEAP32[$312>>2]|0; + $314 = ($310|0)==(0|0); + $315 = ($310|0)==($313|0); + $or$cond2$i = $314 | $315; + $$1363$i = $or$cond2$i ? $$0362$i : $310; + $316 = ($313|0)==(0|0); + $not$8$i = $316 ^ 1; + $317 = $not$8$i&1; + $$0359$$i = $$0359$i << $317; + if ($316) { + $$2355$i = $$1363$i;$$3$i202 = $$1343$i;$$3350$i = $$1348$i; + label = 90; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $313;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 90) { + $318 = ($$2355$i|0)==(0|0); + $319 = ($$3$i202|0)==(0|0); + $or$cond$i = $318 & $319; + if ($or$cond$i) { + $320 = 2 << $$0358$i; + $321 = (0 - ($320))|0; + $322 = $320 | $321; + $323 = $267 & $322; + $324 = ($323|0)==(0); + if ($324) { + $$0198 = $266; + label = 153; + break; + } + $325 = (0 - ($323))|0; + $326 = $323 & $325; + $327 = (($326) + -1)|0; + $328 = $327 >>> 12; + $329 = $328 & 16; + $330 = $327 >>> $329; + $331 = $330 >>> 5; + $332 = $331 & 8; + $333 = $332 | $329; + $334 = $330 >>> $332; + $335 = $334 >>> 2; + $336 = $335 & 4; + $337 = $333 | $336; + $338 = $334 >>> $336; + $339 = $338 >>> 1; + $340 = $339 & 2; + $341 = $337 | $340; + $342 = $338 >>> $340; + $343 = $342 >>> 1; + $344 = $343 & 1; + $345 = $341 | $344; + $346 = $342 >>> $344; + $347 = (($345) + ($346))|0; + $348 = (35752 + ($347<<2)|0); + $349 = HEAP32[$348>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $349; + } else { + $$4$ph$i = $$3$i202;$$4357$ph$i = $$2355$i; + } + $350 = ($$4357$ph$i|0)==(0|0); + if ($350) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 94; + } + } + if ((label|0) == 94) { + while(1) { + label = 0; + $351 = ((($$435713$i)) + 4|0); + $352 = HEAP32[$351>>2]|0; + $353 = $352 & -8; + $354 = (($353) - ($266))|0; + $355 = ($354>>>0)<($$435114$i>>>0); + $$$4351$i = $355 ? $354 : $$435114$i; + $$4357$$4$i = $355 ? $$435713$i : $$415$i; + $356 = ((($$435713$i)) + 16|0); + $357 = HEAP32[$356>>2]|0; + $not$1$i204 = ($357|0)==(0|0); + $$sink2$i205 = $not$1$i204&1; + $358 = (((($$435713$i)) + 16|0) + ($$sink2$i205<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0|0); + if ($360) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $359; + label = 94; + } + } + } + $361 = ($$4$lcssa$i|0)==(0|0); + if ($361) { + $$0198 = $266; + label = 153; + } else { + $362 = HEAP32[(35456)>>2]|0; + $363 = (($362) - ($266))|0; + $364 = ($$4351$lcssa$i>>>0)<($363>>>0); + if ($364) { + $365 = HEAP32[(35464)>>2]|0; + $366 = ($$4$lcssa$i>>>0)<($365>>>0); + if ($366) { + _abort(); + // unreachable; + } + $367 = (($$4$lcssa$i) + ($266)|0); + $368 = ($$4$lcssa$i>>>0)<($367>>>0); + if (!($368)) { + _abort(); + // unreachable; + } + $369 = ((($$4$lcssa$i)) + 24|0); + $370 = HEAP32[$369>>2]|0; + $371 = ((($$4$lcssa$i)) + 12|0); + $372 = HEAP32[$371>>2]|0; + $373 = ($372|0)==($$4$lcssa$i|0); + do { + if ($373) { + $383 = ((($$4$lcssa$i)) + 20|0); + $384 = HEAP32[$383>>2]|0; + $385 = ($384|0)==(0|0); + if ($385) { + $386 = ((($$4$lcssa$i)) + 16|0); + $387 = HEAP32[$386>>2]|0; + $388 = ($387|0)==(0|0); + if ($388) { + $$3372$i = 0; + break; + } else { + $$1370$i = $387;$$1374$i = $386; + } + } else { + $$1370$i = $384;$$1374$i = $383; + } + while(1) { + $389 = ((($$1370$i)) + 20|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($390|0)==(0|0); + if (!($391)) { + $$1370$i = $390;$$1374$i = $389; + continue; + } + $392 = ((($$1370$i)) + 16|0); + $393 = HEAP32[$392>>2]|0; + $394 = ($393|0)==(0|0); + if ($394) { + break; + } else { + $$1370$i = $393;$$1374$i = $392; + } + } + $395 = ($$1374$i>>>0)<($365>>>0); + if ($395) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $374 = ((($$4$lcssa$i)) + 8|0); + $375 = HEAP32[$374>>2]|0; + $376 = ($375>>>0)<($365>>>0); + if ($376) { + _abort(); + // unreachable; + } + $377 = ((($375)) + 12|0); + $378 = HEAP32[$377>>2]|0; + $379 = ($378|0)==($$4$lcssa$i|0); + if (!($379)) { + _abort(); + // unreachable; + } + $380 = ((($372)) + 8|0); + $381 = HEAP32[$380>>2]|0; + $382 = ($381|0)==($$4$lcssa$i|0); + if ($382) { + HEAP32[$377>>2] = $372; + HEAP32[$380>>2] = $375; + $$3372$i = $372; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $396 = ($370|0)==(0|0); + L175: do { + if ($396) { + $487 = $267; + } else { + $397 = ((($$4$lcssa$i)) + 28|0); + $398 = HEAP32[$397>>2]|0; + $399 = (35752 + ($398<<2)|0); + $400 = HEAP32[$399>>2]|0; + $401 = ($$4$lcssa$i|0)==($400|0); + do { + if ($401) { + HEAP32[$399>>2] = $$3372$i; + $cond$i209 = ($$3372$i|0)==(0|0); + if ($cond$i209) { + $402 = 1 << $398; + $403 = $402 ^ -1; + $404 = $267 & $403; + HEAP32[(35452)>>2] = $404; + $487 = $404; + break L175; + } + } else { + $405 = HEAP32[(35464)>>2]|0; + $406 = ($370>>>0)<($405>>>0); + if ($406) { + _abort(); + // unreachable; + } else { + $407 = ((($370)) + 16|0); + $408 = HEAP32[$407>>2]|0; + $not$$i210 = ($408|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i210&1; + $409 = (((($370)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$409>>2] = $$3372$i; + $410 = ($$3372$i|0)==(0|0); + if ($410) { + $487 = $267; + break L175; + } else { + break; + } + } + } + } while(0); + $411 = HEAP32[(35464)>>2]|0; + $412 = ($$3372$i>>>0)<($411>>>0); + if ($412) { + _abort(); + // unreachable; + } + $413 = ((($$3372$i)) + 24|0); + HEAP32[$413>>2] = $370; + $414 = ((($$4$lcssa$i)) + 16|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($415|0)==(0|0); + do { + if (!($416)) { + $417 = ($415>>>0)<($411>>>0); + if ($417) { + _abort(); + // unreachable; + } else { + $418 = ((($$3372$i)) + 16|0); + HEAP32[$418>>2] = $415; + $419 = ((($415)) + 24|0); + HEAP32[$419>>2] = $$3372$i; + break; + } + } + } while(0); + $420 = ((($$4$lcssa$i)) + 20|0); + $421 = HEAP32[$420>>2]|0; + $422 = ($421|0)==(0|0); + if ($422) { + $487 = $267; + } else { + $423 = HEAP32[(35464)>>2]|0; + $424 = ($421>>>0)<($423>>>0); + if ($424) { + _abort(); + // unreachable; + } else { + $425 = ((($$3372$i)) + 20|0); + HEAP32[$425>>2] = $421; + $426 = ((($421)) + 24|0); + HEAP32[$426>>2] = $$3372$i; + $487 = $267; + break; + } + } + } + } while(0); + $427 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($427) { + $428 = (($$4351$lcssa$i) + ($266))|0; + $429 = $428 | 3; + $430 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$430>>2] = $429; + $431 = (($$4$lcssa$i) + ($428)|0); + $432 = ((($431)) + 4|0); + $433 = HEAP32[$432>>2]|0; + $434 = $433 | 1; + HEAP32[$432>>2] = $434; + } else { + $435 = $266 | 3; + $436 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$436>>2] = $435; + $437 = $$4351$lcssa$i | 1; + $438 = ((($367)) + 4|0); + HEAP32[$438>>2] = $437; + $439 = (($367) + ($$4351$lcssa$i)|0); + HEAP32[$439>>2] = $$4351$lcssa$i; + $440 = $$4351$lcssa$i >>> 3; + $441 = ($$4351$lcssa$i>>>0)<(256); + if ($441) { + $442 = $440 << 1; + $443 = (35488 + ($442<<2)|0); + $444 = HEAP32[8862]|0; + $445 = 1 << $440; + $446 = $444 & $445; + $447 = ($446|0)==(0); + do { + if ($447) { + $448 = $444 | $445; + HEAP32[8862] = $448; + $$pre$i211 = ((($443)) + 8|0); + $$0368$i = $443;$$pre$phi$i212Z2D = $$pre$i211; + } else { + $449 = ((($443)) + 8|0); + $450 = HEAP32[$449>>2]|0; + $451 = HEAP32[(35464)>>2]|0; + $452 = ($450>>>0)<($451>>>0); + if (!($452)) { + $$0368$i = $450;$$pre$phi$i212Z2D = $449; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i212Z2D>>2] = $367; + $453 = ((($$0368$i)) + 12|0); + HEAP32[$453>>2] = $367; + $454 = ((($367)) + 8|0); + HEAP32[$454>>2] = $$0368$i; + $455 = ((($367)) + 12|0); + HEAP32[$455>>2] = $443; + break; + } + $456 = $$4351$lcssa$i >>> 8; + $457 = ($456|0)==(0); + if ($457) { + $$0361$i = 0; + } else { + $458 = ($$4351$lcssa$i>>>0)>(16777215); + if ($458) { + $$0361$i = 31; + } else { + $459 = (($456) + 1048320)|0; + $460 = $459 >>> 16; + $461 = $460 & 8; + $462 = $456 << $461; + $463 = (($462) + 520192)|0; + $464 = $463 >>> 16; + $465 = $464 & 4; + $466 = $465 | $461; + $467 = $462 << $465; + $468 = (($467) + 245760)|0; + $469 = $468 >>> 16; + $470 = $469 & 2; + $471 = $466 | $470; + $472 = (14 - ($471))|0; + $473 = $467 << $470; + $474 = $473 >>> 15; + $475 = (($472) + ($474))|0; + $476 = $475 << 1; + $477 = (($475) + 7)|0; + $478 = $$4351$lcssa$i >>> $477; + $479 = $478 & 1; + $480 = $479 | $476; + $$0361$i = $480; + } + } + $481 = (35752 + ($$0361$i<<2)|0); + $482 = ((($367)) + 28|0); + HEAP32[$482>>2] = $$0361$i; + $483 = ((($367)) + 16|0); + $484 = ((($483)) + 4|0); + HEAP32[$484>>2] = 0; + HEAP32[$483>>2] = 0; + $485 = 1 << $$0361$i; + $486 = $487 & $485; + $488 = ($486|0)==(0); + if ($488) { + $489 = $487 | $485; + HEAP32[(35452)>>2] = $489; + HEAP32[$481>>2] = $367; + $490 = ((($367)) + 24|0); + HEAP32[$490>>2] = $481; + $491 = ((($367)) + 12|0); + HEAP32[$491>>2] = $367; + $492 = ((($367)) + 8|0); + HEAP32[$492>>2] = $367; + break; + } + $493 = HEAP32[$481>>2]|0; + $494 = ($$0361$i|0)==(31); + $495 = $$0361$i >>> 1; + $496 = (25 - ($495))|0; + $497 = $494 ? 0 : $496; + $498 = $$4351$lcssa$i << $497; + $$0344$i = $498;$$0345$i = $493; + while(1) { + $499 = ((($$0345$i)) + 4|0); + $500 = HEAP32[$499>>2]|0; + $501 = $500 & -8; + $502 = ($501|0)==($$4351$lcssa$i|0); + if ($502) { + label = 148; + break; + } + $503 = $$0344$i >>> 31; + $504 = (((($$0345$i)) + 16|0) + ($503<<2)|0); + $505 = $$0344$i << 1; + $506 = HEAP32[$504>>2]|0; + $507 = ($506|0)==(0|0); + if ($507) { + label = 145; + break; + } else { + $$0344$i = $505;$$0345$i = $506; + } + } + if ((label|0) == 145) { + $508 = HEAP32[(35464)>>2]|0; + $509 = ($504>>>0)<($508>>>0); + if ($509) { + _abort(); + // unreachable; + } else { + HEAP32[$504>>2] = $367; + $510 = ((($367)) + 24|0); + HEAP32[$510>>2] = $$0345$i; + $511 = ((($367)) + 12|0); + HEAP32[$511>>2] = $367; + $512 = ((($367)) + 8|0); + HEAP32[$512>>2] = $367; + break; + } + } + else if ((label|0) == 148) { + $513 = ((($$0345$i)) + 8|0); + $514 = HEAP32[$513>>2]|0; + $515 = HEAP32[(35464)>>2]|0; + $516 = ($514>>>0)>=($515>>>0); + $not$9$i = ($$0345$i>>>0)>=($515>>>0); + $517 = $516 & $not$9$i; + if ($517) { + $518 = ((($514)) + 12|0); + HEAP32[$518>>2] = $367; + HEAP32[$513>>2] = $367; + $519 = ((($367)) + 8|0); + HEAP32[$519>>2] = $514; + $520 = ((($367)) + 12|0); + HEAP32[$520>>2] = $$0345$i; + $521 = ((($367)) + 24|0); + HEAP32[$521>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $522 = ((($$4$lcssa$i)) + 8|0); + $$2 = $522; + } else { + $$0198 = $266; + label = 153; + } + } + } + } + } + } while(0); + L230: do { + if ((label|0) == 153) { + $523 = HEAP32[(35456)>>2]|0; + $524 = ($523>>>0)<($$0198>>>0); + if (!($524)) { + $525 = (($523) - ($$0198))|0; + $526 = HEAP32[(35468)>>2]|0; + $527 = ($525>>>0)>(15); + if ($527) { + $528 = (($526) + ($$0198)|0); + HEAP32[(35468)>>2] = $528; + HEAP32[(35456)>>2] = $525; + $529 = $525 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = (($528) + ($525)|0); + HEAP32[$531>>2] = $525; + $532 = $$0198 | 3; + $533 = ((($526)) + 4|0); + HEAP32[$533>>2] = $532; + } else { + HEAP32[(35456)>>2] = 0; + HEAP32[(35468)>>2] = 0; + $534 = $523 | 3; + $535 = ((($526)) + 4|0); + HEAP32[$535>>2] = $534; + $536 = (($526) + ($523)|0); + $537 = ((($536)) + 4|0); + $538 = HEAP32[$537>>2]|0; + $539 = $538 | 1; + HEAP32[$537>>2] = $539; + } + $540 = ((($526)) + 8|0); + $$2 = $540; + break; + } + $541 = HEAP32[(35460)>>2]|0; + $542 = ($541>>>0)>($$0198>>>0); + if ($542) { + $543 = (($541) - ($$0198))|0; + HEAP32[(35460)>>2] = $543; + $544 = HEAP32[(35472)>>2]|0; + $545 = (($544) + ($$0198)|0); + HEAP32[(35472)>>2] = $545; + $546 = $543 | 1; + $547 = ((($545)) + 4|0); + HEAP32[$547>>2] = $546; + $548 = $$0198 | 3; + $549 = ((($544)) + 4|0); + HEAP32[$549>>2] = $548; + $550 = ((($544)) + 8|0); + $$2 = $550; + break; + } + $551 = HEAP32[8849]|0; + $552 = ($551|0)==(0); + if ($552) { + (___pthread_mutex_lock(35420)|0); + $553 = HEAP32[8849]|0; + $554 = ($553|0)==(0); + if ($554) { + HEAP32[(35404)>>2] = 4096; + HEAP32[(35400)>>2] = 4096; + HEAP32[(35408)>>2] = -1; + HEAP32[(35412)>>2] = -1; + HEAP32[(35416)>>2] = 2; + HEAP32[(35892)>>2] = 2; + $555 = (_pthread_mutexattr_init($1)|0); + $556 = ($555|0)==(0); + if ($556) { + $557 = (_pthread_mutex_init((35896),$1)|0); + $558 = ($557|0)==(0); + if ($558) { + } + } + $559 = $2; + $560 = $559 & -16; + $561 = $560 ^ 1431655768; + HEAP32[$2>>2] = $561; + Atomics_store(HEAP32,8849,$561)|0; + } + (___pthread_mutex_unlock(35420)|0); + } + $562 = (($$0198) + 48)|0; + $563 = HEAP32[(35404)>>2]|0; + $564 = (($$0198) + 47)|0; + $565 = (($563) + ($564))|0; + $566 = (0 - ($563))|0; + $567 = $565 & $566; + $568 = ($567>>>0)>($$0198>>>0); + if ($568) { + $569 = HEAP32[(35888)>>2]|0; + $570 = ($569|0)==(0); + if (!($570)) { + $571 = HEAP32[(35880)>>2]|0; + $572 = (($571) + ($567))|0; + $573 = ($572>>>0)<=($571>>>0); + $574 = ($572>>>0)>($569>>>0); + $or$cond1$i = $573 | $574; + if ($or$cond1$i) { + $$2 = 0; + break; + } + } + $575 = HEAP32[(35892)>>2]|0; + $576 = $575 & 4; + $577 = ($576|0)==(0); + if ($577) { + $578 = HEAP32[(35472)>>2]|0; + $579 = ($578|0)==(0|0); + L258: do { + if ($579) { + label = 176; + } else { + $$0$i$i = (35924); + while(1) { + $580 = HEAP32[$$0$i$i>>2]|0; + $581 = ($580>>>0)>($578>>>0); + if (!($581)) { + $582 = ((($$0$i$i)) + 4|0); + $583 = HEAP32[$582>>2]|0; + $584 = (($580) + ($583)|0); + $585 = ($584>>>0)>($578>>>0); + if ($585) { + break; + } + } + $586 = ((($$0$i$i)) + 8|0); + $587 = HEAP32[$586>>2]|0; + $588 = ($587|0)==(0|0); + if ($588) { + label = 176; + break L258; + } else { + $$0$i$i = $587; + } + } + (___pthread_mutex_lock(35420)|0); + $611 = HEAP32[(35460)>>2]|0; + $612 = HEAP32[(35404)>>2]|0; + $613 = (($564) - ($611))|0; + $614 = (($613) + ($612))|0; + $615 = (0 - ($612))|0; + $616 = $614 & $615; + $617 = ($616>>>0)<(2147483647); + if ($617) { + $618 = (_sbrk(($616|0))|0); + $619 = HEAP32[$$0$i$i>>2]|0; + $620 = HEAP32[$582>>2]|0; + $621 = (($619) + ($620)|0); + $622 = ($618|0)==($621|0); + if ($622) { + $623 = ($618|0)==((-1)|0); + if ($623) { + $$2234253237$i = $616; + label = 190; + } else { + $$3229$i = $618;$$3235$i = $616; + } + } else { + $$2247$ph$i = $618;$$2253$ph$i = $616; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } + } + } while(0); + do { + if ((label|0) == 176) { + (___pthread_mutex_lock(35420)|0); + $589 = (_sbrk(0)|0); + $590 = ($589|0)==((-1)|0); + if ($590) { + $$2234253237$i = 0; + label = 190; + } else { + $591 = $589; + $592 = HEAP32[(35400)>>2]|0; + $593 = (($592) + -1)|0; + $594 = $593 & $591; + $595 = ($594|0)==(0); + $596 = (($593) + ($591))|0; + $597 = (0 - ($592))|0; + $598 = $596 & $597; + $599 = (($598) - ($591))|0; + $600 = $595 ? 0 : $599; + $$$i = (($600) + ($567))|0; + $601 = HEAP32[(35880)>>2]|0; + $602 = (($$$i) + ($601))|0; + $603 = ($$$i>>>0)>($$0198>>>0); + $604 = ($$$i>>>0)<(2147483647); + $or$cond$i213 = $603 & $604; + if ($or$cond$i213) { + $605 = HEAP32[(35888)>>2]|0; + $606 = ($605|0)==(0); + if (!($606)) { + $607 = ($602>>>0)<=($601>>>0); + $608 = ($602>>>0)>($605>>>0); + $or$cond2$i214 = $607 | $608; + if ($or$cond2$i214) { + $$2234253237$i = 0; + label = 190; + break; + } + } + $609 = (_sbrk(($$$i|0))|0); + $610 = ($609|0)==($589|0); + if ($610) { + $$3229$i = $589;$$3235$i = $$$i; + } else { + $$2247$ph$i = $609;$$2253$ph$i = $$$i; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } + } + } + } while(0); + do { + if ((label|0) == 184) { + $624 = (0 - ($$2253$ph$i))|0; + $625 = ($$2247$ph$i|0)!=((-1)|0); + $626 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $626 & $625; + $627 = ($562>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $627 & $or$cond7$i; + if (!($or$cond10$i)) { + $637 = ($$2247$ph$i|0)==((-1)|0); + if ($637) { + $$2234253237$i = 0; + label = 190; + break; + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; + break; + } + } + $628 = HEAP32[(35404)>>2]|0; + $629 = (($564) - ($$2253$ph$i))|0; + $630 = (($629) + ($628))|0; + $631 = (0 - ($628))|0; + $632 = $630 & $631; + $633 = ($632>>>0)<(2147483647); + if ($633) { + $634 = (_sbrk(($632|0))|0); + $635 = ($634|0)==((-1)|0); + if ($635) { + (_sbrk(($624|0))|0); + $$2234253237$i = 0; + label = 190; + break; + } else { + $636 = (($632) + ($$2253$ph$i))|0; + $$3229$i = $$2247$ph$i;$$3235$i = $636; + break; + } + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; + } + } + } while(0); + if ((label|0) == 190) { + $638 = HEAP32[(35892)>>2]|0; + $639 = $638 | 4; + HEAP32[(35892)>>2] = $639; + $$3229$i = (-1);$$3235$i = $$2234253237$i; + } + (___pthread_mutex_unlock(35420)|0); + $$4230$i = $$3229$i;$$4236$i = $$3235$i; + } else { + $$4230$i = (-1);$$4236$i = 0; + } + $640 = ($$4230$i|0)==((-1)|0); + $641 = ($567>>>0)<(2147483647); + $or$cond9$i = $641 & $640; + if ($or$cond9$i) { + (___pthread_mutex_lock(35420)|0); + $642 = (_sbrk(($567|0))|0); + $643 = (_sbrk(0)|0); + (___pthread_mutex_unlock(35420)|0); + $644 = ($642|0)!=((-1)|0); + $645 = ($643|0)!=((-1)|0); + $or$cond5$i = $644 & $645; + $646 = ($642>>>0)<($643>>>0); + $or$cond11$i = $646 & $or$cond5$i; + $647 = $643; + $648 = $642; + $649 = (($647) - ($648))|0; + $650 = (($$0198) + 40)|0; + $651 = ($649>>>0)>($650>>>0); + $$$4236$i = $651 ? $649 : $$4236$i; + $$$4230$i = $651 ? $642 : (-1); + if ($or$cond11$i) { + $$7$i = $$$4230$i;$$7239$i = $$$4236$i; + label = 194; + } + } else { + $$7$i = $$4230$i;$$7239$i = $$4236$i; + label = 194; + } + if ((label|0) == 194) { + $652 = ($$7$i|0)==((-1)|0); + if (!($652)) { + $653 = HEAP32[(35880)>>2]|0; + $654 = (($653) + ($$7239$i))|0; + HEAP32[(35880)>>2] = $654; + $655 = HEAP32[(35884)>>2]|0; + $656 = ($654>>>0)>($655>>>0); + if ($656) { + HEAP32[(35884)>>2] = $654; + } + $657 = HEAP32[(35472)>>2]|0; + $658 = ($657|0)==(0|0); + do { + if ($658) { + $659 = HEAP32[(35464)>>2]|0; + $660 = ($659|0)==(0|0); + $661 = ($$7$i>>>0)<($659>>>0); + $or$cond12$i = $660 | $661; + if ($or$cond12$i) { + HEAP32[(35464)>>2] = $$7$i; + } + HEAP32[(35924)>>2] = $$7$i; + HEAP32[(35928)>>2] = $$7239$i; + HEAP32[(35936)>>2] = 0; + $662 = HEAP32[8849]|0; + HEAP32[(35484)>>2] = $662; + HEAP32[(35480)>>2] = -1; + $$01$i$i = 0; + while(1) { + $663 = $$01$i$i << 1; + $664 = (35488 + ($663<<2)|0); + $665 = ((($664)) + 12|0); + HEAP32[$665>>2] = $664; + $666 = ((($664)) + 8|0); + HEAP32[$666>>2] = $664; + $667 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($667|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $667; + } + } + $668 = (($$7239$i) + -40)|0; + $669 = ((($$7$i)) + 8|0); + $670 = $669; + $671 = $670 & 7; + $672 = ($671|0)==(0); + $673 = (0 - ($670))|0; + $674 = $673 & 7; + $675 = $672 ? 0 : $674; + $676 = (($$7$i) + ($675)|0); + $677 = (($668) - ($675))|0; + HEAP32[(35472)>>2] = $676; + HEAP32[(35460)>>2] = $677; + $678 = $677 | 1; + $679 = ((($676)) + 4|0); + HEAP32[$679>>2] = $678; + $680 = (($676) + ($677)|0); + $681 = ((($680)) + 4|0); + HEAP32[$681>>2] = 40; + $682 = HEAP32[(35412)>>2]|0; + HEAP32[(35476)>>2] = $682; + } else { + $$024363$i = (35924); + while(1) { + $683 = HEAP32[$$024363$i>>2]|0; + $684 = ((($$024363$i)) + 4|0); + $685 = HEAP32[$684>>2]|0; + $686 = (($683) + ($685)|0); + $687 = ($$7$i|0)==($686|0); + if ($687) { + label = 205; + break; + } + $688 = ((($$024363$i)) + 8|0); + $689 = HEAP32[$688>>2]|0; + $690 = ($689|0)==(0|0); + if ($690) { + break; + } else { + $$024363$i = $689; + } + } + if ((label|0) == 205) { + $691 = ((($$024363$i)) + 12|0); + $692 = HEAP32[$691>>2]|0; + $693 = $692 & 8; + $694 = ($693|0)==(0); + if ($694) { + $695 = ($657>>>0)>=($683>>>0); + $696 = ($657>>>0)<($$7$i>>>0); + $or$cond43$i = $696 & $695; + if ($or$cond43$i) { + $697 = (($685) + ($$7239$i))|0; + HEAP32[$684>>2] = $697; + $698 = HEAP32[(35460)>>2]|0; + $699 = ((($657)) + 8|0); + $700 = $699; + $701 = $700 & 7; + $702 = ($701|0)==(0); + $703 = (0 - ($700))|0; + $704 = $703 & 7; + $705 = $702 ? 0 : $704; + $706 = (($657) + ($705)|0); + $707 = (($$7239$i) - ($705))|0; + $708 = (($698) + ($707))|0; + HEAP32[(35472)>>2] = $706; + HEAP32[(35460)>>2] = $708; + $709 = $708 | 1; + $710 = ((($706)) + 4|0); + HEAP32[$710>>2] = $709; + $711 = (($706) + ($708)|0); + $712 = ((($711)) + 4|0); + HEAP32[$712>>2] = 40; + $713 = HEAP32[(35412)>>2]|0; + HEAP32[(35476)>>2] = $713; + break; + } + } + } + $714 = HEAP32[(35464)>>2]|0; + $715 = ($$7$i>>>0)<($714>>>0); + if ($715) { + HEAP32[(35464)>>2] = $$7$i; + $779 = $$7$i; + } else { + $779 = $714; + } + $716 = (($$7$i) + ($$7239$i)|0); + $$124462$i = (35924); + while(1) { + $717 = HEAP32[$$124462$i>>2]|0; + $718 = ($717|0)==($716|0); + if ($718) { + label = 213; + break; + } + $719 = ((($$124462$i)) + 8|0); + $720 = HEAP32[$719>>2]|0; + $721 = ($720|0)==(0|0); + if ($721) { + break; + } else { + $$124462$i = $720; + } + } + if ((label|0) == 213) { + $722 = ((($$124462$i)) + 12|0); + $723 = HEAP32[$722>>2]|0; + $724 = $723 & 8; + $725 = ($724|0)==(0); + if ($725) { + HEAP32[$$124462$i>>2] = $$7$i; + $726 = ((($$124462$i)) + 4|0); + $727 = HEAP32[$726>>2]|0; + $728 = (($727) + ($$7239$i))|0; + HEAP32[$726>>2] = $728; + $729 = ((($$7$i)) + 8|0); + $730 = $729; + $731 = $730 & 7; + $732 = ($731|0)==(0); + $733 = (0 - ($730))|0; + $734 = $733 & 7; + $735 = $732 ? 0 : $734; + $736 = (($$7$i) + ($735)|0); + $737 = ((($716)) + 8|0); + $738 = $737; + $739 = $738 & 7; + $740 = ($739|0)==(0); + $741 = (0 - ($738))|0; + $742 = $741 & 7; + $743 = $740 ? 0 : $742; + $744 = (($716) + ($743)|0); + $745 = $744; + $746 = $736; + $747 = (($745) - ($746))|0; + $748 = (($736) + ($$0198)|0); + $749 = (($747) - ($$0198))|0; + $750 = $$0198 | 3; + $751 = ((($736)) + 4|0); + HEAP32[$751>>2] = $750; + $752 = ($744|0)==($657|0); + do { + if ($752) { + $753 = HEAP32[(35460)>>2]|0; + $754 = (($753) + ($749))|0; + HEAP32[(35460)>>2] = $754; + HEAP32[(35472)>>2] = $748; + $755 = $754 | 1; + $756 = ((($748)) + 4|0); + HEAP32[$756>>2] = $755; + } else { + $757 = HEAP32[(35468)>>2]|0; + $758 = ($744|0)==($757|0); + if ($758) { + $759 = HEAP32[(35456)>>2]|0; + $760 = (($759) + ($749))|0; + HEAP32[(35456)>>2] = $760; + HEAP32[(35468)>>2] = $748; + $761 = $760 | 1; + $762 = ((($748)) + 4|0); + HEAP32[$762>>2] = $761; + $763 = (($748) + ($760)|0); + HEAP32[$763>>2] = $760; + break; + } + $764 = ((($744)) + 4|0); + $765 = HEAP32[$764>>2]|0; + $766 = $765 & 3; + $767 = ($766|0)==(1); + if ($767) { + $768 = $765 & -8; + $769 = $765 >>> 3; + $770 = ($765>>>0)<(256); + L329: do { + if ($770) { + $771 = ((($744)) + 8|0); + $772 = HEAP32[$771>>2]|0; + $773 = ((($744)) + 12|0); + $774 = HEAP32[$773>>2]|0; + $775 = $769 << 1; + $776 = (35488 + ($775<<2)|0); + $777 = ($772|0)==($776|0); + do { + if (!($777)) { + $778 = ($772>>>0)<($779>>>0); + if ($778) { + _abort(); + // unreachable; + } + $780 = ((($772)) + 12|0); + $781 = HEAP32[$780>>2]|0; + $782 = ($781|0)==($744|0); + if ($782) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $783 = ($774|0)==($772|0); + if ($783) { + $784 = 1 << $769; + $785 = $784 ^ -1; + $786 = HEAP32[8862]|0; + $787 = $786 & $785; + HEAP32[8862] = $787; + break; + } + $788 = ($774|0)==($776|0); + do { + if ($788) { + $$pre10$i$i = ((($774)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $789 = ($774>>>0)<($779>>>0); + if ($789) { + _abort(); + // unreachable; + } + $790 = ((($774)) + 8|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==($744|0); + if ($792) { + $$pre$phi11$i$iZ2D = $790; + break; + } + _abort(); + // unreachable; + } + } while(0); + $793 = ((($772)) + 12|0); + HEAP32[$793>>2] = $774; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $772; + } else { + $794 = ((($744)) + 24|0); + $795 = HEAP32[$794>>2]|0; + $796 = ((($744)) + 12|0); + $797 = HEAP32[$796>>2]|0; + $798 = ($797|0)==($744|0); + do { + if ($798) { + $808 = ((($744)) + 16|0); + $809 = ((($808)) + 4|0); + $810 = HEAP32[$809>>2]|0; + $811 = ($810|0)==(0|0); + if ($811) { + $812 = HEAP32[$808>>2]|0; + $813 = ($812|0)==(0|0); + if ($813) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $812;$$1293$i$i = $808; + } + } else { + $$1291$i$i = $810;$$1293$i$i = $809; + } + while(1) { + $814 = ((($$1291$i$i)) + 20|0); + $815 = HEAP32[$814>>2]|0; + $816 = ($815|0)==(0|0); + if (!($816)) { + $$1291$i$i = $815;$$1293$i$i = $814; + continue; + } + $817 = ((($$1291$i$i)) + 16|0); + $818 = HEAP32[$817>>2]|0; + $819 = ($818|0)==(0|0); + if ($819) { + break; + } else { + $$1291$i$i = $818;$$1293$i$i = $817; + } + } + $820 = ($$1293$i$i>>>0)<($779>>>0); + if ($820) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $799 = ((($744)) + 8|0); + $800 = HEAP32[$799>>2]|0; + $801 = ($800>>>0)<($779>>>0); + if ($801) { + _abort(); + // unreachable; + } + $802 = ((($800)) + 12|0); + $803 = HEAP32[$802>>2]|0; + $804 = ($803|0)==($744|0); + if (!($804)) { + _abort(); + // unreachable; + } + $805 = ((($797)) + 8|0); + $806 = HEAP32[$805>>2]|0; + $807 = ($806|0)==($744|0); + if ($807) { + HEAP32[$802>>2] = $797; + HEAP32[$805>>2] = $800; + $$3$i$i = $797; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $821 = ($795|0)==(0|0); + if ($821) { + break; + } + $822 = ((($744)) + 28|0); + $823 = HEAP32[$822>>2]|0; + $824 = (35752 + ($823<<2)|0); + $825 = HEAP32[$824>>2]|0; + $826 = ($744|0)==($825|0); + do { + if ($826) { + HEAP32[$824>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $827 = 1 << $823; + $828 = $827 ^ -1; + $829 = HEAP32[(35452)>>2]|0; + $830 = $829 & $828; + HEAP32[(35452)>>2] = $830; + break L329; + } else { + $831 = HEAP32[(35464)>>2]|0; + $832 = ($795>>>0)<($831>>>0); + if ($832) { + _abort(); + // unreachable; + } else { + $833 = ((($795)) + 16|0); + $834 = HEAP32[$833>>2]|0; + $not$$i$i = ($834|0)!=($744|0); + $$sink1$i$i = $not$$i$i&1; + $835 = (((($795)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$835>>2] = $$3$i$i; + $836 = ($$3$i$i|0)==(0|0); + if ($836) { + break L329; + } else { + break; + } + } + } + } while(0); + $837 = HEAP32[(35464)>>2]|0; + $838 = ($$3$i$i>>>0)<($837>>>0); + if ($838) { + _abort(); + // unreachable; + } + $839 = ((($$3$i$i)) + 24|0); + HEAP32[$839>>2] = $795; + $840 = ((($744)) + 16|0); + $841 = HEAP32[$840>>2]|0; + $842 = ($841|0)==(0|0); + do { + if (!($842)) { + $843 = ($841>>>0)<($837>>>0); + if ($843) { + _abort(); + // unreachable; + } else { + $844 = ((($$3$i$i)) + 16|0); + HEAP32[$844>>2] = $841; + $845 = ((($841)) + 24|0); + HEAP32[$845>>2] = $$3$i$i; + break; + } + } + } while(0); + $846 = ((($840)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = ($847|0)==(0|0); + if ($848) { + break; + } + $849 = HEAP32[(35464)>>2]|0; + $850 = ($847>>>0)<($849>>>0); + if ($850) { + _abort(); + // unreachable; + } else { + $851 = ((($$3$i$i)) + 20|0); + HEAP32[$851>>2] = $847; + $852 = ((($847)) + 24|0); + HEAP32[$852>>2] = $$3$i$i; + break; + } + } + } while(0); + $853 = (($744) + ($768)|0); + $854 = (($768) + ($749))|0; + $$0$i17$i = $853;$$0287$i$i = $854; + } else { + $$0$i17$i = $744;$$0287$i$i = $749; + } + $855 = ((($$0$i17$i)) + 4|0); + $856 = HEAP32[$855>>2]|0; + $857 = $856 & -2; + HEAP32[$855>>2] = $857; + $858 = $$0287$i$i | 1; + $859 = ((($748)) + 4|0); + HEAP32[$859>>2] = $858; + $860 = (($748) + ($$0287$i$i)|0); + HEAP32[$860>>2] = $$0287$i$i; + $861 = $$0287$i$i >>> 3; + $862 = ($$0287$i$i>>>0)<(256); + if ($862) { + $863 = $861 << 1; + $864 = (35488 + ($863<<2)|0); + $865 = HEAP32[8862]|0; + $866 = 1 << $861; + $867 = $865 & $866; + $868 = ($867|0)==(0); + do { + if ($868) { + $869 = $865 | $866; + HEAP32[8862] = $869; + $$pre$i$i = ((($864)) + 8|0); + $$0295$i$i = $864;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $870 = ((($864)) + 8|0); + $871 = HEAP32[$870>>2]|0; + $872 = HEAP32[(35464)>>2]|0; + $873 = ($871>>>0)<($872>>>0); + if (!($873)) { + $$0295$i$i = $871;$$pre$phi$i$iZ2D = $870; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i$iZ2D>>2] = $748; + $874 = ((($$0295$i$i)) + 12|0); + HEAP32[$874>>2] = $748; + $875 = ((($748)) + 8|0); + HEAP32[$875>>2] = $$0295$i$i; + $876 = ((($748)) + 12|0); + HEAP32[$876>>2] = $864; + break; + } + $877 = $$0287$i$i >>> 8; + $878 = ($877|0)==(0); + do { + if ($878) { + $$0296$i$i = 0; + } else { + $879 = ($$0287$i$i>>>0)>(16777215); + if ($879) { + $$0296$i$i = 31; + break; + } + $880 = (($877) + 1048320)|0; + $881 = $880 >>> 16; + $882 = $881 & 8; + $883 = $877 << $882; + $884 = (($883) + 520192)|0; + $885 = $884 >>> 16; + $886 = $885 & 4; + $887 = $886 | $882; + $888 = $883 << $886; + $889 = (($888) + 245760)|0; + $890 = $889 >>> 16; + $891 = $890 & 2; + $892 = $887 | $891; + $893 = (14 - ($892))|0; + $894 = $888 << $891; + $895 = $894 >>> 15; + $896 = (($893) + ($895))|0; + $897 = $896 << 1; + $898 = (($896) + 7)|0; + $899 = $$0287$i$i >>> $898; + $900 = $899 & 1; + $901 = $900 | $897; + $$0296$i$i = $901; + } + } while(0); + $902 = (35752 + ($$0296$i$i<<2)|0); + $903 = ((($748)) + 28|0); + HEAP32[$903>>2] = $$0296$i$i; + $904 = ((($748)) + 16|0); + $905 = ((($904)) + 4|0); + HEAP32[$905>>2] = 0; + HEAP32[$904>>2] = 0; + $906 = HEAP32[(35452)>>2]|0; + $907 = 1 << $$0296$i$i; + $908 = $906 & $907; + $909 = ($908|0)==(0); + if ($909) { + $910 = $906 | $907; + HEAP32[(35452)>>2] = $910; + HEAP32[$902>>2] = $748; + $911 = ((($748)) + 24|0); + HEAP32[$911>>2] = $902; + $912 = ((($748)) + 12|0); + HEAP32[$912>>2] = $748; + $913 = ((($748)) + 8|0); + HEAP32[$913>>2] = $748; + break; + } + $914 = HEAP32[$902>>2]|0; + $915 = ($$0296$i$i|0)==(31); + $916 = $$0296$i$i >>> 1; + $917 = (25 - ($916))|0; + $918 = $915 ? 0 : $917; + $919 = $$0287$i$i << $918; + $$0288$i$i = $919;$$0289$i$i = $914; + while(1) { + $920 = ((($$0289$i$i)) + 4|0); + $921 = HEAP32[$920>>2]|0; + $922 = $921 & -8; + $923 = ($922|0)==($$0287$i$i|0); + if ($923) { + label = 280; + break; + } + $924 = $$0288$i$i >>> 31; + $925 = (((($$0289$i$i)) + 16|0) + ($924<<2)|0); + $926 = $$0288$i$i << 1; + $927 = HEAP32[$925>>2]|0; + $928 = ($927|0)==(0|0); + if ($928) { + label = 277; + break; + } else { + $$0288$i$i = $926;$$0289$i$i = $927; + } + } + if ((label|0) == 277) { + $929 = HEAP32[(35464)>>2]|0; + $930 = ($925>>>0)<($929>>>0); + if ($930) { + _abort(); + // unreachable; + } else { + HEAP32[$925>>2] = $748; + $931 = ((($748)) + 24|0); + HEAP32[$931>>2] = $$0289$i$i; + $932 = ((($748)) + 12|0); + HEAP32[$932>>2] = $748; + $933 = ((($748)) + 8|0); + HEAP32[$933>>2] = $748; + break; + } + } + else if ((label|0) == 280) { + $934 = ((($$0289$i$i)) + 8|0); + $935 = HEAP32[$934>>2]|0; + $936 = HEAP32[(35464)>>2]|0; + $937 = ($935>>>0)>=($936>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($936>>>0); + $938 = $937 & $not$7$i$i; + if ($938) { + $939 = ((($935)) + 12|0); + HEAP32[$939>>2] = $748; + HEAP32[$934>>2] = $748; + $940 = ((($748)) + 8|0); + HEAP32[$940>>2] = $935; + $941 = ((($748)) + 12|0); + HEAP32[$941>>2] = $$0289$i$i; + $942 = ((($748)) + 24|0); + HEAP32[$942>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1074 = ((($736)) + 8|0); + $$2 = $1074; + break L230; + } + } + $$0$i$i$i = (35924); + while(1) { + $943 = HEAP32[$$0$i$i$i>>2]|0; + $944 = ($943>>>0)>($657>>>0); + if (!($944)) { + $945 = ((($$0$i$i$i)) + 4|0); + $946 = HEAP32[$945>>2]|0; + $947 = (($943) + ($946)|0); + $948 = ($947>>>0)>($657>>>0); + if ($948) { + break; + } + } + $949 = ((($$0$i$i$i)) + 8|0); + $950 = HEAP32[$949>>2]|0; + $$0$i$i$i = $950; + } + $951 = ((($947)) + -47|0); + $952 = ((($951)) + 8|0); + $953 = $952; + $954 = $953 & 7; + $955 = ($954|0)==(0); + $956 = (0 - ($953))|0; + $957 = $956 & 7; + $958 = $955 ? 0 : $957; + $959 = (($951) + ($958)|0); + $960 = ((($657)) + 16|0); + $961 = ($959>>>0)<($960>>>0); + $962 = $961 ? $657 : $959; + $963 = ((($962)) + 8|0); + $964 = ((($962)) + 24|0); + $965 = (($$7239$i) + -40)|0; + $966 = ((($$7$i)) + 8|0); + $967 = $966; + $968 = $967 & 7; + $969 = ($968|0)==(0); + $970 = (0 - ($967))|0; + $971 = $970 & 7; + $972 = $969 ? 0 : $971; + $973 = (($$7$i) + ($972)|0); + $974 = (($965) - ($972))|0; + HEAP32[(35472)>>2] = $973; + HEAP32[(35460)>>2] = $974; + $975 = $974 | 1; + $976 = ((($973)) + 4|0); + HEAP32[$976>>2] = $975; + $977 = (($973) + ($974)|0); + $978 = ((($977)) + 4|0); + HEAP32[$978>>2] = 40; + $979 = HEAP32[(35412)>>2]|0; + HEAP32[(35476)>>2] = $979; + $980 = ((($962)) + 4|0); + HEAP32[$980>>2] = 27; + ;HEAP32[$963>>2]=HEAP32[(35924)>>2]|0;HEAP32[$963+4>>2]=HEAP32[(35924)+4>>2]|0;HEAP32[$963+8>>2]=HEAP32[(35924)+8>>2]|0;HEAP32[$963+12>>2]=HEAP32[(35924)+12>>2]|0; + HEAP32[(35924)>>2] = $$7$i; + HEAP32[(35928)>>2] = $$7239$i; + HEAP32[(35936)>>2] = 0; + HEAP32[(35932)>>2] = $963; + $982 = $964; + while(1) { + $981 = ((($982)) + 4|0); + HEAP32[$981>>2] = 7; + $983 = ((($982)) + 8|0); + $984 = ($983>>>0)<($947>>>0); + if ($984) { + $982 = $981; + } else { + break; + } + } + $985 = ($962|0)==($657|0); + if (!($985)) { + $986 = $962; + $987 = $657; + $988 = (($986) - ($987))|0; + $989 = HEAP32[$980>>2]|0; + $990 = $989 & -2; + HEAP32[$980>>2] = $990; + $991 = $988 | 1; + $992 = ((($657)) + 4|0); + HEAP32[$992>>2] = $991; + HEAP32[$962>>2] = $988; + $993 = $988 >>> 3; + $994 = ($988>>>0)<(256); + if ($994) { + $995 = $993 << 1; + $996 = (35488 + ($995<<2)|0); + $997 = HEAP32[8862]|0; + $998 = 1 << $993; + $999 = $997 & $998; + $1000 = ($999|0)==(0); + do { + if ($1000) { + $1001 = $997 | $998; + HEAP32[8862] = $1001; + $$pre$i18$i = ((($996)) + 8|0); + $$0211$i$i = $996;$$pre$phi$i19$iZ2D = $$pre$i18$i; + } else { + $1002 = ((($996)) + 8|0); + $1003 = HEAP32[$1002>>2]|0; + $1004 = HEAP32[(35464)>>2]|0; + $1005 = ($1003>>>0)<($1004>>>0); + if (!($1005)) { + $$0211$i$i = $1003;$$pre$phi$i19$iZ2D = $1002; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i19$iZ2D>>2] = $657; + $1006 = ((($$0211$i$i)) + 12|0); + HEAP32[$1006>>2] = $657; + $1007 = ((($657)) + 8|0); + HEAP32[$1007>>2] = $$0211$i$i; + $1008 = ((($657)) + 12|0); + HEAP32[$1008>>2] = $996; + break; + } + $1009 = $988 >>> 8; + $1010 = ($1009|0)==(0); + do { + if ($1010) { + $$0212$i$i = 0; + } else { + $1011 = ($988>>>0)>(16777215); + if ($1011) { + $$0212$i$i = 31; + break; + } + $1012 = (($1009) + 1048320)|0; + $1013 = $1012 >>> 16; + $1014 = $1013 & 8; + $1015 = $1009 << $1014; + $1016 = (($1015) + 520192)|0; + $1017 = $1016 >>> 16; + $1018 = $1017 & 4; + $1019 = $1018 | $1014; + $1020 = $1015 << $1018; + $1021 = (($1020) + 245760)|0; + $1022 = $1021 >>> 16; + $1023 = $1022 & 2; + $1024 = $1019 | $1023; + $1025 = (14 - ($1024))|0; + $1026 = $1020 << $1023; + $1027 = $1026 >>> 15; + $1028 = (($1025) + ($1027))|0; + $1029 = $1028 << 1; + $1030 = (($1028) + 7)|0; + $1031 = $988 >>> $1030; + $1032 = $1031 & 1; + $1033 = $1032 | $1029; + $$0212$i$i = $1033; + } + } while(0); + $1034 = (35752 + ($$0212$i$i<<2)|0); + $1035 = ((($657)) + 28|0); + HEAP32[$1035>>2] = $$0212$i$i; + $1036 = ((($657)) + 20|0); + HEAP32[$1036>>2] = 0; + HEAP32[$960>>2] = 0; + $1037 = HEAP32[(35452)>>2]|0; + $1038 = 1 << $$0212$i$i; + $1039 = $1037 & $1038; + $1040 = ($1039|0)==(0); + if ($1040) { + $1041 = $1037 | $1038; + HEAP32[(35452)>>2] = $1041; + HEAP32[$1034>>2] = $657; + $1042 = ((($657)) + 24|0); + HEAP32[$1042>>2] = $1034; + $1043 = ((($657)) + 12|0); + HEAP32[$1043>>2] = $657; + $1044 = ((($657)) + 8|0); + HEAP32[$1044>>2] = $657; + break; + } + $1045 = HEAP32[$1034>>2]|0; + $1046 = ($$0212$i$i|0)==(31); + $1047 = $$0212$i$i >>> 1; + $1048 = (25 - ($1047))|0; + $1049 = $1046 ? 0 : $1048; + $1050 = $988 << $1049; + $$0206$i$i = $1050;$$0207$i$i = $1045; + while(1) { + $1051 = ((($$0207$i$i)) + 4|0); + $1052 = HEAP32[$1051>>2]|0; + $1053 = $1052 & -8; + $1054 = ($1053|0)==($988|0); + if ($1054) { + label = 307; + break; + } + $1055 = $$0206$i$i >>> 31; + $1056 = (((($$0207$i$i)) + 16|0) + ($1055<<2)|0); + $1057 = $$0206$i$i << 1; + $1058 = HEAP32[$1056>>2]|0; + $1059 = ($1058|0)==(0|0); + if ($1059) { + label = 304; + break; + } else { + $$0206$i$i = $1057;$$0207$i$i = $1058; + } + } + if ((label|0) == 304) { + $1060 = HEAP32[(35464)>>2]|0; + $1061 = ($1056>>>0)<($1060>>>0); + if ($1061) { + _abort(); + // unreachable; + } else { + HEAP32[$1056>>2] = $657; + $1062 = ((($657)) + 24|0); + HEAP32[$1062>>2] = $$0207$i$i; + $1063 = ((($657)) + 12|0); + HEAP32[$1063>>2] = $657; + $1064 = ((($657)) + 8|0); + HEAP32[$1064>>2] = $657; + break; + } + } + else if ((label|0) == 307) { + $1065 = ((($$0207$i$i)) + 8|0); + $1066 = HEAP32[$1065>>2]|0; + $1067 = HEAP32[(35464)>>2]|0; + $1068 = ($1066>>>0)>=($1067>>>0); + $not$$i21$i = ($$0207$i$i>>>0)>=($1067>>>0); + $1069 = $1068 & $not$$i21$i; + if ($1069) { + $1070 = ((($1066)) + 12|0); + HEAP32[$1070>>2] = $657; + HEAP32[$1065>>2] = $657; + $1071 = ((($657)) + 8|0); + HEAP32[$1071>>2] = $1066; + $1072 = ((($657)) + 12|0); + HEAP32[$1072>>2] = $$0207$i$i; + $1073 = ((($657)) + 24|0); + HEAP32[$1073>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1075 = HEAP32[(35460)>>2]|0; + $1076 = ($1075>>>0)>($$0198>>>0); + if ($1076) { + $1077 = (($1075) - ($$0198))|0; + HEAP32[(35460)>>2] = $1077; + $1078 = HEAP32[(35472)>>2]|0; + $1079 = (($1078) + ($$0198)|0); + HEAP32[(35472)>>2] = $1079; + $1080 = $1077 | 1; + $1081 = ((($1079)) + 4|0); + HEAP32[$1081>>2] = $1080; + $1082 = $$0198 | 3; + $1083 = ((($1078)) + 4|0); + HEAP32[$1083>>2] = $1082; + $1084 = ((($1078)) + 8|0); + $$2 = $1084; + break; + } + } + } + $1085 = (___errno_location()|0); + HEAP32[$1085>>2] = 12; + $$2 = 0; + } else { + $$2 = 0; + } + } + } while(0); + $1086 = HEAP32[(35892)>>2]|0; + $1087 = $1086 & 2; + $1088 = ($1087|0)==(0); + if ($1088) { + $$1 = $$2; + STACKTOP = sp;return ($$1|0); + } + (___pthread_mutex_unlock((35896))|0); + $$1 = $$2; + STACKTOP = sp;return ($$1|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $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; + var $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, $310 = 0, $311 = 0; + var $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, $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, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(35892)>>2]|0; + $4 = $3 & 2; + $5 = ($4|0)==(0); + if (!($5)) { + $6 = (___pthread_mutex_lock((35896))|0); + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + $8 = HEAP32[(35464)>>2]|0; + $9 = ($2>>>0)<($8>>>0); + if ($9) { + _abort(); + // unreachable; + } + $10 = ((($0)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(1); + if ($13) { + _abort(); + // unreachable; + } + $14 = $11 & -8; + $15 = (($2) + ($14)|0); + $16 = $11 & 1; + $17 = ($16|0)==(0); + L14: do { + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = ($12|0)==(0); + if (!($19)) { + $20 = (0 - ($18))|0; + $21 = (($2) + ($20)|0); + $22 = (($18) + ($14))|0; + $23 = ($21>>>0)<($8>>>0); + if ($23) { + _abort(); + // unreachable; + } + $24 = HEAP32[(35468)>>2]|0; + $25 = ($21|0)==($24|0); + if ($25) { + $109 = ((($15)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = $110 & 3; + $112 = ($111|0)==(3); + if (!($112)) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $113 = (($21) + ($22)|0); + $114 = ((($21)) + 4|0); + $115 = $22 | 1; + $116 = $110 & -2; + HEAP32[(35456)>>2] = $22; + HEAP32[$109>>2] = $116; + HEAP32[$114>>2] = $115; + HEAP32[$113>>2] = $22; + break; + } + $26 = $18 >>> 3; + $27 = ($18>>>0)<(256); + if ($27) { + $28 = ((($21)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($21)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = $26 << 1; + $33 = (35488 + ($32<<2)|0); + $34 = ($29|0)==($33|0); + if (!($34)) { + $35 = ($29>>>0)<($8>>>0); + if ($35) { + _abort(); + // unreachable; + } + $36 = ((($29)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==($21|0); + if (!($38)) { + _abort(); + // unreachable; + } + } + $39 = ($31|0)==($29|0); + if ($39) { + $40 = 1 << $26; + $41 = $40 ^ -1; + $42 = HEAP32[8862]|0; + $43 = $42 & $41; + HEAP32[8862] = $43; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $44 = ($31|0)==($33|0); + if ($44) { + $$pre444 = ((($31)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $45 = ($31>>>0)<($8>>>0); + if ($45) { + _abort(); + // unreachable; + } + $46 = ((($31)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==($21|0); + if ($48) { + $$pre$phi445Z2D = $46; + } else { + _abort(); + // unreachable; + } + } + $49 = ((($29)) + 12|0); + HEAP32[$49>>2] = $31; + HEAP32[$$pre$phi445Z2D>>2] = $29; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $50 = ((($21)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = ((($21)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($21|0); + do { + if ($54) { + $64 = ((($21)) + 16|0); + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if ($67) { + $68 = HEAP32[$64>>2]|0; + $69 = ($68|0)==(0|0); + if ($69) { + $$3 = 0; + break; + } else { + $$1387 = $68;$$1390 = $64; + } + } else { + $$1387 = $66;$$1390 = $65; + } + while(1) { + $70 = ((($$1387)) + 20|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(0|0); + if (!($72)) { + $$1387 = $71;$$1390 = $70; + continue; + } + $73 = ((($$1387)) + 16|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)==(0|0); + if ($75) { + break; + } else { + $$1387 = $74;$$1390 = $73; + } + } + $76 = ($$1390>>>0)<($8>>>0); + if ($76) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $55 = ((($21)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56>>>0)<($8>>>0); + if ($57) { + _abort(); + // unreachable; + } + $58 = ((($56)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)==($21|0); + if (!($60)) { + _abort(); + // unreachable; + } + $61 = ((($53)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==($21|0); + if ($63) { + HEAP32[$58>>2] = $53; + HEAP32[$61>>2] = $56; + $$3 = $53; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $77 = ($51|0)==(0|0); + if ($77) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $78 = ((($21)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = (35752 + ($79<<2)|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($21|0)==($81|0); + do { + if ($82) { + HEAP32[$80>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $83 = 1 << $79; + $84 = $83 ^ -1; + $85 = HEAP32[(35452)>>2]|0; + $86 = $85 & $84; + HEAP32[(35452)>>2] = $86; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; + } + } else { + $87 = HEAP32[(35464)>>2]|0; + $88 = ($51>>>0)<($87>>>0); + if ($88) { + _abort(); + // unreachable; + } else { + $89 = ((($51)) + 16|0); + $90 = HEAP32[$89>>2]|0; + $not$405 = ($90|0)!=($21|0); + $$sink3 = $not$405&1; + $91 = (((($51)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$91>>2] = $$3; + $92 = ($$3|0)==(0|0); + if ($92) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; + } else { + break; + } + } + } + } while(0); + $93 = HEAP32[(35464)>>2]|0; + $94 = ($$3>>>0)<($93>>>0); + if ($94) { + _abort(); + // unreachable; + } + $95 = ((($$3)) + 24|0); + HEAP32[$95>>2] = $51; + $96 = ((($21)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==(0|0); + do { + if (!($98)) { + $99 = ($97>>>0)<($93>>>0); + if ($99) { + _abort(); + // unreachable; + } else { + $100 = ((($$3)) + 16|0); + HEAP32[$100>>2] = $97; + $101 = ((($97)) + 24|0); + HEAP32[$101>>2] = $$3; + break; + } + } + } while(0); + $102 = ((($96)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $105 = HEAP32[(35464)>>2]|0; + $106 = ($103>>>0)<($105>>>0); + if ($106) { + _abort(); + // unreachable; + } else { + $107 = ((($$3)) + 20|0); + HEAP32[$107>>2] = $103; + $108 = ((($103)) + 24|0); + HEAP32[$108>>2] = $$3; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + } + } + } + } else { + $$1 = $2;$$1382 = $14;$118 = $2; + label = 55; + } + } while(0); + do { + if ((label|0) == 55) { + $117 = ($118>>>0)<($15>>>0); + if (!($117)) { + _abort(); + // unreachable; + } + $119 = ((($15)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = $120 & 1; + $122 = ($121|0)==(0); + if ($122) { + _abort(); + // unreachable; + } + $123 = $120 & 2; + $124 = ($123|0)==(0); + if ($124) { + $125 = HEAP32[(35472)>>2]|0; + $126 = ($15|0)==($125|0); + $127 = HEAP32[(35468)>>2]|0; + if ($126) { + $128 = HEAP32[(35460)>>2]|0; + $129 = (($128) + ($$1382))|0; + HEAP32[(35460)>>2] = $129; + HEAP32[(35472)>>2] = $$1; + $130 = $129 | 1; + $131 = ((($$1)) + 4|0); + HEAP32[$131>>2] = $130; + $132 = ($$1|0)==($127|0); + if (!($132)) { + break; + } + HEAP32[(35468)>>2] = 0; + HEAP32[(35456)>>2] = 0; + break; + } + $133 = ($15|0)==($127|0); + if ($133) { + $134 = HEAP32[(35456)>>2]|0; + $135 = (($134) + ($$1382))|0; + HEAP32[(35456)>>2] = $135; + HEAP32[(35468)>>2] = $118; + $136 = $135 | 1; + $137 = ((($$1)) + 4|0); + HEAP32[$137>>2] = $136; + $138 = (($118) + ($135)|0); + HEAP32[$138>>2] = $135; + break; + } + $139 = $120 & -8; + $140 = (($139) + ($$1382))|0; + $141 = $120 >>> 3; + $142 = ($120>>>0)<(256); + L106: do { + if ($142) { + $143 = ((($15)) + 8|0); + $144 = HEAP32[$143>>2]|0; + $145 = ((($15)) + 12|0); + $146 = HEAP32[$145>>2]|0; + $147 = $141 << 1; + $148 = (35488 + ($147<<2)|0); + $149 = ($144|0)==($148|0); + if (!($149)) { + $150 = HEAP32[(35464)>>2]|0; + $151 = ($144>>>0)<($150>>>0); + if ($151) { + _abort(); + // unreachable; + } + $152 = ((($144)) + 12|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==($15|0); + if (!($154)) { + _abort(); + // unreachable; + } + } + $155 = ($146|0)==($144|0); + if ($155) { + $156 = 1 << $141; + $157 = $156 ^ -1; + $158 = HEAP32[8862]|0; + $159 = $158 & $157; + HEAP32[8862] = $159; + break; + } + $160 = ($146|0)==($148|0); + if ($160) { + $$pre442 = ((($146)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $161 = HEAP32[(35464)>>2]|0; + $162 = ($146>>>0)<($161>>>0); + if ($162) { + _abort(); + // unreachable; + } + $163 = ((($146)) + 8|0); + $164 = HEAP32[$163>>2]|0; + $165 = ($164|0)==($15|0); + if ($165) { + $$pre$phi443Z2D = $163; + } else { + _abort(); + // unreachable; + } + } + $166 = ((($144)) + 12|0); + HEAP32[$166>>2] = $146; + HEAP32[$$pre$phi443Z2D>>2] = $144; + } else { + $167 = ((($15)) + 24|0); + $168 = HEAP32[$167>>2]|0; + $169 = ((($15)) + 12|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==($15|0); + do { + if ($171) { + $182 = ((($15)) + 16|0); + $183 = ((($182)) + 4|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if ($185) { + $186 = HEAP32[$182>>2]|0; + $187 = ($186|0)==(0|0); + if ($187) { + $$3400 = 0; + break; + } else { + $$1398 = $186;$$1402 = $182; + } + } else { + $$1398 = $184;$$1402 = $183; + } + while(1) { + $188 = ((($$1398)) + 20|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($189|0)==(0|0); + if (!($190)) { + $$1398 = $189;$$1402 = $188; + continue; + } + $191 = ((($$1398)) + 16|0); + $192 = HEAP32[$191>>2]|0; + $193 = ($192|0)==(0|0); + if ($193) { + break; + } else { + $$1398 = $192;$$1402 = $191; + } + } + $194 = HEAP32[(35464)>>2]|0; + $195 = ($$1402>>>0)<($194>>>0); + if ($195) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $172 = ((($15)) + 8|0); + $173 = HEAP32[$172>>2]|0; + $174 = HEAP32[(35464)>>2]|0; + $175 = ($173>>>0)<($174>>>0); + if ($175) { + _abort(); + // unreachable; + } + $176 = ((($173)) + 12|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==($15|0); + if (!($178)) { + _abort(); + // unreachable; + } + $179 = ((($170)) + 8|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==($15|0); + if ($181) { + HEAP32[$176>>2] = $170; + HEAP32[$179>>2] = $173; + $$3400 = $170; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $196 = ($168|0)==(0|0); + if (!($196)) { + $197 = ((($15)) + 28|0); + $198 = HEAP32[$197>>2]|0; + $199 = (35752 + ($198<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($15|0)==($200|0); + do { + if ($201) { + HEAP32[$199>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $202 = 1 << $198; + $203 = $202 ^ -1; + $204 = HEAP32[(35452)>>2]|0; + $205 = $204 & $203; + HEAP32[(35452)>>2] = $205; + break L106; + } + } else { + $206 = HEAP32[(35464)>>2]|0; + $207 = ($168>>>0)<($206>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($168)) + 16|0); + $209 = HEAP32[$208>>2]|0; + $not$ = ($209|0)!=($15|0); + $$sink5 = $not$&1; + $210 = (((($168)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$210>>2] = $$3400; + $211 = ($$3400|0)==(0|0); + if ($211) { + break L106; + } else { + break; + } + } + } + } while(0); + $212 = HEAP32[(35464)>>2]|0; + $213 = ($$3400>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } + $214 = ((($$3400)) + 24|0); + HEAP32[$214>>2] = $168; + $215 = ((($15)) + 16|0); + $216 = HEAP32[$215>>2]|0; + $217 = ($216|0)==(0|0); + do { + if (!($217)) { + $218 = ($216>>>0)<($212>>>0); + if ($218) { + _abort(); + // unreachable; + } else { + $219 = ((($$3400)) + 16|0); + HEAP32[$219>>2] = $216; + $220 = ((($216)) + 24|0); + HEAP32[$220>>2] = $$3400; + break; + } + } + } while(0); + $221 = ((($215)) + 4|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + if (!($223)) { + $224 = HEAP32[(35464)>>2]|0; + $225 = ($222>>>0)<($224>>>0); + if ($225) { + _abort(); + // unreachable; + } else { + $226 = ((($$3400)) + 20|0); + HEAP32[$226>>2] = $222; + $227 = ((($222)) + 24|0); + HEAP32[$227>>2] = $$3400; + break; + } + } + } + } + } while(0); + $228 = $140 | 1; + $229 = ((($$1)) + 4|0); + HEAP32[$229>>2] = $228; + $230 = (($118) + ($140)|0); + HEAP32[$230>>2] = $140; + $231 = HEAP32[(35468)>>2]|0; + $232 = ($$1|0)==($231|0); + if ($232) { + HEAP32[(35456)>>2] = $140; + break; + } else { + $$2 = $140; + } + } else { + $233 = $120 & -2; + HEAP32[$119>>2] = $233; + $234 = $$1382 | 1; + $235 = ((($$1)) + 4|0); + HEAP32[$235>>2] = $234; + $236 = (($118) + ($$1382)|0); + HEAP32[$236>>2] = $$1382; + $$2 = $$1382; + } + $237 = $$2 >>> 3; + $238 = ($$2>>>0)<(256); + if ($238) { + $239 = $237 << 1; + $240 = (35488 + ($239<<2)|0); + $241 = HEAP32[8862]|0; + $242 = 1 << $237; + $243 = $241 & $242; + $244 = ($243|0)==(0); + if ($244) { + $245 = $241 | $242; + HEAP32[8862] = $245; + $$pre = ((($240)) + 8|0); + $$0403 = $240;$$pre$phiZ2D = $$pre; + } else { + $246 = ((($240)) + 8|0); + $247 = HEAP32[$246>>2]|0; + $248 = HEAP32[(35464)>>2]|0; + $249 = ($247>>>0)<($248>>>0); + if ($249) { + _abort(); + // unreachable; + } else { + $$0403 = $247;$$pre$phiZ2D = $246; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $250 = ((($$0403)) + 12|0); + HEAP32[$250>>2] = $$1; + $251 = ((($$1)) + 8|0); + HEAP32[$251>>2] = $$0403; + $252 = ((($$1)) + 12|0); + HEAP32[$252>>2] = $240; + break; + } + $253 = $$2 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0396 = 0; + } else { + $255 = ($$2>>>0)>(16777215); + if ($255) { + $$0396 = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $$2 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0396 = $277; + } + } + $278 = (35752 + ($$0396<<2)|0); + $279 = ((($$1)) + 28|0); + HEAP32[$279>>2] = $$0396; + $280 = ((($$1)) + 16|0); + $281 = ((($$1)) + 20|0); + HEAP32[$281>>2] = 0; + HEAP32[$280>>2] = 0; + $282 = HEAP32[(35452)>>2]|0; + $283 = 1 << $$0396; + $284 = $282 & $283; + $285 = ($284|0)==(0); + do { + if ($285) { + $286 = $282 | $283; + HEAP32[(35452)>>2] = $286; + HEAP32[$278>>2] = $$1; + $287 = ((($$1)) + 24|0); + HEAP32[$287>>2] = $278; + $288 = ((($$1)) + 12|0); + HEAP32[$288>>2] = $$1; + $289 = ((($$1)) + 8|0); + HEAP32[$289>>2] = $$1; + } else { + $290 = HEAP32[$278>>2]|0; + $291 = ($$0396|0)==(31); + $292 = $$0396 >>> 1; + $293 = (25 - ($292))|0; + $294 = $291 ? 0 : $293; + $295 = $$2 << $294; + $$0383 = $295;$$0384 = $290; + while(1) { + $296 = ((($$0384)) + 4|0); + $297 = HEAP32[$296>>2]|0; + $298 = $297 & -8; + $299 = ($298|0)==($$2|0); + if ($299) { + label = 126; + break; + } + $300 = $$0383 >>> 31; + $301 = (((($$0384)) + 16|0) + ($300<<2)|0); + $302 = $$0383 << 1; + $303 = HEAP32[$301>>2]|0; + $304 = ($303|0)==(0|0); + if ($304) { + label = 123; + break; + } else { + $$0383 = $302;$$0384 = $303; + } + } + if ((label|0) == 123) { + $305 = HEAP32[(35464)>>2]|0; + $306 = ($301>>>0)<($305>>>0); + if ($306) { + _abort(); + // unreachable; + } else { + HEAP32[$301>>2] = $$1; + $307 = ((($$1)) + 24|0); + HEAP32[$307>>2] = $$0384; + $308 = ((($$1)) + 12|0); + HEAP32[$308>>2] = $$1; + $309 = ((($$1)) + 8|0); + HEAP32[$309>>2] = $$1; + break; + } + } + else if ((label|0) == 126) { + $310 = ((($$0384)) + 8|0); + $311 = HEAP32[$310>>2]|0; + $312 = HEAP32[(35464)>>2]|0; + $313 = ($311>>>0)>=($312>>>0); + $not$437 = ($$0384>>>0)>=($312>>>0); + $314 = $313 & $not$437; + if ($314) { + $315 = ((($311)) + 12|0); + HEAP32[$315>>2] = $$1; + HEAP32[$310>>2] = $$1; + $316 = ((($$1)) + 8|0); + HEAP32[$316>>2] = $311; + $317 = ((($$1)) + 12|0); + HEAP32[$317>>2] = $$0384; + $318 = ((($$1)) + 24|0); + HEAP32[$318>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $319 = HEAP32[(35480)>>2]|0; + $320 = (($319) + -1)|0; + HEAP32[(35480)>>2] = $320; + $321 = ($320|0)==(0); + if ($321) { + $$0212$in$i = (35932); + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $322 = ($$0212$i|0)==(0|0); + $323 = ((($$0212$i)) + 8|0); + if ($322) { + break; + } else { + $$0212$in$i = $323; + } + } + HEAP32[(35480)>>2] = -1; + } + } + } while(0); + $324 = HEAP32[(35892)>>2]|0; + $325 = $324 & 2; + $326 = ($325|0)==(0); + if ($326) { + return; + } + (___pthread_mutex_unlock((35896))|0); + return; +} +function runPostSets() { +} +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 _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 _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 ___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 _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 _llvm_cttz_i32(x) { + x = x|0; + var ret = 0; + ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); + if ((ret|0) < 8) return ret|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 8)|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 16)|0; + return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +function _emscripten_set_current_thread_status(newStatus) { + newStatus = newStatus|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 _emscripten_conditional_set_current_thread_status(expectedStatus, newStatus) { + expectedStatus = expectedStatus|0; + newStatus = newStatus|0; +} +function _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|0; + totalMemory = getTotalMemory()|0; + + // Perform a compare-and-swap loop to update the new dynamic top value. This is because + // this function can becalled simultaneously in multiple threads. + do { + oldDynamicTop = Atomics_load(HEAP32, DYNAMICTOP_PTR>>2)|0; + newDynamicTop = oldDynamicTop + increment | 0; + // Asking to increase dynamic top to a too high value? In pthreads builds we cannot + // enlarge memory, so this needs to fail. + 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. + | (newDynamicTop|0) > (totalMemory|0)) { + abortOnCannotGrowMemory()|0; + } + // Attempt to update the dynamic top to new value. Another thread may have beat this thread to the update, + // in which case we will need to start over by iterating the loop body again. + oldDynamicTopOnChange = Atomics_compareExchange(HEAP32, DYNAMICTOP_PTR>>2, oldDynamicTop|0, newDynamicTop|0)|0; + } while((oldDynamicTopOnChange|0) != (oldDynamicTop|0)); + return oldDynamicTop|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 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&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](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_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|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&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +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&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +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); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,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_ii = [b5,___stdio_close,_PhysicsLoop,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _emscripten_sync_run_in_main_thread_3: _emscripten_sync_run_in_main_thread_3, _roundf: _roundf, _bitshift64Shl: _bitshift64Shl, _emscripten_atomic_load_f32: _emscripten_atomic_load_f32, ___uremdi3: ___uremdi3, ___udivdi3: ___udivdi3, _emscripten_atomic_xor_u64: _emscripten_atomic_xor_u64, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _emscripten_atomic_and_u64: _emscripten_atomic_and_u64, _emscripten_sync_run_in_main_thread: _emscripten_sync_run_in_main_thread, _emscripten_sync_run_in_main_thread_4: _emscripten_sync_run_in_main_thread_4, _emscripten_sync_run_in_main_thread_5: _emscripten_sync_run_in_main_thread_5, _emscripten_sync_run_in_main_thread_6: _emscripten_sync_run_in_main_thread_6, _emscripten_sync_run_in_main_thread_7: _emscripten_sync_run_in_main_thread_7, _emscripten_sync_run_in_main_thread_0: _emscripten_sync_run_in_main_thread_0, _emscripten_sync_run_in_main_thread_1: _emscripten_sync_run_in_main_thread_1, _emscripten_sync_run_in_main_thread_2: _emscripten_sync_run_in_main_thread_2, __emscripten_atomic_fetch_and_sub_u64: __emscripten_atomic_fetch_and_sub_u64, _emscripten_atomic_exchange_u32: _emscripten_atomic_exchange_u32, _fflush: _fflush, _emscripten_set_current_thread_status: _emscripten_set_current_thread_status, _emscripten_atomic_cas_u64: _emscripten_atomic_cas_u64, _memset: _memset, _emscripten_atomic_sub_u64: _emscripten_atomic_sub_u64, _emscripten_sync_run_in_main_thread_xprintf_varargs: _emscripten_sync_run_in_main_thread_xprintf_varargs, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, __emscripten_atomic_fetch_and_and_u64: __emscripten_atomic_fetch_and_and_u64, _emscripten_atomic_add_u64: _emscripten_atomic_add_u64, _emscripten_atomic_store_f64: _emscripten_atomic_store_f64, ___muldsi3: ___muldsi3, __emscripten_atomic_fetch_and_xor_u64: __emscripten_atomic_fetch_and_xor_u64, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_atomic_store_u64: _emscripten_atomic_store_u64, _emscripten_atomic_load_f64: _emscripten_atomic_load_f64, _emscripten_get_global_libc: _emscripten_get_global_libc, __emscripten_atomic_fetch_and_add_u64: __emscripten_atomic_fetch_and_add_u64, __emscripten_atomic_fetch_and_or_u64: __emscripten_atomic_fetch_and_or_u64, _emscripten_GetProcAddress: _emscripten_GetProcAddress, _emscripten_async_run_in_main_thread: _emscripten_async_run_in_main_thread, ___errno_location: ___errno_location, _main: _main, _emscripten_main_thread_process_queued_calls: _emscripten_main_thread_process_queued_calls, _emscripten_atomic_load_u64: _emscripten_atomic_load_u64, _free: _free, _emscripten_atomic_store_f32: _emscripten_atomic_store_f32, _emscripten_atomic_exchange_u64: _emscripten_atomic_exchange_u64, _memmove: _memmove, ___pthread_tsd_run_dtors: ___pthread_tsd_run_dtors, _malloc: _malloc, _memcpy: _memcpy, _emscripten_conditional_set_current_thread_status: _emscripten_conditional_set_current_thread_status, _sbrk: _sbrk, _emscripten_atomic_or_u64: _emscripten_atomic_or_u64, _strstr: _strstr, ___emscripten_pthread_data_constructor: ___emscripten_pthread_data_constructor, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real___emscripten_atomic_fetch_and_xor_u64 = asm["__emscripten_atomic_fetch_and_xor_u64"]; asm["__emscripten_atomic_fetch_and_xor_u64"] = 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_atomic_fetch_and_xor_u64.apply(null, arguments); +}; + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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__emscripten_atomic_load_f32 = asm["_emscripten_atomic_load_f32"]; asm["_emscripten_atomic_load_f32"] = 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_atomic_load_f32.apply(null, arguments); +}; + +var real____emscripten_pthread_data_constructor = asm["___emscripten_pthread_data_constructor"]; asm["___emscripten_pthread_data_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_pthread_data_constructor.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 real__emscripten_atomic_xor_u64 = asm["_emscripten_atomic_xor_u64"]; asm["_emscripten_atomic_xor_u64"] = 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_atomic_xor_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_u64 = asm["_emscripten_atomic_load_u64"]; asm["_emscripten_atomic_load_u64"] = 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_atomic_load_u64.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__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_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__emscripten_atomic_and_u64 = asm["_emscripten_atomic_and_u64"]; asm["_emscripten_atomic_and_u64"] = 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_atomic_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread = asm["_emscripten_sync_run_in_main_thread"]; asm["_emscripten_sync_run_in_main_thread"] = 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_sync_run_in_main_thread.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_4 = asm["_emscripten_sync_run_in_main_thread_4"]; asm["_emscripten_sync_run_in_main_thread_4"] = 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_sync_run_in_main_thread_4.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_5 = asm["_emscripten_sync_run_in_main_thread_5"]; asm["_emscripten_sync_run_in_main_thread_5"] = 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_sync_run_in_main_thread_5.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_6 = asm["_emscripten_sync_run_in_main_thread_6"]; asm["_emscripten_sync_run_in_main_thread_6"] = 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_sync_run_in_main_thread_6.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_7 = asm["_emscripten_sync_run_in_main_thread_7"]; asm["_emscripten_sync_run_in_main_thread_7"] = 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_sync_run_in_main_thread_7.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_0 = asm["_emscripten_sync_run_in_main_thread_0"]; asm["_emscripten_sync_run_in_main_thread_0"] = 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_sync_run_in_main_thread_0.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_1 = asm["_emscripten_sync_run_in_main_thread_1"]; asm["_emscripten_sync_run_in_main_thread_1"] = 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_sync_run_in_main_thread_1.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_2 = asm["_emscripten_sync_run_in_main_thread_2"]; asm["_emscripten_sync_run_in_main_thread_2"] = 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_sync_run_in_main_thread_2.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_sub_u64 = asm["__emscripten_atomic_fetch_and_sub_u64"]; asm["__emscripten_atomic_fetch_and_sub_u64"] = 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_atomic_fetch_and_sub_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_exchange_u32 = asm["_emscripten_atomic_exchange_u32"]; asm["_emscripten_atomic_exchange_u32"] = 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_atomic_exchange_u32.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__emscripten_set_current_thread_status = asm["_emscripten_set_current_thread_status"]; asm["_emscripten_set_current_thread_status"] = 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_set_current_thread_status.apply(null, arguments); +}; + +var real__emscripten_atomic_cas_u64 = asm["_emscripten_atomic_cas_u64"]; asm["_emscripten_atomic_cas_u64"] = 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_atomic_cas_u64.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__emscripten_atomic_sub_u64 = asm["_emscripten_atomic_sub_u64"]; asm["_emscripten_atomic_sub_u64"] = 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_atomic_sub_u64.apply(null, arguments); +}; + +var real__main = asm["_main"]; asm["_main"] = 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__main.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_xprintf_varargs = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = 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_sync_run_in_main_thread_xprintf_varargs.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___emscripten_atomic_fetch_and_and_u64 = asm["__emscripten_atomic_fetch_and_and_u64"]; asm["__emscripten_atomic_fetch_and_and_u64"] = 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_atomic_fetch_and_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_3 = asm["_emscripten_sync_run_in_main_thread_3"]; asm["_emscripten_sync_run_in_main_thread_3"] = 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_sync_run_in_main_thread_3.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_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__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_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__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__emscripten_atomic_store_u64 = asm["_emscripten_atomic_store_u64"]; asm["_emscripten_atomic_store_u64"] = 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_atomic_store_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f64 = asm["_emscripten_atomic_load_f64"]; asm["_emscripten_atomic_load_f64"] = 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_atomic_load_f64.apply(null, arguments); +}; + +var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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_get_global_libc.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_add_u64 = asm["__emscripten_atomic_fetch_and_add_u64"]; asm["__emscripten_atomic_fetch_and_add_u64"] = 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_atomic_fetch_and_add_u64.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_or_u64 = asm["__emscripten_atomic_fetch_and_or_u64"]; asm["__emscripten_atomic_fetch_and_or_u64"] = 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_atomic_fetch_and_or_u64.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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_GetProcAddress.apply(null, arguments); +}; + +var real__emscripten_async_run_in_main_thread = asm["_emscripten_async_run_in_main_thread"]; asm["_emscripten_async_run_in_main_thread"] = 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_async_run_in_main_thread.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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.apply(null, arguments); +}; + +var real__emscripten_main_thread_process_queued_calls = asm["_emscripten_main_thread_process_queued_calls"]; asm["_emscripten_main_thread_process_queued_calls"] = 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_main_thread_process_queued_calls.apply(null, arguments); +}; + +var real__emscripten_atomic_add_u64 = asm["_emscripten_atomic_add_u64"]; asm["_emscripten_atomic_add_u64"] = 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_atomic_add_u64.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__emscripten_atomic_store_f32 = asm["_emscripten_atomic_store_f32"]; asm["_emscripten_atomic_store_f32"] = 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_atomic_store_f32.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__emscripten_atomic_exchange_u64 = asm["_emscripten_atomic_exchange_u64"]; asm["_emscripten_atomic_exchange_u64"] = 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_atomic_exchange_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_store_f64 = asm["_emscripten_atomic_store_f64"]; asm["_emscripten_atomic_store_f64"] = 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_atomic_store_f64.apply(null, arguments); +}; + +var real____pthread_tsd_run_dtors = asm["___pthread_tsd_run_dtors"]; asm["___pthread_tsd_run_dtors"] = 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_tsd_run_dtors.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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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_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__emscripten_conditional_set_current_thread_status = asm["_emscripten_conditional_set_current_thread_status"]; asm["_emscripten_conditional_set_current_thread_status"] = 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_conditional_set_current_thread_status.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__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__emscripten_atomic_or_u64 = asm["_emscripten_atomic_or_u64"]; asm["_emscripten_atomic_or_u64"] = 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_atomic_or_u64.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.apply(null, arguments); +}; +var __emscripten_atomic_fetch_and_xor_u64 = Module["__emscripten_atomic_fetch_and_xor_u64"] = asm["__emscripten_atomic_fetch_and_xor_u64"]; +var _roundf = Module["_roundf"] = asm["_roundf"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _emscripten_atomic_load_f32 = Module["_emscripten_atomic_load_f32"] = asm["_emscripten_atomic_load_f32"]; +var ___emscripten_pthread_data_constructor = Module["___emscripten_pthread_data_constructor"] = asm["___emscripten_pthread_data_constructor"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var _emscripten_atomic_xor_u64 = Module["_emscripten_atomic_xor_u64"] = asm["_emscripten_atomic_xor_u64"]; +var _emscripten_atomic_load_u64 = Module["_emscripten_atomic_load_u64"] = asm["_emscripten_atomic_load_u64"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _emscripten_atomic_and_u64 = Module["_emscripten_atomic_and_u64"] = asm["_emscripten_atomic_and_u64"]; +var _emscripten_sync_run_in_main_thread = Module["_emscripten_sync_run_in_main_thread"] = asm["_emscripten_sync_run_in_main_thread"]; +var _emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = asm["_emscripten_sync_run_in_main_thread_4"]; +var _emscripten_sync_run_in_main_thread_5 = Module["_emscripten_sync_run_in_main_thread_5"] = asm["_emscripten_sync_run_in_main_thread_5"]; +var _emscripten_sync_run_in_main_thread_6 = Module["_emscripten_sync_run_in_main_thread_6"] = asm["_emscripten_sync_run_in_main_thread_6"]; +var _emscripten_sync_run_in_main_thread_7 = Module["_emscripten_sync_run_in_main_thread_7"] = asm["_emscripten_sync_run_in_main_thread_7"]; +var _emscripten_sync_run_in_main_thread_0 = Module["_emscripten_sync_run_in_main_thread_0"] = asm["_emscripten_sync_run_in_main_thread_0"]; +var _emscripten_sync_run_in_main_thread_1 = Module["_emscripten_sync_run_in_main_thread_1"] = asm["_emscripten_sync_run_in_main_thread_1"]; +var _emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = asm["_emscripten_sync_run_in_main_thread_2"]; +var __emscripten_atomic_fetch_and_sub_u64 = Module["__emscripten_atomic_fetch_and_sub_u64"] = asm["__emscripten_atomic_fetch_and_sub_u64"]; +var _emscripten_atomic_exchange_u32 = Module["_emscripten_atomic_exchange_u32"] = asm["_emscripten_atomic_exchange_u32"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _emscripten_set_current_thread_status = Module["_emscripten_set_current_thread_status"] = asm["_emscripten_set_current_thread_status"]; +var _emscripten_atomic_cas_u64 = Module["_emscripten_atomic_cas_u64"] = asm["_emscripten_atomic_cas_u64"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _emscripten_atomic_sub_u64 = Module["_emscripten_atomic_sub_u64"] = asm["_emscripten_atomic_sub_u64"]; +var _main = Module["_main"] = asm["_main"]; +var _emscripten_sync_run_in_main_thread_xprintf_varargs = Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var __emscripten_atomic_fetch_and_and_u64 = Module["__emscripten_atomic_fetch_and_and_u64"] = asm["__emscripten_atomic_fetch_and_and_u64"]; +var _emscripten_sync_run_in_main_thread_3 = Module["_emscripten_sync_run_in_main_thread_3"] = asm["_emscripten_sync_run_in_main_thread_3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_atomic_store_u64 = Module["_emscripten_atomic_store_u64"] = asm["_emscripten_atomic_store_u64"]; +var _emscripten_atomic_load_f64 = Module["_emscripten_atomic_load_f64"] = asm["_emscripten_atomic_load_f64"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var __emscripten_atomic_fetch_and_add_u64 = Module["__emscripten_atomic_fetch_and_add_u64"] = asm["__emscripten_atomic_fetch_and_add_u64"]; +var __emscripten_atomic_fetch_and_or_u64 = Module["__emscripten_atomic_fetch_and_or_u64"] = asm["__emscripten_atomic_fetch_and_or_u64"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var _emscripten_async_run_in_main_thread = Module["_emscripten_async_run_in_main_thread"] = asm["_emscripten_async_run_in_main_thread"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = asm["_emscripten_main_thread_process_queued_calls"]; +var _emscripten_atomic_add_u64 = Module["_emscripten_atomic_add_u64"] = asm["_emscripten_atomic_add_u64"]; +var _free = Module["_free"] = asm["_free"]; +var _emscripten_atomic_store_f32 = Module["_emscripten_atomic_store_f32"] = asm["_emscripten_atomic_store_f32"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _emscripten_atomic_exchange_u64 = Module["_emscripten_atomic_exchange_u64"] = asm["_emscripten_atomic_exchange_u64"]; +var _emscripten_atomic_store_f64 = Module["_emscripten_atomic_store_f64"] = asm["_emscripten_atomic_store_f64"]; +var ___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = asm["___pthread_tsd_run_dtors"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _emscripten_conditional_set_current_thread_status = Module["_emscripten_conditional_set_current_thread_status"] = asm["_emscripten_conditional_set_current_thread_status"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _emscripten_atomic_or_u64 = Module["_emscripten_atomic_or_u64"] = asm["_emscripten_atomic_or_u64"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +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 +} + +Module['callMain'] = Module.callMain = function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); + assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); + + args = args || []; + + ensureInitRuntime(); + + var argc = args.length+1; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + try { + + var ret = Module['_main'](argc, argv, 0); + + + // if we're not running an evented main loop, it's time to exit + exit(ret, /* implicit = */ true); + } + catch(e) { + if (e instanceof ExitStatus) { + // exit() throws this once it's done to make sure execution + // has been stopped completely + return; + } else if (e == 'SimulateInfiniteLoop') { + // running an evented main loop, don't immediately exit + Module['noExitRuntime'] = true; + return; + } else { + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); + } + } finally { + calledMain = true; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (Module['_main'] && shouldRunNow) Module['callMain'](args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + checkStackCookie(); +} +Module['run'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); + } else { + PThread.terminateAllThreads(); + + ABORT = true; + EXITSTATUS = status; + STACKTOP = initialStackTop; + + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } + + if (ENVIRONMENT_IS_NODE) { + process['exit'](status); + } + Module['quit'](status, new ExitStatus(status)); +} +Module['exit'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(what) { + if (ENVIRONMENT_IS_PTHREAD) console.error('Pthread aborting at ' + new Error().stack); + if (what !== undefined) { + Module.print(what); + Module.printErr(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'] = Module.abort = abort; + +// {{PRE_RUN_ADDITIONS}} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; +if (Module['noInitialRun']) { + shouldRunNow = false; +} + + +if (!ENVIRONMENT_IS_PTHREAD) run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/img/physac/physics_friction.png b/docs/examples/web/physac/physics_friction.png similarity index 100% rename from docs/examples/img/physac/physics_friction.png rename to docs/examples/web/physac/physics_friction.png diff --git a/docs/examples/web/physac/physics_movement.c b/docs/examples/web/physac/physics_movement.c index 3345404d6..70078b0c3 100644 --- a/docs/examples/web/physac/physics_movement.c +++ b/docs/examples/web/physac/physics_movement.c @@ -2,9 +2,11 @@ * * Physac - Physics movement * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread * -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition * @@ -15,111 +17,147 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" +#include "physac.h" -#define VELOCITY 0.5f +#if defined(PLATFORM_WEB) + #include +#endif +#define VELOCITY 0.5f + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +// Physac logo drawing position +int logoX = 0; +int logoY = 15; + +PhysicsBody body; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- int main() { // Initialization //-------------------------------------------------------------------------------------- - int screenWidth = 800; - int screenHeight = 450; - SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics movement"); - SetTargetFPS(60); // Physac logo drawing position - int logoX = screenWidth - MeasureText("Physac", 30) - 10; - int logoY = 15; + logoX = screenWidth - MeasureText("Physac", 30) - 10; // Initialize physics and default physics bodies InitPhysics(); - // Create floor and walls rectangle physics body - PhysicsBody floor = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, screenWidth, 100, 10); + // Create ground and walls rectangle physics body + PhysicsBody ground = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, screenWidth, 100, 10); PhysicsBody platformLeft = CreatePhysicsBodyRectangle((Vector2){ screenWidth*0.25f, screenHeight*0.6f }, screenWidth*0.25f, 10, 10); PhysicsBody platformRight = CreatePhysicsBodyRectangle((Vector2){ screenWidth*0.75f, screenHeight*0.6f }, screenWidth*0.25f, 10, 10); PhysicsBody wallLeft = CreatePhysicsBodyRectangle((Vector2){ -5, screenHeight/2 }, 10, screenHeight, 10); PhysicsBody wallRight = CreatePhysicsBodyRectangle((Vector2){ screenWidth + 5, screenHeight/2 }, 10, screenHeight, 10); - // Disable dynamics to floor and walls physics bodies - floor->enabled = false; + // Disable dynamics to ground and walls physics bodies + ground->enabled = false; platformLeft->enabled = false; platformRight->enabled = false; wallLeft->enabled = false; wallRight->enabled = false; // Create movement physics body - PhysicsBody body = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight/2 }, 50, 50, 1); + body = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight/2 }, 50, 50, 1); body->freezeOrient = true; // Constrain body rotation to avoid little collision torque amounts - //-------------------------------------------------------------------------------------- + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key { - // Update - //---------------------------------------------------------------------------------- - if (IsKeyPressed('R')) // Reset physics input - { - // Reset movement physics body position, velocity and rotation - body->position = (Vector2){ screenWidth/2, screenHeight/2 }; - body->velocity = (Vector2){ 0, 0 }; - SetPhysicsBodyRotation(body, 0); - } - - // Horizontal movement input - if (IsKeyDown(KEY_RIGHT)) body->velocity.x = VELOCITY; - else if (IsKeyDown(KEY_LEFT)) body->velocity.x = -VELOCITY; - - // Vertical movement input checking if player physics body is grounded - if (IsKeyDown(KEY_UP) && body->isGrounded) body->velocity.y = -VELOCITY*4; - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(BLACK); - - DrawFPS(screenWidth - 90, screenHeight - 30); - - // Draw created physics bodies - int bodiesCount = GetPhysicsBodiesCount(); - for (int i = 0; i < bodiesCount; i++) - { - PhysicsBody body = GetPhysicsBody(i); - - int vertexCount = GetPhysicsShapeVerticesCount(i); - for (int j = 0; j < vertexCount; j++) - { - // Get physics bodies shape vertices to draw lines - // Note: GetPhysicsShapeVertex() already calculates rotation transformations - Vector2 vertexA = GetPhysicsShapeVertex(body, j); - - int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape - Vector2 vertexB = GetPhysicsShapeVertex(body, jj); - - DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions - } - } - - DrawText("Use 'ARROWS' to move player", 10, 10, 10, WHITE); - DrawText("Press 'R' to reset example", 10, 30, 10, WHITE); - - DrawText("Physac", logoX, logoY, 30, WHITE); - DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); - - EndDrawing(); - //---------------------------------------------------------------------------------- + UpdateDrawFrame(); } +#endif // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (IsKeyPressed('R')) // Reset physics input + { + // Reset movement physics body position, velocity and rotation + body->position = (Vector2){ screenWidth/2, screenHeight/2 }; + body->velocity = (Vector2){ 0, 0 }; + SetPhysicsBodyRotation(body, 0); + } + + // Horizontal movement input + if (IsKeyDown(KEY_RIGHT)) body->velocity.x = VELOCITY; + else if (IsKeyDown(KEY_LEFT)) body->velocity.x = -VELOCITY; + + // Vertical movement input checking if player physics body is grounded + if (IsKeyDown(KEY_UP) && body->isGrounded) body->velocity.y = -VELOCITY*4; + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(BLACK); + + DrawFPS(screenWidth - 90, screenHeight - 30); + + // Draw created physics bodies + int bodiesCount = GetPhysicsBodiesCount(); + for (int i = 0; i < bodiesCount; i++) + { + PhysicsBody body = GetPhysicsBody(i); + + int vertexCount = GetPhysicsShapeVerticesCount(i); + for (int j = 0; j < vertexCount; j++) + { + // Get physics bodies shape vertices to draw lines + // Note: GetPhysicsShapeVertex() already calculates rotation transformations + Vector2 vertexA = GetPhysicsShapeVertex(body, j); + + int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape + Vector2 vertexB = GetPhysicsShapeVertex(body, jj); + + DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions + } + } + + DrawText("Use 'ARROWS' to move player", 10, 10, 10, WHITE); + DrawText("Press 'R' to reset example", 10, 30, 10, WHITE); + + DrawText("Physac", logoX, logoY, 30, WHITE); + DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} + diff --git a/docs/examples/web/physac/physics_movement.js b/docs/examples/web/physac/physics_movement.js new file mode 100644 index 000000000..5bc965ef2 --- /dev/null +++ b/docs/examples/web/physac/physics_movement.js @@ -0,0 +1,35005 @@ +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// The environment setup code below is customized to use Module. +// *** Environment setup code *** +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +// 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) + +if (Module['ENVIRONMENT']) { + if (Module['ENVIRONMENT'] === 'WEB') { + ENVIRONMENT_IS_WEB = true; + } else if (Module['ENVIRONMENT'] === 'WORKER') { + ENVIRONMENT_IS_WORKER = true; + } else if (Module['ENVIRONMENT'] === 'NODE') { + ENVIRONMENT_IS_NODE = true; + } else if (Module['ENVIRONMENT'] === 'SHELL') { + ENVIRONMENT_IS_SHELL = true; + } else { + throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); + } +} else { + 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; +} + +var ENVIRONMENT_IS_PTHREAD; +if (!ENVIRONMENT_IS_PTHREAD) ENVIRONMENT_IS_PTHREAD = false; // ENVIRONMENT_IS_PTHREAD=true will have been preset in pthread-main.js. Make it false in the main runtime thread. +var PthreadWorkerInit; // Collects together variables that are needed at initialization time for the web workers that host pthreads. +if (!ENVIRONMENT_IS_PTHREAD) PthreadWorkerInit = {}; +var currentScriptUrl = ENVIRONMENT_IS_WORKER ? undefined : document.currentScript.src; + +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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var 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, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. 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 + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // 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'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (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 Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// Runtime essentials +//======================================== + +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var EXITSTATUS = 0; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { + 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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = function cwrap(ident, returnType, argTypes) { + argTypes = argTypes || []; + var cfunc = getCFunc(ident); + // When the function takes numbers and returns a number, we can just return + // the original function + var numericArgs = argTypes.every(function(type){ return type === 'number'}); + var numericRet = (returnType !== 'string'); + if ( numericRet && numericArgs) { + return cfunc; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ length) { + if (length === 0 || !ptr) return ''; + // TODO: use TextDecoder + // 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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 and https://www.ietf.org/rfc/rfc2279.txt and 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 + +if (!ENVIRONMENT_IS_PTHREAD) { // Pthreads have already initialized these variables in src/pthread-main.js, where they were passed to the thread worker at startup time + STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; + staticSealed = false; +} + +if (ENVIRONMENT_IS_PTHREAD) { + staticSealed = true; // The static memory area has been initialized already in the main thread, pthreads skip this. +} + +// 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); +} + + +function enlargeMemory() { + abort('Cannot enlarge memory arrays, since compiling with pthreads support enabled (-s USE_PTHREADS=1).'); +} + + +var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; +var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; +if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + 'JS engine does not provide full typed array support'); + + +if (typeof SharedArrayBuffer !== 'undefined') { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new SharedArrayBuffer(TOTAL_MEMORY); + // Currently SharedArrayBuffer does not have a slice() operation, so polyfill it in. + // Adapted from https://github.com/ttaubert/node-arraybuffer-slice, (c) 2014 Tim Taubert + // arraybuffer-slice may be freely distributed under the MIT license. + (function (undefined) { + "use strict"; + function clamp(val, length) { + val = (val|0) || 0; + if (val < 0) return Math.max(val + length, 0); + return Math.min(val, length); + } + if (typeof SharedArrayBuffer !== 'undefined' && !SharedArrayBuffer.prototype.slice) { + SharedArrayBuffer.prototype.slice = function (from, to) { + var length = this.byteLength; + var begin = clamp(from, length); + var end = length; + if (to !== undefined) end = clamp(to, length); + if (begin > end) return new ArrayBuffer(0); + var num = end - begin; + var target = new ArrayBuffer(num); + var targetArray = new Uint8Array(target); + var sourceArray = new Uint8Array(this, begin, num); + targetArray.set(sourceArray); + return target; + }; + } + })(); +} else { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new ArrayBuffer(TOTAL_MEMORY); +} +updateGlobalBufferViews(); + +if (typeof Atomics === 'undefined') { + // Polyfill singlethreaded atomics ops from http://lars-t-hansen.github.io/ecmascript_sharedmem/shmem.html#Atomics.add + // No thread-safety needed since we don't have multithreading support. + Atomics = {}; + Atomics['add'] = function(t, i, v) { var w = t[i]; t[i] += v; return w; } + Atomics['and'] = function(t, i, v) { var w = t[i]; t[i] &= v; return w; } + Atomics['compareExchange'] = function(t, i, e, r) { var w = t[i]; if (w == e) t[i] = r; return w; } + Atomics['exchange'] = function(t, i, v) { var w = t[i]; t[i] = v; return w; } + Atomics['wait'] = function(t, i, v, o) { if (t[i] != v) return 'not-equal'; else return 'timed-out'; } + Atomics['wake'] = function(t, i, c) { return 0; } + Atomics['wakeOrRequeue'] = function(t, i1, c, i2, v) { return 0; } + Atomics['isLockFree'] = function(s) { return true; } + Atomics['load'] = function(t, i) { return t[i]; } + Atomics['or'] = function(t, i, v) { var w = t[i]; t[i] |= v; return w; } + Atomics['store'] = function(t, i, v) { t[i] = v; return v; } + Atomics['sub'] = function(t, i, v) { var w = t[i]; t[i] -= v; return w; } + Atomics['xor'] = function(t, i, v) { var w = t[i]; t[i] ^= v; return w; } +} + + +function getTotalMemory() { + return TOTAL_MEMORY; +} + +// Endianness check (note: assumes compiler arch was little-endian) +if (!ENVIRONMENT_IS_PTHREAD) { + HEAP32[0] = 0x63736d65; /* 'emsc' */ +} else { + if (HEAP32[0] !== 0x63736d65) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; +} +HEAP16[1] = 0x6373; +if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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 runtime has exited + +var runtimeInitialized = false; +var runtimeExited = false; + +if (ENVIRONMENT_IS_PTHREAD) runtimeInitialized = true; // The runtime is hosted in the main thread, and bits shared to pthreads via SharedArrayBuffer. No need to init again in pthread. + +function preRun() { + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + // 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 (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + if (runtimeInitialized) return; + runtimeInitialized = true; + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + callRuntimeCallbacks(__ATEXIT__); + runtimeExited = true; +} + +function postRun() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + // 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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + +// Atomics.exchange is not yet implemented in the spec, so polyfill that in via compareExchange in the meanwhile. +// TODO: Keep an eye out for the opportunity to remove this once Atomics.exchange is available. +if (typeof Atomics !== 'undefined' && !Atomics['exchange']) { + Atomics['exchange'] = function(heap, index, val) { + var oldVal, oldVal2; + do { + oldVal = Atomics['load'](heap, index); + oldVal2 = Atomics['compareExchange'](heap, index, oldVal, val); + } while(oldVal != oldVal2); + return oldVal; + } +} + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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 +// PRE_RUN_ADDITIONS (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) { + // We should never get here in pthreads (could no-op this out if called in pthreads, but that might indicate a bug in caller side, + // so good to be very explicit) + assert(!ENVIRONMENT_IS_PTHREAD); + 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; + Module.printErr('still waiting on run dependencies:'); + } + Module.printErr('dependency: ' + dep); + } + if (shown) { + Module.printErr('(end of list)'); + } + }, 10000); + } + } else { + Module.printErr('warning: run dependency added without ID'); + } +} +Module["addRunDependency"] = addRunDependency; + +function removeRunDependency(id) { + runDependencies--; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('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["removeRunDependency"] = removeRunDependency; + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + + +var memoryInitializer = null; + + + + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }, + function() { postMessage({ cmd: 'processQueuedMainThreadWork' }) }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + +function _emscripten_asm_const_v(code) { + return ASM_CONSTS[code](); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 38336; + /* global initializers */ if (!ENVIRONMENT_IS_PTHREAD) __ATINIT__.push({ func: function() { ___emscripten_pthread_data_constructor() } }); + + +if (!ENVIRONMENT_IS_PTHREAD) { +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,15,0,0,0,32,186,32,60,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,20,0,0,0,180,11,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,191,145,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,104,121,115,97,99,32,91,114,97,121,108,105,98,93,32,45,32,80,104,121,115,105,99,115,32,109,111,118,101,109,101,110,116,0,80,104,121,115,97,99,0,85,115,101,32,39,65,82,82,79,87,83,39,32,116,111,32,109,111,118,101,32,112,108,97,121,101,114,0,80,114,101,115,115,32,39,82,39,32,116,111,32,114,101,115,101,116,32,101,120,97,109,112,108,101,0,80,111,119,101,114,101,100,32,98,121,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,37,50,105,32,70,80,83,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,101,109,115,99,114,105,112,116,101,110,95,105,115,95,109,97,105,110,95,114,117,110,116,105,109,101,95,116,104,114,101,97,100,40,41,32,38,38,32,34,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,32,109,117,115,116,32,98,101,32,99,97,108,108,101,100,32,102,114,111,109,32,116,104,101,32,109,97,105,110,32,116,104,114,101,97,100,33,34,0,67,58,92,101,109,115,100,107,92,101,109,115,99,114,105,112,116,101,110,92,49,46,51,55,46,57,92,115,121,115,116,101,109,92,108,105,98,92,112,116,104,114,101,97,100,92,108,105,98,114,97,114,121,95,112,116,104,114,101,97,100,46,99,0,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,0,48,32,38,38,32,34,73,110,118,97,108,105,100,32,69,109,115,99,114,105,112,116,101,110,32,112,116,104,114,101,97,100,32,95,100,111,95,99,97,108,108,32,111,112,99,111,100,101,33,34,0,95,100,111,95,99,97,108,108,0,99,97,108,108,0,101,109,115,99,114,105,112,116,101,110,95,97,115,121,110,99,95,114,117,110,95,105,110,95,109,97,105,110,95,116,104,114,101,97,100,0,112,111,115,116,77,101,115,115,97,103,101,40,123,32,99,109,100,58,32,39,112,114,111,99,101,115,115,81,117,101,117,101,100,77,97,105,110,84,104,114,101,97,100,87,111,114,107,39,32,125,41,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +} + + + + + +/* no memory initializer */ +var tempDoublePtr; + +if (!ENVIRONMENT_IS_PTHREAD) tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); + +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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + function ___pthread_setcancelstate() { return 0 } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + + + 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 Module.printErr('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) { + Module['print'](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) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function (tty, val) { + if (val === null || val === 10) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['printErr'](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); + + 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(); + }; + }); + },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, { encoding: 'binary', 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/); + },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) { + // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so + // propagate write bits to execute bits. + stat.mode = stat.mode | ((stat.mode & 146) >> 1); + } + } 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); + },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString: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. + if (flags in NODEFS.flagsToPermissionStringMap) { + return NODEFS.flagsToPermissionStringMap[flags]; + } 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.flagsToPermissionString(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) { + if (length === 0) return 0; // node errors on 0 length reads + // FIXME this is terrible. + var nbuffer = new Buffer(length); + var res; + try { + res = fs.readSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + if (res > 0) { + for (var i = 0; i < res; i++) { + buffer[offset + i] = nbuffer[i]; + } + } + return res; + },write:function (stream, buffer, offset, length, position) { + // FIXME this is terrible. + var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); + var res; + try { + res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return res; + },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; if (ENVIRONMENT_IS_PTHREAD) _stdin = PthreadWorkerInit._stdin; else PthreadWorkerInit._stdin = _stdin = allocate(1, "i32*", ALLOC_STATIC); + + var _stdout; if (ENVIRONMENT_IS_PTHREAD) _stdout = PthreadWorkerInit._stdout; else PthreadWorkerInit._stdout = _stdout = allocate(1, "i32*", ALLOC_STATIC); + + var _stderr; if (ENVIRONMENT_IS_PTHREAD) _stderr = PthreadWorkerInit._stderr; else PthreadWorkerInit._stderr = _stderr = allocate(1, "i32*", ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],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; + Module['printErr']('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 (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); + } + },llseek:function (stream, offset, whence) { + 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 ((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 = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } 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 ((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 = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } 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 (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(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'; + opts.encoding = opts.encoding || 'utf8'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var stream = FS.open(path, opts.flags, opts.mode); + if (opts.encoding === 'utf8') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); + } else if (opts.encoding === 'binary') { + FS.write(stream, data, 0, data.length, 0, opts.canOwn); + } + 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) { + //Module.printErr(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]; + 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 = ''; + }); + },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 ___syscall54(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 54, varargs) } + SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + case 21506: { + 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; + } + default: abort('bad ioctl syscall ' + op); + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _utime(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(12, path, times); + // int utime(const char *path, const struct utimbuf *times); + // http://pubs.opengroup.org/onlinepubs/009695399/basedefs/utime.h.html + var time; + if (times) { + // NOTE: We don't keep track of access timestamps. + var offset = 4; + time = HEAP32[(((times)+(offset))>>2)]; + time *= 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + + + + var PROCINFO={ppid:1,pid:42,sid:42,pgid:42}; + + + var __pthread_ptr=0; + + var __pthread_is_main_browser_thread=0;function __register_pthread_ptr(pthreadPtr, isMainBrowserThread, isMainRuntimeThread) { + pthreadPtr = pthreadPtr|0; + isMainBrowserThread = isMainBrowserThread|0; + isMainRuntimeThread = isMainRuntimeThread|0; + __pthread_ptr = pthreadPtr; + __pthread_is_main_browser_thread = isMainBrowserThread; + __pthread_is_main_runtime_thread = isMainRuntimeThread; + } + + var _emscripten_main_thread_process_queued_calls=undefined;var PThread={MAIN_THREAD_ID:1,mainThreadInfo:{schedPolicy:0,schedPrio:0},unusedWorkerPool:[],runningWorkers:[],initMainThreadBlock:function () { + if (ENVIRONMENT_IS_PTHREAD) return undefined; + PThread.mainThreadBlock = allocate(244, "i32*", ALLOC_STATIC); + __register_pthread_ptr(PThread.mainThreadBlock, /*isMainBrowserThread=*/!ENVIRONMENT_IS_WORKER, /*isMainRuntimeThread=*/1); // Pass the thread address inside the asm.js scope to store it for fast access that avoids the need for a FFI out. + + for (var i = 0; i < 244/4; ++i) HEAPU32[PThread.mainThreadBlock/4+i] = 0; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((PThread.mainThreadBlock)+(24))>>2)]=PThread.mainThreadBlock; + + // Allocate memory for thread-local storage. + var tlsMemory = allocate(128 * 4, "i32*", ALLOC_STATIC); + for (var i = 0; i < 128; ++i) HEAPU32[tlsMemory/4+i] = 0; + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 52 ) >> 2, PThread.mainThreadBlock); // Main thread ID. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 56 ) >> 2, PROCINFO.pid); // Process ID. + + },pthreads:{},pthreadIdCounter:2,exitHandlers:null,setThreadStatus:function () {},runExitHandlers:function () { + if (PThread.exitHandlers !== null) { + while (PThread.exitHandlers.length > 0) { + PThread.exitHandlers.pop()(); + } + PThread.exitHandlers = null; + } + + // Call into the musl function that runs destructors of all thread-specific data. + if (ENVIRONMENT_IS_PTHREAD && threadInfoStruct) ___pthread_tsd_run_dtors(); + },threadExit:function (exitCode) { + var tb = _pthread_self(); + if (tb) { // If we haven't yet exited? + Atomics.store(HEAPU32, (tb + 4 ) >> 2, exitCode); + // When we publish this, the main thread is free to deallocate the thread object and we are done. + // Therefore set threadInfoStruct = 0; above to 'release' the object in this worker thread. + Atomics.store(HEAPU32, (tb + 0 ) >> 2, 1); + + // Disable all cancellation so that executing the cleanup handlers won't trigger another JS + // canceled exception to be thrown. + Atomics.store(HEAPU32, (tb + 72 ) >> 2, 1/*PTHREAD_CANCEL_DISABLE*/); + Atomics.store(HEAPU32, (tb + 76 ) >> 2, 0/*PTHREAD_CANCEL_DEFERRED*/); + PThread.runExitHandlers(); + + _emscripten_futex_wake(tb + 0, 2147483647); + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + threadInfoStruct = 0; + if (ENVIRONMENT_IS_PTHREAD) { + // This worker no longer owns any WebGL OffscreenCanvases, so transfer them back to parent thread. + var transferList = []; + + + postMessage({ cmd: 'exit' }); + } + } + },threadCancel:function () { + PThread.runExitHandlers(); + Atomics.store(HEAPU32, (threadInfoStruct + 4 ) >> 2, -1/*PTHREAD_CANCELED*/); + Atomics.store(HEAPU32, (threadInfoStruct + 0 ) >> 2, 1); // Mark the thread as no longer running. + _emscripten_futex_wake(threadInfoStruct + 0, 2147483647); // wake all threads + threadInfoStruct = selfThreadId = 0; // Not hosting a pthread anymore in this worker, reset the info structures to null. + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + postMessage({ cmd: 'cancelDone' }); + },terminateAllThreads:function () { + for (var t in PThread.pthreads) { + var pthread = PThread.pthreads[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.pthreads = {}; + for (var t in PThread.unusedWorkerPool) { + var pthread = PThread.unusedWorkerPool[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.unusedWorkerPool = []; + for (var t in PThread.runningWorkers) { + var pthread = PThread.runningWorkers[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.runningWorkers = []; + },freeThreadData:function (pthread) { + if (!pthread) return; + if (pthread.threadInfoStruct) { + var tlsMemory = HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]; + HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]=0; + _free(pthread.tlsMemory); + _free(pthread.threadInfoStruct); + } + pthread.threadInfoStruct = 0; + if (pthread.allocatedOwnStack && pthread.stackBase) _free(pthread.stackBase); + pthread.stackBase = 0; + if (pthread.worker) pthread.worker.pthread = null; + },receiveObjectTransfer:function (data) { + },allocateUnusedWorkers:function (numWorkers, onFinishedLoading) { + if (typeof SharedArrayBuffer === 'undefined') return; // No multithreading support, no-op. + Module['print']('Preallocating ' + numWorkers + ' workers for a pthread spawn pool.'); + + var numWorkersLoaded = 0; + for (var i = 0; i < numWorkers; ++i) { + var pthreadMainJs = 'pthread-main.js'; + // Allow HTML module to configure the location where the 'pthread-main.js' file will be loaded from, + // either via Module.locateFile() function, or via Module.pthreadMainPrefixURL string. If neither + // of these are passed, then the default URL 'pthread-main.js' relative to the main html file is loaded. + if (typeof Module['locateFile'] === 'function') pthreadMainJs = Module['locateFile'](pthreadMainJs); + else if (Module['pthreadMainPrefixURL']) pthreadMainJs = Module['pthreadMainPrefixURL'] + pthreadMainJs; + var worker = new Worker(pthreadMainJs); + + worker.onmessage = function(e) { + // If this message is intended to a recipient that is not the main thread, forward it to the target thread. + if (e.data.targetThread && e.data.targetThread != _pthread_self()) { + var thread = PThread.pthreads[e.data.targetThread]; + if (thread) { + thread.worker.postMessage(e.data, e.data.transferList); + } else { + console.error('Internal error! Worker sent a message "' + e.data.cmd + '" to target pthread ' + e.data.targetThread + ', but that thread no longer exists!'); + } + return; + } + + if (e.data.cmd === 'processQueuedMainThreadWork') { + // TODO: Must post message to main Emscripten thread in PROXY_TO_WORKER mode. + _emscripten_main_thread_process_queued_calls(); + } else if (e.data.cmd === 'spawnThread') { + __spawn_thread(e.data); + } else if (e.data.cmd === 'cleanupThread') { + __cleanup_thread(e.data.thread); + } else if (e.data.cmd === 'killThread') { + __kill_thread(e.data.thread); + } else if (e.data.cmd === 'cancelThread') { + __cancel_thread(e.data.thread); + } else if (e.data.cmd === 'loaded') { + ++numWorkersLoaded; + if (numWorkersLoaded === numWorkers && onFinishedLoading) { + onFinishedLoading(); + } + } else if (e.data.cmd === 'print') { + Module['print']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'printErr') { + Module['printErr']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'alert') { + alert('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'exit') { + // currently no-op + } else if (e.data.cmd === 'cancelDone') { + PThread.freeThreadData(worker.pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + // TODO: Free if detached. + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } else if (e.data.cmd === 'objectTransfer') { + PThread.receiveObjectTransfer(e.data); + } else { + Module['printErr']("worker sent an unknown command " + e.data.cmd); + } + }; + + worker.onerror = function(e) { + Module['printErr']('pthread sent an error! ' + e.filename + ':' + e.lineno + ': ' + e.message); + }; + + // Allocate tempDoublePtr for the worker. This is done here on the worker's behalf, since we may need to do this statically + // if the runtime has not been loaded yet, etc. - so we just use getMemory, which is main-thread only. + var tempDoublePtr = getMemory(8); // TODO: leaks. Cleanup after worker terminates. + + // Ask the new worker to load up the Emscripten-compiled page. This is a heavy operation. + worker.postMessage({ + cmd: 'load', + url: currentScriptUrl, + buffer: HEAPU8.buffer, + tempDoublePtr: tempDoublePtr, + TOTAL_MEMORY: TOTAL_MEMORY, + STATICTOP: STATICTOP, + DYNAMIC_BASE: DYNAMIC_BASE, + DYNAMICTOP_PTR: DYNAMICTOP_PTR, + PthreadWorkerInit: PthreadWorkerInit + }); + PThread.unusedWorkerPool.push(worker); + } + },getNewWorker:function () { + if (PThread.unusedWorkerPool.length == 0) PThread.allocateUnusedWorkers(1); + if (PThread.unusedWorkerPool.length > 0) return PThread.unusedWorkerPool.pop(); + else return null; + },busySpinWait:function (msecs) { + var t = performance.now() + msecs; + while(performance.now() < t) { + ; + } + }};var __pthread_is_main_runtime_thread=0;function _emscripten_is_main_runtime_thread() { + return __pthread_is_main_runtime_thread|0; // Semantically the same as testing "!ENVIRONMENT_IS_PTHREAD" outside the asm.js scope + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _atexit(func, arg) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(110, func, arg); + __ATEXIT__.unshift({ func: func, arg: arg }); + } + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + function ___syscall6(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 6, 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 _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + function ___syscall140(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 140, varargs) } + SYSCALLS.varargs = varargs; + try { + // llseek + var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___syscall146(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 146, 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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + var _tzname; if (ENVIRONMENT_IS_PTHREAD) _tzname = PthreadWorkerInit._tzname; else PthreadWorkerInit._tzname = _tzname = allocate(8, "i32*", ALLOC_STATIC); + + var _daylight; if (ENVIRONMENT_IS_PTHREAD) _daylight = PthreadWorkerInit._daylight; else PthreadWorkerInit._daylight = _daylight = allocate(1, "i32*", ALLOC_STATIC); + + var _timezone; if (ENVIRONMENT_IS_PTHREAD) _timezone = PthreadWorkerInit._timezone; else PthreadWorkerInit._timezone = _timezone = allocate(1, "i32*", ALLOC_STATIC);function _tzset() { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_0(119); + // TODO: Use (malleable) environment variables instead of system settings. + if (_tzset.called) return; + _tzset.called = true; + + HEAP32[((_timezone)>>2)]=-(new Date()).getTimezoneOffset() * 60; + + var winter = new Date(2000, 0, 1); + var summer = new Date(2000, 6, 1); + HEAP32[((_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[((_tzname)>>2)]=winterNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=summerNamePtr; + } else { + HEAP32[((_tzname)>>2)]=summerNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=winterNamePtr; + } + } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _sysconf(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(72, 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 _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + 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 _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + + + + + var _environ; if (ENVIRONMENT_IS_PTHREAD) _environ = PthreadWorkerInit._environ; else PthreadWorkerInit._environ = _environ = allocate(1, "i32*", ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env) { + // 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'; + ENV['_'] = Module['thisProgram']; + // Allocate memory. + poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC); + envPtr = allocate(MAX_ENV_VALUES * 4, + 'i8*', ALLOC_STATIC); + 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; + }var ENV={};function _clearenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(112, name); + // int clearenv (void); + // http://www.gnu.org/s/hello/manual/libc/Environment-Access.html#index-clearenv-3107 + ENV = {}; + ___buildEnvironment(ENV); + return 0; + } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + var _emscripten_asm_const=true; + + function _chroot(path) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(37, path); + // int chroot(const char *path); + // http://pubs.opengroup.org/onlinepubs/7908799/xsh/chroot.html + ___setErrNo(ERRNO_CODES.EACCES); + return -1; + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _unsetenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(114, name); + // int unsetenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/unsetenv.html + if (name === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + name = Pointer_stringify(name); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name)) { + delete ENV[name]; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + + + function _emscripten_get_now_is_monotonic() { + // return whether emscripten_get_now is guaranteed monotonic; the Date.now + // implementation is not :( + return ENVIRONMENT_IS_NODE || (typeof dateNow !== 'undefined') || + ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self['performance'] && self['performance']['now']); + }function _clock_gettime(clk_id, tp) { + // int clock_gettime(clockid_t clk_id, struct timespec *tp); + var now; + if (clk_id === 0) { + now = Date.now(); + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now(); + } else { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + HEAP32[((tp)>>2)]=(now/1000)|0; // seconds + HEAP32[(((tp)+(4))>>2)]=((now % 1000)*1000*1000)|0; // nanoseconds + return 0; + }function ___clock_gettime() { + return _clock_gettime.apply(null, arguments) + } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + + function __cleanup_thread(pthread_ptr) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _cleanup_thread() can only ever be called from main application thread!'; + if (!pthread_ptr) throw 'Internal Error! Null pthread_ptr in _cleanup_thread!'; + HEAP32[(((pthread_ptr)+(24))>>2)]=0; + var pthread = PThread.pthreads[pthread_ptr]; + var worker = pthread.worker; + PThread.freeThreadData(pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } + + function __pthread_testcancel_js() { + if (!ENVIRONMENT_IS_PTHREAD) return; + if (!threadInfoStruct) return; + var cancelDisabled = Atomics.load(HEAPU32, (threadInfoStruct + 72 ) >> 2); + if (cancelDisabled) return; + var canceled = Atomics.load(HEAPU32, (threadInfoStruct + 0 ) >> 2); + if (canceled == 2) throw 'Canceled!'; + }function _pthread_join(thread, status) { + if (!thread) { + Module['printErr']('pthread_join attempted on a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + if (ENVIRONMENT_IS_PTHREAD && selfThreadId == thread) { + Module['printErr']('PThread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + else if (!ENVIRONMENT_IS_PTHREAD && PThread.mainThreadBlock == thread) { + Module['printErr']('Main thread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_join attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var detached = Atomics.load(HEAPU32, (thread + 80 ) >> 2); + if (detached) { + Module['printErr']('Attempted to join thread ' + thread + ', which was already detached!'); + return ERRNO_CODES.EINVAL; // The thread is already detached, can no longer join it! + } + for (;;) { + var threadStatus = Atomics.load(HEAPU32, (thread + 0 ) >> 2); + if (threadStatus == 1) { // Exited? + var threadExitCode = Atomics.load(HEAPU32, (thread + 4 ) >> 2); + if (status) HEAP32[((status)>>2)]=threadExitCode; + Atomics.store(HEAPU32, (thread + 80 ) >> 2, 1); // Mark the thread as detached. + + if (!ENVIRONMENT_IS_PTHREAD) __cleanup_thread(thread); + else postMessage({ cmd: 'cleanupThread', thread: thread}); + return 0; + } + // TODO HACK! Replace the _js variant with just _pthread_testcancel: + //_pthread_testcancel(); + __pthread_testcancel_js(); + // In main runtime thread (the thread that initialized the Emscripten C runtime and launched main()), assist pthreads in performing operations + // that they need to access the Emscripten main runtime for. + if (!ENVIRONMENT_IS_PTHREAD) _emscripten_main_thread_process_queued_calls(); + _emscripten_futex_wait(thread + 0, threadStatus, ENVIRONMENT_IS_PTHREAD ? 100 : 1); + } + } + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + var __main_thread_futex_wait_address; if (ENVIRONMENT_IS_PTHREAD) __main_thread_futex_wait_address = PthreadWorkerInit.__main_thread_futex_wait_address; else PthreadWorkerInit.__main_thread_futex_wait_address = __main_thread_futex_wait_address = allocate(1, "i32*", ALLOC_STATIC);function _emscripten_futex_wait(addr, val, timeout) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0) return -22; + // dump('futex_wait addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ENVIRONMENT_IS_WORKER) { + var ret = Atomics.wait(HEAP32, addr >> 2, val, timeout); + // dump('futex_wait done by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ret === 'timed-out') return -110; + if (ret === 'not-equal') return -11; + if (ret === 'ok') return 0; + throw 'Atomics.wait returned an unexpected value ' + ret; + } else { + // Atomics.wait is not available in the main browser thread, so simulate it via busy spinning. + var loadedVal = Atomics.load(HEAP32, addr >> 2); + if (val != loadedVal) return -11; + + var tNow = performance.now(); + var tEnd = tNow + timeout; + + + // Register globally which address the main thread is simulating to be waiting on. When zero, main thread is not waiting on anything, + // and on nonzero, the contents of address pointed by __main_thread_futex_wait_address tell which address the main thread is simulating its wait on. + Atomics.store(HEAP32, __main_thread_futex_wait_address >> 2, addr); + var ourWaitAddress = addr; // We may recursively re-enter this function while processing queued calls, in which case we'll do a spurious wakeup of the older wait operation. + while (addr == ourWaitAddress) { + tNow = performance.now(); + if (tNow > tEnd) { + return -110; + } + _emscripten_main_thread_process_queued_calls(); // We are performing a blocking loop here, so must pump any pthreads if they want to perform operations that are proxied. + addr = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); // Look for a worker thread waking us up. + } + return 0; + } + } + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + + + var cttz_i8; if (ENVIRONMENT_IS_PTHREAD) cttz_i8 = PthreadWorkerInit.cttz_i8; else PthreadWorkerInit.cttz_i8 = cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + function __exit(status) { + // void _exit(int status); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html + Module['exit'](status); + }function _exit(status) { + __exit(status); + } + + function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_futex_wake(addr, count) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0 || count < 0) return -22; + if (count == 0) return 0; + // dump('futex_wake addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + + // See if main thread is waiting on this address? If so, wake it up by resetting its wake location to zero. + // Note that this is not a fair procedure, since we always wake main thread first before any workers, so + // this scheme does not adhere to real queue-based waiting. + var mainThreadWaitAddress = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); + var mainThreadWoken = 0; + if (mainThreadWaitAddress == addr) { + var loadedAddr = Atomics.compareExchange(HEAP32, __main_thread_futex_wait_address >> 2, mainThreadWaitAddress, 0); + if (loadedAddr == mainThreadWaitAddress) { + --count; + mainThreadWoken = 1; + if (count <= 0) return 1; + } + } + + // Wake any workers waiting on this address. + var ret = Atomics.wake(HEAP32, addr >> 2, count); + if (ret >= 0) return ret + mainThreadWoken; + throw 'Atomics.wake returned an unexpected value ' + ret; + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + + function __spawn_thread(threadParams) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _spawn_thread() can only ever be called from main application thread!'; + + var worker = PThread.getNewWorker(); + if (worker.pthread !== undefined) throw 'Internal error!'; + if (!threadParams.pthread_ptr) throw 'Internal error, no pthread ptr!'; + PThread.runningWorkers.push(worker); + + // Allocate memory for thread-local storage and initialize it to zero. + var tlsMemory = _malloc(128 * 4); + for (var i = 0; i < 128; ++i) { + HEAP32[(((tlsMemory)+(i*4))>>2)]=0; + } + + var pthread = PThread.pthreads[threadParams.pthread_ptr] = { // Create a pthread info object to represent this thread. + worker: worker, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + allocatedOwnStack: threadParams.allocatedOwnStack, + thread: threadParams.pthread_ptr, + threadInfoStruct: threadParams.pthread_ptr // Info area for this thread in Emscripten HEAP (shared) + }; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 0 ) >> 2, 0); // threadStatus <- 0, meaning not yet exited. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 4 ) >> 2, 0); // threadExitCode <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 20 ) >> 2, 0); // profilerBlock <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 80 ) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 60 ) >> 2, 0); // Mark initial status to unused. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 52 ) >> 2, pthread.threadInfoStruct); // Main thread ID. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 56 ) >> 2, PROCINFO.pid); // Process ID. + + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 96) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 92) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 8) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 12) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 20) >> 2, threadParams.schedPolicy); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 24) >> 2, threadParams.schedPrio); + + var global_libc = _emscripten_get_global_libc(); + var global_locale = global_libc + 40; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 188) >> 2, global_locale); + + + worker.pthread = pthread; + + // Ask the worker to start executing its pthread entry point function. + worker.postMessage({ + cmd: 'run', + start_routine: threadParams.startRoutine, + arg: threadParams.arg, + threadInfoStruct: threadParams.pthread_ptr, + selfThreadId: threadParams.pthread_ptr, // TODO: Remove this since thread ID is now the same as the thread address. + parentThreadId: threadParams.parent_pthread_ptr, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + }, threadParams.transferList); + } + + function _pthread_getschedparam(thread, policy, schedparam) { + if (!policy && !schedparam) return ERRNO_CODES.EINVAL; + + if (!thread) { + Module['printErr']('pthread_getschedparam called with a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_getschedparam attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var schedPolicy = Atomics.load(HEAPU32, (thread + 120 + 20 ) >> 2); + var schedPrio = Atomics.load(HEAPU32, (thread + 120 + 24 ) >> 2); + + if (policy) HEAP32[((policy)>>2)]=schedPolicy; + if (schedparam) HEAP32[((schedparam)>>2)]=schedPrio; + return 0; + } + + function _pthread_self() { + return __pthread_ptr|0; + }function _pthread_create(pthread_ptr, attr, start_routine, arg) { + if (typeof SharedArrayBuffer === 'undefined') { + Module['printErr']('Current environment does not support SharedArrayBuffer, pthreads are not available!'); + return 11; + } + if (!pthread_ptr) { + Module['printErr']('pthread_create called with a null thread pointer!'); + return 22; + } + + var transferList = []; // List of JS objects that will transfer ownership to the Worker hosting the thread + + + // Synchronously proxy the thread creation to main thread if possible. If we need to transfer ownership of objects, then + // proxy asynchronously via postMessage. + if (ENVIRONMENT_IS_PTHREAD && transferList.length == 0) { + return _emscripten_sync_run_in_main_thread_4(137, pthread_ptr, attr, start_routine, arg); + } + + var stackSize = 0; + var stackBase = 0; + var detached = 0; // Default thread attr is PTHREAD_CREATE_JOINABLE, i.e. start as not detached. + var schedPolicy = 0; /*SCHED_OTHER*/ + var schedPrio = 0; + if (attr) { + stackSize = HEAP32[((attr)>>2)]; + stackBase = HEAP32[(((attr)+(8))>>2)]; + detached = HEAP32[(((attr)+(12))>>2)] != 0/*PTHREAD_CREATE_JOINABLE*/; + var inheritSched = HEAP32[(((attr)+(16))>>2)] == 0/*PTHREAD_INHERIT_SCHED*/; + if (inheritSched) { + var prevSchedPolicy = HEAP32[(((attr)+(20))>>2)]; + var prevSchedPrio = HEAP32[(((attr)+(24))>>2)]; + _pthread_getschedparam(_pthread_self(), attr + 20, attr + 24); + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + HEAP32[(((attr)+(20))>>2)]=prevSchedPolicy; + HEAP32[(((attr)+(24))>>2)]=prevSchedPrio; + } else { + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + } + } + stackSize += 81920 /*DEFAULT_STACK_SIZE*/; + var allocatedOwnStack = stackBase == 0; // If allocatedOwnStack == true, then the pthread impl maintains the stack allocation. + if (allocatedOwnStack) { + stackBase = _malloc(stackSize); // Allocate a stack if the user doesn't want to place the stack in a custom memory area. + } else { + // Musl stores the stack base address assuming stack grows downwards, so adjust it to Emscripten convention that the + // stack grows upwards instead. + stackBase -= stackSize; + assert(stackBase > 0); + } + + // Allocate thread block (pthread_t structure). + var threadInfoStruct = _malloc(244); + for (var i = 0; i < 244 >> 2; ++i) HEAPU32[(threadInfoStruct>>2) + i] = 0; // zero-initialize thread structure. + HEAP32[((pthread_ptr)>>2)]=threadInfoStruct; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((threadInfoStruct)+(24))>>2)]=threadInfoStruct; + + // pthread struct robust_list head should point to itself. + var headPtr = threadInfoStruct + 168; + HEAP32[((headPtr)>>2)]=headPtr; + + var threadParams = { + stackBase: stackBase, + stackSize: stackSize, + allocatedOwnStack: allocatedOwnStack, + schedPolicy: schedPolicy, + schedPrio: schedPrio, + detached: detached, + startRoutine: start_routine, + pthread_ptr: threadInfoStruct, + parent_pthread_ptr: _pthread_self(), + arg: arg, + transferList: transferList + }; + + if (ENVIRONMENT_IS_PTHREAD) { + // The prepopulated pool of web workers that can host pthreads is stored in the main JS thread. Therefore if a + // pthread is attempting to spawn a new thread, the thread creation must be deferred to the main JS thread. + threadParams.cmd = 'spawnThread'; + postMessage(threadParams, transferList); + } else { + // We are the main thread, so we have the pthread warmup pool in this thread and can fire off JS thread creation + // directly ourselves. + __spawn_thread(threadParams); + } + + return 0; + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _glfwGetKey(winid, key) { + return GLFW.getKey(winid, key); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + + function _emscripten_set_current_thread_status_js(newStatus) { + } + Module["_emscripten_set_current_thread_status"] = _emscripten_set_current_thread_status; + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _confstr(name, buf, len) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(68, name, buf, len); + // size_t confstr(int name, char *buf, size_t len); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/confstr.html + var value; + switch (name) { + case 0: + value = ENV['PATH'] || '/'; + break; + case 1: + // Mimicking glibc. + value = 'POSIX_V6_ILP32_OFF32\nPOSIX_V6_ILP32_OFFBIG'; + break; + case 2: + // This JS implementation was tested against this glibc version. + value = 'glibc 2.14'; + break; + case 3: + // We don't support pthreads. + value = ''; + break; + case 1118: + case 1122: + case 1124: + case 1125: + case 1126: + case 1128: + case 1129: + case 1130: + value = ''; + break; + case 1116: + case 1117: + case 1121: + value = '-m32'; + break; + case 1120: + value = '-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'; + break; + default: + ___setErrNo(ERRNO_CODES.EINVAL); + return 0; + } + if (len == 0 || buf == 0) { + return value.length + 1; + } else { + var length = Math.min(len, value.length); + for (var i = 0; i < length; i++) { + HEAP8[(((buf)+(i))>>0)]=value.charCodeAt(i); + } + if (len > length) HEAP8[(((buf)+(i++))>>0)]=0; + return i; + } + } + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _getenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(111, 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 = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL); + return _getenv.ret; + } + + + function _emscripten_conditional_set_current_thread_status_js(expectedStatus, newStatus) { + } + Module["_emscripten_conditional_set_current_thread_status"] = _emscripten_conditional_set_current_thread_status; + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function ___assert_fail(condition, filename, line, func) { + ABORT = true; + throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _setenv(envname, envval, overwrite) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(113, envname, envval, overwrite); + // int setenv(const char *envname, const char *envval, int overwrite); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/setenv.html + if (envname === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = Pointer_stringify(envname); + var val = Pointer_stringify(envval); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name) && !overwrite) return 0; + ENV[name] = val; + ___buildEnvironment(ENV); + return 0; + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _emscripten_syscall(which, varargs) { + switch (which) { + case 54: return ___syscall54(which, varargs); + case 6: return ___syscall6(which, varargs); + case 140: return ___syscall140(which, varargs); + case 146: return ___syscall146(which, varargs); + default: throw "surprising proxied syscall: " + which; + } + } + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _fpathconf(fildes, name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(46, fildes, name); + // long fpathconf(int fildes, int name); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/encrypt.html + // NOTE: The first parameter is ignored, so pathconf == fpathconf. + // The constants here aren't real values. Just mimicking glibc. + switch (name) { + case 0: + return 32000; + case 1: + case 2: + case 3: + return 255; + case 4: + case 5: + case 16: + case 17: + case 18: + return 4096; + case 6: + case 7: + case 20: + return 1; + case 8: + return 0; + case 9: + case 10: + case 11: + case 12: + case 14: + case 15: + case 19: + return -1; + case 13: + return 64; + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + + function _putenv(string) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(115, string); + // int putenv(char *string); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/putenv.html + // WARNING: According to the standard (and the glibc implementation), the + // string is taken by reference so future changes are reflected. + // We copy it instead, possibly breaking some uses. + if (string === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + string = Pointer_stringify(string); + var splitPoint = string.indexOf('=') + if (string === '' || string.indexOf('=') === -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = string.slice(0, splitPoint); + var value = string.slice(splitPoint + 1); + if (!(name in ENV) || ENV[name] !== value) { + ENV[name] = value; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function _utimes(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(13, path, times); + var time; + if (times) { + var offset = 8 + 0; + time = HEAP32[(((times)+(offset))>>2)] * 1000; + offset = 8 + 4; + time += HEAP32[(((times)+(offset))>>2)] / 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__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(); }; +JSEvents.staticInit();; +if (!ENVIRONMENT_IS_PTHREAD) PThread.initMainThreadBlock();; +if (!ENVIRONMENT_IS_PTHREAD) ___buildEnvironment(ENV);; +if (!ENVIRONMENT_IS_PTHREAD) { + // Only main thread initializes these, pthreads copy them over at thread worker init time (in pthread-main.js) +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + +} + + + +function nullFunc_viiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vi(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_ii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_v(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function invoke_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_ii(index,a1) { + try { + return Module["dynCall_ii"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iiii(index,a1,a2,a3) { + try { + return Module["dynCall_iiii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } catch(e) { + 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.asmGlobalArg['Atomics'] = Atomics; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_clock_gettime": _clock_gettime, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_sysconf": _sysconf, "_utime": _utime, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_chroot": _chroot, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "__pthread_testcancel_js": __pthread_testcancel_js, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_unsetenv": _unsetenv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_asm_const_v": _emscripten_asm_const_v, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_pthread_self": _pthread_self, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "__register_pthread_ptr": __register_pthread_ptr, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_gettimeofday": _gettimeofday, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "__spawn_thread": __spawn_thread, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_conditional_set_current_thread_status_js": _emscripten_conditional_set_current_thread_status_js, "_putenv": _putenv, "_pthread_join": _pthread_join, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_fpathconf": _fpathconf, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "___unlock": ___unlock, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_is_main_runtime_thread": _emscripten_is_main_runtime_thread, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___buildEnvironment": ___buildEnvironment, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_utimes": _utimes, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_tzset": _tzset, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "___clock_gettime": ___clock_gettime, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_clearenv": _clearenv, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_getenv": _getenv, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_emscripten_futex_wake": _emscripten_futex_wake, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "__cleanup_thread": __cleanup_thread, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_set_current_thread_status_js": _emscripten_set_current_thread_status_js, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_syscall": _emscripten_syscall, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_futex_wait": _emscripten_futex_wait, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "___pthread_setcancelstate": ___pthread_setcancelstate, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_confstr": _confstr, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "___syscall54": ___syscall54, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_pthread_getschedparam": _pthread_getschedparam, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glBufferData": _emscripten_glBufferData, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_atexit": _atexit, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_setenv": _setenv, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use 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 ABORT=env.ABORT|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; + var cttz_i8=env.cttz_i8|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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var ___assert_fail=env.___assert_fail; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _clock_gettime=env._clock_gettime; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _sysconf=env._sysconf; + var _utime=env._utime; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _chroot=env._chroot; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var __pthread_testcancel_js=env.__pthread_testcancel_js; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _unsetenv=env._unsetenv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var ___syscall146=env.___syscall146; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _emscripten_get_now_is_monotonic=env._emscripten_get_now_is_monotonic; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_asm_const_v=env._emscripten_asm_const_v; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _pthread_self=env._pthread_self; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glGenTextures=env._glGenTextures; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var __register_pthread_ptr=env.__register_pthread_ptr; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var _gettimeofday=env._gettimeofday; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var __spawn_thread=env.__spawn_thread; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_conditional_set_current_thread_status_js=env._emscripten_conditional_set_current_thread_status_js; + var _putenv=env._putenv; + var _pthread_join=env._pthread_join; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _fpathconf=env._fpathconf; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var ___unlock=env.___unlock; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_is_main_runtime_thread=env._emscripten_is_main_runtime_thread; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___buildEnvironment=env.___buildEnvironment; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _utimes=env._utimes; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _tzset=env._tzset; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var ___clock_gettime=env.___clock_gettime; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _clearenv=env._clearenv; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _getenv=env._getenv; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _emscripten_futex_wake=env._emscripten_futex_wake; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var __cleanup_thread=env.__cleanup_thread; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_set_current_thread_status_js=env._emscripten_set_current_thread_status_js; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_syscall=env._emscripten_syscall; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _glfwGetKey=env._glfwGetKey; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_futex_wait=env._emscripten_futex_wait; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glClear=env._glClear; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var ___pthread_setcancelstate=env.___pthread_setcancelstate; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _confstr=env._confstr; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var ___syscall54=env.___syscall54; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _pthread_create=env._pthread_create; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _pthread_getschedparam=env._pthread_getschedparam; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _atexit=env._atexit; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _setenv=env._setenv; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + var Atomics_load=global.Atomics.load; + var Atomics_store=global.Atomics.store; + var Atomics_exchange=global.Atomics.exchange; + var Atomics_compareExchange=global.Atomics.compareExchange; + var Atomics_add=global.Atomics.add; + var Atomics_sub=global.Atomics.sub; + var Atomics_and=global.Atomics.and; + var Atomics_or=global.Atomics.or; + var Atomics_xor=global.Atomics.xor; + 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 _InitPhysics() { + var label = 0, sp = 0; + sp = STACKTOP; + (_pthread_create((14272|0),(0|0),(2|0),(0|0))|0); + return; +} +function _PhysicsLoop($0) { + $0 = $0|0; + var $$0 = 0, $$010 = 0, $$011 = 0, $$09 = 0, $$0912 = 0, $$0913 = 0, $$pr = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.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, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3569] = 1; + HEAPF64[1746] = 0.0; + _InitTimer(); + $1 = HEAP32[3569]|0; + $2 = ($1|0)==(0); + if (!($2)) { + while(1) { + $3 = (+_GetCurrentTime()); + HEAPF64[1747] = $3; + $4 = +HEAPF64[1748]; + $5 = $3 - $4; + HEAPF64[1749] = $5; + $6 = +HEAPF64[1746]; + $7 = $5 + $6; + HEAPF64[1746] = $7; + _MathClamp(); + $$pr = +HEAPF64[1746]; + $8 = !($$pr >= 0.016666666666666666); + if (!($8)) { + while(1) { + _PhysicsStep(); + $9 = +HEAPF64[1749]; + $10 = +HEAPF64[1746]; + $11 = $10 - $9; + HEAPF64[1746] = $11; + $12 = !($11 >= 0.016666666666666666); + if ($12) { + break; + } + } + } + $13 = +HEAPF64[1747]; + HEAPF64[1748] = $13; + $14 = HEAP32[3569]|0; + $15 = ($14|0)==(0); + if ($15) { + break; + } + } + } + $16 = HEAP32[3636]|0; + $$0912 = (($16) + -1)|0; + $17 = ($$0912|0)>(-1); + if ($17) { + $$0913 = $$0912; + while(1) { + $20 = (14548 + ($$0913<<2)|0); + $21 = HEAP32[$20>>2]|0; + _DestroyPhysicsManifold($21); + $$09 = (($$0913) + -1)|0; + $22 = ($$09|0)>(-1); + if ($22) { + $$0913 = $$09; + } else { + break; + } + } + } + $18 = HEAP32[3571]|0; + $$010 = (($18) + -1)|0; + $19 = ($$010|0)>(-1); + if ($19) { + $$011 = $$010; + } else { + return (0|0); + } + while(1) { + $23 = (14288 + ($$011<<2)|0); + $24 = HEAP32[$23>>2]|0; + _DestroyPhysicsBody($24); + $$0 = (($$011) + -1)|0; + $25 = ($$0|0)>(-1); + if ($25) { + $$011 = $$0; + } else { + break; + } + } + return (0|0); +} +function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$0116149 = 0, $$0116149158159 = 0, $$0119144 = 0, $$0120136 = 0, $$0121$lcssa161 = 0.0, $$0121134 = 0.0, $$0122$lcssa160 = 0.0, $$0122133 = 0.0, $$0131 = 0, $$sroa$0$0132 = 0.0, $$sroa$049$0$$sroa_idx = 0, $$sroa$8$0135 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.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.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 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, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0; + var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.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.0, $79 = 0.0, $8 = 0, $80 = 0.0; + var $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0; + var $exitcond = 0, $tmpcast$byval_copy = 0, $tmpcast123$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $tmpcast123$byval_copy = sp + 440|0; + $tmpcast$byval_copy = sp + 432|0; + $4 = sp + 424|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_malloc(500)|0); + $9 = HEAP32[3570]|0; + $10 = (($9) + 500)|0; + HEAP32[3570] = $10; + $11 = HEAP32[3571]|0; + $12 = ($11|0)==(0); + $$0116149 = 0; + L1: while(1) { + if ($12) { + $$0116149158159 = 0; + break; + } else { + $$0119144 = 0; + } + while(1) { + $15 = (14288 + ($$0119144<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($$0116149|0); + $14 = (($$0119144) + 1)|0; + if ($18) { + break; + } + $13 = ($14>>>0)<($11>>>0); + if ($13) { + $$0119144 = $14; + } else { + label = 6; + break L1; + } + } + $19 = (($$0116149) + 1)|0; + $20 = ($19|0)<(64); + if ($20) { + $$0116149 = $19; + } else { + label = 14; + break; + } + } + if ((label|0) == 14) { + STACKTOP = sp;return ($8|0); + } + if ((label|0) == 6) { + $21 = ($$0116149|0)==(-1); + if ($21) { + STACKTOP = sp;return ($8|0); + } else { + $$0116149158159 = $$0116149; + } + } + HEAP32[$8>>2] = $$0116149158159; + $22 = ((($8)) + 4|0); + HEAP32[$22>>2] = 1; + $23 = ((($8)) + 8|0); + $24 = $0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = $23; + $31 = $30; + HEAP32[$31>>2] = $26; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $$sroa$049$0$$sroa_idx = ((($8)) + 16|0); + $34 = ((($8)) + 84|0); + ;HEAP32[$$sroa$049$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+20>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+24>>2]=0|0; + HEAP32[$34>>2] = 1; + $35 = ((($8)) + 88|0); + HEAP32[$35>>2] = $8; + $36 = ((($8)) + 96|0); + HEAPF32[$4>>2] = $1; + $37 = ((($4)) + 4|0); + HEAPF32[$37>>2] = $2; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + _CreateRectanglePolygon($5,$tmpcast$byval_copy,$tmpcast123$byval_copy); + _memcpy(($36|0),($5|0),404)|0; + $38 = HEAP32[$36>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $$0121$lcssa161 = 0.0;$$0122$lcssa160 = 0.0; + } else { + $40 = ((($8)) + 100|0); + $41 = ((($6)) + 4|0); + $42 = ((($7)) + 4|0); + $$0120136 = 0;$$0121134 = 0.0;$$0122133 = 0.0;$$sroa$0$0132 = 0.0;$$sroa$8$0135 = 0.0; + while(1) { + $52 = (($40) + ($$0120136<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$0120136) + 1)|0; + $64 = HEAP32[$36>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (($40) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; + $78 = (+_MathCrossVector2($tmpcast$byval_copy,$tmpcast123$byval_copy)); + $79 = $78 * 0.5; + $44 = $$0122133 + $79; + $80 = $79 * 0.3333333432674408; + $81 = +HEAPF32[$6>>2]; + $82 = +HEAPF32[$7>>2]; + $83 = $81 + $82; + $84 = $80 * $83; + $46 = $$sroa$0$0132 + $84; + $85 = +HEAPF32[$41>>2]; + $86 = +HEAPF32[$42>>2]; + $87 = $85 + $86; + $88 = $80 * $87; + $48 = $$sroa$8$0135 + $88; + $89 = $81 * $81; + $90 = $81 * $82; + $91 = $89 + $90; + $92 = $82 * $82; + $93 = $92 + $91; + $94 = $85 * $85; + $95 = $85 * $86; + $96 = $94 + $95; + $97 = $86 * $86; + $98 = $97 + $96; + $99 = $78 * 0.083333335816860198; + $100 = $93 + $98; + $101 = $99 * $100; + $102 = $$0121134 + $101; + $50 = HEAP32[$36>>2]|0; + $103 = ($63>>>0)<($50>>>0); + if ($103) { + $$0120136 = $63;$$0121134 = $102;$$0122133 = $44;$$sroa$0$0132 = $46;$$sroa$8$0135 = $48; + } else { + break; + } + } + $43 = 1.0 / $44; + $45 = $46 * $43; + $47 = $43 * $48; + $49 = ($50|0)==(0); + if ($49) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + } else { + $51 = ((($8)) + 100|0); + $$0131 = 0; + while(1) { + $125 = (($51) + ($$0131<<3)|0); + $126 = +HEAPF32[$125>>2]; + $127 = $126 - $45; + HEAPF32[$125>>2] = $127; + $128 = (((($51) + ($$0131<<3)|0)) + 4|0); + $129 = +HEAPF32[$128>>2]; + $130 = $129 - $47; + HEAPF32[$128>>2] = $130; + $131 = (($$0131) + 1)|0; + $exitcond = ($131|0)==($50|0); + if ($exitcond) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + break; + } else { + $$0131 = $131; + } + } + } + } + $104 = $$0122$lcssa160 * $3; + $105 = ((($8)) + 52|0); + HEAPF32[$105>>2] = $104; + $106 = $104 != 0.0; + $107 = 1.0 / $104; + $108 = $106 ? $107 : 0.0; + $109 = ((($8)) + 56|0); + HEAPF32[$109>>2] = $108; + $110 = $$0121$lcssa161 * $3; + $111 = ((($8)) + 44|0); + HEAPF32[$111>>2] = $110; + $112 = $110 != 0.0; + $113 = 1.0 / $110; + $114 = $112 ? $113 : 0.0; + $115 = ((($8)) + 48|0); + HEAPF32[$115>>2] = $114; + $116 = ((($8)) + 60|0); + HEAPF32[$116>>2] = 0.40000000596046448; + $117 = ((($8)) + 64|0); + HEAPF32[$117>>2] = 0.20000000298023224; + $118 = ((($8)) + 68|0); + HEAPF32[$118>>2] = 0.0; + $119 = ((($8)) + 72|0); + HEAP32[$119>>2] = 1; + $120 = ((($8)) + 76|0); + HEAP32[$120>>2] = 0; + $121 = ((($8)) + 80|0); + HEAP32[$121>>2] = 0; + $122 = HEAP32[3571]|0; + $123 = (14288 + ($122<<2)|0); + HEAP32[$123>>2] = $8; + $124 = (($122) + 1)|0; + HEAP32[3571] = $124; + STACKTOP = sp;return ($8|0); +} +function _CreateRectanglePolygon($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$024 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$sroa$012$0$$sroa_idx = 0, $$sroa$015$0$$sroa_idx = 0, $$sroa$018$0$$sroa_idx = 0, $$sroa$021$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$213$0$$sroa_idx14 = 0, $$sroa$216$0$$sroa_idx17 = 0, $$sroa$219$0$$sroa_idx20 = 0, $$sroa$222$0$$sroa_idx23 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0; + var $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.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.0, $54 = 0.0; + var $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy1 = sp + 440|0; + $$byval_copy = sp + 432|0; + $3 = sp + 24|0; + $4 = sp; + $5 = sp + 16|0; + $6 = ((($3)) + 36|0); + _memset(($6|0),0,368)|0; + HEAP32[$3>>2] = 4; + $7 = ((($3)) + 388|0); + _Mat2Radians($4,0.0); + ;HEAP32[$7>>2]=HEAP32[$4>>2]|0;HEAP32[$7+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$4+12>>2]|0; + $8 = +HEAPF32[$1>>2]; + $9 = +HEAPF32[$2>>2]; + $10 = $9 * 0.5; + $11 = $8 + $10; + $12 = ((($1)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($2)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15 * 0.5; + $17 = $13 - $16; + $$sroa$021$0$$sroa_idx = ((($3)) + 4|0); + HEAPF32[$$sroa$021$0$$sroa_idx>>2] = $11; + $$sroa$222$0$$sroa_idx23 = ((($3)) + 8|0); + HEAPF32[$$sroa$222$0$$sroa_idx23>>2] = $17; + $18 = +HEAPF32[$1>>2]; + $19 = +HEAPF32[$2>>2]; + $20 = $19 * 0.5; + $21 = $18 + $20; + $22 = +HEAPF32[$12>>2]; + $23 = +HEAPF32[$14>>2]; + $24 = $23 * 0.5; + $25 = $22 + $24; + $$sroa$018$0$$sroa_idx = ((($3)) + 12|0); + HEAPF32[$$sroa$018$0$$sroa_idx>>2] = $21; + $$sroa$219$0$$sroa_idx20 = ((($3)) + 16|0); + HEAPF32[$$sroa$219$0$$sroa_idx20>>2] = $25; + $26 = +HEAPF32[$1>>2]; + $27 = +HEAPF32[$2>>2]; + $28 = $27 * 0.5; + $29 = $26 - $28; + $30 = +HEAPF32[$12>>2]; + $31 = +HEAPF32[$14>>2]; + $32 = $31 * 0.5; + $33 = $30 + $32; + $$sroa$015$0$$sroa_idx = ((($3)) + 20|0); + HEAPF32[$$sroa$015$0$$sroa_idx>>2] = $29; + $$sroa$216$0$$sroa_idx17 = ((($3)) + 24|0); + HEAPF32[$$sroa$216$0$$sroa_idx17>>2] = $33; + $34 = +HEAPF32[$1>>2]; + $35 = +HEAPF32[$2>>2]; + $36 = $35 * 0.5; + $37 = $34 - $36; + $38 = +HEAPF32[$12>>2]; + $39 = +HEAPF32[$14>>2]; + $40 = $39 * 0.5; + $41 = $38 - $40; + $$sroa$012$0$$sroa_idx = ((($3)) + 28|0); + HEAPF32[$$sroa$012$0$$sroa_idx>>2] = $37; + $$sroa$213$0$$sroa_idx14 = ((($3)) + 32|0); + HEAPF32[$$sroa$213$0$$sroa_idx14>>2] = $41; + $42 = HEAP32[$3>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $44 = ((($5)) + 4|0); + $$024 = 0;$47 = $42; + while(1) { + $45 = (($$024) + 1)|0; + $46 = ($45>>>0)<($47>>>0); + $48 = $46 ? $45 : 0; + $49 = (((($3)) + 4|0) + ($48<<3)|0); + $50 = (((($3)) + 4|0) + ($$024<<3)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$49>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$49+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$50>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$50+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy,$$byval_copy1); + $51 = (((($3)) + 196|0) + ($$024<<3)|0); + $52 = HEAP32[$44>>2]|0; + $53 = +HEAPF32[$5>>2]; + $54 = -$53; + HEAP32[$51>>2] = $52; + $$sroa$2$0$$sroa_idx1 = (((((($3)) + 196|0) + ($$024<<3)|0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $54; + _MathNormalize($51); + $55 = HEAP32[$3>>2]|0; + $56 = ($45>>>0)<($55>>>0); + if ($56) { + $$024 = $45;$47 = $55; + } else { + break; + } + } + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; +} +function _MathCrossVector2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($1)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = +HEAPF32[$1>>2]; + $9 = $7 * $8; + $10 = $5 - $9; + return (+$10); +} +function _Vector2Add_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 + $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 + $10; + HEAPF32[$6>>2] = $11; + return; +} +function _Mat2MultiplyVector2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 * $4; + $6 = ((($1)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($2)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + HEAPF32[$0>>2] = $11; + $12 = ((($0)) + 4|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $4 * $14; + $16 = ((($1)) + 12|0); + $17 = +HEAPF32[$16>>2]; + $18 = $9 * $17; + $19 = $15 + $18; + HEAPF32[$12>>2] = $19; + return; +} +function _DestroyPhysicsBody($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$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; + var $24 = 0, $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|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3571]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3571]|0; + $$02023 = 0; + while(1) { + $6 = (14288 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14288 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3570]|0; + $15 = (($14) + -500)|0; + HEAP32[3570] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3571]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3571]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14288 + ($$022<<2)|0); + $25 = (14288 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3571] = $19; + return; +} +function _Vector2Subtract_4($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 - $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + return; +} +function _MathNormalize($0) { + $0 = $0|0; + var $$op = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$5$0$copyload = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$sroa$0$0$copyload = +HEAPF32[$0>>2]; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 4|0); + $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx3>>2]; + $1 = $$sroa$0$0$copyload * $$sroa$0$0$copyload; + $2 = $$sroa$5$0$copyload * $$sroa$5$0$copyload; + $3 = $1 + $2; + $4 = (+Math_sqrt((+$3))); + $5 = $4 == 0.0; + $$op = 1.0 / $4; + $6 = $5 ? 1.0 : $$op; + $7 = $$sroa$0$0$copyload * $6; + HEAPF32[$0>>2] = $7; + $8 = $$sroa$5$0$copyload * $6; + HEAPF32[$$sroa$5$0$$sroa_idx3>>2] = $8; + return; +} +function _GetPhysicsBodiesCount() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3571]|0; + return ($0|0); +} +function _GetPhysicsBody($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3571]|0; + $2 = ($1>>>0)>($0>>>0); + if (!($2)) { + $$0 = 0; + return ($$0|0); + } + $3 = (14288 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$0 = $4; + return ($$0|0); +} +function _GetPhysicsShapeVerticesCount($0) { + $0 = $0|0; + var $$1 = 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 = HEAP32[3571]|0; + $2 = ($1>>>0)>($0>>>0); + L1: do { + if ($2) { + $3 = (14288 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $$1 = 0; + } else { + $6 = ((($4)) + 84|0); + $7 = HEAP32[$6>>2]|0; + switch ($7|0) { + case 0: { + $$1 = 24; + break L1; + break; + } + case 1: { + $8 = ((($4)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $$1 = $9; + break L1; + break; + } + default: { + $$1 = 0; + break L1; + } + } + } + } else { + $$1 = 0; + } + } while(0); + return ($$1|0); +} +function _GetPhysicsShapeVertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$0$0 = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$6$0 = 0.0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx5 = 0, $$sroa$6$0$copyload = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0; + var $22 = 0.0, $23 = 0.0, $24 = 0.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; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy3 = sp + 440|0; + $$byval_copy2 = sp + 424|0; + $3 = sp; + $4 = sp + 416|0; + $5 = sp + 408|0; + $6 = ($1|0)==(0|0); + L1: do { + if ($6) { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + } else { + $7 = ((($1)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + $9 = ((($1)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = ($2*15)|0; + $12 = (+($11|0)); + $13 = $12 * 0.017453292519943295; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = ((($1)) + 92|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 * $17; + $19 = $10 + $18; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = (+Math_sin((+$14))); + $23 = $17 * $22; + $24 = $21 + $23; + $$sroa$0$0 = $19;$$sroa$6$0 = $24; + break L1; + break; + } + case 1: { + $25 = ((($1)) + 96|0); + _memcpy(($3|0),($25|0),404)|0; + $26 = ((($1)) + 8|0); + $27 = ((($3)) + 388|0); + $28 = (((($3)) + 4|0) + ($2<<3)|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$28+4>>2]|0; + _Mat2MultiplyVector2($4,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0; + _Vector2Add_2($5,$$byval_copy2,$$byval_copy3); + $$sroa$0$0$copyload = +HEAPF32[$5>>2]; + $$sroa$6$0$$sroa_idx4 = ((($5)) + 4|0); + $$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx4>>2]; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$6$0 = $$sroa$6$0$copyload; + break L1; + break; + } + default: { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + break L1; + } + } + } + } while(0); + HEAPF32[$0>>2] = $$sroa$0$0; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 4|0); + HEAPF32[$$sroa$6$0$$sroa_idx5>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _SetPhysicsBodyRotation($0,$1) { + $0 = $0|0; + $1 = +$1; + var $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); + $2 = sp; + $3 = ($0|0)==(0|0); + if ($3) { + STACKTOP = sp;return; + } + $4 = ((($0)) + 40|0); + HEAPF32[$4>>2] = $1; + $5 = ((($0)) + 84|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(1); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = ((($0)) + 484|0); + _Mat2Radians($2,$1); + ;HEAP32[$8>>2]=HEAP32[$2>>2]|0;HEAP32[$8+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$8+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$8+12>>2]=HEAP32[$2+12>>2]|0; + STACKTOP = sp;return; +} +function _Mat2Radians($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = ((($0)) + 4|0); + $5 = -$3; + HEAPF32[$4>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _ClosePhysics() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3569] = 0; + $0 = HEAP32[3568]|0; + (_pthread_join(($0|0),(0|0))|0); + return; +} +function _main() { + var $$byval_copy5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0; + var $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy5 = sp + 48|0; + $0 = sp + 40|0; + $1 = sp + 32|0; + $2 = sp + 24|0; + $3 = sp + 16|0; + $4 = sp + 8|0; + $5 = sp; + _SetConfigFlags(32); + $6 = HEAP32[2]|0; + $7 = HEAP32[3]|0; + _InitWindow($6,$7,3248); + $8 = HEAP32[2]|0; + $9 = (_MeasureText(3283,30)|0); + $10 = (($8) + -10)|0; + $11 = (($10) - ($9))|0; + HEAP32[7733] = $11; + _InitPhysics(); + $12 = HEAP32[2]|0; + $13 = (($12|0) / 2)&-1; + $14 = (+($13|0)); + HEAPF32[$0>>2] = $14; + $15 = ((($0)) + 4|0); + $16 = HEAP32[3]|0; + $17 = (+($16|0)); + HEAPF32[$15>>2] = $17; + $18 = HEAP32[2]|0; + $19 = (+($18|0)); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0; + $20 = (_CreatePhysicsBodyRectangle($$byval_copy5,$19,100.0,10.0)|0); + $21 = HEAP32[2]|0; + $22 = (+($21|0)); + $23 = $22 * 0.25; + HEAPF32[$1>>2] = $23; + $24 = ((($1)) + 4|0); + $25 = HEAP32[3]|0; + $26 = (+($25|0)); + $27 = $26 * 0.60000002384185791; + HEAPF32[$24>>2] = $27; + $28 = HEAP32[2]|0; + $29 = (+($28|0)); + $30 = $29 * 0.25; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$1+4>>2]|0; + $31 = (_CreatePhysicsBodyRectangle($$byval_copy5,$30,10.0,10.0)|0); + $32 = HEAP32[2]|0; + $33 = (+($32|0)); + $34 = $33 * 0.75; + HEAPF32[$2>>2] = $34; + $35 = ((($2)) + 4|0); + $36 = HEAP32[3]|0; + $37 = (+($36|0)); + $38 = $37 * 0.60000002384185791; + HEAPF32[$35>>2] = $38; + $39 = HEAP32[2]|0; + $40 = (+($39|0)); + $41 = $40 * 0.25; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0; + $42 = (_CreatePhysicsBodyRectangle($$byval_copy5,$41,10.0,10.0)|0); + HEAPF32[$3>>2] = -5.0; + $43 = ((($3)) + 4|0); + $44 = HEAP32[3]|0; + $45 = (($44|0) / 2)&-1; + $46 = (+($45|0)); + HEAPF32[$43>>2] = $46; + $47 = (+($44|0)); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$3+4>>2]|0; + $48 = (_CreatePhysicsBodyRectangle($$byval_copy5,10.0,$47,10.0)|0); + $49 = HEAP32[2]|0; + $50 = (($49) + 5)|0; + $51 = (+($50|0)); + HEAPF32[$4>>2] = $51; + $52 = ((($4)) + 4|0); + $53 = HEAP32[3]|0; + $54 = (($53|0) / 2)&-1; + $55 = (+($54|0)); + HEAPF32[$52>>2] = $55; + $56 = (+($53|0)); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0; + $57 = (_CreatePhysicsBodyRectangle($$byval_copy5,10.0,$56,10.0)|0); + $58 = ((($20)) + 4|0); + HEAP32[$58>>2] = 0; + $59 = ((($31)) + 4|0); + HEAP32[$59>>2] = 0; + $60 = ((($42)) + 4|0); + HEAP32[$60>>2] = 0; + $61 = ((($48)) + 4|0); + HEAP32[$61>>2] = 0; + $62 = ((($57)) + 4|0); + HEAP32[$62>>2] = 0; + $63 = HEAP32[2]|0; + $64 = (($63|0) / 2)&-1; + $65 = (+($64|0)); + HEAPF32[$5>>2] = $65; + $66 = ((($5)) + 4|0); + $67 = HEAP32[3]|0; + $68 = (($67|0) / 2)&-1; + $69 = (+($68|0)); + HEAPF32[$66>>2] = $69; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0; + $70 = (_CreatePhysicsBodyRectangle($$byval_copy5,50.0,50.0,1.0)|0); + HEAP32[7734] = $70; + $71 = ((($70)) + 80|0); + HEAP32[$71>>2] = 1; + _emscripten_set_main_loop((1|0),0,1); + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$03233 = 0, $$034 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$sink = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$029$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx28 = 0, $$sroa$230$0$$sroa_idx31 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0; + var $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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond38 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy3 = sp + 56|0; + $$byval_copy2 = sp + 40|0; + $$byval_copy1 = sp + 32|0; + $0 = sp + 52|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 48|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 4|0; + $7 = sp; + $8 = (_IsKeyPressed(82)|0); + $9 = ($8|0)==(0); + if (!($9)) { + $10 = HEAP32[7734]|0; + $11 = HEAP32[2]|0; + $12 = (($11|0) / 2)&-1; + $13 = (+($12|0)); + $14 = HEAP32[3]|0; + $15 = (($14|0) / 2)&-1; + $16 = (+($15|0)); + $$sroa$029$0$$sroa_idx = ((($10)) + 8|0); + HEAPF32[$$sroa$029$0$$sroa_idx>>2] = $13; + $$sroa$230$0$$sroa_idx31 = ((($10)) + 12|0); + HEAPF32[$$sroa$230$0$$sroa_idx31>>2] = $16; + $$sroa$0$0$$sroa_idx = ((($10)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx28 = ((($10)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx28>>2] = 0.0; + _SetPhysicsBodyRotation($10,0.0); + } + $17 = (_IsKeyDown(262)|0); + $18 = ($17|0)==(0); + if ($18) { + $19 = (_IsKeyDown(263)|0); + $20 = ($19|0)==(0); + if (!($20)) { + $$sink = -0.5; + label = 5; + } + } else { + $$sink = 0.5; + label = 5; + } + if ((label|0) == 5) { + $21 = HEAP32[7734]|0; + $22 = ((($21)) + 16|0); + HEAPF32[$22>>2] = $$sink; + } + $23 = (_IsKeyDown(265)|0); + $24 = ($23|0)==(0); + if (!($24)) { + $25 = HEAP32[7734]|0; + $26 = ((($25)) + 76|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0); + if (!($28)) { + $29 = ((($25)) + 20|0); + HEAPF32[$29>>2] = -2.0; + } + } + _BeginDrawing(); + HEAP8[$0>>0] = 0; + $30 = ((($0)) + 1|0); + HEAP8[$30>>0] = 0; + $31 = ((($0)) + 2|0); + HEAP8[$31>>0] = 0; + $32 = ((($0)) + 3|0); + HEAP8[$32>>0] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$0+3>>0]|0; + _ClearBackground($$byval_copy3); + $33 = HEAP32[2]|0; + $34 = (($33) + -90)|0; + $35 = HEAP32[3]|0; + $36 = (($35) + -30)|0; + _DrawFPS($34,$36); + $37 = (_GetPhysicsBodiesCount()|0); + $38 = ($37|0)>(0); + if ($38) { + $39 = ((($3)) + 1|0); + $40 = ((($3)) + 2|0); + $41 = ((($3)) + 3|0); + $$034 = 0; + while(1) { + $48 = (_GetPhysicsBody($$034)|0); + $49 = (_GetPhysicsShapeVerticesCount($$034)|0); + $50 = ($49|0)>(0); + if ($50) { + $$03233 = 0; + while(1) { + _GetPhysicsShapeVertex($1,$48,$$03233); + $52 = (($$03233) + 1)|0; + $53 = ($52|0)<($49|0); + $54 = $53 ? $52 : 0; + _GetPhysicsShapeVertex($2,$48,$54); + HEAP8[$3>>0] = 0; + HEAP8[$39>>0] = -28; + HEAP8[$40>>0] = 48; + HEAP8[$41>>0] = -1; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$3+3>>0]|0; + _DrawLineV($$byval_copy1,$$byval_copy2,$$byval_copy3); + $exitcond = ($52|0)==($49|0); + if ($exitcond) { + break; + } else { + $$03233 = $52; + } + } + } + $51 = (($$034) + 1)|0; + $exitcond38 = ($51|0)==($37|0); + if ($exitcond38) { + break; + } else { + $$034 = $51; + } + } + } + HEAP32[$4>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawText(3290,10,10,10,$$byval_copy3); + HEAP32[$5>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$5+3>>0]|0; + _DrawText(3318,10,30,10,$$byval_copy3); + $42 = HEAP32[7733]|0; + $43 = HEAP32[4]|0; + HEAP32[$6>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$6+3>>0]|0; + _DrawText(3283,$42,$43,30,$$byval_copy3); + $44 = HEAP32[7733]|0; + $45 = (($44) + 50)|0; + $46 = HEAP32[4]|0; + $47 = (($46) + -7)|0; + HEAP32[$7>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText(3345,$45,$47,10,$$byval_copy3); + _EndDrawing(); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetCurrentTime()); + HEAPF64[1748] = $1; + return; +} +function _GetCurrentTime() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.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; + (_clock_gettime(1,($0|0))|0); + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)<(0); + $3 = $2 << 31 >> 31; + $4 = (___muldi3(($1|0),($3|0),1000000000,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 = (+($10>>>0)) + (4294967296.0*(+($11>>>0))); + $13 = $12 * 9.9999999999999995E-7; + STACKTOP = sp;return (+$13); +} +function _MathClamp() { + var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1746]; + $1 = $0 < 0.0; + if ($1) { + $$sink = 0.0; + } else { + $2 = $0 > 0.02; + if ($2) { + $$sink = 0.02; + } else { + return; + } + } + HEAPF64[1746] = $$sink; + return; +} +function _PhysicsStep() { + var $$0 = 0, $$0125165 = 0, $$0126163 = 0, $$0127147 = 0, $$0129148 = 0, $$0130 = 0, $$0130160 = 0, $$0130161 = 0, $$0131150 = 0, $$0132 = 0, $$0133152 = 0, $$0134155 = 0, $$0134155$ph = 0, $$0135158 = 0, $$0136156 = 0, $$0167 = 0, $$0168 = 0, $$pr = 0, $$pr172 = 0, $$sroa$0$0$$sroa_idx = 0; + var $$sroa$2$0$$sroa_idx1 = 0, $0 = 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, $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, $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.0, $32 = 0, $33 = 0, $34 = 0.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, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7735]|0; + $1 = (($0) + 1)|0; + HEAP32[7735] = $1; + $2 = HEAP32[3636]|0; + $$0167 = (($2) + -1)|0; + $3 = ($$0167|0)>(-1); + if ($3) { + $$0168 = $$0167; + while(1) { + $6 = (14548 + ($$0168<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + _DestroyPhysicsManifold($7); + } + $$0 = (($$0168) + -1)|0; + $9 = ($$0|0)>(-1); + if ($9) { + $$0168 = $$0; + } else { + break; + } + } + } + $4 = HEAP32[3571]|0; + $5 = ($4|0)==(0); + if ($5) { + $17 = $4; + label = 8; + } else { + $$0125165 = 0; + while(1) { + $11 = (14288 + ($$0125165<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 76|0); + HEAP32[$13>>2] = 0; + $14 = (($$0125165) + 1)|0; + $15 = ($14>>>0)<($4>>>0); + if ($15) { + $$0125165 = $14; + } else { + break; + } + } + $$pr = HEAP32[3571]|0; + $10 = ($$pr|0)==(0); + if (!($10)) { + $$0126163 = 0; + while(1) { + $19 = (14288 + ($$0126163<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0|0); + if (!($21)) { + $$0130160 = (($$0126163) + 1)|0; + $22 = HEAP32[3571]|0; + $23 = ($$0130160>>>0)<($22>>>0); + if ($23) { + $24 = ((($20)) + 56|0); + $25 = ((($20)) + 84|0); + $$0130161 = $$0130160; + while(1) { + $26 = (14288 + ($$0130161<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0|0); + do { + if (!($28)) { + $31 = +HEAPF32[$24>>2]; + $32 = $31 == 0.0; + if ($32) { + $33 = ((($27)) + 56|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 == 0.0; + if ($35) { + break; + } + } + $36 = HEAP32[$25>>2]|0; + $37 = ($36|0)==(1); + if ($37) { + $38 = ((($27)) + 84|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $41 = (_CreatePhysicsManifold($27,$20)|0); + $$0132 = $41; + } else { + label = 20; + } + } else { + label = 20; + } + if ((label|0) == 20) { + label = 0; + $42 = (_CreatePhysicsManifold($20,$27)|0); + $$0132 = $42; + } + _SolvePhysicsManifold($$0132); + $43 = ((($$0132)) + 40|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(0); + if (!($45)) { + $46 = (_CreatePhysicsManifold($20,$27)|0); + $47 = ((($$0132)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ((($46)) + 12|0); + HEAP32[$49>>2] = $48; + $50 = ((($46)) + 16|0); + $51 = ((($$0132)) + 16|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $50; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = ((($46)) + 24|0); + $63 = ((($$0132)) + 24|0); + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $62; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = ((($46)) + 32|0); + $75 = ((($$0132)) + 32|0); + $76 = $75; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $74; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = HEAP32[$43>>2]|0; + $87 = ((($46)) + 40|0); + HEAP32[$87>>2] = $86; + $88 = ((($$0132)) + 44|0); + $89 = HEAP32[$88>>2]|0; + $90 = ((($46)) + 44|0); + HEAP32[$90>>2] = $89; + $91 = ((($$0132)) + 48|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($46)) + 48|0); + HEAP32[$93>>2] = $92; + $94 = ((($$0132)) + 52|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($46)) + 52|0); + HEAP32[$96>>2] = $95; + } + } + } while(0); + $$0130 = (($$0130161) + 1)|0; + $29 = HEAP32[3571]|0; + $30 = ($$0130>>>0)<($29>>>0); + if ($30) { + $$0130161 = $$0130; + } else { + break; + } + } + } + } + $97 = (($$0126163) + 1)|0; + $98 = HEAP32[3571]|0; + $99 = ($97>>>0)<($98>>>0); + if ($99) { + $$0126163 = $97; + } else { + $17 = $98; + label = 8; + break; + } + } + } + } + if ((label|0) == 8) { + $16 = ($17|0)==(0); + if (!($16)) { + $18 = HEAP32[3571]|0; + $$0135158 = 0; + while(1) { + $103 = (14288 + ($$0135158<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)==(0|0); + if (!($105)) { + _IntegratePhysicsForces($104); + } + $106 = (($$0135158) + 1)|0; + $107 = ($106>>>0)<($18>>>0); + if ($107) { + $$0135158 = $106; + } else { + break; + } + } + } + } + $100 = HEAP32[3636]|0; + $101 = ($100|0)==(0); + if ($101) { + $$0134155 = 0;$114 = 0; + } else { + $102 = HEAP32[3636]|0; + $$0136156 = 0; + while(1) { + $108 = (14548 + ($$0136156<<2)|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)==(0|0); + if (!($110)) { + _InitializePhysicsManifolds($109); + } + $111 = (($$0136156) + 1)|0; + $112 = ($111>>>0)<($102>>>0); + if ($112) { + $$0136156 = $111; + } else { + $$0134155$ph = 0; + label = 32; + break; + } + } + } + while(1) { + if ((label|0) == 32) { + label = 0; + $$pr172 = HEAP32[3636]|0; + $$0134155 = $$0134155$ph;$114 = $$pr172; + } + $113 = ($114|0)==(0); + if (!($113)) { + $115 = (14548 + ($$0134155<<2)|0); + $$0133152 = 0; + while(1) { + $120 = HEAP32[$115>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + _IntegratePhysicsImpulses($120); + } + $122 = (($$0133152) + 1)|0; + $123 = HEAP32[3636]|0; + $124 = ($122>>>0)<($123>>>0); + if ($124) { + $$0133152 = $122; + } else { + break; + } + } + } + $119 = (($$0134155) + 1)|0; + $exitcond = ($119|0)==(100); + if ($exitcond) { + break; + } else { + $$0134155$ph = $119; + label = 32; + } + } + $116 = HEAP32[3571]|0; + $117 = ($116|0)==(0); + if (!($117)) { + $118 = HEAP32[3571]|0; + $$0131150 = 0; + while(1) { + $128 = (14288 + ($$0131150<<2)|0); + $129 = HEAP32[$128>>2]|0; + $130 = ($129|0)==(0|0); + if (!($130)) { + _IntegratePhysicsVelocity($129); + } + $131 = (($$0131150) + 1)|0; + $132 = ($131>>>0)<($118>>>0); + if ($132) { + $$0131150 = $131; + } else { + break; + } + } + } + $125 = HEAP32[3636]|0; + $126 = ($125|0)==(0); + if (!($126)) { + $127 = HEAP32[3636]|0; + $$0129148 = 0; + while(1) { + $136 = (14548 + ($$0129148<<2)|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($137|0)==(0|0); + if (!($138)) { + _CorrectPhysicsPositions($137); + } + $139 = (($$0129148) + 1)|0; + $140 = ($139>>>0)<($127>>>0); + if ($140) { + $$0129148 = $139; + } else { + break; + } + } + } + $133 = HEAP32[3571]|0; + $134 = ($133|0)==(0); + if ($134) { + return; + } + $135 = HEAP32[3571]|0; + $$0127147 = 0; + while(1) { + $141 = (14288 + ($$0127147<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if (!($143)) { + $$sroa$0$0$$sroa_idx = ((($142)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx1 = ((($142)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = 0.0; + $144 = ((($142)) + 36|0); + HEAPF32[$144>>2] = 0.0; + } + $145 = (($$0127147) + 1)|0; + $146 = ($145>>>0)<($135>>>0); + if ($146) { + $$0127147 = $145; + } else { + break; + } + } + return; +} +function _DestroyPhysicsManifold($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$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; + var $24 = 0, $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|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3636]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3636]|0; + $$02023 = 0; + while(1) { + $6 = (14548 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14548 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3570]|0; + $15 = (($14) + -56)|0; + HEAP32[3570] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3636]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3636]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14548 + ($$022<<2)|0); + $25 = (14548 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3636] = $19; + return; +} +function _CreatePhysicsManifold($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$04457 = 0, $$044576162 = 0, $$04755 = 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; + var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + $2 = (_malloc(56)|0); + $3 = HEAP32[3570]|0; + $4 = (($3) + 56)|0; + HEAP32[3570] = $4; + $5 = HEAP32[3636]|0; + $6 = ($5|0)==(0); + $$04457 = 0; + L1: while(1) { + if ($6) { + $$044576162 = 0; + break; + } else { + $$04755 = 0; + } + while(1) { + $9 = (14548 + ($$04755<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==($$04457|0); + $8 = (($$04755) + 1)|0; + if ($12) { + break; + } + $7 = ($8>>>0)<($5>>>0); + if ($7) { + $$04755 = $8; + } else { + label = 6; + break L1; + } + } + $13 = (($$04457) + 1)|0; + $14 = ($13|0)<(4096); + if ($14) { + $$04457 = $13; + } else { + label = 8; + break; + } + } + if ((label|0) == 8) { + return ($2|0); + } + if ((label|0) == 6) { + $15 = ($$04457|0)==(-1); + if ($15) { + return ($2|0); + } else { + $$044576162 = $$04457; + } + } + HEAP32[$2>>2] = $$044576162; + $16 = ((($2)) + 4|0); + HEAP32[$16>>2] = $0; + $17 = ((($2)) + 8|0); + HEAP32[$17>>2] = $1; + $18 = ((($2)) + 12|0); + dest=$18; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $19 = HEAP32[3636]|0; + $20 = (14548 + ($19<<2)|0); + HEAP32[$20>>2] = $2; + $21 = (($19) + 1)|0; + HEAP32[3636] = $21; + return ($2|0); +} +function _SolvePhysicsManifold($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.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 84|0); + $4 = HEAP32[$3>>2]|0; + L1: do { + switch ($4|0) { + case 0: { + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + _SolveCircleToCircle($0); + break L1; + break; + } + case 1: { + _SolveCircleToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + case 1: { + $9 = ((($0)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 84|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 0: { + _SolvePolygonToCircle($0); + break L1; + break; + } + case 1: { + _SolvePolygonToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + default: { + } + } + } while(0); + $13 = ((($0)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 76|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + return; + } + $18 = ((($0)) + 20|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19 < 0.0; + $21 = $20&1; + HEAP32[$15>>2] = $21; + return; +} +function _IntegratePhysicsForces($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 56|0); + $2 = +HEAPF32[$1>>2]; + $3 = $2 == 0.0; + if ($3) { + return; + } + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + return; + } + $7 = ((($0)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $2 * $8; + $10 = $9; + $11 = +HEAPF64[1749]; + $12 = $11 * 0.5; + $13 = $10 * $12; + $14 = ((($0)) + 16|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $16 + $13; + $18 = $17; + HEAPF32[$14>>2] = $18; + $19 = ((($0)) + 28|0); + $20 = +HEAPF32[$19>>2]; + $21 = $2 * $20; + $22 = $21; + $23 = $12 * $22; + $24 = ((($0)) + 20|0); + $25 = +HEAPF32[$24>>2]; + $26 = $25; + $27 = $26 + $23; + $28 = $27; + HEAPF32[$24>>2] = $28; + $29 = ((($0)) + 72|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = +HEAPF32[7736]; + $33 = $32; + $34 = $12 * $33; + $35 = +HEAPF32[$14>>2]; + $36 = $35; + $37 = $36 + $34; + $38 = $37; + HEAPF32[$14>>2] = $38; + $39 = +HEAPF32[5]; + $40 = $39; + $41 = $12 * $40; + $42 = +HEAPF32[$24>>2]; + $43 = $42; + $44 = $43 + $41; + $45 = $44; + HEAPF32[$24>>2] = $45; + } + $46 = ((($0)) + 80|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==(0); + if (!($48)) { + return; + } + $49 = ((($0)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = ((($0)) + 48|0); + $52 = +HEAPF32[$51>>2]; + $53 = $50 * $52; + $54 = $53; + $55 = $12 * $54; + $56 = ((($0)) + 32|0); + $57 = +HEAPF32[$56>>2]; + $58 = $57; + $59 = $58 + $55; + $60 = $59; + HEAPF32[$56>>2] = $60; + return; +} +function _InitializePhysicsManifolds($0) { + $0 = $0|0; + var $$byval_copy14 = 0, $$byval_copy9 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0; + var $26 = 0, $27 = 0.0, $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, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0; + var $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0; + var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0; + var $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy14 = sp + 48|0; + $$byval_copy9 = sp + 40|0; + $1 = sp + 24|0; + $2 = sp + 16|0; + $3 = sp + 8|0; + $4 = sp; + $5 = sp + 32|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($7)) + 68|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($9)) + 68|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 * $13; + $15 = (+Math_sqrt((+$14))); + $16 = ((($0)) + 44|0); + HEAPF32[$16>>2] = $15; + $17 = ((($7)) + 60|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($9)) + 60|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + $22 = (+Math_sqrt((+$21))); + $23 = ((($0)) + 52|0); + HEAPF32[$23>>2] = $22; + $24 = ((($7)) + 64|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($9)) + 64|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 * $27; + $29 = (+Math_sqrt((+$28))); + $30 = ((($0)) + 48|0); + HEAPF32[$30>>2] = $29; + $31 = ((($7)) + 8|0); + $32 = ((($9)) + 8|0); + $33 = ((($7)) + 32|0); + $34 = ((($9)) + 32|0); + $35 = ((($9)) + 16|0); + $36 = ((($7)) + 16|0); + $37 = ((($9)) + 20|0); + $38 = ((($3)) + 4|0); + $39 = ((($7)) + 20|0); + $40 = ((($$byval_copy9)) + 4|0); + $41 = ((($4)) + 4|0); + $42 = +HEAPF32[7736]; + $43 = $42; + $44 = +HEAPF64[1749]; + $45 = $43 * $44; + $46 = $45; + $47 = ((($5)) + 4|0); + $48 = +HEAPF32[5]; + $49 = $48; + $50 = $49 * $44; + $51 = $50; + $52 = ((($0)) + 24|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $53 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$53,$$byval_copy14); + $54 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$54,$$byval_copy14); + $55 = +HEAPF32[$35>>2]; + $56 = +HEAPF32[$3>>2]; + $57 = $55 + $56; + $58 = +HEAPF32[$36>>2]; + $59 = $57 - $58; + $60 = +HEAPF32[$$byval_copy9>>2]; + $61 = $59 - $60; + HEAPF32[$4>>2] = $61; + $62 = +HEAPF32[$37>>2]; + $63 = +HEAPF32[$38>>2]; + $64 = $62 + $63; + $65 = +HEAPF32[$39>>2]; + $66 = $64 - $65; + $67 = +HEAPF32[$40>>2]; + $68 = $66 - $67; + HEAPF32[$41>>2] = $68; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $69 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $70 = (+_MathLenSqr($$byval_copy14)); + $71 = $70 + 9.9999999747524271E-7; + $72 = $69 < $71; + if ($72) { + HEAPF32[$16>>2] = 0.0; + } + $73 = ((($0)) + 32|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$74,$$byval_copy14); + $75 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$75,$$byval_copy14); + $76 = +HEAPF32[$35>>2]; + $77 = +HEAPF32[$3>>2]; + $78 = $76 + $77; + $79 = +HEAPF32[$36>>2]; + $80 = $78 - $79; + $81 = +HEAPF32[$$byval_copy9>>2]; + $82 = $80 - $81; + HEAPF32[$4>>2] = $82; + $83 = +HEAPF32[$37>>2]; + $84 = +HEAPF32[$38>>2]; + $85 = $83 + $84; + $86 = +HEAPF32[$39>>2]; + $87 = $85 - $86; + $88 = +HEAPF32[$40>>2]; + $89 = $87 - $88; + HEAPF32[$41>>2] = $89; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $90 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $91 = (+_MathLenSqr($$byval_copy14)); + $92 = $91 + 9.9999999747524271E-7; + $93 = $90 < $92; + if (!($93)) { + STACKTOP = sp;return; + } + HEAPF32[$16>>2] = 0.0; + STACKTOP = sp;return; +} +function _IntegratePhysicsImpulses($0) { + $0 = $0|0; + var $$0 = 0, $$0135139 = 0, $$1 = 0, $$byval_copy29 = 0, $$sink = 0.0, $$sink138 = 0.0, $$sroa$047$0$$sroa_idx = 0, $$sroa$050$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$248$0$$sroa_idx49 = 0, $$sroa$251$0$$sroa_idx52 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0; + var $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0; + var $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0; + var $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0; + var $18 = 0, $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0, $197 = 0.0; + var $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0; + var $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0.0, $220 = 0.0, $221 = 0.0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0; + var $233 = 0.0, $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0.0, $240 = 0.0, $25 = 0.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.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0; + var $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0; + var $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $cond1 = 0, $fabsf = 0.0, $fabsf136 = 0.0, $tmpcast137$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $tmpcast137$byval_copy = sp + 136|0; + $$byval_copy29 = sp + 128|0; + $1 = sp + 40|0; + $2 = sp + 32|0; + $3 = sp + 8|0; + $4 = sp + 120|0; + $5 = sp + 112|0; + $6 = sp + 104|0; + $7 = sp + 96|0; + $8 = sp + 24|0; + $9 = sp + 88|0; + $10 = sp + 80|0; + $11 = sp + 72|0; + $12 = sp + 64|0; + $13 = sp + 56|0; + $14 = sp + 16|0; + $15 = sp; + $16 = sp + 48|0; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($18)) + 56|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($20)) + 56|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 + $24; + $fabsf = (+Math_abs((+$25))); + $26 = !($fabsf <= 9.9999999747524271E-7); + if (!($26)) { + $$sroa$050$0$$sroa_idx = ((($18)) + 16|0); + HEAPF32[$$sroa$050$0$$sroa_idx>>2] = 0.0; + $$sroa$251$0$$sroa_idx52 = ((($18)) + 20|0); + HEAPF32[$$sroa$251$0$$sroa_idx52>>2] = 0.0; + $$sroa$047$0$$sroa_idx = ((($20)) + 16|0); + HEAPF32[$$sroa$047$0$$sroa_idx>>2] = 0.0; + $$sroa$248$0$$sroa_idx49 = ((($20)) + 20|0); + HEAPF32[$$sroa$248$0$$sroa_idx49>>2] = 0.0; + STACKTOP = sp;return; + } + $27 = ((($0)) + 40|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0); + if ($29) { + STACKTOP = sp;return; + } + $30 = ((($18)) + 8|0); + $31 = ((($20)) + 8|0); + $32 = ((($20)) + 16|0); + $33 = ((($20)) + 32|0); + $34 = ((($18)) + 16|0); + $35 = ((($18)) + 32|0); + $36 = ((($20)) + 20|0); + $37 = ((($6)) + 4|0); + $38 = ((($18)) + 20|0); + $39 = ((($7)) + 4|0); + $40 = ((($3)) + 4|0); + $41 = ((($0)) + 16|0); + $42 = ((($18)) + 48|0); + $43 = ((($20)) + 48|0); + $44 = ((($0)) + 44|0); + $45 = ((($8)) + 4|0); + $46 = ((($0)) + 20|0); + $47 = ((($18)) + 4|0); + $48 = ((($20)) + 4|0); + $49 = ((($12)) + 4|0); + $50 = ((($13)) + 4|0); + $51 = ((($14)) + 4|0); + $52 = ((($0)) + 52|0); + $$sroa$2$0$$sroa_idx2 = ((($15)) + 4|0); + $53 = ((($20)) + 80|0); + $54 = ((($18)) + 80|0); + $55 = ((($16)) + 4|0); + $56 = ((($0)) + 48|0); + $57 = ((($20)) + 80|0); + $58 = ((($18)) + 80|0); + $59 = ((($9)) + 4|0); + $$0135139 = 0; + while(1) { + $63 = (((($0)) + 24|0) + ($$0135139<<3)|0); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$30>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$30+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy29,$tmpcast137$byval_copy); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$31>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy29,$tmpcast137$byval_copy); + $64 = +HEAPF32[$32>>2]; + $65 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($4,$65,$tmpcast137$byval_copy); + $66 = +HEAPF32[$4>>2]; + $67 = $64 + $66; + $68 = +HEAPF32[$34>>2]; + $69 = $67 - $68; + $70 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($5,$70,$tmpcast137$byval_copy); + $71 = +HEAPF32[$5>>2]; + $72 = $69 - $71; + HEAPF32[$3>>2] = $72; + $73 = +HEAPF32[$36>>2]; + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($6,$74,$tmpcast137$byval_copy); + $75 = +HEAPF32[$37>>2]; + $76 = $73 + $75; + $77 = +HEAPF32[$38>>2]; + $78 = $76 - $77; + $79 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($7,$79,$tmpcast137$byval_copy); + $80 = +HEAPF32[$39>>2]; + $81 = $78 - $80; + HEAPF32[$40>>2] = $81; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $82 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $83 = $82 > 0.0; + if ($83) { + $$1 = 1; + } else { + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $84 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $85 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $86 = +HEAPF32[$21>>2]; + $87 = +HEAPF32[$23>>2]; + $88 = $86 + $87; + $89 = $84 * $84; + $90 = +HEAPF32[$42>>2]; + $91 = $89 * $90; + $92 = $88 + $91; + $93 = $85 * $85; + $94 = +HEAPF32[$43>>2]; + $95 = $93 * $94; + $96 = $92 + $95; + $97 = +HEAPF32[$44>>2]; + $98 = $97 + 1.0; + $99 = $82 * $98; + $100 = -$99; + $101 = $100 / $96; + $102 = HEAP32[$27>>2]|0; + $103 = (+($102>>>0)); + $104 = $101 / $103; + $105 = +HEAPF32[$41>>2]; + $106 = $105 * $104; + HEAPF32[$8>>2] = $106; + $107 = +HEAPF32[$46>>2]; + $108 = $104 * $107; + HEAPF32[$45>>2] = $108; + $109 = HEAP32[$47>>2]|0; + $110 = ($109|0)==(0); + if (!($110)) { + $111 = +HEAPF32[$21>>2]; + $112 = +HEAPF32[$8>>2]; + $113 = $111 * $112; + $114 = +HEAPF32[$34>>2]; + $115 = $114 - $113; + HEAPF32[$34>>2] = $115; + $116 = +HEAPF32[$45>>2]; + $117 = $111 * $116; + $118 = +HEAPF32[$38>>2]; + $119 = $118 - $117; + HEAPF32[$38>>2] = $119; + $120 = HEAP32[$58>>2]|0; + $121 = ($120|0)==(0); + if ($121) { + $122 = +HEAPF32[$42>>2]; + $123 = +HEAPF32[$8>>2]; + $124 = -$123; + HEAPF32[$9>>2] = $124; + $125 = +HEAPF32[$45>>2]; + $126 = -$125; + HEAPF32[$59>>2] = $126; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$9+4>>2]|0; + $127 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $128 = $122 * $127; + $129 = +HEAPF32[$35>>2]; + $130 = $129 + $128; + HEAPF32[$35>>2] = $130; + } + } + $131 = HEAP32[$48>>2]|0; + $132 = ($131|0)==(0); + if (!($132)) { + $133 = +HEAPF32[$23>>2]; + $134 = +HEAPF32[$8>>2]; + $135 = $133 * $134; + $136 = +HEAPF32[$32>>2]; + $137 = $136 + $135; + HEAPF32[$32>>2] = $137; + $138 = +HEAPF32[$45>>2]; + $139 = $133 * $138; + $140 = +HEAPF32[$36>>2]; + $141 = $140 + $139; + HEAPF32[$36>>2] = $141; + $142 = HEAP32[$57>>2]|0; + $143 = ($142|0)==(0); + if ($143) { + $144 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + $145 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $146 = $144 * $145; + $147 = +HEAPF32[$33>>2]; + $148 = $147 + $146; + HEAPF32[$33>>2] = $148; + } + } + $149 = +HEAPF32[$32>>2]; + $150 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($10,$150,$tmpcast137$byval_copy); + $151 = +HEAPF32[$10>>2]; + $152 = $149 + $151; + $153 = +HEAPF32[$34>>2]; + $154 = $152 - $153; + $155 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($11,$155,$tmpcast137$byval_copy); + $156 = +HEAPF32[$11>>2]; + $157 = $154 - $156; + HEAPF32[$3>>2] = $157; + $158 = +HEAPF32[$36>>2]; + $159 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($12,$159,$tmpcast137$byval_copy); + $160 = +HEAPF32[$49>>2]; + $161 = $158 + $160; + $162 = +HEAPF32[$38>>2]; + $163 = $161 - $162; + $164 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($13,$164,$tmpcast137$byval_copy); + $165 = +HEAPF32[$50>>2]; + $166 = $163 - $165; + HEAPF32[$40>>2] = $166; + $167 = +HEAPF32[$3>>2]; + $168 = +HEAPF32[$41>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $169 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $170 = $168 * $169; + $171 = $167 - $170; + HEAPF32[$14>>2] = $171; + $172 = +HEAPF32[$40>>2]; + $173 = +HEAPF32[$46>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $174 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $175 = $173 * $174; + $176 = $172 - $175; + HEAPF32[$51>>2] = $176; + _MathNormalize($14); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$14+4>>2]|0; + $177 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $178 = -$177; + $179 = $178 / $96; + $180 = HEAP32[$27>>2]|0; + $181 = (+($180>>>0)); + $182 = $179 / $181; + $fabsf136 = (+Math_abs((+$182))); + $183 = !($fabsf136 <= 9.9999999747524271E-7); + if ($183) { + $184 = $15; + $185 = $184; + HEAP32[$185>>2] = 0; + $186 = (($184) + 4)|0; + $187 = $186; + HEAP32[$187>>2] = 0; + $188 = +HEAPF32[$52>>2]; + $189 = $104 * $188; + $190 = $fabsf136 < $189; + $191 = +HEAPF32[$14>>2]; + $192 = +HEAPF32[$51>>2]; + if ($190) { + $193 = $182 * $191; + $194 = $182 * $192; + $$sink = $194;$$sink138 = $193; + } else { + $195 = -$104; + $196 = $191 * $195; + $197 = +HEAPF32[$56>>2]; + $198 = $196 * $197; + $199 = $192 * $195; + $200 = $199 * $197; + $$sink = $200;$$sink138 = $198; + } + HEAPF32[$15>>2] = $$sink138; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $$sink; + $201 = HEAP32[$47>>2]|0; + $202 = ($201|0)==(0); + if (!($202)) { + $203 = +HEAPF32[$21>>2]; + $204 = +HEAPF32[$15>>2]; + $205 = $203 * $204; + $206 = +HEAPF32[$34>>2]; + $207 = $206 - $205; + HEAPF32[$34>>2] = $207; + $208 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $209 = $203 * $208; + $210 = +HEAPF32[$38>>2]; + $211 = $210 - $209; + HEAPF32[$38>>2] = $211; + $212 = HEAP32[$54>>2]|0; + $213 = ($212|0)==(0); + if ($213) { + $214 = +HEAPF32[$42>>2]; + $215 = +HEAPF32[$15>>2]; + $216 = -$215; + HEAPF32[$16>>2] = $216; + $217 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $218 = -$217; + HEAPF32[$55>>2] = $218; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$16+4>>2]|0; + $219 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $220 = $214 * $219; + $221 = +HEAPF32[$35>>2]; + $222 = $221 + $220; + HEAPF32[$35>>2] = $222; + } + } + $223 = HEAP32[$48>>2]|0; + $224 = ($223|0)==(0); + if (!($224)) { + $225 = +HEAPF32[$23>>2]; + $226 = +HEAPF32[$15>>2]; + $227 = $225 * $226; + $228 = +HEAPF32[$32>>2]; + $229 = $228 + $227; + HEAPF32[$32>>2] = $229; + $230 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $231 = $225 * $230; + $232 = +HEAPF32[$36>>2]; + $233 = $232 + $231; + HEAPF32[$36>>2] = $233; + $234 = HEAP32[$53>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $236 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$15+4>>2]|0; + $237 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $238 = $236 * $237; + $239 = +HEAPF32[$33>>2]; + $240 = $239 + $238; + HEAPF32[$33>>2] = $240; + } + } + $$0 = 0; + } else { + $$0 = 1; + } + $$1 = $$0; + } + $cond1 = ($$1|0)==(0); + $62 = (($$0135139) + 1)|0; + if (!($cond1)) { + label = 26; + break; + } + $60 = HEAP32[$27>>2]|0; + $61 = ($62>>>0)<($60>>>0); + if ($61) { + $$0135139 = $62; + } else { + label = 26; + break; + } + } + if ((label|0) == 26) { + STACKTOP = sp;return; + } +} +function _IntegratePhysicsVelocity($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 16|0); + $5 = +HEAPF32[$4>>2]; + $6 = $5; + $7 = +HEAPF64[1749]; + $8 = $6 * $7; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $10; + $12 = $8 + $11; + $13 = $12; + HEAPF32[$9>>2] = $13; + $14 = ((($0)) + 20|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $7 * $16; + $18 = ((($0)) + 12|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19; + $21 = $20 + $17; + $22 = $21; + HEAPF32[$18>>2] = $22; + $23 = ((($0)) + 80|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = ((($0)) + 32|0); + $27 = +HEAPF32[$26>>2]; + $28 = $27; + $29 = $7 * $28; + $30 = ((($0)) + 40|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31; + $33 = $32 + $29; + $34 = $33; + HEAPF32[$30>>2] = $34; + } + $35 = ((($0)) + 484|0); + $36 = ((($0)) + 40|0); + $37 = +HEAPF32[$36>>2]; + _Mat2Set($35,$37); + _IntegratePhysicsForces($0); + return; +} +function _CorrectPhysicsPositions($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0; + var $46 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 + -0.05000000074505806; + $8 = $7 > 0.0; + $9 = $8 ? $7 : 0.0; + $10 = ((($2)) + 56|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($4)) + 56|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 + $13; + $15 = $9 / $14; + $16 = ((($0)) + 16|0); + $17 = +HEAPF32[$16>>2]; + $18 = $17 * $15; + $19 = $18 * 0.40000000596046448; + $20 = ((($0)) + 20|0); + $21 = +HEAPF32[$20>>2]; + $22 = $15 * $21; + $23 = $22 * 0.40000000596046448; + $24 = ((($2)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = $11 * $19; + $28 = ((($2)) + 8|0); + $29 = +HEAPF32[$28>>2]; + $30 = $29 - $27; + HEAPF32[$28>>2] = $30; + $31 = $11 * $23; + $32 = ((($2)) + 12|0); + $33 = +HEAPF32[$32>>2]; + $34 = $33 - $31; + HEAPF32[$32>>2] = $34; + } + $35 = ((($4)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + return; + } + $38 = +HEAPF32[$12>>2]; + $39 = $19 * $38; + $40 = ((($4)) + 8|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 + $39; + HEAPF32[$40>>2] = $42; + $43 = $23 * $38; + $44 = ((($4)) + 12|0); + $45 = +HEAPF32[$44>>2]; + $46 = $43 + $45; + HEAPF32[$44>>2] = $46; + return; +} +function _SolveCircleToCircle($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy2 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$02$0$$sroa_idx = 0, $$sroa$05$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$23$0$$sroa_idx4 = 0, $$sroa$26$0$$sroa_idx7 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.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.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0; + var $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $6 = 0, $7 = 0; + var $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy2 = sp + 16|0; + $$byval_copy = sp + 8|0; + $1 = sp; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 8|0); + $7 = ((($3)) + 8|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy,$$byval_copy2); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; + $8 = (+_MathLenSqr($$byval_copy2)); + $9 = ((($3)) + 92|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($5)) + 92|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 + $12; + $14 = $13 * $13; + $15 = !($8 >= $14); + if (!($15)) { + $16 = ((($0)) + 40|0); + HEAP32[$16>>2] = 0; + STACKTOP = sp;return; + } + $17 = (+Math_sqrt((+$8))); + $18 = ((($0)) + 40|0); + HEAP32[$18>>2] = 1; + $19 = $17 == 0.0; + if ($19) { + $20 = HEAP32[$9>>2]|0; + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $$sroa$05$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$05$0$$sroa_idx>>2] = 1.0; + $$sroa$26$0$$sroa_idx7 = ((($0)) + 20|0); + HEAPF32[$$sroa$26$0$$sroa_idx7>>2] = 0.0; + $22 = ((($0)) + 24|0); + $23 = $7; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + } else { + $33 = $13 - $17; + $34 = ((($0)) + 12|0); + HEAPF32[$34>>2] = $33; + $35 = +HEAPF32[$1>>2]; + $36 = $35 / $17; + $37 = ((($1)) + 4|0); + $38 = +HEAPF32[$37>>2]; + $39 = $38 / $17; + $$sroa$02$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$02$0$$sroa_idx>>2] = $36; + $$sroa$23$0$$sroa_idx4 = ((($0)) + 20|0); + HEAPF32[$$sroa$23$0$$sroa_idx4>>2] = $39; + $40 = +HEAPF32[$9>>2]; + $41 = $36 * $40; + $42 = +HEAPF32[$7>>2]; + $43 = $41 + $42; + $44 = $39 * $40; + $45 = ((($3)) + 12|0); + $46 = +HEAPF32[$45>>2]; + $47 = $44 + $46; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $43; + $$sroa$2$0$$sroa_idx1 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $47; + } + $48 = ((($3)) + 76|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + STACKTOP = sp;return; + } + $51 = ((($0)) + 20|0); + $52 = +HEAPF32[$51>>2]; + $53 = $52 < 0.0; + $54 = $53&1; + HEAP32[$48>>2] = $54; + STACKTOP = sp;return; +} +function _SolveCircleToPolygon($0) { + $0 = $0|0; + var $$0$lcssa = 0.0, $$0125 = 0.0, $$093$lcssa = 0, $$093124 = 0, $$097123 = 0, $$1 = 0.0, $$194 = 0, $$byval_copy41 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$011$0$$sroa_idx = 0, $$sroa$014$0$$sroa_idx = 0, $$sroa$04$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx3 = 0, $$sroa$212$0$$sroa_idx13 = 0, $$sroa$215$0$$sroa_idx16 = 0, $$sroa$25$0$$sroa_idx6 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0; + var $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.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.0; + var $157 = 0.0, $158 = 0.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.0, $219 = 0.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.0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.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.0, $46 = 0.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.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $tmpcast104$byval_copy42 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 608|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(608|0); + $tmpcast104$byval_copy42 = sp + 584|0; + $$byval_copy41 = sp + 568|0; + $1 = sp + 24|0; + $2 = sp + 552|0; + $3 = sp + 544|0; + $4 = sp + 88|0; + $5 = sp + 536|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 528|0; + $10 = sp + 520|0; + $11 = sp + 512|0; + $12 = sp + 504|0; + $13 = sp + 80|0; + $14 = sp + 72|0; + $15 = sp + 64|0; + $16 = sp + 56|0; + $17 = sp + 48|0; + $18 = sp + 40|0; + $19 = sp + 496|0; + $20 = sp + 32|0; + $21 = ((($0)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($0)) + 40|0); + HEAP32[$25>>2] = 0; + $26 = ((($22)) + 8|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $1; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = ((($24)) + 96|0); + $38 = ((($24)) + 484|0); + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$38>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$38+4>>2]|0;HEAP32[$tmpcast104$byval_copy42+8>>2]=HEAP32[$38+8>>2]|0;HEAP32[$tmpcast104$byval_copy42+12>>2]=HEAP32[$38+12>>2]|0; + _Mat2Transpose($2,$tmpcast104$byval_copy42); + $39 = ((($24)) + 8|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Subtract_4($3,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$2+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$3>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$3+4>>2]|0; + _Mat2MultiplyVector2($1,$$byval_copy41,$tmpcast104$byval_copy42); + _memcpy(($4|0),($37|0),404)|0; + $40 = HEAP32[$4>>2]|0; + $41 = ($40|0)==(0); + L1: do { + if ($41) { + $$0$lcssa = -3.4028234663852886E+38;$$093$lcssa = 0; + } else { + $42 = ((($22)) + 92|0); + $$0125 = -3.4028234663852886E+38;$$093124 = 0;$$097123 = 0; + while(1) { + $43 = (((($4)) + 196|0) + ($$097123<<3)|0); + $44 = (((($4)) + 4|0) + ($$097123<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$44>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$44+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$43+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$5+4>>2]|0; + $45 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $46 = +HEAPF32[$42>>2]; + $47 = $45 > $46; + $48 = $45 > $$0125; + if ($47) { + break; + } + $$1 = $48 ? $45 : $$0125; + $$194 = $48 ? $$097123 : $$093124; + $49 = (($$097123) + 1)|0; + $50 = HEAP32[$4>>2]|0; + $51 = ($49>>>0)<($50>>>0); + if ($51) { + $$0125 = $$1;$$093124 = $$194;$$097123 = $49; + } else { + $$0$lcssa = $$1;$$093$lcssa = $$194; + break L1; + } + } + STACKTOP = sp;return; + } + } while(0); + $52 = (((($4)) + 4|0) + ($$093$lcssa<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$093$lcssa) + 1)|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (((($4)) + 4|0) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = $$0$lcssa < 9.9999999747524271E-7; + do { + if ($78) { + HEAP32[$25>>2] = 1; + $79 = ((($4)) + 388|0); + $80 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$79>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$79+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$79+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$80>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$80+4>>2]|0; + _Mat2MultiplyVector2($8,$$byval_copy41,$tmpcast104$byval_copy42); + $81 = +HEAPF32[$8>>2]; + $82 = -$81; + $83 = ((($8)) + 4|0); + $84 = +HEAPF32[$83>>2]; + $85 = -$84; + $$sroa$014$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$014$0$$sroa_idx>>2] = $82; + $$sroa$215$0$$sroa_idx16 = ((($0)) + 20|0); + HEAPF32[$$sroa$215$0$$sroa_idx16>>2] = $85; + $86 = ((($22)) + 92|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 * $82; + $89 = +HEAPF32[$26>>2]; + $90 = $88 + $89; + $91 = $87 * $85; + $92 = ((($22)) + 12|0); + $93 = +HEAPF32[$92>>2]; + $94 = $91 + $93; + $$sroa$011$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$011$0$$sroa_idx>>2] = $90; + $$sroa$212$0$$sroa_idx13 = ((($0)) + 28|0); + HEAPF32[$$sroa$212$0$$sroa_idx13>>2] = $94; + $95 = HEAP32[$86>>2]|0; + $96 = ((($0)) + 12|0); + HEAP32[$96>>2] = $95; + } else { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($9,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($10,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$10+4>>2]|0; + $97 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($11,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($12,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$12>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$12+4>>2]|0; + $98 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $99 = ((($22)) + 92|0); + $100 = +HEAPF32[$99>>2]; + $101 = $100 - $$0$lcssa; + $102 = ((($0)) + 12|0); + HEAPF32[$102>>2] = $101; + $103 = !($97 <= 0.0); + if (!($103)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + $104 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $105 = +HEAPF32[$99>>2]; + $106 = $105 * $105; + $107 = $104 > $106; + if ($107) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $108 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($13,$$byval_copy41,$tmpcast104$byval_copy42); + $109 = $13; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = $8; + $116 = $115; + HEAP32[$116>>2] = $111; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $114; + _MathNormalize($8); + $119 = ((($0)) + 16|0); + $120 = $8; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = $119; + $127 = $126; + HEAP32[$127>>2] = $122; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $125; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($14,$$byval_copy41,$tmpcast104$byval_copy42); + $130 = $14; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = $6; + $137 = $136; + HEAP32[$137>>2] = $132; + $138 = (($136) + 4)|0; + $139 = $138; + HEAP32[$139>>2] = $135; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($15,$$byval_copy41,$tmpcast104$byval_copy42); + $140 = $15; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = $6; + $147 = $146; + HEAP32[$147>>2] = $142; + $148 = (($146) + 4)|0; + $149 = $148; + HEAP32[$149>>2] = $145; + $150 = ((($0)) + 24|0); + $151 = $150; + $152 = $151; + HEAP32[$152>>2] = $142; + $153 = (($151) + 4)|0; + $154 = $153; + HEAP32[$154>>2] = $145; + break; + } + $155 = !($98 <= 0.0); + if (!($155)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + $156 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $157 = +HEAPF32[$99>>2]; + $158 = $157 * $157; + $159 = $156 > $158; + if ($159) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $160 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($16,$$byval_copy41,$tmpcast104$byval_copy42); + $161 = $16; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = $7; + $168 = $167; + HEAP32[$168>>2] = $163; + $169 = (($167) + 4)|0; + $170 = $169; + HEAP32[$170>>2] = $166; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($17,$$byval_copy41,$tmpcast104$byval_copy42); + $171 = $17; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = $7; + $178 = $177; + HEAP32[$178>>2] = $173; + $179 = (($177) + 4)|0; + $180 = $179; + HEAP32[$180>>2] = $176; + $181 = ((($0)) + 24|0); + $182 = $181; + $183 = $182; + HEAP32[$183>>2] = $173; + $184 = (($182) + 4)|0; + $185 = $184; + HEAP32[$185>>2] = $176; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($18,$$byval_copy41,$tmpcast104$byval_copy42); + $186 = $18; + $187 = $186; + $188 = HEAP32[$187>>2]|0; + $189 = (($186) + 4)|0; + $190 = $189; + $191 = HEAP32[$190>>2]|0; + $192 = $8; + $193 = $192; + HEAP32[$193>>2] = $188; + $194 = (($192) + 4)|0; + $195 = $194; + HEAP32[$195>>2] = $191; + _MathNormalize($8); + $196 = ((($0)) + 16|0); + $197 = $8; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = (($197) + 4)|0; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = $196; + $204 = $203; + HEAP32[$204>>2] = $199; + $205 = (($203) + 4)|0; + $206 = $205; + HEAP32[$206>>2] = $202; + break; + } + $207 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + $208 = $207; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = $8; + $215 = $214; + HEAP32[$215>>2] = $210; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $213; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($19,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$19+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + $218 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $219 = +HEAPF32[$99>>2]; + $220 = $218 > $219; + if ($220) { + break; + } else { + $221 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$221>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$221+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$221+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$221+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($20,$$byval_copy41,$tmpcast104$byval_copy42); + $222 = $20; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (($222) + 4)|0; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = $8; + $229 = $228; + HEAP32[$229>>2] = $224; + $230 = (($228) + 4)|0; + $231 = $230; + HEAP32[$231>>2] = $227; + $232 = +HEAPF32[$8>>2]; + $233 = -$232; + $234 = ((($8)) + 4|0); + $235 = +HEAPF32[$234>>2]; + $236 = -$235; + $$sroa$04$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$04$0$$sroa_idx>>2] = $233; + $$sroa$25$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$25$0$$sroa_idx6>>2] = $236; + $237 = +HEAPF32[$99>>2]; + $238 = $237 * $233; + $239 = +HEAPF32[$26>>2]; + $240 = $238 + $239; + $241 = $237 * $236; + $242 = ((($22)) + 12|0); + $243 = +HEAPF32[$242>>2]; + $244 = $241 + $243; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $240; + $$sroa$2$0$$sroa_idx3 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx3>>2] = $244; + HEAP32[$25>>2] = 1; + break; + } + } + } while(0); + STACKTOP = sp;return; +} +function _SolvePolygonToCircle($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $4; + HEAP32[$3>>2] = $2; + _SolveCircleToPolygon($0); + $5 = ((($0)) + 16|0); + $6 = +HEAPF32[$5>>2]; + $7 = -$6; + HEAPF32[$5>>2] = $7; + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = -$9; + HEAPF32[$8>>2] = $10; + return; +} +function _SolvePolygonToPolygon($0) { + $0 = $0|0; + var $$0 = 0, $$051 = 0, $$051$in = 0, $$052 = 0, $$1 = 0, $$byval_copy24 = 0, $$sink = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx12 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0.0; + var $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0.0, $126 = 0.0; + var $127 = 0.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.0, $14 = 0, $140 = 0.0, $141 = 0, $142 = 0.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.0, $156 = 0.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.0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0.0, $173 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0.0, $26 = 0, $27 = 0.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, $tmpcast58$byval_copy23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 3008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(3008|0); + $$byval_copy24 = sp + 2584|0; + $tmpcast58$byval_copy23 = sp + 2168|0; + $1 = sp + 1744|0; + $2 = sp + 1328|0; + $3 = sp + 1324|0; + $4 = sp + 1320|0; + $5 = sp + 904|0; + $6 = sp + 488|0; + $7 = sp + 24|0; + $8 = sp + 80|0; + $9 = sp + 16|0; + $10 = sp + 8|0; + $11 = sp + 64|0; + $12 = sp + 56|0; + $13 = sp + 48|0; + $14 = sp + 40|0; + $15 = sp + 72|0; + $16 = sp; + $17 = sp + 2160|0; + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 84|0); + _memcpy(($1|0),($20|0),416)|0; + $21 = ((($0)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 84|0); + _memcpy(($2|0),($23|0),416)|0; + $24 = ((($0)) + 40|0); + HEAP32[$24>>2] = 0; + HEAP32[$3>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($1|0),416)|0; + _memcpy(($$byval_copy24|0),($2|0),416)|0; + $25 = (+_FindAxisLeastPenetration($3,$tmpcast58$byval_copy23,$$byval_copy24)); + $26 = !($25 >= 0.0); + if (!($26)) { + STACKTOP = sp;return; + } + HEAP32[$4>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($2|0),416)|0; + _memcpy(($$byval_copy24|0),($1|0),416)|0; + $27 = (+_FindAxisLeastPenetration($4,$tmpcast58$byval_copy23,$$byval_copy24)); + $28 = !($27 >= 0.0); + if ($28) { + $29 = (_BiasGreaterThan($25,$27)|0); + $30 = ($29|0)==(0); + if ($30) { + _memcpy(($5|0),($2|0),416)|0; + _memcpy(($6|0),($1|0),416)|0; + $$051$in = $4;$$052 = 1; + } else { + _memcpy(($5|0),($1|0),416)|0; + _memcpy(($6|0),($2|0),416)|0; + $$051$in = $3;$$052 = 0; + } + $$051 = HEAP32[$$051$in>>2]|0; + $31 = ((($7)) + 8|0); + _memcpy(($tmpcast58$byval_copy23|0),($5|0),416)|0; + _memcpy(($$byval_copy24|0),($6|0),416)|0; + _FindIncidentFace($7,$31,$tmpcast58$byval_copy23,$$byval_copy24,$$051); + $32 = ((($5)) + 12|0); + _memcpy(($8|0),($32|0),404)|0; + $33 = (((($8)) + 4|0) + ($$051<<3)|0); + $34 = $33; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = $9; + $41 = $40; + HEAP32[$41>>2] = $36; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $39; + $44 = (($$051) + 1)|0; + $45 = HEAP32[$8>>2]|0; + $46 = ($44>>>0)<($45>>>0); + $47 = $46 ? $44 : 0; + $48 = (((($8)) + 4|0) + ($47<<3)|0); + $49 = $48; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = $10; + $56 = $55; + HEAP32[$56>>2] = $51; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $54; + $59 = ((($8)) + 388|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast58$byval_copy23,$$byval_copy24); + $60 = $11; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = $9; + $67 = $66; + HEAP32[$67>>2] = $62; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = $65; + $70 = ((($5)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$72>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$72+4>>2]|0; + _Vector2Add_2($12,$tmpcast58$byval_copy23,$$byval_copy24); + $73 = $12; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = $9; + $80 = $79; + HEAP32[$80>>2] = $75; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $78; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast58$byval_copy23,$$byval_copy24); + $83 = $13; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = $10; + $90 = $89; + HEAP32[$90>>2] = $85; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = $88; + $93 = HEAP32[$70>>2]|0; + $94 = ((($93)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$94>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$94+4>>2]|0; + _Vector2Add_2($14,$tmpcast58$byval_copy23,$$byval_copy24); + $95 = $14; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = $10; + $102 = $101; + HEAP32[$102>>2] = $97; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast58$byval_copy23,$$byval_copy24); + _MathNormalize($15); + $105 = ((($15)) + 4|0); + $106 = HEAP32[$105>>2]|0; + HEAP32[$16>>2] = $106; + $107 = ((($16)) + 4|0); + $108 = +HEAPF32[$15>>2]; + $109 = -$108; + HEAPF32[$107>>2] = $109; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $110 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $111 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $112 = -$111; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + $113 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $114 = +HEAPF32[$15>>2]; + $115 = -$114; + HEAPF32[$17>>2] = $115; + $116 = ((($17)) + 4|0); + $117 = +HEAPF32[$105>>2]; + $118 = -$117; + HEAPF32[$116>>2] = $118; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$17+4>>2]|0; + $119 = (_Clip($$byval_copy24,$112,$7,$31)|0); + $120 = ($119|0)<(2); + if (!($120)) { + ;HEAP32[$$byval_copy24>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$15+4>>2]|0; + $121 = (_Clip($$byval_copy24,$113,$7,$31)|0); + $122 = ($121|0)<(2); + if (!($122)) { + $123 = ($$052|0)==(0); + if ($123) { + $128 = ((($0)) + 16|0); + $129 = $16; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = $128; + $136 = $135; + HEAP32[$136>>2] = $131; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $134; + } else { + $124 = +HEAPF32[$16>>2]; + $125 = -$124; + $126 = +HEAPF32[$107>>2]; + $127 = -$126; + $$sroa$0$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $125; + $$sroa$2$0$$sroa_idx12 = ((($0)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx12>>2] = $127; + } + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$7+4>>2]|0; + $139 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $140 = $139 - $110; + $141 = !($140 <= 0.0); + if ($141) { + $$0 = 0;$$sink = 0.0; + } else { + $142 = -$140; + $143 = ((($0)) + 24|0); + $144 = $7; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = $143; + $151 = $150; + HEAP32[$151>>2] = $146; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = $149; + $$0 = 1;$$sink = $142; + } + $154 = ((($0)) + 12|0); + HEAPF32[$154>>2] = $$sink; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$31+4>>2]|0; + $155 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $156 = $155 - $110; + $157 = !($156 <= 0.0); + if ($157) { + $$1 = $$0; + } else { + $158 = (((($0)) + 24|0) + ($$0<<3)|0); + $159 = $31; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = $158; + $166 = $165; + HEAP32[$166>>2] = $161; + $167 = (($165) + 4)|0; + $168 = $167; + HEAP32[$168>>2] = $164; + $169 = +HEAPF32[$154>>2]; + $170 = $169 - $156; + $171 = (($$0) + 1)|0; + $172 = (+($171|0)); + $173 = $170 / $172; + HEAPF32[$154>>2] = $173; + $$1 = $171; + } + HEAP32[$24>>2] = $$1; + } + } + } + STACKTOP = sp;return; +} +function _MathLenSqr($0) { + $0 = $0|0; + var $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + return (+$6); +} +function _Mat2Transpose($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 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $2; + $3 = ((($0)) + 4|0); + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $8; + $9 = ((($0)) + 12|0); + $10 = ((($1)) + 12|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + return; +} +function _MathDot($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 * $3; + $5 = ((($0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = $6 * $8; + $10 = $4 + $9; + return (+$10); +} +function _DistSqr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $2 = 0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy3 = sp + 16|0; + $$byval_copy2 = sp + 8|0; + $2 = sp; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; + $3 = (+_MathDot($$byval_copy2,$$byval_copy3)); + STACKTOP = sp;return (+$3); +} +function _FindAxisLeastPenetration($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0.0, $$01727 = 0, $$018$lcssa = 0, $$01826 = 0, $$028 = 0.0, $$1 = 0.0, $$119 = 0, $$byval_copy16 = 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, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0; + var $4 = 0, $40 = 0.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.0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy15 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1344|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1344|0); + $$byval_copy16 = sp + 1320|0; + $tmpcast$byval_copy15 = sp + 904|0; + $3 = sp + 484|0; + $4 = sp + 80|0; + $5 = sp + 8|0; + $6 = sp + 72|0; + $7 = sp + 56|0; + $8 = sp + 48|0; + $9 = sp + 896|0; + $10 = sp; + $11 = sp + 40|0; + $12 = sp + 32|0; + $13 = sp + 24|0; + $14 = sp + 16|0; + $15 = sp + 888|0; + $16 = ((($1)) + 12|0); + _memcpy(($3|0),($16|0),404)|0; + $17 = ((($2)) + 12|0); + _memcpy(($4|0),($17|0),404)|0; + $18 = HEAP32[$3>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $$0$lcssa = -3.4028234663852886E+38;$$018$lcssa = 0; + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); + } + $20 = ((($3)) + 388|0); + $21 = ((($4)) + 388|0); + $22 = ((($9)) + 4|0); + $23 = ((($5)) + 4|0); + $24 = ((($1)) + 4|0); + $25 = ((($2)) + 4|0); + $$01727 = 0;$$01826 = 0;$$028 = -3.4028234663852886E+38; + while(1) { + $26 = (((($3)) + 196|0) + ($$01727<<3)|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $5; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$5+4>>2]|0; + _Mat2MultiplyVector2($6,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy16+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy16+12>>2]=HEAP32[$21+12>>2]|0; + _Mat2Transpose($7,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($5,$tmpcast$byval_copy15,$$byval_copy16); + $37 = +HEAPF32[$5>>2]; + $38 = -$37; + HEAPF32[$9>>2] = $38; + $39 = +HEAPF32[$23>>2]; + $40 = -$39; + HEAPF32[$22>>2] = $40; + _memcpy(($tmpcast$byval_copy15|0),($2|0),416)|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$9+4>>2]|0; + _GetSupport($8,$tmpcast$byval_copy15,$$byval_copy16); + $41 = (((($3)) + 4|0) + ($$01727<<3)|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $10; + $49 = $48; + HEAP32[$49>>2] = $44; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy15,$$byval_copy16); + $52 = $11; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $10; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = HEAP32[$24>>2]|0; + $63 = ((($62)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$63+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy15,$$byval_copy16); + $64 = $12; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $10; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = HEAP32[$25>>2]|0; + $75 = ((($74)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$75>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$75+4>>2]|0; + _Vector2Subtract_4($13,$tmpcast$byval_copy15,$$byval_copy16); + $76 = $13; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $10; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($14,$tmpcast$byval_copy15,$$byval_copy16); + $86 = $14; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = $10; + $93 = $92; + HEAP32[$93>>2] = $88; + $94 = (($92) + 4)|0; + $95 = $94; + HEAP32[$95>>2] = $91; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$15+4>>2]|0; + $96 = (+_MathDot($tmpcast$byval_copy15,$$byval_copy16)); + $97 = $96 > $$028; + $$119 = $97 ? $$01727 : $$01826; + $$1 = $97 ? $96 : $$028; + $98 = (($$01727) + 1)|0; + $99 = HEAP32[$3>>2]|0; + $100 = ($98>>>0)<($99>>>0); + if ($100) { + $$01727 = $98;$$01826 = $$119;$$028 = $$1; + } else { + $$0$lcssa = $$1;$$018$lcssa = $$119; + break; + } + } + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); +} +function _BiasGreaterThan($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 * 0.94999998807907104; + $3 = $0 * 0.0099999997764825821; + $4 = $3 + $2; + $5 = $4 <= $0; + $6 = $5&1; + return ($6|0); +} +function _FindIncidentFace($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$02434 = 0, $$02533 = 0.0, $$035 = 0, $$1 = 0, $$126 = 0.0, $$byval_copy13 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0; + var $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, $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, $tmpcast$byval_copy12 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 912|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(912|0); + $$byval_copy13 = sp + 896|0; + $tmpcast$byval_copy12 = sp + 880|0; + $5 = sp + 460|0; + $6 = sp + 56|0; + $7 = sp; + $8 = sp + 48|0; + $9 = sp + 864|0; + $10 = sp + 40|0; + $11 = sp + 32|0; + $12 = sp + 24|0; + $13 = sp + 16|0; + $14 = sp + 8|0; + $15 = ((($2)) + 12|0); + _memcpy(($5|0),($15|0),404)|0; + $16 = ((($3)) + 12|0); + _memcpy(($6|0),($16|0),404)|0; + $17 = (((($5)) + 196|0) + ($4<<3)|0); + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $7; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = ((($5)) + 388|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$28>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($8,$tmpcast$byval_copy12,$$byval_copy13); + $29 = $8; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = $7; + $36 = $35; + HEAP32[$36>>2] = $31; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; + $39 = ((($6)) + 388|0); + ;HEAP32[$$byval_copy13>>2]=HEAP32[$39>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[$39+12>>2]|0; + _Mat2Transpose($9,$$byval_copy13); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($10,$tmpcast$byval_copy12,$$byval_copy13); + $40 = $10; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = $7; + $47 = $46; + HEAP32[$47>>2] = $42; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = HEAP32[$6>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $$0$lcssa = 0; + } else { + $52 = HEAP32[$6>>2]|0; + $$02434 = 0;$$02533 = 3.4028234663852886E+38;$$035 = 0; + while(1) { + $104 = (((($6)) + 196|0) + ($$02434<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$104>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$104+4>>2]|0; + $105 = (+_MathDot($tmpcast$byval_copy12,$$byval_copy13)); + $106 = $105 < $$02533; + $$126 = $106 ? $105 : $$02533; + $$1 = $106 ? $$02434 : $$035; + $107 = (($$02434) + 1)|0; + $108 = ($107>>>0)<($52>>>0); + if ($108) { + $$02434 = $107;$$02533 = $$126;$$035 = $$1; + } else { + $$0$lcssa = $$1; + break; + } + } + } + $53 = (((($6)) + 4|0) + ($$0$lcssa<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$53+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy12,$$byval_copy13); + $54 = $11; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = $0; + $61 = $60; + HEAP32[$61>>2] = $56; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = ((($3)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($65)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$66>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$66+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy12,$$byval_copy13); + $67 = $12; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $72; + $77 = (($$0$lcssa) + 1)|0; + $78 = HEAP32[$6>>2]|0; + $79 = ($77>>>0)<($78>>>0); + $80 = $79 ? $77 : 0; + $81 = (((($6)) + 4|0) + ($80<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$81+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast$byval_copy12,$$byval_copy13); + $82 = $13; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $1; + $89 = $88; + HEAP32[$89>>2] = $84; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + $92 = HEAP32[$64>>2]|0; + $93 = ((($92)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$93>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$93+4>>2]|0; + _Vector2Add_2($14,$tmpcast$byval_copy12,$$byval_copy13); + $94 = $14; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = $1; + $101 = $100; + HEAP32[$101>>2] = $96; + $102 = (($100) + 4)|0; + $103 = $102; + HEAP32[$103>>2] = $99; + STACKTOP = sp;return; +} +function _Clip($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy6 = 0, $$byval_copy7 = 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, $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.0, $29 = 0.0, $30 = 0.0, $31 = 0.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.0, $57 = 0, $58 = 0.0, $59 = 0.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.0, $72 = 0.0, $73 = 0; + var $74 = 0.0, $75 = 0.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 + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy7 = sp + 40|0; + $$byval_copy6 = sp + 32|0; + $4 = sp; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = $2; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = $4; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $12; + $17 = ((($4)) + 8|0); + $18 = $3; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $17; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + $28 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $29 = $28 - $1; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0; + $30 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $31 = $30 - $1; + $32 = !($29 <= 0.0); + if ($32) { + $$0 = 0; + } else { + $33 = $2; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = $4; + $40 = $39; + HEAP32[$40>>2] = $35; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $38; + $$0 = 1; + } + $43 = !($31 <= 0.0); + if ($43) { + $$1 = $$0; + } else { + $44 = (($4) + ($$0<<3)|0); + $45 = (($$0) + 1)|0; + $46 = $3; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = $44; + $53 = $52; + HEAP32[$53>>2] = $48; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $$1 = $45; + } + $56 = $29 * $31; + $57 = $56 < 0.0; + if (!($57)) { + $$2 = $$1; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); + } + $58 = $29 - $31; + $59 = $29 / $58; + $60 = (($4) + ($$1<<3)|0); + $61 = $2; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = $60; + $68 = $67; + HEAP32[$68>>2] = $63; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $66; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy6,$$byval_copy7); + $71 = +HEAPF32[$5>>2]; + $72 = $59 * $71; + HEAPF32[$5>>2] = $72; + $73 = ((($5)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $59 * $74; + HEAPF32[$73>>2] = $75; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$60+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$5+4>>2]|0; + _Vector2Add_2($6,$$byval_copy6,$$byval_copy7); + $76 = $6; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $60; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = (($$1) + 1)|0; + $$2 = $86; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); +} +function _GetSupport($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$019 = 0.0, $$1 = 0.0, $$byval_copy = 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.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 432|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(432|0); + $$byval_copy = sp + 424|0; + $tmpcast$byval_copy = sp + 416|0; + $3 = sp + 8|0; + $4 = sp; + $5 = ((($1)) + 12|0); + _memcpy(($3|0),($5|0),404)|0; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + $11 = 0;$14 = 0; + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $$01318 = 0;$$019 = -3.4028234663852886E+38;$29 = 0;$31 = 0; + while(1) { + $15 = (((($3)) + 4|0) + ($$01318<<3)|0); + $16 = $15; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = $4; + $23 = $22; + HEAP32[$23>>2] = $18; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + $26 = (+_MathDot($tmpcast$byval_copy,$$byval_copy)); + $27 = $26 > $$019; + $28 = $27 ? $18 : $29; + $30 = $27 ? $21 : $31; + $$1 = $27 ? $26 : $$019; + $32 = (($$01318) + 1)|0; + $33 = ($32>>>0)<($8>>>0); + if ($33) { + $$01318 = $32;$$019 = $$1;$29 = $28;$31 = $30; + } else { + $11 = $28;$14 = $30; + break; + } + } + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; +} +function _MathCross($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $1; + $6 = -$5; + HEAPF32[$0>>2] = $6; + $7 = ((($0)) + 4|0); + $8 = +HEAPF32[$2>>2]; + $9 = $8 * $1; + HEAPF32[$7>>2] = $9; + return; +} +function _Mat2Set($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = -$3; + $5 = ((($0)) + 4|0); + HEAPF32[$5>>2] = $4; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 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); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[7738] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 14000; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 14040; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[3510]; + $111 = +HEAPF32[3500]; + $112 = $110 - $111; + HEAPF32[3512] = $112; + $113 = +HEAPF32[(14044)>>2]; + $114 = +HEAPF32[(14004)>>2]; + $115 = $113 - $114; + HEAPF32[(14052)>>2] = $115; + HEAP32[7737] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14032+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[7743] = $116; + $117 = 14032; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 14000; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 14056; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 14040; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 14032; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 14056; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[3514]; + $160 = +HEAPF32[3508]; + $161 = $159 - $160; + HEAPF32[3512] = $161; + $162 = +HEAPF32[(14060)>>2]; + $163 = +HEAPF32[(14036)>>2]; + $164 = $162 - $163; + HEAPF32[(14052)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14032+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14032+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[7743]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[7737] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14032+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[7744] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[7743] = 0.0; + HEAPF32[7744] = 0.0; + HEAPF32[3512] = 0.0; + HEAPF32[(14052)>>2] = 0.0; + HEAP32[7738] = 0; + HEAP32[7737] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[7739]|0; + $7 = (($6) + 1)|0; + HEAP32[7739] = $7; + $8 = HEAP32[7737]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[7737] = 2; + HEAP32[7739] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[7739] = 1; + HEAP32[7737] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 14000; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 14008; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 14016; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[6] = $34; + HEAPF32[3506] = 0.0; + HEAPF32[(14028)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[7737]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 14016; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14016>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14016+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[7740] = $49; + HEAP32[7741] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[6]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14016>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14016+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[7742] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[7740] = 0.0; + HEAPF32[7742] = 0.0; + $$sink10 = 0; + } + HEAP32[7737] = $$sink10; + HEAPF32[3502] = 0.0; + HEAPF32[(14012)>>2] = 0.0; + HEAP32[7738] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[7741]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[7741] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 14032; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[7737]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14032+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[7737] = 8; + } + } + $82 = +HEAPF32[3508]; + $83 = +HEAPF32[3502]; + $84 = $82 - $83; + HEAPF32[3506] = $84; + $85 = +HEAPF32[(14036)>>2]; + $86 = +HEAPF32[(14012)>>2]; + $87 = $85 - $86; + HEAPF32[(14028)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7737]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[7738]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[7737] = 4; + } + $4 = HEAP32[7737]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[7737] = 0; + return; +} +function _GetMousePosition($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 = 14064; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _IsKeyDown($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_GetKeyStatus($0)|0); + $2 = ($1|0)==(1); + $$ = $2&1; + return ($$|0); +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7747]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7746]|0; + return ($0|0); +} +function _GetKeyStatus($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[7745]|0; + $2 = (_glfwGetKey(($1|0),($0|0))|0); + return ($2|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.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; + _TraceLog(0,3356,$vararg_buffer); + HEAP32[7749] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer_12(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((3385|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3385|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3385|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3385|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3385|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3385|0),(0|0),1,(7|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); + $3 = HEAP32[7747]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[3516] = $5; + $6 = HEAP32[7746]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(14068)>>2] = $8; + $9 = HEAP32[7750]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 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); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[14104>>0]=HEAP8[7914>>0]|0;HEAP8[14104+1>>0]=HEAP8[7914+1>>0]|0;HEAP8[14104+2>>0]=HEAP8[7914+2>>0]|0;HEAP8[14104+3>>0]=HEAP8[7914+3>>0]|0;HEAP8[14104+4>>0]=HEAP8[7914+4>>0]|0;HEAP8[14104+5>>0]=HEAP8[7914+5>>0]|0;HEAP8[14104+6>>0]=HEAP8[7914+6>>0]|0; + break; + } + case 1: { + $3 = 14104; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=14104; src=7921; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 14104; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(14104,$1)|0); + $strlen = (_strlen(14104)|0); + $endptr = (14104 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(14104,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[7747] = $0; + HEAP32[7746] = $1; + _MatrixIdentity($2); + dest=31076; 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)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4056,$vararg_buffer); + } + $6 = HEAP32[7747]|0; + HEAP32[7785] = $6; + $7 = HEAP32[7746]|0; + HEAP32[7786] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[35952]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[35952]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[35952]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4082,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[7787]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[7747]|0; + $48 = HEAP32[7746]|0; + $49 = HEAP32[7749]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[7745] = $50; + $51 = HEAP32[7747]|0; + HEAP32[7788] = $51; + $52 = HEAP32[7746]|0; + HEAP32[7789] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[7747]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[7746]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[7785] = $31; + HEAP32[7786] = $34; + } + } while(0); + $38 = HEAP32[7785]|0; + $39 = HEAP32[7786]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4107,$vararg_buffer3); + $40 = HEAP32[7785]|0; + $41 = HEAP32[7786]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[7785]|0; + $43 = HEAP32[7786]|0; + $44 = HEAP32[7749]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[7745] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4145,$vararg_buffer6); + } else { + _TraceLog(0,4178,$vararg_buffer8); + $55 = HEAP32[7788]|0; + $56 = HEAP32[7789]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4218,$vararg_buffer10); + $57 = HEAP32[7747]|0; + $58 = HEAP32[7746]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4239,$vararg_buffer14); + $59 = HEAP32[7790]|0; + $60 = HEAP32[7791]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,4260,$vararg_buffer18); + } + $61 = HEAP32[7745]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[7745]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[7745]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[7745]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[7745]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[7745]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[7745]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[7745]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[7745]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[35952]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[7747]|0; + $74 = HEAP32[7746]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7788]|0; + $76 = HEAP32[7790]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7789]|0; + $80 = HEAP32[7791]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,4285,$vararg_buffer22); + $73 = HEAP32[7747]|0; + $74 = HEAP32[7746]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7788]|0; + $76 = HEAP32[7790]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7789]|0; + $80 = HEAP32[7791]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 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, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(31044)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (28 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[31020>>2]=HEAP32[$1>>2]|0;HEAP32[31020+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[31020+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[31020+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[31020+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(31044)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(31048)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(31040)>>2] = $23; + $24 = HEAP32[7755]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3580,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(31024)>>2]|0; + $10 = HEAP32[(31044)>>2]|0; + $11 = HEAP32[(31048)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2076 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(31040)>>2] = $23; + $24 = HEAP32[7755]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3580,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer_12() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[1762] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 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 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,3513,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,3444,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,3437)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 14080; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (14088); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 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 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (31004 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 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; + $1 = ($0|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[1759] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,3393,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7750] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.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.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,3956,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[7763]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,3625,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[7764]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,3669,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[7765]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,3714,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[7766]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,3759,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[7767]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,3804,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[7763]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[7763]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[7763]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[7763]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[7764]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[7765]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[7765]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[7766]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[7766]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[7767]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[7767]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,3849,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[7768]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,3927,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,3878,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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, $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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.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; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4010,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + 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] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,7876,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[7747]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[7746]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[7788] = $3; + HEAP32[7789] = $5; + HEAP32[7790] = 0; + HEAP32[7791] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,7810,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[7747]|0; + $36 = (+($35|0)); + $37 = HEAP32[7746]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[7788] = $45; + HEAP32[7789] = $37; + $46 = (($45) - ($35))|0; + HEAP32[7790] = $46; + $$sink1 = 0; + } else { + HEAP32[7788] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[7789] = $42; + HEAP32[7790] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[7791] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[7746]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,7667,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[7747]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[7746]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[7788] = $23; + HEAP32[7789] = $1; + $24 = (($0) - ($23))|0; + HEAP32[7790] = $24; + $$sink = 0; + } else { + HEAP32[7788] = $0; + $17 = HEAP32[7746]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[7789] = $20; + HEAP32[7790] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[7791] = $$sink; + $25 = HEAP32[7788]|0; + $26 = (+($25|0)); + $27 = HEAP32[7747]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=31076; 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)); + HEAP32[7788] = $0; + HEAP32[7789] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,7745,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[7747] = $1; + HEAP32[7746] = $2; + HEAP32[7788] = $1; + HEAP32[7789] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($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, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[744]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (35959 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[743] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 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.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (35953 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 14080; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[743] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[8161] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[8160] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,4308,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,4326,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,4344,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,4362,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,4380)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,4382,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,4417)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[7826] = 1; + $27 = (_eglGetProcAddress((4444|0))|0); + HEAP32[7827] = $27; + $28 = (_eglGetProcAddress((4465|0))|0); + HEAP32[7828] = $28; + $29 = (_eglGetProcAddress((4486|0))|0); + HEAP32[7829] = $29; + } + $30 = (_strcmp($24,4510)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[7768] = 1; + } + $32 = (_strcmp($24,4530)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,4562)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,4595)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[7763] = 1; + } + $39 = (_strcmp($24,4635)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4671)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[7764] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4704)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[7765] = 1; + } + $47 = (_strcmp($44,4729)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[7766] = 1; + } + $49 = (_strcmp($44,4762)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[7767] = 1; + } + $51 = (_strcmp($44,4798)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[7830] = 1; + _glGetFloatv(34047,(31324|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,4832)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[7832] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[7826]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,4935,$vararg_buffer15); + } else { + _TraceLog(0,4860,$vararg_buffer13); + } + $57 = HEAP32[7768]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5071,$vararg_buffer19); + } else { + _TraceLog(0,4996,$vararg_buffer17); + } + $59 = HEAP32[7763]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5163,$vararg_buffer21); + } + $61 = HEAP32[7764]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5209,$vararg_buffer23); + } + $63 = HEAP32[7765]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,5256,$vararg_buffer25); + } + $65 = HEAP32[7766]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,5307,$vararg_buffer27); + } + $67 = HEAP32[7767]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,5354,$vararg_buffer29); + } + $69 = HEAP32[7830]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[7831]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,5401,$vararg_buffer31); + } + $73 = HEAP32[7832]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,5467,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[7833] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,5571,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,5520,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=31336; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=31392; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[7862] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[7862]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[7863] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[7864] = 1; + $85 = HEAP32[7833]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[7865] = 4; + _MatrixIdentity($4); + dest=31464; src=$4; 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)); + _MatrixIdentity($4); + dest=(31528); src=$4; 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)); + _MatrixIdentity($4); + dest=(31592); src=$4; 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)); + _MatrixIdentity($4); + dest=(31656); src=$4; 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)); + _MatrixIdentity($4); + dest=(31720); src=$4; 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)); + _MatrixIdentity($4); + dest=(31784); src=$4; 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)); + _MatrixIdentity($4); + dest=(31848); src=$4; 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)); + _MatrixIdentity($4); + dest=(31912); src=$4; 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)); + _MatrixIdentity($4); + dest=(31976); src=$4; 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)); + _MatrixIdentity($4); + dest=(32040); src=$4; 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)); + _MatrixIdentity($4); + dest=(32104); src=$4; 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)); + _MatrixIdentity($4); + dest=(32168); src=$4; 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)); + _MatrixIdentity($4); + dest=(32232); src=$4; 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)); + _MatrixIdentity($4); + dest=(32296); src=$4; 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)); + _MatrixIdentity($4); + dest=(32360); src=$4; 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)); + _MatrixIdentity($4); + dest=(32424); src=$4; 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)); + _MatrixIdentity($5); + dest=31172; src=$5; 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)); + _MatrixIdentity($6); + dest=31236; src=$6; 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)); + HEAP32[7792] = 31236; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[8122] = $0; + HEAP32[8123] = $1; + _TraceLog(0,5610,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7790]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[7791]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[7788]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[7789]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 31172; + label = 3; + break; + } + case 5888: { + $modelview$sink = 31236; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[7792] = $modelview$sink; + } + HEAP32[7825] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 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); + $0 = sp; + $1 = HEAP32[7792]|0; + _MatrixIdentity($0); + dest=$1; src=$0; 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)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[7792]|0; + dest=$$byval_copy; src=$8; 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)); + dest=$$byval_copy1; src=$6; 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)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; 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)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6186|0),489)|0; + _memcpy(($3|0),(6675|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7164,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7116,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|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 _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 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, $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 = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(32508)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(32516)>>2] = $1; + HEAP32[(32512)>>2] = 0; + HEAP32[(32520)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(32516)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[8124] = 0; + HEAP32[(32504)>>2] = 0; + HEAP32[(32500)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(32556)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(32564)>>2] = $6; + HEAP32[(32560)>>2] = 0; + HEAP32[(32568)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(32564)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[8136] = 0; + HEAP32[(32552)>>2] = 0; + HEAP32[(32548)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(32604)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(32608)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(32612)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(32616)>>2] = $13; + $14 = HEAP32[(32604)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(32608)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(32612)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(32616)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[8148] = 0; + HEAP32[(32596)>>2] = 0; + HEAP32[(32600)>>2] = 0; + _TraceLog(0,5657,$vararg_buffer); + $20 = HEAP32[7826]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[7827]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32524)); + $44 = HEAP32[7828]|0; + $45 = HEAP32[(32524)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((32528)|0)); + $46 = HEAP32[(32528)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(32508)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(31396)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(31396)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((32532)|0)); + $50 = HEAP32[(32532)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(32516)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(31416)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(31416)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[7826]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(32528)>>2]|0; + $58 = HEAP32[(32532)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,5795,$vararg_buffer3); + } else { + $56 = HEAP32[(32524)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,5730,$vararg_buffer1); + } + $59 = HEAP32[7826]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[7827]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32572)); + $62 = HEAP32[7828]|0; + $63 = HEAP32[(32572)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((32576)|0)); + $64 = HEAP32[(32576)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(32556)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(31396)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(31396)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32580)|0)); + $68 = HEAP32[(32580)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(32564)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(31416)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(31416)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[7826]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(32576)>>2]|0; + $76 = HEAP32[(32580)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,5941,$vararg_buffer10); + } else { + $74 = HEAP32[(32572)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,5872,$vararg_buffer7); + } + $77 = HEAP32[7826]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[7827]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32620)); + $80 = HEAP32[7828]|0; + $81 = HEAP32[(32620)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((32624)|0)); + $82 = HEAP32[(32624)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(32604)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(31396)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(31396)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32628)|0)); + $86 = HEAP32[(32628)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(32608)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(31400)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(31400)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((32632)|0)); + $90 = HEAP32[(32632)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(32612)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(31416)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(31416)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((32636)|0)); + $94 = HEAP32[(32636)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(32616)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[7826]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(32624)>>2]|0; + $100 = HEAP32[(32628)>>2]|0; + $101 = HEAP32[(32632)>>2]|0; + $102 = HEAP32[(32636)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6087,$vararg_buffer17); + } else { + $98 = HEAP32[(32620)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6022,$vararg_buffer14); + } + $103 = HEAP32[7826]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[7828]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|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; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,7420,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,7368,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,7417,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,7521,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,7470,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,7417,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7212|0)); + _glBindAttribLocation(($20|0),1,(7227|0)); + _glBindAttribLocation(($20|0),2,(7258|0)); + _glBindAttribLocation(($20|0),3,(7285|0)); + _glBindAttribLocation(($20|0),4,(7271|0)); + _glBindAttribLocation(($20|0),5,(7242|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,7573,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,7417,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,7619,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7212|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7227|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7242|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(7258|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(7271|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(7285|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(7297|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(7307|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(7318|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(7329|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(7341|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(7350|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(7359|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35953 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (35956 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35953 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (35956 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[7745]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,7931,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[31020>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[31020+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[31020+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[31020+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[31020+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(31048)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(31332|0)); + $0 = HEAP32[7833]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,7958,$vararg_buffer); + $1 = HEAP32[7863]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[7834]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + 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; + $0 = HEAP32[7826]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[7828]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((32528)|0)); + _glDeleteBuffers(1,((32532)|0)); + _glDeleteBuffers(1,((32576)|0)); + _glDeleteBuffers(1,((32580)|0)); + _glDeleteBuffers(1,((32624)|0)); + _glDeleteBuffers(1,((32628)|0)); + _glDeleteBuffers(1,((32632)|0)); + _glDeleteBuffers(1,((32636)|0)); + $3 = HEAP32[7826]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32524)); + $6 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32572)); + $7 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32620)); + } + $8 = HEAP32[(32508)>>2]|0; + _free($8); + $9 = HEAP32[(32516)>>2]|0; + _free($9); + $10 = HEAP32[(32556)>>2]|0; + _free($10); + $11 = HEAP32[(32564)>>2]|0; + _free($11); + $12 = HEAP32[(32604)>>2]|0; + _free($12); + $13 = HEAP32[(32608)>>2]|0; + _free($13); + $14 = HEAP32[(32612)>>2]|0; + _free($14); + $15 = HEAP32[(32616)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $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; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8023,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 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); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[1779] = $0; + $1 = +HEAPF64[1762]; + $2 = $0 - $1; + HEAPF64[1780] = $2; + HEAPF64[1762] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=31076; 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)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(32648); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[8162] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(32652)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(32656)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(32660)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(32664)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(32668)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(32672)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(32676)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(32680)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(32684)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(32688)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(32692)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(32696)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(32700)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(32704)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(32708)>>2] = $31; + return (32648|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[7792]|0; + dest=$$byval_copy; src=$49; 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)); + dest=$$byval_copy1; src=$1; 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)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; 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)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[1779] = $0; + $1 = +HEAPF64[1762]; + $2 = $0 - $1; + HEAPF64[1781] = $2; + HEAPF64[1762] = $0; + $3 = +HEAPF64[1780]; + $4 = $2 + $3; + HEAPF64[1782] = $4; + $5 = +HEAPF64[1759]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[1779] = $10; + $11 = +HEAPF64[1762]; + $12 = $10 - $11; + HEAPF64[1762] = $10; + $13 = +HEAPF64[1782]; + $14 = $12 + $13; + HEAPF64[1782] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7745]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[743] = -1; + HEAP32[745] = -1; + HEAP32[8178] = 0; + $3 = HEAP32[7745]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[3516] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(14068)>>2] = $7; + _memcpy((36471|0),(35959|0),512)|0; + ;HEAP8[35956>>0]=HEAP8[35953>>0]|0;HEAP8[35956+1>>0]=HEAP8[35953+1>>0]|0;HEAP8[35956+2>>0]=HEAP8[35953+2>>0]|0; + $8 = HEAP32[8161]|0; + HEAP32[7748] = $8; + HEAP32[8161] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (36983 + ($$05160<<5)|0); + $scevgep67 = (37111 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; 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)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((37111 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[745] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((32716 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[8178] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $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, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8124]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[7826]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[7828]|0; + $5 = HEAP32[(32524)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(32528)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[8124]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(32508)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(32532)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(32504)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(32516)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[8136]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[7826]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[7828]|0; + $19 = HEAP32[(32572)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(32576)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[8136]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(32556)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(32580)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(32552)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(32564)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[8148]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[7826]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[7828]|0; + $33 = HEAP32[(32620)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(32624)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[8148]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(32604)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(32628)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[8148]|0; + $40 = $39 << 3; + $41 = HEAP32[(32608)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(32632)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[8148]|0; + $44 = $43 << 2; + $45 = HEAP32[(32612)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[7826]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[7828]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 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; + 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, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=31172; 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)); + dest=$1; src=31236; 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)); + $3 = HEAP32[8211]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; 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)); + dest=$$byval_copy2; src=$1; 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)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[8124]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[8136]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[8148]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[7848]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=31236; 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)); + dest=$$byval_copy2; src=31172; 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)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(31420)>>2]|0; + dest=$$byval_copy2; 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)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(31424)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(31436)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[8124]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[7833]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[7826]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(32528)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(31396)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(31396)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(32532)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(31416)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(31416)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[7828]|0; + $25 = HEAP32[(32524)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[8124]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[7826]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[8136]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[7833]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[7826]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(32576)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(31396)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(31396)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(32580)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(31416)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(31416)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[7828]|0; + $41 = HEAP32[(32572)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[8136]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[7826]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[8148]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[7826]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(32624)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(31396)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(31396)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(32628)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(31400)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(31400)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(32632)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(31416)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(31416)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(32636)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[7828]|0; + $56 = HEAP32[(32620)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[7864]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[7863]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[7863]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[7864]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[7826]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[7826]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[7828]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[7864] = 1; + $5 = HEAP32[7833]|0; + $6 = HEAP32[7863]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[8124] = 0; + HEAP32[(32504)>>2] = 0; + HEAP32[8136] = 0; + HEAP32[(32552)>>2] = 0; + HEAP32[8148] = 0; + HEAP32[(32596)>>2] = 0; + HEAP32[(32600)>>2] = 0; + HEAPF32[746] = -1.0; + dest=31172; src=$0; 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)); + dest=31236; src=$1; 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)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $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 + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; 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)); + $5 = HEAP32[8122]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[8123]|0; + _rlViewport($7,0,$8,$9); + $10 = (33076 + ($0<<6)|0); + dest=$$byval_copy; 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)); + dest=$$byval_copy3; src=$10; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (32948 + ($0<<6)|0); + dest=$3; src=$11; 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)); + dest=$$byval_copy3; src=$4; 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)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; 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)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31236; src=$0; 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)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31172; src=$0; 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)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 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; + $0 = HEAP32[8301]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8073,$vararg_buffer); + } + $2 = HEAP32[8301]|0; + $3 = (31464 + ($2<<6)|0); + $4 = HEAP32[7792]|0; + dest=$3; src=$4; 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)); + _rlLoadIdentity(); + $5 = HEAP32[8301]|0; + $6 = (($5) + 1)|0; + HEAP32[8301] = $6; + $7 = HEAP32[7825]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[8302] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8301]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[8301]|0; + $3 = (($2) + -1)|0; + $4 = (31464 + ($3<<6)|0); + $5 = HEAP32[7792]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[8301] = $6; + return; +} +function _GetFPS() { + var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_GetFrameTime()); + $1 = 1.0 / $0; + $2 = (~~(($1))); + return ($2|0); +} +function _GetFrameTime() { + var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1782]; + $1 = $0; + return (+$1); +} +function _SetConfigFlags($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP8[35952] = $0; + $1 = $0 & 1; + $2 = ($1<<24>>24)==(0); + if (!($2)) { + HEAP32[7750] = 1; + } + $3 = HEAP8[35952]|0; + $4 = $3 & 2; + $5 = ($4<<24>>24)==(0); + if ($5) { + return; + } + HEAP32[7787] = 1; + return; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35959 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (36471 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[7792]|0; + dest=$$byval_copy; src=$5; 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)); + dest=$$byval_copy1; src=$3; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; 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)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 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 + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; 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)); + _MatrixTranspose($4); + $11 = HEAP32[7792]|0; + dest=$$byval_copy1; src=$11; 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)); + dest=$$byval_copy2; src=$4; 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)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; 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)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7865] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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.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.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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; + 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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 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); + $$byval_copy = sp; + $0 = HEAP32[8302]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[8303]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[7862]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[7792]|0; + dest=$$byval_copy; src=$8; 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)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[8303]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[8302] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[7862]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[8303]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[8302] = 0; + } + HEAP32[8303] = 0; + } + $21 = HEAP32[7865]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[8124]|0; + $23 = HEAP32[(32504)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(32516)>>2]|0; + $28 = HEAP32[(32504)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(32516)>>2]|0; + $35 = HEAP32[(32504)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(32516)>>2]|0; + $43 = HEAP32[(32504)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(32516)>>2]|0; + $51 = HEAP32[(32504)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(32504)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(32504)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[8136]|0; + $62 = HEAP32[(32552)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(32564)>>2]|0; + $67 = HEAP32[(32552)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(32564)>>2]|0; + $74 = HEAP32[(32552)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(32564)>>2]|0; + $82 = HEAP32[(32552)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(32564)>>2]|0; + $90 = HEAP32[(32552)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(32552)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(32552)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[8148]|0; + $101 = HEAP32[(32600)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(32612)>>2]|0; + $106 = HEAP32[(32600)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(32612)>>2]|0; + $113 = HEAP32[(32600)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(32612)>>2]|0; + $121 = HEAP32[(32600)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(32612)>>2]|0; + $129 = HEAP32[(32600)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(32600)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(32600)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[8148]|0; + $140 = HEAP32[(32596)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(32608)>>2]|0; + $$promoted = HEAP32[(32596)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(32596)>>2] = $147; + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + 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, $45 = 0, $46 = 0, $47 = 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; + $3 = HEAP32[8302]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7862]|0; + $6 = HEAP32[8303]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[8303] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[7865]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[8124]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(32508)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[8124] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8111,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[8136]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(32556)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[8136] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8136,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[8148]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(32604)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[8148] = $41; + $42 = HEAP32[7863]|0; + $43 = HEAP32[7864]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8165,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[746]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[7865]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(32608)>>2]|0; + $5 = HEAP32[(32596)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(32596)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[7865]|0; + switch ($4|0) { + case 1: { + $$sink37 = (32504);$$sink38 = (32516); + break; + } + case 4: { + $$sink37 = (32552);$$sink38 = (32564); + break; + } + case 7: { + $$sink37 = (32600);$$sink38 = (32612); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($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 = HEAP32[7863]|0; + $2 = HEAP32[7864]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[7864] = $10; + } + $11 = HEAP32[7864]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8148]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _DrawLineV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $3 = HEAP8[$2>>0]|0; + $4 = ((($2)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($2)) + 2|0); + $7 = HEAP8[$6>>0]|0; + $8 = ((($2)) + 3|0); + $9 = HEAP8[$8>>0]|0; + _rlColor4ub($3,$5,$7,$9); + $10 = +HEAPF32[$0>>2]; + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + _rlVertex2f($10,$12); + $13 = +HEAPF32[$1>>2]; + $14 = ((($1)) + 4|0); + $15 = +HEAPF32[$14>>2]; + _rlVertex2f($13,$15); + _rlEnd(); + return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[31020>>2]|0;HEAP32[$0+4>>2]=HEAP32[31020+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[31020+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[31020+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[31020+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[31020+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[31020+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[31020+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 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; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|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.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.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.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($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; + (_vsprintf(37239,$0,$1)|0); + STACKTOP = sp;return (37239|0); +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _DrawFPS($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $$sink = 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); + $$byval_copy = sp; + $2 = sp + 4|0; + $3 = HEAP32[8304]|0; + $4 = HEAP32[747]|0; + $5 = ($3|0)<($4|0); + if ($5) { + $6 = (($3) + 1)|0; + $$sink = $6; + } else { + $7 = (_GetFPS()|0); + HEAP32[8305] = $7; + HEAP32[747] = $7; + $$sink = 0; + } + HEAP32[8304] = $$sink; + $8 = HEAP32[8305]|0; + HEAP32[$$byval_copy>>2] = $8; + (_FormatText(8190,$$byval_copy)|0); + HEAP8[$2>>0] = 0; + $9 = ((($2)) + 1|0); + HEAP8[$9>>0] = -98; + $10 = ((($2)) + 2|0); + HEAP8[$10>>0] = 47; + $11 = ((($2)) + 3|0); + HEAP8[$11>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; + _DrawText(37239,$0,$1,20,$$byval_copy); + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($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, $398 = 0, $399 = 0, $4 = 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, $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; + var $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, $53 = 0, $530 = 0; + var $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, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,8198)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,8202)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,8206)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,8210)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,8216)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,8254)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 8273; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,8286)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 8307; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,8322)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 8337; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,8352)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 8367; + } + } else { + HEAP32[$3>>2] = 8238; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,8382)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,8396)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,8408)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,8422)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,8434)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,8448)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,8462)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,8479)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,8502)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,8528)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,8541)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,8557)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,8570)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,8584)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,8604)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,8624)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,8641)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,8658)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,8670)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,8683)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,8699)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,8722)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,8735)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,8751)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,8762)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,8781)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,8803)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,8822)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,8851)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,8868)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,8883)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,8898)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,8919)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,8939)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,8959)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,8985)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,9004)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,9016)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,9028)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,9040)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,9052)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,9064)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,9076)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,9088)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,9100)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,9113)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,9126)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,9139)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,9152)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,9165)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,9178)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,9191)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,9204)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,9223)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,9242)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,9261)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,9274)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,9292)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,9310)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,9328)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,9346)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,9366)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,8307)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,9384)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,9399)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,9420)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,9435)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,9453)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,9469)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,9488)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,9502)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,9517)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,8238)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,9528)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,8337)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,8367)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,9544)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,9571)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,9585)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,8273)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,9605)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,9623)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,9635)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,9656)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,9674)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,9692)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,9713)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,9739)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,9762)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,9800)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,9816)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,9831)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,9854)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,9867)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,9881)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,9895)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,9915)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,9935)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,9951)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,9969)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,9985)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,10000)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,10022)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,10040)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,10061)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,10079)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,10092)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,10107)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,10121)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,10131)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,10141)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,10163)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,10189)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,10216)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,10229)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,10244)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,10259)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,10283)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,10294)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,10316)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,10338)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,10362)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,10371)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,10379)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,10392)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,10406)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,10418)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,10427)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,10437)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,10449)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,10460)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,10468)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,10480)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,10495)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,10507)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,10521)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,10546)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,10563)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,10579)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,10595)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,10607)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,10619)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,10643)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,10656)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,10670)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,10692)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,10699)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,10715)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,10732)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,10749)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,10765)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,10781)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,10798)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,10812)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,10824)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,10835)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,10848)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,10858)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,10875)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,10887)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,10909)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,10929)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,10942)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,10964)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,10984)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,11001)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,11018)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,11038)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (33224|0); +} +function ___emscripten_pthread_data_constructor() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 188|0); + HEAP32[$1>>2] = (33264); + return; +} +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_736($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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 + 16|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $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;$26 = $17; + while(1) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _dummy_736($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] = 9; + $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 _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 _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 _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 _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$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; + var $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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=3124; 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); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|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 = 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, $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, $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 + 120|0; + $4 = sp + 80|0; + $5 = sp; + $6 = sp + 136|0; + 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 = (Atomics_load(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 & 15]($0,0,0)|0); + $33 = HEAP32[$26>>2]|0; + $34 = ($33|0)==(0|0); + $$ = $34 ? -1 : $29; + HEAP32[$23>>2] = $24; + HEAP32[$19>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $$1 = $$; + } + } else { + $22 = (_printf_core($0,$1,$3,$5,$4)|0); + $$1 = $22; + } + $35 = HEAP32[$0>>2]|0; + $36 = $35 & 32; + $37 = ($36|0)==(0); + $$1$ = $37 ? $$1 : -1; + $38 = $35 | $14; + HEAP32[$0>>2] = $38; + $39 = ($40|0)==(0); + if (!($39)) { + ___unlockfile($0); + } + $$0 = $$1$; + } + 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, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 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.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, $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 $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 20|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 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; + L1: 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 = HEAP8[$21>>0]|0; + $22 = ($20<<24>>24)==(0); + if ($22) { + label = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $25;$27 = $25; + label = 9; + break L9; + break; + } + case 0: { + $$0249$lcssa = $25;$39 = $25; + break L9; + break; + } + default: { + } + } + $24 = ((($25)) + 1|0); + HEAP32[$5>>2] = $24; + $$pre = HEAP8[$24>>0]|0; + $23 = $$pre;$25 = $24; + } + L12: do { + if ((label|0) == 9) { + while(1) { + label = 0; + $26 = ((($27)) + 1|0); + $28 = HEAP8[$26>>0]|0; + $29 = ($28<<24>>24)==(37); + if (!($29)) { + $$0249$lcssa = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $30;$27 = $31; + label = 9; + } else { + $$0249$lcssa = $30;$39 = $31; + break; + } + } + } + } while(0); + $34 = $$0249$lcssa; + $35 = $21; + $36 = (($34) - ($35))|0; + if ($10) { + _out($0,$21,$36); + } + $37 = ($36|0)==(0); + if (!($37)) { + $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; + continue; + } + $38 = ((($39)) + 1|0); + $40 = HEAP8[$38>>0]|0; + $41 = $40 << 24 >> 24; + $isdigittmp = (($41) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $42 = ((($39)) + 2|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)==(36); + $45 = ((($39)) + 3|0); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } else { + $$0253 = -1;$$1270 = $$0269;$storemerge = $38; + } + HEAP32[$5>>2] = $storemerge; + $46 = HEAP8[$storemerge>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($47) + -32)|0; + $49 = ($48>>>0)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((11154 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 11618;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 11618;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11618 : (11620); + $$$ = $238 ? $$ : (11619); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 11618;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 11618;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 11628; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_672($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11618;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (11618 + ($208)|0); + $$289 = $or$cond283 ? 11618 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 11618;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_672($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; + $$0228$ = $or$cond ? $$0228 : $11; + $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; + } + else if ((label|0) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_672($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_672($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_672($0,48,$$2261,$312,$314); + _pad_672($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_672($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } else { + $$0 = $$1248; + } + } + } while(0); + STACKTOP = sp;return ($$0|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 _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, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $isdigittmp4 = (($3) + -48)|0; + $isdigit5 = ($isdigittmp4>>>0)<(10); + if ($isdigit5) { + $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; + while(1) { + $4 = ($$06*10)|0; + $5 = (($isdigittmp7) + ($4))|0; + $6 = ((($7)) + 1|0); + HEAP32[$0>>2] = $6; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $isdigittmp = (($9) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; + } else { + $$0$lcssa = $5; + break; + } + } + } else { + $$0$lcssa = 0; + } + 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 = (11670 + ($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, $3 = 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 = (___uremdi3(($8|0),($9|0),10,0)|0); + $11 = tempRet0; + $12 = $10&255; + $13 = $12 | 48; + $14 = ((($$0914)) + -1|0); + HEAP8[$14>>0] = $13; + $15 = (___udivdi3(($8|0),($9|0),10,0)|0); + $16 = tempRet0; + $17 = ($9>>>0)>(9); + $18 = ($8>>>0)>(4294967295); + $19 = ($9|0)==(9); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $$0914 = $14;$8 = $15;$9 = $16; + } else { + break; + } + } + $$010$lcssa$off0 = $15;$$09$lcssa = $14; + } else { + $$010$lcssa$off0 = $0;$$09$lcssa = $2; + } + $22 = ($$010$lcssa$off0|0)==(0); + if ($22) { + $$1$lcssa = $$09$lcssa; + } else { + $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; + while(1) { + $23 = (($$012>>>0) % 10)&-1; + $24 = $23 | 48; + $25 = $24&255; + $26 = ((($$111)) + -1|0); + HEAP8[$26>>0] = $25; + $27 = (($$012>>>0) / 10)&-1; + $28 = ($$012>>>0)<(10); + if ($28) { + $$1$lcssa = $26; + break; + } else { + $$012 = $27;$$111 = $26; + } + } + } + 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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 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 { + $$2 = $$035$lcssa;$$3 = 0; + } + } + L8: do { + if ((label|0) == 6) { + $17 = HEAP8[$$035$lcssa65>>0]|0; + $18 = $1&255; + $19 = ($17<<24>>24)==($18<<24>>24); + if ($19) { + $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; + } else { + $20 = Math_imul($3, 16843009)|0; + $21 = ($$036$lcssa64>>>0)>(3); + L11: 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)) { + break; + } + $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 L11; + } + } + $$140 = $$046;$$23839 = $$13745; + } else { + $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; + label = 11; + } + } while(0); + if ((label|0) == 11) { + $32 = ($$137$lcssa|0)==(0); + if ($32) { + $$2 = $$0$lcssa;$$3 = 0; + break; + } else { + $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + } + } + while(1) { + $33 = HEAP8[$$140>>0]|0; + $34 = ($33<<24>>24)==($18<<24>>24); + if ($34) { + $$2 = $$140;$$3 = $$23839; + break L8; + } + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; + break; + } else { + $$140 = $35;$$23839 = $36; + } + } + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_672($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, $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 = ($9>>>0)<(256); + $11 = $10 ? $9 : 256; + _memset(($5|0),($1|0),($11|0))|0; + $12 = ($9>>>0)>(255); + if ($12) { + $13 = (($2) - ($3))|0; + $$011 = $9; + while(1) { + _out($0,$5,256); + $14 = (($$011) + -256)|0; + $15 = ($14>>>0)>(255); + if ($15) { + $$011 = $14; + } else { + break; + } + } + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; + } + _out($0,$5,$$0$lcssa); + } + STACKTOP = sp;return; +} +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 _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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.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.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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $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.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $387 = 0, $388 = 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.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.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 $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 524|0; + $9 = $8; + $10 = sp + 512|0; + HEAP32[$7>>2] = 0; + $11 = ((($10)) + 12|0); + (___DOUBLE_BITS_673($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11635; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11636) : (11641); + $$$ = $16 ? $$ : (11638); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_673($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (11670 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $85 = $84&255; + $86 = ((($$0523)) + 1|0); + HEAP8[$$0523>>0] = $85; + $87 = (+($80|0)); + $88 = $$2473 - $87; + $89 = $88 * 16.0; + $90 = $86; + $91 = (($90) - ($9))|0; + $92 = ($91|0)==(1); + if ($92) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_672($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_672($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_672($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_672($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$3501$lcssa; + $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; + } else { + $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; + } + $$7505 = $$7505$ph; + while(1) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_672($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_672($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11686,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_672($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,11686,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_672($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_672($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11654 : 11658; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11662 : 11666; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_672($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_672($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_673($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 _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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_446()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = (Atomics_load(HEAP32,$8>>2)|0); + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_446() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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, $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 label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; + while(1) { + $3 = (11688 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; + break; + } + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); + if ($8) { + $$01214 = 11776;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 11776; + } else { + $$01214 = 11776;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$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; + label = 5; + } + } + } + $14 = ((($1)) + 20|0); + $15 = (Atomics_load(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 $$ = 0, $$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; + 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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 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); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$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); + $$ = $61 ? $57 : 0; + $$4 = $$; + } 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 $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); +} +function ___fwritex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var 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 & 15]($2,$0,$1)|0); + $$1 = $17; + break; + } + $18 = ((($2)) + 75|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)>(-1); + L10: do { + if ($20) { + $$038 = $1; + while(1) { + $21 = ($$038|0)==(0); + if ($21) { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + break L10; + } + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; + } else { + $$038 = $22; + } + } + $26 = ((($2)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); + $29 = ($28>>>0)<($$038>>>0); + if ($29) { + $$1 = $28; + break L5; + } + $30 = (($0) + ($$038)|0); + $$042 = (($1) - ($$038))|0; + $$pre47 = HEAP32[$9>>2]|0; + $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; + } else { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + } + } while(0); + _memcpy(($31|0),($$141|0),($$143|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($32) + ($$143)|0); + HEAP32[$9>>2] = $33; + $34 = (($$139) + ($$143))|0; + $$1 = $34; + } + } 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 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 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|0); +} +function _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 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; + var $21 = 0, $22 = 0, $23 = 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 = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; + } else { + $$01519 = $6;$23 = $7; + } + } + } + } while(0); + if ((label|0) == 4) { + $$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 { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; + } else { + $$pn = $19; + } + } + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|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 ___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) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<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 _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, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 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) { + $$029 = $$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$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33288|0)); + return (33296|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33288|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 = (Atomics_load(HEAP32,780)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = (Atomics_load(HEAP32,780)|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 = (Atomics_load(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 = (Atomics_load(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 & 15]($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 & 15]($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 _strstr($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, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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 label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 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, $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, $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, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;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;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 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]=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;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 14264; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[748]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;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;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = HEAP32[8325]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[8325] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8325] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8325] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8325] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function __emscripten_atomic_fetch_and_add_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_and_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_or_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_sub_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_xor_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function _emscripten_async_run_in_main_thread($0) { + $0 = $0|0; + var $$0 = 0, $$0$in = 0, $$0$in19 = 0, $$0$lcssa = 0, $$020 = 0, $$expand_i1_val = 0, $$lcssa = 0, $$lcssa18 = 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, $call_queue$init$val = 0, $call_queue$init$val$pre_trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + ___assert_fail((13870|0),(13702|0),260,(13875|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + if (!($3)) { + __do_call($0); + return; + } + (___pthread_mutex_lock(33820)|0); + $call_queue$init$val$pre_trunc = HEAP8[38335]|0; + $call_queue$init$val = $call_queue$init$val$pre_trunc&1; + if (!($call_queue$init$val)) { + $$expand_i1_val = 1; + HEAP8[38335] = $$expand_i1_val; + } + $4 = (Atomics_load(HEAP32, 8462)|0); + $5 = (Atomics_load(HEAP32, 8463)|0); + $$0$in19 = (($5) + 1)|0; + $$020 = (($$0$in19|0) % 128)&-1; + $6 = ($$020|0)==($4|0); + if ($6) { + $7 = $4; + while(1) { + (___pthread_mutex_unlock(33820)|0); + (_emscripten_futex_wait((33848|0),($7|0),inf)|0); + (___pthread_mutex_lock(33820)|0); + $8 = (Atomics_load(HEAP32, 8462)|0); + $9 = (Atomics_load(HEAP32, 8463)|0); + $$0$in = (($9) + 1)|0; + $$0 = (($$0$in|0) % 128)&-1; + $10 = ($$0|0)==($8|0); + if ($10) { + $7 = $8; + } else { + $$0$lcssa = $$0;$$lcssa = $9;$$lcssa18 = $8; + break; + } + } + } else { + $$0$lcssa = $$020;$$lcssa = $5;$$lcssa18 = $4; + } + $11 = (33856 + ($$lcssa<<2)|0); + HEAP32[$11>>2] = $0; + $12 = ($$lcssa18|0)==($$lcssa|0); + if ($12) { + _emscripten_asm_const_v(1); + } + $13 = (Atomics_store(HEAP32, 8463, $$0$lcssa)|0); + (___pthread_mutex_unlock(33820)|0); + return; +} +function _emscripten_atomic_add_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_and_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_cas_u64($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, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $0; + $6 = $5 >>> 3; + $7 = $6 & 255; + $8 = (34376 + ($7<<2)|0); + while(1) { + while(1) { + $9 = (Atomics_load(HEAP32, $8>>2)|0); + $10 = (Atomics_compareExchange(HEAP32, $8>>2, $9, 1)|0); + $11 = ($9|0)==($10|0); + if ($11) { + break; + } + } + $12 = ($9|0)==(0); + if ($12) { + break; + } + } + $13 = $0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)==($1|0); + $20 = ($18|0)==($2|0); + $21 = $19 & $20; + if (!($21)) { + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); + } + $22 = $0; + $23 = $22; + HEAP32[$23>>2] = $3; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $4; + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); +} +function _emscripten_atomic_exchange_u32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + while(1) { + $2 = (Atomics_load(HEAP32, $0>>2)|0); + $3 = (Atomics_compareExchange(HEAP32, $0>>2, $2, $1)|0); + $4 = ($2|0)==($3|0); + if ($4) { + break; + } + } + return ($2|0); +} +function _emscripten_atomic_exchange_u64($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, label = 0; + var sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $0; + $18 = $17; + HEAP32[$18>>2] = $1; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $2; + $21 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function _emscripten_atomic_load_f32($0) { + $0 = $0|0; + var $1 = 0, $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (Atomics_load(HEAP32, $0>>2)|0); + $2 = (HEAP32[tempDoublePtr>>2]=$1,+HEAPF32[tempDoublePtr>>2]); + return (+$2); +} +function _emscripten_atomic_load_f64($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.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34376 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } + } + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = +HEAPF64[$0>>3]; + $10 = (Atomics_store(HEAP32, $4>>2, 0)|0); + return (+$9); +} +function _emscripten_atomic_load_u64($0) { + $0 = $0|0; + var $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; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34376 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } + } + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = $0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (Atomics_store(HEAP32, $4>>2, 0)|0); + tempRet0 = ($14); + return ($11|0); +} +function _emscripten_atomic_or_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_store_f32($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (HEAPF32[tempDoublePtr>>2]=$1,HEAP32[tempDoublePtr>>2]|0); + $3 = (Atomics_store(HEAP32, $0>>2, $2)|0); + $4 = (+($3>>>0)); + return (+$4); +} +function _emscripten_atomic_store_f64($0,$1) { + $0 = $0|0; + $1 = +$1; + var $10 = 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; + $3 = $2 >>> 3; + $4 = $3 & 255; + $5 = (34376 + ($4<<2)|0); + while(1) { + while(1) { + $6 = (Atomics_load(HEAP32, $5>>2)|0); + $7 = (Atomics_compareExchange(HEAP32, $5>>2, $6, 1)|0); + $8 = ($6|0)==($7|0); + if ($8) { + break; + } + } + $9 = ($6|0)==(0); + if ($9) { + break; + } + } + HEAPF64[$0>>3] = $1; + $10 = (Atomics_store(HEAP32, $5>>2, 0)|0); + return (+$1); +} +function _emscripten_atomic_store_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + HEAP32[$12>>2] = $1; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($2); + return ($1|0); +} +function _emscripten_atomic_sub_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_xor_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_main_thread_process_queued_calls() { + var $$0910 = 0, $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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_emscripten_is_main_runtime_thread()|0); + $1 = ($0|0)==(0); + if ($1) { + ___assert_fail((13580|0),(13702|0),424,(13766|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + $4 = HEAP32[8454]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + return; + } + HEAP32[8454] = 1; + (___pthread_mutex_lock(33820)|0); + $6 = (Atomics_load(HEAP32, 8462)|0); + $7 = (Atomics_load(HEAP32, 8463)|0); + $8 = ($6|0)==($7|0); + (___pthread_mutex_unlock(33820)|0); + if (!($8)) { + $$0910 = $6; + while(1) { + $9 = (33856 + ($$0910<<2)|0); + $10 = HEAP32[$9>>2]|0; + __do_call($10); + (___pthread_mutex_lock(33820)|0); + $11 = (($$0910) + 1)|0; + $12 = (($11|0) % 128)&-1; + $13 = (Atomics_store(HEAP32, 8462, $12)|0); + $14 = (Atomics_load(HEAP32, 8463)|0); + $15 = ($12|0)==($14|0); + (___pthread_mutex_unlock(33820)|0); + if ($15) { + break; + } else { + $$0910 = $12; + } + } + } + (_emscripten_futex_wake((33848|0),2147483647)|0); + HEAP32[8454] = 0; + return; +} +function _emscripten_sync_run_in_main_thread($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + _emscripten_async_run_in_main_thread($0); + (_emscripten_wait_for_call_v($0,inf)|0); + return; +} +function _emscripten_sync_run_in_main_thread_0($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $1 = sp; + dest=$1; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$1>>2] = $0; + $2 = ((($1)) + 80|0); + HEAP32[$2>>2] = 0; + _emscripten_async_run_in_main_thread($1); + (_emscripten_wait_for_call_v($1,inf)|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _emscripten_sync_run_in_main_thread_1($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $2 = sp; + dest=$2; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$2>>2] = $0; + $3 = ((($2)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($2)) + 80|0); + HEAP32[$4>>2] = 0; + _emscripten_async_run_in_main_thread($2); + (_emscripten_wait_for_call_v($2,inf)|0); + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _emscripten_sync_run_in_main_thread_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $3 = sp; + dest=$3; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = $0; + $4 = ((($3)) + 16|0); + HEAP32[$4>>2] = $1; + $5 = ((($3)) + 24|0); + HEAP32[$5>>2] = $2; + $6 = ((($3)) + 80|0); + HEAP32[$6>>2] = 0; + _emscripten_async_run_in_main_thread($3); + (_emscripten_wait_for_call_v($3,inf)|0); + $7 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _emscripten_sync_run_in_main_thread_3($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, $9 = 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+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$4>>2] = $0; + $5 = ((($4)) + 16|0); + HEAP32[$5>>2] = $1; + $6 = ((($4)) + 24|0); + HEAP32[$6>>2] = $2; + $7 = ((($4)) + 32|0); + HEAP32[$7>>2] = $3; + $8 = ((($4)) + 80|0); + HEAP32[$8>>2] = 0; + _emscripten_async_run_in_main_thread($4); + (_emscripten_wait_for_call_v($4,inf)|0); + $9 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _emscripten_sync_run_in_main_thread_4($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $5 = sp; + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $6 = ((($5)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = ((($5)) + 24|0); + HEAP32[$7>>2] = $2; + $8 = ((($5)) + 32|0); + HEAP32[$8>>2] = $3; + $9 = ((($5)) + 40|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 80|0); + HEAP32[$10>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $11 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _emscripten_sync_run_in_main_thread_5($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $6 = sp; + dest=$6; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = $0; + $7 = ((($6)) + 16|0); + HEAP32[$7>>2] = $1; + $8 = ((($6)) + 24|0); + HEAP32[$8>>2] = $2; + $9 = ((($6)) + 32|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 40|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 48|0); + HEAP32[$11>>2] = $5; + $12 = ((($6)) + 80|0); + HEAP32[$12>>2] = 0; + _emscripten_async_run_in_main_thread($6); + (_emscripten_wait_for_call_v($6,inf)|0); + $13 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _emscripten_sync_run_in_main_thread_6($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $7 = sp; + dest=$7; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$7>>2] = $0; + $8 = ((($7)) + 16|0); + HEAP32[$8>>2] = $1; + $9 = ((($7)) + 24|0); + HEAP32[$9>>2] = $2; + $10 = ((($7)) + 32|0); + HEAP32[$10>>2] = $3; + $11 = ((($7)) + 40|0); + HEAP32[$11>>2] = $4; + $12 = ((($7)) + 48|0); + HEAP32[$12>>2] = $5; + $13 = ((($7)) + 56|0); + HEAP32[$13>>2] = $6; + $14 = ((($7)) + 80|0); + HEAP32[$14>>2] = 0; + _emscripten_async_run_in_main_thread($7); + (_emscripten_wait_for_call_v($7,inf)|0); + $15 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _emscripten_sync_run_in_main_thread_7($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $8 = sp; + dest=$8; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$8>>2] = $0; + $9 = ((($8)) + 16|0); + HEAP32[$9>>2] = $1; + $10 = ((($8)) + 24|0); + HEAP32[$10>>2] = $2; + $11 = ((($8)) + 32|0); + HEAP32[$11>>2] = $3; + $12 = ((($8)) + 40|0); + HEAP32[$12>>2] = $4; + $13 = ((($8)) + 48|0); + HEAP32[$13>>2] = $5; + $14 = ((($8)) + 56|0); + HEAP32[$14>>2] = $6; + $15 = ((($8)) + 64|0); + HEAP32[$15>>2] = $7; + $16 = ((($8)) + 80|0); + HEAP32[$16>>2] = 0; + _emscripten_async_run_in_main_thread($8); + (_emscripten_wait_for_call_v($8,inf)|0); + $17 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _emscripten_sync_run_in_main_thread_xprintf_varargs($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|0; + var $$0 = 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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $3 = sp + 96|0; + $4 = sp + 112|0; + $5 = sp; + HEAP32[$3>>2] = $varargs; + $6 = (_vsnprintf($4,128,$2,$3)|0); + $7 = ($6|0)>(127); + $8 = (($6) + 1)|0; + if ($7) { + $9 = (_malloc($8)|0); + HEAP32[$3>>2] = $varargs; + (_vsnprintf($9,$8,$2,$3)|0); + $$0 = $9; + } else { + $$0 = $4; + } + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $10 = $1; + $11 = ((($5)) + 16|0); + HEAP32[$11>>2] = $10; + $12 = ((($5)) + 24|0); + HEAP32[$12>>2] = $$0; + $13 = ((($5)) + 80|0); + HEAP32[$13>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $14 = ($$0|0)==($4|0); + if ($14) { + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); + } + _free($$0); + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); +} +function ___pthread_tsd_run_dtors() { + var $$02427 = 0, $$026 = 0, $$125 = 0, $$2 = 0, $0 = 0, $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; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 116|0); + $$02427 = 0; + while(1) { + $$026 = 0;$$125 = 0; + while(1) { + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($$026<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + $$2 = $$125; + } else { + $9 = (33304 + ($$026<<2)|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$2 = $$125; + } else { + HEAP32[$6>>2] = 0; + $12 = (Atomics_load(HEAP32,$9>>2)|0); + FUNCTION_TABLE_vi[$12 & 31]($7); + $$2 = 1; + } + } + $13 = (($$026) + 1)|0; + $exitcond = ($13|0)==(128); + if ($exitcond) { + break; + } else { + $$026 = $13;$$125 = $$2; + } + } + $14 = (($$02427) + 1)|0; + $15 = ($$2|0)!=(0); + $16 = ($14|0)<(4); + $17 = $16 & $15; + if ($17) { + $$02427 = $14; + } else { + break; + } + } + return; +} +function _emscripten_wait_for_call_v($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$ = 0, $$01921 = 0.0, $$020$lcssa = 0, $$1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = (Atomics_load(HEAP32, $2>>2)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$1 = $3; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); + } + $5 = (+_emscripten_get_now()); + $6 = $5 + $1; + _emscripten_set_current_thread_status(5); + $7 = $5 < $6; + if ($7) { + $$01921 = $5; + while(1) { + $8 = $6 - $$01921; + (_emscripten_futex_wait(($2|0),0,(+$8))|0); + $9 = (Atomics_load(HEAP32, $2>>2)|0); + $10 = (+_emscripten_get_now()); + $11 = ($9|0)==(0); + $12 = $10 < $6; + $or$cond = $11 & $12; + if ($or$cond) { + $$01921 = $10; + } else { + $$020$lcssa = $9; + break; + } + } + } else { + $$020$lcssa = 0; + } + _emscripten_set_current_thread_status(1); + $$1 = $$020$lcssa; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); +} +function __do_call($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, $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, $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; + $1 = HEAP32[$0>>2]|0; + do { + switch ($1|0) { + case 12: { + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 24|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_utime(($3|0),($5|0))|0); + $7 = ((($0)) + 80|0); + HEAP32[$7>>2] = $6; + break; + } + case 13: { + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($0)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_utimes(($9|0),($11|0))|0); + $13 = ((($0)) + 80|0); + HEAP32[$13>>2] = $12; + break; + } + case 37: { + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_chroot(($15|0))|0); + $17 = ((($0)) + 80|0); + HEAP32[$17>>2] = $16; + break; + } + case 46: { + $18 = ((($0)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_fpathconf(($19|0),($21|0))|0); + $23 = ((($0)) + 80|0); + HEAP32[$23>>2] = $22; + break; + } + case 68: { + $24 = ((($0)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_confstr(($25|0),($27|0),($29|0))|0); + $31 = ((($0)) + 80|0); + HEAP32[$31>>2] = $30; + break; + } + case 72: { + $32 = ((($0)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sysconf(($33|0))|0); + $35 = ((($0)) + 80|0); + HEAP32[$35>>2] = $34; + break; + } + case 110: { + $36 = ((($0)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_atexit(($37|0))|0); + $39 = ((($0)) + 80|0); + HEAP32[$39>>2] = $38; + break; + } + case 111: { + $40 = ((($0)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_getenv(($41|0))|0); + $43 = ((($0)) + 80|0); + HEAP32[$43>>2] = $42; + break; + } + case 112: { + $44 = (_clearenv()|0); + $45 = ((($0)) + 80|0); + HEAP32[$45>>2] = $44; + break; + } + case 113: { + $46 = ((($0)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($0)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($0)) + 32|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_setenv(($47|0),($49|0),($51|0))|0); + $53 = ((($0)) + 80|0); + HEAP32[$53>>2] = $52; + break; + } + case 114: { + $54 = ((($0)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_unsetenv(($55|0))|0); + $57 = ((($0)) + 80|0); + HEAP32[$57>>2] = $56; + break; + } + case 115: { + $58 = ((($0)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_putenv(($59|0))|0); + $61 = ((($0)) + 80|0); + HEAP32[$61>>2] = $60; + break; + } + case 119: { + _tzset(); + break; + } + case 137: { + $62 = ((($0)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($0)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($0)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = ((($0)) + 40|0); + $69 = HEAP32[$68>>2]|0; + $70 = (_pthread_create(($63|0),($65|0),($67|0),($69|0))|0); + $71 = ((($0)) + 80|0); + HEAP32[$71>>2] = $70; + break; + } + case 138: { + $72 = ((($0)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($0)) + 24|0); + $75 = HEAP32[$74>>2]|0; + $76 = (_emscripten_syscall(($73|0),($75|0))|0); + $77 = ((($0)) + 80|0); + HEAP32[$77>>2] = $76; + break; + } + case 1024: { + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + FUNCTION_TABLE_v[$79 & 7](); + break; + } + case 1025: { + $80 = ((($0)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = ((($0)) + 16|0); + $83 = HEAP32[$82>>2]|0; + FUNCTION_TABLE_vi[$81 & 31]($83); + break; + } + case 1026: { + $84 = ((($0)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = ((($0)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($0)) + 24|0); + $89 = HEAP32[$88>>2]|0; + FUNCTION_TABLE_vii[$85 & 63]($87,$89); + break; + } + case 1027: { + $90 = ((($0)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($0)) + 16|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($0)) + 24|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($0)) + 32|0); + $97 = HEAP32[$96>>2]|0; + FUNCTION_TABLE_viii[$91 & 31]($93,$95,$97); + break; + } + case 2048: { + $98 = ((($0)) + 4|0); + $99 = HEAP32[$98>>2]|0; + $100 = (FUNCTION_TABLE_i[$99 & 3]()|0); + $101 = ((($0)) + 80|0); + HEAP32[$101>>2] = $100; + break; + } + case 2049: { + $102 = ((($0)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ((($0)) + 16|0); + $105 = HEAP32[$104>>2]|0; + $106 = (FUNCTION_TABLE_ii[$103 & 15]($105)|0); + $107 = ((($0)) + 80|0); + HEAP32[$107>>2] = $106; + break; + } + case 2050: { + $108 = ((($0)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = ((($0)) + 16|0); + $111 = HEAP32[$110>>2]|0; + $112 = ((($0)) + 24|0); + $113 = HEAP32[$112>>2]|0; + $114 = (FUNCTION_TABLE_iii[$109 & 3]($111,$113)|0); + $115 = ((($0)) + 80|0); + HEAP32[$115>>2] = $114; + break; + } + case 2051: { + $116 = ((($0)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = ((($0)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = ((($0)) + 24|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($0)) + 32|0); + $123 = HEAP32[$122>>2]|0; + $124 = (FUNCTION_TABLE_iiii[$117 & 15]($119,$121,$123)|0); + $125 = ((($0)) + 80|0); + HEAP32[$125>>2] = $124; + break; + } + default: { + ___assert_fail((13810|0),(13702|0),211,(13861|0)); + // unreachable; + } + } + } while(0); + $126 = ((($0)) + 88|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)==(0); + if ($128) { + $129 = ((($0)) + 8|0); + HEAP32[$129>>2] = 1; + (_emscripten_futex_wake(($129|0),2147483647)|0); + return; + } else { + _free($0); + return; + } +} +function ___pthread_mutex_unlock($0) { + $0 = $0|0; + var $$0 = 0, $$045 = 0, $$pre = 0, $$pre$phiZ2D = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = (Atomics_load(HEAP32,$1>>2)|0); + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 15; + $5 = $3 & 128; + $6 = $5 ^ 128; + $7 = ($4|0)==(0); + if ($7) { + $$pre = ((($0)) + 4|0); + $$045 = 0;$$pre$phiZ2D = $$pre; + } else { + $8 = (_pthread_self()|0); + $9 = ((($0)) + 4|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = $10 & 2147483647; + $12 = ((($8)) + 52|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)==($13|0); + if (!($14)) { + $$0 = 1; + return ($$0|0); + } + $15 = $3 & 3; + $16 = ($15|0)==(1); + if ($16) { + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + $20 = (($18) + -1)|0; + HEAP32[$17>>2] = $20; + $$0 = 0; + return ($$0|0); + } + } + $21 = ($6|0)==(0); + $22 = ((($0)) + 16|0); + if ($21) { + $23 = ((($8)) + 176|0); + Atomics_store(HEAP32,$23>>2,$22)|0; + ___vm_lock(); + } + $24 = ((($0)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$22>>2]|0; + Atomics_store(HEAP32,$25>>2,$26)|0; + $27 = ((($8)) + 168|0); + $28 = ($26|0)==($27|0); + if ($28) { + $$045 = $8;$$pre$phiZ2D = $9; + } else { + $29 = ((($26)) + -4|0); + Atomics_store(HEAP32,$29>>2,$25)|0; + $$045 = $8;$$pre$phiZ2D = $9; + } + } + $30 = $3 & 8; + $31 = ($30|0)!=(0); + $32 = $31 ? 2147483647 : 0; + while(1) { + $33 = (Atomics_load(HEAP32, $$pre$phiZ2D>>2)|0); + $34 = (Atomics_compareExchange(HEAP32, $$pre$phiZ2D>>2, $33, $32)|0); + $35 = ($34|0)==($33|0); + if ($35) { + break; + } + } + $36 = ($6|0)!=(0); + $or$cond = $7 | $36; + if (!($or$cond)) { + $37 = ((($$045)) + 176|0); + Atomics_store(HEAP32,$37>>2,0)|0; + ___vm_unlock(); + } + $38 = ($2|0)!=(0); + $39 = ($33|0)<(0); + $or$cond3 = $38 | $39; + if (!($or$cond3)) { + $$0 = 0; + return ($$0|0); + } + (_emscripten_futex_wake(($$pre$phiZ2D|0),1)|0); + $$0 = 0; + return ($$0|0); +} +function ___vm_lock() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8592, 1)|0); + return; +} +function ___vm_unlock() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8592, -1)|0); + $1 = ($0|0)==(1); + if (!($1)) { + return; + } + $2 = (Atomics_load(HEAP32,(34372)>>2)|0); + $3 = ($2|0)==(0); + if ($3) { + return; + } + (_emscripten_futex_wake((34368|0),2147483647)|0); + return; +} +function ___pthread_mutex_lock($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; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = ($5|0)==(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + } + $7 = (___pthread_mutex_timedlock($0,0)|0); + $$0 = $7; + return ($$0|0); +} +function ___pthread_mutex_timedlock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 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, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond40 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$0>>2]|0; + $3 = $2 & 15; + $4 = ($3|0)==(0); + do { + if ($4) { + $5 = ((($0)) + 4|0); + $6 = (Atomics_compareExchange(HEAP32, $5>>2, 0, 16)|0); + $7 = ($6|0)==(0); + if ($7) { + $$2 = 0; + return ($$2|0); + } else { + $$pre = HEAP32[$0>>2]|0; + $9 = $$pre; + break; + } + } else { + $9 = $2; + } + } while(0); + $8 = $9 & 128; + $10 = $8 ^ 128; + $11 = (___pthread_mutex_trylock($0)|0); + $12 = ($11|0)==(16); + if (!($12)) { + $$2 = $11; + return ($$2|0); + } + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 8|0); + $$0 = 100; + while(1) { + $15 = (($$0) + -1)|0; + $16 = ($$0|0)==(0); + if ($16) { + break; + } + $17 = (Atomics_load(HEAP32,$13>>2)|0); + $18 = ($17|0)==(0); + if ($18) { + break; + } + $19 = (Atomics_load(HEAP32,$14>>2)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = $15; + } else { + break; + } + } + $21 = (___pthread_mutex_trylock($0)|0); + $22 = ($21|0)==(16); + if (!($22)) { + $$2 = $21; + return ($$2|0); + } + L18: while(1) { + $23 = (Atomics_load(HEAP32,$13>>2)|0); + $24 = ($23|0)==(0); + if (!($24)) { + $27 = $23 & 1073741824; + $28 = ($27|0)==(0); + $29 = HEAP32[$0>>2]|0; + $30 = $29 & 4; + $31 = ($30|0)==(0); + $or$cond40 = $28 | $31; + if ($or$cond40) { + $32 = $29 & 3; + $33 = ($32|0)==(2); + if ($33) { + $34 = $23 & 2147483647; + $35 = (_pthread_self()|0); + $36 = ((($35)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($34|0)==($37|0); + if ($38) { + $$2 = 35; + label = 17; + break; + } + } + $39 = (Atomics_add(HEAP32, $14>>2, 1)|0); + $40 = $23 | -2147483648; + $41 = (Atomics_compareExchange(HEAP32, $13>>2, $23, $40)|0); + $42 = (___timedwait($13,$40,0,$1,$10)|0); + $43 = (Atomics_sub(HEAP32, $14>>2, 1)|0); + switch ($42|0) { + case 0: case 4: { + break; + } + default: { + $$2 = $42; + label = 17; + break L18; + } + } + } + } + $25 = (___pthread_mutex_trylock($0)|0); + $26 = ($25|0)==(16); + if (!($26)) { + $$2 = $25; + label = 17; + break; + } + } + if ((label|0) == 17) { + return ($$2|0); + } + return (0)|0; +} +function ___timedwait($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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + (___pthread_setcancelstate(1,($5|0))|0); + _emscripten_conditional_set_current_thread_status(1,4); + $6 = (___timedwait_cp($0,$1,$2,$3,$4)|0); + _emscripten_conditional_set_current_thread_status(4,1); + $7 = HEAP32[$5>>2]|0; + (___pthread_setcancelstate(($7|0),(0|0))|0); + STACKTOP = sp;return ($6|0); +} +function ___timedwait_cp($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$0$us = 0.0, $$$045 = 0.0, $$$046$us = 0.0, $$0$us = 0.0, $$0$us53 = 0.0, $$138 = 0, $$138$ph = 0, $$138$ph70 = 0, $$138$ph72 = 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.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 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 = ($3|0)!=(0|0); + if ($6) { + $7 = ((($3)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8>>>0)>(999999999); + if ($9) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $10 = (___clock_gettime(($2|0),($5|0))|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (($12) - ($13))|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ((($5)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) - ($17))|0; + HEAP32[$16>>2] = $18; + $19 = ($18|0)<(0); + if ($19) { + $20 = (($14) + -1)|0; + HEAP32[$5>>2] = $20; + $21 = (($18) + 1000000000)|0; + HEAP32[$16>>2] = $21; + $23 = $20; + } else { + $23 = $14; + } + $22 = ($23|0)<(0); + if ($22) { + $$138 = 110; + STACKTOP = sp;return ($$138|0); + } + } + $24 = (_emscripten_is_main_runtime_thread()|0); + $25 = ($24|0)!=(0); + $$$045 = $25 ? 1.0 : 100.0; + if ($25) { + L15: while(1) { + $26 = (_pthread_self()|0); + $27 = (__pthread_isduecanceled($26)|0); + $28 = ($27|0)==(0); + if (!($28)) { + $$138$ph = 125; + break; + } + _emscripten_main_thread_process_queued_calls(); + if ($6) { + $29 = (+__pthread_msecs_until($3)); + $30 = !($29 <= 0.0); + $31 = $29 > 100.0; + $$0$us = $31 ? 100.0 : $29; + $32 = $$0$us > 1.0; + $$$0$us = $32 ? 1.0 : $$0$us; + if ($30) { + $$$046$us = $$$0$us; + } else { + $$138$ph = 110; + break; + } + } else { + $$$046$us = $$$045; + } + $33 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$046$us))|0); + $34 = (0 - ($33))|0; + switch ($34|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph = $34; + break L15; + break; + } + default: { + $$138 = 0; + label = 21; + break L15; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph; + STACKTOP = sp;return ($$138|0); + } + if (!($6)) { + L27: while(1) { + $43 = (_pthread_self()|0); + $44 = (__pthread_isduecanceled($43)|0); + $45 = ($44|0)==(0); + if (!($45)) { + $$138$ph72 = 125; + break; + } + $46 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$045))|0); + $47 = (0 - ($46))|0; + switch ($47|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph72 = $47; + break L27; + break; + } + default: { + $$138 = 0; + label = 21; + break L27; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph72; + STACKTOP = sp;return ($$138|0); + } + L34: while(1) { + $35 = (_pthread_self()|0); + $36 = (__pthread_isduecanceled($35)|0); + $37 = ($36|0)==(0); + if (!($37)) { + $$138$ph70 = 125; + break; + } + $38 = (+__pthread_msecs_until($3)); + $39 = !($38 <= 0.0); + if (!($39)) { + $$138$ph70 = 110; + break; + } + $40 = $38 > 100.0; + $$0$us53 = $40 ? 100.0 : $38; + $41 = (_emscripten_futex_wait(($0|0),($1|0),(+$$0$us53))|0); + $42 = (0 - ($41))|0; + switch ($42|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph70 = $42; + break L34; + break; + } + default: { + $$138 = 0; + label = 21; + break L34; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph70; + STACKTOP = sp;return ($$138|0); +} +function __pthread_isduecanceled($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(2); + $3 = $2&1; + return ($3|0); +} +function __pthread_msecs_until($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.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)); + $4 = $3 * 1000.0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (+($6|0)); + $8 = $7 * 0.001; + $9 = $4 + $8; + $10 = HEAP32[$0>>2]|0; + $11 = (+($10|0)); + $12 = $11 * 1000.0; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = $15 * 9.9999999999999995E-7; + $17 = $12 + $16; + $18 = $17 - $9; + STACKTOP = sp;return (+$18); +} +function ___pthread_mutex_trylock($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; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = $5 & 16; + $$0 = $6; + return ($$0|0); + } else { + $7 = (___pthread_mutex_trylock_owner($0)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; +} +function ___pthread_mutex_trylock_owner($0) { + $0 = $0|0; + var $$ = 0, $$1 = 0, $$154 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond57 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_pthread_self()|0); + $3 = ((($2)) + 52|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 4|0); + $6 = (Atomics_load(HEAP32,$5>>2)|0); + $7 = $6 & 2147483647; + $8 = ($7|0)==($4|0); + $9 = $1 & 3; + $10 = ($9|0)==(1); + $or$cond = $10 & $8; + if ($or$cond) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(2147483646); + if ($13) { + $$1 = 11; + return ($$1|0); + } + $14 = (($12) + 1)|0; + HEAP32[$11>>2] = $14; + $$1 = 0; + return ($$1|0); + } + $15 = ($7|0)==(2147483647); + if ($15) { + $$1 = 131; + return ($$1|0); + } + $16 = HEAP32[$0>>2]|0; + $17 = $16 & 128; + $18 = ($17|0)==(0); + if ($18) { + $$154 = $4; + } else { + $19 = ((($2)) + 172|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + HEAP32[$19>>2] = -12; + } + $22 = ((($0)) + 8|0); + $23 = (Atomics_load(HEAP32,$22>>2)|0); + $24 = ($23|0)==(0); + $25 = $4 | -2147483648; + $$ = $24 ? $4 : $25; + $26 = ((($0)) + 16|0); + $27 = ((($2)) + 176|0); + Atomics_store(HEAP32,$27>>2,$26)|0; + $$154 = $$; + } + $28 = ($7|0)!=(0); + if ($28) { + $29 = $6 & 1073741824; + $30 = ($29|0)==(0); + $31 = $1 & 4; + $32 = ($31|0)==(0); + $or$cond57 = $32 | $30; + if (!($or$cond57)) { + label = 11; + } + } else { + label = 11; + } + if ((label|0) == 11) { + $33 = (Atomics_compareExchange(HEAP32, $5>>2, $6, $$154)|0); + $34 = ($33|0)==($6|0); + if ($34) { + $36 = ((($2)) + 168|0); + $37 = (Atomics_load(HEAP32,$36>>2)|0); + $38 = ((($0)) + 16|0); + HEAP32[$38>>2] = $37; + $39 = ((($0)) + 12|0); + HEAP32[$39>>2] = $36; + $40 = ($37|0)==($36|0); + if (!($40)) { + $41 = ((($37)) + -4|0); + Atomics_store(HEAP32,$41>>2,$38)|0; + } + Atomics_store(HEAP32,$36>>2,$38)|0; + $42 = ((($2)) + 176|0); + Atomics_store(HEAP32,$42>>2,0)|0; + if (!($28)) { + $$1 = 0; + return ($$1|0); + } + $43 = ((($0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = HEAP32[$0>>2]|0; + $45 = $44 | 8; + HEAP32[$0>>2] = $45; + $$1 = 130; + return ($$1|0); + } + } + $35 = ((($2)) + 176|0); + Atomics_store(HEAP32,$35>>2,0)|0; + $$1 = 16; + return ($$1|0); +} +function _pthread_mutexattr_destroy($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _pthread_mutexattr_init($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$0>>2] = 0; + return 0; +} +function _pthread_mutex_init($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$sroa$0 = sp; + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0;HEAP32[$$sroa$0+20>>2]=0|0;HEAP32[$$sroa$0+24>>2]=0|0; + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$$sroa$0+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$$sroa$0+24>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + STACKTOP = sp;return 0; + } + $3 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $3; + STACKTOP = sp;return 0; +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4230$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i17$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0198 = 0, $$0200 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024363$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1 = 0, $$1196$i = 0; + var $$1198$i = 0, $$124462$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2 = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i202 = 0, $$3229$i = 0, $$3235$i = 0, $$3350$i = 0; + var $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0, $$4230$i = 0, $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$7$i = 0, $$7239$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i18$i = 0, $$pre$i211 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i19$iZ2D = 0; + var $$pre$phi$i212Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i205 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0; + var $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, $1022 = 0, $1023 = 0; + var $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, $1040 = 0, $1041 = 0; + var $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, $1059 = 0, $106 = 0; + var $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, $1077 = 0, $1078 = 0; + var $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 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, $398 = 0, $399 = 0, $4 = 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, $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; + var $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, $53 = 0, $530 = 0; + var $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, $548 = 0, $549 = 0; + var $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, $566 = 0, $567 = 0; + var $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, $584 = 0, $585 = 0; + var $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, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0; + var $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, $620 = 0; + var $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, $639 = 0; + var $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, $657 = 0; + var $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, $675 = 0; + var $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, $693 = 0; + var $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, $710 = 0; + var $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, $729 = 0; + var $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, $747 = 0; + var $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, $765 = 0; + var $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, $783 = 0; + var $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, $800 = 0; + var $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, $819 = 0; + var $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, $834 = 0, $835 = 0, $836 = 0, $837 = 0; + var $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, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0; + var $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, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0; + var $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, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0; + var $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, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0; + var $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, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0; + var $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, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0; + var $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, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0; + var $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, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0; + var $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, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0; + var $cond$i$i = 0, $cond$i209 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i21$i = 0, $not$$i210 = 0, $not$1$i = 0, $not$1$i204 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0, $or$cond$i = 0, $or$cond$i213 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond12$i = 0, $or$cond2$i = 0; + var $or$cond2$i214 = 0, $or$cond43$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond9$i = 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 = HEAP32[8850]|0; + $4 = ($3|0)==(0); + if ($4) { + (___pthread_mutex_lock(35424)|0); + $5 = HEAP32[8850]|0; + $6 = ($5|0)==(0); + if ($6) { + HEAP32[(35408)>>2] = 4096; + HEAP32[(35404)>>2] = 4096; + HEAP32[(35412)>>2] = -1; + HEAP32[(35416)>>2] = -1; + HEAP32[(35420)>>2] = 2; + HEAP32[(35896)>>2] = 2; + $7 = (_pthread_mutexattr_init($1)|0); + $8 = ($7|0)==(0); + if ($8) { + $9 = (_pthread_mutex_init((35900),$1)|0); + $10 = ($9|0)==(0); + if ($10) { + } + } + $11 = $2; + $12 = $11 & -16; + $13 = $12 ^ 1431655768; + HEAP32[$2>>2] = $13; + Atomics_store(HEAP32,8850,$13)|0; + } + (___pthread_mutex_unlock(35424)|0); + } + $14 = HEAP32[(35896)>>2]|0; + $15 = $14 & 2; + $16 = ($15|0)==(0); + if (!($16)) { + $17 = (___pthread_mutex_lock((35900))|0); + $18 = ($17|0)==(0); + if (!($18)) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + $19 = ($0>>>0)<(245); + do { + if ($19) { + $20 = ($0>>>0)<(11); + $21 = (($0) + 11)|0; + $22 = $21 & -8; + $23 = $20 ? 16 : $22; + $24 = $23 >>> 3; + $25 = HEAP32[8863]|0; + $26 = $25 >>> $24; + $27 = $26 & 3; + $28 = ($27|0)==(0); + if (!($28)) { + $29 = $26 & 1; + $30 = $29 ^ 1; + $31 = (($30) + ($24))|0; + $32 = $31 << 1; + $33 = (35492 + ($32<<2)|0); + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($33|0)==($37|0); + do { + if ($38) { + $39 = 1 << $31; + $40 = $39 ^ -1; + $41 = $25 & $40; + HEAP32[8863] = $41; + } else { + $42 = HEAP32[(35468)>>2]|0; + $43 = ($37>>>0)<($42>>>0); + if ($43) { + _abort(); + // unreachable; + } + $44 = ((($37)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==($35|0); + if ($46) { + HEAP32[$44>>2] = $33; + HEAP32[$34>>2] = $37; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $47 = $31 << 3; + $48 = $47 | 3; + $49 = ((($35)) + 4|0); + HEAP32[$49>>2] = $48; + $50 = (($35) + ($47)|0); + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52 | 1; + HEAP32[$51>>2] = $53; + $$2 = $36; + break; + } + $54 = HEAP32[(35460)>>2]|0; + $55 = ($23>>>0)>($54>>>0); + if ($55) { + $56 = ($26|0)==(0); + if (!($56)) { + $57 = $26 << $24; + $58 = 2 << $24; + $59 = (0 - ($58))|0; + $60 = $58 | $59; + $61 = $57 & $60; + $62 = (0 - ($61))|0; + $63 = $61 & $62; + $64 = (($63) + -1)|0; + $65 = $64 >>> 12; + $66 = $65 & 16; + $67 = $64 >>> $66; + $68 = $67 >>> 5; + $69 = $68 & 8; + $70 = $69 | $66; + $71 = $67 >>> $69; + $72 = $71 >>> 2; + $73 = $72 & 4; + $74 = $70 | $73; + $75 = $71 >>> $73; + $76 = $75 >>> 1; + $77 = $76 & 2; + $78 = $74 | $77; + $79 = $75 >>> $77; + $80 = $79 >>> 1; + $81 = $80 & 1; + $82 = $78 | $81; + $83 = $79 >>> $81; + $84 = (($82) + ($83))|0; + $85 = $84 << 1; + $86 = (35492 + ($85<<2)|0); + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + $89 = ((($88)) + 8|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($86|0)==($90|0); + do { + if ($91) { + $92 = 1 << $84; + $93 = $92 ^ -1; + $94 = $25 & $93; + HEAP32[8863] = $94; + $115 = $94; + } else { + $95 = HEAP32[(35468)>>2]|0; + $96 = ($90>>>0)<($95>>>0); + if ($96) { + _abort(); + // unreachable; + } + $97 = ((($90)) + 12|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==($88|0); + if ($99) { + HEAP32[$97>>2] = $86; + HEAP32[$87>>2] = $90; + $115 = $25; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $100 = $84 << 3; + $101 = (($100) - ($23))|0; + $102 = $23 | 3; + $103 = ((($88)) + 4|0); + HEAP32[$103>>2] = $102; + $104 = (($88) + ($23)|0); + $105 = $101 | 1; + $106 = ((($104)) + 4|0); + HEAP32[$106>>2] = $105; + $107 = (($104) + ($101)|0); + HEAP32[$107>>2] = $101; + $108 = ($54|0)==(0); + if (!($108)) { + $109 = HEAP32[(35472)>>2]|0; + $110 = $54 >>> 3; + $111 = $110 << 1; + $112 = (35492 + ($111<<2)|0); + $113 = 1 << $110; + $114 = $115 & $113; + $116 = ($114|0)==(0); + if ($116) { + $117 = $115 | $113; + HEAP32[8863] = $117; + $$pre = ((($112)) + 8|0); + $$0200 = $112;$$pre$phiZ2D = $$pre; + } else { + $118 = ((($112)) + 8|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[(35468)>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { + _abort(); + // unreachable; + } else { + $$0200 = $119;$$pre$phiZ2D = $118; + } + } + HEAP32[$$pre$phiZ2D>>2] = $109; + $122 = ((($$0200)) + 12|0); + HEAP32[$122>>2] = $109; + $123 = ((($109)) + 8|0); + HEAP32[$123>>2] = $$0200; + $124 = ((($109)) + 12|0); + HEAP32[$124>>2] = $112; + } + HEAP32[(35460)>>2] = $101; + HEAP32[(35472)>>2] = $104; + $$2 = $89; + break; + } + $125 = HEAP32[(35456)>>2]|0; + $126 = ($125|0)==(0); + if ($126) { + $$0198 = $23; + label = 153; + } else { + $127 = (0 - ($125))|0; + $128 = $125 & $127; + $129 = (($128) + -1)|0; + $130 = $129 >>> 12; + $131 = $130 & 16; + $132 = $129 >>> $131; + $133 = $132 >>> 5; + $134 = $133 & 8; + $135 = $134 | $131; + $136 = $132 >>> $134; + $137 = $136 >>> 2; + $138 = $137 & 4; + $139 = $135 | $138; + $140 = $136 >>> $138; + $141 = $140 >>> 1; + $142 = $141 & 2; + $143 = $139 | $142; + $144 = $140 >>> $142; + $145 = $144 >>> 1; + $146 = $145 & 1; + $147 = $143 | $146; + $148 = $144 >>> $146; + $149 = (($147) + ($148))|0; + $150 = (35756 + ($149<<2)|0); + $151 = HEAP32[$150>>2]|0; + $152 = ((($151)) + 4|0); + $153 = HEAP32[$152>>2]|0; + $154 = $153 & -8; + $155 = (($154) - ($23))|0; + $156 = ((($151)) + 16|0); + $157 = HEAP32[$156>>2]|0; + $not$5$i = ($157|0)==(0|0); + $$sink16$i = $not$5$i&1; + $158 = (((($151)) + 16|0) + ($$sink16$i<<2)|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==(0|0); + if ($160) { + $$0192$lcssa$i = $151;$$0193$lcssa$i = $155; + } else { + $$01928$i = $151;$$01937$i = $155;$162 = $159; + while(1) { + $161 = ((($162)) + 4|0); + $163 = HEAP32[$161>>2]|0; + $164 = $163 & -8; + $165 = (($164) - ($23))|0; + $166 = ($165>>>0)<($$01937$i>>>0); + $$$0193$i = $166 ? $165 : $$01937$i; + $$$0192$i = $166 ? $162 : $$01928$i; + $167 = ((($162)) + 16|0); + $168 = HEAP32[$167>>2]|0; + $not$$i = ($168|0)==(0|0); + $$sink1$i = $not$$i&1; + $169 = (((($162)) + 16|0) + ($$sink1$i<<2)|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$162 = $170; + } + } + } + $172 = HEAP32[(35468)>>2]|0; + $173 = ($$0192$lcssa$i>>>0)<($172>>>0); + if ($173) { + _abort(); + // unreachable; + } + $174 = (($$0192$lcssa$i) + ($23)|0); + $175 = ($$0192$lcssa$i>>>0)<($174>>>0); + if (!($175)) { + _abort(); + // unreachable; + } + $176 = ((($$0192$lcssa$i)) + 24|0); + $177 = HEAP32[$176>>2]|0; + $178 = ((($$0192$lcssa$i)) + 12|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==($$0192$lcssa$i|0); + do { + if ($180) { + $190 = ((($$0192$lcssa$i)) + 20|0); + $191 = HEAP32[$190>>2]|0; + $192 = ($191|0)==(0|0); + if ($192) { + $193 = ((($$0192$lcssa$i)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $195 = ($194|0)==(0|0); + if ($195) { + $$3$i = 0; + break; + } else { + $$1196$i = $194;$$1198$i = $193; + } + } else { + $$1196$i = $191;$$1198$i = $190; + } + while(1) { + $196 = ((($$1196$i)) + 20|0); + $197 = HEAP32[$196>>2]|0; + $198 = ($197|0)==(0|0); + if (!($198)) { + $$1196$i = $197;$$1198$i = $196; + continue; + } + $199 = ((($$1196$i)) + 16|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($200|0)==(0|0); + if ($201) { + break; + } else { + $$1196$i = $200;$$1198$i = $199; + } + } + $202 = ($$1198$i>>>0)<($172>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $181 = ((($$0192$lcssa$i)) + 8|0); + $182 = HEAP32[$181>>2]|0; + $183 = ($182>>>0)<($172>>>0); + if ($183) { + _abort(); + // unreachable; + } + $184 = ((($182)) + 12|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($185|0)==($$0192$lcssa$i|0); + if (!($186)) { + _abort(); + // unreachable; + } + $187 = ((($179)) + 8|0); + $188 = HEAP32[$187>>2]|0; + $189 = ($188|0)==($$0192$lcssa$i|0); + if ($189) { + HEAP32[$184>>2] = $179; + HEAP32[$187>>2] = $182; + $$3$i = $179; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $203 = ($177|0)==(0|0); + L85: do { + if (!($203)) { + $204 = ((($$0192$lcssa$i)) + 28|0); + $205 = HEAP32[$204>>2]|0; + $206 = (35756 + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($$0192$lcssa$i|0)==($207|0); + do { + if ($208) { + HEAP32[$206>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $209 = 1 << $205; + $210 = $209 ^ -1; + $211 = $125 & $210; + HEAP32[(35456)>>2] = $211; + break L85; + } + } else { + $212 = HEAP32[(35468)>>2]|0; + $213 = ($177>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($177)) + 16|0); + $215 = HEAP32[$214>>2]|0; + $not$1$i = ($215|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $216 = (((($177)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$216>>2] = $$3$i; + $217 = ($$3$i|0)==(0|0); + if ($217) { + break L85; + } else { + break; + } + } + } + } while(0); + $218 = HEAP32[(35468)>>2]|0; + $219 = ($$3$i>>>0)<($218>>>0); + if ($219) { + _abort(); + // unreachable; + } + $220 = ((($$3$i)) + 24|0); + HEAP32[$220>>2] = $177; + $221 = ((($$0192$lcssa$i)) + 16|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + do { + if (!($223)) { + $224 = ($222>>>0)<($218>>>0); + if ($224) { + _abort(); + // unreachable; + } else { + $225 = ((($$3$i)) + 16|0); + HEAP32[$225>>2] = $222; + $226 = ((($222)) + 24|0); + HEAP32[$226>>2] = $$3$i; + break; + } + } + } while(0); + $227 = ((($$0192$lcssa$i)) + 20|0); + $228 = HEAP32[$227>>2]|0; + $229 = ($228|0)==(0|0); + if (!($229)) { + $230 = HEAP32[(35468)>>2]|0; + $231 = ($228>>>0)<($230>>>0); + if ($231) { + _abort(); + // unreachable; + } else { + $232 = ((($$3$i)) + 20|0); + HEAP32[$232>>2] = $228; + $233 = ((($228)) + 24|0); + HEAP32[$233>>2] = $$3$i; + break; + } + } + } + } while(0); + $234 = ($$0193$lcssa$i>>>0)<(16); + if ($234) { + $235 = (($$0193$lcssa$i) + ($23))|0; + $236 = $235 | 3; + $237 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$237>>2] = $236; + $238 = (($$0192$lcssa$i) + ($235)|0); + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = $240 | 1; + HEAP32[$239>>2] = $241; + } else { + $242 = $23 | 3; + $243 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$243>>2] = $242; + $244 = $$0193$lcssa$i | 1; + $245 = ((($174)) + 4|0); + HEAP32[$245>>2] = $244; + $246 = (($174) + ($$0193$lcssa$i)|0); + HEAP32[$246>>2] = $$0193$lcssa$i; + $247 = ($54|0)==(0); + if (!($247)) { + $248 = HEAP32[(35472)>>2]|0; + $249 = $54 >>> 3; + $250 = $249 << 1; + $251 = (35492 + ($250<<2)|0); + $252 = 1 << $249; + $253 = $25 & $252; + $254 = ($253|0)==(0); + if ($254) { + $255 = $25 | $252; + HEAP32[8863] = $255; + $$pre$i = ((($251)) + 8|0); + $$0189$i = $251;$$pre$phi$iZ2D = $$pre$i; + } else { + $256 = ((($251)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[(35468)>>2]|0; + $259 = ($257>>>0)<($258>>>0); + if ($259) { + _abort(); + // unreachable; + } else { + $$0189$i = $257;$$pre$phi$iZ2D = $256; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $248; + $260 = ((($$0189$i)) + 12|0); + HEAP32[$260>>2] = $248; + $261 = ((($248)) + 8|0); + HEAP32[$261>>2] = $$0189$i; + $262 = ((($248)) + 12|0); + HEAP32[$262>>2] = $251; + } + HEAP32[(35460)>>2] = $$0193$lcssa$i; + HEAP32[(35472)>>2] = $174; + } + $263 = ((($$0192$lcssa$i)) + 8|0); + $$2 = $263; + } + } else { + $$0198 = $23; + label = 153; + } + } else { + $264 = ($0>>>0)>(4294967231); + if ($264) { + $$0198 = -1; + label = 153; + } else { + $265 = (($0) + 11)|0; + $266 = $265 & -8; + $267 = HEAP32[(35456)>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$0198 = $266; + label = 153; + } else { + $269 = (0 - ($266))|0; + $270 = $265 >>> 8; + $271 = ($270|0)==(0); + if ($271) { + $$0358$i = 0; + } else { + $272 = ($266>>>0)>(16777215); + if ($272) { + $$0358$i = 31; + } else { + $273 = (($270) + 1048320)|0; + $274 = $273 >>> 16; + $275 = $274 & 8; + $276 = $270 << $275; + $277 = (($276) + 520192)|0; + $278 = $277 >>> 16; + $279 = $278 & 4; + $280 = $279 | $275; + $281 = $276 << $279; + $282 = (($281) + 245760)|0; + $283 = $282 >>> 16; + $284 = $283 & 2; + $285 = $280 | $284; + $286 = (14 - ($285))|0; + $287 = $281 << $284; + $288 = $287 >>> 15; + $289 = (($286) + ($288))|0; + $290 = $289 << 1; + $291 = (($289) + 7)|0; + $292 = $266 >>> $291; + $293 = $292 & 1; + $294 = $293 | $290; + $$0358$i = $294; + } + } + $295 = (35756 + ($$0358$i<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($296|0)==(0|0); + L128: do { + if ($297) { + $$2355$i = 0;$$3$i202 = 0;$$3350$i = $269; + label = 90; + } else { + $298 = ($$0358$i|0)==(31); + $299 = $$0358$i >>> 1; + $300 = (25 - ($299))|0; + $301 = $298 ? 0 : $300; + $302 = $266 << $301; + $$0342$i = 0;$$0347$i = $269;$$0353$i = $296;$$0359$i = $302;$$0362$i = 0; + while(1) { + $303 = ((($$0353$i)) + 4|0); + $304 = HEAP32[$303>>2]|0; + $305 = $304 & -8; + $306 = (($305) - ($266))|0; + $307 = ($306>>>0)<($$0347$i>>>0); + if ($307) { + $308 = ($306|0)==(0); + if ($308) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 94; + break L128; + } else { + $$1343$i = $$0353$i;$$1348$i = $306; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $309 = ((($$0353$i)) + 20|0); + $310 = HEAP32[$309>>2]|0; + $311 = $$0359$i >>> 31; + $312 = (((($$0353$i)) + 16|0) + ($311<<2)|0); + $313 = HEAP32[$312>>2]|0; + $314 = ($310|0)==(0|0); + $315 = ($310|0)==($313|0); + $or$cond2$i = $314 | $315; + $$1363$i = $or$cond2$i ? $$0362$i : $310; + $316 = ($313|0)==(0|0); + $not$8$i = $316 ^ 1; + $317 = $not$8$i&1; + $$0359$$i = $$0359$i << $317; + if ($316) { + $$2355$i = $$1363$i;$$3$i202 = $$1343$i;$$3350$i = $$1348$i; + label = 90; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $313;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 90) { + $318 = ($$2355$i|0)==(0|0); + $319 = ($$3$i202|0)==(0|0); + $or$cond$i = $318 & $319; + if ($or$cond$i) { + $320 = 2 << $$0358$i; + $321 = (0 - ($320))|0; + $322 = $320 | $321; + $323 = $267 & $322; + $324 = ($323|0)==(0); + if ($324) { + $$0198 = $266; + label = 153; + break; + } + $325 = (0 - ($323))|0; + $326 = $323 & $325; + $327 = (($326) + -1)|0; + $328 = $327 >>> 12; + $329 = $328 & 16; + $330 = $327 >>> $329; + $331 = $330 >>> 5; + $332 = $331 & 8; + $333 = $332 | $329; + $334 = $330 >>> $332; + $335 = $334 >>> 2; + $336 = $335 & 4; + $337 = $333 | $336; + $338 = $334 >>> $336; + $339 = $338 >>> 1; + $340 = $339 & 2; + $341 = $337 | $340; + $342 = $338 >>> $340; + $343 = $342 >>> 1; + $344 = $343 & 1; + $345 = $341 | $344; + $346 = $342 >>> $344; + $347 = (($345) + ($346))|0; + $348 = (35756 + ($347<<2)|0); + $349 = HEAP32[$348>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $349; + } else { + $$4$ph$i = $$3$i202;$$4357$ph$i = $$2355$i; + } + $350 = ($$4357$ph$i|0)==(0|0); + if ($350) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 94; + } + } + if ((label|0) == 94) { + while(1) { + label = 0; + $351 = ((($$435713$i)) + 4|0); + $352 = HEAP32[$351>>2]|0; + $353 = $352 & -8; + $354 = (($353) - ($266))|0; + $355 = ($354>>>0)<($$435114$i>>>0); + $$$4351$i = $355 ? $354 : $$435114$i; + $$4357$$4$i = $355 ? $$435713$i : $$415$i; + $356 = ((($$435713$i)) + 16|0); + $357 = HEAP32[$356>>2]|0; + $not$1$i204 = ($357|0)==(0|0); + $$sink2$i205 = $not$1$i204&1; + $358 = (((($$435713$i)) + 16|0) + ($$sink2$i205<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0|0); + if ($360) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $359; + label = 94; + } + } + } + $361 = ($$4$lcssa$i|0)==(0|0); + if ($361) { + $$0198 = $266; + label = 153; + } else { + $362 = HEAP32[(35460)>>2]|0; + $363 = (($362) - ($266))|0; + $364 = ($$4351$lcssa$i>>>0)<($363>>>0); + if ($364) { + $365 = HEAP32[(35468)>>2]|0; + $366 = ($$4$lcssa$i>>>0)<($365>>>0); + if ($366) { + _abort(); + // unreachable; + } + $367 = (($$4$lcssa$i) + ($266)|0); + $368 = ($$4$lcssa$i>>>0)<($367>>>0); + if (!($368)) { + _abort(); + // unreachable; + } + $369 = ((($$4$lcssa$i)) + 24|0); + $370 = HEAP32[$369>>2]|0; + $371 = ((($$4$lcssa$i)) + 12|0); + $372 = HEAP32[$371>>2]|0; + $373 = ($372|0)==($$4$lcssa$i|0); + do { + if ($373) { + $383 = ((($$4$lcssa$i)) + 20|0); + $384 = HEAP32[$383>>2]|0; + $385 = ($384|0)==(0|0); + if ($385) { + $386 = ((($$4$lcssa$i)) + 16|0); + $387 = HEAP32[$386>>2]|0; + $388 = ($387|0)==(0|0); + if ($388) { + $$3372$i = 0; + break; + } else { + $$1370$i = $387;$$1374$i = $386; + } + } else { + $$1370$i = $384;$$1374$i = $383; + } + while(1) { + $389 = ((($$1370$i)) + 20|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($390|0)==(0|0); + if (!($391)) { + $$1370$i = $390;$$1374$i = $389; + continue; + } + $392 = ((($$1370$i)) + 16|0); + $393 = HEAP32[$392>>2]|0; + $394 = ($393|0)==(0|0); + if ($394) { + break; + } else { + $$1370$i = $393;$$1374$i = $392; + } + } + $395 = ($$1374$i>>>0)<($365>>>0); + if ($395) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $374 = ((($$4$lcssa$i)) + 8|0); + $375 = HEAP32[$374>>2]|0; + $376 = ($375>>>0)<($365>>>0); + if ($376) { + _abort(); + // unreachable; + } + $377 = ((($375)) + 12|0); + $378 = HEAP32[$377>>2]|0; + $379 = ($378|0)==($$4$lcssa$i|0); + if (!($379)) { + _abort(); + // unreachable; + } + $380 = ((($372)) + 8|0); + $381 = HEAP32[$380>>2]|0; + $382 = ($381|0)==($$4$lcssa$i|0); + if ($382) { + HEAP32[$377>>2] = $372; + HEAP32[$380>>2] = $375; + $$3372$i = $372; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $396 = ($370|0)==(0|0); + L175: do { + if ($396) { + $487 = $267; + } else { + $397 = ((($$4$lcssa$i)) + 28|0); + $398 = HEAP32[$397>>2]|0; + $399 = (35756 + ($398<<2)|0); + $400 = HEAP32[$399>>2]|0; + $401 = ($$4$lcssa$i|0)==($400|0); + do { + if ($401) { + HEAP32[$399>>2] = $$3372$i; + $cond$i209 = ($$3372$i|0)==(0|0); + if ($cond$i209) { + $402 = 1 << $398; + $403 = $402 ^ -1; + $404 = $267 & $403; + HEAP32[(35456)>>2] = $404; + $487 = $404; + break L175; + } + } else { + $405 = HEAP32[(35468)>>2]|0; + $406 = ($370>>>0)<($405>>>0); + if ($406) { + _abort(); + // unreachable; + } else { + $407 = ((($370)) + 16|0); + $408 = HEAP32[$407>>2]|0; + $not$$i210 = ($408|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i210&1; + $409 = (((($370)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$409>>2] = $$3372$i; + $410 = ($$3372$i|0)==(0|0); + if ($410) { + $487 = $267; + break L175; + } else { + break; + } + } + } + } while(0); + $411 = HEAP32[(35468)>>2]|0; + $412 = ($$3372$i>>>0)<($411>>>0); + if ($412) { + _abort(); + // unreachable; + } + $413 = ((($$3372$i)) + 24|0); + HEAP32[$413>>2] = $370; + $414 = ((($$4$lcssa$i)) + 16|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($415|0)==(0|0); + do { + if (!($416)) { + $417 = ($415>>>0)<($411>>>0); + if ($417) { + _abort(); + // unreachable; + } else { + $418 = ((($$3372$i)) + 16|0); + HEAP32[$418>>2] = $415; + $419 = ((($415)) + 24|0); + HEAP32[$419>>2] = $$3372$i; + break; + } + } + } while(0); + $420 = ((($$4$lcssa$i)) + 20|0); + $421 = HEAP32[$420>>2]|0; + $422 = ($421|0)==(0|0); + if ($422) { + $487 = $267; + } else { + $423 = HEAP32[(35468)>>2]|0; + $424 = ($421>>>0)<($423>>>0); + if ($424) { + _abort(); + // unreachable; + } else { + $425 = ((($$3372$i)) + 20|0); + HEAP32[$425>>2] = $421; + $426 = ((($421)) + 24|0); + HEAP32[$426>>2] = $$3372$i; + $487 = $267; + break; + } + } + } + } while(0); + $427 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($427) { + $428 = (($$4351$lcssa$i) + ($266))|0; + $429 = $428 | 3; + $430 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$430>>2] = $429; + $431 = (($$4$lcssa$i) + ($428)|0); + $432 = ((($431)) + 4|0); + $433 = HEAP32[$432>>2]|0; + $434 = $433 | 1; + HEAP32[$432>>2] = $434; + } else { + $435 = $266 | 3; + $436 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$436>>2] = $435; + $437 = $$4351$lcssa$i | 1; + $438 = ((($367)) + 4|0); + HEAP32[$438>>2] = $437; + $439 = (($367) + ($$4351$lcssa$i)|0); + HEAP32[$439>>2] = $$4351$lcssa$i; + $440 = $$4351$lcssa$i >>> 3; + $441 = ($$4351$lcssa$i>>>0)<(256); + if ($441) { + $442 = $440 << 1; + $443 = (35492 + ($442<<2)|0); + $444 = HEAP32[8863]|0; + $445 = 1 << $440; + $446 = $444 & $445; + $447 = ($446|0)==(0); + do { + if ($447) { + $448 = $444 | $445; + HEAP32[8863] = $448; + $$pre$i211 = ((($443)) + 8|0); + $$0368$i = $443;$$pre$phi$i212Z2D = $$pre$i211; + } else { + $449 = ((($443)) + 8|0); + $450 = HEAP32[$449>>2]|0; + $451 = HEAP32[(35468)>>2]|0; + $452 = ($450>>>0)<($451>>>0); + if (!($452)) { + $$0368$i = $450;$$pre$phi$i212Z2D = $449; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i212Z2D>>2] = $367; + $453 = ((($$0368$i)) + 12|0); + HEAP32[$453>>2] = $367; + $454 = ((($367)) + 8|0); + HEAP32[$454>>2] = $$0368$i; + $455 = ((($367)) + 12|0); + HEAP32[$455>>2] = $443; + break; + } + $456 = $$4351$lcssa$i >>> 8; + $457 = ($456|0)==(0); + if ($457) { + $$0361$i = 0; + } else { + $458 = ($$4351$lcssa$i>>>0)>(16777215); + if ($458) { + $$0361$i = 31; + } else { + $459 = (($456) + 1048320)|0; + $460 = $459 >>> 16; + $461 = $460 & 8; + $462 = $456 << $461; + $463 = (($462) + 520192)|0; + $464 = $463 >>> 16; + $465 = $464 & 4; + $466 = $465 | $461; + $467 = $462 << $465; + $468 = (($467) + 245760)|0; + $469 = $468 >>> 16; + $470 = $469 & 2; + $471 = $466 | $470; + $472 = (14 - ($471))|0; + $473 = $467 << $470; + $474 = $473 >>> 15; + $475 = (($472) + ($474))|0; + $476 = $475 << 1; + $477 = (($475) + 7)|0; + $478 = $$4351$lcssa$i >>> $477; + $479 = $478 & 1; + $480 = $479 | $476; + $$0361$i = $480; + } + } + $481 = (35756 + ($$0361$i<<2)|0); + $482 = ((($367)) + 28|0); + HEAP32[$482>>2] = $$0361$i; + $483 = ((($367)) + 16|0); + $484 = ((($483)) + 4|0); + HEAP32[$484>>2] = 0; + HEAP32[$483>>2] = 0; + $485 = 1 << $$0361$i; + $486 = $487 & $485; + $488 = ($486|0)==(0); + if ($488) { + $489 = $487 | $485; + HEAP32[(35456)>>2] = $489; + HEAP32[$481>>2] = $367; + $490 = ((($367)) + 24|0); + HEAP32[$490>>2] = $481; + $491 = ((($367)) + 12|0); + HEAP32[$491>>2] = $367; + $492 = ((($367)) + 8|0); + HEAP32[$492>>2] = $367; + break; + } + $493 = HEAP32[$481>>2]|0; + $494 = ($$0361$i|0)==(31); + $495 = $$0361$i >>> 1; + $496 = (25 - ($495))|0; + $497 = $494 ? 0 : $496; + $498 = $$4351$lcssa$i << $497; + $$0344$i = $498;$$0345$i = $493; + while(1) { + $499 = ((($$0345$i)) + 4|0); + $500 = HEAP32[$499>>2]|0; + $501 = $500 & -8; + $502 = ($501|0)==($$4351$lcssa$i|0); + if ($502) { + label = 148; + break; + } + $503 = $$0344$i >>> 31; + $504 = (((($$0345$i)) + 16|0) + ($503<<2)|0); + $505 = $$0344$i << 1; + $506 = HEAP32[$504>>2]|0; + $507 = ($506|0)==(0|0); + if ($507) { + label = 145; + break; + } else { + $$0344$i = $505;$$0345$i = $506; + } + } + if ((label|0) == 145) { + $508 = HEAP32[(35468)>>2]|0; + $509 = ($504>>>0)<($508>>>0); + if ($509) { + _abort(); + // unreachable; + } else { + HEAP32[$504>>2] = $367; + $510 = ((($367)) + 24|0); + HEAP32[$510>>2] = $$0345$i; + $511 = ((($367)) + 12|0); + HEAP32[$511>>2] = $367; + $512 = ((($367)) + 8|0); + HEAP32[$512>>2] = $367; + break; + } + } + else if ((label|0) == 148) { + $513 = ((($$0345$i)) + 8|0); + $514 = HEAP32[$513>>2]|0; + $515 = HEAP32[(35468)>>2]|0; + $516 = ($514>>>0)>=($515>>>0); + $not$9$i = ($$0345$i>>>0)>=($515>>>0); + $517 = $516 & $not$9$i; + if ($517) { + $518 = ((($514)) + 12|0); + HEAP32[$518>>2] = $367; + HEAP32[$513>>2] = $367; + $519 = ((($367)) + 8|0); + HEAP32[$519>>2] = $514; + $520 = ((($367)) + 12|0); + HEAP32[$520>>2] = $$0345$i; + $521 = ((($367)) + 24|0); + HEAP32[$521>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $522 = ((($$4$lcssa$i)) + 8|0); + $$2 = $522; + } else { + $$0198 = $266; + label = 153; + } + } + } + } + } + } while(0); + L230: do { + if ((label|0) == 153) { + $523 = HEAP32[(35460)>>2]|0; + $524 = ($523>>>0)<($$0198>>>0); + if (!($524)) { + $525 = (($523) - ($$0198))|0; + $526 = HEAP32[(35472)>>2]|0; + $527 = ($525>>>0)>(15); + if ($527) { + $528 = (($526) + ($$0198)|0); + HEAP32[(35472)>>2] = $528; + HEAP32[(35460)>>2] = $525; + $529 = $525 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = (($528) + ($525)|0); + HEAP32[$531>>2] = $525; + $532 = $$0198 | 3; + $533 = ((($526)) + 4|0); + HEAP32[$533>>2] = $532; + } else { + HEAP32[(35460)>>2] = 0; + HEAP32[(35472)>>2] = 0; + $534 = $523 | 3; + $535 = ((($526)) + 4|0); + HEAP32[$535>>2] = $534; + $536 = (($526) + ($523)|0); + $537 = ((($536)) + 4|0); + $538 = HEAP32[$537>>2]|0; + $539 = $538 | 1; + HEAP32[$537>>2] = $539; + } + $540 = ((($526)) + 8|0); + $$2 = $540; + break; + } + $541 = HEAP32[(35464)>>2]|0; + $542 = ($541>>>0)>($$0198>>>0); + if ($542) { + $543 = (($541) - ($$0198))|0; + HEAP32[(35464)>>2] = $543; + $544 = HEAP32[(35476)>>2]|0; + $545 = (($544) + ($$0198)|0); + HEAP32[(35476)>>2] = $545; + $546 = $543 | 1; + $547 = ((($545)) + 4|0); + HEAP32[$547>>2] = $546; + $548 = $$0198 | 3; + $549 = ((($544)) + 4|0); + HEAP32[$549>>2] = $548; + $550 = ((($544)) + 8|0); + $$2 = $550; + break; + } + $551 = HEAP32[8850]|0; + $552 = ($551|0)==(0); + if ($552) { + (___pthread_mutex_lock(35424)|0); + $553 = HEAP32[8850]|0; + $554 = ($553|0)==(0); + if ($554) { + HEAP32[(35408)>>2] = 4096; + HEAP32[(35404)>>2] = 4096; + HEAP32[(35412)>>2] = -1; + HEAP32[(35416)>>2] = -1; + HEAP32[(35420)>>2] = 2; + HEAP32[(35896)>>2] = 2; + $555 = (_pthread_mutexattr_init($1)|0); + $556 = ($555|0)==(0); + if ($556) { + $557 = (_pthread_mutex_init((35900),$1)|0); + $558 = ($557|0)==(0); + if ($558) { + } + } + $559 = $2; + $560 = $559 & -16; + $561 = $560 ^ 1431655768; + HEAP32[$2>>2] = $561; + Atomics_store(HEAP32,8850,$561)|0; + } + (___pthread_mutex_unlock(35424)|0); + } + $562 = (($$0198) + 48)|0; + $563 = HEAP32[(35408)>>2]|0; + $564 = (($$0198) + 47)|0; + $565 = (($563) + ($564))|0; + $566 = (0 - ($563))|0; + $567 = $565 & $566; + $568 = ($567>>>0)>($$0198>>>0); + if ($568) { + $569 = HEAP32[(35892)>>2]|0; + $570 = ($569|0)==(0); + if (!($570)) { + $571 = HEAP32[(35884)>>2]|0; + $572 = (($571) + ($567))|0; + $573 = ($572>>>0)<=($571>>>0); + $574 = ($572>>>0)>($569>>>0); + $or$cond1$i = $573 | $574; + if ($or$cond1$i) { + $$2 = 0; + break; + } + } + $575 = HEAP32[(35896)>>2]|0; + $576 = $575 & 4; + $577 = ($576|0)==(0); + if ($577) { + $578 = HEAP32[(35476)>>2]|0; + $579 = ($578|0)==(0|0); + L258: do { + if ($579) { + label = 176; + } else { + $$0$i$i = (35928); + while(1) { + $580 = HEAP32[$$0$i$i>>2]|0; + $581 = ($580>>>0)>($578>>>0); + if (!($581)) { + $582 = ((($$0$i$i)) + 4|0); + $583 = HEAP32[$582>>2]|0; + $584 = (($580) + ($583)|0); + $585 = ($584>>>0)>($578>>>0); + if ($585) { + break; + } + } + $586 = ((($$0$i$i)) + 8|0); + $587 = HEAP32[$586>>2]|0; + $588 = ($587|0)==(0|0); + if ($588) { + label = 176; + break L258; + } else { + $$0$i$i = $587; + } + } + (___pthread_mutex_lock(35424)|0); + $611 = HEAP32[(35464)>>2]|0; + $612 = HEAP32[(35408)>>2]|0; + $613 = (($564) - ($611))|0; + $614 = (($613) + ($612))|0; + $615 = (0 - ($612))|0; + $616 = $614 & $615; + $617 = ($616>>>0)<(2147483647); + if ($617) { + $618 = (_sbrk(($616|0))|0); + $619 = HEAP32[$$0$i$i>>2]|0; + $620 = HEAP32[$582>>2]|0; + $621 = (($619) + ($620)|0); + $622 = ($618|0)==($621|0); + if ($622) { + $623 = ($618|0)==((-1)|0); + if ($623) { + $$2234253237$i = $616; + label = 190; + } else { + $$3229$i = $618;$$3235$i = $616; + } + } else { + $$2247$ph$i = $618;$$2253$ph$i = $616; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } + } + } while(0); + do { + if ((label|0) == 176) { + (___pthread_mutex_lock(35424)|0); + $589 = (_sbrk(0)|0); + $590 = ($589|0)==((-1)|0); + if ($590) { + $$2234253237$i = 0; + label = 190; + } else { + $591 = $589; + $592 = HEAP32[(35404)>>2]|0; + $593 = (($592) + -1)|0; + $594 = $593 & $591; + $595 = ($594|0)==(0); + $596 = (($593) + ($591))|0; + $597 = (0 - ($592))|0; + $598 = $596 & $597; + $599 = (($598) - ($591))|0; + $600 = $595 ? 0 : $599; + $$$i = (($600) + ($567))|0; + $601 = HEAP32[(35884)>>2]|0; + $602 = (($$$i) + ($601))|0; + $603 = ($$$i>>>0)>($$0198>>>0); + $604 = ($$$i>>>0)<(2147483647); + $or$cond$i213 = $603 & $604; + if ($or$cond$i213) { + $605 = HEAP32[(35892)>>2]|0; + $606 = ($605|0)==(0); + if (!($606)) { + $607 = ($602>>>0)<=($601>>>0); + $608 = ($602>>>0)>($605>>>0); + $or$cond2$i214 = $607 | $608; + if ($or$cond2$i214) { + $$2234253237$i = 0; + label = 190; + break; + } + } + $609 = (_sbrk(($$$i|0))|0); + $610 = ($609|0)==($589|0); + if ($610) { + $$3229$i = $589;$$3235$i = $$$i; + } else { + $$2247$ph$i = $609;$$2253$ph$i = $$$i; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } + } + } + } while(0); + do { + if ((label|0) == 184) { + $624 = (0 - ($$2253$ph$i))|0; + $625 = ($$2247$ph$i|0)!=((-1)|0); + $626 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $626 & $625; + $627 = ($562>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $627 & $or$cond7$i; + if (!($or$cond10$i)) { + $637 = ($$2247$ph$i|0)==((-1)|0); + if ($637) { + $$2234253237$i = 0; + label = 190; + break; + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; + break; + } + } + $628 = HEAP32[(35408)>>2]|0; + $629 = (($564) - ($$2253$ph$i))|0; + $630 = (($629) + ($628))|0; + $631 = (0 - ($628))|0; + $632 = $630 & $631; + $633 = ($632>>>0)<(2147483647); + if ($633) { + $634 = (_sbrk(($632|0))|0); + $635 = ($634|0)==((-1)|0); + if ($635) { + (_sbrk(($624|0))|0); + $$2234253237$i = 0; + label = 190; + break; + } else { + $636 = (($632) + ($$2253$ph$i))|0; + $$3229$i = $$2247$ph$i;$$3235$i = $636; + break; + } + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; + } + } + } while(0); + if ((label|0) == 190) { + $638 = HEAP32[(35896)>>2]|0; + $639 = $638 | 4; + HEAP32[(35896)>>2] = $639; + $$3229$i = (-1);$$3235$i = $$2234253237$i; + } + (___pthread_mutex_unlock(35424)|0); + $$4230$i = $$3229$i;$$4236$i = $$3235$i; + } else { + $$4230$i = (-1);$$4236$i = 0; + } + $640 = ($$4230$i|0)==((-1)|0); + $641 = ($567>>>0)<(2147483647); + $or$cond9$i = $641 & $640; + if ($or$cond9$i) { + (___pthread_mutex_lock(35424)|0); + $642 = (_sbrk(($567|0))|0); + $643 = (_sbrk(0)|0); + (___pthread_mutex_unlock(35424)|0); + $644 = ($642|0)!=((-1)|0); + $645 = ($643|0)!=((-1)|0); + $or$cond5$i = $644 & $645; + $646 = ($642>>>0)<($643>>>0); + $or$cond11$i = $646 & $or$cond5$i; + $647 = $643; + $648 = $642; + $649 = (($647) - ($648))|0; + $650 = (($$0198) + 40)|0; + $651 = ($649>>>0)>($650>>>0); + $$$4236$i = $651 ? $649 : $$4236$i; + $$$4230$i = $651 ? $642 : (-1); + if ($or$cond11$i) { + $$7$i = $$$4230$i;$$7239$i = $$$4236$i; + label = 194; + } + } else { + $$7$i = $$4230$i;$$7239$i = $$4236$i; + label = 194; + } + if ((label|0) == 194) { + $652 = ($$7$i|0)==((-1)|0); + if (!($652)) { + $653 = HEAP32[(35884)>>2]|0; + $654 = (($653) + ($$7239$i))|0; + HEAP32[(35884)>>2] = $654; + $655 = HEAP32[(35888)>>2]|0; + $656 = ($654>>>0)>($655>>>0); + if ($656) { + HEAP32[(35888)>>2] = $654; + } + $657 = HEAP32[(35476)>>2]|0; + $658 = ($657|0)==(0|0); + do { + if ($658) { + $659 = HEAP32[(35468)>>2]|0; + $660 = ($659|0)==(0|0); + $661 = ($$7$i>>>0)<($659>>>0); + $or$cond12$i = $660 | $661; + if ($or$cond12$i) { + HEAP32[(35468)>>2] = $$7$i; + } + HEAP32[(35928)>>2] = $$7$i; + HEAP32[(35932)>>2] = $$7239$i; + HEAP32[(35940)>>2] = 0; + $662 = HEAP32[8850]|0; + HEAP32[(35488)>>2] = $662; + HEAP32[(35484)>>2] = -1; + $$01$i$i = 0; + while(1) { + $663 = $$01$i$i << 1; + $664 = (35492 + ($663<<2)|0); + $665 = ((($664)) + 12|0); + HEAP32[$665>>2] = $664; + $666 = ((($664)) + 8|0); + HEAP32[$666>>2] = $664; + $667 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($667|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $667; + } + } + $668 = (($$7239$i) + -40)|0; + $669 = ((($$7$i)) + 8|0); + $670 = $669; + $671 = $670 & 7; + $672 = ($671|0)==(0); + $673 = (0 - ($670))|0; + $674 = $673 & 7; + $675 = $672 ? 0 : $674; + $676 = (($$7$i) + ($675)|0); + $677 = (($668) - ($675))|0; + HEAP32[(35476)>>2] = $676; + HEAP32[(35464)>>2] = $677; + $678 = $677 | 1; + $679 = ((($676)) + 4|0); + HEAP32[$679>>2] = $678; + $680 = (($676) + ($677)|0); + $681 = ((($680)) + 4|0); + HEAP32[$681>>2] = 40; + $682 = HEAP32[(35416)>>2]|0; + HEAP32[(35480)>>2] = $682; + } else { + $$024363$i = (35928); + while(1) { + $683 = HEAP32[$$024363$i>>2]|0; + $684 = ((($$024363$i)) + 4|0); + $685 = HEAP32[$684>>2]|0; + $686 = (($683) + ($685)|0); + $687 = ($$7$i|0)==($686|0); + if ($687) { + label = 205; + break; + } + $688 = ((($$024363$i)) + 8|0); + $689 = HEAP32[$688>>2]|0; + $690 = ($689|0)==(0|0); + if ($690) { + break; + } else { + $$024363$i = $689; + } + } + if ((label|0) == 205) { + $691 = ((($$024363$i)) + 12|0); + $692 = HEAP32[$691>>2]|0; + $693 = $692 & 8; + $694 = ($693|0)==(0); + if ($694) { + $695 = ($657>>>0)>=($683>>>0); + $696 = ($657>>>0)<($$7$i>>>0); + $or$cond43$i = $696 & $695; + if ($or$cond43$i) { + $697 = (($685) + ($$7239$i))|0; + HEAP32[$684>>2] = $697; + $698 = HEAP32[(35464)>>2]|0; + $699 = ((($657)) + 8|0); + $700 = $699; + $701 = $700 & 7; + $702 = ($701|0)==(0); + $703 = (0 - ($700))|0; + $704 = $703 & 7; + $705 = $702 ? 0 : $704; + $706 = (($657) + ($705)|0); + $707 = (($$7239$i) - ($705))|0; + $708 = (($698) + ($707))|0; + HEAP32[(35476)>>2] = $706; + HEAP32[(35464)>>2] = $708; + $709 = $708 | 1; + $710 = ((($706)) + 4|0); + HEAP32[$710>>2] = $709; + $711 = (($706) + ($708)|0); + $712 = ((($711)) + 4|0); + HEAP32[$712>>2] = 40; + $713 = HEAP32[(35416)>>2]|0; + HEAP32[(35480)>>2] = $713; + break; + } + } + } + $714 = HEAP32[(35468)>>2]|0; + $715 = ($$7$i>>>0)<($714>>>0); + if ($715) { + HEAP32[(35468)>>2] = $$7$i; + $779 = $$7$i; + } else { + $779 = $714; + } + $716 = (($$7$i) + ($$7239$i)|0); + $$124462$i = (35928); + while(1) { + $717 = HEAP32[$$124462$i>>2]|0; + $718 = ($717|0)==($716|0); + if ($718) { + label = 213; + break; + } + $719 = ((($$124462$i)) + 8|0); + $720 = HEAP32[$719>>2]|0; + $721 = ($720|0)==(0|0); + if ($721) { + break; + } else { + $$124462$i = $720; + } + } + if ((label|0) == 213) { + $722 = ((($$124462$i)) + 12|0); + $723 = HEAP32[$722>>2]|0; + $724 = $723 & 8; + $725 = ($724|0)==(0); + if ($725) { + HEAP32[$$124462$i>>2] = $$7$i; + $726 = ((($$124462$i)) + 4|0); + $727 = HEAP32[$726>>2]|0; + $728 = (($727) + ($$7239$i))|0; + HEAP32[$726>>2] = $728; + $729 = ((($$7$i)) + 8|0); + $730 = $729; + $731 = $730 & 7; + $732 = ($731|0)==(0); + $733 = (0 - ($730))|0; + $734 = $733 & 7; + $735 = $732 ? 0 : $734; + $736 = (($$7$i) + ($735)|0); + $737 = ((($716)) + 8|0); + $738 = $737; + $739 = $738 & 7; + $740 = ($739|0)==(0); + $741 = (0 - ($738))|0; + $742 = $741 & 7; + $743 = $740 ? 0 : $742; + $744 = (($716) + ($743)|0); + $745 = $744; + $746 = $736; + $747 = (($745) - ($746))|0; + $748 = (($736) + ($$0198)|0); + $749 = (($747) - ($$0198))|0; + $750 = $$0198 | 3; + $751 = ((($736)) + 4|0); + HEAP32[$751>>2] = $750; + $752 = ($744|0)==($657|0); + do { + if ($752) { + $753 = HEAP32[(35464)>>2]|0; + $754 = (($753) + ($749))|0; + HEAP32[(35464)>>2] = $754; + HEAP32[(35476)>>2] = $748; + $755 = $754 | 1; + $756 = ((($748)) + 4|0); + HEAP32[$756>>2] = $755; + } else { + $757 = HEAP32[(35472)>>2]|0; + $758 = ($744|0)==($757|0); + if ($758) { + $759 = HEAP32[(35460)>>2]|0; + $760 = (($759) + ($749))|0; + HEAP32[(35460)>>2] = $760; + HEAP32[(35472)>>2] = $748; + $761 = $760 | 1; + $762 = ((($748)) + 4|0); + HEAP32[$762>>2] = $761; + $763 = (($748) + ($760)|0); + HEAP32[$763>>2] = $760; + break; + } + $764 = ((($744)) + 4|0); + $765 = HEAP32[$764>>2]|0; + $766 = $765 & 3; + $767 = ($766|0)==(1); + if ($767) { + $768 = $765 & -8; + $769 = $765 >>> 3; + $770 = ($765>>>0)<(256); + L329: do { + if ($770) { + $771 = ((($744)) + 8|0); + $772 = HEAP32[$771>>2]|0; + $773 = ((($744)) + 12|0); + $774 = HEAP32[$773>>2]|0; + $775 = $769 << 1; + $776 = (35492 + ($775<<2)|0); + $777 = ($772|0)==($776|0); + do { + if (!($777)) { + $778 = ($772>>>0)<($779>>>0); + if ($778) { + _abort(); + // unreachable; + } + $780 = ((($772)) + 12|0); + $781 = HEAP32[$780>>2]|0; + $782 = ($781|0)==($744|0); + if ($782) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $783 = ($774|0)==($772|0); + if ($783) { + $784 = 1 << $769; + $785 = $784 ^ -1; + $786 = HEAP32[8863]|0; + $787 = $786 & $785; + HEAP32[8863] = $787; + break; + } + $788 = ($774|0)==($776|0); + do { + if ($788) { + $$pre10$i$i = ((($774)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $789 = ($774>>>0)<($779>>>0); + if ($789) { + _abort(); + // unreachable; + } + $790 = ((($774)) + 8|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==($744|0); + if ($792) { + $$pre$phi11$i$iZ2D = $790; + break; + } + _abort(); + // unreachable; + } + } while(0); + $793 = ((($772)) + 12|0); + HEAP32[$793>>2] = $774; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $772; + } else { + $794 = ((($744)) + 24|0); + $795 = HEAP32[$794>>2]|0; + $796 = ((($744)) + 12|0); + $797 = HEAP32[$796>>2]|0; + $798 = ($797|0)==($744|0); + do { + if ($798) { + $808 = ((($744)) + 16|0); + $809 = ((($808)) + 4|0); + $810 = HEAP32[$809>>2]|0; + $811 = ($810|0)==(0|0); + if ($811) { + $812 = HEAP32[$808>>2]|0; + $813 = ($812|0)==(0|0); + if ($813) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $812;$$1293$i$i = $808; + } + } else { + $$1291$i$i = $810;$$1293$i$i = $809; + } + while(1) { + $814 = ((($$1291$i$i)) + 20|0); + $815 = HEAP32[$814>>2]|0; + $816 = ($815|0)==(0|0); + if (!($816)) { + $$1291$i$i = $815;$$1293$i$i = $814; + continue; + } + $817 = ((($$1291$i$i)) + 16|0); + $818 = HEAP32[$817>>2]|0; + $819 = ($818|0)==(0|0); + if ($819) { + break; + } else { + $$1291$i$i = $818;$$1293$i$i = $817; + } + } + $820 = ($$1293$i$i>>>0)<($779>>>0); + if ($820) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $799 = ((($744)) + 8|0); + $800 = HEAP32[$799>>2]|0; + $801 = ($800>>>0)<($779>>>0); + if ($801) { + _abort(); + // unreachable; + } + $802 = ((($800)) + 12|0); + $803 = HEAP32[$802>>2]|0; + $804 = ($803|0)==($744|0); + if (!($804)) { + _abort(); + // unreachable; + } + $805 = ((($797)) + 8|0); + $806 = HEAP32[$805>>2]|0; + $807 = ($806|0)==($744|0); + if ($807) { + HEAP32[$802>>2] = $797; + HEAP32[$805>>2] = $800; + $$3$i$i = $797; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $821 = ($795|0)==(0|0); + if ($821) { + break; + } + $822 = ((($744)) + 28|0); + $823 = HEAP32[$822>>2]|0; + $824 = (35756 + ($823<<2)|0); + $825 = HEAP32[$824>>2]|0; + $826 = ($744|0)==($825|0); + do { + if ($826) { + HEAP32[$824>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $827 = 1 << $823; + $828 = $827 ^ -1; + $829 = HEAP32[(35456)>>2]|0; + $830 = $829 & $828; + HEAP32[(35456)>>2] = $830; + break L329; + } else { + $831 = HEAP32[(35468)>>2]|0; + $832 = ($795>>>0)<($831>>>0); + if ($832) { + _abort(); + // unreachable; + } else { + $833 = ((($795)) + 16|0); + $834 = HEAP32[$833>>2]|0; + $not$$i$i = ($834|0)!=($744|0); + $$sink1$i$i = $not$$i$i&1; + $835 = (((($795)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$835>>2] = $$3$i$i; + $836 = ($$3$i$i|0)==(0|0); + if ($836) { + break L329; + } else { + break; + } + } + } + } while(0); + $837 = HEAP32[(35468)>>2]|0; + $838 = ($$3$i$i>>>0)<($837>>>0); + if ($838) { + _abort(); + // unreachable; + } + $839 = ((($$3$i$i)) + 24|0); + HEAP32[$839>>2] = $795; + $840 = ((($744)) + 16|0); + $841 = HEAP32[$840>>2]|0; + $842 = ($841|0)==(0|0); + do { + if (!($842)) { + $843 = ($841>>>0)<($837>>>0); + if ($843) { + _abort(); + // unreachable; + } else { + $844 = ((($$3$i$i)) + 16|0); + HEAP32[$844>>2] = $841; + $845 = ((($841)) + 24|0); + HEAP32[$845>>2] = $$3$i$i; + break; + } + } + } while(0); + $846 = ((($840)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = ($847|0)==(0|0); + if ($848) { + break; + } + $849 = HEAP32[(35468)>>2]|0; + $850 = ($847>>>0)<($849>>>0); + if ($850) { + _abort(); + // unreachable; + } else { + $851 = ((($$3$i$i)) + 20|0); + HEAP32[$851>>2] = $847; + $852 = ((($847)) + 24|0); + HEAP32[$852>>2] = $$3$i$i; + break; + } + } + } while(0); + $853 = (($744) + ($768)|0); + $854 = (($768) + ($749))|0; + $$0$i17$i = $853;$$0287$i$i = $854; + } else { + $$0$i17$i = $744;$$0287$i$i = $749; + } + $855 = ((($$0$i17$i)) + 4|0); + $856 = HEAP32[$855>>2]|0; + $857 = $856 & -2; + HEAP32[$855>>2] = $857; + $858 = $$0287$i$i | 1; + $859 = ((($748)) + 4|0); + HEAP32[$859>>2] = $858; + $860 = (($748) + ($$0287$i$i)|0); + HEAP32[$860>>2] = $$0287$i$i; + $861 = $$0287$i$i >>> 3; + $862 = ($$0287$i$i>>>0)<(256); + if ($862) { + $863 = $861 << 1; + $864 = (35492 + ($863<<2)|0); + $865 = HEAP32[8863]|0; + $866 = 1 << $861; + $867 = $865 & $866; + $868 = ($867|0)==(0); + do { + if ($868) { + $869 = $865 | $866; + HEAP32[8863] = $869; + $$pre$i$i = ((($864)) + 8|0); + $$0295$i$i = $864;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $870 = ((($864)) + 8|0); + $871 = HEAP32[$870>>2]|0; + $872 = HEAP32[(35468)>>2]|0; + $873 = ($871>>>0)<($872>>>0); + if (!($873)) { + $$0295$i$i = $871;$$pre$phi$i$iZ2D = $870; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i$iZ2D>>2] = $748; + $874 = ((($$0295$i$i)) + 12|0); + HEAP32[$874>>2] = $748; + $875 = ((($748)) + 8|0); + HEAP32[$875>>2] = $$0295$i$i; + $876 = ((($748)) + 12|0); + HEAP32[$876>>2] = $864; + break; + } + $877 = $$0287$i$i >>> 8; + $878 = ($877|0)==(0); + do { + if ($878) { + $$0296$i$i = 0; + } else { + $879 = ($$0287$i$i>>>0)>(16777215); + if ($879) { + $$0296$i$i = 31; + break; + } + $880 = (($877) + 1048320)|0; + $881 = $880 >>> 16; + $882 = $881 & 8; + $883 = $877 << $882; + $884 = (($883) + 520192)|0; + $885 = $884 >>> 16; + $886 = $885 & 4; + $887 = $886 | $882; + $888 = $883 << $886; + $889 = (($888) + 245760)|0; + $890 = $889 >>> 16; + $891 = $890 & 2; + $892 = $887 | $891; + $893 = (14 - ($892))|0; + $894 = $888 << $891; + $895 = $894 >>> 15; + $896 = (($893) + ($895))|0; + $897 = $896 << 1; + $898 = (($896) + 7)|0; + $899 = $$0287$i$i >>> $898; + $900 = $899 & 1; + $901 = $900 | $897; + $$0296$i$i = $901; + } + } while(0); + $902 = (35756 + ($$0296$i$i<<2)|0); + $903 = ((($748)) + 28|0); + HEAP32[$903>>2] = $$0296$i$i; + $904 = ((($748)) + 16|0); + $905 = ((($904)) + 4|0); + HEAP32[$905>>2] = 0; + HEAP32[$904>>2] = 0; + $906 = HEAP32[(35456)>>2]|0; + $907 = 1 << $$0296$i$i; + $908 = $906 & $907; + $909 = ($908|0)==(0); + if ($909) { + $910 = $906 | $907; + HEAP32[(35456)>>2] = $910; + HEAP32[$902>>2] = $748; + $911 = ((($748)) + 24|0); + HEAP32[$911>>2] = $902; + $912 = ((($748)) + 12|0); + HEAP32[$912>>2] = $748; + $913 = ((($748)) + 8|0); + HEAP32[$913>>2] = $748; + break; + } + $914 = HEAP32[$902>>2]|0; + $915 = ($$0296$i$i|0)==(31); + $916 = $$0296$i$i >>> 1; + $917 = (25 - ($916))|0; + $918 = $915 ? 0 : $917; + $919 = $$0287$i$i << $918; + $$0288$i$i = $919;$$0289$i$i = $914; + while(1) { + $920 = ((($$0289$i$i)) + 4|0); + $921 = HEAP32[$920>>2]|0; + $922 = $921 & -8; + $923 = ($922|0)==($$0287$i$i|0); + if ($923) { + label = 280; + break; + } + $924 = $$0288$i$i >>> 31; + $925 = (((($$0289$i$i)) + 16|0) + ($924<<2)|0); + $926 = $$0288$i$i << 1; + $927 = HEAP32[$925>>2]|0; + $928 = ($927|0)==(0|0); + if ($928) { + label = 277; + break; + } else { + $$0288$i$i = $926;$$0289$i$i = $927; + } + } + if ((label|0) == 277) { + $929 = HEAP32[(35468)>>2]|0; + $930 = ($925>>>0)<($929>>>0); + if ($930) { + _abort(); + // unreachable; + } else { + HEAP32[$925>>2] = $748; + $931 = ((($748)) + 24|0); + HEAP32[$931>>2] = $$0289$i$i; + $932 = ((($748)) + 12|0); + HEAP32[$932>>2] = $748; + $933 = ((($748)) + 8|0); + HEAP32[$933>>2] = $748; + break; + } + } + else if ((label|0) == 280) { + $934 = ((($$0289$i$i)) + 8|0); + $935 = HEAP32[$934>>2]|0; + $936 = HEAP32[(35468)>>2]|0; + $937 = ($935>>>0)>=($936>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($936>>>0); + $938 = $937 & $not$7$i$i; + if ($938) { + $939 = ((($935)) + 12|0); + HEAP32[$939>>2] = $748; + HEAP32[$934>>2] = $748; + $940 = ((($748)) + 8|0); + HEAP32[$940>>2] = $935; + $941 = ((($748)) + 12|0); + HEAP32[$941>>2] = $$0289$i$i; + $942 = ((($748)) + 24|0); + HEAP32[$942>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1074 = ((($736)) + 8|0); + $$2 = $1074; + break L230; + } + } + $$0$i$i$i = (35928); + while(1) { + $943 = HEAP32[$$0$i$i$i>>2]|0; + $944 = ($943>>>0)>($657>>>0); + if (!($944)) { + $945 = ((($$0$i$i$i)) + 4|0); + $946 = HEAP32[$945>>2]|0; + $947 = (($943) + ($946)|0); + $948 = ($947>>>0)>($657>>>0); + if ($948) { + break; + } + } + $949 = ((($$0$i$i$i)) + 8|0); + $950 = HEAP32[$949>>2]|0; + $$0$i$i$i = $950; + } + $951 = ((($947)) + -47|0); + $952 = ((($951)) + 8|0); + $953 = $952; + $954 = $953 & 7; + $955 = ($954|0)==(0); + $956 = (0 - ($953))|0; + $957 = $956 & 7; + $958 = $955 ? 0 : $957; + $959 = (($951) + ($958)|0); + $960 = ((($657)) + 16|0); + $961 = ($959>>>0)<($960>>>0); + $962 = $961 ? $657 : $959; + $963 = ((($962)) + 8|0); + $964 = ((($962)) + 24|0); + $965 = (($$7239$i) + -40)|0; + $966 = ((($$7$i)) + 8|0); + $967 = $966; + $968 = $967 & 7; + $969 = ($968|0)==(0); + $970 = (0 - ($967))|0; + $971 = $970 & 7; + $972 = $969 ? 0 : $971; + $973 = (($$7$i) + ($972)|0); + $974 = (($965) - ($972))|0; + HEAP32[(35476)>>2] = $973; + HEAP32[(35464)>>2] = $974; + $975 = $974 | 1; + $976 = ((($973)) + 4|0); + HEAP32[$976>>2] = $975; + $977 = (($973) + ($974)|0); + $978 = ((($977)) + 4|0); + HEAP32[$978>>2] = 40; + $979 = HEAP32[(35416)>>2]|0; + HEAP32[(35480)>>2] = $979; + $980 = ((($962)) + 4|0); + HEAP32[$980>>2] = 27; + ;HEAP32[$963>>2]=HEAP32[(35928)>>2]|0;HEAP32[$963+4>>2]=HEAP32[(35928)+4>>2]|0;HEAP32[$963+8>>2]=HEAP32[(35928)+8>>2]|0;HEAP32[$963+12>>2]=HEAP32[(35928)+12>>2]|0; + HEAP32[(35928)>>2] = $$7$i; + HEAP32[(35932)>>2] = $$7239$i; + HEAP32[(35940)>>2] = 0; + HEAP32[(35936)>>2] = $963; + $982 = $964; + while(1) { + $981 = ((($982)) + 4|0); + HEAP32[$981>>2] = 7; + $983 = ((($982)) + 8|0); + $984 = ($983>>>0)<($947>>>0); + if ($984) { + $982 = $981; + } else { + break; + } + } + $985 = ($962|0)==($657|0); + if (!($985)) { + $986 = $962; + $987 = $657; + $988 = (($986) - ($987))|0; + $989 = HEAP32[$980>>2]|0; + $990 = $989 & -2; + HEAP32[$980>>2] = $990; + $991 = $988 | 1; + $992 = ((($657)) + 4|0); + HEAP32[$992>>2] = $991; + HEAP32[$962>>2] = $988; + $993 = $988 >>> 3; + $994 = ($988>>>0)<(256); + if ($994) { + $995 = $993 << 1; + $996 = (35492 + ($995<<2)|0); + $997 = HEAP32[8863]|0; + $998 = 1 << $993; + $999 = $997 & $998; + $1000 = ($999|0)==(0); + do { + if ($1000) { + $1001 = $997 | $998; + HEAP32[8863] = $1001; + $$pre$i18$i = ((($996)) + 8|0); + $$0211$i$i = $996;$$pre$phi$i19$iZ2D = $$pre$i18$i; + } else { + $1002 = ((($996)) + 8|0); + $1003 = HEAP32[$1002>>2]|0; + $1004 = HEAP32[(35468)>>2]|0; + $1005 = ($1003>>>0)<($1004>>>0); + if (!($1005)) { + $$0211$i$i = $1003;$$pre$phi$i19$iZ2D = $1002; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i19$iZ2D>>2] = $657; + $1006 = ((($$0211$i$i)) + 12|0); + HEAP32[$1006>>2] = $657; + $1007 = ((($657)) + 8|0); + HEAP32[$1007>>2] = $$0211$i$i; + $1008 = ((($657)) + 12|0); + HEAP32[$1008>>2] = $996; + break; + } + $1009 = $988 >>> 8; + $1010 = ($1009|0)==(0); + do { + if ($1010) { + $$0212$i$i = 0; + } else { + $1011 = ($988>>>0)>(16777215); + if ($1011) { + $$0212$i$i = 31; + break; + } + $1012 = (($1009) + 1048320)|0; + $1013 = $1012 >>> 16; + $1014 = $1013 & 8; + $1015 = $1009 << $1014; + $1016 = (($1015) + 520192)|0; + $1017 = $1016 >>> 16; + $1018 = $1017 & 4; + $1019 = $1018 | $1014; + $1020 = $1015 << $1018; + $1021 = (($1020) + 245760)|0; + $1022 = $1021 >>> 16; + $1023 = $1022 & 2; + $1024 = $1019 | $1023; + $1025 = (14 - ($1024))|0; + $1026 = $1020 << $1023; + $1027 = $1026 >>> 15; + $1028 = (($1025) + ($1027))|0; + $1029 = $1028 << 1; + $1030 = (($1028) + 7)|0; + $1031 = $988 >>> $1030; + $1032 = $1031 & 1; + $1033 = $1032 | $1029; + $$0212$i$i = $1033; + } + } while(0); + $1034 = (35756 + ($$0212$i$i<<2)|0); + $1035 = ((($657)) + 28|0); + HEAP32[$1035>>2] = $$0212$i$i; + $1036 = ((($657)) + 20|0); + HEAP32[$1036>>2] = 0; + HEAP32[$960>>2] = 0; + $1037 = HEAP32[(35456)>>2]|0; + $1038 = 1 << $$0212$i$i; + $1039 = $1037 & $1038; + $1040 = ($1039|0)==(0); + if ($1040) { + $1041 = $1037 | $1038; + HEAP32[(35456)>>2] = $1041; + HEAP32[$1034>>2] = $657; + $1042 = ((($657)) + 24|0); + HEAP32[$1042>>2] = $1034; + $1043 = ((($657)) + 12|0); + HEAP32[$1043>>2] = $657; + $1044 = ((($657)) + 8|0); + HEAP32[$1044>>2] = $657; + break; + } + $1045 = HEAP32[$1034>>2]|0; + $1046 = ($$0212$i$i|0)==(31); + $1047 = $$0212$i$i >>> 1; + $1048 = (25 - ($1047))|0; + $1049 = $1046 ? 0 : $1048; + $1050 = $988 << $1049; + $$0206$i$i = $1050;$$0207$i$i = $1045; + while(1) { + $1051 = ((($$0207$i$i)) + 4|0); + $1052 = HEAP32[$1051>>2]|0; + $1053 = $1052 & -8; + $1054 = ($1053|0)==($988|0); + if ($1054) { + label = 307; + break; + } + $1055 = $$0206$i$i >>> 31; + $1056 = (((($$0207$i$i)) + 16|0) + ($1055<<2)|0); + $1057 = $$0206$i$i << 1; + $1058 = HEAP32[$1056>>2]|0; + $1059 = ($1058|0)==(0|0); + if ($1059) { + label = 304; + break; + } else { + $$0206$i$i = $1057;$$0207$i$i = $1058; + } + } + if ((label|0) == 304) { + $1060 = HEAP32[(35468)>>2]|0; + $1061 = ($1056>>>0)<($1060>>>0); + if ($1061) { + _abort(); + // unreachable; + } else { + HEAP32[$1056>>2] = $657; + $1062 = ((($657)) + 24|0); + HEAP32[$1062>>2] = $$0207$i$i; + $1063 = ((($657)) + 12|0); + HEAP32[$1063>>2] = $657; + $1064 = ((($657)) + 8|0); + HEAP32[$1064>>2] = $657; + break; + } + } + else if ((label|0) == 307) { + $1065 = ((($$0207$i$i)) + 8|0); + $1066 = HEAP32[$1065>>2]|0; + $1067 = HEAP32[(35468)>>2]|0; + $1068 = ($1066>>>0)>=($1067>>>0); + $not$$i21$i = ($$0207$i$i>>>0)>=($1067>>>0); + $1069 = $1068 & $not$$i21$i; + if ($1069) { + $1070 = ((($1066)) + 12|0); + HEAP32[$1070>>2] = $657; + HEAP32[$1065>>2] = $657; + $1071 = ((($657)) + 8|0); + HEAP32[$1071>>2] = $1066; + $1072 = ((($657)) + 12|0); + HEAP32[$1072>>2] = $$0207$i$i; + $1073 = ((($657)) + 24|0); + HEAP32[$1073>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1075 = HEAP32[(35464)>>2]|0; + $1076 = ($1075>>>0)>($$0198>>>0); + if ($1076) { + $1077 = (($1075) - ($$0198))|0; + HEAP32[(35464)>>2] = $1077; + $1078 = HEAP32[(35476)>>2]|0; + $1079 = (($1078) + ($$0198)|0); + HEAP32[(35476)>>2] = $1079; + $1080 = $1077 | 1; + $1081 = ((($1079)) + 4|0); + HEAP32[$1081>>2] = $1080; + $1082 = $$0198 | 3; + $1083 = ((($1078)) + 4|0); + HEAP32[$1083>>2] = $1082; + $1084 = ((($1078)) + 8|0); + $$2 = $1084; + break; + } + } + } + $1085 = (___errno_location()|0); + HEAP32[$1085>>2] = 12; + $$2 = 0; + } else { + $$2 = 0; + } + } + } while(0); + $1086 = HEAP32[(35896)>>2]|0; + $1087 = $1086 & 2; + $1088 = ($1087|0)==(0); + if ($1088) { + $$1 = $$2; + STACKTOP = sp;return ($$1|0); + } + (___pthread_mutex_unlock((35900))|0); + $$1 = $$2; + STACKTOP = sp;return ($$1|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $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; + var $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, $310 = 0, $311 = 0; + var $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, $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, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(35896)>>2]|0; + $4 = $3 & 2; + $5 = ($4|0)==(0); + if (!($5)) { + $6 = (___pthread_mutex_lock((35900))|0); + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + $8 = HEAP32[(35468)>>2]|0; + $9 = ($2>>>0)<($8>>>0); + if ($9) { + _abort(); + // unreachable; + } + $10 = ((($0)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(1); + if ($13) { + _abort(); + // unreachable; + } + $14 = $11 & -8; + $15 = (($2) + ($14)|0); + $16 = $11 & 1; + $17 = ($16|0)==(0); + L14: do { + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = ($12|0)==(0); + if (!($19)) { + $20 = (0 - ($18))|0; + $21 = (($2) + ($20)|0); + $22 = (($18) + ($14))|0; + $23 = ($21>>>0)<($8>>>0); + if ($23) { + _abort(); + // unreachable; + } + $24 = HEAP32[(35472)>>2]|0; + $25 = ($21|0)==($24|0); + if ($25) { + $109 = ((($15)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = $110 & 3; + $112 = ($111|0)==(3); + if (!($112)) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $113 = (($21) + ($22)|0); + $114 = ((($21)) + 4|0); + $115 = $22 | 1; + $116 = $110 & -2; + HEAP32[(35460)>>2] = $22; + HEAP32[$109>>2] = $116; + HEAP32[$114>>2] = $115; + HEAP32[$113>>2] = $22; + break; + } + $26 = $18 >>> 3; + $27 = ($18>>>0)<(256); + if ($27) { + $28 = ((($21)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($21)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = $26 << 1; + $33 = (35492 + ($32<<2)|0); + $34 = ($29|0)==($33|0); + if (!($34)) { + $35 = ($29>>>0)<($8>>>0); + if ($35) { + _abort(); + // unreachable; + } + $36 = ((($29)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==($21|0); + if (!($38)) { + _abort(); + // unreachable; + } + } + $39 = ($31|0)==($29|0); + if ($39) { + $40 = 1 << $26; + $41 = $40 ^ -1; + $42 = HEAP32[8863]|0; + $43 = $42 & $41; + HEAP32[8863] = $43; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $44 = ($31|0)==($33|0); + if ($44) { + $$pre444 = ((($31)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $45 = ($31>>>0)<($8>>>0); + if ($45) { + _abort(); + // unreachable; + } + $46 = ((($31)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==($21|0); + if ($48) { + $$pre$phi445Z2D = $46; + } else { + _abort(); + // unreachable; + } + } + $49 = ((($29)) + 12|0); + HEAP32[$49>>2] = $31; + HEAP32[$$pre$phi445Z2D>>2] = $29; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $50 = ((($21)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = ((($21)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($21|0); + do { + if ($54) { + $64 = ((($21)) + 16|0); + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if ($67) { + $68 = HEAP32[$64>>2]|0; + $69 = ($68|0)==(0|0); + if ($69) { + $$3 = 0; + break; + } else { + $$1387 = $68;$$1390 = $64; + } + } else { + $$1387 = $66;$$1390 = $65; + } + while(1) { + $70 = ((($$1387)) + 20|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(0|0); + if (!($72)) { + $$1387 = $71;$$1390 = $70; + continue; + } + $73 = ((($$1387)) + 16|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)==(0|0); + if ($75) { + break; + } else { + $$1387 = $74;$$1390 = $73; + } + } + $76 = ($$1390>>>0)<($8>>>0); + if ($76) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $55 = ((($21)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56>>>0)<($8>>>0); + if ($57) { + _abort(); + // unreachable; + } + $58 = ((($56)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)==($21|0); + if (!($60)) { + _abort(); + // unreachable; + } + $61 = ((($53)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==($21|0); + if ($63) { + HEAP32[$58>>2] = $53; + HEAP32[$61>>2] = $56; + $$3 = $53; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $77 = ($51|0)==(0|0); + if ($77) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $78 = ((($21)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = (35756 + ($79<<2)|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($21|0)==($81|0); + do { + if ($82) { + HEAP32[$80>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $83 = 1 << $79; + $84 = $83 ^ -1; + $85 = HEAP32[(35456)>>2]|0; + $86 = $85 & $84; + HEAP32[(35456)>>2] = $86; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; + } + } else { + $87 = HEAP32[(35468)>>2]|0; + $88 = ($51>>>0)<($87>>>0); + if ($88) { + _abort(); + // unreachable; + } else { + $89 = ((($51)) + 16|0); + $90 = HEAP32[$89>>2]|0; + $not$405 = ($90|0)!=($21|0); + $$sink3 = $not$405&1; + $91 = (((($51)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$91>>2] = $$3; + $92 = ($$3|0)==(0|0); + if ($92) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; + } else { + break; + } + } + } + } while(0); + $93 = HEAP32[(35468)>>2]|0; + $94 = ($$3>>>0)<($93>>>0); + if ($94) { + _abort(); + // unreachable; + } + $95 = ((($$3)) + 24|0); + HEAP32[$95>>2] = $51; + $96 = ((($21)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==(0|0); + do { + if (!($98)) { + $99 = ($97>>>0)<($93>>>0); + if ($99) { + _abort(); + // unreachable; + } else { + $100 = ((($$3)) + 16|0); + HEAP32[$100>>2] = $97; + $101 = ((($97)) + 24|0); + HEAP32[$101>>2] = $$3; + break; + } + } + } while(0); + $102 = ((($96)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $105 = HEAP32[(35468)>>2]|0; + $106 = ($103>>>0)<($105>>>0); + if ($106) { + _abort(); + // unreachable; + } else { + $107 = ((($$3)) + 20|0); + HEAP32[$107>>2] = $103; + $108 = ((($103)) + 24|0); + HEAP32[$108>>2] = $$3; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + } + } + } + } else { + $$1 = $2;$$1382 = $14;$118 = $2; + label = 55; + } + } while(0); + do { + if ((label|0) == 55) { + $117 = ($118>>>0)<($15>>>0); + if (!($117)) { + _abort(); + // unreachable; + } + $119 = ((($15)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = $120 & 1; + $122 = ($121|0)==(0); + if ($122) { + _abort(); + // unreachable; + } + $123 = $120 & 2; + $124 = ($123|0)==(0); + if ($124) { + $125 = HEAP32[(35476)>>2]|0; + $126 = ($15|0)==($125|0); + $127 = HEAP32[(35472)>>2]|0; + if ($126) { + $128 = HEAP32[(35464)>>2]|0; + $129 = (($128) + ($$1382))|0; + HEAP32[(35464)>>2] = $129; + HEAP32[(35476)>>2] = $$1; + $130 = $129 | 1; + $131 = ((($$1)) + 4|0); + HEAP32[$131>>2] = $130; + $132 = ($$1|0)==($127|0); + if (!($132)) { + break; + } + HEAP32[(35472)>>2] = 0; + HEAP32[(35460)>>2] = 0; + break; + } + $133 = ($15|0)==($127|0); + if ($133) { + $134 = HEAP32[(35460)>>2]|0; + $135 = (($134) + ($$1382))|0; + HEAP32[(35460)>>2] = $135; + HEAP32[(35472)>>2] = $118; + $136 = $135 | 1; + $137 = ((($$1)) + 4|0); + HEAP32[$137>>2] = $136; + $138 = (($118) + ($135)|0); + HEAP32[$138>>2] = $135; + break; + } + $139 = $120 & -8; + $140 = (($139) + ($$1382))|0; + $141 = $120 >>> 3; + $142 = ($120>>>0)<(256); + L106: do { + if ($142) { + $143 = ((($15)) + 8|0); + $144 = HEAP32[$143>>2]|0; + $145 = ((($15)) + 12|0); + $146 = HEAP32[$145>>2]|0; + $147 = $141 << 1; + $148 = (35492 + ($147<<2)|0); + $149 = ($144|0)==($148|0); + if (!($149)) { + $150 = HEAP32[(35468)>>2]|0; + $151 = ($144>>>0)<($150>>>0); + if ($151) { + _abort(); + // unreachable; + } + $152 = ((($144)) + 12|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==($15|0); + if (!($154)) { + _abort(); + // unreachable; + } + } + $155 = ($146|0)==($144|0); + if ($155) { + $156 = 1 << $141; + $157 = $156 ^ -1; + $158 = HEAP32[8863]|0; + $159 = $158 & $157; + HEAP32[8863] = $159; + break; + } + $160 = ($146|0)==($148|0); + if ($160) { + $$pre442 = ((($146)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $161 = HEAP32[(35468)>>2]|0; + $162 = ($146>>>0)<($161>>>0); + if ($162) { + _abort(); + // unreachable; + } + $163 = ((($146)) + 8|0); + $164 = HEAP32[$163>>2]|0; + $165 = ($164|0)==($15|0); + if ($165) { + $$pre$phi443Z2D = $163; + } else { + _abort(); + // unreachable; + } + } + $166 = ((($144)) + 12|0); + HEAP32[$166>>2] = $146; + HEAP32[$$pre$phi443Z2D>>2] = $144; + } else { + $167 = ((($15)) + 24|0); + $168 = HEAP32[$167>>2]|0; + $169 = ((($15)) + 12|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==($15|0); + do { + if ($171) { + $182 = ((($15)) + 16|0); + $183 = ((($182)) + 4|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if ($185) { + $186 = HEAP32[$182>>2]|0; + $187 = ($186|0)==(0|0); + if ($187) { + $$3400 = 0; + break; + } else { + $$1398 = $186;$$1402 = $182; + } + } else { + $$1398 = $184;$$1402 = $183; + } + while(1) { + $188 = ((($$1398)) + 20|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($189|0)==(0|0); + if (!($190)) { + $$1398 = $189;$$1402 = $188; + continue; + } + $191 = ((($$1398)) + 16|0); + $192 = HEAP32[$191>>2]|0; + $193 = ($192|0)==(0|0); + if ($193) { + break; + } else { + $$1398 = $192;$$1402 = $191; + } + } + $194 = HEAP32[(35468)>>2]|0; + $195 = ($$1402>>>0)<($194>>>0); + if ($195) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $172 = ((($15)) + 8|0); + $173 = HEAP32[$172>>2]|0; + $174 = HEAP32[(35468)>>2]|0; + $175 = ($173>>>0)<($174>>>0); + if ($175) { + _abort(); + // unreachable; + } + $176 = ((($173)) + 12|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==($15|0); + if (!($178)) { + _abort(); + // unreachable; + } + $179 = ((($170)) + 8|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==($15|0); + if ($181) { + HEAP32[$176>>2] = $170; + HEAP32[$179>>2] = $173; + $$3400 = $170; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $196 = ($168|0)==(0|0); + if (!($196)) { + $197 = ((($15)) + 28|0); + $198 = HEAP32[$197>>2]|0; + $199 = (35756 + ($198<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($15|0)==($200|0); + do { + if ($201) { + HEAP32[$199>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $202 = 1 << $198; + $203 = $202 ^ -1; + $204 = HEAP32[(35456)>>2]|0; + $205 = $204 & $203; + HEAP32[(35456)>>2] = $205; + break L106; + } + } else { + $206 = HEAP32[(35468)>>2]|0; + $207 = ($168>>>0)<($206>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($168)) + 16|0); + $209 = HEAP32[$208>>2]|0; + $not$ = ($209|0)!=($15|0); + $$sink5 = $not$&1; + $210 = (((($168)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$210>>2] = $$3400; + $211 = ($$3400|0)==(0|0); + if ($211) { + break L106; + } else { + break; + } + } + } + } while(0); + $212 = HEAP32[(35468)>>2]|0; + $213 = ($$3400>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } + $214 = ((($$3400)) + 24|0); + HEAP32[$214>>2] = $168; + $215 = ((($15)) + 16|0); + $216 = HEAP32[$215>>2]|0; + $217 = ($216|0)==(0|0); + do { + if (!($217)) { + $218 = ($216>>>0)<($212>>>0); + if ($218) { + _abort(); + // unreachable; + } else { + $219 = ((($$3400)) + 16|0); + HEAP32[$219>>2] = $216; + $220 = ((($216)) + 24|0); + HEAP32[$220>>2] = $$3400; + break; + } + } + } while(0); + $221 = ((($215)) + 4|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + if (!($223)) { + $224 = HEAP32[(35468)>>2]|0; + $225 = ($222>>>0)<($224>>>0); + if ($225) { + _abort(); + // unreachable; + } else { + $226 = ((($$3400)) + 20|0); + HEAP32[$226>>2] = $222; + $227 = ((($222)) + 24|0); + HEAP32[$227>>2] = $$3400; + break; + } + } + } + } + } while(0); + $228 = $140 | 1; + $229 = ((($$1)) + 4|0); + HEAP32[$229>>2] = $228; + $230 = (($118) + ($140)|0); + HEAP32[$230>>2] = $140; + $231 = HEAP32[(35472)>>2]|0; + $232 = ($$1|0)==($231|0); + if ($232) { + HEAP32[(35460)>>2] = $140; + break; + } else { + $$2 = $140; + } + } else { + $233 = $120 & -2; + HEAP32[$119>>2] = $233; + $234 = $$1382 | 1; + $235 = ((($$1)) + 4|0); + HEAP32[$235>>2] = $234; + $236 = (($118) + ($$1382)|0); + HEAP32[$236>>2] = $$1382; + $$2 = $$1382; + } + $237 = $$2 >>> 3; + $238 = ($$2>>>0)<(256); + if ($238) { + $239 = $237 << 1; + $240 = (35492 + ($239<<2)|0); + $241 = HEAP32[8863]|0; + $242 = 1 << $237; + $243 = $241 & $242; + $244 = ($243|0)==(0); + if ($244) { + $245 = $241 | $242; + HEAP32[8863] = $245; + $$pre = ((($240)) + 8|0); + $$0403 = $240;$$pre$phiZ2D = $$pre; + } else { + $246 = ((($240)) + 8|0); + $247 = HEAP32[$246>>2]|0; + $248 = HEAP32[(35468)>>2]|0; + $249 = ($247>>>0)<($248>>>0); + if ($249) { + _abort(); + // unreachable; + } else { + $$0403 = $247;$$pre$phiZ2D = $246; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $250 = ((($$0403)) + 12|0); + HEAP32[$250>>2] = $$1; + $251 = ((($$1)) + 8|0); + HEAP32[$251>>2] = $$0403; + $252 = ((($$1)) + 12|0); + HEAP32[$252>>2] = $240; + break; + } + $253 = $$2 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0396 = 0; + } else { + $255 = ($$2>>>0)>(16777215); + if ($255) { + $$0396 = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $$2 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0396 = $277; + } + } + $278 = (35756 + ($$0396<<2)|0); + $279 = ((($$1)) + 28|0); + HEAP32[$279>>2] = $$0396; + $280 = ((($$1)) + 16|0); + $281 = ((($$1)) + 20|0); + HEAP32[$281>>2] = 0; + HEAP32[$280>>2] = 0; + $282 = HEAP32[(35456)>>2]|0; + $283 = 1 << $$0396; + $284 = $282 & $283; + $285 = ($284|0)==(0); + do { + if ($285) { + $286 = $282 | $283; + HEAP32[(35456)>>2] = $286; + HEAP32[$278>>2] = $$1; + $287 = ((($$1)) + 24|0); + HEAP32[$287>>2] = $278; + $288 = ((($$1)) + 12|0); + HEAP32[$288>>2] = $$1; + $289 = ((($$1)) + 8|0); + HEAP32[$289>>2] = $$1; + } else { + $290 = HEAP32[$278>>2]|0; + $291 = ($$0396|0)==(31); + $292 = $$0396 >>> 1; + $293 = (25 - ($292))|0; + $294 = $291 ? 0 : $293; + $295 = $$2 << $294; + $$0383 = $295;$$0384 = $290; + while(1) { + $296 = ((($$0384)) + 4|0); + $297 = HEAP32[$296>>2]|0; + $298 = $297 & -8; + $299 = ($298|0)==($$2|0); + if ($299) { + label = 126; + break; + } + $300 = $$0383 >>> 31; + $301 = (((($$0384)) + 16|0) + ($300<<2)|0); + $302 = $$0383 << 1; + $303 = HEAP32[$301>>2]|0; + $304 = ($303|0)==(0|0); + if ($304) { + label = 123; + break; + } else { + $$0383 = $302;$$0384 = $303; + } + } + if ((label|0) == 123) { + $305 = HEAP32[(35468)>>2]|0; + $306 = ($301>>>0)<($305>>>0); + if ($306) { + _abort(); + // unreachable; + } else { + HEAP32[$301>>2] = $$1; + $307 = ((($$1)) + 24|0); + HEAP32[$307>>2] = $$0384; + $308 = ((($$1)) + 12|0); + HEAP32[$308>>2] = $$1; + $309 = ((($$1)) + 8|0); + HEAP32[$309>>2] = $$1; + break; + } + } + else if ((label|0) == 126) { + $310 = ((($$0384)) + 8|0); + $311 = HEAP32[$310>>2]|0; + $312 = HEAP32[(35468)>>2]|0; + $313 = ($311>>>0)>=($312>>>0); + $not$437 = ($$0384>>>0)>=($312>>>0); + $314 = $313 & $not$437; + if ($314) { + $315 = ((($311)) + 12|0); + HEAP32[$315>>2] = $$1; + HEAP32[$310>>2] = $$1; + $316 = ((($$1)) + 8|0); + HEAP32[$316>>2] = $311; + $317 = ((($$1)) + 12|0); + HEAP32[$317>>2] = $$0384; + $318 = ((($$1)) + 24|0); + HEAP32[$318>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $319 = HEAP32[(35484)>>2]|0; + $320 = (($319) + -1)|0; + HEAP32[(35484)>>2] = $320; + $321 = ($320|0)==(0); + if ($321) { + $$0212$in$i = (35936); + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $322 = ($$0212$i|0)==(0|0); + $323 = ((($$0212$i)) + 8|0); + if ($322) { + break; + } else { + $$0212$in$i = $323; + } + } + HEAP32[(35484)>>2] = -1; + } + } + } while(0); + $324 = HEAP32[(35896)>>2]|0; + $325 = $324 & 2; + $326 = ($325|0)==(0); + if ($326) { + return; + } + (___pthread_mutex_unlock((35900))|0); + return; +} +function runPostSets() { +} +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 _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 _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 ___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 _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 _llvm_cttz_i32(x) { + x = x|0; + var ret = 0; + ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); + if ((ret|0) < 8) return ret|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 8)|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 16)|0; + return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +function _emscripten_set_current_thread_status(newStatus) { + newStatus = newStatus|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 _emscripten_conditional_set_current_thread_status(expectedStatus, newStatus) { + expectedStatus = expectedStatus|0; + newStatus = newStatus|0; +} +function _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|0; + totalMemory = getTotalMemory()|0; + + // Perform a compare-and-swap loop to update the new dynamic top value. This is because + // this function can becalled simultaneously in multiple threads. + do { + oldDynamicTop = Atomics_load(HEAP32, DYNAMICTOP_PTR>>2)|0; + newDynamicTop = oldDynamicTop + increment | 0; + // Asking to increase dynamic top to a too high value? In pthreads builds we cannot + // enlarge memory, so this needs to fail. + 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. + | (newDynamicTop|0) > (totalMemory|0)) { + abortOnCannotGrowMemory()|0; + } + // Attempt to update the dynamic top to new value. Another thread may have beat this thread to the update, + // in which case we will need to start over by iterating the loop body again. + oldDynamicTopOnChange = Atomics_compareExchange(HEAP32, DYNAMICTOP_PTR>>2, oldDynamicTop|0, newDynamicTop|0)|0; + } while((oldDynamicTopOnChange|0) != (oldDynamicTop|0)); + return oldDynamicTop|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 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&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](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_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|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&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +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&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +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); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,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_ii = [b5,___stdio_close,_PhysicsLoop,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _emscripten_sync_run_in_main_thread_3: _emscripten_sync_run_in_main_thread_3, _roundf: _roundf, _bitshift64Shl: _bitshift64Shl, _emscripten_atomic_load_f32: _emscripten_atomic_load_f32, ___uremdi3: ___uremdi3, ___udivdi3: ___udivdi3, _emscripten_atomic_xor_u64: _emscripten_atomic_xor_u64, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _emscripten_atomic_and_u64: _emscripten_atomic_and_u64, _emscripten_sync_run_in_main_thread: _emscripten_sync_run_in_main_thread, _emscripten_sync_run_in_main_thread_4: _emscripten_sync_run_in_main_thread_4, _emscripten_sync_run_in_main_thread_5: _emscripten_sync_run_in_main_thread_5, _emscripten_sync_run_in_main_thread_6: _emscripten_sync_run_in_main_thread_6, _emscripten_sync_run_in_main_thread_7: _emscripten_sync_run_in_main_thread_7, _emscripten_sync_run_in_main_thread_0: _emscripten_sync_run_in_main_thread_0, _emscripten_sync_run_in_main_thread_1: _emscripten_sync_run_in_main_thread_1, _emscripten_sync_run_in_main_thread_2: _emscripten_sync_run_in_main_thread_2, __emscripten_atomic_fetch_and_sub_u64: __emscripten_atomic_fetch_and_sub_u64, _emscripten_atomic_exchange_u32: _emscripten_atomic_exchange_u32, _fflush: _fflush, _emscripten_set_current_thread_status: _emscripten_set_current_thread_status, _emscripten_atomic_cas_u64: _emscripten_atomic_cas_u64, _memset: _memset, _emscripten_atomic_sub_u64: _emscripten_atomic_sub_u64, _emscripten_sync_run_in_main_thread_xprintf_varargs: _emscripten_sync_run_in_main_thread_xprintf_varargs, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, __emscripten_atomic_fetch_and_and_u64: __emscripten_atomic_fetch_and_and_u64, _emscripten_atomic_add_u64: _emscripten_atomic_add_u64, _emscripten_atomic_store_f64: _emscripten_atomic_store_f64, ___muldsi3: ___muldsi3, __emscripten_atomic_fetch_and_xor_u64: __emscripten_atomic_fetch_and_xor_u64, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_atomic_store_u64: _emscripten_atomic_store_u64, _emscripten_atomic_load_f64: _emscripten_atomic_load_f64, _emscripten_get_global_libc: _emscripten_get_global_libc, __emscripten_atomic_fetch_and_add_u64: __emscripten_atomic_fetch_and_add_u64, __emscripten_atomic_fetch_and_or_u64: __emscripten_atomic_fetch_and_or_u64, _emscripten_GetProcAddress: _emscripten_GetProcAddress, _emscripten_async_run_in_main_thread: _emscripten_async_run_in_main_thread, ___errno_location: ___errno_location, _main: _main, _emscripten_main_thread_process_queued_calls: _emscripten_main_thread_process_queued_calls, _emscripten_atomic_load_u64: _emscripten_atomic_load_u64, _free: _free, _emscripten_atomic_store_f32: _emscripten_atomic_store_f32, _emscripten_atomic_exchange_u64: _emscripten_atomic_exchange_u64, _memmove: _memmove, ___pthread_tsd_run_dtors: ___pthread_tsd_run_dtors, _malloc: _malloc, _memcpy: _memcpy, _emscripten_conditional_set_current_thread_status: _emscripten_conditional_set_current_thread_status, _sbrk: _sbrk, _emscripten_atomic_or_u64: _emscripten_atomic_or_u64, _strstr: _strstr, ___emscripten_pthread_data_constructor: ___emscripten_pthread_data_constructor, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real___emscripten_atomic_fetch_and_xor_u64 = asm["__emscripten_atomic_fetch_and_xor_u64"]; asm["__emscripten_atomic_fetch_and_xor_u64"] = 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_atomic_fetch_and_xor_u64.apply(null, arguments); +}; + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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__emscripten_atomic_load_f32 = asm["_emscripten_atomic_load_f32"]; asm["_emscripten_atomic_load_f32"] = 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_atomic_load_f32.apply(null, arguments); +}; + +var real____emscripten_pthread_data_constructor = asm["___emscripten_pthread_data_constructor"]; asm["___emscripten_pthread_data_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_pthread_data_constructor.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 real__emscripten_atomic_xor_u64 = asm["_emscripten_atomic_xor_u64"]; asm["_emscripten_atomic_xor_u64"] = 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_atomic_xor_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_u64 = asm["_emscripten_atomic_load_u64"]; asm["_emscripten_atomic_load_u64"] = 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_atomic_load_u64.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__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_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__emscripten_atomic_and_u64 = asm["_emscripten_atomic_and_u64"]; asm["_emscripten_atomic_and_u64"] = 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_atomic_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread = asm["_emscripten_sync_run_in_main_thread"]; asm["_emscripten_sync_run_in_main_thread"] = 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_sync_run_in_main_thread.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_4 = asm["_emscripten_sync_run_in_main_thread_4"]; asm["_emscripten_sync_run_in_main_thread_4"] = 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_sync_run_in_main_thread_4.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_5 = asm["_emscripten_sync_run_in_main_thread_5"]; asm["_emscripten_sync_run_in_main_thread_5"] = 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_sync_run_in_main_thread_5.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_6 = asm["_emscripten_sync_run_in_main_thread_6"]; asm["_emscripten_sync_run_in_main_thread_6"] = 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_sync_run_in_main_thread_6.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_7 = asm["_emscripten_sync_run_in_main_thread_7"]; asm["_emscripten_sync_run_in_main_thread_7"] = 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_sync_run_in_main_thread_7.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_0 = asm["_emscripten_sync_run_in_main_thread_0"]; asm["_emscripten_sync_run_in_main_thread_0"] = 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_sync_run_in_main_thread_0.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_1 = asm["_emscripten_sync_run_in_main_thread_1"]; asm["_emscripten_sync_run_in_main_thread_1"] = 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_sync_run_in_main_thread_1.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_2 = asm["_emscripten_sync_run_in_main_thread_2"]; asm["_emscripten_sync_run_in_main_thread_2"] = 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_sync_run_in_main_thread_2.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_sub_u64 = asm["__emscripten_atomic_fetch_and_sub_u64"]; asm["__emscripten_atomic_fetch_and_sub_u64"] = 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_atomic_fetch_and_sub_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_exchange_u32 = asm["_emscripten_atomic_exchange_u32"]; asm["_emscripten_atomic_exchange_u32"] = 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_atomic_exchange_u32.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__emscripten_set_current_thread_status = asm["_emscripten_set_current_thread_status"]; asm["_emscripten_set_current_thread_status"] = 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_set_current_thread_status.apply(null, arguments); +}; + +var real__emscripten_atomic_cas_u64 = asm["_emscripten_atomic_cas_u64"]; asm["_emscripten_atomic_cas_u64"] = 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_atomic_cas_u64.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__emscripten_atomic_sub_u64 = asm["_emscripten_atomic_sub_u64"]; asm["_emscripten_atomic_sub_u64"] = 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_atomic_sub_u64.apply(null, arguments); +}; + +var real__main = asm["_main"]; asm["_main"] = 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__main.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_xprintf_varargs = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = 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_sync_run_in_main_thread_xprintf_varargs.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___emscripten_atomic_fetch_and_and_u64 = asm["__emscripten_atomic_fetch_and_and_u64"]; asm["__emscripten_atomic_fetch_and_and_u64"] = 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_atomic_fetch_and_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_3 = asm["_emscripten_sync_run_in_main_thread_3"]; asm["_emscripten_sync_run_in_main_thread_3"] = 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_sync_run_in_main_thread_3.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_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__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_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__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__emscripten_atomic_store_u64 = asm["_emscripten_atomic_store_u64"]; asm["_emscripten_atomic_store_u64"] = 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_atomic_store_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f64 = asm["_emscripten_atomic_load_f64"]; asm["_emscripten_atomic_load_f64"] = 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_atomic_load_f64.apply(null, arguments); +}; + +var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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_get_global_libc.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_add_u64 = asm["__emscripten_atomic_fetch_and_add_u64"]; asm["__emscripten_atomic_fetch_and_add_u64"] = 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_atomic_fetch_and_add_u64.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_or_u64 = asm["__emscripten_atomic_fetch_and_or_u64"]; asm["__emscripten_atomic_fetch_and_or_u64"] = 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_atomic_fetch_and_or_u64.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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_GetProcAddress.apply(null, arguments); +}; + +var real__emscripten_async_run_in_main_thread = asm["_emscripten_async_run_in_main_thread"]; asm["_emscripten_async_run_in_main_thread"] = 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_async_run_in_main_thread.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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.apply(null, arguments); +}; + +var real__emscripten_main_thread_process_queued_calls = asm["_emscripten_main_thread_process_queued_calls"]; asm["_emscripten_main_thread_process_queued_calls"] = 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_main_thread_process_queued_calls.apply(null, arguments); +}; + +var real__emscripten_atomic_add_u64 = asm["_emscripten_atomic_add_u64"]; asm["_emscripten_atomic_add_u64"] = 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_atomic_add_u64.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__emscripten_atomic_store_f32 = asm["_emscripten_atomic_store_f32"]; asm["_emscripten_atomic_store_f32"] = 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_atomic_store_f32.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__emscripten_atomic_exchange_u64 = asm["_emscripten_atomic_exchange_u64"]; asm["_emscripten_atomic_exchange_u64"] = 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_atomic_exchange_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_store_f64 = asm["_emscripten_atomic_store_f64"]; asm["_emscripten_atomic_store_f64"] = 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_atomic_store_f64.apply(null, arguments); +}; + +var real____pthread_tsd_run_dtors = asm["___pthread_tsd_run_dtors"]; asm["___pthread_tsd_run_dtors"] = 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_tsd_run_dtors.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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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_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__emscripten_conditional_set_current_thread_status = asm["_emscripten_conditional_set_current_thread_status"]; asm["_emscripten_conditional_set_current_thread_status"] = 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_conditional_set_current_thread_status.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__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__emscripten_atomic_or_u64 = asm["_emscripten_atomic_or_u64"]; asm["_emscripten_atomic_or_u64"] = 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_atomic_or_u64.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.apply(null, arguments); +}; +var __emscripten_atomic_fetch_and_xor_u64 = Module["__emscripten_atomic_fetch_and_xor_u64"] = asm["__emscripten_atomic_fetch_and_xor_u64"]; +var _roundf = Module["_roundf"] = asm["_roundf"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _emscripten_atomic_load_f32 = Module["_emscripten_atomic_load_f32"] = asm["_emscripten_atomic_load_f32"]; +var ___emscripten_pthread_data_constructor = Module["___emscripten_pthread_data_constructor"] = asm["___emscripten_pthread_data_constructor"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var _emscripten_atomic_xor_u64 = Module["_emscripten_atomic_xor_u64"] = asm["_emscripten_atomic_xor_u64"]; +var _emscripten_atomic_load_u64 = Module["_emscripten_atomic_load_u64"] = asm["_emscripten_atomic_load_u64"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _emscripten_atomic_and_u64 = Module["_emscripten_atomic_and_u64"] = asm["_emscripten_atomic_and_u64"]; +var _emscripten_sync_run_in_main_thread = Module["_emscripten_sync_run_in_main_thread"] = asm["_emscripten_sync_run_in_main_thread"]; +var _emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = asm["_emscripten_sync_run_in_main_thread_4"]; +var _emscripten_sync_run_in_main_thread_5 = Module["_emscripten_sync_run_in_main_thread_5"] = asm["_emscripten_sync_run_in_main_thread_5"]; +var _emscripten_sync_run_in_main_thread_6 = Module["_emscripten_sync_run_in_main_thread_6"] = asm["_emscripten_sync_run_in_main_thread_6"]; +var _emscripten_sync_run_in_main_thread_7 = Module["_emscripten_sync_run_in_main_thread_7"] = asm["_emscripten_sync_run_in_main_thread_7"]; +var _emscripten_sync_run_in_main_thread_0 = Module["_emscripten_sync_run_in_main_thread_0"] = asm["_emscripten_sync_run_in_main_thread_0"]; +var _emscripten_sync_run_in_main_thread_1 = Module["_emscripten_sync_run_in_main_thread_1"] = asm["_emscripten_sync_run_in_main_thread_1"]; +var _emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = asm["_emscripten_sync_run_in_main_thread_2"]; +var __emscripten_atomic_fetch_and_sub_u64 = Module["__emscripten_atomic_fetch_and_sub_u64"] = asm["__emscripten_atomic_fetch_and_sub_u64"]; +var _emscripten_atomic_exchange_u32 = Module["_emscripten_atomic_exchange_u32"] = asm["_emscripten_atomic_exchange_u32"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _emscripten_set_current_thread_status = Module["_emscripten_set_current_thread_status"] = asm["_emscripten_set_current_thread_status"]; +var _emscripten_atomic_cas_u64 = Module["_emscripten_atomic_cas_u64"] = asm["_emscripten_atomic_cas_u64"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _emscripten_atomic_sub_u64 = Module["_emscripten_atomic_sub_u64"] = asm["_emscripten_atomic_sub_u64"]; +var _main = Module["_main"] = asm["_main"]; +var _emscripten_sync_run_in_main_thread_xprintf_varargs = Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var __emscripten_atomic_fetch_and_and_u64 = Module["__emscripten_atomic_fetch_and_and_u64"] = asm["__emscripten_atomic_fetch_and_and_u64"]; +var _emscripten_sync_run_in_main_thread_3 = Module["_emscripten_sync_run_in_main_thread_3"] = asm["_emscripten_sync_run_in_main_thread_3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_atomic_store_u64 = Module["_emscripten_atomic_store_u64"] = asm["_emscripten_atomic_store_u64"]; +var _emscripten_atomic_load_f64 = Module["_emscripten_atomic_load_f64"] = asm["_emscripten_atomic_load_f64"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var __emscripten_atomic_fetch_and_add_u64 = Module["__emscripten_atomic_fetch_and_add_u64"] = asm["__emscripten_atomic_fetch_and_add_u64"]; +var __emscripten_atomic_fetch_and_or_u64 = Module["__emscripten_atomic_fetch_and_or_u64"] = asm["__emscripten_atomic_fetch_and_or_u64"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var _emscripten_async_run_in_main_thread = Module["_emscripten_async_run_in_main_thread"] = asm["_emscripten_async_run_in_main_thread"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = asm["_emscripten_main_thread_process_queued_calls"]; +var _emscripten_atomic_add_u64 = Module["_emscripten_atomic_add_u64"] = asm["_emscripten_atomic_add_u64"]; +var _free = Module["_free"] = asm["_free"]; +var _emscripten_atomic_store_f32 = Module["_emscripten_atomic_store_f32"] = asm["_emscripten_atomic_store_f32"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _emscripten_atomic_exchange_u64 = Module["_emscripten_atomic_exchange_u64"] = asm["_emscripten_atomic_exchange_u64"]; +var _emscripten_atomic_store_f64 = Module["_emscripten_atomic_store_f64"] = asm["_emscripten_atomic_store_f64"]; +var ___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = asm["___pthread_tsd_run_dtors"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _emscripten_conditional_set_current_thread_status = Module["_emscripten_conditional_set_current_thread_status"] = asm["_emscripten_conditional_set_current_thread_status"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _emscripten_atomic_or_u64 = Module["_emscripten_atomic_or_u64"] = asm["_emscripten_atomic_or_u64"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +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 +} + +Module['callMain'] = Module.callMain = function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); + assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); + + args = args || []; + + ensureInitRuntime(); + + var argc = args.length+1; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + try { + + var ret = Module['_main'](argc, argv, 0); + + + // if we're not running an evented main loop, it's time to exit + exit(ret, /* implicit = */ true); + } + catch(e) { + if (e instanceof ExitStatus) { + // exit() throws this once it's done to make sure execution + // has been stopped completely + return; + } else if (e == 'SimulateInfiniteLoop') { + // running an evented main loop, don't immediately exit + Module['noExitRuntime'] = true; + return; + } else { + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); + } + } finally { + calledMain = true; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (Module['_main'] && shouldRunNow) Module['callMain'](args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + checkStackCookie(); +} +Module['run'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); + } else { + PThread.terminateAllThreads(); + + ABORT = true; + EXITSTATUS = status; + STACKTOP = initialStackTop; + + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } + + if (ENVIRONMENT_IS_NODE) { + process['exit'](status); + } + Module['quit'](status, new ExitStatus(status)); +} +Module['exit'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(what) { + if (ENVIRONMENT_IS_PTHREAD) console.error('Pthread aborting at ' + new Error().stack); + if (what !== undefined) { + Module.print(what); + Module.printErr(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'] = Module.abort = abort; + +// {{PRE_RUN_ADDITIONS}} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; +if (Module['noInitialRun']) { + shouldRunNow = false; +} + + +if (!ENVIRONMENT_IS_PTHREAD) run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/img/physac/physics_movement.png b/docs/examples/web/physac/physics_movement.png similarity index 100% rename from docs/examples/img/physac/physics_movement.png rename to docs/examples/web/physac/physics_movement.png diff --git a/docs/examples/web/physac/physics_restitution.c b/docs/examples/web/physac/physics_restitution.c index 534d125e0..70d0a14a4 100644 --- a/docs/examples/web/physac/physics_restitution.c +++ b/docs/examples/web/physac/physics_restitution.c @@ -2,9 +2,11 @@ * * Physac - Physics restitution * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread * -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition * @@ -15,104 +17,140 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" +#include "physac.h" +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +// Physac logo drawing position +int logoX = 0; +int logoY = 15; + +PhysicsBody circleA; +PhysicsBody circleB; +PhysicsBody circleC; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- int main() { // Initialization //-------------------------------------------------------------------------------------- - int screenWidth = 800; - int screenHeight = 450; - SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics restitution"); - SetTargetFPS(60); // Physac logo drawing position - int logoX = screenWidth - MeasureText("Physac", 30) - 10; - int logoY = 15; + logoX = screenWidth - MeasureText("Physac", 30) - 10; // Initialize physics and default physics bodies InitPhysics(); - // Create floor rectangle physics body - PhysicsBody floor = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, screenWidth, 100, 10); - floor->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) - floor->restitution = 1; + // Create ground rectangle physics body + PhysicsBody ground = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, screenWidth, 100, 10); + ground->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) + ground->restitution = 1; // Create circles physics body - PhysicsBody circleA = CreatePhysicsBodyCircle((Vector2){ screenWidth*0.25f, screenHeight/2 }, 30, 10); + circleA = CreatePhysicsBodyCircle((Vector2){ screenWidth*0.25f, screenHeight/2 }, 30, 10); circleA->restitution = 0; - PhysicsBody circleB = CreatePhysicsBodyCircle((Vector2){ screenWidth*0.5f, screenHeight/2 }, 30, 10); + circleB = CreatePhysicsBodyCircle((Vector2){ screenWidth*0.5f, screenHeight/2 }, 30, 10); circleB->restitution = 0.5f; - PhysicsBody circleC = CreatePhysicsBodyCircle((Vector2){ screenWidth*0.75f, screenHeight/2 }, 30, 10); + circleC = CreatePhysicsBodyCircle((Vector2){ screenWidth*0.75f, screenHeight/2 }, 30, 10); circleC->restitution = 1; - //-------------------------------------------------------------------------------------- +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key { - // Update - //---------------------------------------------------------------------------------- - if (IsKeyPressed('R')) // Reset physics input - { - // Reset circles physics bodies position and velocity - circleA->position = (Vector2){ screenWidth*0.25f, screenHeight/2 }; - circleA->velocity = (Vector2){ 0, 0 }; - circleB->position = (Vector2){ screenWidth*0.5f, screenHeight/2 }; - circleB->velocity = (Vector2){ 0, 0 }; - circleC->position = (Vector2){ screenWidth*0.75f, screenHeight/2 }; - circleC->velocity = (Vector2){ 0, 0 }; - } - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(BLACK); - - DrawFPS(screenWidth - 90, screenHeight - 30); - - // Draw created physics bodies - int bodiesCount = GetPhysicsBodiesCount(); - for (int i = 0; i < bodiesCount; i++) - { - PhysicsBody body = GetPhysicsBody(i); - - int vertexCount = GetPhysicsShapeVerticesCount(i); - for (int j = 0; j < vertexCount; j++) - { - // Get physics bodies shape vertices to draw lines - // Note: GetPhysicsShapeVertex() already calculates rotation transformations - Vector2 vertexA = GetPhysicsShapeVertex(body, j); - - int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape - Vector2 vertexB = GetPhysicsShapeVertex(body, jj); - - DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions - } - } - - DrawText("Restitution amount", (screenWidth - MeasureText("Restitution amount", 30))/2, 75, 30, WHITE); - DrawText("0", circleA->position.x - MeasureText("0", 20)/2, circleA->position.y - 7, 20, WHITE); - DrawText("0.5", circleB->position.x - MeasureText("0.5", 20)/2, circleB->position.y - 7, 20, WHITE); - DrawText("1", circleC->position.x - MeasureText("1", 20)/2, circleC->position.y - 7, 20, WHITE); - - DrawText("Press 'R' to reset example", 10, 10, 10, WHITE); - - DrawText("Physac", logoX, logoY, 30, WHITE); - DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); - - EndDrawing(); - //---------------------------------------------------------------------------------- + UpdateDrawFrame(); } +#endif // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (IsKeyPressed('R')) // Reset physics input + { + // Reset circles physics bodies position and velocity + circleA->position = (Vector2){ screenWidth*0.25f, screenHeight/2 }; + circleA->velocity = (Vector2){ 0, 0 }; + circleB->position = (Vector2){ screenWidth*0.5f, screenHeight/2 }; + circleB->velocity = (Vector2){ 0, 0 }; + circleC->position = (Vector2){ screenWidth*0.75f, screenHeight/2 }; + circleC->velocity = (Vector2){ 0, 0 }; + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(BLACK); + + DrawFPS(screenWidth - 90, screenHeight - 30); + + // Draw created physics bodies + int bodiesCount = GetPhysicsBodiesCount(); + for (int i = 0; i < bodiesCount; i++) + { + PhysicsBody body = GetPhysicsBody(i); + + int vertexCount = GetPhysicsShapeVerticesCount(i); + for (int j = 0; j < vertexCount; j++) + { + // Get physics bodies shape vertices to draw lines + // Note: GetPhysicsShapeVertex() already calculates rotation transformations + Vector2 vertexA = GetPhysicsShapeVertex(body, j); + + int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape + Vector2 vertexB = GetPhysicsShapeVertex(body, jj); + + DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions + } + } + + DrawText("Restitution amount", (screenWidth - MeasureText("Restitution amount", 30))/2, 75, 30, WHITE); + DrawText("0", circleA->position.x - MeasureText("0", 20)/2, circleA->position.y - 7, 20, WHITE); + DrawText("0.5", circleB->position.x - MeasureText("0.5", 20)/2, circleB->position.y - 7, 20, WHITE); + DrawText("1", circleC->position.x - MeasureText("1", 20)/2, circleC->position.y - 7, 20, WHITE); + + DrawText("Press 'R' to reset example", 10, 10, 10, WHITE); + + DrawText("Physac", logoX, logoY, 30, WHITE); + DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} diff --git a/docs/examples/web/physac/physics_restitution.js b/docs/examples/web/physac/physics_restitution.js new file mode 100644 index 000000000..49587f81b --- /dev/null +++ b/docs/examples/web/physac/physics_restitution.js @@ -0,0 +1,35346 @@ +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// The environment setup code below is customized to use Module. +// *** Environment setup code *** +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +// 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) + +if (Module['ENVIRONMENT']) { + if (Module['ENVIRONMENT'] === 'WEB') { + ENVIRONMENT_IS_WEB = true; + } else if (Module['ENVIRONMENT'] === 'WORKER') { + ENVIRONMENT_IS_WORKER = true; + } else if (Module['ENVIRONMENT'] === 'NODE') { + ENVIRONMENT_IS_NODE = true; + } else if (Module['ENVIRONMENT'] === 'SHELL') { + ENVIRONMENT_IS_SHELL = true; + } else { + throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); + } +} else { + 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; +} + +var ENVIRONMENT_IS_PTHREAD; +if (!ENVIRONMENT_IS_PTHREAD) ENVIRONMENT_IS_PTHREAD = false; // ENVIRONMENT_IS_PTHREAD=true will have been preset in pthread-main.js. Make it false in the main runtime thread. +var PthreadWorkerInit; // Collects together variables that are needed at initialization time for the web workers that host pthreads. +if (!ENVIRONMENT_IS_PTHREAD) PthreadWorkerInit = {}; +var currentScriptUrl = ENVIRONMENT_IS_WORKER ? undefined : document.currentScript.src; + +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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var 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, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. 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 + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // 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'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (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 Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// Runtime essentials +//======================================== + +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var EXITSTATUS = 0; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { + 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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = function cwrap(ident, returnType, argTypes) { + argTypes = argTypes || []; + var cfunc = getCFunc(ident); + // When the function takes numbers and returns a number, we can just return + // the original function + var numericArgs = argTypes.every(function(type){ return type === 'number'}); + var numericRet = (returnType !== 'string'); + if ( numericRet && numericArgs) { + return cfunc; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ length) { + if (length === 0 || !ptr) return ''; + // TODO: use TextDecoder + // 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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 and https://www.ietf.org/rfc/rfc2279.txt and 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 + +if (!ENVIRONMENT_IS_PTHREAD) { // Pthreads have already initialized these variables in src/pthread-main.js, where they were passed to the thread worker at startup time + STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; + staticSealed = false; +} + +if (ENVIRONMENT_IS_PTHREAD) { + staticSealed = true; // The static memory area has been initialized already in the main thread, pthreads skip this. +} + +// 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); +} + + +function enlargeMemory() { + abort('Cannot enlarge memory arrays, since compiling with pthreads support enabled (-s USE_PTHREADS=1).'); +} + + +var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; +var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; +if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + 'JS engine does not provide full typed array support'); + + +if (typeof SharedArrayBuffer !== 'undefined') { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new SharedArrayBuffer(TOTAL_MEMORY); + // Currently SharedArrayBuffer does not have a slice() operation, so polyfill it in. + // Adapted from https://github.com/ttaubert/node-arraybuffer-slice, (c) 2014 Tim Taubert + // arraybuffer-slice may be freely distributed under the MIT license. + (function (undefined) { + "use strict"; + function clamp(val, length) { + val = (val|0) || 0; + if (val < 0) return Math.max(val + length, 0); + return Math.min(val, length); + } + if (typeof SharedArrayBuffer !== 'undefined' && !SharedArrayBuffer.prototype.slice) { + SharedArrayBuffer.prototype.slice = function (from, to) { + var length = this.byteLength; + var begin = clamp(from, length); + var end = length; + if (to !== undefined) end = clamp(to, length); + if (begin > end) return new ArrayBuffer(0); + var num = end - begin; + var target = new ArrayBuffer(num); + var targetArray = new Uint8Array(target); + var sourceArray = new Uint8Array(this, begin, num); + targetArray.set(sourceArray); + return target; + }; + } + })(); +} else { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new ArrayBuffer(TOTAL_MEMORY); +} +updateGlobalBufferViews(); + +if (typeof Atomics === 'undefined') { + // Polyfill singlethreaded atomics ops from http://lars-t-hansen.github.io/ecmascript_sharedmem/shmem.html#Atomics.add + // No thread-safety needed since we don't have multithreading support. + Atomics = {}; + Atomics['add'] = function(t, i, v) { var w = t[i]; t[i] += v; return w; } + Atomics['and'] = function(t, i, v) { var w = t[i]; t[i] &= v; return w; } + Atomics['compareExchange'] = function(t, i, e, r) { var w = t[i]; if (w == e) t[i] = r; return w; } + Atomics['exchange'] = function(t, i, v) { var w = t[i]; t[i] = v; return w; } + Atomics['wait'] = function(t, i, v, o) { if (t[i] != v) return 'not-equal'; else return 'timed-out'; } + Atomics['wake'] = function(t, i, c) { return 0; } + Atomics['wakeOrRequeue'] = function(t, i1, c, i2, v) { return 0; } + Atomics['isLockFree'] = function(s) { return true; } + Atomics['load'] = function(t, i) { return t[i]; } + Atomics['or'] = function(t, i, v) { var w = t[i]; t[i] |= v; return w; } + Atomics['store'] = function(t, i, v) { t[i] = v; return v; } + Atomics['sub'] = function(t, i, v) { var w = t[i]; t[i] -= v; return w; } + Atomics['xor'] = function(t, i, v) { var w = t[i]; t[i] ^= v; return w; } +} + + +function getTotalMemory() { + return TOTAL_MEMORY; +} + +// Endianness check (note: assumes compiler arch was little-endian) +if (!ENVIRONMENT_IS_PTHREAD) { + HEAP32[0] = 0x63736d65; /* 'emsc' */ +} else { + if (HEAP32[0] !== 0x63736d65) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; +} +HEAP16[1] = 0x6373; +if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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 runtime has exited + +var runtimeInitialized = false; +var runtimeExited = false; + +if (ENVIRONMENT_IS_PTHREAD) runtimeInitialized = true; // The runtime is hosted in the main thread, and bits shared to pthreads via SharedArrayBuffer. No need to init again in pthread. + +function preRun() { + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + // 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 (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + if (runtimeInitialized) return; + runtimeInitialized = true; + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + callRuntimeCallbacks(__ATEXIT__); + runtimeExited = true; +} + +function postRun() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + // 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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + +// Atomics.exchange is not yet implemented in the spec, so polyfill that in via compareExchange in the meanwhile. +// TODO: Keep an eye out for the opportunity to remove this once Atomics.exchange is available. +if (typeof Atomics !== 'undefined' && !Atomics['exchange']) { + Atomics['exchange'] = function(heap, index, val) { + var oldVal, oldVal2; + do { + oldVal = Atomics['load'](heap, index); + oldVal2 = Atomics['compareExchange'](heap, index, oldVal, val); + } while(oldVal != oldVal2); + return oldVal; + } +} + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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 +// PRE_RUN_ADDITIONS (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) { + // We should never get here in pthreads (could no-op this out if called in pthreads, but that might indicate a bug in caller side, + // so good to be very explicit) + assert(!ENVIRONMENT_IS_PTHREAD); + 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; + Module.printErr('still waiting on run dependencies:'); + } + Module.printErr('dependency: ' + dep); + } + if (shown) { + Module.printErr('(end of list)'); + } + }, 10000); + } + } else { + Module.printErr('warning: run dependency added without ID'); + } +} +Module["addRunDependency"] = addRunDependency; + +function removeRunDependency(id) { + runDependencies--; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('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["removeRunDependency"] = removeRunDependency; + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + + +var memoryInitializer = null; + + + + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }, + function() { postMessage({ cmd: 'processQueuedMainThreadWork' }) }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + +function _emscripten_asm_const_v(code) { + return ASM_CONSTS[code](); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 38352; + /* global initializers */ if (!ENVIRONMENT_IS_PTHREAD) __ATINIT__.push({ func: function() { ___emscripten_pthread_data_constructor() } }); + + +if (!ENVIRONMENT_IS_PTHREAD) { +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,15,0,0,0,32,186,32,60,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,20,0,0,0,180,11,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,199,145,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,104,121,115,97,99,32,91,114,97,121,108,105,98,93,32,45,32,80,104,121,115,105,99,115,32,114,101,115,116,105,116,117,116,105,111,110,0,80,104,121,115,97,99,0,82,101,115,116,105,116,117,116,105,111,110,32,97,109,111,117,110,116,0,48,0,48,46,53,0,49,0,80,114,101,115,115,32,39,82,39,32,116,111,32,114,101,115,101,116,32,101,120,97,109,112,108,101,0,80,111,119,101,114,101,100,32,98,121,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,37,50,105,32,70,80,83,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,101,109,115,99,114,105,112,116,101,110,95,105,115,95,109,97,105,110,95,114,117,110,116,105,109,101,95,116,104,114,101,97,100,40,41,32,38,38,32,34,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,32,109,117,115,116,32,98,101,32,99,97,108,108,101,100,32,102,114,111,109,32,116,104,101,32,109,97,105,110,32,116,104,114,101,97,100,33,34,0,67,58,92,101,109,115,100,107,92,101,109,115,99,114,105,112,116,101,110,92,49,46,51,55,46,57,92,115,121,115,116,101,109,92,108,105,98,92,112,116,104,114,101,97,100,92,108,105,98,114,97,114,121,95,112,116,104,114,101,97,100,46,99,0,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,0,48,32,38,38,32,34,73,110,118,97,108,105,100,32,69,109,115,99,114,105,112,116,101,110,32,112,116,104,114,101,97,100,32,95,100,111,95,99,97,108,108,32,111,112,99,111,100,101,33,34,0,95,100,111,95,99,97,108,108,0,99,97,108,108,0,101,109,115,99,114,105,112,116,101,110,95,97,115,121,110,99,95,114,117,110,95,105,110,95,109,97,105,110,95,116,104,114,101,97,100,0,112,111,115,116,77,101,115,115,97,103,101,40,123,32,99,109,100,58,32,39,112,114,111,99,101,115,115,81,117,101,117,101,100,77,97,105,110,84,104,114,101,97,100,87,111,114,107,39,32,125,41,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +} + + + + + +/* no memory initializer */ +var tempDoublePtr; + +if (!ENVIRONMENT_IS_PTHREAD) tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); + +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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + function ___pthread_setcancelstate() { return 0 } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + + + 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 Module.printErr('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) { + Module['print'](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) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function (tty, val) { + if (val === null || val === 10) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['printErr'](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); + + 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(); + }; + }); + },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, { encoding: 'binary', 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/); + },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) { + // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so + // propagate write bits to execute bits. + stat.mode = stat.mode | ((stat.mode & 146) >> 1); + } + } 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); + },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString: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. + if (flags in NODEFS.flagsToPermissionStringMap) { + return NODEFS.flagsToPermissionStringMap[flags]; + } 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.flagsToPermissionString(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) { + if (length === 0) return 0; // node errors on 0 length reads + // FIXME this is terrible. + var nbuffer = new Buffer(length); + var res; + try { + res = fs.readSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + if (res > 0) { + for (var i = 0; i < res; i++) { + buffer[offset + i] = nbuffer[i]; + } + } + return res; + },write:function (stream, buffer, offset, length, position) { + // FIXME this is terrible. + var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); + var res; + try { + res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return res; + },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; if (ENVIRONMENT_IS_PTHREAD) _stdin = PthreadWorkerInit._stdin; else PthreadWorkerInit._stdin = _stdin = allocate(1, "i32*", ALLOC_STATIC); + + var _stdout; if (ENVIRONMENT_IS_PTHREAD) _stdout = PthreadWorkerInit._stdout; else PthreadWorkerInit._stdout = _stdout = allocate(1, "i32*", ALLOC_STATIC); + + var _stderr; if (ENVIRONMENT_IS_PTHREAD) _stderr = PthreadWorkerInit._stderr; else PthreadWorkerInit._stderr = _stderr = allocate(1, "i32*", ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],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; + Module['printErr']('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 (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); + } + },llseek:function (stream, offset, whence) { + 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 ((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 = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } 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 ((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 = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } 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 (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(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'; + opts.encoding = opts.encoding || 'utf8'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var stream = FS.open(path, opts.flags, opts.mode); + if (opts.encoding === 'utf8') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); + } else if (opts.encoding === 'binary') { + FS.write(stream, data, 0, data.length, 0, opts.canOwn); + } + 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) { + //Module.printErr(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]; + 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 = ''; + }); + },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 ___syscall54(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 54, varargs) } + SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + case 21506: { + 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; + } + default: abort('bad ioctl syscall ' + op); + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _utime(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(12, path, times); + // int utime(const char *path, const struct utimbuf *times); + // http://pubs.opengroup.org/onlinepubs/009695399/basedefs/utime.h.html + var time; + if (times) { + // NOTE: We don't keep track of access timestamps. + var offset = 4; + time = HEAP32[(((times)+(offset))>>2)]; + time *= 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + + + + var PROCINFO={ppid:1,pid:42,sid:42,pgid:42}; + + + var __pthread_ptr=0; + + var __pthread_is_main_browser_thread=0;function __register_pthread_ptr(pthreadPtr, isMainBrowserThread, isMainRuntimeThread) { + pthreadPtr = pthreadPtr|0; + isMainBrowserThread = isMainBrowserThread|0; + isMainRuntimeThread = isMainRuntimeThread|0; + __pthread_ptr = pthreadPtr; + __pthread_is_main_browser_thread = isMainBrowserThread; + __pthread_is_main_runtime_thread = isMainRuntimeThread; + } + + var _emscripten_main_thread_process_queued_calls=undefined;var PThread={MAIN_THREAD_ID:1,mainThreadInfo:{schedPolicy:0,schedPrio:0},unusedWorkerPool:[],runningWorkers:[],initMainThreadBlock:function () { + if (ENVIRONMENT_IS_PTHREAD) return undefined; + PThread.mainThreadBlock = allocate(244, "i32*", ALLOC_STATIC); + __register_pthread_ptr(PThread.mainThreadBlock, /*isMainBrowserThread=*/!ENVIRONMENT_IS_WORKER, /*isMainRuntimeThread=*/1); // Pass the thread address inside the asm.js scope to store it for fast access that avoids the need for a FFI out. + + for (var i = 0; i < 244/4; ++i) HEAPU32[PThread.mainThreadBlock/4+i] = 0; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((PThread.mainThreadBlock)+(24))>>2)]=PThread.mainThreadBlock; + + // Allocate memory for thread-local storage. + var tlsMemory = allocate(128 * 4, "i32*", ALLOC_STATIC); + for (var i = 0; i < 128; ++i) HEAPU32[tlsMemory/4+i] = 0; + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 52 ) >> 2, PThread.mainThreadBlock); // Main thread ID. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 56 ) >> 2, PROCINFO.pid); // Process ID. + + },pthreads:{},pthreadIdCounter:2,exitHandlers:null,setThreadStatus:function () {},runExitHandlers:function () { + if (PThread.exitHandlers !== null) { + while (PThread.exitHandlers.length > 0) { + PThread.exitHandlers.pop()(); + } + PThread.exitHandlers = null; + } + + // Call into the musl function that runs destructors of all thread-specific data. + if (ENVIRONMENT_IS_PTHREAD && threadInfoStruct) ___pthread_tsd_run_dtors(); + },threadExit:function (exitCode) { + var tb = _pthread_self(); + if (tb) { // If we haven't yet exited? + Atomics.store(HEAPU32, (tb + 4 ) >> 2, exitCode); + // When we publish this, the main thread is free to deallocate the thread object and we are done. + // Therefore set threadInfoStruct = 0; above to 'release' the object in this worker thread. + Atomics.store(HEAPU32, (tb + 0 ) >> 2, 1); + + // Disable all cancellation so that executing the cleanup handlers won't trigger another JS + // canceled exception to be thrown. + Atomics.store(HEAPU32, (tb + 72 ) >> 2, 1/*PTHREAD_CANCEL_DISABLE*/); + Atomics.store(HEAPU32, (tb + 76 ) >> 2, 0/*PTHREAD_CANCEL_DEFERRED*/); + PThread.runExitHandlers(); + + _emscripten_futex_wake(tb + 0, 2147483647); + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + threadInfoStruct = 0; + if (ENVIRONMENT_IS_PTHREAD) { + // This worker no longer owns any WebGL OffscreenCanvases, so transfer them back to parent thread. + var transferList = []; + + + postMessage({ cmd: 'exit' }); + } + } + },threadCancel:function () { + PThread.runExitHandlers(); + Atomics.store(HEAPU32, (threadInfoStruct + 4 ) >> 2, -1/*PTHREAD_CANCELED*/); + Atomics.store(HEAPU32, (threadInfoStruct + 0 ) >> 2, 1); // Mark the thread as no longer running. + _emscripten_futex_wake(threadInfoStruct + 0, 2147483647); // wake all threads + threadInfoStruct = selfThreadId = 0; // Not hosting a pthread anymore in this worker, reset the info structures to null. + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + postMessage({ cmd: 'cancelDone' }); + },terminateAllThreads:function () { + for (var t in PThread.pthreads) { + var pthread = PThread.pthreads[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.pthreads = {}; + for (var t in PThread.unusedWorkerPool) { + var pthread = PThread.unusedWorkerPool[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.unusedWorkerPool = []; + for (var t in PThread.runningWorkers) { + var pthread = PThread.runningWorkers[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.runningWorkers = []; + },freeThreadData:function (pthread) { + if (!pthread) return; + if (pthread.threadInfoStruct) { + var tlsMemory = HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]; + HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]=0; + _free(pthread.tlsMemory); + _free(pthread.threadInfoStruct); + } + pthread.threadInfoStruct = 0; + if (pthread.allocatedOwnStack && pthread.stackBase) _free(pthread.stackBase); + pthread.stackBase = 0; + if (pthread.worker) pthread.worker.pthread = null; + },receiveObjectTransfer:function (data) { + },allocateUnusedWorkers:function (numWorkers, onFinishedLoading) { + if (typeof SharedArrayBuffer === 'undefined') return; // No multithreading support, no-op. + Module['print']('Preallocating ' + numWorkers + ' workers for a pthread spawn pool.'); + + var numWorkersLoaded = 0; + for (var i = 0; i < numWorkers; ++i) { + var pthreadMainJs = 'pthread-main.js'; + // Allow HTML module to configure the location where the 'pthread-main.js' file will be loaded from, + // either via Module.locateFile() function, or via Module.pthreadMainPrefixURL string. If neither + // of these are passed, then the default URL 'pthread-main.js' relative to the main html file is loaded. + if (typeof Module['locateFile'] === 'function') pthreadMainJs = Module['locateFile'](pthreadMainJs); + else if (Module['pthreadMainPrefixURL']) pthreadMainJs = Module['pthreadMainPrefixURL'] + pthreadMainJs; + var worker = new Worker(pthreadMainJs); + + worker.onmessage = function(e) { + // If this message is intended to a recipient that is not the main thread, forward it to the target thread. + if (e.data.targetThread && e.data.targetThread != _pthread_self()) { + var thread = PThread.pthreads[e.data.targetThread]; + if (thread) { + thread.worker.postMessage(e.data, e.data.transferList); + } else { + console.error('Internal error! Worker sent a message "' + e.data.cmd + '" to target pthread ' + e.data.targetThread + ', but that thread no longer exists!'); + } + return; + } + + if (e.data.cmd === 'processQueuedMainThreadWork') { + // TODO: Must post message to main Emscripten thread in PROXY_TO_WORKER mode. + _emscripten_main_thread_process_queued_calls(); + } else if (e.data.cmd === 'spawnThread') { + __spawn_thread(e.data); + } else if (e.data.cmd === 'cleanupThread') { + __cleanup_thread(e.data.thread); + } else if (e.data.cmd === 'killThread') { + __kill_thread(e.data.thread); + } else if (e.data.cmd === 'cancelThread') { + __cancel_thread(e.data.thread); + } else if (e.data.cmd === 'loaded') { + ++numWorkersLoaded; + if (numWorkersLoaded === numWorkers && onFinishedLoading) { + onFinishedLoading(); + } + } else if (e.data.cmd === 'print') { + Module['print']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'printErr') { + Module['printErr']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'alert') { + alert('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'exit') { + // currently no-op + } else if (e.data.cmd === 'cancelDone') { + PThread.freeThreadData(worker.pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + // TODO: Free if detached. + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } else if (e.data.cmd === 'objectTransfer') { + PThread.receiveObjectTransfer(e.data); + } else { + Module['printErr']("worker sent an unknown command " + e.data.cmd); + } + }; + + worker.onerror = function(e) { + Module['printErr']('pthread sent an error! ' + e.filename + ':' + e.lineno + ': ' + e.message); + }; + + // Allocate tempDoublePtr for the worker. This is done here on the worker's behalf, since we may need to do this statically + // if the runtime has not been loaded yet, etc. - so we just use getMemory, which is main-thread only. + var tempDoublePtr = getMemory(8); // TODO: leaks. Cleanup after worker terminates. + + // Ask the new worker to load up the Emscripten-compiled page. This is a heavy operation. + worker.postMessage({ + cmd: 'load', + url: currentScriptUrl, + buffer: HEAPU8.buffer, + tempDoublePtr: tempDoublePtr, + TOTAL_MEMORY: TOTAL_MEMORY, + STATICTOP: STATICTOP, + DYNAMIC_BASE: DYNAMIC_BASE, + DYNAMICTOP_PTR: DYNAMICTOP_PTR, + PthreadWorkerInit: PthreadWorkerInit + }); + PThread.unusedWorkerPool.push(worker); + } + },getNewWorker:function () { + if (PThread.unusedWorkerPool.length == 0) PThread.allocateUnusedWorkers(1); + if (PThread.unusedWorkerPool.length > 0) return PThread.unusedWorkerPool.pop(); + else return null; + },busySpinWait:function (msecs) { + var t = performance.now() + msecs; + while(performance.now() < t) { + ; + } + }};var __pthread_is_main_runtime_thread=0;function _emscripten_is_main_runtime_thread() { + return __pthread_is_main_runtime_thread|0; // Semantically the same as testing "!ENVIRONMENT_IS_PTHREAD" outside the asm.js scope + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _atexit(func, arg) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(110, func, arg); + __ATEXIT__.unshift({ func: func, arg: arg }); + } + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + function ___syscall6(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 6, 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 _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + function ___syscall140(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 140, varargs) } + SYSCALLS.varargs = varargs; + try { + // llseek + var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___syscall146(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 146, 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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + var _tzname; if (ENVIRONMENT_IS_PTHREAD) _tzname = PthreadWorkerInit._tzname; else PthreadWorkerInit._tzname = _tzname = allocate(8, "i32*", ALLOC_STATIC); + + var _daylight; if (ENVIRONMENT_IS_PTHREAD) _daylight = PthreadWorkerInit._daylight; else PthreadWorkerInit._daylight = _daylight = allocate(1, "i32*", ALLOC_STATIC); + + var _timezone; if (ENVIRONMENT_IS_PTHREAD) _timezone = PthreadWorkerInit._timezone; else PthreadWorkerInit._timezone = _timezone = allocate(1, "i32*", ALLOC_STATIC);function _tzset() { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_0(119); + // TODO: Use (malleable) environment variables instead of system settings. + if (_tzset.called) return; + _tzset.called = true; + + HEAP32[((_timezone)>>2)]=-(new Date()).getTimezoneOffset() * 60; + + var winter = new Date(2000, 0, 1); + var summer = new Date(2000, 6, 1); + HEAP32[((_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[((_tzname)>>2)]=winterNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=summerNamePtr; + } else { + HEAP32[((_tzname)>>2)]=summerNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=winterNamePtr; + } + } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _sysconf(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(72, 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 _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + 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 _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + + + + + var _environ; if (ENVIRONMENT_IS_PTHREAD) _environ = PthreadWorkerInit._environ; else PthreadWorkerInit._environ = _environ = allocate(1, "i32*", ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env) { + // 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'; + ENV['_'] = Module['thisProgram']; + // Allocate memory. + poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC); + envPtr = allocate(MAX_ENV_VALUES * 4, + 'i8*', ALLOC_STATIC); + 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; + }var ENV={};function _clearenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(112, name); + // int clearenv (void); + // http://www.gnu.org/s/hello/manual/libc/Environment-Access.html#index-clearenv-3107 + ENV = {}; + ___buildEnvironment(ENV); + return 0; + } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + var _emscripten_asm_const=true; + + function _chroot(path) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(37, path); + // int chroot(const char *path); + // http://pubs.opengroup.org/onlinepubs/7908799/xsh/chroot.html + ___setErrNo(ERRNO_CODES.EACCES); + return -1; + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _unsetenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(114, name); + // int unsetenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/unsetenv.html + if (name === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + name = Pointer_stringify(name); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name)) { + delete ENV[name]; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + + + function _emscripten_get_now_is_monotonic() { + // return whether emscripten_get_now is guaranteed monotonic; the Date.now + // implementation is not :( + return ENVIRONMENT_IS_NODE || (typeof dateNow !== 'undefined') || + ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self['performance'] && self['performance']['now']); + }function _clock_gettime(clk_id, tp) { + // int clock_gettime(clockid_t clk_id, struct timespec *tp); + var now; + if (clk_id === 0) { + now = Date.now(); + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now(); + } else { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + HEAP32[((tp)>>2)]=(now/1000)|0; // seconds + HEAP32[(((tp)+(4))>>2)]=((now % 1000)*1000*1000)|0; // nanoseconds + return 0; + }function ___clock_gettime() { + return _clock_gettime.apply(null, arguments) + } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + + function __cleanup_thread(pthread_ptr) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _cleanup_thread() can only ever be called from main application thread!'; + if (!pthread_ptr) throw 'Internal Error! Null pthread_ptr in _cleanup_thread!'; + HEAP32[(((pthread_ptr)+(24))>>2)]=0; + var pthread = PThread.pthreads[pthread_ptr]; + var worker = pthread.worker; + PThread.freeThreadData(pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } + + function __pthread_testcancel_js() { + if (!ENVIRONMENT_IS_PTHREAD) return; + if (!threadInfoStruct) return; + var cancelDisabled = Atomics.load(HEAPU32, (threadInfoStruct + 72 ) >> 2); + if (cancelDisabled) return; + var canceled = Atomics.load(HEAPU32, (threadInfoStruct + 0 ) >> 2); + if (canceled == 2) throw 'Canceled!'; + }function _pthread_join(thread, status) { + if (!thread) { + Module['printErr']('pthread_join attempted on a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + if (ENVIRONMENT_IS_PTHREAD && selfThreadId == thread) { + Module['printErr']('PThread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + else if (!ENVIRONMENT_IS_PTHREAD && PThread.mainThreadBlock == thread) { + Module['printErr']('Main thread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_join attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var detached = Atomics.load(HEAPU32, (thread + 80 ) >> 2); + if (detached) { + Module['printErr']('Attempted to join thread ' + thread + ', which was already detached!'); + return ERRNO_CODES.EINVAL; // The thread is already detached, can no longer join it! + } + for (;;) { + var threadStatus = Atomics.load(HEAPU32, (thread + 0 ) >> 2); + if (threadStatus == 1) { // Exited? + var threadExitCode = Atomics.load(HEAPU32, (thread + 4 ) >> 2); + if (status) HEAP32[((status)>>2)]=threadExitCode; + Atomics.store(HEAPU32, (thread + 80 ) >> 2, 1); // Mark the thread as detached. + + if (!ENVIRONMENT_IS_PTHREAD) __cleanup_thread(thread); + else postMessage({ cmd: 'cleanupThread', thread: thread}); + return 0; + } + // TODO HACK! Replace the _js variant with just _pthread_testcancel: + //_pthread_testcancel(); + __pthread_testcancel_js(); + // In main runtime thread (the thread that initialized the Emscripten C runtime and launched main()), assist pthreads in performing operations + // that they need to access the Emscripten main runtime for. + if (!ENVIRONMENT_IS_PTHREAD) _emscripten_main_thread_process_queued_calls(); + _emscripten_futex_wait(thread + 0, threadStatus, ENVIRONMENT_IS_PTHREAD ? 100 : 1); + } + } + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + var __main_thread_futex_wait_address; if (ENVIRONMENT_IS_PTHREAD) __main_thread_futex_wait_address = PthreadWorkerInit.__main_thread_futex_wait_address; else PthreadWorkerInit.__main_thread_futex_wait_address = __main_thread_futex_wait_address = allocate(1, "i32*", ALLOC_STATIC);function _emscripten_futex_wait(addr, val, timeout) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0) return -22; + // dump('futex_wait addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ENVIRONMENT_IS_WORKER) { + var ret = Atomics.wait(HEAP32, addr >> 2, val, timeout); + // dump('futex_wait done by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ret === 'timed-out') return -110; + if (ret === 'not-equal') return -11; + if (ret === 'ok') return 0; + throw 'Atomics.wait returned an unexpected value ' + ret; + } else { + // Atomics.wait is not available in the main browser thread, so simulate it via busy spinning. + var loadedVal = Atomics.load(HEAP32, addr >> 2); + if (val != loadedVal) return -11; + + var tNow = performance.now(); + var tEnd = tNow + timeout; + + + // Register globally which address the main thread is simulating to be waiting on. When zero, main thread is not waiting on anything, + // and on nonzero, the contents of address pointed by __main_thread_futex_wait_address tell which address the main thread is simulating its wait on. + Atomics.store(HEAP32, __main_thread_futex_wait_address >> 2, addr); + var ourWaitAddress = addr; // We may recursively re-enter this function while processing queued calls, in which case we'll do a spurious wakeup of the older wait operation. + while (addr == ourWaitAddress) { + tNow = performance.now(); + if (tNow > tEnd) { + return -110; + } + _emscripten_main_thread_process_queued_calls(); // We are performing a blocking loop here, so must pump any pthreads if they want to perform operations that are proxied. + addr = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); // Look for a worker thread waking us up. + } + return 0; + } + } + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + + + var cttz_i8; if (ENVIRONMENT_IS_PTHREAD) cttz_i8 = PthreadWorkerInit.cttz_i8; else PthreadWorkerInit.cttz_i8 = cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + function __exit(status) { + // void _exit(int status); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html + Module['exit'](status); + }function _exit(status) { + __exit(status); + } + + function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_futex_wake(addr, count) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0 || count < 0) return -22; + if (count == 0) return 0; + // dump('futex_wake addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + + // See if main thread is waiting on this address? If so, wake it up by resetting its wake location to zero. + // Note that this is not a fair procedure, since we always wake main thread first before any workers, so + // this scheme does not adhere to real queue-based waiting. + var mainThreadWaitAddress = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); + var mainThreadWoken = 0; + if (mainThreadWaitAddress == addr) { + var loadedAddr = Atomics.compareExchange(HEAP32, __main_thread_futex_wait_address >> 2, mainThreadWaitAddress, 0); + if (loadedAddr == mainThreadWaitAddress) { + --count; + mainThreadWoken = 1; + if (count <= 0) return 1; + } + } + + // Wake any workers waiting on this address. + var ret = Atomics.wake(HEAP32, addr >> 2, count); + if (ret >= 0) return ret + mainThreadWoken; + throw 'Atomics.wake returned an unexpected value ' + ret; + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + + function __spawn_thread(threadParams) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _spawn_thread() can only ever be called from main application thread!'; + + var worker = PThread.getNewWorker(); + if (worker.pthread !== undefined) throw 'Internal error!'; + if (!threadParams.pthread_ptr) throw 'Internal error, no pthread ptr!'; + PThread.runningWorkers.push(worker); + + // Allocate memory for thread-local storage and initialize it to zero. + var tlsMemory = _malloc(128 * 4); + for (var i = 0; i < 128; ++i) { + HEAP32[(((tlsMemory)+(i*4))>>2)]=0; + } + + var pthread = PThread.pthreads[threadParams.pthread_ptr] = { // Create a pthread info object to represent this thread. + worker: worker, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + allocatedOwnStack: threadParams.allocatedOwnStack, + thread: threadParams.pthread_ptr, + threadInfoStruct: threadParams.pthread_ptr // Info area for this thread in Emscripten HEAP (shared) + }; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 0 ) >> 2, 0); // threadStatus <- 0, meaning not yet exited. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 4 ) >> 2, 0); // threadExitCode <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 20 ) >> 2, 0); // profilerBlock <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 80 ) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 60 ) >> 2, 0); // Mark initial status to unused. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 52 ) >> 2, pthread.threadInfoStruct); // Main thread ID. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 56 ) >> 2, PROCINFO.pid); // Process ID. + + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 96) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 92) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 8) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 12) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 20) >> 2, threadParams.schedPolicy); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 24) >> 2, threadParams.schedPrio); + + var global_libc = _emscripten_get_global_libc(); + var global_locale = global_libc + 40; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 188) >> 2, global_locale); + + + worker.pthread = pthread; + + // Ask the worker to start executing its pthread entry point function. + worker.postMessage({ + cmd: 'run', + start_routine: threadParams.startRoutine, + arg: threadParams.arg, + threadInfoStruct: threadParams.pthread_ptr, + selfThreadId: threadParams.pthread_ptr, // TODO: Remove this since thread ID is now the same as the thread address. + parentThreadId: threadParams.parent_pthread_ptr, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + }, threadParams.transferList); + } + + function _pthread_getschedparam(thread, policy, schedparam) { + if (!policy && !schedparam) return ERRNO_CODES.EINVAL; + + if (!thread) { + Module['printErr']('pthread_getschedparam called with a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_getschedparam attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var schedPolicy = Atomics.load(HEAPU32, (thread + 120 + 20 ) >> 2); + var schedPrio = Atomics.load(HEAPU32, (thread + 120 + 24 ) >> 2); + + if (policy) HEAP32[((policy)>>2)]=schedPolicy; + if (schedparam) HEAP32[((schedparam)>>2)]=schedPrio; + return 0; + } + + function _pthread_self() { + return __pthread_ptr|0; + }function _pthread_create(pthread_ptr, attr, start_routine, arg) { + if (typeof SharedArrayBuffer === 'undefined') { + Module['printErr']('Current environment does not support SharedArrayBuffer, pthreads are not available!'); + return 11; + } + if (!pthread_ptr) { + Module['printErr']('pthread_create called with a null thread pointer!'); + return 22; + } + + var transferList = []; // List of JS objects that will transfer ownership to the Worker hosting the thread + + + // Synchronously proxy the thread creation to main thread if possible. If we need to transfer ownership of objects, then + // proxy asynchronously via postMessage. + if (ENVIRONMENT_IS_PTHREAD && transferList.length == 0) { + return _emscripten_sync_run_in_main_thread_4(137, pthread_ptr, attr, start_routine, arg); + } + + var stackSize = 0; + var stackBase = 0; + var detached = 0; // Default thread attr is PTHREAD_CREATE_JOINABLE, i.e. start as not detached. + var schedPolicy = 0; /*SCHED_OTHER*/ + var schedPrio = 0; + if (attr) { + stackSize = HEAP32[((attr)>>2)]; + stackBase = HEAP32[(((attr)+(8))>>2)]; + detached = HEAP32[(((attr)+(12))>>2)] != 0/*PTHREAD_CREATE_JOINABLE*/; + var inheritSched = HEAP32[(((attr)+(16))>>2)] == 0/*PTHREAD_INHERIT_SCHED*/; + if (inheritSched) { + var prevSchedPolicy = HEAP32[(((attr)+(20))>>2)]; + var prevSchedPrio = HEAP32[(((attr)+(24))>>2)]; + _pthread_getschedparam(_pthread_self(), attr + 20, attr + 24); + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + HEAP32[(((attr)+(20))>>2)]=prevSchedPolicy; + HEAP32[(((attr)+(24))>>2)]=prevSchedPrio; + } else { + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + } + } + stackSize += 81920 /*DEFAULT_STACK_SIZE*/; + var allocatedOwnStack = stackBase == 0; // If allocatedOwnStack == true, then the pthread impl maintains the stack allocation. + if (allocatedOwnStack) { + stackBase = _malloc(stackSize); // Allocate a stack if the user doesn't want to place the stack in a custom memory area. + } else { + // Musl stores the stack base address assuming stack grows downwards, so adjust it to Emscripten convention that the + // stack grows upwards instead. + stackBase -= stackSize; + assert(stackBase > 0); + } + + // Allocate thread block (pthread_t structure). + var threadInfoStruct = _malloc(244); + for (var i = 0; i < 244 >> 2; ++i) HEAPU32[(threadInfoStruct>>2) + i] = 0; // zero-initialize thread structure. + HEAP32[((pthread_ptr)>>2)]=threadInfoStruct; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((threadInfoStruct)+(24))>>2)]=threadInfoStruct; + + // pthread struct robust_list head should point to itself. + var headPtr = threadInfoStruct + 168; + HEAP32[((headPtr)>>2)]=headPtr; + + var threadParams = { + stackBase: stackBase, + stackSize: stackSize, + allocatedOwnStack: allocatedOwnStack, + schedPolicy: schedPolicy, + schedPrio: schedPrio, + detached: detached, + startRoutine: start_routine, + pthread_ptr: threadInfoStruct, + parent_pthread_ptr: _pthread_self(), + arg: arg, + transferList: transferList + }; + + if (ENVIRONMENT_IS_PTHREAD) { + // The prepopulated pool of web workers that can host pthreads is stored in the main JS thread. Therefore if a + // pthread is attempting to spawn a new thread, the thread creation must be deferred to the main JS thread. + threadParams.cmd = 'spawnThread'; + postMessage(threadParams, transferList); + } else { + // We are the main thread, so we have the pthread warmup pool in this thread and can fire off JS thread creation + // directly ourselves. + __spawn_thread(threadParams); + } + + return 0; + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + + function _emscripten_set_current_thread_status_js(newStatus) { + } + Module["_emscripten_set_current_thread_status"] = _emscripten_set_current_thread_status; + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _confstr(name, buf, len) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(68, name, buf, len); + // size_t confstr(int name, char *buf, size_t len); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/confstr.html + var value; + switch (name) { + case 0: + value = ENV['PATH'] || '/'; + break; + case 1: + // Mimicking glibc. + value = 'POSIX_V6_ILP32_OFF32\nPOSIX_V6_ILP32_OFFBIG'; + break; + case 2: + // This JS implementation was tested against this glibc version. + value = 'glibc 2.14'; + break; + case 3: + // We don't support pthreads. + value = ''; + break; + case 1118: + case 1122: + case 1124: + case 1125: + case 1126: + case 1128: + case 1129: + case 1130: + value = ''; + break; + case 1116: + case 1117: + case 1121: + value = '-m32'; + break; + case 1120: + value = '-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'; + break; + default: + ___setErrNo(ERRNO_CODES.EINVAL); + return 0; + } + if (len == 0 || buf == 0) { + return value.length + 1; + } else { + var length = Math.min(len, value.length); + for (var i = 0; i < length; i++) { + HEAP8[(((buf)+(i))>>0)]=value.charCodeAt(i); + } + if (len > length) HEAP8[(((buf)+(i++))>>0)]=0; + return i; + } + } + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _getenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(111, 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 = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL); + return _getenv.ret; + } + + + function _emscripten_conditional_set_current_thread_status_js(expectedStatus, newStatus) { + } + Module["_emscripten_conditional_set_current_thread_status"] = _emscripten_conditional_set_current_thread_status; + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function ___assert_fail(condition, filename, line, func) { + ABORT = true; + throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _setenv(envname, envval, overwrite) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(113, envname, envval, overwrite); + // int setenv(const char *envname, const char *envval, int overwrite); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/setenv.html + if (envname === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = Pointer_stringify(envname); + var val = Pointer_stringify(envval); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name) && !overwrite) return 0; + ENV[name] = val; + ___buildEnvironment(ENV); + return 0; + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _emscripten_syscall(which, varargs) { + switch (which) { + case 54: return ___syscall54(which, varargs); + case 6: return ___syscall6(which, varargs); + case 140: return ___syscall140(which, varargs); + case 146: return ___syscall146(which, varargs); + default: throw "surprising proxied syscall: " + which; + } + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _fpathconf(fildes, name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(46, fildes, name); + // long fpathconf(int fildes, int name); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/encrypt.html + // NOTE: The first parameter is ignored, so pathconf == fpathconf. + // The constants here aren't real values. Just mimicking glibc. + switch (name) { + case 0: + return 32000; + case 1: + case 2: + case 3: + return 255; + case 4: + case 5: + case 16: + case 17: + case 18: + return 4096; + case 6: + case 7: + case 20: + return 1; + case 8: + return 0; + case 9: + case 10: + case 11: + case 12: + case 14: + case 15: + case 19: + return -1; + case 13: + return 64; + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + + function _putenv(string) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(115, string); + // int putenv(char *string); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/putenv.html + // WARNING: According to the standard (and the glibc implementation), the + // string is taken by reference so future changes are reflected. + // We copy it instead, possibly breaking some uses. + if (string === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + string = Pointer_stringify(string); + var splitPoint = string.indexOf('=') + if (string === '' || string.indexOf('=') === -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = string.slice(0, splitPoint); + var value = string.slice(splitPoint + 1); + if (!(name in ENV) || ENV[name] !== value) { + ENV[name] = value; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function _utimes(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(13, path, times); + var time; + if (times) { + var offset = 8 + 0; + time = HEAP32[(((times)+(offset))>>2)] * 1000; + offset = 8 + 4; + time += HEAP32[(((times)+(offset))>>2)] / 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__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(); }; +JSEvents.staticInit();; +if (!ENVIRONMENT_IS_PTHREAD) PThread.initMainThreadBlock();; +if (!ENVIRONMENT_IS_PTHREAD) ___buildEnvironment(ENV);; +if (!ENVIRONMENT_IS_PTHREAD) { + // Only main thread initializes these, pthreads copy them over at thread worker init time (in pthread-main.js) +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + +} + + + +function nullFunc_viiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vi(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_ii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_v(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function invoke_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_ii(index,a1) { + try { + return Module["dynCall_ii"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iiii(index,a1,a2,a3) { + try { + return Module["dynCall_iiii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } catch(e) { + 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.asmGlobalArg['Atomics'] = Atomics; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_clock_gettime": _clock_gettime, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_sysconf": _sysconf, "_utime": _utime, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_chroot": _chroot, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "__pthread_testcancel_js": __pthread_testcancel_js, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_unsetenv": _unsetenv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_asm_const_v": _emscripten_asm_const_v, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_pthread_self": _pthread_self, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "__register_pthread_ptr": __register_pthread_ptr, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_gettimeofday": _gettimeofday, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "__spawn_thread": __spawn_thread, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_conditional_set_current_thread_status_js": _emscripten_conditional_set_current_thread_status_js, "_putenv": _putenv, "_pthread_join": _pthread_join, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_fpathconf": _fpathconf, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "___unlock": ___unlock, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_is_main_runtime_thread": _emscripten_is_main_runtime_thread, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___buildEnvironment": ___buildEnvironment, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_utimes": _utimes, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_tzset": _tzset, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "___clock_gettime": ___clock_gettime, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_clearenv": _clearenv, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_getenv": _getenv, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_emscripten_futex_wake": _emscripten_futex_wake, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "__cleanup_thread": __cleanup_thread, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_set_current_thread_status_js": _emscripten_set_current_thread_status_js, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_syscall": _emscripten_syscall, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_futex_wait": _emscripten_futex_wait, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "___pthread_setcancelstate": ___pthread_setcancelstate, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_confstr": _confstr, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "___syscall54": ___syscall54, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_pthread_getschedparam": _pthread_getschedparam, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_atexit": _atexit, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_setenv": _setenv, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use 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 ABORT=env.ABORT|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; + var cttz_i8=env.cttz_i8|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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var ___assert_fail=env.___assert_fail; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _clock_gettime=env._clock_gettime; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _sysconf=env._sysconf; + var _utime=env._utime; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _chroot=env._chroot; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var __pthread_testcancel_js=env.__pthread_testcancel_js; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _unsetenv=env._unsetenv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var ___syscall146=env.___syscall146; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _emscripten_get_now_is_monotonic=env._emscripten_get_now_is_monotonic; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_asm_const_v=env._emscripten_asm_const_v; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _pthread_self=env._pthread_self; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var __register_pthread_ptr=env.__register_pthread_ptr; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var _gettimeofday=env._gettimeofday; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var __spawn_thread=env.__spawn_thread; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_conditional_set_current_thread_status_js=env._emscripten_conditional_set_current_thread_status_js; + var _putenv=env._putenv; + var _pthread_join=env._pthread_join; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _fpathconf=env._fpathconf; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var ___unlock=env.___unlock; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_is_main_runtime_thread=env._emscripten_is_main_runtime_thread; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___buildEnvironment=env.___buildEnvironment; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _utimes=env._utimes; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _tzset=env._tzset; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var ___clock_gettime=env.___clock_gettime; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _clearenv=env._clearenv; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _getenv=env._getenv; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _emscripten_futex_wake=env._emscripten_futex_wake; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var __cleanup_thread=env.__cleanup_thread; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_set_current_thread_status_js=env._emscripten_set_current_thread_status_js; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_syscall=env._emscripten_syscall; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_futex_wait=env._emscripten_futex_wait; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var ___pthread_setcancelstate=env.___pthread_setcancelstate; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _confstr=env._confstr; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var ___syscall54=env.___syscall54; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _pthread_create=env._pthread_create; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _pthread_getschedparam=env._pthread_getschedparam; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _atexit=env._atexit; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _setenv=env._setenv; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + var Atomics_load=global.Atomics.load; + var Atomics_store=global.Atomics.store; + var Atomics_exchange=global.Atomics.exchange; + var Atomics_compareExchange=global.Atomics.compareExchange; + var Atomics_add=global.Atomics.add; + var Atomics_sub=global.Atomics.sub; + var Atomics_and=global.Atomics.and; + var Atomics_or=global.Atomics.or; + var Atomics_xor=global.Atomics.xor; + 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 _InitPhysics() { + var label = 0, sp = 0; + sp = STACKTOP; + (_pthread_create((14272|0),(0|0),(2|0),(0|0))|0); + return; +} +function _PhysicsLoop($0) { + $0 = $0|0; + var $$0 = 0, $$010 = 0, $$011 = 0, $$09 = 0, $$0912 = 0, $$0913 = 0, $$pr = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.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, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3569] = 1; + HEAPF64[1746] = 0.0; + _InitTimer(); + $1 = HEAP32[3569]|0; + $2 = ($1|0)==(0); + if (!($2)) { + while(1) { + $3 = (+_GetCurrentTime()); + HEAPF64[1747] = $3; + $4 = +HEAPF64[1748]; + $5 = $3 - $4; + HEAPF64[1749] = $5; + $6 = +HEAPF64[1746]; + $7 = $5 + $6; + HEAPF64[1746] = $7; + _MathClamp(); + $$pr = +HEAPF64[1746]; + $8 = !($$pr >= 0.016666666666666666); + if (!($8)) { + while(1) { + _PhysicsStep(); + $9 = +HEAPF64[1749]; + $10 = +HEAPF64[1746]; + $11 = $10 - $9; + HEAPF64[1746] = $11; + $12 = !($11 >= 0.016666666666666666); + if ($12) { + break; + } + } + } + $13 = +HEAPF64[1747]; + HEAPF64[1748] = $13; + $14 = HEAP32[3569]|0; + $15 = ($14|0)==(0); + if ($15) { + break; + } + } + } + $16 = HEAP32[3636]|0; + $$0912 = (($16) + -1)|0; + $17 = ($$0912|0)>(-1); + if ($17) { + $$0913 = $$0912; + while(1) { + $20 = (14548 + ($$0913<<2)|0); + $21 = HEAP32[$20>>2]|0; + _DestroyPhysicsManifold($21); + $$09 = (($$0913) + -1)|0; + $22 = ($$09|0)>(-1); + if ($22) { + $$0913 = $$09; + } else { + break; + } + } + } + $18 = HEAP32[3571]|0; + $$010 = (($18) + -1)|0; + $19 = ($$010|0)>(-1); + if ($19) { + $$011 = $$010; + } else { + return (0|0); + } + while(1) { + $23 = (14288 + ($$011<<2)|0); + $24 = HEAP32[$23>>2]|0; + _DestroyPhysicsBody($24); + $$0 = (($$011) + -1)|0; + $25 = ($$0|0)>(-1); + if ($25) { + $$011 = $$0; + } else { + break; + } + } + return (0|0); +} +function _CreatePhysicsBodyCircle($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + $3 = (_CreatePhysicsBodyPolygon($$byval_copy,$1,24,$2)|0); + STACKTOP = sp;return ($3|0); +} +function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = +$3; + var $$0116149 = 0, $$0116149158159 = 0, $$0119144 = 0, $$0120136 = 0, $$0121$lcssa161 = 0.0, $$0121134 = 0.0, $$0122$lcssa160 = 0.0, $$0122133 = 0.0, $$0131 = 0, $$sroa$0$0132 = 0.0, $$sroa$049$0$$sroa_idx = 0, $$sroa$8$0135 = 0.0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0.0; + var $107 = 0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.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.0; + var $125 = 0.0, $126 = 0, $127 = 0.0, $128 = 0.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, $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.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.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.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0; + var $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $tmpcast$byval_copy = 0; + var $tmpcast123$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $tmpcast123$byval_copy = sp + 432|0; + $tmpcast$byval_copy = sp + 424|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (_malloc(500)|0); + $8 = HEAP32[3570]|0; + $9 = (($8) + 500)|0; + HEAP32[3570] = $9; + $10 = HEAP32[3571]|0; + $11 = ($10|0)==(0); + $$0116149 = 0; + L1: while(1) { + if ($11) { + $$0116149158159 = 0; + break; + } else { + $$0119144 = 0; + } + while(1) { + $14 = (14288 + ($$0119144<<2)|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==($$0116149|0); + $13 = (($$0119144) + 1)|0; + if ($17) { + break; + } + $12 = ($13>>>0)<($10>>>0); + if ($12) { + $$0119144 = $13; + } else { + label = 6; + break L1; + } + } + $18 = (($$0116149) + 1)|0; + $19 = ($18|0)<(64); + if ($19) { + $$0116149 = $18; + } else { + label = 14; + break; + } + } + if ((label|0) == 14) { + STACKTOP = sp;return ($7|0); + } + if ((label|0) == 6) { + $20 = ($$0116149|0)==(-1); + if ($20) { + STACKTOP = sp;return ($7|0); + } else { + $$0116149158159 = $$0116149; + } + } + HEAP32[$7>>2] = $$0116149158159; + $21 = ((($7)) + 4|0); + HEAP32[$21>>2] = 1; + $22 = ((($7)) + 8|0); + $23 = $0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + $$sroa$049$0$$sroa_idx = ((($7)) + 16|0); + $33 = ((($7)) + 84|0); + ;HEAP32[$$sroa$049$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+20>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+24>>2]=0|0; + HEAP32[$33>>2] = 1; + $34 = ((($7)) + 88|0); + HEAP32[$34>>2] = $7; + $35 = ((($7)) + 96|0); + _CreateRandomPolygon($4,$1,$2); + _memcpy(($35|0),($4|0),404)|0; + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $$0121$lcssa161 = 0.0;$$0122$lcssa160 = 0.0; + } else { + $38 = ((($7)) + 100|0); + $39 = ((($5)) + 4|0); + $40 = ((($6)) + 4|0); + $$0120136 = 0;$$0121134 = 0.0;$$0122133 = 0.0;$$sroa$0$0132 = 0.0;$$sroa$8$0135 = 0.0; + while(1) { + $50 = (($38) + ($$0120136<<3)|0); + $51 = $50; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = $5; + $58 = $57; + HEAP32[$58>>2] = $53; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = $56; + $61 = (($$0120136) + 1)|0; + $62 = HEAP32[$35>>2]|0; + $63 = ($61>>>0)<($62>>>0); + $64 = $63 ? $61 : 0; + $65 = (($38) + ($64<<3)|0); + $66 = $65; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = $6; + $73 = $72; + HEAP32[$73>>2] = $68; + $74 = (($72) + 4)|0; + $75 = $74; + HEAP32[$75>>2] = $71; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + $76 = (+_MathCrossVector2($tmpcast$byval_copy,$tmpcast123$byval_copy)); + $77 = $76 * 0.5; + $42 = $$0122133 + $77; + $78 = $77 * 0.3333333432674408; + $79 = +HEAPF32[$5>>2]; + $80 = +HEAPF32[$6>>2]; + $81 = $79 + $80; + $82 = $78 * $81; + $44 = $$sroa$0$0132 + $82; + $83 = +HEAPF32[$39>>2]; + $84 = +HEAPF32[$40>>2]; + $85 = $83 + $84; + $86 = $78 * $85; + $46 = $$sroa$8$0135 + $86; + $87 = $79 * $79; + $88 = $79 * $80; + $89 = $87 + $88; + $90 = $80 * $80; + $91 = $90 + $89; + $92 = $83 * $83; + $93 = $83 * $84; + $94 = $92 + $93; + $95 = $84 * $84; + $96 = $95 + $94; + $97 = $76 * 0.083333335816860198; + $98 = $91 + $96; + $99 = $97 * $98; + $100 = $$0121134 + $99; + $48 = HEAP32[$35>>2]|0; + $101 = ($61>>>0)<($48>>>0); + if ($101) { + $$0120136 = $61;$$0121134 = $100;$$0122133 = $42;$$sroa$0$0132 = $44;$$sroa$8$0135 = $46; + } else { + break; + } + } + $41 = 1.0 / $42; + $43 = $44 * $41; + $45 = $41 * $46; + $47 = ($48|0)==(0); + if ($47) { + $$0121$lcssa161 = $100;$$0122$lcssa160 = $42; + } else { + $49 = ((($7)) + 100|0); + $$0131 = 0; + while(1) { + $123 = (($49) + ($$0131<<3)|0); + $124 = +HEAPF32[$123>>2]; + $125 = $124 - $43; + HEAPF32[$123>>2] = $125; + $126 = (((($49) + ($$0131<<3)|0)) + 4|0); + $127 = +HEAPF32[$126>>2]; + $128 = $127 - $45; + HEAPF32[$126>>2] = $128; + $129 = (($$0131) + 1)|0; + $exitcond = ($129|0)==($48|0); + if ($exitcond) { + $$0121$lcssa161 = $100;$$0122$lcssa160 = $42; + break; + } else { + $$0131 = $129; + } + } + } + } + $102 = $$0122$lcssa160 * $3; + $103 = ((($7)) + 52|0); + HEAPF32[$103>>2] = $102; + $104 = $102 != 0.0; + $105 = 1.0 / $102; + $106 = $104 ? $105 : 0.0; + $107 = ((($7)) + 56|0); + HEAPF32[$107>>2] = $106; + $108 = $$0121$lcssa161 * $3; + $109 = ((($7)) + 44|0); + HEAPF32[$109>>2] = $108; + $110 = $108 != 0.0; + $111 = 1.0 / $108; + $112 = $110 ? $111 : 0.0; + $113 = ((($7)) + 48|0); + HEAPF32[$113>>2] = $112; + $114 = ((($7)) + 60|0); + HEAPF32[$114>>2] = 0.40000000596046448; + $115 = ((($7)) + 64|0); + HEAPF32[$115>>2] = 0.20000000298023224; + $116 = ((($7)) + 68|0); + HEAPF32[$116>>2] = 0.0; + $117 = ((($7)) + 72|0); + HEAP32[$117>>2] = 1; + $118 = ((($7)) + 76|0); + HEAP32[$118>>2] = 0; + $119 = ((($7)) + 80|0); + HEAP32[$119>>2] = 0; + $120 = HEAP32[3571]|0; + $121 = (14288 + ($120<<2)|0); + HEAP32[$121>>2] = $7; + $122 = (($120) + 1)|0; + HEAP32[3571] = $122; + STACKTOP = sp;return ($7|0); +} +function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$0116149 = 0, $$0116149158159 = 0, $$0119144 = 0, $$0120136 = 0, $$0121$lcssa161 = 0.0, $$0121134 = 0.0, $$0122$lcssa160 = 0.0, $$0122133 = 0.0, $$0131 = 0, $$sroa$0$0132 = 0.0, $$sroa$049$0$$sroa_idx = 0, $$sroa$8$0135 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.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.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 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, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0; + var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.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.0, $79 = 0.0, $8 = 0, $80 = 0.0; + var $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0; + var $exitcond = 0, $tmpcast$byval_copy = 0, $tmpcast123$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $tmpcast123$byval_copy = sp + 440|0; + $tmpcast$byval_copy = sp + 432|0; + $4 = sp + 424|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_malloc(500)|0); + $9 = HEAP32[3570]|0; + $10 = (($9) + 500)|0; + HEAP32[3570] = $10; + $11 = HEAP32[3571]|0; + $12 = ($11|0)==(0); + $$0116149 = 0; + L1: while(1) { + if ($12) { + $$0116149158159 = 0; + break; + } else { + $$0119144 = 0; + } + while(1) { + $15 = (14288 + ($$0119144<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($$0116149|0); + $14 = (($$0119144) + 1)|0; + if ($18) { + break; + } + $13 = ($14>>>0)<($11>>>0); + if ($13) { + $$0119144 = $14; + } else { + label = 6; + break L1; + } + } + $19 = (($$0116149) + 1)|0; + $20 = ($19|0)<(64); + if ($20) { + $$0116149 = $19; + } else { + label = 14; + break; + } + } + if ((label|0) == 14) { + STACKTOP = sp;return ($8|0); + } + if ((label|0) == 6) { + $21 = ($$0116149|0)==(-1); + if ($21) { + STACKTOP = sp;return ($8|0); + } else { + $$0116149158159 = $$0116149; + } + } + HEAP32[$8>>2] = $$0116149158159; + $22 = ((($8)) + 4|0); + HEAP32[$22>>2] = 1; + $23 = ((($8)) + 8|0); + $24 = $0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = $23; + $31 = $30; + HEAP32[$31>>2] = $26; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $$sroa$049$0$$sroa_idx = ((($8)) + 16|0); + $34 = ((($8)) + 84|0); + ;HEAP32[$$sroa$049$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+20>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+24>>2]=0|0; + HEAP32[$34>>2] = 1; + $35 = ((($8)) + 88|0); + HEAP32[$35>>2] = $8; + $36 = ((($8)) + 96|0); + HEAPF32[$4>>2] = $1; + $37 = ((($4)) + 4|0); + HEAPF32[$37>>2] = $2; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + _CreateRectanglePolygon($5,$tmpcast$byval_copy,$tmpcast123$byval_copy); + _memcpy(($36|0),($5|0),404)|0; + $38 = HEAP32[$36>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $$0121$lcssa161 = 0.0;$$0122$lcssa160 = 0.0; + } else { + $40 = ((($8)) + 100|0); + $41 = ((($6)) + 4|0); + $42 = ((($7)) + 4|0); + $$0120136 = 0;$$0121134 = 0.0;$$0122133 = 0.0;$$sroa$0$0132 = 0.0;$$sroa$8$0135 = 0.0; + while(1) { + $52 = (($40) + ($$0120136<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$0120136) + 1)|0; + $64 = HEAP32[$36>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (($40) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; + $78 = (+_MathCrossVector2($tmpcast$byval_copy,$tmpcast123$byval_copy)); + $79 = $78 * 0.5; + $44 = $$0122133 + $79; + $80 = $79 * 0.3333333432674408; + $81 = +HEAPF32[$6>>2]; + $82 = +HEAPF32[$7>>2]; + $83 = $81 + $82; + $84 = $80 * $83; + $46 = $$sroa$0$0132 + $84; + $85 = +HEAPF32[$41>>2]; + $86 = +HEAPF32[$42>>2]; + $87 = $85 + $86; + $88 = $80 * $87; + $48 = $$sroa$8$0135 + $88; + $89 = $81 * $81; + $90 = $81 * $82; + $91 = $89 + $90; + $92 = $82 * $82; + $93 = $92 + $91; + $94 = $85 * $85; + $95 = $85 * $86; + $96 = $94 + $95; + $97 = $86 * $86; + $98 = $97 + $96; + $99 = $78 * 0.083333335816860198; + $100 = $93 + $98; + $101 = $99 * $100; + $102 = $$0121134 + $101; + $50 = HEAP32[$36>>2]|0; + $103 = ($63>>>0)<($50>>>0); + if ($103) { + $$0120136 = $63;$$0121134 = $102;$$0122133 = $44;$$sroa$0$0132 = $46;$$sroa$8$0135 = $48; + } else { + break; + } + } + $43 = 1.0 / $44; + $45 = $46 * $43; + $47 = $43 * $48; + $49 = ($50|0)==(0); + if ($49) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + } else { + $51 = ((($8)) + 100|0); + $$0131 = 0; + while(1) { + $125 = (($51) + ($$0131<<3)|0); + $126 = +HEAPF32[$125>>2]; + $127 = $126 - $45; + HEAPF32[$125>>2] = $127; + $128 = (((($51) + ($$0131<<3)|0)) + 4|0); + $129 = +HEAPF32[$128>>2]; + $130 = $129 - $47; + HEAPF32[$128>>2] = $130; + $131 = (($$0131) + 1)|0; + $exitcond = ($131|0)==($50|0); + if ($exitcond) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + break; + } else { + $$0131 = $131; + } + } + } + } + $104 = $$0122$lcssa160 * $3; + $105 = ((($8)) + 52|0); + HEAPF32[$105>>2] = $104; + $106 = $104 != 0.0; + $107 = 1.0 / $104; + $108 = $106 ? $107 : 0.0; + $109 = ((($8)) + 56|0); + HEAPF32[$109>>2] = $108; + $110 = $$0121$lcssa161 * $3; + $111 = ((($8)) + 44|0); + HEAPF32[$111>>2] = $110; + $112 = $110 != 0.0; + $113 = 1.0 / $110; + $114 = $112 ? $113 : 0.0; + $115 = ((($8)) + 48|0); + HEAPF32[$115>>2] = $114; + $116 = ((($8)) + 60|0); + HEAPF32[$116>>2] = 0.40000000596046448; + $117 = ((($8)) + 64|0); + HEAPF32[$117>>2] = 0.20000000298023224; + $118 = ((($8)) + 68|0); + HEAPF32[$118>>2] = 0.0; + $119 = ((($8)) + 72|0); + HEAP32[$119>>2] = 1; + $120 = ((($8)) + 76|0); + HEAP32[$120>>2] = 0; + $121 = ((($8)) + 80|0); + HEAP32[$121>>2] = 0; + $122 = HEAP32[3571]|0; + $123 = (14288 + ($122<<2)|0); + HEAP32[$123>>2] = $8; + $124 = (($122) + 1)|0; + HEAP32[3571] = $124; + STACKTOP = sp;return ($8|0); +} +function _CreateRectanglePolygon($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$024 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$sroa$012$0$$sroa_idx = 0, $$sroa$015$0$$sroa_idx = 0, $$sroa$018$0$$sroa_idx = 0, $$sroa$021$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$213$0$$sroa_idx14 = 0, $$sroa$216$0$$sroa_idx17 = 0, $$sroa$219$0$$sroa_idx20 = 0, $$sroa$222$0$$sroa_idx23 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0; + var $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.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.0, $54 = 0.0; + var $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy1 = sp + 440|0; + $$byval_copy = sp + 432|0; + $3 = sp + 24|0; + $4 = sp; + $5 = sp + 16|0; + $6 = ((($3)) + 36|0); + _memset(($6|0),0,368)|0; + HEAP32[$3>>2] = 4; + $7 = ((($3)) + 388|0); + _Mat2Radians($4,0.0); + ;HEAP32[$7>>2]=HEAP32[$4>>2]|0;HEAP32[$7+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$4+12>>2]|0; + $8 = +HEAPF32[$1>>2]; + $9 = +HEAPF32[$2>>2]; + $10 = $9 * 0.5; + $11 = $8 + $10; + $12 = ((($1)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($2)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15 * 0.5; + $17 = $13 - $16; + $$sroa$021$0$$sroa_idx = ((($3)) + 4|0); + HEAPF32[$$sroa$021$0$$sroa_idx>>2] = $11; + $$sroa$222$0$$sroa_idx23 = ((($3)) + 8|0); + HEAPF32[$$sroa$222$0$$sroa_idx23>>2] = $17; + $18 = +HEAPF32[$1>>2]; + $19 = +HEAPF32[$2>>2]; + $20 = $19 * 0.5; + $21 = $18 + $20; + $22 = +HEAPF32[$12>>2]; + $23 = +HEAPF32[$14>>2]; + $24 = $23 * 0.5; + $25 = $22 + $24; + $$sroa$018$0$$sroa_idx = ((($3)) + 12|0); + HEAPF32[$$sroa$018$0$$sroa_idx>>2] = $21; + $$sroa$219$0$$sroa_idx20 = ((($3)) + 16|0); + HEAPF32[$$sroa$219$0$$sroa_idx20>>2] = $25; + $26 = +HEAPF32[$1>>2]; + $27 = +HEAPF32[$2>>2]; + $28 = $27 * 0.5; + $29 = $26 - $28; + $30 = +HEAPF32[$12>>2]; + $31 = +HEAPF32[$14>>2]; + $32 = $31 * 0.5; + $33 = $30 + $32; + $$sroa$015$0$$sroa_idx = ((($3)) + 20|0); + HEAPF32[$$sroa$015$0$$sroa_idx>>2] = $29; + $$sroa$216$0$$sroa_idx17 = ((($3)) + 24|0); + HEAPF32[$$sroa$216$0$$sroa_idx17>>2] = $33; + $34 = +HEAPF32[$1>>2]; + $35 = +HEAPF32[$2>>2]; + $36 = $35 * 0.5; + $37 = $34 - $36; + $38 = +HEAPF32[$12>>2]; + $39 = +HEAPF32[$14>>2]; + $40 = $39 * 0.5; + $41 = $38 - $40; + $$sroa$012$0$$sroa_idx = ((($3)) + 28|0); + HEAPF32[$$sroa$012$0$$sroa_idx>>2] = $37; + $$sroa$213$0$$sroa_idx14 = ((($3)) + 32|0); + HEAPF32[$$sroa$213$0$$sroa_idx14>>2] = $41; + $42 = HEAP32[$3>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $44 = ((($5)) + 4|0); + $$024 = 0;$47 = $42; + while(1) { + $45 = (($$024) + 1)|0; + $46 = ($45>>>0)<($47>>>0); + $48 = $46 ? $45 : 0; + $49 = (((($3)) + 4|0) + ($48<<3)|0); + $50 = (((($3)) + 4|0) + ($$024<<3)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$49>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$49+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$50>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$50+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy,$$byval_copy1); + $51 = (((($3)) + 196|0) + ($$024<<3)|0); + $52 = HEAP32[$44>>2]|0; + $53 = +HEAPF32[$5>>2]; + $54 = -$53; + HEAP32[$51>>2] = $52; + $$sroa$2$0$$sroa_idx1 = (((((($3)) + 196|0) + ($$024<<3)|0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $54; + _MathNormalize($51); + $55 = HEAP32[$3>>2]|0; + $56 = ($45>>>0)<($55>>>0); + if ($56) { + $$024 = $45;$47 = $55; + } else { + break; + } + } + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; +} +function _MathCrossVector2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($1)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = +HEAPF32[$1>>2]; + $9 = $7 * $8; + $10 = $5 - $9; + return (+$10); +} +function _CreateRandomPolygon($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $$02829 = 0, $$030 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$pr = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0; + var $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.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.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy1 = sp + 440|0; + $$byval_copy = sp + 432|0; + $3 = sp + 24|0; + $4 = sp; + $5 = sp + 16|0; + $6 = ((($3)) + 4|0); + _memset(($6|0),0,400)|0; + HEAP32[$3>>2] = $2; + $7 = (_GetRandomNumber()|0); + $8 = (+($7|0)); + $9 = ((($3)) + 388|0); + $10 = $8; + $11 = $10 * 0.017453292519943295; + $12 = $11; + _Mat2Radians($4,$12); + ;HEAP32[$9>>2]=HEAP32[$4>>2]|0;HEAP32[$9+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$4+12>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $15 = (360 / ($2|0))&-1; + $16 = HEAP32[$3>>2]|0; + $$030 = 0; + while(1) { + $19 = Math_imul($15, $$030)|0; + $20 = (+($19|0)); + $21 = $20 * 0.017453292519943295; + $22 = $21; + $23 = (+Math_cos((+$22))); + $24 = $23 * $1; + $25 = (((($3)) + 4|0) + ($$030<<3)|0); + HEAPF32[$25>>2] = $24; + $26 = (+Math_sin((+$22))); + $27 = $26 * $1; + $28 = (((((($3)) + 4|0) + ($$030<<3)|0)) + 4|0); + HEAPF32[$28>>2] = $27; + $29 = (($$030) + 1)|0; + $30 = ($29>>>0)<($16>>>0); + if ($30) { + $$030 = $29; + } else { + break; + } + } + $$pr = HEAP32[$3>>2]|0; + $17 = ($$pr|0)==(0); + if ($17) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $18 = ((($5)) + 4|0); + $$02829 = 0; + while(1) { + $31 = (($$02829) + 1)|0; + $32 = ($31|0)<($2|0); + $33 = $32 ? $31 : 0; + $34 = (((($3)) + 4|0) + ($33<<3)|0); + $35 = (((($3)) + 4|0) + ($$02829<<3)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$34+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$35+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy,$$byval_copy1); + $36 = (((($3)) + 196|0) + ($$02829<<3)|0); + $37 = HEAP32[$18>>2]|0; + $38 = +HEAPF32[$5>>2]; + $39 = -$38; + HEAP32[$36>>2] = $37; + $$sroa$2$0$$sroa_idx1 = (((((($3)) + 196|0) + ($$02829<<3)|0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $39; + _MathNormalize($36); + $40 = HEAP32[$3>>2]|0; + $41 = ($31>>>0)<($40>>>0); + if ($41) { + $$02829 = $31; + } else { + break; + } + } + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; +} +function _Vector2Add_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 + $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 + $10; + HEAPF32[$6>>2] = $11; + return; +} +function _Mat2MultiplyVector2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 * $4; + $6 = ((($1)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($2)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + HEAPF32[$0>>2] = $11; + $12 = ((($0)) + 4|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $4 * $14; + $16 = ((($1)) + 12|0); + $17 = +HEAPF32[$16>>2]; + $18 = $9 * $17; + $19 = $15 + $18; + HEAPF32[$12>>2] = $19; + return; +} +function _DestroyPhysicsBody($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$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; + var $24 = 0, $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|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3571]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3571]|0; + $$02023 = 0; + while(1) { + $6 = (14288 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14288 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3570]|0; + $15 = (($14) + -500)|0; + HEAP32[3570] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3571]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3571]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14288 + ($$022<<2)|0); + $25 = (14288 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3571] = $19; + return; +} +function _Vector2Subtract_4($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 - $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + return; +} +function _MathNormalize($0) { + $0 = $0|0; + var $$op = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$5$0$copyload = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$sroa$0$0$copyload = +HEAPF32[$0>>2]; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 4|0); + $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx3>>2]; + $1 = $$sroa$0$0$copyload * $$sroa$0$0$copyload; + $2 = $$sroa$5$0$copyload * $$sroa$5$0$copyload; + $3 = $1 + $2; + $4 = (+Math_sqrt((+$3))); + $5 = $4 == 0.0; + $$op = 1.0 / $4; + $6 = $5 ? 1.0 : $$op; + $7 = $$sroa$0$0$copyload * $6; + HEAPF32[$0>>2] = $7; + $8 = $$sroa$5$0$copyload * $6; + HEAPF32[$$sroa$5$0$$sroa_idx3>>2] = $8; + return; +} +function _GetPhysicsBodiesCount() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3571]|0; + return ($0|0); +} +function _GetPhysicsBody($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3571]|0; + $2 = ($1>>>0)>($0>>>0); + if (!($2)) { + $$0 = 0; + return ($$0|0); + } + $3 = (14288 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$0 = $4; + return ($$0|0); +} +function _GetPhysicsShapeVerticesCount($0) { + $0 = $0|0; + var $$1 = 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 = HEAP32[3571]|0; + $2 = ($1>>>0)>($0>>>0); + L1: do { + if ($2) { + $3 = (14288 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $$1 = 0; + } else { + $6 = ((($4)) + 84|0); + $7 = HEAP32[$6>>2]|0; + switch ($7|0) { + case 0: { + $$1 = 24; + break L1; + break; + } + case 1: { + $8 = ((($4)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $$1 = $9; + break L1; + break; + } + default: { + $$1 = 0; + break L1; + } + } + } + } else { + $$1 = 0; + } + } while(0); + return ($$1|0); +} +function _GetPhysicsShapeVertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$0$0 = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$6$0 = 0.0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx5 = 0, $$sroa$6$0$copyload = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0; + var $22 = 0.0, $23 = 0.0, $24 = 0.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; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy3 = sp + 440|0; + $$byval_copy2 = sp + 424|0; + $3 = sp; + $4 = sp + 416|0; + $5 = sp + 408|0; + $6 = ($1|0)==(0|0); + L1: do { + if ($6) { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + } else { + $7 = ((($1)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + $9 = ((($1)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = ($2*15)|0; + $12 = (+($11|0)); + $13 = $12 * 0.017453292519943295; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = ((($1)) + 92|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 * $17; + $19 = $10 + $18; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = (+Math_sin((+$14))); + $23 = $17 * $22; + $24 = $21 + $23; + $$sroa$0$0 = $19;$$sroa$6$0 = $24; + break L1; + break; + } + case 1: { + $25 = ((($1)) + 96|0); + _memcpy(($3|0),($25|0),404)|0; + $26 = ((($1)) + 8|0); + $27 = ((($3)) + 388|0); + $28 = (((($3)) + 4|0) + ($2<<3)|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$28+4>>2]|0; + _Mat2MultiplyVector2($4,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0; + _Vector2Add_2($5,$$byval_copy2,$$byval_copy3); + $$sroa$0$0$copyload = +HEAPF32[$5>>2]; + $$sroa$6$0$$sroa_idx4 = ((($5)) + 4|0); + $$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx4>>2]; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$6$0 = $$sroa$6$0$copyload; + break L1; + break; + } + default: { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + break L1; + } + } + } + } while(0); + HEAPF32[$0>>2] = $$sroa$0$0; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 4|0); + HEAPF32[$$sroa$6$0$$sroa_idx5>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _Mat2Radians($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = ((($0)) + 4|0); + $5 = -$3; + HEAPF32[$4>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _ClosePhysics() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3569] = 0; + $0 = HEAP32[3568]|0; + (_pthread_join(($0|0),(0|0))|0); + return; +} +function _main() { + var $$byval_copy3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0.0, $46 = 0, $47 = 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); + $$byval_copy3 = sp + 32|0; + $0 = sp + 24|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp; + _SetConfigFlags(32); + $4 = HEAP32[2]|0; + $5 = HEAP32[3]|0; + _InitWindow($4,$5,3248); + $6 = HEAP32[2]|0; + $7 = (_MeasureText(3286,30)|0); + $8 = (($6) + -10)|0; + $9 = (($8) - ($7))|0; + HEAP32[7733] = $9; + _InitPhysics(); + $10 = HEAP32[2]|0; + $11 = (($10|0) / 2)&-1; + $12 = (+($11|0)); + HEAPF32[$0>>2] = $12; + $13 = ((($0)) + 4|0); + $14 = HEAP32[3]|0; + $15 = (+($14|0)); + HEAPF32[$13>>2] = $15; + $16 = HEAP32[2]|0; + $17 = (+($16|0)); + ;HEAP32[$$byval_copy3>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$0+4>>2]|0; + $18 = (_CreatePhysicsBodyRectangle($$byval_copy3,$17,100.0,10.0)|0); + $19 = ((($18)) + 4|0); + HEAP32[$19>>2] = 0; + $20 = ((($18)) + 68|0); + HEAPF32[$20>>2] = 1.0; + $21 = HEAP32[2]|0; + $22 = (+($21|0)); + $23 = $22 * 0.25; + HEAPF32[$1>>2] = $23; + $24 = ((($1)) + 4|0); + $25 = HEAP32[3]|0; + $26 = (($25|0) / 2)&-1; + $27 = (+($26|0)); + HEAPF32[$24>>2] = $27; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0; + $28 = (_CreatePhysicsBodyCircle($$byval_copy3,30.0,10.0)|0); + HEAP32[7734] = $28; + $29 = ((($28)) + 68|0); + HEAPF32[$29>>2] = 0.0; + $30 = HEAP32[2]|0; + $31 = (+($30|0)); + $32 = $31 * 0.5; + HEAPF32[$2>>2] = $32; + $33 = ((($2)) + 4|0); + $34 = HEAP32[3]|0; + $35 = (($34|0) / 2)&-1; + $36 = (+($35|0)); + HEAPF32[$33>>2] = $36; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; + $37 = (_CreatePhysicsBodyCircle($$byval_copy3,30.0,10.0)|0); + HEAP32[7735] = $37; + $38 = ((($37)) + 68|0); + HEAPF32[$38>>2] = 0.5; + $39 = HEAP32[2]|0; + $40 = (+($39|0)); + $41 = $40 * 0.75; + HEAPF32[$3>>2] = $41; + $42 = ((($3)) + 4|0); + $43 = HEAP32[3]|0; + $44 = (($43|0) / 2)&-1; + $45 = (+($44|0)); + HEAPF32[$42>>2] = $45; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>2]|0; + $46 = (_CreatePhysicsBodyCircle($$byval_copy3,30.0,10.0)|0); + HEAP32[7736] = $46; + $47 = ((($46)) + 68|0); + HEAPF32[$47>>2] = 1.0; + _emscripten_set_main_loop((1|0),0,1); + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$04142 = 0, $$043 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$026$0$$sroa_idx = 0, $$sroa$029$0$$sroa_idx = 0, $$sroa$032$0$$sroa_idx = 0, $$sroa$035$0$$sroa_idx = 0, $$sroa$038$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx25 = 0, $$sroa$227$0$$sroa_idx28 = 0, $$sroa$230$0$$sroa_idx31 = 0, $$sroa$233$0$$sroa_idx34 = 0, $$sroa$236$0$$sroa_idx37 = 0, $$sroa$239$0$$sroa_idx40 = 0, $0 = 0, $1 = 0, $10 = 0; + var $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.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.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.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, $exitcond = 0, $exitcond47 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy3 = sp + 72|0; + $$byval_copy2 = sp + 56|0; + $$byval_copy1 = sp + 48|0; + $0 = sp + 68|0; + $1 = sp + 24|0; + $2 = sp + 8|0; + $3 = sp + 64|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp; + $11 = (_IsKeyPressed(82)|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = HEAP32[7734]|0; + $14 = HEAP32[2]|0; + $15 = (+($14|0)); + $16 = $15 * 0.25; + $17 = HEAP32[3]|0; + $18 = (($17|0) / 2)&-1; + $19 = (+($18|0)); + $$sroa$038$0$$sroa_idx = ((($13)) + 8|0); + HEAPF32[$$sroa$038$0$$sroa_idx>>2] = $16; + $$sroa$239$0$$sroa_idx40 = ((($13)) + 12|0); + HEAPF32[$$sroa$239$0$$sroa_idx40>>2] = $19; + $$sroa$035$0$$sroa_idx = ((($13)) + 16|0); + HEAPF32[$$sroa$035$0$$sroa_idx>>2] = 0.0; + $$sroa$236$0$$sroa_idx37 = ((($13)) + 20|0); + HEAPF32[$$sroa$236$0$$sroa_idx37>>2] = 0.0; + $20 = HEAP32[7735]|0; + $21 = $15 * 0.5; + $$sroa$032$0$$sroa_idx = ((($20)) + 8|0); + HEAPF32[$$sroa$032$0$$sroa_idx>>2] = $21; + $$sroa$233$0$$sroa_idx34 = ((($20)) + 12|0); + HEAPF32[$$sroa$233$0$$sroa_idx34>>2] = $19; + $$sroa$029$0$$sroa_idx = ((($20)) + 16|0); + HEAPF32[$$sroa$029$0$$sroa_idx>>2] = 0.0; + $$sroa$230$0$$sroa_idx31 = ((($20)) + 20|0); + HEAPF32[$$sroa$230$0$$sroa_idx31>>2] = 0.0; + $22 = HEAP32[7736]|0; + $23 = $15 * 0.75; + $$sroa$026$0$$sroa_idx = ((($22)) + 8|0); + HEAPF32[$$sroa$026$0$$sroa_idx>>2] = $23; + $$sroa$227$0$$sroa_idx28 = ((($22)) + 12|0); + HEAPF32[$$sroa$227$0$$sroa_idx28>>2] = $19; + $$sroa$0$0$$sroa_idx = ((($22)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx25 = ((($22)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx25>>2] = 0.0; + } + _BeginDrawing(); + HEAP8[$0>>0] = 0; + $24 = ((($0)) + 1|0); + HEAP8[$24>>0] = 0; + $25 = ((($0)) + 2|0); + HEAP8[$25>>0] = 0; + $26 = ((($0)) + 3|0); + HEAP8[$26>>0] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$0+3>>0]|0; + _ClearBackground($$byval_copy3); + $27 = HEAP32[2]|0; + $28 = (($27) + -90)|0; + $29 = HEAP32[3]|0; + $30 = (($29) + -30)|0; + _DrawFPS($28,$30); + $31 = (_GetPhysicsBodiesCount()|0); + $32 = ($31|0)>(0); + if ($32) { + $33 = ((($3)) + 1|0); + $34 = ((($3)) + 2|0); + $35 = ((($3)) + 3|0); + $$043 = 0; + while(1) { + $85 = (_GetPhysicsBody($$043)|0); + $86 = (_GetPhysicsShapeVerticesCount($$043)|0); + $87 = ($86|0)>(0); + if ($87) { + $$04142 = 0; + while(1) { + _GetPhysicsShapeVertex($1,$85,$$04142); + $89 = (($$04142) + 1)|0; + $90 = ($89|0)<($86|0); + $91 = $90 ? $89 : 0; + _GetPhysicsShapeVertex($2,$85,$91); + HEAP8[$3>>0] = 0; + HEAP8[$33>>0] = -28; + HEAP8[$34>>0] = 48; + HEAP8[$35>>0] = -1; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$3+3>>0]|0; + _DrawLineV($$byval_copy1,$$byval_copy2,$$byval_copy3); + $exitcond = ($89|0)==($86|0); + if ($exitcond) { + break; + } else { + $$04142 = $89; + } + } + } + $88 = (($$043) + 1)|0; + $exitcond47 = ($88|0)==($31|0); + if ($exitcond47) { + break; + } else { + $$043 = $88; + } + } + } + $36 = HEAP32[2]|0; + $37 = (_MeasureText(3293,30)|0); + $38 = (($36) - ($37))|0; + $39 = (($38|0) / 2)&-1; + HEAP32[$4>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawText(3293,$39,75,30,$$byval_copy3); + $40 = HEAP32[7734]|0; + $41 = ((($40)) + 8|0); + $42 = +HEAPF32[$41>>2]; + $43 = (_MeasureText(3312,20)|0); + $44 = (($43|0) / 2)&-1; + $45 = (+($44|0)); + $46 = $42 - $45; + $47 = (~~(($46))); + $48 = HEAP32[7734]|0; + $49 = ((($48)) + 12|0); + $50 = +HEAPF32[$49>>2]; + $51 = $50 + -7.0; + $52 = (~~(($51))); + HEAP32[$5>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$5+3>>0]|0; + _DrawText(3312,$47,$52,20,$$byval_copy3); + $53 = HEAP32[7735]|0; + $54 = ((($53)) + 8|0); + $55 = +HEAPF32[$54>>2]; + $56 = (_MeasureText(3314,20)|0); + $57 = (($56|0) / 2)&-1; + $58 = (+($57|0)); + $59 = $55 - $58; + $60 = (~~(($59))); + $61 = HEAP32[7735]|0; + $62 = ((($61)) + 12|0); + $63 = +HEAPF32[$62>>2]; + $64 = $63 + -7.0; + $65 = (~~(($64))); + HEAP32[$6>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$6+3>>0]|0; + _DrawText(3314,$60,$65,20,$$byval_copy3); + $66 = HEAP32[7736]|0; + $67 = ((($66)) + 8|0); + $68 = +HEAPF32[$67>>2]; + $69 = (_MeasureText(3318,20)|0); + $70 = (($69|0) / 2)&-1; + $71 = (+($70|0)); + $72 = $68 - $71; + $73 = (~~(($72))); + $74 = HEAP32[7736]|0; + $75 = ((($74)) + 12|0); + $76 = +HEAPF32[$75>>2]; + $77 = $76 + -7.0; + $78 = (~~(($77))); + HEAP32[$7>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText(3318,$73,$78,20,$$byval_copy3); + HEAP32[$8>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText(3320,10,10,10,$$byval_copy3); + $79 = HEAP32[7733]|0; + $80 = HEAP32[4]|0; + HEAP32[$9>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(3286,$79,$80,30,$$byval_copy3); + $81 = HEAP32[7733]|0; + $82 = (($81) + 50)|0; + $83 = HEAP32[4]|0; + $84 = (($83) + -7)|0; + HEAP32[$10>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$10+3>>0]|0; + _DrawText(3347,$82,$84,10,$$byval_copy3); + _EndDrawing(); + STACKTOP = sp;return; +} +function _GetRandomNumber() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_rand()|0); + $1 = (($0|0) % 361)&-1; + return ($1|0); +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetCurrentTime()); + HEAPF64[1748] = $1; + return; +} +function _GetCurrentTime() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.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; + (_clock_gettime(1,($0|0))|0); + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)<(0); + $3 = $2 << 31 >> 31; + $4 = (___muldi3(($1|0),($3|0),1000000000,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 = (+($10>>>0)) + (4294967296.0*(+($11>>>0))); + $13 = $12 * 9.9999999999999995E-7; + STACKTOP = sp;return (+$13); +} +function _MathClamp() { + var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1746]; + $1 = $0 < 0.0; + if ($1) { + $$sink = 0.0; + } else { + $2 = $0 > 0.02; + if ($2) { + $$sink = 0.02; + } else { + return; + } + } + HEAPF64[1746] = $$sink; + return; +} +function _PhysicsStep() { + var $$0 = 0, $$0125165 = 0, $$0126163 = 0, $$0127147 = 0, $$0129148 = 0, $$0130 = 0, $$0130160 = 0, $$0130161 = 0, $$0131150 = 0, $$0132 = 0, $$0133152 = 0, $$0134155 = 0, $$0134155$ph = 0, $$0135158 = 0, $$0136156 = 0, $$0167 = 0, $$0168 = 0, $$pr = 0, $$pr172 = 0, $$sroa$0$0$$sroa_idx = 0; + var $$sroa$2$0$$sroa_idx1 = 0, $0 = 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, $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, $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.0, $32 = 0, $33 = 0, $34 = 0.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, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7737]|0; + $1 = (($0) + 1)|0; + HEAP32[7737] = $1; + $2 = HEAP32[3636]|0; + $$0167 = (($2) + -1)|0; + $3 = ($$0167|0)>(-1); + if ($3) { + $$0168 = $$0167; + while(1) { + $6 = (14548 + ($$0168<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + _DestroyPhysicsManifold($7); + } + $$0 = (($$0168) + -1)|0; + $9 = ($$0|0)>(-1); + if ($9) { + $$0168 = $$0; + } else { + break; + } + } + } + $4 = HEAP32[3571]|0; + $5 = ($4|0)==(0); + if ($5) { + $17 = $4; + label = 8; + } else { + $$0125165 = 0; + while(1) { + $11 = (14288 + ($$0125165<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 76|0); + HEAP32[$13>>2] = 0; + $14 = (($$0125165) + 1)|0; + $15 = ($14>>>0)<($4>>>0); + if ($15) { + $$0125165 = $14; + } else { + break; + } + } + $$pr = HEAP32[3571]|0; + $10 = ($$pr|0)==(0); + if (!($10)) { + $$0126163 = 0; + while(1) { + $19 = (14288 + ($$0126163<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0|0); + if (!($21)) { + $$0130160 = (($$0126163) + 1)|0; + $22 = HEAP32[3571]|0; + $23 = ($$0130160>>>0)<($22>>>0); + if ($23) { + $24 = ((($20)) + 56|0); + $25 = ((($20)) + 84|0); + $$0130161 = $$0130160; + while(1) { + $26 = (14288 + ($$0130161<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0|0); + do { + if (!($28)) { + $31 = +HEAPF32[$24>>2]; + $32 = $31 == 0.0; + if ($32) { + $33 = ((($27)) + 56|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 == 0.0; + if ($35) { + break; + } + } + $36 = HEAP32[$25>>2]|0; + $37 = ($36|0)==(1); + if ($37) { + $38 = ((($27)) + 84|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $41 = (_CreatePhysicsManifold($27,$20)|0); + $$0132 = $41; + } else { + label = 20; + } + } else { + label = 20; + } + if ((label|0) == 20) { + label = 0; + $42 = (_CreatePhysicsManifold($20,$27)|0); + $$0132 = $42; + } + _SolvePhysicsManifold($$0132); + $43 = ((($$0132)) + 40|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(0); + if (!($45)) { + $46 = (_CreatePhysicsManifold($20,$27)|0); + $47 = ((($$0132)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ((($46)) + 12|0); + HEAP32[$49>>2] = $48; + $50 = ((($46)) + 16|0); + $51 = ((($$0132)) + 16|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $50; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = ((($46)) + 24|0); + $63 = ((($$0132)) + 24|0); + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $62; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = ((($46)) + 32|0); + $75 = ((($$0132)) + 32|0); + $76 = $75; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $74; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = HEAP32[$43>>2]|0; + $87 = ((($46)) + 40|0); + HEAP32[$87>>2] = $86; + $88 = ((($$0132)) + 44|0); + $89 = HEAP32[$88>>2]|0; + $90 = ((($46)) + 44|0); + HEAP32[$90>>2] = $89; + $91 = ((($$0132)) + 48|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($46)) + 48|0); + HEAP32[$93>>2] = $92; + $94 = ((($$0132)) + 52|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($46)) + 52|0); + HEAP32[$96>>2] = $95; + } + } + } while(0); + $$0130 = (($$0130161) + 1)|0; + $29 = HEAP32[3571]|0; + $30 = ($$0130>>>0)<($29>>>0); + if ($30) { + $$0130161 = $$0130; + } else { + break; + } + } + } + } + $97 = (($$0126163) + 1)|0; + $98 = HEAP32[3571]|0; + $99 = ($97>>>0)<($98>>>0); + if ($99) { + $$0126163 = $97; + } else { + $17 = $98; + label = 8; + break; + } + } + } + } + if ((label|0) == 8) { + $16 = ($17|0)==(0); + if (!($16)) { + $18 = HEAP32[3571]|0; + $$0135158 = 0; + while(1) { + $103 = (14288 + ($$0135158<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)==(0|0); + if (!($105)) { + _IntegratePhysicsForces($104); + } + $106 = (($$0135158) + 1)|0; + $107 = ($106>>>0)<($18>>>0); + if ($107) { + $$0135158 = $106; + } else { + break; + } + } + } + } + $100 = HEAP32[3636]|0; + $101 = ($100|0)==(0); + if ($101) { + $$0134155 = 0;$114 = 0; + } else { + $102 = HEAP32[3636]|0; + $$0136156 = 0; + while(1) { + $108 = (14548 + ($$0136156<<2)|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)==(0|0); + if (!($110)) { + _InitializePhysicsManifolds($109); + } + $111 = (($$0136156) + 1)|0; + $112 = ($111>>>0)<($102>>>0); + if ($112) { + $$0136156 = $111; + } else { + $$0134155$ph = 0; + label = 32; + break; + } + } + } + while(1) { + if ((label|0) == 32) { + label = 0; + $$pr172 = HEAP32[3636]|0; + $$0134155 = $$0134155$ph;$114 = $$pr172; + } + $113 = ($114|0)==(0); + if (!($113)) { + $115 = (14548 + ($$0134155<<2)|0); + $$0133152 = 0; + while(1) { + $120 = HEAP32[$115>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + _IntegratePhysicsImpulses($120); + } + $122 = (($$0133152) + 1)|0; + $123 = HEAP32[3636]|0; + $124 = ($122>>>0)<($123>>>0); + if ($124) { + $$0133152 = $122; + } else { + break; + } + } + } + $119 = (($$0134155) + 1)|0; + $exitcond = ($119|0)==(100); + if ($exitcond) { + break; + } else { + $$0134155$ph = $119; + label = 32; + } + } + $116 = HEAP32[3571]|0; + $117 = ($116|0)==(0); + if (!($117)) { + $118 = HEAP32[3571]|0; + $$0131150 = 0; + while(1) { + $128 = (14288 + ($$0131150<<2)|0); + $129 = HEAP32[$128>>2]|0; + $130 = ($129|0)==(0|0); + if (!($130)) { + _IntegratePhysicsVelocity($129); + } + $131 = (($$0131150) + 1)|0; + $132 = ($131>>>0)<($118>>>0); + if ($132) { + $$0131150 = $131; + } else { + break; + } + } + } + $125 = HEAP32[3636]|0; + $126 = ($125|0)==(0); + if (!($126)) { + $127 = HEAP32[3636]|0; + $$0129148 = 0; + while(1) { + $136 = (14548 + ($$0129148<<2)|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($137|0)==(0|0); + if (!($138)) { + _CorrectPhysicsPositions($137); + } + $139 = (($$0129148) + 1)|0; + $140 = ($139>>>0)<($127>>>0); + if ($140) { + $$0129148 = $139; + } else { + break; + } + } + } + $133 = HEAP32[3571]|0; + $134 = ($133|0)==(0); + if ($134) { + return; + } + $135 = HEAP32[3571]|0; + $$0127147 = 0; + while(1) { + $141 = (14288 + ($$0127147<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if (!($143)) { + $$sroa$0$0$$sroa_idx = ((($142)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx1 = ((($142)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = 0.0; + $144 = ((($142)) + 36|0); + HEAPF32[$144>>2] = 0.0; + } + $145 = (($$0127147) + 1)|0; + $146 = ($145>>>0)<($135>>>0); + if ($146) { + $$0127147 = $145; + } else { + break; + } + } + return; +} +function _DestroyPhysicsManifold($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$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; + var $24 = 0, $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|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3636]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3636]|0; + $$02023 = 0; + while(1) { + $6 = (14548 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14548 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3570]|0; + $15 = (($14) + -56)|0; + HEAP32[3570] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3636]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3636]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14548 + ($$022<<2)|0); + $25 = (14548 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3636] = $19; + return; +} +function _CreatePhysicsManifold($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$04457 = 0, $$044576162 = 0, $$04755 = 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; + var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + $2 = (_malloc(56)|0); + $3 = HEAP32[3570]|0; + $4 = (($3) + 56)|0; + HEAP32[3570] = $4; + $5 = HEAP32[3636]|0; + $6 = ($5|0)==(0); + $$04457 = 0; + L1: while(1) { + if ($6) { + $$044576162 = 0; + break; + } else { + $$04755 = 0; + } + while(1) { + $9 = (14548 + ($$04755<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==($$04457|0); + $8 = (($$04755) + 1)|0; + if ($12) { + break; + } + $7 = ($8>>>0)<($5>>>0); + if ($7) { + $$04755 = $8; + } else { + label = 6; + break L1; + } + } + $13 = (($$04457) + 1)|0; + $14 = ($13|0)<(4096); + if ($14) { + $$04457 = $13; + } else { + label = 8; + break; + } + } + if ((label|0) == 8) { + return ($2|0); + } + if ((label|0) == 6) { + $15 = ($$04457|0)==(-1); + if ($15) { + return ($2|0); + } else { + $$044576162 = $$04457; + } + } + HEAP32[$2>>2] = $$044576162; + $16 = ((($2)) + 4|0); + HEAP32[$16>>2] = $0; + $17 = ((($2)) + 8|0); + HEAP32[$17>>2] = $1; + $18 = ((($2)) + 12|0); + dest=$18; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $19 = HEAP32[3636]|0; + $20 = (14548 + ($19<<2)|0); + HEAP32[$20>>2] = $2; + $21 = (($19) + 1)|0; + HEAP32[3636] = $21; + return ($2|0); +} +function _SolvePhysicsManifold($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.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 84|0); + $4 = HEAP32[$3>>2]|0; + L1: do { + switch ($4|0) { + case 0: { + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + _SolveCircleToCircle($0); + break L1; + break; + } + case 1: { + _SolveCircleToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + case 1: { + $9 = ((($0)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 84|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 0: { + _SolvePolygonToCircle($0); + break L1; + break; + } + case 1: { + _SolvePolygonToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + default: { + } + } + } while(0); + $13 = ((($0)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 76|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + return; + } + $18 = ((($0)) + 20|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19 < 0.0; + $21 = $20&1; + HEAP32[$15>>2] = $21; + return; +} +function _IntegratePhysicsForces($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 56|0); + $2 = +HEAPF32[$1>>2]; + $3 = $2 == 0.0; + if ($3) { + return; + } + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + return; + } + $7 = ((($0)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $2 * $8; + $10 = $9; + $11 = +HEAPF64[1749]; + $12 = $11 * 0.5; + $13 = $10 * $12; + $14 = ((($0)) + 16|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $16 + $13; + $18 = $17; + HEAPF32[$14>>2] = $18; + $19 = ((($0)) + 28|0); + $20 = +HEAPF32[$19>>2]; + $21 = $2 * $20; + $22 = $21; + $23 = $12 * $22; + $24 = ((($0)) + 20|0); + $25 = +HEAPF32[$24>>2]; + $26 = $25; + $27 = $26 + $23; + $28 = $27; + HEAPF32[$24>>2] = $28; + $29 = ((($0)) + 72|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = +HEAPF32[7738]; + $33 = $32; + $34 = $12 * $33; + $35 = +HEAPF32[$14>>2]; + $36 = $35; + $37 = $36 + $34; + $38 = $37; + HEAPF32[$14>>2] = $38; + $39 = +HEAPF32[5]; + $40 = $39; + $41 = $12 * $40; + $42 = +HEAPF32[$24>>2]; + $43 = $42; + $44 = $43 + $41; + $45 = $44; + HEAPF32[$24>>2] = $45; + } + $46 = ((($0)) + 80|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==(0); + if (!($48)) { + return; + } + $49 = ((($0)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = ((($0)) + 48|0); + $52 = +HEAPF32[$51>>2]; + $53 = $50 * $52; + $54 = $53; + $55 = $12 * $54; + $56 = ((($0)) + 32|0); + $57 = +HEAPF32[$56>>2]; + $58 = $57; + $59 = $58 + $55; + $60 = $59; + HEAPF32[$56>>2] = $60; + return; +} +function _InitializePhysicsManifolds($0) { + $0 = $0|0; + var $$byval_copy14 = 0, $$byval_copy9 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0; + var $26 = 0, $27 = 0.0, $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, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0; + var $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0; + var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0; + var $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy14 = sp + 48|0; + $$byval_copy9 = sp + 40|0; + $1 = sp + 24|0; + $2 = sp + 16|0; + $3 = sp + 8|0; + $4 = sp; + $5 = sp + 32|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($7)) + 68|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($9)) + 68|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 * $13; + $15 = (+Math_sqrt((+$14))); + $16 = ((($0)) + 44|0); + HEAPF32[$16>>2] = $15; + $17 = ((($7)) + 60|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($9)) + 60|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + $22 = (+Math_sqrt((+$21))); + $23 = ((($0)) + 52|0); + HEAPF32[$23>>2] = $22; + $24 = ((($7)) + 64|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($9)) + 64|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 * $27; + $29 = (+Math_sqrt((+$28))); + $30 = ((($0)) + 48|0); + HEAPF32[$30>>2] = $29; + $31 = ((($7)) + 8|0); + $32 = ((($9)) + 8|0); + $33 = ((($7)) + 32|0); + $34 = ((($9)) + 32|0); + $35 = ((($9)) + 16|0); + $36 = ((($7)) + 16|0); + $37 = ((($9)) + 20|0); + $38 = ((($3)) + 4|0); + $39 = ((($7)) + 20|0); + $40 = ((($$byval_copy9)) + 4|0); + $41 = ((($4)) + 4|0); + $42 = +HEAPF32[7738]; + $43 = $42; + $44 = +HEAPF64[1749]; + $45 = $43 * $44; + $46 = $45; + $47 = ((($5)) + 4|0); + $48 = +HEAPF32[5]; + $49 = $48; + $50 = $49 * $44; + $51 = $50; + $52 = ((($0)) + 24|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $53 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$53,$$byval_copy14); + $54 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$54,$$byval_copy14); + $55 = +HEAPF32[$35>>2]; + $56 = +HEAPF32[$3>>2]; + $57 = $55 + $56; + $58 = +HEAPF32[$36>>2]; + $59 = $57 - $58; + $60 = +HEAPF32[$$byval_copy9>>2]; + $61 = $59 - $60; + HEAPF32[$4>>2] = $61; + $62 = +HEAPF32[$37>>2]; + $63 = +HEAPF32[$38>>2]; + $64 = $62 + $63; + $65 = +HEAPF32[$39>>2]; + $66 = $64 - $65; + $67 = +HEAPF32[$40>>2]; + $68 = $66 - $67; + HEAPF32[$41>>2] = $68; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $69 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $70 = (+_MathLenSqr($$byval_copy14)); + $71 = $70 + 9.9999999747524271E-7; + $72 = $69 < $71; + if ($72) { + HEAPF32[$16>>2] = 0.0; + } + $73 = ((($0)) + 32|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$74,$$byval_copy14); + $75 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$75,$$byval_copy14); + $76 = +HEAPF32[$35>>2]; + $77 = +HEAPF32[$3>>2]; + $78 = $76 + $77; + $79 = +HEAPF32[$36>>2]; + $80 = $78 - $79; + $81 = +HEAPF32[$$byval_copy9>>2]; + $82 = $80 - $81; + HEAPF32[$4>>2] = $82; + $83 = +HEAPF32[$37>>2]; + $84 = +HEAPF32[$38>>2]; + $85 = $83 + $84; + $86 = +HEAPF32[$39>>2]; + $87 = $85 - $86; + $88 = +HEAPF32[$40>>2]; + $89 = $87 - $88; + HEAPF32[$41>>2] = $89; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $90 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $91 = (+_MathLenSqr($$byval_copy14)); + $92 = $91 + 9.9999999747524271E-7; + $93 = $90 < $92; + if (!($93)) { + STACKTOP = sp;return; + } + HEAPF32[$16>>2] = 0.0; + STACKTOP = sp;return; +} +function _IntegratePhysicsImpulses($0) { + $0 = $0|0; + var $$0 = 0, $$0135139 = 0, $$1 = 0, $$byval_copy29 = 0, $$sink = 0.0, $$sink138 = 0.0, $$sroa$047$0$$sroa_idx = 0, $$sroa$050$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$248$0$$sroa_idx49 = 0, $$sroa$251$0$$sroa_idx52 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0; + var $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0; + var $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0; + var $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0; + var $18 = 0, $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0, $197 = 0.0; + var $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0; + var $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0.0, $220 = 0.0, $221 = 0.0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0; + var $233 = 0.0, $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0.0, $240 = 0.0, $25 = 0.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.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0; + var $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0; + var $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $cond1 = 0, $fabsf = 0.0, $fabsf136 = 0.0, $tmpcast137$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $tmpcast137$byval_copy = sp + 136|0; + $$byval_copy29 = sp + 128|0; + $1 = sp + 40|0; + $2 = sp + 32|0; + $3 = sp + 8|0; + $4 = sp + 120|0; + $5 = sp + 112|0; + $6 = sp + 104|0; + $7 = sp + 96|0; + $8 = sp + 24|0; + $9 = sp + 88|0; + $10 = sp + 80|0; + $11 = sp + 72|0; + $12 = sp + 64|0; + $13 = sp + 56|0; + $14 = sp + 16|0; + $15 = sp; + $16 = sp + 48|0; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($18)) + 56|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($20)) + 56|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 + $24; + $fabsf = (+Math_abs((+$25))); + $26 = !($fabsf <= 9.9999999747524271E-7); + if (!($26)) { + $$sroa$050$0$$sroa_idx = ((($18)) + 16|0); + HEAPF32[$$sroa$050$0$$sroa_idx>>2] = 0.0; + $$sroa$251$0$$sroa_idx52 = ((($18)) + 20|0); + HEAPF32[$$sroa$251$0$$sroa_idx52>>2] = 0.0; + $$sroa$047$0$$sroa_idx = ((($20)) + 16|0); + HEAPF32[$$sroa$047$0$$sroa_idx>>2] = 0.0; + $$sroa$248$0$$sroa_idx49 = ((($20)) + 20|0); + HEAPF32[$$sroa$248$0$$sroa_idx49>>2] = 0.0; + STACKTOP = sp;return; + } + $27 = ((($0)) + 40|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0); + if ($29) { + STACKTOP = sp;return; + } + $30 = ((($18)) + 8|0); + $31 = ((($20)) + 8|0); + $32 = ((($20)) + 16|0); + $33 = ((($20)) + 32|0); + $34 = ((($18)) + 16|0); + $35 = ((($18)) + 32|0); + $36 = ((($20)) + 20|0); + $37 = ((($6)) + 4|0); + $38 = ((($18)) + 20|0); + $39 = ((($7)) + 4|0); + $40 = ((($3)) + 4|0); + $41 = ((($0)) + 16|0); + $42 = ((($18)) + 48|0); + $43 = ((($20)) + 48|0); + $44 = ((($0)) + 44|0); + $45 = ((($8)) + 4|0); + $46 = ((($0)) + 20|0); + $47 = ((($18)) + 4|0); + $48 = ((($20)) + 4|0); + $49 = ((($12)) + 4|0); + $50 = ((($13)) + 4|0); + $51 = ((($14)) + 4|0); + $52 = ((($0)) + 52|0); + $$sroa$2$0$$sroa_idx2 = ((($15)) + 4|0); + $53 = ((($20)) + 80|0); + $54 = ((($18)) + 80|0); + $55 = ((($16)) + 4|0); + $56 = ((($0)) + 48|0); + $57 = ((($20)) + 80|0); + $58 = ((($18)) + 80|0); + $59 = ((($9)) + 4|0); + $$0135139 = 0; + while(1) { + $63 = (((($0)) + 24|0) + ($$0135139<<3)|0); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$30>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$30+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy29,$tmpcast137$byval_copy); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$31>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy29,$tmpcast137$byval_copy); + $64 = +HEAPF32[$32>>2]; + $65 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($4,$65,$tmpcast137$byval_copy); + $66 = +HEAPF32[$4>>2]; + $67 = $64 + $66; + $68 = +HEAPF32[$34>>2]; + $69 = $67 - $68; + $70 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($5,$70,$tmpcast137$byval_copy); + $71 = +HEAPF32[$5>>2]; + $72 = $69 - $71; + HEAPF32[$3>>2] = $72; + $73 = +HEAPF32[$36>>2]; + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($6,$74,$tmpcast137$byval_copy); + $75 = +HEAPF32[$37>>2]; + $76 = $73 + $75; + $77 = +HEAPF32[$38>>2]; + $78 = $76 - $77; + $79 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($7,$79,$tmpcast137$byval_copy); + $80 = +HEAPF32[$39>>2]; + $81 = $78 - $80; + HEAPF32[$40>>2] = $81; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $82 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $83 = $82 > 0.0; + if ($83) { + $$1 = 1; + } else { + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $84 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $85 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $86 = +HEAPF32[$21>>2]; + $87 = +HEAPF32[$23>>2]; + $88 = $86 + $87; + $89 = $84 * $84; + $90 = +HEAPF32[$42>>2]; + $91 = $89 * $90; + $92 = $88 + $91; + $93 = $85 * $85; + $94 = +HEAPF32[$43>>2]; + $95 = $93 * $94; + $96 = $92 + $95; + $97 = +HEAPF32[$44>>2]; + $98 = $97 + 1.0; + $99 = $82 * $98; + $100 = -$99; + $101 = $100 / $96; + $102 = HEAP32[$27>>2]|0; + $103 = (+($102>>>0)); + $104 = $101 / $103; + $105 = +HEAPF32[$41>>2]; + $106 = $105 * $104; + HEAPF32[$8>>2] = $106; + $107 = +HEAPF32[$46>>2]; + $108 = $104 * $107; + HEAPF32[$45>>2] = $108; + $109 = HEAP32[$47>>2]|0; + $110 = ($109|0)==(0); + if (!($110)) { + $111 = +HEAPF32[$21>>2]; + $112 = +HEAPF32[$8>>2]; + $113 = $111 * $112; + $114 = +HEAPF32[$34>>2]; + $115 = $114 - $113; + HEAPF32[$34>>2] = $115; + $116 = +HEAPF32[$45>>2]; + $117 = $111 * $116; + $118 = +HEAPF32[$38>>2]; + $119 = $118 - $117; + HEAPF32[$38>>2] = $119; + $120 = HEAP32[$58>>2]|0; + $121 = ($120|0)==(0); + if ($121) { + $122 = +HEAPF32[$42>>2]; + $123 = +HEAPF32[$8>>2]; + $124 = -$123; + HEAPF32[$9>>2] = $124; + $125 = +HEAPF32[$45>>2]; + $126 = -$125; + HEAPF32[$59>>2] = $126; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$9+4>>2]|0; + $127 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $128 = $122 * $127; + $129 = +HEAPF32[$35>>2]; + $130 = $129 + $128; + HEAPF32[$35>>2] = $130; + } + } + $131 = HEAP32[$48>>2]|0; + $132 = ($131|0)==(0); + if (!($132)) { + $133 = +HEAPF32[$23>>2]; + $134 = +HEAPF32[$8>>2]; + $135 = $133 * $134; + $136 = +HEAPF32[$32>>2]; + $137 = $136 + $135; + HEAPF32[$32>>2] = $137; + $138 = +HEAPF32[$45>>2]; + $139 = $133 * $138; + $140 = +HEAPF32[$36>>2]; + $141 = $140 + $139; + HEAPF32[$36>>2] = $141; + $142 = HEAP32[$57>>2]|0; + $143 = ($142|0)==(0); + if ($143) { + $144 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + $145 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $146 = $144 * $145; + $147 = +HEAPF32[$33>>2]; + $148 = $147 + $146; + HEAPF32[$33>>2] = $148; + } + } + $149 = +HEAPF32[$32>>2]; + $150 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($10,$150,$tmpcast137$byval_copy); + $151 = +HEAPF32[$10>>2]; + $152 = $149 + $151; + $153 = +HEAPF32[$34>>2]; + $154 = $152 - $153; + $155 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($11,$155,$tmpcast137$byval_copy); + $156 = +HEAPF32[$11>>2]; + $157 = $154 - $156; + HEAPF32[$3>>2] = $157; + $158 = +HEAPF32[$36>>2]; + $159 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($12,$159,$tmpcast137$byval_copy); + $160 = +HEAPF32[$49>>2]; + $161 = $158 + $160; + $162 = +HEAPF32[$38>>2]; + $163 = $161 - $162; + $164 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($13,$164,$tmpcast137$byval_copy); + $165 = +HEAPF32[$50>>2]; + $166 = $163 - $165; + HEAPF32[$40>>2] = $166; + $167 = +HEAPF32[$3>>2]; + $168 = +HEAPF32[$41>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $169 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $170 = $168 * $169; + $171 = $167 - $170; + HEAPF32[$14>>2] = $171; + $172 = +HEAPF32[$40>>2]; + $173 = +HEAPF32[$46>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $174 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $175 = $173 * $174; + $176 = $172 - $175; + HEAPF32[$51>>2] = $176; + _MathNormalize($14); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$14+4>>2]|0; + $177 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $178 = -$177; + $179 = $178 / $96; + $180 = HEAP32[$27>>2]|0; + $181 = (+($180>>>0)); + $182 = $179 / $181; + $fabsf136 = (+Math_abs((+$182))); + $183 = !($fabsf136 <= 9.9999999747524271E-7); + if ($183) { + $184 = $15; + $185 = $184; + HEAP32[$185>>2] = 0; + $186 = (($184) + 4)|0; + $187 = $186; + HEAP32[$187>>2] = 0; + $188 = +HEAPF32[$52>>2]; + $189 = $104 * $188; + $190 = $fabsf136 < $189; + $191 = +HEAPF32[$14>>2]; + $192 = +HEAPF32[$51>>2]; + if ($190) { + $193 = $182 * $191; + $194 = $182 * $192; + $$sink = $194;$$sink138 = $193; + } else { + $195 = -$104; + $196 = $191 * $195; + $197 = +HEAPF32[$56>>2]; + $198 = $196 * $197; + $199 = $192 * $195; + $200 = $199 * $197; + $$sink = $200;$$sink138 = $198; + } + HEAPF32[$15>>2] = $$sink138; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $$sink; + $201 = HEAP32[$47>>2]|0; + $202 = ($201|0)==(0); + if (!($202)) { + $203 = +HEAPF32[$21>>2]; + $204 = +HEAPF32[$15>>2]; + $205 = $203 * $204; + $206 = +HEAPF32[$34>>2]; + $207 = $206 - $205; + HEAPF32[$34>>2] = $207; + $208 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $209 = $203 * $208; + $210 = +HEAPF32[$38>>2]; + $211 = $210 - $209; + HEAPF32[$38>>2] = $211; + $212 = HEAP32[$54>>2]|0; + $213 = ($212|0)==(0); + if ($213) { + $214 = +HEAPF32[$42>>2]; + $215 = +HEAPF32[$15>>2]; + $216 = -$215; + HEAPF32[$16>>2] = $216; + $217 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $218 = -$217; + HEAPF32[$55>>2] = $218; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$16+4>>2]|0; + $219 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $220 = $214 * $219; + $221 = +HEAPF32[$35>>2]; + $222 = $221 + $220; + HEAPF32[$35>>2] = $222; + } + } + $223 = HEAP32[$48>>2]|0; + $224 = ($223|0)==(0); + if (!($224)) { + $225 = +HEAPF32[$23>>2]; + $226 = +HEAPF32[$15>>2]; + $227 = $225 * $226; + $228 = +HEAPF32[$32>>2]; + $229 = $228 + $227; + HEAPF32[$32>>2] = $229; + $230 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $231 = $225 * $230; + $232 = +HEAPF32[$36>>2]; + $233 = $232 + $231; + HEAPF32[$36>>2] = $233; + $234 = HEAP32[$53>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $236 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$15+4>>2]|0; + $237 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $238 = $236 * $237; + $239 = +HEAPF32[$33>>2]; + $240 = $239 + $238; + HEAPF32[$33>>2] = $240; + } + } + $$0 = 0; + } else { + $$0 = 1; + } + $$1 = $$0; + } + $cond1 = ($$1|0)==(0); + $62 = (($$0135139) + 1)|0; + if (!($cond1)) { + label = 26; + break; + } + $60 = HEAP32[$27>>2]|0; + $61 = ($62>>>0)<($60>>>0); + if ($61) { + $$0135139 = $62; + } else { + label = 26; + break; + } + } + if ((label|0) == 26) { + STACKTOP = sp;return; + } +} +function _IntegratePhysicsVelocity($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 16|0); + $5 = +HEAPF32[$4>>2]; + $6 = $5; + $7 = +HEAPF64[1749]; + $8 = $6 * $7; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $10; + $12 = $8 + $11; + $13 = $12; + HEAPF32[$9>>2] = $13; + $14 = ((($0)) + 20|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $7 * $16; + $18 = ((($0)) + 12|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19; + $21 = $20 + $17; + $22 = $21; + HEAPF32[$18>>2] = $22; + $23 = ((($0)) + 80|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = ((($0)) + 32|0); + $27 = +HEAPF32[$26>>2]; + $28 = $27; + $29 = $7 * $28; + $30 = ((($0)) + 40|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31; + $33 = $32 + $29; + $34 = $33; + HEAPF32[$30>>2] = $34; + } + $35 = ((($0)) + 484|0); + $36 = ((($0)) + 40|0); + $37 = +HEAPF32[$36>>2]; + _Mat2Set($35,$37); + _IntegratePhysicsForces($0); + return; +} +function _CorrectPhysicsPositions($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0; + var $46 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 + -0.05000000074505806; + $8 = $7 > 0.0; + $9 = $8 ? $7 : 0.0; + $10 = ((($2)) + 56|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($4)) + 56|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 + $13; + $15 = $9 / $14; + $16 = ((($0)) + 16|0); + $17 = +HEAPF32[$16>>2]; + $18 = $17 * $15; + $19 = $18 * 0.40000000596046448; + $20 = ((($0)) + 20|0); + $21 = +HEAPF32[$20>>2]; + $22 = $15 * $21; + $23 = $22 * 0.40000000596046448; + $24 = ((($2)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = $11 * $19; + $28 = ((($2)) + 8|0); + $29 = +HEAPF32[$28>>2]; + $30 = $29 - $27; + HEAPF32[$28>>2] = $30; + $31 = $11 * $23; + $32 = ((($2)) + 12|0); + $33 = +HEAPF32[$32>>2]; + $34 = $33 - $31; + HEAPF32[$32>>2] = $34; + } + $35 = ((($4)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + return; + } + $38 = +HEAPF32[$12>>2]; + $39 = $19 * $38; + $40 = ((($4)) + 8|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 + $39; + HEAPF32[$40>>2] = $42; + $43 = $23 * $38; + $44 = ((($4)) + 12|0); + $45 = +HEAPF32[$44>>2]; + $46 = $43 + $45; + HEAPF32[$44>>2] = $46; + return; +} +function _SolveCircleToCircle($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy2 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$02$0$$sroa_idx = 0, $$sroa$05$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$23$0$$sroa_idx4 = 0, $$sroa$26$0$$sroa_idx7 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.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.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0; + var $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $6 = 0, $7 = 0; + var $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy2 = sp + 16|0; + $$byval_copy = sp + 8|0; + $1 = sp; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 8|0); + $7 = ((($3)) + 8|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy,$$byval_copy2); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; + $8 = (+_MathLenSqr($$byval_copy2)); + $9 = ((($3)) + 92|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($5)) + 92|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 + $12; + $14 = $13 * $13; + $15 = !($8 >= $14); + if (!($15)) { + $16 = ((($0)) + 40|0); + HEAP32[$16>>2] = 0; + STACKTOP = sp;return; + } + $17 = (+Math_sqrt((+$8))); + $18 = ((($0)) + 40|0); + HEAP32[$18>>2] = 1; + $19 = $17 == 0.0; + if ($19) { + $20 = HEAP32[$9>>2]|0; + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $$sroa$05$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$05$0$$sroa_idx>>2] = 1.0; + $$sroa$26$0$$sroa_idx7 = ((($0)) + 20|0); + HEAPF32[$$sroa$26$0$$sroa_idx7>>2] = 0.0; + $22 = ((($0)) + 24|0); + $23 = $7; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + } else { + $33 = $13 - $17; + $34 = ((($0)) + 12|0); + HEAPF32[$34>>2] = $33; + $35 = +HEAPF32[$1>>2]; + $36 = $35 / $17; + $37 = ((($1)) + 4|0); + $38 = +HEAPF32[$37>>2]; + $39 = $38 / $17; + $$sroa$02$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$02$0$$sroa_idx>>2] = $36; + $$sroa$23$0$$sroa_idx4 = ((($0)) + 20|0); + HEAPF32[$$sroa$23$0$$sroa_idx4>>2] = $39; + $40 = +HEAPF32[$9>>2]; + $41 = $36 * $40; + $42 = +HEAPF32[$7>>2]; + $43 = $41 + $42; + $44 = $39 * $40; + $45 = ((($3)) + 12|0); + $46 = +HEAPF32[$45>>2]; + $47 = $44 + $46; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $43; + $$sroa$2$0$$sroa_idx1 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $47; + } + $48 = ((($3)) + 76|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + STACKTOP = sp;return; + } + $51 = ((($0)) + 20|0); + $52 = +HEAPF32[$51>>2]; + $53 = $52 < 0.0; + $54 = $53&1; + HEAP32[$48>>2] = $54; + STACKTOP = sp;return; +} +function _SolveCircleToPolygon($0) { + $0 = $0|0; + var $$0$lcssa = 0.0, $$0125 = 0.0, $$093$lcssa = 0, $$093124 = 0, $$097123 = 0, $$1 = 0.0, $$194 = 0, $$byval_copy41 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$011$0$$sroa_idx = 0, $$sroa$014$0$$sroa_idx = 0, $$sroa$04$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx3 = 0, $$sroa$212$0$$sroa_idx13 = 0, $$sroa$215$0$$sroa_idx16 = 0, $$sroa$25$0$$sroa_idx6 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0; + var $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.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.0; + var $157 = 0.0, $158 = 0.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.0, $219 = 0.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.0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.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.0, $46 = 0.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.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $tmpcast104$byval_copy42 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 608|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(608|0); + $tmpcast104$byval_copy42 = sp + 584|0; + $$byval_copy41 = sp + 568|0; + $1 = sp + 24|0; + $2 = sp + 552|0; + $3 = sp + 544|0; + $4 = sp + 88|0; + $5 = sp + 536|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 528|0; + $10 = sp + 520|0; + $11 = sp + 512|0; + $12 = sp + 504|0; + $13 = sp + 80|0; + $14 = sp + 72|0; + $15 = sp + 64|0; + $16 = sp + 56|0; + $17 = sp + 48|0; + $18 = sp + 40|0; + $19 = sp + 496|0; + $20 = sp + 32|0; + $21 = ((($0)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($0)) + 40|0); + HEAP32[$25>>2] = 0; + $26 = ((($22)) + 8|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $1; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = ((($24)) + 96|0); + $38 = ((($24)) + 484|0); + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$38>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$38+4>>2]|0;HEAP32[$tmpcast104$byval_copy42+8>>2]=HEAP32[$38+8>>2]|0;HEAP32[$tmpcast104$byval_copy42+12>>2]=HEAP32[$38+12>>2]|0; + _Mat2Transpose($2,$tmpcast104$byval_copy42); + $39 = ((($24)) + 8|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Subtract_4($3,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$2+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$3>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$3+4>>2]|0; + _Mat2MultiplyVector2($1,$$byval_copy41,$tmpcast104$byval_copy42); + _memcpy(($4|0),($37|0),404)|0; + $40 = HEAP32[$4>>2]|0; + $41 = ($40|0)==(0); + L1: do { + if ($41) { + $$0$lcssa = -3.4028234663852886E+38;$$093$lcssa = 0; + } else { + $42 = ((($22)) + 92|0); + $$0125 = -3.4028234663852886E+38;$$093124 = 0;$$097123 = 0; + while(1) { + $43 = (((($4)) + 196|0) + ($$097123<<3)|0); + $44 = (((($4)) + 4|0) + ($$097123<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$44>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$44+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$43+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$5+4>>2]|0; + $45 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $46 = +HEAPF32[$42>>2]; + $47 = $45 > $46; + $48 = $45 > $$0125; + if ($47) { + break; + } + $$1 = $48 ? $45 : $$0125; + $$194 = $48 ? $$097123 : $$093124; + $49 = (($$097123) + 1)|0; + $50 = HEAP32[$4>>2]|0; + $51 = ($49>>>0)<($50>>>0); + if ($51) { + $$0125 = $$1;$$093124 = $$194;$$097123 = $49; + } else { + $$0$lcssa = $$1;$$093$lcssa = $$194; + break L1; + } + } + STACKTOP = sp;return; + } + } while(0); + $52 = (((($4)) + 4|0) + ($$093$lcssa<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$093$lcssa) + 1)|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (((($4)) + 4|0) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = $$0$lcssa < 9.9999999747524271E-7; + do { + if ($78) { + HEAP32[$25>>2] = 1; + $79 = ((($4)) + 388|0); + $80 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$79>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$79+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$79+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$80>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$80+4>>2]|0; + _Mat2MultiplyVector2($8,$$byval_copy41,$tmpcast104$byval_copy42); + $81 = +HEAPF32[$8>>2]; + $82 = -$81; + $83 = ((($8)) + 4|0); + $84 = +HEAPF32[$83>>2]; + $85 = -$84; + $$sroa$014$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$014$0$$sroa_idx>>2] = $82; + $$sroa$215$0$$sroa_idx16 = ((($0)) + 20|0); + HEAPF32[$$sroa$215$0$$sroa_idx16>>2] = $85; + $86 = ((($22)) + 92|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 * $82; + $89 = +HEAPF32[$26>>2]; + $90 = $88 + $89; + $91 = $87 * $85; + $92 = ((($22)) + 12|0); + $93 = +HEAPF32[$92>>2]; + $94 = $91 + $93; + $$sroa$011$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$011$0$$sroa_idx>>2] = $90; + $$sroa$212$0$$sroa_idx13 = ((($0)) + 28|0); + HEAPF32[$$sroa$212$0$$sroa_idx13>>2] = $94; + $95 = HEAP32[$86>>2]|0; + $96 = ((($0)) + 12|0); + HEAP32[$96>>2] = $95; + } else { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($9,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($10,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$10+4>>2]|0; + $97 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($11,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($12,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$12>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$12+4>>2]|0; + $98 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $99 = ((($22)) + 92|0); + $100 = +HEAPF32[$99>>2]; + $101 = $100 - $$0$lcssa; + $102 = ((($0)) + 12|0); + HEAPF32[$102>>2] = $101; + $103 = !($97 <= 0.0); + if (!($103)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + $104 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $105 = +HEAPF32[$99>>2]; + $106 = $105 * $105; + $107 = $104 > $106; + if ($107) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $108 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($13,$$byval_copy41,$tmpcast104$byval_copy42); + $109 = $13; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = $8; + $116 = $115; + HEAP32[$116>>2] = $111; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $114; + _MathNormalize($8); + $119 = ((($0)) + 16|0); + $120 = $8; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = $119; + $127 = $126; + HEAP32[$127>>2] = $122; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $125; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($14,$$byval_copy41,$tmpcast104$byval_copy42); + $130 = $14; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = $6; + $137 = $136; + HEAP32[$137>>2] = $132; + $138 = (($136) + 4)|0; + $139 = $138; + HEAP32[$139>>2] = $135; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($15,$$byval_copy41,$tmpcast104$byval_copy42); + $140 = $15; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = $6; + $147 = $146; + HEAP32[$147>>2] = $142; + $148 = (($146) + 4)|0; + $149 = $148; + HEAP32[$149>>2] = $145; + $150 = ((($0)) + 24|0); + $151 = $150; + $152 = $151; + HEAP32[$152>>2] = $142; + $153 = (($151) + 4)|0; + $154 = $153; + HEAP32[$154>>2] = $145; + break; + } + $155 = !($98 <= 0.0); + if (!($155)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + $156 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $157 = +HEAPF32[$99>>2]; + $158 = $157 * $157; + $159 = $156 > $158; + if ($159) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $160 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($16,$$byval_copy41,$tmpcast104$byval_copy42); + $161 = $16; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = $7; + $168 = $167; + HEAP32[$168>>2] = $163; + $169 = (($167) + 4)|0; + $170 = $169; + HEAP32[$170>>2] = $166; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($17,$$byval_copy41,$tmpcast104$byval_copy42); + $171 = $17; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = $7; + $178 = $177; + HEAP32[$178>>2] = $173; + $179 = (($177) + 4)|0; + $180 = $179; + HEAP32[$180>>2] = $176; + $181 = ((($0)) + 24|0); + $182 = $181; + $183 = $182; + HEAP32[$183>>2] = $173; + $184 = (($182) + 4)|0; + $185 = $184; + HEAP32[$185>>2] = $176; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($18,$$byval_copy41,$tmpcast104$byval_copy42); + $186 = $18; + $187 = $186; + $188 = HEAP32[$187>>2]|0; + $189 = (($186) + 4)|0; + $190 = $189; + $191 = HEAP32[$190>>2]|0; + $192 = $8; + $193 = $192; + HEAP32[$193>>2] = $188; + $194 = (($192) + 4)|0; + $195 = $194; + HEAP32[$195>>2] = $191; + _MathNormalize($8); + $196 = ((($0)) + 16|0); + $197 = $8; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = (($197) + 4)|0; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = $196; + $204 = $203; + HEAP32[$204>>2] = $199; + $205 = (($203) + 4)|0; + $206 = $205; + HEAP32[$206>>2] = $202; + break; + } + $207 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + $208 = $207; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = $8; + $215 = $214; + HEAP32[$215>>2] = $210; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $213; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($19,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$19+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + $218 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $219 = +HEAPF32[$99>>2]; + $220 = $218 > $219; + if ($220) { + break; + } else { + $221 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$221>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$221+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$221+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$221+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($20,$$byval_copy41,$tmpcast104$byval_copy42); + $222 = $20; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (($222) + 4)|0; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = $8; + $229 = $228; + HEAP32[$229>>2] = $224; + $230 = (($228) + 4)|0; + $231 = $230; + HEAP32[$231>>2] = $227; + $232 = +HEAPF32[$8>>2]; + $233 = -$232; + $234 = ((($8)) + 4|0); + $235 = +HEAPF32[$234>>2]; + $236 = -$235; + $$sroa$04$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$04$0$$sroa_idx>>2] = $233; + $$sroa$25$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$25$0$$sroa_idx6>>2] = $236; + $237 = +HEAPF32[$99>>2]; + $238 = $237 * $233; + $239 = +HEAPF32[$26>>2]; + $240 = $238 + $239; + $241 = $237 * $236; + $242 = ((($22)) + 12|0); + $243 = +HEAPF32[$242>>2]; + $244 = $241 + $243; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $240; + $$sroa$2$0$$sroa_idx3 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx3>>2] = $244; + HEAP32[$25>>2] = 1; + break; + } + } + } while(0); + STACKTOP = sp;return; +} +function _SolvePolygonToCircle($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $4; + HEAP32[$3>>2] = $2; + _SolveCircleToPolygon($0); + $5 = ((($0)) + 16|0); + $6 = +HEAPF32[$5>>2]; + $7 = -$6; + HEAPF32[$5>>2] = $7; + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = -$9; + HEAPF32[$8>>2] = $10; + return; +} +function _SolvePolygonToPolygon($0) { + $0 = $0|0; + var $$0 = 0, $$051 = 0, $$051$in = 0, $$052 = 0, $$1 = 0, $$byval_copy24 = 0, $$sink = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx12 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0.0; + var $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0.0, $126 = 0.0; + var $127 = 0.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.0, $14 = 0, $140 = 0.0, $141 = 0, $142 = 0.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.0, $156 = 0.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.0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0.0, $173 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0.0, $26 = 0, $27 = 0.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, $tmpcast58$byval_copy23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 3008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(3008|0); + $$byval_copy24 = sp + 2584|0; + $tmpcast58$byval_copy23 = sp + 2168|0; + $1 = sp + 1744|0; + $2 = sp + 1328|0; + $3 = sp + 1324|0; + $4 = sp + 1320|0; + $5 = sp + 904|0; + $6 = sp + 488|0; + $7 = sp + 24|0; + $8 = sp + 80|0; + $9 = sp + 16|0; + $10 = sp + 8|0; + $11 = sp + 64|0; + $12 = sp + 56|0; + $13 = sp + 48|0; + $14 = sp + 40|0; + $15 = sp + 72|0; + $16 = sp; + $17 = sp + 2160|0; + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 84|0); + _memcpy(($1|0),($20|0),416)|0; + $21 = ((($0)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 84|0); + _memcpy(($2|0),($23|0),416)|0; + $24 = ((($0)) + 40|0); + HEAP32[$24>>2] = 0; + HEAP32[$3>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($1|0),416)|0; + _memcpy(($$byval_copy24|0),($2|0),416)|0; + $25 = (+_FindAxisLeastPenetration($3,$tmpcast58$byval_copy23,$$byval_copy24)); + $26 = !($25 >= 0.0); + if (!($26)) { + STACKTOP = sp;return; + } + HEAP32[$4>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($2|0),416)|0; + _memcpy(($$byval_copy24|0),($1|0),416)|0; + $27 = (+_FindAxisLeastPenetration($4,$tmpcast58$byval_copy23,$$byval_copy24)); + $28 = !($27 >= 0.0); + if ($28) { + $29 = (_BiasGreaterThan($25,$27)|0); + $30 = ($29|0)==(0); + if ($30) { + _memcpy(($5|0),($2|0),416)|0; + _memcpy(($6|0),($1|0),416)|0; + $$051$in = $4;$$052 = 1; + } else { + _memcpy(($5|0),($1|0),416)|0; + _memcpy(($6|0),($2|0),416)|0; + $$051$in = $3;$$052 = 0; + } + $$051 = HEAP32[$$051$in>>2]|0; + $31 = ((($7)) + 8|0); + _memcpy(($tmpcast58$byval_copy23|0),($5|0),416)|0; + _memcpy(($$byval_copy24|0),($6|0),416)|0; + _FindIncidentFace($7,$31,$tmpcast58$byval_copy23,$$byval_copy24,$$051); + $32 = ((($5)) + 12|0); + _memcpy(($8|0),($32|0),404)|0; + $33 = (((($8)) + 4|0) + ($$051<<3)|0); + $34 = $33; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = $9; + $41 = $40; + HEAP32[$41>>2] = $36; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $39; + $44 = (($$051) + 1)|0; + $45 = HEAP32[$8>>2]|0; + $46 = ($44>>>0)<($45>>>0); + $47 = $46 ? $44 : 0; + $48 = (((($8)) + 4|0) + ($47<<3)|0); + $49 = $48; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = $10; + $56 = $55; + HEAP32[$56>>2] = $51; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $54; + $59 = ((($8)) + 388|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast58$byval_copy23,$$byval_copy24); + $60 = $11; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = $9; + $67 = $66; + HEAP32[$67>>2] = $62; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = $65; + $70 = ((($5)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$72>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$72+4>>2]|0; + _Vector2Add_2($12,$tmpcast58$byval_copy23,$$byval_copy24); + $73 = $12; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = $9; + $80 = $79; + HEAP32[$80>>2] = $75; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $78; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast58$byval_copy23,$$byval_copy24); + $83 = $13; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = $10; + $90 = $89; + HEAP32[$90>>2] = $85; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = $88; + $93 = HEAP32[$70>>2]|0; + $94 = ((($93)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$94>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$94+4>>2]|0; + _Vector2Add_2($14,$tmpcast58$byval_copy23,$$byval_copy24); + $95 = $14; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = $10; + $102 = $101; + HEAP32[$102>>2] = $97; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast58$byval_copy23,$$byval_copy24); + _MathNormalize($15); + $105 = ((($15)) + 4|0); + $106 = HEAP32[$105>>2]|0; + HEAP32[$16>>2] = $106; + $107 = ((($16)) + 4|0); + $108 = +HEAPF32[$15>>2]; + $109 = -$108; + HEAPF32[$107>>2] = $109; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $110 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $111 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $112 = -$111; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + $113 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $114 = +HEAPF32[$15>>2]; + $115 = -$114; + HEAPF32[$17>>2] = $115; + $116 = ((($17)) + 4|0); + $117 = +HEAPF32[$105>>2]; + $118 = -$117; + HEAPF32[$116>>2] = $118; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$17+4>>2]|0; + $119 = (_Clip($$byval_copy24,$112,$7,$31)|0); + $120 = ($119|0)<(2); + if (!($120)) { + ;HEAP32[$$byval_copy24>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$15+4>>2]|0; + $121 = (_Clip($$byval_copy24,$113,$7,$31)|0); + $122 = ($121|0)<(2); + if (!($122)) { + $123 = ($$052|0)==(0); + if ($123) { + $128 = ((($0)) + 16|0); + $129 = $16; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = $128; + $136 = $135; + HEAP32[$136>>2] = $131; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $134; + } else { + $124 = +HEAPF32[$16>>2]; + $125 = -$124; + $126 = +HEAPF32[$107>>2]; + $127 = -$126; + $$sroa$0$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $125; + $$sroa$2$0$$sroa_idx12 = ((($0)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx12>>2] = $127; + } + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$7+4>>2]|0; + $139 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $140 = $139 - $110; + $141 = !($140 <= 0.0); + if ($141) { + $$0 = 0;$$sink = 0.0; + } else { + $142 = -$140; + $143 = ((($0)) + 24|0); + $144 = $7; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = $143; + $151 = $150; + HEAP32[$151>>2] = $146; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = $149; + $$0 = 1;$$sink = $142; + } + $154 = ((($0)) + 12|0); + HEAPF32[$154>>2] = $$sink; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$31+4>>2]|0; + $155 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $156 = $155 - $110; + $157 = !($156 <= 0.0); + if ($157) { + $$1 = $$0; + } else { + $158 = (((($0)) + 24|0) + ($$0<<3)|0); + $159 = $31; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = $158; + $166 = $165; + HEAP32[$166>>2] = $161; + $167 = (($165) + 4)|0; + $168 = $167; + HEAP32[$168>>2] = $164; + $169 = +HEAPF32[$154>>2]; + $170 = $169 - $156; + $171 = (($$0) + 1)|0; + $172 = (+($171|0)); + $173 = $170 / $172; + HEAPF32[$154>>2] = $173; + $$1 = $171; + } + HEAP32[$24>>2] = $$1; + } + } + } + STACKTOP = sp;return; +} +function _MathLenSqr($0) { + $0 = $0|0; + var $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + return (+$6); +} +function _Mat2Transpose($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 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $2; + $3 = ((($0)) + 4|0); + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $8; + $9 = ((($0)) + 12|0); + $10 = ((($1)) + 12|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + return; +} +function _MathDot($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 * $3; + $5 = ((($0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = $6 * $8; + $10 = $4 + $9; + return (+$10); +} +function _DistSqr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $2 = 0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy3 = sp + 16|0; + $$byval_copy2 = sp + 8|0; + $2 = sp; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; + $3 = (+_MathDot($$byval_copy2,$$byval_copy3)); + STACKTOP = sp;return (+$3); +} +function _FindAxisLeastPenetration($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0.0, $$01727 = 0, $$018$lcssa = 0, $$01826 = 0, $$028 = 0.0, $$1 = 0.0, $$119 = 0, $$byval_copy16 = 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, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0; + var $4 = 0, $40 = 0.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.0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy15 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1344|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1344|0); + $$byval_copy16 = sp + 1320|0; + $tmpcast$byval_copy15 = sp + 904|0; + $3 = sp + 484|0; + $4 = sp + 80|0; + $5 = sp + 8|0; + $6 = sp + 72|0; + $7 = sp + 56|0; + $8 = sp + 48|0; + $9 = sp + 896|0; + $10 = sp; + $11 = sp + 40|0; + $12 = sp + 32|0; + $13 = sp + 24|0; + $14 = sp + 16|0; + $15 = sp + 888|0; + $16 = ((($1)) + 12|0); + _memcpy(($3|0),($16|0),404)|0; + $17 = ((($2)) + 12|0); + _memcpy(($4|0),($17|0),404)|0; + $18 = HEAP32[$3>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $$0$lcssa = -3.4028234663852886E+38;$$018$lcssa = 0; + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); + } + $20 = ((($3)) + 388|0); + $21 = ((($4)) + 388|0); + $22 = ((($9)) + 4|0); + $23 = ((($5)) + 4|0); + $24 = ((($1)) + 4|0); + $25 = ((($2)) + 4|0); + $$01727 = 0;$$01826 = 0;$$028 = -3.4028234663852886E+38; + while(1) { + $26 = (((($3)) + 196|0) + ($$01727<<3)|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $5; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$5+4>>2]|0; + _Mat2MultiplyVector2($6,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy16+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy16+12>>2]=HEAP32[$21+12>>2]|0; + _Mat2Transpose($7,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($5,$tmpcast$byval_copy15,$$byval_copy16); + $37 = +HEAPF32[$5>>2]; + $38 = -$37; + HEAPF32[$9>>2] = $38; + $39 = +HEAPF32[$23>>2]; + $40 = -$39; + HEAPF32[$22>>2] = $40; + _memcpy(($tmpcast$byval_copy15|0),($2|0),416)|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$9+4>>2]|0; + _GetSupport($8,$tmpcast$byval_copy15,$$byval_copy16); + $41 = (((($3)) + 4|0) + ($$01727<<3)|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $10; + $49 = $48; + HEAP32[$49>>2] = $44; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy15,$$byval_copy16); + $52 = $11; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $10; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = HEAP32[$24>>2]|0; + $63 = ((($62)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$63+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy15,$$byval_copy16); + $64 = $12; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $10; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = HEAP32[$25>>2]|0; + $75 = ((($74)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$75>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$75+4>>2]|0; + _Vector2Subtract_4($13,$tmpcast$byval_copy15,$$byval_copy16); + $76 = $13; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $10; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($14,$tmpcast$byval_copy15,$$byval_copy16); + $86 = $14; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = $10; + $93 = $92; + HEAP32[$93>>2] = $88; + $94 = (($92) + 4)|0; + $95 = $94; + HEAP32[$95>>2] = $91; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$15+4>>2]|0; + $96 = (+_MathDot($tmpcast$byval_copy15,$$byval_copy16)); + $97 = $96 > $$028; + $$119 = $97 ? $$01727 : $$01826; + $$1 = $97 ? $96 : $$028; + $98 = (($$01727) + 1)|0; + $99 = HEAP32[$3>>2]|0; + $100 = ($98>>>0)<($99>>>0); + if ($100) { + $$01727 = $98;$$01826 = $$119;$$028 = $$1; + } else { + $$0$lcssa = $$1;$$018$lcssa = $$119; + break; + } + } + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); +} +function _BiasGreaterThan($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 * 0.94999998807907104; + $3 = $0 * 0.0099999997764825821; + $4 = $3 + $2; + $5 = $4 <= $0; + $6 = $5&1; + return ($6|0); +} +function _FindIncidentFace($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$02434 = 0, $$02533 = 0.0, $$035 = 0, $$1 = 0, $$126 = 0.0, $$byval_copy13 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0; + var $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, $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, $tmpcast$byval_copy12 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 912|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(912|0); + $$byval_copy13 = sp + 896|0; + $tmpcast$byval_copy12 = sp + 880|0; + $5 = sp + 460|0; + $6 = sp + 56|0; + $7 = sp; + $8 = sp + 48|0; + $9 = sp + 864|0; + $10 = sp + 40|0; + $11 = sp + 32|0; + $12 = sp + 24|0; + $13 = sp + 16|0; + $14 = sp + 8|0; + $15 = ((($2)) + 12|0); + _memcpy(($5|0),($15|0),404)|0; + $16 = ((($3)) + 12|0); + _memcpy(($6|0),($16|0),404)|0; + $17 = (((($5)) + 196|0) + ($4<<3)|0); + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $7; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = ((($5)) + 388|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$28>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($8,$tmpcast$byval_copy12,$$byval_copy13); + $29 = $8; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = $7; + $36 = $35; + HEAP32[$36>>2] = $31; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; + $39 = ((($6)) + 388|0); + ;HEAP32[$$byval_copy13>>2]=HEAP32[$39>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[$39+12>>2]|0; + _Mat2Transpose($9,$$byval_copy13); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($10,$tmpcast$byval_copy12,$$byval_copy13); + $40 = $10; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = $7; + $47 = $46; + HEAP32[$47>>2] = $42; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = HEAP32[$6>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $$0$lcssa = 0; + } else { + $52 = HEAP32[$6>>2]|0; + $$02434 = 0;$$02533 = 3.4028234663852886E+38;$$035 = 0; + while(1) { + $104 = (((($6)) + 196|0) + ($$02434<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$104>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$104+4>>2]|0; + $105 = (+_MathDot($tmpcast$byval_copy12,$$byval_copy13)); + $106 = $105 < $$02533; + $$126 = $106 ? $105 : $$02533; + $$1 = $106 ? $$02434 : $$035; + $107 = (($$02434) + 1)|0; + $108 = ($107>>>0)<($52>>>0); + if ($108) { + $$02434 = $107;$$02533 = $$126;$$035 = $$1; + } else { + $$0$lcssa = $$1; + break; + } + } + } + $53 = (((($6)) + 4|0) + ($$0$lcssa<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$53+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy12,$$byval_copy13); + $54 = $11; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = $0; + $61 = $60; + HEAP32[$61>>2] = $56; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = ((($3)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($65)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$66>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$66+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy12,$$byval_copy13); + $67 = $12; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $72; + $77 = (($$0$lcssa) + 1)|0; + $78 = HEAP32[$6>>2]|0; + $79 = ($77>>>0)<($78>>>0); + $80 = $79 ? $77 : 0; + $81 = (((($6)) + 4|0) + ($80<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$81+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast$byval_copy12,$$byval_copy13); + $82 = $13; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $1; + $89 = $88; + HEAP32[$89>>2] = $84; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + $92 = HEAP32[$64>>2]|0; + $93 = ((($92)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$93>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$93+4>>2]|0; + _Vector2Add_2($14,$tmpcast$byval_copy12,$$byval_copy13); + $94 = $14; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = $1; + $101 = $100; + HEAP32[$101>>2] = $96; + $102 = (($100) + 4)|0; + $103 = $102; + HEAP32[$103>>2] = $99; + STACKTOP = sp;return; +} +function _Clip($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy6 = 0, $$byval_copy7 = 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, $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.0, $29 = 0.0, $30 = 0.0, $31 = 0.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.0, $57 = 0, $58 = 0.0, $59 = 0.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.0, $72 = 0.0, $73 = 0; + var $74 = 0.0, $75 = 0.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 + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy7 = sp + 40|0; + $$byval_copy6 = sp + 32|0; + $4 = sp; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = $2; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = $4; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $12; + $17 = ((($4)) + 8|0); + $18 = $3; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $17; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + $28 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $29 = $28 - $1; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0; + $30 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $31 = $30 - $1; + $32 = !($29 <= 0.0); + if ($32) { + $$0 = 0; + } else { + $33 = $2; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = $4; + $40 = $39; + HEAP32[$40>>2] = $35; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $38; + $$0 = 1; + } + $43 = !($31 <= 0.0); + if ($43) { + $$1 = $$0; + } else { + $44 = (($4) + ($$0<<3)|0); + $45 = (($$0) + 1)|0; + $46 = $3; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = $44; + $53 = $52; + HEAP32[$53>>2] = $48; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $$1 = $45; + } + $56 = $29 * $31; + $57 = $56 < 0.0; + if (!($57)) { + $$2 = $$1; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); + } + $58 = $29 - $31; + $59 = $29 / $58; + $60 = (($4) + ($$1<<3)|0); + $61 = $2; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = $60; + $68 = $67; + HEAP32[$68>>2] = $63; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $66; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy6,$$byval_copy7); + $71 = +HEAPF32[$5>>2]; + $72 = $59 * $71; + HEAPF32[$5>>2] = $72; + $73 = ((($5)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $59 * $74; + HEAPF32[$73>>2] = $75; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$60+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$5+4>>2]|0; + _Vector2Add_2($6,$$byval_copy6,$$byval_copy7); + $76 = $6; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $60; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = (($$1) + 1)|0; + $$2 = $86; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); +} +function _GetSupport($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$019 = 0.0, $$1 = 0.0, $$byval_copy = 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.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 432|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(432|0); + $$byval_copy = sp + 424|0; + $tmpcast$byval_copy = sp + 416|0; + $3 = sp + 8|0; + $4 = sp; + $5 = ((($1)) + 12|0); + _memcpy(($3|0),($5|0),404)|0; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + $11 = 0;$14 = 0; + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $$01318 = 0;$$019 = -3.4028234663852886E+38;$29 = 0;$31 = 0; + while(1) { + $15 = (((($3)) + 4|0) + ($$01318<<3)|0); + $16 = $15; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = $4; + $23 = $22; + HEAP32[$23>>2] = $18; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + $26 = (+_MathDot($tmpcast$byval_copy,$$byval_copy)); + $27 = $26 > $$019; + $28 = $27 ? $18 : $29; + $30 = $27 ? $21 : $31; + $$1 = $27 ? $26 : $$019; + $32 = (($$01318) + 1)|0; + $33 = ($32>>>0)<($8>>>0); + if ($33) { + $$01318 = $32;$$019 = $$1;$29 = $28;$31 = $30; + } else { + $11 = $28;$14 = $30; + break; + } + } + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; +} +function _MathCross($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $1; + $6 = -$5; + HEAPF32[$0>>2] = $6; + $7 = ((($0)) + 4|0); + $8 = +HEAPF32[$2>>2]; + $9 = $8 * $1; + HEAPF32[$7>>2] = $9; + return; +} +function _Mat2Set($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = -$3; + $5 = ((($0)) + 4|0); + HEAPF32[$5>>2] = $4; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 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); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[7740] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 14000; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 14040; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[3510]; + $111 = +HEAPF32[3500]; + $112 = $110 - $111; + HEAPF32[3512] = $112; + $113 = +HEAPF32[(14044)>>2]; + $114 = +HEAPF32[(14004)>>2]; + $115 = $113 - $114; + HEAPF32[(14052)>>2] = $115; + HEAP32[7739] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14032+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[7745] = $116; + $117 = 14032; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 14000; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 14056; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 14040; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 14032; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 14056; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[3514]; + $160 = +HEAPF32[3508]; + $161 = $159 - $160; + HEAPF32[3512] = $161; + $162 = +HEAPF32[(14060)>>2]; + $163 = +HEAPF32[(14036)>>2]; + $164 = $162 - $163; + HEAPF32[(14052)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14032+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14032+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[7745]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[7739] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14032+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[7746] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[7745] = 0.0; + HEAPF32[7746] = 0.0; + HEAPF32[3512] = 0.0; + HEAPF32[(14052)>>2] = 0.0; + HEAP32[7740] = 0; + HEAP32[7739] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[7741]|0; + $7 = (($6) + 1)|0; + HEAP32[7741] = $7; + $8 = HEAP32[7739]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[7739] = 2; + HEAP32[7741] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[7741] = 1; + HEAP32[7739] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 14000; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 14008; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 14016; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[6] = $34; + HEAPF32[3506] = 0.0; + HEAPF32[(14028)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[7739]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 14016; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14016>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14016+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[7742] = $49; + HEAP32[7743] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[6]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14016>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14016+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[7744] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[7742] = 0.0; + HEAPF32[7744] = 0.0; + $$sink10 = 0; + } + HEAP32[7739] = $$sink10; + HEAPF32[3502] = 0.0; + HEAPF32[(14012)>>2] = 0.0; + HEAP32[7740] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[7743]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[7743] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 14032; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[7739]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14032+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[7739] = 8; + } + } + $82 = +HEAPF32[3508]; + $83 = +HEAPF32[3502]; + $84 = $82 - $83; + HEAPF32[3506] = $84; + $85 = +HEAPF32[(14036)>>2]; + $86 = +HEAPF32[(14012)>>2]; + $87 = $85 - $86; + HEAPF32[(14028)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7739]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[7740]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[7739] = 4; + } + $4 = HEAP32[7739]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[7739] = 0; + return; +} +function _GetMousePosition($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 = 14064; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7749]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7748]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.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; + _TraceLog(0,3358,$vararg_buffer); + HEAP32[7751] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer_10(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((3387|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3387|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3387|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3387|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3387|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3387|0),(0|0),1,(7|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); + $3 = HEAP32[7749]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[3516] = $5; + $6 = HEAP32[7748]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(14068)>>2] = $8; + $9 = HEAP32[7752]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 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); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[14104>>0]=HEAP8[7916>>0]|0;HEAP8[14104+1>>0]=HEAP8[7916+1>>0]|0;HEAP8[14104+2>>0]=HEAP8[7916+2>>0]|0;HEAP8[14104+3>>0]=HEAP8[7916+3>>0]|0;HEAP8[14104+4>>0]=HEAP8[7916+4>>0]|0;HEAP8[14104+5>>0]=HEAP8[7916+5>>0]|0;HEAP8[14104+6>>0]=HEAP8[7916+6>>0]|0; + break; + } + case 1: { + $3 = 14104; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=14104; src=7923; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 14104; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(14104,$1)|0); + $strlen = (_strlen(14104)|0); + $endptr = (14104 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(14104,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[7749] = $0; + HEAP32[7748] = $1; + _MatrixIdentity($2); + dest=31084; 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)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4058,$vararg_buffer); + } + $6 = HEAP32[7749]|0; + HEAP32[7787] = $6; + $7 = HEAP32[7748]|0; + HEAP32[7788] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[35960]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[35960]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[35960]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4084,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[7789]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[7749]|0; + $48 = HEAP32[7748]|0; + $49 = HEAP32[7751]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[7747] = $50; + $51 = HEAP32[7749]|0; + HEAP32[7790] = $51; + $52 = HEAP32[7748]|0; + HEAP32[7791] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[7749]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[7748]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[7787] = $31; + HEAP32[7788] = $34; + } + } while(0); + $38 = HEAP32[7787]|0; + $39 = HEAP32[7788]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4109,$vararg_buffer3); + $40 = HEAP32[7787]|0; + $41 = HEAP32[7788]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[7787]|0; + $43 = HEAP32[7788]|0; + $44 = HEAP32[7751]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[7747] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4147,$vararg_buffer6); + } else { + _TraceLog(0,4180,$vararg_buffer8); + $55 = HEAP32[7790]|0; + $56 = HEAP32[7791]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4220,$vararg_buffer10); + $57 = HEAP32[7749]|0; + $58 = HEAP32[7748]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4241,$vararg_buffer14); + $59 = HEAP32[7792]|0; + $60 = HEAP32[7793]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,4262,$vararg_buffer18); + } + $61 = HEAP32[7747]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[7747]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[7747]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[7747]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[7747]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[7747]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[7747]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[7747]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[7747]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[35960]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[7749]|0; + $74 = HEAP32[7748]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7790]|0; + $76 = HEAP32[7792]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7791]|0; + $80 = HEAP32[7793]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,4287,$vararg_buffer22); + $73 = HEAP32[7749]|0; + $74 = HEAP32[7748]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7790]|0; + $76 = HEAP32[7792]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7791]|0; + $80 = HEAP32[7793]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 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, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(31052)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (28 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[31028>>2]=HEAP32[$1>>2]|0;HEAP32[31028+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[31028+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[31028+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[31028+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(31052)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(31056)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(31048)>>2] = $23; + $24 = HEAP32[7757]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3582,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(31032)>>2]|0; + $10 = HEAP32[(31052)>>2]|0; + $11 = HEAP32[(31056)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2076 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(31048)>>2] = $23; + $24 = HEAP32[7757]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3582,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer_10() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[1762] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 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 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,3515,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,3446,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,3439)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 14080; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (14088); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 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 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (31012 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 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; + $1 = ($0|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[1759] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,3395,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7752] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.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.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,3958,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[7765]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,3627,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[7766]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,3671,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[7767]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,3716,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[7768]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,3761,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[7769]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,3806,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[7765]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[7765]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[7765]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[7765]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[7766]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[7767]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[7767]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[7768]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[7768]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[7769]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[7769]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,3851,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[7770]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,3929,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,3880,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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, $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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.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; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4012,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + 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] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,7878,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[7749]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[7748]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[7790] = $3; + HEAP32[7791] = $5; + HEAP32[7792] = 0; + HEAP32[7793] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,7812,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[7749]|0; + $36 = (+($35|0)); + $37 = HEAP32[7748]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[7790] = $45; + HEAP32[7791] = $37; + $46 = (($45) - ($35))|0; + HEAP32[7792] = $46; + $$sink1 = 0; + } else { + HEAP32[7790] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[7791] = $42; + HEAP32[7792] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[7793] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[7748]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,7669,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[7749]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[7748]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[7790] = $23; + HEAP32[7791] = $1; + $24 = (($0) - ($23))|0; + HEAP32[7792] = $24; + $$sink = 0; + } else { + HEAP32[7790] = $0; + $17 = HEAP32[7748]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[7791] = $20; + HEAP32[7792] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[7793] = $$sink; + $25 = HEAP32[7790]|0; + $26 = (+($25|0)); + $27 = HEAP32[7749]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=31084; 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)); + HEAP32[7790] = $0; + HEAP32[7791] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,7747,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[7749] = $1; + HEAP32[7748] = $2; + HEAP32[7790] = $1; + HEAP32[7791] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($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, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[744]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (35967 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[743] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 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.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (35961 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 14080; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[743] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[8163] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[8162] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,4310,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,4328,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,4346,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,4364,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,4382)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,4384,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,4419)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[7828] = 1; + $27 = (_eglGetProcAddress((4446|0))|0); + HEAP32[7829] = $27; + $28 = (_eglGetProcAddress((4467|0))|0); + HEAP32[7830] = $28; + $29 = (_eglGetProcAddress((4488|0))|0); + HEAP32[7831] = $29; + } + $30 = (_strcmp($24,4512)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[7770] = 1; + } + $32 = (_strcmp($24,4532)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,4564)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,4597)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[7765] = 1; + } + $39 = (_strcmp($24,4637)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4673)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[7766] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4706)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[7767] = 1; + } + $47 = (_strcmp($44,4731)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[7768] = 1; + } + $49 = (_strcmp($44,4764)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[7769] = 1; + } + $51 = (_strcmp($44,4800)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[7832] = 1; + _glGetFloatv(34047,(31332|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,4834)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[7834] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[7828]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,4937,$vararg_buffer15); + } else { + _TraceLog(0,4862,$vararg_buffer13); + } + $57 = HEAP32[7770]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5073,$vararg_buffer19); + } else { + _TraceLog(0,4998,$vararg_buffer17); + } + $59 = HEAP32[7765]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5165,$vararg_buffer21); + } + $61 = HEAP32[7766]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5211,$vararg_buffer23); + } + $63 = HEAP32[7767]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,5258,$vararg_buffer25); + } + $65 = HEAP32[7768]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,5309,$vararg_buffer27); + } + $67 = HEAP32[7769]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,5356,$vararg_buffer29); + } + $69 = HEAP32[7832]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[7833]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,5403,$vararg_buffer31); + } + $73 = HEAP32[7834]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,5469,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[7835] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,5573,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,5522,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=31344; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=31400; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[7864] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[7864]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[7865] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[7866] = 1; + $85 = HEAP32[7835]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[7867] = 4; + _MatrixIdentity($4); + dest=31472; src=$4; 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)); + _MatrixIdentity($4); + dest=(31536); src=$4; 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)); + _MatrixIdentity($4); + dest=(31600); src=$4; 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)); + _MatrixIdentity($4); + dest=(31664); src=$4; 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)); + _MatrixIdentity($4); + dest=(31728); src=$4; 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)); + _MatrixIdentity($4); + dest=(31792); src=$4; 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)); + _MatrixIdentity($4); + dest=(31856); src=$4; 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)); + _MatrixIdentity($4); + dest=(31920); src=$4; 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)); + _MatrixIdentity($4); + dest=(31984); src=$4; 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)); + _MatrixIdentity($4); + dest=(32048); src=$4; 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)); + _MatrixIdentity($4); + dest=(32112); src=$4; 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)); + _MatrixIdentity($4); + dest=(32176); src=$4; 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)); + _MatrixIdentity($4); + dest=(32240); src=$4; 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)); + _MatrixIdentity($4); + dest=(32304); src=$4; 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)); + _MatrixIdentity($4); + dest=(32368); src=$4; 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)); + _MatrixIdentity($4); + dest=(32432); src=$4; 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)); + _MatrixIdentity($5); + dest=31180; src=$5; 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)); + _MatrixIdentity($6); + dest=31244; src=$6; 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)); + HEAP32[7794] = 31244; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[8124] = $0; + HEAP32[8125] = $1; + _TraceLog(0,5612,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7792]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[7793]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[7790]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[7791]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 31180; + label = 3; + break; + } + case 5888: { + $modelview$sink = 31244; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[7794] = $modelview$sink; + } + HEAP32[7827] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 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); + $0 = sp; + $1 = HEAP32[7794]|0; + _MatrixIdentity($0); + dest=$1; src=$0; 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)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[7794]|0; + dest=$$byval_copy; src=$8; 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)); + dest=$$byval_copy1; src=$6; 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)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; 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)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6188|0),489)|0; + _memcpy(($3|0),(6677|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7166,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7118,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|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 _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 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, $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 = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(32516)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(32524)>>2] = $1; + HEAP32[(32520)>>2] = 0; + HEAP32[(32528)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(32524)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[8126] = 0; + HEAP32[(32512)>>2] = 0; + HEAP32[(32508)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(32564)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(32572)>>2] = $6; + HEAP32[(32568)>>2] = 0; + HEAP32[(32576)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(32572)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[8138] = 0; + HEAP32[(32560)>>2] = 0; + HEAP32[(32556)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(32612)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(32616)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(32620)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(32624)>>2] = $13; + $14 = HEAP32[(32612)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(32616)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(32620)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(32624)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[8150] = 0; + HEAP32[(32604)>>2] = 0; + HEAP32[(32608)>>2] = 0; + _TraceLog(0,5659,$vararg_buffer); + $20 = HEAP32[7828]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32532)); + $44 = HEAP32[7830]|0; + $45 = HEAP32[(32532)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((32536)|0)); + $46 = HEAP32[(32536)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(32516)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(31404)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(31404)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((32540)|0)); + $50 = HEAP32[(32540)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(32524)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(31424)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(31424)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[7828]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(32536)>>2]|0; + $58 = HEAP32[(32540)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,5797,$vararg_buffer3); + } else { + $56 = HEAP32[(32532)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,5732,$vararg_buffer1); + } + $59 = HEAP32[7828]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32580)); + $62 = HEAP32[7830]|0; + $63 = HEAP32[(32580)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((32584)|0)); + $64 = HEAP32[(32584)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(32564)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(31404)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(31404)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32588)|0)); + $68 = HEAP32[(32588)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(32572)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(31424)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(31424)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[7828]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(32584)>>2]|0; + $76 = HEAP32[(32588)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,5943,$vararg_buffer10); + } else { + $74 = HEAP32[(32580)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,5874,$vararg_buffer7); + } + $77 = HEAP32[7828]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32628)); + $80 = HEAP32[7830]|0; + $81 = HEAP32[(32628)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((32632)|0)); + $82 = HEAP32[(32632)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(32612)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(31404)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(31404)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32636)|0)); + $86 = HEAP32[(32636)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(32616)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(31408)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(31408)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((32640)|0)); + $90 = HEAP32[(32640)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(32620)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(31424)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(31424)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((32644)|0)); + $94 = HEAP32[(32644)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(32624)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[7828]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(32632)>>2]|0; + $100 = HEAP32[(32636)>>2]|0; + $101 = HEAP32[(32640)>>2]|0; + $102 = HEAP32[(32644)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6089,$vararg_buffer17); + } else { + $98 = HEAP32[(32628)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6024,$vararg_buffer14); + } + $103 = HEAP32[7828]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[7830]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|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; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,7422,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,7370,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,7419,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,7523,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,7472,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,7419,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7214|0)); + _glBindAttribLocation(($20|0),1,(7229|0)); + _glBindAttribLocation(($20|0),2,(7260|0)); + _glBindAttribLocation(($20|0),3,(7287|0)); + _glBindAttribLocation(($20|0),4,(7273|0)); + _glBindAttribLocation(($20|0),5,(7244|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,7575,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,7419,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,7621,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7214|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7229|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7244|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(7260|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(7273|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(7287|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(7299|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(7309|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(7320|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(7331|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(7343|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(7352|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(7361|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35961 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (35964 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35961 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (35964 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[7747]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,7933,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[31028>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[31028+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[31028+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[31028+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[31028+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(31056)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(31340|0)); + $0 = HEAP32[7835]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,7960,$vararg_buffer); + $1 = HEAP32[7865]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[7836]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + 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; + $0 = HEAP32[7828]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[7830]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((32536)|0)); + _glDeleteBuffers(1,((32540)|0)); + _glDeleteBuffers(1,((32584)|0)); + _glDeleteBuffers(1,((32588)|0)); + _glDeleteBuffers(1,((32632)|0)); + _glDeleteBuffers(1,((32636)|0)); + _glDeleteBuffers(1,((32640)|0)); + _glDeleteBuffers(1,((32644)|0)); + $3 = HEAP32[7828]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7831]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32532)); + $6 = HEAP32[7831]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32580)); + $7 = HEAP32[7831]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32628)); + } + $8 = HEAP32[(32516)>>2]|0; + _free($8); + $9 = HEAP32[(32524)>>2]|0; + _free($9); + $10 = HEAP32[(32564)>>2]|0; + _free($10); + $11 = HEAP32[(32572)>>2]|0; + _free($11); + $12 = HEAP32[(32612)>>2]|0; + _free($12); + $13 = HEAP32[(32616)>>2]|0; + _free($13); + $14 = HEAP32[(32620)>>2]|0; + _free($14); + $15 = HEAP32[(32624)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $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; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8025,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 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); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[1779] = $0; + $1 = +HEAPF64[1762]; + $2 = $0 - $1; + HEAPF64[1780] = $2; + HEAPF64[1762] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=31084; 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)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(32656); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[8164] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(32660)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(32664)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(32668)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(32672)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(32676)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(32680)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(32684)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(32688)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(32692)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(32696)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(32700)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(32704)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(32708)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(32712)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(32716)>>2] = $31; + return (32656|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[7794]|0; + dest=$$byval_copy; src=$49; 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)); + dest=$$byval_copy1; src=$1; 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)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; 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)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[1779] = $0; + $1 = +HEAPF64[1762]; + $2 = $0 - $1; + HEAPF64[1781] = $2; + HEAPF64[1762] = $0; + $3 = +HEAPF64[1780]; + $4 = $2 + $3; + HEAPF64[1782] = $4; + $5 = +HEAPF64[1759]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[1779] = $10; + $11 = +HEAPF64[1762]; + $12 = $10 - $11; + HEAPF64[1762] = $10; + $13 = +HEAPF64[1782]; + $14 = $12 + $13; + HEAPF64[1782] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7747]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[743] = -1; + HEAP32[745] = -1; + HEAP32[8180] = 0; + $3 = HEAP32[7747]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[3516] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(14068)>>2] = $7; + _memcpy((36479|0),(35967|0),512)|0; + ;HEAP8[35964>>0]=HEAP8[35961>>0]|0;HEAP8[35964+1>>0]=HEAP8[35961+1>>0]|0;HEAP8[35964+2>>0]=HEAP8[35961+2>>0]|0; + $8 = HEAP32[8163]|0; + HEAP32[7750] = $8; + HEAP32[8163] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (36991 + ($$05160<<5)|0); + $scevgep67 = (37119 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; 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)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((37119 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[745] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((32724 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[8180] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $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, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8126]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[7828]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[7830]|0; + $5 = HEAP32[(32532)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(32536)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[8126]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(32516)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(32540)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(32512)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(32524)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[8138]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[7828]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[7830]|0; + $19 = HEAP32[(32580)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(32584)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[8138]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(32564)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(32588)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(32560)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(32572)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[8150]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[7828]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[7830]|0; + $33 = HEAP32[(32628)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(32632)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[8150]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(32612)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(32636)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[8150]|0; + $40 = $39 << 3; + $41 = HEAP32[(32616)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(32640)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[8150]|0; + $44 = $43 << 2; + $45 = HEAP32[(32620)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[7828]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[7830]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 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; + 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, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=31180; 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)); + dest=$1; src=31244; 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)); + $3 = HEAP32[8213]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; 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)); + dest=$$byval_copy2; src=$1; 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)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[8126]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[8138]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[8150]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[7850]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=31244; 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)); + dest=$$byval_copy2; src=31180; 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)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(31428)>>2]|0; + dest=$$byval_copy2; 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)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(31432)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(31444)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[8126]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[7835]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[7828]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(32536)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(31404)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(31404)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(32540)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(31424)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(31424)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[7830]|0; + $25 = HEAP32[(32532)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[8126]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[7828]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[8138]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[7835]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[7828]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(32584)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(31404)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(31404)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(32588)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(31424)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(31424)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[7830]|0; + $41 = HEAP32[(32580)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[8138]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[7828]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[8150]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[7828]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(32632)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(31404)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(31404)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(32636)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(31408)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(31408)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(32640)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(31424)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(31424)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(32644)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[7830]|0; + $56 = HEAP32[(32628)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[7866]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[7865]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[7865]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[7866]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[7828]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[7828]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[7830]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[7866] = 1; + $5 = HEAP32[7835]|0; + $6 = HEAP32[7865]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[8126] = 0; + HEAP32[(32512)>>2] = 0; + HEAP32[8138] = 0; + HEAP32[(32560)>>2] = 0; + HEAP32[8150] = 0; + HEAP32[(32604)>>2] = 0; + HEAP32[(32608)>>2] = 0; + HEAPF32[746] = -1.0; + dest=31180; src=$0; 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)); + dest=31244; src=$1; 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)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $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 + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; 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)); + $5 = HEAP32[8124]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[8125]|0; + _rlViewport($7,0,$8,$9); + $10 = (33084 + ($0<<6)|0); + dest=$$byval_copy; 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)); + dest=$$byval_copy3; src=$10; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (32956 + ($0<<6)|0); + dest=$3; src=$11; 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)); + dest=$$byval_copy3; src=$4; 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)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; 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)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31244; src=$0; 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)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31180; src=$0; 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)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 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; + $0 = HEAP32[8303]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8075,$vararg_buffer); + } + $2 = HEAP32[8303]|0; + $3 = (31472 + ($2<<6)|0); + $4 = HEAP32[7794]|0; + dest=$3; src=$4; 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)); + _rlLoadIdentity(); + $5 = HEAP32[8303]|0; + $6 = (($5) + 1)|0; + HEAP32[8303] = $6; + $7 = HEAP32[7827]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[8304] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8303]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[8303]|0; + $3 = (($2) + -1)|0; + $4 = (31472 + ($3<<6)|0); + $5 = HEAP32[7794]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[8303] = $6; + return; +} +function _GetFPS() { + var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_GetFrameTime()); + $1 = 1.0 / $0; + $2 = (~~(($1))); + return ($2|0); +} +function _GetFrameTime() { + var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1782]; + $1 = $0; + return (+$1); +} +function _SetConfigFlags($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP8[35960] = $0; + $1 = $0 & 1; + $2 = ($1<<24>>24)==(0); + if (!($2)) { + HEAP32[7752] = 1; + } + $3 = HEAP8[35960]|0; + $4 = $3 & 2; + $5 = ($4<<24>>24)==(0); + if ($5) { + return; + } + HEAP32[7789] = 1; + return; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35967 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (36479 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[7794]|0; + dest=$$byval_copy; src=$5; 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)); + dest=$$byval_copy1; src=$3; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; 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)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 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 + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; 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)); + _MatrixTranspose($4); + $11 = HEAP32[7794]|0; + dest=$$byval_copy1; src=$11; 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)); + dest=$$byval_copy2; src=$4; 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)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; 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)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7867] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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.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.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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; + 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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 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); + $$byval_copy = sp; + $0 = HEAP32[8304]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[8305]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[7864]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[7794]|0; + dest=$$byval_copy; src=$8; 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)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[8305]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[8304] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[7864]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[8305]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[8304] = 0; + } + HEAP32[8305] = 0; + } + $21 = HEAP32[7867]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[8126]|0; + $23 = HEAP32[(32512)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(32524)>>2]|0; + $28 = HEAP32[(32512)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(32524)>>2]|0; + $35 = HEAP32[(32512)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(32524)>>2]|0; + $43 = HEAP32[(32512)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(32524)>>2]|0; + $51 = HEAP32[(32512)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(32512)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(32512)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[8138]|0; + $62 = HEAP32[(32560)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(32572)>>2]|0; + $67 = HEAP32[(32560)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(32572)>>2]|0; + $74 = HEAP32[(32560)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(32572)>>2]|0; + $82 = HEAP32[(32560)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(32572)>>2]|0; + $90 = HEAP32[(32560)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(32560)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(32560)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[8150]|0; + $101 = HEAP32[(32608)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(32620)>>2]|0; + $106 = HEAP32[(32608)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(32620)>>2]|0; + $113 = HEAP32[(32608)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(32620)>>2]|0; + $121 = HEAP32[(32608)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(32620)>>2]|0; + $129 = HEAP32[(32608)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(32608)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(32608)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[8150]|0; + $140 = HEAP32[(32604)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(32616)>>2]|0; + $$promoted = HEAP32[(32604)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(32604)>>2] = $147; + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + 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, $45 = 0, $46 = 0, $47 = 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; + $3 = HEAP32[8304]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7864]|0; + $6 = HEAP32[8305]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[8305] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[7867]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[8126]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(32516)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[8126] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8113,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[8138]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(32564)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[8138] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8138,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[8150]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(32612)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[8150] = $41; + $42 = HEAP32[7865]|0; + $43 = HEAP32[7866]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8167,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[746]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[7867]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(32616)>>2]|0; + $5 = HEAP32[(32604)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(32604)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[7867]|0; + switch ($4|0) { + case 1: { + $$sink37 = (32512);$$sink38 = (32524); + break; + } + case 4: { + $$sink37 = (32560);$$sink38 = (32572); + break; + } + case 7: { + $$sink37 = (32608);$$sink38 = (32620); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($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 = HEAP32[7865]|0; + $2 = HEAP32[7866]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[7866] = $10; + } + $11 = HEAP32[7866]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8150]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _DrawLineV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $3 = HEAP8[$2>>0]|0; + $4 = ((($2)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($2)) + 2|0); + $7 = HEAP8[$6>>0]|0; + $8 = ((($2)) + 3|0); + $9 = HEAP8[$8>>0]|0; + _rlColor4ub($3,$5,$7,$9); + $10 = +HEAPF32[$0>>2]; + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + _rlVertex2f($10,$12); + $13 = +HEAPF32[$1>>2]; + $14 = ((($1)) + 4|0); + $15 = +HEAPF32[$14>>2]; + _rlVertex2f($13,$15); + _rlEnd(); + return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[31028>>2]|0;HEAP32[$0+4>>2]=HEAP32[31028+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[31028+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[31028+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[31028+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[31028+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[31028+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[31028+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 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; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|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.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.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.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($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; + (_vsprintf(37247,$0,$1)|0); + STACKTOP = sp;return (37247|0); +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _DrawFPS($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $$sink = 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); + $$byval_copy = sp; + $2 = sp + 4|0; + $3 = HEAP32[8306]|0; + $4 = HEAP32[747]|0; + $5 = ($3|0)<($4|0); + if ($5) { + $6 = (($3) + 1)|0; + $$sink = $6; + } else { + $7 = (_GetFPS()|0); + HEAP32[8307] = $7; + HEAP32[747] = $7; + $$sink = 0; + } + HEAP32[8306] = $$sink; + $8 = HEAP32[8307]|0; + HEAP32[$$byval_copy>>2] = $8; + (_FormatText(8192,$$byval_copy)|0); + HEAP8[$2>>0] = 0; + $9 = ((($2)) + 1|0); + HEAP8[$9>>0] = -98; + $10 = ((($2)) + 2|0); + HEAP8[$10>>0] = 47; + $11 = ((($2)) + 3|0); + HEAP8[$11>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; + _DrawText(37247,$0,$1,20,$$byval_copy); + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($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, $398 = 0, $399 = 0, $4 = 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, $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; + var $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, $53 = 0, $530 = 0; + var $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, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,8200)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,8204)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,8208)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,8212)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,8218)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,8256)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 8275; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,8288)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 8309; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,8324)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 8339; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,8354)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 8369; + } + } else { + HEAP32[$3>>2] = 8240; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,8384)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,8398)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,8410)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,8424)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,8436)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,8450)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,8464)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,8481)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,8504)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,8530)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,8543)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,8559)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,8572)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,8586)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,8606)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,8626)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,8643)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,8660)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,8672)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,8685)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,8701)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,8724)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,8737)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,8753)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,8764)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,8783)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,8805)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,8824)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,8853)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,8870)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,8885)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,8900)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,8921)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,8941)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,8961)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,8987)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,9006)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,9018)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,9030)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,9042)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,9054)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,9066)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,9078)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,9090)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,9102)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,9115)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,9128)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,9141)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,9154)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,9167)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,9180)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,9193)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,9206)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,9225)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,9244)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,9263)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,9276)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,9294)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,9312)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,9330)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,9348)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,9368)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,8309)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,9386)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,9401)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,9422)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,9437)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,9455)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,9471)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,9490)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,9504)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,9519)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,8240)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,9530)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,8339)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,8369)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,9546)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,9573)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,9587)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,8275)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,9607)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,9625)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,9637)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,9658)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,9676)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,9694)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,9715)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,9741)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,9764)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,9802)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,9818)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,9833)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,9856)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,9869)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,9883)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,9897)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,9917)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,9937)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,9953)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,9971)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,9987)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,10002)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,10024)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,10042)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,10063)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,10081)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,10094)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,10109)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,10123)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,10133)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,10143)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,10165)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,10191)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,10218)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,10231)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,10246)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,10261)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,10285)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,10296)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,10318)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,10340)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,10364)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,10373)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,10381)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,10394)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,10408)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,10420)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,10429)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,10439)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,10451)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,10462)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,10470)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,10482)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,10497)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,10509)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,10523)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,10548)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,10565)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,10581)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,10597)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,10609)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,10621)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,10645)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,10658)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,10672)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,10694)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,10701)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,10717)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,10734)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,10751)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,10767)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,10783)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,10800)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,10814)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,10826)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,10837)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,10850)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,10860)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,10877)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,10889)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,10911)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,10931)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,10944)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,10966)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,10986)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,11003)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,11020)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,11040)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (33232|0); +} +function ___emscripten_pthread_data_constructor() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 188|0); + HEAP32[$1>>2] = (33272); + return; +} +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_736($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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 + 16|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $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;$26 = $17; + while(1) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _dummy_736($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] = 9; + $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 _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 _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 _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 _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$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; + var $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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=3124; 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); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|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 = 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, $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, $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 + 120|0; + $4 = sp + 80|0; + $5 = sp; + $6 = sp + 136|0; + 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 = (Atomics_load(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 & 15]($0,0,0)|0); + $33 = HEAP32[$26>>2]|0; + $34 = ($33|0)==(0|0); + $$ = $34 ? -1 : $29; + HEAP32[$23>>2] = $24; + HEAP32[$19>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $$1 = $$; + } + } else { + $22 = (_printf_core($0,$1,$3,$5,$4)|0); + $$1 = $22; + } + $35 = HEAP32[$0>>2]|0; + $36 = $35 & 32; + $37 = ($36|0)==(0); + $$1$ = $37 ? $$1 : -1; + $38 = $35 | $14; + HEAP32[$0>>2] = $38; + $39 = ($40|0)==(0); + if (!($39)) { + ___unlockfile($0); + } + $$0 = $$1$; + } + 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, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 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.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, $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 $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 20|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 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; + L1: 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 = HEAP8[$21>>0]|0; + $22 = ($20<<24>>24)==(0); + if ($22) { + label = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $25;$27 = $25; + label = 9; + break L9; + break; + } + case 0: { + $$0249$lcssa = $25;$39 = $25; + break L9; + break; + } + default: { + } + } + $24 = ((($25)) + 1|0); + HEAP32[$5>>2] = $24; + $$pre = HEAP8[$24>>0]|0; + $23 = $$pre;$25 = $24; + } + L12: do { + if ((label|0) == 9) { + while(1) { + label = 0; + $26 = ((($27)) + 1|0); + $28 = HEAP8[$26>>0]|0; + $29 = ($28<<24>>24)==(37); + if (!($29)) { + $$0249$lcssa = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $30;$27 = $31; + label = 9; + } else { + $$0249$lcssa = $30;$39 = $31; + break; + } + } + } + } while(0); + $34 = $$0249$lcssa; + $35 = $21; + $36 = (($34) - ($35))|0; + if ($10) { + _out($0,$21,$36); + } + $37 = ($36|0)==(0); + if (!($37)) { + $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; + continue; + } + $38 = ((($39)) + 1|0); + $40 = HEAP8[$38>>0]|0; + $41 = $40 << 24 >> 24; + $isdigittmp = (($41) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $42 = ((($39)) + 2|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)==(36); + $45 = ((($39)) + 3|0); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } else { + $$0253 = -1;$$1270 = $$0269;$storemerge = $38; + } + HEAP32[$5>>2] = $storemerge; + $46 = HEAP8[$storemerge>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($47) + -32)|0; + $49 = ($48>>>0)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((11156 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 11620;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 11620;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11620 : (11622); + $$$ = $238 ? $$ : (11621); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 11620;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 11620;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 11630; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_672($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11620;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (11620 + ($208)|0); + $$289 = $or$cond283 ? 11620 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 11620;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_672($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; + $$0228$ = $or$cond ? $$0228 : $11; + $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; + } + else if ((label|0) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_672($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_672($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_672($0,48,$$2261,$312,$314); + _pad_672($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_672($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } else { + $$0 = $$1248; + } + } + } while(0); + STACKTOP = sp;return ($$0|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 _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, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $isdigittmp4 = (($3) + -48)|0; + $isdigit5 = ($isdigittmp4>>>0)<(10); + if ($isdigit5) { + $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; + while(1) { + $4 = ($$06*10)|0; + $5 = (($isdigittmp7) + ($4))|0; + $6 = ((($7)) + 1|0); + HEAP32[$0>>2] = $6; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $isdigittmp = (($9) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; + } else { + $$0$lcssa = $5; + break; + } + } + } else { + $$0$lcssa = 0; + } + 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 = (11672 + ($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, $3 = 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 = (___uremdi3(($8|0),($9|0),10,0)|0); + $11 = tempRet0; + $12 = $10&255; + $13 = $12 | 48; + $14 = ((($$0914)) + -1|0); + HEAP8[$14>>0] = $13; + $15 = (___udivdi3(($8|0),($9|0),10,0)|0); + $16 = tempRet0; + $17 = ($9>>>0)>(9); + $18 = ($8>>>0)>(4294967295); + $19 = ($9|0)==(9); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $$0914 = $14;$8 = $15;$9 = $16; + } else { + break; + } + } + $$010$lcssa$off0 = $15;$$09$lcssa = $14; + } else { + $$010$lcssa$off0 = $0;$$09$lcssa = $2; + } + $22 = ($$010$lcssa$off0|0)==(0); + if ($22) { + $$1$lcssa = $$09$lcssa; + } else { + $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; + while(1) { + $23 = (($$012>>>0) % 10)&-1; + $24 = $23 | 48; + $25 = $24&255; + $26 = ((($$111)) + -1|0); + HEAP8[$26>>0] = $25; + $27 = (($$012>>>0) / 10)&-1; + $28 = ($$012>>>0)<(10); + if ($28) { + $$1$lcssa = $26; + break; + } else { + $$012 = $27;$$111 = $26; + } + } + } + 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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 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 { + $$2 = $$035$lcssa;$$3 = 0; + } + } + L8: do { + if ((label|0) == 6) { + $17 = HEAP8[$$035$lcssa65>>0]|0; + $18 = $1&255; + $19 = ($17<<24>>24)==($18<<24>>24); + if ($19) { + $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; + } else { + $20 = Math_imul($3, 16843009)|0; + $21 = ($$036$lcssa64>>>0)>(3); + L11: 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)) { + break; + } + $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 L11; + } + } + $$140 = $$046;$$23839 = $$13745; + } else { + $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; + label = 11; + } + } while(0); + if ((label|0) == 11) { + $32 = ($$137$lcssa|0)==(0); + if ($32) { + $$2 = $$0$lcssa;$$3 = 0; + break; + } else { + $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + } + } + while(1) { + $33 = HEAP8[$$140>>0]|0; + $34 = ($33<<24>>24)==($18<<24>>24); + if ($34) { + $$2 = $$140;$$3 = $$23839; + break L8; + } + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; + break; + } else { + $$140 = $35;$$23839 = $36; + } + } + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_672($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, $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 = ($9>>>0)<(256); + $11 = $10 ? $9 : 256; + _memset(($5|0),($1|0),($11|0))|0; + $12 = ($9>>>0)>(255); + if ($12) { + $13 = (($2) - ($3))|0; + $$011 = $9; + while(1) { + _out($0,$5,256); + $14 = (($$011) + -256)|0; + $15 = ($14>>>0)>(255); + if ($15) { + $$011 = $14; + } else { + break; + } + } + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; + } + _out($0,$5,$$0$lcssa); + } + STACKTOP = sp;return; +} +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 _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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.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.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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $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.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $387 = 0, $388 = 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.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.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 $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 524|0; + $9 = $8; + $10 = sp + 512|0; + HEAP32[$7>>2] = 0; + $11 = ((($10)) + 12|0); + (___DOUBLE_BITS_673($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11637; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11638) : (11643); + $$$ = $16 ? $$ : (11640); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_673($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (11672 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $85 = $84&255; + $86 = ((($$0523)) + 1|0); + HEAP8[$$0523>>0] = $85; + $87 = (+($80|0)); + $88 = $$2473 - $87; + $89 = $88 * 16.0; + $90 = $86; + $91 = (($90) - ($9))|0; + $92 = ($91|0)==(1); + if ($92) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_672($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_672($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_672($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_672($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$3501$lcssa; + $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; + } else { + $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; + } + $$7505 = $$7505$ph; + while(1) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_672($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_672($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11688,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_672($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,11688,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_672($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_672($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11656 : 11660; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11664 : 11668; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_672($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_672($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_673($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 _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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_446()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = (Atomics_load(HEAP32,$8>>2)|0); + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_446() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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, $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 label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; + while(1) { + $3 = (11690 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; + break; + } + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); + if ($8) { + $$01214 = 11778;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 11778; + } else { + $$01214 = 11778;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$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; + label = 5; + } + } + } + $14 = ((($1)) + 20|0); + $15 = (Atomics_load(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 $$ = 0, $$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; + 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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 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); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$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); + $$ = $61 ? $57 : 0; + $$4 = $$; + } 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 $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); +} +function ___fwritex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var 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 & 15]($2,$0,$1)|0); + $$1 = $17; + break; + } + $18 = ((($2)) + 75|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)>(-1); + L10: do { + if ($20) { + $$038 = $1; + while(1) { + $21 = ($$038|0)==(0); + if ($21) { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + break L10; + } + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; + } else { + $$038 = $22; + } + } + $26 = ((($2)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); + $29 = ($28>>>0)<($$038>>>0); + if ($29) { + $$1 = $28; + break L5; + } + $30 = (($0) + ($$038)|0); + $$042 = (($1) - ($$038))|0; + $$pre47 = HEAP32[$9>>2]|0; + $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; + } else { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + } + } while(0); + _memcpy(($31|0),($$141|0),($$143|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($32) + ($$143)|0); + HEAP32[$9>>2] = $33; + $34 = (($$139) + ($$143))|0; + $$1 = $34; + } + } 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 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 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|0); +} +function _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 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; + var $21 = 0, $22 = 0, $23 = 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 = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; + } else { + $$01519 = $6;$23 = $7; + } + } + } + } while(0); + if ((label|0) == 4) { + $$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 { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; + } else { + $$pn = $19; + } + } + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|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 ___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) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<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 _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, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 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) { + $$029 = $$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$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33296|0)); + return (33304|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33296|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 = (Atomics_load(HEAP32,780)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = (Atomics_load(HEAP32,780)|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 = (Atomics_load(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 = (Atomics_load(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 & 15]($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 & 15]($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 _strstr($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, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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 label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 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, $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, $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, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;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;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 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]=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;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 14264; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _rand() { + 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; + $0 = 14264; + $1 = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (($0) + 4)|0; + $4 = $3; + $5 = HEAP32[$4>>2]|0; + $6 = (___muldi3(($2|0),($5|0),1284865837,1481765933)|0); + $7 = tempRet0; + $8 = (_i64Add(($6|0),($7|0),1,0)|0); + $9 = tempRet0; + $10 = 14264; + $11 = $10; + HEAP32[$11>>2] = $8; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = (_bitshift64Lshr(($8|0),($9|0),33)|0); + $15 = tempRet0; + return ($14|0); +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[748]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;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;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = HEAP32[8327]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[8327] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8327] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8327] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8327] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function __emscripten_atomic_fetch_and_add_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_and_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_or_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_sub_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_xor_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function _emscripten_async_run_in_main_thread($0) { + $0 = $0|0; + var $$0 = 0, $$0$in = 0, $$0$in19 = 0, $$0$lcssa = 0, $$020 = 0, $$expand_i1_val = 0, $$lcssa = 0, $$lcssa18 = 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, $call_queue$init$val = 0, $call_queue$init$val$pre_trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + ___assert_fail((13872|0),(13704|0),260,(13877|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + if (!($3)) { + __do_call($0); + return; + } + (___pthread_mutex_lock(33828)|0); + $call_queue$init$val$pre_trunc = HEAP8[38343]|0; + $call_queue$init$val = $call_queue$init$val$pre_trunc&1; + if (!($call_queue$init$val)) { + $$expand_i1_val = 1; + HEAP8[38343] = $$expand_i1_val; + } + $4 = (Atomics_load(HEAP32, 8464)|0); + $5 = (Atomics_load(HEAP32, 8465)|0); + $$0$in19 = (($5) + 1)|0; + $$020 = (($$0$in19|0) % 128)&-1; + $6 = ($$020|0)==($4|0); + if ($6) { + $7 = $4; + while(1) { + (___pthread_mutex_unlock(33828)|0); + (_emscripten_futex_wait((33856|0),($7|0),inf)|0); + (___pthread_mutex_lock(33828)|0); + $8 = (Atomics_load(HEAP32, 8464)|0); + $9 = (Atomics_load(HEAP32, 8465)|0); + $$0$in = (($9) + 1)|0; + $$0 = (($$0$in|0) % 128)&-1; + $10 = ($$0|0)==($8|0); + if ($10) { + $7 = $8; + } else { + $$0$lcssa = $$0;$$lcssa = $9;$$lcssa18 = $8; + break; + } + } + } else { + $$0$lcssa = $$020;$$lcssa = $5;$$lcssa18 = $4; + } + $11 = (33864 + ($$lcssa<<2)|0); + HEAP32[$11>>2] = $0; + $12 = ($$lcssa18|0)==($$lcssa|0); + if ($12) { + _emscripten_asm_const_v(1); + } + $13 = (Atomics_store(HEAP32, 8465, $$0$lcssa)|0); + (___pthread_mutex_unlock(33828)|0); + return; +} +function _emscripten_atomic_add_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_and_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_cas_u64($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, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $0; + $6 = $5 >>> 3; + $7 = $6 & 255; + $8 = (34384 + ($7<<2)|0); + while(1) { + while(1) { + $9 = (Atomics_load(HEAP32, $8>>2)|0); + $10 = (Atomics_compareExchange(HEAP32, $8>>2, $9, 1)|0); + $11 = ($9|0)==($10|0); + if ($11) { + break; + } + } + $12 = ($9|0)==(0); + if ($12) { + break; + } + } + $13 = $0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)==($1|0); + $20 = ($18|0)==($2|0); + $21 = $19 & $20; + if (!($21)) { + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); + } + $22 = $0; + $23 = $22; + HEAP32[$23>>2] = $3; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $4; + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); +} +function _emscripten_atomic_exchange_u32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + while(1) { + $2 = (Atomics_load(HEAP32, $0>>2)|0); + $3 = (Atomics_compareExchange(HEAP32, $0>>2, $2, $1)|0); + $4 = ($2|0)==($3|0); + if ($4) { + break; + } + } + return ($2|0); +} +function _emscripten_atomic_exchange_u64($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, label = 0; + var sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $0; + $18 = $17; + HEAP32[$18>>2] = $1; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $2; + $21 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function _emscripten_atomic_load_f32($0) { + $0 = $0|0; + var $1 = 0, $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (Atomics_load(HEAP32, $0>>2)|0); + $2 = (HEAP32[tempDoublePtr>>2]=$1,+HEAPF32[tempDoublePtr>>2]); + return (+$2); +} +function _emscripten_atomic_load_f64($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.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34384 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } + } + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = +HEAPF64[$0>>3]; + $10 = (Atomics_store(HEAP32, $4>>2, 0)|0); + return (+$9); +} +function _emscripten_atomic_load_u64($0) { + $0 = $0|0; + var $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; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34384 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } + } + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = $0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (Atomics_store(HEAP32, $4>>2, 0)|0); + tempRet0 = ($14); + return ($11|0); +} +function _emscripten_atomic_or_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_store_f32($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (HEAPF32[tempDoublePtr>>2]=$1,HEAP32[tempDoublePtr>>2]|0); + $3 = (Atomics_store(HEAP32, $0>>2, $2)|0); + $4 = (+($3>>>0)); + return (+$4); +} +function _emscripten_atomic_store_f64($0,$1) { + $0 = $0|0; + $1 = +$1; + var $10 = 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; + $3 = $2 >>> 3; + $4 = $3 & 255; + $5 = (34384 + ($4<<2)|0); + while(1) { + while(1) { + $6 = (Atomics_load(HEAP32, $5>>2)|0); + $7 = (Atomics_compareExchange(HEAP32, $5>>2, $6, 1)|0); + $8 = ($6|0)==($7|0); + if ($8) { + break; + } + } + $9 = ($6|0)==(0); + if ($9) { + break; + } + } + HEAPF64[$0>>3] = $1; + $10 = (Atomics_store(HEAP32, $5>>2, 0)|0); + return (+$1); +} +function _emscripten_atomic_store_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + HEAP32[$12>>2] = $1; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($2); + return ($1|0); +} +function _emscripten_atomic_sub_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_xor_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_main_thread_process_queued_calls() { + var $$0910 = 0, $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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_emscripten_is_main_runtime_thread()|0); + $1 = ($0|0)==(0); + if ($1) { + ___assert_fail((13582|0),(13704|0),424,(13768|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + $4 = HEAP32[8456]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + return; + } + HEAP32[8456] = 1; + (___pthread_mutex_lock(33828)|0); + $6 = (Atomics_load(HEAP32, 8464)|0); + $7 = (Atomics_load(HEAP32, 8465)|0); + $8 = ($6|0)==($7|0); + (___pthread_mutex_unlock(33828)|0); + if (!($8)) { + $$0910 = $6; + while(1) { + $9 = (33864 + ($$0910<<2)|0); + $10 = HEAP32[$9>>2]|0; + __do_call($10); + (___pthread_mutex_lock(33828)|0); + $11 = (($$0910) + 1)|0; + $12 = (($11|0) % 128)&-1; + $13 = (Atomics_store(HEAP32, 8464, $12)|0); + $14 = (Atomics_load(HEAP32, 8465)|0); + $15 = ($12|0)==($14|0); + (___pthread_mutex_unlock(33828)|0); + if ($15) { + break; + } else { + $$0910 = $12; + } + } + } + (_emscripten_futex_wake((33856|0),2147483647)|0); + HEAP32[8456] = 0; + return; +} +function _emscripten_sync_run_in_main_thread($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + _emscripten_async_run_in_main_thread($0); + (_emscripten_wait_for_call_v($0,inf)|0); + return; +} +function _emscripten_sync_run_in_main_thread_0($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $1 = sp; + dest=$1; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$1>>2] = $0; + $2 = ((($1)) + 80|0); + HEAP32[$2>>2] = 0; + _emscripten_async_run_in_main_thread($1); + (_emscripten_wait_for_call_v($1,inf)|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _emscripten_sync_run_in_main_thread_1($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $2 = sp; + dest=$2; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$2>>2] = $0; + $3 = ((($2)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($2)) + 80|0); + HEAP32[$4>>2] = 0; + _emscripten_async_run_in_main_thread($2); + (_emscripten_wait_for_call_v($2,inf)|0); + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _emscripten_sync_run_in_main_thread_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $3 = sp; + dest=$3; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = $0; + $4 = ((($3)) + 16|0); + HEAP32[$4>>2] = $1; + $5 = ((($3)) + 24|0); + HEAP32[$5>>2] = $2; + $6 = ((($3)) + 80|0); + HEAP32[$6>>2] = 0; + _emscripten_async_run_in_main_thread($3); + (_emscripten_wait_for_call_v($3,inf)|0); + $7 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _emscripten_sync_run_in_main_thread_3($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, $9 = 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+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$4>>2] = $0; + $5 = ((($4)) + 16|0); + HEAP32[$5>>2] = $1; + $6 = ((($4)) + 24|0); + HEAP32[$6>>2] = $2; + $7 = ((($4)) + 32|0); + HEAP32[$7>>2] = $3; + $8 = ((($4)) + 80|0); + HEAP32[$8>>2] = 0; + _emscripten_async_run_in_main_thread($4); + (_emscripten_wait_for_call_v($4,inf)|0); + $9 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _emscripten_sync_run_in_main_thread_4($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $5 = sp; + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $6 = ((($5)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = ((($5)) + 24|0); + HEAP32[$7>>2] = $2; + $8 = ((($5)) + 32|0); + HEAP32[$8>>2] = $3; + $9 = ((($5)) + 40|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 80|0); + HEAP32[$10>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $11 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _emscripten_sync_run_in_main_thread_5($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $6 = sp; + dest=$6; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = $0; + $7 = ((($6)) + 16|0); + HEAP32[$7>>2] = $1; + $8 = ((($6)) + 24|0); + HEAP32[$8>>2] = $2; + $9 = ((($6)) + 32|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 40|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 48|0); + HEAP32[$11>>2] = $5; + $12 = ((($6)) + 80|0); + HEAP32[$12>>2] = 0; + _emscripten_async_run_in_main_thread($6); + (_emscripten_wait_for_call_v($6,inf)|0); + $13 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _emscripten_sync_run_in_main_thread_6($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $7 = sp; + dest=$7; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$7>>2] = $0; + $8 = ((($7)) + 16|0); + HEAP32[$8>>2] = $1; + $9 = ((($7)) + 24|0); + HEAP32[$9>>2] = $2; + $10 = ((($7)) + 32|0); + HEAP32[$10>>2] = $3; + $11 = ((($7)) + 40|0); + HEAP32[$11>>2] = $4; + $12 = ((($7)) + 48|0); + HEAP32[$12>>2] = $5; + $13 = ((($7)) + 56|0); + HEAP32[$13>>2] = $6; + $14 = ((($7)) + 80|0); + HEAP32[$14>>2] = 0; + _emscripten_async_run_in_main_thread($7); + (_emscripten_wait_for_call_v($7,inf)|0); + $15 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _emscripten_sync_run_in_main_thread_7($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $8 = sp; + dest=$8; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$8>>2] = $0; + $9 = ((($8)) + 16|0); + HEAP32[$9>>2] = $1; + $10 = ((($8)) + 24|0); + HEAP32[$10>>2] = $2; + $11 = ((($8)) + 32|0); + HEAP32[$11>>2] = $3; + $12 = ((($8)) + 40|0); + HEAP32[$12>>2] = $4; + $13 = ((($8)) + 48|0); + HEAP32[$13>>2] = $5; + $14 = ((($8)) + 56|0); + HEAP32[$14>>2] = $6; + $15 = ((($8)) + 64|0); + HEAP32[$15>>2] = $7; + $16 = ((($8)) + 80|0); + HEAP32[$16>>2] = 0; + _emscripten_async_run_in_main_thread($8); + (_emscripten_wait_for_call_v($8,inf)|0); + $17 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _emscripten_sync_run_in_main_thread_xprintf_varargs($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|0; + var $$0 = 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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $3 = sp + 96|0; + $4 = sp + 112|0; + $5 = sp; + HEAP32[$3>>2] = $varargs; + $6 = (_vsnprintf($4,128,$2,$3)|0); + $7 = ($6|0)>(127); + $8 = (($6) + 1)|0; + if ($7) { + $9 = (_malloc($8)|0); + HEAP32[$3>>2] = $varargs; + (_vsnprintf($9,$8,$2,$3)|0); + $$0 = $9; + } else { + $$0 = $4; + } + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $10 = $1; + $11 = ((($5)) + 16|0); + HEAP32[$11>>2] = $10; + $12 = ((($5)) + 24|0); + HEAP32[$12>>2] = $$0; + $13 = ((($5)) + 80|0); + HEAP32[$13>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $14 = ($$0|0)==($4|0); + if ($14) { + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); + } + _free($$0); + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); +} +function ___pthread_tsd_run_dtors() { + var $$02427 = 0, $$026 = 0, $$125 = 0, $$2 = 0, $0 = 0, $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; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 116|0); + $$02427 = 0; + while(1) { + $$026 = 0;$$125 = 0; + while(1) { + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($$026<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + $$2 = $$125; + } else { + $9 = (33312 + ($$026<<2)|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$2 = $$125; + } else { + HEAP32[$6>>2] = 0; + $12 = (Atomics_load(HEAP32,$9>>2)|0); + FUNCTION_TABLE_vi[$12 & 31]($7); + $$2 = 1; + } + } + $13 = (($$026) + 1)|0; + $exitcond = ($13|0)==(128); + if ($exitcond) { + break; + } else { + $$026 = $13;$$125 = $$2; + } + } + $14 = (($$02427) + 1)|0; + $15 = ($$2|0)!=(0); + $16 = ($14|0)<(4); + $17 = $16 & $15; + if ($17) { + $$02427 = $14; + } else { + break; + } + } + return; +} +function _emscripten_wait_for_call_v($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$ = 0, $$01921 = 0.0, $$020$lcssa = 0, $$1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = (Atomics_load(HEAP32, $2>>2)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$1 = $3; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); + } + $5 = (+_emscripten_get_now()); + $6 = $5 + $1; + _emscripten_set_current_thread_status(5); + $7 = $5 < $6; + if ($7) { + $$01921 = $5; + while(1) { + $8 = $6 - $$01921; + (_emscripten_futex_wait(($2|0),0,(+$8))|0); + $9 = (Atomics_load(HEAP32, $2>>2)|0); + $10 = (+_emscripten_get_now()); + $11 = ($9|0)==(0); + $12 = $10 < $6; + $or$cond = $11 & $12; + if ($or$cond) { + $$01921 = $10; + } else { + $$020$lcssa = $9; + break; + } + } + } else { + $$020$lcssa = 0; + } + _emscripten_set_current_thread_status(1); + $$1 = $$020$lcssa; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); +} +function __do_call($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, $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, $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; + $1 = HEAP32[$0>>2]|0; + do { + switch ($1|0) { + case 12: { + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 24|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_utime(($3|0),($5|0))|0); + $7 = ((($0)) + 80|0); + HEAP32[$7>>2] = $6; + break; + } + case 13: { + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($0)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_utimes(($9|0),($11|0))|0); + $13 = ((($0)) + 80|0); + HEAP32[$13>>2] = $12; + break; + } + case 37: { + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_chroot(($15|0))|0); + $17 = ((($0)) + 80|0); + HEAP32[$17>>2] = $16; + break; + } + case 46: { + $18 = ((($0)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_fpathconf(($19|0),($21|0))|0); + $23 = ((($0)) + 80|0); + HEAP32[$23>>2] = $22; + break; + } + case 68: { + $24 = ((($0)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_confstr(($25|0),($27|0),($29|0))|0); + $31 = ((($0)) + 80|0); + HEAP32[$31>>2] = $30; + break; + } + case 72: { + $32 = ((($0)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sysconf(($33|0))|0); + $35 = ((($0)) + 80|0); + HEAP32[$35>>2] = $34; + break; + } + case 110: { + $36 = ((($0)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_atexit(($37|0))|0); + $39 = ((($0)) + 80|0); + HEAP32[$39>>2] = $38; + break; + } + case 111: { + $40 = ((($0)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_getenv(($41|0))|0); + $43 = ((($0)) + 80|0); + HEAP32[$43>>2] = $42; + break; + } + case 112: { + $44 = (_clearenv()|0); + $45 = ((($0)) + 80|0); + HEAP32[$45>>2] = $44; + break; + } + case 113: { + $46 = ((($0)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($0)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($0)) + 32|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_setenv(($47|0),($49|0),($51|0))|0); + $53 = ((($0)) + 80|0); + HEAP32[$53>>2] = $52; + break; + } + case 114: { + $54 = ((($0)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_unsetenv(($55|0))|0); + $57 = ((($0)) + 80|0); + HEAP32[$57>>2] = $56; + break; + } + case 115: { + $58 = ((($0)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_putenv(($59|0))|0); + $61 = ((($0)) + 80|0); + HEAP32[$61>>2] = $60; + break; + } + case 119: { + _tzset(); + break; + } + case 137: { + $62 = ((($0)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($0)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($0)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = ((($0)) + 40|0); + $69 = HEAP32[$68>>2]|0; + $70 = (_pthread_create(($63|0),($65|0),($67|0),($69|0))|0); + $71 = ((($0)) + 80|0); + HEAP32[$71>>2] = $70; + break; + } + case 138: { + $72 = ((($0)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($0)) + 24|0); + $75 = HEAP32[$74>>2]|0; + $76 = (_emscripten_syscall(($73|0),($75|0))|0); + $77 = ((($0)) + 80|0); + HEAP32[$77>>2] = $76; + break; + } + case 1024: { + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + FUNCTION_TABLE_v[$79 & 7](); + break; + } + case 1025: { + $80 = ((($0)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = ((($0)) + 16|0); + $83 = HEAP32[$82>>2]|0; + FUNCTION_TABLE_vi[$81 & 31]($83); + break; + } + case 1026: { + $84 = ((($0)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = ((($0)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($0)) + 24|0); + $89 = HEAP32[$88>>2]|0; + FUNCTION_TABLE_vii[$85 & 63]($87,$89); + break; + } + case 1027: { + $90 = ((($0)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($0)) + 16|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($0)) + 24|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($0)) + 32|0); + $97 = HEAP32[$96>>2]|0; + FUNCTION_TABLE_viii[$91 & 31]($93,$95,$97); + break; + } + case 2048: { + $98 = ((($0)) + 4|0); + $99 = HEAP32[$98>>2]|0; + $100 = (FUNCTION_TABLE_i[$99 & 3]()|0); + $101 = ((($0)) + 80|0); + HEAP32[$101>>2] = $100; + break; + } + case 2049: { + $102 = ((($0)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ((($0)) + 16|0); + $105 = HEAP32[$104>>2]|0; + $106 = (FUNCTION_TABLE_ii[$103 & 15]($105)|0); + $107 = ((($0)) + 80|0); + HEAP32[$107>>2] = $106; + break; + } + case 2050: { + $108 = ((($0)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = ((($0)) + 16|0); + $111 = HEAP32[$110>>2]|0; + $112 = ((($0)) + 24|0); + $113 = HEAP32[$112>>2]|0; + $114 = (FUNCTION_TABLE_iii[$109 & 3]($111,$113)|0); + $115 = ((($0)) + 80|0); + HEAP32[$115>>2] = $114; + break; + } + case 2051: { + $116 = ((($0)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = ((($0)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = ((($0)) + 24|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($0)) + 32|0); + $123 = HEAP32[$122>>2]|0; + $124 = (FUNCTION_TABLE_iiii[$117 & 15]($119,$121,$123)|0); + $125 = ((($0)) + 80|0); + HEAP32[$125>>2] = $124; + break; + } + default: { + ___assert_fail((13812|0),(13704|0),211,(13863|0)); + // unreachable; + } + } + } while(0); + $126 = ((($0)) + 88|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)==(0); + if ($128) { + $129 = ((($0)) + 8|0); + HEAP32[$129>>2] = 1; + (_emscripten_futex_wake(($129|0),2147483647)|0); + return; + } else { + _free($0); + return; + } +} +function ___pthread_mutex_unlock($0) { + $0 = $0|0; + var $$0 = 0, $$045 = 0, $$pre = 0, $$pre$phiZ2D = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = (Atomics_load(HEAP32,$1>>2)|0); + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 15; + $5 = $3 & 128; + $6 = $5 ^ 128; + $7 = ($4|0)==(0); + if ($7) { + $$pre = ((($0)) + 4|0); + $$045 = 0;$$pre$phiZ2D = $$pre; + } else { + $8 = (_pthread_self()|0); + $9 = ((($0)) + 4|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = $10 & 2147483647; + $12 = ((($8)) + 52|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)==($13|0); + if (!($14)) { + $$0 = 1; + return ($$0|0); + } + $15 = $3 & 3; + $16 = ($15|0)==(1); + if ($16) { + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + $20 = (($18) + -1)|0; + HEAP32[$17>>2] = $20; + $$0 = 0; + return ($$0|0); + } + } + $21 = ($6|0)==(0); + $22 = ((($0)) + 16|0); + if ($21) { + $23 = ((($8)) + 176|0); + Atomics_store(HEAP32,$23>>2,$22)|0; + ___vm_lock(); + } + $24 = ((($0)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$22>>2]|0; + Atomics_store(HEAP32,$25>>2,$26)|0; + $27 = ((($8)) + 168|0); + $28 = ($26|0)==($27|0); + if ($28) { + $$045 = $8;$$pre$phiZ2D = $9; + } else { + $29 = ((($26)) + -4|0); + Atomics_store(HEAP32,$29>>2,$25)|0; + $$045 = $8;$$pre$phiZ2D = $9; + } + } + $30 = $3 & 8; + $31 = ($30|0)!=(0); + $32 = $31 ? 2147483647 : 0; + while(1) { + $33 = (Atomics_load(HEAP32, $$pre$phiZ2D>>2)|0); + $34 = (Atomics_compareExchange(HEAP32, $$pre$phiZ2D>>2, $33, $32)|0); + $35 = ($34|0)==($33|0); + if ($35) { + break; + } + } + $36 = ($6|0)!=(0); + $or$cond = $7 | $36; + if (!($or$cond)) { + $37 = ((($$045)) + 176|0); + Atomics_store(HEAP32,$37>>2,0)|0; + ___vm_unlock(); + } + $38 = ($2|0)!=(0); + $39 = ($33|0)<(0); + $or$cond3 = $38 | $39; + if (!($or$cond3)) { + $$0 = 0; + return ($$0|0); + } + (_emscripten_futex_wake(($$pre$phiZ2D|0),1)|0); + $$0 = 0; + return ($$0|0); +} +function ___vm_lock() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8594, 1)|0); + return; +} +function ___vm_unlock() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8594, -1)|0); + $1 = ($0|0)==(1); + if (!($1)) { + return; + } + $2 = (Atomics_load(HEAP32,(34380)>>2)|0); + $3 = ($2|0)==(0); + if ($3) { + return; + } + (_emscripten_futex_wake((34376|0),2147483647)|0); + return; +} +function ___pthread_mutex_lock($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; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = ($5|0)==(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + } + $7 = (___pthread_mutex_timedlock($0,0)|0); + $$0 = $7; + return ($$0|0); +} +function ___pthread_mutex_timedlock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 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, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond40 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$0>>2]|0; + $3 = $2 & 15; + $4 = ($3|0)==(0); + do { + if ($4) { + $5 = ((($0)) + 4|0); + $6 = (Atomics_compareExchange(HEAP32, $5>>2, 0, 16)|0); + $7 = ($6|0)==(0); + if ($7) { + $$2 = 0; + return ($$2|0); + } else { + $$pre = HEAP32[$0>>2]|0; + $9 = $$pre; + break; + } + } else { + $9 = $2; + } + } while(0); + $8 = $9 & 128; + $10 = $8 ^ 128; + $11 = (___pthread_mutex_trylock($0)|0); + $12 = ($11|0)==(16); + if (!($12)) { + $$2 = $11; + return ($$2|0); + } + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 8|0); + $$0 = 100; + while(1) { + $15 = (($$0) + -1)|0; + $16 = ($$0|0)==(0); + if ($16) { + break; + } + $17 = (Atomics_load(HEAP32,$13>>2)|0); + $18 = ($17|0)==(0); + if ($18) { + break; + } + $19 = (Atomics_load(HEAP32,$14>>2)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = $15; + } else { + break; + } + } + $21 = (___pthread_mutex_trylock($0)|0); + $22 = ($21|0)==(16); + if (!($22)) { + $$2 = $21; + return ($$2|0); + } + L18: while(1) { + $23 = (Atomics_load(HEAP32,$13>>2)|0); + $24 = ($23|0)==(0); + if (!($24)) { + $27 = $23 & 1073741824; + $28 = ($27|0)==(0); + $29 = HEAP32[$0>>2]|0; + $30 = $29 & 4; + $31 = ($30|0)==(0); + $or$cond40 = $28 | $31; + if ($or$cond40) { + $32 = $29 & 3; + $33 = ($32|0)==(2); + if ($33) { + $34 = $23 & 2147483647; + $35 = (_pthread_self()|0); + $36 = ((($35)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($34|0)==($37|0); + if ($38) { + $$2 = 35; + label = 17; + break; + } + } + $39 = (Atomics_add(HEAP32, $14>>2, 1)|0); + $40 = $23 | -2147483648; + $41 = (Atomics_compareExchange(HEAP32, $13>>2, $23, $40)|0); + $42 = (___timedwait($13,$40,0,$1,$10)|0); + $43 = (Atomics_sub(HEAP32, $14>>2, 1)|0); + switch ($42|0) { + case 0: case 4: { + break; + } + default: { + $$2 = $42; + label = 17; + break L18; + } + } + } + } + $25 = (___pthread_mutex_trylock($0)|0); + $26 = ($25|0)==(16); + if (!($26)) { + $$2 = $25; + label = 17; + break; + } + } + if ((label|0) == 17) { + return ($$2|0); + } + return (0)|0; +} +function ___timedwait($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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + (___pthread_setcancelstate(1,($5|0))|0); + _emscripten_conditional_set_current_thread_status(1,4); + $6 = (___timedwait_cp($0,$1,$2,$3,$4)|0); + _emscripten_conditional_set_current_thread_status(4,1); + $7 = HEAP32[$5>>2]|0; + (___pthread_setcancelstate(($7|0),(0|0))|0); + STACKTOP = sp;return ($6|0); +} +function ___timedwait_cp($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$0$us = 0.0, $$$045 = 0.0, $$$046$us = 0.0, $$0$us = 0.0, $$0$us53 = 0.0, $$138 = 0, $$138$ph = 0, $$138$ph70 = 0, $$138$ph72 = 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.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 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 = ($3|0)!=(0|0); + if ($6) { + $7 = ((($3)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8>>>0)>(999999999); + if ($9) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $10 = (___clock_gettime(($2|0),($5|0))|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (($12) - ($13))|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ((($5)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) - ($17))|0; + HEAP32[$16>>2] = $18; + $19 = ($18|0)<(0); + if ($19) { + $20 = (($14) + -1)|0; + HEAP32[$5>>2] = $20; + $21 = (($18) + 1000000000)|0; + HEAP32[$16>>2] = $21; + $23 = $20; + } else { + $23 = $14; + } + $22 = ($23|0)<(0); + if ($22) { + $$138 = 110; + STACKTOP = sp;return ($$138|0); + } + } + $24 = (_emscripten_is_main_runtime_thread()|0); + $25 = ($24|0)!=(0); + $$$045 = $25 ? 1.0 : 100.0; + if ($25) { + L15: while(1) { + $26 = (_pthread_self()|0); + $27 = (__pthread_isduecanceled($26)|0); + $28 = ($27|0)==(0); + if (!($28)) { + $$138$ph = 125; + break; + } + _emscripten_main_thread_process_queued_calls(); + if ($6) { + $29 = (+__pthread_msecs_until($3)); + $30 = !($29 <= 0.0); + $31 = $29 > 100.0; + $$0$us = $31 ? 100.0 : $29; + $32 = $$0$us > 1.0; + $$$0$us = $32 ? 1.0 : $$0$us; + if ($30) { + $$$046$us = $$$0$us; + } else { + $$138$ph = 110; + break; + } + } else { + $$$046$us = $$$045; + } + $33 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$046$us))|0); + $34 = (0 - ($33))|0; + switch ($34|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph = $34; + break L15; + break; + } + default: { + $$138 = 0; + label = 21; + break L15; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph; + STACKTOP = sp;return ($$138|0); + } + if (!($6)) { + L27: while(1) { + $43 = (_pthread_self()|0); + $44 = (__pthread_isduecanceled($43)|0); + $45 = ($44|0)==(0); + if (!($45)) { + $$138$ph72 = 125; + break; + } + $46 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$045))|0); + $47 = (0 - ($46))|0; + switch ($47|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph72 = $47; + break L27; + break; + } + default: { + $$138 = 0; + label = 21; + break L27; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph72; + STACKTOP = sp;return ($$138|0); + } + L34: while(1) { + $35 = (_pthread_self()|0); + $36 = (__pthread_isduecanceled($35)|0); + $37 = ($36|0)==(0); + if (!($37)) { + $$138$ph70 = 125; + break; + } + $38 = (+__pthread_msecs_until($3)); + $39 = !($38 <= 0.0); + if (!($39)) { + $$138$ph70 = 110; + break; + } + $40 = $38 > 100.0; + $$0$us53 = $40 ? 100.0 : $38; + $41 = (_emscripten_futex_wait(($0|0),($1|0),(+$$0$us53))|0); + $42 = (0 - ($41))|0; + switch ($42|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph70 = $42; + break L34; + break; + } + default: { + $$138 = 0; + label = 21; + break L34; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph70; + STACKTOP = sp;return ($$138|0); +} +function __pthread_isduecanceled($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(2); + $3 = $2&1; + return ($3|0); +} +function __pthread_msecs_until($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.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)); + $4 = $3 * 1000.0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (+($6|0)); + $8 = $7 * 0.001; + $9 = $4 + $8; + $10 = HEAP32[$0>>2]|0; + $11 = (+($10|0)); + $12 = $11 * 1000.0; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = $15 * 9.9999999999999995E-7; + $17 = $12 + $16; + $18 = $17 - $9; + STACKTOP = sp;return (+$18); +} +function ___pthread_mutex_trylock($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; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = $5 & 16; + $$0 = $6; + return ($$0|0); + } else { + $7 = (___pthread_mutex_trylock_owner($0)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; +} +function ___pthread_mutex_trylock_owner($0) { + $0 = $0|0; + var $$ = 0, $$1 = 0, $$154 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond57 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_pthread_self()|0); + $3 = ((($2)) + 52|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 4|0); + $6 = (Atomics_load(HEAP32,$5>>2)|0); + $7 = $6 & 2147483647; + $8 = ($7|0)==($4|0); + $9 = $1 & 3; + $10 = ($9|0)==(1); + $or$cond = $10 & $8; + if ($or$cond) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(2147483646); + if ($13) { + $$1 = 11; + return ($$1|0); + } + $14 = (($12) + 1)|0; + HEAP32[$11>>2] = $14; + $$1 = 0; + return ($$1|0); + } + $15 = ($7|0)==(2147483647); + if ($15) { + $$1 = 131; + return ($$1|0); + } + $16 = HEAP32[$0>>2]|0; + $17 = $16 & 128; + $18 = ($17|0)==(0); + if ($18) { + $$154 = $4; + } else { + $19 = ((($2)) + 172|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + HEAP32[$19>>2] = -12; + } + $22 = ((($0)) + 8|0); + $23 = (Atomics_load(HEAP32,$22>>2)|0); + $24 = ($23|0)==(0); + $25 = $4 | -2147483648; + $$ = $24 ? $4 : $25; + $26 = ((($0)) + 16|0); + $27 = ((($2)) + 176|0); + Atomics_store(HEAP32,$27>>2,$26)|0; + $$154 = $$; + } + $28 = ($7|0)!=(0); + if ($28) { + $29 = $6 & 1073741824; + $30 = ($29|0)==(0); + $31 = $1 & 4; + $32 = ($31|0)==(0); + $or$cond57 = $32 | $30; + if (!($or$cond57)) { + label = 11; + } + } else { + label = 11; + } + if ((label|0) == 11) { + $33 = (Atomics_compareExchange(HEAP32, $5>>2, $6, $$154)|0); + $34 = ($33|0)==($6|0); + if ($34) { + $36 = ((($2)) + 168|0); + $37 = (Atomics_load(HEAP32,$36>>2)|0); + $38 = ((($0)) + 16|0); + HEAP32[$38>>2] = $37; + $39 = ((($0)) + 12|0); + HEAP32[$39>>2] = $36; + $40 = ($37|0)==($36|0); + if (!($40)) { + $41 = ((($37)) + -4|0); + Atomics_store(HEAP32,$41>>2,$38)|0; + } + Atomics_store(HEAP32,$36>>2,$38)|0; + $42 = ((($2)) + 176|0); + Atomics_store(HEAP32,$42>>2,0)|0; + if (!($28)) { + $$1 = 0; + return ($$1|0); + } + $43 = ((($0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = HEAP32[$0>>2]|0; + $45 = $44 | 8; + HEAP32[$0>>2] = $45; + $$1 = 130; + return ($$1|0); + } + } + $35 = ((($2)) + 176|0); + Atomics_store(HEAP32,$35>>2,0)|0; + $$1 = 16; + return ($$1|0); +} +function _pthread_mutexattr_destroy($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _pthread_mutexattr_init($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$0>>2] = 0; + return 0; +} +function _pthread_mutex_init($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$sroa$0 = sp; + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0;HEAP32[$$sroa$0+20>>2]=0|0;HEAP32[$$sroa$0+24>>2]=0|0; + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$$sroa$0+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$$sroa$0+24>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + STACKTOP = sp;return 0; + } + $3 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $3; + STACKTOP = sp;return 0; +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4230$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i17$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0198 = 0, $$0200 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024363$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1 = 0, $$1196$i = 0; + var $$1198$i = 0, $$124462$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2 = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i202 = 0, $$3229$i = 0, $$3235$i = 0, $$3350$i = 0; + var $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0, $$4230$i = 0, $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$7$i = 0, $$7239$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i18$i = 0, $$pre$i211 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i19$iZ2D = 0; + var $$pre$phi$i212Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i205 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0; + var $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, $1022 = 0, $1023 = 0; + var $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, $1040 = 0, $1041 = 0; + var $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, $1059 = 0, $106 = 0; + var $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, $1077 = 0, $1078 = 0; + var $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 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, $398 = 0, $399 = 0, $4 = 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, $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; + var $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, $53 = 0, $530 = 0; + var $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, $548 = 0, $549 = 0; + var $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, $566 = 0, $567 = 0; + var $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, $584 = 0, $585 = 0; + var $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, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0; + var $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, $620 = 0; + var $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, $639 = 0; + var $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, $657 = 0; + var $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, $675 = 0; + var $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, $693 = 0; + var $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, $710 = 0; + var $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, $729 = 0; + var $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, $747 = 0; + var $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, $765 = 0; + var $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, $783 = 0; + var $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, $800 = 0; + var $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, $819 = 0; + var $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, $834 = 0, $835 = 0, $836 = 0, $837 = 0; + var $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, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0; + var $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, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0; + var $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, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0; + var $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, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0; + var $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, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0; + var $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, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0; + var $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, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0; + var $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, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0; + var $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, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0; + var $cond$i$i = 0, $cond$i209 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i21$i = 0, $not$$i210 = 0, $not$1$i = 0, $not$1$i204 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0, $or$cond$i = 0, $or$cond$i213 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond12$i = 0, $or$cond2$i = 0; + var $or$cond2$i214 = 0, $or$cond43$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond9$i = 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 = HEAP32[8852]|0; + $4 = ($3|0)==(0); + if ($4) { + (___pthread_mutex_lock(35432)|0); + $5 = HEAP32[8852]|0; + $6 = ($5|0)==(0); + if ($6) { + HEAP32[(35416)>>2] = 4096; + HEAP32[(35412)>>2] = 4096; + HEAP32[(35420)>>2] = -1; + HEAP32[(35424)>>2] = -1; + HEAP32[(35428)>>2] = 2; + HEAP32[(35904)>>2] = 2; + $7 = (_pthread_mutexattr_init($1)|0); + $8 = ($7|0)==(0); + if ($8) { + $9 = (_pthread_mutex_init((35908),$1)|0); + $10 = ($9|0)==(0); + if ($10) { + } + } + $11 = $2; + $12 = $11 & -16; + $13 = $12 ^ 1431655768; + HEAP32[$2>>2] = $13; + Atomics_store(HEAP32,8852,$13)|0; + } + (___pthread_mutex_unlock(35432)|0); + } + $14 = HEAP32[(35904)>>2]|0; + $15 = $14 & 2; + $16 = ($15|0)==(0); + if (!($16)) { + $17 = (___pthread_mutex_lock((35908))|0); + $18 = ($17|0)==(0); + if (!($18)) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + $19 = ($0>>>0)<(245); + do { + if ($19) { + $20 = ($0>>>0)<(11); + $21 = (($0) + 11)|0; + $22 = $21 & -8; + $23 = $20 ? 16 : $22; + $24 = $23 >>> 3; + $25 = HEAP32[8865]|0; + $26 = $25 >>> $24; + $27 = $26 & 3; + $28 = ($27|0)==(0); + if (!($28)) { + $29 = $26 & 1; + $30 = $29 ^ 1; + $31 = (($30) + ($24))|0; + $32 = $31 << 1; + $33 = (35500 + ($32<<2)|0); + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($33|0)==($37|0); + do { + if ($38) { + $39 = 1 << $31; + $40 = $39 ^ -1; + $41 = $25 & $40; + HEAP32[8865] = $41; + } else { + $42 = HEAP32[(35476)>>2]|0; + $43 = ($37>>>0)<($42>>>0); + if ($43) { + _abort(); + // unreachable; + } + $44 = ((($37)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==($35|0); + if ($46) { + HEAP32[$44>>2] = $33; + HEAP32[$34>>2] = $37; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $47 = $31 << 3; + $48 = $47 | 3; + $49 = ((($35)) + 4|0); + HEAP32[$49>>2] = $48; + $50 = (($35) + ($47)|0); + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52 | 1; + HEAP32[$51>>2] = $53; + $$2 = $36; + break; + } + $54 = HEAP32[(35468)>>2]|0; + $55 = ($23>>>0)>($54>>>0); + if ($55) { + $56 = ($26|0)==(0); + if (!($56)) { + $57 = $26 << $24; + $58 = 2 << $24; + $59 = (0 - ($58))|0; + $60 = $58 | $59; + $61 = $57 & $60; + $62 = (0 - ($61))|0; + $63 = $61 & $62; + $64 = (($63) + -1)|0; + $65 = $64 >>> 12; + $66 = $65 & 16; + $67 = $64 >>> $66; + $68 = $67 >>> 5; + $69 = $68 & 8; + $70 = $69 | $66; + $71 = $67 >>> $69; + $72 = $71 >>> 2; + $73 = $72 & 4; + $74 = $70 | $73; + $75 = $71 >>> $73; + $76 = $75 >>> 1; + $77 = $76 & 2; + $78 = $74 | $77; + $79 = $75 >>> $77; + $80 = $79 >>> 1; + $81 = $80 & 1; + $82 = $78 | $81; + $83 = $79 >>> $81; + $84 = (($82) + ($83))|0; + $85 = $84 << 1; + $86 = (35500 + ($85<<2)|0); + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + $89 = ((($88)) + 8|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($86|0)==($90|0); + do { + if ($91) { + $92 = 1 << $84; + $93 = $92 ^ -1; + $94 = $25 & $93; + HEAP32[8865] = $94; + $115 = $94; + } else { + $95 = HEAP32[(35476)>>2]|0; + $96 = ($90>>>0)<($95>>>0); + if ($96) { + _abort(); + // unreachable; + } + $97 = ((($90)) + 12|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==($88|0); + if ($99) { + HEAP32[$97>>2] = $86; + HEAP32[$87>>2] = $90; + $115 = $25; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $100 = $84 << 3; + $101 = (($100) - ($23))|0; + $102 = $23 | 3; + $103 = ((($88)) + 4|0); + HEAP32[$103>>2] = $102; + $104 = (($88) + ($23)|0); + $105 = $101 | 1; + $106 = ((($104)) + 4|0); + HEAP32[$106>>2] = $105; + $107 = (($104) + ($101)|0); + HEAP32[$107>>2] = $101; + $108 = ($54|0)==(0); + if (!($108)) { + $109 = HEAP32[(35480)>>2]|0; + $110 = $54 >>> 3; + $111 = $110 << 1; + $112 = (35500 + ($111<<2)|0); + $113 = 1 << $110; + $114 = $115 & $113; + $116 = ($114|0)==(0); + if ($116) { + $117 = $115 | $113; + HEAP32[8865] = $117; + $$pre = ((($112)) + 8|0); + $$0200 = $112;$$pre$phiZ2D = $$pre; + } else { + $118 = ((($112)) + 8|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[(35476)>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { + _abort(); + // unreachable; + } else { + $$0200 = $119;$$pre$phiZ2D = $118; + } + } + HEAP32[$$pre$phiZ2D>>2] = $109; + $122 = ((($$0200)) + 12|0); + HEAP32[$122>>2] = $109; + $123 = ((($109)) + 8|0); + HEAP32[$123>>2] = $$0200; + $124 = ((($109)) + 12|0); + HEAP32[$124>>2] = $112; + } + HEAP32[(35468)>>2] = $101; + HEAP32[(35480)>>2] = $104; + $$2 = $89; + break; + } + $125 = HEAP32[(35464)>>2]|0; + $126 = ($125|0)==(0); + if ($126) { + $$0198 = $23; + label = 153; + } else { + $127 = (0 - ($125))|0; + $128 = $125 & $127; + $129 = (($128) + -1)|0; + $130 = $129 >>> 12; + $131 = $130 & 16; + $132 = $129 >>> $131; + $133 = $132 >>> 5; + $134 = $133 & 8; + $135 = $134 | $131; + $136 = $132 >>> $134; + $137 = $136 >>> 2; + $138 = $137 & 4; + $139 = $135 | $138; + $140 = $136 >>> $138; + $141 = $140 >>> 1; + $142 = $141 & 2; + $143 = $139 | $142; + $144 = $140 >>> $142; + $145 = $144 >>> 1; + $146 = $145 & 1; + $147 = $143 | $146; + $148 = $144 >>> $146; + $149 = (($147) + ($148))|0; + $150 = (35764 + ($149<<2)|0); + $151 = HEAP32[$150>>2]|0; + $152 = ((($151)) + 4|0); + $153 = HEAP32[$152>>2]|0; + $154 = $153 & -8; + $155 = (($154) - ($23))|0; + $156 = ((($151)) + 16|0); + $157 = HEAP32[$156>>2]|0; + $not$5$i = ($157|0)==(0|0); + $$sink16$i = $not$5$i&1; + $158 = (((($151)) + 16|0) + ($$sink16$i<<2)|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==(0|0); + if ($160) { + $$0192$lcssa$i = $151;$$0193$lcssa$i = $155; + } else { + $$01928$i = $151;$$01937$i = $155;$162 = $159; + while(1) { + $161 = ((($162)) + 4|0); + $163 = HEAP32[$161>>2]|0; + $164 = $163 & -8; + $165 = (($164) - ($23))|0; + $166 = ($165>>>0)<($$01937$i>>>0); + $$$0193$i = $166 ? $165 : $$01937$i; + $$$0192$i = $166 ? $162 : $$01928$i; + $167 = ((($162)) + 16|0); + $168 = HEAP32[$167>>2]|0; + $not$$i = ($168|0)==(0|0); + $$sink1$i = $not$$i&1; + $169 = (((($162)) + 16|0) + ($$sink1$i<<2)|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$162 = $170; + } + } + } + $172 = HEAP32[(35476)>>2]|0; + $173 = ($$0192$lcssa$i>>>0)<($172>>>0); + if ($173) { + _abort(); + // unreachable; + } + $174 = (($$0192$lcssa$i) + ($23)|0); + $175 = ($$0192$lcssa$i>>>0)<($174>>>0); + if (!($175)) { + _abort(); + // unreachable; + } + $176 = ((($$0192$lcssa$i)) + 24|0); + $177 = HEAP32[$176>>2]|0; + $178 = ((($$0192$lcssa$i)) + 12|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==($$0192$lcssa$i|0); + do { + if ($180) { + $190 = ((($$0192$lcssa$i)) + 20|0); + $191 = HEAP32[$190>>2]|0; + $192 = ($191|0)==(0|0); + if ($192) { + $193 = ((($$0192$lcssa$i)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $195 = ($194|0)==(0|0); + if ($195) { + $$3$i = 0; + break; + } else { + $$1196$i = $194;$$1198$i = $193; + } + } else { + $$1196$i = $191;$$1198$i = $190; + } + while(1) { + $196 = ((($$1196$i)) + 20|0); + $197 = HEAP32[$196>>2]|0; + $198 = ($197|0)==(0|0); + if (!($198)) { + $$1196$i = $197;$$1198$i = $196; + continue; + } + $199 = ((($$1196$i)) + 16|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($200|0)==(0|0); + if ($201) { + break; + } else { + $$1196$i = $200;$$1198$i = $199; + } + } + $202 = ($$1198$i>>>0)<($172>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $181 = ((($$0192$lcssa$i)) + 8|0); + $182 = HEAP32[$181>>2]|0; + $183 = ($182>>>0)<($172>>>0); + if ($183) { + _abort(); + // unreachable; + } + $184 = ((($182)) + 12|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($185|0)==($$0192$lcssa$i|0); + if (!($186)) { + _abort(); + // unreachable; + } + $187 = ((($179)) + 8|0); + $188 = HEAP32[$187>>2]|0; + $189 = ($188|0)==($$0192$lcssa$i|0); + if ($189) { + HEAP32[$184>>2] = $179; + HEAP32[$187>>2] = $182; + $$3$i = $179; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $203 = ($177|0)==(0|0); + L85: do { + if (!($203)) { + $204 = ((($$0192$lcssa$i)) + 28|0); + $205 = HEAP32[$204>>2]|0; + $206 = (35764 + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($$0192$lcssa$i|0)==($207|0); + do { + if ($208) { + HEAP32[$206>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $209 = 1 << $205; + $210 = $209 ^ -1; + $211 = $125 & $210; + HEAP32[(35464)>>2] = $211; + break L85; + } + } else { + $212 = HEAP32[(35476)>>2]|0; + $213 = ($177>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($177)) + 16|0); + $215 = HEAP32[$214>>2]|0; + $not$1$i = ($215|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $216 = (((($177)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$216>>2] = $$3$i; + $217 = ($$3$i|0)==(0|0); + if ($217) { + break L85; + } else { + break; + } + } + } + } while(0); + $218 = HEAP32[(35476)>>2]|0; + $219 = ($$3$i>>>0)<($218>>>0); + if ($219) { + _abort(); + // unreachable; + } + $220 = ((($$3$i)) + 24|0); + HEAP32[$220>>2] = $177; + $221 = ((($$0192$lcssa$i)) + 16|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + do { + if (!($223)) { + $224 = ($222>>>0)<($218>>>0); + if ($224) { + _abort(); + // unreachable; + } else { + $225 = ((($$3$i)) + 16|0); + HEAP32[$225>>2] = $222; + $226 = ((($222)) + 24|0); + HEAP32[$226>>2] = $$3$i; + break; + } + } + } while(0); + $227 = ((($$0192$lcssa$i)) + 20|0); + $228 = HEAP32[$227>>2]|0; + $229 = ($228|0)==(0|0); + if (!($229)) { + $230 = HEAP32[(35476)>>2]|0; + $231 = ($228>>>0)<($230>>>0); + if ($231) { + _abort(); + // unreachable; + } else { + $232 = ((($$3$i)) + 20|0); + HEAP32[$232>>2] = $228; + $233 = ((($228)) + 24|0); + HEAP32[$233>>2] = $$3$i; + break; + } + } + } + } while(0); + $234 = ($$0193$lcssa$i>>>0)<(16); + if ($234) { + $235 = (($$0193$lcssa$i) + ($23))|0; + $236 = $235 | 3; + $237 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$237>>2] = $236; + $238 = (($$0192$lcssa$i) + ($235)|0); + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = $240 | 1; + HEAP32[$239>>2] = $241; + } else { + $242 = $23 | 3; + $243 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$243>>2] = $242; + $244 = $$0193$lcssa$i | 1; + $245 = ((($174)) + 4|0); + HEAP32[$245>>2] = $244; + $246 = (($174) + ($$0193$lcssa$i)|0); + HEAP32[$246>>2] = $$0193$lcssa$i; + $247 = ($54|0)==(0); + if (!($247)) { + $248 = HEAP32[(35480)>>2]|0; + $249 = $54 >>> 3; + $250 = $249 << 1; + $251 = (35500 + ($250<<2)|0); + $252 = 1 << $249; + $253 = $25 & $252; + $254 = ($253|0)==(0); + if ($254) { + $255 = $25 | $252; + HEAP32[8865] = $255; + $$pre$i = ((($251)) + 8|0); + $$0189$i = $251;$$pre$phi$iZ2D = $$pre$i; + } else { + $256 = ((($251)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[(35476)>>2]|0; + $259 = ($257>>>0)<($258>>>0); + if ($259) { + _abort(); + // unreachable; + } else { + $$0189$i = $257;$$pre$phi$iZ2D = $256; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $248; + $260 = ((($$0189$i)) + 12|0); + HEAP32[$260>>2] = $248; + $261 = ((($248)) + 8|0); + HEAP32[$261>>2] = $$0189$i; + $262 = ((($248)) + 12|0); + HEAP32[$262>>2] = $251; + } + HEAP32[(35468)>>2] = $$0193$lcssa$i; + HEAP32[(35480)>>2] = $174; + } + $263 = ((($$0192$lcssa$i)) + 8|0); + $$2 = $263; + } + } else { + $$0198 = $23; + label = 153; + } + } else { + $264 = ($0>>>0)>(4294967231); + if ($264) { + $$0198 = -1; + label = 153; + } else { + $265 = (($0) + 11)|0; + $266 = $265 & -8; + $267 = HEAP32[(35464)>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$0198 = $266; + label = 153; + } else { + $269 = (0 - ($266))|0; + $270 = $265 >>> 8; + $271 = ($270|0)==(0); + if ($271) { + $$0358$i = 0; + } else { + $272 = ($266>>>0)>(16777215); + if ($272) { + $$0358$i = 31; + } else { + $273 = (($270) + 1048320)|0; + $274 = $273 >>> 16; + $275 = $274 & 8; + $276 = $270 << $275; + $277 = (($276) + 520192)|0; + $278 = $277 >>> 16; + $279 = $278 & 4; + $280 = $279 | $275; + $281 = $276 << $279; + $282 = (($281) + 245760)|0; + $283 = $282 >>> 16; + $284 = $283 & 2; + $285 = $280 | $284; + $286 = (14 - ($285))|0; + $287 = $281 << $284; + $288 = $287 >>> 15; + $289 = (($286) + ($288))|0; + $290 = $289 << 1; + $291 = (($289) + 7)|0; + $292 = $266 >>> $291; + $293 = $292 & 1; + $294 = $293 | $290; + $$0358$i = $294; + } + } + $295 = (35764 + ($$0358$i<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($296|0)==(0|0); + L128: do { + if ($297) { + $$2355$i = 0;$$3$i202 = 0;$$3350$i = $269; + label = 90; + } else { + $298 = ($$0358$i|0)==(31); + $299 = $$0358$i >>> 1; + $300 = (25 - ($299))|0; + $301 = $298 ? 0 : $300; + $302 = $266 << $301; + $$0342$i = 0;$$0347$i = $269;$$0353$i = $296;$$0359$i = $302;$$0362$i = 0; + while(1) { + $303 = ((($$0353$i)) + 4|0); + $304 = HEAP32[$303>>2]|0; + $305 = $304 & -8; + $306 = (($305) - ($266))|0; + $307 = ($306>>>0)<($$0347$i>>>0); + if ($307) { + $308 = ($306|0)==(0); + if ($308) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 94; + break L128; + } else { + $$1343$i = $$0353$i;$$1348$i = $306; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $309 = ((($$0353$i)) + 20|0); + $310 = HEAP32[$309>>2]|0; + $311 = $$0359$i >>> 31; + $312 = (((($$0353$i)) + 16|0) + ($311<<2)|0); + $313 = HEAP32[$312>>2]|0; + $314 = ($310|0)==(0|0); + $315 = ($310|0)==($313|0); + $or$cond2$i = $314 | $315; + $$1363$i = $or$cond2$i ? $$0362$i : $310; + $316 = ($313|0)==(0|0); + $not$8$i = $316 ^ 1; + $317 = $not$8$i&1; + $$0359$$i = $$0359$i << $317; + if ($316) { + $$2355$i = $$1363$i;$$3$i202 = $$1343$i;$$3350$i = $$1348$i; + label = 90; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $313;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 90) { + $318 = ($$2355$i|0)==(0|0); + $319 = ($$3$i202|0)==(0|0); + $or$cond$i = $318 & $319; + if ($or$cond$i) { + $320 = 2 << $$0358$i; + $321 = (0 - ($320))|0; + $322 = $320 | $321; + $323 = $267 & $322; + $324 = ($323|0)==(0); + if ($324) { + $$0198 = $266; + label = 153; + break; + } + $325 = (0 - ($323))|0; + $326 = $323 & $325; + $327 = (($326) + -1)|0; + $328 = $327 >>> 12; + $329 = $328 & 16; + $330 = $327 >>> $329; + $331 = $330 >>> 5; + $332 = $331 & 8; + $333 = $332 | $329; + $334 = $330 >>> $332; + $335 = $334 >>> 2; + $336 = $335 & 4; + $337 = $333 | $336; + $338 = $334 >>> $336; + $339 = $338 >>> 1; + $340 = $339 & 2; + $341 = $337 | $340; + $342 = $338 >>> $340; + $343 = $342 >>> 1; + $344 = $343 & 1; + $345 = $341 | $344; + $346 = $342 >>> $344; + $347 = (($345) + ($346))|0; + $348 = (35764 + ($347<<2)|0); + $349 = HEAP32[$348>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $349; + } else { + $$4$ph$i = $$3$i202;$$4357$ph$i = $$2355$i; + } + $350 = ($$4357$ph$i|0)==(0|0); + if ($350) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 94; + } + } + if ((label|0) == 94) { + while(1) { + label = 0; + $351 = ((($$435713$i)) + 4|0); + $352 = HEAP32[$351>>2]|0; + $353 = $352 & -8; + $354 = (($353) - ($266))|0; + $355 = ($354>>>0)<($$435114$i>>>0); + $$$4351$i = $355 ? $354 : $$435114$i; + $$4357$$4$i = $355 ? $$435713$i : $$415$i; + $356 = ((($$435713$i)) + 16|0); + $357 = HEAP32[$356>>2]|0; + $not$1$i204 = ($357|0)==(0|0); + $$sink2$i205 = $not$1$i204&1; + $358 = (((($$435713$i)) + 16|0) + ($$sink2$i205<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0|0); + if ($360) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $359; + label = 94; + } + } + } + $361 = ($$4$lcssa$i|0)==(0|0); + if ($361) { + $$0198 = $266; + label = 153; + } else { + $362 = HEAP32[(35468)>>2]|0; + $363 = (($362) - ($266))|0; + $364 = ($$4351$lcssa$i>>>0)<($363>>>0); + if ($364) { + $365 = HEAP32[(35476)>>2]|0; + $366 = ($$4$lcssa$i>>>0)<($365>>>0); + if ($366) { + _abort(); + // unreachable; + } + $367 = (($$4$lcssa$i) + ($266)|0); + $368 = ($$4$lcssa$i>>>0)<($367>>>0); + if (!($368)) { + _abort(); + // unreachable; + } + $369 = ((($$4$lcssa$i)) + 24|0); + $370 = HEAP32[$369>>2]|0; + $371 = ((($$4$lcssa$i)) + 12|0); + $372 = HEAP32[$371>>2]|0; + $373 = ($372|0)==($$4$lcssa$i|0); + do { + if ($373) { + $383 = ((($$4$lcssa$i)) + 20|0); + $384 = HEAP32[$383>>2]|0; + $385 = ($384|0)==(0|0); + if ($385) { + $386 = ((($$4$lcssa$i)) + 16|0); + $387 = HEAP32[$386>>2]|0; + $388 = ($387|0)==(0|0); + if ($388) { + $$3372$i = 0; + break; + } else { + $$1370$i = $387;$$1374$i = $386; + } + } else { + $$1370$i = $384;$$1374$i = $383; + } + while(1) { + $389 = ((($$1370$i)) + 20|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($390|0)==(0|0); + if (!($391)) { + $$1370$i = $390;$$1374$i = $389; + continue; + } + $392 = ((($$1370$i)) + 16|0); + $393 = HEAP32[$392>>2]|0; + $394 = ($393|0)==(0|0); + if ($394) { + break; + } else { + $$1370$i = $393;$$1374$i = $392; + } + } + $395 = ($$1374$i>>>0)<($365>>>0); + if ($395) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $374 = ((($$4$lcssa$i)) + 8|0); + $375 = HEAP32[$374>>2]|0; + $376 = ($375>>>0)<($365>>>0); + if ($376) { + _abort(); + // unreachable; + } + $377 = ((($375)) + 12|0); + $378 = HEAP32[$377>>2]|0; + $379 = ($378|0)==($$4$lcssa$i|0); + if (!($379)) { + _abort(); + // unreachable; + } + $380 = ((($372)) + 8|0); + $381 = HEAP32[$380>>2]|0; + $382 = ($381|0)==($$4$lcssa$i|0); + if ($382) { + HEAP32[$377>>2] = $372; + HEAP32[$380>>2] = $375; + $$3372$i = $372; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $396 = ($370|0)==(0|0); + L175: do { + if ($396) { + $487 = $267; + } else { + $397 = ((($$4$lcssa$i)) + 28|0); + $398 = HEAP32[$397>>2]|0; + $399 = (35764 + ($398<<2)|0); + $400 = HEAP32[$399>>2]|0; + $401 = ($$4$lcssa$i|0)==($400|0); + do { + if ($401) { + HEAP32[$399>>2] = $$3372$i; + $cond$i209 = ($$3372$i|0)==(0|0); + if ($cond$i209) { + $402 = 1 << $398; + $403 = $402 ^ -1; + $404 = $267 & $403; + HEAP32[(35464)>>2] = $404; + $487 = $404; + break L175; + } + } else { + $405 = HEAP32[(35476)>>2]|0; + $406 = ($370>>>0)<($405>>>0); + if ($406) { + _abort(); + // unreachable; + } else { + $407 = ((($370)) + 16|0); + $408 = HEAP32[$407>>2]|0; + $not$$i210 = ($408|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i210&1; + $409 = (((($370)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$409>>2] = $$3372$i; + $410 = ($$3372$i|0)==(0|0); + if ($410) { + $487 = $267; + break L175; + } else { + break; + } + } + } + } while(0); + $411 = HEAP32[(35476)>>2]|0; + $412 = ($$3372$i>>>0)<($411>>>0); + if ($412) { + _abort(); + // unreachable; + } + $413 = ((($$3372$i)) + 24|0); + HEAP32[$413>>2] = $370; + $414 = ((($$4$lcssa$i)) + 16|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($415|0)==(0|0); + do { + if (!($416)) { + $417 = ($415>>>0)<($411>>>0); + if ($417) { + _abort(); + // unreachable; + } else { + $418 = ((($$3372$i)) + 16|0); + HEAP32[$418>>2] = $415; + $419 = ((($415)) + 24|0); + HEAP32[$419>>2] = $$3372$i; + break; + } + } + } while(0); + $420 = ((($$4$lcssa$i)) + 20|0); + $421 = HEAP32[$420>>2]|0; + $422 = ($421|0)==(0|0); + if ($422) { + $487 = $267; + } else { + $423 = HEAP32[(35476)>>2]|0; + $424 = ($421>>>0)<($423>>>0); + if ($424) { + _abort(); + // unreachable; + } else { + $425 = ((($$3372$i)) + 20|0); + HEAP32[$425>>2] = $421; + $426 = ((($421)) + 24|0); + HEAP32[$426>>2] = $$3372$i; + $487 = $267; + break; + } + } + } + } while(0); + $427 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($427) { + $428 = (($$4351$lcssa$i) + ($266))|0; + $429 = $428 | 3; + $430 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$430>>2] = $429; + $431 = (($$4$lcssa$i) + ($428)|0); + $432 = ((($431)) + 4|0); + $433 = HEAP32[$432>>2]|0; + $434 = $433 | 1; + HEAP32[$432>>2] = $434; + } else { + $435 = $266 | 3; + $436 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$436>>2] = $435; + $437 = $$4351$lcssa$i | 1; + $438 = ((($367)) + 4|0); + HEAP32[$438>>2] = $437; + $439 = (($367) + ($$4351$lcssa$i)|0); + HEAP32[$439>>2] = $$4351$lcssa$i; + $440 = $$4351$lcssa$i >>> 3; + $441 = ($$4351$lcssa$i>>>0)<(256); + if ($441) { + $442 = $440 << 1; + $443 = (35500 + ($442<<2)|0); + $444 = HEAP32[8865]|0; + $445 = 1 << $440; + $446 = $444 & $445; + $447 = ($446|0)==(0); + do { + if ($447) { + $448 = $444 | $445; + HEAP32[8865] = $448; + $$pre$i211 = ((($443)) + 8|0); + $$0368$i = $443;$$pre$phi$i212Z2D = $$pre$i211; + } else { + $449 = ((($443)) + 8|0); + $450 = HEAP32[$449>>2]|0; + $451 = HEAP32[(35476)>>2]|0; + $452 = ($450>>>0)<($451>>>0); + if (!($452)) { + $$0368$i = $450;$$pre$phi$i212Z2D = $449; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i212Z2D>>2] = $367; + $453 = ((($$0368$i)) + 12|0); + HEAP32[$453>>2] = $367; + $454 = ((($367)) + 8|0); + HEAP32[$454>>2] = $$0368$i; + $455 = ((($367)) + 12|0); + HEAP32[$455>>2] = $443; + break; + } + $456 = $$4351$lcssa$i >>> 8; + $457 = ($456|0)==(0); + if ($457) { + $$0361$i = 0; + } else { + $458 = ($$4351$lcssa$i>>>0)>(16777215); + if ($458) { + $$0361$i = 31; + } else { + $459 = (($456) + 1048320)|0; + $460 = $459 >>> 16; + $461 = $460 & 8; + $462 = $456 << $461; + $463 = (($462) + 520192)|0; + $464 = $463 >>> 16; + $465 = $464 & 4; + $466 = $465 | $461; + $467 = $462 << $465; + $468 = (($467) + 245760)|0; + $469 = $468 >>> 16; + $470 = $469 & 2; + $471 = $466 | $470; + $472 = (14 - ($471))|0; + $473 = $467 << $470; + $474 = $473 >>> 15; + $475 = (($472) + ($474))|0; + $476 = $475 << 1; + $477 = (($475) + 7)|0; + $478 = $$4351$lcssa$i >>> $477; + $479 = $478 & 1; + $480 = $479 | $476; + $$0361$i = $480; + } + } + $481 = (35764 + ($$0361$i<<2)|0); + $482 = ((($367)) + 28|0); + HEAP32[$482>>2] = $$0361$i; + $483 = ((($367)) + 16|0); + $484 = ((($483)) + 4|0); + HEAP32[$484>>2] = 0; + HEAP32[$483>>2] = 0; + $485 = 1 << $$0361$i; + $486 = $487 & $485; + $488 = ($486|0)==(0); + if ($488) { + $489 = $487 | $485; + HEAP32[(35464)>>2] = $489; + HEAP32[$481>>2] = $367; + $490 = ((($367)) + 24|0); + HEAP32[$490>>2] = $481; + $491 = ((($367)) + 12|0); + HEAP32[$491>>2] = $367; + $492 = ((($367)) + 8|0); + HEAP32[$492>>2] = $367; + break; + } + $493 = HEAP32[$481>>2]|0; + $494 = ($$0361$i|0)==(31); + $495 = $$0361$i >>> 1; + $496 = (25 - ($495))|0; + $497 = $494 ? 0 : $496; + $498 = $$4351$lcssa$i << $497; + $$0344$i = $498;$$0345$i = $493; + while(1) { + $499 = ((($$0345$i)) + 4|0); + $500 = HEAP32[$499>>2]|0; + $501 = $500 & -8; + $502 = ($501|0)==($$4351$lcssa$i|0); + if ($502) { + label = 148; + break; + } + $503 = $$0344$i >>> 31; + $504 = (((($$0345$i)) + 16|0) + ($503<<2)|0); + $505 = $$0344$i << 1; + $506 = HEAP32[$504>>2]|0; + $507 = ($506|0)==(0|0); + if ($507) { + label = 145; + break; + } else { + $$0344$i = $505;$$0345$i = $506; + } + } + if ((label|0) == 145) { + $508 = HEAP32[(35476)>>2]|0; + $509 = ($504>>>0)<($508>>>0); + if ($509) { + _abort(); + // unreachable; + } else { + HEAP32[$504>>2] = $367; + $510 = ((($367)) + 24|0); + HEAP32[$510>>2] = $$0345$i; + $511 = ((($367)) + 12|0); + HEAP32[$511>>2] = $367; + $512 = ((($367)) + 8|0); + HEAP32[$512>>2] = $367; + break; + } + } + else if ((label|0) == 148) { + $513 = ((($$0345$i)) + 8|0); + $514 = HEAP32[$513>>2]|0; + $515 = HEAP32[(35476)>>2]|0; + $516 = ($514>>>0)>=($515>>>0); + $not$9$i = ($$0345$i>>>0)>=($515>>>0); + $517 = $516 & $not$9$i; + if ($517) { + $518 = ((($514)) + 12|0); + HEAP32[$518>>2] = $367; + HEAP32[$513>>2] = $367; + $519 = ((($367)) + 8|0); + HEAP32[$519>>2] = $514; + $520 = ((($367)) + 12|0); + HEAP32[$520>>2] = $$0345$i; + $521 = ((($367)) + 24|0); + HEAP32[$521>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $522 = ((($$4$lcssa$i)) + 8|0); + $$2 = $522; + } else { + $$0198 = $266; + label = 153; + } + } + } + } + } + } while(0); + L230: do { + if ((label|0) == 153) { + $523 = HEAP32[(35468)>>2]|0; + $524 = ($523>>>0)<($$0198>>>0); + if (!($524)) { + $525 = (($523) - ($$0198))|0; + $526 = HEAP32[(35480)>>2]|0; + $527 = ($525>>>0)>(15); + if ($527) { + $528 = (($526) + ($$0198)|0); + HEAP32[(35480)>>2] = $528; + HEAP32[(35468)>>2] = $525; + $529 = $525 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = (($528) + ($525)|0); + HEAP32[$531>>2] = $525; + $532 = $$0198 | 3; + $533 = ((($526)) + 4|0); + HEAP32[$533>>2] = $532; + } else { + HEAP32[(35468)>>2] = 0; + HEAP32[(35480)>>2] = 0; + $534 = $523 | 3; + $535 = ((($526)) + 4|0); + HEAP32[$535>>2] = $534; + $536 = (($526) + ($523)|0); + $537 = ((($536)) + 4|0); + $538 = HEAP32[$537>>2]|0; + $539 = $538 | 1; + HEAP32[$537>>2] = $539; + } + $540 = ((($526)) + 8|0); + $$2 = $540; + break; + } + $541 = HEAP32[(35472)>>2]|0; + $542 = ($541>>>0)>($$0198>>>0); + if ($542) { + $543 = (($541) - ($$0198))|0; + HEAP32[(35472)>>2] = $543; + $544 = HEAP32[(35484)>>2]|0; + $545 = (($544) + ($$0198)|0); + HEAP32[(35484)>>2] = $545; + $546 = $543 | 1; + $547 = ((($545)) + 4|0); + HEAP32[$547>>2] = $546; + $548 = $$0198 | 3; + $549 = ((($544)) + 4|0); + HEAP32[$549>>2] = $548; + $550 = ((($544)) + 8|0); + $$2 = $550; + break; + } + $551 = HEAP32[8852]|0; + $552 = ($551|0)==(0); + if ($552) { + (___pthread_mutex_lock(35432)|0); + $553 = HEAP32[8852]|0; + $554 = ($553|0)==(0); + if ($554) { + HEAP32[(35416)>>2] = 4096; + HEAP32[(35412)>>2] = 4096; + HEAP32[(35420)>>2] = -1; + HEAP32[(35424)>>2] = -1; + HEAP32[(35428)>>2] = 2; + HEAP32[(35904)>>2] = 2; + $555 = (_pthread_mutexattr_init($1)|0); + $556 = ($555|0)==(0); + if ($556) { + $557 = (_pthread_mutex_init((35908),$1)|0); + $558 = ($557|0)==(0); + if ($558) { + } + } + $559 = $2; + $560 = $559 & -16; + $561 = $560 ^ 1431655768; + HEAP32[$2>>2] = $561; + Atomics_store(HEAP32,8852,$561)|0; + } + (___pthread_mutex_unlock(35432)|0); + } + $562 = (($$0198) + 48)|0; + $563 = HEAP32[(35416)>>2]|0; + $564 = (($$0198) + 47)|0; + $565 = (($563) + ($564))|0; + $566 = (0 - ($563))|0; + $567 = $565 & $566; + $568 = ($567>>>0)>($$0198>>>0); + if ($568) { + $569 = HEAP32[(35900)>>2]|0; + $570 = ($569|0)==(0); + if (!($570)) { + $571 = HEAP32[(35892)>>2]|0; + $572 = (($571) + ($567))|0; + $573 = ($572>>>0)<=($571>>>0); + $574 = ($572>>>0)>($569>>>0); + $or$cond1$i = $573 | $574; + if ($or$cond1$i) { + $$2 = 0; + break; + } + } + $575 = HEAP32[(35904)>>2]|0; + $576 = $575 & 4; + $577 = ($576|0)==(0); + if ($577) { + $578 = HEAP32[(35484)>>2]|0; + $579 = ($578|0)==(0|0); + L258: do { + if ($579) { + label = 176; + } else { + $$0$i$i = (35936); + while(1) { + $580 = HEAP32[$$0$i$i>>2]|0; + $581 = ($580>>>0)>($578>>>0); + if (!($581)) { + $582 = ((($$0$i$i)) + 4|0); + $583 = HEAP32[$582>>2]|0; + $584 = (($580) + ($583)|0); + $585 = ($584>>>0)>($578>>>0); + if ($585) { + break; + } + } + $586 = ((($$0$i$i)) + 8|0); + $587 = HEAP32[$586>>2]|0; + $588 = ($587|0)==(0|0); + if ($588) { + label = 176; + break L258; + } else { + $$0$i$i = $587; + } + } + (___pthread_mutex_lock(35432)|0); + $611 = HEAP32[(35472)>>2]|0; + $612 = HEAP32[(35416)>>2]|0; + $613 = (($564) - ($611))|0; + $614 = (($613) + ($612))|0; + $615 = (0 - ($612))|0; + $616 = $614 & $615; + $617 = ($616>>>0)<(2147483647); + if ($617) { + $618 = (_sbrk(($616|0))|0); + $619 = HEAP32[$$0$i$i>>2]|0; + $620 = HEAP32[$582>>2]|0; + $621 = (($619) + ($620)|0); + $622 = ($618|0)==($621|0); + if ($622) { + $623 = ($618|0)==((-1)|0); + if ($623) { + $$2234253237$i = $616; + label = 190; + } else { + $$3229$i = $618;$$3235$i = $616; + } + } else { + $$2247$ph$i = $618;$$2253$ph$i = $616; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } + } + } while(0); + do { + if ((label|0) == 176) { + (___pthread_mutex_lock(35432)|0); + $589 = (_sbrk(0)|0); + $590 = ($589|0)==((-1)|0); + if ($590) { + $$2234253237$i = 0; + label = 190; + } else { + $591 = $589; + $592 = HEAP32[(35412)>>2]|0; + $593 = (($592) + -1)|0; + $594 = $593 & $591; + $595 = ($594|0)==(0); + $596 = (($593) + ($591))|0; + $597 = (0 - ($592))|0; + $598 = $596 & $597; + $599 = (($598) - ($591))|0; + $600 = $595 ? 0 : $599; + $$$i = (($600) + ($567))|0; + $601 = HEAP32[(35892)>>2]|0; + $602 = (($$$i) + ($601))|0; + $603 = ($$$i>>>0)>($$0198>>>0); + $604 = ($$$i>>>0)<(2147483647); + $or$cond$i213 = $603 & $604; + if ($or$cond$i213) { + $605 = HEAP32[(35900)>>2]|0; + $606 = ($605|0)==(0); + if (!($606)) { + $607 = ($602>>>0)<=($601>>>0); + $608 = ($602>>>0)>($605>>>0); + $or$cond2$i214 = $607 | $608; + if ($or$cond2$i214) { + $$2234253237$i = 0; + label = 190; + break; + } + } + $609 = (_sbrk(($$$i|0))|0); + $610 = ($609|0)==($589|0); + if ($610) { + $$3229$i = $589;$$3235$i = $$$i; + } else { + $$2247$ph$i = $609;$$2253$ph$i = $$$i; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } + } + } + } while(0); + do { + if ((label|0) == 184) { + $624 = (0 - ($$2253$ph$i))|0; + $625 = ($$2247$ph$i|0)!=((-1)|0); + $626 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $626 & $625; + $627 = ($562>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $627 & $or$cond7$i; + if (!($or$cond10$i)) { + $637 = ($$2247$ph$i|0)==((-1)|0); + if ($637) { + $$2234253237$i = 0; + label = 190; + break; + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; + break; + } + } + $628 = HEAP32[(35416)>>2]|0; + $629 = (($564) - ($$2253$ph$i))|0; + $630 = (($629) + ($628))|0; + $631 = (0 - ($628))|0; + $632 = $630 & $631; + $633 = ($632>>>0)<(2147483647); + if ($633) { + $634 = (_sbrk(($632|0))|0); + $635 = ($634|0)==((-1)|0); + if ($635) { + (_sbrk(($624|0))|0); + $$2234253237$i = 0; + label = 190; + break; + } else { + $636 = (($632) + ($$2253$ph$i))|0; + $$3229$i = $$2247$ph$i;$$3235$i = $636; + break; + } + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; + } + } + } while(0); + if ((label|0) == 190) { + $638 = HEAP32[(35904)>>2]|0; + $639 = $638 | 4; + HEAP32[(35904)>>2] = $639; + $$3229$i = (-1);$$3235$i = $$2234253237$i; + } + (___pthread_mutex_unlock(35432)|0); + $$4230$i = $$3229$i;$$4236$i = $$3235$i; + } else { + $$4230$i = (-1);$$4236$i = 0; + } + $640 = ($$4230$i|0)==((-1)|0); + $641 = ($567>>>0)<(2147483647); + $or$cond9$i = $641 & $640; + if ($or$cond9$i) { + (___pthread_mutex_lock(35432)|0); + $642 = (_sbrk(($567|0))|0); + $643 = (_sbrk(0)|0); + (___pthread_mutex_unlock(35432)|0); + $644 = ($642|0)!=((-1)|0); + $645 = ($643|0)!=((-1)|0); + $or$cond5$i = $644 & $645; + $646 = ($642>>>0)<($643>>>0); + $or$cond11$i = $646 & $or$cond5$i; + $647 = $643; + $648 = $642; + $649 = (($647) - ($648))|0; + $650 = (($$0198) + 40)|0; + $651 = ($649>>>0)>($650>>>0); + $$$4236$i = $651 ? $649 : $$4236$i; + $$$4230$i = $651 ? $642 : (-1); + if ($or$cond11$i) { + $$7$i = $$$4230$i;$$7239$i = $$$4236$i; + label = 194; + } + } else { + $$7$i = $$4230$i;$$7239$i = $$4236$i; + label = 194; + } + if ((label|0) == 194) { + $652 = ($$7$i|0)==((-1)|0); + if (!($652)) { + $653 = HEAP32[(35892)>>2]|0; + $654 = (($653) + ($$7239$i))|0; + HEAP32[(35892)>>2] = $654; + $655 = HEAP32[(35896)>>2]|0; + $656 = ($654>>>0)>($655>>>0); + if ($656) { + HEAP32[(35896)>>2] = $654; + } + $657 = HEAP32[(35484)>>2]|0; + $658 = ($657|0)==(0|0); + do { + if ($658) { + $659 = HEAP32[(35476)>>2]|0; + $660 = ($659|0)==(0|0); + $661 = ($$7$i>>>0)<($659>>>0); + $or$cond12$i = $660 | $661; + if ($or$cond12$i) { + HEAP32[(35476)>>2] = $$7$i; + } + HEAP32[(35936)>>2] = $$7$i; + HEAP32[(35940)>>2] = $$7239$i; + HEAP32[(35948)>>2] = 0; + $662 = HEAP32[8852]|0; + HEAP32[(35496)>>2] = $662; + HEAP32[(35492)>>2] = -1; + $$01$i$i = 0; + while(1) { + $663 = $$01$i$i << 1; + $664 = (35500 + ($663<<2)|0); + $665 = ((($664)) + 12|0); + HEAP32[$665>>2] = $664; + $666 = ((($664)) + 8|0); + HEAP32[$666>>2] = $664; + $667 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($667|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $667; + } + } + $668 = (($$7239$i) + -40)|0; + $669 = ((($$7$i)) + 8|0); + $670 = $669; + $671 = $670 & 7; + $672 = ($671|0)==(0); + $673 = (0 - ($670))|0; + $674 = $673 & 7; + $675 = $672 ? 0 : $674; + $676 = (($$7$i) + ($675)|0); + $677 = (($668) - ($675))|0; + HEAP32[(35484)>>2] = $676; + HEAP32[(35472)>>2] = $677; + $678 = $677 | 1; + $679 = ((($676)) + 4|0); + HEAP32[$679>>2] = $678; + $680 = (($676) + ($677)|0); + $681 = ((($680)) + 4|0); + HEAP32[$681>>2] = 40; + $682 = HEAP32[(35424)>>2]|0; + HEAP32[(35488)>>2] = $682; + } else { + $$024363$i = (35936); + while(1) { + $683 = HEAP32[$$024363$i>>2]|0; + $684 = ((($$024363$i)) + 4|0); + $685 = HEAP32[$684>>2]|0; + $686 = (($683) + ($685)|0); + $687 = ($$7$i|0)==($686|0); + if ($687) { + label = 205; + break; + } + $688 = ((($$024363$i)) + 8|0); + $689 = HEAP32[$688>>2]|0; + $690 = ($689|0)==(0|0); + if ($690) { + break; + } else { + $$024363$i = $689; + } + } + if ((label|0) == 205) { + $691 = ((($$024363$i)) + 12|0); + $692 = HEAP32[$691>>2]|0; + $693 = $692 & 8; + $694 = ($693|0)==(0); + if ($694) { + $695 = ($657>>>0)>=($683>>>0); + $696 = ($657>>>0)<($$7$i>>>0); + $or$cond43$i = $696 & $695; + if ($or$cond43$i) { + $697 = (($685) + ($$7239$i))|0; + HEAP32[$684>>2] = $697; + $698 = HEAP32[(35472)>>2]|0; + $699 = ((($657)) + 8|0); + $700 = $699; + $701 = $700 & 7; + $702 = ($701|0)==(0); + $703 = (0 - ($700))|0; + $704 = $703 & 7; + $705 = $702 ? 0 : $704; + $706 = (($657) + ($705)|0); + $707 = (($$7239$i) - ($705))|0; + $708 = (($698) + ($707))|0; + HEAP32[(35484)>>2] = $706; + HEAP32[(35472)>>2] = $708; + $709 = $708 | 1; + $710 = ((($706)) + 4|0); + HEAP32[$710>>2] = $709; + $711 = (($706) + ($708)|0); + $712 = ((($711)) + 4|0); + HEAP32[$712>>2] = 40; + $713 = HEAP32[(35424)>>2]|0; + HEAP32[(35488)>>2] = $713; + break; + } + } + } + $714 = HEAP32[(35476)>>2]|0; + $715 = ($$7$i>>>0)<($714>>>0); + if ($715) { + HEAP32[(35476)>>2] = $$7$i; + $779 = $$7$i; + } else { + $779 = $714; + } + $716 = (($$7$i) + ($$7239$i)|0); + $$124462$i = (35936); + while(1) { + $717 = HEAP32[$$124462$i>>2]|0; + $718 = ($717|0)==($716|0); + if ($718) { + label = 213; + break; + } + $719 = ((($$124462$i)) + 8|0); + $720 = HEAP32[$719>>2]|0; + $721 = ($720|0)==(0|0); + if ($721) { + break; + } else { + $$124462$i = $720; + } + } + if ((label|0) == 213) { + $722 = ((($$124462$i)) + 12|0); + $723 = HEAP32[$722>>2]|0; + $724 = $723 & 8; + $725 = ($724|0)==(0); + if ($725) { + HEAP32[$$124462$i>>2] = $$7$i; + $726 = ((($$124462$i)) + 4|0); + $727 = HEAP32[$726>>2]|0; + $728 = (($727) + ($$7239$i))|0; + HEAP32[$726>>2] = $728; + $729 = ((($$7$i)) + 8|0); + $730 = $729; + $731 = $730 & 7; + $732 = ($731|0)==(0); + $733 = (0 - ($730))|0; + $734 = $733 & 7; + $735 = $732 ? 0 : $734; + $736 = (($$7$i) + ($735)|0); + $737 = ((($716)) + 8|0); + $738 = $737; + $739 = $738 & 7; + $740 = ($739|0)==(0); + $741 = (0 - ($738))|0; + $742 = $741 & 7; + $743 = $740 ? 0 : $742; + $744 = (($716) + ($743)|0); + $745 = $744; + $746 = $736; + $747 = (($745) - ($746))|0; + $748 = (($736) + ($$0198)|0); + $749 = (($747) - ($$0198))|0; + $750 = $$0198 | 3; + $751 = ((($736)) + 4|0); + HEAP32[$751>>2] = $750; + $752 = ($744|0)==($657|0); + do { + if ($752) { + $753 = HEAP32[(35472)>>2]|0; + $754 = (($753) + ($749))|0; + HEAP32[(35472)>>2] = $754; + HEAP32[(35484)>>2] = $748; + $755 = $754 | 1; + $756 = ((($748)) + 4|0); + HEAP32[$756>>2] = $755; + } else { + $757 = HEAP32[(35480)>>2]|0; + $758 = ($744|0)==($757|0); + if ($758) { + $759 = HEAP32[(35468)>>2]|0; + $760 = (($759) + ($749))|0; + HEAP32[(35468)>>2] = $760; + HEAP32[(35480)>>2] = $748; + $761 = $760 | 1; + $762 = ((($748)) + 4|0); + HEAP32[$762>>2] = $761; + $763 = (($748) + ($760)|0); + HEAP32[$763>>2] = $760; + break; + } + $764 = ((($744)) + 4|0); + $765 = HEAP32[$764>>2]|0; + $766 = $765 & 3; + $767 = ($766|0)==(1); + if ($767) { + $768 = $765 & -8; + $769 = $765 >>> 3; + $770 = ($765>>>0)<(256); + L329: do { + if ($770) { + $771 = ((($744)) + 8|0); + $772 = HEAP32[$771>>2]|0; + $773 = ((($744)) + 12|0); + $774 = HEAP32[$773>>2]|0; + $775 = $769 << 1; + $776 = (35500 + ($775<<2)|0); + $777 = ($772|0)==($776|0); + do { + if (!($777)) { + $778 = ($772>>>0)<($779>>>0); + if ($778) { + _abort(); + // unreachable; + } + $780 = ((($772)) + 12|0); + $781 = HEAP32[$780>>2]|0; + $782 = ($781|0)==($744|0); + if ($782) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $783 = ($774|0)==($772|0); + if ($783) { + $784 = 1 << $769; + $785 = $784 ^ -1; + $786 = HEAP32[8865]|0; + $787 = $786 & $785; + HEAP32[8865] = $787; + break; + } + $788 = ($774|0)==($776|0); + do { + if ($788) { + $$pre10$i$i = ((($774)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $789 = ($774>>>0)<($779>>>0); + if ($789) { + _abort(); + // unreachable; + } + $790 = ((($774)) + 8|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==($744|0); + if ($792) { + $$pre$phi11$i$iZ2D = $790; + break; + } + _abort(); + // unreachable; + } + } while(0); + $793 = ((($772)) + 12|0); + HEAP32[$793>>2] = $774; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $772; + } else { + $794 = ((($744)) + 24|0); + $795 = HEAP32[$794>>2]|0; + $796 = ((($744)) + 12|0); + $797 = HEAP32[$796>>2]|0; + $798 = ($797|0)==($744|0); + do { + if ($798) { + $808 = ((($744)) + 16|0); + $809 = ((($808)) + 4|0); + $810 = HEAP32[$809>>2]|0; + $811 = ($810|0)==(0|0); + if ($811) { + $812 = HEAP32[$808>>2]|0; + $813 = ($812|0)==(0|0); + if ($813) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $812;$$1293$i$i = $808; + } + } else { + $$1291$i$i = $810;$$1293$i$i = $809; + } + while(1) { + $814 = ((($$1291$i$i)) + 20|0); + $815 = HEAP32[$814>>2]|0; + $816 = ($815|0)==(0|0); + if (!($816)) { + $$1291$i$i = $815;$$1293$i$i = $814; + continue; + } + $817 = ((($$1291$i$i)) + 16|0); + $818 = HEAP32[$817>>2]|0; + $819 = ($818|0)==(0|0); + if ($819) { + break; + } else { + $$1291$i$i = $818;$$1293$i$i = $817; + } + } + $820 = ($$1293$i$i>>>0)<($779>>>0); + if ($820) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $799 = ((($744)) + 8|0); + $800 = HEAP32[$799>>2]|0; + $801 = ($800>>>0)<($779>>>0); + if ($801) { + _abort(); + // unreachable; + } + $802 = ((($800)) + 12|0); + $803 = HEAP32[$802>>2]|0; + $804 = ($803|0)==($744|0); + if (!($804)) { + _abort(); + // unreachable; + } + $805 = ((($797)) + 8|0); + $806 = HEAP32[$805>>2]|0; + $807 = ($806|0)==($744|0); + if ($807) { + HEAP32[$802>>2] = $797; + HEAP32[$805>>2] = $800; + $$3$i$i = $797; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $821 = ($795|0)==(0|0); + if ($821) { + break; + } + $822 = ((($744)) + 28|0); + $823 = HEAP32[$822>>2]|0; + $824 = (35764 + ($823<<2)|0); + $825 = HEAP32[$824>>2]|0; + $826 = ($744|0)==($825|0); + do { + if ($826) { + HEAP32[$824>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $827 = 1 << $823; + $828 = $827 ^ -1; + $829 = HEAP32[(35464)>>2]|0; + $830 = $829 & $828; + HEAP32[(35464)>>2] = $830; + break L329; + } else { + $831 = HEAP32[(35476)>>2]|0; + $832 = ($795>>>0)<($831>>>0); + if ($832) { + _abort(); + // unreachable; + } else { + $833 = ((($795)) + 16|0); + $834 = HEAP32[$833>>2]|0; + $not$$i$i = ($834|0)!=($744|0); + $$sink1$i$i = $not$$i$i&1; + $835 = (((($795)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$835>>2] = $$3$i$i; + $836 = ($$3$i$i|0)==(0|0); + if ($836) { + break L329; + } else { + break; + } + } + } + } while(0); + $837 = HEAP32[(35476)>>2]|0; + $838 = ($$3$i$i>>>0)<($837>>>0); + if ($838) { + _abort(); + // unreachable; + } + $839 = ((($$3$i$i)) + 24|0); + HEAP32[$839>>2] = $795; + $840 = ((($744)) + 16|0); + $841 = HEAP32[$840>>2]|0; + $842 = ($841|0)==(0|0); + do { + if (!($842)) { + $843 = ($841>>>0)<($837>>>0); + if ($843) { + _abort(); + // unreachable; + } else { + $844 = ((($$3$i$i)) + 16|0); + HEAP32[$844>>2] = $841; + $845 = ((($841)) + 24|0); + HEAP32[$845>>2] = $$3$i$i; + break; + } + } + } while(0); + $846 = ((($840)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = ($847|0)==(0|0); + if ($848) { + break; + } + $849 = HEAP32[(35476)>>2]|0; + $850 = ($847>>>0)<($849>>>0); + if ($850) { + _abort(); + // unreachable; + } else { + $851 = ((($$3$i$i)) + 20|0); + HEAP32[$851>>2] = $847; + $852 = ((($847)) + 24|0); + HEAP32[$852>>2] = $$3$i$i; + break; + } + } + } while(0); + $853 = (($744) + ($768)|0); + $854 = (($768) + ($749))|0; + $$0$i17$i = $853;$$0287$i$i = $854; + } else { + $$0$i17$i = $744;$$0287$i$i = $749; + } + $855 = ((($$0$i17$i)) + 4|0); + $856 = HEAP32[$855>>2]|0; + $857 = $856 & -2; + HEAP32[$855>>2] = $857; + $858 = $$0287$i$i | 1; + $859 = ((($748)) + 4|0); + HEAP32[$859>>2] = $858; + $860 = (($748) + ($$0287$i$i)|0); + HEAP32[$860>>2] = $$0287$i$i; + $861 = $$0287$i$i >>> 3; + $862 = ($$0287$i$i>>>0)<(256); + if ($862) { + $863 = $861 << 1; + $864 = (35500 + ($863<<2)|0); + $865 = HEAP32[8865]|0; + $866 = 1 << $861; + $867 = $865 & $866; + $868 = ($867|0)==(0); + do { + if ($868) { + $869 = $865 | $866; + HEAP32[8865] = $869; + $$pre$i$i = ((($864)) + 8|0); + $$0295$i$i = $864;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $870 = ((($864)) + 8|0); + $871 = HEAP32[$870>>2]|0; + $872 = HEAP32[(35476)>>2]|0; + $873 = ($871>>>0)<($872>>>0); + if (!($873)) { + $$0295$i$i = $871;$$pre$phi$i$iZ2D = $870; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i$iZ2D>>2] = $748; + $874 = ((($$0295$i$i)) + 12|0); + HEAP32[$874>>2] = $748; + $875 = ((($748)) + 8|0); + HEAP32[$875>>2] = $$0295$i$i; + $876 = ((($748)) + 12|0); + HEAP32[$876>>2] = $864; + break; + } + $877 = $$0287$i$i >>> 8; + $878 = ($877|0)==(0); + do { + if ($878) { + $$0296$i$i = 0; + } else { + $879 = ($$0287$i$i>>>0)>(16777215); + if ($879) { + $$0296$i$i = 31; + break; + } + $880 = (($877) + 1048320)|0; + $881 = $880 >>> 16; + $882 = $881 & 8; + $883 = $877 << $882; + $884 = (($883) + 520192)|0; + $885 = $884 >>> 16; + $886 = $885 & 4; + $887 = $886 | $882; + $888 = $883 << $886; + $889 = (($888) + 245760)|0; + $890 = $889 >>> 16; + $891 = $890 & 2; + $892 = $887 | $891; + $893 = (14 - ($892))|0; + $894 = $888 << $891; + $895 = $894 >>> 15; + $896 = (($893) + ($895))|0; + $897 = $896 << 1; + $898 = (($896) + 7)|0; + $899 = $$0287$i$i >>> $898; + $900 = $899 & 1; + $901 = $900 | $897; + $$0296$i$i = $901; + } + } while(0); + $902 = (35764 + ($$0296$i$i<<2)|0); + $903 = ((($748)) + 28|0); + HEAP32[$903>>2] = $$0296$i$i; + $904 = ((($748)) + 16|0); + $905 = ((($904)) + 4|0); + HEAP32[$905>>2] = 0; + HEAP32[$904>>2] = 0; + $906 = HEAP32[(35464)>>2]|0; + $907 = 1 << $$0296$i$i; + $908 = $906 & $907; + $909 = ($908|0)==(0); + if ($909) { + $910 = $906 | $907; + HEAP32[(35464)>>2] = $910; + HEAP32[$902>>2] = $748; + $911 = ((($748)) + 24|0); + HEAP32[$911>>2] = $902; + $912 = ((($748)) + 12|0); + HEAP32[$912>>2] = $748; + $913 = ((($748)) + 8|0); + HEAP32[$913>>2] = $748; + break; + } + $914 = HEAP32[$902>>2]|0; + $915 = ($$0296$i$i|0)==(31); + $916 = $$0296$i$i >>> 1; + $917 = (25 - ($916))|0; + $918 = $915 ? 0 : $917; + $919 = $$0287$i$i << $918; + $$0288$i$i = $919;$$0289$i$i = $914; + while(1) { + $920 = ((($$0289$i$i)) + 4|0); + $921 = HEAP32[$920>>2]|0; + $922 = $921 & -8; + $923 = ($922|0)==($$0287$i$i|0); + if ($923) { + label = 280; + break; + } + $924 = $$0288$i$i >>> 31; + $925 = (((($$0289$i$i)) + 16|0) + ($924<<2)|0); + $926 = $$0288$i$i << 1; + $927 = HEAP32[$925>>2]|0; + $928 = ($927|0)==(0|0); + if ($928) { + label = 277; + break; + } else { + $$0288$i$i = $926;$$0289$i$i = $927; + } + } + if ((label|0) == 277) { + $929 = HEAP32[(35476)>>2]|0; + $930 = ($925>>>0)<($929>>>0); + if ($930) { + _abort(); + // unreachable; + } else { + HEAP32[$925>>2] = $748; + $931 = ((($748)) + 24|0); + HEAP32[$931>>2] = $$0289$i$i; + $932 = ((($748)) + 12|0); + HEAP32[$932>>2] = $748; + $933 = ((($748)) + 8|0); + HEAP32[$933>>2] = $748; + break; + } + } + else if ((label|0) == 280) { + $934 = ((($$0289$i$i)) + 8|0); + $935 = HEAP32[$934>>2]|0; + $936 = HEAP32[(35476)>>2]|0; + $937 = ($935>>>0)>=($936>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($936>>>0); + $938 = $937 & $not$7$i$i; + if ($938) { + $939 = ((($935)) + 12|0); + HEAP32[$939>>2] = $748; + HEAP32[$934>>2] = $748; + $940 = ((($748)) + 8|0); + HEAP32[$940>>2] = $935; + $941 = ((($748)) + 12|0); + HEAP32[$941>>2] = $$0289$i$i; + $942 = ((($748)) + 24|0); + HEAP32[$942>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1074 = ((($736)) + 8|0); + $$2 = $1074; + break L230; + } + } + $$0$i$i$i = (35936); + while(1) { + $943 = HEAP32[$$0$i$i$i>>2]|0; + $944 = ($943>>>0)>($657>>>0); + if (!($944)) { + $945 = ((($$0$i$i$i)) + 4|0); + $946 = HEAP32[$945>>2]|0; + $947 = (($943) + ($946)|0); + $948 = ($947>>>0)>($657>>>0); + if ($948) { + break; + } + } + $949 = ((($$0$i$i$i)) + 8|0); + $950 = HEAP32[$949>>2]|0; + $$0$i$i$i = $950; + } + $951 = ((($947)) + -47|0); + $952 = ((($951)) + 8|0); + $953 = $952; + $954 = $953 & 7; + $955 = ($954|0)==(0); + $956 = (0 - ($953))|0; + $957 = $956 & 7; + $958 = $955 ? 0 : $957; + $959 = (($951) + ($958)|0); + $960 = ((($657)) + 16|0); + $961 = ($959>>>0)<($960>>>0); + $962 = $961 ? $657 : $959; + $963 = ((($962)) + 8|0); + $964 = ((($962)) + 24|0); + $965 = (($$7239$i) + -40)|0; + $966 = ((($$7$i)) + 8|0); + $967 = $966; + $968 = $967 & 7; + $969 = ($968|0)==(0); + $970 = (0 - ($967))|0; + $971 = $970 & 7; + $972 = $969 ? 0 : $971; + $973 = (($$7$i) + ($972)|0); + $974 = (($965) - ($972))|0; + HEAP32[(35484)>>2] = $973; + HEAP32[(35472)>>2] = $974; + $975 = $974 | 1; + $976 = ((($973)) + 4|0); + HEAP32[$976>>2] = $975; + $977 = (($973) + ($974)|0); + $978 = ((($977)) + 4|0); + HEAP32[$978>>2] = 40; + $979 = HEAP32[(35424)>>2]|0; + HEAP32[(35488)>>2] = $979; + $980 = ((($962)) + 4|0); + HEAP32[$980>>2] = 27; + ;HEAP32[$963>>2]=HEAP32[(35936)>>2]|0;HEAP32[$963+4>>2]=HEAP32[(35936)+4>>2]|0;HEAP32[$963+8>>2]=HEAP32[(35936)+8>>2]|0;HEAP32[$963+12>>2]=HEAP32[(35936)+12>>2]|0; + HEAP32[(35936)>>2] = $$7$i; + HEAP32[(35940)>>2] = $$7239$i; + HEAP32[(35948)>>2] = 0; + HEAP32[(35944)>>2] = $963; + $982 = $964; + while(1) { + $981 = ((($982)) + 4|0); + HEAP32[$981>>2] = 7; + $983 = ((($982)) + 8|0); + $984 = ($983>>>0)<($947>>>0); + if ($984) { + $982 = $981; + } else { + break; + } + } + $985 = ($962|0)==($657|0); + if (!($985)) { + $986 = $962; + $987 = $657; + $988 = (($986) - ($987))|0; + $989 = HEAP32[$980>>2]|0; + $990 = $989 & -2; + HEAP32[$980>>2] = $990; + $991 = $988 | 1; + $992 = ((($657)) + 4|0); + HEAP32[$992>>2] = $991; + HEAP32[$962>>2] = $988; + $993 = $988 >>> 3; + $994 = ($988>>>0)<(256); + if ($994) { + $995 = $993 << 1; + $996 = (35500 + ($995<<2)|0); + $997 = HEAP32[8865]|0; + $998 = 1 << $993; + $999 = $997 & $998; + $1000 = ($999|0)==(0); + do { + if ($1000) { + $1001 = $997 | $998; + HEAP32[8865] = $1001; + $$pre$i18$i = ((($996)) + 8|0); + $$0211$i$i = $996;$$pre$phi$i19$iZ2D = $$pre$i18$i; + } else { + $1002 = ((($996)) + 8|0); + $1003 = HEAP32[$1002>>2]|0; + $1004 = HEAP32[(35476)>>2]|0; + $1005 = ($1003>>>0)<($1004>>>0); + if (!($1005)) { + $$0211$i$i = $1003;$$pre$phi$i19$iZ2D = $1002; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i19$iZ2D>>2] = $657; + $1006 = ((($$0211$i$i)) + 12|0); + HEAP32[$1006>>2] = $657; + $1007 = ((($657)) + 8|0); + HEAP32[$1007>>2] = $$0211$i$i; + $1008 = ((($657)) + 12|0); + HEAP32[$1008>>2] = $996; + break; + } + $1009 = $988 >>> 8; + $1010 = ($1009|0)==(0); + do { + if ($1010) { + $$0212$i$i = 0; + } else { + $1011 = ($988>>>0)>(16777215); + if ($1011) { + $$0212$i$i = 31; + break; + } + $1012 = (($1009) + 1048320)|0; + $1013 = $1012 >>> 16; + $1014 = $1013 & 8; + $1015 = $1009 << $1014; + $1016 = (($1015) + 520192)|0; + $1017 = $1016 >>> 16; + $1018 = $1017 & 4; + $1019 = $1018 | $1014; + $1020 = $1015 << $1018; + $1021 = (($1020) + 245760)|0; + $1022 = $1021 >>> 16; + $1023 = $1022 & 2; + $1024 = $1019 | $1023; + $1025 = (14 - ($1024))|0; + $1026 = $1020 << $1023; + $1027 = $1026 >>> 15; + $1028 = (($1025) + ($1027))|0; + $1029 = $1028 << 1; + $1030 = (($1028) + 7)|0; + $1031 = $988 >>> $1030; + $1032 = $1031 & 1; + $1033 = $1032 | $1029; + $$0212$i$i = $1033; + } + } while(0); + $1034 = (35764 + ($$0212$i$i<<2)|0); + $1035 = ((($657)) + 28|0); + HEAP32[$1035>>2] = $$0212$i$i; + $1036 = ((($657)) + 20|0); + HEAP32[$1036>>2] = 0; + HEAP32[$960>>2] = 0; + $1037 = HEAP32[(35464)>>2]|0; + $1038 = 1 << $$0212$i$i; + $1039 = $1037 & $1038; + $1040 = ($1039|0)==(0); + if ($1040) { + $1041 = $1037 | $1038; + HEAP32[(35464)>>2] = $1041; + HEAP32[$1034>>2] = $657; + $1042 = ((($657)) + 24|0); + HEAP32[$1042>>2] = $1034; + $1043 = ((($657)) + 12|0); + HEAP32[$1043>>2] = $657; + $1044 = ((($657)) + 8|0); + HEAP32[$1044>>2] = $657; + break; + } + $1045 = HEAP32[$1034>>2]|0; + $1046 = ($$0212$i$i|0)==(31); + $1047 = $$0212$i$i >>> 1; + $1048 = (25 - ($1047))|0; + $1049 = $1046 ? 0 : $1048; + $1050 = $988 << $1049; + $$0206$i$i = $1050;$$0207$i$i = $1045; + while(1) { + $1051 = ((($$0207$i$i)) + 4|0); + $1052 = HEAP32[$1051>>2]|0; + $1053 = $1052 & -8; + $1054 = ($1053|0)==($988|0); + if ($1054) { + label = 307; + break; + } + $1055 = $$0206$i$i >>> 31; + $1056 = (((($$0207$i$i)) + 16|0) + ($1055<<2)|0); + $1057 = $$0206$i$i << 1; + $1058 = HEAP32[$1056>>2]|0; + $1059 = ($1058|0)==(0|0); + if ($1059) { + label = 304; + break; + } else { + $$0206$i$i = $1057;$$0207$i$i = $1058; + } + } + if ((label|0) == 304) { + $1060 = HEAP32[(35476)>>2]|0; + $1061 = ($1056>>>0)<($1060>>>0); + if ($1061) { + _abort(); + // unreachable; + } else { + HEAP32[$1056>>2] = $657; + $1062 = ((($657)) + 24|0); + HEAP32[$1062>>2] = $$0207$i$i; + $1063 = ((($657)) + 12|0); + HEAP32[$1063>>2] = $657; + $1064 = ((($657)) + 8|0); + HEAP32[$1064>>2] = $657; + break; + } + } + else if ((label|0) == 307) { + $1065 = ((($$0207$i$i)) + 8|0); + $1066 = HEAP32[$1065>>2]|0; + $1067 = HEAP32[(35476)>>2]|0; + $1068 = ($1066>>>0)>=($1067>>>0); + $not$$i21$i = ($$0207$i$i>>>0)>=($1067>>>0); + $1069 = $1068 & $not$$i21$i; + if ($1069) { + $1070 = ((($1066)) + 12|0); + HEAP32[$1070>>2] = $657; + HEAP32[$1065>>2] = $657; + $1071 = ((($657)) + 8|0); + HEAP32[$1071>>2] = $1066; + $1072 = ((($657)) + 12|0); + HEAP32[$1072>>2] = $$0207$i$i; + $1073 = ((($657)) + 24|0); + HEAP32[$1073>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1075 = HEAP32[(35472)>>2]|0; + $1076 = ($1075>>>0)>($$0198>>>0); + if ($1076) { + $1077 = (($1075) - ($$0198))|0; + HEAP32[(35472)>>2] = $1077; + $1078 = HEAP32[(35484)>>2]|0; + $1079 = (($1078) + ($$0198)|0); + HEAP32[(35484)>>2] = $1079; + $1080 = $1077 | 1; + $1081 = ((($1079)) + 4|0); + HEAP32[$1081>>2] = $1080; + $1082 = $$0198 | 3; + $1083 = ((($1078)) + 4|0); + HEAP32[$1083>>2] = $1082; + $1084 = ((($1078)) + 8|0); + $$2 = $1084; + break; + } + } + } + $1085 = (___errno_location()|0); + HEAP32[$1085>>2] = 12; + $$2 = 0; + } else { + $$2 = 0; + } + } + } while(0); + $1086 = HEAP32[(35904)>>2]|0; + $1087 = $1086 & 2; + $1088 = ($1087|0)==(0); + if ($1088) { + $$1 = $$2; + STACKTOP = sp;return ($$1|0); + } + (___pthread_mutex_unlock((35908))|0); + $$1 = $$2; + STACKTOP = sp;return ($$1|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $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; + var $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, $310 = 0, $311 = 0; + var $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, $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, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(35904)>>2]|0; + $4 = $3 & 2; + $5 = ($4|0)==(0); + if (!($5)) { + $6 = (___pthread_mutex_lock((35908))|0); + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + $8 = HEAP32[(35476)>>2]|0; + $9 = ($2>>>0)<($8>>>0); + if ($9) { + _abort(); + // unreachable; + } + $10 = ((($0)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(1); + if ($13) { + _abort(); + // unreachable; + } + $14 = $11 & -8; + $15 = (($2) + ($14)|0); + $16 = $11 & 1; + $17 = ($16|0)==(0); + L14: do { + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = ($12|0)==(0); + if (!($19)) { + $20 = (0 - ($18))|0; + $21 = (($2) + ($20)|0); + $22 = (($18) + ($14))|0; + $23 = ($21>>>0)<($8>>>0); + if ($23) { + _abort(); + // unreachable; + } + $24 = HEAP32[(35480)>>2]|0; + $25 = ($21|0)==($24|0); + if ($25) { + $109 = ((($15)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = $110 & 3; + $112 = ($111|0)==(3); + if (!($112)) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $113 = (($21) + ($22)|0); + $114 = ((($21)) + 4|0); + $115 = $22 | 1; + $116 = $110 & -2; + HEAP32[(35468)>>2] = $22; + HEAP32[$109>>2] = $116; + HEAP32[$114>>2] = $115; + HEAP32[$113>>2] = $22; + break; + } + $26 = $18 >>> 3; + $27 = ($18>>>0)<(256); + if ($27) { + $28 = ((($21)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($21)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = $26 << 1; + $33 = (35500 + ($32<<2)|0); + $34 = ($29|0)==($33|0); + if (!($34)) { + $35 = ($29>>>0)<($8>>>0); + if ($35) { + _abort(); + // unreachable; + } + $36 = ((($29)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==($21|0); + if (!($38)) { + _abort(); + // unreachable; + } + } + $39 = ($31|0)==($29|0); + if ($39) { + $40 = 1 << $26; + $41 = $40 ^ -1; + $42 = HEAP32[8865]|0; + $43 = $42 & $41; + HEAP32[8865] = $43; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $44 = ($31|0)==($33|0); + if ($44) { + $$pre444 = ((($31)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $45 = ($31>>>0)<($8>>>0); + if ($45) { + _abort(); + // unreachable; + } + $46 = ((($31)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==($21|0); + if ($48) { + $$pre$phi445Z2D = $46; + } else { + _abort(); + // unreachable; + } + } + $49 = ((($29)) + 12|0); + HEAP32[$49>>2] = $31; + HEAP32[$$pre$phi445Z2D>>2] = $29; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $50 = ((($21)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = ((($21)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($21|0); + do { + if ($54) { + $64 = ((($21)) + 16|0); + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if ($67) { + $68 = HEAP32[$64>>2]|0; + $69 = ($68|0)==(0|0); + if ($69) { + $$3 = 0; + break; + } else { + $$1387 = $68;$$1390 = $64; + } + } else { + $$1387 = $66;$$1390 = $65; + } + while(1) { + $70 = ((($$1387)) + 20|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(0|0); + if (!($72)) { + $$1387 = $71;$$1390 = $70; + continue; + } + $73 = ((($$1387)) + 16|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)==(0|0); + if ($75) { + break; + } else { + $$1387 = $74;$$1390 = $73; + } + } + $76 = ($$1390>>>0)<($8>>>0); + if ($76) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $55 = ((($21)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56>>>0)<($8>>>0); + if ($57) { + _abort(); + // unreachable; + } + $58 = ((($56)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)==($21|0); + if (!($60)) { + _abort(); + // unreachable; + } + $61 = ((($53)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==($21|0); + if ($63) { + HEAP32[$58>>2] = $53; + HEAP32[$61>>2] = $56; + $$3 = $53; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $77 = ($51|0)==(0|0); + if ($77) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $78 = ((($21)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = (35764 + ($79<<2)|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($21|0)==($81|0); + do { + if ($82) { + HEAP32[$80>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $83 = 1 << $79; + $84 = $83 ^ -1; + $85 = HEAP32[(35464)>>2]|0; + $86 = $85 & $84; + HEAP32[(35464)>>2] = $86; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; + } + } else { + $87 = HEAP32[(35476)>>2]|0; + $88 = ($51>>>0)<($87>>>0); + if ($88) { + _abort(); + // unreachable; + } else { + $89 = ((($51)) + 16|0); + $90 = HEAP32[$89>>2]|0; + $not$405 = ($90|0)!=($21|0); + $$sink3 = $not$405&1; + $91 = (((($51)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$91>>2] = $$3; + $92 = ($$3|0)==(0|0); + if ($92) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; + } else { + break; + } + } + } + } while(0); + $93 = HEAP32[(35476)>>2]|0; + $94 = ($$3>>>0)<($93>>>0); + if ($94) { + _abort(); + // unreachable; + } + $95 = ((($$3)) + 24|0); + HEAP32[$95>>2] = $51; + $96 = ((($21)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==(0|0); + do { + if (!($98)) { + $99 = ($97>>>0)<($93>>>0); + if ($99) { + _abort(); + // unreachable; + } else { + $100 = ((($$3)) + 16|0); + HEAP32[$100>>2] = $97; + $101 = ((($97)) + 24|0); + HEAP32[$101>>2] = $$3; + break; + } + } + } while(0); + $102 = ((($96)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $105 = HEAP32[(35476)>>2]|0; + $106 = ($103>>>0)<($105>>>0); + if ($106) { + _abort(); + // unreachable; + } else { + $107 = ((($$3)) + 20|0); + HEAP32[$107>>2] = $103; + $108 = ((($103)) + 24|0); + HEAP32[$108>>2] = $$3; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + } + } + } + } else { + $$1 = $2;$$1382 = $14;$118 = $2; + label = 55; + } + } while(0); + do { + if ((label|0) == 55) { + $117 = ($118>>>0)<($15>>>0); + if (!($117)) { + _abort(); + // unreachable; + } + $119 = ((($15)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = $120 & 1; + $122 = ($121|0)==(0); + if ($122) { + _abort(); + // unreachable; + } + $123 = $120 & 2; + $124 = ($123|0)==(0); + if ($124) { + $125 = HEAP32[(35484)>>2]|0; + $126 = ($15|0)==($125|0); + $127 = HEAP32[(35480)>>2]|0; + if ($126) { + $128 = HEAP32[(35472)>>2]|0; + $129 = (($128) + ($$1382))|0; + HEAP32[(35472)>>2] = $129; + HEAP32[(35484)>>2] = $$1; + $130 = $129 | 1; + $131 = ((($$1)) + 4|0); + HEAP32[$131>>2] = $130; + $132 = ($$1|0)==($127|0); + if (!($132)) { + break; + } + HEAP32[(35480)>>2] = 0; + HEAP32[(35468)>>2] = 0; + break; + } + $133 = ($15|0)==($127|0); + if ($133) { + $134 = HEAP32[(35468)>>2]|0; + $135 = (($134) + ($$1382))|0; + HEAP32[(35468)>>2] = $135; + HEAP32[(35480)>>2] = $118; + $136 = $135 | 1; + $137 = ((($$1)) + 4|0); + HEAP32[$137>>2] = $136; + $138 = (($118) + ($135)|0); + HEAP32[$138>>2] = $135; + break; + } + $139 = $120 & -8; + $140 = (($139) + ($$1382))|0; + $141 = $120 >>> 3; + $142 = ($120>>>0)<(256); + L106: do { + if ($142) { + $143 = ((($15)) + 8|0); + $144 = HEAP32[$143>>2]|0; + $145 = ((($15)) + 12|0); + $146 = HEAP32[$145>>2]|0; + $147 = $141 << 1; + $148 = (35500 + ($147<<2)|0); + $149 = ($144|0)==($148|0); + if (!($149)) { + $150 = HEAP32[(35476)>>2]|0; + $151 = ($144>>>0)<($150>>>0); + if ($151) { + _abort(); + // unreachable; + } + $152 = ((($144)) + 12|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==($15|0); + if (!($154)) { + _abort(); + // unreachable; + } + } + $155 = ($146|0)==($144|0); + if ($155) { + $156 = 1 << $141; + $157 = $156 ^ -1; + $158 = HEAP32[8865]|0; + $159 = $158 & $157; + HEAP32[8865] = $159; + break; + } + $160 = ($146|0)==($148|0); + if ($160) { + $$pre442 = ((($146)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $161 = HEAP32[(35476)>>2]|0; + $162 = ($146>>>0)<($161>>>0); + if ($162) { + _abort(); + // unreachable; + } + $163 = ((($146)) + 8|0); + $164 = HEAP32[$163>>2]|0; + $165 = ($164|0)==($15|0); + if ($165) { + $$pre$phi443Z2D = $163; + } else { + _abort(); + // unreachable; + } + } + $166 = ((($144)) + 12|0); + HEAP32[$166>>2] = $146; + HEAP32[$$pre$phi443Z2D>>2] = $144; + } else { + $167 = ((($15)) + 24|0); + $168 = HEAP32[$167>>2]|0; + $169 = ((($15)) + 12|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==($15|0); + do { + if ($171) { + $182 = ((($15)) + 16|0); + $183 = ((($182)) + 4|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if ($185) { + $186 = HEAP32[$182>>2]|0; + $187 = ($186|0)==(0|0); + if ($187) { + $$3400 = 0; + break; + } else { + $$1398 = $186;$$1402 = $182; + } + } else { + $$1398 = $184;$$1402 = $183; + } + while(1) { + $188 = ((($$1398)) + 20|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($189|0)==(0|0); + if (!($190)) { + $$1398 = $189;$$1402 = $188; + continue; + } + $191 = ((($$1398)) + 16|0); + $192 = HEAP32[$191>>2]|0; + $193 = ($192|0)==(0|0); + if ($193) { + break; + } else { + $$1398 = $192;$$1402 = $191; + } + } + $194 = HEAP32[(35476)>>2]|0; + $195 = ($$1402>>>0)<($194>>>0); + if ($195) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $172 = ((($15)) + 8|0); + $173 = HEAP32[$172>>2]|0; + $174 = HEAP32[(35476)>>2]|0; + $175 = ($173>>>0)<($174>>>0); + if ($175) { + _abort(); + // unreachable; + } + $176 = ((($173)) + 12|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==($15|0); + if (!($178)) { + _abort(); + // unreachable; + } + $179 = ((($170)) + 8|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==($15|0); + if ($181) { + HEAP32[$176>>2] = $170; + HEAP32[$179>>2] = $173; + $$3400 = $170; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $196 = ($168|0)==(0|0); + if (!($196)) { + $197 = ((($15)) + 28|0); + $198 = HEAP32[$197>>2]|0; + $199 = (35764 + ($198<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($15|0)==($200|0); + do { + if ($201) { + HEAP32[$199>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $202 = 1 << $198; + $203 = $202 ^ -1; + $204 = HEAP32[(35464)>>2]|0; + $205 = $204 & $203; + HEAP32[(35464)>>2] = $205; + break L106; + } + } else { + $206 = HEAP32[(35476)>>2]|0; + $207 = ($168>>>0)<($206>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($168)) + 16|0); + $209 = HEAP32[$208>>2]|0; + $not$ = ($209|0)!=($15|0); + $$sink5 = $not$&1; + $210 = (((($168)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$210>>2] = $$3400; + $211 = ($$3400|0)==(0|0); + if ($211) { + break L106; + } else { + break; + } + } + } + } while(0); + $212 = HEAP32[(35476)>>2]|0; + $213 = ($$3400>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } + $214 = ((($$3400)) + 24|0); + HEAP32[$214>>2] = $168; + $215 = ((($15)) + 16|0); + $216 = HEAP32[$215>>2]|0; + $217 = ($216|0)==(0|0); + do { + if (!($217)) { + $218 = ($216>>>0)<($212>>>0); + if ($218) { + _abort(); + // unreachable; + } else { + $219 = ((($$3400)) + 16|0); + HEAP32[$219>>2] = $216; + $220 = ((($216)) + 24|0); + HEAP32[$220>>2] = $$3400; + break; + } + } + } while(0); + $221 = ((($215)) + 4|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + if (!($223)) { + $224 = HEAP32[(35476)>>2]|0; + $225 = ($222>>>0)<($224>>>0); + if ($225) { + _abort(); + // unreachable; + } else { + $226 = ((($$3400)) + 20|0); + HEAP32[$226>>2] = $222; + $227 = ((($222)) + 24|0); + HEAP32[$227>>2] = $$3400; + break; + } + } + } + } + } while(0); + $228 = $140 | 1; + $229 = ((($$1)) + 4|0); + HEAP32[$229>>2] = $228; + $230 = (($118) + ($140)|0); + HEAP32[$230>>2] = $140; + $231 = HEAP32[(35480)>>2]|0; + $232 = ($$1|0)==($231|0); + if ($232) { + HEAP32[(35468)>>2] = $140; + break; + } else { + $$2 = $140; + } + } else { + $233 = $120 & -2; + HEAP32[$119>>2] = $233; + $234 = $$1382 | 1; + $235 = ((($$1)) + 4|0); + HEAP32[$235>>2] = $234; + $236 = (($118) + ($$1382)|0); + HEAP32[$236>>2] = $$1382; + $$2 = $$1382; + } + $237 = $$2 >>> 3; + $238 = ($$2>>>0)<(256); + if ($238) { + $239 = $237 << 1; + $240 = (35500 + ($239<<2)|0); + $241 = HEAP32[8865]|0; + $242 = 1 << $237; + $243 = $241 & $242; + $244 = ($243|0)==(0); + if ($244) { + $245 = $241 | $242; + HEAP32[8865] = $245; + $$pre = ((($240)) + 8|0); + $$0403 = $240;$$pre$phiZ2D = $$pre; + } else { + $246 = ((($240)) + 8|0); + $247 = HEAP32[$246>>2]|0; + $248 = HEAP32[(35476)>>2]|0; + $249 = ($247>>>0)<($248>>>0); + if ($249) { + _abort(); + // unreachable; + } else { + $$0403 = $247;$$pre$phiZ2D = $246; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $250 = ((($$0403)) + 12|0); + HEAP32[$250>>2] = $$1; + $251 = ((($$1)) + 8|0); + HEAP32[$251>>2] = $$0403; + $252 = ((($$1)) + 12|0); + HEAP32[$252>>2] = $240; + break; + } + $253 = $$2 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0396 = 0; + } else { + $255 = ($$2>>>0)>(16777215); + if ($255) { + $$0396 = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $$2 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0396 = $277; + } + } + $278 = (35764 + ($$0396<<2)|0); + $279 = ((($$1)) + 28|0); + HEAP32[$279>>2] = $$0396; + $280 = ((($$1)) + 16|0); + $281 = ((($$1)) + 20|0); + HEAP32[$281>>2] = 0; + HEAP32[$280>>2] = 0; + $282 = HEAP32[(35464)>>2]|0; + $283 = 1 << $$0396; + $284 = $282 & $283; + $285 = ($284|0)==(0); + do { + if ($285) { + $286 = $282 | $283; + HEAP32[(35464)>>2] = $286; + HEAP32[$278>>2] = $$1; + $287 = ((($$1)) + 24|0); + HEAP32[$287>>2] = $278; + $288 = ((($$1)) + 12|0); + HEAP32[$288>>2] = $$1; + $289 = ((($$1)) + 8|0); + HEAP32[$289>>2] = $$1; + } else { + $290 = HEAP32[$278>>2]|0; + $291 = ($$0396|0)==(31); + $292 = $$0396 >>> 1; + $293 = (25 - ($292))|0; + $294 = $291 ? 0 : $293; + $295 = $$2 << $294; + $$0383 = $295;$$0384 = $290; + while(1) { + $296 = ((($$0384)) + 4|0); + $297 = HEAP32[$296>>2]|0; + $298 = $297 & -8; + $299 = ($298|0)==($$2|0); + if ($299) { + label = 126; + break; + } + $300 = $$0383 >>> 31; + $301 = (((($$0384)) + 16|0) + ($300<<2)|0); + $302 = $$0383 << 1; + $303 = HEAP32[$301>>2]|0; + $304 = ($303|0)==(0|0); + if ($304) { + label = 123; + break; + } else { + $$0383 = $302;$$0384 = $303; + } + } + if ((label|0) == 123) { + $305 = HEAP32[(35476)>>2]|0; + $306 = ($301>>>0)<($305>>>0); + if ($306) { + _abort(); + // unreachable; + } else { + HEAP32[$301>>2] = $$1; + $307 = ((($$1)) + 24|0); + HEAP32[$307>>2] = $$0384; + $308 = ((($$1)) + 12|0); + HEAP32[$308>>2] = $$1; + $309 = ((($$1)) + 8|0); + HEAP32[$309>>2] = $$1; + break; + } + } + else if ((label|0) == 126) { + $310 = ((($$0384)) + 8|0); + $311 = HEAP32[$310>>2]|0; + $312 = HEAP32[(35476)>>2]|0; + $313 = ($311>>>0)>=($312>>>0); + $not$437 = ($$0384>>>0)>=($312>>>0); + $314 = $313 & $not$437; + if ($314) { + $315 = ((($311)) + 12|0); + HEAP32[$315>>2] = $$1; + HEAP32[$310>>2] = $$1; + $316 = ((($$1)) + 8|0); + HEAP32[$316>>2] = $311; + $317 = ((($$1)) + 12|0); + HEAP32[$317>>2] = $$0384; + $318 = ((($$1)) + 24|0); + HEAP32[$318>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $319 = HEAP32[(35492)>>2]|0; + $320 = (($319) + -1)|0; + HEAP32[(35492)>>2] = $320; + $321 = ($320|0)==(0); + if ($321) { + $$0212$in$i = (35944); + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $322 = ($$0212$i|0)==(0|0); + $323 = ((($$0212$i)) + 8|0); + if ($322) { + break; + } else { + $$0212$in$i = $323; + } + } + HEAP32[(35492)>>2] = -1; + } + } + } while(0); + $324 = HEAP32[(35904)>>2]|0; + $325 = $324 & 2; + $326 = ($325|0)==(0); + if ($326) { + return; + } + (___pthread_mutex_unlock((35908))|0); + return; +} +function runPostSets() { +} +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 _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 _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 ___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 _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 _llvm_cttz_i32(x) { + x = x|0; + var ret = 0; + ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); + if ((ret|0) < 8) return ret|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 8)|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 16)|0; + return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +function _emscripten_set_current_thread_status(newStatus) { + newStatus = newStatus|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 _emscripten_conditional_set_current_thread_status(expectedStatus, newStatus) { + expectedStatus = expectedStatus|0; + newStatus = newStatus|0; +} +function _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|0; + totalMemory = getTotalMemory()|0; + + // Perform a compare-and-swap loop to update the new dynamic top value. This is because + // this function can becalled simultaneously in multiple threads. + do { + oldDynamicTop = Atomics_load(HEAP32, DYNAMICTOP_PTR>>2)|0; + newDynamicTop = oldDynamicTop + increment | 0; + // Asking to increase dynamic top to a too high value? In pthreads builds we cannot + // enlarge memory, so this needs to fail. + 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. + | (newDynamicTop|0) > (totalMemory|0)) { + abortOnCannotGrowMemory()|0; + } + // Attempt to update the dynamic top to new value. Another thread may have beat this thread to the update, + // in which case we will need to start over by iterating the loop body again. + oldDynamicTopOnChange = Atomics_compareExchange(HEAP32, DYNAMICTOP_PTR>>2, oldDynamicTop|0, newDynamicTop|0)|0; + } while((oldDynamicTopOnChange|0) != (oldDynamicTop|0)); + return oldDynamicTop|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 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&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](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_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|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&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +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&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +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); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,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_ii = [b5,___stdio_close,_PhysicsLoop,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _emscripten_sync_run_in_main_thread_3: _emscripten_sync_run_in_main_thread_3, _roundf: _roundf, _bitshift64Shl: _bitshift64Shl, _emscripten_atomic_load_f32: _emscripten_atomic_load_f32, ___uremdi3: ___uremdi3, ___udivdi3: ___udivdi3, _emscripten_atomic_xor_u64: _emscripten_atomic_xor_u64, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _emscripten_atomic_and_u64: _emscripten_atomic_and_u64, _emscripten_sync_run_in_main_thread: _emscripten_sync_run_in_main_thread, _emscripten_sync_run_in_main_thread_4: _emscripten_sync_run_in_main_thread_4, _emscripten_sync_run_in_main_thread_5: _emscripten_sync_run_in_main_thread_5, _emscripten_sync_run_in_main_thread_6: _emscripten_sync_run_in_main_thread_6, _emscripten_sync_run_in_main_thread_7: _emscripten_sync_run_in_main_thread_7, _emscripten_sync_run_in_main_thread_0: _emscripten_sync_run_in_main_thread_0, _emscripten_sync_run_in_main_thread_1: _emscripten_sync_run_in_main_thread_1, _emscripten_sync_run_in_main_thread_2: _emscripten_sync_run_in_main_thread_2, __emscripten_atomic_fetch_and_sub_u64: __emscripten_atomic_fetch_and_sub_u64, _emscripten_atomic_exchange_u32: _emscripten_atomic_exchange_u32, _fflush: _fflush, _emscripten_set_current_thread_status: _emscripten_set_current_thread_status, _emscripten_atomic_cas_u64: _emscripten_atomic_cas_u64, _memset: _memset, _emscripten_atomic_sub_u64: _emscripten_atomic_sub_u64, _emscripten_sync_run_in_main_thread_xprintf_varargs: _emscripten_sync_run_in_main_thread_xprintf_varargs, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, __emscripten_atomic_fetch_and_and_u64: __emscripten_atomic_fetch_and_and_u64, _emscripten_atomic_add_u64: _emscripten_atomic_add_u64, _emscripten_atomic_store_f64: _emscripten_atomic_store_f64, ___muldsi3: ___muldsi3, __emscripten_atomic_fetch_and_xor_u64: __emscripten_atomic_fetch_and_xor_u64, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_atomic_store_u64: _emscripten_atomic_store_u64, _emscripten_atomic_load_f64: _emscripten_atomic_load_f64, _emscripten_get_global_libc: _emscripten_get_global_libc, __emscripten_atomic_fetch_and_add_u64: __emscripten_atomic_fetch_and_add_u64, __emscripten_atomic_fetch_and_or_u64: __emscripten_atomic_fetch_and_or_u64, _emscripten_GetProcAddress: _emscripten_GetProcAddress, _emscripten_async_run_in_main_thread: _emscripten_async_run_in_main_thread, ___errno_location: ___errno_location, _main: _main, _emscripten_main_thread_process_queued_calls: _emscripten_main_thread_process_queued_calls, _emscripten_atomic_load_u64: _emscripten_atomic_load_u64, _free: _free, _emscripten_atomic_store_f32: _emscripten_atomic_store_f32, _emscripten_atomic_exchange_u64: _emscripten_atomic_exchange_u64, _memmove: _memmove, ___pthread_tsd_run_dtors: ___pthread_tsd_run_dtors, _malloc: _malloc, _memcpy: _memcpy, _emscripten_conditional_set_current_thread_status: _emscripten_conditional_set_current_thread_status, _sbrk: _sbrk, _emscripten_atomic_or_u64: _emscripten_atomic_or_u64, _strstr: _strstr, ___emscripten_pthread_data_constructor: ___emscripten_pthread_data_constructor, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real___emscripten_atomic_fetch_and_xor_u64 = asm["__emscripten_atomic_fetch_and_xor_u64"]; asm["__emscripten_atomic_fetch_and_xor_u64"] = 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_atomic_fetch_and_xor_u64.apply(null, arguments); +}; + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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__emscripten_atomic_load_f32 = asm["_emscripten_atomic_load_f32"]; asm["_emscripten_atomic_load_f32"] = 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_atomic_load_f32.apply(null, arguments); +}; + +var real____emscripten_pthread_data_constructor = asm["___emscripten_pthread_data_constructor"]; asm["___emscripten_pthread_data_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_pthread_data_constructor.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 real__emscripten_atomic_xor_u64 = asm["_emscripten_atomic_xor_u64"]; asm["_emscripten_atomic_xor_u64"] = 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_atomic_xor_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_u64 = asm["_emscripten_atomic_load_u64"]; asm["_emscripten_atomic_load_u64"] = 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_atomic_load_u64.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__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_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__emscripten_atomic_and_u64 = asm["_emscripten_atomic_and_u64"]; asm["_emscripten_atomic_and_u64"] = 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_atomic_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread = asm["_emscripten_sync_run_in_main_thread"]; asm["_emscripten_sync_run_in_main_thread"] = 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_sync_run_in_main_thread.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_4 = asm["_emscripten_sync_run_in_main_thread_4"]; asm["_emscripten_sync_run_in_main_thread_4"] = 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_sync_run_in_main_thread_4.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_5 = asm["_emscripten_sync_run_in_main_thread_5"]; asm["_emscripten_sync_run_in_main_thread_5"] = 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_sync_run_in_main_thread_5.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_6 = asm["_emscripten_sync_run_in_main_thread_6"]; asm["_emscripten_sync_run_in_main_thread_6"] = 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_sync_run_in_main_thread_6.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_7 = asm["_emscripten_sync_run_in_main_thread_7"]; asm["_emscripten_sync_run_in_main_thread_7"] = 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_sync_run_in_main_thread_7.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_0 = asm["_emscripten_sync_run_in_main_thread_0"]; asm["_emscripten_sync_run_in_main_thread_0"] = 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_sync_run_in_main_thread_0.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_1 = asm["_emscripten_sync_run_in_main_thread_1"]; asm["_emscripten_sync_run_in_main_thread_1"] = 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_sync_run_in_main_thread_1.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_2 = asm["_emscripten_sync_run_in_main_thread_2"]; asm["_emscripten_sync_run_in_main_thread_2"] = 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_sync_run_in_main_thread_2.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_sub_u64 = asm["__emscripten_atomic_fetch_and_sub_u64"]; asm["__emscripten_atomic_fetch_and_sub_u64"] = 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_atomic_fetch_and_sub_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_exchange_u32 = asm["_emscripten_atomic_exchange_u32"]; asm["_emscripten_atomic_exchange_u32"] = 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_atomic_exchange_u32.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__emscripten_set_current_thread_status = asm["_emscripten_set_current_thread_status"]; asm["_emscripten_set_current_thread_status"] = 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_set_current_thread_status.apply(null, arguments); +}; + +var real__emscripten_atomic_cas_u64 = asm["_emscripten_atomic_cas_u64"]; asm["_emscripten_atomic_cas_u64"] = 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_atomic_cas_u64.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__emscripten_atomic_sub_u64 = asm["_emscripten_atomic_sub_u64"]; asm["_emscripten_atomic_sub_u64"] = 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_atomic_sub_u64.apply(null, arguments); +}; + +var real__main = asm["_main"]; asm["_main"] = 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__main.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_xprintf_varargs = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = 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_sync_run_in_main_thread_xprintf_varargs.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___emscripten_atomic_fetch_and_and_u64 = asm["__emscripten_atomic_fetch_and_and_u64"]; asm["__emscripten_atomic_fetch_and_and_u64"] = 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_atomic_fetch_and_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_3 = asm["_emscripten_sync_run_in_main_thread_3"]; asm["_emscripten_sync_run_in_main_thread_3"] = 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_sync_run_in_main_thread_3.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_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__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_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__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__emscripten_atomic_store_u64 = asm["_emscripten_atomic_store_u64"]; asm["_emscripten_atomic_store_u64"] = 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_atomic_store_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f64 = asm["_emscripten_atomic_load_f64"]; asm["_emscripten_atomic_load_f64"] = 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_atomic_load_f64.apply(null, arguments); +}; + +var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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_get_global_libc.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_add_u64 = asm["__emscripten_atomic_fetch_and_add_u64"]; asm["__emscripten_atomic_fetch_and_add_u64"] = 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_atomic_fetch_and_add_u64.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_or_u64 = asm["__emscripten_atomic_fetch_and_or_u64"]; asm["__emscripten_atomic_fetch_and_or_u64"] = 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_atomic_fetch_and_or_u64.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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_GetProcAddress.apply(null, arguments); +}; + +var real__emscripten_async_run_in_main_thread = asm["_emscripten_async_run_in_main_thread"]; asm["_emscripten_async_run_in_main_thread"] = 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_async_run_in_main_thread.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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.apply(null, arguments); +}; + +var real__emscripten_main_thread_process_queued_calls = asm["_emscripten_main_thread_process_queued_calls"]; asm["_emscripten_main_thread_process_queued_calls"] = 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_main_thread_process_queued_calls.apply(null, arguments); +}; + +var real__emscripten_atomic_add_u64 = asm["_emscripten_atomic_add_u64"]; asm["_emscripten_atomic_add_u64"] = 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_atomic_add_u64.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__emscripten_atomic_store_f32 = asm["_emscripten_atomic_store_f32"]; asm["_emscripten_atomic_store_f32"] = 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_atomic_store_f32.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__emscripten_atomic_exchange_u64 = asm["_emscripten_atomic_exchange_u64"]; asm["_emscripten_atomic_exchange_u64"] = 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_atomic_exchange_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_store_f64 = asm["_emscripten_atomic_store_f64"]; asm["_emscripten_atomic_store_f64"] = 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_atomic_store_f64.apply(null, arguments); +}; + +var real____pthread_tsd_run_dtors = asm["___pthread_tsd_run_dtors"]; asm["___pthread_tsd_run_dtors"] = 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_tsd_run_dtors.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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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_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__emscripten_conditional_set_current_thread_status = asm["_emscripten_conditional_set_current_thread_status"]; asm["_emscripten_conditional_set_current_thread_status"] = 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_conditional_set_current_thread_status.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__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__emscripten_atomic_or_u64 = asm["_emscripten_atomic_or_u64"]; asm["_emscripten_atomic_or_u64"] = 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_atomic_or_u64.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.apply(null, arguments); +}; +var __emscripten_atomic_fetch_and_xor_u64 = Module["__emscripten_atomic_fetch_and_xor_u64"] = asm["__emscripten_atomic_fetch_and_xor_u64"]; +var _roundf = Module["_roundf"] = asm["_roundf"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _emscripten_atomic_load_f32 = Module["_emscripten_atomic_load_f32"] = asm["_emscripten_atomic_load_f32"]; +var ___emscripten_pthread_data_constructor = Module["___emscripten_pthread_data_constructor"] = asm["___emscripten_pthread_data_constructor"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var _emscripten_atomic_xor_u64 = Module["_emscripten_atomic_xor_u64"] = asm["_emscripten_atomic_xor_u64"]; +var _emscripten_atomic_load_u64 = Module["_emscripten_atomic_load_u64"] = asm["_emscripten_atomic_load_u64"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _emscripten_atomic_and_u64 = Module["_emscripten_atomic_and_u64"] = asm["_emscripten_atomic_and_u64"]; +var _emscripten_sync_run_in_main_thread = Module["_emscripten_sync_run_in_main_thread"] = asm["_emscripten_sync_run_in_main_thread"]; +var _emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = asm["_emscripten_sync_run_in_main_thread_4"]; +var _emscripten_sync_run_in_main_thread_5 = Module["_emscripten_sync_run_in_main_thread_5"] = asm["_emscripten_sync_run_in_main_thread_5"]; +var _emscripten_sync_run_in_main_thread_6 = Module["_emscripten_sync_run_in_main_thread_6"] = asm["_emscripten_sync_run_in_main_thread_6"]; +var _emscripten_sync_run_in_main_thread_7 = Module["_emscripten_sync_run_in_main_thread_7"] = asm["_emscripten_sync_run_in_main_thread_7"]; +var _emscripten_sync_run_in_main_thread_0 = Module["_emscripten_sync_run_in_main_thread_0"] = asm["_emscripten_sync_run_in_main_thread_0"]; +var _emscripten_sync_run_in_main_thread_1 = Module["_emscripten_sync_run_in_main_thread_1"] = asm["_emscripten_sync_run_in_main_thread_1"]; +var _emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = asm["_emscripten_sync_run_in_main_thread_2"]; +var __emscripten_atomic_fetch_and_sub_u64 = Module["__emscripten_atomic_fetch_and_sub_u64"] = asm["__emscripten_atomic_fetch_and_sub_u64"]; +var _emscripten_atomic_exchange_u32 = Module["_emscripten_atomic_exchange_u32"] = asm["_emscripten_atomic_exchange_u32"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _emscripten_set_current_thread_status = Module["_emscripten_set_current_thread_status"] = asm["_emscripten_set_current_thread_status"]; +var _emscripten_atomic_cas_u64 = Module["_emscripten_atomic_cas_u64"] = asm["_emscripten_atomic_cas_u64"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _emscripten_atomic_sub_u64 = Module["_emscripten_atomic_sub_u64"] = asm["_emscripten_atomic_sub_u64"]; +var _main = Module["_main"] = asm["_main"]; +var _emscripten_sync_run_in_main_thread_xprintf_varargs = Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var __emscripten_atomic_fetch_and_and_u64 = Module["__emscripten_atomic_fetch_and_and_u64"] = asm["__emscripten_atomic_fetch_and_and_u64"]; +var _emscripten_sync_run_in_main_thread_3 = Module["_emscripten_sync_run_in_main_thread_3"] = asm["_emscripten_sync_run_in_main_thread_3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_atomic_store_u64 = Module["_emscripten_atomic_store_u64"] = asm["_emscripten_atomic_store_u64"]; +var _emscripten_atomic_load_f64 = Module["_emscripten_atomic_load_f64"] = asm["_emscripten_atomic_load_f64"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var __emscripten_atomic_fetch_and_add_u64 = Module["__emscripten_atomic_fetch_and_add_u64"] = asm["__emscripten_atomic_fetch_and_add_u64"]; +var __emscripten_atomic_fetch_and_or_u64 = Module["__emscripten_atomic_fetch_and_or_u64"] = asm["__emscripten_atomic_fetch_and_or_u64"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var _emscripten_async_run_in_main_thread = Module["_emscripten_async_run_in_main_thread"] = asm["_emscripten_async_run_in_main_thread"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = asm["_emscripten_main_thread_process_queued_calls"]; +var _emscripten_atomic_add_u64 = Module["_emscripten_atomic_add_u64"] = asm["_emscripten_atomic_add_u64"]; +var _free = Module["_free"] = asm["_free"]; +var _emscripten_atomic_store_f32 = Module["_emscripten_atomic_store_f32"] = asm["_emscripten_atomic_store_f32"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _emscripten_atomic_exchange_u64 = Module["_emscripten_atomic_exchange_u64"] = asm["_emscripten_atomic_exchange_u64"]; +var _emscripten_atomic_store_f64 = Module["_emscripten_atomic_store_f64"] = asm["_emscripten_atomic_store_f64"]; +var ___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = asm["___pthread_tsd_run_dtors"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _emscripten_conditional_set_current_thread_status = Module["_emscripten_conditional_set_current_thread_status"] = asm["_emscripten_conditional_set_current_thread_status"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _emscripten_atomic_or_u64 = Module["_emscripten_atomic_or_u64"] = asm["_emscripten_atomic_or_u64"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +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 +} + +Module['callMain'] = Module.callMain = function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); + assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); + + args = args || []; + + ensureInitRuntime(); + + var argc = args.length+1; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + try { + + var ret = Module['_main'](argc, argv, 0); + + + // if we're not running an evented main loop, it's time to exit + exit(ret, /* implicit = */ true); + } + catch(e) { + if (e instanceof ExitStatus) { + // exit() throws this once it's done to make sure execution + // has been stopped completely + return; + } else if (e == 'SimulateInfiniteLoop') { + // running an evented main loop, don't immediately exit + Module['noExitRuntime'] = true; + return; + } else { + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); + } + } finally { + calledMain = true; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (Module['_main'] && shouldRunNow) Module['callMain'](args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + checkStackCookie(); +} +Module['run'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); + } else { + PThread.terminateAllThreads(); + + ABORT = true; + EXITSTATUS = status; + STACKTOP = initialStackTop; + + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } + + if (ENVIRONMENT_IS_NODE) { + process['exit'](status); + } + Module['quit'](status, new ExitStatus(status)); +} +Module['exit'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(what) { + if (ENVIRONMENT_IS_PTHREAD) console.error('Pthread aborting at ' + new Error().stack); + if (what !== undefined) { + Module.print(what); + Module.printErr(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'] = Module.abort = abort; + +// {{PRE_RUN_ADDITIONS}} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; +if (Module['noInitialRun']) { + shouldRunNow = false; +} + + +if (!ENVIRONMENT_IS_PTHREAD) run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/img/physac/physics_restitution.png b/docs/examples/web/physac/physics_restitution.png similarity index 100% rename from docs/examples/img/physac/physics_restitution.png rename to docs/examples/web/physac/physics_restitution.png diff --git a/docs/examples/web/physac/physics_shatter.c b/docs/examples/web/physac/physics_shatter.c index fac907148..7ca656fa2 100644 --- a/docs/examples/web/physac/physics_shatter.c +++ b/docs/examples/web/physac/physics_shatter.c @@ -2,9 +2,11 @@ * * Physac - Body shatter * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread * -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition * @@ -15,96 +17,131 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" +#include "physac.h" +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +// Physac logo drawing position +int logoX = 0; +int logoY = 15; + +PhysicsBody body; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- int main() { // Initialization //-------------------------------------------------------------------------------------- - int screenWidth = 800; - int screenHeight = 450; - SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Body shatter"); - SetTargetFPS(60); // Physac logo drawing position - int logoX = screenWidth - MeasureText("Physac", 30) - 10; - int logoY = 15; + logoX = screenWidth - MeasureText("Physac", 30) - 10; // Initialize physics and default physics bodies InitPhysics(); SetPhysicsGravity(0, 0); // Create random polygon physics body to shatter - PhysicsBody body = CreatePhysicsBodyPolygon((Vector2){ screenWidth/2, screenHeight/2 }, GetRandomValue(80, 200), GetRandomValue(3, 8), 10); - //-------------------------------------------------------------------------------------- + body = CreatePhysicsBodyPolygon((Vector2){ screenWidth/2, screenHeight/2 }, GetRandomValue(80, 200), GetRandomValue(3, 8), 10); +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + // Main game loop while (!WindowShouldClose()) // Detect window close button or ESC key { - // Update - //---------------------------------------------------------------------------------- - if (IsKeyPressed('R')) // Reset physics input - { - ResetPhysics(); - - // Create random polygon physics body to shatter - body = CreatePhysicsBodyPolygon((Vector2){ screenWidth/2, screenHeight/2 }, GetRandomValue(80, 200), GetRandomValue(3, 8), 10); - } - - if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) // Physics shatter input - { - // Note: some values need to be stored in variables due to asynchronous changes during main thread - int count = GetPhysicsBodiesCount(); - for (int i = count - 1; i >= 0; i--) - { - PhysicsBody currentBody = GetPhysicsBody(i); - if (currentBody != NULL) PhysicsShatter(currentBody, GetMousePosition(), 10/currentBody->inverseMass); - } - } - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(BLACK); - - // Draw created physics bodies - int bodiesCount = GetPhysicsBodiesCount(); - for (int i = 0; i < bodiesCount; i++) - { - PhysicsBody currentBody = GetPhysicsBody(i); - - int vertexCount = GetPhysicsShapeVerticesCount(i); - for (int j = 0; j < vertexCount; j++) - { - // Get physics bodies shape vertices to draw lines - // Note: GetPhysicsShapeVertex() already calculates rotation transformations - Vector2 vertexA = GetPhysicsShapeVertex(currentBody, j); - - int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape - Vector2 vertexB = GetPhysicsShapeVertex(currentBody, jj); - - DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions - } - } - - DrawText("Left mouse button in polygon area to shatter body\nPress 'R' to reset example", 10, 10, 10, WHITE); - - DrawText("Physac", logoX, logoY, 30, WHITE); - DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); - - EndDrawing(); - //---------------------------------------------------------------------------------- + UpdateDrawFrame(); } +#endif // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (IsKeyPressed('R')) // Reset physics input + { + ResetPhysics(); + + // Create random polygon physics body to shatter + body = CreatePhysicsBodyPolygon((Vector2){ screenWidth/2, screenHeight/2 }, GetRandomValue(80, 200), GetRandomValue(3, 8), 10); + } + + if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) // Physics shatter input + { + // Note: some values need to be stored in variables due to asynchronous changes during main thread + int count = GetPhysicsBodiesCount(); + for (int i = count - 1; i >= 0; i--) + { + PhysicsBody currentBody = GetPhysicsBody(i); + if (currentBody != NULL) PhysicsShatter(currentBody, GetMousePosition(), 10/currentBody->inverseMass); + } + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(BLACK); + + // Draw created physics bodies + int bodiesCount = GetPhysicsBodiesCount(); + for (int i = 0; i < bodiesCount; i++) + { + PhysicsBody currentBody = GetPhysicsBody(i); + + int vertexCount = GetPhysicsShapeVerticesCount(i); + for (int j = 0; j < vertexCount; j++) + { + // Get physics bodies shape vertices to draw lines + // Note: GetPhysicsShapeVertex() already calculates rotation transformations + Vector2 vertexA = GetPhysicsShapeVertex(currentBody, j); + + int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape + Vector2 vertexB = GetPhysicsShapeVertex(currentBody, jj); + + DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions + } + } + + DrawText("Left mouse button in polygon area to shatter body\nPress 'R' to reset example", 10, 10, 10, WHITE); + + DrawText("Physac", logoX, logoY, 30, WHITE); + DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} + diff --git a/docs/examples/web/physac/physics_shatter.js b/docs/examples/web/physac/physics_shatter.js new file mode 100644 index 000000000..51c37e33d --- /dev/null +++ b/docs/examples/web/physac/physics_shatter.js @@ -0,0 +1,35412 @@ +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// The environment setup code below is customized to use Module. +// *** Environment setup code *** +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +// 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) + +if (Module['ENVIRONMENT']) { + if (Module['ENVIRONMENT'] === 'WEB') { + ENVIRONMENT_IS_WEB = true; + } else if (Module['ENVIRONMENT'] === 'WORKER') { + ENVIRONMENT_IS_WORKER = true; + } else if (Module['ENVIRONMENT'] === 'NODE') { + ENVIRONMENT_IS_NODE = true; + } else if (Module['ENVIRONMENT'] === 'SHELL') { + ENVIRONMENT_IS_SHELL = true; + } else { + throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); + } +} else { + 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; +} + +var ENVIRONMENT_IS_PTHREAD; +if (!ENVIRONMENT_IS_PTHREAD) ENVIRONMENT_IS_PTHREAD = false; // ENVIRONMENT_IS_PTHREAD=true will have been preset in pthread-main.js. Make it false in the main runtime thread. +var PthreadWorkerInit; // Collects together variables that are needed at initialization time for the web workers that host pthreads. +if (!ENVIRONMENT_IS_PTHREAD) PthreadWorkerInit = {}; +var currentScriptUrl = ENVIRONMENT_IS_WORKER ? undefined : document.currentScript.src; + +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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var 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, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. 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 + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // 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'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (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 Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// Runtime essentials +//======================================== + +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var EXITSTATUS = 0; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { + 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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = function cwrap(ident, returnType, argTypes) { + argTypes = argTypes || []; + var cfunc = getCFunc(ident); + // When the function takes numbers and returns a number, we can just return + // the original function + var numericArgs = argTypes.every(function(type){ return type === 'number'}); + var numericRet = (returnType !== 'string'); + if ( numericRet && numericArgs) { + return cfunc; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ length) { + if (length === 0 || !ptr) return ''; + // TODO: use TextDecoder + // 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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 and https://www.ietf.org/rfc/rfc2279.txt and 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 + +if (!ENVIRONMENT_IS_PTHREAD) { // Pthreads have already initialized these variables in src/pthread-main.js, where they were passed to the thread worker at startup time + STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; + staticSealed = false; +} + +if (ENVIRONMENT_IS_PTHREAD) { + staticSealed = true; // The static memory area has been initialized already in the main thread, pthreads skip this. +} + +// 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); +} + + +function enlargeMemory() { + abort('Cannot enlarge memory arrays, since compiling with pthreads support enabled (-s USE_PTHREADS=1).'); +} + + +var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; +var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; +if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + 'JS engine does not provide full typed array support'); + + +if (typeof SharedArrayBuffer !== 'undefined') { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new SharedArrayBuffer(TOTAL_MEMORY); + // Currently SharedArrayBuffer does not have a slice() operation, so polyfill it in. + // Adapted from https://github.com/ttaubert/node-arraybuffer-slice, (c) 2014 Tim Taubert + // arraybuffer-slice may be freely distributed under the MIT license. + (function (undefined) { + "use strict"; + function clamp(val, length) { + val = (val|0) || 0; + if (val < 0) return Math.max(val + length, 0); + return Math.min(val, length); + } + if (typeof SharedArrayBuffer !== 'undefined' && !SharedArrayBuffer.prototype.slice) { + SharedArrayBuffer.prototype.slice = function (from, to) { + var length = this.byteLength; + var begin = clamp(from, length); + var end = length; + if (to !== undefined) end = clamp(to, length); + if (begin > end) return new ArrayBuffer(0); + var num = end - begin; + var target = new ArrayBuffer(num); + var targetArray = new Uint8Array(target); + var sourceArray = new Uint8Array(this, begin, num); + targetArray.set(sourceArray); + return target; + }; + } + })(); +} else { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new ArrayBuffer(TOTAL_MEMORY); +} +updateGlobalBufferViews(); + +if (typeof Atomics === 'undefined') { + // Polyfill singlethreaded atomics ops from http://lars-t-hansen.github.io/ecmascript_sharedmem/shmem.html#Atomics.add + // No thread-safety needed since we don't have multithreading support. + Atomics = {}; + Atomics['add'] = function(t, i, v) { var w = t[i]; t[i] += v; return w; } + Atomics['and'] = function(t, i, v) { var w = t[i]; t[i] &= v; return w; } + Atomics['compareExchange'] = function(t, i, e, r) { var w = t[i]; if (w == e) t[i] = r; return w; } + Atomics['exchange'] = function(t, i, v) { var w = t[i]; t[i] = v; return w; } + Atomics['wait'] = function(t, i, v, o) { if (t[i] != v) return 'not-equal'; else return 'timed-out'; } + Atomics['wake'] = function(t, i, c) { return 0; } + Atomics['wakeOrRequeue'] = function(t, i1, c, i2, v) { return 0; } + Atomics['isLockFree'] = function(s) { return true; } + Atomics['load'] = function(t, i) { return t[i]; } + Atomics['or'] = function(t, i, v) { var w = t[i]; t[i] |= v; return w; } + Atomics['store'] = function(t, i, v) { t[i] = v; return v; } + Atomics['sub'] = function(t, i, v) { var w = t[i]; t[i] -= v; return w; } + Atomics['xor'] = function(t, i, v) { var w = t[i]; t[i] ^= v; return w; } +} + + +function getTotalMemory() { + return TOTAL_MEMORY; +} + +// Endianness check (note: assumes compiler arch was little-endian) +if (!ENVIRONMENT_IS_PTHREAD) { + HEAP32[0] = 0x63736d65; /* 'emsc' */ +} else { + if (HEAP32[0] !== 0x63736d65) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; +} +HEAP16[1] = 0x6373; +if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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 runtime has exited + +var runtimeInitialized = false; +var runtimeExited = false; + +if (ENVIRONMENT_IS_PTHREAD) runtimeInitialized = true; // The runtime is hosted in the main thread, and bits shared to pthreads via SharedArrayBuffer. No need to init again in pthread. + +function preRun() { + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + // 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 (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + if (runtimeInitialized) return; + runtimeInitialized = true; + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + callRuntimeCallbacks(__ATEXIT__); + runtimeExited = true; +} + +function postRun() { + checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. + // 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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + +// Atomics.exchange is not yet implemented in the spec, so polyfill that in via compareExchange in the meanwhile. +// TODO: Keep an eye out for the opportunity to remove this once Atomics.exchange is available. +if (typeof Atomics !== 'undefined' && !Atomics['exchange']) { + Atomics['exchange'] = function(heap, index, val) { + var oldVal, oldVal2; + do { + oldVal = Atomics['load'](heap, index); + oldVal2 = Atomics['compareExchange'](heap, index, oldVal, val); + } while(oldVal != oldVal2); + return oldVal; + } +} + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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 +// PRE_RUN_ADDITIONS (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) { + // We should never get here in pthreads (could no-op this out if called in pthreads, but that might indicate a bug in caller side, + // so good to be very explicit) + assert(!ENVIRONMENT_IS_PTHREAD); + 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; + Module.printErr('still waiting on run dependencies:'); + } + Module.printErr('dependency: ' + dep); + } + if (shown) { + Module.printErr('(end of list)'); + } + }, 10000); + } + } else { + Module.printErr('warning: run dependency added without ID'); + } +} +Module["addRunDependency"] = addRunDependency; + +function removeRunDependency(id) { + runDependencies--; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('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["removeRunDependency"] = removeRunDependency; + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + + +var memoryInitializer = null; + + + + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }, + function() { postMessage({ cmd: 'processQueuedMainThreadWork' }) }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + +function _emscripten_asm_const_v(code) { + return ASM_CONSTS[code](); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 38272; + /* global initializers */ if (!ENVIRONMENT_IS_PTHREAD) __ATINIT__.push({ func: function() { ___emscripten_pthread_data_constructor() } }); + + +if (!ENVIRONMENT_IS_PTHREAD) { +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,15,0,0,0,32,186,32,60,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,176,11,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,127,145,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,104,121,115,97,99,32,91,114,97,121,108,105,98,93,32,45,32,66,111,100,121,32,115,104,97,116,116,101,114,0,80,104,121,115,97,99,0,76,101,102,116,32,109,111,117,115,101,32,98,117,116,116,111,110,32,105,110,32,112,111,108,121,103,111,110,32,97,114,101,97,32,116,111,32,115,104,97,116,116,101,114,32,98,111,100,121,10,80,114,101,115,115,32,39,82,39,32,116,111,32,114,101,115,101,116,32,101,120,97,109,112,108,101,0,80,111,119,101,114,101,100,32,98,121,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,101,109,115,99,114,105,112,116,101,110,95,105,115,95,109,97,105,110,95,114,117,110,116,105,109,101,95,116,104,114,101,97,100,40,41,32,38,38,32,34,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,32,109,117,115,116,32,98,101,32,99,97,108,108,101,100,32,102,114,111,109,32,116,104,101,32,109,97,105,110,32,116,104,114,101,97,100,33,34,0,67,58,92,101,109,115,100,107,92,101,109,115,99,114,105,112,116,101,110,92,49,46,51,55,46,57,92,115,121,115,116,101,109,92,108,105,98,92,112,116,104,114,101,97,100,92,108,105,98,114,97,114,121,95,112,116,104,114,101,97,100,46,99,0,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,0,48,32,38,38,32,34,73,110,118,97,108,105,100,32,69,109,115,99,114,105,112,116,101,110,32,112,116,104,114,101,97,100,32,95,100,111,95,99,97,108,108,32,111,112,99,111,100,101,33,34,0,95,100,111,95,99,97,108,108,0,99,97,108,108,0,101,109,115,99,114,105,112,116,101,110,95,97,115,121,110,99,95,114,117,110,95,105,110,95,109,97,105,110,95,116,104,114,101,97,100,0,112,111,115,116,77,101,115,115,97,103,101,40,123,32,99,109,100,58,32,39,112,114,111,99,101,115,115,81,117,101,117,101,100,77,97,105,110,84,104,114,101,97,100,87,111,114,107,39,32,125,41,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +} + + + + + +/* no memory initializer */ +var tempDoublePtr; + +if (!ENVIRONMENT_IS_PTHREAD) tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); + +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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + function ___pthread_setcancelstate() { return 0 } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + + + 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 Module.printErr('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) { + Module['print'](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) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function (tty, val) { + if (val === null || val === 10) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['printErr'](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); + + 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(); + }; + }); + },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, { encoding: 'binary', 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/); + },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) { + // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so + // propagate write bits to execute bits. + stat.mode = stat.mode | ((stat.mode & 146) >> 1); + } + } 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); + },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString: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. + if (flags in NODEFS.flagsToPermissionStringMap) { + return NODEFS.flagsToPermissionStringMap[flags]; + } 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.flagsToPermissionString(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) { + if (length === 0) return 0; // node errors on 0 length reads + // FIXME this is terrible. + var nbuffer = new Buffer(length); + var res; + try { + res = fs.readSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + if (res > 0) { + for (var i = 0; i < res; i++) { + buffer[offset + i] = nbuffer[i]; + } + } + return res; + },write:function (stream, buffer, offset, length, position) { + // FIXME this is terrible. + var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); + var res; + try { + res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return res; + },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; if (ENVIRONMENT_IS_PTHREAD) _stdin = PthreadWorkerInit._stdin; else PthreadWorkerInit._stdin = _stdin = allocate(1, "i32*", ALLOC_STATIC); + + var _stdout; if (ENVIRONMENT_IS_PTHREAD) _stdout = PthreadWorkerInit._stdout; else PthreadWorkerInit._stdout = _stdout = allocate(1, "i32*", ALLOC_STATIC); + + var _stderr; if (ENVIRONMENT_IS_PTHREAD) _stderr = PthreadWorkerInit._stderr; else PthreadWorkerInit._stderr = _stderr = allocate(1, "i32*", ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],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; + Module['printErr']('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 (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); + } + },llseek:function (stream, offset, whence) { + 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 ((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 = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } 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 ((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 = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } 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 (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(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'; + opts.encoding = opts.encoding || 'utf8'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var stream = FS.open(path, opts.flags, opts.mode); + if (opts.encoding === 'utf8') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); + } else if (opts.encoding === 'binary') { + FS.write(stream, data, 0, data.length, 0, opts.canOwn); + } + 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) { + //Module.printErr(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]; + 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 = ''; + }); + },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 ___syscall54(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 54, varargs) } + SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + case 21506: { + 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; + } + default: abort('bad ioctl syscall ' + op); + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _utime(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(12, path, times); + // int utime(const char *path, const struct utimbuf *times); + // http://pubs.opengroup.org/onlinepubs/009695399/basedefs/utime.h.html + var time; + if (times) { + // NOTE: We don't keep track of access timestamps. + var offset = 4; + time = HEAP32[(((times)+(offset))>>2)]; + time *= 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + + + + var PROCINFO={ppid:1,pid:42,sid:42,pgid:42}; + + + var __pthread_ptr=0; + + var __pthread_is_main_browser_thread=0;function __register_pthread_ptr(pthreadPtr, isMainBrowserThread, isMainRuntimeThread) { + pthreadPtr = pthreadPtr|0; + isMainBrowserThread = isMainBrowserThread|0; + isMainRuntimeThread = isMainRuntimeThread|0; + __pthread_ptr = pthreadPtr; + __pthread_is_main_browser_thread = isMainBrowserThread; + __pthread_is_main_runtime_thread = isMainRuntimeThread; + } + + var _emscripten_main_thread_process_queued_calls=undefined;var PThread={MAIN_THREAD_ID:1,mainThreadInfo:{schedPolicy:0,schedPrio:0},unusedWorkerPool:[],runningWorkers:[],initMainThreadBlock:function () { + if (ENVIRONMENT_IS_PTHREAD) return undefined; + PThread.mainThreadBlock = allocate(244, "i32*", ALLOC_STATIC); + __register_pthread_ptr(PThread.mainThreadBlock, /*isMainBrowserThread=*/!ENVIRONMENT_IS_WORKER, /*isMainRuntimeThread=*/1); // Pass the thread address inside the asm.js scope to store it for fast access that avoids the need for a FFI out. + + for (var i = 0; i < 244/4; ++i) HEAPU32[PThread.mainThreadBlock/4+i] = 0; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((PThread.mainThreadBlock)+(24))>>2)]=PThread.mainThreadBlock; + + // Allocate memory for thread-local storage. + var tlsMemory = allocate(128 * 4, "i32*", ALLOC_STATIC); + for (var i = 0; i < 128; ++i) HEAPU32[tlsMemory/4+i] = 0; + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 52 ) >> 2, PThread.mainThreadBlock); // Main thread ID. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 56 ) >> 2, PROCINFO.pid); // Process ID. + + },pthreads:{},pthreadIdCounter:2,exitHandlers:null,setThreadStatus:function () {},runExitHandlers:function () { + if (PThread.exitHandlers !== null) { + while (PThread.exitHandlers.length > 0) { + PThread.exitHandlers.pop()(); + } + PThread.exitHandlers = null; + } + + // Call into the musl function that runs destructors of all thread-specific data. + if (ENVIRONMENT_IS_PTHREAD && threadInfoStruct) ___pthread_tsd_run_dtors(); + },threadExit:function (exitCode) { + var tb = _pthread_self(); + if (tb) { // If we haven't yet exited? + Atomics.store(HEAPU32, (tb + 4 ) >> 2, exitCode); + // When we publish this, the main thread is free to deallocate the thread object and we are done. + // Therefore set threadInfoStruct = 0; above to 'release' the object in this worker thread. + Atomics.store(HEAPU32, (tb + 0 ) >> 2, 1); + + // Disable all cancellation so that executing the cleanup handlers won't trigger another JS + // canceled exception to be thrown. + Atomics.store(HEAPU32, (tb + 72 ) >> 2, 1/*PTHREAD_CANCEL_DISABLE*/); + Atomics.store(HEAPU32, (tb + 76 ) >> 2, 0/*PTHREAD_CANCEL_DEFERRED*/); + PThread.runExitHandlers(); + + _emscripten_futex_wake(tb + 0, 2147483647); + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + threadInfoStruct = 0; + if (ENVIRONMENT_IS_PTHREAD) { + // This worker no longer owns any WebGL OffscreenCanvases, so transfer them back to parent thread. + var transferList = []; + + + postMessage({ cmd: 'exit' }); + } + } + },threadCancel:function () { + PThread.runExitHandlers(); + Atomics.store(HEAPU32, (threadInfoStruct + 4 ) >> 2, -1/*PTHREAD_CANCELED*/); + Atomics.store(HEAPU32, (threadInfoStruct + 0 ) >> 2, 1); // Mark the thread as no longer running. + _emscripten_futex_wake(threadInfoStruct + 0, 2147483647); // wake all threads + threadInfoStruct = selfThreadId = 0; // Not hosting a pthread anymore in this worker, reset the info structures to null. + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + postMessage({ cmd: 'cancelDone' }); + },terminateAllThreads:function () { + for (var t in PThread.pthreads) { + var pthread = PThread.pthreads[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.pthreads = {}; + for (var t in PThread.unusedWorkerPool) { + var pthread = PThread.unusedWorkerPool[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.unusedWorkerPool = []; + for (var t in PThread.runningWorkers) { + var pthread = PThread.runningWorkers[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.runningWorkers = []; + },freeThreadData:function (pthread) { + if (!pthread) return; + if (pthread.threadInfoStruct) { + var tlsMemory = HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]; + HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]=0; + _free(pthread.tlsMemory); + _free(pthread.threadInfoStruct); + } + pthread.threadInfoStruct = 0; + if (pthread.allocatedOwnStack && pthread.stackBase) _free(pthread.stackBase); + pthread.stackBase = 0; + if (pthread.worker) pthread.worker.pthread = null; + },receiveObjectTransfer:function (data) { + },allocateUnusedWorkers:function (numWorkers, onFinishedLoading) { + if (typeof SharedArrayBuffer === 'undefined') return; // No multithreading support, no-op. + Module['print']('Preallocating ' + numWorkers + ' workers for a pthread spawn pool.'); + + var numWorkersLoaded = 0; + for (var i = 0; i < numWorkers; ++i) { + var pthreadMainJs = 'pthread-main.js'; + // Allow HTML module to configure the location where the 'pthread-main.js' file will be loaded from, + // either via Module.locateFile() function, or via Module.pthreadMainPrefixURL string. If neither + // of these are passed, then the default URL 'pthread-main.js' relative to the main html file is loaded. + if (typeof Module['locateFile'] === 'function') pthreadMainJs = Module['locateFile'](pthreadMainJs); + else if (Module['pthreadMainPrefixURL']) pthreadMainJs = Module['pthreadMainPrefixURL'] + pthreadMainJs; + var worker = new Worker(pthreadMainJs); + + worker.onmessage = function(e) { + // If this message is intended to a recipient that is not the main thread, forward it to the target thread. + if (e.data.targetThread && e.data.targetThread != _pthread_self()) { + var thread = PThread.pthreads[e.data.targetThread]; + if (thread) { + thread.worker.postMessage(e.data, e.data.transferList); + } else { + console.error('Internal error! Worker sent a message "' + e.data.cmd + '" to target pthread ' + e.data.targetThread + ', but that thread no longer exists!'); + } + return; + } + + if (e.data.cmd === 'processQueuedMainThreadWork') { + // TODO: Must post message to main Emscripten thread in PROXY_TO_WORKER mode. + _emscripten_main_thread_process_queued_calls(); + } else if (e.data.cmd === 'spawnThread') { + __spawn_thread(e.data); + } else if (e.data.cmd === 'cleanupThread') { + __cleanup_thread(e.data.thread); + } else if (e.data.cmd === 'killThread') { + __kill_thread(e.data.thread); + } else if (e.data.cmd === 'cancelThread') { + __cancel_thread(e.data.thread); + } else if (e.data.cmd === 'loaded') { + ++numWorkersLoaded; + if (numWorkersLoaded === numWorkers && onFinishedLoading) { + onFinishedLoading(); + } + } else if (e.data.cmd === 'print') { + Module['print']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'printErr') { + Module['printErr']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'alert') { + alert('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'exit') { + // currently no-op + } else if (e.data.cmd === 'cancelDone') { + PThread.freeThreadData(worker.pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + // TODO: Free if detached. + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } else if (e.data.cmd === 'objectTransfer') { + PThread.receiveObjectTransfer(e.data); + } else { + Module['printErr']("worker sent an unknown command " + e.data.cmd); + } + }; + + worker.onerror = function(e) { + Module['printErr']('pthread sent an error! ' + e.filename + ':' + e.lineno + ': ' + e.message); + }; + + // Allocate tempDoublePtr for the worker. This is done here on the worker's behalf, since we may need to do this statically + // if the runtime has not been loaded yet, etc. - so we just use getMemory, which is main-thread only. + var tempDoublePtr = getMemory(8); // TODO: leaks. Cleanup after worker terminates. + + // Ask the new worker to load up the Emscripten-compiled page. This is a heavy operation. + worker.postMessage({ + cmd: 'load', + url: currentScriptUrl, + buffer: HEAPU8.buffer, + tempDoublePtr: tempDoublePtr, + TOTAL_MEMORY: TOTAL_MEMORY, + STATICTOP: STATICTOP, + DYNAMIC_BASE: DYNAMIC_BASE, + DYNAMICTOP_PTR: DYNAMICTOP_PTR, + PthreadWorkerInit: PthreadWorkerInit + }); + PThread.unusedWorkerPool.push(worker); + } + },getNewWorker:function () { + if (PThread.unusedWorkerPool.length == 0) PThread.allocateUnusedWorkers(1); + if (PThread.unusedWorkerPool.length > 0) return PThread.unusedWorkerPool.pop(); + else return null; + },busySpinWait:function (msecs) { + var t = performance.now() + msecs; + while(performance.now() < t) { + ; + } + }};var __pthread_is_main_runtime_thread=0;function _emscripten_is_main_runtime_thread() { + return __pthread_is_main_runtime_thread|0; // Semantically the same as testing "!ENVIRONMENT_IS_PTHREAD" outside the asm.js scope + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _atexit(func, arg) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(110, func, arg); + __ATEXIT__.unshift({ func: func, arg: arg }); + } + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + function ___syscall6(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 6, 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 _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + function ___syscall140(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 140, varargs) } + SYSCALLS.varargs = varargs; + try { + // llseek + var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___syscall146(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 146, 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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + var _tzname; if (ENVIRONMENT_IS_PTHREAD) _tzname = PthreadWorkerInit._tzname; else PthreadWorkerInit._tzname = _tzname = allocate(8, "i32*", ALLOC_STATIC); + + var _daylight; if (ENVIRONMENT_IS_PTHREAD) _daylight = PthreadWorkerInit._daylight; else PthreadWorkerInit._daylight = _daylight = allocate(1, "i32*", ALLOC_STATIC); + + var _timezone; if (ENVIRONMENT_IS_PTHREAD) _timezone = PthreadWorkerInit._timezone; else PthreadWorkerInit._timezone = _timezone = allocate(1, "i32*", ALLOC_STATIC);function _tzset() { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_0(119); + // TODO: Use (malleable) environment variables instead of system settings. + if (_tzset.called) return; + _tzset.called = true; + + HEAP32[((_timezone)>>2)]=-(new Date()).getTimezoneOffset() * 60; + + var winter = new Date(2000, 0, 1); + var summer = new Date(2000, 6, 1); + HEAP32[((_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[((_tzname)>>2)]=winterNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=summerNamePtr; + } else { + HEAP32[((_tzname)>>2)]=summerNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=winterNamePtr; + } + } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _sysconf(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(72, 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 _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + 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 _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + + + + + var _environ; if (ENVIRONMENT_IS_PTHREAD) _environ = PthreadWorkerInit._environ; else PthreadWorkerInit._environ = _environ = allocate(1, "i32*", ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env) { + // 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'; + ENV['_'] = Module['thisProgram']; + // Allocate memory. + poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC); + envPtr = allocate(MAX_ENV_VALUES * 4, + 'i8*', ALLOC_STATIC); + 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; + }var ENV={};function _clearenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(112, name); + // int clearenv (void); + // http://www.gnu.org/s/hello/manual/libc/Environment-Access.html#index-clearenv-3107 + ENV = {}; + ___buildEnvironment(ENV); + return 0; + } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + var _emscripten_asm_const=true; + + function _chroot(path) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(37, path); + // int chroot(const char *path); + // http://pubs.opengroup.org/onlinepubs/7908799/xsh/chroot.html + ___setErrNo(ERRNO_CODES.EACCES); + return -1; + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _unsetenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(114, name); + // int unsetenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/unsetenv.html + if (name === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + name = Pointer_stringify(name); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name)) { + delete ENV[name]; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + + + function _emscripten_get_now_is_monotonic() { + // return whether emscripten_get_now is guaranteed monotonic; the Date.now + // implementation is not :( + return ENVIRONMENT_IS_NODE || (typeof dateNow !== 'undefined') || + ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self['performance'] && self['performance']['now']); + }function _clock_gettime(clk_id, tp) { + // int clock_gettime(clockid_t clk_id, struct timespec *tp); + var now; + if (clk_id === 0) { + now = Date.now(); + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now(); + } else { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + HEAP32[((tp)>>2)]=(now/1000)|0; // seconds + HEAP32[(((tp)+(4))>>2)]=((now % 1000)*1000*1000)|0; // nanoseconds + return 0; + }function ___clock_gettime() { + return _clock_gettime.apply(null, arguments) + } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + + function __cleanup_thread(pthread_ptr) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _cleanup_thread() can only ever be called from main application thread!'; + if (!pthread_ptr) throw 'Internal Error! Null pthread_ptr in _cleanup_thread!'; + HEAP32[(((pthread_ptr)+(24))>>2)]=0; + var pthread = PThread.pthreads[pthread_ptr]; + var worker = pthread.worker; + PThread.freeThreadData(pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } + + function __pthread_testcancel_js() { + if (!ENVIRONMENT_IS_PTHREAD) return; + if (!threadInfoStruct) return; + var cancelDisabled = Atomics.load(HEAPU32, (threadInfoStruct + 72 ) >> 2); + if (cancelDisabled) return; + var canceled = Atomics.load(HEAPU32, (threadInfoStruct + 0 ) >> 2); + if (canceled == 2) throw 'Canceled!'; + }function _pthread_join(thread, status) { + if (!thread) { + Module['printErr']('pthread_join attempted on a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + if (ENVIRONMENT_IS_PTHREAD && selfThreadId == thread) { + Module['printErr']('PThread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + else if (!ENVIRONMENT_IS_PTHREAD && PThread.mainThreadBlock == thread) { + Module['printErr']('Main thread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_join attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var detached = Atomics.load(HEAPU32, (thread + 80 ) >> 2); + if (detached) { + Module['printErr']('Attempted to join thread ' + thread + ', which was already detached!'); + return ERRNO_CODES.EINVAL; // The thread is already detached, can no longer join it! + } + for (;;) { + var threadStatus = Atomics.load(HEAPU32, (thread + 0 ) >> 2); + if (threadStatus == 1) { // Exited? + var threadExitCode = Atomics.load(HEAPU32, (thread + 4 ) >> 2); + if (status) HEAP32[((status)>>2)]=threadExitCode; + Atomics.store(HEAPU32, (thread + 80 ) >> 2, 1); // Mark the thread as detached. + + if (!ENVIRONMENT_IS_PTHREAD) __cleanup_thread(thread); + else postMessage({ cmd: 'cleanupThread', thread: thread}); + return 0; + } + // TODO HACK! Replace the _js variant with just _pthread_testcancel: + //_pthread_testcancel(); + __pthread_testcancel_js(); + // In main runtime thread (the thread that initialized the Emscripten C runtime and launched main()), assist pthreads in performing operations + // that they need to access the Emscripten main runtime for. + if (!ENVIRONMENT_IS_PTHREAD) _emscripten_main_thread_process_queued_calls(); + _emscripten_futex_wait(thread + 0, threadStatus, ENVIRONMENT_IS_PTHREAD ? 100 : 1); + } + } + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + var __main_thread_futex_wait_address; if (ENVIRONMENT_IS_PTHREAD) __main_thread_futex_wait_address = PthreadWorkerInit.__main_thread_futex_wait_address; else PthreadWorkerInit.__main_thread_futex_wait_address = __main_thread_futex_wait_address = allocate(1, "i32*", ALLOC_STATIC);function _emscripten_futex_wait(addr, val, timeout) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0) return -22; + // dump('futex_wait addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ENVIRONMENT_IS_WORKER) { + var ret = Atomics.wait(HEAP32, addr >> 2, val, timeout); + // dump('futex_wait done by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ret === 'timed-out') return -110; + if (ret === 'not-equal') return -11; + if (ret === 'ok') return 0; + throw 'Atomics.wait returned an unexpected value ' + ret; + } else { + // Atomics.wait is not available in the main browser thread, so simulate it via busy spinning. + var loadedVal = Atomics.load(HEAP32, addr >> 2); + if (val != loadedVal) return -11; + + var tNow = performance.now(); + var tEnd = tNow + timeout; + + + // Register globally which address the main thread is simulating to be waiting on. When zero, main thread is not waiting on anything, + // and on nonzero, the contents of address pointed by __main_thread_futex_wait_address tell which address the main thread is simulating its wait on. + Atomics.store(HEAP32, __main_thread_futex_wait_address >> 2, addr); + var ourWaitAddress = addr; // We may recursively re-enter this function while processing queued calls, in which case we'll do a spurious wakeup of the older wait operation. + while (addr == ourWaitAddress) { + tNow = performance.now(); + if (tNow > tEnd) { + return -110; + } + _emscripten_main_thread_process_queued_calls(); // We are performing a blocking loop here, so must pump any pthreads if they want to perform operations that are proxied. + addr = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); // Look for a worker thread waking us up. + } + return 0; + } + } + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + + + var cttz_i8; if (ENVIRONMENT_IS_PTHREAD) cttz_i8 = PthreadWorkerInit.cttz_i8; else PthreadWorkerInit.cttz_i8 = cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + function __exit(status) { + // void _exit(int status); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html + Module['exit'](status); + }function _exit(status) { + __exit(status); + } + + function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_futex_wake(addr, count) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0 || count < 0) return -22; + if (count == 0) return 0; + // dump('futex_wake addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + + // See if main thread is waiting on this address? If so, wake it up by resetting its wake location to zero. + // Note that this is not a fair procedure, since we always wake main thread first before any workers, so + // this scheme does not adhere to real queue-based waiting. + var mainThreadWaitAddress = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); + var mainThreadWoken = 0; + if (mainThreadWaitAddress == addr) { + var loadedAddr = Atomics.compareExchange(HEAP32, __main_thread_futex_wait_address >> 2, mainThreadWaitAddress, 0); + if (loadedAddr == mainThreadWaitAddress) { + --count; + mainThreadWoken = 1; + if (count <= 0) return 1; + } + } + + // Wake any workers waiting on this address. + var ret = Atomics.wake(HEAP32, addr >> 2, count); + if (ret >= 0) return ret + mainThreadWoken; + throw 'Atomics.wake returned an unexpected value ' + ret; + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + + function __spawn_thread(threadParams) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _spawn_thread() can only ever be called from main application thread!'; + + var worker = PThread.getNewWorker(); + if (worker.pthread !== undefined) throw 'Internal error!'; + if (!threadParams.pthread_ptr) throw 'Internal error, no pthread ptr!'; + PThread.runningWorkers.push(worker); + + // Allocate memory for thread-local storage and initialize it to zero. + var tlsMemory = _malloc(128 * 4); + for (var i = 0; i < 128; ++i) { + HEAP32[(((tlsMemory)+(i*4))>>2)]=0; + } + + var pthread = PThread.pthreads[threadParams.pthread_ptr] = { // Create a pthread info object to represent this thread. + worker: worker, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + allocatedOwnStack: threadParams.allocatedOwnStack, + thread: threadParams.pthread_ptr, + threadInfoStruct: threadParams.pthread_ptr // Info area for this thread in Emscripten HEAP (shared) + }; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 0 ) >> 2, 0); // threadStatus <- 0, meaning not yet exited. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 4 ) >> 2, 0); // threadExitCode <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 20 ) >> 2, 0); // profilerBlock <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 80 ) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 60 ) >> 2, 0); // Mark initial status to unused. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 52 ) >> 2, pthread.threadInfoStruct); // Main thread ID. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 56 ) >> 2, PROCINFO.pid); // Process ID. + + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 96) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 92) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 8) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 12) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 20) >> 2, threadParams.schedPolicy); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 24) >> 2, threadParams.schedPrio); + + var global_libc = _emscripten_get_global_libc(); + var global_locale = global_libc + 40; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 188) >> 2, global_locale); + + + worker.pthread = pthread; + + // Ask the worker to start executing its pthread entry point function. + worker.postMessage({ + cmd: 'run', + start_routine: threadParams.startRoutine, + arg: threadParams.arg, + threadInfoStruct: threadParams.pthread_ptr, + selfThreadId: threadParams.pthread_ptr, // TODO: Remove this since thread ID is now the same as the thread address. + parentThreadId: threadParams.parent_pthread_ptr, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + }, threadParams.transferList); + } + + function _pthread_getschedparam(thread, policy, schedparam) { + if (!policy && !schedparam) return ERRNO_CODES.EINVAL; + + if (!thread) { + Module['printErr']('pthread_getschedparam called with a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_getschedparam attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var schedPolicy = Atomics.load(HEAPU32, (thread + 120 + 20 ) >> 2); + var schedPrio = Atomics.load(HEAPU32, (thread + 120 + 24 ) >> 2); + + if (policy) HEAP32[((policy)>>2)]=schedPolicy; + if (schedparam) HEAP32[((schedparam)>>2)]=schedPrio; + return 0; + } + + function _pthread_self() { + return __pthread_ptr|0; + }function _pthread_create(pthread_ptr, attr, start_routine, arg) { + if (typeof SharedArrayBuffer === 'undefined') { + Module['printErr']('Current environment does not support SharedArrayBuffer, pthreads are not available!'); + return 11; + } + if (!pthread_ptr) { + Module['printErr']('pthread_create called with a null thread pointer!'); + return 22; + } + + var transferList = []; // List of JS objects that will transfer ownership to the Worker hosting the thread + + + // Synchronously proxy the thread creation to main thread if possible. If we need to transfer ownership of objects, then + // proxy asynchronously via postMessage. + if (ENVIRONMENT_IS_PTHREAD && transferList.length == 0) { + return _emscripten_sync_run_in_main_thread_4(137, pthread_ptr, attr, start_routine, arg); + } + + var stackSize = 0; + var stackBase = 0; + var detached = 0; // Default thread attr is PTHREAD_CREATE_JOINABLE, i.e. start as not detached. + var schedPolicy = 0; /*SCHED_OTHER*/ + var schedPrio = 0; + if (attr) { + stackSize = HEAP32[((attr)>>2)]; + stackBase = HEAP32[(((attr)+(8))>>2)]; + detached = HEAP32[(((attr)+(12))>>2)] != 0/*PTHREAD_CREATE_JOINABLE*/; + var inheritSched = HEAP32[(((attr)+(16))>>2)] == 0/*PTHREAD_INHERIT_SCHED*/; + if (inheritSched) { + var prevSchedPolicy = HEAP32[(((attr)+(20))>>2)]; + var prevSchedPrio = HEAP32[(((attr)+(24))>>2)]; + _pthread_getschedparam(_pthread_self(), attr + 20, attr + 24); + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + HEAP32[(((attr)+(20))>>2)]=prevSchedPolicy; + HEAP32[(((attr)+(24))>>2)]=prevSchedPrio; + } else { + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + } + } + stackSize += 81920 /*DEFAULT_STACK_SIZE*/; + var allocatedOwnStack = stackBase == 0; // If allocatedOwnStack == true, then the pthread impl maintains the stack allocation. + if (allocatedOwnStack) { + stackBase = _malloc(stackSize); // Allocate a stack if the user doesn't want to place the stack in a custom memory area. + } else { + // Musl stores the stack base address assuming stack grows downwards, so adjust it to Emscripten convention that the + // stack grows upwards instead. + stackBase -= stackSize; + assert(stackBase > 0); + } + + // Allocate thread block (pthread_t structure). + var threadInfoStruct = _malloc(244); + for (var i = 0; i < 244 >> 2; ++i) HEAPU32[(threadInfoStruct>>2) + i] = 0; // zero-initialize thread structure. + HEAP32[((pthread_ptr)>>2)]=threadInfoStruct; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((threadInfoStruct)+(24))>>2)]=threadInfoStruct; + + // pthread struct robust_list head should point to itself. + var headPtr = threadInfoStruct + 168; + HEAP32[((headPtr)>>2)]=headPtr; + + var threadParams = { + stackBase: stackBase, + stackSize: stackSize, + allocatedOwnStack: allocatedOwnStack, + schedPolicy: schedPolicy, + schedPrio: schedPrio, + detached: detached, + startRoutine: start_routine, + pthread_ptr: threadInfoStruct, + parent_pthread_ptr: _pthread_self(), + arg: arg, + transferList: transferList + }; + + if (ENVIRONMENT_IS_PTHREAD) { + // The prepopulated pool of web workers that can host pthreads is stored in the main JS thread. Therefore if a + // pthread is attempting to spawn a new thread, the thread creation must be deferred to the main JS thread. + threadParams.cmd = 'spawnThread'; + postMessage(threadParams, transferList); + } else { + // We are the main thread, so we have the pthread warmup pool in this thread and can fire off JS thread creation + // directly ourselves. + __spawn_thread(threadParams); + } + + return 0; + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + + function _emscripten_set_current_thread_status_js(newStatus) { + } + Module["_emscripten_set_current_thread_status"] = _emscripten_set_current_thread_status; + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _confstr(name, buf, len) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(68, name, buf, len); + // size_t confstr(int name, char *buf, size_t len); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/confstr.html + var value; + switch (name) { + case 0: + value = ENV['PATH'] || '/'; + break; + case 1: + // Mimicking glibc. + value = 'POSIX_V6_ILP32_OFF32\nPOSIX_V6_ILP32_OFFBIG'; + break; + case 2: + // This JS implementation was tested against this glibc version. + value = 'glibc 2.14'; + break; + case 3: + // We don't support pthreads. + value = ''; + break; + case 1118: + case 1122: + case 1124: + case 1125: + case 1126: + case 1128: + case 1129: + case 1130: + value = ''; + break; + case 1116: + case 1117: + case 1121: + value = '-m32'; + break; + case 1120: + value = '-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'; + break; + default: + ___setErrNo(ERRNO_CODES.EINVAL); + return 0; + } + if (len == 0 || buf == 0) { + return value.length + 1; + } else { + var length = Math.min(len, value.length); + for (var i = 0; i < length; i++) { + HEAP8[(((buf)+(i))>>0)]=value.charCodeAt(i); + } + if (len > length) HEAP8[(((buf)+(i++))>>0)]=0; + return i; + } + } + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _getenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(111, 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 = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL); + return _getenv.ret; + } + + + function _emscripten_conditional_set_current_thread_status_js(expectedStatus, newStatus) { + } + Module["_emscripten_conditional_set_current_thread_status"] = _emscripten_conditional_set_current_thread_status; + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function ___assert_fail(condition, filename, line, func) { + ABORT = true; + throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _setenv(envname, envval, overwrite) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(113, envname, envval, overwrite); + // int setenv(const char *envname, const char *envval, int overwrite); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/setenv.html + if (envname === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = Pointer_stringify(envname); + var val = Pointer_stringify(envval); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name) && !overwrite) return 0; + ENV[name] = val; + ___buildEnvironment(ENV); + return 0; + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _emscripten_syscall(which, varargs) { + switch (which) { + case 54: return ___syscall54(which, varargs); + case 6: return ___syscall6(which, varargs); + case 140: return ___syscall140(which, varargs); + case 146: return ___syscall146(which, varargs); + default: throw "surprising proxied syscall: " + which; + } + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _fpathconf(fildes, name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(46, fildes, name); + // long fpathconf(int fildes, int name); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/encrypt.html + // NOTE: The first parameter is ignored, so pathconf == fpathconf. + // The constants here aren't real values. Just mimicking glibc. + switch (name) { + case 0: + return 32000; + case 1: + case 2: + case 3: + return 255; + case 4: + case 5: + case 16: + case 17: + case 18: + return 4096; + case 6: + case 7: + case 20: + return 1; + case 8: + return 0; + case 9: + case 10: + case 11: + case 12: + case 14: + case 15: + case 19: + return -1; + case 13: + return 64; + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + + function _putenv(string) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(115, string); + // int putenv(char *string); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/putenv.html + // WARNING: According to the standard (and the glibc implementation), the + // string is taken by reference so future changes are reflected. + // We copy it instead, possibly breaking some uses. + if (string === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + string = Pointer_stringify(string); + var splitPoint = string.indexOf('=') + if (string === '' || string.indexOf('=') === -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = string.slice(0, splitPoint); + var value = string.slice(splitPoint + 1); + if (!(name in ENV) || ENV[name] !== value) { + ENV[name] = value; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function _utimes(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(13, path, times); + var time; + if (times) { + var offset = 8 + 0; + time = HEAP32[(((times)+(offset))>>2)] * 1000; + offset = 8 + 4; + time += HEAP32[(((times)+(offset))>>2)] / 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__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(); }; +JSEvents.staticInit();; +if (!ENVIRONMENT_IS_PTHREAD) PThread.initMainThreadBlock();; +if (!ENVIRONMENT_IS_PTHREAD) ___buildEnvironment(ENV);; +if (!ENVIRONMENT_IS_PTHREAD) { + // Only main thread initializes these, pthreads copy them over at thread worker init time (in pthread-main.js) +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + +} + + + +function nullFunc_viiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vi(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_ii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_v(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function invoke_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_ii(index,a1) { + try { + return Module["dynCall_ii"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iiii(index,a1,a2,a3) { + try { + return Module["dynCall_iiii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } catch(e) { + 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.asmGlobalArg['Atomics'] = Atomics; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_clock_gettime": _clock_gettime, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_sysconf": _sysconf, "_utime": _utime, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_chroot": _chroot, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "__pthread_testcancel_js": __pthread_testcancel_js, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_unsetenv": _unsetenv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_asm_const_v": _emscripten_asm_const_v, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_pthread_self": _pthread_self, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "__register_pthread_ptr": __register_pthread_ptr, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_gettimeofday": _gettimeofday, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "__spawn_thread": __spawn_thread, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_conditional_set_current_thread_status_js": _emscripten_conditional_set_current_thread_status_js, "_putenv": _putenv, "_pthread_join": _pthread_join, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_fpathconf": _fpathconf, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "___unlock": ___unlock, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_is_main_runtime_thread": _emscripten_is_main_runtime_thread, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___buildEnvironment": ___buildEnvironment, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_utimes": _utimes, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_tzset": _tzset, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "___clock_gettime": ___clock_gettime, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_clearenv": _clearenv, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_getenv": _getenv, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_emscripten_futex_wake": _emscripten_futex_wake, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "__cleanup_thread": __cleanup_thread, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_set_current_thread_status_js": _emscripten_set_current_thread_status_js, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_syscall": _emscripten_syscall, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_futex_wait": _emscripten_futex_wait, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "___pthread_setcancelstate": ___pthread_setcancelstate, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_confstr": _confstr, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "___syscall54": ___syscall54, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_pthread_getschedparam": _pthread_getschedparam, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_atexit": _atexit, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_setenv": _setenv, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use 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 ABORT=env.ABORT|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; + var cttz_i8=env.cttz_i8|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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var ___assert_fail=env.___assert_fail; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _clock_gettime=env._clock_gettime; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _sysconf=env._sysconf; + var _utime=env._utime; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _chroot=env._chroot; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var __pthread_testcancel_js=env.__pthread_testcancel_js; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _unsetenv=env._unsetenv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var ___syscall146=env.___syscall146; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _emscripten_get_now_is_monotonic=env._emscripten_get_now_is_monotonic; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_asm_const_v=env._emscripten_asm_const_v; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _pthread_self=env._pthread_self; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var __register_pthread_ptr=env.__register_pthread_ptr; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var _gettimeofday=env._gettimeofday; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var __spawn_thread=env.__spawn_thread; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_conditional_set_current_thread_status_js=env._emscripten_conditional_set_current_thread_status_js; + var _putenv=env._putenv; + var _pthread_join=env._pthread_join; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _fpathconf=env._fpathconf; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var ___unlock=env.___unlock; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_is_main_runtime_thread=env._emscripten_is_main_runtime_thread; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___buildEnvironment=env.___buildEnvironment; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _utimes=env._utimes; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _tzset=env._tzset; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var ___clock_gettime=env.___clock_gettime; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _clearenv=env._clearenv; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _getenv=env._getenv; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _emscripten_futex_wake=env._emscripten_futex_wake; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var __cleanup_thread=env.__cleanup_thread; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_set_current_thread_status_js=env._emscripten_set_current_thread_status_js; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_syscall=env._emscripten_syscall; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_futex_wait=env._emscripten_futex_wait; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var ___pthread_setcancelstate=env.___pthread_setcancelstate; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _confstr=env._confstr; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var ___syscall54=env.___syscall54; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _pthread_create=env._pthread_create; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _pthread_getschedparam=env._pthread_getschedparam; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _atexit=env._atexit; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _setenv=env._setenv; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + var Atomics_load=global.Atomics.load; + var Atomics_store=global.Atomics.store; + var Atomics_exchange=global.Atomics.exchange; + var Atomics_compareExchange=global.Atomics.compareExchange; + var Atomics_add=global.Atomics.add; + var Atomics_sub=global.Atomics.sub; + var Atomics_and=global.Atomics.and; + var Atomics_or=global.Atomics.or; + var Atomics_xor=global.Atomics.xor; + 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 _InitPhysics() { + var label = 0, sp = 0; + sp = STACKTOP; + (_pthread_create((14280|0),(0|0),(2|0),(0|0))|0); + return; +} +function _PhysicsLoop($0) { + $0 = $0|0; + var $$0 = 0, $$010 = 0, $$011 = 0, $$09 = 0, $$0912 = 0, $$0913 = 0, $$pr = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.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, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3571] = 1; + HEAPF64[1747] = 0.0; + _InitTimer(); + $1 = HEAP32[3571]|0; + $2 = ($1|0)==(0); + if (!($2)) { + while(1) { + $3 = (+_GetCurrentTime()); + HEAPF64[1748] = $3; + $4 = +HEAPF64[1749]; + $5 = $3 - $4; + HEAPF64[1750] = $5; + $6 = +HEAPF64[1747]; + $7 = $5 + $6; + HEAPF64[1747] = $7; + _MathClamp(); + $$pr = +HEAPF64[1747]; + $8 = !($$pr >= 0.016666666666666666); + if (!($8)) { + while(1) { + _PhysicsStep(); + $9 = +HEAPF64[1750]; + $10 = +HEAPF64[1747]; + $11 = $10 - $9; + HEAPF64[1747] = $11; + $12 = !($11 >= 0.016666666666666666); + if ($12) { + break; + } + } + } + $13 = +HEAPF64[1748]; + HEAPF64[1749] = $13; + $14 = HEAP32[3571]|0; + $15 = ($14|0)==(0); + if ($15) { + break; + } + } + } + $16 = HEAP32[3638]|0; + $$0912 = (($16) + -1)|0; + $17 = ($$0912|0)>(-1); + if ($17) { + $$0913 = $$0912; + while(1) { + $20 = (14556 + ($$0913<<2)|0); + $21 = HEAP32[$20>>2]|0; + _DestroyPhysicsManifold($21); + $$09 = (($$0913) + -1)|0; + $22 = ($$09|0)>(-1); + if ($22) { + $$0913 = $$09; + } else { + break; + } + } + } + $18 = HEAP32[3573]|0; + $$010 = (($18) + -1)|0; + $19 = ($$010|0)>(-1); + if ($19) { + $$011 = $$010; + } else { + return (0|0); + } + while(1) { + $23 = (14296 + ($$011<<2)|0); + $24 = HEAP32[$23>>2]|0; + _DestroyPhysicsBody($24); + $$0 = (($$011) + -1)|0; + $25 = ($$0|0)>(-1); + if ($25) { + $$011 = $$0; + } else { + break; + } + } + return (0|0); +} +function _SetPhysicsGravity($0,$1) { + $0 = +$0; + $1 = +$1; + var label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[7738] = $0; + HEAPF32[5] = $1; + return; +} +function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = +$3; + var $$0116149 = 0, $$0116149158159 = 0, $$0119144 = 0, $$0120136 = 0, $$0121$lcssa161 = 0.0, $$0121134 = 0.0, $$0122$lcssa160 = 0.0, $$0122133 = 0.0, $$0131 = 0, $$sroa$0$0132 = 0.0, $$sroa$049$0$$sroa_idx = 0, $$sroa$8$0135 = 0.0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0.0; + var $107 = 0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.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.0; + var $125 = 0.0, $126 = 0, $127 = 0.0, $128 = 0.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, $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.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.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.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0; + var $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $tmpcast$byval_copy = 0; + var $tmpcast123$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $tmpcast123$byval_copy = sp + 432|0; + $tmpcast$byval_copy = sp + 424|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (_malloc(500)|0); + $8 = HEAP32[3572]|0; + $9 = (($8) + 500)|0; + HEAP32[3572] = $9; + $10 = HEAP32[3573]|0; + $11 = ($10|0)==(0); + $$0116149 = 0; + L1: while(1) { + if ($11) { + $$0116149158159 = 0; + break; + } else { + $$0119144 = 0; + } + while(1) { + $14 = (14296 + ($$0119144<<2)|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==($$0116149|0); + $13 = (($$0119144) + 1)|0; + if ($17) { + break; + } + $12 = ($13>>>0)<($10>>>0); + if ($12) { + $$0119144 = $13; + } else { + label = 6; + break L1; + } + } + $18 = (($$0116149) + 1)|0; + $19 = ($18|0)<(64); + if ($19) { + $$0116149 = $18; + } else { + label = 14; + break; + } + } + if ((label|0) == 14) { + STACKTOP = sp;return ($7|0); + } + if ((label|0) == 6) { + $20 = ($$0116149|0)==(-1); + if ($20) { + STACKTOP = sp;return ($7|0); + } else { + $$0116149158159 = $$0116149; + } + } + HEAP32[$7>>2] = $$0116149158159; + $21 = ((($7)) + 4|0); + HEAP32[$21>>2] = 1; + $22 = ((($7)) + 8|0); + $23 = $0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + $$sroa$049$0$$sroa_idx = ((($7)) + 16|0); + $33 = ((($7)) + 84|0); + ;HEAP32[$$sroa$049$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+20>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+24>>2]=0|0; + HEAP32[$33>>2] = 1; + $34 = ((($7)) + 88|0); + HEAP32[$34>>2] = $7; + $35 = ((($7)) + 96|0); + _CreateRandomPolygon($4,$1,$2); + _memcpy(($35|0),($4|0),404)|0; + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $$0121$lcssa161 = 0.0;$$0122$lcssa160 = 0.0; + } else { + $38 = ((($7)) + 100|0); + $39 = ((($5)) + 4|0); + $40 = ((($6)) + 4|0); + $$0120136 = 0;$$0121134 = 0.0;$$0122133 = 0.0;$$sroa$0$0132 = 0.0;$$sroa$8$0135 = 0.0; + while(1) { + $50 = (($38) + ($$0120136<<3)|0); + $51 = $50; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = $5; + $58 = $57; + HEAP32[$58>>2] = $53; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = $56; + $61 = (($$0120136) + 1)|0; + $62 = HEAP32[$35>>2]|0; + $63 = ($61>>>0)<($62>>>0); + $64 = $63 ? $61 : 0; + $65 = (($38) + ($64<<3)|0); + $66 = $65; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = $6; + $73 = $72; + HEAP32[$73>>2] = $68; + $74 = (($72) + 4)|0; + $75 = $74; + HEAP32[$75>>2] = $71; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + $76 = (+_MathCrossVector2($tmpcast$byval_copy,$tmpcast123$byval_copy)); + $77 = $76 * 0.5; + $42 = $$0122133 + $77; + $78 = $77 * 0.3333333432674408; + $79 = +HEAPF32[$5>>2]; + $80 = +HEAPF32[$6>>2]; + $81 = $79 + $80; + $82 = $78 * $81; + $44 = $$sroa$0$0132 + $82; + $83 = +HEAPF32[$39>>2]; + $84 = +HEAPF32[$40>>2]; + $85 = $83 + $84; + $86 = $78 * $85; + $46 = $$sroa$8$0135 + $86; + $87 = $79 * $79; + $88 = $79 * $80; + $89 = $87 + $88; + $90 = $80 * $80; + $91 = $90 + $89; + $92 = $83 * $83; + $93 = $83 * $84; + $94 = $92 + $93; + $95 = $84 * $84; + $96 = $95 + $94; + $97 = $76 * 0.083333335816860198; + $98 = $91 + $96; + $99 = $97 * $98; + $100 = $$0121134 + $99; + $48 = HEAP32[$35>>2]|0; + $101 = ($61>>>0)<($48>>>0); + if ($101) { + $$0120136 = $61;$$0121134 = $100;$$0122133 = $42;$$sroa$0$0132 = $44;$$sroa$8$0135 = $46; + } else { + break; + } + } + $41 = 1.0 / $42; + $43 = $44 * $41; + $45 = $41 * $46; + $47 = ($48|0)==(0); + if ($47) { + $$0121$lcssa161 = $100;$$0122$lcssa160 = $42; + } else { + $49 = ((($7)) + 100|0); + $$0131 = 0; + while(1) { + $123 = (($49) + ($$0131<<3)|0); + $124 = +HEAPF32[$123>>2]; + $125 = $124 - $43; + HEAPF32[$123>>2] = $125; + $126 = (((($49) + ($$0131<<3)|0)) + 4|0); + $127 = +HEAPF32[$126>>2]; + $128 = $127 - $45; + HEAPF32[$126>>2] = $128; + $129 = (($$0131) + 1)|0; + $exitcond = ($129|0)==($48|0); + if ($exitcond) { + $$0121$lcssa161 = $100;$$0122$lcssa160 = $42; + break; + } else { + $$0131 = $129; + } + } + } + } + $102 = $$0122$lcssa160 * $3; + $103 = ((($7)) + 52|0); + HEAPF32[$103>>2] = $102; + $104 = $102 != 0.0; + $105 = 1.0 / $102; + $106 = $104 ? $105 : 0.0; + $107 = ((($7)) + 56|0); + HEAPF32[$107>>2] = $106; + $108 = $$0121$lcssa161 * $3; + $109 = ((($7)) + 44|0); + HEAPF32[$109>>2] = $108; + $110 = $108 != 0.0; + $111 = 1.0 / $108; + $112 = $110 ? $111 : 0.0; + $113 = ((($7)) + 48|0); + HEAPF32[$113>>2] = $112; + $114 = ((($7)) + 60|0); + HEAPF32[$114>>2] = 0.40000000596046448; + $115 = ((($7)) + 64|0); + HEAPF32[$115>>2] = 0.20000000298023224; + $116 = ((($7)) + 68|0); + HEAPF32[$116>>2] = 0.0; + $117 = ((($7)) + 72|0); + HEAP32[$117>>2] = 1; + $118 = ((($7)) + 76|0); + HEAP32[$118>>2] = 0; + $119 = ((($7)) + 80|0); + HEAP32[$119>>2] = 0; + $120 = HEAP32[3573]|0; + $121 = (14296 + ($120<<2)|0); + HEAP32[$121>>2] = $7; + $122 = (($120) + 1)|0; + HEAP32[3573] = $122; + STACKTOP = sp;return ($7|0); +} +function _MathCrossVector2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($1)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = +HEAPF32[$1>>2]; + $9 = $7 * $8; + $10 = $5 - $9; + return (+$10); +} +function _CreateRandomPolygon($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $$02829 = 0, $$030 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$pr = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0; + var $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.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.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy1 = sp + 440|0; + $$byval_copy = sp + 432|0; + $3 = sp + 24|0; + $4 = sp; + $5 = sp + 16|0; + $6 = ((($3)) + 4|0); + _memset(($6|0),0,400)|0; + HEAP32[$3>>2] = $2; + $7 = (_GetRandomNumber()|0); + $8 = (+($7|0)); + $9 = ((($3)) + 388|0); + $10 = $8; + $11 = $10 * 0.017453292519943295; + $12 = $11; + _Mat2Radians($4,$12); + ;HEAP32[$9>>2]=HEAP32[$4>>2]|0;HEAP32[$9+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$4+12>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $15 = (360 / ($2|0))&-1; + $16 = HEAP32[$3>>2]|0; + $$030 = 0; + while(1) { + $19 = Math_imul($15, $$030)|0; + $20 = (+($19|0)); + $21 = $20 * 0.017453292519943295; + $22 = $21; + $23 = (+Math_cos((+$22))); + $24 = $23 * $1; + $25 = (((($3)) + 4|0) + ($$030<<3)|0); + HEAPF32[$25>>2] = $24; + $26 = (+Math_sin((+$22))); + $27 = $26 * $1; + $28 = (((((($3)) + 4|0) + ($$030<<3)|0)) + 4|0); + HEAPF32[$28>>2] = $27; + $29 = (($$030) + 1)|0; + $30 = ($29>>>0)<($16>>>0); + if ($30) { + $$030 = $29; + } else { + break; + } + } + $$pr = HEAP32[$3>>2]|0; + $17 = ($$pr|0)==(0); + if ($17) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $18 = ((($5)) + 4|0); + $$02829 = 0; + while(1) { + $31 = (($$02829) + 1)|0; + $32 = ($31|0)<($2|0); + $33 = $32 ? $31 : 0; + $34 = (((($3)) + 4|0) + ($33<<3)|0); + $35 = (((($3)) + 4|0) + ($$02829<<3)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$34+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$35+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy,$$byval_copy1); + $36 = (((($3)) + 196|0) + ($$02829<<3)|0); + $37 = HEAP32[$18>>2]|0; + $38 = +HEAPF32[$5>>2]; + $39 = -$38; + HEAP32[$36>>2] = $37; + $$sroa$2$0$$sroa_idx1 = (((((($3)) + 196|0) + ($$02829<<3)|0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $39; + _MathNormalize($36); + $40 = HEAP32[$3>>2]|0; + $41 = ($31>>>0)<($40>>>0); + if ($41) { + $$02829 = $31; + } else { + break; + } + } + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; +} +function _PhysicsAddForce($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $$byval_copy1 = 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; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy1 = sp + 16|0; + $$byval_copy = sp + 8|0; + $2 = sp; + $3 = ($0|0)==(0|0); + if ($3) { + STACKTOP = sp;return; + } + $4 = ((($0)) + 24|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Add_2($2,$$byval_copy,$$byval_copy1); + $5 = $2; + $6 = $5; + $7 = HEAP32[$6>>2]|0; + $8 = (($5) + 4)|0; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = $4; + $12 = $11; + HEAP32[$12>>2] = $7; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $10; + STACKTOP = sp;return; +} +function _Vector2Add_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 + $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 + $10; + HEAPF32[$6>>2] = $11; + return; +} +function _PhysicsShatter($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$0139178 = 0, $$0142170 = 0, $$0143163 = 0, $$0144160 = 0, $$0145$lcssa = 0.0, $$0145162 = 0.0, $$0146$lcssa = 0.0, $$0146161 = 0.0, $$alloca_mul = 0, $$byval_copy8 = 0, $$sroa$0$0$$sroa_idx$promoted = 0.0, $$sroa$0110$0$$sroa_idx = 0, $$sroa$0110$0$copyload = 0.0, $$sroa$2$0$$sroa_idx35 = 0, $$sroa$2$0$$sroa_idx35$promoted = 0.0, $$sroa$237$0$$sroa_idx38 = 0, $$sroa$6$0$$sroa_idx114 = 0, $$sroa$6$0$copyload = 0.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.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0; + var $156 = 0.0, $157 = 0.0, $158 = 0.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.0, $173 = 0.0; + var $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0.0, $186 = 0.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.0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.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.0, $234 = 0.0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0; + var $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0; + var $265 = 0, $266 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0; + var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0; + var $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.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, $tmpcast153$byval_copy = 0, $tmpcast154$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 976|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(976|0); + $tmpcast154$byval_copy = sp + 968|0; + $tmpcast153$byval_copy = sp + 952|0; + $$byval_copy8 = sp + 904|0; + $3 = sp + 496|0; + $4 = sp + 944|0; + $5 = sp + 24|0; + $6 = sp + 936|0; + $7 = sp + 480|0; + $8 = sp + 16|0; + $9 = sp + 928|0; + $10 = sp + 56|0; + $11 = sp + 72|0; + $12 = sp + 48|0; + $13 = sp + 40|0; + $14 = sp + 32|0; + $15 = sp + 8|0; + $16 = sp; + $17 = sp + 64|0; + $18 = sp + 920|0; + $19 = sp + 912|0; + $20 = ($0|0)==(0|0); + if ($20) { + STACKTOP = sp;return; + } + $21 = ((($0)) + 84|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + if (!($23)) { + STACKTOP = sp;return; + } + $24 = ((($0)) + 96|0); + _memcpy(($3|0),($24|0),404)|0; + $25 = HEAP32[$3>>2]|0; + $26 = ($25|0)==(0); + L7: do { + if (!($26)) { + $$sroa$0110$0$$sroa_idx = ((($0)) + 8|0); + $$sroa$6$0$$sroa_idx114 = ((($0)) + 12|0); + $27 = ((($3)) + 388|0); + $28 = ((($0)) + 8|0); + $29 = ((($$byval_copy8)) + 4|0); + $30 = ((($5)) + 4|0); + $31 = +HEAPF32[$1>>2]; + $32 = ((($1)) + 4|0); + $$0139178 = 0; + while(1) { + $$sroa$0110$0$copyload = +HEAPF32[$$sroa$0110$0$$sroa_idx>>2]; + $$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx114>>2]; + $33 = (((($3)) + 4|0) + ($$0139178<<3)|0); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$28>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$28+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$33>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$33+4>>2]|0; + _Vector2Add_2($4,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$27>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$tmpcast153$byval_copy+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$tmpcast153$byval_copy+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + _Mat2MultiplyVector2($$byval_copy8,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $34 = (($$0139178) + 1)|0; + $35 = HEAP32[$3>>2]|0; + $36 = ($34>>>0)<($35>>>0); + $37 = $36 ? $34 : 0; + $38 = (((($3)) + 4|0) + ($37<<3)|0); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$28>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$28+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$38>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$38+4>>2]|0; + _Vector2Add_2($6,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$27>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$tmpcast153$byval_copy+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$tmpcast153$byval_copy+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($5,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $39 = +HEAPF32[$29>>2]; + $40 = +HEAPF32[$30>>2]; + $41 = $39 - $40; + $42 = +HEAPF32[$5>>2]; + $43 = $31 - $42; + $44 = $41 * $43; + $45 = +HEAPF32[$$byval_copy8>>2]; + $46 = $42 - $45; + $47 = +HEAPF32[$32>>2]; + $48 = $47 - $40; + $49 = $46 * $48; + $50 = $44 + $49; + $51 = $$sroa$0110$0$copyload - $42; + $52 = $41 * $51; + $53 = $$sroa$6$0$copyload - $40; + $54 = $53 * $46; + $55 = $52 + $54; + $56 = $50 / $55; + $57 = $40 - $$sroa$6$0$copyload; + $58 = $57 * $43; + $59 = $51 * $48; + $60 = $58 + $59; + $61 = $60 / $55; + $62 = $56 > 0.0; + if ($62) { + $63 = 1.0 - $56; + $64 = $63 - $61; + $65 = $61 > 0.0; + $66 = $64 > 0.0; + $67 = $65 & $66; + if ($67) { + break; + } + } + $68 = HEAP32[$3>>2]|0; + $69 = ($34>>>0)<($68>>>0); + if ($69) { + $$0139178 = $34; + } else { + break L7; + } + } + $70 = HEAP32[$3>>2]|0; + $71 = ((($0)) + 8|0); + $72 = $71; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = $5; + $79 = $78; + HEAP32[$79>>2] = $74; + $80 = (($78) + 4)|0; + $81 = $80; + HEAP32[$81>>2] = $77; + $82 = (_llvm_stacksave()|0); + $$alloca_mul = $70<<3; + $83 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $84 = ((($3)) + 388|0); + ;HEAP32[$7>>2]=HEAP32[$84>>2]|0;HEAP32[$7+4>>2]=HEAP32[$84+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$84+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$84+12>>2]|0; + $85 = ($70|0)>(0); + if ($85) { + $scevgep = ((($3)) + 4|0); + $86 = $70 << 3; + _memcpy(($83|0),($scevgep|0),($86|0))|0; + _DestroyPhysicsBody($0); + $87 = ((($9)) + 4|0); + $88 = ((($11)) + 388|0); + $89 = ((($11)) + 4|0); + $90 = ((($11)) + 12|0); + $91 = ((($11)) + 20|0); + $92 = ((($11)) + 8|0); + $93 = ((($11)) + 16|0); + $94 = ((($11)) + 24|0); + $$sroa$2$0$$sroa_idx35 = ((($8)) + 4|0); + $95 = ((($16)) + 4|0); + $96 = ((($17)) + 4|0); + $97 = ((($15)) + 4|0); + $98 = ((($16)) + 4|0); + $99 = ((($15)) + 4|0); + $100 = ((($11)) + 28|0); + $$0142170 = 0; + while(1) { + $101 = (($$0142170) + 1)|0; + $102 = ($101|0)<($70|0); + $103 = $102 ? $101 : 0; + $104 = (($83) + ($$0142170<<3)|0); + $105 = (($83) + ($103<<3)|0); + HEAPF32[$9>>2] = 0.0; + HEAPF32[$87>>2] = 0.0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[$104>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$104+4>>2]|0; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$105>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$105+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$9+4>>2]|0; + _TriangleBarycenter($8,$$byval_copy8,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + _Vector2Add_2($10,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $106 = $10; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (($106) + 4)|0; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = $8; + $113 = $112; + HEAP32[$113>>2] = $108; + $114 = (($112) + 4)|0; + $115 = $114; + HEAP32[$115>>2] = $111; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + _Vector2Subtract_4($$byval_copy8,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + $116 = (_CreatePhysicsBodyPolygon($tmpcast154$byval_copy,10.0,3,10.0)|0); + _memset(($100|0),0,360)|0; + HEAP32[$11>>2] = 3; + ;HEAP32[$88>>2]=HEAP32[$7>>2]|0;HEAP32[$88+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$88+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$88+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$104>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$104+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$$byval_copy8>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$$byval_copy8+4>>2]|0; + _Vector2Subtract_4($12,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $117 = $12; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = $89; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$105>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$105+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$$byval_copy8>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$$byval_copy8+4>>2]|0; + _Vector2Subtract_4($13,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $127 = $13; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = $90; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + _Vector2Subtract_4($14,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $137 = $14; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = (($137) + 4)|0; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = $91; + $144 = $143; + HEAP32[$144>>2] = $139; + $145 = (($143) + 4)|0; + $146 = $145; + HEAP32[$146>>2] = $142; + $147 = +HEAPF32[$89>>2]; + $148 = $147 * 0.94999998807907104; + HEAPF32[$89>>2] = $148; + $149 = +HEAPF32[$92>>2]; + $150 = $149 * 0.94999998807907104; + HEAPF32[$92>>2] = $150; + $151 = +HEAPF32[$90>>2]; + $152 = $151 * 0.94999998807907104; + HEAPF32[$90>>2] = $152; + $153 = +HEAPF32[$93>>2]; + $154 = $153 * 0.94999998807907104; + HEAPF32[$93>>2] = $154; + $155 = +HEAPF32[$91>>2]; + $156 = $155 * 0.94999998807907104; + HEAPF32[$91>>2] = $156; + $157 = +HEAPF32[$94>>2]; + $158 = $157 * 0.94999998807907104; + HEAPF32[$94>>2] = $158; + $159 = HEAP32[$11>>2]|0; + $160 = ($159|0)==(0); + if (!($160)) { + $$0144160 = 0;$166 = $159; + while(1) { + $164 = (($$0144160) + 1)|0; + $165 = ($164>>>0)<($166>>>0); + $167 = $165 ? $164 : 0; + $168 = (((($11)) + 4|0) + ($167<<3)|0); + $169 = (((($11)) + 4|0) + ($$0144160<<3)|0); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$168>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$168+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$169>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$169+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $170 = (((($11)) + 196|0) + ($$0144160<<3)|0); + $171 = HEAP32[$99>>2]|0; + $172 = +HEAPF32[$15>>2]; + $173 = -$172; + HEAP32[$170>>2] = $171; + $$sroa$237$0$$sroa_idx38 = (((((($11)) + 196|0) + ($$0144160<<3)|0)) + 4|0); + HEAPF32[$$sroa$237$0$$sroa_idx38>>2] = $173; + _MathNormalize($170); + $174 = HEAP32[$11>>2]|0; + $175 = ($164>>>0)<($174>>>0); + if ($175) { + $$0144160 = $164;$166 = $174; + } else { + break; + } + } + } + $161 = ((($116)) + 96|0); + _memcpy(($161|0),($11|0),404)|0; + HEAPF32[$8>>2] = 0.0; + HEAPF32[$$sroa$2$0$$sroa_idx35>>2] = 0.0; + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==(0); + if ($163) { + $$0145$lcssa = 0.0;$$0146$lcssa = 0.0; + } else { + $$sroa$0$0$$sroa_idx$promoted = +HEAPF32[$8>>2]; + $$sroa$2$0$$sroa_idx35$promoted = +HEAPF32[$$sroa$2$0$$sroa_idx35>>2]; + $$0143163 = 0;$$0145162 = 0.0;$$0146161 = 0.0;$241 = $$sroa$0$0$$sroa_idx$promoted;$246 = $$sroa$2$0$$sroa_idx35$promoted; + while(1) { + $207 = (((($116)) + 100|0) + ($$0143163<<3)|0); + $208 = $207; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = $15; + $215 = $214; + HEAP32[$215>>2] = $210; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $213; + $218 = (($$0143163) + 1)|0; + $219 = HEAP32[$161>>2]|0; + $220 = ($218>>>0)<($219>>>0); + $221 = $220 ? $218 : 0; + $222 = (((($116)) + 100|0) + ($221<<3)|0); + $223 = $222; + $224 = $223; + $225 = HEAP32[$224>>2]|0; + $226 = (($223) + 4)|0; + $227 = $226; + $228 = HEAP32[$227>>2]|0; + $229 = $16; + $230 = $229; + HEAP32[$230>>2] = $225; + $231 = (($229) + 4)|0; + $232 = $231; + HEAP32[$232>>2] = $228; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$16+4>>2]|0; + $233 = (+_MathCrossVector2($tmpcast153$byval_copy,$tmpcast154$byval_copy)); + $234 = $233 * 0.5; + $235 = $$0146161 + $234; + $236 = $234 * 0.3333333432674408; + $237 = +HEAPF32[$15>>2]; + $238 = +HEAPF32[$16>>2]; + $239 = $237 + $238; + $240 = $236 * $239; + $176 = $241 + $240; + $242 = +HEAPF32[$97>>2]; + $243 = +HEAPF32[$98>>2]; + $244 = $242 + $243; + $245 = $236 * $244; + $177 = $246 + $245; + $247 = +HEAPF32[$15>>2]; + $248 = $247 * $247; + $249 = +HEAPF32[$16>>2]; + $250 = $247 * $249; + $251 = $248 + $250; + $252 = $249 * $249; + $253 = $252 + $251; + $254 = +HEAPF32[$97>>2]; + $255 = $254 * $254; + $256 = +HEAPF32[$98>>2]; + $257 = $254 * $256; + $258 = $255 + $257; + $259 = $256 * $256; + $260 = $259 + $258; + $261 = $233 * 0.083333335816860198; + $262 = $253 + $260; + $263 = $261 * $262; + $264 = $$0145162 + $263; + $265 = HEAP32[$161>>2]|0; + $266 = ($218>>>0)<($265>>>0); + if ($266) { + $$0143163 = $218;$$0145162 = $264;$$0146161 = $235;$241 = $176;$246 = $177; + } else { + break; + } + } + HEAPF32[$8>>2] = $176; + HEAPF32[$$sroa$2$0$$sroa_idx35>>2] = $177; + $$0145$lcssa = $264;$$0146$lcssa = $235; + } + $178 = 1.0 / $$0146$lcssa; + $179 = ((($116)) + 52|0); + HEAPF32[$179>>2] = $$0146$lcssa; + $180 = $$0146$lcssa != 0.0; + $181 = $180 ? $178 : 0.0; + $182 = ((($116)) + 56|0); + HEAPF32[$182>>2] = $181; + $183 = ((($116)) + 44|0); + HEAPF32[$183>>2] = $$0145$lcssa; + $184 = $$0145$lcssa != 0.0; + $185 = 1.0 / $$0145$lcssa; + $186 = $184 ? $185 : 0.0; + $187 = ((($116)) + 48|0); + HEAPF32[$187>>2] = $186; + $188 = ((($116)) + 8|0); + $189 = $188; + $190 = $189; + $191 = HEAP32[$190>>2]|0; + $192 = (($189) + 4)|0; + $193 = $192; + $194 = HEAP32[$193>>2]|0; + $195 = $15; + $196 = $195; + HEAP32[$196>>2] = $191; + $197 = (($195) + 4)|0; + $198 = $197; + HEAP32[$198>>2] = $194; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$90>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$90+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$89>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$89+4>>2]|0; + _Vector2Subtract_4($16,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $199 = +HEAPF32[$16>>2]; + $200 = $199 * 0.5; + HEAPF32[$16>>2] = $200; + $201 = +HEAPF32[$95>>2]; + $202 = $201 * 0.5; + HEAPF32[$95>>2] = $202; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$89>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$89+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$16+4>>2]|0; + _Vector2Add_2($19,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$19>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$19+4>>2]|0; + _Vector2Add_2($18,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$18>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$18+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$188>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$188+4>>2]|0; + _Vector2Subtract_4($17,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + _MathNormalize($17); + $203 = +HEAPF32[$17>>2]; + $204 = $203 * $2; + HEAPF32[$17>>2] = $204; + $205 = +HEAPF32[$96>>2]; + $206 = $205 * $2; + HEAPF32[$96>>2] = $206; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$17>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$17+4>>2]|0; + _PhysicsAddForce($116,$tmpcast154$byval_copy); + $exitcond = ($101|0)==($70|0); + if ($exitcond) { + break; + } else { + $$0142170 = $101; + } + } + } else { + _DestroyPhysicsBody($0); + } + _llvm_stackrestore(($82|0)); + } + } while(0); + STACKTOP = sp;return; +} +function _Mat2MultiplyVector2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 * $4; + $6 = ((($1)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($2)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + HEAPF32[$0>>2] = $11; + $12 = ((($0)) + 4|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $4 * $14; + $16 = ((($1)) + 12|0); + $17 = +HEAPF32[$16>>2]; + $18 = $9 * $17; + $19 = $15 + $18; + HEAPF32[$12>>2] = $19; + return; +} +function _DestroyPhysicsBody($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$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; + var $24 = 0, $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|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3573]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3573]|0; + $$02023 = 0; + while(1) { + $6 = (14296 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14296 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3572]|0; + $15 = (($14) + -500)|0; + HEAP32[3572] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3573]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3573]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14296 + ($$022<<2)|0); + $25 = (14296 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3573] = $19; + return; +} +function _TriangleBarycenter($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sroa$5$0$$sroa_idx2 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = +HEAPF32[$1>>2]; + $5 = +HEAPF32[$2>>2]; + $6 = $4 + $5; + $7 = +HEAPF32[$3>>2]; + $8 = $6 + $7; + $9 = $8 / 3.0; + $10 = ((($1)) + 4|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($2)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 + $13; + $15 = ((($3)) + 4|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 + $16; + $18 = $17 / 3.0; + HEAPF32[$0>>2] = $9; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$5$0$$sroa_idx2>>2] = $18; + return; +} +function _Vector2Subtract_4($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 - $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + return; +} +function _MathNormalize($0) { + $0 = $0|0; + var $$op = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$5$0$copyload = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$sroa$0$0$copyload = +HEAPF32[$0>>2]; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 4|0); + $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx3>>2]; + $1 = $$sroa$0$0$copyload * $$sroa$0$0$copyload; + $2 = $$sroa$5$0$copyload * $$sroa$5$0$copyload; + $3 = $1 + $2; + $4 = (+Math_sqrt((+$3))); + $5 = $4 == 0.0; + $$op = 1.0 / $4; + $6 = $5 ? 1.0 : $$op; + $7 = $$sroa$0$0$copyload * $6; + HEAPF32[$0>>2] = $7; + $8 = $$sroa$5$0$copyload * $6; + HEAPF32[$$sroa$5$0$$sroa_idx3>>2] = $8; + return; +} +function _GetPhysicsBodiesCount() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3573]|0; + return ($0|0); +} +function _GetPhysicsBody($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3573]|0; + $2 = ($1>>>0)>($0>>>0); + if (!($2)) { + $$0 = 0; + return ($$0|0); + } + $3 = (14296 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$0 = $4; + return ($$0|0); +} +function _GetPhysicsShapeVerticesCount($0) { + $0 = $0|0; + var $$1 = 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 = HEAP32[3573]|0; + $2 = ($1>>>0)>($0>>>0); + L1: do { + if ($2) { + $3 = (14296 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $$1 = 0; + } else { + $6 = ((($4)) + 84|0); + $7 = HEAP32[$6>>2]|0; + switch ($7|0) { + case 0: { + $$1 = 24; + break L1; + break; + } + case 1: { + $8 = ((($4)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $$1 = $9; + break L1; + break; + } + default: { + $$1 = 0; + break L1; + } + } + } + } else { + $$1 = 0; + } + } while(0); + return ($$1|0); +} +function _GetPhysicsShapeVertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$0$0 = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$6$0 = 0.0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx5 = 0, $$sroa$6$0$copyload = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0; + var $22 = 0.0, $23 = 0.0, $24 = 0.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; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy3 = sp + 440|0; + $$byval_copy2 = sp + 424|0; + $3 = sp; + $4 = sp + 416|0; + $5 = sp + 408|0; + $6 = ($1|0)==(0|0); + L1: do { + if ($6) { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + } else { + $7 = ((($1)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + $9 = ((($1)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = ($2*15)|0; + $12 = (+($11|0)); + $13 = $12 * 0.017453292519943295; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = ((($1)) + 92|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 * $17; + $19 = $10 + $18; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = (+Math_sin((+$14))); + $23 = $17 * $22; + $24 = $21 + $23; + $$sroa$0$0 = $19;$$sroa$6$0 = $24; + break L1; + break; + } + case 1: { + $25 = ((($1)) + 96|0); + _memcpy(($3|0),($25|0),404)|0; + $26 = ((($1)) + 8|0); + $27 = ((($3)) + 388|0); + $28 = (((($3)) + 4|0) + ($2<<3)|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$28+4>>2]|0; + _Mat2MultiplyVector2($4,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0; + _Vector2Add_2($5,$$byval_copy2,$$byval_copy3); + $$sroa$0$0$copyload = +HEAPF32[$5>>2]; + $$sroa$6$0$$sroa_idx4 = ((($5)) + 4|0); + $$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx4>>2]; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$6$0 = $$sroa$6$0$copyload; + break L1; + break; + } + default: { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + break L1; + } + } + } + } while(0); + HEAPF32[$0>>2] = $$sroa$0$0; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 4|0); + HEAPF32[$$sroa$6$0$$sroa_idx5>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _Mat2Radians($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = ((($0)) + 4|0); + $5 = -$3; + HEAPF32[$4>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _ResetPhysics() { + var $$0 = 0, $$016 = 0, $$01620 = 0, $$01621 = 0, $$018 = 0, $$019 = 0, $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; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3573]|0; + $$01620 = (($0) + -1)|0; + $1 = ($$01620|0)>(-1); + if ($1) { + $$01621 = $$01620; + while(1) { + $4 = (14296 + ($$01621<<2)|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + _free($5); + $8 = HEAP32[3572]|0; + $9 = (($8) + -500)|0; + HEAP32[3572] = $9; + } + $$016 = (($$01621) + -1)|0; + $7 = ($$016|0)>(-1); + if ($7) { + $$01621 = $$016; + } else { + break; + } + } + } + HEAP32[3573] = 0; + $2 = HEAP32[3638]|0; + $$018 = (($2) + -1)|0; + $3 = ($$018|0)>(-1); + if ($3) { + $$019 = $$018; + } else { + HEAP32[3638] = 0; + return; + } + while(1) { + $10 = (14556 + ($$019<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0|0); + if (!($12)) { + _free($11); + $14 = HEAP32[3572]|0; + $15 = (($14) + -56)|0; + HEAP32[3572] = $15; + } + $$0 = (($$019) + -1)|0; + $13 = ($$0|0)>(-1); + if ($13) { + $$019 = $$0; + } else { + break; + } + } + HEAP32[3638] = 0; + return; +} +function _ClosePhysics() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3571] = 0; + $0 = HEAP32[3570]|0; + (_pthread_join(($0|0),(0|0))|0); + return; +} +function _main() { + var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp + 8|0; + $0 = sp; + _SetConfigFlags(32); + $1 = HEAP32[2]|0; + $2 = HEAP32[3]|0; + _InitWindow($1,$2,3244); + $3 = HEAP32[2]|0; + $4 = (_MeasureText(3275,30)|0); + $5 = (($3) + -10)|0; + $6 = (($5) - ($4))|0; + HEAP32[7735] = $6; + _InitPhysics(); + _SetPhysicsGravity(0.0,0.0); + $7 = HEAP32[2]|0; + $8 = (($7|0) / 2)&-1; + $9 = (+($8|0)); + HEAPF32[$0>>2] = $9; + $10 = ((($0)) + 4|0); + $11 = HEAP32[3]|0; + $12 = (($11|0) / 2)&-1; + $13 = (+($12|0)); + HEAPF32[$10>>2] = $13; + $14 = (_GetRandomValue(80,200)|0); + $15 = (+($14|0)); + $16 = (_GetRandomValue(3,8)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + $17 = (_CreatePhysicsBodyPolygon($$byval_copy,$15,$16,10.0)|0); + HEAP32[7736] = $17; + _emscripten_set_main_loop((1|0),0,1); + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$03840 = 0, $$03941 = 0, $$046 = 0, $$046$in = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.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.0, $31 = 0.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, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, $exitcond49 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy5 = sp + 64|0; + $$byval_copy4 = sp + 56|0; + $$byval_copy3 = sp + 48|0; + $0 = sp + 40|0; + $1 = sp + 32|0; + $2 = sp + 76|0; + $3 = sp + 24|0; + $4 = sp + 8|0; + $5 = sp + 72|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp; + $9 = (_IsKeyPressed(82)|0); + $10 = ($9|0)==(0); + if (!($10)) { + _ResetPhysics(); + $11 = HEAP32[2]|0; + $12 = (($11|0) / 2)&-1; + $13 = (+($12|0)); + HEAPF32[$0>>2] = $13; + $14 = ((($0)) + 4|0); + $15 = HEAP32[3]|0; + $16 = (($15|0) / 2)&-1; + $17 = (+($16|0)); + HEAPF32[$14>>2] = $17; + $18 = (_GetRandomValue(80,200)|0); + $19 = (+($18|0)); + $20 = (_GetRandomValue(3,8)|0); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0; + $21 = (_CreatePhysicsBodyPolygon($$byval_copy5,$19,$20,10.0)|0); + HEAP32[7736] = $21; + } + $22 = (_IsMouseButtonPressed(0)|0); + $23 = ($22|0)==(0); + if (!($23)) { + $24 = (_GetPhysicsBodiesCount()|0); + $25 = ($24|0)>(0); + if ($25) { + $$046$in = $24; + while(1) { + $$046 = (($$046$in) + -1)|0; + $26 = (_GetPhysicsBody($$046)|0); + $27 = ($26|0)==(0|0); + if (!($27)) { + _GetMousePosition($1); + $29 = ((($26)) + 56|0); + $30 = +HEAPF32[$29>>2]; + $31 = 10.0 / $30; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$1+4>>2]|0; + _PhysicsShatter($26,$$byval_copy5,$31); + } + $28 = ($$046$in|0)>(1); + if ($28) { + $$046$in = $$046; + } else { + break; + } + } + } + } + _BeginDrawing(); + HEAP8[$2>>0] = 0; + $32 = ((($2)) + 1|0); + HEAP8[$32>>0] = 0; + $33 = ((($2)) + 2|0); + HEAP8[$33>>0] = 0; + $34 = ((($2)) + 3|0); + HEAP8[$34>>0] = -1; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$2+3>>0]|0; + _ClearBackground($$byval_copy5); + $35 = (_GetPhysicsBodiesCount()|0); + $36 = ($35|0)>(0); + if ($36) { + $37 = ((($5)) + 1|0); + $38 = ((($5)) + 2|0); + $39 = ((($5)) + 3|0); + $$03941 = 0; + while(1) { + $46 = (_GetPhysicsBody($$03941)|0); + $47 = (_GetPhysicsShapeVerticesCount($$03941)|0); + $48 = ($47|0)>(0); + if ($48) { + $$03840 = 0; + while(1) { + _GetPhysicsShapeVertex($3,$46,$$03840); + $50 = (($$03840) + 1)|0; + $51 = ($50|0)<($47|0); + $52 = $51 ? $50 : 0; + _GetPhysicsShapeVertex($4,$46,$52); + HEAP8[$5>>0] = 0; + HEAP8[$37>>0] = -28; + HEAP8[$38>>0] = 48; + HEAP8[$39>>0] = -1; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawLineV($$byval_copy3,$$byval_copy4,$$byval_copy5); + $exitcond = ($50|0)==($47|0); + if ($exitcond) { + break; + } else { + $$03840 = $50; + } + } + } + $49 = (($$03941) + 1)|0; + $exitcond49 = ($49|0)==($35|0); + if ($exitcond49) { + break; + } else { + $$03941 = $49; + } + } + } + HEAP32[$6>>2] = -1; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$6+3>>0]|0; + _DrawText(3282,10,10,10,$$byval_copy5); + $40 = HEAP32[7735]|0; + $41 = HEAP32[4]|0; + HEAP32[$7>>2] = -1; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText(3275,$40,$41,30,$$byval_copy5); + $42 = HEAP32[7735]|0; + $43 = (($42) + 50)|0; + $44 = HEAP32[4]|0; + $45 = (($44) + -7)|0; + HEAP32[$8>>2] = -1; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText(3359,$43,$45,10,$$byval_copy5); + _EndDrawing(); + STACKTOP = sp;return; +} +function _GetRandomNumber() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_rand()|0); + $1 = (($0|0) % 361)&-1; + return ($1|0); +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetCurrentTime()); + HEAPF64[1749] = $1; + return; +} +function _GetCurrentTime() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.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; + (_clock_gettime(1,($0|0))|0); + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)<(0); + $3 = $2 << 31 >> 31; + $4 = (___muldi3(($1|0),($3|0),1000000000,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 = (+($10>>>0)) + (4294967296.0*(+($11>>>0))); + $13 = $12 * 9.9999999999999995E-7; + STACKTOP = sp;return (+$13); +} +function _MathClamp() { + var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1747]; + $1 = $0 < 0.0; + if ($1) { + $$sink = 0.0; + } else { + $2 = $0 > 0.02; + if ($2) { + $$sink = 0.02; + } else { + return; + } + } + HEAPF64[1747] = $$sink; + return; +} +function _PhysicsStep() { + var $$0 = 0, $$0125165 = 0, $$0126163 = 0, $$0127147 = 0, $$0129148 = 0, $$0130 = 0, $$0130160 = 0, $$0130161 = 0, $$0131150 = 0, $$0132 = 0, $$0133152 = 0, $$0134155 = 0, $$0134155$ph = 0, $$0135158 = 0, $$0136156 = 0, $$0167 = 0, $$0168 = 0, $$pr = 0, $$pr172 = 0, $$sroa$0$0$$sroa_idx = 0; + var $$sroa$2$0$$sroa_idx1 = 0, $0 = 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, $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, $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.0, $32 = 0, $33 = 0, $34 = 0.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, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7737]|0; + $1 = (($0) + 1)|0; + HEAP32[7737] = $1; + $2 = HEAP32[3638]|0; + $$0167 = (($2) + -1)|0; + $3 = ($$0167|0)>(-1); + if ($3) { + $$0168 = $$0167; + while(1) { + $6 = (14556 + ($$0168<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + _DestroyPhysicsManifold($7); + } + $$0 = (($$0168) + -1)|0; + $9 = ($$0|0)>(-1); + if ($9) { + $$0168 = $$0; + } else { + break; + } + } + } + $4 = HEAP32[3573]|0; + $5 = ($4|0)==(0); + if ($5) { + $17 = $4; + label = 8; + } else { + $$0125165 = 0; + while(1) { + $11 = (14296 + ($$0125165<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 76|0); + HEAP32[$13>>2] = 0; + $14 = (($$0125165) + 1)|0; + $15 = ($14>>>0)<($4>>>0); + if ($15) { + $$0125165 = $14; + } else { + break; + } + } + $$pr = HEAP32[3573]|0; + $10 = ($$pr|0)==(0); + if (!($10)) { + $$0126163 = 0; + while(1) { + $19 = (14296 + ($$0126163<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0|0); + if (!($21)) { + $$0130160 = (($$0126163) + 1)|0; + $22 = HEAP32[3573]|0; + $23 = ($$0130160>>>0)<($22>>>0); + if ($23) { + $24 = ((($20)) + 56|0); + $25 = ((($20)) + 84|0); + $$0130161 = $$0130160; + while(1) { + $26 = (14296 + ($$0130161<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0|0); + do { + if (!($28)) { + $31 = +HEAPF32[$24>>2]; + $32 = $31 == 0.0; + if ($32) { + $33 = ((($27)) + 56|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 == 0.0; + if ($35) { + break; + } + } + $36 = HEAP32[$25>>2]|0; + $37 = ($36|0)==(1); + if ($37) { + $38 = ((($27)) + 84|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $41 = (_CreatePhysicsManifold($27,$20)|0); + $$0132 = $41; + } else { + label = 20; + } + } else { + label = 20; + } + if ((label|0) == 20) { + label = 0; + $42 = (_CreatePhysicsManifold($20,$27)|0); + $$0132 = $42; + } + _SolvePhysicsManifold($$0132); + $43 = ((($$0132)) + 40|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(0); + if (!($45)) { + $46 = (_CreatePhysicsManifold($20,$27)|0); + $47 = ((($$0132)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ((($46)) + 12|0); + HEAP32[$49>>2] = $48; + $50 = ((($46)) + 16|0); + $51 = ((($$0132)) + 16|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $50; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = ((($46)) + 24|0); + $63 = ((($$0132)) + 24|0); + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $62; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = ((($46)) + 32|0); + $75 = ((($$0132)) + 32|0); + $76 = $75; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $74; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = HEAP32[$43>>2]|0; + $87 = ((($46)) + 40|0); + HEAP32[$87>>2] = $86; + $88 = ((($$0132)) + 44|0); + $89 = HEAP32[$88>>2]|0; + $90 = ((($46)) + 44|0); + HEAP32[$90>>2] = $89; + $91 = ((($$0132)) + 48|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($46)) + 48|0); + HEAP32[$93>>2] = $92; + $94 = ((($$0132)) + 52|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($46)) + 52|0); + HEAP32[$96>>2] = $95; + } + } + } while(0); + $$0130 = (($$0130161) + 1)|0; + $29 = HEAP32[3573]|0; + $30 = ($$0130>>>0)<($29>>>0); + if ($30) { + $$0130161 = $$0130; + } else { + break; + } + } + } + } + $97 = (($$0126163) + 1)|0; + $98 = HEAP32[3573]|0; + $99 = ($97>>>0)<($98>>>0); + if ($99) { + $$0126163 = $97; + } else { + $17 = $98; + label = 8; + break; + } + } + } + } + if ((label|0) == 8) { + $16 = ($17|0)==(0); + if (!($16)) { + $18 = HEAP32[3573]|0; + $$0135158 = 0; + while(1) { + $103 = (14296 + ($$0135158<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)==(0|0); + if (!($105)) { + _IntegratePhysicsForces($104); + } + $106 = (($$0135158) + 1)|0; + $107 = ($106>>>0)<($18>>>0); + if ($107) { + $$0135158 = $106; + } else { + break; + } + } + } + } + $100 = HEAP32[3638]|0; + $101 = ($100|0)==(0); + if ($101) { + $$0134155 = 0;$114 = 0; + } else { + $102 = HEAP32[3638]|0; + $$0136156 = 0; + while(1) { + $108 = (14556 + ($$0136156<<2)|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)==(0|0); + if (!($110)) { + _InitializePhysicsManifolds($109); + } + $111 = (($$0136156) + 1)|0; + $112 = ($111>>>0)<($102>>>0); + if ($112) { + $$0136156 = $111; + } else { + $$0134155$ph = 0; + label = 32; + break; + } + } + } + while(1) { + if ((label|0) == 32) { + label = 0; + $$pr172 = HEAP32[3638]|0; + $$0134155 = $$0134155$ph;$114 = $$pr172; + } + $113 = ($114|0)==(0); + if (!($113)) { + $115 = (14556 + ($$0134155<<2)|0); + $$0133152 = 0; + while(1) { + $120 = HEAP32[$115>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + _IntegratePhysicsImpulses($120); + } + $122 = (($$0133152) + 1)|0; + $123 = HEAP32[3638]|0; + $124 = ($122>>>0)<($123>>>0); + if ($124) { + $$0133152 = $122; + } else { + break; + } + } + } + $119 = (($$0134155) + 1)|0; + $exitcond = ($119|0)==(100); + if ($exitcond) { + break; + } else { + $$0134155$ph = $119; + label = 32; + } + } + $116 = HEAP32[3573]|0; + $117 = ($116|0)==(0); + if (!($117)) { + $118 = HEAP32[3573]|0; + $$0131150 = 0; + while(1) { + $128 = (14296 + ($$0131150<<2)|0); + $129 = HEAP32[$128>>2]|0; + $130 = ($129|0)==(0|0); + if (!($130)) { + _IntegratePhysicsVelocity($129); + } + $131 = (($$0131150) + 1)|0; + $132 = ($131>>>0)<($118>>>0); + if ($132) { + $$0131150 = $131; + } else { + break; + } + } + } + $125 = HEAP32[3638]|0; + $126 = ($125|0)==(0); + if (!($126)) { + $127 = HEAP32[3638]|0; + $$0129148 = 0; + while(1) { + $136 = (14556 + ($$0129148<<2)|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($137|0)==(0|0); + if (!($138)) { + _CorrectPhysicsPositions($137); + } + $139 = (($$0129148) + 1)|0; + $140 = ($139>>>0)<($127>>>0); + if ($140) { + $$0129148 = $139; + } else { + break; + } + } + } + $133 = HEAP32[3573]|0; + $134 = ($133|0)==(0); + if ($134) { + return; + } + $135 = HEAP32[3573]|0; + $$0127147 = 0; + while(1) { + $141 = (14296 + ($$0127147<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if (!($143)) { + $$sroa$0$0$$sroa_idx = ((($142)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx1 = ((($142)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = 0.0; + $144 = ((($142)) + 36|0); + HEAPF32[$144>>2] = 0.0; + } + $145 = (($$0127147) + 1)|0; + $146 = ($145>>>0)<($135>>>0); + if ($146) { + $$0127147 = $145; + } else { + break; + } + } + return; +} +function _DestroyPhysicsManifold($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$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; + var $24 = 0, $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|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3638]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3638]|0; + $$02023 = 0; + while(1) { + $6 = (14556 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14556 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3572]|0; + $15 = (($14) + -56)|0; + HEAP32[3572] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3638]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3638]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14556 + ($$022<<2)|0); + $25 = (14556 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3638] = $19; + return; +} +function _CreatePhysicsManifold($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$04457 = 0, $$044576162 = 0, $$04755 = 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; + var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + $2 = (_malloc(56)|0); + $3 = HEAP32[3572]|0; + $4 = (($3) + 56)|0; + HEAP32[3572] = $4; + $5 = HEAP32[3638]|0; + $6 = ($5|0)==(0); + $$04457 = 0; + L1: while(1) { + if ($6) { + $$044576162 = 0; + break; + } else { + $$04755 = 0; + } + while(1) { + $9 = (14556 + ($$04755<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==($$04457|0); + $8 = (($$04755) + 1)|0; + if ($12) { + break; + } + $7 = ($8>>>0)<($5>>>0); + if ($7) { + $$04755 = $8; + } else { + label = 6; + break L1; + } + } + $13 = (($$04457) + 1)|0; + $14 = ($13|0)<(4096); + if ($14) { + $$04457 = $13; + } else { + label = 8; + break; + } + } + if ((label|0) == 8) { + return ($2|0); + } + if ((label|0) == 6) { + $15 = ($$04457|0)==(-1); + if ($15) { + return ($2|0); + } else { + $$044576162 = $$04457; + } + } + HEAP32[$2>>2] = $$044576162; + $16 = ((($2)) + 4|0); + HEAP32[$16>>2] = $0; + $17 = ((($2)) + 8|0); + HEAP32[$17>>2] = $1; + $18 = ((($2)) + 12|0); + dest=$18; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $19 = HEAP32[3638]|0; + $20 = (14556 + ($19<<2)|0); + HEAP32[$20>>2] = $2; + $21 = (($19) + 1)|0; + HEAP32[3638] = $21; + return ($2|0); +} +function _SolvePhysicsManifold($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.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 84|0); + $4 = HEAP32[$3>>2]|0; + L1: do { + switch ($4|0) { + case 0: { + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + _SolveCircleToCircle($0); + break L1; + break; + } + case 1: { + _SolveCircleToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + case 1: { + $9 = ((($0)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 84|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 0: { + _SolvePolygonToCircle($0); + break L1; + break; + } + case 1: { + _SolvePolygonToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + default: { + } + } + } while(0); + $13 = ((($0)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 76|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + return; + } + $18 = ((($0)) + 20|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19 < 0.0; + $21 = $20&1; + HEAP32[$15>>2] = $21; + return; +} +function _IntegratePhysicsForces($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 56|0); + $2 = +HEAPF32[$1>>2]; + $3 = $2 == 0.0; + if ($3) { + return; + } + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + return; + } + $7 = ((($0)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $2 * $8; + $10 = $9; + $11 = +HEAPF64[1750]; + $12 = $11 * 0.5; + $13 = $10 * $12; + $14 = ((($0)) + 16|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $16 + $13; + $18 = $17; + HEAPF32[$14>>2] = $18; + $19 = ((($0)) + 28|0); + $20 = +HEAPF32[$19>>2]; + $21 = $2 * $20; + $22 = $21; + $23 = $12 * $22; + $24 = ((($0)) + 20|0); + $25 = +HEAPF32[$24>>2]; + $26 = $25; + $27 = $26 + $23; + $28 = $27; + HEAPF32[$24>>2] = $28; + $29 = ((($0)) + 72|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = +HEAPF32[7738]; + $33 = $32; + $34 = $12 * $33; + $35 = +HEAPF32[$14>>2]; + $36 = $35; + $37 = $36 + $34; + $38 = $37; + HEAPF32[$14>>2] = $38; + $39 = +HEAPF32[5]; + $40 = $39; + $41 = $12 * $40; + $42 = +HEAPF32[$24>>2]; + $43 = $42; + $44 = $43 + $41; + $45 = $44; + HEAPF32[$24>>2] = $45; + } + $46 = ((($0)) + 80|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==(0); + if (!($48)) { + return; + } + $49 = ((($0)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = ((($0)) + 48|0); + $52 = +HEAPF32[$51>>2]; + $53 = $50 * $52; + $54 = $53; + $55 = $12 * $54; + $56 = ((($0)) + 32|0); + $57 = +HEAPF32[$56>>2]; + $58 = $57; + $59 = $58 + $55; + $60 = $59; + HEAPF32[$56>>2] = $60; + return; +} +function _InitializePhysicsManifolds($0) { + $0 = $0|0; + var $$byval_copy14 = 0, $$byval_copy9 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0; + var $26 = 0, $27 = 0.0, $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, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0; + var $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0; + var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0; + var $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy14 = sp + 48|0; + $$byval_copy9 = sp + 40|0; + $1 = sp + 24|0; + $2 = sp + 16|0; + $3 = sp + 8|0; + $4 = sp; + $5 = sp + 32|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($7)) + 68|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($9)) + 68|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 * $13; + $15 = (+Math_sqrt((+$14))); + $16 = ((($0)) + 44|0); + HEAPF32[$16>>2] = $15; + $17 = ((($7)) + 60|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($9)) + 60|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + $22 = (+Math_sqrt((+$21))); + $23 = ((($0)) + 52|0); + HEAPF32[$23>>2] = $22; + $24 = ((($7)) + 64|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($9)) + 64|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 * $27; + $29 = (+Math_sqrt((+$28))); + $30 = ((($0)) + 48|0); + HEAPF32[$30>>2] = $29; + $31 = ((($7)) + 8|0); + $32 = ((($9)) + 8|0); + $33 = ((($7)) + 32|0); + $34 = ((($9)) + 32|0); + $35 = ((($9)) + 16|0); + $36 = ((($7)) + 16|0); + $37 = ((($9)) + 20|0); + $38 = ((($3)) + 4|0); + $39 = ((($7)) + 20|0); + $40 = ((($$byval_copy9)) + 4|0); + $41 = ((($4)) + 4|0); + $42 = +HEAPF32[7738]; + $43 = $42; + $44 = +HEAPF64[1750]; + $45 = $43 * $44; + $46 = $45; + $47 = ((($5)) + 4|0); + $48 = +HEAPF32[5]; + $49 = $48; + $50 = $49 * $44; + $51 = $50; + $52 = ((($0)) + 24|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $53 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$53,$$byval_copy14); + $54 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$54,$$byval_copy14); + $55 = +HEAPF32[$35>>2]; + $56 = +HEAPF32[$3>>2]; + $57 = $55 + $56; + $58 = +HEAPF32[$36>>2]; + $59 = $57 - $58; + $60 = +HEAPF32[$$byval_copy9>>2]; + $61 = $59 - $60; + HEAPF32[$4>>2] = $61; + $62 = +HEAPF32[$37>>2]; + $63 = +HEAPF32[$38>>2]; + $64 = $62 + $63; + $65 = +HEAPF32[$39>>2]; + $66 = $64 - $65; + $67 = +HEAPF32[$40>>2]; + $68 = $66 - $67; + HEAPF32[$41>>2] = $68; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $69 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $70 = (+_MathLenSqr($$byval_copy14)); + $71 = $70 + 9.9999999747524271E-7; + $72 = $69 < $71; + if ($72) { + HEAPF32[$16>>2] = 0.0; + } + $73 = ((($0)) + 32|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$74,$$byval_copy14); + $75 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$75,$$byval_copy14); + $76 = +HEAPF32[$35>>2]; + $77 = +HEAPF32[$3>>2]; + $78 = $76 + $77; + $79 = +HEAPF32[$36>>2]; + $80 = $78 - $79; + $81 = +HEAPF32[$$byval_copy9>>2]; + $82 = $80 - $81; + HEAPF32[$4>>2] = $82; + $83 = +HEAPF32[$37>>2]; + $84 = +HEAPF32[$38>>2]; + $85 = $83 + $84; + $86 = +HEAPF32[$39>>2]; + $87 = $85 - $86; + $88 = +HEAPF32[$40>>2]; + $89 = $87 - $88; + HEAPF32[$41>>2] = $89; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $90 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $91 = (+_MathLenSqr($$byval_copy14)); + $92 = $91 + 9.9999999747524271E-7; + $93 = $90 < $92; + if (!($93)) { + STACKTOP = sp;return; + } + HEAPF32[$16>>2] = 0.0; + STACKTOP = sp;return; +} +function _IntegratePhysicsImpulses($0) { + $0 = $0|0; + var $$0 = 0, $$0135139 = 0, $$1 = 0, $$byval_copy29 = 0, $$sink = 0.0, $$sink138 = 0.0, $$sroa$047$0$$sroa_idx = 0, $$sroa$050$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$248$0$$sroa_idx49 = 0, $$sroa$251$0$$sroa_idx52 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0; + var $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0; + var $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0; + var $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0; + var $18 = 0, $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0, $197 = 0.0; + var $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0; + var $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0.0, $220 = 0.0, $221 = 0.0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0; + var $233 = 0.0, $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0.0, $240 = 0.0, $25 = 0.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.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0; + var $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0; + var $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $cond1 = 0, $fabsf = 0.0, $fabsf136 = 0.0, $tmpcast137$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $tmpcast137$byval_copy = sp + 136|0; + $$byval_copy29 = sp + 128|0; + $1 = sp + 40|0; + $2 = sp + 32|0; + $3 = sp + 8|0; + $4 = sp + 120|0; + $5 = sp + 112|0; + $6 = sp + 104|0; + $7 = sp + 96|0; + $8 = sp + 24|0; + $9 = sp + 88|0; + $10 = sp + 80|0; + $11 = sp + 72|0; + $12 = sp + 64|0; + $13 = sp + 56|0; + $14 = sp + 16|0; + $15 = sp; + $16 = sp + 48|0; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($18)) + 56|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($20)) + 56|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 + $24; + $fabsf = (+Math_abs((+$25))); + $26 = !($fabsf <= 9.9999999747524271E-7); + if (!($26)) { + $$sroa$050$0$$sroa_idx = ((($18)) + 16|0); + HEAPF32[$$sroa$050$0$$sroa_idx>>2] = 0.0; + $$sroa$251$0$$sroa_idx52 = ((($18)) + 20|0); + HEAPF32[$$sroa$251$0$$sroa_idx52>>2] = 0.0; + $$sroa$047$0$$sroa_idx = ((($20)) + 16|0); + HEAPF32[$$sroa$047$0$$sroa_idx>>2] = 0.0; + $$sroa$248$0$$sroa_idx49 = ((($20)) + 20|0); + HEAPF32[$$sroa$248$0$$sroa_idx49>>2] = 0.0; + STACKTOP = sp;return; + } + $27 = ((($0)) + 40|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0); + if ($29) { + STACKTOP = sp;return; + } + $30 = ((($18)) + 8|0); + $31 = ((($20)) + 8|0); + $32 = ((($20)) + 16|0); + $33 = ((($20)) + 32|0); + $34 = ((($18)) + 16|0); + $35 = ((($18)) + 32|0); + $36 = ((($20)) + 20|0); + $37 = ((($6)) + 4|0); + $38 = ((($18)) + 20|0); + $39 = ((($7)) + 4|0); + $40 = ((($3)) + 4|0); + $41 = ((($0)) + 16|0); + $42 = ((($18)) + 48|0); + $43 = ((($20)) + 48|0); + $44 = ((($0)) + 44|0); + $45 = ((($8)) + 4|0); + $46 = ((($0)) + 20|0); + $47 = ((($18)) + 4|0); + $48 = ((($20)) + 4|0); + $49 = ((($12)) + 4|0); + $50 = ((($13)) + 4|0); + $51 = ((($14)) + 4|0); + $52 = ((($0)) + 52|0); + $$sroa$2$0$$sroa_idx2 = ((($15)) + 4|0); + $53 = ((($20)) + 80|0); + $54 = ((($18)) + 80|0); + $55 = ((($16)) + 4|0); + $56 = ((($0)) + 48|0); + $57 = ((($20)) + 80|0); + $58 = ((($18)) + 80|0); + $59 = ((($9)) + 4|0); + $$0135139 = 0; + while(1) { + $63 = (((($0)) + 24|0) + ($$0135139<<3)|0); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$30>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$30+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy29,$tmpcast137$byval_copy); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$31>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy29,$tmpcast137$byval_copy); + $64 = +HEAPF32[$32>>2]; + $65 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($4,$65,$tmpcast137$byval_copy); + $66 = +HEAPF32[$4>>2]; + $67 = $64 + $66; + $68 = +HEAPF32[$34>>2]; + $69 = $67 - $68; + $70 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($5,$70,$tmpcast137$byval_copy); + $71 = +HEAPF32[$5>>2]; + $72 = $69 - $71; + HEAPF32[$3>>2] = $72; + $73 = +HEAPF32[$36>>2]; + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($6,$74,$tmpcast137$byval_copy); + $75 = +HEAPF32[$37>>2]; + $76 = $73 + $75; + $77 = +HEAPF32[$38>>2]; + $78 = $76 - $77; + $79 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($7,$79,$tmpcast137$byval_copy); + $80 = +HEAPF32[$39>>2]; + $81 = $78 - $80; + HEAPF32[$40>>2] = $81; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $82 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $83 = $82 > 0.0; + if ($83) { + $$1 = 1; + } else { + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $84 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $85 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $86 = +HEAPF32[$21>>2]; + $87 = +HEAPF32[$23>>2]; + $88 = $86 + $87; + $89 = $84 * $84; + $90 = +HEAPF32[$42>>2]; + $91 = $89 * $90; + $92 = $88 + $91; + $93 = $85 * $85; + $94 = +HEAPF32[$43>>2]; + $95 = $93 * $94; + $96 = $92 + $95; + $97 = +HEAPF32[$44>>2]; + $98 = $97 + 1.0; + $99 = $82 * $98; + $100 = -$99; + $101 = $100 / $96; + $102 = HEAP32[$27>>2]|0; + $103 = (+($102>>>0)); + $104 = $101 / $103; + $105 = +HEAPF32[$41>>2]; + $106 = $105 * $104; + HEAPF32[$8>>2] = $106; + $107 = +HEAPF32[$46>>2]; + $108 = $104 * $107; + HEAPF32[$45>>2] = $108; + $109 = HEAP32[$47>>2]|0; + $110 = ($109|0)==(0); + if (!($110)) { + $111 = +HEAPF32[$21>>2]; + $112 = +HEAPF32[$8>>2]; + $113 = $111 * $112; + $114 = +HEAPF32[$34>>2]; + $115 = $114 - $113; + HEAPF32[$34>>2] = $115; + $116 = +HEAPF32[$45>>2]; + $117 = $111 * $116; + $118 = +HEAPF32[$38>>2]; + $119 = $118 - $117; + HEAPF32[$38>>2] = $119; + $120 = HEAP32[$58>>2]|0; + $121 = ($120|0)==(0); + if ($121) { + $122 = +HEAPF32[$42>>2]; + $123 = +HEAPF32[$8>>2]; + $124 = -$123; + HEAPF32[$9>>2] = $124; + $125 = +HEAPF32[$45>>2]; + $126 = -$125; + HEAPF32[$59>>2] = $126; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$9+4>>2]|0; + $127 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $128 = $122 * $127; + $129 = +HEAPF32[$35>>2]; + $130 = $129 + $128; + HEAPF32[$35>>2] = $130; + } + } + $131 = HEAP32[$48>>2]|0; + $132 = ($131|0)==(0); + if (!($132)) { + $133 = +HEAPF32[$23>>2]; + $134 = +HEAPF32[$8>>2]; + $135 = $133 * $134; + $136 = +HEAPF32[$32>>2]; + $137 = $136 + $135; + HEAPF32[$32>>2] = $137; + $138 = +HEAPF32[$45>>2]; + $139 = $133 * $138; + $140 = +HEAPF32[$36>>2]; + $141 = $140 + $139; + HEAPF32[$36>>2] = $141; + $142 = HEAP32[$57>>2]|0; + $143 = ($142|0)==(0); + if ($143) { + $144 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + $145 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $146 = $144 * $145; + $147 = +HEAPF32[$33>>2]; + $148 = $147 + $146; + HEAPF32[$33>>2] = $148; + } + } + $149 = +HEAPF32[$32>>2]; + $150 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($10,$150,$tmpcast137$byval_copy); + $151 = +HEAPF32[$10>>2]; + $152 = $149 + $151; + $153 = +HEAPF32[$34>>2]; + $154 = $152 - $153; + $155 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($11,$155,$tmpcast137$byval_copy); + $156 = +HEAPF32[$11>>2]; + $157 = $154 - $156; + HEAPF32[$3>>2] = $157; + $158 = +HEAPF32[$36>>2]; + $159 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($12,$159,$tmpcast137$byval_copy); + $160 = +HEAPF32[$49>>2]; + $161 = $158 + $160; + $162 = +HEAPF32[$38>>2]; + $163 = $161 - $162; + $164 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($13,$164,$tmpcast137$byval_copy); + $165 = +HEAPF32[$50>>2]; + $166 = $163 - $165; + HEAPF32[$40>>2] = $166; + $167 = +HEAPF32[$3>>2]; + $168 = +HEAPF32[$41>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $169 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $170 = $168 * $169; + $171 = $167 - $170; + HEAPF32[$14>>2] = $171; + $172 = +HEAPF32[$40>>2]; + $173 = +HEAPF32[$46>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $174 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $175 = $173 * $174; + $176 = $172 - $175; + HEAPF32[$51>>2] = $176; + _MathNormalize($14); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$14+4>>2]|0; + $177 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $178 = -$177; + $179 = $178 / $96; + $180 = HEAP32[$27>>2]|0; + $181 = (+($180>>>0)); + $182 = $179 / $181; + $fabsf136 = (+Math_abs((+$182))); + $183 = !($fabsf136 <= 9.9999999747524271E-7); + if ($183) { + $184 = $15; + $185 = $184; + HEAP32[$185>>2] = 0; + $186 = (($184) + 4)|0; + $187 = $186; + HEAP32[$187>>2] = 0; + $188 = +HEAPF32[$52>>2]; + $189 = $104 * $188; + $190 = $fabsf136 < $189; + $191 = +HEAPF32[$14>>2]; + $192 = +HEAPF32[$51>>2]; + if ($190) { + $193 = $182 * $191; + $194 = $182 * $192; + $$sink = $194;$$sink138 = $193; + } else { + $195 = -$104; + $196 = $191 * $195; + $197 = +HEAPF32[$56>>2]; + $198 = $196 * $197; + $199 = $192 * $195; + $200 = $199 * $197; + $$sink = $200;$$sink138 = $198; + } + HEAPF32[$15>>2] = $$sink138; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $$sink; + $201 = HEAP32[$47>>2]|0; + $202 = ($201|0)==(0); + if (!($202)) { + $203 = +HEAPF32[$21>>2]; + $204 = +HEAPF32[$15>>2]; + $205 = $203 * $204; + $206 = +HEAPF32[$34>>2]; + $207 = $206 - $205; + HEAPF32[$34>>2] = $207; + $208 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $209 = $203 * $208; + $210 = +HEAPF32[$38>>2]; + $211 = $210 - $209; + HEAPF32[$38>>2] = $211; + $212 = HEAP32[$54>>2]|0; + $213 = ($212|0)==(0); + if ($213) { + $214 = +HEAPF32[$42>>2]; + $215 = +HEAPF32[$15>>2]; + $216 = -$215; + HEAPF32[$16>>2] = $216; + $217 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $218 = -$217; + HEAPF32[$55>>2] = $218; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$16+4>>2]|0; + $219 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $220 = $214 * $219; + $221 = +HEAPF32[$35>>2]; + $222 = $221 + $220; + HEAPF32[$35>>2] = $222; + } + } + $223 = HEAP32[$48>>2]|0; + $224 = ($223|0)==(0); + if (!($224)) { + $225 = +HEAPF32[$23>>2]; + $226 = +HEAPF32[$15>>2]; + $227 = $225 * $226; + $228 = +HEAPF32[$32>>2]; + $229 = $228 + $227; + HEAPF32[$32>>2] = $229; + $230 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $231 = $225 * $230; + $232 = +HEAPF32[$36>>2]; + $233 = $232 + $231; + HEAPF32[$36>>2] = $233; + $234 = HEAP32[$53>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $236 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$15+4>>2]|0; + $237 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $238 = $236 * $237; + $239 = +HEAPF32[$33>>2]; + $240 = $239 + $238; + HEAPF32[$33>>2] = $240; + } + } + $$0 = 0; + } else { + $$0 = 1; + } + $$1 = $$0; + } + $cond1 = ($$1|0)==(0); + $62 = (($$0135139) + 1)|0; + if (!($cond1)) { + label = 26; + break; + } + $60 = HEAP32[$27>>2]|0; + $61 = ($62>>>0)<($60>>>0); + if ($61) { + $$0135139 = $62; + } else { + label = 26; + break; + } + } + if ((label|0) == 26) { + STACKTOP = sp;return; + } +} +function _IntegratePhysicsVelocity($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 16|0); + $5 = +HEAPF32[$4>>2]; + $6 = $5; + $7 = +HEAPF64[1750]; + $8 = $6 * $7; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $10; + $12 = $8 + $11; + $13 = $12; + HEAPF32[$9>>2] = $13; + $14 = ((($0)) + 20|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $7 * $16; + $18 = ((($0)) + 12|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19; + $21 = $20 + $17; + $22 = $21; + HEAPF32[$18>>2] = $22; + $23 = ((($0)) + 80|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = ((($0)) + 32|0); + $27 = +HEAPF32[$26>>2]; + $28 = $27; + $29 = $7 * $28; + $30 = ((($0)) + 40|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31; + $33 = $32 + $29; + $34 = $33; + HEAPF32[$30>>2] = $34; + } + $35 = ((($0)) + 484|0); + $36 = ((($0)) + 40|0); + $37 = +HEAPF32[$36>>2]; + _Mat2Set($35,$37); + _IntegratePhysicsForces($0); + return; +} +function _CorrectPhysicsPositions($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0; + var $46 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 + -0.05000000074505806; + $8 = $7 > 0.0; + $9 = $8 ? $7 : 0.0; + $10 = ((($2)) + 56|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($4)) + 56|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 + $13; + $15 = $9 / $14; + $16 = ((($0)) + 16|0); + $17 = +HEAPF32[$16>>2]; + $18 = $17 * $15; + $19 = $18 * 0.40000000596046448; + $20 = ((($0)) + 20|0); + $21 = +HEAPF32[$20>>2]; + $22 = $15 * $21; + $23 = $22 * 0.40000000596046448; + $24 = ((($2)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = $11 * $19; + $28 = ((($2)) + 8|0); + $29 = +HEAPF32[$28>>2]; + $30 = $29 - $27; + HEAPF32[$28>>2] = $30; + $31 = $11 * $23; + $32 = ((($2)) + 12|0); + $33 = +HEAPF32[$32>>2]; + $34 = $33 - $31; + HEAPF32[$32>>2] = $34; + } + $35 = ((($4)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + return; + } + $38 = +HEAPF32[$12>>2]; + $39 = $19 * $38; + $40 = ((($4)) + 8|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 + $39; + HEAPF32[$40>>2] = $42; + $43 = $23 * $38; + $44 = ((($4)) + 12|0); + $45 = +HEAPF32[$44>>2]; + $46 = $43 + $45; + HEAPF32[$44>>2] = $46; + return; +} +function _SolveCircleToCircle($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy2 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$02$0$$sroa_idx = 0, $$sroa$05$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$23$0$$sroa_idx4 = 0, $$sroa$26$0$$sroa_idx7 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.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.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0; + var $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $6 = 0, $7 = 0; + var $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy2 = sp + 16|0; + $$byval_copy = sp + 8|0; + $1 = sp; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 8|0); + $7 = ((($3)) + 8|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy,$$byval_copy2); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; + $8 = (+_MathLenSqr($$byval_copy2)); + $9 = ((($3)) + 92|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($5)) + 92|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 + $12; + $14 = $13 * $13; + $15 = !($8 >= $14); + if (!($15)) { + $16 = ((($0)) + 40|0); + HEAP32[$16>>2] = 0; + STACKTOP = sp;return; + } + $17 = (+Math_sqrt((+$8))); + $18 = ((($0)) + 40|0); + HEAP32[$18>>2] = 1; + $19 = $17 == 0.0; + if ($19) { + $20 = HEAP32[$9>>2]|0; + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $$sroa$05$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$05$0$$sroa_idx>>2] = 1.0; + $$sroa$26$0$$sroa_idx7 = ((($0)) + 20|0); + HEAPF32[$$sroa$26$0$$sroa_idx7>>2] = 0.0; + $22 = ((($0)) + 24|0); + $23 = $7; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + } else { + $33 = $13 - $17; + $34 = ((($0)) + 12|0); + HEAPF32[$34>>2] = $33; + $35 = +HEAPF32[$1>>2]; + $36 = $35 / $17; + $37 = ((($1)) + 4|0); + $38 = +HEAPF32[$37>>2]; + $39 = $38 / $17; + $$sroa$02$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$02$0$$sroa_idx>>2] = $36; + $$sroa$23$0$$sroa_idx4 = ((($0)) + 20|0); + HEAPF32[$$sroa$23$0$$sroa_idx4>>2] = $39; + $40 = +HEAPF32[$9>>2]; + $41 = $36 * $40; + $42 = +HEAPF32[$7>>2]; + $43 = $41 + $42; + $44 = $39 * $40; + $45 = ((($3)) + 12|0); + $46 = +HEAPF32[$45>>2]; + $47 = $44 + $46; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $43; + $$sroa$2$0$$sroa_idx1 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $47; + } + $48 = ((($3)) + 76|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + STACKTOP = sp;return; + } + $51 = ((($0)) + 20|0); + $52 = +HEAPF32[$51>>2]; + $53 = $52 < 0.0; + $54 = $53&1; + HEAP32[$48>>2] = $54; + STACKTOP = sp;return; +} +function _SolveCircleToPolygon($0) { + $0 = $0|0; + var $$0$lcssa = 0.0, $$0125 = 0.0, $$093$lcssa = 0, $$093124 = 0, $$097123 = 0, $$1 = 0.0, $$194 = 0, $$byval_copy41 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$011$0$$sroa_idx = 0, $$sroa$014$0$$sroa_idx = 0, $$sroa$04$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx3 = 0, $$sroa$212$0$$sroa_idx13 = 0, $$sroa$215$0$$sroa_idx16 = 0, $$sroa$25$0$$sroa_idx6 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0; + var $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.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.0; + var $157 = 0.0, $158 = 0.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.0, $219 = 0.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.0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.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.0, $46 = 0.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.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $tmpcast104$byval_copy42 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 608|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(608|0); + $tmpcast104$byval_copy42 = sp + 584|0; + $$byval_copy41 = sp + 568|0; + $1 = sp + 24|0; + $2 = sp + 552|0; + $3 = sp + 544|0; + $4 = sp + 88|0; + $5 = sp + 536|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 528|0; + $10 = sp + 520|0; + $11 = sp + 512|0; + $12 = sp + 504|0; + $13 = sp + 80|0; + $14 = sp + 72|0; + $15 = sp + 64|0; + $16 = sp + 56|0; + $17 = sp + 48|0; + $18 = sp + 40|0; + $19 = sp + 496|0; + $20 = sp + 32|0; + $21 = ((($0)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($0)) + 40|0); + HEAP32[$25>>2] = 0; + $26 = ((($22)) + 8|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $1; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = ((($24)) + 96|0); + $38 = ((($24)) + 484|0); + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$38>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$38+4>>2]|0;HEAP32[$tmpcast104$byval_copy42+8>>2]=HEAP32[$38+8>>2]|0;HEAP32[$tmpcast104$byval_copy42+12>>2]=HEAP32[$38+12>>2]|0; + _Mat2Transpose($2,$tmpcast104$byval_copy42); + $39 = ((($24)) + 8|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Subtract_4($3,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$2+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$3>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$3+4>>2]|0; + _Mat2MultiplyVector2($1,$$byval_copy41,$tmpcast104$byval_copy42); + _memcpy(($4|0),($37|0),404)|0; + $40 = HEAP32[$4>>2]|0; + $41 = ($40|0)==(0); + L1: do { + if ($41) { + $$0$lcssa = -3.4028234663852886E+38;$$093$lcssa = 0; + } else { + $42 = ((($22)) + 92|0); + $$0125 = -3.4028234663852886E+38;$$093124 = 0;$$097123 = 0; + while(1) { + $43 = (((($4)) + 196|0) + ($$097123<<3)|0); + $44 = (((($4)) + 4|0) + ($$097123<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$44>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$44+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$43+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$5+4>>2]|0; + $45 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $46 = +HEAPF32[$42>>2]; + $47 = $45 > $46; + $48 = $45 > $$0125; + if ($47) { + break; + } + $$1 = $48 ? $45 : $$0125; + $$194 = $48 ? $$097123 : $$093124; + $49 = (($$097123) + 1)|0; + $50 = HEAP32[$4>>2]|0; + $51 = ($49>>>0)<($50>>>0); + if ($51) { + $$0125 = $$1;$$093124 = $$194;$$097123 = $49; + } else { + $$0$lcssa = $$1;$$093$lcssa = $$194; + break L1; + } + } + STACKTOP = sp;return; + } + } while(0); + $52 = (((($4)) + 4|0) + ($$093$lcssa<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$093$lcssa) + 1)|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (((($4)) + 4|0) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = $$0$lcssa < 9.9999999747524271E-7; + do { + if ($78) { + HEAP32[$25>>2] = 1; + $79 = ((($4)) + 388|0); + $80 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$79>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$79+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$79+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$80>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$80+4>>2]|0; + _Mat2MultiplyVector2($8,$$byval_copy41,$tmpcast104$byval_copy42); + $81 = +HEAPF32[$8>>2]; + $82 = -$81; + $83 = ((($8)) + 4|0); + $84 = +HEAPF32[$83>>2]; + $85 = -$84; + $$sroa$014$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$014$0$$sroa_idx>>2] = $82; + $$sroa$215$0$$sroa_idx16 = ((($0)) + 20|0); + HEAPF32[$$sroa$215$0$$sroa_idx16>>2] = $85; + $86 = ((($22)) + 92|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 * $82; + $89 = +HEAPF32[$26>>2]; + $90 = $88 + $89; + $91 = $87 * $85; + $92 = ((($22)) + 12|0); + $93 = +HEAPF32[$92>>2]; + $94 = $91 + $93; + $$sroa$011$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$011$0$$sroa_idx>>2] = $90; + $$sroa$212$0$$sroa_idx13 = ((($0)) + 28|0); + HEAPF32[$$sroa$212$0$$sroa_idx13>>2] = $94; + $95 = HEAP32[$86>>2]|0; + $96 = ((($0)) + 12|0); + HEAP32[$96>>2] = $95; + } else { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($9,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($10,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$10+4>>2]|0; + $97 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($11,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($12,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$12>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$12+4>>2]|0; + $98 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $99 = ((($22)) + 92|0); + $100 = +HEAPF32[$99>>2]; + $101 = $100 - $$0$lcssa; + $102 = ((($0)) + 12|0); + HEAPF32[$102>>2] = $101; + $103 = !($97 <= 0.0); + if (!($103)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + $104 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $105 = +HEAPF32[$99>>2]; + $106 = $105 * $105; + $107 = $104 > $106; + if ($107) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $108 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($13,$$byval_copy41,$tmpcast104$byval_copy42); + $109 = $13; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = $8; + $116 = $115; + HEAP32[$116>>2] = $111; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $114; + _MathNormalize($8); + $119 = ((($0)) + 16|0); + $120 = $8; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = $119; + $127 = $126; + HEAP32[$127>>2] = $122; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $125; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($14,$$byval_copy41,$tmpcast104$byval_copy42); + $130 = $14; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = $6; + $137 = $136; + HEAP32[$137>>2] = $132; + $138 = (($136) + 4)|0; + $139 = $138; + HEAP32[$139>>2] = $135; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($15,$$byval_copy41,$tmpcast104$byval_copy42); + $140 = $15; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = $6; + $147 = $146; + HEAP32[$147>>2] = $142; + $148 = (($146) + 4)|0; + $149 = $148; + HEAP32[$149>>2] = $145; + $150 = ((($0)) + 24|0); + $151 = $150; + $152 = $151; + HEAP32[$152>>2] = $142; + $153 = (($151) + 4)|0; + $154 = $153; + HEAP32[$154>>2] = $145; + break; + } + $155 = !($98 <= 0.0); + if (!($155)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + $156 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $157 = +HEAPF32[$99>>2]; + $158 = $157 * $157; + $159 = $156 > $158; + if ($159) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $160 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($16,$$byval_copy41,$tmpcast104$byval_copy42); + $161 = $16; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = $7; + $168 = $167; + HEAP32[$168>>2] = $163; + $169 = (($167) + 4)|0; + $170 = $169; + HEAP32[$170>>2] = $166; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($17,$$byval_copy41,$tmpcast104$byval_copy42); + $171 = $17; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = $7; + $178 = $177; + HEAP32[$178>>2] = $173; + $179 = (($177) + 4)|0; + $180 = $179; + HEAP32[$180>>2] = $176; + $181 = ((($0)) + 24|0); + $182 = $181; + $183 = $182; + HEAP32[$183>>2] = $173; + $184 = (($182) + 4)|0; + $185 = $184; + HEAP32[$185>>2] = $176; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($18,$$byval_copy41,$tmpcast104$byval_copy42); + $186 = $18; + $187 = $186; + $188 = HEAP32[$187>>2]|0; + $189 = (($186) + 4)|0; + $190 = $189; + $191 = HEAP32[$190>>2]|0; + $192 = $8; + $193 = $192; + HEAP32[$193>>2] = $188; + $194 = (($192) + 4)|0; + $195 = $194; + HEAP32[$195>>2] = $191; + _MathNormalize($8); + $196 = ((($0)) + 16|0); + $197 = $8; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = (($197) + 4)|0; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = $196; + $204 = $203; + HEAP32[$204>>2] = $199; + $205 = (($203) + 4)|0; + $206 = $205; + HEAP32[$206>>2] = $202; + break; + } + $207 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + $208 = $207; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = $8; + $215 = $214; + HEAP32[$215>>2] = $210; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $213; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($19,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$19+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + $218 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $219 = +HEAPF32[$99>>2]; + $220 = $218 > $219; + if ($220) { + break; + } else { + $221 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$221>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$221+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$221+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$221+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($20,$$byval_copy41,$tmpcast104$byval_copy42); + $222 = $20; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (($222) + 4)|0; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = $8; + $229 = $228; + HEAP32[$229>>2] = $224; + $230 = (($228) + 4)|0; + $231 = $230; + HEAP32[$231>>2] = $227; + $232 = +HEAPF32[$8>>2]; + $233 = -$232; + $234 = ((($8)) + 4|0); + $235 = +HEAPF32[$234>>2]; + $236 = -$235; + $$sroa$04$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$04$0$$sroa_idx>>2] = $233; + $$sroa$25$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$25$0$$sroa_idx6>>2] = $236; + $237 = +HEAPF32[$99>>2]; + $238 = $237 * $233; + $239 = +HEAPF32[$26>>2]; + $240 = $238 + $239; + $241 = $237 * $236; + $242 = ((($22)) + 12|0); + $243 = +HEAPF32[$242>>2]; + $244 = $241 + $243; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $240; + $$sroa$2$0$$sroa_idx3 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx3>>2] = $244; + HEAP32[$25>>2] = 1; + break; + } + } + } while(0); + STACKTOP = sp;return; +} +function _SolvePolygonToCircle($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $4; + HEAP32[$3>>2] = $2; + _SolveCircleToPolygon($0); + $5 = ((($0)) + 16|0); + $6 = +HEAPF32[$5>>2]; + $7 = -$6; + HEAPF32[$5>>2] = $7; + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = -$9; + HEAPF32[$8>>2] = $10; + return; +} +function _SolvePolygonToPolygon($0) { + $0 = $0|0; + var $$0 = 0, $$051 = 0, $$051$in = 0, $$052 = 0, $$1 = 0, $$byval_copy24 = 0, $$sink = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx12 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0.0; + var $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0.0, $126 = 0.0; + var $127 = 0.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.0, $14 = 0, $140 = 0.0, $141 = 0, $142 = 0.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.0, $156 = 0.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.0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0.0, $173 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0.0, $26 = 0, $27 = 0.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, $tmpcast58$byval_copy23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 3008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(3008|0); + $$byval_copy24 = sp + 2584|0; + $tmpcast58$byval_copy23 = sp + 2168|0; + $1 = sp + 1744|0; + $2 = sp + 1328|0; + $3 = sp + 1324|0; + $4 = sp + 1320|0; + $5 = sp + 904|0; + $6 = sp + 488|0; + $7 = sp + 24|0; + $8 = sp + 80|0; + $9 = sp + 16|0; + $10 = sp + 8|0; + $11 = sp + 64|0; + $12 = sp + 56|0; + $13 = sp + 48|0; + $14 = sp + 40|0; + $15 = sp + 72|0; + $16 = sp; + $17 = sp + 2160|0; + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 84|0); + _memcpy(($1|0),($20|0),416)|0; + $21 = ((($0)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 84|0); + _memcpy(($2|0),($23|0),416)|0; + $24 = ((($0)) + 40|0); + HEAP32[$24>>2] = 0; + HEAP32[$3>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($1|0),416)|0; + _memcpy(($$byval_copy24|0),($2|0),416)|0; + $25 = (+_FindAxisLeastPenetration($3,$tmpcast58$byval_copy23,$$byval_copy24)); + $26 = !($25 >= 0.0); + if (!($26)) { + STACKTOP = sp;return; + } + HEAP32[$4>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($2|0),416)|0; + _memcpy(($$byval_copy24|0),($1|0),416)|0; + $27 = (+_FindAxisLeastPenetration($4,$tmpcast58$byval_copy23,$$byval_copy24)); + $28 = !($27 >= 0.0); + if ($28) { + $29 = (_BiasGreaterThan($25,$27)|0); + $30 = ($29|0)==(0); + if ($30) { + _memcpy(($5|0),($2|0),416)|0; + _memcpy(($6|0),($1|0),416)|0; + $$051$in = $4;$$052 = 1; + } else { + _memcpy(($5|0),($1|0),416)|0; + _memcpy(($6|0),($2|0),416)|0; + $$051$in = $3;$$052 = 0; + } + $$051 = HEAP32[$$051$in>>2]|0; + $31 = ((($7)) + 8|0); + _memcpy(($tmpcast58$byval_copy23|0),($5|0),416)|0; + _memcpy(($$byval_copy24|0),($6|0),416)|0; + _FindIncidentFace($7,$31,$tmpcast58$byval_copy23,$$byval_copy24,$$051); + $32 = ((($5)) + 12|0); + _memcpy(($8|0),($32|0),404)|0; + $33 = (((($8)) + 4|0) + ($$051<<3)|0); + $34 = $33; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = $9; + $41 = $40; + HEAP32[$41>>2] = $36; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $39; + $44 = (($$051) + 1)|0; + $45 = HEAP32[$8>>2]|0; + $46 = ($44>>>0)<($45>>>0); + $47 = $46 ? $44 : 0; + $48 = (((($8)) + 4|0) + ($47<<3)|0); + $49 = $48; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = $10; + $56 = $55; + HEAP32[$56>>2] = $51; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $54; + $59 = ((($8)) + 388|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast58$byval_copy23,$$byval_copy24); + $60 = $11; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = $9; + $67 = $66; + HEAP32[$67>>2] = $62; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = $65; + $70 = ((($5)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$72>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$72+4>>2]|0; + _Vector2Add_2($12,$tmpcast58$byval_copy23,$$byval_copy24); + $73 = $12; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = $9; + $80 = $79; + HEAP32[$80>>2] = $75; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $78; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast58$byval_copy23,$$byval_copy24); + $83 = $13; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = $10; + $90 = $89; + HEAP32[$90>>2] = $85; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = $88; + $93 = HEAP32[$70>>2]|0; + $94 = ((($93)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$94>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$94+4>>2]|0; + _Vector2Add_2($14,$tmpcast58$byval_copy23,$$byval_copy24); + $95 = $14; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = $10; + $102 = $101; + HEAP32[$102>>2] = $97; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast58$byval_copy23,$$byval_copy24); + _MathNormalize($15); + $105 = ((($15)) + 4|0); + $106 = HEAP32[$105>>2]|0; + HEAP32[$16>>2] = $106; + $107 = ((($16)) + 4|0); + $108 = +HEAPF32[$15>>2]; + $109 = -$108; + HEAPF32[$107>>2] = $109; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $110 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $111 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $112 = -$111; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + $113 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $114 = +HEAPF32[$15>>2]; + $115 = -$114; + HEAPF32[$17>>2] = $115; + $116 = ((($17)) + 4|0); + $117 = +HEAPF32[$105>>2]; + $118 = -$117; + HEAPF32[$116>>2] = $118; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$17+4>>2]|0; + $119 = (_Clip($$byval_copy24,$112,$7,$31)|0); + $120 = ($119|0)<(2); + if (!($120)) { + ;HEAP32[$$byval_copy24>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$15+4>>2]|0; + $121 = (_Clip($$byval_copy24,$113,$7,$31)|0); + $122 = ($121|0)<(2); + if (!($122)) { + $123 = ($$052|0)==(0); + if ($123) { + $128 = ((($0)) + 16|0); + $129 = $16; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = $128; + $136 = $135; + HEAP32[$136>>2] = $131; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $134; + } else { + $124 = +HEAPF32[$16>>2]; + $125 = -$124; + $126 = +HEAPF32[$107>>2]; + $127 = -$126; + $$sroa$0$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $125; + $$sroa$2$0$$sroa_idx12 = ((($0)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx12>>2] = $127; + } + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$7+4>>2]|0; + $139 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $140 = $139 - $110; + $141 = !($140 <= 0.0); + if ($141) { + $$0 = 0;$$sink = 0.0; + } else { + $142 = -$140; + $143 = ((($0)) + 24|0); + $144 = $7; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = $143; + $151 = $150; + HEAP32[$151>>2] = $146; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = $149; + $$0 = 1;$$sink = $142; + } + $154 = ((($0)) + 12|0); + HEAPF32[$154>>2] = $$sink; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$31+4>>2]|0; + $155 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $156 = $155 - $110; + $157 = !($156 <= 0.0); + if ($157) { + $$1 = $$0; + } else { + $158 = (((($0)) + 24|0) + ($$0<<3)|0); + $159 = $31; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = $158; + $166 = $165; + HEAP32[$166>>2] = $161; + $167 = (($165) + 4)|0; + $168 = $167; + HEAP32[$168>>2] = $164; + $169 = +HEAPF32[$154>>2]; + $170 = $169 - $156; + $171 = (($$0) + 1)|0; + $172 = (+($171|0)); + $173 = $170 / $172; + HEAPF32[$154>>2] = $173; + $$1 = $171; + } + HEAP32[$24>>2] = $$1; + } + } + } + STACKTOP = sp;return; +} +function _MathLenSqr($0) { + $0 = $0|0; + var $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + return (+$6); +} +function _Mat2Transpose($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 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $2; + $3 = ((($0)) + 4|0); + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $8; + $9 = ((($0)) + 12|0); + $10 = ((($1)) + 12|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + return; +} +function _MathDot($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 * $3; + $5 = ((($0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = $6 * $8; + $10 = $4 + $9; + return (+$10); +} +function _DistSqr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $2 = 0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy3 = sp + 16|0; + $$byval_copy2 = sp + 8|0; + $2 = sp; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; + $3 = (+_MathDot($$byval_copy2,$$byval_copy3)); + STACKTOP = sp;return (+$3); +} +function _FindAxisLeastPenetration($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0.0, $$01727 = 0, $$018$lcssa = 0, $$01826 = 0, $$028 = 0.0, $$1 = 0.0, $$119 = 0, $$byval_copy16 = 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, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0; + var $4 = 0, $40 = 0.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.0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy15 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1344|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1344|0); + $$byval_copy16 = sp + 1320|0; + $tmpcast$byval_copy15 = sp + 904|0; + $3 = sp + 484|0; + $4 = sp + 80|0; + $5 = sp + 8|0; + $6 = sp + 72|0; + $7 = sp + 56|0; + $8 = sp + 48|0; + $9 = sp + 896|0; + $10 = sp; + $11 = sp + 40|0; + $12 = sp + 32|0; + $13 = sp + 24|0; + $14 = sp + 16|0; + $15 = sp + 888|0; + $16 = ((($1)) + 12|0); + _memcpy(($3|0),($16|0),404)|0; + $17 = ((($2)) + 12|0); + _memcpy(($4|0),($17|0),404)|0; + $18 = HEAP32[$3>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $$0$lcssa = -3.4028234663852886E+38;$$018$lcssa = 0; + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); + } + $20 = ((($3)) + 388|0); + $21 = ((($4)) + 388|0); + $22 = ((($9)) + 4|0); + $23 = ((($5)) + 4|0); + $24 = ((($1)) + 4|0); + $25 = ((($2)) + 4|0); + $$01727 = 0;$$01826 = 0;$$028 = -3.4028234663852886E+38; + while(1) { + $26 = (((($3)) + 196|0) + ($$01727<<3)|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $5; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$5+4>>2]|0; + _Mat2MultiplyVector2($6,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy16+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy16+12>>2]=HEAP32[$21+12>>2]|0; + _Mat2Transpose($7,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($5,$tmpcast$byval_copy15,$$byval_copy16); + $37 = +HEAPF32[$5>>2]; + $38 = -$37; + HEAPF32[$9>>2] = $38; + $39 = +HEAPF32[$23>>2]; + $40 = -$39; + HEAPF32[$22>>2] = $40; + _memcpy(($tmpcast$byval_copy15|0),($2|0),416)|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$9+4>>2]|0; + _GetSupport($8,$tmpcast$byval_copy15,$$byval_copy16); + $41 = (((($3)) + 4|0) + ($$01727<<3)|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $10; + $49 = $48; + HEAP32[$49>>2] = $44; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy15,$$byval_copy16); + $52 = $11; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $10; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = HEAP32[$24>>2]|0; + $63 = ((($62)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$63+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy15,$$byval_copy16); + $64 = $12; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $10; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = HEAP32[$25>>2]|0; + $75 = ((($74)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$75>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$75+4>>2]|0; + _Vector2Subtract_4($13,$tmpcast$byval_copy15,$$byval_copy16); + $76 = $13; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $10; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($14,$tmpcast$byval_copy15,$$byval_copy16); + $86 = $14; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = $10; + $93 = $92; + HEAP32[$93>>2] = $88; + $94 = (($92) + 4)|0; + $95 = $94; + HEAP32[$95>>2] = $91; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$15+4>>2]|0; + $96 = (+_MathDot($tmpcast$byval_copy15,$$byval_copy16)); + $97 = $96 > $$028; + $$119 = $97 ? $$01727 : $$01826; + $$1 = $97 ? $96 : $$028; + $98 = (($$01727) + 1)|0; + $99 = HEAP32[$3>>2]|0; + $100 = ($98>>>0)<($99>>>0); + if ($100) { + $$01727 = $98;$$01826 = $$119;$$028 = $$1; + } else { + $$0$lcssa = $$1;$$018$lcssa = $$119; + break; + } + } + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); +} +function _BiasGreaterThan($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 * 0.94999998807907104; + $3 = $0 * 0.0099999997764825821; + $4 = $3 + $2; + $5 = $4 <= $0; + $6 = $5&1; + return ($6|0); +} +function _FindIncidentFace($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$02434 = 0, $$02533 = 0.0, $$035 = 0, $$1 = 0, $$126 = 0.0, $$byval_copy13 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0; + var $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, $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, $tmpcast$byval_copy12 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 912|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(912|0); + $$byval_copy13 = sp + 896|0; + $tmpcast$byval_copy12 = sp + 880|0; + $5 = sp + 460|0; + $6 = sp + 56|0; + $7 = sp; + $8 = sp + 48|0; + $9 = sp + 864|0; + $10 = sp + 40|0; + $11 = sp + 32|0; + $12 = sp + 24|0; + $13 = sp + 16|0; + $14 = sp + 8|0; + $15 = ((($2)) + 12|0); + _memcpy(($5|0),($15|0),404)|0; + $16 = ((($3)) + 12|0); + _memcpy(($6|0),($16|0),404)|0; + $17 = (((($5)) + 196|0) + ($4<<3)|0); + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $7; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = ((($5)) + 388|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$28>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($8,$tmpcast$byval_copy12,$$byval_copy13); + $29 = $8; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = $7; + $36 = $35; + HEAP32[$36>>2] = $31; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; + $39 = ((($6)) + 388|0); + ;HEAP32[$$byval_copy13>>2]=HEAP32[$39>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[$39+12>>2]|0; + _Mat2Transpose($9,$$byval_copy13); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($10,$tmpcast$byval_copy12,$$byval_copy13); + $40 = $10; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = $7; + $47 = $46; + HEAP32[$47>>2] = $42; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = HEAP32[$6>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $$0$lcssa = 0; + } else { + $52 = HEAP32[$6>>2]|0; + $$02434 = 0;$$02533 = 3.4028234663852886E+38;$$035 = 0; + while(1) { + $104 = (((($6)) + 196|0) + ($$02434<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$104>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$104+4>>2]|0; + $105 = (+_MathDot($tmpcast$byval_copy12,$$byval_copy13)); + $106 = $105 < $$02533; + $$126 = $106 ? $105 : $$02533; + $$1 = $106 ? $$02434 : $$035; + $107 = (($$02434) + 1)|0; + $108 = ($107>>>0)<($52>>>0); + if ($108) { + $$02434 = $107;$$02533 = $$126;$$035 = $$1; + } else { + $$0$lcssa = $$1; + break; + } + } + } + $53 = (((($6)) + 4|0) + ($$0$lcssa<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$53+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy12,$$byval_copy13); + $54 = $11; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = $0; + $61 = $60; + HEAP32[$61>>2] = $56; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = ((($3)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($65)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$66>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$66+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy12,$$byval_copy13); + $67 = $12; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $72; + $77 = (($$0$lcssa) + 1)|0; + $78 = HEAP32[$6>>2]|0; + $79 = ($77>>>0)<($78>>>0); + $80 = $79 ? $77 : 0; + $81 = (((($6)) + 4|0) + ($80<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$81+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast$byval_copy12,$$byval_copy13); + $82 = $13; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $1; + $89 = $88; + HEAP32[$89>>2] = $84; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + $92 = HEAP32[$64>>2]|0; + $93 = ((($92)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$93>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$93+4>>2]|0; + _Vector2Add_2($14,$tmpcast$byval_copy12,$$byval_copy13); + $94 = $14; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = $1; + $101 = $100; + HEAP32[$101>>2] = $96; + $102 = (($100) + 4)|0; + $103 = $102; + HEAP32[$103>>2] = $99; + STACKTOP = sp;return; +} +function _Clip($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy6 = 0, $$byval_copy7 = 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, $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.0, $29 = 0.0, $30 = 0.0, $31 = 0.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.0, $57 = 0, $58 = 0.0, $59 = 0.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.0, $72 = 0.0, $73 = 0; + var $74 = 0.0, $75 = 0.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 + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy7 = sp + 40|0; + $$byval_copy6 = sp + 32|0; + $4 = sp; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = $2; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = $4; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $12; + $17 = ((($4)) + 8|0); + $18 = $3; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $17; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + $28 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $29 = $28 - $1; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0; + $30 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $31 = $30 - $1; + $32 = !($29 <= 0.0); + if ($32) { + $$0 = 0; + } else { + $33 = $2; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = $4; + $40 = $39; + HEAP32[$40>>2] = $35; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $38; + $$0 = 1; + } + $43 = !($31 <= 0.0); + if ($43) { + $$1 = $$0; + } else { + $44 = (($4) + ($$0<<3)|0); + $45 = (($$0) + 1)|0; + $46 = $3; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = $44; + $53 = $52; + HEAP32[$53>>2] = $48; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $$1 = $45; + } + $56 = $29 * $31; + $57 = $56 < 0.0; + if (!($57)) { + $$2 = $$1; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); + } + $58 = $29 - $31; + $59 = $29 / $58; + $60 = (($4) + ($$1<<3)|0); + $61 = $2; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = $60; + $68 = $67; + HEAP32[$68>>2] = $63; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $66; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy6,$$byval_copy7); + $71 = +HEAPF32[$5>>2]; + $72 = $59 * $71; + HEAPF32[$5>>2] = $72; + $73 = ((($5)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $59 * $74; + HEAPF32[$73>>2] = $75; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$60+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$5+4>>2]|0; + _Vector2Add_2($6,$$byval_copy6,$$byval_copy7); + $76 = $6; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $60; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = (($$1) + 1)|0; + $$2 = $86; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); +} +function _GetSupport($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$019 = 0.0, $$1 = 0.0, $$byval_copy = 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.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 432|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(432|0); + $$byval_copy = sp + 424|0; + $tmpcast$byval_copy = sp + 416|0; + $3 = sp + 8|0; + $4 = sp; + $5 = ((($1)) + 12|0); + _memcpy(($3|0),($5|0),404)|0; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + $11 = 0;$14 = 0; + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $$01318 = 0;$$019 = -3.4028234663852886E+38;$29 = 0;$31 = 0; + while(1) { + $15 = (((($3)) + 4|0) + ($$01318<<3)|0); + $16 = $15; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = $4; + $23 = $22; + HEAP32[$23>>2] = $18; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + $26 = (+_MathDot($tmpcast$byval_copy,$$byval_copy)); + $27 = $26 > $$019; + $28 = $27 ? $18 : $29; + $30 = $27 ? $21 : $31; + $$1 = $27 ? $26 : $$019; + $32 = (($$01318) + 1)|0; + $33 = ($32>>>0)<($8>>>0); + if ($33) { + $$01318 = $32;$$019 = $$1;$29 = $28;$31 = $30; + } else { + $11 = $28;$14 = $30; + break; + } + } + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; +} +function _MathCross($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $1; + $6 = -$5; + HEAPF32[$0>>2] = $6; + $7 = ((($0)) + 4|0); + $8 = +HEAPF32[$2>>2]; + $9 = $8 * $1; + HEAPF32[$7>>2] = $9; + return; +} +function _Mat2Set($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = -$3; + $5 = ((($0)) + 4|0); + HEAPF32[$5>>2] = $4; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 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); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[7740] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 14008; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 14048; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[3512]; + $111 = +HEAPF32[3502]; + $112 = $110 - $111; + HEAPF32[3514] = $112; + $113 = +HEAPF32[(14052)>>2]; + $114 = +HEAPF32[(14012)>>2]; + $115 = $113 - $114; + HEAPF32[(14060)>>2] = $115; + HEAP32[7739] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14064+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[7745] = $116; + $117 = 14040; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 14008; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 14064; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 14048; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 14040; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 14064; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[3516]; + $160 = +HEAPF32[3510]; + $161 = $159 - $160; + HEAPF32[3514] = $161; + $162 = +HEAPF32[(14068)>>2]; + $163 = +HEAPF32[(14044)>>2]; + $164 = $162 - $163; + HEAPF32[(14060)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14040+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14048>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14048+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14064+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14064+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[7745]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[7739] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14064+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[7746] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[7745] = 0.0; + HEAPF32[7746] = 0.0; + HEAPF32[3514] = 0.0; + HEAPF32[(14060)>>2] = 0.0; + HEAP32[7740] = 0; + HEAP32[7739] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[7741]|0; + $7 = (($6) + 1)|0; + HEAP32[7741] = $7; + $8 = HEAP32[7739]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[7739] = 2; + HEAP32[7741] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[7741] = 1; + HEAP32[7739] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 14008; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 14016; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 14024; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[6] = $34; + HEAPF32[3508] = 0.0; + HEAPF32[(14036)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[7739]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 14024; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14024>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14024+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[7742] = $49; + HEAP32[7743] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[6]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14024>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14024+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[7744] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[7742] = 0.0; + HEAPF32[7744] = 0.0; + $$sink10 = 0; + } + HEAP32[7739] = $$sink10; + HEAPF32[3504] = 0.0; + HEAPF32[(14020)>>2] = 0.0; + HEAP32[7740] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[7743]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[7743] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 14040; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[7739]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14040+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[7739] = 8; + } + } + $82 = +HEAPF32[3510]; + $83 = +HEAPF32[3504]; + $84 = $82 - $83; + HEAPF32[3508] = $84; + $85 = +HEAPF32[(14044)>>2]; + $86 = +HEAPF32[(14020)>>2]; + $87 = $85 - $86; + HEAPF32[(14036)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7739]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[7740]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[7739] = 4; + } + $4 = HEAP32[7739]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[7739] = 0; + return; +} +function _GetMousePosition($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 = 14072; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7749]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7748]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.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; + _TraceLog(0,3370,$vararg_buffer); + HEAP32[7751] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer_12(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((3399|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3399|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3399|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3399|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3399|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3399|0),(0|0),1,(7|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); + $3 = HEAP32[7749]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[3518] = $5; + $6 = HEAP32[7748]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(14076)>>2] = $8; + $9 = HEAP32[7752]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 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); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[14112>>0]=HEAP8[7928>>0]|0;HEAP8[14112+1>>0]=HEAP8[7928+1>>0]|0;HEAP8[14112+2>>0]=HEAP8[7928+2>>0]|0;HEAP8[14112+3>>0]=HEAP8[7928+3>>0]|0;HEAP8[14112+4>>0]=HEAP8[7928+4>>0]|0;HEAP8[14112+5>>0]=HEAP8[7928+5>>0]|0;HEAP8[14112+6>>0]=HEAP8[7928+6>>0]|0; + break; + } + case 1: { + $3 = 14112; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=14112; src=7935; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 14112; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(14112,$1)|0); + $strlen = (_strlen(14112)|0); + $endptr = (14112 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(14112,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[7749] = $0; + HEAP32[7748] = $1; + _MatrixIdentity($2); + dest=31084; 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)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4070,$vararg_buffer); + } + $6 = HEAP32[7749]|0; + HEAP32[7787] = $6; + $7 = HEAP32[7748]|0; + HEAP32[7788] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[35952]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[35952]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[35952]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4096,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[7789]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[7749]|0; + $48 = HEAP32[7748]|0; + $49 = HEAP32[7751]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[7747] = $50; + $51 = HEAP32[7749]|0; + HEAP32[7790] = $51; + $52 = HEAP32[7748]|0; + HEAP32[7791] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[7749]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[7748]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[7787] = $31; + HEAP32[7788] = $34; + } + } while(0); + $38 = HEAP32[7787]|0; + $39 = HEAP32[7788]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4121,$vararg_buffer3); + $40 = HEAP32[7787]|0; + $41 = HEAP32[7788]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[7787]|0; + $43 = HEAP32[7788]|0; + $44 = HEAP32[7751]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[7747] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4159,$vararg_buffer6); + } else { + _TraceLog(0,4192,$vararg_buffer8); + $55 = HEAP32[7790]|0; + $56 = HEAP32[7791]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4232,$vararg_buffer10); + $57 = HEAP32[7749]|0; + $58 = HEAP32[7748]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4253,$vararg_buffer14); + $59 = HEAP32[7792]|0; + $60 = HEAP32[7793]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,4274,$vararg_buffer18); + } + $61 = HEAP32[7747]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[7747]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[7747]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[7747]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[7747]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[7747]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[7747]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[7747]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[7747]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[35952]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[7749]|0; + $74 = HEAP32[7748]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7790]|0; + $76 = HEAP32[7792]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7791]|0; + $80 = HEAP32[7793]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,4299,$vararg_buffer22); + $73 = HEAP32[7749]|0; + $74 = HEAP32[7748]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7790]|0; + $76 = HEAP32[7792]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7791]|0; + $80 = HEAP32[7793]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 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, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(31052)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (28 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[31028>>2]=HEAP32[$1>>2]|0;HEAP32[31028+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[31028+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[31028+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[31028+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(31052)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(31056)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(31048)>>2] = $23; + $24 = HEAP32[7757]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3594,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(31032)>>2]|0; + $10 = HEAP32[(31052)>>2]|0; + $11 = HEAP32[(31056)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2076 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(31048)>>2] = $23; + $24 = HEAP32[7757]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3594,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer_12() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[1763] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 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 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,3527,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,3458,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,3451)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 14088; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (14096); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 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 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (31012 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 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; + $1 = ($0|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[1760] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,3407,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7752] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.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.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,3970,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[7765]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,3639,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[7766]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,3683,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[7767]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,3728,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[7768]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,3773,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[7769]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,3818,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[7765]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[7765]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[7765]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[7765]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[7766]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[7767]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[7767]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[7768]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[7768]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[7769]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[7769]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,3863,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[7770]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,3941,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,3892,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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, $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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.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; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4024,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + 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] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,7890,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[7749]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[7748]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[7790] = $3; + HEAP32[7791] = $5; + HEAP32[7792] = 0; + HEAP32[7793] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,7824,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[7749]|0; + $36 = (+($35|0)); + $37 = HEAP32[7748]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[7790] = $45; + HEAP32[7791] = $37; + $46 = (($45) - ($35))|0; + HEAP32[7792] = $46; + $$sink1 = 0; + } else { + HEAP32[7790] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[7791] = $42; + HEAP32[7792] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[7793] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[7748]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,7681,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[7749]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[7748]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[7790] = $23; + HEAP32[7791] = $1; + $24 = (($0) - ($23))|0; + HEAP32[7792] = $24; + $$sink = 0; + } else { + HEAP32[7790] = $0; + $17 = HEAP32[7748]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[7791] = $20; + HEAP32[7792] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[7793] = $$sink; + $25 = HEAP32[7790]|0; + $26 = (+($25|0)); + $27 = HEAP32[7749]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=31084; 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)); + HEAP32[7790] = $0; + HEAP32[7791] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,7759,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[7749] = $1; + HEAP32[7748] = $2; + HEAP32[7790] = $1; + HEAP32[7791] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($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, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[744]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (35959 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[743] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 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.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (35953 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 14088; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[743] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[8163] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[8162] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,4322,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,4340,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,4358,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,4376,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,4394)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,4396,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,4431)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[7828] = 1; + $27 = (_eglGetProcAddress((4458|0))|0); + HEAP32[7829] = $27; + $28 = (_eglGetProcAddress((4479|0))|0); + HEAP32[7830] = $28; + $29 = (_eglGetProcAddress((4500|0))|0); + HEAP32[7831] = $29; + } + $30 = (_strcmp($24,4524)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[7770] = 1; + } + $32 = (_strcmp($24,4544)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,4576)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,4609)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[7765] = 1; + } + $39 = (_strcmp($24,4649)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4685)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[7766] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4718)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[7767] = 1; + } + $47 = (_strcmp($44,4743)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[7768] = 1; + } + $49 = (_strcmp($44,4776)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[7769] = 1; + } + $51 = (_strcmp($44,4812)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[7832] = 1; + _glGetFloatv(34047,(31332|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,4846)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[7834] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[7828]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,4949,$vararg_buffer15); + } else { + _TraceLog(0,4874,$vararg_buffer13); + } + $57 = HEAP32[7770]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5085,$vararg_buffer19); + } else { + _TraceLog(0,5010,$vararg_buffer17); + } + $59 = HEAP32[7765]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5177,$vararg_buffer21); + } + $61 = HEAP32[7766]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5223,$vararg_buffer23); + } + $63 = HEAP32[7767]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,5270,$vararg_buffer25); + } + $65 = HEAP32[7768]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,5321,$vararg_buffer27); + } + $67 = HEAP32[7769]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,5368,$vararg_buffer29); + } + $69 = HEAP32[7832]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[7833]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,5415,$vararg_buffer31); + } + $73 = HEAP32[7834]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,5481,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[7835] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,5585,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,5534,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=31344; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=31400; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[7864] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[7864]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[7865] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[7866] = 1; + $85 = HEAP32[7835]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[7867] = 4; + _MatrixIdentity($4); + dest=31472; src=$4; 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)); + _MatrixIdentity($4); + dest=(31536); src=$4; 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)); + _MatrixIdentity($4); + dest=(31600); src=$4; 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)); + _MatrixIdentity($4); + dest=(31664); src=$4; 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)); + _MatrixIdentity($4); + dest=(31728); src=$4; 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)); + _MatrixIdentity($4); + dest=(31792); src=$4; 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)); + _MatrixIdentity($4); + dest=(31856); src=$4; 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)); + _MatrixIdentity($4); + dest=(31920); src=$4; 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)); + _MatrixIdentity($4); + dest=(31984); src=$4; 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)); + _MatrixIdentity($4); + dest=(32048); src=$4; 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)); + _MatrixIdentity($4); + dest=(32112); src=$4; 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)); + _MatrixIdentity($4); + dest=(32176); src=$4; 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)); + _MatrixIdentity($4); + dest=(32240); src=$4; 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)); + _MatrixIdentity($4); + dest=(32304); src=$4; 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)); + _MatrixIdentity($4); + dest=(32368); src=$4; 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)); + _MatrixIdentity($4); + dest=(32432); src=$4; 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)); + _MatrixIdentity($5); + dest=31180; src=$5; 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)); + _MatrixIdentity($6); + dest=31244; src=$6; 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)); + HEAP32[7794] = 31244; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[8124] = $0; + HEAP32[8125] = $1; + _TraceLog(0,5624,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7792]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[7793]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[7790]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[7791]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 31180; + label = 3; + break; + } + case 5888: { + $modelview$sink = 31244; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[7794] = $modelview$sink; + } + HEAP32[7827] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 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); + $0 = sp; + $1 = HEAP32[7794]|0; + _MatrixIdentity($0); + dest=$1; src=$0; 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)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[7794]|0; + dest=$$byval_copy; src=$8; 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)); + dest=$$byval_copy1; src=$6; 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)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; 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)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6200|0),489)|0; + _memcpy(($3|0),(6689|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7178,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7130,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|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 _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 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, $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 = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(32516)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(32524)>>2] = $1; + HEAP32[(32520)>>2] = 0; + HEAP32[(32528)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(32524)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[8126] = 0; + HEAP32[(32512)>>2] = 0; + HEAP32[(32508)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(32564)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(32572)>>2] = $6; + HEAP32[(32568)>>2] = 0; + HEAP32[(32576)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(32572)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[8138] = 0; + HEAP32[(32560)>>2] = 0; + HEAP32[(32556)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(32612)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(32616)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(32620)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(32624)>>2] = $13; + $14 = HEAP32[(32612)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(32616)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(32620)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(32624)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[8150] = 0; + HEAP32[(32604)>>2] = 0; + HEAP32[(32608)>>2] = 0; + _TraceLog(0,5671,$vararg_buffer); + $20 = HEAP32[7828]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32532)); + $44 = HEAP32[7830]|0; + $45 = HEAP32[(32532)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((32536)|0)); + $46 = HEAP32[(32536)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(32516)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(31404)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(31404)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((32540)|0)); + $50 = HEAP32[(32540)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(32524)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(31424)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(31424)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[7828]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(32536)>>2]|0; + $58 = HEAP32[(32540)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,5809,$vararg_buffer3); + } else { + $56 = HEAP32[(32532)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,5744,$vararg_buffer1); + } + $59 = HEAP32[7828]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32580)); + $62 = HEAP32[7830]|0; + $63 = HEAP32[(32580)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((32584)|0)); + $64 = HEAP32[(32584)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(32564)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(31404)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(31404)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32588)|0)); + $68 = HEAP32[(32588)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(32572)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(31424)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(31424)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[7828]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(32584)>>2]|0; + $76 = HEAP32[(32588)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,5955,$vararg_buffer10); + } else { + $74 = HEAP32[(32580)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,5886,$vararg_buffer7); + } + $77 = HEAP32[7828]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32628)); + $80 = HEAP32[7830]|0; + $81 = HEAP32[(32628)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((32632)|0)); + $82 = HEAP32[(32632)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(32612)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(31404)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(31404)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32636)|0)); + $86 = HEAP32[(32636)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(32616)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(31408)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(31408)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((32640)|0)); + $90 = HEAP32[(32640)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(32620)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(31424)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(31424)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((32644)|0)); + $94 = HEAP32[(32644)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(32624)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[7828]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(32632)>>2]|0; + $100 = HEAP32[(32636)>>2]|0; + $101 = HEAP32[(32640)>>2]|0; + $102 = HEAP32[(32644)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6101,$vararg_buffer17); + } else { + $98 = HEAP32[(32628)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6036,$vararg_buffer14); + } + $103 = HEAP32[7828]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[7830]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|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; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,7434,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,7382,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,7431,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,7535,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,7484,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,7431,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7226|0)); + _glBindAttribLocation(($20|0),1,(7241|0)); + _glBindAttribLocation(($20|0),2,(7272|0)); + _glBindAttribLocation(($20|0),3,(7299|0)); + _glBindAttribLocation(($20|0),4,(7285|0)); + _glBindAttribLocation(($20|0),5,(7256|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,7587,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,7431,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,7633,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7226|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7241|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7256|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(7272|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(7285|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(7299|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(7311|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(7321|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(7332|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(7343|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(7355|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(7364|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(7373|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35953 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (35956 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35953 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (35956 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[7747]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,7945,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[31028>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[31028+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[31028+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[31028+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[31028+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(31056)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(31340|0)); + $0 = HEAP32[7835]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,7972,$vararg_buffer); + $1 = HEAP32[7865]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[7836]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + 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; + $0 = HEAP32[7828]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[7830]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((32536)|0)); + _glDeleteBuffers(1,((32540)|0)); + _glDeleteBuffers(1,((32584)|0)); + _glDeleteBuffers(1,((32588)|0)); + _glDeleteBuffers(1,((32632)|0)); + _glDeleteBuffers(1,((32636)|0)); + _glDeleteBuffers(1,((32640)|0)); + _glDeleteBuffers(1,((32644)|0)); + $3 = HEAP32[7828]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7831]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32532)); + $6 = HEAP32[7831]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32580)); + $7 = HEAP32[7831]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32628)); + } + $8 = HEAP32[(32516)>>2]|0; + _free($8); + $9 = HEAP32[(32524)>>2]|0; + _free($9); + $10 = HEAP32[(32564)>>2]|0; + _free($10); + $11 = HEAP32[(32572)>>2]|0; + _free($11); + $12 = HEAP32[(32612)>>2]|0; + _free($12); + $13 = HEAP32[(32616)>>2]|0; + _free($13); + $14 = HEAP32[(32620)>>2]|0; + _free($14); + $15 = HEAP32[(32624)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $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; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8037,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 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); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[1780] = $0; + $1 = +HEAPF64[1763]; + $2 = $0 - $1; + HEAPF64[1781] = $2; + HEAPF64[1763] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=31084; 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)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(32656); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[8164] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(32660)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(32664)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(32668)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(32672)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(32676)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(32680)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(32684)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(32688)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(32692)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(32696)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(32700)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(32704)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(32708)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(32712)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(32716)>>2] = $31; + return (32656|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[7794]|0; + dest=$$byval_copy; src=$49; 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)); + dest=$$byval_copy1; src=$1; 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)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; 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)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[1780] = $0; + $1 = +HEAPF64[1763]; + $2 = $0 - $1; + HEAPF64[1782] = $2; + HEAPF64[1763] = $0; + $3 = +HEAPF64[1781]; + $4 = $2 + $3; + HEAPF64[1783] = $4; + $5 = +HEAPF64[1760]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[1780] = $10; + $11 = +HEAPF64[1763]; + $12 = $10 - $11; + HEAPF64[1763] = $10; + $13 = +HEAPF64[1783]; + $14 = $12 + $13; + HEAPF64[1783] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7747]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[743] = -1; + HEAP32[745] = -1; + HEAP32[8180] = 0; + $3 = HEAP32[7747]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[3518] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(14076)>>2] = $7; + _memcpy((36471|0),(35959|0),512)|0; + ;HEAP8[35956>>0]=HEAP8[35953>>0]|0;HEAP8[35956+1>>0]=HEAP8[35953+1>>0]|0;HEAP8[35956+2>>0]=HEAP8[35953+2>>0]|0; + $8 = HEAP32[8163]|0; + HEAP32[7750] = $8; + HEAP32[8163] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (36983 + ($$05160<<5)|0); + $scevgep67 = (37111 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; 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)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((37111 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[745] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((32724 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[8180] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $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, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8126]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[7828]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[7830]|0; + $5 = HEAP32[(32532)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(32536)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[8126]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(32516)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(32540)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(32512)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(32524)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[8138]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[7828]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[7830]|0; + $19 = HEAP32[(32580)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(32584)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[8138]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(32564)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(32588)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(32560)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(32572)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[8150]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[7828]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[7830]|0; + $33 = HEAP32[(32628)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(32632)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[8150]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(32612)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(32636)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[8150]|0; + $40 = $39 << 3; + $41 = HEAP32[(32616)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(32640)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[8150]|0; + $44 = $43 << 2; + $45 = HEAP32[(32620)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[7828]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[7830]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 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; + 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, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=31180; 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)); + dest=$1; src=31244; 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)); + $3 = HEAP32[8213]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; 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)); + dest=$$byval_copy2; src=$1; 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)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[8126]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[8138]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[8150]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[7850]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=31244; 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)); + dest=$$byval_copy2; src=31180; 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)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(31428)>>2]|0; + dest=$$byval_copy2; 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)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(31432)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(31444)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[8126]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[7835]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[7828]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(32536)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(31404)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(31404)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(32540)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(31424)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(31424)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[7830]|0; + $25 = HEAP32[(32532)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[8126]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[7828]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[8138]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[7835]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[7828]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(32584)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(31404)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(31404)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(32588)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(31424)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(31424)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[7830]|0; + $41 = HEAP32[(32580)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[8138]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[7828]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[8150]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[7828]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(32632)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(31404)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(31404)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(32636)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(31408)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(31408)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(32640)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(31424)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(31424)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(32644)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[7830]|0; + $56 = HEAP32[(32628)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[7866]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[7865]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[7865]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[7866]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[7828]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[7828]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[7830]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[7866] = 1; + $5 = HEAP32[7835]|0; + $6 = HEAP32[7865]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[8126] = 0; + HEAP32[(32512)>>2] = 0; + HEAP32[8138] = 0; + HEAP32[(32560)>>2] = 0; + HEAP32[8150] = 0; + HEAP32[(32604)>>2] = 0; + HEAP32[(32608)>>2] = 0; + HEAPF32[746] = -1.0; + dest=31180; src=$0; 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)); + dest=31244; src=$1; 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)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $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 + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; 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)); + $5 = HEAP32[8124]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[8125]|0; + _rlViewport($7,0,$8,$9); + $10 = (33084 + ($0<<6)|0); + dest=$$byval_copy; 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)); + dest=$$byval_copy3; src=$10; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (32956 + ($0<<6)|0); + dest=$3; src=$11; 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)); + dest=$$byval_copy3; src=$4; 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)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; 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)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31244; src=$0; 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)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31180; src=$0; 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)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 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; + $0 = HEAP32[8303]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8087,$vararg_buffer); + } + $2 = HEAP32[8303]|0; + $3 = (31472 + ($2<<6)|0); + $4 = HEAP32[7794]|0; + dest=$3; src=$4; 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)); + _rlLoadIdentity(); + $5 = HEAP32[8303]|0; + $6 = (($5) + 1)|0; + HEAP32[8303] = $6; + $7 = HEAP32[7827]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[8304] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8303]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[8303]|0; + $3 = (($2) + -1)|0; + $4 = (31472 + ($3<<6)|0); + $5 = HEAP32[7794]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[8303] = $6; + return; +} +function _GetRandomValue($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)>($1|0); + $$ = $2 ? $0 : $1; + $$10 = $2 ? $1 : $0; + $3 = (_rand()|0); + $4 = (($$) - ($$10))|0; + $ispos = ($4|0)>(-1); + $neg = (0 - ($4))|0; + $5 = $ispos ? $4 : $neg; + $6 = (($5) + 1)|0; + $7 = (($3|0) % ($6|0))&-1; + $8 = (($7) + ($$10))|0; + return ($8|0); +} +function _SetConfigFlags($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP8[35952] = $0; + $1 = $0 & 1; + $2 = ($1<<24>>24)==(0); + if (!($2)) { + HEAP32[7752] = 1; + } + $3 = HEAP8[35952]|0; + $4 = $3 & 2; + $5 = ($4<<24>>24)==(0); + if ($5) { + return; + } + HEAP32[7789] = 1; + return; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (35959 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (36471 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[7794]|0; + dest=$$byval_copy; src=$5; 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)); + dest=$$byval_copy1; src=$3; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; 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)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 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 + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; 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)); + _MatrixTranspose($4); + $11 = HEAP32[7794]|0; + dest=$$byval_copy1; src=$11; 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)); + dest=$$byval_copy2; src=$4; 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)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; 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)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7867] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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.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.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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; + 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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 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); + $$byval_copy = sp; + $0 = HEAP32[8304]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[8305]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[7864]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[7794]|0; + dest=$$byval_copy; src=$8; 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)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[8305]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[8304] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[7864]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[8305]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[8304] = 0; + } + HEAP32[8305] = 0; + } + $21 = HEAP32[7867]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[8126]|0; + $23 = HEAP32[(32512)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(32524)>>2]|0; + $28 = HEAP32[(32512)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(32524)>>2]|0; + $35 = HEAP32[(32512)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(32524)>>2]|0; + $43 = HEAP32[(32512)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(32524)>>2]|0; + $51 = HEAP32[(32512)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(32512)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(32512)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[8138]|0; + $62 = HEAP32[(32560)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(32572)>>2]|0; + $67 = HEAP32[(32560)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(32572)>>2]|0; + $74 = HEAP32[(32560)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(32572)>>2]|0; + $82 = HEAP32[(32560)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(32572)>>2]|0; + $90 = HEAP32[(32560)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(32560)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(32560)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[8150]|0; + $101 = HEAP32[(32608)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(32620)>>2]|0; + $106 = HEAP32[(32608)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(32620)>>2]|0; + $113 = HEAP32[(32608)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(32620)>>2]|0; + $121 = HEAP32[(32608)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(32620)>>2]|0; + $129 = HEAP32[(32608)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(32608)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(32608)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[8150]|0; + $140 = HEAP32[(32604)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(32616)>>2]|0; + $$promoted = HEAP32[(32604)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(32604)>>2] = $147; + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[746]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[746] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + 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, $45 = 0, $46 = 0, $47 = 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; + $3 = HEAP32[8304]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7864]|0; + $6 = HEAP32[8305]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[8305] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[7867]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[8126]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(32516)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[8126] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8125,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[8138]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(32564)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[8138] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8150,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[8150]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(32612)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[8150] = $41; + $42 = HEAP32[7865]|0; + $43 = HEAP32[7866]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8179,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[746]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[7867]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(32616)>>2]|0; + $5 = HEAP32[(32604)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(32604)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[7867]|0; + switch ($4|0) { + case 1: { + $$sink37 = (32512);$$sink38 = (32524); + break; + } + case 4: { + $$sink37 = (32560);$$sink38 = (32572); + break; + } + case 7: { + $$sink37 = (32608);$$sink38 = (32620); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($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 = HEAP32[7865]|0; + $2 = HEAP32[7866]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[7866] = $10; + } + $11 = HEAP32[7866]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8150]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _DrawLineV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $3 = HEAP8[$2>>0]|0; + $4 = ((($2)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($2)) + 2|0); + $7 = HEAP8[$6>>0]|0; + $8 = ((($2)) + 3|0); + $9 = HEAP8[$8>>0]|0; + _rlColor4ub($3,$5,$7,$9); + $10 = +HEAPF32[$0>>2]; + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + _rlVertex2f($10,$12); + $13 = +HEAPF32[$1>>2]; + $14 = ((($1)) + 4|0); + $15 = +HEAPF32[$14>>2]; + _rlVertex2f($13,$15); + _rlEnd(); + return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[31028>>2]|0;HEAP32[$0+4>>2]=HEAP32[31028+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[31028+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[31028+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[31028+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[31028+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[31028+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[31028+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 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; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|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.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.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.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _emscripten_GetProcAddress($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, $398 = 0, $399 = 0, $4 = 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, $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; + var $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, $53 = 0, $530 = 0; + var $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, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,8204)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,8208)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,8212)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,8216)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,8222)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,8260)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 8279; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,8292)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 8313; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,8328)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 8343; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,8358)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 8373; + } + } else { + HEAP32[$3>>2] = 8244; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,8388)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,8402)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,8414)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,8428)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,8440)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,8454)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,8468)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,8485)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,8508)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,8534)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,8547)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,8563)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,8576)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,8590)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,8610)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,8630)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,8647)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,8664)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,8676)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,8689)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,8705)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,8728)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,8741)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,8757)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,8768)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,8787)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,8809)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,8828)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,8857)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,8874)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,8889)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,8904)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,8925)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,8945)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,8965)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,8991)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,9010)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,9022)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,9034)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,9046)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,9058)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,9070)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,9082)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,9094)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,9106)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,9119)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,9132)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,9145)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,9158)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,9171)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,9184)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,9197)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,9210)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,9229)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,9248)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,9267)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,9280)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,9298)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,9316)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,9334)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,9352)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,9372)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,8313)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,9390)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,9405)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,9426)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,9441)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,9459)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,9475)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,9494)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,9508)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,9523)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,8244)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,9534)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,8343)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,8373)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,9550)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,9577)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,9591)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,8279)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,9611)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,9629)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,9641)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,9662)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,9680)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,9698)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,9719)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,9745)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,9768)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,9806)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,9822)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,9837)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,9860)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,9873)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,9887)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,9901)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,9921)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,9941)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,9957)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,9975)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,9991)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,10006)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,10028)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,10046)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,10067)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,10085)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,10098)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,10113)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,10127)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,10137)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,10147)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,10169)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,10195)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,10222)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,10235)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,10250)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,10265)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,10289)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,10300)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,10322)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,10344)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,10368)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,10377)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,10385)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,10398)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,10412)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,10424)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,10433)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,10443)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,10455)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,10466)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,10474)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,10486)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,10501)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,10513)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,10527)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,10552)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,10569)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,10585)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,10601)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,10613)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,10625)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,10649)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,10662)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,10676)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,10698)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,10705)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,10721)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,10738)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,10755)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,10771)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,10787)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,10804)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,10818)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,10830)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,10841)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,10854)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,10864)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,10881)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,10893)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,10915)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,10935)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,10948)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,10970)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,10990)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,11007)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,11024)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,11044)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (33224|0); +} +function ___emscripten_pthread_data_constructor() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 188|0); + HEAP32[$1>>2] = (33264); + return; +} +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_736($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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 + 16|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $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;$26 = $17; + while(1) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _dummy_736($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] = 9; + $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 _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 _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 _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$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; + var $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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=3120; 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); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|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 = 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, $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, $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 + 120|0; + $4 = sp + 80|0; + $5 = sp; + $6 = sp + 136|0; + 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 = (Atomics_load(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 & 15]($0,0,0)|0); + $33 = HEAP32[$26>>2]|0; + $34 = ($33|0)==(0|0); + $$ = $34 ? -1 : $29; + HEAP32[$23>>2] = $24; + HEAP32[$19>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $$1 = $$; + } + } else { + $22 = (_printf_core($0,$1,$3,$5,$4)|0); + $$1 = $22; + } + $35 = HEAP32[$0>>2]|0; + $36 = $35 & 32; + $37 = ($36|0)==(0); + $$1$ = $37 ? $$1 : -1; + $38 = $35 | $14; + HEAP32[$0>>2] = $38; + $39 = ($40|0)==(0); + if (!($39)) { + ___unlockfile($0); + } + $$0 = $$1$; + } + 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, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 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.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, $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 $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 20|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 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; + L1: 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 = HEAP8[$21>>0]|0; + $22 = ($20<<24>>24)==(0); + if ($22) { + label = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $25;$27 = $25; + label = 9; + break L9; + break; + } + case 0: { + $$0249$lcssa = $25;$39 = $25; + break L9; + break; + } + default: { + } + } + $24 = ((($25)) + 1|0); + HEAP32[$5>>2] = $24; + $$pre = HEAP8[$24>>0]|0; + $23 = $$pre;$25 = $24; + } + L12: do { + if ((label|0) == 9) { + while(1) { + label = 0; + $26 = ((($27)) + 1|0); + $28 = HEAP8[$26>>0]|0; + $29 = ($28<<24>>24)==(37); + if (!($29)) { + $$0249$lcssa = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $30;$27 = $31; + label = 9; + } else { + $$0249$lcssa = $30;$39 = $31; + break; + } + } + } + } while(0); + $34 = $$0249$lcssa; + $35 = $21; + $36 = (($34) - ($35))|0; + if ($10) { + _out($0,$21,$36); + } + $37 = ($36|0)==(0); + if (!($37)) { + $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; + continue; + } + $38 = ((($39)) + 1|0); + $40 = HEAP8[$38>>0]|0; + $41 = $40 << 24 >> 24; + $isdigittmp = (($41) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $42 = ((($39)) + 2|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)==(36); + $45 = ((($39)) + 3|0); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } else { + $$0253 = -1;$$1270 = $$0269;$storemerge = $38; + } + HEAP32[$5>>2] = $storemerge; + $46 = HEAP8[$storemerge>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($47) + -32)|0; + $49 = ($48>>>0)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((11160 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 11624;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 11624;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11624 : (11626); + $$$ = $238 ? $$ : (11625); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 11624;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 11624;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 11634; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_672($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11624;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (11624 + ($208)|0); + $$289 = $or$cond283 ? 11624 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 11624;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_672($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; + $$0228$ = $or$cond ? $$0228 : $11; + $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; + } + else if ((label|0) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_672($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_672($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_672($0,48,$$2261,$312,$314); + _pad_672($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_672($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } else { + $$0 = $$1248; + } + } + } while(0); + STACKTOP = sp;return ($$0|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 _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, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $isdigittmp4 = (($3) + -48)|0; + $isdigit5 = ($isdigittmp4>>>0)<(10); + if ($isdigit5) { + $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; + while(1) { + $4 = ($$06*10)|0; + $5 = (($isdigittmp7) + ($4))|0; + $6 = ((($7)) + 1|0); + HEAP32[$0>>2] = $6; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $isdigittmp = (($9) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; + } else { + $$0$lcssa = $5; + break; + } + } + } else { + $$0$lcssa = 0; + } + 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 = (11676 + ($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, $3 = 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 = (___uremdi3(($8|0),($9|0),10,0)|0); + $11 = tempRet0; + $12 = $10&255; + $13 = $12 | 48; + $14 = ((($$0914)) + -1|0); + HEAP8[$14>>0] = $13; + $15 = (___udivdi3(($8|0),($9|0),10,0)|0); + $16 = tempRet0; + $17 = ($9>>>0)>(9); + $18 = ($8>>>0)>(4294967295); + $19 = ($9|0)==(9); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $$0914 = $14;$8 = $15;$9 = $16; + } else { + break; + } + } + $$010$lcssa$off0 = $15;$$09$lcssa = $14; + } else { + $$010$lcssa$off0 = $0;$$09$lcssa = $2; + } + $22 = ($$010$lcssa$off0|0)==(0); + if ($22) { + $$1$lcssa = $$09$lcssa; + } else { + $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; + while(1) { + $23 = (($$012>>>0) % 10)&-1; + $24 = $23 | 48; + $25 = $24&255; + $26 = ((($$111)) + -1|0); + HEAP8[$26>>0] = $25; + $27 = (($$012>>>0) / 10)&-1; + $28 = ($$012>>>0)<(10); + if ($28) { + $$1$lcssa = $26; + break; + } else { + $$012 = $27;$$111 = $26; + } + } + } + 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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 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 { + $$2 = $$035$lcssa;$$3 = 0; + } + } + L8: do { + if ((label|0) == 6) { + $17 = HEAP8[$$035$lcssa65>>0]|0; + $18 = $1&255; + $19 = ($17<<24>>24)==($18<<24>>24); + if ($19) { + $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; + } else { + $20 = Math_imul($3, 16843009)|0; + $21 = ($$036$lcssa64>>>0)>(3); + L11: 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)) { + break; + } + $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 L11; + } + } + $$140 = $$046;$$23839 = $$13745; + } else { + $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; + label = 11; + } + } while(0); + if ((label|0) == 11) { + $32 = ($$137$lcssa|0)==(0); + if ($32) { + $$2 = $$0$lcssa;$$3 = 0; + break; + } else { + $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + } + } + while(1) { + $33 = HEAP8[$$140>>0]|0; + $34 = ($33<<24>>24)==($18<<24>>24); + if ($34) { + $$2 = $$140;$$3 = $$23839; + break L8; + } + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; + break; + } else { + $$140 = $35;$$23839 = $36; + } + } + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_672($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, $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 = ($9>>>0)<(256); + $11 = $10 ? $9 : 256; + _memset(($5|0),($1|0),($11|0))|0; + $12 = ($9>>>0)>(255); + if ($12) { + $13 = (($2) - ($3))|0; + $$011 = $9; + while(1) { + _out($0,$5,256); + $14 = (($$011) + -256)|0; + $15 = ($14>>>0)>(255); + if ($15) { + $$011 = $14; + } else { + break; + } + } + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; + } + _out($0,$5,$$0$lcssa); + } + STACKTOP = sp;return; +} +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 _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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.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.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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $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.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $387 = 0, $388 = 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.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.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 $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 524|0; + $9 = $8; + $10 = sp + 512|0; + HEAP32[$7>>2] = 0; + $11 = ((($10)) + 12|0); + (___DOUBLE_BITS_673($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11641; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11642) : (11647); + $$$ = $16 ? $$ : (11644); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_673($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (11676 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $85 = $84&255; + $86 = ((($$0523)) + 1|0); + HEAP8[$$0523>>0] = $85; + $87 = (+($80|0)); + $88 = $$2473 - $87; + $89 = $88 * 16.0; + $90 = $86; + $91 = (($90) - ($9))|0; + $92 = ($91|0)==(1); + if ($92) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_672($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_672($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_672($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_672($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$3501$lcssa; + $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; + } else { + $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; + } + $$7505 = $$7505$ph; + while(1) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_672($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_672($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11692,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_672($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,11692,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_672($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_672($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11660 : 11664; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11668 : 11672; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_672($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_672($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_673($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 _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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_446()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = (Atomics_load(HEAP32,$8>>2)|0); + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_446() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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, $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 label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; + while(1) { + $3 = (11694 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; + break; + } + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); + if ($8) { + $$01214 = 11782;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 11782; + } else { + $$01214 = 11782;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$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; + label = 5; + } + } + } + $14 = ((($1)) + 20|0); + $15 = (Atomics_load(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 $$ = 0, $$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; + 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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 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); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$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); + $$ = $61 ? $57 : 0; + $$4 = $$; + } 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 $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); +} +function ___fwritex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var 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 & 15]($2,$0,$1)|0); + $$1 = $17; + break; + } + $18 = ((($2)) + 75|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)>(-1); + L10: do { + if ($20) { + $$038 = $1; + while(1) { + $21 = ($$038|0)==(0); + if ($21) { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + break L10; + } + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; + } else { + $$038 = $22; + } + } + $26 = ((($2)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); + $29 = ($28>>>0)<($$038>>>0); + if ($29) { + $$1 = $28; + break L5; + } + $30 = (($0) + ($$038)|0); + $$042 = (($1) - ($$038))|0; + $$pre47 = HEAP32[$9>>2]|0; + $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; + } else { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + } + } while(0); + _memcpy(($31|0),($$141|0),($$143|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($32) + ($$143)|0); + HEAP32[$9>>2] = $33; + $34 = (($$139) + ($$143))|0; + $$1 = $34; + } + } 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 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 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|0); +} +function _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 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; + var $21 = 0, $22 = 0, $23 = 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 = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; + } else { + $$01519 = $6;$23 = $7; + } + } + } + } while(0); + if ((label|0) == 4) { + $$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 { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; + } else { + $$pn = $19; + } + } + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|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 ___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) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<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 _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, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 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) { + $$029 = $$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$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33288|0)); + return (33296|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33288|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 = (Atomics_load(HEAP32,779)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = (Atomics_load(HEAP32,779)|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 = (Atomics_load(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 = (Atomics_load(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 & 15]($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 & 15]($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 _strstr($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, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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 label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 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, $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, $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, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;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;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 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]=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;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 14272; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _rand() { + 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; + $0 = 14272; + $1 = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (($0) + 4)|0; + $4 = $3; + $5 = HEAP32[$4>>2]|0; + $6 = (___muldi3(($2|0),($5|0),1284865837,1481765933)|0); + $7 = tempRet0; + $8 = (_i64Add(($6|0),($7|0),1,0)|0); + $9 = tempRet0; + $10 = 14272; + $11 = $10; + HEAP32[$11>>2] = $8; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = (_bitshift64Lshr(($8|0),($9|0),33)|0); + $15 = tempRet0; + return ($14|0); +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[747]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;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;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = HEAP32[8325]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[8325] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8325] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8325] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8325] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function __emscripten_atomic_fetch_and_add_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_and_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_or_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_sub_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_xor_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function _emscripten_async_run_in_main_thread($0) { + $0 = $0|0; + var $$0 = 0, $$0$in = 0, $$0$in19 = 0, $$0$lcssa = 0, $$020 = 0, $$expand_i1_val = 0, $$lcssa = 0, $$lcssa18 = 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, $call_queue$init$val = 0, $call_queue$init$val$pre_trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + ___assert_fail((13876|0),(13708|0),260,(13881|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + if (!($3)) { + __do_call($0); + return; + } + (___pthread_mutex_lock(33820)|0); + $call_queue$init$val$pre_trunc = HEAP8[38271]|0; + $call_queue$init$val = $call_queue$init$val$pre_trunc&1; + if (!($call_queue$init$val)) { + $$expand_i1_val = 1; + HEAP8[38271] = $$expand_i1_val; + } + $4 = (Atomics_load(HEAP32, 8462)|0); + $5 = (Atomics_load(HEAP32, 8463)|0); + $$0$in19 = (($5) + 1)|0; + $$020 = (($$0$in19|0) % 128)&-1; + $6 = ($$020|0)==($4|0); + if ($6) { + $7 = $4; + while(1) { + (___pthread_mutex_unlock(33820)|0); + (_emscripten_futex_wait((33848|0),($7|0),inf)|0); + (___pthread_mutex_lock(33820)|0); + $8 = (Atomics_load(HEAP32, 8462)|0); + $9 = (Atomics_load(HEAP32, 8463)|0); + $$0$in = (($9) + 1)|0; + $$0 = (($$0$in|0) % 128)&-1; + $10 = ($$0|0)==($8|0); + if ($10) { + $7 = $8; + } else { + $$0$lcssa = $$0;$$lcssa = $9;$$lcssa18 = $8; + break; + } + } + } else { + $$0$lcssa = $$020;$$lcssa = $5;$$lcssa18 = $4; + } + $11 = (33856 + ($$lcssa<<2)|0); + HEAP32[$11>>2] = $0; + $12 = ($$lcssa18|0)==($$lcssa|0); + if ($12) { + _emscripten_asm_const_v(1); + } + $13 = (Atomics_store(HEAP32, 8463, $$0$lcssa)|0); + (___pthread_mutex_unlock(33820)|0); + return; +} +function _emscripten_atomic_add_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_and_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_cas_u64($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, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $0; + $6 = $5 >>> 3; + $7 = $6 & 255; + $8 = (34376 + ($7<<2)|0); + while(1) { + while(1) { + $9 = (Atomics_load(HEAP32, $8>>2)|0); + $10 = (Atomics_compareExchange(HEAP32, $8>>2, $9, 1)|0); + $11 = ($9|0)==($10|0); + if ($11) { + break; + } + } + $12 = ($9|0)==(0); + if ($12) { + break; + } + } + $13 = $0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)==($1|0); + $20 = ($18|0)==($2|0); + $21 = $19 & $20; + if (!($21)) { + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); + } + $22 = $0; + $23 = $22; + HEAP32[$23>>2] = $3; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $4; + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); +} +function _emscripten_atomic_exchange_u32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + while(1) { + $2 = (Atomics_load(HEAP32, $0>>2)|0); + $3 = (Atomics_compareExchange(HEAP32, $0>>2, $2, $1)|0); + $4 = ($2|0)==($3|0); + if ($4) { + break; + } + } + return ($2|0); +} +function _emscripten_atomic_exchange_u64($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, label = 0; + var sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $0; + $18 = $17; + HEAP32[$18>>2] = $1; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $2; + $21 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function _emscripten_atomic_load_f32($0) { + $0 = $0|0; + var $1 = 0, $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (Atomics_load(HEAP32, $0>>2)|0); + $2 = (HEAP32[tempDoublePtr>>2]=$1,+HEAPF32[tempDoublePtr>>2]); + return (+$2); +} +function _emscripten_atomic_load_f64($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.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34376 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } + } + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = +HEAPF64[$0>>3]; + $10 = (Atomics_store(HEAP32, $4>>2, 0)|0); + return (+$9); +} +function _emscripten_atomic_load_u64($0) { + $0 = $0|0; + var $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; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34376 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } + } + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = $0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (Atomics_store(HEAP32, $4>>2, 0)|0); + tempRet0 = ($14); + return ($11|0); +} +function _emscripten_atomic_or_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_store_f32($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (HEAPF32[tempDoublePtr>>2]=$1,HEAP32[tempDoublePtr>>2]|0); + $3 = (Atomics_store(HEAP32, $0>>2, $2)|0); + $4 = (+($3>>>0)); + return (+$4); +} +function _emscripten_atomic_store_f64($0,$1) { + $0 = $0|0; + $1 = +$1; + var $10 = 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; + $3 = $2 >>> 3; + $4 = $3 & 255; + $5 = (34376 + ($4<<2)|0); + while(1) { + while(1) { + $6 = (Atomics_load(HEAP32, $5>>2)|0); + $7 = (Atomics_compareExchange(HEAP32, $5>>2, $6, 1)|0); + $8 = ($6|0)==($7|0); + if ($8) { + break; + } + } + $9 = ($6|0)==(0); + if ($9) { + break; + } + } + HEAPF64[$0>>3] = $1; + $10 = (Atomics_store(HEAP32, $5>>2, 0)|0); + return (+$1); +} +function _emscripten_atomic_store_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + HEAP32[$12>>2] = $1; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($2); + return ($1|0); +} +function _emscripten_atomic_sub_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_xor_u64($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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_main_thread_process_queued_calls() { + var $$0910 = 0, $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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_emscripten_is_main_runtime_thread()|0); + $1 = ($0|0)==(0); + if ($1) { + ___assert_fail((13586|0),(13708|0),424,(13772|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + $4 = HEAP32[8454]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + return; + } + HEAP32[8454] = 1; + (___pthread_mutex_lock(33820)|0); + $6 = (Atomics_load(HEAP32, 8462)|0); + $7 = (Atomics_load(HEAP32, 8463)|0); + $8 = ($6|0)==($7|0); + (___pthread_mutex_unlock(33820)|0); + if (!($8)) { + $$0910 = $6; + while(1) { + $9 = (33856 + ($$0910<<2)|0); + $10 = HEAP32[$9>>2]|0; + __do_call($10); + (___pthread_mutex_lock(33820)|0); + $11 = (($$0910) + 1)|0; + $12 = (($11|0) % 128)&-1; + $13 = (Atomics_store(HEAP32, 8462, $12)|0); + $14 = (Atomics_load(HEAP32, 8463)|0); + $15 = ($12|0)==($14|0); + (___pthread_mutex_unlock(33820)|0); + if ($15) { + break; + } else { + $$0910 = $12; + } + } + } + (_emscripten_futex_wake((33848|0),2147483647)|0); + HEAP32[8454] = 0; + return; +} +function _emscripten_sync_run_in_main_thread($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + _emscripten_async_run_in_main_thread($0); + (_emscripten_wait_for_call_v($0,inf)|0); + return; +} +function _emscripten_sync_run_in_main_thread_0($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $1 = sp; + dest=$1; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$1>>2] = $0; + $2 = ((($1)) + 80|0); + HEAP32[$2>>2] = 0; + _emscripten_async_run_in_main_thread($1); + (_emscripten_wait_for_call_v($1,inf)|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _emscripten_sync_run_in_main_thread_1($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $2 = sp; + dest=$2; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$2>>2] = $0; + $3 = ((($2)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($2)) + 80|0); + HEAP32[$4>>2] = 0; + _emscripten_async_run_in_main_thread($2); + (_emscripten_wait_for_call_v($2,inf)|0); + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _emscripten_sync_run_in_main_thread_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $3 = sp; + dest=$3; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = $0; + $4 = ((($3)) + 16|0); + HEAP32[$4>>2] = $1; + $5 = ((($3)) + 24|0); + HEAP32[$5>>2] = $2; + $6 = ((($3)) + 80|0); + HEAP32[$6>>2] = 0; + _emscripten_async_run_in_main_thread($3); + (_emscripten_wait_for_call_v($3,inf)|0); + $7 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _emscripten_sync_run_in_main_thread_3($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, $9 = 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+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$4>>2] = $0; + $5 = ((($4)) + 16|0); + HEAP32[$5>>2] = $1; + $6 = ((($4)) + 24|0); + HEAP32[$6>>2] = $2; + $7 = ((($4)) + 32|0); + HEAP32[$7>>2] = $3; + $8 = ((($4)) + 80|0); + HEAP32[$8>>2] = 0; + _emscripten_async_run_in_main_thread($4); + (_emscripten_wait_for_call_v($4,inf)|0); + $9 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _emscripten_sync_run_in_main_thread_4($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $5 = sp; + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $6 = ((($5)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = ((($5)) + 24|0); + HEAP32[$7>>2] = $2; + $8 = ((($5)) + 32|0); + HEAP32[$8>>2] = $3; + $9 = ((($5)) + 40|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 80|0); + HEAP32[$10>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $11 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _emscripten_sync_run_in_main_thread_5($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $6 = sp; + dest=$6; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = $0; + $7 = ((($6)) + 16|0); + HEAP32[$7>>2] = $1; + $8 = ((($6)) + 24|0); + HEAP32[$8>>2] = $2; + $9 = ((($6)) + 32|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 40|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 48|0); + HEAP32[$11>>2] = $5; + $12 = ((($6)) + 80|0); + HEAP32[$12>>2] = 0; + _emscripten_async_run_in_main_thread($6); + (_emscripten_wait_for_call_v($6,inf)|0); + $13 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _emscripten_sync_run_in_main_thread_6($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $7 = sp; + dest=$7; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$7>>2] = $0; + $8 = ((($7)) + 16|0); + HEAP32[$8>>2] = $1; + $9 = ((($7)) + 24|0); + HEAP32[$9>>2] = $2; + $10 = ((($7)) + 32|0); + HEAP32[$10>>2] = $3; + $11 = ((($7)) + 40|0); + HEAP32[$11>>2] = $4; + $12 = ((($7)) + 48|0); + HEAP32[$12>>2] = $5; + $13 = ((($7)) + 56|0); + HEAP32[$13>>2] = $6; + $14 = ((($7)) + 80|0); + HEAP32[$14>>2] = 0; + _emscripten_async_run_in_main_thread($7); + (_emscripten_wait_for_call_v($7,inf)|0); + $15 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _emscripten_sync_run_in_main_thread_7($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $8 = sp; + dest=$8; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$8>>2] = $0; + $9 = ((($8)) + 16|0); + HEAP32[$9>>2] = $1; + $10 = ((($8)) + 24|0); + HEAP32[$10>>2] = $2; + $11 = ((($8)) + 32|0); + HEAP32[$11>>2] = $3; + $12 = ((($8)) + 40|0); + HEAP32[$12>>2] = $4; + $13 = ((($8)) + 48|0); + HEAP32[$13>>2] = $5; + $14 = ((($8)) + 56|0); + HEAP32[$14>>2] = $6; + $15 = ((($8)) + 64|0); + HEAP32[$15>>2] = $7; + $16 = ((($8)) + 80|0); + HEAP32[$16>>2] = 0; + _emscripten_async_run_in_main_thread($8); + (_emscripten_wait_for_call_v($8,inf)|0); + $17 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _emscripten_sync_run_in_main_thread_xprintf_varargs($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|0; + var $$0 = 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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $3 = sp + 96|0; + $4 = sp + 112|0; + $5 = sp; + HEAP32[$3>>2] = $varargs; + $6 = (_vsnprintf($4,128,$2,$3)|0); + $7 = ($6|0)>(127); + $8 = (($6) + 1)|0; + if ($7) { + $9 = (_malloc($8)|0); + HEAP32[$3>>2] = $varargs; + (_vsnprintf($9,$8,$2,$3)|0); + $$0 = $9; + } else { + $$0 = $4; + } + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $10 = $1; + $11 = ((($5)) + 16|0); + HEAP32[$11>>2] = $10; + $12 = ((($5)) + 24|0); + HEAP32[$12>>2] = $$0; + $13 = ((($5)) + 80|0); + HEAP32[$13>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $14 = ($$0|0)==($4|0); + if ($14) { + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); + } + _free($$0); + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); +} +function ___pthread_tsd_run_dtors() { + var $$02427 = 0, $$026 = 0, $$125 = 0, $$2 = 0, $0 = 0, $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; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 116|0); + $$02427 = 0; + while(1) { + $$026 = 0;$$125 = 0; + while(1) { + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($$026<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + $$2 = $$125; + } else { + $9 = (33304 + ($$026<<2)|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$2 = $$125; + } else { + HEAP32[$6>>2] = 0; + $12 = (Atomics_load(HEAP32,$9>>2)|0); + FUNCTION_TABLE_vi[$12 & 31]($7); + $$2 = 1; + } + } + $13 = (($$026) + 1)|0; + $exitcond = ($13|0)==(128); + if ($exitcond) { + break; + } else { + $$026 = $13;$$125 = $$2; + } + } + $14 = (($$02427) + 1)|0; + $15 = ($$2|0)!=(0); + $16 = ($14|0)<(4); + $17 = $16 & $15; + if ($17) { + $$02427 = $14; + } else { + break; + } + } + return; +} +function _emscripten_wait_for_call_v($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$ = 0, $$01921 = 0.0, $$020$lcssa = 0, $$1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = (Atomics_load(HEAP32, $2>>2)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$1 = $3; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); + } + $5 = (+_emscripten_get_now()); + $6 = $5 + $1; + _emscripten_set_current_thread_status(5); + $7 = $5 < $6; + if ($7) { + $$01921 = $5; + while(1) { + $8 = $6 - $$01921; + (_emscripten_futex_wait(($2|0),0,(+$8))|0); + $9 = (Atomics_load(HEAP32, $2>>2)|0); + $10 = (+_emscripten_get_now()); + $11 = ($9|0)==(0); + $12 = $10 < $6; + $or$cond = $11 & $12; + if ($or$cond) { + $$01921 = $10; + } else { + $$020$lcssa = $9; + break; + } + } + } else { + $$020$lcssa = 0; + } + _emscripten_set_current_thread_status(1); + $$1 = $$020$lcssa; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); +} +function __do_call($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, $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, $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; + $1 = HEAP32[$0>>2]|0; + do { + switch ($1|0) { + case 12: { + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 24|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_utime(($3|0),($5|0))|0); + $7 = ((($0)) + 80|0); + HEAP32[$7>>2] = $6; + break; + } + case 13: { + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($0)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_utimes(($9|0),($11|0))|0); + $13 = ((($0)) + 80|0); + HEAP32[$13>>2] = $12; + break; + } + case 37: { + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_chroot(($15|0))|0); + $17 = ((($0)) + 80|0); + HEAP32[$17>>2] = $16; + break; + } + case 46: { + $18 = ((($0)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_fpathconf(($19|0),($21|0))|0); + $23 = ((($0)) + 80|0); + HEAP32[$23>>2] = $22; + break; + } + case 68: { + $24 = ((($0)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_confstr(($25|0),($27|0),($29|0))|0); + $31 = ((($0)) + 80|0); + HEAP32[$31>>2] = $30; + break; + } + case 72: { + $32 = ((($0)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sysconf(($33|0))|0); + $35 = ((($0)) + 80|0); + HEAP32[$35>>2] = $34; + break; + } + case 110: { + $36 = ((($0)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_atexit(($37|0))|0); + $39 = ((($0)) + 80|0); + HEAP32[$39>>2] = $38; + break; + } + case 111: { + $40 = ((($0)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_getenv(($41|0))|0); + $43 = ((($0)) + 80|0); + HEAP32[$43>>2] = $42; + break; + } + case 112: { + $44 = (_clearenv()|0); + $45 = ((($0)) + 80|0); + HEAP32[$45>>2] = $44; + break; + } + case 113: { + $46 = ((($0)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($0)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($0)) + 32|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_setenv(($47|0),($49|0),($51|0))|0); + $53 = ((($0)) + 80|0); + HEAP32[$53>>2] = $52; + break; + } + case 114: { + $54 = ((($0)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_unsetenv(($55|0))|0); + $57 = ((($0)) + 80|0); + HEAP32[$57>>2] = $56; + break; + } + case 115: { + $58 = ((($0)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_putenv(($59|0))|0); + $61 = ((($0)) + 80|0); + HEAP32[$61>>2] = $60; + break; + } + case 119: { + _tzset(); + break; + } + case 137: { + $62 = ((($0)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($0)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($0)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = ((($0)) + 40|0); + $69 = HEAP32[$68>>2]|0; + $70 = (_pthread_create(($63|0),($65|0),($67|0),($69|0))|0); + $71 = ((($0)) + 80|0); + HEAP32[$71>>2] = $70; + break; + } + case 138: { + $72 = ((($0)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($0)) + 24|0); + $75 = HEAP32[$74>>2]|0; + $76 = (_emscripten_syscall(($73|0),($75|0))|0); + $77 = ((($0)) + 80|0); + HEAP32[$77>>2] = $76; + break; + } + case 1024: { + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + FUNCTION_TABLE_v[$79 & 7](); + break; + } + case 1025: { + $80 = ((($0)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = ((($0)) + 16|0); + $83 = HEAP32[$82>>2]|0; + FUNCTION_TABLE_vi[$81 & 31]($83); + break; + } + case 1026: { + $84 = ((($0)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = ((($0)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($0)) + 24|0); + $89 = HEAP32[$88>>2]|0; + FUNCTION_TABLE_vii[$85 & 63]($87,$89); + break; + } + case 1027: { + $90 = ((($0)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($0)) + 16|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($0)) + 24|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($0)) + 32|0); + $97 = HEAP32[$96>>2]|0; + FUNCTION_TABLE_viii[$91 & 31]($93,$95,$97); + break; + } + case 2048: { + $98 = ((($0)) + 4|0); + $99 = HEAP32[$98>>2]|0; + $100 = (FUNCTION_TABLE_i[$99 & 3]()|0); + $101 = ((($0)) + 80|0); + HEAP32[$101>>2] = $100; + break; + } + case 2049: { + $102 = ((($0)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ((($0)) + 16|0); + $105 = HEAP32[$104>>2]|0; + $106 = (FUNCTION_TABLE_ii[$103 & 15]($105)|0); + $107 = ((($0)) + 80|0); + HEAP32[$107>>2] = $106; + break; + } + case 2050: { + $108 = ((($0)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = ((($0)) + 16|0); + $111 = HEAP32[$110>>2]|0; + $112 = ((($0)) + 24|0); + $113 = HEAP32[$112>>2]|0; + $114 = (FUNCTION_TABLE_iii[$109 & 3]($111,$113)|0); + $115 = ((($0)) + 80|0); + HEAP32[$115>>2] = $114; + break; + } + case 2051: { + $116 = ((($0)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = ((($0)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = ((($0)) + 24|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($0)) + 32|0); + $123 = HEAP32[$122>>2]|0; + $124 = (FUNCTION_TABLE_iiii[$117 & 15]($119,$121,$123)|0); + $125 = ((($0)) + 80|0); + HEAP32[$125>>2] = $124; + break; + } + default: { + ___assert_fail((13816|0),(13708|0),211,(13867|0)); + // unreachable; + } + } + } while(0); + $126 = ((($0)) + 88|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)==(0); + if ($128) { + $129 = ((($0)) + 8|0); + HEAP32[$129>>2] = 1; + (_emscripten_futex_wake(($129|0),2147483647)|0); + return; + } else { + _free($0); + return; + } +} +function ___pthread_mutex_unlock($0) { + $0 = $0|0; + var $$0 = 0, $$045 = 0, $$pre = 0, $$pre$phiZ2D = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = (Atomics_load(HEAP32,$1>>2)|0); + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 15; + $5 = $3 & 128; + $6 = $5 ^ 128; + $7 = ($4|0)==(0); + if ($7) { + $$pre = ((($0)) + 4|0); + $$045 = 0;$$pre$phiZ2D = $$pre; + } else { + $8 = (_pthread_self()|0); + $9 = ((($0)) + 4|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = $10 & 2147483647; + $12 = ((($8)) + 52|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)==($13|0); + if (!($14)) { + $$0 = 1; + return ($$0|0); + } + $15 = $3 & 3; + $16 = ($15|0)==(1); + if ($16) { + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + $20 = (($18) + -1)|0; + HEAP32[$17>>2] = $20; + $$0 = 0; + return ($$0|0); + } + } + $21 = ($6|0)==(0); + $22 = ((($0)) + 16|0); + if ($21) { + $23 = ((($8)) + 176|0); + Atomics_store(HEAP32,$23>>2,$22)|0; + ___vm_lock(); + } + $24 = ((($0)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$22>>2]|0; + Atomics_store(HEAP32,$25>>2,$26)|0; + $27 = ((($8)) + 168|0); + $28 = ($26|0)==($27|0); + if ($28) { + $$045 = $8;$$pre$phiZ2D = $9; + } else { + $29 = ((($26)) + -4|0); + Atomics_store(HEAP32,$29>>2,$25)|0; + $$045 = $8;$$pre$phiZ2D = $9; + } + } + $30 = $3 & 8; + $31 = ($30|0)!=(0); + $32 = $31 ? 2147483647 : 0; + while(1) { + $33 = (Atomics_load(HEAP32, $$pre$phiZ2D>>2)|0); + $34 = (Atomics_compareExchange(HEAP32, $$pre$phiZ2D>>2, $33, $32)|0); + $35 = ($34|0)==($33|0); + if ($35) { + break; + } + } + $36 = ($6|0)!=(0); + $or$cond = $7 | $36; + if (!($or$cond)) { + $37 = ((($$045)) + 176|0); + Atomics_store(HEAP32,$37>>2,0)|0; + ___vm_unlock(); + } + $38 = ($2|0)!=(0); + $39 = ($33|0)<(0); + $or$cond3 = $38 | $39; + if (!($or$cond3)) { + $$0 = 0; + return ($$0|0); + } + (_emscripten_futex_wake(($$pre$phiZ2D|0),1)|0); + $$0 = 0; + return ($$0|0); +} +function ___vm_lock() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8592, 1)|0); + return; +} +function ___vm_unlock() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8592, -1)|0); + $1 = ($0|0)==(1); + if (!($1)) { + return; + } + $2 = (Atomics_load(HEAP32,(34372)>>2)|0); + $3 = ($2|0)==(0); + if ($3) { + return; + } + (_emscripten_futex_wake((34368|0),2147483647)|0); + return; +} +function ___pthread_mutex_lock($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; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = ($5|0)==(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + } + $7 = (___pthread_mutex_timedlock($0,0)|0); + $$0 = $7; + return ($$0|0); +} +function ___pthread_mutex_timedlock($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 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, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond40 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$0>>2]|0; + $3 = $2 & 15; + $4 = ($3|0)==(0); + do { + if ($4) { + $5 = ((($0)) + 4|0); + $6 = (Atomics_compareExchange(HEAP32, $5>>2, 0, 16)|0); + $7 = ($6|0)==(0); + if ($7) { + $$2 = 0; + return ($$2|0); + } else { + $$pre = HEAP32[$0>>2]|0; + $9 = $$pre; + break; + } + } else { + $9 = $2; + } + } while(0); + $8 = $9 & 128; + $10 = $8 ^ 128; + $11 = (___pthread_mutex_trylock($0)|0); + $12 = ($11|0)==(16); + if (!($12)) { + $$2 = $11; + return ($$2|0); + } + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 8|0); + $$0 = 100; + while(1) { + $15 = (($$0) + -1)|0; + $16 = ($$0|0)==(0); + if ($16) { + break; + } + $17 = (Atomics_load(HEAP32,$13>>2)|0); + $18 = ($17|0)==(0); + if ($18) { + break; + } + $19 = (Atomics_load(HEAP32,$14>>2)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = $15; + } else { + break; + } + } + $21 = (___pthread_mutex_trylock($0)|0); + $22 = ($21|0)==(16); + if (!($22)) { + $$2 = $21; + return ($$2|0); + } + L18: while(1) { + $23 = (Atomics_load(HEAP32,$13>>2)|0); + $24 = ($23|0)==(0); + if (!($24)) { + $27 = $23 & 1073741824; + $28 = ($27|0)==(0); + $29 = HEAP32[$0>>2]|0; + $30 = $29 & 4; + $31 = ($30|0)==(0); + $or$cond40 = $28 | $31; + if ($or$cond40) { + $32 = $29 & 3; + $33 = ($32|0)==(2); + if ($33) { + $34 = $23 & 2147483647; + $35 = (_pthread_self()|0); + $36 = ((($35)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($34|0)==($37|0); + if ($38) { + $$2 = 35; + label = 17; + break; + } + } + $39 = (Atomics_add(HEAP32, $14>>2, 1)|0); + $40 = $23 | -2147483648; + $41 = (Atomics_compareExchange(HEAP32, $13>>2, $23, $40)|0); + $42 = (___timedwait($13,$40,0,$1,$10)|0); + $43 = (Atomics_sub(HEAP32, $14>>2, 1)|0); + switch ($42|0) { + case 0: case 4: { + break; + } + default: { + $$2 = $42; + label = 17; + break L18; + } + } + } + } + $25 = (___pthread_mutex_trylock($0)|0); + $26 = ($25|0)==(16); + if (!($26)) { + $$2 = $25; + label = 17; + break; + } + } + if ((label|0) == 17) { + return ($$2|0); + } + return (0)|0; +} +function ___timedwait($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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + (___pthread_setcancelstate(1,($5|0))|0); + _emscripten_conditional_set_current_thread_status(1,4); + $6 = (___timedwait_cp($0,$1,$2,$3,$4)|0); + _emscripten_conditional_set_current_thread_status(4,1); + $7 = HEAP32[$5>>2]|0; + (___pthread_setcancelstate(($7|0),(0|0))|0); + STACKTOP = sp;return ($6|0); +} +function ___timedwait_cp($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$0$us = 0.0, $$$045 = 0.0, $$$046$us = 0.0, $$0$us = 0.0, $$0$us53 = 0.0, $$138 = 0, $$138$ph = 0, $$138$ph70 = 0, $$138$ph72 = 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.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 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 = ($3|0)!=(0|0); + if ($6) { + $7 = ((($3)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8>>>0)>(999999999); + if ($9) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $10 = (___clock_gettime(($2|0),($5|0))|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (($12) - ($13))|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ((($5)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) - ($17))|0; + HEAP32[$16>>2] = $18; + $19 = ($18|0)<(0); + if ($19) { + $20 = (($14) + -1)|0; + HEAP32[$5>>2] = $20; + $21 = (($18) + 1000000000)|0; + HEAP32[$16>>2] = $21; + $23 = $20; + } else { + $23 = $14; + } + $22 = ($23|0)<(0); + if ($22) { + $$138 = 110; + STACKTOP = sp;return ($$138|0); + } + } + $24 = (_emscripten_is_main_runtime_thread()|0); + $25 = ($24|0)!=(0); + $$$045 = $25 ? 1.0 : 100.0; + if ($25) { + L15: while(1) { + $26 = (_pthread_self()|0); + $27 = (__pthread_isduecanceled($26)|0); + $28 = ($27|0)==(0); + if (!($28)) { + $$138$ph = 125; + break; + } + _emscripten_main_thread_process_queued_calls(); + if ($6) { + $29 = (+__pthread_msecs_until($3)); + $30 = !($29 <= 0.0); + $31 = $29 > 100.0; + $$0$us = $31 ? 100.0 : $29; + $32 = $$0$us > 1.0; + $$$0$us = $32 ? 1.0 : $$0$us; + if ($30) { + $$$046$us = $$$0$us; + } else { + $$138$ph = 110; + break; + } + } else { + $$$046$us = $$$045; + } + $33 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$046$us))|0); + $34 = (0 - ($33))|0; + switch ($34|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph = $34; + break L15; + break; + } + default: { + $$138 = 0; + label = 21; + break L15; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph; + STACKTOP = sp;return ($$138|0); + } + if (!($6)) { + L27: while(1) { + $43 = (_pthread_self()|0); + $44 = (__pthread_isduecanceled($43)|0); + $45 = ($44|0)==(0); + if (!($45)) { + $$138$ph72 = 125; + break; + } + $46 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$045))|0); + $47 = (0 - ($46))|0; + switch ($47|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph72 = $47; + break L27; + break; + } + default: { + $$138 = 0; + label = 21; + break L27; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph72; + STACKTOP = sp;return ($$138|0); + } + L34: while(1) { + $35 = (_pthread_self()|0); + $36 = (__pthread_isduecanceled($35)|0); + $37 = ($36|0)==(0); + if (!($37)) { + $$138$ph70 = 125; + break; + } + $38 = (+__pthread_msecs_until($3)); + $39 = !($38 <= 0.0); + if (!($39)) { + $$138$ph70 = 110; + break; + } + $40 = $38 > 100.0; + $$0$us53 = $40 ? 100.0 : $38; + $41 = (_emscripten_futex_wait(($0|0),($1|0),(+$$0$us53))|0); + $42 = (0 - ($41))|0; + switch ($42|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph70 = $42; + break L34; + break; + } + default: { + $$138 = 0; + label = 21; + break L34; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph70; + STACKTOP = sp;return ($$138|0); +} +function __pthread_isduecanceled($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(2); + $3 = $2&1; + return ($3|0); +} +function __pthread_msecs_until($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.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)); + $4 = $3 * 1000.0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (+($6|0)); + $8 = $7 * 0.001; + $9 = $4 + $8; + $10 = HEAP32[$0>>2]|0; + $11 = (+($10|0)); + $12 = $11 * 1000.0; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = $15 * 9.9999999999999995E-7; + $17 = $12 + $16; + $18 = $17 - $9; + STACKTOP = sp;return (+$18); +} +function ___pthread_mutex_trylock($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; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = $5 & 16; + $$0 = $6; + return ($$0|0); + } else { + $7 = (___pthread_mutex_trylock_owner($0)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; +} +function ___pthread_mutex_trylock_owner($0) { + $0 = $0|0; + var $$ = 0, $$1 = 0, $$154 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond57 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_pthread_self()|0); + $3 = ((($2)) + 52|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 4|0); + $6 = (Atomics_load(HEAP32,$5>>2)|0); + $7 = $6 & 2147483647; + $8 = ($7|0)==($4|0); + $9 = $1 & 3; + $10 = ($9|0)==(1); + $or$cond = $10 & $8; + if ($or$cond) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(2147483646); + if ($13) { + $$1 = 11; + return ($$1|0); + } + $14 = (($12) + 1)|0; + HEAP32[$11>>2] = $14; + $$1 = 0; + return ($$1|0); + } + $15 = ($7|0)==(2147483647); + if ($15) { + $$1 = 131; + return ($$1|0); + } + $16 = HEAP32[$0>>2]|0; + $17 = $16 & 128; + $18 = ($17|0)==(0); + if ($18) { + $$154 = $4; + } else { + $19 = ((($2)) + 172|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + HEAP32[$19>>2] = -12; + } + $22 = ((($0)) + 8|0); + $23 = (Atomics_load(HEAP32,$22>>2)|0); + $24 = ($23|0)==(0); + $25 = $4 | -2147483648; + $$ = $24 ? $4 : $25; + $26 = ((($0)) + 16|0); + $27 = ((($2)) + 176|0); + Atomics_store(HEAP32,$27>>2,$26)|0; + $$154 = $$; + } + $28 = ($7|0)!=(0); + if ($28) { + $29 = $6 & 1073741824; + $30 = ($29|0)==(0); + $31 = $1 & 4; + $32 = ($31|0)==(0); + $or$cond57 = $32 | $30; + if (!($or$cond57)) { + label = 11; + } + } else { + label = 11; + } + if ((label|0) == 11) { + $33 = (Atomics_compareExchange(HEAP32, $5>>2, $6, $$154)|0); + $34 = ($33|0)==($6|0); + if ($34) { + $36 = ((($2)) + 168|0); + $37 = (Atomics_load(HEAP32,$36>>2)|0); + $38 = ((($0)) + 16|0); + HEAP32[$38>>2] = $37; + $39 = ((($0)) + 12|0); + HEAP32[$39>>2] = $36; + $40 = ($37|0)==($36|0); + if (!($40)) { + $41 = ((($37)) + -4|0); + Atomics_store(HEAP32,$41>>2,$38)|0; + } + Atomics_store(HEAP32,$36>>2,$38)|0; + $42 = ((($2)) + 176|0); + Atomics_store(HEAP32,$42>>2,0)|0; + if (!($28)) { + $$1 = 0; + return ($$1|0); + } + $43 = ((($0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = HEAP32[$0>>2]|0; + $45 = $44 | 8; + HEAP32[$0>>2] = $45; + $$1 = 130; + return ($$1|0); + } + } + $35 = ((($2)) + 176|0); + Atomics_store(HEAP32,$35>>2,0)|0; + $$1 = 16; + return ($$1|0); +} +function _pthread_mutexattr_destroy($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _pthread_mutexattr_init($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$0>>2] = 0; + return 0; +} +function _pthread_mutex_init($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$sroa$0 = sp; + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0;HEAP32[$$sroa$0+20>>2]=0|0;HEAP32[$$sroa$0+24>>2]=0|0; + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$$sroa$0+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$$sroa$0+24>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + STACKTOP = sp;return 0; + } + $3 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $3; + STACKTOP = sp;return 0; +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4230$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i17$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0198 = 0, $$0200 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024363$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1 = 0, $$1196$i = 0; + var $$1198$i = 0, $$124462$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2 = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i202 = 0, $$3229$i = 0, $$3235$i = 0, $$3350$i = 0; + var $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0, $$4230$i = 0, $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$7$i = 0, $$7239$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i18$i = 0, $$pre$i211 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i19$iZ2D = 0; + var $$pre$phi$i212Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i205 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0; + var $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, $1022 = 0, $1023 = 0; + var $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, $1040 = 0, $1041 = 0; + var $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, $1059 = 0, $106 = 0; + var $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, $1077 = 0, $1078 = 0; + var $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 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, $398 = 0, $399 = 0, $4 = 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, $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; + var $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, $53 = 0, $530 = 0; + var $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, $548 = 0, $549 = 0; + var $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, $566 = 0, $567 = 0; + var $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, $584 = 0, $585 = 0; + var $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, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0; + var $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, $620 = 0; + var $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, $639 = 0; + var $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, $657 = 0; + var $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, $675 = 0; + var $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, $693 = 0; + var $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, $710 = 0; + var $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, $729 = 0; + var $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, $747 = 0; + var $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, $765 = 0; + var $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, $783 = 0; + var $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, $800 = 0; + var $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, $819 = 0; + var $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, $834 = 0, $835 = 0, $836 = 0, $837 = 0; + var $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, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0; + var $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, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0; + var $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, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0; + var $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, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0; + var $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, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0; + var $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, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0; + var $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, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0; + var $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, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0; + var $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, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0; + var $cond$i$i = 0, $cond$i209 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i21$i = 0, $not$$i210 = 0, $not$1$i = 0, $not$1$i204 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0, $or$cond$i = 0, $or$cond$i213 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond12$i = 0, $or$cond2$i = 0; + var $or$cond2$i214 = 0, $or$cond43$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond9$i = 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 = HEAP32[8850]|0; + $4 = ($3|0)==(0); + if ($4) { + (___pthread_mutex_lock(35424)|0); + $5 = HEAP32[8850]|0; + $6 = ($5|0)==(0); + if ($6) { + HEAP32[(35408)>>2] = 4096; + HEAP32[(35404)>>2] = 4096; + HEAP32[(35412)>>2] = -1; + HEAP32[(35416)>>2] = -1; + HEAP32[(35420)>>2] = 2; + HEAP32[(35896)>>2] = 2; + $7 = (_pthread_mutexattr_init($1)|0); + $8 = ($7|0)==(0); + if ($8) { + $9 = (_pthread_mutex_init((35900),$1)|0); + $10 = ($9|0)==(0); + if ($10) { + } + } + $11 = $2; + $12 = $11 & -16; + $13 = $12 ^ 1431655768; + HEAP32[$2>>2] = $13; + Atomics_store(HEAP32,8850,$13)|0; + } + (___pthread_mutex_unlock(35424)|0); + } + $14 = HEAP32[(35896)>>2]|0; + $15 = $14 & 2; + $16 = ($15|0)==(0); + if (!($16)) { + $17 = (___pthread_mutex_lock((35900))|0); + $18 = ($17|0)==(0); + if (!($18)) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + $19 = ($0>>>0)<(245); + do { + if ($19) { + $20 = ($0>>>0)<(11); + $21 = (($0) + 11)|0; + $22 = $21 & -8; + $23 = $20 ? 16 : $22; + $24 = $23 >>> 3; + $25 = HEAP32[8863]|0; + $26 = $25 >>> $24; + $27 = $26 & 3; + $28 = ($27|0)==(0); + if (!($28)) { + $29 = $26 & 1; + $30 = $29 ^ 1; + $31 = (($30) + ($24))|0; + $32 = $31 << 1; + $33 = (35492 + ($32<<2)|0); + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($33|0)==($37|0); + do { + if ($38) { + $39 = 1 << $31; + $40 = $39 ^ -1; + $41 = $25 & $40; + HEAP32[8863] = $41; + } else { + $42 = HEAP32[(35468)>>2]|0; + $43 = ($37>>>0)<($42>>>0); + if ($43) { + _abort(); + // unreachable; + } + $44 = ((($37)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==($35|0); + if ($46) { + HEAP32[$44>>2] = $33; + HEAP32[$34>>2] = $37; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $47 = $31 << 3; + $48 = $47 | 3; + $49 = ((($35)) + 4|0); + HEAP32[$49>>2] = $48; + $50 = (($35) + ($47)|0); + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52 | 1; + HEAP32[$51>>2] = $53; + $$2 = $36; + break; + } + $54 = HEAP32[(35460)>>2]|0; + $55 = ($23>>>0)>($54>>>0); + if ($55) { + $56 = ($26|0)==(0); + if (!($56)) { + $57 = $26 << $24; + $58 = 2 << $24; + $59 = (0 - ($58))|0; + $60 = $58 | $59; + $61 = $57 & $60; + $62 = (0 - ($61))|0; + $63 = $61 & $62; + $64 = (($63) + -1)|0; + $65 = $64 >>> 12; + $66 = $65 & 16; + $67 = $64 >>> $66; + $68 = $67 >>> 5; + $69 = $68 & 8; + $70 = $69 | $66; + $71 = $67 >>> $69; + $72 = $71 >>> 2; + $73 = $72 & 4; + $74 = $70 | $73; + $75 = $71 >>> $73; + $76 = $75 >>> 1; + $77 = $76 & 2; + $78 = $74 | $77; + $79 = $75 >>> $77; + $80 = $79 >>> 1; + $81 = $80 & 1; + $82 = $78 | $81; + $83 = $79 >>> $81; + $84 = (($82) + ($83))|0; + $85 = $84 << 1; + $86 = (35492 + ($85<<2)|0); + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + $89 = ((($88)) + 8|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($86|0)==($90|0); + do { + if ($91) { + $92 = 1 << $84; + $93 = $92 ^ -1; + $94 = $25 & $93; + HEAP32[8863] = $94; + $115 = $94; + } else { + $95 = HEAP32[(35468)>>2]|0; + $96 = ($90>>>0)<($95>>>0); + if ($96) { + _abort(); + // unreachable; + } + $97 = ((($90)) + 12|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==($88|0); + if ($99) { + HEAP32[$97>>2] = $86; + HEAP32[$87>>2] = $90; + $115 = $25; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $100 = $84 << 3; + $101 = (($100) - ($23))|0; + $102 = $23 | 3; + $103 = ((($88)) + 4|0); + HEAP32[$103>>2] = $102; + $104 = (($88) + ($23)|0); + $105 = $101 | 1; + $106 = ((($104)) + 4|0); + HEAP32[$106>>2] = $105; + $107 = (($104) + ($101)|0); + HEAP32[$107>>2] = $101; + $108 = ($54|0)==(0); + if (!($108)) { + $109 = HEAP32[(35472)>>2]|0; + $110 = $54 >>> 3; + $111 = $110 << 1; + $112 = (35492 + ($111<<2)|0); + $113 = 1 << $110; + $114 = $115 & $113; + $116 = ($114|0)==(0); + if ($116) { + $117 = $115 | $113; + HEAP32[8863] = $117; + $$pre = ((($112)) + 8|0); + $$0200 = $112;$$pre$phiZ2D = $$pre; + } else { + $118 = ((($112)) + 8|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[(35468)>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { + _abort(); + // unreachable; + } else { + $$0200 = $119;$$pre$phiZ2D = $118; + } + } + HEAP32[$$pre$phiZ2D>>2] = $109; + $122 = ((($$0200)) + 12|0); + HEAP32[$122>>2] = $109; + $123 = ((($109)) + 8|0); + HEAP32[$123>>2] = $$0200; + $124 = ((($109)) + 12|0); + HEAP32[$124>>2] = $112; + } + HEAP32[(35460)>>2] = $101; + HEAP32[(35472)>>2] = $104; + $$2 = $89; + break; + } + $125 = HEAP32[(35456)>>2]|0; + $126 = ($125|0)==(0); + if ($126) { + $$0198 = $23; + label = 153; + } else { + $127 = (0 - ($125))|0; + $128 = $125 & $127; + $129 = (($128) + -1)|0; + $130 = $129 >>> 12; + $131 = $130 & 16; + $132 = $129 >>> $131; + $133 = $132 >>> 5; + $134 = $133 & 8; + $135 = $134 | $131; + $136 = $132 >>> $134; + $137 = $136 >>> 2; + $138 = $137 & 4; + $139 = $135 | $138; + $140 = $136 >>> $138; + $141 = $140 >>> 1; + $142 = $141 & 2; + $143 = $139 | $142; + $144 = $140 >>> $142; + $145 = $144 >>> 1; + $146 = $145 & 1; + $147 = $143 | $146; + $148 = $144 >>> $146; + $149 = (($147) + ($148))|0; + $150 = (35756 + ($149<<2)|0); + $151 = HEAP32[$150>>2]|0; + $152 = ((($151)) + 4|0); + $153 = HEAP32[$152>>2]|0; + $154 = $153 & -8; + $155 = (($154) - ($23))|0; + $156 = ((($151)) + 16|0); + $157 = HEAP32[$156>>2]|0; + $not$5$i = ($157|0)==(0|0); + $$sink16$i = $not$5$i&1; + $158 = (((($151)) + 16|0) + ($$sink16$i<<2)|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==(0|0); + if ($160) { + $$0192$lcssa$i = $151;$$0193$lcssa$i = $155; + } else { + $$01928$i = $151;$$01937$i = $155;$162 = $159; + while(1) { + $161 = ((($162)) + 4|0); + $163 = HEAP32[$161>>2]|0; + $164 = $163 & -8; + $165 = (($164) - ($23))|0; + $166 = ($165>>>0)<($$01937$i>>>0); + $$$0193$i = $166 ? $165 : $$01937$i; + $$$0192$i = $166 ? $162 : $$01928$i; + $167 = ((($162)) + 16|0); + $168 = HEAP32[$167>>2]|0; + $not$$i = ($168|0)==(0|0); + $$sink1$i = $not$$i&1; + $169 = (((($162)) + 16|0) + ($$sink1$i<<2)|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$162 = $170; + } + } + } + $172 = HEAP32[(35468)>>2]|0; + $173 = ($$0192$lcssa$i>>>0)<($172>>>0); + if ($173) { + _abort(); + // unreachable; + } + $174 = (($$0192$lcssa$i) + ($23)|0); + $175 = ($$0192$lcssa$i>>>0)<($174>>>0); + if (!($175)) { + _abort(); + // unreachable; + } + $176 = ((($$0192$lcssa$i)) + 24|0); + $177 = HEAP32[$176>>2]|0; + $178 = ((($$0192$lcssa$i)) + 12|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==($$0192$lcssa$i|0); + do { + if ($180) { + $190 = ((($$0192$lcssa$i)) + 20|0); + $191 = HEAP32[$190>>2]|0; + $192 = ($191|0)==(0|0); + if ($192) { + $193 = ((($$0192$lcssa$i)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $195 = ($194|0)==(0|0); + if ($195) { + $$3$i = 0; + break; + } else { + $$1196$i = $194;$$1198$i = $193; + } + } else { + $$1196$i = $191;$$1198$i = $190; + } + while(1) { + $196 = ((($$1196$i)) + 20|0); + $197 = HEAP32[$196>>2]|0; + $198 = ($197|0)==(0|0); + if (!($198)) { + $$1196$i = $197;$$1198$i = $196; + continue; + } + $199 = ((($$1196$i)) + 16|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($200|0)==(0|0); + if ($201) { + break; + } else { + $$1196$i = $200;$$1198$i = $199; + } + } + $202 = ($$1198$i>>>0)<($172>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $181 = ((($$0192$lcssa$i)) + 8|0); + $182 = HEAP32[$181>>2]|0; + $183 = ($182>>>0)<($172>>>0); + if ($183) { + _abort(); + // unreachable; + } + $184 = ((($182)) + 12|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($185|0)==($$0192$lcssa$i|0); + if (!($186)) { + _abort(); + // unreachable; + } + $187 = ((($179)) + 8|0); + $188 = HEAP32[$187>>2]|0; + $189 = ($188|0)==($$0192$lcssa$i|0); + if ($189) { + HEAP32[$184>>2] = $179; + HEAP32[$187>>2] = $182; + $$3$i = $179; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $203 = ($177|0)==(0|0); + L85: do { + if (!($203)) { + $204 = ((($$0192$lcssa$i)) + 28|0); + $205 = HEAP32[$204>>2]|0; + $206 = (35756 + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($$0192$lcssa$i|0)==($207|0); + do { + if ($208) { + HEAP32[$206>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $209 = 1 << $205; + $210 = $209 ^ -1; + $211 = $125 & $210; + HEAP32[(35456)>>2] = $211; + break L85; + } + } else { + $212 = HEAP32[(35468)>>2]|0; + $213 = ($177>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($177)) + 16|0); + $215 = HEAP32[$214>>2]|0; + $not$1$i = ($215|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $216 = (((($177)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$216>>2] = $$3$i; + $217 = ($$3$i|0)==(0|0); + if ($217) { + break L85; + } else { + break; + } + } + } + } while(0); + $218 = HEAP32[(35468)>>2]|0; + $219 = ($$3$i>>>0)<($218>>>0); + if ($219) { + _abort(); + // unreachable; + } + $220 = ((($$3$i)) + 24|0); + HEAP32[$220>>2] = $177; + $221 = ((($$0192$lcssa$i)) + 16|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + do { + if (!($223)) { + $224 = ($222>>>0)<($218>>>0); + if ($224) { + _abort(); + // unreachable; + } else { + $225 = ((($$3$i)) + 16|0); + HEAP32[$225>>2] = $222; + $226 = ((($222)) + 24|0); + HEAP32[$226>>2] = $$3$i; + break; + } + } + } while(0); + $227 = ((($$0192$lcssa$i)) + 20|0); + $228 = HEAP32[$227>>2]|0; + $229 = ($228|0)==(0|0); + if (!($229)) { + $230 = HEAP32[(35468)>>2]|0; + $231 = ($228>>>0)<($230>>>0); + if ($231) { + _abort(); + // unreachable; + } else { + $232 = ((($$3$i)) + 20|0); + HEAP32[$232>>2] = $228; + $233 = ((($228)) + 24|0); + HEAP32[$233>>2] = $$3$i; + break; + } + } + } + } while(0); + $234 = ($$0193$lcssa$i>>>0)<(16); + if ($234) { + $235 = (($$0193$lcssa$i) + ($23))|0; + $236 = $235 | 3; + $237 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$237>>2] = $236; + $238 = (($$0192$lcssa$i) + ($235)|0); + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = $240 | 1; + HEAP32[$239>>2] = $241; + } else { + $242 = $23 | 3; + $243 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$243>>2] = $242; + $244 = $$0193$lcssa$i | 1; + $245 = ((($174)) + 4|0); + HEAP32[$245>>2] = $244; + $246 = (($174) + ($$0193$lcssa$i)|0); + HEAP32[$246>>2] = $$0193$lcssa$i; + $247 = ($54|0)==(0); + if (!($247)) { + $248 = HEAP32[(35472)>>2]|0; + $249 = $54 >>> 3; + $250 = $249 << 1; + $251 = (35492 + ($250<<2)|0); + $252 = 1 << $249; + $253 = $25 & $252; + $254 = ($253|0)==(0); + if ($254) { + $255 = $25 | $252; + HEAP32[8863] = $255; + $$pre$i = ((($251)) + 8|0); + $$0189$i = $251;$$pre$phi$iZ2D = $$pre$i; + } else { + $256 = ((($251)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[(35468)>>2]|0; + $259 = ($257>>>0)<($258>>>0); + if ($259) { + _abort(); + // unreachable; + } else { + $$0189$i = $257;$$pre$phi$iZ2D = $256; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $248; + $260 = ((($$0189$i)) + 12|0); + HEAP32[$260>>2] = $248; + $261 = ((($248)) + 8|0); + HEAP32[$261>>2] = $$0189$i; + $262 = ((($248)) + 12|0); + HEAP32[$262>>2] = $251; + } + HEAP32[(35460)>>2] = $$0193$lcssa$i; + HEAP32[(35472)>>2] = $174; + } + $263 = ((($$0192$lcssa$i)) + 8|0); + $$2 = $263; + } + } else { + $$0198 = $23; + label = 153; + } + } else { + $264 = ($0>>>0)>(4294967231); + if ($264) { + $$0198 = -1; + label = 153; + } else { + $265 = (($0) + 11)|0; + $266 = $265 & -8; + $267 = HEAP32[(35456)>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$0198 = $266; + label = 153; + } else { + $269 = (0 - ($266))|0; + $270 = $265 >>> 8; + $271 = ($270|0)==(0); + if ($271) { + $$0358$i = 0; + } else { + $272 = ($266>>>0)>(16777215); + if ($272) { + $$0358$i = 31; + } else { + $273 = (($270) + 1048320)|0; + $274 = $273 >>> 16; + $275 = $274 & 8; + $276 = $270 << $275; + $277 = (($276) + 520192)|0; + $278 = $277 >>> 16; + $279 = $278 & 4; + $280 = $279 | $275; + $281 = $276 << $279; + $282 = (($281) + 245760)|0; + $283 = $282 >>> 16; + $284 = $283 & 2; + $285 = $280 | $284; + $286 = (14 - ($285))|0; + $287 = $281 << $284; + $288 = $287 >>> 15; + $289 = (($286) + ($288))|0; + $290 = $289 << 1; + $291 = (($289) + 7)|0; + $292 = $266 >>> $291; + $293 = $292 & 1; + $294 = $293 | $290; + $$0358$i = $294; + } + } + $295 = (35756 + ($$0358$i<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($296|0)==(0|0); + L128: do { + if ($297) { + $$2355$i = 0;$$3$i202 = 0;$$3350$i = $269; + label = 90; + } else { + $298 = ($$0358$i|0)==(31); + $299 = $$0358$i >>> 1; + $300 = (25 - ($299))|0; + $301 = $298 ? 0 : $300; + $302 = $266 << $301; + $$0342$i = 0;$$0347$i = $269;$$0353$i = $296;$$0359$i = $302;$$0362$i = 0; + while(1) { + $303 = ((($$0353$i)) + 4|0); + $304 = HEAP32[$303>>2]|0; + $305 = $304 & -8; + $306 = (($305) - ($266))|0; + $307 = ($306>>>0)<($$0347$i>>>0); + if ($307) { + $308 = ($306|0)==(0); + if ($308) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 94; + break L128; + } else { + $$1343$i = $$0353$i;$$1348$i = $306; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $309 = ((($$0353$i)) + 20|0); + $310 = HEAP32[$309>>2]|0; + $311 = $$0359$i >>> 31; + $312 = (((($$0353$i)) + 16|0) + ($311<<2)|0); + $313 = HEAP32[$312>>2]|0; + $314 = ($310|0)==(0|0); + $315 = ($310|0)==($313|0); + $or$cond2$i = $314 | $315; + $$1363$i = $or$cond2$i ? $$0362$i : $310; + $316 = ($313|0)==(0|0); + $not$8$i = $316 ^ 1; + $317 = $not$8$i&1; + $$0359$$i = $$0359$i << $317; + if ($316) { + $$2355$i = $$1363$i;$$3$i202 = $$1343$i;$$3350$i = $$1348$i; + label = 90; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $313;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 90) { + $318 = ($$2355$i|0)==(0|0); + $319 = ($$3$i202|0)==(0|0); + $or$cond$i = $318 & $319; + if ($or$cond$i) { + $320 = 2 << $$0358$i; + $321 = (0 - ($320))|0; + $322 = $320 | $321; + $323 = $267 & $322; + $324 = ($323|0)==(0); + if ($324) { + $$0198 = $266; + label = 153; + break; + } + $325 = (0 - ($323))|0; + $326 = $323 & $325; + $327 = (($326) + -1)|0; + $328 = $327 >>> 12; + $329 = $328 & 16; + $330 = $327 >>> $329; + $331 = $330 >>> 5; + $332 = $331 & 8; + $333 = $332 | $329; + $334 = $330 >>> $332; + $335 = $334 >>> 2; + $336 = $335 & 4; + $337 = $333 | $336; + $338 = $334 >>> $336; + $339 = $338 >>> 1; + $340 = $339 & 2; + $341 = $337 | $340; + $342 = $338 >>> $340; + $343 = $342 >>> 1; + $344 = $343 & 1; + $345 = $341 | $344; + $346 = $342 >>> $344; + $347 = (($345) + ($346))|0; + $348 = (35756 + ($347<<2)|0); + $349 = HEAP32[$348>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $349; + } else { + $$4$ph$i = $$3$i202;$$4357$ph$i = $$2355$i; + } + $350 = ($$4357$ph$i|0)==(0|0); + if ($350) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 94; + } + } + if ((label|0) == 94) { + while(1) { + label = 0; + $351 = ((($$435713$i)) + 4|0); + $352 = HEAP32[$351>>2]|0; + $353 = $352 & -8; + $354 = (($353) - ($266))|0; + $355 = ($354>>>0)<($$435114$i>>>0); + $$$4351$i = $355 ? $354 : $$435114$i; + $$4357$$4$i = $355 ? $$435713$i : $$415$i; + $356 = ((($$435713$i)) + 16|0); + $357 = HEAP32[$356>>2]|0; + $not$1$i204 = ($357|0)==(0|0); + $$sink2$i205 = $not$1$i204&1; + $358 = (((($$435713$i)) + 16|0) + ($$sink2$i205<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0|0); + if ($360) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $359; + label = 94; + } + } + } + $361 = ($$4$lcssa$i|0)==(0|0); + if ($361) { + $$0198 = $266; + label = 153; + } else { + $362 = HEAP32[(35460)>>2]|0; + $363 = (($362) - ($266))|0; + $364 = ($$4351$lcssa$i>>>0)<($363>>>0); + if ($364) { + $365 = HEAP32[(35468)>>2]|0; + $366 = ($$4$lcssa$i>>>0)<($365>>>0); + if ($366) { + _abort(); + // unreachable; + } + $367 = (($$4$lcssa$i) + ($266)|0); + $368 = ($$4$lcssa$i>>>0)<($367>>>0); + if (!($368)) { + _abort(); + // unreachable; + } + $369 = ((($$4$lcssa$i)) + 24|0); + $370 = HEAP32[$369>>2]|0; + $371 = ((($$4$lcssa$i)) + 12|0); + $372 = HEAP32[$371>>2]|0; + $373 = ($372|0)==($$4$lcssa$i|0); + do { + if ($373) { + $383 = ((($$4$lcssa$i)) + 20|0); + $384 = HEAP32[$383>>2]|0; + $385 = ($384|0)==(0|0); + if ($385) { + $386 = ((($$4$lcssa$i)) + 16|0); + $387 = HEAP32[$386>>2]|0; + $388 = ($387|0)==(0|0); + if ($388) { + $$3372$i = 0; + break; + } else { + $$1370$i = $387;$$1374$i = $386; + } + } else { + $$1370$i = $384;$$1374$i = $383; + } + while(1) { + $389 = ((($$1370$i)) + 20|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($390|0)==(0|0); + if (!($391)) { + $$1370$i = $390;$$1374$i = $389; + continue; + } + $392 = ((($$1370$i)) + 16|0); + $393 = HEAP32[$392>>2]|0; + $394 = ($393|0)==(0|0); + if ($394) { + break; + } else { + $$1370$i = $393;$$1374$i = $392; + } + } + $395 = ($$1374$i>>>0)<($365>>>0); + if ($395) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $374 = ((($$4$lcssa$i)) + 8|0); + $375 = HEAP32[$374>>2]|0; + $376 = ($375>>>0)<($365>>>0); + if ($376) { + _abort(); + // unreachable; + } + $377 = ((($375)) + 12|0); + $378 = HEAP32[$377>>2]|0; + $379 = ($378|0)==($$4$lcssa$i|0); + if (!($379)) { + _abort(); + // unreachable; + } + $380 = ((($372)) + 8|0); + $381 = HEAP32[$380>>2]|0; + $382 = ($381|0)==($$4$lcssa$i|0); + if ($382) { + HEAP32[$377>>2] = $372; + HEAP32[$380>>2] = $375; + $$3372$i = $372; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $396 = ($370|0)==(0|0); + L175: do { + if ($396) { + $487 = $267; + } else { + $397 = ((($$4$lcssa$i)) + 28|0); + $398 = HEAP32[$397>>2]|0; + $399 = (35756 + ($398<<2)|0); + $400 = HEAP32[$399>>2]|0; + $401 = ($$4$lcssa$i|0)==($400|0); + do { + if ($401) { + HEAP32[$399>>2] = $$3372$i; + $cond$i209 = ($$3372$i|0)==(0|0); + if ($cond$i209) { + $402 = 1 << $398; + $403 = $402 ^ -1; + $404 = $267 & $403; + HEAP32[(35456)>>2] = $404; + $487 = $404; + break L175; + } + } else { + $405 = HEAP32[(35468)>>2]|0; + $406 = ($370>>>0)<($405>>>0); + if ($406) { + _abort(); + // unreachable; + } else { + $407 = ((($370)) + 16|0); + $408 = HEAP32[$407>>2]|0; + $not$$i210 = ($408|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i210&1; + $409 = (((($370)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$409>>2] = $$3372$i; + $410 = ($$3372$i|0)==(0|0); + if ($410) { + $487 = $267; + break L175; + } else { + break; + } + } + } + } while(0); + $411 = HEAP32[(35468)>>2]|0; + $412 = ($$3372$i>>>0)<($411>>>0); + if ($412) { + _abort(); + // unreachable; + } + $413 = ((($$3372$i)) + 24|0); + HEAP32[$413>>2] = $370; + $414 = ((($$4$lcssa$i)) + 16|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($415|0)==(0|0); + do { + if (!($416)) { + $417 = ($415>>>0)<($411>>>0); + if ($417) { + _abort(); + // unreachable; + } else { + $418 = ((($$3372$i)) + 16|0); + HEAP32[$418>>2] = $415; + $419 = ((($415)) + 24|0); + HEAP32[$419>>2] = $$3372$i; + break; + } + } + } while(0); + $420 = ((($$4$lcssa$i)) + 20|0); + $421 = HEAP32[$420>>2]|0; + $422 = ($421|0)==(0|0); + if ($422) { + $487 = $267; + } else { + $423 = HEAP32[(35468)>>2]|0; + $424 = ($421>>>0)<($423>>>0); + if ($424) { + _abort(); + // unreachable; + } else { + $425 = ((($$3372$i)) + 20|0); + HEAP32[$425>>2] = $421; + $426 = ((($421)) + 24|0); + HEAP32[$426>>2] = $$3372$i; + $487 = $267; + break; + } + } + } + } while(0); + $427 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($427) { + $428 = (($$4351$lcssa$i) + ($266))|0; + $429 = $428 | 3; + $430 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$430>>2] = $429; + $431 = (($$4$lcssa$i) + ($428)|0); + $432 = ((($431)) + 4|0); + $433 = HEAP32[$432>>2]|0; + $434 = $433 | 1; + HEAP32[$432>>2] = $434; + } else { + $435 = $266 | 3; + $436 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$436>>2] = $435; + $437 = $$4351$lcssa$i | 1; + $438 = ((($367)) + 4|0); + HEAP32[$438>>2] = $437; + $439 = (($367) + ($$4351$lcssa$i)|0); + HEAP32[$439>>2] = $$4351$lcssa$i; + $440 = $$4351$lcssa$i >>> 3; + $441 = ($$4351$lcssa$i>>>0)<(256); + if ($441) { + $442 = $440 << 1; + $443 = (35492 + ($442<<2)|0); + $444 = HEAP32[8863]|0; + $445 = 1 << $440; + $446 = $444 & $445; + $447 = ($446|0)==(0); + do { + if ($447) { + $448 = $444 | $445; + HEAP32[8863] = $448; + $$pre$i211 = ((($443)) + 8|0); + $$0368$i = $443;$$pre$phi$i212Z2D = $$pre$i211; + } else { + $449 = ((($443)) + 8|0); + $450 = HEAP32[$449>>2]|0; + $451 = HEAP32[(35468)>>2]|0; + $452 = ($450>>>0)<($451>>>0); + if (!($452)) { + $$0368$i = $450;$$pre$phi$i212Z2D = $449; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i212Z2D>>2] = $367; + $453 = ((($$0368$i)) + 12|0); + HEAP32[$453>>2] = $367; + $454 = ((($367)) + 8|0); + HEAP32[$454>>2] = $$0368$i; + $455 = ((($367)) + 12|0); + HEAP32[$455>>2] = $443; + break; + } + $456 = $$4351$lcssa$i >>> 8; + $457 = ($456|0)==(0); + if ($457) { + $$0361$i = 0; + } else { + $458 = ($$4351$lcssa$i>>>0)>(16777215); + if ($458) { + $$0361$i = 31; + } else { + $459 = (($456) + 1048320)|0; + $460 = $459 >>> 16; + $461 = $460 & 8; + $462 = $456 << $461; + $463 = (($462) + 520192)|0; + $464 = $463 >>> 16; + $465 = $464 & 4; + $466 = $465 | $461; + $467 = $462 << $465; + $468 = (($467) + 245760)|0; + $469 = $468 >>> 16; + $470 = $469 & 2; + $471 = $466 | $470; + $472 = (14 - ($471))|0; + $473 = $467 << $470; + $474 = $473 >>> 15; + $475 = (($472) + ($474))|0; + $476 = $475 << 1; + $477 = (($475) + 7)|0; + $478 = $$4351$lcssa$i >>> $477; + $479 = $478 & 1; + $480 = $479 | $476; + $$0361$i = $480; + } + } + $481 = (35756 + ($$0361$i<<2)|0); + $482 = ((($367)) + 28|0); + HEAP32[$482>>2] = $$0361$i; + $483 = ((($367)) + 16|0); + $484 = ((($483)) + 4|0); + HEAP32[$484>>2] = 0; + HEAP32[$483>>2] = 0; + $485 = 1 << $$0361$i; + $486 = $487 & $485; + $488 = ($486|0)==(0); + if ($488) { + $489 = $487 | $485; + HEAP32[(35456)>>2] = $489; + HEAP32[$481>>2] = $367; + $490 = ((($367)) + 24|0); + HEAP32[$490>>2] = $481; + $491 = ((($367)) + 12|0); + HEAP32[$491>>2] = $367; + $492 = ((($367)) + 8|0); + HEAP32[$492>>2] = $367; + break; + } + $493 = HEAP32[$481>>2]|0; + $494 = ($$0361$i|0)==(31); + $495 = $$0361$i >>> 1; + $496 = (25 - ($495))|0; + $497 = $494 ? 0 : $496; + $498 = $$4351$lcssa$i << $497; + $$0344$i = $498;$$0345$i = $493; + while(1) { + $499 = ((($$0345$i)) + 4|0); + $500 = HEAP32[$499>>2]|0; + $501 = $500 & -8; + $502 = ($501|0)==($$4351$lcssa$i|0); + if ($502) { + label = 148; + break; + } + $503 = $$0344$i >>> 31; + $504 = (((($$0345$i)) + 16|0) + ($503<<2)|0); + $505 = $$0344$i << 1; + $506 = HEAP32[$504>>2]|0; + $507 = ($506|0)==(0|0); + if ($507) { + label = 145; + break; + } else { + $$0344$i = $505;$$0345$i = $506; + } + } + if ((label|0) == 145) { + $508 = HEAP32[(35468)>>2]|0; + $509 = ($504>>>0)<($508>>>0); + if ($509) { + _abort(); + // unreachable; + } else { + HEAP32[$504>>2] = $367; + $510 = ((($367)) + 24|0); + HEAP32[$510>>2] = $$0345$i; + $511 = ((($367)) + 12|0); + HEAP32[$511>>2] = $367; + $512 = ((($367)) + 8|0); + HEAP32[$512>>2] = $367; + break; + } + } + else if ((label|0) == 148) { + $513 = ((($$0345$i)) + 8|0); + $514 = HEAP32[$513>>2]|0; + $515 = HEAP32[(35468)>>2]|0; + $516 = ($514>>>0)>=($515>>>0); + $not$9$i = ($$0345$i>>>0)>=($515>>>0); + $517 = $516 & $not$9$i; + if ($517) { + $518 = ((($514)) + 12|0); + HEAP32[$518>>2] = $367; + HEAP32[$513>>2] = $367; + $519 = ((($367)) + 8|0); + HEAP32[$519>>2] = $514; + $520 = ((($367)) + 12|0); + HEAP32[$520>>2] = $$0345$i; + $521 = ((($367)) + 24|0); + HEAP32[$521>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $522 = ((($$4$lcssa$i)) + 8|0); + $$2 = $522; + } else { + $$0198 = $266; + label = 153; + } + } + } + } + } + } while(0); + L230: do { + if ((label|0) == 153) { + $523 = HEAP32[(35460)>>2]|0; + $524 = ($523>>>0)<($$0198>>>0); + if (!($524)) { + $525 = (($523) - ($$0198))|0; + $526 = HEAP32[(35472)>>2]|0; + $527 = ($525>>>0)>(15); + if ($527) { + $528 = (($526) + ($$0198)|0); + HEAP32[(35472)>>2] = $528; + HEAP32[(35460)>>2] = $525; + $529 = $525 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = (($528) + ($525)|0); + HEAP32[$531>>2] = $525; + $532 = $$0198 | 3; + $533 = ((($526)) + 4|0); + HEAP32[$533>>2] = $532; + } else { + HEAP32[(35460)>>2] = 0; + HEAP32[(35472)>>2] = 0; + $534 = $523 | 3; + $535 = ((($526)) + 4|0); + HEAP32[$535>>2] = $534; + $536 = (($526) + ($523)|0); + $537 = ((($536)) + 4|0); + $538 = HEAP32[$537>>2]|0; + $539 = $538 | 1; + HEAP32[$537>>2] = $539; + } + $540 = ((($526)) + 8|0); + $$2 = $540; + break; + } + $541 = HEAP32[(35464)>>2]|0; + $542 = ($541>>>0)>($$0198>>>0); + if ($542) { + $543 = (($541) - ($$0198))|0; + HEAP32[(35464)>>2] = $543; + $544 = HEAP32[(35476)>>2]|0; + $545 = (($544) + ($$0198)|0); + HEAP32[(35476)>>2] = $545; + $546 = $543 | 1; + $547 = ((($545)) + 4|0); + HEAP32[$547>>2] = $546; + $548 = $$0198 | 3; + $549 = ((($544)) + 4|0); + HEAP32[$549>>2] = $548; + $550 = ((($544)) + 8|0); + $$2 = $550; + break; + } + $551 = HEAP32[8850]|0; + $552 = ($551|0)==(0); + if ($552) { + (___pthread_mutex_lock(35424)|0); + $553 = HEAP32[8850]|0; + $554 = ($553|0)==(0); + if ($554) { + HEAP32[(35408)>>2] = 4096; + HEAP32[(35404)>>2] = 4096; + HEAP32[(35412)>>2] = -1; + HEAP32[(35416)>>2] = -1; + HEAP32[(35420)>>2] = 2; + HEAP32[(35896)>>2] = 2; + $555 = (_pthread_mutexattr_init($1)|0); + $556 = ($555|0)==(0); + if ($556) { + $557 = (_pthread_mutex_init((35900),$1)|0); + $558 = ($557|0)==(0); + if ($558) { + } + } + $559 = $2; + $560 = $559 & -16; + $561 = $560 ^ 1431655768; + HEAP32[$2>>2] = $561; + Atomics_store(HEAP32,8850,$561)|0; + } + (___pthread_mutex_unlock(35424)|0); + } + $562 = (($$0198) + 48)|0; + $563 = HEAP32[(35408)>>2]|0; + $564 = (($$0198) + 47)|0; + $565 = (($563) + ($564))|0; + $566 = (0 - ($563))|0; + $567 = $565 & $566; + $568 = ($567>>>0)>($$0198>>>0); + if ($568) { + $569 = HEAP32[(35892)>>2]|0; + $570 = ($569|0)==(0); + if (!($570)) { + $571 = HEAP32[(35884)>>2]|0; + $572 = (($571) + ($567))|0; + $573 = ($572>>>0)<=($571>>>0); + $574 = ($572>>>0)>($569>>>0); + $or$cond1$i = $573 | $574; + if ($or$cond1$i) { + $$2 = 0; + break; + } + } + $575 = HEAP32[(35896)>>2]|0; + $576 = $575 & 4; + $577 = ($576|0)==(0); + if ($577) { + $578 = HEAP32[(35476)>>2]|0; + $579 = ($578|0)==(0|0); + L258: do { + if ($579) { + label = 176; + } else { + $$0$i$i = (35928); + while(1) { + $580 = HEAP32[$$0$i$i>>2]|0; + $581 = ($580>>>0)>($578>>>0); + if (!($581)) { + $582 = ((($$0$i$i)) + 4|0); + $583 = HEAP32[$582>>2]|0; + $584 = (($580) + ($583)|0); + $585 = ($584>>>0)>($578>>>0); + if ($585) { + break; + } + } + $586 = ((($$0$i$i)) + 8|0); + $587 = HEAP32[$586>>2]|0; + $588 = ($587|0)==(0|0); + if ($588) { + label = 176; + break L258; + } else { + $$0$i$i = $587; + } + } + (___pthread_mutex_lock(35424)|0); + $611 = HEAP32[(35464)>>2]|0; + $612 = HEAP32[(35408)>>2]|0; + $613 = (($564) - ($611))|0; + $614 = (($613) + ($612))|0; + $615 = (0 - ($612))|0; + $616 = $614 & $615; + $617 = ($616>>>0)<(2147483647); + if ($617) { + $618 = (_sbrk(($616|0))|0); + $619 = HEAP32[$$0$i$i>>2]|0; + $620 = HEAP32[$582>>2]|0; + $621 = (($619) + ($620)|0); + $622 = ($618|0)==($621|0); + if ($622) { + $623 = ($618|0)==((-1)|0); + if ($623) { + $$2234253237$i = $616; + label = 190; + } else { + $$3229$i = $618;$$3235$i = $616; + } + } else { + $$2247$ph$i = $618;$$2253$ph$i = $616; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } + } + } while(0); + do { + if ((label|0) == 176) { + (___pthread_mutex_lock(35424)|0); + $589 = (_sbrk(0)|0); + $590 = ($589|0)==((-1)|0); + if ($590) { + $$2234253237$i = 0; + label = 190; + } else { + $591 = $589; + $592 = HEAP32[(35404)>>2]|0; + $593 = (($592) + -1)|0; + $594 = $593 & $591; + $595 = ($594|0)==(0); + $596 = (($593) + ($591))|0; + $597 = (0 - ($592))|0; + $598 = $596 & $597; + $599 = (($598) - ($591))|0; + $600 = $595 ? 0 : $599; + $$$i = (($600) + ($567))|0; + $601 = HEAP32[(35884)>>2]|0; + $602 = (($$$i) + ($601))|0; + $603 = ($$$i>>>0)>($$0198>>>0); + $604 = ($$$i>>>0)<(2147483647); + $or$cond$i213 = $603 & $604; + if ($or$cond$i213) { + $605 = HEAP32[(35892)>>2]|0; + $606 = ($605|0)==(0); + if (!($606)) { + $607 = ($602>>>0)<=($601>>>0); + $608 = ($602>>>0)>($605>>>0); + $or$cond2$i214 = $607 | $608; + if ($or$cond2$i214) { + $$2234253237$i = 0; + label = 190; + break; + } + } + $609 = (_sbrk(($$$i|0))|0); + $610 = ($609|0)==($589|0); + if ($610) { + $$3229$i = $589;$$3235$i = $$$i; + } else { + $$2247$ph$i = $609;$$2253$ph$i = $$$i; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } + } + } + } while(0); + do { + if ((label|0) == 184) { + $624 = (0 - ($$2253$ph$i))|0; + $625 = ($$2247$ph$i|0)!=((-1)|0); + $626 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $626 & $625; + $627 = ($562>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $627 & $or$cond7$i; + if (!($or$cond10$i)) { + $637 = ($$2247$ph$i|0)==((-1)|0); + if ($637) { + $$2234253237$i = 0; + label = 190; + break; + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; + break; + } + } + $628 = HEAP32[(35408)>>2]|0; + $629 = (($564) - ($$2253$ph$i))|0; + $630 = (($629) + ($628))|0; + $631 = (0 - ($628))|0; + $632 = $630 & $631; + $633 = ($632>>>0)<(2147483647); + if ($633) { + $634 = (_sbrk(($632|0))|0); + $635 = ($634|0)==((-1)|0); + if ($635) { + (_sbrk(($624|0))|0); + $$2234253237$i = 0; + label = 190; + break; + } else { + $636 = (($632) + ($$2253$ph$i))|0; + $$3229$i = $$2247$ph$i;$$3235$i = $636; + break; + } + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; + } + } + } while(0); + if ((label|0) == 190) { + $638 = HEAP32[(35896)>>2]|0; + $639 = $638 | 4; + HEAP32[(35896)>>2] = $639; + $$3229$i = (-1);$$3235$i = $$2234253237$i; + } + (___pthread_mutex_unlock(35424)|0); + $$4230$i = $$3229$i;$$4236$i = $$3235$i; + } else { + $$4230$i = (-1);$$4236$i = 0; + } + $640 = ($$4230$i|0)==((-1)|0); + $641 = ($567>>>0)<(2147483647); + $or$cond9$i = $641 & $640; + if ($or$cond9$i) { + (___pthread_mutex_lock(35424)|0); + $642 = (_sbrk(($567|0))|0); + $643 = (_sbrk(0)|0); + (___pthread_mutex_unlock(35424)|0); + $644 = ($642|0)!=((-1)|0); + $645 = ($643|0)!=((-1)|0); + $or$cond5$i = $644 & $645; + $646 = ($642>>>0)<($643>>>0); + $or$cond11$i = $646 & $or$cond5$i; + $647 = $643; + $648 = $642; + $649 = (($647) - ($648))|0; + $650 = (($$0198) + 40)|0; + $651 = ($649>>>0)>($650>>>0); + $$$4236$i = $651 ? $649 : $$4236$i; + $$$4230$i = $651 ? $642 : (-1); + if ($or$cond11$i) { + $$7$i = $$$4230$i;$$7239$i = $$$4236$i; + label = 194; + } + } else { + $$7$i = $$4230$i;$$7239$i = $$4236$i; + label = 194; + } + if ((label|0) == 194) { + $652 = ($$7$i|0)==((-1)|0); + if (!($652)) { + $653 = HEAP32[(35884)>>2]|0; + $654 = (($653) + ($$7239$i))|0; + HEAP32[(35884)>>2] = $654; + $655 = HEAP32[(35888)>>2]|0; + $656 = ($654>>>0)>($655>>>0); + if ($656) { + HEAP32[(35888)>>2] = $654; + } + $657 = HEAP32[(35476)>>2]|0; + $658 = ($657|0)==(0|0); + do { + if ($658) { + $659 = HEAP32[(35468)>>2]|0; + $660 = ($659|0)==(0|0); + $661 = ($$7$i>>>0)<($659>>>0); + $or$cond12$i = $660 | $661; + if ($or$cond12$i) { + HEAP32[(35468)>>2] = $$7$i; + } + HEAP32[(35928)>>2] = $$7$i; + HEAP32[(35932)>>2] = $$7239$i; + HEAP32[(35940)>>2] = 0; + $662 = HEAP32[8850]|0; + HEAP32[(35488)>>2] = $662; + HEAP32[(35484)>>2] = -1; + $$01$i$i = 0; + while(1) { + $663 = $$01$i$i << 1; + $664 = (35492 + ($663<<2)|0); + $665 = ((($664)) + 12|0); + HEAP32[$665>>2] = $664; + $666 = ((($664)) + 8|0); + HEAP32[$666>>2] = $664; + $667 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($667|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $667; + } + } + $668 = (($$7239$i) + -40)|0; + $669 = ((($$7$i)) + 8|0); + $670 = $669; + $671 = $670 & 7; + $672 = ($671|0)==(0); + $673 = (0 - ($670))|0; + $674 = $673 & 7; + $675 = $672 ? 0 : $674; + $676 = (($$7$i) + ($675)|0); + $677 = (($668) - ($675))|0; + HEAP32[(35476)>>2] = $676; + HEAP32[(35464)>>2] = $677; + $678 = $677 | 1; + $679 = ((($676)) + 4|0); + HEAP32[$679>>2] = $678; + $680 = (($676) + ($677)|0); + $681 = ((($680)) + 4|0); + HEAP32[$681>>2] = 40; + $682 = HEAP32[(35416)>>2]|0; + HEAP32[(35480)>>2] = $682; + } else { + $$024363$i = (35928); + while(1) { + $683 = HEAP32[$$024363$i>>2]|0; + $684 = ((($$024363$i)) + 4|0); + $685 = HEAP32[$684>>2]|0; + $686 = (($683) + ($685)|0); + $687 = ($$7$i|0)==($686|0); + if ($687) { + label = 205; + break; + } + $688 = ((($$024363$i)) + 8|0); + $689 = HEAP32[$688>>2]|0; + $690 = ($689|0)==(0|0); + if ($690) { + break; + } else { + $$024363$i = $689; + } + } + if ((label|0) == 205) { + $691 = ((($$024363$i)) + 12|0); + $692 = HEAP32[$691>>2]|0; + $693 = $692 & 8; + $694 = ($693|0)==(0); + if ($694) { + $695 = ($657>>>0)>=($683>>>0); + $696 = ($657>>>0)<($$7$i>>>0); + $or$cond43$i = $696 & $695; + if ($or$cond43$i) { + $697 = (($685) + ($$7239$i))|0; + HEAP32[$684>>2] = $697; + $698 = HEAP32[(35464)>>2]|0; + $699 = ((($657)) + 8|0); + $700 = $699; + $701 = $700 & 7; + $702 = ($701|0)==(0); + $703 = (0 - ($700))|0; + $704 = $703 & 7; + $705 = $702 ? 0 : $704; + $706 = (($657) + ($705)|0); + $707 = (($$7239$i) - ($705))|0; + $708 = (($698) + ($707))|0; + HEAP32[(35476)>>2] = $706; + HEAP32[(35464)>>2] = $708; + $709 = $708 | 1; + $710 = ((($706)) + 4|0); + HEAP32[$710>>2] = $709; + $711 = (($706) + ($708)|0); + $712 = ((($711)) + 4|0); + HEAP32[$712>>2] = 40; + $713 = HEAP32[(35416)>>2]|0; + HEAP32[(35480)>>2] = $713; + break; + } + } + } + $714 = HEAP32[(35468)>>2]|0; + $715 = ($$7$i>>>0)<($714>>>0); + if ($715) { + HEAP32[(35468)>>2] = $$7$i; + $779 = $$7$i; + } else { + $779 = $714; + } + $716 = (($$7$i) + ($$7239$i)|0); + $$124462$i = (35928); + while(1) { + $717 = HEAP32[$$124462$i>>2]|0; + $718 = ($717|0)==($716|0); + if ($718) { + label = 213; + break; + } + $719 = ((($$124462$i)) + 8|0); + $720 = HEAP32[$719>>2]|0; + $721 = ($720|0)==(0|0); + if ($721) { + break; + } else { + $$124462$i = $720; + } + } + if ((label|0) == 213) { + $722 = ((($$124462$i)) + 12|0); + $723 = HEAP32[$722>>2]|0; + $724 = $723 & 8; + $725 = ($724|0)==(0); + if ($725) { + HEAP32[$$124462$i>>2] = $$7$i; + $726 = ((($$124462$i)) + 4|0); + $727 = HEAP32[$726>>2]|0; + $728 = (($727) + ($$7239$i))|0; + HEAP32[$726>>2] = $728; + $729 = ((($$7$i)) + 8|0); + $730 = $729; + $731 = $730 & 7; + $732 = ($731|0)==(0); + $733 = (0 - ($730))|0; + $734 = $733 & 7; + $735 = $732 ? 0 : $734; + $736 = (($$7$i) + ($735)|0); + $737 = ((($716)) + 8|0); + $738 = $737; + $739 = $738 & 7; + $740 = ($739|0)==(0); + $741 = (0 - ($738))|0; + $742 = $741 & 7; + $743 = $740 ? 0 : $742; + $744 = (($716) + ($743)|0); + $745 = $744; + $746 = $736; + $747 = (($745) - ($746))|0; + $748 = (($736) + ($$0198)|0); + $749 = (($747) - ($$0198))|0; + $750 = $$0198 | 3; + $751 = ((($736)) + 4|0); + HEAP32[$751>>2] = $750; + $752 = ($744|0)==($657|0); + do { + if ($752) { + $753 = HEAP32[(35464)>>2]|0; + $754 = (($753) + ($749))|0; + HEAP32[(35464)>>2] = $754; + HEAP32[(35476)>>2] = $748; + $755 = $754 | 1; + $756 = ((($748)) + 4|0); + HEAP32[$756>>2] = $755; + } else { + $757 = HEAP32[(35472)>>2]|0; + $758 = ($744|0)==($757|0); + if ($758) { + $759 = HEAP32[(35460)>>2]|0; + $760 = (($759) + ($749))|0; + HEAP32[(35460)>>2] = $760; + HEAP32[(35472)>>2] = $748; + $761 = $760 | 1; + $762 = ((($748)) + 4|0); + HEAP32[$762>>2] = $761; + $763 = (($748) + ($760)|0); + HEAP32[$763>>2] = $760; + break; + } + $764 = ((($744)) + 4|0); + $765 = HEAP32[$764>>2]|0; + $766 = $765 & 3; + $767 = ($766|0)==(1); + if ($767) { + $768 = $765 & -8; + $769 = $765 >>> 3; + $770 = ($765>>>0)<(256); + L329: do { + if ($770) { + $771 = ((($744)) + 8|0); + $772 = HEAP32[$771>>2]|0; + $773 = ((($744)) + 12|0); + $774 = HEAP32[$773>>2]|0; + $775 = $769 << 1; + $776 = (35492 + ($775<<2)|0); + $777 = ($772|0)==($776|0); + do { + if (!($777)) { + $778 = ($772>>>0)<($779>>>0); + if ($778) { + _abort(); + // unreachable; + } + $780 = ((($772)) + 12|0); + $781 = HEAP32[$780>>2]|0; + $782 = ($781|0)==($744|0); + if ($782) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $783 = ($774|0)==($772|0); + if ($783) { + $784 = 1 << $769; + $785 = $784 ^ -1; + $786 = HEAP32[8863]|0; + $787 = $786 & $785; + HEAP32[8863] = $787; + break; + } + $788 = ($774|0)==($776|0); + do { + if ($788) { + $$pre10$i$i = ((($774)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $789 = ($774>>>0)<($779>>>0); + if ($789) { + _abort(); + // unreachable; + } + $790 = ((($774)) + 8|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==($744|0); + if ($792) { + $$pre$phi11$i$iZ2D = $790; + break; + } + _abort(); + // unreachable; + } + } while(0); + $793 = ((($772)) + 12|0); + HEAP32[$793>>2] = $774; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $772; + } else { + $794 = ((($744)) + 24|0); + $795 = HEAP32[$794>>2]|0; + $796 = ((($744)) + 12|0); + $797 = HEAP32[$796>>2]|0; + $798 = ($797|0)==($744|0); + do { + if ($798) { + $808 = ((($744)) + 16|0); + $809 = ((($808)) + 4|0); + $810 = HEAP32[$809>>2]|0; + $811 = ($810|0)==(0|0); + if ($811) { + $812 = HEAP32[$808>>2]|0; + $813 = ($812|0)==(0|0); + if ($813) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $812;$$1293$i$i = $808; + } + } else { + $$1291$i$i = $810;$$1293$i$i = $809; + } + while(1) { + $814 = ((($$1291$i$i)) + 20|0); + $815 = HEAP32[$814>>2]|0; + $816 = ($815|0)==(0|0); + if (!($816)) { + $$1291$i$i = $815;$$1293$i$i = $814; + continue; + } + $817 = ((($$1291$i$i)) + 16|0); + $818 = HEAP32[$817>>2]|0; + $819 = ($818|0)==(0|0); + if ($819) { + break; + } else { + $$1291$i$i = $818;$$1293$i$i = $817; + } + } + $820 = ($$1293$i$i>>>0)<($779>>>0); + if ($820) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $799 = ((($744)) + 8|0); + $800 = HEAP32[$799>>2]|0; + $801 = ($800>>>0)<($779>>>0); + if ($801) { + _abort(); + // unreachable; + } + $802 = ((($800)) + 12|0); + $803 = HEAP32[$802>>2]|0; + $804 = ($803|0)==($744|0); + if (!($804)) { + _abort(); + // unreachable; + } + $805 = ((($797)) + 8|0); + $806 = HEAP32[$805>>2]|0; + $807 = ($806|0)==($744|0); + if ($807) { + HEAP32[$802>>2] = $797; + HEAP32[$805>>2] = $800; + $$3$i$i = $797; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $821 = ($795|0)==(0|0); + if ($821) { + break; + } + $822 = ((($744)) + 28|0); + $823 = HEAP32[$822>>2]|0; + $824 = (35756 + ($823<<2)|0); + $825 = HEAP32[$824>>2]|0; + $826 = ($744|0)==($825|0); + do { + if ($826) { + HEAP32[$824>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $827 = 1 << $823; + $828 = $827 ^ -1; + $829 = HEAP32[(35456)>>2]|0; + $830 = $829 & $828; + HEAP32[(35456)>>2] = $830; + break L329; + } else { + $831 = HEAP32[(35468)>>2]|0; + $832 = ($795>>>0)<($831>>>0); + if ($832) { + _abort(); + // unreachable; + } else { + $833 = ((($795)) + 16|0); + $834 = HEAP32[$833>>2]|0; + $not$$i$i = ($834|0)!=($744|0); + $$sink1$i$i = $not$$i$i&1; + $835 = (((($795)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$835>>2] = $$3$i$i; + $836 = ($$3$i$i|0)==(0|0); + if ($836) { + break L329; + } else { + break; + } + } + } + } while(0); + $837 = HEAP32[(35468)>>2]|0; + $838 = ($$3$i$i>>>0)<($837>>>0); + if ($838) { + _abort(); + // unreachable; + } + $839 = ((($$3$i$i)) + 24|0); + HEAP32[$839>>2] = $795; + $840 = ((($744)) + 16|0); + $841 = HEAP32[$840>>2]|0; + $842 = ($841|0)==(0|0); + do { + if (!($842)) { + $843 = ($841>>>0)<($837>>>0); + if ($843) { + _abort(); + // unreachable; + } else { + $844 = ((($$3$i$i)) + 16|0); + HEAP32[$844>>2] = $841; + $845 = ((($841)) + 24|0); + HEAP32[$845>>2] = $$3$i$i; + break; + } + } + } while(0); + $846 = ((($840)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = ($847|0)==(0|0); + if ($848) { + break; + } + $849 = HEAP32[(35468)>>2]|0; + $850 = ($847>>>0)<($849>>>0); + if ($850) { + _abort(); + // unreachable; + } else { + $851 = ((($$3$i$i)) + 20|0); + HEAP32[$851>>2] = $847; + $852 = ((($847)) + 24|0); + HEAP32[$852>>2] = $$3$i$i; + break; + } + } + } while(0); + $853 = (($744) + ($768)|0); + $854 = (($768) + ($749))|0; + $$0$i17$i = $853;$$0287$i$i = $854; + } else { + $$0$i17$i = $744;$$0287$i$i = $749; + } + $855 = ((($$0$i17$i)) + 4|0); + $856 = HEAP32[$855>>2]|0; + $857 = $856 & -2; + HEAP32[$855>>2] = $857; + $858 = $$0287$i$i | 1; + $859 = ((($748)) + 4|0); + HEAP32[$859>>2] = $858; + $860 = (($748) + ($$0287$i$i)|0); + HEAP32[$860>>2] = $$0287$i$i; + $861 = $$0287$i$i >>> 3; + $862 = ($$0287$i$i>>>0)<(256); + if ($862) { + $863 = $861 << 1; + $864 = (35492 + ($863<<2)|0); + $865 = HEAP32[8863]|0; + $866 = 1 << $861; + $867 = $865 & $866; + $868 = ($867|0)==(0); + do { + if ($868) { + $869 = $865 | $866; + HEAP32[8863] = $869; + $$pre$i$i = ((($864)) + 8|0); + $$0295$i$i = $864;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $870 = ((($864)) + 8|0); + $871 = HEAP32[$870>>2]|0; + $872 = HEAP32[(35468)>>2]|0; + $873 = ($871>>>0)<($872>>>0); + if (!($873)) { + $$0295$i$i = $871;$$pre$phi$i$iZ2D = $870; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i$iZ2D>>2] = $748; + $874 = ((($$0295$i$i)) + 12|0); + HEAP32[$874>>2] = $748; + $875 = ((($748)) + 8|0); + HEAP32[$875>>2] = $$0295$i$i; + $876 = ((($748)) + 12|0); + HEAP32[$876>>2] = $864; + break; + } + $877 = $$0287$i$i >>> 8; + $878 = ($877|0)==(0); + do { + if ($878) { + $$0296$i$i = 0; + } else { + $879 = ($$0287$i$i>>>0)>(16777215); + if ($879) { + $$0296$i$i = 31; + break; + } + $880 = (($877) + 1048320)|0; + $881 = $880 >>> 16; + $882 = $881 & 8; + $883 = $877 << $882; + $884 = (($883) + 520192)|0; + $885 = $884 >>> 16; + $886 = $885 & 4; + $887 = $886 | $882; + $888 = $883 << $886; + $889 = (($888) + 245760)|0; + $890 = $889 >>> 16; + $891 = $890 & 2; + $892 = $887 | $891; + $893 = (14 - ($892))|0; + $894 = $888 << $891; + $895 = $894 >>> 15; + $896 = (($893) + ($895))|0; + $897 = $896 << 1; + $898 = (($896) + 7)|0; + $899 = $$0287$i$i >>> $898; + $900 = $899 & 1; + $901 = $900 | $897; + $$0296$i$i = $901; + } + } while(0); + $902 = (35756 + ($$0296$i$i<<2)|0); + $903 = ((($748)) + 28|0); + HEAP32[$903>>2] = $$0296$i$i; + $904 = ((($748)) + 16|0); + $905 = ((($904)) + 4|0); + HEAP32[$905>>2] = 0; + HEAP32[$904>>2] = 0; + $906 = HEAP32[(35456)>>2]|0; + $907 = 1 << $$0296$i$i; + $908 = $906 & $907; + $909 = ($908|0)==(0); + if ($909) { + $910 = $906 | $907; + HEAP32[(35456)>>2] = $910; + HEAP32[$902>>2] = $748; + $911 = ((($748)) + 24|0); + HEAP32[$911>>2] = $902; + $912 = ((($748)) + 12|0); + HEAP32[$912>>2] = $748; + $913 = ((($748)) + 8|0); + HEAP32[$913>>2] = $748; + break; + } + $914 = HEAP32[$902>>2]|0; + $915 = ($$0296$i$i|0)==(31); + $916 = $$0296$i$i >>> 1; + $917 = (25 - ($916))|0; + $918 = $915 ? 0 : $917; + $919 = $$0287$i$i << $918; + $$0288$i$i = $919;$$0289$i$i = $914; + while(1) { + $920 = ((($$0289$i$i)) + 4|0); + $921 = HEAP32[$920>>2]|0; + $922 = $921 & -8; + $923 = ($922|0)==($$0287$i$i|0); + if ($923) { + label = 280; + break; + } + $924 = $$0288$i$i >>> 31; + $925 = (((($$0289$i$i)) + 16|0) + ($924<<2)|0); + $926 = $$0288$i$i << 1; + $927 = HEAP32[$925>>2]|0; + $928 = ($927|0)==(0|0); + if ($928) { + label = 277; + break; + } else { + $$0288$i$i = $926;$$0289$i$i = $927; + } + } + if ((label|0) == 277) { + $929 = HEAP32[(35468)>>2]|0; + $930 = ($925>>>0)<($929>>>0); + if ($930) { + _abort(); + // unreachable; + } else { + HEAP32[$925>>2] = $748; + $931 = ((($748)) + 24|0); + HEAP32[$931>>2] = $$0289$i$i; + $932 = ((($748)) + 12|0); + HEAP32[$932>>2] = $748; + $933 = ((($748)) + 8|0); + HEAP32[$933>>2] = $748; + break; + } + } + else if ((label|0) == 280) { + $934 = ((($$0289$i$i)) + 8|0); + $935 = HEAP32[$934>>2]|0; + $936 = HEAP32[(35468)>>2]|0; + $937 = ($935>>>0)>=($936>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($936>>>0); + $938 = $937 & $not$7$i$i; + if ($938) { + $939 = ((($935)) + 12|0); + HEAP32[$939>>2] = $748; + HEAP32[$934>>2] = $748; + $940 = ((($748)) + 8|0); + HEAP32[$940>>2] = $935; + $941 = ((($748)) + 12|0); + HEAP32[$941>>2] = $$0289$i$i; + $942 = ((($748)) + 24|0); + HEAP32[$942>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1074 = ((($736)) + 8|0); + $$2 = $1074; + break L230; + } + } + $$0$i$i$i = (35928); + while(1) { + $943 = HEAP32[$$0$i$i$i>>2]|0; + $944 = ($943>>>0)>($657>>>0); + if (!($944)) { + $945 = ((($$0$i$i$i)) + 4|0); + $946 = HEAP32[$945>>2]|0; + $947 = (($943) + ($946)|0); + $948 = ($947>>>0)>($657>>>0); + if ($948) { + break; + } + } + $949 = ((($$0$i$i$i)) + 8|0); + $950 = HEAP32[$949>>2]|0; + $$0$i$i$i = $950; + } + $951 = ((($947)) + -47|0); + $952 = ((($951)) + 8|0); + $953 = $952; + $954 = $953 & 7; + $955 = ($954|0)==(0); + $956 = (0 - ($953))|0; + $957 = $956 & 7; + $958 = $955 ? 0 : $957; + $959 = (($951) + ($958)|0); + $960 = ((($657)) + 16|0); + $961 = ($959>>>0)<($960>>>0); + $962 = $961 ? $657 : $959; + $963 = ((($962)) + 8|0); + $964 = ((($962)) + 24|0); + $965 = (($$7239$i) + -40)|0; + $966 = ((($$7$i)) + 8|0); + $967 = $966; + $968 = $967 & 7; + $969 = ($968|0)==(0); + $970 = (0 - ($967))|0; + $971 = $970 & 7; + $972 = $969 ? 0 : $971; + $973 = (($$7$i) + ($972)|0); + $974 = (($965) - ($972))|0; + HEAP32[(35476)>>2] = $973; + HEAP32[(35464)>>2] = $974; + $975 = $974 | 1; + $976 = ((($973)) + 4|0); + HEAP32[$976>>2] = $975; + $977 = (($973) + ($974)|0); + $978 = ((($977)) + 4|0); + HEAP32[$978>>2] = 40; + $979 = HEAP32[(35416)>>2]|0; + HEAP32[(35480)>>2] = $979; + $980 = ((($962)) + 4|0); + HEAP32[$980>>2] = 27; + ;HEAP32[$963>>2]=HEAP32[(35928)>>2]|0;HEAP32[$963+4>>2]=HEAP32[(35928)+4>>2]|0;HEAP32[$963+8>>2]=HEAP32[(35928)+8>>2]|0;HEAP32[$963+12>>2]=HEAP32[(35928)+12>>2]|0; + HEAP32[(35928)>>2] = $$7$i; + HEAP32[(35932)>>2] = $$7239$i; + HEAP32[(35940)>>2] = 0; + HEAP32[(35936)>>2] = $963; + $982 = $964; + while(1) { + $981 = ((($982)) + 4|0); + HEAP32[$981>>2] = 7; + $983 = ((($982)) + 8|0); + $984 = ($983>>>0)<($947>>>0); + if ($984) { + $982 = $981; + } else { + break; + } + } + $985 = ($962|0)==($657|0); + if (!($985)) { + $986 = $962; + $987 = $657; + $988 = (($986) - ($987))|0; + $989 = HEAP32[$980>>2]|0; + $990 = $989 & -2; + HEAP32[$980>>2] = $990; + $991 = $988 | 1; + $992 = ((($657)) + 4|0); + HEAP32[$992>>2] = $991; + HEAP32[$962>>2] = $988; + $993 = $988 >>> 3; + $994 = ($988>>>0)<(256); + if ($994) { + $995 = $993 << 1; + $996 = (35492 + ($995<<2)|0); + $997 = HEAP32[8863]|0; + $998 = 1 << $993; + $999 = $997 & $998; + $1000 = ($999|0)==(0); + do { + if ($1000) { + $1001 = $997 | $998; + HEAP32[8863] = $1001; + $$pre$i18$i = ((($996)) + 8|0); + $$0211$i$i = $996;$$pre$phi$i19$iZ2D = $$pre$i18$i; + } else { + $1002 = ((($996)) + 8|0); + $1003 = HEAP32[$1002>>2]|0; + $1004 = HEAP32[(35468)>>2]|0; + $1005 = ($1003>>>0)<($1004>>>0); + if (!($1005)) { + $$0211$i$i = $1003;$$pre$phi$i19$iZ2D = $1002; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i19$iZ2D>>2] = $657; + $1006 = ((($$0211$i$i)) + 12|0); + HEAP32[$1006>>2] = $657; + $1007 = ((($657)) + 8|0); + HEAP32[$1007>>2] = $$0211$i$i; + $1008 = ((($657)) + 12|0); + HEAP32[$1008>>2] = $996; + break; + } + $1009 = $988 >>> 8; + $1010 = ($1009|0)==(0); + do { + if ($1010) { + $$0212$i$i = 0; + } else { + $1011 = ($988>>>0)>(16777215); + if ($1011) { + $$0212$i$i = 31; + break; + } + $1012 = (($1009) + 1048320)|0; + $1013 = $1012 >>> 16; + $1014 = $1013 & 8; + $1015 = $1009 << $1014; + $1016 = (($1015) + 520192)|0; + $1017 = $1016 >>> 16; + $1018 = $1017 & 4; + $1019 = $1018 | $1014; + $1020 = $1015 << $1018; + $1021 = (($1020) + 245760)|0; + $1022 = $1021 >>> 16; + $1023 = $1022 & 2; + $1024 = $1019 | $1023; + $1025 = (14 - ($1024))|0; + $1026 = $1020 << $1023; + $1027 = $1026 >>> 15; + $1028 = (($1025) + ($1027))|0; + $1029 = $1028 << 1; + $1030 = (($1028) + 7)|0; + $1031 = $988 >>> $1030; + $1032 = $1031 & 1; + $1033 = $1032 | $1029; + $$0212$i$i = $1033; + } + } while(0); + $1034 = (35756 + ($$0212$i$i<<2)|0); + $1035 = ((($657)) + 28|0); + HEAP32[$1035>>2] = $$0212$i$i; + $1036 = ((($657)) + 20|0); + HEAP32[$1036>>2] = 0; + HEAP32[$960>>2] = 0; + $1037 = HEAP32[(35456)>>2]|0; + $1038 = 1 << $$0212$i$i; + $1039 = $1037 & $1038; + $1040 = ($1039|0)==(0); + if ($1040) { + $1041 = $1037 | $1038; + HEAP32[(35456)>>2] = $1041; + HEAP32[$1034>>2] = $657; + $1042 = ((($657)) + 24|0); + HEAP32[$1042>>2] = $1034; + $1043 = ((($657)) + 12|0); + HEAP32[$1043>>2] = $657; + $1044 = ((($657)) + 8|0); + HEAP32[$1044>>2] = $657; + break; + } + $1045 = HEAP32[$1034>>2]|0; + $1046 = ($$0212$i$i|0)==(31); + $1047 = $$0212$i$i >>> 1; + $1048 = (25 - ($1047))|0; + $1049 = $1046 ? 0 : $1048; + $1050 = $988 << $1049; + $$0206$i$i = $1050;$$0207$i$i = $1045; + while(1) { + $1051 = ((($$0207$i$i)) + 4|0); + $1052 = HEAP32[$1051>>2]|0; + $1053 = $1052 & -8; + $1054 = ($1053|0)==($988|0); + if ($1054) { + label = 307; + break; + } + $1055 = $$0206$i$i >>> 31; + $1056 = (((($$0207$i$i)) + 16|0) + ($1055<<2)|0); + $1057 = $$0206$i$i << 1; + $1058 = HEAP32[$1056>>2]|0; + $1059 = ($1058|0)==(0|0); + if ($1059) { + label = 304; + break; + } else { + $$0206$i$i = $1057;$$0207$i$i = $1058; + } + } + if ((label|0) == 304) { + $1060 = HEAP32[(35468)>>2]|0; + $1061 = ($1056>>>0)<($1060>>>0); + if ($1061) { + _abort(); + // unreachable; + } else { + HEAP32[$1056>>2] = $657; + $1062 = ((($657)) + 24|0); + HEAP32[$1062>>2] = $$0207$i$i; + $1063 = ((($657)) + 12|0); + HEAP32[$1063>>2] = $657; + $1064 = ((($657)) + 8|0); + HEAP32[$1064>>2] = $657; + break; + } + } + else if ((label|0) == 307) { + $1065 = ((($$0207$i$i)) + 8|0); + $1066 = HEAP32[$1065>>2]|0; + $1067 = HEAP32[(35468)>>2]|0; + $1068 = ($1066>>>0)>=($1067>>>0); + $not$$i21$i = ($$0207$i$i>>>0)>=($1067>>>0); + $1069 = $1068 & $not$$i21$i; + if ($1069) { + $1070 = ((($1066)) + 12|0); + HEAP32[$1070>>2] = $657; + HEAP32[$1065>>2] = $657; + $1071 = ((($657)) + 8|0); + HEAP32[$1071>>2] = $1066; + $1072 = ((($657)) + 12|0); + HEAP32[$1072>>2] = $$0207$i$i; + $1073 = ((($657)) + 24|0); + HEAP32[$1073>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1075 = HEAP32[(35464)>>2]|0; + $1076 = ($1075>>>0)>($$0198>>>0); + if ($1076) { + $1077 = (($1075) - ($$0198))|0; + HEAP32[(35464)>>2] = $1077; + $1078 = HEAP32[(35476)>>2]|0; + $1079 = (($1078) + ($$0198)|0); + HEAP32[(35476)>>2] = $1079; + $1080 = $1077 | 1; + $1081 = ((($1079)) + 4|0); + HEAP32[$1081>>2] = $1080; + $1082 = $$0198 | 3; + $1083 = ((($1078)) + 4|0); + HEAP32[$1083>>2] = $1082; + $1084 = ((($1078)) + 8|0); + $$2 = $1084; + break; + } + } + } + $1085 = (___errno_location()|0); + HEAP32[$1085>>2] = 12; + $$2 = 0; + } else { + $$2 = 0; + } + } + } while(0); + $1086 = HEAP32[(35896)>>2]|0; + $1087 = $1086 & 2; + $1088 = ($1087|0)==(0); + if ($1088) { + $$1 = $$2; + STACKTOP = sp;return ($$1|0); + } + (___pthread_mutex_unlock((35900))|0); + $$1 = $$2; + STACKTOP = sp;return ($$1|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $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; + var $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, $310 = 0, $311 = 0; + var $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, $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, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(35896)>>2]|0; + $4 = $3 & 2; + $5 = ($4|0)==(0); + if (!($5)) { + $6 = (___pthread_mutex_lock((35900))|0); + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + $8 = HEAP32[(35468)>>2]|0; + $9 = ($2>>>0)<($8>>>0); + if ($9) { + _abort(); + // unreachable; + } + $10 = ((($0)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(1); + if ($13) { + _abort(); + // unreachable; + } + $14 = $11 & -8; + $15 = (($2) + ($14)|0); + $16 = $11 & 1; + $17 = ($16|0)==(0); + L14: do { + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = ($12|0)==(0); + if (!($19)) { + $20 = (0 - ($18))|0; + $21 = (($2) + ($20)|0); + $22 = (($18) + ($14))|0; + $23 = ($21>>>0)<($8>>>0); + if ($23) { + _abort(); + // unreachable; + } + $24 = HEAP32[(35472)>>2]|0; + $25 = ($21|0)==($24|0); + if ($25) { + $109 = ((($15)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = $110 & 3; + $112 = ($111|0)==(3); + if (!($112)) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $113 = (($21) + ($22)|0); + $114 = ((($21)) + 4|0); + $115 = $22 | 1; + $116 = $110 & -2; + HEAP32[(35460)>>2] = $22; + HEAP32[$109>>2] = $116; + HEAP32[$114>>2] = $115; + HEAP32[$113>>2] = $22; + break; + } + $26 = $18 >>> 3; + $27 = ($18>>>0)<(256); + if ($27) { + $28 = ((($21)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($21)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = $26 << 1; + $33 = (35492 + ($32<<2)|0); + $34 = ($29|0)==($33|0); + if (!($34)) { + $35 = ($29>>>0)<($8>>>0); + if ($35) { + _abort(); + // unreachable; + } + $36 = ((($29)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==($21|0); + if (!($38)) { + _abort(); + // unreachable; + } + } + $39 = ($31|0)==($29|0); + if ($39) { + $40 = 1 << $26; + $41 = $40 ^ -1; + $42 = HEAP32[8863]|0; + $43 = $42 & $41; + HEAP32[8863] = $43; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $44 = ($31|0)==($33|0); + if ($44) { + $$pre444 = ((($31)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $45 = ($31>>>0)<($8>>>0); + if ($45) { + _abort(); + // unreachable; + } + $46 = ((($31)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==($21|0); + if ($48) { + $$pre$phi445Z2D = $46; + } else { + _abort(); + // unreachable; + } + } + $49 = ((($29)) + 12|0); + HEAP32[$49>>2] = $31; + HEAP32[$$pre$phi445Z2D>>2] = $29; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $50 = ((($21)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = ((($21)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($21|0); + do { + if ($54) { + $64 = ((($21)) + 16|0); + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if ($67) { + $68 = HEAP32[$64>>2]|0; + $69 = ($68|0)==(0|0); + if ($69) { + $$3 = 0; + break; + } else { + $$1387 = $68;$$1390 = $64; + } + } else { + $$1387 = $66;$$1390 = $65; + } + while(1) { + $70 = ((($$1387)) + 20|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(0|0); + if (!($72)) { + $$1387 = $71;$$1390 = $70; + continue; + } + $73 = ((($$1387)) + 16|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)==(0|0); + if ($75) { + break; + } else { + $$1387 = $74;$$1390 = $73; + } + } + $76 = ($$1390>>>0)<($8>>>0); + if ($76) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $55 = ((($21)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56>>>0)<($8>>>0); + if ($57) { + _abort(); + // unreachable; + } + $58 = ((($56)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)==($21|0); + if (!($60)) { + _abort(); + // unreachable; + } + $61 = ((($53)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==($21|0); + if ($63) { + HEAP32[$58>>2] = $53; + HEAP32[$61>>2] = $56; + $$3 = $53; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $77 = ($51|0)==(0|0); + if ($77) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $78 = ((($21)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = (35756 + ($79<<2)|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($21|0)==($81|0); + do { + if ($82) { + HEAP32[$80>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $83 = 1 << $79; + $84 = $83 ^ -1; + $85 = HEAP32[(35456)>>2]|0; + $86 = $85 & $84; + HEAP32[(35456)>>2] = $86; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; + } + } else { + $87 = HEAP32[(35468)>>2]|0; + $88 = ($51>>>0)<($87>>>0); + if ($88) { + _abort(); + // unreachable; + } else { + $89 = ((($51)) + 16|0); + $90 = HEAP32[$89>>2]|0; + $not$405 = ($90|0)!=($21|0); + $$sink3 = $not$405&1; + $91 = (((($51)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$91>>2] = $$3; + $92 = ($$3|0)==(0|0); + if ($92) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; + } else { + break; + } + } + } + } while(0); + $93 = HEAP32[(35468)>>2]|0; + $94 = ($$3>>>0)<($93>>>0); + if ($94) { + _abort(); + // unreachable; + } + $95 = ((($$3)) + 24|0); + HEAP32[$95>>2] = $51; + $96 = ((($21)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==(0|0); + do { + if (!($98)) { + $99 = ($97>>>0)<($93>>>0); + if ($99) { + _abort(); + // unreachable; + } else { + $100 = ((($$3)) + 16|0); + HEAP32[$100>>2] = $97; + $101 = ((($97)) + 24|0); + HEAP32[$101>>2] = $$3; + break; + } + } + } while(0); + $102 = ((($96)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $105 = HEAP32[(35468)>>2]|0; + $106 = ($103>>>0)<($105>>>0); + if ($106) { + _abort(); + // unreachable; + } else { + $107 = ((($$3)) + 20|0); + HEAP32[$107>>2] = $103; + $108 = ((($103)) + 24|0); + HEAP32[$108>>2] = $$3; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + } + } + } + } else { + $$1 = $2;$$1382 = $14;$118 = $2; + label = 55; + } + } while(0); + do { + if ((label|0) == 55) { + $117 = ($118>>>0)<($15>>>0); + if (!($117)) { + _abort(); + // unreachable; + } + $119 = ((($15)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = $120 & 1; + $122 = ($121|0)==(0); + if ($122) { + _abort(); + // unreachable; + } + $123 = $120 & 2; + $124 = ($123|0)==(0); + if ($124) { + $125 = HEAP32[(35476)>>2]|0; + $126 = ($15|0)==($125|0); + $127 = HEAP32[(35472)>>2]|0; + if ($126) { + $128 = HEAP32[(35464)>>2]|0; + $129 = (($128) + ($$1382))|0; + HEAP32[(35464)>>2] = $129; + HEAP32[(35476)>>2] = $$1; + $130 = $129 | 1; + $131 = ((($$1)) + 4|0); + HEAP32[$131>>2] = $130; + $132 = ($$1|0)==($127|0); + if (!($132)) { + break; + } + HEAP32[(35472)>>2] = 0; + HEAP32[(35460)>>2] = 0; + break; + } + $133 = ($15|0)==($127|0); + if ($133) { + $134 = HEAP32[(35460)>>2]|0; + $135 = (($134) + ($$1382))|0; + HEAP32[(35460)>>2] = $135; + HEAP32[(35472)>>2] = $118; + $136 = $135 | 1; + $137 = ((($$1)) + 4|0); + HEAP32[$137>>2] = $136; + $138 = (($118) + ($135)|0); + HEAP32[$138>>2] = $135; + break; + } + $139 = $120 & -8; + $140 = (($139) + ($$1382))|0; + $141 = $120 >>> 3; + $142 = ($120>>>0)<(256); + L106: do { + if ($142) { + $143 = ((($15)) + 8|0); + $144 = HEAP32[$143>>2]|0; + $145 = ((($15)) + 12|0); + $146 = HEAP32[$145>>2]|0; + $147 = $141 << 1; + $148 = (35492 + ($147<<2)|0); + $149 = ($144|0)==($148|0); + if (!($149)) { + $150 = HEAP32[(35468)>>2]|0; + $151 = ($144>>>0)<($150>>>0); + if ($151) { + _abort(); + // unreachable; + } + $152 = ((($144)) + 12|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==($15|0); + if (!($154)) { + _abort(); + // unreachable; + } + } + $155 = ($146|0)==($144|0); + if ($155) { + $156 = 1 << $141; + $157 = $156 ^ -1; + $158 = HEAP32[8863]|0; + $159 = $158 & $157; + HEAP32[8863] = $159; + break; + } + $160 = ($146|0)==($148|0); + if ($160) { + $$pre442 = ((($146)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $161 = HEAP32[(35468)>>2]|0; + $162 = ($146>>>0)<($161>>>0); + if ($162) { + _abort(); + // unreachable; + } + $163 = ((($146)) + 8|0); + $164 = HEAP32[$163>>2]|0; + $165 = ($164|0)==($15|0); + if ($165) { + $$pre$phi443Z2D = $163; + } else { + _abort(); + // unreachable; + } + } + $166 = ((($144)) + 12|0); + HEAP32[$166>>2] = $146; + HEAP32[$$pre$phi443Z2D>>2] = $144; + } else { + $167 = ((($15)) + 24|0); + $168 = HEAP32[$167>>2]|0; + $169 = ((($15)) + 12|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==($15|0); + do { + if ($171) { + $182 = ((($15)) + 16|0); + $183 = ((($182)) + 4|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if ($185) { + $186 = HEAP32[$182>>2]|0; + $187 = ($186|0)==(0|0); + if ($187) { + $$3400 = 0; + break; + } else { + $$1398 = $186;$$1402 = $182; + } + } else { + $$1398 = $184;$$1402 = $183; + } + while(1) { + $188 = ((($$1398)) + 20|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($189|0)==(0|0); + if (!($190)) { + $$1398 = $189;$$1402 = $188; + continue; + } + $191 = ((($$1398)) + 16|0); + $192 = HEAP32[$191>>2]|0; + $193 = ($192|0)==(0|0); + if ($193) { + break; + } else { + $$1398 = $192;$$1402 = $191; + } + } + $194 = HEAP32[(35468)>>2]|0; + $195 = ($$1402>>>0)<($194>>>0); + if ($195) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $172 = ((($15)) + 8|0); + $173 = HEAP32[$172>>2]|0; + $174 = HEAP32[(35468)>>2]|0; + $175 = ($173>>>0)<($174>>>0); + if ($175) { + _abort(); + // unreachable; + } + $176 = ((($173)) + 12|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==($15|0); + if (!($178)) { + _abort(); + // unreachable; + } + $179 = ((($170)) + 8|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==($15|0); + if ($181) { + HEAP32[$176>>2] = $170; + HEAP32[$179>>2] = $173; + $$3400 = $170; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $196 = ($168|0)==(0|0); + if (!($196)) { + $197 = ((($15)) + 28|0); + $198 = HEAP32[$197>>2]|0; + $199 = (35756 + ($198<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($15|0)==($200|0); + do { + if ($201) { + HEAP32[$199>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $202 = 1 << $198; + $203 = $202 ^ -1; + $204 = HEAP32[(35456)>>2]|0; + $205 = $204 & $203; + HEAP32[(35456)>>2] = $205; + break L106; + } + } else { + $206 = HEAP32[(35468)>>2]|0; + $207 = ($168>>>0)<($206>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($168)) + 16|0); + $209 = HEAP32[$208>>2]|0; + $not$ = ($209|0)!=($15|0); + $$sink5 = $not$&1; + $210 = (((($168)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$210>>2] = $$3400; + $211 = ($$3400|0)==(0|0); + if ($211) { + break L106; + } else { + break; + } + } + } + } while(0); + $212 = HEAP32[(35468)>>2]|0; + $213 = ($$3400>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } + $214 = ((($$3400)) + 24|0); + HEAP32[$214>>2] = $168; + $215 = ((($15)) + 16|0); + $216 = HEAP32[$215>>2]|0; + $217 = ($216|0)==(0|0); + do { + if (!($217)) { + $218 = ($216>>>0)<($212>>>0); + if ($218) { + _abort(); + // unreachable; + } else { + $219 = ((($$3400)) + 16|0); + HEAP32[$219>>2] = $216; + $220 = ((($216)) + 24|0); + HEAP32[$220>>2] = $$3400; + break; + } + } + } while(0); + $221 = ((($215)) + 4|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + if (!($223)) { + $224 = HEAP32[(35468)>>2]|0; + $225 = ($222>>>0)<($224>>>0); + if ($225) { + _abort(); + // unreachable; + } else { + $226 = ((($$3400)) + 20|0); + HEAP32[$226>>2] = $222; + $227 = ((($222)) + 24|0); + HEAP32[$227>>2] = $$3400; + break; + } + } + } + } + } while(0); + $228 = $140 | 1; + $229 = ((($$1)) + 4|0); + HEAP32[$229>>2] = $228; + $230 = (($118) + ($140)|0); + HEAP32[$230>>2] = $140; + $231 = HEAP32[(35472)>>2]|0; + $232 = ($$1|0)==($231|0); + if ($232) { + HEAP32[(35460)>>2] = $140; + break; + } else { + $$2 = $140; + } + } else { + $233 = $120 & -2; + HEAP32[$119>>2] = $233; + $234 = $$1382 | 1; + $235 = ((($$1)) + 4|0); + HEAP32[$235>>2] = $234; + $236 = (($118) + ($$1382)|0); + HEAP32[$236>>2] = $$1382; + $$2 = $$1382; + } + $237 = $$2 >>> 3; + $238 = ($$2>>>0)<(256); + if ($238) { + $239 = $237 << 1; + $240 = (35492 + ($239<<2)|0); + $241 = HEAP32[8863]|0; + $242 = 1 << $237; + $243 = $241 & $242; + $244 = ($243|0)==(0); + if ($244) { + $245 = $241 | $242; + HEAP32[8863] = $245; + $$pre = ((($240)) + 8|0); + $$0403 = $240;$$pre$phiZ2D = $$pre; + } else { + $246 = ((($240)) + 8|0); + $247 = HEAP32[$246>>2]|0; + $248 = HEAP32[(35468)>>2]|0; + $249 = ($247>>>0)<($248>>>0); + if ($249) { + _abort(); + // unreachable; + } else { + $$0403 = $247;$$pre$phiZ2D = $246; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $250 = ((($$0403)) + 12|0); + HEAP32[$250>>2] = $$1; + $251 = ((($$1)) + 8|0); + HEAP32[$251>>2] = $$0403; + $252 = ((($$1)) + 12|0); + HEAP32[$252>>2] = $240; + break; + } + $253 = $$2 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0396 = 0; + } else { + $255 = ($$2>>>0)>(16777215); + if ($255) { + $$0396 = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $$2 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0396 = $277; + } + } + $278 = (35756 + ($$0396<<2)|0); + $279 = ((($$1)) + 28|0); + HEAP32[$279>>2] = $$0396; + $280 = ((($$1)) + 16|0); + $281 = ((($$1)) + 20|0); + HEAP32[$281>>2] = 0; + HEAP32[$280>>2] = 0; + $282 = HEAP32[(35456)>>2]|0; + $283 = 1 << $$0396; + $284 = $282 & $283; + $285 = ($284|0)==(0); + do { + if ($285) { + $286 = $282 | $283; + HEAP32[(35456)>>2] = $286; + HEAP32[$278>>2] = $$1; + $287 = ((($$1)) + 24|0); + HEAP32[$287>>2] = $278; + $288 = ((($$1)) + 12|0); + HEAP32[$288>>2] = $$1; + $289 = ((($$1)) + 8|0); + HEAP32[$289>>2] = $$1; + } else { + $290 = HEAP32[$278>>2]|0; + $291 = ($$0396|0)==(31); + $292 = $$0396 >>> 1; + $293 = (25 - ($292))|0; + $294 = $291 ? 0 : $293; + $295 = $$2 << $294; + $$0383 = $295;$$0384 = $290; + while(1) { + $296 = ((($$0384)) + 4|0); + $297 = HEAP32[$296>>2]|0; + $298 = $297 & -8; + $299 = ($298|0)==($$2|0); + if ($299) { + label = 126; + break; + } + $300 = $$0383 >>> 31; + $301 = (((($$0384)) + 16|0) + ($300<<2)|0); + $302 = $$0383 << 1; + $303 = HEAP32[$301>>2]|0; + $304 = ($303|0)==(0|0); + if ($304) { + label = 123; + break; + } else { + $$0383 = $302;$$0384 = $303; + } + } + if ((label|0) == 123) { + $305 = HEAP32[(35468)>>2]|0; + $306 = ($301>>>0)<($305>>>0); + if ($306) { + _abort(); + // unreachable; + } else { + HEAP32[$301>>2] = $$1; + $307 = ((($$1)) + 24|0); + HEAP32[$307>>2] = $$0384; + $308 = ((($$1)) + 12|0); + HEAP32[$308>>2] = $$1; + $309 = ((($$1)) + 8|0); + HEAP32[$309>>2] = $$1; + break; + } + } + else if ((label|0) == 126) { + $310 = ((($$0384)) + 8|0); + $311 = HEAP32[$310>>2]|0; + $312 = HEAP32[(35468)>>2]|0; + $313 = ($311>>>0)>=($312>>>0); + $not$437 = ($$0384>>>0)>=($312>>>0); + $314 = $313 & $not$437; + if ($314) { + $315 = ((($311)) + 12|0); + HEAP32[$315>>2] = $$1; + HEAP32[$310>>2] = $$1; + $316 = ((($$1)) + 8|0); + HEAP32[$316>>2] = $311; + $317 = ((($$1)) + 12|0); + HEAP32[$317>>2] = $$0384; + $318 = ((($$1)) + 24|0); + HEAP32[$318>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $319 = HEAP32[(35484)>>2]|0; + $320 = (($319) + -1)|0; + HEAP32[(35484)>>2] = $320; + $321 = ($320|0)==(0); + if ($321) { + $$0212$in$i = (35936); + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $322 = ($$0212$i|0)==(0|0); + $323 = ((($$0212$i)) + 8|0); + if ($322) { + break; + } else { + $$0212$in$i = $323; + } + } + HEAP32[(35484)>>2] = -1; + } + } + } while(0); + $324 = HEAP32[(35896)>>2]|0; + $325 = $324 & 2; + $326 = ($325|0)==(0); + if ($326) { + return; + } + (___pthread_mutex_unlock((35900))|0); + return; +} +function runPostSets() { +} +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 _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 _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 ___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 _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 _llvm_cttz_i32(x) { + x = x|0; + var ret = 0; + ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); + if ((ret|0) < 8) return ret|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 8)|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 16)|0; + return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +function _emscripten_set_current_thread_status(newStatus) { + newStatus = newStatus|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 _emscripten_conditional_set_current_thread_status(expectedStatus, newStatus) { + expectedStatus = expectedStatus|0; + newStatus = newStatus|0; +} +function _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|0; + totalMemory = getTotalMemory()|0; + + // Perform a compare-and-swap loop to update the new dynamic top value. This is because + // this function can becalled simultaneously in multiple threads. + do { + oldDynamicTop = Atomics_load(HEAP32, DYNAMICTOP_PTR>>2)|0; + newDynamicTop = oldDynamicTop + increment | 0; + // Asking to increase dynamic top to a too high value? In pthreads builds we cannot + // enlarge memory, so this needs to fail. + 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. + | (newDynamicTop|0) > (totalMemory|0)) { + abortOnCannotGrowMemory()|0; + } + // Attempt to update the dynamic top to new value. Another thread may have beat this thread to the update, + // in which case we will need to start over by iterating the loop body again. + oldDynamicTopOnChange = Atomics_compareExchange(HEAP32, DYNAMICTOP_PTR>>2, oldDynamicTop|0, newDynamicTop|0)|0; + } while((oldDynamicTopOnChange|0) != (oldDynamicTop|0)); + return oldDynamicTop|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 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&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](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_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|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&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +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&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +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); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,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_ii = [b5,___stdio_close,_PhysicsLoop,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _emscripten_sync_run_in_main_thread_3: _emscripten_sync_run_in_main_thread_3, _roundf: _roundf, _bitshift64Shl: _bitshift64Shl, _emscripten_atomic_load_f32: _emscripten_atomic_load_f32, ___uremdi3: ___uremdi3, ___udivdi3: ___udivdi3, _emscripten_atomic_xor_u64: _emscripten_atomic_xor_u64, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _emscripten_atomic_and_u64: _emscripten_atomic_and_u64, _emscripten_sync_run_in_main_thread: _emscripten_sync_run_in_main_thread, _emscripten_sync_run_in_main_thread_4: _emscripten_sync_run_in_main_thread_4, _emscripten_sync_run_in_main_thread_5: _emscripten_sync_run_in_main_thread_5, _emscripten_sync_run_in_main_thread_6: _emscripten_sync_run_in_main_thread_6, _emscripten_sync_run_in_main_thread_7: _emscripten_sync_run_in_main_thread_7, _emscripten_sync_run_in_main_thread_0: _emscripten_sync_run_in_main_thread_0, _emscripten_sync_run_in_main_thread_1: _emscripten_sync_run_in_main_thread_1, _emscripten_sync_run_in_main_thread_2: _emscripten_sync_run_in_main_thread_2, __emscripten_atomic_fetch_and_sub_u64: __emscripten_atomic_fetch_and_sub_u64, _emscripten_atomic_exchange_u32: _emscripten_atomic_exchange_u32, _fflush: _fflush, _emscripten_set_current_thread_status: _emscripten_set_current_thread_status, _emscripten_atomic_cas_u64: _emscripten_atomic_cas_u64, _memset: _memset, _emscripten_atomic_sub_u64: _emscripten_atomic_sub_u64, _emscripten_sync_run_in_main_thread_xprintf_varargs: _emscripten_sync_run_in_main_thread_xprintf_varargs, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, __emscripten_atomic_fetch_and_and_u64: __emscripten_atomic_fetch_and_and_u64, _emscripten_atomic_add_u64: _emscripten_atomic_add_u64, _emscripten_atomic_store_f64: _emscripten_atomic_store_f64, ___muldsi3: ___muldsi3, __emscripten_atomic_fetch_and_xor_u64: __emscripten_atomic_fetch_and_xor_u64, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_atomic_store_u64: _emscripten_atomic_store_u64, _emscripten_atomic_load_f64: _emscripten_atomic_load_f64, _emscripten_get_global_libc: _emscripten_get_global_libc, __emscripten_atomic_fetch_and_add_u64: __emscripten_atomic_fetch_and_add_u64, __emscripten_atomic_fetch_and_or_u64: __emscripten_atomic_fetch_and_or_u64, _emscripten_GetProcAddress: _emscripten_GetProcAddress, _emscripten_async_run_in_main_thread: _emscripten_async_run_in_main_thread, ___errno_location: ___errno_location, _main: _main, _emscripten_main_thread_process_queued_calls: _emscripten_main_thread_process_queued_calls, _emscripten_atomic_load_u64: _emscripten_atomic_load_u64, _free: _free, _emscripten_atomic_store_f32: _emscripten_atomic_store_f32, _emscripten_atomic_exchange_u64: _emscripten_atomic_exchange_u64, _memmove: _memmove, ___pthread_tsd_run_dtors: ___pthread_tsd_run_dtors, _malloc: _malloc, _memcpy: _memcpy, _emscripten_conditional_set_current_thread_status: _emscripten_conditional_set_current_thread_status, _sbrk: _sbrk, _emscripten_atomic_or_u64: _emscripten_atomic_or_u64, _strstr: _strstr, ___emscripten_pthread_data_constructor: ___emscripten_pthread_data_constructor, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real___emscripten_atomic_fetch_and_xor_u64 = asm["__emscripten_atomic_fetch_and_xor_u64"]; asm["__emscripten_atomic_fetch_and_xor_u64"] = 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_atomic_fetch_and_xor_u64.apply(null, arguments); +}; + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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__emscripten_atomic_load_f32 = asm["_emscripten_atomic_load_f32"]; asm["_emscripten_atomic_load_f32"] = 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_atomic_load_f32.apply(null, arguments); +}; + +var real____emscripten_pthread_data_constructor = asm["___emscripten_pthread_data_constructor"]; asm["___emscripten_pthread_data_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_pthread_data_constructor.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 real__emscripten_atomic_xor_u64 = asm["_emscripten_atomic_xor_u64"]; asm["_emscripten_atomic_xor_u64"] = 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_atomic_xor_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_u64 = asm["_emscripten_atomic_load_u64"]; asm["_emscripten_atomic_load_u64"] = 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_atomic_load_u64.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__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_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__emscripten_atomic_and_u64 = asm["_emscripten_atomic_and_u64"]; asm["_emscripten_atomic_and_u64"] = 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_atomic_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread = asm["_emscripten_sync_run_in_main_thread"]; asm["_emscripten_sync_run_in_main_thread"] = 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_sync_run_in_main_thread.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_4 = asm["_emscripten_sync_run_in_main_thread_4"]; asm["_emscripten_sync_run_in_main_thread_4"] = 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_sync_run_in_main_thread_4.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_5 = asm["_emscripten_sync_run_in_main_thread_5"]; asm["_emscripten_sync_run_in_main_thread_5"] = 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_sync_run_in_main_thread_5.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_6 = asm["_emscripten_sync_run_in_main_thread_6"]; asm["_emscripten_sync_run_in_main_thread_6"] = 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_sync_run_in_main_thread_6.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_7 = asm["_emscripten_sync_run_in_main_thread_7"]; asm["_emscripten_sync_run_in_main_thread_7"] = 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_sync_run_in_main_thread_7.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_0 = asm["_emscripten_sync_run_in_main_thread_0"]; asm["_emscripten_sync_run_in_main_thread_0"] = 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_sync_run_in_main_thread_0.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_1 = asm["_emscripten_sync_run_in_main_thread_1"]; asm["_emscripten_sync_run_in_main_thread_1"] = 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_sync_run_in_main_thread_1.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_2 = asm["_emscripten_sync_run_in_main_thread_2"]; asm["_emscripten_sync_run_in_main_thread_2"] = 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_sync_run_in_main_thread_2.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_sub_u64 = asm["__emscripten_atomic_fetch_and_sub_u64"]; asm["__emscripten_atomic_fetch_and_sub_u64"] = 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_atomic_fetch_and_sub_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_exchange_u32 = asm["_emscripten_atomic_exchange_u32"]; asm["_emscripten_atomic_exchange_u32"] = 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_atomic_exchange_u32.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__emscripten_set_current_thread_status = asm["_emscripten_set_current_thread_status"]; asm["_emscripten_set_current_thread_status"] = 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_set_current_thread_status.apply(null, arguments); +}; + +var real__emscripten_atomic_cas_u64 = asm["_emscripten_atomic_cas_u64"]; asm["_emscripten_atomic_cas_u64"] = 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_atomic_cas_u64.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__emscripten_atomic_sub_u64 = asm["_emscripten_atomic_sub_u64"]; asm["_emscripten_atomic_sub_u64"] = 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_atomic_sub_u64.apply(null, arguments); +}; + +var real__main = asm["_main"]; asm["_main"] = 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__main.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_xprintf_varargs = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = 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_sync_run_in_main_thread_xprintf_varargs.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___emscripten_atomic_fetch_and_and_u64 = asm["__emscripten_atomic_fetch_and_and_u64"]; asm["__emscripten_atomic_fetch_and_and_u64"] = 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_atomic_fetch_and_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_3 = asm["_emscripten_sync_run_in_main_thread_3"]; asm["_emscripten_sync_run_in_main_thread_3"] = 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_sync_run_in_main_thread_3.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_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__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_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__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__emscripten_atomic_store_u64 = asm["_emscripten_atomic_store_u64"]; asm["_emscripten_atomic_store_u64"] = 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_atomic_store_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f64 = asm["_emscripten_atomic_load_f64"]; asm["_emscripten_atomic_load_f64"] = 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_atomic_load_f64.apply(null, arguments); +}; + +var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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_get_global_libc.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_add_u64 = asm["__emscripten_atomic_fetch_and_add_u64"]; asm["__emscripten_atomic_fetch_and_add_u64"] = 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_atomic_fetch_and_add_u64.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_or_u64 = asm["__emscripten_atomic_fetch_and_or_u64"]; asm["__emscripten_atomic_fetch_and_or_u64"] = 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_atomic_fetch_and_or_u64.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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_GetProcAddress.apply(null, arguments); +}; + +var real__emscripten_async_run_in_main_thread = asm["_emscripten_async_run_in_main_thread"]; asm["_emscripten_async_run_in_main_thread"] = 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_async_run_in_main_thread.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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.apply(null, arguments); +}; + +var real__emscripten_main_thread_process_queued_calls = asm["_emscripten_main_thread_process_queued_calls"]; asm["_emscripten_main_thread_process_queued_calls"] = 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_main_thread_process_queued_calls.apply(null, arguments); +}; + +var real__emscripten_atomic_add_u64 = asm["_emscripten_atomic_add_u64"]; asm["_emscripten_atomic_add_u64"] = 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_atomic_add_u64.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__emscripten_atomic_store_f32 = asm["_emscripten_atomic_store_f32"]; asm["_emscripten_atomic_store_f32"] = 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_atomic_store_f32.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__emscripten_atomic_exchange_u64 = asm["_emscripten_atomic_exchange_u64"]; asm["_emscripten_atomic_exchange_u64"] = 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_atomic_exchange_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_store_f64 = asm["_emscripten_atomic_store_f64"]; asm["_emscripten_atomic_store_f64"] = 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_atomic_store_f64.apply(null, arguments); +}; + +var real____pthread_tsd_run_dtors = asm["___pthread_tsd_run_dtors"]; asm["___pthread_tsd_run_dtors"] = 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_tsd_run_dtors.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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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_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__emscripten_conditional_set_current_thread_status = asm["_emscripten_conditional_set_current_thread_status"]; asm["_emscripten_conditional_set_current_thread_status"] = 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_conditional_set_current_thread_status.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__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__emscripten_atomic_or_u64 = asm["_emscripten_atomic_or_u64"]; asm["_emscripten_atomic_or_u64"] = 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_atomic_or_u64.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.apply(null, arguments); +}; +var __emscripten_atomic_fetch_and_xor_u64 = Module["__emscripten_atomic_fetch_and_xor_u64"] = asm["__emscripten_atomic_fetch_and_xor_u64"]; +var _roundf = Module["_roundf"] = asm["_roundf"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _emscripten_atomic_load_f32 = Module["_emscripten_atomic_load_f32"] = asm["_emscripten_atomic_load_f32"]; +var ___emscripten_pthread_data_constructor = Module["___emscripten_pthread_data_constructor"] = asm["___emscripten_pthread_data_constructor"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var _emscripten_atomic_xor_u64 = Module["_emscripten_atomic_xor_u64"] = asm["_emscripten_atomic_xor_u64"]; +var _emscripten_atomic_load_u64 = Module["_emscripten_atomic_load_u64"] = asm["_emscripten_atomic_load_u64"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _emscripten_atomic_and_u64 = Module["_emscripten_atomic_and_u64"] = asm["_emscripten_atomic_and_u64"]; +var _emscripten_sync_run_in_main_thread = Module["_emscripten_sync_run_in_main_thread"] = asm["_emscripten_sync_run_in_main_thread"]; +var _emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = asm["_emscripten_sync_run_in_main_thread_4"]; +var _emscripten_sync_run_in_main_thread_5 = Module["_emscripten_sync_run_in_main_thread_5"] = asm["_emscripten_sync_run_in_main_thread_5"]; +var _emscripten_sync_run_in_main_thread_6 = Module["_emscripten_sync_run_in_main_thread_6"] = asm["_emscripten_sync_run_in_main_thread_6"]; +var _emscripten_sync_run_in_main_thread_7 = Module["_emscripten_sync_run_in_main_thread_7"] = asm["_emscripten_sync_run_in_main_thread_7"]; +var _emscripten_sync_run_in_main_thread_0 = Module["_emscripten_sync_run_in_main_thread_0"] = asm["_emscripten_sync_run_in_main_thread_0"]; +var _emscripten_sync_run_in_main_thread_1 = Module["_emscripten_sync_run_in_main_thread_1"] = asm["_emscripten_sync_run_in_main_thread_1"]; +var _emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = asm["_emscripten_sync_run_in_main_thread_2"]; +var __emscripten_atomic_fetch_and_sub_u64 = Module["__emscripten_atomic_fetch_and_sub_u64"] = asm["__emscripten_atomic_fetch_and_sub_u64"]; +var _emscripten_atomic_exchange_u32 = Module["_emscripten_atomic_exchange_u32"] = asm["_emscripten_atomic_exchange_u32"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _emscripten_set_current_thread_status = Module["_emscripten_set_current_thread_status"] = asm["_emscripten_set_current_thread_status"]; +var _emscripten_atomic_cas_u64 = Module["_emscripten_atomic_cas_u64"] = asm["_emscripten_atomic_cas_u64"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _emscripten_atomic_sub_u64 = Module["_emscripten_atomic_sub_u64"] = asm["_emscripten_atomic_sub_u64"]; +var _main = Module["_main"] = asm["_main"]; +var _emscripten_sync_run_in_main_thread_xprintf_varargs = Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var __emscripten_atomic_fetch_and_and_u64 = Module["__emscripten_atomic_fetch_and_and_u64"] = asm["__emscripten_atomic_fetch_and_and_u64"]; +var _emscripten_sync_run_in_main_thread_3 = Module["_emscripten_sync_run_in_main_thread_3"] = asm["_emscripten_sync_run_in_main_thread_3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_atomic_store_u64 = Module["_emscripten_atomic_store_u64"] = asm["_emscripten_atomic_store_u64"]; +var _emscripten_atomic_load_f64 = Module["_emscripten_atomic_load_f64"] = asm["_emscripten_atomic_load_f64"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var __emscripten_atomic_fetch_and_add_u64 = Module["__emscripten_atomic_fetch_and_add_u64"] = asm["__emscripten_atomic_fetch_and_add_u64"]; +var __emscripten_atomic_fetch_and_or_u64 = Module["__emscripten_atomic_fetch_and_or_u64"] = asm["__emscripten_atomic_fetch_and_or_u64"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var _emscripten_async_run_in_main_thread = Module["_emscripten_async_run_in_main_thread"] = asm["_emscripten_async_run_in_main_thread"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = asm["_emscripten_main_thread_process_queued_calls"]; +var _emscripten_atomic_add_u64 = Module["_emscripten_atomic_add_u64"] = asm["_emscripten_atomic_add_u64"]; +var _free = Module["_free"] = asm["_free"]; +var _emscripten_atomic_store_f32 = Module["_emscripten_atomic_store_f32"] = asm["_emscripten_atomic_store_f32"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _emscripten_atomic_exchange_u64 = Module["_emscripten_atomic_exchange_u64"] = asm["_emscripten_atomic_exchange_u64"]; +var _emscripten_atomic_store_f64 = Module["_emscripten_atomic_store_f64"] = asm["_emscripten_atomic_store_f64"]; +var ___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = asm["___pthread_tsd_run_dtors"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _emscripten_conditional_set_current_thread_status = Module["_emscripten_conditional_set_current_thread_status"] = asm["_emscripten_conditional_set_current_thread_status"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _emscripten_atomic_or_u64 = Module["_emscripten_atomic_or_u64"] = asm["_emscripten_atomic_or_u64"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +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 +} + +Module['callMain'] = Module.callMain = function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); + assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); + + args = args || []; + + ensureInitRuntime(); + + var argc = args.length+1; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + try { + + var ret = Module['_main'](argc, argv, 0); + + + // if we're not running an evented main loop, it's time to exit + exit(ret, /* implicit = */ true); + } + catch(e) { + if (e instanceof ExitStatus) { + // exit() throws this once it's done to make sure execution + // has been stopped completely + return; + } else if (e == 'SimulateInfiniteLoop') { + // running an evented main loop, don't immediately exit + Module['noExitRuntime'] = true; + return; + } else { + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); + } + } finally { + calledMain = true; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (Module['_main'] && shouldRunNow) Module['callMain'](args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + checkStackCookie(); +} +Module['run'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); + } else { + PThread.terminateAllThreads(); + + ABORT = true; + EXITSTATUS = status; + STACKTOP = initialStackTop; + + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } + + if (ENVIRONMENT_IS_NODE) { + process['exit'](status); + } + Module['quit'](status, new ExitStatus(status)); +} +Module['exit'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(what) { + if (ENVIRONMENT_IS_PTHREAD) console.error('Pthread aborting at ' + new Error().stack); + if (what !== undefined) { + Module.print(what); + Module.printErr(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'] = Module.abort = abort; + +// {{PRE_RUN_ADDITIONS}} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; +if (Module['noInitialRun']) { + shouldRunNow = false; +} + + +if (!ENVIRONMENT_IS_PTHREAD) run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/img/physac/physics_shatter.png b/docs/examples/web/physac/physics_shatter.png similarity index 100% rename from docs/examples/img/physac/physics_shatter.png rename to docs/examples/web/physac/physics_shatter.png diff --git a/docs/examples/web/physac/pthread-main.js b/docs/examples/web/physac/pthread-main.js new file mode 100644 index 000000000..3f0943108 --- /dev/null +++ b/docs/examples/web/physac/pthread-main.js @@ -0,0 +1,115 @@ +// Pthread Web Worker startup routine: +// This is the entry point file that is loaded first by each Web Worker +// that executes pthreads on the Emscripten application. + +// Thread-local: +var threadInfoStruct = 0; // Info area for this thread in Emscripten HEAP (shared). If zero, this worker is not currently hosting an executing pthread. +var selfThreadId = 0; // The ID of this thread. 0 if not hosting a pthread. +var parentThreadId = 0; // The ID of the parent pthread that launched this thread. +var tempDoublePtr = 0; // A temporary memory area for global float and double marshalling operations. + +// Thread-local: Each thread has its own allocated stack space. +var STACK_BASE = 0; +var STACKTOP = 0; +var STACK_MAX = 0; + +// These are system-wide memory area parameters that are set at main runtime startup in main thread, and stay constant throughout the application. +var buffer; // All pthreads share the same Emscripten HEAP as SharedArrayBuffer with the main execution thread. +var DYNAMICTOP_PTR = 0; +var TOTAL_MEMORY = 0; +var STATICTOP = 0; +var staticSealed = true; // When threads are being initialized, the static memory area has been already sealed a long time ago. +var DYNAMIC_BASE = 0; + +var ENVIRONMENT_IS_PTHREAD = true; + +// Cannot use console.log or console.error in a web worker, since that would risk a browser deadlock! https://bugzilla.mozilla.org/show_bug.cgi?id=1049091 +// Therefore implement custom logging facility for threads running in a worker, which queue the messages to main thread to print. +var Module = {}; + +function threadPrint() { + var text = Array.prototype.slice.call(arguments).join(' '); + console.log(text); +} +function threadPrintErr() { + var text = Array.prototype.slice.call(arguments).join(' '); + console.error(text); +} +function threadAlert() { + var text = Array.prototype.slice.call(arguments).join(' '); + postMessage({cmd: 'alert', text: text, threadId: selfThreadId}); +} +Module['print'] = threadPrint; +Module['printErr'] = threadPrintErr; +this.alert = threadAlert; + +this.onmessage = function(e) { + if (e.data.cmd === 'load') { // Preload command that is called once per worker to parse and load the Emscripten code. + // Initialize the thread-local field(s): + tempDoublePtr = e.data.tempDoublePtr; + + // Initialize the global "process"-wide fields: + buffer = e.data.buffer; + Module['TOTAL_MEMORY'] = TOTAL_MEMORY = e.data.TOTAL_MEMORY; + STATICTOP = e.data.STATICTOP; + DYNAMIC_BASE = e.data.DYNAMIC_BASE; + DYNAMICTOP_PTR = e.data.DYNAMICTOP_PTR; + + PthreadWorkerInit = e.data.PthreadWorkerInit; + importScripts(e.data.url); + if (typeof FS !== 'undefined') FS.createStandardStreams(); + postMessage({ cmd: 'loaded' }); + } else if (e.data.cmd === 'objectTransfer') { + PThread.receiveObjectTransfer(e.data); + } else if (e.data.cmd === 'run') { // This worker was idle, and now should start executing its pthread entry point. + threadInfoStruct = e.data.threadInfoStruct; + __register_pthread_ptr(threadInfoStruct, /*isMainBrowserThread=*/0, /*isMainRuntimeThread=*/0); // Pass the thread address inside the asm.js scope to store it for fast access that avoids the need for a FFI out. + assert(threadInfoStruct); + selfThreadId = e.data.selfThreadId; + parentThreadId = e.data.parentThreadId; + assert(selfThreadId); + assert(parentThreadId); + // TODO: Emscripten runtime has these variables twice(!), once outside the asm.js module, and a second time inside the asm.js module. + // Review why that is? Can those get out of sync? + STACK_BASE = STACKTOP = e.data.stackBase; + STACK_MAX = STACK_BASE + e.data.stackSize; + assert(STACK_BASE != 0); + assert(STACK_MAX > STACK_BASE); + Runtime.establishStackSpace(e.data.stackBase, e.data.stackBase + e.data.stackSize); + var result = 0; + + PThread.receiveObjectTransfer(e.data); + + PThread.setThreadStatus(_pthread_self(), 1/*EM_THREAD_STATUS_RUNNING*/); + + try { + // HACK: Some code in the wild has instead signatures of form 'void *ThreadMain()', which seems to be ok in native code. + // To emulate supporting both in test suites, use the following form. This is brittle! + if (typeof asm['dynCall_ii'] !== 'undefined') { + result = asm.dynCall_ii(e.data.start_routine, e.data.arg); // pthread entry points are always of signature 'void *ThreadMain(void *arg)' + } else { + result = asm.dynCall_i(e.data.start_routine); // as a hack, try signature 'i' as fallback. + } + } catch(e) { + if (e === 'Canceled!') { + PThread.threadCancel(); + return; + } else { + Atomics.store(HEAPU32, (threadInfoStruct + 4 /*{{{ C_STRUCTS.pthread.threadExitCode }}}*/ ) >> 2, -2 /*A custom entry specific to Emscripten denoting that the thread crashed.*/); + Atomics.store(HEAPU32, (threadInfoStruct + 0 /*{{{ C_STRUCTS.pthread.threadStatus }}}*/ ) >> 2, 1); // Mark the thread as no longer running. + _emscripten_futex_wake(threadInfoStruct + 0 /*{{{ C_STRUCTS.pthread.threadStatus }}}*/, 0x7FFFFFFF/*INT_MAX*/); // wake all threads + throw e; + } + } + // The thread might have finished without calling pthread_exit(). If so, then perform the exit operation ourselves. + // (This is a no-op if explicit pthread_exit() had been called prior.) + if (!Module['noExitRuntime']) PThread.threadExit(result); + else console.log('pthread noExitRuntime: not quitting.'); + } else if (e.data.cmd === 'cancel') { // Main thread is asking for a pthread_cancel() on this thread. + if (threadInfoStruct && PThread.thisThreadCancelState == 0/*PTHREAD_CANCEL_ENABLE*/) { + PThread.threadCancel(); + } + } else { + Module['printErr']('pthread-main.js received unknown command ' + e.data.cmd); + } +} diff --git a/docs/examples/web/shaders/loader.html b/docs/examples/web/shaders/loader.html new file mode 100644 index 000000000..93d7260f3 --- /dev/null +++ b/docs/examples/web/shaders/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/shaders/resources/fudesumi.png b/docs/examples/web/shaders/resources/fudesumi.png new file mode 100644 index 000000000..8ba983dc2 Binary files /dev/null and b/docs/examples/web/shaders/resources/fudesumi.png differ diff --git a/docs/examples/web/shaders/resources/sonic.png b/docs/examples/web/shaders/resources/sonic.png deleted file mode 100644 index 7a0968471..000000000 Binary files a/docs/examples/web/shaders/resources/sonic.png and /dev/null differ diff --git a/docs/examples/web/shaders/shaders_custom_uniform.js b/docs/examples/web/shaders/shaders_custom_uniform.js index e3488076a..db7cf56eb 100644 --- a/docs/examples/web/shaders/shaders_custom_uniform.js +++ b/docs/examples/web/shaders/shaders_custom_uniform.js @@ -185,7 +185,7 @@ Module['FS_createPath']('/resources/shaders', 'glsl100', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}, {"audio": 0, "start": 4022872, "crunched": 0, "end": 4023477, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 4023477, "crunched": 0, "end": 4024528, "filename": "/resources/shaders/glsl100/swirl.fs"}], "remote_package_size": 4024528, "package_uuid": "33a05fe0-9802-46ef-8b6b-ffcb4955ff56"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}, {"audio": 0, "start": 4022872, "crunched": 0, "end": 4023477, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 4023477, "crunched": 0, "end": 4024528, "filename": "/resources/shaders/glsl100/swirl.fs"}], "remote_package_size": 4024528, "package_uuid": "010211d3-4fc3-4a57-a8ff-1c7b4cfb038d"}); })(); @@ -1778,12 +1778,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 24512; +STATICTOP = STATIC_BASE + 24496; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,183,91,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,99,117,115,116,111,109,32,117,110,105,102,111,114,109,32,118,97,114,105,97,98,108,101,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,115,119,105,114,108,46,102,115,0,99,101,110,116,101,114,0,84,69,88,84,32,68,82,65,87,78,32,73,78,32,82,69,78,68,69,82,32,84,69,88,84,85,82,69,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,46,46,46,0,70,114,97,109,101,98,117,102,102,101,114,32,105,115,32,117,110,115,117,112,112,111,114,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,97,116,116,97,99,104,109,101,110,116,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,100,105,109,101,110,115,105,111,110,115,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,109,105,115,115,105,110,103,32,97,116,116,97,99,104,109,101,110,116,0,91,70,66,79,32,73,68,32,37,105,93,32,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,108,111,99,97,116,105,111,110,32,102,111,114,32,37,115,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,83,104,97,100,101,114,32,118,97,108,117,101,32,102,108,111,97,116,32,97,114,114,97,121,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,99,97,110,39], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,167,91,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,99,117,115,116,111,109,32,117,110,105,102,111,114,109,32,118,97,114,105,97,98,108,101,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,115,119,105,114,108,46,102,115,0,99,101,110,116,101,114,0,84,69,88,84,32,68,82,65,87,78,32,73,78,32,82,69,78,68,69,82,32,84,69,88,84,85,82,69,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,46,46,46,0,70,114,97,109,101,98,117,102,102,101,114,32,105,115,32,117,110,115,117,112,112,111,114,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,97,116,116,97,99,104,109,101,110,116,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,100,105,109,101,110,115,105,111,110,115,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,109,105,115,115,105,110,103,32,97,116,116,97,99,104,109,101,110,116,0,91,70,66,79,32,73,68,32,37,105,93,32,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,108,111,99,97,116,105,111,110,32,102,111,114,32,37,115,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,83,104,97,100,101,114,32,118,97,108,117,101,32,102,108,111,97,116,32,97,114,114,97,121,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10665,34 +10665,34 @@ function _main() { $5 = HEAP32[3]|0; _InitWindow($4,$5,4448); _LoadModel($0,4499); - _memcpy((18508|0),($0|0),264)|0; + _memcpy((18812|0),($0|0),264)|0; _LoadTexture($1,4525); - ;HEAP32[18772>>2]=HEAP32[$1>>2]|0;HEAP32[18772+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18772+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18772+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18772+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[(18696)>>2]=HEAP32[$1>>2]|0;HEAP32[(18696)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18696)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18696)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18696)+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[19076>>2]=HEAP32[$1>>2]|0;HEAP32[19076+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19076+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19076+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19076+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[(19000)>>2]=HEAP32[$1>>2]|0;HEAP32[(19000)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(19000)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(19000)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(19000)+16>>2]=HEAP32[$1+16>>2]|0; _LoadShader($2,4559,4593); - dest=18792; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19096; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$dwarf$byval_copy; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $6 = (_GetShaderLocation($dwarf$byval_copy,4628)|0); - HEAP32[4712] = $6; + HEAP32[4788] = $6; $7 = HEAP32[2]|0; $8 = (+($7|0)); $9 = $8 * 0.5; - HEAPF32[4713] = $9; + HEAPF32[4789] = $9; $10 = HEAP32[3]|0; $11 = (+($10|0)); $12 = $11 * 0.5; - HEAPF32[(18856)>>2] = $12; + HEAPF32[(19160)>>2] = $12; $13 = HEAP32[2]|0; _LoadRenderTexture($3,$13,$10); - dest=18860; src=$3; 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)); + dest=19164; src=$3; 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)); dest=$dwarf$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetCameraMode($dwarf$byval_copy,2); _emscripten_set_main_loop((1|0),0,1); - dest=$dwarf$byval_copy; src=18792; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$dwarf$byval_copy; src=19096; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadShader($dwarf$byval_copy); - ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[18772>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[18772+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[18772+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[18772+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[18772+16>>2]|0; + ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[19076>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[19076+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[19076+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[19076+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[19076+16>>2]|0; _UnloadTexture($dwarf$byval_copy); - _memcpy(($dwarf$byval_copy|0),(18508|0),264)|0; + _memcpy(($dwarf$byval_copy|0),(18812|0),264)|0; _UnloadModel($dwarf$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10717,16 +10717,16 @@ function _UpdateDrawFrame() { $7 = sp + 400|0; _GetMousePosition($0); $8 = HEAP32[$0>>2]|0; - HEAP32[4713] = $8; + HEAP32[4789] = $8; $9 = HEAP32[3]|0; $10 = (+($9|0)); $11 = ((($0)) + 4|0); $12 = +HEAPF32[$11>>2]; $13 = $10 - $12; - HEAPF32[(18856)>>2] = $13; - $14 = HEAP32[4712]|0; - dest=$$byval_copy6; src=18792; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValue($$byval_copy6,$14,18852,2); + HEAPF32[(19160)>>2] = $13; + $14 = HEAP32[4788]|0; + dest=$$byval_copy6; src=19096; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetShaderValue($$byval_copy6,$14,19156,2); _UpdateCamera(16); _BeginDrawing(); HEAP8[$1>>0] = -11; @@ -10738,13 +10738,13 @@ function _UpdateDrawFrame() { HEAP8[$17>>0] = -1; ;HEAP8[$$byval_copy6>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$1+3>>0]|0; _ClearBackground($$byval_copy6); - dest=$$byval_copy6; src=18860; 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)); + dest=$$byval_copy6; src=19164; 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)); _BeginTextureMode($$byval_copy6); dest=$$byval_copy6; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _Begin3dMode($$byval_copy6); HEAP32[$2>>2] = -1; - _memcpy(($$byval_copy4|0),(18508|0),264)|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[18496>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[18496+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[18496+8>>2]|0; + _memcpy(($$byval_copy4|0),(18812|0),264)|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[18800>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[18800+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[18800+8>>2]|0; ;HEAP8[$$byval_copy6>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$2+3>>0]|0; _DrawModel($$byval_copy4,$$byval_copy5,2.0,$$byval_copy6); _DrawGrid(10,1.0); @@ -10759,23 +10759,23 @@ function _UpdateDrawFrame() { ;HEAP8[$$byval_copy6>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$3+3>>0]|0; _DrawText(4635,200,10,30,$$byval_copy6); _EndTextureMode(); - dest=$$byval_copy6; src=18792; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy6; src=19096; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginShaderMode($$byval_copy6); HEAP32[$4>>2] = 0; $21 = ((($4)) + 4|0); HEAP32[$21>>2] = 0; $22 = ((($4)) + 8|0); - $23 = HEAP32[(18868)>>2]|0; + $23 = HEAP32[(19172)>>2]|0; HEAP32[$22>>2] = $23; $24 = ((($4)) + 12|0); - $25 = HEAP32[(18872)>>2]|0; + $25 = HEAP32[(19176)>>2]|0; $26 = (0 - ($25))|0; HEAP32[$24>>2] = $26; HEAPF32[$5>>2] = 0.0; $27 = ((($5)) + 4|0); HEAPF32[$27>>2] = 0.0; HEAP32[$6>>2] = -1; - ;HEAP32[$$byval_copy3>>2]=HEAP32[(18864)>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[(18864)+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[(18864)+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[(18864)+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[(18864)+16>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[(19168)>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[(19168)+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[(19168)+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[(19168)+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[(19168)+16>>2]|0; ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$4+12>>2]|0; ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0; ;HEAP8[$$byval_copy6>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$6+3>>0]|0; @@ -10798,30 +10798,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -10974,13 +11024,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11969,7 +12012,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4727] = $2; + HEAP32[4803] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11982,7 +12025,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 18216; + $95 = 18520; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11995,48 +12038,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 18256; + $106 = 18560; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4564]; - $111 = +HEAPF32[4554]; + $110 = +HEAPF32[4640]; + $111 = +HEAPF32[4630]; $112 = $110 - $111; - HEAPF32[4566] = $112; - $113 = +HEAPF32[(18260)>>2]; - $114 = +HEAPF32[(18220)>>2]; + HEAPF32[4642] = $112; + $113 = +HEAPF32[(18564)>>2]; + $114 = +HEAPF32[(18524)>>2]; $115 = $113 - $114; - HEAPF32[(18268)>>2] = $115; - HEAP32[4726] = 4; + HEAPF32[(18572)>>2] = $115; + HEAP32[4802] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18248>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18248+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18272+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18552>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18552+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18576>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18576+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4732] = $116; - $117 = 18248; + HEAPF32[4808] = $116; + $117 = 18552; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 18216; + $123 = 18520; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 18272; + $127 = 18576; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 18256; + $133 = 18560; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -12049,7 +12092,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 18248; + $144 = 18552; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -12062,27 +12105,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 18272; + $155 = 18576; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4568]; - $160 = +HEAPF32[4562]; + $159 = +HEAPF32[4644]; + $160 = +HEAPF32[4638]; $161 = $159 - $160; - HEAPF32[4566] = $161; - $162 = +HEAPF32[(18276)>>2]; - $163 = +HEAPF32[(18252)>>2]; + HEAPF32[4642] = $161; + $162 = +HEAPF32[(18580)>>2]; + $163 = +HEAPF32[(18556)>>2]; $164 = $162 - $163; - HEAPF32[(18268)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18248>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18248+4>>2]|0; + HEAPF32[(18572)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18520>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18520+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18552>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18552+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18256>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18256+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18272+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18560>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18560+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18576>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18576+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -12094,31 +12137,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18248>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18248+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18272+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18552>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18552+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18576>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18576+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4732]; + $170 = +HEAPF32[4808]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4726] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18248>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18248+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18272+4>>2]|0; + HEAP32[4802] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18552>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18552+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18576>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18576+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4733] = $174; + HEAPF32[4809] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4732] = 0.0; - HEAPF32[4733] = 0.0; - HEAPF32[4566] = 0.0; - HEAPF32[(18268)>>2] = 0.0; - HEAP32[4727] = 0; - HEAP32[4726] = 0; + HEAPF32[4808] = 0.0; + HEAPF32[4809] = 0.0; + HEAPF32[4642] = 0.0; + HEAPF32[(18572)>>2] = 0.0; + HEAP32[4803] = 0; + HEAP32[4802] = 0; STACKTOP = sp;return; break; } @@ -12128,22 +12171,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4728]|0; + $6 = HEAP32[4804]|0; $7 = (($6) + 1)|0; - HEAP32[4728] = $7; - $8 = HEAP32[4726]|0; + HEAP32[4804] = $7; + $8 = HEAP32[4802]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18216+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18520>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18520+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4726] = 2; - HEAP32[4728] = 0; + HEAP32[4802] = 2; + HEAP32[4804] = 0; } else { label = 6; } @@ -12151,8 +12194,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4728] = 1; - HEAP32[4726] = 1; + HEAP32[4804] = 1; + HEAP32[4802] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12161,19 +12204,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 18216; + $21 = 18520; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 18224; + $25 = 18528; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 18232; + $29 = 18536; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12182,13 +12225,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[14] = $34; - HEAPF32[4560] = 0.0; - HEAPF32[(18244)>>2] = 0.0; + HEAPF32[4636] = 0.0; + HEAPF32[(18548)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4726]|0; + $35 = HEAP32[4802]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12198,19 +12241,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 18232; + $44 = 18536; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18232>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18232+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18520>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18520+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18536>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18536+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4729] = $49; - HEAP32[4730] = 0; + HEAPF32[4805] = $49; + HEAP32[4806] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[14]|0; @@ -12218,11 +12261,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18232>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18232+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18520>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18520+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18536>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18536+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4731] = $56; + HEAPF32[4807] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12253,22 +12296,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4729] = 0.0; - HEAPF32[4731] = 0.0; + HEAPF32[4805] = 0.0; + HEAPF32[4807] = 0.0; $$sink10 = 0; } - HEAP32[4726] = $$sink10; - HEAPF32[4556] = 0.0; - HEAPF32[(18228)>>2] = 0.0; - HEAP32[4727] = 0; + HEAP32[4802] = $$sink10; + HEAPF32[4632] = 0.0; + HEAPF32[(18532)>>2] = 0.0; + HEAP32[4803] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4730]|0; + $65 = HEAP32[4806]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4730] = 1; + HEAP32[4806] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12277,31 +12320,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 18248; + $74 = 18552; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4726]|0; + $78 = HEAP32[4802]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18248>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18248+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18520>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18520+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18552>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18552+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4726] = 8; + HEAP32[4802] = 8; } } - $82 = +HEAPF32[4562]; - $83 = +HEAPF32[4556]; + $82 = +HEAPF32[4638]; + $83 = +HEAPF32[4632]; $84 = $82 - $83; - HEAPF32[4560] = $84; - $85 = +HEAPF32[(18252)>>2]; - $86 = +HEAPF32[(18228)>>2]; + HEAPF32[4636] = $84; + $85 = +HEAPF32[(18556)>>2]; + $86 = +HEAPF32[(18532)>>2]; $87 = $85 - $86; - HEAPF32[(18244)>>2] = $87; + HEAPF32[(18548)>>2] = $87; STACKTOP = sp;return; break; } @@ -12310,58 +12353,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4726]|0; + $0 = HEAP32[4802]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4727]|0; + $2 = HEAP32[4803]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4726] = 4; + HEAP32[4802] = 4; } - $4 = HEAP32[4726]|0; + $4 = HEAP32[4802]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12374,7 +12378,7 @@ function _UpdateGestures() { return; } } - HEAP32[4726] = 0; + HEAP32[4802] = 0; return; } function _SetCameraMode($0,$1) { @@ -12403,22 +12407,22 @@ function _SetCameraMode($0,$1) { $8 = $4 * $4; $9 = $7 + $8; $10 = (+Math_sqrt((+$9))); - HEAPF32[4734] = $10; + HEAPF32[4810] = $10; $11 = $5 + $8; $12 = (+Math_sqrt((+$11))); $13 = (+Math_sqrt((+$7))); $14 = (+Math_abs((+$2))); $15 = $14 / $12; $16 = (+Math_asin((+$15))); - HEAPF32[4735] = $16; + HEAPF32[4811] = $16; $17 = (+Math_abs((+$3))); $18 = $17 / $13; $19 = (+Math_asin((+$18))); $20 = -$19; - HEAPF32[4736] = $20; + HEAPF32[4812] = $20; $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; HEAP32[15] = $21; - HEAP32[4737] = $1; + HEAP32[4813] = $1; return; } function _UpdateCamera($0) { @@ -12487,7 +12491,7 @@ function _UpdateCamera($0) { $30 = HEAP32[24]|0; $31 = (_IsKeyDown($30)|0); HEAP32[$29>>2] = $31; - $32 = HEAP32[4737]|0; + $32 = HEAP32[4813]|0; $33 = ($32|0)==(0); L1: do { if ($33) { @@ -12559,9 +12563,9 @@ function _UpdateCamera($0) { $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; break; } else { - $64 = +HEAPF32[4570]; + $64 = +HEAPF32[4646]; $65 = $37 - $64; - $66 = +HEAPF32[(18284)>>2]; + $66 = +HEAPF32[(18588)>>2]; $67 = $42 - $66; $$sroa$095$0 = $65;$$sroa$9$0 = $67; break; @@ -12569,11 +12573,11 @@ function _UpdateCamera($0) { } else { _ShowCursor(); $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[4570]; + $69 = +HEAPF32[4646]; $70 = $68 - $69; $71 = ((($1)) + 4|0); $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(18284)>>2]; + $73 = +HEAPF32[(18588)>>2]; $74 = $72 - $73; $$sroa$095$0 = $70;$$sroa$9$0 = $74; } @@ -12585,16 +12589,16 @@ function _UpdateCamera($0) { $78 = (($75) + 4)|0; $79 = $78; $80 = HEAP32[$79>>2]|0; - $81 = 18280; + $81 = 18584; $82 = $81; HEAP32[$82>>2] = $77; $83 = (($81) + 4)|0; $84 = $83; HEAP32[$84>>2] = $80; - $$pr = HEAP32[4737]|0; + $$pr = HEAP32[4813]|0; switch ($$pr|0) { case 1: { - $85 = +HEAPF32[4734]; + $85 = +HEAPF32[4810]; $86 = $85 < 120.0; $87 = ($8|0)<(0); $or$cond3 = $87 & $86; @@ -12603,10 +12607,10 @@ function _UpdateCamera($0) { $88 = (+($8|0)); $89 = $88 * 1.5; $90 = $85 - $89; - HEAPF32[4734] = $90; + HEAPF32[4810] = $90; $91 = $90 > 120.0; if ($91) { - HEAPF32[4734] = 120.0; + HEAPF32[4810] = 120.0; } } else { $92 = ((($0)) + 4|0); @@ -12685,12 +12689,12 @@ function _UpdateCamera($0) { $146 = (+($8|0)); $147 = $146 * 1.5; $148 = $85 - $147; - HEAPF32[4734] = $148; + HEAPF32[4810] = $148; $149 = $148 < 0.30000001192092896; if (!($149)) { break; } - HEAPF32[4734] = 0.30000001192092896; + HEAPF32[4810] = 0.30000001192092896; break; } } @@ -12712,7 +12716,7 @@ function _UpdateCamera($0) { $161 = $151 - $152; $162 = $153 * $161; $163 = $162 * 1.5; - $164 = +HEAPF32[4734]; + $164 = +HEAPF32[4810]; $165 = $163 / $164; $166 = $151 + $165; HEAPF32[$95>>2] = $166; @@ -12744,7 +12748,7 @@ function _UpdateCamera($0) { $185 = $151 - $152; $186 = $177 * $185; $187 = $186 * 1.5; - $188 = +HEAPF32[4734]; + $188 = +HEAPF32[4810]; $189 = $187 / $188; $190 = $151 + $189; HEAPF32[$95>>2] = $190; @@ -12768,12 +12772,12 @@ function _UpdateCamera($0) { if ($or$cond15) { $203 = (+($8|0)); $204 = $203 * 1.5; - $205 = +HEAPF32[4734]; + $205 = +HEAPF32[4810]; $206 = $205 - $204; - HEAPF32[4734] = $206; + HEAPF32[4810] = $206; $207 = $206 < 0.30000001192092896; if ($207) { - HEAPF32[4734] = 0.30000001192092896; + HEAPF32[4810] = 0.30000001192092896; } } } @@ -12787,17 +12791,17 @@ function _UpdateCamera($0) { $209 = ($12|0)==(0); if ($209) { $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[4735]; + $223 = +HEAPF32[4811]; $224 = (+Math_cos((+$223))); $225 = $222 * $224; $226 = $$sroa$9$0 * 0.0099999997764825821; $227 = (+Math_sin((+$223))); $228 = $226 * $227; - $229 = +HEAPF32[4736]; + $229 = +HEAPF32[4812]; $230 = (+Math_sin((+$229))); $231 = $228 * $230; $232 = $225 + $231; - $233 = +HEAPF32[4734]; + $233 = +HEAPF32[4810]; $234 = $233 / 5.0999999046325684; $235 = $232 * $234; $236 = ((($0)) + 12|0); @@ -12827,23 +12831,23 @@ function _UpdateCamera($0) { $210 = ($14|0)==(0); if (!($210)) { $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[4734]; + $212 = +HEAPF32[4810]; $213 = $211 + $212; - HEAPF32[4734] = $213; + HEAPF32[4810] = $213; label = 58; break L1; } $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[4735]; + $215 = +HEAPF32[4811]; $216 = $215 - $214; - HEAPF32[4735] = $216; + HEAPF32[4811] = $216; $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[4736]; + $218 = +HEAPF32[4812]; $219 = $218 - $217; - HEAPF32[4736] = $219; + HEAPF32[4812] = $219; $220 = $219 > 1.483529806137085; if ($220) { - HEAPF32[4736] = 1.483529806137085; + HEAPF32[4812] = 1.483529806137085; label = 58; break L1; } @@ -12852,32 +12856,32 @@ function _UpdateCamera($0) { label = 58; break L1; } - HEAPF32[4736] = -1.483529806137085; + HEAPF32[4812] = -1.483529806137085; label = 58; break L1; break; } case 2: { - $254 = +HEAPF32[4735]; + $254 = +HEAPF32[4811]; $255 = $254 + 0.0099999997764825821; - HEAPF32[4735] = $255; + HEAPF32[4811] = $255; $256 = (+($8|0)); $257 = $256 * 1.5; - $258 = +HEAPF32[4734]; + $258 = +HEAPF32[4810]; $259 = $258 - $257; - HEAPF32[4734] = $259; + HEAPF32[4810] = $259; $260 = $259 < 1.2000000476837158; if (!($260)) { label = 58; break L1; } - HEAPF32[4734] = 1.2000000476837158; + HEAPF32[4810] = 1.2000000476837158; label = 58; break L1; break; } case 4: case 3: { - $264 = +HEAPF32[4735]; + $264 = +HEAPF32[4811]; $265 = (+Math_sin((+$264))); $266 = HEAP32[$17>>2]|0; $267 = (+($266>>>0)); @@ -12899,7 +12903,7 @@ function _UpdateCamera($0) { $283 = +HEAPF32[$0>>2]; $284 = $283 + $282; HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[4736]; + $285 = +HEAPF32[4812]; $286 = (+Math_sin((+$285))); $287 = $270 * $286; $288 = $267 * $286; @@ -12967,14 +12971,14 @@ function _UpdateCamera($0) { $$0 = 1; } $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[4735]; + $314 = +HEAPF32[4811]; $315 = $314 - $313; - HEAPF32[4735] = $315; + HEAPF32[4811] = $315; $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[4736]; + $317 = +HEAPF32[4812]; $318 = $317 - $316; - HEAPF32[4736] = $318; - $319 = HEAP32[4737]|0; + HEAPF32[4812] = $318; + $319 = HEAP32[4813]|0; $320 = ($319|0)==(4); if ($320) { $321 = $318 > 0.087266460061073303; @@ -12989,17 +12993,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 49) { - HEAPF32[4736] = $$sink26; + HEAPF32[4812] = $$sink26; } $323 = (+($8|0)); $324 = $323 * 1.5; - $325 = +HEAPF32[4734]; + $325 = +HEAPF32[4810]; $326 = $325 - $324; $327 = $326 < 1.2000000476837158; $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[4734] = $storemerge; + HEAPF32[4810] = $storemerge; $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[4735]; + $329 = +HEAPF32[4811]; $330 = (+Math_cos((+$329))); $331 = $330 * 0.40000000596046448; $332 = $328 + $331; @@ -13030,17 +13034,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 53) { - HEAPF32[4736] = $$sink28; + HEAPF32[4812] = $$sink28; } $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[4735]; + $347 = +HEAPF32[4811]; $348 = (+Math_sin((+$347))); $349 = $348 * 25.0; $350 = $346 - $349; $351 = ((($0)) + 12|0); HEAPF32[$351>>2] = $350; $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[4736]; + $353 = +HEAPF32[4812]; $354 = (+Math_sin((+$353))); $355 = $354 * 25.0; $356 = $352 + $355; @@ -13054,12 +13058,12 @@ function _UpdateCamera($0) { HEAPF32[$362>>2] = $361; $363 = ($$0|0)==(0); if (!($363)) { - $364 = HEAP32[4738]|0; + $364 = HEAP32[4814]|0; $365 = (($364) + 1)|0; - HEAP32[4738] = $365; + HEAP32[4814] = $365; } $366 = +HEAPF32[15]; - $367 = HEAP32[4738]|0; + $367 = HEAP32[4814]|0; $368 = (+($367|0)); $369 = $368 / 5.0; $370 = (+Math_sin((+$369))); @@ -13089,7 +13093,7 @@ function _UpdateCamera($0) { } } while(0); if ((label|0) == 58) { - $$pr190 = HEAP32[4737]|0; + $$pr190 = HEAP32[4813]|0; $380 = $$pr190; } switch ($380|0) { @@ -13100,11 +13104,11 @@ function _UpdateCamera($0) { STACKTOP = sp;return; } } - $381 = +HEAPF32[4735]; + $381 = +HEAPF32[4811]; $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[4734]; + $383 = +HEAPF32[4810]; $384 = $382 * $383; - $385 = +HEAPF32[4736]; + $385 = +HEAPF32[4812]; $386 = (+Math_cos((+$385))); $387 = $384 * $386; $388 = ((($0)) + 12|0); @@ -13113,7 +13117,7 @@ function _UpdateCamera($0) { HEAPF32[$0>>2] = $390; $391 = !($385 <= 0.0); $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[4734]; + $393 = +HEAPF32[4810]; $394 = ((($0)) + 16|0); $395 = +HEAPF32[$394>>2]; $396 = $392 * $393; @@ -13137,7 +13141,7 @@ function _GetMousePosition($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 = 18288; + $1 = 18592; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -13154,7 +13158,7 @@ function _GetMousePosition($0) { function _GetMouseWheelMove() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4743]|0; + $0 = HEAP32[4819]|0; $1 = (($0|0) / 100)&-1; return ($1|0); } @@ -13179,19 +13183,19 @@ function _IsKeyDown($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4742]|0; + $0 = HEAP32[4818]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4741]|0; + $0 = HEAP32[4817]|0; return ($0|0); } function _HideCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4739] = 1; + HEAP32[4815] = 1; return; } function _SetMousePosition($0) { @@ -13204,13 +13208,13 @@ function _SetMousePosition($0) { $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; - $7 = 18288; + $7 = 18592; $8 = $7; HEAP32[$8>>2] = $3; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; - $11 = HEAP32[4740]|0; + $11 = HEAP32[4816]|0; $12 = +HEAPF32[$0>>2]; $13 = $12; $14 = ((($0)) + 4|0); @@ -13222,14 +13226,14 @@ function _SetMousePosition($0) { function _ShowCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4739] = 0; + HEAP32[4815] = 0; return; } function _GetKeyStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4740]|0; + $1 = HEAP32[4816]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -13237,7 +13241,7 @@ function _GetMouseButtonStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4740]|0; + $1 = HEAP32[4816]|0; $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); return ($2|0); } @@ -13250,7 +13254,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4699,$vararg_buffer); - HEAP32[4744] = $2; + HEAP32[4820] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -13263,15 +13267,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4728|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4742]|0; + $3 = HEAP32[4818]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4572] = $5; - $6 = HEAP32[4741]|0; + HEAPF32[4648] = $5; + $6 = HEAP32[4817]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(18292)>>2] = $8; - $9 = HEAP32[4745]|0; + HEAPF32[(18596)>>2] = $8; + $9 = HEAP32[4821]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -13290,11 +13294,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[18328>>0]=HEAP8[9228>>0]|0;HEAP8[18328+1>>0]=HEAP8[9228+1>>0]|0;HEAP8[18328+2>>0]=HEAP8[9228+2>>0]|0;HEAP8[18328+3>>0]=HEAP8[9228+3>>0]|0;HEAP8[18328+4>>0]=HEAP8[9228+4>>0]|0;HEAP8[18328+5>>0]=HEAP8[9228+5>>0]|0;HEAP8[18328+6>>0]=HEAP8[9228+6>>0]|0; + ;HEAP8[18632>>0]=HEAP8[9228>>0]|0;HEAP8[18632+1>>0]=HEAP8[9228+1>>0]|0;HEAP8[18632+2>>0]=HEAP8[9228+2>>0]|0;HEAP8[18632+3>>0]=HEAP8[9228+3>>0]|0;HEAP8[18632+4>>0]=HEAP8[9228+4>>0]|0;HEAP8[18632+5>>0]=HEAP8[9228+5>>0]|0;HEAP8[18632+6>>0]=HEAP8[9228+6>>0]|0; break; } case 1: { - $3 = 18328; + $3 = 18632; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -13303,11 +13307,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=18328; src=9235; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=18632; src=9235; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 18328; + $7 = 18632; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -13318,16 +13322,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(18328,$1)|0); - $strlen = (_strlen(18328)|0); - $endptr = (18328 + ($strlen)|0); + (_strcat(18632,$1)|0); + $strlen = (_strlen(18632)|0); + $endptr = (18632 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(18328,$2)|0); + (_vprintf(18632,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -13359,22 +13363,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4742] = $0; - HEAP32[4741] = $1; + HEAP32[4818] = $0; + HEAP32[4817] = $1; _MatrixIdentity($2); - dest=19056; 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)); + dest=19360; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5370,$vararg_buffer); } - $6 = HEAP32[4742]|0; - HEAP32[4780] = $6; - $7 = HEAP32[4741]|0; - HEAP32[4781] = $7; + $6 = HEAP32[4818]|0; + HEAP32[4856] = $6; + $7 = HEAP32[4817]|0; + HEAP32[4857] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[21800]|0; + $8 = HEAP8[22104]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -13382,13 +13386,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[21800]|0; + $11 = HEAP8[22104]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[21800]|0; + $14 = HEAP8[22104]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -13410,18 +13414,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4782]|0; + $21 = HEAP32[4858]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4742]|0; - $48 = HEAP32[4741]|0; - $49 = HEAP32[4744]|0; + $47 = HEAP32[4818]|0; + $48 = HEAP32[4817]|0; + $49 = HEAP32[4820]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4740] = $50; - $51 = HEAP32[4742]|0; - HEAP32[4783] = $51; - $52 = HEAP32[4741]|0; - HEAP32[4784] = $52; + HEAP32[4816] = $50; + $51 = HEAP32[4818]|0; + HEAP32[4859] = $51; + $52 = HEAP32[4817]|0; + HEAP32[4860] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -13430,9 +13434,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4742]|0; + $27 = HEAP32[4818]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4741]|0; + $29 = HEAP32[4817]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -13454,25 +13458,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4780] = $31; - HEAP32[4781] = $34; + HEAP32[4856] = $31; + HEAP32[4857] = $34; } } while(0); - $38 = HEAP32[4780]|0; - $39 = HEAP32[4781]|0; + $38 = HEAP32[4856]|0; + $39 = HEAP32[4857]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5421,$vararg_buffer3); - $40 = HEAP32[4780]|0; - $41 = HEAP32[4781]|0; + $40 = HEAP32[4856]|0; + $41 = HEAP32[4857]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4780]|0; - $43 = HEAP32[4781]|0; - $44 = HEAP32[4744]|0; + $42 = HEAP32[4856]|0; + $43 = HEAP32[4857]|0; + $44 = HEAP32[4820]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4740] = $46; + HEAP32[4816] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -13481,60 +13485,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5459,$vararg_buffer6); } else { _TraceLog(0,5492,$vararg_buffer8); - $55 = HEAP32[4783]|0; - $56 = HEAP32[4784]|0; + $55 = HEAP32[4859]|0; + $56 = HEAP32[4860]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5532,$vararg_buffer10); - $57 = HEAP32[4742]|0; - $58 = HEAP32[4741]|0; + $57 = HEAP32[4818]|0; + $58 = HEAP32[4817]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5553,$vararg_buffer14); - $59 = HEAP32[4785]|0; - $60 = HEAP32[4786]|0; + $59 = HEAP32[4861]|0; + $60 = HEAP32[4862]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5574,$vararg_buffer18); } - $61 = HEAP32[4740]|0; + $61 = HEAP32[4816]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4740]|0; + $62 = HEAP32[4816]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4740]|0; + $63 = HEAP32[4816]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4740]|0; + $64 = HEAP32[4816]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4740]|0; + $65 = HEAP32[4816]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4740]|0; + $66 = HEAP32[4816]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4740]|0; + $67 = HEAP32[4816]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4740]|0; + $68 = HEAP32[4816]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4740]|0; + $69 = HEAP32[4816]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[21800]|0; + $70 = HEAP8[22104]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4742]|0; - $74 = HEAP32[4741]|0; + $73 = HEAP32[4818]|0; + $74 = HEAP32[4817]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4783]|0; - $76 = HEAP32[4785]|0; + $75 = HEAP32[4859]|0; + $76 = HEAP32[4861]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4784]|0; - $80 = HEAP32[4786]|0; + $79 = HEAP32[4860]|0; + $80 = HEAP32[4862]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13553,18 +13557,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5599,$vararg_buffer22); - $73 = HEAP32[4742]|0; - $74 = HEAP32[4741]|0; + $73 = HEAP32[4818]|0; + $74 = HEAP32[4817]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4783]|0; - $76 = HEAP32[4785]|0; + $75 = HEAP32[4859]|0; + $76 = HEAP32[4861]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4784]|0; - $80 = HEAP32[4786]|0; + $79 = HEAP32[4860]|0; + $80 = HEAP32[4862]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13592,7 +13596,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(19024)>>2] = 224; + HEAP32[(19328)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -13633,27 +13637,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[19000>>2]=HEAP32[$1>>2]|0;HEAP32[19000+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19000+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19000+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19000+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[19304>>2]=HEAP32[$1>>2]|0;HEAP32[19304+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19304+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19304+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19304+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(19024)>>2]|0; + $5 = HEAP32[(19328)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(19028)>>2] = $7; + HEAP32[(19332)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19020)>>2] = $23; - $24 = HEAP32[4750]|0; + HEAP32[(19324)>>2] = $23; + $24 = HEAP32[4826]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4923,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(19004)>>2]|0; - $10 = HEAP32[(19024)>>2]|0; - $11 = HEAP32[(19028)>>2]|0; + $9 = HEAP32[(19308)>>2]|0; + $10 = HEAP32[(19328)>>2]|0; + $11 = HEAP32[(19332)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13702,8 +13706,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19020)>>2] = $23; - $24 = HEAP32[4750]|0; + HEAP32[(19324)>>2] = $23; + $24 = HEAP32[4826]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4923,$vararg_buffer); STACKTOP = sp;return; @@ -13714,7 +13718,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2290] = $1; + HEAPF64[2328] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13873,7 +13877,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 18304; + $31 = 18608; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13886,7 +13890,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (18312); + $42 = (18616); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13942,7 +13946,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (18984 + ($10<<2)|0); + $11 = (19288 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13956,7 +13960,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2287] = $$; + HEAPF64[2325] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -13968,7 +13972,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4745] = 0; + HEAP32[4821] = 0; return; } function _GetTime() { @@ -14544,7 +14548,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4758]|0; + $6 = HEAP32[4834]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -14554,7 +14558,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4759]|0; + $9 = HEAP32[4835]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -14563,7 +14567,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4760]|0; + $12 = HEAP32[4836]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -14573,7 +14577,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4761]|0; + $15 = HEAP32[4837]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -14583,7 +14587,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4762]|0; + $18 = HEAP32[4838]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -14627,7 +14631,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4758]|0; + $22 = HEAP32[4834]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14635,7 +14639,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4758]|0; + $24 = HEAP32[4834]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14643,7 +14647,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4758]|0; + $26 = HEAP32[4834]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14651,7 +14655,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4758]|0; + $28 = HEAP32[4834]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14659,7 +14663,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4759]|0; + $30 = HEAP32[4835]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14667,7 +14671,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4760]|0; + $32 = HEAP32[4836]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14675,7 +14679,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4760]|0; + $34 = HEAP32[4836]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14683,7 +14687,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4761]|0; + $36 = HEAP32[4837]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14691,7 +14695,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4761]|0; + $38 = HEAP32[4837]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14699,7 +14703,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4762]|0; + $40 = HEAP32[4838]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14707,7 +14711,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4762]|0; + $42 = HEAP32[4838]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14719,7 +14723,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4763]|0; + $44 = HEAP32[4839]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14734,7 +14738,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,12059,$vararg_buffer15); + _TraceLog(2,12367,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -15065,20 +15069,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4742]|0; + $3 = HEAP32[4818]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4741]|0; + $5 = HEAP32[4817]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4783] = $3; - HEAP32[4784] = $5; - HEAP32[4785] = 0; - HEAP32[4786] = 0; + HEAP32[4859] = $3; + HEAP32[4860] = $5; + HEAP32[4861] = 0; + HEAP32[4862] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -15092,9 +15096,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4742]|0; + $35 = HEAP32[4818]|0; $36 = (+($35|0)); - $37 = HEAP32[4741]|0; + $37 = HEAP32[4817]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -15102,26 +15106,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4783] = $45; - HEAP32[4784] = $37; + HEAP32[4859] = $45; + HEAP32[4860] = $37; $46 = (($45) - ($35))|0; - HEAP32[4785] = $46; + HEAP32[4861] = $46; $$sink1 = 0; } else { - HEAP32[4783] = $35; + HEAP32[4859] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4784] = $42; - HEAP32[4785] = 0; + HEAP32[4860] = $42; + HEAP32[4861] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4786] = $$sink1; + HEAP32[4862] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4741]|0; + $7 = HEAP32[4817]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -15131,11 +15135,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8981,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4742]|0; + $9 = HEAP32[4818]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4741]|0; + $13 = HEAP32[4817]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -15143,33 +15147,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4783] = $23; - HEAP32[4784] = $1; + HEAP32[4859] = $23; + HEAP32[4860] = $1; $24 = (($0) - ($23))|0; - HEAP32[4785] = $24; + HEAP32[4861] = $24; $$sink = 0; } else { - HEAP32[4783] = $0; - $17 = HEAP32[4741]|0; + HEAP32[4859] = $0; + $17 = HEAP32[4817]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4784] = $20; - HEAP32[4785] = 0; + HEAP32[4860] = $20; + HEAP32[4861] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4786] = $$sink; - $25 = HEAP32[4783]|0; + HEAP32[4862] = $$sink; + $25 = HEAP32[4859]|0; $26 = (+($25|0)); - $27 = HEAP32[4742]|0; + $27 = HEAP32[4818]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=19056; 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)); - HEAP32[4783] = $0; - HEAP32[4784] = $1; + dest=19360; 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)); + HEAP32[4859] = $0; + HEAP32[4860] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -15191,10 +15195,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4742] = $1; - HEAP32[4741] = $2; - HEAP32[4783] = $1; - HEAP32[4784] = $2; + HEAP32[4818] = $1; + HEAP32[4817] = $2; + HEAP32[4859] = $1; + HEAP32[4860] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -15221,7 +15225,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (21807 + ($1)|0); + $9 = (22111 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -15242,7 +15246,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (21801 + ($1)|0); + $7 = (22105 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -15321,7 +15325,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 18304; + $15 = 18608; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -15356,7 +15360,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5156] = $3; + HEAP32[5232] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -15366,7 +15370,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5155] = $$sink; + HEAP32[5231] = $$sink; return; } function _rlglInit($0,$1) { @@ -15447,18 +15451,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5731)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4821] = 1; + HEAP32[4897] = 1; $27 = (_eglGetProcAddress((5758|0))|0); - HEAP32[4822] = $27; + HEAP32[4898] = $27; $28 = (_eglGetProcAddress((5779|0))|0); - HEAP32[4823] = $28; + HEAP32[4899] = $28; $29 = (_eglGetProcAddress((5800|0))|0); - HEAP32[4824] = $29; + HEAP32[4900] = $29; } $30 = (_strcmp($24,5824)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4763] = 1; + HEAP32[4839] = 1; } $32 = (_strcmp($24,5844)|0); $33 = ($32|0)==(0); @@ -15480,7 +15484,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4758] = 1; + HEAP32[4834] = 1; } $39 = (_strcmp($24,5949)|0); $40 = ($39|0)==(0); @@ -15496,35 +15500,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4759] = 1; + HEAP32[4835] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,6018)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4760] = 1; + HEAP32[4836] = 1; } $47 = (_strcmp($44,6043)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4761] = 1; + HEAP32[4837] = 1; } $49 = (_strcmp($44,6076)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4762] = 1; + HEAP32[4838] = 1; } $51 = (_strcmp($44,6112)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4825] = 1; - _glGetFloatv(34047,(19304|0)); + HEAP32[4901] = 1; + _glGetFloatv(34047,(19608|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,6146)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4827] = 1; + HEAP32[4903] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -15535,61 +15539,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4821]|0; + $21 = HEAP32[4897]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,6249,$vararg_buffer15); } else { _TraceLog(0,6174,$vararg_buffer13); } - $57 = HEAP32[4763]|0; + $57 = HEAP32[4839]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6385,$vararg_buffer19); } else { _TraceLog(0,6310,$vararg_buffer17); } - $59 = HEAP32[4758]|0; + $59 = HEAP32[4834]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6477,$vararg_buffer21); } - $61 = HEAP32[4759]|0; + $61 = HEAP32[4835]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6523,$vararg_buffer23); } - $63 = HEAP32[4760]|0; + $63 = HEAP32[4836]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6570,$vararg_buffer25); } - $65 = HEAP32[4761]|0; + $65 = HEAP32[4837]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6621,$vararg_buffer27); } - $67 = HEAP32[4762]|0; + $67 = HEAP32[4838]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6668,$vararg_buffer29); } - $69 = HEAP32[4825]|0; + $69 = HEAP32[4901]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4826]; + $71 = +HEAPF32[4902]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6715,$vararg_buffer31); } - $73 = HEAP32[4827]|0; + $73 = HEAP32[4903]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6781,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4828] = $75; + HEAP32[4904] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6885,$vararg_buffer39); @@ -15598,14 +15602,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6834,$vararg_buffer36); } _LoadDefaultShader($2); - dest=19316; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19372; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19620; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19676; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4857] = $77; + HEAP32[4933] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4857]|0; + $79 = HEAP32[4933]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -15618,7 +15622,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4858] = $78; + HEAP32[4934] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15633,48 +15637,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4859] = 1; - $85 = HEAP32[4828]|0; + HEAP32[4935] = 1; + $85 = HEAP32[4904]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4860] = 4; + HEAP32[4936] = 4; _MatrixIdentity($4); - dest=19444; src=$4; 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)); + dest=19748; src=$4; 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)); _MatrixIdentity($4); - dest=(19508); src=$4; 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)); + dest=(19812); src=$4; 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)); _MatrixIdentity($4); - dest=(19572); src=$4; 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)); + dest=(19876); src=$4; 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)); _MatrixIdentity($4); - dest=(19636); src=$4; 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)); + dest=(19940); src=$4; 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)); _MatrixIdentity($4); - dest=(19700); src=$4; 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)); + dest=(20004); src=$4; 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)); _MatrixIdentity($4); - dest=(19764); src=$4; 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)); + dest=(20068); src=$4; 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)); _MatrixIdentity($4); - dest=(19828); src=$4; 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)); + dest=(20132); src=$4; 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)); _MatrixIdentity($4); - dest=(19892); src=$4; 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)); + dest=(20196); src=$4; 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)); _MatrixIdentity($4); - dest=(19956); src=$4; 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)); + dest=(20260); src=$4; 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)); _MatrixIdentity($4); - dest=(20020); src=$4; 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)); + dest=(20324); src=$4; 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)); _MatrixIdentity($4); - dest=(20084); src=$4; 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)); + dest=(20388); src=$4; 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)); _MatrixIdentity($4); - dest=(20148); src=$4; 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)); + dest=(20452); src=$4; 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)); _MatrixIdentity($4); - dest=(20212); src=$4; 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)); + dest=(20516); src=$4; 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)); _MatrixIdentity($4); - dest=(20276); src=$4; 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)); + dest=(20580); src=$4; 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)); _MatrixIdentity($4); - dest=(20340); src=$4; 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)); + dest=(20644); src=$4; 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)); _MatrixIdentity($4); - dest=(20404); src=$4; 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)); + dest=(20708); src=$4; 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)); _MatrixIdentity($5); - dest=19152; src=$5; 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)); + dest=19456; src=$5; 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)); _MatrixIdentity($6); - dest=19216; src=$6; 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)); - HEAP32[4787] = 19216; + dest=19520; src=$6; 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)); + HEAP32[4863] = 19520; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15685,21 +15689,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5117] = $0; - HEAP32[5118] = $1; + HEAP32[5193] = $0; + HEAP32[5194] = $1; _TraceLog(0,6924,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4785]|0; + $0 = HEAP32[4861]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4786]|0; + $2 = HEAP32[4862]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4783]|0; + $4 = HEAP32[4859]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4784]|0; + $6 = HEAP32[4860]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15710,12 +15714,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 19152; + $modelview$sink = 19456; label = 3; break; } case 5888: { - $modelview$sink = 19216; + $modelview$sink = 19520; label = 3; break; } @@ -15723,9 +15727,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4787] = $modelview$sink; + HEAP32[4863] = $modelview$sink; } - HEAP32[4820] = $0; + HEAP32[4896] = $0; return; } function _rlLoadIdentity() { @@ -15733,7 +15737,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4787]|0; + $1 = HEAP32[4863]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -15754,7 +15758,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4787]|0; + $8 = HEAP32[4863]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -15851,15 +15855,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(20488)>>2] = $0; + HEAP32[(20792)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(20496)>>2] = $1; - HEAP32[(20492)>>2] = 0; - HEAP32[(20500)>>2] = 0; + HEAP32[(20800)>>2] = $1; + HEAP32[(20796)>>2] = 0; + HEAP32[(20804)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(20496)>>2]|0; + $2 = HEAP32[(20800)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15870,19 +15874,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5119] = 0; - HEAP32[(20484)>>2] = 0; - HEAP32[(20480)>>2] = 0; + HEAP32[5195] = 0; + HEAP32[(20788)>>2] = 0; + HEAP32[(20784)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(20536)>>2] = $5; + HEAP32[(20840)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(20544)>>2] = $6; - HEAP32[(20540)>>2] = 0; - HEAP32[(20548)>>2] = 0; + HEAP32[(20848)>>2] = $6; + HEAP32[(20844)>>2] = 0; + HEAP32[(20852)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(20544)>>2]|0; + $7 = HEAP32[(20848)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15893,24 +15897,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5131] = 0; - HEAP32[(20532)>>2] = 0; - HEAP32[(20528)>>2] = 0; + HEAP32[5207] = 0; + HEAP32[(20836)>>2] = 0; + HEAP32[(20832)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(20584)>>2] = $10; + HEAP32[(20888)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(20588)>>2] = $11; + HEAP32[(20892)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(20592)>>2] = $12; + HEAP32[(20896)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(20596)>>2] = $13; - $14 = HEAP32[(20584)>>2]|0; + HEAP32[(20900)>>2] = $13; + $14 = HEAP32[(20888)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(20588)>>2]|0; + $15 = HEAP32[(20892)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(20592)>>2]|0; + $17 = HEAP32[(20896)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15921,7 +15925,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(20596)>>2]|0; + $16 = HEAP32[(20900)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15958,140 +15962,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5143] = 0; - HEAP32[(20576)>>2] = 0; - HEAP32[(20580)>>2] = 0; + HEAP32[5219] = 0; + HEAP32[(20880)>>2] = 0; + HEAP32[(20884)>>2] = 0; _TraceLog(0,6971,$vararg_buffer); - $20 = HEAP32[4821]|0; + $20 = HEAP32[4897]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4822]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(20504)); - $44 = HEAP32[4823]|0; - $45 = HEAP32[(20504)>>2]|0; + $43 = HEAP32[4898]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(20808)); + $44 = HEAP32[4899]|0; + $45 = HEAP32[(20808)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((20508)|0)); - $46 = HEAP32[(20508)>>2]|0; + _glGenBuffers(2,((20812)|0)); + $46 = HEAP32[(20812)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(20488)>>2]|0; + $47 = HEAP32[(20792)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(19376)>>2]|0; + $48 = HEAP32[(19680)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(19376)>>2]|0; + $49 = HEAP32[(19680)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((20512)|0)); - $50 = HEAP32[(20512)>>2]|0; + _glGenBuffers(2,((20816)|0)); + $50 = HEAP32[(20816)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(20496)>>2]|0; + $51 = HEAP32[(20800)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(19396)>>2]|0; + $52 = HEAP32[(19700)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(19396)>>2]|0; + $53 = HEAP32[(19700)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4821]|0; + $54 = HEAP32[4897]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(20508)>>2]|0; - $58 = HEAP32[(20512)>>2]|0; + $57 = HEAP32[(20812)>>2]|0; + $58 = HEAP32[(20816)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,7109,$vararg_buffer3); } else { - $56 = HEAP32[(20504)>>2]|0; + $56 = HEAP32[(20808)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,7044,$vararg_buffer1); } - $59 = HEAP32[4821]|0; + $59 = HEAP32[4897]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4822]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(20552)); - $62 = HEAP32[4823]|0; - $63 = HEAP32[(20552)>>2]|0; + $61 = HEAP32[4898]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(20856)); + $62 = HEAP32[4899]|0; + $63 = HEAP32[(20856)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((20556)|0)); - $64 = HEAP32[(20556)>>2]|0; + _glGenBuffers(1,((20860)|0)); + $64 = HEAP32[(20860)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(20536)>>2]|0; + $65 = HEAP32[(20840)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(19376)>>2]|0; + $66 = HEAP32[(19680)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(19376)>>2]|0; + $67 = HEAP32[(19680)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20560)|0)); - $68 = HEAP32[(20560)>>2]|0; + _glGenBuffers(1,((20864)|0)); + $68 = HEAP32[(20864)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(20544)>>2]|0; + $69 = HEAP32[(20848)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(19396)>>2]|0; + $70 = HEAP32[(19700)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(19396)>>2]|0; + $71 = HEAP32[(19700)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4821]|0; + $72 = HEAP32[4897]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(20556)>>2]|0; - $76 = HEAP32[(20560)>>2]|0; + $75 = HEAP32[(20860)>>2]|0; + $76 = HEAP32[(20864)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,7255,$vararg_buffer10); } else { - $74 = HEAP32[(20552)>>2]|0; + $74 = HEAP32[(20856)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,7186,$vararg_buffer7); } - $77 = HEAP32[4821]|0; + $77 = HEAP32[4897]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4822]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(20600)); - $80 = HEAP32[4823]|0; - $81 = HEAP32[(20600)>>2]|0; + $79 = HEAP32[4898]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(20904)); + $80 = HEAP32[4899]|0; + $81 = HEAP32[(20904)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((20604)|0)); - $82 = HEAP32[(20604)>>2]|0; + _glGenBuffers(1,((20908)|0)); + $82 = HEAP32[(20908)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(20584)>>2]|0; + $83 = HEAP32[(20888)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(19376)>>2]|0; + $84 = HEAP32[(19680)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(19376)>>2]|0; + $85 = HEAP32[(19680)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20608)|0)); - $86 = HEAP32[(20608)>>2]|0; + _glGenBuffers(1,((20912)|0)); + $86 = HEAP32[(20912)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(20588)>>2]|0; + $87 = HEAP32[(20892)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(19380)>>2]|0; + $88 = HEAP32[(19684)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(19380)>>2]|0; + $89 = HEAP32[(19684)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((20612)|0)); - $90 = HEAP32[(20612)>>2]|0; + _glGenBuffers(1,((20916)|0)); + $90 = HEAP32[(20916)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(20592)>>2]|0; + $91 = HEAP32[(20896)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(19396)>>2]|0; + $92 = HEAP32[(19700)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(19396)>>2]|0; + $93 = HEAP32[(19700)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((20616)|0)); - $94 = HEAP32[(20616)>>2]|0; + _glGenBuffers(1,((20920)|0)); + $94 = HEAP32[(20920)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(20596)>>2]|0; + $95 = HEAP32[(20900)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4821]|0; + $96 = HEAP32[4897]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(20604)>>2]|0; - $100 = HEAP32[(20608)>>2]|0; - $101 = HEAP32[(20612)>>2]|0; - $102 = HEAP32[(20616)>>2]|0; + $99 = HEAP32[(20908)>>2]|0; + $100 = HEAP32[(20912)>>2]|0; + $101 = HEAP32[(20916)>>2]|0; + $102 = HEAP32[(20920)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -16101,16 +16105,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7401,$vararg_buffer17); } else { - $98 = HEAP32[(20600)>>2]|0; + $98 = HEAP32[(20904)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7336,$vararg_buffer14); } - $103 = HEAP32[4821]|0; + $103 = HEAP32[4897]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4823]|0; + $105 = HEAP32[4899]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -16291,9 +16295,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21801 + ($0)|0); + $1 = (22105 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21804 + ($0)|0); + $3 = (22108 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16305,9 +16309,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21801 + ($0)|0); + $1 = (22105 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21804 + ($0)|0); + $3 = (22108 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -16328,7 +16332,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4740]|0; + $0 = HEAP32[4816]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,9245,$vararg_buffer); @@ -16339,9 +16343,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[19000>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19000+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19000+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19000+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19000+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[19304>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19304+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19304+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19304+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19304+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(19028)>>2]|0; + $0 = HEAP32[(19332)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -16352,11 +16356,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(19312|0)); - $0 = HEAP32[4828]|0; + _glDeleteTextures(1,(19616|0)); + $0 = HEAP32[4904]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9272,$vararg_buffer); - $1 = HEAP32[4858]|0; + $1 = HEAP32[4934]|0; _free($1); STACKTOP = sp;return; } @@ -16364,17 +16368,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4829]|0; + $0 = HEAP32[4905]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4821]|0; + $0 = HEAP32[4897]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4823]|0; + $2 = HEAP32[4899]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -16383,39 +16387,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((20508)|0)); - _glDeleteBuffers(1,((20512)|0)); - _glDeleteBuffers(1,((20556)|0)); - _glDeleteBuffers(1,((20560)|0)); - _glDeleteBuffers(1,((20604)|0)); - _glDeleteBuffers(1,((20608)|0)); - _glDeleteBuffers(1,((20612)|0)); - _glDeleteBuffers(1,((20616)|0)); - $3 = HEAP32[4821]|0; + _glDeleteBuffers(1,((20812)|0)); + _glDeleteBuffers(1,((20816)|0)); + _glDeleteBuffers(1,((20860)|0)); + _glDeleteBuffers(1,((20864)|0)); + _glDeleteBuffers(1,((20908)|0)); + _glDeleteBuffers(1,((20912)|0)); + _glDeleteBuffers(1,((20916)|0)); + _glDeleteBuffers(1,((20920)|0)); + $3 = HEAP32[4897]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4824]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(20504)); - $6 = HEAP32[4824]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(20552)); - $7 = HEAP32[4824]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(20600)); + $5 = HEAP32[4900]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(20808)); + $6 = HEAP32[4900]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(20856)); + $7 = HEAP32[4900]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(20904)); } - $8 = HEAP32[(20488)>>2]|0; + $8 = HEAP32[(20792)>>2]|0; _free($8); - $9 = HEAP32[(20496)>>2]|0; + $9 = HEAP32[(20800)>>2]|0; _free($9); - $10 = HEAP32[(20536)>>2]|0; + $10 = HEAP32[(20840)>>2]|0; _free($10); - $11 = HEAP32[(20544)>>2]|0; + $11 = HEAP32[(20848)>>2]|0; _free($11); - $12 = HEAP32[(20584)>>2]|0; + $12 = HEAP32[(20888)>>2]|0; _free($12); - $13 = HEAP32[(20588)>>2]|0; + $13 = HEAP32[(20892)>>2]|0; _free($13); - $14 = HEAP32[(20592)>>2]|0; + $14 = HEAP32[(20896)>>2]|0; _free($14); - $15 = HEAP32[(20596)>>2]|0; + $15 = HEAP32[(20900)>>2]|0; _free($15); return; } @@ -16455,16 +16459,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2307] = $0; - $1 = +HEAPF64[2290]; + HEAPF64[2345] = $0; + $1 = +HEAPF64[2328]; $2 = $0 - $1; - HEAPF64[2308] = $2; - HEAPF64[2290] = $0; + HEAPF64[2346] = $2; + HEAPF64[2328] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=19056; 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)); + dest=$downscaleView$byval_copy; src=19360; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20628); + _rlMultMatrixf(20932); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -16473,53 +16477,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[5157] = $1; + HEAP32[5233] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(20632)>>2] = $3; + HEAP32[(20936)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(20636)>>2] = $5; + HEAP32[(20940)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(20640)>>2] = $7; + HEAP32[(20944)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(20644)>>2] = $9; + HEAP32[(20948)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(20648)>>2] = $11; + HEAP32[(20952)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(20652)>>2] = $13; + HEAP32[(20956)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(20656)>>2] = $15; + HEAP32[(20960)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(20660)>>2] = $17; + HEAP32[(20964)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(20664)>>2] = $19; + HEAP32[(20968)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(20668)>>2] = $21; + HEAP32[(20972)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(20672)>>2] = $23; + HEAP32[(20976)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(20676)>>2] = $25; + HEAP32[(20980)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(20680)>>2] = $27; + HEAP32[(20984)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(20684)>>2] = $29; + HEAP32[(20988)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(20688)>>2] = $31; - return (20628|0); + HEAP32[(20992)>>2] = $31; + return (20932|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16594,7 +16598,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4787]|0; + $49 = HEAP32[4863]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -16608,15 +16612,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2307] = $0; - $1 = +HEAPF64[2290]; + HEAPF64[2345] = $0; + $1 = +HEAPF64[2328]; $2 = $0 - $1; - HEAPF64[2309] = $2; - HEAPF64[2290] = $0; - $3 = +HEAPF64[2308]; + HEAPF64[2347] = $2; + HEAPF64[2328] = $0; + $3 = +HEAPF64[2346]; $4 = $2 + $3; - HEAPF64[2310] = $4; - $5 = +HEAPF64[2287]; + HEAPF64[2348] = $4; + $5 = +HEAPF64[2325]; $6 = $4 < $5; if (!($6)) { return; @@ -16626,13 +16630,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2307] = $10; - $11 = +HEAPF64[2290]; + HEAPF64[2345] = $10; + $11 = +HEAPF64[2328]; $12 = $10 - $11; - HEAPF64[2290] = $10; - $13 = +HEAPF64[2310]; + HEAPF64[2328] = $10; + $13 = +HEAPF64[2348]; $14 = $12 + $13; - HEAPF64[2310] = $14; + HEAPF64[2348] = $14; return; } function _rlglDraw() { @@ -16645,7 +16649,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4740]|0; + $0 = HEAP32[4816]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16661,20 +16665,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[761] = -1; HEAP32[763] = -1; - HEAP32[5173] = 0; - $3 = HEAP32[4740]|0; + HEAP32[5249] = 0; + $3 = HEAP32[4816]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4572] = $5; + HEAPF32[4648] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(18292)>>2] = $7; - _memcpy((22319|0),(21807|0),512)|0; - ;HEAP8[21804>>0]=HEAP8[21801>>0]|0;HEAP8[21804+1>>0]=HEAP8[21801+1>>0]|0;HEAP8[21804+2>>0]=HEAP8[21801+2>>0]|0; - $8 = HEAP32[5156]|0; - HEAP32[4743] = $8; - HEAP32[5156] = 0; + HEAPF32[(18596)>>2] = $7; + _memcpy((22623|0),(22111|0),512)|0; + ;HEAP8[22108>>0]=HEAP8[22105>>0]|0;HEAP8[22108+1>>0]=HEAP8[22105+1>>0]|0;HEAP8[22108+2>>0]=HEAP8[22105+2>>0]|0; + $8 = HEAP32[5232]|0; + HEAP32[4819] = $8; + HEAP32[5232] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16684,8 +16688,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (22831 + ($$05160<<5)|0); - $scevgep67 = (22959 + ($$05160<<5)|0); + $scevgep = (23135 + ($$05160<<5)|0); + $scevgep67 = (23263 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -16699,7 +16703,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((22959 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((23263 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[763] = $$04857; @@ -16726,7 +16730,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((20696 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((21000 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16742,7 +16746,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5173] = $$lcssa; + HEAP32[5249] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16783,87 +16787,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5119]|0; + $0 = HEAP32[5195]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4821]|0; + $2 = HEAP32[4897]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4823]|0; - $5 = HEAP32[(20504)>>2]|0; + $4 = HEAP32[4899]|0; + $5 = HEAP32[(20808)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(20508)>>2]|0; + $6 = HEAP32[(20812)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5119]|0; + $7 = HEAP32[5195]|0; $8 = ($7*12)|0; - $9 = HEAP32[(20488)>>2]|0; + $9 = HEAP32[(20792)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(20512)>>2]|0; + $10 = HEAP32[(20816)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(20484)>>2]|0; + $11 = HEAP32[(20788)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(20496)>>2]|0; + $13 = HEAP32[(20800)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5131]|0; + $14 = HEAP32[5207]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4821]|0; + $16 = HEAP32[4897]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4823]|0; - $19 = HEAP32[(20552)>>2]|0; + $18 = HEAP32[4899]|0; + $19 = HEAP32[(20856)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(20556)>>2]|0; + $20 = HEAP32[(20860)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5131]|0; + $21 = HEAP32[5207]|0; $22 = ($21*12)|0; - $23 = HEAP32[(20536)>>2]|0; + $23 = HEAP32[(20840)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(20560)>>2]|0; + $24 = HEAP32[(20864)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(20532)>>2]|0; + $25 = HEAP32[(20836)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(20544)>>2]|0; + $27 = HEAP32[(20848)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5143]|0; + $28 = HEAP32[5219]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4821]|0; + $30 = HEAP32[4897]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4823]|0; - $33 = HEAP32[(20600)>>2]|0; + $32 = HEAP32[4899]|0; + $33 = HEAP32[(20904)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(20604)>>2]|0; + $34 = HEAP32[(20908)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5143]|0; + $35 = HEAP32[5219]|0; $36 = ($35*12)|0; - $37 = HEAP32[(20584)>>2]|0; + $37 = HEAP32[(20888)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(20608)>>2]|0; + $38 = HEAP32[(20912)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5143]|0; + $39 = HEAP32[5219]|0; $40 = $39 << 3; - $41 = HEAP32[(20588)>>2]|0; + $41 = HEAP32[(20892)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(20612)>>2]|0; + $42 = HEAP32[(20916)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5143]|0; + $43 = HEAP32[5219]|0; $44 = $43 << 2; - $45 = HEAP32[(20592)>>2]|0; + $45 = HEAP32[(20896)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4821]|0; + $46 = HEAP32[4897]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4823]|0; + $48 = HEAP32[4899]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16881,9 +16885,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=19152; 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)); - dest=$1; src=19216; 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)); - $3 = HEAP32[5206]|0; + dest=$0; src=19456; 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)); + dest=$1; src=19520; 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)); + $3 = HEAP32[5282]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16893,134 +16897,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5119]|0; + $8 = HEAP32[5195]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5131]|0; + $10 = HEAP32[5207]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5143]|0; + $12 = HEAP32[5219]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4843]|0; + $14 = HEAP32[4919]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=19216; 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)); - dest=$$byval_copy2; src=19152; 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)); + dest=$modelview$byval_copy; src=19520; 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)); + dest=$$byval_copy2; src=19456; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(19400)>>2]|0; + $15 = HEAP32[(19704)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(19404)>>2]|0; + $17 = HEAP32[(19708)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(19416)>>2]|0; + $18 = HEAP32[(19720)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5119]|0; + $19 = HEAP32[5195]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4828]|0; + $21 = HEAP32[4904]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4821]|0; + $22 = HEAP32[4897]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(20508)>>2]|0; + $26 = HEAP32[(20812)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(19376)>>2]|0; + $27 = HEAP32[(19680)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(19376)>>2]|0; + $28 = HEAP32[(19680)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(20512)>>2]|0; + $29 = HEAP32[(20816)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(19396)>>2]|0; + $30 = HEAP32[(19700)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(19396)>>2]|0; + $31 = HEAP32[(19700)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4823]|0; - $25 = HEAP32[(20504)>>2]|0; + $24 = HEAP32[4899]|0; + $25 = HEAP32[(20808)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5119]|0; + $32 = HEAP32[5195]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4821]|0; + $33 = HEAP32[4897]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5131]|0; + $35 = HEAP32[5207]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4828]|0; + $37 = HEAP32[4904]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4821]|0; + $38 = HEAP32[4897]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(20556)>>2]|0; + $42 = HEAP32[(20860)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(19376)>>2]|0; + $43 = HEAP32[(19680)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(19376)>>2]|0; + $44 = HEAP32[(19680)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(20560)>>2]|0; + $45 = HEAP32[(20864)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(19396)>>2]|0; + $46 = HEAP32[(19700)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(19396)>>2]|0; + $47 = HEAP32[(19700)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4823]|0; - $41 = HEAP32[(20552)>>2]|0; + $40 = HEAP32[4899]|0; + $41 = HEAP32[(20856)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5131]|0; + $48 = HEAP32[5207]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4821]|0; + $49 = HEAP32[4897]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5143]|0; + $51 = HEAP32[5219]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4821]|0; + $53 = HEAP32[4897]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(20604)>>2]|0; + $57 = HEAP32[(20908)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(19376)>>2]|0; + $58 = HEAP32[(19680)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(19376)>>2]|0; + $59 = HEAP32[(19680)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(20608)>>2]|0; + $60 = HEAP32[(20912)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(19380)>>2]|0; + $61 = HEAP32[(19684)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(19380)>>2]|0; + $62 = HEAP32[(19684)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(20612)>>2]|0; + $63 = HEAP32[(20916)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(19396)>>2]|0; + $64 = HEAP32[(19700)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(19396)>>2]|0; + $65 = HEAP32[(19700)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(20616)>>2]|0; + $66 = HEAP32[(20920)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4823]|0; - $56 = HEAP32[(20600)>>2]|0; + $55 = HEAP32[4899]|0; + $56 = HEAP32[(20904)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4859]|0; + $67 = HEAP32[4935]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4858]|0; + $71 = HEAP32[4934]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -17031,14 +17035,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4858]|0; + $80 = HEAP32[4934]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4859]|0; + $87 = HEAP32[4935]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -17047,7 +17051,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4821]|0; + $69 = HEAP32[4897]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -17055,10 +17059,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4821]|0; + $89 = HEAP32[4897]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4823]|0; + $91 = HEAP32[4899]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -17070,22 +17074,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4859] = 1; - $5 = HEAP32[4828]|0; - $6 = HEAP32[4858]|0; + HEAP32[4935] = 1; + $5 = HEAP32[4904]|0; + $6 = HEAP32[4934]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5119] = 0; - HEAP32[(20484)>>2] = 0; - HEAP32[5131] = 0; - HEAP32[(20532)>>2] = 0; - HEAP32[5143] = 0; - HEAP32[(20576)>>2] = 0; - HEAP32[(20580)>>2] = 0; + HEAP32[5195] = 0; + HEAP32[(20788)>>2] = 0; + HEAP32[5207] = 0; + HEAP32[(20836)>>2] = 0; + HEAP32[5219] = 0; + HEAP32[(20880)>>2] = 0; + HEAP32[(20884)>>2] = 0; HEAPF32[764] = -1.0; - dest=19152; src=$0; 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)); - dest=19216; src=$1; 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)); + dest=19456; src=$0; 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)); + dest=19520; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -17100,17 +17104,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[5117]|0; + $5 = HEAP32[5193]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5118]|0; + $9 = HEAP32[5194]|0; _rlViewport($7,0,$8,$9); - $10 = (21056 + ($0<<6)|0); + $10 = (21360 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20928 + ($0<<6)|0); + $11 = (21232 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -17122,14 +17126,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19216; src=$0; 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)); + dest=19520; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19152; src=$0; 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)); + dest=19456; src=$0; 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)); return; } function _Begin3dMode($0) { @@ -17146,9 +17150,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4742]|0; + $2 = HEAP32[4818]|0; $3 = (+($2|0)); - $4 = HEAP32[4741]|0; + $4 = HEAP32[4817]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -17173,7 +17177,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; 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)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(20628); + _rlMultMatrixf(20932); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -17182,26 +17186,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5296]|0; + $0 = HEAP32[5372]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9387,$vararg_buffer); } - $2 = HEAP32[5296]|0; - $3 = (19444 + ($2<<6)|0); - $4 = HEAP32[4787]|0; + $2 = HEAP32[5372]|0; + $3 = (19748 + ($2<<6)|0); + $4 = HEAP32[4863]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[5296]|0; + $5 = HEAP32[5372]|0; $6 = (($5) + 1)|0; - HEAP32[5296] = $6; - $7 = HEAP32[4820]|0; + HEAP32[5372] = $6; + $7 = HEAP32[4896]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5297] = 1; + HEAP32[5373] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -17220,7 +17224,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4787]|0; + $8 = HEAP32[4863]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -17247,18 +17251,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5296]|0; + $0 = HEAP32[5372]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5296]|0; + $2 = HEAP32[5372]|0; $3 = (($2) + -1)|0; - $4 = (19444 + ($3<<6)|0); - $5 = HEAP32[4787]|0; + $4 = (19748 + ($3<<6)|0); + $5 = HEAP32[4863]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5296] = $6; + HEAP32[5372] = $6; return; } function _rlDisableDepthTest() { @@ -17330,7 +17334,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2310]; + $0 = +HEAPF64[2348]; $1 = $0; return (+$1); } @@ -17338,19 +17342,19 @@ function _SetConfigFlags($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAP8[21800] = $0; + HEAP8[22104] = $0; $1 = $0 & 1; $2 = ($1<<24>>24)==(0); if (!($2)) { - HEAP32[4745] = 1; + HEAP32[4821] = 1; } - $3 = HEAP8[21800]|0; + $3 = HEAP8[22104]|0; $4 = $3 & 2; $5 = ($4<<24>>24)==(0); if ($5) { return; } - HEAP32[4782] = 1; + HEAP32[4858] = 1; return; } function _IsFileExtension($0,$1) { @@ -17383,7 +17387,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4787]|0; + $5 = HEAP32[4863]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -17416,7 +17420,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4787]|0; + $11 = HEAP32[4863]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -17427,7 +17431,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4860] = $0; + HEAP32[4936] = $0; return; } function _rlEnd() { @@ -17443,21 +17447,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5297]|0; + $0 = HEAP32[5373]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5298]|0; + $2 = HEAP32[5374]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4857]|0; + $6 = HEAP32[4933]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4787]|0; + $8 = HEAP32[4863]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5298]|0; + $5 = HEAP32[5374]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -17465,12 +17469,12 @@ function _rlEnd() { break; } } - HEAP32[5297] = 0; + HEAP32[5373] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4857]|0; + $11 = HEAP32[4933]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -17479,7 +17483,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5298]|0; + $19 = HEAP32[5374]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -17489,15 +17493,15 @@ function _rlEnd() { } } } else { - HEAP32[5297] = 0; + HEAP32[5373] = 0; } - HEAP32[5298] = 0; + HEAP32[5374] = 0; } - $21 = HEAP32[4860]|0; + $21 = HEAP32[4936]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5119]|0; - $23 = HEAP32[(20484)>>2]|0; + $22 = HEAP32[5195]|0; + $23 = HEAP32[(20788)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[764]; @@ -17516,16 +17520,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(20496)>>2]|0; - $28 = HEAP32[(20484)>>2]|0; + $27 = HEAP32[(20800)>>2]|0; + $28 = HEAP32[(20788)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(20496)>>2]|0; - $35 = HEAP32[(20484)>>2]|0; + $34 = HEAP32[(20800)>>2]|0; + $35 = HEAP32[(20788)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -17533,8 +17537,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(20496)>>2]|0; - $43 = HEAP32[(20484)>>2]|0; + $42 = HEAP32[(20800)>>2]|0; + $43 = HEAP32[(20788)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -17542,8 +17546,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(20496)>>2]|0; - $51 = HEAP32[(20484)>>2]|0; + $50 = HEAP32[(20800)>>2]|0; + $51 = HEAP32[(20788)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -17551,9 +17555,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(20484)>>2]|0; + $58 = HEAP32[(20788)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(20484)>>2] = $59; + HEAP32[(20788)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -17569,8 +17573,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5131]|0; - $62 = HEAP32[(20532)>>2]|0; + $61 = HEAP32[5207]|0; + $62 = HEAP32[(20836)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[764]; @@ -17589,16 +17593,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(20544)>>2]|0; - $67 = HEAP32[(20532)>>2]|0; + $66 = HEAP32[(20848)>>2]|0; + $67 = HEAP32[(20836)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(20544)>>2]|0; - $74 = HEAP32[(20532)>>2]|0; + $73 = HEAP32[(20848)>>2]|0; + $74 = HEAP32[(20836)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -17606,8 +17610,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(20544)>>2]|0; - $82 = HEAP32[(20532)>>2]|0; + $81 = HEAP32[(20848)>>2]|0; + $82 = HEAP32[(20836)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -17615,8 +17619,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(20544)>>2]|0; - $90 = HEAP32[(20532)>>2]|0; + $89 = HEAP32[(20848)>>2]|0; + $90 = HEAP32[(20836)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -17624,9 +17628,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(20532)>>2]|0; + $97 = HEAP32[(20836)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(20532)>>2] = $98; + HEAP32[(20836)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -17642,8 +17646,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5143]|0; - $101 = HEAP32[(20580)>>2]|0; + $100 = HEAP32[5219]|0; + $101 = HEAP32[(20884)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -17651,16 +17655,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(20592)>>2]|0; - $106 = HEAP32[(20580)>>2]|0; + $105 = HEAP32[(20896)>>2]|0; + $106 = HEAP32[(20884)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(20592)>>2]|0; - $113 = HEAP32[(20580)>>2]|0; + $112 = HEAP32[(20896)>>2]|0; + $113 = HEAP32[(20884)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -17668,8 +17672,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(20592)>>2]|0; - $121 = HEAP32[(20580)>>2]|0; + $120 = HEAP32[(20896)>>2]|0; + $121 = HEAP32[(20884)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -17677,8 +17681,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(20592)>>2]|0; - $129 = HEAP32[(20580)>>2]|0; + $128 = HEAP32[(20896)>>2]|0; + $129 = HEAP32[(20884)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -17686,9 +17690,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(20580)>>2]|0; + $136 = HEAP32[(20884)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(20580)>>2] = $137; + HEAP32[(20884)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -17699,8 +17703,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5143]|0; - $140 = HEAP32[(20576)>>2]|0; + $139 = HEAP32[5219]|0; + $140 = HEAP32[(20880)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[764]; @@ -17708,8 +17712,8 @@ function _rlEnd() { HEAPF32[764] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(20588)>>2]|0; - $$promoted = HEAP32[(20576)>>2]|0; + $142 = HEAP32[(20892)>>2]|0; + $$promoted = HEAP32[(20880)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -17717,7 +17721,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(20576)>>2] = $147; + HEAP32[(20880)>>2] = $147; $148 = +HEAPF32[764]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[764] = $149; @@ -17744,11 +17748,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5297]|0; + $3 = HEAP32[5373]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4857]|0; - $6 = HEAP32[5298]|0; + $5 = HEAP32[4933]|0; + $6 = HEAP32[5374]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17756,16 +17760,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5298] = $10; + HEAP32[5374] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4860]|0; + $11 = HEAP32[4936]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5119]|0; + $12 = HEAP32[5195]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(20488)>>2]|0; + $14 = HEAP32[(20792)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17776,7 +17780,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5119] = $21; + HEAP32[5195] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9425,$vararg_buffer); @@ -17785,10 +17789,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[5131]|0; + $22 = HEAP32[5207]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(20536)>>2]|0; + $24 = HEAP32[(20840)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17799,7 +17803,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5131] = $31; + HEAP32[5207] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9450,$vararg_buffer1); @@ -17808,10 +17812,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[5143]|0; + $32 = HEAP32[5219]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(20584)>>2]|0; + $34 = HEAP32[(20888)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17822,9 +17826,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5143] = $41; - $42 = HEAP32[4858]|0; - $43 = HEAP32[4859]|0; + HEAP32[5219] = $41; + $42 = HEAP32[4934]|0; + $43 = HEAP32[4935]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17856,13 +17860,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4860]|0; + $2 = HEAP32[4936]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(20588)>>2]|0; - $5 = HEAP32[(20576)>>2]|0; + $4 = HEAP32[(20892)>>2]|0; + $5 = HEAP32[(20880)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17870,7 +17874,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(20576)>>2] = $10; + HEAP32[(20880)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17889,18 +17893,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4860]|0; + $4 = HEAP32[4936]|0; switch ($4|0) { case 1: { - $$sink37 = (20484);$$sink38 = (20496); + $$sink37 = (20788);$$sink38 = (20800); break; } case 4: { - $$sink37 = (20532);$$sink38 = (20544); + $$sink37 = (20836);$$sink38 = (20848); break; } case 7: { - $$sink37 = (20580);$$sink38 = (20592); + $$sink37 = (20884);$$sink38 = (20896); break; } default: { @@ -17954,8 +17958,8 @@ function _rlEnableTexture($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 = HEAP32[4858]|0; - $2 = HEAP32[4859]|0; + $1 = HEAP32[4934]|0; + $2 = HEAP32[4935]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17968,9 +17972,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4859] = $10; + HEAP32[4935] = $10; } - $11 = HEAP32[4859]|0; + $11 = HEAP32[4935]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17981,7 +17985,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5143]|0; + $0 = HEAP32[5219]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -18008,14 +18012,14 @@ function _rlDeleteVertexArrays($0) { $vararg_buffer = sp; $1 = sp + 4|0; HEAP32[$1>>2] = $0; - $2 = HEAP32[4821]|0; + $2 = HEAP32[4897]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = ($0|0)==(0); if (!($4)) { - $5 = HEAP32[4824]|0; + $5 = HEAP32[4900]|0; FUNCTION_TABLE_vii[$5 & 63](1,$1); } $6 = HEAP32[$1>>2]|0; @@ -18036,7 +18040,7 @@ function _rlDeleteBuffers($0) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4821]|0; + $3 = HEAP32[4897]|0; $4 = ($3|0)==(0); if (!($4)) { STACKTOP = sp;return; @@ -18168,12 +18172,12 @@ function _rlglLoadMesh($0,$1) { ;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; HEAP32[$2>>2] = 0; ;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;HEAP32[$3+24>>2]=0|0; - $13 = HEAP32[4821]|0; + $13 = HEAP32[4897]|0; $14 = ($13|0)==(0); if (!($14)) { - $15 = HEAP32[4822]|0; + $15 = HEAP32[4898]|0; FUNCTION_TABLE_vii[$15 & 63](1,$2); - $16 = HEAP32[4823]|0; + $16 = HEAP32[4899]|0; $17 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$16 & 31]($17); } @@ -18303,7 +18307,7 @@ function _rlglLoadMesh($0,$1) { $80 = ((($3)) + 24|0); $81 = HEAP32[$80>>2]|0; HEAP32[$11>>2] = $81; - $82 = HEAP32[4821]|0; + $82 = HEAP32[4897]|0; $83 = ($82|0)==(0); if ($83) { _TraceLog(0,9933,$vararg_buffer3); @@ -18408,13 +18412,13 @@ function _rlglDrawMesh($0,$1,$2) { $63 = $62 / 255.0; _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); } - dest=$3; src=19216; 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)); - dest=$4; src=19152; 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)); + dest=$3; src=19520; 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)); + dest=$4; src=19456; 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)); dest=$modelview$byval_copy4; 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)); - dest=$$byval_copy5; src=19216; 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)); + dest=$$byval_copy5; src=19520; 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)); _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[4829]|0; + $65 = HEAP32[4905]|0; $66 = ($64|0)==($65|0); if (!($66)) { $67 = (_glGetUniformLocation(($64|0),(9981|0))|0); @@ -18490,7 +18494,7 @@ function _rlglDrawMesh($0,$1,$2) { _glUniform1i(($106|0),2); } } - $107 = HEAP32[4821]|0; + $107 = HEAP32[4897]|0; $108 = ($107|0)==(0); if ($108) { $112 = ((($0)) + 40|0); @@ -18570,16 +18574,16 @@ function _rlglDrawMesh($0,$1,$2) { $151 = HEAP32[$150>>2]|0; $152 = ($151|0)==(0|0); if (!($152)) { - $153 = HEAP32[(20616)>>2]|0; + $153 = HEAP32[(20920)>>2]|0; _glBindBuffer(34963,($153|0)); } } else { - $109 = HEAP32[4823]|0; + $109 = HEAP32[4899]|0; $110 = ((($0)) + 36|0); $111 = HEAP32[$110>>2]|0; FUNCTION_TABLE_vi[$109 & 31]($111); } - $154 = HEAP32[5206]|0; + $154 = HEAP32[5282]|0; $155 = ($154|0)!=(0); $$ = $155 ? 2 : 1; $156 = ((($1)) + 28|0); @@ -18593,10 +18597,10 @@ function _rlglDrawMesh($0,$1,$2) { dest=$$byval_copy5; src=$5; 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)); _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); } else { - dest=19216; src=$5; 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)); + dest=19520; src=$5; 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)); } - dest=$modelview$byval_copy4; src=19216; 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)); - dest=$$byval_copy5; src=19152; 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)); + dest=$modelview$byval_copy4; src=19520; 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)); + dest=$$byval_copy5; src=19456; 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)); _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); $162 = HEAP32[$156>>2]|0; dest=$$byval_copy5; src=$6; 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)); @@ -18633,14 +18637,14 @@ function _rlglDrawMesh($0,$1,$2) { } _glActiveTexture(33984); _glBindTexture(3553,0); - $172 = HEAP32[4821]|0; + $172 = HEAP32[4897]|0; $173 = ($172|0)==(0); if (!($173)) { - $174 = HEAP32[4823]|0; + $174 = HEAP32[4899]|0; FUNCTION_TABLE_vi[$174 & 31](0); _glUseProgram(0); - dest=19152; src=$4; 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)); - dest=19216; src=$3; 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)); + dest=19456; src=$4; 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)); + dest=19520; src=$3; 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)); STACKTOP = sp;return; } _glBindBuffer(34962,0); @@ -18649,14 +18653,14 @@ function _rlglDrawMesh($0,$1,$2) { $177 = ($176|0)==(0|0); if ($177) { _glUseProgram(0); - dest=19152; src=$4; 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)); - dest=19216; src=$3; 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)); + dest=19456; src=$4; 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)); + dest=19520; src=$3; 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)); STACKTOP = sp;return; } _glBindBuffer(34963,0); _glUseProgram(0); - dest=19152; src=$4; 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)); - dest=19216; src=$3; 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)); + dest=19456; src=$4; 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)); + dest=19520; src=$3; 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)); STACKTOP = sp;return; } function _rlglUnloadMesh($0) { @@ -18736,7 +18740,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4828]|0; + $1 = HEAP32[4904]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -18759,7 +18763,7 @@ function _LoadText($0) { $$1 = 0; STACKTOP = sp;return ($$1|0); } - $2 = (_fopen($0,12126)|0); + $2 = (_fopen($0,12434)|0); $3 = ($2|0)==(0|0); if ($3) { HEAP32[$vararg_buffer>>2] = $0; @@ -18814,7 +18818,7 @@ function _LoadShader($0,$1,$2) { $11 = ($10|0)==(0); if ($11) { _TraceLog(2,10069,$vararg_buffer); - dest=$3; src=19316; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$3; src=19620; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } dest=$0; src=$3; stop=dest+56|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; @@ -18840,14 +18844,14 @@ function _BeginShaderMode($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - $1 = HEAP32[4843]|0; + $1 = HEAP32[4919]|0; $2 = HEAP32[$0>>2]|0; $3 = ($1|0)==($2|0); if ($3) { return; } _rlglDraw(); - dest=19372; src=$0; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19676; src=$0; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _EndShaderMode() { @@ -18855,7 +18859,7 @@ function _EndShaderMode() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $defaultShader$byval_copy = sp; - dest=$defaultShader$byval_copy; src=19316; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$defaultShader$byval_copy; src=19620; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginShaderMode($defaultShader$byval_copy); STACKTOP = sp;return; } @@ -18863,7 +18867,7 @@ function _GetDefaultShader($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=$0; src=19316; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$0; src=19620; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _GetShaderLocation($0,$1) { @@ -18919,40 +18923,11 @@ function _SetShaderValue($0,$1,$2,$3) { } STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(10244); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,11577)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5299] = $0; + HEAP32[5375] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -19016,7 +18991,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((10256|0),(10282|0),1125,(10305|0)); + ___assert_fail((10244|0),(10270|0),1041,(10293|0)); // unreachable; } } @@ -19034,7 +19009,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5300]|0; + $15 = HEAP32[5376]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -19127,7 +19102,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(10346); + _stbi__err(10334); $$0 = 0; return ($$0|0); } else { @@ -19149,7 +19124,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(10337); + _stbi__err(10325); $$0 = 0; return ($$0|0); } @@ -19219,7 +19194,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(10365); + _stbi__err(10353); $$045 = 0; return ($$045|0); } @@ -19780,7 +19755,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (10681 + ($120)|0); + $121 = (10669 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -19822,97 +19797,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(10455); + _stbi__err(10443); $$6$ph = 0; break; } case 9: { - _stbi__err(10469); + _stbi__err(10457); $$6$ph = 0; break; } case 11: { - _stbi__err(10482); + _stbi__err(10470); $$6$ph = 0; break; } case 13: { - _stbi__err(10482); + _stbi__err(10470); $$6$ph = 0; break; } case 15: { - _stbi__err(10492); + _stbi__err(10480); $$6$ph = 0; break; } case 17: { - _stbi__err(10512); + _stbi__err(10500); $$6$ph = 0; break; } case 20: { - _stbi__err(10512); + _stbi__err(10500); $$6$ph = 0; break; } case 22: { - _stbi__err(10512); + _stbi__err(10500); $$6$ph = 0; break; } case 24: { - _stbi__err(10522); + _stbi__err(10510); $$6$ph = 0; break; } case 26: { - _stbi__err(10538); + _stbi__err(10526); $$6$ph = 0; break; } case 28: { - _stbi__err(10556); + _stbi__err(10544); $$6$ph = 0; break; } case 31: { - _stbi__err(10577); + _stbi__err(10565); $$6$ph = 0; break; } case 34: { - _stbi__err(10482); + _stbi__err(10470); $$6$ph = 0; break; } case 37: { - _stbi__err(10482); + _stbi__err(10470); $$6$ph = 0; break; } case 39: { - _stbi__err(10591); + _stbi__err(10579); $$6$ph = 0; break; } case 41: { - _stbi__err(10606); + _stbi__err(10594); $$6$ph = 0; break; } case 44: { - _stbi__err(10606); + _stbi__err(10594); $$6$ph = 0; break; } case 47: { - _stbi__err(10591); + _stbi__err(10579); $$6$ph = 0; break; } case 49: { - _stbi__err(10619); + _stbi__err(10607); $$6$ph = 0; break; } @@ -19923,32 +19898,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(10635); + _stbi__err(10623); $$6$ph = 0; break; } case 58: { - _stbi__err(10652); + _stbi__err(10640); $$6$ph = 0; break; } case 61: { - _stbi__err(10665); + _stbi__err(10653); $$6$ph = 0; break; } case 63: { - _stbi__err(10652); + _stbi__err(10640); $$6$ph = 0; break; } case 70: { - _stbi__err(10591); + _stbi__err(10579); $$6$ph = 0; break; } case 72: { - _stbi__err(10690); + _stbi__err(10678); $$6$ph = 0; break; } @@ -19960,12 +19935,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(10337); + _stbi__err(10325); $$6$ph = 0; break; } case 83: { - _stbi__err(10698); + _stbi__err(10686); $$6$ph = 0; break; } @@ -19978,7 +19953,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(10708); + _stbi__err(10696); $$4 = 0; break; } @@ -20043,7 +20018,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5301]|0; + $193 = HEAP32[5377]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -20076,7 +20051,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(10591); + _stbi__err(10579); $$4 = 0; } } while(0); @@ -20084,24 +20059,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(10591); + _stbi__err(10579); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[10716] = $206; + HEAP8[10704] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(10717)>>0] = $209; + HEAP8[(10705)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(10718)>>0] = $211; + HEAP8[(10706)>>0] = $211; $212 = $207&255; - HEAP8[(10719)>>0] = $212; - _stbi__err(10716); + HEAP8[(10707)>>0] = $212; + _stbi__err(10704); $$6$ph = 0; break; } @@ -20135,14 +20110,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10378|0),(10282|0),1561,(10434|0)); + ___assert_fail((10366|0),(10270|0),1477,(10422|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(10337); + _stbi__err(10325); $$0163 = 0; return ($$0163|0); } @@ -20505,7 +20480,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10432|0),(10282|0),1590,(10434|0)); + ___assert_fail((10420|0),(10270|0),1506,(10422|0)); // unreachable; } } while(0); @@ -20539,7 +20514,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10378|0),(10282|0),1610,(10409|0)); + ___assert_fail((10366|0),(10270|0),1526,(10397|0)); // unreachable; } $7 = $2 << 1; @@ -20549,7 +20524,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(10337); + _stbi__err(10325); $$0163 = 0; return ($$0163|0); } @@ -20912,7 +20887,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10432|0),(10282|0),1639,(10409|0)); + ___assert_fail((10420|0),(10270|0),1555,(10397|0)); // unreachable; } } while(0); @@ -21060,7 +21035,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(11373); + _stbi__err(11681); $$05 = 0; return ($$05|0); } @@ -21497,7 +21472,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10775|0),(10282|0),4568,(10827|0)); + ___assert_fail((10763|0),(10270|0),4569,(10815|0)); // unreachable; } } @@ -21584,7 +21559,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10775|0),(10282|0),4543,(10800|0)); + ___assert_fail((10763|0),(10270|0),4544,(10788|0)); // unreachable; } } @@ -21631,7 +21606,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5302]|0; + $16 = HEAP32[5378]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -21706,7 +21681,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((10741|0),(10282|0),4649,(10759|0)); + ___assert_fail((10729|0),(10270|0),4650,(10747|0)); // unreachable; } } @@ -21729,7 +21704,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(10337); + _stbi__err(10325); $$0 = 0; return ($$0|0); } @@ -21906,7 +21881,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10856|0),(10282|0),4294,(10897|0)); + ___assert_fail((10844|0),(10270|0),4294,(10885|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -21914,7 +21889,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(10337); + _stbi__err(10325); $$2 = 0; return ($$2|0); } @@ -21933,7 +21908,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10924); + _stbi__err(10912); $$2 = 0; return ($$2|0); } @@ -21946,7 +21921,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10924); + _stbi__err(10912); $$2 = 0; return ($$2|0); } @@ -21954,12 +21929,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -21982,33 +21957,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10963 + ($56)|0); + $60 = (10951 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -22018,24 +21993,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -22045,10 +22020,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -22059,10 +22034,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -22073,14 +22048,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -22110,7 +22085,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -22125,12 +22100,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -22707,15 +22682,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10942|0),(10282|0),4315,(10897|0)); + ___assert_fail((10930|0),(10270|0),4315,(10885|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10968|0),(10282|0),4376,(10897|0)); + ___assert_fail((10956|0),(10270|0),4377,(10885|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10985); + _stbi__err(10973); $$2 = 0; return ($$2|0); } @@ -22765,7 +22740,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (10681 + ($6)|0); + $336 = (10669 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -23206,7 +23181,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((11000|0),(10282|0),4465,(10897|0)); + ___assert_fail((10988|0),(10270|0),4466,(10885|0)); // unreachable; } else if ((label|0) == 151) { @@ -23266,8 +23241,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -23282,15 +23257,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -23299,65 +23274,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(23118)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10999,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,23119,288)|0); + $15 = (_stbi__zbuild_huffman($8,11287,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,23087,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -23376,14 +23346,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(11326); + _stbi__err(11634); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(11342); + _stbi__err(11650); $$0 = 0; return ($$0|0); } @@ -23392,7 +23362,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(11357); + _stbi__err(11665); $$0 = 0; return ($$0|0); } @@ -23475,7 +23445,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((11248|0),(10282|0),4048,(11265|0)); + ___assert_fail((11556|0),(10270|0),4033,(11573|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -23512,7 +23482,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(11296); + _stbi__err(11604); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23522,7 +23492,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(11309); + _stbi__err(11617); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23552,21 +23522,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((23119|0),8,144)|0; - dest=(23263); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(23375); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (23399); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=23087; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -23700,7 +23655,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(11186); + _stbi__err(11494); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23789,7 +23744,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(11238); + _stbi__err(11546); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23818,7 +23773,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (12032 + ($$06579)|0); + $14 = (12340 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -23909,21 +23864,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(11186); + _stbi__err(11494); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(11186); + _stbi__err(11494); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((11202|0),(10282|0),4021,(11210|0)); + ___assert_fail((11510|0),(10270|0),4006,(11518|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(11186); + _stbi__err(11494); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23933,7 +23888,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(11186); + _stbi__err(11494); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -24097,7 +24052,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(11011); + _stbi__err(11319); $$3$ph = 0; return ($$3$ph|0); } @@ -24107,12 +24062,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(11011); + _stbi__err(11319); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(11028); + _stbi__err(11336); $$3$ph = 0; return ($$3$ph|0); } @@ -24169,7 +24124,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(11037); + _stbi__err(11345); $$0 = 0; return ($$0|0); } @@ -24195,7 +24150,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(10337); + _stbi__err(10325); $$0 = 0; return ($$0|0); } else { @@ -24240,7 +24195,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((11133|0),(10282|0),3863,(11170|0)); + ___assert_fail((11441|0),(10270|0),3848,(11478|0)); // unreachable; } else if ((label|0) == 5) { @@ -24288,7 +24243,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((11057|0),(10282|0),3891,(11073|0)); + ___assert_fail((11365|0),(10270|0),3876,(11381|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -24316,7 +24271,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((11104|0),(10282|0),3781,(11115|0)); + ___assert_fail((11412|0),(10270|0),3766,(11423|0)); // unreachable; } return (0)|0; @@ -24462,10 +24417,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -24476,27 +24431,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,11385)|0); + $6 = (_IsFileExtension($1,11693)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,11438)|0); + $19 = (_IsFileExtension($1,11746)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,11443,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,11751,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,11885)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -24524,7 +24480,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -24541,18 +24497,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11391,$vararg_buffer); + _TraceLog(2,11699,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -24561,34 +24517,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,11479,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,11787,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,11518,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11826,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -24607,11 +24570,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,11577)|0); + $4 = (_fopen($0,11885)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11580,$vararg_buffer); + _TraceLog(2,11888,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -24710,7 +24673,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,11677,$vararg_buffer4); + _TraceLog(0,11985,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -24745,14 +24708,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11723,$vararg_buffer8); + _TraceLog(2,12031,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,11631,$vararg_buffer1); + _TraceLog(2,11939,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -24842,7 +24805,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,11549,$vararg_buffer); + _TraceLog(2,11857,$vararg_buffer); $$0 = $6; } } @@ -24887,27 +24850,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11773,$vararg_buffer); + _TraceLog(2,12081,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11812,$vararg_buffer1); + _TraceLog(2,12120,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11838,$vararg_buffer3); + _TraceLog(2,12146,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11901,$vararg_buffer5); + _TraceLog(2,12209,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11936,$vararg_buffer7); + _TraceLog(2,12244,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11971,$vararg_buffer10); + _TraceLog(0,12279,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -26090,7 +26053,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (12028 + ($$361133)|0); + $199 = (12336 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -26520,7 +26483,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (12028 + ($$331130)|0); + $186 = (12336 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -26558,7 +26521,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (12028 + ($$371134)|0); + $203 = (12336 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -26597,7 +26560,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (12032 + ($$421139)|0); + $235 = (12340 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -27004,7 +26967,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (12051 + ($495)|0); + $496 = (12359 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -27041,7 +27004,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (12055 + ($515)|0); + $516 = (12363 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -27953,7 +27916,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,12059,$vararg_buffer); + _TraceLog(2,12367,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -27986,7 +27949,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[19000>>2]|0;HEAP32[$0+4>>2]=HEAP32[19000+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19000+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19000+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19000+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19000+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19000+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19000+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[19304>>2]|0;HEAP32[$0+4>>2]=HEAP32[19304+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19304+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19304+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19304+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19304+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19304+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19304+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -28420,8 +28383,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(23407,$0,$1)|0); - STACKTOP = sp;return (23407|0); + (_vsprintf(23391,$0,$1)|0); + STACKTOP = sp;return (23391|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -28431,7 +28394,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[5303]|0; + $3 = HEAP32[5379]|0; $4 = HEAP32[925]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -28439,14 +28402,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[5304] = $7; + HEAP32[5380] = $7; HEAP32[925] = $7; $$sink = 0; } - HEAP32[5303] = $$sink; - $8 = HEAP32[5304]|0; + HEAP32[5379] = $$sink; + $8 = HEAP32[5380]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(12088,$$byval_copy)|0); + (_FormatText(12396,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -28455,7 +28418,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(23407,$0,$1,20,$$byval_copy); + _DrawText(23391,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _DrawGrid($0,$1) { @@ -28516,7 +28479,7 @@ function _LoadMesh($0,$1) { $2 = sp + 72|0; $3 = sp + 4|0; dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (_IsFileExtension($1,12096)|0); + $4 = (_IsFileExtension($1,12404)|0); $5 = ($4|0)==(0); if (!($5)) { _LoadOBJ($3,$1); @@ -28525,7 +28488,7 @@ function _LoadMesh($0,$1) { $6 = HEAP32[$2>>2]|0; $7 = ($6|0)==(0); if ($7) { - _TraceLog(2,12101,$vararg_buffer); + _TraceLog(2,12409,$vararg_buffer); } else { _rlglLoadMesh($2,0); } @@ -28598,11 +28561,11 @@ function _LoadOBJ($0,$1) { $13 = sp + 344|0; $14 = sp + 332|0; dest=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $15 = (_fopen($1,12126)|0); + $15 = (_fopen($1,12434)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,12129,$vararg_buffer); + _TraceLog(2,12437,$vararg_buffer); $$sroa$75$0$$sroa_idx = ((($0)) + 32|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;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; dest=$$sroa$75$0$$sroa_idx; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -28622,7 +28585,7 @@ function _LoadOBJ($0,$1) { L12: while(1) { L14: while(1) { HEAP32[$vararg_buffer1>>2] = $2; - (_fscanf($15,12163,$vararg_buffer1)|0); + (_fscanf($15,12471,$vararg_buffer1)|0); $19 = HEAP8[$2>>0]|0; $20 = $19 << 24 >> 24; switch ($20|0) { @@ -28649,7 +28612,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer4>>2] = $2; - (_fscanf($15,12163,$vararg_buffer4)|0); + (_fscanf($15,12471,$vararg_buffer4)|0); $23 = HEAP8[$2>>0]|0; switch ($23<<24>>24) { case 116: { @@ -28714,19 +28677,19 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $$0$ph379$lcssa386; - _TraceLog(3,12166,$vararg_buffer7); + _TraceLog(3,12474,$vararg_buffer7); HEAP32[$vararg_buffer11>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr14>>2] = $$0345$ph372$lcssa389; - _TraceLog(3,12194,$vararg_buffer11); + _TraceLog(3,12502,$vararg_buffer11); HEAP32[$$byval_copy102>>2] = $1; $vararg_ptr18 = ((($$byval_copy102)) + 4|0); HEAP32[$vararg_ptr18>>2] = $$0344$ph376$lcssa388; - _TraceLog(3,12223,$$byval_copy102); + _TraceLog(3,12531,$$byval_copy102); HEAP32[$$byval_copy103>>2] = $1; $vararg_ptr22 = ((($$byval_copy103)) + 4|0); HEAP32[$vararg_ptr22>>2] = $$0346$ph$lcssa; - _TraceLog(3,12250,$$byval_copy103); + _TraceLog(3,12558,$$byval_copy103); $36 = ($$0$ph379$lcssa386*12)|0; $37 = (_malloc($36)|0); $38 = ($$0344$ph376$lcssa388|0)>(0); @@ -28758,7 +28721,7 @@ function _LoadOBJ($0,$1) { L36: while(1) { L38: while(1) { HEAP32[$vararg_buffer23>>2] = $2; - (_fscanf($15,12163,$vararg_buffer23)|0); + (_fscanf($15,12471,$vararg_buffer23)|0); $46 = HEAP8[$2>>0]|0; $47 = $46 << 24 >> 24; switch ($47|0) { @@ -28780,7 +28743,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer26>>2] = $2; - (_fscanf($15,12163,$vararg_buffer26)|0); + (_fscanf($15,12471,$vararg_buffer26)|0); $50 = HEAP8[$2>>0]|0; switch ($50<<24>>24) { case 110: { @@ -28799,10 +28762,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer29>>2] = $51; $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); HEAP32[$vararg_ptr32>>2] = $52; - (_fscanf($15,12279,$vararg_buffer29)|0); + (_fscanf($15,12587,$vararg_buffer29)|0); $53 = (($$0353$ph367397) + 1)|0; HEAP32[$vararg_buffer33>>2] = $2; - (_fscanf($15,12163,$vararg_buffer33)|0); + (_fscanf($15,12471,$vararg_buffer33)|0); $54 = (_feof($15)|0); $55 = ($54|0)==(0); if ($55) { @@ -28819,10 +28782,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr39>>2] = $57; $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); HEAP32[$vararg_ptr40>>2] = $58; - (_fscanf($15,12293,$vararg_buffer36)|0); + (_fscanf($15,12601,$vararg_buffer36)|0); $59 = (($$0354$ph364398) + 1)|0; HEAP32[$vararg_buffer41>>2] = $2; - (_fscanf($15,12163,$vararg_buffer41)|0); + (_fscanf($15,12471,$vararg_buffer41)|0); $60 = (_feof($15)|0); $61 = ($60|0)==(0); if ($61) { @@ -28839,10 +28802,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr47>>2] = $63; $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); HEAP32[$vararg_ptr48>>2] = $64; - (_fscanf($15,12293,$vararg_buffer44)|0); + (_fscanf($15,12601,$vararg_buffer44)|0); $65 = (($$0355$ph400) + 1)|0; HEAP32[$vararg_buffer49>>2] = $2; - (_fscanf($15,12163,$vararg_buffer49)|0); + (_fscanf($15,12471,$vararg_buffer49)|0); $66 = (_feof($15)|0); $67 = ($66|0)==(0); if ($67) { @@ -28865,7 +28828,7 @@ function _LoadOBJ($0,$1) { $76 = ($$0344$ph376$lcssa388|0)==(0); if ($76) { HEAP32[$vararg_buffer52>>2] = $1; - _TraceLog(0,12302,$vararg_buffer52); + _TraceLog(0,12610,$vararg_buffer52); } $77 = ($$0345$ph372$lcssa389|0)==(0); $78 = $$0344$ph376$lcssa388 | $$0345$ph372$lcssa389; @@ -28905,7 +28868,7 @@ function _LoadOBJ($0,$1) { } L55: while(1) { HEAP32[$vararg_buffer55>>2] = $2; - (_fscanf($15,12163,$vararg_buffer55)|0); + (_fscanf($15,12471,$vararg_buffer55)|0); $106 = HEAP8[$2>>0]|0; $107 = $106 << 24 >> 24; switch ($107|0) { @@ -28933,7 +28896,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr61>>2] = $80; $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); HEAP32[$vararg_ptr62>>2] = $81; - (_fscanf($15,12373,$vararg_buffer58)|0); + (_fscanf($15,12681,$vararg_buffer58)|0); } else { if ($76) { HEAP32[$vararg_buffer63>>2] = $vararg_buffer11; @@ -28947,7 +28910,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr69>>2] = $90; $vararg_ptr70 = ((($vararg_buffer63)) + 20|0); HEAP32[$vararg_ptr70>>2] = $91; - (_fscanf($15,12382,$vararg_buffer63)|0); + (_fscanf($15,12690,$vararg_buffer63)|0); break; } if ($77) { @@ -28962,7 +28925,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr77>>2] = $94; $vararg_ptr78 = ((($vararg_buffer71)) + 20|0); HEAP32[$vararg_ptr78>>2] = $95; - (_fscanf($15,12400,$vararg_buffer71)|0); + (_fscanf($15,12708,$vararg_buffer71)|0); break; } else { HEAP32[$vararg_buffer79>>2] = $vararg_buffer11; @@ -28982,7 +28945,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr88>>2] = $100; $vararg_ptr89 = ((($vararg_buffer79)) + 32|0); HEAP32[$vararg_ptr89>>2] = $101; - (_fscanf($15,12421,$vararg_buffer79)|0); + (_fscanf($15,12729,$vararg_buffer79)|0); break; } } @@ -29362,7 +29325,7 @@ function _LoadOBJ($0,$1) { _free($369); _free($370); HEAP32[$vararg_buffer90>>2] = $1; - _TraceLog(0,12448,$vararg_buffer90); + _TraceLog(0,12756,$vararg_buffer90); HEAP32[$0>>2] = $68; $$sroa$12$0$$sroa_idx244 = ((($0)) + 4|0); HEAP32[$$sroa$12$0$$sroa_idx244>>2] = 0; @@ -29441,7 +29404,7 @@ function _UnloadModel($0) { $1 = ((($0)) + 132|0); _memcpy(($$byval_copy|0),($1|0),132)|0; _UnloadMaterial($$byval_copy); - _TraceLog(0,12492,$vararg_buffer); + _TraceLog(0,12800,$vararg_buffer); STACKTOP = sp;return; } function _UnloadMaterial($0) { @@ -29586,7 +29549,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,12550)|0); + $12 = (_strstr($11,12858)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -29595,7 +29558,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,12554)|0); + $17 = (_strstr($16,12862)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -29604,7 +29567,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,12558)|0); + $22 = (_strstr($21,12866)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -29613,7 +29576,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,12562)|0); + $27 = (_strstr($26,12870)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -29622,1210 +29585,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,12568)|0); + $32 = (_strcmp($31,12876)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,12606)|0); + $35 = (_strcmp($34,12914)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 12625; + HEAP32[$3>>2] = 12933; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,12638)|0); + $38 = (_strcmp($37,12946)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 12659; + HEAP32[$3>>2] = 12967; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12674)|0); + $41 = (_strcmp($40,12982)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 12689; + HEAP32[$3>>2] = 12997; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12704)|0); + $44 = (_strcmp($43,13012)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 12719; + HEAP32[$3>>2] = 13027; } } else { - HEAP32[$3>>2] = 12590; + HEAP32[$3>>2] = 12898; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12734)|0); + $47 = (_strcmp($46,13042)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12748)|0); + $50 = (_strcmp($49,13056)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12760)|0); + $53 = (_strcmp($52,13068)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12774)|0); + $56 = (_strcmp($55,13082)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12786)|0); + $59 = (_strcmp($58,13094)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12800)|0); + $62 = (_strcmp($61,13108)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12814)|0); + $65 = (_strcmp($64,13122)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12831)|0); + $68 = (_strcmp($67,13139)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12854)|0); + $71 = (_strcmp($70,13162)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12880)|0); + $74 = (_strcmp($73,13188)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12893)|0); + $77 = (_strcmp($76,13201)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12909)|0); + $80 = (_strcmp($79,13217)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12922)|0); + $83 = (_strcmp($82,13230)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12936)|0); + $86 = (_strcmp($85,13244)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12956)|0); + $89 = (_strcmp($88,13264)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12976)|0); + $92 = (_strcmp($91,13284)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12993)|0); + $95 = (_strcmp($94,13301)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,13010)|0); + $98 = (_strcmp($97,13318)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,13022)|0); + $101 = (_strcmp($100,13330)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,13035)|0); + $104 = (_strcmp($103,13343)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,13051)|0); + $107 = (_strcmp($106,13359)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,13074)|0); + $110 = (_strcmp($109,13382)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,13087)|0); + $113 = (_strcmp($112,13395)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,13103)|0); + $116 = (_strcmp($115,13411)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,13114)|0); + $119 = (_strcmp($118,13422)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,13133)|0); + $122 = (_strcmp($121,13441)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,13155)|0); + $125 = (_strcmp($124,13463)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,13174)|0); + $128 = (_strcmp($127,13482)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,13203)|0); + $131 = (_strcmp($130,13511)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,13220)|0); + $134 = (_strcmp($133,13528)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,13235)|0); + $137 = (_strcmp($136,13543)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,13250)|0); + $140 = (_strcmp($139,13558)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,13271)|0); + $143 = (_strcmp($142,13579)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,13291)|0); + $146 = (_strcmp($145,13599)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,13311)|0); + $149 = (_strcmp($148,13619)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,13337)|0); + $152 = (_strcmp($151,13645)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,13356)|0); + $155 = (_strcmp($154,13664)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,13368)|0); + $158 = (_strcmp($157,13676)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,13380)|0); + $161 = (_strcmp($160,13688)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,13392)|0); + $164 = (_strcmp($163,13700)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,13404)|0); + $167 = (_strcmp($166,13712)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,13416)|0); + $170 = (_strcmp($169,13724)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,13428)|0); + $173 = (_strcmp($172,13736)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,13440)|0); + $176 = (_strcmp($175,13748)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,13452)|0); + $179 = (_strcmp($178,13760)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,13465)|0); + $182 = (_strcmp($181,13773)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,13478)|0); + $185 = (_strcmp($184,13786)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,13491)|0); + $188 = (_strcmp($187,13799)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,13504)|0); + $191 = (_strcmp($190,13812)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,13517)|0); + $194 = (_strcmp($193,13825)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,13530)|0); + $197 = (_strcmp($196,13838)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,13543)|0); + $200 = (_strcmp($199,13851)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,13556)|0); + $203 = (_strcmp($202,13864)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,13575)|0); + $206 = (_strcmp($205,13883)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,13594)|0); + $209 = (_strcmp($208,13902)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,13613)|0); + $212 = (_strcmp($211,13921)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,13626)|0); + $215 = (_strcmp($214,13934)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,13644)|0); + $218 = (_strcmp($217,13952)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13662)|0); + $221 = (_strcmp($220,13970)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13680)|0); + $224 = (_strcmp($223,13988)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13698)|0); + $227 = (_strcmp($226,14006)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13718)|0); + $230 = (_strcmp($229,14026)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12659)|0); + $233 = (_strcmp($232,12967)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13736)|0); + $236 = (_strcmp($235,14044)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13751)|0); + $239 = (_strcmp($238,14059)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13772)|0); + $242 = (_strcmp($241,14080)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13787)|0); + $245 = (_strcmp($244,14095)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13805)|0); + $248 = (_strcmp($247,14113)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13821)|0); + $251 = (_strcmp($250,14129)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13840)|0); + $254 = (_strcmp($253,14148)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13854)|0); + $257 = (_strcmp($256,14162)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13869)|0); + $260 = (_strcmp($259,14177)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,12590)|0); + $263 = (_strcmp($262,12898)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13880)|0); + $266 = (_strcmp($265,14188)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12689)|0); + $269 = (_strcmp($268,12997)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12719)|0); + $272 = (_strcmp($271,13027)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13896)|0); + $275 = (_strcmp($274,14204)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13923)|0); + $278 = (_strcmp($277,14231)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13937)|0); + $281 = (_strcmp($280,14245)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,12625)|0); + $284 = (_strcmp($283,12933)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13957)|0); + $287 = (_strcmp($286,14265)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13975)|0); + $290 = (_strcmp($289,14283)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13987)|0); + $293 = (_strcmp($292,14295)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,14008)|0); + $296 = (_strcmp($295,14316)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,14026)|0); + $299 = (_strcmp($298,14334)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,14044)|0); + $302 = (_strcmp($301,14352)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,14065)|0); + $305 = (_strcmp($304,14373)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,14091)|0); + $308 = (_strcmp($307,14399)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,14114)|0); + $311 = (_strcmp($310,14422)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,14152)|0); + $314 = (_strcmp($313,14460)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,14168)|0); + $317 = (_strcmp($316,14476)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,14183)|0); + $320 = (_strcmp($319,14491)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,14206)|0); + $323 = (_strcmp($322,14514)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,14219)|0); + $326 = (_strcmp($325,14527)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,14233)|0); + $329 = (_strcmp($328,14541)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,14247)|0); + $332 = (_strcmp($331,14555)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,14267)|0); + $335 = (_strcmp($334,14575)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,14287)|0); + $338 = (_strcmp($337,14595)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,14303)|0); + $341 = (_strcmp($340,14611)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,14321)|0); + $344 = (_strcmp($343,14629)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,14337)|0); + $347 = (_strcmp($346,14645)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,14352)|0); + $350 = (_strcmp($349,14660)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,14374)|0); + $353 = (_strcmp($352,14682)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,14392)|0); + $356 = (_strcmp($355,14700)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,14413)|0); + $359 = (_strcmp($358,14721)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,14431)|0); + $362 = (_strcmp($361,14739)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,14444)|0); + $365 = (_strcmp($364,14752)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,14459)|0); + $368 = (_strcmp($367,14767)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,14473)|0); + $371 = (_strcmp($370,14781)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,14483)|0); + $374 = (_strcmp($373,14791)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,14493)|0); + $377 = (_strcmp($376,14801)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,14515)|0); + $380 = (_strcmp($379,14823)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,14541)|0); + $383 = (_strcmp($382,14849)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,14568)|0); + $386 = (_strcmp($385,14876)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,14581)|0); + $389 = (_strcmp($388,14889)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,14596)|0); + $392 = (_strcmp($391,14904)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,14611)|0); + $395 = (_strcmp($394,14919)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,14635)|0); + $398 = (_strcmp($397,14943)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,14646)|0); + $401 = (_strcmp($400,14954)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14668)|0); + $404 = (_strcmp($403,14976)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14690)|0); + $407 = (_strcmp($406,14998)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14714)|0); + $410 = (_strcmp($409,15022)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14723)|0); + $413 = (_strcmp($412,15031)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14731)|0); + $416 = (_strcmp($415,15039)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14744)|0); + $419 = (_strcmp($418,15052)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14758)|0); + $422 = (_strcmp($421,15066)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14770)|0); + $425 = (_strcmp($424,15078)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14779)|0); + $428 = (_strcmp($427,15087)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14789)|0); + $431 = (_strcmp($430,15097)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14801)|0); + $434 = (_strcmp($433,15109)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14812)|0); + $437 = (_strcmp($436,15120)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14820)|0); + $440 = (_strcmp($439,15128)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14832)|0); + $443 = (_strcmp($442,15140)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14847)|0); + $446 = (_strcmp($445,15155)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14859)|0); + $449 = (_strcmp($448,15167)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14873)|0); + $452 = (_strcmp($451,15181)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14898)|0); + $455 = (_strcmp($454,15206)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14915)|0); + $458 = (_strcmp($457,15223)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14931)|0); + $461 = (_strcmp($460,15239)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14947)|0); + $464 = (_strcmp($463,15255)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14959)|0); + $467 = (_strcmp($466,15267)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14971)|0); + $470 = (_strcmp($469,15279)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14995)|0); + $473 = (_strcmp($472,15303)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,15008)|0); + $476 = (_strcmp($475,15316)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,15022)|0); + $479 = (_strcmp($478,15330)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,15044)|0); + $482 = (_strcmp($481,15352)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,15051)|0); + $485 = (_strcmp($484,15359)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,15067)|0); + $488 = (_strcmp($487,15375)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,15084)|0); + $491 = (_strcmp($490,15392)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,15101)|0); + $494 = (_strcmp($493,15409)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,15117)|0); + $497 = (_strcmp($496,15425)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,15133)|0); + $500 = (_strcmp($499,15441)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,15150)|0); + $503 = (_strcmp($502,15458)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,15164)|0); + $506 = (_strcmp($505,15472)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,15176)|0); + $509 = (_strcmp($508,15484)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,15187)|0); + $512 = (_strcmp($511,15495)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,15200)|0); + $515 = (_strcmp($514,15508)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,15210)|0); + $518 = (_strcmp($517,15518)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,15227)|0); + $521 = (_strcmp($520,15535)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,15239)|0); + $524 = (_strcmp($523,15547)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,15261)|0); + $527 = (_strcmp($526,15569)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,15281)|0); + $530 = (_strcmp($529,15589)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,15294)|0); + $533 = (_strcmp($532,15602)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,15316)|0); + $536 = (_strcmp($535,15624)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,15336)|0); + $539 = (_strcmp($538,15644)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,15353)|0); + $542 = (_strcmp($541,15661)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,15370)|0); + $545 = (_strcmp($544,15678)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,15390)|0); + $548 = (_strcmp($547,15698)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -30847,7 +30810,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (21220|0); + return (21524|0); } function ___stdio_close($0) { $0 = $0|0; @@ -31304,7 +31267,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((15507) + ($50)|0); + $49 = ((15815) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -31336,7 +31299,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((15507) + ($$0159)|0); + $60 = ((15815) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -31472,10 +31435,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (15763 + ($128)|0); + $129 = (16071 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((15507) + ($$1160169)|0); + $132 = ((15815) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -31497,7 +31460,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((15507) + ($$4163$be)|0); + $146 = ((15815) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -31548,7 +31511,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((15507) + ($$5$be)|0); + $178 = ((15815) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -31567,7 +31530,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((15507) + ($$1160169)|0); + $122 = ((15815) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -31589,7 +31552,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((15507) + ($$6$be)|0); + $197 = ((15815) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -31651,7 +31614,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((15507) + ($$7$be)|0); + $234 = ((15815) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -31670,7 +31633,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((15507) + ($$8)|0); + $238 = ((15815) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -31689,7 +31652,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((15507) + ($$9$be)|0); + $249 = ((15815) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -32525,7 +32488,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((15772 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((16080 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -32703,7 +32666,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 16236;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 16544;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -32724,7 +32687,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 16236;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 16544;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -32732,8 +32695,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 16236 : (16238); - $$$ = $238 ? $$ : (16237); + $$ = $240 ? 16544 : (16546); + $$$ = $238 ? $$ : (16545); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -32750,7 +32713,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 16236;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 16544;$242 = $167;$243 = $170; label = 66; break; } @@ -32763,7 +32726,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 16236;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 16544;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -32777,7 +32740,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 16246; + $271 = $270 ? $269 : 16554; $$1 = $271; label = 71; break; @@ -32817,7 +32780,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 16236;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 16544;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -32839,8 +32802,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (16236 + ($208)|0); - $$289 = $or$cond283 ? 16236 : $209; + $209 = (16544 + ($208)|0); + $$289 = $or$cond283 ? 16544 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -32861,7 +32824,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 16236;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 16544;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -33391,7 +33354,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (16284 + ($7)|0); + $9 = (16592 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -33749,14 +33712,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 16253; + $$0471 = $14;$$0520 = 1;$$0521 = 16561; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (16254) : (16259); - $$$ = $16 ? $$ : (16256); + $$ = $18 ? (16562) : (16567); + $$$ = $16 ? $$ : (16564); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -33855,7 +33818,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (16284 + ($80)|0); + $81 = (16592 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -34466,7 +34429,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,16300,1); + _out($0,16608,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -34547,7 +34510,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,16300,1); + _out($0,16608,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -34604,9 +34567,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 16272 : 16276; + $29 = $28 ? 16580 : 16584; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 18203 : 16280; + $31 = $28 ? 18511 : 16588; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -34816,7 +34779,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (16302 + ($$016)|0); + $3 = (16610 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -34827,7 +34790,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 16390;$$115 = 87; + $$01214 = 16698;$$115 = 87; label = 5; break; } else { @@ -34837,9 +34800,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 16390; + $$012$lcssa = 16698; } else { - $$01214 = 16390;$$115 = $$016; + $$01214 = 16698;$$115 = $$016; label = 5; } } @@ -35264,7 +35227,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (18194 + ($$0107127)|0); + $27 = (18502 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -35331,7 +35294,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (18203 + ($$2109125)|0); + $58 = (18511 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -37582,7 +37545,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 21284 : $3; + $$ = $5 ? 21588 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -37873,7 +37836,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(18207,$3,4)|0); + $memchr = (_memchr(18515,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -37962,7 +37925,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(18207,$4,4)|0); + $memchr = (_memchr(18515,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -38053,7 +38016,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(21224)>>2]|0; + $38 = HEAP32[(21528)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -38086,13 +38049,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((21288|0)); - return (21296|0); + ___lock((21592|0)); + return (21600|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((21288|0)); + ___unlock((21592|0)); return; } function _fclose($0) { @@ -40352,7 +40315,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 18488; + $2 = 18792; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -40666,7 +40629,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5325]|0; + $3 = HEAP32[5401]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -40685,22 +40648,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5325] = 0; + HEAP32[5401] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5325] = $10; + HEAP32[5401] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5325] = 0; + HEAP32[5401] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5325] = $13; + HEAP32[5401] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -40781,7 +40744,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5326]|0; + $8 = HEAP32[5402]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -40790,7 +40753,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (21344 + ($15<<2)|0); + $16 = (21648 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -40801,9 +40764,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5326] = $24; + HEAP32[5402] = $24; } else { - $25 = HEAP32[(21320)>>2]|0; + $25 = HEAP32[(21624)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -40834,7 +40797,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(21312)>>2]|0; + $37 = HEAP32[(21616)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -40868,7 +40831,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (21344 + ($68<<2)|0); + $69 = (21648 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -40879,10 +40842,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5326] = $77; + HEAP32[5402] = $77; $98 = $77; } else { - $78 = HEAP32[(21320)>>2]|0; + $78 = HEAP32[(21624)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -40915,22 +40878,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(21324)>>2]|0; + $92 = HEAP32[(21628)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (21344 + ($94<<2)|0); + $95 = (21648 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5326] = $100; + HEAP32[5402] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21320)>>2]|0; + $103 = HEAP32[(21624)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -40947,12 +40910,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(21312)>>2] = $84; - HEAP32[(21324)>>2] = $87; + HEAP32[(21616)>>2] = $84; + HEAP32[(21628)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(21308)>>2]|0; + $108 = HEAP32[(21612)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -40980,7 +40943,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21608 + ($132<<2)|0); + $133 = (21912 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -41020,7 +40983,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(21320)>>2]|0; + $155 = HEAP32[(21624)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -41115,7 +41078,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21608 + ($188<<2)|0); + $189 = (21912 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -41126,11 +41089,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(21308)>>2] = $194; + HEAP32[(21612)>>2] = $194; break L73; } } else { - $195 = HEAP32[(21320)>>2]|0; + $195 = HEAP32[(21624)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -41151,7 +41114,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(21320)>>2]|0; + $201 = HEAP32[(21624)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -41181,7 +41144,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(21320)>>2]|0; + $213 = HEAP32[(21624)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -41218,22 +41181,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(21324)>>2]|0; + $231 = HEAP32[(21628)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (21344 + ($233<<2)|0); + $234 = (21648 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5326] = $238; + HEAP32[5402] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21320)>>2]|0; + $241 = HEAP32[(21624)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -41250,8 +41213,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(21312)>>2] = $$0193$lcssa$i; - HEAP32[(21324)>>2] = $157; + HEAP32[(21616)>>2] = $$0193$lcssa$i; + HEAP32[(21628)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -41267,7 +41230,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(21308)>>2]|0; + $250 = HEAP32[(21612)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -41307,7 +41270,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21608 + ($$0358$i<<2)|0); + $278 = (21912 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -41399,7 +41362,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21608 + ($330<<2)|0); + $331 = (21912 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -41443,11 +41406,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(21312)>>2]|0; + $345 = HEAP32[(21616)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(21320)>>2]|0; + $348 = HEAP32[(21624)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -41544,7 +41507,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21608 + ($381<<2)|0); + $382 = (21912 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -41555,12 +41518,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(21308)>>2] = $387; + HEAP32[(21612)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(21320)>>2]|0; + $388 = HEAP32[(21624)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -41582,7 +41545,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(21320)>>2]|0; + $394 = HEAP32[(21624)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -41614,7 +41577,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(21320)>>2]|0; + $406 = HEAP32[(21624)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -41655,20 +41618,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (21344 + ($425<<2)|0); - $427 = HEAP32[5326]|0; + $426 = (21648 + ($425<<2)|0); + $427 = HEAP32[5402]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5326] = $431; + HEAP32[5402] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21320)>>2]|0; + $434 = HEAP32[(21624)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -41720,7 +41683,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21608 + ($$0361$i<<2)|0); + $464 = (21912 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -41732,7 +41695,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(21308)>>2] = $472; + HEAP32[(21612)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -41771,7 +41734,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(21320)>>2]|0; + $491 = HEAP32[(21624)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -41790,7 +41753,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21320)>>2]|0; + $498 = HEAP32[(21624)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -41823,16 +41786,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(21312)>>2]|0; + $506 = HEAP32[(21616)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21324)>>2]|0; + $509 = HEAP32[(21628)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(21324)>>2] = $511; - HEAP32[(21312)>>2] = $508; + HEAP32[(21628)>>2] = $511; + HEAP32[(21616)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -41842,8 +41805,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(21312)>>2] = 0; - HEAP32[(21324)>>2] = 0; + HEAP32[(21616)>>2] = 0; + HEAP32[(21628)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -41857,14 +41820,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(21316)>>2]|0; + $524 = HEAP32[(21620)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(21316)>>2] = $526; - $527 = HEAP32[(21328)>>2]|0; + HEAP32[(21620)>>2] = $526; + $527 = HEAP32[(21632)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(21328)>>2] = $528; + HEAP32[(21632)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -41875,23 +41838,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5444]|0; + $534 = HEAP32[5520]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(21784)>>2] = 4096; - HEAP32[(21780)>>2] = 4096; - HEAP32[(21788)>>2] = -1; - HEAP32[(21792)>>2] = -1; - HEAP32[(21796)>>2] = 0; - HEAP32[(21748)>>2] = 0; + HEAP32[(22088)>>2] = 4096; + HEAP32[(22084)>>2] = 4096; + HEAP32[(22092)>>2] = -1; + HEAP32[(22096)>>2] = -1; + HEAP32[(22100)>>2] = 0; + HEAP32[(22052)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5444] = $538; + HEAP32[5520] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(21784)>>2]|0; + $$pre$i212 = HEAP32[(22088)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -41904,10 +41867,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(21744)>>2]|0; + $546 = HEAP32[(22048)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(21736)>>2]|0; + $548 = HEAP32[(22040)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -41917,18 +41880,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(21748)>>2]|0; + $552 = HEAP32[(22052)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(21328)>>2]|0; + $555 = HEAP32[(21632)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (21752); + $$0$i$i = (22056); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -41986,7 +41949,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(21780)>>2]|0; + $569 = HEAP32[(22084)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -41996,13 +41959,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21736)>>2]|0; + $578 = HEAP32[(22040)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(21744)>>2]|0; + $582 = HEAP32[(22048)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -42048,7 +42011,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(21784)>>2]|0; + $601 = HEAP32[(22088)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -42073,9 +42036,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(21748)>>2]|0; + $611 = HEAP32[(22052)>>2]|0; $612 = $611 | 4; - HEAP32[(21748)>>2] = $612; + HEAP32[(22052)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -42111,35 +42074,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(21736)>>2]|0; + $626 = HEAP32[(22040)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(21736)>>2] = $627; - $628 = HEAP32[(21740)>>2]|0; + HEAP32[(22040)>>2] = $627; + $628 = HEAP32[(22044)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(21740)>>2] = $627; + HEAP32[(22044)>>2] = $627; } - $630 = HEAP32[(21328)>>2]|0; + $630 = HEAP32[(21632)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(21320)>>2]|0; + $632 = HEAP32[(21624)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(21320)>>2] = $$749$i; + HEAP32[(21624)>>2] = $$749$i; } - HEAP32[(21752)>>2] = $$749$i; - HEAP32[(21756)>>2] = $$723948$i; - HEAP32[(21764)>>2] = 0; - $635 = HEAP32[5444]|0; - HEAP32[(21340)>>2] = $635; - HEAP32[(21336)>>2] = -1; + HEAP32[(22056)>>2] = $$749$i; + HEAP32[(22060)>>2] = $$723948$i; + HEAP32[(22068)>>2] = 0; + $635 = HEAP32[5520]|0; + HEAP32[(21644)>>2] = $635; + HEAP32[(21640)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (21344 + ($636<<2)|0); + $637 = (21648 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -42162,18 +42125,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(21328)>>2] = $649; - HEAP32[(21316)>>2] = $650; + HEAP32[(21632)>>2] = $649; + HEAP32[(21620)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(21792)>>2]|0; - HEAP32[(21332)>>2] = $655; + $655 = HEAP32[(22096)>>2]|0; + HEAP32[(21636)>>2] = $655; } else { - $$024371$i = (21752); + $$024371$i = (22056); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -42205,7 +42168,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(21316)>>2]|0; + $671 = HEAP32[(21620)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -42216,30 +42179,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(21328)>>2] = $679; - HEAP32[(21316)>>2] = $681; + HEAP32[(21632)>>2] = $679; + HEAP32[(21620)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(21792)>>2]|0; - HEAP32[(21332)>>2] = $686; + $686 = HEAP32[(22096)>>2]|0; + HEAP32[(21636)>>2] = $686; break; } } } - $687 = HEAP32[(21320)>>2]|0; + $687 = HEAP32[(21624)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(21320)>>2] = $$749$i; + HEAP32[(21624)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (21752); + $$124470$i = (22056); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -42294,21 +42257,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(21316)>>2]|0; + $726 = HEAP32[(21620)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(21316)>>2] = $727; - HEAP32[(21328)>>2] = $721; + HEAP32[(21620)>>2] = $727; + HEAP32[(21632)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(21324)>>2]|0; + $730 = HEAP32[(21628)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(21312)>>2]|0; + $732 = HEAP32[(21616)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(21312)>>2] = $733; - HEAP32[(21324)>>2] = $721; + HEAP32[(21616)>>2] = $733; + HEAP32[(21628)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -42331,7 +42294,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (21344 + ($748<<2)|0); + $749 = (21648 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -42354,9 +42317,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5326]|0; + $759 = HEAP32[5402]|0; $760 = $759 & $758; - HEAP32[5326] = $760; + HEAP32[5402] = $760; break; } $761 = ($747|0)==($749|0); @@ -42469,7 +42432,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21608 + ($796<<2)|0); + $797 = (21912 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -42481,12 +42444,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(21308)>>2]|0; + $802 = HEAP32[(21612)>>2]|0; $803 = $802 & $801; - HEAP32[(21308)>>2] = $803; + HEAP32[(21612)>>2] = $803; break L314; } else { - $804 = HEAP32[(21320)>>2]|0; + $804 = HEAP32[(21624)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -42507,7 +42470,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(21320)>>2]|0; + $810 = HEAP32[(21624)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -42539,7 +42502,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(21320)>>2]|0; + $822 = HEAP32[(21624)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -42572,21 +42535,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (21344 + ($836<<2)|0); - $838 = HEAP32[5326]|0; + $837 = (21648 + ($836<<2)|0); + $838 = HEAP32[5402]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5326] = $842; + HEAP32[5402] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21320)>>2]|0; + $845 = HEAP32[(21624)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -42641,20 +42604,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21608 + ($$0296$i$i<<2)|0); + $875 = (21912 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(21308)>>2]|0; + $879 = HEAP32[(21612)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(21308)>>2] = $883; + HEAP32[(21612)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -42693,7 +42656,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(21320)>>2]|0; + $902 = HEAP32[(21624)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -42712,7 +42675,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21320)>>2]|0; + $909 = HEAP32[(21624)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -42739,7 +42702,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (21752); + $$0$i$i$i = (22056); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -42780,23 +42743,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(21328)>>2] = $946; - HEAP32[(21316)>>2] = $947; + HEAP32[(21632)>>2] = $946; + HEAP32[(21620)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(21792)>>2]|0; - HEAP32[(21332)>>2] = $952; + $952 = HEAP32[(22096)>>2]|0; + HEAP32[(21636)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(21752)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21752)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21752)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21752)+12>>2]|0; - HEAP32[(21752)>>2] = $$749$i; - HEAP32[(21756)>>2] = $$723948$i; - HEAP32[(21764)>>2] = 0; - HEAP32[(21760)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(22056)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22056)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22056)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22056)+12>>2]|0; + HEAP32[(22056)>>2] = $$749$i; + HEAP32[(22060)>>2] = $$723948$i; + HEAP32[(22068)>>2] = 0; + HEAP32[(22064)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -42825,20 +42788,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (21344 + ($968<<2)|0); - $970 = HEAP32[5326]|0; + $969 = (21648 + ($968<<2)|0); + $970 = HEAP32[5402]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5326] = $974; + HEAP32[5402] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21320)>>2]|0; + $977 = HEAP32[(21624)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -42890,19 +42853,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21608 + ($$0212$i$i<<2)|0); + $1007 = (21912 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21308)>>2]|0; + $1010 = HEAP32[(21612)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(21308)>>2] = $1014; + HEAP32[(21612)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -42941,7 +42904,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(21320)>>2]|0; + $1033 = HEAP32[(21624)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -42960,7 +42923,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21320)>>2]|0; + $1040 = HEAP32[(21624)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -42983,14 +42946,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(21316)>>2]|0; + $1048 = HEAP32[(21620)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(21316)>>2] = $1050; - $1051 = HEAP32[(21328)>>2]|0; + HEAP32[(21620)>>2] = $1050; + $1051 = HEAP32[(21632)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(21328)>>2] = $1052; + HEAP32[(21632)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -43033,7 +42996,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(21320)>>2]|0; + $3 = HEAP32[(21624)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -43066,7 +43029,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(21324)>>2]|0; + $19 = HEAP32[(21628)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -43081,7 +43044,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(21312)>>2] = $17; + HEAP32[(21616)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -43095,7 +43058,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (21344 + ($27<<2)|0); + $28 = (21648 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -43115,9 +43078,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5326]|0; + $37 = HEAP32[5402]|0; $38 = $37 & $36; - HEAP32[5326] = $38; + HEAP32[5402] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -43231,7 +43194,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21608 + ($74<<2)|0); + $75 = (21912 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -43241,14 +43204,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(21308)>>2]|0; + $80 = HEAP32[(21612)>>2]|0; $81 = $80 & $79; - HEAP32[(21308)>>2] = $81; + HEAP32[(21612)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(21320)>>2]|0; + $82 = HEAP32[(21624)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -43270,7 +43233,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(21320)>>2]|0; + $88 = HEAP32[(21624)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -43302,7 +43265,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(21320)>>2]|0; + $100 = HEAP32[(21624)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -43337,14 +43300,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(21328)>>2]|0; + $120 = HEAP32[(21632)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(21324)>>2]|0; + $122 = HEAP32[(21628)>>2]|0; if ($121) { - $123 = HEAP32[(21316)>>2]|0; + $123 = HEAP32[(21620)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(21316)>>2] = $124; - HEAP32[(21328)>>2] = $$1; + HEAP32[(21620)>>2] = $124; + HEAP32[(21632)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -43352,16 +43315,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(21324)>>2] = 0; - HEAP32[(21312)>>2] = 0; + HEAP32[(21628)>>2] = 0; + HEAP32[(21616)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(21312)>>2]|0; + $129 = HEAP32[(21616)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(21312)>>2] = $130; - HEAP32[(21324)>>2] = $113; + HEAP32[(21616)>>2] = $130; + HEAP32[(21628)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -43380,10 +43343,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (21344 + ($142<<2)|0); + $143 = (21648 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(21320)>>2]|0; + $145 = HEAP32[(21624)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -43401,9 +43364,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5326]|0; + $153 = HEAP32[5402]|0; $154 = $153 & $152; - HEAP32[5326] = $154; + HEAP32[5402] = $154; break; } $155 = ($141|0)==($143|0); @@ -43411,7 +43374,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(21320)>>2]|0; + $156 = HEAP32[(21624)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -43471,7 +43434,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(21320)>>2]|0; + $189 = HEAP32[(21624)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -43484,7 +43447,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21320)>>2]|0; + $169 = HEAP32[(21624)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -43515,7 +43478,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21608 + ($193<<2)|0); + $194 = (21912 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -43525,13 +43488,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(21308)>>2]|0; + $199 = HEAP32[(21612)>>2]|0; $200 = $199 & $198; - HEAP32[(21308)>>2] = $200; + HEAP32[(21612)>>2] = $200; break L108; } } else { - $201 = HEAP32[(21320)>>2]|0; + $201 = HEAP32[(21624)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -43552,7 +43515,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(21320)>>2]|0; + $207 = HEAP32[(21624)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -43582,7 +43545,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(21320)>>2]|0; + $219 = HEAP32[(21624)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -43603,10 +43566,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(21324)>>2]|0; + $226 = HEAP32[(21628)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(21312)>>2] = $135; + HEAP32[(21616)>>2] = $135; return; } else { $$2 = $135; @@ -43625,20 +43588,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (21344 + ($234<<2)|0); - $236 = HEAP32[5326]|0; + $235 = (21648 + ($234<<2)|0); + $236 = HEAP32[5402]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5326] = $240; + HEAP32[5402] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21320)>>2]|0; + $243 = HEAP32[(21624)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -43690,21 +43653,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21608 + ($$0396<<2)|0); + $273 = (21912 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(21308)>>2]|0; + $277 = HEAP32[(21612)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(21308)>>2] = $281; + HEAP32[(21612)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -43742,7 +43705,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(21320)>>2]|0; + $300 = HEAP32[(21624)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -43761,7 +43724,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21320)>>2]|0; + $307 = HEAP32[(21624)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -43783,12 +43746,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(21336)>>2]|0; + $314 = HEAP32[(21640)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(21336)>>2] = $315; + HEAP32[(21640)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (21760); + $$0212$in$i = (22064); } else { return; } @@ -43802,7 +43765,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(21336)>>2] = -1; + HEAP32[(21640)>>2] = -1; return; } function _realloc($0,$1) { @@ -43874,7 +43837,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(21320)>>2]|0; + $6 = HEAP32[(21624)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -43904,7 +43867,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(21784)>>2]|0; + $18 = HEAP32[(22088)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -43940,10 +43903,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(21328)>>2]|0; + $34 = HEAP32[(21632)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(21316)>>2]|0; + $36 = HEAP32[(21620)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -43959,15 +43922,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(21328)>>2] = $40; - HEAP32[(21316)>>2] = $39; + HEAP32[(21632)>>2] = $40; + HEAP32[(21620)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(21324)>>2]|0; + $46 = HEAP32[(21628)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(21312)>>2]|0; + $48 = HEAP32[(21616)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -44003,8 +43966,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(21312)>>2] = $storemerge1; - HEAP32[(21324)>>2] = $storemerge; + HEAP32[(21616)>>2] = $storemerge1; + HEAP32[(21628)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -44031,7 +43994,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (21344 + ($81<<2)|0); + $82 = (21648 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -44051,9 +44014,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5326]|0; + $91 = HEAP32[5402]|0; $92 = $91 & $90; - HEAP32[5326] = $92; + HEAP32[5402] = $92; break; } $93 = ($80|0)==($82|0); @@ -44162,7 +44125,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (21608 + ($128<<2)|0); + $129 = (21912 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -44172,13 +44135,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(21308)>>2]|0; + $134 = HEAP32[(21612)>>2]|0; $135 = $134 & $133; - HEAP32[(21308)>>2] = $135; + HEAP32[(21612)>>2] = $135; break L49; } } else { - $136 = HEAP32[(21320)>>2]|0; + $136 = HEAP32[(21624)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -44199,7 +44162,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(21320)>>2]|0; + $142 = HEAP32[(21624)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -44229,7 +44192,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(21320)>>2]|0; + $154 = HEAP32[(21624)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -44314,13 +44277,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(21320)>>2]|0; + $13 = HEAP32[(21624)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(21324)>>2]|0; + $15 = HEAP32[(21628)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -44335,7 +44298,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(21312)>>2] = $12; + HEAP32[(21616)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -44349,7 +44312,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (21344 + ($23<<2)|0); + $24 = (21648 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -44369,9 +44332,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5326]|0; + $33 = HEAP32[5402]|0; $34 = $33 & $32; - HEAP32[5326] = $34; + HEAP32[5402] = $34; $$1 = $11;$$1418 = $12; break; } @@ -44485,7 +44448,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (21608 + ($70<<2)|0); + $71 = (21912 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -44495,14 +44458,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(21308)>>2]|0; + $76 = HEAP32[(21612)>>2]|0; $77 = $76 & $75; - HEAP32[(21308)>>2] = $77; + HEAP32[(21612)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(21320)>>2]|0; + $78 = HEAP32[(21624)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -44524,7 +44487,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(21320)>>2]|0; + $84 = HEAP32[(21624)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -44556,7 +44519,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(21320)>>2]|0; + $96 = HEAP32[(21624)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -44575,7 +44538,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(21320)>>2]|0; + $108 = HEAP32[(21624)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -44586,14 +44549,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(21328)>>2]|0; + $114 = HEAP32[(21632)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(21324)>>2]|0; + $116 = HEAP32[(21628)>>2]|0; if ($115) { - $117 = HEAP32[(21316)>>2]|0; + $117 = HEAP32[(21620)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(21316)>>2] = $118; - HEAP32[(21328)>>2] = $$1; + HEAP32[(21620)>>2] = $118; + HEAP32[(21632)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -44601,16 +44564,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(21324)>>2] = 0; - HEAP32[(21312)>>2] = 0; + HEAP32[(21628)>>2] = 0; + HEAP32[(21616)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(21312)>>2]|0; + $123 = HEAP32[(21616)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(21312)>>2] = $124; - HEAP32[(21324)>>2] = $$1; + HEAP32[(21616)>>2] = $124; + HEAP32[(21628)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -44629,7 +44592,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (21344 + ($136<<2)|0); + $137 = (21648 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -44649,9 +44612,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5326]|0; + $146 = HEAP32[5402]|0; $147 = $146 & $145; - HEAP32[5326] = $147; + HEAP32[5402] = $147; break; } $148 = ($135|0)==($137|0); @@ -44760,7 +44723,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (21608 + ($183<<2)|0); + $184 = (21912 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -44770,13 +44733,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(21308)>>2]|0; + $189 = HEAP32[(21612)>>2]|0; $190 = $189 & $188; - HEAP32[(21308)>>2] = $190; + HEAP32[(21612)>>2] = $190; break L96; } } else { - $191 = HEAP32[(21320)>>2]|0; + $191 = HEAP32[(21624)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -44797,7 +44760,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(21320)>>2]|0; + $197 = HEAP32[(21624)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -44827,7 +44790,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(21320)>>2]|0; + $209 = HEAP32[(21624)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -44848,10 +44811,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(21324)>>2]|0; + $216 = HEAP32[(21628)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(21312)>>2] = $129; + HEAP32[(21616)>>2] = $129; return; } else { $$2 = $129; @@ -44870,20 +44833,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (21344 + ($224<<2)|0); - $226 = HEAP32[5326]|0; + $225 = (21648 + ($224<<2)|0); + $226 = HEAP32[5402]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5326] = $230; + HEAP32[5402] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(21320)>>2]|0; + $233 = HEAP32[(21624)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -44935,20 +44898,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (21608 + ($$0431<<2)|0); + $263 = (21912 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(21308)>>2]|0; + $267 = HEAP32[(21612)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(21308)>>2] = $271; + HEAP32[(21612)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -44987,7 +44950,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(21320)>>2]|0; + $290 = HEAP32[(21624)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -45005,7 +44968,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(21320)>>2]|0; + $297 = HEAP32[(21624)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/shaders/shaders_custom_uniform.png b/docs/examples/web/shaders/shaders_custom_uniform.png similarity index 100% rename from docs/examples/img/shaders/shaders_custom_uniform.png rename to docs/examples/web/shaders/shaders_custom_uniform.png diff --git a/docs/examples/web/shaders/shaders_model_shader.js b/docs/examples/web/shaders/shaders_model_shader.js index e5716334a..b12bd5b1d 100644 --- a/docs/examples/web/shaders/shaders_model_shader.js +++ b/docs/examples/web/shaders/shaders_model_shader.js @@ -185,7 +185,7 @@ Module['FS_createPath']('/resources/shaders', 'glsl100', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}, {"audio": 0, "start": 4022872, "crunched": 0, "end": 4023477, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 4023477, "crunched": 0, "end": 4024142, "filename": "/resources/shaders/glsl100/grayscale.fs"}], "remote_package_size": 4024142, "package_uuid": "627f74ed-1caa-42bf-a560-577eecbe6b0d"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}, {"audio": 0, "start": 4022872, "crunched": 0, "end": 4023477, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 4023477, "crunched": 0, "end": 4024142, "filename": "/resources/shaders/glsl100/grayscale.fs"}], "remote_package_size": 4024142, "package_uuid": "27692f49-fde6-4c3d-9ac8-e2e96405fe19"}); })(); @@ -1778,12 +1778,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 24080; +STATICTOP = STATIC_BASE + 24064; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,7,90,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,109,111,100,101,108,32,115,104,97,100,101,114,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,103,114,97,121,115,99,97,108,101,46,102,115,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,255,89,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,109,111,100,101,108,32,115,104,97,100,101,114,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,103,114,97,121,115,99,97,108,101,46,102,115,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10518,21 +10518,21 @@ function _main() { $4 = HEAP32[3]|0; _InitWindow($3,$4,4448); _LoadModel($0,4488); - _memcpy((18132|0),($0|0),264)|0; + _memcpy((18444|0),($0|0),264)|0; _LoadTexture($1,4514); - ;HEAP32[18396>>2]=HEAP32[$1>>2]|0;HEAP32[18396+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18396+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18396+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18396+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[18708>>2]=HEAP32[$1>>2]|0;HEAP32[18708+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18708+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18708+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18708+16>>2]=HEAP32[$1+16>>2]|0; _LoadShader($2,4548,4582); - dest=18416; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=(18264); src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[(18320)>>2]=HEAP32[18396>>2]|0;HEAP32[(18320)+4>>2]=HEAP32[18396+4>>2]|0;HEAP32[(18320)+8>>2]=HEAP32[18396+8>>2]|0;HEAP32[(18320)+12>>2]=HEAP32[18396+12>>2]|0;HEAP32[(18320)+16>>2]=HEAP32[18396+16>>2]|0; + dest=18728; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18576); src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[(18632)>>2]=HEAP32[18708>>2]|0;HEAP32[(18632)+4>>2]=HEAP32[18708+4>>2]|0;HEAP32[(18632)+8>>2]=HEAP32[18708+8>>2]|0;HEAP32[(18632)+12>>2]=HEAP32[18708+12>>2]|0;HEAP32[(18632)+16>>2]=HEAP32[18708+16>>2]|0; dest=$dwarf$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetCameraMode($dwarf$byval_copy,2); _emscripten_set_main_loop((1|0),0,1); - dest=$dwarf$byval_copy; src=18416; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$dwarf$byval_copy; src=18728; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadShader($dwarf$byval_copy); - ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[18396>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[18396+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[18396+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[18396+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[18396+16>>2]|0; + ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[18708>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[18708+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[18708+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[18708+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[18708+16>>2]|0; _UnloadTexture($dwarf$byval_copy); - _memcpy(($dwarf$byval_copy|0),(18132|0),264)|0; + _memcpy(($dwarf$byval_copy|0),(18444|0),264)|0; _UnloadModel($dwarf$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10562,8 +10562,8 @@ function _UpdateDrawFrame() { dest=$$byval_copy1; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _Begin3dMode($$byval_copy1); HEAP32[$1>>2] = -1; - _memcpy(($dwarf$byval_copy|0),(18132|0),264)|0; - ;HEAP32[$position$byval_copy>>2]=HEAP32[18120>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[18120+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[18120+8>>2]|0; + _memcpy(($dwarf$byval_copy|0),(18444|0),264)|0; + ;HEAP32[$position$byval_copy>>2]=HEAP32[18432>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[18432+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[18432+8>>2]|0; ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; _DrawModel($dwarf$byval_copy,$position$byval_copy,2.0,$$byval_copy1); _DrawGrid(10,1.0); @@ -10585,30 +10585,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -10761,13 +10811,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11756,7 +11799,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4619] = $2; + HEAP32[4697] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11769,7 +11812,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 17840; + $95 = 18152; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11782,48 +11825,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 17880; + $106 = 18192; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4470]; - $111 = +HEAPF32[4460]; + $110 = +HEAPF32[4548]; + $111 = +HEAPF32[4538]; $112 = $110 - $111; - HEAPF32[4472] = $112; - $113 = +HEAPF32[(17884)>>2]; - $114 = +HEAPF32[(17844)>>2]; + HEAPF32[4550] = $112; + $113 = +HEAPF32[(18196)>>2]; + $114 = +HEAPF32[(18156)>>2]; $115 = $113 - $114; - HEAPF32[(17892)>>2] = $115; - HEAP32[4618] = 4; + HEAPF32[(18204)>>2] = $115; + HEAP32[4696] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17896+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18208+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4624] = $116; - $117 = 17872; + HEAPF32[4702] = $116; + $117 = 18184; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 17840; + $123 = 18152; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 17896; + $127 = 18208; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 17880; + $133 = 18192; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11836,7 +11879,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 17872; + $144 = 18184; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11849,27 +11892,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 17896; + $155 = 18208; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4474]; - $160 = +HEAPF32[4468]; + $159 = +HEAPF32[4552]; + $160 = +HEAPF32[4546]; $161 = $159 - $160; - HEAPF32[4472] = $161; - $162 = +HEAPF32[(17900)>>2]; - $163 = +HEAPF32[(17876)>>2]; + HEAPF32[4550] = $161; + $162 = +HEAPF32[(18212)>>2]; + $163 = +HEAPF32[(18188)>>2]; $164 = $162 - $163; - HEAPF32[(17892)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17872+4>>2]|0; + HEAPF32[(18204)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18184+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17880+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17896+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18192>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18192+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18208+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11881,31 +11924,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17896+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18208+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4624]; + $170 = +HEAPF32[4702]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4618] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17896+4>>2]|0; + HEAP32[4696] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18208+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4625] = $174; + HEAPF32[4703] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4624] = 0.0; - HEAPF32[4625] = 0.0; - HEAPF32[4472] = 0.0; - HEAPF32[(17892)>>2] = 0.0; - HEAP32[4619] = 0; - HEAP32[4618] = 0; + HEAPF32[4702] = 0.0; + HEAPF32[4703] = 0.0; + HEAPF32[4550] = 0.0; + HEAPF32[(18204)>>2] = 0.0; + HEAP32[4697] = 0; + HEAP32[4696] = 0; STACKTOP = sp;return; break; } @@ -11915,22 +11958,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4620]|0; + $6 = HEAP32[4698]|0; $7 = (($6) + 1)|0; - HEAP32[4620] = $7; - $8 = HEAP32[4618]|0; + HEAP32[4698] = $7; + $8 = HEAP32[4696]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17840+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18152+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4618] = 2; - HEAP32[4620] = 0; + HEAP32[4696] = 2; + HEAP32[4698] = 0; } else { label = 6; } @@ -11938,8 +11981,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4620] = 1; - HEAP32[4618] = 1; + HEAP32[4698] = 1; + HEAP32[4696] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11948,19 +11991,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 17840; + $21 = 18152; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 17848; + $25 = 18160; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 17856; + $29 = 18168; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11969,13 +12012,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[14] = $34; - HEAPF32[4466] = 0.0; - HEAPF32[(17868)>>2] = 0.0; + HEAPF32[4544] = 0.0; + HEAPF32[(18180)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4618]|0; + $35 = HEAP32[4696]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11985,19 +12028,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 17856; + $44 = 18168; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17856+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18168+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4621] = $49; - HEAP32[4622] = 0; + HEAPF32[4699] = $49; + HEAP32[4700] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[14]|0; @@ -12005,11 +12048,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17856+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18168+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4623] = $56; + HEAPF32[4701] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12040,22 +12083,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4621] = 0.0; - HEAPF32[4623] = 0.0; + HEAPF32[4699] = 0.0; + HEAPF32[4701] = 0.0; $$sink10 = 0; } - HEAP32[4618] = $$sink10; - HEAPF32[4462] = 0.0; - HEAPF32[(17852)>>2] = 0.0; - HEAP32[4619] = 0; + HEAP32[4696] = $$sink10; + HEAPF32[4540] = 0.0; + HEAPF32[(18164)>>2] = 0.0; + HEAP32[4697] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4622]|0; + $65 = HEAP32[4700]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4622] = 1; + HEAP32[4700] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12064,31 +12107,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 17872; + $74 = 18184; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4618]|0; + $78 = HEAP32[4696]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17872+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18184+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4618] = 8; + HEAP32[4696] = 8; } } - $82 = +HEAPF32[4468]; - $83 = +HEAPF32[4462]; + $82 = +HEAPF32[4546]; + $83 = +HEAPF32[4540]; $84 = $82 - $83; - HEAPF32[4466] = $84; - $85 = +HEAPF32[(17876)>>2]; - $86 = +HEAPF32[(17852)>>2]; + HEAPF32[4544] = $84; + $85 = +HEAPF32[(18188)>>2]; + $86 = +HEAPF32[(18164)>>2]; $87 = $85 - $86; - HEAPF32[(17868)>>2] = $87; + HEAPF32[(18180)>>2] = $87; STACKTOP = sp;return; break; } @@ -12097,58 +12140,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4618]|0; + $0 = HEAP32[4696]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4619]|0; + $2 = HEAP32[4697]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4618] = 4; + HEAP32[4696] = 4; } - $4 = HEAP32[4618]|0; + $4 = HEAP32[4696]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12161,7 +12165,7 @@ function _UpdateGestures() { return; } } - HEAP32[4618] = 0; + HEAP32[4696] = 0; return; } function _SetCameraMode($0,$1) { @@ -12190,22 +12194,22 @@ function _SetCameraMode($0,$1) { $8 = $4 * $4; $9 = $7 + $8; $10 = (+Math_sqrt((+$9))); - HEAPF32[4626] = $10; + HEAPF32[4704] = $10; $11 = $5 + $8; $12 = (+Math_sqrt((+$11))); $13 = (+Math_sqrt((+$7))); $14 = (+Math_abs((+$2))); $15 = $14 / $12; $16 = (+Math_asin((+$15))); - HEAPF32[4627] = $16; + HEAPF32[4705] = $16; $17 = (+Math_abs((+$3))); $18 = $17 / $13; $19 = (+Math_asin((+$18))); $20 = -$19; - HEAPF32[4628] = $20; + HEAPF32[4706] = $20; $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; HEAP32[15] = $21; - HEAP32[4629] = $1; + HEAP32[4707] = $1; return; } function _UpdateCamera($0) { @@ -12274,7 +12278,7 @@ function _UpdateCamera($0) { $30 = HEAP32[24]|0; $31 = (_IsKeyDown($30)|0); HEAP32[$29>>2] = $31; - $32 = HEAP32[4629]|0; + $32 = HEAP32[4707]|0; $33 = ($32|0)==(0); L1: do { if ($33) { @@ -12346,9 +12350,9 @@ function _UpdateCamera($0) { $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; break; } else { - $64 = +HEAPF32[4476]; + $64 = +HEAPF32[4554]; $65 = $37 - $64; - $66 = +HEAPF32[(17908)>>2]; + $66 = +HEAPF32[(18220)>>2]; $67 = $42 - $66; $$sroa$095$0 = $65;$$sroa$9$0 = $67; break; @@ -12356,11 +12360,11 @@ function _UpdateCamera($0) { } else { _ShowCursor(); $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[4476]; + $69 = +HEAPF32[4554]; $70 = $68 - $69; $71 = ((($1)) + 4|0); $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(17908)>>2]; + $73 = +HEAPF32[(18220)>>2]; $74 = $72 - $73; $$sroa$095$0 = $70;$$sroa$9$0 = $74; } @@ -12372,16 +12376,16 @@ function _UpdateCamera($0) { $78 = (($75) + 4)|0; $79 = $78; $80 = HEAP32[$79>>2]|0; - $81 = 17904; + $81 = 18216; $82 = $81; HEAP32[$82>>2] = $77; $83 = (($81) + 4)|0; $84 = $83; HEAP32[$84>>2] = $80; - $$pr = HEAP32[4629]|0; + $$pr = HEAP32[4707]|0; switch ($$pr|0) { case 1: { - $85 = +HEAPF32[4626]; + $85 = +HEAPF32[4704]; $86 = $85 < 120.0; $87 = ($8|0)<(0); $or$cond3 = $87 & $86; @@ -12390,10 +12394,10 @@ function _UpdateCamera($0) { $88 = (+($8|0)); $89 = $88 * 1.5; $90 = $85 - $89; - HEAPF32[4626] = $90; + HEAPF32[4704] = $90; $91 = $90 > 120.0; if ($91) { - HEAPF32[4626] = 120.0; + HEAPF32[4704] = 120.0; } } else { $92 = ((($0)) + 4|0); @@ -12472,12 +12476,12 @@ function _UpdateCamera($0) { $146 = (+($8|0)); $147 = $146 * 1.5; $148 = $85 - $147; - HEAPF32[4626] = $148; + HEAPF32[4704] = $148; $149 = $148 < 0.30000001192092896; if (!($149)) { break; } - HEAPF32[4626] = 0.30000001192092896; + HEAPF32[4704] = 0.30000001192092896; break; } } @@ -12499,7 +12503,7 @@ function _UpdateCamera($0) { $161 = $151 - $152; $162 = $153 * $161; $163 = $162 * 1.5; - $164 = +HEAPF32[4626]; + $164 = +HEAPF32[4704]; $165 = $163 / $164; $166 = $151 + $165; HEAPF32[$95>>2] = $166; @@ -12531,7 +12535,7 @@ function _UpdateCamera($0) { $185 = $151 - $152; $186 = $177 * $185; $187 = $186 * 1.5; - $188 = +HEAPF32[4626]; + $188 = +HEAPF32[4704]; $189 = $187 / $188; $190 = $151 + $189; HEAPF32[$95>>2] = $190; @@ -12555,12 +12559,12 @@ function _UpdateCamera($0) { if ($or$cond15) { $203 = (+($8|0)); $204 = $203 * 1.5; - $205 = +HEAPF32[4626]; + $205 = +HEAPF32[4704]; $206 = $205 - $204; - HEAPF32[4626] = $206; + HEAPF32[4704] = $206; $207 = $206 < 0.30000001192092896; if ($207) { - HEAPF32[4626] = 0.30000001192092896; + HEAPF32[4704] = 0.30000001192092896; } } } @@ -12574,17 +12578,17 @@ function _UpdateCamera($0) { $209 = ($12|0)==(0); if ($209) { $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[4627]; + $223 = +HEAPF32[4705]; $224 = (+Math_cos((+$223))); $225 = $222 * $224; $226 = $$sroa$9$0 * 0.0099999997764825821; $227 = (+Math_sin((+$223))); $228 = $226 * $227; - $229 = +HEAPF32[4628]; + $229 = +HEAPF32[4706]; $230 = (+Math_sin((+$229))); $231 = $228 * $230; $232 = $225 + $231; - $233 = +HEAPF32[4626]; + $233 = +HEAPF32[4704]; $234 = $233 / 5.0999999046325684; $235 = $232 * $234; $236 = ((($0)) + 12|0); @@ -12614,23 +12618,23 @@ function _UpdateCamera($0) { $210 = ($14|0)==(0); if (!($210)) { $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[4626]; + $212 = +HEAPF32[4704]; $213 = $211 + $212; - HEAPF32[4626] = $213; + HEAPF32[4704] = $213; label = 58; break L1; } $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[4627]; + $215 = +HEAPF32[4705]; $216 = $215 - $214; - HEAPF32[4627] = $216; + HEAPF32[4705] = $216; $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[4628]; + $218 = +HEAPF32[4706]; $219 = $218 - $217; - HEAPF32[4628] = $219; + HEAPF32[4706] = $219; $220 = $219 > 1.483529806137085; if ($220) { - HEAPF32[4628] = 1.483529806137085; + HEAPF32[4706] = 1.483529806137085; label = 58; break L1; } @@ -12639,32 +12643,32 @@ function _UpdateCamera($0) { label = 58; break L1; } - HEAPF32[4628] = -1.483529806137085; + HEAPF32[4706] = -1.483529806137085; label = 58; break L1; break; } case 2: { - $254 = +HEAPF32[4627]; + $254 = +HEAPF32[4705]; $255 = $254 + 0.0099999997764825821; - HEAPF32[4627] = $255; + HEAPF32[4705] = $255; $256 = (+($8|0)); $257 = $256 * 1.5; - $258 = +HEAPF32[4626]; + $258 = +HEAPF32[4704]; $259 = $258 - $257; - HEAPF32[4626] = $259; + HEAPF32[4704] = $259; $260 = $259 < 1.2000000476837158; if (!($260)) { label = 58; break L1; } - HEAPF32[4626] = 1.2000000476837158; + HEAPF32[4704] = 1.2000000476837158; label = 58; break L1; break; } case 4: case 3: { - $264 = +HEAPF32[4627]; + $264 = +HEAPF32[4705]; $265 = (+Math_sin((+$264))); $266 = HEAP32[$17>>2]|0; $267 = (+($266>>>0)); @@ -12686,7 +12690,7 @@ function _UpdateCamera($0) { $283 = +HEAPF32[$0>>2]; $284 = $283 + $282; HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[4628]; + $285 = +HEAPF32[4706]; $286 = (+Math_sin((+$285))); $287 = $270 * $286; $288 = $267 * $286; @@ -12754,14 +12758,14 @@ function _UpdateCamera($0) { $$0 = 1; } $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[4627]; + $314 = +HEAPF32[4705]; $315 = $314 - $313; - HEAPF32[4627] = $315; + HEAPF32[4705] = $315; $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[4628]; + $317 = +HEAPF32[4706]; $318 = $317 - $316; - HEAPF32[4628] = $318; - $319 = HEAP32[4629]|0; + HEAPF32[4706] = $318; + $319 = HEAP32[4707]|0; $320 = ($319|0)==(4); if ($320) { $321 = $318 > 0.087266460061073303; @@ -12776,17 +12780,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 49) { - HEAPF32[4628] = $$sink26; + HEAPF32[4706] = $$sink26; } $323 = (+($8|0)); $324 = $323 * 1.5; - $325 = +HEAPF32[4626]; + $325 = +HEAPF32[4704]; $326 = $325 - $324; $327 = $326 < 1.2000000476837158; $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[4626] = $storemerge; + HEAPF32[4704] = $storemerge; $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[4627]; + $329 = +HEAPF32[4705]; $330 = (+Math_cos((+$329))); $331 = $330 * 0.40000000596046448; $332 = $328 + $331; @@ -12817,17 +12821,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 53) { - HEAPF32[4628] = $$sink28; + HEAPF32[4706] = $$sink28; } $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[4627]; + $347 = +HEAPF32[4705]; $348 = (+Math_sin((+$347))); $349 = $348 * 25.0; $350 = $346 - $349; $351 = ((($0)) + 12|0); HEAPF32[$351>>2] = $350; $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[4628]; + $353 = +HEAPF32[4706]; $354 = (+Math_sin((+$353))); $355 = $354 * 25.0; $356 = $352 + $355; @@ -12841,12 +12845,12 @@ function _UpdateCamera($0) { HEAPF32[$362>>2] = $361; $363 = ($$0|0)==(0); if (!($363)) { - $364 = HEAP32[4630]|0; + $364 = HEAP32[4708]|0; $365 = (($364) + 1)|0; - HEAP32[4630] = $365; + HEAP32[4708] = $365; } $366 = +HEAPF32[15]; - $367 = HEAP32[4630]|0; + $367 = HEAP32[4708]|0; $368 = (+($367|0)); $369 = $368 / 5.0; $370 = (+Math_sin((+$369))); @@ -12876,7 +12880,7 @@ function _UpdateCamera($0) { } } while(0); if ((label|0) == 58) { - $$pr190 = HEAP32[4629]|0; + $$pr190 = HEAP32[4707]|0; $380 = $$pr190; } switch ($380|0) { @@ -12887,11 +12891,11 @@ function _UpdateCamera($0) { STACKTOP = sp;return; } } - $381 = +HEAPF32[4627]; + $381 = +HEAPF32[4705]; $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[4626]; + $383 = +HEAPF32[4704]; $384 = $382 * $383; - $385 = +HEAPF32[4628]; + $385 = +HEAPF32[4706]; $386 = (+Math_cos((+$385))); $387 = $384 * $386; $388 = ((($0)) + 12|0); @@ -12900,7 +12904,7 @@ function _UpdateCamera($0) { HEAPF32[$0>>2] = $390; $391 = !($385 <= 0.0); $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[4626]; + $393 = +HEAPF32[4704]; $394 = ((($0)) + 16|0); $395 = +HEAPF32[$394>>2]; $396 = $392 * $393; @@ -12924,7 +12928,7 @@ function _GetMousePosition($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 = 17912; + $1 = 18224; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12941,7 +12945,7 @@ function _GetMousePosition($0) { function _GetMouseWheelMove() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4635]|0; + $0 = HEAP32[4713]|0; $1 = (($0|0) / 100)&-1; return ($1|0); } @@ -12966,19 +12970,19 @@ function _IsKeyDown($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4634]|0; + $0 = HEAP32[4712]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4633]|0; + $0 = HEAP32[4711]|0; return ($0|0); } function _HideCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4631] = 1; + HEAP32[4709] = 1; return; } function _SetMousePosition($0) { @@ -12991,13 +12995,13 @@ function _SetMousePosition($0) { $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; - $7 = 17912; + $7 = 18224; $8 = $7; HEAP32[$8>>2] = $3; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; - $11 = HEAP32[4632]|0; + $11 = HEAP32[4710]|0; $12 = +HEAPF32[$0>>2]; $13 = $12; $14 = ((($0)) + 4|0); @@ -13009,14 +13013,14 @@ function _SetMousePosition($0) { function _ShowCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4631] = 0; + HEAP32[4709] = 0; return; } function _GetKeyStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4632]|0; + $1 = HEAP32[4710]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -13024,7 +13028,7 @@ function _GetMouseButtonStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4632]|0; + $1 = HEAP32[4710]|0; $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); return ($2|0); } @@ -13037,7 +13041,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4656,$vararg_buffer); - HEAP32[4636] = $2; + HEAP32[4714] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -13050,15 +13054,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4685|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4634]|0; + $3 = HEAP32[4712]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4478] = $5; - $6 = HEAP32[4633]|0; + HEAPF32[4556] = $5; + $6 = HEAP32[4711]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(17916)>>2] = $8; - $9 = HEAP32[4637]|0; + HEAPF32[(18228)>>2] = $8; + $9 = HEAP32[4715]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -13077,11 +13081,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[17952>>0]=HEAP8[9185>>0]|0;HEAP8[17952+1>>0]=HEAP8[9185+1>>0]|0;HEAP8[17952+2>>0]=HEAP8[9185+2>>0]|0;HEAP8[17952+3>>0]=HEAP8[9185+3>>0]|0;HEAP8[17952+4>>0]=HEAP8[9185+4>>0]|0;HEAP8[17952+5>>0]=HEAP8[9185+5>>0]|0;HEAP8[17952+6>>0]=HEAP8[9185+6>>0]|0; + ;HEAP8[18264>>0]=HEAP8[9185>>0]|0;HEAP8[18264+1>>0]=HEAP8[9185+1>>0]|0;HEAP8[18264+2>>0]=HEAP8[9185+2>>0]|0;HEAP8[18264+3>>0]=HEAP8[9185+3>>0]|0;HEAP8[18264+4>>0]=HEAP8[9185+4>>0]|0;HEAP8[18264+5>>0]=HEAP8[9185+5>>0]|0;HEAP8[18264+6>>0]=HEAP8[9185+6>>0]|0; break; } case 1: { - $3 = 17952; + $3 = 18264; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -13090,11 +13094,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=17952; src=9192; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=18264; src=9192; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 17952; + $7 = 18264; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -13105,16 +13109,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(17952,$1)|0); - $strlen = (_strlen(17952)|0); - $endptr = (17952 + ($strlen)|0); + (_strcat(18264,$1)|0); + $strlen = (_strlen(18264)|0); + $endptr = (18264 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(17952,$2)|0); + (_vprintf(18264,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -13146,22 +13150,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4634] = $0; - HEAP32[4633] = $1; + HEAP32[4712] = $0; + HEAP32[4711] = $1; _MatrixIdentity($2); - dest=18624; 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)); + dest=18936; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5327,$vararg_buffer); } - $6 = HEAP32[4634]|0; - HEAP32[4672] = $6; - $7 = HEAP32[4633]|0; - HEAP32[4673] = $7; + $6 = HEAP32[4712]|0; + HEAP32[4750] = $6; + $7 = HEAP32[4711]|0; + HEAP32[4751] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[21368]|0; + $8 = HEAP8[21680]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -13169,13 +13173,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[21368]|0; + $11 = HEAP8[21680]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[21368]|0; + $14 = HEAP8[21680]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -13197,18 +13201,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4674]|0; + $21 = HEAP32[4752]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4634]|0; - $48 = HEAP32[4633]|0; - $49 = HEAP32[4636]|0; + $47 = HEAP32[4712]|0; + $48 = HEAP32[4711]|0; + $49 = HEAP32[4714]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4632] = $50; - $51 = HEAP32[4634]|0; - HEAP32[4675] = $51; - $52 = HEAP32[4633]|0; - HEAP32[4676] = $52; + HEAP32[4710] = $50; + $51 = HEAP32[4712]|0; + HEAP32[4753] = $51; + $52 = HEAP32[4711]|0; + HEAP32[4754] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -13217,9 +13221,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4634]|0; + $27 = HEAP32[4712]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4633]|0; + $29 = HEAP32[4711]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -13241,25 +13245,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4672] = $31; - HEAP32[4673] = $34; + HEAP32[4750] = $31; + HEAP32[4751] = $34; } } while(0); - $38 = HEAP32[4672]|0; - $39 = HEAP32[4673]|0; + $38 = HEAP32[4750]|0; + $39 = HEAP32[4751]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5378,$vararg_buffer3); - $40 = HEAP32[4672]|0; - $41 = HEAP32[4673]|0; + $40 = HEAP32[4750]|0; + $41 = HEAP32[4751]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4672]|0; - $43 = HEAP32[4673]|0; - $44 = HEAP32[4636]|0; + $42 = HEAP32[4750]|0; + $43 = HEAP32[4751]|0; + $44 = HEAP32[4714]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4632] = $46; + HEAP32[4710] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -13268,60 +13272,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5416,$vararg_buffer6); } else { _TraceLog(0,5449,$vararg_buffer8); - $55 = HEAP32[4675]|0; - $56 = HEAP32[4676]|0; + $55 = HEAP32[4753]|0; + $56 = HEAP32[4754]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5489,$vararg_buffer10); - $57 = HEAP32[4634]|0; - $58 = HEAP32[4633]|0; + $57 = HEAP32[4712]|0; + $58 = HEAP32[4711]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5510,$vararg_buffer14); - $59 = HEAP32[4677]|0; - $60 = HEAP32[4678]|0; + $59 = HEAP32[4755]|0; + $60 = HEAP32[4756]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5531,$vararg_buffer18); } - $61 = HEAP32[4632]|0; + $61 = HEAP32[4710]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4632]|0; + $62 = HEAP32[4710]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4632]|0; + $63 = HEAP32[4710]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4632]|0; + $64 = HEAP32[4710]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4632]|0; + $65 = HEAP32[4710]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4632]|0; + $66 = HEAP32[4710]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4632]|0; + $67 = HEAP32[4710]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4632]|0; + $68 = HEAP32[4710]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4632]|0; + $69 = HEAP32[4710]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[21368]|0; + $70 = HEAP8[21680]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4634]|0; - $74 = HEAP32[4633]|0; + $73 = HEAP32[4712]|0; + $74 = HEAP32[4711]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4675]|0; - $76 = HEAP32[4677]|0; + $75 = HEAP32[4753]|0; + $76 = HEAP32[4755]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4676]|0; - $80 = HEAP32[4678]|0; + $79 = HEAP32[4754]|0; + $80 = HEAP32[4756]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13340,18 +13344,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5556,$vararg_buffer22); - $73 = HEAP32[4634]|0; - $74 = HEAP32[4633]|0; + $73 = HEAP32[4712]|0; + $74 = HEAP32[4711]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4675]|0; - $76 = HEAP32[4677]|0; + $75 = HEAP32[4753]|0; + $76 = HEAP32[4755]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4676]|0; - $80 = HEAP32[4678]|0; + $79 = HEAP32[4754]|0; + $80 = HEAP32[4756]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13379,7 +13383,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(18592)>>2] = 224; + HEAP32[(18904)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -13420,27 +13424,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[18568>>2]=HEAP32[$1>>2]|0;HEAP32[18568+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18568+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18568+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18568+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[18880>>2]=HEAP32[$1>>2]|0;HEAP32[18880+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18880+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18880+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18880+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(18592)>>2]|0; + $5 = HEAP32[(18904)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(18596)>>2] = $7; + HEAP32[(18908)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18588)>>2] = $23; - $24 = HEAP32[4642]|0; + HEAP32[(18900)>>2] = $23; + $24 = HEAP32[4720]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4880,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(18572)>>2]|0; - $10 = HEAP32[(18592)>>2]|0; - $11 = HEAP32[(18596)>>2]|0; + $9 = HEAP32[(18884)>>2]|0; + $10 = HEAP32[(18904)>>2]|0; + $11 = HEAP32[(18908)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13489,8 +13493,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18588)>>2] = $23; - $24 = HEAP32[4642]|0; + HEAP32[(18900)>>2] = $23; + $24 = HEAP32[4720]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4880,$vararg_buffer); STACKTOP = sp;return; @@ -13501,7 +13505,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2243] = $1; + HEAPF64[2282] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13660,7 +13664,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 17928; + $31 = 18240; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13673,7 +13677,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (17936); + $42 = (18248); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13729,7 +13733,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (18552 + ($10<<2)|0); + $11 = (18864 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13743,7 +13747,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2240] = $$; + HEAPF64[2279] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -13755,7 +13759,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4637] = 0; + HEAP32[4715] = 0; return; } function _GetTime() { @@ -14331,7 +14335,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4650]|0; + $6 = HEAP32[4728]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -14341,7 +14345,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4651]|0; + $9 = HEAP32[4729]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -14350,7 +14354,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4652]|0; + $12 = HEAP32[4730]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -14360,7 +14364,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4653]|0; + $15 = HEAP32[4731]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -14370,7 +14374,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4654]|0; + $18 = HEAP32[4732]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -14414,7 +14418,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4650]|0; + $22 = HEAP32[4728]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14422,7 +14426,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4650]|0; + $24 = HEAP32[4728]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14430,7 +14434,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4650]|0; + $26 = HEAP32[4728]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14438,7 +14442,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4650]|0; + $28 = HEAP32[4728]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14446,7 +14450,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4651]|0; + $30 = HEAP32[4729]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14454,7 +14458,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4652]|0; + $32 = HEAP32[4730]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14462,7 +14466,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4652]|0; + $34 = HEAP32[4730]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14470,7 +14474,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4653]|0; + $36 = HEAP32[4731]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14478,7 +14482,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4653]|0; + $38 = HEAP32[4731]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14486,7 +14490,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4654]|0; + $40 = HEAP32[4732]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14494,7 +14498,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4654]|0; + $42 = HEAP32[4732]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14506,7 +14510,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4655]|0; + $44 = HEAP32[4733]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14521,7 +14525,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,11685,$vararg_buffer15); + _TraceLog(2,11993,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -14852,20 +14856,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4634]|0; + $3 = HEAP32[4712]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4633]|0; + $5 = HEAP32[4711]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4675] = $3; - HEAP32[4676] = $5; - HEAP32[4677] = 0; - HEAP32[4678] = 0; + HEAP32[4753] = $3; + HEAP32[4754] = $5; + HEAP32[4755] = 0; + HEAP32[4756] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14879,9 +14883,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4634]|0; + $35 = HEAP32[4712]|0; $36 = (+($35|0)); - $37 = HEAP32[4633]|0; + $37 = HEAP32[4711]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14889,26 +14893,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4675] = $45; - HEAP32[4676] = $37; + HEAP32[4753] = $45; + HEAP32[4754] = $37; $46 = (($45) - ($35))|0; - HEAP32[4677] = $46; + HEAP32[4755] = $46; $$sink1 = 0; } else { - HEAP32[4675] = $35; + HEAP32[4753] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4676] = $42; - HEAP32[4677] = 0; + HEAP32[4754] = $42; + HEAP32[4755] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4678] = $$sink1; + HEAP32[4756] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4633]|0; + $7 = HEAP32[4711]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14918,11 +14922,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8938,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4634]|0; + $9 = HEAP32[4712]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4633]|0; + $13 = HEAP32[4711]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14930,33 +14934,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4675] = $23; - HEAP32[4676] = $1; + HEAP32[4753] = $23; + HEAP32[4754] = $1; $24 = (($0) - ($23))|0; - HEAP32[4677] = $24; + HEAP32[4755] = $24; $$sink = 0; } else { - HEAP32[4675] = $0; - $17 = HEAP32[4633]|0; + HEAP32[4753] = $0; + $17 = HEAP32[4711]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4676] = $20; - HEAP32[4677] = 0; + HEAP32[4754] = $20; + HEAP32[4755] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4678] = $$sink; - $25 = HEAP32[4675]|0; + HEAP32[4756] = $$sink; + $25 = HEAP32[4753]|0; $26 = (+($25|0)); - $27 = HEAP32[4634]|0; + $27 = HEAP32[4712]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=18624; 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)); - HEAP32[4675] = $0; - HEAP32[4676] = $1; + dest=18936; 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)); + HEAP32[4753] = $0; + HEAP32[4754] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -14978,10 +14982,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4634] = $1; - HEAP32[4633] = $2; - HEAP32[4675] = $1; - HEAP32[4676] = $2; + HEAP32[4712] = $1; + HEAP32[4711] = $2; + HEAP32[4753] = $1; + HEAP32[4754] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -15008,7 +15012,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (21375 + ($1)|0); + $9 = (21687 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -15029,7 +15033,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (21369 + ($1)|0); + $7 = (21681 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -15108,7 +15112,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 17928; + $15 = 18240; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -15143,7 +15147,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5048] = $3; + HEAP32[5126] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -15153,7 +15157,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5047] = $$sink; + HEAP32[5125] = $$sink; return; } function _rlglInit($0,$1) { @@ -15234,18 +15238,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5688)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4713] = 1; + HEAP32[4791] = 1; $27 = (_eglGetProcAddress((5715|0))|0); - HEAP32[4714] = $27; + HEAP32[4792] = $27; $28 = (_eglGetProcAddress((5736|0))|0); - HEAP32[4715] = $28; + HEAP32[4793] = $28; $29 = (_eglGetProcAddress((5757|0))|0); - HEAP32[4716] = $29; + HEAP32[4794] = $29; } $30 = (_strcmp($24,5781)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4655] = 1; + HEAP32[4733] = 1; } $32 = (_strcmp($24,5801)|0); $33 = ($32|0)==(0); @@ -15267,7 +15271,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4650] = 1; + HEAP32[4728] = 1; } $39 = (_strcmp($24,5906)|0); $40 = ($39|0)==(0); @@ -15283,35 +15287,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4651] = 1; + HEAP32[4729] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5975)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4652] = 1; + HEAP32[4730] = 1; } $47 = (_strcmp($44,6000)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4653] = 1; + HEAP32[4731] = 1; } $49 = (_strcmp($44,6033)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4654] = 1; + HEAP32[4732] = 1; } $51 = (_strcmp($44,6069)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4717] = 1; - _glGetFloatv(34047,(18872|0)); + HEAP32[4795] = 1; + _glGetFloatv(34047,(19184|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,6103)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4719] = 1; + HEAP32[4797] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -15322,61 +15326,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4713]|0; + $21 = HEAP32[4791]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,6206,$vararg_buffer15); } else { _TraceLog(0,6131,$vararg_buffer13); } - $57 = HEAP32[4655]|0; + $57 = HEAP32[4733]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6342,$vararg_buffer19); } else { _TraceLog(0,6267,$vararg_buffer17); } - $59 = HEAP32[4650]|0; + $59 = HEAP32[4728]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6434,$vararg_buffer21); } - $61 = HEAP32[4651]|0; + $61 = HEAP32[4729]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6480,$vararg_buffer23); } - $63 = HEAP32[4652]|0; + $63 = HEAP32[4730]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6527,$vararg_buffer25); } - $65 = HEAP32[4653]|0; + $65 = HEAP32[4731]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6578,$vararg_buffer27); } - $67 = HEAP32[4654]|0; + $67 = HEAP32[4732]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6625,$vararg_buffer29); } - $69 = HEAP32[4717]|0; + $69 = HEAP32[4795]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4718]; + $71 = +HEAPF32[4796]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6672,$vararg_buffer31); } - $73 = HEAP32[4719]|0; + $73 = HEAP32[4797]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6738,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4720] = $75; + HEAP32[4798] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6842,$vararg_buffer39); @@ -15385,14 +15389,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6791,$vararg_buffer36); } _LoadDefaultShader($2); - dest=18884; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18940; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19196; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19252; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4749] = $77; + HEAP32[4827] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4749]|0; + $79 = HEAP32[4827]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -15405,7 +15409,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4750] = $78; + HEAP32[4828] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15420,48 +15424,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4751] = 1; - $85 = HEAP32[4720]|0; + HEAP32[4829] = 1; + $85 = HEAP32[4798]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4752] = 4; + HEAP32[4830] = 4; _MatrixIdentity($4); - dest=19012; src=$4; 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)); + dest=19324; src=$4; 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)); _MatrixIdentity($4); - dest=(19076); src=$4; 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)); + dest=(19388); src=$4; 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)); _MatrixIdentity($4); - dest=(19140); src=$4; 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)); + dest=(19452); src=$4; 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)); _MatrixIdentity($4); - dest=(19204); src=$4; 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)); + dest=(19516); src=$4; 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)); _MatrixIdentity($4); - dest=(19268); src=$4; 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)); + dest=(19580); src=$4; 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)); _MatrixIdentity($4); - dest=(19332); src=$4; 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)); + dest=(19644); src=$4; 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)); _MatrixIdentity($4); - dest=(19396); src=$4; 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)); + dest=(19708); src=$4; 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)); _MatrixIdentity($4); - dest=(19460); src=$4; 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)); + dest=(19772); src=$4; 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)); _MatrixIdentity($4); - dest=(19524); src=$4; 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)); + dest=(19836); src=$4; 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)); _MatrixIdentity($4); - dest=(19588); src=$4; 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)); + dest=(19900); src=$4; 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)); _MatrixIdentity($4); - dest=(19652); src=$4; 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)); + dest=(19964); src=$4; 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)); _MatrixIdentity($4); - dest=(19716); src=$4; 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)); + dest=(20028); src=$4; 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)); _MatrixIdentity($4); - dest=(19780); src=$4; 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)); + dest=(20092); src=$4; 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)); _MatrixIdentity($4); - dest=(19844); src=$4; 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)); + dest=(20156); src=$4; 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)); _MatrixIdentity($4); - dest=(19908); src=$4; 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)); + dest=(20220); src=$4; 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)); _MatrixIdentity($4); - dest=(19972); src=$4; 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)); + dest=(20284); src=$4; 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)); _MatrixIdentity($5); - dest=18720; src=$5; 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)); + dest=19032; src=$5; 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)); _MatrixIdentity($6); - dest=18784; src=$6; 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)); - HEAP32[4679] = 18784; + dest=19096; src=$6; 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)); + HEAP32[4757] = 19096; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15472,21 +15476,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5009] = $0; - HEAP32[5010] = $1; + HEAP32[5087] = $0; + HEAP32[5088] = $1; _TraceLog(0,6881,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4677]|0; + $0 = HEAP32[4755]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4678]|0; + $2 = HEAP32[4756]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4675]|0; + $4 = HEAP32[4753]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4676]|0; + $6 = HEAP32[4754]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15497,12 +15501,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 18720; + $modelview$sink = 19032; label = 3; break; } case 5888: { - $modelview$sink = 18784; + $modelview$sink = 19096; label = 3; break; } @@ -15510,9 +15514,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4679] = $modelview$sink; + HEAP32[4757] = $modelview$sink; } - HEAP32[4712] = $0; + HEAP32[4790] = $0; return; } function _rlLoadIdentity() { @@ -15520,7 +15524,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4679]|0; + $1 = HEAP32[4757]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -15541,7 +15545,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4679]|0; + $8 = HEAP32[4757]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -15638,15 +15642,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(20056)>>2] = $0; + HEAP32[(20368)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(20064)>>2] = $1; - HEAP32[(20060)>>2] = 0; - HEAP32[(20068)>>2] = 0; + HEAP32[(20376)>>2] = $1; + HEAP32[(20372)>>2] = 0; + HEAP32[(20380)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(20064)>>2]|0; + $2 = HEAP32[(20376)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15657,19 +15661,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5011] = 0; - HEAP32[(20052)>>2] = 0; - HEAP32[(20048)>>2] = 0; + HEAP32[5089] = 0; + HEAP32[(20364)>>2] = 0; + HEAP32[(20360)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(20104)>>2] = $5; + HEAP32[(20416)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(20112)>>2] = $6; - HEAP32[(20108)>>2] = 0; - HEAP32[(20116)>>2] = 0; + HEAP32[(20424)>>2] = $6; + HEAP32[(20420)>>2] = 0; + HEAP32[(20428)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(20112)>>2]|0; + $7 = HEAP32[(20424)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15680,24 +15684,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5023] = 0; - HEAP32[(20100)>>2] = 0; - HEAP32[(20096)>>2] = 0; + HEAP32[5101] = 0; + HEAP32[(20412)>>2] = 0; + HEAP32[(20408)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(20152)>>2] = $10; + HEAP32[(20464)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(20156)>>2] = $11; + HEAP32[(20468)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(20160)>>2] = $12; + HEAP32[(20472)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(20164)>>2] = $13; - $14 = HEAP32[(20152)>>2]|0; + HEAP32[(20476)>>2] = $13; + $14 = HEAP32[(20464)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(20156)>>2]|0; + $15 = HEAP32[(20468)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(20160)>>2]|0; + $17 = HEAP32[(20472)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15708,7 +15712,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(20164)>>2]|0; + $16 = HEAP32[(20476)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15745,140 +15749,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5035] = 0; - HEAP32[(20144)>>2] = 0; - HEAP32[(20148)>>2] = 0; + HEAP32[5113] = 0; + HEAP32[(20456)>>2] = 0; + HEAP32[(20460)>>2] = 0; _TraceLog(0,6928,$vararg_buffer); - $20 = HEAP32[4713]|0; + $20 = HEAP32[4791]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4714]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(20072)); - $44 = HEAP32[4715]|0; - $45 = HEAP32[(20072)>>2]|0; + $43 = HEAP32[4792]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(20384)); + $44 = HEAP32[4793]|0; + $45 = HEAP32[(20384)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((20076)|0)); - $46 = HEAP32[(20076)>>2]|0; + _glGenBuffers(2,((20388)|0)); + $46 = HEAP32[(20388)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(20056)>>2]|0; + $47 = HEAP32[(20368)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(18944)>>2]|0; + $48 = HEAP32[(19256)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(18944)>>2]|0; + $49 = HEAP32[(19256)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((20080)|0)); - $50 = HEAP32[(20080)>>2]|0; + _glGenBuffers(2,((20392)|0)); + $50 = HEAP32[(20392)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(20064)>>2]|0; + $51 = HEAP32[(20376)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(18964)>>2]|0; + $52 = HEAP32[(19276)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(18964)>>2]|0; + $53 = HEAP32[(19276)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4713]|0; + $54 = HEAP32[4791]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(20076)>>2]|0; - $58 = HEAP32[(20080)>>2]|0; + $57 = HEAP32[(20388)>>2]|0; + $58 = HEAP32[(20392)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,7066,$vararg_buffer3); } else { - $56 = HEAP32[(20072)>>2]|0; + $56 = HEAP32[(20384)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,7001,$vararg_buffer1); } - $59 = HEAP32[4713]|0; + $59 = HEAP32[4791]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4714]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(20120)); - $62 = HEAP32[4715]|0; - $63 = HEAP32[(20120)>>2]|0; + $61 = HEAP32[4792]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(20432)); + $62 = HEAP32[4793]|0; + $63 = HEAP32[(20432)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((20124)|0)); - $64 = HEAP32[(20124)>>2]|0; + _glGenBuffers(1,((20436)|0)); + $64 = HEAP32[(20436)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(20104)>>2]|0; + $65 = HEAP32[(20416)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(18944)>>2]|0; + $66 = HEAP32[(19256)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(18944)>>2]|0; + $67 = HEAP32[(19256)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20128)|0)); - $68 = HEAP32[(20128)>>2]|0; + _glGenBuffers(1,((20440)|0)); + $68 = HEAP32[(20440)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(20112)>>2]|0; + $69 = HEAP32[(20424)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(18964)>>2]|0; + $70 = HEAP32[(19276)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(18964)>>2]|0; + $71 = HEAP32[(19276)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4713]|0; + $72 = HEAP32[4791]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(20124)>>2]|0; - $76 = HEAP32[(20128)>>2]|0; + $75 = HEAP32[(20436)>>2]|0; + $76 = HEAP32[(20440)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,7212,$vararg_buffer10); } else { - $74 = HEAP32[(20120)>>2]|0; + $74 = HEAP32[(20432)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,7143,$vararg_buffer7); } - $77 = HEAP32[4713]|0; + $77 = HEAP32[4791]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4714]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(20168)); - $80 = HEAP32[4715]|0; - $81 = HEAP32[(20168)>>2]|0; + $79 = HEAP32[4792]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(20480)); + $80 = HEAP32[4793]|0; + $81 = HEAP32[(20480)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((20172)|0)); - $82 = HEAP32[(20172)>>2]|0; + _glGenBuffers(1,((20484)|0)); + $82 = HEAP32[(20484)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(20152)>>2]|0; + $83 = HEAP32[(20464)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(18944)>>2]|0; + $84 = HEAP32[(19256)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(18944)>>2]|0; + $85 = HEAP32[(19256)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20176)|0)); - $86 = HEAP32[(20176)>>2]|0; + _glGenBuffers(1,((20488)|0)); + $86 = HEAP32[(20488)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(20156)>>2]|0; + $87 = HEAP32[(20468)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(18948)>>2]|0; + $88 = HEAP32[(19260)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(18948)>>2]|0; + $89 = HEAP32[(19260)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((20180)|0)); - $90 = HEAP32[(20180)>>2]|0; + _glGenBuffers(1,((20492)|0)); + $90 = HEAP32[(20492)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(20160)>>2]|0; + $91 = HEAP32[(20472)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(18964)>>2]|0; + $92 = HEAP32[(19276)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(18964)>>2]|0; + $93 = HEAP32[(19276)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((20184)|0)); - $94 = HEAP32[(20184)>>2]|0; + _glGenBuffers(1,((20496)|0)); + $94 = HEAP32[(20496)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(20164)>>2]|0; + $95 = HEAP32[(20476)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4713]|0; + $96 = HEAP32[4791]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(20172)>>2]|0; - $100 = HEAP32[(20176)>>2]|0; - $101 = HEAP32[(20180)>>2]|0; - $102 = HEAP32[(20184)>>2]|0; + $99 = HEAP32[(20484)>>2]|0; + $100 = HEAP32[(20488)>>2]|0; + $101 = HEAP32[(20492)>>2]|0; + $102 = HEAP32[(20496)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15888,16 +15892,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7358,$vararg_buffer17); } else { - $98 = HEAP32[(20168)>>2]|0; + $98 = HEAP32[(20480)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7293,$vararg_buffer14); } - $103 = HEAP32[4713]|0; + $103 = HEAP32[4791]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4715]|0; + $105 = HEAP32[4793]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -16078,9 +16082,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21369 + ($0)|0); + $1 = (21681 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21372 + ($0)|0); + $3 = (21684 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16092,9 +16096,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21369 + ($0)|0); + $1 = (21681 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21372 + ($0)|0); + $3 = (21684 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -16115,7 +16119,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4632]|0; + $0 = HEAP32[4710]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,9202,$vararg_buffer); @@ -16126,9 +16130,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[18568>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18568+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18568+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18568+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18568+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[18880>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18880+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18880+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18880+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18880+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(18596)>>2]|0; + $0 = HEAP32[(18908)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -16139,11 +16143,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(18880|0)); - $0 = HEAP32[4720]|0; + _glDeleteTextures(1,(19192|0)); + $0 = HEAP32[4798]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9229,$vararg_buffer); - $1 = HEAP32[4750]|0; + $1 = HEAP32[4828]|0; _free($1); STACKTOP = sp;return; } @@ -16151,17 +16155,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4721]|0; + $0 = HEAP32[4799]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4713]|0; + $0 = HEAP32[4791]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4715]|0; + $2 = HEAP32[4793]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -16170,39 +16174,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((20076)|0)); - _glDeleteBuffers(1,((20080)|0)); - _glDeleteBuffers(1,((20124)|0)); - _glDeleteBuffers(1,((20128)|0)); - _glDeleteBuffers(1,((20172)|0)); - _glDeleteBuffers(1,((20176)|0)); - _glDeleteBuffers(1,((20180)|0)); - _glDeleteBuffers(1,((20184)|0)); - $3 = HEAP32[4713]|0; + _glDeleteBuffers(1,((20388)|0)); + _glDeleteBuffers(1,((20392)|0)); + _glDeleteBuffers(1,((20436)|0)); + _glDeleteBuffers(1,((20440)|0)); + _glDeleteBuffers(1,((20484)|0)); + _glDeleteBuffers(1,((20488)|0)); + _glDeleteBuffers(1,((20492)|0)); + _glDeleteBuffers(1,((20496)|0)); + $3 = HEAP32[4791]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4716]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(20072)); - $6 = HEAP32[4716]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(20120)); - $7 = HEAP32[4716]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(20168)); + $5 = HEAP32[4794]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(20384)); + $6 = HEAP32[4794]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(20432)); + $7 = HEAP32[4794]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(20480)); } - $8 = HEAP32[(20056)>>2]|0; + $8 = HEAP32[(20368)>>2]|0; _free($8); - $9 = HEAP32[(20064)>>2]|0; + $9 = HEAP32[(20376)>>2]|0; _free($9); - $10 = HEAP32[(20104)>>2]|0; + $10 = HEAP32[(20416)>>2]|0; _free($10); - $11 = HEAP32[(20112)>>2]|0; + $11 = HEAP32[(20424)>>2]|0; _free($11); - $12 = HEAP32[(20152)>>2]|0; + $12 = HEAP32[(20464)>>2]|0; _free($12); - $13 = HEAP32[(20156)>>2]|0; + $13 = HEAP32[(20468)>>2]|0; _free($13); - $14 = HEAP32[(20160)>>2]|0; + $14 = HEAP32[(20472)>>2]|0; _free($14); - $15 = HEAP32[(20164)>>2]|0; + $15 = HEAP32[(20476)>>2]|0; _free($15); return; } @@ -16242,16 +16246,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2260] = $0; - $1 = +HEAPF64[2243]; + HEAPF64[2299] = $0; + $1 = +HEAPF64[2282]; $2 = $0 - $1; - HEAPF64[2261] = $2; - HEAPF64[2243] = $0; + HEAPF64[2300] = $2; + HEAPF64[2282] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=18624; 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)); + dest=$downscaleView$byval_copy; src=18936; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20196); + _rlMultMatrixf(20508); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -16260,53 +16264,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[5049] = $1; + HEAP32[5127] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(20200)>>2] = $3; + HEAP32[(20512)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(20204)>>2] = $5; + HEAP32[(20516)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(20208)>>2] = $7; + HEAP32[(20520)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(20212)>>2] = $9; + HEAP32[(20524)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(20216)>>2] = $11; + HEAP32[(20528)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(20220)>>2] = $13; + HEAP32[(20532)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(20224)>>2] = $15; + HEAP32[(20536)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(20228)>>2] = $17; + HEAP32[(20540)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(20232)>>2] = $19; + HEAP32[(20544)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(20236)>>2] = $21; + HEAP32[(20548)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(20240)>>2] = $23; + HEAP32[(20552)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(20244)>>2] = $25; + HEAP32[(20556)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(20248)>>2] = $27; + HEAP32[(20560)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(20252)>>2] = $29; + HEAP32[(20564)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(20256)>>2] = $31; - return (20196|0); + HEAP32[(20568)>>2] = $31; + return (20508|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16381,7 +16385,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4679]|0; + $49 = HEAP32[4757]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -16395,15 +16399,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2260] = $0; - $1 = +HEAPF64[2243]; + HEAPF64[2299] = $0; + $1 = +HEAPF64[2282]; $2 = $0 - $1; - HEAPF64[2262] = $2; - HEAPF64[2243] = $0; - $3 = +HEAPF64[2261]; + HEAPF64[2301] = $2; + HEAPF64[2282] = $0; + $3 = +HEAPF64[2300]; $4 = $2 + $3; - HEAPF64[2263] = $4; - $5 = +HEAPF64[2240]; + HEAPF64[2302] = $4; + $5 = +HEAPF64[2279]; $6 = $4 < $5; if (!($6)) { return; @@ -16413,13 +16417,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2260] = $10; - $11 = +HEAPF64[2243]; + HEAPF64[2299] = $10; + $11 = +HEAPF64[2282]; $12 = $10 - $11; - HEAPF64[2243] = $10; - $13 = +HEAPF64[2263]; + HEAPF64[2282] = $10; + $13 = +HEAPF64[2302]; $14 = $12 + $13; - HEAPF64[2263] = $14; + HEAPF64[2302] = $14; return; } function _rlglDraw() { @@ -16432,7 +16436,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4632]|0; + $0 = HEAP32[4710]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16448,20 +16452,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[761] = -1; HEAP32[763] = -1; - HEAP32[5065] = 0; - $3 = HEAP32[4632]|0; + HEAP32[5143] = 0; + $3 = HEAP32[4710]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4478] = $5; + HEAPF32[4556] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(17916)>>2] = $7; - _memcpy((21887|0),(21375|0),512)|0; - ;HEAP8[21372>>0]=HEAP8[21369>>0]|0;HEAP8[21372+1>>0]=HEAP8[21369+1>>0]|0;HEAP8[21372+2>>0]=HEAP8[21369+2>>0]|0; - $8 = HEAP32[5048]|0; - HEAP32[4635] = $8; - HEAP32[5048] = 0; + HEAPF32[(18228)>>2] = $7; + _memcpy((22199|0),(21687|0),512)|0; + ;HEAP8[21684>>0]=HEAP8[21681>>0]|0;HEAP8[21684+1>>0]=HEAP8[21681+1>>0]|0;HEAP8[21684+2>>0]=HEAP8[21681+2>>0]|0; + $8 = HEAP32[5126]|0; + HEAP32[4713] = $8; + HEAP32[5126] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16471,8 +16475,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (22399 + ($$05160<<5)|0); - $scevgep67 = (22527 + ($$05160<<5)|0); + $scevgep = (22711 + ($$05160<<5)|0); + $scevgep67 = (22839 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -16486,7 +16490,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((22527 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((22839 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[763] = $$04857; @@ -16513,7 +16517,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((20264 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((20576 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16529,7 +16533,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5065] = $$lcssa; + HEAP32[5143] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16570,87 +16574,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5011]|0; + $0 = HEAP32[5089]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4713]|0; + $2 = HEAP32[4791]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4715]|0; - $5 = HEAP32[(20072)>>2]|0; + $4 = HEAP32[4793]|0; + $5 = HEAP32[(20384)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(20076)>>2]|0; + $6 = HEAP32[(20388)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5011]|0; + $7 = HEAP32[5089]|0; $8 = ($7*12)|0; - $9 = HEAP32[(20056)>>2]|0; + $9 = HEAP32[(20368)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(20080)>>2]|0; + $10 = HEAP32[(20392)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(20052)>>2]|0; + $11 = HEAP32[(20364)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(20064)>>2]|0; + $13 = HEAP32[(20376)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5023]|0; + $14 = HEAP32[5101]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4713]|0; + $16 = HEAP32[4791]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4715]|0; - $19 = HEAP32[(20120)>>2]|0; + $18 = HEAP32[4793]|0; + $19 = HEAP32[(20432)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(20124)>>2]|0; + $20 = HEAP32[(20436)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5023]|0; + $21 = HEAP32[5101]|0; $22 = ($21*12)|0; - $23 = HEAP32[(20104)>>2]|0; + $23 = HEAP32[(20416)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(20128)>>2]|0; + $24 = HEAP32[(20440)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(20100)>>2]|0; + $25 = HEAP32[(20412)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(20112)>>2]|0; + $27 = HEAP32[(20424)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5035]|0; + $28 = HEAP32[5113]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4713]|0; + $30 = HEAP32[4791]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4715]|0; - $33 = HEAP32[(20168)>>2]|0; + $32 = HEAP32[4793]|0; + $33 = HEAP32[(20480)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(20172)>>2]|0; + $34 = HEAP32[(20484)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5035]|0; + $35 = HEAP32[5113]|0; $36 = ($35*12)|0; - $37 = HEAP32[(20152)>>2]|0; + $37 = HEAP32[(20464)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(20176)>>2]|0; + $38 = HEAP32[(20488)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5035]|0; + $39 = HEAP32[5113]|0; $40 = $39 << 3; - $41 = HEAP32[(20156)>>2]|0; + $41 = HEAP32[(20468)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(20180)>>2]|0; + $42 = HEAP32[(20492)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5035]|0; + $43 = HEAP32[5113]|0; $44 = $43 << 2; - $45 = HEAP32[(20160)>>2]|0; + $45 = HEAP32[(20472)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4713]|0; + $46 = HEAP32[4791]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4715]|0; + $48 = HEAP32[4793]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16668,9 +16672,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=18720; 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)); - dest=$1; src=18784; 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)); - $3 = HEAP32[5098]|0; + dest=$0; src=19032; 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)); + dest=$1; src=19096; 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)); + $3 = HEAP32[5176]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16680,134 +16684,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5011]|0; + $8 = HEAP32[5089]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5023]|0; + $10 = HEAP32[5101]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5035]|0; + $12 = HEAP32[5113]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4735]|0; + $14 = HEAP32[4813]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=18784; 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)); - dest=$$byval_copy2; src=18720; 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)); + dest=$modelview$byval_copy; src=19096; 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)); + dest=$$byval_copy2; src=19032; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(18968)>>2]|0; + $15 = HEAP32[(19280)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(18972)>>2]|0; + $17 = HEAP32[(19284)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(18984)>>2]|0; + $18 = HEAP32[(19296)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5011]|0; + $19 = HEAP32[5089]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4720]|0; + $21 = HEAP32[4798]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4713]|0; + $22 = HEAP32[4791]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(20076)>>2]|0; + $26 = HEAP32[(20388)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(18944)>>2]|0; + $27 = HEAP32[(19256)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(18944)>>2]|0; + $28 = HEAP32[(19256)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(20080)>>2]|0; + $29 = HEAP32[(20392)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(18964)>>2]|0; + $30 = HEAP32[(19276)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(18964)>>2]|0; + $31 = HEAP32[(19276)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4715]|0; - $25 = HEAP32[(20072)>>2]|0; + $24 = HEAP32[4793]|0; + $25 = HEAP32[(20384)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5011]|0; + $32 = HEAP32[5089]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4713]|0; + $33 = HEAP32[4791]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5023]|0; + $35 = HEAP32[5101]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4720]|0; + $37 = HEAP32[4798]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4713]|0; + $38 = HEAP32[4791]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(20124)>>2]|0; + $42 = HEAP32[(20436)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(18944)>>2]|0; + $43 = HEAP32[(19256)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(18944)>>2]|0; + $44 = HEAP32[(19256)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(20128)>>2]|0; + $45 = HEAP32[(20440)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(18964)>>2]|0; + $46 = HEAP32[(19276)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(18964)>>2]|0; + $47 = HEAP32[(19276)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4715]|0; - $41 = HEAP32[(20120)>>2]|0; + $40 = HEAP32[4793]|0; + $41 = HEAP32[(20432)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5023]|0; + $48 = HEAP32[5101]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4713]|0; + $49 = HEAP32[4791]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5035]|0; + $51 = HEAP32[5113]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4713]|0; + $53 = HEAP32[4791]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(20172)>>2]|0; + $57 = HEAP32[(20484)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(18944)>>2]|0; + $58 = HEAP32[(19256)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(18944)>>2]|0; + $59 = HEAP32[(19256)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(20176)>>2]|0; + $60 = HEAP32[(20488)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(18948)>>2]|0; + $61 = HEAP32[(19260)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(18948)>>2]|0; + $62 = HEAP32[(19260)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(20180)>>2]|0; + $63 = HEAP32[(20492)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(18964)>>2]|0; + $64 = HEAP32[(19276)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(18964)>>2]|0; + $65 = HEAP32[(19276)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(20184)>>2]|0; + $66 = HEAP32[(20496)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4715]|0; - $56 = HEAP32[(20168)>>2]|0; + $55 = HEAP32[4793]|0; + $56 = HEAP32[(20480)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4751]|0; + $67 = HEAP32[4829]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4750]|0; + $71 = HEAP32[4828]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16818,14 +16822,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4750]|0; + $80 = HEAP32[4828]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4751]|0; + $87 = HEAP32[4829]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16834,7 +16838,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4713]|0; + $69 = HEAP32[4791]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16842,10 +16846,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4713]|0; + $89 = HEAP32[4791]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4715]|0; + $91 = HEAP32[4793]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16857,22 +16861,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4751] = 1; - $5 = HEAP32[4720]|0; - $6 = HEAP32[4750]|0; + HEAP32[4829] = 1; + $5 = HEAP32[4798]|0; + $6 = HEAP32[4828]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5011] = 0; - HEAP32[(20052)>>2] = 0; - HEAP32[5023] = 0; - HEAP32[(20100)>>2] = 0; - HEAP32[5035] = 0; - HEAP32[(20144)>>2] = 0; - HEAP32[(20148)>>2] = 0; + HEAP32[5089] = 0; + HEAP32[(20364)>>2] = 0; + HEAP32[5101] = 0; + HEAP32[(20412)>>2] = 0; + HEAP32[5113] = 0; + HEAP32[(20456)>>2] = 0; + HEAP32[(20460)>>2] = 0; HEAPF32[764] = -1.0; - dest=18720; src=$0; 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)); - dest=18784; src=$1; 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)); + dest=19032; src=$0; 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)); + dest=19096; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16887,17 +16891,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[5009]|0; + $5 = HEAP32[5087]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5010]|0; + $9 = HEAP32[5088]|0; _rlViewport($7,0,$8,$9); - $10 = (20624 + ($0<<6)|0); + $10 = (20936 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20496 + ($0<<6)|0); + $11 = (20808 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -16909,14 +16913,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=18784; src=$0; 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)); + dest=19096; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=18720; src=$0; 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)); + dest=19032; src=$0; 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)); return; } function _Begin3dMode($0) { @@ -16933,9 +16937,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4634]|0; + $2 = HEAP32[4712]|0; $3 = (+($2|0)); - $4 = HEAP32[4633]|0; + $4 = HEAP32[4711]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -16960,7 +16964,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; 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)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(20196); + _rlMultMatrixf(20508); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -16969,26 +16973,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5188]|0; + $0 = HEAP32[5266]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9344,$vararg_buffer); } - $2 = HEAP32[5188]|0; - $3 = (19012 + ($2<<6)|0); - $4 = HEAP32[4679]|0; + $2 = HEAP32[5266]|0; + $3 = (19324 + ($2<<6)|0); + $4 = HEAP32[4757]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[5188]|0; + $5 = HEAP32[5266]|0; $6 = (($5) + 1)|0; - HEAP32[5188] = $6; - $7 = HEAP32[4712]|0; + HEAP32[5266] = $6; + $7 = HEAP32[4790]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5189] = 1; + HEAP32[5267] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -17007,7 +17011,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4679]|0; + $8 = HEAP32[4757]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -17034,18 +17038,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5188]|0; + $0 = HEAP32[5266]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5188]|0; + $2 = HEAP32[5266]|0; $3 = (($2) + -1)|0; - $4 = (19012 + ($3<<6)|0); - $5 = HEAP32[4679]|0; + $4 = (19324 + ($3<<6)|0); + $5 = HEAP32[4757]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5188] = $6; + HEAP32[5266] = $6; return; } function _rlDisableDepthTest() { @@ -17065,7 +17069,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2263]; + $0 = +HEAPF64[2302]; $1 = $0; return (+$1); } @@ -17073,19 +17077,19 @@ function _SetConfigFlags($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAP8[21368] = $0; + HEAP8[21680] = $0; $1 = $0 & 1; $2 = ($1<<24>>24)==(0); if (!($2)) { - HEAP32[4637] = 1; + HEAP32[4715] = 1; } - $3 = HEAP8[21368]|0; + $3 = HEAP8[21680]|0; $4 = $3 & 2; $5 = ($4<<24>>24)==(0); if ($5) { return; } - HEAP32[4674] = 1; + HEAP32[4752] = 1; return; } function _IsFileExtension($0,$1) { @@ -17118,7 +17122,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4679]|0; + $5 = HEAP32[4757]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -17151,7 +17155,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4679]|0; + $11 = HEAP32[4757]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -17162,7 +17166,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4752] = $0; + HEAP32[4830] = $0; return; } function _rlEnd() { @@ -17178,21 +17182,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5189]|0; + $0 = HEAP32[5267]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5190]|0; + $2 = HEAP32[5268]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4749]|0; + $6 = HEAP32[4827]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4679]|0; + $8 = HEAP32[4757]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5190]|0; + $5 = HEAP32[5268]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -17200,12 +17204,12 @@ function _rlEnd() { break; } } - HEAP32[5189] = 0; + HEAP32[5267] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4749]|0; + $11 = HEAP32[4827]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -17214,7 +17218,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5190]|0; + $19 = HEAP32[5268]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -17224,15 +17228,15 @@ function _rlEnd() { } } } else { - HEAP32[5189] = 0; + HEAP32[5267] = 0; } - HEAP32[5190] = 0; + HEAP32[5268] = 0; } - $21 = HEAP32[4752]|0; + $21 = HEAP32[4830]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5011]|0; - $23 = HEAP32[(20052)>>2]|0; + $22 = HEAP32[5089]|0; + $23 = HEAP32[(20364)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[764]; @@ -17251,16 +17255,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(20064)>>2]|0; - $28 = HEAP32[(20052)>>2]|0; + $27 = HEAP32[(20376)>>2]|0; + $28 = HEAP32[(20364)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(20064)>>2]|0; - $35 = HEAP32[(20052)>>2]|0; + $34 = HEAP32[(20376)>>2]|0; + $35 = HEAP32[(20364)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -17268,8 +17272,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(20064)>>2]|0; - $43 = HEAP32[(20052)>>2]|0; + $42 = HEAP32[(20376)>>2]|0; + $43 = HEAP32[(20364)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -17277,8 +17281,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(20064)>>2]|0; - $51 = HEAP32[(20052)>>2]|0; + $50 = HEAP32[(20376)>>2]|0; + $51 = HEAP32[(20364)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -17286,9 +17290,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(20052)>>2]|0; + $58 = HEAP32[(20364)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(20052)>>2] = $59; + HEAP32[(20364)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -17304,8 +17308,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5023]|0; - $62 = HEAP32[(20100)>>2]|0; + $61 = HEAP32[5101]|0; + $62 = HEAP32[(20412)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[764]; @@ -17324,16 +17328,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(20112)>>2]|0; - $67 = HEAP32[(20100)>>2]|0; + $66 = HEAP32[(20424)>>2]|0; + $67 = HEAP32[(20412)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(20112)>>2]|0; - $74 = HEAP32[(20100)>>2]|0; + $73 = HEAP32[(20424)>>2]|0; + $74 = HEAP32[(20412)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -17341,8 +17345,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(20112)>>2]|0; - $82 = HEAP32[(20100)>>2]|0; + $81 = HEAP32[(20424)>>2]|0; + $82 = HEAP32[(20412)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -17350,8 +17354,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(20112)>>2]|0; - $90 = HEAP32[(20100)>>2]|0; + $89 = HEAP32[(20424)>>2]|0; + $90 = HEAP32[(20412)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -17359,9 +17363,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(20100)>>2]|0; + $97 = HEAP32[(20412)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(20100)>>2] = $98; + HEAP32[(20412)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -17377,8 +17381,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5035]|0; - $101 = HEAP32[(20148)>>2]|0; + $100 = HEAP32[5113]|0; + $101 = HEAP32[(20460)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -17386,16 +17390,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(20160)>>2]|0; - $106 = HEAP32[(20148)>>2]|0; + $105 = HEAP32[(20472)>>2]|0; + $106 = HEAP32[(20460)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(20160)>>2]|0; - $113 = HEAP32[(20148)>>2]|0; + $112 = HEAP32[(20472)>>2]|0; + $113 = HEAP32[(20460)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -17403,8 +17407,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(20160)>>2]|0; - $121 = HEAP32[(20148)>>2]|0; + $120 = HEAP32[(20472)>>2]|0; + $121 = HEAP32[(20460)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -17412,8 +17416,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(20160)>>2]|0; - $129 = HEAP32[(20148)>>2]|0; + $128 = HEAP32[(20472)>>2]|0; + $129 = HEAP32[(20460)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -17421,9 +17425,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(20148)>>2]|0; + $136 = HEAP32[(20460)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(20148)>>2] = $137; + HEAP32[(20460)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -17434,8 +17438,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5035]|0; - $140 = HEAP32[(20144)>>2]|0; + $139 = HEAP32[5113]|0; + $140 = HEAP32[(20456)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[764]; @@ -17443,8 +17447,8 @@ function _rlEnd() { HEAPF32[764] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(20156)>>2]|0; - $$promoted = HEAP32[(20144)>>2]|0; + $142 = HEAP32[(20468)>>2]|0; + $$promoted = HEAP32[(20456)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -17452,7 +17456,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(20144)>>2] = $147; + HEAP32[(20456)>>2] = $147; $148 = +HEAPF32[764]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[764] = $149; @@ -17479,11 +17483,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5189]|0; + $3 = HEAP32[5267]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4749]|0; - $6 = HEAP32[5190]|0; + $5 = HEAP32[4827]|0; + $6 = HEAP32[5268]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17491,16 +17495,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5190] = $10; + HEAP32[5268] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4752]|0; + $11 = HEAP32[4830]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5011]|0; + $12 = HEAP32[5089]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(20056)>>2]|0; + $14 = HEAP32[(20368)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17511,7 +17515,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5011] = $21; + HEAP32[5089] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9382,$vararg_buffer); @@ -17520,10 +17524,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[5023]|0; + $22 = HEAP32[5101]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(20104)>>2]|0; + $24 = HEAP32[(20416)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17534,7 +17538,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5023] = $31; + HEAP32[5101] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9407,$vararg_buffer1); @@ -17543,10 +17547,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[5035]|0; + $32 = HEAP32[5113]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(20152)>>2]|0; + $34 = HEAP32[(20464)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17557,9 +17561,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5035] = $41; - $42 = HEAP32[4750]|0; - $43 = HEAP32[4751]|0; + HEAP32[5113] = $41; + $42 = HEAP32[4828]|0; + $43 = HEAP32[4829]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17591,13 +17595,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4752]|0; + $2 = HEAP32[4830]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(20156)>>2]|0; - $5 = HEAP32[(20144)>>2]|0; + $4 = HEAP32[(20468)>>2]|0; + $5 = HEAP32[(20456)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17605,7 +17609,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(20144)>>2] = $10; + HEAP32[(20456)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17624,18 +17628,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4752]|0; + $4 = HEAP32[4830]|0; switch ($4|0) { case 1: { - $$sink37 = (20052);$$sink38 = (20064); + $$sink37 = (20364);$$sink38 = (20376); break; } case 4: { - $$sink37 = (20100);$$sink38 = (20112); + $$sink37 = (20412);$$sink38 = (20424); break; } case 7: { - $$sink37 = (20148);$$sink38 = (20160); + $$sink37 = (20460);$$sink38 = (20472); break; } default: { @@ -17689,8 +17693,8 @@ function _rlEnableTexture($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 = HEAP32[4750]|0; - $2 = HEAP32[4751]|0; + $1 = HEAP32[4828]|0; + $2 = HEAP32[4829]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17703,9 +17707,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4751] = $10; + HEAP32[4829] = $10; } - $11 = HEAP32[4751]|0; + $11 = HEAP32[4829]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17716,7 +17720,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5035]|0; + $0 = HEAP32[5113]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17743,14 +17747,14 @@ function _rlDeleteVertexArrays($0) { $vararg_buffer = sp; $1 = sp + 4|0; HEAP32[$1>>2] = $0; - $2 = HEAP32[4713]|0; + $2 = HEAP32[4791]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = ($0|0)==(0); if (!($4)) { - $5 = HEAP32[4716]|0; + $5 = HEAP32[4794]|0; FUNCTION_TABLE_vii[$5 & 63](1,$1); } $6 = HEAP32[$1>>2]|0; @@ -17771,7 +17775,7 @@ function _rlDeleteBuffers($0) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4713]|0; + $3 = HEAP32[4791]|0; $4 = ($3|0)==(0); if (!($4)) { STACKTOP = sp;return; @@ -17809,12 +17813,12 @@ function _rlglLoadMesh($0,$1) { ;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; HEAP32[$2>>2] = 0; ;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;HEAP32[$3+24>>2]=0|0; - $13 = HEAP32[4713]|0; + $13 = HEAP32[4791]|0; $14 = ($13|0)==(0); if (!($14)) { - $15 = HEAP32[4714]|0; + $15 = HEAP32[4792]|0; FUNCTION_TABLE_vii[$15 & 63](1,$2); - $16 = HEAP32[4715]|0; + $16 = HEAP32[4793]|0; $17 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$16 & 31]($17); } @@ -17944,7 +17948,7 @@ function _rlglLoadMesh($0,$1) { $80 = ((($3)) + 24|0); $81 = HEAP32[$80>>2]|0; HEAP32[$11>>2] = $81; - $82 = HEAP32[4713]|0; + $82 = HEAP32[4791]|0; $83 = ($82|0)==(0); if ($83) { _TraceLog(0,9658,$vararg_buffer3); @@ -18049,13 +18053,13 @@ function _rlglDrawMesh($0,$1,$2) { $63 = $62 / 255.0; _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); } - dest=$3; src=18784; 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)); - dest=$4; src=18720; 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)); + dest=$3; src=19096; 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)); + dest=$4; src=19032; 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)); dest=$modelview$byval_copy4; 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)); - dest=$$byval_copy5; src=18784; 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)); + dest=$$byval_copy5; src=19096; 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)); _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[4721]|0; + $65 = HEAP32[4799]|0; $66 = ($64|0)==($65|0); if (!($66)) { $67 = (_glGetUniformLocation(($64|0),(9706|0))|0); @@ -18131,7 +18135,7 @@ function _rlglDrawMesh($0,$1,$2) { _glUniform1i(($106|0),2); } } - $107 = HEAP32[4713]|0; + $107 = HEAP32[4791]|0; $108 = ($107|0)==(0); if ($108) { $112 = ((($0)) + 40|0); @@ -18211,16 +18215,16 @@ function _rlglDrawMesh($0,$1,$2) { $151 = HEAP32[$150>>2]|0; $152 = ($151|0)==(0|0); if (!($152)) { - $153 = HEAP32[(20184)>>2]|0; + $153 = HEAP32[(20496)>>2]|0; _glBindBuffer(34963,($153|0)); } } else { - $109 = HEAP32[4715]|0; + $109 = HEAP32[4793]|0; $110 = ((($0)) + 36|0); $111 = HEAP32[$110>>2]|0; FUNCTION_TABLE_vi[$109 & 31]($111); } - $154 = HEAP32[5098]|0; + $154 = HEAP32[5176]|0; $155 = ($154|0)!=(0); $$ = $155 ? 2 : 1; $156 = ((($1)) + 28|0); @@ -18234,10 +18238,10 @@ function _rlglDrawMesh($0,$1,$2) { dest=$$byval_copy5; src=$5; 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)); _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); } else { - dest=18784; src=$5; 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)); + dest=19096; src=$5; 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)); } - dest=$modelview$byval_copy4; src=18784; 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)); - dest=$$byval_copy5; src=18720; 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)); + dest=$modelview$byval_copy4; src=19096; 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)); + dest=$$byval_copy5; src=19032; 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)); _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); $162 = HEAP32[$156>>2]|0; dest=$$byval_copy5; src=$6; 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)); @@ -18274,14 +18278,14 @@ function _rlglDrawMesh($0,$1,$2) { } _glActiveTexture(33984); _glBindTexture(3553,0); - $172 = HEAP32[4713]|0; + $172 = HEAP32[4791]|0; $173 = ($172|0)==(0); if (!($173)) { - $174 = HEAP32[4715]|0; + $174 = HEAP32[4793]|0; FUNCTION_TABLE_vi[$174 & 31](0); _glUseProgram(0); - dest=18720; src=$4; 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)); - dest=18784; src=$3; 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)); + dest=19032; src=$4; 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)); + dest=19096; src=$3; 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)); STACKTOP = sp;return; } _glBindBuffer(34962,0); @@ -18290,14 +18294,14 @@ function _rlglDrawMesh($0,$1,$2) { $177 = ($176|0)==(0|0); if ($177) { _glUseProgram(0); - dest=18720; src=$4; 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)); - dest=18784; src=$3; 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)); + dest=19032; src=$4; 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)); + dest=19096; src=$3; 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)); STACKTOP = sp;return; } _glBindBuffer(34963,0); _glUseProgram(0); - dest=18720; src=$4; 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)); - dest=18784; src=$3; 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)); + dest=19032; src=$4; 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)); + dest=19096; src=$3; 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)); STACKTOP = sp;return; } function _rlglUnloadMesh($0) { @@ -18377,7 +18381,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4720]|0; + $1 = HEAP32[4798]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -18400,7 +18404,7 @@ function _LoadText($0) { $$1 = 0; STACKTOP = sp;return ($$1|0); } - $2 = (_fopen($0,11752)|0); + $2 = (_fopen($0,12060)|0); $3 = ($2|0)==(0|0); if ($3) { HEAP32[$vararg_buffer>>2] = $0; @@ -18455,7 +18459,7 @@ function _LoadShader($0,$1,$2) { $11 = ($10|0)==(0); if ($11) { _TraceLog(2,9794,$vararg_buffer); - dest=$3; src=18884; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$3; src=19196; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } dest=$0; src=$3; stop=dest+56|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; @@ -18481,43 +18485,14 @@ function _GetDefaultShader($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=$0; src=18884; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$0; src=19196; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9870); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,11203)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5191] = $0; + HEAP32[5269] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -18581,7 +18556,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9882|0),(9908|0),1125,(9931|0)); + ___assert_fail((9870|0),(9896|0),1041,(9919|0)); // unreachable; } } @@ -18599,7 +18574,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5192]|0; + $15 = HEAP32[5270]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -18692,7 +18667,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9972); + _stbi__err(9960); $$0 = 0; return ($$0|0); } else { @@ -18714,7 +18689,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9963); + _stbi__err(9951); $$0 = 0; return ($$0|0); } @@ -18784,7 +18759,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9991); + _stbi__err(9979); $$045 = 0; return ($$045|0); } @@ -19345,7 +19320,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (10307 + ($120)|0); + $121 = (10295 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -19387,97 +19362,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(10081); + _stbi__err(10069); $$6$ph = 0; break; } case 9: { - _stbi__err(10095); + _stbi__err(10083); $$6$ph = 0; break; } case 11: { - _stbi__err(10108); + _stbi__err(10096); $$6$ph = 0; break; } case 13: { - _stbi__err(10108); + _stbi__err(10096); $$6$ph = 0; break; } case 15: { - _stbi__err(10118); + _stbi__err(10106); $$6$ph = 0; break; } case 17: { - _stbi__err(10138); + _stbi__err(10126); $$6$ph = 0; break; } case 20: { - _stbi__err(10138); + _stbi__err(10126); $$6$ph = 0; break; } case 22: { - _stbi__err(10138); + _stbi__err(10126); $$6$ph = 0; break; } case 24: { - _stbi__err(10148); + _stbi__err(10136); $$6$ph = 0; break; } case 26: { - _stbi__err(10164); + _stbi__err(10152); $$6$ph = 0; break; } case 28: { - _stbi__err(10182); + _stbi__err(10170); $$6$ph = 0; break; } case 31: { - _stbi__err(10203); + _stbi__err(10191); $$6$ph = 0; break; } case 34: { - _stbi__err(10108); + _stbi__err(10096); $$6$ph = 0; break; } case 37: { - _stbi__err(10108); + _stbi__err(10096); $$6$ph = 0; break; } case 39: { - _stbi__err(10217); + _stbi__err(10205); $$6$ph = 0; break; } case 41: { - _stbi__err(10232); + _stbi__err(10220); $$6$ph = 0; break; } case 44: { - _stbi__err(10232); + _stbi__err(10220); $$6$ph = 0; break; } case 47: { - _stbi__err(10217); + _stbi__err(10205); $$6$ph = 0; break; } case 49: { - _stbi__err(10245); + _stbi__err(10233); $$6$ph = 0; break; } @@ -19488,32 +19463,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(10261); + _stbi__err(10249); $$6$ph = 0; break; } case 58: { - _stbi__err(10278); + _stbi__err(10266); $$6$ph = 0; break; } case 61: { - _stbi__err(10291); + _stbi__err(10279); $$6$ph = 0; break; } case 63: { - _stbi__err(10278); + _stbi__err(10266); $$6$ph = 0; break; } case 70: { - _stbi__err(10217); + _stbi__err(10205); $$6$ph = 0; break; } case 72: { - _stbi__err(10316); + _stbi__err(10304); $$6$ph = 0; break; } @@ -19525,12 +19500,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9963); + _stbi__err(9951); $$6$ph = 0; break; } case 83: { - _stbi__err(10324); + _stbi__err(10312); $$6$ph = 0; break; } @@ -19543,7 +19518,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(10334); + _stbi__err(10322); $$4 = 0; break; } @@ -19608,7 +19583,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5193]|0; + $193 = HEAP32[5271]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -19641,7 +19616,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(10217); + _stbi__err(10205); $$4 = 0; } } while(0); @@ -19649,24 +19624,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(10217); + _stbi__err(10205); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[10342] = $206; + HEAP8[10330] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(10343)>>0] = $209; + HEAP8[(10331)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(10344)>>0] = $211; + HEAP8[(10332)>>0] = $211; $212 = $207&255; - HEAP8[(10345)>>0] = $212; - _stbi__err(10342); + HEAP8[(10333)>>0] = $212; + _stbi__err(10330); $$6$ph = 0; break; } @@ -19700,14 +19675,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10004|0),(9908|0),1561,(10060|0)); + ___assert_fail((9992|0),(9896|0),1477,(10048|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9963); + _stbi__err(9951); $$0163 = 0; return ($$0163|0); } @@ -20070,7 +20045,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10058|0),(9908|0),1590,(10060|0)); + ___assert_fail((10046|0),(9896|0),1506,(10048|0)); // unreachable; } } while(0); @@ -20104,7 +20079,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10004|0),(9908|0),1610,(10035|0)); + ___assert_fail((9992|0),(9896|0),1526,(10023|0)); // unreachable; } $7 = $2 << 1; @@ -20114,7 +20089,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9963); + _stbi__err(9951); $$0163 = 0; return ($$0163|0); } @@ -20477,7 +20452,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10058|0),(9908|0),1639,(10035|0)); + ___assert_fail((10046|0),(9896|0),1555,(10023|0)); // unreachable; } } while(0); @@ -20625,7 +20600,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10999); + _stbi__err(11307); $$05 = 0; return ($$05|0); } @@ -21062,7 +21037,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10401|0),(9908|0),4568,(10453|0)); + ___assert_fail((10389|0),(9896|0),4569,(10441|0)); // unreachable; } } @@ -21149,7 +21124,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10401|0),(9908|0),4543,(10426|0)); + ___assert_fail((10389|0),(9896|0),4544,(10414|0)); // unreachable; } } @@ -21196,7 +21171,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5194]|0; + $16 = HEAP32[5272]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -21271,7 +21246,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((10367|0),(9908|0),4649,(10385|0)); + ___assert_fail((10355|0),(9896|0),4650,(10373|0)); // unreachable; } } @@ -21294,7 +21269,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9963); + _stbi__err(9951); $$0 = 0; return ($$0|0); } @@ -21471,7 +21446,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10482|0),(9908|0),4294,(10523|0)); + ___assert_fail((10470|0),(9896|0),4294,(10511|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -21479,7 +21454,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9963); + _stbi__err(9951); $$2 = 0; return ($$2|0); } @@ -21498,7 +21473,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10550); + _stbi__err(10538); $$2 = 0; return ($$2|0); } @@ -21511,7 +21486,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10550); + _stbi__err(10538); $$2 = 0; return ($$2|0); } @@ -21519,12 +21494,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -21547,33 +21522,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10589 + ($56)|0); + $60 = (10577 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -21583,24 +21558,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -21610,10 +21585,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -21624,10 +21599,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -21638,14 +21613,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -21675,7 +21650,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -21690,12 +21665,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -22272,15 +22247,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10568|0),(9908|0),4315,(10523|0)); + ___assert_fail((10556|0),(9896|0),4315,(10511|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10594|0),(9908|0),4376,(10523|0)); + ___assert_fail((10582|0),(9896|0),4377,(10511|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10611); + _stbi__err(10599); $$2 = 0; return ($$2|0); } @@ -22330,7 +22305,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (10307 + ($6)|0); + $336 = (10295 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -22771,7 +22746,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10626|0),(9908|0),4465,(10523|0)); + ___assert_fail((10614|0),(9896|0),4466,(10511|0)); // unreachable; } else if ((label|0) == 151) { @@ -22831,8 +22806,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -22847,15 +22822,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -22864,65 +22839,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(22686)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10625,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,22687,288)|0); + $15 = (_stbi__zbuild_huffman($8,10913,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,22655,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -22941,14 +22911,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10952); + _stbi__err(11260); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10968); + _stbi__err(11276); $$0 = 0; return ($$0|0); } @@ -22957,7 +22927,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10983); + _stbi__err(11291); $$0 = 0; return ($$0|0); } @@ -23040,7 +23010,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10874|0),(9908|0),4048,(10891|0)); + ___assert_fail((11182|0),(9896|0),4033,(11199|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -23077,7 +23047,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10922); + _stbi__err(11230); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23087,7 +23057,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10935); + _stbi__err(11243); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23117,21 +23087,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((22687|0),8,144)|0; - dest=(22831); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(22943); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (22967); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=22655; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -23265,7 +23220,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10812); + _stbi__err(11120); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23354,7 +23309,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10864); + _stbi__err(11172); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23383,7 +23338,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11658 + ($$06579)|0); + $14 = (11966 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -23474,21 +23429,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10812); + _stbi__err(11120); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10812); + _stbi__err(11120); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10828|0),(9908|0),4021,(10836|0)); + ___assert_fail((11136|0),(9896|0),4006,(11144|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10812); + _stbi__err(11120); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23498,7 +23453,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10812); + _stbi__err(11120); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23662,7 +23617,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10637); + _stbi__err(10945); $$3$ph = 0; return ($$3$ph|0); } @@ -23672,12 +23627,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10637); + _stbi__err(10945); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10654); + _stbi__err(10962); $$3$ph = 0; return ($$3$ph|0); } @@ -23734,7 +23689,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10663); + _stbi__err(10971); $$0 = 0; return ($$0|0); } @@ -23760,7 +23715,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9963); + _stbi__err(9951); $$0 = 0; return ($$0|0); } else { @@ -23805,7 +23760,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10759|0),(9908|0),3863,(10796|0)); + ___assert_fail((11067|0),(9896|0),3848,(11104|0)); // unreachable; } else if ((label|0) == 5) { @@ -23853,7 +23808,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10683|0),(9908|0),3891,(10699|0)); + ___assert_fail((10991|0),(9896|0),3876,(11007|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -23881,7 +23836,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10730|0),(9908|0),3781,(10741|0)); + ___assert_fail((11038|0),(9896|0),3766,(11049|0)); // unreachable; } return (0)|0; @@ -24027,10 +23982,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -24041,27 +23996,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,11011)|0); + $6 = (_IsFileExtension($1,11319)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,11064)|0); + $19 = (_IsFileExtension($1,11372)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,11069,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,11377,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,11511)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -24089,7 +24045,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -24106,18 +24062,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11017,$vararg_buffer); + _TraceLog(2,11325,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -24126,34 +24082,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,11105,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,11413,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,11144,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11452,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -24172,11 +24135,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,11203)|0); + $4 = (_fopen($0,11511)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11206,$vararg_buffer); + _TraceLog(2,11514,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -24275,7 +24238,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,11303,$vararg_buffer4); + _TraceLog(0,11611,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -24310,14 +24273,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11349,$vararg_buffer8); + _TraceLog(2,11657,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,11257,$vararg_buffer1); + _TraceLog(2,11565,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -24407,7 +24370,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,11175,$vararg_buffer); + _TraceLog(2,11483,$vararg_buffer); $$0 = $6; } } @@ -24452,27 +24415,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11399,$vararg_buffer); + _TraceLog(2,11707,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11438,$vararg_buffer1); + _TraceLog(2,11746,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11464,$vararg_buffer3); + _TraceLog(2,11772,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11527,$vararg_buffer5); + _TraceLog(2,11835,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11562,$vararg_buffer7); + _TraceLog(2,11870,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11597,$vararg_buffer10); + _TraceLog(0,11905,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -25655,7 +25618,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11654 + ($$361133)|0); + $199 = (11962 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -26085,7 +26048,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11654 + ($$331130)|0); + $186 = (11962 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -26123,7 +26086,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11654 + ($$371134)|0); + $203 = (11962 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -26162,7 +26125,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11658 + ($$421139)|0); + $235 = (11966 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -26569,7 +26532,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11677 + ($495)|0); + $496 = (11985 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -26606,7 +26569,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11681 + ($515)|0); + $516 = (11989 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -27518,7 +27481,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,11685,$vararg_buffer); + _TraceLog(2,11993,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -27539,7 +27502,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[18568>>2]|0;HEAP32[$0+4>>2]=HEAP32[18568+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18568+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18568+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18568+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18568+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18568+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18568+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[18880>>2]|0;HEAP32[$0+4>>2]=HEAP32[18880+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18880+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18880+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18880+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18880+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18880+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18880+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -27921,8 +27884,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(22975,$0,$1)|0); - STACKTOP = sp;return (22975|0); + (_vsprintf(22967,$0,$1)|0); + STACKTOP = sp;return (22967|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -27932,7 +27895,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[5195]|0; + $3 = HEAP32[5273]|0; $4 = HEAP32[925]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -27940,14 +27903,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[5196] = $7; + HEAP32[5274] = $7; HEAP32[925] = $7; $$sink = 0; } - HEAP32[5195] = $$sink; - $8 = HEAP32[5196]|0; + HEAP32[5273] = $$sink; + $8 = HEAP32[5274]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(11714,$$byval_copy)|0); + (_FormatText(12022,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -27956,7 +27919,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(22975,$0,$1,20,$$byval_copy); + _DrawText(22967,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _DrawGrid($0,$1) { @@ -28017,7 +27980,7 @@ function _LoadMesh($0,$1) { $2 = sp + 72|0; $3 = sp + 4|0; dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (_IsFileExtension($1,11722)|0); + $4 = (_IsFileExtension($1,12030)|0); $5 = ($4|0)==(0); if (!($5)) { _LoadOBJ($3,$1); @@ -28026,7 +27989,7 @@ function _LoadMesh($0,$1) { $6 = HEAP32[$2>>2]|0; $7 = ($6|0)==(0); if ($7) { - _TraceLog(2,11727,$vararg_buffer); + _TraceLog(2,12035,$vararg_buffer); } else { _rlglLoadMesh($2,0); } @@ -28099,11 +28062,11 @@ function _LoadOBJ($0,$1) { $13 = sp + 344|0; $14 = sp + 332|0; dest=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $15 = (_fopen($1,11752)|0); + $15 = (_fopen($1,12060)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11755,$vararg_buffer); + _TraceLog(2,12063,$vararg_buffer); $$sroa$75$0$$sroa_idx = ((($0)) + 32|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;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; dest=$$sroa$75$0$$sroa_idx; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -28123,7 +28086,7 @@ function _LoadOBJ($0,$1) { L12: while(1) { L14: while(1) { HEAP32[$vararg_buffer1>>2] = $2; - (_fscanf($15,11789,$vararg_buffer1)|0); + (_fscanf($15,12097,$vararg_buffer1)|0); $19 = HEAP8[$2>>0]|0; $20 = $19 << 24 >> 24; switch ($20|0) { @@ -28150,7 +28113,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer4>>2] = $2; - (_fscanf($15,11789,$vararg_buffer4)|0); + (_fscanf($15,12097,$vararg_buffer4)|0); $23 = HEAP8[$2>>0]|0; switch ($23<<24>>24) { case 116: { @@ -28215,19 +28178,19 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $$0$ph379$lcssa386; - _TraceLog(3,11792,$vararg_buffer7); + _TraceLog(3,12100,$vararg_buffer7); HEAP32[$vararg_buffer11>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr14>>2] = $$0345$ph372$lcssa389; - _TraceLog(3,11820,$vararg_buffer11); + _TraceLog(3,12128,$vararg_buffer11); HEAP32[$$byval_copy102>>2] = $1; $vararg_ptr18 = ((($$byval_copy102)) + 4|0); HEAP32[$vararg_ptr18>>2] = $$0344$ph376$lcssa388; - _TraceLog(3,11849,$$byval_copy102); + _TraceLog(3,12157,$$byval_copy102); HEAP32[$$byval_copy103>>2] = $1; $vararg_ptr22 = ((($$byval_copy103)) + 4|0); HEAP32[$vararg_ptr22>>2] = $$0346$ph$lcssa; - _TraceLog(3,11876,$$byval_copy103); + _TraceLog(3,12184,$$byval_copy103); $36 = ($$0$ph379$lcssa386*12)|0; $37 = (_malloc($36)|0); $38 = ($$0344$ph376$lcssa388|0)>(0); @@ -28259,7 +28222,7 @@ function _LoadOBJ($0,$1) { L36: while(1) { L38: while(1) { HEAP32[$vararg_buffer23>>2] = $2; - (_fscanf($15,11789,$vararg_buffer23)|0); + (_fscanf($15,12097,$vararg_buffer23)|0); $46 = HEAP8[$2>>0]|0; $47 = $46 << 24 >> 24; switch ($47|0) { @@ -28281,7 +28244,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer26>>2] = $2; - (_fscanf($15,11789,$vararg_buffer26)|0); + (_fscanf($15,12097,$vararg_buffer26)|0); $50 = HEAP8[$2>>0]|0; switch ($50<<24>>24) { case 110: { @@ -28300,10 +28263,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer29>>2] = $51; $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); HEAP32[$vararg_ptr32>>2] = $52; - (_fscanf($15,11905,$vararg_buffer29)|0); + (_fscanf($15,12213,$vararg_buffer29)|0); $53 = (($$0353$ph367397) + 1)|0; HEAP32[$vararg_buffer33>>2] = $2; - (_fscanf($15,11789,$vararg_buffer33)|0); + (_fscanf($15,12097,$vararg_buffer33)|0); $54 = (_feof($15)|0); $55 = ($54|0)==(0); if ($55) { @@ -28320,10 +28283,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr39>>2] = $57; $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); HEAP32[$vararg_ptr40>>2] = $58; - (_fscanf($15,11919,$vararg_buffer36)|0); + (_fscanf($15,12227,$vararg_buffer36)|0); $59 = (($$0354$ph364398) + 1)|0; HEAP32[$vararg_buffer41>>2] = $2; - (_fscanf($15,11789,$vararg_buffer41)|0); + (_fscanf($15,12097,$vararg_buffer41)|0); $60 = (_feof($15)|0); $61 = ($60|0)==(0); if ($61) { @@ -28340,10 +28303,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr47>>2] = $63; $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); HEAP32[$vararg_ptr48>>2] = $64; - (_fscanf($15,11919,$vararg_buffer44)|0); + (_fscanf($15,12227,$vararg_buffer44)|0); $65 = (($$0355$ph400) + 1)|0; HEAP32[$vararg_buffer49>>2] = $2; - (_fscanf($15,11789,$vararg_buffer49)|0); + (_fscanf($15,12097,$vararg_buffer49)|0); $66 = (_feof($15)|0); $67 = ($66|0)==(0); if ($67) { @@ -28366,7 +28329,7 @@ function _LoadOBJ($0,$1) { $76 = ($$0344$ph376$lcssa388|0)==(0); if ($76) { HEAP32[$vararg_buffer52>>2] = $1; - _TraceLog(0,11928,$vararg_buffer52); + _TraceLog(0,12236,$vararg_buffer52); } $77 = ($$0345$ph372$lcssa389|0)==(0); $78 = $$0344$ph376$lcssa388 | $$0345$ph372$lcssa389; @@ -28406,7 +28369,7 @@ function _LoadOBJ($0,$1) { } L55: while(1) { HEAP32[$vararg_buffer55>>2] = $2; - (_fscanf($15,11789,$vararg_buffer55)|0); + (_fscanf($15,12097,$vararg_buffer55)|0); $106 = HEAP8[$2>>0]|0; $107 = $106 << 24 >> 24; switch ($107|0) { @@ -28434,7 +28397,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr61>>2] = $80; $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); HEAP32[$vararg_ptr62>>2] = $81; - (_fscanf($15,11999,$vararg_buffer58)|0); + (_fscanf($15,12307,$vararg_buffer58)|0); } else { if ($76) { HEAP32[$vararg_buffer63>>2] = $vararg_buffer11; @@ -28448,7 +28411,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr69>>2] = $90; $vararg_ptr70 = ((($vararg_buffer63)) + 20|0); HEAP32[$vararg_ptr70>>2] = $91; - (_fscanf($15,12008,$vararg_buffer63)|0); + (_fscanf($15,12316,$vararg_buffer63)|0); break; } if ($77) { @@ -28463,7 +28426,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr77>>2] = $94; $vararg_ptr78 = ((($vararg_buffer71)) + 20|0); HEAP32[$vararg_ptr78>>2] = $95; - (_fscanf($15,12026,$vararg_buffer71)|0); + (_fscanf($15,12334,$vararg_buffer71)|0); break; } else { HEAP32[$vararg_buffer79>>2] = $vararg_buffer11; @@ -28483,7 +28446,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr88>>2] = $100; $vararg_ptr89 = ((($vararg_buffer79)) + 32|0); HEAP32[$vararg_ptr89>>2] = $101; - (_fscanf($15,12047,$vararg_buffer79)|0); + (_fscanf($15,12355,$vararg_buffer79)|0); break; } } @@ -28863,7 +28826,7 @@ function _LoadOBJ($0,$1) { _free($369); _free($370); HEAP32[$vararg_buffer90>>2] = $1; - _TraceLog(0,12074,$vararg_buffer90); + _TraceLog(0,12382,$vararg_buffer90); HEAP32[$0>>2] = $68; $$sroa$12$0$$sroa_idx244 = ((($0)) + 4|0); HEAP32[$$sroa$12$0$$sroa_idx244>>2] = 0; @@ -28942,7 +28905,7 @@ function _UnloadModel($0) { $1 = ((($0)) + 132|0); _memcpy(($$byval_copy|0),($1|0),132)|0; _UnloadMaterial($$byval_copy); - _TraceLog(0,12118,$vararg_buffer); + _TraceLog(0,12426,$vararg_buffer); STACKTOP = sp;return; } function _UnloadMaterial($0) { @@ -29087,7 +29050,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,12176)|0); + $12 = (_strstr($11,12484)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -29096,7 +29059,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,12180)|0); + $17 = (_strstr($16,12488)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -29105,7 +29068,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,12184)|0); + $22 = (_strstr($21,12492)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -29114,7 +29077,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,12188)|0); + $27 = (_strstr($26,12496)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -29123,1210 +29086,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,12194)|0); + $32 = (_strcmp($31,12502)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,12232)|0); + $35 = (_strcmp($34,12540)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 12251; + HEAP32[$3>>2] = 12559; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,12264)|0); + $38 = (_strcmp($37,12572)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 12285; + HEAP32[$3>>2] = 12593; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12300)|0); + $41 = (_strcmp($40,12608)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 12315; + HEAP32[$3>>2] = 12623; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12330)|0); + $44 = (_strcmp($43,12638)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 12345; + HEAP32[$3>>2] = 12653; } } else { - HEAP32[$3>>2] = 12216; + HEAP32[$3>>2] = 12524; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12360)|0); + $47 = (_strcmp($46,12668)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12374)|0); + $50 = (_strcmp($49,12682)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12386)|0); + $53 = (_strcmp($52,12694)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12400)|0); + $56 = (_strcmp($55,12708)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12412)|0); + $59 = (_strcmp($58,12720)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12426)|0); + $62 = (_strcmp($61,12734)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12440)|0); + $65 = (_strcmp($64,12748)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12457)|0); + $68 = (_strcmp($67,12765)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12480)|0); + $71 = (_strcmp($70,12788)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12506)|0); + $74 = (_strcmp($73,12814)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12519)|0); + $77 = (_strcmp($76,12827)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12535)|0); + $80 = (_strcmp($79,12843)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12548)|0); + $83 = (_strcmp($82,12856)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12562)|0); + $86 = (_strcmp($85,12870)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12582)|0); + $89 = (_strcmp($88,12890)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12602)|0); + $92 = (_strcmp($91,12910)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12619)|0); + $95 = (_strcmp($94,12927)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12636)|0); + $98 = (_strcmp($97,12944)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12648)|0); + $101 = (_strcmp($100,12956)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12661)|0); + $104 = (_strcmp($103,12969)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12677)|0); + $107 = (_strcmp($106,12985)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12700)|0); + $110 = (_strcmp($109,13008)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12713)|0); + $113 = (_strcmp($112,13021)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12729)|0); + $116 = (_strcmp($115,13037)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12740)|0); + $119 = (_strcmp($118,13048)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12759)|0); + $122 = (_strcmp($121,13067)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12781)|0); + $125 = (_strcmp($124,13089)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12800)|0); + $128 = (_strcmp($127,13108)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12829)|0); + $131 = (_strcmp($130,13137)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12846)|0); + $134 = (_strcmp($133,13154)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12861)|0); + $137 = (_strcmp($136,13169)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12876)|0); + $140 = (_strcmp($139,13184)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12897)|0); + $143 = (_strcmp($142,13205)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12917)|0); + $146 = (_strcmp($145,13225)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12937)|0); + $149 = (_strcmp($148,13245)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12963)|0); + $152 = (_strcmp($151,13271)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12982)|0); + $155 = (_strcmp($154,13290)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12994)|0); + $158 = (_strcmp($157,13302)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,13006)|0); + $161 = (_strcmp($160,13314)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,13018)|0); + $164 = (_strcmp($163,13326)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,13030)|0); + $167 = (_strcmp($166,13338)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,13042)|0); + $170 = (_strcmp($169,13350)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,13054)|0); + $173 = (_strcmp($172,13362)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,13066)|0); + $176 = (_strcmp($175,13374)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,13078)|0); + $179 = (_strcmp($178,13386)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,13091)|0); + $182 = (_strcmp($181,13399)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,13104)|0); + $185 = (_strcmp($184,13412)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,13117)|0); + $188 = (_strcmp($187,13425)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,13130)|0); + $191 = (_strcmp($190,13438)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,13143)|0); + $194 = (_strcmp($193,13451)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,13156)|0); + $197 = (_strcmp($196,13464)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,13169)|0); + $200 = (_strcmp($199,13477)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,13182)|0); + $203 = (_strcmp($202,13490)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,13201)|0); + $206 = (_strcmp($205,13509)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,13220)|0); + $209 = (_strcmp($208,13528)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,13239)|0); + $212 = (_strcmp($211,13547)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,13252)|0); + $215 = (_strcmp($214,13560)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,13270)|0); + $218 = (_strcmp($217,13578)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13288)|0); + $221 = (_strcmp($220,13596)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13306)|0); + $224 = (_strcmp($223,13614)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13324)|0); + $227 = (_strcmp($226,13632)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13344)|0); + $230 = (_strcmp($229,13652)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12285)|0); + $233 = (_strcmp($232,12593)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13362)|0); + $236 = (_strcmp($235,13670)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13377)|0); + $239 = (_strcmp($238,13685)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13398)|0); + $242 = (_strcmp($241,13706)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13413)|0); + $245 = (_strcmp($244,13721)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13431)|0); + $248 = (_strcmp($247,13739)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13447)|0); + $251 = (_strcmp($250,13755)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13466)|0); + $254 = (_strcmp($253,13774)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13480)|0); + $257 = (_strcmp($256,13788)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13495)|0); + $260 = (_strcmp($259,13803)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,12216)|0); + $263 = (_strcmp($262,12524)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13506)|0); + $266 = (_strcmp($265,13814)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12315)|0); + $269 = (_strcmp($268,12623)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12345)|0); + $272 = (_strcmp($271,12653)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13522)|0); + $275 = (_strcmp($274,13830)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13549)|0); + $278 = (_strcmp($277,13857)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13563)|0); + $281 = (_strcmp($280,13871)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,12251)|0); + $284 = (_strcmp($283,12559)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13583)|0); + $287 = (_strcmp($286,13891)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13601)|0); + $290 = (_strcmp($289,13909)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13613)|0); + $293 = (_strcmp($292,13921)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13634)|0); + $296 = (_strcmp($295,13942)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13652)|0); + $299 = (_strcmp($298,13960)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13670)|0); + $302 = (_strcmp($301,13978)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13691)|0); + $305 = (_strcmp($304,13999)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13717)|0); + $308 = (_strcmp($307,14025)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13740)|0); + $311 = (_strcmp($310,14048)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13778)|0); + $314 = (_strcmp($313,14086)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13794)|0); + $317 = (_strcmp($316,14102)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13809)|0); + $320 = (_strcmp($319,14117)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13832)|0); + $323 = (_strcmp($322,14140)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13845)|0); + $326 = (_strcmp($325,14153)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13859)|0); + $329 = (_strcmp($328,14167)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13873)|0); + $332 = (_strcmp($331,14181)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13893)|0); + $335 = (_strcmp($334,14201)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13913)|0); + $338 = (_strcmp($337,14221)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13929)|0); + $341 = (_strcmp($340,14237)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13947)|0); + $344 = (_strcmp($343,14255)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13963)|0); + $347 = (_strcmp($346,14271)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13978)|0); + $350 = (_strcmp($349,14286)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,14000)|0); + $353 = (_strcmp($352,14308)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,14018)|0); + $356 = (_strcmp($355,14326)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,14039)|0); + $359 = (_strcmp($358,14347)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,14057)|0); + $362 = (_strcmp($361,14365)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,14070)|0); + $365 = (_strcmp($364,14378)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,14085)|0); + $368 = (_strcmp($367,14393)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,14099)|0); + $371 = (_strcmp($370,14407)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,14109)|0); + $374 = (_strcmp($373,14417)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,14119)|0); + $377 = (_strcmp($376,14427)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,14141)|0); + $380 = (_strcmp($379,14449)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,14167)|0); + $383 = (_strcmp($382,14475)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,14194)|0); + $386 = (_strcmp($385,14502)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,14207)|0); + $389 = (_strcmp($388,14515)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,14222)|0); + $392 = (_strcmp($391,14530)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,14237)|0); + $395 = (_strcmp($394,14545)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,14261)|0); + $398 = (_strcmp($397,14569)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,14272)|0); + $401 = (_strcmp($400,14580)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14294)|0); + $404 = (_strcmp($403,14602)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14316)|0); + $407 = (_strcmp($406,14624)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14340)|0); + $410 = (_strcmp($409,14648)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14349)|0); + $413 = (_strcmp($412,14657)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14357)|0); + $416 = (_strcmp($415,14665)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14370)|0); + $419 = (_strcmp($418,14678)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14384)|0); + $422 = (_strcmp($421,14692)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14396)|0); + $425 = (_strcmp($424,14704)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14405)|0); + $428 = (_strcmp($427,14713)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14415)|0); + $431 = (_strcmp($430,14723)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14427)|0); + $434 = (_strcmp($433,14735)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14438)|0); + $437 = (_strcmp($436,14746)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14446)|0); + $440 = (_strcmp($439,14754)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14458)|0); + $443 = (_strcmp($442,14766)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14473)|0); + $446 = (_strcmp($445,14781)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14485)|0); + $449 = (_strcmp($448,14793)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14499)|0); + $452 = (_strcmp($451,14807)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14524)|0); + $455 = (_strcmp($454,14832)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14541)|0); + $458 = (_strcmp($457,14849)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14557)|0); + $461 = (_strcmp($460,14865)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14573)|0); + $464 = (_strcmp($463,14881)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14585)|0); + $467 = (_strcmp($466,14893)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14597)|0); + $470 = (_strcmp($469,14905)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14621)|0); + $473 = (_strcmp($472,14929)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14634)|0); + $476 = (_strcmp($475,14942)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14648)|0); + $479 = (_strcmp($478,14956)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14670)|0); + $482 = (_strcmp($481,14978)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14677)|0); + $485 = (_strcmp($484,14985)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14693)|0); + $488 = (_strcmp($487,15001)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14710)|0); + $491 = (_strcmp($490,15018)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14727)|0); + $494 = (_strcmp($493,15035)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14743)|0); + $497 = (_strcmp($496,15051)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14759)|0); + $500 = (_strcmp($499,15067)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14776)|0); + $503 = (_strcmp($502,15084)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14790)|0); + $506 = (_strcmp($505,15098)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14802)|0); + $509 = (_strcmp($508,15110)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14813)|0); + $512 = (_strcmp($511,15121)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14826)|0); + $515 = (_strcmp($514,15134)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14836)|0); + $518 = (_strcmp($517,15144)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14853)|0); + $521 = (_strcmp($520,15161)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14865)|0); + $524 = (_strcmp($523,15173)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14887)|0); + $527 = (_strcmp($526,15195)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14907)|0); + $530 = (_strcmp($529,15215)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14920)|0); + $533 = (_strcmp($532,15228)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14942)|0); + $536 = (_strcmp($535,15250)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14962)|0); + $539 = (_strcmp($538,15270)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14979)|0); + $542 = (_strcmp($541,15287)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14996)|0); + $545 = (_strcmp($544,15304)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,15016)|0); + $548 = (_strcmp($547,15324)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -30348,7 +30311,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (20788|0); + return (21100|0); } function ___stdio_close($0) { $0 = $0|0; @@ -30805,7 +30768,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((15133) + ($50)|0); + $49 = ((15441) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -30837,7 +30800,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((15133) + ($$0159)|0); + $60 = ((15441) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -30973,10 +30936,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (15389 + ($128)|0); + $129 = (15697 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((15133) + ($$1160169)|0); + $132 = ((15441) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -30998,7 +30961,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((15133) + ($$4163$be)|0); + $146 = ((15441) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -31049,7 +31012,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((15133) + ($$5$be)|0); + $178 = ((15441) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -31068,7 +31031,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((15133) + ($$1160169)|0); + $122 = ((15441) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -31090,7 +31053,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((15133) + ($$6$be)|0); + $197 = ((15441) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -31152,7 +31115,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((15133) + ($$7$be)|0); + $234 = ((15441) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -31171,7 +31134,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((15133) + ($$8)|0); + $238 = ((15441) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -31190,7 +31153,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((15133) + ($$9$be)|0); + $249 = ((15441) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -32026,7 +31989,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((15398 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((15706 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -32204,7 +32167,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 15862;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 16170;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -32225,7 +32188,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 15862;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 16170;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -32233,8 +32196,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 15862 : (15864); - $$$ = $238 ? $$ : (15863); + $$ = $240 ? 16170 : (16172); + $$$ = $238 ? $$ : (16171); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -32251,7 +32214,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 15862;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 16170;$242 = $167;$243 = $170; label = 66; break; } @@ -32264,7 +32227,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 15862;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 16170;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -32278,7 +32241,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 15872; + $271 = $270 ? $269 : 16180; $$1 = $271; label = 71; break; @@ -32318,7 +32281,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 15862;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 16170;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -32340,8 +32303,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (15862 + ($208)|0); - $$289 = $or$cond283 ? 15862 : $209; + $209 = (16170 + ($208)|0); + $$289 = $or$cond283 ? 16170 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -32362,7 +32325,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 15862;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 16170;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -32892,7 +32855,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (15910 + ($7)|0); + $9 = (16218 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -33250,14 +33213,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 15879; + $$0471 = $14;$$0520 = 1;$$0521 = 16187; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (15880) : (15885); - $$$ = $16 ? $$ : (15882); + $$ = $18 ? (16188) : (16193); + $$$ = $16 ? $$ : (16190); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -33356,7 +33319,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (15910 + ($80)|0); + $81 = (16218 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -33967,7 +33930,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,15926,1); + _out($0,16234,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -34048,7 +34011,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,15926,1); + _out($0,16234,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -34105,9 +34068,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 15898 : 15902; + $29 = $28 ? 16206 : 16210; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 17829 : 15906; + $31 = $28 ? 18137 : 16214; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -34317,7 +34280,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (15928 + ($$016)|0); + $3 = (16236 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -34328,7 +34291,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 16016;$$115 = 87; + $$01214 = 16324;$$115 = 87; label = 5; break; } else { @@ -34338,9 +34301,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 16016; + $$012$lcssa = 16324; } else { - $$01214 = 16016;$$115 = $$016; + $$01214 = 16324;$$115 = $$016; label = 5; } } @@ -34765,7 +34728,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (17820 + ($$0107127)|0); + $27 = (18128 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -34832,7 +34795,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (17829 + ($$2109125)|0); + $58 = (18137 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -37083,7 +37046,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 20852 : $3; + $$ = $5 ? 21164 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -37374,7 +37337,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(17833,$3,4)|0); + $memchr = (_memchr(18141,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -37463,7 +37426,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(17833,$4,4)|0); + $memchr = (_memchr(18141,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -37554,7 +37517,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(20792)>>2]|0; + $38 = HEAP32[(21104)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -37587,13 +37550,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((20856|0)); - return (20864|0); + ___lock((21168|0)); + return (21176|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((20856|0)); + ___unlock((21168|0)); return; } function _fclose($0) { @@ -39853,7 +39816,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 18112; + $2 = 18424; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -40167,7 +40130,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5217]|0; + $3 = HEAP32[5295]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -40186,22 +40149,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5217] = 0; + HEAP32[5295] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5217] = $10; + HEAP32[5295] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5217] = 0; + HEAP32[5295] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5217] = $13; + HEAP32[5295] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -40282,7 +40245,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5218]|0; + $8 = HEAP32[5296]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -40291,7 +40254,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (20912 + ($15<<2)|0); + $16 = (21224 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -40302,9 +40265,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5218] = $24; + HEAP32[5296] = $24; } else { - $25 = HEAP32[(20888)>>2]|0; + $25 = HEAP32[(21200)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -40335,7 +40298,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(20880)>>2]|0; + $37 = HEAP32[(21192)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -40369,7 +40332,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (20912 + ($68<<2)|0); + $69 = (21224 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -40380,10 +40343,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5218] = $77; + HEAP32[5296] = $77; $98 = $77; } else { - $78 = HEAP32[(20888)>>2]|0; + $78 = HEAP32[(21200)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -40416,22 +40379,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(20892)>>2]|0; + $92 = HEAP32[(21204)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (20912 + ($94<<2)|0); + $95 = (21224 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5218] = $100; + HEAP32[5296] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(20888)>>2]|0; + $103 = HEAP32[(21200)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -40448,12 +40411,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(20880)>>2] = $84; - HEAP32[(20892)>>2] = $87; + HEAP32[(21192)>>2] = $84; + HEAP32[(21204)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(20876)>>2]|0; + $108 = HEAP32[(21188)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -40481,7 +40444,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21176 + ($132<<2)|0); + $133 = (21488 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -40521,7 +40484,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(20888)>>2]|0; + $155 = HEAP32[(21200)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -40616,7 +40579,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21176 + ($188<<2)|0); + $189 = (21488 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -40627,11 +40590,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(20876)>>2] = $194; + HEAP32[(21188)>>2] = $194; break L73; } } else { - $195 = HEAP32[(20888)>>2]|0; + $195 = HEAP32[(21200)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -40652,7 +40615,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(20888)>>2]|0; + $201 = HEAP32[(21200)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -40682,7 +40645,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(20888)>>2]|0; + $213 = HEAP32[(21200)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -40719,22 +40682,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(20892)>>2]|0; + $231 = HEAP32[(21204)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (20912 + ($233<<2)|0); + $234 = (21224 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5218] = $238; + HEAP32[5296] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(20888)>>2]|0; + $241 = HEAP32[(21200)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -40751,8 +40714,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(20880)>>2] = $$0193$lcssa$i; - HEAP32[(20892)>>2] = $157; + HEAP32[(21192)>>2] = $$0193$lcssa$i; + HEAP32[(21204)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -40768,7 +40731,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(20876)>>2]|0; + $250 = HEAP32[(21188)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -40808,7 +40771,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21176 + ($$0358$i<<2)|0); + $278 = (21488 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -40900,7 +40863,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21176 + ($330<<2)|0); + $331 = (21488 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -40944,11 +40907,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(20880)>>2]|0; + $345 = HEAP32[(21192)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(20888)>>2]|0; + $348 = HEAP32[(21200)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -41045,7 +41008,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21176 + ($381<<2)|0); + $382 = (21488 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -41056,12 +41019,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(20876)>>2] = $387; + HEAP32[(21188)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(20888)>>2]|0; + $388 = HEAP32[(21200)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -41083,7 +41046,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(20888)>>2]|0; + $394 = HEAP32[(21200)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -41115,7 +41078,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(20888)>>2]|0; + $406 = HEAP32[(21200)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -41156,20 +41119,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (20912 + ($425<<2)|0); - $427 = HEAP32[5218]|0; + $426 = (21224 + ($425<<2)|0); + $427 = HEAP32[5296]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5218] = $431; + HEAP32[5296] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(20888)>>2]|0; + $434 = HEAP32[(21200)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -41221,7 +41184,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21176 + ($$0361$i<<2)|0); + $464 = (21488 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -41233,7 +41196,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(20876)>>2] = $472; + HEAP32[(21188)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -41272,7 +41235,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(20888)>>2]|0; + $491 = HEAP32[(21200)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -41291,7 +41254,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(20888)>>2]|0; + $498 = HEAP32[(21200)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -41324,16 +41287,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(20880)>>2]|0; + $506 = HEAP32[(21192)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(20892)>>2]|0; + $509 = HEAP32[(21204)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(20892)>>2] = $511; - HEAP32[(20880)>>2] = $508; + HEAP32[(21204)>>2] = $511; + HEAP32[(21192)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -41343,8 +41306,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(20880)>>2] = 0; - HEAP32[(20892)>>2] = 0; + HEAP32[(21192)>>2] = 0; + HEAP32[(21204)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -41358,14 +41321,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(20884)>>2]|0; + $524 = HEAP32[(21196)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(20884)>>2] = $526; - $527 = HEAP32[(20896)>>2]|0; + HEAP32[(21196)>>2] = $526; + $527 = HEAP32[(21208)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(20896)>>2] = $528; + HEAP32[(21208)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -41376,23 +41339,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5336]|0; + $534 = HEAP32[5414]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(21352)>>2] = 4096; - HEAP32[(21348)>>2] = 4096; - HEAP32[(21356)>>2] = -1; - HEAP32[(21360)>>2] = -1; - HEAP32[(21364)>>2] = 0; - HEAP32[(21316)>>2] = 0; + HEAP32[(21664)>>2] = 4096; + HEAP32[(21660)>>2] = 4096; + HEAP32[(21668)>>2] = -1; + HEAP32[(21672)>>2] = -1; + HEAP32[(21676)>>2] = 0; + HEAP32[(21628)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5336] = $538; + HEAP32[5414] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(21352)>>2]|0; + $$pre$i212 = HEAP32[(21664)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -41405,10 +41368,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(21312)>>2]|0; + $546 = HEAP32[(21624)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(21304)>>2]|0; + $548 = HEAP32[(21616)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -41418,18 +41381,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(21316)>>2]|0; + $552 = HEAP32[(21628)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(20896)>>2]|0; + $555 = HEAP32[(21208)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (21320); + $$0$i$i = (21632); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -41487,7 +41450,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(21348)>>2]|0; + $569 = HEAP32[(21660)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -41497,13 +41460,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21304)>>2]|0; + $578 = HEAP32[(21616)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(21312)>>2]|0; + $582 = HEAP32[(21624)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -41549,7 +41512,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(21352)>>2]|0; + $601 = HEAP32[(21664)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -41574,9 +41537,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(21316)>>2]|0; + $611 = HEAP32[(21628)>>2]|0; $612 = $611 | 4; - HEAP32[(21316)>>2] = $612; + HEAP32[(21628)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -41612,35 +41575,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(21304)>>2]|0; + $626 = HEAP32[(21616)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(21304)>>2] = $627; - $628 = HEAP32[(21308)>>2]|0; + HEAP32[(21616)>>2] = $627; + $628 = HEAP32[(21620)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(21308)>>2] = $627; + HEAP32[(21620)>>2] = $627; } - $630 = HEAP32[(20896)>>2]|0; + $630 = HEAP32[(21208)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(20888)>>2]|0; + $632 = HEAP32[(21200)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(20888)>>2] = $$749$i; + HEAP32[(21200)>>2] = $$749$i; } - HEAP32[(21320)>>2] = $$749$i; - HEAP32[(21324)>>2] = $$723948$i; - HEAP32[(21332)>>2] = 0; - $635 = HEAP32[5336]|0; - HEAP32[(20908)>>2] = $635; - HEAP32[(20904)>>2] = -1; + HEAP32[(21632)>>2] = $$749$i; + HEAP32[(21636)>>2] = $$723948$i; + HEAP32[(21644)>>2] = 0; + $635 = HEAP32[5414]|0; + HEAP32[(21220)>>2] = $635; + HEAP32[(21216)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (20912 + ($636<<2)|0); + $637 = (21224 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -41663,18 +41626,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(20896)>>2] = $649; - HEAP32[(20884)>>2] = $650; + HEAP32[(21208)>>2] = $649; + HEAP32[(21196)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(21360)>>2]|0; - HEAP32[(20900)>>2] = $655; + $655 = HEAP32[(21672)>>2]|0; + HEAP32[(21212)>>2] = $655; } else { - $$024371$i = (21320); + $$024371$i = (21632); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -41706,7 +41669,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(20884)>>2]|0; + $671 = HEAP32[(21196)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -41717,30 +41680,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(20896)>>2] = $679; - HEAP32[(20884)>>2] = $681; + HEAP32[(21208)>>2] = $679; + HEAP32[(21196)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(21360)>>2]|0; - HEAP32[(20900)>>2] = $686; + $686 = HEAP32[(21672)>>2]|0; + HEAP32[(21212)>>2] = $686; break; } } } - $687 = HEAP32[(20888)>>2]|0; + $687 = HEAP32[(21200)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(20888)>>2] = $$749$i; + HEAP32[(21200)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (21320); + $$124470$i = (21632); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -41795,21 +41758,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(20884)>>2]|0; + $726 = HEAP32[(21196)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(20884)>>2] = $727; - HEAP32[(20896)>>2] = $721; + HEAP32[(21196)>>2] = $727; + HEAP32[(21208)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(20892)>>2]|0; + $730 = HEAP32[(21204)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(20880)>>2]|0; + $732 = HEAP32[(21192)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(20880)>>2] = $733; - HEAP32[(20892)>>2] = $721; + HEAP32[(21192)>>2] = $733; + HEAP32[(21204)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -41832,7 +41795,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (20912 + ($748<<2)|0); + $749 = (21224 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -41855,9 +41818,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5218]|0; + $759 = HEAP32[5296]|0; $760 = $759 & $758; - HEAP32[5218] = $760; + HEAP32[5296] = $760; break; } $761 = ($747|0)==($749|0); @@ -41970,7 +41933,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21176 + ($796<<2)|0); + $797 = (21488 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -41982,12 +41945,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(20876)>>2]|0; + $802 = HEAP32[(21188)>>2]|0; $803 = $802 & $801; - HEAP32[(20876)>>2] = $803; + HEAP32[(21188)>>2] = $803; break L314; } else { - $804 = HEAP32[(20888)>>2]|0; + $804 = HEAP32[(21200)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -42008,7 +41971,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(20888)>>2]|0; + $810 = HEAP32[(21200)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -42040,7 +42003,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(20888)>>2]|0; + $822 = HEAP32[(21200)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -42073,21 +42036,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (20912 + ($836<<2)|0); - $838 = HEAP32[5218]|0; + $837 = (21224 + ($836<<2)|0); + $838 = HEAP32[5296]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5218] = $842; + HEAP32[5296] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(20888)>>2]|0; + $845 = HEAP32[(21200)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -42142,20 +42105,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21176 + ($$0296$i$i<<2)|0); + $875 = (21488 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(20876)>>2]|0; + $879 = HEAP32[(21188)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(20876)>>2] = $883; + HEAP32[(21188)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -42194,7 +42157,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(20888)>>2]|0; + $902 = HEAP32[(21200)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -42213,7 +42176,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(20888)>>2]|0; + $909 = HEAP32[(21200)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -42240,7 +42203,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (21320); + $$0$i$i$i = (21632); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -42281,23 +42244,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(20896)>>2] = $946; - HEAP32[(20884)>>2] = $947; + HEAP32[(21208)>>2] = $946; + HEAP32[(21196)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(21360)>>2]|0; - HEAP32[(20900)>>2] = $952; + $952 = HEAP32[(21672)>>2]|0; + HEAP32[(21212)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(21320)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21320)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21320)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21320)+12>>2]|0; - HEAP32[(21320)>>2] = $$749$i; - HEAP32[(21324)>>2] = $$723948$i; - HEAP32[(21332)>>2] = 0; - HEAP32[(21328)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(21632)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21632)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21632)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21632)+12>>2]|0; + HEAP32[(21632)>>2] = $$749$i; + HEAP32[(21636)>>2] = $$723948$i; + HEAP32[(21644)>>2] = 0; + HEAP32[(21640)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -42326,20 +42289,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (20912 + ($968<<2)|0); - $970 = HEAP32[5218]|0; + $969 = (21224 + ($968<<2)|0); + $970 = HEAP32[5296]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5218] = $974; + HEAP32[5296] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(20888)>>2]|0; + $977 = HEAP32[(21200)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -42391,19 +42354,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21176 + ($$0212$i$i<<2)|0); + $1007 = (21488 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(20876)>>2]|0; + $1010 = HEAP32[(21188)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(20876)>>2] = $1014; + HEAP32[(21188)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -42442,7 +42405,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(20888)>>2]|0; + $1033 = HEAP32[(21200)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -42461,7 +42424,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(20888)>>2]|0; + $1040 = HEAP32[(21200)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -42484,14 +42447,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(20884)>>2]|0; + $1048 = HEAP32[(21196)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(20884)>>2] = $1050; - $1051 = HEAP32[(20896)>>2]|0; + HEAP32[(21196)>>2] = $1050; + $1051 = HEAP32[(21208)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(20896)>>2] = $1052; + HEAP32[(21208)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -42534,7 +42497,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(20888)>>2]|0; + $3 = HEAP32[(21200)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -42567,7 +42530,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(20892)>>2]|0; + $19 = HEAP32[(21204)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -42582,7 +42545,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(20880)>>2] = $17; + HEAP32[(21192)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -42596,7 +42559,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (20912 + ($27<<2)|0); + $28 = (21224 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -42616,9 +42579,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5218]|0; + $37 = HEAP32[5296]|0; $38 = $37 & $36; - HEAP32[5218] = $38; + HEAP32[5296] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -42732,7 +42695,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21176 + ($74<<2)|0); + $75 = (21488 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -42742,14 +42705,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(20876)>>2]|0; + $80 = HEAP32[(21188)>>2]|0; $81 = $80 & $79; - HEAP32[(20876)>>2] = $81; + HEAP32[(21188)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(20888)>>2]|0; + $82 = HEAP32[(21200)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -42771,7 +42734,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(20888)>>2]|0; + $88 = HEAP32[(21200)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -42803,7 +42766,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(20888)>>2]|0; + $100 = HEAP32[(21200)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -42838,14 +42801,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(20896)>>2]|0; + $120 = HEAP32[(21208)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(20892)>>2]|0; + $122 = HEAP32[(21204)>>2]|0; if ($121) { - $123 = HEAP32[(20884)>>2]|0; + $123 = HEAP32[(21196)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(20884)>>2] = $124; - HEAP32[(20896)>>2] = $$1; + HEAP32[(21196)>>2] = $124; + HEAP32[(21208)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -42853,16 +42816,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(20892)>>2] = 0; - HEAP32[(20880)>>2] = 0; + HEAP32[(21204)>>2] = 0; + HEAP32[(21192)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(20880)>>2]|0; + $129 = HEAP32[(21192)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(20880)>>2] = $130; - HEAP32[(20892)>>2] = $113; + HEAP32[(21192)>>2] = $130; + HEAP32[(21204)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -42881,10 +42844,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (20912 + ($142<<2)|0); + $143 = (21224 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(20888)>>2]|0; + $145 = HEAP32[(21200)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -42902,9 +42865,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5218]|0; + $153 = HEAP32[5296]|0; $154 = $153 & $152; - HEAP32[5218] = $154; + HEAP32[5296] = $154; break; } $155 = ($141|0)==($143|0); @@ -42912,7 +42875,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(20888)>>2]|0; + $156 = HEAP32[(21200)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -42972,7 +42935,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(20888)>>2]|0; + $189 = HEAP32[(21200)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -42985,7 +42948,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(20888)>>2]|0; + $169 = HEAP32[(21200)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -43016,7 +42979,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21176 + ($193<<2)|0); + $194 = (21488 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -43026,13 +42989,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(20876)>>2]|0; + $199 = HEAP32[(21188)>>2]|0; $200 = $199 & $198; - HEAP32[(20876)>>2] = $200; + HEAP32[(21188)>>2] = $200; break L108; } } else { - $201 = HEAP32[(20888)>>2]|0; + $201 = HEAP32[(21200)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -43053,7 +43016,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(20888)>>2]|0; + $207 = HEAP32[(21200)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -43083,7 +43046,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(20888)>>2]|0; + $219 = HEAP32[(21200)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -43104,10 +43067,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(20892)>>2]|0; + $226 = HEAP32[(21204)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(20880)>>2] = $135; + HEAP32[(21192)>>2] = $135; return; } else { $$2 = $135; @@ -43126,20 +43089,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (20912 + ($234<<2)|0); - $236 = HEAP32[5218]|0; + $235 = (21224 + ($234<<2)|0); + $236 = HEAP32[5296]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5218] = $240; + HEAP32[5296] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(20888)>>2]|0; + $243 = HEAP32[(21200)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -43191,21 +43154,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21176 + ($$0396<<2)|0); + $273 = (21488 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(20876)>>2]|0; + $277 = HEAP32[(21188)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(20876)>>2] = $281; + HEAP32[(21188)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -43243,7 +43206,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(20888)>>2]|0; + $300 = HEAP32[(21200)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -43262,7 +43225,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(20888)>>2]|0; + $307 = HEAP32[(21200)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -43284,12 +43247,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(20904)>>2]|0; + $314 = HEAP32[(21216)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(20904)>>2] = $315; + HEAP32[(21216)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (21328); + $$0212$in$i = (21640); } else { return; } @@ -43303,7 +43266,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(20904)>>2] = -1; + HEAP32[(21216)>>2] = -1; return; } function _realloc($0,$1) { @@ -43375,7 +43338,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(20888)>>2]|0; + $6 = HEAP32[(21200)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -43405,7 +43368,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(21352)>>2]|0; + $18 = HEAP32[(21664)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -43441,10 +43404,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(20896)>>2]|0; + $34 = HEAP32[(21208)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(20884)>>2]|0; + $36 = HEAP32[(21196)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -43460,15 +43423,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(20896)>>2] = $40; - HEAP32[(20884)>>2] = $39; + HEAP32[(21208)>>2] = $40; + HEAP32[(21196)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(20892)>>2]|0; + $46 = HEAP32[(21204)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(20880)>>2]|0; + $48 = HEAP32[(21192)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -43504,8 +43467,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(20880)>>2] = $storemerge1; - HEAP32[(20892)>>2] = $storemerge; + HEAP32[(21192)>>2] = $storemerge1; + HEAP32[(21204)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -43532,7 +43495,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (20912 + ($81<<2)|0); + $82 = (21224 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -43552,9 +43515,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5218]|0; + $91 = HEAP32[5296]|0; $92 = $91 & $90; - HEAP32[5218] = $92; + HEAP32[5296] = $92; break; } $93 = ($80|0)==($82|0); @@ -43663,7 +43626,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (21176 + ($128<<2)|0); + $129 = (21488 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -43673,13 +43636,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(20876)>>2]|0; + $134 = HEAP32[(21188)>>2]|0; $135 = $134 & $133; - HEAP32[(20876)>>2] = $135; + HEAP32[(21188)>>2] = $135; break L49; } } else { - $136 = HEAP32[(20888)>>2]|0; + $136 = HEAP32[(21200)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -43700,7 +43663,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(20888)>>2]|0; + $142 = HEAP32[(21200)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -43730,7 +43693,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(20888)>>2]|0; + $154 = HEAP32[(21200)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -43815,13 +43778,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(20888)>>2]|0; + $13 = HEAP32[(21200)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(20892)>>2]|0; + $15 = HEAP32[(21204)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -43836,7 +43799,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(20880)>>2] = $12; + HEAP32[(21192)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -43850,7 +43813,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (20912 + ($23<<2)|0); + $24 = (21224 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -43870,9 +43833,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5218]|0; + $33 = HEAP32[5296]|0; $34 = $33 & $32; - HEAP32[5218] = $34; + HEAP32[5296] = $34; $$1 = $11;$$1418 = $12; break; } @@ -43986,7 +43949,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (21176 + ($70<<2)|0); + $71 = (21488 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -43996,14 +43959,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(20876)>>2]|0; + $76 = HEAP32[(21188)>>2]|0; $77 = $76 & $75; - HEAP32[(20876)>>2] = $77; + HEAP32[(21188)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(20888)>>2]|0; + $78 = HEAP32[(21200)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -44025,7 +43988,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(20888)>>2]|0; + $84 = HEAP32[(21200)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -44057,7 +44020,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(20888)>>2]|0; + $96 = HEAP32[(21200)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -44076,7 +44039,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(20888)>>2]|0; + $108 = HEAP32[(21200)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -44087,14 +44050,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(20896)>>2]|0; + $114 = HEAP32[(21208)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(20892)>>2]|0; + $116 = HEAP32[(21204)>>2]|0; if ($115) { - $117 = HEAP32[(20884)>>2]|0; + $117 = HEAP32[(21196)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(20884)>>2] = $118; - HEAP32[(20896)>>2] = $$1; + HEAP32[(21196)>>2] = $118; + HEAP32[(21208)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -44102,16 +44065,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(20892)>>2] = 0; - HEAP32[(20880)>>2] = 0; + HEAP32[(21204)>>2] = 0; + HEAP32[(21192)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(20880)>>2]|0; + $123 = HEAP32[(21192)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(20880)>>2] = $124; - HEAP32[(20892)>>2] = $$1; + HEAP32[(21192)>>2] = $124; + HEAP32[(21204)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -44130,7 +44093,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (20912 + ($136<<2)|0); + $137 = (21224 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -44150,9 +44113,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5218]|0; + $146 = HEAP32[5296]|0; $147 = $146 & $145; - HEAP32[5218] = $147; + HEAP32[5296] = $147; break; } $148 = ($135|0)==($137|0); @@ -44261,7 +44224,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (21176 + ($183<<2)|0); + $184 = (21488 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -44271,13 +44234,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(20876)>>2]|0; + $189 = HEAP32[(21188)>>2]|0; $190 = $189 & $188; - HEAP32[(20876)>>2] = $190; + HEAP32[(21188)>>2] = $190; break L96; } } else { - $191 = HEAP32[(20888)>>2]|0; + $191 = HEAP32[(21200)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -44298,7 +44261,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(20888)>>2]|0; + $197 = HEAP32[(21200)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -44328,7 +44291,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(20888)>>2]|0; + $209 = HEAP32[(21200)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -44349,10 +44312,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(20892)>>2]|0; + $216 = HEAP32[(21204)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(20880)>>2] = $129; + HEAP32[(21192)>>2] = $129; return; } else { $$2 = $129; @@ -44371,20 +44334,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (20912 + ($224<<2)|0); - $226 = HEAP32[5218]|0; + $225 = (21224 + ($224<<2)|0); + $226 = HEAP32[5296]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5218] = $230; + HEAP32[5296] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(20888)>>2]|0; + $233 = HEAP32[(21200)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -44436,20 +44399,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (21176 + ($$0431<<2)|0); + $263 = (21488 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(20876)>>2]|0; + $267 = HEAP32[(21188)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(20876)>>2] = $271; + HEAP32[(21188)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -44488,7 +44451,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(20888)>>2]|0; + $290 = HEAP32[(21200)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -44506,7 +44469,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(20888)>>2]|0; + $297 = HEAP32[(21200)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/shaders/shaders_model_shader.png b/docs/examples/web/shaders/shaders_model_shader.png similarity index 100% rename from docs/examples/img/shaders/shaders_model_shader.png rename to docs/examples/web/shaders/shaders_model_shader.png diff --git a/docs/examples/web/shaders/shaders_postprocessing.js b/docs/examples/web/shaders/shaders_postprocessing.js index 6b983c540..cb64cef85 100644 --- a/docs/examples/web/shaders/shaders_postprocessing.js +++ b/docs/examples/web/shaders/shaders_postprocessing.js @@ -185,7 +185,7 @@ Module['FS_createPath']('/resources/shaders', 'glsl100', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}, {"audio": 0, "start": 4022872, "crunched": 0, "end": 4023477, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 4023477, "crunched": 0, "end": 4024557, "filename": "/resources/shaders/glsl100/bloom.fs"}], "remote_package_size": 4024557, "package_uuid": "589aeab2-5a4d-4f6e-968e-7056eeff6ea2"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}, {"audio": 0, "start": 4022872, "crunched": 0, "end": 4023477, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 4023477, "crunched": 0, "end": 4024557, "filename": "/resources/shaders/glsl100/bloom.fs"}], "remote_package_size": 4024557, "package_uuid": "0ca8ae12-1910-4954-a883-a725db607080"}); })(); @@ -1778,12 +1778,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 24384; +STATICTOP = STATIC_BASE + 24368; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,51,91,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,112,111,115,116,112,114,111,99,101,115,115,105,110,103,32,115,104,97,100,101,114,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,108,111,111,109,46,102,115,0,72,69,76,76,79,32,80,79,83,84,80,82,79,67,69,83,83,73,78,71,33,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,46,46,46,0,70,114,97,109,101,98,117,102,102,101,114,32,105,115,32,117,110,115,117,112,112,111,114,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,97,116,116,97,99,104,109,101,110,116,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,100,105,109,101,110,115,105,111,110,115,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,109,105,115,115,105,110,103,32,97,116,116,97,99,104,109,101,110,116,0,91,70,66,79,32,73,68,32,37,105,93,32,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,43,91,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,112,111,115,116,112,114,111,99,101,115,115,105,110,103,32,115,104,97,100,101,114,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,108,111,111,109,46,102,115,0,72,69,76,76,79,32,80,79,83,84,80,82,79,67,69,83,83,73,78,71,33,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,46,46,46,0,70,114,97,109,101,98,117,102,102,101,114,32,105,115,32,117,110,115,117,112,112,111,114,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,97,116,116,97,99,104,109,101,110,116,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,100,105,109,101,110,115,105,111,110,115,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,109,105,115,115,105,110,103,32,97,116,116,97,99,104,109,101,110,116,0,91,70,66,79,32,73,68,32,37,105,93,32,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10591,24 +10591,24 @@ function _main() { $5 = HEAP32[3]|0; _InitWindow($4,$5,4448); _LoadModel($0,4497); - _memcpy((18388|0),($0|0),264)|0; + _memcpy((18700|0),($0|0),264)|0; _LoadTexture($1,4523); - ;HEAP32[18652>>2]=HEAP32[$1>>2]|0;HEAP32[18652+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18652+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18652+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18652+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[(18576)>>2]=HEAP32[$1>>2]|0;HEAP32[(18576)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18576)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18576)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18576)+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[18964>>2]=HEAP32[$1>>2]|0;HEAP32[18964+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18964+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18964+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18964+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[(18888)>>2]=HEAP32[$1>>2]|0;HEAP32[(18888)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18888)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18888)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18888)+16>>2]=HEAP32[$1+16>>2]|0; _LoadShader($2,4557,4591); - dest=18672; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18984; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $6 = HEAP32[2]|0; $7 = HEAP32[3]|0; _LoadRenderTexture($3,$6,$7); - dest=18728; src=$3; 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)); + dest=19040; src=$3; 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)); dest=$dwarf$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetCameraMode($dwarf$byval_copy,2); _emscripten_set_main_loop((1|0),0,1); - dest=$dwarf$byval_copy; src=18672; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$dwarf$byval_copy; src=18984; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadShader($dwarf$byval_copy); - ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[18652>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[18652+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[18652+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[18652+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[18652+16>>2]|0; + ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[18964>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[18964+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[18964+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[18964+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[18964+16>>2]|0; _UnloadTexture($dwarf$byval_copy); - _memcpy(($dwarf$byval_copy|0),(18388|0),264)|0; + _memcpy(($dwarf$byval_copy|0),(18700|0),264)|0; _UnloadModel($dwarf$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10640,13 +10640,13 @@ function _UpdateDrawFrame() { HEAP8[$9>>0] = -1; ;HEAP8[$$byval_copy5>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$0+3>>0]|0; _ClearBackground($$byval_copy5); - dest=$$byval_copy5; src=18728; 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)); + dest=$$byval_copy5; src=19040; 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)); _BeginTextureMode($$byval_copy5); dest=$$byval_copy5; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _Begin3dMode($$byval_copy5); HEAP32[$1>>2] = -1; - _memcpy(($$byval_copy3|0),(18388|0),264)|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[18376>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[18376+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[18376+8>>2]|0; + _memcpy(($$byval_copy3|0),(18700|0),264)|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[18688>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[18688+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[18688+8>>2]|0; ;HEAP8[$$byval_copy5>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$1+3>>0]|0; _DrawModel($$byval_copy3,$$byval_copy4,2.0,$$byval_copy5); _DrawGrid(10,1.0); @@ -10661,23 +10661,23 @@ function _UpdateDrawFrame() { ;HEAP8[$$byval_copy5>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$2+3>>0]|0; _DrawText(4626,70,190,50,$$byval_copy5); _EndTextureMode(); - dest=$$byval_copy5; src=18672; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=18984; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginShaderMode($$byval_copy5); HEAP32[$3>>2] = 0; $13 = ((($3)) + 4|0); HEAP32[$13>>2] = 0; $14 = ((($3)) + 8|0); - $15 = HEAP32[(18736)>>2]|0; + $15 = HEAP32[(19048)>>2]|0; HEAP32[$14>>2] = $15; $16 = ((($3)) + 12|0); - $17 = HEAP32[(18740)>>2]|0; + $17 = HEAP32[(19052)>>2]|0; $18 = (0 - ($17))|0; HEAP32[$16>>2] = $18; HEAPF32[$4>>2] = 0.0; $19 = ((($4)) + 4|0); HEAPF32[$19>>2] = 0.0; HEAP32[$5>>2] = -1; - ;HEAP32[$$byval_copy2>>2]=HEAP32[(18732)>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[(18732)+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[(18732)+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[(18732)+12>>2]|0;HEAP32[$$byval_copy2+16>>2]=HEAP32[(18732)+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[(19044)>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[(19044)+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[(19044)+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[(19044)+12>>2]|0;HEAP32[$$byval_copy2+16>>2]=HEAP32[(19044)+16>>2]|0; ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$3+12>>2]|0; ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0; ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; @@ -10700,30 +10700,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -10876,13 +10926,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11871,7 +11914,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4694] = $2; + HEAP32[4772] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11884,7 +11927,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 18096; + $95 = 18408; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11897,48 +11940,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 18136; + $106 = 18448; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4534]; - $111 = +HEAPF32[4524]; + $110 = +HEAPF32[4612]; + $111 = +HEAPF32[4602]; $112 = $110 - $111; - HEAPF32[4536] = $112; - $113 = +HEAPF32[(18140)>>2]; - $114 = +HEAPF32[(18100)>>2]; + HEAPF32[4614] = $112; + $113 = +HEAPF32[(18452)>>2]; + $114 = +HEAPF32[(18412)>>2]; $115 = $113 - $114; - HEAPF32[(18148)>>2] = $115; - HEAP32[4693] = 4; + HEAPF32[(18460)>>2] = $115; + HEAP32[4771] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18440+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18464>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18464+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4699] = $116; - $117 = 18128; + HEAPF32[4777] = $116; + $117 = 18440; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 18096; + $123 = 18408; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 18152; + $127 = 18464; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 18136; + $133 = 18448; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11951,7 +11994,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 18128; + $144 = 18440; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11964,27 +12007,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 18152; + $155 = 18464; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4538]; - $160 = +HEAPF32[4532]; + $159 = +HEAPF32[4616]; + $160 = +HEAPF32[4610]; $161 = $159 - $160; - HEAPF32[4536] = $161; - $162 = +HEAPF32[(18156)>>2]; - $163 = +HEAPF32[(18132)>>2]; + HEAPF32[4614] = $161; + $162 = +HEAPF32[(18468)>>2]; + $163 = +HEAPF32[(18444)>>2]; $164 = $162 - $163; - HEAPF32[(18148)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18128+4>>2]|0; + HEAPF32[(18460)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18408>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18408+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18440>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18440+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18136>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18136+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18448>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18448+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18464>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18464+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11996,31 +12039,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18440+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18464>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18464+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4699]; + $170 = +HEAPF32[4777]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4693] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; + HEAP32[4771] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18440+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18464>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18464+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4700] = $174; + HEAPF32[4778] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4699] = 0.0; - HEAPF32[4700] = 0.0; - HEAPF32[4536] = 0.0; - HEAPF32[(18148)>>2] = 0.0; - HEAP32[4694] = 0; - HEAP32[4693] = 0; + HEAPF32[4777] = 0.0; + HEAPF32[4778] = 0.0; + HEAPF32[4614] = 0.0; + HEAPF32[(18460)>>2] = 0.0; + HEAP32[4772] = 0; + HEAP32[4771] = 0; STACKTOP = sp;return; break; } @@ -12030,22 +12073,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4695]|0; + $6 = HEAP32[4773]|0; $7 = (($6) + 1)|0; - HEAP32[4695] = $7; - $8 = HEAP32[4693]|0; + HEAP32[4773] = $7; + $8 = HEAP32[4771]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18408>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18408+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4693] = 2; - HEAP32[4695] = 0; + HEAP32[4771] = 2; + HEAP32[4773] = 0; } else { label = 6; } @@ -12053,8 +12096,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4695] = 1; - HEAP32[4693] = 1; + HEAP32[4773] = 1; + HEAP32[4771] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12063,19 +12106,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 18096; + $21 = 18408; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 18104; + $25 = 18416; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 18112; + $29 = 18424; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12084,13 +12127,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[14] = $34; - HEAPF32[4530] = 0.0; - HEAPF32[(18124)>>2] = 0.0; + HEAPF32[4608] = 0.0; + HEAPF32[(18436)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4693]|0; + $35 = HEAP32[4771]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12100,19 +12143,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 18112; + $44 = 18424; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18112+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18408>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18408+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18424>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18424+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4696] = $49; - HEAP32[4697] = 0; + HEAPF32[4774] = $49; + HEAP32[4775] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[14]|0; @@ -12120,11 +12163,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18112+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18408>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18408+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18424>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18424+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4698] = $56; + HEAPF32[4776] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12155,22 +12198,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4696] = 0.0; - HEAPF32[4698] = 0.0; + HEAPF32[4774] = 0.0; + HEAPF32[4776] = 0.0; $$sink10 = 0; } - HEAP32[4693] = $$sink10; - HEAPF32[4526] = 0.0; - HEAPF32[(18108)>>2] = 0.0; - HEAP32[4694] = 0; + HEAP32[4771] = $$sink10; + HEAPF32[4604] = 0.0; + HEAPF32[(18420)>>2] = 0.0; + HEAP32[4772] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4697]|0; + $65 = HEAP32[4775]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4697] = 1; + HEAP32[4775] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12179,31 +12222,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 18128; + $74 = 18440; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4693]|0; + $78 = HEAP32[4771]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18128+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18408>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18408+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18440>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18440+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4693] = 8; + HEAP32[4771] = 8; } } - $82 = +HEAPF32[4532]; - $83 = +HEAPF32[4526]; + $82 = +HEAPF32[4610]; + $83 = +HEAPF32[4604]; $84 = $82 - $83; - HEAPF32[4530] = $84; - $85 = +HEAPF32[(18132)>>2]; - $86 = +HEAPF32[(18108)>>2]; + HEAPF32[4608] = $84; + $85 = +HEAPF32[(18444)>>2]; + $86 = +HEAPF32[(18420)>>2]; $87 = $85 - $86; - HEAPF32[(18124)>>2] = $87; + HEAPF32[(18436)>>2] = $87; STACKTOP = sp;return; break; } @@ -12212,58 +12255,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4693]|0; + $0 = HEAP32[4771]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4694]|0; + $2 = HEAP32[4772]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4693] = 4; + HEAP32[4771] = 4; } - $4 = HEAP32[4693]|0; + $4 = HEAP32[4771]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12276,7 +12280,7 @@ function _UpdateGestures() { return; } } - HEAP32[4693] = 0; + HEAP32[4771] = 0; return; } function _SetCameraMode($0,$1) { @@ -12305,22 +12309,22 @@ function _SetCameraMode($0,$1) { $8 = $4 * $4; $9 = $7 + $8; $10 = (+Math_sqrt((+$9))); - HEAPF32[4701] = $10; + HEAPF32[4779] = $10; $11 = $5 + $8; $12 = (+Math_sqrt((+$11))); $13 = (+Math_sqrt((+$7))); $14 = (+Math_abs((+$2))); $15 = $14 / $12; $16 = (+Math_asin((+$15))); - HEAPF32[4702] = $16; + HEAPF32[4780] = $16; $17 = (+Math_abs((+$3))); $18 = $17 / $13; $19 = (+Math_asin((+$18))); $20 = -$19; - HEAPF32[4703] = $20; + HEAPF32[4781] = $20; $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; HEAP32[15] = $21; - HEAP32[4704] = $1; + HEAP32[4782] = $1; return; } function _UpdateCamera($0) { @@ -12389,7 +12393,7 @@ function _UpdateCamera($0) { $30 = HEAP32[24]|0; $31 = (_IsKeyDown($30)|0); HEAP32[$29>>2] = $31; - $32 = HEAP32[4704]|0; + $32 = HEAP32[4782]|0; $33 = ($32|0)==(0); L1: do { if ($33) { @@ -12461,9 +12465,9 @@ function _UpdateCamera($0) { $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; break; } else { - $64 = +HEAPF32[4540]; + $64 = +HEAPF32[4618]; $65 = $37 - $64; - $66 = +HEAPF32[(18164)>>2]; + $66 = +HEAPF32[(18476)>>2]; $67 = $42 - $66; $$sroa$095$0 = $65;$$sroa$9$0 = $67; break; @@ -12471,11 +12475,11 @@ function _UpdateCamera($0) { } else { _ShowCursor(); $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[4540]; + $69 = +HEAPF32[4618]; $70 = $68 - $69; $71 = ((($1)) + 4|0); $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(18164)>>2]; + $73 = +HEAPF32[(18476)>>2]; $74 = $72 - $73; $$sroa$095$0 = $70;$$sroa$9$0 = $74; } @@ -12487,16 +12491,16 @@ function _UpdateCamera($0) { $78 = (($75) + 4)|0; $79 = $78; $80 = HEAP32[$79>>2]|0; - $81 = 18160; + $81 = 18472; $82 = $81; HEAP32[$82>>2] = $77; $83 = (($81) + 4)|0; $84 = $83; HEAP32[$84>>2] = $80; - $$pr = HEAP32[4704]|0; + $$pr = HEAP32[4782]|0; switch ($$pr|0) { case 1: { - $85 = +HEAPF32[4701]; + $85 = +HEAPF32[4779]; $86 = $85 < 120.0; $87 = ($8|0)<(0); $or$cond3 = $87 & $86; @@ -12505,10 +12509,10 @@ function _UpdateCamera($0) { $88 = (+($8|0)); $89 = $88 * 1.5; $90 = $85 - $89; - HEAPF32[4701] = $90; + HEAPF32[4779] = $90; $91 = $90 > 120.0; if ($91) { - HEAPF32[4701] = 120.0; + HEAPF32[4779] = 120.0; } } else { $92 = ((($0)) + 4|0); @@ -12587,12 +12591,12 @@ function _UpdateCamera($0) { $146 = (+($8|0)); $147 = $146 * 1.5; $148 = $85 - $147; - HEAPF32[4701] = $148; + HEAPF32[4779] = $148; $149 = $148 < 0.30000001192092896; if (!($149)) { break; } - HEAPF32[4701] = 0.30000001192092896; + HEAPF32[4779] = 0.30000001192092896; break; } } @@ -12614,7 +12618,7 @@ function _UpdateCamera($0) { $161 = $151 - $152; $162 = $153 * $161; $163 = $162 * 1.5; - $164 = +HEAPF32[4701]; + $164 = +HEAPF32[4779]; $165 = $163 / $164; $166 = $151 + $165; HEAPF32[$95>>2] = $166; @@ -12646,7 +12650,7 @@ function _UpdateCamera($0) { $185 = $151 - $152; $186 = $177 * $185; $187 = $186 * 1.5; - $188 = +HEAPF32[4701]; + $188 = +HEAPF32[4779]; $189 = $187 / $188; $190 = $151 + $189; HEAPF32[$95>>2] = $190; @@ -12670,12 +12674,12 @@ function _UpdateCamera($0) { if ($or$cond15) { $203 = (+($8|0)); $204 = $203 * 1.5; - $205 = +HEAPF32[4701]; + $205 = +HEAPF32[4779]; $206 = $205 - $204; - HEAPF32[4701] = $206; + HEAPF32[4779] = $206; $207 = $206 < 0.30000001192092896; if ($207) { - HEAPF32[4701] = 0.30000001192092896; + HEAPF32[4779] = 0.30000001192092896; } } } @@ -12689,17 +12693,17 @@ function _UpdateCamera($0) { $209 = ($12|0)==(0); if ($209) { $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[4702]; + $223 = +HEAPF32[4780]; $224 = (+Math_cos((+$223))); $225 = $222 * $224; $226 = $$sroa$9$0 * 0.0099999997764825821; $227 = (+Math_sin((+$223))); $228 = $226 * $227; - $229 = +HEAPF32[4703]; + $229 = +HEAPF32[4781]; $230 = (+Math_sin((+$229))); $231 = $228 * $230; $232 = $225 + $231; - $233 = +HEAPF32[4701]; + $233 = +HEAPF32[4779]; $234 = $233 / 5.0999999046325684; $235 = $232 * $234; $236 = ((($0)) + 12|0); @@ -12729,23 +12733,23 @@ function _UpdateCamera($0) { $210 = ($14|0)==(0); if (!($210)) { $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[4701]; + $212 = +HEAPF32[4779]; $213 = $211 + $212; - HEAPF32[4701] = $213; + HEAPF32[4779] = $213; label = 58; break L1; } $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[4702]; + $215 = +HEAPF32[4780]; $216 = $215 - $214; - HEAPF32[4702] = $216; + HEAPF32[4780] = $216; $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[4703]; + $218 = +HEAPF32[4781]; $219 = $218 - $217; - HEAPF32[4703] = $219; + HEAPF32[4781] = $219; $220 = $219 > 1.483529806137085; if ($220) { - HEAPF32[4703] = 1.483529806137085; + HEAPF32[4781] = 1.483529806137085; label = 58; break L1; } @@ -12754,32 +12758,32 @@ function _UpdateCamera($0) { label = 58; break L1; } - HEAPF32[4703] = -1.483529806137085; + HEAPF32[4781] = -1.483529806137085; label = 58; break L1; break; } case 2: { - $254 = +HEAPF32[4702]; + $254 = +HEAPF32[4780]; $255 = $254 + 0.0099999997764825821; - HEAPF32[4702] = $255; + HEAPF32[4780] = $255; $256 = (+($8|0)); $257 = $256 * 1.5; - $258 = +HEAPF32[4701]; + $258 = +HEAPF32[4779]; $259 = $258 - $257; - HEAPF32[4701] = $259; + HEAPF32[4779] = $259; $260 = $259 < 1.2000000476837158; if (!($260)) { label = 58; break L1; } - HEAPF32[4701] = 1.2000000476837158; + HEAPF32[4779] = 1.2000000476837158; label = 58; break L1; break; } case 4: case 3: { - $264 = +HEAPF32[4702]; + $264 = +HEAPF32[4780]; $265 = (+Math_sin((+$264))); $266 = HEAP32[$17>>2]|0; $267 = (+($266>>>0)); @@ -12801,7 +12805,7 @@ function _UpdateCamera($0) { $283 = +HEAPF32[$0>>2]; $284 = $283 + $282; HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[4703]; + $285 = +HEAPF32[4781]; $286 = (+Math_sin((+$285))); $287 = $270 * $286; $288 = $267 * $286; @@ -12869,14 +12873,14 @@ function _UpdateCamera($0) { $$0 = 1; } $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[4702]; + $314 = +HEAPF32[4780]; $315 = $314 - $313; - HEAPF32[4702] = $315; + HEAPF32[4780] = $315; $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[4703]; + $317 = +HEAPF32[4781]; $318 = $317 - $316; - HEAPF32[4703] = $318; - $319 = HEAP32[4704]|0; + HEAPF32[4781] = $318; + $319 = HEAP32[4782]|0; $320 = ($319|0)==(4); if ($320) { $321 = $318 > 0.087266460061073303; @@ -12891,17 +12895,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 49) { - HEAPF32[4703] = $$sink26; + HEAPF32[4781] = $$sink26; } $323 = (+($8|0)); $324 = $323 * 1.5; - $325 = +HEAPF32[4701]; + $325 = +HEAPF32[4779]; $326 = $325 - $324; $327 = $326 < 1.2000000476837158; $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[4701] = $storemerge; + HEAPF32[4779] = $storemerge; $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[4702]; + $329 = +HEAPF32[4780]; $330 = (+Math_cos((+$329))); $331 = $330 * 0.40000000596046448; $332 = $328 + $331; @@ -12932,17 +12936,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 53) { - HEAPF32[4703] = $$sink28; + HEAPF32[4781] = $$sink28; } $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[4702]; + $347 = +HEAPF32[4780]; $348 = (+Math_sin((+$347))); $349 = $348 * 25.0; $350 = $346 - $349; $351 = ((($0)) + 12|0); HEAPF32[$351>>2] = $350; $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[4703]; + $353 = +HEAPF32[4781]; $354 = (+Math_sin((+$353))); $355 = $354 * 25.0; $356 = $352 + $355; @@ -12956,12 +12960,12 @@ function _UpdateCamera($0) { HEAPF32[$362>>2] = $361; $363 = ($$0|0)==(0); if (!($363)) { - $364 = HEAP32[4705]|0; + $364 = HEAP32[4783]|0; $365 = (($364) + 1)|0; - HEAP32[4705] = $365; + HEAP32[4783] = $365; } $366 = +HEAPF32[15]; - $367 = HEAP32[4705]|0; + $367 = HEAP32[4783]|0; $368 = (+($367|0)); $369 = $368 / 5.0; $370 = (+Math_sin((+$369))); @@ -12991,7 +12995,7 @@ function _UpdateCamera($0) { } } while(0); if ((label|0) == 58) { - $$pr190 = HEAP32[4704]|0; + $$pr190 = HEAP32[4782]|0; $380 = $$pr190; } switch ($380|0) { @@ -13002,11 +13006,11 @@ function _UpdateCamera($0) { STACKTOP = sp;return; } } - $381 = +HEAPF32[4702]; + $381 = +HEAPF32[4780]; $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[4701]; + $383 = +HEAPF32[4779]; $384 = $382 * $383; - $385 = +HEAPF32[4703]; + $385 = +HEAPF32[4781]; $386 = (+Math_cos((+$385))); $387 = $384 * $386; $388 = ((($0)) + 12|0); @@ -13015,7 +13019,7 @@ function _UpdateCamera($0) { HEAPF32[$0>>2] = $390; $391 = !($385 <= 0.0); $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[4701]; + $393 = +HEAPF32[4779]; $394 = ((($0)) + 16|0); $395 = +HEAPF32[$394>>2]; $396 = $392 * $393; @@ -13039,7 +13043,7 @@ function _GetMousePosition($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 = 18168; + $1 = 18480; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -13056,7 +13060,7 @@ function _GetMousePosition($0) { function _GetMouseWheelMove() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4710]|0; + $0 = HEAP32[4788]|0; $1 = (($0|0) / 100)&-1; return ($1|0); } @@ -13081,19 +13085,19 @@ function _IsKeyDown($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4709]|0; + $0 = HEAP32[4787]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4708]|0; + $0 = HEAP32[4786]|0; return ($0|0); } function _HideCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4706] = 1; + HEAP32[4784] = 1; return; } function _SetMousePosition($0) { @@ -13106,13 +13110,13 @@ function _SetMousePosition($0) { $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; - $7 = 18168; + $7 = 18480; $8 = $7; HEAP32[$8>>2] = $3; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; - $11 = HEAP32[4707]|0; + $11 = HEAP32[4785]|0; $12 = +HEAPF32[$0>>2]; $13 = $12; $14 = ((($0)) + 4|0); @@ -13124,14 +13128,14 @@ function _SetMousePosition($0) { function _ShowCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4706] = 0; + HEAP32[4784] = 0; return; } function _GetKeyStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4707]|0; + $1 = HEAP32[4785]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -13139,7 +13143,7 @@ function _GetMouseButtonStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4707]|0; + $1 = HEAP32[4785]|0; $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); return ($2|0); } @@ -13152,7 +13156,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4683,$vararg_buffer); - HEAP32[4711] = $2; + HEAP32[4789] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -13165,15 +13169,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4712|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4709]|0; + $3 = HEAP32[4787]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4542] = $5; - $6 = HEAP32[4708]|0; + HEAPF32[4620] = $5; + $6 = HEAP32[4786]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(18172)>>2] = $8; - $9 = HEAP32[4712]|0; + HEAPF32[(18484)>>2] = $8; + $9 = HEAP32[4790]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -13192,11 +13196,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[18208>>0]=HEAP8[9212>>0]|0;HEAP8[18208+1>>0]=HEAP8[9212+1>>0]|0;HEAP8[18208+2>>0]=HEAP8[9212+2>>0]|0;HEAP8[18208+3>>0]=HEAP8[9212+3>>0]|0;HEAP8[18208+4>>0]=HEAP8[9212+4>>0]|0;HEAP8[18208+5>>0]=HEAP8[9212+5>>0]|0;HEAP8[18208+6>>0]=HEAP8[9212+6>>0]|0; + ;HEAP8[18520>>0]=HEAP8[9212>>0]|0;HEAP8[18520+1>>0]=HEAP8[9212+1>>0]|0;HEAP8[18520+2>>0]=HEAP8[9212+2>>0]|0;HEAP8[18520+3>>0]=HEAP8[9212+3>>0]|0;HEAP8[18520+4>>0]=HEAP8[9212+4>>0]|0;HEAP8[18520+5>>0]=HEAP8[9212+5>>0]|0;HEAP8[18520+6>>0]=HEAP8[9212+6>>0]|0; break; } case 1: { - $3 = 18208; + $3 = 18520; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -13205,11 +13209,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=18208; src=9219; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=18520; src=9219; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 18208; + $7 = 18520; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -13220,16 +13224,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(18208,$1)|0); - $strlen = (_strlen(18208)|0); - $endptr = (18208 + ($strlen)|0); + (_strcat(18520,$1)|0); + $strlen = (_strlen(18520)|0); + $endptr = (18520 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(18208,$2)|0); + (_vprintf(18520,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -13261,22 +13265,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4709] = $0; - HEAP32[4708] = $1; + HEAP32[4787] = $0; + HEAP32[4786] = $1; _MatrixIdentity($2); - dest=18924; 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)); + dest=19236; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5354,$vararg_buffer); } - $6 = HEAP32[4709]|0; - HEAP32[4747] = $6; - $7 = HEAP32[4708]|0; - HEAP32[4748] = $7; + $6 = HEAP32[4787]|0; + HEAP32[4825] = $6; + $7 = HEAP32[4786]|0; + HEAP32[4826] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[21668]|0; + $8 = HEAP8[21980]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -13284,13 +13288,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[21668]|0; + $11 = HEAP8[21980]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[21668]|0; + $14 = HEAP8[21980]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -13312,18 +13316,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4749]|0; + $21 = HEAP32[4827]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4709]|0; - $48 = HEAP32[4708]|0; - $49 = HEAP32[4711]|0; + $47 = HEAP32[4787]|0; + $48 = HEAP32[4786]|0; + $49 = HEAP32[4789]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4707] = $50; - $51 = HEAP32[4709]|0; - HEAP32[4750] = $51; - $52 = HEAP32[4708]|0; - HEAP32[4751] = $52; + HEAP32[4785] = $50; + $51 = HEAP32[4787]|0; + HEAP32[4828] = $51; + $52 = HEAP32[4786]|0; + HEAP32[4829] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -13332,9 +13336,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4709]|0; + $27 = HEAP32[4787]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4708]|0; + $29 = HEAP32[4786]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -13356,25 +13360,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4747] = $31; - HEAP32[4748] = $34; + HEAP32[4825] = $31; + HEAP32[4826] = $34; } } while(0); - $38 = HEAP32[4747]|0; - $39 = HEAP32[4748]|0; + $38 = HEAP32[4825]|0; + $39 = HEAP32[4826]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5405,$vararg_buffer3); - $40 = HEAP32[4747]|0; - $41 = HEAP32[4748]|0; + $40 = HEAP32[4825]|0; + $41 = HEAP32[4826]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4747]|0; - $43 = HEAP32[4748]|0; - $44 = HEAP32[4711]|0; + $42 = HEAP32[4825]|0; + $43 = HEAP32[4826]|0; + $44 = HEAP32[4789]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4707] = $46; + HEAP32[4785] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -13383,60 +13387,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5443,$vararg_buffer6); } else { _TraceLog(0,5476,$vararg_buffer8); - $55 = HEAP32[4750]|0; - $56 = HEAP32[4751]|0; + $55 = HEAP32[4828]|0; + $56 = HEAP32[4829]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5516,$vararg_buffer10); - $57 = HEAP32[4709]|0; - $58 = HEAP32[4708]|0; + $57 = HEAP32[4787]|0; + $58 = HEAP32[4786]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5537,$vararg_buffer14); - $59 = HEAP32[4752]|0; - $60 = HEAP32[4753]|0; + $59 = HEAP32[4830]|0; + $60 = HEAP32[4831]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5558,$vararg_buffer18); } - $61 = HEAP32[4707]|0; + $61 = HEAP32[4785]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4707]|0; + $62 = HEAP32[4785]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4707]|0; + $63 = HEAP32[4785]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4707]|0; + $64 = HEAP32[4785]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4707]|0; + $65 = HEAP32[4785]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4707]|0; + $66 = HEAP32[4785]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4707]|0; + $67 = HEAP32[4785]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4707]|0; + $68 = HEAP32[4785]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4707]|0; + $69 = HEAP32[4785]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[21668]|0; + $70 = HEAP8[21980]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4709]|0; - $74 = HEAP32[4708]|0; + $73 = HEAP32[4787]|0; + $74 = HEAP32[4786]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4750]|0; - $76 = HEAP32[4752]|0; + $75 = HEAP32[4828]|0; + $76 = HEAP32[4830]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4751]|0; - $80 = HEAP32[4753]|0; + $79 = HEAP32[4829]|0; + $80 = HEAP32[4831]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13455,18 +13459,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5583,$vararg_buffer22); - $73 = HEAP32[4709]|0; - $74 = HEAP32[4708]|0; + $73 = HEAP32[4787]|0; + $74 = HEAP32[4786]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4750]|0; - $76 = HEAP32[4752]|0; + $75 = HEAP32[4828]|0; + $76 = HEAP32[4830]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4751]|0; - $80 = HEAP32[4753]|0; + $79 = HEAP32[4829]|0; + $80 = HEAP32[4831]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13494,7 +13498,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(18892)>>2] = 224; + HEAP32[(19204)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -13535,27 +13539,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[18868>>2]=HEAP32[$1>>2]|0;HEAP32[18868+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18868+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18868+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18868+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[19180>>2]=HEAP32[$1>>2]|0;HEAP32[19180+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19180+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19180+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19180+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(18892)>>2]|0; + $5 = HEAP32[(19204)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(18896)>>2] = $7; + HEAP32[(19208)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18888)>>2] = $23; - $24 = HEAP32[4717]|0; + HEAP32[(19200)>>2] = $23; + $24 = HEAP32[4795]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4907,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(18872)>>2]|0; - $10 = HEAP32[(18892)>>2]|0; - $11 = HEAP32[(18896)>>2]|0; + $9 = HEAP32[(19184)>>2]|0; + $10 = HEAP32[(19204)>>2]|0; + $11 = HEAP32[(19208)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13604,8 +13608,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18888)>>2] = $23; - $24 = HEAP32[4717]|0; + HEAP32[(19200)>>2] = $23; + $24 = HEAP32[4795]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4907,$vararg_buffer); STACKTOP = sp;return; @@ -13616,7 +13620,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2275] = $1; + HEAPF64[2314] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13775,7 +13779,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 18184; + $31 = 18496; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13788,7 +13792,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (18192); + $42 = (18504); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13844,7 +13848,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (18852 + ($10<<2)|0); + $11 = (19164 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13858,7 +13862,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2272] = $$; + HEAPF64[2311] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -13870,7 +13874,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4712] = 0; + HEAP32[4790] = 0; return; } function _GetTime() { @@ -14446,7 +14450,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4725]|0; + $6 = HEAP32[4803]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -14456,7 +14460,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4726]|0; + $9 = HEAP32[4804]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -14465,7 +14469,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4727]|0; + $12 = HEAP32[4805]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -14475,7 +14479,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4728]|0; + $15 = HEAP32[4806]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -14485,7 +14489,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4729]|0; + $18 = HEAP32[4807]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -14529,7 +14533,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4725]|0; + $22 = HEAP32[4803]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14537,7 +14541,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4725]|0; + $24 = HEAP32[4803]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14545,7 +14549,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4725]|0; + $26 = HEAP32[4803]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14553,7 +14557,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4725]|0; + $28 = HEAP32[4803]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14561,7 +14565,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4726]|0; + $30 = HEAP32[4804]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14569,7 +14573,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4727]|0; + $32 = HEAP32[4805]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14577,7 +14581,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4727]|0; + $34 = HEAP32[4805]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14585,7 +14589,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4728]|0; + $36 = HEAP32[4806]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14593,7 +14597,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4728]|0; + $38 = HEAP32[4806]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14601,7 +14605,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4729]|0; + $40 = HEAP32[4807]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14609,7 +14613,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4729]|0; + $42 = HEAP32[4807]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14621,7 +14625,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4730]|0; + $44 = HEAP32[4808]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14636,7 +14640,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,11944,$vararg_buffer15); + _TraceLog(2,12252,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -14967,20 +14971,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4709]|0; + $3 = HEAP32[4787]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4708]|0; + $5 = HEAP32[4786]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4750] = $3; - HEAP32[4751] = $5; - HEAP32[4752] = 0; - HEAP32[4753] = 0; + HEAP32[4828] = $3; + HEAP32[4829] = $5; + HEAP32[4830] = 0; + HEAP32[4831] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14994,9 +14998,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4709]|0; + $35 = HEAP32[4787]|0; $36 = (+($35|0)); - $37 = HEAP32[4708]|0; + $37 = HEAP32[4786]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -15004,26 +15008,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4750] = $45; - HEAP32[4751] = $37; + HEAP32[4828] = $45; + HEAP32[4829] = $37; $46 = (($45) - ($35))|0; - HEAP32[4752] = $46; + HEAP32[4830] = $46; $$sink1 = 0; } else { - HEAP32[4750] = $35; + HEAP32[4828] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4751] = $42; - HEAP32[4752] = 0; + HEAP32[4829] = $42; + HEAP32[4830] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4753] = $$sink1; + HEAP32[4831] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4708]|0; + $7 = HEAP32[4786]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -15033,11 +15037,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8965,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4709]|0; + $9 = HEAP32[4787]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4708]|0; + $13 = HEAP32[4786]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -15045,33 +15049,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4750] = $23; - HEAP32[4751] = $1; + HEAP32[4828] = $23; + HEAP32[4829] = $1; $24 = (($0) - ($23))|0; - HEAP32[4752] = $24; + HEAP32[4830] = $24; $$sink = 0; } else { - HEAP32[4750] = $0; - $17 = HEAP32[4708]|0; + HEAP32[4828] = $0; + $17 = HEAP32[4786]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4751] = $20; - HEAP32[4752] = 0; + HEAP32[4829] = $20; + HEAP32[4830] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4753] = $$sink; - $25 = HEAP32[4750]|0; + HEAP32[4831] = $$sink; + $25 = HEAP32[4828]|0; $26 = (+($25|0)); - $27 = HEAP32[4709]|0; + $27 = HEAP32[4787]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=18924; 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)); - HEAP32[4750] = $0; - HEAP32[4751] = $1; + dest=19236; 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)); + HEAP32[4828] = $0; + HEAP32[4829] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -15093,10 +15097,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4709] = $1; - HEAP32[4708] = $2; - HEAP32[4750] = $1; - HEAP32[4751] = $2; + HEAP32[4787] = $1; + HEAP32[4786] = $2; + HEAP32[4828] = $1; + HEAP32[4829] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -15123,7 +15127,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (21675 + ($1)|0); + $9 = (21987 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -15144,7 +15148,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (21669 + ($1)|0); + $7 = (21981 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -15223,7 +15227,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 18184; + $15 = 18496; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -15258,7 +15262,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5123] = $3; + HEAP32[5201] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -15268,7 +15272,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5122] = $$sink; + HEAP32[5200] = $$sink; return; } function _rlglInit($0,$1) { @@ -15349,18 +15353,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5715)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4788] = 1; + HEAP32[4866] = 1; $27 = (_eglGetProcAddress((5742|0))|0); - HEAP32[4789] = $27; + HEAP32[4867] = $27; $28 = (_eglGetProcAddress((5763|0))|0); - HEAP32[4790] = $28; + HEAP32[4868] = $28; $29 = (_eglGetProcAddress((5784|0))|0); - HEAP32[4791] = $29; + HEAP32[4869] = $29; } $30 = (_strcmp($24,5808)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4730] = 1; + HEAP32[4808] = 1; } $32 = (_strcmp($24,5828)|0); $33 = ($32|0)==(0); @@ -15382,7 +15386,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4725] = 1; + HEAP32[4803] = 1; } $39 = (_strcmp($24,5933)|0); $40 = ($39|0)==(0); @@ -15398,35 +15402,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4726] = 1; + HEAP32[4804] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,6002)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4727] = 1; + HEAP32[4805] = 1; } $47 = (_strcmp($44,6027)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4728] = 1; + HEAP32[4806] = 1; } $49 = (_strcmp($44,6060)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4729] = 1; + HEAP32[4807] = 1; } $51 = (_strcmp($44,6096)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4792] = 1; - _glGetFloatv(34047,(19172|0)); + HEAP32[4870] = 1; + _glGetFloatv(34047,(19484|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,6130)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4794] = 1; + HEAP32[4872] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -15437,61 +15441,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4788]|0; + $21 = HEAP32[4866]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,6233,$vararg_buffer15); } else { _TraceLog(0,6158,$vararg_buffer13); } - $57 = HEAP32[4730]|0; + $57 = HEAP32[4808]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6369,$vararg_buffer19); } else { _TraceLog(0,6294,$vararg_buffer17); } - $59 = HEAP32[4725]|0; + $59 = HEAP32[4803]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6461,$vararg_buffer21); } - $61 = HEAP32[4726]|0; + $61 = HEAP32[4804]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6507,$vararg_buffer23); } - $63 = HEAP32[4727]|0; + $63 = HEAP32[4805]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6554,$vararg_buffer25); } - $65 = HEAP32[4728]|0; + $65 = HEAP32[4806]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6605,$vararg_buffer27); } - $67 = HEAP32[4729]|0; + $67 = HEAP32[4807]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6652,$vararg_buffer29); } - $69 = HEAP32[4792]|0; + $69 = HEAP32[4870]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4793]; + $71 = +HEAPF32[4871]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6699,$vararg_buffer31); } - $73 = HEAP32[4794]|0; + $73 = HEAP32[4872]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6765,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4795] = $75; + HEAP32[4873] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6869,$vararg_buffer39); @@ -15500,14 +15504,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6818,$vararg_buffer36); } _LoadDefaultShader($2); - dest=19184; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19240; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19496; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19552; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4824] = $77; + HEAP32[4902] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4824]|0; + $79 = HEAP32[4902]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -15520,7 +15524,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4825] = $78; + HEAP32[4903] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15535,48 +15539,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4826] = 1; - $85 = HEAP32[4795]|0; + HEAP32[4904] = 1; + $85 = HEAP32[4873]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4827] = 4; + HEAP32[4905] = 4; _MatrixIdentity($4); - dest=19312; src=$4; 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)); + dest=19624; src=$4; 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)); _MatrixIdentity($4); - dest=(19376); src=$4; 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)); + dest=(19688); src=$4; 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)); _MatrixIdentity($4); - dest=(19440); src=$4; 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)); + dest=(19752); src=$4; 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)); _MatrixIdentity($4); - dest=(19504); src=$4; 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)); + dest=(19816); src=$4; 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)); _MatrixIdentity($4); - dest=(19568); src=$4; 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)); + dest=(19880); src=$4; 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)); _MatrixIdentity($4); - dest=(19632); src=$4; 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)); + dest=(19944); src=$4; 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)); _MatrixIdentity($4); - dest=(19696); src=$4; 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)); + dest=(20008); src=$4; 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)); _MatrixIdentity($4); - dest=(19760); src=$4; 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)); + dest=(20072); src=$4; 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)); _MatrixIdentity($4); - dest=(19824); src=$4; 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)); + dest=(20136); src=$4; 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)); _MatrixIdentity($4); - dest=(19888); src=$4; 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)); + dest=(20200); src=$4; 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)); _MatrixIdentity($4); - dest=(19952); src=$4; 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)); + dest=(20264); src=$4; 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)); _MatrixIdentity($4); - dest=(20016); src=$4; 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)); + dest=(20328); src=$4; 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)); _MatrixIdentity($4); - dest=(20080); src=$4; 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)); + dest=(20392); src=$4; 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)); _MatrixIdentity($4); - dest=(20144); src=$4; 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)); + dest=(20456); src=$4; 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)); _MatrixIdentity($4); - dest=(20208); src=$4; 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)); + dest=(20520); src=$4; 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)); _MatrixIdentity($4); - dest=(20272); src=$4; 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)); + dest=(20584); src=$4; 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)); _MatrixIdentity($5); - dest=19020; src=$5; 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)); + dest=19332; src=$5; 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)); _MatrixIdentity($6); - dest=19084; src=$6; 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)); - HEAP32[4754] = 19084; + dest=19396; src=$6; 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)); + HEAP32[4832] = 19396; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15587,21 +15591,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5084] = $0; - HEAP32[5085] = $1; + HEAP32[5162] = $0; + HEAP32[5163] = $1; _TraceLog(0,6908,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4752]|0; + $0 = HEAP32[4830]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4753]|0; + $2 = HEAP32[4831]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4750]|0; + $4 = HEAP32[4828]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4751]|0; + $6 = HEAP32[4829]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15612,12 +15616,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 19020; + $modelview$sink = 19332; label = 3; break; } case 5888: { - $modelview$sink = 19084; + $modelview$sink = 19396; label = 3; break; } @@ -15625,9 +15629,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4754] = $modelview$sink; + HEAP32[4832] = $modelview$sink; } - HEAP32[4787] = $0; + HEAP32[4865] = $0; return; } function _rlLoadIdentity() { @@ -15635,7 +15639,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4754]|0; + $1 = HEAP32[4832]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -15656,7 +15660,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4754]|0; + $8 = HEAP32[4832]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -15753,15 +15757,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(20356)>>2] = $0; + HEAP32[(20668)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(20364)>>2] = $1; - HEAP32[(20360)>>2] = 0; - HEAP32[(20368)>>2] = 0; + HEAP32[(20676)>>2] = $1; + HEAP32[(20672)>>2] = 0; + HEAP32[(20680)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(20364)>>2]|0; + $2 = HEAP32[(20676)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15772,19 +15776,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5086] = 0; - HEAP32[(20352)>>2] = 0; - HEAP32[(20348)>>2] = 0; + HEAP32[5164] = 0; + HEAP32[(20664)>>2] = 0; + HEAP32[(20660)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(20404)>>2] = $5; + HEAP32[(20716)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(20412)>>2] = $6; - HEAP32[(20408)>>2] = 0; - HEAP32[(20416)>>2] = 0; + HEAP32[(20724)>>2] = $6; + HEAP32[(20720)>>2] = 0; + HEAP32[(20728)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(20412)>>2]|0; + $7 = HEAP32[(20724)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15795,24 +15799,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5098] = 0; - HEAP32[(20400)>>2] = 0; - HEAP32[(20396)>>2] = 0; + HEAP32[5176] = 0; + HEAP32[(20712)>>2] = 0; + HEAP32[(20708)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(20452)>>2] = $10; + HEAP32[(20764)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(20456)>>2] = $11; + HEAP32[(20768)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(20460)>>2] = $12; + HEAP32[(20772)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(20464)>>2] = $13; - $14 = HEAP32[(20452)>>2]|0; + HEAP32[(20776)>>2] = $13; + $14 = HEAP32[(20764)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(20456)>>2]|0; + $15 = HEAP32[(20768)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(20460)>>2]|0; + $17 = HEAP32[(20772)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15823,7 +15827,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(20464)>>2]|0; + $16 = HEAP32[(20776)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15860,140 +15864,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5110] = 0; - HEAP32[(20444)>>2] = 0; - HEAP32[(20448)>>2] = 0; + HEAP32[5188] = 0; + HEAP32[(20756)>>2] = 0; + HEAP32[(20760)>>2] = 0; _TraceLog(0,6955,$vararg_buffer); - $20 = HEAP32[4788]|0; + $20 = HEAP32[4866]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4789]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(20372)); - $44 = HEAP32[4790]|0; - $45 = HEAP32[(20372)>>2]|0; + $43 = HEAP32[4867]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(20684)); + $44 = HEAP32[4868]|0; + $45 = HEAP32[(20684)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((20376)|0)); - $46 = HEAP32[(20376)>>2]|0; + _glGenBuffers(2,((20688)|0)); + $46 = HEAP32[(20688)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(20356)>>2]|0; + $47 = HEAP32[(20668)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(19244)>>2]|0; + $48 = HEAP32[(19556)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(19244)>>2]|0; + $49 = HEAP32[(19556)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((20380)|0)); - $50 = HEAP32[(20380)>>2]|0; + _glGenBuffers(2,((20692)|0)); + $50 = HEAP32[(20692)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(20364)>>2]|0; + $51 = HEAP32[(20676)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(19264)>>2]|0; + $52 = HEAP32[(19576)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(19264)>>2]|0; + $53 = HEAP32[(19576)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4788]|0; + $54 = HEAP32[4866]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(20376)>>2]|0; - $58 = HEAP32[(20380)>>2]|0; + $57 = HEAP32[(20688)>>2]|0; + $58 = HEAP32[(20692)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,7093,$vararg_buffer3); } else { - $56 = HEAP32[(20372)>>2]|0; + $56 = HEAP32[(20684)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,7028,$vararg_buffer1); } - $59 = HEAP32[4788]|0; + $59 = HEAP32[4866]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4789]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(20420)); - $62 = HEAP32[4790]|0; - $63 = HEAP32[(20420)>>2]|0; + $61 = HEAP32[4867]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(20732)); + $62 = HEAP32[4868]|0; + $63 = HEAP32[(20732)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((20424)|0)); - $64 = HEAP32[(20424)>>2]|0; + _glGenBuffers(1,((20736)|0)); + $64 = HEAP32[(20736)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(20404)>>2]|0; + $65 = HEAP32[(20716)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(19244)>>2]|0; + $66 = HEAP32[(19556)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(19244)>>2]|0; + $67 = HEAP32[(19556)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20428)|0)); - $68 = HEAP32[(20428)>>2]|0; + _glGenBuffers(1,((20740)|0)); + $68 = HEAP32[(20740)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(20412)>>2]|0; + $69 = HEAP32[(20724)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(19264)>>2]|0; + $70 = HEAP32[(19576)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(19264)>>2]|0; + $71 = HEAP32[(19576)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4788]|0; + $72 = HEAP32[4866]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(20424)>>2]|0; - $76 = HEAP32[(20428)>>2]|0; + $75 = HEAP32[(20736)>>2]|0; + $76 = HEAP32[(20740)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,7239,$vararg_buffer10); } else { - $74 = HEAP32[(20420)>>2]|0; + $74 = HEAP32[(20732)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,7170,$vararg_buffer7); } - $77 = HEAP32[4788]|0; + $77 = HEAP32[4866]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4789]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(20468)); - $80 = HEAP32[4790]|0; - $81 = HEAP32[(20468)>>2]|0; + $79 = HEAP32[4867]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(20780)); + $80 = HEAP32[4868]|0; + $81 = HEAP32[(20780)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((20472)|0)); - $82 = HEAP32[(20472)>>2]|0; + _glGenBuffers(1,((20784)|0)); + $82 = HEAP32[(20784)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(20452)>>2]|0; + $83 = HEAP32[(20764)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(19244)>>2]|0; + $84 = HEAP32[(19556)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(19244)>>2]|0; + $85 = HEAP32[(19556)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20476)|0)); - $86 = HEAP32[(20476)>>2]|0; + _glGenBuffers(1,((20788)|0)); + $86 = HEAP32[(20788)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(20456)>>2]|0; + $87 = HEAP32[(20768)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(19248)>>2]|0; + $88 = HEAP32[(19560)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(19248)>>2]|0; + $89 = HEAP32[(19560)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((20480)|0)); - $90 = HEAP32[(20480)>>2]|0; + _glGenBuffers(1,((20792)|0)); + $90 = HEAP32[(20792)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(20460)>>2]|0; + $91 = HEAP32[(20772)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(19264)>>2]|0; + $92 = HEAP32[(19576)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(19264)>>2]|0; + $93 = HEAP32[(19576)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((20484)|0)); - $94 = HEAP32[(20484)>>2]|0; + _glGenBuffers(1,((20796)|0)); + $94 = HEAP32[(20796)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(20464)>>2]|0; + $95 = HEAP32[(20776)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4788]|0; + $96 = HEAP32[4866]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(20472)>>2]|0; - $100 = HEAP32[(20476)>>2]|0; - $101 = HEAP32[(20480)>>2]|0; - $102 = HEAP32[(20484)>>2]|0; + $99 = HEAP32[(20784)>>2]|0; + $100 = HEAP32[(20788)>>2]|0; + $101 = HEAP32[(20792)>>2]|0; + $102 = HEAP32[(20796)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -16003,16 +16007,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7385,$vararg_buffer17); } else { - $98 = HEAP32[(20468)>>2]|0; + $98 = HEAP32[(20780)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7320,$vararg_buffer14); } - $103 = HEAP32[4788]|0; + $103 = HEAP32[4866]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4790]|0; + $105 = HEAP32[4868]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -16193,9 +16197,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21669 + ($0)|0); + $1 = (21981 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21672 + ($0)|0); + $3 = (21984 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16207,9 +16211,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21669 + ($0)|0); + $1 = (21981 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21672 + ($0)|0); + $3 = (21984 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -16230,7 +16234,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4707]|0; + $0 = HEAP32[4785]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,9229,$vararg_buffer); @@ -16241,9 +16245,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[18868>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18868+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18868+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18868+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18868+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[19180>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19180+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19180+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19180+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19180+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(18896)>>2]|0; + $0 = HEAP32[(19208)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -16254,11 +16258,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(19180|0)); - $0 = HEAP32[4795]|0; + _glDeleteTextures(1,(19492|0)); + $0 = HEAP32[4873]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9256,$vararg_buffer); - $1 = HEAP32[4825]|0; + $1 = HEAP32[4903]|0; _free($1); STACKTOP = sp;return; } @@ -16266,17 +16270,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4796]|0; + $0 = HEAP32[4874]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4788]|0; + $0 = HEAP32[4866]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4790]|0; + $2 = HEAP32[4868]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -16285,39 +16289,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((20376)|0)); - _glDeleteBuffers(1,((20380)|0)); - _glDeleteBuffers(1,((20424)|0)); - _glDeleteBuffers(1,((20428)|0)); - _glDeleteBuffers(1,((20472)|0)); - _glDeleteBuffers(1,((20476)|0)); - _glDeleteBuffers(1,((20480)|0)); - _glDeleteBuffers(1,((20484)|0)); - $3 = HEAP32[4788]|0; + _glDeleteBuffers(1,((20688)|0)); + _glDeleteBuffers(1,((20692)|0)); + _glDeleteBuffers(1,((20736)|0)); + _glDeleteBuffers(1,((20740)|0)); + _glDeleteBuffers(1,((20784)|0)); + _glDeleteBuffers(1,((20788)|0)); + _glDeleteBuffers(1,((20792)|0)); + _glDeleteBuffers(1,((20796)|0)); + $3 = HEAP32[4866]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4791]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(20372)); - $6 = HEAP32[4791]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(20420)); - $7 = HEAP32[4791]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(20468)); + $5 = HEAP32[4869]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(20684)); + $6 = HEAP32[4869]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(20732)); + $7 = HEAP32[4869]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(20780)); } - $8 = HEAP32[(20356)>>2]|0; + $8 = HEAP32[(20668)>>2]|0; _free($8); - $9 = HEAP32[(20364)>>2]|0; + $9 = HEAP32[(20676)>>2]|0; _free($9); - $10 = HEAP32[(20404)>>2]|0; + $10 = HEAP32[(20716)>>2]|0; _free($10); - $11 = HEAP32[(20412)>>2]|0; + $11 = HEAP32[(20724)>>2]|0; _free($11); - $12 = HEAP32[(20452)>>2]|0; + $12 = HEAP32[(20764)>>2]|0; _free($12); - $13 = HEAP32[(20456)>>2]|0; + $13 = HEAP32[(20768)>>2]|0; _free($13); - $14 = HEAP32[(20460)>>2]|0; + $14 = HEAP32[(20772)>>2]|0; _free($14); - $15 = HEAP32[(20464)>>2]|0; + $15 = HEAP32[(20776)>>2]|0; _free($15); return; } @@ -16357,16 +16361,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2292] = $0; - $1 = +HEAPF64[2275]; + HEAPF64[2331] = $0; + $1 = +HEAPF64[2314]; $2 = $0 - $1; - HEAPF64[2293] = $2; - HEAPF64[2275] = $0; + HEAPF64[2332] = $2; + HEAPF64[2314] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=18924; 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)); + dest=$downscaleView$byval_copy; src=19236; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20496); + _rlMultMatrixf(20808); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -16375,53 +16379,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[5124] = $1; + HEAP32[5202] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(20500)>>2] = $3; + HEAP32[(20812)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(20504)>>2] = $5; + HEAP32[(20816)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(20508)>>2] = $7; + HEAP32[(20820)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(20512)>>2] = $9; + HEAP32[(20824)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(20516)>>2] = $11; + HEAP32[(20828)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(20520)>>2] = $13; + HEAP32[(20832)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(20524)>>2] = $15; + HEAP32[(20836)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(20528)>>2] = $17; + HEAP32[(20840)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(20532)>>2] = $19; + HEAP32[(20844)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(20536)>>2] = $21; + HEAP32[(20848)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(20540)>>2] = $23; + HEAP32[(20852)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(20544)>>2] = $25; + HEAP32[(20856)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(20548)>>2] = $27; + HEAP32[(20860)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(20552)>>2] = $29; + HEAP32[(20864)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(20556)>>2] = $31; - return (20496|0); + HEAP32[(20868)>>2] = $31; + return (20808|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16496,7 +16500,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4754]|0; + $49 = HEAP32[4832]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -16510,15 +16514,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2292] = $0; - $1 = +HEAPF64[2275]; + HEAPF64[2331] = $0; + $1 = +HEAPF64[2314]; $2 = $0 - $1; - HEAPF64[2294] = $2; - HEAPF64[2275] = $0; - $3 = +HEAPF64[2293]; + HEAPF64[2333] = $2; + HEAPF64[2314] = $0; + $3 = +HEAPF64[2332]; $4 = $2 + $3; - HEAPF64[2295] = $4; - $5 = +HEAPF64[2272]; + HEAPF64[2334] = $4; + $5 = +HEAPF64[2311]; $6 = $4 < $5; if (!($6)) { return; @@ -16528,13 +16532,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2292] = $10; - $11 = +HEAPF64[2275]; + HEAPF64[2331] = $10; + $11 = +HEAPF64[2314]; $12 = $10 - $11; - HEAPF64[2275] = $10; - $13 = +HEAPF64[2295]; + HEAPF64[2314] = $10; + $13 = +HEAPF64[2334]; $14 = $12 + $13; - HEAPF64[2295] = $14; + HEAPF64[2334] = $14; return; } function _rlglDraw() { @@ -16547,7 +16551,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4707]|0; + $0 = HEAP32[4785]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16563,20 +16567,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[761] = -1; HEAP32[763] = -1; - HEAP32[5140] = 0; - $3 = HEAP32[4707]|0; + HEAP32[5218] = 0; + $3 = HEAP32[4785]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4542] = $5; + HEAPF32[4620] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(18172)>>2] = $7; - _memcpy((22187|0),(21675|0),512)|0; - ;HEAP8[21672>>0]=HEAP8[21669>>0]|0;HEAP8[21672+1>>0]=HEAP8[21669+1>>0]|0;HEAP8[21672+2>>0]=HEAP8[21669+2>>0]|0; - $8 = HEAP32[5123]|0; - HEAP32[4710] = $8; - HEAP32[5123] = 0; + HEAPF32[(18484)>>2] = $7; + _memcpy((22499|0),(21987|0),512)|0; + ;HEAP8[21984>>0]=HEAP8[21981>>0]|0;HEAP8[21984+1>>0]=HEAP8[21981+1>>0]|0;HEAP8[21984+2>>0]=HEAP8[21981+2>>0]|0; + $8 = HEAP32[5201]|0; + HEAP32[4788] = $8; + HEAP32[5201] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16586,8 +16590,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (22699 + ($$05160<<5)|0); - $scevgep67 = (22827 + ($$05160<<5)|0); + $scevgep = (23011 + ($$05160<<5)|0); + $scevgep67 = (23139 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -16601,7 +16605,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((22827 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((23139 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[763] = $$04857; @@ -16628,7 +16632,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((20564 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((20876 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16644,7 +16648,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5140] = $$lcssa; + HEAP32[5218] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16685,87 +16689,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5086]|0; + $0 = HEAP32[5164]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4788]|0; + $2 = HEAP32[4866]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4790]|0; - $5 = HEAP32[(20372)>>2]|0; + $4 = HEAP32[4868]|0; + $5 = HEAP32[(20684)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(20376)>>2]|0; + $6 = HEAP32[(20688)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5086]|0; + $7 = HEAP32[5164]|0; $8 = ($7*12)|0; - $9 = HEAP32[(20356)>>2]|0; + $9 = HEAP32[(20668)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(20380)>>2]|0; + $10 = HEAP32[(20692)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(20352)>>2]|0; + $11 = HEAP32[(20664)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(20364)>>2]|0; + $13 = HEAP32[(20676)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5098]|0; + $14 = HEAP32[5176]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4788]|0; + $16 = HEAP32[4866]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4790]|0; - $19 = HEAP32[(20420)>>2]|0; + $18 = HEAP32[4868]|0; + $19 = HEAP32[(20732)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(20424)>>2]|0; + $20 = HEAP32[(20736)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5098]|0; + $21 = HEAP32[5176]|0; $22 = ($21*12)|0; - $23 = HEAP32[(20404)>>2]|0; + $23 = HEAP32[(20716)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(20428)>>2]|0; + $24 = HEAP32[(20740)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(20400)>>2]|0; + $25 = HEAP32[(20712)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(20412)>>2]|0; + $27 = HEAP32[(20724)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5110]|0; + $28 = HEAP32[5188]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4788]|0; + $30 = HEAP32[4866]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4790]|0; - $33 = HEAP32[(20468)>>2]|0; + $32 = HEAP32[4868]|0; + $33 = HEAP32[(20780)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(20472)>>2]|0; + $34 = HEAP32[(20784)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5110]|0; + $35 = HEAP32[5188]|0; $36 = ($35*12)|0; - $37 = HEAP32[(20452)>>2]|0; + $37 = HEAP32[(20764)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(20476)>>2]|0; + $38 = HEAP32[(20788)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5110]|0; + $39 = HEAP32[5188]|0; $40 = $39 << 3; - $41 = HEAP32[(20456)>>2]|0; + $41 = HEAP32[(20768)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(20480)>>2]|0; + $42 = HEAP32[(20792)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5110]|0; + $43 = HEAP32[5188]|0; $44 = $43 << 2; - $45 = HEAP32[(20460)>>2]|0; + $45 = HEAP32[(20772)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4788]|0; + $46 = HEAP32[4866]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4790]|0; + $48 = HEAP32[4868]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16783,9 +16787,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=19020; 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)); - dest=$1; src=19084; 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)); - $3 = HEAP32[5173]|0; + dest=$0; src=19332; 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)); + dest=$1; src=19396; 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)); + $3 = HEAP32[5251]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16795,134 +16799,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5086]|0; + $8 = HEAP32[5164]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5098]|0; + $10 = HEAP32[5176]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5110]|0; + $12 = HEAP32[5188]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4810]|0; + $14 = HEAP32[4888]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=19084; 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)); - dest=$$byval_copy2; src=19020; 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)); + dest=$modelview$byval_copy; src=19396; 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)); + dest=$$byval_copy2; src=19332; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(19268)>>2]|0; + $15 = HEAP32[(19580)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(19272)>>2]|0; + $17 = HEAP32[(19584)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(19284)>>2]|0; + $18 = HEAP32[(19596)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5086]|0; + $19 = HEAP32[5164]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4795]|0; + $21 = HEAP32[4873]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4788]|0; + $22 = HEAP32[4866]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(20376)>>2]|0; + $26 = HEAP32[(20688)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(19244)>>2]|0; + $27 = HEAP32[(19556)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(19244)>>2]|0; + $28 = HEAP32[(19556)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(20380)>>2]|0; + $29 = HEAP32[(20692)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(19264)>>2]|0; + $30 = HEAP32[(19576)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(19264)>>2]|0; + $31 = HEAP32[(19576)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4790]|0; - $25 = HEAP32[(20372)>>2]|0; + $24 = HEAP32[4868]|0; + $25 = HEAP32[(20684)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5086]|0; + $32 = HEAP32[5164]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4788]|0; + $33 = HEAP32[4866]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5098]|0; + $35 = HEAP32[5176]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4795]|0; + $37 = HEAP32[4873]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4788]|0; + $38 = HEAP32[4866]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(20424)>>2]|0; + $42 = HEAP32[(20736)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(19244)>>2]|0; + $43 = HEAP32[(19556)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(19244)>>2]|0; + $44 = HEAP32[(19556)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(20428)>>2]|0; + $45 = HEAP32[(20740)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(19264)>>2]|0; + $46 = HEAP32[(19576)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(19264)>>2]|0; + $47 = HEAP32[(19576)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4790]|0; - $41 = HEAP32[(20420)>>2]|0; + $40 = HEAP32[4868]|0; + $41 = HEAP32[(20732)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5098]|0; + $48 = HEAP32[5176]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4788]|0; + $49 = HEAP32[4866]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5110]|0; + $51 = HEAP32[5188]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4788]|0; + $53 = HEAP32[4866]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(20472)>>2]|0; + $57 = HEAP32[(20784)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(19244)>>2]|0; + $58 = HEAP32[(19556)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(19244)>>2]|0; + $59 = HEAP32[(19556)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(20476)>>2]|0; + $60 = HEAP32[(20788)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(19248)>>2]|0; + $61 = HEAP32[(19560)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(19248)>>2]|0; + $62 = HEAP32[(19560)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(20480)>>2]|0; + $63 = HEAP32[(20792)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(19264)>>2]|0; + $64 = HEAP32[(19576)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(19264)>>2]|0; + $65 = HEAP32[(19576)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(20484)>>2]|0; + $66 = HEAP32[(20796)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4790]|0; - $56 = HEAP32[(20468)>>2]|0; + $55 = HEAP32[4868]|0; + $56 = HEAP32[(20780)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4826]|0; + $67 = HEAP32[4904]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4825]|0; + $71 = HEAP32[4903]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16933,14 +16937,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4825]|0; + $80 = HEAP32[4903]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4826]|0; + $87 = HEAP32[4904]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16949,7 +16953,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4788]|0; + $69 = HEAP32[4866]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16957,10 +16961,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4788]|0; + $89 = HEAP32[4866]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4790]|0; + $91 = HEAP32[4868]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16972,22 +16976,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4826] = 1; - $5 = HEAP32[4795]|0; - $6 = HEAP32[4825]|0; + HEAP32[4904] = 1; + $5 = HEAP32[4873]|0; + $6 = HEAP32[4903]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5086] = 0; - HEAP32[(20352)>>2] = 0; - HEAP32[5098] = 0; - HEAP32[(20400)>>2] = 0; - HEAP32[5110] = 0; - HEAP32[(20444)>>2] = 0; - HEAP32[(20448)>>2] = 0; + HEAP32[5164] = 0; + HEAP32[(20664)>>2] = 0; + HEAP32[5176] = 0; + HEAP32[(20712)>>2] = 0; + HEAP32[5188] = 0; + HEAP32[(20756)>>2] = 0; + HEAP32[(20760)>>2] = 0; HEAPF32[764] = -1.0; - dest=19020; src=$0; 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)); - dest=19084; src=$1; 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)); + dest=19332; src=$0; 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)); + dest=19396; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -17002,17 +17006,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[5084]|0; + $5 = HEAP32[5162]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5085]|0; + $9 = HEAP32[5163]|0; _rlViewport($7,0,$8,$9); - $10 = (20924 + ($0<<6)|0); + $10 = (21236 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20796 + ($0<<6)|0); + $11 = (21108 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -17024,14 +17028,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19084; src=$0; 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)); + dest=19396; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19020; src=$0; 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)); + dest=19332; src=$0; 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)); return; } function _Begin3dMode($0) { @@ -17048,9 +17052,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4709]|0; + $2 = HEAP32[4787]|0; $3 = (+($2|0)); - $4 = HEAP32[4708]|0; + $4 = HEAP32[4786]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -17075,7 +17079,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; 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)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(20496); + _rlMultMatrixf(20808); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -17084,26 +17088,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5263]|0; + $0 = HEAP32[5341]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9371,$vararg_buffer); } - $2 = HEAP32[5263]|0; - $3 = (19312 + ($2<<6)|0); - $4 = HEAP32[4754]|0; + $2 = HEAP32[5341]|0; + $3 = (19624 + ($2<<6)|0); + $4 = HEAP32[4832]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[5263]|0; + $5 = HEAP32[5341]|0; $6 = (($5) + 1)|0; - HEAP32[5263] = $6; - $7 = HEAP32[4787]|0; + HEAP32[5341] = $6; + $7 = HEAP32[4865]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5264] = 1; + HEAP32[5342] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -17122,7 +17126,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4754]|0; + $8 = HEAP32[4832]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -17149,18 +17153,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5263]|0; + $0 = HEAP32[5341]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5263]|0; + $2 = HEAP32[5341]|0; $3 = (($2) + -1)|0; - $4 = (19312 + ($3<<6)|0); - $5 = HEAP32[4754]|0; + $4 = (19624 + ($3<<6)|0); + $5 = HEAP32[4832]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5263] = $6; + HEAP32[5341] = $6; return; } function _rlDisableDepthTest() { @@ -17232,7 +17236,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2295]; + $0 = +HEAPF64[2334]; $1 = $0; return (+$1); } @@ -17240,19 +17244,19 @@ function _SetConfigFlags($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAP8[21668] = $0; + HEAP8[21980] = $0; $1 = $0 & 1; $2 = ($1<<24>>24)==(0); if (!($2)) { - HEAP32[4712] = 1; + HEAP32[4790] = 1; } - $3 = HEAP8[21668]|0; + $3 = HEAP8[21980]|0; $4 = $3 & 2; $5 = ($4<<24>>24)==(0); if ($5) { return; } - HEAP32[4749] = 1; + HEAP32[4827] = 1; return; } function _IsFileExtension($0,$1) { @@ -17285,7 +17289,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4754]|0; + $5 = HEAP32[4832]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -17318,7 +17322,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4754]|0; + $11 = HEAP32[4832]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -17329,7 +17333,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4827] = $0; + HEAP32[4905] = $0; return; } function _rlEnd() { @@ -17345,21 +17349,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5264]|0; + $0 = HEAP32[5342]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5265]|0; + $2 = HEAP32[5343]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4824]|0; + $6 = HEAP32[4902]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4754]|0; + $8 = HEAP32[4832]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5265]|0; + $5 = HEAP32[5343]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -17367,12 +17371,12 @@ function _rlEnd() { break; } } - HEAP32[5264] = 0; + HEAP32[5342] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4824]|0; + $11 = HEAP32[4902]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -17381,7 +17385,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5265]|0; + $19 = HEAP32[5343]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -17391,15 +17395,15 @@ function _rlEnd() { } } } else { - HEAP32[5264] = 0; + HEAP32[5342] = 0; } - HEAP32[5265] = 0; + HEAP32[5343] = 0; } - $21 = HEAP32[4827]|0; + $21 = HEAP32[4905]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5086]|0; - $23 = HEAP32[(20352)>>2]|0; + $22 = HEAP32[5164]|0; + $23 = HEAP32[(20664)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[764]; @@ -17418,16 +17422,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(20364)>>2]|0; - $28 = HEAP32[(20352)>>2]|0; + $27 = HEAP32[(20676)>>2]|0; + $28 = HEAP32[(20664)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(20364)>>2]|0; - $35 = HEAP32[(20352)>>2]|0; + $34 = HEAP32[(20676)>>2]|0; + $35 = HEAP32[(20664)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -17435,8 +17439,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(20364)>>2]|0; - $43 = HEAP32[(20352)>>2]|0; + $42 = HEAP32[(20676)>>2]|0; + $43 = HEAP32[(20664)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -17444,8 +17448,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(20364)>>2]|0; - $51 = HEAP32[(20352)>>2]|0; + $50 = HEAP32[(20676)>>2]|0; + $51 = HEAP32[(20664)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -17453,9 +17457,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(20352)>>2]|0; + $58 = HEAP32[(20664)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(20352)>>2] = $59; + HEAP32[(20664)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -17471,8 +17475,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5098]|0; - $62 = HEAP32[(20400)>>2]|0; + $61 = HEAP32[5176]|0; + $62 = HEAP32[(20712)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[764]; @@ -17491,16 +17495,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(20412)>>2]|0; - $67 = HEAP32[(20400)>>2]|0; + $66 = HEAP32[(20724)>>2]|0; + $67 = HEAP32[(20712)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(20412)>>2]|0; - $74 = HEAP32[(20400)>>2]|0; + $73 = HEAP32[(20724)>>2]|0; + $74 = HEAP32[(20712)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -17508,8 +17512,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(20412)>>2]|0; - $82 = HEAP32[(20400)>>2]|0; + $81 = HEAP32[(20724)>>2]|0; + $82 = HEAP32[(20712)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -17517,8 +17521,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(20412)>>2]|0; - $90 = HEAP32[(20400)>>2]|0; + $89 = HEAP32[(20724)>>2]|0; + $90 = HEAP32[(20712)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -17526,9 +17530,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(20400)>>2]|0; + $97 = HEAP32[(20712)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(20400)>>2] = $98; + HEAP32[(20712)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -17544,8 +17548,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5110]|0; - $101 = HEAP32[(20448)>>2]|0; + $100 = HEAP32[5188]|0; + $101 = HEAP32[(20760)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -17553,16 +17557,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(20460)>>2]|0; - $106 = HEAP32[(20448)>>2]|0; + $105 = HEAP32[(20772)>>2]|0; + $106 = HEAP32[(20760)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(20460)>>2]|0; - $113 = HEAP32[(20448)>>2]|0; + $112 = HEAP32[(20772)>>2]|0; + $113 = HEAP32[(20760)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -17570,8 +17574,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(20460)>>2]|0; - $121 = HEAP32[(20448)>>2]|0; + $120 = HEAP32[(20772)>>2]|0; + $121 = HEAP32[(20760)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -17579,8 +17583,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(20460)>>2]|0; - $129 = HEAP32[(20448)>>2]|0; + $128 = HEAP32[(20772)>>2]|0; + $129 = HEAP32[(20760)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -17588,9 +17592,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(20448)>>2]|0; + $136 = HEAP32[(20760)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(20448)>>2] = $137; + HEAP32[(20760)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -17601,8 +17605,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5110]|0; - $140 = HEAP32[(20444)>>2]|0; + $139 = HEAP32[5188]|0; + $140 = HEAP32[(20756)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[764]; @@ -17610,8 +17614,8 @@ function _rlEnd() { HEAPF32[764] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(20456)>>2]|0; - $$promoted = HEAP32[(20444)>>2]|0; + $142 = HEAP32[(20768)>>2]|0; + $$promoted = HEAP32[(20756)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -17619,7 +17623,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(20444)>>2] = $147; + HEAP32[(20756)>>2] = $147; $148 = +HEAPF32[764]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[764] = $149; @@ -17646,11 +17650,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5264]|0; + $3 = HEAP32[5342]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4824]|0; - $6 = HEAP32[5265]|0; + $5 = HEAP32[4902]|0; + $6 = HEAP32[5343]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17658,16 +17662,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5265] = $10; + HEAP32[5343] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4827]|0; + $11 = HEAP32[4905]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5086]|0; + $12 = HEAP32[5164]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(20356)>>2]|0; + $14 = HEAP32[(20668)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17678,7 +17682,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5086] = $21; + HEAP32[5164] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9409,$vararg_buffer); @@ -17687,10 +17691,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[5098]|0; + $22 = HEAP32[5176]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(20404)>>2]|0; + $24 = HEAP32[(20716)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17701,7 +17705,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5098] = $31; + HEAP32[5176] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9434,$vararg_buffer1); @@ -17710,10 +17714,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[5110]|0; + $32 = HEAP32[5188]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(20452)>>2]|0; + $34 = HEAP32[(20764)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17724,9 +17728,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5110] = $41; - $42 = HEAP32[4825]|0; - $43 = HEAP32[4826]|0; + HEAP32[5188] = $41; + $42 = HEAP32[4903]|0; + $43 = HEAP32[4904]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17758,13 +17762,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4827]|0; + $2 = HEAP32[4905]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(20456)>>2]|0; - $5 = HEAP32[(20444)>>2]|0; + $4 = HEAP32[(20768)>>2]|0; + $5 = HEAP32[(20756)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17772,7 +17776,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(20444)>>2] = $10; + HEAP32[(20756)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17791,18 +17795,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4827]|0; + $4 = HEAP32[4905]|0; switch ($4|0) { case 1: { - $$sink37 = (20352);$$sink38 = (20364); + $$sink37 = (20664);$$sink38 = (20676); break; } case 4: { - $$sink37 = (20400);$$sink38 = (20412); + $$sink37 = (20712);$$sink38 = (20724); break; } case 7: { - $$sink37 = (20448);$$sink38 = (20460); + $$sink37 = (20760);$$sink38 = (20772); break; } default: { @@ -17856,8 +17860,8 @@ function _rlEnableTexture($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 = HEAP32[4825]|0; - $2 = HEAP32[4826]|0; + $1 = HEAP32[4903]|0; + $2 = HEAP32[4904]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17870,9 +17874,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4826] = $10; + HEAP32[4904] = $10; } - $11 = HEAP32[4826]|0; + $11 = HEAP32[4904]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17883,7 +17887,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5110]|0; + $0 = HEAP32[5188]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17910,14 +17914,14 @@ function _rlDeleteVertexArrays($0) { $vararg_buffer = sp; $1 = sp + 4|0; HEAP32[$1>>2] = $0; - $2 = HEAP32[4788]|0; + $2 = HEAP32[4866]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = ($0|0)==(0); if (!($4)) { - $5 = HEAP32[4791]|0; + $5 = HEAP32[4869]|0; FUNCTION_TABLE_vii[$5 & 63](1,$1); } $6 = HEAP32[$1>>2]|0; @@ -17938,7 +17942,7 @@ function _rlDeleteBuffers($0) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4788]|0; + $3 = HEAP32[4866]|0; $4 = ($3|0)==(0); if (!($4)) { STACKTOP = sp;return; @@ -18070,12 +18074,12 @@ function _rlglLoadMesh($0,$1) { ;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; HEAP32[$2>>2] = 0; ;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;HEAP32[$3+24>>2]=0|0; - $13 = HEAP32[4788]|0; + $13 = HEAP32[4866]|0; $14 = ($13|0)==(0); if (!($14)) { - $15 = HEAP32[4789]|0; + $15 = HEAP32[4867]|0; FUNCTION_TABLE_vii[$15 & 63](1,$2); - $16 = HEAP32[4790]|0; + $16 = HEAP32[4868]|0; $17 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$16 & 31]($17); } @@ -18205,7 +18209,7 @@ function _rlglLoadMesh($0,$1) { $80 = ((($3)) + 24|0); $81 = HEAP32[$80>>2]|0; HEAP32[$11>>2] = $81; - $82 = HEAP32[4788]|0; + $82 = HEAP32[4866]|0; $83 = ($82|0)==(0); if ($83) { _TraceLog(0,9917,$vararg_buffer3); @@ -18310,13 +18314,13 @@ function _rlglDrawMesh($0,$1,$2) { $63 = $62 / 255.0; _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); } - dest=$3; src=19084; 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)); - dest=$4; src=19020; 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)); + dest=$3; src=19396; 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)); + dest=$4; src=19332; 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)); dest=$modelview$byval_copy4; 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)); - dest=$$byval_copy5; src=19084; 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)); + dest=$$byval_copy5; src=19396; 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)); _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[4796]|0; + $65 = HEAP32[4874]|0; $66 = ($64|0)==($65|0); if (!($66)) { $67 = (_glGetUniformLocation(($64|0),(9965|0))|0); @@ -18392,7 +18396,7 @@ function _rlglDrawMesh($0,$1,$2) { _glUniform1i(($106|0),2); } } - $107 = HEAP32[4788]|0; + $107 = HEAP32[4866]|0; $108 = ($107|0)==(0); if ($108) { $112 = ((($0)) + 40|0); @@ -18472,16 +18476,16 @@ function _rlglDrawMesh($0,$1,$2) { $151 = HEAP32[$150>>2]|0; $152 = ($151|0)==(0|0); if (!($152)) { - $153 = HEAP32[(20484)>>2]|0; + $153 = HEAP32[(20796)>>2]|0; _glBindBuffer(34963,($153|0)); } } else { - $109 = HEAP32[4790]|0; + $109 = HEAP32[4868]|0; $110 = ((($0)) + 36|0); $111 = HEAP32[$110>>2]|0; FUNCTION_TABLE_vi[$109 & 31]($111); } - $154 = HEAP32[5173]|0; + $154 = HEAP32[5251]|0; $155 = ($154|0)!=(0); $$ = $155 ? 2 : 1; $156 = ((($1)) + 28|0); @@ -18495,10 +18499,10 @@ function _rlglDrawMesh($0,$1,$2) { dest=$$byval_copy5; src=$5; 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)); _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); } else { - dest=19084; src=$5; 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)); + dest=19396; src=$5; 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)); } - dest=$modelview$byval_copy4; src=19084; 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)); - dest=$$byval_copy5; src=19020; 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)); + dest=$modelview$byval_copy4; src=19396; 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)); + dest=$$byval_copy5; src=19332; 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)); _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); $162 = HEAP32[$156>>2]|0; dest=$$byval_copy5; src=$6; 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)); @@ -18535,14 +18539,14 @@ function _rlglDrawMesh($0,$1,$2) { } _glActiveTexture(33984); _glBindTexture(3553,0); - $172 = HEAP32[4788]|0; + $172 = HEAP32[4866]|0; $173 = ($172|0)==(0); if (!($173)) { - $174 = HEAP32[4790]|0; + $174 = HEAP32[4868]|0; FUNCTION_TABLE_vi[$174 & 31](0); _glUseProgram(0); - dest=19020; src=$4; 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)); - dest=19084; src=$3; 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)); + dest=19332; src=$4; 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)); + dest=19396; src=$3; 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)); STACKTOP = sp;return; } _glBindBuffer(34962,0); @@ -18551,14 +18555,14 @@ function _rlglDrawMesh($0,$1,$2) { $177 = ($176|0)==(0|0); if ($177) { _glUseProgram(0); - dest=19020; src=$4; 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)); - dest=19084; src=$3; 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)); + dest=19332; src=$4; 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)); + dest=19396; src=$3; 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)); STACKTOP = sp;return; } _glBindBuffer(34963,0); _glUseProgram(0); - dest=19020; src=$4; 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)); - dest=19084; src=$3; 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)); + dest=19332; src=$4; 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)); + dest=19396; src=$3; 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)); STACKTOP = sp;return; } function _rlglUnloadMesh($0) { @@ -18638,7 +18642,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4795]|0; + $1 = HEAP32[4873]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -18661,7 +18665,7 @@ function _LoadText($0) { $$1 = 0; STACKTOP = sp;return ($$1|0); } - $2 = (_fopen($0,12011)|0); + $2 = (_fopen($0,12319)|0); $3 = ($2|0)==(0|0); if ($3) { HEAP32[$vararg_buffer>>2] = $0; @@ -18716,7 +18720,7 @@ function _LoadShader($0,$1,$2) { $11 = ($10|0)==(0); if ($11) { _TraceLog(2,10053,$vararg_buffer); - dest=$3; src=19184; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$3; src=19496; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } dest=$0; src=$3; stop=dest+56|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; @@ -18742,14 +18746,14 @@ function _BeginShaderMode($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - $1 = HEAP32[4810]|0; + $1 = HEAP32[4888]|0; $2 = HEAP32[$0>>2]|0; $3 = ($1|0)==($2|0); if ($3) { return; } _rlglDraw(); - dest=19240; src=$0; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19552; src=$0; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _EndShaderMode() { @@ -18757,7 +18761,7 @@ function _EndShaderMode() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $defaultShader$byval_copy = sp; - dest=$defaultShader$byval_copy; src=19184; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$defaultShader$byval_copy; src=19496; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginShaderMode($defaultShader$byval_copy); STACKTOP = sp;return; } @@ -18765,43 +18769,14 @@ function _GetDefaultShader($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=$0; src=19184; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$0; src=19496; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(10129); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,11462)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5266] = $0; + HEAP32[5344] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -18865,7 +18840,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((10141|0),(10167|0),1125,(10190|0)); + ___assert_fail((10129|0),(10155|0),1041,(10178|0)); // unreachable; } } @@ -18883,7 +18858,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5267]|0; + $15 = HEAP32[5345]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -18976,7 +18951,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(10231); + _stbi__err(10219); $$0 = 0; return ($$0|0); } else { @@ -18998,7 +18973,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(10222); + _stbi__err(10210); $$0 = 0; return ($$0|0); } @@ -19068,7 +19043,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(10250); + _stbi__err(10238); $$045 = 0; return ($$045|0); } @@ -19629,7 +19604,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (10566 + ($120)|0); + $121 = (10554 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -19671,97 +19646,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(10340); + _stbi__err(10328); $$6$ph = 0; break; } case 9: { - _stbi__err(10354); + _stbi__err(10342); $$6$ph = 0; break; } case 11: { - _stbi__err(10367); + _stbi__err(10355); $$6$ph = 0; break; } case 13: { - _stbi__err(10367); + _stbi__err(10355); $$6$ph = 0; break; } case 15: { - _stbi__err(10377); + _stbi__err(10365); $$6$ph = 0; break; } case 17: { - _stbi__err(10397); + _stbi__err(10385); $$6$ph = 0; break; } case 20: { - _stbi__err(10397); + _stbi__err(10385); $$6$ph = 0; break; } case 22: { - _stbi__err(10397); + _stbi__err(10385); $$6$ph = 0; break; } case 24: { - _stbi__err(10407); + _stbi__err(10395); $$6$ph = 0; break; } case 26: { - _stbi__err(10423); + _stbi__err(10411); $$6$ph = 0; break; } case 28: { - _stbi__err(10441); + _stbi__err(10429); $$6$ph = 0; break; } case 31: { - _stbi__err(10462); + _stbi__err(10450); $$6$ph = 0; break; } case 34: { - _stbi__err(10367); + _stbi__err(10355); $$6$ph = 0; break; } case 37: { - _stbi__err(10367); + _stbi__err(10355); $$6$ph = 0; break; } case 39: { - _stbi__err(10476); + _stbi__err(10464); $$6$ph = 0; break; } case 41: { - _stbi__err(10491); + _stbi__err(10479); $$6$ph = 0; break; } case 44: { - _stbi__err(10491); + _stbi__err(10479); $$6$ph = 0; break; } case 47: { - _stbi__err(10476); + _stbi__err(10464); $$6$ph = 0; break; } case 49: { - _stbi__err(10504); + _stbi__err(10492); $$6$ph = 0; break; } @@ -19772,32 +19747,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(10520); + _stbi__err(10508); $$6$ph = 0; break; } case 58: { - _stbi__err(10537); + _stbi__err(10525); $$6$ph = 0; break; } case 61: { - _stbi__err(10550); + _stbi__err(10538); $$6$ph = 0; break; } case 63: { - _stbi__err(10537); + _stbi__err(10525); $$6$ph = 0; break; } case 70: { - _stbi__err(10476); + _stbi__err(10464); $$6$ph = 0; break; } case 72: { - _stbi__err(10575); + _stbi__err(10563); $$6$ph = 0; break; } @@ -19809,12 +19784,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(10222); + _stbi__err(10210); $$6$ph = 0; break; } case 83: { - _stbi__err(10583); + _stbi__err(10571); $$6$ph = 0; break; } @@ -19827,7 +19802,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(10593); + _stbi__err(10581); $$4 = 0; break; } @@ -19892,7 +19867,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5268]|0; + $193 = HEAP32[5346]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -19925,7 +19900,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(10476); + _stbi__err(10464); $$4 = 0; } } while(0); @@ -19933,24 +19908,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(10476); + _stbi__err(10464); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[10601] = $206; + HEAP8[10589] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(10602)>>0] = $209; + HEAP8[(10590)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(10603)>>0] = $211; + HEAP8[(10591)>>0] = $211; $212 = $207&255; - HEAP8[(10604)>>0] = $212; - _stbi__err(10601); + HEAP8[(10592)>>0] = $212; + _stbi__err(10589); $$6$ph = 0; break; } @@ -19984,14 +19959,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10263|0),(10167|0),1561,(10319|0)); + ___assert_fail((10251|0),(10155|0),1477,(10307|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(10222); + _stbi__err(10210); $$0163 = 0; return ($$0163|0); } @@ -20354,7 +20329,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10317|0),(10167|0),1590,(10319|0)); + ___assert_fail((10305|0),(10155|0),1506,(10307|0)); // unreachable; } } while(0); @@ -20388,7 +20363,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10263|0),(10167|0),1610,(10294|0)); + ___assert_fail((10251|0),(10155|0),1526,(10282|0)); // unreachable; } $7 = $2 << 1; @@ -20398,7 +20373,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(10222); + _stbi__err(10210); $$0163 = 0; return ($$0163|0); } @@ -20761,7 +20736,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10317|0),(10167|0),1639,(10294|0)); + ___assert_fail((10305|0),(10155|0),1555,(10282|0)); // unreachable; } } while(0); @@ -20909,7 +20884,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(11258); + _stbi__err(11566); $$05 = 0; return ($$05|0); } @@ -21346,7 +21321,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10660|0),(10167|0),4568,(10712|0)); + ___assert_fail((10648|0),(10155|0),4569,(10700|0)); // unreachable; } } @@ -21433,7 +21408,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10660|0),(10167|0),4543,(10685|0)); + ___assert_fail((10648|0),(10155|0),4544,(10673|0)); // unreachable; } } @@ -21480,7 +21455,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5269]|0; + $16 = HEAP32[5347]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -21555,7 +21530,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((10626|0),(10167|0),4649,(10644|0)); + ___assert_fail((10614|0),(10155|0),4650,(10632|0)); // unreachable; } } @@ -21578,7 +21553,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(10222); + _stbi__err(10210); $$0 = 0; return ($$0|0); } @@ -21755,7 +21730,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10741|0),(10167|0),4294,(10782|0)); + ___assert_fail((10729|0),(10155|0),4294,(10770|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -21763,7 +21738,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(10222); + _stbi__err(10210); $$2 = 0; return ($$2|0); } @@ -21782,7 +21757,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10809); + _stbi__err(10797); $$2 = 0; return ($$2|0); } @@ -21795,7 +21770,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10809); + _stbi__err(10797); $$2 = 0; return ($$2|0); } @@ -21803,12 +21778,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -21831,33 +21806,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10848 + ($56)|0); + $60 = (10836 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -21867,24 +21842,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -21894,10 +21869,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -21908,10 +21883,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -21922,14 +21897,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -21959,7 +21934,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -21974,12 +21949,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -22556,15 +22531,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10827|0),(10167|0),4315,(10782|0)); + ___assert_fail((10815|0),(10155|0),4315,(10770|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10853|0),(10167|0),4376,(10782|0)); + ___assert_fail((10841|0),(10155|0),4377,(10770|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10870); + _stbi__err(10858); $$2 = 0; return ($$2|0); } @@ -22614,7 +22589,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (10566 + ($6)|0); + $336 = (10554 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -23055,7 +23030,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10885|0),(10167|0),4465,(10782|0)); + ___assert_fail((10873|0),(10155|0),4466,(10770|0)); // unreachable; } else if ((label|0) == 151) { @@ -23115,8 +23090,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -23131,15 +23106,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -23148,65 +23123,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(22986)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10884,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,22987,288)|0); + $15 = (_stbi__zbuild_huffman($8,11172,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,22955,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -23225,14 +23195,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(11211); + _stbi__err(11519); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(11227); + _stbi__err(11535); $$0 = 0; return ($$0|0); } @@ -23241,7 +23211,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(11242); + _stbi__err(11550); $$0 = 0; return ($$0|0); } @@ -23324,7 +23294,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((11133|0),(10167|0),4048,(11150|0)); + ___assert_fail((11441|0),(10155|0),4033,(11458|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -23361,7 +23331,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(11181); + _stbi__err(11489); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23371,7 +23341,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(11194); + _stbi__err(11502); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23401,21 +23371,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((22987|0),8,144)|0; - dest=(23131); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(23243); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (23267); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=22955; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -23549,7 +23504,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(11071); + _stbi__err(11379); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23638,7 +23593,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(11123); + _stbi__err(11431); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23667,7 +23622,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11917 + ($$06579)|0); + $14 = (12225 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -23758,21 +23713,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(11071); + _stbi__err(11379); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(11071); + _stbi__err(11379); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((11087|0),(10167|0),4021,(11095|0)); + ___assert_fail((11395|0),(10155|0),4006,(11403|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(11071); + _stbi__err(11379); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23782,7 +23737,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(11071); + _stbi__err(11379); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23946,7 +23901,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10896); + _stbi__err(11204); $$3$ph = 0; return ($$3$ph|0); } @@ -23956,12 +23911,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10896); + _stbi__err(11204); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10913); + _stbi__err(11221); $$3$ph = 0; return ($$3$ph|0); } @@ -24018,7 +23973,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10922); + _stbi__err(11230); $$0 = 0; return ($$0|0); } @@ -24044,7 +23999,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(10222); + _stbi__err(10210); $$0 = 0; return ($$0|0); } else { @@ -24089,7 +24044,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((11018|0),(10167|0),3863,(11055|0)); + ___assert_fail((11326|0),(10155|0),3848,(11363|0)); // unreachable; } else if ((label|0) == 5) { @@ -24137,7 +24092,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10942|0),(10167|0),3891,(10958|0)); + ___assert_fail((11250|0),(10155|0),3876,(11266|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -24165,7 +24120,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10989|0),(10167|0),3781,(11000|0)); + ___assert_fail((11297|0),(10155|0),3766,(11308|0)); // unreachable; } return (0)|0; @@ -24311,10 +24266,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -24325,27 +24280,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,11270)|0); + $6 = (_IsFileExtension($1,11578)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,11323)|0); + $19 = (_IsFileExtension($1,11631)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,11328,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,11636,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,11770)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -24373,7 +24329,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -24390,18 +24346,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11276,$vararg_buffer); + _TraceLog(2,11584,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -24410,34 +24366,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,11364,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,11672,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,11403,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11711,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -24456,11 +24419,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,11462)|0); + $4 = (_fopen($0,11770)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11465,$vararg_buffer); + _TraceLog(2,11773,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -24559,7 +24522,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,11562,$vararg_buffer4); + _TraceLog(0,11870,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -24594,14 +24557,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11608,$vararg_buffer8); + _TraceLog(2,11916,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,11516,$vararg_buffer1); + _TraceLog(2,11824,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -24691,7 +24654,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,11434,$vararg_buffer); + _TraceLog(2,11742,$vararg_buffer); $$0 = $6; } } @@ -24736,27 +24699,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11658,$vararg_buffer); + _TraceLog(2,11966,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11697,$vararg_buffer1); + _TraceLog(2,12005,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11723,$vararg_buffer3); + _TraceLog(2,12031,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11786,$vararg_buffer5); + _TraceLog(2,12094,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11821,$vararg_buffer7); + _TraceLog(2,12129,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11856,$vararg_buffer10); + _TraceLog(0,12164,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -25939,7 +25902,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11913 + ($$361133)|0); + $199 = (12221 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -26369,7 +26332,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11913 + ($$331130)|0); + $186 = (12221 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -26407,7 +26370,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11913 + ($$371134)|0); + $203 = (12221 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -26446,7 +26409,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11917 + ($$421139)|0); + $235 = (12225 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -26853,7 +26816,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11936 + ($495)|0); + $496 = (12244 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -26890,7 +26853,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11940 + ($515)|0); + $516 = (12248 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -27802,7 +27765,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,11944,$vararg_buffer); + _TraceLog(2,12252,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -27835,7 +27798,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[18868>>2]|0;HEAP32[$0+4>>2]=HEAP32[18868+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18868+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18868+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18868+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18868+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18868+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18868+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[19180>>2]|0;HEAP32[$0+4>>2]=HEAP32[19180+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19180+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19180+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19180+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19180+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19180+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19180+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -28269,8 +28232,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(23275,$0,$1)|0); - STACKTOP = sp;return (23275|0); + (_vsprintf(23267,$0,$1)|0); + STACKTOP = sp;return (23267|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -28280,7 +28243,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[5270]|0; + $3 = HEAP32[5348]|0; $4 = HEAP32[925]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -28288,14 +28251,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[5271] = $7; + HEAP32[5349] = $7; HEAP32[925] = $7; $$sink = 0; } - HEAP32[5270] = $$sink; - $8 = HEAP32[5271]|0; + HEAP32[5348] = $$sink; + $8 = HEAP32[5349]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(11973,$$byval_copy)|0); + (_FormatText(12281,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -28304,7 +28267,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(23275,$0,$1,20,$$byval_copy); + _DrawText(23267,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _DrawGrid($0,$1) { @@ -28365,7 +28328,7 @@ function _LoadMesh($0,$1) { $2 = sp + 72|0; $3 = sp + 4|0; dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (_IsFileExtension($1,11981)|0); + $4 = (_IsFileExtension($1,12289)|0); $5 = ($4|0)==(0); if (!($5)) { _LoadOBJ($3,$1); @@ -28374,7 +28337,7 @@ function _LoadMesh($0,$1) { $6 = HEAP32[$2>>2]|0; $7 = ($6|0)==(0); if ($7) { - _TraceLog(2,11986,$vararg_buffer); + _TraceLog(2,12294,$vararg_buffer); } else { _rlglLoadMesh($2,0); } @@ -28447,11 +28410,11 @@ function _LoadOBJ($0,$1) { $13 = sp + 344|0; $14 = sp + 332|0; dest=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $15 = (_fopen($1,12011)|0); + $15 = (_fopen($1,12319)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,12014,$vararg_buffer); + _TraceLog(2,12322,$vararg_buffer); $$sroa$75$0$$sroa_idx = ((($0)) + 32|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;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; dest=$$sroa$75$0$$sroa_idx; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -28471,7 +28434,7 @@ function _LoadOBJ($0,$1) { L12: while(1) { L14: while(1) { HEAP32[$vararg_buffer1>>2] = $2; - (_fscanf($15,12048,$vararg_buffer1)|0); + (_fscanf($15,12356,$vararg_buffer1)|0); $19 = HEAP8[$2>>0]|0; $20 = $19 << 24 >> 24; switch ($20|0) { @@ -28498,7 +28461,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer4>>2] = $2; - (_fscanf($15,12048,$vararg_buffer4)|0); + (_fscanf($15,12356,$vararg_buffer4)|0); $23 = HEAP8[$2>>0]|0; switch ($23<<24>>24) { case 116: { @@ -28563,19 +28526,19 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $$0$ph379$lcssa386; - _TraceLog(3,12051,$vararg_buffer7); + _TraceLog(3,12359,$vararg_buffer7); HEAP32[$vararg_buffer11>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr14>>2] = $$0345$ph372$lcssa389; - _TraceLog(3,12079,$vararg_buffer11); + _TraceLog(3,12387,$vararg_buffer11); HEAP32[$$byval_copy102>>2] = $1; $vararg_ptr18 = ((($$byval_copy102)) + 4|0); HEAP32[$vararg_ptr18>>2] = $$0344$ph376$lcssa388; - _TraceLog(3,12108,$$byval_copy102); + _TraceLog(3,12416,$$byval_copy102); HEAP32[$$byval_copy103>>2] = $1; $vararg_ptr22 = ((($$byval_copy103)) + 4|0); HEAP32[$vararg_ptr22>>2] = $$0346$ph$lcssa; - _TraceLog(3,12135,$$byval_copy103); + _TraceLog(3,12443,$$byval_copy103); $36 = ($$0$ph379$lcssa386*12)|0; $37 = (_malloc($36)|0); $38 = ($$0344$ph376$lcssa388|0)>(0); @@ -28607,7 +28570,7 @@ function _LoadOBJ($0,$1) { L36: while(1) { L38: while(1) { HEAP32[$vararg_buffer23>>2] = $2; - (_fscanf($15,12048,$vararg_buffer23)|0); + (_fscanf($15,12356,$vararg_buffer23)|0); $46 = HEAP8[$2>>0]|0; $47 = $46 << 24 >> 24; switch ($47|0) { @@ -28629,7 +28592,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer26>>2] = $2; - (_fscanf($15,12048,$vararg_buffer26)|0); + (_fscanf($15,12356,$vararg_buffer26)|0); $50 = HEAP8[$2>>0]|0; switch ($50<<24>>24) { case 110: { @@ -28648,10 +28611,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer29>>2] = $51; $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); HEAP32[$vararg_ptr32>>2] = $52; - (_fscanf($15,12164,$vararg_buffer29)|0); + (_fscanf($15,12472,$vararg_buffer29)|0); $53 = (($$0353$ph367397) + 1)|0; HEAP32[$vararg_buffer33>>2] = $2; - (_fscanf($15,12048,$vararg_buffer33)|0); + (_fscanf($15,12356,$vararg_buffer33)|0); $54 = (_feof($15)|0); $55 = ($54|0)==(0); if ($55) { @@ -28668,10 +28631,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr39>>2] = $57; $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); HEAP32[$vararg_ptr40>>2] = $58; - (_fscanf($15,12178,$vararg_buffer36)|0); + (_fscanf($15,12486,$vararg_buffer36)|0); $59 = (($$0354$ph364398) + 1)|0; HEAP32[$vararg_buffer41>>2] = $2; - (_fscanf($15,12048,$vararg_buffer41)|0); + (_fscanf($15,12356,$vararg_buffer41)|0); $60 = (_feof($15)|0); $61 = ($60|0)==(0); if ($61) { @@ -28688,10 +28651,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr47>>2] = $63; $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); HEAP32[$vararg_ptr48>>2] = $64; - (_fscanf($15,12178,$vararg_buffer44)|0); + (_fscanf($15,12486,$vararg_buffer44)|0); $65 = (($$0355$ph400) + 1)|0; HEAP32[$vararg_buffer49>>2] = $2; - (_fscanf($15,12048,$vararg_buffer49)|0); + (_fscanf($15,12356,$vararg_buffer49)|0); $66 = (_feof($15)|0); $67 = ($66|0)==(0); if ($67) { @@ -28714,7 +28677,7 @@ function _LoadOBJ($0,$1) { $76 = ($$0344$ph376$lcssa388|0)==(0); if ($76) { HEAP32[$vararg_buffer52>>2] = $1; - _TraceLog(0,12187,$vararg_buffer52); + _TraceLog(0,12495,$vararg_buffer52); } $77 = ($$0345$ph372$lcssa389|0)==(0); $78 = $$0344$ph376$lcssa388 | $$0345$ph372$lcssa389; @@ -28754,7 +28717,7 @@ function _LoadOBJ($0,$1) { } L55: while(1) { HEAP32[$vararg_buffer55>>2] = $2; - (_fscanf($15,12048,$vararg_buffer55)|0); + (_fscanf($15,12356,$vararg_buffer55)|0); $106 = HEAP8[$2>>0]|0; $107 = $106 << 24 >> 24; switch ($107|0) { @@ -28782,7 +28745,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr61>>2] = $80; $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); HEAP32[$vararg_ptr62>>2] = $81; - (_fscanf($15,12258,$vararg_buffer58)|0); + (_fscanf($15,12566,$vararg_buffer58)|0); } else { if ($76) { HEAP32[$vararg_buffer63>>2] = $vararg_buffer11; @@ -28796,7 +28759,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr69>>2] = $90; $vararg_ptr70 = ((($vararg_buffer63)) + 20|0); HEAP32[$vararg_ptr70>>2] = $91; - (_fscanf($15,12267,$vararg_buffer63)|0); + (_fscanf($15,12575,$vararg_buffer63)|0); break; } if ($77) { @@ -28811,7 +28774,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr77>>2] = $94; $vararg_ptr78 = ((($vararg_buffer71)) + 20|0); HEAP32[$vararg_ptr78>>2] = $95; - (_fscanf($15,12285,$vararg_buffer71)|0); + (_fscanf($15,12593,$vararg_buffer71)|0); break; } else { HEAP32[$vararg_buffer79>>2] = $vararg_buffer11; @@ -28831,7 +28794,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr88>>2] = $100; $vararg_ptr89 = ((($vararg_buffer79)) + 32|0); HEAP32[$vararg_ptr89>>2] = $101; - (_fscanf($15,12306,$vararg_buffer79)|0); + (_fscanf($15,12614,$vararg_buffer79)|0); break; } } @@ -29211,7 +29174,7 @@ function _LoadOBJ($0,$1) { _free($369); _free($370); HEAP32[$vararg_buffer90>>2] = $1; - _TraceLog(0,12333,$vararg_buffer90); + _TraceLog(0,12641,$vararg_buffer90); HEAP32[$0>>2] = $68; $$sroa$12$0$$sroa_idx244 = ((($0)) + 4|0); HEAP32[$$sroa$12$0$$sroa_idx244>>2] = 0; @@ -29290,7 +29253,7 @@ function _UnloadModel($0) { $1 = ((($0)) + 132|0); _memcpy(($$byval_copy|0),($1|0),132)|0; _UnloadMaterial($$byval_copy); - _TraceLog(0,12377,$vararg_buffer); + _TraceLog(0,12685,$vararg_buffer); STACKTOP = sp;return; } function _UnloadMaterial($0) { @@ -29435,7 +29398,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,12435)|0); + $12 = (_strstr($11,12743)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -29444,7 +29407,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,12439)|0); + $17 = (_strstr($16,12747)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -29453,7 +29416,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,12443)|0); + $22 = (_strstr($21,12751)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -29462,7 +29425,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,12447)|0); + $27 = (_strstr($26,12755)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -29471,1210 +29434,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,12453)|0); + $32 = (_strcmp($31,12761)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,12491)|0); + $35 = (_strcmp($34,12799)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 12510; + HEAP32[$3>>2] = 12818; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,12523)|0); + $38 = (_strcmp($37,12831)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 12544; + HEAP32[$3>>2] = 12852; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12559)|0); + $41 = (_strcmp($40,12867)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 12574; + HEAP32[$3>>2] = 12882; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12589)|0); + $44 = (_strcmp($43,12897)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 12604; + HEAP32[$3>>2] = 12912; } } else { - HEAP32[$3>>2] = 12475; + HEAP32[$3>>2] = 12783; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12619)|0); + $47 = (_strcmp($46,12927)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12633)|0); + $50 = (_strcmp($49,12941)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12645)|0); + $53 = (_strcmp($52,12953)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12659)|0); + $56 = (_strcmp($55,12967)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12671)|0); + $59 = (_strcmp($58,12979)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12685)|0); + $62 = (_strcmp($61,12993)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12699)|0); + $65 = (_strcmp($64,13007)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12716)|0); + $68 = (_strcmp($67,13024)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12739)|0); + $71 = (_strcmp($70,13047)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12765)|0); + $74 = (_strcmp($73,13073)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12778)|0); + $77 = (_strcmp($76,13086)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12794)|0); + $80 = (_strcmp($79,13102)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12807)|0); + $83 = (_strcmp($82,13115)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12821)|0); + $86 = (_strcmp($85,13129)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12841)|0); + $89 = (_strcmp($88,13149)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12861)|0); + $92 = (_strcmp($91,13169)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12878)|0); + $95 = (_strcmp($94,13186)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12895)|0); + $98 = (_strcmp($97,13203)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12907)|0); + $101 = (_strcmp($100,13215)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12920)|0); + $104 = (_strcmp($103,13228)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12936)|0); + $107 = (_strcmp($106,13244)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12959)|0); + $110 = (_strcmp($109,13267)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12972)|0); + $113 = (_strcmp($112,13280)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12988)|0); + $116 = (_strcmp($115,13296)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12999)|0); + $119 = (_strcmp($118,13307)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,13018)|0); + $122 = (_strcmp($121,13326)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,13040)|0); + $125 = (_strcmp($124,13348)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,13059)|0); + $128 = (_strcmp($127,13367)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,13088)|0); + $131 = (_strcmp($130,13396)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,13105)|0); + $134 = (_strcmp($133,13413)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,13120)|0); + $137 = (_strcmp($136,13428)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,13135)|0); + $140 = (_strcmp($139,13443)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,13156)|0); + $143 = (_strcmp($142,13464)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,13176)|0); + $146 = (_strcmp($145,13484)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,13196)|0); + $149 = (_strcmp($148,13504)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,13222)|0); + $152 = (_strcmp($151,13530)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,13241)|0); + $155 = (_strcmp($154,13549)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,13253)|0); + $158 = (_strcmp($157,13561)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,13265)|0); + $161 = (_strcmp($160,13573)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,13277)|0); + $164 = (_strcmp($163,13585)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,13289)|0); + $167 = (_strcmp($166,13597)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,13301)|0); + $170 = (_strcmp($169,13609)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,13313)|0); + $173 = (_strcmp($172,13621)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,13325)|0); + $176 = (_strcmp($175,13633)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,13337)|0); + $179 = (_strcmp($178,13645)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,13350)|0); + $182 = (_strcmp($181,13658)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,13363)|0); + $185 = (_strcmp($184,13671)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,13376)|0); + $188 = (_strcmp($187,13684)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,13389)|0); + $191 = (_strcmp($190,13697)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,13402)|0); + $194 = (_strcmp($193,13710)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,13415)|0); + $197 = (_strcmp($196,13723)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,13428)|0); + $200 = (_strcmp($199,13736)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,13441)|0); + $203 = (_strcmp($202,13749)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,13460)|0); + $206 = (_strcmp($205,13768)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,13479)|0); + $209 = (_strcmp($208,13787)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,13498)|0); + $212 = (_strcmp($211,13806)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,13511)|0); + $215 = (_strcmp($214,13819)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,13529)|0); + $218 = (_strcmp($217,13837)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13547)|0); + $221 = (_strcmp($220,13855)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13565)|0); + $224 = (_strcmp($223,13873)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13583)|0); + $227 = (_strcmp($226,13891)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13603)|0); + $230 = (_strcmp($229,13911)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12544)|0); + $233 = (_strcmp($232,12852)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13621)|0); + $236 = (_strcmp($235,13929)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13636)|0); + $239 = (_strcmp($238,13944)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13657)|0); + $242 = (_strcmp($241,13965)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13672)|0); + $245 = (_strcmp($244,13980)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13690)|0); + $248 = (_strcmp($247,13998)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13706)|0); + $251 = (_strcmp($250,14014)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13725)|0); + $254 = (_strcmp($253,14033)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13739)|0); + $257 = (_strcmp($256,14047)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13754)|0); + $260 = (_strcmp($259,14062)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,12475)|0); + $263 = (_strcmp($262,12783)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13765)|0); + $266 = (_strcmp($265,14073)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12574)|0); + $269 = (_strcmp($268,12882)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12604)|0); + $272 = (_strcmp($271,12912)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13781)|0); + $275 = (_strcmp($274,14089)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13808)|0); + $278 = (_strcmp($277,14116)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13822)|0); + $281 = (_strcmp($280,14130)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,12510)|0); + $284 = (_strcmp($283,12818)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13842)|0); + $287 = (_strcmp($286,14150)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13860)|0); + $290 = (_strcmp($289,14168)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13872)|0); + $293 = (_strcmp($292,14180)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13893)|0); + $296 = (_strcmp($295,14201)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13911)|0); + $299 = (_strcmp($298,14219)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13929)|0); + $302 = (_strcmp($301,14237)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13950)|0); + $305 = (_strcmp($304,14258)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13976)|0); + $308 = (_strcmp($307,14284)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13999)|0); + $311 = (_strcmp($310,14307)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,14037)|0); + $314 = (_strcmp($313,14345)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,14053)|0); + $317 = (_strcmp($316,14361)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,14068)|0); + $320 = (_strcmp($319,14376)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,14091)|0); + $323 = (_strcmp($322,14399)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,14104)|0); + $326 = (_strcmp($325,14412)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,14118)|0); + $329 = (_strcmp($328,14426)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,14132)|0); + $332 = (_strcmp($331,14440)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,14152)|0); + $335 = (_strcmp($334,14460)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,14172)|0); + $338 = (_strcmp($337,14480)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,14188)|0); + $341 = (_strcmp($340,14496)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,14206)|0); + $344 = (_strcmp($343,14514)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,14222)|0); + $347 = (_strcmp($346,14530)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,14237)|0); + $350 = (_strcmp($349,14545)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,14259)|0); + $353 = (_strcmp($352,14567)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,14277)|0); + $356 = (_strcmp($355,14585)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,14298)|0); + $359 = (_strcmp($358,14606)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,14316)|0); + $362 = (_strcmp($361,14624)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,14329)|0); + $365 = (_strcmp($364,14637)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,14344)|0); + $368 = (_strcmp($367,14652)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,14358)|0); + $371 = (_strcmp($370,14666)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,14368)|0); + $374 = (_strcmp($373,14676)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,14378)|0); + $377 = (_strcmp($376,14686)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,14400)|0); + $380 = (_strcmp($379,14708)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,14426)|0); + $383 = (_strcmp($382,14734)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,14453)|0); + $386 = (_strcmp($385,14761)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,14466)|0); + $389 = (_strcmp($388,14774)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,14481)|0); + $392 = (_strcmp($391,14789)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,14496)|0); + $395 = (_strcmp($394,14804)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,14520)|0); + $398 = (_strcmp($397,14828)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,14531)|0); + $401 = (_strcmp($400,14839)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14553)|0); + $404 = (_strcmp($403,14861)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14575)|0); + $407 = (_strcmp($406,14883)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14599)|0); + $410 = (_strcmp($409,14907)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14608)|0); + $413 = (_strcmp($412,14916)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14616)|0); + $416 = (_strcmp($415,14924)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14629)|0); + $419 = (_strcmp($418,14937)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14643)|0); + $422 = (_strcmp($421,14951)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14655)|0); + $425 = (_strcmp($424,14963)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14664)|0); + $428 = (_strcmp($427,14972)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14674)|0); + $431 = (_strcmp($430,14982)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14686)|0); + $434 = (_strcmp($433,14994)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14697)|0); + $437 = (_strcmp($436,15005)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14705)|0); + $440 = (_strcmp($439,15013)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14717)|0); + $443 = (_strcmp($442,15025)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14732)|0); + $446 = (_strcmp($445,15040)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14744)|0); + $449 = (_strcmp($448,15052)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14758)|0); + $452 = (_strcmp($451,15066)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14783)|0); + $455 = (_strcmp($454,15091)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14800)|0); + $458 = (_strcmp($457,15108)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14816)|0); + $461 = (_strcmp($460,15124)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14832)|0); + $464 = (_strcmp($463,15140)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14844)|0); + $467 = (_strcmp($466,15152)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14856)|0); + $470 = (_strcmp($469,15164)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14880)|0); + $473 = (_strcmp($472,15188)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14893)|0); + $476 = (_strcmp($475,15201)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14907)|0); + $479 = (_strcmp($478,15215)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14929)|0); + $482 = (_strcmp($481,15237)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14936)|0); + $485 = (_strcmp($484,15244)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14952)|0); + $488 = (_strcmp($487,15260)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14969)|0); + $491 = (_strcmp($490,15277)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14986)|0); + $494 = (_strcmp($493,15294)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,15002)|0); + $497 = (_strcmp($496,15310)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,15018)|0); + $500 = (_strcmp($499,15326)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,15035)|0); + $503 = (_strcmp($502,15343)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,15049)|0); + $506 = (_strcmp($505,15357)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,15061)|0); + $509 = (_strcmp($508,15369)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,15072)|0); + $512 = (_strcmp($511,15380)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,15085)|0); + $515 = (_strcmp($514,15393)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,15095)|0); + $518 = (_strcmp($517,15403)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,15112)|0); + $521 = (_strcmp($520,15420)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,15124)|0); + $524 = (_strcmp($523,15432)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,15146)|0); + $527 = (_strcmp($526,15454)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,15166)|0); + $530 = (_strcmp($529,15474)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,15179)|0); + $533 = (_strcmp($532,15487)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,15201)|0); + $536 = (_strcmp($535,15509)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,15221)|0); + $539 = (_strcmp($538,15529)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,15238)|0); + $542 = (_strcmp($541,15546)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,15255)|0); + $545 = (_strcmp($544,15563)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,15275)|0); + $548 = (_strcmp($547,15583)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -30696,7 +30659,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (21088|0); + return (21400|0); } function ___stdio_close($0) { $0 = $0|0; @@ -31153,7 +31116,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((15392) + ($50)|0); + $49 = ((15700) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -31185,7 +31148,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((15392) + ($$0159)|0); + $60 = ((15700) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -31321,10 +31284,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (15648 + ($128)|0); + $129 = (15956 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((15392) + ($$1160169)|0); + $132 = ((15700) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -31346,7 +31309,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((15392) + ($$4163$be)|0); + $146 = ((15700) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -31397,7 +31360,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((15392) + ($$5$be)|0); + $178 = ((15700) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -31416,7 +31379,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((15392) + ($$1160169)|0); + $122 = ((15700) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -31438,7 +31401,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((15392) + ($$6$be)|0); + $197 = ((15700) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -31500,7 +31463,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((15392) + ($$7$be)|0); + $234 = ((15700) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -31519,7 +31482,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((15392) + ($$8)|0); + $238 = ((15700) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -31538,7 +31501,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((15392) + ($$9$be)|0); + $249 = ((15700) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -32374,7 +32337,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((15657 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((15965 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -32552,7 +32515,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 16121;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 16429;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -32573,7 +32536,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 16121;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 16429;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -32581,8 +32544,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 16121 : (16123); - $$$ = $238 ? $$ : (16122); + $$ = $240 ? 16429 : (16431); + $$$ = $238 ? $$ : (16430); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -32599,7 +32562,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 16121;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 16429;$242 = $167;$243 = $170; label = 66; break; } @@ -32612,7 +32575,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 16121;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 16429;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -32626,7 +32589,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 16131; + $271 = $270 ? $269 : 16439; $$1 = $271; label = 71; break; @@ -32666,7 +32629,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 16121;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 16429;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -32688,8 +32651,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (16121 + ($208)|0); - $$289 = $or$cond283 ? 16121 : $209; + $209 = (16429 + ($208)|0); + $$289 = $or$cond283 ? 16429 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -32710,7 +32673,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 16121;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 16429;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -33240,7 +33203,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (16169 + ($7)|0); + $9 = (16477 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -33598,14 +33561,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 16138; + $$0471 = $14;$$0520 = 1;$$0521 = 16446; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (16139) : (16144); - $$$ = $16 ? $$ : (16141); + $$ = $18 ? (16447) : (16452); + $$$ = $16 ? $$ : (16449); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -33704,7 +33667,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (16169 + ($80)|0); + $81 = (16477 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -34315,7 +34278,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,16185,1); + _out($0,16493,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -34396,7 +34359,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,16185,1); + _out($0,16493,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -34453,9 +34416,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 16157 : 16161; + $29 = $28 ? 16465 : 16469; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 18088 : 16165; + $31 = $28 ? 18396 : 16473; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -34665,7 +34628,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (16187 + ($$016)|0); + $3 = (16495 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -34676,7 +34639,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 16275;$$115 = 87; + $$01214 = 16583;$$115 = 87; label = 5; break; } else { @@ -34686,9 +34649,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 16275; + $$012$lcssa = 16583; } else { - $$01214 = 16275;$$115 = $$016; + $$01214 = 16583;$$115 = $$016; label = 5; } } @@ -35113,7 +35076,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (18079 + ($$0107127)|0); + $27 = (18387 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -35180,7 +35143,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (18088 + ($$2109125)|0); + $58 = (18396 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -37431,7 +37394,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 21152 : $3; + $$ = $5 ? 21464 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -37722,7 +37685,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(18092,$3,4)|0); + $memchr = (_memchr(18400,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -37811,7 +37774,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(18092,$4,4)|0); + $memchr = (_memchr(18400,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -37902,7 +37865,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(21092)>>2]|0; + $38 = HEAP32[(21404)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -37935,13 +37898,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((21156|0)); - return (21164|0); + ___lock((21468|0)); + return (21476|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((21156|0)); + ___unlock((21468|0)); return; } function _fclose($0) { @@ -40201,7 +40164,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 18368; + $2 = 18680; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -40515,7 +40478,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5292]|0; + $3 = HEAP32[5370]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -40534,22 +40497,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5292] = 0; + HEAP32[5370] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5292] = $10; + HEAP32[5370] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5292] = 0; + HEAP32[5370] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5292] = $13; + HEAP32[5370] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -40630,7 +40593,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5293]|0; + $8 = HEAP32[5371]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -40639,7 +40602,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (21212 + ($15<<2)|0); + $16 = (21524 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -40650,9 +40613,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5293] = $24; + HEAP32[5371] = $24; } else { - $25 = HEAP32[(21188)>>2]|0; + $25 = HEAP32[(21500)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -40683,7 +40646,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(21180)>>2]|0; + $37 = HEAP32[(21492)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -40717,7 +40680,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (21212 + ($68<<2)|0); + $69 = (21524 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -40728,10 +40691,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5293] = $77; + HEAP32[5371] = $77; $98 = $77; } else { - $78 = HEAP32[(21188)>>2]|0; + $78 = HEAP32[(21500)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -40764,22 +40727,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(21192)>>2]|0; + $92 = HEAP32[(21504)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (21212 + ($94<<2)|0); + $95 = (21524 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5293] = $100; + HEAP32[5371] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21188)>>2]|0; + $103 = HEAP32[(21500)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -40796,12 +40759,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(21180)>>2] = $84; - HEAP32[(21192)>>2] = $87; + HEAP32[(21492)>>2] = $84; + HEAP32[(21504)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(21176)>>2]|0; + $108 = HEAP32[(21488)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -40829,7 +40792,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21476 + ($132<<2)|0); + $133 = (21788 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -40869,7 +40832,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(21188)>>2]|0; + $155 = HEAP32[(21500)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -40964,7 +40927,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21476 + ($188<<2)|0); + $189 = (21788 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -40975,11 +40938,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(21176)>>2] = $194; + HEAP32[(21488)>>2] = $194; break L73; } } else { - $195 = HEAP32[(21188)>>2]|0; + $195 = HEAP32[(21500)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -41000,7 +40963,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(21188)>>2]|0; + $201 = HEAP32[(21500)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -41030,7 +40993,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(21188)>>2]|0; + $213 = HEAP32[(21500)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -41067,22 +41030,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(21192)>>2]|0; + $231 = HEAP32[(21504)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (21212 + ($233<<2)|0); + $234 = (21524 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5293] = $238; + HEAP32[5371] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21188)>>2]|0; + $241 = HEAP32[(21500)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -41099,8 +41062,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(21180)>>2] = $$0193$lcssa$i; - HEAP32[(21192)>>2] = $157; + HEAP32[(21492)>>2] = $$0193$lcssa$i; + HEAP32[(21504)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -41116,7 +41079,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(21176)>>2]|0; + $250 = HEAP32[(21488)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -41156,7 +41119,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21476 + ($$0358$i<<2)|0); + $278 = (21788 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -41248,7 +41211,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21476 + ($330<<2)|0); + $331 = (21788 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -41292,11 +41255,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(21180)>>2]|0; + $345 = HEAP32[(21492)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(21188)>>2]|0; + $348 = HEAP32[(21500)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -41393,7 +41356,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21476 + ($381<<2)|0); + $382 = (21788 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -41404,12 +41367,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(21176)>>2] = $387; + HEAP32[(21488)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(21188)>>2]|0; + $388 = HEAP32[(21500)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -41431,7 +41394,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(21188)>>2]|0; + $394 = HEAP32[(21500)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -41463,7 +41426,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(21188)>>2]|0; + $406 = HEAP32[(21500)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -41504,20 +41467,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (21212 + ($425<<2)|0); - $427 = HEAP32[5293]|0; + $426 = (21524 + ($425<<2)|0); + $427 = HEAP32[5371]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5293] = $431; + HEAP32[5371] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21188)>>2]|0; + $434 = HEAP32[(21500)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -41569,7 +41532,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21476 + ($$0361$i<<2)|0); + $464 = (21788 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -41581,7 +41544,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(21176)>>2] = $472; + HEAP32[(21488)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -41620,7 +41583,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(21188)>>2]|0; + $491 = HEAP32[(21500)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -41639,7 +41602,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21188)>>2]|0; + $498 = HEAP32[(21500)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -41672,16 +41635,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(21180)>>2]|0; + $506 = HEAP32[(21492)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21192)>>2]|0; + $509 = HEAP32[(21504)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(21192)>>2] = $511; - HEAP32[(21180)>>2] = $508; + HEAP32[(21504)>>2] = $511; + HEAP32[(21492)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -41691,8 +41654,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(21180)>>2] = 0; - HEAP32[(21192)>>2] = 0; + HEAP32[(21492)>>2] = 0; + HEAP32[(21504)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -41706,14 +41669,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(21184)>>2]|0; + $524 = HEAP32[(21496)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(21184)>>2] = $526; - $527 = HEAP32[(21196)>>2]|0; + HEAP32[(21496)>>2] = $526; + $527 = HEAP32[(21508)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(21196)>>2] = $528; + HEAP32[(21508)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -41724,23 +41687,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5411]|0; + $534 = HEAP32[5489]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(21652)>>2] = 4096; - HEAP32[(21648)>>2] = 4096; - HEAP32[(21656)>>2] = -1; - HEAP32[(21660)>>2] = -1; - HEAP32[(21664)>>2] = 0; - HEAP32[(21616)>>2] = 0; + HEAP32[(21964)>>2] = 4096; + HEAP32[(21960)>>2] = 4096; + HEAP32[(21968)>>2] = -1; + HEAP32[(21972)>>2] = -1; + HEAP32[(21976)>>2] = 0; + HEAP32[(21928)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5411] = $538; + HEAP32[5489] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(21652)>>2]|0; + $$pre$i212 = HEAP32[(21964)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -41753,10 +41716,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(21612)>>2]|0; + $546 = HEAP32[(21924)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(21604)>>2]|0; + $548 = HEAP32[(21916)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -41766,18 +41729,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(21616)>>2]|0; + $552 = HEAP32[(21928)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(21196)>>2]|0; + $555 = HEAP32[(21508)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (21620); + $$0$i$i = (21932); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -41835,7 +41798,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(21648)>>2]|0; + $569 = HEAP32[(21960)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -41845,13 +41808,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21604)>>2]|0; + $578 = HEAP32[(21916)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(21612)>>2]|0; + $582 = HEAP32[(21924)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -41897,7 +41860,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(21652)>>2]|0; + $601 = HEAP32[(21964)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -41922,9 +41885,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(21616)>>2]|0; + $611 = HEAP32[(21928)>>2]|0; $612 = $611 | 4; - HEAP32[(21616)>>2] = $612; + HEAP32[(21928)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -41960,35 +41923,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(21604)>>2]|0; + $626 = HEAP32[(21916)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(21604)>>2] = $627; - $628 = HEAP32[(21608)>>2]|0; + HEAP32[(21916)>>2] = $627; + $628 = HEAP32[(21920)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(21608)>>2] = $627; + HEAP32[(21920)>>2] = $627; } - $630 = HEAP32[(21196)>>2]|0; + $630 = HEAP32[(21508)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(21188)>>2]|0; + $632 = HEAP32[(21500)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(21188)>>2] = $$749$i; + HEAP32[(21500)>>2] = $$749$i; } - HEAP32[(21620)>>2] = $$749$i; - HEAP32[(21624)>>2] = $$723948$i; - HEAP32[(21632)>>2] = 0; - $635 = HEAP32[5411]|0; - HEAP32[(21208)>>2] = $635; - HEAP32[(21204)>>2] = -1; + HEAP32[(21932)>>2] = $$749$i; + HEAP32[(21936)>>2] = $$723948$i; + HEAP32[(21944)>>2] = 0; + $635 = HEAP32[5489]|0; + HEAP32[(21520)>>2] = $635; + HEAP32[(21516)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (21212 + ($636<<2)|0); + $637 = (21524 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -42011,18 +41974,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(21196)>>2] = $649; - HEAP32[(21184)>>2] = $650; + HEAP32[(21508)>>2] = $649; + HEAP32[(21496)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(21660)>>2]|0; - HEAP32[(21200)>>2] = $655; + $655 = HEAP32[(21972)>>2]|0; + HEAP32[(21512)>>2] = $655; } else { - $$024371$i = (21620); + $$024371$i = (21932); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -42054,7 +42017,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(21184)>>2]|0; + $671 = HEAP32[(21496)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -42065,30 +42028,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(21196)>>2] = $679; - HEAP32[(21184)>>2] = $681; + HEAP32[(21508)>>2] = $679; + HEAP32[(21496)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(21660)>>2]|0; - HEAP32[(21200)>>2] = $686; + $686 = HEAP32[(21972)>>2]|0; + HEAP32[(21512)>>2] = $686; break; } } } - $687 = HEAP32[(21188)>>2]|0; + $687 = HEAP32[(21500)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(21188)>>2] = $$749$i; + HEAP32[(21500)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (21620); + $$124470$i = (21932); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -42143,21 +42106,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(21184)>>2]|0; + $726 = HEAP32[(21496)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(21184)>>2] = $727; - HEAP32[(21196)>>2] = $721; + HEAP32[(21496)>>2] = $727; + HEAP32[(21508)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(21192)>>2]|0; + $730 = HEAP32[(21504)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(21180)>>2]|0; + $732 = HEAP32[(21492)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(21180)>>2] = $733; - HEAP32[(21192)>>2] = $721; + HEAP32[(21492)>>2] = $733; + HEAP32[(21504)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -42180,7 +42143,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (21212 + ($748<<2)|0); + $749 = (21524 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -42203,9 +42166,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5293]|0; + $759 = HEAP32[5371]|0; $760 = $759 & $758; - HEAP32[5293] = $760; + HEAP32[5371] = $760; break; } $761 = ($747|0)==($749|0); @@ -42318,7 +42281,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21476 + ($796<<2)|0); + $797 = (21788 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -42330,12 +42293,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(21176)>>2]|0; + $802 = HEAP32[(21488)>>2]|0; $803 = $802 & $801; - HEAP32[(21176)>>2] = $803; + HEAP32[(21488)>>2] = $803; break L314; } else { - $804 = HEAP32[(21188)>>2]|0; + $804 = HEAP32[(21500)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -42356,7 +42319,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(21188)>>2]|0; + $810 = HEAP32[(21500)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -42388,7 +42351,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(21188)>>2]|0; + $822 = HEAP32[(21500)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -42421,21 +42384,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (21212 + ($836<<2)|0); - $838 = HEAP32[5293]|0; + $837 = (21524 + ($836<<2)|0); + $838 = HEAP32[5371]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5293] = $842; + HEAP32[5371] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21188)>>2]|0; + $845 = HEAP32[(21500)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -42490,20 +42453,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21476 + ($$0296$i$i<<2)|0); + $875 = (21788 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(21176)>>2]|0; + $879 = HEAP32[(21488)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(21176)>>2] = $883; + HEAP32[(21488)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -42542,7 +42505,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(21188)>>2]|0; + $902 = HEAP32[(21500)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -42561,7 +42524,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21188)>>2]|0; + $909 = HEAP32[(21500)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -42588,7 +42551,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (21620); + $$0$i$i$i = (21932); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -42629,23 +42592,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(21196)>>2] = $946; - HEAP32[(21184)>>2] = $947; + HEAP32[(21508)>>2] = $946; + HEAP32[(21496)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(21660)>>2]|0; - HEAP32[(21200)>>2] = $952; + $952 = HEAP32[(21972)>>2]|0; + HEAP32[(21512)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(21620)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21620)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21620)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21620)+12>>2]|0; - HEAP32[(21620)>>2] = $$749$i; - HEAP32[(21624)>>2] = $$723948$i; - HEAP32[(21632)>>2] = 0; - HEAP32[(21628)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(21932)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21932)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21932)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21932)+12>>2]|0; + HEAP32[(21932)>>2] = $$749$i; + HEAP32[(21936)>>2] = $$723948$i; + HEAP32[(21944)>>2] = 0; + HEAP32[(21940)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -42674,20 +42637,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (21212 + ($968<<2)|0); - $970 = HEAP32[5293]|0; + $969 = (21524 + ($968<<2)|0); + $970 = HEAP32[5371]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5293] = $974; + HEAP32[5371] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21188)>>2]|0; + $977 = HEAP32[(21500)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -42739,19 +42702,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21476 + ($$0212$i$i<<2)|0); + $1007 = (21788 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21176)>>2]|0; + $1010 = HEAP32[(21488)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(21176)>>2] = $1014; + HEAP32[(21488)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -42790,7 +42753,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(21188)>>2]|0; + $1033 = HEAP32[(21500)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -42809,7 +42772,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21188)>>2]|0; + $1040 = HEAP32[(21500)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -42832,14 +42795,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(21184)>>2]|0; + $1048 = HEAP32[(21496)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(21184)>>2] = $1050; - $1051 = HEAP32[(21196)>>2]|0; + HEAP32[(21496)>>2] = $1050; + $1051 = HEAP32[(21508)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(21196)>>2] = $1052; + HEAP32[(21508)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -42882,7 +42845,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(21188)>>2]|0; + $3 = HEAP32[(21500)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -42915,7 +42878,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(21192)>>2]|0; + $19 = HEAP32[(21504)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -42930,7 +42893,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(21180)>>2] = $17; + HEAP32[(21492)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -42944,7 +42907,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (21212 + ($27<<2)|0); + $28 = (21524 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -42964,9 +42927,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5293]|0; + $37 = HEAP32[5371]|0; $38 = $37 & $36; - HEAP32[5293] = $38; + HEAP32[5371] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -43080,7 +43043,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21476 + ($74<<2)|0); + $75 = (21788 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -43090,14 +43053,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(21176)>>2]|0; + $80 = HEAP32[(21488)>>2]|0; $81 = $80 & $79; - HEAP32[(21176)>>2] = $81; + HEAP32[(21488)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(21188)>>2]|0; + $82 = HEAP32[(21500)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -43119,7 +43082,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(21188)>>2]|0; + $88 = HEAP32[(21500)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -43151,7 +43114,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(21188)>>2]|0; + $100 = HEAP32[(21500)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -43186,14 +43149,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(21196)>>2]|0; + $120 = HEAP32[(21508)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(21192)>>2]|0; + $122 = HEAP32[(21504)>>2]|0; if ($121) { - $123 = HEAP32[(21184)>>2]|0; + $123 = HEAP32[(21496)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(21184)>>2] = $124; - HEAP32[(21196)>>2] = $$1; + HEAP32[(21496)>>2] = $124; + HEAP32[(21508)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -43201,16 +43164,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(21192)>>2] = 0; - HEAP32[(21180)>>2] = 0; + HEAP32[(21504)>>2] = 0; + HEAP32[(21492)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(21180)>>2]|0; + $129 = HEAP32[(21492)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(21180)>>2] = $130; - HEAP32[(21192)>>2] = $113; + HEAP32[(21492)>>2] = $130; + HEAP32[(21504)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -43229,10 +43192,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (21212 + ($142<<2)|0); + $143 = (21524 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(21188)>>2]|0; + $145 = HEAP32[(21500)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -43250,9 +43213,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5293]|0; + $153 = HEAP32[5371]|0; $154 = $153 & $152; - HEAP32[5293] = $154; + HEAP32[5371] = $154; break; } $155 = ($141|0)==($143|0); @@ -43260,7 +43223,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(21188)>>2]|0; + $156 = HEAP32[(21500)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -43320,7 +43283,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(21188)>>2]|0; + $189 = HEAP32[(21500)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -43333,7 +43296,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21188)>>2]|0; + $169 = HEAP32[(21500)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -43364,7 +43327,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21476 + ($193<<2)|0); + $194 = (21788 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -43374,13 +43337,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(21176)>>2]|0; + $199 = HEAP32[(21488)>>2]|0; $200 = $199 & $198; - HEAP32[(21176)>>2] = $200; + HEAP32[(21488)>>2] = $200; break L108; } } else { - $201 = HEAP32[(21188)>>2]|0; + $201 = HEAP32[(21500)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -43401,7 +43364,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(21188)>>2]|0; + $207 = HEAP32[(21500)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -43431,7 +43394,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(21188)>>2]|0; + $219 = HEAP32[(21500)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -43452,10 +43415,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(21192)>>2]|0; + $226 = HEAP32[(21504)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(21180)>>2] = $135; + HEAP32[(21492)>>2] = $135; return; } else { $$2 = $135; @@ -43474,20 +43437,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (21212 + ($234<<2)|0); - $236 = HEAP32[5293]|0; + $235 = (21524 + ($234<<2)|0); + $236 = HEAP32[5371]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5293] = $240; + HEAP32[5371] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21188)>>2]|0; + $243 = HEAP32[(21500)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -43539,21 +43502,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21476 + ($$0396<<2)|0); + $273 = (21788 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(21176)>>2]|0; + $277 = HEAP32[(21488)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(21176)>>2] = $281; + HEAP32[(21488)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -43591,7 +43554,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(21188)>>2]|0; + $300 = HEAP32[(21500)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -43610,7 +43573,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21188)>>2]|0; + $307 = HEAP32[(21500)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -43632,12 +43595,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(21204)>>2]|0; + $314 = HEAP32[(21516)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(21204)>>2] = $315; + HEAP32[(21516)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (21628); + $$0212$in$i = (21940); } else { return; } @@ -43651,7 +43614,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(21204)>>2] = -1; + HEAP32[(21516)>>2] = -1; return; } function _realloc($0,$1) { @@ -43723,7 +43686,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(21188)>>2]|0; + $6 = HEAP32[(21500)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -43753,7 +43716,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(21652)>>2]|0; + $18 = HEAP32[(21964)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -43789,10 +43752,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(21196)>>2]|0; + $34 = HEAP32[(21508)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(21184)>>2]|0; + $36 = HEAP32[(21496)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -43808,15 +43771,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(21196)>>2] = $40; - HEAP32[(21184)>>2] = $39; + HEAP32[(21508)>>2] = $40; + HEAP32[(21496)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(21192)>>2]|0; + $46 = HEAP32[(21504)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(21180)>>2]|0; + $48 = HEAP32[(21492)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -43852,8 +43815,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(21180)>>2] = $storemerge1; - HEAP32[(21192)>>2] = $storemerge; + HEAP32[(21492)>>2] = $storemerge1; + HEAP32[(21504)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -43880,7 +43843,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (21212 + ($81<<2)|0); + $82 = (21524 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -43900,9 +43863,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5293]|0; + $91 = HEAP32[5371]|0; $92 = $91 & $90; - HEAP32[5293] = $92; + HEAP32[5371] = $92; break; } $93 = ($80|0)==($82|0); @@ -44011,7 +43974,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (21476 + ($128<<2)|0); + $129 = (21788 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -44021,13 +43984,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(21176)>>2]|0; + $134 = HEAP32[(21488)>>2]|0; $135 = $134 & $133; - HEAP32[(21176)>>2] = $135; + HEAP32[(21488)>>2] = $135; break L49; } } else { - $136 = HEAP32[(21188)>>2]|0; + $136 = HEAP32[(21500)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -44048,7 +44011,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(21188)>>2]|0; + $142 = HEAP32[(21500)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -44078,7 +44041,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(21188)>>2]|0; + $154 = HEAP32[(21500)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -44163,13 +44126,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(21188)>>2]|0; + $13 = HEAP32[(21500)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(21192)>>2]|0; + $15 = HEAP32[(21504)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -44184,7 +44147,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(21180)>>2] = $12; + HEAP32[(21492)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -44198,7 +44161,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (21212 + ($23<<2)|0); + $24 = (21524 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -44218,9 +44181,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5293]|0; + $33 = HEAP32[5371]|0; $34 = $33 & $32; - HEAP32[5293] = $34; + HEAP32[5371] = $34; $$1 = $11;$$1418 = $12; break; } @@ -44334,7 +44297,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (21476 + ($70<<2)|0); + $71 = (21788 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -44344,14 +44307,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(21176)>>2]|0; + $76 = HEAP32[(21488)>>2]|0; $77 = $76 & $75; - HEAP32[(21176)>>2] = $77; + HEAP32[(21488)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(21188)>>2]|0; + $78 = HEAP32[(21500)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -44373,7 +44336,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(21188)>>2]|0; + $84 = HEAP32[(21500)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -44405,7 +44368,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(21188)>>2]|0; + $96 = HEAP32[(21500)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -44424,7 +44387,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(21188)>>2]|0; + $108 = HEAP32[(21500)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -44435,14 +44398,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(21196)>>2]|0; + $114 = HEAP32[(21508)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(21192)>>2]|0; + $116 = HEAP32[(21504)>>2]|0; if ($115) { - $117 = HEAP32[(21184)>>2]|0; + $117 = HEAP32[(21496)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(21184)>>2] = $118; - HEAP32[(21196)>>2] = $$1; + HEAP32[(21496)>>2] = $118; + HEAP32[(21508)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -44450,16 +44413,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(21192)>>2] = 0; - HEAP32[(21180)>>2] = 0; + HEAP32[(21504)>>2] = 0; + HEAP32[(21492)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(21180)>>2]|0; + $123 = HEAP32[(21492)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(21180)>>2] = $124; - HEAP32[(21192)>>2] = $$1; + HEAP32[(21492)>>2] = $124; + HEAP32[(21504)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -44478,7 +44441,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (21212 + ($136<<2)|0); + $137 = (21524 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -44498,9 +44461,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5293]|0; + $146 = HEAP32[5371]|0; $147 = $146 & $145; - HEAP32[5293] = $147; + HEAP32[5371] = $147; break; } $148 = ($135|0)==($137|0); @@ -44609,7 +44572,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (21476 + ($183<<2)|0); + $184 = (21788 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -44619,13 +44582,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(21176)>>2]|0; + $189 = HEAP32[(21488)>>2]|0; $190 = $189 & $188; - HEAP32[(21176)>>2] = $190; + HEAP32[(21488)>>2] = $190; break L96; } } else { - $191 = HEAP32[(21188)>>2]|0; + $191 = HEAP32[(21500)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -44646,7 +44609,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(21188)>>2]|0; + $197 = HEAP32[(21500)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -44676,7 +44639,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(21188)>>2]|0; + $209 = HEAP32[(21500)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -44697,10 +44660,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(21192)>>2]|0; + $216 = HEAP32[(21504)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(21180)>>2] = $129; + HEAP32[(21492)>>2] = $129; return; } else { $$2 = $129; @@ -44719,20 +44682,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (21212 + ($224<<2)|0); - $226 = HEAP32[5293]|0; + $225 = (21524 + ($224<<2)|0); + $226 = HEAP32[5371]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5293] = $230; + HEAP32[5371] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(21188)>>2]|0; + $233 = HEAP32[(21500)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -44784,20 +44747,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (21476 + ($$0431<<2)|0); + $263 = (21788 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(21176)>>2]|0; + $267 = HEAP32[(21488)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(21176)>>2] = $271; + HEAP32[(21488)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -44836,7 +44799,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(21188)>>2]|0; + $290 = HEAP32[(21500)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -44854,7 +44817,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(21188)>>2]|0; + $297 = HEAP32[(21500)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/shaders/shaders_postprocessing.png b/docs/examples/web/shaders/shaders_postprocessing.png similarity index 100% rename from docs/examples/img/shaders/shaders_postprocessing.png rename to docs/examples/web/shaders/shaders_postprocessing.png diff --git a/docs/examples/web/shaders/shaders_shapes_textures.c b/docs/examples/web/shaders/shaders_shapes_textures.c index c9bdf8e5a..4e3475dfc 100644 --- a/docs/examples/web/shaders/shaders_shapes_textures.c +++ b/docs/examples/web/shaders/shaders_shapes_textures.c @@ -18,9 +18,6 @@ #include "raylib.h" -#include -#include - #if defined(PLATFORM_WEB) #include #endif @@ -31,7 +28,7 @@ int screenWidth = 800; int screenHeight = 450; -Texture2D sonic; +Texture2D fudesumi; Shader shader; //---------------------------------------------------------------------------------- @@ -48,7 +45,7 @@ int main() //-------------------------------------------------------------------------------------- InitWindow(screenWidth, screenHeight, "raylib [shaders] example - shapes and texture shaders"); - sonic = LoadTexture("resources/texture_formats/sonic.png"); + fudesumi = LoadTexture("resources/fudesumi.png"); // NOTE: Using GLSL 330 shader version, on OpenGL ES 2.0 use GLSL 100 shader version shader = LoadShader("resources/shaders/glsl100/base.vs", @@ -71,10 +68,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - UnloadShader(shader); // Unload shader - UnloadTexture(sonic); // Unload texture + UnloadShader(shader); // Unload shader + UnloadTexture(fudesumi); // Unload texture - CloseWindow(); // Close window and OpenGL context + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; @@ -108,11 +105,11 @@ void UpdateDrawFrame(void) // Activate our custom shader to be applied on next shapes/textures drawings BeginShaderMode(shader); - DrawText("USING CUSTOM SHADER", 190, 40, 10, RED); + DrawText("USING CUSTOM SHADER", 190, 40, 10, RED); - DrawRectangle(250 - 60, 90, 120, 60, RED); - DrawRectangleGradient(250 - 90, 170, 180, 130, MAROON, GOLD); - DrawRectangleLines(250 - 40, 320, 80, 60, ORANGE); + DrawRectangle(250 - 60, 90, 120, 60, RED); + DrawRectangleGradient(250 - 90, 170, 180, 130, MAROON, GOLD); + DrawRectangleLines(250 - 40, 320, 80, 60, ORANGE); // Activate our default shader for next drawings EndShaderMode(); @@ -132,7 +129,7 @@ void UpdateDrawFrame(void) // Activate our custom shader to be applied on next shapes/textures drawings BeginShaderMode(shader); - DrawTexture(sonic, 380, -10, WHITE); // Using custom shader + DrawTexture(fudesumi, 500, -30, WHITE); // Using custom shader // Activate our default shader for next drawings EndShaderMode(); diff --git a/docs/examples/web/shaders/shaders_shapes_textures.data b/docs/examples/web/shaders/shaders_shapes_textures.data index a2cc34533..32c1acf1b 100644 Binary files a/docs/examples/web/shaders/shaders_shapes_textures.data and b/docs/examples/web/shaders/shaders_shapes_textures.data differ diff --git a/docs/examples/web/shaders/shaders_shapes_textures.js b/docs/examples/web/shaders/shaders_shapes_textures.js index 8b376b83b..dced98c8c 100644 --- a/docs/examples/web/shaders/shaders_shapes_textures.js +++ b/docs/examples/web/shaders/shaders_shapes_textures.js @@ -184,7 +184,7 @@ Module['FS_createPath']('/resources/shaders', 'glsl100', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 116512, "filename": "/resources/sonic.png"}, {"audio": 0, "start": 116512, "crunched": 0, "end": 117117, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 117117, "crunched": 0, "end": 117782, "filename": "/resources/shaders/glsl100/grayscale.fs"}], "remote_package_size": 117782, "package_uuid": "44b4251c-5e3b-4605-a73c-5c3c79798d91"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 219234, "filename": "/resources/fudesumi.png"}, {"audio": 0, "start": 219234, "crunched": 0, "end": 219839, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 219839, "crunched": 0, "end": 220504, "filename": "/resources/shaders/glsl100/grayscale.fs"}], "remote_package_size": 220504, "package_uuid": "ac712aa0-34b5-4bcd-9af8-2b41f6fb6eff"}); })(); @@ -1777,12 +1777,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 22208; +STATICTOP = STATIC_BASE + 22176; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,183,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,115,104,97,112,101,115,32,97,110,100,32,116,101,120,116,117,114,101,32,115,104,97,100,101,114,115,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,95,102,111,114,109,97,116,115,47,115,111,110,105,99,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,103,114,97,121,115,99,97,108,101,46,102,115,0,85,83,73,78,71,32,68,69,70,65,85,76,84,32,83,72,65,68,69,82,0,85,83,73,78,71,32,67,85,83,84,79,77,32,83,72,65,68,69,82,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,116,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,159,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,115,104,97,112,101,115,32,97,110,100,32,116,101,120,116,117,114,101,32,115,104,97,100,101,114,115,0,114,101,115,111,117,114,99,101,115,47,102,117,100,101,115,117,109,105,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,103,114,97,121,115,99,97,108,101,46,102,115,0,85,83,73,78,71,32,68,69,70,65,85,76,84,32,83,72,65,68,69,82,0,85,83,73,78,71,32,67,85,83,84,79,77,32,83,72,65,68,69,82,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,116,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10463,24 +10463,24 @@ function getTempRet0() { } function _main() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $sonic$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $fudesumi$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $sonic$byval_copy = sp + 80|0; + $fudesumi$byval_copy = sp + 80|0; $0 = sp + 56|0; $1 = sp; $2 = HEAP32[2]|0; $3 = HEAP32[3]|0; _InitWindow($2,$3,3996); _LoadTexture($0,4050); - ;HEAP32[16624>>2]=HEAP32[$0>>2]|0;HEAP32[16624+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16624+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16624+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16624+16>>2]=HEAP32[$0+16>>2]|0; - _LoadShader($1,4086,4120); - dest=16644; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[16920>>2]=HEAP32[$0>>2]|0;HEAP32[16920+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16920+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16920+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16920+16>>2]=HEAP32[$0+16>>2]|0; + _LoadShader($1,4073,4107); + dest=16940; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _emscripten_set_main_loop((1|0),0,1); - dest=$sonic$byval_copy; src=16644; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _UnloadShader($sonic$byval_copy); - ;HEAP32[$sonic$byval_copy>>2]=HEAP32[16624>>2]|0;HEAP32[$sonic$byval_copy+4>>2]=HEAP32[16624+4>>2]|0;HEAP32[$sonic$byval_copy+8>>2]=HEAP32[16624+8>>2]|0;HEAP32[$sonic$byval_copy+12>>2]=HEAP32[16624+12>>2]|0;HEAP32[$sonic$byval_copy+16>>2]=HEAP32[16624+16>>2]|0; - _UnloadTexture($sonic$byval_copy); + dest=$fudesumi$byval_copy; src=16940; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _UnloadShader($fudesumi$byval_copy); + ;HEAP32[$fudesumi$byval_copy>>2]=HEAP32[16920>>2]|0;HEAP32[$fudesumi$byval_copy+4>>2]=HEAP32[16920+4>>2]|0;HEAP32[$fudesumi$byval_copy+8>>2]=HEAP32[16920+8>>2]|0;HEAP32[$fudesumi$byval_copy+12>>2]=HEAP32[16920+12>>2]|0;HEAP32[$fudesumi$byval_copy+16>>2]=HEAP32[16920+16>>2]|0; + _UnloadTexture($fudesumi$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; } @@ -10488,12 +10488,12 @@ function _UpdateDrawFrame() { var $$byval_copy16 = 0, $$byval_copy17 = 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; 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, $8 = 0, $9 = 0, $sonic$byval_copy = 0, $tmpcast$byval_copy = 0, dest = 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, $8 = 0, $9 = 0, $fudesumi$byval_copy = 0, $tmpcast$byval_copy = 0, dest = 0; var label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); $tmpcast$byval_copy = sp + 104|0; - $sonic$byval_copy = sp + 80|0; + $fudesumi$byval_copy = sp + 80|0; $$byval_copy17 = sp + 72|0; $$byval_copy16 = sp + 64|0; $0 = sp + 216|0; @@ -10537,7 +10537,7 @@ function _UpdateDrawFrame() { $28 = ((($1)) + 3|0); HEAP8[$28>>0] = -1; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; - _DrawText(4159,20,40,10,$tmpcast$byval_copy); + _DrawText(4146,20,40,10,$tmpcast$byval_copy); HEAP8[$2>>0] = 0; $29 = ((($2)) + 1|0); HEAP8[$29>>0] = 82; @@ -10561,9 +10561,9 @@ function _UpdateDrawFrame() { HEAP8[$36>>0] = -1; $37 = ((($4)) + 3|0); HEAP8[$37>>0] = -1; - ;HEAP8[$sonic$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$sonic$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$sonic$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$sonic$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + ;HEAP8[$fudesumi$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$fudesumi$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$fudesumi$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$fudesumi$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$4>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$4+3>>0]|0; - _DrawCircleGradient(80,220,60.0,$sonic$byval_copy,$tmpcast$byval_copy); + _DrawCircleGradient(80,220,60.0,$fudesumi$byval_copy,$tmpcast$byval_copy); HEAP8[$5>>0] = 0; $38 = ((($5)) + 1|0); HEAP8[$38>>0] = 82; @@ -10573,7 +10573,7 @@ function _UpdateDrawFrame() { HEAP8[$40>>0] = -1; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$5>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$5+3>>0]|0; _DrawCircleLines(80,340,80.0,$tmpcast$byval_copy); - dest=$tmpcast$byval_copy; src=16644; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$tmpcast$byval_copy; src=16940; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginShaderMode($tmpcast$byval_copy); HEAP8[$6>>0] = -26; $41 = ((($6)) + 1|0); @@ -10583,7 +10583,7 @@ function _UpdateDrawFrame() { $43 = ((($6)) + 3|0); HEAP8[$43>>0] = -1; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$6>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$6+3>>0]|0; - _DrawText(4180,190,40,10,$tmpcast$byval_copy); + _DrawText(4167,190,40,10,$tmpcast$byval_copy); HEAP8[$7>>0] = -26; $44 = ((($7)) + 1|0); HEAP8[$44>>0] = 41; @@ -10607,9 +10607,9 @@ function _UpdateDrawFrame() { HEAP8[$51>>0] = 0; $52 = ((($9)) + 3|0); HEAP8[$52>>0] = -1; - ;HEAP8[$sonic$byval_copy>>0]=HEAP8[$8>>0]|0;HEAP8[$sonic$byval_copy+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$sonic$byval_copy+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$sonic$byval_copy+3>>0]=HEAP8[$8+3>>0]|0; + ;HEAP8[$fudesumi$byval_copy>>0]=HEAP8[$8>>0]|0;HEAP8[$fudesumi$byval_copy+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$fudesumi$byval_copy+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$fudesumi$byval_copy+3>>0]=HEAP8[$8+3>>0]|0; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$9>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$9+3>>0]|0; - _DrawRectangleGradient(160,170,180,130,$sonic$byval_copy,$tmpcast$byval_copy); + _DrawRectangleGradient(160,170,180,130,$fudesumi$byval_copy,$tmpcast$byval_copy); HEAP8[$10>>0] = -1; $53 = ((($10)) + 1|0); HEAP8[$53>>0] = -95; @@ -10628,7 +10628,7 @@ function _UpdateDrawFrame() { $58 = ((($11)) + 3|0); HEAP8[$58>>0] = -1; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$11>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$11+3>>0]|0; - _DrawText(4159,370,40,10,$tmpcast$byval_copy); + _DrawText(4146,370,40,10,$tmpcast$byval_copy); HEAPF32[$12>>2] = 430.0; $59 = ((($12)) + 4|0); HEAPF32[$59>>2] = 80.0; @@ -10647,9 +10647,9 @@ function _UpdateDrawFrame() { HEAP8[$64>>0] = -1; ;HEAP32[$$byval_copy16>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$12+4>>2]|0; ;HEAP32[$$byval_copy17>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy17+4>>2]=HEAP32[$13+4>>2]|0; - ;HEAP32[$sonic$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$sonic$byval_copy+4>>2]=HEAP32[$14+4>>2]|0; + ;HEAP32[$fudesumi$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$fudesumi$byval_copy+4>>2]=HEAP32[$14+4>>2]|0; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$15>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$15+3>>0]|0; - _DrawTriangle($$byval_copy16,$$byval_copy17,$sonic$byval_copy,$tmpcast$byval_copy); + _DrawTriangle($$byval_copy16,$$byval_copy17,$fudesumi$byval_copy,$tmpcast$byval_copy); HEAPF32[$16>>2] = 430.0; $65 = ((($16)) + 4|0); HEAPF32[$65>>2] = 160.0; @@ -10668,9 +10668,9 @@ function _UpdateDrawFrame() { HEAP8[$70>>0] = -1; ;HEAP32[$$byval_copy16>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$16+4>>2]|0; ;HEAP32[$$byval_copy17>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy17+4>>2]=HEAP32[$17+4>>2]|0; - ;HEAP32[$sonic$byval_copy>>2]=HEAP32[$18>>2]|0;HEAP32[$sonic$byval_copy+4>>2]=HEAP32[$18+4>>2]|0; + ;HEAP32[$fudesumi$byval_copy>>2]=HEAP32[$18>>2]|0;HEAP32[$fudesumi$byval_copy+4>>2]=HEAP32[$18+4>>2]|0; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$19>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$19+3>>0]|0; - _DrawTriangleLines($$byval_copy16,$$byval_copy17,$sonic$byval_copy,$tmpcast$byval_copy); + _DrawTriangleLines($$byval_copy16,$$byval_copy17,$fudesumi$byval_copy,$tmpcast$byval_copy); HEAPF32[$20>>2] = 430.0; $71 = ((($20)) + 4|0); HEAPF32[$71>>2] = 320.0; @@ -10681,19 +10681,69 @@ function _UpdateDrawFrame() { HEAP8[$73>>0] = 79; $74 = ((($21)) + 3|0); HEAP8[$74>>0] = -1; - ;HEAP32[$sonic$byval_copy>>2]=HEAP32[$20>>2]|0;HEAP32[$sonic$byval_copy+4>>2]=HEAP32[$20+4>>2]|0; + ;HEAP32[$fudesumi$byval_copy>>2]=HEAP32[$20>>2]|0;HEAP32[$fudesumi$byval_copy+4>>2]=HEAP32[$20+4>>2]|0; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$21>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$21+3>>0]|0; - _DrawPoly($sonic$byval_copy,6,80.0,0.0,$tmpcast$byval_copy); - dest=$tmpcast$byval_copy; src=16644; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _DrawPoly($fudesumi$byval_copy,6,80.0,0.0,$tmpcast$byval_copy); + dest=$tmpcast$byval_copy; src=16940; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginShaderMode($tmpcast$byval_copy); HEAP32[$22>>2] = -1; - ;HEAP32[$sonic$byval_copy>>2]=HEAP32[16624>>2]|0;HEAP32[$sonic$byval_copy+4>>2]=HEAP32[16624+4>>2]|0;HEAP32[$sonic$byval_copy+8>>2]=HEAP32[16624+8>>2]|0;HEAP32[$sonic$byval_copy+12>>2]=HEAP32[16624+12>>2]|0;HEAP32[$sonic$byval_copy+16>>2]=HEAP32[16624+16>>2]|0; + ;HEAP32[$fudesumi$byval_copy>>2]=HEAP32[16920>>2]|0;HEAP32[$fudesumi$byval_copy+4>>2]=HEAP32[16920+4>>2]|0;HEAP32[$fudesumi$byval_copy+8>>2]=HEAP32[16920+8>>2]|0;HEAP32[$fudesumi$byval_copy+12>>2]=HEAP32[16920+12>>2]|0;HEAP32[$fudesumi$byval_copy+16>>2]=HEAP32[16920+16>>2]|0; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$22>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$22+3>>0]|0; - _DrawTexture($sonic$byval_copy,380,-10,$tmpcast$byval_copy); + _DrawTexture($fudesumi$byval_copy,500,-30,$tmpcast$byval_copy); _EndShaderMode(); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10793,13 +10843,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11409,7 +11452,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4176] = $2; + HEAP32[4250] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11422,7 +11465,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16352; + $95 = 16648; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11435,48 +11478,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16392; + $106 = 16688; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4098]; - $111 = +HEAPF32[4088]; + $110 = +HEAPF32[4172]; + $111 = +HEAPF32[4162]; $112 = $110 - $111; - HEAPF32[4100] = $112; - $113 = +HEAPF32[(16396)>>2]; - $114 = +HEAPF32[(16356)>>2]; + HEAPF32[4174] = $112; + $113 = +HEAPF32[(16692)>>2]; + $114 = +HEAPF32[(16652)>>2]; $115 = $113 - $114; - HEAPF32[(16404)>>2] = $115; - HEAP32[4175] = 4; + HEAPF32[(16700)>>2] = $115; + HEAP32[4249] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16384+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16408>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16408+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4181] = $116; - $117 = 16384; + HEAPF32[4255] = $116; + $117 = 16680; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16352; + $123 = 16648; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16408; + $127 = 16704; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16392; + $133 = 16688; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11489,7 +11532,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16384; + $144 = 16680; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11502,27 +11545,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16408; + $155 = 16704; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4102]; - $160 = +HEAPF32[4096]; + $159 = +HEAPF32[4176]; + $160 = +HEAPF32[4170]; $161 = $159 - $160; - HEAPF32[4100] = $161; - $162 = +HEAPF32[(16412)>>2]; - $163 = +HEAPF32[(16388)>>2]; + HEAPF32[4174] = $161; + $162 = +HEAPF32[(16708)>>2]; + $163 = +HEAPF32[(16684)>>2]; $164 = $162 - $163; - HEAPF32[(16404)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16352>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16352+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16384+4>>2]|0; + HEAPF32[(16700)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16680+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16392>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16392+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16408>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16408+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16688>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16688+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11534,31 +11577,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16384+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16408>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16408+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4181]; + $170 = +HEAPF32[4255]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4175] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16384+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16408>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16408+4>>2]|0; + HEAP32[4249] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4182] = $174; + HEAPF32[4256] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4181] = 0.0; - HEAPF32[4182] = 0.0; - HEAPF32[4100] = 0.0; - HEAPF32[(16404)>>2] = 0.0; - HEAP32[4176] = 0; - HEAP32[4175] = 0; + HEAPF32[4255] = 0.0; + HEAPF32[4256] = 0.0; + HEAPF32[4174] = 0.0; + HEAPF32[(16700)>>2] = 0.0; + HEAP32[4250] = 0; + HEAP32[4249] = 0; STACKTOP = sp;return; break; } @@ -11568,22 +11611,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4177]|0; + $6 = HEAP32[4251]|0; $7 = (($6) + 1)|0; - HEAP32[4177] = $7; - $8 = HEAP32[4175]|0; + HEAP32[4251] = $7; + $8 = HEAP32[4249]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16352>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16352+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4175] = 2; - HEAP32[4177] = 0; + HEAP32[4249] = 2; + HEAP32[4251] = 0; } else { label = 6; } @@ -11591,8 +11634,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4177] = 1; - HEAP32[4175] = 1; + HEAP32[4251] = 1; + HEAP32[4249] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11601,19 +11644,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16352; + $21 = 16648; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16360; + $25 = 16656; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16368; + $29 = 16664; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11622,13 +11665,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4094] = 0.0; - HEAPF32[(16380)>>2] = 0.0; + HEAPF32[4168] = 0.0; + HEAPF32[(16676)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4175]|0; + $35 = HEAP32[4249]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11638,19 +11681,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16368; + $44 = 16664; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16352>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16352+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16368+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16664+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4178] = $49; - HEAP32[4179] = 0; + HEAPF32[4252] = $49; + HEAP32[4253] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11658,11 +11701,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16352>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16352+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16368+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16664+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4180] = $56; + HEAPF32[4254] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11693,22 +11736,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4178] = 0.0; - HEAPF32[4180] = 0.0; + HEAPF32[4252] = 0.0; + HEAPF32[4254] = 0.0; $$sink10 = 0; } - HEAP32[4175] = $$sink10; - HEAPF32[4090] = 0.0; - HEAPF32[(16364)>>2] = 0.0; - HEAP32[4176] = 0; + HEAP32[4249] = $$sink10; + HEAPF32[4164] = 0.0; + HEAPF32[(16660)>>2] = 0.0; + HEAP32[4250] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4179]|0; + $65 = HEAP32[4253]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4179] = 1; + HEAP32[4253] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11717,31 +11760,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16384; + $74 = 16680; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4175]|0; + $78 = HEAP32[4249]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16352>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16352+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16384+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16680+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4175] = 8; + HEAP32[4249] = 8; } } - $82 = +HEAPF32[4096]; - $83 = +HEAPF32[4090]; + $82 = +HEAPF32[4170]; + $83 = +HEAPF32[4164]; $84 = $82 - $83; - HEAPF32[4094] = $84; - $85 = +HEAPF32[(16388)>>2]; - $86 = +HEAPF32[(16364)>>2]; + HEAPF32[4168] = $84; + $85 = +HEAPF32[(16684)>>2]; + $86 = +HEAPF32[(16660)>>2]; $87 = $85 - $86; - HEAPF32[(16380)>>2] = $87; + HEAPF32[(16676)>>2] = $87; STACKTOP = sp;return; break; } @@ -11750,58 +11793,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4175]|0; + $0 = HEAP32[4249]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4176]|0; + $2 = HEAP32[4250]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4175] = 4; + HEAP32[4249] = 4; } - $4 = HEAP32[4175]|0; + $4 = HEAP32[4249]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11814,14 +11818,14 @@ function _UpdateGestures() { return; } } - HEAP32[4175] = 0; + HEAP32[4249] = 0; return; } function _GetMousePosition($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 = 16416; + $1 = 16712; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11838,13 +11842,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4185]|0; + $0 = HEAP32[4259]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4184]|0; + $0 = HEAP32[4258]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11855,29 +11859,29 @@ function _InitWindow($0,$1,$2) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - _TraceLog(0,4200,$vararg_buffer); - HEAP32[4187] = $2; + _TraceLog(0,4187,$vararg_buffer); + HEAP32[4261] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); - (_emscripten_set_keypress_callback((4229|0),(0|0),1,(5|0))|0); - (_emscripten_set_click_callback((4229|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchstart_callback((4229|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchend_callback((4229|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchmove_callback((4229|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchcancel_callback((4229|0),(0|0),1,(7|0))|0); + (_emscripten_set_keypress_callback((4216|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((4216|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((4216|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((4216|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((4216|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((4216|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4185]|0; + $3 = HEAP32[4259]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4104] = $5; - $6 = HEAP32[4184]|0; + HEAPF32[4178] = $5; + $6 = HEAP32[4258]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16420)>>2] = $8; - $9 = HEAP32[4188]|0; + HEAPF32[(16716)>>2] = $8; + $9 = HEAP32[4262]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11896,11 +11900,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16456>>0]=HEAP8[8729>>0]|0;HEAP8[16456+1>>0]=HEAP8[8729+1>>0]|0;HEAP8[16456+2>>0]=HEAP8[8729+2>>0]|0;HEAP8[16456+3>>0]=HEAP8[8729+3>>0]|0;HEAP8[16456+4>>0]=HEAP8[8729+4>>0]|0;HEAP8[16456+5>>0]=HEAP8[8729+5>>0]|0;HEAP8[16456+6>>0]=HEAP8[8729+6>>0]|0; + ;HEAP8[16752>>0]=HEAP8[8716>>0]|0;HEAP8[16752+1>>0]=HEAP8[8716+1>>0]|0;HEAP8[16752+2>>0]=HEAP8[8716+2>>0]|0;HEAP8[16752+3>>0]=HEAP8[8716+3>>0]|0;HEAP8[16752+4>>0]=HEAP8[8716+4>>0]|0;HEAP8[16752+5>>0]=HEAP8[8716+5>>0]|0;HEAP8[16752+6>>0]=HEAP8[8716+6>>0]|0; break; } case 1: { - $3 = 16456; + $3 = 16752; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11909,11 +11913,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16456; src=8736; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16752; src=8723; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16456; + $7 = 16752; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11924,16 +11928,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16456,$1)|0); - $strlen = (_strlen(16456)|0); - $endptr = (16456 + ($strlen)|0); + (_strcat(16752,$1)|0); + $strlen = (_strlen(16752)|0); + $endptr = (16752 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16456,$2)|0); + (_vprintf(16752,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11965,22 +11969,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4185] = $0; - HEAP32[4184] = $1; + HEAP32[4259] = $0; + HEAP32[4258] = $1; _MatrixIdentity($2); - dest=16828; 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)); + dest=17124; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { - _TraceLog(1,4871,$vararg_buffer); + _TraceLog(1,4858,$vararg_buffer); } - $6 = HEAP32[4185]|0; - HEAP32[4223] = $6; - $7 = HEAP32[4184]|0; - HEAP32[4224] = $7; + $6 = HEAP32[4259]|0; + HEAP32[4297] = $6; + $7 = HEAP32[4258]|0; + HEAP32[4298] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19560]|0; + $8 = HEAP8[19856]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11988,18 +11992,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19560]|0; + $11 = HEAP8[19856]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19560]|0; + $14 = HEAP8[19856]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,4897,$vararg_buffer1); + _TraceLog(0,4884,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -12016,18 +12020,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4225]|0; + $21 = HEAP32[4299]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4185]|0; - $48 = HEAP32[4184]|0; - $49 = HEAP32[4187]|0; + $47 = HEAP32[4259]|0; + $48 = HEAP32[4258]|0; + $49 = HEAP32[4261]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4183] = $50; - $51 = HEAP32[4185]|0; - HEAP32[4226] = $51; - $52 = HEAP32[4184]|0; - HEAP32[4227] = $52; + HEAP32[4257] = $50; + $51 = HEAP32[4259]|0; + HEAP32[4300] = $51; + $52 = HEAP32[4258]|0; + HEAP32[4301] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12036,9 +12040,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4185]|0; + $27 = HEAP32[4259]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4184]|0; + $29 = HEAP32[4258]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12060,87 +12064,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4223] = $31; - HEAP32[4224] = $34; + HEAP32[4297] = $31; + HEAP32[4298] = $34; } } while(0); - $38 = HEAP32[4223]|0; - $39 = HEAP32[4224]|0; + $38 = HEAP32[4297]|0; + $39 = HEAP32[4298]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,4922,$vararg_buffer3); - $40 = HEAP32[4223]|0; - $41 = HEAP32[4224]|0; + _TraceLog(2,4909,$vararg_buffer3); + $40 = HEAP32[4297]|0; + $41 = HEAP32[4298]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4223]|0; - $43 = HEAP32[4224]|0; - $44 = HEAP32[4187]|0; + $42 = HEAP32[4297]|0; + $43 = HEAP32[4298]|0; + $44 = HEAP32[4261]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4183] = $46; + HEAP32[4257] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,4960,$vararg_buffer6); + _TraceLog(1,4947,$vararg_buffer6); } else { - _TraceLog(0,4993,$vararg_buffer8); - $55 = HEAP32[4226]|0; - $56 = HEAP32[4227]|0; + _TraceLog(0,4980,$vararg_buffer8); + $55 = HEAP32[4300]|0; + $56 = HEAP32[4301]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,5033,$vararg_buffer10); - $57 = HEAP32[4185]|0; - $58 = HEAP32[4184]|0; + _TraceLog(0,5020,$vararg_buffer10); + $57 = HEAP32[4259]|0; + $58 = HEAP32[4258]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,5054,$vararg_buffer14); - $59 = HEAP32[4228]|0; - $60 = HEAP32[4229]|0; + _TraceLog(0,5041,$vararg_buffer14); + $59 = HEAP32[4302]|0; + $60 = HEAP32[4303]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,5075,$vararg_buffer18); + _TraceLog(0,5062,$vararg_buffer18); } - $61 = HEAP32[4183]|0; + $61 = HEAP32[4257]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4183]|0; + $62 = HEAP32[4257]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4183]|0; + $63 = HEAP32[4257]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4183]|0; + $64 = HEAP32[4257]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4183]|0; + $65 = HEAP32[4257]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4183]|0; + $66 = HEAP32[4257]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4183]|0; + $67 = HEAP32[4257]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4183]|0; + $68 = HEAP32[4257]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4183]|0; + $69 = HEAP32[4257]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19560]|0; + $70 = HEAP8[19856]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4185]|0; - $74 = HEAP32[4184]|0; + $73 = HEAP32[4259]|0; + $74 = HEAP32[4258]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4226]|0; - $76 = HEAP32[4228]|0; + $75 = HEAP32[4300]|0; + $76 = HEAP32[4302]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4227]|0; - $80 = HEAP32[4229]|0; + $79 = HEAP32[4301]|0; + $80 = HEAP32[4303]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12158,19 +12162,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,5100,$vararg_buffer22); - $73 = HEAP32[4185]|0; - $74 = HEAP32[4184]|0; + _TraceLog(0,5087,$vararg_buffer22); + $73 = HEAP32[4259]|0; + $74 = HEAP32[4258]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4226]|0; - $76 = HEAP32[4228]|0; + $75 = HEAP32[4300]|0; + $76 = HEAP32[4302]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4227]|0; - $80 = HEAP32[4229]|0; + $79 = HEAP32[4301]|0; + $80 = HEAP32[4303]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12198,7 +12202,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16796)>>2] = 224; + HEAP32[(17092)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12239,27 +12243,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16772>>2]=HEAP32[$1>>2]|0;HEAP32[16772+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16772+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16772+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16772+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17068>>2]=HEAP32[$1>>2]|0;HEAP32[17068+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17068+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17068+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17068+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16796)>>2]|0; + $5 = HEAP32[(17092)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16800)>>2] = $7; + HEAP32[(17096)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16792)>>2] = $23; - $24 = HEAP32[4193]|0; + HEAP32[(17088)>>2] = $23; + $24 = HEAP32[4267]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4424,$vararg_buffer); + _TraceLog(0,4411,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16776)>>2]|0; - $10 = HEAP32[(16796)>>2]|0; - $11 = HEAP32[(16800)>>2]|0; + $9 = HEAP32[(17072)>>2]|0; + $10 = HEAP32[(17092)>>2]|0; + $11 = HEAP32[(17096)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12308,10 +12312,10 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16792)>>2] = $23; - $24 = HEAP32[4193]|0; + HEAP32[(17088)>>2] = $23; + $24 = HEAP32[4267]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4424,$vararg_buffer); + _TraceLog(0,4411,$vararg_buffer); STACKTOP = sp;return; } function _InitTimer() { @@ -12320,7 +12324,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2056] = $1; + HEAPF64[2093] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12350,7 +12354,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,4357,$vararg_buffer4); + _TraceLog(0,4344,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -12360,7 +12364,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,4288,$vararg_buffer); + _TraceLog(0,4275,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -12376,7 +12380,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,4281)|0); + $5 = (_strcmp($4,4268)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -12479,7 +12483,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16432; + $31 = 16728; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12492,7 +12496,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16440); + $42 = (16736); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12548,7 +12552,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16756 + ($10<<2)|0); + $11 = (17052 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12562,19 +12566,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2053] = $$; + HEAPF64[2090] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,4237,$vararg_buffer); + _TraceLog(0,4224,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4188] = 0; + HEAP32[4262] = 0; return; } function _GetTime() { @@ -12673,7 +12677,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,4771,$vararg_buffer); + _TraceLog(2,4758,$vararg_buffer); STACKTOP = sp;return; } ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; @@ -13150,52 +13154,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4201]|0; + $6 = HEAP32[4275]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,4469,$vararg_buffer); + _TraceLog(2,4456,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4202]|0; + $9 = HEAP32[4276]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,4513,$vararg_buffer1); + _TraceLog(2,4500,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4203]|0; + $12 = HEAP32[4277]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); $or$cond = $14 & $13; if ($or$cond) { - _TraceLog(2,4558,$vararg_buffer3); + _TraceLog(2,4545,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4204]|0; + $15 = HEAP32[4278]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); $or$cond96 = $17 & $16; if ($or$cond96) { - _TraceLog(2,4603,$vararg_buffer5); + _TraceLog(2,4590,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4205]|0; + $18 = HEAP32[4279]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); $or$cond98 = $20 & $19; if ($or$cond98) { - _TraceLog(2,4648,$vararg_buffer7); + _TraceLog(2,4635,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13233,7 +13237,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4201]|0; + $22 = HEAP32[4275]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13241,7 +13245,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4201]|0; + $24 = HEAP32[4275]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13249,7 +13253,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4201]|0; + $26 = HEAP32[4275]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13257,7 +13261,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4201]|0; + $28 = HEAP32[4275]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13265,7 +13269,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4202]|0; + $30 = HEAP32[4276]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13273,7 +13277,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4203]|0; + $32 = HEAP32[4277]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13281,7 +13285,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4203]|0; + $34 = HEAP32[4277]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13289,7 +13293,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4204]|0; + $36 = HEAP32[4278]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13297,7 +13301,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4204]|0; + $38 = HEAP32[4278]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13305,7 +13309,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4205]|0; + $40 = HEAP32[4279]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13313,7 +13317,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4205]|0; + $42 = HEAP32[4279]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13321,11 +13325,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,4693,$vararg_buffer9); + _TraceLog(2,4680,$vararg_buffer9); } } } while(0); - $44 = HEAP32[4206]|0; + $44 = HEAP32[4280]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13340,7 +13344,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,10934,$vararg_buffer15); + _TraceLog(2,11229,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13349,7 +13353,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { HEAP32[$vararg_ptr13>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,4722,$vararg_buffer11); + _TraceLog(0,4709,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13623,7 +13627,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,4825,$vararg_buffer); + _TraceLog(2,4812,$vararg_buffer); $$1 = $$0106; } } @@ -13650,7 +13654,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,8691,$vararg_buffer); + _TraceLog(2,8678,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -13671,20 +13675,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4185]|0; + $3 = HEAP32[4259]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4184]|0; + $5 = HEAP32[4258]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4226] = $3; - HEAP32[4227] = $5; - HEAP32[4228] = 0; - HEAP32[4229] = 0; + HEAP32[4300] = $3; + HEAP32[4301] = $5; + HEAP32[4302] = 0; + HEAP32[4303] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13694,13 +13698,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,8625,$vararg_buffer8); + _TraceLog(0,8612,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4185]|0; + $35 = HEAP32[4259]|0; $36 = (+($35|0)); - $37 = HEAP32[4184]|0; + $37 = HEAP32[4258]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13708,26 +13712,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4226] = $45; - HEAP32[4227] = $37; + HEAP32[4300] = $45; + HEAP32[4301] = $37; $46 = (($45) - ($35))|0; - HEAP32[4228] = $46; + HEAP32[4302] = $46; $$sink1 = 0; } else { - HEAP32[4226] = $35; + HEAP32[4300] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4227] = $42; - HEAP32[4228] = 0; + HEAP32[4301] = $42; + HEAP32[4302] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4229] = $$sink1; + HEAP32[4303] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4184]|0; + $7 = HEAP32[4258]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13735,13 +13739,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,8482,$vararg_buffer); + _TraceLog(2,8469,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4185]|0; + $9 = HEAP32[4259]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4184]|0; + $13 = HEAP32[4258]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13749,37 +13753,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4226] = $23; - HEAP32[4227] = $1; + HEAP32[4300] = $23; + HEAP32[4301] = $1; $24 = (($0) - ($23))|0; - HEAP32[4228] = $24; + HEAP32[4302] = $24; $$sink = 0; } else { - HEAP32[4226] = $0; - $17 = HEAP32[4184]|0; + HEAP32[4300] = $0; + $17 = HEAP32[4258]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4227] = $20; - HEAP32[4228] = 0; + HEAP32[4301] = $20; + HEAP32[4302] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4229] = $$sink; - $25 = HEAP32[4226]|0; + HEAP32[4303] = $$sink; + $25 = HEAP32[4300]|0; $26 = (+($25|0)); - $27 = HEAP32[4185]|0; + $27 = HEAP32[4259]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16828; 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)); - HEAP32[4226] = $0; - HEAP32[4227] = $1; + dest=17124; 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)); + HEAP32[4300] = $0; + HEAP32[4301] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,8560,$vararg_buffer4); + _TraceLog(2,8547,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -13797,10 +13801,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4185] = $1; - HEAP32[4184] = $2; - HEAP32[4226] = $1; - HEAP32[4227] = $2; + HEAP32[4259] = $1; + HEAP32[4258] = $2; + HEAP32[4300] = $1; + HEAP32[4301] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13827,7 +13831,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19567 + ($1)|0); + $9 = (19863 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13848,7 +13852,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19561 + ($1)|0); + $7 = (19857 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13927,7 +13931,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16432; + $15 = 16728; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13962,7 +13966,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4599] = $3; + HEAP32[4673] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13972,7 +13976,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4598] = $$sink; + HEAP32[4672] = $$sink; return; } function _rlglInit($0,$1) { @@ -14012,16 +14016,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,5123,$vararg_buffer); + _TraceLog(0,5110,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,5141,$vararg_buffer1); + _TraceLog(0,5128,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,5159,$vararg_buffer4); + _TraceLog(0,5146,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,5177,$vararg_buffer7); + _TraceLog(0,5164,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -14029,7 +14033,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,5195)|0); + $15 = (_strtok($$sink63,5182)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -14043,41 +14047,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,5197,$vararg_buffer10); + _TraceLog(0,5184,$vararg_buffer10); $20 = ($$062|0)>(1); if ($20) { $$06167 = 0; while(1) { $23 = (($vararg_buffer7) + ($$06167<<2)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,5232)|0); + $25 = (_strcmp($24,5219)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4264] = 1; - $27 = (_eglGetProcAddress((5259|0))|0); - HEAP32[4265] = $27; - $28 = (_eglGetProcAddress((5280|0))|0); - HEAP32[4266] = $28; - $29 = (_eglGetProcAddress((5301|0))|0); - HEAP32[4267] = $29; + HEAP32[4338] = 1; + $27 = (_eglGetProcAddress((5246|0))|0); + HEAP32[4339] = $27; + $28 = (_eglGetProcAddress((5267|0))|0); + HEAP32[4340] = $28; + $29 = (_eglGetProcAddress((5288|0))|0); + HEAP32[4341] = $29; } - $30 = (_strcmp($24,5325)|0); + $30 = (_strcmp($24,5312)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4206] = 1; + HEAP32[4280] = 1; } - $32 = (_strcmp($24,5345)|0); + $32 = (_strcmp($24,5332)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,5377)|0); + $35 = (_strcmp($34,5364)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,5410)|0); + $37 = (_strcmp($34,5397)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -14086,15 +14090,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4201] = 1; + HEAP32[4275] = 1; } - $39 = (_strcmp($24,5450)|0); + $39 = (_strcmp($24,5437)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,5486)|0); + $42 = (_strcmp($41,5473)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -14102,35 +14106,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4202] = 1; + HEAP32[4276] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,5519)|0); + $45 = (_strcmp($44,5506)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4203] = 1; + HEAP32[4277] = 1; } - $47 = (_strcmp($44,5544)|0); + $47 = (_strcmp($44,5531)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4204] = 1; + HEAP32[4278] = 1; } - $49 = (_strcmp($44,5577)|0); + $49 = (_strcmp($44,5564)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4205] = 1; + HEAP32[4279] = 1; } - $51 = (_strcmp($44,5613)|0); + $51 = (_strcmp($44,5600)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4268] = 1; - _glGetFloatv(34047,(17076|0)); + HEAP32[4342] = 1; + _glGetFloatv(34047,(17372|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,5647)|0); + $54 = (_strcmp($53,5634)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4270] = 1; + HEAP32[4344] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14141,77 +14145,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4264]|0; + $21 = HEAP32[4338]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,5750,$vararg_buffer15); + _TraceLog(2,5737,$vararg_buffer15); } else { - _TraceLog(0,5675,$vararg_buffer13); + _TraceLog(0,5662,$vararg_buffer13); } - $57 = HEAP32[4206]|0; + $57 = HEAP32[4280]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,5886,$vararg_buffer19); + _TraceLog(2,5873,$vararg_buffer19); } else { - _TraceLog(0,5811,$vararg_buffer17); + _TraceLog(0,5798,$vararg_buffer17); } - $59 = HEAP32[4201]|0; + $59 = HEAP32[4275]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,5978,$vararg_buffer21); + _TraceLog(0,5965,$vararg_buffer21); } - $61 = HEAP32[4202]|0; + $61 = HEAP32[4276]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,6024,$vararg_buffer23); + _TraceLog(0,6011,$vararg_buffer23); } - $63 = HEAP32[4203]|0; + $63 = HEAP32[4277]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,6071,$vararg_buffer25); + _TraceLog(0,6058,$vararg_buffer25); } - $65 = HEAP32[4204]|0; + $65 = HEAP32[4278]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,6122,$vararg_buffer27); + _TraceLog(0,6109,$vararg_buffer27); } - $67 = HEAP32[4205]|0; + $67 = HEAP32[4279]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,6169,$vararg_buffer29); + _TraceLog(0,6156,$vararg_buffer29); } - $69 = HEAP32[4268]|0; + $69 = HEAP32[4342]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4269]; + $71 = +HEAPF32[4343]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,6216,$vararg_buffer31); + _TraceLog(0,6203,$vararg_buffer31); } - $73 = HEAP32[4270]|0; + $73 = HEAP32[4344]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,6282,$vararg_buffer34); + _TraceLog(0,6269,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4271] = $75; + HEAP32[4345] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,6386,$vararg_buffer39); + _TraceLog(2,6373,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,6335,$vararg_buffer36); + _TraceLog(0,6322,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17088; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17144; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17384; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17440; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4300] = $77; + HEAP32[4374] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4300]|0; + $79 = HEAP32[4374]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14224,7 +14228,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4301] = $78; + HEAP32[4375] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14239,48 +14243,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4302] = 1; - $85 = HEAP32[4271]|0; + HEAP32[4376] = 1; + $85 = HEAP32[4345]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4303] = 4; + HEAP32[4377] = 4; _MatrixIdentity($4); - dest=17216; src=$4; 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)); + dest=17512; src=$4; 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)); _MatrixIdentity($4); - dest=(17280); src=$4; 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)); + dest=(17576); src=$4; 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)); _MatrixIdentity($4); - dest=(17344); src=$4; 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)); + dest=(17640); src=$4; 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)); _MatrixIdentity($4); - dest=(17408); src=$4; 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)); + dest=(17704); src=$4; 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)); _MatrixIdentity($4); - dest=(17472); src=$4; 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)); + dest=(17768); src=$4; 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)); _MatrixIdentity($4); - dest=(17536); src=$4; 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)); + dest=(17832); src=$4; 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)); _MatrixIdentity($4); - dest=(17600); src=$4; 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)); + dest=(17896); src=$4; 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)); _MatrixIdentity($4); - dest=(17664); src=$4; 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)); + dest=(17960); src=$4; 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)); _MatrixIdentity($4); - dest=(17728); src=$4; 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)); + dest=(18024); src=$4; 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)); _MatrixIdentity($4); - dest=(17792); src=$4; 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)); + dest=(18088); src=$4; 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)); _MatrixIdentity($4); - dest=(17856); src=$4; 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)); + dest=(18152); src=$4; 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)); _MatrixIdentity($4); - dest=(17920); src=$4; 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)); + dest=(18216); src=$4; 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)); _MatrixIdentity($4); - dest=(17984); src=$4; 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)); + dest=(18280); src=$4; 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)); _MatrixIdentity($4); - dest=(18048); src=$4; 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)); + dest=(18344); src=$4; 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)); _MatrixIdentity($4); - dest=(18112); src=$4; 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)); + dest=(18408); src=$4; 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)); _MatrixIdentity($4); - dest=(18176); src=$4; 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)); + dest=(18472); src=$4; 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)); _MatrixIdentity($5); - dest=16924; src=$5; 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)); + dest=17220; src=$5; 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)); _MatrixIdentity($6); - dest=16988; src=$6; 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)); - HEAP32[4230] = 16988; + dest=17284; src=$6; 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)); + HEAP32[4304] = 17284; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14291,21 +14295,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4560] = $0; - HEAP32[4561] = $1; - _TraceLog(0,6425,$vararg_buffer41); + HEAP32[4634] = $0; + HEAP32[4635] = $1; + _TraceLog(0,6412,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4228]|0; + $0 = HEAP32[4302]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4229]|0; + $2 = HEAP32[4303]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4226]|0; + $4 = HEAP32[4300]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4227]|0; + $6 = HEAP32[4301]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14316,12 +14320,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16924; + $modelview$sink = 17220; label = 3; break; } case 5888: { - $modelview$sink = 16988; + $modelview$sink = 17284; label = 3; break; } @@ -14329,9 +14333,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4230] = $modelview$sink; + HEAP32[4304] = $modelview$sink; } - HEAP32[4263] = $0; + HEAP32[4337] = $0; return; } function _rlLoadIdentity() { @@ -14339,7 +14343,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4230]|0; + $1 = HEAP32[4304]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14360,7 +14364,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4230]|0; + $8 = HEAP32[4304]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14419,17 +14423,17 @@ function _LoadDefaultShader($0) { $1 = sp + 16|0; $2 = sp + 513|0; $3 = sp + 72|0; - _memcpy(($2|0),(7001|0),489)|0; - _memcpy(($3|0),(7490|0),441)|0; + _memcpy(($2|0),(6988|0),489)|0; + _memcpy(($3|0),(7477|0),441)|0; $4 = (_LoadShaderProgram($2,$3)|0); HEAP32[$1>>2] = $4; $5 = ($4|0)==(0); if ($5) { HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,7979,$vararg_buffer1); + _TraceLog(2,7966,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,7931,$vararg_buffer); + _TraceLog(0,7918,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -14457,15 +14461,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18260)>>2] = $0; + HEAP32[(18556)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18268)>>2] = $1; - HEAP32[(18264)>>2] = 0; - HEAP32[(18272)>>2] = 0; + HEAP32[(18564)>>2] = $1; + HEAP32[(18560)>>2] = 0; + HEAP32[(18568)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18268)>>2]|0; + $2 = HEAP32[(18564)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14476,19 +14480,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4562] = 0; - HEAP32[(18256)>>2] = 0; - HEAP32[(18252)>>2] = 0; + HEAP32[4636] = 0; + HEAP32[(18552)>>2] = 0; + HEAP32[(18548)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18308)>>2] = $5; + HEAP32[(18604)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18316)>>2] = $6; - HEAP32[(18312)>>2] = 0; - HEAP32[(18320)>>2] = 0; + HEAP32[(18612)>>2] = $6; + HEAP32[(18608)>>2] = 0; + HEAP32[(18616)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18316)>>2]|0; + $7 = HEAP32[(18612)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14499,24 +14503,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4574] = 0; - HEAP32[(18304)>>2] = 0; - HEAP32[(18300)>>2] = 0; + HEAP32[4648] = 0; + HEAP32[(18600)>>2] = 0; + HEAP32[(18596)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18356)>>2] = $10; + HEAP32[(18652)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18360)>>2] = $11; + HEAP32[(18656)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18364)>>2] = $12; + HEAP32[(18660)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18368)>>2] = $13; - $14 = HEAP32[(18356)>>2]|0; + HEAP32[(18664)>>2] = $13; + $14 = HEAP32[(18652)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18360)>>2]|0; + $15 = HEAP32[(18656)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18364)>>2]|0; + $17 = HEAP32[(18660)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14527,7 +14531,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18368)>>2]|0; + $16 = HEAP32[(18664)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14564,140 +14568,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4586] = 0; - HEAP32[(18348)>>2] = 0; - HEAP32[(18352)>>2] = 0; - _TraceLog(0,6472,$vararg_buffer); - $20 = HEAP32[4264]|0; + HEAP32[4660] = 0; + HEAP32[(18644)>>2] = 0; + HEAP32[(18648)>>2] = 0; + _TraceLog(0,6459,$vararg_buffer); + $20 = HEAP32[4338]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4265]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18276)); - $44 = HEAP32[4266]|0; - $45 = HEAP32[(18276)>>2]|0; + $43 = HEAP32[4339]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18572)); + $44 = HEAP32[4340]|0; + $45 = HEAP32[(18572)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18280)|0)); - $46 = HEAP32[(18280)>>2]|0; + _glGenBuffers(2,((18576)|0)); + $46 = HEAP32[(18576)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18260)>>2]|0; + $47 = HEAP32[(18556)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17148)>>2]|0; + $48 = HEAP32[(17444)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17148)>>2]|0; + $49 = HEAP32[(17444)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18284)|0)); - $50 = HEAP32[(18284)>>2]|0; + _glGenBuffers(2,((18580)|0)); + $50 = HEAP32[(18580)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18268)>>2]|0; + $51 = HEAP32[(18564)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17168)>>2]|0; + $52 = HEAP32[(17464)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17168)>>2]|0; + $53 = HEAP32[(17464)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4264]|0; + $54 = HEAP32[4338]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18280)>>2]|0; - $58 = HEAP32[(18284)>>2]|0; + $57 = HEAP32[(18576)>>2]|0; + $58 = HEAP32[(18580)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,6610,$vararg_buffer3); + _TraceLog(0,6597,$vararg_buffer3); } else { - $56 = HEAP32[(18276)>>2]|0; + $56 = HEAP32[(18572)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,6545,$vararg_buffer1); + _TraceLog(0,6532,$vararg_buffer1); } - $59 = HEAP32[4264]|0; + $59 = HEAP32[4338]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4265]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18324)); - $62 = HEAP32[4266]|0; - $63 = HEAP32[(18324)>>2]|0; + $61 = HEAP32[4339]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18620)); + $62 = HEAP32[4340]|0; + $63 = HEAP32[(18620)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18328)|0)); - $64 = HEAP32[(18328)>>2]|0; + _glGenBuffers(1,((18624)|0)); + $64 = HEAP32[(18624)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18308)>>2]|0; + $65 = HEAP32[(18604)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17148)>>2]|0; + $66 = HEAP32[(17444)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17148)>>2]|0; + $67 = HEAP32[(17444)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18332)|0)); - $68 = HEAP32[(18332)>>2]|0; + _glGenBuffers(1,((18628)|0)); + $68 = HEAP32[(18628)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18316)>>2]|0; + $69 = HEAP32[(18612)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17168)>>2]|0; + $70 = HEAP32[(17464)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17168)>>2]|0; + $71 = HEAP32[(17464)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4264]|0; + $72 = HEAP32[4338]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18328)>>2]|0; - $76 = HEAP32[(18332)>>2]|0; + $75 = HEAP32[(18624)>>2]|0; + $76 = HEAP32[(18628)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,6756,$vararg_buffer10); + _TraceLog(0,6743,$vararg_buffer10); } else { - $74 = HEAP32[(18324)>>2]|0; + $74 = HEAP32[(18620)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,6687,$vararg_buffer7); + _TraceLog(0,6674,$vararg_buffer7); } - $77 = HEAP32[4264]|0; + $77 = HEAP32[4338]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4265]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18372)); - $80 = HEAP32[4266]|0; - $81 = HEAP32[(18372)>>2]|0; + $79 = HEAP32[4339]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18668)); + $80 = HEAP32[4340]|0; + $81 = HEAP32[(18668)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18376)|0)); - $82 = HEAP32[(18376)>>2]|0; + _glGenBuffers(1,((18672)|0)); + $82 = HEAP32[(18672)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18356)>>2]|0; + $83 = HEAP32[(18652)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17148)>>2]|0; + $84 = HEAP32[(17444)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17148)>>2]|0; + $85 = HEAP32[(17444)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18380)|0)); - $86 = HEAP32[(18380)>>2]|0; + _glGenBuffers(1,((18676)|0)); + $86 = HEAP32[(18676)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18360)>>2]|0; + $87 = HEAP32[(18656)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17152)>>2]|0; + $88 = HEAP32[(17448)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17152)>>2]|0; + $89 = HEAP32[(17448)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18384)|0)); - $90 = HEAP32[(18384)>>2]|0; + _glGenBuffers(1,((18680)|0)); + $90 = HEAP32[(18680)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18364)>>2]|0; + $91 = HEAP32[(18660)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17168)>>2]|0; + $92 = HEAP32[(17464)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17168)>>2]|0; + $93 = HEAP32[(17464)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18388)|0)); - $94 = HEAP32[(18388)>>2]|0; + _glGenBuffers(1,((18684)|0)); + $94 = HEAP32[(18684)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18368)>>2]|0; + $95 = HEAP32[(18664)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4264]|0; + $96 = HEAP32[4338]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18376)>>2]|0; - $100 = HEAP32[(18380)>>2]|0; - $101 = HEAP32[(18384)>>2]|0; - $102 = HEAP32[(18388)>>2]|0; + $99 = HEAP32[(18672)>>2]|0; + $100 = HEAP32[(18676)>>2]|0; + $101 = HEAP32[(18680)>>2]|0; + $102 = HEAP32[(18684)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14705,18 +14709,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,6902,$vararg_buffer17); + _TraceLog(0,6889,$vararg_buffer17); } else { - $98 = HEAP32[(18372)>>2]|0; + $98 = HEAP32[(18668)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,6837,$vararg_buffer14); + _TraceLog(0,6824,$vararg_buffer14); } - $103 = HEAP32[4264]|0; + $103 = HEAP32[4338]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4266]|0; + $105 = HEAP32[4340]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14753,10 +14757,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,8235,$vararg_buffer4); + _TraceLog(0,8222,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,8183,$vararg_buffer); + _TraceLog(2,8170,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -14766,7 +14770,7 @@ function _LoadShaderProgram($0,$1) { $13 = HEAP32[$vararg_buffer>>2]|0; _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,8232,$vararg_buffer1); + _TraceLog(0,8219,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -14775,10 +14779,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,8336,$vararg_buffer13); + _TraceLog(0,8323,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,8285,$vararg_buffer7); + _TraceLog(2,8272,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -14788,25 +14792,25 @@ function _LoadShaderProgram($0,$1) { $19 = HEAP32[$vararg_buffer7>>2]|0; _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,8232,$vararg_buffer10); + _TraceLog(0,8219,$vararg_buffer10); _llvm_stackrestore(($17|0)); } $20 = (_glCreateProgram()|0); _glAttachShader(($20|0),($6|0)); _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(8027|0)); - _glBindAttribLocation(($20|0),1,(8042|0)); - _glBindAttribLocation(($20|0),2,(8073|0)); - _glBindAttribLocation(($20|0),3,(8100|0)); - _glBindAttribLocation(($20|0),4,(8086|0)); - _glBindAttribLocation(($20|0),5,(8057|0)); + _glBindAttribLocation(($20|0),0,(8014|0)); + _glBindAttribLocation(($20|0),1,(8029|0)); + _glBindAttribLocation(($20|0),2,(8060|0)); + _glBindAttribLocation(($20|0),3,(8087|0)); + _glBindAttribLocation(($20|0),4,(8073|0)); + _glBindAttribLocation(($20|0),5,(8044|0)); _glLinkProgram(($20|0)); _glGetProgramiv(($20|0),35714,($4|0)); $21 = HEAP32[$4>>2]|0; $22 = ($21|0)==(0); if ($22) { HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,8388,$vararg_buffer16); + _TraceLog(2,8375,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -14816,7 +14820,7 @@ function _LoadShaderProgram($0,$1) { $26 = HEAP32[$vararg_buffer16>>2]|0; _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,8232,$vararg_buffer19); + _TraceLog(0,8219,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -14825,7 +14829,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,8434,$vararg_buffer22); + _TraceLog(0,8421,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -14840,55 +14844,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(8027|0))|0); + $2 = (_glGetAttribLocation(($1|0),(8014|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(8042|0))|0); + $5 = (_glGetAttribLocation(($4|0),(8029|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(8057|0))|0); + $8 = (_glGetAttribLocation(($7|0),(8044|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(8073|0))|0); + $11 = (_glGetAttribLocation(($10|0),(8060|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(8086|0))|0); + $14 = (_glGetAttribLocation(($13|0),(8073|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(8100|0))|0); + $17 = (_glGetAttribLocation(($16|0),(8087|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(8112|0))|0); + $20 = (_glGetUniformLocation(($19|0),(8099|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(8122|0))|0); + $23 = (_glGetUniformLocation(($22|0),(8109|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(8133|0))|0); + $26 = (_glGetUniformLocation(($25|0),(8120|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(8144|0))|0); + $29 = (_glGetUniformLocation(($28|0),(8131|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(8156|0))|0); + $32 = (_glGetUniformLocation(($31|0),(8143|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(8165|0))|0); + $35 = (_glGetUniformLocation(($34|0),(8152|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(8174|0))|0); + $38 = (_glGetUniformLocation(($37|0),(8161|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -14897,9 +14901,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19561 + ($0)|0); + $1 = (19857 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19564 + ($0)|0); + $3 = (19860 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14911,9 +14915,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19561 + ($0)|0); + $1 = (19857 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19564 + ($0)|0); + $3 = (19860 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14934,10 +14938,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4183]|0; + $0 = HEAP32[4257]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,8746,$vararg_buffer); + _TraceLog(0,8733,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -14945,9 +14949,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16772>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16772+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16772+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16772+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16772+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17068>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17068+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17068+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17068+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17068+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16800)>>2]|0; + $0 = HEAP32[(17096)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14958,11 +14962,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17084|0)); - $0 = HEAP32[4271]|0; + _glDeleteTextures(1,(17380|0)); + $0 = HEAP32[4345]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,8773,$vararg_buffer); - $1 = HEAP32[4301]|0; + _TraceLog(0,8760,$vararg_buffer); + $1 = HEAP32[4375]|0; _free($1); STACKTOP = sp;return; } @@ -14970,17 +14974,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4272]|0; + $0 = HEAP32[4346]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4264]|0; + $0 = HEAP32[4338]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4266]|0; + $2 = HEAP32[4340]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14989,39 +14993,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18280)|0)); - _glDeleteBuffers(1,((18284)|0)); - _glDeleteBuffers(1,((18328)|0)); - _glDeleteBuffers(1,((18332)|0)); - _glDeleteBuffers(1,((18376)|0)); - _glDeleteBuffers(1,((18380)|0)); - _glDeleteBuffers(1,((18384)|0)); - _glDeleteBuffers(1,((18388)|0)); - $3 = HEAP32[4264]|0; + _glDeleteBuffers(1,((18576)|0)); + _glDeleteBuffers(1,((18580)|0)); + _glDeleteBuffers(1,((18624)|0)); + _glDeleteBuffers(1,((18628)|0)); + _glDeleteBuffers(1,((18672)|0)); + _glDeleteBuffers(1,((18676)|0)); + _glDeleteBuffers(1,((18680)|0)); + _glDeleteBuffers(1,((18684)|0)); + $3 = HEAP32[4338]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4267]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18276)); - $6 = HEAP32[4267]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18324)); - $7 = HEAP32[4267]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18372)); + $5 = HEAP32[4341]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18572)); + $6 = HEAP32[4341]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18620)); + $7 = HEAP32[4341]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18668)); } - $8 = HEAP32[(18260)>>2]|0; + $8 = HEAP32[(18556)>>2]|0; _free($8); - $9 = HEAP32[(18268)>>2]|0; + $9 = HEAP32[(18564)>>2]|0; _free($9); - $10 = HEAP32[(18308)>>2]|0; + $10 = HEAP32[(18604)>>2]|0; _free($10); - $11 = HEAP32[(18316)>>2]|0; + $11 = HEAP32[(18612)>>2]|0; _free($11); - $12 = HEAP32[(18356)>>2]|0; + $12 = HEAP32[(18652)>>2]|0; _free($12); - $13 = HEAP32[(18360)>>2]|0; + $13 = HEAP32[(18656)>>2]|0; _free($13); - $14 = HEAP32[(18364)>>2]|0; + $14 = HEAP32[(18660)>>2]|0; _free($14); - $15 = HEAP32[(18368)>>2]|0; + $15 = HEAP32[(18664)>>2]|0; _free($15); return; } @@ -15039,7 +15043,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8838,$vararg_buffer); + _TraceLog(0,8825,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -15061,16 +15065,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2073] = $0; - $1 = +HEAPF64[2056]; + HEAPF64[2110] = $0; + $1 = +HEAPF64[2093]; $2 = $0 - $1; - HEAPF64[2074] = $2; - HEAPF64[2056] = $0; + HEAPF64[2111] = $2; + HEAPF64[2093] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16828; 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)); + dest=$downscaleView$byval_copy; src=17124; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18400); + _rlMultMatrixf(18696); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15079,53 +15083,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[4600] = $1; + HEAP32[4674] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18404)>>2] = $3; + HEAP32[(18700)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18408)>>2] = $5; + HEAP32[(18704)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18412)>>2] = $7; + HEAP32[(18708)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18416)>>2] = $9; + HEAP32[(18712)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18420)>>2] = $11; + HEAP32[(18716)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18424)>>2] = $13; + HEAP32[(18720)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18428)>>2] = $15; + HEAP32[(18724)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18432)>>2] = $17; + HEAP32[(18728)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18436)>>2] = $19; + HEAP32[(18732)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18440)>>2] = $21; + HEAP32[(18736)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18444)>>2] = $23; + HEAP32[(18740)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18448)>>2] = $25; + HEAP32[(18744)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18452)>>2] = $27; + HEAP32[(18748)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18456)>>2] = $29; + HEAP32[(18752)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18460)>>2] = $31; - return (18400|0); + HEAP32[(18756)>>2] = $31; + return (18696|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15200,7 +15204,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4230]|0; + $49 = HEAP32[4304]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15214,15 +15218,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2073] = $0; - $1 = +HEAPF64[2056]; + HEAPF64[2110] = $0; + $1 = +HEAPF64[2093]; $2 = $0 - $1; - HEAPF64[2075] = $2; - HEAPF64[2056] = $0; - $3 = +HEAPF64[2074]; + HEAPF64[2112] = $2; + HEAPF64[2093] = $0; + $3 = +HEAPF64[2111]; $4 = $2 + $3; - HEAPF64[2076] = $4; - $5 = +HEAPF64[2053]; + HEAPF64[2113] = $4; + $5 = +HEAPF64[2090]; $6 = $4 < $5; if (!($6)) { return; @@ -15232,13 +15236,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2073] = $10; - $11 = +HEAPF64[2056]; + HEAPF64[2110] = $10; + $11 = +HEAPF64[2093]; $12 = $10 - $11; - HEAPF64[2056] = $10; - $13 = +HEAPF64[2076]; + HEAPF64[2093] = $10; + $13 = +HEAPF64[2113]; $14 = $12 + $13; - HEAPF64[2076] = $14; + HEAPF64[2113] = $14; return; } function _rlglDraw() { @@ -15251,7 +15255,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4183]|0; + $0 = HEAP32[4257]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15267,20 +15271,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[4616] = 0; - $3 = HEAP32[4183]|0; + HEAP32[4690] = 0; + $3 = HEAP32[4257]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4104] = $5; + HEAPF32[4178] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16420)>>2] = $7; - _memcpy((20079|0),(19567|0),512)|0; - ;HEAP8[19564>>0]=HEAP8[19561>>0]|0;HEAP8[19564+1>>0]=HEAP8[19561+1>>0]|0;HEAP8[19564+2>>0]=HEAP8[19561+2>>0]|0; - $8 = HEAP32[4599]|0; - HEAP32[4186] = $8; - HEAP32[4599] = 0; + HEAPF32[(16716)>>2] = $7; + _memcpy((20375|0),(19863|0),512)|0; + ;HEAP8[19860>>0]=HEAP8[19857>>0]|0;HEAP8[19860+1>>0]=HEAP8[19857+1>>0]|0;HEAP8[19860+2>>0]=HEAP8[19857+2>>0]|0; + $8 = HEAP32[4673]|0; + HEAP32[4260] = $8; + HEAP32[4673] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15290,8 +15294,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20591 + ($$05160<<5)|0); - $scevgep67 = (20719 + ($$05160<<5)|0); + $scevgep = (20887 + ($$05160<<5)|0); + $scevgep67 = (21015 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15305,7 +15309,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20719 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((21015 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15332,7 +15336,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18468 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18764 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15348,7 +15352,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4616] = $$lcssa; + HEAP32[4690] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15389,87 +15393,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4562]|0; + $0 = HEAP32[4636]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4264]|0; + $2 = HEAP32[4338]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4266]|0; - $5 = HEAP32[(18276)>>2]|0; + $4 = HEAP32[4340]|0; + $5 = HEAP32[(18572)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18280)>>2]|0; + $6 = HEAP32[(18576)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4562]|0; + $7 = HEAP32[4636]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18260)>>2]|0; + $9 = HEAP32[(18556)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18284)>>2]|0; + $10 = HEAP32[(18580)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18256)>>2]|0; + $11 = HEAP32[(18552)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18268)>>2]|0; + $13 = HEAP32[(18564)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4574]|0; + $14 = HEAP32[4648]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4264]|0; + $16 = HEAP32[4338]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4266]|0; - $19 = HEAP32[(18324)>>2]|0; + $18 = HEAP32[4340]|0; + $19 = HEAP32[(18620)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18328)>>2]|0; + $20 = HEAP32[(18624)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4574]|0; + $21 = HEAP32[4648]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18308)>>2]|0; + $23 = HEAP32[(18604)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18332)>>2]|0; + $24 = HEAP32[(18628)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18304)>>2]|0; + $25 = HEAP32[(18600)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18316)>>2]|0; + $27 = HEAP32[(18612)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4586]|0; + $28 = HEAP32[4660]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4264]|0; + $30 = HEAP32[4338]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4266]|0; - $33 = HEAP32[(18372)>>2]|0; + $32 = HEAP32[4340]|0; + $33 = HEAP32[(18668)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18376)>>2]|0; + $34 = HEAP32[(18672)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4586]|0; + $35 = HEAP32[4660]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18356)>>2]|0; + $37 = HEAP32[(18652)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18380)>>2]|0; + $38 = HEAP32[(18676)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4586]|0; + $39 = HEAP32[4660]|0; $40 = $39 << 3; - $41 = HEAP32[(18360)>>2]|0; + $41 = HEAP32[(18656)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18384)>>2]|0; + $42 = HEAP32[(18680)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4586]|0; + $43 = HEAP32[4660]|0; $44 = $43 << 2; - $45 = HEAP32[(18364)>>2]|0; + $45 = HEAP32[(18660)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4264]|0; + $46 = HEAP32[4338]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4266]|0; + $48 = HEAP32[4340]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15487,9 +15491,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16924; 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)); - dest=$1; src=16988; 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)); - $3 = HEAP32[4649]|0; + dest=$0; src=17220; 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)); + dest=$1; src=17284; 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)); + $3 = HEAP32[4723]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15499,134 +15503,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4562]|0; + $8 = HEAP32[4636]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4574]|0; + $10 = HEAP32[4648]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4586]|0; + $12 = HEAP32[4660]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4286]|0; + $14 = HEAP32[4360]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=16988; 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)); - dest=$$byval_copy2; src=16924; 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)); + dest=$modelview$byval_copy; src=17284; 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)); + dest=$$byval_copy2; src=17220; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17172)>>2]|0; + $15 = HEAP32[(17468)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17176)>>2]|0; + $17 = HEAP32[(17472)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17188)>>2]|0; + $18 = HEAP32[(17484)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4562]|0; + $19 = HEAP32[4636]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4271]|0; + $21 = HEAP32[4345]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4264]|0; + $22 = HEAP32[4338]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18280)>>2]|0; + $26 = HEAP32[(18576)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17148)>>2]|0; + $27 = HEAP32[(17444)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17148)>>2]|0; + $28 = HEAP32[(17444)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18284)>>2]|0; + $29 = HEAP32[(18580)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17168)>>2]|0; + $30 = HEAP32[(17464)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17168)>>2]|0; + $31 = HEAP32[(17464)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4266]|0; - $25 = HEAP32[(18276)>>2]|0; + $24 = HEAP32[4340]|0; + $25 = HEAP32[(18572)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4562]|0; + $32 = HEAP32[4636]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4264]|0; + $33 = HEAP32[4338]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4574]|0; + $35 = HEAP32[4648]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4271]|0; + $37 = HEAP32[4345]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4264]|0; + $38 = HEAP32[4338]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18328)>>2]|0; + $42 = HEAP32[(18624)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17148)>>2]|0; + $43 = HEAP32[(17444)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17148)>>2]|0; + $44 = HEAP32[(17444)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18332)>>2]|0; + $45 = HEAP32[(18628)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17168)>>2]|0; + $46 = HEAP32[(17464)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17168)>>2]|0; + $47 = HEAP32[(17464)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4266]|0; - $41 = HEAP32[(18324)>>2]|0; + $40 = HEAP32[4340]|0; + $41 = HEAP32[(18620)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4574]|0; + $48 = HEAP32[4648]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4264]|0; + $49 = HEAP32[4338]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4586]|0; + $51 = HEAP32[4660]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4264]|0; + $53 = HEAP32[4338]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18376)>>2]|0; + $57 = HEAP32[(18672)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17148)>>2]|0; + $58 = HEAP32[(17444)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17148)>>2]|0; + $59 = HEAP32[(17444)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18380)>>2]|0; + $60 = HEAP32[(18676)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17152)>>2]|0; + $61 = HEAP32[(17448)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17152)>>2]|0; + $62 = HEAP32[(17448)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18384)>>2]|0; + $63 = HEAP32[(18680)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17168)>>2]|0; + $64 = HEAP32[(17464)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17168)>>2]|0; + $65 = HEAP32[(17464)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18388)>>2]|0; + $66 = HEAP32[(18684)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4266]|0; - $56 = HEAP32[(18372)>>2]|0; + $55 = HEAP32[4340]|0; + $56 = HEAP32[(18668)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4302]|0; + $67 = HEAP32[4376]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4301]|0; + $71 = HEAP32[4375]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15637,14 +15641,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4301]|0; + $80 = HEAP32[4375]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4302]|0; + $87 = HEAP32[4376]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15653,7 +15657,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4264]|0; + $69 = HEAP32[4338]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15661,10 +15665,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4264]|0; + $89 = HEAP32[4338]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4266]|0; + $91 = HEAP32[4340]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15676,22 +15680,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4302] = 1; - $5 = HEAP32[4271]|0; - $6 = HEAP32[4301]|0; + HEAP32[4376] = 1; + $5 = HEAP32[4345]|0; + $6 = HEAP32[4375]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4562] = 0; - HEAP32[(18256)>>2] = 0; - HEAP32[4574] = 0; - HEAP32[(18304)>>2] = 0; - HEAP32[4586] = 0; - HEAP32[(18348)>>2] = 0; - HEAP32[(18352)>>2] = 0; + HEAP32[4636] = 0; + HEAP32[(18552)>>2] = 0; + HEAP32[4648] = 0; + HEAP32[(18600)>>2] = 0; + HEAP32[4660] = 0; + HEAP32[(18644)>>2] = 0; + HEAP32[(18648)>>2] = 0; HEAPF32[744] = -1.0; - dest=16924; src=$0; 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)); - dest=16988; src=$1; 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)); + dest=17220; src=$0; 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)); + dest=17284; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15706,17 +15710,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[4560]|0; + $5 = HEAP32[4634]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4561]|0; + $9 = HEAP32[4635]|0; _rlViewport($7,0,$8,$9); - $10 = (18828 + ($0<<6)|0); + $10 = (19124 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18700 + ($0<<6)|0); + $11 = (18996 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -15728,14 +15732,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16988; src=$0; 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)); + dest=17284; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16924; src=$0; 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)); + dest=17220; src=$0; 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)); return; } function _rlPushMatrix() { @@ -15743,43 +15747,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4739]|0; + $0 = HEAP32[4813]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,8888,$vararg_buffer); + _TraceLog(1,8875,$vararg_buffer); } - $2 = HEAP32[4739]|0; - $3 = (17216 + ($2<<6)|0); - $4 = HEAP32[4230]|0; + $2 = HEAP32[4813]|0; + $3 = (17512 + ($2<<6)|0); + $4 = HEAP32[4304]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[4739]|0; + $5 = HEAP32[4813]|0; $6 = (($5) + 1)|0; - HEAP32[4739] = $6; - $7 = HEAP32[4263]|0; + HEAP32[4813] = $6; + $7 = HEAP32[4337]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4740] = 1; + HEAP32[4814] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4739]|0; + $0 = HEAP32[4813]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4739]|0; + $2 = HEAP32[4813]|0; $3 = (($2) + -1)|0; - $4 = (17216 + ($3<<6)|0); - $5 = HEAP32[4230]|0; + $4 = (17512 + ($3<<6)|0); + $5 = HEAP32[4304]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4739] = $6; + HEAP32[4813] = $6; return; } function _IsFileExtension($0,$1) { @@ -15812,7 +15816,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4230]|0; + $5 = HEAP32[4304]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15845,7 +15849,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4230]|0; + $11 = HEAP32[4304]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15856,7 +15860,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4303] = $0; + HEAP32[4377] = $0; return; } function _rlEnd() { @@ -15872,21 +15876,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4740]|0; + $0 = HEAP32[4814]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4741]|0; + $2 = HEAP32[4815]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4300]|0; + $6 = HEAP32[4374]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4230]|0; + $8 = HEAP32[4304]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4741]|0; + $5 = HEAP32[4815]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15894,12 +15898,12 @@ function _rlEnd() { break; } } - HEAP32[4740] = 0; + HEAP32[4814] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4300]|0; + $11 = HEAP32[4374]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15908,7 +15912,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4741]|0; + $19 = HEAP32[4815]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15918,15 +15922,15 @@ function _rlEnd() { } } } else { - HEAP32[4740] = 0; + HEAP32[4814] = 0; } - HEAP32[4741] = 0; + HEAP32[4815] = 0; } - $21 = HEAP32[4303]|0; + $21 = HEAP32[4377]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4562]|0; - $23 = HEAP32[(18256)>>2]|0; + $22 = HEAP32[4636]|0; + $23 = HEAP32[(18552)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15945,16 +15949,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18268)>>2]|0; - $28 = HEAP32[(18256)>>2]|0; + $27 = HEAP32[(18564)>>2]|0; + $28 = HEAP32[(18552)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18268)>>2]|0; - $35 = HEAP32[(18256)>>2]|0; + $34 = HEAP32[(18564)>>2]|0; + $35 = HEAP32[(18552)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15962,8 +15966,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18268)>>2]|0; - $43 = HEAP32[(18256)>>2]|0; + $42 = HEAP32[(18564)>>2]|0; + $43 = HEAP32[(18552)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15971,8 +15975,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18268)>>2]|0; - $51 = HEAP32[(18256)>>2]|0; + $50 = HEAP32[(18564)>>2]|0; + $51 = HEAP32[(18552)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15980,9 +15984,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18256)>>2]|0; + $58 = HEAP32[(18552)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18256)>>2] = $59; + HEAP32[(18552)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15998,8 +16002,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4574]|0; - $62 = HEAP32[(18304)>>2]|0; + $61 = HEAP32[4648]|0; + $62 = HEAP32[(18600)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -16018,16 +16022,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18316)>>2]|0; - $67 = HEAP32[(18304)>>2]|0; + $66 = HEAP32[(18612)>>2]|0; + $67 = HEAP32[(18600)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18316)>>2]|0; - $74 = HEAP32[(18304)>>2]|0; + $73 = HEAP32[(18612)>>2]|0; + $74 = HEAP32[(18600)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16035,8 +16039,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18316)>>2]|0; - $82 = HEAP32[(18304)>>2]|0; + $81 = HEAP32[(18612)>>2]|0; + $82 = HEAP32[(18600)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16044,8 +16048,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18316)>>2]|0; - $90 = HEAP32[(18304)>>2]|0; + $89 = HEAP32[(18612)>>2]|0; + $90 = HEAP32[(18600)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16053,9 +16057,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18304)>>2]|0; + $97 = HEAP32[(18600)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18304)>>2] = $98; + HEAP32[(18600)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16071,8 +16075,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4586]|0; - $101 = HEAP32[(18352)>>2]|0; + $100 = HEAP32[4660]|0; + $101 = HEAP32[(18648)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16080,16 +16084,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18364)>>2]|0; - $106 = HEAP32[(18352)>>2]|0; + $105 = HEAP32[(18660)>>2]|0; + $106 = HEAP32[(18648)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18364)>>2]|0; - $113 = HEAP32[(18352)>>2]|0; + $112 = HEAP32[(18660)>>2]|0; + $113 = HEAP32[(18648)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16097,8 +16101,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18364)>>2]|0; - $121 = HEAP32[(18352)>>2]|0; + $120 = HEAP32[(18660)>>2]|0; + $121 = HEAP32[(18648)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16106,8 +16110,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18364)>>2]|0; - $129 = HEAP32[(18352)>>2]|0; + $128 = HEAP32[(18660)>>2]|0; + $129 = HEAP32[(18648)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16115,9 +16119,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18352)>>2]|0; + $136 = HEAP32[(18648)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18352)>>2] = $137; + HEAP32[(18648)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16128,8 +16132,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4586]|0; - $140 = HEAP32[(18348)>>2]|0; + $139 = HEAP32[4660]|0; + $140 = HEAP32[(18644)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16137,8 +16141,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18360)>>2]|0; - $$promoted = HEAP32[(18348)>>2]|0; + $142 = HEAP32[(18656)>>2]|0; + $$promoted = HEAP32[(18644)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16146,7 +16150,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18348)>>2] = $147; + HEAP32[(18644)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16173,11 +16177,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4740]|0; + $3 = HEAP32[4814]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4300]|0; - $6 = HEAP32[4741]|0; + $5 = HEAP32[4374]|0; + $6 = HEAP32[4815]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16185,16 +16189,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4741] = $10; + HEAP32[4815] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4303]|0; + $11 = HEAP32[4377]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4562]|0; + $12 = HEAP32[4636]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18260)>>2]|0; + $14 = HEAP32[(18556)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16205,19 +16209,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4562] = $21; + HEAP32[4636] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,8926,$vararg_buffer); + _TraceLog(1,8913,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[4574]|0; + $22 = HEAP32[4648]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18308)>>2]|0; + $24 = HEAP32[(18604)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16228,19 +16232,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4574] = $31; + HEAP32[4648] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,8951,$vararg_buffer1); + _TraceLog(1,8938,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[4586]|0; + $32 = HEAP32[4660]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18356)>>2]|0; + $34 = HEAP32[(18652)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16251,9 +16255,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4586] = $41; - $42 = HEAP32[4301]|0; - $43 = HEAP32[4302]|0; + HEAP32[4660] = $41; + $42 = HEAP32[4375]|0; + $43 = HEAP32[4376]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16261,7 +16265,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,8980,$vararg_buffer3); + _TraceLog(1,8967,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -16296,13 +16300,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4303]|0; + $2 = HEAP32[4377]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18360)>>2]|0; - $5 = HEAP32[(18348)>>2]|0; + $4 = HEAP32[(18656)>>2]|0; + $5 = HEAP32[(18644)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16310,7 +16314,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18348)>>2] = $10; + HEAP32[(18644)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16329,18 +16333,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4303]|0; + $4 = HEAP32[4377]|0; switch ($4|0) { case 1: { - $$sink37 = (18256);$$sink38 = (18268); + $$sink37 = (18552);$$sink38 = (18564); break; } case 4: { - $$sink37 = (18304);$$sink38 = (18316); + $$sink37 = (18600);$$sink38 = (18612); break; } case 7: { - $$sink37 = (18352);$$sink38 = (18364); + $$sink37 = (18648);$$sink38 = (18660); break; } default: { @@ -16379,8 +16383,8 @@ function _rlEnableTexture($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 = HEAP32[4301]|0; - $2 = HEAP32[4302]|0; + $1 = HEAP32[4375]|0; + $2 = HEAP32[4376]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16393,9 +16397,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4302] = $10; + HEAP32[4376] = $10; } - $11 = HEAP32[4302]|0; + $11 = HEAP32[4376]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16406,7 +16410,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4586]|0; + $0 = HEAP32[4660]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16429,7 +16433,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4271]|0; + $1 = HEAP32[4345]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -16452,11 +16456,11 @@ function _LoadText($0) { $$1 = 0; STACKTOP = sp;return ($$1|0); } - $2 = (_fopen($0,9005)|0); + $2 = (_fopen($0,8992)|0); $3 = ($2|0)==(0|0); if ($3) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,9008,$vararg_buffer); + _TraceLog(2,8995,$vararg_buffer); $$1 = 0; STACKTOP = sp;return ($$1|0); } @@ -16506,8 +16510,8 @@ function _LoadShader($0,$1,$2) { $10 = HEAP32[$3>>2]|0; $11 = ($10|0)==(0); if ($11) { - _TraceLog(2,9043,$vararg_buffer); - dest=$3; src=17088; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _TraceLog(2,9030,$vararg_buffer); + dest=$3; src=17384; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } dest=$0; src=$3; stop=dest+56|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; @@ -16526,21 +16530,21 @@ function _UnloadShader($0) { _rlDeleteShader($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,9077,$vararg_buffer); + _TraceLog(0,9064,$vararg_buffer); STACKTOP = sp;return; } function _BeginShaderMode($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - $1 = HEAP32[4286]|0; + $1 = HEAP32[4360]|0; $2 = HEAP32[$0>>2]|0; $3 = ($1|0)==($2|0); if ($3) { return; } _rlglDraw(); - dest=17144; src=$0; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17440; src=$0; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _EndShaderMode() { @@ -16548,7 +16552,7 @@ function _EndShaderMode() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $defaultShader$byval_copy = sp; - dest=$defaultShader$byval_copy; src=17088; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$defaultShader$byval_copy; src=17384; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginShaderMode($defaultShader$byval_copy); STACKTOP = sp;return; } @@ -17267,40 +17271,11 @@ function _DrawPoly($0,$1,$2,$3,$4) { _rlPopMatrix(); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9119); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10452)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4742] = $0; + HEAP32[4816] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -17364,7 +17339,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9131|0),(9157|0),1125,(9180|0)); + ___assert_fail((9106|0),(9132|0),1041,(9155|0)); // unreachable; } } @@ -17382,7 +17357,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4743]|0; + $15 = HEAP32[4817]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -17475,7 +17450,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9221); + _stbi__err(9196); $$0 = 0; return ($$0|0); } else { @@ -17497,7 +17472,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9212); + _stbi__err(9187); $$0 = 0; return ($$0|0); } @@ -17567,7 +17542,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9240); + _stbi__err(9215); $$045 = 0; return ($$045|0); } @@ -18128,7 +18103,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9556 + ($120)|0); + $121 = (9531 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -18170,97 +18145,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9330); + _stbi__err(9305); $$6$ph = 0; break; } case 9: { - _stbi__err(9344); + _stbi__err(9319); $$6$ph = 0; break; } case 11: { - _stbi__err(9357); + _stbi__err(9332); $$6$ph = 0; break; } case 13: { - _stbi__err(9357); + _stbi__err(9332); $$6$ph = 0; break; } case 15: { - _stbi__err(9367); + _stbi__err(9342); $$6$ph = 0; break; } case 17: { - _stbi__err(9387); + _stbi__err(9362); $$6$ph = 0; break; } case 20: { - _stbi__err(9387); + _stbi__err(9362); $$6$ph = 0; break; } case 22: { - _stbi__err(9387); + _stbi__err(9362); $$6$ph = 0; break; } case 24: { - _stbi__err(9397); + _stbi__err(9372); $$6$ph = 0; break; } case 26: { - _stbi__err(9413); + _stbi__err(9388); $$6$ph = 0; break; } case 28: { - _stbi__err(9431); + _stbi__err(9406); $$6$ph = 0; break; } case 31: { - _stbi__err(9452); + _stbi__err(9427); $$6$ph = 0; break; } case 34: { - _stbi__err(9357); + _stbi__err(9332); $$6$ph = 0; break; } case 37: { - _stbi__err(9357); + _stbi__err(9332); $$6$ph = 0; break; } case 39: { - _stbi__err(9466); + _stbi__err(9441); $$6$ph = 0; break; } case 41: { - _stbi__err(9481); + _stbi__err(9456); $$6$ph = 0; break; } case 44: { - _stbi__err(9481); + _stbi__err(9456); $$6$ph = 0; break; } case 47: { - _stbi__err(9466); + _stbi__err(9441); $$6$ph = 0; break; } case 49: { - _stbi__err(9494); + _stbi__err(9469); $$6$ph = 0; break; } @@ -18271,32 +18246,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9510); + _stbi__err(9485); $$6$ph = 0; break; } case 58: { - _stbi__err(9527); + _stbi__err(9502); $$6$ph = 0; break; } case 61: { - _stbi__err(9540); + _stbi__err(9515); $$6$ph = 0; break; } case 63: { - _stbi__err(9527); + _stbi__err(9502); $$6$ph = 0; break; } case 70: { - _stbi__err(9466); + _stbi__err(9441); $$6$ph = 0; break; } case 72: { - _stbi__err(9565); + _stbi__err(9540); $$6$ph = 0; break; } @@ -18308,12 +18283,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9212); + _stbi__err(9187); $$6$ph = 0; break; } case 83: { - _stbi__err(9573); + _stbi__err(9548); $$6$ph = 0; break; } @@ -18326,7 +18301,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9583); + _stbi__err(9558); $$4 = 0; break; } @@ -18391,7 +18366,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4744]|0; + $193 = HEAP32[4818]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -18424,7 +18399,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9466); + _stbi__err(9441); $$4 = 0; } } while(0); @@ -18432,24 +18407,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9466); + _stbi__err(9441); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9591] = $206; + HEAP8[9566] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9592)>>0] = $209; + HEAP8[(9567)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9593)>>0] = $211; + HEAP8[(9568)>>0] = $211; $212 = $207&255; - HEAP8[(9594)>>0] = $212; - _stbi__err(9591); + HEAP8[(9569)>>0] = $212; + _stbi__err(9566); $$6$ph = 0; break; } @@ -18483,14 +18458,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9253|0),(9157|0),1561,(9309|0)); + ___assert_fail((9228|0),(9132|0),1477,(9284|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9212); + _stbi__err(9187); $$0163 = 0; return ($$0163|0); } @@ -18853,7 +18828,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9307|0),(9157|0),1590,(9309|0)); + ___assert_fail((9282|0),(9132|0),1506,(9284|0)); // unreachable; } } while(0); @@ -18887,7 +18862,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9253|0),(9157|0),1610,(9284|0)); + ___assert_fail((9228|0),(9132|0),1526,(9259|0)); // unreachable; } $7 = $2 << 1; @@ -18897,7 +18872,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9212); + _stbi__err(9187); $$0163 = 0; return ($$0163|0); } @@ -19260,7 +19235,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9307|0),(9157|0),1639,(9284|0)); + ___assert_fail((9282|0),(9132|0),1555,(9259|0)); // unreachable; } } while(0); @@ -19408,7 +19383,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10248); + _stbi__err(10543); $$05 = 0; return ($$05|0); } @@ -19845,7 +19820,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9650|0),(9157|0),4568,(9702|0)); + ___assert_fail((9625|0),(9132|0),4569,(9677|0)); // unreachable; } } @@ -19932,7 +19907,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9650|0),(9157|0),4543,(9675|0)); + ___assert_fail((9625|0),(9132|0),4544,(9650|0)); // unreachable; } } @@ -19979,7 +19954,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4745]|0; + $16 = HEAP32[4819]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -20054,7 +20029,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9616|0),(9157|0),4649,(9634|0)); + ___assert_fail((9591|0),(9132|0),4650,(9609|0)); // unreachable; } } @@ -20077,7 +20052,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9212); + _stbi__err(9187); $$0 = 0; return ($$0|0); } @@ -20254,7 +20229,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9731|0),(9157|0),4294,(9772|0)); + ___assert_fail((9706|0),(9132|0),4294,(9747|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -20262,7 +20237,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9212); + _stbi__err(9187); $$2 = 0; return ($$2|0); } @@ -20281,7 +20256,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9799); + _stbi__err(9774); $$2 = 0; return ($$2|0); } @@ -20294,7 +20269,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9799); + _stbi__err(9774); $$2 = 0; return ($$2|0); } @@ -20302,12 +20277,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -20330,33 +20305,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9838 + ($56)|0); + $60 = (9813 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -20366,24 +20341,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -20393,10 +20368,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -20407,10 +20382,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -20421,14 +20396,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -20458,7 +20433,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -20473,12 +20448,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -21055,15 +21030,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9817|0),(9157|0),4315,(9772|0)); + ___assert_fail((9792|0),(9132|0),4315,(9747|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9843|0),(9157|0),4376,(9772|0)); + ___assert_fail((9818|0),(9132|0),4377,(9747|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9860); + _stbi__err(9835); $$2 = 0; return ($$2|0); } @@ -21113,7 +21088,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9556 + ($6)|0); + $336 = (9531 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -21554,7 +21529,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9875|0),(9157|0),4465,(9772|0)); + ___assert_fail((9850|0),(9132|0),4466,(9747|0)); // unreachable; } else if ((label|0) == 151) { @@ -21614,8 +21589,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -21630,15 +21605,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -21647,65 +21622,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20878)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9861,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,20879,288)|0); + $15 = (_stbi__zbuild_huffman($8,10149,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,20847,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -21724,14 +21694,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10201); + _stbi__err(10496); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10217); + _stbi__err(10512); $$0 = 0; return ($$0|0); } @@ -21740,7 +21710,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10232); + _stbi__err(10527); $$0 = 0; return ($$0|0); } @@ -21823,7 +21793,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10123|0),(9157|0),4048,(10140|0)); + ___assert_fail((10418|0),(9132|0),4033,(10435|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -21860,7 +21830,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10171); + _stbi__err(10466); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21870,7 +21840,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10184); + _stbi__err(10479); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21900,21 +21870,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20879|0),8,144)|0; - dest=(21023); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21135); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21159); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20847; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -22048,7 +22003,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10061); + _stbi__err(10356); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22137,7 +22092,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10113); + _stbi__err(10408); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22166,7 +22121,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10907 + ($$06579)|0); + $14 = (11202 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -22257,21 +22212,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10061); + _stbi__err(10356); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10061); + _stbi__err(10356); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10077|0),(9157|0),4021,(10085|0)); + ___assert_fail((10372|0),(9132|0),4006,(10380|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10061); + _stbi__err(10356); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22281,7 +22236,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10061); + _stbi__err(10356); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22445,7 +22400,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9886); + _stbi__err(10181); $$3$ph = 0; return ($$3$ph|0); } @@ -22455,12 +22410,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9886); + _stbi__err(10181); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9903); + _stbi__err(10198); $$3$ph = 0; return ($$3$ph|0); } @@ -22517,7 +22472,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9912); + _stbi__err(10207); $$0 = 0; return ($$0|0); } @@ -22543,7 +22498,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9212); + _stbi__err(9187); $$0 = 0; return ($$0|0); } else { @@ -22588,7 +22543,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10008|0),(9157|0),3863,(10045|0)); + ___assert_fail((10303|0),(9132|0),3848,(10340|0)); // unreachable; } else if ((label|0) == 5) { @@ -22636,7 +22591,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9932|0),(9157|0),3891,(9948|0)); + ___assert_fail((10227|0),(9132|0),3876,(10243|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -22664,7 +22619,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((9979|0),(9157|0),3781,(9990|0)); + ___assert_fail((10274|0),(9132|0),3766,(10285|0)); // unreachable; } return (0)|0; @@ -22810,10 +22765,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -22824,27 +22779,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10260)|0); + $6 = (_IsFileExtension($1,10555)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10313)|0); + $19 = (_IsFileExtension($1,10608)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10318,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10613,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10747)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -22872,7 +22828,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -22889,18 +22845,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10266,$vararg_buffer); + _TraceLog(2,10561,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -22909,34 +22865,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10354,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,10649,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10393,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10688,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22955,11 +22918,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10452)|0); + $4 = (_fopen($0,10747)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10455,$vararg_buffer); + _TraceLog(2,10750,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -23058,7 +23021,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10552,$vararg_buffer4); + _TraceLog(0,10847,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -23093,14 +23056,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10598,$vararg_buffer8); + _TraceLog(2,10893,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10506,$vararg_buffer1); + _TraceLog(2,10801,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -23190,7 +23153,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10424,$vararg_buffer); + _TraceLog(2,10719,$vararg_buffer); $$0 = $6; } } @@ -23235,27 +23198,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10648,$vararg_buffer); + _TraceLog(2,10943,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10687,$vararg_buffer1); + _TraceLog(2,10982,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10713,$vararg_buffer3); + _TraceLog(2,11008,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10776,$vararg_buffer5); + _TraceLog(2,11071,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10811,$vararg_buffer7); + _TraceLog(2,11106,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10846,$vararg_buffer10); + _TraceLog(0,11141,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -24438,7 +24401,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10903 + ($$361133)|0); + $199 = (11198 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -24868,7 +24831,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10903 + ($$331130)|0); + $186 = (11198 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -24906,7 +24869,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10903 + ($$371134)|0); + $203 = (11198 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24945,7 +24908,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10907 + ($$421139)|0); + $235 = (11202 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -25352,7 +25315,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10926 + ($495)|0); + $496 = (11221 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -25389,7 +25352,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10930 + ($515)|0); + $516 = (11225 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -26301,7 +26264,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,10934,$vararg_buffer); + _TraceLog(2,11229,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -26322,7 +26285,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16772>>2]|0;HEAP32[$0+4>>2]=HEAP32[16772+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16772+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16772+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16772+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16772+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16772+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16772+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17068>>2]|0;HEAP32[$0+4>>2]=HEAP32[17068+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17068+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17068+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17068+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17068+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17068+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17068+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -26828,7 +26791,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,10963)|0); + $12 = (_strstr($11,11258)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -26837,7 +26800,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,10967)|0); + $17 = (_strstr($16,11262)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -26846,7 +26809,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,10971)|0); + $22 = (_strstr($21,11266)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -26855,7 +26818,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,10975)|0); + $27 = (_strstr($26,11270)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -26864,1210 +26827,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,10981)|0); + $32 = (_strcmp($31,11276)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11019)|0); + $35 = (_strcmp($34,11314)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11038; + HEAP32[$3>>2] = 11333; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11051)|0); + $38 = (_strcmp($37,11346)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11072; + HEAP32[$3>>2] = 11367; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11087)|0); + $41 = (_strcmp($40,11382)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11102; + HEAP32[$3>>2] = 11397; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11117)|0); + $44 = (_strcmp($43,11412)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11132; + HEAP32[$3>>2] = 11427; } } else { - HEAP32[$3>>2] = 11003; + HEAP32[$3>>2] = 11298; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11147)|0); + $47 = (_strcmp($46,11442)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11161)|0); + $50 = (_strcmp($49,11456)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11173)|0); + $53 = (_strcmp($52,11468)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11187)|0); + $56 = (_strcmp($55,11482)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11199)|0); + $59 = (_strcmp($58,11494)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11213)|0); + $62 = (_strcmp($61,11508)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11227)|0); + $65 = (_strcmp($64,11522)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11244)|0); + $68 = (_strcmp($67,11539)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11267)|0); + $71 = (_strcmp($70,11562)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11293)|0); + $74 = (_strcmp($73,11588)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11306)|0); + $77 = (_strcmp($76,11601)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11322)|0); + $80 = (_strcmp($79,11617)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11335)|0); + $83 = (_strcmp($82,11630)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11349)|0); + $86 = (_strcmp($85,11644)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11369)|0); + $89 = (_strcmp($88,11664)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11389)|0); + $92 = (_strcmp($91,11684)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11406)|0); + $95 = (_strcmp($94,11701)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11423)|0); + $98 = (_strcmp($97,11718)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11435)|0); + $101 = (_strcmp($100,11730)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11448)|0); + $104 = (_strcmp($103,11743)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11464)|0); + $107 = (_strcmp($106,11759)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11487)|0); + $110 = (_strcmp($109,11782)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11500)|0); + $113 = (_strcmp($112,11795)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11516)|0); + $116 = (_strcmp($115,11811)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11527)|0); + $119 = (_strcmp($118,11822)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11546)|0); + $122 = (_strcmp($121,11841)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11568)|0); + $125 = (_strcmp($124,11863)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11587)|0); + $128 = (_strcmp($127,11882)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11616)|0); + $131 = (_strcmp($130,11911)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11633)|0); + $134 = (_strcmp($133,11928)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11648)|0); + $137 = (_strcmp($136,11943)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11663)|0); + $140 = (_strcmp($139,11958)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11684)|0); + $143 = (_strcmp($142,11979)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11704)|0); + $146 = (_strcmp($145,11999)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11724)|0); + $149 = (_strcmp($148,12019)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11750)|0); + $152 = (_strcmp($151,12045)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11769)|0); + $155 = (_strcmp($154,12064)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11781)|0); + $158 = (_strcmp($157,12076)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11793)|0); + $161 = (_strcmp($160,12088)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11805)|0); + $164 = (_strcmp($163,12100)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11817)|0); + $167 = (_strcmp($166,12112)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11829)|0); + $170 = (_strcmp($169,12124)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11841)|0); + $173 = (_strcmp($172,12136)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11853)|0); + $176 = (_strcmp($175,12148)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11865)|0); + $179 = (_strcmp($178,12160)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11878)|0); + $182 = (_strcmp($181,12173)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11891)|0); + $185 = (_strcmp($184,12186)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11904)|0); + $188 = (_strcmp($187,12199)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11917)|0); + $191 = (_strcmp($190,12212)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11930)|0); + $194 = (_strcmp($193,12225)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11943)|0); + $197 = (_strcmp($196,12238)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,11956)|0); + $200 = (_strcmp($199,12251)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,11969)|0); + $203 = (_strcmp($202,12264)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,11988)|0); + $206 = (_strcmp($205,12283)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12007)|0); + $209 = (_strcmp($208,12302)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12026)|0); + $212 = (_strcmp($211,12321)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12039)|0); + $215 = (_strcmp($214,12334)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12057)|0); + $218 = (_strcmp($217,12352)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12075)|0); + $221 = (_strcmp($220,12370)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12093)|0); + $224 = (_strcmp($223,12388)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12111)|0); + $227 = (_strcmp($226,12406)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12131)|0); + $230 = (_strcmp($229,12426)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11072)|0); + $233 = (_strcmp($232,11367)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12149)|0); + $236 = (_strcmp($235,12444)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12164)|0); + $239 = (_strcmp($238,12459)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12185)|0); + $242 = (_strcmp($241,12480)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12200)|0); + $245 = (_strcmp($244,12495)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12218)|0); + $248 = (_strcmp($247,12513)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12234)|0); + $251 = (_strcmp($250,12529)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12253)|0); + $254 = (_strcmp($253,12548)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12267)|0); + $257 = (_strcmp($256,12562)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12282)|0); + $260 = (_strcmp($259,12577)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11003)|0); + $263 = (_strcmp($262,11298)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12293)|0); + $266 = (_strcmp($265,12588)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11102)|0); + $269 = (_strcmp($268,11397)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11132)|0); + $272 = (_strcmp($271,11427)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12309)|0); + $275 = (_strcmp($274,12604)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12336)|0); + $278 = (_strcmp($277,12631)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12350)|0); + $281 = (_strcmp($280,12645)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11038)|0); + $284 = (_strcmp($283,11333)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12370)|0); + $287 = (_strcmp($286,12665)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12388)|0); + $290 = (_strcmp($289,12683)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12400)|0); + $293 = (_strcmp($292,12695)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12421)|0); + $296 = (_strcmp($295,12716)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12439)|0); + $299 = (_strcmp($298,12734)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12457)|0); + $302 = (_strcmp($301,12752)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12478)|0); + $305 = (_strcmp($304,12773)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12504)|0); + $308 = (_strcmp($307,12799)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12527)|0); + $311 = (_strcmp($310,12822)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12565)|0); + $314 = (_strcmp($313,12860)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12581)|0); + $317 = (_strcmp($316,12876)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12596)|0); + $320 = (_strcmp($319,12891)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12619)|0); + $323 = (_strcmp($322,12914)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12632)|0); + $326 = (_strcmp($325,12927)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12646)|0); + $329 = (_strcmp($328,12941)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12660)|0); + $332 = (_strcmp($331,12955)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12680)|0); + $335 = (_strcmp($334,12975)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12700)|0); + $338 = (_strcmp($337,12995)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12716)|0); + $341 = (_strcmp($340,13011)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12734)|0); + $344 = (_strcmp($343,13029)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12750)|0); + $347 = (_strcmp($346,13045)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12765)|0); + $350 = (_strcmp($349,13060)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12787)|0); + $353 = (_strcmp($352,13082)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12805)|0); + $356 = (_strcmp($355,13100)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12826)|0); + $359 = (_strcmp($358,13121)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12844)|0); + $362 = (_strcmp($361,13139)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12857)|0); + $365 = (_strcmp($364,13152)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12872)|0); + $368 = (_strcmp($367,13167)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12886)|0); + $371 = (_strcmp($370,13181)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12896)|0); + $374 = (_strcmp($373,13191)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12906)|0); + $377 = (_strcmp($376,13201)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12928)|0); + $380 = (_strcmp($379,13223)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,12954)|0); + $383 = (_strcmp($382,13249)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,12981)|0); + $386 = (_strcmp($385,13276)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,12994)|0); + $389 = (_strcmp($388,13289)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13009)|0); + $392 = (_strcmp($391,13304)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13024)|0); + $395 = (_strcmp($394,13319)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13048)|0); + $398 = (_strcmp($397,13343)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13059)|0); + $401 = (_strcmp($400,13354)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13081)|0); + $404 = (_strcmp($403,13376)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13103)|0); + $407 = (_strcmp($406,13398)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13127)|0); + $410 = (_strcmp($409,13422)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13136)|0); + $413 = (_strcmp($412,13431)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13144)|0); + $416 = (_strcmp($415,13439)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13157)|0); + $419 = (_strcmp($418,13452)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13171)|0); + $422 = (_strcmp($421,13466)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13183)|0); + $425 = (_strcmp($424,13478)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13192)|0); + $428 = (_strcmp($427,13487)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13202)|0); + $431 = (_strcmp($430,13497)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13214)|0); + $434 = (_strcmp($433,13509)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13225)|0); + $437 = (_strcmp($436,13520)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13233)|0); + $440 = (_strcmp($439,13528)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13245)|0); + $443 = (_strcmp($442,13540)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13260)|0); + $446 = (_strcmp($445,13555)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13272)|0); + $449 = (_strcmp($448,13567)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13286)|0); + $452 = (_strcmp($451,13581)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13311)|0); + $455 = (_strcmp($454,13606)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13328)|0); + $458 = (_strcmp($457,13623)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13344)|0); + $461 = (_strcmp($460,13639)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13360)|0); + $464 = (_strcmp($463,13655)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13372)|0); + $467 = (_strcmp($466,13667)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13384)|0); + $470 = (_strcmp($469,13679)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13408)|0); + $473 = (_strcmp($472,13703)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13421)|0); + $476 = (_strcmp($475,13716)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13435)|0); + $479 = (_strcmp($478,13730)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13457)|0); + $482 = (_strcmp($481,13752)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13464)|0); + $485 = (_strcmp($484,13759)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13480)|0); + $488 = (_strcmp($487,13775)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13497)|0); + $491 = (_strcmp($490,13792)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13514)|0); + $494 = (_strcmp($493,13809)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13530)|0); + $497 = (_strcmp($496,13825)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13546)|0); + $500 = (_strcmp($499,13841)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13563)|0); + $503 = (_strcmp($502,13858)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13577)|0); + $506 = (_strcmp($505,13872)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13589)|0); + $509 = (_strcmp($508,13884)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13600)|0); + $512 = (_strcmp($511,13895)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13613)|0); + $515 = (_strcmp($514,13908)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13623)|0); + $518 = (_strcmp($517,13918)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13640)|0); + $521 = (_strcmp($520,13935)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13652)|0); + $524 = (_strcmp($523,13947)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13674)|0); + $527 = (_strcmp($526,13969)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13694)|0); + $530 = (_strcmp($529,13989)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13707)|0); + $533 = (_strcmp($532,14002)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13729)|0); + $536 = (_strcmp($535,14024)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13749)|0); + $539 = (_strcmp($538,14044)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13766)|0); + $542 = (_strcmp($541,14061)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13783)|0); + $545 = (_strcmp($544,14078)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13803)|0); + $548 = (_strcmp($547,14098)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -28089,7 +28052,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (18984|0); + return (19280|0); } function ___stdio_close($0) { $0 = $0|0; @@ -28953,7 +28916,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13919 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14214 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -29131,7 +29094,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14383;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14678;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -29152,7 +29115,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14383;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14678;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -29160,8 +29123,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14383 : (14385); - $$$ = $238 ? $$ : (14384); + $$ = $240 ? 14678 : (14680); + $$$ = $238 ? $$ : (14679); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -29178,7 +29141,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14383;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14678;$242 = $167;$243 = $170; label = 66; break; } @@ -29191,7 +29154,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14383;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14678;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -29205,7 +29168,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14393; + $271 = $270 ? $269 : 14688; $$1 = $271; label = 71; break; @@ -29245,7 +29208,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14383;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14678;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -29267,8 +29230,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14383 + ($208)|0); - $$289 = $or$cond283 ? 14383 : $209; + $209 = (14678 + ($208)|0); + $$289 = $or$cond283 ? 14678 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -29289,7 +29252,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14383;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14678;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -29819,7 +29782,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14435 + ($7)|0); + $9 = (14730 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -30177,14 +30140,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14400; + $$0471 = $14;$$0520 = 1;$$0521 = 14695; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14401) : (14406); - $$$ = $16 ? $$ : (14403); + $$ = $18 ? (14696) : (14701); + $$$ = $16 ? $$ : (14698); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -30283,7 +30246,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14435 + ($80)|0); + $81 = (14730 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -30894,7 +30857,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14451,1); + _out($0,14746,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -30975,7 +30938,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14451,1); + _out($0,14746,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -31032,9 +30995,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14419 : 14423; + $29 = $28 ? 14714 : 14718; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14427 : 14431; + $31 = $28 ? 14722 : 14726; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -31244,7 +31207,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14453 + ($$016)|0); + $3 = (14748 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -31255,7 +31218,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14541;$$115 = 87; + $$01214 = 14836;$$115 = 87; label = 5; break; } else { @@ -31265,9 +31228,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14541; + $$012$lcssa = 14836; } else { - $$01214 = 14541;$$115 = $$016; + $$01214 = 14836;$$115 = $$016; label = 5; } } @@ -31930,7 +31893,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16345,$3,4)|0); + $memchr = (_memchr(16640,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -32019,7 +31982,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16345,$4,4)|0); + $memchr = (_memchr(16640,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -32110,7 +32073,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(18988)>>2]|0; + $38 = HEAP32[(19284)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -32143,13 +32106,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19048|0)); - return (19056|0); + ___lock((19344|0)); + return (19352|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19048|0)); + ___unlock((19344|0)); return; } function _fclose($0) { @@ -33213,7 +33176,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16616; + $2 = 16912; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -33527,7 +33490,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4765]|0; + $3 = HEAP32[4839]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -33546,22 +33509,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4765] = 0; + HEAP32[4839] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4765] = $10; + HEAP32[4839] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4765] = 0; + HEAP32[4839] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4765] = $13; + HEAP32[4839] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -33642,7 +33605,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4766]|0; + $8 = HEAP32[4840]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -33651,7 +33614,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19104 + ($15<<2)|0); + $16 = (19400 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -33662,9 +33625,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4766] = $24; + HEAP32[4840] = $24; } else { - $25 = HEAP32[(19080)>>2]|0; + $25 = HEAP32[(19376)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -33695,7 +33658,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19072)>>2]|0; + $37 = HEAP32[(19368)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -33729,7 +33692,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19104 + ($68<<2)|0); + $69 = (19400 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -33740,10 +33703,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4766] = $77; + HEAP32[4840] = $77; $98 = $77; } else { - $78 = HEAP32[(19080)>>2]|0; + $78 = HEAP32[(19376)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -33776,22 +33739,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19084)>>2]|0; + $92 = HEAP32[(19380)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19104 + ($94<<2)|0); + $95 = (19400 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4766] = $100; + HEAP32[4840] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19080)>>2]|0; + $103 = HEAP32[(19376)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -33808,12 +33771,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19072)>>2] = $84; - HEAP32[(19084)>>2] = $87; + HEAP32[(19368)>>2] = $84; + HEAP32[(19380)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19068)>>2]|0; + $108 = HEAP32[(19364)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -33841,7 +33804,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19368 + ($132<<2)|0); + $133 = (19664 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -33881,7 +33844,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19080)>>2]|0; + $155 = HEAP32[(19376)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -33976,7 +33939,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19368 + ($188<<2)|0); + $189 = (19664 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -33987,11 +33950,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19068)>>2] = $194; + HEAP32[(19364)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19080)>>2]|0; + $195 = HEAP32[(19376)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -34012,7 +33975,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19080)>>2]|0; + $201 = HEAP32[(19376)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -34042,7 +34005,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19080)>>2]|0; + $213 = HEAP32[(19376)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -34079,22 +34042,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19084)>>2]|0; + $231 = HEAP32[(19380)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19104 + ($233<<2)|0); + $234 = (19400 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4766] = $238; + HEAP32[4840] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19080)>>2]|0; + $241 = HEAP32[(19376)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -34111,8 +34074,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19072)>>2] = $$0193$lcssa$i; - HEAP32[(19084)>>2] = $157; + HEAP32[(19368)>>2] = $$0193$lcssa$i; + HEAP32[(19380)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -34128,7 +34091,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19068)>>2]|0; + $250 = HEAP32[(19364)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -34168,7 +34131,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19368 + ($$0358$i<<2)|0); + $278 = (19664 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -34260,7 +34223,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19368 + ($330<<2)|0); + $331 = (19664 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -34304,11 +34267,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19072)>>2]|0; + $345 = HEAP32[(19368)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19080)>>2]|0; + $348 = HEAP32[(19376)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -34405,7 +34368,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19368 + ($381<<2)|0); + $382 = (19664 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -34416,12 +34379,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19068)>>2] = $387; + HEAP32[(19364)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19080)>>2]|0; + $388 = HEAP32[(19376)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -34443,7 +34406,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19080)>>2]|0; + $394 = HEAP32[(19376)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -34475,7 +34438,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19080)>>2]|0; + $406 = HEAP32[(19376)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -34516,20 +34479,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19104 + ($425<<2)|0); - $427 = HEAP32[4766]|0; + $426 = (19400 + ($425<<2)|0); + $427 = HEAP32[4840]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4766] = $431; + HEAP32[4840] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19080)>>2]|0; + $434 = HEAP32[(19376)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -34581,7 +34544,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19368 + ($$0361$i<<2)|0); + $464 = (19664 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -34593,7 +34556,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19068)>>2] = $472; + HEAP32[(19364)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -34632,7 +34595,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19080)>>2]|0; + $491 = HEAP32[(19376)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -34651,7 +34614,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19080)>>2]|0; + $498 = HEAP32[(19376)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -34684,16 +34647,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19072)>>2]|0; + $506 = HEAP32[(19368)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19084)>>2]|0; + $509 = HEAP32[(19380)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19084)>>2] = $511; - HEAP32[(19072)>>2] = $508; + HEAP32[(19380)>>2] = $511; + HEAP32[(19368)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -34703,8 +34666,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19072)>>2] = 0; - HEAP32[(19084)>>2] = 0; + HEAP32[(19368)>>2] = 0; + HEAP32[(19380)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -34718,14 +34681,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19076)>>2]|0; + $524 = HEAP32[(19372)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19076)>>2] = $526; - $527 = HEAP32[(19088)>>2]|0; + HEAP32[(19372)>>2] = $526; + $527 = HEAP32[(19384)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19088)>>2] = $528; + HEAP32[(19384)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -34736,23 +34699,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4884]|0; + $534 = HEAP32[4958]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19544)>>2] = 4096; - HEAP32[(19540)>>2] = 4096; - HEAP32[(19548)>>2] = -1; - HEAP32[(19552)>>2] = -1; - HEAP32[(19556)>>2] = 0; - HEAP32[(19508)>>2] = 0; + HEAP32[(19840)>>2] = 4096; + HEAP32[(19836)>>2] = 4096; + HEAP32[(19844)>>2] = -1; + HEAP32[(19848)>>2] = -1; + HEAP32[(19852)>>2] = 0; + HEAP32[(19804)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4884] = $538; + HEAP32[4958] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19544)>>2]|0; + $$pre$i212 = HEAP32[(19840)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -34765,10 +34728,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19504)>>2]|0; + $546 = HEAP32[(19800)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19496)>>2]|0; + $548 = HEAP32[(19792)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -34778,18 +34741,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19508)>>2]|0; + $552 = HEAP32[(19804)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19088)>>2]|0; + $555 = HEAP32[(19384)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19512); + $$0$i$i = (19808); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -34847,7 +34810,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19540)>>2]|0; + $569 = HEAP32[(19836)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -34857,13 +34820,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19496)>>2]|0; + $578 = HEAP32[(19792)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19504)>>2]|0; + $582 = HEAP32[(19800)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -34909,7 +34872,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19544)>>2]|0; + $601 = HEAP32[(19840)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -34934,9 +34897,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19508)>>2]|0; + $611 = HEAP32[(19804)>>2]|0; $612 = $611 | 4; - HEAP32[(19508)>>2] = $612; + HEAP32[(19804)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -34972,35 +34935,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19496)>>2]|0; + $626 = HEAP32[(19792)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19496)>>2] = $627; - $628 = HEAP32[(19500)>>2]|0; + HEAP32[(19792)>>2] = $627; + $628 = HEAP32[(19796)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19500)>>2] = $627; + HEAP32[(19796)>>2] = $627; } - $630 = HEAP32[(19088)>>2]|0; + $630 = HEAP32[(19384)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19080)>>2]|0; + $632 = HEAP32[(19376)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19080)>>2] = $$749$i; + HEAP32[(19376)>>2] = $$749$i; } - HEAP32[(19512)>>2] = $$749$i; - HEAP32[(19516)>>2] = $$723948$i; - HEAP32[(19524)>>2] = 0; - $635 = HEAP32[4884]|0; - HEAP32[(19100)>>2] = $635; - HEAP32[(19096)>>2] = -1; + HEAP32[(19808)>>2] = $$749$i; + HEAP32[(19812)>>2] = $$723948$i; + HEAP32[(19820)>>2] = 0; + $635 = HEAP32[4958]|0; + HEAP32[(19396)>>2] = $635; + HEAP32[(19392)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19104 + ($636<<2)|0); + $637 = (19400 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -35023,18 +34986,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19088)>>2] = $649; - HEAP32[(19076)>>2] = $650; + HEAP32[(19384)>>2] = $649; + HEAP32[(19372)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19552)>>2]|0; - HEAP32[(19092)>>2] = $655; + $655 = HEAP32[(19848)>>2]|0; + HEAP32[(19388)>>2] = $655; } else { - $$024371$i = (19512); + $$024371$i = (19808); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -35066,7 +35029,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19076)>>2]|0; + $671 = HEAP32[(19372)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -35077,30 +35040,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19088)>>2] = $679; - HEAP32[(19076)>>2] = $681; + HEAP32[(19384)>>2] = $679; + HEAP32[(19372)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19552)>>2]|0; - HEAP32[(19092)>>2] = $686; + $686 = HEAP32[(19848)>>2]|0; + HEAP32[(19388)>>2] = $686; break; } } } - $687 = HEAP32[(19080)>>2]|0; + $687 = HEAP32[(19376)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19080)>>2] = $$749$i; + HEAP32[(19376)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19512); + $$124470$i = (19808); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -35155,21 +35118,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19076)>>2]|0; + $726 = HEAP32[(19372)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19076)>>2] = $727; - HEAP32[(19088)>>2] = $721; + HEAP32[(19372)>>2] = $727; + HEAP32[(19384)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19084)>>2]|0; + $730 = HEAP32[(19380)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19072)>>2]|0; + $732 = HEAP32[(19368)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19072)>>2] = $733; - HEAP32[(19084)>>2] = $721; + HEAP32[(19368)>>2] = $733; + HEAP32[(19380)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -35192,7 +35155,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19104 + ($748<<2)|0); + $749 = (19400 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -35215,9 +35178,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4766]|0; + $759 = HEAP32[4840]|0; $760 = $759 & $758; - HEAP32[4766] = $760; + HEAP32[4840] = $760; break; } $761 = ($747|0)==($749|0); @@ -35330,7 +35293,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19368 + ($796<<2)|0); + $797 = (19664 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -35342,12 +35305,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19068)>>2]|0; + $802 = HEAP32[(19364)>>2]|0; $803 = $802 & $801; - HEAP32[(19068)>>2] = $803; + HEAP32[(19364)>>2] = $803; break L314; } else { - $804 = HEAP32[(19080)>>2]|0; + $804 = HEAP32[(19376)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -35368,7 +35331,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19080)>>2]|0; + $810 = HEAP32[(19376)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -35400,7 +35363,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19080)>>2]|0; + $822 = HEAP32[(19376)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -35433,21 +35396,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19104 + ($836<<2)|0); - $838 = HEAP32[4766]|0; + $837 = (19400 + ($836<<2)|0); + $838 = HEAP32[4840]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4766] = $842; + HEAP32[4840] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19080)>>2]|0; + $845 = HEAP32[(19376)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -35502,20 +35465,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19368 + ($$0296$i$i<<2)|0); + $875 = (19664 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19068)>>2]|0; + $879 = HEAP32[(19364)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19068)>>2] = $883; + HEAP32[(19364)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -35554,7 +35517,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19080)>>2]|0; + $902 = HEAP32[(19376)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -35573,7 +35536,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19080)>>2]|0; + $909 = HEAP32[(19376)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -35600,7 +35563,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19512); + $$0$i$i$i = (19808); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -35641,23 +35604,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19088)>>2] = $946; - HEAP32[(19076)>>2] = $947; + HEAP32[(19384)>>2] = $946; + HEAP32[(19372)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19552)>>2]|0; - HEAP32[(19092)>>2] = $952; + $952 = HEAP32[(19848)>>2]|0; + HEAP32[(19388)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19512)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19512)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19512)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19512)+12>>2]|0; - HEAP32[(19512)>>2] = $$749$i; - HEAP32[(19516)>>2] = $$723948$i; - HEAP32[(19524)>>2] = 0; - HEAP32[(19520)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19808)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19808)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19808)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19808)+12>>2]|0; + HEAP32[(19808)>>2] = $$749$i; + HEAP32[(19812)>>2] = $$723948$i; + HEAP32[(19820)>>2] = 0; + HEAP32[(19816)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -35686,20 +35649,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19104 + ($968<<2)|0); - $970 = HEAP32[4766]|0; + $969 = (19400 + ($968<<2)|0); + $970 = HEAP32[4840]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4766] = $974; + HEAP32[4840] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19080)>>2]|0; + $977 = HEAP32[(19376)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -35751,19 +35714,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19368 + ($$0212$i$i<<2)|0); + $1007 = (19664 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19068)>>2]|0; + $1010 = HEAP32[(19364)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19068)>>2] = $1014; + HEAP32[(19364)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -35802,7 +35765,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19080)>>2]|0; + $1033 = HEAP32[(19376)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -35821,7 +35784,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19080)>>2]|0; + $1040 = HEAP32[(19376)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -35844,14 +35807,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19076)>>2]|0; + $1048 = HEAP32[(19372)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19076)>>2] = $1050; - $1051 = HEAP32[(19088)>>2]|0; + HEAP32[(19372)>>2] = $1050; + $1051 = HEAP32[(19384)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19088)>>2] = $1052; + HEAP32[(19384)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -35894,7 +35857,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19080)>>2]|0; + $3 = HEAP32[(19376)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -35927,7 +35890,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19084)>>2]|0; + $19 = HEAP32[(19380)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -35942,7 +35905,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19072)>>2] = $17; + HEAP32[(19368)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -35956,7 +35919,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19104 + ($27<<2)|0); + $28 = (19400 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -35976,9 +35939,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4766]|0; + $37 = HEAP32[4840]|0; $38 = $37 & $36; - HEAP32[4766] = $38; + HEAP32[4840] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -36092,7 +36055,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19368 + ($74<<2)|0); + $75 = (19664 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -36102,14 +36065,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19068)>>2]|0; + $80 = HEAP32[(19364)>>2]|0; $81 = $80 & $79; - HEAP32[(19068)>>2] = $81; + HEAP32[(19364)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19080)>>2]|0; + $82 = HEAP32[(19376)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -36131,7 +36094,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19080)>>2]|0; + $88 = HEAP32[(19376)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -36163,7 +36126,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19080)>>2]|0; + $100 = HEAP32[(19376)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -36198,14 +36161,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19088)>>2]|0; + $120 = HEAP32[(19384)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19084)>>2]|0; + $122 = HEAP32[(19380)>>2]|0; if ($121) { - $123 = HEAP32[(19076)>>2]|0; + $123 = HEAP32[(19372)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19076)>>2] = $124; - HEAP32[(19088)>>2] = $$1; + HEAP32[(19372)>>2] = $124; + HEAP32[(19384)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36213,16 +36176,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19084)>>2] = 0; - HEAP32[(19072)>>2] = 0; + HEAP32[(19380)>>2] = 0; + HEAP32[(19368)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19072)>>2]|0; + $129 = HEAP32[(19368)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19072)>>2] = $130; - HEAP32[(19084)>>2] = $113; + HEAP32[(19368)>>2] = $130; + HEAP32[(19380)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -36241,10 +36204,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19104 + ($142<<2)|0); + $143 = (19400 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19080)>>2]|0; + $145 = HEAP32[(19376)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -36262,9 +36225,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4766]|0; + $153 = HEAP32[4840]|0; $154 = $153 & $152; - HEAP32[4766] = $154; + HEAP32[4840] = $154; break; } $155 = ($141|0)==($143|0); @@ -36272,7 +36235,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19080)>>2]|0; + $156 = HEAP32[(19376)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -36332,7 +36295,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19080)>>2]|0; + $189 = HEAP32[(19376)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -36345,7 +36308,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19080)>>2]|0; + $169 = HEAP32[(19376)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -36376,7 +36339,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19368 + ($193<<2)|0); + $194 = (19664 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -36386,13 +36349,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19068)>>2]|0; + $199 = HEAP32[(19364)>>2]|0; $200 = $199 & $198; - HEAP32[(19068)>>2] = $200; + HEAP32[(19364)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19080)>>2]|0; + $201 = HEAP32[(19376)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -36413,7 +36376,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19080)>>2]|0; + $207 = HEAP32[(19376)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -36443,7 +36406,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19080)>>2]|0; + $219 = HEAP32[(19376)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -36464,10 +36427,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19084)>>2]|0; + $226 = HEAP32[(19380)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19072)>>2] = $135; + HEAP32[(19368)>>2] = $135; return; } else { $$2 = $135; @@ -36486,20 +36449,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19104 + ($234<<2)|0); - $236 = HEAP32[4766]|0; + $235 = (19400 + ($234<<2)|0); + $236 = HEAP32[4840]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4766] = $240; + HEAP32[4840] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19080)>>2]|0; + $243 = HEAP32[(19376)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -36551,21 +36514,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19368 + ($$0396<<2)|0); + $273 = (19664 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19068)>>2]|0; + $277 = HEAP32[(19364)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19068)>>2] = $281; + HEAP32[(19364)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -36603,7 +36566,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19080)>>2]|0; + $300 = HEAP32[(19376)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -36622,7 +36585,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19080)>>2]|0; + $307 = HEAP32[(19376)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -36644,12 +36607,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19096)>>2]|0; + $314 = HEAP32[(19392)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19096)>>2] = $315; + HEAP32[(19392)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19520); + $$0212$in$i = (19816); } else { return; } @@ -36663,7 +36626,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19096)>>2] = -1; + HEAP32[(19392)>>2] = -1; return; } function _realloc($0,$1) { @@ -36735,7 +36698,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19080)>>2]|0; + $6 = HEAP32[(19376)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -36765,7 +36728,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19544)>>2]|0; + $18 = HEAP32[(19840)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -36801,10 +36764,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19088)>>2]|0; + $34 = HEAP32[(19384)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19076)>>2]|0; + $36 = HEAP32[(19372)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -36820,15 +36783,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19088)>>2] = $40; - HEAP32[(19076)>>2] = $39; + HEAP32[(19384)>>2] = $40; + HEAP32[(19372)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19084)>>2]|0; + $46 = HEAP32[(19380)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19072)>>2]|0; + $48 = HEAP32[(19368)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -36864,8 +36827,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19072)>>2] = $storemerge1; - HEAP32[(19084)>>2] = $storemerge; + HEAP32[(19368)>>2] = $storemerge1; + HEAP32[(19380)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -36892,7 +36855,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19104 + ($81<<2)|0); + $82 = (19400 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -36912,9 +36875,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4766]|0; + $91 = HEAP32[4840]|0; $92 = $91 & $90; - HEAP32[4766] = $92; + HEAP32[4840] = $92; break; } $93 = ($80|0)==($82|0); @@ -37023,7 +36986,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19368 + ($128<<2)|0); + $129 = (19664 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -37033,13 +36996,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19068)>>2]|0; + $134 = HEAP32[(19364)>>2]|0; $135 = $134 & $133; - HEAP32[(19068)>>2] = $135; + HEAP32[(19364)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19080)>>2]|0; + $136 = HEAP32[(19376)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -37060,7 +37023,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19080)>>2]|0; + $142 = HEAP32[(19376)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -37090,7 +37053,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19080)>>2]|0; + $154 = HEAP32[(19376)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -37175,13 +37138,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19080)>>2]|0; + $13 = HEAP32[(19376)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19084)>>2]|0; + $15 = HEAP32[(19380)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -37196,7 +37159,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19072)>>2] = $12; + HEAP32[(19368)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -37210,7 +37173,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19104 + ($23<<2)|0); + $24 = (19400 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -37230,9 +37193,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4766]|0; + $33 = HEAP32[4840]|0; $34 = $33 & $32; - HEAP32[4766] = $34; + HEAP32[4840] = $34; $$1 = $11;$$1418 = $12; break; } @@ -37346,7 +37309,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19368 + ($70<<2)|0); + $71 = (19664 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -37356,14 +37319,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19068)>>2]|0; + $76 = HEAP32[(19364)>>2]|0; $77 = $76 & $75; - HEAP32[(19068)>>2] = $77; + HEAP32[(19364)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19080)>>2]|0; + $78 = HEAP32[(19376)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -37385,7 +37348,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19080)>>2]|0; + $84 = HEAP32[(19376)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -37417,7 +37380,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19080)>>2]|0; + $96 = HEAP32[(19376)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -37436,7 +37399,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19080)>>2]|0; + $108 = HEAP32[(19376)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -37447,14 +37410,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19088)>>2]|0; + $114 = HEAP32[(19384)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19084)>>2]|0; + $116 = HEAP32[(19380)>>2]|0; if ($115) { - $117 = HEAP32[(19076)>>2]|0; + $117 = HEAP32[(19372)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19076)>>2] = $118; - HEAP32[(19088)>>2] = $$1; + HEAP32[(19372)>>2] = $118; + HEAP32[(19384)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -37462,16 +37425,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19084)>>2] = 0; - HEAP32[(19072)>>2] = 0; + HEAP32[(19380)>>2] = 0; + HEAP32[(19368)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19072)>>2]|0; + $123 = HEAP32[(19368)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19072)>>2] = $124; - HEAP32[(19084)>>2] = $$1; + HEAP32[(19368)>>2] = $124; + HEAP32[(19380)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -37490,7 +37453,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19104 + ($136<<2)|0); + $137 = (19400 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -37510,9 +37473,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4766]|0; + $146 = HEAP32[4840]|0; $147 = $146 & $145; - HEAP32[4766] = $147; + HEAP32[4840] = $147; break; } $148 = ($135|0)==($137|0); @@ -37621,7 +37584,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19368 + ($183<<2)|0); + $184 = (19664 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -37631,13 +37594,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19068)>>2]|0; + $189 = HEAP32[(19364)>>2]|0; $190 = $189 & $188; - HEAP32[(19068)>>2] = $190; + HEAP32[(19364)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19080)>>2]|0; + $191 = HEAP32[(19376)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -37658,7 +37621,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19080)>>2]|0; + $197 = HEAP32[(19376)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -37688,7 +37651,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19080)>>2]|0; + $209 = HEAP32[(19376)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -37709,10 +37672,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19084)>>2]|0; + $216 = HEAP32[(19380)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19072)>>2] = $129; + HEAP32[(19368)>>2] = $129; return; } else { $$2 = $129; @@ -37731,20 +37694,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19104 + ($224<<2)|0); - $226 = HEAP32[4766]|0; + $225 = (19400 + ($224<<2)|0); + $226 = HEAP32[4840]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4766] = $230; + HEAP32[4840] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19080)>>2]|0; + $233 = HEAP32[(19376)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -37796,20 +37759,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19368 + ($$0431<<2)|0); + $263 = (19664 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19068)>>2]|0; + $267 = HEAP32[(19364)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19068)>>2] = $271; + HEAP32[(19364)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -37848,7 +37811,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19080)>>2]|0; + $290 = HEAP32[(19376)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -37866,7 +37829,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19080)>>2]|0; + $297 = HEAP32[(19376)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/shaders/shaders_shapes_textures.png b/docs/examples/web/shaders/shaders_shapes_textures.png new file mode 100644 index 000000000..63a2283c6 Binary files /dev/null and b/docs/examples/web/shaders/shaders_shapes_textures.png differ diff --git a/docs/examples/web/shapes/loader.html b/docs/examples/web/shapes/loader.html new file mode 100644 index 000000000..93d7260f3 --- /dev/null +++ b/docs/examples/web/shapes/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/shapes/shapes_basic_shapes.c b/docs/examples/web/shapes/shapes_basic_shapes.c index c0b052dba..b4fe0f326 100644 --- a/docs/examples/web/shapes/shapes_basic_shapes.c +++ b/docs/examples/web/shapes/shapes_basic_shapes.c @@ -21,7 +21,6 @@ int screenWidth = 800; int screenHeight = 450; - //---------------------------------------------------------------------------------- // Module Functions Declaration //---------------------------------------------------------------------------------- diff --git a/docs/examples/web/shapes/shapes_basic_shapes.js b/docs/examples/web/shapes/shapes_basic_shapes.js index 1d44f3404..9a48db47b 100644 --- a/docs/examples/web/shapes/shapes_basic_shapes.js +++ b/docs/examples/web/shapes/shapes_basic_shapes.js @@ -7404,6 +7404,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7503,13 +7553,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8460,45 +8503,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/shapes/shapes_basic_shapes.png b/docs/examples/web/shapes/shapes_basic_shapes.png similarity index 100% rename from docs/examples/img/shapes/shapes_basic_shapes.png rename to docs/examples/web/shapes/shapes_basic_shapes.png diff --git a/docs/examples/web/shapes/shapes_colors_palette.js b/docs/examples/web/shapes/shapes_colors_palette.js index f9a4dc751..2b37b27dd 100644 --- a/docs/examples/web/shapes/shapes_colors_palette.js +++ b/docs/examples/web/shapes/shapes_colors_palette.js @@ -7618,6 +7618,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7717,13 +7767,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8674,45 +8717,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/shapes/shapes_colors_palette.png b/docs/examples/web/shapes/shapes_colors_palette.png similarity index 100% rename from docs/examples/img/shapes/shapes_colors_palette.png rename to docs/examples/web/shapes/shapes_colors_palette.png diff --git a/docs/examples/web/shapes/shapes_lines_bezier.c b/docs/examples/web/shapes/shapes_lines_bezier.c new file mode 100644 index 000000000..6aab2cac5 --- /dev/null +++ b/docs/examples/web/shapes/shapes_lines_bezier.c @@ -0,0 +1,88 @@ +/******************************************************************************************* +* +* raylib [shapes] example - Cubic-bezier lines +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +Vector2 start = { 0, 0 }; +Vector2 end = { 0, 0 }; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + SetConfigFlags(FLAG_MSAA_4X_HINT); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - cubic-bezier lines"); + + end = (Vector2){ screenWidth, screenHeight }; + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) start = GetMousePosition(); + else if (IsMouseButtonDown(MOUSE_RIGHT_BUTTON)) end = GetMousePosition(); + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("USE MOUSE LEFT-RIGHT CLICK to DEFINE LINE START and END POINTS", 15, 20, 20, GRAY); + + DrawLineBezier(start, end, 2.0f, RED); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} diff --git a/docs/examples/web/shapes/shapes_lines_bezier.js b/docs/examples/web/shapes/shapes_lines_bezier.js new file mode 100644 index 000000000..a412097d4 --- /dev/null +++ b/docs/examples/web/shapes/shapes_lines_bezier.js @@ -0,0 +1,24332 @@ +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// The environment setup code below is customized to use Module. +// *** Environment setup code *** +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +// 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) + +if (Module['ENVIRONMENT']) { + if (Module['ENVIRONMENT'] === 'WEB') { + ENVIRONMENT_IS_WEB = true; + } else if (Module['ENVIRONMENT'] === 'WORKER') { + ENVIRONMENT_IS_WORKER = true; + } else if (Module['ENVIRONMENT'] === 'NODE') { + ENVIRONMENT_IS_NODE = true; + } else if (Module['ENVIRONMENT'] === 'SHELL') { + ENVIRONMENT_IS_SHELL = true; + } else { + throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); + } +} else { + 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 (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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var 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, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. 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 + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // 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'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (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 Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// Runtime essentials +//======================================== + +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var EXITSTATUS = 0; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { + 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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = function cwrap(ident, returnType, argTypes) { + argTypes = argTypes || []; + var cfunc = getCFunc(ident); + // When the function takes numbers and returns a number, we can just return + // the original function + var numericArgs = argTypes.every(function(type){ return type === 'number'}); + var numericRet = (returnType !== 'string'); + if ( numericRet && numericArgs) { + return cfunc; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ length) { + if (length === 0 || !ptr) return ''; + // TODO: use TextDecoder + // 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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 and https://www.ietf.org/rfc/rfc2279.txt and 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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) Module.printErr('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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + '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); +} +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!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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 runtime has exited + +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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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 +// PRE_RUN_ADDITIONS (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; + Module.printErr('still waiting on run dependencies:'); + } + Module.printErr('dependency: ' + dep); + } + if (shown) { + Module.printErr('(end of list)'); + } + }, 10000); + } + } else { + Module.printErr('warning: run dependency added without ID'); + } +} +Module["addRunDependency"] = addRunDependency; + +function removeRunDependency(id) { + runDependencies--; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('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["removeRunDependency"] = removeRunDependency; + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + + +var memoryInitializer = null; + + + +var /* show errors on likely calls to FS when it was not included */ FS = { + error: function() { + abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1'); + }, + init: function() { FS.error() }, + createDataFile: function() { FS.error() }, + createPreloadedFile: function() { FS.error() }, + createLazyFile: function() { FS.error() }, + open: function() { FS.error() }, + mkdev: function() { FS.error() }, + registerDevice: function() { FS.error() }, + analyzePath: function() { FS.error() }, + loadFilesFromDB: function() { FS.error() }, + + ErrnoError: function ErrnoError() { FS.error() }, +}; +Module['FS_createDataFile'] = FS.createDataFile; +Module['FS_createPreloadedFile'] = FS.createPreloadedFile; + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 19136; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,187,70,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,114,97,121,108,105,98,32,91,115,104,97,112,101,115,93,32,101,120,97,109,112,108,101,32,45,32,99,117,98,105,99,45,98,101,122,105,101,114,32,108,105,110,101,115,0,85,83,69,32,77,79,85,83,69,32,76,69,70,84,45,82,73,71,72,84,32,67,76,73,67,75,32,116,111,32,68,69,70,73,78,69,32,76,73,78,69,32,83,84,65,82,84,32,97,110,100,32,69,78,68,32,80,79,73,78,84,83,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); + + + + + +/* 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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + var SYSCALLS={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; + },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 ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; + try { + // ioctl + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _glfwGetMouseButton(winid, button) { + return GLFW.getMouseButton(winid, button); + } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + 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 _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + 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(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; + try { + // writev + // hack to support printf in NO_FILESYSTEM + var stream = SYSCALLS.get(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + var ret = 0; + if (!___syscall146.buffer) { + ___syscall146.buffers = [null, [], []]; // 1 => stdout, 2 => stderr + ___syscall146.printChar = function(stream, curr) { + var buffer = ___syscall146.buffers[stream]; + assert(buffer); + if (curr === 0 || curr === 10) { + (stream === 1 ? Module['print'] : Module['printErr'])(UTF8ArrayToString(buffer, 0)); + buffer.length = 0; + } else { + buffer.push(curr); + } + }; + } + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + for (var j = 0; j < len; j++) { + ___syscall146.printChar(stream, HEAPU8[ptr+j]); + } + ret += len; + } + return ret; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + function __exit(status) { + // void _exit(int status); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html + Module['exit'](status); + }function _exit(status) { + __exit(status); + } + + function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + } + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +JSEvents.staticInit();; +/* flush anything remaining in the buffer during shutdown */ __ATEXIT__.push(function() { var fflush = Module["_fflush"]; if (fflush) fflush(0); var printChar = ___syscall146.printChar; if (!printChar) return; var buffers = ___syscall146.buffers; if (buffers[1].length) printChar(1, 10); if (buffers[2].length) printChar(2, 10); });; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vi(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_ii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_v(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function invoke_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_ii(index,a1) { + try { + return Module["dynCall_ii"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iiii(index,a1,a2,a3) { + try { + return Module["dynCall_iiii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } catch(e) { + 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "___syscall146": ___syscall146, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_glfwGetMouseButton": _glfwGetMouseButton, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use 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 ABORT=env.ABORT|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; + var cttz_i8=env.cttz_i8|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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var ___syscall146=env.___syscall146; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _glfwGetMouseButton=env._glfwGetMouseButton; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var ___syscall54=env.___syscall54; + var ___unlock=env.___unlock; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + 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 _main() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _SetConfigFlags(32); + $0 = HEAP32[2]|0; + $1 = HEAP32[3]|0; + _InitWindow($0,$1,3356); + $2 = HEAP32[2]|0; + $3 = (+($2|0)); + $4 = HEAP32[3]|0; + $5 = (+($4|0)); + HEAPF32[3490] = $3; + HEAPF32[(13964)>>2] = $5; + _emscripten_set_main_loop((1|0),0,1); + _CloseWindow(); + return 0; +} +function _UpdateDrawFrame() { + var $$byval_copy2 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $end$byval_copy = 0; + var $start$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 44|0; + $end$byval_copy = sp + 24|0; + $start$byval_copy = sp + 16|0; + $0 = sp + 8|0; + $1 = sp; + $2 = sp + 40|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = (_IsMouseButtonDown(0)|0); + $6 = ($5|0)==(0); + if ($6) { + $17 = (_IsMouseButtonDown(1)|0); + $18 = ($17|0)==(0); + if (!($18)) { + _GetMousePosition($1); + $19 = $1; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = 13960; + $26 = $25; + HEAP32[$26>>2] = $21; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $24; + } + } else { + _GetMousePosition($0); + $7 = $0; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = 13952; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $12; + } + _BeginDrawing(); + HEAP8[$2>>0] = -11; + $29 = ((($2)) + 1|0); + HEAP8[$29>>0] = -11; + $30 = ((($2)) + 2|0); + HEAP8[$30>>0] = -11; + $31 = ((($2)) + 3|0); + HEAP8[$31>>0] = -1; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$2+3>>0]|0; + _ClearBackground($$byval_copy2); + HEAP8[$3>>0] = -126; + $32 = ((($3)) + 1|0); + HEAP8[$32>>0] = -126; + $33 = ((($3)) + 2|0); + HEAP8[$33>>0] = -126; + $34 = ((($3)) + 3|0); + HEAP8[$34>>0] = -1; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$3+3>>0]|0; + _DrawText(3401,15,20,20,$$byval_copy2); + HEAP8[$4>>0] = -26; + $35 = ((($4)) + 1|0); + HEAP8[$35>>0] = 41; + $36 = ((($4)) + 2|0); + HEAP8[$36>>0] = 55; + $37 = ((($4)) + 3|0); + HEAP8[$37>>0] = -1; + ;HEAP32[$start$byval_copy>>2]=HEAP32[13952>>2]|0;HEAP32[$start$byval_copy+4>>2]=HEAP32[13952+4>>2]|0; + ;HEAP32[$end$byval_copy>>2]=HEAP32[13960>>2]|0;HEAP32[$end$byval_copy+4>>2]=HEAP32[13960+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawLineBezier($start$byval_copy,$end$byval_copy,2.0,$$byval_copy2); + _EndDrawing(); + STACKTOP = sp;return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 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); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[3493] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 13680; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 13720; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[3430]; + $111 = +HEAPF32[3420]; + $112 = $110 - $111; + HEAPF32[3432] = $112; + $113 = +HEAPF32[(13724)>>2]; + $114 = +HEAPF32[(13684)>>2]; + $115 = $113 - $114; + HEAPF32[(13732)>>2] = $115; + HEAP32[3492] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13736>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13736+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[3498] = $116; + $117 = 13712; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 13680; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 13736; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 13720; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 13712; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 13736; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[3434]; + $160 = +HEAPF32[3428]; + $161 = $159 - $160; + HEAPF32[3432] = $161; + $162 = +HEAPF32[(13740)>>2]; + $163 = +HEAPF32[(13716)>>2]; + $164 = $162 - $163; + HEAPF32[(13732)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13712>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13712+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13720>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13720+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13736>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13736+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13736>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13736+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[3498]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[3492] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13736>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13736+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[3499] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[3498] = 0.0; + HEAPF32[3499] = 0.0; + HEAPF32[3432] = 0.0; + HEAPF32[(13732)>>2] = 0.0; + HEAP32[3493] = 0; + HEAP32[3492] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[3494]|0; + $7 = (($6) + 1)|0; + HEAP32[3494] = $7; + $8 = HEAP32[3492]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[3492] = 2; + HEAP32[3494] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[3494] = 1; + HEAP32[3492] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 13680; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 13688; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 13696; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[4] = $34; + HEAPF32[3426] = 0.0; + HEAPF32[(13708)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[3492]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 13696; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13696>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13696+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[3495] = $49; + HEAP32[3496] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[4]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13696>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13696+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[3497] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[3495] = 0.0; + HEAPF32[3497] = 0.0; + $$sink10 = 0; + } + HEAP32[3492] = $$sink10; + HEAPF32[3422] = 0.0; + HEAPF32[(13692)>>2] = 0.0; + HEAP32[3493] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[3496]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[3496] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 13712; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[3492]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13712>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13712+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[3492] = 8; + } + } + $82 = +HEAPF32[3428]; + $83 = +HEAPF32[3422]; + $84 = $82 - $83; + HEAPF32[3426] = $84; + $85 = +HEAPF32[(13716)>>2]; + $86 = +HEAPF32[(13692)>>2]; + $87 = $85 - $86; + HEAPF32[(13708)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3492]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[3493]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[3492] = 4; + } + $4 = HEAP32[3492]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[3492] = 0; + return; +} +function _GetMousePosition($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 = 13744; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _IsMouseButtonDown($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_GetMouseButtonStatus($0)|0); + $2 = ($1|0)==(1); + $$ = $2&1; + return ($$|0); +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3502]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3501]|0; + return ($0|0); +} +function _GetMouseButtonStatus($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3500]|0; + $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); + return ($2|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.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; + _TraceLog(0,3464,$vararg_buffer); + HEAP32[3504] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(3|0))|0); + (_emscripten_set_keypress_callback((3493|0),(0|0),1,(4|0))|0); + (_emscripten_set_click_callback((3493|0),(0|0),1,(5|0))|0); + (_emscripten_set_touchstart_callback((3493|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchend_callback((3493|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchmove_callback((3493|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchcancel_callback((3493|0),(0|0),1,(6|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(7|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(7|0))|0); + $3 = HEAP32[3502]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[3436] = $5; + $6 = HEAP32[3501]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(13748)>>2] = $8; + $9 = HEAP32[3505]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 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); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[13784>>0]=HEAP8[8022>>0]|0;HEAP8[13784+1>>0]=HEAP8[8022+1>>0]|0;HEAP8[13784+2>>0]=HEAP8[8022+2>>0]|0;HEAP8[13784+3>>0]=HEAP8[8022+3>>0]|0;HEAP8[13784+4>>0]=HEAP8[8022+4>>0]|0;HEAP8[13784+5>>0]=HEAP8[8022+5>>0]|0;HEAP8[13784+6>>0]=HEAP8[8022+6>>0]|0; + break; + } + case 1: { + $3 = 13784; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=13784; src=8029; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 13784; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(13784,$1)|0); + $strlen = (_strlen(13784)|0); + $endptr = (13784 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(13784,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[3502] = $0; + HEAP32[3501] = $1; + _MatrixIdentity($2); + dest=14096; 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)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4164,$vararg_buffer); + } + $6 = HEAP32[3502]|0; + HEAP32[3540] = $6; + $7 = HEAP32[3501]|0; + HEAP32[3541] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[16812]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[16812]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[16812]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4190,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[3542]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[3502]|0; + $48 = HEAP32[3501]|0; + $49 = HEAP32[3504]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[3500] = $50; + $51 = HEAP32[3502]|0; + HEAP32[3543] = $51; + $52 = HEAP32[3501]|0; + HEAP32[3544] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[3502]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[3501]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[3540] = $31; + HEAP32[3541] = $34; + } + } while(0); + $38 = HEAP32[3540]|0; + $39 = HEAP32[3541]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4215,$vararg_buffer3); + $40 = HEAP32[3540]|0; + $41 = HEAP32[3541]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[3540]|0; + $43 = HEAP32[3541]|0; + $44 = HEAP32[3504]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[3500] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4253,$vararg_buffer6); + } else { + _TraceLog(0,4286,$vararg_buffer8); + $55 = HEAP32[3543]|0; + $56 = HEAP32[3544]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4326,$vararg_buffer10); + $57 = HEAP32[3502]|0; + $58 = HEAP32[3501]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4347,$vararg_buffer14); + $59 = HEAP32[3545]|0; + $60 = HEAP32[3546]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,4368,$vararg_buffer18); + } + $61 = HEAP32[3500]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[3500]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[3500]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[3500]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[3500]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[3500]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[3500]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[3500]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[3500]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[16812]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[3502]|0; + $74 = HEAP32[3501]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[3543]|0; + $76 = HEAP32[3545]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[3544]|0; + $80 = HEAP32[3546]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,4393,$vararg_buffer22); + $73 = HEAP32[3502]|0; + $74 = HEAP32[3501]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[3543]|0; + $76 = HEAP32[3545]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[3544]|0; + $80 = HEAP32[3546]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 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, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(14064)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (20 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[14040>>2]=HEAP32[$1>>2]|0;HEAP32[14040+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14040+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14040+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14040+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(14064)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(14068)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(14060)>>2] = $23; + $24 = HEAP32[3510]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3688,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(14044)>>2]|0; + $10 = HEAP32[(14064)>>2]|0; + $11 = HEAP32[(14068)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2068 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(14060)>>2] = $23; + $24 = HEAP32[3510]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3688,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[1722] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 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 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,3621,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,3552,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,3545)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 13760; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (13768); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 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 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (14024 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 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; + $1 = ($0|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[1719] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,3501,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3505] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.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.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,4064,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[3518]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,3733,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[3519]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,3777,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[3520]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,3822,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[3521]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,3867,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[3522]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,3912,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[3518]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[3518]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[3518]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[3518]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[3519]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[3520]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[3520]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[3521]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[3521]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[3522]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[3522]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,3957,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[3523]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,4035,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,3986,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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, $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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.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; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4118,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + 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] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,7984,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[3502]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[3501]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[3543] = $3; + HEAP32[3544] = $5; + HEAP32[3545] = 0; + HEAP32[3546] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,7918,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[3502]|0; + $36 = (+($35|0)); + $37 = HEAP32[3501]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[3543] = $45; + HEAP32[3544] = $37; + $46 = (($45) - ($35))|0; + HEAP32[3545] = $46; + $$sink1 = 0; + } else { + HEAP32[3543] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[3544] = $42; + HEAP32[3545] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[3546] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[3501]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,7775,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[3502]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[3501]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[3543] = $23; + HEAP32[3544] = $1; + $24 = (($0) - ($23))|0; + HEAP32[3545] = $24; + $$sink = 0; + } else { + HEAP32[3543] = $0; + $17 = HEAP32[3501]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[3544] = $20; + HEAP32[3545] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[3546] = $$sink; + $25 = HEAP32[3543]|0; + $26 = (+($25|0)); + $27 = HEAP32[3502]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=14096; 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)); + HEAP32[3543] = $0; + HEAP32[3544] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,7853,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[3502] = $1; + HEAP32[3501] = $2; + HEAP32[3543] = $1; + HEAP32[3544] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($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, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[742]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (16819 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[741] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 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.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (16813 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 13760; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[741] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[3916] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[3915] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,4416,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,4434,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,4452,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,4470,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,4488)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,4490,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,4525)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[3581] = 1; + $27 = (_eglGetProcAddress((4552|0))|0); + HEAP32[3582] = $27; + $28 = (_eglGetProcAddress((4573|0))|0); + HEAP32[3583] = $28; + $29 = (_eglGetProcAddress((4594|0))|0); + HEAP32[3584] = $29; + } + $30 = (_strcmp($24,4618)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[3523] = 1; + } + $32 = (_strcmp($24,4638)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,4670)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,4703)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[3518] = 1; + } + $39 = (_strcmp($24,4743)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4779)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[3519] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4812)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[3520] = 1; + } + $47 = (_strcmp($44,4837)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[3521] = 1; + } + $49 = (_strcmp($44,4870)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[3522] = 1; + } + $51 = (_strcmp($44,4906)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[3585] = 1; + _glGetFloatv(34047,(14344|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,4940)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[3587] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[3581]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,5043,$vararg_buffer15); + } else { + _TraceLog(0,4968,$vararg_buffer13); + } + $57 = HEAP32[3523]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5179,$vararg_buffer19); + } else { + _TraceLog(0,5104,$vararg_buffer17); + } + $59 = HEAP32[3518]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5271,$vararg_buffer21); + } + $61 = HEAP32[3519]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5317,$vararg_buffer23); + } + $63 = HEAP32[3520]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,5364,$vararg_buffer25); + } + $65 = HEAP32[3521]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,5415,$vararg_buffer27); + } + $67 = HEAP32[3522]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,5462,$vararg_buffer29); + } + $69 = HEAP32[3585]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[3586]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,5509,$vararg_buffer31); + } + $73 = HEAP32[3587]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,5575,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[3588] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,5679,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,5628,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=14356; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14412; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[3617] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[3617]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[3618] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[3619] = 1; + $85 = HEAP32[3588]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[3620] = 4; + _MatrixIdentity($4); + dest=14484; src=$4; 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)); + _MatrixIdentity($4); + dest=(14548); src=$4; 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)); + _MatrixIdentity($4); + dest=(14612); src=$4; 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)); + _MatrixIdentity($4); + dest=(14676); src=$4; 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)); + _MatrixIdentity($4); + dest=(14740); src=$4; 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)); + _MatrixIdentity($4); + dest=(14804); src=$4; 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)); + _MatrixIdentity($4); + dest=(14868); src=$4; 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)); + _MatrixIdentity($4); + dest=(14932); src=$4; 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)); + _MatrixIdentity($4); + dest=(14996); src=$4; 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)); + _MatrixIdentity($4); + dest=(15060); src=$4; 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)); + _MatrixIdentity($4); + dest=(15124); src=$4; 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)); + _MatrixIdentity($4); + dest=(15188); src=$4; 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)); + _MatrixIdentity($4); + dest=(15252); src=$4; 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)); + _MatrixIdentity($4); + dest=(15316); src=$4; 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)); + _MatrixIdentity($4); + dest=(15380); src=$4; 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)); + _MatrixIdentity($4); + dest=(15444); src=$4; 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)); + _MatrixIdentity($5); + dest=14192; src=$5; 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)); + _MatrixIdentity($6); + dest=14256; src=$6; 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)); + HEAP32[3547] = 14256; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[3877] = $0; + HEAP32[3878] = $1; + _TraceLog(0,5718,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3545]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[3546]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[3543]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[3544]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 14192; + label = 3; + break; + } + case 5888: { + $modelview$sink = 14256; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[3547] = $modelview$sink; + } + HEAP32[3580] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 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); + $0 = sp; + $1 = HEAP32[3547]|0; + _MatrixIdentity($0); + dest=$1; src=$0; 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)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[3547]|0; + dest=$$byval_copy; src=$8; 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)); + dest=$$byval_copy1; src=$6; 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)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; 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)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6294|0),489)|0; + _memcpy(($3|0),(6783|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7272,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7224,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|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 _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 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, $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 = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(15528)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(15536)>>2] = $1; + HEAP32[(15532)>>2] = 0; + HEAP32[(15540)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(15536)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[3879] = 0; + HEAP32[(15524)>>2] = 0; + HEAP32[(15520)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(15576)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(15584)>>2] = $6; + HEAP32[(15580)>>2] = 0; + HEAP32[(15588)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(15584)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[3891] = 0; + HEAP32[(15572)>>2] = 0; + HEAP32[(15568)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(15624)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(15628)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(15632)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(15636)>>2] = $13; + $14 = HEAP32[(15624)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(15628)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(15632)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(15636)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[3903] = 0; + HEAP32[(15616)>>2] = 0; + HEAP32[(15620)>>2] = 0; + _TraceLog(0,5765,$vararg_buffer); + $20 = HEAP32[3581]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[3582]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(15544)); + $44 = HEAP32[3583]|0; + $45 = HEAP32[(15544)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((15548)|0)); + $46 = HEAP32[(15548)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(15528)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(14416)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(14416)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((15552)|0)); + $50 = HEAP32[(15552)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(15536)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(14436)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(14436)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[3581]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(15548)>>2]|0; + $58 = HEAP32[(15552)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,5903,$vararg_buffer3); + } else { + $56 = HEAP32[(15544)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,5838,$vararg_buffer1); + } + $59 = HEAP32[3581]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[3582]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(15592)); + $62 = HEAP32[3583]|0; + $63 = HEAP32[(15592)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((15596)|0)); + $64 = HEAP32[(15596)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(15576)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(14416)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(14416)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((15600)|0)); + $68 = HEAP32[(15600)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(15584)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(14436)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(14436)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[3581]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(15596)>>2]|0; + $76 = HEAP32[(15600)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,6049,$vararg_buffer10); + } else { + $74 = HEAP32[(15592)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,5980,$vararg_buffer7); + } + $77 = HEAP32[3581]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[3582]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(15640)); + $80 = HEAP32[3583]|0; + $81 = HEAP32[(15640)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((15644)|0)); + $82 = HEAP32[(15644)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(15624)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(14416)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(14416)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((15648)|0)); + $86 = HEAP32[(15648)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(15628)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(14420)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(14420)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((15652)|0)); + $90 = HEAP32[(15652)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(15632)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(14436)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(14436)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((15656)|0)); + $94 = HEAP32[(15656)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(15636)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[3581]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(15644)>>2]|0; + $100 = HEAP32[(15648)>>2]|0; + $101 = HEAP32[(15652)>>2]|0; + $102 = HEAP32[(15656)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6195,$vararg_buffer17); + } else { + $98 = HEAP32[(15640)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6130,$vararg_buffer14); + } + $103 = HEAP32[3581]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[3583]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|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; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,7528,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,7476,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,7525,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,7629,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,7578,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,7525,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7320|0)); + _glBindAttribLocation(($20|0),1,(7335|0)); + _glBindAttribLocation(($20|0),2,(7366|0)); + _glBindAttribLocation(($20|0),3,(7393|0)); + _glBindAttribLocation(($20|0),4,(7379|0)); + _glBindAttribLocation(($20|0),5,(7350|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,7681,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,7525,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,7727,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7320|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7335|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7350|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(7366|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(7379|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(7393|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(7405|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(7415|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(7426|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(7437|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(7449|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(7458|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(7467|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (16813 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (16816 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (16813 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (16816 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[3500]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,8039,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[14040>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[14040+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[14040+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[14040+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[14040+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(14068)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(14352|0)); + $0 = HEAP32[3588]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,8066,$vararg_buffer); + $1 = HEAP32[3618]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[3589]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + 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; + $0 = HEAP32[3581]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[3583]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((15548)|0)); + _glDeleteBuffers(1,((15552)|0)); + _glDeleteBuffers(1,((15596)|0)); + _glDeleteBuffers(1,((15600)|0)); + _glDeleteBuffers(1,((15644)|0)); + _glDeleteBuffers(1,((15648)|0)); + _glDeleteBuffers(1,((15652)|0)); + _glDeleteBuffers(1,((15656)|0)); + $3 = HEAP32[3581]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[3584]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(15544)); + $6 = HEAP32[3584]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(15592)); + $7 = HEAP32[3584]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(15640)); + } + $8 = HEAP32[(15528)>>2]|0; + _free($8); + $9 = HEAP32[(15536)>>2]|0; + _free($9); + $10 = HEAP32[(15576)>>2]|0; + _free($10); + $11 = HEAP32[(15584)>>2]|0; + _free($11); + $12 = HEAP32[(15624)>>2]|0; + _free($12); + $13 = HEAP32[(15628)>>2]|0; + _free($13); + $14 = HEAP32[(15632)>>2]|0; + _free($14); + $15 = HEAP32[(15636)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $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; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8131,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 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); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[1739] = $0; + $1 = +HEAPF64[1722]; + $2 = $0 - $1; + HEAPF64[1740] = $2; + HEAPF64[1722] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=14096; 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)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(15668); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[3917] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(15672)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(15676)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(15680)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(15684)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(15688)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(15692)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(15696)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(15700)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(15704)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(15708)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(15712)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(15716)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(15720)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(15724)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(15728)>>2] = $31; + return (15668|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[3547]|0; + dest=$$byval_copy; src=$49; 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)); + dest=$$byval_copy1; src=$1; 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)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; 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)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[1739] = $0; + $1 = +HEAPF64[1722]; + $2 = $0 - $1; + HEAPF64[1741] = $2; + HEAPF64[1722] = $0; + $3 = +HEAPF64[1740]; + $4 = $2 + $3; + HEAPF64[1742] = $4; + $5 = +HEAPF64[1719]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[1739] = $10; + $11 = +HEAPF64[1722]; + $12 = $10 - $11; + HEAPF64[1722] = $10; + $13 = +HEAPF64[1742]; + $14 = $12 + $13; + HEAPF64[1742] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3500]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[741] = -1; + HEAP32[743] = -1; + HEAP32[3933] = 0; + $3 = HEAP32[3500]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[3436] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(13748)>>2] = $7; + _memcpy((17331|0),(16819|0),512)|0; + ;HEAP8[16816>>0]=HEAP8[16813>>0]|0;HEAP8[16816+1>>0]=HEAP8[16813+1>>0]|0;HEAP8[16816+2>>0]=HEAP8[16813+2>>0]|0; + $8 = HEAP32[3916]|0; + HEAP32[3503] = $8; + HEAP32[3916] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (17843 + ($$05160<<5)|0); + $scevgep67 = (17971 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; 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)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((17971 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[743] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((15736 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[3933] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $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, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3879]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[3581]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[3583]|0; + $5 = HEAP32[(15544)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(15548)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[3879]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(15528)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(15552)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(15524)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(15536)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[3891]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[3581]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[3583]|0; + $19 = HEAP32[(15592)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(15596)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[3891]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(15576)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(15600)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(15572)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(15584)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[3903]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[3581]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[3583]|0; + $33 = HEAP32[(15640)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(15644)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[3903]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(15624)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(15648)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[3903]|0; + $40 = $39 << 3; + $41 = HEAP32[(15628)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(15652)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[3903]|0; + $44 = $43 << 2; + $45 = HEAP32[(15632)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[3581]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[3583]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 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; + 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, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=14192; 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)); + dest=$1; src=14256; 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)); + $3 = HEAP32[3966]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; 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)); + dest=$$byval_copy2; src=$1; 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)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[3879]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[3891]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[3903]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[3603]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=14256; 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)); + dest=$$byval_copy2; src=14192; 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)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(14440)>>2]|0; + dest=$$byval_copy2; 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)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(14444)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(14456)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[3879]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[3588]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[3581]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(15548)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(14416)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(14416)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(15552)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(14436)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(14436)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[3583]|0; + $25 = HEAP32[(15544)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[3879]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[3581]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[3891]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[3588]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[3581]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(15596)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(14416)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(14416)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(15600)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(14436)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(14436)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[3583]|0; + $41 = HEAP32[(15592)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[3891]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[3581]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[3903]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[3581]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(15644)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(14416)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(14416)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(15648)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(14420)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(14420)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(15652)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(14436)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(14436)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(15656)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[3583]|0; + $56 = HEAP32[(15640)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[3619]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[3618]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[3618]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[3619]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[3581]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[3581]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[3583]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[3619] = 1; + $5 = HEAP32[3588]|0; + $6 = HEAP32[3618]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[3879] = 0; + HEAP32[(15524)>>2] = 0; + HEAP32[3891] = 0; + HEAP32[(15572)>>2] = 0; + HEAP32[3903] = 0; + HEAP32[(15616)>>2] = 0; + HEAP32[(15620)>>2] = 0; + HEAPF32[744] = -1.0; + dest=14192; src=$0; 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)); + dest=14256; src=$1; 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)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $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 + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; 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)); + $5 = HEAP32[3877]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[3878]|0; + _rlViewport($7,0,$8,$9); + $10 = (16096 + ($0<<6)|0); + dest=$$byval_copy; 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)); + dest=$$byval_copy3; src=$10; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (15968 + ($0<<6)|0); + dest=$3; src=$11; 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)); + dest=$$byval_copy3; src=$4; 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)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; 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)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=14256; src=$0; 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)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=14192; src=$0; 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)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 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; + $0 = HEAP32[4056]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8181,$vararg_buffer); + } + $2 = HEAP32[4056]|0; + $3 = (14484 + ($2<<6)|0); + $4 = HEAP32[3547]|0; + dest=$3; src=$4; 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)); + _rlLoadIdentity(); + $5 = HEAP32[4056]|0; + $6 = (($5) + 1)|0; + HEAP32[4056] = $6; + $7 = HEAP32[3580]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[4057] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[4056]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[4056]|0; + $3 = (($2) + -1)|0; + $4 = (14484 + ($3<<6)|0); + $5 = HEAP32[3547]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[4056] = $6; + return; +} +function _SetConfigFlags($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP8[16812] = $0; + $1 = $0 & 1; + $2 = ($1<<24>>24)==(0); + if (!($2)) { + HEAP32[3505] = 1; + } + $3 = HEAP8[16812]|0; + $4 = $3 & 2; + $5 = ($4<<24>>24)==(0); + if ($5) { + return; + } + HEAP32[3542] = 1; + return; +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[3547]|0; + dest=$$byval_copy; src=$5; 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)); + dest=$$byval_copy1; src=$3; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; 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)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 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 + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; 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)); + _MatrixTranspose($4); + $11 = HEAP32[3547]|0; + dest=$$byval_copy1; src=$11; 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)); + dest=$$byval_copy2; src=$4; 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)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; 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)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3620] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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.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.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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; + 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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 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); + $$byval_copy = sp; + $0 = HEAP32[4057]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[4058]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[3617]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[3547]|0; + dest=$$byval_copy; src=$8; 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)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[4058]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[4057] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[3617]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[4058]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[4057] = 0; + } + HEAP32[4058] = 0; + } + $21 = HEAP32[3620]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[3879]|0; + $23 = HEAP32[(15524)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(15536)>>2]|0; + $28 = HEAP32[(15524)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(15536)>>2]|0; + $35 = HEAP32[(15524)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(15536)>>2]|0; + $43 = HEAP32[(15524)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(15536)>>2]|0; + $51 = HEAP32[(15524)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(15524)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(15524)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[3891]|0; + $62 = HEAP32[(15572)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(15584)>>2]|0; + $67 = HEAP32[(15572)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(15584)>>2]|0; + $74 = HEAP32[(15572)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(15584)>>2]|0; + $82 = HEAP32[(15572)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(15584)>>2]|0; + $90 = HEAP32[(15572)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(15572)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(15572)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[3903]|0; + $101 = HEAP32[(15620)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(15632)>>2]|0; + $106 = HEAP32[(15620)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(15632)>>2]|0; + $113 = HEAP32[(15620)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(15632)>>2]|0; + $121 = HEAP32[(15620)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(15632)>>2]|0; + $129 = HEAP32[(15620)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(15620)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(15620)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[3903]|0; + $140 = HEAP32[(15616)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(15628)>>2]|0; + $$promoted = HEAP32[(15616)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(15616)>>2] = $147; + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + 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, $45 = 0, $46 = 0, $47 = 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; + $3 = HEAP32[4057]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[3617]|0; + $6 = HEAP32[4058]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[4058] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[3620]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[3879]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(15528)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[3879] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8219,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[3891]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(15576)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[3891] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8244,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[3903]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(15624)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[3903] = $41; + $42 = HEAP32[3618]|0; + $43 = HEAP32[3619]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8273,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[744]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[3620]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(15628)>>2]|0; + $5 = HEAP32[(15616)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(15616)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[3620]|0; + switch ($4|0) { + case 1: { + $$sink37 = (15524);$$sink38 = (15536); + break; + } + case 4: { + $$sink37 = (15572);$$sink38 = (15584); + break; + } + case 7: { + $$sink37 = (15620);$$sink38 = (15632); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($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 = HEAP32[3618]|0; + $2 = HEAP32[3619]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[3619] = $10; + } + $11 = HEAP32[3619]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3903]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _GetDefaultTexture($0) { + $0 = $0|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3588]|0; + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; + return; +} +function _DrawLineEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $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.0, $29 = 0.0; + var $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0.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; + $5 = +HEAPF32[$0>>2]; + $6 = +HEAPF32[$1>>2]; + $7 = $5 > $6; + if ($7) { + $8 = $0; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = $1; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = $0; + $21 = $20; + HEAP32[$21>>2] = $16; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = $19; + $24 = $1; + $25 = $24; + HEAP32[$25>>2] = $10; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $13; + } + $28 = +HEAPF32[$1>>2]; + $29 = +HEAPF32[$0>>2]; + $30 = $28 - $29; + $31 = ((($1)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($0)) + 4|0); + $34 = +HEAPF32[$33>>2]; + $35 = $32 - $34; + $36 = $30 * $30; + $37 = $35 * $35; + $38 = $36 + $37; + $39 = (+Math_sqrt((+$38))); + $40 = $35 / $39; + $41 = (+Math_asin((+$40))); + _GetDefaultTexture($4); + $42 = HEAP32[$4>>2]|0; + _rlEnableTexture($42); + _rlPushMatrix(); + $43 = +HEAPF32[$0>>2]; + $44 = +HEAPF32[$33>>2]; + _rlTranslatef($43,$44,0.0); + $45 = $41 * -57.2957763671875; + _rlRotatef($45,0.0,0.0,1.0); + $46 = $2 * -0.5; + _rlTranslatef(0.0,$46,0.0); + _rlBegin(7); + $47 = HEAP8[$3>>0]|0; + $48 = ((($3)) + 1|0); + $49 = HEAP8[$48>>0]|0; + $50 = ((($3)) + 2|0); + $51 = HEAP8[$50>>0]|0; + $52 = ((($3)) + 3|0); + $53 = HEAP8[$52>>0]|0; + _rlColor4ub($47,$49,$51,$53); + _rlVertex2f(0.0,0.0); + _rlVertex2f(0.0,$2); + _rlVertex2f($39,$2); + _rlVertex2f($39,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + STACKTOP = sp;return; +} +function _DrawLineBezier($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = $3|0; + var $$05 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0.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 $tmpcast$byval_copy = 0, $tmpcast4$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy = sp + 32|0; + $tmpcast4$byval_copy = sp + 24|0; + $tmpcast$byval_copy = sp + 16|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $0; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + 4)|0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = $4; + $13 = $12; + HEAP32[$13>>2] = $8; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = $11; + $16 = ((($0)) + 4|0); + $17 = ((($1)) + 4|0); + $18 = ((($5)) + 4|0); + $19 = +HEAPF32[$1>>2]; + $20 = +HEAPF32[$0>>2]; + $21 = $19 - $20; + $22 = $21 / 24.0; + $$05 = 1; + while(1) { + $23 = (+($$05|0)); + $24 = +HEAPF32[$16>>2]; + $25 = +HEAPF32[$17>>2]; + $26 = $25 - $24; + $27 = (+_EaseCubicInOut($23,$24,$26)); + HEAPF32[$18>>2] = $27; + $28 = +HEAPF32[$4>>2]; + $29 = $28 + $22; + HEAPF32[$5>>2] = $29; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$tmpcast4$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast4$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _DrawLineEx($tmpcast$byval_copy,$tmpcast4$byval_copy,$2,$$byval_copy); + $30 = $5; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = $4; + $37 = $36; + HEAP32[$37>>2] = $32; + $38 = (($36) + 4)|0; + $39 = $38; + HEAP32[$39>>2] = $35; + $40 = (($$05) + 1)|0; + $exitcond = ($40|0)==(25); + if ($exitcond) { + break; + } else { + $$05 = $40; + } + } + STACKTOP = sp;return; +} +function _EaseCubicInOut($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$0 = 0.0, $$pn = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0 / 12.0; + $4 = $3 < 1.0; + $5 = $2 * 0.5; + if ($4) { + $6 = $3 * $5; + $7 = $3 * $6; + $8 = $3 * $7; + $$pn = $8; + $$0 = $$pn + $1; + return (+$$0); + } else { + $9 = $3 + -2.0; + $10 = $9 * $9; + $11 = $9 * $10; + $12 = $11 + 2.0; + $13 = $5 * $12; + $$pn = $13; + $$0 = $$pn + $1; + return (+$$0); + } + return +(0.0); +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[14040>>2]|0;HEAP32[$0+4>>2]=HEAP32[14040+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[14040+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[14040+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[14040+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[14040+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[14040+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[14040+28>>2]|0; + return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 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; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|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.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.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.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($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, $398 = 0, $399 = 0, $4 = 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, $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; + var $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, $53 = 0, $530 = 0; + var $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, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,8298)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,8302)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,8306)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,8310)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,8316)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,8354)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 8373; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,8386)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 8407; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,8422)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 8437; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,8452)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 8467; + } + } else { + HEAP32[$3>>2] = 8338; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,8482)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,8496)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 2; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,8508)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,8522)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,8534)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,8548)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,8562)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,8579)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,8602)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,8628)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,8641)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,8657)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,8670)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,8684)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,8704)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,8724)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,8741)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,8758)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 3; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,8770)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,8783)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,8799)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,8822)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,8835)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,8851)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 4; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,8862)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,8881)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,8903)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,8922)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,8951)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 5; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,8968)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,8983)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,8998)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,9019)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,9039)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,9059)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,9085)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,9104)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,9116)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,9128)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,9140)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,9152)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,9164)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,9176)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,9188)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,9200)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,9213)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,9226)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,9239)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,9252)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,9265)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,9278)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,9291)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,9304)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,9323)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,9342)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,9361)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,9374)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,9392)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,9410)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,9428)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,9446)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,9466)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,8407)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 6; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,9484)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,9499)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,9520)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,9535)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,9553)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,9569)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,9588)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,9602)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,9617)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 7; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,8338)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,9628)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,8437)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,8467)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,9644)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,9671)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,9685)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,8373)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,9705)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,9723)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 8; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,9735)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,9756)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,9774)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,9792)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,9813)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,9839)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,9862)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,9900)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 9; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,9916)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,9931)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,9954)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,9967)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,9981)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,9995)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,10015)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,10035)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,10051)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,10069)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,10085)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,10100)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,10122)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,10140)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,10161)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,10179)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,10192)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,10207)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,10221)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,10231)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,10241)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,10263)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,10289)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,10316)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,10329)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,10344)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,10359)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,10383)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,10394)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,10416)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,10438)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,10462)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,10471)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,10479)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,10492)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,10506)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,10518)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,10527)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,10537)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,10549)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,10560)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,10568)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,10580)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,10595)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,10607)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,10621)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 10; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,10646)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,10663)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,10679)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,10695)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 11; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,10707)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,10719)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,10743)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,10756)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,10770)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,10792)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,10799)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,10815)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,10832)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,10849)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,10865)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,10881)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,10898)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,10912)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,10924)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,10935)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,10948)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,10958)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,10975)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,10987)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,11009)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,11029)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,11042)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,11064)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,11084)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,11101)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,11118)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,11138)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (16236|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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 + 16|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $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;$26 = $17; + while(1) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _pthread_self() { + var label = 0, sp = 0; + sp = STACKTOP; + return (2980|0); +} +function _dummy_738($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] = 8; + $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 _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 _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 _vfprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 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, $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, $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 + 120|0; + $4 = sp + 80|0; + $5 = sp; + $6 = sp + 136|0; + 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 & 15]($0,0,0)|0); + $33 = HEAP32[$26>>2]|0; + $34 = ($33|0)==(0|0); + $$ = $34 ? -1 : $29; + HEAP32[$23>>2] = $24; + HEAP32[$19>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $$1 = $$; + } + } else { + $22 = (_printf_core($0,$1,$3,$5,$4)|0); + $$1 = $22; + } + $35 = HEAP32[$0>>2]|0; + $36 = $35 & 32; + $37 = ($36|0)==(0); + $$1$ = $37 ? $$1 : -1; + $38 = $35 | $14; + HEAP32[$0>>2] = $38; + $39 = ($40|0)==(0); + if (!($39)) { + ___unlockfile($0); + } + $$0 = $$1$; + } + 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, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 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.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, $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 $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 20|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 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; + L1: 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 = HEAP8[$21>>0]|0; + $22 = ($20<<24>>24)==(0); + if ($22) { + label = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $25;$27 = $25; + label = 9; + break L9; + break; + } + case 0: { + $$0249$lcssa = $25;$39 = $25; + break L9; + break; + } + default: { + } + } + $24 = ((($25)) + 1|0); + HEAP32[$5>>2] = $24; + $$pre = HEAP8[$24>>0]|0; + $23 = $$pre;$25 = $24; + } + L12: do { + if ((label|0) == 9) { + while(1) { + label = 0; + $26 = ((($27)) + 1|0); + $28 = HEAP8[$26>>0]|0; + $29 = ($28<<24>>24)==(37); + if (!($29)) { + $$0249$lcssa = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $30;$27 = $31; + label = 9; + } else { + $$0249$lcssa = $30;$39 = $31; + break; + } + } + } + } while(0); + $34 = $$0249$lcssa; + $35 = $21; + $36 = (($34) - ($35))|0; + if ($10) { + _out($0,$21,$36); + } + $37 = ($36|0)==(0); + if (!($37)) { + $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; + continue; + } + $38 = ((($39)) + 1|0); + $40 = HEAP8[$38>>0]|0; + $41 = $40 << 24 >> 24; + $isdigittmp = (($41) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $42 = ((($39)) + 2|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)==(36); + $45 = ((($39)) + 3|0); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } else { + $$0253 = -1;$$1270 = $$0269;$storemerge = $38; + } + HEAP32[$5>>2] = $storemerge; + $46 = HEAP8[$storemerge>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($47) + -32)|0; + $49 = ($48>>>0)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((11254 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 11718;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 11718;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11718 : (11720); + $$$ = $238 ? $$ : (11719); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 11718;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 11718;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 11728; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11718;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (11718 + ($208)|0); + $$289 = $or$cond283 ? 11718 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 11718;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; + $$0228$ = $or$cond ? $$0228 : $11; + $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; + } + else if ((label|0) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } else { + $$0 = $$1248; + } + } + } while(0); + STACKTOP = sp;return ($$0|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 _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, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $isdigittmp4 = (($3) + -48)|0; + $isdigit5 = ($isdigittmp4>>>0)<(10); + if ($isdigit5) { + $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; + while(1) { + $4 = ($$06*10)|0; + $5 = (($isdigittmp7) + ($4))|0; + $6 = ((($7)) + 1|0); + HEAP32[$0>>2] = $6; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $isdigittmp = (($9) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; + } else { + $$0$lcssa = $5; + break; + } + } + } else { + $$0$lcssa = 0; + } + 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 = (11770 + ($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, $3 = 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 = (___uremdi3(($8|0),($9|0),10,0)|0); + $11 = tempRet0; + $12 = $10&255; + $13 = $12 | 48; + $14 = ((($$0914)) + -1|0); + HEAP8[$14>>0] = $13; + $15 = (___udivdi3(($8|0),($9|0),10,0)|0); + $16 = tempRet0; + $17 = ($9>>>0)>(9); + $18 = ($8>>>0)>(4294967295); + $19 = ($9|0)==(9); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $$0914 = $14;$8 = $15;$9 = $16; + } else { + break; + } + } + $$010$lcssa$off0 = $15;$$09$lcssa = $14; + } else { + $$010$lcssa$off0 = $0;$$09$lcssa = $2; + } + $22 = ($$010$lcssa$off0|0)==(0); + if ($22) { + $$1$lcssa = $$09$lcssa; + } else { + $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; + while(1) { + $23 = (($$012>>>0) % 10)&-1; + $24 = $23 | 48; + $25 = $24&255; + $26 = ((($$111)) + -1|0); + HEAP8[$26>>0] = $25; + $27 = (($$012>>>0) / 10)&-1; + $28 = ($$012>>>0)<(10); + if ($28) { + $$1$lcssa = $26; + break; + } else { + $$012 = $27;$$111 = $26; + } + } + } + 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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 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 { + $$2 = $$035$lcssa;$$3 = 0; + } + } + L8: do { + if ((label|0) == 6) { + $17 = HEAP8[$$035$lcssa65>>0]|0; + $18 = $1&255; + $19 = ($17<<24>>24)==($18<<24>>24); + if ($19) { + $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; + } else { + $20 = Math_imul($3, 16843009)|0; + $21 = ($$036$lcssa64>>>0)>(3); + L11: 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)) { + break; + } + $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 L11; + } + } + $$140 = $$046;$$23839 = $$13745; + } else { + $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; + label = 11; + } + } while(0); + if ((label|0) == 11) { + $32 = ($$137$lcssa|0)==(0); + if ($32) { + $$2 = $$0$lcssa;$$3 = 0; + break; + } else { + $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + } + } + while(1) { + $33 = HEAP8[$$140>>0]|0; + $34 = ($33<<24>>24)==($18<<24>>24); + if ($34) { + $$2 = $$140;$$3 = $$23839; + break L8; + } + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; + break; + } else { + $$140 = $35;$$23839 = $36; + } + } + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_674($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, $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 = ($9>>>0)<(256); + $11 = $10 ? $9 : 256; + _memset(($5|0),($1|0),($11|0))|0; + $12 = ($9>>>0)>(255); + if ($12) { + $13 = (($2) - ($3))|0; + $$011 = $9; + while(1) { + _out($0,$5,256); + $14 = (($$011) + -256)|0; + $15 = ($14>>>0)>(255); + if ($15) { + $$011 = $14; + } else { + break; + } + } + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; + } + _out($0,$5,$$0$lcssa); + } + STACKTOP = sp;return; +} +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 _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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.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.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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $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.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $387 = 0, $388 = 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.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.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 $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 524|0; + $9 = $8; + $10 = sp + 512|0; + HEAP32[$7>>2] = 0; + $11 = ((($10)) + 12|0); + (___DOUBLE_BITS_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11735; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11736) : (11741); + $$$ = $16 ? $$ : (11738); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (11770 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $85 = $84&255; + $86 = ((($$0523)) + 1|0); + HEAP8[$$0523>>0] = $85; + $87 = (+($80|0)); + $88 = $$2473 - $87; + $89 = $88 * 16.0; + $90 = $86; + $91 = (($90) - ($9))|0; + $92 = ($91|0)==(1); + if ($92) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$3501$lcssa; + $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; + } else { + $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; + } + $$7505 = $$7505$ph; + while(1) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11786,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,11786,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11754 : 11758; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11762 : 11766; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($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 _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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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, $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 label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; + while(1) { + $3 = (11788 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; + break; + } + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); + if ($8) { + $$01214 = 11876;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 11876; + } else { + $$01214 = 11876;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$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; + label = 5; + } + } + } + $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 $$ = 0, $$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; + 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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 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); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$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); + $$ = $61 ? $57 : 0; + $$4 = $$; + } 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 $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); +} +function ___fwritex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var 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 & 15]($2,$0,$1)|0); + $$1 = $17; + break; + } + $18 = ((($2)) + 75|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)>(-1); + L10: do { + if ($20) { + $$038 = $1; + while(1) { + $21 = ($$038|0)==(0); + if ($21) { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + break L10; + } + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; + } else { + $$038 = $22; + } + } + $26 = ((($2)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); + $29 = ($28>>>0)<($$038>>>0); + if ($29) { + $$1 = $28; + break L5; + } + $30 = (($0) + ($$038)|0); + $$042 = (($1) - ($$038))|0; + $$pre47 = HEAP32[$9>>2]|0; + $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; + } else { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + } + } while(0); + _memcpy(($31|0),($$141|0),($$143|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($32) + ($$143)|0); + HEAP32[$9>>2] = $33; + $34 = (($$139) + ($$143))|0; + $$1 = $34; + } + } 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 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; + var $21 = 0, $22 = 0, $23 = 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 = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; + } else { + $$01519 = $6;$23 = $7; + } + } + } + } while(0); + if ((label|0) == 4) { + $$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 { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; + } else { + $$pn = $19; + } + } + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|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 ___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) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<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 _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, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 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) { + $$029 = $$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$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((16300|0)); + return (16308|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((16300|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[838]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[838]|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 & 15]($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 & 15]($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 _strstr($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, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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 label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 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, $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, $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, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;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;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 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]=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;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 13944; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[806]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;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;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = HEAP32[4078]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[4078] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[4078] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[4078] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[4078] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 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; + var $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, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $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, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $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, $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, $2 = 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, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $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, $237 = 0; + var $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, $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, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$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[4079]|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 = (16356 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[4079] = $24; + } else { + $25 = HEAP32[(16332)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(16324)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (16356 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[4079] = $77; + $98 = $77; + } else { + $78 = HEAP32[(16332)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(16336)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (16356 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[4079] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(16332)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(16324)>>2] = $84; + HEAP32[(16336)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(16320)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (16620 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(16332)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (16620 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(16320)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(16332)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(16332)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(16332)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(16336)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (16356 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[4079] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(16332)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(16324)>>2] = $$0193$lcssa$i; + HEAP32[(16336)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(16320)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (16620 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (16620 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(16324)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(16332)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (16620 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(16320)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(16332)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(16332)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(16332)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (16356 + ($425<<2)|0); + $427 = HEAP32[4079]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[4079] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(16332)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (16620 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(16320)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(16332)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(16332)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(16324)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(16336)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(16336)>>2] = $511; + HEAP32[(16324)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(16324)>>2] = 0; + HEAP32[(16336)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(16328)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(16328)>>2] = $526; + $527 = HEAP32[(16340)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(16340)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[4197]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(16796)>>2] = 4096; + HEAP32[(16792)>>2] = 4096; + HEAP32[(16800)>>2] = -1; + HEAP32[(16804)>>2] = -1; + HEAP32[(16808)>>2] = 0; + HEAP32[(16760)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[4197] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(16796)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(16756)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(16748)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(16760)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(16340)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (16764); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(16792)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(16748)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(16756)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(16796)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(16760)>>2]|0; + $612 = $611 | 4; + HEAP32[(16760)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(16748)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(16748)>>2] = $627; + $628 = HEAP32[(16752)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(16752)>>2] = $627; + } + $630 = HEAP32[(16340)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(16332)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(16332)>>2] = $$749$i; + } + HEAP32[(16764)>>2] = $$749$i; + HEAP32[(16768)>>2] = $$723948$i; + HEAP32[(16776)>>2] = 0; + $635 = HEAP32[4197]|0; + HEAP32[(16352)>>2] = $635; + HEAP32[(16348)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (16356 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(16340)>>2] = $649; + HEAP32[(16328)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(16804)>>2]|0; + HEAP32[(16344)>>2] = $655; + } else { + $$024371$i = (16764); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(16328)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(16340)>>2] = $679; + HEAP32[(16328)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(16804)>>2]|0; + HEAP32[(16344)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(16332)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(16332)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (16764); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(16328)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(16328)>>2] = $727; + HEAP32[(16340)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(16336)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(16324)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(16324)>>2] = $733; + HEAP32[(16336)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (16356 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[4079]|0; + $760 = $759 & $758; + HEAP32[4079] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (16620 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(16320)>>2]|0; + $803 = $802 & $801; + HEAP32[(16320)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(16332)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(16332)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(16332)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (16356 + ($836<<2)|0); + $838 = HEAP32[4079]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[4079] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(16332)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (16620 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(16320)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(16320)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(16332)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(16332)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (16764); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(16340)>>2] = $946; + HEAP32[(16328)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(16804)>>2]|0; + HEAP32[(16344)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(16764)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(16764)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(16764)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(16764)+12>>2]|0; + HEAP32[(16764)>>2] = $$749$i; + HEAP32[(16768)>>2] = $$723948$i; + HEAP32[(16776)>>2] = 0; + HEAP32[(16772)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (16356 + ($968<<2)|0); + $970 = HEAP32[4079]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[4079] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(16332)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (16620 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(16320)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(16320)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(16332)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(16332)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(16328)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(16328)>>2] = $1050; + $1051 = HEAP32[(16340)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(16340)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $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; + var $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, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(16332)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(16336)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(16324)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (16356 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[4079]|0; + $38 = $37 & $36; + HEAP32[4079] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (16620 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(16320)>>2]|0; + $81 = $80 & $79; + HEAP32[(16320)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(16332)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(16332)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(16332)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(16340)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(16336)>>2]|0; + if ($121) { + $123 = HEAP32[(16328)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(16328)>>2] = $124; + HEAP32[(16340)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(16336)>>2] = 0; + HEAP32[(16324)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(16324)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(16324)>>2] = $130; + HEAP32[(16336)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (16356 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(16332)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[4079]|0; + $154 = $153 & $152; + HEAP32[4079] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(16332)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(16332)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(16332)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (16620 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(16320)>>2]|0; + $200 = $199 & $198; + HEAP32[(16320)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(16332)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(16332)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(16332)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(16336)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(16324)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (16356 + ($234<<2)|0); + $236 = HEAP32[4079]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[4079] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(16332)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (16620 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(16320)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(16320)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(16332)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(16332)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(16348)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(16348)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (16772); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(16348)>>2] = -1; + return; +} +function runPostSets() { +} +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 _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 _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 _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 _llvm_cttz_i32(x) { + x = x|0; + var ret = 0; + ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); + if ((ret|0) < 8) return ret|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 8)|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 16)|0; + return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +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 _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|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) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|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 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&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](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_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|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&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +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&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +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); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,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_ii = [b5,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, ___errno_location: ___errno_location, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, _llvm_bswap_i32: _llvm_bswap_i32, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.apply(null, arguments); +}; + +var real__main = asm["_main"]; asm["_main"] = 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__main.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 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_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__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__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__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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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_GetProcAddress.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__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__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_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__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__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +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 +} + +Module['callMain'] = Module.callMain = function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); + assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); + + args = args || []; + + ensureInitRuntime(); + + var argc = args.length+1; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + try { + + var ret = Module['_main'](argc, argv, 0); + + + // if we're not running an evented main loop, it's time to exit + exit(ret, /* implicit = */ true); + } + catch(e) { + if (e instanceof ExitStatus) { + // exit() throws this once it's done to make sure execution + // has been stopped completely + return; + } else if (e == 'SimulateInfiniteLoop') { + // running an evented main loop, don't immediately exit + Module['noExitRuntime'] = true; + return; + } else { + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); + } + } finally { + calledMain = true; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (Module['_main'] && shouldRunNow) Module['callMain'](args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + checkStackCookie(); +} +Module['run'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); + } else { + + ABORT = true; + EXITSTATUS = status; + STACKTOP = initialStackTop; + + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } + + if (ENVIRONMENT_IS_NODE) { + process['exit'](status); + } + Module['quit'](status, new ExitStatus(status)); +} +Module['exit'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(what) { + if (what !== undefined) { + Module.print(what); + Module.printErr(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'] = Module.abort = abort; + +// {{PRE_RUN_ADDITIONS}} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; +if (Module['noInitialRun']) { + shouldRunNow = false; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/web/shapes/shapes_lines_bezier.png b/docs/examples/web/shapes/shapes_lines_bezier.png new file mode 100644 index 000000000..390a49adf Binary files /dev/null and b/docs/examples/web/shapes/shapes_lines_bezier.png differ diff --git a/docs/examples/web/shapes/shapes_logo_raylib.js b/docs/examples/web/shapes/shapes_logo_raylib.js index a6dcf3f4b..5cc5f5062 100644 --- a/docs/examples/web/shapes/shapes_logo_raylib.js +++ b/docs/examples/web/shapes/shapes_logo_raylib.js @@ -7240,6 +7240,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7339,13 +7389,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8296,45 +8339,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/shapes/shapes_logo_raylib.png b/docs/examples/web/shapes/shapes_logo_raylib.png similarity index 100% rename from docs/examples/img/shapes/shapes_logo_raylib.png rename to docs/examples/web/shapes/shapes_logo_raylib.png diff --git a/docs/examples/web/shapes/shapes_logo_raylib_anim.js b/docs/examples/web/shapes/shapes_logo_raylib_anim.js index d1c549009..67f056c7f 100644 --- a/docs/examples/web/shapes/shapes_logo_raylib_anim.js +++ b/docs/examples/web/shapes/shapes_logo_raylib_anim.js @@ -7537,6 +7537,56 @@ function _UpdateDrawFrame() { } } } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7636,13 +7686,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8593,45 +8636,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/shapes/shapes_logo_raylib_anim.png b/docs/examples/web/shapes/shapes_logo_raylib_anim.png similarity index 100% rename from docs/examples/img/shapes/shapes_logo_raylib_anim.png rename to docs/examples/web/shapes/shapes_logo_raylib_anim.png diff --git a/docs/examples/web/text/loader.html b/docs/examples/web/text/loader.html new file mode 100644 index 000000000..93d7260f3 --- /dev/null +++ b/docs/examples/web/text/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/text/resources/fonts/alagard.png b/docs/examples/web/text/resources/fonts/alagard.png new file mode 100644 index 000000000..3ac4bf1cf Binary files /dev/null and b/docs/examples/web/text/resources/fonts/alagard.png differ diff --git a/docs/examples/web/text/resources/fonts/alagard.rbmf b/docs/examples/web/text/resources/fonts/alagard.rbmf deleted file mode 100644 index 8c9b68d3c..000000000 Binary files a/docs/examples/web/text/resources/fonts/alagard.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/alpha_beta.png b/docs/examples/web/text/resources/fonts/alpha_beta.png new file mode 100644 index 000000000..c362bfb18 Binary files /dev/null and b/docs/examples/web/text/resources/fonts/alpha_beta.png differ diff --git a/docs/examples/web/text/resources/fonts/alpha_beta.rbmf b/docs/examples/web/text/resources/fonts/alpha_beta.rbmf deleted file mode 100644 index bdb2e7521..000000000 Binary files a/docs/examples/web/text/resources/fonts/alpha_beta.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/jupiter_crash.png b/docs/examples/web/text/resources/fonts/jupiter_crash.png new file mode 100644 index 000000000..1f5172fbe Binary files /dev/null and b/docs/examples/web/text/resources/fonts/jupiter_crash.png differ diff --git a/docs/examples/web/text/resources/fonts/jupiter_crash.rbmf b/docs/examples/web/text/resources/fonts/jupiter_crash.rbmf deleted file mode 100644 index d797e0d65..000000000 Binary files a/docs/examples/web/text/resources/fonts/jupiter_crash.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/mecha.png b/docs/examples/web/text/resources/fonts/mecha.png new file mode 100644 index 000000000..8022d18c4 Binary files /dev/null and b/docs/examples/web/text/resources/fonts/mecha.png differ diff --git a/docs/examples/web/text/resources/fonts/mecha.rbmf b/docs/examples/web/text/resources/fonts/mecha.rbmf deleted file mode 100644 index 0266a0654..000000000 Binary files a/docs/examples/web/text/resources/fonts/mecha.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/pixantiqua.png b/docs/examples/web/text/resources/fonts/pixantiqua.png new file mode 100644 index 000000000..ce422e7e7 Binary files /dev/null and b/docs/examples/web/text/resources/fonts/pixantiqua.png differ diff --git a/docs/examples/web/text/resources/fonts/pixantiqua.rbmf b/docs/examples/web/text/resources/fonts/pixantiqua.rbmf deleted file mode 100644 index 04ef0e25e..000000000 Binary files a/docs/examples/web/text/resources/fonts/pixantiqua.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/pixelplay.png b/docs/examples/web/text/resources/fonts/pixelplay.png new file mode 100644 index 000000000..bf8f8818f Binary files /dev/null and b/docs/examples/web/text/resources/fonts/pixelplay.png differ diff --git a/docs/examples/web/text/resources/fonts/pixelplay.rbmf b/docs/examples/web/text/resources/fonts/pixelplay.rbmf deleted file mode 100644 index 31d14038d..000000000 Binary files a/docs/examples/web/text/resources/fonts/pixelplay.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/romulus.png b/docs/examples/web/text/resources/fonts/romulus.png new file mode 100644 index 000000000..46ccc3273 Binary files /dev/null and b/docs/examples/web/text/resources/fonts/romulus.png differ diff --git a/docs/examples/web/text/resources/fonts/romulus.rbmf b/docs/examples/web/text/resources/fonts/romulus.rbmf deleted file mode 100644 index be9da01a3..000000000 Binary files a/docs/examples/web/text/resources/fonts/romulus.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/setback.png b/docs/examples/web/text/resources/fonts/setback.png new file mode 100644 index 000000000..086f3e27b Binary files /dev/null and b/docs/examples/web/text/resources/fonts/setback.png differ diff --git a/docs/examples/web/text/resources/fonts/setback.rbmf b/docs/examples/web/text/resources/fonts/setback.rbmf deleted file mode 100644 index 09572215c..000000000 Binary files a/docs/examples/web/text/resources/fonts/setback.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/pixantiqua.fnt b/docs/examples/web/text/resources/pixantiqua.fnt similarity index 100% rename from docs/examples/web/text/resources/fonts/pixantiqua.fnt rename to docs/examples/web/text/resources/pixantiqua.fnt diff --git a/docs/examples/web/text/text_bmfont_ttf.js b/docs/examples/web/text/text_bmfont_ttf.js index 8596d98ba..bb48be443 100644 --- a/docs/examples/web/text/text_bmfont_ttf.js +++ b/docs/examples/web/text/text_bmfont_ttf.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 11125, "filename": "/resources/bmfont.fnt"}, {"audio": 0, "start": 11125, "crunched": 0, "end": 25596, "filename": "/resources/bmfont.png"}, {"audio": 0, "start": 25596, "crunched": 0, "end": 61004, "filename": "/resources/pixantiqua.ttf"}], "remote_package_size": 61004, "package_uuid": "ec422a61-1640-43c4-889f-730d2605cae0"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 11125, "filename": "/resources/bmfont.fnt"}, {"audio": 0, "start": 11125, "crunched": 0, "end": 25596, "filename": "/resources/bmfont.png"}, {"audio": 0, "start": 25596, "crunched": 0, "end": 61004, "filename": "/resources/pixantiqua.ttf"}], "remote_package_size": 61004, "package_uuid": "31e67f09-93a3-471f-aac0-1897e169e508"}); })(); @@ -1846,12 +1846,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 24704; +STATICTOP = STATIC_BASE + 24688; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,119,92,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,84,72,73,83,32,73,83,32,65,78,32,65,110,103,101,108,67,111,100,101,32,83,80,82,73,84,69,32,70,79,78,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,72,73,83,32,83,80,82,73,84,69,32,70,79,78,84,32,104,97,115,32,98,101,101,110,32,71,69,78,69,82,65,84,69,68,32,102,114,111,109,32,97,32,84,84,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,98,109,102,111,110,116,32,97,110,100,32,116,116,102,32,115,112,114,105,116,101,32,102,111,110,116,115,32,108,111,97,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,98,109,102,111,110,116,46,102,110,116,0,114,101,115,111,117,114,99,101,115,47,112,105,120,97,110,116,105,113,117,97,46,116,116,102,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,103,92,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,84,72,73,83,32,73,83,32,65,78,32,65,110,103,101,108,67,111,100,101,32,83,80,82,73,84,69,32,70,79,78,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,72,73,83,32,83,80,82,73,84,69,32,70,79,78,84,32,104,97,115,32,98,101,101,110,32,71,69,78,69,82,65,84,69,68,32,102,114,111,109,32,97,32,84,84,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,98,109,102,111,110,116,32,97,110,100,32,116,116,102,32,115,112,114,105,116,101,32,102,111,110,116,115,32,108,111,97,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,98,109,102,111,110,116,46,102,110,116,0,114,101,115,111,117,114,99,101,115,47,112,105,120,97,110,116,105,113,117,97,46,116,116,102,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10580,32 +10580,32 @@ function _main() { $4 = HEAP32[3]|0; _InitWindow($3,$4,4368); _LoadSpriteFont($0,4428); - ;HEAP32[19120>>2]=HEAP32[$0>>2]|0;HEAP32[19120+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[19120+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[19120+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[19120+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[19120+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[19120+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[19120+28>>2]=HEAP32[$0+28>>2]|0; + ;HEAP32[19424>>2]=HEAP32[$0>>2]|0;HEAP32[19424+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[19424+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[19424+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[19424+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[19424+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[19424+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[19424+28>>2]=HEAP32[$0+28>>2]|0; _LoadSpriteFont($1,4449); - ;HEAP32[19152>>2]=HEAP32[$1>>2]|0;HEAP32[19152+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19152+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19152+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19152+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[19152+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[19152+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[19152+28>>2]=HEAP32[$1+28>>2]|0; + ;HEAP32[19456>>2]=HEAP32[$1>>2]|0;HEAP32[19456+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19456+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19456+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19456+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[19456+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[19456+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[19456+28>>2]=HEAP32[$1+28>>2]|0; $5 = HEAP32[2]|0; $6 = (($5|0) / 2)&-1; $7 = (+($6|0)); - $8 = HEAP32[(19140)>>2]|0; + $8 = HEAP32[(19444)>>2]|0; $9 = (+($8|0)); - ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19120>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19120+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19120+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19120+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19120+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19120+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19120+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19120+28>>2]|0; + ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19424>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19424+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19424+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19424+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19424+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19424+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19424+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19424+28>>2]|0; _MeasureTextEx($2,$fontTtf$byval_copy,4240,$9,0); $10 = +HEAPF32[$2>>2]; $11 = $10 * 0.5; $12 = $7 - $11; - HEAPF32[4796] = $12; + HEAPF32[4872] = $12; $13 = HEAP32[3]|0; $14 = (($13|0) / 2)&-1; - $15 = HEAP32[(19140)>>2]|0; + $15 = HEAP32[(19444)>>2]|0; $$neg = (($15|0) / -2)&-1; $16 = (($14) + -80)|0; $17 = (($16) + ($$neg))|0; $18 = (+($17|0)); - HEAPF32[(19188)>>2] = $18; + HEAPF32[(19492)>>2] = $18; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19120>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19120+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19120+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19120+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19120+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19120+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19120+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19120+28>>2]|0; + ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19424>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19424+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19424+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19424+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19424+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19424+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19424+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19424+28>>2]|0; _UnloadSpriteFont($fontTtf$byval_copy); - ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19152>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19152+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19152+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19152+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19152+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19152+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19152+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19152+28>>2]|0; + ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19456>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19456+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19456+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19456+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19456+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19456+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19456+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19456+28>>2]|0; _UnloadSpriteFont($fontTtf$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10632,7 +10632,7 @@ function _UpdateDrawFrame() { HEAP8[$6>>0] = -1; ;HEAP8[$$byval_copy3>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$0+3>>0]|0; _ClearBackground($$byval_copy3); - $7 = HEAP32[(19140)>>2]|0; + $7 = HEAP32[(19444)>>2]|0; $8 = (+($7|0)); HEAP8[$1>>0] = -66; $9 = ((($1)) + 1|0); @@ -10641,14 +10641,14 @@ function _UpdateDrawFrame() { HEAP8[$10>>0] = 55; $11 = ((($1)) + 3|0); HEAP8[$11>>0] = -1; - ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19120>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19120+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19120+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19120+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19120+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19120+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19120+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19120+28>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[19184>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[19184+4>>2]|0; + ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19424>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19424+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19424+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19424+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19424+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19424+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19424+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19424+28>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[19488>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[19488+4>>2]|0; ;HEAP8[$$byval_copy3>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$1+3>>0]|0; _DrawTextEx($fontTtf$byval_copy,4240,$$byval_copy2,$8,0,$$byval_copy3); HEAPF32[$2>>2] = 75.0; $12 = ((($2)) + 4|0); HEAPF32[$12>>2] = 240.0; - $13 = HEAP32[(19172)>>2]|0; + $13 = HEAP32[(19476)>>2]|0; $14 = (+($13|0)); $15 = $14 * 0.80000001192092896; HEAP8[$3>>0] = 0; @@ -10658,13 +10658,63 @@ function _UpdateDrawFrame() { HEAP8[$17>>0] = 47; $18 = ((($3)) + 3|0); HEAP8[$18>>0] = -1; - ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19152>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19152+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19152+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19152+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19152+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19152+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19152+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19152+28>>2]|0; + ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19456>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19456+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19456+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19456+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19456+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19456+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19456+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19456+28>>2]|0; ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0; ;HEAP8[$$byval_copy3>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$3+3>>0]|0; _DrawTextEx($fontTtf$byval_copy,4304,$$byval_copy2,$15,2,$$byval_copy3); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10764,13 +10814,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11380,7 +11423,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4799] = $2; + HEAP32[4875] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11393,7 +11436,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 18848; + $95 = 19152; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11406,48 +11449,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 18888; + $106 = 19192; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4722]; - $111 = +HEAPF32[4712]; + $110 = +HEAPF32[4798]; + $111 = +HEAPF32[4788]; $112 = $110 - $111; - HEAPF32[4724] = $112; - $113 = +HEAPF32[(18892)>>2]; - $114 = +HEAPF32[(18852)>>2]; + HEAPF32[4800] = $112; + $113 = +HEAPF32[(19196)>>2]; + $114 = +HEAPF32[(19156)>>2]; $115 = $113 - $114; - HEAPF32[(18900)>>2] = $115; - HEAP32[4798] = 4; + HEAPF32[(19204)>>2] = $115; + HEAP32[4874] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18880+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18904+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4804] = $116; - $117 = 18880; + HEAPF32[4880] = $116; + $117 = 19184; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 18848; + $123 = 19152; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 18904; + $127 = 19208; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 18888; + $133 = 19192; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11460,7 +11503,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 18880; + $144 = 19184; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11473,27 +11516,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 18904; + $155 = 19208; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4726]; - $160 = +HEAPF32[4720]; + $159 = +HEAPF32[4802]; + $160 = +HEAPF32[4796]; $161 = $159 - $160; - HEAPF32[4724] = $161; - $162 = +HEAPF32[(18908)>>2]; - $163 = +HEAPF32[(18884)>>2]; + HEAPF32[4800] = $161; + $162 = +HEAPF32[(19212)>>2]; + $163 = +HEAPF32[(19188)>>2]; $164 = $162 - $163; - HEAPF32[(18900)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18848+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18880>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18880+4>>2]|0; + HEAPF32[(19204)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19184+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18888>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18888+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18904+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19192>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19192+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11505,31 +11548,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18880+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18904+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4804]; + $170 = +HEAPF32[4880]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4798] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18880+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18904+4>>2]|0; + HEAP32[4874] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4805] = $174; + HEAPF32[4881] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4804] = 0.0; - HEAPF32[4805] = 0.0; - HEAPF32[4724] = 0.0; - HEAPF32[(18900)>>2] = 0.0; - HEAP32[4799] = 0; - HEAP32[4798] = 0; + HEAPF32[4880] = 0.0; + HEAPF32[4881] = 0.0; + HEAPF32[4800] = 0.0; + HEAPF32[(19204)>>2] = 0.0; + HEAP32[4875] = 0; + HEAP32[4874] = 0; STACKTOP = sp;return; break; } @@ -11539,22 +11582,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4800]|0; + $6 = HEAP32[4876]|0; $7 = (($6) + 1)|0; - HEAP32[4800] = $7; - $8 = HEAP32[4798]|0; + HEAP32[4876] = $7; + $8 = HEAP32[4874]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18848+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4798] = 2; - HEAP32[4800] = 0; + HEAP32[4874] = 2; + HEAP32[4876] = 0; } else { label = 6; } @@ -11562,8 +11605,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4800] = 1; - HEAP32[4798] = 1; + HEAP32[4876] = 1; + HEAP32[4874] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11572,19 +11615,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 18848; + $21 = 19152; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 18856; + $25 = 19160; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 18864; + $29 = 19168; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11593,13 +11636,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4718] = 0.0; - HEAPF32[(18876)>>2] = 0.0; + HEAPF32[4794] = 0.0; + HEAPF32[(19180)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4798]|0; + $35 = HEAP32[4874]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11609,19 +11652,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 18864; + $44 = 19168; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18848+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18864>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18864+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19168+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4801] = $49; - HEAP32[4802] = 0; + HEAPF32[4877] = $49; + HEAP32[4878] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11629,11 +11672,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18848+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18864>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18864+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19168+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4803] = $56; + HEAPF32[4879] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11664,22 +11707,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4801] = 0.0; - HEAPF32[4803] = 0.0; + HEAPF32[4877] = 0.0; + HEAPF32[4879] = 0.0; $$sink10 = 0; } - HEAP32[4798] = $$sink10; - HEAPF32[4714] = 0.0; - HEAPF32[(18860)>>2] = 0.0; - HEAP32[4799] = 0; + HEAP32[4874] = $$sink10; + HEAPF32[4790] = 0.0; + HEAPF32[(19164)>>2] = 0.0; + HEAP32[4875] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4802]|0; + $65 = HEAP32[4878]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4802] = 1; + HEAP32[4878] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11688,31 +11731,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 18880; + $74 = 19184; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4798]|0; + $78 = HEAP32[4874]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18848+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18880>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18880+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19184+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4798] = 8; + HEAP32[4874] = 8; } } - $82 = +HEAPF32[4720]; - $83 = +HEAPF32[4714]; + $82 = +HEAPF32[4796]; + $83 = +HEAPF32[4790]; $84 = $82 - $83; - HEAPF32[4718] = $84; - $85 = +HEAPF32[(18884)>>2]; - $86 = +HEAPF32[(18860)>>2]; + HEAPF32[4794] = $84; + $85 = +HEAPF32[(19188)>>2]; + $86 = +HEAPF32[(19164)>>2]; $87 = $85 - $86; - HEAPF32[(18876)>>2] = $87; + HEAPF32[(19180)>>2] = $87; STACKTOP = sp;return; break; } @@ -11721,58 +11764,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4798]|0; + $0 = HEAP32[4874]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4799]|0; + $2 = HEAP32[4875]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4798] = 4; + HEAP32[4874] = 4; } - $4 = HEAP32[4798]|0; + $4 = HEAP32[4874]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11785,14 +11789,14 @@ function _UpdateGestures() { return; } } - HEAP32[4798] = 0; + HEAP32[4874] = 0; return; } function _GetMousePosition($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 = 18912; + $1 = 19216; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11809,13 +11813,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4808]|0; + $0 = HEAP32[4884]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4807]|0; + $0 = HEAP32[4883]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11827,7 +11831,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4474,$vararg_buffer); - HEAP32[4810] = $2; + HEAP32[4886] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11840,15 +11844,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4503|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4808]|0; + $3 = HEAP32[4884]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4728] = $5; - $6 = HEAP32[4807]|0; + HEAPF32[4804] = $5; + $6 = HEAP32[4883]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(18916)>>2] = $8; - $9 = HEAP32[4811]|0; + HEAPF32[(19220)>>2] = $8; + $9 = HEAP32[4887]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11867,11 +11871,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[18952>>0]=HEAP8[9032>>0]|0;HEAP8[18952+1>>0]=HEAP8[9032+1>>0]|0;HEAP8[18952+2>>0]=HEAP8[9032+2>>0]|0;HEAP8[18952+3>>0]=HEAP8[9032+3>>0]|0;HEAP8[18952+4>>0]=HEAP8[9032+4>>0]|0;HEAP8[18952+5>>0]=HEAP8[9032+5>>0]|0;HEAP8[18952+6>>0]=HEAP8[9032+6>>0]|0; + ;HEAP8[19256>>0]=HEAP8[9032>>0]|0;HEAP8[19256+1>>0]=HEAP8[9032+1>>0]|0;HEAP8[19256+2>>0]=HEAP8[9032+2>>0]|0;HEAP8[19256+3>>0]=HEAP8[9032+3>>0]|0;HEAP8[19256+4>>0]=HEAP8[9032+4>>0]|0;HEAP8[19256+5>>0]=HEAP8[9032+5>>0]|0;HEAP8[19256+6>>0]=HEAP8[9032+6>>0]|0; break; } case 1: { - $3 = 18952; + $3 = 19256; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11880,11 +11884,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=18952; src=9039; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=19256; src=9039; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 18952; + $7 = 19256; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11895,16 +11899,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(18952,$1)|0); - $strlen = (_strlen(18952)|0); - $endptr = (18952 + ($strlen)|0); + (_strcat(19256,$1)|0); + $strlen = (_strlen(19256)|0); + $endptr = (19256 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(18952,$2)|0); + (_vprintf(19256,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11936,22 +11940,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4808] = $0; - HEAP32[4807] = $1; + HEAP32[4884] = $0; + HEAP32[4883] = $1; _MatrixIdentity($2); - dest=19320; 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)); + dest=19624; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5174,$vararg_buffer); } - $6 = HEAP32[4808]|0; - HEAP32[4846] = $6; - $7 = HEAP32[4807]|0; - HEAP32[4847] = $7; + $6 = HEAP32[4884]|0; + HEAP32[4922] = $6; + $7 = HEAP32[4883]|0; + HEAP32[4923] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[22056]|0; + $8 = HEAP8[22360]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11959,13 +11963,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[22056]|0; + $11 = HEAP8[22360]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[22056]|0; + $14 = HEAP8[22360]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -11987,18 +11991,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4848]|0; + $21 = HEAP32[4924]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4808]|0; - $48 = HEAP32[4807]|0; - $49 = HEAP32[4810]|0; + $47 = HEAP32[4884]|0; + $48 = HEAP32[4883]|0; + $49 = HEAP32[4886]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4806] = $50; - $51 = HEAP32[4808]|0; - HEAP32[4849] = $51; - $52 = HEAP32[4807]|0; - HEAP32[4850] = $52; + HEAP32[4882] = $50; + $51 = HEAP32[4884]|0; + HEAP32[4925] = $51; + $52 = HEAP32[4883]|0; + HEAP32[4926] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12007,9 +12011,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4808]|0; + $27 = HEAP32[4884]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4807]|0; + $29 = HEAP32[4883]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12031,25 +12035,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4846] = $31; - HEAP32[4847] = $34; + HEAP32[4922] = $31; + HEAP32[4923] = $34; } } while(0); - $38 = HEAP32[4846]|0; - $39 = HEAP32[4847]|0; + $38 = HEAP32[4922]|0; + $39 = HEAP32[4923]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5225,$vararg_buffer3); - $40 = HEAP32[4846]|0; - $41 = HEAP32[4847]|0; + $40 = HEAP32[4922]|0; + $41 = HEAP32[4923]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4846]|0; - $43 = HEAP32[4847]|0; - $44 = HEAP32[4810]|0; + $42 = HEAP32[4922]|0; + $43 = HEAP32[4923]|0; + $44 = HEAP32[4886]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4806] = $46; + HEAP32[4882] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12058,60 +12062,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5263,$vararg_buffer6); } else { _TraceLog(0,5296,$vararg_buffer8); - $55 = HEAP32[4849]|0; - $56 = HEAP32[4850]|0; + $55 = HEAP32[4925]|0; + $56 = HEAP32[4926]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5336,$vararg_buffer10); - $57 = HEAP32[4808]|0; - $58 = HEAP32[4807]|0; + $57 = HEAP32[4884]|0; + $58 = HEAP32[4883]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5357,$vararg_buffer14); - $59 = HEAP32[4851]|0; - $60 = HEAP32[4852]|0; + $59 = HEAP32[4927]|0; + $60 = HEAP32[4928]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5378,$vararg_buffer18); } - $61 = HEAP32[4806]|0; + $61 = HEAP32[4882]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4806]|0; + $62 = HEAP32[4882]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4806]|0; + $63 = HEAP32[4882]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4806]|0; + $64 = HEAP32[4882]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4806]|0; + $65 = HEAP32[4882]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4806]|0; + $66 = HEAP32[4882]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4806]|0; + $67 = HEAP32[4882]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4806]|0; + $68 = HEAP32[4882]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4806]|0; + $69 = HEAP32[4882]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[22056]|0; + $70 = HEAP8[22360]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4808]|0; - $74 = HEAP32[4807]|0; + $73 = HEAP32[4884]|0; + $74 = HEAP32[4883]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4849]|0; - $76 = HEAP32[4851]|0; + $75 = HEAP32[4925]|0; + $76 = HEAP32[4927]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4850]|0; - $80 = HEAP32[4852]|0; + $79 = HEAP32[4926]|0; + $80 = HEAP32[4928]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12130,18 +12134,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5403,$vararg_buffer22); - $73 = HEAP32[4808]|0; - $74 = HEAP32[4807]|0; + $73 = HEAP32[4884]|0; + $74 = HEAP32[4883]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4849]|0; - $76 = HEAP32[4851]|0; + $75 = HEAP32[4925]|0; + $76 = HEAP32[4927]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4850]|0; - $80 = HEAP32[4852]|0; + $79 = HEAP32[4926]|0; + $80 = HEAP32[4928]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12169,7 +12173,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(19288)>>2] = 224; + HEAP32[(19592)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12210,27 +12214,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[19264>>2]=HEAP32[$1>>2]|0;HEAP32[19264+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19264+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19264+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19264+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[19568>>2]=HEAP32[$1>>2]|0;HEAP32[19568+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19568+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19568+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19568+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(19288)>>2]|0; + $5 = HEAP32[(19592)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(19292)>>2] = $7; + HEAP32[(19596)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19284)>>2] = $23; - $24 = HEAP32[4816]|0; + HEAP32[(19588)>>2] = $23; + $24 = HEAP32[4892]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4698,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(19268)>>2]|0; - $10 = HEAP32[(19288)>>2]|0; - $11 = HEAP32[(19292)>>2]|0; + $9 = HEAP32[(19572)>>2]|0; + $10 = HEAP32[(19592)>>2]|0; + $11 = HEAP32[(19596)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12279,8 +12283,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19284)>>2] = $23; - $24 = HEAP32[4816]|0; + HEAP32[(19588)>>2] = $23; + $24 = HEAP32[4892]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4698,$vararg_buffer); STACKTOP = sp;return; @@ -12291,7 +12295,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2368] = $1; + HEAPF64[2406] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12450,7 +12454,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 18928; + $31 = 19232; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12463,7 +12467,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (18936); + $42 = (19240); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12519,7 +12523,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (19248 + ($10<<2)|0); + $11 = (19552 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12533,7 +12537,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2365] = $$; + HEAPF64[2403] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12545,7 +12549,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4811] = 0; + HEAP32[4887] = 0; return; } function _GetTime() { @@ -13121,7 +13125,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4824]|0; + $6 = HEAP32[4900]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13131,7 +13135,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4825]|0; + $9 = HEAP32[4901]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13140,7 +13144,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4826]|0; + $12 = HEAP32[4902]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13150,7 +13154,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4827]|0; + $15 = HEAP32[4903]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13160,7 +13164,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4828]|0; + $18 = HEAP32[4904]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13204,7 +13208,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4824]|0; + $22 = HEAP32[4900]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13212,7 +13216,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4824]|0; + $24 = HEAP32[4900]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13220,7 +13224,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4824]|0; + $26 = HEAP32[4900]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13228,7 +13232,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4824]|0; + $28 = HEAP32[4900]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13236,7 +13240,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4825]|0; + $30 = HEAP32[4901]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13244,7 +13248,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4826]|0; + $32 = HEAP32[4902]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13252,7 +13256,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4826]|0; + $34 = HEAP32[4902]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13260,7 +13264,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4827]|0; + $36 = HEAP32[4903]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13268,7 +13272,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4827]|0; + $38 = HEAP32[4903]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13276,7 +13280,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4828]|0; + $40 = HEAP32[4904]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13284,7 +13288,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4828]|0; + $42 = HEAP32[4904]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13296,7 +13300,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4829]|0; + $44 = HEAP32[4905]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13642,20 +13646,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4808]|0; + $3 = HEAP32[4884]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4807]|0; + $5 = HEAP32[4883]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4849] = $3; - HEAP32[4850] = $5; - HEAP32[4851] = 0; - HEAP32[4852] = 0; + HEAP32[4925] = $3; + HEAP32[4926] = $5; + HEAP32[4927] = 0; + HEAP32[4928] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13669,9 +13673,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4808]|0; + $35 = HEAP32[4884]|0; $36 = (+($35|0)); - $37 = HEAP32[4807]|0; + $37 = HEAP32[4883]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13679,26 +13683,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4849] = $45; - HEAP32[4850] = $37; + HEAP32[4925] = $45; + HEAP32[4926] = $37; $46 = (($45) - ($35))|0; - HEAP32[4851] = $46; + HEAP32[4927] = $46; $$sink1 = 0; } else { - HEAP32[4849] = $35; + HEAP32[4925] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4850] = $42; - HEAP32[4851] = 0; + HEAP32[4926] = $42; + HEAP32[4927] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4852] = $$sink1; + HEAP32[4928] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4807]|0; + $7 = HEAP32[4883]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13708,11 +13712,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8785,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4808]|0; + $9 = HEAP32[4884]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4807]|0; + $13 = HEAP32[4883]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13720,33 +13724,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4849] = $23; - HEAP32[4850] = $1; + HEAP32[4925] = $23; + HEAP32[4926] = $1; $24 = (($0) - ($23))|0; - HEAP32[4851] = $24; + HEAP32[4927] = $24; $$sink = 0; } else { - HEAP32[4849] = $0; - $17 = HEAP32[4807]|0; + HEAP32[4925] = $0; + $17 = HEAP32[4883]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4850] = $20; - HEAP32[4851] = 0; + HEAP32[4926] = $20; + HEAP32[4927] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4852] = $$sink; - $25 = HEAP32[4849]|0; + HEAP32[4928] = $$sink; + $25 = HEAP32[4925]|0; $26 = (+($25|0)); - $27 = HEAP32[4808]|0; + $27 = HEAP32[4884]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=19320; 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)); - HEAP32[4849] = $0; - HEAP32[4850] = $1; + dest=19624; 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)); + HEAP32[4925] = $0; + HEAP32[4926] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13768,10 +13772,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4808] = $1; - HEAP32[4807] = $2; - HEAP32[4849] = $1; - HEAP32[4850] = $2; + HEAP32[4884] = $1; + HEAP32[4883] = $2; + HEAP32[4925] = $1; + HEAP32[4926] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13798,7 +13802,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (22063 + ($1)|0); + $9 = (22367 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13819,7 +13823,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (22057 + ($1)|0); + $7 = (22361 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13898,7 +13902,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 18928; + $15 = 19232; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13933,7 +13937,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5222] = $3; + HEAP32[5298] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13943,7 +13947,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5221] = $$sink; + HEAP32[5297] = $$sink; return; } function _rlglInit($0,$1) { @@ -14024,18 +14028,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5535)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4887] = 1; + HEAP32[4963] = 1; $27 = (_eglGetProcAddress((5562|0))|0); - HEAP32[4888] = $27; + HEAP32[4964] = $27; $28 = (_eglGetProcAddress((5583|0))|0); - HEAP32[4889] = $28; + HEAP32[4965] = $28; $29 = (_eglGetProcAddress((5604|0))|0); - HEAP32[4890] = $29; + HEAP32[4966] = $29; } $30 = (_strcmp($24,5628)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4829] = 1; + HEAP32[4905] = 1; } $32 = (_strcmp($24,5648)|0); $33 = ($32|0)==(0); @@ -14057,7 +14061,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4824] = 1; + HEAP32[4900] = 1; } $39 = (_strcmp($24,5753)|0); $40 = ($39|0)==(0); @@ -14073,35 +14077,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4825] = 1; + HEAP32[4901] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5822)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4826] = 1; + HEAP32[4902] = 1; } $47 = (_strcmp($44,5847)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4827] = 1; + HEAP32[4903] = 1; } $49 = (_strcmp($44,5880)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4828] = 1; + HEAP32[4904] = 1; } $51 = (_strcmp($44,5916)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4891] = 1; - _glGetFloatv(34047,(19568|0)); + HEAP32[4967] = 1; + _glGetFloatv(34047,(19872|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5950)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4893] = 1; + HEAP32[4969] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14112,61 +14116,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4887]|0; + $21 = HEAP32[4963]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,6053,$vararg_buffer15); } else { _TraceLog(0,5978,$vararg_buffer13); } - $57 = HEAP32[4829]|0; + $57 = HEAP32[4905]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6189,$vararg_buffer19); } else { _TraceLog(0,6114,$vararg_buffer17); } - $59 = HEAP32[4824]|0; + $59 = HEAP32[4900]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6281,$vararg_buffer21); } - $61 = HEAP32[4825]|0; + $61 = HEAP32[4901]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6327,$vararg_buffer23); } - $63 = HEAP32[4826]|0; + $63 = HEAP32[4902]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6374,$vararg_buffer25); } - $65 = HEAP32[4827]|0; + $65 = HEAP32[4903]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6425,$vararg_buffer27); } - $67 = HEAP32[4828]|0; + $67 = HEAP32[4904]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6472,$vararg_buffer29); } - $69 = HEAP32[4891]|0; + $69 = HEAP32[4967]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4892]; + $71 = +HEAPF32[4968]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6519,$vararg_buffer31); } - $73 = HEAP32[4893]|0; + $73 = HEAP32[4969]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6585,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4894] = $75; + HEAP32[4970] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6689,$vararg_buffer39); @@ -14175,14 +14179,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6638,$vararg_buffer36); } _LoadDefaultShader($2); - dest=19580; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19636; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19884; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19940; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4923] = $77; + HEAP32[4999] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4923]|0; + $79 = HEAP32[4999]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14195,7 +14199,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4924] = $78; + HEAP32[5000] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14210,48 +14214,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4925] = 1; - $85 = HEAP32[4894]|0; + HEAP32[5001] = 1; + $85 = HEAP32[4970]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4926] = 4; + HEAP32[5002] = 4; _MatrixIdentity($4); - dest=19708; src=$4; 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)); + dest=20012; src=$4; 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)); _MatrixIdentity($4); - dest=(19772); src=$4; 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)); + dest=(20076); src=$4; 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)); _MatrixIdentity($4); - dest=(19836); src=$4; 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)); + dest=(20140); src=$4; 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)); _MatrixIdentity($4); - dest=(19900); src=$4; 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)); + dest=(20204); src=$4; 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)); _MatrixIdentity($4); - dest=(19964); src=$4; 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)); + dest=(20268); src=$4; 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)); _MatrixIdentity($4); - dest=(20028); src=$4; 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)); + dest=(20332); src=$4; 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)); _MatrixIdentity($4); - dest=(20092); src=$4; 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)); + dest=(20396); src=$4; 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)); _MatrixIdentity($4); - dest=(20156); src=$4; 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)); + dest=(20460); src=$4; 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)); _MatrixIdentity($4); - dest=(20220); src=$4; 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)); + dest=(20524); src=$4; 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)); _MatrixIdentity($4); - dest=(20284); src=$4; 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)); + dest=(20588); src=$4; 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)); _MatrixIdentity($4); - dest=(20348); src=$4; 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)); + dest=(20652); src=$4; 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)); _MatrixIdentity($4); - dest=(20412); src=$4; 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)); + dest=(20716); src=$4; 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)); _MatrixIdentity($4); - dest=(20476); src=$4; 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)); + dest=(20780); src=$4; 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)); _MatrixIdentity($4); - dest=(20540); src=$4; 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)); + dest=(20844); src=$4; 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)); _MatrixIdentity($4); - dest=(20604); src=$4; 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)); + dest=(20908); src=$4; 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)); _MatrixIdentity($4); - dest=(20668); src=$4; 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)); + dest=(20972); src=$4; 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)); _MatrixIdentity($5); - dest=19416; src=$5; 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)); + dest=19720; src=$5; 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)); _MatrixIdentity($6); - dest=19480; src=$6; 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)); - HEAP32[4853] = 19480; + dest=19784; src=$6; 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)); + HEAP32[4929] = 19784; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14262,21 +14266,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5183] = $0; - HEAP32[5184] = $1; + HEAP32[5259] = $0; + HEAP32[5260] = $1; _TraceLog(0,6728,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4851]|0; + $0 = HEAP32[4927]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4852]|0; + $2 = HEAP32[4928]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4849]|0; + $4 = HEAP32[4925]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4850]|0; + $6 = HEAP32[4926]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14287,12 +14291,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 19416; + $modelview$sink = 19720; label = 3; break; } case 5888: { - $modelview$sink = 19480; + $modelview$sink = 19784; label = 3; break; } @@ -14300,9 +14304,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4853] = $modelview$sink; + HEAP32[4929] = $modelview$sink; } - HEAP32[4886] = $0; + HEAP32[4962] = $0; return; } function _rlLoadIdentity() { @@ -14310,7 +14314,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4853]|0; + $1 = HEAP32[4929]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14331,7 +14335,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4853]|0; + $8 = HEAP32[4929]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14428,15 +14432,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(20752)>>2] = $0; + HEAP32[(21056)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(20760)>>2] = $1; - HEAP32[(20756)>>2] = 0; - HEAP32[(20764)>>2] = 0; + HEAP32[(21064)>>2] = $1; + HEAP32[(21060)>>2] = 0; + HEAP32[(21068)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(20760)>>2]|0; + $2 = HEAP32[(21064)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14447,19 +14451,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5185] = 0; - HEAP32[(20748)>>2] = 0; - HEAP32[(20744)>>2] = 0; + HEAP32[5261] = 0; + HEAP32[(21052)>>2] = 0; + HEAP32[(21048)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(20800)>>2] = $5; + HEAP32[(21104)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(20808)>>2] = $6; - HEAP32[(20804)>>2] = 0; - HEAP32[(20812)>>2] = 0; + HEAP32[(21112)>>2] = $6; + HEAP32[(21108)>>2] = 0; + HEAP32[(21116)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(20808)>>2]|0; + $7 = HEAP32[(21112)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14470,24 +14474,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5197] = 0; - HEAP32[(20796)>>2] = 0; - HEAP32[(20792)>>2] = 0; + HEAP32[5273] = 0; + HEAP32[(21100)>>2] = 0; + HEAP32[(21096)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(20848)>>2] = $10; + HEAP32[(21152)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(20852)>>2] = $11; + HEAP32[(21156)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(20856)>>2] = $12; + HEAP32[(21160)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(20860)>>2] = $13; - $14 = HEAP32[(20848)>>2]|0; + HEAP32[(21164)>>2] = $13; + $14 = HEAP32[(21152)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(20852)>>2]|0; + $15 = HEAP32[(21156)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(20856)>>2]|0; + $17 = HEAP32[(21160)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14498,7 +14502,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(20860)>>2]|0; + $16 = HEAP32[(21164)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14535,140 +14539,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5209] = 0; - HEAP32[(20840)>>2] = 0; - HEAP32[(20844)>>2] = 0; + HEAP32[5285] = 0; + HEAP32[(21144)>>2] = 0; + HEAP32[(21148)>>2] = 0; _TraceLog(0,6775,$vararg_buffer); - $20 = HEAP32[4887]|0; + $20 = HEAP32[4963]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4888]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(20768)); - $44 = HEAP32[4889]|0; - $45 = HEAP32[(20768)>>2]|0; + $43 = HEAP32[4964]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(21072)); + $44 = HEAP32[4965]|0; + $45 = HEAP32[(21072)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((20772)|0)); - $46 = HEAP32[(20772)>>2]|0; + _glGenBuffers(2,((21076)|0)); + $46 = HEAP32[(21076)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(20752)>>2]|0; + $47 = HEAP32[(21056)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(19640)>>2]|0; + $48 = HEAP32[(19944)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(19640)>>2]|0; + $49 = HEAP32[(19944)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((20776)|0)); - $50 = HEAP32[(20776)>>2]|0; + _glGenBuffers(2,((21080)|0)); + $50 = HEAP32[(21080)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(20760)>>2]|0; + $51 = HEAP32[(21064)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(19660)>>2]|0; + $52 = HEAP32[(19964)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(19660)>>2]|0; + $53 = HEAP32[(19964)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4887]|0; + $54 = HEAP32[4963]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(20772)>>2]|0; - $58 = HEAP32[(20776)>>2]|0; + $57 = HEAP32[(21076)>>2]|0; + $58 = HEAP32[(21080)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6913,$vararg_buffer3); } else { - $56 = HEAP32[(20768)>>2]|0; + $56 = HEAP32[(21072)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6848,$vararg_buffer1); } - $59 = HEAP32[4887]|0; + $59 = HEAP32[4963]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4888]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(20816)); - $62 = HEAP32[4889]|0; - $63 = HEAP32[(20816)>>2]|0; + $61 = HEAP32[4964]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(21120)); + $62 = HEAP32[4965]|0; + $63 = HEAP32[(21120)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((20820)|0)); - $64 = HEAP32[(20820)>>2]|0; + _glGenBuffers(1,((21124)|0)); + $64 = HEAP32[(21124)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(20800)>>2]|0; + $65 = HEAP32[(21104)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(19640)>>2]|0; + $66 = HEAP32[(19944)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(19640)>>2]|0; + $67 = HEAP32[(19944)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20824)|0)); - $68 = HEAP32[(20824)>>2]|0; + _glGenBuffers(1,((21128)|0)); + $68 = HEAP32[(21128)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(20808)>>2]|0; + $69 = HEAP32[(21112)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(19660)>>2]|0; + $70 = HEAP32[(19964)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(19660)>>2]|0; + $71 = HEAP32[(19964)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4887]|0; + $72 = HEAP32[4963]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(20820)>>2]|0; - $76 = HEAP32[(20824)>>2]|0; + $75 = HEAP32[(21124)>>2]|0; + $76 = HEAP32[(21128)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,7059,$vararg_buffer10); } else { - $74 = HEAP32[(20816)>>2]|0; + $74 = HEAP32[(21120)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6990,$vararg_buffer7); } - $77 = HEAP32[4887]|0; + $77 = HEAP32[4963]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4888]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(20864)); - $80 = HEAP32[4889]|0; - $81 = HEAP32[(20864)>>2]|0; + $79 = HEAP32[4964]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(21168)); + $80 = HEAP32[4965]|0; + $81 = HEAP32[(21168)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((20868)|0)); - $82 = HEAP32[(20868)>>2]|0; + _glGenBuffers(1,((21172)|0)); + $82 = HEAP32[(21172)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(20848)>>2]|0; + $83 = HEAP32[(21152)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(19640)>>2]|0; + $84 = HEAP32[(19944)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(19640)>>2]|0; + $85 = HEAP32[(19944)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20872)|0)); - $86 = HEAP32[(20872)>>2]|0; + _glGenBuffers(1,((21176)|0)); + $86 = HEAP32[(21176)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(20852)>>2]|0; + $87 = HEAP32[(21156)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(19644)>>2]|0; + $88 = HEAP32[(19948)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(19644)>>2]|0; + $89 = HEAP32[(19948)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((20876)|0)); - $90 = HEAP32[(20876)>>2]|0; + _glGenBuffers(1,((21180)|0)); + $90 = HEAP32[(21180)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(20856)>>2]|0; + $91 = HEAP32[(21160)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(19660)>>2]|0; + $92 = HEAP32[(19964)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(19660)>>2]|0; + $93 = HEAP32[(19964)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((20880)|0)); - $94 = HEAP32[(20880)>>2]|0; + _glGenBuffers(1,((21184)|0)); + $94 = HEAP32[(21184)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(20860)>>2]|0; + $95 = HEAP32[(21164)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4887]|0; + $96 = HEAP32[4963]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(20868)>>2]|0; - $100 = HEAP32[(20872)>>2]|0; - $101 = HEAP32[(20876)>>2]|0; - $102 = HEAP32[(20880)>>2]|0; + $99 = HEAP32[(21172)>>2]|0; + $100 = HEAP32[(21176)>>2]|0; + $101 = HEAP32[(21180)>>2]|0; + $102 = HEAP32[(21184)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14678,16 +14682,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7205,$vararg_buffer17); } else { - $98 = HEAP32[(20864)>>2]|0; + $98 = HEAP32[(21168)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7140,$vararg_buffer14); } - $103 = HEAP32[4887]|0; + $103 = HEAP32[4963]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4889]|0; + $105 = HEAP32[4965]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14868,9 +14872,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22057 + ($0)|0); + $1 = (22361 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22060 + ($0)|0); + $3 = (22364 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14882,9 +14886,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22057 + ($0)|0); + $1 = (22361 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22060 + ($0)|0); + $3 = (22364 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14905,7 +14909,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4806]|0; + $0 = HEAP32[4882]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,9049,$vararg_buffer); @@ -14916,9 +14920,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[19264>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19264+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19264+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19264+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19264+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[19568>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19568+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19568+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19568+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19568+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(19292)>>2]|0; + $0 = HEAP32[(19596)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14929,11 +14933,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(19576|0)); - $0 = HEAP32[4894]|0; + _glDeleteTextures(1,(19880|0)); + $0 = HEAP32[4970]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9076,$vararg_buffer); - $1 = HEAP32[4924]|0; + $1 = HEAP32[5000]|0; _free($1); STACKTOP = sp;return; } @@ -14941,17 +14945,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4895]|0; + $0 = HEAP32[4971]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4887]|0; + $0 = HEAP32[4963]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4889]|0; + $2 = HEAP32[4965]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14960,39 +14964,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((20772)|0)); - _glDeleteBuffers(1,((20776)|0)); - _glDeleteBuffers(1,((20820)|0)); - _glDeleteBuffers(1,((20824)|0)); - _glDeleteBuffers(1,((20868)|0)); - _glDeleteBuffers(1,((20872)|0)); - _glDeleteBuffers(1,((20876)|0)); - _glDeleteBuffers(1,((20880)|0)); - $3 = HEAP32[4887]|0; + _glDeleteBuffers(1,((21076)|0)); + _glDeleteBuffers(1,((21080)|0)); + _glDeleteBuffers(1,((21124)|0)); + _glDeleteBuffers(1,((21128)|0)); + _glDeleteBuffers(1,((21172)|0)); + _glDeleteBuffers(1,((21176)|0)); + _glDeleteBuffers(1,((21180)|0)); + _glDeleteBuffers(1,((21184)|0)); + $3 = HEAP32[4963]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4890]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(20768)); - $6 = HEAP32[4890]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(20816)); - $7 = HEAP32[4890]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(20864)); + $5 = HEAP32[4966]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(21072)); + $6 = HEAP32[4966]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(21120)); + $7 = HEAP32[4966]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(21168)); } - $8 = HEAP32[(20752)>>2]|0; + $8 = HEAP32[(21056)>>2]|0; _free($8); - $9 = HEAP32[(20760)>>2]|0; + $9 = HEAP32[(21064)>>2]|0; _free($9); - $10 = HEAP32[(20800)>>2]|0; + $10 = HEAP32[(21104)>>2]|0; _free($10); - $11 = HEAP32[(20808)>>2]|0; + $11 = HEAP32[(21112)>>2]|0; _free($11); - $12 = HEAP32[(20848)>>2]|0; + $12 = HEAP32[(21152)>>2]|0; _free($12); - $13 = HEAP32[(20852)>>2]|0; + $13 = HEAP32[(21156)>>2]|0; _free($13); - $14 = HEAP32[(20856)>>2]|0; + $14 = HEAP32[(21160)>>2]|0; _free($14); - $15 = HEAP32[(20860)>>2]|0; + $15 = HEAP32[(21164)>>2]|0; _free($15); return; } @@ -15032,16 +15036,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2385] = $0; - $1 = +HEAPF64[2368]; + HEAPF64[2423] = $0; + $1 = +HEAPF64[2406]; $2 = $0 - $1; - HEAPF64[2386] = $2; - HEAPF64[2368] = $0; + HEAPF64[2424] = $2; + HEAPF64[2406] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=19320; 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)); + dest=$downscaleView$byval_copy; src=19624; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20892); + _rlMultMatrixf(21196); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15050,53 +15054,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[5223] = $1; + HEAP32[5299] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(20896)>>2] = $3; + HEAP32[(21200)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(20900)>>2] = $5; + HEAP32[(21204)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(20904)>>2] = $7; + HEAP32[(21208)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(20908)>>2] = $9; + HEAP32[(21212)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(20912)>>2] = $11; + HEAP32[(21216)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(20916)>>2] = $13; + HEAP32[(21220)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(20920)>>2] = $15; + HEAP32[(21224)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(20924)>>2] = $17; + HEAP32[(21228)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(20928)>>2] = $19; + HEAP32[(21232)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(20932)>>2] = $21; + HEAP32[(21236)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(20936)>>2] = $23; + HEAP32[(21240)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(20940)>>2] = $25; + HEAP32[(21244)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(20944)>>2] = $27; + HEAP32[(21248)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(20948)>>2] = $29; + HEAP32[(21252)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(20952)>>2] = $31; - return (20892|0); + HEAP32[(21256)>>2] = $31; + return (21196|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15171,7 +15175,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4853]|0; + $49 = HEAP32[4929]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15185,15 +15189,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2385] = $0; - $1 = +HEAPF64[2368]; + HEAPF64[2423] = $0; + $1 = +HEAPF64[2406]; $2 = $0 - $1; - HEAPF64[2387] = $2; - HEAPF64[2368] = $0; - $3 = +HEAPF64[2386]; + HEAPF64[2425] = $2; + HEAPF64[2406] = $0; + $3 = +HEAPF64[2424]; $4 = $2 + $3; - HEAPF64[2388] = $4; - $5 = +HEAPF64[2365]; + HEAPF64[2426] = $4; + $5 = +HEAPF64[2403]; $6 = $4 < $5; if (!($6)) { return; @@ -15203,13 +15207,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2385] = $10; - $11 = +HEAPF64[2368]; + HEAPF64[2423] = $10; + $11 = +HEAPF64[2406]; $12 = $10 - $11; - HEAPF64[2368] = $10; - $13 = +HEAPF64[2388]; + HEAPF64[2406] = $10; + $13 = +HEAPF64[2426]; $14 = $12 + $13; - HEAPF64[2388] = $14; + HEAPF64[2426] = $14; return; } function _rlglDraw() { @@ -15222,7 +15226,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4806]|0; + $0 = HEAP32[4882]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15238,20 +15242,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[5239] = 0; - $3 = HEAP32[4806]|0; + HEAP32[5315] = 0; + $3 = HEAP32[4882]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4728] = $5; + HEAPF32[4804] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(18916)>>2] = $7; - _memcpy((22575|0),(22063|0),512)|0; - ;HEAP8[22060>>0]=HEAP8[22057>>0]|0;HEAP8[22060+1>>0]=HEAP8[22057+1>>0]|0;HEAP8[22060+2>>0]=HEAP8[22057+2>>0]|0; - $8 = HEAP32[5222]|0; - HEAP32[4809] = $8; - HEAP32[5222] = 0; + HEAPF32[(19220)>>2] = $7; + _memcpy((22879|0),(22367|0),512)|0; + ;HEAP8[22364>>0]=HEAP8[22361>>0]|0;HEAP8[22364+1>>0]=HEAP8[22361+1>>0]|0;HEAP8[22364+2>>0]=HEAP8[22361+2>>0]|0; + $8 = HEAP32[5298]|0; + HEAP32[4885] = $8; + HEAP32[5298] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15261,8 +15265,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (23087 + ($$05160<<5)|0); - $scevgep67 = (23215 + ($$05160<<5)|0); + $scevgep = (23391 + ($$05160<<5)|0); + $scevgep67 = (23519 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15276,7 +15280,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((23215 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((23519 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15303,7 +15307,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((20960 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((21264 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15319,7 +15323,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5239] = $$lcssa; + HEAP32[5315] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15360,87 +15364,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5185]|0; + $0 = HEAP32[5261]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4887]|0; + $2 = HEAP32[4963]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4889]|0; - $5 = HEAP32[(20768)>>2]|0; + $4 = HEAP32[4965]|0; + $5 = HEAP32[(21072)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(20772)>>2]|0; + $6 = HEAP32[(21076)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5185]|0; + $7 = HEAP32[5261]|0; $8 = ($7*12)|0; - $9 = HEAP32[(20752)>>2]|0; + $9 = HEAP32[(21056)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(20776)>>2]|0; + $10 = HEAP32[(21080)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(20748)>>2]|0; + $11 = HEAP32[(21052)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(20760)>>2]|0; + $13 = HEAP32[(21064)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5197]|0; + $14 = HEAP32[5273]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4887]|0; + $16 = HEAP32[4963]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4889]|0; - $19 = HEAP32[(20816)>>2]|0; + $18 = HEAP32[4965]|0; + $19 = HEAP32[(21120)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(20820)>>2]|0; + $20 = HEAP32[(21124)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5197]|0; + $21 = HEAP32[5273]|0; $22 = ($21*12)|0; - $23 = HEAP32[(20800)>>2]|0; + $23 = HEAP32[(21104)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(20824)>>2]|0; + $24 = HEAP32[(21128)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(20796)>>2]|0; + $25 = HEAP32[(21100)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(20808)>>2]|0; + $27 = HEAP32[(21112)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5209]|0; + $28 = HEAP32[5285]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4887]|0; + $30 = HEAP32[4963]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4889]|0; - $33 = HEAP32[(20864)>>2]|0; + $32 = HEAP32[4965]|0; + $33 = HEAP32[(21168)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(20868)>>2]|0; + $34 = HEAP32[(21172)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5209]|0; + $35 = HEAP32[5285]|0; $36 = ($35*12)|0; - $37 = HEAP32[(20848)>>2]|0; + $37 = HEAP32[(21152)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(20872)>>2]|0; + $38 = HEAP32[(21176)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5209]|0; + $39 = HEAP32[5285]|0; $40 = $39 << 3; - $41 = HEAP32[(20852)>>2]|0; + $41 = HEAP32[(21156)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(20876)>>2]|0; + $42 = HEAP32[(21180)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5209]|0; + $43 = HEAP32[5285]|0; $44 = $43 << 2; - $45 = HEAP32[(20856)>>2]|0; + $45 = HEAP32[(21160)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4887]|0; + $46 = HEAP32[4963]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4889]|0; + $48 = HEAP32[4965]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15458,9 +15462,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=19416; 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)); - dest=$1; src=19480; 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)); - $3 = HEAP32[5272]|0; + dest=$0; src=19720; 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)); + dest=$1; src=19784; 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)); + $3 = HEAP32[5348]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15470,134 +15474,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5185]|0; + $8 = HEAP32[5261]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5197]|0; + $10 = HEAP32[5273]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5209]|0; + $12 = HEAP32[5285]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4909]|0; + $14 = HEAP32[4985]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=19480; 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)); - dest=$$byval_copy2; src=19416; 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)); + dest=$modelview$byval_copy; src=19784; 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)); + dest=$$byval_copy2; src=19720; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(19664)>>2]|0; + $15 = HEAP32[(19968)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(19668)>>2]|0; + $17 = HEAP32[(19972)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(19680)>>2]|0; + $18 = HEAP32[(19984)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5185]|0; + $19 = HEAP32[5261]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4894]|0; + $21 = HEAP32[4970]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4887]|0; + $22 = HEAP32[4963]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(20772)>>2]|0; + $26 = HEAP32[(21076)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(19640)>>2]|0; + $27 = HEAP32[(19944)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(19640)>>2]|0; + $28 = HEAP32[(19944)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(20776)>>2]|0; + $29 = HEAP32[(21080)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(19660)>>2]|0; + $30 = HEAP32[(19964)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(19660)>>2]|0; + $31 = HEAP32[(19964)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4889]|0; - $25 = HEAP32[(20768)>>2]|0; + $24 = HEAP32[4965]|0; + $25 = HEAP32[(21072)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5185]|0; + $32 = HEAP32[5261]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4887]|0; + $33 = HEAP32[4963]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5197]|0; + $35 = HEAP32[5273]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4894]|0; + $37 = HEAP32[4970]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4887]|0; + $38 = HEAP32[4963]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(20820)>>2]|0; + $42 = HEAP32[(21124)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(19640)>>2]|0; + $43 = HEAP32[(19944)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(19640)>>2]|0; + $44 = HEAP32[(19944)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(20824)>>2]|0; + $45 = HEAP32[(21128)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(19660)>>2]|0; + $46 = HEAP32[(19964)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(19660)>>2]|0; + $47 = HEAP32[(19964)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4889]|0; - $41 = HEAP32[(20816)>>2]|0; + $40 = HEAP32[4965]|0; + $41 = HEAP32[(21120)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5197]|0; + $48 = HEAP32[5273]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4887]|0; + $49 = HEAP32[4963]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5209]|0; + $51 = HEAP32[5285]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4887]|0; + $53 = HEAP32[4963]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(20868)>>2]|0; + $57 = HEAP32[(21172)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(19640)>>2]|0; + $58 = HEAP32[(19944)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(19640)>>2]|0; + $59 = HEAP32[(19944)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(20872)>>2]|0; + $60 = HEAP32[(21176)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(19644)>>2]|0; + $61 = HEAP32[(19948)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(19644)>>2]|0; + $62 = HEAP32[(19948)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(20876)>>2]|0; + $63 = HEAP32[(21180)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(19660)>>2]|0; + $64 = HEAP32[(19964)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(19660)>>2]|0; + $65 = HEAP32[(19964)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(20880)>>2]|0; + $66 = HEAP32[(21184)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4889]|0; - $56 = HEAP32[(20864)>>2]|0; + $55 = HEAP32[4965]|0; + $56 = HEAP32[(21168)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4925]|0; + $67 = HEAP32[5001]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4924]|0; + $71 = HEAP32[5000]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15608,14 +15612,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4924]|0; + $80 = HEAP32[5000]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4925]|0; + $87 = HEAP32[5001]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15624,7 +15628,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4887]|0; + $69 = HEAP32[4963]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15632,10 +15636,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4887]|0; + $89 = HEAP32[4963]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4889]|0; + $91 = HEAP32[4965]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15647,22 +15651,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4925] = 1; - $5 = HEAP32[4894]|0; - $6 = HEAP32[4924]|0; + HEAP32[5001] = 1; + $5 = HEAP32[4970]|0; + $6 = HEAP32[5000]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5185] = 0; - HEAP32[(20748)>>2] = 0; - HEAP32[5197] = 0; - HEAP32[(20796)>>2] = 0; - HEAP32[5209] = 0; - HEAP32[(20840)>>2] = 0; - HEAP32[(20844)>>2] = 0; + HEAP32[5261] = 0; + HEAP32[(21052)>>2] = 0; + HEAP32[5273] = 0; + HEAP32[(21100)>>2] = 0; + HEAP32[5285] = 0; + HEAP32[(21144)>>2] = 0; + HEAP32[(21148)>>2] = 0; HEAPF32[744] = -1.0; - dest=19416; src=$0; 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)); - dest=19480; src=$1; 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)); + dest=19720; src=$0; 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)); + dest=19784; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15677,17 +15681,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[5183]|0; + $5 = HEAP32[5259]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5184]|0; + $9 = HEAP32[5260]|0; _rlViewport($7,0,$8,$9); - $10 = (21320 + ($0<<6)|0); + $10 = (21624 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (21192 + ($0<<6)|0); + $11 = (21496 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -15699,14 +15703,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19480; src=$0; 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)); + dest=19784; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19416; src=$0; 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)); + dest=19720; src=$0; 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)); return; } function _rlPushMatrix() { @@ -15714,43 +15718,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5362]|0; + $0 = HEAP32[5438]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9191,$vararg_buffer); } - $2 = HEAP32[5362]|0; - $3 = (19708 + ($2<<6)|0); - $4 = HEAP32[4853]|0; + $2 = HEAP32[5438]|0; + $3 = (20012 + ($2<<6)|0); + $4 = HEAP32[4929]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[5362]|0; + $5 = HEAP32[5438]|0; $6 = (($5) + 1)|0; - HEAP32[5362] = $6; - $7 = HEAP32[4886]|0; + HEAP32[5438] = $6; + $7 = HEAP32[4962]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5363] = 1; + HEAP32[5439] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5362]|0; + $0 = HEAP32[5438]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5362]|0; + $2 = HEAP32[5438]|0; $3 = (($2) + -1)|0; - $4 = (19708 + ($3<<6)|0); - $5 = HEAP32[4853]|0; + $4 = (20012 + ($3<<6)|0); + $5 = HEAP32[4929]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5362] = $6; + HEAP32[5438] = $6; return; } function _IsFileExtension($0,$1) { @@ -15783,7 +15787,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4853]|0; + $5 = HEAP32[4929]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15816,7 +15820,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4853]|0; + $11 = HEAP32[4929]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15827,7 +15831,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4926] = $0; + HEAP32[5002] = $0; return; } function _rlEnd() { @@ -15843,21 +15847,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5363]|0; + $0 = HEAP32[5439]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5364]|0; + $2 = HEAP32[5440]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4923]|0; + $6 = HEAP32[4999]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4853]|0; + $8 = HEAP32[4929]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5364]|0; + $5 = HEAP32[5440]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15865,12 +15869,12 @@ function _rlEnd() { break; } } - HEAP32[5363] = 0; + HEAP32[5439] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4923]|0; + $11 = HEAP32[4999]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15879,7 +15883,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5364]|0; + $19 = HEAP32[5440]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15889,15 +15893,15 @@ function _rlEnd() { } } } else { - HEAP32[5363] = 0; + HEAP32[5439] = 0; } - HEAP32[5364] = 0; + HEAP32[5440] = 0; } - $21 = HEAP32[4926]|0; + $21 = HEAP32[5002]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5185]|0; - $23 = HEAP32[(20748)>>2]|0; + $22 = HEAP32[5261]|0; + $23 = HEAP32[(21052)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15916,16 +15920,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(20760)>>2]|0; - $28 = HEAP32[(20748)>>2]|0; + $27 = HEAP32[(21064)>>2]|0; + $28 = HEAP32[(21052)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(20760)>>2]|0; - $35 = HEAP32[(20748)>>2]|0; + $34 = HEAP32[(21064)>>2]|0; + $35 = HEAP32[(21052)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15933,8 +15937,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(20760)>>2]|0; - $43 = HEAP32[(20748)>>2]|0; + $42 = HEAP32[(21064)>>2]|0; + $43 = HEAP32[(21052)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15942,8 +15946,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(20760)>>2]|0; - $51 = HEAP32[(20748)>>2]|0; + $50 = HEAP32[(21064)>>2]|0; + $51 = HEAP32[(21052)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15951,9 +15955,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(20748)>>2]|0; + $58 = HEAP32[(21052)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(20748)>>2] = $59; + HEAP32[(21052)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15969,8 +15973,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5197]|0; - $62 = HEAP32[(20796)>>2]|0; + $61 = HEAP32[5273]|0; + $62 = HEAP32[(21100)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15989,16 +15993,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(20808)>>2]|0; - $67 = HEAP32[(20796)>>2]|0; + $66 = HEAP32[(21112)>>2]|0; + $67 = HEAP32[(21100)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(20808)>>2]|0; - $74 = HEAP32[(20796)>>2]|0; + $73 = HEAP32[(21112)>>2]|0; + $74 = HEAP32[(21100)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16006,8 +16010,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(20808)>>2]|0; - $82 = HEAP32[(20796)>>2]|0; + $81 = HEAP32[(21112)>>2]|0; + $82 = HEAP32[(21100)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16015,8 +16019,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(20808)>>2]|0; - $90 = HEAP32[(20796)>>2]|0; + $89 = HEAP32[(21112)>>2]|0; + $90 = HEAP32[(21100)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16024,9 +16028,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(20796)>>2]|0; + $97 = HEAP32[(21100)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(20796)>>2] = $98; + HEAP32[(21100)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16042,8 +16046,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5209]|0; - $101 = HEAP32[(20844)>>2]|0; + $100 = HEAP32[5285]|0; + $101 = HEAP32[(21148)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16051,16 +16055,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(20856)>>2]|0; - $106 = HEAP32[(20844)>>2]|0; + $105 = HEAP32[(21160)>>2]|0; + $106 = HEAP32[(21148)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(20856)>>2]|0; - $113 = HEAP32[(20844)>>2]|0; + $112 = HEAP32[(21160)>>2]|0; + $113 = HEAP32[(21148)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16068,8 +16072,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(20856)>>2]|0; - $121 = HEAP32[(20844)>>2]|0; + $120 = HEAP32[(21160)>>2]|0; + $121 = HEAP32[(21148)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16077,8 +16081,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(20856)>>2]|0; - $129 = HEAP32[(20844)>>2]|0; + $128 = HEAP32[(21160)>>2]|0; + $129 = HEAP32[(21148)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16086,9 +16090,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(20844)>>2]|0; + $136 = HEAP32[(21148)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(20844)>>2] = $137; + HEAP32[(21148)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16099,8 +16103,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5209]|0; - $140 = HEAP32[(20840)>>2]|0; + $139 = HEAP32[5285]|0; + $140 = HEAP32[(21144)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16108,8 +16112,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(20852)>>2]|0; - $$promoted = HEAP32[(20840)>>2]|0; + $142 = HEAP32[(21156)>>2]|0; + $$promoted = HEAP32[(21144)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16117,7 +16121,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(20840)>>2] = $147; + HEAP32[(21144)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16144,11 +16148,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5363]|0; + $3 = HEAP32[5439]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4923]|0; - $6 = HEAP32[5364]|0; + $5 = HEAP32[4999]|0; + $6 = HEAP32[5440]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16156,16 +16160,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5364] = $10; + HEAP32[5440] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4926]|0; + $11 = HEAP32[5002]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5185]|0; + $12 = HEAP32[5261]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(20752)>>2]|0; + $14 = HEAP32[(21056)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16176,7 +16180,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5185] = $21; + HEAP32[5261] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9229,$vararg_buffer); @@ -16185,10 +16189,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[5197]|0; + $22 = HEAP32[5273]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(20800)>>2]|0; + $24 = HEAP32[(21104)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16199,7 +16203,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5197] = $31; + HEAP32[5273] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9254,$vararg_buffer1); @@ -16208,10 +16212,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[5209]|0; + $32 = HEAP32[5285]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(20848)>>2]|0; + $34 = HEAP32[(21152)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16222,9 +16226,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5209] = $41; - $42 = HEAP32[4924]|0; - $43 = HEAP32[4925]|0; + HEAP32[5285] = $41; + $42 = HEAP32[5000]|0; + $43 = HEAP32[5001]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16256,13 +16260,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4926]|0; + $2 = HEAP32[5002]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(20852)>>2]|0; - $5 = HEAP32[(20840)>>2]|0; + $4 = HEAP32[(21156)>>2]|0; + $5 = HEAP32[(21144)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16270,7 +16274,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(20840)>>2] = $10; + HEAP32[(21144)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16289,18 +16293,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4926]|0; + $4 = HEAP32[5002]|0; switch ($4|0) { case 1: { - $$sink37 = (20748);$$sink38 = (20760); + $$sink37 = (21052);$$sink38 = (21064); break; } case 4: { - $$sink37 = (20796);$$sink38 = (20808); + $$sink37 = (21100);$$sink38 = (21112); break; } case 7: { - $$sink37 = (20844);$$sink38 = (20856); + $$sink37 = (21148);$$sink38 = (21160); break; } default: { @@ -16339,8 +16343,8 @@ function _rlEnableTexture($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 = HEAP32[4924]|0; - $2 = HEAP32[4925]|0; + $1 = HEAP32[5000]|0; + $2 = HEAP32[5001]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16353,9 +16357,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4925] = $10; + HEAP32[5001] = $10; } - $11 = HEAP32[4925]|0; + $11 = HEAP32[5001]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16366,7 +16370,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5209]|0; + $0 = HEAP32[5285]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16389,7 +16393,7 @@ function _rlTextureParameters($0,$1,$2) { switch ($1|0) { case 10243: case 10242: { $3 = ($2|0)!=(34626); - $4 = HEAP32[4893]|0; + $4 = HEAP32[4969]|0; $5 = ($4|0)!=(0); $or$cond = $3 | $5; if ($or$cond) { @@ -16407,7 +16411,7 @@ function _rlTextureParameters($0,$1,$2) { } case 12288: { $6 = (+($2|0)); - $7 = +HEAPF32[4892]; + $7 = +HEAPF32[4968]; $8 = !($6 <= $7); if (!($8)) { _glTexParameterf(3553,34046,(+$6)); @@ -16435,40 +16439,11 @@ function _rlTextureParameters($0,$1,$2) { _glBindTexture(3553,0); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9443); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,12080)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5365] = $0; + HEAP32[5441] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16532,7 +16507,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9455|0),(9481|0),1125,(9504|0)); + ___assert_fail((9443|0),(9469|0),1041,(9492|0)); // unreachable; } } @@ -16550,7 +16525,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5366]|0; + $15 = HEAP32[5442]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16643,7 +16618,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9545); + _stbi__err(9533); $$0 = 0; return ($$0|0); } else { @@ -16665,7 +16640,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9536); + _stbi__err(9524); $$0 = 0; return ($$0|0); } @@ -16735,7 +16710,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9564); + _stbi__err(9552); $$045 = 0; return ($$045|0); } @@ -17296,7 +17271,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9878 + ($120)|0); + $121 = (9866 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17338,97 +17313,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9652); + _stbi__err(9640); $$6$ph = 0; break; } case 9: { - _stbi__err(9666); + _stbi__err(9654); $$6$ph = 0; break; } case 11: { - _stbi__err(9679); + _stbi__err(9667); $$6$ph = 0; break; } case 13: { - _stbi__err(9679); + _stbi__err(9667); $$6$ph = 0; break; } case 15: { - _stbi__err(9689); + _stbi__err(9677); $$6$ph = 0; break; } case 17: { - _stbi__err(9709); + _stbi__err(9697); $$6$ph = 0; break; } case 20: { - _stbi__err(9709); + _stbi__err(9697); $$6$ph = 0; break; } case 22: { - _stbi__err(9709); + _stbi__err(9697); $$6$ph = 0; break; } case 24: { - _stbi__err(9719); + _stbi__err(9707); $$6$ph = 0; break; } case 26: { - _stbi__err(9735); + _stbi__err(9723); $$6$ph = 0; break; } case 28: { - _stbi__err(9753); + _stbi__err(9741); $$6$ph = 0; break; } case 31: { - _stbi__err(9774); + _stbi__err(9762); $$6$ph = 0; break; } case 34: { - _stbi__err(9679); + _stbi__err(9667); $$6$ph = 0; break; } case 37: { - _stbi__err(9679); + _stbi__err(9667); $$6$ph = 0; break; } case 39: { - _stbi__err(9788); + _stbi__err(9776); $$6$ph = 0; break; } case 41: { - _stbi__err(9803); + _stbi__err(9791); $$6$ph = 0; break; } case 44: { - _stbi__err(9803); + _stbi__err(9791); $$6$ph = 0; break; } case 47: { - _stbi__err(9788); + _stbi__err(9776); $$6$ph = 0; break; } case 49: { - _stbi__err(9816); + _stbi__err(9804); $$6$ph = 0; break; } @@ -17439,32 +17414,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9832); + _stbi__err(9820); $$6$ph = 0; break; } case 58: { - _stbi__err(9849); + _stbi__err(9837); $$6$ph = 0; break; } case 61: { - _stbi__err(9862); + _stbi__err(9850); $$6$ph = 0; break; } case 63: { - _stbi__err(9849); + _stbi__err(9837); $$6$ph = 0; break; } case 70: { - _stbi__err(9788); + _stbi__err(9776); $$6$ph = 0; break; } case 72: { - _stbi__err(9887); + _stbi__err(9875); $$6$ph = 0; break; } @@ -17476,12 +17451,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9536); + _stbi__err(9524); $$6$ph = 0; break; } case 83: { - _stbi__err(9895); + _stbi__err(9883); $$6$ph = 0; break; } @@ -17494,7 +17469,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9905); + _stbi__err(9893); $$4 = 0; break; } @@ -17559,7 +17534,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5367]|0; + $193 = HEAP32[5443]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17592,7 +17567,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9788); + _stbi__err(9776); $$4 = 0; } } while(0); @@ -17600,24 +17575,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9788); + _stbi__err(9776); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9913] = $206; + HEAP8[9901] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9914)>>0] = $209; + HEAP8[(9902)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9915)>>0] = $211; + HEAP8[(9903)>>0] = $211; $212 = $207&255; - HEAP8[(9916)>>0] = $212; - _stbi__err(9913); + HEAP8[(9904)>>0] = $212; + _stbi__err(9901); $$6$ph = 0; break; } @@ -17651,14 +17626,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9577|0),(9481|0),1561,(9631|0)); + ___assert_fail((9565|0),(9469|0),1477,(9619|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9536); + _stbi__err(9524); $$0163 = 0; return ($$0163|0); } @@ -18021,7 +17996,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((12717|0),(9481|0),1590,(9631|0)); + ___assert_fail((13025|0),(9469|0),1506,(9619|0)); // unreachable; } } while(0); @@ -18055,7 +18030,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9577|0),(9481|0),1610,(9608|0)); + ___assert_fail((9565|0),(9469|0),1526,(9596|0)); // unreachable; } $7 = $2 << 1; @@ -18065,7 +18040,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9536); + _stbi__err(9524); $$0163 = 0; return ($$0163|0); } @@ -18428,7 +18403,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((12717|0),(9481|0),1639,(9608|0)); + ___assert_fail((13025|0),(9469|0),1555,(9596|0)); // unreachable; } } while(0); @@ -18576,7 +18551,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10570); + _stbi__err(10878); $$05 = 0; return ($$05|0); } @@ -19013,7 +18988,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9972|0),(9481|0),4568,(10024|0)); + ___assert_fail((9960|0),(9469|0),4569,(10012|0)); // unreachable; } } @@ -19100,7 +19075,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9972|0),(9481|0),4543,(9997|0)); + ___assert_fail((9960|0),(9469|0),4544,(9985|0)); // unreachable; } } @@ -19147,7 +19122,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5368]|0; + $16 = HEAP32[5444]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19222,7 +19197,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9938|0),(9481|0),4649,(9956|0)); + ___assert_fail((9926|0),(9469|0),4650,(9944|0)); // unreachable; } } @@ -19245,7 +19220,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9536); + _stbi__err(9524); $$0 = 0; return ($$0|0); } @@ -19422,7 +19397,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10053|0),(9481|0),4294,(10094|0)); + ___assert_fail((10041|0),(9469|0),4294,(10082|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19430,7 +19405,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9536); + _stbi__err(9524); $$2 = 0; return ($$2|0); } @@ -19449,7 +19424,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10121); + _stbi__err(10109); $$2 = 0; return ($$2|0); } @@ -19462,7 +19437,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10121); + _stbi__err(10109); $$2 = 0; return ($$2|0); } @@ -19470,12 +19445,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19498,33 +19473,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10160 + ($56)|0); + $60 = (10148 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19534,24 +19509,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19561,10 +19536,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19575,10 +19550,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19589,14 +19564,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19626,7 +19601,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19641,12 +19616,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20223,15 +20198,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10139|0),(9481|0),4315,(10094|0)); + ___assert_fail((10127|0),(9469|0),4315,(10082|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10165|0),(9481|0),4376,(10094|0)); + ___assert_fail((10153|0),(9469|0),4377,(10082|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10182); + _stbi__err(10170); $$2 = 0; return ($$2|0); } @@ -20281,7 +20256,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9878 + ($6)|0); + $336 = (9866 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20722,7 +20697,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10197|0),(9481|0),4465,(10094|0)); + ___assert_fail((10185|0),(9469|0),4466,(10082|0)); // unreachable; } else if ((label|0) == 151) { @@ -20782,8 +20757,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20798,15 +20773,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20815,65 +20790,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(23374)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10196,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,23375,288)|0); + $15 = (_stbi__zbuild_huffman($8,10484,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,23343,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20892,14 +20862,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10523); + _stbi__err(10831); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10539); + _stbi__err(10847); $$0 = 0; return ($$0|0); } @@ -20908,7 +20878,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10554); + _stbi__err(10862); $$0 = 0; return ($$0|0); } @@ -20991,7 +20961,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10445|0),(9481|0),4048,(10462|0)); + ___assert_fail((10753|0),(9469|0),4033,(10770|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -21028,7 +20998,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10493); + _stbi__err(10801); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21038,7 +21008,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10506); + _stbi__err(10814); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21068,21 +21038,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((23375|0),8,144)|0; - dest=(23519); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(23631); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (23655); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=23343; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21216,7 +21171,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10383); + _stbi__err(10691); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21305,7 +21260,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10435); + _stbi__err(10743); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21334,7 +21289,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11220 + ($$06579)|0); + $14 = (11528 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21425,21 +21380,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10383); + _stbi__err(10691); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10383); + _stbi__err(10691); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10399|0),(9481|0),4021,(10407|0)); + ___assert_fail((10707|0),(9469|0),4006,(10715|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10383); + _stbi__err(10691); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21449,7 +21404,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10383); + _stbi__err(10691); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21613,7 +21568,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10208); + _stbi__err(10516); $$3$ph = 0; return ($$3$ph|0); } @@ -21623,12 +21578,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10208); + _stbi__err(10516); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10225); + _stbi__err(10533); $$3$ph = 0; return ($$3$ph|0); } @@ -21685,7 +21640,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10234); + _stbi__err(10542); $$0 = 0; return ($$0|0); } @@ -21711,7 +21666,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9536); + _stbi__err(9524); $$0 = 0; return ($$0|0); } else { @@ -21756,7 +21711,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10330|0),(9481|0),3863,(10367|0)); + ___assert_fail((10638|0),(9469|0),3848,(10675|0)); // unreachable; } else if ((label|0) == 5) { @@ -21804,7 +21759,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10254|0),(9481|0),3891,(10270|0)); + ___assert_fail((10562|0),(9469|0),3876,(10578|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21832,7 +21787,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10301|0),(9481|0),3781,(10312|0)); + ___assert_fail((10609|0),(9469|0),3766,(10620|0)); // unreachable; } return (0)|0; @@ -21978,10 +21933,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -21992,27 +21947,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,11407)|0); + $6 = (_IsFileExtension($1,11715)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10629)|0); + $19 = (_IsFileExtension($1,10937)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10634,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10942,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,12388)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -22040,7 +21996,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -22057,18 +22013,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10582,$vararg_buffer); + _TraceLog(2,10890,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -22077,34 +22033,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10670,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,10978,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10709,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11017,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22123,11 +22086,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,12080)|0); + $4 = (_fopen($0,12388)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10768,$vararg_buffer); + _TraceLog(2,11076,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22226,7 +22189,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10865,$vararg_buffer4); + _TraceLog(0,11173,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22261,14 +22224,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10911,$vararg_buffer8); + _TraceLog(2,11219,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10819,$vararg_buffer1); + _TraceLog(2,11127,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22358,7 +22321,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10740,$vararg_buffer); + _TraceLog(2,11048,$vararg_buffer); $$0 = $6; } } @@ -22403,27 +22366,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10961,$vararg_buffer); + _TraceLog(2,11269,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11000,$vararg_buffer1); + _TraceLog(2,11308,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11026,$vararg_buffer3); + _TraceLog(2,11334,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11089,$vararg_buffer5); + _TraceLog(2,11397,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11124,$vararg_buffer7); + _TraceLog(2,11432,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11159,$vararg_buffer10); + _TraceLog(0,11467,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23606,7 +23569,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11216 + ($$361133)|0); + $199 = (11524 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -24036,7 +23999,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11216 + ($$331130)|0); + $186 = (11524 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -24074,7 +24037,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11216 + ($$371134)|0); + $203 = (11524 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24113,7 +24076,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11220 + ($$421139)|0); + $235 = (11528 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24520,7 +24483,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11239 + ($495)|0); + $496 = (11547 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24557,7 +24520,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11243 + ($515)|0); + $516 = (11551 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25483,7 +25446,7 @@ function _ImageAlphaMask($0,$1) { $14 = HEAP32[$13>>2]|0; $15 = ($14|0)>(7); if ($15) { - _TraceLog(2,11285,$vararg_buffer1); + _TraceLog(2,11593,$vararg_buffer1); STACKTOP = sp;return; } ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$1+16>>2]|0; @@ -25574,14 +25537,14 @@ function _ImageAlphaMask($0,$1) { STACKTOP = sp;return; } } - _TraceLog(2,11247,$vararg_buffer); + _TraceLog(2,11555,$vararg_buffer); STACKTOP = sp;return; } function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[19264>>2]|0;HEAP32[$0+4>>2]=HEAP32[19264+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19264+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19264+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19264+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19264+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19264+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19264+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[19568>>2]|0;HEAP32[$0+4>>2]=HEAP32[19568+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19568+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19568+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19568+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19568+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19568+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19568+28>>2]|0; return; } function _MeasureTextEx($0,$1,$2,$3,$4) { @@ -25775,7 +25738,7 @@ function _SetTextureFilter($0,$1) { STACKTOP = sp;return; } else { HEAP32[$vararg_buffer>>2] = $17; - _TraceLog(2,11342,$vararg_buffer); + _TraceLog(2,11650,$vararg_buffer); $19 = HEAP32[$0>>2]|0; _rlTextureParameters($19,10241,9729); _rlTextureParameters($19,10240,9729); @@ -25960,18 +25923,18 @@ function _LoadSpriteFont($0,$1) { $8 = sp + 64|0; $9 = sp + 8|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;HEAP32[$2+28>>2]=0|0; - $10 = (_IsFileExtension($1,11407)|0); + $10 = (_IsFileExtension($1,11715)|0); $11 = ($10|0)==(0); do { if ($11) { - $35 = (_IsFileExtension($1,11413)|0); + $35 = (_IsFileExtension($1,11721)|0); $36 = ($35|0)==(0); if (!($36)) { _LoadSpriteFontTTF($4,$1,32,0,0); ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$4+28>>2]|0; break; } - $37 = (_IsFileExtension($1,11418)|0); + $37 = (_IsFileExtension($1,11726)|0); $38 = ($37|0)==(0); if (!($38)) { _LoadBMFont($5,$1); @@ -26039,7 +26002,7 @@ function _LoadSpriteFont($0,$1) { $45 = ($44|0)==(0); if ($45) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11423,$vararg_buffer); + _TraceLog(2,11731,$vararg_buffer); _GetDefaultFont($9); ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$9+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$9+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$9+28>>2]|0; ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; @@ -26067,7 +26030,7 @@ function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { $6 = sp + 40|0; $7 = sp + 8|0; ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0;HEAP32[$$sroa$8+24>>2]=0|0; - $8 = (_IsFileExtension($1,11413)|0); + $8 = (_IsFileExtension($1,11721)|0); $9 = ($8|0)==(0); if (!($9)) { $10 = ($4|0)==(0|0); @@ -26110,7 +26073,7 @@ function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { } } HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11967,$vararg_buffer); + _TraceLog(2,12275,$vararg_buffer); _GetDefaultFont($7); $$sroa$0$0$copyload17 = HEAP32[$7>>2]|0; $$sroa$8$0$$sroa_idx26 = ((($7)) + 4|0); @@ -26159,17 +26122,17 @@ function _LoadBMFont($0,$1) { ;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;HEAP32[$2+28>>2]=0|0; HEAP32[$4>>2] = 0; HEAP32[$8>>2] = 0; - $15 = (_fopen($1,11565)|0); + $15 = (_fopen($1,11873)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11568,$vararg_buffer); + _TraceLog(2,11876,$vararg_buffer); ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; STACKTOP = sp;return; } (_fgets($3,256,$15)|0); (_fgets($3,256,$15)|0); - $17 = (_strstr($3,11602)|0); + $17 = (_strstr($3,11910)|0); HEAP32[$vararg_buffer1>>2] = $4; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $9; @@ -26177,12 +26140,12 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr5>>2] = $5; $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); HEAP32[$vararg_ptr6>>2] = $6; - (_sscanf($17,11613,$vararg_buffer1)|0); + (_sscanf($17,11921,$vararg_buffer1)|0); $18 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $18; - _TraceLog(3,11655,$vararg_buffer7); + _TraceLog(3,11963,$vararg_buffer7); $19 = HEAP32[$5>>2]|0; $20 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer11>>2] = $1; @@ -26190,24 +26153,24 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr14>>2] = $19; $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr15>>2] = $20; - _TraceLog(3,11674,$vararg_buffer11); + _TraceLog(3,11982,$vararg_buffer11); (_fgets($3,256,$15)|0); - $21 = (_strstr($3,11705)|0); + $21 = (_strstr($3,12013)|0); HEAP32[$vararg_buffer16>>2] = $7; - (_sscanf($21,11710,$vararg_buffer16)|0); + (_sscanf($21,12018,$vararg_buffer16)|0); HEAP32[$vararg_buffer19>>2] = $1; $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); HEAP32[$vararg_ptr22>>2] = $7; - _TraceLog(3,11726,$vararg_buffer19); + _TraceLog(3,12034,$vararg_buffer19); (_fgets($3,256,$15)|0); - $22 = (_strstr($3,11757)|0); + $22 = (_strstr($3,12065)|0); HEAP32[$vararg_buffer23>>2] = $8; - (_sscanf($22,11763,$vararg_buffer23)|0); + (_sscanf($22,12071,$vararg_buffer23)|0); $23 = HEAP32[$8>>2]|0; HEAP32[$vararg_buffer26>>2] = $1; $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); HEAP32[$vararg_ptr29>>2] = $23; - _TraceLog(3,11772,$vararg_buffer26); + _TraceLog(3,12080,$vararg_buffer26); $24 = (_strrchr($1,47)|0); $25 = (_strlen($1)|0); $26 = (_strlen($24)|0); @@ -26227,7 +26190,7 @@ function _LoadBMFont($0,$1) { HEAP32[$$byval_copy52>>2] = $1; $vararg_ptr33 = ((($$byval_copy52)) + 4|0); HEAP32[$vararg_ptr33>>2] = $31; - _TraceLog(3,11796,$$byval_copy52); + _TraceLog(3,12104,$$byval_copy52); _LoadImage($vararg_buffer26,$31); $37 = ((($vararg_buffer26)) + 16|0); $38 = HEAP32[$37>>2]|0; @@ -26305,7 +26268,7 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr42>>2] = $12; $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); HEAP32[$vararg_ptr43>>2] = $13; - (_sscanf($3,11831,$vararg_buffer34)|0); + (_sscanf($3,12139,$vararg_buffer34)|0); $64 = HEAP32[$vararg_buffer23>>2]|0; $65 = HEAP32[$59>>2]|0; $66 = (($65) + ($$05355<<5)|0); @@ -26355,7 +26318,7 @@ function _LoadBMFont($0,$1) { ;HEAP32[$2>>2]=HEAP32[$14>>2]|0;HEAP32[$2+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$14+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$14+28>>2]|0; } else { HEAP32[$vararg_buffer44>>2] = $1; - _TraceLog(0,11905,$vararg_buffer44); + _TraceLog(0,12213,$vararg_buffer44); } ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; STACKTOP = sp;return; @@ -26652,7 +26615,7 @@ function _LoadImageFont($0,$1,$2) { } else { $$0201$lcssa = 0; } - _TraceLog(3,11479,$vararg_buffer); + _TraceLog(3,11787,$vararg_buffer); $145 = HEAP32[$7>>2]|0; $146 = HEAP32[$63>>2]|0; $147 = Math_imul($146, $145)|0; @@ -26715,7 +26678,7 @@ function _LoadImageFont($0,$1,$2) { } else { $175 = ((($156)) + 16|0); $176 = HEAP32[$175>>2]|0; - _TraceLog(0,11523,$vararg_buffer1); + _TraceLog(0,11831,$vararg_buffer1); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; @@ -26749,7 +26712,7 @@ function _LoadImageFont($0,$1,$2) { } $175 = ((($156)) + 16|0); $176 = HEAP32[$175>>2]|0; - _TraceLog(0,11523,$vararg_buffer1); + _TraceLog(0,11831,$vararg_buffer1); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; @@ -26779,7 +26742,7 @@ function _UnloadSpriteFont($0) { $5 = ((($0)) + 28|0); $6 = HEAP32[$5>>2]|0; _free($6); - _TraceLog(3,11941,$vararg_buffer); + _TraceLog(3,12249,$vararg_buffer); STACKTOP = sp;return; } function _LoadTTF($0,$1,$2,$3,$4) { @@ -26818,18 +26781,18 @@ function _LoadTTF($0,$1,$2,$3,$4) { HEAP32[$$byval_copy9>>2] = $18; $vararg_ptr1 = ((($$byval_copy9)) + 4|0); HEAP32[$vararg_ptr1>>2] = $18; - _TraceLog(0,12026,$$byval_copy9); + _TraceLog(0,12334,$$byval_copy9); $19 = (_malloc(16777216)|0); $20 = Math_imul($18, $18)|0; $21 = (_malloc($20)|0); $22 = ($3*20)|0; $23 = (_malloc($22)|0); ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; - $24 = (_fopen($1,12080)|0); + $24 = (_fopen($1,12388)|0); $25 = ($24|0)==(0|0); if ($25) { HEAP32[$vararg_buffer2>>2] = $1; - _TraceLog(2,12083,$vararg_buffer2); + _TraceLog(2,12391,$vararg_buffer2); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$6$0$$sroa_idx49 = ((($0)) + 20|0); HEAP32[$$sroa$6$0$$sroa_idx49>>2] = 0; @@ -26843,13 +26806,13 @@ function _LoadTTF($0,$1,$2,$3,$4) { $26 = HEAP32[$4>>2]|0; $27 = ($26|0)==(32); if (!($27)) { - _TraceLog(2,12117,$vararg_buffer5); + _TraceLog(2,12425,$vararg_buffer5); } $28 = HEAP32[$4>>2]|0; $29 = (_stbtt_BakeFontBitmap($19,$7,$21,$18,$18,$28,$3,$23)|0); $30 = ($29|0)<(0); if ($30) { - _TraceLog(2,12184,$vararg_buffer7); + _TraceLog(2,12492,$vararg_buffer7); } _free($19); $31 = $20 << 1; @@ -27087,7 +27050,7 @@ function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 8) { - ___assert_fail((12247|0),(12257|0),3273,(12283|0)); + ___assert_fail((12555|0),(12565|0),3274,(12591|0)); // unreachable; } else if ((label|0) == 11) { @@ -27190,7 +27153,7 @@ function _stbtt_FindGlyphIndex($0,$1) { break; } case 2: { - ___assert_fail((12717|0),(12257|0),1346,(13059|0)); + ___assert_fail((13025|0),(12565|0),1347,(13367|0)); // unreachable; break; } @@ -27256,7 +27219,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $70 = $69&65535; $71 = ($70|0)<($1|0); if ($71) { - ___assert_fail((13080|0),(12257|0),1382,(13059|0)); + ___assert_fail((13388|0),(12565|0),1383,(13367|0)); // unreachable; } $72 = ((($6)) + 14|0); @@ -27317,7 +27280,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $108 = $7 & -2; $switch = ($108<<16>>16)==(12); if (!($switch)) { - ___assert_fail((12717|0),(12257|0),1417,(13059|0)); + ___assert_fail((13025|0),(12565|0),1418,(13367|0)); // unreachable; } $109 = ((($6)) + 12|0); @@ -28197,11 +28160,11 @@ function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { } } if ((label|0) == 11) { - ___assert_fail((12313|0),(12257|0),2774,(12326|0)); + ___assert_fail((12621|0),(12565|0),2775,(12634|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((12356|0),(12257|0),2787,(12326|0)); + ___assert_fail((12664|0),(12565|0),2788,(12634|0)); // unreachable; } } @@ -28246,7 +28209,7 @@ function _stbtt__new_active($0,$1,$2,$3) { $14 = $8 / $13; $15 = ($4|0)==(0|0); if ($15) { - ___assert_fail((12646|0),(12257|0),2373,(12662|0)); + ___assert_fail((12954|0),(12565|0),2374,(12970|0)); // unreachable; } else { $16 = ((($4)) + 8|0); @@ -28574,19 +28537,19 @@ function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { } } if ((label|0) == 4) { - ___assert_fail((12376|0),(12257|0),2585,(12391|0)); + ___assert_fail((12684|0),(12565|0),2586,(12699|0)); // unreachable; } else if ((label|0) == 11) { - ___assert_fail((12420|0),(12257|0),2604,(12391|0)); + ___assert_fail((12728|0),(12565|0),2605,(12699|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((12456|0),(12257|0),2632,(12391|0)); + ___assert_fail((12764|0),(12565|0),2633,(12699|0)); // unreachable; } else if ((label|0) == 25) { - ___assert_fail((12474|0),(12257|0),2669,(12391|0)); + ___assert_fail((12782|0),(12565|0),2670,(12699|0)); // unreachable; } else if ((label|0) == 42) { @@ -28635,7 +28598,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { } $8 = $4 < $6; if (!($8)) { - ___assert_fail((12494|0),(12257|0),2543,(12502|0)); + ___assert_fail((12802|0),(12565|0),2544,(12810|0)); // unreachable; } $9 = ((($2)) + 20|0); @@ -28644,7 +28607,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $12 = +HEAPF32[$11>>2]; $13 = !($10 <= $12); if ($13) { - ___assert_fail((12529|0),(12257|0),2544,(12502|0)); + ___assert_fail((12837|0),(12565|0),2545,(12810|0)); // unreachable; } $14 = $12 < $4; @@ -28686,7 +28649,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if ($32) { $35 = !($$077 <= $34); if ($35) { - ___assert_fail((12544|0),(12257|0),2557,(12502|0)); + ___assert_fail((12852|0),(12565|0),2558,(12810|0)); // unreachable; } } else { @@ -28696,7 +28659,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($37)) { break; } - ___assert_fail((12554|0),(12257|0),2559,(12502|0)); + ___assert_fail((12862|0),(12565|0),2560,(12810|0)); // unreachable; } $38 = !($$079 <= $31); @@ -28705,7 +28668,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($39)) { break; } - ___assert_fail((12562|0),(12257|0),2561,(12502|0)); + ___assert_fail((12870|0),(12565|0),2562,(12810|0)); // unreachable; } $40 = !($$079 >= $34); @@ -28716,14 +28679,14 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($or$cond80)) { break; } - ___assert_fail((12580|0),(12257|0),2565,(12502|0)); + ___assert_fail((12888|0),(12565|0),2566,(12810|0)); // unreachable; } else { $41 = !($$077 >= $34); if (!($41)) { break; } - ___assert_fail((12570|0),(12257|0),2563,(12502|0)); + ___assert_fail((12878|0),(12565|0),2564,(12810|0)); // unreachable; } } @@ -28756,7 +28719,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $58 = !($$077 <= $34); $or$cond85 = $58 | $or$cond84; if ($or$cond85) { - ___assert_fail((12601|0),(12257|0),2572,(12502|0)); + ___assert_fail((12909|0),(12565|0),2573,(12810|0)); // unreachable; } $59 = ((($2)) + 16|0); @@ -29292,7 +29255,7 @@ function _stbtt__GetGlyfOffset($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if (!($4)) { - ___assert_fail((12680|0),(12257|0),1439,(12696|0)); + ___assert_fail((12988|0),(12565|0),1440,(13004|0)); // unreachable; } $5 = ((($0)) + 12|0); @@ -30239,7 +30202,7 @@ function _stbtt__cff_index_get($0,$1,$2) { $7 = ($3|0)>($2|0); $or$cond = $6 & $7; if (!($or$cond)) { - ___assert_fail((12922|0),(12257|0),1117,(12942|0)); + ___assert_fail((13230|0),(12565|0),1118,(13250|0)); // unreachable; } $$off = (($4) + -1)<<24>>24; @@ -30257,7 +30220,7 @@ function _stbtt__cff_index_get($0,$1,$2) { _stbtt__buf_range($0,$1,$15,$16); return; } else { - ___assert_fail((12839|0),(12257|0),1118,(12942|0)); + ___assert_fail((13147|0),(12565|0),1119,(13250|0)); // unreachable; } } @@ -30502,7 +30465,7 @@ function _stbtt__buf_get($0,$1) { if ($2) { $$01011 = 0;$$012 = 0; } else { - ___assert_fail((12734|0),(12257|0),1013,(12751|0)); + ___assert_fail((13042|0),(12565|0),1014,(13059|0)); // unreachable; } while(1) { @@ -30573,7 +30536,7 @@ function _stbtt__cff_int($0) { break; } default: { - ___assert_fail((12717|0),(12257|0),1063,(12719|0)); + ___assert_fail((13025|0),(12565|0),1064,(13027|0)); // unreachable; } } @@ -30744,7 +30707,7 @@ function _stbtt__new_buf($0,$1,$2) { HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; return; } else { - ___assert_fail((12766|0),(12257|0),1022,(12784|0)); + ___assert_fail((13074|0),(12565|0),1023,(13092|0)); // unreachable; } } @@ -30759,7 +30722,7 @@ function _stbtt__buf_seek($0,$1) { $5 = ($1|0)<(0); $or$cond = $5 | $4; if ($or$cond) { - ___assert_fail((12799|0),(12257|0),1000,(12823|0)); + ___assert_fail((13107|0),(12565|0),1001,(13131|0)); // unreachable; } else { $6 = ((($0)) + 4|0); @@ -30904,7 +30867,7 @@ function _stbtt__cff_get_index($0,$1) { $$off = (($6) + -1)<<24>>24; $8 = ($$off&255)<(4); if (!($8)) { - ___assert_fail((12839|0),(12257|0),1048,(12868|0)); + ___assert_fail((13147|0),(12565|0),1049,(13176|0)); // unreachable; } $9 = Math_imul($7, $4)|0; @@ -31001,7 +30964,7 @@ function _stbtt__cff_skip_operand($0) { $1 = (_stbtt__buf_peek8($0)|0); $2 = ($1&255)>(27); if (!($2)) { - ___assert_fail((12889|0),(12257|0),1069,(12898|0)); + ___assert_fail((13197|0),(12565|0),1070,(13206|0)); // unreachable; } $3 = ($1<<24>>24)==(30); @@ -31328,7 +31291,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { $$4352 = 0;$$9 = 0; break; } - ___assert_fail((12717|0),(12257|0),1723,(13036|0)); + ___assert_fail((13025|0),(12565|0),1724,(13344|0)); // unreachable; } $143 = ((($8)) + 10|0); @@ -31512,7 +31475,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { } } if ((label|0) == 42) { - ___assert_fail((12717|0),(12257|0),1670,(13036|0)); + ___assert_fail((13025|0),(12565|0),1671,(13344|0)); // unreachable; } $249 = ($$0348453|0)==(0|0); @@ -31567,7 +31530,7 @@ function _stbtt__GetGlyphShapeT2($0,$1,$2) { $$0 = $16; STACKTOP = sp;return ($$0|0); } else { - ___assert_fail((12963|0),(12257|0),2113,(13013|0)); + ___assert_fail((13271|0),(12565|0),2114,(13321|0)); // unreachable; } } @@ -31657,23 +31620,23 @@ function _stbtt_InitFont_internal($0,$1) { $20 = ((($0)) + 48|0); _stbtt__new_buf($2,0,0); ;HEAP32[$20>>2]=HEAP32[$2>>2]|0;HEAP32[$20+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$2+8>>2]|0; - $21 = (_stbtt__find_table($1,13136)|0); - $22 = (_stbtt__find_table($1,13141)|0); + $21 = (_stbtt__find_table($1,13444)|0); + $22 = (_stbtt__find_table($1,13449)|0); $23 = ((($0)) + 16|0); HEAP32[$23>>2] = $22; - $24 = (_stbtt__find_table($1,13146)|0); + $24 = (_stbtt__find_table($1,13454)|0); $25 = ((($0)) + 20|0); HEAP32[$25>>2] = $24; - $26 = (_stbtt__find_table($1,13151)|0); + $26 = (_stbtt__find_table($1,13459)|0); $27 = ((($0)) + 24|0); HEAP32[$27>>2] = $26; - $28 = (_stbtt__find_table($1,13156)|0); + $28 = (_stbtt__find_table($1,13464)|0); $29 = ((($0)) + 28|0); HEAP32[$29>>2] = $28; - $30 = (_stbtt__find_table($1,13161)|0); + $30 = (_stbtt__find_table($1,13469)|0); $31 = ((($0)) + 32|0); HEAP32[$31>>2] = $30; - $32 = (_stbtt__find_table($1,13166)|0); + $32 = (_stbtt__find_table($1,13474)|0); $33 = ((($0)) + 36|0); HEAP32[$33>>2] = $32; $34 = ($21|0)==(0); @@ -31707,7 +31670,7 @@ function _stbtt_InitFont_internal($0,$1) { HEAP32[$7>>2] = 0; HEAP32[$8>>2] = 0; HEAP32[$9>>2] = 0; - $45 = (_stbtt__find_table($1,13171)|0); + $45 = (_stbtt__find_table($1,13479)|0); $46 = ($45|0)==(0); do { if (!($46)) { @@ -31786,7 +31749,7 @@ function _stbtt_InitFont_internal($0,$1) { } } } while(0); - $68 = (_stbtt__find_table($1,13176)|0); + $68 = (_stbtt__find_table($1,13484)|0); $69 = ($68|0)==(0); if ($69) { $$sink = 65535; @@ -32150,7 +32113,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,13181)|0); + $12 = (_strstr($11,13489)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -32159,7 +32122,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,13185)|0); + $17 = (_strstr($16,13493)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -32168,7 +32131,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,13189)|0); + $22 = (_strstr($21,13497)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -32177,7 +32140,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,13193)|0); + $27 = (_strstr($26,13501)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -32186,1210 +32149,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,13199)|0); + $32 = (_strcmp($31,13507)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,13237)|0); + $35 = (_strcmp($34,13545)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 13256; + HEAP32[$3>>2] = 13564; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,13269)|0); + $38 = (_strcmp($37,13577)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 13290; + HEAP32[$3>>2] = 13598; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,13305)|0); + $41 = (_strcmp($40,13613)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 13320; + HEAP32[$3>>2] = 13628; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,13335)|0); + $44 = (_strcmp($43,13643)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 13350; + HEAP32[$3>>2] = 13658; } } else { - HEAP32[$3>>2] = 13221; + HEAP32[$3>>2] = 13529; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,13365)|0); + $47 = (_strcmp($46,13673)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,13379)|0); + $50 = (_strcmp($49,13687)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,13391)|0); + $53 = (_strcmp($52,13699)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,13405)|0); + $56 = (_strcmp($55,13713)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,13417)|0); + $59 = (_strcmp($58,13725)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,13431)|0); + $62 = (_strcmp($61,13739)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,13445)|0); + $65 = (_strcmp($64,13753)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,13462)|0); + $68 = (_strcmp($67,13770)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,13485)|0); + $71 = (_strcmp($70,13793)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,13511)|0); + $74 = (_strcmp($73,13819)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,13524)|0); + $77 = (_strcmp($76,13832)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,13540)|0); + $80 = (_strcmp($79,13848)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,13553)|0); + $83 = (_strcmp($82,13861)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,13567)|0); + $86 = (_strcmp($85,13875)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,13587)|0); + $89 = (_strcmp($88,13895)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,13607)|0); + $92 = (_strcmp($91,13915)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,13624)|0); + $95 = (_strcmp($94,13932)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,13641)|0); + $98 = (_strcmp($97,13949)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,13653)|0); + $101 = (_strcmp($100,13961)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,13666)|0); + $104 = (_strcmp($103,13974)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,13682)|0); + $107 = (_strcmp($106,13990)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,13705)|0); + $110 = (_strcmp($109,14013)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,13718)|0); + $113 = (_strcmp($112,14026)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,13734)|0); + $116 = (_strcmp($115,14042)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,13745)|0); + $119 = (_strcmp($118,14053)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,13764)|0); + $122 = (_strcmp($121,14072)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,13786)|0); + $125 = (_strcmp($124,14094)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,13805)|0); + $128 = (_strcmp($127,14113)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,13834)|0); + $131 = (_strcmp($130,14142)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,13851)|0); + $134 = (_strcmp($133,14159)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,13866)|0); + $137 = (_strcmp($136,14174)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,13881)|0); + $140 = (_strcmp($139,14189)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,13902)|0); + $143 = (_strcmp($142,14210)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,13922)|0); + $146 = (_strcmp($145,14230)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,13942)|0); + $149 = (_strcmp($148,14250)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,13968)|0); + $152 = (_strcmp($151,14276)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,13987)|0); + $155 = (_strcmp($154,14295)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,13999)|0); + $158 = (_strcmp($157,14307)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,14011)|0); + $161 = (_strcmp($160,14319)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,14023)|0); + $164 = (_strcmp($163,14331)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,14035)|0); + $167 = (_strcmp($166,14343)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,14047)|0); + $170 = (_strcmp($169,14355)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,14059)|0); + $173 = (_strcmp($172,14367)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,14071)|0); + $176 = (_strcmp($175,14379)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,14083)|0); + $179 = (_strcmp($178,14391)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,14096)|0); + $182 = (_strcmp($181,14404)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,14109)|0); + $185 = (_strcmp($184,14417)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,14122)|0); + $188 = (_strcmp($187,14430)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,14135)|0); + $191 = (_strcmp($190,14443)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,14148)|0); + $194 = (_strcmp($193,14456)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,14161)|0); + $197 = (_strcmp($196,14469)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,14174)|0); + $200 = (_strcmp($199,14482)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,14187)|0); + $203 = (_strcmp($202,14495)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,14206)|0); + $206 = (_strcmp($205,14514)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,14225)|0); + $209 = (_strcmp($208,14533)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,14244)|0); + $212 = (_strcmp($211,14552)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,14257)|0); + $215 = (_strcmp($214,14565)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,14275)|0); + $218 = (_strcmp($217,14583)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,14293)|0); + $221 = (_strcmp($220,14601)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,14311)|0); + $224 = (_strcmp($223,14619)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,14329)|0); + $227 = (_strcmp($226,14637)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,14349)|0); + $230 = (_strcmp($229,14657)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,13290)|0); + $233 = (_strcmp($232,13598)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,14367)|0); + $236 = (_strcmp($235,14675)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,14382)|0); + $239 = (_strcmp($238,14690)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,14403)|0); + $242 = (_strcmp($241,14711)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,14418)|0); + $245 = (_strcmp($244,14726)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,14436)|0); + $248 = (_strcmp($247,14744)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,14452)|0); + $251 = (_strcmp($250,14760)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,14471)|0); + $254 = (_strcmp($253,14779)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,14485)|0); + $257 = (_strcmp($256,14793)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,14500)|0); + $260 = (_strcmp($259,14808)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,13221)|0); + $263 = (_strcmp($262,13529)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,14511)|0); + $266 = (_strcmp($265,14819)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,13320)|0); + $269 = (_strcmp($268,13628)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,13350)|0); + $272 = (_strcmp($271,13658)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,14527)|0); + $275 = (_strcmp($274,14835)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,14554)|0); + $278 = (_strcmp($277,14862)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,14568)|0); + $281 = (_strcmp($280,14876)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,13256)|0); + $284 = (_strcmp($283,13564)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,14588)|0); + $287 = (_strcmp($286,14896)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,14606)|0); + $290 = (_strcmp($289,14914)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,14618)|0); + $293 = (_strcmp($292,14926)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,14639)|0); + $296 = (_strcmp($295,14947)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,14657)|0); + $299 = (_strcmp($298,14965)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,14675)|0); + $302 = (_strcmp($301,14983)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,14696)|0); + $305 = (_strcmp($304,15004)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,14722)|0); + $308 = (_strcmp($307,15030)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,14745)|0); + $311 = (_strcmp($310,15053)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,14783)|0); + $314 = (_strcmp($313,15091)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,14799)|0); + $317 = (_strcmp($316,15107)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,14814)|0); + $320 = (_strcmp($319,15122)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,14837)|0); + $323 = (_strcmp($322,15145)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,14850)|0); + $326 = (_strcmp($325,15158)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,14864)|0); + $329 = (_strcmp($328,15172)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,14878)|0); + $332 = (_strcmp($331,15186)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,14898)|0); + $335 = (_strcmp($334,15206)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,14918)|0); + $338 = (_strcmp($337,15226)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,14934)|0); + $341 = (_strcmp($340,15242)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,14952)|0); + $344 = (_strcmp($343,15260)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,14968)|0); + $347 = (_strcmp($346,15276)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,14983)|0); + $350 = (_strcmp($349,15291)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,15005)|0); + $353 = (_strcmp($352,15313)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,15023)|0); + $356 = (_strcmp($355,15331)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,15044)|0); + $359 = (_strcmp($358,15352)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,15062)|0); + $362 = (_strcmp($361,15370)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,15075)|0); + $365 = (_strcmp($364,15383)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,15090)|0); + $368 = (_strcmp($367,15398)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,15104)|0); + $371 = (_strcmp($370,15412)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,15114)|0); + $374 = (_strcmp($373,15422)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,15124)|0); + $377 = (_strcmp($376,15432)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,15146)|0); + $380 = (_strcmp($379,15454)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,15172)|0); + $383 = (_strcmp($382,15480)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,15199)|0); + $386 = (_strcmp($385,15507)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,15212)|0); + $389 = (_strcmp($388,15520)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,15227)|0); + $392 = (_strcmp($391,15535)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,15242)|0); + $395 = (_strcmp($394,15550)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,15266)|0); + $398 = (_strcmp($397,15574)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,15277)|0); + $401 = (_strcmp($400,15585)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,15299)|0); + $404 = (_strcmp($403,15607)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,15321)|0); + $407 = (_strcmp($406,15629)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,15345)|0); + $410 = (_strcmp($409,15653)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,15354)|0); + $413 = (_strcmp($412,15662)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,15362)|0); + $416 = (_strcmp($415,15670)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,15375)|0); + $419 = (_strcmp($418,15683)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,15389)|0); + $422 = (_strcmp($421,15697)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,15401)|0); + $425 = (_strcmp($424,15709)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,15410)|0); + $428 = (_strcmp($427,15718)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,15420)|0); + $431 = (_strcmp($430,15728)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,15432)|0); + $434 = (_strcmp($433,15740)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,15443)|0); + $437 = (_strcmp($436,15751)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,15451)|0); + $440 = (_strcmp($439,15759)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,15463)|0); + $443 = (_strcmp($442,15771)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,15478)|0); + $446 = (_strcmp($445,15786)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,15490)|0); + $449 = (_strcmp($448,15798)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,15504)|0); + $452 = (_strcmp($451,15812)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,15529)|0); + $455 = (_strcmp($454,15837)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,15546)|0); + $458 = (_strcmp($457,15854)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,15562)|0); + $461 = (_strcmp($460,15870)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,15578)|0); + $464 = (_strcmp($463,15886)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,15590)|0); + $467 = (_strcmp($466,15898)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,15602)|0); + $470 = (_strcmp($469,15910)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,15626)|0); + $473 = (_strcmp($472,15934)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,15639)|0); + $476 = (_strcmp($475,15947)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,15653)|0); + $479 = (_strcmp($478,15961)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,15675)|0); + $482 = (_strcmp($481,15983)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,15682)|0); + $485 = (_strcmp($484,15990)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,15698)|0); + $488 = (_strcmp($487,16006)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,15715)|0); + $491 = (_strcmp($490,16023)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,15732)|0); + $494 = (_strcmp($493,16040)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,15748)|0); + $497 = (_strcmp($496,16056)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,15764)|0); + $500 = (_strcmp($499,16072)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,15781)|0); + $503 = (_strcmp($502,16089)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,15795)|0); + $506 = (_strcmp($505,16103)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,15807)|0); + $509 = (_strcmp($508,16115)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,15818)|0); + $512 = (_strcmp($511,16126)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,15831)|0); + $515 = (_strcmp($514,16139)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,15841)|0); + $518 = (_strcmp($517,16149)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,15858)|0); + $521 = (_strcmp($520,16166)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,15870)|0); + $524 = (_strcmp($523,16178)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,15892)|0); + $527 = (_strcmp($526,16200)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,15912)|0); + $530 = (_strcmp($529,16220)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,15925)|0); + $533 = (_strcmp($532,16233)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,15947)|0); + $536 = (_strcmp($535,16255)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,15967)|0); + $539 = (_strcmp($538,16275)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,15984)|0); + $542 = (_strcmp($541,16292)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,16001)|0); + $545 = (_strcmp($544,16309)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,16021)|0); + $548 = (_strcmp($547,16329)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -33411,7 +33374,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (21476|0); + return (21780|0); } function ___stdio_close($0) { $0 = $0|0; @@ -33868,7 +33831,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((16138) + ($50)|0); + $49 = ((16446) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -33900,7 +33863,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((16138) + ($$0159)|0); + $60 = ((16446) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -34036,10 +33999,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (16394 + ($128)|0); + $129 = (16702 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((16138) + ($$1160169)|0); + $132 = ((16446) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -34061,7 +34024,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((16138) + ($$4163$be)|0); + $146 = ((16446) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -34112,7 +34075,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((16138) + ($$5$be)|0); + $178 = ((16446) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -34131,7 +34094,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((16138) + ($$1160169)|0); + $122 = ((16446) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -34153,7 +34116,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((16138) + ($$6$be)|0); + $197 = ((16446) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -34215,7 +34178,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((16138) + ($$7$be)|0); + $234 = ((16446) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -34234,7 +34197,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((16138) + ($$8)|0); + $238 = ((16446) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -34253,7 +34216,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((16138) + ($$9$be)|0); + $249 = ((16446) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -35020,7 +34983,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((16403 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((16711 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -35198,7 +35161,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 16867;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 17175;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -35219,7 +35182,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 16867;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 17175;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -35227,8 +35190,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 16867 : (16869); - $$$ = $238 ? $$ : (16868); + $$ = $240 ? 17175 : (17177); + $$$ = $238 ? $$ : (17176); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -35245,7 +35208,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 16867;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 17175;$242 = $167;$243 = $170; label = 66; break; } @@ -35258,7 +35221,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 16867;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 17175;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -35272,7 +35235,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 16877; + $271 = $270 ? $269 : 17185; $$1 = $271; label = 71; break; @@ -35312,7 +35275,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 16867;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 17175;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -35334,8 +35297,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (16867 + ($208)|0); - $$289 = $or$cond283 ? 16867 : $209; + $209 = (17175 + ($208)|0); + $$289 = $or$cond283 ? 17175 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -35356,7 +35319,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 16867;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 17175;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -35886,7 +35849,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (16915 + ($7)|0); + $9 = (17223 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -36244,14 +36207,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 16884; + $$0471 = $14;$$0520 = 1;$$0521 = 17192; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (16885) : (16890); - $$$ = $16 ? $$ : (16887); + $$ = $18 ? (17193) : (17198); + $$$ = $16 ? $$ : (17195); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -36350,7 +36313,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (16915 + ($80)|0); + $81 = (17223 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -36961,7 +36924,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,16931,1); + _out($0,17239,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -37042,7 +37005,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,16931,1); + _out($0,17239,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -37099,9 +37062,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 16903 : 16907; + $29 = $28 ? 17211 : 17215; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 18834 : 16911; + $31 = $28 ? 19142 : 17219; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -37311,7 +37274,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (16933 + ($$016)|0); + $3 = (17241 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -37322,7 +37285,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 17021;$$115 = 87; + $$01214 = 17329;$$115 = 87; label = 5; break; } else { @@ -37332,9 +37295,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 17021; + $$012$lcssa = 17329; } else { - $$01214 = 17021;$$115 = $$016; + $$01214 = 17329;$$115 = $$016; label = 5; } } @@ -37739,7 +37702,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (18825 + ($$0107127)|0); + $27 = (19133 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -37806,7 +37769,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (18834 + ($$2109125)|0); + $58 = (19142 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -40057,7 +40020,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 21540 : $3; + $$ = $5 ? 21844 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -40348,7 +40311,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(18838,$3,4)|0); + $memchr = (_memchr(19146,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -40437,7 +40400,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(18838,$4,4)|0); + $memchr = (_memchr(19146,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -40528,7 +40491,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(21480)>>2]|0; + $38 = HEAP32[(21784)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -40561,13 +40524,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((21544|0)); - return (21552|0); + ___lock((21848|0)); + return (21856|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((21544|0)); + ___unlock((21848|0)); return; } function _fclose($0) { @@ -42883,7 +42846,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 19112; + $2 = 19416; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -43138,7 +43101,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5389]|0; + $3 = HEAP32[5465]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -43157,22 +43120,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5389] = 0; + HEAP32[5465] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5389] = $10; + HEAP32[5465] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5389] = 0; + HEAP32[5465] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5389] = $13; + HEAP32[5465] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -43253,7 +43216,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5390]|0; + $8 = HEAP32[5466]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -43262,7 +43225,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (21600 + ($15<<2)|0); + $16 = (21904 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -43273,9 +43236,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5390] = $24; + HEAP32[5466] = $24; } else { - $25 = HEAP32[(21576)>>2]|0; + $25 = HEAP32[(21880)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -43306,7 +43269,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(21568)>>2]|0; + $37 = HEAP32[(21872)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -43340,7 +43303,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (21600 + ($68<<2)|0); + $69 = (21904 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -43351,10 +43314,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5390] = $77; + HEAP32[5466] = $77; $98 = $77; } else { - $78 = HEAP32[(21576)>>2]|0; + $78 = HEAP32[(21880)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -43387,22 +43350,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(21580)>>2]|0; + $92 = HEAP32[(21884)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (21600 + ($94<<2)|0); + $95 = (21904 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5390] = $100; + HEAP32[5466] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21576)>>2]|0; + $103 = HEAP32[(21880)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -43419,12 +43382,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(21568)>>2] = $84; - HEAP32[(21580)>>2] = $87; + HEAP32[(21872)>>2] = $84; + HEAP32[(21884)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(21564)>>2]|0; + $108 = HEAP32[(21868)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -43452,7 +43415,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21864 + ($132<<2)|0); + $133 = (22168 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -43492,7 +43455,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(21576)>>2]|0; + $155 = HEAP32[(21880)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -43587,7 +43550,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21864 + ($188<<2)|0); + $189 = (22168 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -43598,11 +43561,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(21564)>>2] = $194; + HEAP32[(21868)>>2] = $194; break L73; } } else { - $195 = HEAP32[(21576)>>2]|0; + $195 = HEAP32[(21880)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -43623,7 +43586,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(21576)>>2]|0; + $201 = HEAP32[(21880)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -43653,7 +43616,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(21576)>>2]|0; + $213 = HEAP32[(21880)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -43690,22 +43653,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(21580)>>2]|0; + $231 = HEAP32[(21884)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (21600 + ($233<<2)|0); + $234 = (21904 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5390] = $238; + HEAP32[5466] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21576)>>2]|0; + $241 = HEAP32[(21880)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -43722,8 +43685,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(21568)>>2] = $$0193$lcssa$i; - HEAP32[(21580)>>2] = $157; + HEAP32[(21872)>>2] = $$0193$lcssa$i; + HEAP32[(21884)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -43739,7 +43702,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(21564)>>2]|0; + $250 = HEAP32[(21868)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -43779,7 +43742,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21864 + ($$0358$i<<2)|0); + $278 = (22168 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -43871,7 +43834,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21864 + ($330<<2)|0); + $331 = (22168 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -43915,11 +43878,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(21568)>>2]|0; + $345 = HEAP32[(21872)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(21576)>>2]|0; + $348 = HEAP32[(21880)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -44016,7 +43979,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21864 + ($381<<2)|0); + $382 = (22168 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -44027,12 +43990,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(21564)>>2] = $387; + HEAP32[(21868)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(21576)>>2]|0; + $388 = HEAP32[(21880)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -44054,7 +44017,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(21576)>>2]|0; + $394 = HEAP32[(21880)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -44086,7 +44049,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(21576)>>2]|0; + $406 = HEAP32[(21880)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -44127,20 +44090,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (21600 + ($425<<2)|0); - $427 = HEAP32[5390]|0; + $426 = (21904 + ($425<<2)|0); + $427 = HEAP32[5466]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5390] = $431; + HEAP32[5466] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21576)>>2]|0; + $434 = HEAP32[(21880)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -44192,7 +44155,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21864 + ($$0361$i<<2)|0); + $464 = (22168 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -44204,7 +44167,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(21564)>>2] = $472; + HEAP32[(21868)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -44243,7 +44206,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(21576)>>2]|0; + $491 = HEAP32[(21880)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -44262,7 +44225,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21576)>>2]|0; + $498 = HEAP32[(21880)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -44295,16 +44258,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(21568)>>2]|0; + $506 = HEAP32[(21872)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21580)>>2]|0; + $509 = HEAP32[(21884)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(21580)>>2] = $511; - HEAP32[(21568)>>2] = $508; + HEAP32[(21884)>>2] = $511; + HEAP32[(21872)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -44314,8 +44277,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(21568)>>2] = 0; - HEAP32[(21580)>>2] = 0; + HEAP32[(21872)>>2] = 0; + HEAP32[(21884)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -44329,14 +44292,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(21572)>>2]|0; + $524 = HEAP32[(21876)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(21572)>>2] = $526; - $527 = HEAP32[(21584)>>2]|0; + HEAP32[(21876)>>2] = $526; + $527 = HEAP32[(21888)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(21584)>>2] = $528; + HEAP32[(21888)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -44347,23 +44310,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5508]|0; + $534 = HEAP32[5584]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(22040)>>2] = 4096; - HEAP32[(22036)>>2] = 4096; - HEAP32[(22044)>>2] = -1; - HEAP32[(22048)>>2] = -1; - HEAP32[(22052)>>2] = 0; - HEAP32[(22004)>>2] = 0; + HEAP32[(22344)>>2] = 4096; + HEAP32[(22340)>>2] = 4096; + HEAP32[(22348)>>2] = -1; + HEAP32[(22352)>>2] = -1; + HEAP32[(22356)>>2] = 0; + HEAP32[(22308)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5508] = $538; + HEAP32[5584] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(22040)>>2]|0; + $$pre$i212 = HEAP32[(22344)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -44376,10 +44339,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(22000)>>2]|0; + $546 = HEAP32[(22304)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(21992)>>2]|0; + $548 = HEAP32[(22296)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -44389,18 +44352,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(22004)>>2]|0; + $552 = HEAP32[(22308)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(21584)>>2]|0; + $555 = HEAP32[(21888)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (22008); + $$0$i$i = (22312); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -44458,7 +44421,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(22036)>>2]|0; + $569 = HEAP32[(22340)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -44468,13 +44431,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21992)>>2]|0; + $578 = HEAP32[(22296)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(22000)>>2]|0; + $582 = HEAP32[(22304)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -44520,7 +44483,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(22040)>>2]|0; + $601 = HEAP32[(22344)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -44545,9 +44508,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(22004)>>2]|0; + $611 = HEAP32[(22308)>>2]|0; $612 = $611 | 4; - HEAP32[(22004)>>2] = $612; + HEAP32[(22308)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -44583,35 +44546,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(21992)>>2]|0; + $626 = HEAP32[(22296)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(21992)>>2] = $627; - $628 = HEAP32[(21996)>>2]|0; + HEAP32[(22296)>>2] = $627; + $628 = HEAP32[(22300)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(21996)>>2] = $627; + HEAP32[(22300)>>2] = $627; } - $630 = HEAP32[(21584)>>2]|0; + $630 = HEAP32[(21888)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(21576)>>2]|0; + $632 = HEAP32[(21880)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(21576)>>2] = $$749$i; + HEAP32[(21880)>>2] = $$749$i; } - HEAP32[(22008)>>2] = $$749$i; - HEAP32[(22012)>>2] = $$723948$i; - HEAP32[(22020)>>2] = 0; - $635 = HEAP32[5508]|0; - HEAP32[(21596)>>2] = $635; - HEAP32[(21592)>>2] = -1; + HEAP32[(22312)>>2] = $$749$i; + HEAP32[(22316)>>2] = $$723948$i; + HEAP32[(22324)>>2] = 0; + $635 = HEAP32[5584]|0; + HEAP32[(21900)>>2] = $635; + HEAP32[(21896)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (21600 + ($636<<2)|0); + $637 = (21904 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -44634,18 +44597,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(21584)>>2] = $649; - HEAP32[(21572)>>2] = $650; + HEAP32[(21888)>>2] = $649; + HEAP32[(21876)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(22048)>>2]|0; - HEAP32[(21588)>>2] = $655; + $655 = HEAP32[(22352)>>2]|0; + HEAP32[(21892)>>2] = $655; } else { - $$024371$i = (22008); + $$024371$i = (22312); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -44677,7 +44640,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(21572)>>2]|0; + $671 = HEAP32[(21876)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -44688,30 +44651,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(21584)>>2] = $679; - HEAP32[(21572)>>2] = $681; + HEAP32[(21888)>>2] = $679; + HEAP32[(21876)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(22048)>>2]|0; - HEAP32[(21588)>>2] = $686; + $686 = HEAP32[(22352)>>2]|0; + HEAP32[(21892)>>2] = $686; break; } } } - $687 = HEAP32[(21576)>>2]|0; + $687 = HEAP32[(21880)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(21576)>>2] = $$749$i; + HEAP32[(21880)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (22008); + $$124470$i = (22312); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -44766,21 +44729,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(21572)>>2]|0; + $726 = HEAP32[(21876)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(21572)>>2] = $727; - HEAP32[(21584)>>2] = $721; + HEAP32[(21876)>>2] = $727; + HEAP32[(21888)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(21580)>>2]|0; + $730 = HEAP32[(21884)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(21568)>>2]|0; + $732 = HEAP32[(21872)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(21568)>>2] = $733; - HEAP32[(21580)>>2] = $721; + HEAP32[(21872)>>2] = $733; + HEAP32[(21884)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -44803,7 +44766,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (21600 + ($748<<2)|0); + $749 = (21904 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -44826,9 +44789,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5390]|0; + $759 = HEAP32[5466]|0; $760 = $759 & $758; - HEAP32[5390] = $760; + HEAP32[5466] = $760; break; } $761 = ($747|0)==($749|0); @@ -44941,7 +44904,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21864 + ($796<<2)|0); + $797 = (22168 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -44953,12 +44916,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(21564)>>2]|0; + $802 = HEAP32[(21868)>>2]|0; $803 = $802 & $801; - HEAP32[(21564)>>2] = $803; + HEAP32[(21868)>>2] = $803; break L314; } else { - $804 = HEAP32[(21576)>>2]|0; + $804 = HEAP32[(21880)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -44979,7 +44942,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(21576)>>2]|0; + $810 = HEAP32[(21880)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -45011,7 +44974,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(21576)>>2]|0; + $822 = HEAP32[(21880)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -45044,21 +45007,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (21600 + ($836<<2)|0); - $838 = HEAP32[5390]|0; + $837 = (21904 + ($836<<2)|0); + $838 = HEAP32[5466]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5390] = $842; + HEAP32[5466] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21576)>>2]|0; + $845 = HEAP32[(21880)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -45113,20 +45076,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21864 + ($$0296$i$i<<2)|0); + $875 = (22168 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(21564)>>2]|0; + $879 = HEAP32[(21868)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(21564)>>2] = $883; + HEAP32[(21868)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -45165,7 +45128,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(21576)>>2]|0; + $902 = HEAP32[(21880)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -45184,7 +45147,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21576)>>2]|0; + $909 = HEAP32[(21880)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -45211,7 +45174,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (22008); + $$0$i$i$i = (22312); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -45252,23 +45215,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(21584)>>2] = $946; - HEAP32[(21572)>>2] = $947; + HEAP32[(21888)>>2] = $946; + HEAP32[(21876)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(22048)>>2]|0; - HEAP32[(21588)>>2] = $952; + $952 = HEAP32[(22352)>>2]|0; + HEAP32[(21892)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(22008)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22008)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22008)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22008)+12>>2]|0; - HEAP32[(22008)>>2] = $$749$i; - HEAP32[(22012)>>2] = $$723948$i; - HEAP32[(22020)>>2] = 0; - HEAP32[(22016)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(22312)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22312)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22312)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22312)+12>>2]|0; + HEAP32[(22312)>>2] = $$749$i; + HEAP32[(22316)>>2] = $$723948$i; + HEAP32[(22324)>>2] = 0; + HEAP32[(22320)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -45297,20 +45260,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (21600 + ($968<<2)|0); - $970 = HEAP32[5390]|0; + $969 = (21904 + ($968<<2)|0); + $970 = HEAP32[5466]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5390] = $974; + HEAP32[5466] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21576)>>2]|0; + $977 = HEAP32[(21880)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -45362,19 +45325,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21864 + ($$0212$i$i<<2)|0); + $1007 = (22168 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21564)>>2]|0; + $1010 = HEAP32[(21868)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(21564)>>2] = $1014; + HEAP32[(21868)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -45413,7 +45376,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(21576)>>2]|0; + $1033 = HEAP32[(21880)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -45432,7 +45395,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21576)>>2]|0; + $1040 = HEAP32[(21880)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -45455,14 +45418,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(21572)>>2]|0; + $1048 = HEAP32[(21876)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(21572)>>2] = $1050; - $1051 = HEAP32[(21584)>>2]|0; + HEAP32[(21876)>>2] = $1050; + $1051 = HEAP32[(21888)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(21584)>>2] = $1052; + HEAP32[(21888)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -45505,7 +45468,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(21576)>>2]|0; + $3 = HEAP32[(21880)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -45538,7 +45501,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(21580)>>2]|0; + $19 = HEAP32[(21884)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -45553,7 +45516,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(21568)>>2] = $17; + HEAP32[(21872)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -45567,7 +45530,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (21600 + ($27<<2)|0); + $28 = (21904 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -45587,9 +45550,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5390]|0; + $37 = HEAP32[5466]|0; $38 = $37 & $36; - HEAP32[5390] = $38; + HEAP32[5466] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -45703,7 +45666,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21864 + ($74<<2)|0); + $75 = (22168 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -45713,14 +45676,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(21564)>>2]|0; + $80 = HEAP32[(21868)>>2]|0; $81 = $80 & $79; - HEAP32[(21564)>>2] = $81; + HEAP32[(21868)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(21576)>>2]|0; + $82 = HEAP32[(21880)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -45742,7 +45705,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(21576)>>2]|0; + $88 = HEAP32[(21880)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -45774,7 +45737,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(21576)>>2]|0; + $100 = HEAP32[(21880)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -45809,14 +45772,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(21584)>>2]|0; + $120 = HEAP32[(21888)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(21580)>>2]|0; + $122 = HEAP32[(21884)>>2]|0; if ($121) { - $123 = HEAP32[(21572)>>2]|0; + $123 = HEAP32[(21876)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(21572)>>2] = $124; - HEAP32[(21584)>>2] = $$1; + HEAP32[(21876)>>2] = $124; + HEAP32[(21888)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -45824,16 +45787,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(21580)>>2] = 0; - HEAP32[(21568)>>2] = 0; + HEAP32[(21884)>>2] = 0; + HEAP32[(21872)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(21568)>>2]|0; + $129 = HEAP32[(21872)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(21568)>>2] = $130; - HEAP32[(21580)>>2] = $113; + HEAP32[(21872)>>2] = $130; + HEAP32[(21884)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -45852,10 +45815,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (21600 + ($142<<2)|0); + $143 = (21904 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(21576)>>2]|0; + $145 = HEAP32[(21880)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -45873,9 +45836,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5390]|0; + $153 = HEAP32[5466]|0; $154 = $153 & $152; - HEAP32[5390] = $154; + HEAP32[5466] = $154; break; } $155 = ($141|0)==($143|0); @@ -45883,7 +45846,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(21576)>>2]|0; + $156 = HEAP32[(21880)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -45943,7 +45906,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(21576)>>2]|0; + $189 = HEAP32[(21880)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -45956,7 +45919,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21576)>>2]|0; + $169 = HEAP32[(21880)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -45987,7 +45950,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21864 + ($193<<2)|0); + $194 = (22168 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -45997,13 +45960,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(21564)>>2]|0; + $199 = HEAP32[(21868)>>2]|0; $200 = $199 & $198; - HEAP32[(21564)>>2] = $200; + HEAP32[(21868)>>2] = $200; break L108; } } else { - $201 = HEAP32[(21576)>>2]|0; + $201 = HEAP32[(21880)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -46024,7 +45987,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(21576)>>2]|0; + $207 = HEAP32[(21880)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -46054,7 +46017,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(21576)>>2]|0; + $219 = HEAP32[(21880)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -46075,10 +46038,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(21580)>>2]|0; + $226 = HEAP32[(21884)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(21568)>>2] = $135; + HEAP32[(21872)>>2] = $135; return; } else { $$2 = $135; @@ -46097,20 +46060,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (21600 + ($234<<2)|0); - $236 = HEAP32[5390]|0; + $235 = (21904 + ($234<<2)|0); + $236 = HEAP32[5466]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5390] = $240; + HEAP32[5466] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21576)>>2]|0; + $243 = HEAP32[(21880)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -46162,21 +46125,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21864 + ($$0396<<2)|0); + $273 = (22168 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(21564)>>2]|0; + $277 = HEAP32[(21868)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(21564)>>2] = $281; + HEAP32[(21868)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -46214,7 +46177,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(21576)>>2]|0; + $300 = HEAP32[(21880)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -46233,7 +46196,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21576)>>2]|0; + $307 = HEAP32[(21880)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -46255,12 +46218,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(21592)>>2]|0; + $314 = HEAP32[(21896)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(21592)>>2] = $315; + HEAP32[(21896)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (22016); + $$0212$in$i = (22320); } else { return; } @@ -46274,7 +46237,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(21592)>>2] = -1; + HEAP32[(21896)>>2] = -1; return; } function _realloc($0,$1) { @@ -46346,7 +46309,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(21576)>>2]|0; + $6 = HEAP32[(21880)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -46376,7 +46339,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(22040)>>2]|0; + $18 = HEAP32[(22344)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -46412,10 +46375,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(21584)>>2]|0; + $34 = HEAP32[(21888)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(21572)>>2]|0; + $36 = HEAP32[(21876)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -46431,15 +46394,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(21584)>>2] = $40; - HEAP32[(21572)>>2] = $39; + HEAP32[(21888)>>2] = $40; + HEAP32[(21876)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(21580)>>2]|0; + $46 = HEAP32[(21884)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(21568)>>2]|0; + $48 = HEAP32[(21872)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -46475,8 +46438,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(21568)>>2] = $storemerge1; - HEAP32[(21580)>>2] = $storemerge; + HEAP32[(21872)>>2] = $storemerge1; + HEAP32[(21884)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -46503,7 +46466,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (21600 + ($81<<2)|0); + $82 = (21904 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -46523,9 +46486,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5390]|0; + $91 = HEAP32[5466]|0; $92 = $91 & $90; - HEAP32[5390] = $92; + HEAP32[5466] = $92; break; } $93 = ($80|0)==($82|0); @@ -46634,7 +46597,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (21864 + ($128<<2)|0); + $129 = (22168 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -46644,13 +46607,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(21564)>>2]|0; + $134 = HEAP32[(21868)>>2]|0; $135 = $134 & $133; - HEAP32[(21564)>>2] = $135; + HEAP32[(21868)>>2] = $135; break L49; } } else { - $136 = HEAP32[(21576)>>2]|0; + $136 = HEAP32[(21880)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -46671,7 +46634,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(21576)>>2]|0; + $142 = HEAP32[(21880)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -46701,7 +46664,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(21576)>>2]|0; + $154 = HEAP32[(21880)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -46786,13 +46749,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(21576)>>2]|0; + $13 = HEAP32[(21880)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(21580)>>2]|0; + $15 = HEAP32[(21884)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -46807,7 +46770,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(21568)>>2] = $12; + HEAP32[(21872)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -46821,7 +46784,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (21600 + ($23<<2)|0); + $24 = (21904 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -46841,9 +46804,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5390]|0; + $33 = HEAP32[5466]|0; $34 = $33 & $32; - HEAP32[5390] = $34; + HEAP32[5466] = $34; $$1 = $11;$$1418 = $12; break; } @@ -46957,7 +46920,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (21864 + ($70<<2)|0); + $71 = (22168 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -46967,14 +46930,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(21564)>>2]|0; + $76 = HEAP32[(21868)>>2]|0; $77 = $76 & $75; - HEAP32[(21564)>>2] = $77; + HEAP32[(21868)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(21576)>>2]|0; + $78 = HEAP32[(21880)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -46996,7 +46959,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(21576)>>2]|0; + $84 = HEAP32[(21880)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -47028,7 +46991,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(21576)>>2]|0; + $96 = HEAP32[(21880)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -47047,7 +47010,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(21576)>>2]|0; + $108 = HEAP32[(21880)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -47058,14 +47021,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(21584)>>2]|0; + $114 = HEAP32[(21888)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(21580)>>2]|0; + $116 = HEAP32[(21884)>>2]|0; if ($115) { - $117 = HEAP32[(21572)>>2]|0; + $117 = HEAP32[(21876)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(21572)>>2] = $118; - HEAP32[(21584)>>2] = $$1; + HEAP32[(21876)>>2] = $118; + HEAP32[(21888)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -47073,16 +47036,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(21580)>>2] = 0; - HEAP32[(21568)>>2] = 0; + HEAP32[(21884)>>2] = 0; + HEAP32[(21872)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(21568)>>2]|0; + $123 = HEAP32[(21872)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(21568)>>2] = $124; - HEAP32[(21580)>>2] = $$1; + HEAP32[(21872)>>2] = $124; + HEAP32[(21884)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -47101,7 +47064,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (21600 + ($136<<2)|0); + $137 = (21904 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -47121,9 +47084,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5390]|0; + $146 = HEAP32[5466]|0; $147 = $146 & $145; - HEAP32[5390] = $147; + HEAP32[5466] = $147; break; } $148 = ($135|0)==($137|0); @@ -47232,7 +47195,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (21864 + ($183<<2)|0); + $184 = (22168 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -47242,13 +47205,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(21564)>>2]|0; + $189 = HEAP32[(21868)>>2]|0; $190 = $189 & $188; - HEAP32[(21564)>>2] = $190; + HEAP32[(21868)>>2] = $190; break L96; } } else { - $191 = HEAP32[(21576)>>2]|0; + $191 = HEAP32[(21880)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -47269,7 +47232,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(21576)>>2]|0; + $197 = HEAP32[(21880)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -47299,7 +47262,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(21576)>>2]|0; + $209 = HEAP32[(21880)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -47320,10 +47283,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(21580)>>2]|0; + $216 = HEAP32[(21884)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(21568)>>2] = $129; + HEAP32[(21872)>>2] = $129; return; } else { $$2 = $129; @@ -47342,20 +47305,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (21600 + ($224<<2)|0); - $226 = HEAP32[5390]|0; + $225 = (21904 + ($224<<2)|0); + $226 = HEAP32[5466]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5390] = $230; + HEAP32[5466] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(21576)>>2]|0; + $233 = HEAP32[(21880)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -47407,20 +47370,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (21864 + ($$0431<<2)|0); + $263 = (22168 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(21564)>>2]|0; + $267 = HEAP32[(21868)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(21564)>>2] = $271; + HEAP32[(21868)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -47459,7 +47422,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(21576)>>2]|0; + $290 = HEAP32[(21880)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -47477,7 +47440,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(21576)>>2]|0; + $297 = HEAP32[(21880)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/text/text_bmfont_ttf.png b/docs/examples/web/text/text_bmfont_ttf.png similarity index 100% rename from docs/examples/img/text/text_bmfont_ttf.png rename to docs/examples/web/text/text_bmfont_ttf.png diff --git a/docs/examples/web/text/text_bmfont_unordered.data b/docs/examples/web/text/text_bmfont_unordered.data index 2aa2870f3..f88ee5223 100644 Binary files a/docs/examples/web/text/text_bmfont_unordered.data and b/docs/examples/web/text/text_bmfont_unordered.data differ diff --git a/docs/examples/web/text/text_bmfont_unordered.js b/docs/examples/web/text/text_bmfont_unordered.js index 72d7c228d..a05b70464 100644 --- a/docs/examples/web/text/text_bmfont_unordered.js +++ b/docs/examples/web/text/text_bmfont_unordered.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 4531, "filename": "/resources/pixantiqua_0.png"}], "remote_package_size": 4531, "package_uuid": "7be1ef9c-79a3-4f1e-a4f7-142b22c69b54"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 21276, "filename": "/resources/pixantiqua.fnt"}, {"audio": 0, "start": 21276, "crunched": 0, "end": 25807, "filename": "/resources/pixantiqua_0.png"}], "remote_package_size": 25807, "package_uuid": "730801e1-ddc9-4d73-b269-3959ed95a750"}); })(); @@ -1779,8 +1779,8 @@ STATICTOP = STATIC_BASE + 25024; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,191,93,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,65,83,67,73,73,32,101,120,116,101,110,100,101,100,32,99,104,97,114,97,99,116,101,114,115,58,10,194,161,194,162,194,163,194,164,194,165,194,166,194,167,194,168,194,169,194,170,194,171,194,172,194,174,194,175,194,176,194,177,194,178,194,179,194,180,194,181,194,182,194,183,194,184,194,185,194,186,194,187,194,188,194,189,194,190,194,191,195,128,195,129,195,130,195,131,195,132,195,133,195,134,10,195,135,195,136,195,137,195,138,195,139,195,140,195,141,195,142,195,143,195,144,195,145,195,146,195,147,195,148,195,149,195,150,195,151,195,152,195,153,195,154,195,155,195,156,195,157,195,158,195,159,195,160,195,161,195,162,195,163,195,164,195,165,195,166,10,195,167,195,168,195,169,195,170,195,171,195,172,195,173,195,174,195,175,195,176,195,177,195,178,195,179,195,180,195,181,195,182,195,183,195,184,195,185,195,186,195,187,195,188,195,189,195,190,195,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,98,109,102,111,110,116,32,117,110,111,114,100,101,114,101,100,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,112,105,120,97,110,116,105,113,117,97,46,102,110,116,0,70,111,110,116,32,110,97,109,101,58,32,32,32,32,32,32,32,80,105,120,65,110,116,105,113,117,97,0,70,111,110,116,32,98,97,115,101,32,115,105,122,101,58,32,32,32,32,32,32,32,32,32,32,32,37,105,0,70,111,110,116,32,99,104,97,114,115,32,110,117,109,98,101,114,58,32,32,32,32,32,37,105,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,183,93,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,65,83,67,73,73,32,101,120,116,101,110,100,101,100,32,99,104,97,114,97,99,116,101,114,115,58,10,194,161,194,162,194,163,194,164,194,165,194,166,194,167,194,168,194,169,194,170,194,171,194,172,194,174,194,175,194,176,194,177,194,178,194,179,194,180,194,181,194,182,194,183,194,184,194,185,194,186,194,187,194,188,194,189,194,190,194,191,195,128,195,129,195,130,195,131,195,132,195,133,195,134,10,195,135,195,136,195,137,195,138,195,139,195,140,195,141,195,142,195,143,195,144,195,145,195,146,195,147,195,148,195,149,195,150,195,151,195,152,195,153,195,154,195,155,195,156,195,157,195,158,195,159,195,160,195,161,195,162,195,163,195,164,195,165,195,166,10,195,167,195,168,195,169,195,170,195,171,195,172,195,173,195,174,195,175,195,176,195,177,195,178,195,179,195,180,195,181,195,182,195,183,195,184,195,185,195,186,195,187,195,188,195,189,195,190,195,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,98,109,102,111,110,116,32,117,110,111,114,100,101,114,101,100,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,112,105,120,97,110,116,105,113,117,97,46,102,110,116,0,70,111,110,116,32,110,97,109,101,58,32,32,32,32,32,32,32,80,105,120,65,110,116,105,113,117,97,0,70,111,110,116,32,98,97,115,101,32,115,105,122,101,58,32,32,32,32,32,32,32,32,32,32,32,37,105,0,70,111,110,116,32,99,104,97,114,115,32,110,117,109,98,101,114,58,32,32,32,32,32,37,105,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10481,9 +10481,9 @@ function _main() { $0 = sp; _InitWindow(800,450,4612); _LoadSpriteFont($0,4673); - ;HEAP32[19424>>2]=HEAP32[$0>>2]|0;HEAP32[19424+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[19424+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[19424+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[19424+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[19424+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[19424+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[19424+28>>2]=HEAP32[$0+28>>2]|0; + ;HEAP32[19736>>2]=HEAP32[$0>>2]|0;HEAP32[19736+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[19736+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[19736+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[19736+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[19736+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[19736+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[19736+28>>2]=HEAP32[$0+28>>2]|0; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$font$byval_copy>>2]=HEAP32[19424>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[19424+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[19424+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[19424+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[19424+16>>2]|0;HEAP32[$font$byval_copy+20>>2]=HEAP32[19424+20>>2]|0;HEAP32[$font$byval_copy+24>>2]=HEAP32[19424+24>>2]|0;HEAP32[$font$byval_copy+28>>2]=HEAP32[19424+28>>2]|0; + ;HEAP32[$font$byval_copy>>2]=HEAP32[19736>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[19736+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[19736+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[19736+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[19736+16>>2]|0;HEAP32[$font$byval_copy+20>>2]=HEAP32[19736+20>>2]|0;HEAP32[$font$byval_copy+24>>2]=HEAP32[19736+24>>2]|0;HEAP32[$font$byval_copy+28>>2]=HEAP32[19736+28>>2]|0; _UnloadSpriteFont($font$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10521,7 +10521,7 @@ function _UpdateDrawFrame() { HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy8>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$1+3>>0]|0; _DrawText(4698,40,50,20,$$byval_copy8); - $12 = HEAP32[(19444)>>2]|0; + $12 = HEAP32[(19756)>>2]|0; HEAP32[$font$byval_copy>>2] = $12; $13 = (_FormatText(4726,$font$byval_copy)|0); HEAP8[$2>>0] = -126; @@ -10533,7 +10533,7 @@ function _UpdateDrawFrame() { HEAP8[$16>>0] = -1; ;HEAP8[$$byval_copy8>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$2+3>>0]|0; _DrawText($13,40,80,20,$$byval_copy8); - $17 = HEAP32[(19448)>>2]|0; + $17 = HEAP32[(19760)>>2]|0; HEAP32[$$byval_copy7>>2] = $17; $18 = (_FormatText(4755,$$byval_copy7)|0); HEAP8[$3>>0] = -126; @@ -10548,7 +10548,7 @@ function _UpdateDrawFrame() { HEAPF32[$4>>2] = 40.0; $22 = ((($4)) + 4|0); HEAPF32[$22>>2] = 180.0; - $23 = HEAP32[(19444)>>2]|0; + $23 = HEAP32[(19756)>>2]|0; $24 = (+($23|0)); HEAP8[$5>>0] = -66; $25 = ((($5)) + 1|0); @@ -10557,13 +10557,63 @@ function _UpdateDrawFrame() { HEAP8[$26>>0] = 55; $27 = ((($5)) + 3|0); HEAP8[$27>>0] = -1; - ;HEAP32[$font$byval_copy>>2]=HEAP32[19424>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[19424+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[19424+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[19424+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[19424+16>>2]|0;HEAP32[$font$byval_copy+20>>2]=HEAP32[19424+20>>2]|0;HEAP32[$font$byval_copy+24>>2]=HEAP32[19424+24>>2]|0;HEAP32[$font$byval_copy+28>>2]=HEAP32[19424+28>>2]|0; + ;HEAP32[$font$byval_copy>>2]=HEAP32[19736>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[19736+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[19736+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[19736+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[19736+16>>2]|0;HEAP32[$font$byval_copy+20>>2]=HEAP32[19736+20>>2]|0;HEAP32[$font$byval_copy+24>>2]=HEAP32[19736+24>>2]|0;HEAP32[$font$byval_copy+28>>2]=HEAP32[19736+28>>2]|0; ;HEAP32[$$byval_copy7>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$4+4>>2]|0; ;HEAP8[$$byval_copy8>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$5+3>>0]|0; _DrawTextEx($font$byval_copy,4356,$$byval_copy7,$24,0,$$byval_copy8); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10663,13 +10713,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11279,7 +11322,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4865] = $2; + HEAP32[4943] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11292,7 +11335,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 19152; + $95 = 19464; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11305,48 +11348,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 19192; + $106 = 19504; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4798]; - $111 = +HEAPF32[4788]; + $110 = +HEAPF32[4876]; + $111 = +HEAPF32[4866]; $112 = $110 - $111; - HEAPF32[4800] = $112; - $113 = +HEAPF32[(19196)>>2]; - $114 = +HEAPF32[(19156)>>2]; + HEAPF32[4878] = $112; + $113 = +HEAPF32[(19508)>>2]; + $114 = +HEAPF32[(19468)>>2]; $115 = $113 - $114; - HEAPF32[(19204)>>2] = $115; - HEAP32[4864] = 4; + HEAPF32[(19516)>>2] = $115; + HEAP32[4942] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19184+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19520>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19520+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4870] = $116; - $117 = 19184; + HEAPF32[4948] = $116; + $117 = 19496; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 19152; + $123 = 19464; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 19208; + $127 = 19520; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 19192; + $133 = 19504; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11359,7 +11402,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 19184; + $144 = 19496; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11372,27 +11415,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 19208; + $155 = 19520; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4802]; - $160 = +HEAPF32[4796]; + $159 = +HEAPF32[4880]; + $160 = +HEAPF32[4874]; $161 = $159 - $160; - HEAPF32[4800] = $161; - $162 = +HEAPF32[(19212)>>2]; - $163 = +HEAPF32[(19188)>>2]; + HEAPF32[4878] = $161; + $162 = +HEAPF32[(19524)>>2]; + $163 = +HEAPF32[(19500)>>2]; $164 = $162 - $163; - HEAPF32[(19204)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19184+4>>2]|0; + HEAPF32[(19516)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19464>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19464+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19496+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19192>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19192+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19504>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19504+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19520>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19520+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11404,31 +11447,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19184+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19520>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19520+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4870]; + $170 = +HEAPF32[4948]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4864] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19184+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; + HEAP32[4942] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19520>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19520+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4871] = $174; + HEAPF32[4949] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4870] = 0.0; - HEAPF32[4871] = 0.0; - HEAPF32[4800] = 0.0; - HEAPF32[(19204)>>2] = 0.0; - HEAP32[4865] = 0; - HEAP32[4864] = 0; + HEAPF32[4948] = 0.0; + HEAPF32[4949] = 0.0; + HEAPF32[4878] = 0.0; + HEAPF32[(19516)>>2] = 0.0; + HEAP32[4943] = 0; + HEAP32[4942] = 0; STACKTOP = sp;return; break; } @@ -11438,22 +11481,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4866]|0; + $6 = HEAP32[4944]|0; $7 = (($6) + 1)|0; - HEAP32[4866] = $7; - $8 = HEAP32[4864]|0; + HEAP32[4944] = $7; + $8 = HEAP32[4942]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19464>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19464+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4864] = 2; - HEAP32[4866] = 0; + HEAP32[4942] = 2; + HEAP32[4944] = 0; } else { label = 6; } @@ -11461,8 +11504,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4866] = 1; - HEAP32[4864] = 1; + HEAP32[4944] = 1; + HEAP32[4942] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11471,19 +11514,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 19152; + $21 = 19464; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 19160; + $25 = 19472; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 19168; + $29 = 19480; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11492,13 +11535,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[2] = $34; - HEAPF32[4794] = 0.0; - HEAPF32[(19180)>>2] = 0.0; + HEAPF32[4872] = 0.0; + HEAPF32[(19492)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4864]|0; + $35 = HEAP32[4942]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11508,19 +11551,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 19168; + $44 = 19480; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19168+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19464>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19464+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19480>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19480+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4867] = $49; - HEAP32[4868] = 0; + HEAPF32[4945] = $49; + HEAP32[4946] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[2]|0; @@ -11528,11 +11571,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19168+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19464>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19464+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19480>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19480+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4869] = $56; + HEAPF32[4947] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11563,22 +11606,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4867] = 0.0; - HEAPF32[4869] = 0.0; + HEAPF32[4945] = 0.0; + HEAPF32[4947] = 0.0; $$sink10 = 0; } - HEAP32[4864] = $$sink10; - HEAPF32[4790] = 0.0; - HEAPF32[(19164)>>2] = 0.0; - HEAP32[4865] = 0; + HEAP32[4942] = $$sink10; + HEAPF32[4868] = 0.0; + HEAPF32[(19476)>>2] = 0.0; + HEAP32[4943] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4868]|0; + $65 = HEAP32[4946]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4868] = 1; + HEAP32[4946] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11587,31 +11630,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 19184; + $74 = 19496; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4864]|0; + $78 = HEAP32[4942]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19184+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19464>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19464+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19496+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4864] = 8; + HEAP32[4942] = 8; } } - $82 = +HEAPF32[4796]; - $83 = +HEAPF32[4790]; + $82 = +HEAPF32[4874]; + $83 = +HEAPF32[4868]; $84 = $82 - $83; - HEAPF32[4794] = $84; - $85 = +HEAPF32[(19188)>>2]; - $86 = +HEAPF32[(19164)>>2]; + HEAPF32[4872] = $84; + $85 = +HEAPF32[(19500)>>2]; + $86 = +HEAPF32[(19476)>>2]; $87 = $85 - $86; - HEAPF32[(19180)>>2] = $87; + HEAPF32[(19492)>>2] = $87; STACKTOP = sp;return; break; } @@ -11620,58 +11663,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4864]|0; + $0 = HEAP32[4942]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4865]|0; + $2 = HEAP32[4943]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4864] = 4; + HEAP32[4942] = 4; } - $4 = HEAP32[4864]|0; + $4 = HEAP32[4942]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11684,14 +11688,14 @@ function _UpdateGestures() { return; } } - HEAP32[4864] = 0; + HEAP32[4942] = 0; return; } function _GetMousePosition($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 = 19216; + $1 = 19528; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11708,13 +11712,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4874]|0; + $0 = HEAP32[4952]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4873]|0; + $0 = HEAP32[4951]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11726,7 +11730,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4781,$vararg_buffer); - HEAP32[4876] = $2; + HEAP32[4954] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11739,15 +11743,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4810|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4874]|0; + $3 = HEAP32[4952]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4804] = $5; - $6 = HEAP32[4873]|0; + HEAPF32[4882] = $5; + $6 = HEAP32[4951]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(19220)>>2] = $8; - $9 = HEAP32[4877]|0; + HEAPF32[(19532)>>2] = $8; + $9 = HEAP32[4955]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11766,11 +11770,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[19256>>0]=HEAP8[9339>>0]|0;HEAP8[19256+1>>0]=HEAP8[9339+1>>0]|0;HEAP8[19256+2>>0]=HEAP8[9339+2>>0]|0;HEAP8[19256+3>>0]=HEAP8[9339+3>>0]|0;HEAP8[19256+4>>0]=HEAP8[9339+4>>0]|0;HEAP8[19256+5>>0]=HEAP8[9339+5>>0]|0;HEAP8[19256+6>>0]=HEAP8[9339+6>>0]|0; + ;HEAP8[19568>>0]=HEAP8[9339>>0]|0;HEAP8[19568+1>>0]=HEAP8[9339+1>>0]|0;HEAP8[19568+2>>0]=HEAP8[9339+2>>0]|0;HEAP8[19568+3>>0]=HEAP8[9339+3>>0]|0;HEAP8[19568+4>>0]=HEAP8[9339+4>>0]|0;HEAP8[19568+5>>0]=HEAP8[9339+5>>0]|0;HEAP8[19568+6>>0]=HEAP8[9339+6>>0]|0; break; } case 1: { - $3 = 19256; + $3 = 19568; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11779,11 +11783,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=19256; src=9346; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=19568; src=9346; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 19256; + $7 = 19568; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11794,16 +11798,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(19256,$1)|0); - $strlen = (_strlen(19256)|0); - $endptr = (19256 + ($strlen)|0); + (_strcat(19568,$1)|0); + $strlen = (_strlen(19568)|0); + $endptr = (19568 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(19256,$2)|0); + (_vprintf(19568,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11835,22 +11839,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4874] = $0; - HEAP32[4873] = $1; + HEAP32[4952] = $0; + HEAP32[4951] = $1; _MatrixIdentity($2); - dest=19584; 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)); + dest=19896; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5481,$vararg_buffer); } - $6 = HEAP32[4874]|0; - HEAP32[4912] = $6; - $7 = HEAP32[4873]|0; - HEAP32[4913] = $7; + $6 = HEAP32[4952]|0; + HEAP32[4990] = $6; + $7 = HEAP32[4951]|0; + HEAP32[4991] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[22320]|0; + $8 = HEAP8[22632]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11858,13 +11862,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[22320]|0; + $11 = HEAP8[22632]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[22320]|0; + $14 = HEAP8[22632]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -11886,18 +11890,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4914]|0; + $21 = HEAP32[4992]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4874]|0; - $48 = HEAP32[4873]|0; - $49 = HEAP32[4876]|0; + $47 = HEAP32[4952]|0; + $48 = HEAP32[4951]|0; + $49 = HEAP32[4954]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4872] = $50; - $51 = HEAP32[4874]|0; - HEAP32[4915] = $51; - $52 = HEAP32[4873]|0; - HEAP32[4916] = $52; + HEAP32[4950] = $50; + $51 = HEAP32[4952]|0; + HEAP32[4993] = $51; + $52 = HEAP32[4951]|0; + HEAP32[4994] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11906,9 +11910,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4874]|0; + $27 = HEAP32[4952]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4873]|0; + $29 = HEAP32[4951]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -11930,25 +11934,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4912] = $31; - HEAP32[4913] = $34; + HEAP32[4990] = $31; + HEAP32[4991] = $34; } } while(0); - $38 = HEAP32[4912]|0; - $39 = HEAP32[4913]|0; + $38 = HEAP32[4990]|0; + $39 = HEAP32[4991]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5532,$vararg_buffer3); - $40 = HEAP32[4912]|0; - $41 = HEAP32[4913]|0; + $40 = HEAP32[4990]|0; + $41 = HEAP32[4991]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4912]|0; - $43 = HEAP32[4913]|0; - $44 = HEAP32[4876]|0; + $42 = HEAP32[4990]|0; + $43 = HEAP32[4991]|0; + $44 = HEAP32[4954]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4872] = $46; + HEAP32[4950] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -11957,60 +11961,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5570,$vararg_buffer6); } else { _TraceLog(0,5603,$vararg_buffer8); - $55 = HEAP32[4915]|0; - $56 = HEAP32[4916]|0; + $55 = HEAP32[4993]|0; + $56 = HEAP32[4994]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5643,$vararg_buffer10); - $57 = HEAP32[4874]|0; - $58 = HEAP32[4873]|0; + $57 = HEAP32[4952]|0; + $58 = HEAP32[4951]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5664,$vararg_buffer14); - $59 = HEAP32[4917]|0; - $60 = HEAP32[4918]|0; + $59 = HEAP32[4995]|0; + $60 = HEAP32[4996]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5685,$vararg_buffer18); } - $61 = HEAP32[4872]|0; + $61 = HEAP32[4950]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4872]|0; + $62 = HEAP32[4950]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4872]|0; + $63 = HEAP32[4950]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4872]|0; + $64 = HEAP32[4950]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4872]|0; + $65 = HEAP32[4950]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4872]|0; + $66 = HEAP32[4950]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4872]|0; + $67 = HEAP32[4950]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4872]|0; + $68 = HEAP32[4950]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4872]|0; + $69 = HEAP32[4950]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[22320]|0; + $70 = HEAP8[22632]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4874]|0; - $74 = HEAP32[4873]|0; + $73 = HEAP32[4952]|0; + $74 = HEAP32[4951]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4915]|0; - $76 = HEAP32[4917]|0; + $75 = HEAP32[4993]|0; + $76 = HEAP32[4995]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4916]|0; - $80 = HEAP32[4918]|0; + $79 = HEAP32[4994]|0; + $80 = HEAP32[4996]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12029,18 +12033,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5710,$vararg_buffer22); - $73 = HEAP32[4874]|0; - $74 = HEAP32[4873]|0; + $73 = HEAP32[4952]|0; + $74 = HEAP32[4951]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4915]|0; - $76 = HEAP32[4917]|0; + $75 = HEAP32[4993]|0; + $76 = HEAP32[4995]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4916]|0; - $80 = HEAP32[4918]|0; + $79 = HEAP32[4994]|0; + $80 = HEAP32[4996]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12068,7 +12072,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(19552)>>2] = 224; + HEAP32[(19864)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12109,27 +12113,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[19528>>2]=HEAP32[$1>>2]|0;HEAP32[19528+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19528+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19528+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19528+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[19840>>2]=HEAP32[$1>>2]|0;HEAP32[19840+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19840+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19840+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19840+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(19552)>>2]|0; + $5 = HEAP32[(19864)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(19556)>>2] = $7; + HEAP32[(19868)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19548)>>2] = $23; - $24 = HEAP32[4882]|0; + HEAP32[(19860)>>2] = $23; + $24 = HEAP32[4960]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,5005,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(19532)>>2]|0; - $10 = HEAP32[(19552)>>2]|0; - $11 = HEAP32[(19556)>>2]|0; + $9 = HEAP32[(19844)>>2]|0; + $10 = HEAP32[(19864)>>2]|0; + $11 = HEAP32[(19868)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12178,8 +12182,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19548)>>2] = $23; - $24 = HEAP32[4882]|0; + HEAP32[(19860)>>2] = $23; + $24 = HEAP32[4960]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,5005,$vararg_buffer); STACKTOP = sp;return; @@ -12190,7 +12194,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2406] = $1; + HEAPF64[2445] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12349,7 +12353,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 19232; + $31 = 19544; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12362,7 +12366,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (19240); + $42 = (19552); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12418,7 +12422,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (19512 + ($10<<2)|0); + $11 = (19824 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12432,7 +12436,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2403] = $$; + HEAPF64[2442] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12444,7 +12448,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4877] = 0; + HEAP32[4955] = 0; return; } function _GetTime() { @@ -13020,7 +13024,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4890]|0; + $6 = HEAP32[4968]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13030,7 +13034,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4891]|0; + $9 = HEAP32[4969]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13039,7 +13043,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4892]|0; + $12 = HEAP32[4970]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13049,7 +13053,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4893]|0; + $15 = HEAP32[4971]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13059,7 +13063,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4894]|0; + $18 = HEAP32[4972]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13103,7 +13107,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4890]|0; + $22 = HEAP32[4968]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13111,7 +13115,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4890]|0; + $24 = HEAP32[4968]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13119,7 +13123,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4890]|0; + $26 = HEAP32[4968]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13127,7 +13131,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4890]|0; + $28 = HEAP32[4968]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13135,7 +13139,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4891]|0; + $30 = HEAP32[4969]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13143,7 +13147,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4892]|0; + $32 = HEAP32[4970]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13151,7 +13155,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4892]|0; + $34 = HEAP32[4970]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13159,7 +13163,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4893]|0; + $36 = HEAP32[4971]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13167,7 +13171,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4893]|0; + $38 = HEAP32[4971]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13175,7 +13179,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4894]|0; + $40 = HEAP32[4972]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13183,7 +13187,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4894]|0; + $42 = HEAP32[4972]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13195,7 +13199,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4895]|0; + $44 = HEAP32[4973]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13541,20 +13545,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4874]|0; + $3 = HEAP32[4952]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4873]|0; + $5 = HEAP32[4951]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4915] = $3; - HEAP32[4916] = $5; - HEAP32[4917] = 0; - HEAP32[4918] = 0; + HEAP32[4993] = $3; + HEAP32[4994] = $5; + HEAP32[4995] = 0; + HEAP32[4996] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13568,9 +13572,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4874]|0; + $35 = HEAP32[4952]|0; $36 = (+($35|0)); - $37 = HEAP32[4873]|0; + $37 = HEAP32[4951]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13578,26 +13582,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4915] = $45; - HEAP32[4916] = $37; + HEAP32[4993] = $45; + HEAP32[4994] = $37; $46 = (($45) - ($35))|0; - HEAP32[4917] = $46; + HEAP32[4995] = $46; $$sink1 = 0; } else { - HEAP32[4915] = $35; + HEAP32[4993] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4916] = $42; - HEAP32[4917] = 0; + HEAP32[4994] = $42; + HEAP32[4995] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4918] = $$sink1; + HEAP32[4996] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4873]|0; + $7 = HEAP32[4951]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13607,11 +13611,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,9092,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4874]|0; + $9 = HEAP32[4952]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4873]|0; + $13 = HEAP32[4951]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13619,33 +13623,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4915] = $23; - HEAP32[4916] = $1; + HEAP32[4993] = $23; + HEAP32[4994] = $1; $24 = (($0) - ($23))|0; - HEAP32[4917] = $24; + HEAP32[4995] = $24; $$sink = 0; } else { - HEAP32[4915] = $0; - $17 = HEAP32[4873]|0; + HEAP32[4993] = $0; + $17 = HEAP32[4951]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4916] = $20; - HEAP32[4917] = 0; + HEAP32[4994] = $20; + HEAP32[4995] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4918] = $$sink; - $25 = HEAP32[4915]|0; + HEAP32[4996] = $$sink; + $25 = HEAP32[4993]|0; $26 = (+($25|0)); - $27 = HEAP32[4874]|0; + $27 = HEAP32[4952]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=19584; 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)); - HEAP32[4915] = $0; - HEAP32[4916] = $1; + dest=19896; 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)); + HEAP32[4993] = $0; + HEAP32[4994] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13667,10 +13671,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4874] = $1; - HEAP32[4873] = $2; - HEAP32[4915] = $1; - HEAP32[4916] = $2; + HEAP32[4952] = $1; + HEAP32[4951] = $2; + HEAP32[4993] = $1; + HEAP32[4994] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13697,7 +13701,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (22327 + ($1)|0); + $9 = (22639 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13718,7 +13722,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (22321 + ($1)|0); + $7 = (22633 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13797,7 +13801,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 19232; + $15 = 19544; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13832,7 +13836,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5288] = $3; + HEAP32[5366] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13842,7 +13846,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5287] = $$sink; + HEAP32[5365] = $$sink; return; } function _rlglInit($0,$1) { @@ -13923,18 +13927,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5842)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4953] = 1; + HEAP32[5031] = 1; $27 = (_eglGetProcAddress((5869|0))|0); - HEAP32[4954] = $27; + HEAP32[5032] = $27; $28 = (_eglGetProcAddress((5890|0))|0); - HEAP32[4955] = $28; + HEAP32[5033] = $28; $29 = (_eglGetProcAddress((5911|0))|0); - HEAP32[4956] = $29; + HEAP32[5034] = $29; } $30 = (_strcmp($24,5935)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4895] = 1; + HEAP32[4973] = 1; } $32 = (_strcmp($24,5955)|0); $33 = ($32|0)==(0); @@ -13956,7 +13960,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4890] = 1; + HEAP32[4968] = 1; } $39 = (_strcmp($24,6060)|0); $40 = ($39|0)==(0); @@ -13972,35 +13976,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4891] = 1; + HEAP32[4969] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,6129)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4892] = 1; + HEAP32[4970] = 1; } $47 = (_strcmp($44,6154)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4893] = 1; + HEAP32[4971] = 1; } $49 = (_strcmp($44,6187)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4894] = 1; + HEAP32[4972] = 1; } $51 = (_strcmp($44,6223)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4957] = 1; - _glGetFloatv(34047,(19832|0)); + HEAP32[5035] = 1; + _glGetFloatv(34047,(20144|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,6257)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4959] = 1; + HEAP32[5037] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14011,61 +14015,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4953]|0; + $21 = HEAP32[5031]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,6360,$vararg_buffer15); } else { _TraceLog(0,6285,$vararg_buffer13); } - $57 = HEAP32[4895]|0; + $57 = HEAP32[4973]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6496,$vararg_buffer19); } else { _TraceLog(0,6421,$vararg_buffer17); } - $59 = HEAP32[4890]|0; + $59 = HEAP32[4968]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6588,$vararg_buffer21); } - $61 = HEAP32[4891]|0; + $61 = HEAP32[4969]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6634,$vararg_buffer23); } - $63 = HEAP32[4892]|0; + $63 = HEAP32[4970]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6681,$vararg_buffer25); } - $65 = HEAP32[4893]|0; + $65 = HEAP32[4971]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6732,$vararg_buffer27); } - $67 = HEAP32[4894]|0; + $67 = HEAP32[4972]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6779,$vararg_buffer29); } - $69 = HEAP32[4957]|0; + $69 = HEAP32[5035]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4958]; + $71 = +HEAPF32[5036]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6826,$vararg_buffer31); } - $73 = HEAP32[4959]|0; + $73 = HEAP32[5037]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6892,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4960] = $75; + HEAP32[5038] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6996,$vararg_buffer39); @@ -14074,14 +14078,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6945,$vararg_buffer36); } _LoadDefaultShader($2); - dest=19844; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19900; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20156; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20212; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4989] = $77; + HEAP32[5067] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4989]|0; + $79 = HEAP32[5067]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14094,7 +14098,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4990] = $78; + HEAP32[5068] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14109,48 +14113,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4991] = 1; - $85 = HEAP32[4960]|0; + HEAP32[5069] = 1; + $85 = HEAP32[5038]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4992] = 4; + HEAP32[5070] = 4; _MatrixIdentity($4); - dest=19972; src=$4; 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)); + dest=20284; src=$4; 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)); _MatrixIdentity($4); - dest=(20036); src=$4; 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)); + dest=(20348); src=$4; 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)); _MatrixIdentity($4); - dest=(20100); src=$4; 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)); + dest=(20412); src=$4; 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)); _MatrixIdentity($4); - dest=(20164); src=$4; 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)); + dest=(20476); src=$4; 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)); _MatrixIdentity($4); - dest=(20228); src=$4; 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)); + dest=(20540); src=$4; 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)); _MatrixIdentity($4); - dest=(20292); src=$4; 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)); + dest=(20604); src=$4; 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)); _MatrixIdentity($4); - dest=(20356); src=$4; 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)); + dest=(20668); src=$4; 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)); _MatrixIdentity($4); - dest=(20420); src=$4; 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)); + dest=(20732); src=$4; 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)); _MatrixIdentity($4); - dest=(20484); src=$4; 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)); + dest=(20796); src=$4; 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)); _MatrixIdentity($4); - dest=(20548); src=$4; 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)); + dest=(20860); src=$4; 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)); _MatrixIdentity($4); - dest=(20612); src=$4; 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)); + dest=(20924); src=$4; 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)); _MatrixIdentity($4); - dest=(20676); src=$4; 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)); + dest=(20988); src=$4; 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)); _MatrixIdentity($4); - dest=(20740); src=$4; 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)); + dest=(21052); src=$4; 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)); _MatrixIdentity($4); - dest=(20804); src=$4; 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)); + dest=(21116); src=$4; 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)); _MatrixIdentity($4); - dest=(20868); src=$4; 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)); + dest=(21180); src=$4; 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)); _MatrixIdentity($4); - dest=(20932); src=$4; 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)); + dest=(21244); src=$4; 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)); _MatrixIdentity($5); - dest=19680; src=$5; 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)); + dest=19992; src=$5; 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)); _MatrixIdentity($6); - dest=19744; src=$6; 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)); - HEAP32[4919] = 19744; + dest=20056; src=$6; 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)); + HEAP32[4997] = 20056; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14161,21 +14165,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5249] = $0; - HEAP32[5250] = $1; + HEAP32[5327] = $0; + HEAP32[5328] = $1; _TraceLog(0,7035,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4917]|0; + $0 = HEAP32[4995]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4918]|0; + $2 = HEAP32[4996]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4915]|0; + $4 = HEAP32[4993]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4916]|0; + $6 = HEAP32[4994]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14186,12 +14190,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 19680; + $modelview$sink = 19992; label = 3; break; } case 5888: { - $modelview$sink = 19744; + $modelview$sink = 20056; label = 3; break; } @@ -14199,9 +14203,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4919] = $modelview$sink; + HEAP32[4997] = $modelview$sink; } - HEAP32[4952] = $0; + HEAP32[5030] = $0; return; } function _rlLoadIdentity() { @@ -14209,7 +14213,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4919]|0; + $1 = HEAP32[4997]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14230,7 +14234,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4919]|0; + $8 = HEAP32[4997]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14327,15 +14331,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(21016)>>2] = $0; + HEAP32[(21328)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(21024)>>2] = $1; - HEAP32[(21020)>>2] = 0; - HEAP32[(21028)>>2] = 0; + HEAP32[(21336)>>2] = $1; + HEAP32[(21332)>>2] = 0; + HEAP32[(21340)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(21024)>>2]|0; + $2 = HEAP32[(21336)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14346,19 +14350,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5251] = 0; - HEAP32[(21012)>>2] = 0; - HEAP32[(21008)>>2] = 0; + HEAP32[5329] = 0; + HEAP32[(21324)>>2] = 0; + HEAP32[(21320)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(21064)>>2] = $5; + HEAP32[(21376)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(21072)>>2] = $6; - HEAP32[(21068)>>2] = 0; - HEAP32[(21076)>>2] = 0; + HEAP32[(21384)>>2] = $6; + HEAP32[(21380)>>2] = 0; + HEAP32[(21388)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(21072)>>2]|0; + $7 = HEAP32[(21384)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14369,24 +14373,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5263] = 0; - HEAP32[(21060)>>2] = 0; - HEAP32[(21056)>>2] = 0; + HEAP32[5341] = 0; + HEAP32[(21372)>>2] = 0; + HEAP32[(21368)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(21112)>>2] = $10; + HEAP32[(21424)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(21116)>>2] = $11; + HEAP32[(21428)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(21120)>>2] = $12; + HEAP32[(21432)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(21124)>>2] = $13; - $14 = HEAP32[(21112)>>2]|0; + HEAP32[(21436)>>2] = $13; + $14 = HEAP32[(21424)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(21116)>>2]|0; + $15 = HEAP32[(21428)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(21120)>>2]|0; + $17 = HEAP32[(21432)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14397,7 +14401,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(21124)>>2]|0; + $16 = HEAP32[(21436)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14434,140 +14438,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5275] = 0; - HEAP32[(21104)>>2] = 0; - HEAP32[(21108)>>2] = 0; + HEAP32[5353] = 0; + HEAP32[(21416)>>2] = 0; + HEAP32[(21420)>>2] = 0; _TraceLog(0,7082,$vararg_buffer); - $20 = HEAP32[4953]|0; + $20 = HEAP32[5031]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4954]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(21032)); - $44 = HEAP32[4955]|0; - $45 = HEAP32[(21032)>>2]|0; + $43 = HEAP32[5032]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(21344)); + $44 = HEAP32[5033]|0; + $45 = HEAP32[(21344)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((21036)|0)); - $46 = HEAP32[(21036)>>2]|0; + _glGenBuffers(2,((21348)|0)); + $46 = HEAP32[(21348)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(21016)>>2]|0; + $47 = HEAP32[(21328)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(19904)>>2]|0; + $48 = HEAP32[(20216)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(19904)>>2]|0; + $49 = HEAP32[(20216)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((21040)|0)); - $50 = HEAP32[(21040)>>2]|0; + _glGenBuffers(2,((21352)|0)); + $50 = HEAP32[(21352)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(21024)>>2]|0; + $51 = HEAP32[(21336)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(19924)>>2]|0; + $52 = HEAP32[(20236)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(19924)>>2]|0; + $53 = HEAP32[(20236)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4953]|0; + $54 = HEAP32[5031]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(21036)>>2]|0; - $58 = HEAP32[(21040)>>2]|0; + $57 = HEAP32[(21348)>>2]|0; + $58 = HEAP32[(21352)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,7220,$vararg_buffer3); } else { - $56 = HEAP32[(21032)>>2]|0; + $56 = HEAP32[(21344)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,7155,$vararg_buffer1); } - $59 = HEAP32[4953]|0; + $59 = HEAP32[5031]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4954]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(21080)); - $62 = HEAP32[4955]|0; - $63 = HEAP32[(21080)>>2]|0; + $61 = HEAP32[5032]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(21392)); + $62 = HEAP32[5033]|0; + $63 = HEAP32[(21392)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((21084)|0)); - $64 = HEAP32[(21084)>>2]|0; + _glGenBuffers(1,((21396)|0)); + $64 = HEAP32[(21396)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(21064)>>2]|0; + $65 = HEAP32[(21376)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(19904)>>2]|0; + $66 = HEAP32[(20216)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(19904)>>2]|0; + $67 = HEAP32[(20216)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((21088)|0)); - $68 = HEAP32[(21088)>>2]|0; + _glGenBuffers(1,((21400)|0)); + $68 = HEAP32[(21400)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(21072)>>2]|0; + $69 = HEAP32[(21384)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(19924)>>2]|0; + $70 = HEAP32[(20236)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(19924)>>2]|0; + $71 = HEAP32[(20236)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4953]|0; + $72 = HEAP32[5031]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(21084)>>2]|0; - $76 = HEAP32[(21088)>>2]|0; + $75 = HEAP32[(21396)>>2]|0; + $76 = HEAP32[(21400)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,7366,$vararg_buffer10); } else { - $74 = HEAP32[(21080)>>2]|0; + $74 = HEAP32[(21392)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,7297,$vararg_buffer7); } - $77 = HEAP32[4953]|0; + $77 = HEAP32[5031]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4954]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(21128)); - $80 = HEAP32[4955]|0; - $81 = HEAP32[(21128)>>2]|0; + $79 = HEAP32[5032]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(21440)); + $80 = HEAP32[5033]|0; + $81 = HEAP32[(21440)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((21132)|0)); - $82 = HEAP32[(21132)>>2]|0; + _glGenBuffers(1,((21444)|0)); + $82 = HEAP32[(21444)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(21112)>>2]|0; + $83 = HEAP32[(21424)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(19904)>>2]|0; + $84 = HEAP32[(20216)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(19904)>>2]|0; + $85 = HEAP32[(20216)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((21136)|0)); - $86 = HEAP32[(21136)>>2]|0; + _glGenBuffers(1,((21448)|0)); + $86 = HEAP32[(21448)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(21116)>>2]|0; + $87 = HEAP32[(21428)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(19908)>>2]|0; + $88 = HEAP32[(20220)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(19908)>>2]|0; + $89 = HEAP32[(20220)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((21140)|0)); - $90 = HEAP32[(21140)>>2]|0; + _glGenBuffers(1,((21452)|0)); + $90 = HEAP32[(21452)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(21120)>>2]|0; + $91 = HEAP32[(21432)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(19924)>>2]|0; + $92 = HEAP32[(20236)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(19924)>>2]|0; + $93 = HEAP32[(20236)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((21144)|0)); - $94 = HEAP32[(21144)>>2]|0; + _glGenBuffers(1,((21456)|0)); + $94 = HEAP32[(21456)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(21124)>>2]|0; + $95 = HEAP32[(21436)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4953]|0; + $96 = HEAP32[5031]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(21132)>>2]|0; - $100 = HEAP32[(21136)>>2]|0; - $101 = HEAP32[(21140)>>2]|0; - $102 = HEAP32[(21144)>>2]|0; + $99 = HEAP32[(21444)>>2]|0; + $100 = HEAP32[(21448)>>2]|0; + $101 = HEAP32[(21452)>>2]|0; + $102 = HEAP32[(21456)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14577,16 +14581,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7512,$vararg_buffer17); } else { - $98 = HEAP32[(21128)>>2]|0; + $98 = HEAP32[(21440)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7447,$vararg_buffer14); } - $103 = HEAP32[4953]|0; + $103 = HEAP32[5031]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4955]|0; + $105 = HEAP32[5033]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14767,9 +14771,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22321 + ($0)|0); + $1 = (22633 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22324 + ($0)|0); + $3 = (22636 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14781,9 +14785,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22321 + ($0)|0); + $1 = (22633 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22324 + ($0)|0); + $3 = (22636 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14804,7 +14808,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4872]|0; + $0 = HEAP32[4950]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,9356,$vararg_buffer); @@ -14815,9 +14819,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[19528>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19528+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19528+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19528+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19528+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[19840>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19840+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19840+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19840+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19840+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(19556)>>2]|0; + $0 = HEAP32[(19868)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14828,11 +14832,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(19840|0)); - $0 = HEAP32[4960]|0; + _glDeleteTextures(1,(20152|0)); + $0 = HEAP32[5038]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9383,$vararg_buffer); - $1 = HEAP32[4990]|0; + $1 = HEAP32[5068]|0; _free($1); STACKTOP = sp;return; } @@ -14840,17 +14844,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4961]|0; + $0 = HEAP32[5039]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4953]|0; + $0 = HEAP32[5031]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4955]|0; + $2 = HEAP32[5033]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14859,39 +14863,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((21036)|0)); - _glDeleteBuffers(1,((21040)|0)); - _glDeleteBuffers(1,((21084)|0)); - _glDeleteBuffers(1,((21088)|0)); - _glDeleteBuffers(1,((21132)|0)); - _glDeleteBuffers(1,((21136)|0)); - _glDeleteBuffers(1,((21140)|0)); - _glDeleteBuffers(1,((21144)|0)); - $3 = HEAP32[4953]|0; + _glDeleteBuffers(1,((21348)|0)); + _glDeleteBuffers(1,((21352)|0)); + _glDeleteBuffers(1,((21396)|0)); + _glDeleteBuffers(1,((21400)|0)); + _glDeleteBuffers(1,((21444)|0)); + _glDeleteBuffers(1,((21448)|0)); + _glDeleteBuffers(1,((21452)|0)); + _glDeleteBuffers(1,((21456)|0)); + $3 = HEAP32[5031]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4956]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(21032)); - $6 = HEAP32[4956]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(21080)); - $7 = HEAP32[4956]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(21128)); + $5 = HEAP32[5034]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(21344)); + $6 = HEAP32[5034]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(21392)); + $7 = HEAP32[5034]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(21440)); } - $8 = HEAP32[(21016)>>2]|0; + $8 = HEAP32[(21328)>>2]|0; _free($8); - $9 = HEAP32[(21024)>>2]|0; + $9 = HEAP32[(21336)>>2]|0; _free($9); - $10 = HEAP32[(21064)>>2]|0; + $10 = HEAP32[(21376)>>2]|0; _free($10); - $11 = HEAP32[(21072)>>2]|0; + $11 = HEAP32[(21384)>>2]|0; _free($11); - $12 = HEAP32[(21112)>>2]|0; + $12 = HEAP32[(21424)>>2]|0; _free($12); - $13 = HEAP32[(21116)>>2]|0; + $13 = HEAP32[(21428)>>2]|0; _free($13); - $14 = HEAP32[(21120)>>2]|0; + $14 = HEAP32[(21432)>>2]|0; _free($14); - $15 = HEAP32[(21124)>>2]|0; + $15 = HEAP32[(21436)>>2]|0; _free($15); return; } @@ -14931,16 +14935,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2423] = $0; - $1 = +HEAPF64[2406]; + HEAPF64[2462] = $0; + $1 = +HEAPF64[2445]; $2 = $0 - $1; - HEAPF64[2424] = $2; - HEAPF64[2406] = $0; + HEAPF64[2463] = $2; + HEAPF64[2445] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=19584; 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)); + dest=$downscaleView$byval_copy; src=19896; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(21156); + _rlMultMatrixf(21468); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -14949,53 +14953,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[5289] = $1; + HEAP32[5367] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(21160)>>2] = $3; + HEAP32[(21472)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(21164)>>2] = $5; + HEAP32[(21476)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(21168)>>2] = $7; + HEAP32[(21480)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(21172)>>2] = $9; + HEAP32[(21484)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(21176)>>2] = $11; + HEAP32[(21488)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(21180)>>2] = $13; + HEAP32[(21492)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(21184)>>2] = $15; + HEAP32[(21496)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(21188)>>2] = $17; + HEAP32[(21500)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(21192)>>2] = $19; + HEAP32[(21504)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(21196)>>2] = $21; + HEAP32[(21508)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(21200)>>2] = $23; + HEAP32[(21512)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(21204)>>2] = $25; + HEAP32[(21516)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(21208)>>2] = $27; + HEAP32[(21520)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(21212)>>2] = $29; + HEAP32[(21524)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(21216)>>2] = $31; - return (21156|0); + HEAP32[(21528)>>2] = $31; + return (21468|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15070,7 +15074,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4919]|0; + $49 = HEAP32[4997]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15084,15 +15088,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2423] = $0; - $1 = +HEAPF64[2406]; + HEAPF64[2462] = $0; + $1 = +HEAPF64[2445]; $2 = $0 - $1; - HEAPF64[2425] = $2; - HEAPF64[2406] = $0; - $3 = +HEAPF64[2424]; + HEAPF64[2464] = $2; + HEAPF64[2445] = $0; + $3 = +HEAPF64[2463]; $4 = $2 + $3; - HEAPF64[2426] = $4; - $5 = +HEAPF64[2403]; + HEAPF64[2465] = $4; + $5 = +HEAPF64[2442]; $6 = $4 < $5; if (!($6)) { return; @@ -15102,13 +15106,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2423] = $10; - $11 = +HEAPF64[2406]; + HEAPF64[2462] = $10; + $11 = +HEAPF64[2445]; $12 = $10 - $11; - HEAPF64[2406] = $10; - $13 = +HEAPF64[2426]; + HEAPF64[2445] = $10; + $13 = +HEAPF64[2465]; $14 = $12 + $13; - HEAPF64[2426] = $14; + HEAPF64[2465] = $14; return; } function _rlglDraw() { @@ -15121,7 +15125,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4872]|0; + $0 = HEAP32[4950]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15137,20 +15141,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[739] = -1; HEAP32[741] = -1; - HEAP32[5305] = 0; - $3 = HEAP32[4872]|0; + HEAP32[5383] = 0; + $3 = HEAP32[4950]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4804] = $5; + HEAPF32[4882] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(19220)>>2] = $7; - _memcpy((22839|0),(22327|0),512)|0; - ;HEAP8[22324>>0]=HEAP8[22321>>0]|0;HEAP8[22324+1>>0]=HEAP8[22321+1>>0]|0;HEAP8[22324+2>>0]=HEAP8[22321+2>>0]|0; - $8 = HEAP32[5288]|0; - HEAP32[4875] = $8; - HEAP32[5288] = 0; + HEAPF32[(19532)>>2] = $7; + _memcpy((23151|0),(22639|0),512)|0; + ;HEAP8[22636>>0]=HEAP8[22633>>0]|0;HEAP8[22636+1>>0]=HEAP8[22633+1>>0]|0;HEAP8[22636+2>>0]=HEAP8[22633+2>>0]|0; + $8 = HEAP32[5366]|0; + HEAP32[4953] = $8; + HEAP32[5366] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15160,8 +15164,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (23351 + ($$05160<<5)|0); - $scevgep67 = (23479 + ($$05160<<5)|0); + $scevgep = (23663 + ($$05160<<5)|0); + $scevgep67 = (23791 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15175,7 +15179,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((23479 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((23791 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[741] = $$04857; @@ -15202,7 +15206,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((21224 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((21536 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15218,7 +15222,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5305] = $$lcssa; + HEAP32[5383] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15259,87 +15263,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5251]|0; + $0 = HEAP32[5329]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4953]|0; + $2 = HEAP32[5031]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4955]|0; - $5 = HEAP32[(21032)>>2]|0; + $4 = HEAP32[5033]|0; + $5 = HEAP32[(21344)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(21036)>>2]|0; + $6 = HEAP32[(21348)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5251]|0; + $7 = HEAP32[5329]|0; $8 = ($7*12)|0; - $9 = HEAP32[(21016)>>2]|0; + $9 = HEAP32[(21328)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(21040)>>2]|0; + $10 = HEAP32[(21352)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(21012)>>2]|0; + $11 = HEAP32[(21324)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(21024)>>2]|0; + $13 = HEAP32[(21336)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5263]|0; + $14 = HEAP32[5341]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4953]|0; + $16 = HEAP32[5031]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4955]|0; - $19 = HEAP32[(21080)>>2]|0; + $18 = HEAP32[5033]|0; + $19 = HEAP32[(21392)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(21084)>>2]|0; + $20 = HEAP32[(21396)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5263]|0; + $21 = HEAP32[5341]|0; $22 = ($21*12)|0; - $23 = HEAP32[(21064)>>2]|0; + $23 = HEAP32[(21376)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(21088)>>2]|0; + $24 = HEAP32[(21400)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(21060)>>2]|0; + $25 = HEAP32[(21372)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(21072)>>2]|0; + $27 = HEAP32[(21384)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5275]|0; + $28 = HEAP32[5353]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4953]|0; + $30 = HEAP32[5031]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4955]|0; - $33 = HEAP32[(21128)>>2]|0; + $32 = HEAP32[5033]|0; + $33 = HEAP32[(21440)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(21132)>>2]|0; + $34 = HEAP32[(21444)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5275]|0; + $35 = HEAP32[5353]|0; $36 = ($35*12)|0; - $37 = HEAP32[(21112)>>2]|0; + $37 = HEAP32[(21424)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(21136)>>2]|0; + $38 = HEAP32[(21448)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5275]|0; + $39 = HEAP32[5353]|0; $40 = $39 << 3; - $41 = HEAP32[(21116)>>2]|0; + $41 = HEAP32[(21428)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(21140)>>2]|0; + $42 = HEAP32[(21452)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5275]|0; + $43 = HEAP32[5353]|0; $44 = $43 << 2; - $45 = HEAP32[(21120)>>2]|0; + $45 = HEAP32[(21432)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4953]|0; + $46 = HEAP32[5031]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4955]|0; + $48 = HEAP32[5033]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15357,9 +15361,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=19680; 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)); - dest=$1; src=19744; 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)); - $3 = HEAP32[5338]|0; + dest=$0; src=19992; 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)); + dest=$1; src=20056; 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)); + $3 = HEAP32[5416]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15369,134 +15373,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5251]|0; + $8 = HEAP32[5329]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5263]|0; + $10 = HEAP32[5341]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5275]|0; + $12 = HEAP32[5353]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4975]|0; + $14 = HEAP32[5053]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=19744; 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)); - dest=$$byval_copy2; src=19680; 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)); + dest=$modelview$byval_copy; src=20056; 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)); + dest=$$byval_copy2; src=19992; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(19928)>>2]|0; + $15 = HEAP32[(20240)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(19932)>>2]|0; + $17 = HEAP32[(20244)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(19944)>>2]|0; + $18 = HEAP32[(20256)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5251]|0; + $19 = HEAP32[5329]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4960]|0; + $21 = HEAP32[5038]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4953]|0; + $22 = HEAP32[5031]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(21036)>>2]|0; + $26 = HEAP32[(21348)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(19904)>>2]|0; + $27 = HEAP32[(20216)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(19904)>>2]|0; + $28 = HEAP32[(20216)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(21040)>>2]|0; + $29 = HEAP32[(21352)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(19924)>>2]|0; + $30 = HEAP32[(20236)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(19924)>>2]|0; + $31 = HEAP32[(20236)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4955]|0; - $25 = HEAP32[(21032)>>2]|0; + $24 = HEAP32[5033]|0; + $25 = HEAP32[(21344)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5251]|0; + $32 = HEAP32[5329]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4953]|0; + $33 = HEAP32[5031]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5263]|0; + $35 = HEAP32[5341]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4960]|0; + $37 = HEAP32[5038]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4953]|0; + $38 = HEAP32[5031]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(21084)>>2]|0; + $42 = HEAP32[(21396)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(19904)>>2]|0; + $43 = HEAP32[(20216)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(19904)>>2]|0; + $44 = HEAP32[(20216)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(21088)>>2]|0; + $45 = HEAP32[(21400)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(19924)>>2]|0; + $46 = HEAP32[(20236)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(19924)>>2]|0; + $47 = HEAP32[(20236)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4955]|0; - $41 = HEAP32[(21080)>>2]|0; + $40 = HEAP32[5033]|0; + $41 = HEAP32[(21392)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5263]|0; + $48 = HEAP32[5341]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4953]|0; + $49 = HEAP32[5031]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5275]|0; + $51 = HEAP32[5353]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4953]|0; + $53 = HEAP32[5031]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(21132)>>2]|0; + $57 = HEAP32[(21444)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(19904)>>2]|0; + $58 = HEAP32[(20216)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(19904)>>2]|0; + $59 = HEAP32[(20216)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(21136)>>2]|0; + $60 = HEAP32[(21448)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(19908)>>2]|0; + $61 = HEAP32[(20220)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(19908)>>2]|0; + $62 = HEAP32[(20220)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(21140)>>2]|0; + $63 = HEAP32[(21452)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(19924)>>2]|0; + $64 = HEAP32[(20236)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(19924)>>2]|0; + $65 = HEAP32[(20236)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(21144)>>2]|0; + $66 = HEAP32[(21456)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4955]|0; - $56 = HEAP32[(21128)>>2]|0; + $55 = HEAP32[5033]|0; + $56 = HEAP32[(21440)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4991]|0; + $67 = HEAP32[5069]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4990]|0; + $71 = HEAP32[5068]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15507,14 +15511,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4990]|0; + $80 = HEAP32[5068]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4991]|0; + $87 = HEAP32[5069]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15523,7 +15527,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4953]|0; + $69 = HEAP32[5031]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15531,10 +15535,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4953]|0; + $89 = HEAP32[5031]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4955]|0; + $91 = HEAP32[5033]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15546,22 +15550,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4991] = 1; - $5 = HEAP32[4960]|0; - $6 = HEAP32[4990]|0; + HEAP32[5069] = 1; + $5 = HEAP32[5038]|0; + $6 = HEAP32[5068]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5251] = 0; - HEAP32[(21012)>>2] = 0; - HEAP32[5263] = 0; - HEAP32[(21060)>>2] = 0; - HEAP32[5275] = 0; - HEAP32[(21104)>>2] = 0; - HEAP32[(21108)>>2] = 0; + HEAP32[5329] = 0; + HEAP32[(21324)>>2] = 0; + HEAP32[5341] = 0; + HEAP32[(21372)>>2] = 0; + HEAP32[5353] = 0; + HEAP32[(21416)>>2] = 0; + HEAP32[(21420)>>2] = 0; HEAPF32[742] = -1.0; - dest=19680; src=$0; 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)); - dest=19744; src=$1; 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)); + dest=19992; src=$0; 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)); + dest=20056; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15576,17 +15580,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[5249]|0; + $5 = HEAP32[5327]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5250]|0; + $9 = HEAP32[5328]|0; _rlViewport($7,0,$8,$9); - $10 = (21584 + ($0<<6)|0); + $10 = (21896 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (21456 + ($0<<6)|0); + $11 = (21768 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -15598,14 +15602,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19744; src=$0; 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)); + dest=20056; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19680; src=$0; 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)); + dest=19992; src=$0; 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)); return; } function _rlPushMatrix() { @@ -15613,43 +15617,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5428]|0; + $0 = HEAP32[5506]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9498,$vararg_buffer); } - $2 = HEAP32[5428]|0; - $3 = (19972 + ($2<<6)|0); - $4 = HEAP32[4919]|0; + $2 = HEAP32[5506]|0; + $3 = (20284 + ($2<<6)|0); + $4 = HEAP32[4997]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[5428]|0; + $5 = HEAP32[5506]|0; $6 = (($5) + 1)|0; - HEAP32[5428] = $6; - $7 = HEAP32[4952]|0; + HEAP32[5506] = $6; + $7 = HEAP32[5030]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5429] = 1; + HEAP32[5507] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5428]|0; + $0 = HEAP32[5506]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5428]|0; + $2 = HEAP32[5506]|0; $3 = (($2) + -1)|0; - $4 = (19972 + ($3<<6)|0); - $5 = HEAP32[4919]|0; + $4 = (20284 + ($3<<6)|0); + $5 = HEAP32[4997]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5428] = $6; + HEAP32[5506] = $6; return; } function _IsFileExtension($0,$1) { @@ -15682,7 +15686,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4919]|0; + $5 = HEAP32[4997]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15715,7 +15719,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4919]|0; + $11 = HEAP32[4997]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15726,7 +15730,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4992] = $0; + HEAP32[5070] = $0; return; } function _rlEnd() { @@ -15742,21 +15746,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5429]|0; + $0 = HEAP32[5507]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5430]|0; + $2 = HEAP32[5508]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4989]|0; + $6 = HEAP32[5067]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4919]|0; + $8 = HEAP32[4997]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5430]|0; + $5 = HEAP32[5508]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15764,12 +15768,12 @@ function _rlEnd() { break; } } - HEAP32[5429] = 0; + HEAP32[5507] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4989]|0; + $11 = HEAP32[5067]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15778,7 +15782,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5430]|0; + $19 = HEAP32[5508]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15788,15 +15792,15 @@ function _rlEnd() { } } } else { - HEAP32[5429] = 0; + HEAP32[5507] = 0; } - HEAP32[5430] = 0; + HEAP32[5508] = 0; } - $21 = HEAP32[4992]|0; + $21 = HEAP32[5070]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5251]|0; - $23 = HEAP32[(21012)>>2]|0; + $22 = HEAP32[5329]|0; + $23 = HEAP32[(21324)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[742]; @@ -15815,16 +15819,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(21024)>>2]|0; - $28 = HEAP32[(21012)>>2]|0; + $27 = HEAP32[(21336)>>2]|0; + $28 = HEAP32[(21324)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(21024)>>2]|0; - $35 = HEAP32[(21012)>>2]|0; + $34 = HEAP32[(21336)>>2]|0; + $35 = HEAP32[(21324)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15832,8 +15836,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(21024)>>2]|0; - $43 = HEAP32[(21012)>>2]|0; + $42 = HEAP32[(21336)>>2]|0; + $43 = HEAP32[(21324)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15841,8 +15845,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(21024)>>2]|0; - $51 = HEAP32[(21012)>>2]|0; + $50 = HEAP32[(21336)>>2]|0; + $51 = HEAP32[(21324)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15850,9 +15854,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(21012)>>2]|0; + $58 = HEAP32[(21324)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(21012)>>2] = $59; + HEAP32[(21324)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15868,8 +15872,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5263]|0; - $62 = HEAP32[(21060)>>2]|0; + $61 = HEAP32[5341]|0; + $62 = HEAP32[(21372)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[742]; @@ -15888,16 +15892,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(21072)>>2]|0; - $67 = HEAP32[(21060)>>2]|0; + $66 = HEAP32[(21384)>>2]|0; + $67 = HEAP32[(21372)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(21072)>>2]|0; - $74 = HEAP32[(21060)>>2]|0; + $73 = HEAP32[(21384)>>2]|0; + $74 = HEAP32[(21372)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15905,8 +15909,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(21072)>>2]|0; - $82 = HEAP32[(21060)>>2]|0; + $81 = HEAP32[(21384)>>2]|0; + $82 = HEAP32[(21372)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15914,8 +15918,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(21072)>>2]|0; - $90 = HEAP32[(21060)>>2]|0; + $89 = HEAP32[(21384)>>2]|0; + $90 = HEAP32[(21372)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15923,9 +15927,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(21060)>>2]|0; + $97 = HEAP32[(21372)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(21060)>>2] = $98; + HEAP32[(21372)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -15941,8 +15945,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5275]|0; - $101 = HEAP32[(21108)>>2]|0; + $100 = HEAP32[5353]|0; + $101 = HEAP32[(21420)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -15950,16 +15954,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(21120)>>2]|0; - $106 = HEAP32[(21108)>>2]|0; + $105 = HEAP32[(21432)>>2]|0; + $106 = HEAP32[(21420)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(21120)>>2]|0; - $113 = HEAP32[(21108)>>2]|0; + $112 = HEAP32[(21432)>>2]|0; + $113 = HEAP32[(21420)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -15967,8 +15971,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(21120)>>2]|0; - $121 = HEAP32[(21108)>>2]|0; + $120 = HEAP32[(21432)>>2]|0; + $121 = HEAP32[(21420)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -15976,8 +15980,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(21120)>>2]|0; - $129 = HEAP32[(21108)>>2]|0; + $128 = HEAP32[(21432)>>2]|0; + $129 = HEAP32[(21420)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -15985,9 +15989,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(21108)>>2]|0; + $136 = HEAP32[(21420)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(21108)>>2] = $137; + HEAP32[(21420)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -15998,8 +16002,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5275]|0; - $140 = HEAP32[(21104)>>2]|0; + $139 = HEAP32[5353]|0; + $140 = HEAP32[(21416)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[742]; @@ -16007,8 +16011,8 @@ function _rlEnd() { HEAPF32[742] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(21116)>>2]|0; - $$promoted = HEAP32[(21104)>>2]|0; + $142 = HEAP32[(21428)>>2]|0; + $$promoted = HEAP32[(21416)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16016,7 +16020,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(21104)>>2] = $147; + HEAP32[(21416)>>2] = $147; $148 = +HEAPF32[742]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[742] = $149; @@ -16043,11 +16047,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5429]|0; + $3 = HEAP32[5507]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4989]|0; - $6 = HEAP32[5430]|0; + $5 = HEAP32[5067]|0; + $6 = HEAP32[5508]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16055,16 +16059,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5430] = $10; + HEAP32[5508] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4992]|0; + $11 = HEAP32[5070]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5251]|0; + $12 = HEAP32[5329]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(21016)>>2]|0; + $14 = HEAP32[(21328)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16075,7 +16079,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5251] = $21; + HEAP32[5329] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9536,$vararg_buffer); @@ -16084,10 +16088,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[5263]|0; + $22 = HEAP32[5341]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(21064)>>2]|0; + $24 = HEAP32[(21376)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16098,7 +16102,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5263] = $31; + HEAP32[5341] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9561,$vararg_buffer1); @@ -16107,10 +16111,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[5275]|0; + $32 = HEAP32[5353]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(21112)>>2]|0; + $34 = HEAP32[(21424)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16121,9 +16125,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5275] = $41; - $42 = HEAP32[4990]|0; - $43 = HEAP32[4991]|0; + HEAP32[5353] = $41; + $42 = HEAP32[5068]|0; + $43 = HEAP32[5069]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16155,13 +16159,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4992]|0; + $2 = HEAP32[5070]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(21116)>>2]|0; - $5 = HEAP32[(21104)>>2]|0; + $4 = HEAP32[(21428)>>2]|0; + $5 = HEAP32[(21416)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16169,7 +16173,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(21104)>>2] = $10; + HEAP32[(21416)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16188,18 +16192,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4992]|0; + $4 = HEAP32[5070]|0; switch ($4|0) { case 1: { - $$sink37 = (21012);$$sink38 = (21024); + $$sink37 = (21324);$$sink38 = (21336); break; } case 4: { - $$sink37 = (21060);$$sink38 = (21072); + $$sink37 = (21372);$$sink38 = (21384); break; } case 7: { - $$sink37 = (21108);$$sink38 = (21120); + $$sink37 = (21420);$$sink38 = (21432); break; } default: { @@ -16238,8 +16242,8 @@ function _rlEnableTexture($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 = HEAP32[4990]|0; - $2 = HEAP32[4991]|0; + $1 = HEAP32[5068]|0; + $2 = HEAP32[5069]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16252,9 +16256,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4991] = $10; + HEAP32[5069] = $10; } - $11 = HEAP32[4991]|0; + $11 = HEAP32[5069]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16265,7 +16269,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5275]|0; + $0 = HEAP32[5353]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16288,7 +16292,7 @@ function _rlTextureParameters($0,$1,$2) { switch ($1|0) { case 10243: case 10242: { $3 = ($2|0)!=(34626); - $4 = HEAP32[4959]|0; + $4 = HEAP32[5037]|0; $5 = ($4|0)!=(0); $or$cond = $3 | $5; if ($or$cond) { @@ -16306,7 +16310,7 @@ function _rlTextureParameters($0,$1,$2) { } case 12288: { $6 = (+($2|0)); - $7 = +HEAPF32[4958]; + $7 = +HEAPF32[5036]; $8 = !($6 <= $7); if (!($8)) { _glTexParameterf(3553,34046,(+$6)); @@ -16334,40 +16338,11 @@ function _rlTextureParameters($0,$1,$2) { _glBindTexture(3553,0); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9750); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,12387)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5431] = $0; + HEAP32[5509] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16431,7 +16406,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9762|0),(9788|0),1125,(9811|0)); + ___assert_fail((9750|0),(9776|0),1041,(9799|0)); // unreachable; } } @@ -16449,7 +16424,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5432]|0; + $15 = HEAP32[5510]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16542,7 +16517,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9852); + _stbi__err(9840); $$0 = 0; return ($$0|0); } else { @@ -16564,7 +16539,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9843); + _stbi__err(9831); $$0 = 0; return ($$0|0); } @@ -16634,7 +16609,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9871); + _stbi__err(9859); $$045 = 0; return ($$045|0); } @@ -17195,7 +17170,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (10185 + ($120)|0); + $121 = (10173 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17237,97 +17212,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9959); + _stbi__err(9947); $$6$ph = 0; break; } case 9: { - _stbi__err(9973); + _stbi__err(9961); $$6$ph = 0; break; } case 11: { - _stbi__err(9986); + _stbi__err(9974); $$6$ph = 0; break; } case 13: { - _stbi__err(9986); + _stbi__err(9974); $$6$ph = 0; break; } case 15: { - _stbi__err(9996); + _stbi__err(9984); $$6$ph = 0; break; } case 17: { - _stbi__err(10016); + _stbi__err(10004); $$6$ph = 0; break; } case 20: { - _stbi__err(10016); + _stbi__err(10004); $$6$ph = 0; break; } case 22: { - _stbi__err(10016); + _stbi__err(10004); $$6$ph = 0; break; } case 24: { - _stbi__err(10026); + _stbi__err(10014); $$6$ph = 0; break; } case 26: { - _stbi__err(10042); + _stbi__err(10030); $$6$ph = 0; break; } case 28: { - _stbi__err(10060); + _stbi__err(10048); $$6$ph = 0; break; } case 31: { - _stbi__err(10081); + _stbi__err(10069); $$6$ph = 0; break; } case 34: { - _stbi__err(9986); + _stbi__err(9974); $$6$ph = 0; break; } case 37: { - _stbi__err(9986); + _stbi__err(9974); $$6$ph = 0; break; } case 39: { - _stbi__err(10095); + _stbi__err(10083); $$6$ph = 0; break; } case 41: { - _stbi__err(10110); + _stbi__err(10098); $$6$ph = 0; break; } case 44: { - _stbi__err(10110); + _stbi__err(10098); $$6$ph = 0; break; } case 47: { - _stbi__err(10095); + _stbi__err(10083); $$6$ph = 0; break; } case 49: { - _stbi__err(10123); + _stbi__err(10111); $$6$ph = 0; break; } @@ -17338,32 +17313,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(10139); + _stbi__err(10127); $$6$ph = 0; break; } case 58: { - _stbi__err(10156); + _stbi__err(10144); $$6$ph = 0; break; } case 61: { - _stbi__err(10169); + _stbi__err(10157); $$6$ph = 0; break; } case 63: { - _stbi__err(10156); + _stbi__err(10144); $$6$ph = 0; break; } case 70: { - _stbi__err(10095); + _stbi__err(10083); $$6$ph = 0; break; } case 72: { - _stbi__err(10194); + _stbi__err(10182); $$6$ph = 0; break; } @@ -17375,12 +17350,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9843); + _stbi__err(9831); $$6$ph = 0; break; } case 83: { - _stbi__err(10202); + _stbi__err(10190); $$6$ph = 0; break; } @@ -17393,7 +17368,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(10212); + _stbi__err(10200); $$4 = 0; break; } @@ -17458,7 +17433,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5433]|0; + $193 = HEAP32[5511]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17491,7 +17466,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(10095); + _stbi__err(10083); $$4 = 0; } } while(0); @@ -17499,24 +17474,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(10095); + _stbi__err(10083); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[10220] = $206; + HEAP8[10208] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(10221)>>0] = $209; + HEAP8[(10209)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(10222)>>0] = $211; + HEAP8[(10210)>>0] = $211; $212 = $207&255; - HEAP8[(10223)>>0] = $212; - _stbi__err(10220); + HEAP8[(10211)>>0] = $212; + _stbi__err(10208); $$6$ph = 0; break; } @@ -17550,14 +17525,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9884|0),(9788|0),1561,(9938|0)); + ___assert_fail((9872|0),(9776|0),1477,(9926|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9843); + _stbi__err(9831); $$0163 = 0; return ($$0163|0); } @@ -17920,7 +17895,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((13024|0),(9788|0),1590,(9938|0)); + ___assert_fail((13332|0),(9776|0),1506,(9926|0)); // unreachable; } } while(0); @@ -17954,7 +17929,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9884|0),(9788|0),1610,(9915|0)); + ___assert_fail((9872|0),(9776|0),1526,(9903|0)); // unreachable; } $7 = $2 << 1; @@ -17964,7 +17939,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9843); + _stbi__err(9831); $$0163 = 0; return ($$0163|0); } @@ -18327,7 +18302,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((13024|0),(9788|0),1639,(9915|0)); + ___assert_fail((13332|0),(9776|0),1555,(9903|0)); // unreachable; } } while(0); @@ -18475,7 +18450,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10877); + _stbi__err(11185); $$05 = 0; return ($$05|0); } @@ -18912,7 +18887,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10279|0),(9788|0),4568,(10331|0)); + ___assert_fail((10267|0),(9776|0),4569,(10319|0)); // unreachable; } } @@ -18999,7 +18974,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10279|0),(9788|0),4543,(10304|0)); + ___assert_fail((10267|0),(9776|0),4544,(10292|0)); // unreachable; } } @@ -19046,7 +19021,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5434]|0; + $16 = HEAP32[5512]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19121,7 +19096,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((10245|0),(9788|0),4649,(10263|0)); + ___assert_fail((10233|0),(9776|0),4650,(10251|0)); // unreachable; } } @@ -19144,7 +19119,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9843); + _stbi__err(9831); $$0 = 0; return ($$0|0); } @@ -19321,7 +19296,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10360|0),(9788|0),4294,(10401|0)); + ___assert_fail((10348|0),(9776|0),4294,(10389|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19329,7 +19304,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9843); + _stbi__err(9831); $$2 = 0; return ($$2|0); } @@ -19348,7 +19323,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10428); + _stbi__err(10416); $$2 = 0; return ($$2|0); } @@ -19361,7 +19336,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10428); + _stbi__err(10416); $$2 = 0; return ($$2|0); } @@ -19369,12 +19344,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19397,33 +19372,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10467 + ($56)|0); + $60 = (10455 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19433,24 +19408,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19460,10 +19435,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19474,10 +19449,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19488,14 +19463,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19525,7 +19500,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19540,12 +19515,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20122,15 +20097,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10446|0),(9788|0),4315,(10401|0)); + ___assert_fail((10434|0),(9776|0),4315,(10389|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10472|0),(9788|0),4376,(10401|0)); + ___assert_fail((10460|0),(9776|0),4377,(10389|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10489); + _stbi__err(10477); $$2 = 0; return ($$2|0); } @@ -20180,7 +20155,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (10185 + ($6)|0); + $336 = (10173 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20621,7 +20596,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10504|0),(9788|0),4465,(10401|0)); + ___assert_fail((10492|0),(9776|0),4466,(10389|0)); // unreachable; } else if ((label|0) == 151) { @@ -20681,8 +20656,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20697,15 +20672,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20714,65 +20689,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(23638)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10503,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,23639,288)|0); + $15 = (_stbi__zbuild_huffman($8,10791,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,23607,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20791,14 +20761,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10830); + _stbi__err(11138); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10846); + _stbi__err(11154); $$0 = 0; return ($$0|0); } @@ -20807,7 +20777,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10861); + _stbi__err(11169); $$0 = 0; return ($$0|0); } @@ -20890,7 +20860,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10752|0),(9788|0),4048,(10769|0)); + ___assert_fail((11060|0),(9776|0),4033,(11077|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -20927,7 +20897,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10800); + _stbi__err(11108); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20937,7 +20907,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10813); + _stbi__err(11121); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20967,21 +20937,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((23639|0),8,144)|0; - dest=(23783); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(23895); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (23919); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=23607; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21115,7 +21070,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10690); + _stbi__err(10998); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21204,7 +21159,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10742); + _stbi__err(11050); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21233,7 +21188,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11527 + ($$06579)|0); + $14 = (11835 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21324,21 +21279,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10690); + _stbi__err(10998); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10690); + _stbi__err(10998); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10706|0),(9788|0),4021,(10714|0)); + ___assert_fail((11014|0),(9776|0),4006,(11022|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10690); + _stbi__err(10998); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21348,7 +21303,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10690); + _stbi__err(10998); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21512,7 +21467,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10515); + _stbi__err(10823); $$3$ph = 0; return ($$3$ph|0); } @@ -21522,12 +21477,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10515); + _stbi__err(10823); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10532); + _stbi__err(10840); $$3$ph = 0; return ($$3$ph|0); } @@ -21584,7 +21539,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10541); + _stbi__err(10849); $$0 = 0; return ($$0|0); } @@ -21610,7 +21565,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9843); + _stbi__err(9831); $$0 = 0; return ($$0|0); } else { @@ -21655,7 +21610,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10637|0),(9788|0),3863,(10674|0)); + ___assert_fail((10945|0),(9776|0),3848,(10982|0)); // unreachable; } else if ((label|0) == 5) { @@ -21703,7 +21658,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10561|0),(9788|0),3891,(10577|0)); + ___assert_fail((10869|0),(9776|0),3876,(10885|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21731,7 +21686,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10608|0),(9788|0),3781,(10619|0)); + ___assert_fail((10916|0),(9776|0),3766,(10927|0)); // unreachable; } return (0)|0; @@ -21877,10 +21832,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -21891,27 +21846,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,11714)|0); + $6 = (_IsFileExtension($1,12022)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10936)|0); + $19 = (_IsFileExtension($1,11244)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10941,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,11249,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,12695)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -21939,7 +21895,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -21956,18 +21912,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10889,$vararg_buffer); + _TraceLog(2,11197,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -21976,34 +21932,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10977,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,11285,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,11016,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11324,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22022,11 +21985,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,12387)|0); + $4 = (_fopen($0,12695)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11075,$vararg_buffer); + _TraceLog(2,11383,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22125,7 +22088,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,11172,$vararg_buffer4); + _TraceLog(0,11480,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22160,14 +22123,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11218,$vararg_buffer8); + _TraceLog(2,11526,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,11126,$vararg_buffer1); + _TraceLog(2,11434,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22257,7 +22220,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,11047,$vararg_buffer); + _TraceLog(2,11355,$vararg_buffer); $$0 = $6; } } @@ -22302,27 +22265,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11268,$vararg_buffer); + _TraceLog(2,11576,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11307,$vararg_buffer1); + _TraceLog(2,11615,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11333,$vararg_buffer3); + _TraceLog(2,11641,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11396,$vararg_buffer5); + _TraceLog(2,11704,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11431,$vararg_buffer7); + _TraceLog(2,11739,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11466,$vararg_buffer10); + _TraceLog(0,11774,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23505,7 +23468,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11523 + ($$361133)|0); + $199 = (11831 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -23935,7 +23898,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11523 + ($$331130)|0); + $186 = (11831 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -23973,7 +23936,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11523 + ($$371134)|0); + $203 = (11831 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24012,7 +23975,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11527 + ($$421139)|0); + $235 = (11835 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24419,7 +24382,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11546 + ($495)|0); + $496 = (11854 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24456,7 +24419,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11550 + ($515)|0); + $516 = (11858 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25382,7 +25345,7 @@ function _ImageAlphaMask($0,$1) { $14 = HEAP32[$13>>2]|0; $15 = ($14|0)>(7); if ($15) { - _TraceLog(2,11592,$vararg_buffer1); + _TraceLog(2,11900,$vararg_buffer1); STACKTOP = sp;return; } ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$1+16>>2]|0; @@ -25473,14 +25436,14 @@ function _ImageAlphaMask($0,$1) { STACKTOP = sp;return; } } - _TraceLog(2,11554,$vararg_buffer); + _TraceLog(2,11862,$vararg_buffer); STACKTOP = sp;return; } function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[19528>>2]|0;HEAP32[$0+4>>2]=HEAP32[19528+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19528+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19528+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19528+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19528+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19528+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19528+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[19840>>2]|0;HEAP32[$0+4>>2]=HEAP32[19840+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19840+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19840+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19840+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19840+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19840+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19840+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -25580,7 +25543,7 @@ function _SetTextureFilter($0,$1) { STACKTOP = sp;return; } else { HEAP32[$vararg_buffer>>2] = $17; - _TraceLog(2,11649,$vararg_buffer); + _TraceLog(2,11957,$vararg_buffer); $19 = HEAP32[$0>>2]|0; _rlTextureParameters($19,10241,9729); _rlTextureParameters($19,10240,9729); @@ -25765,18 +25728,18 @@ function _LoadSpriteFont($0,$1) { $8 = sp + 64|0; $9 = sp + 8|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;HEAP32[$2+28>>2]=0|0; - $10 = (_IsFileExtension($1,11714)|0); + $10 = (_IsFileExtension($1,12022)|0); $11 = ($10|0)==(0); do { if ($11) { - $35 = (_IsFileExtension($1,11720)|0); + $35 = (_IsFileExtension($1,12028)|0); $36 = ($35|0)==(0); if (!($36)) { _LoadSpriteFontTTF($4,$1,32,0,0); ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$4+28>>2]|0; break; } - $37 = (_IsFileExtension($1,11725)|0); + $37 = (_IsFileExtension($1,12033)|0); $38 = ($37|0)==(0); if (!($38)) { _LoadBMFont($5,$1); @@ -25844,7 +25807,7 @@ function _LoadSpriteFont($0,$1) { $45 = ($44|0)==(0); if ($45) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11730,$vararg_buffer); + _TraceLog(2,12038,$vararg_buffer); _GetDefaultFont($9); ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$9+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$9+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$9+28>>2]|0; ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; @@ -25872,7 +25835,7 @@ function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { $6 = sp + 40|0; $7 = sp + 8|0; ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0;HEAP32[$$sroa$8+24>>2]=0|0; - $8 = (_IsFileExtension($1,11720)|0); + $8 = (_IsFileExtension($1,12028)|0); $9 = ($8|0)==(0); if (!($9)) { $10 = ($4|0)==(0|0); @@ -25915,7 +25878,7 @@ function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { } } HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,12274,$vararg_buffer); + _TraceLog(2,12582,$vararg_buffer); _GetDefaultFont($7); $$sroa$0$0$copyload17 = HEAP32[$7>>2]|0; $$sroa$8$0$$sroa_idx26 = ((($7)) + 4|0); @@ -25964,17 +25927,17 @@ function _LoadBMFont($0,$1) { ;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;HEAP32[$2+28>>2]=0|0; HEAP32[$4>>2] = 0; HEAP32[$8>>2] = 0; - $15 = (_fopen($1,11872)|0); + $15 = (_fopen($1,12180)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11875,$vararg_buffer); + _TraceLog(2,12183,$vararg_buffer); ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; STACKTOP = sp;return; } (_fgets($3,256,$15)|0); (_fgets($3,256,$15)|0); - $17 = (_strstr($3,11909)|0); + $17 = (_strstr($3,12217)|0); HEAP32[$vararg_buffer1>>2] = $4; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $9; @@ -25982,12 +25945,12 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr5>>2] = $5; $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); HEAP32[$vararg_ptr6>>2] = $6; - (_sscanf($17,11920,$vararg_buffer1)|0); + (_sscanf($17,12228,$vararg_buffer1)|0); $18 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $18; - _TraceLog(3,11962,$vararg_buffer7); + _TraceLog(3,12270,$vararg_buffer7); $19 = HEAP32[$5>>2]|0; $20 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer11>>2] = $1; @@ -25995,24 +25958,24 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr14>>2] = $19; $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr15>>2] = $20; - _TraceLog(3,11981,$vararg_buffer11); + _TraceLog(3,12289,$vararg_buffer11); (_fgets($3,256,$15)|0); - $21 = (_strstr($3,12012)|0); + $21 = (_strstr($3,12320)|0); HEAP32[$vararg_buffer16>>2] = $7; - (_sscanf($21,12017,$vararg_buffer16)|0); + (_sscanf($21,12325,$vararg_buffer16)|0); HEAP32[$vararg_buffer19>>2] = $1; $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); HEAP32[$vararg_ptr22>>2] = $7; - _TraceLog(3,12033,$vararg_buffer19); + _TraceLog(3,12341,$vararg_buffer19); (_fgets($3,256,$15)|0); - $22 = (_strstr($3,12064)|0); + $22 = (_strstr($3,12372)|0); HEAP32[$vararg_buffer23>>2] = $8; - (_sscanf($22,12070,$vararg_buffer23)|0); + (_sscanf($22,12378,$vararg_buffer23)|0); $23 = HEAP32[$8>>2]|0; HEAP32[$vararg_buffer26>>2] = $1; $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); HEAP32[$vararg_ptr29>>2] = $23; - _TraceLog(3,12079,$vararg_buffer26); + _TraceLog(3,12387,$vararg_buffer26); $24 = (_strrchr($1,47)|0); $25 = (_strlen($1)|0); $26 = (_strlen($24)|0); @@ -26032,7 +25995,7 @@ function _LoadBMFont($0,$1) { HEAP32[$$byval_copy52>>2] = $1; $vararg_ptr33 = ((($$byval_copy52)) + 4|0); HEAP32[$vararg_ptr33>>2] = $31; - _TraceLog(3,12103,$$byval_copy52); + _TraceLog(3,12411,$$byval_copy52); _LoadImage($vararg_buffer26,$31); $37 = ((($vararg_buffer26)) + 16|0); $38 = HEAP32[$37>>2]|0; @@ -26110,7 +26073,7 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr42>>2] = $12; $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); HEAP32[$vararg_ptr43>>2] = $13; - (_sscanf($3,12138,$vararg_buffer34)|0); + (_sscanf($3,12446,$vararg_buffer34)|0); $64 = HEAP32[$vararg_buffer23>>2]|0; $65 = HEAP32[$59>>2]|0; $66 = (($65) + ($$05355<<5)|0); @@ -26160,7 +26123,7 @@ function _LoadBMFont($0,$1) { ;HEAP32[$2>>2]=HEAP32[$14>>2]|0;HEAP32[$2+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$14+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$14+28>>2]|0; } else { HEAP32[$vararg_buffer44>>2] = $1; - _TraceLog(0,12212,$vararg_buffer44); + _TraceLog(0,12520,$vararg_buffer44); } ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; STACKTOP = sp;return; @@ -26457,7 +26420,7 @@ function _LoadImageFont($0,$1,$2) { } else { $$0201$lcssa = 0; } - _TraceLog(3,11786,$vararg_buffer); + _TraceLog(3,12094,$vararg_buffer); $145 = HEAP32[$7>>2]|0; $146 = HEAP32[$63>>2]|0; $147 = Math_imul($146, $145)|0; @@ -26520,7 +26483,7 @@ function _LoadImageFont($0,$1,$2) { } else { $175 = ((($156)) + 16|0); $176 = HEAP32[$175>>2]|0; - _TraceLog(0,11830,$vararg_buffer1); + _TraceLog(0,12138,$vararg_buffer1); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; @@ -26554,7 +26517,7 @@ function _LoadImageFont($0,$1,$2) { } $175 = ((($156)) + 16|0); $176 = HEAP32[$175>>2]|0; - _TraceLog(0,11830,$vararg_buffer1); + _TraceLog(0,12138,$vararg_buffer1); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; @@ -26584,7 +26547,7 @@ function _UnloadSpriteFont($0) { $5 = ((($0)) + 28|0); $6 = HEAP32[$5>>2]|0; _free($6); - _TraceLog(3,12248,$vararg_buffer); + _TraceLog(3,12556,$vararg_buffer); STACKTOP = sp;return; } function _LoadTTF($0,$1,$2,$3,$4) { @@ -26623,18 +26586,18 @@ function _LoadTTF($0,$1,$2,$3,$4) { HEAP32[$$byval_copy9>>2] = $18; $vararg_ptr1 = ((($$byval_copy9)) + 4|0); HEAP32[$vararg_ptr1>>2] = $18; - _TraceLog(0,12333,$$byval_copy9); + _TraceLog(0,12641,$$byval_copy9); $19 = (_malloc(16777216)|0); $20 = Math_imul($18, $18)|0; $21 = (_malloc($20)|0); $22 = ($3*20)|0; $23 = (_malloc($22)|0); ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; - $24 = (_fopen($1,12387)|0); + $24 = (_fopen($1,12695)|0); $25 = ($24|0)==(0|0); if ($25) { HEAP32[$vararg_buffer2>>2] = $1; - _TraceLog(2,12390,$vararg_buffer2); + _TraceLog(2,12698,$vararg_buffer2); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$6$0$$sroa_idx49 = ((($0)) + 20|0); HEAP32[$$sroa$6$0$$sroa_idx49>>2] = 0; @@ -26648,13 +26611,13 @@ function _LoadTTF($0,$1,$2,$3,$4) { $26 = HEAP32[$4>>2]|0; $27 = ($26|0)==(32); if (!($27)) { - _TraceLog(2,12424,$vararg_buffer5); + _TraceLog(2,12732,$vararg_buffer5); } $28 = HEAP32[$4>>2]|0; $29 = (_stbtt_BakeFontBitmap($19,$7,$21,$18,$18,$28,$3,$23)|0); $30 = ($29|0)<(0); if ($30) { - _TraceLog(2,12491,$vararg_buffer7); + _TraceLog(2,12799,$vararg_buffer7); } _free($19); $31 = $20 << 1; @@ -26892,7 +26855,7 @@ function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 8) { - ___assert_fail((12554|0),(12564|0),3273,(12590|0)); + ___assert_fail((12862|0),(12872|0),3274,(12898|0)); // unreachable; } else if ((label|0) == 11) { @@ -26995,7 +26958,7 @@ function _stbtt_FindGlyphIndex($0,$1) { break; } case 2: { - ___assert_fail((13024|0),(12564|0),1346,(13366|0)); + ___assert_fail((13332|0),(12872|0),1347,(13674|0)); // unreachable; break; } @@ -27061,7 +27024,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $70 = $69&65535; $71 = ($70|0)<($1|0); if ($71) { - ___assert_fail((13387|0),(12564|0),1382,(13366|0)); + ___assert_fail((13695|0),(12872|0),1383,(13674|0)); // unreachable; } $72 = ((($6)) + 14|0); @@ -27122,7 +27085,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $108 = $7 & -2; $switch = ($108<<16>>16)==(12); if (!($switch)) { - ___assert_fail((13024|0),(12564|0),1417,(13366|0)); + ___assert_fail((13332|0),(12872|0),1418,(13674|0)); // unreachable; } $109 = ((($6)) + 12|0); @@ -28002,11 +27965,11 @@ function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { } } if ((label|0) == 11) { - ___assert_fail((12620|0),(12564|0),2774,(12633|0)); + ___assert_fail((12928|0),(12872|0),2775,(12941|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((12663|0),(12564|0),2787,(12633|0)); + ___assert_fail((12971|0),(12872|0),2788,(12941|0)); // unreachable; } } @@ -28051,7 +28014,7 @@ function _stbtt__new_active($0,$1,$2,$3) { $14 = $8 / $13; $15 = ($4|0)==(0|0); if ($15) { - ___assert_fail((12953|0),(12564|0),2373,(12969|0)); + ___assert_fail((13261|0),(12872|0),2374,(13277|0)); // unreachable; } else { $16 = ((($4)) + 8|0); @@ -28379,19 +28342,19 @@ function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { } } if ((label|0) == 4) { - ___assert_fail((12683|0),(12564|0),2585,(12698|0)); + ___assert_fail((12991|0),(12872|0),2586,(13006|0)); // unreachable; } else if ((label|0) == 11) { - ___assert_fail((12727|0),(12564|0),2604,(12698|0)); + ___assert_fail((13035|0),(12872|0),2605,(13006|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((12763|0),(12564|0),2632,(12698|0)); + ___assert_fail((13071|0),(12872|0),2633,(13006|0)); // unreachable; } else if ((label|0) == 25) { - ___assert_fail((12781|0),(12564|0),2669,(12698|0)); + ___assert_fail((13089|0),(12872|0),2670,(13006|0)); // unreachable; } else if ((label|0) == 42) { @@ -28440,7 +28403,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { } $8 = $4 < $6; if (!($8)) { - ___assert_fail((12801|0),(12564|0),2543,(12809|0)); + ___assert_fail((13109|0),(12872|0),2544,(13117|0)); // unreachable; } $9 = ((($2)) + 20|0); @@ -28449,7 +28412,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $12 = +HEAPF32[$11>>2]; $13 = !($10 <= $12); if ($13) { - ___assert_fail((12836|0),(12564|0),2544,(12809|0)); + ___assert_fail((13144|0),(12872|0),2545,(13117|0)); // unreachable; } $14 = $12 < $4; @@ -28491,7 +28454,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if ($32) { $35 = !($$077 <= $34); if ($35) { - ___assert_fail((12851|0),(12564|0),2557,(12809|0)); + ___assert_fail((13159|0),(12872|0),2558,(13117|0)); // unreachable; } } else { @@ -28501,7 +28464,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($37)) { break; } - ___assert_fail((12861|0),(12564|0),2559,(12809|0)); + ___assert_fail((13169|0),(12872|0),2560,(13117|0)); // unreachable; } $38 = !($$079 <= $31); @@ -28510,7 +28473,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($39)) { break; } - ___assert_fail((12869|0),(12564|0),2561,(12809|0)); + ___assert_fail((13177|0),(12872|0),2562,(13117|0)); // unreachable; } $40 = !($$079 >= $34); @@ -28521,14 +28484,14 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($or$cond80)) { break; } - ___assert_fail((12887|0),(12564|0),2565,(12809|0)); + ___assert_fail((13195|0),(12872|0),2566,(13117|0)); // unreachable; } else { $41 = !($$077 >= $34); if (!($41)) { break; } - ___assert_fail((12877|0),(12564|0),2563,(12809|0)); + ___assert_fail((13185|0),(12872|0),2564,(13117|0)); // unreachable; } } @@ -28561,7 +28524,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $58 = !($$077 <= $34); $or$cond85 = $58 | $or$cond84; if ($or$cond85) { - ___assert_fail((12908|0),(12564|0),2572,(12809|0)); + ___assert_fail((13216|0),(12872|0),2573,(13117|0)); // unreachable; } $59 = ((($2)) + 16|0); @@ -29097,7 +29060,7 @@ function _stbtt__GetGlyfOffset($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if (!($4)) { - ___assert_fail((12987|0),(12564|0),1439,(13003|0)); + ___assert_fail((13295|0),(12872|0),1440,(13311|0)); // unreachable; } $5 = ((($0)) + 12|0); @@ -30044,7 +30007,7 @@ function _stbtt__cff_index_get($0,$1,$2) { $7 = ($3|0)>($2|0); $or$cond = $6 & $7; if (!($or$cond)) { - ___assert_fail((13229|0),(12564|0),1117,(13249|0)); + ___assert_fail((13537|0),(12872|0),1118,(13557|0)); // unreachable; } $$off = (($4) + -1)<<24>>24; @@ -30062,7 +30025,7 @@ function _stbtt__cff_index_get($0,$1,$2) { _stbtt__buf_range($0,$1,$15,$16); return; } else { - ___assert_fail((13146|0),(12564|0),1118,(13249|0)); + ___assert_fail((13454|0),(12872|0),1119,(13557|0)); // unreachable; } } @@ -30307,7 +30270,7 @@ function _stbtt__buf_get($0,$1) { if ($2) { $$01011 = 0;$$012 = 0; } else { - ___assert_fail((13041|0),(12564|0),1013,(13058|0)); + ___assert_fail((13349|0),(12872|0),1014,(13366|0)); // unreachable; } while(1) { @@ -30378,7 +30341,7 @@ function _stbtt__cff_int($0) { break; } default: { - ___assert_fail((13024|0),(12564|0),1063,(13026|0)); + ___assert_fail((13332|0),(12872|0),1064,(13334|0)); // unreachable; } } @@ -30549,7 +30512,7 @@ function _stbtt__new_buf($0,$1,$2) { HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; return; } else { - ___assert_fail((13073|0),(12564|0),1022,(13091|0)); + ___assert_fail((13381|0),(12872|0),1023,(13399|0)); // unreachable; } } @@ -30564,7 +30527,7 @@ function _stbtt__buf_seek($0,$1) { $5 = ($1|0)<(0); $or$cond = $5 | $4; if ($or$cond) { - ___assert_fail((13106|0),(12564|0),1000,(13130|0)); + ___assert_fail((13414|0),(12872|0),1001,(13438|0)); // unreachable; } else { $6 = ((($0)) + 4|0); @@ -30709,7 +30672,7 @@ function _stbtt__cff_get_index($0,$1) { $$off = (($6) + -1)<<24>>24; $8 = ($$off&255)<(4); if (!($8)) { - ___assert_fail((13146|0),(12564|0),1048,(13175|0)); + ___assert_fail((13454|0),(12872|0),1049,(13483|0)); // unreachable; } $9 = Math_imul($7, $4)|0; @@ -30806,7 +30769,7 @@ function _stbtt__cff_skip_operand($0) { $1 = (_stbtt__buf_peek8($0)|0); $2 = ($1&255)>(27); if (!($2)) { - ___assert_fail((13196|0),(12564|0),1069,(13205|0)); + ___assert_fail((13504|0),(12872|0),1070,(13513|0)); // unreachable; } $3 = ($1<<24>>24)==(30); @@ -31133,7 +31096,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { $$4352 = 0;$$9 = 0; break; } - ___assert_fail((13024|0),(12564|0),1723,(13343|0)); + ___assert_fail((13332|0),(12872|0),1724,(13651|0)); // unreachable; } $143 = ((($8)) + 10|0); @@ -31317,7 +31280,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { } } if ((label|0) == 42) { - ___assert_fail((13024|0),(12564|0),1670,(13343|0)); + ___assert_fail((13332|0),(12872|0),1671,(13651|0)); // unreachable; } $249 = ($$0348453|0)==(0|0); @@ -31372,7 +31335,7 @@ function _stbtt__GetGlyphShapeT2($0,$1,$2) { $$0 = $16; STACKTOP = sp;return ($$0|0); } else { - ___assert_fail((13270|0),(12564|0),2113,(13320|0)); + ___assert_fail((13578|0),(12872|0),2114,(13628|0)); // unreachable; } } @@ -31462,23 +31425,23 @@ function _stbtt_InitFont_internal($0,$1) { $20 = ((($0)) + 48|0); _stbtt__new_buf($2,0,0); ;HEAP32[$20>>2]=HEAP32[$2>>2]|0;HEAP32[$20+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$2+8>>2]|0; - $21 = (_stbtt__find_table($1,13443)|0); - $22 = (_stbtt__find_table($1,13448)|0); + $21 = (_stbtt__find_table($1,13751)|0); + $22 = (_stbtt__find_table($1,13756)|0); $23 = ((($0)) + 16|0); HEAP32[$23>>2] = $22; - $24 = (_stbtt__find_table($1,13453)|0); + $24 = (_stbtt__find_table($1,13761)|0); $25 = ((($0)) + 20|0); HEAP32[$25>>2] = $24; - $26 = (_stbtt__find_table($1,13458)|0); + $26 = (_stbtt__find_table($1,13766)|0); $27 = ((($0)) + 24|0); HEAP32[$27>>2] = $26; - $28 = (_stbtt__find_table($1,13463)|0); + $28 = (_stbtt__find_table($1,13771)|0); $29 = ((($0)) + 28|0); HEAP32[$29>>2] = $28; - $30 = (_stbtt__find_table($1,13468)|0); + $30 = (_stbtt__find_table($1,13776)|0); $31 = ((($0)) + 32|0); HEAP32[$31>>2] = $30; - $32 = (_stbtt__find_table($1,13473)|0); + $32 = (_stbtt__find_table($1,13781)|0); $33 = ((($0)) + 36|0); HEAP32[$33>>2] = $32; $34 = ($21|0)==(0); @@ -31512,7 +31475,7 @@ function _stbtt_InitFont_internal($0,$1) { HEAP32[$7>>2] = 0; HEAP32[$8>>2] = 0; HEAP32[$9>>2] = 0; - $45 = (_stbtt__find_table($1,13478)|0); + $45 = (_stbtt__find_table($1,13786)|0); $46 = ($45|0)==(0); do { if (!($46)) { @@ -31591,7 +31554,7 @@ function _stbtt_InitFont_internal($0,$1) { } } } while(0); - $68 = (_stbtt__find_table($1,13483)|0); + $68 = (_stbtt__find_table($1,13791)|0); $69 = ($68|0)==(0); if ($69) { $$sink = 65535; @@ -31954,8 +31917,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(23927,$0,$1)|0); - STACKTOP = sp;return (23927|0); + (_vsprintf(23919,$0,$1)|0); + STACKTOP = sp;return (23919|0); } function _emscripten_GetProcAddress($0) { $0 = $0|0; @@ -32003,7 +31966,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,13488)|0); + $12 = (_strstr($11,13796)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -32012,7 +31975,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,13492)|0); + $17 = (_strstr($16,13800)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -32021,7 +31984,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,13496)|0); + $22 = (_strstr($21,13804)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -32030,7 +31993,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,13500)|0); + $27 = (_strstr($26,13808)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -32039,1210 +32002,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,13506)|0); + $32 = (_strcmp($31,13814)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,13544)|0); + $35 = (_strcmp($34,13852)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 13563; + HEAP32[$3>>2] = 13871; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,13576)|0); + $38 = (_strcmp($37,13884)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 13597; + HEAP32[$3>>2] = 13905; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,13612)|0); + $41 = (_strcmp($40,13920)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 13627; + HEAP32[$3>>2] = 13935; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,13642)|0); + $44 = (_strcmp($43,13950)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 13657; + HEAP32[$3>>2] = 13965; } } else { - HEAP32[$3>>2] = 13528; + HEAP32[$3>>2] = 13836; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,13672)|0); + $47 = (_strcmp($46,13980)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,13686)|0); + $50 = (_strcmp($49,13994)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,13698)|0); + $53 = (_strcmp($52,14006)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,13712)|0); + $56 = (_strcmp($55,14020)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,13724)|0); + $59 = (_strcmp($58,14032)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,13738)|0); + $62 = (_strcmp($61,14046)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,13752)|0); + $65 = (_strcmp($64,14060)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,13769)|0); + $68 = (_strcmp($67,14077)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,13792)|0); + $71 = (_strcmp($70,14100)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,13818)|0); + $74 = (_strcmp($73,14126)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,13831)|0); + $77 = (_strcmp($76,14139)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,13847)|0); + $80 = (_strcmp($79,14155)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,13860)|0); + $83 = (_strcmp($82,14168)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,13874)|0); + $86 = (_strcmp($85,14182)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,13894)|0); + $89 = (_strcmp($88,14202)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,13914)|0); + $92 = (_strcmp($91,14222)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,13931)|0); + $95 = (_strcmp($94,14239)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,13948)|0); + $98 = (_strcmp($97,14256)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,13960)|0); + $101 = (_strcmp($100,14268)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,13973)|0); + $104 = (_strcmp($103,14281)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,13989)|0); + $107 = (_strcmp($106,14297)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,14012)|0); + $110 = (_strcmp($109,14320)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,14025)|0); + $113 = (_strcmp($112,14333)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,14041)|0); + $116 = (_strcmp($115,14349)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,14052)|0); + $119 = (_strcmp($118,14360)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,14071)|0); + $122 = (_strcmp($121,14379)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,14093)|0); + $125 = (_strcmp($124,14401)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,14112)|0); + $128 = (_strcmp($127,14420)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,14141)|0); + $131 = (_strcmp($130,14449)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,14158)|0); + $134 = (_strcmp($133,14466)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,14173)|0); + $137 = (_strcmp($136,14481)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,14188)|0); + $140 = (_strcmp($139,14496)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,14209)|0); + $143 = (_strcmp($142,14517)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,14229)|0); + $146 = (_strcmp($145,14537)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,14249)|0); + $149 = (_strcmp($148,14557)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,14275)|0); + $152 = (_strcmp($151,14583)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,14294)|0); + $155 = (_strcmp($154,14602)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,14306)|0); + $158 = (_strcmp($157,14614)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,14318)|0); + $161 = (_strcmp($160,14626)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,14330)|0); + $164 = (_strcmp($163,14638)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,14342)|0); + $167 = (_strcmp($166,14650)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,14354)|0); + $170 = (_strcmp($169,14662)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,14366)|0); + $173 = (_strcmp($172,14674)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,14378)|0); + $176 = (_strcmp($175,14686)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,14390)|0); + $179 = (_strcmp($178,14698)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,14403)|0); + $182 = (_strcmp($181,14711)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,14416)|0); + $185 = (_strcmp($184,14724)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,14429)|0); + $188 = (_strcmp($187,14737)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,14442)|0); + $191 = (_strcmp($190,14750)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,14455)|0); + $194 = (_strcmp($193,14763)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,14468)|0); + $197 = (_strcmp($196,14776)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,14481)|0); + $200 = (_strcmp($199,14789)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,14494)|0); + $203 = (_strcmp($202,14802)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,14513)|0); + $206 = (_strcmp($205,14821)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,14532)|0); + $209 = (_strcmp($208,14840)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,14551)|0); + $212 = (_strcmp($211,14859)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,14564)|0); + $215 = (_strcmp($214,14872)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,14582)|0); + $218 = (_strcmp($217,14890)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,14600)|0); + $221 = (_strcmp($220,14908)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,14618)|0); + $224 = (_strcmp($223,14926)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,14636)|0); + $227 = (_strcmp($226,14944)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,14656)|0); + $230 = (_strcmp($229,14964)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,13597)|0); + $233 = (_strcmp($232,13905)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,14674)|0); + $236 = (_strcmp($235,14982)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,14689)|0); + $239 = (_strcmp($238,14997)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,14710)|0); + $242 = (_strcmp($241,15018)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,14725)|0); + $245 = (_strcmp($244,15033)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,14743)|0); + $248 = (_strcmp($247,15051)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,14759)|0); + $251 = (_strcmp($250,15067)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,14778)|0); + $254 = (_strcmp($253,15086)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,14792)|0); + $257 = (_strcmp($256,15100)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,14807)|0); + $260 = (_strcmp($259,15115)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,13528)|0); + $263 = (_strcmp($262,13836)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,14818)|0); + $266 = (_strcmp($265,15126)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,13627)|0); + $269 = (_strcmp($268,13935)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,13657)|0); + $272 = (_strcmp($271,13965)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,14834)|0); + $275 = (_strcmp($274,15142)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,14861)|0); + $278 = (_strcmp($277,15169)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,14875)|0); + $281 = (_strcmp($280,15183)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,13563)|0); + $284 = (_strcmp($283,13871)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,14895)|0); + $287 = (_strcmp($286,15203)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,14913)|0); + $290 = (_strcmp($289,15221)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,14925)|0); + $293 = (_strcmp($292,15233)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,14946)|0); + $296 = (_strcmp($295,15254)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,14964)|0); + $299 = (_strcmp($298,15272)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,14982)|0); + $302 = (_strcmp($301,15290)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,15003)|0); + $305 = (_strcmp($304,15311)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,15029)|0); + $308 = (_strcmp($307,15337)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,15052)|0); + $311 = (_strcmp($310,15360)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,15090)|0); + $314 = (_strcmp($313,15398)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,15106)|0); + $317 = (_strcmp($316,15414)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,15121)|0); + $320 = (_strcmp($319,15429)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,15144)|0); + $323 = (_strcmp($322,15452)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,15157)|0); + $326 = (_strcmp($325,15465)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,15171)|0); + $329 = (_strcmp($328,15479)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,15185)|0); + $332 = (_strcmp($331,15493)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,15205)|0); + $335 = (_strcmp($334,15513)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,15225)|0); + $338 = (_strcmp($337,15533)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,15241)|0); + $341 = (_strcmp($340,15549)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,15259)|0); + $344 = (_strcmp($343,15567)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,15275)|0); + $347 = (_strcmp($346,15583)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,15290)|0); + $350 = (_strcmp($349,15598)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,15312)|0); + $353 = (_strcmp($352,15620)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,15330)|0); + $356 = (_strcmp($355,15638)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,15351)|0); + $359 = (_strcmp($358,15659)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,15369)|0); + $362 = (_strcmp($361,15677)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,15382)|0); + $365 = (_strcmp($364,15690)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,15397)|0); + $368 = (_strcmp($367,15705)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,15411)|0); + $371 = (_strcmp($370,15719)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,15421)|0); + $374 = (_strcmp($373,15729)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,15431)|0); + $377 = (_strcmp($376,15739)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,15453)|0); + $380 = (_strcmp($379,15761)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,15479)|0); + $383 = (_strcmp($382,15787)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,15506)|0); + $386 = (_strcmp($385,15814)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,15519)|0); + $389 = (_strcmp($388,15827)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,15534)|0); + $392 = (_strcmp($391,15842)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,15549)|0); + $395 = (_strcmp($394,15857)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,15573)|0); + $398 = (_strcmp($397,15881)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,15584)|0); + $401 = (_strcmp($400,15892)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,15606)|0); + $404 = (_strcmp($403,15914)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,15628)|0); + $407 = (_strcmp($406,15936)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,15652)|0); + $410 = (_strcmp($409,15960)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,15661)|0); + $413 = (_strcmp($412,15969)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,15669)|0); + $416 = (_strcmp($415,15977)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,15682)|0); + $419 = (_strcmp($418,15990)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,15696)|0); + $422 = (_strcmp($421,16004)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,15708)|0); + $425 = (_strcmp($424,16016)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,15717)|0); + $428 = (_strcmp($427,16025)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,15727)|0); + $431 = (_strcmp($430,16035)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,15739)|0); + $434 = (_strcmp($433,16047)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,15750)|0); + $437 = (_strcmp($436,16058)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,15758)|0); + $440 = (_strcmp($439,16066)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,15770)|0); + $443 = (_strcmp($442,16078)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,15785)|0); + $446 = (_strcmp($445,16093)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,15797)|0); + $449 = (_strcmp($448,16105)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,15811)|0); + $452 = (_strcmp($451,16119)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,15836)|0); + $455 = (_strcmp($454,16144)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,15853)|0); + $458 = (_strcmp($457,16161)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,15869)|0); + $461 = (_strcmp($460,16177)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,15885)|0); + $464 = (_strcmp($463,16193)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,15897)|0); + $467 = (_strcmp($466,16205)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,15909)|0); + $470 = (_strcmp($469,16217)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,15933)|0); + $473 = (_strcmp($472,16241)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,15946)|0); + $476 = (_strcmp($475,16254)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,15960)|0); + $479 = (_strcmp($478,16268)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,15982)|0); + $482 = (_strcmp($481,16290)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,15989)|0); + $485 = (_strcmp($484,16297)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,16005)|0); + $488 = (_strcmp($487,16313)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,16022)|0); + $491 = (_strcmp($490,16330)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,16039)|0); + $494 = (_strcmp($493,16347)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,16055)|0); + $497 = (_strcmp($496,16363)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,16071)|0); + $500 = (_strcmp($499,16379)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,16088)|0); + $503 = (_strcmp($502,16396)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,16102)|0); + $506 = (_strcmp($505,16410)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,16114)|0); + $509 = (_strcmp($508,16422)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,16125)|0); + $512 = (_strcmp($511,16433)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,16138)|0); + $515 = (_strcmp($514,16446)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,16148)|0); + $518 = (_strcmp($517,16456)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,16165)|0); + $521 = (_strcmp($520,16473)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,16177)|0); + $524 = (_strcmp($523,16485)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,16199)|0); + $527 = (_strcmp($526,16507)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,16219)|0); + $530 = (_strcmp($529,16527)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,16232)|0); + $533 = (_strcmp($532,16540)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,16254)|0); + $536 = (_strcmp($535,16562)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,16274)|0); + $539 = (_strcmp($538,16582)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,16291)|0); + $542 = (_strcmp($541,16599)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,16308)|0); + $545 = (_strcmp($544,16616)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,16328)|0); + $548 = (_strcmp($547,16636)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -33264,7 +33227,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (21740|0); + return (22052|0); } function ___stdio_close($0) { $0 = $0|0; @@ -33721,7 +33684,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((16445) + ($50)|0); + $49 = ((16753) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -33753,7 +33716,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((16445) + ($$0159)|0); + $60 = ((16753) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -33889,10 +33852,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (16701 + ($128)|0); + $129 = (17009 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((16445) + ($$1160169)|0); + $132 = ((16753) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -33914,7 +33877,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((16445) + ($$4163$be)|0); + $146 = ((16753) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -33965,7 +33928,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((16445) + ($$5$be)|0); + $178 = ((16753) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -33984,7 +33947,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((16445) + ($$1160169)|0); + $122 = ((16753) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -34006,7 +33969,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((16445) + ($$6$be)|0); + $197 = ((16753) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -34068,7 +34031,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((16445) + ($$7$be)|0); + $234 = ((16753) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -34087,7 +34050,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((16445) + ($$8)|0); + $238 = ((16753) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -34106,7 +34069,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((16445) + ($$9$be)|0); + $249 = ((16753) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -34942,7 +34905,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((16710 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((17018 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -35120,7 +35083,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 17174;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 17482;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -35141,7 +35104,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 17174;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 17482;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -35149,8 +35112,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 17174 : (17176); - $$$ = $238 ? $$ : (17175); + $$ = $240 ? 17482 : (17484); + $$$ = $238 ? $$ : (17483); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -35167,7 +35130,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 17174;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 17482;$242 = $167;$243 = $170; label = 66; break; } @@ -35180,7 +35143,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 17174;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 17482;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -35194,7 +35157,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 17184; + $271 = $270 ? $269 : 17492; $$1 = $271; label = 71; break; @@ -35234,7 +35197,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 17174;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 17482;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -35256,8 +35219,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (17174 + ($208)|0); - $$289 = $or$cond283 ? 17174 : $209; + $209 = (17482 + ($208)|0); + $$289 = $or$cond283 ? 17482 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -35278,7 +35241,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 17174;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 17482;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -35808,7 +35771,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (17222 + ($7)|0); + $9 = (17530 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -36166,14 +36129,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 17191; + $$0471 = $14;$$0520 = 1;$$0521 = 17499; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (17192) : (17197); - $$$ = $16 ? $$ : (17194); + $$ = $18 ? (17500) : (17505); + $$$ = $16 ? $$ : (17502); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -36272,7 +36235,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (17222 + ($80)|0); + $81 = (17530 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -36883,7 +36846,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,17238,1); + _out($0,17546,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -36964,7 +36927,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,17238,1); + _out($0,17546,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -37021,9 +36984,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 17210 : 17214; + $29 = $28 ? 17518 : 17522; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 19141 : 17218; + $31 = $28 ? 19449 : 17526; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -37233,7 +37196,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (17240 + ($$016)|0); + $3 = (17548 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -37244,7 +37207,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 17328;$$115 = 87; + $$01214 = 17636;$$115 = 87; label = 5; break; } else { @@ -37254,9 +37217,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 17328; + $$012$lcssa = 17636; } else { - $$01214 = 17328;$$115 = $$016; + $$01214 = 17636;$$115 = $$016; label = 5; } } @@ -37681,7 +37644,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (19132 + ($$0107127)|0); + $27 = (19440 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -37748,7 +37711,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (19141 + ($$2109125)|0); + $58 = (19449 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -39999,7 +39962,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 21804 : $3; + $$ = $5 ? 22116 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -40290,7 +40253,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(19145,$3,4)|0); + $memchr = (_memchr(19453,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -40379,7 +40342,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(19145,$4,4)|0); + $memchr = (_memchr(19453,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -40470,7 +40433,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(21744)>>2]|0; + $38 = HEAP32[(22056)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -40503,13 +40466,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((21808|0)); - return (21816|0); + ___lock((22120|0)); + return (22128|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((21808|0)); + ___unlock((22120|0)); return; } function _fclose($0) { @@ -42825,7 +42788,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 19416; + $2 = 19728; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -43080,7 +43043,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5455]|0; + $3 = HEAP32[5533]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -43099,22 +43062,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5455] = 0; + HEAP32[5533] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5455] = $10; + HEAP32[5533] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5455] = 0; + HEAP32[5533] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5455] = $13; + HEAP32[5533] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -43195,7 +43158,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5456]|0; + $8 = HEAP32[5534]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -43204,7 +43167,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (21864 + ($15<<2)|0); + $16 = (22176 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -43215,9 +43178,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5456] = $24; + HEAP32[5534] = $24; } else { - $25 = HEAP32[(21840)>>2]|0; + $25 = HEAP32[(22152)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -43248,7 +43211,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(21832)>>2]|0; + $37 = HEAP32[(22144)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -43282,7 +43245,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (21864 + ($68<<2)|0); + $69 = (22176 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -43293,10 +43256,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5456] = $77; + HEAP32[5534] = $77; $98 = $77; } else { - $78 = HEAP32[(21840)>>2]|0; + $78 = HEAP32[(22152)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -43329,22 +43292,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(21844)>>2]|0; + $92 = HEAP32[(22156)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (21864 + ($94<<2)|0); + $95 = (22176 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5456] = $100; + HEAP32[5534] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21840)>>2]|0; + $103 = HEAP32[(22152)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -43361,12 +43324,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(21832)>>2] = $84; - HEAP32[(21844)>>2] = $87; + HEAP32[(22144)>>2] = $84; + HEAP32[(22156)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(21828)>>2]|0; + $108 = HEAP32[(22140)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -43394,7 +43357,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (22128 + ($132<<2)|0); + $133 = (22440 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -43434,7 +43397,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(21840)>>2]|0; + $155 = HEAP32[(22152)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -43529,7 +43492,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (22128 + ($188<<2)|0); + $189 = (22440 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -43540,11 +43503,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(21828)>>2] = $194; + HEAP32[(22140)>>2] = $194; break L73; } } else { - $195 = HEAP32[(21840)>>2]|0; + $195 = HEAP32[(22152)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -43565,7 +43528,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(21840)>>2]|0; + $201 = HEAP32[(22152)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -43595,7 +43558,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(21840)>>2]|0; + $213 = HEAP32[(22152)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -43632,22 +43595,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(21844)>>2]|0; + $231 = HEAP32[(22156)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (21864 + ($233<<2)|0); + $234 = (22176 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5456] = $238; + HEAP32[5534] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21840)>>2]|0; + $241 = HEAP32[(22152)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -43664,8 +43627,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(21832)>>2] = $$0193$lcssa$i; - HEAP32[(21844)>>2] = $157; + HEAP32[(22144)>>2] = $$0193$lcssa$i; + HEAP32[(22156)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -43681,7 +43644,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(21828)>>2]|0; + $250 = HEAP32[(22140)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -43721,7 +43684,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (22128 + ($$0358$i<<2)|0); + $278 = (22440 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -43813,7 +43776,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (22128 + ($330<<2)|0); + $331 = (22440 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -43857,11 +43820,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(21832)>>2]|0; + $345 = HEAP32[(22144)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(21840)>>2]|0; + $348 = HEAP32[(22152)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -43958,7 +43921,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (22128 + ($381<<2)|0); + $382 = (22440 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -43969,12 +43932,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(21828)>>2] = $387; + HEAP32[(22140)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(21840)>>2]|0; + $388 = HEAP32[(22152)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -43996,7 +43959,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(21840)>>2]|0; + $394 = HEAP32[(22152)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -44028,7 +43991,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(21840)>>2]|0; + $406 = HEAP32[(22152)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -44069,20 +44032,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (21864 + ($425<<2)|0); - $427 = HEAP32[5456]|0; + $426 = (22176 + ($425<<2)|0); + $427 = HEAP32[5534]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5456] = $431; + HEAP32[5534] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21840)>>2]|0; + $434 = HEAP32[(22152)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -44134,7 +44097,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (22128 + ($$0361$i<<2)|0); + $464 = (22440 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -44146,7 +44109,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(21828)>>2] = $472; + HEAP32[(22140)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -44185,7 +44148,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(21840)>>2]|0; + $491 = HEAP32[(22152)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -44204,7 +44167,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21840)>>2]|0; + $498 = HEAP32[(22152)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -44237,16 +44200,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(21832)>>2]|0; + $506 = HEAP32[(22144)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21844)>>2]|0; + $509 = HEAP32[(22156)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(21844)>>2] = $511; - HEAP32[(21832)>>2] = $508; + HEAP32[(22156)>>2] = $511; + HEAP32[(22144)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -44256,8 +44219,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(21832)>>2] = 0; - HEAP32[(21844)>>2] = 0; + HEAP32[(22144)>>2] = 0; + HEAP32[(22156)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -44271,14 +44234,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(21836)>>2]|0; + $524 = HEAP32[(22148)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(21836)>>2] = $526; - $527 = HEAP32[(21848)>>2]|0; + HEAP32[(22148)>>2] = $526; + $527 = HEAP32[(22160)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(21848)>>2] = $528; + HEAP32[(22160)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -44289,23 +44252,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5574]|0; + $534 = HEAP32[5652]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(22304)>>2] = 4096; - HEAP32[(22300)>>2] = 4096; - HEAP32[(22308)>>2] = -1; - HEAP32[(22312)>>2] = -1; - HEAP32[(22316)>>2] = 0; - HEAP32[(22268)>>2] = 0; + HEAP32[(22616)>>2] = 4096; + HEAP32[(22612)>>2] = 4096; + HEAP32[(22620)>>2] = -1; + HEAP32[(22624)>>2] = -1; + HEAP32[(22628)>>2] = 0; + HEAP32[(22580)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5574] = $538; + HEAP32[5652] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(22304)>>2]|0; + $$pre$i212 = HEAP32[(22616)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -44318,10 +44281,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(22264)>>2]|0; + $546 = HEAP32[(22576)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(22256)>>2]|0; + $548 = HEAP32[(22568)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -44331,18 +44294,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(22268)>>2]|0; + $552 = HEAP32[(22580)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(21848)>>2]|0; + $555 = HEAP32[(22160)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (22272); + $$0$i$i = (22584); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -44400,7 +44363,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(22300)>>2]|0; + $569 = HEAP32[(22612)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -44410,13 +44373,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(22256)>>2]|0; + $578 = HEAP32[(22568)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(22264)>>2]|0; + $582 = HEAP32[(22576)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -44462,7 +44425,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(22304)>>2]|0; + $601 = HEAP32[(22616)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -44487,9 +44450,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(22268)>>2]|0; + $611 = HEAP32[(22580)>>2]|0; $612 = $611 | 4; - HEAP32[(22268)>>2] = $612; + HEAP32[(22580)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -44525,35 +44488,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(22256)>>2]|0; + $626 = HEAP32[(22568)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(22256)>>2] = $627; - $628 = HEAP32[(22260)>>2]|0; + HEAP32[(22568)>>2] = $627; + $628 = HEAP32[(22572)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(22260)>>2] = $627; + HEAP32[(22572)>>2] = $627; } - $630 = HEAP32[(21848)>>2]|0; + $630 = HEAP32[(22160)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(21840)>>2]|0; + $632 = HEAP32[(22152)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(21840)>>2] = $$749$i; + HEAP32[(22152)>>2] = $$749$i; } - HEAP32[(22272)>>2] = $$749$i; - HEAP32[(22276)>>2] = $$723948$i; - HEAP32[(22284)>>2] = 0; - $635 = HEAP32[5574]|0; - HEAP32[(21860)>>2] = $635; - HEAP32[(21856)>>2] = -1; + HEAP32[(22584)>>2] = $$749$i; + HEAP32[(22588)>>2] = $$723948$i; + HEAP32[(22596)>>2] = 0; + $635 = HEAP32[5652]|0; + HEAP32[(22172)>>2] = $635; + HEAP32[(22168)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (21864 + ($636<<2)|0); + $637 = (22176 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -44576,18 +44539,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(21848)>>2] = $649; - HEAP32[(21836)>>2] = $650; + HEAP32[(22160)>>2] = $649; + HEAP32[(22148)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(22312)>>2]|0; - HEAP32[(21852)>>2] = $655; + $655 = HEAP32[(22624)>>2]|0; + HEAP32[(22164)>>2] = $655; } else { - $$024371$i = (22272); + $$024371$i = (22584); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -44619,7 +44582,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(21836)>>2]|0; + $671 = HEAP32[(22148)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -44630,30 +44593,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(21848)>>2] = $679; - HEAP32[(21836)>>2] = $681; + HEAP32[(22160)>>2] = $679; + HEAP32[(22148)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(22312)>>2]|0; - HEAP32[(21852)>>2] = $686; + $686 = HEAP32[(22624)>>2]|0; + HEAP32[(22164)>>2] = $686; break; } } } - $687 = HEAP32[(21840)>>2]|0; + $687 = HEAP32[(22152)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(21840)>>2] = $$749$i; + HEAP32[(22152)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (22272); + $$124470$i = (22584); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -44708,21 +44671,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(21836)>>2]|0; + $726 = HEAP32[(22148)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(21836)>>2] = $727; - HEAP32[(21848)>>2] = $721; + HEAP32[(22148)>>2] = $727; + HEAP32[(22160)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(21844)>>2]|0; + $730 = HEAP32[(22156)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(21832)>>2]|0; + $732 = HEAP32[(22144)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(21832)>>2] = $733; - HEAP32[(21844)>>2] = $721; + HEAP32[(22144)>>2] = $733; + HEAP32[(22156)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -44745,7 +44708,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (21864 + ($748<<2)|0); + $749 = (22176 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -44768,9 +44731,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5456]|0; + $759 = HEAP32[5534]|0; $760 = $759 & $758; - HEAP32[5456] = $760; + HEAP32[5534] = $760; break; } $761 = ($747|0)==($749|0); @@ -44883,7 +44846,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (22128 + ($796<<2)|0); + $797 = (22440 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -44895,12 +44858,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(21828)>>2]|0; + $802 = HEAP32[(22140)>>2]|0; $803 = $802 & $801; - HEAP32[(21828)>>2] = $803; + HEAP32[(22140)>>2] = $803; break L314; } else { - $804 = HEAP32[(21840)>>2]|0; + $804 = HEAP32[(22152)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -44921,7 +44884,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(21840)>>2]|0; + $810 = HEAP32[(22152)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -44953,7 +44916,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(21840)>>2]|0; + $822 = HEAP32[(22152)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -44986,21 +44949,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (21864 + ($836<<2)|0); - $838 = HEAP32[5456]|0; + $837 = (22176 + ($836<<2)|0); + $838 = HEAP32[5534]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5456] = $842; + HEAP32[5534] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21840)>>2]|0; + $845 = HEAP32[(22152)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -45055,20 +45018,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (22128 + ($$0296$i$i<<2)|0); + $875 = (22440 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(21828)>>2]|0; + $879 = HEAP32[(22140)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(21828)>>2] = $883; + HEAP32[(22140)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -45107,7 +45070,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(21840)>>2]|0; + $902 = HEAP32[(22152)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -45126,7 +45089,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21840)>>2]|0; + $909 = HEAP32[(22152)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -45153,7 +45116,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (22272); + $$0$i$i$i = (22584); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -45194,23 +45157,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(21848)>>2] = $946; - HEAP32[(21836)>>2] = $947; + HEAP32[(22160)>>2] = $946; + HEAP32[(22148)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(22312)>>2]|0; - HEAP32[(21852)>>2] = $952; + $952 = HEAP32[(22624)>>2]|0; + HEAP32[(22164)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(22272)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22272)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22272)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22272)+12>>2]|0; - HEAP32[(22272)>>2] = $$749$i; - HEAP32[(22276)>>2] = $$723948$i; - HEAP32[(22284)>>2] = 0; - HEAP32[(22280)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(22584)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22584)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22584)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22584)+12>>2]|0; + HEAP32[(22584)>>2] = $$749$i; + HEAP32[(22588)>>2] = $$723948$i; + HEAP32[(22596)>>2] = 0; + HEAP32[(22592)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -45239,20 +45202,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (21864 + ($968<<2)|0); - $970 = HEAP32[5456]|0; + $969 = (22176 + ($968<<2)|0); + $970 = HEAP32[5534]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5456] = $974; + HEAP32[5534] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21840)>>2]|0; + $977 = HEAP32[(22152)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -45304,19 +45267,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (22128 + ($$0212$i$i<<2)|0); + $1007 = (22440 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21828)>>2]|0; + $1010 = HEAP32[(22140)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(21828)>>2] = $1014; + HEAP32[(22140)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -45355,7 +45318,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(21840)>>2]|0; + $1033 = HEAP32[(22152)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -45374,7 +45337,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21840)>>2]|0; + $1040 = HEAP32[(22152)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -45397,14 +45360,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(21836)>>2]|0; + $1048 = HEAP32[(22148)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(21836)>>2] = $1050; - $1051 = HEAP32[(21848)>>2]|0; + HEAP32[(22148)>>2] = $1050; + $1051 = HEAP32[(22160)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(21848)>>2] = $1052; + HEAP32[(22160)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -45447,7 +45410,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(21840)>>2]|0; + $3 = HEAP32[(22152)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -45480,7 +45443,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(21844)>>2]|0; + $19 = HEAP32[(22156)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -45495,7 +45458,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(21832)>>2] = $17; + HEAP32[(22144)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -45509,7 +45472,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (21864 + ($27<<2)|0); + $28 = (22176 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -45529,9 +45492,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5456]|0; + $37 = HEAP32[5534]|0; $38 = $37 & $36; - HEAP32[5456] = $38; + HEAP32[5534] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -45645,7 +45608,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (22128 + ($74<<2)|0); + $75 = (22440 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -45655,14 +45618,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(21828)>>2]|0; + $80 = HEAP32[(22140)>>2]|0; $81 = $80 & $79; - HEAP32[(21828)>>2] = $81; + HEAP32[(22140)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(21840)>>2]|0; + $82 = HEAP32[(22152)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -45684,7 +45647,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(21840)>>2]|0; + $88 = HEAP32[(22152)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -45716,7 +45679,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(21840)>>2]|0; + $100 = HEAP32[(22152)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -45751,14 +45714,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(21848)>>2]|0; + $120 = HEAP32[(22160)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(21844)>>2]|0; + $122 = HEAP32[(22156)>>2]|0; if ($121) { - $123 = HEAP32[(21836)>>2]|0; + $123 = HEAP32[(22148)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(21836)>>2] = $124; - HEAP32[(21848)>>2] = $$1; + HEAP32[(22148)>>2] = $124; + HEAP32[(22160)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -45766,16 +45729,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(21844)>>2] = 0; - HEAP32[(21832)>>2] = 0; + HEAP32[(22156)>>2] = 0; + HEAP32[(22144)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(21832)>>2]|0; + $129 = HEAP32[(22144)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(21832)>>2] = $130; - HEAP32[(21844)>>2] = $113; + HEAP32[(22144)>>2] = $130; + HEAP32[(22156)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -45794,10 +45757,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (21864 + ($142<<2)|0); + $143 = (22176 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(21840)>>2]|0; + $145 = HEAP32[(22152)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -45815,9 +45778,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5456]|0; + $153 = HEAP32[5534]|0; $154 = $153 & $152; - HEAP32[5456] = $154; + HEAP32[5534] = $154; break; } $155 = ($141|0)==($143|0); @@ -45825,7 +45788,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(21840)>>2]|0; + $156 = HEAP32[(22152)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -45885,7 +45848,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(21840)>>2]|0; + $189 = HEAP32[(22152)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -45898,7 +45861,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21840)>>2]|0; + $169 = HEAP32[(22152)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -45929,7 +45892,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (22128 + ($193<<2)|0); + $194 = (22440 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -45939,13 +45902,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(21828)>>2]|0; + $199 = HEAP32[(22140)>>2]|0; $200 = $199 & $198; - HEAP32[(21828)>>2] = $200; + HEAP32[(22140)>>2] = $200; break L108; } } else { - $201 = HEAP32[(21840)>>2]|0; + $201 = HEAP32[(22152)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -45966,7 +45929,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(21840)>>2]|0; + $207 = HEAP32[(22152)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -45996,7 +45959,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(21840)>>2]|0; + $219 = HEAP32[(22152)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -46017,10 +45980,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(21844)>>2]|0; + $226 = HEAP32[(22156)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(21832)>>2] = $135; + HEAP32[(22144)>>2] = $135; return; } else { $$2 = $135; @@ -46039,20 +46002,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (21864 + ($234<<2)|0); - $236 = HEAP32[5456]|0; + $235 = (22176 + ($234<<2)|0); + $236 = HEAP32[5534]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5456] = $240; + HEAP32[5534] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21840)>>2]|0; + $243 = HEAP32[(22152)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -46104,21 +46067,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (22128 + ($$0396<<2)|0); + $273 = (22440 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(21828)>>2]|0; + $277 = HEAP32[(22140)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(21828)>>2] = $281; + HEAP32[(22140)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -46156,7 +46119,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(21840)>>2]|0; + $300 = HEAP32[(22152)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -46175,7 +46138,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21840)>>2]|0; + $307 = HEAP32[(22152)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -46197,12 +46160,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(21856)>>2]|0; + $314 = HEAP32[(22168)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(21856)>>2] = $315; + HEAP32[(22168)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (22280); + $$0212$in$i = (22592); } else { return; } @@ -46216,7 +46179,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(21856)>>2] = -1; + HEAP32[(22168)>>2] = -1; return; } function _realloc($0,$1) { @@ -46288,7 +46251,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(21840)>>2]|0; + $6 = HEAP32[(22152)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -46318,7 +46281,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(22304)>>2]|0; + $18 = HEAP32[(22616)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -46354,10 +46317,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(21848)>>2]|0; + $34 = HEAP32[(22160)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(21836)>>2]|0; + $36 = HEAP32[(22148)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -46373,15 +46336,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(21848)>>2] = $40; - HEAP32[(21836)>>2] = $39; + HEAP32[(22160)>>2] = $40; + HEAP32[(22148)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(21844)>>2]|0; + $46 = HEAP32[(22156)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(21832)>>2]|0; + $48 = HEAP32[(22144)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -46417,8 +46380,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(21832)>>2] = $storemerge1; - HEAP32[(21844)>>2] = $storemerge; + HEAP32[(22144)>>2] = $storemerge1; + HEAP32[(22156)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -46445,7 +46408,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (21864 + ($81<<2)|0); + $82 = (22176 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -46465,9 +46428,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5456]|0; + $91 = HEAP32[5534]|0; $92 = $91 & $90; - HEAP32[5456] = $92; + HEAP32[5534] = $92; break; } $93 = ($80|0)==($82|0); @@ -46576,7 +46539,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (22128 + ($128<<2)|0); + $129 = (22440 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -46586,13 +46549,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(21828)>>2]|0; + $134 = HEAP32[(22140)>>2]|0; $135 = $134 & $133; - HEAP32[(21828)>>2] = $135; + HEAP32[(22140)>>2] = $135; break L49; } } else { - $136 = HEAP32[(21840)>>2]|0; + $136 = HEAP32[(22152)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -46613,7 +46576,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(21840)>>2]|0; + $142 = HEAP32[(22152)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -46643,7 +46606,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(21840)>>2]|0; + $154 = HEAP32[(22152)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -46728,13 +46691,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(21840)>>2]|0; + $13 = HEAP32[(22152)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(21844)>>2]|0; + $15 = HEAP32[(22156)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -46749,7 +46712,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(21832)>>2] = $12; + HEAP32[(22144)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -46763,7 +46726,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (21864 + ($23<<2)|0); + $24 = (22176 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -46783,9 +46746,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5456]|0; + $33 = HEAP32[5534]|0; $34 = $33 & $32; - HEAP32[5456] = $34; + HEAP32[5534] = $34; $$1 = $11;$$1418 = $12; break; } @@ -46899,7 +46862,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (22128 + ($70<<2)|0); + $71 = (22440 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -46909,14 +46872,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(21828)>>2]|0; + $76 = HEAP32[(22140)>>2]|0; $77 = $76 & $75; - HEAP32[(21828)>>2] = $77; + HEAP32[(22140)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(21840)>>2]|0; + $78 = HEAP32[(22152)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -46938,7 +46901,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(21840)>>2]|0; + $84 = HEAP32[(22152)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -46970,7 +46933,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(21840)>>2]|0; + $96 = HEAP32[(22152)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -46989,7 +46952,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(21840)>>2]|0; + $108 = HEAP32[(22152)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -47000,14 +46963,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(21848)>>2]|0; + $114 = HEAP32[(22160)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(21844)>>2]|0; + $116 = HEAP32[(22156)>>2]|0; if ($115) { - $117 = HEAP32[(21836)>>2]|0; + $117 = HEAP32[(22148)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(21836)>>2] = $118; - HEAP32[(21848)>>2] = $$1; + HEAP32[(22148)>>2] = $118; + HEAP32[(22160)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -47015,16 +46978,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(21844)>>2] = 0; - HEAP32[(21832)>>2] = 0; + HEAP32[(22156)>>2] = 0; + HEAP32[(22144)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(21832)>>2]|0; + $123 = HEAP32[(22144)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(21832)>>2] = $124; - HEAP32[(21844)>>2] = $$1; + HEAP32[(22144)>>2] = $124; + HEAP32[(22156)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -47043,7 +47006,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (21864 + ($136<<2)|0); + $137 = (22176 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -47063,9 +47026,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5456]|0; + $146 = HEAP32[5534]|0; $147 = $146 & $145; - HEAP32[5456] = $147; + HEAP32[5534] = $147; break; } $148 = ($135|0)==($137|0); @@ -47174,7 +47137,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (22128 + ($183<<2)|0); + $184 = (22440 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -47184,13 +47147,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(21828)>>2]|0; + $189 = HEAP32[(22140)>>2]|0; $190 = $189 & $188; - HEAP32[(21828)>>2] = $190; + HEAP32[(22140)>>2] = $190; break L96; } } else { - $191 = HEAP32[(21840)>>2]|0; + $191 = HEAP32[(22152)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -47211,7 +47174,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(21840)>>2]|0; + $197 = HEAP32[(22152)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -47241,7 +47204,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(21840)>>2]|0; + $209 = HEAP32[(22152)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -47262,10 +47225,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(21844)>>2]|0; + $216 = HEAP32[(22156)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(21832)>>2] = $129; + HEAP32[(22144)>>2] = $129; return; } else { $$2 = $129; @@ -47284,20 +47247,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (21864 + ($224<<2)|0); - $226 = HEAP32[5456]|0; + $225 = (22176 + ($224<<2)|0); + $226 = HEAP32[5534]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5456] = $230; + HEAP32[5534] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(21840)>>2]|0; + $233 = HEAP32[(22152)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -47349,20 +47312,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (22128 + ($$0431<<2)|0); + $263 = (22440 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(21828)>>2]|0; + $267 = HEAP32[(22140)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(21828)>>2] = $271; + HEAP32[(22140)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -47401,7 +47364,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(21840)>>2]|0; + $290 = HEAP32[(22152)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -47419,7 +47382,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(21840)>>2]|0; + $297 = HEAP32[(22152)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/text/text_bmfont_unordered.png b/docs/examples/web/text/text_bmfont_unordered.png similarity index 100% rename from docs/examples/img/text/text_bmfont_unordered.png rename to docs/examples/web/text/text_bmfont_unordered.png diff --git a/docs/examples/web/text/text_format_text.js b/docs/examples/web/text/text_format_text.js index e2d2e199e..f8b56614d 100644 --- a/docs/examples/web/text/text_format_text.js +++ b/docs/examples/web/text/text_format_text.js @@ -7239,6 +7239,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7338,13 +7388,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8295,45 +8338,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/text/text_format_text.png b/docs/examples/web/text/text_format_text.png similarity index 100% rename from docs/examples/img/text/text_format_text.png rename to docs/examples/web/text/text_format_text.png diff --git a/docs/examples/web/text/text_input_box.c b/docs/examples/web/text/text_input_box.c new file mode 100644 index 000000000..5765df94e --- /dev/null +++ b/docs/examples/web/text/text_input_box.c @@ -0,0 +1,145 @@ +/******************************************************************************************* +* +* raylib [text] example - Input Box +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#define MAX_INPUT_CHARS 9 + +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +char name[MAX_INPUT_CHARS + 1] = "\0"; // NOTE: One extra space required for line ending char '\0' +int letterCount = 0; + +Rectangle textBox; +bool mouseOnText = false; + +int framesCounter = 0; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + InitWindow(screenWidth, screenHeight, "raylib [text] example - input box"); + + textBox = (Rectangle){ screenWidth/2 - 100, 180, 225, 50 }; + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (CheckCollisionPointRec(GetMousePosition(), textBox)) mouseOnText = true; + else mouseOnText = false; + + if (mouseOnText) + { + int key = GetKeyPressed(); + + // NOTE: Only allow keys in range [32..125] + if ((key >= 32) && (key <= 125) && (letterCount < MAX_INPUT_CHARS)) + { + name[letterCount] = (char)key; + letterCount++; + } + + if (key == KEY_BACKSPACE) + { + letterCount--; + name[letterCount] = '\0'; + + if (letterCount < 0) letterCount = 0; + } + } + + if (mouseOnText) framesCounter++; + else framesCounter = 0; + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("PLACE MOUSE OVER INPUT BOX!", 240, 140, 20, GRAY); + + DrawRectangleRec(textBox, LIGHTGRAY); + if (mouseOnText) DrawRectangleLines(textBox.x, textBox.y, textBox.width, textBox.height, RED); + else DrawRectangleLines(textBox.x, textBox.y, textBox.width, textBox.height, DARKGRAY); + + DrawText(name, textBox.x + 5, textBox.y + 8, 40, MAROON); + + DrawText(FormatText("INPUT CHARS: %i/%i", letterCount, MAX_INPUT_CHARS), 315, 250, 20, DARKGRAY); + + if (mouseOnText) + { + if (letterCount < MAX_INPUT_CHARS) + { + // Draw blinking underscore char + if (((framesCounter/20)%2) == 0) DrawText("_", textBox.x + 8 + MeasureText(name, 40), textBox.y + 12, 40, MAROON); + } + else DrawText("Press BACKSPACE to delete chars...", 230, 300, 20, GRAY); + } + + EndDrawing(); + //---------------------------------------------------------------------------------- +} + +// Check if any key is pressed +// NOTE: We limit keys check to keys between 32 (KEY_SPACE) and 126 +bool IsAnyKeyPressed() +{ + bool keyPressed = false; + int key = GetKeyPressed(); + + if ((key >= 32) && (key <= 126)) keyPressed = true; + + return keyPressed; +} \ No newline at end of file diff --git a/docs/examples/web/text/text_input_box.js b/docs/examples/web/text/text_input_box.js new file mode 100644 index 000000000..9492ca0cc --- /dev/null +++ b/docs/examples/web/text/text_input_box.js @@ -0,0 +1,24740 @@ +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// The environment setup code below is customized to use Module. +// *** Environment setup code *** +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +// 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) + +if (Module['ENVIRONMENT']) { + if (Module['ENVIRONMENT'] === 'WEB') { + ENVIRONMENT_IS_WEB = true; + } else if (Module['ENVIRONMENT'] === 'WORKER') { + ENVIRONMENT_IS_WORKER = true; + } else if (Module['ENVIRONMENT'] === 'NODE') { + ENVIRONMENT_IS_NODE = true; + } else if (Module['ENVIRONMENT'] === 'SHELL') { + ENVIRONMENT_IS_SHELL = true; + } else { + throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); + } +} else { + 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 (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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var 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, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. 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 + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // 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'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (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 Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// Runtime essentials +//======================================== + +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var EXITSTATUS = 0; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { + 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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = function cwrap(ident, returnType, argTypes) { + argTypes = argTypes || []; + var cfunc = getCFunc(ident); + // When the function takes numbers and returns a number, we can just return + // the original function + var numericArgs = argTypes.every(function(type){ return type === 'number'}); + var numericRet = (returnType !== 'string'); + if ( numericRet && numericArgs) { + return cfunc; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ length) { + if (length === 0 || !ptr) return ''; + // TODO: use TextDecoder + // 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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 and https://www.ietf.org/rfc/rfc2279.txt and 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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) Module.printErr('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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + '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); +} +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!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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 runtime has exited + +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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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 +// PRE_RUN_ADDITIONS (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; + Module.printErr('still waiting on run dependencies:'); + } + Module.printErr('dependency: ' + dep); + } + if (shown) { + Module.printErr('(end of list)'); + } + }, 10000); + } + } else { + Module.printErr('warning: run dependency added without ID'); + } +} +Module["addRunDependency"] = addRunDependency; + +function removeRunDependency(id) { + runDependencies--; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('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["removeRunDependency"] = removeRunDependency; + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + + +var memoryInitializer = null; + + + +var /* show errors on likely calls to FS when it was not included */ FS = { + error: function() { + abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -s FORCE_FILESYSTEM=1'); + }, + init: function() { FS.error() }, + createDataFile: function() { FS.error() }, + createPreloadedFile: function() { FS.error() }, + createLazyFile: function() { FS.error() }, + open: function() { FS.error() }, + mkdev: function() { FS.error() }, + registerDevice: function() { FS.error() }, + analyzePath: function() { FS.error() }, + loadFilesFromDB: function() { FS.error() }, + + ErrnoError: function ErrnoError() { FS.error() }, +}; +Module['FS_createDataFile'] = FS.createDataFile; +Module['FS_createPreloadedFile'] = FS.createPreloadedFile; + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 19360; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,153,71,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,105,110,112,117,116,32,98,111,120,0,80,76,65,67,69,32,77,79,85,83,69,32,79,86,69,82,32,73,78,80,85,84,32,66,79,88,33,0,73,78,80,85,84,32,67,72,65,82,83,58,32,37,105,47,37,105,0,95,0,80,114,101,115,115,32,66,65,67,75,83,80,65,67,69,32,116,111,32,100,101,108,101,116,101,32,99,104,97,114,115,46,46,46,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); + + + + + +/* 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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + var SYSCALLS={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; + },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 ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; + try { + // ioctl + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + 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 _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + 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(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; + try { + // writev + // hack to support printf in NO_FILESYSTEM + var stream = SYSCALLS.get(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + var ret = 0; + if (!___syscall146.buffer) { + ___syscall146.buffers = [null, [], []]; // 1 => stdout, 2 => stderr + ___syscall146.printChar = function(stream, curr) { + var buffer = ___syscall146.buffers[stream]; + assert(buffer); + if (curr === 0 || curr === 10) { + (stream === 1 ? Module['print'] : Module['printErr'])(UTF8ArrayToString(buffer, 0)); + buffer.length = 0; + } else { + buffer.push(curr); + } + }; + } + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + for (var j = 0; j < len; j++) { + ___syscall146.printChar(stream, HEAPU8[ptr+j]); + } + ret += len; + } + return ret; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + function __exit(status) { + // void _exit(int status); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html + Module['exit'](status); + }function _exit(status) { + __exit(status); + } + + function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + } + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +JSEvents.staticInit();; +/* flush anything remaining in the buffer during shutdown */ __ATEXIT__.push(function() { var fflush = Module["_fflush"]; if (fflush) fflush(0); var printChar = ___syscall146.printChar; if (!printChar) return; var buffers = ___syscall146.buffers; if (buffers[1].length) printChar(1, 10); if (buffers[2].length) printChar(2, 10); });; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vi(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_ii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_v(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function invoke_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_ii(index,a1) { + try { + return Module["dynCall_ii"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iiii(index,a1,a2,a3) { + try { + return Module["dynCall_iiii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } catch(e) { + 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "___syscall146": ___syscall146, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use 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 ABORT=env.ABORT|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; + var cttz_i8=env.cttz_i8|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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var ___syscall146=env.___syscall146; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var ___syscall54=env.___syscall54; + var ___unlock=env.___unlock; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + 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 _main() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[2]|0; + $1 = HEAP32[3]|0; + _InitWindow($0,$1,3480); + $2 = HEAP32[2]|0; + $3 = (($2|0) / 2)&-1; + $4 = (($3) + -100)|0; + HEAP32[3525] = $4; + HEAP32[(14104)>>2] = 180; + HEAP32[(14108)>>2] = 225; + HEAP32[(14112)>>2] = 50; + _emscripten_set_main_loop((1|0),0,1); + _CloseWindow(); + return 0; +} +function _UpdateDrawFrame() { + var $$byval_copy11 = 0, $$off = 0, $$sink = 0, $$sink4 = 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; + 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, $9 = 0, $or$cond3 = 0, $textBox$byval_copy4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $$byval_copy11 = sp + 32|0; + $textBox$byval_copy4 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 24|0; + $1 = sp + 80|0; + $2 = sp + 76|0; + $3 = sp + 72|0; + $4 = sp + 68|0; + $5 = sp + 64|0; + $6 = sp + 60|0; + $7 = sp + 56|0; + $8 = sp + 52|0; + $9 = sp + 48|0; + _GetMousePosition($0); + ;HEAP32[$textBox$byval_copy4>>2]=HEAP32[$0>>2]|0;HEAP32[$textBox$byval_copy4+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy11>>2]=HEAP32[14100>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[14100+4>>2]|0;HEAP32[$$byval_copy11+8>>2]=HEAP32[14100+8>>2]|0;HEAP32[$$byval_copy11+12>>2]=HEAP32[14100+12>>2]|0; + $10 = (_CheckCollisionPointRec($textBox$byval_copy4,$$byval_copy11)|0); + $11 = ($10|0)!=(0); + $$sink = $11&1; + HEAP32[3523] = $$sink; + do { + if ($11) { + $12 = (_GetKeyPressed()|0); + $$off = (($12) + -32)|0; + $13 = ($$off>>>0)<(94); + $14 = HEAP32[3522]|0; + $15 = ($14|0)<(9); + $or$cond3 = $13 & $15; + if ($or$cond3) { + $16 = $12&255; + $17 = (16960 + ($14)|0); + HEAP8[$17>>0] = $16; + $18 = HEAP32[3522]|0; + $19 = (($18) + 1)|0; + HEAP32[3522] = $19; + break; + } + $20 = ($12|0)==(259); + if ($20) { + $21 = HEAP32[3522]|0; + $22 = (($21) + -1)|0; + HEAP32[3522] = $22; + $23 = (16960 + ($22)|0); + HEAP8[$23>>0] = 0; + $24 = ($21|0)<(1); + if ($24) { + HEAP32[3522] = 0; + } + } + } + } while(0); + $25 = HEAP32[3523]|0; + $26 = ($25|0)!=(0); + $27 = HEAP32[3524]|0; + $28 = (($27) + 1)|0; + $$sink4 = $26 ? $28 : 0; + HEAP32[3524] = $$sink4; + _BeginDrawing(); + HEAP8[$1>>0] = -11; + $29 = ((($1)) + 1|0); + HEAP8[$29>>0] = -11; + $30 = ((($1)) + 2|0); + HEAP8[$30>>0] = -11; + $31 = ((($1)) + 3|0); + HEAP8[$31>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$1+3>>0]|0; + _ClearBackground($$byval_copy11); + HEAP8[$2>>0] = -126; + $32 = ((($2)) + 1|0); + HEAP8[$32>>0] = -126; + $33 = ((($2)) + 2|0); + HEAP8[$33>>0] = -126; + $34 = ((($2)) + 3|0); + HEAP8[$34>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$2+3>>0]|0; + _DrawText(3514,240,140,20,$$byval_copy11); + HEAP8[$3>>0] = -56; + $35 = ((($3)) + 1|0); + HEAP8[$35>>0] = -56; + $36 = ((($3)) + 2|0); + HEAP8[$36>>0] = -56; + $37 = ((($3)) + 3|0); + HEAP8[$37>>0] = -1; + ;HEAP32[$textBox$byval_copy4>>2]=HEAP32[14100>>2]|0;HEAP32[$textBox$byval_copy4+4>>2]=HEAP32[14100+4>>2]|0;HEAP32[$textBox$byval_copy4+8>>2]=HEAP32[14100+8>>2]|0;HEAP32[$textBox$byval_copy4+12>>2]=HEAP32[14100+12>>2]|0; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$3+3>>0]|0; + _DrawRectangleRec($textBox$byval_copy4,$$byval_copy11); + $38 = HEAP32[3523]|0; + $39 = ($38|0)==(0); + $40 = HEAP32[3525]|0; + $41 = HEAP32[(14104)>>2]|0; + $42 = HEAP32[(14108)>>2]|0; + $43 = HEAP32[(14112)>>2]|0; + if ($39) { + HEAP8[$5>>0] = 80; + $47 = ((($5)) + 1|0); + HEAP8[$47>>0] = 80; + $48 = ((($5)) + 2|0); + HEAP8[$48>>0] = 80; + $49 = ((($5)) + 3|0); + HEAP8[$49>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$5+3>>0]|0; + _DrawRectangleLines($40,$41,$42,$43,$$byval_copy11); + } else { + HEAP8[$4>>0] = -26; + $44 = ((($4)) + 1|0); + HEAP8[$44>>0] = 41; + $45 = ((($4)) + 2|0); + HEAP8[$45>>0] = 55; + $46 = ((($4)) + 3|0); + HEAP8[$46>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleLines($40,$41,$42,$43,$$byval_copy11); + } + $50 = HEAP32[3525]|0; + $51 = (($50) + 5)|0; + $52 = HEAP32[(14104)>>2]|0; + $53 = (($52) + 8)|0; + HEAP8[$6>>0] = -66; + $54 = ((($6)) + 1|0); + HEAP8[$54>>0] = 33; + $55 = ((($6)) + 2|0); + HEAP8[$55>>0] = 55; + $56 = ((($6)) + 3|0); + HEAP8[$56>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$6+3>>0]|0; + _DrawText(16960,$51,$53,40,$$byval_copy11); + $57 = HEAP32[3522]|0; + HEAP32[$vararg_buffer>>2] = $57; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 9; + $58 = (_FormatText(3542,$vararg_buffer)|0); + HEAP8[$7>>0] = 80; + $59 = ((($7)) + 1|0); + HEAP8[$59>>0] = 80; + $60 = ((($7)) + 2|0); + HEAP8[$60>>0] = 80; + $61 = ((($7)) + 3|0); + HEAP8[$61>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText($58,315,250,20,$$byval_copy11); + $62 = HEAP32[3523]|0; + $63 = ($62|0)==(0); + if ($63) { + _EndDrawing(); + STACKTOP = sp;return; + } + $64 = HEAP32[3522]|0; + $65 = ($64|0)<(9); + if (!($65)) { + HEAP8[$9>>0] = -126; + $79 = ((($9)) + 1|0); + HEAP8[$79>>0] = -126; + $80 = ((($9)) + 2|0); + HEAP8[$80>>0] = -126; + $81 = ((($9)) + 3|0); + HEAP8[$81>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(3563,230,300,20,$$byval_copy11); + _EndDrawing(); + STACKTOP = sp;return; + } + $66 = HEAP32[3524]|0; + $67 = (($66|0) / 20)&-1; + $68 = $67 & 1; + $69 = ($68|0)==(0); + if (!($69)) { + _EndDrawing(); + STACKTOP = sp;return; + } + $70 = HEAP32[3525]|0; + $71 = (($70) + 8)|0; + $72 = (_MeasureText(16960,40)|0); + $73 = (($71) + ($72))|0; + $74 = HEAP32[(14104)>>2]|0; + $75 = (($74) + 12)|0; + HEAP8[$8>>0] = -66; + $76 = ((($8)) + 1|0); + HEAP8[$76>>0] = 33; + $77 = ((($8)) + 2|0); + HEAP8[$77>>0] = 55; + $78 = ((($8)) + 3|0); + HEAP8[$78>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText(3561,$73,$75,40,$$byval_copy11); + _EndDrawing(); + STACKTOP = sp;return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 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); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[3530] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 13816; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 13856; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[3464]; + $111 = +HEAPF32[3454]; + $112 = $110 - $111; + HEAPF32[3466] = $112; + $113 = +HEAPF32[(13860)>>2]; + $114 = +HEAPF32[(13820)>>2]; + $115 = $113 - $114; + HEAPF32[(13868)>>2] = $115; + HEAP32[3529] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13872+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[3535] = $116; + $117 = 13848; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 13816; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 13872; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 13856; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 13848; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 13872; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[3468]; + $160 = +HEAPF32[3462]; + $161 = $159 - $160; + HEAPF32[3466] = $161; + $162 = +HEAPF32[(13876)>>2]; + $163 = +HEAPF32[(13852)>>2]; + $164 = $162 - $163; + HEAPF32[(13868)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13816>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13816+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13848+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13856>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13856+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13872+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13872+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[3535]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[3529] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13872+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[3536] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[3535] = 0.0; + HEAPF32[3536] = 0.0; + HEAPF32[3466] = 0.0; + HEAPF32[(13868)>>2] = 0.0; + HEAP32[3530] = 0; + HEAP32[3529] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[3531]|0; + $7 = (($6) + 1)|0; + HEAP32[3531] = $7; + $8 = HEAP32[3529]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13816>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13816+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[3529] = 2; + HEAP32[3531] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[3531] = 1; + HEAP32[3529] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 13816; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 13824; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 13832; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[4] = $34; + HEAPF32[3460] = 0.0; + HEAPF32[(13844)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[3529]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 13832; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13816>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13816+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13832>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13832+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[3532] = $49; + HEAP32[3533] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[4]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13816>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13816+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13832>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13832+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[3534] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[3532] = 0.0; + HEAPF32[3534] = 0.0; + $$sink10 = 0; + } + HEAP32[3529] = $$sink10; + HEAPF32[3456] = 0.0; + HEAPF32[(13828)>>2] = 0.0; + HEAP32[3530] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[3533]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[3533] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 13848; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[3529]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13816>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13816+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13848+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[3529] = 8; + } + } + $82 = +HEAPF32[3462]; + $83 = +HEAPF32[3456]; + $84 = $82 - $83; + HEAPF32[3460] = $84; + $85 = +HEAPF32[(13852)>>2]; + $86 = +HEAPF32[(13828)>>2]; + $87 = $85 - $86; + HEAPF32[(13844)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3529]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[3530]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[3529] = 4; + } + $4 = HEAP32[3529]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[3529] = 0; + return; +} +function _GetMousePosition($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 = 13880; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3539]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3538]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.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; + _TraceLog(0,3598,$vararg_buffer); + HEAP32[3541] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((3627|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3627|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3627|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3627|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3627|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3627|0),(0|0),1,(7|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); + $3 = HEAP32[3539]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[3470] = $5; + $6 = HEAP32[3538]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(13884)>>2] = $8; + $9 = HEAP32[3542]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 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); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[13920>>0]=HEAP8[8156>>0]|0;HEAP8[13920+1>>0]=HEAP8[8156+1>>0]|0;HEAP8[13920+2>>0]=HEAP8[8156+2>>0]|0;HEAP8[13920+3>>0]=HEAP8[8156+3>>0]|0;HEAP8[13920+4>>0]=HEAP8[8156+4>>0]|0;HEAP8[13920+5>>0]=HEAP8[8156+5>>0]|0;HEAP8[13920+6>>0]=HEAP8[8156+6>>0]|0; + break; + } + case 1: { + $3 = 13920; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=13920; src=8163; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 13920; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(13920,$1)|0); + $strlen = (_strlen(13920)|0); + $endptr = (13920 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(13920,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[3539] = $0; + HEAP32[3538] = $1; + _MatrixIdentity($2); + dest=14244; 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)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4298,$vararg_buffer); + } + $6 = HEAP32[3539]|0; + HEAP32[3577] = $6; + $7 = HEAP32[3538]|0; + HEAP32[3578] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[16970]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[16970]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[16970]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4324,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[3579]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[3539]|0; + $48 = HEAP32[3538]|0; + $49 = HEAP32[3541]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[3537] = $50; + $51 = HEAP32[3539]|0; + HEAP32[3580] = $51; + $52 = HEAP32[3538]|0; + HEAP32[3581] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[3539]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[3538]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[3577] = $31; + HEAP32[3578] = $34; + } + } while(0); + $38 = HEAP32[3577]|0; + $39 = HEAP32[3578]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4349,$vararg_buffer3); + $40 = HEAP32[3577]|0; + $41 = HEAP32[3578]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[3577]|0; + $43 = HEAP32[3578]|0; + $44 = HEAP32[3541]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[3537] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4387,$vararg_buffer6); + } else { + _TraceLog(0,4420,$vararg_buffer8); + $55 = HEAP32[3580]|0; + $56 = HEAP32[3581]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4460,$vararg_buffer10); + $57 = HEAP32[3539]|0; + $58 = HEAP32[3538]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4481,$vararg_buffer14); + $59 = HEAP32[3582]|0; + $60 = HEAP32[3583]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,4502,$vararg_buffer18); + } + $61 = HEAP32[3537]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[3537]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[3537]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[3537]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[3537]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[3537]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[3537]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[3537]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[3537]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[16970]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[3539]|0; + $74 = HEAP32[3538]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[3580]|0; + $76 = HEAP32[3582]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[3581]|0; + $80 = HEAP32[3583]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,4527,$vararg_buffer22); + $73 = HEAP32[3539]|0; + $74 = HEAP32[3538]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[3580]|0; + $76 = HEAP32[3582]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[3581]|0; + $80 = HEAP32[3583]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 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, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(14212)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (20 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[14188>>2]=HEAP32[$1>>2]|0;HEAP32[14188+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14188+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14188+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14188+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(14212)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(14216)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(14208)>>2] = $23; + $24 = HEAP32[3547]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3822,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(14192)>>2]|0; + $10 = HEAP32[(14212)>>2]|0; + $11 = HEAP32[(14216)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2068 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(14208)>>2] = $23; + $24 = HEAP32[3547]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3822,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[1739] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 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 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,3755,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,3686,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,3679)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 13896; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (13904); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 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 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (14172 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 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; + $1 = ($0|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[1736] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,3635,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3542] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.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.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,4198,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[3555]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,3867,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[3556]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,3911,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[3557]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,3956,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[3558]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,4001,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[3559]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,4046,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[3555]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[3555]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[3555]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[3555]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[3556]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[3557]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[3557]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[3558]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[3558]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[3559]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[3559]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,4091,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[3560]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,4169,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,4120,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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, $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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.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; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4252,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + 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] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,8118,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[3539]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[3538]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[3580] = $3; + HEAP32[3581] = $5; + HEAP32[3582] = 0; + HEAP32[3583] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,8052,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[3539]|0; + $36 = (+($35|0)); + $37 = HEAP32[3538]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[3580] = $45; + HEAP32[3581] = $37; + $46 = (($45) - ($35))|0; + HEAP32[3582] = $46; + $$sink1 = 0; + } else { + HEAP32[3580] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[3581] = $42; + HEAP32[3582] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[3583] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[3538]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,7909,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[3539]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[3538]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[3580] = $23; + HEAP32[3581] = $1; + $24 = (($0) - ($23))|0; + HEAP32[3582] = $24; + $$sink = 0; + } else { + HEAP32[3580] = $0; + $17 = HEAP32[3538]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[3581] = $20; + HEAP32[3582] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[3583] = $$sink; + $25 = HEAP32[3580]|0; + $26 = (+($25|0)); + $27 = HEAP32[3539]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=14244; 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)); + HEAP32[3580] = $0; + HEAP32[3581] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,7987,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[3539] = $1; + HEAP32[3538] = $2; + HEAP32[3580] = $1; + HEAP32[3581] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($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, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[742]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (16977 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[741] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 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.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (16971 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 13896; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[741] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[3953] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[3952] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,4550,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,4568,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,4586,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,4604,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,4622)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,4624,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,4659)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[3618] = 1; + $27 = (_eglGetProcAddress((4686|0))|0); + HEAP32[3619] = $27; + $28 = (_eglGetProcAddress((4707|0))|0); + HEAP32[3620] = $28; + $29 = (_eglGetProcAddress((4728|0))|0); + HEAP32[3621] = $29; + } + $30 = (_strcmp($24,4752)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[3560] = 1; + } + $32 = (_strcmp($24,4772)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,4804)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,4837)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[3555] = 1; + } + $39 = (_strcmp($24,4877)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4913)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[3556] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4946)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[3557] = 1; + } + $47 = (_strcmp($44,4971)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[3558] = 1; + } + $49 = (_strcmp($44,5004)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[3559] = 1; + } + $51 = (_strcmp($44,5040)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[3622] = 1; + _glGetFloatv(34047,(14492|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,5074)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[3624] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[3618]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,5177,$vararg_buffer15); + } else { + _TraceLog(0,5102,$vararg_buffer13); + } + $57 = HEAP32[3560]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5313,$vararg_buffer19); + } else { + _TraceLog(0,5238,$vararg_buffer17); + } + $59 = HEAP32[3555]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5405,$vararg_buffer21); + } + $61 = HEAP32[3556]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5451,$vararg_buffer23); + } + $63 = HEAP32[3557]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,5498,$vararg_buffer25); + } + $65 = HEAP32[3558]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,5549,$vararg_buffer27); + } + $67 = HEAP32[3559]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,5596,$vararg_buffer29); + } + $69 = HEAP32[3622]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[3623]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,5643,$vararg_buffer31); + } + $73 = HEAP32[3624]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,5709,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[3625] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,5813,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,5762,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=14504; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14560; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[3654] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[3654]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[3655] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[3656] = 1; + $85 = HEAP32[3625]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[3657] = 4; + _MatrixIdentity($4); + dest=14632; src=$4; 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)); + _MatrixIdentity($4); + dest=(14696); src=$4; 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)); + _MatrixIdentity($4); + dest=(14760); src=$4; 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)); + _MatrixIdentity($4); + dest=(14824); src=$4; 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)); + _MatrixIdentity($4); + dest=(14888); src=$4; 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)); + _MatrixIdentity($4); + dest=(14952); src=$4; 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)); + _MatrixIdentity($4); + dest=(15016); src=$4; 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)); + _MatrixIdentity($4); + dest=(15080); src=$4; 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)); + _MatrixIdentity($4); + dest=(15144); src=$4; 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)); + _MatrixIdentity($4); + dest=(15208); src=$4; 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)); + _MatrixIdentity($4); + dest=(15272); src=$4; 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)); + _MatrixIdentity($4); + dest=(15336); src=$4; 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)); + _MatrixIdentity($4); + dest=(15400); src=$4; 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)); + _MatrixIdentity($4); + dest=(15464); src=$4; 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)); + _MatrixIdentity($4); + dest=(15528); src=$4; 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)); + _MatrixIdentity($4); + dest=(15592); src=$4; 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)); + _MatrixIdentity($5); + dest=14340; src=$5; 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)); + _MatrixIdentity($6); + dest=14404; src=$6; 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)); + HEAP32[3584] = 14404; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[3914] = $0; + HEAP32[3915] = $1; + _TraceLog(0,5852,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3582]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[3583]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[3580]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[3581]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 14340; + label = 3; + break; + } + case 5888: { + $modelview$sink = 14404; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[3584] = $modelview$sink; + } + HEAP32[3617] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 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); + $0 = sp; + $1 = HEAP32[3584]|0; + _MatrixIdentity($0); + dest=$1; src=$0; 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)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[3584]|0; + dest=$$byval_copy; src=$8; 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)); + dest=$$byval_copy1; src=$6; 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)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; 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)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6428|0),489)|0; + _memcpy(($3|0),(6917|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7406,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7358,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|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 _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 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, $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 = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(15676)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(15684)>>2] = $1; + HEAP32[(15680)>>2] = 0; + HEAP32[(15688)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(15684)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[3916] = 0; + HEAP32[(15672)>>2] = 0; + HEAP32[(15668)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(15724)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(15732)>>2] = $6; + HEAP32[(15728)>>2] = 0; + HEAP32[(15736)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(15732)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[3928] = 0; + HEAP32[(15720)>>2] = 0; + HEAP32[(15716)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(15772)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(15776)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(15780)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(15784)>>2] = $13; + $14 = HEAP32[(15772)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(15776)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(15780)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(15784)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[3940] = 0; + HEAP32[(15764)>>2] = 0; + HEAP32[(15768)>>2] = 0; + _TraceLog(0,5899,$vararg_buffer); + $20 = HEAP32[3618]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[3619]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(15692)); + $44 = HEAP32[3620]|0; + $45 = HEAP32[(15692)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((15696)|0)); + $46 = HEAP32[(15696)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(15676)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(14564)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(14564)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((15700)|0)); + $50 = HEAP32[(15700)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(15684)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(14584)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(14584)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[3618]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(15696)>>2]|0; + $58 = HEAP32[(15700)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,6037,$vararg_buffer3); + } else { + $56 = HEAP32[(15692)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,5972,$vararg_buffer1); + } + $59 = HEAP32[3618]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[3619]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(15740)); + $62 = HEAP32[3620]|0; + $63 = HEAP32[(15740)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((15744)|0)); + $64 = HEAP32[(15744)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(15724)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(14564)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(14564)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((15748)|0)); + $68 = HEAP32[(15748)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(15732)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(14584)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(14584)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[3618]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(15744)>>2]|0; + $76 = HEAP32[(15748)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,6183,$vararg_buffer10); + } else { + $74 = HEAP32[(15740)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,6114,$vararg_buffer7); + } + $77 = HEAP32[3618]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[3619]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(15788)); + $80 = HEAP32[3620]|0; + $81 = HEAP32[(15788)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((15792)|0)); + $82 = HEAP32[(15792)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(15772)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(14564)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(14564)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((15796)|0)); + $86 = HEAP32[(15796)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(15776)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(14568)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(14568)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((15800)|0)); + $90 = HEAP32[(15800)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(15780)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(14584)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(14584)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((15804)|0)); + $94 = HEAP32[(15804)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(15784)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[3618]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(15792)>>2]|0; + $100 = HEAP32[(15796)>>2]|0; + $101 = HEAP32[(15800)>>2]|0; + $102 = HEAP32[(15804)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6329,$vararg_buffer17); + } else { + $98 = HEAP32[(15788)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6264,$vararg_buffer14); + } + $103 = HEAP32[3618]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[3620]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|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; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,7662,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,7610,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,7659,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,7763,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,7712,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,7659,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7454|0)); + _glBindAttribLocation(($20|0),1,(7469|0)); + _glBindAttribLocation(($20|0),2,(7500|0)); + _glBindAttribLocation(($20|0),3,(7527|0)); + _glBindAttribLocation(($20|0),4,(7513|0)); + _glBindAttribLocation(($20|0),5,(7484|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,7815,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,7659,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,7861,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7454|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7469|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7484|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(7500|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(7513|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(7527|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(7539|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(7549|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(7560|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(7571|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(7583|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(7592|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(7601|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (16971 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (16974 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (16971 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (16974 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[3537]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,8173,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[14188>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[14188+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[14188+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[14188+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[14188+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(14216)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(14500|0)); + $0 = HEAP32[3625]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,8200,$vararg_buffer); + $1 = HEAP32[3655]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[3626]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + 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; + $0 = HEAP32[3618]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[3620]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((15696)|0)); + _glDeleteBuffers(1,((15700)|0)); + _glDeleteBuffers(1,((15744)|0)); + _glDeleteBuffers(1,((15748)|0)); + _glDeleteBuffers(1,((15792)|0)); + _glDeleteBuffers(1,((15796)|0)); + _glDeleteBuffers(1,((15800)|0)); + _glDeleteBuffers(1,((15804)|0)); + $3 = HEAP32[3618]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[3621]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(15692)); + $6 = HEAP32[3621]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(15740)); + $7 = HEAP32[3621]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(15788)); + } + $8 = HEAP32[(15676)>>2]|0; + _free($8); + $9 = HEAP32[(15684)>>2]|0; + _free($9); + $10 = HEAP32[(15724)>>2]|0; + _free($10); + $11 = HEAP32[(15732)>>2]|0; + _free($11); + $12 = HEAP32[(15772)>>2]|0; + _free($12); + $13 = HEAP32[(15776)>>2]|0; + _free($13); + $14 = HEAP32[(15780)>>2]|0; + _free($14); + $15 = HEAP32[(15784)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $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; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8265,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 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); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[1756] = $0; + $1 = +HEAPF64[1739]; + $2 = $0 - $1; + HEAPF64[1757] = $2; + HEAPF64[1739] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=14244; 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)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(15816); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[3954] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(15820)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(15824)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(15828)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(15832)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(15836)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(15840)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(15844)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(15848)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(15852)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(15856)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(15860)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(15864)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(15868)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(15872)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(15876)>>2] = $31; + return (15816|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[3584]|0; + dest=$$byval_copy; src=$49; 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)); + dest=$$byval_copy1; src=$1; 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)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; 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)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[1756] = $0; + $1 = +HEAPF64[1739]; + $2 = $0 - $1; + HEAPF64[1758] = $2; + HEAPF64[1739] = $0; + $3 = +HEAPF64[1757]; + $4 = $2 + $3; + HEAPF64[1759] = $4; + $5 = +HEAPF64[1736]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[1756] = $10; + $11 = +HEAPF64[1739]; + $12 = $10 - $11; + HEAPF64[1739] = $10; + $13 = +HEAPF64[1759]; + $14 = $12 + $13; + HEAPF64[1759] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3537]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[741] = -1; + HEAP32[743] = -1; + HEAP32[3970] = 0; + $3 = HEAP32[3537]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[3470] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(13884)>>2] = $7; + _memcpy((17489|0),(16977|0),512)|0; + ;HEAP8[16974>>0]=HEAP8[16971>>0]|0;HEAP8[16974+1>>0]=HEAP8[16971+1>>0]|0;HEAP8[16974+2>>0]=HEAP8[16971+2>>0]|0; + $8 = HEAP32[3953]|0; + HEAP32[3540] = $8; + HEAP32[3953] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (18001 + ($$05160<<5)|0); + $scevgep67 = (18129 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; 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)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((18129 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[743] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((15884 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[3970] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $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, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3916]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[3618]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[3620]|0; + $5 = HEAP32[(15692)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(15696)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[3916]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(15676)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(15700)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(15672)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(15684)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[3928]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[3618]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[3620]|0; + $19 = HEAP32[(15740)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(15744)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[3928]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(15724)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(15748)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(15720)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(15732)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[3940]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[3618]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[3620]|0; + $33 = HEAP32[(15788)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(15792)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[3940]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(15772)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(15796)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[3940]|0; + $40 = $39 << 3; + $41 = HEAP32[(15776)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(15800)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[3940]|0; + $44 = $43 << 2; + $45 = HEAP32[(15780)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[3618]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[3620]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 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; + 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, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=14340; 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)); + dest=$1; src=14404; 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)); + $3 = HEAP32[4003]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; 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)); + dest=$$byval_copy2; src=$1; 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)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[3916]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[3928]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[3940]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[3640]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=14404; 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)); + dest=$$byval_copy2; src=14340; 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)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(14588)>>2]|0; + dest=$$byval_copy2; 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)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(14592)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(14604)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[3916]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[3625]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[3618]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(15696)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(14564)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(14564)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(15700)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(14584)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(14584)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[3620]|0; + $25 = HEAP32[(15692)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[3916]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[3618]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[3928]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[3625]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[3618]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(15744)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(14564)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(14564)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(15748)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(14584)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(14584)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[3620]|0; + $41 = HEAP32[(15740)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[3928]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[3618]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[3940]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[3618]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(15792)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(14564)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(14564)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(15796)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(14568)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(14568)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(15800)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(14584)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(14584)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(15804)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[3620]|0; + $56 = HEAP32[(15788)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[3656]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[3655]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[3655]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[3656]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[3618]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[3618]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[3620]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[3656] = 1; + $5 = HEAP32[3625]|0; + $6 = HEAP32[3655]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[3916] = 0; + HEAP32[(15672)>>2] = 0; + HEAP32[3928] = 0; + HEAP32[(15720)>>2] = 0; + HEAP32[3940] = 0; + HEAP32[(15764)>>2] = 0; + HEAP32[(15768)>>2] = 0; + HEAPF32[744] = -1.0; + dest=14340; src=$0; 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)); + dest=14404; src=$1; 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)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $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 + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; 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)); + $5 = HEAP32[3914]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[3915]|0; + _rlViewport($7,0,$8,$9); + $10 = (16244 + ($0<<6)|0); + dest=$$byval_copy; 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)); + dest=$$byval_copy3; src=$10; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (16116 + ($0<<6)|0); + dest=$3; src=$11; 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)); + dest=$$byval_copy3; src=$4; 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)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; 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)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=14404; src=$0; 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)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=14340; src=$0; 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)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 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; + $0 = HEAP32[4093]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8315,$vararg_buffer); + } + $2 = HEAP32[4093]|0; + $3 = (14632 + ($2<<6)|0); + $4 = HEAP32[3584]|0; + dest=$3; src=$4; 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)); + _rlLoadIdentity(); + $5 = HEAP32[4093]|0; + $6 = (($5) + 1)|0; + HEAP32[4093] = $6; + $7 = HEAP32[3617]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[4094] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[4093]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[4093]|0; + $3 = (($2) + -1)|0; + $4 = (14632 + ($3<<6)|0); + $5 = HEAP32[3584]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[4093] = $6; + return; +} +function _GetKeyPressed() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[741]|0; + return ($0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[3584]|0; + dest=$$byval_copy; src=$5; 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)); + dest=$$byval_copy1; src=$3; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; 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)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 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 + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; 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)); + _MatrixTranspose($4); + $11 = HEAP32[3584]|0; + dest=$$byval_copy1; src=$11; 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)); + dest=$$byval_copy2; src=$4; 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)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; 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)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3657] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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.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.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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; + 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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 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); + $$byval_copy = sp; + $0 = HEAP32[4094]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[4095]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[3654]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[3584]|0; + dest=$$byval_copy; src=$8; 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)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[4095]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[4094] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[3654]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[4095]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[4094] = 0; + } + HEAP32[4095] = 0; + } + $21 = HEAP32[3657]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[3916]|0; + $23 = HEAP32[(15672)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(15684)>>2]|0; + $28 = HEAP32[(15672)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(15684)>>2]|0; + $35 = HEAP32[(15672)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(15684)>>2]|0; + $43 = HEAP32[(15672)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(15684)>>2]|0; + $51 = HEAP32[(15672)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(15672)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(15672)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[3928]|0; + $62 = HEAP32[(15720)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(15732)>>2]|0; + $67 = HEAP32[(15720)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(15732)>>2]|0; + $74 = HEAP32[(15720)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(15732)>>2]|0; + $82 = HEAP32[(15720)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(15732)>>2]|0; + $90 = HEAP32[(15720)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(15720)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(15720)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[3940]|0; + $101 = HEAP32[(15768)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(15780)>>2]|0; + $106 = HEAP32[(15768)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(15780)>>2]|0; + $113 = HEAP32[(15768)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(15780)>>2]|0; + $121 = HEAP32[(15768)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(15780)>>2]|0; + $129 = HEAP32[(15768)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(15768)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(15768)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[3940]|0; + $140 = HEAP32[(15764)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(15776)>>2]|0; + $$promoted = HEAP32[(15764)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(15764)>>2] = $147; + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + 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, $45 = 0, $46 = 0, $47 = 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; + $3 = HEAP32[4094]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[3654]|0; + $6 = HEAP32[4095]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[4095] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[3657]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[3916]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(15676)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[3916] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8353,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[3928]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(15724)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[3928] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8378,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[3940]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(15772)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[3940] = $41; + $42 = HEAP32[3655]|0; + $43 = HEAP32[3656]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8407,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[744]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlVertex2i($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = (+($1|0)); + $4 = +HEAPF32[744]; + _rlVertex3f($2,$3,$4); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[3657]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(15776)>>2]|0; + $5 = HEAP32[(15764)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(15764)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[3657]|0; + switch ($4|0) { + case 1: { + $$sink37 = (15672);$$sink38 = (15684); + break; + } + case 4: { + $$sink37 = (15720);$$sink38 = (15732); + break; + } + case 7: { + $$sink37 = (15768);$$sink38 = (15780); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($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 = HEAP32[3655]|0; + $2 = HEAP32[3656]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[3656] = $10; + } + $11 = HEAP32[3656]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3940]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _GetDefaultTexture($0) { + $0 = $0|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3625]|0; + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; + return; +} +function _DrawRectangle($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 32|0; + $$byval_copy1 = sp + 24|0; + $$byval_copy = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (+($0|0)); + HEAPF32[$5>>2] = $7; + $8 = ((($5)) + 4|0); + $9 = (+($1|0)); + HEAPF32[$8>>2] = $9; + $10 = (+($2|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($3|0)); + HEAPF32[$11>>2] = $12; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawRectangleV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.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.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = (_rlGetVersion()|0); + $5 = ($4|0)==(1); + if ($5) { + _rlBegin(4); + $6 = HEAP8[$2>>0]|0; + $7 = ((($2)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($2)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = ((($2)) + 3|0); + $12 = HEAP8[$11>>0]|0; + _rlColor4ub($6,$8,$10,$12); + $13 = +HEAPF32[$0>>2]; + $14 = (~~(($13))); + $15 = ((($0)) + 4|0); + $16 = +HEAPF32[$15>>2]; + $17 = (~~(($16))); + _rlVertex2i($14,$17); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = $16 + $19; + $21 = (~~(($20))); + _rlVertex2i($14,$21); + $22 = +HEAPF32[$0>>2]; + $23 = +HEAPF32[$1>>2]; + $24 = $22 + $23; + $25 = (~~(($24))); + $26 = +HEAPF32[$15>>2]; + $27 = +HEAPF32[$18>>2]; + $28 = $26 + $27; + $29 = (~~(($28))); + _rlVertex2i($25,$29); + $30 = +HEAPF32[$0>>2]; + $31 = (~~(($30))); + $32 = +HEAPF32[$15>>2]; + $33 = (~~(($32))); + _rlVertex2i($31,$33); + $34 = +HEAPF32[$1>>2]; + $35 = $30 + $34; + $36 = (~~(($35))); + $37 = +HEAPF32[$18>>2]; + $38 = $32 + $37; + $39 = (~~(($38))); + _rlVertex2i($36,$39); + $40 = +HEAPF32[$0>>2]; + $41 = +HEAPF32[$1>>2]; + $42 = $40 + $41; + $43 = (~~(($42))); + $44 = +HEAPF32[$15>>2]; + $45 = (~~(($44))); + _rlVertex2i($43,$45); + _rlEnd(); + STACKTOP = sp;return; + } + $46 = (_rlGetVersion()|0); + $47 = ($46|0)==(2); + if (!($47)) { + $48 = (_rlGetVersion()|0); + $49 = ($48|0)==(3); + if (!($49)) { + $50 = (_rlGetVersion()|0); + $51 = ($50|0)==(4); + if (!($51)) { + STACKTOP = sp;return; + } + } + } + _GetDefaultTexture($3); + $52 = HEAP32[$3>>2]|0; + _rlEnableTexture($52); + _rlBegin(7); + $53 = HEAP8[$2>>0]|0; + $54 = ((($2)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = ((($2)) + 2|0); + $57 = HEAP8[$56>>0]|0; + $58 = ((($2)) + 3|0); + $59 = HEAP8[$58>>0]|0; + _rlColor4ub($53,$55,$57,$59); + _rlTexCoord2f(0.0,0.0); + $60 = +HEAPF32[$0>>2]; + $61 = ((($0)) + 4|0); + $62 = +HEAPF32[$61>>2]; + _rlVertex2f($60,$62); + _rlTexCoord2f(0.0,1.0); + $63 = ((($1)) + 4|0); + $64 = +HEAPF32[$63>>2]; + $65 = $62 + $64; + _rlVertex2f($60,$65); + _rlTexCoord2f(1.0,1.0); + $66 = +HEAPF32[$0>>2]; + $67 = +HEAPF32[$1>>2]; + $68 = $66 + $67; + $69 = +HEAPF32[$61>>2]; + $70 = +HEAPF32[$63>>2]; + $71 = $69 + $70; + _rlVertex2f($68,$71); + _rlTexCoord2f(1.0,0.0); + $72 = +HEAPF32[$0>>2]; + $73 = +HEAPF32[$1>>2]; + $74 = $72 + $73; + $75 = +HEAPF32[$61>>2]; + _rlVertex2f($74,$75); + _rlEnd(); + _rlDisableTexture(); + STACKTOP = sp;return; +} +function _DrawRectangleRec($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 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); + $$byval_copy = sp; + $2 = HEAP32[$0>>2]|0; + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 12|0); + $8 = HEAP32[$7>>2]|0; + ;HEAP8[$$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangle($2,$4,$6,$8,$$byval_copy); + STACKTOP = sp;return; +} +function _DrawRectangleLines($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy3 = 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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy3 = sp; + $5 = (_rlGetVersion()|0); + $6 = ($5|0)==(1); + if ($6) { + _rlBegin(1); + $7 = HEAP8[$4>>0]|0; + $8 = ((($4)) + 1|0); + $9 = HEAP8[$8>>0]|0; + $10 = ((($4)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ((($4)) + 3|0); + $13 = HEAP8[$12>>0]|0; + _rlColor4ub($7,$9,$11,$13); + $14 = (($0) + 1)|0; + $15 = (($1) + 1)|0; + _rlVertex2i($14,$15); + $16 = (($2) + ($0))|0; + _rlVertex2i($16,$15); + _rlVertex2i($16,$15); + $17 = (($3) + ($1))|0; + _rlVertex2i($16,$17); + _rlVertex2i($16,$17); + _rlVertex2i($14,$17); + _rlVertex2i($14,$17); + _rlVertex2i($14,$15); + _rlEnd(); + STACKTOP = sp;return; + } + $18 = (_rlGetVersion()|0); + $19 = ($18|0)==(2); + if (!($19)) { + $20 = (_rlGetVersion()|0); + $21 = ($20|0)==(3); + if (!($21)) { + $22 = (_rlGetVersion()|0); + $23 = ($22|0)==(4); + if (!($23)) { + STACKTOP = sp;return; + } + } + } + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$1,$2,1,$$byval_copy3); + $24 = (($0) + -1)|0; + $25 = (($24) + ($2))|0; + $26 = (($1) + 1)|0; + $27 = (($3) + -2)|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($25,$26,1,$27,$$byval_copy3); + $28 = (($1) + -1)|0; + $29 = (($28) + ($3))|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$29,$2,1,$$byval_copy3); + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$26,1,$27,$$byval_copy3); + STACKTOP = sp;return; +} +function _CheckCollisionPointRec($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = HEAP32[$1>>2]|0; + $4 = (+($3|0)); + $5 = !($2 >= $4); + if ($5) { + $$0 = 0; + return ($$0|0); + } + $6 = ((($1)) + 8|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($7) + ($3))|0; + $9 = (+($8|0)); + $10 = !($2 <= $9); + if ($10) { + $$0 = 0; + return ($$0|0); + } + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + $13 = ((($1)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = !($12 >= $15); + if ($16) { + $$0 = 0; + return ($$0|0); + } + $17 = ((($1)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + ($14))|0; + $20 = (+($19|0)); + $21 = !($12 <= $20); + if ($21) { + $$0 = 0; + return ($$0|0); + } + $$0 = 1; + return ($$0|0); +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[14188>>2]|0;HEAP32[$0+4>>2]=HEAP32[14188+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[14188+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[14188+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[14188+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[14188+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[14188+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[14188+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 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; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|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.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.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.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($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; + (_vsprintf(18257,$0,$1)|0); + STACKTOP = sp;return (18257|0); +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _emscripten_GetProcAddress($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, $398 = 0, $399 = 0, $4 = 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, $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; + var $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, $53 = 0, $530 = 0; + var $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, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,8432)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,8436)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,8440)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,8444)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,8450)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,8488)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 8507; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,8520)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 8541; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,8556)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 8571; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,8586)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 8601; + } + } else { + HEAP32[$3>>2] = 8472; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,8616)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,8630)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 2; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,8642)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,8656)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,8668)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,8682)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,8696)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,8713)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,8736)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,8762)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,8775)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,8791)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,8804)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,8818)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,8838)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,8858)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,8875)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,8892)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 3; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,8904)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,8917)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,8933)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,8956)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,8969)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,8985)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 4; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,8996)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,9015)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,9037)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,9056)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,9085)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 5; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,9102)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,9117)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,9132)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,9153)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,9173)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,9193)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,9219)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,9238)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,9250)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,9262)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,9274)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,9286)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,9298)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,9310)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,9322)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,9334)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,9347)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,9360)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,9373)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,9386)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,9399)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,9412)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,9425)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,9438)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,9457)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,9476)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,9495)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,9508)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,9526)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,9544)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,9562)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,9580)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,9600)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,8541)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 6; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,9618)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,9633)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,9654)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,9669)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,9687)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,9703)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,9722)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,9736)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,9751)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 7; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,8472)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,9762)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,8571)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,8601)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,9778)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,9805)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,9819)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,8507)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,9839)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,9857)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 8; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,9869)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,9890)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,9908)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,9926)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,9947)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,9973)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,9996)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,10034)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 9; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,10050)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,10065)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,10088)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,10101)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,10115)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,10129)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,10149)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,10169)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,10185)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,10203)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,10219)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,10234)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,10256)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,10274)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,10295)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,10313)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,10326)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,10341)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,10355)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,10365)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,10375)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,10397)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,10423)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,10450)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,10463)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,10478)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,10493)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,10517)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,10528)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,10550)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,10572)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,10596)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,10605)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,10613)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,10626)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,10640)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,10652)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,10661)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,10671)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,10683)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,10694)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,10702)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,10714)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,10729)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,10741)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,10755)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 10; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,10780)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,10797)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,10813)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,10829)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 11; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,10841)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,10853)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,10877)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,10890)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,10904)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,10926)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,10933)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,10949)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,10966)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,10983)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,10999)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,11015)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,11032)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,11046)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,11058)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,11069)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,11082)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,11092)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,11109)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,11121)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,11143)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,11163)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,11176)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,11198)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,11218)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,11235)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,11252)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,11272)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (16384|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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 + 16|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $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;$26 = $17; + while(1) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _pthread_self() { + var label = 0, sp = 0; + sp = STACKTOP; + return (2980|0); +} +function _dummy_738($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] = 9; + $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 _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 _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 _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 _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$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; + var $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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=3356; 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); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|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 = 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, $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, $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 + 120|0; + $4 = sp + 80|0; + $5 = sp; + $6 = sp + 136|0; + 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 & 15]($0,0,0)|0); + $33 = HEAP32[$26>>2]|0; + $34 = ($33|0)==(0|0); + $$ = $34 ? -1 : $29; + HEAP32[$23>>2] = $24; + HEAP32[$19>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $$1 = $$; + } + } else { + $22 = (_printf_core($0,$1,$3,$5,$4)|0); + $$1 = $22; + } + $35 = HEAP32[$0>>2]|0; + $36 = $35 & 32; + $37 = ($36|0)==(0); + $$1$ = $37 ? $$1 : -1; + $38 = $35 | $14; + HEAP32[$0>>2] = $38; + $39 = ($40|0)==(0); + if (!($39)) { + ___unlockfile($0); + } + $$0 = $$1$; + } + 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, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 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.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, $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 $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 20|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 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; + L1: 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 = HEAP8[$21>>0]|0; + $22 = ($20<<24>>24)==(0); + if ($22) { + label = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $25;$27 = $25; + label = 9; + break L9; + break; + } + case 0: { + $$0249$lcssa = $25;$39 = $25; + break L9; + break; + } + default: { + } + } + $24 = ((($25)) + 1|0); + HEAP32[$5>>2] = $24; + $$pre = HEAP8[$24>>0]|0; + $23 = $$pre;$25 = $24; + } + L12: do { + if ((label|0) == 9) { + while(1) { + label = 0; + $26 = ((($27)) + 1|0); + $28 = HEAP8[$26>>0]|0; + $29 = ($28<<24>>24)==(37); + if (!($29)) { + $$0249$lcssa = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $30;$27 = $31; + label = 9; + } else { + $$0249$lcssa = $30;$39 = $31; + break; + } + } + } + } while(0); + $34 = $$0249$lcssa; + $35 = $21; + $36 = (($34) - ($35))|0; + if ($10) { + _out($0,$21,$36); + } + $37 = ($36|0)==(0); + if (!($37)) { + $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; + continue; + } + $38 = ((($39)) + 1|0); + $40 = HEAP8[$38>>0]|0; + $41 = $40 << 24 >> 24; + $isdigittmp = (($41) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $42 = ((($39)) + 2|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)==(36); + $45 = ((($39)) + 3|0); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } else { + $$0253 = -1;$$1270 = $$0269;$storemerge = $38; + } + HEAP32[$5>>2] = $storemerge; + $46 = HEAP8[$storemerge>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($47) + -32)|0; + $49 = ($48>>>0)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((11388 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 11852;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 11852;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11852 : (11854); + $$$ = $238 ? $$ : (11853); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 11852;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 11852;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 11862; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11852;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (11852 + ($208)|0); + $$289 = $or$cond283 ? 11852 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 11852;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; + $$0228$ = $or$cond ? $$0228 : $11; + $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; + } + else if ((label|0) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } else { + $$0 = $$1248; + } + } + } while(0); + STACKTOP = sp;return ($$0|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 _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, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $isdigittmp4 = (($3) + -48)|0; + $isdigit5 = ($isdigittmp4>>>0)<(10); + if ($isdigit5) { + $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; + while(1) { + $4 = ($$06*10)|0; + $5 = (($isdigittmp7) + ($4))|0; + $6 = ((($7)) + 1|0); + HEAP32[$0>>2] = $6; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $isdigittmp = (($9) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; + } else { + $$0$lcssa = $5; + break; + } + } + } else { + $$0$lcssa = 0; + } + 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 = (11904 + ($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, $3 = 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 = (___uremdi3(($8|0),($9|0),10,0)|0); + $11 = tempRet0; + $12 = $10&255; + $13 = $12 | 48; + $14 = ((($$0914)) + -1|0); + HEAP8[$14>>0] = $13; + $15 = (___udivdi3(($8|0),($9|0),10,0)|0); + $16 = tempRet0; + $17 = ($9>>>0)>(9); + $18 = ($8>>>0)>(4294967295); + $19 = ($9|0)==(9); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $$0914 = $14;$8 = $15;$9 = $16; + } else { + break; + } + } + $$010$lcssa$off0 = $15;$$09$lcssa = $14; + } else { + $$010$lcssa$off0 = $0;$$09$lcssa = $2; + } + $22 = ($$010$lcssa$off0|0)==(0); + if ($22) { + $$1$lcssa = $$09$lcssa; + } else { + $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; + while(1) { + $23 = (($$012>>>0) % 10)&-1; + $24 = $23 | 48; + $25 = $24&255; + $26 = ((($$111)) + -1|0); + HEAP8[$26>>0] = $25; + $27 = (($$012>>>0) / 10)&-1; + $28 = ($$012>>>0)<(10); + if ($28) { + $$1$lcssa = $26; + break; + } else { + $$012 = $27;$$111 = $26; + } + } + } + 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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 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 { + $$2 = $$035$lcssa;$$3 = 0; + } + } + L8: do { + if ((label|0) == 6) { + $17 = HEAP8[$$035$lcssa65>>0]|0; + $18 = $1&255; + $19 = ($17<<24>>24)==($18<<24>>24); + if ($19) { + $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; + } else { + $20 = Math_imul($3, 16843009)|0; + $21 = ($$036$lcssa64>>>0)>(3); + L11: 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)) { + break; + } + $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 L11; + } + } + $$140 = $$046;$$23839 = $$13745; + } else { + $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; + label = 11; + } + } while(0); + if ((label|0) == 11) { + $32 = ($$137$lcssa|0)==(0); + if ($32) { + $$2 = $$0$lcssa;$$3 = 0; + break; + } else { + $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + } + } + while(1) { + $33 = HEAP8[$$140>>0]|0; + $34 = ($33<<24>>24)==($18<<24>>24); + if ($34) { + $$2 = $$140;$$3 = $$23839; + break L8; + } + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; + break; + } else { + $$140 = $35;$$23839 = $36; + } + } + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_674($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, $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 = ($9>>>0)<(256); + $11 = $10 ? $9 : 256; + _memset(($5|0),($1|0),($11|0))|0; + $12 = ($9>>>0)>(255); + if ($12) { + $13 = (($2) - ($3))|0; + $$011 = $9; + while(1) { + _out($0,$5,256); + $14 = (($$011) + -256)|0; + $15 = ($14>>>0)>(255); + if ($15) { + $$011 = $14; + } else { + break; + } + } + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; + } + _out($0,$5,$$0$lcssa); + } + STACKTOP = sp;return; +} +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 _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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.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.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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $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.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $387 = 0, $388 = 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.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.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 $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 524|0; + $9 = $8; + $10 = sp + 512|0; + HEAP32[$7>>2] = 0; + $11 = ((($10)) + 12|0); + (___DOUBLE_BITS_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11869; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11870) : (11875); + $$$ = $16 ? $$ : (11872); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (11904 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $85 = $84&255; + $86 = ((($$0523)) + 1|0); + HEAP8[$$0523>>0] = $85; + $87 = (+($80|0)); + $88 = $$2473 - $87; + $89 = $88 * 16.0; + $90 = $86; + $91 = (($90) - ($9))|0; + $92 = ($91|0)==(1); + if ($92) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$3501$lcssa; + $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; + } else { + $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; + } + $$7505 = $$7505$ph; + while(1) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11920,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,11920,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11888 : 11892; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11896 : 11900; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($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 _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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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, $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 label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; + while(1) { + $3 = (11922 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; + break; + } + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); + if ($8) { + $$01214 = 12010;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 12010; + } else { + $$01214 = 12010;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$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; + label = 5; + } + } + } + $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 $$ = 0, $$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; + 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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 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); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$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); + $$ = $61 ? $57 : 0; + $$4 = $$; + } 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 $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); +} +function ___fwritex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var 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 & 15]($2,$0,$1)|0); + $$1 = $17; + break; + } + $18 = ((($2)) + 75|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)>(-1); + L10: do { + if ($20) { + $$038 = $1; + while(1) { + $21 = ($$038|0)==(0); + if ($21) { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + break L10; + } + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; + } else { + $$038 = $22; + } + } + $26 = ((($2)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); + $29 = ($28>>>0)<($$038>>>0); + if ($29) { + $$1 = $28; + break L5; + } + $30 = (($0) + ($$038)|0); + $$042 = (($1) - ($$038))|0; + $$pre47 = HEAP32[$9>>2]|0; + $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; + } else { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + } + } while(0); + _memcpy(($31|0),($$141|0),($$143|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($32) + ($$143)|0); + HEAP32[$9>>2] = $33; + $34 = (($$139) + ($$143))|0; + $$1 = $34; + } + } 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 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 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|0); +} +function _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 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; + var $21 = 0, $22 = 0, $23 = 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 = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; + } else { + $$01519 = $6;$23 = $7; + } + } + } + } while(0); + if ((label|0) == 4) { + $$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 { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; + } else { + $$pn = $19; + } + } + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|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 ___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) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<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 _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, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 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) { + $$029 = $$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$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((16448|0)); + return (16456|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((16448|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[838]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[838]|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 & 15]($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 & 15]($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 _strstr($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, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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 label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 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, $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, $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, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;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;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 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]=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;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 14080; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[806]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;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;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = HEAP32[4115]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[4115] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[4115] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[4115] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[4115] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 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; + var $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, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $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, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $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, $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, $2 = 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, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $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, $237 = 0; + var $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, $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, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$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[4116]|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 = (16504 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[4116] = $24; + } else { + $25 = HEAP32[(16480)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(16472)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (16504 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[4116] = $77; + $98 = $77; + } else { + $78 = HEAP32[(16480)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(16484)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (16504 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[4116] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(16480)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(16472)>>2] = $84; + HEAP32[(16484)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(16468)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (16768 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(16480)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (16768 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(16468)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(16480)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(16480)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(16480)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(16484)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (16504 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[4116] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(16480)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(16472)>>2] = $$0193$lcssa$i; + HEAP32[(16484)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(16468)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (16768 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (16768 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(16472)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(16480)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (16768 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(16468)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(16480)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(16480)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(16480)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (16504 + ($425<<2)|0); + $427 = HEAP32[4116]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[4116] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(16480)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (16768 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(16468)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(16480)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(16480)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(16472)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(16484)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(16484)>>2] = $511; + HEAP32[(16472)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(16472)>>2] = 0; + HEAP32[(16484)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(16476)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(16476)>>2] = $526; + $527 = HEAP32[(16488)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(16488)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[4234]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(16944)>>2] = 4096; + HEAP32[(16940)>>2] = 4096; + HEAP32[(16948)>>2] = -1; + HEAP32[(16952)>>2] = -1; + HEAP32[(16956)>>2] = 0; + HEAP32[(16908)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[4234] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(16944)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(16904)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(16896)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(16908)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(16488)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (16912); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(16940)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(16896)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(16904)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(16944)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(16908)>>2]|0; + $612 = $611 | 4; + HEAP32[(16908)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(16896)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(16896)>>2] = $627; + $628 = HEAP32[(16900)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(16900)>>2] = $627; + } + $630 = HEAP32[(16488)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(16480)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(16480)>>2] = $$749$i; + } + HEAP32[(16912)>>2] = $$749$i; + HEAP32[(16916)>>2] = $$723948$i; + HEAP32[(16924)>>2] = 0; + $635 = HEAP32[4234]|0; + HEAP32[(16500)>>2] = $635; + HEAP32[(16496)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (16504 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(16488)>>2] = $649; + HEAP32[(16476)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(16952)>>2]|0; + HEAP32[(16492)>>2] = $655; + } else { + $$024371$i = (16912); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(16476)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(16488)>>2] = $679; + HEAP32[(16476)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(16952)>>2]|0; + HEAP32[(16492)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(16480)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(16480)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (16912); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(16476)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(16476)>>2] = $727; + HEAP32[(16488)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(16484)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(16472)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(16472)>>2] = $733; + HEAP32[(16484)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (16504 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[4116]|0; + $760 = $759 & $758; + HEAP32[4116] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (16768 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(16468)>>2]|0; + $803 = $802 & $801; + HEAP32[(16468)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(16480)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(16480)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(16480)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (16504 + ($836<<2)|0); + $838 = HEAP32[4116]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[4116] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(16480)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (16768 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(16468)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(16468)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(16480)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(16480)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (16912); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(16488)>>2] = $946; + HEAP32[(16476)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(16952)>>2]|0; + HEAP32[(16492)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(16912)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(16912)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(16912)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(16912)+12>>2]|0; + HEAP32[(16912)>>2] = $$749$i; + HEAP32[(16916)>>2] = $$723948$i; + HEAP32[(16924)>>2] = 0; + HEAP32[(16920)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (16504 + ($968<<2)|0); + $970 = HEAP32[4116]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[4116] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(16480)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (16768 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(16468)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(16468)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(16480)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(16480)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(16476)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(16476)>>2] = $1050; + $1051 = HEAP32[(16488)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(16488)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $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; + var $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, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(16480)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(16484)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(16472)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (16504 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[4116]|0; + $38 = $37 & $36; + HEAP32[4116] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (16768 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(16468)>>2]|0; + $81 = $80 & $79; + HEAP32[(16468)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(16480)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(16480)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(16480)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(16488)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(16484)>>2]|0; + if ($121) { + $123 = HEAP32[(16476)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(16476)>>2] = $124; + HEAP32[(16488)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(16484)>>2] = 0; + HEAP32[(16472)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(16472)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(16472)>>2] = $130; + HEAP32[(16484)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (16504 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(16480)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[4116]|0; + $154 = $153 & $152; + HEAP32[4116] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(16480)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(16480)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(16480)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (16768 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(16468)>>2]|0; + $200 = $199 & $198; + HEAP32[(16468)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(16480)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(16480)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(16480)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(16484)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(16472)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (16504 + ($234<<2)|0); + $236 = HEAP32[4116]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[4116] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(16480)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (16768 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(16468)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(16468)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(16480)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(16480)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(16496)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(16496)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (16920); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(16496)>>2] = -1; + return; +} +function runPostSets() { +} +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 _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 _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 _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 _llvm_cttz_i32(x) { + x = x|0; + var ret = 0; + ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); + if ((ret|0) < 8) return ret|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 8)|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 16)|0; + return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +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 _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|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) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|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 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&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](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_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|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&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +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&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +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); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,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_ii = [b5,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, ___errno_location: ___errno_location, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, _llvm_bswap_i32: _llvm_bswap_i32, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.apply(null, arguments); +}; + +var real__main = asm["_main"]; asm["_main"] = 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__main.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 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_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__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__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__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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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_GetProcAddress.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__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__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_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__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__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +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 +} + +Module['callMain'] = Module.callMain = function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); + assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); + + args = args || []; + + ensureInitRuntime(); + + var argc = args.length+1; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + try { + + var ret = Module['_main'](argc, argv, 0); + + + // if we're not running an evented main loop, it's time to exit + exit(ret, /* implicit = */ true); + } + catch(e) { + if (e instanceof ExitStatus) { + // exit() throws this once it's done to make sure execution + // has been stopped completely + return; + } else if (e == 'SimulateInfiniteLoop') { + // running an evented main loop, don't immediately exit + Module['noExitRuntime'] = true; + return; + } else { + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); + } + } finally { + calledMain = true; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (Module['_main'] && shouldRunNow) Module['callMain'](args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + checkStackCookie(); +} +Module['run'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); + } else { + + ABORT = true; + EXITSTATUS = status; + STACKTOP = initialStackTop; + + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } + + if (ENVIRONMENT_IS_NODE) { + process['exit'](status); + } + Module['quit'](status, new ExitStatus(status)); +} +Module['exit'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(what) { + if (what !== undefined) { + Module.print(what); + Module.printErr(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'] = Module.abort = abort; + +// {{PRE_RUN_ADDITIONS}} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; +if (Module['noInitialRun']) { + shouldRunNow = false; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/web/text/text_input_box.png b/docs/examples/web/text/text_input_box.png new file mode 100644 index 000000000..42f9d73a3 Binary files /dev/null and b/docs/examples/web/text/text_input_box.png differ diff --git a/docs/examples/web/text/text_rbmf_fonts.c b/docs/examples/web/text/text_raylib_fonts.c similarity index 76% rename from docs/examples/web/text/text_rbmf_fonts.c rename to docs/examples/web/text/text_raylib_fonts.c index bcdd93e5a..340b78f7d 100644 --- a/docs/examples/web/text/text_rbmf_fonts.c +++ b/docs/examples/web/text/text_raylib_fonts.c @@ -15,15 +15,17 @@ #include #endif +#define MAX_FONTS 8 + //---------------------------------------------------------------------------------- // Global Variables Definition //---------------------------------------------------------------------------------- int screenWidth = 800; int screenHeight = 450; -SpriteFont fonts[8]; -const int spacings[8] = { 2, 4, 8, 4, 3, 4, 4, 1 }; -Vector2 positions[8]; +SpriteFont fonts[MAX_FONTS]; +const int spacings[MAX_FONTS] = { 2, 4, 8, 4, 3, 4, 4, 1 }; +Vector2 positions[MAX_FONTS]; Color *colors; const char (*messages)[64]; @@ -40,13 +42,13 @@ int main() { // Initialization //-------------------------------------------------------------------------------------- - InitWindow(screenWidth, screenHeight, "raylib [text] example - rBMF fonts"); + InitWindow(screenWidth, screenHeight, "raylib [text] example - raylib fonts"); - Color tempColors[8] = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD }; + Color tempColors[MAX_FONTS] = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD, RED }; colors = tempColors; - const char tempMessages[8][64] = { "ALAGARD FONT designed by Hewett Tsoi", + const char tempMessages[MAX_FONTS][64] = { "ALAGARD FONT designed by Hewett Tsoi", "PIXELPLAY FONT designed by Aleksander Shevchuk", "MECHA FONT designed by Captain Falcon", "SETBACK FONT designed by Brian Kent (AEnigma)", @@ -57,21 +59,26 @@ int main() messages = tempMessages; - fonts[0] = LoadSpriteFont("resources/fonts/alagard.rbmf"); // rBMF font loading - fonts[1] = LoadSpriteFont("resources/fonts/pixelplay.rbmf"); // rBMF font loading - fonts[2] = LoadSpriteFont("resources/fonts/mecha.rbmf"); // rBMF font loading - fonts[3] = LoadSpriteFont("resources/fonts/setback.rbmf"); // rBMF font loading - fonts[4] = LoadSpriteFont("resources/fonts/romulus.rbmf"); // rBMF font loading - fonts[5] = LoadSpriteFont("resources/fonts/pixantiqua.rbmf"); // rBMF font loading - fonts[6] = LoadSpriteFont("resources/fonts/alpha_beta.rbmf"); // rBMF font loading - fonts[7] = LoadSpriteFont("resources/fonts/jupiter_crash.rbmf"); // rBMF font loading - - for (int i = 0; i < 8; i++) + fonts[0] = LoadSpriteFont("resources/fonts/alagard.png"); + fonts[1] = LoadSpriteFont("resources/fonts/pixelplay.png"); + fonts[2] = LoadSpriteFont("resources/fonts/mecha.png"); + fonts[3] = LoadSpriteFont("resources/fonts/setback.png"); + fonts[4] = LoadSpriteFont("resources/fonts/romulus.png"); + fonts[5] = LoadSpriteFont("resources/fonts/pixantiqua.png"); + fonts[6] = LoadSpriteFont("resources/fonts/alpha_beta.png"); + fonts[7] = LoadSpriteFont("resources/fonts/jupiter_crash.png"); + + for (int i = 0; i < MAX_FONTS; i++) { positions[i].x = screenWidth/2 - MeasureTextEx(fonts[i], messages[i], fonts[i].baseSize*2, spacings[i]).x/2; - positions[i].y = 60 + fonts[i].baseSize + 50*i; + positions[i].y = 60 + fonts[i].baseSize + 45*i; } + // Small Y position corrections + positions[3].y += 8; + positions[4].y += 2; + positions[7].y -= 8; + #if defined(PLATFORM_WEB) emscripten_set_main_loop(UpdateDrawFrame, 0, 1); #else @@ -87,10 +94,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - for (int i = 0; i < 8; i++) - { - UnloadSpriteFont(fonts[i]); // SpriteFont unloading - } + + // SpriteFont unloading + for (int i = 0; i < MAX_FONTS; i++) UnloadSpriteFont(fonts[i]); + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/docs/examples/web/text/text_raylib_fonts.data b/docs/examples/web/text/text_raylib_fonts.data new file mode 100644 index 000000000..dc6a8be21 Binary files /dev/null and b/docs/examples/web/text/text_raylib_fonts.data differ diff --git a/docs/examples/web/text/text_rbmf_fonts.js b/docs/examples/web/text/text_raylib_fonts.js similarity index 93% rename from docs/examples/web/text/text_rbmf_fonts.js rename to docs/examples/web/text/text_raylib_fonts.js index bd9cf29a0..00732537b 100644 --- a/docs/examples/web/text/text_rbmf_fonts.js +++ b/docs/examples/web/text/text_raylib_fonts.js @@ -20,8 +20,8 @@ Module.expectedDataFileDownloads++; } else { throw 'using preloaded data can only be done on a web page or in a web worker'; } - var PACKAGE_NAME = 'text/text_rbmf_fonts.data'; - var REMOTE_PACKAGE_BASE = 'text_rbmf_fonts.data'; + var PACKAGE_NAME = 'text/text_raylib_fonts.data'; + var REMOTE_PACKAGE_BASE = 'text_raylib_fonts.data'; if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { Module['locateFile'] = Module['locateFilePackage']; Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); @@ -102,9 +102,8 @@ Module.expectedDataFileDownloads++; function assert(check, msg) { if (!check) throw msg + new Error().stack; } -Module['FS_createPath']('/', 'text', true, true); -Module['FS_createPath']('/text', 'resources', true, true); -Module['FS_createPath']('/text/resources', 'fonts', true, true); +Module['FS_createPath']('/', 'resources', true, true); +Module['FS_createPath']('/resources', 'fonts', true, true); function DataRequest(start, end, crunched, audio) { this.start = start; @@ -160,10 +159,10 @@ Module['FS_createPath']('/text/resources', 'fonts', true, true); for (i = 0; i < files.length; ++i) { DataRequest.prototype.requests[files[i].filename].onload(); } - Module['removeRunDependency']('datafile_text/text_rbmf_fonts.data'); + Module['removeRunDependency']('datafile_text/text_raylib_fonts.data'); }; - Module['addRunDependency']('datafile_text/text_rbmf_fonts.data'); + Module['addRunDependency']('datafile_text/text_raylib_fonts.data'); if (!Module.preloadResults) Module.preloadResults = {}; @@ -184,7 +183,7 @@ Module['FS_createPath']('/text/resources', 'fonts', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2159, "filename": "/text/resources/fonts/alagard.rbmf"}, {"audio": 0, "start": 2159, "crunched": 0, "end": 4319, "filename": "/text/resources/fonts/pixelplay.rbmf"}, {"audio": 0, "start": 4319, "crunched": 0, "end": 6479, "filename": "/text/resources/fonts/mecha.rbmf"}, {"audio": 0, "start": 6479, "crunched": 0, "end": 8639, "filename": "/text/resources/fonts/setback.rbmf"}, {"audio": 0, "start": 8639, "crunched": 0, "end": 10799, "filename": "/text/resources/fonts/romulus.rbmf"}, {"audio": 0, "start": 10799, "crunched": 0, "end": 12959, "filename": "/text/resources/fonts/pixantiqua.rbmf"}, {"audio": 0, "start": 12959, "crunched": 0, "end": 15119, "filename": "/text/resources/fonts/alpha_beta.rbmf"}, {"audio": 0, "start": 15119, "crunched": 0, "end": 17279, "filename": "/text/resources/fonts/jupiter_crash.rbmf"}], "remote_package_size": 17279, "package_uuid": "9c8ea26f-adbd-48f4-9c73-43cd2557021c"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 4424, "filename": "/resources/fonts/alagard.png"}, {"audio": 0, "start": 4424, "crunched": 0, "end": 7336, "filename": "/resources/fonts/pixelplay.png"}, {"audio": 0, "start": 7336, "crunched": 0, "end": 9735, "filename": "/resources/fonts/mecha.png"}, {"audio": 0, "start": 9735, "crunched": 0, "end": 12274, "filename": "/resources/fonts/setback.png"}, {"audio": 0, "start": 12274, "crunched": 0, "end": 15206, "filename": "/resources/fonts/romulus.png"}, {"audio": 0, "start": 15206, "crunched": 0, "end": 18209, "filename": "/resources/fonts/pixantiqua.png"}, {"audio": 0, "start": 18209, "crunched": 0, "end": 20651, "filename": "/resources/fonts/alpha_beta.png"}, {"audio": 0, "start": 20651, "crunched": 0, "end": 24129, "filename": "/resources/fonts/jupiter_crash.png"}], "remote_package_size": 24129, "package_uuid": "6678b3d2-e5b4-4a4d-a0c0-734e1f82c6c7"}); })(); @@ -1777,12 +1776,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 25600; +STATICTOP = STATIC_BASE + 25584; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,2,0,0,0,4,0,0,0,8,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,255,95,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,16,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,114,66,77,70,32,102,111,110,116,115,0,190,33,55,255,255,161,0,255,0,117,44,255,0,82,172,255,112,31,126,255,0,158,47,255,255,203,0,255,0,0,0,0,65,76,65,71,65,82,68,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,72,101,119,101,116,116,32,84,115,111,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,73,88,69,76,80,76,65,89,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,65,108,101,107,115,97,110,100,101,114,32,83,104,101,118,99,104,117,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,69,67,72,65,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,67,97,112,116,97,105,110,32,70,97,108,99,111,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,69,84,66,65,67,75,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,66,114,105,97,110,32,75,101,110,116,32,40,65,69,110,105,103,109,97,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,79,77,85,76,85,83,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,72,101,119,101,116,116,32,84,115,111,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,73,88,65,78,84,73,81,85,65,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,71,101,114,104,97,114,100,32,71,114,111,115,115,109,97,110,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,76,80,72,65,95,66,69,84,65,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,66,114,105,97,110,32,75,101,110,116,32,40,65,69,110,105,103,109,97,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,85,80,73,84,69,82,95,67,82,65,83,72,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,66,114,105,97,110,32,75,101,110,116,32,40,65,69,110,105,103,109,97,41,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,97,108,97,103,97,114,100,46,114,98,109,102,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,112,105,120,101,108,112,108,97,121,46,114,98,109,102,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,109,101,99,104,97,46,114,98,109,102,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,115,101,116,98,97,99,107,46,114,98,109,102,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,114,111,109,117,108,117,115,46,114,98,109,102,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,112,105,120,97,110,116,105,113,117,97,46,114,98,109,102,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,97,108,112,104,97,95,98,101,116,97,46,114,98,109,102,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,106,117,112,105,116,101,114,95,99,114,97,115,104,46,114,98,109,102,0,102,114,101,101,32,102,111,110,116,115,32,105,110,99,108,117,100,101,100,32,119,105,116,104,32,114,97,121,108,105,98,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,2,0,0,0,4,0,0,0,8,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,239,95,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,16,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,114,97,121,108,105,98,32,102,111,110,116,115,0,190,33,55,255,255,161,0,255,0,117,44,255,0,82,172,255,112,31,126,255,0,158,47,255,255,203,0,255,230,41,55,255,65,76,65,71,65,82,68,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,72,101,119,101,116,116,32,84,115,111,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,73,88,69,76,80,76,65,89,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,65,108,101,107,115,97,110,100,101,114,32,83,104,101,118,99,104,117,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,69,67,72,65,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,67,97,112,116,97,105,110,32,70,97,108,99,111,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,69,84,66,65,67,75,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,66,114,105,97,110,32,75,101,110,116,32,40,65,69,110,105,103,109,97,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,79,77,85,76,85,83,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,72,101,119,101,116,116,32,84,115,111,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,73,88,65,78,84,73,81,85,65,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,71,101,114,104,97,114,100,32,71,114,111,115,115,109,97,110,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,76,80,72,65,95,66,69,84,65,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,66,114,105,97,110,32,75,101,110,116,32,40,65,69,110,105,103,109,97,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,85,80,73,84,69,82,95,67,82,65,83,72,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,66,114,105,97,110,32,75,101,110,116,32,40,65,69,110,105,103,109,97,41,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,97,108,97,103,97,114,100,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,112,105,120,101,108,112,108,97,121,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,109,101,99,104,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,115,101,116,98,97,99,107,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,114,111,109,117,108,117,115,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,112,105,120,97,110,116,105,113,117,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,97,108,112,104,97,95,98,101,116,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,106,117,112,105,116,101,114,95,99,114,97,115,104,46,112,110,103,0,102,114,101,101,32,102,111,110,116,115,32,105,110,99,108,117,100,101,100,32,119,105,116,104,32,114,97,121,108,105,98,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10477,8 +10476,8 @@ function getTempRet0() { function _main() { var $$01618 = 0, $$byval_copy8 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; + var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); $$byval_copy8 = sp + 264|0; @@ -10495,34 +10494,34 @@ function _main() { $10 = HEAP32[2]|0; $11 = HEAP32[3]|0; _InitWindow($10,$11,4272); - dest=$0; src=4307; 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)); - HEAP32[4942] = $0; - HEAP32[4943] = 4339; - _LoadSpriteFont($1,4851); - ;HEAP32[19776>>2]=HEAP32[$1>>2]|0;HEAP32[19776+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19776+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19776+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19776+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[19776+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[19776+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[19776+28>>2]=HEAP32[$1+28>>2]|0; - _LoadSpriteFont($2,4880); - ;HEAP32[(19808)>>2]=HEAP32[$2>>2]|0;HEAP32[(19808)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(19808)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(19808)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(19808)+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[(19808)+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[(19808)+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[(19808)+28>>2]=HEAP32[$2+28>>2]|0; + dest=$0; src=4309; 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)); + HEAP32[5018] = $0; + HEAP32[5019] = 4341; + _LoadSpriteFont($1,4853); + ;HEAP32[20080>>2]=HEAP32[$1>>2]|0;HEAP32[20080+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[20080+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[20080+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[20080+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[20080+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[20080+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[20080+28>>2]=HEAP32[$1+28>>2]|0; + _LoadSpriteFont($2,4881); + ;HEAP32[(20112)>>2]=HEAP32[$2>>2]|0;HEAP32[(20112)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(20112)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(20112)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(20112)+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[(20112)+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[(20112)+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[(20112)+28>>2]=HEAP32[$2+28>>2]|0; _LoadSpriteFont($3,4911); - ;HEAP32[(19840)>>2]=HEAP32[$3>>2]|0;HEAP32[(19840)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(19840)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(19840)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(19840)+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[(19840)+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[(19840)+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[(19840)+28>>2]=HEAP32[$3+28>>2]|0; - _LoadSpriteFont($4,4938); - ;HEAP32[(19872)>>2]=HEAP32[$4>>2]|0;HEAP32[(19872)+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[(19872)+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[(19872)+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[(19872)+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[(19872)+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[(19872)+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[(19872)+28>>2]=HEAP32[$4+28>>2]|0; - _LoadSpriteFont($5,4967); - ;HEAP32[(19904)>>2]=HEAP32[$5>>2]|0;HEAP32[(19904)+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[(19904)+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[(19904)+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[(19904)+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[(19904)+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[(19904)+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[(19904)+28>>2]=HEAP32[$5+28>>2]|0; - _LoadSpriteFont($6,4996); - ;HEAP32[(19936)>>2]=HEAP32[$6>>2]|0;HEAP32[(19936)+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[(19936)+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[(19936)+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[(19936)+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[(19936)+20>>2]=HEAP32[$6+20>>2]|0;HEAP32[(19936)+24>>2]=HEAP32[$6+24>>2]|0;HEAP32[(19936)+28>>2]=HEAP32[$6+28>>2]|0; - _LoadSpriteFont($7,5028); - ;HEAP32[(19968)>>2]=HEAP32[$7>>2]|0;HEAP32[(19968)+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[(19968)+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[(19968)+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[(19968)+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[(19968)+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[(19968)+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[(19968)+28>>2]=HEAP32[$7+28>>2]|0; - _LoadSpriteFont($8,5060); - ;HEAP32[(20000)>>2]=HEAP32[$8>>2]|0;HEAP32[(20000)+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[(20000)+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[(20000)+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[(20000)+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[(20000)+20>>2]=HEAP32[$8+20>>2]|0;HEAP32[(20000)+24>>2]=HEAP32[$8+24>>2]|0;HEAP32[(20000)+28>>2]=HEAP32[$8+28>>2]|0; + ;HEAP32[(20144)>>2]=HEAP32[$3>>2]|0;HEAP32[(20144)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(20144)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(20144)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(20144)+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[(20144)+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[(20144)+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[(20144)+28>>2]=HEAP32[$3+28>>2]|0; + _LoadSpriteFont($4,4937); + ;HEAP32[(20176)>>2]=HEAP32[$4>>2]|0;HEAP32[(20176)+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[(20176)+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[(20176)+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[(20176)+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[(20176)+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[(20176)+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[(20176)+28>>2]=HEAP32[$4+28>>2]|0; + _LoadSpriteFont($5,4965); + ;HEAP32[(20208)>>2]=HEAP32[$5>>2]|0;HEAP32[(20208)+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[(20208)+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[(20208)+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[(20208)+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[(20208)+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[(20208)+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[(20208)+28>>2]=HEAP32[$5+28>>2]|0; + _LoadSpriteFont($6,4993); + ;HEAP32[(20240)>>2]=HEAP32[$6>>2]|0;HEAP32[(20240)+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[(20240)+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[(20240)+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[(20240)+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[(20240)+20>>2]=HEAP32[$6+20>>2]|0;HEAP32[(20240)+24>>2]=HEAP32[$6+24>>2]|0;HEAP32[(20240)+28>>2]=HEAP32[$6+28>>2]|0; + _LoadSpriteFont($7,5024); + ;HEAP32[(20272)>>2]=HEAP32[$7>>2]|0;HEAP32[(20272)+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[(20272)+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[(20272)+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[(20272)+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[(20272)+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[(20272)+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[(20272)+28>>2]=HEAP32[$7+28>>2]|0; + _LoadSpriteFont($8,5055); + ;HEAP32[(20304)>>2]=HEAP32[$8>>2]|0;HEAP32[(20304)+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[(20304)+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[(20304)+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[(20304)+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[(20304)+20>>2]=HEAP32[$8+20>>2]|0;HEAP32[(20304)+24>>2]=HEAP32[$8+24>>2]|0;HEAP32[(20304)+28>>2]=HEAP32[$8+28>>2]|0; $$01618 = 0; while(1) { $12 = HEAP32[2]|0; $13 = (($12|0) / 2)&-1; $14 = (+($13|0)); - $15 = (19776 + ($$01618<<5)|0); - $16 = HEAP32[4943]|0; + $15 = (20080 + ($$01618<<5)|0); + $16 = HEAP32[5019]|0; $17 = (($16) + ($$01618<<6)|0); - $18 = (((19776 + ($$01618<<5)|0)) + 20|0); + $18 = (((20080 + ($$01618<<5)|0)) + 20|0); $19 = HEAP32[$18>>2]|0; $20 = $19 << 1; $21 = (+($20|0)); @@ -10533,14 +10532,14 @@ function _main() { $24 = +HEAPF32[$9>>2]; $25 = $24 * 0.5; $26 = $14 - $25; - $27 = (20032 + ($$01618<<3)|0); + $27 = (20336 + ($$01618<<3)|0); HEAPF32[$27>>2] = $26; $28 = HEAP32[$18>>2]|0; - $29 = ($$01618*50)|0; + $29 = ($$01618*45)|0; $30 = (($29) + 60)|0; $31 = (($30) + ($28))|0; $32 = (+($31|0)); - $33 = (((20032 + ($$01618<<3)|0)) + 4|0); + $33 = (((20336 + ($$01618<<3)|0)) + 4|0); HEAPF32[$33>>2] = $32; $34 = (($$01618) + 1)|0; $exitcond = ($34|0)==(8); @@ -10550,22 +10549,31 @@ function _main() { $$01618 = $34; } } + $35 = +HEAPF32[(20364)>>2]; + $36 = $35 + 8.0; + HEAPF32[(20364)>>2] = $36; + $37 = +HEAPF32[(20372)>>2]; + $38 = $37 + 2.0; + HEAPF32[(20372)>>2] = $38; + $39 = +HEAPF32[(20396)>>2]; + $40 = $39 + -8.0; + HEAPF32[(20396)>>2] = $40; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$$byval_copy8>>2]=HEAP32[19776>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[19776+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[19776+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[19776+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[19776+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[19776+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[19776+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[19776+28>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[20080>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[20080+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[20080+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[20080+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[20080+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[20080+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[20080+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[20080+28>>2]|0; _UnloadSpriteFont($$byval_copy8); - ;HEAP32[$$byval_copy8>>2]=HEAP32[(19808)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(19808)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(19808)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(19808)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(19808)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(19808)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(19808)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(19808)+28>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[(20112)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20112)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20112)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20112)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20112)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20112)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20112)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20112)+28>>2]|0; _UnloadSpriteFont($$byval_copy8); - ;HEAP32[$$byval_copy8>>2]=HEAP32[(19840)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(19840)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(19840)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(19840)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(19840)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(19840)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(19840)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(19840)+28>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[(20144)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20144)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20144)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20144)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20144)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20144)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20144)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20144)+28>>2]|0; _UnloadSpriteFont($$byval_copy8); - ;HEAP32[$$byval_copy8>>2]=HEAP32[(19872)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(19872)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(19872)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(19872)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(19872)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(19872)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(19872)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(19872)+28>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[(20176)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20176)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20176)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20176)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20176)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20176)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20176)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20176)+28>>2]|0; _UnloadSpriteFont($$byval_copy8); - ;HEAP32[$$byval_copy8>>2]=HEAP32[(19904)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(19904)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(19904)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(19904)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(19904)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(19904)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(19904)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(19904)+28>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[(20208)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20208)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20208)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20208)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20208)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20208)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20208)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20208)+28>>2]|0; _UnloadSpriteFont($$byval_copy8); - ;HEAP32[$$byval_copy8>>2]=HEAP32[(19936)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(19936)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(19936)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(19936)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(19936)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(19936)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(19936)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(19936)+28>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[(20240)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20240)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20240)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20240)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20240)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20240)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20240)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20240)+28>>2]|0; _UnloadSpriteFont($$byval_copy8); - ;HEAP32[$$byval_copy8>>2]=HEAP32[(19968)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(19968)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(19968)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(19968)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(19968)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(19968)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(19968)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(19968)+28>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[(20272)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20272)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20272)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20272)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20272)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20272)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20272)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20272)+28>>2]|0; _UnloadSpriteFont($$byval_copy8); - ;HEAP32[$$byval_copy8>>2]=HEAP32[(20000)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20000)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20000)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20000)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20000)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20000)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20000)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20000)+28>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[(20304)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20304)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20304)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20304)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20304)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20304)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20304)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20304)+28>>2]|0; _UnloadSpriteFont($$byval_copy8); _CloseWindow(); STACKTOP = sp;return 0; @@ -10599,7 +10607,7 @@ function _UpdateDrawFrame() { $8 = ((($1)) + 3|0); HEAP8[$8>>0] = -1; ;HEAP8[$$byval_copy5>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$1+3>>0]|0; - _DrawText(5095,250,20,20,$$byval_copy5); + _DrawText(5089,250,20,20,$$byval_copy5); HEAP8[$2>>0] = 80; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = 80; @@ -10611,17 +10619,17 @@ function _UpdateDrawFrame() { _DrawLine(220,50,590,50,$$byval_copy5); $$09 = 0; while(1) { - $12 = (19776 + ($$09<<5)|0); - $13 = HEAP32[4943]|0; + $12 = (20080 + ($$09<<5)|0); + $13 = HEAP32[5019]|0; $14 = (($13) + ($$09<<6)|0); - $15 = (20032 + ($$09<<3)|0); - $16 = (((19776 + ($$09<<5)|0)) + 20|0); + $15 = (20336 + ($$09<<3)|0); + $16 = (((20080 + ($$09<<5)|0)) + 20|0); $17 = HEAP32[$16>>2]|0; $18 = $17 << 1; $19 = (+($18|0)); $20 = (16 + ($$09<<2)|0); $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[4942]|0; + $22 = HEAP32[5018]|0; $23 = (($22) + ($$09<<2)|0); ;HEAP32[$$byval_copy3>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$12+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$12+16>>2]|0;HEAP32[$$byval_copy3+20>>2]=HEAP32[$12+20>>2]|0;HEAP32[$$byval_copy3+24>>2]=HEAP32[$12+24>>2]|0;HEAP32[$$byval_copy3+28>>2]=HEAP32[$12+28>>2]|0; ;HEAP32[$$byval_copy4>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$15+4>>2]|0; @@ -10638,6 +10646,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10737,13 +10795,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11353,7 +11404,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[5025] = $2; + HEAP32[5101] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11366,7 +11417,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 19496; + $95 = 19800; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11379,48 +11430,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 19536; + $106 = 19840; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4884]; - $111 = +HEAPF32[4874]; + $110 = +HEAPF32[4960]; + $111 = +HEAPF32[4950]; $112 = $110 - $111; - HEAPF32[4886] = $112; - $113 = +HEAPF32[(19540)>>2]; - $114 = +HEAPF32[(19500)>>2]; + HEAPF32[4962] = $112; + $113 = +HEAPF32[(19844)>>2]; + $114 = +HEAPF32[(19804)>>2]; $115 = $113 - $114; - HEAPF32[(19548)>>2] = $115; - HEAP32[5024] = 4; + HEAPF32[(19852)>>2] = $115; + HEAP32[5100] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19528>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19528+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19552>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19552+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19832>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19832+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19856+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[5030] = $116; - $117 = 19528; + HEAPF32[5106] = $116; + $117 = 19832; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 19496; + $123 = 19800; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 19552; + $127 = 19856; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 19536; + $133 = 19840; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11433,7 +11484,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 19528; + $144 = 19832; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11446,27 +11497,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 19552; + $155 = 19856; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4888]; - $160 = +HEAPF32[4882]; + $159 = +HEAPF32[4964]; + $160 = +HEAPF32[4958]; $161 = $159 - $160; - HEAPF32[4886] = $161; - $162 = +HEAPF32[(19556)>>2]; - $163 = +HEAPF32[(19532)>>2]; + HEAPF32[4962] = $161; + $162 = +HEAPF32[(19860)>>2]; + $163 = +HEAPF32[(19836)>>2]; $164 = $162 - $163; - HEAPF32[(19548)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19528+4>>2]|0; + HEAPF32[(19852)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19800+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19832>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19832+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19536>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19536+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19552>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19552+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19840+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19856+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11478,31 +11529,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19528>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19528+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19552>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19552+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19832>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19832+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19856+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[5030]; + $170 = +HEAPF32[5106]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[5024] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19528>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19528+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19552>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19552+4>>2]|0; + HEAP32[5100] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19832>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19832+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19856+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[5031] = $174; + HEAPF32[5107] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[5030] = 0.0; - HEAPF32[5031] = 0.0; - HEAPF32[4886] = 0.0; - HEAPF32[(19548)>>2] = 0.0; - HEAP32[5025] = 0; - HEAP32[5024] = 0; + HEAPF32[5106] = 0.0; + HEAPF32[5107] = 0.0; + HEAPF32[4962] = 0.0; + HEAPF32[(19852)>>2] = 0.0; + HEAP32[5101] = 0; + HEAP32[5100] = 0; STACKTOP = sp;return; break; } @@ -11512,22 +11563,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[5026]|0; + $6 = HEAP32[5102]|0; $7 = (($6) + 1)|0; - HEAP32[5026] = $7; - $8 = HEAP32[5024]|0; + HEAP32[5102] = $7; + $8 = HEAP32[5100]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19800+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[5024] = 2; - HEAP32[5026] = 0; + HEAP32[5100] = 2; + HEAP32[5102] = 0; } else { label = 6; } @@ -11535,8 +11586,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[5026] = 1; - HEAP32[5024] = 1; + HEAP32[5102] = 1; + HEAP32[5100] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11545,19 +11596,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 19496; + $21 = 19800; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 19504; + $25 = 19808; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 19512; + $29 = 19816; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11566,13 +11617,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[12] = $34; - HEAPF32[4880] = 0.0; - HEAPF32[(19524)>>2] = 0.0; + HEAPF32[4956] = 0.0; + HEAPF32[(19828)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[5024]|0; + $35 = HEAP32[5100]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11582,19 +11633,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 19512; + $44 = 19816; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19512>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19512+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19800+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19816>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19816+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[5027] = $49; - HEAP32[5028] = 0; + HEAPF32[5103] = $49; + HEAP32[5104] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[12]|0; @@ -11602,11 +11653,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19512>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19512+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19800+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19816>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19816+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[5029] = $56; + HEAPF32[5105] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11637,22 +11688,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[5027] = 0.0; - HEAPF32[5029] = 0.0; + HEAPF32[5103] = 0.0; + HEAPF32[5105] = 0.0; $$sink10 = 0; } - HEAP32[5024] = $$sink10; - HEAPF32[4876] = 0.0; - HEAPF32[(19508)>>2] = 0.0; - HEAP32[5025] = 0; + HEAP32[5100] = $$sink10; + HEAPF32[4952] = 0.0; + HEAPF32[(19812)>>2] = 0.0; + HEAP32[5101] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[5028]|0; + $65 = HEAP32[5104]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[5028] = 1; + HEAP32[5104] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11661,31 +11712,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 19528; + $74 = 19832; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[5024]|0; + $78 = HEAP32[5100]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19528+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19800+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19832>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19832+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[5024] = 8; + HEAP32[5100] = 8; } } - $82 = +HEAPF32[4882]; - $83 = +HEAPF32[4876]; + $82 = +HEAPF32[4958]; + $83 = +HEAPF32[4952]; $84 = $82 - $83; - HEAPF32[4880] = $84; - $85 = +HEAPF32[(19532)>>2]; - $86 = +HEAPF32[(19508)>>2]; + HEAPF32[4956] = $84; + $85 = +HEAPF32[(19836)>>2]; + $86 = +HEAPF32[(19812)>>2]; $87 = $85 - $86; - HEAPF32[(19524)>>2] = $87; + HEAPF32[(19828)>>2] = $87; STACKTOP = sp;return; break; } @@ -11694,58 +11745,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5024]|0; + $0 = HEAP32[5100]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[5025]|0; + $2 = HEAP32[5101]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[5024] = 4; + HEAP32[5100] = 4; } - $4 = HEAP32[5024]|0; + $4 = HEAP32[5100]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11758,14 +11770,14 @@ function _UpdateGestures() { return; } } - HEAP32[5024] = 0; + HEAP32[5100] = 0; return; } function _GetMousePosition($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 = 19560; + $1 = 19864; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11782,13 +11794,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5034]|0; + $0 = HEAP32[5110]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5033]|0; + $0 = HEAP32[5109]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11799,29 +11811,29 @@ function _InitWindow($0,$1,$2) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - _TraceLog(0,5127,$vararg_buffer); - HEAP32[5036] = $2; + _TraceLog(0,5121,$vararg_buffer); + HEAP32[5112] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); - (_emscripten_set_keypress_callback((5156|0),(0|0),1,(5|0))|0); - (_emscripten_set_click_callback((5156|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchstart_callback((5156|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchend_callback((5156|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchmove_callback((5156|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchcancel_callback((5156|0),(0|0),1,(7|0))|0); + (_emscripten_set_keypress_callback((5150|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((5150|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((5150|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((5150|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((5150|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((5150|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[5034]|0; + $3 = HEAP32[5110]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4890] = $5; - $6 = HEAP32[5033]|0; + HEAPF32[4966] = $5; + $6 = HEAP32[5109]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(19564)>>2] = $8; - $9 = HEAP32[5037]|0; + HEAPF32[(19868)>>2] = $8; + $9 = HEAP32[5113]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11840,11 +11852,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[19600>>0]=HEAP8[9685>>0]|0;HEAP8[19600+1>>0]=HEAP8[9685+1>>0]|0;HEAP8[19600+2>>0]=HEAP8[9685+2>>0]|0;HEAP8[19600+3>>0]=HEAP8[9685+3>>0]|0;HEAP8[19600+4>>0]=HEAP8[9685+4>>0]|0;HEAP8[19600+5>>0]=HEAP8[9685+5>>0]|0;HEAP8[19600+6>>0]=HEAP8[9685+6>>0]|0; + ;HEAP8[19904>>0]=HEAP8[9679>>0]|0;HEAP8[19904+1>>0]=HEAP8[9679+1>>0]|0;HEAP8[19904+2>>0]=HEAP8[9679+2>>0]|0;HEAP8[19904+3>>0]=HEAP8[9679+3>>0]|0;HEAP8[19904+4>>0]=HEAP8[9679+4>>0]|0;HEAP8[19904+5>>0]=HEAP8[9679+5>>0]|0;HEAP8[19904+6>>0]=HEAP8[9679+6>>0]|0; break; } case 1: { - $3 = 19600; + $3 = 19904; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11853,11 +11865,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=19600; src=9692; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=19904; src=9686; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 19600; + $7 = 19904; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11868,16 +11880,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(19600,$1)|0); - $strlen = (_strlen(19600)|0); - $endptr = (19600 + ($strlen)|0); + (_strcat(19904,$1)|0); + $strlen = (_strlen(19904)|0); + $endptr = (19904 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(19600,$2)|0); + (_vprintf(19904,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11909,22 +11921,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[5034] = $0; - HEAP32[5033] = $1; + HEAP32[5110] = $0; + HEAP32[5109] = $1; _MatrixIdentity($2); - dest=20224; 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)); + dest=20528; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { - _TraceLog(1,5827,$vararg_buffer); + _TraceLog(1,5821,$vararg_buffer); } - $6 = HEAP32[5034]|0; - HEAP32[5072] = $6; - $7 = HEAP32[5033]|0; - HEAP32[5073] = $7; + $6 = HEAP32[5110]|0; + HEAP32[5148] = $6; + $7 = HEAP32[5109]|0; + HEAP32[5149] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[22960]|0; + $8 = HEAP8[23264]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11932,18 +11944,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[22960]|0; + $11 = HEAP8[23264]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[22960]|0; + $14 = HEAP8[23264]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,5853,$vararg_buffer1); + _TraceLog(0,5847,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -11960,18 +11972,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[5074]|0; + $21 = HEAP32[5150]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[5034]|0; - $48 = HEAP32[5033]|0; - $49 = HEAP32[5036]|0; + $47 = HEAP32[5110]|0; + $48 = HEAP32[5109]|0; + $49 = HEAP32[5112]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[5032] = $50; - $51 = HEAP32[5034]|0; - HEAP32[5075] = $51; - $52 = HEAP32[5033]|0; - HEAP32[5076] = $52; + HEAP32[5108] = $50; + $51 = HEAP32[5110]|0; + HEAP32[5151] = $51; + $52 = HEAP32[5109]|0; + HEAP32[5152] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11980,9 +11992,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[5034]|0; + $27 = HEAP32[5110]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[5033]|0; + $29 = HEAP32[5109]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12004,87 +12016,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[5072] = $31; - HEAP32[5073] = $34; + HEAP32[5148] = $31; + HEAP32[5149] = $34; } } while(0); - $38 = HEAP32[5072]|0; - $39 = HEAP32[5073]|0; + $38 = HEAP32[5148]|0; + $39 = HEAP32[5149]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,5878,$vararg_buffer3); - $40 = HEAP32[5072]|0; - $41 = HEAP32[5073]|0; + _TraceLog(2,5872,$vararg_buffer3); + $40 = HEAP32[5148]|0; + $41 = HEAP32[5149]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[5072]|0; - $43 = HEAP32[5073]|0; - $44 = HEAP32[5036]|0; + $42 = HEAP32[5148]|0; + $43 = HEAP32[5149]|0; + $44 = HEAP32[5112]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[5032] = $46; + HEAP32[5108] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,5916,$vararg_buffer6); + _TraceLog(1,5910,$vararg_buffer6); } else { - _TraceLog(0,5949,$vararg_buffer8); - $55 = HEAP32[5075]|0; - $56 = HEAP32[5076]|0; + _TraceLog(0,5943,$vararg_buffer8); + $55 = HEAP32[5151]|0; + $56 = HEAP32[5152]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,5989,$vararg_buffer10); - $57 = HEAP32[5034]|0; - $58 = HEAP32[5033]|0; + _TraceLog(0,5983,$vararg_buffer10); + $57 = HEAP32[5110]|0; + $58 = HEAP32[5109]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,6010,$vararg_buffer14); - $59 = HEAP32[5077]|0; - $60 = HEAP32[5078]|0; + _TraceLog(0,6004,$vararg_buffer14); + $59 = HEAP32[5153]|0; + $60 = HEAP32[5154]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,6031,$vararg_buffer18); + _TraceLog(0,6025,$vararg_buffer18); } - $61 = HEAP32[5032]|0; + $61 = HEAP32[5108]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[5032]|0; + $62 = HEAP32[5108]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[5032]|0; + $63 = HEAP32[5108]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[5032]|0; + $64 = HEAP32[5108]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[5032]|0; + $65 = HEAP32[5108]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[5032]|0; + $66 = HEAP32[5108]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[5032]|0; + $67 = HEAP32[5108]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[5032]|0; + $68 = HEAP32[5108]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[5032]|0; + $69 = HEAP32[5108]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[22960]|0; + $70 = HEAP8[23264]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[5034]|0; - $74 = HEAP32[5033]|0; + $73 = HEAP32[5110]|0; + $74 = HEAP32[5109]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[5075]|0; - $76 = HEAP32[5077]|0; + $75 = HEAP32[5151]|0; + $76 = HEAP32[5153]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[5076]|0; - $80 = HEAP32[5078]|0; + $79 = HEAP32[5152]|0; + $80 = HEAP32[5154]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12102,19 +12114,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,6056,$vararg_buffer22); - $73 = HEAP32[5034]|0; - $74 = HEAP32[5033]|0; + _TraceLog(0,6050,$vararg_buffer22); + $73 = HEAP32[5110]|0; + $74 = HEAP32[5109]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[5075]|0; - $76 = HEAP32[5077]|0; + $75 = HEAP32[5151]|0; + $76 = HEAP32[5153]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[5076]|0; - $80 = HEAP32[5078]|0; + $79 = HEAP32[5152]|0; + $80 = HEAP32[5154]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12142,7 +12154,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(20192)>>2] = 224; + HEAP32[(20496)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12183,27 +12195,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[20168>>2]=HEAP32[$1>>2]|0;HEAP32[20168+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[20168+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[20168+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[20168+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[20472>>2]=HEAP32[$1>>2]|0;HEAP32[20472+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[20472+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[20472+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[20472+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(20192)>>2]|0; + $5 = HEAP32[(20496)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(20196)>>2] = $7; + HEAP32[(20500)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(20188)>>2] = $23; - $24 = HEAP32[5042]|0; + HEAP32[(20492)>>2] = $23; + $24 = HEAP32[5118]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5351,$vararg_buffer); + _TraceLog(0,5345,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(20172)>>2]|0; - $10 = HEAP32[(20192)>>2]|0; - $11 = HEAP32[(20196)>>2]|0; + $9 = HEAP32[(20476)>>2]|0; + $10 = HEAP32[(20496)>>2]|0; + $11 = HEAP32[(20500)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12252,10 +12264,10 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(20188)>>2] = $23; - $24 = HEAP32[5042]|0; + HEAP32[(20492)>>2] = $23; + $24 = HEAP32[5118]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5351,$vararg_buffer); + _TraceLog(0,5345,$vararg_buffer); STACKTOP = sp;return; } function _InitTimer() { @@ -12264,7 +12276,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2449] = $1; + HEAPF64[2487] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12294,7 +12306,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,5284,$vararg_buffer4); + _TraceLog(0,5278,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -12304,7 +12316,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,5215,$vararg_buffer); + _TraceLog(0,5209,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -12320,7 +12332,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,5208)|0); + $5 = (_strcmp($4,5202)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -12423,7 +12435,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 19576; + $31 = 19880; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12436,7 +12448,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (19584); + $42 = (19888); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12492,7 +12504,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (20152 + ($10<<2)|0); + $11 = (20456 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12506,19 +12518,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2446] = $$; + HEAPF64[2484] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,5164,$vararg_buffer); + _TraceLog(0,5158,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5037] = 0; + HEAP32[5113] = 0; return; } function _GetTime() { @@ -12617,7 +12629,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,5727,$vararg_buffer); + _TraceLog(2,5721,$vararg_buffer); STACKTOP = sp;return; } ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; @@ -13094,52 +13106,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[5050]|0; + $6 = HEAP32[5126]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,5396,$vararg_buffer); + _TraceLog(2,5390,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[5051]|0; + $9 = HEAP32[5127]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,5440,$vararg_buffer1); + _TraceLog(2,5434,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[5052]|0; + $12 = HEAP32[5128]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); $or$cond = $14 & $13; if ($or$cond) { - _TraceLog(2,5485,$vararg_buffer3); + _TraceLog(2,5479,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[5053]|0; + $15 = HEAP32[5129]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); $or$cond96 = $17 & $16; if ($or$cond96) { - _TraceLog(2,5530,$vararg_buffer5); + _TraceLog(2,5524,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[5054]|0; + $18 = HEAP32[5130]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); $or$cond98 = $20 & $19; if ($or$cond98) { - _TraceLog(2,5575,$vararg_buffer7); + _TraceLog(2,5569,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13177,7 +13189,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[5050]|0; + $22 = HEAP32[5126]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13185,7 +13197,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[5050]|0; + $24 = HEAP32[5126]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13193,7 +13205,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[5050]|0; + $26 = HEAP32[5126]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13201,7 +13213,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[5050]|0; + $28 = HEAP32[5126]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13209,7 +13221,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[5051]|0; + $30 = HEAP32[5127]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13217,7 +13229,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[5052]|0; + $32 = HEAP32[5128]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13225,7 +13237,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[5052]|0; + $34 = HEAP32[5128]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13233,7 +13245,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[5053]|0; + $36 = HEAP32[5129]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13241,7 +13253,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[5053]|0; + $38 = HEAP32[5129]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13249,7 +13261,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[5054]|0; + $40 = HEAP32[5130]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13257,7 +13269,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[5054]|0; + $42 = HEAP32[5130]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13265,11 +13277,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,5620,$vararg_buffer9); + _TraceLog(2,5614,$vararg_buffer9); } } } while(0); - $44 = HEAP32[5055]|0; + $44 = HEAP32[5131]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13284,7 +13296,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,5698,$vararg_buffer15); + _TraceLog(2,5692,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13293,7 +13305,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { HEAP32[$vararg_ptr13>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,5649,$vararg_buffer11); + _TraceLog(0,5643,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13567,7 +13579,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,5781,$vararg_buffer); + _TraceLog(2,5775,$vararg_buffer); $$1 = $$0106; } } @@ -13594,7 +13606,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,9647,$vararg_buffer); + _TraceLog(2,9641,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -13615,20 +13627,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[5034]|0; + $3 = HEAP32[5110]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[5033]|0; + $5 = HEAP32[5109]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[5075] = $3; - HEAP32[5076] = $5; - HEAP32[5077] = 0; - HEAP32[5078] = 0; + HEAP32[5151] = $3; + HEAP32[5152] = $5; + HEAP32[5153] = 0; + HEAP32[5154] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13638,13 +13650,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,9581,$vararg_buffer8); + _TraceLog(0,9575,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[5034]|0; + $35 = HEAP32[5110]|0; $36 = (+($35|0)); - $37 = HEAP32[5033]|0; + $37 = HEAP32[5109]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13652,26 +13664,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[5075] = $45; - HEAP32[5076] = $37; + HEAP32[5151] = $45; + HEAP32[5152] = $37; $46 = (($45) - ($35))|0; - HEAP32[5077] = $46; + HEAP32[5153] = $46; $$sink1 = 0; } else { - HEAP32[5075] = $35; + HEAP32[5151] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[5076] = $42; - HEAP32[5077] = 0; + HEAP32[5152] = $42; + HEAP32[5153] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[5078] = $$sink1; + HEAP32[5154] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[5033]|0; + $7 = HEAP32[5109]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13679,13 +13691,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,9438,$vararg_buffer); + _TraceLog(2,9432,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[5034]|0; + $9 = HEAP32[5110]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[5033]|0; + $13 = HEAP32[5109]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13693,37 +13705,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[5075] = $23; - HEAP32[5076] = $1; + HEAP32[5151] = $23; + HEAP32[5152] = $1; $24 = (($0) - ($23))|0; - HEAP32[5077] = $24; + HEAP32[5153] = $24; $$sink = 0; } else { - HEAP32[5075] = $0; - $17 = HEAP32[5033]|0; + HEAP32[5151] = $0; + $17 = HEAP32[5109]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[5076] = $20; - HEAP32[5077] = 0; + HEAP32[5152] = $20; + HEAP32[5153] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[5078] = $$sink; - $25 = HEAP32[5075]|0; + HEAP32[5154] = $$sink; + $25 = HEAP32[5151]|0; $26 = (+($25|0)); - $27 = HEAP32[5034]|0; + $27 = HEAP32[5110]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=20224; 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)); - HEAP32[5075] = $0; - HEAP32[5076] = $1; + dest=20528; 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)); + HEAP32[5151] = $0; + HEAP32[5152] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,9516,$vararg_buffer4); + _TraceLog(2,9510,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -13741,10 +13753,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[5034] = $1; - HEAP32[5033] = $2; - HEAP32[5075] = $1; - HEAP32[5076] = $2; + HEAP32[5110] = $1; + HEAP32[5109] = $2; + HEAP32[5151] = $1; + HEAP32[5152] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13771,7 +13783,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (22967 + ($1)|0); + $9 = (23271 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13792,7 +13804,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (22961 + ($1)|0); + $7 = (23265 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13871,7 +13883,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 19576; + $15 = 19880; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13906,7 +13918,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5448] = $3; + HEAP32[5524] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13916,7 +13928,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5447] = $$sink; + HEAP32[5523] = $$sink; return; } function _rlglInit($0,$1) { @@ -13956,16 +13968,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,6079,$vararg_buffer); + _TraceLog(0,6073,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,6097,$vararg_buffer1); + _TraceLog(0,6091,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,6115,$vararg_buffer4); + _TraceLog(0,6109,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,6133,$vararg_buffer7); + _TraceLog(0,6127,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -13973,7 +13985,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,6151)|0); + $15 = (_strtok($$sink63,6145)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -13987,41 +13999,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,6153,$vararg_buffer10); + _TraceLog(0,6147,$vararg_buffer10); $20 = ($$062|0)>(1); if ($20) { $$06167 = 0; while(1) { $23 = (($vararg_buffer7) + ($$06167<<2)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,6188)|0); + $25 = (_strcmp($24,6182)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[5113] = 1; - $27 = (_eglGetProcAddress((6215|0))|0); - HEAP32[5114] = $27; - $28 = (_eglGetProcAddress((6236|0))|0); - HEAP32[5115] = $28; - $29 = (_eglGetProcAddress((6257|0))|0); - HEAP32[5116] = $29; + HEAP32[5189] = 1; + $27 = (_eglGetProcAddress((6209|0))|0); + HEAP32[5190] = $27; + $28 = (_eglGetProcAddress((6230|0))|0); + HEAP32[5191] = $28; + $29 = (_eglGetProcAddress((6251|0))|0); + HEAP32[5192] = $29; } - $30 = (_strcmp($24,6281)|0); + $30 = (_strcmp($24,6275)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[5055] = 1; + HEAP32[5131] = 1; } - $32 = (_strcmp($24,6301)|0); + $32 = (_strcmp($24,6295)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,6333)|0); + $35 = (_strcmp($34,6327)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,6366)|0); + $37 = (_strcmp($34,6360)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -14030,15 +14042,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[5050] = 1; + HEAP32[5126] = 1; } - $39 = (_strcmp($24,6406)|0); + $39 = (_strcmp($24,6400)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,6442)|0); + $42 = (_strcmp($41,6436)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -14046,35 +14058,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[5051] = 1; + HEAP32[5127] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,6475)|0); + $45 = (_strcmp($44,6469)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[5052] = 1; + HEAP32[5128] = 1; } - $47 = (_strcmp($44,6500)|0); + $47 = (_strcmp($44,6494)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[5053] = 1; + HEAP32[5129] = 1; } - $49 = (_strcmp($44,6533)|0); + $49 = (_strcmp($44,6527)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[5054] = 1; + HEAP32[5130] = 1; } - $51 = (_strcmp($44,6569)|0); + $51 = (_strcmp($44,6563)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[5117] = 1; - _glGetFloatv(34047,(20472|0)); + HEAP32[5193] = 1; + _glGetFloatv(34047,(20776|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,6603)|0); + $54 = (_strcmp($53,6597)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[5119] = 1; + HEAP32[5195] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14085,77 +14097,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[5113]|0; + $21 = HEAP32[5189]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,6706,$vararg_buffer15); + _TraceLog(2,6700,$vararg_buffer15); } else { - _TraceLog(0,6631,$vararg_buffer13); + _TraceLog(0,6625,$vararg_buffer13); } - $57 = HEAP32[5055]|0; + $57 = HEAP32[5131]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,6842,$vararg_buffer19); + _TraceLog(2,6836,$vararg_buffer19); } else { - _TraceLog(0,6767,$vararg_buffer17); + _TraceLog(0,6761,$vararg_buffer17); } - $59 = HEAP32[5050]|0; + $59 = HEAP32[5126]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,6934,$vararg_buffer21); + _TraceLog(0,6928,$vararg_buffer21); } - $61 = HEAP32[5051]|0; + $61 = HEAP32[5127]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,6980,$vararg_buffer23); + _TraceLog(0,6974,$vararg_buffer23); } - $63 = HEAP32[5052]|0; + $63 = HEAP32[5128]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,7027,$vararg_buffer25); + _TraceLog(0,7021,$vararg_buffer25); } - $65 = HEAP32[5053]|0; + $65 = HEAP32[5129]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,7078,$vararg_buffer27); + _TraceLog(0,7072,$vararg_buffer27); } - $67 = HEAP32[5054]|0; + $67 = HEAP32[5130]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,7125,$vararg_buffer29); + _TraceLog(0,7119,$vararg_buffer29); } - $69 = HEAP32[5117]|0; + $69 = HEAP32[5193]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[5118]; + $71 = +HEAPF32[5194]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,7172,$vararg_buffer31); + _TraceLog(0,7166,$vararg_buffer31); } - $73 = HEAP32[5119]|0; + $73 = HEAP32[5195]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,7238,$vararg_buffer34); + _TraceLog(0,7232,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[5120] = $75; + HEAP32[5196] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,7342,$vararg_buffer39); + _TraceLog(2,7336,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,7291,$vararg_buffer36); + _TraceLog(0,7285,$vararg_buffer36); } _LoadDefaultShader($2); - dest=20484; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=20540; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20788; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20844; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[5149] = $77; + HEAP32[5225] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[5149]|0; + $79 = HEAP32[5225]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14168,7 +14180,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[5150] = $78; + HEAP32[5226] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14183,48 +14195,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[5151] = 1; - $85 = HEAP32[5120]|0; + HEAP32[5227] = 1; + $85 = HEAP32[5196]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[5152] = 4; + HEAP32[5228] = 4; _MatrixIdentity($4); - dest=20612; src=$4; 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)); + dest=20916; src=$4; 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)); _MatrixIdentity($4); - dest=(20676); src=$4; 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)); + dest=(20980); src=$4; 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)); _MatrixIdentity($4); - dest=(20740); src=$4; 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)); + dest=(21044); src=$4; 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)); _MatrixIdentity($4); - dest=(20804); src=$4; 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)); + dest=(21108); src=$4; 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)); _MatrixIdentity($4); - dest=(20868); src=$4; 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)); + dest=(21172); src=$4; 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)); _MatrixIdentity($4); - dest=(20932); src=$4; 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)); + dest=(21236); src=$4; 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)); _MatrixIdentity($4); - dest=(20996); src=$4; 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)); + dest=(21300); src=$4; 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)); _MatrixIdentity($4); - dest=(21060); src=$4; 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)); + dest=(21364); src=$4; 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)); _MatrixIdentity($4); - dest=(21124); src=$4; 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)); + dest=(21428); src=$4; 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)); _MatrixIdentity($4); - dest=(21188); src=$4; 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)); + dest=(21492); src=$4; 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)); _MatrixIdentity($4); - dest=(21252); src=$4; 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)); + dest=(21556); src=$4; 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)); _MatrixIdentity($4); - dest=(21316); src=$4; 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)); + dest=(21620); src=$4; 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)); _MatrixIdentity($4); - dest=(21380); src=$4; 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)); + dest=(21684); src=$4; 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)); _MatrixIdentity($4); - dest=(21444); src=$4; 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)); + dest=(21748); src=$4; 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)); _MatrixIdentity($4); - dest=(21508); src=$4; 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)); + dest=(21812); src=$4; 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)); _MatrixIdentity($4); - dest=(21572); src=$4; 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)); + dest=(21876); src=$4; 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)); _MatrixIdentity($5); - dest=20320; src=$5; 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)); + dest=20624; src=$5; 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)); _MatrixIdentity($6); - dest=20384; src=$6; 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)); - HEAP32[5079] = 20384; + dest=20688; src=$6; 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)); + HEAP32[5155] = 20688; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14235,21 +14247,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5409] = $0; - HEAP32[5410] = $1; - _TraceLog(0,7381,$vararg_buffer41); + HEAP32[5485] = $0; + HEAP32[5486] = $1; + _TraceLog(0,7375,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5077]|0; + $0 = HEAP32[5153]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[5078]|0; + $2 = HEAP32[5154]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[5075]|0; + $4 = HEAP32[5151]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[5076]|0; + $6 = HEAP32[5152]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14260,12 +14272,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 20320; + $modelview$sink = 20624; label = 3; break; } case 5888: { - $modelview$sink = 20384; + $modelview$sink = 20688; label = 3; break; } @@ -14273,9 +14285,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[5079] = $modelview$sink; + HEAP32[5155] = $modelview$sink; } - HEAP32[5112] = $0; + HEAP32[5188] = $0; return; } function _rlLoadIdentity() { @@ -14283,7 +14295,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[5079]|0; + $1 = HEAP32[5155]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14304,7 +14316,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[5079]|0; + $8 = HEAP32[5155]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14363,17 +14375,17 @@ function _LoadDefaultShader($0) { $1 = sp + 16|0; $2 = sp + 513|0; $3 = sp + 72|0; - _memcpy(($2|0),(7957|0),489)|0; - _memcpy(($3|0),(8446|0),441)|0; + _memcpy(($2|0),(7951|0),489)|0; + _memcpy(($3|0),(8440|0),441)|0; $4 = (_LoadShaderProgram($2,$3)|0); HEAP32[$1>>2] = $4; $5 = ($4|0)==(0); if ($5) { HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,8935,$vararg_buffer1); + _TraceLog(2,8929,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,8887,$vararg_buffer); + _TraceLog(0,8881,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -14401,15 +14413,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(21656)>>2] = $0; + HEAP32[(21960)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(21664)>>2] = $1; - HEAP32[(21660)>>2] = 0; - HEAP32[(21668)>>2] = 0; + HEAP32[(21968)>>2] = $1; + HEAP32[(21964)>>2] = 0; + HEAP32[(21972)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(21664)>>2]|0; + $2 = HEAP32[(21968)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14420,19 +14432,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5411] = 0; - HEAP32[(21652)>>2] = 0; - HEAP32[(21648)>>2] = 0; + HEAP32[5487] = 0; + HEAP32[(21956)>>2] = 0; + HEAP32[(21952)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(21704)>>2] = $5; + HEAP32[(22008)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(21712)>>2] = $6; - HEAP32[(21708)>>2] = 0; - HEAP32[(21716)>>2] = 0; + HEAP32[(22016)>>2] = $6; + HEAP32[(22012)>>2] = 0; + HEAP32[(22020)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(21712)>>2]|0; + $7 = HEAP32[(22016)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14443,24 +14455,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5423] = 0; - HEAP32[(21700)>>2] = 0; - HEAP32[(21696)>>2] = 0; + HEAP32[5499] = 0; + HEAP32[(22004)>>2] = 0; + HEAP32[(22000)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(21752)>>2] = $10; + HEAP32[(22056)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(21756)>>2] = $11; + HEAP32[(22060)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(21760)>>2] = $12; + HEAP32[(22064)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(21764)>>2] = $13; - $14 = HEAP32[(21752)>>2]|0; + HEAP32[(22068)>>2] = $13; + $14 = HEAP32[(22056)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(21756)>>2]|0; + $15 = HEAP32[(22060)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(21760)>>2]|0; + $17 = HEAP32[(22064)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14471,7 +14483,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(21764)>>2]|0; + $16 = HEAP32[(22068)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14508,140 +14520,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5435] = 0; - HEAP32[(21744)>>2] = 0; - HEAP32[(21748)>>2] = 0; - _TraceLog(0,7428,$vararg_buffer); - $20 = HEAP32[5113]|0; + HEAP32[5511] = 0; + HEAP32[(22048)>>2] = 0; + HEAP32[(22052)>>2] = 0; + _TraceLog(0,7422,$vararg_buffer); + $20 = HEAP32[5189]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[5114]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(21672)); - $44 = HEAP32[5115]|0; - $45 = HEAP32[(21672)>>2]|0; + $43 = HEAP32[5190]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(21976)); + $44 = HEAP32[5191]|0; + $45 = HEAP32[(21976)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((21676)|0)); - $46 = HEAP32[(21676)>>2]|0; + _glGenBuffers(2,((21980)|0)); + $46 = HEAP32[(21980)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(21656)>>2]|0; + $47 = HEAP32[(21960)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(20544)>>2]|0; + $48 = HEAP32[(20848)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(20544)>>2]|0; + $49 = HEAP32[(20848)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((21680)|0)); - $50 = HEAP32[(21680)>>2]|0; + _glGenBuffers(2,((21984)|0)); + $50 = HEAP32[(21984)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(21664)>>2]|0; + $51 = HEAP32[(21968)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(20564)>>2]|0; + $52 = HEAP32[(20868)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(20564)>>2]|0; + $53 = HEAP32[(20868)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[5113]|0; + $54 = HEAP32[5189]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(21676)>>2]|0; - $58 = HEAP32[(21680)>>2]|0; + $57 = HEAP32[(21980)>>2]|0; + $58 = HEAP32[(21984)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,7566,$vararg_buffer3); + _TraceLog(0,7560,$vararg_buffer3); } else { - $56 = HEAP32[(21672)>>2]|0; + $56 = HEAP32[(21976)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,7501,$vararg_buffer1); + _TraceLog(0,7495,$vararg_buffer1); } - $59 = HEAP32[5113]|0; + $59 = HEAP32[5189]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[5114]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(21720)); - $62 = HEAP32[5115]|0; - $63 = HEAP32[(21720)>>2]|0; + $61 = HEAP32[5190]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(22024)); + $62 = HEAP32[5191]|0; + $63 = HEAP32[(22024)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((21724)|0)); - $64 = HEAP32[(21724)>>2]|0; + _glGenBuffers(1,((22028)|0)); + $64 = HEAP32[(22028)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(21704)>>2]|0; + $65 = HEAP32[(22008)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(20544)>>2]|0; + $66 = HEAP32[(20848)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(20544)>>2]|0; + $67 = HEAP32[(20848)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((21728)|0)); - $68 = HEAP32[(21728)>>2]|0; + _glGenBuffers(1,((22032)|0)); + $68 = HEAP32[(22032)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(21712)>>2]|0; + $69 = HEAP32[(22016)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(20564)>>2]|0; + $70 = HEAP32[(20868)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(20564)>>2]|0; + $71 = HEAP32[(20868)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[5113]|0; + $72 = HEAP32[5189]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(21724)>>2]|0; - $76 = HEAP32[(21728)>>2]|0; + $75 = HEAP32[(22028)>>2]|0; + $76 = HEAP32[(22032)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,7712,$vararg_buffer10); + _TraceLog(0,7706,$vararg_buffer10); } else { - $74 = HEAP32[(21720)>>2]|0; + $74 = HEAP32[(22024)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,7643,$vararg_buffer7); + _TraceLog(0,7637,$vararg_buffer7); } - $77 = HEAP32[5113]|0; + $77 = HEAP32[5189]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[5114]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(21768)); - $80 = HEAP32[5115]|0; - $81 = HEAP32[(21768)>>2]|0; + $79 = HEAP32[5190]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(22072)); + $80 = HEAP32[5191]|0; + $81 = HEAP32[(22072)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((21772)|0)); - $82 = HEAP32[(21772)>>2]|0; + _glGenBuffers(1,((22076)|0)); + $82 = HEAP32[(22076)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(21752)>>2]|0; + $83 = HEAP32[(22056)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(20544)>>2]|0; + $84 = HEAP32[(20848)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(20544)>>2]|0; + $85 = HEAP32[(20848)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((21776)|0)); - $86 = HEAP32[(21776)>>2]|0; + _glGenBuffers(1,((22080)|0)); + $86 = HEAP32[(22080)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(21756)>>2]|0; + $87 = HEAP32[(22060)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(20548)>>2]|0; + $88 = HEAP32[(20852)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(20548)>>2]|0; + $89 = HEAP32[(20852)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((21780)|0)); - $90 = HEAP32[(21780)>>2]|0; + _glGenBuffers(1,((22084)|0)); + $90 = HEAP32[(22084)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(21760)>>2]|0; + $91 = HEAP32[(22064)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(20564)>>2]|0; + $92 = HEAP32[(20868)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(20564)>>2]|0; + $93 = HEAP32[(20868)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((21784)|0)); - $94 = HEAP32[(21784)>>2]|0; + _glGenBuffers(1,((22088)|0)); + $94 = HEAP32[(22088)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(21764)>>2]|0; + $95 = HEAP32[(22068)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[5113]|0; + $96 = HEAP32[5189]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(21772)>>2]|0; - $100 = HEAP32[(21776)>>2]|0; - $101 = HEAP32[(21780)>>2]|0; - $102 = HEAP32[(21784)>>2]|0; + $99 = HEAP32[(22076)>>2]|0; + $100 = HEAP32[(22080)>>2]|0; + $101 = HEAP32[(22084)>>2]|0; + $102 = HEAP32[(22088)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14649,18 +14661,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,7858,$vararg_buffer17); + _TraceLog(0,7852,$vararg_buffer17); } else { - $98 = HEAP32[(21768)>>2]|0; + $98 = HEAP32[(22072)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,7793,$vararg_buffer14); + _TraceLog(0,7787,$vararg_buffer14); } - $103 = HEAP32[5113]|0; + $103 = HEAP32[5189]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[5115]|0; + $105 = HEAP32[5191]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14697,10 +14709,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,9191,$vararg_buffer4); + _TraceLog(0,9185,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,9139,$vararg_buffer); + _TraceLog(2,9133,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -14710,7 +14722,7 @@ function _LoadShaderProgram($0,$1) { $13 = HEAP32[$vararg_buffer>>2]|0; _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,9188,$vararg_buffer1); + _TraceLog(0,9182,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -14719,10 +14731,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,9292,$vararg_buffer13); + _TraceLog(0,9286,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,9241,$vararg_buffer7); + _TraceLog(2,9235,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -14732,25 +14744,25 @@ function _LoadShaderProgram($0,$1) { $19 = HEAP32[$vararg_buffer7>>2]|0; _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,9188,$vararg_buffer10); + _TraceLog(0,9182,$vararg_buffer10); _llvm_stackrestore(($17|0)); } $20 = (_glCreateProgram()|0); _glAttachShader(($20|0),($6|0)); _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(8983|0)); - _glBindAttribLocation(($20|0),1,(8998|0)); - _glBindAttribLocation(($20|0),2,(9029|0)); - _glBindAttribLocation(($20|0),3,(9056|0)); - _glBindAttribLocation(($20|0),4,(9042|0)); - _glBindAttribLocation(($20|0),5,(9013|0)); + _glBindAttribLocation(($20|0),0,(8977|0)); + _glBindAttribLocation(($20|0),1,(8992|0)); + _glBindAttribLocation(($20|0),2,(9023|0)); + _glBindAttribLocation(($20|0),3,(9050|0)); + _glBindAttribLocation(($20|0),4,(9036|0)); + _glBindAttribLocation(($20|0),5,(9007|0)); _glLinkProgram(($20|0)); _glGetProgramiv(($20|0),35714,($4|0)); $21 = HEAP32[$4>>2]|0; $22 = ($21|0)==(0); if ($22) { HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,9344,$vararg_buffer16); + _TraceLog(2,9338,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -14760,7 +14772,7 @@ function _LoadShaderProgram($0,$1) { $26 = HEAP32[$vararg_buffer16>>2]|0; _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,9188,$vararg_buffer19); + _TraceLog(0,9182,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -14769,7 +14781,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,9390,$vararg_buffer22); + _TraceLog(0,9384,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -14784,55 +14796,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(8983|0))|0); + $2 = (_glGetAttribLocation(($1|0),(8977|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(8998|0))|0); + $5 = (_glGetAttribLocation(($4|0),(8992|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(9013|0))|0); + $8 = (_glGetAttribLocation(($7|0),(9007|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(9029|0))|0); + $11 = (_glGetAttribLocation(($10|0),(9023|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(9042|0))|0); + $14 = (_glGetAttribLocation(($13|0),(9036|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(9056|0))|0); + $17 = (_glGetAttribLocation(($16|0),(9050|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(9068|0))|0); + $20 = (_glGetUniformLocation(($19|0),(9062|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(9078|0))|0); + $23 = (_glGetUniformLocation(($22|0),(9072|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(9089|0))|0); + $26 = (_glGetUniformLocation(($25|0),(9083|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(9100|0))|0); + $29 = (_glGetUniformLocation(($28|0),(9094|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(9112|0))|0); + $32 = (_glGetUniformLocation(($31|0),(9106|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(9121|0))|0); + $35 = (_glGetUniformLocation(($34|0),(9115|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(9130|0))|0); + $38 = (_glGetUniformLocation(($37|0),(9124|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -14841,9 +14853,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22961 + ($0)|0); + $1 = (23265 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22964 + ($0)|0); + $3 = (23268 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14855,9 +14867,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22961 + ($0)|0); + $1 = (23265 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22964 + ($0)|0); + $3 = (23268 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14878,10 +14890,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[5032]|0; + $0 = HEAP32[5108]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,9702,$vararg_buffer); + _TraceLog(0,9696,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -14889,9 +14901,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[20168>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[20168+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[20168+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[20168+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[20168+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[20472>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[20472+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[20472+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[20472+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[20472+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(20196)>>2]|0; + $0 = HEAP32[(20500)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14902,11 +14914,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(20480|0)); - $0 = HEAP32[5120]|0; + _glDeleteTextures(1,(20784|0)); + $0 = HEAP32[5196]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,9729,$vararg_buffer); - $1 = HEAP32[5150]|0; + _TraceLog(0,9723,$vararg_buffer); + $1 = HEAP32[5226]|0; _free($1); STACKTOP = sp;return; } @@ -14914,17 +14926,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[5121]|0; + $0 = HEAP32[5197]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[5113]|0; + $0 = HEAP32[5189]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5115]|0; + $2 = HEAP32[5191]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14933,39 +14945,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((21676)|0)); - _glDeleteBuffers(1,((21680)|0)); - _glDeleteBuffers(1,((21724)|0)); - _glDeleteBuffers(1,((21728)|0)); - _glDeleteBuffers(1,((21772)|0)); - _glDeleteBuffers(1,((21776)|0)); - _glDeleteBuffers(1,((21780)|0)); - _glDeleteBuffers(1,((21784)|0)); - $3 = HEAP32[5113]|0; + _glDeleteBuffers(1,((21980)|0)); + _glDeleteBuffers(1,((21984)|0)); + _glDeleteBuffers(1,((22028)|0)); + _glDeleteBuffers(1,((22032)|0)); + _glDeleteBuffers(1,((22076)|0)); + _glDeleteBuffers(1,((22080)|0)); + _glDeleteBuffers(1,((22084)|0)); + _glDeleteBuffers(1,((22088)|0)); + $3 = HEAP32[5189]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[5116]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(21672)); - $6 = HEAP32[5116]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(21720)); - $7 = HEAP32[5116]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(21768)); + $5 = HEAP32[5192]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(21976)); + $6 = HEAP32[5192]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(22024)); + $7 = HEAP32[5192]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(22072)); } - $8 = HEAP32[(21656)>>2]|0; + $8 = HEAP32[(21960)>>2]|0; _free($8); - $9 = HEAP32[(21664)>>2]|0; + $9 = HEAP32[(21968)>>2]|0; _free($9); - $10 = HEAP32[(21704)>>2]|0; + $10 = HEAP32[(22008)>>2]|0; _free($10); - $11 = HEAP32[(21712)>>2]|0; + $11 = HEAP32[(22016)>>2]|0; _free($11); - $12 = HEAP32[(21752)>>2]|0; + $12 = HEAP32[(22056)>>2]|0; _free($12); - $13 = HEAP32[(21756)>>2]|0; + $13 = HEAP32[(22060)>>2]|0; _free($13); - $14 = HEAP32[(21760)>>2]|0; + $14 = HEAP32[(22064)>>2]|0; _free($14); - $15 = HEAP32[(21764)>>2]|0; + $15 = HEAP32[(22068)>>2]|0; _free($15); return; } @@ -14983,7 +14995,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,9794,$vararg_buffer); + _TraceLog(0,9788,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -15005,16 +15017,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2466] = $0; - $1 = +HEAPF64[2449]; + HEAPF64[2504] = $0; + $1 = +HEAPF64[2487]; $2 = $0 - $1; - HEAPF64[2467] = $2; - HEAPF64[2449] = $0; + HEAPF64[2505] = $2; + HEAPF64[2487] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=20224; 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)); + dest=$downscaleView$byval_copy; src=20528; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(21796); + _rlMultMatrixf(22100); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15023,53 +15035,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[5449] = $1; + HEAP32[5525] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(21800)>>2] = $3; + HEAP32[(22104)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(21804)>>2] = $5; + HEAP32[(22108)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(21808)>>2] = $7; + HEAP32[(22112)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(21812)>>2] = $9; + HEAP32[(22116)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(21816)>>2] = $11; + HEAP32[(22120)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(21820)>>2] = $13; + HEAP32[(22124)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(21824)>>2] = $15; + HEAP32[(22128)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(21828)>>2] = $17; + HEAP32[(22132)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(21832)>>2] = $19; + HEAP32[(22136)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(21836)>>2] = $21; + HEAP32[(22140)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(21840)>>2] = $23; + HEAP32[(22144)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(21844)>>2] = $25; + HEAP32[(22148)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(21848)>>2] = $27; + HEAP32[(22152)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(21852)>>2] = $29; + HEAP32[(22156)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(21856)>>2] = $31; - return (21796|0); + HEAP32[(22160)>>2] = $31; + return (22100|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15144,7 +15156,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[5079]|0; + $49 = HEAP32[5155]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15158,15 +15170,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2466] = $0; - $1 = +HEAPF64[2449]; + HEAPF64[2504] = $0; + $1 = +HEAPF64[2487]; $2 = $0 - $1; - HEAPF64[2468] = $2; - HEAPF64[2449] = $0; - $3 = +HEAPF64[2467]; + HEAPF64[2506] = $2; + HEAPF64[2487] = $0; + $3 = +HEAPF64[2505]; $4 = $2 + $3; - HEAPF64[2469] = $4; - $5 = +HEAPF64[2446]; + HEAPF64[2507] = $4; + $5 = +HEAPF64[2484]; $6 = $4 < $5; if (!($6)) { return; @@ -15176,13 +15188,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2466] = $10; - $11 = +HEAPF64[2449]; + HEAPF64[2504] = $10; + $11 = +HEAPF64[2487]; $12 = $10 - $11; - HEAPF64[2449] = $10; - $13 = +HEAPF64[2469]; + HEAPF64[2487] = $10; + $13 = +HEAPF64[2507]; $14 = $12 + $13; - HEAPF64[2469] = $14; + HEAPF64[2507] = $14; return; } function _rlglDraw() { @@ -15195,7 +15207,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5032]|0; + $0 = HEAP32[5108]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15211,20 +15223,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[749] = -1; HEAP32[751] = -1; - HEAP32[5465] = 0; - $3 = HEAP32[5032]|0; + HEAP32[5541] = 0; + $3 = HEAP32[5108]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4890] = $5; + HEAPF32[4966] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(19564)>>2] = $7; - _memcpy((23479|0),(22967|0),512)|0; - ;HEAP8[22964>>0]=HEAP8[22961>>0]|0;HEAP8[22964+1>>0]=HEAP8[22961+1>>0]|0;HEAP8[22964+2>>0]=HEAP8[22961+2>>0]|0; - $8 = HEAP32[5448]|0; - HEAP32[5035] = $8; - HEAP32[5448] = 0; + HEAPF32[(19868)>>2] = $7; + _memcpy((23783|0),(23271|0),512)|0; + ;HEAP8[23268>>0]=HEAP8[23265>>0]|0;HEAP8[23268+1>>0]=HEAP8[23265+1>>0]|0;HEAP8[23268+2>>0]=HEAP8[23265+2>>0]|0; + $8 = HEAP32[5524]|0; + HEAP32[5111] = $8; + HEAP32[5524] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15234,8 +15246,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (23991 + ($$05160<<5)|0); - $scevgep67 = (24119 + ($$05160<<5)|0); + $scevgep = (24295 + ($$05160<<5)|0); + $scevgep67 = (24423 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15249,7 +15261,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((24119 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((24423 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[751] = $$04857; @@ -15276,7 +15288,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((21864 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((22168 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15292,7 +15304,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5465] = $$lcssa; + HEAP32[5541] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15333,87 +15345,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5411]|0; + $0 = HEAP32[5487]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[5113]|0; + $2 = HEAP32[5189]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[5115]|0; - $5 = HEAP32[(21672)>>2]|0; + $4 = HEAP32[5191]|0; + $5 = HEAP32[(21976)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(21676)>>2]|0; + $6 = HEAP32[(21980)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5411]|0; + $7 = HEAP32[5487]|0; $8 = ($7*12)|0; - $9 = HEAP32[(21656)>>2]|0; + $9 = HEAP32[(21960)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(21680)>>2]|0; + $10 = HEAP32[(21984)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(21652)>>2]|0; + $11 = HEAP32[(21956)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(21664)>>2]|0; + $13 = HEAP32[(21968)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5423]|0; + $14 = HEAP32[5499]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[5113]|0; + $16 = HEAP32[5189]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[5115]|0; - $19 = HEAP32[(21720)>>2]|0; + $18 = HEAP32[5191]|0; + $19 = HEAP32[(22024)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(21724)>>2]|0; + $20 = HEAP32[(22028)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5423]|0; + $21 = HEAP32[5499]|0; $22 = ($21*12)|0; - $23 = HEAP32[(21704)>>2]|0; + $23 = HEAP32[(22008)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(21728)>>2]|0; + $24 = HEAP32[(22032)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(21700)>>2]|0; + $25 = HEAP32[(22004)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(21712)>>2]|0; + $27 = HEAP32[(22016)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5435]|0; + $28 = HEAP32[5511]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[5113]|0; + $30 = HEAP32[5189]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[5115]|0; - $33 = HEAP32[(21768)>>2]|0; + $32 = HEAP32[5191]|0; + $33 = HEAP32[(22072)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(21772)>>2]|0; + $34 = HEAP32[(22076)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5435]|0; + $35 = HEAP32[5511]|0; $36 = ($35*12)|0; - $37 = HEAP32[(21752)>>2]|0; + $37 = HEAP32[(22056)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(21776)>>2]|0; + $38 = HEAP32[(22080)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5435]|0; + $39 = HEAP32[5511]|0; $40 = $39 << 3; - $41 = HEAP32[(21756)>>2]|0; + $41 = HEAP32[(22060)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(21780)>>2]|0; + $42 = HEAP32[(22084)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5435]|0; + $43 = HEAP32[5511]|0; $44 = $43 << 2; - $45 = HEAP32[(21760)>>2]|0; + $45 = HEAP32[(22064)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[5113]|0; + $46 = HEAP32[5189]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[5115]|0; + $48 = HEAP32[5191]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15431,9 +15443,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=20320; 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)); - dest=$1; src=20384; 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)); - $3 = HEAP32[5498]|0; + dest=$0; src=20624; 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)); + dest=$1; src=20688; 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)); + $3 = HEAP32[5574]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15443,134 +15455,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5411]|0; + $8 = HEAP32[5487]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5423]|0; + $10 = HEAP32[5499]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5435]|0; + $12 = HEAP32[5511]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[5135]|0; + $14 = HEAP32[5211]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=20384; 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)); - dest=$$byval_copy2; src=20320; 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)); + dest=$modelview$byval_copy; src=20688; 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)); + dest=$$byval_copy2; src=20624; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(20568)>>2]|0; + $15 = HEAP32[(20872)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(20572)>>2]|0; + $17 = HEAP32[(20876)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(20584)>>2]|0; + $18 = HEAP32[(20888)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5411]|0; + $19 = HEAP32[5487]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[5120]|0; + $21 = HEAP32[5196]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[5113]|0; + $22 = HEAP32[5189]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(21676)>>2]|0; + $26 = HEAP32[(21980)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(20544)>>2]|0; + $27 = HEAP32[(20848)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(20544)>>2]|0; + $28 = HEAP32[(20848)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(21680)>>2]|0; + $29 = HEAP32[(21984)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(20564)>>2]|0; + $30 = HEAP32[(20868)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(20564)>>2]|0; + $31 = HEAP32[(20868)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[5115]|0; - $25 = HEAP32[(21672)>>2]|0; + $24 = HEAP32[5191]|0; + $25 = HEAP32[(21976)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5411]|0; + $32 = HEAP32[5487]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[5113]|0; + $33 = HEAP32[5189]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5423]|0; + $35 = HEAP32[5499]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[5120]|0; + $37 = HEAP32[5196]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[5113]|0; + $38 = HEAP32[5189]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(21724)>>2]|0; + $42 = HEAP32[(22028)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(20544)>>2]|0; + $43 = HEAP32[(20848)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(20544)>>2]|0; + $44 = HEAP32[(20848)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(21728)>>2]|0; + $45 = HEAP32[(22032)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(20564)>>2]|0; + $46 = HEAP32[(20868)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(20564)>>2]|0; + $47 = HEAP32[(20868)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[5115]|0; - $41 = HEAP32[(21720)>>2]|0; + $40 = HEAP32[5191]|0; + $41 = HEAP32[(22024)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5423]|0; + $48 = HEAP32[5499]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[5113]|0; + $49 = HEAP32[5189]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5435]|0; + $51 = HEAP32[5511]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[5113]|0; + $53 = HEAP32[5189]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(21772)>>2]|0; + $57 = HEAP32[(22076)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(20544)>>2]|0; + $58 = HEAP32[(20848)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(20544)>>2]|0; + $59 = HEAP32[(20848)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(21776)>>2]|0; + $60 = HEAP32[(22080)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(20548)>>2]|0; + $61 = HEAP32[(20852)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(20548)>>2]|0; + $62 = HEAP32[(20852)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(21780)>>2]|0; + $63 = HEAP32[(22084)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(20564)>>2]|0; + $64 = HEAP32[(20868)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(20564)>>2]|0; + $65 = HEAP32[(20868)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(21784)>>2]|0; + $66 = HEAP32[(22088)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[5115]|0; - $56 = HEAP32[(21768)>>2]|0; + $55 = HEAP32[5191]|0; + $56 = HEAP32[(22072)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[5151]|0; + $67 = HEAP32[5227]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[5150]|0; + $71 = HEAP32[5226]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15581,14 +15593,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[5150]|0; + $80 = HEAP32[5226]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[5151]|0; + $87 = HEAP32[5227]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15597,7 +15609,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[5113]|0; + $69 = HEAP32[5189]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15605,10 +15617,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[5113]|0; + $89 = HEAP32[5189]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[5115]|0; + $91 = HEAP32[5191]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15620,22 +15632,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[5151] = 1; - $5 = HEAP32[5120]|0; - $6 = HEAP32[5150]|0; + HEAP32[5227] = 1; + $5 = HEAP32[5196]|0; + $6 = HEAP32[5226]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5411] = 0; - HEAP32[(21652)>>2] = 0; - HEAP32[5423] = 0; - HEAP32[(21700)>>2] = 0; - HEAP32[5435] = 0; - HEAP32[(21744)>>2] = 0; - HEAP32[(21748)>>2] = 0; + HEAP32[5487] = 0; + HEAP32[(21956)>>2] = 0; + HEAP32[5499] = 0; + HEAP32[(22004)>>2] = 0; + HEAP32[5511] = 0; + HEAP32[(22048)>>2] = 0; + HEAP32[(22052)>>2] = 0; HEAPF32[752] = -1.0; - dest=20320; src=$0; 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)); - dest=20384; src=$1; 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)); + dest=20624; src=$0; 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)); + dest=20688; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15650,17 +15662,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[5409]|0; + $5 = HEAP32[5485]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5410]|0; + $9 = HEAP32[5486]|0; _rlViewport($7,0,$8,$9); - $10 = (22224 + ($0<<6)|0); + $10 = (22528 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (22096 + ($0<<6)|0); + $11 = (22400 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -15672,14 +15684,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=20384; src=$0; 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)); + dest=20688; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=20320; src=$0; 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)); + dest=20624; src=$0; 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)); return; } function _rlPushMatrix() { @@ -15687,43 +15699,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5588]|0; + $0 = HEAP32[5664]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,9844,$vararg_buffer); + _TraceLog(1,9838,$vararg_buffer); } - $2 = HEAP32[5588]|0; - $3 = (20612 + ($2<<6)|0); - $4 = HEAP32[5079]|0; + $2 = HEAP32[5664]|0; + $3 = (20916 + ($2<<6)|0); + $4 = HEAP32[5155]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[5588]|0; + $5 = HEAP32[5664]|0; $6 = (($5) + 1)|0; - HEAP32[5588] = $6; - $7 = HEAP32[5112]|0; + HEAP32[5664] = $6; + $7 = HEAP32[5188]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5589] = 1; + HEAP32[5665] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5588]|0; + $0 = HEAP32[5664]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5588]|0; + $2 = HEAP32[5664]|0; $3 = (($2) + -1)|0; - $4 = (20612 + ($3<<6)|0); - $5 = HEAP32[5079]|0; + $4 = (20916 + ($3<<6)|0); + $5 = HEAP32[5155]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5588] = $6; + HEAP32[5664] = $6; return; } function _IsFileExtension($0,$1) { @@ -15756,7 +15768,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[5079]|0; + $5 = HEAP32[5155]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15789,7 +15801,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[5079]|0; + $11 = HEAP32[5155]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15800,7 +15812,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5152] = $0; + HEAP32[5228] = $0; return; } function _rlEnd() { @@ -15816,21 +15828,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5589]|0; + $0 = HEAP32[5665]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5590]|0; + $2 = HEAP32[5666]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[5149]|0; + $6 = HEAP32[5225]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[5079]|0; + $8 = HEAP32[5155]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5590]|0; + $5 = HEAP32[5666]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15838,12 +15850,12 @@ function _rlEnd() { break; } } - HEAP32[5589] = 0; + HEAP32[5665] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[5149]|0; + $11 = HEAP32[5225]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15852,7 +15864,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5590]|0; + $19 = HEAP32[5666]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15862,15 +15874,15 @@ function _rlEnd() { } } } else { - HEAP32[5589] = 0; + HEAP32[5665] = 0; } - HEAP32[5590] = 0; + HEAP32[5666] = 0; } - $21 = HEAP32[5152]|0; + $21 = HEAP32[5228]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5411]|0; - $23 = HEAP32[(21652)>>2]|0; + $22 = HEAP32[5487]|0; + $23 = HEAP32[(21956)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[752]; @@ -15889,16 +15901,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(21664)>>2]|0; - $28 = HEAP32[(21652)>>2]|0; + $27 = HEAP32[(21968)>>2]|0; + $28 = HEAP32[(21956)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(21664)>>2]|0; - $35 = HEAP32[(21652)>>2]|0; + $34 = HEAP32[(21968)>>2]|0; + $35 = HEAP32[(21956)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15906,8 +15918,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(21664)>>2]|0; - $43 = HEAP32[(21652)>>2]|0; + $42 = HEAP32[(21968)>>2]|0; + $43 = HEAP32[(21956)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15915,8 +15927,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(21664)>>2]|0; - $51 = HEAP32[(21652)>>2]|0; + $50 = HEAP32[(21968)>>2]|0; + $51 = HEAP32[(21956)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15924,9 +15936,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(21652)>>2]|0; + $58 = HEAP32[(21956)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(21652)>>2] = $59; + HEAP32[(21956)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15942,8 +15954,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5423]|0; - $62 = HEAP32[(21700)>>2]|0; + $61 = HEAP32[5499]|0; + $62 = HEAP32[(22004)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[752]; @@ -15962,16 +15974,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(21712)>>2]|0; - $67 = HEAP32[(21700)>>2]|0; + $66 = HEAP32[(22016)>>2]|0; + $67 = HEAP32[(22004)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(21712)>>2]|0; - $74 = HEAP32[(21700)>>2]|0; + $73 = HEAP32[(22016)>>2]|0; + $74 = HEAP32[(22004)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15979,8 +15991,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(21712)>>2]|0; - $82 = HEAP32[(21700)>>2]|0; + $81 = HEAP32[(22016)>>2]|0; + $82 = HEAP32[(22004)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15988,8 +16000,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(21712)>>2]|0; - $90 = HEAP32[(21700)>>2]|0; + $89 = HEAP32[(22016)>>2]|0; + $90 = HEAP32[(22004)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15997,9 +16009,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(21700)>>2]|0; + $97 = HEAP32[(22004)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(21700)>>2] = $98; + HEAP32[(22004)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16015,8 +16027,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5435]|0; - $101 = HEAP32[(21748)>>2]|0; + $100 = HEAP32[5511]|0; + $101 = HEAP32[(22052)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16024,16 +16036,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(21760)>>2]|0; - $106 = HEAP32[(21748)>>2]|0; + $105 = HEAP32[(22064)>>2]|0; + $106 = HEAP32[(22052)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(21760)>>2]|0; - $113 = HEAP32[(21748)>>2]|0; + $112 = HEAP32[(22064)>>2]|0; + $113 = HEAP32[(22052)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16041,8 +16053,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(21760)>>2]|0; - $121 = HEAP32[(21748)>>2]|0; + $120 = HEAP32[(22064)>>2]|0; + $121 = HEAP32[(22052)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16050,8 +16062,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(21760)>>2]|0; - $129 = HEAP32[(21748)>>2]|0; + $128 = HEAP32[(22064)>>2]|0; + $129 = HEAP32[(22052)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16059,9 +16071,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(21748)>>2]|0; + $136 = HEAP32[(22052)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(21748)>>2] = $137; + HEAP32[(22052)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16072,8 +16084,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5435]|0; - $140 = HEAP32[(21744)>>2]|0; + $139 = HEAP32[5511]|0; + $140 = HEAP32[(22048)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[752]; @@ -16081,8 +16093,8 @@ function _rlEnd() { HEAPF32[752] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(21756)>>2]|0; - $$promoted = HEAP32[(21744)>>2]|0; + $142 = HEAP32[(22060)>>2]|0; + $$promoted = HEAP32[(22048)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16090,7 +16102,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(21744)>>2] = $147; + HEAP32[(22048)>>2] = $147; $148 = +HEAPF32[752]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[752] = $149; @@ -16117,11 +16129,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5589]|0; + $3 = HEAP32[5665]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[5149]|0; - $6 = HEAP32[5590]|0; + $5 = HEAP32[5225]|0; + $6 = HEAP32[5666]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16129,16 +16141,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5590] = $10; + HEAP32[5666] = $10; STACKTOP = sp;return; } - $11 = HEAP32[5152]|0; + $11 = HEAP32[5228]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5411]|0; + $12 = HEAP32[5487]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(21656)>>2]|0; + $14 = HEAP32[(21960)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16149,19 +16161,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5411] = $21; + HEAP32[5487] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,9882,$vararg_buffer); + _TraceLog(1,9876,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[5423]|0; + $22 = HEAP32[5499]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(21704)>>2]|0; + $24 = HEAP32[(22008)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16172,19 +16184,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5423] = $31; + HEAP32[5499] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,9907,$vararg_buffer1); + _TraceLog(1,9901,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[5435]|0; + $32 = HEAP32[5511]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(21752)>>2]|0; + $34 = HEAP32[(22056)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16195,9 +16207,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5435] = $41; - $42 = HEAP32[5150]|0; - $43 = HEAP32[5151]|0; + HEAP32[5511] = $41; + $42 = HEAP32[5226]|0; + $43 = HEAP32[5227]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16205,7 +16217,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,9936,$vararg_buffer3); + _TraceLog(1,9930,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -16240,13 +16252,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[5152]|0; + $2 = HEAP32[5228]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(21756)>>2]|0; - $5 = HEAP32[(21744)>>2]|0; + $4 = HEAP32[(22060)>>2]|0; + $5 = HEAP32[(22048)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16254,7 +16266,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(21744)>>2] = $10; + HEAP32[(22048)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16273,18 +16285,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[5152]|0; + $4 = HEAP32[5228]|0; switch ($4|0) { case 1: { - $$sink37 = (21652);$$sink38 = (21664); + $$sink37 = (21956);$$sink38 = (21968); break; } case 4: { - $$sink37 = (21700);$$sink38 = (21712); + $$sink37 = (22004);$$sink38 = (22016); break; } case 7: { - $$sink37 = (21748);$$sink38 = (21760); + $$sink37 = (22052);$$sink38 = (22064); break; } default: { @@ -16323,8 +16335,8 @@ function _rlEnableTexture($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 = HEAP32[5150]|0; - $2 = HEAP32[5151]|0; + $1 = HEAP32[5226]|0; + $2 = HEAP32[5227]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16337,9 +16349,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[5151] = $10; + HEAP32[5227] = $10; } - $11 = HEAP32[5151]|0; + $11 = HEAP32[5227]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16350,7 +16362,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5435]|0; + $0 = HEAP32[5511]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16373,14 +16385,14 @@ function _rlTextureParameters($0,$1,$2) { switch ($1|0) { case 10243: case 10242: { $3 = ($2|0)!=(34626); - $4 = HEAP32[5119]|0; + $4 = HEAP32[5195]|0; $5 = ($4|0)!=(0); $or$cond = $3 | $5; if ($or$cond) { _glTexParameteri(3553,($1|0),($2|0)); break L1; } else { - _TraceLog(2,9961,$vararg_buffer); + _TraceLog(2,9955,$vararg_buffer); break L1; } break; @@ -16391,7 +16403,7 @@ function _rlTextureParameters($0,$1,$2) { } case 12288: { $6 = (+($2|0)); - $7 = +HEAPF32[5118]; + $7 = +HEAPF32[5194]; $8 = !($6 <= $7); if (!($8)) { _glTexParameterf(3553,34046,(+$6)); @@ -16403,11 +16415,11 @@ function _rlTextureParameters($0,$1,$2) { HEAP32[$vararg_buffer1>>2] = $0; $vararg_ptr3 = ((($vararg_buffer1)) + 8|0); HEAPF64[$vararg_ptr3>>3] = $10; - _TraceLog(2,9998,$vararg_buffer1); + _TraceLog(2,9992,$vararg_buffer1); _glTexParameterf(3553,34046,(+$6)); break L1; } else { - _TraceLog(2,10060,$vararg_buffer4); + _TraceLog(2,10054,$vararg_buffer4); break L1; } break; @@ -16441,40 +16453,11 @@ function _DrawLine($0,$1,$2,$3,$4) { _rlEnd(); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(10096); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,12733)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5591] = $0; + HEAP32[5667] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16538,7 +16521,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((10108|0),(10134|0),1125,(10157|0)); + ___assert_fail((10090|0),(10116|0),1041,(10139|0)); // unreachable; } } @@ -16556,7 +16539,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5592]|0; + $15 = HEAP32[5668]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16649,7 +16632,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(10198); + _stbi__err(10180); $$0 = 0; return ($$0|0); } else { @@ -16671,7 +16654,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(10189); + _stbi__err(10171); $$0 = 0; return ($$0|0); } @@ -16741,7 +16724,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(10217); + _stbi__err(10199); $$045 = 0; return ($$045|0); } @@ -17302,7 +17285,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (10531 + ($120)|0); + $121 = (10513 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17344,97 +17327,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(10305); + _stbi__err(10287); $$6$ph = 0; break; } case 9: { - _stbi__err(10319); + _stbi__err(10301); $$6$ph = 0; break; } case 11: { - _stbi__err(10332); + _stbi__err(10314); $$6$ph = 0; break; } case 13: { - _stbi__err(10332); + _stbi__err(10314); $$6$ph = 0; break; } case 15: { - _stbi__err(10342); + _stbi__err(10324); $$6$ph = 0; break; } case 17: { - _stbi__err(10362); + _stbi__err(10344); $$6$ph = 0; break; } case 20: { - _stbi__err(10362); + _stbi__err(10344); $$6$ph = 0; break; } case 22: { - _stbi__err(10362); + _stbi__err(10344); $$6$ph = 0; break; } case 24: { - _stbi__err(10372); + _stbi__err(10354); $$6$ph = 0; break; } case 26: { - _stbi__err(10388); + _stbi__err(10370); $$6$ph = 0; break; } case 28: { - _stbi__err(10406); + _stbi__err(10388); $$6$ph = 0; break; } case 31: { - _stbi__err(10427); + _stbi__err(10409); $$6$ph = 0; break; } case 34: { - _stbi__err(10332); + _stbi__err(10314); $$6$ph = 0; break; } case 37: { - _stbi__err(10332); + _stbi__err(10314); $$6$ph = 0; break; } case 39: { - _stbi__err(10441); + _stbi__err(10423); $$6$ph = 0; break; } case 41: { - _stbi__err(10456); + _stbi__err(10438); $$6$ph = 0; break; } case 44: { - _stbi__err(10456); + _stbi__err(10438); $$6$ph = 0; break; } case 47: { - _stbi__err(10441); + _stbi__err(10423); $$6$ph = 0; break; } case 49: { - _stbi__err(10469); + _stbi__err(10451); $$6$ph = 0; break; } @@ -17445,32 +17428,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(10485); + _stbi__err(10467); $$6$ph = 0; break; } case 58: { - _stbi__err(10502); + _stbi__err(10484); $$6$ph = 0; break; } case 61: { - _stbi__err(10515); + _stbi__err(10497); $$6$ph = 0; break; } case 63: { - _stbi__err(10502); + _stbi__err(10484); $$6$ph = 0; break; } case 70: { - _stbi__err(10441); + _stbi__err(10423); $$6$ph = 0; break; } case 72: { - _stbi__err(10540); + _stbi__err(10522); $$6$ph = 0; break; } @@ -17482,12 +17465,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(10189); + _stbi__err(10171); $$6$ph = 0; break; } case 83: { - _stbi__err(10548); + _stbi__err(10530); $$6$ph = 0; break; } @@ -17500,7 +17483,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(10558); + _stbi__err(10540); $$4 = 0; break; } @@ -17565,7 +17548,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5593]|0; + $193 = HEAP32[5669]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17598,7 +17581,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(10441); + _stbi__err(10423); $$4 = 0; } } while(0); @@ -17606,24 +17589,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(10441); + _stbi__err(10423); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[10566] = $206; + HEAP8[10548] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(10567)>>0] = $209; + HEAP8[(10549)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(10568)>>0] = $211; + HEAP8[(10550)>>0] = $211; $212 = $207&255; - HEAP8[(10569)>>0] = $212; - _stbi__err(10566); + HEAP8[(10551)>>0] = $212; + _stbi__err(10548); $$6$ph = 0; break; } @@ -17657,14 +17640,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10230|0),(10134|0),1561,(10284|0)); + ___assert_fail((10212|0),(10116|0),1477,(10266|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(10189); + _stbi__err(10171); $$0163 = 0; return ($$0163|0); } @@ -18027,7 +18010,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((13370|0),(10134|0),1590,(10284|0)); + ___assert_fail((13672|0),(10116|0),1506,(10266|0)); // unreachable; } } while(0); @@ -18061,7 +18044,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10230|0),(10134|0),1610,(10261|0)); + ___assert_fail((10212|0),(10116|0),1526,(10243|0)); // unreachable; } $7 = $2 << 1; @@ -18071,7 +18054,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(10189); + _stbi__err(10171); $$0163 = 0; return ($$0163|0); } @@ -18434,7 +18417,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((13370|0),(10134|0),1639,(10261|0)); + ___assert_fail((13672|0),(10116|0),1555,(10243|0)); // unreachable; } } while(0); @@ -18582,7 +18565,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(11223); + _stbi__err(11525); $$05 = 0; return ($$05|0); } @@ -19019,7 +19002,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10625|0),(10134|0),4568,(10677|0)); + ___assert_fail((10607|0),(10116|0),4569,(10659|0)); // unreachable; } } @@ -19106,7 +19089,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10625|0),(10134|0),4543,(10650|0)); + ___assert_fail((10607|0),(10116|0),4544,(10632|0)); // unreachable; } } @@ -19153,7 +19136,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5594]|0; + $16 = HEAP32[5670]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19228,7 +19211,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((10591|0),(10134|0),4649,(10609|0)); + ___assert_fail((10573|0),(10116|0),4650,(10591|0)); // unreachable; } } @@ -19251,7 +19234,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(10189); + _stbi__err(10171); $$0 = 0; return ($$0|0); } @@ -19428,7 +19411,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10706|0),(10134|0),4294,(10747|0)); + ___assert_fail((10688|0),(10116|0),4294,(10729|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19436,7 +19419,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(10189); + _stbi__err(10171); $$2 = 0; return ($$2|0); } @@ -19455,7 +19438,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10774); + _stbi__err(10756); $$2 = 0; return ($$2|0); } @@ -19468,7 +19451,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10774); + _stbi__err(10756); $$2 = 0; return ($$2|0); } @@ -19476,12 +19459,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19504,33 +19487,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10813 + ($56)|0); + $60 = (10795 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19540,24 +19523,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19567,10 +19550,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19581,10 +19564,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19595,14 +19578,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19632,7 +19615,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19647,12 +19630,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20229,15 +20212,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10792|0),(10134|0),4315,(10747|0)); + ___assert_fail((10774|0),(10116|0),4315,(10729|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10818|0),(10134|0),4376,(10747|0)); + ___assert_fail((10800|0),(10116|0),4377,(10729|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10835); + _stbi__err(10817); $$2 = 0; return ($$2|0); } @@ -20287,7 +20270,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (10531 + ($6)|0); + $336 = (10513 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20728,7 +20711,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10850|0),(10134|0),4465,(10747|0)); + ___assert_fail((10832|0),(10116|0),4466,(10729|0)); // unreachable; } else if ((label|0) == 151) { @@ -20788,8 +20771,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20804,15 +20787,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20821,65 +20804,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(24278)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10843,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,24279,288)|0); + $15 = (_stbi__zbuild_huffman($8,11131,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,24247,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20898,14 +20876,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(11176); + _stbi__err(11478); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(11192); + _stbi__err(11494); $$0 = 0; return ($$0|0); } @@ -20914,7 +20892,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(11207); + _stbi__err(11509); $$0 = 0; return ($$0|0); } @@ -20997,7 +20975,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((11098|0),(10134|0),4048,(11115|0)); + ___assert_fail((11400|0),(10116|0),4033,(11417|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -21034,7 +21012,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(11146); + _stbi__err(11448); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21044,7 +21022,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(11159); + _stbi__err(11461); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21074,21 +21052,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((24279|0),8,144)|0; - dest=(24423); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(24535); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (24559); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=24247; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21222,7 +21185,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(11036); + _stbi__err(11338); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21311,7 +21274,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(11088); + _stbi__err(11390); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21340,7 +21303,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11873 + ($$06579)|0); + $14 = (12175 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21431,21 +21394,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(11036); + _stbi__err(11338); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(11036); + _stbi__err(11338); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((11052|0),(10134|0),4021,(11060|0)); + ___assert_fail((11354|0),(10116|0),4006,(11362|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(11036); + _stbi__err(11338); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21455,7 +21418,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(11036); + _stbi__err(11338); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21619,7 +21582,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10861); + _stbi__err(11163); $$3$ph = 0; return ($$3$ph|0); } @@ -21629,12 +21592,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10861); + _stbi__err(11163); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10878); + _stbi__err(11180); $$3$ph = 0; return ($$3$ph|0); } @@ -21691,7 +21654,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10887); + _stbi__err(11189); $$0 = 0; return ($$0|0); } @@ -21717,7 +21680,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(10189); + _stbi__err(10171); $$0 = 0; return ($$0|0); } else { @@ -21762,7 +21725,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10983|0),(10134|0),3863,(11020|0)); + ___assert_fail((11285|0),(10116|0),3848,(11322|0)); // unreachable; } else if ((label|0) == 5) { @@ -21810,7 +21773,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10907|0),(10134|0),3891,(10923|0)); + ___assert_fail((11209|0),(10116|0),3876,(11225|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21838,7 +21801,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10954|0),(10134|0),3781,(10965|0)); + ___assert_fail((11256|0),(10116|0),3766,(11267|0)); // unreachable; } return (0)|0; @@ -21984,10 +21947,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -21998,27 +21961,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,12060)|0); + $6 = (_IsFileExtension($1,12362)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,11282)|0); + $19 = (_IsFileExtension($1,11584)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,11287,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,11589,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,13035)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -22046,7 +22010,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -22063,18 +22027,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11235,$vararg_buffer); + _TraceLog(2,11537,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -22083,34 +22047,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,11323,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,11625,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,11362,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11664,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22129,11 +22100,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,12733)|0); + $4 = (_fopen($0,13035)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11421,$vararg_buffer); + _TraceLog(2,11723,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22232,7 +22203,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,11518,$vararg_buffer4); + _TraceLog(0,11820,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22267,14 +22238,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11564,$vararg_buffer8); + _TraceLog(2,11866,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,11472,$vararg_buffer1); + _TraceLog(2,11774,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22364,7 +22335,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,11393,$vararg_buffer); + _TraceLog(2,11695,$vararg_buffer); $$0 = $6; } } @@ -22409,27 +22380,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11614,$vararg_buffer); + _TraceLog(2,11916,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11653,$vararg_buffer1); + _TraceLog(2,11955,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11679,$vararg_buffer3); + _TraceLog(2,11981,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11742,$vararg_buffer5); + _TraceLog(2,12044,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11777,$vararg_buffer7); + _TraceLog(2,12079,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11812,$vararg_buffer10); + _TraceLog(0,12114,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23612,7 +23583,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11869 + ($$361133)|0); + $199 = (12171 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -24042,7 +24013,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11869 + ($$331130)|0); + $186 = (12171 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -24080,7 +24051,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11869 + ($$371134)|0); + $203 = (12171 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24119,7 +24090,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11873 + ($$421139)|0); + $235 = (12175 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24526,7 +24497,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11892 + ($495)|0); + $496 = (12194 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24563,7 +24534,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11896 + ($515)|0); + $516 = (12198 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25489,7 +25460,7 @@ function _ImageAlphaMask($0,$1) { $14 = HEAP32[$13>>2]|0; $15 = ($14|0)>(7); if ($15) { - _TraceLog(2,11938,$vararg_buffer1); + _TraceLog(2,12240,$vararg_buffer1); STACKTOP = sp;return; } ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$1+16>>2]|0; @@ -25580,14 +25551,14 @@ function _ImageAlphaMask($0,$1) { STACKTOP = sp;return; } } - _TraceLog(2,11900,$vararg_buffer); + _TraceLog(2,12202,$vararg_buffer); STACKTOP = sp;return; } function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[20168>>2]|0;HEAP32[$0+4>>2]=HEAP32[20168+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[20168+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[20168+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[20168+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[20168+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[20168+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[20168+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[20472>>2]|0;HEAP32[$0+4>>2]=HEAP32[20472+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[20472+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[20472+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[20472+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[20472+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[20472+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[20472+28>>2]|0; return; } function _MeasureTextEx($0,$1,$2,$3,$4) { @@ -25781,7 +25752,7 @@ function _SetTextureFilter($0,$1) { STACKTOP = sp;return; } else { HEAP32[$vararg_buffer>>2] = $17; - _TraceLog(2,11995,$vararg_buffer); + _TraceLog(2,12297,$vararg_buffer); $19 = HEAP32[$0>>2]|0; _rlTextureParameters($19,10241,9729); _rlTextureParameters($19,10240,9729); @@ -25966,18 +25937,18 @@ function _LoadSpriteFont($0,$1) { $8 = sp + 64|0; $9 = sp + 8|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;HEAP32[$2+28>>2]=0|0; - $10 = (_IsFileExtension($1,12060)|0); + $10 = (_IsFileExtension($1,12362)|0); $11 = ($10|0)==(0); do { if ($11) { - $35 = (_IsFileExtension($1,12066)|0); + $35 = (_IsFileExtension($1,12368)|0); $36 = ($35|0)==(0); if (!($36)) { _LoadSpriteFontTTF($4,$1,32,0,0); ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$4+28>>2]|0; break; } - $37 = (_IsFileExtension($1,12071)|0); + $37 = (_IsFileExtension($1,12373)|0); $38 = ($37|0)==(0); if (!($38)) { _LoadBMFont($5,$1); @@ -26045,7 +26016,7 @@ function _LoadSpriteFont($0,$1) { $45 = ($44|0)==(0); if ($45) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,12076,$vararg_buffer); + _TraceLog(2,12378,$vararg_buffer); _GetDefaultFont($9); ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$9+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$9+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$9+28>>2]|0; ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; @@ -26073,7 +26044,7 @@ function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { $6 = sp + 40|0; $7 = sp + 8|0; ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0;HEAP32[$$sroa$8+24>>2]=0|0; - $8 = (_IsFileExtension($1,12066)|0); + $8 = (_IsFileExtension($1,12368)|0); $9 = ($8|0)==(0); if (!($9)) { $10 = ($4|0)==(0|0); @@ -26116,7 +26087,7 @@ function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { } } HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,12620,$vararg_buffer); + _TraceLog(2,12922,$vararg_buffer); _GetDefaultFont($7); $$sroa$0$0$copyload17 = HEAP32[$7>>2]|0; $$sroa$8$0$$sroa_idx26 = ((($7)) + 4|0); @@ -26165,17 +26136,17 @@ function _LoadBMFont($0,$1) { ;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;HEAP32[$2+28>>2]=0|0; HEAP32[$4>>2] = 0; HEAP32[$8>>2] = 0; - $15 = (_fopen($1,12218)|0); + $15 = (_fopen($1,12520)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,12221,$vararg_buffer); + _TraceLog(2,12523,$vararg_buffer); ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; STACKTOP = sp;return; } (_fgets($3,256,$15)|0); (_fgets($3,256,$15)|0); - $17 = (_strstr($3,12255)|0); + $17 = (_strstr($3,12557)|0); HEAP32[$vararg_buffer1>>2] = $4; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $9; @@ -26183,12 +26154,12 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr5>>2] = $5; $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); HEAP32[$vararg_ptr6>>2] = $6; - (_sscanf($17,12266,$vararg_buffer1)|0); + (_sscanf($17,12568,$vararg_buffer1)|0); $18 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $18; - _TraceLog(3,12308,$vararg_buffer7); + _TraceLog(3,12610,$vararg_buffer7); $19 = HEAP32[$5>>2]|0; $20 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer11>>2] = $1; @@ -26196,24 +26167,24 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr14>>2] = $19; $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr15>>2] = $20; - _TraceLog(3,12327,$vararg_buffer11); + _TraceLog(3,12629,$vararg_buffer11); (_fgets($3,256,$15)|0); - $21 = (_strstr($3,12358)|0); + $21 = (_strstr($3,12660)|0); HEAP32[$vararg_buffer16>>2] = $7; - (_sscanf($21,12363,$vararg_buffer16)|0); + (_sscanf($21,12665,$vararg_buffer16)|0); HEAP32[$vararg_buffer19>>2] = $1; $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); HEAP32[$vararg_ptr22>>2] = $7; - _TraceLog(3,12379,$vararg_buffer19); + _TraceLog(3,12681,$vararg_buffer19); (_fgets($3,256,$15)|0); - $22 = (_strstr($3,12410)|0); + $22 = (_strstr($3,12712)|0); HEAP32[$vararg_buffer23>>2] = $8; - (_sscanf($22,12416,$vararg_buffer23)|0); + (_sscanf($22,12718,$vararg_buffer23)|0); $23 = HEAP32[$8>>2]|0; HEAP32[$vararg_buffer26>>2] = $1; $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); HEAP32[$vararg_ptr29>>2] = $23; - _TraceLog(3,12425,$vararg_buffer26); + _TraceLog(3,12727,$vararg_buffer26); $24 = (_strrchr($1,47)|0); $25 = (_strlen($1)|0); $26 = (_strlen($24)|0); @@ -26233,7 +26204,7 @@ function _LoadBMFont($0,$1) { HEAP32[$$byval_copy52>>2] = $1; $vararg_ptr33 = ((($$byval_copy52)) + 4|0); HEAP32[$vararg_ptr33>>2] = $31; - _TraceLog(3,12449,$$byval_copy52); + _TraceLog(3,12751,$$byval_copy52); _LoadImage($vararg_buffer26,$31); $37 = ((($vararg_buffer26)) + 16|0); $38 = HEAP32[$37>>2]|0; @@ -26311,7 +26282,7 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr42>>2] = $12; $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); HEAP32[$vararg_ptr43>>2] = $13; - (_sscanf($3,12484,$vararg_buffer34)|0); + (_sscanf($3,12786,$vararg_buffer34)|0); $64 = HEAP32[$vararg_buffer23>>2]|0; $65 = HEAP32[$59>>2]|0; $66 = (($65) + ($$05355<<5)|0); @@ -26361,7 +26332,7 @@ function _LoadBMFont($0,$1) { ;HEAP32[$2>>2]=HEAP32[$14>>2]|0;HEAP32[$2+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$14+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$14+28>>2]|0; } else { HEAP32[$vararg_buffer44>>2] = $1; - _TraceLog(0,12558,$vararg_buffer44); + _TraceLog(0,12860,$vararg_buffer44); } ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; STACKTOP = sp;return; @@ -26658,7 +26629,7 @@ function _LoadImageFont($0,$1,$2) { } else { $$0201$lcssa = 0; } - _TraceLog(3,12132,$vararg_buffer); + _TraceLog(3,12434,$vararg_buffer); $145 = HEAP32[$7>>2]|0; $146 = HEAP32[$63>>2]|0; $147 = Math_imul($146, $145)|0; @@ -26721,7 +26692,7 @@ function _LoadImageFont($0,$1,$2) { } else { $175 = ((($156)) + 16|0); $176 = HEAP32[$175>>2]|0; - _TraceLog(0,12176,$vararg_buffer1); + _TraceLog(0,12478,$vararg_buffer1); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; @@ -26755,7 +26726,7 @@ function _LoadImageFont($0,$1,$2) { } $175 = ((($156)) + 16|0); $176 = HEAP32[$175>>2]|0; - _TraceLog(0,12176,$vararg_buffer1); + _TraceLog(0,12478,$vararg_buffer1); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; @@ -26785,7 +26756,7 @@ function _UnloadSpriteFont($0) { $5 = ((($0)) + 28|0); $6 = HEAP32[$5>>2]|0; _free($6); - _TraceLog(3,12594,$vararg_buffer); + _TraceLog(3,12896,$vararg_buffer); STACKTOP = sp;return; } function _LoadTTF($0,$1,$2,$3,$4) { @@ -26824,18 +26795,18 @@ function _LoadTTF($0,$1,$2,$3,$4) { HEAP32[$$byval_copy9>>2] = $18; $vararg_ptr1 = ((($$byval_copy9)) + 4|0); HEAP32[$vararg_ptr1>>2] = $18; - _TraceLog(0,12679,$$byval_copy9); + _TraceLog(0,12981,$$byval_copy9); $19 = (_malloc(16777216)|0); $20 = Math_imul($18, $18)|0; $21 = (_malloc($20)|0); $22 = ($3*20)|0; $23 = (_malloc($22)|0); ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; - $24 = (_fopen($1,12733)|0); + $24 = (_fopen($1,13035)|0); $25 = ($24|0)==(0|0); if ($25) { HEAP32[$vararg_buffer2>>2] = $1; - _TraceLog(2,12736,$vararg_buffer2); + _TraceLog(2,13038,$vararg_buffer2); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$6$0$$sroa_idx49 = ((($0)) + 20|0); HEAP32[$$sroa$6$0$$sroa_idx49>>2] = 0; @@ -26849,13 +26820,13 @@ function _LoadTTF($0,$1,$2,$3,$4) { $26 = HEAP32[$4>>2]|0; $27 = ($26|0)==(32); if (!($27)) { - _TraceLog(2,12770,$vararg_buffer5); + _TraceLog(2,13072,$vararg_buffer5); } $28 = HEAP32[$4>>2]|0; $29 = (_stbtt_BakeFontBitmap($19,$7,$21,$18,$18,$28,$3,$23)|0); $30 = ($29|0)<(0); if ($30) { - _TraceLog(2,12837,$vararg_buffer7); + _TraceLog(2,13139,$vararg_buffer7); } _free($19); $31 = $20 << 1; @@ -27093,7 +27064,7 @@ function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 8) { - ___assert_fail((12900|0),(12910|0),3273,(12936|0)); + ___assert_fail((13202|0),(13212|0),3274,(13238|0)); // unreachable; } else if ((label|0) == 11) { @@ -27196,7 +27167,7 @@ function _stbtt_FindGlyphIndex($0,$1) { break; } case 2: { - ___assert_fail((13370|0),(12910|0),1346,(13712|0)); + ___assert_fail((13672|0),(13212|0),1347,(14014|0)); // unreachable; break; } @@ -27262,7 +27233,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $70 = $69&65535; $71 = ($70|0)<($1|0); if ($71) { - ___assert_fail((13733|0),(12910|0),1382,(13712|0)); + ___assert_fail((14035|0),(13212|0),1383,(14014|0)); // unreachable; } $72 = ((($6)) + 14|0); @@ -27323,7 +27294,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $108 = $7 & -2; $switch = ($108<<16>>16)==(12); if (!($switch)) { - ___assert_fail((13370|0),(12910|0),1417,(13712|0)); + ___assert_fail((13672|0),(13212|0),1418,(14014|0)); // unreachable; } $109 = ((($6)) + 12|0); @@ -28203,11 +28174,11 @@ function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { } } if ((label|0) == 11) { - ___assert_fail((12966|0),(12910|0),2774,(12979|0)); + ___assert_fail((13268|0),(13212|0),2775,(13281|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((13009|0),(12910|0),2787,(12979|0)); + ___assert_fail((13311|0),(13212|0),2788,(13281|0)); // unreachable; } } @@ -28252,7 +28223,7 @@ function _stbtt__new_active($0,$1,$2,$3) { $14 = $8 / $13; $15 = ($4|0)==(0|0); if ($15) { - ___assert_fail((13299|0),(12910|0),2373,(13315|0)); + ___assert_fail((13601|0),(13212|0),2374,(13617|0)); // unreachable; } else { $16 = ((($4)) + 8|0); @@ -28580,19 +28551,19 @@ function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { } } if ((label|0) == 4) { - ___assert_fail((13029|0),(12910|0),2585,(13044|0)); + ___assert_fail((13331|0),(13212|0),2586,(13346|0)); // unreachable; } else if ((label|0) == 11) { - ___assert_fail((13073|0),(12910|0),2604,(13044|0)); + ___assert_fail((13375|0),(13212|0),2605,(13346|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((13109|0),(12910|0),2632,(13044|0)); + ___assert_fail((13411|0),(13212|0),2633,(13346|0)); // unreachable; } else if ((label|0) == 25) { - ___assert_fail((13127|0),(12910|0),2669,(13044|0)); + ___assert_fail((13429|0),(13212|0),2670,(13346|0)); // unreachable; } else if ((label|0) == 42) { @@ -28641,7 +28612,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { } $8 = $4 < $6; if (!($8)) { - ___assert_fail((13147|0),(12910|0),2543,(13155|0)); + ___assert_fail((13449|0),(13212|0),2544,(13457|0)); // unreachable; } $9 = ((($2)) + 20|0); @@ -28650,7 +28621,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $12 = +HEAPF32[$11>>2]; $13 = !($10 <= $12); if ($13) { - ___assert_fail((13182|0),(12910|0),2544,(13155|0)); + ___assert_fail((13484|0),(13212|0),2545,(13457|0)); // unreachable; } $14 = $12 < $4; @@ -28692,7 +28663,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if ($32) { $35 = !($$077 <= $34); if ($35) { - ___assert_fail((13197|0),(12910|0),2557,(13155|0)); + ___assert_fail((13499|0),(13212|0),2558,(13457|0)); // unreachable; } } else { @@ -28702,7 +28673,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($37)) { break; } - ___assert_fail((13207|0),(12910|0),2559,(13155|0)); + ___assert_fail((13509|0),(13212|0),2560,(13457|0)); // unreachable; } $38 = !($$079 <= $31); @@ -28711,7 +28682,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($39)) { break; } - ___assert_fail((13215|0),(12910|0),2561,(13155|0)); + ___assert_fail((13517|0),(13212|0),2562,(13457|0)); // unreachable; } $40 = !($$079 >= $34); @@ -28722,14 +28693,14 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($or$cond80)) { break; } - ___assert_fail((13233|0),(12910|0),2565,(13155|0)); + ___assert_fail((13535|0),(13212|0),2566,(13457|0)); // unreachable; } else { $41 = !($$077 >= $34); if (!($41)) { break; } - ___assert_fail((13223|0),(12910|0),2563,(13155|0)); + ___assert_fail((13525|0),(13212|0),2564,(13457|0)); // unreachable; } } @@ -28762,7 +28733,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $58 = !($$077 <= $34); $or$cond85 = $58 | $or$cond84; if ($or$cond85) { - ___assert_fail((13254|0),(12910|0),2572,(13155|0)); + ___assert_fail((13556|0),(13212|0),2573,(13457|0)); // unreachable; } $59 = ((($2)) + 16|0); @@ -29298,7 +29269,7 @@ function _stbtt__GetGlyfOffset($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if (!($4)) { - ___assert_fail((13333|0),(12910|0),1439,(13349|0)); + ___assert_fail((13635|0),(13212|0),1440,(13651|0)); // unreachable; } $5 = ((($0)) + 12|0); @@ -30245,7 +30216,7 @@ function _stbtt__cff_index_get($0,$1,$2) { $7 = ($3|0)>($2|0); $or$cond = $6 & $7; if (!($or$cond)) { - ___assert_fail((13575|0),(12910|0),1117,(13595|0)); + ___assert_fail((13877|0),(13212|0),1118,(13897|0)); // unreachable; } $$off = (($4) + -1)<<24>>24; @@ -30263,7 +30234,7 @@ function _stbtt__cff_index_get($0,$1,$2) { _stbtt__buf_range($0,$1,$15,$16); return; } else { - ___assert_fail((13492|0),(12910|0),1118,(13595|0)); + ___assert_fail((13794|0),(13212|0),1119,(13897|0)); // unreachable; } } @@ -30508,7 +30479,7 @@ function _stbtt__buf_get($0,$1) { if ($2) { $$01011 = 0;$$012 = 0; } else { - ___assert_fail((13387|0),(12910|0),1013,(13404|0)); + ___assert_fail((13689|0),(13212|0),1014,(13706|0)); // unreachable; } while(1) { @@ -30579,7 +30550,7 @@ function _stbtt__cff_int($0) { break; } default: { - ___assert_fail((13370|0),(12910|0),1063,(13372|0)); + ___assert_fail((13672|0),(13212|0),1064,(13674|0)); // unreachable; } } @@ -30750,7 +30721,7 @@ function _stbtt__new_buf($0,$1,$2) { HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; return; } else { - ___assert_fail((13419|0),(12910|0),1022,(13437|0)); + ___assert_fail((13721|0),(13212|0),1023,(13739|0)); // unreachable; } } @@ -30765,7 +30736,7 @@ function _stbtt__buf_seek($0,$1) { $5 = ($1|0)<(0); $or$cond = $5 | $4; if ($or$cond) { - ___assert_fail((13452|0),(12910|0),1000,(13476|0)); + ___assert_fail((13754|0),(13212|0),1001,(13778|0)); // unreachable; } else { $6 = ((($0)) + 4|0); @@ -30910,7 +30881,7 @@ function _stbtt__cff_get_index($0,$1) { $$off = (($6) + -1)<<24>>24; $8 = ($$off&255)<(4); if (!($8)) { - ___assert_fail((13492|0),(12910|0),1048,(13521|0)); + ___assert_fail((13794|0),(13212|0),1049,(13823|0)); // unreachable; } $9 = Math_imul($7, $4)|0; @@ -31007,7 +30978,7 @@ function _stbtt__cff_skip_operand($0) { $1 = (_stbtt__buf_peek8($0)|0); $2 = ($1&255)>(27); if (!($2)) { - ___assert_fail((13542|0),(12910|0),1069,(13551|0)); + ___assert_fail((13844|0),(13212|0),1070,(13853|0)); // unreachable; } $3 = ($1<<24>>24)==(30); @@ -31334,7 +31305,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { $$4352 = 0;$$9 = 0; break; } - ___assert_fail((13370|0),(12910|0),1723,(13689|0)); + ___assert_fail((13672|0),(13212|0),1724,(13991|0)); // unreachable; } $143 = ((($8)) + 10|0); @@ -31518,7 +31489,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { } } if ((label|0) == 42) { - ___assert_fail((13370|0),(12910|0),1670,(13689|0)); + ___assert_fail((13672|0),(13212|0),1671,(13991|0)); // unreachable; } $249 = ($$0348453|0)==(0|0); @@ -31573,7 +31544,7 @@ function _stbtt__GetGlyphShapeT2($0,$1,$2) { $$0 = $16; STACKTOP = sp;return ($$0|0); } else { - ___assert_fail((13616|0),(12910|0),2113,(13666|0)); + ___assert_fail((13918|0),(13212|0),2114,(13968|0)); // unreachable; } } @@ -31663,23 +31634,23 @@ function _stbtt_InitFont_internal($0,$1) { $20 = ((($0)) + 48|0); _stbtt__new_buf($2,0,0); ;HEAP32[$20>>2]=HEAP32[$2>>2]|0;HEAP32[$20+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$2+8>>2]|0; - $21 = (_stbtt__find_table($1,13789)|0); - $22 = (_stbtt__find_table($1,13794)|0); + $21 = (_stbtt__find_table($1,14091)|0); + $22 = (_stbtt__find_table($1,14096)|0); $23 = ((($0)) + 16|0); HEAP32[$23>>2] = $22; - $24 = (_stbtt__find_table($1,13799)|0); + $24 = (_stbtt__find_table($1,14101)|0); $25 = ((($0)) + 20|0); HEAP32[$25>>2] = $24; - $26 = (_stbtt__find_table($1,13804)|0); + $26 = (_stbtt__find_table($1,14106)|0); $27 = ((($0)) + 24|0); HEAP32[$27>>2] = $26; - $28 = (_stbtt__find_table($1,13809)|0); + $28 = (_stbtt__find_table($1,14111)|0); $29 = ((($0)) + 28|0); HEAP32[$29>>2] = $28; - $30 = (_stbtt__find_table($1,13814)|0); + $30 = (_stbtt__find_table($1,14116)|0); $31 = ((($0)) + 32|0); HEAP32[$31>>2] = $30; - $32 = (_stbtt__find_table($1,13819)|0); + $32 = (_stbtt__find_table($1,14121)|0); $33 = ((($0)) + 36|0); HEAP32[$33>>2] = $32; $34 = ($21|0)==(0); @@ -31713,7 +31684,7 @@ function _stbtt_InitFont_internal($0,$1) { HEAP32[$7>>2] = 0; HEAP32[$8>>2] = 0; HEAP32[$9>>2] = 0; - $45 = (_stbtt__find_table($1,13824)|0); + $45 = (_stbtt__find_table($1,14126)|0); $46 = ($45|0)==(0); do { if (!($46)) { @@ -31792,7 +31763,7 @@ function _stbtt_InitFont_internal($0,$1) { } } } while(0); - $68 = (_stbtt__find_table($1,13829)|0); + $68 = (_stbtt__find_table($1,14131)|0); $69 = ($68|0)==(0); if ($69) { $$sink = 65535; @@ -32193,7 +32164,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,13834)|0); + $12 = (_strstr($11,14136)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -32202,7 +32173,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,13838)|0); + $17 = (_strstr($16,14140)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -32211,7 +32182,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,13842)|0); + $22 = (_strstr($21,14144)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -32220,7 +32191,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,13846)|0); + $27 = (_strstr($26,14148)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -32229,1210 +32200,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,13852)|0); + $32 = (_strcmp($31,14154)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,13890)|0); + $35 = (_strcmp($34,14192)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 13909; + HEAP32[$3>>2] = 14211; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,13922)|0); + $38 = (_strcmp($37,14224)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 13943; + HEAP32[$3>>2] = 14245; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,13958)|0); + $41 = (_strcmp($40,14260)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 13973; + HEAP32[$3>>2] = 14275; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,13988)|0); + $44 = (_strcmp($43,14290)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 14003; + HEAP32[$3>>2] = 14305; } } else { - HEAP32[$3>>2] = 13874; + HEAP32[$3>>2] = 14176; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,14018)|0); + $47 = (_strcmp($46,14320)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,14032)|0); + $50 = (_strcmp($49,14334)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,14044)|0); + $53 = (_strcmp($52,14346)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,14058)|0); + $56 = (_strcmp($55,14360)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,14070)|0); + $59 = (_strcmp($58,14372)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,14084)|0); + $62 = (_strcmp($61,14386)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,14098)|0); + $65 = (_strcmp($64,14400)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,14115)|0); + $68 = (_strcmp($67,14417)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,14138)|0); + $71 = (_strcmp($70,14440)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,14164)|0); + $74 = (_strcmp($73,14466)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,14177)|0); + $77 = (_strcmp($76,14479)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,14193)|0); + $80 = (_strcmp($79,14495)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,14206)|0); + $83 = (_strcmp($82,14508)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,14220)|0); + $86 = (_strcmp($85,14522)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,14240)|0); + $89 = (_strcmp($88,14542)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,14260)|0); + $92 = (_strcmp($91,14562)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,14277)|0); + $95 = (_strcmp($94,14579)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,14294)|0); + $98 = (_strcmp($97,14596)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,14306)|0); + $101 = (_strcmp($100,14608)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,14319)|0); + $104 = (_strcmp($103,14621)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,14335)|0); + $107 = (_strcmp($106,14637)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,14358)|0); + $110 = (_strcmp($109,14660)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,14371)|0); + $113 = (_strcmp($112,14673)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,14387)|0); + $116 = (_strcmp($115,14689)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,14398)|0); + $119 = (_strcmp($118,14700)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,14417)|0); + $122 = (_strcmp($121,14719)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,14439)|0); + $125 = (_strcmp($124,14741)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,14458)|0); + $128 = (_strcmp($127,14760)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,14487)|0); + $131 = (_strcmp($130,14789)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,14504)|0); + $134 = (_strcmp($133,14806)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,14519)|0); + $137 = (_strcmp($136,14821)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,14534)|0); + $140 = (_strcmp($139,14836)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,14555)|0); + $143 = (_strcmp($142,14857)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,14575)|0); + $146 = (_strcmp($145,14877)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,14595)|0); + $149 = (_strcmp($148,14897)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,14621)|0); + $152 = (_strcmp($151,14923)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,14640)|0); + $155 = (_strcmp($154,14942)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,14652)|0); + $158 = (_strcmp($157,14954)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,14664)|0); + $161 = (_strcmp($160,14966)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,14676)|0); + $164 = (_strcmp($163,14978)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,14688)|0); + $167 = (_strcmp($166,14990)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,14700)|0); + $170 = (_strcmp($169,15002)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,14712)|0); + $173 = (_strcmp($172,15014)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,14724)|0); + $176 = (_strcmp($175,15026)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,14736)|0); + $179 = (_strcmp($178,15038)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,14749)|0); + $182 = (_strcmp($181,15051)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,14762)|0); + $185 = (_strcmp($184,15064)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,14775)|0); + $188 = (_strcmp($187,15077)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,14788)|0); + $191 = (_strcmp($190,15090)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,14801)|0); + $194 = (_strcmp($193,15103)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,14814)|0); + $197 = (_strcmp($196,15116)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,14827)|0); + $200 = (_strcmp($199,15129)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,14840)|0); + $203 = (_strcmp($202,15142)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,14859)|0); + $206 = (_strcmp($205,15161)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,14878)|0); + $209 = (_strcmp($208,15180)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,14897)|0); + $212 = (_strcmp($211,15199)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,14910)|0); + $215 = (_strcmp($214,15212)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,14928)|0); + $218 = (_strcmp($217,15230)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,14946)|0); + $221 = (_strcmp($220,15248)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,14964)|0); + $224 = (_strcmp($223,15266)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,14982)|0); + $227 = (_strcmp($226,15284)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,15002)|0); + $230 = (_strcmp($229,15304)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,13943)|0); + $233 = (_strcmp($232,14245)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,15020)|0); + $236 = (_strcmp($235,15322)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,15035)|0); + $239 = (_strcmp($238,15337)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,15056)|0); + $242 = (_strcmp($241,15358)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,15071)|0); + $245 = (_strcmp($244,15373)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,15089)|0); + $248 = (_strcmp($247,15391)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,15105)|0); + $251 = (_strcmp($250,15407)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,15124)|0); + $254 = (_strcmp($253,15426)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,15138)|0); + $257 = (_strcmp($256,15440)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,15153)|0); + $260 = (_strcmp($259,15455)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,13874)|0); + $263 = (_strcmp($262,14176)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,15164)|0); + $266 = (_strcmp($265,15466)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,13973)|0); + $269 = (_strcmp($268,14275)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,14003)|0); + $272 = (_strcmp($271,14305)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,15180)|0); + $275 = (_strcmp($274,15482)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,15207)|0); + $278 = (_strcmp($277,15509)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,15221)|0); + $281 = (_strcmp($280,15523)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,13909)|0); + $284 = (_strcmp($283,14211)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,15241)|0); + $287 = (_strcmp($286,15543)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,15259)|0); + $290 = (_strcmp($289,15561)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,15271)|0); + $293 = (_strcmp($292,15573)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,15292)|0); + $296 = (_strcmp($295,15594)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,15310)|0); + $299 = (_strcmp($298,15612)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,15328)|0); + $302 = (_strcmp($301,15630)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,15349)|0); + $305 = (_strcmp($304,15651)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,15375)|0); + $308 = (_strcmp($307,15677)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,15398)|0); + $311 = (_strcmp($310,15700)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,15436)|0); + $314 = (_strcmp($313,15738)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,15452)|0); + $317 = (_strcmp($316,15754)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,15467)|0); + $320 = (_strcmp($319,15769)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,15490)|0); + $323 = (_strcmp($322,15792)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,15503)|0); + $326 = (_strcmp($325,15805)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,15517)|0); + $329 = (_strcmp($328,15819)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,15531)|0); + $332 = (_strcmp($331,15833)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,15551)|0); + $335 = (_strcmp($334,15853)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,15571)|0); + $338 = (_strcmp($337,15873)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,15587)|0); + $341 = (_strcmp($340,15889)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,15605)|0); + $344 = (_strcmp($343,15907)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,15621)|0); + $347 = (_strcmp($346,15923)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,15636)|0); + $350 = (_strcmp($349,15938)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,15658)|0); + $353 = (_strcmp($352,15960)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,15676)|0); + $356 = (_strcmp($355,15978)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,15697)|0); + $359 = (_strcmp($358,15999)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,15715)|0); + $362 = (_strcmp($361,16017)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,15728)|0); + $365 = (_strcmp($364,16030)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,15743)|0); + $368 = (_strcmp($367,16045)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,15757)|0); + $371 = (_strcmp($370,16059)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,15767)|0); + $374 = (_strcmp($373,16069)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,15777)|0); + $377 = (_strcmp($376,16079)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,15799)|0); + $380 = (_strcmp($379,16101)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,15825)|0); + $383 = (_strcmp($382,16127)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,15852)|0); + $386 = (_strcmp($385,16154)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,15865)|0); + $389 = (_strcmp($388,16167)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,15880)|0); + $392 = (_strcmp($391,16182)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,15895)|0); + $395 = (_strcmp($394,16197)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,15919)|0); + $398 = (_strcmp($397,16221)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,15930)|0); + $401 = (_strcmp($400,16232)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,15952)|0); + $404 = (_strcmp($403,16254)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,15974)|0); + $407 = (_strcmp($406,16276)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,15998)|0); + $410 = (_strcmp($409,16300)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,16007)|0); + $413 = (_strcmp($412,16309)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,16015)|0); + $416 = (_strcmp($415,16317)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,16028)|0); + $419 = (_strcmp($418,16330)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,16042)|0); + $422 = (_strcmp($421,16344)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,16054)|0); + $425 = (_strcmp($424,16356)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,16063)|0); + $428 = (_strcmp($427,16365)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,16073)|0); + $431 = (_strcmp($430,16375)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,16085)|0); + $434 = (_strcmp($433,16387)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,16096)|0); + $437 = (_strcmp($436,16398)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,16104)|0); + $440 = (_strcmp($439,16406)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,16116)|0); + $443 = (_strcmp($442,16418)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,16131)|0); + $446 = (_strcmp($445,16433)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,16143)|0); + $449 = (_strcmp($448,16445)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,16157)|0); + $452 = (_strcmp($451,16459)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,16182)|0); + $455 = (_strcmp($454,16484)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,16199)|0); + $458 = (_strcmp($457,16501)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,16215)|0); + $461 = (_strcmp($460,16517)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,16231)|0); + $464 = (_strcmp($463,16533)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,16243)|0); + $467 = (_strcmp($466,16545)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,16255)|0); + $470 = (_strcmp($469,16557)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,16279)|0); + $473 = (_strcmp($472,16581)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,16292)|0); + $476 = (_strcmp($475,16594)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,16306)|0); + $479 = (_strcmp($478,16608)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,16328)|0); + $482 = (_strcmp($481,16630)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,16335)|0); + $485 = (_strcmp($484,16637)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,16351)|0); + $488 = (_strcmp($487,16653)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,16368)|0); + $491 = (_strcmp($490,16670)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,16385)|0); + $494 = (_strcmp($493,16687)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,16401)|0); + $497 = (_strcmp($496,16703)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,16417)|0); + $500 = (_strcmp($499,16719)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,16434)|0); + $503 = (_strcmp($502,16736)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,16448)|0); + $506 = (_strcmp($505,16750)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,16460)|0); + $509 = (_strcmp($508,16762)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,16471)|0); + $512 = (_strcmp($511,16773)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,16484)|0); + $515 = (_strcmp($514,16786)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,16494)|0); + $518 = (_strcmp($517,16796)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,16511)|0); + $521 = (_strcmp($520,16813)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,16523)|0); + $524 = (_strcmp($523,16825)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,16545)|0); + $527 = (_strcmp($526,16847)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,16565)|0); + $530 = (_strcmp($529,16867)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,16578)|0); + $533 = (_strcmp($532,16880)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,16600)|0); + $536 = (_strcmp($535,16902)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,16620)|0); + $539 = (_strcmp($538,16922)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,16637)|0); + $542 = (_strcmp($541,16939)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,16654)|0); + $545 = (_strcmp($544,16956)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,16674)|0); + $548 = (_strcmp($547,16976)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -33454,7 +33425,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (22380|0); + return (22684|0); } function ___stdio_close($0) { $0 = $0|0; @@ -33911,7 +33882,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((16791) + ($50)|0); + $49 = ((17093) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -33943,7 +33914,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((16791) + ($$0159)|0); + $60 = ((17093) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -34079,10 +34050,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (17047 + ($128)|0); + $129 = (17349 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((16791) + ($$1160169)|0); + $132 = ((17093) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -34104,7 +34075,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((16791) + ($$4163$be)|0); + $146 = ((17093) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -34155,7 +34126,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((16791) + ($$5$be)|0); + $178 = ((17093) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -34174,7 +34145,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((16791) + ($$1160169)|0); + $122 = ((17093) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -34196,7 +34167,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((16791) + ($$6$be)|0); + $197 = ((17093) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -34258,7 +34229,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((16791) + ($$7$be)|0); + $234 = ((17093) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -34277,7 +34248,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((16791) + ($$8)|0); + $238 = ((17093) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -34296,7 +34267,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((16791) + ($$9$be)|0); + $249 = ((17093) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -35063,7 +35034,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((17056 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((17358 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -35241,7 +35212,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 17520;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 17822;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -35262,7 +35233,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 17520;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 17822;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -35270,8 +35241,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 17520 : (17522); - $$$ = $238 ? $$ : (17521); + $$ = $240 ? 17822 : (17824); + $$$ = $238 ? $$ : (17823); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -35288,7 +35259,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 17520;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 17822;$242 = $167;$243 = $170; label = 66; break; } @@ -35301,7 +35272,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 17520;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 17822;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -35315,7 +35286,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 17530; + $271 = $270 ? $269 : 17832; $$1 = $271; label = 71; break; @@ -35355,7 +35326,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 17520;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 17822;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -35377,8 +35348,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (17520 + ($208)|0); - $$289 = $or$cond283 ? 17520 : $209; + $209 = (17822 + ($208)|0); + $$289 = $or$cond283 ? 17822 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -35399,7 +35370,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 17520;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 17822;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -35929,7 +35900,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (17568 + ($7)|0); + $9 = (17870 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -36287,14 +36258,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 17537; + $$0471 = $14;$$0520 = 1;$$0521 = 17839; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (17538) : (17543); - $$$ = $16 ? $$ : (17540); + $$ = $18 ? (17840) : (17845); + $$$ = $16 ? $$ : (17842); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -36393,7 +36364,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (17568 + ($80)|0); + $81 = (17870 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -37004,7 +36975,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,17584,1); + _out($0,17886,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -37085,7 +37056,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,17584,1); + _out($0,17886,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -37142,9 +37113,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 17556 : 17560; + $29 = $28 ? 17858 : 17862; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 19487 : 17564; + $31 = $28 ? 19789 : 17866; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -37354,7 +37325,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (17586 + ($$016)|0); + $3 = (17888 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -37365,7 +37336,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 17674;$$115 = 87; + $$01214 = 17976;$$115 = 87; label = 5; break; } else { @@ -37375,9 +37346,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 17674; + $$012$lcssa = 17976; } else { - $$01214 = 17674;$$115 = $$016; + $$01214 = 17976;$$115 = $$016; label = 5; } } @@ -37782,7 +37753,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (19478 + ($$0107127)|0); + $27 = (19780 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -37849,7 +37820,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (19487 + ($$2109125)|0); + $58 = (19789 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -40100,7 +40071,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 22444 : $3; + $$ = $5 ? 22748 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -40391,7 +40362,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(19491,$3,4)|0); + $memchr = (_memchr(19793,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -40480,7 +40451,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(19491,$4,4)|0); + $memchr = (_memchr(19793,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -40571,7 +40542,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(22384)>>2]|0; + $38 = HEAP32[(22688)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -40604,13 +40575,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((22448|0)); - return (22456|0); + ___lock((22752|0)); + return (22760|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((22448|0)); + ___unlock((22752|0)); return; } function _fclose($0) { @@ -42926,7 +42897,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 19760; + $2 = 20064; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -43181,7 +43152,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5615]|0; + $3 = HEAP32[5691]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -43200,22 +43171,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5615] = 0; + HEAP32[5691] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5615] = $10; + HEAP32[5691] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5615] = 0; + HEAP32[5691] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5615] = $13; + HEAP32[5691] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -43296,7 +43267,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5616]|0; + $8 = HEAP32[5692]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -43305,7 +43276,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (22504 + ($15<<2)|0); + $16 = (22808 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -43316,9 +43287,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5616] = $24; + HEAP32[5692] = $24; } else { - $25 = HEAP32[(22480)>>2]|0; + $25 = HEAP32[(22784)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -43349,7 +43320,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(22472)>>2]|0; + $37 = HEAP32[(22776)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -43383,7 +43354,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (22504 + ($68<<2)|0); + $69 = (22808 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -43394,10 +43365,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5616] = $77; + HEAP32[5692] = $77; $98 = $77; } else { - $78 = HEAP32[(22480)>>2]|0; + $78 = HEAP32[(22784)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -43430,22 +43401,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(22484)>>2]|0; + $92 = HEAP32[(22788)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (22504 + ($94<<2)|0); + $95 = (22808 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5616] = $100; + HEAP32[5692] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(22480)>>2]|0; + $103 = HEAP32[(22784)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -43462,12 +43433,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(22472)>>2] = $84; - HEAP32[(22484)>>2] = $87; + HEAP32[(22776)>>2] = $84; + HEAP32[(22788)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(22468)>>2]|0; + $108 = HEAP32[(22772)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -43495,7 +43466,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (22768 + ($132<<2)|0); + $133 = (23072 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -43535,7 +43506,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(22480)>>2]|0; + $155 = HEAP32[(22784)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -43630,7 +43601,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (22768 + ($188<<2)|0); + $189 = (23072 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -43641,11 +43612,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(22468)>>2] = $194; + HEAP32[(22772)>>2] = $194; break L73; } } else { - $195 = HEAP32[(22480)>>2]|0; + $195 = HEAP32[(22784)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -43666,7 +43637,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(22480)>>2]|0; + $201 = HEAP32[(22784)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -43696,7 +43667,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(22480)>>2]|0; + $213 = HEAP32[(22784)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -43733,22 +43704,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(22484)>>2]|0; + $231 = HEAP32[(22788)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (22504 + ($233<<2)|0); + $234 = (22808 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5616] = $238; + HEAP32[5692] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(22480)>>2]|0; + $241 = HEAP32[(22784)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -43765,8 +43736,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(22472)>>2] = $$0193$lcssa$i; - HEAP32[(22484)>>2] = $157; + HEAP32[(22776)>>2] = $$0193$lcssa$i; + HEAP32[(22788)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -43782,7 +43753,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(22468)>>2]|0; + $250 = HEAP32[(22772)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -43822,7 +43793,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (22768 + ($$0358$i<<2)|0); + $278 = (23072 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -43914,7 +43885,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (22768 + ($330<<2)|0); + $331 = (23072 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -43958,11 +43929,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(22472)>>2]|0; + $345 = HEAP32[(22776)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(22480)>>2]|0; + $348 = HEAP32[(22784)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -44059,7 +44030,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (22768 + ($381<<2)|0); + $382 = (23072 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -44070,12 +44041,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(22468)>>2] = $387; + HEAP32[(22772)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(22480)>>2]|0; + $388 = HEAP32[(22784)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -44097,7 +44068,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(22480)>>2]|0; + $394 = HEAP32[(22784)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -44129,7 +44100,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(22480)>>2]|0; + $406 = HEAP32[(22784)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -44170,20 +44141,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (22504 + ($425<<2)|0); - $427 = HEAP32[5616]|0; + $426 = (22808 + ($425<<2)|0); + $427 = HEAP32[5692]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5616] = $431; + HEAP32[5692] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(22480)>>2]|0; + $434 = HEAP32[(22784)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -44235,7 +44206,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (22768 + ($$0361$i<<2)|0); + $464 = (23072 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -44247,7 +44218,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(22468)>>2] = $472; + HEAP32[(22772)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -44286,7 +44257,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(22480)>>2]|0; + $491 = HEAP32[(22784)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -44305,7 +44276,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(22480)>>2]|0; + $498 = HEAP32[(22784)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -44338,16 +44309,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(22472)>>2]|0; + $506 = HEAP32[(22776)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(22484)>>2]|0; + $509 = HEAP32[(22788)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(22484)>>2] = $511; - HEAP32[(22472)>>2] = $508; + HEAP32[(22788)>>2] = $511; + HEAP32[(22776)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -44357,8 +44328,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(22472)>>2] = 0; - HEAP32[(22484)>>2] = 0; + HEAP32[(22776)>>2] = 0; + HEAP32[(22788)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -44372,14 +44343,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(22476)>>2]|0; + $524 = HEAP32[(22780)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(22476)>>2] = $526; - $527 = HEAP32[(22488)>>2]|0; + HEAP32[(22780)>>2] = $526; + $527 = HEAP32[(22792)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(22488)>>2] = $528; + HEAP32[(22792)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -44390,23 +44361,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5734]|0; + $534 = HEAP32[5810]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(22944)>>2] = 4096; - HEAP32[(22940)>>2] = 4096; - HEAP32[(22948)>>2] = -1; - HEAP32[(22952)>>2] = -1; - HEAP32[(22956)>>2] = 0; - HEAP32[(22908)>>2] = 0; + HEAP32[(23248)>>2] = 4096; + HEAP32[(23244)>>2] = 4096; + HEAP32[(23252)>>2] = -1; + HEAP32[(23256)>>2] = -1; + HEAP32[(23260)>>2] = 0; + HEAP32[(23212)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5734] = $538; + HEAP32[5810] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(22944)>>2]|0; + $$pre$i212 = HEAP32[(23248)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -44419,10 +44390,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(22904)>>2]|0; + $546 = HEAP32[(23208)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(22896)>>2]|0; + $548 = HEAP32[(23200)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -44432,18 +44403,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(22908)>>2]|0; + $552 = HEAP32[(23212)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(22488)>>2]|0; + $555 = HEAP32[(22792)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (22912); + $$0$i$i = (23216); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -44501,7 +44472,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(22940)>>2]|0; + $569 = HEAP32[(23244)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -44511,13 +44482,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(22896)>>2]|0; + $578 = HEAP32[(23200)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(22904)>>2]|0; + $582 = HEAP32[(23208)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -44563,7 +44534,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(22944)>>2]|0; + $601 = HEAP32[(23248)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -44588,9 +44559,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(22908)>>2]|0; + $611 = HEAP32[(23212)>>2]|0; $612 = $611 | 4; - HEAP32[(22908)>>2] = $612; + HEAP32[(23212)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -44626,35 +44597,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(22896)>>2]|0; + $626 = HEAP32[(23200)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(22896)>>2] = $627; - $628 = HEAP32[(22900)>>2]|0; + HEAP32[(23200)>>2] = $627; + $628 = HEAP32[(23204)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(22900)>>2] = $627; + HEAP32[(23204)>>2] = $627; } - $630 = HEAP32[(22488)>>2]|0; + $630 = HEAP32[(22792)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(22480)>>2]|0; + $632 = HEAP32[(22784)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(22480)>>2] = $$749$i; + HEAP32[(22784)>>2] = $$749$i; } - HEAP32[(22912)>>2] = $$749$i; - HEAP32[(22916)>>2] = $$723948$i; - HEAP32[(22924)>>2] = 0; - $635 = HEAP32[5734]|0; - HEAP32[(22500)>>2] = $635; - HEAP32[(22496)>>2] = -1; + HEAP32[(23216)>>2] = $$749$i; + HEAP32[(23220)>>2] = $$723948$i; + HEAP32[(23228)>>2] = 0; + $635 = HEAP32[5810]|0; + HEAP32[(22804)>>2] = $635; + HEAP32[(22800)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (22504 + ($636<<2)|0); + $637 = (22808 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -44677,18 +44648,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(22488)>>2] = $649; - HEAP32[(22476)>>2] = $650; + HEAP32[(22792)>>2] = $649; + HEAP32[(22780)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(22952)>>2]|0; - HEAP32[(22492)>>2] = $655; + $655 = HEAP32[(23256)>>2]|0; + HEAP32[(22796)>>2] = $655; } else { - $$024371$i = (22912); + $$024371$i = (23216); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -44720,7 +44691,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(22476)>>2]|0; + $671 = HEAP32[(22780)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -44731,30 +44702,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(22488)>>2] = $679; - HEAP32[(22476)>>2] = $681; + HEAP32[(22792)>>2] = $679; + HEAP32[(22780)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(22952)>>2]|0; - HEAP32[(22492)>>2] = $686; + $686 = HEAP32[(23256)>>2]|0; + HEAP32[(22796)>>2] = $686; break; } } } - $687 = HEAP32[(22480)>>2]|0; + $687 = HEAP32[(22784)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(22480)>>2] = $$749$i; + HEAP32[(22784)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (22912); + $$124470$i = (23216); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -44809,21 +44780,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(22476)>>2]|0; + $726 = HEAP32[(22780)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(22476)>>2] = $727; - HEAP32[(22488)>>2] = $721; + HEAP32[(22780)>>2] = $727; + HEAP32[(22792)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(22484)>>2]|0; + $730 = HEAP32[(22788)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(22472)>>2]|0; + $732 = HEAP32[(22776)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(22472)>>2] = $733; - HEAP32[(22484)>>2] = $721; + HEAP32[(22776)>>2] = $733; + HEAP32[(22788)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -44846,7 +44817,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (22504 + ($748<<2)|0); + $749 = (22808 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -44869,9 +44840,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5616]|0; + $759 = HEAP32[5692]|0; $760 = $759 & $758; - HEAP32[5616] = $760; + HEAP32[5692] = $760; break; } $761 = ($747|0)==($749|0); @@ -44984,7 +44955,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (22768 + ($796<<2)|0); + $797 = (23072 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -44996,12 +44967,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(22468)>>2]|0; + $802 = HEAP32[(22772)>>2]|0; $803 = $802 & $801; - HEAP32[(22468)>>2] = $803; + HEAP32[(22772)>>2] = $803; break L314; } else { - $804 = HEAP32[(22480)>>2]|0; + $804 = HEAP32[(22784)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -45022,7 +44993,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(22480)>>2]|0; + $810 = HEAP32[(22784)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -45054,7 +45025,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(22480)>>2]|0; + $822 = HEAP32[(22784)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -45087,21 +45058,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (22504 + ($836<<2)|0); - $838 = HEAP32[5616]|0; + $837 = (22808 + ($836<<2)|0); + $838 = HEAP32[5692]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5616] = $842; + HEAP32[5692] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(22480)>>2]|0; + $845 = HEAP32[(22784)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -45156,20 +45127,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (22768 + ($$0296$i$i<<2)|0); + $875 = (23072 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(22468)>>2]|0; + $879 = HEAP32[(22772)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(22468)>>2] = $883; + HEAP32[(22772)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -45208,7 +45179,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(22480)>>2]|0; + $902 = HEAP32[(22784)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -45227,7 +45198,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(22480)>>2]|0; + $909 = HEAP32[(22784)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -45254,7 +45225,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (22912); + $$0$i$i$i = (23216); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -45295,23 +45266,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(22488)>>2] = $946; - HEAP32[(22476)>>2] = $947; + HEAP32[(22792)>>2] = $946; + HEAP32[(22780)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(22952)>>2]|0; - HEAP32[(22492)>>2] = $952; + $952 = HEAP32[(23256)>>2]|0; + HEAP32[(22796)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(22912)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22912)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22912)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22912)+12>>2]|0; - HEAP32[(22912)>>2] = $$749$i; - HEAP32[(22916)>>2] = $$723948$i; - HEAP32[(22924)>>2] = 0; - HEAP32[(22920)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(23216)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(23216)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(23216)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(23216)+12>>2]|0; + HEAP32[(23216)>>2] = $$749$i; + HEAP32[(23220)>>2] = $$723948$i; + HEAP32[(23228)>>2] = 0; + HEAP32[(23224)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -45340,20 +45311,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (22504 + ($968<<2)|0); - $970 = HEAP32[5616]|0; + $969 = (22808 + ($968<<2)|0); + $970 = HEAP32[5692]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5616] = $974; + HEAP32[5692] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(22480)>>2]|0; + $977 = HEAP32[(22784)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -45405,19 +45376,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (22768 + ($$0212$i$i<<2)|0); + $1007 = (23072 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(22468)>>2]|0; + $1010 = HEAP32[(22772)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(22468)>>2] = $1014; + HEAP32[(22772)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -45456,7 +45427,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(22480)>>2]|0; + $1033 = HEAP32[(22784)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -45475,7 +45446,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(22480)>>2]|0; + $1040 = HEAP32[(22784)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -45498,14 +45469,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(22476)>>2]|0; + $1048 = HEAP32[(22780)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(22476)>>2] = $1050; - $1051 = HEAP32[(22488)>>2]|0; + HEAP32[(22780)>>2] = $1050; + $1051 = HEAP32[(22792)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(22488)>>2] = $1052; + HEAP32[(22792)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -45548,7 +45519,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(22480)>>2]|0; + $3 = HEAP32[(22784)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -45581,7 +45552,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(22484)>>2]|0; + $19 = HEAP32[(22788)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -45596,7 +45567,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(22472)>>2] = $17; + HEAP32[(22776)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -45610,7 +45581,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (22504 + ($27<<2)|0); + $28 = (22808 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -45630,9 +45601,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5616]|0; + $37 = HEAP32[5692]|0; $38 = $37 & $36; - HEAP32[5616] = $38; + HEAP32[5692] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -45746,7 +45717,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (22768 + ($74<<2)|0); + $75 = (23072 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -45756,14 +45727,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(22468)>>2]|0; + $80 = HEAP32[(22772)>>2]|0; $81 = $80 & $79; - HEAP32[(22468)>>2] = $81; + HEAP32[(22772)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(22480)>>2]|0; + $82 = HEAP32[(22784)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -45785,7 +45756,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(22480)>>2]|0; + $88 = HEAP32[(22784)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -45817,7 +45788,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(22480)>>2]|0; + $100 = HEAP32[(22784)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -45852,14 +45823,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(22488)>>2]|0; + $120 = HEAP32[(22792)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(22484)>>2]|0; + $122 = HEAP32[(22788)>>2]|0; if ($121) { - $123 = HEAP32[(22476)>>2]|0; + $123 = HEAP32[(22780)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(22476)>>2] = $124; - HEAP32[(22488)>>2] = $$1; + HEAP32[(22780)>>2] = $124; + HEAP32[(22792)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -45867,16 +45838,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(22484)>>2] = 0; - HEAP32[(22472)>>2] = 0; + HEAP32[(22788)>>2] = 0; + HEAP32[(22776)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(22472)>>2]|0; + $129 = HEAP32[(22776)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(22472)>>2] = $130; - HEAP32[(22484)>>2] = $113; + HEAP32[(22776)>>2] = $130; + HEAP32[(22788)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -45895,10 +45866,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (22504 + ($142<<2)|0); + $143 = (22808 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(22480)>>2]|0; + $145 = HEAP32[(22784)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -45916,9 +45887,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5616]|0; + $153 = HEAP32[5692]|0; $154 = $153 & $152; - HEAP32[5616] = $154; + HEAP32[5692] = $154; break; } $155 = ($141|0)==($143|0); @@ -45926,7 +45897,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(22480)>>2]|0; + $156 = HEAP32[(22784)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -45986,7 +45957,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(22480)>>2]|0; + $189 = HEAP32[(22784)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -45999,7 +45970,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(22480)>>2]|0; + $169 = HEAP32[(22784)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -46030,7 +46001,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (22768 + ($193<<2)|0); + $194 = (23072 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -46040,13 +46011,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(22468)>>2]|0; + $199 = HEAP32[(22772)>>2]|0; $200 = $199 & $198; - HEAP32[(22468)>>2] = $200; + HEAP32[(22772)>>2] = $200; break L108; } } else { - $201 = HEAP32[(22480)>>2]|0; + $201 = HEAP32[(22784)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -46067,7 +46038,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(22480)>>2]|0; + $207 = HEAP32[(22784)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -46097,7 +46068,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(22480)>>2]|0; + $219 = HEAP32[(22784)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -46118,10 +46089,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(22484)>>2]|0; + $226 = HEAP32[(22788)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(22472)>>2] = $135; + HEAP32[(22776)>>2] = $135; return; } else { $$2 = $135; @@ -46140,20 +46111,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (22504 + ($234<<2)|0); - $236 = HEAP32[5616]|0; + $235 = (22808 + ($234<<2)|0); + $236 = HEAP32[5692]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5616] = $240; + HEAP32[5692] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(22480)>>2]|0; + $243 = HEAP32[(22784)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -46205,21 +46176,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (22768 + ($$0396<<2)|0); + $273 = (23072 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(22468)>>2]|0; + $277 = HEAP32[(22772)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(22468)>>2] = $281; + HEAP32[(22772)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -46257,7 +46228,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(22480)>>2]|0; + $300 = HEAP32[(22784)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -46276,7 +46247,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(22480)>>2]|0; + $307 = HEAP32[(22784)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -46298,12 +46269,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(22496)>>2]|0; + $314 = HEAP32[(22800)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(22496)>>2] = $315; + HEAP32[(22800)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (22920); + $$0212$in$i = (23224); } else { return; } @@ -46317,7 +46288,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(22496)>>2] = -1; + HEAP32[(22800)>>2] = -1; return; } function _realloc($0,$1) { @@ -46389,7 +46360,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(22480)>>2]|0; + $6 = HEAP32[(22784)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -46419,7 +46390,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(22944)>>2]|0; + $18 = HEAP32[(23248)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -46455,10 +46426,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(22488)>>2]|0; + $34 = HEAP32[(22792)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(22476)>>2]|0; + $36 = HEAP32[(22780)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -46474,15 +46445,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(22488)>>2] = $40; - HEAP32[(22476)>>2] = $39; + HEAP32[(22792)>>2] = $40; + HEAP32[(22780)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(22484)>>2]|0; + $46 = HEAP32[(22788)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(22472)>>2]|0; + $48 = HEAP32[(22776)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -46518,8 +46489,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(22472)>>2] = $storemerge1; - HEAP32[(22484)>>2] = $storemerge; + HEAP32[(22776)>>2] = $storemerge1; + HEAP32[(22788)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -46546,7 +46517,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (22504 + ($81<<2)|0); + $82 = (22808 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -46566,9 +46537,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5616]|0; + $91 = HEAP32[5692]|0; $92 = $91 & $90; - HEAP32[5616] = $92; + HEAP32[5692] = $92; break; } $93 = ($80|0)==($82|0); @@ -46677,7 +46648,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (22768 + ($128<<2)|0); + $129 = (23072 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -46687,13 +46658,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(22468)>>2]|0; + $134 = HEAP32[(22772)>>2]|0; $135 = $134 & $133; - HEAP32[(22468)>>2] = $135; + HEAP32[(22772)>>2] = $135; break L49; } } else { - $136 = HEAP32[(22480)>>2]|0; + $136 = HEAP32[(22784)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -46714,7 +46685,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(22480)>>2]|0; + $142 = HEAP32[(22784)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -46744,7 +46715,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(22480)>>2]|0; + $154 = HEAP32[(22784)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -46829,13 +46800,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(22480)>>2]|0; + $13 = HEAP32[(22784)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(22484)>>2]|0; + $15 = HEAP32[(22788)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -46850,7 +46821,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(22472)>>2] = $12; + HEAP32[(22776)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -46864,7 +46835,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (22504 + ($23<<2)|0); + $24 = (22808 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -46884,9 +46855,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5616]|0; + $33 = HEAP32[5692]|0; $34 = $33 & $32; - HEAP32[5616] = $34; + HEAP32[5692] = $34; $$1 = $11;$$1418 = $12; break; } @@ -47000,7 +46971,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (22768 + ($70<<2)|0); + $71 = (23072 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -47010,14 +46981,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(22468)>>2]|0; + $76 = HEAP32[(22772)>>2]|0; $77 = $76 & $75; - HEAP32[(22468)>>2] = $77; + HEAP32[(22772)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(22480)>>2]|0; + $78 = HEAP32[(22784)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -47039,7 +47010,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(22480)>>2]|0; + $84 = HEAP32[(22784)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -47071,7 +47042,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(22480)>>2]|0; + $96 = HEAP32[(22784)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -47090,7 +47061,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(22480)>>2]|0; + $108 = HEAP32[(22784)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -47101,14 +47072,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(22488)>>2]|0; + $114 = HEAP32[(22792)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(22484)>>2]|0; + $116 = HEAP32[(22788)>>2]|0; if ($115) { - $117 = HEAP32[(22476)>>2]|0; + $117 = HEAP32[(22780)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(22476)>>2] = $118; - HEAP32[(22488)>>2] = $$1; + HEAP32[(22780)>>2] = $118; + HEAP32[(22792)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -47116,16 +47087,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(22484)>>2] = 0; - HEAP32[(22472)>>2] = 0; + HEAP32[(22788)>>2] = 0; + HEAP32[(22776)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(22472)>>2]|0; + $123 = HEAP32[(22776)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(22472)>>2] = $124; - HEAP32[(22484)>>2] = $$1; + HEAP32[(22776)>>2] = $124; + HEAP32[(22788)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -47144,7 +47115,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (22504 + ($136<<2)|0); + $137 = (22808 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -47164,9 +47135,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5616]|0; + $146 = HEAP32[5692]|0; $147 = $146 & $145; - HEAP32[5616] = $147; + HEAP32[5692] = $147; break; } $148 = ($135|0)==($137|0); @@ -47275,7 +47246,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (22768 + ($183<<2)|0); + $184 = (23072 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -47285,13 +47256,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(22468)>>2]|0; + $189 = HEAP32[(22772)>>2]|0; $190 = $189 & $188; - HEAP32[(22468)>>2] = $190; + HEAP32[(22772)>>2] = $190; break L96; } } else { - $191 = HEAP32[(22480)>>2]|0; + $191 = HEAP32[(22784)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -47312,7 +47283,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(22480)>>2]|0; + $197 = HEAP32[(22784)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -47342,7 +47313,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(22480)>>2]|0; + $209 = HEAP32[(22784)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -47363,10 +47334,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(22484)>>2]|0; + $216 = HEAP32[(22788)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(22472)>>2] = $129; + HEAP32[(22776)>>2] = $129; return; } else { $$2 = $129; @@ -47385,20 +47356,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (22504 + ($224<<2)|0); - $226 = HEAP32[5616]|0; + $225 = (22808 + ($224<<2)|0); + $226 = HEAP32[5692]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5616] = $230; + HEAP32[5692] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(22480)>>2]|0; + $233 = HEAP32[(22784)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -47450,20 +47421,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (22768 + ($$0431<<2)|0); + $263 = (23072 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(22468)>>2]|0; + $267 = HEAP32[(22772)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(22468)>>2] = $271; + HEAP32[(22772)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -47502,7 +47473,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(22480)>>2]|0; + $290 = HEAP32[(22784)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -47520,7 +47491,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(22480)>>2]|0; + $297 = HEAP32[(22784)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/text/text_raylib_fonts.png b/docs/examples/web/text/text_raylib_fonts.png new file mode 100644 index 000000000..8f428a678 Binary files /dev/null and b/docs/examples/web/text/text_raylib_fonts.png differ diff --git a/docs/examples/web/text/text_rbmf_fonts.data b/docs/examples/web/text/text_rbmf_fonts.data deleted file mode 100644 index 44e4db957..000000000 Binary files a/docs/examples/web/text/text_rbmf_fonts.data and /dev/null differ diff --git a/docs/examples/web/text/text_sprite_fonts.js b/docs/examples/web/text/text_sprite_fonts.js index 734a1cabf..9ead4a190 100644 --- a/docs/examples/web/text/text_sprite_fonts.js +++ b/docs/examples/web/text/text_sprite_fonts.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 26597, "filename": "/resources/custom_mecha.png"}, {"audio": 0, "start": 26597, "crunched": 0, "end": 64532, "filename": "/resources/custom_alagard.png"}, {"audio": 0, "start": 64532, "crunched": 0, "end": 88128, "filename": "/resources/custom_jupiter_crash.png"}], "remote_package_size": 88128, "package_uuid": "f23aa7cd-cb55-4e89-b450-ef9161d47241"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 26597, "filename": "/resources/custom_mecha.png"}, {"audio": 0, "start": 26597, "crunched": 0, "end": 64532, "filename": "/resources/custom_alagard.png"}, {"audio": 0, "start": 64532, "crunched": 0, "end": 88128, "filename": "/resources/custom_jupiter_crash.png"}], "remote_package_size": 88128, "package_uuid": "ee9cd7bc-1414-494b-a47f-29899a0bf2b7"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 24800; +STATICTOP = STATIC_BASE + 24784; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,215,92,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,84,72,73,83,32,73,83,32,65,32,99,117,115,116,111,109,32,83,80,82,73,84,69,32,70,79,78,84,46,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,46,97,110,100,32,116,104,105,115,32,105,115,32,65,78,79,84,72,69,82,32,67,85,83,84,79,77,32,102,111,110,116,46,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,46,97,110,100,32,97,32,84,72,73,82,68,32,111,110,101,33,32,71,82,69,65,84,33,32,58,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,115,112,114,105,116,101,32,102,111,110,116,115,32,117,115,97,103,101,0,114,101,115,111,117,114,99,101,115,47,99,117,115,116,111,109,95,109,101,99,104,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,115,116,111,109,95,97,108,97,103,97,114,100,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,115,116,111,109,95,106,117,112,105,116,101,114,95,99,114,97,115,104,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,199,92,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,84,72,73,83,32,73,83,32,65,32,99,117,115,116,111,109,32,83,80,82,73,84,69,32,70,79,78,84,46,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,46,97,110,100,32,116,104,105,115,32,105,115,32,65,78,79,84,72,69,82,32,67,85,83,84,79,77,32,102,111,110,116,46,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,46,97,110,100,32,97,32,84,72,73,82,68,32,111,110,101,33,32,71,82,69,65,84,33,32,58,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,115,112,114,105,116,101,32,102,111,110,116,115,32,117,115,97,103,101,0,114,101,115,111,117,114,99,101,115,47,99,117,115,116,111,109,95,109,101,99,104,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,115,116,111,109,95,97,108,97,103,97,114,100,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,115,116,111,109,95,106,117,112,105,116,101,114,95,99,114,97,115,104,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10490,74 +10490,74 @@ function _main() { $7 = HEAP32[3]|0; _InitWindow($6,$7,4390); _LoadSpriteFont($0,4433); - ;HEAP32[19168>>2]=HEAP32[$0>>2]|0;HEAP32[19168+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[19168+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[19168+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[19168+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[19168+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[19168+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[19168+28>>2]=HEAP32[$0+28>>2]|0; + ;HEAP32[19472>>2]=HEAP32[$0>>2]|0;HEAP32[19472+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[19472+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[19472+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[19472+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[19472+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[19472+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[19472+28>>2]=HEAP32[$0+28>>2]|0; _LoadSpriteFont($1,4460); - ;HEAP32[19200>>2]=HEAP32[$1>>2]|0;HEAP32[19200+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19200+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19200+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19200+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[19200+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[19200+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[19200+28>>2]=HEAP32[$1+28>>2]|0; + ;HEAP32[19504>>2]=HEAP32[$1>>2]|0;HEAP32[19504+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19504+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19504+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19504+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[19504+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[19504+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[19504+28>>2]=HEAP32[$1+28>>2]|0; _LoadSpriteFont($2,4489); - ;HEAP32[19232>>2]=HEAP32[$2>>2]|0;HEAP32[19232+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[19232+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[19232+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[19232+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[19232+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[19232+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[19232+28>>2]=HEAP32[$2+28>>2]|0; + ;HEAP32[19536>>2]=HEAP32[$2>>2]|0;HEAP32[19536+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[19536+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[19536+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[19536+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[19536+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[19536+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[19536+28>>2]=HEAP32[$2+28>>2]|0; $8 = HEAP32[2]|0; $9 = (($8|0) / 2)&-1; $10 = (+($9|0)); - $11 = HEAP32[(19188)>>2]|0; + $11 = HEAP32[(19492)>>2]|0; $12 = (+($11|0)); - ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19168>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19168+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19168+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19168+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19168+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19168+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19168+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19168+28>>2]|0; + ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19472>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19472+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19472+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19472+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19472+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19472+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19472+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19472+28>>2]|0; _MeasureTextEx($3,$font3$byval_copy3,4240,$12,-3); $13 = +HEAPF32[$3>>2]; $14 = $13 * 0.5; $15 = $10 - $14; - HEAPF32[4816] = $15; + HEAPF32[4892] = $15; $16 = HEAP32[3]|0; $17 = (($16|0) / 2)&-1; - $18 = HEAP32[(19188)>>2]|0; + $18 = HEAP32[(19492)>>2]|0; $$neg = (($18|0) / -2)&-1; $19 = (($17) + -80)|0; $20 = (($19) + ($$neg))|0; $21 = (+($20|0)); - HEAPF32[(19268)>>2] = $21; + HEAPF32[(19572)>>2] = $21; $22 = HEAP32[2]|0; $23 = (($22|0) / 2)&-1; $24 = (+($23|0)); - $25 = HEAP32[(19220)>>2]|0; + $25 = HEAP32[(19524)>>2]|0; $26 = (+($25|0)); - ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19200>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19200+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19200+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19200+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19200+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19200+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19200+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19200+28>>2]|0; + ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19504>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19504+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19504+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19504+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19504+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19504+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19504+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19504+28>>2]|0; _MeasureTextEx($4,$font3$byval_copy3,4290,$26,-2); $27 = +HEAPF32[$4>>2]; $28 = $27 * 0.5; $29 = $24 - $28; - HEAPF32[4818] = $29; + HEAPF32[4894] = $29; $30 = HEAP32[3]|0; $31 = (($30|0) / 2)&-1; - $32 = HEAP32[(19220)>>2]|0; + $32 = HEAP32[(19524)>>2]|0; $$neg1 = (($32|0) / -2)&-1; $33 = (($31) + -10)|0; $34 = (($33) + ($$neg1))|0; $35 = (+($34|0)); - HEAPF32[(19276)>>2] = $35; + HEAPF32[(19580)>>2] = $35; $36 = HEAP32[2]|0; $37 = (($36|0) / 2)&-1; $38 = (+($37|0)); - $39 = HEAP32[(19252)>>2]|0; + $39 = HEAP32[(19556)>>2]|0; $40 = (+($39|0)); - ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19232>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19232+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19232+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19232+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19232+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19232+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19232+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19232+28>>2]|0; + ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19536>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19536+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19536+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19536+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19536+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19536+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19536+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19536+28>>2]|0; _MeasureTextEx($5,$font3$byval_copy3,4340,$40,2); $41 = +HEAPF32[$5>>2]; $42 = $41 * 0.5; $43 = $38 - $42; - HEAPF32[4820] = $43; + HEAPF32[4896] = $43; $44 = HEAP32[3]|0; $45 = (($44|0) / 2)&-1; - $46 = HEAP32[(19252)>>2]|0; + $46 = HEAP32[(19556)>>2]|0; $$neg2 = (($46|0) / -2)&-1; $47 = (($45) + 50)|0; $48 = (($47) + ($$neg2))|0; $49 = (+($48|0)); - HEAPF32[(19284)>>2] = $49; + HEAPF32[(19588)>>2] = $49; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19168>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19168+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19168+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19168+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19168+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19168+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19168+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19168+28>>2]|0; + ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19472>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19472+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19472+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19472+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19472+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19472+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19472+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19472+28>>2]|0; _UnloadSpriteFont($font3$byval_copy3); - ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19200>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19200+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19200+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19200+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19200+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19200+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19200+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19200+28>>2]|0; + ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19504>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19504+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19504+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19504+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19504+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19504+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19504+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19504+28>>2]|0; _UnloadSpriteFont($font3$byval_copy3); - ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19232>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19232+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19232+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19232+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19232+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19232+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19232+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19232+28>>2]|0; + ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19536>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19536+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19536+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19536+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19536+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19536+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19536+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19536+28>>2]|0; _UnloadSpriteFont($font3$byval_copy3); _CloseWindow(); STACKTOP = sp;return 0; @@ -10583,30 +10583,80 @@ function _UpdateDrawFrame() { HEAP8[$6>>0] = -1; ;HEAP8[$tmpcast2$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$tmpcast2$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$tmpcast2$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$tmpcast2$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; _ClearBackground($tmpcast2$byval_copy); - $7 = HEAP32[(19188)>>2]|0; + $7 = HEAP32[(19492)>>2]|0; $8 = (+($7|0)); HEAP32[$1>>2] = -1; - ;HEAP32[$font3$byval_copy>>2]=HEAP32[19168>>2]|0;HEAP32[$font3$byval_copy+4>>2]=HEAP32[19168+4>>2]|0;HEAP32[$font3$byval_copy+8>>2]=HEAP32[19168+8>>2]|0;HEAP32[$font3$byval_copy+12>>2]=HEAP32[19168+12>>2]|0;HEAP32[$font3$byval_copy+16>>2]=HEAP32[19168+16>>2]|0;HEAP32[$font3$byval_copy+20>>2]=HEAP32[19168+20>>2]|0;HEAP32[$font3$byval_copy+24>>2]=HEAP32[19168+24>>2]|0;HEAP32[$font3$byval_copy+28>>2]=HEAP32[19168+28>>2]|0; - ;HEAP32[$fontPosition3$byval_copy>>2]=HEAP32[19264>>2]|0;HEAP32[$fontPosition3$byval_copy+4>>2]=HEAP32[19264+4>>2]|0; + ;HEAP32[$font3$byval_copy>>2]=HEAP32[19472>>2]|0;HEAP32[$font3$byval_copy+4>>2]=HEAP32[19472+4>>2]|0;HEAP32[$font3$byval_copy+8>>2]=HEAP32[19472+8>>2]|0;HEAP32[$font3$byval_copy+12>>2]=HEAP32[19472+12>>2]|0;HEAP32[$font3$byval_copy+16>>2]=HEAP32[19472+16>>2]|0;HEAP32[$font3$byval_copy+20>>2]=HEAP32[19472+20>>2]|0;HEAP32[$font3$byval_copy+24>>2]=HEAP32[19472+24>>2]|0;HEAP32[$font3$byval_copy+28>>2]=HEAP32[19472+28>>2]|0; + ;HEAP32[$fontPosition3$byval_copy>>2]=HEAP32[19568>>2]|0;HEAP32[$fontPosition3$byval_copy+4>>2]=HEAP32[19568+4>>2]|0; ;HEAP8[$tmpcast2$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$tmpcast2$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$tmpcast2$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$tmpcast2$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; _DrawTextEx($font3$byval_copy,4240,$fontPosition3$byval_copy,$8,-3,$tmpcast2$byval_copy); - $9 = HEAP32[(19220)>>2]|0; + $9 = HEAP32[(19524)>>2]|0; $10 = (+($9|0)); HEAP32[$2>>2] = -1; - ;HEAP32[$font3$byval_copy>>2]=HEAP32[19200>>2]|0;HEAP32[$font3$byval_copy+4>>2]=HEAP32[19200+4>>2]|0;HEAP32[$font3$byval_copy+8>>2]=HEAP32[19200+8>>2]|0;HEAP32[$font3$byval_copy+12>>2]=HEAP32[19200+12>>2]|0;HEAP32[$font3$byval_copy+16>>2]=HEAP32[19200+16>>2]|0;HEAP32[$font3$byval_copy+20>>2]=HEAP32[19200+20>>2]|0;HEAP32[$font3$byval_copy+24>>2]=HEAP32[19200+24>>2]|0;HEAP32[$font3$byval_copy+28>>2]=HEAP32[19200+28>>2]|0; - ;HEAP32[$fontPosition3$byval_copy>>2]=HEAP32[19272>>2]|0;HEAP32[$fontPosition3$byval_copy+4>>2]=HEAP32[19272+4>>2]|0; + ;HEAP32[$font3$byval_copy>>2]=HEAP32[19504>>2]|0;HEAP32[$font3$byval_copy+4>>2]=HEAP32[19504+4>>2]|0;HEAP32[$font3$byval_copy+8>>2]=HEAP32[19504+8>>2]|0;HEAP32[$font3$byval_copy+12>>2]=HEAP32[19504+12>>2]|0;HEAP32[$font3$byval_copy+16>>2]=HEAP32[19504+16>>2]|0;HEAP32[$font3$byval_copy+20>>2]=HEAP32[19504+20>>2]|0;HEAP32[$font3$byval_copy+24>>2]=HEAP32[19504+24>>2]|0;HEAP32[$font3$byval_copy+28>>2]=HEAP32[19504+28>>2]|0; + ;HEAP32[$fontPosition3$byval_copy>>2]=HEAP32[19576>>2]|0;HEAP32[$fontPosition3$byval_copy+4>>2]=HEAP32[19576+4>>2]|0; ;HEAP8[$tmpcast2$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$tmpcast2$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$tmpcast2$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$tmpcast2$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; _DrawTextEx($font3$byval_copy,4290,$fontPosition3$byval_copy,$10,-2,$tmpcast2$byval_copy); - $11 = HEAP32[(19252)>>2]|0; + $11 = HEAP32[(19556)>>2]|0; $12 = (+($11|0)); HEAP32[$3>>2] = -1; - ;HEAP32[$font3$byval_copy>>2]=HEAP32[19232>>2]|0;HEAP32[$font3$byval_copy+4>>2]=HEAP32[19232+4>>2]|0;HEAP32[$font3$byval_copy+8>>2]=HEAP32[19232+8>>2]|0;HEAP32[$font3$byval_copy+12>>2]=HEAP32[19232+12>>2]|0;HEAP32[$font3$byval_copy+16>>2]=HEAP32[19232+16>>2]|0;HEAP32[$font3$byval_copy+20>>2]=HEAP32[19232+20>>2]|0;HEAP32[$font3$byval_copy+24>>2]=HEAP32[19232+24>>2]|0;HEAP32[$font3$byval_copy+28>>2]=HEAP32[19232+28>>2]|0; - ;HEAP32[$fontPosition3$byval_copy>>2]=HEAP32[19280>>2]|0;HEAP32[$fontPosition3$byval_copy+4>>2]=HEAP32[19280+4>>2]|0; + ;HEAP32[$font3$byval_copy>>2]=HEAP32[19536>>2]|0;HEAP32[$font3$byval_copy+4>>2]=HEAP32[19536+4>>2]|0;HEAP32[$font3$byval_copy+8>>2]=HEAP32[19536+8>>2]|0;HEAP32[$font3$byval_copy+12>>2]=HEAP32[19536+12>>2]|0;HEAP32[$font3$byval_copy+16>>2]=HEAP32[19536+16>>2]|0;HEAP32[$font3$byval_copy+20>>2]=HEAP32[19536+20>>2]|0;HEAP32[$font3$byval_copy+24>>2]=HEAP32[19536+24>>2]|0;HEAP32[$font3$byval_copy+28>>2]=HEAP32[19536+28>>2]|0; + ;HEAP32[$fontPosition3$byval_copy>>2]=HEAP32[19584>>2]|0;HEAP32[$fontPosition3$byval_copy+4>>2]=HEAP32[19584+4>>2]|0; ;HEAP8[$tmpcast2$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$tmpcast2$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$tmpcast2$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$tmpcast2$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; _DrawTextEx($font3$byval_copy,4340,$fontPosition3$byval_copy,$12,2,$tmpcast2$byval_copy); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10706,13 +10756,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11322,7 +11365,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4823] = $2; + HEAP32[4899] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11335,7 +11378,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 18896; + $95 = 19200; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11348,48 +11391,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 18936; + $106 = 19240; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4734]; - $111 = +HEAPF32[4724]; + $110 = +HEAPF32[4810]; + $111 = +HEAPF32[4800]; $112 = $110 - $111; - HEAPF32[4736] = $112; - $113 = +HEAPF32[(18940)>>2]; - $114 = +HEAPF32[(18900)>>2]; + HEAPF32[4812] = $112; + $113 = +HEAPF32[(19244)>>2]; + $114 = +HEAPF32[(19204)>>2]; $115 = $113 - $114; - HEAPF32[(18948)>>2] = $115; - HEAP32[4822] = 4; + HEAPF32[(19252)>>2] = $115; + HEAP32[4898] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18928+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18952>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18952+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19232>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19232+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19256>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19256+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4828] = $116; - $117 = 18928; + HEAPF32[4904] = $116; + $117 = 19232; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 18896; + $123 = 19200; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 18952; + $127 = 19256; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 18936; + $133 = 19240; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11402,7 +11445,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 18928; + $144 = 19232; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11415,27 +11458,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 18952; + $155 = 19256; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4738]; - $160 = +HEAPF32[4732]; + $159 = +HEAPF32[4814]; + $160 = +HEAPF32[4808]; $161 = $159 - $160; - HEAPF32[4736] = $161; - $162 = +HEAPF32[(18956)>>2]; - $163 = +HEAPF32[(18932)>>2]; + HEAPF32[4812] = $161; + $162 = +HEAPF32[(19260)>>2]; + $163 = +HEAPF32[(19236)>>2]; $164 = $162 - $163; - HEAPF32[(18948)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18896>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18896+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18928+4>>2]|0; + HEAPF32[(19252)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19200>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19200+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19232>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19232+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18936>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18936+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18952>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18952+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19240>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19240+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19256>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19256+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11447,31 +11490,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18928+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18952>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18952+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19232>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19232+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19256>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19256+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4828]; + $170 = +HEAPF32[4904]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4822] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18928+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18952>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18952+4>>2]|0; + HEAP32[4898] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19232>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19232+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19256>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19256+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4829] = $174; + HEAPF32[4905] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4828] = 0.0; - HEAPF32[4829] = 0.0; - HEAPF32[4736] = 0.0; - HEAPF32[(18948)>>2] = 0.0; - HEAP32[4823] = 0; - HEAP32[4822] = 0; + HEAPF32[4904] = 0.0; + HEAPF32[4905] = 0.0; + HEAPF32[4812] = 0.0; + HEAPF32[(19252)>>2] = 0.0; + HEAP32[4899] = 0; + HEAP32[4898] = 0; STACKTOP = sp;return; break; } @@ -11481,22 +11524,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4824]|0; + $6 = HEAP32[4900]|0; $7 = (($6) + 1)|0; - HEAP32[4824] = $7; - $8 = HEAP32[4822]|0; + HEAP32[4900] = $7; + $8 = HEAP32[4898]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18896>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18896+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19200>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19200+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4822] = 2; - HEAP32[4824] = 0; + HEAP32[4898] = 2; + HEAP32[4900] = 0; } else { label = 6; } @@ -11504,8 +11547,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4824] = 1; - HEAP32[4822] = 1; + HEAP32[4900] = 1; + HEAP32[4898] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11514,19 +11557,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 18896; + $21 = 19200; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 18904; + $25 = 19208; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 18912; + $29 = 19216; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11535,13 +11578,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4730] = 0.0; - HEAPF32[(18924)>>2] = 0.0; + HEAPF32[4806] = 0.0; + HEAPF32[(19228)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4822]|0; + $35 = HEAP32[4898]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11551,19 +11594,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 18912; + $44 = 19216; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18896>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18896+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18912>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18912+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19200>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19200+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19216>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19216+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4825] = $49; - HEAP32[4826] = 0; + HEAPF32[4901] = $49; + HEAP32[4902] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11571,11 +11614,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18896>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18896+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18912>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18912+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19200>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19200+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19216>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19216+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4827] = $56; + HEAPF32[4903] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11606,22 +11649,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4825] = 0.0; - HEAPF32[4827] = 0.0; + HEAPF32[4901] = 0.0; + HEAPF32[4903] = 0.0; $$sink10 = 0; } - HEAP32[4822] = $$sink10; - HEAPF32[4726] = 0.0; - HEAPF32[(18908)>>2] = 0.0; - HEAP32[4823] = 0; + HEAP32[4898] = $$sink10; + HEAPF32[4802] = 0.0; + HEAPF32[(19212)>>2] = 0.0; + HEAP32[4899] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4826]|0; + $65 = HEAP32[4902]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4826] = 1; + HEAP32[4902] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11630,31 +11673,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 18928; + $74 = 19232; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4822]|0; + $78 = HEAP32[4898]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18896>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18896+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18928+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19200>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19200+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19232>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19232+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4822] = 8; + HEAP32[4898] = 8; } } - $82 = +HEAPF32[4732]; - $83 = +HEAPF32[4726]; + $82 = +HEAPF32[4808]; + $83 = +HEAPF32[4802]; $84 = $82 - $83; - HEAPF32[4730] = $84; - $85 = +HEAPF32[(18932)>>2]; - $86 = +HEAPF32[(18908)>>2]; + HEAPF32[4806] = $84; + $85 = +HEAPF32[(19236)>>2]; + $86 = +HEAPF32[(19212)>>2]; $87 = $85 - $86; - HEAPF32[(18924)>>2] = $87; + HEAPF32[(19228)>>2] = $87; STACKTOP = sp;return; break; } @@ -11663,58 +11706,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4822]|0; + $0 = HEAP32[4898]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4823]|0; + $2 = HEAP32[4899]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4822] = 4; + HEAP32[4898] = 4; } - $4 = HEAP32[4822]|0; + $4 = HEAP32[4898]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11727,14 +11731,14 @@ function _UpdateGestures() { return; } } - HEAP32[4822] = 0; + HEAP32[4898] = 0; return; } function _GetMousePosition($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 = 18960; + $1 = 19264; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11751,13 +11755,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4832]|0; + $0 = HEAP32[4908]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4831]|0; + $0 = HEAP32[4907]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11769,7 +11773,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4524,$vararg_buffer); - HEAP32[4834] = $2; + HEAP32[4910] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11782,15 +11786,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4553|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4832]|0; + $3 = HEAP32[4908]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4740] = $5; - $6 = HEAP32[4831]|0; + HEAPF32[4816] = $5; + $6 = HEAP32[4907]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(18964)>>2] = $8; - $9 = HEAP32[4835]|0; + HEAPF32[(19268)>>2] = $8; + $9 = HEAP32[4911]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11809,11 +11813,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[19000>>0]=HEAP8[9082>>0]|0;HEAP8[19000+1>>0]=HEAP8[9082+1>>0]|0;HEAP8[19000+2>>0]=HEAP8[9082+2>>0]|0;HEAP8[19000+3>>0]=HEAP8[9082+3>>0]|0;HEAP8[19000+4>>0]=HEAP8[9082+4>>0]|0;HEAP8[19000+5>>0]=HEAP8[9082+5>>0]|0;HEAP8[19000+6>>0]=HEAP8[9082+6>>0]|0; + ;HEAP8[19304>>0]=HEAP8[9082>>0]|0;HEAP8[19304+1>>0]=HEAP8[9082+1>>0]|0;HEAP8[19304+2>>0]=HEAP8[9082+2>>0]|0;HEAP8[19304+3>>0]=HEAP8[9082+3>>0]|0;HEAP8[19304+4>>0]=HEAP8[9082+4>>0]|0;HEAP8[19304+5>>0]=HEAP8[9082+5>>0]|0;HEAP8[19304+6>>0]=HEAP8[9082+6>>0]|0; break; } case 1: { - $3 = 19000; + $3 = 19304; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11822,11 +11826,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=19000; src=9089; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=19304; src=9089; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 19000; + $7 = 19304; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11837,16 +11841,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(19000,$1)|0); - $strlen = (_strlen(19000)|0); - $endptr = (19000 + ($strlen)|0); + (_strcat(19304,$1)|0); + $strlen = (_strlen(19304)|0); + $endptr = (19304 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(19000,$2)|0); + (_vprintf(19304,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11878,22 +11882,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4832] = $0; - HEAP32[4831] = $1; + HEAP32[4908] = $0; + HEAP32[4907] = $1; _MatrixIdentity($2); - dest=19416; 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)); + dest=19720; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5224,$vararg_buffer); } - $6 = HEAP32[4832]|0; - HEAP32[4870] = $6; - $7 = HEAP32[4831]|0; - HEAP32[4871] = $7; + $6 = HEAP32[4908]|0; + HEAP32[4946] = $6; + $7 = HEAP32[4907]|0; + HEAP32[4947] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[22152]|0; + $8 = HEAP8[22456]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11901,13 +11905,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[22152]|0; + $11 = HEAP8[22456]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[22152]|0; + $14 = HEAP8[22456]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -11929,18 +11933,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4872]|0; + $21 = HEAP32[4948]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4832]|0; - $48 = HEAP32[4831]|0; - $49 = HEAP32[4834]|0; + $47 = HEAP32[4908]|0; + $48 = HEAP32[4907]|0; + $49 = HEAP32[4910]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4830] = $50; - $51 = HEAP32[4832]|0; - HEAP32[4873] = $51; - $52 = HEAP32[4831]|0; - HEAP32[4874] = $52; + HEAP32[4906] = $50; + $51 = HEAP32[4908]|0; + HEAP32[4949] = $51; + $52 = HEAP32[4907]|0; + HEAP32[4950] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11949,9 +11953,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4832]|0; + $27 = HEAP32[4908]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4831]|0; + $29 = HEAP32[4907]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -11973,25 +11977,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4870] = $31; - HEAP32[4871] = $34; + HEAP32[4946] = $31; + HEAP32[4947] = $34; } } while(0); - $38 = HEAP32[4870]|0; - $39 = HEAP32[4871]|0; + $38 = HEAP32[4946]|0; + $39 = HEAP32[4947]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5275,$vararg_buffer3); - $40 = HEAP32[4870]|0; - $41 = HEAP32[4871]|0; + $40 = HEAP32[4946]|0; + $41 = HEAP32[4947]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4870]|0; - $43 = HEAP32[4871]|0; - $44 = HEAP32[4834]|0; + $42 = HEAP32[4946]|0; + $43 = HEAP32[4947]|0; + $44 = HEAP32[4910]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4830] = $46; + HEAP32[4906] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12000,60 +12004,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5313,$vararg_buffer6); } else { _TraceLog(0,5346,$vararg_buffer8); - $55 = HEAP32[4873]|0; - $56 = HEAP32[4874]|0; + $55 = HEAP32[4949]|0; + $56 = HEAP32[4950]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5386,$vararg_buffer10); - $57 = HEAP32[4832]|0; - $58 = HEAP32[4831]|0; + $57 = HEAP32[4908]|0; + $58 = HEAP32[4907]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5407,$vararg_buffer14); - $59 = HEAP32[4875]|0; - $60 = HEAP32[4876]|0; + $59 = HEAP32[4951]|0; + $60 = HEAP32[4952]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5428,$vararg_buffer18); } - $61 = HEAP32[4830]|0; + $61 = HEAP32[4906]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4830]|0; + $62 = HEAP32[4906]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4830]|0; + $63 = HEAP32[4906]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4830]|0; + $64 = HEAP32[4906]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4830]|0; + $65 = HEAP32[4906]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4830]|0; + $66 = HEAP32[4906]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4830]|0; + $67 = HEAP32[4906]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4830]|0; + $68 = HEAP32[4906]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4830]|0; + $69 = HEAP32[4906]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[22152]|0; + $70 = HEAP8[22456]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4832]|0; - $74 = HEAP32[4831]|0; + $73 = HEAP32[4908]|0; + $74 = HEAP32[4907]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4873]|0; - $76 = HEAP32[4875]|0; + $75 = HEAP32[4949]|0; + $76 = HEAP32[4951]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4874]|0; - $80 = HEAP32[4876]|0; + $79 = HEAP32[4950]|0; + $80 = HEAP32[4952]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12072,18 +12076,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5453,$vararg_buffer22); - $73 = HEAP32[4832]|0; - $74 = HEAP32[4831]|0; + $73 = HEAP32[4908]|0; + $74 = HEAP32[4907]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4873]|0; - $76 = HEAP32[4875]|0; + $75 = HEAP32[4949]|0; + $76 = HEAP32[4951]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4874]|0; - $80 = HEAP32[4876]|0; + $79 = HEAP32[4950]|0; + $80 = HEAP32[4952]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12111,7 +12115,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(19384)>>2] = 224; + HEAP32[(19688)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12152,27 +12156,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[19360>>2]=HEAP32[$1>>2]|0;HEAP32[19360+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19360+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19360+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19360+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[19664>>2]=HEAP32[$1>>2]|0;HEAP32[19664+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19664+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19664+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19664+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(19384)>>2]|0; + $5 = HEAP32[(19688)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(19388)>>2] = $7; + HEAP32[(19692)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19380)>>2] = $23; - $24 = HEAP32[4840]|0; + HEAP32[(19684)>>2] = $23; + $24 = HEAP32[4916]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4748,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(19364)>>2]|0; - $10 = HEAP32[(19384)>>2]|0; - $11 = HEAP32[(19388)>>2]|0; + $9 = HEAP32[(19668)>>2]|0; + $10 = HEAP32[(19688)>>2]|0; + $11 = HEAP32[(19692)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12221,8 +12225,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19380)>>2] = $23; - $24 = HEAP32[4840]|0; + HEAP32[(19684)>>2] = $23; + $24 = HEAP32[4916]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4748,$vararg_buffer); STACKTOP = sp;return; @@ -12233,7 +12237,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2374] = $1; + HEAPF64[2412] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12392,7 +12396,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 18976; + $31 = 19280; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12405,7 +12409,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (18984); + $42 = (19288); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12461,7 +12465,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (19344 + ($10<<2)|0); + $11 = (19648 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12475,7 +12479,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2371] = $$; + HEAPF64[2409] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12487,7 +12491,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4835] = 0; + HEAP32[4911] = 0; return; } function _GetTime() { @@ -13063,7 +13067,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4848]|0; + $6 = HEAP32[4924]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13073,7 +13077,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4849]|0; + $9 = HEAP32[4925]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13082,7 +13086,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4850]|0; + $12 = HEAP32[4926]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13092,7 +13096,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4851]|0; + $15 = HEAP32[4927]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13102,7 +13106,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4852]|0; + $18 = HEAP32[4928]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13146,7 +13150,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4848]|0; + $22 = HEAP32[4924]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13154,7 +13158,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4848]|0; + $24 = HEAP32[4924]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13162,7 +13166,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4848]|0; + $26 = HEAP32[4924]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13170,7 +13174,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4848]|0; + $28 = HEAP32[4924]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13178,7 +13182,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4849]|0; + $30 = HEAP32[4925]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13186,7 +13190,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4850]|0; + $32 = HEAP32[4926]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13194,7 +13198,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4850]|0; + $34 = HEAP32[4926]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13202,7 +13206,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4851]|0; + $36 = HEAP32[4927]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13210,7 +13214,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4851]|0; + $38 = HEAP32[4927]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13218,7 +13222,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4852]|0; + $40 = HEAP32[4928]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13226,7 +13230,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4852]|0; + $42 = HEAP32[4928]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13238,7 +13242,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4853]|0; + $44 = HEAP32[4929]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13584,20 +13588,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4832]|0; + $3 = HEAP32[4908]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4831]|0; + $5 = HEAP32[4907]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4873] = $3; - HEAP32[4874] = $5; - HEAP32[4875] = 0; - HEAP32[4876] = 0; + HEAP32[4949] = $3; + HEAP32[4950] = $5; + HEAP32[4951] = 0; + HEAP32[4952] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13611,9 +13615,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4832]|0; + $35 = HEAP32[4908]|0; $36 = (+($35|0)); - $37 = HEAP32[4831]|0; + $37 = HEAP32[4907]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13621,26 +13625,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4873] = $45; - HEAP32[4874] = $37; + HEAP32[4949] = $45; + HEAP32[4950] = $37; $46 = (($45) - ($35))|0; - HEAP32[4875] = $46; + HEAP32[4951] = $46; $$sink1 = 0; } else { - HEAP32[4873] = $35; + HEAP32[4949] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4874] = $42; - HEAP32[4875] = 0; + HEAP32[4950] = $42; + HEAP32[4951] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4876] = $$sink1; + HEAP32[4952] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4831]|0; + $7 = HEAP32[4907]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13650,11 +13654,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8835,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4832]|0; + $9 = HEAP32[4908]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4831]|0; + $13 = HEAP32[4907]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13662,33 +13666,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4873] = $23; - HEAP32[4874] = $1; + HEAP32[4949] = $23; + HEAP32[4950] = $1; $24 = (($0) - ($23))|0; - HEAP32[4875] = $24; + HEAP32[4951] = $24; $$sink = 0; } else { - HEAP32[4873] = $0; - $17 = HEAP32[4831]|0; + HEAP32[4949] = $0; + $17 = HEAP32[4907]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4874] = $20; - HEAP32[4875] = 0; + HEAP32[4950] = $20; + HEAP32[4951] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4876] = $$sink; - $25 = HEAP32[4873]|0; + HEAP32[4952] = $$sink; + $25 = HEAP32[4949]|0; $26 = (+($25|0)); - $27 = HEAP32[4832]|0; + $27 = HEAP32[4908]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=19416; 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)); - HEAP32[4873] = $0; - HEAP32[4874] = $1; + dest=19720; 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)); + HEAP32[4949] = $0; + HEAP32[4950] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13710,10 +13714,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4832] = $1; - HEAP32[4831] = $2; - HEAP32[4873] = $1; - HEAP32[4874] = $2; + HEAP32[4908] = $1; + HEAP32[4907] = $2; + HEAP32[4949] = $1; + HEAP32[4950] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13740,7 +13744,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (22159 + ($1)|0); + $9 = (22463 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13761,7 +13765,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (22153 + ($1)|0); + $7 = (22457 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13840,7 +13844,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 18976; + $15 = 19280; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13875,7 +13879,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5246] = $3; + HEAP32[5322] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13885,7 +13889,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5245] = $$sink; + HEAP32[5321] = $$sink; return; } function _rlglInit($0,$1) { @@ -13966,18 +13970,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5585)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4911] = 1; + HEAP32[4987] = 1; $27 = (_eglGetProcAddress((5612|0))|0); - HEAP32[4912] = $27; + HEAP32[4988] = $27; $28 = (_eglGetProcAddress((5633|0))|0); - HEAP32[4913] = $28; + HEAP32[4989] = $28; $29 = (_eglGetProcAddress((5654|0))|0); - HEAP32[4914] = $29; + HEAP32[4990] = $29; } $30 = (_strcmp($24,5678)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4853] = 1; + HEAP32[4929] = 1; } $32 = (_strcmp($24,5698)|0); $33 = ($32|0)==(0); @@ -13999,7 +14003,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4848] = 1; + HEAP32[4924] = 1; } $39 = (_strcmp($24,5803)|0); $40 = ($39|0)==(0); @@ -14015,35 +14019,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4849] = 1; + HEAP32[4925] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5872)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4850] = 1; + HEAP32[4926] = 1; } $47 = (_strcmp($44,5897)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4851] = 1; + HEAP32[4927] = 1; } $49 = (_strcmp($44,5930)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4852] = 1; + HEAP32[4928] = 1; } $51 = (_strcmp($44,5966)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4915] = 1; - _glGetFloatv(34047,(19664|0)); + HEAP32[4991] = 1; + _glGetFloatv(34047,(19968|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,6000)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4917] = 1; + HEAP32[4993] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14054,61 +14058,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4911]|0; + $21 = HEAP32[4987]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,6103,$vararg_buffer15); } else { _TraceLog(0,6028,$vararg_buffer13); } - $57 = HEAP32[4853]|0; + $57 = HEAP32[4929]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6239,$vararg_buffer19); } else { _TraceLog(0,6164,$vararg_buffer17); } - $59 = HEAP32[4848]|0; + $59 = HEAP32[4924]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6331,$vararg_buffer21); } - $61 = HEAP32[4849]|0; + $61 = HEAP32[4925]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6377,$vararg_buffer23); } - $63 = HEAP32[4850]|0; + $63 = HEAP32[4926]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6424,$vararg_buffer25); } - $65 = HEAP32[4851]|0; + $65 = HEAP32[4927]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6475,$vararg_buffer27); } - $67 = HEAP32[4852]|0; + $67 = HEAP32[4928]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6522,$vararg_buffer29); } - $69 = HEAP32[4915]|0; + $69 = HEAP32[4991]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4916]; + $71 = +HEAPF32[4992]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6569,$vararg_buffer31); } - $73 = HEAP32[4917]|0; + $73 = HEAP32[4993]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6635,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4918] = $75; + HEAP32[4994] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6739,$vararg_buffer39); @@ -14117,14 +14121,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6688,$vararg_buffer36); } _LoadDefaultShader($2); - dest=19676; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19732; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19980; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20036; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4947] = $77; + HEAP32[5023] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4947]|0; + $79 = HEAP32[5023]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14137,7 +14141,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4948] = $78; + HEAP32[5024] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14152,48 +14156,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4949] = 1; - $85 = HEAP32[4918]|0; + HEAP32[5025] = 1; + $85 = HEAP32[4994]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4950] = 4; + HEAP32[5026] = 4; _MatrixIdentity($4); - dest=19804; src=$4; 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)); + dest=20108; src=$4; 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)); _MatrixIdentity($4); - dest=(19868); src=$4; 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)); + dest=(20172); src=$4; 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)); _MatrixIdentity($4); - dest=(19932); src=$4; 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)); + dest=(20236); src=$4; 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)); _MatrixIdentity($4); - dest=(19996); src=$4; 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)); + dest=(20300); src=$4; 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)); _MatrixIdentity($4); - dest=(20060); src=$4; 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)); + dest=(20364); src=$4; 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)); _MatrixIdentity($4); - dest=(20124); src=$4; 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)); + dest=(20428); src=$4; 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)); _MatrixIdentity($4); - dest=(20188); src=$4; 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)); + dest=(20492); src=$4; 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)); _MatrixIdentity($4); - dest=(20252); src=$4; 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)); + dest=(20556); src=$4; 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)); _MatrixIdentity($4); - dest=(20316); src=$4; 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)); + dest=(20620); src=$4; 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)); _MatrixIdentity($4); - dest=(20380); src=$4; 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)); + dest=(20684); src=$4; 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)); _MatrixIdentity($4); - dest=(20444); src=$4; 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)); + dest=(20748); src=$4; 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)); _MatrixIdentity($4); - dest=(20508); src=$4; 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)); + dest=(20812); src=$4; 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)); _MatrixIdentity($4); - dest=(20572); src=$4; 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)); + dest=(20876); src=$4; 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)); _MatrixIdentity($4); - dest=(20636); src=$4; 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)); + dest=(20940); src=$4; 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)); _MatrixIdentity($4); - dest=(20700); src=$4; 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)); + dest=(21004); src=$4; 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)); _MatrixIdentity($4); - dest=(20764); src=$4; 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)); + dest=(21068); src=$4; 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)); _MatrixIdentity($5); - dest=19512; src=$5; 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)); + dest=19816; src=$5; 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)); _MatrixIdentity($6); - dest=19576; src=$6; 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)); - HEAP32[4877] = 19576; + dest=19880; src=$6; 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)); + HEAP32[4953] = 19880; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14204,21 +14208,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5207] = $0; - HEAP32[5208] = $1; + HEAP32[5283] = $0; + HEAP32[5284] = $1; _TraceLog(0,6778,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4875]|0; + $0 = HEAP32[4951]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4876]|0; + $2 = HEAP32[4952]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4873]|0; + $4 = HEAP32[4949]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4874]|0; + $6 = HEAP32[4950]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14229,12 +14233,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 19512; + $modelview$sink = 19816; label = 3; break; } case 5888: { - $modelview$sink = 19576; + $modelview$sink = 19880; label = 3; break; } @@ -14242,9 +14246,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4877] = $modelview$sink; + HEAP32[4953] = $modelview$sink; } - HEAP32[4910] = $0; + HEAP32[4986] = $0; return; } function _rlLoadIdentity() { @@ -14252,7 +14256,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4877]|0; + $1 = HEAP32[4953]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14273,7 +14277,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4877]|0; + $8 = HEAP32[4953]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14370,15 +14374,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(20848)>>2] = $0; + HEAP32[(21152)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(20856)>>2] = $1; - HEAP32[(20852)>>2] = 0; - HEAP32[(20860)>>2] = 0; + HEAP32[(21160)>>2] = $1; + HEAP32[(21156)>>2] = 0; + HEAP32[(21164)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(20856)>>2]|0; + $2 = HEAP32[(21160)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14389,19 +14393,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5209] = 0; - HEAP32[(20844)>>2] = 0; - HEAP32[(20840)>>2] = 0; + HEAP32[5285] = 0; + HEAP32[(21148)>>2] = 0; + HEAP32[(21144)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(20896)>>2] = $5; + HEAP32[(21200)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(20904)>>2] = $6; - HEAP32[(20900)>>2] = 0; - HEAP32[(20908)>>2] = 0; + HEAP32[(21208)>>2] = $6; + HEAP32[(21204)>>2] = 0; + HEAP32[(21212)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(20904)>>2]|0; + $7 = HEAP32[(21208)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14412,24 +14416,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5221] = 0; - HEAP32[(20892)>>2] = 0; - HEAP32[(20888)>>2] = 0; + HEAP32[5297] = 0; + HEAP32[(21196)>>2] = 0; + HEAP32[(21192)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(20944)>>2] = $10; + HEAP32[(21248)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(20948)>>2] = $11; + HEAP32[(21252)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(20952)>>2] = $12; + HEAP32[(21256)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(20956)>>2] = $13; - $14 = HEAP32[(20944)>>2]|0; + HEAP32[(21260)>>2] = $13; + $14 = HEAP32[(21248)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(20948)>>2]|0; + $15 = HEAP32[(21252)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(20952)>>2]|0; + $17 = HEAP32[(21256)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14440,7 +14444,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(20956)>>2]|0; + $16 = HEAP32[(21260)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14477,140 +14481,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5233] = 0; - HEAP32[(20936)>>2] = 0; - HEAP32[(20940)>>2] = 0; + HEAP32[5309] = 0; + HEAP32[(21240)>>2] = 0; + HEAP32[(21244)>>2] = 0; _TraceLog(0,6825,$vararg_buffer); - $20 = HEAP32[4911]|0; + $20 = HEAP32[4987]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4912]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(20864)); - $44 = HEAP32[4913]|0; - $45 = HEAP32[(20864)>>2]|0; + $43 = HEAP32[4988]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(21168)); + $44 = HEAP32[4989]|0; + $45 = HEAP32[(21168)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((20868)|0)); - $46 = HEAP32[(20868)>>2]|0; + _glGenBuffers(2,((21172)|0)); + $46 = HEAP32[(21172)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(20848)>>2]|0; + $47 = HEAP32[(21152)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(19736)>>2]|0; + $48 = HEAP32[(20040)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(19736)>>2]|0; + $49 = HEAP32[(20040)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((20872)|0)); - $50 = HEAP32[(20872)>>2]|0; + _glGenBuffers(2,((21176)|0)); + $50 = HEAP32[(21176)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(20856)>>2]|0; + $51 = HEAP32[(21160)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(19756)>>2]|0; + $52 = HEAP32[(20060)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(19756)>>2]|0; + $53 = HEAP32[(20060)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4911]|0; + $54 = HEAP32[4987]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(20868)>>2]|0; - $58 = HEAP32[(20872)>>2]|0; + $57 = HEAP32[(21172)>>2]|0; + $58 = HEAP32[(21176)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6963,$vararg_buffer3); } else { - $56 = HEAP32[(20864)>>2]|0; + $56 = HEAP32[(21168)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6898,$vararg_buffer1); } - $59 = HEAP32[4911]|0; + $59 = HEAP32[4987]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4912]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(20912)); - $62 = HEAP32[4913]|0; - $63 = HEAP32[(20912)>>2]|0; + $61 = HEAP32[4988]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(21216)); + $62 = HEAP32[4989]|0; + $63 = HEAP32[(21216)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((20916)|0)); - $64 = HEAP32[(20916)>>2]|0; + _glGenBuffers(1,((21220)|0)); + $64 = HEAP32[(21220)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(20896)>>2]|0; + $65 = HEAP32[(21200)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(19736)>>2]|0; + $66 = HEAP32[(20040)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(19736)>>2]|0; + $67 = HEAP32[(20040)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20920)|0)); - $68 = HEAP32[(20920)>>2]|0; + _glGenBuffers(1,((21224)|0)); + $68 = HEAP32[(21224)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(20904)>>2]|0; + $69 = HEAP32[(21208)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(19756)>>2]|0; + $70 = HEAP32[(20060)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(19756)>>2]|0; + $71 = HEAP32[(20060)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4911]|0; + $72 = HEAP32[4987]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(20916)>>2]|0; - $76 = HEAP32[(20920)>>2]|0; + $75 = HEAP32[(21220)>>2]|0; + $76 = HEAP32[(21224)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,7109,$vararg_buffer10); } else { - $74 = HEAP32[(20912)>>2]|0; + $74 = HEAP32[(21216)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,7040,$vararg_buffer7); } - $77 = HEAP32[4911]|0; + $77 = HEAP32[4987]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4912]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(20960)); - $80 = HEAP32[4913]|0; - $81 = HEAP32[(20960)>>2]|0; + $79 = HEAP32[4988]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(21264)); + $80 = HEAP32[4989]|0; + $81 = HEAP32[(21264)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((20964)|0)); - $82 = HEAP32[(20964)>>2]|0; + _glGenBuffers(1,((21268)|0)); + $82 = HEAP32[(21268)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(20944)>>2]|0; + $83 = HEAP32[(21248)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(19736)>>2]|0; + $84 = HEAP32[(20040)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(19736)>>2]|0; + $85 = HEAP32[(20040)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20968)|0)); - $86 = HEAP32[(20968)>>2]|0; + _glGenBuffers(1,((21272)|0)); + $86 = HEAP32[(21272)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(20948)>>2]|0; + $87 = HEAP32[(21252)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(19740)>>2]|0; + $88 = HEAP32[(20044)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(19740)>>2]|0; + $89 = HEAP32[(20044)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((20972)|0)); - $90 = HEAP32[(20972)>>2]|0; + _glGenBuffers(1,((21276)|0)); + $90 = HEAP32[(21276)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(20952)>>2]|0; + $91 = HEAP32[(21256)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(19756)>>2]|0; + $92 = HEAP32[(20060)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(19756)>>2]|0; + $93 = HEAP32[(20060)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((20976)|0)); - $94 = HEAP32[(20976)>>2]|0; + _glGenBuffers(1,((21280)|0)); + $94 = HEAP32[(21280)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(20956)>>2]|0; + $95 = HEAP32[(21260)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4911]|0; + $96 = HEAP32[4987]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(20964)>>2]|0; - $100 = HEAP32[(20968)>>2]|0; - $101 = HEAP32[(20972)>>2]|0; - $102 = HEAP32[(20976)>>2]|0; + $99 = HEAP32[(21268)>>2]|0; + $100 = HEAP32[(21272)>>2]|0; + $101 = HEAP32[(21276)>>2]|0; + $102 = HEAP32[(21280)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14620,16 +14624,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7255,$vararg_buffer17); } else { - $98 = HEAP32[(20960)>>2]|0; + $98 = HEAP32[(21264)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7190,$vararg_buffer14); } - $103 = HEAP32[4911]|0; + $103 = HEAP32[4987]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4913]|0; + $105 = HEAP32[4989]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14810,9 +14814,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22153 + ($0)|0); + $1 = (22457 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22156 + ($0)|0); + $3 = (22460 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14824,9 +14828,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22153 + ($0)|0); + $1 = (22457 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22156 + ($0)|0); + $3 = (22460 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14847,7 +14851,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4830]|0; + $0 = HEAP32[4906]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,9099,$vararg_buffer); @@ -14858,9 +14862,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[19360>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19360+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19360+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19360+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19360+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[19664>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19664+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19664+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19664+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19664+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(19388)>>2]|0; + $0 = HEAP32[(19692)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14871,11 +14875,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(19672|0)); - $0 = HEAP32[4918]|0; + _glDeleteTextures(1,(19976|0)); + $0 = HEAP32[4994]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9126,$vararg_buffer); - $1 = HEAP32[4948]|0; + $1 = HEAP32[5024]|0; _free($1); STACKTOP = sp;return; } @@ -14883,17 +14887,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4919]|0; + $0 = HEAP32[4995]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4911]|0; + $0 = HEAP32[4987]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4913]|0; + $2 = HEAP32[4989]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14902,39 +14906,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((20868)|0)); - _glDeleteBuffers(1,((20872)|0)); - _glDeleteBuffers(1,((20916)|0)); - _glDeleteBuffers(1,((20920)|0)); - _glDeleteBuffers(1,((20964)|0)); - _glDeleteBuffers(1,((20968)|0)); - _glDeleteBuffers(1,((20972)|0)); - _glDeleteBuffers(1,((20976)|0)); - $3 = HEAP32[4911]|0; + _glDeleteBuffers(1,((21172)|0)); + _glDeleteBuffers(1,((21176)|0)); + _glDeleteBuffers(1,((21220)|0)); + _glDeleteBuffers(1,((21224)|0)); + _glDeleteBuffers(1,((21268)|0)); + _glDeleteBuffers(1,((21272)|0)); + _glDeleteBuffers(1,((21276)|0)); + _glDeleteBuffers(1,((21280)|0)); + $3 = HEAP32[4987]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4914]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(20864)); - $6 = HEAP32[4914]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(20912)); - $7 = HEAP32[4914]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(20960)); + $5 = HEAP32[4990]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(21168)); + $6 = HEAP32[4990]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(21216)); + $7 = HEAP32[4990]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(21264)); } - $8 = HEAP32[(20848)>>2]|0; + $8 = HEAP32[(21152)>>2]|0; _free($8); - $9 = HEAP32[(20856)>>2]|0; + $9 = HEAP32[(21160)>>2]|0; _free($9); - $10 = HEAP32[(20896)>>2]|0; + $10 = HEAP32[(21200)>>2]|0; _free($10); - $11 = HEAP32[(20904)>>2]|0; + $11 = HEAP32[(21208)>>2]|0; _free($11); - $12 = HEAP32[(20944)>>2]|0; + $12 = HEAP32[(21248)>>2]|0; _free($12); - $13 = HEAP32[(20948)>>2]|0; + $13 = HEAP32[(21252)>>2]|0; _free($13); - $14 = HEAP32[(20952)>>2]|0; + $14 = HEAP32[(21256)>>2]|0; _free($14); - $15 = HEAP32[(20956)>>2]|0; + $15 = HEAP32[(21260)>>2]|0; _free($15); return; } @@ -14974,16 +14978,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2391] = $0; - $1 = +HEAPF64[2374]; + HEAPF64[2429] = $0; + $1 = +HEAPF64[2412]; $2 = $0 - $1; - HEAPF64[2392] = $2; - HEAPF64[2374] = $0; + HEAPF64[2430] = $2; + HEAPF64[2412] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=19416; 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)); + dest=$downscaleView$byval_copy; src=19720; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20988); + _rlMultMatrixf(21292); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -14992,53 +14996,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[5247] = $1; + HEAP32[5323] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(20992)>>2] = $3; + HEAP32[(21296)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(20996)>>2] = $5; + HEAP32[(21300)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(21000)>>2] = $7; + HEAP32[(21304)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(21004)>>2] = $9; + HEAP32[(21308)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(21008)>>2] = $11; + HEAP32[(21312)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(21012)>>2] = $13; + HEAP32[(21316)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(21016)>>2] = $15; + HEAP32[(21320)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(21020)>>2] = $17; + HEAP32[(21324)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(21024)>>2] = $19; + HEAP32[(21328)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(21028)>>2] = $21; + HEAP32[(21332)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(21032)>>2] = $23; + HEAP32[(21336)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(21036)>>2] = $25; + HEAP32[(21340)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(21040)>>2] = $27; + HEAP32[(21344)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(21044)>>2] = $29; + HEAP32[(21348)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(21048)>>2] = $31; - return (20988|0); + HEAP32[(21352)>>2] = $31; + return (21292|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15113,7 +15117,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4877]|0; + $49 = HEAP32[4953]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15127,15 +15131,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2391] = $0; - $1 = +HEAPF64[2374]; + HEAPF64[2429] = $0; + $1 = +HEAPF64[2412]; $2 = $0 - $1; - HEAPF64[2393] = $2; - HEAPF64[2374] = $0; - $3 = +HEAPF64[2392]; + HEAPF64[2431] = $2; + HEAPF64[2412] = $0; + $3 = +HEAPF64[2430]; $4 = $2 + $3; - HEAPF64[2394] = $4; - $5 = +HEAPF64[2371]; + HEAPF64[2432] = $4; + $5 = +HEAPF64[2409]; $6 = $4 < $5; if (!($6)) { return; @@ -15145,13 +15149,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2391] = $10; - $11 = +HEAPF64[2374]; + HEAPF64[2429] = $10; + $11 = +HEAPF64[2412]; $12 = $10 - $11; - HEAPF64[2374] = $10; - $13 = +HEAPF64[2394]; + HEAPF64[2412] = $10; + $13 = +HEAPF64[2432]; $14 = $12 + $13; - HEAPF64[2394] = $14; + HEAPF64[2432] = $14; return; } function _rlglDraw() { @@ -15164,7 +15168,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4830]|0; + $0 = HEAP32[4906]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15180,20 +15184,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[5263] = 0; - $3 = HEAP32[4830]|0; + HEAP32[5339] = 0; + $3 = HEAP32[4906]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4740] = $5; + HEAPF32[4816] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(18964)>>2] = $7; - _memcpy((22671|0),(22159|0),512)|0; - ;HEAP8[22156>>0]=HEAP8[22153>>0]|0;HEAP8[22156+1>>0]=HEAP8[22153+1>>0]|0;HEAP8[22156+2>>0]=HEAP8[22153+2>>0]|0; - $8 = HEAP32[5246]|0; - HEAP32[4833] = $8; - HEAP32[5246] = 0; + HEAPF32[(19268)>>2] = $7; + _memcpy((22975|0),(22463|0),512)|0; + ;HEAP8[22460>>0]=HEAP8[22457>>0]|0;HEAP8[22460+1>>0]=HEAP8[22457+1>>0]|0;HEAP8[22460+2>>0]=HEAP8[22457+2>>0]|0; + $8 = HEAP32[5322]|0; + HEAP32[4909] = $8; + HEAP32[5322] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15203,8 +15207,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (23183 + ($$05160<<5)|0); - $scevgep67 = (23311 + ($$05160<<5)|0); + $scevgep = (23487 + ($$05160<<5)|0); + $scevgep67 = (23615 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15218,7 +15222,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((23311 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((23615 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15245,7 +15249,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((21056 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((21360 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15261,7 +15265,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5263] = $$lcssa; + HEAP32[5339] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15302,87 +15306,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5209]|0; + $0 = HEAP32[5285]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4911]|0; + $2 = HEAP32[4987]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4913]|0; - $5 = HEAP32[(20864)>>2]|0; + $4 = HEAP32[4989]|0; + $5 = HEAP32[(21168)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(20868)>>2]|0; + $6 = HEAP32[(21172)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5209]|0; + $7 = HEAP32[5285]|0; $8 = ($7*12)|0; - $9 = HEAP32[(20848)>>2]|0; + $9 = HEAP32[(21152)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(20872)>>2]|0; + $10 = HEAP32[(21176)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(20844)>>2]|0; + $11 = HEAP32[(21148)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(20856)>>2]|0; + $13 = HEAP32[(21160)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5221]|0; + $14 = HEAP32[5297]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4911]|0; + $16 = HEAP32[4987]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4913]|0; - $19 = HEAP32[(20912)>>2]|0; + $18 = HEAP32[4989]|0; + $19 = HEAP32[(21216)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(20916)>>2]|0; + $20 = HEAP32[(21220)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5221]|0; + $21 = HEAP32[5297]|0; $22 = ($21*12)|0; - $23 = HEAP32[(20896)>>2]|0; + $23 = HEAP32[(21200)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(20920)>>2]|0; + $24 = HEAP32[(21224)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(20892)>>2]|0; + $25 = HEAP32[(21196)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(20904)>>2]|0; + $27 = HEAP32[(21208)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5233]|0; + $28 = HEAP32[5309]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4911]|0; + $30 = HEAP32[4987]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4913]|0; - $33 = HEAP32[(20960)>>2]|0; + $32 = HEAP32[4989]|0; + $33 = HEAP32[(21264)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(20964)>>2]|0; + $34 = HEAP32[(21268)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5233]|0; + $35 = HEAP32[5309]|0; $36 = ($35*12)|0; - $37 = HEAP32[(20944)>>2]|0; + $37 = HEAP32[(21248)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(20968)>>2]|0; + $38 = HEAP32[(21272)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5233]|0; + $39 = HEAP32[5309]|0; $40 = $39 << 3; - $41 = HEAP32[(20948)>>2]|0; + $41 = HEAP32[(21252)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(20972)>>2]|0; + $42 = HEAP32[(21276)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5233]|0; + $43 = HEAP32[5309]|0; $44 = $43 << 2; - $45 = HEAP32[(20952)>>2]|0; + $45 = HEAP32[(21256)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4911]|0; + $46 = HEAP32[4987]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4913]|0; + $48 = HEAP32[4989]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15400,9 +15404,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=19512; 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)); - dest=$1; src=19576; 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)); - $3 = HEAP32[5296]|0; + dest=$0; src=19816; 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)); + dest=$1; src=19880; 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)); + $3 = HEAP32[5372]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15412,134 +15416,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5209]|0; + $8 = HEAP32[5285]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5221]|0; + $10 = HEAP32[5297]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5233]|0; + $12 = HEAP32[5309]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4933]|0; + $14 = HEAP32[5009]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=19576; 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)); - dest=$$byval_copy2; src=19512; 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)); + dest=$modelview$byval_copy; src=19880; 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)); + dest=$$byval_copy2; src=19816; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(19760)>>2]|0; + $15 = HEAP32[(20064)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(19764)>>2]|0; + $17 = HEAP32[(20068)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(19776)>>2]|0; + $18 = HEAP32[(20080)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5209]|0; + $19 = HEAP32[5285]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4918]|0; + $21 = HEAP32[4994]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4911]|0; + $22 = HEAP32[4987]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(20868)>>2]|0; + $26 = HEAP32[(21172)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(19736)>>2]|0; + $27 = HEAP32[(20040)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(19736)>>2]|0; + $28 = HEAP32[(20040)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(20872)>>2]|0; + $29 = HEAP32[(21176)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(19756)>>2]|0; + $30 = HEAP32[(20060)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(19756)>>2]|0; + $31 = HEAP32[(20060)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4913]|0; - $25 = HEAP32[(20864)>>2]|0; + $24 = HEAP32[4989]|0; + $25 = HEAP32[(21168)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5209]|0; + $32 = HEAP32[5285]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4911]|0; + $33 = HEAP32[4987]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5221]|0; + $35 = HEAP32[5297]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4918]|0; + $37 = HEAP32[4994]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4911]|0; + $38 = HEAP32[4987]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(20916)>>2]|0; + $42 = HEAP32[(21220)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(19736)>>2]|0; + $43 = HEAP32[(20040)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(19736)>>2]|0; + $44 = HEAP32[(20040)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(20920)>>2]|0; + $45 = HEAP32[(21224)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(19756)>>2]|0; + $46 = HEAP32[(20060)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(19756)>>2]|0; + $47 = HEAP32[(20060)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4913]|0; - $41 = HEAP32[(20912)>>2]|0; + $40 = HEAP32[4989]|0; + $41 = HEAP32[(21216)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5221]|0; + $48 = HEAP32[5297]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4911]|0; + $49 = HEAP32[4987]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5233]|0; + $51 = HEAP32[5309]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4911]|0; + $53 = HEAP32[4987]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(20964)>>2]|0; + $57 = HEAP32[(21268)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(19736)>>2]|0; + $58 = HEAP32[(20040)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(19736)>>2]|0; + $59 = HEAP32[(20040)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(20968)>>2]|0; + $60 = HEAP32[(21272)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(19740)>>2]|0; + $61 = HEAP32[(20044)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(19740)>>2]|0; + $62 = HEAP32[(20044)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(20972)>>2]|0; + $63 = HEAP32[(21276)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(19756)>>2]|0; + $64 = HEAP32[(20060)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(19756)>>2]|0; + $65 = HEAP32[(20060)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(20976)>>2]|0; + $66 = HEAP32[(21280)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4913]|0; - $56 = HEAP32[(20960)>>2]|0; + $55 = HEAP32[4989]|0; + $56 = HEAP32[(21264)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4949]|0; + $67 = HEAP32[5025]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4948]|0; + $71 = HEAP32[5024]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15550,14 +15554,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4948]|0; + $80 = HEAP32[5024]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4949]|0; + $87 = HEAP32[5025]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15566,7 +15570,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4911]|0; + $69 = HEAP32[4987]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15574,10 +15578,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4911]|0; + $89 = HEAP32[4987]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4913]|0; + $91 = HEAP32[4989]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15589,22 +15593,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4949] = 1; - $5 = HEAP32[4918]|0; - $6 = HEAP32[4948]|0; + HEAP32[5025] = 1; + $5 = HEAP32[4994]|0; + $6 = HEAP32[5024]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5209] = 0; - HEAP32[(20844)>>2] = 0; - HEAP32[5221] = 0; - HEAP32[(20892)>>2] = 0; - HEAP32[5233] = 0; - HEAP32[(20936)>>2] = 0; - HEAP32[(20940)>>2] = 0; + HEAP32[5285] = 0; + HEAP32[(21148)>>2] = 0; + HEAP32[5297] = 0; + HEAP32[(21196)>>2] = 0; + HEAP32[5309] = 0; + HEAP32[(21240)>>2] = 0; + HEAP32[(21244)>>2] = 0; HEAPF32[744] = -1.0; - dest=19512; src=$0; 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)); - dest=19576; src=$1; 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)); + dest=19816; src=$0; 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)); + dest=19880; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15619,17 +15623,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[5207]|0; + $5 = HEAP32[5283]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5208]|0; + $9 = HEAP32[5284]|0; _rlViewport($7,0,$8,$9); - $10 = (21416 + ($0<<6)|0); + $10 = (21720 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (21288 + ($0<<6)|0); + $11 = (21592 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -15641,14 +15645,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19576; src=$0; 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)); + dest=19880; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19512; src=$0; 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)); + dest=19816; src=$0; 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)); return; } function _rlPushMatrix() { @@ -15656,43 +15660,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5386]|0; + $0 = HEAP32[5462]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9241,$vararg_buffer); } - $2 = HEAP32[5386]|0; - $3 = (19804 + ($2<<6)|0); - $4 = HEAP32[4877]|0; + $2 = HEAP32[5462]|0; + $3 = (20108 + ($2<<6)|0); + $4 = HEAP32[4953]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[5386]|0; + $5 = HEAP32[5462]|0; $6 = (($5) + 1)|0; - HEAP32[5386] = $6; - $7 = HEAP32[4910]|0; + HEAP32[5462] = $6; + $7 = HEAP32[4986]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5387] = 1; + HEAP32[5463] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5386]|0; + $0 = HEAP32[5462]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5386]|0; + $2 = HEAP32[5462]|0; $3 = (($2) + -1)|0; - $4 = (19804 + ($3<<6)|0); - $5 = HEAP32[4877]|0; + $4 = (20108 + ($3<<6)|0); + $5 = HEAP32[4953]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5386] = $6; + HEAP32[5462] = $6; return; } function _IsFileExtension($0,$1) { @@ -15725,7 +15729,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4877]|0; + $5 = HEAP32[4953]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15758,7 +15762,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4877]|0; + $11 = HEAP32[4953]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15769,7 +15773,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4950] = $0; + HEAP32[5026] = $0; return; } function _rlEnd() { @@ -15785,21 +15789,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5387]|0; + $0 = HEAP32[5463]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5388]|0; + $2 = HEAP32[5464]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4947]|0; + $6 = HEAP32[5023]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4877]|0; + $8 = HEAP32[4953]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5388]|0; + $5 = HEAP32[5464]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15807,12 +15811,12 @@ function _rlEnd() { break; } } - HEAP32[5387] = 0; + HEAP32[5463] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4947]|0; + $11 = HEAP32[5023]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15821,7 +15825,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5388]|0; + $19 = HEAP32[5464]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15831,15 +15835,15 @@ function _rlEnd() { } } } else { - HEAP32[5387] = 0; + HEAP32[5463] = 0; } - HEAP32[5388] = 0; + HEAP32[5464] = 0; } - $21 = HEAP32[4950]|0; + $21 = HEAP32[5026]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5209]|0; - $23 = HEAP32[(20844)>>2]|0; + $22 = HEAP32[5285]|0; + $23 = HEAP32[(21148)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15858,16 +15862,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(20856)>>2]|0; - $28 = HEAP32[(20844)>>2]|0; + $27 = HEAP32[(21160)>>2]|0; + $28 = HEAP32[(21148)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(20856)>>2]|0; - $35 = HEAP32[(20844)>>2]|0; + $34 = HEAP32[(21160)>>2]|0; + $35 = HEAP32[(21148)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15875,8 +15879,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(20856)>>2]|0; - $43 = HEAP32[(20844)>>2]|0; + $42 = HEAP32[(21160)>>2]|0; + $43 = HEAP32[(21148)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15884,8 +15888,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(20856)>>2]|0; - $51 = HEAP32[(20844)>>2]|0; + $50 = HEAP32[(21160)>>2]|0; + $51 = HEAP32[(21148)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15893,9 +15897,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(20844)>>2]|0; + $58 = HEAP32[(21148)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(20844)>>2] = $59; + HEAP32[(21148)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15911,8 +15915,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5221]|0; - $62 = HEAP32[(20892)>>2]|0; + $61 = HEAP32[5297]|0; + $62 = HEAP32[(21196)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15931,16 +15935,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(20904)>>2]|0; - $67 = HEAP32[(20892)>>2]|0; + $66 = HEAP32[(21208)>>2]|0; + $67 = HEAP32[(21196)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(20904)>>2]|0; - $74 = HEAP32[(20892)>>2]|0; + $73 = HEAP32[(21208)>>2]|0; + $74 = HEAP32[(21196)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15948,8 +15952,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(20904)>>2]|0; - $82 = HEAP32[(20892)>>2]|0; + $81 = HEAP32[(21208)>>2]|0; + $82 = HEAP32[(21196)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15957,8 +15961,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(20904)>>2]|0; - $90 = HEAP32[(20892)>>2]|0; + $89 = HEAP32[(21208)>>2]|0; + $90 = HEAP32[(21196)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15966,9 +15970,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(20892)>>2]|0; + $97 = HEAP32[(21196)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(20892)>>2] = $98; + HEAP32[(21196)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -15984,8 +15988,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5233]|0; - $101 = HEAP32[(20940)>>2]|0; + $100 = HEAP32[5309]|0; + $101 = HEAP32[(21244)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -15993,16 +15997,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(20952)>>2]|0; - $106 = HEAP32[(20940)>>2]|0; + $105 = HEAP32[(21256)>>2]|0; + $106 = HEAP32[(21244)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(20952)>>2]|0; - $113 = HEAP32[(20940)>>2]|0; + $112 = HEAP32[(21256)>>2]|0; + $113 = HEAP32[(21244)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16010,8 +16014,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(20952)>>2]|0; - $121 = HEAP32[(20940)>>2]|0; + $120 = HEAP32[(21256)>>2]|0; + $121 = HEAP32[(21244)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16019,8 +16023,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(20952)>>2]|0; - $129 = HEAP32[(20940)>>2]|0; + $128 = HEAP32[(21256)>>2]|0; + $129 = HEAP32[(21244)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16028,9 +16032,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(20940)>>2]|0; + $136 = HEAP32[(21244)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(20940)>>2] = $137; + HEAP32[(21244)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16041,8 +16045,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5233]|0; - $140 = HEAP32[(20936)>>2]|0; + $139 = HEAP32[5309]|0; + $140 = HEAP32[(21240)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16050,8 +16054,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(20948)>>2]|0; - $$promoted = HEAP32[(20936)>>2]|0; + $142 = HEAP32[(21252)>>2]|0; + $$promoted = HEAP32[(21240)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16059,7 +16063,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(20936)>>2] = $147; + HEAP32[(21240)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16086,11 +16090,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5387]|0; + $3 = HEAP32[5463]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4947]|0; - $6 = HEAP32[5388]|0; + $5 = HEAP32[5023]|0; + $6 = HEAP32[5464]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16098,16 +16102,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5388] = $10; + HEAP32[5464] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4950]|0; + $11 = HEAP32[5026]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5209]|0; + $12 = HEAP32[5285]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(20848)>>2]|0; + $14 = HEAP32[(21152)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16118,7 +16122,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5209] = $21; + HEAP32[5285] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9279,$vararg_buffer); @@ -16127,10 +16131,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[5221]|0; + $22 = HEAP32[5297]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(20896)>>2]|0; + $24 = HEAP32[(21200)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16141,7 +16145,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5221] = $31; + HEAP32[5297] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9304,$vararg_buffer1); @@ -16150,10 +16154,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[5233]|0; + $32 = HEAP32[5309]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(20944)>>2]|0; + $34 = HEAP32[(21248)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16164,9 +16168,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5233] = $41; - $42 = HEAP32[4948]|0; - $43 = HEAP32[4949]|0; + HEAP32[5309] = $41; + $42 = HEAP32[5024]|0; + $43 = HEAP32[5025]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16198,13 +16202,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4950]|0; + $2 = HEAP32[5026]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(20948)>>2]|0; - $5 = HEAP32[(20936)>>2]|0; + $4 = HEAP32[(21252)>>2]|0; + $5 = HEAP32[(21240)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16212,7 +16216,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(20936)>>2] = $10; + HEAP32[(21240)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16231,18 +16235,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4950]|0; + $4 = HEAP32[5026]|0; switch ($4|0) { case 1: { - $$sink37 = (20844);$$sink38 = (20856); + $$sink37 = (21148);$$sink38 = (21160); break; } case 4: { - $$sink37 = (20892);$$sink38 = (20904); + $$sink37 = (21196);$$sink38 = (21208); break; } case 7: { - $$sink37 = (20940);$$sink38 = (20952); + $$sink37 = (21244);$$sink38 = (21256); break; } default: { @@ -16281,8 +16285,8 @@ function _rlEnableTexture($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 = HEAP32[4948]|0; - $2 = HEAP32[4949]|0; + $1 = HEAP32[5024]|0; + $2 = HEAP32[5025]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16295,9 +16299,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4949] = $10; + HEAP32[5025] = $10; } - $11 = HEAP32[4949]|0; + $11 = HEAP32[5025]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16308,7 +16312,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5233]|0; + $0 = HEAP32[5309]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16331,7 +16335,7 @@ function _rlTextureParameters($0,$1,$2) { switch ($1|0) { case 10243: case 10242: { $3 = ($2|0)!=(34626); - $4 = HEAP32[4917]|0; + $4 = HEAP32[4993]|0; $5 = ($4|0)!=(0); $or$cond = $3 | $5; if ($or$cond) { @@ -16349,7 +16353,7 @@ function _rlTextureParameters($0,$1,$2) { } case 12288: { $6 = (+($2|0)); - $7 = +HEAPF32[4916]; + $7 = +HEAPF32[4992]; $8 = !($6 <= $7); if (!($8)) { _glTexParameterf(3553,34046,(+$6)); @@ -16377,40 +16381,11 @@ function _rlTextureParameters($0,$1,$2) { _glBindTexture(3553,0); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9493); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,12130)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5389] = $0; + HEAP32[5465] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16474,7 +16449,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9505|0),(9531|0),1125,(9554|0)); + ___assert_fail((9493|0),(9519|0),1041,(9542|0)); // unreachable; } } @@ -16492,7 +16467,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5390]|0; + $15 = HEAP32[5466]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16585,7 +16560,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9595); + _stbi__err(9583); $$0 = 0; return ($$0|0); } else { @@ -16607,7 +16582,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9586); + _stbi__err(9574); $$0 = 0; return ($$0|0); } @@ -16677,7 +16652,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9614); + _stbi__err(9602); $$045 = 0; return ($$045|0); } @@ -17238,7 +17213,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9928 + ($120)|0); + $121 = (9916 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17280,97 +17255,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9702); + _stbi__err(9690); $$6$ph = 0; break; } case 9: { - _stbi__err(9716); + _stbi__err(9704); $$6$ph = 0; break; } case 11: { - _stbi__err(9729); + _stbi__err(9717); $$6$ph = 0; break; } case 13: { - _stbi__err(9729); + _stbi__err(9717); $$6$ph = 0; break; } case 15: { - _stbi__err(9739); + _stbi__err(9727); $$6$ph = 0; break; } case 17: { - _stbi__err(9759); + _stbi__err(9747); $$6$ph = 0; break; } case 20: { - _stbi__err(9759); + _stbi__err(9747); $$6$ph = 0; break; } case 22: { - _stbi__err(9759); + _stbi__err(9747); $$6$ph = 0; break; } case 24: { - _stbi__err(9769); + _stbi__err(9757); $$6$ph = 0; break; } case 26: { - _stbi__err(9785); + _stbi__err(9773); $$6$ph = 0; break; } case 28: { - _stbi__err(9803); + _stbi__err(9791); $$6$ph = 0; break; } case 31: { - _stbi__err(9824); + _stbi__err(9812); $$6$ph = 0; break; } case 34: { - _stbi__err(9729); + _stbi__err(9717); $$6$ph = 0; break; } case 37: { - _stbi__err(9729); + _stbi__err(9717); $$6$ph = 0; break; } case 39: { - _stbi__err(9838); + _stbi__err(9826); $$6$ph = 0; break; } case 41: { - _stbi__err(9853); + _stbi__err(9841); $$6$ph = 0; break; } case 44: { - _stbi__err(9853); + _stbi__err(9841); $$6$ph = 0; break; } case 47: { - _stbi__err(9838); + _stbi__err(9826); $$6$ph = 0; break; } case 49: { - _stbi__err(9866); + _stbi__err(9854); $$6$ph = 0; break; } @@ -17381,32 +17356,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9882); + _stbi__err(9870); $$6$ph = 0; break; } case 58: { - _stbi__err(9899); + _stbi__err(9887); $$6$ph = 0; break; } case 61: { - _stbi__err(9912); + _stbi__err(9900); $$6$ph = 0; break; } case 63: { - _stbi__err(9899); + _stbi__err(9887); $$6$ph = 0; break; } case 70: { - _stbi__err(9838); + _stbi__err(9826); $$6$ph = 0; break; } case 72: { - _stbi__err(9937); + _stbi__err(9925); $$6$ph = 0; break; } @@ -17418,12 +17393,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9586); + _stbi__err(9574); $$6$ph = 0; break; } case 83: { - _stbi__err(9945); + _stbi__err(9933); $$6$ph = 0; break; } @@ -17436,7 +17411,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9955); + _stbi__err(9943); $$4 = 0; break; } @@ -17501,7 +17476,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5391]|0; + $193 = HEAP32[5467]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17534,7 +17509,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9838); + _stbi__err(9826); $$4 = 0; } } while(0); @@ -17542,24 +17517,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9838); + _stbi__err(9826); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9963] = $206; + HEAP8[9951] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9964)>>0] = $209; + HEAP8[(9952)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9965)>>0] = $211; + HEAP8[(9953)>>0] = $211; $212 = $207&255; - HEAP8[(9966)>>0] = $212; - _stbi__err(9963); + HEAP8[(9954)>>0] = $212; + _stbi__err(9951); $$6$ph = 0; break; } @@ -17593,14 +17568,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9627|0),(9531|0),1561,(9681|0)); + ___assert_fail((9615|0),(9519|0),1477,(9669|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9586); + _stbi__err(9574); $$0163 = 0; return ($$0163|0); } @@ -17963,7 +17938,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((12767|0),(9531|0),1590,(9681|0)); + ___assert_fail((13075|0),(9519|0),1506,(9669|0)); // unreachable; } } while(0); @@ -17997,7 +17972,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9627|0),(9531|0),1610,(9658|0)); + ___assert_fail((9615|0),(9519|0),1526,(9646|0)); // unreachable; } $7 = $2 << 1; @@ -18007,7 +17982,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9586); + _stbi__err(9574); $$0163 = 0; return ($$0163|0); } @@ -18370,7 +18345,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((12767|0),(9531|0),1639,(9658|0)); + ___assert_fail((13075|0),(9519|0),1555,(9646|0)); // unreachable; } } while(0); @@ -18518,7 +18493,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10620); + _stbi__err(10928); $$05 = 0; return ($$05|0); } @@ -18955,7 +18930,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10022|0),(9531|0),4568,(10074|0)); + ___assert_fail((10010|0),(9519|0),4569,(10062|0)); // unreachable; } } @@ -19042,7 +19017,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10022|0),(9531|0),4543,(10047|0)); + ___assert_fail((10010|0),(9519|0),4544,(10035|0)); // unreachable; } } @@ -19089,7 +19064,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5392]|0; + $16 = HEAP32[5468]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19164,7 +19139,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9988|0),(9531|0),4649,(10006|0)); + ___assert_fail((9976|0),(9519|0),4650,(9994|0)); // unreachable; } } @@ -19187,7 +19162,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9586); + _stbi__err(9574); $$0 = 0; return ($$0|0); } @@ -19364,7 +19339,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10103|0),(9531|0),4294,(10144|0)); + ___assert_fail((10091|0),(9519|0),4294,(10132|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19372,7 +19347,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9586); + _stbi__err(9574); $$2 = 0; return ($$2|0); } @@ -19391,7 +19366,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10171); + _stbi__err(10159); $$2 = 0; return ($$2|0); } @@ -19404,7 +19379,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10171); + _stbi__err(10159); $$2 = 0; return ($$2|0); } @@ -19412,12 +19387,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19440,33 +19415,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10210 + ($56)|0); + $60 = (10198 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19476,24 +19451,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19503,10 +19478,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19517,10 +19492,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19531,14 +19506,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19568,7 +19543,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19583,12 +19558,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20165,15 +20140,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10189|0),(9531|0),4315,(10144|0)); + ___assert_fail((10177|0),(9519|0),4315,(10132|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10215|0),(9531|0),4376,(10144|0)); + ___assert_fail((10203|0),(9519|0),4377,(10132|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10232); + _stbi__err(10220); $$2 = 0; return ($$2|0); } @@ -20223,7 +20198,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9928 + ($6)|0); + $336 = (9916 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20664,7 +20639,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10247|0),(9531|0),4465,(10144|0)); + ___assert_fail((10235|0),(9519|0),4466,(10132|0)); // unreachable; } else if ((label|0) == 151) { @@ -20724,8 +20699,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20740,15 +20715,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20757,65 +20732,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(23470)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10246,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,23471,288)|0); + $15 = (_stbi__zbuild_huffman($8,10534,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,23439,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20834,14 +20804,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10573); + _stbi__err(10881); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10589); + _stbi__err(10897); $$0 = 0; return ($$0|0); } @@ -20850,7 +20820,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10604); + _stbi__err(10912); $$0 = 0; return ($$0|0); } @@ -20933,7 +20903,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10495|0),(9531|0),4048,(10512|0)); + ___assert_fail((10803|0),(9519|0),4033,(10820|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -20970,7 +20940,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10543); + _stbi__err(10851); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20980,7 +20950,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10556); + _stbi__err(10864); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21010,21 +20980,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((23471|0),8,144)|0; - dest=(23615); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(23727); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (23751); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=23439; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21158,7 +21113,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10433); + _stbi__err(10741); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21247,7 +21202,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10485); + _stbi__err(10793); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21276,7 +21231,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11270 + ($$06579)|0); + $14 = (11578 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21367,21 +21322,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10433); + _stbi__err(10741); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10433); + _stbi__err(10741); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10449|0),(9531|0),4021,(10457|0)); + ___assert_fail((10757|0),(9519|0),4006,(10765|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10433); + _stbi__err(10741); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21391,7 +21346,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10433); + _stbi__err(10741); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21555,7 +21510,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10258); + _stbi__err(10566); $$3$ph = 0; return ($$3$ph|0); } @@ -21565,12 +21520,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10258); + _stbi__err(10566); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10275); + _stbi__err(10583); $$3$ph = 0; return ($$3$ph|0); } @@ -21627,7 +21582,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10284); + _stbi__err(10592); $$0 = 0; return ($$0|0); } @@ -21653,7 +21608,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9586); + _stbi__err(9574); $$0 = 0; return ($$0|0); } else { @@ -21698,7 +21653,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10380|0),(9531|0),3863,(10417|0)); + ___assert_fail((10688|0),(9519|0),3848,(10725|0)); // unreachable; } else if ((label|0) == 5) { @@ -21746,7 +21701,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10304|0),(9531|0),3891,(10320|0)); + ___assert_fail((10612|0),(9519|0),3876,(10628|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21774,7 +21729,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10351|0),(9531|0),3781,(10362|0)); + ___assert_fail((10659|0),(9519|0),3766,(10670|0)); // unreachable; } return (0)|0; @@ -21920,10 +21875,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -21934,27 +21889,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,11457)|0); + $6 = (_IsFileExtension($1,11765)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10679)|0); + $19 = (_IsFileExtension($1,10987)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10684,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10992,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,12438)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -21982,7 +21938,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -21999,18 +21955,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10632,$vararg_buffer); + _TraceLog(2,10940,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -22019,34 +21975,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10720,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,11028,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10759,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11067,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22065,11 +22028,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,12130)|0); + $4 = (_fopen($0,12438)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10818,$vararg_buffer); + _TraceLog(2,11126,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22168,7 +22131,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10915,$vararg_buffer4); + _TraceLog(0,11223,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22203,14 +22166,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10961,$vararg_buffer8); + _TraceLog(2,11269,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10869,$vararg_buffer1); + _TraceLog(2,11177,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22300,7 +22263,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10790,$vararg_buffer); + _TraceLog(2,11098,$vararg_buffer); $$0 = $6; } } @@ -22345,27 +22308,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11011,$vararg_buffer); + _TraceLog(2,11319,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11050,$vararg_buffer1); + _TraceLog(2,11358,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11076,$vararg_buffer3); + _TraceLog(2,11384,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11139,$vararg_buffer5); + _TraceLog(2,11447,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11174,$vararg_buffer7); + _TraceLog(2,11482,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11209,$vararg_buffer10); + _TraceLog(0,11517,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23548,7 +23511,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11266 + ($$361133)|0); + $199 = (11574 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -23978,7 +23941,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11266 + ($$331130)|0); + $186 = (11574 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -24016,7 +23979,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11266 + ($$371134)|0); + $203 = (11574 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24055,7 +24018,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11270 + ($$421139)|0); + $235 = (11578 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24462,7 +24425,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11289 + ($495)|0); + $496 = (11597 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24499,7 +24462,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11293 + ($515)|0); + $516 = (11601 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25425,7 +25388,7 @@ function _ImageAlphaMask($0,$1) { $14 = HEAP32[$13>>2]|0; $15 = ($14|0)>(7); if ($15) { - _TraceLog(2,11335,$vararg_buffer1); + _TraceLog(2,11643,$vararg_buffer1); STACKTOP = sp;return; } ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$1+16>>2]|0; @@ -25516,14 +25479,14 @@ function _ImageAlphaMask($0,$1) { STACKTOP = sp;return; } } - _TraceLog(2,11297,$vararg_buffer); + _TraceLog(2,11605,$vararg_buffer); STACKTOP = sp;return; } function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[19360>>2]|0;HEAP32[$0+4>>2]=HEAP32[19360+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19360+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19360+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19360+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19360+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19360+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19360+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[19664>>2]|0;HEAP32[$0+4>>2]=HEAP32[19664+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19664+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19664+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19664+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19664+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19664+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19664+28>>2]|0; return; } function _MeasureTextEx($0,$1,$2,$3,$4) { @@ -25717,7 +25680,7 @@ function _SetTextureFilter($0,$1) { STACKTOP = sp;return; } else { HEAP32[$vararg_buffer>>2] = $17; - _TraceLog(2,11392,$vararg_buffer); + _TraceLog(2,11700,$vararg_buffer); $19 = HEAP32[$0>>2]|0; _rlTextureParameters($19,10241,9729); _rlTextureParameters($19,10240,9729); @@ -25902,18 +25865,18 @@ function _LoadSpriteFont($0,$1) { $8 = sp + 64|0; $9 = sp + 8|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;HEAP32[$2+28>>2]=0|0; - $10 = (_IsFileExtension($1,11457)|0); + $10 = (_IsFileExtension($1,11765)|0); $11 = ($10|0)==(0); do { if ($11) { - $35 = (_IsFileExtension($1,11463)|0); + $35 = (_IsFileExtension($1,11771)|0); $36 = ($35|0)==(0); if (!($36)) { _LoadSpriteFontTTF($4,$1,32,0,0); ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$4+28>>2]|0; break; } - $37 = (_IsFileExtension($1,11468)|0); + $37 = (_IsFileExtension($1,11776)|0); $38 = ($37|0)==(0); if (!($38)) { _LoadBMFont($5,$1); @@ -25981,7 +25944,7 @@ function _LoadSpriteFont($0,$1) { $45 = ($44|0)==(0); if ($45) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11473,$vararg_buffer); + _TraceLog(2,11781,$vararg_buffer); _GetDefaultFont($9); ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$9+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$9+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$9+28>>2]|0; ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; @@ -26009,7 +25972,7 @@ function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { $6 = sp + 40|0; $7 = sp + 8|0; ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0;HEAP32[$$sroa$8+24>>2]=0|0; - $8 = (_IsFileExtension($1,11463)|0); + $8 = (_IsFileExtension($1,11771)|0); $9 = ($8|0)==(0); if (!($9)) { $10 = ($4|0)==(0|0); @@ -26052,7 +26015,7 @@ function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { } } HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,12017,$vararg_buffer); + _TraceLog(2,12325,$vararg_buffer); _GetDefaultFont($7); $$sroa$0$0$copyload17 = HEAP32[$7>>2]|0; $$sroa$8$0$$sroa_idx26 = ((($7)) + 4|0); @@ -26101,17 +26064,17 @@ function _LoadBMFont($0,$1) { ;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;HEAP32[$2+28>>2]=0|0; HEAP32[$4>>2] = 0; HEAP32[$8>>2] = 0; - $15 = (_fopen($1,11615)|0); + $15 = (_fopen($1,11923)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11618,$vararg_buffer); + _TraceLog(2,11926,$vararg_buffer); ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; STACKTOP = sp;return; } (_fgets($3,256,$15)|0); (_fgets($3,256,$15)|0); - $17 = (_strstr($3,11652)|0); + $17 = (_strstr($3,11960)|0); HEAP32[$vararg_buffer1>>2] = $4; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $9; @@ -26119,12 +26082,12 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr5>>2] = $5; $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); HEAP32[$vararg_ptr6>>2] = $6; - (_sscanf($17,11663,$vararg_buffer1)|0); + (_sscanf($17,11971,$vararg_buffer1)|0); $18 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $18; - _TraceLog(3,11705,$vararg_buffer7); + _TraceLog(3,12013,$vararg_buffer7); $19 = HEAP32[$5>>2]|0; $20 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer11>>2] = $1; @@ -26132,24 +26095,24 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr14>>2] = $19; $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr15>>2] = $20; - _TraceLog(3,11724,$vararg_buffer11); + _TraceLog(3,12032,$vararg_buffer11); (_fgets($3,256,$15)|0); - $21 = (_strstr($3,11755)|0); + $21 = (_strstr($3,12063)|0); HEAP32[$vararg_buffer16>>2] = $7; - (_sscanf($21,11760,$vararg_buffer16)|0); + (_sscanf($21,12068,$vararg_buffer16)|0); HEAP32[$vararg_buffer19>>2] = $1; $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); HEAP32[$vararg_ptr22>>2] = $7; - _TraceLog(3,11776,$vararg_buffer19); + _TraceLog(3,12084,$vararg_buffer19); (_fgets($3,256,$15)|0); - $22 = (_strstr($3,11807)|0); + $22 = (_strstr($3,12115)|0); HEAP32[$vararg_buffer23>>2] = $8; - (_sscanf($22,11813,$vararg_buffer23)|0); + (_sscanf($22,12121,$vararg_buffer23)|0); $23 = HEAP32[$8>>2]|0; HEAP32[$vararg_buffer26>>2] = $1; $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); HEAP32[$vararg_ptr29>>2] = $23; - _TraceLog(3,11822,$vararg_buffer26); + _TraceLog(3,12130,$vararg_buffer26); $24 = (_strrchr($1,47)|0); $25 = (_strlen($1)|0); $26 = (_strlen($24)|0); @@ -26169,7 +26132,7 @@ function _LoadBMFont($0,$1) { HEAP32[$$byval_copy52>>2] = $1; $vararg_ptr33 = ((($$byval_copy52)) + 4|0); HEAP32[$vararg_ptr33>>2] = $31; - _TraceLog(3,11846,$$byval_copy52); + _TraceLog(3,12154,$$byval_copy52); _LoadImage($vararg_buffer26,$31); $37 = ((($vararg_buffer26)) + 16|0); $38 = HEAP32[$37>>2]|0; @@ -26247,7 +26210,7 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr42>>2] = $12; $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); HEAP32[$vararg_ptr43>>2] = $13; - (_sscanf($3,11881,$vararg_buffer34)|0); + (_sscanf($3,12189,$vararg_buffer34)|0); $64 = HEAP32[$vararg_buffer23>>2]|0; $65 = HEAP32[$59>>2]|0; $66 = (($65) + ($$05355<<5)|0); @@ -26297,7 +26260,7 @@ function _LoadBMFont($0,$1) { ;HEAP32[$2>>2]=HEAP32[$14>>2]|0;HEAP32[$2+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$14+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$14+28>>2]|0; } else { HEAP32[$vararg_buffer44>>2] = $1; - _TraceLog(0,11955,$vararg_buffer44); + _TraceLog(0,12263,$vararg_buffer44); } ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; STACKTOP = sp;return; @@ -26594,7 +26557,7 @@ function _LoadImageFont($0,$1,$2) { } else { $$0201$lcssa = 0; } - _TraceLog(3,11529,$vararg_buffer); + _TraceLog(3,11837,$vararg_buffer); $145 = HEAP32[$7>>2]|0; $146 = HEAP32[$63>>2]|0; $147 = Math_imul($146, $145)|0; @@ -26657,7 +26620,7 @@ function _LoadImageFont($0,$1,$2) { } else { $175 = ((($156)) + 16|0); $176 = HEAP32[$175>>2]|0; - _TraceLog(0,11573,$vararg_buffer1); + _TraceLog(0,11881,$vararg_buffer1); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; @@ -26691,7 +26654,7 @@ function _LoadImageFont($0,$1,$2) { } $175 = ((($156)) + 16|0); $176 = HEAP32[$175>>2]|0; - _TraceLog(0,11573,$vararg_buffer1); + _TraceLog(0,11881,$vararg_buffer1); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; @@ -26721,7 +26684,7 @@ function _UnloadSpriteFont($0) { $5 = ((($0)) + 28|0); $6 = HEAP32[$5>>2]|0; _free($6); - _TraceLog(3,11991,$vararg_buffer); + _TraceLog(3,12299,$vararg_buffer); STACKTOP = sp;return; } function _LoadTTF($0,$1,$2,$3,$4) { @@ -26760,18 +26723,18 @@ function _LoadTTF($0,$1,$2,$3,$4) { HEAP32[$$byval_copy9>>2] = $18; $vararg_ptr1 = ((($$byval_copy9)) + 4|0); HEAP32[$vararg_ptr1>>2] = $18; - _TraceLog(0,12076,$$byval_copy9); + _TraceLog(0,12384,$$byval_copy9); $19 = (_malloc(16777216)|0); $20 = Math_imul($18, $18)|0; $21 = (_malloc($20)|0); $22 = ($3*20)|0; $23 = (_malloc($22)|0); ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; - $24 = (_fopen($1,12130)|0); + $24 = (_fopen($1,12438)|0); $25 = ($24|0)==(0|0); if ($25) { HEAP32[$vararg_buffer2>>2] = $1; - _TraceLog(2,12133,$vararg_buffer2); + _TraceLog(2,12441,$vararg_buffer2); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$6$0$$sroa_idx49 = ((($0)) + 20|0); HEAP32[$$sroa$6$0$$sroa_idx49>>2] = 0; @@ -26785,13 +26748,13 @@ function _LoadTTF($0,$1,$2,$3,$4) { $26 = HEAP32[$4>>2]|0; $27 = ($26|0)==(32); if (!($27)) { - _TraceLog(2,12167,$vararg_buffer5); + _TraceLog(2,12475,$vararg_buffer5); } $28 = HEAP32[$4>>2]|0; $29 = (_stbtt_BakeFontBitmap($19,$7,$21,$18,$18,$28,$3,$23)|0); $30 = ($29|0)<(0); if ($30) { - _TraceLog(2,12234,$vararg_buffer7); + _TraceLog(2,12542,$vararg_buffer7); } _free($19); $31 = $20 << 1; @@ -27029,7 +26992,7 @@ function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 8) { - ___assert_fail((12297|0),(12307|0),3273,(12333|0)); + ___assert_fail((12605|0),(12615|0),3274,(12641|0)); // unreachable; } else if ((label|0) == 11) { @@ -27132,7 +27095,7 @@ function _stbtt_FindGlyphIndex($0,$1) { break; } case 2: { - ___assert_fail((12767|0),(12307|0),1346,(13109|0)); + ___assert_fail((13075|0),(12615|0),1347,(13417|0)); // unreachable; break; } @@ -27198,7 +27161,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $70 = $69&65535; $71 = ($70|0)<($1|0); if ($71) { - ___assert_fail((13130|0),(12307|0),1382,(13109|0)); + ___assert_fail((13438|0),(12615|0),1383,(13417|0)); // unreachable; } $72 = ((($6)) + 14|0); @@ -27259,7 +27222,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $108 = $7 & -2; $switch = ($108<<16>>16)==(12); if (!($switch)) { - ___assert_fail((12767|0),(12307|0),1417,(13109|0)); + ___assert_fail((13075|0),(12615|0),1418,(13417|0)); // unreachable; } $109 = ((($6)) + 12|0); @@ -28139,11 +28102,11 @@ function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { } } if ((label|0) == 11) { - ___assert_fail((12363|0),(12307|0),2774,(12376|0)); + ___assert_fail((12671|0),(12615|0),2775,(12684|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((12406|0),(12307|0),2787,(12376|0)); + ___assert_fail((12714|0),(12615|0),2788,(12684|0)); // unreachable; } } @@ -28188,7 +28151,7 @@ function _stbtt__new_active($0,$1,$2,$3) { $14 = $8 / $13; $15 = ($4|0)==(0|0); if ($15) { - ___assert_fail((12696|0),(12307|0),2373,(12712|0)); + ___assert_fail((13004|0),(12615|0),2374,(13020|0)); // unreachable; } else { $16 = ((($4)) + 8|0); @@ -28516,19 +28479,19 @@ function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { } } if ((label|0) == 4) { - ___assert_fail((12426|0),(12307|0),2585,(12441|0)); + ___assert_fail((12734|0),(12615|0),2586,(12749|0)); // unreachable; } else if ((label|0) == 11) { - ___assert_fail((12470|0),(12307|0),2604,(12441|0)); + ___assert_fail((12778|0),(12615|0),2605,(12749|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((12506|0),(12307|0),2632,(12441|0)); + ___assert_fail((12814|0),(12615|0),2633,(12749|0)); // unreachable; } else if ((label|0) == 25) { - ___assert_fail((12524|0),(12307|0),2669,(12441|0)); + ___assert_fail((12832|0),(12615|0),2670,(12749|0)); // unreachable; } else if ((label|0) == 42) { @@ -28577,7 +28540,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { } $8 = $4 < $6; if (!($8)) { - ___assert_fail((12544|0),(12307|0),2543,(12552|0)); + ___assert_fail((12852|0),(12615|0),2544,(12860|0)); // unreachable; } $9 = ((($2)) + 20|0); @@ -28586,7 +28549,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $12 = +HEAPF32[$11>>2]; $13 = !($10 <= $12); if ($13) { - ___assert_fail((12579|0),(12307|0),2544,(12552|0)); + ___assert_fail((12887|0),(12615|0),2545,(12860|0)); // unreachable; } $14 = $12 < $4; @@ -28628,7 +28591,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if ($32) { $35 = !($$077 <= $34); if ($35) { - ___assert_fail((12594|0),(12307|0),2557,(12552|0)); + ___assert_fail((12902|0),(12615|0),2558,(12860|0)); // unreachable; } } else { @@ -28638,7 +28601,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($37)) { break; } - ___assert_fail((12604|0),(12307|0),2559,(12552|0)); + ___assert_fail((12912|0),(12615|0),2560,(12860|0)); // unreachable; } $38 = !($$079 <= $31); @@ -28647,7 +28610,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($39)) { break; } - ___assert_fail((12612|0),(12307|0),2561,(12552|0)); + ___assert_fail((12920|0),(12615|0),2562,(12860|0)); // unreachable; } $40 = !($$079 >= $34); @@ -28658,14 +28621,14 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($or$cond80)) { break; } - ___assert_fail((12630|0),(12307|0),2565,(12552|0)); + ___assert_fail((12938|0),(12615|0),2566,(12860|0)); // unreachable; } else { $41 = !($$077 >= $34); if (!($41)) { break; } - ___assert_fail((12620|0),(12307|0),2563,(12552|0)); + ___assert_fail((12928|0),(12615|0),2564,(12860|0)); // unreachable; } } @@ -28698,7 +28661,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $58 = !($$077 <= $34); $or$cond85 = $58 | $or$cond84; if ($or$cond85) { - ___assert_fail((12651|0),(12307|0),2572,(12552|0)); + ___assert_fail((12959|0),(12615|0),2573,(12860|0)); // unreachable; } $59 = ((($2)) + 16|0); @@ -29234,7 +29197,7 @@ function _stbtt__GetGlyfOffset($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if (!($4)) { - ___assert_fail((12730|0),(12307|0),1439,(12746|0)); + ___assert_fail((13038|0),(12615|0),1440,(13054|0)); // unreachable; } $5 = ((($0)) + 12|0); @@ -30181,7 +30144,7 @@ function _stbtt__cff_index_get($0,$1,$2) { $7 = ($3|0)>($2|0); $or$cond = $6 & $7; if (!($or$cond)) { - ___assert_fail((12972|0),(12307|0),1117,(12992|0)); + ___assert_fail((13280|0),(12615|0),1118,(13300|0)); // unreachable; } $$off = (($4) + -1)<<24>>24; @@ -30199,7 +30162,7 @@ function _stbtt__cff_index_get($0,$1,$2) { _stbtt__buf_range($0,$1,$15,$16); return; } else { - ___assert_fail((12889|0),(12307|0),1118,(12992|0)); + ___assert_fail((13197|0),(12615|0),1119,(13300|0)); // unreachable; } } @@ -30444,7 +30407,7 @@ function _stbtt__buf_get($0,$1) { if ($2) { $$01011 = 0;$$012 = 0; } else { - ___assert_fail((12784|0),(12307|0),1013,(12801|0)); + ___assert_fail((13092|0),(12615|0),1014,(13109|0)); // unreachable; } while(1) { @@ -30515,7 +30478,7 @@ function _stbtt__cff_int($0) { break; } default: { - ___assert_fail((12767|0),(12307|0),1063,(12769|0)); + ___assert_fail((13075|0),(12615|0),1064,(13077|0)); // unreachable; } } @@ -30686,7 +30649,7 @@ function _stbtt__new_buf($0,$1,$2) { HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; return; } else { - ___assert_fail((12816|0),(12307|0),1022,(12834|0)); + ___assert_fail((13124|0),(12615|0),1023,(13142|0)); // unreachable; } } @@ -30701,7 +30664,7 @@ function _stbtt__buf_seek($0,$1) { $5 = ($1|0)<(0); $or$cond = $5 | $4; if ($or$cond) { - ___assert_fail((12849|0),(12307|0),1000,(12873|0)); + ___assert_fail((13157|0),(12615|0),1001,(13181|0)); // unreachable; } else { $6 = ((($0)) + 4|0); @@ -30846,7 +30809,7 @@ function _stbtt__cff_get_index($0,$1) { $$off = (($6) + -1)<<24>>24; $8 = ($$off&255)<(4); if (!($8)) { - ___assert_fail((12889|0),(12307|0),1048,(12918|0)); + ___assert_fail((13197|0),(12615|0),1049,(13226|0)); // unreachable; } $9 = Math_imul($7, $4)|0; @@ -30943,7 +30906,7 @@ function _stbtt__cff_skip_operand($0) { $1 = (_stbtt__buf_peek8($0)|0); $2 = ($1&255)>(27); if (!($2)) { - ___assert_fail((12939|0),(12307|0),1069,(12948|0)); + ___assert_fail((13247|0),(12615|0),1070,(13256|0)); // unreachable; } $3 = ($1<<24>>24)==(30); @@ -31270,7 +31233,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { $$4352 = 0;$$9 = 0; break; } - ___assert_fail((12767|0),(12307|0),1723,(13086|0)); + ___assert_fail((13075|0),(12615|0),1724,(13394|0)); // unreachable; } $143 = ((($8)) + 10|0); @@ -31454,7 +31417,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { } } if ((label|0) == 42) { - ___assert_fail((12767|0),(12307|0),1670,(13086|0)); + ___assert_fail((13075|0),(12615|0),1671,(13394|0)); // unreachable; } $249 = ($$0348453|0)==(0|0); @@ -31509,7 +31472,7 @@ function _stbtt__GetGlyphShapeT2($0,$1,$2) { $$0 = $16; STACKTOP = sp;return ($$0|0); } else { - ___assert_fail((13013|0),(12307|0),2113,(13063|0)); + ___assert_fail((13321|0),(12615|0),2114,(13371|0)); // unreachable; } } @@ -31599,23 +31562,23 @@ function _stbtt_InitFont_internal($0,$1) { $20 = ((($0)) + 48|0); _stbtt__new_buf($2,0,0); ;HEAP32[$20>>2]=HEAP32[$2>>2]|0;HEAP32[$20+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$2+8>>2]|0; - $21 = (_stbtt__find_table($1,13186)|0); - $22 = (_stbtt__find_table($1,13191)|0); + $21 = (_stbtt__find_table($1,13494)|0); + $22 = (_stbtt__find_table($1,13499)|0); $23 = ((($0)) + 16|0); HEAP32[$23>>2] = $22; - $24 = (_stbtt__find_table($1,13196)|0); + $24 = (_stbtt__find_table($1,13504)|0); $25 = ((($0)) + 20|0); HEAP32[$25>>2] = $24; - $26 = (_stbtt__find_table($1,13201)|0); + $26 = (_stbtt__find_table($1,13509)|0); $27 = ((($0)) + 24|0); HEAP32[$27>>2] = $26; - $28 = (_stbtt__find_table($1,13206)|0); + $28 = (_stbtt__find_table($1,13514)|0); $29 = ((($0)) + 28|0); HEAP32[$29>>2] = $28; - $30 = (_stbtt__find_table($1,13211)|0); + $30 = (_stbtt__find_table($1,13519)|0); $31 = ((($0)) + 32|0); HEAP32[$31>>2] = $30; - $32 = (_stbtt__find_table($1,13216)|0); + $32 = (_stbtt__find_table($1,13524)|0); $33 = ((($0)) + 36|0); HEAP32[$33>>2] = $32; $34 = ($21|0)==(0); @@ -31649,7 +31612,7 @@ function _stbtt_InitFont_internal($0,$1) { HEAP32[$7>>2] = 0; HEAP32[$8>>2] = 0; HEAP32[$9>>2] = 0; - $45 = (_stbtt__find_table($1,13221)|0); + $45 = (_stbtt__find_table($1,13529)|0); $46 = ($45|0)==(0); do { if (!($46)) { @@ -31728,7 +31691,7 @@ function _stbtt_InitFont_internal($0,$1) { } } } while(0); - $68 = (_stbtt__find_table($1,13226)|0); + $68 = (_stbtt__find_table($1,13534)|0); $69 = ($68|0)==(0); if ($69) { $$sink = 65535; @@ -32092,7 +32055,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,13231)|0); + $12 = (_strstr($11,13539)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -32101,7 +32064,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,13235)|0); + $17 = (_strstr($16,13543)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -32110,7 +32073,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,13239)|0); + $22 = (_strstr($21,13547)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -32119,7 +32082,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,13243)|0); + $27 = (_strstr($26,13551)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -32128,1210 +32091,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,13249)|0); + $32 = (_strcmp($31,13557)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,13287)|0); + $35 = (_strcmp($34,13595)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 13306; + HEAP32[$3>>2] = 13614; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,13319)|0); + $38 = (_strcmp($37,13627)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 13340; + HEAP32[$3>>2] = 13648; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,13355)|0); + $41 = (_strcmp($40,13663)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 13370; + HEAP32[$3>>2] = 13678; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,13385)|0); + $44 = (_strcmp($43,13693)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 13400; + HEAP32[$3>>2] = 13708; } } else { - HEAP32[$3>>2] = 13271; + HEAP32[$3>>2] = 13579; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,13415)|0); + $47 = (_strcmp($46,13723)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,13429)|0); + $50 = (_strcmp($49,13737)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,13441)|0); + $53 = (_strcmp($52,13749)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,13455)|0); + $56 = (_strcmp($55,13763)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,13467)|0); + $59 = (_strcmp($58,13775)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,13481)|0); + $62 = (_strcmp($61,13789)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,13495)|0); + $65 = (_strcmp($64,13803)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,13512)|0); + $68 = (_strcmp($67,13820)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,13535)|0); + $71 = (_strcmp($70,13843)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,13561)|0); + $74 = (_strcmp($73,13869)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,13574)|0); + $77 = (_strcmp($76,13882)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,13590)|0); + $80 = (_strcmp($79,13898)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,13603)|0); + $83 = (_strcmp($82,13911)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,13617)|0); + $86 = (_strcmp($85,13925)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,13637)|0); + $89 = (_strcmp($88,13945)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,13657)|0); + $92 = (_strcmp($91,13965)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,13674)|0); + $95 = (_strcmp($94,13982)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,13691)|0); + $98 = (_strcmp($97,13999)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,13703)|0); + $101 = (_strcmp($100,14011)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,13716)|0); + $104 = (_strcmp($103,14024)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,13732)|0); + $107 = (_strcmp($106,14040)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,13755)|0); + $110 = (_strcmp($109,14063)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,13768)|0); + $113 = (_strcmp($112,14076)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,13784)|0); + $116 = (_strcmp($115,14092)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,13795)|0); + $119 = (_strcmp($118,14103)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,13814)|0); + $122 = (_strcmp($121,14122)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,13836)|0); + $125 = (_strcmp($124,14144)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,13855)|0); + $128 = (_strcmp($127,14163)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,13884)|0); + $131 = (_strcmp($130,14192)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,13901)|0); + $134 = (_strcmp($133,14209)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,13916)|0); + $137 = (_strcmp($136,14224)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,13931)|0); + $140 = (_strcmp($139,14239)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,13952)|0); + $143 = (_strcmp($142,14260)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,13972)|0); + $146 = (_strcmp($145,14280)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,13992)|0); + $149 = (_strcmp($148,14300)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,14018)|0); + $152 = (_strcmp($151,14326)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,14037)|0); + $155 = (_strcmp($154,14345)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,14049)|0); + $158 = (_strcmp($157,14357)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,14061)|0); + $161 = (_strcmp($160,14369)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,14073)|0); + $164 = (_strcmp($163,14381)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,14085)|0); + $167 = (_strcmp($166,14393)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,14097)|0); + $170 = (_strcmp($169,14405)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,14109)|0); + $173 = (_strcmp($172,14417)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,14121)|0); + $176 = (_strcmp($175,14429)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,14133)|0); + $179 = (_strcmp($178,14441)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,14146)|0); + $182 = (_strcmp($181,14454)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,14159)|0); + $185 = (_strcmp($184,14467)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,14172)|0); + $188 = (_strcmp($187,14480)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,14185)|0); + $191 = (_strcmp($190,14493)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,14198)|0); + $194 = (_strcmp($193,14506)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,14211)|0); + $197 = (_strcmp($196,14519)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,14224)|0); + $200 = (_strcmp($199,14532)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,14237)|0); + $203 = (_strcmp($202,14545)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,14256)|0); + $206 = (_strcmp($205,14564)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,14275)|0); + $209 = (_strcmp($208,14583)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,14294)|0); + $212 = (_strcmp($211,14602)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,14307)|0); + $215 = (_strcmp($214,14615)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,14325)|0); + $218 = (_strcmp($217,14633)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,14343)|0); + $221 = (_strcmp($220,14651)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,14361)|0); + $224 = (_strcmp($223,14669)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,14379)|0); + $227 = (_strcmp($226,14687)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,14399)|0); + $230 = (_strcmp($229,14707)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,13340)|0); + $233 = (_strcmp($232,13648)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,14417)|0); + $236 = (_strcmp($235,14725)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,14432)|0); + $239 = (_strcmp($238,14740)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,14453)|0); + $242 = (_strcmp($241,14761)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,14468)|0); + $245 = (_strcmp($244,14776)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,14486)|0); + $248 = (_strcmp($247,14794)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,14502)|0); + $251 = (_strcmp($250,14810)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,14521)|0); + $254 = (_strcmp($253,14829)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,14535)|0); + $257 = (_strcmp($256,14843)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,14550)|0); + $260 = (_strcmp($259,14858)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,13271)|0); + $263 = (_strcmp($262,13579)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,14561)|0); + $266 = (_strcmp($265,14869)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,13370)|0); + $269 = (_strcmp($268,13678)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,13400)|0); + $272 = (_strcmp($271,13708)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,14577)|0); + $275 = (_strcmp($274,14885)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,14604)|0); + $278 = (_strcmp($277,14912)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,14618)|0); + $281 = (_strcmp($280,14926)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,13306)|0); + $284 = (_strcmp($283,13614)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,14638)|0); + $287 = (_strcmp($286,14946)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,14656)|0); + $290 = (_strcmp($289,14964)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,14668)|0); + $293 = (_strcmp($292,14976)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,14689)|0); + $296 = (_strcmp($295,14997)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,14707)|0); + $299 = (_strcmp($298,15015)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,14725)|0); + $302 = (_strcmp($301,15033)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,14746)|0); + $305 = (_strcmp($304,15054)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,14772)|0); + $308 = (_strcmp($307,15080)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,14795)|0); + $311 = (_strcmp($310,15103)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,14833)|0); + $314 = (_strcmp($313,15141)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,14849)|0); + $317 = (_strcmp($316,15157)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,14864)|0); + $320 = (_strcmp($319,15172)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,14887)|0); + $323 = (_strcmp($322,15195)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,14900)|0); + $326 = (_strcmp($325,15208)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,14914)|0); + $329 = (_strcmp($328,15222)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,14928)|0); + $332 = (_strcmp($331,15236)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,14948)|0); + $335 = (_strcmp($334,15256)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,14968)|0); + $338 = (_strcmp($337,15276)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,14984)|0); + $341 = (_strcmp($340,15292)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,15002)|0); + $344 = (_strcmp($343,15310)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,15018)|0); + $347 = (_strcmp($346,15326)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,15033)|0); + $350 = (_strcmp($349,15341)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,15055)|0); + $353 = (_strcmp($352,15363)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,15073)|0); + $356 = (_strcmp($355,15381)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,15094)|0); + $359 = (_strcmp($358,15402)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,15112)|0); + $362 = (_strcmp($361,15420)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,15125)|0); + $365 = (_strcmp($364,15433)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,15140)|0); + $368 = (_strcmp($367,15448)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,15154)|0); + $371 = (_strcmp($370,15462)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,15164)|0); + $374 = (_strcmp($373,15472)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,15174)|0); + $377 = (_strcmp($376,15482)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,15196)|0); + $380 = (_strcmp($379,15504)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,15222)|0); + $383 = (_strcmp($382,15530)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,15249)|0); + $386 = (_strcmp($385,15557)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,15262)|0); + $389 = (_strcmp($388,15570)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,15277)|0); + $392 = (_strcmp($391,15585)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,15292)|0); + $395 = (_strcmp($394,15600)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,15316)|0); + $398 = (_strcmp($397,15624)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,15327)|0); + $401 = (_strcmp($400,15635)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,15349)|0); + $404 = (_strcmp($403,15657)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,15371)|0); + $407 = (_strcmp($406,15679)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,15395)|0); + $410 = (_strcmp($409,15703)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,15404)|0); + $413 = (_strcmp($412,15712)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,15412)|0); + $416 = (_strcmp($415,15720)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,15425)|0); + $419 = (_strcmp($418,15733)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,15439)|0); + $422 = (_strcmp($421,15747)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,15451)|0); + $425 = (_strcmp($424,15759)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,15460)|0); + $428 = (_strcmp($427,15768)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,15470)|0); + $431 = (_strcmp($430,15778)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,15482)|0); + $434 = (_strcmp($433,15790)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,15493)|0); + $437 = (_strcmp($436,15801)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,15501)|0); + $440 = (_strcmp($439,15809)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,15513)|0); + $443 = (_strcmp($442,15821)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,15528)|0); + $446 = (_strcmp($445,15836)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,15540)|0); + $449 = (_strcmp($448,15848)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,15554)|0); + $452 = (_strcmp($451,15862)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,15579)|0); + $455 = (_strcmp($454,15887)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,15596)|0); + $458 = (_strcmp($457,15904)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,15612)|0); + $461 = (_strcmp($460,15920)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,15628)|0); + $464 = (_strcmp($463,15936)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,15640)|0); + $467 = (_strcmp($466,15948)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,15652)|0); + $470 = (_strcmp($469,15960)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,15676)|0); + $473 = (_strcmp($472,15984)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,15689)|0); + $476 = (_strcmp($475,15997)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,15703)|0); + $479 = (_strcmp($478,16011)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,15725)|0); + $482 = (_strcmp($481,16033)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,15732)|0); + $485 = (_strcmp($484,16040)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,15748)|0); + $488 = (_strcmp($487,16056)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,15765)|0); + $491 = (_strcmp($490,16073)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,15782)|0); + $494 = (_strcmp($493,16090)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,15798)|0); + $497 = (_strcmp($496,16106)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,15814)|0); + $500 = (_strcmp($499,16122)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,15831)|0); + $503 = (_strcmp($502,16139)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,15845)|0); + $506 = (_strcmp($505,16153)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,15857)|0); + $509 = (_strcmp($508,16165)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,15868)|0); + $512 = (_strcmp($511,16176)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,15881)|0); + $515 = (_strcmp($514,16189)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,15891)|0); + $518 = (_strcmp($517,16199)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,15908)|0); + $521 = (_strcmp($520,16216)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,15920)|0); + $524 = (_strcmp($523,16228)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,15942)|0); + $527 = (_strcmp($526,16250)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,15962)|0); + $530 = (_strcmp($529,16270)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,15975)|0); + $533 = (_strcmp($532,16283)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,15997)|0); + $536 = (_strcmp($535,16305)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,16017)|0); + $539 = (_strcmp($538,16325)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,16034)|0); + $542 = (_strcmp($541,16342)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,16051)|0); + $545 = (_strcmp($544,16359)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,16071)|0); + $548 = (_strcmp($547,16379)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -33353,7 +33316,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (21572|0); + return (21876|0); } function ___stdio_close($0) { $0 = $0|0; @@ -33810,7 +33773,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((16188) + ($50)|0); + $49 = ((16496) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -33842,7 +33805,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((16188) + ($$0159)|0); + $60 = ((16496) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -33978,10 +33941,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (16444 + ($128)|0); + $129 = (16752 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((16188) + ($$1160169)|0); + $132 = ((16496) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -34003,7 +33966,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((16188) + ($$4163$be)|0); + $146 = ((16496) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -34054,7 +34017,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((16188) + ($$5$be)|0); + $178 = ((16496) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -34073,7 +34036,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((16188) + ($$1160169)|0); + $122 = ((16496) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -34095,7 +34058,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((16188) + ($$6$be)|0); + $197 = ((16496) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -34157,7 +34120,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((16188) + ($$7$be)|0); + $234 = ((16496) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -34176,7 +34139,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((16188) + ($$8)|0); + $238 = ((16496) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -34195,7 +34158,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((16188) + ($$9$be)|0); + $249 = ((16496) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -34962,7 +34925,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((16453 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((16761 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -35140,7 +35103,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 16917;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 17225;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -35161,7 +35124,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 16917;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 17225;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -35169,8 +35132,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 16917 : (16919); - $$$ = $238 ? $$ : (16918); + $$ = $240 ? 17225 : (17227); + $$$ = $238 ? $$ : (17226); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -35187,7 +35150,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 16917;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 17225;$242 = $167;$243 = $170; label = 66; break; } @@ -35200,7 +35163,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 16917;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 17225;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -35214,7 +35177,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 16927; + $271 = $270 ? $269 : 17235; $$1 = $271; label = 71; break; @@ -35254,7 +35217,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 16917;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 17225;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -35276,8 +35239,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (16917 + ($208)|0); - $$289 = $or$cond283 ? 16917 : $209; + $209 = (17225 + ($208)|0); + $$289 = $or$cond283 ? 17225 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -35298,7 +35261,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 16917;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 17225;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -35828,7 +35791,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (16965 + ($7)|0); + $9 = (17273 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -36186,14 +36149,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 16934; + $$0471 = $14;$$0520 = 1;$$0521 = 17242; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (16935) : (16940); - $$$ = $16 ? $$ : (16937); + $$ = $18 ? (17243) : (17248); + $$$ = $16 ? $$ : (17245); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -36292,7 +36255,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (16965 + ($80)|0); + $81 = (17273 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -36903,7 +36866,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,16981,1); + _out($0,17289,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -36984,7 +36947,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,16981,1); + _out($0,17289,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -37041,9 +37004,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 16953 : 16957; + $29 = $28 ? 17261 : 17265; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 18884 : 16961; + $31 = $28 ? 19192 : 17269; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -37253,7 +37216,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (16983 + ($$016)|0); + $3 = (17291 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -37264,7 +37227,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 17071;$$115 = 87; + $$01214 = 17379;$$115 = 87; label = 5; break; } else { @@ -37274,9 +37237,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 17071; + $$012$lcssa = 17379; } else { - $$01214 = 17071;$$115 = $$016; + $$01214 = 17379;$$115 = $$016; label = 5; } } @@ -37681,7 +37644,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (18875 + ($$0107127)|0); + $27 = (19183 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -37748,7 +37711,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (18884 + ($$2109125)|0); + $58 = (19192 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -39999,7 +39962,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 21636 : $3; + $$ = $5 ? 21940 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -40290,7 +40253,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(18888,$3,4)|0); + $memchr = (_memchr(19196,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -40379,7 +40342,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(18888,$4,4)|0); + $memchr = (_memchr(19196,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -40470,7 +40433,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(21576)>>2]|0; + $38 = HEAP32[(21880)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -40503,13 +40466,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((21640|0)); - return (21648|0); + ___lock((21944|0)); + return (21952|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((21640|0)); + ___unlock((21944|0)); return; } function _fclose($0) { @@ -42825,7 +42788,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 19160; + $2 = 19464; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -43080,7 +43043,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5413]|0; + $3 = HEAP32[5489]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -43099,22 +43062,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5413] = 0; + HEAP32[5489] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5413] = $10; + HEAP32[5489] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5413] = 0; + HEAP32[5489] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5413] = $13; + HEAP32[5489] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -43195,7 +43158,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5414]|0; + $8 = HEAP32[5490]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -43204,7 +43167,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (21696 + ($15<<2)|0); + $16 = (22000 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -43215,9 +43178,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5414] = $24; + HEAP32[5490] = $24; } else { - $25 = HEAP32[(21672)>>2]|0; + $25 = HEAP32[(21976)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -43248,7 +43211,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(21664)>>2]|0; + $37 = HEAP32[(21968)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -43282,7 +43245,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (21696 + ($68<<2)|0); + $69 = (22000 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -43293,10 +43256,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5414] = $77; + HEAP32[5490] = $77; $98 = $77; } else { - $78 = HEAP32[(21672)>>2]|0; + $78 = HEAP32[(21976)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -43329,22 +43292,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(21676)>>2]|0; + $92 = HEAP32[(21980)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (21696 + ($94<<2)|0); + $95 = (22000 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5414] = $100; + HEAP32[5490] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21672)>>2]|0; + $103 = HEAP32[(21976)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -43361,12 +43324,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(21664)>>2] = $84; - HEAP32[(21676)>>2] = $87; + HEAP32[(21968)>>2] = $84; + HEAP32[(21980)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(21660)>>2]|0; + $108 = HEAP32[(21964)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -43394,7 +43357,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21960 + ($132<<2)|0); + $133 = (22264 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -43434,7 +43397,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(21672)>>2]|0; + $155 = HEAP32[(21976)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -43529,7 +43492,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21960 + ($188<<2)|0); + $189 = (22264 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -43540,11 +43503,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(21660)>>2] = $194; + HEAP32[(21964)>>2] = $194; break L73; } } else { - $195 = HEAP32[(21672)>>2]|0; + $195 = HEAP32[(21976)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -43565,7 +43528,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(21672)>>2]|0; + $201 = HEAP32[(21976)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -43595,7 +43558,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(21672)>>2]|0; + $213 = HEAP32[(21976)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -43632,22 +43595,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(21676)>>2]|0; + $231 = HEAP32[(21980)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (21696 + ($233<<2)|0); + $234 = (22000 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5414] = $238; + HEAP32[5490] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21672)>>2]|0; + $241 = HEAP32[(21976)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -43664,8 +43627,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(21664)>>2] = $$0193$lcssa$i; - HEAP32[(21676)>>2] = $157; + HEAP32[(21968)>>2] = $$0193$lcssa$i; + HEAP32[(21980)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -43681,7 +43644,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(21660)>>2]|0; + $250 = HEAP32[(21964)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -43721,7 +43684,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21960 + ($$0358$i<<2)|0); + $278 = (22264 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -43813,7 +43776,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21960 + ($330<<2)|0); + $331 = (22264 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -43857,11 +43820,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(21664)>>2]|0; + $345 = HEAP32[(21968)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(21672)>>2]|0; + $348 = HEAP32[(21976)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -43958,7 +43921,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21960 + ($381<<2)|0); + $382 = (22264 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -43969,12 +43932,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(21660)>>2] = $387; + HEAP32[(21964)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(21672)>>2]|0; + $388 = HEAP32[(21976)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -43996,7 +43959,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(21672)>>2]|0; + $394 = HEAP32[(21976)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -44028,7 +43991,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(21672)>>2]|0; + $406 = HEAP32[(21976)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -44069,20 +44032,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (21696 + ($425<<2)|0); - $427 = HEAP32[5414]|0; + $426 = (22000 + ($425<<2)|0); + $427 = HEAP32[5490]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5414] = $431; + HEAP32[5490] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21672)>>2]|0; + $434 = HEAP32[(21976)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -44134,7 +44097,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21960 + ($$0361$i<<2)|0); + $464 = (22264 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -44146,7 +44109,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(21660)>>2] = $472; + HEAP32[(21964)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -44185,7 +44148,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(21672)>>2]|0; + $491 = HEAP32[(21976)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -44204,7 +44167,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21672)>>2]|0; + $498 = HEAP32[(21976)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -44237,16 +44200,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(21664)>>2]|0; + $506 = HEAP32[(21968)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21676)>>2]|0; + $509 = HEAP32[(21980)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(21676)>>2] = $511; - HEAP32[(21664)>>2] = $508; + HEAP32[(21980)>>2] = $511; + HEAP32[(21968)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -44256,8 +44219,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(21664)>>2] = 0; - HEAP32[(21676)>>2] = 0; + HEAP32[(21968)>>2] = 0; + HEAP32[(21980)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -44271,14 +44234,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(21668)>>2]|0; + $524 = HEAP32[(21972)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(21668)>>2] = $526; - $527 = HEAP32[(21680)>>2]|0; + HEAP32[(21972)>>2] = $526; + $527 = HEAP32[(21984)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(21680)>>2] = $528; + HEAP32[(21984)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -44289,23 +44252,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5532]|0; + $534 = HEAP32[5608]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(22136)>>2] = 4096; - HEAP32[(22132)>>2] = 4096; - HEAP32[(22140)>>2] = -1; - HEAP32[(22144)>>2] = -1; - HEAP32[(22148)>>2] = 0; - HEAP32[(22100)>>2] = 0; + HEAP32[(22440)>>2] = 4096; + HEAP32[(22436)>>2] = 4096; + HEAP32[(22444)>>2] = -1; + HEAP32[(22448)>>2] = -1; + HEAP32[(22452)>>2] = 0; + HEAP32[(22404)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5532] = $538; + HEAP32[5608] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(22136)>>2]|0; + $$pre$i212 = HEAP32[(22440)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -44318,10 +44281,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(22096)>>2]|0; + $546 = HEAP32[(22400)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(22088)>>2]|0; + $548 = HEAP32[(22392)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -44331,18 +44294,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(22100)>>2]|0; + $552 = HEAP32[(22404)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(21680)>>2]|0; + $555 = HEAP32[(21984)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (22104); + $$0$i$i = (22408); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -44400,7 +44363,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(22132)>>2]|0; + $569 = HEAP32[(22436)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -44410,13 +44373,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(22088)>>2]|0; + $578 = HEAP32[(22392)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(22096)>>2]|0; + $582 = HEAP32[(22400)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -44462,7 +44425,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(22136)>>2]|0; + $601 = HEAP32[(22440)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -44487,9 +44450,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(22100)>>2]|0; + $611 = HEAP32[(22404)>>2]|0; $612 = $611 | 4; - HEAP32[(22100)>>2] = $612; + HEAP32[(22404)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -44525,35 +44488,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(22088)>>2]|0; + $626 = HEAP32[(22392)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(22088)>>2] = $627; - $628 = HEAP32[(22092)>>2]|0; + HEAP32[(22392)>>2] = $627; + $628 = HEAP32[(22396)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(22092)>>2] = $627; + HEAP32[(22396)>>2] = $627; } - $630 = HEAP32[(21680)>>2]|0; + $630 = HEAP32[(21984)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(21672)>>2]|0; + $632 = HEAP32[(21976)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(21672)>>2] = $$749$i; + HEAP32[(21976)>>2] = $$749$i; } - HEAP32[(22104)>>2] = $$749$i; - HEAP32[(22108)>>2] = $$723948$i; - HEAP32[(22116)>>2] = 0; - $635 = HEAP32[5532]|0; - HEAP32[(21692)>>2] = $635; - HEAP32[(21688)>>2] = -1; + HEAP32[(22408)>>2] = $$749$i; + HEAP32[(22412)>>2] = $$723948$i; + HEAP32[(22420)>>2] = 0; + $635 = HEAP32[5608]|0; + HEAP32[(21996)>>2] = $635; + HEAP32[(21992)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (21696 + ($636<<2)|0); + $637 = (22000 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -44576,18 +44539,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(21680)>>2] = $649; - HEAP32[(21668)>>2] = $650; + HEAP32[(21984)>>2] = $649; + HEAP32[(21972)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(22144)>>2]|0; - HEAP32[(21684)>>2] = $655; + $655 = HEAP32[(22448)>>2]|0; + HEAP32[(21988)>>2] = $655; } else { - $$024371$i = (22104); + $$024371$i = (22408); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -44619,7 +44582,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(21668)>>2]|0; + $671 = HEAP32[(21972)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -44630,30 +44593,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(21680)>>2] = $679; - HEAP32[(21668)>>2] = $681; + HEAP32[(21984)>>2] = $679; + HEAP32[(21972)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(22144)>>2]|0; - HEAP32[(21684)>>2] = $686; + $686 = HEAP32[(22448)>>2]|0; + HEAP32[(21988)>>2] = $686; break; } } } - $687 = HEAP32[(21672)>>2]|0; + $687 = HEAP32[(21976)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(21672)>>2] = $$749$i; + HEAP32[(21976)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (22104); + $$124470$i = (22408); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -44708,21 +44671,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(21668)>>2]|0; + $726 = HEAP32[(21972)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(21668)>>2] = $727; - HEAP32[(21680)>>2] = $721; + HEAP32[(21972)>>2] = $727; + HEAP32[(21984)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(21676)>>2]|0; + $730 = HEAP32[(21980)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(21664)>>2]|0; + $732 = HEAP32[(21968)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(21664)>>2] = $733; - HEAP32[(21676)>>2] = $721; + HEAP32[(21968)>>2] = $733; + HEAP32[(21980)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -44745,7 +44708,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (21696 + ($748<<2)|0); + $749 = (22000 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -44768,9 +44731,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5414]|0; + $759 = HEAP32[5490]|0; $760 = $759 & $758; - HEAP32[5414] = $760; + HEAP32[5490] = $760; break; } $761 = ($747|0)==($749|0); @@ -44883,7 +44846,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21960 + ($796<<2)|0); + $797 = (22264 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -44895,12 +44858,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(21660)>>2]|0; + $802 = HEAP32[(21964)>>2]|0; $803 = $802 & $801; - HEAP32[(21660)>>2] = $803; + HEAP32[(21964)>>2] = $803; break L314; } else { - $804 = HEAP32[(21672)>>2]|0; + $804 = HEAP32[(21976)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -44921,7 +44884,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(21672)>>2]|0; + $810 = HEAP32[(21976)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -44953,7 +44916,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(21672)>>2]|0; + $822 = HEAP32[(21976)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -44986,21 +44949,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (21696 + ($836<<2)|0); - $838 = HEAP32[5414]|0; + $837 = (22000 + ($836<<2)|0); + $838 = HEAP32[5490]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5414] = $842; + HEAP32[5490] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21672)>>2]|0; + $845 = HEAP32[(21976)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -45055,20 +45018,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21960 + ($$0296$i$i<<2)|0); + $875 = (22264 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(21660)>>2]|0; + $879 = HEAP32[(21964)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(21660)>>2] = $883; + HEAP32[(21964)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -45107,7 +45070,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(21672)>>2]|0; + $902 = HEAP32[(21976)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -45126,7 +45089,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21672)>>2]|0; + $909 = HEAP32[(21976)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -45153,7 +45116,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (22104); + $$0$i$i$i = (22408); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -45194,23 +45157,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(21680)>>2] = $946; - HEAP32[(21668)>>2] = $947; + HEAP32[(21984)>>2] = $946; + HEAP32[(21972)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(22144)>>2]|0; - HEAP32[(21684)>>2] = $952; + $952 = HEAP32[(22448)>>2]|0; + HEAP32[(21988)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(22104)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22104)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22104)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22104)+12>>2]|0; - HEAP32[(22104)>>2] = $$749$i; - HEAP32[(22108)>>2] = $$723948$i; - HEAP32[(22116)>>2] = 0; - HEAP32[(22112)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(22408)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22408)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22408)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22408)+12>>2]|0; + HEAP32[(22408)>>2] = $$749$i; + HEAP32[(22412)>>2] = $$723948$i; + HEAP32[(22420)>>2] = 0; + HEAP32[(22416)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -45239,20 +45202,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (21696 + ($968<<2)|0); - $970 = HEAP32[5414]|0; + $969 = (22000 + ($968<<2)|0); + $970 = HEAP32[5490]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5414] = $974; + HEAP32[5490] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21672)>>2]|0; + $977 = HEAP32[(21976)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -45304,19 +45267,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21960 + ($$0212$i$i<<2)|0); + $1007 = (22264 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21660)>>2]|0; + $1010 = HEAP32[(21964)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(21660)>>2] = $1014; + HEAP32[(21964)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -45355,7 +45318,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(21672)>>2]|0; + $1033 = HEAP32[(21976)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -45374,7 +45337,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21672)>>2]|0; + $1040 = HEAP32[(21976)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -45397,14 +45360,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(21668)>>2]|0; + $1048 = HEAP32[(21972)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(21668)>>2] = $1050; - $1051 = HEAP32[(21680)>>2]|0; + HEAP32[(21972)>>2] = $1050; + $1051 = HEAP32[(21984)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(21680)>>2] = $1052; + HEAP32[(21984)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -45447,7 +45410,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(21672)>>2]|0; + $3 = HEAP32[(21976)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -45480,7 +45443,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(21676)>>2]|0; + $19 = HEAP32[(21980)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -45495,7 +45458,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(21664)>>2] = $17; + HEAP32[(21968)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -45509,7 +45472,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (21696 + ($27<<2)|0); + $28 = (22000 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -45529,9 +45492,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5414]|0; + $37 = HEAP32[5490]|0; $38 = $37 & $36; - HEAP32[5414] = $38; + HEAP32[5490] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -45645,7 +45608,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21960 + ($74<<2)|0); + $75 = (22264 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -45655,14 +45618,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(21660)>>2]|0; + $80 = HEAP32[(21964)>>2]|0; $81 = $80 & $79; - HEAP32[(21660)>>2] = $81; + HEAP32[(21964)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(21672)>>2]|0; + $82 = HEAP32[(21976)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -45684,7 +45647,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(21672)>>2]|0; + $88 = HEAP32[(21976)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -45716,7 +45679,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(21672)>>2]|0; + $100 = HEAP32[(21976)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -45751,14 +45714,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(21680)>>2]|0; + $120 = HEAP32[(21984)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(21676)>>2]|0; + $122 = HEAP32[(21980)>>2]|0; if ($121) { - $123 = HEAP32[(21668)>>2]|0; + $123 = HEAP32[(21972)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(21668)>>2] = $124; - HEAP32[(21680)>>2] = $$1; + HEAP32[(21972)>>2] = $124; + HEAP32[(21984)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -45766,16 +45729,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(21676)>>2] = 0; - HEAP32[(21664)>>2] = 0; + HEAP32[(21980)>>2] = 0; + HEAP32[(21968)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(21664)>>2]|0; + $129 = HEAP32[(21968)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(21664)>>2] = $130; - HEAP32[(21676)>>2] = $113; + HEAP32[(21968)>>2] = $130; + HEAP32[(21980)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -45794,10 +45757,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (21696 + ($142<<2)|0); + $143 = (22000 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(21672)>>2]|0; + $145 = HEAP32[(21976)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -45815,9 +45778,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5414]|0; + $153 = HEAP32[5490]|0; $154 = $153 & $152; - HEAP32[5414] = $154; + HEAP32[5490] = $154; break; } $155 = ($141|0)==($143|0); @@ -45825,7 +45788,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(21672)>>2]|0; + $156 = HEAP32[(21976)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -45885,7 +45848,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(21672)>>2]|0; + $189 = HEAP32[(21976)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -45898,7 +45861,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21672)>>2]|0; + $169 = HEAP32[(21976)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -45929,7 +45892,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21960 + ($193<<2)|0); + $194 = (22264 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -45939,13 +45902,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(21660)>>2]|0; + $199 = HEAP32[(21964)>>2]|0; $200 = $199 & $198; - HEAP32[(21660)>>2] = $200; + HEAP32[(21964)>>2] = $200; break L108; } } else { - $201 = HEAP32[(21672)>>2]|0; + $201 = HEAP32[(21976)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -45966,7 +45929,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(21672)>>2]|0; + $207 = HEAP32[(21976)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -45996,7 +45959,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(21672)>>2]|0; + $219 = HEAP32[(21976)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -46017,10 +45980,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(21676)>>2]|0; + $226 = HEAP32[(21980)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(21664)>>2] = $135; + HEAP32[(21968)>>2] = $135; return; } else { $$2 = $135; @@ -46039,20 +46002,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (21696 + ($234<<2)|0); - $236 = HEAP32[5414]|0; + $235 = (22000 + ($234<<2)|0); + $236 = HEAP32[5490]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5414] = $240; + HEAP32[5490] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21672)>>2]|0; + $243 = HEAP32[(21976)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -46104,21 +46067,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21960 + ($$0396<<2)|0); + $273 = (22264 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(21660)>>2]|0; + $277 = HEAP32[(21964)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(21660)>>2] = $281; + HEAP32[(21964)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -46156,7 +46119,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(21672)>>2]|0; + $300 = HEAP32[(21976)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -46175,7 +46138,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21672)>>2]|0; + $307 = HEAP32[(21976)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -46197,12 +46160,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(21688)>>2]|0; + $314 = HEAP32[(21992)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(21688)>>2] = $315; + HEAP32[(21992)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (22112); + $$0212$in$i = (22416); } else { return; } @@ -46216,7 +46179,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(21688)>>2] = -1; + HEAP32[(21992)>>2] = -1; return; } function _realloc($0,$1) { @@ -46288,7 +46251,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(21672)>>2]|0; + $6 = HEAP32[(21976)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -46318,7 +46281,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(22136)>>2]|0; + $18 = HEAP32[(22440)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -46354,10 +46317,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(21680)>>2]|0; + $34 = HEAP32[(21984)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(21668)>>2]|0; + $36 = HEAP32[(21972)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -46373,15 +46336,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(21680)>>2] = $40; - HEAP32[(21668)>>2] = $39; + HEAP32[(21984)>>2] = $40; + HEAP32[(21972)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(21676)>>2]|0; + $46 = HEAP32[(21980)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(21664)>>2]|0; + $48 = HEAP32[(21968)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -46417,8 +46380,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(21664)>>2] = $storemerge1; - HEAP32[(21676)>>2] = $storemerge; + HEAP32[(21968)>>2] = $storemerge1; + HEAP32[(21980)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -46445,7 +46408,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (21696 + ($81<<2)|0); + $82 = (22000 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -46465,9 +46428,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5414]|0; + $91 = HEAP32[5490]|0; $92 = $91 & $90; - HEAP32[5414] = $92; + HEAP32[5490] = $92; break; } $93 = ($80|0)==($82|0); @@ -46576,7 +46539,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (21960 + ($128<<2)|0); + $129 = (22264 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -46586,13 +46549,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(21660)>>2]|0; + $134 = HEAP32[(21964)>>2]|0; $135 = $134 & $133; - HEAP32[(21660)>>2] = $135; + HEAP32[(21964)>>2] = $135; break L49; } } else { - $136 = HEAP32[(21672)>>2]|0; + $136 = HEAP32[(21976)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -46613,7 +46576,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(21672)>>2]|0; + $142 = HEAP32[(21976)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -46643,7 +46606,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(21672)>>2]|0; + $154 = HEAP32[(21976)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -46728,13 +46691,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(21672)>>2]|0; + $13 = HEAP32[(21976)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(21676)>>2]|0; + $15 = HEAP32[(21980)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -46749,7 +46712,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(21664)>>2] = $12; + HEAP32[(21968)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -46763,7 +46726,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (21696 + ($23<<2)|0); + $24 = (22000 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -46783,9 +46746,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5414]|0; + $33 = HEAP32[5490]|0; $34 = $33 & $32; - HEAP32[5414] = $34; + HEAP32[5490] = $34; $$1 = $11;$$1418 = $12; break; } @@ -46899,7 +46862,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (21960 + ($70<<2)|0); + $71 = (22264 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -46909,14 +46872,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(21660)>>2]|0; + $76 = HEAP32[(21964)>>2]|0; $77 = $76 & $75; - HEAP32[(21660)>>2] = $77; + HEAP32[(21964)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(21672)>>2]|0; + $78 = HEAP32[(21976)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -46938,7 +46901,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(21672)>>2]|0; + $84 = HEAP32[(21976)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -46970,7 +46933,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(21672)>>2]|0; + $96 = HEAP32[(21976)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -46989,7 +46952,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(21672)>>2]|0; + $108 = HEAP32[(21976)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -47000,14 +46963,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(21680)>>2]|0; + $114 = HEAP32[(21984)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(21676)>>2]|0; + $116 = HEAP32[(21980)>>2]|0; if ($115) { - $117 = HEAP32[(21668)>>2]|0; + $117 = HEAP32[(21972)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(21668)>>2] = $118; - HEAP32[(21680)>>2] = $$1; + HEAP32[(21972)>>2] = $118; + HEAP32[(21984)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -47015,16 +46978,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(21676)>>2] = 0; - HEAP32[(21664)>>2] = 0; + HEAP32[(21980)>>2] = 0; + HEAP32[(21968)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(21664)>>2]|0; + $123 = HEAP32[(21968)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(21664)>>2] = $124; - HEAP32[(21676)>>2] = $$1; + HEAP32[(21968)>>2] = $124; + HEAP32[(21980)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -47043,7 +47006,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (21696 + ($136<<2)|0); + $137 = (22000 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -47063,9 +47026,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5414]|0; + $146 = HEAP32[5490]|0; $147 = $146 & $145; - HEAP32[5414] = $147; + HEAP32[5490] = $147; break; } $148 = ($135|0)==($137|0); @@ -47174,7 +47137,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (21960 + ($183<<2)|0); + $184 = (22264 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -47184,13 +47147,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(21660)>>2]|0; + $189 = HEAP32[(21964)>>2]|0; $190 = $189 & $188; - HEAP32[(21660)>>2] = $190; + HEAP32[(21964)>>2] = $190; break L96; } } else { - $191 = HEAP32[(21672)>>2]|0; + $191 = HEAP32[(21976)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -47211,7 +47174,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(21672)>>2]|0; + $197 = HEAP32[(21976)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -47241,7 +47204,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(21672)>>2]|0; + $209 = HEAP32[(21976)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -47262,10 +47225,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(21676)>>2]|0; + $216 = HEAP32[(21980)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(21664)>>2] = $129; + HEAP32[(21968)>>2] = $129; return; } else { $$2 = $129; @@ -47284,20 +47247,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (21696 + ($224<<2)|0); - $226 = HEAP32[5414]|0; + $225 = (22000 + ($224<<2)|0); + $226 = HEAP32[5490]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5414] = $230; + HEAP32[5490] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(21672)>>2]|0; + $233 = HEAP32[(21976)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -47349,20 +47312,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (21960 + ($$0431<<2)|0); + $263 = (22264 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(21660)>>2]|0; + $267 = HEAP32[(21964)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(21660)>>2] = $271; + HEAP32[(21964)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -47401,7 +47364,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(21672)>>2]|0; + $290 = HEAP32[(21976)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -47419,7 +47382,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(21672)>>2]|0; + $297 = HEAP32[(21976)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/text/text_sprite_fonts.png b/docs/examples/web/text/text_sprite_fonts.png similarity index 100% rename from docs/examples/img/text/text_sprite_fonts.png rename to docs/examples/web/text/text_sprite_fonts.png diff --git a/docs/examples/web/text/text_ttf_loading.c b/docs/examples/web/text/text_ttf_loading.c index 9dfdcac2b..020974374 100644 --- a/docs/examples/web/text/text_ttf_loading.c +++ b/docs/examples/web/text/text_ttf_loading.c @@ -52,7 +52,7 @@ int main() // NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required) // TTF SpriteFont loading with custom generation parameters - font = LoadSpriteFontTTF("resources/KAISG.ttf", 96, 0, 0); + font = LoadSpriteFontEx("resources/KAISG.ttf", 96, 0, 0); // Generate mipmap levels to use trilinear filtering // NOTE: On 2D drawing it won't be noticeable, it looks like FILTER_BILINEAR @@ -130,7 +130,7 @@ void UpdateDrawFrame(void) if (count == 1) // Only support one ttf file dropped { UnloadSpriteFont(font); - font = LoadSpriteFontTTF(droppedFiles[0], fontSize, 0, 0); + font = LoadSpriteFontEx(droppedFiles[0], fontSize, 0, 0); ClearDroppedFiles(); } } diff --git a/docs/examples/web/text/text_ttf_loading.js b/docs/examples/web/text/text_ttf_loading.js index 8da001f75..ee8cd6685 100644 --- a/docs/examples/web/text/text_ttf_loading.js +++ b/docs/examples/web/text/text_ttf_loading.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 79912, "filename": "/resources/KAISG.ttf"}], "remote_package_size": 79912, "package_uuid": "682ee35e-826e-46f0-90c7-9663eb9cfd52"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 79912, "filename": "/resources/KAISG.ttf"}], "remote_package_size": 79912, "package_uuid": "b9afee42-f4f0-4282-8b28-a9dc9ff86e8a"}); })(); @@ -10845,6 +10845,56 @@ function _UpdateDrawFrame() { } } } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10944,13 +10994,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11901,45 +11944,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; @@ -17688,7 +17692,7 @@ function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 8) { - ___assert_fail((9328|0),(9338|0),3273,(9364|0)); + ___assert_fail((9328|0),(9338|0),3274,(9364|0)); // unreachable; } else if ((label|0) == 11) { @@ -17791,7 +17795,7 @@ function _stbtt_FindGlyphIndex($0,$1) { break; } case 2: { - ___assert_fail((9798|0),(9338|0),1346,(10140|0)); + ___assert_fail((9798|0),(9338|0),1347,(10140|0)); // unreachable; break; } @@ -17857,7 +17861,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $70 = $69&65535; $71 = ($70|0)<($1|0); if ($71) { - ___assert_fail((10161|0),(9338|0),1382,(10140|0)); + ___assert_fail((10161|0),(9338|0),1383,(10140|0)); // unreachable; } $72 = ((($6)) + 14|0); @@ -17918,7 +17922,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $108 = $7 & -2; $switch = ($108<<16>>16)==(12); if (!($switch)) { - ___assert_fail((9798|0),(9338|0),1417,(10140|0)); + ___assert_fail((9798|0),(9338|0),1418,(10140|0)); // unreachable; } $109 = ((($6)) + 12|0); @@ -18798,11 +18802,11 @@ function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { } } if ((label|0) == 11) { - ___assert_fail((9394|0),(9338|0),2774,(9407|0)); + ___assert_fail((9394|0),(9338|0),2775,(9407|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((9437|0),(9338|0),2787,(9407|0)); + ___assert_fail((9437|0),(9338|0),2788,(9407|0)); // unreachable; } } @@ -18847,7 +18851,7 @@ function _stbtt__new_active($0,$1,$2,$3) { $14 = $8 / $13; $15 = ($4|0)==(0|0); if ($15) { - ___assert_fail((9727|0),(9338|0),2373,(9743|0)); + ___assert_fail((9727|0),(9338|0),2374,(9743|0)); // unreachable; } else { $16 = ((($4)) + 8|0); @@ -19175,19 +19179,19 @@ function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { } } if ((label|0) == 4) { - ___assert_fail((9457|0),(9338|0),2585,(9472|0)); + ___assert_fail((9457|0),(9338|0),2586,(9472|0)); // unreachable; } else if ((label|0) == 11) { - ___assert_fail((9501|0),(9338|0),2604,(9472|0)); + ___assert_fail((9501|0),(9338|0),2605,(9472|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((9537|0),(9338|0),2632,(9472|0)); + ___assert_fail((9537|0),(9338|0),2633,(9472|0)); // unreachable; } else if ((label|0) == 25) { - ___assert_fail((9555|0),(9338|0),2669,(9472|0)); + ___assert_fail((9555|0),(9338|0),2670,(9472|0)); // unreachable; } else if ((label|0) == 42) { @@ -19236,7 +19240,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { } $8 = $4 < $6; if (!($8)) { - ___assert_fail((9575|0),(9338|0),2543,(9583|0)); + ___assert_fail((9575|0),(9338|0),2544,(9583|0)); // unreachable; } $9 = ((($2)) + 20|0); @@ -19245,7 +19249,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $12 = +HEAPF32[$11>>2]; $13 = !($10 <= $12); if ($13) { - ___assert_fail((9610|0),(9338|0),2544,(9583|0)); + ___assert_fail((9610|0),(9338|0),2545,(9583|0)); // unreachable; } $14 = $12 < $4; @@ -19287,7 +19291,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if ($32) { $35 = !($$077 <= $34); if ($35) { - ___assert_fail((9625|0),(9338|0),2557,(9583|0)); + ___assert_fail((9625|0),(9338|0),2558,(9583|0)); // unreachable; } } else { @@ -19297,7 +19301,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($37)) { break; } - ___assert_fail((9635|0),(9338|0),2559,(9583|0)); + ___assert_fail((9635|0),(9338|0),2560,(9583|0)); // unreachable; } $38 = !($$079 <= $31); @@ -19306,7 +19310,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($39)) { break; } - ___assert_fail((9643|0),(9338|0),2561,(9583|0)); + ___assert_fail((9643|0),(9338|0),2562,(9583|0)); // unreachable; } $40 = !($$079 >= $34); @@ -19317,14 +19321,14 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($or$cond80)) { break; } - ___assert_fail((9661|0),(9338|0),2565,(9583|0)); + ___assert_fail((9661|0),(9338|0),2566,(9583|0)); // unreachable; } else { $41 = !($$077 >= $34); if (!($41)) { break; } - ___assert_fail((9651|0),(9338|0),2563,(9583|0)); + ___assert_fail((9651|0),(9338|0),2564,(9583|0)); // unreachable; } } @@ -19357,7 +19361,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $58 = !($$077 <= $34); $or$cond85 = $58 | $or$cond84; if ($or$cond85) { - ___assert_fail((9682|0),(9338|0),2572,(9583|0)); + ___assert_fail((9682|0),(9338|0),2573,(9583|0)); // unreachable; } $59 = ((($2)) + 16|0); @@ -19893,7 +19897,7 @@ function _stbtt__GetGlyfOffset($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if (!($4)) { - ___assert_fail((9761|0),(9338|0),1439,(9777|0)); + ___assert_fail((9761|0),(9338|0),1440,(9777|0)); // unreachable; } $5 = ((($0)) + 12|0); @@ -20840,7 +20844,7 @@ function _stbtt__cff_index_get($0,$1,$2) { $7 = ($3|0)>($2|0); $or$cond = $6 & $7; if (!($or$cond)) { - ___assert_fail((10003|0),(9338|0),1117,(10023|0)); + ___assert_fail((10003|0),(9338|0),1118,(10023|0)); // unreachable; } $$off = (($4) + -1)<<24>>24; @@ -20858,7 +20862,7 @@ function _stbtt__cff_index_get($0,$1,$2) { _stbtt__buf_range($0,$1,$15,$16); return; } else { - ___assert_fail((9920|0),(9338|0),1118,(10023|0)); + ___assert_fail((9920|0),(9338|0),1119,(10023|0)); // unreachable; } } @@ -21103,7 +21107,7 @@ function _stbtt__buf_get($0,$1) { if ($2) { $$01011 = 0;$$012 = 0; } else { - ___assert_fail((9815|0),(9338|0),1013,(9832|0)); + ___assert_fail((9815|0),(9338|0),1014,(9832|0)); // unreachable; } while(1) { @@ -21174,7 +21178,7 @@ function _stbtt__cff_int($0) { break; } default: { - ___assert_fail((9798|0),(9338|0),1063,(9800|0)); + ___assert_fail((9798|0),(9338|0),1064,(9800|0)); // unreachable; } } @@ -21345,7 +21349,7 @@ function _stbtt__new_buf($0,$1,$2) { HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; return; } else { - ___assert_fail((9847|0),(9338|0),1022,(9865|0)); + ___assert_fail((9847|0),(9338|0),1023,(9865|0)); // unreachable; } } @@ -21360,7 +21364,7 @@ function _stbtt__buf_seek($0,$1) { $5 = ($1|0)<(0); $or$cond = $5 | $4; if ($or$cond) { - ___assert_fail((9880|0),(9338|0),1000,(9904|0)); + ___assert_fail((9880|0),(9338|0),1001,(9904|0)); // unreachable; } else { $6 = ((($0)) + 4|0); @@ -21505,7 +21509,7 @@ function _stbtt__cff_get_index($0,$1) { $$off = (($6) + -1)<<24>>24; $8 = ($$off&255)<(4); if (!($8)) { - ___assert_fail((9920|0),(9338|0),1048,(9949|0)); + ___assert_fail((9920|0),(9338|0),1049,(9949|0)); // unreachable; } $9 = Math_imul($7, $4)|0; @@ -21602,7 +21606,7 @@ function _stbtt__cff_skip_operand($0) { $1 = (_stbtt__buf_peek8($0)|0); $2 = ($1&255)>(27); if (!($2)) { - ___assert_fail((9970|0),(9338|0),1069,(9979|0)); + ___assert_fail((9970|0),(9338|0),1070,(9979|0)); // unreachable; } $3 = ($1<<24>>24)==(30); @@ -21929,7 +21933,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { $$4352 = 0;$$9 = 0; break; } - ___assert_fail((9798|0),(9338|0),1723,(10117|0)); + ___assert_fail((9798|0),(9338|0),1724,(10117|0)); // unreachable; } $143 = ((($8)) + 10|0); @@ -22113,7 +22117,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { } } if ((label|0) == 42) { - ___assert_fail((9798|0),(9338|0),1670,(10117|0)); + ___assert_fail((9798|0),(9338|0),1671,(10117|0)); // unreachable; } $249 = ($$0348453|0)==(0|0); @@ -22168,7 +22172,7 @@ function _stbtt__GetGlyphShapeT2($0,$1,$2) { $$0 = $16; STACKTOP = sp;return ($$0|0); } else { - ___assert_fail((10044|0),(9338|0),2113,(10094|0)); + ___assert_fail((10044|0),(9338|0),2114,(10094|0)); // unreachable; } } diff --git a/docs/examples/img/text/text_ttf_loading.png b/docs/examples/web/text/text_ttf_loading.png similarity index 100% rename from docs/examples/img/text/text_ttf_loading.png rename to docs/examples/web/text/text_ttf_loading.png diff --git a/docs/examples/web/text/text_writing_anim.js b/docs/examples/web/text/text_writing_anim.js index 670bcf1ce..cfd0edf49 100644 --- a/docs/examples/web/text/text_writing_anim.js +++ b/docs/examples/web/text/text_writing_anim.js @@ -7211,6 +7211,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7310,13 +7360,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -8267,45 +8310,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/img/text/text_writing_anim.png b/docs/examples/web/text/text_writing_anim.png similarity index 100% rename from docs/examples/img/text/text_writing_anim.png rename to docs/examples/web/text/text_writing_anim.png diff --git a/docs/examples/web/textures/loader.html b/docs/examples/web/textures/loader.html new file mode 100644 index 000000000..93d7260f3 --- /dev/null +++ b/docs/examples/web/textures/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/textures/resources/fudesumi.png b/docs/examples/web/textures/resources/fudesumi.png new file mode 100644 index 000000000..8ba983dc2 Binary files /dev/null and b/docs/examples/web/textures/resources/fudesumi.png differ diff --git a/docs/examples/web/textures/resources/fudesumi.raw b/docs/examples/web/textures/resources/fudesumi.raw new file mode 100644 index 000000000..e05fa0e15 Binary files /dev/null and b/docs/examples/web/textures/resources/fudesumi.raw differ diff --git a/docs/examples/web/textures/resources/scarfy.png b/docs/examples/web/textures/resources/scarfy.png index a377a7125..beb5ffa06 100644 Binary files a/docs/examples/web/textures/resources/scarfy.png and b/docs/examples/web/textures/resources/scarfy.png differ diff --git a/docs/examples/web/textures/textures_image_drawing.js b/docs/examples/web/textures/textures_image_drawing.js index 7ef0f928e..93a3c92bb 100644 --- a/docs/examples/web/textures/textures_image_drawing.js +++ b/docs/examples/web/textures/textures_image_drawing.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 295054, "filename": "/resources/parrots.png"}, {"audio": 0, "start": 295054, "crunched": 0, "end": 683586, "filename": "/resources/cat.png"}], "remote_package_size": 683586, "package_uuid": "b29661f1-50ca-4422-9d21-8da5d80e1f1f"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 295054, "filename": "/resources/parrots.png"}, {"audio": 0, "start": 295054, "crunched": 0, "end": 683586, "filename": "/resources/cat.png"}], "remote_package_size": 683586, "package_uuid": "d150a03e-5a56-4cec-8b52-e648777bc2ce"}); })(); @@ -1775,13 +1775,13 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 26528; +STATICTOP = STATIC_BASE + 26512; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,48,98,159,57,21,31,31,58,45,208,110,58,21,31,159,58,161,247,198,58,159,174,238,58,150,67,11,59,21,31,31,59,91,11,51,59,218,230,70,59,88,89,91,59,211,249,112,59,38,228,131,59,97,226,143,59,97,136,156,59,196,205,169,59,38,170,183,59,177,54,198,59,158,98,213,59,80,54,229,59,44,186,245,59,231,114,3,60,204,96,12,60,198,166,21,60,212,68,31,60,41,63,41,60,146,145,51,60,66,64,62,60,56,75,73,60,166,182,84,60,90,126,96,60,135,166,108,60,43,47,121,60,11,10,131,60,213,174,137,60,245,133,144,60,80,141,151,60,0,199,158,60,30,53,166,60,120,211,173,60,64,166,181,60,92,171,189,60,255,230,197,60,248,84,206,60,94,247,214,60,74,208,223,60,165,221,232,60,134,33,242,60,212,153,251,60,97,165,2,61,28,153,7,61,26,168,12,61,91,210,17,61,236,24,23,61,204,123,28,61,253,250,33,61,125,150,39,61,77,78,45,61,121,35,51,61,245,20,57,61,205,35,63,61,1,80,69,61,145,153,75,61,113,255,81,61,199,132,88,61,108,38,95,61,121,230,101,61,240,196,108,61,206,193,115,61,22,221,122,61,99,11,129,61,111,183,132,61,54,115,136,61,50,62,140,61,231,24,144,61,88,3,148,61,130,253,151,61,226,6,156,61,129,32,160,61,98,74,164,61,253,131,168,61,83,205,172,61,233,38,177,61,71,145,181,61,95,11,186,61,184,149,190,61,81,48,195,61,177,219,199,61,217,151,204,61,65,100,209,61,234,64,214,61,224,46,219,61,157,45,224,61,155,60,229,61,230,92,234,61,126,142,239,61,87,208,244,61,3,36,250,61,118,136,255,61,27,127,2,62,95,66,5,62,141,14,8,62,97,227,10,62,30,193,13,62,63,167,16,62,74,150,19,62,63,142,22,62,29,143,25,62,162,152,28,62,17,171,31,62,172,198,34,62,238,234,37,62,93,24,41,62,181,78,44,62,59,142,47,62,170,214,50,62,70,40,54,62,14,131,57,62,4,231,60,62,38,84,64,62,117,202,67,62,241,73,71,62,154,210,74,62,178,100,78,62,59,0,82,62,240,164,85,62,21,83,89,62,170,10,93,62,108,203,96,62,225,149,100,62,198,105,104,62,27,71,108,62,35,46,112,62,155,30,116,62,131,24,120,62,29,28,124,62,182,20,128,62,54,32,130,62,144,48,132,62,195,69,134,62,208,95,136,62,183,126,138,62,119,162,140,62,50,203,142,62,232,248,144,62,119,43,147,62,2,99,149,62,102,159,151,62,231,224,153,62,66,39,156,62,185,114,158,62,43,195,160,62,152,24,163,62,0,115,165,62,133,210,167,62,38,55,170,62,195,160,172,62,90,15,175,62,48,131,177,62,34,252,179,62,16,122,182,62,59,253,184,62,131,133,187,62,232,18,190,62,106,165,192,62,41,61,195,62,39,218,197,62,66,124,200,62,121,35,203,62,15,208,205,62,195,129,208,62,214,56,211,62,6,245,213,62,149,182,216,62,99,125,219,62,111,73,222,62,185,26,225,62,99,241,227,62,108,205,230,62,180,174,233,62,91,149,236,62,98,129,239,62,201,114,242,62,110,105,245,62,149,101,248,62,27,103,251,62,1,110,254,62,52,189,0,63,6,70,2,63,171,209,3,63,254,95,5,63,2,241,6,63,199,132,8,63,92,27,10,63,162,180,11,63,152,80,13,63,95,239,14,63,247,144,16,63,63,53,18,63,89,220,19,63,35,134,21,63,207,50,23,63,59,226,24,63,104,148,26,63,119,73,28,63,71,1,30,63,216,187,31,63,74,121,33,63,143,57,35,63,164,252,36,63,139,194,38,63,68,139,40,63,205,86,42,63,57,37,44,63,136,246,45,63,151,202,47,63,152,161,49,63,108,123,51,63,33,88,53,63,185,55,55,63,34,26,57,63,126,255,58,63,188,231,60,63,204,210,62,63,207,192,64,63,196,177,66,63,139,165,68,63,69,156,70,63,242,149,72,63,129,146,74,63,4,146,76,63,104,148,78,63,208,153,80,63,26,162,82,63,88,173,84,63,136,187,86,63,171,204,88,63,210,224,90,63,219,247,92,63,232,17,95,63,232,46,97,63,236,78,99,63,227,113,101,63,221,151,103,63,219,192,105,63,204,236,107,63,193,27,110,63,186,77,112,63,182,130,114,63,182,186,116,63,169,245,118,63,177,51,121,63,205,116,123,63,220,184,125,63,0,0,128,63,13,0,115,0,13,0,122,0,13,0,128,0,13,0,135,0,13,0,141,0,13,0,148,0,13,0,154,0,13,0,161,0,26,0,167,0,26,0,180,0,26,0,193,0,26,0,206,0,26,0,218,0,26,0,231,0,26,0,244,0,26,0,1,1,51,0,14,1,51,0,40,1,51,0,65,1,51,0,91,1,51,0,117,1,51,0,143,1,51,0,168,1,51,0,194,1,103,0,220,1,103,0,15,2,103,0,67,2,103,0,118,2,103,0,170,2,103,0,221,2,103,0,17,3,103,0,68,3,206,0,120,3,206,0,223,3,206,0,70,4,206,0,173,4,206,0,20,5,197,0,123,5,188,0,221,5,181,0,59,6,88,1,151,6,66,1,66,7,48,1,227,7,32,1,123,8,18,1,11,9,6,1,148,9,252,0,23,10,242,0,149,10,203,1,15,11,174,1,244,11,149,1,203,12,128,1,149,13,110,1,86,14,94,1,13,15,80,1,188,15,67,1,99,16,100,2,7,17,62,2,56,18,29,2,87,19,1,2,102,20,233,1,102,21,211,1,90,22,192,1,68,23,175,1,36,24,49,3,254,24,254,2,150,26,210,2,21,28,173,2,126,29,141,2,212,30,112,2,26,32,86,2,82,33,64,2,125,34,67,4,159,35,254,3,192,37,196,3,191,39,146,3,161,41,103,3,106,43,65,3,29,45,31,3,190,46,0,3,77,48,176,5,209,49,85,5,168,52,7,5,82,55,197,4,213,57,139,4,55,60,88,4,124,62,42,4,168,64,1,4,189,66,152,7,194,68,30,7,142,72,182,6,28,76,93,6,118,79,16,6,165,82,204,5,172,85,143,5,146,88,89,5,89,91,35,10,12,94,128,9,28,99,246,8,219,103,127,8,85,108,24,8,148,112,189,7,160,116,108,7,125,120,35,7,51,124,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,20,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,159,99,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,20,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,105,109,97,103,101,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,99,97,116,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,112,97,114,114,111,116,115,46,112,110,103,0,87,101,32,97,114,101,32,100,114,97,119,105,110,103,32,111,110,108,121,32,111,110,101,32,116,101,120,116,117,114,101,32,102,114,111,109,32,118,97,114,105,111,117,115,32,105,109,97,103,101,115,32,99,111,109,112,111,115,101,100,33,0,83,111,117,114,99,101,32,105,109,97,103,101,115,32,104,97,118,101,32,98,101,101,110,32,99,114,111,112,112,101,100,44,32,115,99,97,108,101,100,44,32,102,108,105,112,112,101,100,32,97,110,100,32,99,111,112,105,101,100,32,111,110,101,32,111,118,101,114,32,116,104,101,32,111,116,104,101,114,46,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,1,2,4,4,105,110,102,111,45,62,99,104,97,110,110,101,108,115,32,62,61,32,48,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,95,114,101,115,105,122,101,46,104,0,115,116,98,105,114,95,95,114,101,115,105,122,101,95,97,108,108,111,99,97,116,101,100,0,105,110,102,111,45,62,99,104,97,110,110,101,108,115,32,60,61,32,54,52,0,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,32,60,32,40,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,41,47,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,91,48,93,41,41,0,105,110,102,111,45,62,118,101,114,116,105,99,97,108,95,102,105,108,116,101,114,32,60,32,40,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,41,47,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,91,48,93,41,41,0,97,108,112,104,97,95,99,104,97,110,110,101,108,32,62,61,32,48,32,38,38,32,97,108,112,104,97,95,99,104,97,110,110,101,108,32,60,32,105,110,102,111,45,62,99,104,97,110,110,101,108,115,0,116,101,109,112,109,101,109,0,116,101,109,112,109,101,109,95,115,105,122,101,95,105,110,95,98,121,116,101,115,32,62,61,32,109,101,109,111,114,121,95,114,101,113,117,105,114,101,100,0,40,115,105,122,101,95,116,41,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,40,40,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,105,110,102,111,45,62,101,110,99,111,100,101,95,98,117,102,102,101,114,41,32,43,32,105,110,102,111,45,62,101,110,99,111,100,101,95,98,117,102,102,101,114,95,115,105,122,101,41,32,61,61,32,40,115,105,122,101,95,116,41,116,101,109,112,109,101,109,32,43,32,116,101,109,112,109,101,109,95,115,105,122,101,95,105,110,95,98,121,116,101,115,0,40,115,105,122,101,95,116,41,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,40,40,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,41,32,43,32,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,95,115,105,122,101,41,32,61,61,32,40,115,105,122,101,95,116,41,116,101,109,112,109,101,109,32,43,32,116,101,109,112,109,101,109,95,115,105,122,101,95,105,110,95,98,121,116,101,115,0,33,115,116,98,105,114,95,95,117,115,101,95,104,101,105,103,104,116,95,117,112,115,97,109,112,108,105,110,103,40,115,116,98,105,114,95,105,110,102,111,41,0,115,116,98,105,114,95,95,98,117,102,102,101,114,95,108,111,111,112,95,100,111,119,110,115,97,109,112,108,101,0,111,117,116,95,108,97,115,116,95,115,99,97,110,108,105,110,101,32,45,32,111,117,116,95,102,105,114,115,116,95,115,99,97,110,108,105,110,101,32,60,61,32,115,116,98,105,114,95,105,110,102,111,45,62,118,101,114,116,105,99,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,119,105,100,116,104,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,118,101,114,116,105,99,97,108,95,100,111,119,110,115,97,109,112,108,101,0,114,105,110,103,95,98,117,102,102,101,114,95,105,110,100,101,120,32,33,61,32,115,116,98,105,114,95,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,95,98,101,103,105,110,95,105,110,100,101,120,0,115,116,98,105,114,95,95,97,100,100,95,101,109,112,116,121,95,114,105,110,103,95,98,117,102,102,101,114,95,101,110,116,114,121,0,33,115,116,98,105,114,95,95,117,115,101,95,119,105,100,116,104,95,117,112,115,97,109,112,108,105,110,103,40,115,116,98,105,114,95,105,110,102,111,41,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,104,111,114,105,122,111,110,116,97,108,95,100,111,119,110,115,97,109,112,108,101,0,99,111,101,102,102,105,99,105,101,110,116,32,33,61,32,48,0,110,49,32,62,61,32,110,48,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,104,111,114,105,122,111,110,116,97,108,95,117,112,115,97,109,112,108,101,0,110,48,32,62,61,32,45,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,110,49,32,62,61,32,45,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,110,48,32,60,32,115,116,98,105,114,95,105,110,102,111,45,62,105,110,112,117,116,95,119,32,43,32,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,110,49,32,60,32,115,116,98,105,114,95,105,110,102,111,45,62,105,110,112,117,116,95,119,32,43,32,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,33,34,85,110,107,110,111,119,110,32,116,121,112,101,47,99,111,108,111,114,115,112,97,99,101,47,99,104,97,110,110,101,108,115,32,99,111,109,98,105,110,97,116,105,111,110,46,34,0,115,116,98,105,114,95,95,100,101,99,111,100,101,95,115,99,97,110,108,105,110,101,0,33,34,85,110,105,109,112,108,101,109,101,110,116,101,100,32,101,100,103,101,32,116,121,112,101,34,0,115,116,98,105,114,95,95,101,100,103,101,95,119,114,97,112,95,115,108,111,119,0,115,116,98,105,114,95,95,101,110,99,111,100,101,95,115,99,97,110,108,105,110,101,0,115,99,97,108,101,32,60,61,32,49,0,115,116,98,105,114,95,95,115,117,112,112,111,114,116,95,116,114,97,112,101,122,111,105,100,0,115,116,98,105,114,95,95,102,105,108,116,101,114,95,116,114,97,112,101,122,111,105,100,0,115,116,98,105,114,95,95,117,115,101,95,104,101,105,103,104,116,95,117,112,115,97,109,112,108,105,110,103,40,115,116,98,105,114,95,105,110,102,111,41,0,115,116,98,105,114,95,95,98,117,102,102,101,114,95,108,111,111,112,95,117,112,115,97,109,112,108,101,0,105,110,95,108,97,115,116,95,115,99,97,110,108,105,110,101,32,45,32,105,110,95,102,105,114,115,116,95,115,99,97,110,108,105,110,101,32,60,61,32,115,116,98,105,114,95,105,110,102,111,45,62,118,101,114,116,105,99,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,119,105,100,116,104,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,118,101,114,116,105,99,97,108,95,117,112,115,97,109,112,108,101,0,116,111,116,97,108,32,62,32,48,46,57,102,0,115,116,98,105,114,95,95,110,111,114,109,97,108,105,122,101,95,100,111,119,110,115,97,109,112,108,101,95,99,111,101,102,102,105,99,105,101,110,116,115,0,116,111,116,97,108,32,60,32,49,46,49,102,0,111,117,116,95,108,97,115,116,95,112,105,120,101,108,32,45,32,111,117,116,95,102,105,114,115,116,95,112,105,120,101,108,32,60,61,32,40,105,110,116,41,99,101,105,108,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,115,117,112,112,111,114,116,40,115,99,97,108,101,95,114,97,116,105,111,41,32,42,32,50,41,0,115,116,98,105,114,95,95,99,97,108,99,117,108,97,116,101,95,99,111,101,102,102,105,99,105,101,110,116,115,95,100,111,119,110,115,97,109,112,108,101,0,99,111,110,116,114,105,98,117,116,111,114,45,62,110,49,32,62,61,32,99,111,110,116,114,105,98,117,116,111,114,45,62,110,48,0,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,107,101,114,110,101,108,40,40,102,108,111,97,116,41,40,111,117,116,95,108,97,115,116,95,112,105,120,101,108,32,43,32,49,41,32,43,32,48,46,53,102,32,45,32,111,117,116,95,99,101,110,116,101,114,95,111,102,95,105,110,44,32,115,99,97,108,101,95,114,97,116,105,111,41,32,61,61,32,48,0,105,110,95,108,97,115,116,95,112,105,120,101,108,32,45,32,105,110,95,102,105,114,115,116,95,112,105,120,101,108,32,60,61,32,40,105,110,116,41,99,101,105,108,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,115,117,112,112,111,114,116,40,49,47,115,99,97,108,101,41,32,42,32,50,41,0,115,116,98,105,114,95,95,99,97,108,99,117,108,97,116,101,95,99,111,101,102,102,105,99,105,101,110,116,115,95,117,112,115,97,109,112,108,101,0,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,107,101,114,110,101,108,40,40,102,108,111,97,116,41,40,105,110,95,108,97,115,116,95,112,105,120,101,108,32,43,32,49,41,32,43,32,48,46,53,102,32,45,32,105,110,95,99,101,110,116,101,114,95,111,102,95,111,117,116,44,32,49,47,115,99,97,108,101,41,32,61,61,32,48,0,116,111,116,97,108,95,102,105,108,116,101,114,32,62,32,48,46,57,0,116,111,116,97,108,95,102,105,108,116,101,114,32,60,32,49,46,49,102,0,102,105,108,116,101,114,32,33,61,32,48,0,115,116,98,105,114,95,95,103,101,116,95,102,105,108,116,101,114,95,112,105,120,101,108,95,119,105,100,116,104,0,102,105,108,116,101,114,32,60,32,40,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,41,47,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,91,48,93,41,41,0,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,32,33,61,32,48,0,115,116,98,105,114,95,95,99,97,108,99,117,108,97,116,101,95,109,101,109,111,114,121,0,105,110,102,111,45,62,118,101,114,116,105,99,97,108,95,102,105,108,116,101,114,32,33,61,32,48,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,67,114,111,112,32,114,101,99,116,97,110,103,108,101,32,119,105,100,116,104,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,99,114,111,112,32,119,105,100,116,104,58,32,37,105,0,67,114,111,112,32,114,101,99,116,97,110,103,108,101,32,104,101,105,103,104,116,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,99,114,111,112,32,104,101,105,103,104,116,58,32,37,105,0,73,109,97,103,101,32,99,97,110,32,110,111,116,32,98,101,32,99,114,111,112,112,101,100,44,32,99,114,111,112,32,114,101,99,116,97,110,103,108,101,32,111,117,116,32,111,102,32,98,111,117,110,100,115,0,83,111,117,114,99,101,32,114,101,99,116,97,110,103,108,101,32,119,105,100,116,104,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,119,105,100,116,104,58,32,37,105,0,83,111,117,114,99,101,32,114,101,99,116,97,110,103,108,101,32,104,101,105,103,104,116,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,104,101,105,103,104,116,58,32,37,105,0,68,101,115,116,105,110,97,116,105,111,110,32,114,101,99,116,97,110,103,108,101,32,119,105,100,116,104,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,119,105,100,116,104,58,32,37,105,0,68,101,115,116,105,110,97,116,105,111,110,32,114,101,99,116,97,110,103,108,101,32,104,101,105,103,104,116,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,104,101,105,103,104,116,58,32,37,105,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); -/* memory initializer */ allocate([98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,48,98,159,57,21,31,31,58,45,208,110,58,21,31,159,58,161,247,198,58,159,174,238,58,150,67,11,59,21,31,31,59,91,11,51,59,218,230,70,59,88,89,91,59,211,249,112,59,38,228,131,59,97,226,143,59,97,136,156,59,196,205,169,59,38,170,183,59,177,54,198,59,158,98,213,59,80,54,229,59,44,186,245,59,231,114,3,60,204,96,12,60,198,166,21,60,212,68,31,60,41,63,41,60,146,145,51,60,66,64,62,60,56,75,73,60,166,182,84,60,90,126,96,60,135,166,108,60,43,47,121,60,11,10,131,60,213,174,137,60,245,133,144,60,80,141,151,60,0,199,158,60,30,53,166,60,120,211,173,60,64,166,181,60,92,171,189,60,255,230,197,60,248,84,206,60,94,247,214,60,74,208,223,60,165,221,232,60,134,33,242,60,212,153,251,60,97,165,2,61,28,153,7,61,26,168,12,61,91,210,17,61,236,24,23,61,204,123,28,61,253,250,33,61,125,150,39,61,77,78,45,61,121,35,51,61,245,20,57,61,205,35,63,61,1,80,69,61,145,153,75,61,113,255,81,61,199,132,88,61,108,38,95,61,121,230,101,61,240,196,108,61,206,193,115,61,22,221,122,61,99,11,129,61,111,183,132,61,54,115,136,61,50,62,140,61,231,24,144,61,88,3,148,61,130,253,151,61,226,6,156,61,129,32,160,61,98,74,164,61,253,131,168,61,83,205,172,61,233,38,177,61,71,145,181,61,95,11,186,61,184,149,190,61,81,48,195,61,177,219,199,61,217,151,204,61,65,100,209,61,234,64,214,61,224,46,219,61,157,45,224,61,155,60,229,61,230,92,234,61,126,142,239,61,87,208,244,61,3,36,250,61,118,136,255,61,27,127,2,62,95,66,5,62,141,14,8,62,97,227,10,62,30,193,13,62,63,167,16,62,74,150,19,62,63,142,22,62,29,143,25,62,162,152,28,62,17,171,31,62,172,198,34,62,238,234,37,62,93,24,41,62,181,78,44,62,59,142,47,62,170,214,50,62,70,40,54,62,14,131,57,62,4,231,60,62,38,84,64,62,117,202,67,62,241,73,71,62,154,210,74,62,178,100,78,62,59,0,82,62,240,164,85,62,21,83,89,62,170,10,93,62,108,203,96,62,225,149,100,62,198,105,104,62,27,71,108,62,35,46,112,62,155,30,116,62,131,24,120,62,29,28,124,62,182,20,128,62,54,32,130,62,144,48,132,62,195,69,134,62,208,95,136,62,183,126,138,62,119,162,140,62,50,203,142,62,232,248,144,62,119,43,147,62,2,99,149,62,102,159,151,62,231,224,153,62,66,39,156,62,185,114,158,62,43,195,160,62,152,24,163,62,0,115,165,62,133,210,167,62,38,55,170,62,195,160,172,62,90,15,175,62,48,131,177,62,34,252,179,62,16,122,182,62,59,253,184,62,131,133,187,62,232,18,190,62,106,165,192,62,41,61,195,62,39,218,197,62,66,124,200,62,121,35,203,62,15,208,205,62,195,129,208,62,214,56,211,62,6,245,213,62,149,182,216,62,99,125,219,62,111,73,222,62,185,26,225,62,99,241,227,62,108,205,230,62,180,174,233,62,91,149,236,62,98,129,239,62,201,114,242,62,110,105,245,62,149,101,248,62,27,103,251,62,1,110,254,62,52,189,0,63,6,70,2,63,171,209,3,63,254,95,5,63,2,241,6,63,199,132,8,63,92,27,10,63,162,180,11,63,152,80,13,63,95,239,14,63,247,144,16,63,63,53,18,63,89,220,19,63,35,134,21,63,207,50,23,63,59,226,24,63,104,148,26,63,119,73,28,63,71,1,30,63,216,187,31,63,74,121,33,63,143,57,35,63,164,252,36,63,139,194,38,63,68,139,40,63,205,86,42,63,57,37,44,63,136,246,45,63,151,202,47,63,152,161,49,63,108,123,51,63,33,88,53,63,185,55,55,63,34,26,57,63,126,255,58,63,188,231,60,63,204,210,62,63,207,192,64,63,196,177,66,63,139,165,68,63,69,156,70,63,242,149,72,63,129,146,74,63,4,146,76,63,104,148,78,63,208,153,80,63,26,162,82,63,88,173,84,63,136,187,86,63,171,204,88,63,210,224,90,63,219,247,92,63,232,17,95,63,232,46,97,63,236,78,99,63,227,113,101,63,221,151,103,63,219,192,105,63,204,236,107,63,193,27,110,63,186,77,112,63,182,130,114,63,182,186,116,63,169,245,118,63,177,51,121,63,205,116,123,63,220,184,125,63,0,0,128,63,13,0,115,0,13,0,122,0,13,0,128,0,13,0,135,0,13,0,141,0,13,0,148,0,13,0,154,0,13,0,161,0,26,0,167,0,26,0,180,0,26,0,193,0,26,0,206,0,26,0,218,0,26,0,231,0,26,0,244,0,26,0,1,1,51,0,14,1,51,0,40,1,51,0,65,1,51,0,91,1,51,0,117,1,51,0,143,1,51,0,168,1,51,0,194,1,103,0,220,1,103,0,15,2,103,0,67,2,103,0,118,2,103,0,170,2,103,0,221,2,103,0,17,3,103,0,68,3,206,0,120,3,206,0,223,3,206,0,70,4,206,0,173,4,206,0,20,5,197,0,123,5,188,0,221,5,181,0,59,6,88,1,151,6,66,1,66,7,48,1,227,7,32,1,123,8,18,1,11,9,6,1,148,9,252,0,23,10,242,0,149,10,203,1,15,11,174,1,244,11,149,1,203,12,128,1,149,13,110,1,86,14,94,1,13,15,80,1,188,15,67,1,99,16,100,2,7,17,62,2,56,18,29,2,87,19,1,2,102,20,233,1,102,21,211,1,90,22,192,1,68,23,175,1,36,24,49,3,254,24,254,2,150,26,210,2,21,28,173,2,126,29,141,2,212,30,112,2,26,32,86,2,82,33,64,2,125,34,67,4,159,35,254,3,192,37,196,3,191,39,146,3,161,41,103,3,106,43,65,3,29,45,31,3,190,46,0,3,77,48,176,5,209,49,85,5,168,52,7,5,82,55,197,4,213,57,139,4,55,60,88,4,124,62,42,4,168,64,1,4,189,66,152,7,194,68,30,7,142,72,182,6,28,76,93,6,118,79,16,6,165,82,204,5,172,85,143,5,146,88,89,5,89,91,35,10,12,94,128,9,28,99,246,8,219,103,127,8,85,108,24,8,148,112,189,7,160,116,108,7,125,120,35,7,51,124,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,20,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,143,99,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,20,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,105,109,97,103,101,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,99,97,116,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,112,97,114,114,111,116,115,46,112,110,103,0,87,101,32,97,114,101,32,100,114,97,119,105,110,103,32,111,110,108,121,32,111,110,101,32,116,101,120,116,117,114,101,32,102,114,111,109,32,118,97,114,105,111,117,115,32,105,109,97,103,101,115,32,99,111,109,112,111,115,101,100,33,0,83,111,117,114,99,101,32,105,109,97,103,101,115,32,104,97,118,101,32,98,101,101,110,32,99,114,111,112,112,101,100,44,32,115,99,97,108,101,100,44,32,102,108,105,112,112,101,100,32,97,110,100,32,99,111,112,105,101,100,32,111,110,101,32,111,118,101,114,32,116,104,101,32,111,116,104,101,114,46,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,1,2,4,4,105,110,102,111,45,62,99,104,97,110,110,101,108,115,32,62,61,32,48,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,95,114,101,115,105,122,101,46,104,0,115,116,98,105,114,95,95,114,101,115,105,122,101,95,97,108,108,111,99,97,116,101,100,0,105,110,102,111,45,62,99,104,97,110,110,101,108,115,32,60,61,32,54,52,0,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,32,60,32,40,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,41,47,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,91,48,93,41,41,0,105,110,102,111,45,62,118,101,114,116,105,99,97,108,95,102,105,108,116,101,114,32,60,32,40,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,41,47,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,91,48,93,41,41,0,97,108,112,104,97,95,99,104,97,110,110,101,108,32,62,61,32,48,32,38,38,32,97,108,112,104,97,95,99,104,97,110,110,101,108,32,60,32,105,110,102,111,45,62,99,104,97,110,110,101,108,115,0,116,101,109,112,109,101,109,0,116,101,109,112,109,101,109,95,115,105,122,101,95,105,110,95,98,121,116,101,115,32,62,61,32,109,101,109,111,114,121,95,114,101,113,117,105,114,101,100,0,40,115,105,122,101,95,116,41,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,40,40,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,105,110,102,111,45,62,101,110,99,111,100,101,95,98,117,102,102,101,114,41,32,43,32,105,110,102,111,45,62,101,110,99,111,100,101,95,98,117,102,102,101,114,95,115,105,122,101,41,32,61,61,32,40,115,105,122,101,95,116,41,116,101,109,112,109,101,109,32,43,32,116,101,109,112,109,101,109,95,115,105,122,101,95,105,110,95,98,121,116,101,115,0,40,115,105,122,101,95,116,41,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,40,40,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,41,32,43,32,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,95,115,105,122,101,41,32,61,61,32,40,115,105,122,101,95,116,41,116,101,109,112,109,101,109,32,43,32,116,101,109,112,109,101,109,95,115,105,122,101,95,105,110,95,98,121,116,101,115,0,33,115,116,98,105,114,95,95,117,115,101,95,104,101,105,103,104,116,95,117,112,115,97,109,112,108,105,110,103,40,115,116,98,105,114,95,105,110,102,111,41,0,115,116,98,105,114,95,95,98,117,102,102,101,114,95,108,111,111,112,95,100,111,119,110,115,97,109,112,108,101,0,111,117,116,95,108,97,115,116,95,115,99,97,110,108,105,110,101,32,45,32,111,117,116,95,102,105,114,115,116,95,115,99,97,110,108,105,110,101,32,43,32,49,32,60,61,32,115,116,98,105,114,95,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,95,110,117,109,95,101,110,116,114,105,101,115,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,118,101,114,116,105,99,97,108,95,100,111,119,110,115,97,109,112,108,101,0,114,105,110,103,95,98,117,102,102,101,114,95,105,110,100,101,120,32,33,61,32,115,116,98,105,114,95,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,95,98,101,103,105,110,95,105,110,100,101,120,0,115,116,98,105,114,95,95,97,100,100,95,101,109,112,116,121,95,114,105,110,103,95,98,117,102,102,101,114,95,101,110,116,114,121,0,33,115,116,98,105,114,95,95,117,115,101,95,119,105,100,116,104,95,117,112,115,97,109,112,108,105,110,103,40,115,116,98,105,114,95,105,110,102,111,41,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,104,111,114,105,122,111,110,116,97,108,95,100,111,119,110,115,97,109,112,108,101,0,99,111,101,102,102,105,99,105,101,110,116,32,33,61,32,48,0,110,49,32,62,61,32,110,48,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,104,111,114,105,122,111,110,116,97,108,95,117,112,115,97,109,112,108,101,0,110,48,32,62,61,32,45,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,110,49,32,62,61,32,45,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,110,48,32,60,32,115,116,98,105,114,95,105,110,102,111,45,62,105,110,112,117,116,95,119,32,43,32,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,110,49,32,60,32,115,116,98,105,114,95,105,110,102,111,45,62,105,110,112,117,116,95,119,32,43,32,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,33,34,85,110,107,110,111,119,110,32,116,121,112,101,47,99,111,108,111,114,115,112,97,99,101,47,99,104,97,110,110,101,108,115,32,99,111,109,98,105,110,97,116,105,111,110,46,34,0,115,116,98,105,114,95,95,100,101,99,111,100,101,95,115,99,97,110,108,105,110,101,0,33,34,85,110,105,109,112,108,101,109,101,110,116,101,100,32,101,100,103,101,32,116,121,112,101,34,0,115,116,98,105,114,95,95,101,100,103,101,95,119,114,97,112,95,115,108,111,119,0,115,116,98,105,114,95,95,101,110,99,111,100,101,95,115,99,97,110,108,105,110,101,0,115,99,97,108,101,32,60,61,32,49,0,115,116,98,105,114,95,95,115,117,112,112,111,114,116,95,116,114,97,112,101,122,111,105,100,0,115,116,98,105,114,95,95,102,105,108,116,101,114,95,116,114,97,112,101,122,111,105,100,0,115,116,98,105,114,95,95,117,115,101,95,104,101,105,103,104,116,95,117,112,115,97,109,112,108,105,110,103,40,115,116,98,105,114,95,105,110,102,111,41,0,115,116,98,105,114,95,95,98,117,102,102,101,114,95,108,111,111,112,95,117,112,115,97,109,112,108,101,0,105,110,95,108,97,115,116,95,115,99,97,110,108,105,110,101,32,45,32,105,110,95,102,105,114,115,116,95,115,99,97,110,108,105,110,101,32,43,32,49,32,60,61,32,115,116,98,105,114,95,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,95,110,117,109,95,101,110,116,114,105,101,115,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,118,101,114,116,105,99,97,108,95,117,112,115,97,109,112,108,101,0,116,111,116,97,108,32,62,32,48,46,57,102,0,115,116,98,105,114,95,95,110,111,114,109,97,108,105,122,101,95,100,111,119,110,115,97,109,112,108,101,95,99,111,101,102,102,105,99,105,101,110,116,115,0,116,111,116,97,108,32,60,32,49,46,49,102,0,111,117,116,95,108,97,115,116,95,112,105,120,101,108,32,45,32,111,117,116,95,102,105,114,115,116,95,112,105,120,101,108,32,60,61,32,40,105,110,116,41,99,101,105,108,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,115,117,112,112,111,114,116,40,115,99,97,108,101,95,114,97,116,105,111,41,32,42,32,50,41,0,115,116,98,105,114,95,95,99,97,108,99,117,108,97,116,101,95,99,111,101,102,102,105,99,105,101,110,116,115,95,100,111,119,110,115,97,109,112,108,101,0,99,111,110,116,114,105,98,117,116,111,114,45,62,110,49,32,62,61,32,99,111,110,116,114,105,98,117,116,111,114,45,62,110,48,0,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,107,101,114,110,101,108,40,40,102,108,111,97,116,41,40,111,117,116,95,108,97,115,116,95,112,105,120,101,108,32,43,32,49,41,32,43,32,48,46,53,102,32,45,32,111,117,116,95,99,101,110,116,101,114,95,111,102,95,105,110,44,32,115,99,97,108,101,95,114,97,116,105,111,41,32,61,61,32,48,0,105,110,95,108,97,115,116,95,112,105,120,101,108,32,45,32,105,110,95,102,105,114,115,116,95,112,105,120,101,108,32,60,61,32,40,105,110,116,41,99,101,105,108,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,115,117,112,112,111,114,116,40,49,47,115,99,97,108,101,41,32,42,32,50,41,0,115,116,98,105,114,95,95,99,97,108,99,117,108,97,116,101,95,99,111,101,102,102,105,99,105,101,110,116,115,95,117,112,115,97,109,112,108,101,0,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,107,101,114,110,101,108,40,40,102,108,111,97,116,41,40,105,110,95,108,97,115,116,95,112,105,120,101,108,32,43,32,49,41,32,43,32,48,46,53,102,32,45,32,105,110,95,99,101,110,116,101,114,95,111,102,95,111,117,116,44,32,49,47,115,99,97,108,101,41,32,61,61,32,48,0,116,111,116,97,108,95,102,105,108,116,101,114,32,62,32,48,46,57,0,116,111,116,97,108,95,102,105,108,116,101,114,32,60,32,49,46,49,102,0,102,105,108,116,101,114,32,33,61,32,48,0,115,116,98,105,114,95,95,103,101,116,95,102,105,108,116,101,114,95,112,105,120,101,108,95,119,105,100,116,104,0,102,105,108,116,101,114,32,60,32,40,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,41,47,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,91,48,93,41,41,0,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,32,33,61,32,48,0,115,116,98,105,114,95,95,99,97,108,99,117,108,97,116,101,95,109,101,109,111,114,121,0,105,110,102,111,45,62,118,101,114,116,105,99,97,108,95,102,105,108,116,101,114,32,33,61,32,48,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,67,114,111,112,32,114,101,99,116,97,110,103,108,101,32,119,105,100,116,104,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,99,114,111,112,32,119,105,100,116,104,58,32,37,105,0,67,114,111,112,32,114,101,99,116,97,110,103,108,101,32,104,101,105,103,104,116,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,99,114,111,112,32,104,101,105,103,104,116,58,32,37,105,0,73,109,97,103,101,32,99,97,110,32,110,111,116,32,98,101,32,99,114,111,112,112,101,100,44,32,99,114,111,112,32,114,101,99,116,97,110,103,108,101,32,111,117,116,32,111,102,32,98,111,117,110,100,115,0,83,111,117,114,99,101,32,114,101,99,116,97,110,103,108,101,32,119,105,100,116,104,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,119,105,100,116,104,58,32,37,105,0,83,111,117,114,99,101,32,114,101,99,116,97,110,103,108,101,32,104,101,105,103,104,116,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,104,101,105,103,104,116,58,32,37,105,0,68,101,115,116,105,110,97,116,105,111,110,32,114,101,99,116,97,110,103,108,101,32,119,105,100,116,104,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,119,105,100,116,104,58,32,37,105,0,68,101,115,116,105,110,97,116,105,111,110,32,114,101,99,116,97,110,103,108,101,32,104,101,105,103,104,116,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,104,101,105,103,104,116,58,32,37,105,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480); @@ -10570,11 +10570,11 @@ function _main() { _UnloadImage($texture$byval_copy); ;HEAP32[$texture$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$2+16>>2]|0; _LoadTextureFromImage($6,$texture$byval_copy); - ;HEAP32[21008>>2]=HEAP32[$6>>2]|0;HEAP32[21008+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[21008+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[21008+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[21008+16>>2]=HEAP32[$6+16>>2]|0; + ;HEAP32[21312>>2]=HEAP32[$6>>2]|0;HEAP32[21312+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[21312+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[21312+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[21312+16>>2]=HEAP32[$6+16>>2]|0; ;HEAP32[$texture$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$2+16>>2]|0; _UnloadImage($texture$byval_copy); _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$texture$byval_copy>>2]=HEAP32[21008>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[21008+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[21008+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[21008+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[21008+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[21312>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[21312+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[21312+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[21312+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[21312+16>>2]|0; _UnloadTexture($texture$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10604,27 +10604,27 @@ function _UpdateDrawFrame() { _ClearBackground($$byval_copy3); $8 = HEAP32[2]|0; $9 = (($8|0) / 2)&-1; - $10 = HEAP32[(21012)>>2]|0; + $10 = HEAP32[(21316)>>2]|0; $11 = (($10|0) / 2)&-1; $12 = (($9) - ($11))|0; $13 = HEAP32[3]|0; $14 = (($13|0) / 2)&-1; - $15 = HEAP32[(21016)>>2]|0; + $15 = HEAP32[(21320)>>2]|0; $$neg = (($15|0) / -2)&-1; $16 = (($14) + -40)|0; $17 = (($16) + ($$neg))|0; HEAP32[$1>>2] = -1; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[21008>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[21008+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[21008+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[21008+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[21008+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[21312>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[21312+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[21312+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[21312+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[21312+16>>2]|0; ;HEAP8[$$byval_copy3>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$1+3>>0]|0; _DrawTexture($texture$byval_copy,$12,$17,$$byval_copy3); $18 = HEAP32[2]|0; $19 = (($18|0) / 2)&-1; - $20 = HEAP32[(21012)>>2]|0; + $20 = HEAP32[(21316)>>2]|0; $21 = (($20|0) / 2)&-1; $22 = (($19) - ($21))|0; $23 = HEAP32[3]|0; $24 = (($23|0) / 2)&-1; - $25 = HEAP32[(21016)>>2]|0; + $25 = HEAP32[(21320)>>2]|0; $$neg1 = (($25|0) / -2)&-1; $26 = (($24) + -40)|0; $27 = (($26) + ($$neg1))|0; @@ -10658,6 +10658,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10757,13 +10807,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11373,7 +11416,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[5258] = $2; + HEAP32[5334] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11386,7 +11429,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 20736; + $95 = 21040; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11399,48 +11442,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 20776; + $106 = 21080; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[5194]; - $111 = +HEAPF32[5184]; + $110 = +HEAPF32[5270]; + $111 = +HEAPF32[5260]; $112 = $110 - $111; - HEAPF32[5196] = $112; - $113 = +HEAPF32[(20780)>>2]; - $114 = +HEAPF32[(20740)>>2]; + HEAPF32[5272] = $112; + $113 = +HEAPF32[(21084)>>2]; + $114 = +HEAPF32[(21044)>>2]; $115 = $113 - $114; - HEAPF32[(20788)>>2] = $115; - HEAP32[5257] = 4; + HEAPF32[(21092)>>2] = $115; + HEAP32[5333] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20768>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20768+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20792>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20792+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21072+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21096+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[5263] = $116; - $117 = 20768; + HEAPF32[5339] = $116; + $117 = 21072; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 20736; + $123 = 21040; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 20792; + $127 = 21096; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 20776; + $133 = 21080; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11453,7 +11496,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 20768; + $144 = 21072; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11466,27 +11509,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 20792; + $155 = 21096; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[5198]; - $160 = +HEAPF32[5192]; + $159 = +HEAPF32[5274]; + $160 = +HEAPF32[5268]; $161 = $159 - $160; - HEAPF32[5196] = $161; - $162 = +HEAPF32[(20796)>>2]; - $163 = +HEAPF32[(20772)>>2]; + HEAPF32[5272] = $161; + $162 = +HEAPF32[(21100)>>2]; + $163 = +HEAPF32[(21076)>>2]; $164 = $162 - $163; - HEAPF32[(20788)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20736>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20736+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20768>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20768+4>>2]|0; + HEAPF32[(21092)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21072>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21072+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20776>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20776+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20792>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20792+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21080>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21080+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21096+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11498,31 +11541,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20768>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20768+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20792>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20792+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21072+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21096+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[5263]; + $170 = +HEAPF32[5339]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[5257] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20768>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20768+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20792>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20792+4>>2]|0; + HEAP32[5333] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21072+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21096+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[5264] = $174; + HEAPF32[5340] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[5263] = 0.0; - HEAPF32[5264] = 0.0; - HEAPF32[5196] = 0.0; - HEAPF32[(20788)>>2] = 0.0; - HEAP32[5258] = 0; - HEAP32[5257] = 0; + HEAPF32[5339] = 0.0; + HEAPF32[5340] = 0.0; + HEAPF32[5272] = 0.0; + HEAPF32[(21092)>>2] = 0.0; + HEAP32[5334] = 0; + HEAP32[5333] = 0; STACKTOP = sp;return; break; } @@ -11532,22 +11575,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[5259]|0; + $6 = HEAP32[5335]|0; $7 = (($6) + 1)|0; - HEAP32[5259] = $7; - $8 = HEAP32[5257]|0; + HEAP32[5335] = $7; + $8 = HEAP32[5333]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20736>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20736+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21040+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[5257] = 2; - HEAP32[5259] = 0; + HEAP32[5333] = 2; + HEAP32[5335] = 0; } else { label = 6; } @@ -11555,8 +11598,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[5259] = 1; - HEAP32[5257] = 1; + HEAP32[5335] = 1; + HEAP32[5333] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11565,19 +11608,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 20736; + $21 = 21040; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 20744; + $25 = 21048; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 20752; + $29 = 21056; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11586,13 +11629,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[5190] = 0.0; - HEAPF32[(20764)>>2] = 0.0; + HEAPF32[5266] = 0.0; + HEAPF32[(21068)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[5257]|0; + $35 = HEAP32[5333]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11602,19 +11645,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 20752; + $44 = 21056; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20736>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20736+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20752>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20752+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21056+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[5260] = $49; - HEAP32[5261] = 0; + HEAPF32[5336] = $49; + HEAP32[5337] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11622,11 +11665,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20736>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20736+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20752>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20752+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21056+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[5262] = $56; + HEAPF32[5338] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11657,22 +11700,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[5260] = 0.0; - HEAPF32[5262] = 0.0; + HEAPF32[5336] = 0.0; + HEAPF32[5338] = 0.0; $$sink10 = 0; } - HEAP32[5257] = $$sink10; - HEAPF32[5186] = 0.0; - HEAPF32[(20748)>>2] = 0.0; - HEAP32[5258] = 0; + HEAP32[5333] = $$sink10; + HEAPF32[5262] = 0.0; + HEAPF32[(21052)>>2] = 0.0; + HEAP32[5334] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[5261]|0; + $65 = HEAP32[5337]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[5261] = 1; + HEAP32[5337] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11681,31 +11724,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 20768; + $74 = 21072; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[5257]|0; + $78 = HEAP32[5333]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20736>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20736+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20768>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20768+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21072>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21072+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[5257] = 8; + HEAP32[5333] = 8; } } - $82 = +HEAPF32[5192]; - $83 = +HEAPF32[5186]; + $82 = +HEAPF32[5268]; + $83 = +HEAPF32[5262]; $84 = $82 - $83; - HEAPF32[5190] = $84; - $85 = +HEAPF32[(20772)>>2]; - $86 = +HEAPF32[(20748)>>2]; + HEAPF32[5266] = $84; + $85 = +HEAPF32[(21076)>>2]; + $86 = +HEAPF32[(21052)>>2]; $87 = $85 - $86; - HEAPF32[(20764)>>2] = $87; + HEAPF32[(21068)>>2] = $87; STACKTOP = sp;return; break; } @@ -11714,58 +11757,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5257]|0; + $0 = HEAP32[5333]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[5258]|0; + $2 = HEAP32[5334]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[5257] = 4; + HEAP32[5333] = 4; } - $4 = HEAP32[5257]|0; + $4 = HEAP32[5333]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11778,14 +11782,14 @@ function _UpdateGestures() { return; } } - HEAP32[5257] = 0; + HEAP32[5333] = 0; return; } function _GetMousePosition($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 = 20800; + $1 = 21104; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11802,13 +11806,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5267]|0; + $0 = HEAP32[5343]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5266]|0; + $0 = HEAP32[5342]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11820,7 +11824,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,5708,$vararg_buffer); - HEAP32[5269] = $2; + HEAP32[5345] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11833,15 +11837,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((5737|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[5267]|0; + $3 = HEAP32[5343]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[5200] = $5; - $6 = HEAP32[5266]|0; + HEAPF32[5276] = $5; + $6 = HEAP32[5342]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(20804)>>2] = $8; - $9 = HEAP32[5270]|0; + HEAPF32[(21108)>>2] = $8; + $9 = HEAP32[5346]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11860,11 +11864,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[20840>>0]=HEAP8[10266>>0]|0;HEAP8[20840+1>>0]=HEAP8[10266+1>>0]|0;HEAP8[20840+2>>0]=HEAP8[10266+2>>0]|0;HEAP8[20840+3>>0]=HEAP8[10266+3>>0]|0;HEAP8[20840+4>>0]=HEAP8[10266+4>>0]|0;HEAP8[20840+5>>0]=HEAP8[10266+5>>0]|0;HEAP8[20840+6>>0]=HEAP8[10266+6>>0]|0; + ;HEAP8[21144>>0]=HEAP8[10266>>0]|0;HEAP8[21144+1>>0]=HEAP8[10266+1>>0]|0;HEAP8[21144+2>>0]=HEAP8[10266+2>>0]|0;HEAP8[21144+3>>0]=HEAP8[10266+3>>0]|0;HEAP8[21144+4>>0]=HEAP8[10266+4>>0]|0;HEAP8[21144+5>>0]=HEAP8[10266+5>>0]|0;HEAP8[21144+6>>0]=HEAP8[10266+6>>0]|0; break; } case 1: { - $3 = 20840; + $3 = 21144; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11873,11 +11877,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=20840; src=10273; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=21144; src=10273; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 20840; + $7 = 21144; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11888,16 +11892,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(20840,$1)|0); - $strlen = (_strlen(20840)|0); - $endptr = (20840 + ($strlen)|0); + (_strcat(21144,$1)|0); + $strlen = (_strlen(21144)|0); + $endptr = (21144 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(20840,$2)|0); + (_vprintf(21144,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11929,22 +11933,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[5267] = $0; - HEAP32[5266] = $1; + HEAP32[5343] = $0; + HEAP32[5342] = $1; _MatrixIdentity($2); - dest=21156; 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)); + dest=21460; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,6408,$vararg_buffer); } - $6 = HEAP32[5267]|0; - HEAP32[5305] = $6; - $7 = HEAP32[5266]|0; - HEAP32[5306] = $7; + $6 = HEAP32[5343]|0; + HEAP32[5381] = $6; + $7 = HEAP32[5342]|0; + HEAP32[5382] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[23888]|0; + $8 = HEAP8[24192]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11952,13 +11956,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[23888]|0; + $11 = HEAP8[24192]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[23888]|0; + $14 = HEAP8[24192]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -11980,18 +11984,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[5307]|0; + $21 = HEAP32[5383]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[5267]|0; - $48 = HEAP32[5266]|0; - $49 = HEAP32[5269]|0; + $47 = HEAP32[5343]|0; + $48 = HEAP32[5342]|0; + $49 = HEAP32[5345]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[5265] = $50; - $51 = HEAP32[5267]|0; - HEAP32[5308] = $51; - $52 = HEAP32[5266]|0; - HEAP32[5309] = $52; + HEAP32[5341] = $50; + $51 = HEAP32[5343]|0; + HEAP32[5384] = $51; + $52 = HEAP32[5342]|0; + HEAP32[5385] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12000,9 +12004,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[5267]|0; + $27 = HEAP32[5343]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[5266]|0; + $29 = HEAP32[5342]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12024,25 +12028,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[5305] = $31; - HEAP32[5306] = $34; + HEAP32[5381] = $31; + HEAP32[5382] = $34; } } while(0); - $38 = HEAP32[5305]|0; - $39 = HEAP32[5306]|0; + $38 = HEAP32[5381]|0; + $39 = HEAP32[5382]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,6459,$vararg_buffer3); - $40 = HEAP32[5305]|0; - $41 = HEAP32[5306]|0; + $40 = HEAP32[5381]|0; + $41 = HEAP32[5382]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[5305]|0; - $43 = HEAP32[5306]|0; - $44 = HEAP32[5269]|0; + $42 = HEAP32[5381]|0; + $43 = HEAP32[5382]|0; + $44 = HEAP32[5345]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[5265] = $46; + HEAP32[5341] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12051,60 +12055,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,6497,$vararg_buffer6); } else { _TraceLog(0,6530,$vararg_buffer8); - $55 = HEAP32[5308]|0; - $56 = HEAP32[5309]|0; + $55 = HEAP32[5384]|0; + $56 = HEAP32[5385]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,6570,$vararg_buffer10); - $57 = HEAP32[5267]|0; - $58 = HEAP32[5266]|0; + $57 = HEAP32[5343]|0; + $58 = HEAP32[5342]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,6591,$vararg_buffer14); - $59 = HEAP32[5310]|0; - $60 = HEAP32[5311]|0; + $59 = HEAP32[5386]|0; + $60 = HEAP32[5387]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,6612,$vararg_buffer18); } - $61 = HEAP32[5265]|0; + $61 = HEAP32[5341]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[5265]|0; + $62 = HEAP32[5341]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[5265]|0; + $63 = HEAP32[5341]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[5265]|0; + $64 = HEAP32[5341]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[5265]|0; + $65 = HEAP32[5341]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[5265]|0; + $66 = HEAP32[5341]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[5265]|0; + $67 = HEAP32[5341]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[5265]|0; + $68 = HEAP32[5341]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[5265]|0; + $69 = HEAP32[5341]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[23888]|0; + $70 = HEAP8[24192]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[5267]|0; - $74 = HEAP32[5266]|0; + $73 = HEAP32[5343]|0; + $74 = HEAP32[5342]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[5308]|0; - $76 = HEAP32[5310]|0; + $75 = HEAP32[5384]|0; + $76 = HEAP32[5386]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[5309]|0; - $80 = HEAP32[5311]|0; + $79 = HEAP32[5385]|0; + $80 = HEAP32[5387]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12123,18 +12127,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,6637,$vararg_buffer22); - $73 = HEAP32[5267]|0; - $74 = HEAP32[5266]|0; + $73 = HEAP32[5343]|0; + $74 = HEAP32[5342]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[5308]|0; - $76 = HEAP32[5310]|0; + $75 = HEAP32[5384]|0; + $76 = HEAP32[5386]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[5309]|0; - $80 = HEAP32[5311]|0; + $79 = HEAP32[5385]|0; + $80 = HEAP32[5387]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12162,7 +12166,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(21124)>>2] = 224; + HEAP32[(21428)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12203,27 +12207,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[21100>>2]=HEAP32[$1>>2]|0;HEAP32[21100+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[21100+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[21100+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[21100+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[21404>>2]=HEAP32[$1>>2]|0;HEAP32[21404+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[21404+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[21404+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[21404+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(21124)>>2]|0; + $5 = HEAP32[(21428)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(21128)>>2] = $7; + HEAP32[(21432)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(21120)>>2] = $23; - $24 = HEAP32[5275]|0; + HEAP32[(21424)>>2] = $23; + $24 = HEAP32[5351]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,5932,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(21104)>>2]|0; - $10 = HEAP32[(21124)>>2]|0; - $11 = HEAP32[(21128)>>2]|0; + $9 = HEAP32[(21408)>>2]|0; + $10 = HEAP32[(21428)>>2]|0; + $11 = HEAP32[(21432)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12272,8 +12276,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(21120)>>2] = $23; - $24 = HEAP32[5275]|0; + HEAP32[(21424)>>2] = $23; + $24 = HEAP32[5351]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,5932,$vararg_buffer); STACKTOP = sp;return; @@ -12284,7 +12288,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2604] = $1; + HEAPF64[2642] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12443,7 +12447,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 20816; + $31 = 21120; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12456,7 +12460,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (20824); + $42 = (21128); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12512,7 +12516,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (21084 + ($10<<2)|0); + $11 = (21388 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12526,7 +12530,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2601] = $$; + HEAPF64[2639] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12538,7 +12542,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5270] = 0; + HEAP32[5346] = 0; return; } function _GetTime() { @@ -13114,7 +13118,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[5283]|0; + $6 = HEAP32[5359]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13124,7 +13128,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[5284]|0; + $9 = HEAP32[5360]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13133,7 +13137,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[5285]|0; + $12 = HEAP32[5361]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13143,7 +13147,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[5286]|0; + $15 = HEAP32[5362]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13153,7 +13157,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[5287]|0; + $18 = HEAP32[5363]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13197,7 +13201,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[5283]|0; + $22 = HEAP32[5359]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13205,7 +13209,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[5283]|0; + $24 = HEAP32[5359]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13213,7 +13217,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[5283]|0; + $26 = HEAP32[5359]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13221,7 +13225,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[5283]|0; + $28 = HEAP32[5359]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13229,7 +13233,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[5284]|0; + $30 = HEAP32[5360]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13237,7 +13241,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[5285]|0; + $32 = HEAP32[5361]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13245,7 +13249,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[5285]|0; + $34 = HEAP32[5361]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13253,7 +13257,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[5286]|0; + $36 = HEAP32[5362]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13261,7 +13265,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[5286]|0; + $38 = HEAP32[5362]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13269,7 +13273,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[5287]|0; + $40 = HEAP32[5363]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13277,7 +13281,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[5287]|0; + $42 = HEAP32[5363]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13289,7 +13293,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[5288]|0; + $44 = HEAP32[5364]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13635,20 +13639,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[5267]|0; + $3 = HEAP32[5343]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[5266]|0; + $5 = HEAP32[5342]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[5308] = $3; - HEAP32[5309] = $5; - HEAP32[5310] = 0; - HEAP32[5311] = 0; + HEAP32[5384] = $3; + HEAP32[5385] = $5; + HEAP32[5386] = 0; + HEAP32[5387] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13662,9 +13666,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[5267]|0; + $35 = HEAP32[5343]|0; $36 = (+($35|0)); - $37 = HEAP32[5266]|0; + $37 = HEAP32[5342]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13672,26 +13676,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[5308] = $45; - HEAP32[5309] = $37; + HEAP32[5384] = $45; + HEAP32[5385] = $37; $46 = (($45) - ($35))|0; - HEAP32[5310] = $46; + HEAP32[5386] = $46; $$sink1 = 0; } else { - HEAP32[5308] = $35; + HEAP32[5384] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[5309] = $42; - HEAP32[5310] = 0; + HEAP32[5385] = $42; + HEAP32[5386] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[5311] = $$sink1; + HEAP32[5387] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[5266]|0; + $7 = HEAP32[5342]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13701,11 +13705,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,10019,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[5267]|0; + $9 = HEAP32[5343]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[5266]|0; + $13 = HEAP32[5342]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13713,33 +13717,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[5308] = $23; - HEAP32[5309] = $1; + HEAP32[5384] = $23; + HEAP32[5385] = $1; $24 = (($0) - ($23))|0; - HEAP32[5310] = $24; + HEAP32[5386] = $24; $$sink = 0; } else { - HEAP32[5308] = $0; - $17 = HEAP32[5266]|0; + HEAP32[5384] = $0; + $17 = HEAP32[5342]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[5309] = $20; - HEAP32[5310] = 0; + HEAP32[5385] = $20; + HEAP32[5386] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[5311] = $$sink; - $25 = HEAP32[5308]|0; + HEAP32[5387] = $$sink; + $25 = HEAP32[5384]|0; $26 = (+($25|0)); - $27 = HEAP32[5267]|0; + $27 = HEAP32[5343]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=21156; 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)); - HEAP32[5308] = $0; - HEAP32[5309] = $1; + dest=21460; 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)); + HEAP32[5384] = $0; + HEAP32[5385] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13761,10 +13765,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[5267] = $1; - HEAP32[5266] = $2; - HEAP32[5308] = $1; - HEAP32[5309] = $2; + HEAP32[5343] = $1; + HEAP32[5342] = $2; + HEAP32[5384] = $1; + HEAP32[5385] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13791,7 +13795,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (23895 + ($1)|0); + $9 = (24199 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13812,7 +13816,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (23889 + ($1)|0); + $7 = (24193 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13891,7 +13895,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 20816; + $15 = 21120; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13926,7 +13930,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5681] = $3; + HEAP32[5757] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13936,7 +13940,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5680] = $$sink; + HEAP32[5756] = $$sink; return; } function _rlglInit($0,$1) { @@ -14017,18 +14021,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,6769)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[5346] = 1; + HEAP32[5422] = 1; $27 = (_eglGetProcAddress((6796|0))|0); - HEAP32[5347] = $27; + HEAP32[5423] = $27; $28 = (_eglGetProcAddress((6817|0))|0); - HEAP32[5348] = $28; + HEAP32[5424] = $28; $29 = (_eglGetProcAddress((6838|0))|0); - HEAP32[5349] = $29; + HEAP32[5425] = $29; } $30 = (_strcmp($24,6862)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[5288] = 1; + HEAP32[5364] = 1; } $32 = (_strcmp($24,6882)|0); $33 = ($32|0)==(0); @@ -14050,7 +14054,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[5283] = 1; + HEAP32[5359] = 1; } $39 = (_strcmp($24,6987)|0); $40 = ($39|0)==(0); @@ -14066,35 +14070,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[5284] = 1; + HEAP32[5360] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,7056)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[5285] = 1; + HEAP32[5361] = 1; } $47 = (_strcmp($44,7081)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[5286] = 1; + HEAP32[5362] = 1; } $49 = (_strcmp($44,7114)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[5287] = 1; + HEAP32[5363] = 1; } $51 = (_strcmp($44,7150)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[5350] = 1; - _glGetFloatv(34047,(21404|0)); + HEAP32[5426] = 1; + _glGetFloatv(34047,(21708|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,7184)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[5352] = 1; + HEAP32[5428] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14105,61 +14109,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[5346]|0; + $21 = HEAP32[5422]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,7287,$vararg_buffer15); } else { _TraceLog(0,7212,$vararg_buffer13); } - $57 = HEAP32[5288]|0; + $57 = HEAP32[5364]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,7423,$vararg_buffer19); } else { _TraceLog(0,7348,$vararg_buffer17); } - $59 = HEAP32[5283]|0; + $59 = HEAP32[5359]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,7515,$vararg_buffer21); } - $61 = HEAP32[5284]|0; + $61 = HEAP32[5360]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,7561,$vararg_buffer23); } - $63 = HEAP32[5285]|0; + $63 = HEAP32[5361]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,7608,$vararg_buffer25); } - $65 = HEAP32[5286]|0; + $65 = HEAP32[5362]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,7659,$vararg_buffer27); } - $67 = HEAP32[5287]|0; + $67 = HEAP32[5363]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,7706,$vararg_buffer29); } - $69 = HEAP32[5350]|0; + $69 = HEAP32[5426]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[5351]; + $71 = +HEAPF32[5427]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,7753,$vararg_buffer31); } - $73 = HEAP32[5352]|0; + $73 = HEAP32[5428]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,7819,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[5353] = $75; + HEAP32[5429] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,7923,$vararg_buffer39); @@ -14168,14 +14172,14 @@ function _rlglInit($0,$1) { _TraceLog(0,7872,$vararg_buffer36); } _LoadDefaultShader($2); - dest=21416; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=21472; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=21720; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=21776; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[5382] = $77; + HEAP32[5458] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[5382]|0; + $79 = HEAP32[5458]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14188,7 +14192,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[5383] = $78; + HEAP32[5459] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14203,48 +14207,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[5384] = 1; - $85 = HEAP32[5353]|0; + HEAP32[5460] = 1; + $85 = HEAP32[5429]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[5385] = 4; + HEAP32[5461] = 4; _MatrixIdentity($4); - dest=21544; src=$4; 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)); + dest=21848; src=$4; 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)); _MatrixIdentity($4); - dest=(21608); src=$4; 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)); + dest=(21912); src=$4; 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)); _MatrixIdentity($4); - dest=(21672); src=$4; 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)); + dest=(21976); src=$4; 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)); _MatrixIdentity($4); - dest=(21736); src=$4; 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)); + dest=(22040); src=$4; 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)); _MatrixIdentity($4); - dest=(21800); src=$4; 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)); + dest=(22104); src=$4; 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)); _MatrixIdentity($4); - dest=(21864); src=$4; 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)); + dest=(22168); src=$4; 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)); _MatrixIdentity($4); - dest=(21928); src=$4; 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)); + dest=(22232); src=$4; 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)); _MatrixIdentity($4); - dest=(21992); src=$4; 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)); + dest=(22296); src=$4; 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)); _MatrixIdentity($4); - dest=(22056); src=$4; 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)); + dest=(22360); src=$4; 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)); _MatrixIdentity($4); - dest=(22120); src=$4; 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)); + dest=(22424); src=$4; 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)); _MatrixIdentity($4); - dest=(22184); src=$4; 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)); + dest=(22488); src=$4; 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)); _MatrixIdentity($4); - dest=(22248); src=$4; 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)); + dest=(22552); src=$4; 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)); _MatrixIdentity($4); - dest=(22312); src=$4; 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)); + dest=(22616); src=$4; 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)); _MatrixIdentity($4); - dest=(22376); src=$4; 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)); + dest=(22680); src=$4; 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)); _MatrixIdentity($4); - dest=(22440); src=$4; 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)); + dest=(22744); src=$4; 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)); _MatrixIdentity($4); - dest=(22504); src=$4; 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)); + dest=(22808); src=$4; 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)); _MatrixIdentity($5); - dest=21252; src=$5; 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)); + dest=21556; src=$5; 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)); _MatrixIdentity($6); - dest=21316; src=$6; 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)); - HEAP32[5312] = 21316; + dest=21620; src=$6; 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)); + HEAP32[5388] = 21620; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14255,21 +14259,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5642] = $0; - HEAP32[5643] = $1; + HEAP32[5718] = $0; + HEAP32[5719] = $1; _TraceLog(0,7962,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5310]|0; + $0 = HEAP32[5386]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[5311]|0; + $2 = HEAP32[5387]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[5308]|0; + $4 = HEAP32[5384]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[5309]|0; + $6 = HEAP32[5385]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14280,12 +14284,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 21252; + $modelview$sink = 21556; label = 3; break; } case 5888: { - $modelview$sink = 21316; + $modelview$sink = 21620; label = 3; break; } @@ -14293,9 +14297,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[5312] = $modelview$sink; + HEAP32[5388] = $modelview$sink; } - HEAP32[5345] = $0; + HEAP32[5421] = $0; return; } function _rlLoadIdentity() { @@ -14303,7 +14307,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[5312]|0; + $1 = HEAP32[5388]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14324,7 +14328,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[5312]|0; + $8 = HEAP32[5388]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14421,15 +14425,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(22588)>>2] = $0; + HEAP32[(22892)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(22596)>>2] = $1; - HEAP32[(22592)>>2] = 0; - HEAP32[(22600)>>2] = 0; + HEAP32[(22900)>>2] = $1; + HEAP32[(22896)>>2] = 0; + HEAP32[(22904)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(22596)>>2]|0; + $2 = HEAP32[(22900)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14440,19 +14444,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5644] = 0; - HEAP32[(22584)>>2] = 0; - HEAP32[(22580)>>2] = 0; + HEAP32[5720] = 0; + HEAP32[(22888)>>2] = 0; + HEAP32[(22884)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(22636)>>2] = $5; + HEAP32[(22940)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(22644)>>2] = $6; - HEAP32[(22640)>>2] = 0; - HEAP32[(22648)>>2] = 0; + HEAP32[(22948)>>2] = $6; + HEAP32[(22944)>>2] = 0; + HEAP32[(22952)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(22644)>>2]|0; + $7 = HEAP32[(22948)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14463,24 +14467,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5656] = 0; - HEAP32[(22632)>>2] = 0; - HEAP32[(22628)>>2] = 0; + HEAP32[5732] = 0; + HEAP32[(22936)>>2] = 0; + HEAP32[(22932)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(22684)>>2] = $10; + HEAP32[(22988)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(22688)>>2] = $11; + HEAP32[(22992)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(22692)>>2] = $12; + HEAP32[(22996)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(22696)>>2] = $13; - $14 = HEAP32[(22684)>>2]|0; + HEAP32[(23000)>>2] = $13; + $14 = HEAP32[(22988)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(22688)>>2]|0; + $15 = HEAP32[(22992)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(22692)>>2]|0; + $17 = HEAP32[(22996)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14491,7 +14495,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(22696)>>2]|0; + $16 = HEAP32[(23000)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14528,140 +14532,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5668] = 0; - HEAP32[(22676)>>2] = 0; - HEAP32[(22680)>>2] = 0; + HEAP32[5744] = 0; + HEAP32[(22980)>>2] = 0; + HEAP32[(22984)>>2] = 0; _TraceLog(0,8009,$vararg_buffer); - $20 = HEAP32[5346]|0; + $20 = HEAP32[5422]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[5347]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(22604)); - $44 = HEAP32[5348]|0; - $45 = HEAP32[(22604)>>2]|0; + $43 = HEAP32[5423]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(22908)); + $44 = HEAP32[5424]|0; + $45 = HEAP32[(22908)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((22608)|0)); - $46 = HEAP32[(22608)>>2]|0; + _glGenBuffers(2,((22912)|0)); + $46 = HEAP32[(22912)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(22588)>>2]|0; + $47 = HEAP32[(22892)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(21476)>>2]|0; + $48 = HEAP32[(21780)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(21476)>>2]|0; + $49 = HEAP32[(21780)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((22612)|0)); - $50 = HEAP32[(22612)>>2]|0; + _glGenBuffers(2,((22916)|0)); + $50 = HEAP32[(22916)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(22596)>>2]|0; + $51 = HEAP32[(22900)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(21496)>>2]|0; + $52 = HEAP32[(21800)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(21496)>>2]|0; + $53 = HEAP32[(21800)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[5346]|0; + $54 = HEAP32[5422]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(22608)>>2]|0; - $58 = HEAP32[(22612)>>2]|0; + $57 = HEAP32[(22912)>>2]|0; + $58 = HEAP32[(22916)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,8147,$vararg_buffer3); } else { - $56 = HEAP32[(22604)>>2]|0; + $56 = HEAP32[(22908)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,8082,$vararg_buffer1); } - $59 = HEAP32[5346]|0; + $59 = HEAP32[5422]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[5347]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(22652)); - $62 = HEAP32[5348]|0; - $63 = HEAP32[(22652)>>2]|0; + $61 = HEAP32[5423]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(22956)); + $62 = HEAP32[5424]|0; + $63 = HEAP32[(22956)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((22656)|0)); - $64 = HEAP32[(22656)>>2]|0; + _glGenBuffers(1,((22960)|0)); + $64 = HEAP32[(22960)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(22636)>>2]|0; + $65 = HEAP32[(22940)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(21476)>>2]|0; + $66 = HEAP32[(21780)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(21476)>>2]|0; + $67 = HEAP32[(21780)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((22660)|0)); - $68 = HEAP32[(22660)>>2]|0; + _glGenBuffers(1,((22964)|0)); + $68 = HEAP32[(22964)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(22644)>>2]|0; + $69 = HEAP32[(22948)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(21496)>>2]|0; + $70 = HEAP32[(21800)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(21496)>>2]|0; + $71 = HEAP32[(21800)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[5346]|0; + $72 = HEAP32[5422]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(22656)>>2]|0; - $76 = HEAP32[(22660)>>2]|0; + $75 = HEAP32[(22960)>>2]|0; + $76 = HEAP32[(22964)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,8293,$vararg_buffer10); } else { - $74 = HEAP32[(22652)>>2]|0; + $74 = HEAP32[(22956)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,8224,$vararg_buffer7); } - $77 = HEAP32[5346]|0; + $77 = HEAP32[5422]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[5347]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(22700)); - $80 = HEAP32[5348]|0; - $81 = HEAP32[(22700)>>2]|0; + $79 = HEAP32[5423]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(23004)); + $80 = HEAP32[5424]|0; + $81 = HEAP32[(23004)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((22704)|0)); - $82 = HEAP32[(22704)>>2]|0; + _glGenBuffers(1,((23008)|0)); + $82 = HEAP32[(23008)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(22684)>>2]|0; + $83 = HEAP32[(22988)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(21476)>>2]|0; + $84 = HEAP32[(21780)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(21476)>>2]|0; + $85 = HEAP32[(21780)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((22708)|0)); - $86 = HEAP32[(22708)>>2]|0; + _glGenBuffers(1,((23012)|0)); + $86 = HEAP32[(23012)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(22688)>>2]|0; + $87 = HEAP32[(22992)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(21480)>>2]|0; + $88 = HEAP32[(21784)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(21480)>>2]|0; + $89 = HEAP32[(21784)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((22712)|0)); - $90 = HEAP32[(22712)>>2]|0; + _glGenBuffers(1,((23016)|0)); + $90 = HEAP32[(23016)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(22692)>>2]|0; + $91 = HEAP32[(22996)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(21496)>>2]|0; + $92 = HEAP32[(21800)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(21496)>>2]|0; + $93 = HEAP32[(21800)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((22716)|0)); - $94 = HEAP32[(22716)>>2]|0; + _glGenBuffers(1,((23020)|0)); + $94 = HEAP32[(23020)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(22696)>>2]|0; + $95 = HEAP32[(23000)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[5346]|0; + $96 = HEAP32[5422]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(22704)>>2]|0; - $100 = HEAP32[(22708)>>2]|0; - $101 = HEAP32[(22712)>>2]|0; - $102 = HEAP32[(22716)>>2]|0; + $99 = HEAP32[(23008)>>2]|0; + $100 = HEAP32[(23012)>>2]|0; + $101 = HEAP32[(23016)>>2]|0; + $102 = HEAP32[(23020)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14671,16 +14675,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,8439,$vararg_buffer17); } else { - $98 = HEAP32[(22700)>>2]|0; + $98 = HEAP32[(23004)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,8374,$vararg_buffer14); } - $103 = HEAP32[5346]|0; + $103 = HEAP32[5422]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[5348]|0; + $105 = HEAP32[5424]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14861,9 +14865,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (23889 + ($0)|0); + $1 = (24193 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (23892 + ($0)|0); + $3 = (24196 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14875,9 +14879,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (23889 + ($0)|0); + $1 = (24193 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (23892 + ($0)|0); + $3 = (24196 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14898,7 +14902,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[5265]|0; + $0 = HEAP32[5341]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,10283,$vararg_buffer); @@ -14909,9 +14913,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[21100>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[21100+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[21100+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[21100+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[21100+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[21404>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[21404+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[21404+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[21404+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[21404+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(21128)>>2]|0; + $0 = HEAP32[(21432)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14922,11 +14926,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(21412|0)); - $0 = HEAP32[5353]|0; + _glDeleteTextures(1,(21716|0)); + $0 = HEAP32[5429]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,10310,$vararg_buffer); - $1 = HEAP32[5383]|0; + $1 = HEAP32[5459]|0; _free($1); STACKTOP = sp;return; } @@ -14934,17 +14938,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[5354]|0; + $0 = HEAP32[5430]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[5346]|0; + $0 = HEAP32[5422]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5348]|0; + $2 = HEAP32[5424]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14953,39 +14957,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((22608)|0)); - _glDeleteBuffers(1,((22612)|0)); - _glDeleteBuffers(1,((22656)|0)); - _glDeleteBuffers(1,((22660)|0)); - _glDeleteBuffers(1,((22704)|0)); - _glDeleteBuffers(1,((22708)|0)); - _glDeleteBuffers(1,((22712)|0)); - _glDeleteBuffers(1,((22716)|0)); - $3 = HEAP32[5346]|0; + _glDeleteBuffers(1,((22912)|0)); + _glDeleteBuffers(1,((22916)|0)); + _glDeleteBuffers(1,((22960)|0)); + _glDeleteBuffers(1,((22964)|0)); + _glDeleteBuffers(1,((23008)|0)); + _glDeleteBuffers(1,((23012)|0)); + _glDeleteBuffers(1,((23016)|0)); + _glDeleteBuffers(1,((23020)|0)); + $3 = HEAP32[5422]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[5349]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(22604)); - $6 = HEAP32[5349]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(22652)); - $7 = HEAP32[5349]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(22700)); + $5 = HEAP32[5425]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(22908)); + $6 = HEAP32[5425]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(22956)); + $7 = HEAP32[5425]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(23004)); } - $8 = HEAP32[(22588)>>2]|0; + $8 = HEAP32[(22892)>>2]|0; _free($8); - $9 = HEAP32[(22596)>>2]|0; + $9 = HEAP32[(22900)>>2]|0; _free($9); - $10 = HEAP32[(22636)>>2]|0; + $10 = HEAP32[(22940)>>2]|0; _free($10); - $11 = HEAP32[(22644)>>2]|0; + $11 = HEAP32[(22948)>>2]|0; _free($11); - $12 = HEAP32[(22684)>>2]|0; + $12 = HEAP32[(22988)>>2]|0; _free($12); - $13 = HEAP32[(22688)>>2]|0; + $13 = HEAP32[(22992)>>2]|0; _free($13); - $14 = HEAP32[(22692)>>2]|0; + $14 = HEAP32[(22996)>>2]|0; _free($14); - $15 = HEAP32[(22696)>>2]|0; + $15 = HEAP32[(23000)>>2]|0; _free($15); return; } @@ -15025,16 +15029,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2621] = $0; - $1 = +HEAPF64[2604]; + HEAPF64[2659] = $0; + $1 = +HEAPF64[2642]; $2 = $0 - $1; - HEAPF64[2622] = $2; - HEAPF64[2604] = $0; + HEAPF64[2660] = $2; + HEAPF64[2642] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=21156; 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)); + dest=$downscaleView$byval_copy; src=21460; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(22728); + _rlMultMatrixf(23032); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15043,53 +15047,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[5682] = $1; + HEAP32[5758] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(22732)>>2] = $3; + HEAP32[(23036)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(22736)>>2] = $5; + HEAP32[(23040)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(22740)>>2] = $7; + HEAP32[(23044)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(22744)>>2] = $9; + HEAP32[(23048)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(22748)>>2] = $11; + HEAP32[(23052)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(22752)>>2] = $13; + HEAP32[(23056)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(22756)>>2] = $15; + HEAP32[(23060)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(22760)>>2] = $17; + HEAP32[(23064)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(22764)>>2] = $19; + HEAP32[(23068)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(22768)>>2] = $21; + HEAP32[(23072)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(22772)>>2] = $23; + HEAP32[(23076)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(22776)>>2] = $25; + HEAP32[(23080)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(22780)>>2] = $27; + HEAP32[(23084)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(22784)>>2] = $29; + HEAP32[(23088)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(22788)>>2] = $31; - return (22728|0); + HEAP32[(23092)>>2] = $31; + return (23032|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15164,7 +15168,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[5312]|0; + $49 = HEAP32[5388]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15178,15 +15182,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2621] = $0; - $1 = +HEAPF64[2604]; + HEAPF64[2659] = $0; + $1 = +HEAPF64[2642]; $2 = $0 - $1; - HEAPF64[2623] = $2; - HEAPF64[2604] = $0; - $3 = +HEAPF64[2622]; + HEAPF64[2661] = $2; + HEAPF64[2642] = $0; + $3 = +HEAPF64[2660]; $4 = $2 + $3; - HEAPF64[2624] = $4; - $5 = +HEAPF64[2601]; + HEAPF64[2662] = $4; + $5 = +HEAPF64[2639]; $6 = $4 < $5; if (!($6)) { return; @@ -15196,13 +15200,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2621] = $10; - $11 = +HEAPF64[2604]; + HEAPF64[2659] = $10; + $11 = +HEAPF64[2642]; $12 = $10 - $11; - HEAPF64[2604] = $10; - $13 = +HEAPF64[2624]; + HEAPF64[2642] = $10; + $13 = +HEAPF64[2662]; $14 = $12 + $13; - HEAPF64[2624] = $14; + HEAPF64[2662] = $14; return; } function _rlglDraw() { @@ -15215,7 +15219,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5265]|0; + $0 = HEAP32[5341]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15231,20 +15235,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[5698] = 0; - $3 = HEAP32[5265]|0; + HEAP32[5774] = 0; + $3 = HEAP32[5341]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[5200] = $5; + HEAPF32[5276] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(20804)>>2] = $7; - _memcpy((24407|0),(23895|0),512)|0; - ;HEAP8[23892>>0]=HEAP8[23889>>0]|0;HEAP8[23892+1>>0]=HEAP8[23889+1>>0]|0;HEAP8[23892+2>>0]=HEAP8[23889+2>>0]|0; - $8 = HEAP32[5681]|0; - HEAP32[5268] = $8; - HEAP32[5681] = 0; + HEAPF32[(21108)>>2] = $7; + _memcpy((24711|0),(24199|0),512)|0; + ;HEAP8[24196>>0]=HEAP8[24193>>0]|0;HEAP8[24196+1>>0]=HEAP8[24193+1>>0]|0;HEAP8[24196+2>>0]=HEAP8[24193+2>>0]|0; + $8 = HEAP32[5757]|0; + HEAP32[5344] = $8; + HEAP32[5757] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15254,8 +15258,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (24919 + ($$05160<<5)|0); - $scevgep67 = (25047 + ($$05160<<5)|0); + $scevgep = (25223 + ($$05160<<5)|0); + $scevgep67 = (25351 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15269,7 +15273,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((25047 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((25351 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15296,7 +15300,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((22796 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((23100 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15312,7 +15316,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5698] = $$lcssa; + HEAP32[5774] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15353,87 +15357,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5644]|0; + $0 = HEAP32[5720]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[5346]|0; + $2 = HEAP32[5422]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[5348]|0; - $5 = HEAP32[(22604)>>2]|0; + $4 = HEAP32[5424]|0; + $5 = HEAP32[(22908)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(22608)>>2]|0; + $6 = HEAP32[(22912)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5644]|0; + $7 = HEAP32[5720]|0; $8 = ($7*12)|0; - $9 = HEAP32[(22588)>>2]|0; + $9 = HEAP32[(22892)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(22612)>>2]|0; + $10 = HEAP32[(22916)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(22584)>>2]|0; + $11 = HEAP32[(22888)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(22596)>>2]|0; + $13 = HEAP32[(22900)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5656]|0; + $14 = HEAP32[5732]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[5346]|0; + $16 = HEAP32[5422]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[5348]|0; - $19 = HEAP32[(22652)>>2]|0; + $18 = HEAP32[5424]|0; + $19 = HEAP32[(22956)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(22656)>>2]|0; + $20 = HEAP32[(22960)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5656]|0; + $21 = HEAP32[5732]|0; $22 = ($21*12)|0; - $23 = HEAP32[(22636)>>2]|0; + $23 = HEAP32[(22940)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(22660)>>2]|0; + $24 = HEAP32[(22964)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(22632)>>2]|0; + $25 = HEAP32[(22936)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(22644)>>2]|0; + $27 = HEAP32[(22948)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5668]|0; + $28 = HEAP32[5744]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[5346]|0; + $30 = HEAP32[5422]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[5348]|0; - $33 = HEAP32[(22700)>>2]|0; + $32 = HEAP32[5424]|0; + $33 = HEAP32[(23004)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(22704)>>2]|0; + $34 = HEAP32[(23008)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5668]|0; + $35 = HEAP32[5744]|0; $36 = ($35*12)|0; - $37 = HEAP32[(22684)>>2]|0; + $37 = HEAP32[(22988)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(22708)>>2]|0; + $38 = HEAP32[(23012)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5668]|0; + $39 = HEAP32[5744]|0; $40 = $39 << 3; - $41 = HEAP32[(22688)>>2]|0; + $41 = HEAP32[(22992)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(22712)>>2]|0; + $42 = HEAP32[(23016)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5668]|0; + $43 = HEAP32[5744]|0; $44 = $43 << 2; - $45 = HEAP32[(22692)>>2]|0; + $45 = HEAP32[(22996)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[5346]|0; + $46 = HEAP32[5422]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[5348]|0; + $48 = HEAP32[5424]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15451,9 +15455,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=21252; 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)); - dest=$1; src=21316; 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)); - $3 = HEAP32[5731]|0; + dest=$0; src=21556; 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)); + dest=$1; src=21620; 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)); + $3 = HEAP32[5807]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15463,134 +15467,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5644]|0; + $8 = HEAP32[5720]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5656]|0; + $10 = HEAP32[5732]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5668]|0; + $12 = HEAP32[5744]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[5368]|0; + $14 = HEAP32[5444]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=21316; 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)); - dest=$$byval_copy2; src=21252; 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)); + dest=$modelview$byval_copy; src=21620; 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)); + dest=$$byval_copy2; src=21556; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(21500)>>2]|0; + $15 = HEAP32[(21804)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(21504)>>2]|0; + $17 = HEAP32[(21808)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(21516)>>2]|0; + $18 = HEAP32[(21820)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5644]|0; + $19 = HEAP32[5720]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[5353]|0; + $21 = HEAP32[5429]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[5346]|0; + $22 = HEAP32[5422]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(22608)>>2]|0; + $26 = HEAP32[(22912)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(21476)>>2]|0; + $27 = HEAP32[(21780)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(21476)>>2]|0; + $28 = HEAP32[(21780)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(22612)>>2]|0; + $29 = HEAP32[(22916)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(21496)>>2]|0; + $30 = HEAP32[(21800)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(21496)>>2]|0; + $31 = HEAP32[(21800)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[5348]|0; - $25 = HEAP32[(22604)>>2]|0; + $24 = HEAP32[5424]|0; + $25 = HEAP32[(22908)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5644]|0; + $32 = HEAP32[5720]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[5346]|0; + $33 = HEAP32[5422]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5656]|0; + $35 = HEAP32[5732]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[5353]|0; + $37 = HEAP32[5429]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[5346]|0; + $38 = HEAP32[5422]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(22656)>>2]|0; + $42 = HEAP32[(22960)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(21476)>>2]|0; + $43 = HEAP32[(21780)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(21476)>>2]|0; + $44 = HEAP32[(21780)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(22660)>>2]|0; + $45 = HEAP32[(22964)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(21496)>>2]|0; + $46 = HEAP32[(21800)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(21496)>>2]|0; + $47 = HEAP32[(21800)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[5348]|0; - $41 = HEAP32[(22652)>>2]|0; + $40 = HEAP32[5424]|0; + $41 = HEAP32[(22956)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5656]|0; + $48 = HEAP32[5732]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[5346]|0; + $49 = HEAP32[5422]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5668]|0; + $51 = HEAP32[5744]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[5346]|0; + $53 = HEAP32[5422]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(22704)>>2]|0; + $57 = HEAP32[(23008)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(21476)>>2]|0; + $58 = HEAP32[(21780)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(21476)>>2]|0; + $59 = HEAP32[(21780)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(22708)>>2]|0; + $60 = HEAP32[(23012)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(21480)>>2]|0; + $61 = HEAP32[(21784)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(21480)>>2]|0; + $62 = HEAP32[(21784)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(22712)>>2]|0; + $63 = HEAP32[(23016)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(21496)>>2]|0; + $64 = HEAP32[(21800)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(21496)>>2]|0; + $65 = HEAP32[(21800)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(22716)>>2]|0; + $66 = HEAP32[(23020)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[5348]|0; - $56 = HEAP32[(22700)>>2]|0; + $55 = HEAP32[5424]|0; + $56 = HEAP32[(23004)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[5384]|0; + $67 = HEAP32[5460]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[5383]|0; + $71 = HEAP32[5459]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15601,14 +15605,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[5383]|0; + $80 = HEAP32[5459]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[5384]|0; + $87 = HEAP32[5460]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15617,7 +15621,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[5346]|0; + $69 = HEAP32[5422]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15625,10 +15629,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[5346]|0; + $89 = HEAP32[5422]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[5348]|0; + $91 = HEAP32[5424]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15640,22 +15644,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[5384] = 1; - $5 = HEAP32[5353]|0; - $6 = HEAP32[5383]|0; + HEAP32[5460] = 1; + $5 = HEAP32[5429]|0; + $6 = HEAP32[5459]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5644] = 0; - HEAP32[(22584)>>2] = 0; - HEAP32[5656] = 0; - HEAP32[(22632)>>2] = 0; - HEAP32[5668] = 0; - HEAP32[(22676)>>2] = 0; - HEAP32[(22680)>>2] = 0; + HEAP32[5720] = 0; + HEAP32[(22888)>>2] = 0; + HEAP32[5732] = 0; + HEAP32[(22936)>>2] = 0; + HEAP32[5744] = 0; + HEAP32[(22980)>>2] = 0; + HEAP32[(22984)>>2] = 0; HEAPF32[744] = -1.0; - dest=21252; src=$0; 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)); - dest=21316; src=$1; 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)); + dest=21556; src=$0; 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)); + dest=21620; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15670,17 +15674,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[5642]|0; + $5 = HEAP32[5718]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5643]|0; + $9 = HEAP32[5719]|0; _rlViewport($7,0,$8,$9); - $10 = (23156 + ($0<<6)|0); + $10 = (23460 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (23028 + ($0<<6)|0); + $11 = (23332 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -15692,14 +15696,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=21316; src=$0; 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)); + dest=21620; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=21252; src=$0; 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)); + dest=21556; src=$0; 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)); return; } function _rlPushMatrix() { @@ -15707,43 +15711,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5821]|0; + $0 = HEAP32[5897]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,10425,$vararg_buffer); } - $2 = HEAP32[5821]|0; - $3 = (21544 + ($2<<6)|0); - $4 = HEAP32[5312]|0; + $2 = HEAP32[5897]|0; + $3 = (21848 + ($2<<6)|0); + $4 = HEAP32[5388]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[5821]|0; + $5 = HEAP32[5897]|0; $6 = (($5) + 1)|0; - HEAP32[5821] = $6; - $7 = HEAP32[5345]|0; + HEAP32[5897] = $6; + $7 = HEAP32[5421]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5822] = 1; + HEAP32[5898] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5821]|0; + $0 = HEAP32[5897]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5821]|0; + $2 = HEAP32[5897]|0; $3 = (($2) + -1)|0; - $4 = (21544 + ($3<<6)|0); - $5 = HEAP32[5312]|0; + $4 = (21848 + ($3<<6)|0); + $5 = HEAP32[5388]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5821] = $6; + HEAP32[5897] = $6; return; } function _IsFileExtension($0,$1) { @@ -15776,7 +15780,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[5312]|0; + $5 = HEAP32[5388]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15809,7 +15813,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[5312]|0; + $11 = HEAP32[5388]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15820,7 +15824,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5385] = $0; + HEAP32[5461] = $0; return; } function _rlEnd() { @@ -15836,21 +15840,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5822]|0; + $0 = HEAP32[5898]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5823]|0; + $2 = HEAP32[5899]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[5382]|0; + $6 = HEAP32[5458]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[5312]|0; + $8 = HEAP32[5388]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5823]|0; + $5 = HEAP32[5899]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15858,12 +15862,12 @@ function _rlEnd() { break; } } - HEAP32[5822] = 0; + HEAP32[5898] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[5382]|0; + $11 = HEAP32[5458]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15872,7 +15876,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5823]|0; + $19 = HEAP32[5899]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15882,15 +15886,15 @@ function _rlEnd() { } } } else { - HEAP32[5822] = 0; + HEAP32[5898] = 0; } - HEAP32[5823] = 0; + HEAP32[5899] = 0; } - $21 = HEAP32[5385]|0; + $21 = HEAP32[5461]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5644]|0; - $23 = HEAP32[(22584)>>2]|0; + $22 = HEAP32[5720]|0; + $23 = HEAP32[(22888)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15909,16 +15913,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(22596)>>2]|0; - $28 = HEAP32[(22584)>>2]|0; + $27 = HEAP32[(22900)>>2]|0; + $28 = HEAP32[(22888)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(22596)>>2]|0; - $35 = HEAP32[(22584)>>2]|0; + $34 = HEAP32[(22900)>>2]|0; + $35 = HEAP32[(22888)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15926,8 +15930,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(22596)>>2]|0; - $43 = HEAP32[(22584)>>2]|0; + $42 = HEAP32[(22900)>>2]|0; + $43 = HEAP32[(22888)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15935,8 +15939,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(22596)>>2]|0; - $51 = HEAP32[(22584)>>2]|0; + $50 = HEAP32[(22900)>>2]|0; + $51 = HEAP32[(22888)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15944,9 +15948,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(22584)>>2]|0; + $58 = HEAP32[(22888)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(22584)>>2] = $59; + HEAP32[(22888)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15962,8 +15966,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5656]|0; - $62 = HEAP32[(22632)>>2]|0; + $61 = HEAP32[5732]|0; + $62 = HEAP32[(22936)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15982,16 +15986,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(22644)>>2]|0; - $67 = HEAP32[(22632)>>2]|0; + $66 = HEAP32[(22948)>>2]|0; + $67 = HEAP32[(22936)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(22644)>>2]|0; - $74 = HEAP32[(22632)>>2]|0; + $73 = HEAP32[(22948)>>2]|0; + $74 = HEAP32[(22936)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15999,8 +16003,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(22644)>>2]|0; - $82 = HEAP32[(22632)>>2]|0; + $81 = HEAP32[(22948)>>2]|0; + $82 = HEAP32[(22936)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16008,8 +16012,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(22644)>>2]|0; - $90 = HEAP32[(22632)>>2]|0; + $89 = HEAP32[(22948)>>2]|0; + $90 = HEAP32[(22936)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16017,9 +16021,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(22632)>>2]|0; + $97 = HEAP32[(22936)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(22632)>>2] = $98; + HEAP32[(22936)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16035,8 +16039,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5668]|0; - $101 = HEAP32[(22680)>>2]|0; + $100 = HEAP32[5744]|0; + $101 = HEAP32[(22984)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16044,16 +16048,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(22692)>>2]|0; - $106 = HEAP32[(22680)>>2]|0; + $105 = HEAP32[(22996)>>2]|0; + $106 = HEAP32[(22984)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(22692)>>2]|0; - $113 = HEAP32[(22680)>>2]|0; + $112 = HEAP32[(22996)>>2]|0; + $113 = HEAP32[(22984)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16061,8 +16065,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(22692)>>2]|0; - $121 = HEAP32[(22680)>>2]|0; + $120 = HEAP32[(22996)>>2]|0; + $121 = HEAP32[(22984)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16070,8 +16074,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(22692)>>2]|0; - $129 = HEAP32[(22680)>>2]|0; + $128 = HEAP32[(22996)>>2]|0; + $129 = HEAP32[(22984)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16079,9 +16083,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(22680)>>2]|0; + $136 = HEAP32[(22984)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(22680)>>2] = $137; + HEAP32[(22984)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16092,8 +16096,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5668]|0; - $140 = HEAP32[(22676)>>2]|0; + $139 = HEAP32[5744]|0; + $140 = HEAP32[(22980)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16101,8 +16105,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(22688)>>2]|0; - $$promoted = HEAP32[(22676)>>2]|0; + $142 = HEAP32[(22992)>>2]|0; + $$promoted = HEAP32[(22980)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16110,7 +16114,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(22676)>>2] = $147; + HEAP32[(22980)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16137,11 +16141,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5822]|0; + $3 = HEAP32[5898]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[5382]|0; - $6 = HEAP32[5823]|0; + $5 = HEAP32[5458]|0; + $6 = HEAP32[5899]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16149,16 +16153,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5823] = $10; + HEAP32[5899] = $10; STACKTOP = sp;return; } - $11 = HEAP32[5385]|0; + $11 = HEAP32[5461]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5644]|0; + $12 = HEAP32[5720]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(22588)>>2]|0; + $14 = HEAP32[(22892)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16169,7 +16173,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5644] = $21; + HEAP32[5720] = $21; STACKTOP = sp;return; } else { _TraceLog(1,10463,$vararg_buffer); @@ -16178,10 +16182,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[5656]|0; + $22 = HEAP32[5732]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(22636)>>2]|0; + $24 = HEAP32[(22940)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16192,7 +16196,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5656] = $31; + HEAP32[5732] = $31; STACKTOP = sp;return; } else { _TraceLog(1,10488,$vararg_buffer1); @@ -16201,10 +16205,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[5668]|0; + $32 = HEAP32[5744]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(22684)>>2]|0; + $34 = HEAP32[(22988)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16215,9 +16219,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5668] = $41; - $42 = HEAP32[5383]|0; - $43 = HEAP32[5384]|0; + HEAP32[5744] = $41; + $42 = HEAP32[5459]|0; + $43 = HEAP32[5460]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16260,13 +16264,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[5385]|0; + $2 = HEAP32[5461]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(22688)>>2]|0; - $5 = HEAP32[(22676)>>2]|0; + $4 = HEAP32[(22992)>>2]|0; + $5 = HEAP32[(22980)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16274,7 +16278,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(22676)>>2] = $10; + HEAP32[(22980)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16293,18 +16297,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[5385]|0; + $4 = HEAP32[5461]|0; switch ($4|0) { case 1: { - $$sink37 = (22584);$$sink38 = (22596); + $$sink37 = (22888);$$sink38 = (22900); break; } case 4: { - $$sink37 = (22632);$$sink38 = (22644); + $$sink37 = (22936);$$sink38 = (22948); break; } case 7: { - $$sink37 = (22680);$$sink38 = (22692); + $$sink37 = (22984);$$sink38 = (22996); break; } default: { @@ -16343,8 +16347,8 @@ function _rlEnableTexture($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 = HEAP32[5383]|0; - $2 = HEAP32[5384]|0; + $1 = HEAP32[5459]|0; + $2 = HEAP32[5460]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16357,9 +16361,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[5384] = $10; + HEAP32[5460] = $10; } - $11 = HEAP32[5384]|0; + $11 = HEAP32[5460]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16370,7 +16374,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5668]|0; + $0 = HEAP32[5744]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16382,7 +16386,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[5353]|0; + $1 = HEAP32[5429]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -16609,40 +16613,11 @@ function _DrawRectangleLines($0,$1,$2,$3,$4) { _DrawRectangle($0,$26,1,$27,$$byval_copy3); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(10542); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,14442)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5824] = $0; + HEAP32[5900] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16706,7 +16681,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((10554|0),(10580|0),1125,(10603|0)); + ___assert_fail((10542|0),(10568|0),1041,(10591|0)); // unreachable; } } @@ -16724,7 +16699,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5825]|0; + $15 = HEAP32[5901]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16817,7 +16792,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(10644); + _stbi__err(10632); $$0 = 0; return ($$0|0); } else { @@ -16839,7 +16814,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(10635); + _stbi__err(10623); $$0 = 0; return ($$0|0); } @@ -16909,7 +16884,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(10663); + _stbi__err(10651); $$045 = 0; return ($$045|0); } @@ -17470,7 +17445,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (10979 + ($120)|0); + $121 = (10967 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17512,97 +17487,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(10753); + _stbi__err(10741); $$6$ph = 0; break; } case 9: { - _stbi__err(10767); + _stbi__err(10755); $$6$ph = 0; break; } case 11: { - _stbi__err(10780); + _stbi__err(10768); $$6$ph = 0; break; } case 13: { - _stbi__err(10780); + _stbi__err(10768); $$6$ph = 0; break; } case 15: { - _stbi__err(10790); + _stbi__err(10778); $$6$ph = 0; break; } case 17: { - _stbi__err(10810); + _stbi__err(10798); $$6$ph = 0; break; } case 20: { - _stbi__err(10810); + _stbi__err(10798); $$6$ph = 0; break; } case 22: { - _stbi__err(10810); + _stbi__err(10798); $$6$ph = 0; break; } case 24: { - _stbi__err(10820); + _stbi__err(10808); $$6$ph = 0; break; } case 26: { - _stbi__err(10836); + _stbi__err(10824); $$6$ph = 0; break; } case 28: { - _stbi__err(10854); + _stbi__err(10842); $$6$ph = 0; break; } case 31: { - _stbi__err(10875); + _stbi__err(10863); $$6$ph = 0; break; } case 34: { - _stbi__err(10780); + _stbi__err(10768); $$6$ph = 0; break; } case 37: { - _stbi__err(10780); + _stbi__err(10768); $$6$ph = 0; break; } case 39: { - _stbi__err(10889); + _stbi__err(10877); $$6$ph = 0; break; } case 41: { - _stbi__err(10904); + _stbi__err(10892); $$6$ph = 0; break; } case 44: { - _stbi__err(10904); + _stbi__err(10892); $$6$ph = 0; break; } case 47: { - _stbi__err(10889); + _stbi__err(10877); $$6$ph = 0; break; } case 49: { - _stbi__err(10917); + _stbi__err(10905); $$6$ph = 0; break; } @@ -17613,32 +17588,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(10933); + _stbi__err(10921); $$6$ph = 0; break; } case 58: { - _stbi__err(10950); + _stbi__err(10938); $$6$ph = 0; break; } case 61: { - _stbi__err(10963); + _stbi__err(10951); $$6$ph = 0; break; } case 63: { - _stbi__err(10950); + _stbi__err(10938); $$6$ph = 0; break; } case 70: { - _stbi__err(10889); + _stbi__err(10877); $$6$ph = 0; break; } case 72: { - _stbi__err(10988); + _stbi__err(10976); $$6$ph = 0; break; } @@ -17650,12 +17625,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(10635); + _stbi__err(10623); $$6$ph = 0; break; } case 83: { - _stbi__err(10996); + _stbi__err(10984); $$6$ph = 0; break; } @@ -17668,7 +17643,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(11006); + _stbi__err(10994); $$4 = 0; break; } @@ -17733,7 +17708,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5826]|0; + $193 = HEAP32[5902]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17766,7 +17741,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(10889); + _stbi__err(10877); $$4 = 0; } } while(0); @@ -17774,24 +17749,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(10889); + _stbi__err(10877); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[11014] = $206; + HEAP8[11002] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(11015)>>0] = $209; + HEAP8[(11003)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(11016)>>0] = $211; + HEAP8[(11004)>>0] = $211; $212 = $207&255; - HEAP8[(11017)>>0] = $212; - _stbi__err(11014); + HEAP8[(11005)>>0] = $212; + _stbi__err(11002); $$6$ph = 0; break; } @@ -17825,14 +17800,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10676|0),(10580|0),1561,(10732|0)); + ___assert_fail((10664|0),(10568|0),1477,(10720|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(10635); + _stbi__err(10623); $$0163 = 0; return ($$0163|0); } @@ -18195,7 +18170,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10730|0),(10580|0),1590,(10732|0)); + ___assert_fail((10718|0),(10568|0),1506,(10720|0)); // unreachable; } } while(0); @@ -18229,7 +18204,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10676|0),(10580|0),1610,(10707|0)); + ___assert_fail((10664|0),(10568|0),1526,(10695|0)); // unreachable; } $7 = $2 << 1; @@ -18239,7 +18214,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(10635); + _stbi__err(10623); $$0163 = 0; return ($$0163|0); } @@ -18602,7 +18577,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10730|0),(10580|0),1639,(10707|0)); + ___assert_fail((10718|0),(10568|0),1555,(10695|0)); // unreachable; } } while(0); @@ -18750,7 +18725,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(11671); + _stbi__err(11979); $$05 = 0; return ($$05|0); } @@ -19187,7 +19162,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((11073|0),(10580|0),4568,(11125|0)); + ___assert_fail((11061|0),(10568|0),4569,(11113|0)); // unreachable; } } @@ -19274,7 +19249,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((11073|0),(10580|0),4543,(11098|0)); + ___assert_fail((11061|0),(10568|0),4544,(11086|0)); // unreachable; } } @@ -19321,7 +19296,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5827]|0; + $16 = HEAP32[5903]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19396,7 +19371,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((11039|0),(10580|0),4649,(11057|0)); + ___assert_fail((11027|0),(10568|0),4650,(11045|0)); // unreachable; } } @@ -19419,7 +19394,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(10635); + _stbi__err(10623); $$0 = 0; return ($$0|0); } @@ -19596,7 +19571,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((11154|0),(10580|0),4294,(11195|0)); + ___assert_fail((11142|0),(10568|0),4294,(11183|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19604,7 +19579,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(10635); + _stbi__err(10623); $$2 = 0; return ($$2|0); } @@ -19623,7 +19598,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(11222); + _stbi__err(11210); $$2 = 0; return ($$2|0); } @@ -19636,7 +19611,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(11222); + _stbi__err(11210); $$2 = 0; return ($$2|0); } @@ -19644,12 +19619,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19672,33 +19647,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (11261 + ($56)|0); + $60 = (11249 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19708,24 +19683,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19735,10 +19710,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19749,10 +19724,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19763,14 +19738,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19800,7 +19775,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19815,12 +19790,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20397,15 +20372,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((11240|0),(10580|0),4315,(11195|0)); + ___assert_fail((11228|0),(10568|0),4315,(11183|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((11266|0),(10580|0),4376,(11195|0)); + ___assert_fail((11254|0),(10568|0),4377,(11183|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(11283); + _stbi__err(11271); $$2 = 0; return ($$2|0); } @@ -20455,7 +20430,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (10979 + ($6)|0); + $336 = (10967 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20896,7 +20871,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((11298|0),(10580|0),4465,(11195|0)); + ___assert_fail((11286|0),(10568|0),4466,(11183|0)); // unreachable; } else if ((label|0) == 151) { @@ -20956,8 +20931,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20972,15 +20947,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20989,65 +20964,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(25206)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,11297,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,25207,288)|0); + $15 = (_stbi__zbuild_huffman($8,11585,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,25175,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -21066,14 +21036,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(11624); + _stbi__err(11932); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(11640); + _stbi__err(11948); $$0 = 0; return ($$0|0); } @@ -21082,7 +21052,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(11655); + _stbi__err(11963); $$0 = 0; return ($$0|0); } @@ -21165,7 +21135,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((11546|0),(10580|0),4048,(11563|0)); + ___assert_fail((11854|0),(10568|0),4033,(11871|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -21202,7 +21172,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(11594); + _stbi__err(11902); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21212,7 +21182,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(11607); + _stbi__err(11915); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21242,21 +21212,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((25207|0),8,144)|0; - dest=(25351); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(25463); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (25487); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=25175; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21390,7 +21345,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(11484); + _stbi__err(11792); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21479,7 +21434,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(11536); + _stbi__err(11844); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21508,7 +21463,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (14897 + ($$06579)|0); + $14 = (15205 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21599,21 +21554,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(11484); + _stbi__err(11792); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(11484); + _stbi__err(11792); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((11500|0),(10580|0),4021,(11508|0)); + ___assert_fail((11808|0),(10568|0),4006,(11816|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(11484); + _stbi__err(11792); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21623,7 +21578,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(11484); + _stbi__err(11792); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21787,7 +21742,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(11309); + _stbi__err(11617); $$3$ph = 0; return ($$3$ph|0); } @@ -21797,12 +21752,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(11309); + _stbi__err(11617); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(11326); + _stbi__err(11634); $$3$ph = 0; return ($$3$ph|0); } @@ -21859,7 +21814,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(11335); + _stbi__err(11643); $$0 = 0; return ($$0|0); } @@ -21885,7 +21840,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(10635); + _stbi__err(10623); $$0 = 0; return ($$0|0); } else { @@ -21930,7 +21885,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((11431|0),(10580|0),3863,(11468|0)); + ___assert_fail((11739|0),(10568|0),3848,(11776|0)); // unreachable; } else if ((label|0) == 5) { @@ -21978,7 +21933,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((11355|0),(10580|0),3891,(11371|0)); + ___assert_fail((11663|0),(10568|0),3876,(11679|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -22006,7 +21961,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((11402|0),(10580|0),3781,(11413|0)); + ___assert_fail((11710|0),(10568|0),3766,(11721|0)); // unreachable; } return (0)|0; @@ -22340,7 +22295,7 @@ function _stbir__calculate_memory($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.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, $9 = 0.0, label = 0, sp = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 80|0); $2 = HEAP32[$1>>2]|0; @@ -22370,89 +22325,93 @@ function _stbir__calculate_memory($0) { $25 = (_stbir__get_contributors($19,$20,$22,$24)|0); $26 = ((($0)) + 156|0); HEAP32[$26>>2] = $25; - $27 = HEAP32[$18>>2]|0; - $28 = $27 << 3; - $29 = ((($0)) + 184|0); - HEAP32[$29>>2] = $28; - $30 = (_stbir__get_total_horizontal_coefficients($0)|0); - $31 = $30 << 2; - $32 = ((($0)) + 188|0); - HEAP32[$32>>2] = $31; - $33 = HEAP32[$26>>2]|0; - $34 = $33 << 3; - $35 = ((($0)) + 192|0); - HEAP32[$35>>2] = $34; - $36 = (_stbir__get_total_vertical_coefficients($0)|0); - $37 = $36 << 2; - $38 = ((($0)) + 196|0); - HEAP32[$38>>2] = $37; - $39 = HEAP32[$13>>2]|0; - $40 = $5 << 1; - $41 = (($39) + ($40))|0; - $42 = ((($0)) + 64|0); - $43 = HEAP32[$42>>2]|0; - $44 = $43 << 2; - $45 = Math_imul($44, $41)|0; - $46 = ((($0)) + 200|0); - HEAP32[$46>>2] = $45; - $47 = HEAP32[$15>>2]|0; - $48 = $43 << 2; - $49 = Math_imul($48, $47)|0; - $50 = ((($0)) + 204|0); - HEAP32[$50>>2] = $49; - $51 = HEAP32[$42>>2]|0; - $52 = $10 << 2; - $53 = Math_imul($52, $47)|0; - $54 = Math_imul($53, $51)|0; - $55 = ((($0)) + 208|0); - HEAP32[$55>>2] = $54; - $56 = HEAP32[$15>>2]|0; - $57 = HEAP32[$42>>2]|0; - $58 = $56 << 2; - $59 = Math_imul($58, $57)|0; - $60 = ((($0)) + 212|0); - HEAP32[$60>>2] = $59; - $61 = HEAP32[$1>>2]|0; - $62 = ($61|0)==(0); - if ($62) { - ___assert_fail((14170|0),(11707|0),2258,(14199|0)); - // unreachable; - } - $63 = ($61>>>0)<(6); - if (!($63)) { - ___assert_fail((11782|0),(11707|0),2259,(14199|0)); - // unreachable; - } - $64 = HEAP32[$6>>2]|0; + $27 = (($10) + 1)|0; + $28 = ((($0)) + 164|0); + HEAP32[$28>>2] = $27; + $29 = HEAP32[$18>>2]|0; + $30 = $29 << 3; + $31 = ((($0)) + 188|0); + HEAP32[$31>>2] = $30; + $32 = (_stbir__get_total_horizontal_coefficients($0)|0); + $33 = $32 << 2; + $34 = ((($0)) + 192|0); + HEAP32[$34>>2] = $33; + $35 = HEAP32[$26>>2]|0; + $36 = $35 << 3; + $37 = ((($0)) + 196|0); + HEAP32[$37>>2] = $36; + $38 = (_stbir__get_total_vertical_coefficients($0)|0); + $39 = $38 << 2; + $40 = ((($0)) + 200|0); + HEAP32[$40>>2] = $39; + $41 = HEAP32[$13>>2]|0; + $42 = $5 << 1; + $43 = (($41) + ($42))|0; + $44 = ((($0)) + 64|0); + $45 = HEAP32[$44>>2]|0; + $46 = $45 << 2; + $47 = Math_imul($46, $43)|0; + $48 = ((($0)) + 204|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$15>>2]|0; + $50 = $45 << 2; + $51 = Math_imul($50, $49)|0; + $52 = ((($0)) + 208|0); + HEAP32[$52>>2] = $51; + $53 = HEAP32[$44>>2]|0; + $54 = HEAP32[$28>>2]|0; + $55 = $49 << 2; + $56 = Math_imul($55, $53)|0; + $57 = Math_imul($56, $54)|0; + $58 = ((($0)) + 212|0); + HEAP32[$58>>2] = $57; + $59 = HEAP32[$15>>2]|0; + $60 = HEAP32[$44>>2]|0; + $61 = $59 << 2; + $62 = Math_imul($61, $60)|0; + $63 = ((($0)) + 216|0); + HEAP32[$63>>2] = $62; + $64 = HEAP32[$1>>2]|0; $65 = ($64|0)==(0); if ($65) { - ___assert_fail((14223|0),(11707|0),2260,(14199|0)); + ___assert_fail((14478|0),(12015|0),2260,(14507|0)); // unreachable; } $66 = ($64>>>0)<(6); - if ($66) { - $67 = (_stbir__use_height_upsampling($0)|0); - $68 = ($67|0)!=(0); - $$sink = $68 ? $50 : $60; + if (!($66)) { + ___assert_fail((12090|0),(12015|0),2261,(14507|0)); + // unreachable; + } + $67 = HEAP32[$6>>2]|0; + $68 = ($67|0)==(0); + if ($68) { + ___assert_fail((14531|0),(12015|0),2262,(14507|0)); + // unreachable; + } + $69 = ($67>>>0)<(6); + if ($69) { + $70 = (_stbir__use_height_upsampling($0)|0); + $71 = ($70|0)!=(0); + $$sink = $71 ? $52 : $63; HEAP32[$$sink>>2] = 0; - $69 = HEAP32[$29>>2]|0; - $70 = HEAP32[$32>>2]|0; - $71 = (($70) + ($69))|0; - $72 = HEAP32[$35>>2]|0; - $73 = (($71) + ($72))|0; - $74 = HEAP32[$38>>2]|0; - $75 = (($73) + ($74))|0; - $76 = HEAP32[$46>>2]|0; - $77 = (($75) + ($76))|0; - $78 = HEAP32[$50>>2]|0; - $79 = (($77) + ($78))|0; - $80 = HEAP32[$55>>2]|0; - $81 = (($79) + ($80))|0; - $82 = HEAP32[$60>>2]|0; - $83 = (($81) + ($82))|0; - return ($83|0); + $72 = HEAP32[$31>>2]|0; + $73 = HEAP32[$34>>2]|0; + $74 = (($73) + ($72))|0; + $75 = HEAP32[$37>>2]|0; + $76 = (($74) + ($75))|0; + $77 = HEAP32[$40>>2]|0; + $78 = (($76) + ($77))|0; + $79 = HEAP32[$48>>2]|0; + $80 = (($78) + ($79))|0; + $81 = HEAP32[$52>>2]|0; + $82 = (($80) + ($81))|0; + $83 = HEAP32[$58>>2]|0; + $84 = (($82) + ($83))|0; + $85 = HEAP32[$63>>2]|0; + $86 = (($84) + ($85))|0; + return ($86|0); } else { - ___assert_fail((11883|0),(11707|0),2261,(14199|0)); + ___assert_fail((12191|0),(12015|0),2263,(14507|0)); // unreachable; } return (0)|0; @@ -22478,7 +22437,7 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { 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, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0, $78 = 0, $79 = 0, $80 = 0.0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond144 = 0, label = 0; + var $82 = 0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond142 = 0, label = 0; var sp = 0; sp = STACKTOP; $13 = (_stbir__calculate_memory($0)|0); @@ -22489,7 +22448,7 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { $17 = ((($0)) + 4|0); $18 = HEAP32[$17>>2]|0; $19 = Math_imul($18, $16)|0; - $20 = (11683 + ($7)|0); + $20 = (11991 + ($7)|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; $23 = Math_imul($19, $22)|0; @@ -22504,7 +22463,7 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { $27 = ((($0)) + 20|0); $28 = HEAP32[$27>>2]|0; $29 = Math_imul($28, $26)|0; - $30 = (11683 + ($7)|0); + $30 = (11991 + ($7)|0); $31 = HEAP8[$30>>0]|0; $32 = $31&255; $33 = Math_imul($29, $32)|0; @@ -22516,26 +22475,26 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { $35 = HEAP32[$34>>2]|0; $36 = ($35|0)>(-1); if (!($36)) { - ___assert_fail((11687|0),(11707|0),2305,(11737|0)); + ___assert_fail((11995|0),(12015|0),2307,(12045|0)); // unreachable; } $37 = ($35|0)<(65); if (!($37)) { - ___assert_fail((11761|0),(11707|0),2306,(11737|0)); + ___assert_fail((12069|0),(12015|0),2308,(12045|0)); // unreachable; } $38 = ((($0)) + 80|0); $39 = HEAP32[$38>>2]|0; $40 = ($39>>>0)<(6); if (!($40)) { - ___assert_fail((11782|0),(11707|0),2311,(11737|0)); + ___assert_fail((12090|0),(12015|0),2313,(12045|0)); // unreachable; } $41 = ((($0)) + 84|0); $42 = HEAP32[$41>>2]|0; $43 = ($42>>>0)<(6); if (!($43)) { - ___assert_fail((11883|0),(11707|0),2312,(11737|0)); + ___assert_fail((12191|0),(12015|0),2314,(12045|0)); // unreachable; } $44 = ($5|0)<(0); @@ -22546,9 +22505,9 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { if (!($47)) { $48 = ($5|0)>(-1); $49 = ($35|0)>($5|0); - $or$cond144 = $48 & $49; - if (!($or$cond144)) { - ___assert_fail((11982|0),(11707|0),2323,(11737|0)); + $or$cond142 = $48 & $49; + if (!($or$cond142)) { + ___assert_fail((12290|0),(12015|0),2325,(12045|0)); // unreachable; } } @@ -22560,12 +22519,12 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { } $52 = ($11|0)==(0|0); if ($52) { - ___assert_fail((12035|0),(11707|0),2328,(11737|0)); + ___assert_fail((12343|0),(12015|0),2330,(12045|0)); // unreachable; } $53 = ($13>>>0)>($12>>>0); if ($53) { - ___assert_fail((12043|0),(11707|0),2333,(11737|0)); + ___assert_fail((12351|0),(12015|0),2335,(12045|0)); // unreachable; } _memset(($11|0),0,($12|0))|0; @@ -22636,22 +22595,22 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { HEAP32[$102>>2] = $101; $103 = ((($0)) + 100|0); HEAP32[$103>>2] = $11; - $104 = ((($0)) + 184|0); + $104 = ((($0)) + 188|0); $105 = HEAP32[$104>>2]|0; $106 = (($11) + ($105)|0); $107 = ((($0)) + 104|0); HEAP32[$107>>2] = $106; - $108 = ((($0)) + 188|0); + $108 = ((($0)) + 192|0); $109 = HEAP32[$108>>2]|0; $110 = (($106) + ($109)|0); $111 = ((($0)) + 108|0); HEAP32[$111>>2] = $110; - $112 = ((($0)) + 192|0); + $112 = ((($0)) + 196|0); $113 = HEAP32[$112>>2]|0; $114 = (($110) + ($113)|0); $115 = ((($0)) + 112|0); HEAP32[$115>>2] = $114; - $116 = ((($0)) + 196|0); + $116 = ((($0)) + 200|0); $117 = HEAP32[$116>>2]|0; $118 = (($114) + ($117)|0); $119 = ((($0)) + 120|0); @@ -22659,49 +22618,49 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { $120 = (_stbir__use_height_upsampling($0)|0); $121 = ($120|0)==(0); $122 = $11; - $123 = ((($0)) + 200|0); + $123 = ((($0)) + 204|0); $124 = HEAP32[$123>>2]|0; - $125 = ((($0)) + 208|0); + $125 = ((($0)) + 212|0); $126 = HEAP32[$125>>2]|0; $127 = (($122) + ($12))|0; if ($121) { $138 = (($118) + ($124)|0); $139 = ((($0)) + 124|0); HEAP32[$139>>2] = $138; - $140 = ((($0)) + 204|0); + $140 = ((($0)) + 208|0); $141 = HEAP32[$140>>2]|0; $142 = (($138) + ($141)|0); - $143 = ((($0)) + 176|0); + $143 = ((($0)) + 180|0); HEAP32[$143>>2] = $142; - $144 = ((($0)) + 180|0); + $144 = ((($0)) + 184|0); HEAP32[$144>>2] = 0; $145 = (($142) + ($126)|0); $146 = $145; $147 = ($146|0)==($127|0); if (!($147)) { - ___assert_fail((12218|0),(11707|0),2385,(11737|0)); + ___assert_fail((12526|0),(12015|0),2387,(12045|0)); // unreachable; } } else { $128 = ((($0)) + 124|0); HEAP32[$128>>2] = 0; $129 = (($118) + ($124)|0); - $130 = ((($0)) + 176|0); + $130 = ((($0)) + 180|0); HEAP32[$130>>2] = $129; $131 = (($129) + ($126)|0); - $132 = ((($0)) + 180|0); + $132 = ((($0)) + 184|0); HEAP32[$132>>2] = $131; - $133 = ((($0)) + 212|0); + $133 = ((($0)) + 216|0); $134 = HEAP32[$133>>2]|0; $135 = (($131) + ($134)|0); $136 = $135; $137 = ($136|0)==($127|0); if (!($137)) { - ___assert_fail((12084|0),(11707|0),2377,(11737|0)); + ___assert_fail((12392|0),(12015|0),2379,(12045|0)); // unreachable; } } - $148 = ((($0)) + 172|0); + $148 = ((($0)) + 176|0); HEAP32[$148>>2] = -1; $149 = HEAP32[$103>>2]|0; $150 = HEAP32[$107>>2]|0; @@ -22760,12 +22719,12 @@ function _stbir__get_filter_pixel_width($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0); if ($2) { - ___assert_fail((14044|0),(11707|0),877,(14056|0)); + ___assert_fail((14352|0),(12015|0),879,(14364|0)); // unreachable; } $3 = ($0>>>0)<(6); if (!($3)) { - ___assert_fail((14086|0),(11707|0),878,(14056|0)); + ___assert_fail((14394|0),(12015|0),880,(14364|0)); // unreachable; } $4 = (_stbir__use_upsampling($1)|0); @@ -22817,8 +22776,8 @@ function _stbir__calculate_filters($0,$1,$2,$3,$4,$5,$6) { $4 = +$4; $5 = $5|0; $6 = $6|0; - var $$02 = 0, $$11 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond5 = 0, label = 0, sp = 0; + var $$059 = 0, $$158 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond62 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $7 = sp + 8|0; @@ -22834,23 +22793,23 @@ function _stbir__calculate_filters($0,$1,$2,$3,$4,$5,$6) { $26 = $25 / $3; $27 = ($10|0)>(0); if ($27) { - $$11 = 0; + $$158 = 0; while(1) { $28 = (_stbir__get_filter_pixel_margin($2,$3)|0); - $29 = (($$11) - ($28))|0; + $29 = (($$158) - ($28))|0; _stbir__calculate_sample_range_downsample($29,$26,$3,$4,$8,$9,$7); $30 = HEAP32[$8>>2]|0; $31 = HEAP32[$9>>2]|0; $32 = +HEAPF32[$7>>2]; - $33 = (_stbir__get_contributor($0,$$11)|0); - $34 = (_stbir__get_coefficient($1,$2,$3,$$11,0)|0); + $33 = (_stbir__get_contributor($0,$$158)|0); + $34 = (_stbir__get_coefficient($1,$2,$3,$$158,0)|0); _stbir__calculate_coefficients_downsample($2,$3,$30,$31,$32,$33,$34); - $35 = (($$11) + 1)|0; + $35 = (($$158) + 1)|0; $exitcond = ($35|0)==($10|0); if ($exitcond) { break; } else { - $$11 = $35; + $$158 = $35; } } } @@ -22864,21 +22823,21 @@ function _stbir__calculate_filters($0,$1,$2,$3,$4,$5,$6) { if (!($18)) { STACKTOP = sp;return; } - $$02 = 0; + $$059 = 0; while(1) { - _stbir__calculate_sample_range_upsample($$02,$17,$3,$4,$8,$9,$7); + _stbir__calculate_sample_range_upsample($$059,$17,$3,$4,$8,$9,$7); $19 = HEAP32[$8>>2]|0; $20 = HEAP32[$9>>2]|0; $21 = +HEAPF32[$7>>2]; - $22 = (_stbir__get_contributor($0,$$02)|0); - $23 = (_stbir__get_coefficient($1,$2,$3,$$02,0)|0); + $22 = (_stbir__get_contributor($0,$$059)|0); + $23 = (_stbir__get_coefficient($1,$2,$3,$$059,0)|0); _stbir__calculate_coefficients_upsample($2,$3,$19,$20,$21,$22,$23); - $24 = (($$02) + 1)|0; - $exitcond5 = ($24|0)==($10|0); - if ($exitcond5) { + $24 = (($$059) + 1)|0; + $exitcond62 = ($24|0)==($10|0); + if ($exitcond62) { break; } else { - $$02 = $24; + $$059 = $24; } } STACKTOP = sp;return; @@ -22907,7 +22866,7 @@ function _stbir__buffer_loop_upsample($0) { $13 = (_stbir__use_height_upsampling($0)|0); $14 = ($13|0)==(0); if ($14) { - ___assert_fail((13215|0),(11707|0),2065,(13256|0)); + ___assert_fail((13523|0),(12015|0),2064,(13564|0)); // unreachable; } $15 = ((($0)) + 24|0); @@ -22917,11 +22876,11 @@ function _stbir__buffer_loop_upsample($0) { STACKTOP = sp;return; } $18 = ((($0)) + 52|0); - $19 = ((($0)) + 140|0); - $20 = ((($0)) + 172|0); - $21 = ((($0)) + 168|0); - $22 = ((($0)) + 164|0); - $23 = ((($0)) + 168|0); + $19 = ((($0)) + 164|0); + $20 = ((($0)) + 176|0); + $21 = ((($0)) + 172|0); + $22 = ((($0)) + 168|0); + $23 = ((($0)) + 172|0); $$038 = 0; while(1) { HEAPF32[$1>>2] = 0.0; @@ -22933,8 +22892,8 @@ function _stbir__buffer_loop_upsample($0) { $26 = HEAP32[$2>>2]|0; $27 = (($25) - ($26))|0; $28 = HEAP32[$19>>2]|0; - $29 = ($27|0)>($28|0); - if ($29) { + $29 = ($27|0)<($28|0); + if (!($29)) { label = 6; break; } @@ -23024,7 +22983,7 @@ function _stbir__buffer_loop_upsample($0) { } } if ((label|0) == 6) { - ___assert_fail((13284|0),(11707|0),2074,(13256|0)); + ___assert_fail((13592|0),(12015|0),2073,(13564|0)); // unreachable; } else if ((label|0) == 20) { @@ -23059,7 +23018,7 @@ function _stbir__buffer_loop_downsample($0) { $19 = (_stbir__use_height_upsampling($0)|0); $20 = ($19|0)==(0); if (!($20)) { - ___assert_fail((12348|0),(11707|0),2166,(12390|0)); + ___assert_fail((12656|0),(12015|0),2165,(12698|0)); // unreachable; } $21 = (0 - ($15))|0; @@ -23070,9 +23029,9 @@ function _stbir__buffer_loop_downsample($0) { STACKTOP = sp;return; } $23 = ((($0)) + 52|0); - $24 = ((($0)) + 140|0); - $25 = ((($0)) + 172|0); - $26 = ((($0)) + 168|0); + $24 = ((($0)) + 164|0); + $25 = ((($0)) + 176|0); + $26 = ((($0)) + 172|0); $$04142 = $21; while(1) { $27 = +HEAPF32[$23>>2]; @@ -23081,8 +23040,8 @@ function _stbir__buffer_loop_downsample($0) { $29 = HEAP32[$2>>2]|0; $30 = (($28) - ($29))|0; $31 = HEAP32[$24>>2]|0; - $32 = ($30|0)>($31|0); - if ($32) { + $32 = ($30|0)<($31|0); + if (!($32)) { label = 6; break; } @@ -23128,7 +23087,7 @@ function _stbir__buffer_loop_downsample($0) { } } if ((label|0) == 6) { - ___assert_fail((12420|0),(11707|0),2175,(12390|0)); + ___assert_fail((12728|0),(12015|0),2174,(12698|0)); // unreachable; } else if ((label|0) == 15) { @@ -23193,26 +23152,26 @@ function _stbir__empty_ring_buffer($0,$1) { $15 = HEAP32[$14>>2]|0; $16 = $9 << 1; $17 = (($16) + ($11))|0; - $18 = ((($0)) + 176|0); + $18 = ((($0)) + 180|0); $19 = HEAP32[$18>>2]|0; $20 = ((($0)) + 160|0); $21 = HEAP32[$20>>2]|0; $22 = $21 >>> 2; - $23 = ((($0)) + 172|0); + $23 = ((($0)) + 176|0); $24 = HEAP32[$23>>2]|0; $25 = ($24|0)>(-1); if (!($25)) { return; } - $26 = ((($0)) + 164|0); + $26 = ((($0)) + 168|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)<($1|0); if (!($28)) { return; } $29 = ((($0)) + 24|0); - $30 = ((($0)) + 168|0); - $31 = ((($0)) + 140|0); + $30 = ((($0)) + 172|0); + $31 = ((($0)) + 164|0); $33 = $27; while(1) { $32 = ($33|0)>(-1); @@ -23285,58 +23244,55 @@ function _stbir__decode_and_resample_downsample($0,$1) { function _stbir__add_empty_ring_buffer_entry($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 172|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<(0); - if ($4) { - HEAP32[$2>>2] = 0; - $5 = ((($0)) + 164|0); - HEAP32[$5>>2] = $1; + HEAP32[$2>>2] = $1; + $3 = ((($0)) + 176|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)<(0); + if ($5) { + HEAP32[$3>>2] = 0; + $6 = ((($0)) + 168|0); + HEAP32[$6>>2] = $1; $$0 = 0; } else { - $6 = ((($0)) + 168|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($0)) + 164|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($3) + 1)|0; - $11 = (($10) + ($7))|0; - $12 = (($11) - ($9))|0; - $13 = ((($0)) + 140|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($12|0) % ($14|0))&-1; - $16 = ($15|0)==($3|0); - if ($16) { - ___assert_fail((12538|0),(11707|0),1422,(12595|0)); + $7 = ((($0)) + 168|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($4) + ($1))|0; + $10 = (($9) - ($8))|0; + $11 = ((($0)) + 164|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($10|0) % ($12|0))&-1; + $14 = ($13|0)==($4|0); + if ($14) { + ___assert_fail((12846|0),(12015|0),1426,(12903|0)); // unreachable; } else { - $$0 = $15; + $$0 = $13; } } - $17 = ((($0)) + 176|0); + $15 = ((($0)) + 180|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 160|0); $18 = HEAP32[$17>>2]|0; - $19 = ((($0)) + 160|0); - $20 = HEAP32[$19>>2]|0; - $21 = $20 >>> 2; - $22 = (_stbir__get_ring_buffer_entry($18,$$0,$21)|0); - _memset(($22|0),0,($20|0))|0; - $23 = ((($0)) + 168|0); - HEAP32[$23>>2] = $1; - return ($22|0); + $19 = $18 >>> 2; + $20 = (_stbir__get_ring_buffer_entry($16,$$0,$19)|0); + _memset(($20|0),0,($18|0))|0; + return ($20|0); } function _stbir__resample_vertical_downsample($0,$1) { $0 = $0|0; $1 = $1|0; - var $$017 = 0, $$017615 = 0, $$017721 = 0, $$113 = 0, $$211 = 0, $$310 = 0, $$419 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0; + var $$0167183 = 0, $$0168189 = 0, $$0185 = 0, $$1181 = 0, $$2179 = 0, $$3178 = 0, $$4187 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0; var $111 = 0.0, $112 = 0, $113 = 0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0; var $13 = 0, $130 = 0, $131 = 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; 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.0, $46 = 0, $47 = 0; var $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0; var $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0; - var $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond28 = 0, $exitcond29 = 0; - var $exitcond30 = 0, $exitcond31 = 0, $exitcond32 = 0, label = 0, sp = 0; + var $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond196 = 0, $exitcond197 = 0; + var $exitcond198 = 0, $exitcond199 = 0, $exitcond200 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 20|0); $3 = HEAP32[$2>>2]|0; @@ -23346,7 +23302,7 @@ function _stbir__resample_vertical_downsample($0,$1) { $7 = HEAP32[$6>>2]|0; $8 = ((($0)) + 64|0); $9 = HEAP32[$8>>2]|0; - $10 = ((($0)) + 140|0); + $10 = ((($0)) + 164|0); $11 = HEAP32[$10>>2]|0; $12 = ((($0)) + 124|0); $13 = HEAP32[$12>>2]|0; @@ -23355,11 +23311,11 @@ function _stbir__resample_vertical_downsample($0,$1) { $16 = ((($0)) + 148|0); $17 = HEAP32[$16>>2]|0; $18 = (($17) + ($1))|0; - $19 = ((($0)) + 176|0); + $19 = ((($0)) + 180|0); $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 172|0); + $21 = ((($0)) + 176|0); $22 = HEAP32[$21>>2]|0; - $23 = ((($0)) + 164|0); + $23 = ((($0)) + 168|0); $24 = HEAP32[$23>>2]|0; $25 = ((($0)) + 160|0); $26 = HEAP32[$25>>2]|0; @@ -23371,7 +23327,7 @@ function _stbir__resample_vertical_downsample($0,$1) { $32 = (_stbir__use_height_upsampling($0)|0); $33 = ($32|0)==(0); if (!($33)) { - ___assert_fail((12348|0),(11707|0),2000,(12502|0)); + ___assert_fail((12656|0),(12015|0),1999,(12810|0)); // unreachable; } $34 = ($29|0)>($31|0); @@ -23386,30 +23342,30 @@ function _stbir__resample_vertical_downsample($0,$1) { $40 = ($3|0)>(0); $41 = ($3|0)>(0); $42 = ($3|0)>(0); - $$017721 = $29; + $$0168189 = $29; while(1) { - $43 = (($36) + ($$017721))|0; + $43 = (($36) + ($$0168189))|0; $44 = (($7) + ($43<<2)|0); $45 = +HEAPF32[$44>>2]; - $46 = (_stbir__get_ring_buffer_scanline($$017721,$20,$22,$24,$11,$27)|0); + $46 = (_stbir__get_ring_buffer_scanline($$0168189,$20,$22,$24,$11,$27)|0); switch ($9|0) { case 1: { if ($39) { - $$017615 = 0; + $$0167183 = 0; while(1) { - $47 = (($13) + ($$017615<<2)|0); + $47 = (($13) + ($$0167183<<2)|0); $48 = +HEAPF32[$47>>2]; $49 = $45 * $48; - $50 = (($46) + ($$017615<<2)|0); + $50 = (($46) + ($$0167183<<2)|0); $51 = +HEAPF32[$50>>2]; $52 = $51 + $49; HEAPF32[$50>>2] = $52; - $53 = (($$017615) + 1)|0; - $exitcond30 = ($53|0)==($3|0); - if ($exitcond30) { + $53 = (($$0167183) + 1)|0; + $exitcond198 = ($53|0)==($3|0); + if ($exitcond198) { break; } else { - $$017615 = $53; + $$0167183 = $53; } } } @@ -23417,9 +23373,9 @@ function _stbir__resample_vertical_downsample($0,$1) { } case 2: { if ($40) { - $$113 = 0; + $$1181 = 0; while(1) { - $54 = $$113 << 1; + $54 = $$1181 << 1; $55 = (($13) + ($54<<2)|0); $56 = +HEAPF32[$55>>2]; $57 = $45 * $56; @@ -23435,12 +23391,12 @@ function _stbir__resample_vertical_downsample($0,$1) { $66 = +HEAPF32[$65>>2]; $67 = $66 + $64; HEAPF32[$65>>2] = $67; - $68 = (($$113) + 1)|0; - $exitcond29 = ($68|0)==($3|0); - if ($exitcond29) { + $68 = (($$1181) + 1)|0; + $exitcond197 = ($68|0)==($3|0); + if ($exitcond197) { break; } else { - $$113 = $68; + $$1181 = $68; } } } @@ -23448,9 +23404,9 @@ function _stbir__resample_vertical_downsample($0,$1) { } case 3: { if ($41) { - $$211 = 0; + $$2179 = 0; while(1) { - $69 = ($$211*3)|0; + $69 = ($$2179*3)|0; $70 = (($13) + ($69<<2)|0); $71 = +HEAPF32[$70>>2]; $72 = $45 * $71; @@ -23474,12 +23430,12 @@ function _stbir__resample_vertical_downsample($0,$1) { $88 = +HEAPF32[$87>>2]; $89 = $88 + $86; HEAPF32[$87>>2] = $89; - $90 = (($$211) + 1)|0; - $exitcond28 = ($90|0)==($3|0); - if ($exitcond28) { + $90 = (($$2179) + 1)|0; + $exitcond196 = ($90|0)==($3|0); + if ($exitcond196) { break; } else { - $$211 = $90; + $$2179 = $90; } } } @@ -23487,9 +23443,9 @@ function _stbir__resample_vertical_downsample($0,$1) { } case 4: { if ($42) { - $$310 = 0; + $$3178 = 0; while(1) { - $91 = $$310 << 2; + $91 = $$3178 << 2; $92 = (($13) + ($91<<2)|0); $93 = +HEAPF32[$92>>2]; $94 = $45 * $93; @@ -23521,12 +23477,12 @@ function _stbir__resample_vertical_downsample($0,$1) { $117 = +HEAPF32[$116>>2]; $118 = $117 + $115; HEAPF32[$116>>2] = $118; - $119 = (($$310) + 1)|0; + $119 = (($$3178) + 1)|0; $exitcond = ($119|0)==($3|0); if ($exitcond) { break; } else { - $$310 = $119; + $$3178 = $119; } } } @@ -23534,13 +23490,13 @@ function _stbir__resample_vertical_downsample($0,$1) { } default: { if ($37) { - $$419 = 0; + $$4187 = 0; while(1) { - $120 = Math_imul($$419, $9)|0; + $120 = Math_imul($$4187, $9)|0; if ($38) { - $$017 = 0; + $$0185 = 0; while(1) { - $121 = (($$017) + ($120))|0; + $121 = (($$0185) + ($120))|0; $122 = (($13) + ($121<<2)|0); $123 = +HEAPF32[$122>>2]; $124 = $45 * $123; @@ -23548,30 +23504,30 @@ function _stbir__resample_vertical_downsample($0,$1) { $126 = +HEAPF32[$125>>2]; $127 = $126 + $124; HEAPF32[$125>>2] = $127; - $128 = (($$017) + 1)|0; - $exitcond31 = ($128|0)==($9|0); - if ($exitcond31) { + $128 = (($$0185) + 1)|0; + $exitcond199 = ($128|0)==($9|0); + if ($exitcond199) { break; } else { - $$017 = $128; + $$0185 = $128; } } } - $129 = (($$419) + 1)|0; - $exitcond32 = ($129|0)==($3|0); - if ($exitcond32) { + $129 = (($$4187) + 1)|0; + $exitcond200 = ($129|0)==($3|0); + if ($exitcond200) { break; } else { - $$419 = $129; + $$4187 = $129; } } } } } - $130 = (($$017721) + 1)|0; - $131 = ($$017721|0)<($31|0); + $130 = (($$0168189) + 1)|0; + $131 = ($$0168189|0)<($31|0); if ($131) { - $$017721 = $130; + $$0168189 = $130; } else { break; } @@ -24076,7 +24032,7 @@ function _stbir__decode_scanline($0,$1) { break; } default: { - ___assert_fail((13011|0),(11707|0),1361,(13060|0)); + ___assert_fail((13319|0),(12015|0),1363,(13368|0)); // unreachable; } } @@ -24198,7 +24154,7 @@ function _stbir__use_width_upsampling($0) { function _stbir__resample_horizontal_upsample($0,$1) { $0 = $0|0; $1 = $1|0; - var $$018526 = 0, $$018619 = 0, $$018718 = 0, $$021 = 0, $$116 = 0, $$118815 = 0, $$213 = 0, $$218912 = 0, $$311 = 0, $$319010 = 0, $$419123 = 0, $$424 = 0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0; + var $$0182214 = 0, $$0183207 = 0, $$0184206 = 0, $$0209 = 0, $$1185203 = 0, $$1204 = 0, $$2186200 = 0, $$2201 = 0, $$3187198 = 0, $$3199 = 0, $$4188211 = 0, $$4212 = 0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0; var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0; var $125 = 0.0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0, $133 = 0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; var $143 = 0, $144 = 0.0, $145 = 0, $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0, $151 = 0, $152 = 0.0, $153 = 0.0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $16 = 0, $17 = 0, $18 = 0; @@ -24226,14 +24182,14 @@ function _stbir__resample_horizontal_upsample($0,$1) { $14 = ((($0)) + 144|0); $15 = ((($0)) + 4|0); $16 = ($5|0)>(0); - $$018526 = 0; + $$0182214 = 0; L4: while(1) { - $17 = (($8) + ($$018526<<3)|0); + $17 = (($8) + ($$0182214<<3)|0); $18 = HEAP32[$17>>2]|0; - $19 = (((($8) + ($$018526<<3)|0)) + 4|0); + $19 = (((($8) + ($$0182214<<3)|0)) + 4|0); $20 = HEAP32[$19>>2]|0; - $21 = Math_imul($$018526, $5)|0; - $22 = Math_imul($$018526, $12)|0; + $21 = Math_imul($$0182214, $5)|0; + $22 = Math_imul($$0182214, $12)|0; $23 = ($20|0)<($18|0); if ($23) { label = 4; @@ -24268,9 +24224,9 @@ function _stbir__resample_horizontal_upsample($0,$1) { $50 = ($18|0)>($20|0); if (!($50)) { $51 = (($1) + ($21<<2)|0); - $$018619 = $18;$$018718 = 0; + $$0183207 = $18;$$0184206 = 0; while(1) { - $53 = (($$018718) + ($22))|0; + $53 = (($$0184206) + ($22))|0; $54 = (($10) + ($53<<2)|0); $55 = +HEAPF32[$54>>2]; $56 = $55 != 0.0; @@ -24278,17 +24234,17 @@ function _stbir__resample_horizontal_upsample($0,$1) { label = 24; break L4; } - $57 = (($$018718) + 1)|0; - $58 = (($6) + ($$018619<<2)|0); + $57 = (($$0184206) + 1)|0; + $58 = (($6) + ($$0183207<<2)|0); $59 = +HEAPF32[$58>>2]; $60 = $55 * $59; $61 = +HEAPF32[$51>>2]; $62 = $61 + $60; HEAPF32[$51>>2] = $62; - $63 = (($$018619) + 1)|0; - $64 = ($$018619|0)<($20|0); + $63 = (($$0183207) + 1)|0; + $64 = ($$0183207|0)<($20|0); if ($64) { - $$018619 = $63;$$018718 = $57; + $$0183207 = $63;$$0184206 = $57; } else { break; } @@ -24302,10 +24258,10 @@ function _stbir__resample_horizontal_upsample($0,$1) { $47 = (($1) + ($21<<2)|0); $48 = (($21) + 1)|0; $49 = (($1) + ($48<<2)|0); - $$116 = $18;$$118815 = 0; + $$1185203 = 0;$$1204 = $18; while(1) { - $65 = $$116 << 1; - $66 = (($$118815) + ($22))|0; + $65 = $$1204 << 1; + $66 = (($$1185203) + ($22))|0; $67 = (($10) + ($66<<2)|0); $68 = +HEAPF32[$67>>2]; $69 = $68 != 0.0; @@ -24313,7 +24269,7 @@ function _stbir__resample_horizontal_upsample($0,$1) { label = 27; break L4; } - $70 = (($$118815) + 1)|0; + $70 = (($$1185203) + 1)|0; $71 = (($6) + ($65<<2)|0); $72 = +HEAPF32[$71>>2]; $73 = $68 * $72; @@ -24327,10 +24283,10 @@ function _stbir__resample_horizontal_upsample($0,$1) { $80 = +HEAPF32[$49>>2]; $81 = $80 + $79; HEAPF32[$49>>2] = $81; - $82 = (($$116) + 1)|0; - $83 = ($$116|0)<($20|0); + $82 = (($$1204) + 1)|0; + $83 = ($$1204|0)<($20|0); if ($83) { - $$116 = $82;$$118815 = $70; + $$1185203 = $70;$$1204 = $82; } else { break; } @@ -24346,10 +24302,10 @@ function _stbir__resample_horizontal_upsample($0,$1) { $43 = (($1) + ($42<<2)|0); $44 = (($21) + 2)|0; $45 = (($1) + ($44<<2)|0); - $$213 = $18;$$218912 = 0; + $$2186200 = 0;$$2201 = $18; while(1) { - $84 = ($$213*3)|0; - $85 = (($$218912) + ($22))|0; + $84 = ($$2201*3)|0; + $85 = (($$2186200) + ($22))|0; $86 = (($10) + ($85<<2)|0); $87 = +HEAPF32[$86>>2]; $88 = $87 != 0.0; @@ -24357,7 +24313,7 @@ function _stbir__resample_horizontal_upsample($0,$1) { label = 30; break L4; } - $89 = (($$218912) + 1)|0; + $89 = (($$2186200) + 1)|0; $90 = (($6) + ($84<<2)|0); $91 = +HEAPF32[$90>>2]; $92 = $87 * $91; @@ -24378,10 +24334,10 @@ function _stbir__resample_horizontal_upsample($0,$1) { $105 = +HEAPF32[$45>>2]; $106 = $105 + $104; HEAPF32[$45>>2] = $106; - $107 = (($$213) + 1)|0; - $108 = ($$213|0)<($20|0); + $107 = (($$2201) + 1)|0; + $108 = ($$2201|0)<($20|0); if ($108) { - $$213 = $107;$$218912 = $89; + $$2186200 = $89;$$2201 = $107; } else { break; } @@ -24399,10 +24355,10 @@ function _stbir__resample_horizontal_upsample($0,$1) { $37 = (($1) + ($36<<2)|0); $38 = (($21) + 3)|0; $39 = (($1) + ($38<<2)|0); - $$311 = $18;$$319010 = 0; + $$3187198 = 0;$$3199 = $18; while(1) { - $109 = $$311 << 2; - $110 = (($$319010) + ($22))|0; + $109 = $$3199 << 2; + $110 = (($$3187198) + ($22))|0; $111 = (($10) + ($110<<2)|0); $112 = +HEAPF32[$111>>2]; $113 = $112 != 0.0; @@ -24410,7 +24366,7 @@ function _stbir__resample_horizontal_upsample($0,$1) { label = 33; break L4; } - $114 = (($$319010) + 1)|0; + $114 = (($$3187198) + 1)|0; $115 = (($6) + ($109<<2)|0); $116 = +HEAPF32[$115>>2]; $117 = $112 * $116; @@ -24438,10 +24394,10 @@ function _stbir__resample_horizontal_upsample($0,$1) { $136 = +HEAPF32[$39>>2]; $137 = $136 + $135; HEAPF32[$39>>2] = $137; - $138 = (($$311) + 1)|0; - $139 = ($$311|0)<($20|0); + $138 = (($$3199) + 1)|0; + $139 = ($$3199|0)<($20|0); if ($139) { - $$311 = $138;$$319010 = $114; + $$3187198 = $114;$$3199 = $138; } else { break; } @@ -24452,11 +24408,11 @@ function _stbir__resample_horizontal_upsample($0,$1) { default: { $52 = ($18|0)>($20|0); if (!($52)) { - $$419123 = 0;$$424 = $18; + $$4188211 = 0;$$4212 = $18; while(1) { - $140 = Math_imul($$424, $5)|0; - $141 = (($$419123) + 1)|0; - $142 = (($$419123) + ($22))|0; + $140 = Math_imul($$4212, $5)|0; + $141 = (($$4188211) + 1)|0; + $142 = (($$4188211) + ($22))|0; $143 = (($10) + ($142<<2)|0); $144 = +HEAPF32[$143>>2]; $145 = $144 != 0.0; @@ -24465,30 +24421,30 @@ function _stbir__resample_horizontal_upsample($0,$1) { break L4; } if ($16) { - $$021 = 0; + $$0209 = 0; while(1) { - $146 = (($$021) + ($140))|0; + $146 = (($$0209) + ($140))|0; $147 = (($6) + ($146<<2)|0); $148 = +HEAPF32[$147>>2]; $149 = $144 * $148; - $150 = (($$021) + ($21))|0; + $150 = (($$0209) + ($21))|0; $151 = (($1) + ($150<<2)|0); $152 = +HEAPF32[$151>>2]; $153 = $152 + $149; HEAPF32[$151>>2] = $153; - $154 = (($$021) + 1)|0; + $154 = (($$0209) + 1)|0; $exitcond = ($154|0)==($5|0); if ($exitcond) { break; } else { - $$021 = $154; + $$0209 = $154; } } } - $155 = (($$424) + 1)|0; - $156 = ($$424|0)<($20|0); + $155 = (($$4212) + 1)|0; + $156 = ($$4212|0)<($20|0); if ($156) { - $$419123 = $141;$$424 = $155; + $$4188211 = $141;$$4212 = $155; } else { break; } @@ -24496,10 +24452,10 @@ function _stbir__resample_horizontal_upsample($0,$1) { } } } - $157 = (($$018526) + 1)|0; + $157 = (($$0182214) + 1)|0; $158 = ($157|0)<($3|0); if ($158) { - $$018526 = $157; + $$0182214 = $157; } else { label = 41; break; @@ -24507,52 +24463,52 @@ function _stbir__resample_horizontal_upsample($0,$1) { } switch (label|0) { case 4: { - ___assert_fail((12726|0),(11707|0),1454,(12735|0)); + ___assert_fail((13034|0),(12015|0),1455,(13043|0)); // unreachable; break; } case 6: { - ___assert_fail((12771|0),(11707|0),1455,(12735|0)); + ___assert_fail((13079|0),(12015|0),1456,(13043|0)); // unreachable; break; } case 8: { - ___assert_fail((12821|0),(11707|0),1456,(12735|0)); + ___assert_fail((13129|0),(12015|0),1457,(13043|0)); // unreachable; break; } case 10: { - ___assert_fail((12871|0),(11707|0),1457,(12735|0)); + ___assert_fail((13179|0),(12015|0),1458,(13043|0)); // unreachable; break; } case 12: { - ___assert_fail((12941|0),(11707|0),1458,(12735|0)); + ___assert_fail((13249|0),(12015|0),1459,(13043|0)); // unreachable; break; } case 24: { - ___assert_fail((12709|0),(11707|0),1466,(12735|0)); + ___assert_fail((13017|0),(12015|0),1467,(13043|0)); // unreachable; break; } case 27: { - ___assert_fail((12709|0),(11707|0),1475,(12735|0)); + ___assert_fail((13017|0),(12015|0),1476,(13043|0)); // unreachable; break; } case 30: { - ___assert_fail((12709|0),(11707|0),1485,(12735|0)); + ___assert_fail((13017|0),(12015|0),1486,(13043|0)); // unreachable; break; } case 33: { - ___assert_fail((12709|0),(11707|0),1496,(12735|0)); + ___assert_fail((13017|0),(12015|0),1497,(13043|0)); // unreachable; break; } case 37: { - ___assert_fail((12709|0),(11707|0),1509,(12735|0)); + ___assert_fail((13017|0),(12015|0),1510,(13043|0)); // unreachable; break; } @@ -24565,7 +24521,7 @@ function _stbir__resample_horizontal_upsample($0,$1) { function _stbir__resample_horizontal_downsample($0,$1) { $0 = $0|0; $1 = $1|0; - var $$025 = 0, $$029421 = 0, $$029914 = 0, $$129527 = 0, $$131 = 0, $$229633 = 0, $$237 = 0, $$329739 = 0, $$343 = 0, $$419 = 0, $$429815 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0.0; + var $$0288314 = 0, $$0293307 = 0, $$0318 = 0, $$1289320 = 0, $$1324 = 0, $$2290326 = 0, $$2330 = 0, $$3291332 = 0, $$3336 = 0, $$4292308 = 0, $$4312 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0.0; var $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.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.0, $139 = 0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0, $143 = 0.0; var $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0, $148 = 0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0, $16 = 0, $160 = 0, $161 = 0.0; @@ -24595,31 +24551,31 @@ function _stbir__resample_horizontal_downsample($0,$1) { $17 = (_stbir__use_width_upsampling($0)|0); $18 = ($17|0)==(0); if (!($18)) { - ___assert_fail((12630|0),(11707|0),1532,(12671|0)); + ___assert_fail((12938|0),(12015|0),1531,(12979|0)); // unreachable; } switch ($5|0) { case 1: { $22 = ($16|0)>(0); if ($22) { - $$025 = 0; + $$0318 = 0; } else { return; } L27: while(1) { - $25 = (($8) + ($$025<<3)|0); + $25 = (($8) + ($$0318<<3)|0); $26 = HEAP32[$25>>2]|0; - $27 = (((($8) + ($$025<<3)|0)) + 4|0); + $27 = (((($8) + ($$0318<<3)|0)) + 4|0); $28 = HEAP32[$27>>2]|0; $29 = ($26|0)>($28|0); if (!($29)) { - $30 = Math_imul($$025, $12)|0; - $31 = (($$025) - ($14))|0; + $30 = Math_imul($$0318, $12)|0; + $31 = (($$0318) - ($14))|0; $32 = (($30) - ($26))|0; $33 = (($6) + ($31<<2)|0); - $$029421 = $26; + $$0288314 = $26; while(1) { - $34 = (($32) + ($$029421))|0; + $34 = (($32) + ($$0288314))|0; $35 = (($10) + ($34<<2)|0); $36 = +HEAPF32[$35>>2]; $37 = $36 != 0.0; @@ -24629,30 +24585,30 @@ function _stbir__resample_horizontal_downsample($0,$1) { } $38 = +HEAPF32[$33>>2]; $39 = $36 * $38; - $40 = (($1) + ($$029421<<2)|0); + $40 = (($1) + ($$0288314<<2)|0); $41 = +HEAPF32[$40>>2]; $42 = $41 + $39; HEAPF32[$40>>2] = $42; - $43 = (($$029421) + 1)|0; - $44 = ($$029421|0)<($28|0); + $43 = (($$0288314) + 1)|0; + $44 = ($$0288314|0)<($28|0); if ($44) { - $$029421 = $43; + $$0288314 = $43; } else { break; } } } - $45 = (($$025) + 1)|0; + $45 = (($$0318) + 1)|0; $46 = ($45|0)<($16|0); if ($46) { - $$025 = $45; + $$0318 = $45; } else { label = 42; break; } } if ((label|0) == 13) { - ___assert_fail((12709|0),(11707|0),1550,(12671|0)); + ___assert_fail((13017|0),(12015|0),1549,(12979|0)); // unreachable; } else if ((label|0) == 42) { @@ -24663,28 +24619,28 @@ function _stbir__resample_horizontal_downsample($0,$1) { case 2: { $21 = ($16|0)>(0); if ($21) { - $$131 = 0; + $$1324 = 0; } else { return; } L41: while(1) { - $47 = (($8) + ($$131<<3)|0); + $47 = (($8) + ($$1324<<3)|0); $48 = HEAP32[$47>>2]|0; - $49 = (((($8) + ($$131<<3)|0)) + 4|0); + $49 = (((($8) + ($$1324<<3)|0)) + 4|0); $50 = HEAP32[$49>>2]|0; - $51 = (($$131) - ($14))|0; + $51 = (($$1324) - ($14))|0; $52 = $51 << 1; $53 = ($48|0)>($50|0); if (!($53)) { - $54 = Math_imul($$131, $12)|0; + $54 = Math_imul($$1324, $12)|0; $55 = (($54) - ($48))|0; $56 = (($6) + ($52<<2)|0); $57 = $52 | 1; $58 = (($6) + ($57<<2)|0); - $$129527 = $48; + $$1289320 = $48; while(1) { - $59 = $$129527 << 1; - $60 = (($55) + ($$129527))|0; + $59 = $$1289320 << 1; + $60 = (($55) + ($$1289320))|0; $61 = (($10) + ($60<<2)|0); $62 = +HEAPF32[$61>>2]; $63 = $62 != 0.0; @@ -24705,26 +24661,26 @@ function _stbir__resample_horizontal_downsample($0,$1) { $73 = +HEAPF32[$72>>2]; $74 = $73 + $70; HEAPF32[$72>>2] = $74; - $75 = (($$129527) + 1)|0; - $76 = ($$129527|0)<($50|0); + $75 = (($$1289320) + 1)|0; + $76 = ($$1289320|0)<($50|0); if ($76) { - $$129527 = $75; + $$1289320 = $75; } else { break; } } } - $77 = (($$131) + 1)|0; + $77 = (($$1324) + 1)|0; $78 = ($77|0)<($16|0); if ($78) { - $$131 = $77; + $$1324 = $77; } else { label = 42; break; } } if ((label|0) == 19) { - ___assert_fail((12709|0),(11707|0),1571,(12671|0)); + ___assert_fail((13017|0),(12015|0),1570,(12979|0)); // unreachable; } else if ((label|0) == 42) { @@ -24735,30 +24691,30 @@ function _stbir__resample_horizontal_downsample($0,$1) { case 3: { $20 = ($16|0)>(0); if ($20) { - $$237 = 0; + $$2330 = 0; } else { return; } L55: while(1) { - $79 = (($8) + ($$237<<3)|0); + $79 = (($8) + ($$2330<<3)|0); $80 = HEAP32[$79>>2]|0; - $81 = (((($8) + ($$237<<3)|0)) + 4|0); + $81 = (((($8) + ($$2330<<3)|0)) + 4|0); $82 = HEAP32[$81>>2]|0; - $83 = (($$237) - ($14))|0; + $83 = (($$2330) - ($14))|0; $84 = ($83*3)|0; $85 = ($80|0)>($82|0); if (!($85)) { - $86 = Math_imul($$237, $12)|0; + $86 = Math_imul($$2330, $12)|0; $87 = (($86) - ($80))|0; $88 = (($6) + ($84<<2)|0); $89 = (($84) + 1)|0; $90 = (($6) + ($89<<2)|0); $91 = (($84) + 2)|0; $92 = (($6) + ($91<<2)|0); - $$229633 = $80; + $$2290326 = $80; while(1) { - $93 = ($$229633*3)|0; - $94 = (($87) + ($$229633))|0; + $93 = ($$2290326*3)|0; + $94 = (($87) + ($$2290326))|0; $95 = (($10) + ($94<<2)|0); $96 = +HEAPF32[$95>>2]; $97 = $96 != 0.0; @@ -24786,26 +24742,26 @@ function _stbir__resample_horizontal_downsample($0,$1) { $113 = +HEAPF32[$112>>2]; $114 = $113 + $110; HEAPF32[$112>>2] = $114; - $115 = (($$229633) + 1)|0; - $116 = ($$229633|0)<($82|0); + $115 = (($$2290326) + 1)|0; + $116 = ($$2290326|0)<($82|0); if ($116) { - $$229633 = $115; + $$2290326 = $115; } else { break; } } } - $117 = (($$237) + 1)|0; + $117 = (($$2330) + 1)|0; $118 = ($117|0)<($16|0); if ($118) { - $$237 = $117; + $$2330 = $117; } else { label = 42; break; } } if ((label|0) == 25) { - ___assert_fail((12709|0),(11707|0),1593,(12671|0)); + ___assert_fail((13017|0),(12015|0),1592,(12979|0)); // unreachable; } else if ((label|0) == 42) { @@ -24816,20 +24772,20 @@ function _stbir__resample_horizontal_downsample($0,$1) { case 4: { $19 = ($16|0)>(0); if ($19) { - $$343 = 0; + $$3336 = 0; } else { return; } L69: while(1) { - $119 = (($8) + ($$343<<3)|0); + $119 = (($8) + ($$3336<<3)|0); $120 = HEAP32[$119>>2]|0; - $121 = (((($8) + ($$343<<3)|0)) + 4|0); + $121 = (((($8) + ($$3336<<3)|0)) + 4|0); $122 = HEAP32[$121>>2]|0; - $123 = (($$343) - ($14))|0; + $123 = (($$3336) - ($14))|0; $124 = $123 << 2; $125 = ($120|0)>($122|0); if (!($125)) { - $126 = Math_imul($$343, $12)|0; + $126 = Math_imul($$3336, $12)|0; $127 = (($126) - ($120))|0; $128 = (($6) + ($124<<2)|0); $129 = $124 | 1; @@ -24838,10 +24794,10 @@ function _stbir__resample_horizontal_downsample($0,$1) { $132 = (($6) + ($131<<2)|0); $133 = $124 | 3; $134 = (($6) + ($133<<2)|0); - $$329739 = $120; + $$3291332 = $120; while(1) { - $135 = $$329739 << 2; - $136 = (($127) + ($$329739))|0; + $135 = $$3291332 << 2; + $136 = (($127) + ($$3291332))|0; $137 = (($10) + ($136<<2)|0); $138 = +HEAPF32[$137>>2]; $139 = $138 != 0.0; @@ -24876,26 +24832,26 @@ function _stbir__resample_horizontal_downsample($0,$1) { $161 = +HEAPF32[$160>>2]; $162 = $161 + $158; HEAPF32[$160>>2] = $162; - $163 = (($$329739) + 1)|0; - $164 = ($$329739|0)<($122|0); + $163 = (($$3291332) + 1)|0; + $164 = ($$3291332|0)<($122|0); if ($164) { - $$329739 = $163; + $$3291332 = $163; } else { break; } } } - $165 = (($$343) + 1)|0; + $165 = (($$3336) + 1)|0; $166 = ($165|0)<($16|0); if ($166) { - $$343 = $165; + $$3336 = $165; } else { label = 42; break; } } if ((label|0) == 31) { - ___assert_fail((12709|0),(11707|0),1616,(12671|0)); + ___assert_fail((13017|0),(12015|0),1615,(12979|0)); // unreachable; } else if ((label|0) == 42) { @@ -24909,22 +24865,22 @@ function _stbir__resample_horizontal_downsample($0,$1) { return; } $24 = ($5|0)>(0); - $$419 = 0; + $$4312 = 0; L9: while(1) { - $167 = (($8) + ($$419<<3)|0); + $167 = (($8) + ($$4312<<3)|0); $168 = HEAP32[$167>>2]|0; - $169 = (((($8) + ($$419<<3)|0)) + 4|0); + $169 = (((($8) + ($$4312<<3)|0)) + 4|0); $170 = HEAP32[$169>>2]|0; - $171 = (($$419) - ($14))|0; + $171 = (($$4312) - ($14))|0; $172 = Math_imul($171, $5)|0; $173 = ($168|0)>($170|0); if (!($173)) { - $174 = Math_imul($$419, $12)|0; + $174 = Math_imul($$4312, $12)|0; $175 = (($174) - ($168))|0; - $$429815 = $168; + $$4292308 = $168; while(1) { - $176 = Math_imul($$429815, $5)|0; - $177 = (($175) + ($$429815))|0; + $176 = Math_imul($$4292308, $5)|0; + $177 = (($175) + ($$4292308))|0; $178 = (($10) + ($177<<2)|0); $179 = +HEAPF32[$178>>2]; $180 = $179 != 0.0; @@ -24933,46 +24889,46 @@ function _stbir__resample_horizontal_downsample($0,$1) { break L9; } if ($24) { - $$029914 = 0; + $$0293307 = 0; while(1) { - $181 = (($$029914) + ($172))|0; + $181 = (($$0293307) + ($172))|0; $182 = (($6) + ($181<<2)|0); $183 = +HEAPF32[$182>>2]; $184 = $179 * $183; - $185 = (($$029914) + ($176))|0; + $185 = (($$0293307) + ($176))|0; $186 = (($1) + ($185<<2)|0); $187 = +HEAPF32[$186>>2]; $188 = $187 + $184; HEAPF32[$186>>2] = $188; - $189 = (($$029914) + 1)|0; + $189 = (($$0293307) + 1)|0; $exitcond = ($189|0)==($5|0); if ($exitcond) { break; } else { - $$029914 = $189; + $$0293307 = $189; } } } - $190 = (($$429815) + 1)|0; - $191 = ($$429815|0)<($170|0); + $190 = (($$4292308) + 1)|0; + $191 = ($$4292308|0)<($170|0); if ($191) { - $$429815 = $190; + $$4292308 = $190; } else { break; } } } - $192 = (($$419) + 1)|0; + $192 = (($$4312) + 1)|0; $193 = ($192|0)<($16|0); if ($193) { - $$419 = $192; + $$4312 = $192; } else { label = 42; break; } } if ((label|0) == 38) { - ___assert_fail((12709|0),(11707|0),1641,(12671|0)); + ___assert_fail((13017|0),(12015|0),1640,(12979|0)); // unreachable; } else if ((label|0) == 42) { @@ -25103,7 +25059,7 @@ function _stbir__edge_wrap_slow($0,$1,$2) { break; } default: { - ___assert_fail((13083|0),(11707|0),987,(13110|0)); + ___assert_fail((13391|0),(12015|0),989,(13418|0)); // unreachable; } } @@ -25614,7 +25570,7 @@ function _stbir__encode_scanline($0,$1,$2,$3,$4,$5,$6) { break; } default: { - ___assert_fail((13011|0),(11707|0),1853,(13132|0)); + ___assert_fail((13319|0),(12015|0),1856,(13440|0)); // unreachable; } } @@ -25688,7 +25644,7 @@ function _stbir__filter_trapezoid($0,$1) { $3 = $2 + 0.5; $4 = !($1 <= 1.0); if ($4) { - ___assert_fail((13155|0),(11707|0),755,(13191|0)); + ___assert_fail((13463|0),(12015|0),757,(13499|0)); // unreachable; } $fabsf = (+Math_abs((+$0))); @@ -25714,7 +25670,7 @@ function _stbir__support_trapezoid($0) { sp = STACKTOP; $1 = !($0 <= 1.0); if ($1) { - ___assert_fail((13155|0),(11707|0),773,(13166|0)); + ___assert_fail((13463|0),(12015|0),775,(13474|0)); // unreachable; } else { $2 = $0 * 0.5; @@ -25892,7 +25848,7 @@ function _stbir__decode_and_resample_upsample($0,$1) { function _stbir__resample_vertical_upsample($0,$1) { $0 = $0|0; $1 = $1|0; - var $$028117 = 0, $$028222 = 0, $$028721 = 0, $$09 = 0, $$124 = 0, $$128329 = 0, $$128828 = 0, $$228436 = 0, $$228935 = 0, $$231 = 0, $$328543 = 0, $$329042 = 0, $$338 = 0, $$410 = 0, $$428615 = 0, $$429114 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0; + var $$0278305 = 0, $$0279310 = 0, $$0284309 = 0, $$0297 = 0, $$1280317 = 0, $$1285316 = 0, $$1312 = 0, $$2281324 = 0, $$2286323 = 0, $$2319 = 0, $$3282331 = 0, $$3287330 = 0, $$3326 = 0, $$4283303 = 0, $$4288302 = 0, $$4298 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0; var $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0; var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0.0, $128 = 0, $129 = 0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0, $133 = 0.0, $134 = 0.0, $135 = 0, $136 = 0, $137 = 0.0, $138 = 0.0, $139 = 0; var $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0, $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0.0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0.0, $153 = 0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0; @@ -25901,7 +25857,7 @@ function _stbir__resample_vertical_upsample($0,$1) { 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.0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0; var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0.0; - var $9 = 0, $90 = 0.0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0, $exitcond = 0, $exitcond49 = 0, $exitcond50 = 0, $exitcond51 = 0, $exitcond52 = 0, $exitcond53 = 0, label = 0, sp = 0; + var $9 = 0, $90 = 0.0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0, $exitcond = 0, $exitcond337 = 0, $exitcond338 = 0, $exitcond339 = 0, $exitcond340 = 0, $exitcond341 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 20|0); $3 = HEAP32[$2>>2]|0; @@ -25917,21 +25873,21 @@ function _stbir__resample_vertical_upsample($0,$1) { $13 = HEAP32[$12>>2]|0; $14 = ((($0)) + 96|0); $15 = HEAP32[$14>>2]|0; - $16 = ((($0)) + 140|0); + $16 = ((($0)) + 164|0); $17 = HEAP32[$16>>2]|0; $18 = ((($0)) + 16|0); $19 = HEAP32[$18>>2]|0; - $20 = ((($0)) + 180|0); + $20 = ((($0)) + 184|0); $21 = HEAP32[$20>>2]|0; $22 = $13 << 1; $23 = (($22) + ($15))|0; $24 = ((($0)) + 132|0); $25 = HEAP32[$24>>2]|0; - $26 = ((($0)) + 176|0); + $26 = ((($0)) + 180|0); $27 = HEAP32[$26>>2]|0; - $28 = ((($0)) + 172|0); + $28 = ((($0)) + 176|0); $29 = HEAP32[$28>>2]|0; - $30 = ((($0)) + 164|0); + $30 = ((($0)) + 168|0); $31 = HEAP32[$30>>2]|0; $32 = ((($0)) + 160|0); $33 = HEAP32[$32>>2]|0; @@ -25947,7 +25903,7 @@ function _stbir__resample_vertical_upsample($0,$1) { $43 = (_stbir__use_height_upsampling($0)|0); $44 = ($43|0)==(0); if ($44) { - ___assert_fail((13215|0),(11707|0),1890,(13364|0)); + ___assert_fail((13523|0),(12015|0),1892,(13672|0)); // unreachable; } $45 = $3 << 2; @@ -25962,36 +25918,36 @@ function _stbir__resample_vertical_upsample($0,$1) { return; } $54 = ($3|0)>(0); - $$028222 = $37;$$028721 = 0; + $$0279310 = $37;$$0284309 = 0; while(1) { - $58 = (($$028721) + 1)|0; - $59 = (_stbir__get_ring_buffer_scanline($$028222,$27,$29,$31,$17,$34)|0); - $60 = (($$028721) + ($35))|0; + $58 = (($$0284309) + 1)|0; + $59 = (_stbir__get_ring_buffer_scanline($$0279310,$27,$29,$31,$17,$34)|0); + $60 = (($$0284309) + ($35))|0; $61 = (($7) + ($60<<2)|0); $62 = +HEAPF32[$61>>2]; if ($54) { - $$028117 = 0; + $$0278305 = 0; while(1) { - $63 = (($59) + ($$028117<<2)|0); + $63 = (($59) + ($$0278305<<2)|0); $64 = +HEAPF32[$63>>2]; $65 = $62 * $64; - $66 = (($21) + ($$028117<<2)|0); + $66 = (($21) + ($$0278305<<2)|0); $67 = +HEAPF32[$66>>2]; $68 = $67 + $65; HEAPF32[$66>>2] = $68; - $69 = (($$028117) + 1)|0; - $exitcond50 = ($69|0)==($3|0); - if ($exitcond50) { + $69 = (($$0278305) + 1)|0; + $exitcond338 = ($69|0)==($3|0); + if ($exitcond338) { break; } else { - $$028117 = $69; + $$0278305 = $69; } } } - $70 = (($$028222) + 1)|0; - $71 = ($$028222|0)<($39|0); + $70 = (($$0279310) + 1)|0; + $71 = ($$0279310|0)<($39|0); if ($71) { - $$028222 = $70;$$028721 = $58; + $$0279310 = $70;$$0284309 = $58; } else { break; } @@ -26009,17 +25965,17 @@ function _stbir__resample_vertical_upsample($0,$1) { return; } $52 = ($3|0)>(0); - $$128329 = $37;$$128828 = 0; + $$1280317 = $37;$$1285316 = 0; while(1) { - $72 = (($$128828) + 1)|0; - $73 = (_stbir__get_ring_buffer_scanline($$128329,$27,$29,$31,$17,$34)|0); - $74 = (($$128828) + ($35))|0; + $72 = (($$1285316) + 1)|0; + $73 = (_stbir__get_ring_buffer_scanline($$1280317,$27,$29,$31,$17,$34)|0); + $74 = (($$1285316) + ($35))|0; $75 = (($7) + ($74<<2)|0); $76 = +HEAPF32[$75>>2]; if ($52) { - $$124 = 0; + $$1312 = 0; while(1) { - $77 = $$124 << 1; + $77 = $$1312 << 1; $78 = (($73) + ($77<<2)|0); $79 = +HEAPF32[$78>>2]; $80 = $76 * $79; @@ -26035,19 +25991,19 @@ function _stbir__resample_vertical_upsample($0,$1) { $89 = +HEAPF32[$88>>2]; $90 = $89 + $87; HEAPF32[$88>>2] = $90; - $91 = (($$124) + 1)|0; - $exitcond51 = ($91|0)==($3|0); - if ($exitcond51) { + $91 = (($$1312) + 1)|0; + $exitcond339 = ($91|0)==($3|0); + if ($exitcond339) { break; } else { - $$124 = $91; + $$1312 = $91; } } } - $92 = (($$128329) + 1)|0; - $93 = ($$128329|0)<($39|0); + $92 = (($$1280317) + 1)|0; + $93 = ($$1280317|0)<($39|0); if ($93) { - $$128329 = $92;$$128828 = $72; + $$1280317 = $92;$$1285316 = $72; } else { break; } @@ -26065,17 +26021,17 @@ function _stbir__resample_vertical_upsample($0,$1) { return; } $50 = ($3|0)>(0); - $$228436 = $37;$$228935 = 0; + $$2281324 = $37;$$2286323 = 0; while(1) { - $94 = (($$228935) + 1)|0; - $95 = (_stbir__get_ring_buffer_scanline($$228436,$27,$29,$31,$17,$34)|0); - $96 = (($$228935) + ($35))|0; + $94 = (($$2286323) + 1)|0; + $95 = (_stbir__get_ring_buffer_scanline($$2281324,$27,$29,$31,$17,$34)|0); + $96 = (($$2286323) + ($35))|0; $97 = (($7) + ($96<<2)|0); $98 = +HEAPF32[$97>>2]; if ($50) { - $$231 = 0; + $$2319 = 0; while(1) { - $99 = ($$231*3)|0; + $99 = ($$2319*3)|0; $100 = (($95) + ($99<<2)|0); $101 = +HEAPF32[$100>>2]; $102 = $98 * $101; @@ -26099,19 +26055,19 @@ function _stbir__resample_vertical_upsample($0,$1) { $118 = +HEAPF32[$117>>2]; $119 = $118 + $116; HEAPF32[$117>>2] = $119; - $120 = (($$231) + 1)|0; - $exitcond52 = ($120|0)==($3|0); - if ($exitcond52) { + $120 = (($$2319) + 1)|0; + $exitcond340 = ($120|0)==($3|0); + if ($exitcond340) { break; } else { - $$231 = $120; + $$2319 = $120; } } } - $121 = (($$228436) + 1)|0; - $122 = ($$228436|0)<($39|0); + $121 = (($$2281324) + 1)|0; + $122 = ($$2281324|0)<($39|0); if ($122) { - $$228436 = $121;$$228935 = $94; + $$2281324 = $121;$$2286323 = $94; } else { break; } @@ -26129,17 +26085,17 @@ function _stbir__resample_vertical_upsample($0,$1) { return; } $48 = ($3|0)>(0); - $$328543 = $37;$$329042 = 0; + $$3282331 = $37;$$3287330 = 0; while(1) { - $123 = (($$329042) + 1)|0; - $124 = (_stbir__get_ring_buffer_scanline($$328543,$27,$29,$31,$17,$34)|0); - $125 = (($$329042) + ($35))|0; + $123 = (($$3287330) + 1)|0; + $124 = (_stbir__get_ring_buffer_scanline($$3282331,$27,$29,$31,$17,$34)|0); + $125 = (($$3287330) + ($35))|0; $126 = (($7) + ($125<<2)|0); $127 = +HEAPF32[$126>>2]; if ($48) { - $$338 = 0; + $$3326 = 0; while(1) { - $128 = $$338 << 2; + $128 = $$3326 << 2; $129 = (($124) + ($128<<2)|0); $130 = +HEAPF32[$129>>2]; $131 = $127 * $130; @@ -26171,19 +26127,19 @@ function _stbir__resample_vertical_upsample($0,$1) { $154 = +HEAPF32[$153>>2]; $155 = $154 + $152; HEAPF32[$153>>2] = $155; - $156 = (($$338) + 1)|0; - $exitcond53 = ($156|0)==($3|0); - if ($exitcond53) { + $156 = (($$3326) + 1)|0; + $exitcond341 = ($156|0)==($3|0); + if ($exitcond341) { break; } else { - $$338 = $156; + $$3326 = $156; } } } - $157 = (($$328543) + 1)|0; - $158 = ($$328543|0)<($39|0); + $157 = (($$3282331) + 1)|0; + $158 = ($$3282331|0)<($39|0); if ($158) { - $$328543 = $157;$$329042 = $123; + $$3282331 = $157;$$3287330 = $123; } else { break; } @@ -26202,21 +26158,21 @@ function _stbir__resample_vertical_upsample($0,$1) { } $56 = ($3|0)>(0); $57 = ($9|0)>(0); - $$428615 = $37;$$429114 = 0; + $$4283303 = $37;$$4288302 = 0; while(1) { - $159 = (($$429114) + 1)|0; - $160 = (_stbir__get_ring_buffer_scanline($$428615,$27,$29,$31,$17,$34)|0); - $161 = (($$429114) + ($35))|0; + $159 = (($$4288302) + 1)|0; + $160 = (_stbir__get_ring_buffer_scanline($$4283303,$27,$29,$31,$17,$34)|0); + $161 = (($$4288302) + ($35))|0; $162 = (($7) + ($161<<2)|0); $163 = +HEAPF32[$162>>2]; if ($56) { - $$410 = 0; + $$4298 = 0; while(1) { - $164 = Math_imul($$410, $9)|0; + $164 = Math_imul($$4298, $9)|0; if ($57) { - $$09 = 0; + $$0297 = 0; while(1) { - $165 = (($$09) + ($164))|0; + $165 = (($$0297) + ($164))|0; $166 = (($160) + ($165<<2)|0); $167 = +HEAPF32[$166>>2]; $168 = $163 * $167; @@ -26224,28 +26180,28 @@ function _stbir__resample_vertical_upsample($0,$1) { $170 = +HEAPF32[$169>>2]; $171 = $170 + $168; HEAPF32[$169>>2] = $171; - $172 = (($$09) + 1)|0; + $172 = (($$0297) + 1)|0; $exitcond = ($172|0)==($9|0); if ($exitcond) { break; } else { - $$09 = $172; + $$0297 = $172; } } } - $173 = (($$410) + 1)|0; - $exitcond49 = ($173|0)==($3|0); - if ($exitcond49) { + $173 = (($$4298) + 1)|0; + $exitcond337 = ($173|0)==($3|0); + if ($exitcond337) { break; } else { - $$410 = $173; + $$4298 = $173; } } } - $174 = (($$428615) + 1)|0; - $175 = ($$428615|0)<($39|0); + $174 = (($$4283303) + 1)|0; + $175 = ($$4283303|0)<($39|0); if ($175) { - $$428615 = $174;$$429114 = $159; + $$4283303 = $174;$$4288302 = $159; } else { break; } @@ -26305,7 +26261,7 @@ function _stbir__calculate_coefficients_upsample($0,$1,$2,$3,$4,$5,$6) { $4 = +$4; $5 = $5|0; $6 = $6|0; - var $$06110 = 0, $$0629 = 0, $$064$lcssa = 0.0, $$0648 = 0.0, $$1 = 0, $$163 = 0, $$165 = 0.0, $$25 = 0, $$33 = 0, $$lcssa = 0, $$lcssa2 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $$06175 = 0, $$06274 = 0, $$064$lcssa = 0.0, $$06473 = 0.0, $$1 = 0, $$163 = 0, $$165 = 0.0, $$270 = 0, $$368 = 0, $$lcssa = 0, $$lcssa67 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; var $19 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0; var $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; var $59 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $ceilf = 0.0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; @@ -26320,7 +26276,7 @@ function _stbir__calculate_coefficients_upsample($0,$1,$2,$3,$4,$5,$6) { $13 = (~~(($ceilf))); $14 = ($7|0)>($13|0); if ($14) { - ___assert_fail((13759|0),(11707|0),1036,(13858|0)); + ___assert_fail((14067|0),(12015|0),1038,(14166|0)); // unreachable; } HEAP32[$5>>2] = $2; @@ -26328,7 +26284,7 @@ function _stbir__calculate_coefficients_upsample($0,$1,$2,$3,$4,$5,$6) { HEAP32[$15>>2] = $3; $16 = ($3|0)<($2|0); if ($16) { - ___assert_fail((13611|0),(11707|0),1041,(13858|0)); + ___assert_fail((13919|0),(12015|0),1043,(14166|0)); // unreachable; } $17 = (($3) - ($2))|0; @@ -26336,37 +26292,37 @@ function _stbir__calculate_coefficients_upsample($0,$1,$2,$3,$4,$5,$6) { $19 = (3104 + ($0<<3)|0); $20 = HEAP32[$19>>2]|0; if ($18) { - $$064$lcssa = 0.0;$$lcssa = $20;$$lcssa2 = $17; + $$064$lcssa = 0.0;$$lcssa = $20;$$lcssa67 = $17; } else { - $$06110 = $2;$$0629 = 0;$$0648 = 0.0;$25 = $20; + $$06175 = $2;$$06274 = 0;$$06473 = 0.0;$25 = $20; while(1) { - $21 = (($$06110) + ($$0629))|0; + $21 = (($$06175) + ($$06274))|0; $22 = (+($21|0)); $23 = $22 + 0.5; $24 = $4 - $23; $26 = (+FUNCTION_TABLE_ddd[$25 & 7]($24,$10)); - $27 = (($6) + ($$0629<<2)|0); + $27 = (($6) + ($$06274<<2)|0); HEAPF32[$27>>2] = $26; - $28 = ($$0629|0)!=(0); + $28 = ($$06274|0)!=(0); $29 = $26 != 0.0; $or$cond = $28 | $29; if ($or$cond) { - $32 = $$0648 + $26; - $$1 = $$06110;$$163 = $$0629;$$165 = $32; + $32 = $$06473 + $26; + $$1 = $$06175;$$163 = $$06274;$$165 = $32; } else { - $30 = (($$06110) + 1)|0; + $30 = (($$06175) + 1)|0; HEAP32[$5>>2] = $30; - $31 = (($$0629) + -1)|0; - $$1 = $30;$$163 = $31;$$165 = $$0648; + $31 = (($$06274) + -1)|0; + $$1 = $30;$$163 = $31;$$165 = $$06473; } $33 = (($$163) + 1)|0; $34 = (($3) - ($$1))|0; $35 = ($$163|0)<($34|0); $36 = HEAP32[$19>>2]|0; if ($35) { - $$06110 = $$1;$$0629 = $33;$$0648 = $$165;$25 = $36; + $$06175 = $$1;$$06274 = $33;$$06473 = $$165;$25 = $36; } else { - $$064$lcssa = $$165;$$lcssa = $36;$$lcssa2 = $34; + $$064$lcssa = $$165;$$lcssa = $36;$$lcssa67 = $34; break; } } @@ -26378,48 +26334,48 @@ function _stbir__calculate_coefficients_upsample($0,$1,$2,$3,$4,$5,$6) { $41 = (+FUNCTION_TABLE_ddd[$$lcssa & 7]($40,$10)); $42 = $41 == 0.0; if (!($42)) { - ___assert_fail((13897|0),(11707|0),1059,(13858|0)); + ___assert_fail((14205|0),(12015|0),1061,(14166|0)); // unreachable; } $43 = $$064$lcssa; $44 = $43 > 0.90000000000000002; if (!($44)) { - ___assert_fail((14005|0),(11707|0),1061,(13858|0)); + ___assert_fail((14313|0),(12015|0),1063,(14166|0)); // unreachable; } $45 = $$064$lcssa < 1.1000000238418579; if (!($45)) { - ___assert_fail((14024|0),(11707|0),1062,(13858|0)); + ___assert_fail((14332|0),(12015|0),1064,(14166|0)); // unreachable; } $46 = 1.0 / $$064$lcssa; - $47 = ($$lcssa2|0)<(0); + $47 = ($$lcssa67|0)<(0); if ($47) { return; } else { - $$25 = 0; + $$270 = 0; } while(1) { - $49 = (($6) + ($$25<<2)|0); + $49 = (($6) + ($$270<<2)|0); $50 = +HEAPF32[$49>>2]; $51 = $46 * $50; HEAPF32[$49>>2] = $51; - $52 = (($$25) + 1)|0; - $exitcond = ($$25|0)==($$lcssa2|0); + $52 = (($$270) + 1)|0; + $exitcond = ($$270|0)==($$lcssa67|0); if ($exitcond) { break; } else { - $$25 = $52; + $$270 = $52; } } - $48 = ($$lcssa2|0)>(-1); + $48 = ($$lcssa67|0)>(-1); if ($48) { - $$33 = $$lcssa2; + $$368 = $$lcssa67; } else { return; } while(1) { - $53 = (($6) + ($$33<<2)|0); + $53 = (($6) + ($$368<<2)|0); $54 = +HEAPF32[$53>>2]; $55 = $54 != 0.0; if ($55) { @@ -26427,13 +26383,13 @@ function _stbir__calculate_coefficients_upsample($0,$1,$2,$3,$4,$5,$6) { break; } $56 = HEAP32[$5>>2]|0; - $57 = (($$33) + -1)|0; + $57 = (($$368) + -1)|0; $58 = (($57) + ($56))|0; HEAP32[$15>>2] = $58; - $59 = (($$33) + -1)|0; - $60 = ($$33|0)>(0); + $59 = (($$368) + -1)|0; + $60 = ($$368|0)>(0); if ($60) { - $$33 = $59; + $$368 = $59; } else { label = 21; break; @@ -26451,7 +26407,7 @@ function _stbir__calculate_coefficients_downsample($0,$1,$2,$3,$4,$5,$6) { $4 = +$4; $5 = $5|0; $6 = $6|0; - var $$04 = 0, $$12 = 0, $$lcssa = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; + var $$044 = 0, $$142 = 0, $$lcssa = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; var $27 = 0.0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $7 = 0; var $8 = 0, $9 = 0, $ceilf = 0.0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; @@ -26464,7 +26420,7 @@ function _stbir__calculate_coefficients_downsample($0,$1,$2,$3,$4,$5,$6) { $12 = (~~(($ceilf))); $13 = ($7|0)>($12|0); if ($13) { - ___assert_fail((13465|0),(11707|0),1084,(13570|0)); + ___assert_fail((13773|0),(12015|0),1086,(13878|0)); // unreachable; } HEAP32[$5>>2] = $2; @@ -26472,7 +26428,7 @@ function _stbir__calculate_coefficients_downsample($0,$1,$2,$3,$4,$5,$6) { HEAP32[$14>>2] = $3; $15 = ($3|0)<($2|0); if ($15) { - ___assert_fail((13611|0),(11707|0),1089,(13570|0)); + ___assert_fail((13919|0),(12015|0),1091,(13878|0)); // unreachable; } $16 = ($7|0)<(0); @@ -26483,24 +26439,24 @@ function _stbir__calculate_coefficients_downsample($0,$1,$2,$3,$4,$5,$6) { } else { $19 = (($3) + 1)|0; $20 = (($19) - ($2))|0; - $$04 = 0;$25 = $18; + $$044 = 0;$25 = $18; while(1) { - $21 = (($$04) + ($2))|0; + $21 = (($$044) + ($2))|0; $22 = (+($21|0)); $23 = $22 + 0.5; $24 = $23 - $4; $26 = (+FUNCTION_TABLE_ddd[$25 & 7]($24,$1)); $27 = $26 * $1; - $28 = (($6) + ($$04<<2)|0); + $28 = (($6) + ($$044<<2)|0); HEAPF32[$28>>2] = $27; - $29 = (($$04) + 1)|0; + $29 = (($$044) + 1)|0; $30 = HEAP32[$17>>2]|0; $exitcond = ($29|0)==($20|0); if ($exitcond) { $$lcssa = $30; break; } else { - $$04 = $29;$25 = $30; + $$044 = $29;$25 = $30; } } } @@ -26511,17 +26467,17 @@ function _stbir__calculate_coefficients_downsample($0,$1,$2,$3,$4,$5,$6) { $35 = (+FUNCTION_TABLE_ddd[$$lcssa & 7]($34,$1)); $36 = $35 == 0.0; if (!($36)) { - ___assert_fail((13646|0),(11707|0),1098,(13570|0)); + ___assert_fail((13954|0),(12015|0),1100,(13878|0)); // unreachable; } $37 = ($7|0)>(-1); if ($37) { - $$12 = $7; + $$142 = $7; } else { return; } while(1) { - $38 = (($6) + ($$12<<2)|0); + $38 = (($6) + ($$142<<2)|0); $39 = +HEAPF32[$38>>2]; $40 = $39 != 0.0; if ($40) { @@ -26529,13 +26485,13 @@ function _stbir__calculate_coefficients_downsample($0,$1,$2,$3,$4,$5,$6) { break; } $41 = HEAP32[$5>>2]|0; - $42 = (($$12) + -1)|0; + $42 = (($$142) + -1)|0; $43 = (($42) + ($41))|0; HEAP32[$14>>2] = $43; - $44 = (($$12) + -1)|0; - $45 = ($$12|0)>(0); + $44 = (($$142) + -1)|0; + $45 = ($$142|0)>(0); if ($45) { - $$12 = $44; + $$142 = $44; } else { label = 13; break; @@ -26552,10 +26508,10 @@ function _stbir__normalize_downsample_coefficients($0,$1,$2,$3,$4,$5) { $3 = +$3; $4 = $4|0; $5 = $5|0; - var $$ = 0, $$$0123 = 0, $$012022 = 0, $$0123 = 0, $$0125$lcssa = 0.0, $$012521 = 0.0, $$031 = 0, $$112127 = 0, $$1126 = 0.0, $$114 = 0, $$212219 = 0, $$27 = 0, $$op = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $$ = 0, $$$0123 = 0, $$0120148 = 0, $$0123 = 0, $$0125$lcssa = 0.0, $$0125147 = 0.0, $$0157 = 0, $$1121153 = 0, $$1126 = 0.0, $$1140 = 0, $$2122145 = 0, $$2133 = 0, $$op = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; var $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0; var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.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, $8 = 0, $9 = 0, $exitcond = 0, $exitcond34 = 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, $8 = 0, $9 = 0, $exitcond = 0, $exitcond160 = 0; var label = 0, sp = 0; sp = STACKTOP; $6 = (_stbir__get_contributors($3,$2,$4,$5)|0); @@ -26565,38 +26521,38 @@ function _stbir__normalize_downsample_coefficients($0,$1,$2,$3,$4,$5) { if ($8) { $9 = ($6|0)>(0); $10 = ($6|0)>(0); - $$031 = 0; + $$0157 = 0; while(1) { if ($9) { - $$012022 = 0;$$012521 = 0.0; + $$0120148 = 0;$$0125147 = 0.0; } else { label = 10; break; } while(1) { - $12 = (($0) + ($$012022<<3)|0); + $12 = (($0) + ($$0120148<<3)|0); $13 = HEAP32[$12>>2]|0; - $14 = ($$031|0)<($13|0); + $14 = ($$0157|0)<($13|0); if ($14) { - $$0125$lcssa = $$012521; + $$0125$lcssa = $$0125147; break; } - $15 = (((($0) + ($$012022<<3)|0)) + 4|0); + $15 = (((($0) + ($$0120148<<3)|0)) + 4|0); $16 = HEAP32[$15>>2]|0; - $17 = ($$031|0)>($16|0); + $17 = ($$0157|0)>($16|0); if ($17) { - $$1126 = $$012521; + $$1126 = $$0125147; } else { - $18 = (($$031) - ($13))|0; - $19 = (_stbir__get_coefficient($1,$2,$3,$$012022,$18)|0); + $18 = (($$0157) - ($13))|0; + $19 = (_stbir__get_coefficient($1,$2,$3,$$0120148,$18)|0); $20 = +HEAPF32[$19>>2]; - $21 = $$012521 + $20; + $21 = $$0125147 + $20; $$1126 = $21; } - $22 = (($$012022) + 1)|0; + $22 = (($$0120148) + 1)|0; $23 = ($22|0)<($6|0); if ($23) { - $$012022 = $22;$$012521 = $$1126; + $$0120148 = $22;$$0125147 = $$1126; } else { $$0125$lcssa = $$1126; break; @@ -26615,62 +26571,62 @@ function _stbir__normalize_downsample_coefficients($0,$1,$2,$3,$4,$5) { $26 = 1.0 / $$0125$lcssa; L14: do { if ($10) { - $$112127 = 0; + $$1121153 = 0; while(1) { - $27 = (($0) + ($$112127<<3)|0); + $27 = (($0) + ($$1121153<<3)|0); $28 = HEAP32[$27>>2]|0; - $29 = ($$031|0)<($28|0); + $29 = ($$0157|0)<($28|0); if ($29) { break L14; } - $30 = (((($0) + ($$112127<<3)|0)) + 4|0); + $30 = (((($0) + ($$1121153<<3)|0)) + 4|0); $31 = HEAP32[$30>>2]|0; - $32 = ($$031|0)>($31|0); + $32 = ($$0157|0)>($31|0); if (!($32)) { - $33 = (($$031) - ($28))|0; - $34 = (_stbir__get_coefficient($1,$2,$3,$$112127,$33)|0); + $33 = (($$0157) - ($28))|0; + $34 = (_stbir__get_coefficient($1,$2,$3,$$1121153,$33)|0); $35 = +HEAPF32[$34>>2]; $36 = $26 * $35; HEAPF32[$34>>2] = $36; } - $37 = (($$112127) + 1)|0; + $37 = (($$1121153) + 1)|0; $38 = ($37|0)<($6|0); if ($38) { - $$112127 = $37; + $$1121153 = $37; } else { break; } } } } while(0); - $39 = (($$031) + 1)|0; + $39 = (($$0157) + 1)|0; $40 = ($39|0)<($5|0); if ($40) { - $$031 = $39; + $$0157 = $39; } else { break L1; } } if ((label|0) == 10) { - ___assert_fail((13398|0),(11707|0),1133,(13411|0)); + ___assert_fail((13706|0),(12015|0),1135,(13719|0)); // unreachable; } else if ((label|0) == 12) { - ___assert_fail((13452|0),(11707|0),1134,(13411|0)); + ___assert_fail((13760|0),(12015|0),1136,(13719|0)); // unreachable; } } } while(0); $11 = ($6|0)>(0); if ($11) { - $$212219 = 0; + $$2122145 = 0; } else { return; } while(1) { $$0123 = 0; while(1) { - $43 = (_stbir__get_coefficient($1,$2,$3,$$212219,$$0123)|0); + $43 = (_stbir__get_coefficient($1,$2,$3,$$2122145,$$0123)|0); $44 = +HEAPF32[$43>>2]; $45 = $44 == 0.0; $46 = (($$0123) + 1)|0; @@ -26680,7 +26636,7 @@ function _stbir__normalize_downsample_coefficients($0,$1,$2,$3,$4,$5) { break; } } - $47 = (($0) + ($$212219<<3)|0); + $47 = (($0) + ($$2122145<<3)|0); $48 = HEAP32[$47>>2]|0; $49 = (($48) + ($$0123))|0; $50 = ($49|0)<(0); @@ -26688,7 +26644,7 @@ function _stbir__normalize_downsample_coefficients($0,$1,$2,$3,$4,$5) { $$ = $50 ? 0 : $49; $$$0123 = $50 ? $51 : $$0123; HEAP32[$47>>2] = $$; - $52 = (((($0) + ($$212219<<3)|0)) + 4|0); + $52 = (((($0) + ($$2122145<<3)|0)) + 4|0); $53 = HEAP32[$52>>2]|0; $$op = (1 - ($49))|0; $54 = $50 ? 1 : $$op; @@ -26698,33 +26654,33 @@ function _stbir__normalize_downsample_coefficients($0,$1,$2,$3,$4,$5) { $58 = ($56|0)>(0); L34: do { if ($58) { - $$114 = 0; + $$1140 = 0; while(1) { - $59 = (($$114) + ($$$0123))|0; + $59 = (($$1140) + ($$$0123))|0; $60 = ($59|0)<($57|0); if (!($60)) { break L34; } - $61 = (_stbir__get_coefficient($1,$2,$3,$$212219,$59)|0); + $61 = (_stbir__get_coefficient($1,$2,$3,$$2122145,$59)|0); $62 = HEAP32[$61>>2]|0; - $63 = (_stbir__get_coefficient($1,$2,$3,$$212219,$$114)|0); + $63 = (_stbir__get_coefficient($1,$2,$3,$$2122145,$$1140)|0); HEAP32[$63>>2] = $62; - $64 = (($$114) + 1)|0; + $64 = (($$1140) + 1)|0; $65 = ($64|0)<($56|0); if ($65) { - $$114 = $64; + $$1140 = $64; } else { break; } } } } while(0); - $66 = (($$212219) + 1)|0; - $exitcond34 = ($66|0)==($6|0); - if ($exitcond34) { + $66 = (($$2122145) + 1)|0; + $exitcond160 = ($66|0)==($6|0); + if ($exitcond160) { break; } else { - $$212219 = $66; + $$2122145 = $66; } } $41 = ($6|0)>(0); @@ -26732,18 +26688,18 @@ function _stbir__normalize_downsample_coefficients($0,$1,$2,$3,$4,$5) { return; } $42 = (($5) + -1)|0; - $$27 = 0; + $$2133 = 0; while(1) { - $67 = (((($0) + ($$27<<3)|0)) + 4|0); + $67 = (((($0) + ($$2133<<3)|0)) + 4|0); $68 = HEAP32[$67>>2]|0; $69 = (_stbir__min($68,$42)|0); HEAP32[$67>>2] = $69; - $70 = (($$27) + 1)|0; + $70 = (($$2133) + 1)|0; $exitcond = ($70|0)==($6|0); if ($exitcond) { break; } else { - $$27 = $70; + $$2133 = $70; } } return; @@ -26788,10 +26744,10 @@ function _stbir__get_total_vertical_coefficients($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -26802,27 +26758,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,14250)|0); + $6 = (_IsFileExtension($1,14558)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,14303)|0); + $19 = (_IsFileExtension($1,14611)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,14308,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,14616,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,14750)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -26850,7 +26807,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -26867,18 +26824,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,14256,$vararg_buffer); + _TraceLog(2,14564,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -26887,34 +26844,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,14344,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,14652,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,14383,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,14691,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -26933,11 +26897,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,14442)|0); + $4 = (_fopen($0,14750)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,14445,$vararg_buffer); + _TraceLog(2,14753,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -27036,7 +27000,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,14542,$vararg_buffer4); + _TraceLog(0,14850,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -27071,14 +27035,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,14588,$vararg_buffer8); + _TraceLog(2,14896,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,14496,$vararg_buffer1); + _TraceLog(2,14804,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -27168,7 +27132,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,14414,$vararg_buffer); + _TraceLog(2,14722,$vararg_buffer); $$0 = $6; } } @@ -27213,27 +27177,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,14638,$vararg_buffer); + _TraceLog(2,14946,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,14677,$vararg_buffer1); + _TraceLog(2,14985,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,14703,$vararg_buffer3); + _TraceLog(2,15011,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,14766,$vararg_buffer5); + _TraceLog(2,15074,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,14801,$vararg_buffer7); + _TraceLog(2,15109,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,14836,$vararg_buffer10); + _TraceLog(0,15144,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -28416,7 +28380,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (14893 + ($$361133)|0); + $199 = (15201 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -28846,7 +28810,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (14893 + ($$331130)|0); + $186 = (15201 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -28884,7 +28848,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (14893 + ($$371134)|0); + $203 = (15201 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -28923,7 +28887,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (14897 + ($$421139)|0); + $235 = (15205 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -29330,7 +29294,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (14916 + ($495)|0); + $496 = (15224 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -29367,7 +29331,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (14920 + ($515)|0); + $516 = (15228 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -30289,7 +30253,7 @@ function _ImageCrop($0,$1) { if ($9) { HEAP32[$4>>2] = $10; HEAP32[$vararg_buffer>>2] = $10; - _TraceLog(2,14924,$vararg_buffer); + _TraceLog(2,15232,$vararg_buffer); } $11 = ((($1)) + 4|0); $12 = HEAP32[$11>>2]|0; @@ -30303,7 +30267,7 @@ function _ImageCrop($0,$1) { if ($18) { HEAP32[$13>>2] = $19; HEAP32[$vararg_buffer1>>2] = $19; - _TraceLog(2,14984,$vararg_buffer1); + _TraceLog(2,15292,$vararg_buffer1); } $20 = HEAP32[$7>>2]|0; $21 = ($3|0)<($20|0); @@ -30377,7 +30341,7 @@ function _ImageCrop($0,$1) { STACKTOP = sp;return; } } - _TraceLog(2,15046,$vararg_buffer4); + _TraceLog(2,15354,$vararg_buffer4); STACKTOP = sp;return; } function _ImageResize($0,$1,$2) { @@ -30454,7 +30418,7 @@ function _ImageDraw($0,$1,$2,$3) { if ($18) { HEAP32[$13>>2] = $19; HEAP32[$vararg_buffer>>2] = $19; - _TraceLog(2,15101,$vararg_buffer); + _TraceLog(2,15409,$vararg_buffer); } $20 = HEAP32[$9>>2]|0; $21 = ((($2)) + 12|0); @@ -30467,7 +30431,7 @@ function _ImageDraw($0,$1,$2,$3) { if ($26) { HEAP32[$21>>2] = $27; HEAP32[$vararg_buffer1>>2] = $27; - _TraceLog(2,15158,$vararg_buffer1); + _TraceLog(2,15466,$vararg_buffer1); $$053 = 1; } else { $$053 = 0; @@ -30516,7 +30480,7 @@ function _ImageDraw($0,$1,$2,$3) { if ($47) { HEAP32[$33>>2] = $48; HEAP32[$vararg_buffer4>>2] = $48; - _TraceLog(2,15217,$vararg_buffer4); + _TraceLog(2,15525,$vararg_buffer4); $$1 = 1; } else { $$1 = $$053; @@ -30532,7 +30496,7 @@ function _ImageDraw($0,$1,$2,$3) { if ($55) { HEAP32[$50>>2] = $56; HEAP32[$vararg_buffer7>>2] = $56; - _TraceLog(2,15279,$vararg_buffer7); + _TraceLog(2,15587,$vararg_buffer7); label = 21; } else { $57 = ($$1|0)==(0); @@ -30669,7 +30633,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[21100>>2]|0;HEAP32[$0+4>>2]=HEAP32[21100+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[21100+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[21100+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[21100+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[21100+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[21100+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[21100+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[21404>>2]|0;HEAP32[$0+4>>2]=HEAP32[21404+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[21404+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[21404+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[21404+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[21404+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[21404+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[21404+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -31244,7 +31208,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,15343)|0); + $12 = (_strstr($11,15651)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -31253,7 +31217,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,15347)|0); + $17 = (_strstr($16,15655)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -31262,7 +31226,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,15351)|0); + $22 = (_strstr($21,15659)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -31271,7 +31235,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,15355)|0); + $27 = (_strstr($26,15663)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -31280,1210 +31244,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,15361)|0); + $32 = (_strcmp($31,15669)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,15399)|0); + $35 = (_strcmp($34,15707)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 15418; + HEAP32[$3>>2] = 15726; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,15431)|0); + $38 = (_strcmp($37,15739)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 15452; + HEAP32[$3>>2] = 15760; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,15467)|0); + $41 = (_strcmp($40,15775)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 15482; + HEAP32[$3>>2] = 15790; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,15497)|0); + $44 = (_strcmp($43,15805)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 15512; + HEAP32[$3>>2] = 15820; } } else { - HEAP32[$3>>2] = 15383; + HEAP32[$3>>2] = 15691; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,15527)|0); + $47 = (_strcmp($46,15835)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,15541)|0); + $50 = (_strcmp($49,15849)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,15553)|0); + $53 = (_strcmp($52,15861)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,15567)|0); + $56 = (_strcmp($55,15875)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,15579)|0); + $59 = (_strcmp($58,15887)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,15593)|0); + $62 = (_strcmp($61,15901)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,15607)|0); + $65 = (_strcmp($64,15915)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,15624)|0); + $68 = (_strcmp($67,15932)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,15647)|0); + $71 = (_strcmp($70,15955)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,15673)|0); + $74 = (_strcmp($73,15981)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,15686)|0); + $77 = (_strcmp($76,15994)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,15702)|0); + $80 = (_strcmp($79,16010)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,15715)|0); + $83 = (_strcmp($82,16023)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,15729)|0); + $86 = (_strcmp($85,16037)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,15749)|0); + $89 = (_strcmp($88,16057)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,15769)|0); + $92 = (_strcmp($91,16077)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,15786)|0); + $95 = (_strcmp($94,16094)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,15803)|0); + $98 = (_strcmp($97,16111)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,15815)|0); + $101 = (_strcmp($100,16123)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,15828)|0); + $104 = (_strcmp($103,16136)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,15844)|0); + $107 = (_strcmp($106,16152)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,15867)|0); + $110 = (_strcmp($109,16175)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,15880)|0); + $113 = (_strcmp($112,16188)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,15896)|0); + $116 = (_strcmp($115,16204)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,15907)|0); + $119 = (_strcmp($118,16215)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,15926)|0); + $122 = (_strcmp($121,16234)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,15948)|0); + $125 = (_strcmp($124,16256)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,15967)|0); + $128 = (_strcmp($127,16275)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,15996)|0); + $131 = (_strcmp($130,16304)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,16013)|0); + $134 = (_strcmp($133,16321)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,16028)|0); + $137 = (_strcmp($136,16336)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,16043)|0); + $140 = (_strcmp($139,16351)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,16064)|0); + $143 = (_strcmp($142,16372)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,16084)|0); + $146 = (_strcmp($145,16392)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,16104)|0); + $149 = (_strcmp($148,16412)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,16130)|0); + $152 = (_strcmp($151,16438)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,16149)|0); + $155 = (_strcmp($154,16457)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,16161)|0); + $158 = (_strcmp($157,16469)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,16173)|0); + $161 = (_strcmp($160,16481)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,16185)|0); + $164 = (_strcmp($163,16493)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,16197)|0); + $167 = (_strcmp($166,16505)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,16209)|0); + $170 = (_strcmp($169,16517)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,16221)|0); + $173 = (_strcmp($172,16529)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,16233)|0); + $176 = (_strcmp($175,16541)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,16245)|0); + $179 = (_strcmp($178,16553)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,16258)|0); + $182 = (_strcmp($181,16566)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,16271)|0); + $185 = (_strcmp($184,16579)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,16284)|0); + $188 = (_strcmp($187,16592)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,16297)|0); + $191 = (_strcmp($190,16605)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,16310)|0); + $194 = (_strcmp($193,16618)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,16323)|0); + $197 = (_strcmp($196,16631)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,16336)|0); + $200 = (_strcmp($199,16644)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,16349)|0); + $203 = (_strcmp($202,16657)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,16368)|0); + $206 = (_strcmp($205,16676)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,16387)|0); + $209 = (_strcmp($208,16695)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,16406)|0); + $212 = (_strcmp($211,16714)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,16419)|0); + $215 = (_strcmp($214,16727)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,16437)|0); + $218 = (_strcmp($217,16745)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,16455)|0); + $221 = (_strcmp($220,16763)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,16473)|0); + $224 = (_strcmp($223,16781)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,16491)|0); + $227 = (_strcmp($226,16799)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,16511)|0); + $230 = (_strcmp($229,16819)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,15452)|0); + $233 = (_strcmp($232,15760)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,16529)|0); + $236 = (_strcmp($235,16837)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,16544)|0); + $239 = (_strcmp($238,16852)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,16565)|0); + $242 = (_strcmp($241,16873)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,16580)|0); + $245 = (_strcmp($244,16888)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,16598)|0); + $248 = (_strcmp($247,16906)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,16614)|0); + $251 = (_strcmp($250,16922)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,16633)|0); + $254 = (_strcmp($253,16941)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,16647)|0); + $257 = (_strcmp($256,16955)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,16662)|0); + $260 = (_strcmp($259,16970)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,15383)|0); + $263 = (_strcmp($262,15691)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,16673)|0); + $266 = (_strcmp($265,16981)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,15482)|0); + $269 = (_strcmp($268,15790)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,15512)|0); + $272 = (_strcmp($271,15820)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,16689)|0); + $275 = (_strcmp($274,16997)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,16716)|0); + $278 = (_strcmp($277,17024)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,16730)|0); + $281 = (_strcmp($280,17038)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,15418)|0); + $284 = (_strcmp($283,15726)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,16750)|0); + $287 = (_strcmp($286,17058)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,16768)|0); + $290 = (_strcmp($289,17076)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,16780)|0); + $293 = (_strcmp($292,17088)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,16801)|0); + $296 = (_strcmp($295,17109)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,16819)|0); + $299 = (_strcmp($298,17127)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,16837)|0); + $302 = (_strcmp($301,17145)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,16858)|0); + $305 = (_strcmp($304,17166)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,16884)|0); + $308 = (_strcmp($307,17192)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,16907)|0); + $311 = (_strcmp($310,17215)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,16945)|0); + $314 = (_strcmp($313,17253)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,16961)|0); + $317 = (_strcmp($316,17269)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,16976)|0); + $320 = (_strcmp($319,17284)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,16999)|0); + $323 = (_strcmp($322,17307)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,17012)|0); + $326 = (_strcmp($325,17320)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,17026)|0); + $329 = (_strcmp($328,17334)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,17040)|0); + $332 = (_strcmp($331,17348)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,17060)|0); + $335 = (_strcmp($334,17368)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,17080)|0); + $338 = (_strcmp($337,17388)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,17096)|0); + $341 = (_strcmp($340,17404)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,17114)|0); + $344 = (_strcmp($343,17422)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,17130)|0); + $347 = (_strcmp($346,17438)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,17145)|0); + $350 = (_strcmp($349,17453)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,17167)|0); + $353 = (_strcmp($352,17475)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,17185)|0); + $356 = (_strcmp($355,17493)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,17206)|0); + $359 = (_strcmp($358,17514)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,17224)|0); + $362 = (_strcmp($361,17532)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,17237)|0); + $365 = (_strcmp($364,17545)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,17252)|0); + $368 = (_strcmp($367,17560)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,17266)|0); + $371 = (_strcmp($370,17574)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,17276)|0); + $374 = (_strcmp($373,17584)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,17286)|0); + $377 = (_strcmp($376,17594)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,17308)|0); + $380 = (_strcmp($379,17616)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,17334)|0); + $383 = (_strcmp($382,17642)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,17361)|0); + $386 = (_strcmp($385,17669)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,17374)|0); + $389 = (_strcmp($388,17682)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,17389)|0); + $392 = (_strcmp($391,17697)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,17404)|0); + $395 = (_strcmp($394,17712)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,17428)|0); + $398 = (_strcmp($397,17736)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,17439)|0); + $401 = (_strcmp($400,17747)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,17461)|0); + $404 = (_strcmp($403,17769)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,17483)|0); + $407 = (_strcmp($406,17791)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,17507)|0); + $410 = (_strcmp($409,17815)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,17516)|0); + $413 = (_strcmp($412,17824)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,17524)|0); + $416 = (_strcmp($415,17832)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,17537)|0); + $419 = (_strcmp($418,17845)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,17551)|0); + $422 = (_strcmp($421,17859)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,17563)|0); + $425 = (_strcmp($424,17871)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,17572)|0); + $428 = (_strcmp($427,17880)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,17582)|0); + $431 = (_strcmp($430,17890)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,17594)|0); + $434 = (_strcmp($433,17902)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,17605)|0); + $437 = (_strcmp($436,17913)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,17613)|0); + $440 = (_strcmp($439,17921)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,17625)|0); + $443 = (_strcmp($442,17933)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,17640)|0); + $446 = (_strcmp($445,17948)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,17652)|0); + $449 = (_strcmp($448,17960)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,17666)|0); + $452 = (_strcmp($451,17974)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,17691)|0); + $455 = (_strcmp($454,17999)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,17708)|0); + $458 = (_strcmp($457,18016)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,17724)|0); + $461 = (_strcmp($460,18032)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,17740)|0); + $464 = (_strcmp($463,18048)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,17752)|0); + $467 = (_strcmp($466,18060)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,17764)|0); + $470 = (_strcmp($469,18072)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,17788)|0); + $473 = (_strcmp($472,18096)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,17801)|0); + $476 = (_strcmp($475,18109)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,17815)|0); + $479 = (_strcmp($478,18123)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,17837)|0); + $482 = (_strcmp($481,18145)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,17844)|0); + $485 = (_strcmp($484,18152)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,17860)|0); + $488 = (_strcmp($487,18168)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,17877)|0); + $491 = (_strcmp($490,18185)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,17894)|0); + $494 = (_strcmp($493,18202)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,17910)|0); + $497 = (_strcmp($496,18218)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,17926)|0); + $500 = (_strcmp($499,18234)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,17943)|0); + $503 = (_strcmp($502,18251)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,17957)|0); + $506 = (_strcmp($505,18265)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,17969)|0); + $509 = (_strcmp($508,18277)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,17980)|0); + $512 = (_strcmp($511,18288)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,17993)|0); + $515 = (_strcmp($514,18301)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,18003)|0); + $518 = (_strcmp($517,18311)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,18020)|0); + $521 = (_strcmp($520,18328)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,18032)|0); + $524 = (_strcmp($523,18340)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,18054)|0); + $527 = (_strcmp($526,18362)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,18074)|0); + $530 = (_strcmp($529,18382)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,18087)|0); + $533 = (_strcmp($532,18395)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,18109)|0); + $536 = (_strcmp($535,18417)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,18129)|0); + $539 = (_strcmp($538,18437)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,18146)|0); + $542 = (_strcmp($541,18454)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,18163)|0); + $545 = (_strcmp($544,18471)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,18183)|0); + $548 = (_strcmp($547,18491)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -32505,7 +32469,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (23312|0); + return (23616|0); } function ___stdio_close($0) { $0 = $0|0; @@ -33369,7 +33333,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((18299 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((18607 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -33547,7 +33511,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 18763;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 19071;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -33568,7 +33532,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 18763;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 19071;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -33576,8 +33540,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 18763 : (18765); - $$$ = $238 ? $$ : (18764); + $$ = $240 ? 19071 : (19073); + $$$ = $238 ? $$ : (19072); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -33594,7 +33558,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 18763;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 19071;$242 = $167;$243 = $170; label = 66; break; } @@ -33607,7 +33571,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 18763;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 19071;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -33621,7 +33585,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 18773; + $271 = $270 ? $269 : 19081; $$1 = $271; label = 71; break; @@ -33661,7 +33625,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 18763;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 19071;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -33683,8 +33647,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (18763 + ($208)|0); - $$289 = $or$cond283 ? 18763 : $209; + $209 = (19071 + ($208)|0); + $$289 = $or$cond283 ? 19071 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -33705,7 +33669,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 18763;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 19071;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -34235,7 +34199,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (18815 + ($7)|0); + $9 = (19123 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -34593,14 +34557,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 18780; + $$0471 = $14;$$0520 = 1;$$0521 = 19088; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (18781) : (18786); - $$$ = $16 ? $$ : (18783); + $$ = $18 ? (19089) : (19094); + $$$ = $16 ? $$ : (19091); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -34699,7 +34663,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (18815 + ($80)|0); + $81 = (19123 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -35310,7 +35274,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,18831,1); + _out($0,19139,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -35391,7 +35355,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,18831,1); + _out($0,19139,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -35448,9 +35412,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 18799 : 18803; + $29 = $28 ? 19107 : 19111; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 18807 : 18811; + $31 = $28 ? 19115 : 19119; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -35660,7 +35624,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (18833 + ($$016)|0); + $3 = (19141 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -35671,7 +35635,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 18921;$$115 = 87; + $$01214 = 19229;$$115 = 87; label = 5; break; } else { @@ -35681,9 +35645,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 18921; + $$012$lcssa = 19229; } else { - $$01214 = 18921;$$115 = $$016; + $$01214 = 19229;$$115 = $$016; label = 5; } } @@ -36346,7 +36310,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(20725,$3,4)|0); + $memchr = (_memchr(21033,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -36435,7 +36399,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(20725,$4,4)|0); + $memchr = (_memchr(21033,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -36526,7 +36490,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(23316)>>2]|0; + $38 = HEAP32[(23620)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -36559,13 +36523,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((23376|0)); - return (23384|0); + ___lock((23680|0)); + return (23688|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((23376|0)); + ___unlock((23680|0)); return; } function _fclose($0) { @@ -37629,7 +37593,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 21000; + $2 = 21304; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -37846,7 +37810,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5847]|0; + $3 = HEAP32[5923]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -37865,22 +37829,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5847] = 0; + HEAP32[5923] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5847] = $10; + HEAP32[5923] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5847] = 0; + HEAP32[5923] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5847] = $13; + HEAP32[5923] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -37961,7 +37925,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5848]|0; + $8 = HEAP32[5924]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -37970,7 +37934,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (23432 + ($15<<2)|0); + $16 = (23736 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -37981,9 +37945,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5848] = $24; + HEAP32[5924] = $24; } else { - $25 = HEAP32[(23408)>>2]|0; + $25 = HEAP32[(23712)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -38014,7 +37978,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(23400)>>2]|0; + $37 = HEAP32[(23704)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -38048,7 +38012,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (23432 + ($68<<2)|0); + $69 = (23736 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -38059,10 +38023,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5848] = $77; + HEAP32[5924] = $77; $98 = $77; } else { - $78 = HEAP32[(23408)>>2]|0; + $78 = HEAP32[(23712)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -38095,22 +38059,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(23412)>>2]|0; + $92 = HEAP32[(23716)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (23432 + ($94<<2)|0); + $95 = (23736 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5848] = $100; + HEAP32[5924] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(23408)>>2]|0; + $103 = HEAP32[(23712)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -38127,12 +38091,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(23400)>>2] = $84; - HEAP32[(23412)>>2] = $87; + HEAP32[(23704)>>2] = $84; + HEAP32[(23716)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(23396)>>2]|0; + $108 = HEAP32[(23700)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -38160,7 +38124,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (23696 + ($132<<2)|0); + $133 = (24000 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -38200,7 +38164,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(23408)>>2]|0; + $155 = HEAP32[(23712)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -38295,7 +38259,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (23696 + ($188<<2)|0); + $189 = (24000 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -38306,11 +38270,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(23396)>>2] = $194; + HEAP32[(23700)>>2] = $194; break L73; } } else { - $195 = HEAP32[(23408)>>2]|0; + $195 = HEAP32[(23712)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -38331,7 +38295,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(23408)>>2]|0; + $201 = HEAP32[(23712)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -38361,7 +38325,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(23408)>>2]|0; + $213 = HEAP32[(23712)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -38398,22 +38362,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(23412)>>2]|0; + $231 = HEAP32[(23716)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (23432 + ($233<<2)|0); + $234 = (23736 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5848] = $238; + HEAP32[5924] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(23408)>>2]|0; + $241 = HEAP32[(23712)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -38430,8 +38394,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(23400)>>2] = $$0193$lcssa$i; - HEAP32[(23412)>>2] = $157; + HEAP32[(23704)>>2] = $$0193$lcssa$i; + HEAP32[(23716)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -38447,7 +38411,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(23396)>>2]|0; + $250 = HEAP32[(23700)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -38487,7 +38451,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (23696 + ($$0358$i<<2)|0); + $278 = (24000 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -38579,7 +38543,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (23696 + ($330<<2)|0); + $331 = (24000 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -38623,11 +38587,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(23400)>>2]|0; + $345 = HEAP32[(23704)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(23408)>>2]|0; + $348 = HEAP32[(23712)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -38724,7 +38688,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (23696 + ($381<<2)|0); + $382 = (24000 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -38735,12 +38699,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(23396)>>2] = $387; + HEAP32[(23700)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(23408)>>2]|0; + $388 = HEAP32[(23712)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -38762,7 +38726,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(23408)>>2]|0; + $394 = HEAP32[(23712)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -38794,7 +38758,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(23408)>>2]|0; + $406 = HEAP32[(23712)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -38835,20 +38799,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (23432 + ($425<<2)|0); - $427 = HEAP32[5848]|0; + $426 = (23736 + ($425<<2)|0); + $427 = HEAP32[5924]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5848] = $431; + HEAP32[5924] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(23408)>>2]|0; + $434 = HEAP32[(23712)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -38900,7 +38864,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (23696 + ($$0361$i<<2)|0); + $464 = (24000 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -38912,7 +38876,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(23396)>>2] = $472; + HEAP32[(23700)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -38951,7 +38915,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(23408)>>2]|0; + $491 = HEAP32[(23712)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -38970,7 +38934,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(23408)>>2]|0; + $498 = HEAP32[(23712)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -39003,16 +38967,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(23400)>>2]|0; + $506 = HEAP32[(23704)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(23412)>>2]|0; + $509 = HEAP32[(23716)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(23412)>>2] = $511; - HEAP32[(23400)>>2] = $508; + HEAP32[(23716)>>2] = $511; + HEAP32[(23704)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -39022,8 +38986,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(23400)>>2] = 0; - HEAP32[(23412)>>2] = 0; + HEAP32[(23704)>>2] = 0; + HEAP32[(23716)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -39037,14 +39001,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(23404)>>2]|0; + $524 = HEAP32[(23708)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(23404)>>2] = $526; - $527 = HEAP32[(23416)>>2]|0; + HEAP32[(23708)>>2] = $526; + $527 = HEAP32[(23720)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(23416)>>2] = $528; + HEAP32[(23720)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -39055,23 +39019,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5966]|0; + $534 = HEAP32[6042]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(23872)>>2] = 4096; - HEAP32[(23868)>>2] = 4096; - HEAP32[(23876)>>2] = -1; - HEAP32[(23880)>>2] = -1; - HEAP32[(23884)>>2] = 0; - HEAP32[(23836)>>2] = 0; + HEAP32[(24176)>>2] = 4096; + HEAP32[(24172)>>2] = 4096; + HEAP32[(24180)>>2] = -1; + HEAP32[(24184)>>2] = -1; + HEAP32[(24188)>>2] = 0; + HEAP32[(24140)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5966] = $538; + HEAP32[6042] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(23872)>>2]|0; + $$pre$i212 = HEAP32[(24176)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -39084,10 +39048,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(23832)>>2]|0; + $546 = HEAP32[(24136)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(23824)>>2]|0; + $548 = HEAP32[(24128)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -39097,18 +39061,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(23836)>>2]|0; + $552 = HEAP32[(24140)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(23416)>>2]|0; + $555 = HEAP32[(23720)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (23840); + $$0$i$i = (24144); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -39166,7 +39130,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(23868)>>2]|0; + $569 = HEAP32[(24172)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -39176,13 +39140,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(23824)>>2]|0; + $578 = HEAP32[(24128)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(23832)>>2]|0; + $582 = HEAP32[(24136)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -39228,7 +39192,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(23872)>>2]|0; + $601 = HEAP32[(24176)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -39253,9 +39217,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(23836)>>2]|0; + $611 = HEAP32[(24140)>>2]|0; $612 = $611 | 4; - HEAP32[(23836)>>2] = $612; + HEAP32[(24140)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -39291,35 +39255,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(23824)>>2]|0; + $626 = HEAP32[(24128)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(23824)>>2] = $627; - $628 = HEAP32[(23828)>>2]|0; + HEAP32[(24128)>>2] = $627; + $628 = HEAP32[(24132)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(23828)>>2] = $627; + HEAP32[(24132)>>2] = $627; } - $630 = HEAP32[(23416)>>2]|0; + $630 = HEAP32[(23720)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(23408)>>2]|0; + $632 = HEAP32[(23712)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(23408)>>2] = $$749$i; + HEAP32[(23712)>>2] = $$749$i; } - HEAP32[(23840)>>2] = $$749$i; - HEAP32[(23844)>>2] = $$723948$i; - HEAP32[(23852)>>2] = 0; - $635 = HEAP32[5966]|0; - HEAP32[(23428)>>2] = $635; - HEAP32[(23424)>>2] = -1; + HEAP32[(24144)>>2] = $$749$i; + HEAP32[(24148)>>2] = $$723948$i; + HEAP32[(24156)>>2] = 0; + $635 = HEAP32[6042]|0; + HEAP32[(23732)>>2] = $635; + HEAP32[(23728)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (23432 + ($636<<2)|0); + $637 = (23736 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -39342,18 +39306,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(23416)>>2] = $649; - HEAP32[(23404)>>2] = $650; + HEAP32[(23720)>>2] = $649; + HEAP32[(23708)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(23880)>>2]|0; - HEAP32[(23420)>>2] = $655; + $655 = HEAP32[(24184)>>2]|0; + HEAP32[(23724)>>2] = $655; } else { - $$024371$i = (23840); + $$024371$i = (24144); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -39385,7 +39349,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(23404)>>2]|0; + $671 = HEAP32[(23708)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -39396,30 +39360,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(23416)>>2] = $679; - HEAP32[(23404)>>2] = $681; + HEAP32[(23720)>>2] = $679; + HEAP32[(23708)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(23880)>>2]|0; - HEAP32[(23420)>>2] = $686; + $686 = HEAP32[(24184)>>2]|0; + HEAP32[(23724)>>2] = $686; break; } } } - $687 = HEAP32[(23408)>>2]|0; + $687 = HEAP32[(23712)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(23408)>>2] = $$749$i; + HEAP32[(23712)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (23840); + $$124470$i = (24144); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -39474,21 +39438,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(23404)>>2]|0; + $726 = HEAP32[(23708)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(23404)>>2] = $727; - HEAP32[(23416)>>2] = $721; + HEAP32[(23708)>>2] = $727; + HEAP32[(23720)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(23412)>>2]|0; + $730 = HEAP32[(23716)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(23400)>>2]|0; + $732 = HEAP32[(23704)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(23400)>>2] = $733; - HEAP32[(23412)>>2] = $721; + HEAP32[(23704)>>2] = $733; + HEAP32[(23716)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -39511,7 +39475,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (23432 + ($748<<2)|0); + $749 = (23736 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -39534,9 +39498,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5848]|0; + $759 = HEAP32[5924]|0; $760 = $759 & $758; - HEAP32[5848] = $760; + HEAP32[5924] = $760; break; } $761 = ($747|0)==($749|0); @@ -39649,7 +39613,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (23696 + ($796<<2)|0); + $797 = (24000 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -39661,12 +39625,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(23396)>>2]|0; + $802 = HEAP32[(23700)>>2]|0; $803 = $802 & $801; - HEAP32[(23396)>>2] = $803; + HEAP32[(23700)>>2] = $803; break L314; } else { - $804 = HEAP32[(23408)>>2]|0; + $804 = HEAP32[(23712)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -39687,7 +39651,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(23408)>>2]|0; + $810 = HEAP32[(23712)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -39719,7 +39683,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(23408)>>2]|0; + $822 = HEAP32[(23712)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -39752,21 +39716,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (23432 + ($836<<2)|0); - $838 = HEAP32[5848]|0; + $837 = (23736 + ($836<<2)|0); + $838 = HEAP32[5924]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5848] = $842; + HEAP32[5924] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(23408)>>2]|0; + $845 = HEAP32[(23712)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -39821,20 +39785,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (23696 + ($$0296$i$i<<2)|0); + $875 = (24000 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(23396)>>2]|0; + $879 = HEAP32[(23700)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(23396)>>2] = $883; + HEAP32[(23700)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -39873,7 +39837,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(23408)>>2]|0; + $902 = HEAP32[(23712)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -39892,7 +39856,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(23408)>>2]|0; + $909 = HEAP32[(23712)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -39919,7 +39883,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (23840); + $$0$i$i$i = (24144); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -39960,23 +39924,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(23416)>>2] = $946; - HEAP32[(23404)>>2] = $947; + HEAP32[(23720)>>2] = $946; + HEAP32[(23708)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(23880)>>2]|0; - HEAP32[(23420)>>2] = $952; + $952 = HEAP32[(24184)>>2]|0; + HEAP32[(23724)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(23840)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(23840)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(23840)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(23840)+12>>2]|0; - HEAP32[(23840)>>2] = $$749$i; - HEAP32[(23844)>>2] = $$723948$i; - HEAP32[(23852)>>2] = 0; - HEAP32[(23848)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(24144)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(24144)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(24144)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(24144)+12>>2]|0; + HEAP32[(24144)>>2] = $$749$i; + HEAP32[(24148)>>2] = $$723948$i; + HEAP32[(24156)>>2] = 0; + HEAP32[(24152)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -40005,20 +39969,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (23432 + ($968<<2)|0); - $970 = HEAP32[5848]|0; + $969 = (23736 + ($968<<2)|0); + $970 = HEAP32[5924]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5848] = $974; + HEAP32[5924] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(23408)>>2]|0; + $977 = HEAP32[(23712)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -40070,19 +40034,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (23696 + ($$0212$i$i<<2)|0); + $1007 = (24000 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(23396)>>2]|0; + $1010 = HEAP32[(23700)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(23396)>>2] = $1014; + HEAP32[(23700)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -40121,7 +40085,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(23408)>>2]|0; + $1033 = HEAP32[(23712)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -40140,7 +40104,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(23408)>>2]|0; + $1040 = HEAP32[(23712)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -40163,14 +40127,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(23404)>>2]|0; + $1048 = HEAP32[(23708)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(23404)>>2] = $1050; - $1051 = HEAP32[(23416)>>2]|0; + HEAP32[(23708)>>2] = $1050; + $1051 = HEAP32[(23720)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(23416)>>2] = $1052; + HEAP32[(23720)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -40213,7 +40177,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(23408)>>2]|0; + $3 = HEAP32[(23712)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -40246,7 +40210,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(23412)>>2]|0; + $19 = HEAP32[(23716)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -40261,7 +40225,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(23400)>>2] = $17; + HEAP32[(23704)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -40275,7 +40239,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (23432 + ($27<<2)|0); + $28 = (23736 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -40295,9 +40259,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5848]|0; + $37 = HEAP32[5924]|0; $38 = $37 & $36; - HEAP32[5848] = $38; + HEAP32[5924] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -40411,7 +40375,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (23696 + ($74<<2)|0); + $75 = (24000 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -40421,14 +40385,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(23396)>>2]|0; + $80 = HEAP32[(23700)>>2]|0; $81 = $80 & $79; - HEAP32[(23396)>>2] = $81; + HEAP32[(23700)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(23408)>>2]|0; + $82 = HEAP32[(23712)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -40450,7 +40414,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(23408)>>2]|0; + $88 = HEAP32[(23712)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -40482,7 +40446,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(23408)>>2]|0; + $100 = HEAP32[(23712)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -40517,14 +40481,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(23416)>>2]|0; + $120 = HEAP32[(23720)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(23412)>>2]|0; + $122 = HEAP32[(23716)>>2]|0; if ($121) { - $123 = HEAP32[(23404)>>2]|0; + $123 = HEAP32[(23708)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(23404)>>2] = $124; - HEAP32[(23416)>>2] = $$1; + HEAP32[(23708)>>2] = $124; + HEAP32[(23720)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -40532,16 +40496,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(23412)>>2] = 0; - HEAP32[(23400)>>2] = 0; + HEAP32[(23716)>>2] = 0; + HEAP32[(23704)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(23400)>>2]|0; + $129 = HEAP32[(23704)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(23400)>>2] = $130; - HEAP32[(23412)>>2] = $113; + HEAP32[(23704)>>2] = $130; + HEAP32[(23716)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -40560,10 +40524,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (23432 + ($142<<2)|0); + $143 = (23736 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(23408)>>2]|0; + $145 = HEAP32[(23712)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -40581,9 +40545,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5848]|0; + $153 = HEAP32[5924]|0; $154 = $153 & $152; - HEAP32[5848] = $154; + HEAP32[5924] = $154; break; } $155 = ($141|0)==($143|0); @@ -40591,7 +40555,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(23408)>>2]|0; + $156 = HEAP32[(23712)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -40651,7 +40615,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(23408)>>2]|0; + $189 = HEAP32[(23712)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -40664,7 +40628,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(23408)>>2]|0; + $169 = HEAP32[(23712)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -40695,7 +40659,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (23696 + ($193<<2)|0); + $194 = (24000 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -40705,13 +40669,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(23396)>>2]|0; + $199 = HEAP32[(23700)>>2]|0; $200 = $199 & $198; - HEAP32[(23396)>>2] = $200; + HEAP32[(23700)>>2] = $200; break L108; } } else { - $201 = HEAP32[(23408)>>2]|0; + $201 = HEAP32[(23712)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -40732,7 +40696,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(23408)>>2]|0; + $207 = HEAP32[(23712)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -40762,7 +40726,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(23408)>>2]|0; + $219 = HEAP32[(23712)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -40783,10 +40747,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(23412)>>2]|0; + $226 = HEAP32[(23716)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(23400)>>2] = $135; + HEAP32[(23704)>>2] = $135; return; } else { $$2 = $135; @@ -40805,20 +40769,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (23432 + ($234<<2)|0); - $236 = HEAP32[5848]|0; + $235 = (23736 + ($234<<2)|0); + $236 = HEAP32[5924]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5848] = $240; + HEAP32[5924] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(23408)>>2]|0; + $243 = HEAP32[(23712)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -40870,21 +40834,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (23696 + ($$0396<<2)|0); + $273 = (24000 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(23396)>>2]|0; + $277 = HEAP32[(23700)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(23396)>>2] = $281; + HEAP32[(23700)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -40922,7 +40886,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(23408)>>2]|0; + $300 = HEAP32[(23712)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -40941,7 +40905,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(23408)>>2]|0; + $307 = HEAP32[(23712)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -40963,12 +40927,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(23424)>>2]|0; + $314 = HEAP32[(23728)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(23424)>>2] = $315; + HEAP32[(23728)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (23848); + $$0212$in$i = (24152); } else { return; } @@ -40982,7 +40946,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(23424)>>2] = -1; + HEAP32[(23728)>>2] = -1; return; } function _realloc($0,$1) { @@ -41054,7 +41018,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(23408)>>2]|0; + $6 = HEAP32[(23712)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -41084,7 +41048,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(23872)>>2]|0; + $18 = HEAP32[(24176)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -41120,10 +41084,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(23416)>>2]|0; + $34 = HEAP32[(23720)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(23404)>>2]|0; + $36 = HEAP32[(23708)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -41139,15 +41103,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(23416)>>2] = $40; - HEAP32[(23404)>>2] = $39; + HEAP32[(23720)>>2] = $40; + HEAP32[(23708)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(23412)>>2]|0; + $46 = HEAP32[(23716)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(23400)>>2]|0; + $48 = HEAP32[(23704)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -41183,8 +41147,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(23400)>>2] = $storemerge1; - HEAP32[(23412)>>2] = $storemerge; + HEAP32[(23704)>>2] = $storemerge1; + HEAP32[(23716)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -41211,7 +41175,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (23432 + ($81<<2)|0); + $82 = (23736 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -41231,9 +41195,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5848]|0; + $91 = HEAP32[5924]|0; $92 = $91 & $90; - HEAP32[5848] = $92; + HEAP32[5924] = $92; break; } $93 = ($80|0)==($82|0); @@ -41342,7 +41306,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (23696 + ($128<<2)|0); + $129 = (24000 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -41352,13 +41316,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(23396)>>2]|0; + $134 = HEAP32[(23700)>>2]|0; $135 = $134 & $133; - HEAP32[(23396)>>2] = $135; + HEAP32[(23700)>>2] = $135; break L49; } } else { - $136 = HEAP32[(23408)>>2]|0; + $136 = HEAP32[(23712)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -41379,7 +41343,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(23408)>>2]|0; + $142 = HEAP32[(23712)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -41409,7 +41373,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(23408)>>2]|0; + $154 = HEAP32[(23712)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -41494,13 +41458,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(23408)>>2]|0; + $13 = HEAP32[(23712)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(23412)>>2]|0; + $15 = HEAP32[(23716)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -41515,7 +41479,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(23400)>>2] = $12; + HEAP32[(23704)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -41529,7 +41493,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (23432 + ($23<<2)|0); + $24 = (23736 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -41549,9 +41513,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5848]|0; + $33 = HEAP32[5924]|0; $34 = $33 & $32; - HEAP32[5848] = $34; + HEAP32[5924] = $34; $$1 = $11;$$1418 = $12; break; } @@ -41665,7 +41629,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (23696 + ($70<<2)|0); + $71 = (24000 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -41675,14 +41639,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(23396)>>2]|0; + $76 = HEAP32[(23700)>>2]|0; $77 = $76 & $75; - HEAP32[(23396)>>2] = $77; + HEAP32[(23700)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(23408)>>2]|0; + $78 = HEAP32[(23712)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -41704,7 +41668,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(23408)>>2]|0; + $84 = HEAP32[(23712)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -41736,7 +41700,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(23408)>>2]|0; + $96 = HEAP32[(23712)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -41755,7 +41719,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(23408)>>2]|0; + $108 = HEAP32[(23712)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -41766,14 +41730,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(23416)>>2]|0; + $114 = HEAP32[(23720)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(23412)>>2]|0; + $116 = HEAP32[(23716)>>2]|0; if ($115) { - $117 = HEAP32[(23404)>>2]|0; + $117 = HEAP32[(23708)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(23404)>>2] = $118; - HEAP32[(23416)>>2] = $$1; + HEAP32[(23708)>>2] = $118; + HEAP32[(23720)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -41781,16 +41745,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(23412)>>2] = 0; - HEAP32[(23400)>>2] = 0; + HEAP32[(23716)>>2] = 0; + HEAP32[(23704)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(23400)>>2]|0; + $123 = HEAP32[(23704)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(23400)>>2] = $124; - HEAP32[(23412)>>2] = $$1; + HEAP32[(23704)>>2] = $124; + HEAP32[(23716)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -41809,7 +41773,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (23432 + ($136<<2)|0); + $137 = (23736 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -41829,9 +41793,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5848]|0; + $146 = HEAP32[5924]|0; $147 = $146 & $145; - HEAP32[5848] = $147; + HEAP32[5924] = $147; break; } $148 = ($135|0)==($137|0); @@ -41940,7 +41904,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (23696 + ($183<<2)|0); + $184 = (24000 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -41950,13 +41914,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(23396)>>2]|0; + $189 = HEAP32[(23700)>>2]|0; $190 = $189 & $188; - HEAP32[(23396)>>2] = $190; + HEAP32[(23700)>>2] = $190; break L96; } } else { - $191 = HEAP32[(23408)>>2]|0; + $191 = HEAP32[(23712)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -41977,7 +41941,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(23408)>>2]|0; + $197 = HEAP32[(23712)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -42007,7 +41971,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(23408)>>2]|0; + $209 = HEAP32[(23712)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -42028,10 +41992,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(23412)>>2]|0; + $216 = HEAP32[(23716)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(23400)>>2] = $129; + HEAP32[(23704)>>2] = $129; return; } else { $$2 = $129; @@ -42050,20 +42014,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (23432 + ($224<<2)|0); - $226 = HEAP32[5848]|0; + $225 = (23736 + ($224<<2)|0); + $226 = HEAP32[5924]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5848] = $230; + HEAP32[5924] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(23408)>>2]|0; + $233 = HEAP32[(23712)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -42115,20 +42079,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (23696 + ($$0431<<2)|0); + $263 = (24000 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(23396)>>2]|0; + $267 = HEAP32[(23700)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(23396)>>2] = $271; + HEAP32[(23700)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -42167,7 +42131,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(23408)>>2]|0; + $290 = HEAP32[(23712)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -42185,7 +42149,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(23408)>>2]|0; + $297 = HEAP32[(23712)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/textures/textures_image_drawing.png b/docs/examples/web/textures/textures_image_drawing.png similarity index 100% rename from docs/examples/img/textures/textures_image_drawing.png rename to docs/examples/web/textures/textures_image_drawing.png diff --git a/docs/examples/web/textures/textures_image_loading.js b/docs/examples/web/textures/textures_image_loading.js index 61a43298c..b055e37ae 100644 --- a/docs/examples/web/textures/textures_image_loading.js +++ b/docs/examples/web/textures/textures_image_loading.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3760, "filename": "/resources/raylib_logo.png"}], "remote_package_size": 3760, "package_uuid": "91ef5c88-5453-4233-9ab5-19a2f240a762"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3760, "filename": "/resources/raylib_logo.png"}], "remote_package_size": 3760, "package_uuid": "55710632-d245-4d5a-a2ae-e7a12e2c2ce7"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 21936; +STATICTOP = STATIC_BASE + 21920; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,175,81,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,105,109,97,103,101,32,108,111,97,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,108,111,103,111,46,112,110,103,0,116,104,105,115,32,73,83,32,97,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,102,114,111,109,32,97,110,32,105,109,97,103,101,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,159,81,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,105,109,97,103,101,32,108,111,97,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,108,111,103,111,46,112,110,103,0,116,104,105,115,32,73,83,32,97,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,102,114,111,109,32,97,110,32,105,109,97,103,101,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10473,11 +10473,11 @@ function _main() { _LoadImage($0,4038); ;HEAP32[$texture$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$texture$byval_copy); - ;HEAP32[16416>>2]=HEAP32[$1>>2]|0;HEAP32[16416+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16416+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16416+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16416+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[16720>>2]=HEAP32[$1>>2]|0;HEAP32[16720+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16720+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16720+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16720+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$texture$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($texture$byval_copy); _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$texture$byval_copy>>2]=HEAP32[16416>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16416+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16416+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16416+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16416+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[16720>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16720+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16720+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16720+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16720+16>>2]|0; _UnloadTexture($texture$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10504,16 +10504,16 @@ function _UpdateDrawFrame() { _ClearBackground($$byval_copy1); $6 = HEAP32[2]|0; $7 = (($6|0) / 2)&-1; - $8 = HEAP32[(16420)>>2]|0; + $8 = HEAP32[(16724)>>2]|0; $9 = (($8|0) / 2)&-1; $10 = (($7) - ($9))|0; $11 = HEAP32[3]|0; $12 = (($11|0) / 2)&-1; - $13 = HEAP32[(16424)>>2]|0; + $13 = HEAP32[(16728)>>2]|0; $14 = (($13|0) / 2)&-1; $15 = (($12) - ($14))|0; HEAP32[$1>>2] = -1; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[16416>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16416+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16416+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16416+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16416+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[16720>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16720+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16720+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16720+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16720+16>>2]|0; ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; _DrawTexture($texture$byval_copy,$10,$15,$$byval_copy1); HEAP8[$2>>0] = -126; @@ -10528,6 +10528,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10627,13 +10677,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11243,7 +11286,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4110] = $2; + HEAP32[4186] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11256,7 +11299,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16144; + $95 = 16448; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11269,48 +11312,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16184; + $106 = 16488; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4046]; - $111 = +HEAPF32[4036]; + $110 = +HEAPF32[4122]; + $111 = +HEAPF32[4112]; $112 = $110 - $111; - HEAPF32[4048] = $112; - $113 = +HEAPF32[(16188)>>2]; - $114 = +HEAPF32[(16148)>>2]; + HEAPF32[4124] = $112; + $113 = +HEAPF32[(16492)>>2]; + $114 = +HEAPF32[(16452)>>2]; $115 = $113 - $114; - HEAPF32[(16196)>>2] = $115; - HEAP32[4109] = 4; + HEAPF32[(16500)>>2] = $115; + HEAP32[4185] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16176>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16176+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16200>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16200+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16504+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4115] = $116; - $117 = 16176; + HEAPF32[4191] = $116; + $117 = 16480; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16144; + $123 = 16448; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16200; + $127 = 16504; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16184; + $133 = 16488; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11323,7 +11366,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16176; + $144 = 16480; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11336,27 +11379,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16200; + $155 = 16504; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4050]; - $160 = +HEAPF32[4044]; + $159 = +HEAPF32[4126]; + $160 = +HEAPF32[4120]; $161 = $159 - $160; - HEAPF32[4048] = $161; - $162 = +HEAPF32[(16204)>>2]; - $163 = +HEAPF32[(16180)>>2]; + HEAPF32[4124] = $161; + $162 = +HEAPF32[(16508)>>2]; + $163 = +HEAPF32[(16484)>>2]; $164 = $162 - $163; - HEAPF32[(16196)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16144>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16144+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16176>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16176+4>>2]|0; + HEAPF32[(16500)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16448>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16448+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16480+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16184+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16200>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16200+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16488>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16488+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16504+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11368,31 +11411,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16176>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16176+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16200>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16200+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16504+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4115]; + $170 = +HEAPF32[4191]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4109] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16176>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16176+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16200>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16200+4>>2]|0; + HEAP32[4185] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16504+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4116] = $174; + HEAPF32[4192] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4115] = 0.0; - HEAPF32[4116] = 0.0; - HEAPF32[4048] = 0.0; - HEAPF32[(16196)>>2] = 0.0; - HEAP32[4110] = 0; - HEAP32[4109] = 0; + HEAPF32[4191] = 0.0; + HEAPF32[4192] = 0.0; + HEAPF32[4124] = 0.0; + HEAPF32[(16500)>>2] = 0.0; + HEAP32[4186] = 0; + HEAP32[4185] = 0; STACKTOP = sp;return; break; } @@ -11402,22 +11445,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4111]|0; + $6 = HEAP32[4187]|0; $7 = (($6) + 1)|0; - HEAP32[4111] = $7; - $8 = HEAP32[4109]|0; + HEAP32[4187] = $7; + $8 = HEAP32[4185]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16144>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16144+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16448>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16448+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4109] = 2; - HEAP32[4111] = 0; + HEAP32[4185] = 2; + HEAP32[4187] = 0; } else { label = 6; } @@ -11425,8 +11468,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4111] = 1; - HEAP32[4109] = 1; + HEAP32[4187] = 1; + HEAP32[4185] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11435,19 +11478,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16144; + $21 = 16448; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16152; + $25 = 16456; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16160; + $29 = 16464; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11456,13 +11499,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4042] = 0.0; - HEAPF32[(16172)>>2] = 0.0; + HEAPF32[4118] = 0.0; + HEAPF32[(16476)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4109]|0; + $35 = HEAP32[4185]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11472,19 +11515,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16160; + $44 = 16464; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16144>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16144+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16160>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16160+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16448>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16448+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16464>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16464+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4112] = $49; - HEAP32[4113] = 0; + HEAPF32[4188] = $49; + HEAP32[4189] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11492,11 +11535,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16144>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16144+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16160>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16160+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16448>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16448+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16464>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16464+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4114] = $56; + HEAPF32[4190] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11527,22 +11570,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4112] = 0.0; - HEAPF32[4114] = 0.0; + HEAPF32[4188] = 0.0; + HEAPF32[4190] = 0.0; $$sink10 = 0; } - HEAP32[4109] = $$sink10; - HEAPF32[4038] = 0.0; - HEAPF32[(16156)>>2] = 0.0; - HEAP32[4110] = 0; + HEAP32[4185] = $$sink10; + HEAPF32[4114] = 0.0; + HEAPF32[(16460)>>2] = 0.0; + HEAP32[4186] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4113]|0; + $65 = HEAP32[4189]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4113] = 1; + HEAP32[4189] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11551,31 +11594,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16176; + $74 = 16480; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4109]|0; + $78 = HEAP32[4185]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16144>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16144+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16176>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16176+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16448>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16448+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16480+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4109] = 8; + HEAP32[4185] = 8; } } - $82 = +HEAPF32[4044]; - $83 = +HEAPF32[4038]; + $82 = +HEAPF32[4120]; + $83 = +HEAPF32[4114]; $84 = $82 - $83; - HEAPF32[4042] = $84; - $85 = +HEAPF32[(16180)>>2]; - $86 = +HEAPF32[(16156)>>2]; + HEAPF32[4118] = $84; + $85 = +HEAPF32[(16484)>>2]; + $86 = +HEAPF32[(16460)>>2]; $87 = $85 - $86; - HEAPF32[(16172)>>2] = $87; + HEAPF32[(16476)>>2] = $87; STACKTOP = sp;return; break; } @@ -11584,58 +11627,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4109]|0; + $0 = HEAP32[4185]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4110]|0; + $2 = HEAP32[4186]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4109] = 4; + HEAP32[4185] = 4; } - $4 = HEAP32[4109]|0; + $4 = HEAP32[4185]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11648,14 +11652,14 @@ function _UpdateGestures() { return; } } - HEAP32[4109] = 0; + HEAP32[4185] = 0; return; } function _GetMousePosition($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 = 16208; + $1 = 16512; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11672,13 +11676,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4119]|0; + $0 = HEAP32[4195]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4118]|0; + $0 = HEAP32[4194]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11690,7 +11694,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4104,$vararg_buffer); - HEAP32[4121] = $2; + HEAP32[4197] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11703,15 +11707,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4133|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4119]|0; + $3 = HEAP32[4195]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4052] = $5; - $6 = HEAP32[4118]|0; + HEAPF32[4128] = $5; + $6 = HEAP32[4194]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16212)>>2] = $8; - $9 = HEAP32[4122]|0; + HEAPF32[(16516)>>2] = $8; + $9 = HEAP32[4198]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11730,11 +11734,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16248>>0]=HEAP8[8662>>0]|0;HEAP8[16248+1>>0]=HEAP8[8662+1>>0]|0;HEAP8[16248+2>>0]=HEAP8[8662+2>>0]|0;HEAP8[16248+3>>0]=HEAP8[8662+3>>0]|0;HEAP8[16248+4>>0]=HEAP8[8662+4>>0]|0;HEAP8[16248+5>>0]=HEAP8[8662+5>>0]|0;HEAP8[16248+6>>0]=HEAP8[8662+6>>0]|0; + ;HEAP8[16552>>0]=HEAP8[8662>>0]|0;HEAP8[16552+1>>0]=HEAP8[8662+1>>0]|0;HEAP8[16552+2>>0]=HEAP8[8662+2>>0]|0;HEAP8[16552+3>>0]=HEAP8[8662+3>>0]|0;HEAP8[16552+4>>0]=HEAP8[8662+4>>0]|0;HEAP8[16552+5>>0]=HEAP8[8662+5>>0]|0;HEAP8[16552+6>>0]=HEAP8[8662+6>>0]|0; break; } case 1: { - $3 = 16248; + $3 = 16552; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11743,11 +11747,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16248; src=8669; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16552; src=8669; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16248; + $7 = 16552; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11758,16 +11762,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16248,$1)|0); - $strlen = (_strlen(16248)|0); - $endptr = (16248 + ($strlen)|0); + (_strcat(16552,$1)|0); + $strlen = (_strlen(16552)|0); + $endptr = (16552 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16248,$2)|0); + (_vprintf(16552,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11799,22 +11803,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4119] = $0; - HEAP32[4118] = $1; + HEAP32[4195] = $0; + HEAP32[4194] = $1; _MatrixIdentity($2); - dest=16564; 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)); + dest=16868; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,4804,$vararg_buffer); } - $6 = HEAP32[4119]|0; - HEAP32[4157] = $6; - $7 = HEAP32[4118]|0; - HEAP32[4158] = $7; + $6 = HEAP32[4195]|0; + HEAP32[4233] = $6; + $7 = HEAP32[4194]|0; + HEAP32[4234] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19296]|0; + $8 = HEAP8[19600]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11822,13 +11826,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19296]|0; + $11 = HEAP8[19600]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19296]|0; + $14 = HEAP8[19600]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -11850,18 +11854,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4159]|0; + $21 = HEAP32[4235]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4119]|0; - $48 = HEAP32[4118]|0; - $49 = HEAP32[4121]|0; + $47 = HEAP32[4195]|0; + $48 = HEAP32[4194]|0; + $49 = HEAP32[4197]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4117] = $50; - $51 = HEAP32[4119]|0; - HEAP32[4160] = $51; - $52 = HEAP32[4118]|0; - HEAP32[4161] = $52; + HEAP32[4193] = $50; + $51 = HEAP32[4195]|0; + HEAP32[4236] = $51; + $52 = HEAP32[4194]|0; + HEAP32[4237] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11870,9 +11874,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4119]|0; + $27 = HEAP32[4195]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4118]|0; + $29 = HEAP32[4194]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -11894,25 +11898,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4157] = $31; - HEAP32[4158] = $34; + HEAP32[4233] = $31; + HEAP32[4234] = $34; } } while(0); - $38 = HEAP32[4157]|0; - $39 = HEAP32[4158]|0; + $38 = HEAP32[4233]|0; + $39 = HEAP32[4234]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,4855,$vararg_buffer3); - $40 = HEAP32[4157]|0; - $41 = HEAP32[4158]|0; + $40 = HEAP32[4233]|0; + $41 = HEAP32[4234]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4157]|0; - $43 = HEAP32[4158]|0; - $44 = HEAP32[4121]|0; + $42 = HEAP32[4233]|0; + $43 = HEAP32[4234]|0; + $44 = HEAP32[4197]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4117] = $46; + HEAP32[4193] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -11921,60 +11925,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,4893,$vararg_buffer6); } else { _TraceLog(0,4926,$vararg_buffer8); - $55 = HEAP32[4160]|0; - $56 = HEAP32[4161]|0; + $55 = HEAP32[4236]|0; + $56 = HEAP32[4237]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,4966,$vararg_buffer10); - $57 = HEAP32[4119]|0; - $58 = HEAP32[4118]|0; + $57 = HEAP32[4195]|0; + $58 = HEAP32[4194]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,4987,$vararg_buffer14); - $59 = HEAP32[4162]|0; - $60 = HEAP32[4163]|0; + $59 = HEAP32[4238]|0; + $60 = HEAP32[4239]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5008,$vararg_buffer18); } - $61 = HEAP32[4117]|0; + $61 = HEAP32[4193]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4117]|0; + $62 = HEAP32[4193]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4117]|0; + $63 = HEAP32[4193]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4117]|0; + $64 = HEAP32[4193]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4117]|0; + $65 = HEAP32[4193]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4117]|0; + $66 = HEAP32[4193]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4117]|0; + $67 = HEAP32[4193]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4117]|0; + $68 = HEAP32[4193]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4117]|0; + $69 = HEAP32[4193]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19296]|0; + $70 = HEAP8[19600]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4119]|0; - $74 = HEAP32[4118]|0; + $73 = HEAP32[4195]|0; + $74 = HEAP32[4194]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4160]|0; - $76 = HEAP32[4162]|0; + $75 = HEAP32[4236]|0; + $76 = HEAP32[4238]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4161]|0; - $80 = HEAP32[4163]|0; + $79 = HEAP32[4237]|0; + $80 = HEAP32[4239]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -11993,18 +11997,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5033,$vararg_buffer22); - $73 = HEAP32[4119]|0; - $74 = HEAP32[4118]|0; + $73 = HEAP32[4195]|0; + $74 = HEAP32[4194]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4160]|0; - $76 = HEAP32[4162]|0; + $75 = HEAP32[4236]|0; + $76 = HEAP32[4238]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4161]|0; - $80 = HEAP32[4163]|0; + $79 = HEAP32[4237]|0; + $80 = HEAP32[4239]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12032,7 +12036,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16532)>>2] = 224; + HEAP32[(16836)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12073,27 +12077,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16508>>2]=HEAP32[$1>>2]|0;HEAP32[16508+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16508+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16508+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16508+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[16812>>2]=HEAP32[$1>>2]|0;HEAP32[16812+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16812+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16812+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16812+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16532)>>2]|0; + $5 = HEAP32[(16836)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16536)>>2] = $7; + HEAP32[(16840)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16528)>>2] = $23; - $24 = HEAP32[4127]|0; + HEAP32[(16832)>>2] = $23; + $24 = HEAP32[4203]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4328,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16512)>>2]|0; - $10 = HEAP32[(16532)>>2]|0; - $11 = HEAP32[(16536)>>2]|0; + $9 = HEAP32[(16816)>>2]|0; + $10 = HEAP32[(16836)>>2]|0; + $11 = HEAP32[(16840)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12142,8 +12146,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16528)>>2] = $23; - $24 = HEAP32[4127]|0; + HEAP32[(16832)>>2] = $23; + $24 = HEAP32[4203]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4328,$vararg_buffer); STACKTOP = sp;return; @@ -12154,7 +12158,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2030] = $1; + HEAPF64[2068] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12313,7 +12317,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16224; + $31 = 16528; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12326,7 +12330,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16232); + $42 = (16536); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12382,7 +12386,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16492 + ($10<<2)|0); + $11 = (16796 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12396,7 +12400,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2027] = $$; + HEAPF64[2065] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12408,7 +12412,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4122] = 0; + HEAP32[4198] = 0; return; } function _GetTime() { @@ -12984,7 +12988,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4135]|0; + $6 = HEAP32[4211]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -12994,7 +12998,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4136]|0; + $9 = HEAP32[4212]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13003,7 +13007,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4137]|0; + $12 = HEAP32[4213]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13013,7 +13017,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4138]|0; + $15 = HEAP32[4214]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13023,7 +13027,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4139]|0; + $18 = HEAP32[4215]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13067,7 +13071,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4135]|0; + $22 = HEAP32[4211]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13075,7 +13079,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4135]|0; + $24 = HEAP32[4211]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13083,7 +13087,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4135]|0; + $26 = HEAP32[4211]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13091,7 +13095,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4135]|0; + $28 = HEAP32[4211]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13099,7 +13103,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4136]|0; + $30 = HEAP32[4212]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13107,7 +13111,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4137]|0; + $32 = HEAP32[4213]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13115,7 +13119,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4137]|0; + $34 = HEAP32[4213]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13123,7 +13127,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4138]|0; + $36 = HEAP32[4214]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13131,7 +13135,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4138]|0; + $38 = HEAP32[4214]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13139,7 +13143,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4139]|0; + $40 = HEAP32[4215]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13147,7 +13151,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4139]|0; + $42 = HEAP32[4215]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13159,7 +13163,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4140]|0; + $44 = HEAP32[4216]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13505,20 +13509,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4119]|0; + $3 = HEAP32[4195]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4118]|0; + $5 = HEAP32[4194]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4160] = $3; - HEAP32[4161] = $5; - HEAP32[4162] = 0; - HEAP32[4163] = 0; + HEAP32[4236] = $3; + HEAP32[4237] = $5; + HEAP32[4238] = 0; + HEAP32[4239] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13532,9 +13536,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4119]|0; + $35 = HEAP32[4195]|0; $36 = (+($35|0)); - $37 = HEAP32[4118]|0; + $37 = HEAP32[4194]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13542,26 +13546,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4160] = $45; - HEAP32[4161] = $37; + HEAP32[4236] = $45; + HEAP32[4237] = $37; $46 = (($45) - ($35))|0; - HEAP32[4162] = $46; + HEAP32[4238] = $46; $$sink1 = 0; } else { - HEAP32[4160] = $35; + HEAP32[4236] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4161] = $42; - HEAP32[4162] = 0; + HEAP32[4237] = $42; + HEAP32[4238] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4163] = $$sink1; + HEAP32[4239] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4118]|0; + $7 = HEAP32[4194]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13571,11 +13575,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8415,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4119]|0; + $9 = HEAP32[4195]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4118]|0; + $13 = HEAP32[4194]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13583,33 +13587,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4160] = $23; - HEAP32[4161] = $1; + HEAP32[4236] = $23; + HEAP32[4237] = $1; $24 = (($0) - ($23))|0; - HEAP32[4162] = $24; + HEAP32[4238] = $24; $$sink = 0; } else { - HEAP32[4160] = $0; - $17 = HEAP32[4118]|0; + HEAP32[4236] = $0; + $17 = HEAP32[4194]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4161] = $20; - HEAP32[4162] = 0; + HEAP32[4237] = $20; + HEAP32[4238] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4163] = $$sink; - $25 = HEAP32[4160]|0; + HEAP32[4239] = $$sink; + $25 = HEAP32[4236]|0; $26 = (+($25|0)); - $27 = HEAP32[4119]|0; + $27 = HEAP32[4195]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16564; 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)); - HEAP32[4160] = $0; - HEAP32[4161] = $1; + dest=16868; 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)); + HEAP32[4236] = $0; + HEAP32[4237] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13631,10 +13635,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4119] = $1; - HEAP32[4118] = $2; - HEAP32[4160] = $1; - HEAP32[4161] = $2; + HEAP32[4195] = $1; + HEAP32[4194] = $2; + HEAP32[4236] = $1; + HEAP32[4237] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13661,7 +13665,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19303 + ($1)|0); + $9 = (19607 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13682,7 +13686,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19297 + ($1)|0); + $7 = (19601 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13761,7 +13765,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16224; + $15 = 16528; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13796,7 +13800,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4533] = $3; + HEAP32[4609] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13806,7 +13810,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4532] = $$sink; + HEAP32[4608] = $$sink; return; } function _rlglInit($0,$1) { @@ -13887,18 +13891,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5165)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4198] = 1; + HEAP32[4274] = 1; $27 = (_eglGetProcAddress((5192|0))|0); - HEAP32[4199] = $27; + HEAP32[4275] = $27; $28 = (_eglGetProcAddress((5213|0))|0); - HEAP32[4200] = $28; + HEAP32[4276] = $28; $29 = (_eglGetProcAddress((5234|0))|0); - HEAP32[4201] = $29; + HEAP32[4277] = $29; } $30 = (_strcmp($24,5258)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4140] = 1; + HEAP32[4216] = 1; } $32 = (_strcmp($24,5278)|0); $33 = ($32|0)==(0); @@ -13920,7 +13924,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4135] = 1; + HEAP32[4211] = 1; } $39 = (_strcmp($24,5383)|0); $40 = ($39|0)==(0); @@ -13936,35 +13940,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4136] = 1; + HEAP32[4212] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5452)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4137] = 1; + HEAP32[4213] = 1; } $47 = (_strcmp($44,5477)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4138] = 1; + HEAP32[4214] = 1; } $49 = (_strcmp($44,5510)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4139] = 1; + HEAP32[4215] = 1; } $51 = (_strcmp($44,5546)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4202] = 1; - _glGetFloatv(34047,(16812|0)); + HEAP32[4278] = 1; + _glGetFloatv(34047,(17116|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5580)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4204] = 1; + HEAP32[4280] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -13975,61 +13979,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4198]|0; + $21 = HEAP32[4274]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5683,$vararg_buffer15); } else { _TraceLog(0,5608,$vararg_buffer13); } - $57 = HEAP32[4140]|0; + $57 = HEAP32[4216]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,5819,$vararg_buffer19); } else { _TraceLog(0,5744,$vararg_buffer17); } - $59 = HEAP32[4135]|0; + $59 = HEAP32[4211]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,5911,$vararg_buffer21); } - $61 = HEAP32[4136]|0; + $61 = HEAP32[4212]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,5957,$vararg_buffer23); } - $63 = HEAP32[4137]|0; + $63 = HEAP32[4213]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6004,$vararg_buffer25); } - $65 = HEAP32[4138]|0; + $65 = HEAP32[4214]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6055,$vararg_buffer27); } - $67 = HEAP32[4139]|0; + $67 = HEAP32[4215]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6102,$vararg_buffer29); } - $69 = HEAP32[4202]|0; + $69 = HEAP32[4278]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4203]; + $71 = +HEAPF32[4279]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6149,$vararg_buffer31); } - $73 = HEAP32[4204]|0; + $73 = HEAP32[4280]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6215,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4205] = $75; + HEAP32[4281] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6319,$vararg_buffer39); @@ -14038,14 +14042,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6268,$vararg_buffer36); } _LoadDefaultShader($2); - dest=16824; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=16880; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17128; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17184; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4234] = $77; + HEAP32[4310] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4234]|0; + $79 = HEAP32[4310]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14058,7 +14062,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4235] = $78; + HEAP32[4311] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14073,48 +14077,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4236] = 1; - $85 = HEAP32[4205]|0; + HEAP32[4312] = 1; + $85 = HEAP32[4281]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4237] = 4; + HEAP32[4313] = 4; _MatrixIdentity($4); - dest=16952; src=$4; 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)); + dest=17256; src=$4; 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)); _MatrixIdentity($4); - dest=(17016); src=$4; 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)); + dest=(17320); src=$4; 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)); _MatrixIdentity($4); - dest=(17080); src=$4; 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)); + dest=(17384); src=$4; 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)); _MatrixIdentity($4); - dest=(17144); src=$4; 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)); + dest=(17448); src=$4; 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)); _MatrixIdentity($4); - dest=(17208); src=$4; 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)); + dest=(17512); src=$4; 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)); _MatrixIdentity($4); - dest=(17272); src=$4; 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)); + dest=(17576); src=$4; 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)); _MatrixIdentity($4); - dest=(17336); src=$4; 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)); + dest=(17640); src=$4; 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)); _MatrixIdentity($4); - dest=(17400); src=$4; 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)); + dest=(17704); src=$4; 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)); _MatrixIdentity($4); - dest=(17464); src=$4; 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)); + dest=(17768); src=$4; 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)); _MatrixIdentity($4); - dest=(17528); src=$4; 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)); + dest=(17832); src=$4; 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)); _MatrixIdentity($4); - dest=(17592); src=$4; 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)); + dest=(17896); src=$4; 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)); _MatrixIdentity($4); - dest=(17656); src=$4; 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)); + dest=(17960); src=$4; 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)); _MatrixIdentity($4); - dest=(17720); src=$4; 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)); + dest=(18024); src=$4; 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)); _MatrixIdentity($4); - dest=(17784); src=$4; 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)); + dest=(18088); src=$4; 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)); _MatrixIdentity($4); - dest=(17848); src=$4; 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)); + dest=(18152); src=$4; 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)); _MatrixIdentity($4); - dest=(17912); src=$4; 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)); + dest=(18216); src=$4; 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)); _MatrixIdentity($5); - dest=16660; src=$5; 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)); + dest=16964; src=$5; 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)); _MatrixIdentity($6); - dest=16724; src=$6; 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)); - HEAP32[4164] = 16724; + dest=17028; src=$6; 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)); + HEAP32[4240] = 17028; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14125,21 +14129,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4494] = $0; - HEAP32[4495] = $1; + HEAP32[4570] = $0; + HEAP32[4571] = $1; _TraceLog(0,6358,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4162]|0; + $0 = HEAP32[4238]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4163]|0; + $2 = HEAP32[4239]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4160]|0; + $4 = HEAP32[4236]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4161]|0; + $6 = HEAP32[4237]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14150,12 +14154,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16660; + $modelview$sink = 16964; label = 3; break; } case 5888: { - $modelview$sink = 16724; + $modelview$sink = 17028; label = 3; break; } @@ -14163,9 +14167,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4164] = $modelview$sink; + HEAP32[4240] = $modelview$sink; } - HEAP32[4197] = $0; + HEAP32[4273] = $0; return; } function _rlLoadIdentity() { @@ -14173,7 +14177,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4164]|0; + $1 = HEAP32[4240]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14194,7 +14198,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4164]|0; + $8 = HEAP32[4240]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14291,15 +14295,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(17996)>>2] = $0; + HEAP32[(18300)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18004)>>2] = $1; - HEAP32[(18000)>>2] = 0; - HEAP32[(18008)>>2] = 0; + HEAP32[(18308)>>2] = $1; + HEAP32[(18304)>>2] = 0; + HEAP32[(18312)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18004)>>2]|0; + $2 = HEAP32[(18308)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14310,19 +14314,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4496] = 0; - HEAP32[(17992)>>2] = 0; - HEAP32[(17988)>>2] = 0; + HEAP32[4572] = 0; + HEAP32[(18296)>>2] = 0; + HEAP32[(18292)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18044)>>2] = $5; + HEAP32[(18348)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18052)>>2] = $6; - HEAP32[(18048)>>2] = 0; - HEAP32[(18056)>>2] = 0; + HEAP32[(18356)>>2] = $6; + HEAP32[(18352)>>2] = 0; + HEAP32[(18360)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18052)>>2]|0; + $7 = HEAP32[(18356)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14333,24 +14337,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4508] = 0; - HEAP32[(18040)>>2] = 0; - HEAP32[(18036)>>2] = 0; + HEAP32[4584] = 0; + HEAP32[(18344)>>2] = 0; + HEAP32[(18340)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18092)>>2] = $10; + HEAP32[(18396)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18096)>>2] = $11; + HEAP32[(18400)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18100)>>2] = $12; + HEAP32[(18404)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18104)>>2] = $13; - $14 = HEAP32[(18092)>>2]|0; + HEAP32[(18408)>>2] = $13; + $14 = HEAP32[(18396)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18096)>>2]|0; + $15 = HEAP32[(18400)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18100)>>2]|0; + $17 = HEAP32[(18404)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14361,7 +14365,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18104)>>2]|0; + $16 = HEAP32[(18408)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14398,140 +14402,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4520] = 0; - HEAP32[(18084)>>2] = 0; - HEAP32[(18088)>>2] = 0; + HEAP32[4596] = 0; + HEAP32[(18388)>>2] = 0; + HEAP32[(18392)>>2] = 0; _TraceLog(0,6405,$vararg_buffer); - $20 = HEAP32[4198]|0; + $20 = HEAP32[4274]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4199]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18012)); - $44 = HEAP32[4200]|0; - $45 = HEAP32[(18012)>>2]|0; + $43 = HEAP32[4275]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18316)); + $44 = HEAP32[4276]|0; + $45 = HEAP32[(18316)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18016)|0)); - $46 = HEAP32[(18016)>>2]|0; + _glGenBuffers(2,((18320)|0)); + $46 = HEAP32[(18320)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(17996)>>2]|0; + $47 = HEAP32[(18300)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(16884)>>2]|0; + $48 = HEAP32[(17188)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(16884)>>2]|0; + $49 = HEAP32[(17188)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18020)|0)); - $50 = HEAP32[(18020)>>2]|0; + _glGenBuffers(2,((18324)|0)); + $50 = HEAP32[(18324)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18004)>>2]|0; + $51 = HEAP32[(18308)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(16904)>>2]|0; + $52 = HEAP32[(17208)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(16904)>>2]|0; + $53 = HEAP32[(17208)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4198]|0; + $54 = HEAP32[4274]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18016)>>2]|0; - $58 = HEAP32[(18020)>>2]|0; + $57 = HEAP32[(18320)>>2]|0; + $58 = HEAP32[(18324)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6543,$vararg_buffer3); } else { - $56 = HEAP32[(18012)>>2]|0; + $56 = HEAP32[(18316)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6478,$vararg_buffer1); } - $59 = HEAP32[4198]|0; + $59 = HEAP32[4274]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4199]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18060)); - $62 = HEAP32[4200]|0; - $63 = HEAP32[(18060)>>2]|0; + $61 = HEAP32[4275]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18364)); + $62 = HEAP32[4276]|0; + $63 = HEAP32[(18364)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18064)|0)); - $64 = HEAP32[(18064)>>2]|0; + _glGenBuffers(1,((18368)|0)); + $64 = HEAP32[(18368)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18044)>>2]|0; + $65 = HEAP32[(18348)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(16884)>>2]|0; + $66 = HEAP32[(17188)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(16884)>>2]|0; + $67 = HEAP32[(17188)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18068)|0)); - $68 = HEAP32[(18068)>>2]|0; + _glGenBuffers(1,((18372)|0)); + $68 = HEAP32[(18372)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18052)>>2]|0; + $69 = HEAP32[(18356)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(16904)>>2]|0; + $70 = HEAP32[(17208)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(16904)>>2]|0; + $71 = HEAP32[(17208)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4198]|0; + $72 = HEAP32[4274]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18064)>>2]|0; - $76 = HEAP32[(18068)>>2]|0; + $75 = HEAP32[(18368)>>2]|0; + $76 = HEAP32[(18372)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6689,$vararg_buffer10); } else { - $74 = HEAP32[(18060)>>2]|0; + $74 = HEAP32[(18364)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6620,$vararg_buffer7); } - $77 = HEAP32[4198]|0; + $77 = HEAP32[4274]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4199]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18108)); - $80 = HEAP32[4200]|0; - $81 = HEAP32[(18108)>>2]|0; + $79 = HEAP32[4275]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18412)); + $80 = HEAP32[4276]|0; + $81 = HEAP32[(18412)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18112)|0)); - $82 = HEAP32[(18112)>>2]|0; + _glGenBuffers(1,((18416)|0)); + $82 = HEAP32[(18416)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18092)>>2]|0; + $83 = HEAP32[(18396)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(16884)>>2]|0; + $84 = HEAP32[(17188)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(16884)>>2]|0; + $85 = HEAP32[(17188)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18116)|0)); - $86 = HEAP32[(18116)>>2]|0; + _glGenBuffers(1,((18420)|0)); + $86 = HEAP32[(18420)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18096)>>2]|0; + $87 = HEAP32[(18400)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(16888)>>2]|0; + $88 = HEAP32[(17192)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(16888)>>2]|0; + $89 = HEAP32[(17192)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18120)|0)); - $90 = HEAP32[(18120)>>2]|0; + _glGenBuffers(1,((18424)|0)); + $90 = HEAP32[(18424)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18100)>>2]|0; + $91 = HEAP32[(18404)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(16904)>>2]|0; + $92 = HEAP32[(17208)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(16904)>>2]|0; + $93 = HEAP32[(17208)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18124)|0)); - $94 = HEAP32[(18124)>>2]|0; + _glGenBuffers(1,((18428)|0)); + $94 = HEAP32[(18428)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18104)>>2]|0; + $95 = HEAP32[(18408)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4198]|0; + $96 = HEAP32[4274]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18112)>>2]|0; - $100 = HEAP32[(18116)>>2]|0; - $101 = HEAP32[(18120)>>2]|0; - $102 = HEAP32[(18124)>>2]|0; + $99 = HEAP32[(18416)>>2]|0; + $100 = HEAP32[(18420)>>2]|0; + $101 = HEAP32[(18424)>>2]|0; + $102 = HEAP32[(18428)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14541,16 +14545,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,6835,$vararg_buffer17); } else { - $98 = HEAP32[(18108)>>2]|0; + $98 = HEAP32[(18412)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,6770,$vararg_buffer14); } - $103 = HEAP32[4198]|0; + $103 = HEAP32[4274]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4200]|0; + $105 = HEAP32[4276]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14731,9 +14735,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19297 + ($0)|0); + $1 = (19601 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19300 + ($0)|0); + $3 = (19604 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14745,9 +14749,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19297 + ($0)|0); + $1 = (19601 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19300 + ($0)|0); + $3 = (19604 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14768,7 +14772,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4117]|0; + $0 = HEAP32[4193]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8679,$vararg_buffer); @@ -14779,9 +14783,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16508>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16508+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16508+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16508+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16508+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[16812>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16812+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16812+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16812+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16812+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16536)>>2]|0; + $0 = HEAP32[(16840)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14792,11 +14796,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(16820|0)); - $0 = HEAP32[4205]|0; + _glDeleteTextures(1,(17124|0)); + $0 = HEAP32[4281]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8706,$vararg_buffer); - $1 = HEAP32[4235]|0; + $1 = HEAP32[4311]|0; _free($1); STACKTOP = sp;return; } @@ -14804,17 +14808,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4206]|0; + $0 = HEAP32[4282]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4198]|0; + $0 = HEAP32[4274]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4200]|0; + $2 = HEAP32[4276]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14823,39 +14827,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18016)|0)); - _glDeleteBuffers(1,((18020)|0)); - _glDeleteBuffers(1,((18064)|0)); - _glDeleteBuffers(1,((18068)|0)); - _glDeleteBuffers(1,((18112)|0)); - _glDeleteBuffers(1,((18116)|0)); - _glDeleteBuffers(1,((18120)|0)); - _glDeleteBuffers(1,((18124)|0)); - $3 = HEAP32[4198]|0; + _glDeleteBuffers(1,((18320)|0)); + _glDeleteBuffers(1,((18324)|0)); + _glDeleteBuffers(1,((18368)|0)); + _glDeleteBuffers(1,((18372)|0)); + _glDeleteBuffers(1,((18416)|0)); + _glDeleteBuffers(1,((18420)|0)); + _glDeleteBuffers(1,((18424)|0)); + _glDeleteBuffers(1,((18428)|0)); + $3 = HEAP32[4274]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4201]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18012)); - $6 = HEAP32[4201]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18060)); - $7 = HEAP32[4201]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18108)); + $5 = HEAP32[4277]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18316)); + $6 = HEAP32[4277]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18364)); + $7 = HEAP32[4277]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18412)); } - $8 = HEAP32[(17996)>>2]|0; + $8 = HEAP32[(18300)>>2]|0; _free($8); - $9 = HEAP32[(18004)>>2]|0; + $9 = HEAP32[(18308)>>2]|0; _free($9); - $10 = HEAP32[(18044)>>2]|0; + $10 = HEAP32[(18348)>>2]|0; _free($10); - $11 = HEAP32[(18052)>>2]|0; + $11 = HEAP32[(18356)>>2]|0; _free($11); - $12 = HEAP32[(18092)>>2]|0; + $12 = HEAP32[(18396)>>2]|0; _free($12); - $13 = HEAP32[(18096)>>2]|0; + $13 = HEAP32[(18400)>>2]|0; _free($13); - $14 = HEAP32[(18100)>>2]|0; + $14 = HEAP32[(18404)>>2]|0; _free($14); - $15 = HEAP32[(18104)>>2]|0; + $15 = HEAP32[(18408)>>2]|0; _free($15); return; } @@ -14895,16 +14899,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2047] = $0; - $1 = +HEAPF64[2030]; + HEAPF64[2085] = $0; + $1 = +HEAPF64[2068]; $2 = $0 - $1; - HEAPF64[2048] = $2; - HEAPF64[2030] = $0; + HEAPF64[2086] = $2; + HEAPF64[2068] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16564; 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)); + dest=$downscaleView$byval_copy; src=16868; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18136); + _rlMultMatrixf(18440); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -14913,53 +14917,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[4534] = $1; + HEAP32[4610] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18140)>>2] = $3; + HEAP32[(18444)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18144)>>2] = $5; + HEAP32[(18448)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18148)>>2] = $7; + HEAP32[(18452)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18152)>>2] = $9; + HEAP32[(18456)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18156)>>2] = $11; + HEAP32[(18460)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18160)>>2] = $13; + HEAP32[(18464)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18164)>>2] = $15; + HEAP32[(18468)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18168)>>2] = $17; + HEAP32[(18472)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18172)>>2] = $19; + HEAP32[(18476)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18176)>>2] = $21; + HEAP32[(18480)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18180)>>2] = $23; + HEAP32[(18484)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18184)>>2] = $25; + HEAP32[(18488)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18188)>>2] = $27; + HEAP32[(18492)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18192)>>2] = $29; + HEAP32[(18496)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18196)>>2] = $31; - return (18136|0); + HEAP32[(18500)>>2] = $31; + return (18440|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15034,7 +15038,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4164]|0; + $49 = HEAP32[4240]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15048,15 +15052,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2047] = $0; - $1 = +HEAPF64[2030]; + HEAPF64[2085] = $0; + $1 = +HEAPF64[2068]; $2 = $0 - $1; - HEAPF64[2049] = $2; - HEAPF64[2030] = $0; - $3 = +HEAPF64[2048]; + HEAPF64[2087] = $2; + HEAPF64[2068] = $0; + $3 = +HEAPF64[2086]; $4 = $2 + $3; - HEAPF64[2050] = $4; - $5 = +HEAPF64[2027]; + HEAPF64[2088] = $4; + $5 = +HEAPF64[2065]; $6 = $4 < $5; if (!($6)) { return; @@ -15066,13 +15070,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2047] = $10; - $11 = +HEAPF64[2030]; + HEAPF64[2085] = $10; + $11 = +HEAPF64[2068]; $12 = $10 - $11; - HEAPF64[2030] = $10; - $13 = +HEAPF64[2050]; + HEAPF64[2068] = $10; + $13 = +HEAPF64[2088]; $14 = $12 + $13; - HEAPF64[2050] = $14; + HEAPF64[2088] = $14; return; } function _rlglDraw() { @@ -15085,7 +15089,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4117]|0; + $0 = HEAP32[4193]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15101,20 +15105,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[4550] = 0; - $3 = HEAP32[4117]|0; + HEAP32[4626] = 0; + $3 = HEAP32[4193]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4052] = $5; + HEAPF32[4128] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16212)>>2] = $7; - _memcpy((19815|0),(19303|0),512)|0; - ;HEAP8[19300>>0]=HEAP8[19297>>0]|0;HEAP8[19300+1>>0]=HEAP8[19297+1>>0]|0;HEAP8[19300+2>>0]=HEAP8[19297+2>>0]|0; - $8 = HEAP32[4533]|0; - HEAP32[4120] = $8; - HEAP32[4533] = 0; + HEAPF32[(16516)>>2] = $7; + _memcpy((20119|0),(19607|0),512)|0; + ;HEAP8[19604>>0]=HEAP8[19601>>0]|0;HEAP8[19604+1>>0]=HEAP8[19601+1>>0]|0;HEAP8[19604+2>>0]=HEAP8[19601+2>>0]|0; + $8 = HEAP32[4609]|0; + HEAP32[4196] = $8; + HEAP32[4609] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15124,8 +15128,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20327 + ($$05160<<5)|0); - $scevgep67 = (20455 + ($$05160<<5)|0); + $scevgep = (20631 + ($$05160<<5)|0); + $scevgep67 = (20759 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15139,7 +15143,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20455 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((20759 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15166,7 +15170,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18204 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18508 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15182,7 +15186,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4550] = $$lcssa; + HEAP32[4626] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15223,87 +15227,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4496]|0; + $0 = HEAP32[4572]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4198]|0; + $2 = HEAP32[4274]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4200]|0; - $5 = HEAP32[(18012)>>2]|0; + $4 = HEAP32[4276]|0; + $5 = HEAP32[(18316)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18016)>>2]|0; + $6 = HEAP32[(18320)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4496]|0; + $7 = HEAP32[4572]|0; $8 = ($7*12)|0; - $9 = HEAP32[(17996)>>2]|0; + $9 = HEAP32[(18300)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18020)>>2]|0; + $10 = HEAP32[(18324)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(17992)>>2]|0; + $11 = HEAP32[(18296)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18004)>>2]|0; + $13 = HEAP32[(18308)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4508]|0; + $14 = HEAP32[4584]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4198]|0; + $16 = HEAP32[4274]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4200]|0; - $19 = HEAP32[(18060)>>2]|0; + $18 = HEAP32[4276]|0; + $19 = HEAP32[(18364)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18064)>>2]|0; + $20 = HEAP32[(18368)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4508]|0; + $21 = HEAP32[4584]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18044)>>2]|0; + $23 = HEAP32[(18348)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18068)>>2]|0; + $24 = HEAP32[(18372)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18040)>>2]|0; + $25 = HEAP32[(18344)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18052)>>2]|0; + $27 = HEAP32[(18356)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4520]|0; + $28 = HEAP32[4596]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4198]|0; + $30 = HEAP32[4274]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4200]|0; - $33 = HEAP32[(18108)>>2]|0; + $32 = HEAP32[4276]|0; + $33 = HEAP32[(18412)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18112)>>2]|0; + $34 = HEAP32[(18416)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4520]|0; + $35 = HEAP32[4596]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18092)>>2]|0; + $37 = HEAP32[(18396)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18116)>>2]|0; + $38 = HEAP32[(18420)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4520]|0; + $39 = HEAP32[4596]|0; $40 = $39 << 3; - $41 = HEAP32[(18096)>>2]|0; + $41 = HEAP32[(18400)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18120)>>2]|0; + $42 = HEAP32[(18424)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4520]|0; + $43 = HEAP32[4596]|0; $44 = $43 << 2; - $45 = HEAP32[(18100)>>2]|0; + $45 = HEAP32[(18404)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4198]|0; + $46 = HEAP32[4274]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4200]|0; + $48 = HEAP32[4276]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15321,9 +15325,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16660; 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)); - dest=$1; src=16724; 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)); - $3 = HEAP32[4583]|0; + dest=$0; src=16964; 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)); + dest=$1; src=17028; 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)); + $3 = HEAP32[4659]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15333,134 +15337,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4496]|0; + $8 = HEAP32[4572]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4508]|0; + $10 = HEAP32[4584]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4520]|0; + $12 = HEAP32[4596]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4220]|0; + $14 = HEAP32[4296]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=16724; 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)); - dest=$$byval_copy2; src=16660; 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)); + dest=$modelview$byval_copy; src=17028; 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)); + dest=$$byval_copy2; src=16964; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(16908)>>2]|0; + $15 = HEAP32[(17212)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(16912)>>2]|0; + $17 = HEAP32[(17216)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(16924)>>2]|0; + $18 = HEAP32[(17228)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4496]|0; + $19 = HEAP32[4572]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4205]|0; + $21 = HEAP32[4281]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4198]|0; + $22 = HEAP32[4274]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18016)>>2]|0; + $26 = HEAP32[(18320)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(16884)>>2]|0; + $27 = HEAP32[(17188)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(16884)>>2]|0; + $28 = HEAP32[(17188)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18020)>>2]|0; + $29 = HEAP32[(18324)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(16904)>>2]|0; + $30 = HEAP32[(17208)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(16904)>>2]|0; + $31 = HEAP32[(17208)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4200]|0; - $25 = HEAP32[(18012)>>2]|0; + $24 = HEAP32[4276]|0; + $25 = HEAP32[(18316)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4496]|0; + $32 = HEAP32[4572]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4198]|0; + $33 = HEAP32[4274]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4508]|0; + $35 = HEAP32[4584]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4205]|0; + $37 = HEAP32[4281]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4198]|0; + $38 = HEAP32[4274]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18064)>>2]|0; + $42 = HEAP32[(18368)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(16884)>>2]|0; + $43 = HEAP32[(17188)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(16884)>>2]|0; + $44 = HEAP32[(17188)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18068)>>2]|0; + $45 = HEAP32[(18372)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(16904)>>2]|0; + $46 = HEAP32[(17208)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(16904)>>2]|0; + $47 = HEAP32[(17208)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4200]|0; - $41 = HEAP32[(18060)>>2]|0; + $40 = HEAP32[4276]|0; + $41 = HEAP32[(18364)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4508]|0; + $48 = HEAP32[4584]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4198]|0; + $49 = HEAP32[4274]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4520]|0; + $51 = HEAP32[4596]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4198]|0; + $53 = HEAP32[4274]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18112)>>2]|0; + $57 = HEAP32[(18416)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(16884)>>2]|0; + $58 = HEAP32[(17188)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(16884)>>2]|0; + $59 = HEAP32[(17188)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18116)>>2]|0; + $60 = HEAP32[(18420)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(16888)>>2]|0; + $61 = HEAP32[(17192)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(16888)>>2]|0; + $62 = HEAP32[(17192)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18120)>>2]|0; + $63 = HEAP32[(18424)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(16904)>>2]|0; + $64 = HEAP32[(17208)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(16904)>>2]|0; + $65 = HEAP32[(17208)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18124)>>2]|0; + $66 = HEAP32[(18428)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4200]|0; - $56 = HEAP32[(18108)>>2]|0; + $55 = HEAP32[4276]|0; + $56 = HEAP32[(18412)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4236]|0; + $67 = HEAP32[4312]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4235]|0; + $71 = HEAP32[4311]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15471,14 +15475,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4235]|0; + $80 = HEAP32[4311]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4236]|0; + $87 = HEAP32[4312]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15487,7 +15491,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4198]|0; + $69 = HEAP32[4274]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15495,10 +15499,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4198]|0; + $89 = HEAP32[4274]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4200]|0; + $91 = HEAP32[4276]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15510,22 +15514,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4236] = 1; - $5 = HEAP32[4205]|0; - $6 = HEAP32[4235]|0; + HEAP32[4312] = 1; + $5 = HEAP32[4281]|0; + $6 = HEAP32[4311]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4496] = 0; - HEAP32[(17992)>>2] = 0; - HEAP32[4508] = 0; - HEAP32[(18040)>>2] = 0; - HEAP32[4520] = 0; - HEAP32[(18084)>>2] = 0; - HEAP32[(18088)>>2] = 0; + HEAP32[4572] = 0; + HEAP32[(18296)>>2] = 0; + HEAP32[4584] = 0; + HEAP32[(18344)>>2] = 0; + HEAP32[4596] = 0; + HEAP32[(18388)>>2] = 0; + HEAP32[(18392)>>2] = 0; HEAPF32[744] = -1.0; - dest=16660; src=$0; 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)); - dest=16724; src=$1; 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)); + dest=16964; src=$0; 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)); + dest=17028; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15540,17 +15544,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[4494]|0; + $5 = HEAP32[4570]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4495]|0; + $9 = HEAP32[4571]|0; _rlViewport($7,0,$8,$9); - $10 = (18564 + ($0<<6)|0); + $10 = (18868 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18436 + ($0<<6)|0); + $11 = (18740 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -15562,14 +15566,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16724; src=$0; 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)); + dest=17028; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16660; src=$0; 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)); + dest=16964; src=$0; 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)); return; } function _rlPushMatrix() { @@ -15577,43 +15581,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4673]|0; + $0 = HEAP32[4749]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,8821,$vararg_buffer); } - $2 = HEAP32[4673]|0; - $3 = (16952 + ($2<<6)|0); - $4 = HEAP32[4164]|0; + $2 = HEAP32[4749]|0; + $3 = (17256 + ($2<<6)|0); + $4 = HEAP32[4240]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[4673]|0; + $5 = HEAP32[4749]|0; $6 = (($5) + 1)|0; - HEAP32[4673] = $6; - $7 = HEAP32[4197]|0; + HEAP32[4749] = $6; + $7 = HEAP32[4273]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4674] = 1; + HEAP32[4750] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4673]|0; + $0 = HEAP32[4749]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4673]|0; + $2 = HEAP32[4749]|0; $3 = (($2) + -1)|0; - $4 = (16952 + ($3<<6)|0); - $5 = HEAP32[4164]|0; + $4 = (17256 + ($3<<6)|0); + $5 = HEAP32[4240]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4673] = $6; + HEAP32[4749] = $6; return; } function _IsFileExtension($0,$1) { @@ -15646,7 +15650,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4164]|0; + $5 = HEAP32[4240]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15679,7 +15683,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4164]|0; + $11 = HEAP32[4240]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15690,7 +15694,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4237] = $0; + HEAP32[4313] = $0; return; } function _rlEnd() { @@ -15706,21 +15710,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4674]|0; + $0 = HEAP32[4750]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4675]|0; + $2 = HEAP32[4751]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4234]|0; + $6 = HEAP32[4310]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4164]|0; + $8 = HEAP32[4240]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4675]|0; + $5 = HEAP32[4751]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15728,12 +15732,12 @@ function _rlEnd() { break; } } - HEAP32[4674] = 0; + HEAP32[4750] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4234]|0; + $11 = HEAP32[4310]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15742,7 +15746,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4675]|0; + $19 = HEAP32[4751]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15752,15 +15756,15 @@ function _rlEnd() { } } } else { - HEAP32[4674] = 0; + HEAP32[4750] = 0; } - HEAP32[4675] = 0; + HEAP32[4751] = 0; } - $21 = HEAP32[4237]|0; + $21 = HEAP32[4313]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4496]|0; - $23 = HEAP32[(17992)>>2]|0; + $22 = HEAP32[4572]|0; + $23 = HEAP32[(18296)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15779,16 +15783,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18004)>>2]|0; - $28 = HEAP32[(17992)>>2]|0; + $27 = HEAP32[(18308)>>2]|0; + $28 = HEAP32[(18296)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18004)>>2]|0; - $35 = HEAP32[(17992)>>2]|0; + $34 = HEAP32[(18308)>>2]|0; + $35 = HEAP32[(18296)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15796,8 +15800,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18004)>>2]|0; - $43 = HEAP32[(17992)>>2]|0; + $42 = HEAP32[(18308)>>2]|0; + $43 = HEAP32[(18296)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15805,8 +15809,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18004)>>2]|0; - $51 = HEAP32[(17992)>>2]|0; + $50 = HEAP32[(18308)>>2]|0; + $51 = HEAP32[(18296)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15814,9 +15818,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(17992)>>2]|0; + $58 = HEAP32[(18296)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(17992)>>2] = $59; + HEAP32[(18296)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15832,8 +15836,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4508]|0; - $62 = HEAP32[(18040)>>2]|0; + $61 = HEAP32[4584]|0; + $62 = HEAP32[(18344)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15852,16 +15856,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18052)>>2]|0; - $67 = HEAP32[(18040)>>2]|0; + $66 = HEAP32[(18356)>>2]|0; + $67 = HEAP32[(18344)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18052)>>2]|0; - $74 = HEAP32[(18040)>>2]|0; + $73 = HEAP32[(18356)>>2]|0; + $74 = HEAP32[(18344)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15869,8 +15873,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18052)>>2]|0; - $82 = HEAP32[(18040)>>2]|0; + $81 = HEAP32[(18356)>>2]|0; + $82 = HEAP32[(18344)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15878,8 +15882,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18052)>>2]|0; - $90 = HEAP32[(18040)>>2]|0; + $89 = HEAP32[(18356)>>2]|0; + $90 = HEAP32[(18344)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15887,9 +15891,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18040)>>2]|0; + $97 = HEAP32[(18344)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18040)>>2] = $98; + HEAP32[(18344)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -15905,8 +15909,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4520]|0; - $101 = HEAP32[(18088)>>2]|0; + $100 = HEAP32[4596]|0; + $101 = HEAP32[(18392)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -15914,16 +15918,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18100)>>2]|0; - $106 = HEAP32[(18088)>>2]|0; + $105 = HEAP32[(18404)>>2]|0; + $106 = HEAP32[(18392)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18100)>>2]|0; - $113 = HEAP32[(18088)>>2]|0; + $112 = HEAP32[(18404)>>2]|0; + $113 = HEAP32[(18392)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -15931,8 +15935,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18100)>>2]|0; - $121 = HEAP32[(18088)>>2]|0; + $120 = HEAP32[(18404)>>2]|0; + $121 = HEAP32[(18392)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -15940,8 +15944,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18100)>>2]|0; - $129 = HEAP32[(18088)>>2]|0; + $128 = HEAP32[(18404)>>2]|0; + $129 = HEAP32[(18392)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -15949,9 +15953,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18088)>>2]|0; + $136 = HEAP32[(18392)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18088)>>2] = $137; + HEAP32[(18392)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -15962,8 +15966,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4520]|0; - $140 = HEAP32[(18084)>>2]|0; + $139 = HEAP32[4596]|0; + $140 = HEAP32[(18388)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -15971,8 +15975,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18096)>>2]|0; - $$promoted = HEAP32[(18084)>>2]|0; + $142 = HEAP32[(18400)>>2]|0; + $$promoted = HEAP32[(18388)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -15980,7 +15984,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18084)>>2] = $147; + HEAP32[(18388)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16007,11 +16011,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4674]|0; + $3 = HEAP32[4750]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4234]|0; - $6 = HEAP32[4675]|0; + $5 = HEAP32[4310]|0; + $6 = HEAP32[4751]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16019,16 +16023,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4675] = $10; + HEAP32[4751] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4237]|0; + $11 = HEAP32[4313]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4496]|0; + $12 = HEAP32[4572]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(17996)>>2]|0; + $14 = HEAP32[(18300)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16039,7 +16043,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4496] = $21; + HEAP32[4572] = $21; STACKTOP = sp;return; } else { _TraceLog(1,8859,$vararg_buffer); @@ -16048,10 +16052,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4508]|0; + $22 = HEAP32[4584]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18044)>>2]|0; + $24 = HEAP32[(18348)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16062,7 +16066,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4508] = $31; + HEAP32[4584] = $31; STACKTOP = sp;return; } else { _TraceLog(1,8884,$vararg_buffer1); @@ -16071,10 +16075,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4520]|0; + $32 = HEAP32[4596]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18092)>>2]|0; + $34 = HEAP32[(18396)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16085,9 +16089,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4520] = $41; - $42 = HEAP32[4235]|0; - $43 = HEAP32[4236]|0; + HEAP32[4596] = $41; + $42 = HEAP32[4311]|0; + $43 = HEAP32[4312]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16119,13 +16123,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4237]|0; + $2 = HEAP32[4313]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18096)>>2]|0; - $5 = HEAP32[(18084)>>2]|0; + $4 = HEAP32[(18400)>>2]|0; + $5 = HEAP32[(18388)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16133,7 +16137,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18084)>>2] = $10; + HEAP32[(18388)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16152,18 +16156,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4237]|0; + $4 = HEAP32[4313]|0; switch ($4|0) { case 1: { - $$sink37 = (17992);$$sink38 = (18004); + $$sink37 = (18296);$$sink38 = (18308); break; } case 4: { - $$sink37 = (18040);$$sink38 = (18052); + $$sink37 = (18344);$$sink38 = (18356); break; } case 7: { - $$sink37 = (18088);$$sink38 = (18100); + $$sink37 = (18392);$$sink38 = (18404); break; } default: { @@ -16202,8 +16206,8 @@ function _rlEnableTexture($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 = HEAP32[4235]|0; - $2 = HEAP32[4236]|0; + $1 = HEAP32[4311]|0; + $2 = HEAP32[4312]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16216,9 +16220,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4236] = $10; + HEAP32[4312] = $10; } - $11 = HEAP32[4236]|0; + $11 = HEAP32[4312]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16229,7 +16233,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4520]|0; + $0 = HEAP32[4596]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16237,40 +16241,11 @@ function _rlDisableTexture() { _rlglDraw(); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(8938); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10271)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4676] = $0; + HEAP32[4752] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16334,7 +16309,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((8950|0),(8976|0),1125,(8999|0)); + ___assert_fail((8938|0),(8964|0),1041,(8987|0)); // unreachable; } } @@ -16352,7 +16327,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4677]|0; + $15 = HEAP32[4753]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16445,7 +16420,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9040); + _stbi__err(9028); $$0 = 0; return ($$0|0); } else { @@ -16467,7 +16442,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9031); + _stbi__err(9019); $$0 = 0; return ($$0|0); } @@ -16537,7 +16512,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9059); + _stbi__err(9047); $$045 = 0; return ($$045|0); } @@ -17098,7 +17073,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9375 + ($120)|0); + $121 = (9363 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17140,97 +17115,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9149); + _stbi__err(9137); $$6$ph = 0; break; } case 9: { - _stbi__err(9163); + _stbi__err(9151); $$6$ph = 0; break; } case 11: { - _stbi__err(9176); + _stbi__err(9164); $$6$ph = 0; break; } case 13: { - _stbi__err(9176); + _stbi__err(9164); $$6$ph = 0; break; } case 15: { - _stbi__err(9186); + _stbi__err(9174); $$6$ph = 0; break; } case 17: { - _stbi__err(9206); + _stbi__err(9194); $$6$ph = 0; break; } case 20: { - _stbi__err(9206); + _stbi__err(9194); $$6$ph = 0; break; } case 22: { - _stbi__err(9206); + _stbi__err(9194); $$6$ph = 0; break; } case 24: { - _stbi__err(9216); + _stbi__err(9204); $$6$ph = 0; break; } case 26: { - _stbi__err(9232); + _stbi__err(9220); $$6$ph = 0; break; } case 28: { - _stbi__err(9250); + _stbi__err(9238); $$6$ph = 0; break; } case 31: { - _stbi__err(9271); + _stbi__err(9259); $$6$ph = 0; break; } case 34: { - _stbi__err(9176); + _stbi__err(9164); $$6$ph = 0; break; } case 37: { - _stbi__err(9176); + _stbi__err(9164); $$6$ph = 0; break; } case 39: { - _stbi__err(9285); + _stbi__err(9273); $$6$ph = 0; break; } case 41: { - _stbi__err(9300); + _stbi__err(9288); $$6$ph = 0; break; } case 44: { - _stbi__err(9300); + _stbi__err(9288); $$6$ph = 0; break; } case 47: { - _stbi__err(9285); + _stbi__err(9273); $$6$ph = 0; break; } case 49: { - _stbi__err(9313); + _stbi__err(9301); $$6$ph = 0; break; } @@ -17241,32 +17216,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9329); + _stbi__err(9317); $$6$ph = 0; break; } case 58: { - _stbi__err(9346); + _stbi__err(9334); $$6$ph = 0; break; } case 61: { - _stbi__err(9359); + _stbi__err(9347); $$6$ph = 0; break; } case 63: { - _stbi__err(9346); + _stbi__err(9334); $$6$ph = 0; break; } case 70: { - _stbi__err(9285); + _stbi__err(9273); $$6$ph = 0; break; } case 72: { - _stbi__err(9384); + _stbi__err(9372); $$6$ph = 0; break; } @@ -17278,12 +17253,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9031); + _stbi__err(9019); $$6$ph = 0; break; } case 83: { - _stbi__err(9392); + _stbi__err(9380); $$6$ph = 0; break; } @@ -17296,7 +17271,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9402); + _stbi__err(9390); $$4 = 0; break; } @@ -17361,7 +17336,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4678]|0; + $193 = HEAP32[4754]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17394,7 +17369,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9285); + _stbi__err(9273); $$4 = 0; } } while(0); @@ -17402,24 +17377,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9285); + _stbi__err(9273); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9410] = $206; + HEAP8[9398] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9411)>>0] = $209; + HEAP8[(9399)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9412)>>0] = $211; + HEAP8[(9400)>>0] = $211; $212 = $207&255; - HEAP8[(9413)>>0] = $212; - _stbi__err(9410); + HEAP8[(9401)>>0] = $212; + _stbi__err(9398); $$6$ph = 0; break; } @@ -17453,14 +17428,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9072|0),(8976|0),1561,(9128|0)); + ___assert_fail((9060|0),(8964|0),1477,(9116|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9031); + _stbi__err(9019); $$0163 = 0; return ($$0163|0); } @@ -17823,7 +17798,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9126|0),(8976|0),1590,(9128|0)); + ___assert_fail((9114|0),(8964|0),1506,(9116|0)); // unreachable; } } while(0); @@ -17857,7 +17832,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9072|0),(8976|0),1610,(9103|0)); + ___assert_fail((9060|0),(8964|0),1526,(9091|0)); // unreachable; } $7 = $2 << 1; @@ -17867,7 +17842,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9031); + _stbi__err(9019); $$0163 = 0; return ($$0163|0); } @@ -18230,7 +18205,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9126|0),(8976|0),1639,(9103|0)); + ___assert_fail((9114|0),(8964|0),1555,(9091|0)); // unreachable; } } while(0); @@ -18378,7 +18353,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10067); + _stbi__err(10375); $$05 = 0; return ($$05|0); } @@ -18815,7 +18790,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9469|0),(8976|0),4568,(9521|0)); + ___assert_fail((9457|0),(8964|0),4569,(9509|0)); // unreachable; } } @@ -18902,7 +18877,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9469|0),(8976|0),4543,(9494|0)); + ___assert_fail((9457|0),(8964|0),4544,(9482|0)); // unreachable; } } @@ -18949,7 +18924,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4679]|0; + $16 = HEAP32[4755]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19024,7 +18999,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9435|0),(8976|0),4649,(9453|0)); + ___assert_fail((9423|0),(8964|0),4650,(9441|0)); // unreachable; } } @@ -19047,7 +19022,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9031); + _stbi__err(9019); $$0 = 0; return ($$0|0); } @@ -19224,7 +19199,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9550|0),(8976|0),4294,(9591|0)); + ___assert_fail((9538|0),(8964|0),4294,(9579|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19232,7 +19207,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9031); + _stbi__err(9019); $$2 = 0; return ($$2|0); } @@ -19251,7 +19226,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9618); + _stbi__err(9606); $$2 = 0; return ($$2|0); } @@ -19264,7 +19239,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9618); + _stbi__err(9606); $$2 = 0; return ($$2|0); } @@ -19272,12 +19247,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19300,33 +19275,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9657 + ($56)|0); + $60 = (9645 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19336,24 +19311,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19363,10 +19338,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19377,10 +19352,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19391,14 +19366,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19428,7 +19403,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19443,12 +19418,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20025,15 +20000,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9636|0),(8976|0),4315,(9591|0)); + ___assert_fail((9624|0),(8964|0),4315,(9579|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9662|0),(8976|0),4376,(9591|0)); + ___assert_fail((9650|0),(8964|0),4377,(9579|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9679); + _stbi__err(9667); $$2 = 0; return ($$2|0); } @@ -20083,7 +20058,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9375 + ($6)|0); + $336 = (9363 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20524,7 +20499,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9694|0),(8976|0),4465,(9591|0)); + ___assert_fail((9682|0),(8964|0),4466,(9579|0)); // unreachable; } else if ((label|0) == 151) { @@ -20584,8 +20559,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20600,15 +20575,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20617,65 +20592,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20614)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9693,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,20615,288)|0); + $15 = (_stbi__zbuild_huffman($8,9981,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,20583,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20694,14 +20664,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10020); + _stbi__err(10328); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10036); + _stbi__err(10344); $$0 = 0; return ($$0|0); } @@ -20710,7 +20680,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10051); + _stbi__err(10359); $$0 = 0; return ($$0|0); } @@ -20793,7 +20763,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((9942|0),(8976|0),4048,(9959|0)); + ___assert_fail((10250|0),(8964|0),4033,(10267|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -20830,7 +20800,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(9990); + _stbi__err(10298); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20840,7 +20810,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10003); + _stbi__err(10311); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20870,21 +20840,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20615|0),8,144)|0; - dest=(20759); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(20871); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (20895); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20583; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21018,7 +20973,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(9880); + _stbi__err(10188); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21107,7 +21062,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(9932); + _stbi__err(10240); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21136,7 +21091,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10726 + ($$06579)|0); + $14 = (11034 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21227,21 +21182,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(9880); + _stbi__err(10188); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(9880); + _stbi__err(10188); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((9896|0),(8976|0),4021,(9904|0)); + ___assert_fail((10204|0),(8964|0),4006,(10212|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(9880); + _stbi__err(10188); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21251,7 +21206,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(9880); + _stbi__err(10188); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21415,7 +21370,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9705); + _stbi__err(10013); $$3$ph = 0; return ($$3$ph|0); } @@ -21425,12 +21380,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9705); + _stbi__err(10013); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9722); + _stbi__err(10030); $$3$ph = 0; return ($$3$ph|0); } @@ -21487,7 +21442,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9731); + _stbi__err(10039); $$0 = 0; return ($$0|0); } @@ -21513,7 +21468,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9031); + _stbi__err(9019); $$0 = 0; return ($$0|0); } else { @@ -21558,7 +21513,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((9827|0),(8976|0),3863,(9864|0)); + ___assert_fail((10135|0),(8964|0),3848,(10172|0)); // unreachable; } else if ((label|0) == 5) { @@ -21606,7 +21561,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9751|0),(8976|0),3891,(9767|0)); + ___assert_fail((10059|0),(8964|0),3876,(10075|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21634,7 +21589,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((9798|0),(8976|0),3781,(9809|0)); + ___assert_fail((10106|0),(8964|0),3766,(10117|0)); // unreachable; } return (0)|0; @@ -21780,10 +21735,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -21794,27 +21749,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10079)|0); + $6 = (_IsFileExtension($1,10387)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10132)|0); + $19 = (_IsFileExtension($1,10440)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10137,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10445,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10579)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -21842,7 +21798,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -21859,18 +21815,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10085,$vararg_buffer); + _TraceLog(2,10393,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -21879,34 +21835,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10173,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,10481,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10212,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10520,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -21925,11 +21888,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10271)|0); + $4 = (_fopen($0,10579)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10274,$vararg_buffer); + _TraceLog(2,10582,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22028,7 +21991,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10371,$vararg_buffer4); + _TraceLog(0,10679,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22063,14 +22026,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10417,$vararg_buffer8); + _TraceLog(2,10725,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10325,$vararg_buffer1); + _TraceLog(2,10633,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22160,7 +22123,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10243,$vararg_buffer); + _TraceLog(2,10551,$vararg_buffer); $$0 = $6; } } @@ -22205,27 +22168,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10467,$vararg_buffer); + _TraceLog(2,10775,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10506,$vararg_buffer1); + _TraceLog(2,10814,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10532,$vararg_buffer3); + _TraceLog(2,10840,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10595,$vararg_buffer5); + _TraceLog(2,10903,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10630,$vararg_buffer7); + _TraceLog(2,10938,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10665,$vararg_buffer10); + _TraceLog(0,10973,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23408,7 +23371,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10722 + ($$361133)|0); + $199 = (11030 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -23838,7 +23801,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10722 + ($$331130)|0); + $186 = (11030 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -23876,7 +23839,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10722 + ($$371134)|0); + $203 = (11030 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -23915,7 +23878,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10726 + ($$421139)|0); + $235 = (11034 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24322,7 +24285,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10745 + ($495)|0); + $496 = (11053 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24359,7 +24322,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10749 + ($515)|0); + $516 = (11057 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25260,7 +25223,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16508>>2]|0;HEAP32[$0+4>>2]=HEAP32[16508+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16508+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16508+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16508+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16508+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16508+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16508+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[16812>>2]|0;HEAP32[$0+4>>2]=HEAP32[16812+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16812+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16812+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16812+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16812+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16812+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16812+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -25766,7 +25729,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,10753)|0); + $12 = (_strstr($11,11061)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -25775,7 +25738,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,10757)|0); + $17 = (_strstr($16,11065)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -25784,7 +25747,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,10761)|0); + $22 = (_strstr($21,11069)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -25793,7 +25756,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,10765)|0); + $27 = (_strstr($26,11073)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -25802,1210 +25765,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,10771)|0); + $32 = (_strcmp($31,11079)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,10809)|0); + $35 = (_strcmp($34,11117)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 10828; + HEAP32[$3>>2] = 11136; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,10841)|0); + $38 = (_strcmp($37,11149)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 10862; + HEAP32[$3>>2] = 11170; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,10877)|0); + $41 = (_strcmp($40,11185)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 10892; + HEAP32[$3>>2] = 11200; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,10907)|0); + $44 = (_strcmp($43,11215)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 10922; + HEAP32[$3>>2] = 11230; } } else { - HEAP32[$3>>2] = 10793; + HEAP32[$3>>2] = 11101; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,10937)|0); + $47 = (_strcmp($46,11245)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,10951)|0); + $50 = (_strcmp($49,11259)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,10963)|0); + $53 = (_strcmp($52,11271)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,10977)|0); + $56 = (_strcmp($55,11285)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,10989)|0); + $59 = (_strcmp($58,11297)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11003)|0); + $62 = (_strcmp($61,11311)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11017)|0); + $65 = (_strcmp($64,11325)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11034)|0); + $68 = (_strcmp($67,11342)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11057)|0); + $71 = (_strcmp($70,11365)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11083)|0); + $74 = (_strcmp($73,11391)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11096)|0); + $77 = (_strcmp($76,11404)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11112)|0); + $80 = (_strcmp($79,11420)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11125)|0); + $83 = (_strcmp($82,11433)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11139)|0); + $86 = (_strcmp($85,11447)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11159)|0); + $89 = (_strcmp($88,11467)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11179)|0); + $92 = (_strcmp($91,11487)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11196)|0); + $95 = (_strcmp($94,11504)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11213)|0); + $98 = (_strcmp($97,11521)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11225)|0); + $101 = (_strcmp($100,11533)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11238)|0); + $104 = (_strcmp($103,11546)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11254)|0); + $107 = (_strcmp($106,11562)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11277)|0); + $110 = (_strcmp($109,11585)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11290)|0); + $113 = (_strcmp($112,11598)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11306)|0); + $116 = (_strcmp($115,11614)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11317)|0); + $119 = (_strcmp($118,11625)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11336)|0); + $122 = (_strcmp($121,11644)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11358)|0); + $125 = (_strcmp($124,11666)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11377)|0); + $128 = (_strcmp($127,11685)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11406)|0); + $131 = (_strcmp($130,11714)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11423)|0); + $134 = (_strcmp($133,11731)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11438)|0); + $137 = (_strcmp($136,11746)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11453)|0); + $140 = (_strcmp($139,11761)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11474)|0); + $143 = (_strcmp($142,11782)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11494)|0); + $146 = (_strcmp($145,11802)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11514)|0); + $149 = (_strcmp($148,11822)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11540)|0); + $152 = (_strcmp($151,11848)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11559)|0); + $155 = (_strcmp($154,11867)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11571)|0); + $158 = (_strcmp($157,11879)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11583)|0); + $161 = (_strcmp($160,11891)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11595)|0); + $164 = (_strcmp($163,11903)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11607)|0); + $167 = (_strcmp($166,11915)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11619)|0); + $170 = (_strcmp($169,11927)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11631)|0); + $173 = (_strcmp($172,11939)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11643)|0); + $176 = (_strcmp($175,11951)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11655)|0); + $179 = (_strcmp($178,11963)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11668)|0); + $182 = (_strcmp($181,11976)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11681)|0); + $185 = (_strcmp($184,11989)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11694)|0); + $188 = (_strcmp($187,12002)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11707)|0); + $191 = (_strcmp($190,12015)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11720)|0); + $194 = (_strcmp($193,12028)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11733)|0); + $197 = (_strcmp($196,12041)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,11746)|0); + $200 = (_strcmp($199,12054)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,11759)|0); + $203 = (_strcmp($202,12067)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,11778)|0); + $206 = (_strcmp($205,12086)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,11797)|0); + $209 = (_strcmp($208,12105)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,11816)|0); + $212 = (_strcmp($211,12124)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,11829)|0); + $215 = (_strcmp($214,12137)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,11847)|0); + $218 = (_strcmp($217,12155)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,11865)|0); + $221 = (_strcmp($220,12173)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,11883)|0); + $224 = (_strcmp($223,12191)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,11901)|0); + $227 = (_strcmp($226,12209)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,11921)|0); + $230 = (_strcmp($229,12229)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,10862)|0); + $233 = (_strcmp($232,11170)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,11939)|0); + $236 = (_strcmp($235,12247)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,11954)|0); + $239 = (_strcmp($238,12262)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,11975)|0); + $242 = (_strcmp($241,12283)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,11990)|0); + $245 = (_strcmp($244,12298)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12008)|0); + $248 = (_strcmp($247,12316)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12024)|0); + $251 = (_strcmp($250,12332)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12043)|0); + $254 = (_strcmp($253,12351)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12057)|0); + $257 = (_strcmp($256,12365)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12072)|0); + $260 = (_strcmp($259,12380)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,10793)|0); + $263 = (_strcmp($262,11101)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12083)|0); + $266 = (_strcmp($265,12391)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,10892)|0); + $269 = (_strcmp($268,11200)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,10922)|0); + $272 = (_strcmp($271,11230)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12099)|0); + $275 = (_strcmp($274,12407)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12126)|0); + $278 = (_strcmp($277,12434)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12140)|0); + $281 = (_strcmp($280,12448)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,10828)|0); + $284 = (_strcmp($283,11136)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12160)|0); + $287 = (_strcmp($286,12468)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12178)|0); + $290 = (_strcmp($289,12486)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12190)|0); + $293 = (_strcmp($292,12498)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12211)|0); + $296 = (_strcmp($295,12519)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12229)|0); + $299 = (_strcmp($298,12537)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12247)|0); + $302 = (_strcmp($301,12555)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12268)|0); + $305 = (_strcmp($304,12576)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12294)|0); + $308 = (_strcmp($307,12602)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12317)|0); + $311 = (_strcmp($310,12625)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12355)|0); + $314 = (_strcmp($313,12663)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12371)|0); + $317 = (_strcmp($316,12679)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12386)|0); + $320 = (_strcmp($319,12694)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12409)|0); + $323 = (_strcmp($322,12717)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12422)|0); + $326 = (_strcmp($325,12730)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12436)|0); + $329 = (_strcmp($328,12744)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12450)|0); + $332 = (_strcmp($331,12758)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12470)|0); + $335 = (_strcmp($334,12778)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12490)|0); + $338 = (_strcmp($337,12798)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12506)|0); + $341 = (_strcmp($340,12814)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12524)|0); + $344 = (_strcmp($343,12832)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12540)|0); + $347 = (_strcmp($346,12848)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12555)|0); + $350 = (_strcmp($349,12863)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12577)|0); + $353 = (_strcmp($352,12885)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12595)|0); + $356 = (_strcmp($355,12903)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12616)|0); + $359 = (_strcmp($358,12924)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12634)|0); + $362 = (_strcmp($361,12942)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12647)|0); + $365 = (_strcmp($364,12955)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12662)|0); + $368 = (_strcmp($367,12970)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12676)|0); + $371 = (_strcmp($370,12984)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12686)|0); + $374 = (_strcmp($373,12994)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12696)|0); + $377 = (_strcmp($376,13004)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12718)|0); + $380 = (_strcmp($379,13026)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,12744)|0); + $383 = (_strcmp($382,13052)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,12771)|0); + $386 = (_strcmp($385,13079)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,12784)|0); + $389 = (_strcmp($388,13092)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,12799)|0); + $392 = (_strcmp($391,13107)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,12814)|0); + $395 = (_strcmp($394,13122)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,12838)|0); + $398 = (_strcmp($397,13146)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,12849)|0); + $401 = (_strcmp($400,13157)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,12871)|0); + $404 = (_strcmp($403,13179)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,12893)|0); + $407 = (_strcmp($406,13201)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,12917)|0); + $410 = (_strcmp($409,13225)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,12926)|0); + $413 = (_strcmp($412,13234)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,12934)|0); + $416 = (_strcmp($415,13242)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,12947)|0); + $419 = (_strcmp($418,13255)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,12961)|0); + $422 = (_strcmp($421,13269)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,12973)|0); + $425 = (_strcmp($424,13281)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,12982)|0); + $428 = (_strcmp($427,13290)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,12992)|0); + $431 = (_strcmp($430,13300)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13004)|0); + $434 = (_strcmp($433,13312)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13015)|0); + $437 = (_strcmp($436,13323)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13023)|0); + $440 = (_strcmp($439,13331)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13035)|0); + $443 = (_strcmp($442,13343)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13050)|0); + $446 = (_strcmp($445,13358)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13062)|0); + $449 = (_strcmp($448,13370)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13076)|0); + $452 = (_strcmp($451,13384)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13101)|0); + $455 = (_strcmp($454,13409)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13118)|0); + $458 = (_strcmp($457,13426)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13134)|0); + $461 = (_strcmp($460,13442)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13150)|0); + $464 = (_strcmp($463,13458)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13162)|0); + $467 = (_strcmp($466,13470)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13174)|0); + $470 = (_strcmp($469,13482)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13198)|0); + $473 = (_strcmp($472,13506)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13211)|0); + $476 = (_strcmp($475,13519)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13225)|0); + $479 = (_strcmp($478,13533)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13247)|0); + $482 = (_strcmp($481,13555)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13254)|0); + $485 = (_strcmp($484,13562)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13270)|0); + $488 = (_strcmp($487,13578)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13287)|0); + $491 = (_strcmp($490,13595)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13304)|0); + $494 = (_strcmp($493,13612)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13320)|0); + $497 = (_strcmp($496,13628)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13336)|0); + $500 = (_strcmp($499,13644)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13353)|0); + $503 = (_strcmp($502,13661)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13367)|0); + $506 = (_strcmp($505,13675)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13379)|0); + $509 = (_strcmp($508,13687)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13390)|0); + $512 = (_strcmp($511,13698)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13403)|0); + $515 = (_strcmp($514,13711)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13413)|0); + $518 = (_strcmp($517,13721)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13430)|0); + $521 = (_strcmp($520,13738)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13442)|0); + $524 = (_strcmp($523,13750)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13464)|0); + $527 = (_strcmp($526,13772)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13484)|0); + $530 = (_strcmp($529,13792)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13497)|0); + $533 = (_strcmp($532,13805)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13519)|0); + $536 = (_strcmp($535,13827)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13539)|0); + $539 = (_strcmp($538,13847)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13556)|0); + $542 = (_strcmp($541,13864)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13573)|0); + $545 = (_strcmp($544,13881)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13593)|0); + $548 = (_strcmp($547,13901)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -27027,7 +26990,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (18720|0); + return (19024|0); } function ___stdio_close($0) { $0 = $0|0; @@ -27891,7 +27854,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13709 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14017 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -28069,7 +28032,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14173;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14481;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -28090,7 +28053,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14173;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14481;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -28098,8 +28061,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14173 : (14175); - $$$ = $238 ? $$ : (14174); + $$ = $240 ? 14481 : (14483); + $$$ = $238 ? $$ : (14482); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -28116,7 +28079,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14173;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14481;$242 = $167;$243 = $170; label = 66; break; } @@ -28129,7 +28092,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14173;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14481;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -28143,7 +28106,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14183; + $271 = $270 ? $269 : 14491; $$1 = $271; label = 71; break; @@ -28183,7 +28146,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14173;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14481;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -28205,8 +28168,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14173 + ($208)|0); - $$289 = $or$cond283 ? 14173 : $209; + $209 = (14481 + ($208)|0); + $$289 = $or$cond283 ? 14481 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -28227,7 +28190,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14173;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14481;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -28757,7 +28720,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14225 + ($7)|0); + $9 = (14533 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -29115,14 +29078,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14190; + $$0471 = $14;$$0520 = 1;$$0521 = 14498; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14191) : (14196); - $$$ = $16 ? $$ : (14193); + $$ = $18 ? (14499) : (14504); + $$$ = $16 ? $$ : (14501); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -29221,7 +29184,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14225 + ($80)|0); + $81 = (14533 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -29832,7 +29795,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14241,1); + _out($0,14549,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -29913,7 +29876,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14241,1); + _out($0,14549,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -29970,9 +29933,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14209 : 14213; + $29 = $28 ? 14517 : 14521; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14217 : 14221; + $31 = $28 ? 14525 : 14529; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -30182,7 +30145,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14243 + ($$016)|0); + $3 = (14551 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -30193,7 +30156,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14331;$$115 = 87; + $$01214 = 14639;$$115 = 87; label = 5; break; } else { @@ -30203,9 +30166,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14331; + $$012$lcssa = 14639; } else { - $$01214 = 14331;$$115 = $$016; + $$01214 = 14639;$$115 = $$016; label = 5; } } @@ -30868,7 +30831,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16135,$3,4)|0); + $memchr = (_memchr(16443,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -30957,7 +30920,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16135,$4,4)|0); + $memchr = (_memchr(16443,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -31048,7 +31011,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(18724)>>2]|0; + $38 = HEAP32[(19028)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -31081,13 +31044,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((18784|0)); - return (18792|0); + ___lock((19088|0)); + return (19096|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((18784|0)); + ___unlock((19088|0)); return; } function _fclose($0) { @@ -32151,7 +32114,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16408; + $2 = 16712; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -32368,7 +32331,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4699]|0; + $3 = HEAP32[4775]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -32387,22 +32350,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4699] = 0; + HEAP32[4775] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4699] = $10; + HEAP32[4775] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4699] = 0; + HEAP32[4775] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4699] = $13; + HEAP32[4775] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -32483,7 +32446,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4700]|0; + $8 = HEAP32[4776]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -32492,7 +32455,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (18840 + ($15<<2)|0); + $16 = (19144 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -32503,9 +32466,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4700] = $24; + HEAP32[4776] = $24; } else { - $25 = HEAP32[(18816)>>2]|0; + $25 = HEAP32[(19120)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -32536,7 +32499,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(18808)>>2]|0; + $37 = HEAP32[(19112)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -32570,7 +32533,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (18840 + ($68<<2)|0); + $69 = (19144 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -32581,10 +32544,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4700] = $77; + HEAP32[4776] = $77; $98 = $77; } else { - $78 = HEAP32[(18816)>>2]|0; + $78 = HEAP32[(19120)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -32617,22 +32580,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(18820)>>2]|0; + $92 = HEAP32[(19124)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (18840 + ($94<<2)|0); + $95 = (19144 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4700] = $100; + HEAP32[4776] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(18816)>>2]|0; + $103 = HEAP32[(19120)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -32649,12 +32612,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(18808)>>2] = $84; - HEAP32[(18820)>>2] = $87; + HEAP32[(19112)>>2] = $84; + HEAP32[(19124)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(18804)>>2]|0; + $108 = HEAP32[(19108)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -32682,7 +32645,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19104 + ($132<<2)|0); + $133 = (19408 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -32722,7 +32685,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(18816)>>2]|0; + $155 = HEAP32[(19120)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -32817,7 +32780,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19104 + ($188<<2)|0); + $189 = (19408 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -32828,11 +32791,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(18804)>>2] = $194; + HEAP32[(19108)>>2] = $194; break L73; } } else { - $195 = HEAP32[(18816)>>2]|0; + $195 = HEAP32[(19120)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -32853,7 +32816,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(18816)>>2]|0; + $201 = HEAP32[(19120)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -32883,7 +32846,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(18816)>>2]|0; + $213 = HEAP32[(19120)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -32920,22 +32883,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(18820)>>2]|0; + $231 = HEAP32[(19124)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (18840 + ($233<<2)|0); + $234 = (19144 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4700] = $238; + HEAP32[4776] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(18816)>>2]|0; + $241 = HEAP32[(19120)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -32952,8 +32915,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(18808)>>2] = $$0193$lcssa$i; - HEAP32[(18820)>>2] = $157; + HEAP32[(19112)>>2] = $$0193$lcssa$i; + HEAP32[(19124)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -32969,7 +32932,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(18804)>>2]|0; + $250 = HEAP32[(19108)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -33009,7 +32972,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19104 + ($$0358$i<<2)|0); + $278 = (19408 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -33101,7 +33064,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19104 + ($330<<2)|0); + $331 = (19408 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -33145,11 +33108,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(18808)>>2]|0; + $345 = HEAP32[(19112)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(18816)>>2]|0; + $348 = HEAP32[(19120)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -33246,7 +33209,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19104 + ($381<<2)|0); + $382 = (19408 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -33257,12 +33220,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(18804)>>2] = $387; + HEAP32[(19108)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(18816)>>2]|0; + $388 = HEAP32[(19120)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -33284,7 +33247,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(18816)>>2]|0; + $394 = HEAP32[(19120)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -33316,7 +33279,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(18816)>>2]|0; + $406 = HEAP32[(19120)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -33357,20 +33320,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (18840 + ($425<<2)|0); - $427 = HEAP32[4700]|0; + $426 = (19144 + ($425<<2)|0); + $427 = HEAP32[4776]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4700] = $431; + HEAP32[4776] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(18816)>>2]|0; + $434 = HEAP32[(19120)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -33422,7 +33385,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19104 + ($$0361$i<<2)|0); + $464 = (19408 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -33434,7 +33397,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(18804)>>2] = $472; + HEAP32[(19108)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -33473,7 +33436,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(18816)>>2]|0; + $491 = HEAP32[(19120)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -33492,7 +33455,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(18816)>>2]|0; + $498 = HEAP32[(19120)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -33525,16 +33488,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(18808)>>2]|0; + $506 = HEAP32[(19112)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(18820)>>2]|0; + $509 = HEAP32[(19124)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(18820)>>2] = $511; - HEAP32[(18808)>>2] = $508; + HEAP32[(19124)>>2] = $511; + HEAP32[(19112)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -33544,8 +33507,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(18808)>>2] = 0; - HEAP32[(18820)>>2] = 0; + HEAP32[(19112)>>2] = 0; + HEAP32[(19124)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -33559,14 +33522,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(18812)>>2]|0; + $524 = HEAP32[(19116)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(18812)>>2] = $526; - $527 = HEAP32[(18824)>>2]|0; + HEAP32[(19116)>>2] = $526; + $527 = HEAP32[(19128)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(18824)>>2] = $528; + HEAP32[(19128)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -33577,23 +33540,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4818]|0; + $534 = HEAP32[4894]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19280)>>2] = 4096; - HEAP32[(19276)>>2] = 4096; - HEAP32[(19284)>>2] = -1; - HEAP32[(19288)>>2] = -1; - HEAP32[(19292)>>2] = 0; - HEAP32[(19244)>>2] = 0; + HEAP32[(19584)>>2] = 4096; + HEAP32[(19580)>>2] = 4096; + HEAP32[(19588)>>2] = -1; + HEAP32[(19592)>>2] = -1; + HEAP32[(19596)>>2] = 0; + HEAP32[(19548)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4818] = $538; + HEAP32[4894] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19280)>>2]|0; + $$pre$i212 = HEAP32[(19584)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -33606,10 +33569,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19240)>>2]|0; + $546 = HEAP32[(19544)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19232)>>2]|0; + $548 = HEAP32[(19536)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -33619,18 +33582,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19244)>>2]|0; + $552 = HEAP32[(19548)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(18824)>>2]|0; + $555 = HEAP32[(19128)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19248); + $$0$i$i = (19552); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -33688,7 +33651,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19276)>>2]|0; + $569 = HEAP32[(19580)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -33698,13 +33661,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19232)>>2]|0; + $578 = HEAP32[(19536)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19240)>>2]|0; + $582 = HEAP32[(19544)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -33750,7 +33713,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19280)>>2]|0; + $601 = HEAP32[(19584)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -33775,9 +33738,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19244)>>2]|0; + $611 = HEAP32[(19548)>>2]|0; $612 = $611 | 4; - HEAP32[(19244)>>2] = $612; + HEAP32[(19548)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -33813,35 +33776,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19232)>>2]|0; + $626 = HEAP32[(19536)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19232)>>2] = $627; - $628 = HEAP32[(19236)>>2]|0; + HEAP32[(19536)>>2] = $627; + $628 = HEAP32[(19540)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19236)>>2] = $627; + HEAP32[(19540)>>2] = $627; } - $630 = HEAP32[(18824)>>2]|0; + $630 = HEAP32[(19128)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(18816)>>2]|0; + $632 = HEAP32[(19120)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(18816)>>2] = $$749$i; + HEAP32[(19120)>>2] = $$749$i; } - HEAP32[(19248)>>2] = $$749$i; - HEAP32[(19252)>>2] = $$723948$i; - HEAP32[(19260)>>2] = 0; - $635 = HEAP32[4818]|0; - HEAP32[(18836)>>2] = $635; - HEAP32[(18832)>>2] = -1; + HEAP32[(19552)>>2] = $$749$i; + HEAP32[(19556)>>2] = $$723948$i; + HEAP32[(19564)>>2] = 0; + $635 = HEAP32[4894]|0; + HEAP32[(19140)>>2] = $635; + HEAP32[(19136)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (18840 + ($636<<2)|0); + $637 = (19144 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -33864,18 +33827,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(18824)>>2] = $649; - HEAP32[(18812)>>2] = $650; + HEAP32[(19128)>>2] = $649; + HEAP32[(19116)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19288)>>2]|0; - HEAP32[(18828)>>2] = $655; + $655 = HEAP32[(19592)>>2]|0; + HEAP32[(19132)>>2] = $655; } else { - $$024371$i = (19248); + $$024371$i = (19552); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -33907,7 +33870,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(18812)>>2]|0; + $671 = HEAP32[(19116)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -33918,30 +33881,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(18824)>>2] = $679; - HEAP32[(18812)>>2] = $681; + HEAP32[(19128)>>2] = $679; + HEAP32[(19116)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19288)>>2]|0; - HEAP32[(18828)>>2] = $686; + $686 = HEAP32[(19592)>>2]|0; + HEAP32[(19132)>>2] = $686; break; } } } - $687 = HEAP32[(18816)>>2]|0; + $687 = HEAP32[(19120)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(18816)>>2] = $$749$i; + HEAP32[(19120)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19248); + $$124470$i = (19552); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -33996,21 +33959,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(18812)>>2]|0; + $726 = HEAP32[(19116)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(18812)>>2] = $727; - HEAP32[(18824)>>2] = $721; + HEAP32[(19116)>>2] = $727; + HEAP32[(19128)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(18820)>>2]|0; + $730 = HEAP32[(19124)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(18808)>>2]|0; + $732 = HEAP32[(19112)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(18808)>>2] = $733; - HEAP32[(18820)>>2] = $721; + HEAP32[(19112)>>2] = $733; + HEAP32[(19124)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -34033,7 +33996,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (18840 + ($748<<2)|0); + $749 = (19144 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -34056,9 +34019,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4700]|0; + $759 = HEAP32[4776]|0; $760 = $759 & $758; - HEAP32[4700] = $760; + HEAP32[4776] = $760; break; } $761 = ($747|0)==($749|0); @@ -34171,7 +34134,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19104 + ($796<<2)|0); + $797 = (19408 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -34183,12 +34146,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(18804)>>2]|0; + $802 = HEAP32[(19108)>>2]|0; $803 = $802 & $801; - HEAP32[(18804)>>2] = $803; + HEAP32[(19108)>>2] = $803; break L314; } else { - $804 = HEAP32[(18816)>>2]|0; + $804 = HEAP32[(19120)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -34209,7 +34172,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(18816)>>2]|0; + $810 = HEAP32[(19120)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -34241,7 +34204,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(18816)>>2]|0; + $822 = HEAP32[(19120)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -34274,21 +34237,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (18840 + ($836<<2)|0); - $838 = HEAP32[4700]|0; + $837 = (19144 + ($836<<2)|0); + $838 = HEAP32[4776]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4700] = $842; + HEAP32[4776] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(18816)>>2]|0; + $845 = HEAP32[(19120)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -34343,20 +34306,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19104 + ($$0296$i$i<<2)|0); + $875 = (19408 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(18804)>>2]|0; + $879 = HEAP32[(19108)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(18804)>>2] = $883; + HEAP32[(19108)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -34395,7 +34358,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(18816)>>2]|0; + $902 = HEAP32[(19120)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -34414,7 +34377,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(18816)>>2]|0; + $909 = HEAP32[(19120)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -34441,7 +34404,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19248); + $$0$i$i$i = (19552); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -34482,23 +34445,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(18824)>>2] = $946; - HEAP32[(18812)>>2] = $947; + HEAP32[(19128)>>2] = $946; + HEAP32[(19116)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19288)>>2]|0; - HEAP32[(18828)>>2] = $952; + $952 = HEAP32[(19592)>>2]|0; + HEAP32[(19132)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19248)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19248)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19248)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19248)+12>>2]|0; - HEAP32[(19248)>>2] = $$749$i; - HEAP32[(19252)>>2] = $$723948$i; - HEAP32[(19260)>>2] = 0; - HEAP32[(19256)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19552)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19552)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19552)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19552)+12>>2]|0; + HEAP32[(19552)>>2] = $$749$i; + HEAP32[(19556)>>2] = $$723948$i; + HEAP32[(19564)>>2] = 0; + HEAP32[(19560)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -34527,20 +34490,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (18840 + ($968<<2)|0); - $970 = HEAP32[4700]|0; + $969 = (19144 + ($968<<2)|0); + $970 = HEAP32[4776]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4700] = $974; + HEAP32[4776] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(18816)>>2]|0; + $977 = HEAP32[(19120)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -34592,19 +34555,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19104 + ($$0212$i$i<<2)|0); + $1007 = (19408 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(18804)>>2]|0; + $1010 = HEAP32[(19108)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(18804)>>2] = $1014; + HEAP32[(19108)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -34643,7 +34606,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(18816)>>2]|0; + $1033 = HEAP32[(19120)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -34662,7 +34625,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(18816)>>2]|0; + $1040 = HEAP32[(19120)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -34685,14 +34648,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(18812)>>2]|0; + $1048 = HEAP32[(19116)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(18812)>>2] = $1050; - $1051 = HEAP32[(18824)>>2]|0; + HEAP32[(19116)>>2] = $1050; + $1051 = HEAP32[(19128)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(18824)>>2] = $1052; + HEAP32[(19128)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -34735,7 +34698,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(18816)>>2]|0; + $3 = HEAP32[(19120)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -34768,7 +34731,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(18820)>>2]|0; + $19 = HEAP32[(19124)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -34783,7 +34746,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(18808)>>2] = $17; + HEAP32[(19112)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -34797,7 +34760,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (18840 + ($27<<2)|0); + $28 = (19144 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -34817,9 +34780,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4700]|0; + $37 = HEAP32[4776]|0; $38 = $37 & $36; - HEAP32[4700] = $38; + HEAP32[4776] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -34933,7 +34896,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19104 + ($74<<2)|0); + $75 = (19408 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -34943,14 +34906,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(18804)>>2]|0; + $80 = HEAP32[(19108)>>2]|0; $81 = $80 & $79; - HEAP32[(18804)>>2] = $81; + HEAP32[(19108)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(18816)>>2]|0; + $82 = HEAP32[(19120)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -34972,7 +34935,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(18816)>>2]|0; + $88 = HEAP32[(19120)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -35004,7 +34967,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(18816)>>2]|0; + $100 = HEAP32[(19120)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -35039,14 +35002,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(18824)>>2]|0; + $120 = HEAP32[(19128)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(18820)>>2]|0; + $122 = HEAP32[(19124)>>2]|0; if ($121) { - $123 = HEAP32[(18812)>>2]|0; + $123 = HEAP32[(19116)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(18812)>>2] = $124; - HEAP32[(18824)>>2] = $$1; + HEAP32[(19116)>>2] = $124; + HEAP32[(19128)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -35054,16 +35017,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(18820)>>2] = 0; - HEAP32[(18808)>>2] = 0; + HEAP32[(19124)>>2] = 0; + HEAP32[(19112)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(18808)>>2]|0; + $129 = HEAP32[(19112)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(18808)>>2] = $130; - HEAP32[(18820)>>2] = $113; + HEAP32[(19112)>>2] = $130; + HEAP32[(19124)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -35082,10 +35045,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (18840 + ($142<<2)|0); + $143 = (19144 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(18816)>>2]|0; + $145 = HEAP32[(19120)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -35103,9 +35066,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4700]|0; + $153 = HEAP32[4776]|0; $154 = $153 & $152; - HEAP32[4700] = $154; + HEAP32[4776] = $154; break; } $155 = ($141|0)==($143|0); @@ -35113,7 +35076,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(18816)>>2]|0; + $156 = HEAP32[(19120)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -35173,7 +35136,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(18816)>>2]|0; + $189 = HEAP32[(19120)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -35186,7 +35149,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(18816)>>2]|0; + $169 = HEAP32[(19120)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -35217,7 +35180,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19104 + ($193<<2)|0); + $194 = (19408 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -35227,13 +35190,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(18804)>>2]|0; + $199 = HEAP32[(19108)>>2]|0; $200 = $199 & $198; - HEAP32[(18804)>>2] = $200; + HEAP32[(19108)>>2] = $200; break L108; } } else { - $201 = HEAP32[(18816)>>2]|0; + $201 = HEAP32[(19120)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -35254,7 +35217,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(18816)>>2]|0; + $207 = HEAP32[(19120)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -35284,7 +35247,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(18816)>>2]|0; + $219 = HEAP32[(19120)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -35305,10 +35268,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(18820)>>2]|0; + $226 = HEAP32[(19124)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(18808)>>2] = $135; + HEAP32[(19112)>>2] = $135; return; } else { $$2 = $135; @@ -35327,20 +35290,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (18840 + ($234<<2)|0); - $236 = HEAP32[4700]|0; + $235 = (19144 + ($234<<2)|0); + $236 = HEAP32[4776]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4700] = $240; + HEAP32[4776] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(18816)>>2]|0; + $243 = HEAP32[(19120)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -35392,21 +35355,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19104 + ($$0396<<2)|0); + $273 = (19408 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(18804)>>2]|0; + $277 = HEAP32[(19108)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(18804)>>2] = $281; + HEAP32[(19108)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -35444,7 +35407,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(18816)>>2]|0; + $300 = HEAP32[(19120)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -35463,7 +35426,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(18816)>>2]|0; + $307 = HEAP32[(19120)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -35485,12 +35448,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(18832)>>2]|0; + $314 = HEAP32[(19136)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(18832)>>2] = $315; + HEAP32[(19136)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19256); + $$0212$in$i = (19560); } else { return; } @@ -35504,7 +35467,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(18832)>>2] = -1; + HEAP32[(19136)>>2] = -1; return; } function _realloc($0,$1) { @@ -35576,7 +35539,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(18816)>>2]|0; + $6 = HEAP32[(19120)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -35606,7 +35569,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19280)>>2]|0; + $18 = HEAP32[(19584)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -35642,10 +35605,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(18824)>>2]|0; + $34 = HEAP32[(19128)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(18812)>>2]|0; + $36 = HEAP32[(19116)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -35661,15 +35624,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(18824)>>2] = $40; - HEAP32[(18812)>>2] = $39; + HEAP32[(19128)>>2] = $40; + HEAP32[(19116)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(18820)>>2]|0; + $46 = HEAP32[(19124)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(18808)>>2]|0; + $48 = HEAP32[(19112)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -35705,8 +35668,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(18808)>>2] = $storemerge1; - HEAP32[(18820)>>2] = $storemerge; + HEAP32[(19112)>>2] = $storemerge1; + HEAP32[(19124)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -35733,7 +35696,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (18840 + ($81<<2)|0); + $82 = (19144 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -35753,9 +35716,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4700]|0; + $91 = HEAP32[4776]|0; $92 = $91 & $90; - HEAP32[4700] = $92; + HEAP32[4776] = $92; break; } $93 = ($80|0)==($82|0); @@ -35864,7 +35827,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19104 + ($128<<2)|0); + $129 = (19408 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -35874,13 +35837,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(18804)>>2]|0; + $134 = HEAP32[(19108)>>2]|0; $135 = $134 & $133; - HEAP32[(18804)>>2] = $135; + HEAP32[(19108)>>2] = $135; break L49; } } else { - $136 = HEAP32[(18816)>>2]|0; + $136 = HEAP32[(19120)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -35901,7 +35864,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(18816)>>2]|0; + $142 = HEAP32[(19120)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -35931,7 +35894,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(18816)>>2]|0; + $154 = HEAP32[(19120)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -36016,13 +35979,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(18816)>>2]|0; + $13 = HEAP32[(19120)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(18820)>>2]|0; + $15 = HEAP32[(19124)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -36037,7 +36000,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(18808)>>2] = $12; + HEAP32[(19112)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -36051,7 +36014,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (18840 + ($23<<2)|0); + $24 = (19144 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -36071,9 +36034,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4700]|0; + $33 = HEAP32[4776]|0; $34 = $33 & $32; - HEAP32[4700] = $34; + HEAP32[4776] = $34; $$1 = $11;$$1418 = $12; break; } @@ -36187,7 +36150,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19104 + ($70<<2)|0); + $71 = (19408 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -36197,14 +36160,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(18804)>>2]|0; + $76 = HEAP32[(19108)>>2]|0; $77 = $76 & $75; - HEAP32[(18804)>>2] = $77; + HEAP32[(19108)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(18816)>>2]|0; + $78 = HEAP32[(19120)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -36226,7 +36189,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(18816)>>2]|0; + $84 = HEAP32[(19120)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -36258,7 +36221,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(18816)>>2]|0; + $96 = HEAP32[(19120)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -36277,7 +36240,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(18816)>>2]|0; + $108 = HEAP32[(19120)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -36288,14 +36251,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(18824)>>2]|0; + $114 = HEAP32[(19128)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(18820)>>2]|0; + $116 = HEAP32[(19124)>>2]|0; if ($115) { - $117 = HEAP32[(18812)>>2]|0; + $117 = HEAP32[(19116)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(18812)>>2] = $118; - HEAP32[(18824)>>2] = $$1; + HEAP32[(19116)>>2] = $118; + HEAP32[(19128)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -36303,16 +36266,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(18820)>>2] = 0; - HEAP32[(18808)>>2] = 0; + HEAP32[(19124)>>2] = 0; + HEAP32[(19112)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(18808)>>2]|0; + $123 = HEAP32[(19112)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(18808)>>2] = $124; - HEAP32[(18820)>>2] = $$1; + HEAP32[(19112)>>2] = $124; + HEAP32[(19124)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36331,7 +36294,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (18840 + ($136<<2)|0); + $137 = (19144 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -36351,9 +36314,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4700]|0; + $146 = HEAP32[4776]|0; $147 = $146 & $145; - HEAP32[4700] = $147; + HEAP32[4776] = $147; break; } $148 = ($135|0)==($137|0); @@ -36462,7 +36425,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19104 + ($183<<2)|0); + $184 = (19408 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -36472,13 +36435,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(18804)>>2]|0; + $189 = HEAP32[(19108)>>2]|0; $190 = $189 & $188; - HEAP32[(18804)>>2] = $190; + HEAP32[(19108)>>2] = $190; break L96; } } else { - $191 = HEAP32[(18816)>>2]|0; + $191 = HEAP32[(19120)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -36499,7 +36462,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(18816)>>2]|0; + $197 = HEAP32[(19120)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -36529,7 +36492,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(18816)>>2]|0; + $209 = HEAP32[(19120)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -36550,10 +36513,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(18820)>>2]|0; + $216 = HEAP32[(19124)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(18808)>>2] = $129; + HEAP32[(19112)>>2] = $129; return; } else { $$2 = $129; @@ -36572,20 +36535,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (18840 + ($224<<2)|0); - $226 = HEAP32[4700]|0; + $225 = (19144 + ($224<<2)|0); + $226 = HEAP32[4776]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4700] = $230; + HEAP32[4776] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(18816)>>2]|0; + $233 = HEAP32[(19120)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -36637,20 +36600,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19104 + ($$0431<<2)|0); + $263 = (19408 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(18804)>>2]|0; + $267 = HEAP32[(19108)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(18804)>>2] = $271; + HEAP32[(19108)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -36689,7 +36652,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(18816)>>2]|0; + $290 = HEAP32[(19120)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -36707,7 +36670,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(18816)>>2]|0; + $297 = HEAP32[(19120)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/textures/textures_image_loading.png b/docs/examples/web/textures/textures_image_loading.png similarity index 100% rename from docs/examples/img/textures/textures_image_loading.png rename to docs/examples/web/textures/textures_image_loading.png diff --git a/docs/examples/web/textures/textures_image_processing.js b/docs/examples/web/textures/textures_image_processing.js index 3fcda65f8..482183f0c 100644 --- a/docs/examples/web/textures/textures_image_processing.js +++ b/docs/examples/web/textures/textures_image_processing.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 295054, "filename": "/resources/parrots.png"}], "remote_package_size": 295054, "package_uuid": "95855e0b-fa26-4e0f-92a9-d14dd0e171b3"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 295054, "filename": "/resources/parrots.png"}], "remote_package_size": 295054, "package_uuid": "7099e0f9-f6f1-4295-b5b2-bd4d5cd9e7f4"}); })(); @@ -1779,8 +1779,8 @@ STATICTOP = STATIC_BASE + 22256; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,17,16,0,0,31,16,0,0,47,16,0,0,58,16,0,0,71,16,0,0,86,16,0,0,103,16,0,0,117,16,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,235,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,105,109,97,103,101,32,112,114,111,99,101,115,115,105,110,103,0,114,101,115,111,117,114,99,101,115,47,112,97,114,114,111,116,115,46,112,110,103,0,73,77,65,71,69,32,80,82,79,67,69,83,83,73,78,71,58,0,78,79,32,80,82,79,67,69,83,83,73,78,71,0,67,79,76,79,82,32,71,82,65,89,83,67,65,76,69,0,67,79,76,79,82,32,84,73,78,84,0,67,79,76,79,82,32,73,78,86,69,82,84,0,67,79,76,79,82,32,67,79,78,84,82,65,83,84,0,67,79,76,79,82,32,66,82,73,71,72,84,78,69,83,83,0,70,76,73,80,32,86,69,82,84,73,67,65,76,0,70,76,73,80,32,72,79,82,73,90,79,78,84,65,76,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,117,112,100,97,116,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,17,16,0,0,31,16,0,0,47,16,0,0,58,16,0,0,71,16,0,0,86,16,0,0,103,16,0,0,117,16,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,227,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,105,109,97,103,101,32,112,114,111,99,101,115,115,105,110,103,0,114,101,115,111,117,114,99,101,115,47,112,97,114,114,111,116,115,46,112,110,103,0,73,77,65,71,69,32,80,82,79,67,69,83,83,73,78,71,58,0,78,79,32,80,82,79,67,69,83,83,73,78,71,0,67,79,76,79,82,32,71,82,65,89,83,67,65,76,69,0,67,79,76,79,82,32,84,73,78,84,0,67,79,76,79,82,32,73,78,86,69,82,84,0,67,79,76,79,82,32,67,79,78,84,82,65,83,84,0,67,79,76,79,82,32,66,82,73,71,72,84,78,69,83,83,0,70,76,73,80,32,86,69,82,84,73,67,65,76,0,70,76,73,80,32,72,79,82,73,90,79,78,84,65,76,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,117,112,100,97,116,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10478,47 +10478,47 @@ function _main() { $3 = HEAP32[3]|0; _InitWindow($2,$3,4028); _LoadImage($0,4073); - ;HEAP32[16584>>2]=HEAP32[$0>>2]|0;HEAP32[16584+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16584+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16584+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16584+16>>2]=HEAP32[$0+16>>2]|0; - _ImageFormat(16584,7); - ;HEAP32[$image$byval_copy1>>2]=HEAP32[16584>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[16584+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[16584+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[16584+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[16584+16>>2]|0; + ;HEAP32[16896>>2]=HEAP32[$0>>2]|0;HEAP32[16896+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16896+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16896+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16896+16>>2]=HEAP32[$0+16>>2]|0; + _ImageFormat(16896,7); + ;HEAP32[$image$byval_copy1>>2]=HEAP32[16896>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[16896+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[16896+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[16896+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[16896+16>>2]|0; _LoadTextureFromImage($1,$image$byval_copy1); - ;HEAP32[16604>>2]=HEAP32[$1>>2]|0;HEAP32[16604+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16604+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16604+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16604+16>>2]=HEAP32[$1+16>>2]|0; - HEAP32[4156] = 40; - HEAP32[(16628)>>2] = 50; - HEAP32[(16632)>>2] = 150; - HEAP32[(16636)>>2] = 30; - HEAP32[(16640)>>2] = 40; - HEAP32[(16644)>>2] = 82; - HEAP32[(16648)>>2] = 150; - HEAP32[(16652)>>2] = 30; - HEAP32[(16656)>>2] = 40; - HEAP32[(16660)>>2] = 114; - HEAP32[(16664)>>2] = 150; - HEAP32[(16668)>>2] = 30; - HEAP32[(16672)>>2] = 40; - HEAP32[(16676)>>2] = 146; - HEAP32[(16680)>>2] = 150; - HEAP32[(16684)>>2] = 30; - HEAP32[(16688)>>2] = 40; - HEAP32[(16692)>>2] = 178; - HEAP32[(16696)>>2] = 150; - HEAP32[(16700)>>2] = 30; - HEAP32[(16704)>>2] = 40; - HEAP32[(16708)>>2] = 210; - HEAP32[(16712)>>2] = 150; - HEAP32[(16716)>>2] = 30; - HEAP32[(16720)>>2] = 40; - HEAP32[(16724)>>2] = 242; - HEAP32[(16728)>>2] = 150; - HEAP32[(16732)>>2] = 30; - HEAP32[(16736)>>2] = 40; - HEAP32[(16740)>>2] = 274; - HEAP32[(16744)>>2] = 150; - HEAP32[(16748)>>2] = 30; + ;HEAP32[16916>>2]=HEAP32[$1>>2]|0;HEAP32[16916+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16916+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16916+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16916+16>>2]=HEAP32[$1+16>>2]|0; + HEAP32[4234] = 40; + HEAP32[(16940)>>2] = 50; + HEAP32[(16944)>>2] = 150; + HEAP32[(16948)>>2] = 30; + HEAP32[(16952)>>2] = 40; + HEAP32[(16956)>>2] = 82; + HEAP32[(16960)>>2] = 150; + HEAP32[(16964)>>2] = 30; + HEAP32[(16968)>>2] = 40; + HEAP32[(16972)>>2] = 114; + HEAP32[(16976)>>2] = 150; + HEAP32[(16980)>>2] = 30; + HEAP32[(16984)>>2] = 40; + HEAP32[(16988)>>2] = 146; + HEAP32[(16992)>>2] = 150; + HEAP32[(16996)>>2] = 30; + HEAP32[(17000)>>2] = 40; + HEAP32[(17004)>>2] = 178; + HEAP32[(17008)>>2] = 150; + HEAP32[(17012)>>2] = 30; + HEAP32[(17016)>>2] = 40; + HEAP32[(17020)>>2] = 210; + HEAP32[(17024)>>2] = 150; + HEAP32[(17028)>>2] = 30; + HEAP32[(17032)>>2] = 40; + HEAP32[(17036)>>2] = 242; + HEAP32[(17040)>>2] = 150; + HEAP32[(17044)>>2] = 30; + HEAP32[(17048)>>2] = 40; + HEAP32[(17052)>>2] = 274; + HEAP32[(17056)>>2] = 150; + HEAP32[(17060)>>2] = 30; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$image$byval_copy1>>2]=HEAP32[16604>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[16604+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[16604+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[16604+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[16604+16>>2]|0; + ;HEAP32[$image$byval_copy1>>2]=HEAP32[16916>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[16916+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[16916+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[16916+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[16916+16>>2]|0; _UnloadTexture($image$byval_copy1); - ;HEAP32[$image$byval_copy1>>2]=HEAP32[16584>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[16584+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[16584+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[16584+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[16584+16>>2]|0; + ;HEAP32[$image$byval_copy1>>2]=HEAP32[16896>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[16896+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[16896+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[16896+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[16896+16>>2]|0; _UnloadImage($image$byval_copy1); _CloseWindow(); STACKTOP = sp;return 0; @@ -10554,7 +10554,7 @@ function _UpdateDrawFrame() { $17 = (_IsKeyPressed(265)|0); $18 = ($17|0)==(0); if ($18) { - $$pr = HEAP32[4145]|0; + $$pr = HEAP32[4223]|0; $22 = ($$pr|0)==(0); if ($22) { break; @@ -10563,9 +10563,9 @@ function _UpdateDrawFrame() { break; } } else { - $19 = HEAP32[4144]|0; + $19 = HEAP32[4222]|0; $20 = (($19) + -1)|0; - HEAP32[4144] = $20; + HEAP32[4222] = $20; $21 = ($19|0)<(1); $$1 = $21 ? 7 : $20; $$1$sink = $$1; @@ -10573,9 +10573,9 @@ function _UpdateDrawFrame() { break; } } else { - $14 = HEAP32[4144]|0; + $14 = HEAP32[4222]|0; $15 = (($14) + 1)|0; - HEAP32[4144] = $15; + HEAP32[4222] = $15; $16 = ($14|0)>(6); $$ = $16 ? 0 : $15; $$1$sink = $$; @@ -10583,19 +10583,19 @@ function _UpdateDrawFrame() { } } while(0); if ((label|0) == 5) { - HEAP32[4144] = $$1$sink; - HEAP32[4145] = 1; + HEAP32[4222] = $$1$sink; + HEAP32[4223] = 1; label = 7; } if ((label|0) == 7) { - ;HEAP32[$$byval_copy13>>2]=HEAP32[16584>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[16584+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[16584+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[16584+12>>2]|0;HEAP32[$$byval_copy13+16>>2]=HEAP32[16584+16>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[16896>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[16896+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[16896+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[16896+12>>2]|0;HEAP32[$$byval_copy13+16>>2]=HEAP32[16896+16>>2]|0; _UnloadImage($$byval_copy13); _LoadImage($0,4073); - ;HEAP32[16584>>2]=HEAP32[$0>>2]|0;HEAP32[16584+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16584+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16584+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16584+16>>2]=HEAP32[$0+16>>2]|0; - $23 = HEAP32[4144]|0; + ;HEAP32[16896>>2]=HEAP32[$0>>2]|0;HEAP32[16896+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16896+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16896+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16896+16>>2]=HEAP32[$0+16>>2]|0; + $23 = HEAP32[4222]|0; switch ($23|0) { case 1: { - _ImageColorGrayscale(16584); + _ImageColorGrayscale(16896); break; } case 2: { @@ -10607,38 +10607,38 @@ function _UpdateDrawFrame() { $26 = ((($1)) + 3|0); HEAP8[$26>>0] = -1; ;HEAP8[$$byval_copy13>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$1+3>>0]|0; - _ImageColorTint(16584,$$byval_copy13); + _ImageColorTint(16896,$$byval_copy13); break; } case 3: { - _ImageColorInvert(16584); + _ImageColorInvert(16896); break; } case 4: { - _ImageColorContrast(16584,-40.0); + _ImageColorContrast(16896,-40.0); break; } case 5: { - _ImageColorBrightness(16584,-80); + _ImageColorBrightness(16896,-80); break; } case 6: { - _ImageFlipVertical(16584); + _ImageFlipVertical(16896); break; } case 7: { - _ImageFlipHorizontal(16584); + _ImageFlipHorizontal(16896); break; } default: { } } - ;HEAP32[$$byval_copy13>>2]=HEAP32[16584>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[16584+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[16584+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[16584+12>>2]|0;HEAP32[$$byval_copy13+16>>2]=HEAP32[16584+16>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[16896>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[16896+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[16896+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[16896+12>>2]|0;HEAP32[$$byval_copy13+16>>2]=HEAP32[16896+16>>2]|0; $27 = (_GetImageData($$byval_copy13)|0); - ;HEAP32[$$byval_copy13>>2]=HEAP32[16604>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[16604+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[16604+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[16604+12>>2]|0;HEAP32[$$byval_copy13+16>>2]=HEAP32[16604+16>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[16916>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[16916+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[16916+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[16916+12>>2]|0;HEAP32[$$byval_copy13+16>>2]=HEAP32[16916+16>>2]|0; _UpdateTexture($$byval_copy13,$27); _free($27); - HEAP32[4145] = 0; + HEAP32[4223] = 0; } _BeginDrawing(); HEAP8[$2>>0] = -11; @@ -10679,9 +10679,9 @@ function _UpdateDrawFrame() { $51 = ((($9)) + 3|0); $$030 = 0; while(1) { - $73 = HEAP32[4144]|0; + $73 = HEAP32[4222]|0; $74 = ($$030|0)==($73|0); - $75 = (16624 + ($$030<<4)|0); + $75 = (16936 + ($$030<<4)|0); if ($74) { HEAP8[$4>>0] = 102; HEAP8[$34>>0] = -65; @@ -10691,11 +10691,11 @@ function _UpdateDrawFrame() { ;HEAP8[$$byval_copy13>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$4+3>>0]|0; _DrawRectangleRec($$byval_copy10,$$byval_copy13); $76 = HEAP32[$75>>2]|0; - $77 = (((16624 + ($$030<<4)|0)) + 4|0); + $77 = (((16936 + ($$030<<4)|0)) + 4|0); $78 = HEAP32[$77>>2]|0; - $79 = (((16624 + ($$030<<4)|0)) + 8|0); + $79 = (((16936 + ($$030<<4)|0)) + 8|0); $80 = HEAP32[$79>>2]|0; - $81 = (((16624 + ($$030<<4)|0)) + 12|0); + $81 = (((16936 + ($$030<<4)|0)) + 12|0); $82 = HEAP32[$81>>2]|0; HEAP8[$5>>0] = 0; HEAP8[$37>>0] = 121; @@ -10729,11 +10729,11 @@ function _UpdateDrawFrame() { ;HEAP8[$$byval_copy13>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$7+3>>0]|0; _DrawRectangleRec($$byval_copy10,$$byval_copy13); $93 = HEAP32[$75>>2]|0; - $94 = (((16624 + ($$030<<4)|0)) + 4|0); + $94 = (((16936 + ($$030<<4)|0)) + 4|0); $95 = HEAP32[$94>>2]|0; - $96 = (((16624 + ($$030<<4)|0)) + 8|0); + $96 = (((16936 + ($$030<<4)|0)) + 8|0); $97 = HEAP32[$96>>2]|0; - $98 = (((16624 + ($$030<<4)|0)) + 12|0); + $98 = (((16936 + ($$030<<4)|0)) + 12|0); $99 = HEAP32[$98>>2]|0; HEAP8[$8>>0] = -126; HEAP8[$46>>0] = -126; @@ -10768,25 +10768,25 @@ function _UpdateDrawFrame() { } } $52 = HEAP32[2]|0; - $53 = HEAP32[(16608)>>2]|0; + $53 = HEAP32[(16920)>>2]|0; $54 = (($52) + -60)|0; $55 = (($54) - ($53))|0; $56 = HEAP32[3]|0; $57 = (($56|0) / 2)&-1; - $58 = HEAP32[(16612)>>2]|0; + $58 = HEAP32[(16924)>>2]|0; $59 = (($58|0) / 2)&-1; $60 = (($57) - ($59))|0; HEAP32[$10>>2] = -1; - ;HEAP32[$$byval_copy10>>2]=HEAP32[16604>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[16604+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[16604+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[16604+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[16604+16>>2]|0; + ;HEAP32[$$byval_copy10>>2]=HEAP32[16916>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[16916+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[16916+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[16916+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[16916+16>>2]|0; ;HEAP8[$$byval_copy13>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$10+3>>0]|0; _DrawTexture($$byval_copy10,$55,$60,$$byval_copy13); $61 = HEAP32[2]|0; - $62 = HEAP32[(16608)>>2]|0; + $62 = HEAP32[(16920)>>2]|0; $63 = (($61) + -60)|0; $64 = (($63) - ($62))|0; $65 = HEAP32[3]|0; $66 = (($65|0) / 2)&-1; - $67 = HEAP32[(16612)>>2]|0; + $67 = HEAP32[(16924)>>2]|0; $68 = (($67|0) / 2)&-1; $69 = (($66) - ($68))|0; HEAP8[$11>>0] = 0; @@ -10801,6 +10801,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10900,13 +10950,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11516,7 +11559,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4189] = $2; + HEAP32[4267] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11529,7 +11572,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16304; + $95 = 16616; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11542,48 +11585,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16344; + $106 = 16656; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4086]; - $111 = +HEAPF32[4076]; + $110 = +HEAPF32[4164]; + $111 = +HEAPF32[4154]; $112 = $110 - $111; - HEAPF32[4088] = $112; - $113 = +HEAPF32[(16348)>>2]; - $114 = +HEAPF32[(16308)>>2]; + HEAPF32[4166] = $112; + $113 = +HEAPF32[(16660)>>2]; + $114 = +HEAPF32[(16620)>>2]; $115 = $113 - $114; - HEAPF32[(16356)>>2] = $115; - HEAP32[4188] = 4; + HEAPF32[(16668)>>2] = $115; + HEAP32[4266] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16672>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16672+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4194] = $116; - $117 = 16336; + HEAPF32[4272] = $116; + $117 = 16648; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16304; + $123 = 16616; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16360; + $127 = 16672; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16344; + $133 = 16656; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11596,7 +11639,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16336; + $144 = 16648; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11609,27 +11652,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16360; + $155 = 16672; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4090]; - $160 = +HEAPF32[4084]; + $159 = +HEAPF32[4168]; + $160 = +HEAPF32[4162]; $161 = $159 - $160; - HEAPF32[4088] = $161; - $162 = +HEAPF32[(16364)>>2]; - $163 = +HEAPF32[(16340)>>2]; + HEAPF32[4166] = $161; + $162 = +HEAPF32[(16676)>>2]; + $163 = +HEAPF32[(16652)>>2]; $164 = $162 - $163; - HEAPF32[(16356)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16304>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16304+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16336+4>>2]|0; + HEAPF32[(16668)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16616+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16648+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16344+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16656>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16656+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16672>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16672+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11641,31 +11684,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16672>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16672+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4194]; + $170 = +HEAPF32[4272]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4188] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + HEAP32[4266] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16672>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16672+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4195] = $174; + HEAPF32[4273] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4194] = 0.0; - HEAPF32[4195] = 0.0; - HEAPF32[4088] = 0.0; - HEAPF32[(16356)>>2] = 0.0; - HEAP32[4189] = 0; - HEAP32[4188] = 0; + HEAPF32[4272] = 0.0; + HEAPF32[4273] = 0.0; + HEAPF32[4166] = 0.0; + HEAPF32[(16668)>>2] = 0.0; + HEAP32[4267] = 0; + HEAP32[4266] = 0; STACKTOP = sp;return; break; } @@ -11675,22 +11718,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4190]|0; + $6 = HEAP32[4268]|0; $7 = (($6) + 1)|0; - HEAP32[4190] = $7; - $8 = HEAP32[4188]|0; + HEAP32[4268] = $7; + $8 = HEAP32[4266]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16304>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16304+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16616+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4188] = 2; - HEAP32[4190] = 0; + HEAP32[4266] = 2; + HEAP32[4268] = 0; } else { label = 6; } @@ -11698,8 +11741,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4190] = 1; - HEAP32[4188] = 1; + HEAP32[4268] = 1; + HEAP32[4266] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11708,19 +11751,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16304; + $21 = 16616; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16312; + $25 = 16624; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16320; + $29 = 16632; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11729,13 +11772,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[12] = $34; - HEAPF32[4082] = 0.0; - HEAPF32[(16332)>>2] = 0.0; + HEAPF32[4160] = 0.0; + HEAPF32[(16644)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4188]|0; + $35 = HEAP32[4266]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11745,19 +11788,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16320; + $44 = 16632; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16304>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16304+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16320+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16616+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16632>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16632+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4191] = $49; - HEAP32[4192] = 0; + HEAPF32[4269] = $49; + HEAP32[4270] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[12]|0; @@ -11765,11 +11808,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16304>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16304+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16320+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16616+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16632>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16632+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4193] = $56; + HEAPF32[4271] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11800,22 +11843,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4191] = 0.0; - HEAPF32[4193] = 0.0; + HEAPF32[4269] = 0.0; + HEAPF32[4271] = 0.0; $$sink10 = 0; } - HEAP32[4188] = $$sink10; - HEAPF32[4078] = 0.0; - HEAPF32[(16316)>>2] = 0.0; - HEAP32[4189] = 0; + HEAP32[4266] = $$sink10; + HEAPF32[4156] = 0.0; + HEAPF32[(16628)>>2] = 0.0; + HEAP32[4267] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4192]|0; + $65 = HEAP32[4270]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4192] = 1; + HEAP32[4270] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11824,31 +11867,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16336; + $74 = 16648; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4188]|0; + $78 = HEAP32[4266]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16304>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16304+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16336+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16616+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16648+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4188] = 8; + HEAP32[4266] = 8; } } - $82 = +HEAPF32[4084]; - $83 = +HEAPF32[4078]; + $82 = +HEAPF32[4162]; + $83 = +HEAPF32[4156]; $84 = $82 - $83; - HEAPF32[4082] = $84; - $85 = +HEAPF32[(16340)>>2]; - $86 = +HEAPF32[(16316)>>2]; + HEAPF32[4160] = $84; + $85 = +HEAPF32[(16652)>>2]; + $86 = +HEAPF32[(16628)>>2]; $87 = $85 - $86; - HEAPF32[(16332)>>2] = $87; + HEAPF32[(16644)>>2] = $87; STACKTOP = sp;return; break; } @@ -11857,58 +11900,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4188]|0; + $0 = HEAP32[4266]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4189]|0; + $2 = HEAP32[4267]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4188] = 4; + HEAP32[4266] = 4; } - $4 = HEAP32[4188]|0; + $4 = HEAP32[4266]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11921,14 +11925,14 @@ function _UpdateGestures() { return; } } - HEAP32[4188] = 0; + HEAP32[4266] = 0; return; } function _GetMousePosition($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 = 16368; + $1 = 16680; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11945,13 +11949,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4198]|0; + $0 = HEAP32[4276]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4197]|0; + $0 = HEAP32[4275]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11963,7 +11967,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4229,$vararg_buffer); - HEAP32[4200] = $2; + HEAP32[4278] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11976,15 +11980,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4258|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4198]|0; + $3 = HEAP32[4276]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4092] = $5; - $6 = HEAP32[4197]|0; + HEAPF32[4170] = $5; + $6 = HEAP32[4275]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16372)>>2] = $8; - $9 = HEAP32[4201]|0; + HEAPF32[(16684)>>2] = $8; + $9 = HEAP32[4279]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12003,11 +12007,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16408>>0]=HEAP8[8787>>0]|0;HEAP8[16408+1>>0]=HEAP8[8787+1>>0]|0;HEAP8[16408+2>>0]=HEAP8[8787+2>>0]|0;HEAP8[16408+3>>0]=HEAP8[8787+3>>0]|0;HEAP8[16408+4>>0]=HEAP8[8787+4>>0]|0;HEAP8[16408+5>>0]=HEAP8[8787+5>>0]|0;HEAP8[16408+6>>0]=HEAP8[8787+6>>0]|0; + ;HEAP8[16720>>0]=HEAP8[8787>>0]|0;HEAP8[16720+1>>0]=HEAP8[8787+1>>0]|0;HEAP8[16720+2>>0]=HEAP8[8787+2>>0]|0;HEAP8[16720+3>>0]=HEAP8[8787+3>>0]|0;HEAP8[16720+4>>0]=HEAP8[8787+4>>0]|0;HEAP8[16720+5>>0]=HEAP8[8787+5>>0]|0;HEAP8[16720+6>>0]=HEAP8[8787+6>>0]|0; break; } case 1: { - $3 = 16408; + $3 = 16720; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12016,11 +12020,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16408; src=8794; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16720; src=8794; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16408; + $7 = 16720; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12031,16 +12035,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16408,$1)|0); - $strlen = (_strlen(16408)|0); - $endptr = (16408 + ($strlen)|0); + (_strcat(16720,$1)|0); + $strlen = (_strlen(16720)|0); + $endptr = (16720 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16408,$2)|0); + (_vprintf(16720,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12072,22 +12076,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4198] = $0; - HEAP32[4197] = $1; + HEAP32[4276] = $0; + HEAP32[4275] = $1; _MatrixIdentity($2); - dest=16880; 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)); + dest=17192; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,4929,$vararg_buffer); } - $6 = HEAP32[4198]|0; - HEAP32[4236] = $6; - $7 = HEAP32[4197]|0; - HEAP32[4237] = $7; + $6 = HEAP32[4276]|0; + HEAP32[4314] = $6; + $7 = HEAP32[4275]|0; + HEAP32[4315] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19612]|0; + $8 = HEAP8[19924]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12095,13 +12099,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19612]|0; + $11 = HEAP8[19924]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19612]|0; + $14 = HEAP8[19924]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -12123,18 +12127,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4238]|0; + $21 = HEAP32[4316]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4198]|0; - $48 = HEAP32[4197]|0; - $49 = HEAP32[4200]|0; + $47 = HEAP32[4276]|0; + $48 = HEAP32[4275]|0; + $49 = HEAP32[4278]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4196] = $50; - $51 = HEAP32[4198]|0; - HEAP32[4239] = $51; - $52 = HEAP32[4197]|0; - HEAP32[4240] = $52; + HEAP32[4274] = $50; + $51 = HEAP32[4276]|0; + HEAP32[4317] = $51; + $52 = HEAP32[4275]|0; + HEAP32[4318] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12143,9 +12147,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4198]|0; + $27 = HEAP32[4276]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4197]|0; + $29 = HEAP32[4275]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12167,25 +12171,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4236] = $31; - HEAP32[4237] = $34; + HEAP32[4314] = $31; + HEAP32[4315] = $34; } } while(0); - $38 = HEAP32[4236]|0; - $39 = HEAP32[4237]|0; + $38 = HEAP32[4314]|0; + $39 = HEAP32[4315]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,4980,$vararg_buffer3); - $40 = HEAP32[4236]|0; - $41 = HEAP32[4237]|0; + $40 = HEAP32[4314]|0; + $41 = HEAP32[4315]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4236]|0; - $43 = HEAP32[4237]|0; - $44 = HEAP32[4200]|0; + $42 = HEAP32[4314]|0; + $43 = HEAP32[4315]|0; + $44 = HEAP32[4278]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4196] = $46; + HEAP32[4274] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12194,60 +12198,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5018,$vararg_buffer6); } else { _TraceLog(0,5051,$vararg_buffer8); - $55 = HEAP32[4239]|0; - $56 = HEAP32[4240]|0; + $55 = HEAP32[4317]|0; + $56 = HEAP32[4318]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5091,$vararg_buffer10); - $57 = HEAP32[4198]|0; - $58 = HEAP32[4197]|0; + $57 = HEAP32[4276]|0; + $58 = HEAP32[4275]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5112,$vararg_buffer14); - $59 = HEAP32[4241]|0; - $60 = HEAP32[4242]|0; + $59 = HEAP32[4319]|0; + $60 = HEAP32[4320]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5133,$vararg_buffer18); } - $61 = HEAP32[4196]|0; + $61 = HEAP32[4274]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4196]|0; + $62 = HEAP32[4274]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4196]|0; + $63 = HEAP32[4274]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4196]|0; + $64 = HEAP32[4274]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4196]|0; + $65 = HEAP32[4274]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4196]|0; + $66 = HEAP32[4274]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4196]|0; + $67 = HEAP32[4274]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4196]|0; + $68 = HEAP32[4274]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4196]|0; + $69 = HEAP32[4274]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19612]|0; + $70 = HEAP8[19924]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4198]|0; - $74 = HEAP32[4197]|0; + $73 = HEAP32[4276]|0; + $74 = HEAP32[4275]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4239]|0; - $76 = HEAP32[4241]|0; + $75 = HEAP32[4317]|0; + $76 = HEAP32[4319]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4240]|0; - $80 = HEAP32[4242]|0; + $79 = HEAP32[4318]|0; + $80 = HEAP32[4320]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12266,18 +12270,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5158,$vararg_buffer22); - $73 = HEAP32[4198]|0; - $74 = HEAP32[4197]|0; + $73 = HEAP32[4276]|0; + $74 = HEAP32[4275]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4239]|0; - $76 = HEAP32[4241]|0; + $75 = HEAP32[4317]|0; + $76 = HEAP32[4319]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4240]|0; - $80 = HEAP32[4242]|0; + $79 = HEAP32[4318]|0; + $80 = HEAP32[4320]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12305,7 +12309,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16848)>>2] = 224; + HEAP32[(17160)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12346,27 +12350,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16824>>2]=HEAP32[$1>>2]|0;HEAP32[16824+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16824+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16824+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16824+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17136>>2]=HEAP32[$1>>2]|0;HEAP32[17136+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17136+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17136+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17136+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16848)>>2]|0; + $5 = HEAP32[(17160)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16852)>>2] = $7; + HEAP32[(17164)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16844)>>2] = $23; - $24 = HEAP32[4206]|0; + HEAP32[(17156)>>2] = $23; + $24 = HEAP32[4284]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4453,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16828)>>2]|0; - $10 = HEAP32[(16848)>>2]|0; - $11 = HEAP32[(16852)>>2]|0; + $9 = HEAP32[(17140)>>2]|0; + $10 = HEAP32[(17160)>>2]|0; + $11 = HEAP32[(17164)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12415,8 +12419,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16844)>>2] = $23; - $24 = HEAP32[4206]|0; + HEAP32[(17156)>>2] = $23; + $24 = HEAP32[4284]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4453,$vararg_buffer); STACKTOP = sp;return; @@ -12427,7 +12431,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2050] = $1; + HEAPF64[2089] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12586,7 +12590,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16384; + $31 = 16696; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12599,7 +12603,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16392); + $42 = (16704); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12655,7 +12659,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16808 + ($10<<2)|0); + $11 = (17120 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12669,7 +12673,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2047] = $$; + HEAPF64[2086] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12681,7 +12685,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4201] = 0; + HEAP32[4279] = 0; return; } function _GetTime() { @@ -13257,7 +13261,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4214]|0; + $6 = HEAP32[4292]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13267,7 +13271,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4215]|0; + $9 = HEAP32[4293]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13276,7 +13280,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4216]|0; + $12 = HEAP32[4294]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13286,7 +13290,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4217]|0; + $15 = HEAP32[4295]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13296,7 +13300,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4218]|0; + $18 = HEAP32[4296]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13340,7 +13344,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4214]|0; + $22 = HEAP32[4292]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13348,7 +13352,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4214]|0; + $24 = HEAP32[4292]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13356,7 +13360,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4214]|0; + $26 = HEAP32[4292]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13364,7 +13368,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4214]|0; + $28 = HEAP32[4292]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13372,7 +13376,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4215]|0; + $30 = HEAP32[4293]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13380,7 +13384,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4216]|0; + $32 = HEAP32[4294]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13388,7 +13392,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4216]|0; + $34 = HEAP32[4294]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13396,7 +13400,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4217]|0; + $36 = HEAP32[4295]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13404,7 +13408,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4217]|0; + $38 = HEAP32[4295]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13412,7 +13416,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4218]|0; + $40 = HEAP32[4296]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13420,7 +13424,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4218]|0; + $42 = HEAP32[4296]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13432,7 +13436,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4219]|0; + $44 = HEAP32[4297]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13778,20 +13782,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4198]|0; + $3 = HEAP32[4276]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4197]|0; + $5 = HEAP32[4275]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4239] = $3; - HEAP32[4240] = $5; - HEAP32[4241] = 0; - HEAP32[4242] = 0; + HEAP32[4317] = $3; + HEAP32[4318] = $5; + HEAP32[4319] = 0; + HEAP32[4320] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13805,9 +13809,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4198]|0; + $35 = HEAP32[4276]|0; $36 = (+($35|0)); - $37 = HEAP32[4197]|0; + $37 = HEAP32[4275]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13815,26 +13819,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4239] = $45; - HEAP32[4240] = $37; + HEAP32[4317] = $45; + HEAP32[4318] = $37; $46 = (($45) - ($35))|0; - HEAP32[4241] = $46; + HEAP32[4319] = $46; $$sink1 = 0; } else { - HEAP32[4239] = $35; + HEAP32[4317] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4240] = $42; - HEAP32[4241] = 0; + HEAP32[4318] = $42; + HEAP32[4319] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4242] = $$sink1; + HEAP32[4320] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4197]|0; + $7 = HEAP32[4275]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13844,11 +13848,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8540,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4198]|0; + $9 = HEAP32[4276]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4197]|0; + $13 = HEAP32[4275]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13856,33 +13860,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4239] = $23; - HEAP32[4240] = $1; + HEAP32[4317] = $23; + HEAP32[4318] = $1; $24 = (($0) - ($23))|0; - HEAP32[4241] = $24; + HEAP32[4319] = $24; $$sink = 0; } else { - HEAP32[4239] = $0; - $17 = HEAP32[4197]|0; + HEAP32[4317] = $0; + $17 = HEAP32[4275]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4240] = $20; - HEAP32[4241] = 0; + HEAP32[4318] = $20; + HEAP32[4319] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4242] = $$sink; - $25 = HEAP32[4239]|0; + HEAP32[4320] = $$sink; + $25 = HEAP32[4317]|0; $26 = (+($25|0)); - $27 = HEAP32[4198]|0; + $27 = HEAP32[4276]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16880; 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)); - HEAP32[4239] = $0; - HEAP32[4240] = $1; + dest=17192; 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)); + HEAP32[4317] = $0; + HEAP32[4318] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13904,10 +13908,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4198] = $1; - HEAP32[4197] = $2; - HEAP32[4239] = $1; - HEAP32[4240] = $2; + HEAP32[4276] = $1; + HEAP32[4275] = $2; + HEAP32[4317] = $1; + HEAP32[4318] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13934,7 +13938,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19619 + ($1)|0); + $9 = (19931 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13955,7 +13959,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19613 + ($1)|0); + $7 = (19925 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14034,7 +14038,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16384; + $15 = 16696; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14069,7 +14073,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4612] = $3; + HEAP32[4690] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14079,7 +14083,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4611] = $$sink; + HEAP32[4689] = $$sink; return; } function _rlglInit($0,$1) { @@ -14160,18 +14164,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5290)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4277] = 1; + HEAP32[4355] = 1; $27 = (_eglGetProcAddress((5317|0))|0); - HEAP32[4278] = $27; + HEAP32[4356] = $27; $28 = (_eglGetProcAddress((5338|0))|0); - HEAP32[4279] = $28; + HEAP32[4357] = $28; $29 = (_eglGetProcAddress((5359|0))|0); - HEAP32[4280] = $29; + HEAP32[4358] = $29; } $30 = (_strcmp($24,5383)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4219] = 1; + HEAP32[4297] = 1; } $32 = (_strcmp($24,5403)|0); $33 = ($32|0)==(0); @@ -14193,7 +14197,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4214] = 1; + HEAP32[4292] = 1; } $39 = (_strcmp($24,5508)|0); $40 = ($39|0)==(0); @@ -14209,35 +14213,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4215] = 1; + HEAP32[4293] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5577)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4216] = 1; + HEAP32[4294] = 1; } $47 = (_strcmp($44,5602)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4217] = 1; + HEAP32[4295] = 1; } $49 = (_strcmp($44,5635)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4218] = 1; + HEAP32[4296] = 1; } $51 = (_strcmp($44,5671)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4281] = 1; - _glGetFloatv(34047,(17128|0)); + HEAP32[4359] = 1; + _glGetFloatv(34047,(17440|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5705)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4283] = 1; + HEAP32[4361] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14248,61 +14252,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4277]|0; + $21 = HEAP32[4355]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5808,$vararg_buffer15); } else { _TraceLog(0,5733,$vararg_buffer13); } - $57 = HEAP32[4219]|0; + $57 = HEAP32[4297]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,5944,$vararg_buffer19); } else { _TraceLog(0,5869,$vararg_buffer17); } - $59 = HEAP32[4214]|0; + $59 = HEAP32[4292]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6036,$vararg_buffer21); } - $61 = HEAP32[4215]|0; + $61 = HEAP32[4293]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6082,$vararg_buffer23); } - $63 = HEAP32[4216]|0; + $63 = HEAP32[4294]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6129,$vararg_buffer25); } - $65 = HEAP32[4217]|0; + $65 = HEAP32[4295]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6180,$vararg_buffer27); } - $67 = HEAP32[4218]|0; + $67 = HEAP32[4296]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6227,$vararg_buffer29); } - $69 = HEAP32[4281]|0; + $69 = HEAP32[4359]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4282]; + $71 = +HEAPF32[4360]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6274,$vararg_buffer31); } - $73 = HEAP32[4283]|0; + $73 = HEAP32[4361]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6340,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4284] = $75; + HEAP32[4362] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6444,$vararg_buffer39); @@ -14311,14 +14315,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6393,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17140; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17196; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17452; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17508; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4313] = $77; + HEAP32[4391] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4313]|0; + $79 = HEAP32[4391]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14331,7 +14335,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4314] = $78; + HEAP32[4392] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14346,48 +14350,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4315] = 1; - $85 = HEAP32[4284]|0; + HEAP32[4393] = 1; + $85 = HEAP32[4362]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4316] = 4; + HEAP32[4394] = 4; _MatrixIdentity($4); - dest=17268; src=$4; 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)); + dest=17580; src=$4; 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)); _MatrixIdentity($4); - dest=(17332); src=$4; 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)); + dest=(17644); src=$4; 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)); _MatrixIdentity($4); - dest=(17396); src=$4; 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)); + dest=(17708); src=$4; 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)); _MatrixIdentity($4); - dest=(17460); src=$4; 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)); + dest=(17772); src=$4; 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)); _MatrixIdentity($4); - dest=(17524); src=$4; 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)); + dest=(17836); src=$4; 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)); _MatrixIdentity($4); - dest=(17588); src=$4; 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)); + dest=(17900); src=$4; 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)); _MatrixIdentity($4); - dest=(17652); src=$4; 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)); + dest=(17964); src=$4; 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)); _MatrixIdentity($4); - dest=(17716); src=$4; 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)); + dest=(18028); src=$4; 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)); _MatrixIdentity($4); - dest=(17780); src=$4; 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)); + dest=(18092); src=$4; 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)); _MatrixIdentity($4); - dest=(17844); src=$4; 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)); + dest=(18156); src=$4; 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)); _MatrixIdentity($4); - dest=(17908); src=$4; 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)); + dest=(18220); src=$4; 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)); _MatrixIdentity($4); - dest=(17972); src=$4; 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)); + dest=(18284); src=$4; 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)); _MatrixIdentity($4); - dest=(18036); src=$4; 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)); + dest=(18348); src=$4; 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)); _MatrixIdentity($4); - dest=(18100); src=$4; 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)); + dest=(18412); src=$4; 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)); _MatrixIdentity($4); - dest=(18164); src=$4; 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)); + dest=(18476); src=$4; 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)); _MatrixIdentity($4); - dest=(18228); src=$4; 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)); + dest=(18540); src=$4; 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)); _MatrixIdentity($5); - dest=16976; src=$5; 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)); + dest=17288; src=$5; 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)); _MatrixIdentity($6); - dest=17040; src=$6; 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)); - HEAP32[4243] = 17040; + dest=17352; src=$6; 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)); + HEAP32[4321] = 17352; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14398,21 +14402,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4573] = $0; - HEAP32[4574] = $1; + HEAP32[4651] = $0; + HEAP32[4652] = $1; _TraceLog(0,6483,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4241]|0; + $0 = HEAP32[4319]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4242]|0; + $2 = HEAP32[4320]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4239]|0; + $4 = HEAP32[4317]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4240]|0; + $6 = HEAP32[4318]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14423,12 +14427,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16976; + $modelview$sink = 17288; label = 3; break; } case 5888: { - $modelview$sink = 17040; + $modelview$sink = 17352; label = 3; break; } @@ -14436,9 +14440,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4243] = $modelview$sink; + HEAP32[4321] = $modelview$sink; } - HEAP32[4276] = $0; + HEAP32[4354] = $0; return; } function _rlLoadIdentity() { @@ -14446,7 +14450,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4243]|0; + $1 = HEAP32[4321]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14467,7 +14471,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4243]|0; + $8 = HEAP32[4321]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14564,15 +14568,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18312)>>2] = $0; + HEAP32[(18624)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18320)>>2] = $1; - HEAP32[(18316)>>2] = 0; - HEAP32[(18324)>>2] = 0; + HEAP32[(18632)>>2] = $1; + HEAP32[(18628)>>2] = 0; + HEAP32[(18636)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18320)>>2]|0; + $2 = HEAP32[(18632)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14583,19 +14587,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4575] = 0; - HEAP32[(18308)>>2] = 0; - HEAP32[(18304)>>2] = 0; + HEAP32[4653] = 0; + HEAP32[(18620)>>2] = 0; + HEAP32[(18616)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18360)>>2] = $5; + HEAP32[(18672)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18368)>>2] = $6; - HEAP32[(18364)>>2] = 0; - HEAP32[(18372)>>2] = 0; + HEAP32[(18680)>>2] = $6; + HEAP32[(18676)>>2] = 0; + HEAP32[(18684)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18368)>>2]|0; + $7 = HEAP32[(18680)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14606,24 +14610,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4587] = 0; - HEAP32[(18356)>>2] = 0; - HEAP32[(18352)>>2] = 0; + HEAP32[4665] = 0; + HEAP32[(18668)>>2] = 0; + HEAP32[(18664)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18408)>>2] = $10; + HEAP32[(18720)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18412)>>2] = $11; + HEAP32[(18724)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18416)>>2] = $12; + HEAP32[(18728)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18420)>>2] = $13; - $14 = HEAP32[(18408)>>2]|0; + HEAP32[(18732)>>2] = $13; + $14 = HEAP32[(18720)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18412)>>2]|0; + $15 = HEAP32[(18724)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18416)>>2]|0; + $17 = HEAP32[(18728)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14634,7 +14638,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18420)>>2]|0; + $16 = HEAP32[(18732)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14671,140 +14675,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4599] = 0; - HEAP32[(18400)>>2] = 0; - HEAP32[(18404)>>2] = 0; + HEAP32[4677] = 0; + HEAP32[(18712)>>2] = 0; + HEAP32[(18716)>>2] = 0; _TraceLog(0,6530,$vararg_buffer); - $20 = HEAP32[4277]|0; + $20 = HEAP32[4355]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4278]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18328)); - $44 = HEAP32[4279]|0; - $45 = HEAP32[(18328)>>2]|0; + $43 = HEAP32[4356]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18640)); + $44 = HEAP32[4357]|0; + $45 = HEAP32[(18640)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18332)|0)); - $46 = HEAP32[(18332)>>2]|0; + _glGenBuffers(2,((18644)|0)); + $46 = HEAP32[(18644)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18312)>>2]|0; + $47 = HEAP32[(18624)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17200)>>2]|0; + $48 = HEAP32[(17512)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17200)>>2]|0; + $49 = HEAP32[(17512)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18336)|0)); - $50 = HEAP32[(18336)>>2]|0; + _glGenBuffers(2,((18648)|0)); + $50 = HEAP32[(18648)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18320)>>2]|0; + $51 = HEAP32[(18632)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17220)>>2]|0; + $52 = HEAP32[(17532)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17220)>>2]|0; + $53 = HEAP32[(17532)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4277]|0; + $54 = HEAP32[4355]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18332)>>2]|0; - $58 = HEAP32[(18336)>>2]|0; + $57 = HEAP32[(18644)>>2]|0; + $58 = HEAP32[(18648)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6668,$vararg_buffer3); } else { - $56 = HEAP32[(18328)>>2]|0; + $56 = HEAP32[(18640)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6603,$vararg_buffer1); } - $59 = HEAP32[4277]|0; + $59 = HEAP32[4355]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4278]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18376)); - $62 = HEAP32[4279]|0; - $63 = HEAP32[(18376)>>2]|0; + $61 = HEAP32[4356]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18688)); + $62 = HEAP32[4357]|0; + $63 = HEAP32[(18688)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18380)|0)); - $64 = HEAP32[(18380)>>2]|0; + _glGenBuffers(1,((18692)|0)); + $64 = HEAP32[(18692)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18360)>>2]|0; + $65 = HEAP32[(18672)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17200)>>2]|0; + $66 = HEAP32[(17512)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17200)>>2]|0; + $67 = HEAP32[(17512)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18384)|0)); - $68 = HEAP32[(18384)>>2]|0; + _glGenBuffers(1,((18696)|0)); + $68 = HEAP32[(18696)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18368)>>2]|0; + $69 = HEAP32[(18680)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17220)>>2]|0; + $70 = HEAP32[(17532)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17220)>>2]|0; + $71 = HEAP32[(17532)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4277]|0; + $72 = HEAP32[4355]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18380)>>2]|0; - $76 = HEAP32[(18384)>>2]|0; + $75 = HEAP32[(18692)>>2]|0; + $76 = HEAP32[(18696)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6814,$vararg_buffer10); } else { - $74 = HEAP32[(18376)>>2]|0; + $74 = HEAP32[(18688)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6745,$vararg_buffer7); } - $77 = HEAP32[4277]|0; + $77 = HEAP32[4355]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4278]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18424)); - $80 = HEAP32[4279]|0; - $81 = HEAP32[(18424)>>2]|0; + $79 = HEAP32[4356]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18736)); + $80 = HEAP32[4357]|0; + $81 = HEAP32[(18736)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18428)|0)); - $82 = HEAP32[(18428)>>2]|0; + _glGenBuffers(1,((18740)|0)); + $82 = HEAP32[(18740)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18408)>>2]|0; + $83 = HEAP32[(18720)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17200)>>2]|0; + $84 = HEAP32[(17512)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17200)>>2]|0; + $85 = HEAP32[(17512)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18432)|0)); - $86 = HEAP32[(18432)>>2]|0; + _glGenBuffers(1,((18744)|0)); + $86 = HEAP32[(18744)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18412)>>2]|0; + $87 = HEAP32[(18724)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17204)>>2]|0; + $88 = HEAP32[(17516)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17204)>>2]|0; + $89 = HEAP32[(17516)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18436)|0)); - $90 = HEAP32[(18436)>>2]|0; + _glGenBuffers(1,((18748)|0)); + $90 = HEAP32[(18748)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18416)>>2]|0; + $91 = HEAP32[(18728)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17220)>>2]|0; + $92 = HEAP32[(17532)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17220)>>2]|0; + $93 = HEAP32[(17532)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18440)|0)); - $94 = HEAP32[(18440)>>2]|0; + _glGenBuffers(1,((18752)|0)); + $94 = HEAP32[(18752)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18420)>>2]|0; + $95 = HEAP32[(18732)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4277]|0; + $96 = HEAP32[4355]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18428)>>2]|0; - $100 = HEAP32[(18432)>>2]|0; - $101 = HEAP32[(18436)>>2]|0; - $102 = HEAP32[(18440)>>2]|0; + $99 = HEAP32[(18740)>>2]|0; + $100 = HEAP32[(18744)>>2]|0; + $101 = HEAP32[(18748)>>2]|0; + $102 = HEAP32[(18752)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14814,16 +14818,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,6960,$vararg_buffer17); } else { - $98 = HEAP32[(18424)>>2]|0; + $98 = HEAP32[(18736)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,6895,$vararg_buffer14); } - $103 = HEAP32[4277]|0; + $103 = HEAP32[4355]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4279]|0; + $105 = HEAP32[4357]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15004,9 +15008,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19613 + ($0)|0); + $1 = (19925 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19616 + ($0)|0); + $3 = (19928 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15018,9 +15022,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19613 + ($0)|0); + $1 = (19925 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19616 + ($0)|0); + $3 = (19928 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15041,7 +15045,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4196]|0; + $0 = HEAP32[4274]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8804,$vararg_buffer); @@ -15052,9 +15056,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16824>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16824+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16824+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16824+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16824+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17136>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17136+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17136+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17136+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17136+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16852)>>2]|0; + $0 = HEAP32[(17164)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15065,11 +15069,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17136|0)); - $0 = HEAP32[4284]|0; + _glDeleteTextures(1,(17448|0)); + $0 = HEAP32[4362]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8831,$vararg_buffer); - $1 = HEAP32[4314]|0; + $1 = HEAP32[4392]|0; _free($1); STACKTOP = sp;return; } @@ -15077,17 +15081,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4285]|0; + $0 = HEAP32[4363]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4277]|0; + $0 = HEAP32[4355]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4279]|0; + $2 = HEAP32[4357]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15096,39 +15100,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18332)|0)); - _glDeleteBuffers(1,((18336)|0)); - _glDeleteBuffers(1,((18380)|0)); - _glDeleteBuffers(1,((18384)|0)); - _glDeleteBuffers(1,((18428)|0)); - _glDeleteBuffers(1,((18432)|0)); - _glDeleteBuffers(1,((18436)|0)); - _glDeleteBuffers(1,((18440)|0)); - $3 = HEAP32[4277]|0; + _glDeleteBuffers(1,((18644)|0)); + _glDeleteBuffers(1,((18648)|0)); + _glDeleteBuffers(1,((18692)|0)); + _glDeleteBuffers(1,((18696)|0)); + _glDeleteBuffers(1,((18740)|0)); + _glDeleteBuffers(1,((18744)|0)); + _glDeleteBuffers(1,((18748)|0)); + _glDeleteBuffers(1,((18752)|0)); + $3 = HEAP32[4355]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4280]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18328)); - $6 = HEAP32[4280]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18376)); - $7 = HEAP32[4280]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18424)); + $5 = HEAP32[4358]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18640)); + $6 = HEAP32[4358]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18688)); + $7 = HEAP32[4358]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18736)); } - $8 = HEAP32[(18312)>>2]|0; + $8 = HEAP32[(18624)>>2]|0; _free($8); - $9 = HEAP32[(18320)>>2]|0; + $9 = HEAP32[(18632)>>2]|0; _free($9); - $10 = HEAP32[(18360)>>2]|0; + $10 = HEAP32[(18672)>>2]|0; _free($10); - $11 = HEAP32[(18368)>>2]|0; + $11 = HEAP32[(18680)>>2]|0; _free($11); - $12 = HEAP32[(18408)>>2]|0; + $12 = HEAP32[(18720)>>2]|0; _free($12); - $13 = HEAP32[(18412)>>2]|0; + $13 = HEAP32[(18724)>>2]|0; _free($13); - $14 = HEAP32[(18416)>>2]|0; + $14 = HEAP32[(18728)>>2]|0; _free($14); - $15 = HEAP32[(18420)>>2]|0; + $15 = HEAP32[(18732)>>2]|0; _free($15); return; } @@ -15168,16 +15172,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2067] = $0; - $1 = +HEAPF64[2050]; + HEAPF64[2106] = $0; + $1 = +HEAPF64[2089]; $2 = $0 - $1; - HEAPF64[2068] = $2; - HEAPF64[2050] = $0; + HEAPF64[2107] = $2; + HEAPF64[2089] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16880; 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)); + dest=$downscaleView$byval_copy; src=17192; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18452); + _rlMultMatrixf(18764); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15186,53 +15190,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[4613] = $1; + HEAP32[4691] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18456)>>2] = $3; + HEAP32[(18768)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18460)>>2] = $5; + HEAP32[(18772)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18464)>>2] = $7; + HEAP32[(18776)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18468)>>2] = $9; + HEAP32[(18780)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18472)>>2] = $11; + HEAP32[(18784)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18476)>>2] = $13; + HEAP32[(18788)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18480)>>2] = $15; + HEAP32[(18792)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18484)>>2] = $17; + HEAP32[(18796)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18488)>>2] = $19; + HEAP32[(18800)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18492)>>2] = $21; + HEAP32[(18804)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18496)>>2] = $23; + HEAP32[(18808)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18500)>>2] = $25; + HEAP32[(18812)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18504)>>2] = $27; + HEAP32[(18816)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18508)>>2] = $29; + HEAP32[(18820)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18512)>>2] = $31; - return (18452|0); + HEAP32[(18824)>>2] = $31; + return (18764|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15307,7 +15311,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4243]|0; + $49 = HEAP32[4321]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15321,15 +15325,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2067] = $0; - $1 = +HEAPF64[2050]; + HEAPF64[2106] = $0; + $1 = +HEAPF64[2089]; $2 = $0 - $1; - HEAPF64[2069] = $2; - HEAPF64[2050] = $0; - $3 = +HEAPF64[2068]; + HEAPF64[2108] = $2; + HEAPF64[2089] = $0; + $3 = +HEAPF64[2107]; $4 = $2 + $3; - HEAPF64[2070] = $4; - $5 = +HEAPF64[2047]; + HEAPF64[2109] = $4; + $5 = +HEAPF64[2086]; $6 = $4 < $5; if (!($6)) { return; @@ -15339,13 +15343,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2067] = $10; - $11 = +HEAPF64[2050]; + HEAPF64[2106] = $10; + $11 = +HEAPF64[2089]; $12 = $10 - $11; - HEAPF64[2050] = $10; - $13 = +HEAPF64[2070]; + HEAPF64[2089] = $10; + $13 = +HEAPF64[2109]; $14 = $12 + $13; - HEAPF64[2070] = $14; + HEAPF64[2109] = $14; return; } function _rlglDraw() { @@ -15358,7 +15362,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4196]|0; + $0 = HEAP32[4274]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15374,20 +15378,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[749] = -1; HEAP32[751] = -1; - HEAP32[4629] = 0; - $3 = HEAP32[4196]|0; + HEAP32[4707] = 0; + $3 = HEAP32[4274]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4092] = $5; + HEAPF32[4170] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16372)>>2] = $7; - _memcpy((20131|0),(19619|0),512)|0; - ;HEAP8[19616>>0]=HEAP8[19613>>0]|0;HEAP8[19616+1>>0]=HEAP8[19613+1>>0]|0;HEAP8[19616+2>>0]=HEAP8[19613+2>>0]|0; - $8 = HEAP32[4612]|0; - HEAP32[4199] = $8; - HEAP32[4612] = 0; + HEAPF32[(16684)>>2] = $7; + _memcpy((20443|0),(19931|0),512)|0; + ;HEAP8[19928>>0]=HEAP8[19925>>0]|0;HEAP8[19928+1>>0]=HEAP8[19925+1>>0]|0;HEAP8[19928+2>>0]=HEAP8[19925+2>>0]|0; + $8 = HEAP32[4690]|0; + HEAP32[4277] = $8; + HEAP32[4690] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15397,8 +15401,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20643 + ($$05160<<5)|0); - $scevgep67 = (20771 + ($$05160<<5)|0); + $scevgep = (20955 + ($$05160<<5)|0); + $scevgep67 = (21083 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15412,7 +15416,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20771 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((21083 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[751] = $$04857; @@ -15439,7 +15443,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18520 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18832 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15455,7 +15459,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4629] = $$lcssa; + HEAP32[4707] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15496,87 +15500,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4575]|0; + $0 = HEAP32[4653]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4277]|0; + $2 = HEAP32[4355]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4279]|0; - $5 = HEAP32[(18328)>>2]|0; + $4 = HEAP32[4357]|0; + $5 = HEAP32[(18640)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18332)>>2]|0; + $6 = HEAP32[(18644)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4575]|0; + $7 = HEAP32[4653]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18312)>>2]|0; + $9 = HEAP32[(18624)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18336)>>2]|0; + $10 = HEAP32[(18648)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18308)>>2]|0; + $11 = HEAP32[(18620)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18320)>>2]|0; + $13 = HEAP32[(18632)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4587]|0; + $14 = HEAP32[4665]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4277]|0; + $16 = HEAP32[4355]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4279]|0; - $19 = HEAP32[(18376)>>2]|0; + $18 = HEAP32[4357]|0; + $19 = HEAP32[(18688)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18380)>>2]|0; + $20 = HEAP32[(18692)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4587]|0; + $21 = HEAP32[4665]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18360)>>2]|0; + $23 = HEAP32[(18672)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18384)>>2]|0; + $24 = HEAP32[(18696)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18356)>>2]|0; + $25 = HEAP32[(18668)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18368)>>2]|0; + $27 = HEAP32[(18680)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4599]|0; + $28 = HEAP32[4677]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4277]|0; + $30 = HEAP32[4355]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4279]|0; - $33 = HEAP32[(18424)>>2]|0; + $32 = HEAP32[4357]|0; + $33 = HEAP32[(18736)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18428)>>2]|0; + $34 = HEAP32[(18740)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4599]|0; + $35 = HEAP32[4677]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18408)>>2]|0; + $37 = HEAP32[(18720)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18432)>>2]|0; + $38 = HEAP32[(18744)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4599]|0; + $39 = HEAP32[4677]|0; $40 = $39 << 3; - $41 = HEAP32[(18412)>>2]|0; + $41 = HEAP32[(18724)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18436)>>2]|0; + $42 = HEAP32[(18748)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4599]|0; + $43 = HEAP32[4677]|0; $44 = $43 << 2; - $45 = HEAP32[(18416)>>2]|0; + $45 = HEAP32[(18728)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4277]|0; + $46 = HEAP32[4355]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4279]|0; + $48 = HEAP32[4357]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15594,9 +15598,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16976; 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)); - dest=$1; src=17040; 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)); - $3 = HEAP32[4662]|0; + dest=$0; src=17288; 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)); + dest=$1; src=17352; 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)); + $3 = HEAP32[4740]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15606,134 +15610,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4575]|0; + $8 = HEAP32[4653]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4587]|0; + $10 = HEAP32[4665]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4599]|0; + $12 = HEAP32[4677]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4299]|0; + $14 = HEAP32[4377]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=17040; 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)); - dest=$$byval_copy2; src=16976; 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)); + dest=$modelview$byval_copy; src=17352; 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)); + dest=$$byval_copy2; src=17288; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17224)>>2]|0; + $15 = HEAP32[(17536)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17228)>>2]|0; + $17 = HEAP32[(17540)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17240)>>2]|0; + $18 = HEAP32[(17552)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4575]|0; + $19 = HEAP32[4653]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4284]|0; + $21 = HEAP32[4362]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4277]|0; + $22 = HEAP32[4355]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18332)>>2]|0; + $26 = HEAP32[(18644)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17200)>>2]|0; + $27 = HEAP32[(17512)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17200)>>2]|0; + $28 = HEAP32[(17512)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18336)>>2]|0; + $29 = HEAP32[(18648)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17220)>>2]|0; + $30 = HEAP32[(17532)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17220)>>2]|0; + $31 = HEAP32[(17532)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4279]|0; - $25 = HEAP32[(18328)>>2]|0; + $24 = HEAP32[4357]|0; + $25 = HEAP32[(18640)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4575]|0; + $32 = HEAP32[4653]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4277]|0; + $33 = HEAP32[4355]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4587]|0; + $35 = HEAP32[4665]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4284]|0; + $37 = HEAP32[4362]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4277]|0; + $38 = HEAP32[4355]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18380)>>2]|0; + $42 = HEAP32[(18692)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17200)>>2]|0; + $43 = HEAP32[(17512)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17200)>>2]|0; + $44 = HEAP32[(17512)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18384)>>2]|0; + $45 = HEAP32[(18696)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17220)>>2]|0; + $46 = HEAP32[(17532)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17220)>>2]|0; + $47 = HEAP32[(17532)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4279]|0; - $41 = HEAP32[(18376)>>2]|0; + $40 = HEAP32[4357]|0; + $41 = HEAP32[(18688)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4587]|0; + $48 = HEAP32[4665]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4277]|0; + $49 = HEAP32[4355]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4599]|0; + $51 = HEAP32[4677]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4277]|0; + $53 = HEAP32[4355]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18428)>>2]|0; + $57 = HEAP32[(18740)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17200)>>2]|0; + $58 = HEAP32[(17512)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17200)>>2]|0; + $59 = HEAP32[(17512)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18432)>>2]|0; + $60 = HEAP32[(18744)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17204)>>2]|0; + $61 = HEAP32[(17516)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17204)>>2]|0; + $62 = HEAP32[(17516)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18436)>>2]|0; + $63 = HEAP32[(18748)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17220)>>2]|0; + $64 = HEAP32[(17532)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17220)>>2]|0; + $65 = HEAP32[(17532)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18440)>>2]|0; + $66 = HEAP32[(18752)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4279]|0; - $56 = HEAP32[(18424)>>2]|0; + $55 = HEAP32[4357]|0; + $56 = HEAP32[(18736)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4315]|0; + $67 = HEAP32[4393]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4314]|0; + $71 = HEAP32[4392]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15744,14 +15748,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4314]|0; + $80 = HEAP32[4392]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4315]|0; + $87 = HEAP32[4393]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15760,7 +15764,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4277]|0; + $69 = HEAP32[4355]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15768,10 +15772,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4277]|0; + $89 = HEAP32[4355]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4279]|0; + $91 = HEAP32[4357]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15783,22 +15787,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4315] = 1; - $5 = HEAP32[4284]|0; - $6 = HEAP32[4314]|0; + HEAP32[4393] = 1; + $5 = HEAP32[4362]|0; + $6 = HEAP32[4392]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4575] = 0; - HEAP32[(18308)>>2] = 0; - HEAP32[4587] = 0; - HEAP32[(18356)>>2] = 0; - HEAP32[4599] = 0; - HEAP32[(18400)>>2] = 0; - HEAP32[(18404)>>2] = 0; + HEAP32[4653] = 0; + HEAP32[(18620)>>2] = 0; + HEAP32[4665] = 0; + HEAP32[(18668)>>2] = 0; + HEAP32[4677] = 0; + HEAP32[(18712)>>2] = 0; + HEAP32[(18716)>>2] = 0; HEAPF32[752] = -1.0; - dest=16976; src=$0; 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)); - dest=17040; src=$1; 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)); + dest=17288; src=$0; 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)); + dest=17352; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15813,17 +15817,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[4573]|0; + $5 = HEAP32[4651]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4574]|0; + $9 = HEAP32[4652]|0; _rlViewport($7,0,$8,$9); - $10 = (18880 + ($0<<6)|0); + $10 = (19192 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18752 + ($0<<6)|0); + $11 = (19064 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -15835,14 +15839,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17040; src=$0; 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)); + dest=17352; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16976; src=$0; 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)); + dest=17288; src=$0; 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)); return; } function _rlPushMatrix() { @@ -15850,43 +15854,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4752]|0; + $0 = HEAP32[4830]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,8946,$vararg_buffer); } - $2 = HEAP32[4752]|0; - $3 = (17268 + ($2<<6)|0); - $4 = HEAP32[4243]|0; + $2 = HEAP32[4830]|0; + $3 = (17580 + ($2<<6)|0); + $4 = HEAP32[4321]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[4752]|0; + $5 = HEAP32[4830]|0; $6 = (($5) + 1)|0; - HEAP32[4752] = $6; - $7 = HEAP32[4276]|0; + HEAP32[4830] = $6; + $7 = HEAP32[4354]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4753] = 1; + HEAP32[4831] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4752]|0; + $0 = HEAP32[4830]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4752]|0; + $2 = HEAP32[4830]|0; $3 = (($2) + -1)|0; - $4 = (17268 + ($3<<6)|0); - $5 = HEAP32[4243]|0; + $4 = (17580 + ($3<<6)|0); + $5 = HEAP32[4321]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4752] = $6; + HEAP32[4830] = $6; return; } function _IsFileExtension($0,$1) { @@ -15910,9 +15914,9 @@ function _IsKeyPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19619 + ($0)|0); + $1 = (19931 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (20131 + ($0)|0); + $3 = (20443 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15933,7 +15937,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4243]|0; + $5 = HEAP32[4321]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15966,7 +15970,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4243]|0; + $11 = HEAP32[4321]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15977,7 +15981,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4316] = $0; + HEAP32[4394] = $0; return; } function _rlEnd() { @@ -15993,21 +15997,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4753]|0; + $0 = HEAP32[4831]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4754]|0; + $2 = HEAP32[4832]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4313]|0; + $6 = HEAP32[4391]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4243]|0; + $8 = HEAP32[4321]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4754]|0; + $5 = HEAP32[4832]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16015,12 +16019,12 @@ function _rlEnd() { break; } } - HEAP32[4753] = 0; + HEAP32[4831] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4313]|0; + $11 = HEAP32[4391]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16029,7 +16033,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4754]|0; + $19 = HEAP32[4832]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16039,15 +16043,15 @@ function _rlEnd() { } } } else { - HEAP32[4753] = 0; + HEAP32[4831] = 0; } - HEAP32[4754] = 0; + HEAP32[4832] = 0; } - $21 = HEAP32[4316]|0; + $21 = HEAP32[4394]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4575]|0; - $23 = HEAP32[(18308)>>2]|0; + $22 = HEAP32[4653]|0; + $23 = HEAP32[(18620)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[752]; @@ -16066,16 +16070,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18320)>>2]|0; - $28 = HEAP32[(18308)>>2]|0; + $27 = HEAP32[(18632)>>2]|0; + $28 = HEAP32[(18620)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18320)>>2]|0; - $35 = HEAP32[(18308)>>2]|0; + $34 = HEAP32[(18632)>>2]|0; + $35 = HEAP32[(18620)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16083,8 +16087,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18320)>>2]|0; - $43 = HEAP32[(18308)>>2]|0; + $42 = HEAP32[(18632)>>2]|0; + $43 = HEAP32[(18620)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16092,8 +16096,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18320)>>2]|0; - $51 = HEAP32[(18308)>>2]|0; + $50 = HEAP32[(18632)>>2]|0; + $51 = HEAP32[(18620)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16101,9 +16105,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18308)>>2]|0; + $58 = HEAP32[(18620)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18308)>>2] = $59; + HEAP32[(18620)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16119,8 +16123,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4587]|0; - $62 = HEAP32[(18356)>>2]|0; + $61 = HEAP32[4665]|0; + $62 = HEAP32[(18668)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[752]; @@ -16139,16 +16143,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18368)>>2]|0; - $67 = HEAP32[(18356)>>2]|0; + $66 = HEAP32[(18680)>>2]|0; + $67 = HEAP32[(18668)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18368)>>2]|0; - $74 = HEAP32[(18356)>>2]|0; + $73 = HEAP32[(18680)>>2]|0; + $74 = HEAP32[(18668)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16156,8 +16160,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18368)>>2]|0; - $82 = HEAP32[(18356)>>2]|0; + $81 = HEAP32[(18680)>>2]|0; + $82 = HEAP32[(18668)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16165,8 +16169,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18368)>>2]|0; - $90 = HEAP32[(18356)>>2]|0; + $89 = HEAP32[(18680)>>2]|0; + $90 = HEAP32[(18668)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16174,9 +16178,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18356)>>2]|0; + $97 = HEAP32[(18668)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18356)>>2] = $98; + HEAP32[(18668)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16192,8 +16196,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4599]|0; - $101 = HEAP32[(18404)>>2]|0; + $100 = HEAP32[4677]|0; + $101 = HEAP32[(18716)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16201,16 +16205,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18416)>>2]|0; - $106 = HEAP32[(18404)>>2]|0; + $105 = HEAP32[(18728)>>2]|0; + $106 = HEAP32[(18716)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18416)>>2]|0; - $113 = HEAP32[(18404)>>2]|0; + $112 = HEAP32[(18728)>>2]|0; + $113 = HEAP32[(18716)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16218,8 +16222,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18416)>>2]|0; - $121 = HEAP32[(18404)>>2]|0; + $120 = HEAP32[(18728)>>2]|0; + $121 = HEAP32[(18716)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16227,8 +16231,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18416)>>2]|0; - $129 = HEAP32[(18404)>>2]|0; + $128 = HEAP32[(18728)>>2]|0; + $129 = HEAP32[(18716)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16236,9 +16240,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18404)>>2]|0; + $136 = HEAP32[(18716)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18404)>>2] = $137; + HEAP32[(18716)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16249,8 +16253,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4599]|0; - $140 = HEAP32[(18400)>>2]|0; + $139 = HEAP32[4677]|0; + $140 = HEAP32[(18712)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[752]; @@ -16258,8 +16262,8 @@ function _rlEnd() { HEAPF32[752] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18412)>>2]|0; - $$promoted = HEAP32[(18400)>>2]|0; + $142 = HEAP32[(18724)>>2]|0; + $$promoted = HEAP32[(18712)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16267,7 +16271,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18400)>>2] = $147; + HEAP32[(18712)>>2] = $147; $148 = +HEAPF32[752]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[752] = $149; @@ -16294,11 +16298,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4753]|0; + $3 = HEAP32[4831]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4313]|0; - $6 = HEAP32[4754]|0; + $5 = HEAP32[4391]|0; + $6 = HEAP32[4832]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16306,16 +16310,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4754] = $10; + HEAP32[4832] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4316]|0; + $11 = HEAP32[4394]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4575]|0; + $12 = HEAP32[4653]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18312)>>2]|0; + $14 = HEAP32[(18624)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16326,7 +16330,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4575] = $21; + HEAP32[4653] = $21; STACKTOP = sp;return; } else { _TraceLog(1,8984,$vararg_buffer); @@ -16335,10 +16339,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4587]|0; + $22 = HEAP32[4665]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18360)>>2]|0; + $24 = HEAP32[(18672)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16349,7 +16353,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4587] = $31; + HEAP32[4665] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9009,$vararg_buffer1); @@ -16358,10 +16362,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4599]|0; + $32 = HEAP32[4677]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18408)>>2]|0; + $34 = HEAP32[(18720)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16372,9 +16376,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4599] = $41; - $42 = HEAP32[4314]|0; - $43 = HEAP32[4315]|0; + HEAP32[4677] = $41; + $42 = HEAP32[4392]|0; + $43 = HEAP32[4393]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16417,13 +16421,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4316]|0; + $2 = HEAP32[4394]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18412)>>2]|0; - $5 = HEAP32[(18400)>>2]|0; + $4 = HEAP32[(18724)>>2]|0; + $5 = HEAP32[(18712)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16431,7 +16435,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18400)>>2] = $10; + HEAP32[(18712)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16450,18 +16454,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4316]|0; + $4 = HEAP32[4394]|0; switch ($4|0) { case 1: { - $$sink37 = (18308);$$sink38 = (18320); + $$sink37 = (18620);$$sink38 = (18632); break; } case 4: { - $$sink37 = (18356);$$sink38 = (18368); + $$sink37 = (18668);$$sink38 = (18680); break; } case 7: { - $$sink37 = (18404);$$sink38 = (18416); + $$sink37 = (18716);$$sink38 = (18728); break; } default: { @@ -16500,8 +16504,8 @@ function _rlEnableTexture($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 = HEAP32[4314]|0; - $2 = HEAP32[4315]|0; + $1 = HEAP32[4392]|0; + $2 = HEAP32[4393]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16514,9 +16518,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4315] = $10; + HEAP32[4393] = $10; } - $11 = HEAP32[4315]|0; + $11 = HEAP32[4393]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16527,7 +16531,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4599]|0; + $0 = HEAP32[4677]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16585,7 +16589,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4284]|0; + $1 = HEAP32[4362]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -16830,40 +16834,11 @@ function _DrawRectangleLines($0,$1,$2,$3,$4) { _DrawRectangle($0,$26,1,$27,$$byval_copy3); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9101); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10434)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4755] = $0; + HEAP32[4833] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16927,7 +16902,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9113|0),(9139|0),1125,(9162|0)); + ___assert_fail((9101|0),(9127|0),1041,(9150|0)); // unreachable; } } @@ -16945,7 +16920,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4756]|0; + $15 = HEAP32[4834]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -17038,7 +17013,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9203); + _stbi__err(9191); $$0 = 0; return ($$0|0); } else { @@ -17060,7 +17035,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9194); + _stbi__err(9182); $$0 = 0; return ($$0|0); } @@ -17130,7 +17105,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9222); + _stbi__err(9210); $$045 = 0; return ($$045|0); } @@ -17691,7 +17666,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9538 + ($120)|0); + $121 = (9526 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17733,97 +17708,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9312); + _stbi__err(9300); $$6$ph = 0; break; } case 9: { - _stbi__err(9326); + _stbi__err(9314); $$6$ph = 0; break; } case 11: { - _stbi__err(9339); + _stbi__err(9327); $$6$ph = 0; break; } case 13: { - _stbi__err(9339); + _stbi__err(9327); $$6$ph = 0; break; } case 15: { - _stbi__err(9349); + _stbi__err(9337); $$6$ph = 0; break; } case 17: { - _stbi__err(9369); + _stbi__err(9357); $$6$ph = 0; break; } case 20: { - _stbi__err(9369); + _stbi__err(9357); $$6$ph = 0; break; } case 22: { - _stbi__err(9369); + _stbi__err(9357); $$6$ph = 0; break; } case 24: { - _stbi__err(9379); + _stbi__err(9367); $$6$ph = 0; break; } case 26: { - _stbi__err(9395); + _stbi__err(9383); $$6$ph = 0; break; } case 28: { - _stbi__err(9413); + _stbi__err(9401); $$6$ph = 0; break; } case 31: { - _stbi__err(9434); + _stbi__err(9422); $$6$ph = 0; break; } case 34: { - _stbi__err(9339); + _stbi__err(9327); $$6$ph = 0; break; } case 37: { - _stbi__err(9339); + _stbi__err(9327); $$6$ph = 0; break; } case 39: { - _stbi__err(9448); + _stbi__err(9436); $$6$ph = 0; break; } case 41: { - _stbi__err(9463); + _stbi__err(9451); $$6$ph = 0; break; } case 44: { - _stbi__err(9463); + _stbi__err(9451); $$6$ph = 0; break; } case 47: { - _stbi__err(9448); + _stbi__err(9436); $$6$ph = 0; break; } case 49: { - _stbi__err(9476); + _stbi__err(9464); $$6$ph = 0; break; } @@ -17834,32 +17809,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9492); + _stbi__err(9480); $$6$ph = 0; break; } case 58: { - _stbi__err(9509); + _stbi__err(9497); $$6$ph = 0; break; } case 61: { - _stbi__err(9522); + _stbi__err(9510); $$6$ph = 0; break; } case 63: { - _stbi__err(9509); + _stbi__err(9497); $$6$ph = 0; break; } case 70: { - _stbi__err(9448); + _stbi__err(9436); $$6$ph = 0; break; } case 72: { - _stbi__err(9547); + _stbi__err(9535); $$6$ph = 0; break; } @@ -17871,12 +17846,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9194); + _stbi__err(9182); $$6$ph = 0; break; } case 83: { - _stbi__err(9555); + _stbi__err(9543); $$6$ph = 0; break; } @@ -17889,7 +17864,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9565); + _stbi__err(9553); $$4 = 0; break; } @@ -17954,7 +17929,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4757]|0; + $193 = HEAP32[4835]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17987,7 +17962,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9448); + _stbi__err(9436); $$4 = 0; } } while(0); @@ -17995,24 +17970,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9448); + _stbi__err(9436); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9573] = $206; + HEAP8[9561] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9574)>>0] = $209; + HEAP8[(9562)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9575)>>0] = $211; + HEAP8[(9563)>>0] = $211; $212 = $207&255; - HEAP8[(9576)>>0] = $212; - _stbi__err(9573); + HEAP8[(9564)>>0] = $212; + _stbi__err(9561); $$6$ph = 0; break; } @@ -18046,14 +18021,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9235|0),(9139|0),1561,(9291|0)); + ___assert_fail((9223|0),(9127|0),1477,(9279|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9194); + _stbi__err(9182); $$0163 = 0; return ($$0163|0); } @@ -18416,7 +18391,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9289|0),(9139|0),1590,(9291|0)); + ___assert_fail((9277|0),(9127|0),1506,(9279|0)); // unreachable; } } while(0); @@ -18450,7 +18425,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9235|0),(9139|0),1610,(9266|0)); + ___assert_fail((9223|0),(9127|0),1526,(9254|0)); // unreachable; } $7 = $2 << 1; @@ -18460,7 +18435,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9194); + _stbi__err(9182); $$0163 = 0; return ($$0163|0); } @@ -18823,7 +18798,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9289|0),(9139|0),1639,(9266|0)); + ___assert_fail((9277|0),(9127|0),1555,(9254|0)); // unreachable; } } while(0); @@ -18971,7 +18946,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10230); + _stbi__err(10538); $$05 = 0; return ($$05|0); } @@ -19408,7 +19383,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9632|0),(9139|0),4568,(9684|0)); + ___assert_fail((9620|0),(9127|0),4569,(9672|0)); // unreachable; } } @@ -19495,7 +19470,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9632|0),(9139|0),4543,(9657|0)); + ___assert_fail((9620|0),(9127|0),4544,(9645|0)); // unreachable; } } @@ -19542,7 +19517,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4758]|0; + $16 = HEAP32[4836]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19617,7 +19592,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9598|0),(9139|0),4649,(9616|0)); + ___assert_fail((9586|0),(9127|0),4650,(9604|0)); // unreachable; } } @@ -19640,7 +19615,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9194); + _stbi__err(9182); $$0 = 0; return ($$0|0); } @@ -19817,7 +19792,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9713|0),(9139|0),4294,(9754|0)); + ___assert_fail((9701|0),(9127|0),4294,(9742|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19825,7 +19800,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9194); + _stbi__err(9182); $$2 = 0; return ($$2|0); } @@ -19844,7 +19819,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9781); + _stbi__err(9769); $$2 = 0; return ($$2|0); } @@ -19857,7 +19832,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9781); + _stbi__err(9769); $$2 = 0; return ($$2|0); } @@ -19865,12 +19840,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19893,33 +19868,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9820 + ($56)|0); + $60 = (9808 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19929,24 +19904,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19956,10 +19931,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19970,10 +19945,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19984,14 +19959,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -20021,7 +19996,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -20036,12 +20011,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20618,15 +20593,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9799|0),(9139|0),4315,(9754|0)); + ___assert_fail((9787|0),(9127|0),4315,(9742|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9825|0),(9139|0),4376,(9754|0)); + ___assert_fail((9813|0),(9127|0),4377,(9742|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9842); + _stbi__err(9830); $$2 = 0; return ($$2|0); } @@ -20676,7 +20651,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9538 + ($6)|0); + $336 = (9526 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -21117,7 +21092,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9857|0),(9139|0),4465,(9754|0)); + ___assert_fail((9845|0),(9127|0),4466,(9742|0)); // unreachable; } else if ((label|0) == 151) { @@ -21177,8 +21152,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -21193,15 +21168,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -21210,65 +21185,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20930)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9856,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,20931,288)|0); + $15 = (_stbi__zbuild_huffman($8,10144,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,20899,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -21287,14 +21257,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10183); + _stbi__err(10491); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10199); + _stbi__err(10507); $$0 = 0; return ($$0|0); } @@ -21303,7 +21273,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10214); + _stbi__err(10522); $$0 = 0; return ($$0|0); } @@ -21386,7 +21356,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10105|0),(9139|0),4048,(10122|0)); + ___assert_fail((10413|0),(9127|0),4033,(10430|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -21423,7 +21393,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10153); + _stbi__err(10461); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21433,7 +21403,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10166); + _stbi__err(10474); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21463,21 +21433,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20931|0),8,144)|0; - dest=(21075); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21187); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21211); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20899; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21611,7 +21566,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10043); + _stbi__err(10351); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21700,7 +21655,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10095); + _stbi__err(10403); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21729,7 +21684,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10889 + ($$06579)|0); + $14 = (11197 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21820,21 +21775,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10043); + _stbi__err(10351); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10043); + _stbi__err(10351); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10059|0),(9139|0),4021,(10067|0)); + ___assert_fail((10367|0),(9127|0),4006,(10375|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10043); + _stbi__err(10351); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21844,7 +21799,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10043); + _stbi__err(10351); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22008,7 +21963,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9868); + _stbi__err(10176); $$3$ph = 0; return ($$3$ph|0); } @@ -22018,12 +21973,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9868); + _stbi__err(10176); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9885); + _stbi__err(10193); $$3$ph = 0; return ($$3$ph|0); } @@ -22080,7 +22035,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9894); + _stbi__err(10202); $$0 = 0; return ($$0|0); } @@ -22106,7 +22061,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9194); + _stbi__err(9182); $$0 = 0; return ($$0|0); } else { @@ -22151,7 +22106,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((9990|0),(9139|0),3863,(10027|0)); + ___assert_fail((10298|0),(9127|0),3848,(10335|0)); // unreachable; } else if ((label|0) == 5) { @@ -22199,7 +22154,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9914|0),(9139|0),3891,(9930|0)); + ___assert_fail((10222|0),(9127|0),3876,(10238|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -22227,7 +22182,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((9961|0),(9139|0),3781,(9972|0)); + ___assert_fail((10269|0),(9127|0),3766,(10280|0)); // unreachable; } return (0)|0; @@ -22373,10 +22328,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -22387,27 +22342,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10242)|0); + $6 = (_IsFileExtension($1,10550)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10295)|0); + $19 = (_IsFileExtension($1,10603)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10300,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10608,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10742)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -22435,7 +22391,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -22452,18 +22408,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10248,$vararg_buffer); + _TraceLog(2,10556,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -22472,34 +22428,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10336,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,10644,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10375,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10683,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22518,11 +22481,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10434)|0); + $4 = (_fopen($0,10742)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10437,$vararg_buffer); + _TraceLog(2,10745,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22621,7 +22584,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10534,$vararg_buffer4); + _TraceLog(0,10842,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22656,14 +22619,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10580,$vararg_buffer8); + _TraceLog(2,10888,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10488,$vararg_buffer1); + _TraceLog(2,10796,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22753,7 +22716,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10406,$vararg_buffer); + _TraceLog(2,10714,$vararg_buffer); $$0 = $6; } } @@ -22798,27 +22761,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10630,$vararg_buffer); + _TraceLog(2,10938,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10669,$vararg_buffer1); + _TraceLog(2,10977,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10695,$vararg_buffer3); + _TraceLog(2,11003,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10758,$vararg_buffer5); + _TraceLog(2,11066,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10793,$vararg_buffer7); + _TraceLog(2,11101,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10828,$vararg_buffer10); + _TraceLog(0,11136,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -24001,7 +23964,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10885 + ($$361133)|0); + $199 = (11193 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -24431,7 +24394,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10885 + ($$331130)|0); + $186 = (11193 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -24469,7 +24432,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10885 + ($$371134)|0); + $203 = (11193 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24508,7 +24471,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10889 + ($$421139)|0); + $235 = (11197 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24915,7 +24878,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10908 + ($495)|0); + $496 = (11216 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24952,7 +24915,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10912 + ($515)|0); + $516 = (11220 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25868,7 +25831,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16824>>2]|0;HEAP32[$0+4>>2]=HEAP32[16824+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16824+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16824+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16824+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16824+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16824+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16824+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17136>>2]|0;HEAP32[$0+4>>2]=HEAP32[17136+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17136+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17136+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17136+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17136+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17136+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17136+28>>2]|0; return; } function _MeasureTextEx($0,$1,$2,$3,$4) { @@ -27026,7 +26989,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,10916)|0); + $12 = (_strstr($11,11224)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -27035,7 +26998,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,10920)|0); + $17 = (_strstr($16,11228)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -27044,7 +27007,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,10924)|0); + $22 = (_strstr($21,11232)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -27053,7 +27016,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,10928)|0); + $27 = (_strstr($26,11236)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -27062,1210 +27025,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,10934)|0); + $32 = (_strcmp($31,11242)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,10972)|0); + $35 = (_strcmp($34,11280)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 10991; + HEAP32[$3>>2] = 11299; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11004)|0); + $38 = (_strcmp($37,11312)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11025; + HEAP32[$3>>2] = 11333; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11040)|0); + $41 = (_strcmp($40,11348)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11055; + HEAP32[$3>>2] = 11363; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11070)|0); + $44 = (_strcmp($43,11378)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11085; + HEAP32[$3>>2] = 11393; } } else { - HEAP32[$3>>2] = 10956; + HEAP32[$3>>2] = 11264; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11100)|0); + $47 = (_strcmp($46,11408)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11114)|0); + $50 = (_strcmp($49,11422)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11126)|0); + $53 = (_strcmp($52,11434)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11140)|0); + $56 = (_strcmp($55,11448)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11152)|0); + $59 = (_strcmp($58,11460)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11166)|0); + $62 = (_strcmp($61,11474)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11180)|0); + $65 = (_strcmp($64,11488)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11197)|0); + $68 = (_strcmp($67,11505)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11220)|0); + $71 = (_strcmp($70,11528)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11246)|0); + $74 = (_strcmp($73,11554)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11259)|0); + $77 = (_strcmp($76,11567)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11275)|0); + $80 = (_strcmp($79,11583)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11288)|0); + $83 = (_strcmp($82,11596)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11302)|0); + $86 = (_strcmp($85,11610)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11322)|0); + $89 = (_strcmp($88,11630)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11342)|0); + $92 = (_strcmp($91,11650)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11359)|0); + $95 = (_strcmp($94,11667)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11376)|0); + $98 = (_strcmp($97,11684)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11388)|0); + $101 = (_strcmp($100,11696)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11401)|0); + $104 = (_strcmp($103,11709)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11417)|0); + $107 = (_strcmp($106,11725)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11440)|0); + $110 = (_strcmp($109,11748)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11453)|0); + $113 = (_strcmp($112,11761)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11469)|0); + $116 = (_strcmp($115,11777)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11480)|0); + $119 = (_strcmp($118,11788)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11499)|0); + $122 = (_strcmp($121,11807)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11521)|0); + $125 = (_strcmp($124,11829)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11540)|0); + $128 = (_strcmp($127,11848)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11569)|0); + $131 = (_strcmp($130,11877)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11586)|0); + $134 = (_strcmp($133,11894)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11601)|0); + $137 = (_strcmp($136,11909)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11616)|0); + $140 = (_strcmp($139,11924)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11637)|0); + $143 = (_strcmp($142,11945)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11657)|0); + $146 = (_strcmp($145,11965)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11677)|0); + $149 = (_strcmp($148,11985)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11703)|0); + $152 = (_strcmp($151,12011)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11722)|0); + $155 = (_strcmp($154,12030)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11734)|0); + $158 = (_strcmp($157,12042)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11746)|0); + $161 = (_strcmp($160,12054)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11758)|0); + $164 = (_strcmp($163,12066)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11770)|0); + $167 = (_strcmp($166,12078)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11782)|0); + $170 = (_strcmp($169,12090)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11794)|0); + $173 = (_strcmp($172,12102)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11806)|0); + $176 = (_strcmp($175,12114)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11818)|0); + $179 = (_strcmp($178,12126)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11831)|0); + $182 = (_strcmp($181,12139)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11844)|0); + $185 = (_strcmp($184,12152)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11857)|0); + $188 = (_strcmp($187,12165)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11870)|0); + $191 = (_strcmp($190,12178)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11883)|0); + $194 = (_strcmp($193,12191)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11896)|0); + $197 = (_strcmp($196,12204)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,11909)|0); + $200 = (_strcmp($199,12217)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,11922)|0); + $203 = (_strcmp($202,12230)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,11941)|0); + $206 = (_strcmp($205,12249)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,11960)|0); + $209 = (_strcmp($208,12268)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,11979)|0); + $212 = (_strcmp($211,12287)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,11992)|0); + $215 = (_strcmp($214,12300)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12010)|0); + $218 = (_strcmp($217,12318)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12028)|0); + $221 = (_strcmp($220,12336)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12046)|0); + $224 = (_strcmp($223,12354)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12064)|0); + $227 = (_strcmp($226,12372)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12084)|0); + $230 = (_strcmp($229,12392)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11025)|0); + $233 = (_strcmp($232,11333)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12102)|0); + $236 = (_strcmp($235,12410)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12117)|0); + $239 = (_strcmp($238,12425)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12138)|0); + $242 = (_strcmp($241,12446)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12153)|0); + $245 = (_strcmp($244,12461)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12171)|0); + $248 = (_strcmp($247,12479)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12187)|0); + $251 = (_strcmp($250,12495)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12206)|0); + $254 = (_strcmp($253,12514)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12220)|0); + $257 = (_strcmp($256,12528)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12235)|0); + $260 = (_strcmp($259,12543)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,10956)|0); + $263 = (_strcmp($262,11264)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12246)|0); + $266 = (_strcmp($265,12554)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11055)|0); + $269 = (_strcmp($268,11363)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11085)|0); + $272 = (_strcmp($271,11393)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12262)|0); + $275 = (_strcmp($274,12570)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12289)|0); + $278 = (_strcmp($277,12597)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12303)|0); + $281 = (_strcmp($280,12611)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,10991)|0); + $284 = (_strcmp($283,11299)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12323)|0); + $287 = (_strcmp($286,12631)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12341)|0); + $290 = (_strcmp($289,12649)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12353)|0); + $293 = (_strcmp($292,12661)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12374)|0); + $296 = (_strcmp($295,12682)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12392)|0); + $299 = (_strcmp($298,12700)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12410)|0); + $302 = (_strcmp($301,12718)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12431)|0); + $305 = (_strcmp($304,12739)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12457)|0); + $308 = (_strcmp($307,12765)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12480)|0); + $311 = (_strcmp($310,12788)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12518)|0); + $314 = (_strcmp($313,12826)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12534)|0); + $317 = (_strcmp($316,12842)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12549)|0); + $320 = (_strcmp($319,12857)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12572)|0); + $323 = (_strcmp($322,12880)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12585)|0); + $326 = (_strcmp($325,12893)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12599)|0); + $329 = (_strcmp($328,12907)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12613)|0); + $332 = (_strcmp($331,12921)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12633)|0); + $335 = (_strcmp($334,12941)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12653)|0); + $338 = (_strcmp($337,12961)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12669)|0); + $341 = (_strcmp($340,12977)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12687)|0); + $344 = (_strcmp($343,12995)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12703)|0); + $347 = (_strcmp($346,13011)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12718)|0); + $350 = (_strcmp($349,13026)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12740)|0); + $353 = (_strcmp($352,13048)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12758)|0); + $356 = (_strcmp($355,13066)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12779)|0); + $359 = (_strcmp($358,13087)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12797)|0); + $362 = (_strcmp($361,13105)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12810)|0); + $365 = (_strcmp($364,13118)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12825)|0); + $368 = (_strcmp($367,13133)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12839)|0); + $371 = (_strcmp($370,13147)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12849)|0); + $374 = (_strcmp($373,13157)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12859)|0); + $377 = (_strcmp($376,13167)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12881)|0); + $380 = (_strcmp($379,13189)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,12907)|0); + $383 = (_strcmp($382,13215)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,12934)|0); + $386 = (_strcmp($385,13242)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,12947)|0); + $389 = (_strcmp($388,13255)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,12962)|0); + $392 = (_strcmp($391,13270)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,12977)|0); + $395 = (_strcmp($394,13285)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13001)|0); + $398 = (_strcmp($397,13309)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13012)|0); + $401 = (_strcmp($400,13320)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13034)|0); + $404 = (_strcmp($403,13342)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13056)|0); + $407 = (_strcmp($406,13364)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13080)|0); + $410 = (_strcmp($409,13388)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13089)|0); + $413 = (_strcmp($412,13397)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13097)|0); + $416 = (_strcmp($415,13405)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13110)|0); + $419 = (_strcmp($418,13418)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13124)|0); + $422 = (_strcmp($421,13432)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13136)|0); + $425 = (_strcmp($424,13444)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13145)|0); + $428 = (_strcmp($427,13453)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13155)|0); + $431 = (_strcmp($430,13463)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13167)|0); + $434 = (_strcmp($433,13475)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13178)|0); + $437 = (_strcmp($436,13486)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13186)|0); + $440 = (_strcmp($439,13494)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13198)|0); + $443 = (_strcmp($442,13506)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13213)|0); + $446 = (_strcmp($445,13521)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13225)|0); + $449 = (_strcmp($448,13533)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13239)|0); + $452 = (_strcmp($451,13547)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13264)|0); + $455 = (_strcmp($454,13572)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13281)|0); + $458 = (_strcmp($457,13589)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13297)|0); + $461 = (_strcmp($460,13605)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13313)|0); + $464 = (_strcmp($463,13621)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13325)|0); + $467 = (_strcmp($466,13633)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13337)|0); + $470 = (_strcmp($469,13645)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13361)|0); + $473 = (_strcmp($472,13669)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13374)|0); + $476 = (_strcmp($475,13682)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13388)|0); + $479 = (_strcmp($478,13696)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13410)|0); + $482 = (_strcmp($481,13718)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13417)|0); + $485 = (_strcmp($484,13725)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13433)|0); + $488 = (_strcmp($487,13741)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13450)|0); + $491 = (_strcmp($490,13758)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13467)|0); + $494 = (_strcmp($493,13775)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13483)|0); + $497 = (_strcmp($496,13791)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13499)|0); + $500 = (_strcmp($499,13807)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13516)|0); + $503 = (_strcmp($502,13824)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13530)|0); + $506 = (_strcmp($505,13838)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13542)|0); + $509 = (_strcmp($508,13850)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13553)|0); + $512 = (_strcmp($511,13861)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13566)|0); + $515 = (_strcmp($514,13874)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13576)|0); + $518 = (_strcmp($517,13884)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13593)|0); + $521 = (_strcmp($520,13901)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13605)|0); + $524 = (_strcmp($523,13913)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13627)|0); + $527 = (_strcmp($526,13935)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13647)|0); + $530 = (_strcmp($529,13955)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13660)|0); + $533 = (_strcmp($532,13968)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13682)|0); + $536 = (_strcmp($535,13990)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13702)|0); + $539 = (_strcmp($538,14010)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13719)|0); + $542 = (_strcmp($541,14027)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13736)|0); + $545 = (_strcmp($544,14044)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13756)|0); + $548 = (_strcmp($547,14064)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -28287,7 +28250,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (19036|0); + return (19348|0); } function ___stdio_close($0) { $0 = $0|0; @@ -29151,7 +29114,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13872 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14180 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -29329,7 +29292,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14336;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14644;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -29350,7 +29313,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14336;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14644;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -29358,8 +29321,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14336 : (14338); - $$$ = $238 ? $$ : (14337); + $$ = $240 ? 14644 : (14646); + $$$ = $238 ? $$ : (14645); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -29376,7 +29339,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14336;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14644;$242 = $167;$243 = $170; label = 66; break; } @@ -29389,7 +29352,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14336;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14644;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -29403,7 +29366,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14346; + $271 = $270 ? $269 : 14654; $$1 = $271; label = 71; break; @@ -29443,7 +29406,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14336;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14644;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -29465,8 +29428,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14336 + ($208)|0); - $$289 = $or$cond283 ? 14336 : $209; + $209 = (14644 + ($208)|0); + $$289 = $or$cond283 ? 14644 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -29487,7 +29450,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14336;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14644;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -30017,7 +29980,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14388 + ($7)|0); + $9 = (14696 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -30375,14 +30338,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14353; + $$0471 = $14;$$0520 = 1;$$0521 = 14661; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14354) : (14359); - $$$ = $16 ? $$ : (14356); + $$ = $18 ? (14662) : (14667); + $$$ = $16 ? $$ : (14664); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -30481,7 +30444,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14388 + ($80)|0); + $81 = (14696 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -31092,7 +31055,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14404,1); + _out($0,14712,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -31173,7 +31136,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14404,1); + _out($0,14712,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -31230,9 +31193,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14372 : 14376; + $29 = $28 ? 14680 : 14684; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14380 : 14384; + $31 = $28 ? 14688 : 14692; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -31442,7 +31405,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14406 + ($$016)|0); + $3 = (14714 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -31453,7 +31416,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14494;$$115 = 87; + $$01214 = 14802;$$115 = 87; label = 5; break; } else { @@ -31463,9 +31426,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14494; + $$012$lcssa = 14802; } else { - $$01214 = 14494;$$115 = $$016; + $$01214 = 14802;$$115 = $$016; label = 5; } } @@ -32128,7 +32091,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16298,$3,4)|0); + $memchr = (_memchr(16606,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -32217,7 +32180,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16298,$4,4)|0); + $memchr = (_memchr(16606,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -32308,7 +32271,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(19040)>>2]|0; + $38 = HEAP32[(19352)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -32341,13 +32304,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19100|0)); - return (19108|0); + ___lock((19412|0)); + return (19420|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19100|0)); + ___unlock((19412|0)); return; } function _fclose($0) { @@ -33411,7 +33374,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16568; + $2 = 16880; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -33628,7 +33591,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4778]|0; + $3 = HEAP32[4856]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -33647,22 +33610,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4778] = 0; + HEAP32[4856] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4778] = $10; + HEAP32[4856] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4778] = 0; + HEAP32[4856] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4778] = $13; + HEAP32[4856] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -33743,7 +33706,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4779]|0; + $8 = HEAP32[4857]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -33752,7 +33715,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19156 + ($15<<2)|0); + $16 = (19468 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -33763,9 +33726,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4779] = $24; + HEAP32[4857] = $24; } else { - $25 = HEAP32[(19132)>>2]|0; + $25 = HEAP32[(19444)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -33796,7 +33759,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19124)>>2]|0; + $37 = HEAP32[(19436)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -33830,7 +33793,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19156 + ($68<<2)|0); + $69 = (19468 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -33841,10 +33804,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4779] = $77; + HEAP32[4857] = $77; $98 = $77; } else { - $78 = HEAP32[(19132)>>2]|0; + $78 = HEAP32[(19444)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -33877,22 +33840,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19136)>>2]|0; + $92 = HEAP32[(19448)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19156 + ($94<<2)|0); + $95 = (19468 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4779] = $100; + HEAP32[4857] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19132)>>2]|0; + $103 = HEAP32[(19444)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -33909,12 +33872,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19124)>>2] = $84; - HEAP32[(19136)>>2] = $87; + HEAP32[(19436)>>2] = $84; + HEAP32[(19448)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19120)>>2]|0; + $108 = HEAP32[(19432)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -33942,7 +33905,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19420 + ($132<<2)|0); + $133 = (19732 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -33982,7 +33945,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19132)>>2]|0; + $155 = HEAP32[(19444)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -34077,7 +34040,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19420 + ($188<<2)|0); + $189 = (19732 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -34088,11 +34051,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19120)>>2] = $194; + HEAP32[(19432)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19132)>>2]|0; + $195 = HEAP32[(19444)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -34113,7 +34076,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19132)>>2]|0; + $201 = HEAP32[(19444)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -34143,7 +34106,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19132)>>2]|0; + $213 = HEAP32[(19444)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -34180,22 +34143,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19136)>>2]|0; + $231 = HEAP32[(19448)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19156 + ($233<<2)|0); + $234 = (19468 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4779] = $238; + HEAP32[4857] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19132)>>2]|0; + $241 = HEAP32[(19444)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -34212,8 +34175,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19124)>>2] = $$0193$lcssa$i; - HEAP32[(19136)>>2] = $157; + HEAP32[(19436)>>2] = $$0193$lcssa$i; + HEAP32[(19448)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -34229,7 +34192,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19120)>>2]|0; + $250 = HEAP32[(19432)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -34269,7 +34232,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19420 + ($$0358$i<<2)|0); + $278 = (19732 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -34361,7 +34324,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19420 + ($330<<2)|0); + $331 = (19732 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -34405,11 +34368,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19124)>>2]|0; + $345 = HEAP32[(19436)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19132)>>2]|0; + $348 = HEAP32[(19444)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -34506,7 +34469,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19420 + ($381<<2)|0); + $382 = (19732 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -34517,12 +34480,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19120)>>2] = $387; + HEAP32[(19432)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19132)>>2]|0; + $388 = HEAP32[(19444)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -34544,7 +34507,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19132)>>2]|0; + $394 = HEAP32[(19444)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -34576,7 +34539,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19132)>>2]|0; + $406 = HEAP32[(19444)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -34617,20 +34580,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19156 + ($425<<2)|0); - $427 = HEAP32[4779]|0; + $426 = (19468 + ($425<<2)|0); + $427 = HEAP32[4857]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4779] = $431; + HEAP32[4857] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19132)>>2]|0; + $434 = HEAP32[(19444)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -34682,7 +34645,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19420 + ($$0361$i<<2)|0); + $464 = (19732 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -34694,7 +34657,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19120)>>2] = $472; + HEAP32[(19432)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -34733,7 +34696,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19132)>>2]|0; + $491 = HEAP32[(19444)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -34752,7 +34715,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19132)>>2]|0; + $498 = HEAP32[(19444)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -34785,16 +34748,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19124)>>2]|0; + $506 = HEAP32[(19436)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19136)>>2]|0; + $509 = HEAP32[(19448)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19136)>>2] = $511; - HEAP32[(19124)>>2] = $508; + HEAP32[(19448)>>2] = $511; + HEAP32[(19436)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -34804,8 +34767,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19124)>>2] = 0; - HEAP32[(19136)>>2] = 0; + HEAP32[(19436)>>2] = 0; + HEAP32[(19448)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -34819,14 +34782,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19128)>>2]|0; + $524 = HEAP32[(19440)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19128)>>2] = $526; - $527 = HEAP32[(19140)>>2]|0; + HEAP32[(19440)>>2] = $526; + $527 = HEAP32[(19452)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19140)>>2] = $528; + HEAP32[(19452)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -34837,23 +34800,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4897]|0; + $534 = HEAP32[4975]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19596)>>2] = 4096; - HEAP32[(19592)>>2] = 4096; - HEAP32[(19600)>>2] = -1; - HEAP32[(19604)>>2] = -1; - HEAP32[(19608)>>2] = 0; - HEAP32[(19560)>>2] = 0; + HEAP32[(19908)>>2] = 4096; + HEAP32[(19904)>>2] = 4096; + HEAP32[(19912)>>2] = -1; + HEAP32[(19916)>>2] = -1; + HEAP32[(19920)>>2] = 0; + HEAP32[(19872)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4897] = $538; + HEAP32[4975] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19596)>>2]|0; + $$pre$i212 = HEAP32[(19908)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -34866,10 +34829,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19556)>>2]|0; + $546 = HEAP32[(19868)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19548)>>2]|0; + $548 = HEAP32[(19860)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -34879,18 +34842,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19560)>>2]|0; + $552 = HEAP32[(19872)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19140)>>2]|0; + $555 = HEAP32[(19452)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19564); + $$0$i$i = (19876); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -34948,7 +34911,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19592)>>2]|0; + $569 = HEAP32[(19904)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -34958,13 +34921,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19548)>>2]|0; + $578 = HEAP32[(19860)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19556)>>2]|0; + $582 = HEAP32[(19868)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -35010,7 +34973,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19596)>>2]|0; + $601 = HEAP32[(19908)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -35035,9 +34998,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19560)>>2]|0; + $611 = HEAP32[(19872)>>2]|0; $612 = $611 | 4; - HEAP32[(19560)>>2] = $612; + HEAP32[(19872)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -35073,35 +35036,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19548)>>2]|0; + $626 = HEAP32[(19860)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19548)>>2] = $627; - $628 = HEAP32[(19552)>>2]|0; + HEAP32[(19860)>>2] = $627; + $628 = HEAP32[(19864)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19552)>>2] = $627; + HEAP32[(19864)>>2] = $627; } - $630 = HEAP32[(19140)>>2]|0; + $630 = HEAP32[(19452)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19132)>>2]|0; + $632 = HEAP32[(19444)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19132)>>2] = $$749$i; + HEAP32[(19444)>>2] = $$749$i; } - HEAP32[(19564)>>2] = $$749$i; - HEAP32[(19568)>>2] = $$723948$i; - HEAP32[(19576)>>2] = 0; - $635 = HEAP32[4897]|0; - HEAP32[(19152)>>2] = $635; - HEAP32[(19148)>>2] = -1; + HEAP32[(19876)>>2] = $$749$i; + HEAP32[(19880)>>2] = $$723948$i; + HEAP32[(19888)>>2] = 0; + $635 = HEAP32[4975]|0; + HEAP32[(19464)>>2] = $635; + HEAP32[(19460)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19156 + ($636<<2)|0); + $637 = (19468 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -35124,18 +35087,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19140)>>2] = $649; - HEAP32[(19128)>>2] = $650; + HEAP32[(19452)>>2] = $649; + HEAP32[(19440)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19604)>>2]|0; - HEAP32[(19144)>>2] = $655; + $655 = HEAP32[(19916)>>2]|0; + HEAP32[(19456)>>2] = $655; } else { - $$024371$i = (19564); + $$024371$i = (19876); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -35167,7 +35130,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19128)>>2]|0; + $671 = HEAP32[(19440)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -35178,30 +35141,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19140)>>2] = $679; - HEAP32[(19128)>>2] = $681; + HEAP32[(19452)>>2] = $679; + HEAP32[(19440)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19604)>>2]|0; - HEAP32[(19144)>>2] = $686; + $686 = HEAP32[(19916)>>2]|0; + HEAP32[(19456)>>2] = $686; break; } } } - $687 = HEAP32[(19132)>>2]|0; + $687 = HEAP32[(19444)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19132)>>2] = $$749$i; + HEAP32[(19444)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19564); + $$124470$i = (19876); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -35256,21 +35219,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19128)>>2]|0; + $726 = HEAP32[(19440)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19128)>>2] = $727; - HEAP32[(19140)>>2] = $721; + HEAP32[(19440)>>2] = $727; + HEAP32[(19452)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19136)>>2]|0; + $730 = HEAP32[(19448)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19124)>>2]|0; + $732 = HEAP32[(19436)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19124)>>2] = $733; - HEAP32[(19136)>>2] = $721; + HEAP32[(19436)>>2] = $733; + HEAP32[(19448)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -35293,7 +35256,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19156 + ($748<<2)|0); + $749 = (19468 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -35316,9 +35279,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4779]|0; + $759 = HEAP32[4857]|0; $760 = $759 & $758; - HEAP32[4779] = $760; + HEAP32[4857] = $760; break; } $761 = ($747|0)==($749|0); @@ -35431,7 +35394,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19420 + ($796<<2)|0); + $797 = (19732 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -35443,12 +35406,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19120)>>2]|0; + $802 = HEAP32[(19432)>>2]|0; $803 = $802 & $801; - HEAP32[(19120)>>2] = $803; + HEAP32[(19432)>>2] = $803; break L314; } else { - $804 = HEAP32[(19132)>>2]|0; + $804 = HEAP32[(19444)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -35469,7 +35432,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19132)>>2]|0; + $810 = HEAP32[(19444)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -35501,7 +35464,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19132)>>2]|0; + $822 = HEAP32[(19444)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -35534,21 +35497,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19156 + ($836<<2)|0); - $838 = HEAP32[4779]|0; + $837 = (19468 + ($836<<2)|0); + $838 = HEAP32[4857]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4779] = $842; + HEAP32[4857] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19132)>>2]|0; + $845 = HEAP32[(19444)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -35603,20 +35566,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19420 + ($$0296$i$i<<2)|0); + $875 = (19732 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19120)>>2]|0; + $879 = HEAP32[(19432)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19120)>>2] = $883; + HEAP32[(19432)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -35655,7 +35618,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19132)>>2]|0; + $902 = HEAP32[(19444)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -35674,7 +35637,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19132)>>2]|0; + $909 = HEAP32[(19444)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -35701,7 +35664,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19564); + $$0$i$i$i = (19876); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -35742,23 +35705,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19140)>>2] = $946; - HEAP32[(19128)>>2] = $947; + HEAP32[(19452)>>2] = $946; + HEAP32[(19440)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19604)>>2]|0; - HEAP32[(19144)>>2] = $952; + $952 = HEAP32[(19916)>>2]|0; + HEAP32[(19456)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19564)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19564)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19564)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19564)+12>>2]|0; - HEAP32[(19564)>>2] = $$749$i; - HEAP32[(19568)>>2] = $$723948$i; - HEAP32[(19576)>>2] = 0; - HEAP32[(19572)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19876)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19876)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19876)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19876)+12>>2]|0; + HEAP32[(19876)>>2] = $$749$i; + HEAP32[(19880)>>2] = $$723948$i; + HEAP32[(19888)>>2] = 0; + HEAP32[(19884)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -35787,20 +35750,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19156 + ($968<<2)|0); - $970 = HEAP32[4779]|0; + $969 = (19468 + ($968<<2)|0); + $970 = HEAP32[4857]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4779] = $974; + HEAP32[4857] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19132)>>2]|0; + $977 = HEAP32[(19444)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -35852,19 +35815,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19420 + ($$0212$i$i<<2)|0); + $1007 = (19732 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19120)>>2]|0; + $1010 = HEAP32[(19432)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19120)>>2] = $1014; + HEAP32[(19432)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -35903,7 +35866,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19132)>>2]|0; + $1033 = HEAP32[(19444)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -35922,7 +35885,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19132)>>2]|0; + $1040 = HEAP32[(19444)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -35945,14 +35908,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19128)>>2]|0; + $1048 = HEAP32[(19440)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19128)>>2] = $1050; - $1051 = HEAP32[(19140)>>2]|0; + HEAP32[(19440)>>2] = $1050; + $1051 = HEAP32[(19452)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19140)>>2] = $1052; + HEAP32[(19452)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -35995,7 +35958,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19132)>>2]|0; + $3 = HEAP32[(19444)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -36028,7 +35991,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19136)>>2]|0; + $19 = HEAP32[(19448)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -36043,7 +36006,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19124)>>2] = $17; + HEAP32[(19436)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -36057,7 +36020,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19156 + ($27<<2)|0); + $28 = (19468 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -36077,9 +36040,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4779]|0; + $37 = HEAP32[4857]|0; $38 = $37 & $36; - HEAP32[4779] = $38; + HEAP32[4857] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -36193,7 +36156,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19420 + ($74<<2)|0); + $75 = (19732 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -36203,14 +36166,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19120)>>2]|0; + $80 = HEAP32[(19432)>>2]|0; $81 = $80 & $79; - HEAP32[(19120)>>2] = $81; + HEAP32[(19432)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19132)>>2]|0; + $82 = HEAP32[(19444)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -36232,7 +36195,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19132)>>2]|0; + $88 = HEAP32[(19444)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -36264,7 +36227,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19132)>>2]|0; + $100 = HEAP32[(19444)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -36299,14 +36262,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19140)>>2]|0; + $120 = HEAP32[(19452)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19136)>>2]|0; + $122 = HEAP32[(19448)>>2]|0; if ($121) { - $123 = HEAP32[(19128)>>2]|0; + $123 = HEAP32[(19440)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19128)>>2] = $124; - HEAP32[(19140)>>2] = $$1; + HEAP32[(19440)>>2] = $124; + HEAP32[(19452)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36314,16 +36277,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19136)>>2] = 0; - HEAP32[(19124)>>2] = 0; + HEAP32[(19448)>>2] = 0; + HEAP32[(19436)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19124)>>2]|0; + $129 = HEAP32[(19436)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19124)>>2] = $130; - HEAP32[(19136)>>2] = $113; + HEAP32[(19436)>>2] = $130; + HEAP32[(19448)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -36342,10 +36305,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19156 + ($142<<2)|0); + $143 = (19468 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19132)>>2]|0; + $145 = HEAP32[(19444)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -36363,9 +36326,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4779]|0; + $153 = HEAP32[4857]|0; $154 = $153 & $152; - HEAP32[4779] = $154; + HEAP32[4857] = $154; break; } $155 = ($141|0)==($143|0); @@ -36373,7 +36336,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19132)>>2]|0; + $156 = HEAP32[(19444)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -36433,7 +36396,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19132)>>2]|0; + $189 = HEAP32[(19444)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -36446,7 +36409,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19132)>>2]|0; + $169 = HEAP32[(19444)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -36477,7 +36440,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19420 + ($193<<2)|0); + $194 = (19732 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -36487,13 +36450,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19120)>>2]|0; + $199 = HEAP32[(19432)>>2]|0; $200 = $199 & $198; - HEAP32[(19120)>>2] = $200; + HEAP32[(19432)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19132)>>2]|0; + $201 = HEAP32[(19444)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -36514,7 +36477,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19132)>>2]|0; + $207 = HEAP32[(19444)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -36544,7 +36507,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19132)>>2]|0; + $219 = HEAP32[(19444)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -36565,10 +36528,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19136)>>2]|0; + $226 = HEAP32[(19448)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19124)>>2] = $135; + HEAP32[(19436)>>2] = $135; return; } else { $$2 = $135; @@ -36587,20 +36550,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19156 + ($234<<2)|0); - $236 = HEAP32[4779]|0; + $235 = (19468 + ($234<<2)|0); + $236 = HEAP32[4857]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4779] = $240; + HEAP32[4857] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19132)>>2]|0; + $243 = HEAP32[(19444)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -36652,21 +36615,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19420 + ($$0396<<2)|0); + $273 = (19732 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19120)>>2]|0; + $277 = HEAP32[(19432)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19120)>>2] = $281; + HEAP32[(19432)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -36704,7 +36667,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19132)>>2]|0; + $300 = HEAP32[(19444)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -36723,7 +36686,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19132)>>2]|0; + $307 = HEAP32[(19444)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -36745,12 +36708,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19148)>>2]|0; + $314 = HEAP32[(19460)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19148)>>2] = $315; + HEAP32[(19460)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19572); + $$0212$in$i = (19884); } else { return; } @@ -36764,7 +36727,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19148)>>2] = -1; + HEAP32[(19460)>>2] = -1; return; } function _realloc($0,$1) { @@ -36836,7 +36799,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19132)>>2]|0; + $6 = HEAP32[(19444)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -36866,7 +36829,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19596)>>2]|0; + $18 = HEAP32[(19908)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -36902,10 +36865,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19140)>>2]|0; + $34 = HEAP32[(19452)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19128)>>2]|0; + $36 = HEAP32[(19440)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -36921,15 +36884,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19140)>>2] = $40; - HEAP32[(19128)>>2] = $39; + HEAP32[(19452)>>2] = $40; + HEAP32[(19440)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19136)>>2]|0; + $46 = HEAP32[(19448)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19124)>>2]|0; + $48 = HEAP32[(19436)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -36965,8 +36928,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19124)>>2] = $storemerge1; - HEAP32[(19136)>>2] = $storemerge; + HEAP32[(19436)>>2] = $storemerge1; + HEAP32[(19448)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -36993,7 +36956,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19156 + ($81<<2)|0); + $82 = (19468 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -37013,9 +36976,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4779]|0; + $91 = HEAP32[4857]|0; $92 = $91 & $90; - HEAP32[4779] = $92; + HEAP32[4857] = $92; break; } $93 = ($80|0)==($82|0); @@ -37124,7 +37087,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19420 + ($128<<2)|0); + $129 = (19732 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -37134,13 +37097,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19120)>>2]|0; + $134 = HEAP32[(19432)>>2]|0; $135 = $134 & $133; - HEAP32[(19120)>>2] = $135; + HEAP32[(19432)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19132)>>2]|0; + $136 = HEAP32[(19444)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -37161,7 +37124,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19132)>>2]|0; + $142 = HEAP32[(19444)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -37191,7 +37154,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19132)>>2]|0; + $154 = HEAP32[(19444)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -37276,13 +37239,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19132)>>2]|0; + $13 = HEAP32[(19444)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19136)>>2]|0; + $15 = HEAP32[(19448)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -37297,7 +37260,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19124)>>2] = $12; + HEAP32[(19436)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -37311,7 +37274,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19156 + ($23<<2)|0); + $24 = (19468 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -37331,9 +37294,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4779]|0; + $33 = HEAP32[4857]|0; $34 = $33 & $32; - HEAP32[4779] = $34; + HEAP32[4857] = $34; $$1 = $11;$$1418 = $12; break; } @@ -37447,7 +37410,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19420 + ($70<<2)|0); + $71 = (19732 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -37457,14 +37420,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19120)>>2]|0; + $76 = HEAP32[(19432)>>2]|0; $77 = $76 & $75; - HEAP32[(19120)>>2] = $77; + HEAP32[(19432)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19132)>>2]|0; + $78 = HEAP32[(19444)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -37486,7 +37449,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19132)>>2]|0; + $84 = HEAP32[(19444)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -37518,7 +37481,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19132)>>2]|0; + $96 = HEAP32[(19444)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -37537,7 +37500,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19132)>>2]|0; + $108 = HEAP32[(19444)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -37548,14 +37511,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19140)>>2]|0; + $114 = HEAP32[(19452)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19136)>>2]|0; + $116 = HEAP32[(19448)>>2]|0; if ($115) { - $117 = HEAP32[(19128)>>2]|0; + $117 = HEAP32[(19440)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19128)>>2] = $118; - HEAP32[(19140)>>2] = $$1; + HEAP32[(19440)>>2] = $118; + HEAP32[(19452)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -37563,16 +37526,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19136)>>2] = 0; - HEAP32[(19124)>>2] = 0; + HEAP32[(19448)>>2] = 0; + HEAP32[(19436)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19124)>>2]|0; + $123 = HEAP32[(19436)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19124)>>2] = $124; - HEAP32[(19136)>>2] = $$1; + HEAP32[(19436)>>2] = $124; + HEAP32[(19448)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -37591,7 +37554,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19156 + ($136<<2)|0); + $137 = (19468 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -37611,9 +37574,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4779]|0; + $146 = HEAP32[4857]|0; $147 = $146 & $145; - HEAP32[4779] = $147; + HEAP32[4857] = $147; break; } $148 = ($135|0)==($137|0); @@ -37722,7 +37685,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19420 + ($183<<2)|0); + $184 = (19732 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -37732,13 +37695,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19120)>>2]|0; + $189 = HEAP32[(19432)>>2]|0; $190 = $189 & $188; - HEAP32[(19120)>>2] = $190; + HEAP32[(19432)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19132)>>2]|0; + $191 = HEAP32[(19444)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -37759,7 +37722,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19132)>>2]|0; + $197 = HEAP32[(19444)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -37789,7 +37752,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19132)>>2]|0; + $209 = HEAP32[(19444)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -37810,10 +37773,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19136)>>2]|0; + $216 = HEAP32[(19448)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19124)>>2] = $129; + HEAP32[(19436)>>2] = $129; return; } else { $$2 = $129; @@ -37832,20 +37795,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19156 + ($224<<2)|0); - $226 = HEAP32[4779]|0; + $225 = (19468 + ($224<<2)|0); + $226 = HEAP32[4857]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4779] = $230; + HEAP32[4857] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19132)>>2]|0; + $233 = HEAP32[(19444)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -37897,20 +37860,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19420 + ($$0431<<2)|0); + $263 = (19732 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19120)>>2]|0; + $267 = HEAP32[(19432)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19120)>>2] = $271; + HEAP32[(19432)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -37949,7 +37912,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19132)>>2]|0; + $290 = HEAP32[(19444)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -37967,7 +37930,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19132)>>2]|0; + $297 = HEAP32[(19444)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/textures/textures_image_processing.png b/docs/examples/web/textures/textures_image_processing.png similarity index 100% rename from docs/examples/img/textures/textures_image_processing.png rename to docs/examples/web/textures/textures_image_processing.png diff --git a/docs/examples/web/textures/textures_logo_raylib.js b/docs/examples/web/textures/textures_logo_raylib.js index d82865ff8..9e47e3f6d 100644 --- a/docs/examples/web/textures/textures_logo_raylib.js +++ b/docs/examples/web/textures/textures_logo_raylib.js @@ -1587,12 +1587,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 21936; +STATICTOP = STATIC_BASE + 21920; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,167,81,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,108,111,103,111,46,112,110,103,0,116,104,105,115,32,73,83,32,97,32,116,101,120,116,117,114,101,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,151,81,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,108,111,103,111,46,112,110,103,0,116,104,105,115,32,73,83,32,97,32,116,101,120,116,117,114,101,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10282,9 +10282,9 @@ function _main() { $2 = HEAP32[3]|0; _InitWindow($1,$2,3996); _LoadTexture($0,4052); - ;HEAP32[16408>>2]=HEAP32[$0>>2]|0;HEAP32[16408+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16408+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16408+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16408+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[16712>>2]=HEAP32[$0>>2]|0;HEAP32[16712+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16712+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16712+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16712+16>>2]=HEAP32[$0+16>>2]|0; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$texture$byval_copy>>2]=HEAP32[16408>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16408+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16408+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16408+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16408+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[16712>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16712+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16712+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16712+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16712+16>>2]|0; _UnloadTexture($texture$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10311,16 +10311,16 @@ function _UpdateDrawFrame() { _ClearBackground($$byval_copy1); $6 = HEAP32[2]|0; $7 = (($6|0) / 2)&-1; - $8 = HEAP32[(16412)>>2]|0; + $8 = HEAP32[(16716)>>2]|0; $9 = (($8|0) / 2)&-1; $10 = (($7) - ($9))|0; $11 = HEAP32[3]|0; $12 = (($11|0) / 2)&-1; - $13 = HEAP32[(16416)>>2]|0; + $13 = HEAP32[(16720)>>2]|0; $14 = (($13|0) / 2)&-1; $15 = (($12) - ($14))|0; HEAP32[$1>>2] = -1; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[16408>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16408+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16408+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16408+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16408+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[16712>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16712+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16712+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16712+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16712+16>>2]|0; ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; _DrawTexture($texture$byval_copy,$10,$15,$$byval_copy1); HEAP8[$2>>0] = -126; @@ -10335,6 +10335,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10434,13 +10484,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11050,7 +11093,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4108] = $2; + HEAP32[4184] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11063,7 +11106,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16136; + $95 = 16440; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11076,48 +11119,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16176; + $106 = 16480; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4044]; - $111 = +HEAPF32[4034]; + $110 = +HEAPF32[4120]; + $111 = +HEAPF32[4110]; $112 = $110 - $111; - HEAPF32[4046] = $112; - $113 = +HEAPF32[(16180)>>2]; - $114 = +HEAPF32[(16140)>>2]; + HEAPF32[4122] = $112; + $113 = +HEAPF32[(16484)>>2]; + $114 = +HEAPF32[(16444)>>2]; $115 = $113 - $114; - HEAPF32[(16188)>>2] = $115; - HEAP32[4107] = 4; + HEAPF32[(16492)>>2] = $115; + HEAP32[4183] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16168>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16168+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16192>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16192+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16496+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4113] = $116; - $117 = 16168; + HEAPF32[4189] = $116; + $117 = 16472; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16136; + $123 = 16440; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16192; + $127 = 16496; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16176; + $133 = 16480; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11130,7 +11173,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16168; + $144 = 16472; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11143,27 +11186,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16192; + $155 = 16496; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4048]; - $160 = +HEAPF32[4042]; + $159 = +HEAPF32[4124]; + $160 = +HEAPF32[4118]; $161 = $159 - $160; - HEAPF32[4046] = $161; - $162 = +HEAPF32[(16196)>>2]; - $163 = +HEAPF32[(16172)>>2]; + HEAPF32[4122] = $161; + $162 = +HEAPF32[(16500)>>2]; + $163 = +HEAPF32[(16476)>>2]; $164 = $162 - $163; - HEAPF32[(16188)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16136>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16136+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16168+4>>2]|0; + HEAPF32[(16492)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16440+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16472+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16176>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16176+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16192>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16192+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16496+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11175,31 +11218,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16168>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16168+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16192>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16192+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16496+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4113]; + $170 = +HEAPF32[4189]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4107] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16168>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16168+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16192>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16192+4>>2]|0; + HEAP32[4183] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16496+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4114] = $174; + HEAPF32[4190] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4113] = 0.0; - HEAPF32[4114] = 0.0; - HEAPF32[4046] = 0.0; - HEAPF32[(16188)>>2] = 0.0; - HEAP32[4108] = 0; - HEAP32[4107] = 0; + HEAPF32[4189] = 0.0; + HEAPF32[4190] = 0.0; + HEAPF32[4122] = 0.0; + HEAPF32[(16492)>>2] = 0.0; + HEAP32[4184] = 0; + HEAP32[4183] = 0; STACKTOP = sp;return; break; } @@ -11209,22 +11252,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4109]|0; + $6 = HEAP32[4185]|0; $7 = (($6) + 1)|0; - HEAP32[4109] = $7; - $8 = HEAP32[4107]|0; + HEAP32[4185] = $7; + $8 = HEAP32[4183]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16136>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16136+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16440+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4107] = 2; - HEAP32[4109] = 0; + HEAP32[4183] = 2; + HEAP32[4185] = 0; } else { label = 6; } @@ -11232,8 +11275,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4109] = 1; - HEAP32[4107] = 1; + HEAP32[4185] = 1; + HEAP32[4183] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11242,19 +11285,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16136; + $21 = 16440; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16144; + $25 = 16448; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16152; + $29 = 16456; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11263,13 +11306,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4040] = 0.0; - HEAPF32[(16164)>>2] = 0.0; + HEAPF32[4116] = 0.0; + HEAPF32[(16468)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4107]|0; + $35 = HEAP32[4183]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11279,19 +11322,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16152; + $44 = 16456; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16136>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16136+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16152+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16440+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16456>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16456+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4110] = $49; - HEAP32[4111] = 0; + HEAPF32[4186] = $49; + HEAP32[4187] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11299,11 +11342,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16136>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16136+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16152+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16440+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16456>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16456+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4112] = $56; + HEAPF32[4188] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11334,22 +11377,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4110] = 0.0; - HEAPF32[4112] = 0.0; + HEAPF32[4186] = 0.0; + HEAPF32[4188] = 0.0; $$sink10 = 0; } - HEAP32[4107] = $$sink10; - HEAPF32[4036] = 0.0; - HEAPF32[(16148)>>2] = 0.0; - HEAP32[4108] = 0; + HEAP32[4183] = $$sink10; + HEAPF32[4112] = 0.0; + HEAPF32[(16452)>>2] = 0.0; + HEAP32[4184] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4111]|0; + $65 = HEAP32[4187]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4111] = 1; + HEAP32[4187] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11358,31 +11401,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16168; + $74 = 16472; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4107]|0; + $78 = HEAP32[4183]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16136>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16136+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16168+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16440+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16472+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4107] = 8; + HEAP32[4183] = 8; } } - $82 = +HEAPF32[4042]; - $83 = +HEAPF32[4036]; + $82 = +HEAPF32[4118]; + $83 = +HEAPF32[4112]; $84 = $82 - $83; - HEAPF32[4040] = $84; - $85 = +HEAPF32[(16172)>>2]; - $86 = +HEAPF32[(16148)>>2]; + HEAPF32[4116] = $84; + $85 = +HEAPF32[(16476)>>2]; + $86 = +HEAPF32[(16452)>>2]; $87 = $85 - $86; - HEAPF32[(16164)>>2] = $87; + HEAPF32[(16468)>>2] = $87; STACKTOP = sp;return; break; } @@ -11391,58 +11434,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4107]|0; + $0 = HEAP32[4183]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4108]|0; + $2 = HEAP32[4184]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4107] = 4; + HEAP32[4183] = 4; } - $4 = HEAP32[4107]|0; + $4 = HEAP32[4183]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11455,14 +11459,14 @@ function _UpdateGestures() { return; } } - HEAP32[4107] = 0; + HEAP32[4183] = 0; return; } function _GetMousePosition($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 = 16200; + $1 = 16504; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11479,13 +11483,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4117]|0; + $0 = HEAP32[4193]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4116]|0; + $0 = HEAP32[4192]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11497,7 +11501,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4097,$vararg_buffer); - HEAP32[4119] = $2; + HEAP32[4195] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11510,15 +11514,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4126|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4117]|0; + $3 = HEAP32[4193]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4050] = $5; - $6 = HEAP32[4116]|0; + HEAPF32[4126] = $5; + $6 = HEAP32[4192]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16204)>>2] = $8; - $9 = HEAP32[4120]|0; + HEAPF32[(16508)>>2] = $8; + $9 = HEAP32[4196]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11537,11 +11541,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16240>>0]=HEAP8[8626>>0]|0;HEAP8[16240+1>>0]=HEAP8[8626+1>>0]|0;HEAP8[16240+2>>0]=HEAP8[8626+2>>0]|0;HEAP8[16240+3>>0]=HEAP8[8626+3>>0]|0;HEAP8[16240+4>>0]=HEAP8[8626+4>>0]|0;HEAP8[16240+5>>0]=HEAP8[8626+5>>0]|0;HEAP8[16240+6>>0]=HEAP8[8626+6>>0]|0; + ;HEAP8[16544>>0]=HEAP8[8626>>0]|0;HEAP8[16544+1>>0]=HEAP8[8626+1>>0]|0;HEAP8[16544+2>>0]=HEAP8[8626+2>>0]|0;HEAP8[16544+3>>0]=HEAP8[8626+3>>0]|0;HEAP8[16544+4>>0]=HEAP8[8626+4>>0]|0;HEAP8[16544+5>>0]=HEAP8[8626+5>>0]|0;HEAP8[16544+6>>0]=HEAP8[8626+6>>0]|0; break; } case 1: { - $3 = 16240; + $3 = 16544; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11550,11 +11554,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16240; src=8633; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16544; src=8633; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16240; + $7 = 16544; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11565,16 +11569,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16240,$1)|0); - $strlen = (_strlen(16240)|0); - $endptr = (16240 + ($strlen)|0); + (_strcat(16544,$1)|0); + $strlen = (_strlen(16544)|0); + $endptr = (16544 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16240,$2)|0); + (_vprintf(16544,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11606,22 +11610,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4117] = $0; - HEAP32[4116] = $1; + HEAP32[4193] = $0; + HEAP32[4192] = $1; _MatrixIdentity($2); - dest=16556; 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)); + dest=16860; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,4768,$vararg_buffer); } - $6 = HEAP32[4117]|0; - HEAP32[4155] = $6; - $7 = HEAP32[4116]|0; - HEAP32[4156] = $7; + $6 = HEAP32[4193]|0; + HEAP32[4231] = $6; + $7 = HEAP32[4192]|0; + HEAP32[4232] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19288]|0; + $8 = HEAP8[19592]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11629,13 +11633,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19288]|0; + $11 = HEAP8[19592]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19288]|0; + $14 = HEAP8[19592]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -11657,18 +11661,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4157]|0; + $21 = HEAP32[4233]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4117]|0; - $48 = HEAP32[4116]|0; - $49 = HEAP32[4119]|0; + $47 = HEAP32[4193]|0; + $48 = HEAP32[4192]|0; + $49 = HEAP32[4195]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4115] = $50; - $51 = HEAP32[4117]|0; - HEAP32[4158] = $51; - $52 = HEAP32[4116]|0; - HEAP32[4159] = $52; + HEAP32[4191] = $50; + $51 = HEAP32[4193]|0; + HEAP32[4234] = $51; + $52 = HEAP32[4192]|0; + HEAP32[4235] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11677,9 +11681,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4117]|0; + $27 = HEAP32[4193]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4116]|0; + $29 = HEAP32[4192]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -11701,25 +11705,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4155] = $31; - HEAP32[4156] = $34; + HEAP32[4231] = $31; + HEAP32[4232] = $34; } } while(0); - $38 = HEAP32[4155]|0; - $39 = HEAP32[4156]|0; + $38 = HEAP32[4231]|0; + $39 = HEAP32[4232]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,4819,$vararg_buffer3); - $40 = HEAP32[4155]|0; - $41 = HEAP32[4156]|0; + $40 = HEAP32[4231]|0; + $41 = HEAP32[4232]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4155]|0; - $43 = HEAP32[4156]|0; - $44 = HEAP32[4119]|0; + $42 = HEAP32[4231]|0; + $43 = HEAP32[4232]|0; + $44 = HEAP32[4195]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4115] = $46; + HEAP32[4191] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -11728,60 +11732,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,4857,$vararg_buffer6); } else { _TraceLog(0,4890,$vararg_buffer8); - $55 = HEAP32[4158]|0; - $56 = HEAP32[4159]|0; + $55 = HEAP32[4234]|0; + $56 = HEAP32[4235]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,4930,$vararg_buffer10); - $57 = HEAP32[4117]|0; - $58 = HEAP32[4116]|0; + $57 = HEAP32[4193]|0; + $58 = HEAP32[4192]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,4951,$vararg_buffer14); - $59 = HEAP32[4160]|0; - $60 = HEAP32[4161]|0; + $59 = HEAP32[4236]|0; + $60 = HEAP32[4237]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,4972,$vararg_buffer18); } - $61 = HEAP32[4115]|0; + $61 = HEAP32[4191]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4115]|0; + $62 = HEAP32[4191]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4115]|0; + $63 = HEAP32[4191]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4115]|0; + $64 = HEAP32[4191]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4115]|0; + $65 = HEAP32[4191]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4115]|0; + $66 = HEAP32[4191]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4115]|0; + $67 = HEAP32[4191]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4115]|0; + $68 = HEAP32[4191]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4115]|0; + $69 = HEAP32[4191]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19288]|0; + $70 = HEAP8[19592]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4117]|0; - $74 = HEAP32[4116]|0; + $73 = HEAP32[4193]|0; + $74 = HEAP32[4192]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4158]|0; - $76 = HEAP32[4160]|0; + $75 = HEAP32[4234]|0; + $76 = HEAP32[4236]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4159]|0; - $80 = HEAP32[4161]|0; + $79 = HEAP32[4235]|0; + $80 = HEAP32[4237]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -11800,18 +11804,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,4997,$vararg_buffer22); - $73 = HEAP32[4117]|0; - $74 = HEAP32[4116]|0; + $73 = HEAP32[4193]|0; + $74 = HEAP32[4192]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4158]|0; - $76 = HEAP32[4160]|0; + $75 = HEAP32[4234]|0; + $76 = HEAP32[4236]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4159]|0; - $80 = HEAP32[4161]|0; + $79 = HEAP32[4235]|0; + $80 = HEAP32[4237]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -11839,7 +11843,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16524)>>2] = 224; + HEAP32[(16828)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -11880,27 +11884,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16500>>2]=HEAP32[$1>>2]|0;HEAP32[16500+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16500+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16500+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16500+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[16804>>2]=HEAP32[$1>>2]|0;HEAP32[16804+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16804+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16804+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16804+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16524)>>2]|0; + $5 = HEAP32[(16828)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16528)>>2] = $7; + HEAP32[(16832)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16520)>>2] = $23; - $24 = HEAP32[4125]|0; + HEAP32[(16824)>>2] = $23; + $24 = HEAP32[4201]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4321,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16504)>>2]|0; - $10 = HEAP32[(16524)>>2]|0; - $11 = HEAP32[(16528)>>2]|0; + $9 = HEAP32[(16808)>>2]|0; + $10 = HEAP32[(16828)>>2]|0; + $11 = HEAP32[(16832)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -11949,8 +11953,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16520)>>2] = $23; - $24 = HEAP32[4125]|0; + HEAP32[(16824)>>2] = $23; + $24 = HEAP32[4201]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4321,$vararg_buffer); STACKTOP = sp;return; @@ -11961,7 +11965,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2029] = $1; + HEAPF64[2067] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12120,7 +12124,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16216; + $31 = 16520; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12133,7 +12137,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16224); + $42 = (16528); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12189,7 +12193,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16484 + ($10<<2)|0); + $11 = (16788 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12203,7 +12207,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2026] = $$; + HEAPF64[2064] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12215,7 +12219,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4120] = 0; + HEAP32[4196] = 0; return; } function _GetTime() { @@ -12791,7 +12795,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4133]|0; + $6 = HEAP32[4209]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -12801,7 +12805,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4134]|0; + $9 = HEAP32[4210]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -12810,7 +12814,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4135]|0; + $12 = HEAP32[4211]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -12820,7 +12824,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4136]|0; + $15 = HEAP32[4212]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -12830,7 +12834,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4137]|0; + $18 = HEAP32[4213]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -12874,7 +12878,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4133]|0; + $22 = HEAP32[4209]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -12882,7 +12886,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4133]|0; + $24 = HEAP32[4209]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -12890,7 +12894,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4133]|0; + $26 = HEAP32[4209]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -12898,7 +12902,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4133]|0; + $28 = HEAP32[4209]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -12906,7 +12910,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4134]|0; + $30 = HEAP32[4210]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -12914,7 +12918,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4135]|0; + $32 = HEAP32[4211]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -12922,7 +12926,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4135]|0; + $34 = HEAP32[4211]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -12930,7 +12934,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4136]|0; + $36 = HEAP32[4212]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -12938,7 +12942,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4136]|0; + $38 = HEAP32[4212]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -12946,7 +12950,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4137]|0; + $40 = HEAP32[4213]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -12954,7 +12958,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4137]|0; + $42 = HEAP32[4213]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -12966,7 +12970,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4138]|0; + $44 = HEAP32[4214]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -12981,7 +12985,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,10717,$vararg_buffer15); + _TraceLog(2,11025,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13312,20 +13316,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4117]|0; + $3 = HEAP32[4193]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4116]|0; + $5 = HEAP32[4192]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4158] = $3; - HEAP32[4159] = $5; - HEAP32[4160] = 0; - HEAP32[4161] = 0; + HEAP32[4234] = $3; + HEAP32[4235] = $5; + HEAP32[4236] = 0; + HEAP32[4237] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13339,9 +13343,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4117]|0; + $35 = HEAP32[4193]|0; $36 = (+($35|0)); - $37 = HEAP32[4116]|0; + $37 = HEAP32[4192]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13349,26 +13353,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4158] = $45; - HEAP32[4159] = $37; + HEAP32[4234] = $45; + HEAP32[4235] = $37; $46 = (($45) - ($35))|0; - HEAP32[4160] = $46; + HEAP32[4236] = $46; $$sink1 = 0; } else { - HEAP32[4158] = $35; + HEAP32[4234] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4159] = $42; - HEAP32[4160] = 0; + HEAP32[4235] = $42; + HEAP32[4236] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4161] = $$sink1; + HEAP32[4237] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4116]|0; + $7 = HEAP32[4192]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13378,11 +13382,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8379,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4117]|0; + $9 = HEAP32[4193]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4116]|0; + $13 = HEAP32[4192]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13390,33 +13394,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4158] = $23; - HEAP32[4159] = $1; + HEAP32[4234] = $23; + HEAP32[4235] = $1; $24 = (($0) - ($23))|0; - HEAP32[4160] = $24; + HEAP32[4236] = $24; $$sink = 0; } else { - HEAP32[4158] = $0; - $17 = HEAP32[4116]|0; + HEAP32[4234] = $0; + $17 = HEAP32[4192]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4159] = $20; - HEAP32[4160] = 0; + HEAP32[4235] = $20; + HEAP32[4236] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4161] = $$sink; - $25 = HEAP32[4158]|0; + HEAP32[4237] = $$sink; + $25 = HEAP32[4234]|0; $26 = (+($25|0)); - $27 = HEAP32[4117]|0; + $27 = HEAP32[4193]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16556; 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)); - HEAP32[4158] = $0; - HEAP32[4159] = $1; + dest=16860; 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)); + HEAP32[4234] = $0; + HEAP32[4235] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13438,10 +13442,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4117] = $1; - HEAP32[4116] = $2; - HEAP32[4158] = $1; - HEAP32[4159] = $2; + HEAP32[4193] = $1; + HEAP32[4192] = $2; + HEAP32[4234] = $1; + HEAP32[4235] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13468,7 +13472,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19295 + ($1)|0); + $9 = (19599 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13489,7 +13493,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19289 + ($1)|0); + $7 = (19593 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13568,7 +13572,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16216; + $15 = 16520; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13603,7 +13607,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4531] = $3; + HEAP32[4607] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13613,7 +13617,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4530] = $$sink; + HEAP32[4606] = $$sink; return; } function _rlglInit($0,$1) { @@ -13694,18 +13698,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5129)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4196] = 1; + HEAP32[4272] = 1; $27 = (_eglGetProcAddress((5156|0))|0); - HEAP32[4197] = $27; + HEAP32[4273] = $27; $28 = (_eglGetProcAddress((5177|0))|0); - HEAP32[4198] = $28; + HEAP32[4274] = $28; $29 = (_eglGetProcAddress((5198|0))|0); - HEAP32[4199] = $29; + HEAP32[4275] = $29; } $30 = (_strcmp($24,5222)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4138] = 1; + HEAP32[4214] = 1; } $32 = (_strcmp($24,5242)|0); $33 = ($32|0)==(0); @@ -13727,7 +13731,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4133] = 1; + HEAP32[4209] = 1; } $39 = (_strcmp($24,5347)|0); $40 = ($39|0)==(0); @@ -13743,35 +13747,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4134] = 1; + HEAP32[4210] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5416)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4135] = 1; + HEAP32[4211] = 1; } $47 = (_strcmp($44,5441)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4136] = 1; + HEAP32[4212] = 1; } $49 = (_strcmp($44,5474)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4137] = 1; + HEAP32[4213] = 1; } $51 = (_strcmp($44,5510)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4200] = 1; - _glGetFloatv(34047,(16804|0)); + HEAP32[4276] = 1; + _glGetFloatv(34047,(17108|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5544)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4202] = 1; + HEAP32[4278] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -13782,61 +13786,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4196]|0; + $21 = HEAP32[4272]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5647,$vararg_buffer15); } else { _TraceLog(0,5572,$vararg_buffer13); } - $57 = HEAP32[4138]|0; + $57 = HEAP32[4214]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,5783,$vararg_buffer19); } else { _TraceLog(0,5708,$vararg_buffer17); } - $59 = HEAP32[4133]|0; + $59 = HEAP32[4209]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,5875,$vararg_buffer21); } - $61 = HEAP32[4134]|0; + $61 = HEAP32[4210]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,5921,$vararg_buffer23); } - $63 = HEAP32[4135]|0; + $63 = HEAP32[4211]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,5968,$vararg_buffer25); } - $65 = HEAP32[4136]|0; + $65 = HEAP32[4212]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6019,$vararg_buffer27); } - $67 = HEAP32[4137]|0; + $67 = HEAP32[4213]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6066,$vararg_buffer29); } - $69 = HEAP32[4200]|0; + $69 = HEAP32[4276]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4201]; + $71 = +HEAPF32[4277]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6113,$vararg_buffer31); } - $73 = HEAP32[4202]|0; + $73 = HEAP32[4278]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6179,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4203] = $75; + HEAP32[4279] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6283,$vararg_buffer39); @@ -13845,14 +13849,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6232,$vararg_buffer36); } _LoadDefaultShader($2); - dest=16816; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=16872; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17120; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17176; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4232] = $77; + HEAP32[4308] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4232]|0; + $79 = HEAP32[4308]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -13865,7 +13869,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4233] = $78; + HEAP32[4309] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -13880,48 +13884,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4234] = 1; - $85 = HEAP32[4203]|0; + HEAP32[4310] = 1; + $85 = HEAP32[4279]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4235] = 4; + HEAP32[4311] = 4; _MatrixIdentity($4); - dest=16944; src=$4; 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)); + dest=17248; src=$4; 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)); _MatrixIdentity($4); - dest=(17008); src=$4; 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)); + dest=(17312); src=$4; 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)); _MatrixIdentity($4); - dest=(17072); src=$4; 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)); + dest=(17376); src=$4; 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)); _MatrixIdentity($4); - dest=(17136); src=$4; 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)); + dest=(17440); src=$4; 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)); _MatrixIdentity($4); - dest=(17200); src=$4; 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)); + dest=(17504); src=$4; 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)); _MatrixIdentity($4); - dest=(17264); src=$4; 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)); + dest=(17568); src=$4; 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)); _MatrixIdentity($4); - dest=(17328); src=$4; 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)); + dest=(17632); src=$4; 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)); _MatrixIdentity($4); - dest=(17392); src=$4; 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)); + dest=(17696); src=$4; 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)); _MatrixIdentity($4); - dest=(17456); src=$4; 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)); + dest=(17760); src=$4; 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)); _MatrixIdentity($4); - dest=(17520); src=$4; 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)); + dest=(17824); src=$4; 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)); _MatrixIdentity($4); - dest=(17584); src=$4; 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)); + dest=(17888); src=$4; 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)); _MatrixIdentity($4); - dest=(17648); src=$4; 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)); + dest=(17952); src=$4; 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)); _MatrixIdentity($4); - dest=(17712); src=$4; 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)); + dest=(18016); src=$4; 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)); _MatrixIdentity($4); - dest=(17776); src=$4; 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)); + dest=(18080); src=$4; 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)); _MatrixIdentity($4); - dest=(17840); src=$4; 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)); + dest=(18144); src=$4; 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)); _MatrixIdentity($4); - dest=(17904); src=$4; 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)); + dest=(18208); src=$4; 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)); _MatrixIdentity($5); - dest=16652; src=$5; 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)); + dest=16956; src=$5; 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)); _MatrixIdentity($6); - dest=16716; src=$6; 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)); - HEAP32[4162] = 16716; + dest=17020; src=$6; 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)); + HEAP32[4238] = 17020; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -13932,21 +13936,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4492] = $0; - HEAP32[4493] = $1; + HEAP32[4568] = $0; + HEAP32[4569] = $1; _TraceLog(0,6322,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4160]|0; + $0 = HEAP32[4236]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4161]|0; + $2 = HEAP32[4237]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4158]|0; + $4 = HEAP32[4234]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4159]|0; + $6 = HEAP32[4235]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -13957,12 +13961,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16652; + $modelview$sink = 16956; label = 3; break; } case 5888: { - $modelview$sink = 16716; + $modelview$sink = 17020; label = 3; break; } @@ -13970,9 +13974,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4162] = $modelview$sink; + HEAP32[4238] = $modelview$sink; } - HEAP32[4195] = $0; + HEAP32[4271] = $0; return; } function _rlLoadIdentity() { @@ -13980,7 +13984,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4162]|0; + $1 = HEAP32[4238]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14001,7 +14005,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4162]|0; + $8 = HEAP32[4238]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14098,15 +14102,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(17988)>>2] = $0; + HEAP32[(18292)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(17996)>>2] = $1; - HEAP32[(17992)>>2] = 0; - HEAP32[(18000)>>2] = 0; + HEAP32[(18300)>>2] = $1; + HEAP32[(18296)>>2] = 0; + HEAP32[(18304)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(17996)>>2]|0; + $2 = HEAP32[(18300)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14117,19 +14121,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4494] = 0; - HEAP32[(17984)>>2] = 0; - HEAP32[(17980)>>2] = 0; + HEAP32[4570] = 0; + HEAP32[(18288)>>2] = 0; + HEAP32[(18284)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18036)>>2] = $5; + HEAP32[(18340)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18044)>>2] = $6; - HEAP32[(18040)>>2] = 0; - HEAP32[(18048)>>2] = 0; + HEAP32[(18348)>>2] = $6; + HEAP32[(18344)>>2] = 0; + HEAP32[(18352)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18044)>>2]|0; + $7 = HEAP32[(18348)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14140,24 +14144,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4506] = 0; - HEAP32[(18032)>>2] = 0; - HEAP32[(18028)>>2] = 0; + HEAP32[4582] = 0; + HEAP32[(18336)>>2] = 0; + HEAP32[(18332)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18084)>>2] = $10; + HEAP32[(18388)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18088)>>2] = $11; + HEAP32[(18392)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18092)>>2] = $12; + HEAP32[(18396)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18096)>>2] = $13; - $14 = HEAP32[(18084)>>2]|0; + HEAP32[(18400)>>2] = $13; + $14 = HEAP32[(18388)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18088)>>2]|0; + $15 = HEAP32[(18392)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18092)>>2]|0; + $17 = HEAP32[(18396)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14168,7 +14172,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18096)>>2]|0; + $16 = HEAP32[(18400)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14205,140 +14209,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4518] = 0; - HEAP32[(18076)>>2] = 0; - HEAP32[(18080)>>2] = 0; + HEAP32[4594] = 0; + HEAP32[(18380)>>2] = 0; + HEAP32[(18384)>>2] = 0; _TraceLog(0,6369,$vararg_buffer); - $20 = HEAP32[4196]|0; + $20 = HEAP32[4272]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4197]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18004)); - $44 = HEAP32[4198]|0; - $45 = HEAP32[(18004)>>2]|0; + $43 = HEAP32[4273]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18308)); + $44 = HEAP32[4274]|0; + $45 = HEAP32[(18308)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18008)|0)); - $46 = HEAP32[(18008)>>2]|0; + _glGenBuffers(2,((18312)|0)); + $46 = HEAP32[(18312)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(17988)>>2]|0; + $47 = HEAP32[(18292)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(16876)>>2]|0; + $48 = HEAP32[(17180)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(16876)>>2]|0; + $49 = HEAP32[(17180)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18012)|0)); - $50 = HEAP32[(18012)>>2]|0; + _glGenBuffers(2,((18316)|0)); + $50 = HEAP32[(18316)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(17996)>>2]|0; + $51 = HEAP32[(18300)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(16896)>>2]|0; + $52 = HEAP32[(17200)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(16896)>>2]|0; + $53 = HEAP32[(17200)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4196]|0; + $54 = HEAP32[4272]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18008)>>2]|0; - $58 = HEAP32[(18012)>>2]|0; + $57 = HEAP32[(18312)>>2]|0; + $58 = HEAP32[(18316)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6507,$vararg_buffer3); } else { - $56 = HEAP32[(18004)>>2]|0; + $56 = HEAP32[(18308)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6442,$vararg_buffer1); } - $59 = HEAP32[4196]|0; + $59 = HEAP32[4272]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4197]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18052)); - $62 = HEAP32[4198]|0; - $63 = HEAP32[(18052)>>2]|0; + $61 = HEAP32[4273]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18356)); + $62 = HEAP32[4274]|0; + $63 = HEAP32[(18356)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18056)|0)); - $64 = HEAP32[(18056)>>2]|0; + _glGenBuffers(1,((18360)|0)); + $64 = HEAP32[(18360)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18036)>>2]|0; + $65 = HEAP32[(18340)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(16876)>>2]|0; + $66 = HEAP32[(17180)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(16876)>>2]|0; + $67 = HEAP32[(17180)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18060)|0)); - $68 = HEAP32[(18060)>>2]|0; + _glGenBuffers(1,((18364)|0)); + $68 = HEAP32[(18364)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18044)>>2]|0; + $69 = HEAP32[(18348)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(16896)>>2]|0; + $70 = HEAP32[(17200)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(16896)>>2]|0; + $71 = HEAP32[(17200)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4196]|0; + $72 = HEAP32[4272]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18056)>>2]|0; - $76 = HEAP32[(18060)>>2]|0; + $75 = HEAP32[(18360)>>2]|0; + $76 = HEAP32[(18364)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6653,$vararg_buffer10); } else { - $74 = HEAP32[(18052)>>2]|0; + $74 = HEAP32[(18356)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6584,$vararg_buffer7); } - $77 = HEAP32[4196]|0; + $77 = HEAP32[4272]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4197]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18100)); - $80 = HEAP32[4198]|0; - $81 = HEAP32[(18100)>>2]|0; + $79 = HEAP32[4273]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18404)); + $80 = HEAP32[4274]|0; + $81 = HEAP32[(18404)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18104)|0)); - $82 = HEAP32[(18104)>>2]|0; + _glGenBuffers(1,((18408)|0)); + $82 = HEAP32[(18408)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18084)>>2]|0; + $83 = HEAP32[(18388)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(16876)>>2]|0; + $84 = HEAP32[(17180)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(16876)>>2]|0; + $85 = HEAP32[(17180)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18108)|0)); - $86 = HEAP32[(18108)>>2]|0; + _glGenBuffers(1,((18412)|0)); + $86 = HEAP32[(18412)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18088)>>2]|0; + $87 = HEAP32[(18392)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(16880)>>2]|0; + $88 = HEAP32[(17184)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(16880)>>2]|0; + $89 = HEAP32[(17184)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18112)|0)); - $90 = HEAP32[(18112)>>2]|0; + _glGenBuffers(1,((18416)|0)); + $90 = HEAP32[(18416)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18092)>>2]|0; + $91 = HEAP32[(18396)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(16896)>>2]|0; + $92 = HEAP32[(17200)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(16896)>>2]|0; + $93 = HEAP32[(17200)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18116)|0)); - $94 = HEAP32[(18116)>>2]|0; + _glGenBuffers(1,((18420)|0)); + $94 = HEAP32[(18420)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18096)>>2]|0; + $95 = HEAP32[(18400)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4196]|0; + $96 = HEAP32[4272]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18104)>>2]|0; - $100 = HEAP32[(18108)>>2]|0; - $101 = HEAP32[(18112)>>2]|0; - $102 = HEAP32[(18116)>>2]|0; + $99 = HEAP32[(18408)>>2]|0; + $100 = HEAP32[(18412)>>2]|0; + $101 = HEAP32[(18416)>>2]|0; + $102 = HEAP32[(18420)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14348,16 +14352,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,6799,$vararg_buffer17); } else { - $98 = HEAP32[(18100)>>2]|0; + $98 = HEAP32[(18404)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,6734,$vararg_buffer14); } - $103 = HEAP32[4196]|0; + $103 = HEAP32[4272]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4198]|0; + $105 = HEAP32[4274]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14538,9 +14542,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19289 + ($0)|0); + $1 = (19593 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19292 + ($0)|0); + $3 = (19596 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14552,9 +14556,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19289 + ($0)|0); + $1 = (19593 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19292 + ($0)|0); + $3 = (19596 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14575,7 +14579,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4115]|0; + $0 = HEAP32[4191]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8643,$vararg_buffer); @@ -14586,9 +14590,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16500>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16500+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16500+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16500+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16500+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[16804>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16804+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16804+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16804+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16804+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16528)>>2]|0; + $0 = HEAP32[(16832)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14599,11 +14603,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(16812|0)); - $0 = HEAP32[4203]|0; + _glDeleteTextures(1,(17116|0)); + $0 = HEAP32[4279]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8670,$vararg_buffer); - $1 = HEAP32[4233]|0; + $1 = HEAP32[4309]|0; _free($1); STACKTOP = sp;return; } @@ -14611,17 +14615,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4204]|0; + $0 = HEAP32[4280]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4196]|0; + $0 = HEAP32[4272]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4198]|0; + $2 = HEAP32[4274]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14630,39 +14634,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18008)|0)); - _glDeleteBuffers(1,((18012)|0)); - _glDeleteBuffers(1,((18056)|0)); - _glDeleteBuffers(1,((18060)|0)); - _glDeleteBuffers(1,((18104)|0)); - _glDeleteBuffers(1,((18108)|0)); - _glDeleteBuffers(1,((18112)|0)); - _glDeleteBuffers(1,((18116)|0)); - $3 = HEAP32[4196]|0; + _glDeleteBuffers(1,((18312)|0)); + _glDeleteBuffers(1,((18316)|0)); + _glDeleteBuffers(1,((18360)|0)); + _glDeleteBuffers(1,((18364)|0)); + _glDeleteBuffers(1,((18408)|0)); + _glDeleteBuffers(1,((18412)|0)); + _glDeleteBuffers(1,((18416)|0)); + _glDeleteBuffers(1,((18420)|0)); + $3 = HEAP32[4272]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4199]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18004)); - $6 = HEAP32[4199]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18052)); - $7 = HEAP32[4199]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18100)); + $5 = HEAP32[4275]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18308)); + $6 = HEAP32[4275]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18356)); + $7 = HEAP32[4275]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18404)); } - $8 = HEAP32[(17988)>>2]|0; + $8 = HEAP32[(18292)>>2]|0; _free($8); - $9 = HEAP32[(17996)>>2]|0; + $9 = HEAP32[(18300)>>2]|0; _free($9); - $10 = HEAP32[(18036)>>2]|0; + $10 = HEAP32[(18340)>>2]|0; _free($10); - $11 = HEAP32[(18044)>>2]|0; + $11 = HEAP32[(18348)>>2]|0; _free($11); - $12 = HEAP32[(18084)>>2]|0; + $12 = HEAP32[(18388)>>2]|0; _free($12); - $13 = HEAP32[(18088)>>2]|0; + $13 = HEAP32[(18392)>>2]|0; _free($13); - $14 = HEAP32[(18092)>>2]|0; + $14 = HEAP32[(18396)>>2]|0; _free($14); - $15 = HEAP32[(18096)>>2]|0; + $15 = HEAP32[(18400)>>2]|0; _free($15); return; } @@ -14702,16 +14706,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2046] = $0; - $1 = +HEAPF64[2029]; + HEAPF64[2084] = $0; + $1 = +HEAPF64[2067]; $2 = $0 - $1; - HEAPF64[2047] = $2; - HEAPF64[2029] = $0; + HEAPF64[2085] = $2; + HEAPF64[2067] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16556; 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)); + dest=$downscaleView$byval_copy; src=16860; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18128); + _rlMultMatrixf(18432); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -14720,53 +14724,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[4532] = $1; + HEAP32[4608] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18132)>>2] = $3; + HEAP32[(18436)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18136)>>2] = $5; + HEAP32[(18440)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18140)>>2] = $7; + HEAP32[(18444)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18144)>>2] = $9; + HEAP32[(18448)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18148)>>2] = $11; + HEAP32[(18452)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18152)>>2] = $13; + HEAP32[(18456)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18156)>>2] = $15; + HEAP32[(18460)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18160)>>2] = $17; + HEAP32[(18464)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18164)>>2] = $19; + HEAP32[(18468)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18168)>>2] = $21; + HEAP32[(18472)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18172)>>2] = $23; + HEAP32[(18476)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18176)>>2] = $25; + HEAP32[(18480)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18180)>>2] = $27; + HEAP32[(18484)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18184)>>2] = $29; + HEAP32[(18488)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18188)>>2] = $31; - return (18128|0); + HEAP32[(18492)>>2] = $31; + return (18432|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -14841,7 +14845,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4162]|0; + $49 = HEAP32[4238]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -14855,15 +14859,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2046] = $0; - $1 = +HEAPF64[2029]; + HEAPF64[2084] = $0; + $1 = +HEAPF64[2067]; $2 = $0 - $1; - HEAPF64[2048] = $2; - HEAPF64[2029] = $0; - $3 = +HEAPF64[2047]; + HEAPF64[2086] = $2; + HEAPF64[2067] = $0; + $3 = +HEAPF64[2085]; $4 = $2 + $3; - HEAPF64[2049] = $4; - $5 = +HEAPF64[2026]; + HEAPF64[2087] = $4; + $5 = +HEAPF64[2064]; $6 = $4 < $5; if (!($6)) { return; @@ -14873,13 +14877,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2046] = $10; - $11 = +HEAPF64[2029]; + HEAPF64[2084] = $10; + $11 = +HEAPF64[2067]; $12 = $10 - $11; - HEAPF64[2029] = $10; - $13 = +HEAPF64[2049]; + HEAPF64[2067] = $10; + $13 = +HEAPF64[2087]; $14 = $12 + $13; - HEAPF64[2049] = $14; + HEAPF64[2087] = $14; return; } function _rlglDraw() { @@ -14892,7 +14896,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4115]|0; + $0 = HEAP32[4191]|0; _glfwSwapBuffers(($0|0)); return; } @@ -14908,20 +14912,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[4548] = 0; - $3 = HEAP32[4115]|0; + HEAP32[4624] = 0; + $3 = HEAP32[4191]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4050] = $5; + HEAPF32[4126] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16204)>>2] = $7; - _memcpy((19807|0),(19295|0),512)|0; - ;HEAP8[19292>>0]=HEAP8[19289>>0]|0;HEAP8[19292+1>>0]=HEAP8[19289+1>>0]|0;HEAP8[19292+2>>0]=HEAP8[19289+2>>0]|0; - $8 = HEAP32[4531]|0; - HEAP32[4118] = $8; - HEAP32[4531] = 0; + HEAPF32[(16508)>>2] = $7; + _memcpy((20111|0),(19599|0),512)|0; + ;HEAP8[19596>>0]=HEAP8[19593>>0]|0;HEAP8[19596+1>>0]=HEAP8[19593+1>>0]|0;HEAP8[19596+2>>0]=HEAP8[19593+2>>0]|0; + $8 = HEAP32[4607]|0; + HEAP32[4194] = $8; + HEAP32[4607] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -14931,8 +14935,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20319 + ($$05160<<5)|0); - $scevgep67 = (20447 + ($$05160<<5)|0); + $scevgep = (20623 + ($$05160<<5)|0); + $scevgep67 = (20751 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -14946,7 +14950,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20447 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((20751 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -14973,7 +14977,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18196 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18500 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -14989,7 +14993,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4548] = $$lcssa; + HEAP32[4624] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15030,87 +15034,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4494]|0; + $0 = HEAP32[4570]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4196]|0; + $2 = HEAP32[4272]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4198]|0; - $5 = HEAP32[(18004)>>2]|0; + $4 = HEAP32[4274]|0; + $5 = HEAP32[(18308)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18008)>>2]|0; + $6 = HEAP32[(18312)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4494]|0; + $7 = HEAP32[4570]|0; $8 = ($7*12)|0; - $9 = HEAP32[(17988)>>2]|0; + $9 = HEAP32[(18292)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18012)>>2]|0; + $10 = HEAP32[(18316)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(17984)>>2]|0; + $11 = HEAP32[(18288)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(17996)>>2]|0; + $13 = HEAP32[(18300)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4506]|0; + $14 = HEAP32[4582]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4196]|0; + $16 = HEAP32[4272]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4198]|0; - $19 = HEAP32[(18052)>>2]|0; + $18 = HEAP32[4274]|0; + $19 = HEAP32[(18356)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18056)>>2]|0; + $20 = HEAP32[(18360)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4506]|0; + $21 = HEAP32[4582]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18036)>>2]|0; + $23 = HEAP32[(18340)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18060)>>2]|0; + $24 = HEAP32[(18364)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18032)>>2]|0; + $25 = HEAP32[(18336)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18044)>>2]|0; + $27 = HEAP32[(18348)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4518]|0; + $28 = HEAP32[4594]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4196]|0; + $30 = HEAP32[4272]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4198]|0; - $33 = HEAP32[(18100)>>2]|0; + $32 = HEAP32[4274]|0; + $33 = HEAP32[(18404)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18104)>>2]|0; + $34 = HEAP32[(18408)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4518]|0; + $35 = HEAP32[4594]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18084)>>2]|0; + $37 = HEAP32[(18388)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18108)>>2]|0; + $38 = HEAP32[(18412)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4518]|0; + $39 = HEAP32[4594]|0; $40 = $39 << 3; - $41 = HEAP32[(18088)>>2]|0; + $41 = HEAP32[(18392)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18112)>>2]|0; + $42 = HEAP32[(18416)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4518]|0; + $43 = HEAP32[4594]|0; $44 = $43 << 2; - $45 = HEAP32[(18092)>>2]|0; + $45 = HEAP32[(18396)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4196]|0; + $46 = HEAP32[4272]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4198]|0; + $48 = HEAP32[4274]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15128,9 +15132,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16652; 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)); - dest=$1; src=16716; 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)); - $3 = HEAP32[4581]|0; + dest=$0; src=16956; 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)); + dest=$1; src=17020; 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)); + $3 = HEAP32[4657]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15140,134 +15144,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4494]|0; + $8 = HEAP32[4570]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4506]|0; + $10 = HEAP32[4582]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4518]|0; + $12 = HEAP32[4594]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4218]|0; + $14 = HEAP32[4294]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=16716; 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)); - dest=$$byval_copy2; src=16652; 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)); + dest=$modelview$byval_copy; src=17020; 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)); + dest=$$byval_copy2; src=16956; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(16900)>>2]|0; + $15 = HEAP32[(17204)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(16904)>>2]|0; + $17 = HEAP32[(17208)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(16916)>>2]|0; + $18 = HEAP32[(17220)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4494]|0; + $19 = HEAP32[4570]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4203]|0; + $21 = HEAP32[4279]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4196]|0; + $22 = HEAP32[4272]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18008)>>2]|0; + $26 = HEAP32[(18312)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(16876)>>2]|0; + $27 = HEAP32[(17180)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(16876)>>2]|0; + $28 = HEAP32[(17180)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18012)>>2]|0; + $29 = HEAP32[(18316)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(16896)>>2]|0; + $30 = HEAP32[(17200)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(16896)>>2]|0; + $31 = HEAP32[(17200)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4198]|0; - $25 = HEAP32[(18004)>>2]|0; + $24 = HEAP32[4274]|0; + $25 = HEAP32[(18308)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4494]|0; + $32 = HEAP32[4570]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4196]|0; + $33 = HEAP32[4272]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4506]|0; + $35 = HEAP32[4582]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4203]|0; + $37 = HEAP32[4279]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4196]|0; + $38 = HEAP32[4272]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18056)>>2]|0; + $42 = HEAP32[(18360)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(16876)>>2]|0; + $43 = HEAP32[(17180)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(16876)>>2]|0; + $44 = HEAP32[(17180)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18060)>>2]|0; + $45 = HEAP32[(18364)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(16896)>>2]|0; + $46 = HEAP32[(17200)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(16896)>>2]|0; + $47 = HEAP32[(17200)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4198]|0; - $41 = HEAP32[(18052)>>2]|0; + $40 = HEAP32[4274]|0; + $41 = HEAP32[(18356)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4506]|0; + $48 = HEAP32[4582]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4196]|0; + $49 = HEAP32[4272]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4518]|0; + $51 = HEAP32[4594]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4196]|0; + $53 = HEAP32[4272]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18104)>>2]|0; + $57 = HEAP32[(18408)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(16876)>>2]|0; + $58 = HEAP32[(17180)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(16876)>>2]|0; + $59 = HEAP32[(17180)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18108)>>2]|0; + $60 = HEAP32[(18412)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(16880)>>2]|0; + $61 = HEAP32[(17184)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(16880)>>2]|0; + $62 = HEAP32[(17184)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18112)>>2]|0; + $63 = HEAP32[(18416)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(16896)>>2]|0; + $64 = HEAP32[(17200)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(16896)>>2]|0; + $65 = HEAP32[(17200)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18116)>>2]|0; + $66 = HEAP32[(18420)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4198]|0; - $56 = HEAP32[(18100)>>2]|0; + $55 = HEAP32[4274]|0; + $56 = HEAP32[(18404)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4234]|0; + $67 = HEAP32[4310]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4233]|0; + $71 = HEAP32[4309]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15278,14 +15282,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4233]|0; + $80 = HEAP32[4309]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4234]|0; + $87 = HEAP32[4310]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15294,7 +15298,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4196]|0; + $69 = HEAP32[4272]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15302,10 +15306,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4196]|0; + $89 = HEAP32[4272]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4198]|0; + $91 = HEAP32[4274]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15317,22 +15321,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4234] = 1; - $5 = HEAP32[4203]|0; - $6 = HEAP32[4233]|0; + HEAP32[4310] = 1; + $5 = HEAP32[4279]|0; + $6 = HEAP32[4309]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4494] = 0; - HEAP32[(17984)>>2] = 0; - HEAP32[4506] = 0; - HEAP32[(18032)>>2] = 0; - HEAP32[4518] = 0; - HEAP32[(18076)>>2] = 0; - HEAP32[(18080)>>2] = 0; + HEAP32[4570] = 0; + HEAP32[(18288)>>2] = 0; + HEAP32[4582] = 0; + HEAP32[(18336)>>2] = 0; + HEAP32[4594] = 0; + HEAP32[(18380)>>2] = 0; + HEAP32[(18384)>>2] = 0; HEAPF32[744] = -1.0; - dest=16652; src=$0; 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)); - dest=16716; src=$1; 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)); + dest=16956; src=$0; 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)); + dest=17020; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15347,17 +15351,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[4492]|0; + $5 = HEAP32[4568]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4493]|0; + $9 = HEAP32[4569]|0; _rlViewport($7,0,$8,$9); - $10 = (18556 + ($0<<6)|0); + $10 = (18860 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18428 + ($0<<6)|0); + $11 = (18732 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -15369,14 +15373,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16716; src=$0; 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)); + dest=17020; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16652; src=$0; 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)); + dest=16956; src=$0; 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)); return; } function _rlPushMatrix() { @@ -15384,43 +15388,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4671]|0; + $0 = HEAP32[4747]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,8785,$vararg_buffer); } - $2 = HEAP32[4671]|0; - $3 = (16944 + ($2<<6)|0); - $4 = HEAP32[4162]|0; + $2 = HEAP32[4747]|0; + $3 = (17248 + ($2<<6)|0); + $4 = HEAP32[4238]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[4671]|0; + $5 = HEAP32[4747]|0; $6 = (($5) + 1)|0; - HEAP32[4671] = $6; - $7 = HEAP32[4195]|0; + HEAP32[4747] = $6; + $7 = HEAP32[4271]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4672] = 1; + HEAP32[4748] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4671]|0; + $0 = HEAP32[4747]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4671]|0; + $2 = HEAP32[4747]|0; $3 = (($2) + -1)|0; - $4 = (16944 + ($3<<6)|0); - $5 = HEAP32[4162]|0; + $4 = (17248 + ($3<<6)|0); + $5 = HEAP32[4238]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4671] = $6; + HEAP32[4747] = $6; return; } function _IsFileExtension($0,$1) { @@ -15453,7 +15457,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4162]|0; + $5 = HEAP32[4238]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15486,7 +15490,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4162]|0; + $11 = HEAP32[4238]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15497,7 +15501,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4235] = $0; + HEAP32[4311] = $0; return; } function _rlEnd() { @@ -15513,21 +15517,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4672]|0; + $0 = HEAP32[4748]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4673]|0; + $2 = HEAP32[4749]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4232]|0; + $6 = HEAP32[4308]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4162]|0; + $8 = HEAP32[4238]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4673]|0; + $5 = HEAP32[4749]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15535,12 +15539,12 @@ function _rlEnd() { break; } } - HEAP32[4672] = 0; + HEAP32[4748] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4232]|0; + $11 = HEAP32[4308]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15549,7 +15553,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4673]|0; + $19 = HEAP32[4749]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15559,15 +15563,15 @@ function _rlEnd() { } } } else { - HEAP32[4672] = 0; + HEAP32[4748] = 0; } - HEAP32[4673] = 0; + HEAP32[4749] = 0; } - $21 = HEAP32[4235]|0; + $21 = HEAP32[4311]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4494]|0; - $23 = HEAP32[(17984)>>2]|0; + $22 = HEAP32[4570]|0; + $23 = HEAP32[(18288)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15586,16 +15590,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(17996)>>2]|0; - $28 = HEAP32[(17984)>>2]|0; + $27 = HEAP32[(18300)>>2]|0; + $28 = HEAP32[(18288)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(17996)>>2]|0; - $35 = HEAP32[(17984)>>2]|0; + $34 = HEAP32[(18300)>>2]|0; + $35 = HEAP32[(18288)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15603,8 +15607,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(17996)>>2]|0; - $43 = HEAP32[(17984)>>2]|0; + $42 = HEAP32[(18300)>>2]|0; + $43 = HEAP32[(18288)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15612,8 +15616,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(17996)>>2]|0; - $51 = HEAP32[(17984)>>2]|0; + $50 = HEAP32[(18300)>>2]|0; + $51 = HEAP32[(18288)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15621,9 +15625,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(17984)>>2]|0; + $58 = HEAP32[(18288)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(17984)>>2] = $59; + HEAP32[(18288)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15639,8 +15643,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4506]|0; - $62 = HEAP32[(18032)>>2]|0; + $61 = HEAP32[4582]|0; + $62 = HEAP32[(18336)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15659,16 +15663,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18044)>>2]|0; - $67 = HEAP32[(18032)>>2]|0; + $66 = HEAP32[(18348)>>2]|0; + $67 = HEAP32[(18336)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18044)>>2]|0; - $74 = HEAP32[(18032)>>2]|0; + $73 = HEAP32[(18348)>>2]|0; + $74 = HEAP32[(18336)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15676,8 +15680,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18044)>>2]|0; - $82 = HEAP32[(18032)>>2]|0; + $81 = HEAP32[(18348)>>2]|0; + $82 = HEAP32[(18336)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15685,8 +15689,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18044)>>2]|0; - $90 = HEAP32[(18032)>>2]|0; + $89 = HEAP32[(18348)>>2]|0; + $90 = HEAP32[(18336)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15694,9 +15698,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18032)>>2]|0; + $97 = HEAP32[(18336)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18032)>>2] = $98; + HEAP32[(18336)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -15712,8 +15716,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4518]|0; - $101 = HEAP32[(18080)>>2]|0; + $100 = HEAP32[4594]|0; + $101 = HEAP32[(18384)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -15721,16 +15725,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18092)>>2]|0; - $106 = HEAP32[(18080)>>2]|0; + $105 = HEAP32[(18396)>>2]|0; + $106 = HEAP32[(18384)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18092)>>2]|0; - $113 = HEAP32[(18080)>>2]|0; + $112 = HEAP32[(18396)>>2]|0; + $113 = HEAP32[(18384)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -15738,8 +15742,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18092)>>2]|0; - $121 = HEAP32[(18080)>>2]|0; + $120 = HEAP32[(18396)>>2]|0; + $121 = HEAP32[(18384)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -15747,8 +15751,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18092)>>2]|0; - $129 = HEAP32[(18080)>>2]|0; + $128 = HEAP32[(18396)>>2]|0; + $129 = HEAP32[(18384)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -15756,9 +15760,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18080)>>2]|0; + $136 = HEAP32[(18384)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18080)>>2] = $137; + HEAP32[(18384)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -15769,8 +15773,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4518]|0; - $140 = HEAP32[(18076)>>2]|0; + $139 = HEAP32[4594]|0; + $140 = HEAP32[(18380)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -15778,8 +15782,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18088)>>2]|0; - $$promoted = HEAP32[(18076)>>2]|0; + $142 = HEAP32[(18392)>>2]|0; + $$promoted = HEAP32[(18380)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -15787,7 +15791,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18076)>>2] = $147; + HEAP32[(18380)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -15814,11 +15818,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4672]|0; + $3 = HEAP32[4748]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4232]|0; - $6 = HEAP32[4673]|0; + $5 = HEAP32[4308]|0; + $6 = HEAP32[4749]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -15826,16 +15830,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4673] = $10; + HEAP32[4749] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4235]|0; + $11 = HEAP32[4311]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4494]|0; + $12 = HEAP32[4570]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(17988)>>2]|0; + $14 = HEAP32[(18292)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -15846,7 +15850,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4494] = $21; + HEAP32[4570] = $21; STACKTOP = sp;return; } else { _TraceLog(1,8823,$vararg_buffer); @@ -15855,10 +15859,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4506]|0; + $22 = HEAP32[4582]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18036)>>2]|0; + $24 = HEAP32[(18340)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -15869,7 +15873,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4506] = $31; + HEAP32[4582] = $31; STACKTOP = sp;return; } else { _TraceLog(1,8848,$vararg_buffer1); @@ -15878,10 +15882,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4518]|0; + $32 = HEAP32[4594]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18084)>>2]|0; + $34 = HEAP32[(18388)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -15892,9 +15896,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4518] = $41; - $42 = HEAP32[4233]|0; - $43 = HEAP32[4234]|0; + HEAP32[4594] = $41; + $42 = HEAP32[4309]|0; + $43 = HEAP32[4310]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -15926,13 +15930,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4235]|0; + $2 = HEAP32[4311]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18088)>>2]|0; - $5 = HEAP32[(18076)>>2]|0; + $4 = HEAP32[(18392)>>2]|0; + $5 = HEAP32[(18380)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -15940,7 +15944,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18076)>>2] = $10; + HEAP32[(18380)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -15959,18 +15963,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4235]|0; + $4 = HEAP32[4311]|0; switch ($4|0) { case 1: { - $$sink37 = (17984);$$sink38 = (17996); + $$sink37 = (18288);$$sink38 = (18300); break; } case 4: { - $$sink37 = (18032);$$sink38 = (18044); + $$sink37 = (18336);$$sink38 = (18348); break; } case 7: { - $$sink37 = (18080);$$sink38 = (18092); + $$sink37 = (18384);$$sink38 = (18396); break; } default: { @@ -16009,8 +16013,8 @@ function _rlEnableTexture($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 = HEAP32[4233]|0; - $2 = HEAP32[4234]|0; + $1 = HEAP32[4309]|0; + $2 = HEAP32[4310]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16023,9 +16027,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4234] = $10; + HEAP32[4310] = $10; } - $11 = HEAP32[4234]|0; + $11 = HEAP32[4310]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16036,7 +16040,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4518]|0; + $0 = HEAP32[4594]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16044,40 +16048,11 @@ function _rlDisableTexture() { _rlglDraw(); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(8902); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10235)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4674] = $0; + HEAP32[4750] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16141,7 +16116,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((8914|0),(8940|0),1125,(8963|0)); + ___assert_fail((8902|0),(8928|0),1041,(8951|0)); // unreachable; } } @@ -16159,7 +16134,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4675]|0; + $15 = HEAP32[4751]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16252,7 +16227,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9004); + _stbi__err(8992); $$0 = 0; return ($$0|0); } else { @@ -16274,7 +16249,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(8995); + _stbi__err(8983); $$0 = 0; return ($$0|0); } @@ -16344,7 +16319,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9023); + _stbi__err(9011); $$045 = 0; return ($$045|0); } @@ -16905,7 +16880,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9339 + ($120)|0); + $121 = (9327 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -16947,97 +16922,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9113); + _stbi__err(9101); $$6$ph = 0; break; } case 9: { - _stbi__err(9127); + _stbi__err(9115); $$6$ph = 0; break; } case 11: { - _stbi__err(9140); + _stbi__err(9128); $$6$ph = 0; break; } case 13: { - _stbi__err(9140); + _stbi__err(9128); $$6$ph = 0; break; } case 15: { - _stbi__err(9150); + _stbi__err(9138); $$6$ph = 0; break; } case 17: { - _stbi__err(9170); + _stbi__err(9158); $$6$ph = 0; break; } case 20: { - _stbi__err(9170); + _stbi__err(9158); $$6$ph = 0; break; } case 22: { - _stbi__err(9170); + _stbi__err(9158); $$6$ph = 0; break; } case 24: { - _stbi__err(9180); + _stbi__err(9168); $$6$ph = 0; break; } case 26: { - _stbi__err(9196); + _stbi__err(9184); $$6$ph = 0; break; } case 28: { - _stbi__err(9214); + _stbi__err(9202); $$6$ph = 0; break; } case 31: { - _stbi__err(9235); + _stbi__err(9223); $$6$ph = 0; break; } case 34: { - _stbi__err(9140); + _stbi__err(9128); $$6$ph = 0; break; } case 37: { - _stbi__err(9140); + _stbi__err(9128); $$6$ph = 0; break; } case 39: { - _stbi__err(9249); + _stbi__err(9237); $$6$ph = 0; break; } case 41: { - _stbi__err(9264); + _stbi__err(9252); $$6$ph = 0; break; } case 44: { - _stbi__err(9264); + _stbi__err(9252); $$6$ph = 0; break; } case 47: { - _stbi__err(9249); + _stbi__err(9237); $$6$ph = 0; break; } case 49: { - _stbi__err(9277); + _stbi__err(9265); $$6$ph = 0; break; } @@ -17048,32 +17023,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9293); + _stbi__err(9281); $$6$ph = 0; break; } case 58: { - _stbi__err(9310); + _stbi__err(9298); $$6$ph = 0; break; } case 61: { - _stbi__err(9323); + _stbi__err(9311); $$6$ph = 0; break; } case 63: { - _stbi__err(9310); + _stbi__err(9298); $$6$ph = 0; break; } case 70: { - _stbi__err(9249); + _stbi__err(9237); $$6$ph = 0; break; } case 72: { - _stbi__err(9348); + _stbi__err(9336); $$6$ph = 0; break; } @@ -17085,12 +17060,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(8995); + _stbi__err(8983); $$6$ph = 0; break; } case 83: { - _stbi__err(9356); + _stbi__err(9344); $$6$ph = 0; break; } @@ -17103,7 +17078,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9366); + _stbi__err(9354); $$4 = 0; break; } @@ -17168,7 +17143,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4676]|0; + $193 = HEAP32[4752]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17201,7 +17176,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9249); + _stbi__err(9237); $$4 = 0; } } while(0); @@ -17209,24 +17184,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9249); + _stbi__err(9237); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9374] = $206; + HEAP8[9362] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9375)>>0] = $209; + HEAP8[(9363)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9376)>>0] = $211; + HEAP8[(9364)>>0] = $211; $212 = $207&255; - HEAP8[(9377)>>0] = $212; - _stbi__err(9374); + HEAP8[(9365)>>0] = $212; + _stbi__err(9362); $$6$ph = 0; break; } @@ -17260,14 +17235,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9036|0),(8940|0),1561,(9092|0)); + ___assert_fail((9024|0),(8928|0),1477,(9080|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(8995); + _stbi__err(8983); $$0163 = 0; return ($$0163|0); } @@ -17630,7 +17605,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9090|0),(8940|0),1590,(9092|0)); + ___assert_fail((9078|0),(8928|0),1506,(9080|0)); // unreachable; } } while(0); @@ -17664,7 +17639,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9036|0),(8940|0),1610,(9067|0)); + ___assert_fail((9024|0),(8928|0),1526,(9055|0)); // unreachable; } $7 = $2 << 1; @@ -17674,7 +17649,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(8995); + _stbi__err(8983); $$0163 = 0; return ($$0163|0); } @@ -18037,7 +18012,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9090|0),(8940|0),1639,(9067|0)); + ___assert_fail((9078|0),(8928|0),1555,(9055|0)); // unreachable; } } while(0); @@ -18185,7 +18160,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10031); + _stbi__err(10339); $$05 = 0; return ($$05|0); } @@ -18622,7 +18597,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9433|0),(8940|0),4568,(9485|0)); + ___assert_fail((9421|0),(8928|0),4569,(9473|0)); // unreachable; } } @@ -18709,7 +18684,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9433|0),(8940|0),4543,(9458|0)); + ___assert_fail((9421|0),(8928|0),4544,(9446|0)); // unreachable; } } @@ -18756,7 +18731,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4677]|0; + $16 = HEAP32[4753]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -18831,7 +18806,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9399|0),(8940|0),4649,(9417|0)); + ___assert_fail((9387|0),(8928|0),4650,(9405|0)); // unreachable; } } @@ -18854,7 +18829,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(8995); + _stbi__err(8983); $$0 = 0; return ($$0|0); } @@ -19031,7 +19006,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9514|0),(8940|0),4294,(9555|0)); + ___assert_fail((9502|0),(8928|0),4294,(9543|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19039,7 +19014,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(8995); + _stbi__err(8983); $$2 = 0; return ($$2|0); } @@ -19058,7 +19033,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9582); + _stbi__err(9570); $$2 = 0; return ($$2|0); } @@ -19071,7 +19046,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9582); + _stbi__err(9570); $$2 = 0; return ($$2|0); } @@ -19079,12 +19054,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19107,33 +19082,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9621 + ($56)|0); + $60 = (9609 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19143,24 +19118,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19170,10 +19145,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19184,10 +19159,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19198,14 +19173,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19235,7 +19210,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19250,12 +19225,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -19832,15 +19807,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9600|0),(8940|0),4315,(9555|0)); + ___assert_fail((9588|0),(8928|0),4315,(9543|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9626|0),(8940|0),4376,(9555|0)); + ___assert_fail((9614|0),(8928|0),4377,(9543|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9643); + _stbi__err(9631); $$2 = 0; return ($$2|0); } @@ -19890,7 +19865,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9339 + ($6)|0); + $336 = (9327 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20331,7 +20306,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9658|0),(8940|0),4465,(9555|0)); + ___assert_fail((9646|0),(8928|0),4466,(9543|0)); // unreachable; } else if ((label|0) == 151) { @@ -20391,8 +20366,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20407,15 +20382,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20424,65 +20399,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20606)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9657,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,20607,288)|0); + $15 = (_stbi__zbuild_huffman($8,9945,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,20575,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20501,14 +20471,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(9984); + _stbi__err(10292); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10000); + _stbi__err(10308); $$0 = 0; return ($$0|0); } @@ -20517,7 +20487,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10015); + _stbi__err(10323); $$0 = 0; return ($$0|0); } @@ -20600,7 +20570,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((9906|0),(8940|0),4048,(9923|0)); + ___assert_fail((10214|0),(8928|0),4033,(10231|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -20637,7 +20607,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(9954); + _stbi__err(10262); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20647,7 +20617,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(9967); + _stbi__err(10275); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20677,21 +20647,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20607|0),8,144)|0; - dest=(20751); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(20863); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (20887); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20575; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -20825,7 +20780,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(9844); + _stbi__err(10152); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -20914,7 +20869,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(9896); + _stbi__err(10204); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -20943,7 +20898,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10690 + ($$06579)|0); + $14 = (10998 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21034,21 +20989,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(9844); + _stbi__err(10152); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(9844); + _stbi__err(10152); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((9860|0),(8940|0),4021,(9868|0)); + ___assert_fail((10168|0),(8928|0),4006,(10176|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(9844); + _stbi__err(10152); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21058,7 +21013,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(9844); + _stbi__err(10152); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21222,7 +21177,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9669); + _stbi__err(9977); $$3$ph = 0; return ($$3$ph|0); } @@ -21232,12 +21187,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9669); + _stbi__err(9977); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9686); + _stbi__err(9994); $$3$ph = 0; return ($$3$ph|0); } @@ -21294,7 +21249,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9695); + _stbi__err(10003); $$0 = 0; return ($$0|0); } @@ -21320,7 +21275,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(8995); + _stbi__err(8983); $$0 = 0; return ($$0|0); } else { @@ -21365,7 +21320,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((9791|0),(8940|0),3863,(9828|0)); + ___assert_fail((10099|0),(8928|0),3848,(10136|0)); // unreachable; } else if ((label|0) == 5) { @@ -21413,7 +21368,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9715|0),(8940|0),3891,(9731|0)); + ___assert_fail((10023|0),(8928|0),3876,(10039|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21441,7 +21396,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((9762|0),(8940|0),3781,(9773|0)); + ___assert_fail((10070|0),(8928|0),3766,(10081|0)); // unreachable; } return (0)|0; @@ -21587,10 +21542,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -21601,27 +21556,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10043)|0); + $6 = (_IsFileExtension($1,10351)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10096)|0); + $19 = (_IsFileExtension($1,10404)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10101,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10409,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10543)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -21649,7 +21605,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -21666,18 +21622,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10049,$vararg_buffer); + _TraceLog(2,10357,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -21686,34 +21642,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10137,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,10445,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10176,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10484,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -21732,11 +21695,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10235)|0); + $4 = (_fopen($0,10543)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10238,$vararg_buffer); + _TraceLog(2,10546,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -21835,7 +21798,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10335,$vararg_buffer4); + _TraceLog(0,10643,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -21870,14 +21833,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10381,$vararg_buffer8); + _TraceLog(2,10689,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10289,$vararg_buffer1); + _TraceLog(2,10597,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -21967,7 +21930,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10207,$vararg_buffer); + _TraceLog(2,10515,$vararg_buffer); $$0 = $6; } } @@ -22012,27 +21975,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10431,$vararg_buffer); + _TraceLog(2,10739,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10470,$vararg_buffer1); + _TraceLog(2,10778,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10496,$vararg_buffer3); + _TraceLog(2,10804,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10559,$vararg_buffer5); + _TraceLog(2,10867,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10594,$vararg_buffer7); + _TraceLog(2,10902,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10629,$vararg_buffer10); + _TraceLog(0,10937,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23215,7 +23178,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10686 + ($$361133)|0); + $199 = (10994 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -23645,7 +23608,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10686 + ($$331130)|0); + $186 = (10994 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -23683,7 +23646,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10686 + ($$371134)|0); + $203 = (10994 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -23722,7 +23685,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10690 + ($$421139)|0); + $235 = (10998 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24129,7 +24092,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10709 + ($495)|0); + $496 = (11017 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24166,7 +24129,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10713 + ($515)|0); + $516 = (11021 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25078,7 +25041,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,10717,$vararg_buffer); + _TraceLog(2,11025,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -25099,7 +25062,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16500>>2]|0;HEAP32[$0+4>>2]=HEAP32[16500+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16500+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16500+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16500+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16500+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16500+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16500+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[16804>>2]|0;HEAP32[$0+4>>2]=HEAP32[16804+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16804+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16804+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16804+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16804+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16804+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16804+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -25605,7 +25568,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,10746)|0); + $12 = (_strstr($11,11054)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -25614,7 +25577,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,10750)|0); + $17 = (_strstr($16,11058)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -25623,7 +25586,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,10754)|0); + $22 = (_strstr($21,11062)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -25632,7 +25595,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,10758)|0); + $27 = (_strstr($26,11066)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -25641,1210 +25604,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,10764)|0); + $32 = (_strcmp($31,11072)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,10802)|0); + $35 = (_strcmp($34,11110)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 10821; + HEAP32[$3>>2] = 11129; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,10834)|0); + $38 = (_strcmp($37,11142)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 10855; + HEAP32[$3>>2] = 11163; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,10870)|0); + $41 = (_strcmp($40,11178)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 10885; + HEAP32[$3>>2] = 11193; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,10900)|0); + $44 = (_strcmp($43,11208)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 10915; + HEAP32[$3>>2] = 11223; } } else { - HEAP32[$3>>2] = 10786; + HEAP32[$3>>2] = 11094; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,10930)|0); + $47 = (_strcmp($46,11238)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,10944)|0); + $50 = (_strcmp($49,11252)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,10956)|0); + $53 = (_strcmp($52,11264)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,10970)|0); + $56 = (_strcmp($55,11278)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,10982)|0); + $59 = (_strcmp($58,11290)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,10996)|0); + $62 = (_strcmp($61,11304)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11010)|0); + $65 = (_strcmp($64,11318)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11027)|0); + $68 = (_strcmp($67,11335)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11050)|0); + $71 = (_strcmp($70,11358)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11076)|0); + $74 = (_strcmp($73,11384)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11089)|0); + $77 = (_strcmp($76,11397)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11105)|0); + $80 = (_strcmp($79,11413)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11118)|0); + $83 = (_strcmp($82,11426)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11132)|0); + $86 = (_strcmp($85,11440)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11152)|0); + $89 = (_strcmp($88,11460)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11172)|0); + $92 = (_strcmp($91,11480)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11189)|0); + $95 = (_strcmp($94,11497)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11206)|0); + $98 = (_strcmp($97,11514)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11218)|0); + $101 = (_strcmp($100,11526)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11231)|0); + $104 = (_strcmp($103,11539)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11247)|0); + $107 = (_strcmp($106,11555)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11270)|0); + $110 = (_strcmp($109,11578)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11283)|0); + $113 = (_strcmp($112,11591)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11299)|0); + $116 = (_strcmp($115,11607)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11310)|0); + $119 = (_strcmp($118,11618)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11329)|0); + $122 = (_strcmp($121,11637)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11351)|0); + $125 = (_strcmp($124,11659)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11370)|0); + $128 = (_strcmp($127,11678)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11399)|0); + $131 = (_strcmp($130,11707)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11416)|0); + $134 = (_strcmp($133,11724)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11431)|0); + $137 = (_strcmp($136,11739)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11446)|0); + $140 = (_strcmp($139,11754)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11467)|0); + $143 = (_strcmp($142,11775)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11487)|0); + $146 = (_strcmp($145,11795)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11507)|0); + $149 = (_strcmp($148,11815)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11533)|0); + $152 = (_strcmp($151,11841)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11552)|0); + $155 = (_strcmp($154,11860)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11564)|0); + $158 = (_strcmp($157,11872)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11576)|0); + $161 = (_strcmp($160,11884)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11588)|0); + $164 = (_strcmp($163,11896)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11600)|0); + $167 = (_strcmp($166,11908)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11612)|0); + $170 = (_strcmp($169,11920)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11624)|0); + $173 = (_strcmp($172,11932)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11636)|0); + $176 = (_strcmp($175,11944)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11648)|0); + $179 = (_strcmp($178,11956)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11661)|0); + $182 = (_strcmp($181,11969)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11674)|0); + $185 = (_strcmp($184,11982)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11687)|0); + $188 = (_strcmp($187,11995)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11700)|0); + $191 = (_strcmp($190,12008)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11713)|0); + $194 = (_strcmp($193,12021)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11726)|0); + $197 = (_strcmp($196,12034)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,11739)|0); + $200 = (_strcmp($199,12047)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,11752)|0); + $203 = (_strcmp($202,12060)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,11771)|0); + $206 = (_strcmp($205,12079)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,11790)|0); + $209 = (_strcmp($208,12098)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,11809)|0); + $212 = (_strcmp($211,12117)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,11822)|0); + $215 = (_strcmp($214,12130)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,11840)|0); + $218 = (_strcmp($217,12148)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,11858)|0); + $221 = (_strcmp($220,12166)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,11876)|0); + $224 = (_strcmp($223,12184)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,11894)|0); + $227 = (_strcmp($226,12202)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,11914)|0); + $230 = (_strcmp($229,12222)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,10855)|0); + $233 = (_strcmp($232,11163)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,11932)|0); + $236 = (_strcmp($235,12240)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,11947)|0); + $239 = (_strcmp($238,12255)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,11968)|0); + $242 = (_strcmp($241,12276)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,11983)|0); + $245 = (_strcmp($244,12291)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12001)|0); + $248 = (_strcmp($247,12309)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12017)|0); + $251 = (_strcmp($250,12325)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12036)|0); + $254 = (_strcmp($253,12344)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12050)|0); + $257 = (_strcmp($256,12358)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12065)|0); + $260 = (_strcmp($259,12373)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,10786)|0); + $263 = (_strcmp($262,11094)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12076)|0); + $266 = (_strcmp($265,12384)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,10885)|0); + $269 = (_strcmp($268,11193)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,10915)|0); + $272 = (_strcmp($271,11223)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12092)|0); + $275 = (_strcmp($274,12400)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12119)|0); + $278 = (_strcmp($277,12427)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12133)|0); + $281 = (_strcmp($280,12441)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,10821)|0); + $284 = (_strcmp($283,11129)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12153)|0); + $287 = (_strcmp($286,12461)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12171)|0); + $290 = (_strcmp($289,12479)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12183)|0); + $293 = (_strcmp($292,12491)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12204)|0); + $296 = (_strcmp($295,12512)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12222)|0); + $299 = (_strcmp($298,12530)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12240)|0); + $302 = (_strcmp($301,12548)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12261)|0); + $305 = (_strcmp($304,12569)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12287)|0); + $308 = (_strcmp($307,12595)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12310)|0); + $311 = (_strcmp($310,12618)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12348)|0); + $314 = (_strcmp($313,12656)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12364)|0); + $317 = (_strcmp($316,12672)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12379)|0); + $320 = (_strcmp($319,12687)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12402)|0); + $323 = (_strcmp($322,12710)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12415)|0); + $326 = (_strcmp($325,12723)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12429)|0); + $329 = (_strcmp($328,12737)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12443)|0); + $332 = (_strcmp($331,12751)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12463)|0); + $335 = (_strcmp($334,12771)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12483)|0); + $338 = (_strcmp($337,12791)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12499)|0); + $341 = (_strcmp($340,12807)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12517)|0); + $344 = (_strcmp($343,12825)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12533)|0); + $347 = (_strcmp($346,12841)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12548)|0); + $350 = (_strcmp($349,12856)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12570)|0); + $353 = (_strcmp($352,12878)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12588)|0); + $356 = (_strcmp($355,12896)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12609)|0); + $359 = (_strcmp($358,12917)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12627)|0); + $362 = (_strcmp($361,12935)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12640)|0); + $365 = (_strcmp($364,12948)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12655)|0); + $368 = (_strcmp($367,12963)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12669)|0); + $371 = (_strcmp($370,12977)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12679)|0); + $374 = (_strcmp($373,12987)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12689)|0); + $377 = (_strcmp($376,12997)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12711)|0); + $380 = (_strcmp($379,13019)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,12737)|0); + $383 = (_strcmp($382,13045)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,12764)|0); + $386 = (_strcmp($385,13072)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,12777)|0); + $389 = (_strcmp($388,13085)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,12792)|0); + $392 = (_strcmp($391,13100)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,12807)|0); + $395 = (_strcmp($394,13115)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,12831)|0); + $398 = (_strcmp($397,13139)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,12842)|0); + $401 = (_strcmp($400,13150)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,12864)|0); + $404 = (_strcmp($403,13172)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,12886)|0); + $407 = (_strcmp($406,13194)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,12910)|0); + $410 = (_strcmp($409,13218)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,12919)|0); + $413 = (_strcmp($412,13227)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,12927)|0); + $416 = (_strcmp($415,13235)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,12940)|0); + $419 = (_strcmp($418,13248)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,12954)|0); + $422 = (_strcmp($421,13262)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,12966)|0); + $425 = (_strcmp($424,13274)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,12975)|0); + $428 = (_strcmp($427,13283)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,12985)|0); + $431 = (_strcmp($430,13293)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,12997)|0); + $434 = (_strcmp($433,13305)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13008)|0); + $437 = (_strcmp($436,13316)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13016)|0); + $440 = (_strcmp($439,13324)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13028)|0); + $443 = (_strcmp($442,13336)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13043)|0); + $446 = (_strcmp($445,13351)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13055)|0); + $449 = (_strcmp($448,13363)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13069)|0); + $452 = (_strcmp($451,13377)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13094)|0); + $455 = (_strcmp($454,13402)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13111)|0); + $458 = (_strcmp($457,13419)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13127)|0); + $461 = (_strcmp($460,13435)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13143)|0); + $464 = (_strcmp($463,13451)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13155)|0); + $467 = (_strcmp($466,13463)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13167)|0); + $470 = (_strcmp($469,13475)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13191)|0); + $473 = (_strcmp($472,13499)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13204)|0); + $476 = (_strcmp($475,13512)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13218)|0); + $479 = (_strcmp($478,13526)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13240)|0); + $482 = (_strcmp($481,13548)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13247)|0); + $485 = (_strcmp($484,13555)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13263)|0); + $488 = (_strcmp($487,13571)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13280)|0); + $491 = (_strcmp($490,13588)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13297)|0); + $494 = (_strcmp($493,13605)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13313)|0); + $497 = (_strcmp($496,13621)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13329)|0); + $500 = (_strcmp($499,13637)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13346)|0); + $503 = (_strcmp($502,13654)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13360)|0); + $506 = (_strcmp($505,13668)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13372)|0); + $509 = (_strcmp($508,13680)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13383)|0); + $512 = (_strcmp($511,13691)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13396)|0); + $515 = (_strcmp($514,13704)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13406)|0); + $518 = (_strcmp($517,13714)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13423)|0); + $521 = (_strcmp($520,13731)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13435)|0); + $524 = (_strcmp($523,13743)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13457)|0); + $527 = (_strcmp($526,13765)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13477)|0); + $530 = (_strcmp($529,13785)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13490)|0); + $533 = (_strcmp($532,13798)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13512)|0); + $536 = (_strcmp($535,13820)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13532)|0); + $539 = (_strcmp($538,13840)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13549)|0); + $542 = (_strcmp($541,13857)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13566)|0); + $545 = (_strcmp($544,13874)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13586)|0); + $548 = (_strcmp($547,13894)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -26866,7 +26829,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (18712|0); + return (19016|0); } function ___stdio_close($0) { $0 = $0|0; @@ -27730,7 +27693,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13702 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14010 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -27908,7 +27871,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14166;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14474;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -27929,7 +27892,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14166;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14474;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -27937,8 +27900,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14166 : (14168); - $$$ = $238 ? $$ : (14167); + $$ = $240 ? 14474 : (14476); + $$$ = $238 ? $$ : (14475); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -27955,7 +27918,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14166;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14474;$242 = $167;$243 = $170; label = 66; break; } @@ -27968,7 +27931,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14166;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14474;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -27982,7 +27945,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14176; + $271 = $270 ? $269 : 14484; $$1 = $271; label = 71; break; @@ -28022,7 +27985,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14166;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14474;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -28044,8 +28007,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14166 + ($208)|0); - $$289 = $or$cond283 ? 14166 : $209; + $209 = (14474 + ($208)|0); + $$289 = $or$cond283 ? 14474 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -28066,7 +28029,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14166;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14474;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -28596,7 +28559,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14218 + ($7)|0); + $9 = (14526 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -28954,14 +28917,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14183; + $$0471 = $14;$$0520 = 1;$$0521 = 14491; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14184) : (14189); - $$$ = $16 ? $$ : (14186); + $$ = $18 ? (14492) : (14497); + $$$ = $16 ? $$ : (14494); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -29060,7 +29023,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14218 + ($80)|0); + $81 = (14526 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -29671,7 +29634,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14234,1); + _out($0,14542,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -29752,7 +29715,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14234,1); + _out($0,14542,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -29809,9 +29772,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14202 : 14206; + $29 = $28 ? 14510 : 14514; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14210 : 14214; + $31 = $28 ? 14518 : 14522; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -30021,7 +29984,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14236 + ($$016)|0); + $3 = (14544 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -30032,7 +29995,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14324;$$115 = 87; + $$01214 = 14632;$$115 = 87; label = 5; break; } else { @@ -30042,9 +30005,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14324; + $$012$lcssa = 14632; } else { - $$01214 = 14324;$$115 = $$016; + $$01214 = 14632;$$115 = $$016; label = 5; } } @@ -30707,7 +30670,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16128,$3,4)|0); + $memchr = (_memchr(16436,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -30796,7 +30759,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16128,$4,4)|0); + $memchr = (_memchr(16436,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -30887,7 +30850,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(18716)>>2]|0; + $38 = HEAP32[(19020)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -30920,13 +30883,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((18776|0)); - return (18784|0); + ___lock((19080|0)); + return (19088|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((18776|0)); + ___unlock((19080|0)); return; } function _fclose($0) { @@ -31990,7 +31953,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16400; + $2 = 16704; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -32207,7 +32170,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4697]|0; + $3 = HEAP32[4773]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -32226,22 +32189,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4697] = 0; + HEAP32[4773] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4697] = $10; + HEAP32[4773] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4697] = 0; + HEAP32[4773] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4697] = $13; + HEAP32[4773] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -32322,7 +32285,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4698]|0; + $8 = HEAP32[4774]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -32331,7 +32294,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (18832 + ($15<<2)|0); + $16 = (19136 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -32342,9 +32305,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4698] = $24; + HEAP32[4774] = $24; } else { - $25 = HEAP32[(18808)>>2]|0; + $25 = HEAP32[(19112)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -32375,7 +32338,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(18800)>>2]|0; + $37 = HEAP32[(19104)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -32409,7 +32372,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (18832 + ($68<<2)|0); + $69 = (19136 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -32420,10 +32383,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4698] = $77; + HEAP32[4774] = $77; $98 = $77; } else { - $78 = HEAP32[(18808)>>2]|0; + $78 = HEAP32[(19112)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -32456,22 +32419,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(18812)>>2]|0; + $92 = HEAP32[(19116)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (18832 + ($94<<2)|0); + $95 = (19136 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4698] = $100; + HEAP32[4774] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(18808)>>2]|0; + $103 = HEAP32[(19112)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -32488,12 +32451,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(18800)>>2] = $84; - HEAP32[(18812)>>2] = $87; + HEAP32[(19104)>>2] = $84; + HEAP32[(19116)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(18796)>>2]|0; + $108 = HEAP32[(19100)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -32521,7 +32484,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19096 + ($132<<2)|0); + $133 = (19400 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -32561,7 +32524,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(18808)>>2]|0; + $155 = HEAP32[(19112)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -32656,7 +32619,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19096 + ($188<<2)|0); + $189 = (19400 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -32667,11 +32630,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(18796)>>2] = $194; + HEAP32[(19100)>>2] = $194; break L73; } } else { - $195 = HEAP32[(18808)>>2]|0; + $195 = HEAP32[(19112)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -32692,7 +32655,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(18808)>>2]|0; + $201 = HEAP32[(19112)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -32722,7 +32685,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(18808)>>2]|0; + $213 = HEAP32[(19112)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -32759,22 +32722,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(18812)>>2]|0; + $231 = HEAP32[(19116)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (18832 + ($233<<2)|0); + $234 = (19136 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4698] = $238; + HEAP32[4774] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(18808)>>2]|0; + $241 = HEAP32[(19112)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -32791,8 +32754,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(18800)>>2] = $$0193$lcssa$i; - HEAP32[(18812)>>2] = $157; + HEAP32[(19104)>>2] = $$0193$lcssa$i; + HEAP32[(19116)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -32808,7 +32771,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(18796)>>2]|0; + $250 = HEAP32[(19100)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -32848,7 +32811,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19096 + ($$0358$i<<2)|0); + $278 = (19400 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -32940,7 +32903,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19096 + ($330<<2)|0); + $331 = (19400 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -32984,11 +32947,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(18800)>>2]|0; + $345 = HEAP32[(19104)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(18808)>>2]|0; + $348 = HEAP32[(19112)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -33085,7 +33048,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19096 + ($381<<2)|0); + $382 = (19400 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -33096,12 +33059,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(18796)>>2] = $387; + HEAP32[(19100)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(18808)>>2]|0; + $388 = HEAP32[(19112)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -33123,7 +33086,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(18808)>>2]|0; + $394 = HEAP32[(19112)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -33155,7 +33118,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(18808)>>2]|0; + $406 = HEAP32[(19112)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -33196,20 +33159,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (18832 + ($425<<2)|0); - $427 = HEAP32[4698]|0; + $426 = (19136 + ($425<<2)|0); + $427 = HEAP32[4774]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4698] = $431; + HEAP32[4774] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(18808)>>2]|0; + $434 = HEAP32[(19112)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -33261,7 +33224,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19096 + ($$0361$i<<2)|0); + $464 = (19400 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -33273,7 +33236,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(18796)>>2] = $472; + HEAP32[(19100)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -33312,7 +33275,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(18808)>>2]|0; + $491 = HEAP32[(19112)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -33331,7 +33294,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(18808)>>2]|0; + $498 = HEAP32[(19112)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -33364,16 +33327,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(18800)>>2]|0; + $506 = HEAP32[(19104)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(18812)>>2]|0; + $509 = HEAP32[(19116)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(18812)>>2] = $511; - HEAP32[(18800)>>2] = $508; + HEAP32[(19116)>>2] = $511; + HEAP32[(19104)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -33383,8 +33346,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(18800)>>2] = 0; - HEAP32[(18812)>>2] = 0; + HEAP32[(19104)>>2] = 0; + HEAP32[(19116)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -33398,14 +33361,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(18804)>>2]|0; + $524 = HEAP32[(19108)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(18804)>>2] = $526; - $527 = HEAP32[(18816)>>2]|0; + HEAP32[(19108)>>2] = $526; + $527 = HEAP32[(19120)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(18816)>>2] = $528; + HEAP32[(19120)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -33416,23 +33379,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4816]|0; + $534 = HEAP32[4892]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19272)>>2] = 4096; - HEAP32[(19268)>>2] = 4096; - HEAP32[(19276)>>2] = -1; - HEAP32[(19280)>>2] = -1; - HEAP32[(19284)>>2] = 0; - HEAP32[(19236)>>2] = 0; + HEAP32[(19576)>>2] = 4096; + HEAP32[(19572)>>2] = 4096; + HEAP32[(19580)>>2] = -1; + HEAP32[(19584)>>2] = -1; + HEAP32[(19588)>>2] = 0; + HEAP32[(19540)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4816] = $538; + HEAP32[4892] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19272)>>2]|0; + $$pre$i212 = HEAP32[(19576)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -33445,10 +33408,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19232)>>2]|0; + $546 = HEAP32[(19536)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19224)>>2]|0; + $548 = HEAP32[(19528)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -33458,18 +33421,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19236)>>2]|0; + $552 = HEAP32[(19540)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(18816)>>2]|0; + $555 = HEAP32[(19120)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19240); + $$0$i$i = (19544); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -33527,7 +33490,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19268)>>2]|0; + $569 = HEAP32[(19572)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -33537,13 +33500,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19224)>>2]|0; + $578 = HEAP32[(19528)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19232)>>2]|0; + $582 = HEAP32[(19536)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -33589,7 +33552,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19272)>>2]|0; + $601 = HEAP32[(19576)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -33614,9 +33577,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19236)>>2]|0; + $611 = HEAP32[(19540)>>2]|0; $612 = $611 | 4; - HEAP32[(19236)>>2] = $612; + HEAP32[(19540)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -33652,35 +33615,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19224)>>2]|0; + $626 = HEAP32[(19528)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19224)>>2] = $627; - $628 = HEAP32[(19228)>>2]|0; + HEAP32[(19528)>>2] = $627; + $628 = HEAP32[(19532)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19228)>>2] = $627; + HEAP32[(19532)>>2] = $627; } - $630 = HEAP32[(18816)>>2]|0; + $630 = HEAP32[(19120)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(18808)>>2]|0; + $632 = HEAP32[(19112)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(18808)>>2] = $$749$i; + HEAP32[(19112)>>2] = $$749$i; } - HEAP32[(19240)>>2] = $$749$i; - HEAP32[(19244)>>2] = $$723948$i; - HEAP32[(19252)>>2] = 0; - $635 = HEAP32[4816]|0; - HEAP32[(18828)>>2] = $635; - HEAP32[(18824)>>2] = -1; + HEAP32[(19544)>>2] = $$749$i; + HEAP32[(19548)>>2] = $$723948$i; + HEAP32[(19556)>>2] = 0; + $635 = HEAP32[4892]|0; + HEAP32[(19132)>>2] = $635; + HEAP32[(19128)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (18832 + ($636<<2)|0); + $637 = (19136 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -33703,18 +33666,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(18816)>>2] = $649; - HEAP32[(18804)>>2] = $650; + HEAP32[(19120)>>2] = $649; + HEAP32[(19108)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19280)>>2]|0; - HEAP32[(18820)>>2] = $655; + $655 = HEAP32[(19584)>>2]|0; + HEAP32[(19124)>>2] = $655; } else { - $$024371$i = (19240); + $$024371$i = (19544); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -33746,7 +33709,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(18804)>>2]|0; + $671 = HEAP32[(19108)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -33757,30 +33720,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(18816)>>2] = $679; - HEAP32[(18804)>>2] = $681; + HEAP32[(19120)>>2] = $679; + HEAP32[(19108)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19280)>>2]|0; - HEAP32[(18820)>>2] = $686; + $686 = HEAP32[(19584)>>2]|0; + HEAP32[(19124)>>2] = $686; break; } } } - $687 = HEAP32[(18808)>>2]|0; + $687 = HEAP32[(19112)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(18808)>>2] = $$749$i; + HEAP32[(19112)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19240); + $$124470$i = (19544); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -33835,21 +33798,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(18804)>>2]|0; + $726 = HEAP32[(19108)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(18804)>>2] = $727; - HEAP32[(18816)>>2] = $721; + HEAP32[(19108)>>2] = $727; + HEAP32[(19120)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(18812)>>2]|0; + $730 = HEAP32[(19116)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(18800)>>2]|0; + $732 = HEAP32[(19104)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(18800)>>2] = $733; - HEAP32[(18812)>>2] = $721; + HEAP32[(19104)>>2] = $733; + HEAP32[(19116)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -33872,7 +33835,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (18832 + ($748<<2)|0); + $749 = (19136 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -33895,9 +33858,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4698]|0; + $759 = HEAP32[4774]|0; $760 = $759 & $758; - HEAP32[4698] = $760; + HEAP32[4774] = $760; break; } $761 = ($747|0)==($749|0); @@ -34010,7 +33973,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19096 + ($796<<2)|0); + $797 = (19400 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -34022,12 +33985,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(18796)>>2]|0; + $802 = HEAP32[(19100)>>2]|0; $803 = $802 & $801; - HEAP32[(18796)>>2] = $803; + HEAP32[(19100)>>2] = $803; break L314; } else { - $804 = HEAP32[(18808)>>2]|0; + $804 = HEAP32[(19112)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -34048,7 +34011,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(18808)>>2]|0; + $810 = HEAP32[(19112)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -34080,7 +34043,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(18808)>>2]|0; + $822 = HEAP32[(19112)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -34113,21 +34076,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (18832 + ($836<<2)|0); - $838 = HEAP32[4698]|0; + $837 = (19136 + ($836<<2)|0); + $838 = HEAP32[4774]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4698] = $842; + HEAP32[4774] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(18808)>>2]|0; + $845 = HEAP32[(19112)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -34182,20 +34145,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19096 + ($$0296$i$i<<2)|0); + $875 = (19400 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(18796)>>2]|0; + $879 = HEAP32[(19100)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(18796)>>2] = $883; + HEAP32[(19100)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -34234,7 +34197,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(18808)>>2]|0; + $902 = HEAP32[(19112)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -34253,7 +34216,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(18808)>>2]|0; + $909 = HEAP32[(19112)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -34280,7 +34243,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19240); + $$0$i$i$i = (19544); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -34321,23 +34284,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(18816)>>2] = $946; - HEAP32[(18804)>>2] = $947; + HEAP32[(19120)>>2] = $946; + HEAP32[(19108)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19280)>>2]|0; - HEAP32[(18820)>>2] = $952; + $952 = HEAP32[(19584)>>2]|0; + HEAP32[(19124)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19240)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19240)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19240)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19240)+12>>2]|0; - HEAP32[(19240)>>2] = $$749$i; - HEAP32[(19244)>>2] = $$723948$i; - HEAP32[(19252)>>2] = 0; - HEAP32[(19248)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19544)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19544)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19544)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19544)+12>>2]|0; + HEAP32[(19544)>>2] = $$749$i; + HEAP32[(19548)>>2] = $$723948$i; + HEAP32[(19556)>>2] = 0; + HEAP32[(19552)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -34366,20 +34329,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (18832 + ($968<<2)|0); - $970 = HEAP32[4698]|0; + $969 = (19136 + ($968<<2)|0); + $970 = HEAP32[4774]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4698] = $974; + HEAP32[4774] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(18808)>>2]|0; + $977 = HEAP32[(19112)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -34431,19 +34394,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19096 + ($$0212$i$i<<2)|0); + $1007 = (19400 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(18796)>>2]|0; + $1010 = HEAP32[(19100)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(18796)>>2] = $1014; + HEAP32[(19100)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -34482,7 +34445,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(18808)>>2]|0; + $1033 = HEAP32[(19112)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -34501,7 +34464,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(18808)>>2]|0; + $1040 = HEAP32[(19112)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -34524,14 +34487,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(18804)>>2]|0; + $1048 = HEAP32[(19108)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(18804)>>2] = $1050; - $1051 = HEAP32[(18816)>>2]|0; + HEAP32[(19108)>>2] = $1050; + $1051 = HEAP32[(19120)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(18816)>>2] = $1052; + HEAP32[(19120)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -34574,7 +34537,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(18808)>>2]|0; + $3 = HEAP32[(19112)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -34607,7 +34570,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(18812)>>2]|0; + $19 = HEAP32[(19116)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -34622,7 +34585,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(18800)>>2] = $17; + HEAP32[(19104)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -34636,7 +34599,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (18832 + ($27<<2)|0); + $28 = (19136 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -34656,9 +34619,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4698]|0; + $37 = HEAP32[4774]|0; $38 = $37 & $36; - HEAP32[4698] = $38; + HEAP32[4774] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -34772,7 +34735,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19096 + ($74<<2)|0); + $75 = (19400 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -34782,14 +34745,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(18796)>>2]|0; + $80 = HEAP32[(19100)>>2]|0; $81 = $80 & $79; - HEAP32[(18796)>>2] = $81; + HEAP32[(19100)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(18808)>>2]|0; + $82 = HEAP32[(19112)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -34811,7 +34774,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(18808)>>2]|0; + $88 = HEAP32[(19112)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -34843,7 +34806,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(18808)>>2]|0; + $100 = HEAP32[(19112)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -34878,14 +34841,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(18816)>>2]|0; + $120 = HEAP32[(19120)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(18812)>>2]|0; + $122 = HEAP32[(19116)>>2]|0; if ($121) { - $123 = HEAP32[(18804)>>2]|0; + $123 = HEAP32[(19108)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(18804)>>2] = $124; - HEAP32[(18816)>>2] = $$1; + HEAP32[(19108)>>2] = $124; + HEAP32[(19120)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -34893,16 +34856,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(18812)>>2] = 0; - HEAP32[(18800)>>2] = 0; + HEAP32[(19116)>>2] = 0; + HEAP32[(19104)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(18800)>>2]|0; + $129 = HEAP32[(19104)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(18800)>>2] = $130; - HEAP32[(18812)>>2] = $113; + HEAP32[(19104)>>2] = $130; + HEAP32[(19116)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -34921,10 +34884,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (18832 + ($142<<2)|0); + $143 = (19136 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(18808)>>2]|0; + $145 = HEAP32[(19112)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -34942,9 +34905,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4698]|0; + $153 = HEAP32[4774]|0; $154 = $153 & $152; - HEAP32[4698] = $154; + HEAP32[4774] = $154; break; } $155 = ($141|0)==($143|0); @@ -34952,7 +34915,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(18808)>>2]|0; + $156 = HEAP32[(19112)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -35012,7 +34975,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(18808)>>2]|0; + $189 = HEAP32[(19112)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -35025,7 +34988,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(18808)>>2]|0; + $169 = HEAP32[(19112)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -35056,7 +35019,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19096 + ($193<<2)|0); + $194 = (19400 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -35066,13 +35029,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(18796)>>2]|0; + $199 = HEAP32[(19100)>>2]|0; $200 = $199 & $198; - HEAP32[(18796)>>2] = $200; + HEAP32[(19100)>>2] = $200; break L108; } } else { - $201 = HEAP32[(18808)>>2]|0; + $201 = HEAP32[(19112)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -35093,7 +35056,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(18808)>>2]|0; + $207 = HEAP32[(19112)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -35123,7 +35086,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(18808)>>2]|0; + $219 = HEAP32[(19112)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -35144,10 +35107,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(18812)>>2]|0; + $226 = HEAP32[(19116)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(18800)>>2] = $135; + HEAP32[(19104)>>2] = $135; return; } else { $$2 = $135; @@ -35166,20 +35129,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (18832 + ($234<<2)|0); - $236 = HEAP32[4698]|0; + $235 = (19136 + ($234<<2)|0); + $236 = HEAP32[4774]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4698] = $240; + HEAP32[4774] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(18808)>>2]|0; + $243 = HEAP32[(19112)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -35231,21 +35194,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19096 + ($$0396<<2)|0); + $273 = (19400 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(18796)>>2]|0; + $277 = HEAP32[(19100)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(18796)>>2] = $281; + HEAP32[(19100)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -35283,7 +35246,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(18808)>>2]|0; + $300 = HEAP32[(19112)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -35302,7 +35265,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(18808)>>2]|0; + $307 = HEAP32[(19112)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -35324,12 +35287,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(18824)>>2]|0; + $314 = HEAP32[(19128)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(18824)>>2] = $315; + HEAP32[(19128)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19248); + $$0212$in$i = (19552); } else { return; } @@ -35343,7 +35306,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(18824)>>2] = -1; + HEAP32[(19128)>>2] = -1; return; } function _realloc($0,$1) { @@ -35415,7 +35378,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(18808)>>2]|0; + $6 = HEAP32[(19112)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -35445,7 +35408,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19272)>>2]|0; + $18 = HEAP32[(19576)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -35481,10 +35444,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(18816)>>2]|0; + $34 = HEAP32[(19120)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(18804)>>2]|0; + $36 = HEAP32[(19108)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -35500,15 +35463,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(18816)>>2] = $40; - HEAP32[(18804)>>2] = $39; + HEAP32[(19120)>>2] = $40; + HEAP32[(19108)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(18812)>>2]|0; + $46 = HEAP32[(19116)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(18800)>>2]|0; + $48 = HEAP32[(19104)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -35544,8 +35507,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(18800)>>2] = $storemerge1; - HEAP32[(18812)>>2] = $storemerge; + HEAP32[(19104)>>2] = $storemerge1; + HEAP32[(19116)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -35572,7 +35535,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (18832 + ($81<<2)|0); + $82 = (19136 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -35592,9 +35555,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4698]|0; + $91 = HEAP32[4774]|0; $92 = $91 & $90; - HEAP32[4698] = $92; + HEAP32[4774] = $92; break; } $93 = ($80|0)==($82|0); @@ -35703,7 +35666,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19096 + ($128<<2)|0); + $129 = (19400 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -35713,13 +35676,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(18796)>>2]|0; + $134 = HEAP32[(19100)>>2]|0; $135 = $134 & $133; - HEAP32[(18796)>>2] = $135; + HEAP32[(19100)>>2] = $135; break L49; } } else { - $136 = HEAP32[(18808)>>2]|0; + $136 = HEAP32[(19112)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -35740,7 +35703,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(18808)>>2]|0; + $142 = HEAP32[(19112)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -35770,7 +35733,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(18808)>>2]|0; + $154 = HEAP32[(19112)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -35855,13 +35818,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(18808)>>2]|0; + $13 = HEAP32[(19112)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(18812)>>2]|0; + $15 = HEAP32[(19116)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -35876,7 +35839,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(18800)>>2] = $12; + HEAP32[(19104)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -35890,7 +35853,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (18832 + ($23<<2)|0); + $24 = (19136 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -35910,9 +35873,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4698]|0; + $33 = HEAP32[4774]|0; $34 = $33 & $32; - HEAP32[4698] = $34; + HEAP32[4774] = $34; $$1 = $11;$$1418 = $12; break; } @@ -36026,7 +35989,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19096 + ($70<<2)|0); + $71 = (19400 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -36036,14 +35999,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(18796)>>2]|0; + $76 = HEAP32[(19100)>>2]|0; $77 = $76 & $75; - HEAP32[(18796)>>2] = $77; + HEAP32[(19100)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(18808)>>2]|0; + $78 = HEAP32[(19112)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -36065,7 +36028,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(18808)>>2]|0; + $84 = HEAP32[(19112)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -36097,7 +36060,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(18808)>>2]|0; + $96 = HEAP32[(19112)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -36116,7 +36079,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(18808)>>2]|0; + $108 = HEAP32[(19112)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -36127,14 +36090,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(18816)>>2]|0; + $114 = HEAP32[(19120)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(18812)>>2]|0; + $116 = HEAP32[(19116)>>2]|0; if ($115) { - $117 = HEAP32[(18804)>>2]|0; + $117 = HEAP32[(19108)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(18804)>>2] = $118; - HEAP32[(18816)>>2] = $$1; + HEAP32[(19108)>>2] = $118; + HEAP32[(19120)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -36142,16 +36105,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(18812)>>2] = 0; - HEAP32[(18800)>>2] = 0; + HEAP32[(19116)>>2] = 0; + HEAP32[(19104)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(18800)>>2]|0; + $123 = HEAP32[(19104)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(18800)>>2] = $124; - HEAP32[(18812)>>2] = $$1; + HEAP32[(19104)>>2] = $124; + HEAP32[(19116)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36170,7 +36133,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (18832 + ($136<<2)|0); + $137 = (19136 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -36190,9 +36153,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4698]|0; + $146 = HEAP32[4774]|0; $147 = $146 & $145; - HEAP32[4698] = $147; + HEAP32[4774] = $147; break; } $148 = ($135|0)==($137|0); @@ -36301,7 +36264,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19096 + ($183<<2)|0); + $184 = (19400 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -36311,13 +36274,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(18796)>>2]|0; + $189 = HEAP32[(19100)>>2]|0; $190 = $189 & $188; - HEAP32[(18796)>>2] = $190; + HEAP32[(19100)>>2] = $190; break L96; } } else { - $191 = HEAP32[(18808)>>2]|0; + $191 = HEAP32[(19112)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -36338,7 +36301,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(18808)>>2]|0; + $197 = HEAP32[(19112)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -36368,7 +36331,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(18808)>>2]|0; + $209 = HEAP32[(19112)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -36389,10 +36352,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(18812)>>2]|0; + $216 = HEAP32[(19116)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(18800)>>2] = $129; + HEAP32[(19104)>>2] = $129; return; } else { $$2 = $129; @@ -36411,20 +36374,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (18832 + ($224<<2)|0); - $226 = HEAP32[4698]|0; + $225 = (19136 + ($224<<2)|0); + $226 = HEAP32[4774]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4698] = $230; + HEAP32[4774] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(18808)>>2]|0; + $233 = HEAP32[(19112)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -36476,20 +36439,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19096 + ($$0431<<2)|0); + $263 = (19400 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(18796)>>2]|0; + $267 = HEAP32[(19100)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(18796)>>2] = $271; + HEAP32[(19100)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -36528,7 +36491,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(18808)>>2]|0; + $290 = HEAP32[(19112)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -36546,7 +36509,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(18808)>>2]|0; + $297 = HEAP32[(19112)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/textures/textures_logo_raylib.png b/docs/examples/web/textures/textures_logo_raylib.png similarity index 100% rename from docs/examples/img/textures/textures_logo_raylib.png rename to docs/examples/web/textures/textures_logo_raylib.png diff --git a/docs/examples/web/others/particles_trail_blending.c b/docs/examples/web/textures/textures_particles_blending.c similarity index 95% rename from docs/examples/web/others/particles_trail_blending.c rename to docs/examples/web/textures/textures_particles_blending.c index 9923ddfed..1ddacf875 100644 --- a/docs/examples/web/others/particles_trail_blending.c +++ b/docs/examples/web/textures/textures_particles_blending.c @@ -1,11 +1,11 @@ /******************************************************************************************* * -* raylib [core] example - Basic window (adapted for HTML5 platform) +* raylib example - particles blending * -* This example has been created using raylib 1.3 (www.raylib.com) +* This example has been created using raylib 1.7 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * -* Copyright (c) 2015 Ramon Santamaria (@raysan5) +* Copyright (c) 2017 Ramon Santamaria (@raysan5) * ********************************************************************************************/ @@ -54,7 +54,7 @@ int main() { // Initialization //-------------------------------------------------------------------------------------- - InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window"); + InitWindow(screenWidth, screenHeight, "raylib [textures] example - particles blending"); // Initialize particles for (int i = 0; i < MAX_PARTICLES; i++) diff --git a/docs/examples/web/textures/textures_particles_blending.data b/docs/examples/web/textures/textures_particles_blending.data new file mode 100644 index 000000000..7bad8c685 Binary files /dev/null and b/docs/examples/web/textures/textures_particles_blending.data differ diff --git a/docs/examples/web/textures/textures_particles_blending.js b/docs/examples/web/textures/textures_particles_blending.js new file mode 100644 index 000000000..1c2be970a --- /dev/null +++ b/docs/examples/web/textures/textures_particles_blending.js @@ -0,0 +1,38697 @@ + +var Module; + +if (typeof Module === 'undefined') Module = {}; + +if (!Module.expectedDataFileDownloads) { + Module.expectedDataFileDownloads = 0; + Module.finishedDataFileDownloads = 0; +} +Module.expectedDataFileDownloads++; +(function() { + var loadPackage = function(metadata) { + + var PACKAGE_PATH; + if (typeof window === 'object') { + PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); + } else if (typeof location !== 'undefined') { + // worker + PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); + } else { + throw 'using preloaded data can only be done on a web page or in a web worker'; + } + var PACKAGE_NAME = 'textures/textures_particles_blending.data'; + var REMOTE_PACKAGE_BASE = 'textures_particles_blending.data'; + if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { + Module['locateFile'] = Module['locateFilePackage']; + Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); + } + var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? + Module['locateFile'](REMOTE_PACKAGE_BASE) : + ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); + + var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; + var PACKAGE_UUID = metadata.package_uuid; + + function fetchRemotePackage(packageName, packageSize, callback, errback) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', packageName, true); + xhr.responseType = 'arraybuffer'; + xhr.onprogress = function(event) { + var url = packageName; + var size = packageSize; + if (event.total) size = event.total; + if (event.loaded) { + if (!xhr.addedTotal) { + xhr.addedTotal = true; + if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; + Module.dataFileDownloads[url] = { + loaded: event.loaded, + total: size + }; + } else { + Module.dataFileDownloads[url].loaded = event.loaded; + } + var total = 0; + var loaded = 0; + var num = 0; + for (var download in Module.dataFileDownloads) { + var data = Module.dataFileDownloads[download]; + total += data.total; + loaded += data.loaded; + num++; + } + total = Math.ceil(total * Module.expectedDataFileDownloads/num); + if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); + } else if (!Module.dataFileDownloads) { + if (Module['setStatus']) Module['setStatus']('Downloading data...'); + } + }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } + xhr.onload = function(event) { + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } + }; + xhr.send(null); + }; + + function handleError(error) { + console.error('package error:', error); + }; + + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + if (fetchedCallback) { + fetchedCallback(data); + fetchedCallback = null; + } else { + fetched = data; + } + }, handleError); + + function runWithFS() { + + function assert(check, msg) { + if (!check) throw msg + new Error().stack; + } +Module['FS_createPath']('/', 'resources', true, true); + + function DataRequest(start, end, crunched, audio) { + this.start = start; + this.end = end; + this.crunched = crunched; + this.audio = audio; + } + DataRequest.prototype = { + requests: {}, + open: function(mode, name) { + this.name = name; + this.requests[name] = this; + Module['addRunDependency']('fp ' + this.name); + }, + send: function() {}, + onload: function() { + var byteArray = this.byteArray.subarray(this.start, this.end); + + this.finish(byteArray); + + }, + finish: function(byteArray) { + var that = this; + + Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + Module['removeRunDependency']('fp ' + that.name); + + this.requests[this.name] = null; + } + }; + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); + } + + + function processPackageData(arrayBuffer) { + Module.finishedDataFileDownloads++; + assert(arrayBuffer, 'Loading data file failed.'); + assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); + var byteArray = new Uint8Array(arrayBuffer); + var curr; + + // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though + // (we may be allocating before malloc is ready, during startup). + if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); + var ptr = Module['getMemory'](byteArray.length); + Module['HEAPU8'].set(byteArray, ptr); + DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + DataRequest.prototype.requests[files[i].filename].onload(); + } + Module['removeRunDependency']('datafile_textures/textures_particles_blending.data'); + + }; + Module['addRunDependency']('datafile_textures/textures_particles_blending.data'); + + if (!Module.preloadResults) Module.preloadResults = {}; + + Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; + if (fetched) { + processPackageData(fetched); + fetched = null; + } else { + fetchedCallback = processPackageData; + } + + } + if (Module['calledRun']) { + runWithFS(); + } else { + if (!Module['preRun']) Module['preRun'] = []; + Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it + } + + } + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 15427, "filename": "/resources/smoke.png"}], "remote_package_size": 15427, "package_uuid": "f276638c-6d08-451b-ab6c-49644732d9c6"}); + +})(); + +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// The environment setup code below is customized to use Module. +// *** Environment setup code *** +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + +// 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) + +if (Module['ENVIRONMENT']) { + if (Module['ENVIRONMENT'] === 'WEB') { + ENVIRONMENT_IS_WEB = true; + } else if (Module['ENVIRONMENT'] === 'WORKER') { + ENVIRONMENT_IS_WORKER = true; + } else if (Module['ENVIRONMENT'] === 'NODE') { + ENVIRONMENT_IS_NODE = true; + } else if (Module['ENVIRONMENT'] === 'SHELL') { + ENVIRONMENT_IS_SHELL = true; + } else { + throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); + } +} else { + 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 (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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var 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, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. 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 + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // 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'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (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 Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// Runtime essentials +//======================================== + +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var EXITSTATUS = 0; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { + 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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = function cwrap(ident, returnType, argTypes) { + argTypes = argTypes || []; + var cfunc = getCFunc(ident); + // When the function takes numbers and returns a number, we can just return + // the original function + var numericArgs = argTypes.every(function(type){ return type === 'number'}); + var numericRet = (returnType !== 'string'); + if ( numericRet && numericArgs) { + return cfunc; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ length) { + if (length === 0 || !ptr) return ''; + // TODO: use TextDecoder + // 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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 and https://www.ietf.org/rfc/rfc2279.txt and 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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) Module.printErr('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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + '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); +} +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!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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 runtime has exited + +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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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 +// PRE_RUN_ADDITIONS (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; + Module.printErr('still waiting on run dependencies:'); + } + Module.printErr('dependency: ' + dep); + } + if (shown) { + Module.printErr('(end of list)'); + } + }, 10000); + } + } else { + Module.printErr('warning: run dependency added without ID'); + } +} +Module["addRunDependency"] = addRunDependency; + +function removeRunDependency(id) { + runDependencies--; + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('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["removeRunDependency"] = removeRunDependency; + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + + +var memoryInitializer = null; + + + + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 27568; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,167,103,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,112,97,114,116,105,99,108,101,115,32,98,108,101,110,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,115,109,111,107,101,46,112,110,103,0,80,82,69,83,83,32,83,80,65,67,69,32,116,111,32,67,72,65,78,71,69,32,66,76,69,78,68,73,78,71,32,77,79,68,69,0,65,76,80,72,65,32,66,76,69,78,68,73,78,71,0,65,68,68,73,84,73,86,69,32,66,76,69,78,68,73,78,71,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); + + + + + +/* 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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + + + 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 Module.printErr('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) { + Module['print'](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) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function (tty, val) { + if (val === null || val === 10) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['printErr'](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); + + 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(); + }; + }); + },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, { encoding: 'binary', 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/); + },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) { + // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so + // propagate write bits to execute bits. + stat.mode = stat.mode | ((stat.mode & 146) >> 1); + } + } 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); + },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString: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. + if (flags in NODEFS.flagsToPermissionStringMap) { + return NODEFS.flagsToPermissionStringMap[flags]; + } 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.flagsToPermissionString(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) { + if (length === 0) return 0; // node errors on 0 length reads + // FIXME this is terrible. + var nbuffer = new Buffer(length); + var res; + try { + res = fs.readSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + if (res > 0) { + for (var i = 0; i < res; i++) { + buffer[offset + i] = nbuffer[i]; + } + } + return res; + },write:function (stream, buffer, offset, length, position) { + // FIXME this is terrible. + var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); + var res; + try { + res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return res; + },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:[null],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; + Module['printErr']('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 (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); + } + },llseek:function (stream, offset, whence) { + 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 ((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 = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } 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 ((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 = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } 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 (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(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'; + opts.encoding = opts.encoding || 'utf8'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var stream = FS.open(path, opts.flags, opts.mode); + if (opts.encoding === 'utf8') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); + } else if (opts.encoding === 'binary') { + FS.write(stream, data, 0, data.length, 0, opts.canOwn); + } + 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) { + //Module.printErr(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]; + 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 = ''; + }); + },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 ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + case 21506: { + 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; + } + default: abort('bad ioctl syscall ' + op); + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + 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 ___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 _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + 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(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + 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 _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + function __exit(status) { + // void _exit(int status); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html + Module['exit'](status); + }function _exit(status) { + __exit(status); + } + + function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function ___assert_fail(condition, filename, line, func) { + ABORT = true; + throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + 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; + } + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__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(); }; +JSEvents.staticInit();; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vi(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_ii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_v(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function invoke_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_ii(index,a1) { + try { + return Module["dynCall_ii"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iiii(index,a1,a2,a3) { + try { + return Module["dynCall_iiii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } catch(e) { + 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use 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 ABORT=env.ABORT|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; + var cttz_i8=env.cttz_i8|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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var ___assert_fail=env.___assert_fail; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var ___syscall145=env.___syscall145; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var ___syscall146=env.___syscall146; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var ___syscall5=env.___syscall5; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___syscall221=env.___syscall221; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var ___syscall54=env.___syscall54; + var ___unlock=env.___unlock; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + 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 _main() { + var $$012 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$01$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx = 0, $$sroa$22$0$$sroa_idx3 = 0, $$sroa$3$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $smoke$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $smoke$byval_copy = sp + 20|0; + $0 = sp; + $1 = HEAP32[2]|0; + $2 = HEAP32[3]|0; + _InitWindow($1,$2,4000); + $$012 = 0; + while(1) { + $$sroa$01$0$$sroa_idx = (16756 + (($$012*28)|0)|0); + HEAPF32[$$sroa$01$0$$sroa_idx>>2] = 0.0; + $$sroa$22$0$$sroa_idx3 = (((16756 + (($$012*28)|0)|0)) + 4|0); + HEAPF32[$$sroa$22$0$$sroa_idx3>>2] = 0.0; + $3 = (_GetRandomValue(0,255)|0); + $4 = $3&255; + $5 = (_GetRandomValue(0,255)|0); + $6 = $5&255; + $7 = (_GetRandomValue(0,255)|0); + $8 = $7&255; + $$sroa$0$0$$sroa_idx = (((16756 + (($$012*28)|0)|0)) + 8|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0] = $4; + $$sroa$2$0$$sroa_idx = (((16756 + (($$012*28)|0)|0)) + 9|0); + HEAP8[$$sroa$2$0$$sroa_idx>>0] = $6; + $$sroa$3$0$$sroa_idx = (((16756 + (($$012*28)|0)|0)) + 10|0); + HEAP8[$$sroa$3$0$$sroa_idx>>0] = $8; + $$sroa$4$0$$sroa_idx = (((16756 + (($$012*28)|0)|0)) + 11|0); + HEAP8[$$sroa$4$0$$sroa_idx>>0] = -1; + $9 = (((16756 + (($$012*28)|0)|0)) + 12|0); + HEAPF32[$9>>2] = 1.0; + $10 = (_GetRandomValue(1,30)|0); + $11 = (+($10|0)); + $12 = $11 / 20.0; + $13 = (((16756 + (($$012*28)|0)|0)) + 16|0); + HEAPF32[$13>>2] = $12; + $14 = (_GetRandomValue(0,360)|0); + $15 = (+($14|0)); + $16 = (((16756 + (($$012*28)|0)|0)) + 20|0); + HEAPF32[$16>>2] = $15; + $17 = (((16756 + (($$012*28)|0)|0)) + 24|0); + HEAP32[$17>>2] = 0; + $18 = (($$012) + 1)|0; + $exitcond = ($18|0)==(200); + if ($exitcond) { + break; + } else { + $$012 = $18; + } + } + _LoadTexture($0,4047); + ;HEAP32[22356>>2]=HEAP32[$0>>2]|0;HEAP32[22356+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[22356+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[22356+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[22356+16>>2]=HEAP32[$0+16>>2]|0; + _emscripten_set_main_loop((1|0),0,1); + ;HEAP32[$smoke$byval_copy>>2]=HEAP32[22356>>2]|0;HEAP32[$smoke$byval_copy+4>>2]=HEAP32[22356+4>>2]|0;HEAP32[$smoke$byval_copy+8>>2]=HEAP32[22356+8>>2]|0;HEAP32[$smoke$byval_copy+12>>2]=HEAP32[22356+12>>2]|0;HEAP32[$smoke$byval_copy+16>>2]=HEAP32[22356+16>>2]|0; + _UnloadTexture($smoke$byval_copy); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$03134 = 0, $$03236 = 0, $$033 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy8 = 0, $$sink = 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; + 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.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.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.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0; + var $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0.0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $exitcond = 0, $exitcond37 = 0, $smoke$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy8 = sp + 132|0; + $$byval_copy5 = sp + 104|0; + $$byval_copy4 = sp + 88|0; + $$byval_copy3 = sp + 72|0; + $smoke$byval_copy = sp + 48|0; + $0 = sp; + $1 = sp + 128|0; + $2 = sp + 32|0; + $3 = sp + 16|0; + $4 = sp + 8|0; + $5 = sp + 124|0; + $6 = sp + 120|0; + $7 = sp + 116|0; + $8 = sp + 112|0; + $$03236 = 0; + while(1) { + $10 = (((16756 + (($$03236*28)|0)|0)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0); + if ($12) { + label = 4; + break; + } + $25 = (($$03236) + 1)|0; + $26 = ($25|0)<(200); + if ($26) { + $$03236 = $25; + } else { + break; + } + } + if ((label|0) == 4) { + HEAP32[$10>>2] = 1; + $13 = (((16756 + (($$03236*28)|0)|0)) + 12|0); + HEAPF32[$13>>2] = 1.0; + $14 = (16756 + (($$03236*28)|0)|0); + _GetMousePosition($0); + $15 = $0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + } + $9 = +HEAPF32[4]; + $$03134 = 0; + while(1) { + $29 = (((16756 + (($$03134*28)|0)|0)) + 24|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = (((16756 + (($$03134*28)|0)|0)) + 4|0); + $33 = +HEAPF32[$32>>2]; + $34 = $9 + $33; + HEAPF32[$32>>2] = $34; + $35 = (((16756 + (($$03134*28)|0)|0)) + 12|0); + $36 = +HEAPF32[$35>>2]; + $37 = $36 + -0.0099999997764825821; + HEAPF32[$35>>2] = $37; + $38 = !($37 <= 0.0); + if (!($38)) { + HEAP32[$29>>2] = 0; + } + $39 = (((16756 + (($$03134*28)|0)|0)) + 20|0); + $40 = +HEAPF32[$39>>2]; + $41 = $40 + 5.0; + HEAPF32[$39>>2] = $41; + } + $42 = (($$03134) + 1)|0; + $exitcond37 = ($42|0)==(200); + if ($exitcond37) { + break; + } else { + $$03134 = $42; + } + } + $27 = (_IsKeyPressed(32)|0); + $28 = ($27|0)==(0); + if (!($28)) { + $43 = HEAP32[4188]|0; + $44 = ($43|0)==(0); + $$sink = $44&1; + HEAP32[4188] = $$sink; + } + _BeginDrawing(); + HEAP8[$1>>0] = 80; + $45 = ((($1)) + 1|0); + HEAP8[$45>>0] = 80; + $46 = ((($1)) + 2|0); + HEAP8[$46>>0] = 80; + $47 = ((($1)) + 3|0); + HEAP8[$47>>0] = -1; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$1+3>>0]|0; + _ClearBackground($$byval_copy8); + $48 = HEAP32[4188]|0; + _BeginBlendMode($48); + $49 = ((($2)) + 4|0); + $50 = ((($2)) + 8|0); + $51 = ((($2)) + 12|0); + $52 = ((($3)) + 4|0); + $53 = ((($3)) + 8|0); + $54 = ((($3)) + 12|0); + $55 = ((($4)) + 4|0); + $$033 = 0; + while(1) { + $63 = (((16756 + (($$033*28)|0)|0)) + 24|0); + $64 = HEAP32[$63>>2]|0; + $65 = ($64|0)==(0); + if (!($65)) { + HEAP32[$2>>2] = 0; + HEAP32[$49>>2] = 0; + $66 = HEAP32[(22360)>>2]|0; + HEAP32[$50>>2] = $66; + $67 = HEAP32[(22364)>>2]|0; + HEAP32[$51>>2] = $67; + $68 = (16756 + (($$033*28)|0)|0); + $69 = +HEAPF32[$68>>2]; + $70 = (~~(($69))); + HEAP32[$3>>2] = $70; + $71 = (((16756 + (($$033*28)|0)|0)) + 4|0); + $72 = +HEAPF32[$71>>2]; + $73 = (~~(($72))); + HEAP32[$52>>2] = $73; + $74 = (+($66|0)); + $75 = (((16756 + (($$033*28)|0)|0)) + 16|0); + $76 = +HEAPF32[$75>>2]; + $77 = $74 * $76; + $78 = (~~(($77))); + HEAP32[$53>>2] = $78; + $79 = (+($67|0)); + $80 = $79 * $76; + $81 = (~~(($80))); + HEAP32[$54>>2] = $81; + $82 = $77 * 0.5; + HEAPF32[$4>>2] = $82; + $83 = $80 * 0.5; + HEAPF32[$55>>2] = $83; + $84 = (((16756 + (($$033*28)|0)|0)) + 20|0); + $85 = +HEAPF32[$84>>2]; + $86 = (((16756 + (($$033*28)|0)|0)) + 8|0); + $87 = (((16756 + (($$033*28)|0)|0)) + 12|0); + $88 = +HEAPF32[$87>>2]; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$86>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$86+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$86+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$86+3>>0]|0; + _Fade($5,$$byval_copy8,$88); + ;HEAP32[$smoke$byval_copy>>2]=HEAP32[22356>>2]|0;HEAP32[$smoke$byval_copy+4>>2]=HEAP32[22356+4>>2]|0;HEAP32[$smoke$byval_copy+8>>2]=HEAP32[22356+8>>2]|0;HEAP32[$smoke$byval_copy+12>>2]=HEAP32[22356+12>>2]|0;HEAP32[$smoke$byval_copy+16>>2]=HEAP32[22356+16>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$2+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$3+12>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($smoke$byval_copy,$$byval_copy3,$$byval_copy4,$$byval_copy5,$85,$$byval_copy8); + } + $89 = (($$033) + 1)|0; + $exitcond = ($89|0)==(200); + if ($exitcond) { + break; + } else { + $$033 = $89; + } + } + _EndBlendMode(); + HEAP8[$6>>0] = 0; + $56 = ((($6)) + 1|0); + HEAP8[$56>>0] = 0; + $57 = ((($6)) + 2|0); + HEAP8[$57>>0] = 0; + $58 = ((($6)) + 3|0); + HEAP8[$58>>0] = -1; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$6+3>>0]|0; + _DrawText(4067,180,20,20,$$byval_copy8); + $59 = HEAP32[4188]|0; + $60 = ($59|0)==(0); + $61 = HEAP32[3]|0; + $62 = (($61) + -40)|0; + if ($60) { + HEAP8[$7>>0] = 0; + $90 = ((($7)) + 1|0); + HEAP8[$90>>0] = 0; + $91 = ((($7)) + 2|0); + HEAP8[$91>>0] = 0; + $92 = ((($7)) + 3|0); + HEAP8[$92>>0] = -1; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText(4103,290,$62,20,$$byval_copy8); + _EndDrawing(); + STACKTOP = sp;return; + } else { + HEAP8[$8>>0] = -11; + $93 = ((($8)) + 1|0); + HEAP8[$93>>0] = -11; + $94 = ((($8)) + 2|0); + HEAP8[$94>>0] = -11; + $95 = ((($8)) + 3|0); + HEAP8[$95>>0] = -1; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText(4118,280,$62,20,$$byval_copy8); + _EndDrawing(); + STACKTOP = sp;return; + } +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 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); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[5595] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 16480; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 16520; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[4130]; + $111 = +HEAPF32[4120]; + $112 = $110 - $111; + HEAPF32[4132] = $112; + $113 = +HEAPF32[(16524)>>2]; + $114 = +HEAPF32[(16484)>>2]; + $115 = $113 - $114; + HEAPF32[(16532)>>2] = $115; + HEAP32[5594] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16512>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16512+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16536>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16536+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[5600] = $116; + $117 = 16512; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 16480; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 16536; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 16520; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 16512; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 16536; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[4134]; + $160 = +HEAPF32[4128]; + $161 = $159 - $160; + HEAPF32[4132] = $161; + $162 = +HEAPF32[(16540)>>2]; + $163 = +HEAPF32[(16516)>>2]; + $164 = $162 - $163; + HEAPF32[(16532)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16512>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16512+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16520>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16520+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16536>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16536+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16512>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16512+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16536>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16536+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[5600]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[5594] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16512>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16512+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16536>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16536+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[5601] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[5600] = 0.0; + HEAPF32[5601] = 0.0; + HEAPF32[4132] = 0.0; + HEAPF32[(16532)>>2] = 0.0; + HEAP32[5595] = 0; + HEAP32[5594] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[5596]|0; + $7 = (($6) + 1)|0; + HEAP32[5596] = $7; + $8 = HEAP32[5594]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[5594] = 2; + HEAP32[5596] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[5596] = 1; + HEAP32[5594] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 16480; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 16488; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 16496; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[5] = $34; + HEAPF32[4126] = 0.0; + HEAPF32[(16508)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[5594]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 16496; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16496+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[5597] = $49; + HEAP32[5598] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[5]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16496+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[5599] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[5597] = 0.0; + HEAPF32[5599] = 0.0; + $$sink10 = 0; + } + HEAP32[5594] = $$sink10; + HEAPF32[4122] = 0.0; + HEAPF32[(16492)>>2] = 0.0; + HEAP32[5595] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[5598]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[5598] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 16512; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[5594]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16512>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16512+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[5594] = 8; + } + } + $82 = +HEAPF32[4128]; + $83 = +HEAPF32[4122]; + $84 = $82 - $83; + HEAPF32[4126] = $84; + $85 = +HEAPF32[(16516)>>2]; + $86 = +HEAPF32[(16492)>>2]; + $87 = $85 - $86; + HEAPF32[(16508)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5594]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[5595]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[5594] = 4; + } + $4 = HEAP32[5594]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[5594] = 0; + return; +} +function _GetMousePosition($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 = 16544; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5604]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5603]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.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; + _TraceLog(0,4136,$vararg_buffer); + HEAP32[5606] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((4165|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((4165|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((4165|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((4165|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((4165|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((4165|0),(0|0),1,(7|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); + $3 = HEAP32[5604]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[4136] = $5; + $6 = HEAP32[5603]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(16548)>>2] = $8; + $9 = HEAP32[5607]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 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); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[16584>>0]=HEAP8[8665>>0]|0;HEAP8[16584+1>>0]=HEAP8[8665+1>>0]|0;HEAP8[16584+2>>0]=HEAP8[8665+2>>0]|0;HEAP8[16584+3>>0]=HEAP8[8665+3>>0]|0;HEAP8[16584+4>>0]=HEAP8[8665+4>>0]|0;HEAP8[16584+5>>0]=HEAP8[8665+5>>0]|0;HEAP8[16584+6>>0]=HEAP8[8665+6>>0]|0; + break; + } + case 1: { + $3 = 16584; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=16584; src=8672; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 16584; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(16584,$1)|0); + $strlen = (_strlen(16584)|0); + $endptr = (16584 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(16584,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[5604] = $0; + HEAP32[5603] = $1; + _MatrixIdentity($2); + dest=22504; 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)); + (_glfwSetErrorCallback((2|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4807,$vararg_buffer); + } + $6 = HEAP32[5604]|0; + HEAP32[5642] = $6; + $7 = HEAP32[5603]|0; + HEAP32[5643] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[25240]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[25240]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[25240]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4833,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[5644]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[5604]|0; + $48 = HEAP32[5603]|0; + $49 = HEAP32[5606]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[5602] = $50; + $51 = HEAP32[5604]|0; + HEAP32[5645] = $51; + $52 = HEAP32[5603]|0; + HEAP32[5646] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[5604]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[5603]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[5642] = $31; + HEAP32[5643] = $34; + } + } while(0); + $38 = HEAP32[5642]|0; + $39 = HEAP32[5643]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4858,$vararg_buffer3); + $40 = HEAP32[5642]|0; + $41 = HEAP32[5643]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[5642]|0; + $43 = HEAP32[5643]|0; + $44 = HEAP32[5606]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[5602] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4896,$vararg_buffer6); + } else { + _TraceLog(0,4929,$vararg_buffer8); + $55 = HEAP32[5645]|0; + $56 = HEAP32[5646]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4969,$vararg_buffer10); + $57 = HEAP32[5604]|0; + $58 = HEAP32[5603]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4990,$vararg_buffer14); + $59 = HEAP32[5647]|0; + $60 = HEAP32[5648]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,5011,$vararg_buffer18); + } + $61 = HEAP32[5602]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[5602]|0; + (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); + $63 = HEAP32[5602]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[5602]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[5602]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[5602]|0; + (_glfwSetCharCallback(($66|0),(4|0))|0); + $67 = HEAP32[5602]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[5602]|0; + (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); + $69 = HEAP32[5602]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[25240]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[5604]|0; + $74 = HEAP32[5603]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[5645]|0; + $76 = HEAP32[5647]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[5646]|0; + $80 = HEAP32[5648]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,5036,$vararg_buffer22); + $73 = HEAP32[5604]|0; + $74 = HEAP32[5603]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[5645]|0; + $76 = HEAP32[5647]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[5646]|0; + $80 = HEAP32[5648]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 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, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(22472)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (24 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[22448>>2]=HEAP32[$1>>2]|0;HEAP32[22448+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[22448+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[22448+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[22448+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(22472)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(22476)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(22468)>>2] = $23; + $24 = HEAP32[5612]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,4360,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(22452)>>2]|0; + $10 = HEAP32[(22472)>>2]|0; + $11 = HEAP32[(22476)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2072 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(22468)>>2] = $23; + $24 = HEAP32[5612]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,4360,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[2072] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 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 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,4293,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,4224,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,4217)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 16560; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (16568); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 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 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (22432 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 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; + $1 = ($0|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[2069] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,4173,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5607] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.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.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,4707,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[5620]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,4405,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[5621]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,4449,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[5622]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,4494,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[5623]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,4539,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[5624]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,4584,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[5620]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[5620]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[5620]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[5620]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[5621]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[5622]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[5622]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[5623]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[5623]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[5624]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[5624]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,4629,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[5625]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,11064,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,4658,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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, $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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.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; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4761,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + 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] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,8627,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[5604]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[5603]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[5645] = $3; + HEAP32[5646] = $5; + HEAP32[5647] = 0; + HEAP32[5648] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,8561,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[5604]|0; + $36 = (+($35|0)); + $37 = HEAP32[5603]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[5645] = $45; + HEAP32[5646] = $37; + $46 = (($45) - ($35))|0; + HEAP32[5647] = $46; + $$sink1 = 0; + } else { + HEAP32[5645] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[5646] = $42; + HEAP32[5647] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[5648] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[5603]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,8418,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[5604]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[5603]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[5645] = $23; + HEAP32[5646] = $1; + $24 = (($0) - ($23))|0; + HEAP32[5647] = $24; + $$sink = 0; + } else { + HEAP32[5645] = $0; + $17 = HEAP32[5603]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[5646] = $20; + HEAP32[5647] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[5648] = $$sink; + $25 = HEAP32[5645]|0; + $26 = (+($25|0)); + $27 = HEAP32[5604]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=22504; 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)); + HEAP32[5645] = $0; + HEAP32[5646] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,8496,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[5604] = $1; + HEAP32[5603] = $2; + HEAP32[5645] = $1; + HEAP32[5646] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($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, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[743]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (25247 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[742] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 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.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (25241 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 16560; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[742] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[6018] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[6017] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,5059,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,5077,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,5095,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,5113,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,5131)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,5133,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,5168)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[5683] = 1; + $27 = (_eglGetProcAddress((5195|0))|0); + HEAP32[5684] = $27; + $28 = (_eglGetProcAddress((5216|0))|0); + HEAP32[5685] = $28; + $29 = (_eglGetProcAddress((5237|0))|0); + HEAP32[5686] = $29; + } + $30 = (_strcmp($24,5261)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[5625] = 1; + } + $32 = (_strcmp($24,5281)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,5313)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,5346)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[5620] = 1; + } + $39 = (_strcmp($24,5386)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,5422)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[5621] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,5455)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[5622] = 1; + } + $47 = (_strcmp($44,5480)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[5623] = 1; + } + $49 = (_strcmp($44,5513)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[5624] = 1; + } + $51 = (_strcmp($44,5549)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[5687] = 1; + _glGetFloatv(34047,(22752|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,5583)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[5689] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[5683]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,5686,$vararg_buffer15); + } else { + _TraceLog(0,5611,$vararg_buffer13); + } + $57 = HEAP32[5625]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5822,$vararg_buffer19); + } else { + _TraceLog(0,5747,$vararg_buffer17); + } + $59 = HEAP32[5620]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5914,$vararg_buffer21); + } + $61 = HEAP32[5621]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5960,$vararg_buffer23); + } + $63 = HEAP32[5622]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,6007,$vararg_buffer25); + } + $65 = HEAP32[5623]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,6058,$vararg_buffer27); + } + $67 = HEAP32[5624]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,6105,$vararg_buffer29); + } + $69 = HEAP32[5687]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[5688]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,6152,$vararg_buffer31); + } + $73 = HEAP32[5689]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,6218,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[5690] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,6322,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,6271,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=22764; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=22820; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[5719] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[5719]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[5720] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[5721] = 1; + $85 = HEAP32[5690]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[5722] = 4; + _MatrixIdentity($4); + dest=22892; src=$4; 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)); + _MatrixIdentity($4); + dest=(22956); src=$4; 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)); + _MatrixIdentity($4); + dest=(23020); src=$4; 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)); + _MatrixIdentity($4); + dest=(23084); src=$4; 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)); + _MatrixIdentity($4); + dest=(23148); src=$4; 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)); + _MatrixIdentity($4); + dest=(23212); src=$4; 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)); + _MatrixIdentity($4); + dest=(23276); src=$4; 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)); + _MatrixIdentity($4); + dest=(23340); src=$4; 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)); + _MatrixIdentity($4); + dest=(23404); src=$4; 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)); + _MatrixIdentity($4); + dest=(23468); src=$4; 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)); + _MatrixIdentity($4); + dest=(23532); src=$4; 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)); + _MatrixIdentity($4); + dest=(23596); src=$4; 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)); + _MatrixIdentity($4); + dest=(23660); src=$4; 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)); + _MatrixIdentity($4); + dest=(23724); src=$4; 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)); + _MatrixIdentity($4); + dest=(23788); src=$4; 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)); + _MatrixIdentity($4); + dest=(23852); src=$4; 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)); + _MatrixIdentity($5); + dest=22600; src=$5; 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)); + _MatrixIdentity($6); + dest=22664; src=$6; 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)); + HEAP32[5649] = 22664; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[5979] = $0; + HEAP32[5980] = $1; + _TraceLog(0,6361,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5647]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[5648]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[5645]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[5646]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 22600; + label = 3; + break; + } + case 5888: { + $modelview$sink = 22664; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[5649] = $modelview$sink; + } + HEAP32[5682] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 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); + $0 = sp; + $1 = HEAP32[5649]|0; + _MatrixIdentity($0); + dest=$1; src=$0; 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)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[5649]|0; + dest=$$byval_copy; src=$8; 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)); + dest=$$byval_copy1; src=$6; 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)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; 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)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6937|0),489)|0; + _memcpy(($3|0),(7426|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7915,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7867,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|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 _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 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, $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 = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(23936)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(23944)>>2] = $1; + HEAP32[(23940)>>2] = 0; + HEAP32[(23948)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(23944)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[5981] = 0; + HEAP32[(23932)>>2] = 0; + HEAP32[(23928)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(23984)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(23992)>>2] = $6; + HEAP32[(23988)>>2] = 0; + HEAP32[(23996)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(23992)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[5993] = 0; + HEAP32[(23980)>>2] = 0; + HEAP32[(23976)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(24032)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(24036)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(24040)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(24044)>>2] = $13; + $14 = HEAP32[(24032)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(24036)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(24040)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(24044)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[6005] = 0; + HEAP32[(24024)>>2] = 0; + HEAP32[(24028)>>2] = 0; + _TraceLog(0,6408,$vararg_buffer); + $20 = HEAP32[5683]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[5684]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(23952)); + $44 = HEAP32[5685]|0; + $45 = HEAP32[(23952)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((23956)|0)); + $46 = HEAP32[(23956)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(23936)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(22824)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(22824)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((23960)|0)); + $50 = HEAP32[(23960)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(23944)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(22844)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(22844)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[5683]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(23956)>>2]|0; + $58 = HEAP32[(23960)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,6546,$vararg_buffer3); + } else { + $56 = HEAP32[(23952)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,6481,$vararg_buffer1); + } + $59 = HEAP32[5683]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[5684]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(24000)); + $62 = HEAP32[5685]|0; + $63 = HEAP32[(24000)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((24004)|0)); + $64 = HEAP32[(24004)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(23984)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(22824)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(22824)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((24008)|0)); + $68 = HEAP32[(24008)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(23992)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(22844)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(22844)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[5683]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(24004)>>2]|0; + $76 = HEAP32[(24008)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,6692,$vararg_buffer10); + } else { + $74 = HEAP32[(24000)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,6623,$vararg_buffer7); + } + $77 = HEAP32[5683]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[5684]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(24048)); + $80 = HEAP32[5685]|0; + $81 = HEAP32[(24048)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((24052)|0)); + $82 = HEAP32[(24052)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(24032)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(22824)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(22824)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((24056)|0)); + $86 = HEAP32[(24056)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(24036)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(22828)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(22828)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((24060)|0)); + $90 = HEAP32[(24060)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(24040)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(22844)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(22844)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((24064)|0)); + $94 = HEAP32[(24064)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(24044)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[5683]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(24052)>>2]|0; + $100 = HEAP32[(24056)>>2]|0; + $101 = HEAP32[(24060)>>2]|0; + $102 = HEAP32[(24064)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6838,$vararg_buffer17); + } else { + $98 = HEAP32[(24048)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6773,$vararg_buffer14); + } + $103 = HEAP32[5683]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[5685]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|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; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,8171,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,8119,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,8168,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,8272,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,8221,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,8168,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7963|0)); + _glBindAttribLocation(($20|0),1,(7978|0)); + _glBindAttribLocation(($20|0),2,(8009|0)); + _glBindAttribLocation(($20|0),3,(8036|0)); + _glBindAttribLocation(($20|0),4,(8022|0)); + _glBindAttribLocation(($20|0),5,(7993|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,8324,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,8168,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,8370,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7963|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7978|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7993|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(8009|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(8022|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(8036|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(8048|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(8058|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(8069|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(8080|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(8092|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(8101|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(8110|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (25241 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (25244 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (25241 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (25244 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[5602]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,8682,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[22448>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[22448+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[22448+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[22448+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[22448+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(22476)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(22760|0)); + $0 = HEAP32[5690]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,8709,$vararg_buffer); + $1 = HEAP32[5720]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[5691]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + 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; + $0 = HEAP32[5683]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[5685]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((23956)|0)); + _glDeleteBuffers(1,((23960)|0)); + _glDeleteBuffers(1,((24004)|0)); + _glDeleteBuffers(1,((24008)|0)); + _glDeleteBuffers(1,((24052)|0)); + _glDeleteBuffers(1,((24056)|0)); + _glDeleteBuffers(1,((24060)|0)); + _glDeleteBuffers(1,((24064)|0)); + $3 = HEAP32[5683]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[5686]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(23952)); + $6 = HEAP32[5686]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(24000)); + $7 = HEAP32[5686]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(24048)); + } + $8 = HEAP32[(23936)>>2]|0; + _free($8); + $9 = HEAP32[(23944)>>2]|0; + _free($9); + $10 = HEAP32[(23984)>>2]|0; + _free($10); + $11 = HEAP32[(23992)>>2]|0; + _free($11); + $12 = HEAP32[(24032)>>2]|0; + _free($12); + $13 = HEAP32[(24036)>>2]|0; + _free($13); + $14 = HEAP32[(24040)>>2]|0; + _free($14); + $15 = HEAP32[(24044)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $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; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8774,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 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); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[2089] = $0; + $1 = +HEAPF64[2072]; + $2 = $0 - $1; + HEAPF64[2090] = $2; + HEAPF64[2072] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=22504; 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)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(24076); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[6019] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(24080)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(24084)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(24088)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(24092)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(24096)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(24100)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(24104)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(24108)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(24112)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(24116)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(24120)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(24124)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(24128)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(24132)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(24136)>>2] = $31; + return (24076|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[5649]|0; + dest=$$byval_copy; src=$49; 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)); + dest=$$byval_copy1; src=$1; 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)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; 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)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[2089] = $0; + $1 = +HEAPF64[2072]; + $2 = $0 - $1; + HEAPF64[2091] = $2; + HEAPF64[2072] = $0; + $3 = +HEAPF64[2090]; + $4 = $2 + $3; + HEAPF64[2092] = $4; + $5 = +HEAPF64[2069]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[2089] = $10; + $11 = +HEAPF64[2072]; + $12 = $10 - $11; + HEAPF64[2072] = $10; + $13 = +HEAPF64[2092]; + $14 = $12 + $13; + HEAPF64[2092] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5602]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[742] = -1; + HEAP32[744] = -1; + HEAP32[6035] = 0; + $3 = HEAP32[5602]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[4136] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(16548)>>2] = $7; + _memcpy((25759|0),(25247|0),512)|0; + ;HEAP8[25244>>0]=HEAP8[25241>>0]|0;HEAP8[25244+1>>0]=HEAP8[25241+1>>0]|0;HEAP8[25244+2>>0]=HEAP8[25241+2>>0]|0; + $8 = HEAP32[6018]|0; + HEAP32[5605] = $8; + HEAP32[6018] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (26271 + ($$05160<<5)|0); + $scevgep67 = (26399 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; 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)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((26399 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[744] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((24144 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[6035] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $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, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5981]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[5683]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[5685]|0; + $5 = HEAP32[(23952)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(23956)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[5981]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(23936)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(23960)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(23932)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(23944)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[5993]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[5683]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[5685]|0; + $19 = HEAP32[(24000)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(24004)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[5993]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(23984)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(24008)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(23980)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(23992)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[6005]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[5683]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[5685]|0; + $33 = HEAP32[(24048)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(24052)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[6005]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(24032)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(24056)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[6005]|0; + $40 = $39 << 3; + $41 = HEAP32[(24036)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(24060)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[6005]|0; + $44 = $43 << 2; + $45 = HEAP32[(24040)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[5683]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[5685]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 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; + 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, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=22600; 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)); + dest=$1; src=22664; 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)); + $3 = HEAP32[6068]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; 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)); + dest=$$byval_copy2; src=$1; 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)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[5981]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[5993]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[6005]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[5705]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=22664; 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)); + dest=$$byval_copy2; src=22600; 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)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(22848)>>2]|0; + dest=$$byval_copy2; 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)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(22852)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(22864)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[5981]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[5690]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[5683]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(23956)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(22824)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(22824)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(23960)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(22844)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(22844)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[5685]|0; + $25 = HEAP32[(23952)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[5981]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[5683]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[5993]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[5690]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[5683]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(24004)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(22824)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(22824)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(24008)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(22844)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(22844)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[5685]|0; + $41 = HEAP32[(24000)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[5993]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[5683]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[6005]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[5683]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(24052)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(22824)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(22824)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(24056)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(22828)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(22828)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(24060)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(22844)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(22844)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(24064)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[5685]|0; + $56 = HEAP32[(24048)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[5721]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[5720]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[5720]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[5721]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[5683]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[5683]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[5685]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[5721] = 1; + $5 = HEAP32[5690]|0; + $6 = HEAP32[5720]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[5981] = 0; + HEAP32[(23932)>>2] = 0; + HEAP32[5993] = 0; + HEAP32[(23980)>>2] = 0; + HEAP32[6005] = 0; + HEAP32[(24024)>>2] = 0; + HEAP32[(24028)>>2] = 0; + HEAPF32[745] = -1.0; + dest=22600; src=$0; 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)); + dest=22664; src=$1; 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)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $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 + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; 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)); + $5 = HEAP32[5979]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[5980]|0; + _rlViewport($7,0,$8,$9); + $10 = (24504 + ($0<<6)|0); + dest=$$byval_copy; 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)); + dest=$$byval_copy3; src=$10; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (24376 + ($0<<6)|0); + dest=$3; src=$11; 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)); + dest=$$byval_copy3; src=$4; 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)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; 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)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=22664; src=$0; 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)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=22600; src=$0; 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)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 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; + $0 = HEAP32[6158]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8824,$vararg_buffer); + } + $2 = HEAP32[6158]|0; + $3 = (22892 + ($2<<6)|0); + $4 = HEAP32[5649]|0; + dest=$3; src=$4; 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)); + _rlLoadIdentity(); + $5 = HEAP32[6158]|0; + $6 = (($5) + 1)|0; + HEAP32[6158] = $6; + $7 = HEAP32[5682]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[6159] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6158]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[6158]|0; + $3 = (($2) + -1)|0; + $4 = (22892 + ($3<<6)|0); + $5 = HEAP32[5649]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[6158] = $6; + return; +} +function _GetRandomValue($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)>($1|0); + $$ = $2 ? $0 : $1; + $$10 = $2 ? $1 : $0; + $3 = (_rand()|0); + $4 = (($$) - ($$10))|0; + $ispos = ($4|0)>(-1); + $neg = (0 - ($4))|0; + $5 = $ispos ? $4 : $neg; + $6 = (($5) + 1)|0; + $7 = (($3|0) % ($6|0))&-1; + $8 = (($7) + ($$10))|0; + return ($8|0); +} +function _Fade($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$0 = 0.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.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 < 0.0; + if ($3) { + $$0 = 0.0; + } else { + $4 = $2 > 1.0; + if ($4) { + $$0 = 1.0; + } else { + $$0 = $2; + } + } + $5 = ((($1)) + 3|0); + $6 = HEAP8[$5>>0]|0; + $7 = (+($6&255)); + $8 = $$0 * $7; + $9 = HEAP8[$1>>0]|0; + HEAP8[$0>>0] = $9; + $10 = ((($0)) + 1|0); + $11 = ((($1)) + 1|0); + $12 = HEAP8[$11>>0]|0; + HEAP8[$10>>0] = $12; + $13 = ((($0)) + 2|0); + $14 = ((($1)) + 2|0); + $15 = HEAP8[$14>>0]|0; + HEAP8[$13>>0] = $15; + $16 = ((($0)) + 3|0); + $17 = (~~(($8))&255); + HEAP8[$16>>0] = $17; + return; +} +function _IsFileExtension($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strrchr($0,46)|0); + $3 = ($2|0)==(0|0); + if ($3) { + return 0; + } else { + $4 = (_strcmp($2,$1)|0); + $5 = ($4|0)==(0); + $$ = $5&1; + return ($$|0); + } + return (0)|0; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (25247 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (25759 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[5649]|0; + dest=$$byval_copy; src=$5; 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)); + dest=$$byval_copy1; src=$3; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; 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)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 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 + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; 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)); + _MatrixTranspose($4); + $11 = HEAP32[5649]|0; + dest=$$byval_copy1; src=$11; 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)); + dest=$$byval_copy2; src=$4; 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)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; 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)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5722] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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.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.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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; + 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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 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); + $$byval_copy = sp; + $0 = HEAP32[6159]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[6160]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[5719]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[5649]|0; + dest=$$byval_copy; src=$8; 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)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[6160]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[6159] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[5719]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[6160]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[6159] = 0; + } + HEAP32[6160] = 0; + } + $21 = HEAP32[5722]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[5981]|0; + $23 = HEAP32[(23932)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(23944)>>2]|0; + $28 = HEAP32[(23932)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(23944)>>2]|0; + $35 = HEAP32[(23932)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(23944)>>2]|0; + $43 = HEAP32[(23932)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(23944)>>2]|0; + $51 = HEAP32[(23932)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(23932)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(23932)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[5993]|0; + $62 = HEAP32[(23980)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(23992)>>2]|0; + $67 = HEAP32[(23980)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(23992)>>2]|0; + $74 = HEAP32[(23980)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(23992)>>2]|0; + $82 = HEAP32[(23980)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(23992)>>2]|0; + $90 = HEAP32[(23980)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(23980)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(23980)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[6005]|0; + $101 = HEAP32[(24028)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(24040)>>2]|0; + $106 = HEAP32[(24028)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(24040)>>2]|0; + $113 = HEAP32[(24028)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(24040)>>2]|0; + $121 = HEAP32[(24028)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(24040)>>2]|0; + $129 = HEAP32[(24028)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(24028)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(24028)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[6005]|0; + $140 = HEAP32[(24024)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(24036)>>2]|0; + $$promoted = HEAP32[(24024)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(24024)>>2] = $147; + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + 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, $45 = 0, $46 = 0, $47 = 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; + $3 = HEAP32[6159]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[5719]|0; + $6 = HEAP32[6160]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[6160] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[5722]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[5981]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(23936)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[5981] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8862,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[5993]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(23984)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[5993] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8887,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[6005]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(24032)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[6005] = $41; + $42 = HEAP32[5720]|0; + $43 = HEAP32[5721]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8916,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[745]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[5722]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(24036)>>2]|0; + $5 = HEAP32[(24024)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(24024)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[5722]|0; + switch ($4|0) { + case 1: { + $$sink37 = (23932);$$sink38 = (23944); + break; + } + case 4: { + $$sink37 = (23980);$$sink38 = (23992); + break; + } + case 7: { + $$sink37 = (24028);$$sink38 = (24040); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($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 = HEAP32[5720]|0; + $2 = HEAP32[5721]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[5721] = $10; + } + $11 = HEAP32[5721]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6005]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _BeginBlendMode($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[6161]|0; + $2 = ($1|0)!=($0|0); + $3 = ($0|0)<(3); + $or$cond = $3 & $2; + if (!($or$cond)) { + return; + } + _rlglDraw(); + switch ($0|0) { + case 0: { + _glBlendFunc(770,771); + break; + } + case 1: { + _glBlendFunc(770,1); + break; + } + case 2: { + _glBlendFunc(774,771); + break; + } + default: { + } + } + HEAP32[6161] = $0; + return; +} +function _EndBlendMode() { + var label = 0, sp = 0; + sp = STACKTOP; + _BeginBlendMode(0); + return; +} +function _stbi__err($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[6162] = $0; + return; +} +function _stbi_load_from_file($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $5 = sp; + _stbi__start_file($5,$0); + $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); + $7 = ($6|0)==(0|0); + if ($7) { + STACKTOP = sp;return ($6|0); + } + $8 = ((($5)) + 172|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($5)) + 168|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) - ($9))|0; + (_fseek($0,$12,1)|0); + STACKTOP = sp;return ($6|0); +} +function _stbi__start_file($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbi__start_callbacks($0,3096,$1); + return; +} +function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$070 = 0, $$07175 = 0, $$07276 = 0, $$07378 = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, $exitcond80 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $8 = HEAP32[$5>>2]|0; + switch ($8|0) { + case 8: { + $$070 = $6; + break; + } + case 16: { + label = 4; + break; + } + default: { + ___assert_fail((8941|0),(8967|0),1041,(8990|0)); + // unreachable; + } + } + if ((label|0) == 4) { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ($4|0)==(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = $12; + } else { + $13 = $4; + } + $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); + HEAP32[$5>>2] = 8; + $$070 = $14; + } + $15 = HEAP32[6163]|0; + $16 = ($15|0)==(0); + if ($16) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ($4|0)==(0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $25 = $20; + } else { + $25 = $4; + } + $21 = $18 >> 1; + $22 = ($21|0)>(0); + if (!($22)) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $23 = ($17|0)>(0); + $24 = ($25|0)>(0); + $26 = (($18) + -1)|0; + $$07378 = 0; + while(1) { + if ($23) { + $27 = Math_imul($$07378, $17)|0; + $28 = (($26) - ($$07378))|0; + $29 = Math_imul($28, $17)|0; + $$07276 = 0; + while(1) { + if ($24) { + $30 = (($$07276) + ($27))|0; + $31 = Math_imul($30, $25)|0; + $32 = (($$07276) + ($29))|0; + $33 = Math_imul($32, $25)|0; + $$07175 = 0; + while(1) { + $34 = (($$07175) + ($31))|0; + $35 = (($$070) + ($34)|0); + $36 = HEAP8[$35>>0]|0; + $37 = (($$07175) + ($33))|0; + $38 = (($$070) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + HEAP8[$35>>0] = $39; + HEAP8[$38>>0] = $36; + $40 = (($$07175) + 1)|0; + $exitcond = ($40|0)==($25|0); + if ($exitcond) { + break; + } else { + $$07175 = $40; + } + } + } + $41 = (($$07276) + 1)|0; + $exitcond79 = ($41|0)==($17|0); + if ($exitcond79) { + break; + } else { + $$07276 = $41; + } + } + } + $42 = (($$07378) + 1)|0; + $exitcond80 = ($42|0)==($21|0); + if ($exitcond80) { + $$0 = $$070; + break; + } else { + $$07378 = $42; + } + } + STACKTOP = sp;return ($$0|0); +} +function _stbi__load_main($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$5>>2] = 8; + $6 = ((($5)) + 8|0); + HEAP32[$6>>2] = 0; + $7 = ((($5)) + 4|0); + HEAP32[$7>>2] = 0; + $8 = (_stbi__png_test($0)|0); + $9 = ($8|0)==(0); + if ($9) { + _stbi__err(9031); + $$0 = 0; + return ($$0|0); + } else { + $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); + $$0 = $10; + return ($$0|0); + } + return (0)|0; +} +function _stbi__convert_16_to_8($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = Math_imul($4, $3)|0; + $6 = (_stbi__malloc($5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + _stbi__err(9022); + $$0 = 0; + return ($$0|0); + } + $8 = ($5|0)>(0); + if ($8) { + $$01819 = 0; + while(1) { + $9 = (($0) + ($$01819<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = ($10&65535) >>> 8; + $12 = $11&255; + $13 = (($6) + ($$01819)|0); + HEAP8[$13>>0] = $12; + $14 = (($$01819) + 1)|0; + $exitcond = ($14|0)==($5|0); + if ($exitcond) { + break; + } else { + $$01819 = $14; + } + } + } + _free($0); + $$0 = $6; + return ($$0|0); +} +function _stbi__malloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_malloc($0)|0); + return ($1|0); +} +function _stbi__png_test($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__check_png_header($0)|0); + _stbi__rewind($0); + return ($1|0); +} +function _stbi__png_load($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, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $6 = sp; + HEAP32[$6>>2] = $0; + $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); + STACKTOP = sp;return ($7|0); +} +function _stbi__do_png($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, $$045 = 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, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($4>>>0)>(4); + if ($6) { + _stbi__err(9050); + $$045 = 0; + return ($$045|0); + } + $7 = (_stbi__parse_png_file($0,0,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$2 = 0; + } else { + $9 = ((($0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(8); + $$ = $11 ? $10 : 8; + HEAP32[$5>>2] = $$; + $12 = ((($0)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$12>>2] = 0; + $14 = ($4|0)==(0); + if ($14) { + $$1 = $13; + } else { + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($4|0); + if ($18) { + $$1 = $13; + } else { + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(8); + $21 = ((($15)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$15>>2]|0; + if ($20) { + $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); + $$0 = $24; + } else { + $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); + $$0 = $25; + } + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 12|0); + HEAP32[$27>>2] = $4; + $28 = ($$0|0)==(0|0); + if ($28) { + $$045 = 0; + return ($$045|0); + } else { + $$1 = $$0; + } + } + } + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$1>>2] = $30; + $31 = ((($29)) + 4|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$2>>2] = $32; + $33 = ($3|0)==(0|0); + if ($33) { + $$2 = $$1; + } else { + $34 = ((($29)) + 8|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$3>>2] = $35; + $$2 = $$1; + } + } + $36 = ((($0)) + 12|0); + $37 = HEAP32[$36>>2]|0; + _free($37); + HEAP32[$36>>2] = 0; + $38 = ((($0)) + 8|0); + $39 = HEAP32[$38>>2]|0; + _free($39); + HEAP32[$38>>2] = 0; + $40 = ((($0)) + 4|0); + $41 = HEAP32[$40>>2]|0; + _free($41); + HEAP32[$40>>2] = 0; + $$045 = $$2; + return ($$045|0); +} +function _stbi__parse_png_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0217 = 0, $$0206 = 0, $$0211 = 0, $$0214 = 0, $$0217 = 0, $$0226593 = 0, $$0228 = 0, $$0231 = 0, $$0235 = 0, $$0239591 = 0, $$0241 = 0, $$0245 = 0, $$1207 = 0, $$1212 = 0, $$1215 = 0, $$1218 = 0, $$1227588 = 0, $$1229 = 0, $$1240589 = 0; + var $$1246 = 0, $$2219 = 0, $$2233 = 0, $$2237 = 0, $$2243 = 0, $$254 = 0, $$3209 = 0, $$3220 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 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, $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, $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, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond248 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $3 = sp + 32|0; + $4 = sp + 22|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = HEAP32[$0>>2]|0; + $9 = ((($0)) + 8|0); + HEAP32[$9>>2] = 0; + $10 = ((($0)) + 4|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 12|0); + HEAP32[$11>>2] = 0; + $12 = (_stbi__check_png_header($8)|0); + $13 = ($12|0)==(0); + if ($13) { + $$7 = 0; + STACKTOP = sp;return ($$7|0); + } + $14 = ($1|0)==(1); + if ($14) { + $$7 = 1; + STACKTOP = sp;return ($$7|0); + } + $15 = ((($6)) + 4|0); + $16 = ((($8)) + 4|0); + $17 = ((($0)) + 16|0); + $18 = ((($8)) + 8|0); + $19 = ($1|0)==(2); + $20 = ((($8)) + 8|0); + $21 = ((($8)) + 8|0); + $22 = ((($0)) + 16|0); + $23 = ($1|0)==(2); + $24 = ($1|0)==(2); + $$0206 = 0;$$0211 = 0;$$0214 = 0;$$0217 = 0;$$0228 = 0;$$0231 = 0;$$0235 = 0;$$0241 = 1;$$0245 = 0; + L7: while(1) { + _stbi__get_chunk_header($6,$8); + $25 = HEAP32[$15>>2]|0; + $switch$split2D = ($25|0)<(1229472850); + L9: do { + if ($switch$split2D) { + $switch$split52D = ($25|0)<(1229209940); + if ($switch$split52D) { + switch ($25|0) { + case 1130840649: { + break; + } + default: { + label = 103; + break L9; + } + } + $26 = HEAP32[$6>>2]|0; + _stbi__skip($8,$26); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = 1;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + $switch$split112D = ($25|0)<(1229278788); + if (!($switch$split112D)) { + switch ($25|0) { + case 1229278788: { + label = 85; + break L7; + break; + } + default: { + label = 103; + break L9; + } + } + } + switch ($25|0) { + case 1229209940: { + break; + } + default: { + label = 103; + break L9; + } + } + $130 = ($$0241|0)==(0); + if (!($130)) { + label = 70; + break L7; + } + $131 = ($$0206<<24>>24)==(0); + $132 = ($$0245|0)!=(0); + $or$cond = $132 | $131; + if (!($or$cond)) { + label = 72; + break L7; + } + if ($24) { + label = 74; + break L7; + } + $135 = HEAP32[$6>>2]|0; + $136 = (($135) + ($$0214))|0; + $137 = ($136|0)<($$0214|0); + if ($137) { + $$6$ph = 0; + break L7; + } + $138 = ($136>>>0)>($$0217>>>0); + if ($138) { + $139 = ($$0217|0)==(0); + $140 = ($135>>>0)>(4096); + $141 = $140 ? $135 : 4096; + $$$0217 = $139 ? $141 : $$0217; + $142 = HEAP32[$6>>2]|0; + $143 = (($142) + ($$0214))|0; + $$1218 = $$$0217; + while(1) { + $144 = ($143>>>0)>($$1218>>>0); + $145 = $$1218 << 1; + if ($144) { + $$1218 = $145; + } else { + break; + } + } + $146 = HEAP32[$10>>2]|0; + $147 = (_realloc($146,$$1218)|0); + $148 = ($147|0)==(0|0); + if ($148) { + label = 81; + break L7; + } + HEAP32[$10>>2] = $147; + $$2219 = $$1218; + } else { + $$2219 = $$0217; + } + $149 = HEAP32[$10>>2]|0; + $150 = (($149) + ($$0214)|0); + $151 = HEAP32[$6>>2]|0; + $152 = (_stbi__getn($8,$150,$151)|0); + $153 = ($152|0)==(0); + if ($153) { + label = 83; + break L7; + } + $154 = HEAP32[$6>>2]|0; + $155 = (($154) + ($$0214))|0; + $$1212 = $$0211;$$1215 = $155;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$2219; + } else { + $switch$split82D = ($25|0)<(1347179589); + if ($switch$split82D) { + switch ($25|0) { + case 1229472850: { + break; + } + default: { + label = 103; + break L9; + } + } + $27 = ($$0241|0)==(0); + if ($27) { + label = 7; + break L7; + } + $28 = HEAP32[$6>>2]|0; + $29 = ($28|0)==(13); + if (!($29)) { + label = 9; + break L7; + } + $30 = (_stbi__get32be($8)|0); + HEAP32[$8>>2] = $30; + $31 = ($30>>>0)>(16777216); + if ($31) { + label = 11; + break L7; + } + $32 = (_stbi__get32be($8)|0); + HEAP32[$16>>2] = $32; + $33 = ($32>>>0)>(16777216); + if ($33) { + label = 13; + break L7; + } + $34 = (_stbi__get8($8)|0); + $35 = $34&255; + HEAP32[$17>>2] = $35; + switch ($34<<24>>24) { + case 16: case 8: case 4: case 2: case 1: { + break; + } + default: { + label = 15; + break L7; + } + } + $36 = (_stbi__get8($8)|0); + $37 = $36&255; + $38 = ($36&255)>(6); + if ($38) { + label = 17; + break L7; + } + $39 = ($36<<24>>24)==(3); + if ($39) { + $40 = HEAP32[$17>>2]|0; + $41 = ($40|0)==(16); + if ($41) { + label = 20; + break L7; + } else { + $$1207 = 3; + } + } else { + $42 = $37 & 1; + $43 = ($42|0)==(0); + if ($43) { + $$1207 = $$0206; + } else { + label = 22; + break L7; + } + } + $44 = (_stbi__get8($8)|0); + $45 = ($44<<24>>24)==(0); + if (!($45)) { + label = 24; + break L7; + } + $46 = (_stbi__get8($8)|0); + $47 = ($46<<24>>24)==(0); + if (!($47)) { + label = 26; + break L7; + } + $48 = (_stbi__get8($8)|0); + $49 = $48&255; + $50 = ($48&255)>(1); + if ($50) { + label = 28; + break L7; + } + $51 = HEAP32[$8>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + label = 31; + break L7; + } + $53 = HEAP32[$16>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + label = 31; + break L7; + } + $55 = ($$1207<<24>>24)==(0); + $56 = (1073741824 / ($51>>>0))&-1; + if (!($55)) { + HEAP32[$20>>2] = 1; + $63 = $56 >>> 2; + $64 = ($63>>>0)<($53>>>0); + if ($64) { + label = 37; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = $$1207;$$3220 = $$0217; + break; + } + } + $57 = $37 & 2; + $58 = $57 | 1; + $59 = $37 >>> 2; + $$lobit = $59 & 1; + $60 = (($58) + ($$lobit))|0; + HEAP32[$18>>2] = $60; + $61 = (($56>>>0) / ($60>>>0))&-1; + $62 = ($61>>>0)<($53>>>0); + if ($62) { + label = 34; + break L7; + } + if ($19) { + $$6$ph = 1; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + } + $switch$split142D = ($25|0)<(1951551059); + if ($switch$split142D) { + switch ($25|0) { + case 1347179589: { + break; + } + default: { + label = 103; + break L9; + } + } + $65 = ($$0241|0)==(0); + if (!($65)) { + label = 39; + break L7; + } + $66 = HEAP32[$6>>2]|0; + $67 = ($66>>>0)>(768); + if ($67) { + label = 41; + break L7; + } + $68 = (($66>>>0) / 3)&-1; + $69 = ($68*3)|0; + $70 = ($69|0)==($66|0); + if (!($70)) { + label = 44; + break L7; + } + $71 = ($66>>>0)>(2); + if ($71) { + $$0226593 = 0; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + break; + } + while(1) { + $72 = (_stbi__get8($8)|0); + $73 = $$0226593 << 2; + $74 = (($3) + ($73)|0); + HEAP8[$74>>0] = $72; + $75 = (_stbi__get8($8)|0); + $76 = $73 | 1; + $77 = (($3) + ($76)|0); + HEAP8[$77>>0] = $75; + $78 = (_stbi__get8($8)|0); + $79 = $73 | 2; + $80 = (($3) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = $73 | 3; + $82 = (($3) + ($81)|0); + HEAP8[$82>>0] = -1; + $83 = (($$0226593) + 1)|0; + $84 = ($83>>>0)<($68>>>0); + if ($84) { + $$0226593 = $83; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break L9; + } + } + } + switch ($25|0) { + case 1951551059: { + break; + } + default: { + label = 103; + break L9; + } + } + $85 = ($$0241|0)==(0); + if (!($85)) { + label = 47; + break L7; + } + $86 = HEAP32[$10>>2]|0; + $87 = ($86|0)==(0|0); + if (!($87)) { + label = 49; + break L7; + } + $88 = ($$0206<<24>>24)==(0); + if (!($88)) { + if ($23) { + label = 52; + break L7; + } + $90 = ($$0245|0)==(0); + if ($90) { + label = 54; + break L7; + } + $91 = HEAP32[$6>>2]|0; + $92 = ($91>>>0)>($$0245>>>0); + if ($92) { + label = 58; + break L7; + } + $93 = HEAP32[$6>>2]|0; + $94 = ($93|0)==(0); + if ($94) { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 4;$$3220 = $$0217; + break; + } + $95 = HEAP32[$6>>2]|0; + $$1227588 = 0; + while(1) { + $96 = (_stbi__get8($8)|0); + $97 = $$1227588 << 2; + $98 = $97 | 3; + $99 = (($3) + ($98)|0); + HEAP8[$99>>0] = $96; + $100 = (($$1227588) + 1)|0; + $101 = ($100>>>0)<($95>>>0); + if ($101) { + $$1227588 = $100; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = 4;$$3220 = $$0217; + break L9; + } + } + } + $102 = HEAP32[$21>>2]|0; + $103 = $102 & 1; + $104 = ($103|0)==(0); + if ($104) { + label = 61; + break L7; + } + $105 = HEAP32[$6>>2]|0; + $106 = $102 << 1; + $107 = ($105|0)==($106|0); + if (!($107)) { + label = 63; + break L7; + } + $108 = HEAP32[$22>>2]|0; + $109 = ($108|0)==(16); + $110 = HEAP32[$21>>2]|0; + $111 = ($110|0)>(0); + if ($109) { + if ($111) { + $$0239591 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $112 = (_stbi__get16be($8)|0); + $113 = $112&65535; + $114 = (($5) + ($$0239591<<1)|0); + HEAP16[$114>>1] = $113; + $115 = (($$0239591) + 1)|0; + $116 = HEAP32[$21>>2]|0; + $117 = ($115|0)<($116|0); + if ($117) { + $$0239591 = $115; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } else { + if ($111) { + $$1240589 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $118 = (_stbi__get16be($8)|0); + $119 = $118 & 255; + $120 = HEAP32[$22>>2]|0; + $121 = (9366 + ($120)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $124 = Math_imul($123, $119)|0; + $125 = $124&255; + $126 = (($4) + ($$1240589)|0); + HEAP8[$126>>0] = $125; + $127 = (($$1240589) + 1)|0; + $128 = HEAP32[$21>>2]|0; + $129 = ($127|0)<($128|0); + if ($129) { + $$1240589 = $127; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } + } + } while(0); + if ((label|0) == 103) { + label = 0; + $202 = ($$0241|0)==(0); + if (!($202)) { + label = 104; + break; + } + $203 = $25 & 536870912; + $204 = ($203|0)==(0); + if ($204) { + label = 106; + break; + } + $213 = HEAP32[$6>>2]|0; + _stbi__skip($8,$213); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + } + (_stbi__get32be($8)|0); + $$0206 = $$3209;$$0211 = $$1212;$$0214 = $$1215;$$0217 = $$3220;$$0228 = $$1229;$$0231 = $$2233;$$0235 = $$2237;$$0241 = $$2243;$$0245 = $$1246; + } + switch (label|0) { + case 7: { + _stbi__err(9140); + $$6$ph = 0; + break; + } + case 9: { + _stbi__err(9154); + $$6$ph = 0; + break; + } + case 11: { + _stbi__err(9167); + $$6$ph = 0; + break; + } + case 13: { + _stbi__err(9167); + $$6$ph = 0; + break; + } + case 15: { + _stbi__err(9177); + $$6$ph = 0; + break; + } + case 17: { + _stbi__err(9197); + $$6$ph = 0; + break; + } + case 20: { + _stbi__err(9197); + $$6$ph = 0; + break; + } + case 22: { + _stbi__err(9197); + $$6$ph = 0; + break; + } + case 24: { + _stbi__err(9207); + $$6$ph = 0; + break; + } + case 26: { + _stbi__err(9223); + $$6$ph = 0; + break; + } + case 28: { + _stbi__err(9241); + $$6$ph = 0; + break; + } + case 31: { + _stbi__err(9262); + $$6$ph = 0; + break; + } + case 34: { + _stbi__err(9167); + $$6$ph = 0; + break; + } + case 37: { + _stbi__err(9167); + $$6$ph = 0; + break; + } + case 39: { + _stbi__err(9276); + $$6$ph = 0; + break; + } + case 41: { + _stbi__err(9291); + $$6$ph = 0; + break; + } + case 44: { + _stbi__err(9291); + $$6$ph = 0; + break; + } + case 47: { + _stbi__err(9276); + $$6$ph = 0; + break; + } + case 49: { + _stbi__err(9304); + $$6$ph = 0; + break; + } + case 52: { + $89 = ((($8)) + 8|0); + HEAP32[$89>>2] = 4; + $$6$ph = 1; + break; + } + case 54: { + _stbi__err(9320); + $$6$ph = 0; + break; + } + case 58: { + _stbi__err(9337); + $$6$ph = 0; + break; + } + case 61: { + _stbi__err(9350); + $$6$ph = 0; + break; + } + case 63: { + _stbi__err(9337); + $$6$ph = 0; + break; + } + case 70: { + _stbi__err(9276); + $$6$ph = 0; + break; + } + case 72: { + _stbi__err(9375); + $$6$ph = 0; + break; + } + case 74: { + $133 = $$0206&255; + $134 = ((($8)) + 8|0); + HEAP32[$134>>2] = $133; + $$6$ph = 1; + break; + } + case 81: { + _stbi__err(9022); + $$6$ph = 0; + break; + } + case 83: { + _stbi__err(9383); + $$6$ph = 0; + break; + } + case 85: { + $156 = ($$0241|0)==(0); + do { + if ($156) { + $157 = ($1|0)==(0); + if ($157) { + $158 = HEAP32[$10>>2]|0; + $159 = ($158|0)==(0|0); + if ($159) { + _stbi__err(9393); + $$4 = 0; + break; + } + $160 = HEAP32[$8>>2]|0; + $161 = ((($0)) + 16|0); + $162 = HEAP32[$161>>2]|0; + $163 = Math_imul($162, $160)|0; + $164 = (($163) + 7)|0; + $165 = $164 >>> 3; + $166 = ((($8)) + 4|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($8)) + 8|0); + $169 = HEAP32[$168>>2]|0; + $170 = Math_imul($169, $167)|0; + $171 = Math_imul($170, $165)|0; + $172 = (($171) + ($167))|0; + HEAP32[$7>>2] = $172; + $173 = ($$0228|0)!=(0); + $174 = $173 ^ 1; + $175 = $174&1; + $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0214,$172,$7,$175)|0); + HEAP32[$9>>2] = $176; + $177 = ($176|0)==(0|0); + if ($177) { + $$4 = 0; + } else { + $178 = HEAP32[$10>>2]|0; + _free($178); + HEAP32[$10>>2] = 0; + $179 = HEAP32[$168>>2]|0; + $180 = (($179) + 1)|0; + $notlhs = ($180|0)!=($2|0); + $notrhs = ($2|0)==(3); + $or$cond5$not = $notrhs | $notlhs; + $181 = ($$0206<<24>>24)!=(0); + $or$cond7 = $181 | $or$cond5$not; + $182 = ($$0211<<24>>24)==(0); + $or$cond248 = $182 & $or$cond7; + $$254 = $or$cond248 ? $179 : $180; + $183 = ((($8)) + 12|0); + HEAP32[$183>>2] = $$254; + $184 = HEAP32[$9>>2]|0; + $185 = HEAP32[$7>>2]|0; + $186 = HEAP32[$161>>2]|0; + $187 = (_stbi__create_png_image($0,$184,$185,$$254,$186,$$0231,$$0235)|0); + $188 = ($187|0)==(0); + if ($188) { + $$4 = 0; + } else { + do { + if (!($182)) { + $189 = HEAP32[$161>>2]|0; + $190 = ($189|0)==(16); + if ($190) { + $191 = HEAP32[$183>>2]|0; + _stbi__compute_transparency16($0,$5,$191); + break; + } else { + $192 = HEAP32[$183>>2]|0; + _stbi__compute_transparency($0,$4,$192); + break; + } + } + } while(0); + $193 = HEAP32[6164]|0; + $194 = ($193|0)!=(0); + $or$cond11 = $173 & $194; + if ($or$cond11) { + $195 = HEAP32[$183>>2]|0; + $196 = ($195|0)>(2); + if ($196) { + _stbi__de_iphone($0); + } + } + if ($181) { + $197 = $$0206&255; + HEAP32[$168>>2] = $197; + $198 = ($2|0)>(2); + $$ = $198 ? $2 : $197; + HEAP32[$183>>2] = $$; + $199 = (_stbi__expand_png_palette($0,$3,$$)|0); + $200 = ($199|0)==(0); + if ($200) { + $$4 = 0; + break; + } + } + $201 = HEAP32[$9>>2]|0; + _free($201); + HEAP32[$9>>2] = 0; + $$4 = 1; + } + } + } else { + $$4 = 1; + } + } else { + _stbi__err(9276); + $$4 = 0; + } + } while(0); + $$6$ph = $$4; + break; + } + case 104: { + _stbi__err(9276); + $$6$ph = 0; + break; + } + case 106: { + $205 = $25 >>> 24; + $206 = $205&255; + HEAP8[9401] = $206; + $207 = HEAP32[$15>>2]|0; + $208 = $207 >>> 16; + $209 = $208&255; + HEAP8[(9402)>>0] = $209; + $210 = $207 >>> 8; + $211 = $210&255; + HEAP8[(9403)>>0] = $211; + $212 = $207&255; + HEAP8[(9404)>>0] = $212; + _stbi__err(9401); + $$6$ph = 0; + break; + } + } + $$7 = $$6$ph; + STACKTOP = sp;return ($$7|0); +} +function _stbi__convert_format($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 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, $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, $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; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((9063|0),(8967|0),1477,(9119|0)); + // unreachable; + } + $7 = (_stbi__malloc_mad3($2,$3,$4)|0); + $8 = ($7|0)==(0|0); + if ($8) { + _free($0); + _stbi__err(9022); + $$0163 = 0; + return ($$0163|0); + } + $9 = ($4|0)>(0); + L11: do { + if ($9) { + $10 = $1 << 3; + $11 = (($10) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $12 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $13 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $14 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $15 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $16 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $17 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $18 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $19 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $20 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $21 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $22 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $23 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $24 = Math_imul($$0164259, $3)|0; + $25 = Math_imul($24, $1)|0; + $26 = (($0) + ($25)|0); + $27 = Math_imul($24, $2)|0; + $28 = (($7) + ($27)|0); + do { + switch ($11|0) { + case 10: { + if ($12) { + $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; + while(1) { + $29 = HEAP8[$$0151255>>0]|0; + HEAP8[$$0256>>0] = $29; + $30 = ((($$0256)) + 1|0); + HEAP8[$30>>0] = -1; + $31 = ((($$0151255)) + 1|0); + $32 = ((($$0256)) + 2|0); + $$0165 = (($$0165257) + -1)|0; + $33 = ($$0165|0)>(-1); + if ($33) { + $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; + } else { + break; + } + } + } + break; + } + case 11: { + if ($13) { + $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; + while(1) { + $34 = HEAP8[$$1152250>>0]|0; + $35 = ((($$1251)) + 2|0); + HEAP8[$35>>0] = $34; + $36 = ((($$1251)) + 1|0); + HEAP8[$36>>0] = $34; + HEAP8[$$1251>>0] = $34; + $37 = ((($$1152250)) + 1|0); + $38 = ((($$1251)) + 3|0); + $$1166 = (($$1166252) + -1)|0; + $39 = ($$1166|0)>(-1); + if ($39) { + $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; + } else { + break; + } + } + } + break; + } + case 12: { + if ($14) { + $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; + while(1) { + $40 = HEAP8[$$2153245>>0]|0; + $41 = ((($$2246)) + 2|0); + HEAP8[$41>>0] = $40; + $42 = ((($$2246)) + 1|0); + HEAP8[$42>>0] = $40; + HEAP8[$$2246>>0] = $40; + $43 = ((($$2246)) + 3|0); + HEAP8[$43>>0] = -1; + $44 = ((($$2153245)) + 1|0); + $45 = ((($$2246)) + 4|0); + $$2167 = (($$2167247) + -1)|0; + $46 = ($$2167|0)>(-1); + if ($46) { + $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; + } else { + break; + } + } + } + break; + } + case 17: { + if ($15) { + $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; + while(1) { + $47 = HEAP8[$$3154240>>0]|0; + HEAP8[$$3241>>0] = $47; + $48 = ((($$3154240)) + 2|0); + $49 = ((($$3241)) + 1|0); + $$3168 = (($$3168242) + -1)|0; + $50 = ($$3168|0)>(-1); + if ($50) { + $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; + } else { + break; + } + } + } + break; + } + case 19: { + if ($16) { + $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; + while(1) { + $51 = HEAP8[$$4155235>>0]|0; + $52 = ((($$4236)) + 2|0); + HEAP8[$52>>0] = $51; + $53 = ((($$4236)) + 1|0); + HEAP8[$53>>0] = $51; + HEAP8[$$4236>>0] = $51; + $54 = ((($$4155235)) + 2|0); + $55 = ((($$4236)) + 3|0); + $$4169 = (($$4169237) + -1)|0; + $56 = ($$4169|0)>(-1); + if ($56) { + $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; + } else { + break; + } + } + } + break; + } + case 20: { + if ($17) { + $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; + while(1) { + $57 = HEAP8[$$5156230>>0]|0; + $58 = ((($$5231)) + 2|0); + HEAP8[$58>>0] = $57; + $59 = ((($$5231)) + 1|0); + HEAP8[$59>>0] = $57; + HEAP8[$$5231>>0] = $57; + $60 = ((($$5156230)) + 1|0); + $61 = HEAP8[$60>>0]|0; + $62 = ((($$5231)) + 3|0); + HEAP8[$62>>0] = $61; + $63 = ((($$5156230)) + 2|0); + $64 = ((($$5231)) + 4|0); + $$5170 = (($$5170232) + -1)|0; + $65 = ($$5170|0)>(-1); + if ($65) { + $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; + } else { + break; + } + } + } + break; + } + case 28: { + if ($18) { + $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; + while(1) { + $66 = HEAP8[$$6157225>>0]|0; + HEAP8[$$6226>>0] = $66; + $67 = ((($$6157225)) + 1|0); + $68 = HEAP8[$67>>0]|0; + $69 = ((($$6226)) + 1|0); + HEAP8[$69>>0] = $68; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP8[$70>>0]|0; + $72 = ((($$6226)) + 2|0); + HEAP8[$72>>0] = $71; + $73 = ((($$6226)) + 3|0); + HEAP8[$73>>0] = -1; + $74 = ((($$6157225)) + 3|0); + $75 = ((($$6226)) + 4|0); + $$6171 = (($$6171227) + -1)|0; + $76 = ($$6171|0)>(-1); + if ($76) { + $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; + } else { + break; + } + } + } + break; + } + case 25: { + if ($19) { + $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; + while(1) { + $77 = HEAP8[$$7158220>>0]|0; + $78 = $77&255; + $79 = ((($$7158220)) + 1|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = (_stbi__compute_y($78,$81,$84)|0); + HEAP8[$$7221>>0] = $85; + $86 = ((($$7158220)) + 3|0); + $87 = ((($$7221)) + 1|0); + $$7172 = (($$7172222) + -1)|0; + $88 = ($$7172|0)>(-1); + if ($88) { + $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; + } else { + break; + } + } + } + break; + } + case 26: { + if ($20) { + $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; + while(1) { + $89 = HEAP8[$$8159215>>0]|0; + $90 = $89&255; + $91 = ((($$8159215)) + 1|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = (_stbi__compute_y($90,$93,$96)|0); + HEAP8[$$8216>>0] = $97; + $98 = ((($$8216)) + 1|0); + HEAP8[$98>>0] = -1; + $99 = ((($$8159215)) + 3|0); + $100 = ((($$8216)) + 2|0); + $$8173 = (($$8173217) + -1)|0; + $101 = ($$8173|0)>(-1); + if ($101) { + $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; + } else { + break; + } + } + } + break; + } + case 33: { + if ($21) { + $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; + while(1) { + $102 = HEAP8[$$9160210>>0]|0; + $103 = $102&255; + $104 = ((($$9160210)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105&255; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (_stbi__compute_y($103,$106,$109)|0); + HEAP8[$$9211>>0] = $110; + $111 = ((($$9160210)) + 4|0); + $112 = ((($$9211)) + 1|0); + $$9174 = (($$9174212) + -1)|0; + $113 = ($$9174|0)>(-1); + if ($113) { + $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; + } else { + break; + } + } + } + break; + } + case 34: { + if ($22) { + $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; + while(1) { + $114 = HEAP8[$$10161205>>0]|0; + $115 = $114&255; + $116 = ((($$10161205)) + 1|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120&255; + $122 = (_stbi__compute_y($115,$118,$121)|0); + HEAP8[$$10206>>0] = $122; + $123 = ((($$10161205)) + 3|0); + $124 = HEAP8[$123>>0]|0; + $125 = ((($$10206)) + 1|0); + HEAP8[$125>>0] = $124; + $126 = ((($$10161205)) + 4|0); + $127 = ((($$10206)) + 2|0); + $$10175 = (($$10175207) + -1)|0; + $128 = ($$10175|0)>(-1); + if ($128) { + $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; + } else { + break; + } + } + } + break; + } + case 35: { + if ($23) { + $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; + while(1) { + $129 = HEAP8[$$11162201>>0]|0; + HEAP8[$$11202>>0] = $129; + $130 = ((($$11162201)) + 1|0); + $131 = HEAP8[$130>>0]|0; + $132 = ((($$11202)) + 1|0); + HEAP8[$132>>0] = $131; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP8[$133>>0]|0; + $135 = ((($$11202)) + 2|0); + HEAP8[$135>>0] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = ((($$11202)) + 3|0); + $$11176 = (($$11176203) + -1)|0; + $138 = ($$11176|0)>(-1); + if ($138) { + $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $139 = (($$0164259) + 1)|0; + $140 = ($139|0)<($4|0); + if ($140) { + $$0164259 = $139; + } else { + break L11; + } + } + ___assert_fail((9117|0),(8967|0),1506,(9119|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $7; + return ($$0163|0); +} +function _stbi__convert_format16($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 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, $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, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((9063|0),(8967|0),1526,(9094|0)); + // unreachable; + } + $7 = $2 << 1; + $8 = Math_imul($7, $3)|0; + $9 = Math_imul($8, $4)|0; + $10 = (_stbi__malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _free($0); + _stbi__err(9022); + $$0163 = 0; + return ($$0163|0); + } + $12 = ($4|0)>(0); + L11: do { + if ($12) { + $13 = $1 << 3; + $14 = (($13) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $15 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $16 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $17 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $18 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $19 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $20 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $21 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $22 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $23 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $24 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $25 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $26 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $27 = Math_imul($$0164259, $3)|0; + $28 = Math_imul($27, $1)|0; + $29 = (($0) + ($28<<1)|0); + $30 = Math_imul($27, $2)|0; + $31 = (($10) + ($30<<1)|0); + do { + switch ($14|0) { + case 10: { + if ($15) { + $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; + while(1) { + $32 = HEAP16[$$0151255>>1]|0; + HEAP16[$$0256>>1] = $32; + $33 = ((($$0256)) + 2|0); + HEAP16[$33>>1] = -1; + $34 = ((($$0151255)) + 2|0); + $35 = ((($$0256)) + 4|0); + $$0165 = (($$0165257) + -1)|0; + $36 = ($$0165|0)>(-1); + if ($36) { + $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; + } else { + break; + } + } + } + break; + } + case 11: { + if ($16) { + $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; + while(1) { + $37 = HEAP16[$$1152250>>1]|0; + $38 = ((($$1251)) + 4|0); + HEAP16[$38>>1] = $37; + $39 = ((($$1251)) + 2|0); + HEAP16[$39>>1] = $37; + HEAP16[$$1251>>1] = $37; + $40 = ((($$1152250)) + 2|0); + $41 = ((($$1251)) + 6|0); + $$1166 = (($$1166252) + -1)|0; + $42 = ($$1166|0)>(-1); + if ($42) { + $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; + } else { + break; + } + } + } + break; + } + case 12: { + if ($17) { + $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; + while(1) { + $43 = HEAP16[$$2153245>>1]|0; + $44 = ((($$2246)) + 4|0); + HEAP16[$44>>1] = $43; + $45 = ((($$2246)) + 2|0); + HEAP16[$45>>1] = $43; + HEAP16[$$2246>>1] = $43; + $46 = ((($$2246)) + 6|0); + HEAP16[$46>>1] = -1; + $47 = ((($$2153245)) + 2|0); + $48 = ((($$2246)) + 8|0); + $$2167 = (($$2167247) + -1)|0; + $49 = ($$2167|0)>(-1); + if ($49) { + $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; + } else { + break; + } + } + } + break; + } + case 17: { + if ($18) { + $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; + while(1) { + $50 = HEAP16[$$3154240>>1]|0; + HEAP16[$$3241>>1] = $50; + $51 = ((($$3154240)) + 4|0); + $52 = ((($$3241)) + 2|0); + $$3168 = (($$3168242) + -1)|0; + $53 = ($$3168|0)>(-1); + if ($53) { + $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; + } else { + break; + } + } + } + break; + } + case 19: { + if ($19) { + $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; + while(1) { + $54 = HEAP16[$$4155235>>1]|0; + $55 = ((($$4236)) + 4|0); + HEAP16[$55>>1] = $54; + $56 = ((($$4236)) + 2|0); + HEAP16[$56>>1] = $54; + HEAP16[$$4236>>1] = $54; + $57 = ((($$4155235)) + 4|0); + $58 = ((($$4236)) + 6|0); + $$4169 = (($$4169237) + -1)|0; + $59 = ($$4169|0)>(-1); + if ($59) { + $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; + } else { + break; + } + } + } + break; + } + case 20: { + if ($20) { + $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; + while(1) { + $60 = HEAP16[$$5156230>>1]|0; + $61 = ((($$5231)) + 4|0); + HEAP16[$61>>1] = $60; + $62 = ((($$5231)) + 2|0); + HEAP16[$62>>1] = $60; + HEAP16[$$5231>>1] = $60; + $63 = ((($$5156230)) + 2|0); + $64 = HEAP16[$63>>1]|0; + $65 = ((($$5231)) + 6|0); + HEAP16[$65>>1] = $64; + $66 = ((($$5156230)) + 4|0); + $67 = ((($$5231)) + 8|0); + $$5170 = (($$5170232) + -1)|0; + $68 = ($$5170|0)>(-1); + if ($68) { + $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; + } else { + break; + } + } + } + break; + } + case 28: { + if ($21) { + $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; + while(1) { + $69 = HEAP16[$$6157225>>1]|0; + HEAP16[$$6226>>1] = $69; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP16[$70>>1]|0; + $72 = ((($$6226)) + 2|0); + HEAP16[$72>>1] = $71; + $73 = ((($$6157225)) + 4|0); + $74 = HEAP16[$73>>1]|0; + $75 = ((($$6226)) + 4|0); + HEAP16[$75>>1] = $74; + $76 = ((($$6226)) + 6|0); + HEAP16[$76>>1] = -1; + $77 = ((($$6157225)) + 6|0); + $78 = ((($$6226)) + 8|0); + $$6171 = (($$6171227) + -1)|0; + $79 = ($$6171|0)>(-1); + if ($79) { + $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; + } else { + break; + } + } + } + break; + } + case 25: { + if ($22) { + $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; + while(1) { + $80 = HEAP16[$$7158220>>1]|0; + $81 = $80&65535; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP16[$82>>1]|0; + $84 = $83&65535; + $85 = ((($$7158220)) + 4|0); + $86 = HEAP16[$85>>1]|0; + $87 = $86&65535; + $88 = (_stbi__compute_y_16($81,$84,$87)|0); + HEAP16[$$7221>>1] = $88; + $89 = ((($$7158220)) + 6|0); + $90 = ((($$7221)) + 2|0); + $$7172 = (($$7172222) + -1)|0; + $91 = ($$7172|0)>(-1); + if ($91) { + $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; + } else { + break; + } + } + } + break; + } + case 26: { + if ($23) { + $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; + while(1) { + $92 = HEAP16[$$8159215>>1]|0; + $93 = $92&65535; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP16[$94>>1]|0; + $96 = $95&65535; + $97 = ((($$8159215)) + 4|0); + $98 = HEAP16[$97>>1]|0; + $99 = $98&65535; + $100 = (_stbi__compute_y_16($93,$96,$99)|0); + HEAP16[$$8216>>1] = $100; + $101 = ((($$8216)) + 2|0); + HEAP16[$101>>1] = -1; + $102 = ((($$8159215)) + 6|0); + $103 = ((($$8216)) + 4|0); + $$8173 = (($$8173217) + -1)|0; + $104 = ($$8173|0)>(-1); + if ($104) { + $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; + } else { + break; + } + } + } + break; + } + case 33: { + if ($24) { + $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; + while(1) { + $105 = HEAP16[$$9160210>>1]|0; + $106 = $105&65535; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP16[$107>>1]|0; + $109 = $108&65535; + $110 = ((($$9160210)) + 4|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111&65535; + $113 = (_stbi__compute_y_16($106,$109,$112)|0); + HEAP16[$$9211>>1] = $113; + $114 = ((($$9160210)) + 8|0); + $115 = ((($$9211)) + 2|0); + $$9174 = (($$9174212) + -1)|0; + $116 = ($$9174|0)>(-1); + if ($116) { + $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; + } else { + break; + } + } + } + break; + } + case 34: { + if ($25) { + $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; + while(1) { + $117 = HEAP16[$$10161205>>1]|0; + $118 = $117&65535; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120&65535; + $122 = ((($$10161205)) + 4|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123&65535; + $125 = (_stbi__compute_y_16($118,$121,$124)|0); + HEAP16[$$10206>>1] = $125; + $126 = ((($$10161205)) + 6|0); + $127 = HEAP16[$126>>1]|0; + $128 = ((($$10206)) + 2|0); + HEAP16[$128>>1] = $127; + $129 = ((($$10161205)) + 8|0); + $130 = ((($$10206)) + 4|0); + $$10175 = (($$10175207) + -1)|0; + $131 = ($$10175|0)>(-1); + if ($131) { + $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; + } else { + break; + } + } + } + break; + } + case 35: { + if ($26) { + $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; + while(1) { + $132 = HEAP16[$$11162201>>1]|0; + HEAP16[$$11202>>1] = $132; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP16[$133>>1]|0; + $135 = ((($$11202)) + 2|0); + HEAP16[$135>>1] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = HEAP16[$136>>1]|0; + $138 = ((($$11202)) + 4|0); + HEAP16[$138>>1] = $137; + $139 = ((($$11162201)) + 8|0); + $140 = ((($$11202)) + 6|0); + $$11176 = (($$11176203) + -1)|0; + $141 = ($$11176|0)>(-1); + if ($141) { + $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $142 = (($$0164259) + 1)|0; + $143 = ($142|0)<($4|0); + if ($143) { + $$0164259 = $142; + } else { + break L11; + } + } + ___assert_fail((9117|0),(8967|0),1555,(9094|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $10; + return ($$0163|0); +} +function _stbi__compute_y_16($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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&65535; + return ($9|0); +} +function _stbi__malloc_mad3($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, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + $5 = Math_imul($1, $0)|0; + $6 = Math_imul($5, $2)|0; + $7 = (_stbi__malloc($6)|0); + $$0 = $7; + return ($$0|0); +} +function _stbi__compute_y($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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&255; + return ($9|0); +} +function _stbi__mad3sizes_valid($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mul2sizes_valid($0,$1)|0); + $4 = ($3|0)==(0); + if ($4) { + $12 = 0; + } else { + $5 = Math_imul($1, $0)|0; + $6 = (_stbi__mul2sizes_valid($5,$2)|0); + $7 = ($6|0)==(0); + if ($7) { + $12 = 0; + } else { + $8 = Math_imul($5, $2)|0; + $9 = (_stbi__addsizes_valid($8)|0); + $10 = ($9|0)!=(0); + $12 = $10; + } + } + $11 = $12&1; + return ($11|0); +} +function _stbi__mul2sizes_valid($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 = $1 | $0; + $3 = ($2|0)<(0); + if ($3) { + $$0 = 0; + } else { + $4 = ($1|0)==(0); + if ($4) { + $$0 = 1; + } else { + $5 = (2147483647 / ($1|0))&-1; + $6 = ($5|0)>=($0|0); + $7 = $6&1; + $$0 = $7; + } + } + return ($$0|0); +} +function _stbi__addsizes_valid($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 1; +} +function _stbi__check_png_header($0) { + $0 = $0|0; + var $$05 = 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 = (_stbi__get8($0)|0); + $2 = ($1<<24>>24)==(-119); + if ($2) { + $3 = (_stbi__get8($0)|0); + $4 = ($3<<24>>24)==(80); + if ($4) { + $5 = (_stbi__get8($0)|0); + $6 = ($5<<24>>24)==(78); + if ($6) { + $7 = (_stbi__get8($0)|0); + $8 = ($7<<24>>24)==(71); + if ($8) { + $9 = (_stbi__get8($0)|0); + $10 = ($9<<24>>24)==(13); + if ($10) { + $11 = (_stbi__get8($0)|0); + $12 = ($11<<24>>24)==(10); + if ($12) { + $13 = (_stbi__get8($0)|0); + $14 = ($13<<24>>24)==(26); + if ($14) { + $15 = (_stbi__get8($0)|0); + $16 = ($15<<24>>24)==(10); + if ($16) { + $$05 = 1; + return ($$05|0); + } + } + } + } + } + } + } + } + _stbi__err(10378); + $$05 = 0; + return ($$05|0); +} +function _stbi__get_chunk_header($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__get32be($1)|0); + $3 = (_stbi__get32be($1)|0); + HEAP32[$0>>2] = $2; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + return; +} +function _stbi__skip($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(0); + if ($2) { + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 168|0); + HEAP32[$5>>2] = $4; + return; + } + $6 = ((($0)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 168|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10; + $14 = (($13) - ($12))|0; + $15 = ($14|0)<($1|0); + if ($15) { + HEAP32[$11>>2] = $10; + $16 = ((($0)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($1) - ($14))|0; + FUNCTION_TABLE_vii[$17 & 63]($19,$20); + return; + } + } + $21 = ((($0)) + 168|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + ($1)|0); + HEAP32[$21>>2] = $23; + return; +} +function _stbi__get32be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get16be($0)|0); + $2 = $1 << 16; + $3 = (_stbi__get16be($0)|0); + $4 = (($2) + ($3))|0; + return ($4|0); +} +function _stbi__get8($0) { + $0 = $0|0; + var $$0 = 0, $$sink6 = 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; + $1 = ((($0)) + 168|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)<($4>>>0); + do { + if ($5) { + $$sink6 = $2; + } else { + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + return ($$0|0); + } else { + _stbi__refill_buffer($0); + $9 = HEAP32[$1>>2]|0; + $$sink6 = $9; + break; + } + } + } while(0); + $10 = ((($$sink6)) + 1|0); + HEAP32[$1>>2] = $10; + $11 = HEAP8[$$sink6>>0]|0; + $$0 = $11; + return ($$0|0); +} +function _stbi__get16be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get8($0)|0); + $2 = $1&255; + $3 = $2 << 8; + $4 = (_stbi__get8($0)|0); + $5 = $4&255; + $6 = $3 | $5; + return ($6|0); +} +function _stbi__getn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($0)) + 172|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 168|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9; + $11 = (($7) - ($10))|0; + $12 = ($11|0)<($2|0); + if ($12) { + _memcpy(($1|0),($9|0),($11|0))|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($1) + ($11)|0); + $17 = (($2) - ($11))|0; + $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); + $19 = ($18|0)==($17|0); + $20 = $19&1; + $21 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $21; + $$1 = $20; + return ($$1|0); + } + } + $22 = ((($0)) + 168|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($2)|0); + $25 = ((($0)) + 172|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($24>>>0)>($26>>>0); + if ($27) { + $$1 = 0; + return ($$1|0); + } + _memcpy(($1|0),($23|0),($2|0))|0; + $28 = HEAP32[$22>>2]|0; + $29 = (($28) + ($2)|0); + HEAP32[$22>>2] = $29; + $$1 = 1; + return ($$1|0); +} +function _stbi_zlib_decode_malloc_guesssize_headerflag($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); + $5 = sp; + $6 = (_stbi__malloc($2)|0); + $7 = ($6|0)==(0|0); + do { + if ($7) { + $$0 = 0; + } else { + HEAP32[$5>>2] = $0; + $8 = (($0) + ($1)|0); + $9 = ((($5)) + 4|0); + HEAP32[$9>>2] = $8; + $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); + $11 = ($10|0)==(0); + $12 = ((($5)) + 20|0); + $13 = HEAP32[$12>>2]|0; + if ($11) { + _free($13); + $$0 = 0; + break; + } + $14 = ($3|0)==(0|0); + if ($14) { + $$0 = $13; + } else { + $15 = ((($5)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = $13; + $18 = (($16) - ($17))|0; + HEAP32[$3>>2] = $18; + $$0 = $13; + } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _stbi__create_png_image($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 $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 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; + 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, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 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, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ($4|0)==(16); + $8 = $7 ? 2 : 1; + $9 = Math_imul($8, $3)|0; + $10 = ($6|0)==(0); + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($11)) + 4|0); + $14 = HEAP32[$13>>2]|0; + if ($10) { + $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); + $$4 = $15; + return ($$4|0); + } + $16 = (_stbi__malloc_mad3($12,$14,$9)|0); + $17 = ((($0)) + 12|0); + $18 = ((($0)) + 12|0); + $$0103117 = 0;$$095119 = $1;$$099118 = $2; + while(1) { + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = (2984 + ($$0103117<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = (3012 + ($$0103117<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($20) + -1)|0; + $26 = (($25) - ($22))|0; + $27 = (($26) + ($24))|0; + $28 = (($27>>>0) / ($24>>>0))&-1; + $29 = ((($19)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (3040 + ($$0103117<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = (3068 + ($$0103117<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($30) + -1)|0; + $36 = (($35) - ($32))|0; + $37 = (($36) + ($34))|0; + $38 = (($37>>>0) / ($34>>>0))&-1; + $39 = ($24>>>0)<=($27>>>0); + $40 = ($34>>>0)<=($37>>>0); + $or$cond = $39 & $40; + if ($or$cond) { + $41 = ((($19)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = Math_imul($28, $4)|0; + $44 = Math_imul($43, $42)|0; + $45 = (($44) + 7)|0; + $46 = $45 >> 3; + $47 = (($46) + 1)|0; + $48 = Math_imul($47, $38)|0; + $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); + $50 = ($49|0)==(0); + if ($50) { + label = 13; + break; + } + $51 = ($38|0)>(0); + if ($51) { + $52 = ($28|0)>(0); + $$0106116 = 0; + while(1) { + if ($52) { + $53 = HEAP32[$33>>2]|0; + $54 = Math_imul($53, $$0106116)|0; + $55 = HEAP32[$31>>2]|0; + $56 = (($54) + ($55))|0; + $57 = HEAP32[$23>>2]|0; + $58 = HEAP32[$21>>2]|0; + $59 = Math_imul($56, $9)|0; + $60 = Math_imul($$0106116, $28)|0; + $$0107115 = 0; + while(1) { + $61 = Math_imul($57, $$0107115)|0; + $62 = (($61) + ($58))|0; + $63 = HEAP32[$0>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = Math_imul($59, $64)|0; + $66 = (($16) + ($65)|0); + $67 = Math_imul($62, $9)|0; + $68 = (($66) + ($67)|0); + $69 = HEAP32[$18>>2]|0; + $70 = (($$0107115) + ($60))|0; + $71 = Math_imul($70, $9)|0; + $72 = (($69) + ($71)|0); + _memcpy(($68|0),($72|0),($9|0))|0; + $73 = (($$0107115) + 1)|0; + $74 = ($73|0)<($28|0); + if ($74) { + $$0107115 = $73; + } else { + break; + } + } + } + $75 = (($$0106116) + 1)|0; + $76 = ($75|0)<($38|0); + if ($76) { + $$0106116 = $75; + } else { + break; + } + } + } + $77 = HEAP32[$17>>2]|0; + _free($77); + $78 = (($$095119) + ($48)|0); + $79 = (($$099118) - ($48))|0; + $$3102$ph = $79;$$398$ph = $78; + } else { + $$3102$ph = $$099118;$$398$ph = $$095119; + } + $80 = (($$0103117) + 1)|0; + $81 = ($80|0)<(7); + if ($81) { + $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; + } else { + label = 15; + break; + } + } + if ((label|0) == 13) { + _free($16); + $$4 = 0; + return ($$4|0); + } + else if ((label|0) == 15) { + $82 = ((($0)) + 12|0); + HEAP32[$82>>2] = $16; + $$4 = 1; + return ($$4|0); + } + return (0)|0; +} +function _stbi__compute_transparency16($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP16[$$04>>1]|0; + $15 = HEAP16[$1>>1]|0; + $not$ = ($14<<16>>16)!=($15<<16>>16); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 2|0); + HEAP16[$17>>1] = $16; + $18 = ((($$04)) + 4|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 2|0); + $12 = ((($1)) + 4|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP16[$$16>>1]|0; + $21 = HEAP16[$1>>1]|0; + $22 = ($20<<16>>16)==($21<<16>>16); + if ($22) { + $23 = ((($$16)) + 2|0); + $24 = HEAP16[$23>>1]|0; + $25 = HEAP16[$11>>1]|0; + $26 = ($24<<16>>16)==($25<<16>>16); + if ($26) { + $27 = ((($$16)) + 4|0); + $28 = HEAP16[$27>>1]|0; + $29 = HEAP16[$12>>1]|0; + $30 = ($28<<16>>16)==($29<<16>>16); + if ($30) { + $31 = ((($$16)) + 6|0); + HEAP16[$31>>1] = 0; + } + } + } + $32 = ((($$16)) + 8|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((9460|0),(8967|0),4569,(9512|0)); + // unreachable; + } + } +} +function _stbi__compute_transparency($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP8[$$04>>0]|0; + $15 = HEAP8[$1>>0]|0; + $not$ = ($14<<24>>24)!=($15<<24>>24); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 1|0); + HEAP8[$17>>0] = $16; + $18 = ((($$04)) + 2|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 1|0); + $12 = ((($1)) + 2|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP8[$$16>>0]|0; + $21 = HEAP8[$1>>0]|0; + $22 = ($20<<24>>24)==($21<<24>>24); + if ($22) { + $23 = ((($$16)) + 1|0); + $24 = HEAP8[$23>>0]|0; + $25 = HEAP8[$11>>0]|0; + $26 = ($24<<24>>24)==($25<<24>>24); + if ($26) { + $27 = ((($$16)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = HEAP8[$12>>0]|0; + $30 = ($28<<24>>24)==($29<<24>>24); + if ($30) { + $31 = ((($$16)) + 3|0); + HEAP8[$31>>0] = 0; + } + } + } + $32 = ((($$16)) + 4|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((9460|0),(8967|0),4544,(9485|0)); + // unreachable; + } + } +} +function _stbi__de_iphone($0) { + $0 = $0|0; + var $$05158 = 0, $$059 = 0, $$15263 = 0, $$164 = 0, $$25360 = 0, $$261 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond68 = 0, $exitcond69 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($1)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($9|0) { + case 3: { + $10 = ($5|0)==(0); + if ($10) { + return; + } else { + $$05158 = $7;$$059 = 0; + } + while(1) { + $11 = HEAP8[$$05158>>0]|0; + $12 = ((($$05158)) + 2|0); + $13 = HEAP8[$12>>0]|0; + HEAP8[$$05158>>0] = $13; + HEAP8[$12>>0] = $11; + $14 = ((($$05158)) + 3|0); + $15 = (($$059) + 1)|0; + $exitcond = ($15|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05158 = $14;$$059 = $15; + } + } + return; + break; + } + case 4: { + $16 = HEAP32[6165]|0; + $17 = ($16|0)==(0); + $18 = ($5|0)!=(0); + if ($17) { + if ($18) { + $$25360 = $7;$$261 = 0; + } else { + return; + } + while(1) { + $42 = HEAP8[$$25360>>0]|0; + $43 = ((($$25360)) + 2|0); + $44 = HEAP8[$43>>0]|0; + HEAP8[$$25360>>0] = $44; + HEAP8[$43>>0] = $42; + $45 = ((($$25360)) + 4|0); + $46 = (($$261) + 1)|0; + $exitcond68 = ($46|0)==($5|0); + if ($exitcond68) { + break; + } else { + $$25360 = $45;$$261 = $46; + } + } + return; + } + if ($18) { + $$15263 = $7;$$164 = 0; + } else { + return; + } + while(1) { + $19 = ((($$15263)) + 3|0); + $20 = HEAP8[$19>>0]|0; + $21 = HEAP8[$$15263>>0]|0; + $22 = ($20<<24>>24)==(0); + $23 = ((($$15263)) + 2|0); + $24 = HEAP8[$23>>0]|0; + if ($22) { + HEAP8[$$15263>>0] = $24; + $$sink = $21; + } else { + $25 = $24&255; + $26 = ($25*255)|0; + $27 = $20&255; + $28 = (($26>>>0) / ($27>>>0))&-1; + $29 = $28&255; + HEAP8[$$15263>>0] = $29; + $30 = ((($$15263)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32*255)|0; + $34 = (($33>>>0) / ($27>>>0))&-1; + $35 = $34&255; + HEAP8[$30>>0] = $35; + $36 = $21&255; + $37 = ($36*255)|0; + $38 = (($37>>>0) / ($27>>>0))&-1; + $39 = $38&255; + $$sink = $39; + } + HEAP8[$23>>0] = $$sink; + $40 = ((($$15263)) + 4|0); + $41 = (($$164) + 1)|0; + $exitcond69 = ($41|0)==($5|0); + if ($exitcond69) { + break; + } else { + $$15263 = $40;$$164 = $41; + } + } + return; + break; + } + default: { + ___assert_fail((9426|0),(8967|0),4650,(9444|0)); + // unreachable; + } + } +} +function _stbi__expand_png_palette($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_stbi__malloc_mad2($7,$2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _stbi__err(9022); + $$0 = 0; + return ($$0|0); + } + $12 = ($2|0)==(3); + $13 = ($7|0)!=(0); + if ($12) { + if ($13) { + $$0574 = 0;$$0583 = $10; + while(1) { + $14 = (($9) + ($$0574)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 << 2; + $18 = (($1) + ($17)|0); + $19 = HEAP8[$18>>0]|0; + HEAP8[$$0583>>0] = $19; + $20 = $17 | 1; + $21 = (($1) + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($$0583)) + 1|0); + HEAP8[$23>>0] = $22; + $24 = $17 | 2; + $25 = (($1) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = ((($$0583)) + 2|0); + HEAP8[$27>>0] = $26; + $28 = ((($$0583)) + 3|0); + $29 = (($$0574) + 1)|0; + $exitcond = ($29|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0574 = $29;$$0583 = $28; + } + } + } + } else { + if ($13) { + $$1595 = $10;$$16 = 0; + while(1) { + $30 = (($9) + ($$16)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 << 2; + $34 = (($1) + ($33)|0); + $35 = HEAP8[$34>>0]|0; + HEAP8[$$1595>>0] = $35; + $36 = $33 | 1; + $37 = (($1) + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = ((($$1595)) + 1|0); + HEAP8[$39>>0] = $38; + $40 = $33 | 2; + $41 = (($1) + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = ((($$1595)) + 2|0); + HEAP8[$43>>0] = $42; + $44 = $33 | 3; + $45 = (($1) + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ((($$1595)) + 3|0); + HEAP8[$47>>0] = $46; + $48 = ((($$1595)) + 4|0); + $49 = (($$16) + 1)|0; + $exitcond9 = ($49|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1595 = $48;$$16 = $49; + } + } + } + } + $50 = HEAP32[$8>>2]|0; + _free($50); + HEAP32[$8>>2] = $10; + $$0 = 1; + return ($$0|0); +} +function _stbi__malloc_mad2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mad2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $$0 = 0; + return ($$0|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__malloc($4)|0); + $$0 = $5; + return ($$0|0); +} +function _stbi__mad2sizes_valid($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 = (_stbi__mul2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $8 = 0; + $7 = $8&1; + return ($7|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__addsizes_valid($4)|0); + $6 = ($5|0)!=(0); + $8 = $6; + $7 = $8&1; + return ($7|0); +} +function _stbi__create_png_image_raw($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 $$0568 = 0, $$0568724 = 0, $$0568725 = 0, $$0571$lcssa = 0, $$0571715 = 0, $$0574$lcssa = 0, $$0574714 = 0, $$0577817 = 0, $$0588 = 0, $$0597 = 0, $$0608816 = 0, $$0611815 = 0, $$0614 = 0, $$0614793 = 0, $$0614796 = 0, $$0623814 = 0, $$0625734 = 0, $$0731 = 0, $$1 = 0, $$10635764 = 0; + var $$11$ph = 0, $$11636755 = 0, $$12747 = 0, $$13739 = 0, $$14$lcssa = 0, $$14713 = 0, $$15$lcssa = 0, $$15705 = 0, $$1572$lcssa = 0, $$1572707 = 0, $$1575$lcssa = 0, $$1575706 = 0, $$1578 = 0, $$16$lcssa = 0, $$1609 = 0, $$1612 = 0, $$1615 = 0, $$1615785 = 0, $$1615788 = 0, $$1624727 = 0; + var $$1626812 = 0, $$16700 = 0, $$1721 = 0, $$1722 = 0, $$2 = 0, $$2573$lcssa = 0, $$2573702 = 0, $$2579795 = 0, $$2599794 = 0, $$2616 = 0, $$2616776 = 0, $$2616780 = 0, $$2627810 = 0, $$3580787 = 0, $$3592778 = 0, $$3600786 = 0, $$3617 = 0, $$3617767 = 0, $$3617771 = 0, $$3628808 = 0; + var $$4$lcssa = 0, $$4581779 = 0, $$4593769 = 0, $$4601777 = 0, $$4618 = 0, $$4618758 = 0, $$4618762 = 0, $$4629806 = 0, $$4701 = 0, $$5582770 = 0, $$5594760 = 0, $$5602768 = 0, $$5619 = 0, $$5619750 = 0, $$5619753 = 0, $$5630804 = 0, $$6583761 = 0, $$6603759 = 0, $$6620 = 0, $$6620742 = 0; + var $$6620745 = 0, $$6631802 = 0, $$7584752 = 0, $$7604751 = 0, $$7621798 = 0, $$7632790 = 0, $$8585744 = 0, $$8605743 = 0, $$8622729 = 0, $$8633782 = 0, $$9586 = 0, $$9606799 = 0, $$9634773 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink641 = 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, $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; + var $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, $429 = 0; + var $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, $446 = 0, $447 = 0; + var $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, $463 = 0, $464 = 0, $465 = 0; + var $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, $481 = 0, $482 = 0, $483 = 0; + var $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, $50 = 0, $500 = 0, $501 = 0; + var $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, $517 = 0, $518 = 0, $519 = 0, $52 = 0; + var $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, $535 = 0, $536 = 0, $537 = 0, $538 = 0; + var $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, $553 = 0, $554 = 0, $555 = 0, $556 = 0; + var $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, $571 = 0, $572 = 0, $573 = 0, $574 = 0; + var $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, $59 = 0, $590 = 0, $591 = 0, $592 = 0; + var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 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, $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; + 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, $brmerge = 0, $brmerge894 = 0, $exitcond = 0, $exitcond864 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond873 = 0, $exitcond875 = 0, $exitcond877 = 0, $exitcond880 = 0, $exitcond881 = 0, $exitcond882 = 0, $exitcond883 = 0, $exitcond884 = 0; + var $exitcond885 = 0, $exitcond886 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv$next858 = 0, $indvars$iv$next861 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $indvars$iv857 = 0, $indvars$iv860 = 0, $or$cond = 0, $scevgep = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep859 = 0; + var $scevgep862 = 0, $scevgep866 = 0, $scevgep868 = 0, $scevgep870 = 0, $scevgep872 = 0, $scevgep874 = 0, $scevgep876 = 0, $scevgep879 = 0, $trunc = 0, $trunc637 = 0, $trunc638 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = ($6|0)==(16); + $9 = $8 ? 2 : 1; + $10 = HEAP32[$0>>2]|0; + $11 = Math_imul($4, $3)|0; + $12 = Math_imul($9, $11)|0; + $13 = ((($10)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = Math_imul($9, $3)|0; + $16 = Math_imul($14, $9)|0; + $17 = ($14|0)==($3|0); + $18 = (($14) + 1)|0; + $19 = ($18|0)==($3|0); + $or$cond = $17 | $19; + if (!($or$cond)) { + ___assert_fail((9541|0),(8967|0),4294,(9582|0)); + // unreachable; + } + $20 = (_stbi__malloc_mad3($4,$5,$15)|0); + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $22 = ($20|0)==(0|0); + if ($22) { + _stbi__err(9022); + $$2 = 0; + return ($$2|0); + } + $23 = Math_imul($14, $4)|0; + $24 = Math_imul($23, $6)|0; + $25 = (($24) + 7)|0; + $26 = $25 >>> 3; + $27 = (($26) + 1)|0; + $28 = Math_imul($27, $5)|0; + $29 = HEAP32[$10>>2]|0; + $30 = ($29|0)==($4|0); + if ($30) { + $31 = ((($10)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($5|0); + if ($33) { + $34 = ($28|0)==($2|0); + if (!($34)) { + _stbi__err(9609); + $$2 = 0; + return ($$2|0); + } + } else { + label = 9; + } + } else { + label = 9; + } + if ((label|0) == 9) { + $35 = ($28>>>0)>($2>>>0); + if ($35) { + _stbi__err(9609); + $$2 = 0; + return ($$2|0); + } + } + $36 = ($5|0)==(0); + L18: do { + if (!($36)) { + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; + $41 = ($6|0)==(8); + $brmerge = $37 | $17; + $42 = ($4|0)==(0); + $$0614793 = (($4) + -1)|0; + $43 = ($$0614793|0)==(0); + $$1615785 = (($4) + -1)|0; + $44 = ($$1615785|0)==(0); + $$2616776 = (($4) + -1)|0; + $45 = ($$2616776|0)==(0); + $$3617767 = (($4) + -1)|0; + $46 = ($$3617767|0)==(0); + $$4618758 = (($4) + -1)|0; + $47 = ($$4618758|0)==(0); + $$5619750 = (($4) + -1)|0; + $48 = ($$5619750|0)==(0); + $$6620742 = (($4) + -1)|0; + $49 = ($$6620742|0)==(0); + $$not = $8 ^ 1; + $brmerge894 = $42 | $$not; + $$0577817 = $1;$$0608816 = $4;$$0611815 = $16;$$0623814 = 0; + while(1) { + $50 = HEAP32[$21>>2]|0; + $51 = Math_imul($$0623814, $12)|0; + $52 = (($50) + ($51)|0); + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { + label = 105; + break; + } + if ($37) { + if ($38) { + label = 16; + break; + } + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; + } else { + $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; + } + $58 = (($$0597) + ($40)|0); + $59 = ($$0623814|0)==(0); + if ($59) { + $60 = (9648 + ($55)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $$0588 = $62; + } else { + $$0588 = $55; + } + $63 = ($$1612|0)>(0); + L30: do { + if ($63) { + $trunc638 = $$0588&255; + $$0625734 = 0; + while(1) { + switch ($trunc638<<24>>24) { + case 0: { + $64 = (($53) + ($$0625734)|0); + $65 = HEAP8[$64>>0]|0; + $$sink = $65; + label = 30; + break; + } + case 1: { + $66 = (($53) + ($$0625734)|0); + $67 = HEAP8[$66>>0]|0; + $$sink = $67; + label = 30; + break; + } + case 2: { + $68 = (($53) + ($$0625734)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = (($58) + ($$0625734)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = (($73) + ($70))|0; + $75 = $74&255; + $$sink = $75; + label = 30; + break; + } + case 3: { + $76 = (($53) + ($$0625734)|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = (($58) + ($$0625734)|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 >>> 1; + $83 = (($82) + ($78))|0; + $84 = $83&255; + $$sink = $84; + label = 30; + break; + } + case 4: { + $85 = (($53) + ($$0625734)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = (($58) + ($$0625734)|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = (_stbi__paeth(0,$90,0)|0); + $92 = (($91) + ($87))|0; + $93 = $92&255; + $$sink = $93; + label = 30; + break; + } + case 5: { + $94 = (($53) + ($$0625734)|0); + $95 = HEAP8[$94>>0]|0; + $$sink = $95; + label = 30; + break; + } + case 6: { + $96 = (($53) + ($$0625734)|0); + $97 = HEAP8[$96>>0]|0; + $$sink = $97; + label = 30; + break; + } + default: { + } + } + if ((label|0) == 30) { + label = 0; + $$sink1 = (($$0597) + ($$0625734)|0); + HEAP8[$$sink1>>0] = $$sink; + } + $98 = (($$0625734) + 1)|0; + $exitcond864 = ($98|0)==($$1612|0); + if ($exitcond864) { + break L30; + } else { + $$0625734 = $98; + } + } + } + } while(0); + do { + if ($41) { + if (!($17)) { + $99 = (($$0597) + ($14)|0); + HEAP8[$99>>0] = -1; + } + $100 = (($53) + ($14)|0); + $$1578 = $100;$$sink641 = $3; + } else { + if (!($8)) { + $105 = ((($$0577817)) + 2|0); + $$1578 = $105;$$sink641 = 1; + break; + } + if (!($17)) { + $101 = (($$1612) + 1)|0; + $102 = (($$0597) + ($101)|0); + $103 = (($$0597) + ($$1612)|0); + HEAP8[$103>>0] = -1; + HEAP8[$102>>0] = -1; + } + $104 = (($53) + ($$1612)|0); + $$1578 = $104;$$sink641 = $15; + } + } while(0); + $106 = (($$0597) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); + if ($brmerge) { + $108 = (($$1609) + -1)|0; + $109 = Math_imul($108, $$1612)|0; + $trunc637 = $$0588&255; + switch ($trunc637<<24>>24) { + case 0: { + _memcpy(($106|0),($$1578|0),($109|0))|0; + break; + } + case 1: { + $115 = ($109|0)>(0); + if ($115) { + $$1626812 = 0; + while(1) { + $116 = (($$1578) + ($$1626812)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = (($$1626812) - ($$1612))|0; + $120 = (($106) + ($119)|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + $123 = (($122) + ($118))|0; + $124 = $123&255; + $125 = (($106) + ($$1626812)|0); + HEAP8[$125>>0] = $124; + $126 = (($$1626812) + 1)|0; + $exitcond886 = ($126|0)==($109|0); + if ($exitcond886) { + break; + } else { + $$1626812 = $126; + } + } + } + break; + } + case 2: { + $114 = ($109|0)>(0); + if ($114) { + $$2627810 = 0; + while(1) { + $127 = (($$1578) + ($$2627810)|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = (($107) + ($$2627810)|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = (($132) + ($129))|0; + $134 = $133&255; + $135 = (($106) + ($$2627810)|0); + HEAP8[$135>>0] = $134; + $136 = (($$2627810) + 1)|0; + $exitcond885 = ($136|0)==($109|0); + if ($exitcond885) { + break; + } else { + $$2627810 = $136; + } + } + } + break; + } + case 3: { + $113 = ($109|0)>(0); + if ($113) { + $$3628808 = 0; + while(1) { + $137 = (($$1578) + ($$3628808)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = (($107) + ($$3628808)|0); + $141 = HEAP8[$140>>0]|0; + $142 = $141&255; + $143 = (($$3628808) - ($$1612))|0; + $144 = (($106) + ($143)|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = (($146) + ($142))|0; + $148 = $147 >>> 1; + $149 = (($148) + ($139))|0; + $150 = $149&255; + $151 = (($106) + ($$3628808)|0); + HEAP8[$151>>0] = $150; + $152 = (($$3628808) + 1)|0; + $exitcond884 = ($152|0)==($109|0); + if ($exitcond884) { + break; + } else { + $$3628808 = $152; + } + } + } + break; + } + case 4: { + $112 = ($109|0)>(0); + if ($112) { + $$4629806 = 0; + while(1) { + $153 = (($$1578) + ($$4629806)|0); + $154 = HEAP8[$153>>0]|0; + $155 = $154&255; + $156 = (($$4629806) - ($$1612))|0; + $157 = (($106) + ($156)|0); + $158 = HEAP8[$157>>0]|0; + $159 = $158&255; + $160 = (($107) + ($$4629806)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $163 = (($107) + ($156)|0); + $164 = HEAP8[$163>>0]|0; + $165 = $164&255; + $166 = (_stbi__paeth($159,$162,$165)|0); + $167 = (($166) + ($155))|0; + $168 = $167&255; + $169 = (($106) + ($$4629806)|0); + HEAP8[$169>>0] = $168; + $170 = (($$4629806) + 1)|0; + $exitcond883 = ($170|0)==($109|0); + if ($exitcond883) { + break; + } else { + $$4629806 = $170; + } + } + } + break; + } + case 5: { + $111 = ($109|0)>(0); + if ($111) { + $$5630804 = 0; + while(1) { + $171 = (($$1578) + ($$5630804)|0); + $172 = HEAP8[$171>>0]|0; + $173 = $172&255; + $174 = (($$5630804) - ($$1612))|0; + $175 = (($106) + ($174)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $177 >>> 1; + $179 = (($178) + ($173))|0; + $180 = $179&255; + $181 = (($106) + ($$5630804)|0); + HEAP8[$181>>0] = $180; + $182 = (($$5630804) + 1)|0; + $exitcond882 = ($182|0)==($109|0); + if ($exitcond882) { + break; + } else { + $$5630804 = $182; + } + } + } + break; + } + case 6: { + $110 = ($109|0)>(0); + if ($110) { + $$6631802 = 0; + while(1) { + $183 = (($$1578) + ($$6631802)|0); + $184 = HEAP8[$183>>0]|0; + $185 = $184&255; + $186 = (($$6631802) - ($$1612))|0; + $187 = (($106) + ($186)|0); + $188 = HEAP8[$187>>0]|0; + $189 = $188&255; + $190 = (_stbi__paeth($189,0,0)|0); + $191 = (($190) + ($185))|0; + $192 = $191&255; + $193 = (($106) + ($$6631802)|0); + HEAP8[$193>>0] = $192; + $194 = (($$6631802) + 1)|0; + $exitcond881 = ($194|0)==($109|0); + if ($exitcond881) { + break; + } else { + $$6631802 = $194; + } + } + } + break; + } + default: { + } + } + $195 = (($$1578) + ($109)|0); + $$11$ph = $195; + } else { + if (!($19)) { + label = 58; + break; + } + $trunc = $$0588&255; + switch ($trunc<<24>>24) { + case 0: { + if ($43) { + $$9586 = $$1578; + } else { + $208 = ($$1612|0)>(0); + $209 = Math_imul($$6620742, $$1612)|0; + $$0614796 = $$0614793;$$2579795 = $$1578;$$2599794 = $106; + while(1) { + if ($208) { + $$7632790 = 0; + while(1) { + $210 = (($$2579795) + ($$7632790)|0); + $211 = HEAP8[$210>>0]|0; + $212 = (($$2599794) + ($$7632790)|0); + HEAP8[$212>>0] = $211; + $213 = (($$7632790) + 1)|0; + $exitcond877 = ($213|0)==($$1612|0); + if ($exitcond877) { + break; + } else { + $$7632790 = $213; + } + } + } + $214 = (($$2599794) + ($$1612)|0); + HEAP8[$214>>0] = -1; + $215 = (($$2579795) + ($$1612)|0); + $216 = (($$2599794) + ($15)|0); + $$0614 = (($$0614796) + -1)|0; + $217 = ($$0614|0)==(0); + if ($217) { + break; + } else { + $$0614796 = $$0614;$$2579795 = $215;$$2599794 = $216; + } + } + $scevgep879 = (($$1578) + ($209)|0); + $$9586 = $scevgep879; + } + break; + } + case 1: { + if ($44) { + $$9586 = $$1578; + } else { + $206 = ($$1612|0)>(0); + $207 = Math_imul($$6620742, $$1612)|0; + $$1615788 = $$1615785;$$3580787 = $$1578;$$3600786 = $106; + while(1) { + if ($206) { + $$8633782 = 0; + while(1) { + $218 = (($$3580787) + ($$8633782)|0); + $219 = HEAP8[$218>>0]|0; + $220 = $219&255; + $221 = (($$8633782) - ($15))|0; + $222 = (($$3600786) + ($221)|0); + $223 = HEAP8[$222>>0]|0; + $224 = $223&255; + $225 = (($224) + ($220))|0; + $226 = $225&255; + $227 = (($$3600786) + ($$8633782)|0); + HEAP8[$227>>0] = $226; + $228 = (($$8633782) + 1)|0; + $exitcond875 = ($228|0)==($$1612|0); + if ($exitcond875) { + break; + } else { + $$8633782 = $228; + } + } + } + $229 = (($$3600786) + ($$1612)|0); + HEAP8[$229>>0] = -1; + $230 = (($$3580787) + ($$1612)|0); + $231 = (($$3600786) + ($15)|0); + $$1615 = (($$1615788) + -1)|0; + $232 = ($$1615|0)==(0); + if ($232) { + break; + } else { + $$1615788 = $$1615;$$3580787 = $230;$$3600786 = $231; + } + } + $scevgep876 = (($$1578) + ($207)|0); + $$9586 = $scevgep876; + } + break; + } + case 2: { + if ($45) { + $$9586 = $$1578; + } else { + $204 = ($$1612|0)>(0); + $205 = Math_imul($$6620742, $$1612)|0; + $$2616780 = $$2616776;$$3592778 = $107;$$4581779 = $$1578;$$4601777 = $106; + while(1) { + if ($204) { + $$9634773 = 0; + while(1) { + $233 = (($$4581779) + ($$9634773)|0); + $234 = HEAP8[$233>>0]|0; + $235 = $234&255; + $236 = (($$3592778) + ($$9634773)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($238) + ($235))|0; + $240 = $239&255; + $241 = (($$4601777) + ($$9634773)|0); + HEAP8[$241>>0] = $240; + $242 = (($$9634773) + 1)|0; + $exitcond873 = ($242|0)==($$1612|0); + if ($exitcond873) { + break; + } else { + $$9634773 = $242; + } + } + } + $243 = (($$4601777) + ($$1612)|0); + HEAP8[$243>>0] = -1; + $244 = (($$4581779) + ($$1612)|0); + $245 = (($$4601777) + ($15)|0); + $246 = (($$3592778) + ($15)|0); + $$2616 = (($$2616780) + -1)|0; + $247 = ($$2616|0)==(0); + if ($247) { + break; + } else { + $$2616780 = $$2616;$$3592778 = $246;$$4581779 = $244;$$4601777 = $245; + } + } + $scevgep874 = (($$1578) + ($205)|0); + $$9586 = $scevgep874; + } + break; + } + case 3: { + if ($46) { + $$9586 = $$1578; + } else { + $202 = ($$1612|0)>(0); + $203 = Math_imul($$6620742, $$1612)|0; + $$3617771 = $$3617767;$$4593769 = $107;$$5582770 = $$1578;$$5602768 = $106; + while(1) { + if ($202) { + $$10635764 = 0; + while(1) { + $248 = (($$5582770) + ($$10635764)|0); + $249 = HEAP8[$248>>0]|0; + $250 = $249&255; + $251 = (($$4593769) + ($$10635764)|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = (($$10635764) - ($15))|0; + $255 = (($$5602768) + ($254)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = (($257) + ($253))|0; + $259 = $258 >>> 1; + $260 = (($259) + ($250))|0; + $261 = $260&255; + $262 = (($$5602768) + ($$10635764)|0); + HEAP8[$262>>0] = $261; + $263 = (($$10635764) + 1)|0; + $exitcond871 = ($263|0)==($$1612|0); + if ($exitcond871) { + break; + } else { + $$10635764 = $263; + } + } + } + $264 = (($$5602768) + ($$1612)|0); + HEAP8[$264>>0] = -1; + $265 = (($$5582770) + ($$1612)|0); + $266 = (($$5602768) + ($15)|0); + $267 = (($$4593769) + ($15)|0); + $$3617 = (($$3617771) + -1)|0; + $268 = ($$3617|0)==(0); + if ($268) { + break; + } else { + $$3617771 = $$3617;$$4593769 = $267;$$5582770 = $265;$$5602768 = $266; + } + } + $scevgep872 = (($$1578) + ($203)|0); + $$9586 = $scevgep872; + } + break; + } + case 4: { + if ($47) { + $$9586 = $$1578; + } else { + $200 = ($$1612|0)>(0); + $201 = Math_imul($$6620742, $$1612)|0; + $$4618762 = $$4618758;$$5594760 = $107;$$6583761 = $$1578;$$6603759 = $106; + while(1) { + if ($200) { + $$11636755 = 0; + while(1) { + $269 = (($$6583761) + ($$11636755)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + $272 = (($$11636755) - ($15))|0; + $273 = (($$6603759) + ($272)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $276 = (($$5594760) + ($$11636755)|0); + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $279 = (($$5594760) + ($272)|0); + $280 = HEAP8[$279>>0]|0; + $281 = $280&255; + $282 = (_stbi__paeth($275,$278,$281)|0); + $283 = (($282) + ($271))|0; + $284 = $283&255; + $285 = (($$6603759) + ($$11636755)|0); + HEAP8[$285>>0] = $284; + $286 = (($$11636755) + 1)|0; + $exitcond869 = ($286|0)==($$1612|0); + if ($exitcond869) { + break; + } else { + $$11636755 = $286; + } + } + } + $287 = (($$6603759) + ($$1612)|0); + HEAP8[$287>>0] = -1; + $288 = (($$6583761) + ($$1612)|0); + $289 = (($$6603759) + ($15)|0); + $290 = (($$5594760) + ($15)|0); + $$4618 = (($$4618762) + -1)|0; + $291 = ($$4618|0)==(0); + if ($291) { + break; + } else { + $$4618762 = $$4618;$$5594760 = $290;$$6583761 = $288;$$6603759 = $289; + } + } + $scevgep870 = (($$1578) + ($201)|0); + $$9586 = $scevgep870; + } + break; + } + case 5: { + if ($48) { + $$9586 = $$1578; + } else { + $198 = ($$1612|0)>(0); + $199 = Math_imul($$6620742, $$1612)|0; + $$5619753 = $$5619750;$$7584752 = $$1578;$$7604751 = $106; + while(1) { + if ($198) { + $$12747 = 0; + while(1) { + $292 = (($$7584752) + ($$12747)|0); + $293 = HEAP8[$292>>0]|0; + $294 = $293&255; + $295 = (($$12747) - ($15))|0; + $296 = (($$7604751) + ($295)|0); + $297 = HEAP8[$296>>0]|0; + $298 = $297&255; + $299 = $298 >>> 1; + $300 = (($299) + ($294))|0; + $301 = $300&255; + $302 = (($$7604751) + ($$12747)|0); + HEAP8[$302>>0] = $301; + $303 = (($$12747) + 1)|0; + $exitcond867 = ($303|0)==($$1612|0); + if ($exitcond867) { + break; + } else { + $$12747 = $303; + } + } + } + $304 = (($$7604751) + ($$1612)|0); + HEAP8[$304>>0] = -1; + $305 = (($$7584752) + ($$1612)|0); + $306 = (($$7604751) + ($15)|0); + $$5619 = (($$5619753) + -1)|0; + $307 = ($$5619|0)==(0); + if ($307) { + break; + } else { + $$5619753 = $$5619;$$7584752 = $305;$$7604751 = $306; + } + } + $scevgep868 = (($$1578) + ($199)|0); + $$9586 = $scevgep868; + } + break; + } + case 6: { + if ($49) { + $$9586 = $$1578; + } else { + $196 = ($$1612|0)>(0); + $197 = Math_imul($$6620742, $$1612)|0; + $$6620745 = $$6620742;$$8585744 = $$1578;$$8605743 = $106; + while(1) { + if ($196) { + $$13739 = 0; + while(1) { + $308 = (($$8585744) + ($$13739)|0); + $309 = HEAP8[$308>>0]|0; + $310 = $309&255; + $311 = (($$13739) - ($15))|0; + $312 = (($$8605743) + ($311)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $315 = (_stbi__paeth($314,0,0)|0); + $316 = (($315) + ($310))|0; + $317 = $316&255; + $318 = (($$8605743) + ($$13739)|0); + HEAP8[$318>>0] = $317; + $319 = (($$13739) + 1)|0; + $exitcond865 = ($319|0)==($$1612|0); + if ($exitcond865) { + break; + } else { + $$13739 = $319; + } + } + } + $320 = (($$8605743) + ($$1612)|0); + HEAP8[$320>>0] = -1; + $321 = (($$8585744) + ($$1612)|0); + $322 = (($$8605743) + ($15)|0); + $$6620 = (($$6620745) + -1)|0; + $323 = ($$6620|0)==(0); + if ($323) { + break; + } else { + $$6620745 = $$6620;$$8585744 = $321;$$8605743 = $322; + } + } + $scevgep866 = (($$1578) + ($197)|0); + $$9586 = $scevgep866; + } + break; + } + default: { + $$9586 = $$1578; + } + } + if ($brmerge894) { + $$11$ph = $$9586; + } else { + $324 = HEAP32[$21>>2]|0; + $325 = (($324) + ($51)|0); + $326 = (($$1612) + 1)|0; + $$7621798 = 0;$$9606799 = $325; + while(1) { + $327 = (($$9606799) + ($326)|0); + HEAP8[$327>>0] = -1; + $328 = (($$7621798) + 1)|0; + $329 = (($$9606799) + ($15)|0); + $exitcond880 = ($328|0)==($4|0); + if ($exitcond880) { + $$11$ph = $$9586; + break; + } else { + $$7621798 = $328;$$9606799 = $329; + } + } + } + } + $330 = (($$0623814) + 1)|0; + $331 = ($330>>>0)<($5>>>0); + if ($331) { + $$0577817 = $$11$ph;$$0608816 = $$1609;$$0611815 = $$1612;$$0623814 = $330; + } else { + break L18; + } + } + if ((label|0) == 16) { + ___assert_fail((9627|0),(8967|0),4315,(9582|0)); + // unreachable; + } + else if ((label|0) == 58) { + ___assert_fail((9653|0),(8967|0),4377,(9582|0)); + // unreachable; + } + else if ((label|0) == 105) { + _stbi__err(9670); + $$2 = 0; + return ($$2|0); + } + } + } while(0); + $332 = ($6|0)<(8); + if (!($332)) { + if (!($8)) { + $$2 = 1; + return ($$2|0); + } + $601 = Math_imul($4, $3)|0; + $602 = Math_imul($601, $5)|0; + $603 = ($602|0)==(0); + if ($603) { + $$2 = 1; + return ($$2|0); + } + $604 = HEAP32[$21>>2]|0; + $$0731 = $604;$$8622729 = 0; + while(1) { + $605 = HEAP8[$$0731>>0]|0; + $606 = $605&255; + $607 = $606 << 8; + $608 = ((($$0731)) + 1|0); + $609 = HEAP8[$608>>0]|0; + $610 = $609&255; + $611 = $607 | $610; + $612 = $611&65535; + HEAP16[$$0731>>1] = $612; + $613 = (($$8622729) + 1)|0; + $614 = ((($$0731)) + 2|0); + $exitcond = ($613|0)==($602|0); + if ($exitcond) { + $$2 = 1; + break; + } else { + $$0731 = $614;$$8622729 = $613; + } + } + return ($$2|0); + } + $333 = ($5|0)==(0); + if ($333) { + $$2 = 1; + return ($$2|0); + } + $334 = (0 - ($26))|0; + $335 = ($7|0)==(0); + $336 = (9366 + ($6)|0); + $$0568724 = (($4) + -1)|0; + $337 = ($$0568724|0)>(-1); + $$1721 = (($4) + -1)|0; + $338 = ($$1721|0)>(-1); + $339 = ($23|0)>(1); + $340 = ($23|0)>(3); + $341 = ($23|0)>(7); + $342 = (($23) + -8)|0; + $343 = $342 >>> 3; + $344 = $343 << 3; + $345 = (($344) + 8)|0; + $346 = (($342) - ($344))|0; + $347 = (($343) + ($11))|0; + $348 = (($347) + 1)|0; + $349 = (($348) - ($26))|0; + $350 = (($23) + -4)|0; + $351 = $350 >>> 2; + $352 = $351 << 2; + $353 = (($352) + 4)|0; + $354 = (($350) - ($352))|0; + $355 = (($351) + ($11))|0; + $356 = (($355) + 1)|0; + $357 = (($356) - ($26))|0; + $358 = (($23) + -2)|0; + $359 = $358 >>> 1; + $360 = $359 << 1; + $361 = (($360) + 2)|0; + $362 = (($358) - ($360))|0; + $363 = (($359) + ($11))|0; + $364 = (($363) + 1)|0; + $365 = (($364) - ($26))|0; + $$1624727 = 0;$indvars$iv = $345;$indvars$iv848 = $349;$indvars$iv851 = $353;$indvars$iv854 = $357;$indvars$iv857 = $361;$indvars$iv860 = $365; + L174: while(1) { + $366 = HEAP32[$21>>2]|0; + $367 = Math_imul($$1624727, $12)|0; + $368 = (($366) + ($367)|0); + $369 = (($368) + ($11)|0); + $370 = (($369) + ($334)|0); + if ($335) { + $371 = HEAP8[$336>>0]|0; + $372 = $371&255; + $377 = $372; + } else { + $377 = 1; + } + switch ($6|0) { + case 4: { + if ($339) { + $scevgep859 = (($366) + ($indvars$iv857)|0); + $$0571715 = $370;$$0574714 = $368;$$14713 = $23; + while(1) { + $373 = HEAP8[$$0571715>>0]|0; + $374 = $373&255; + $375 = $374 >>> 4; + $376 = Math_imul($375, $377)|0; + $378 = $376&255; + $379 = ((($$0574714)) + 1|0); + HEAP8[$$0574714>>0] = $378; + $380 = HEAP8[$$0571715>>0]|0; + $381 = $380 & 15; + $382 = $381&255; + $383 = Math_imul($382, $377)|0; + $384 = $383&255; + $385 = ((($$0574714)) + 2|0); + HEAP8[$379>>0] = $384; + $386 = (($$14713) + -2)|0; + $387 = ((($$0571715)) + 1|0); + $388 = ($386|0)>(1); + if ($388) { + $$0571715 = $387;$$0574714 = $385;$$14713 = $386; + } else { + break; + } + } + $scevgep862 = (($366) + ($indvars$iv860)|0); + $$0571$lcssa = $scevgep862;$$0574$lcssa = $scevgep859;$$14$lcssa = $362; + } else { + $$0571$lcssa = $370;$$0574$lcssa = $368;$$14$lcssa = $23; + } + $389 = ($$14$lcssa|0)==(1); + if ($389) { + $390 = HEAP8[$$0571$lcssa>>0]|0; + $391 = $390&255; + $392 = $391 >>> 4; + $393 = Math_imul($392, $377)|0; + $394 = $393&255; + HEAP8[$$0574$lcssa>>0] = $394; + } + break; + } + case 2: { + if ($340) { + $scevgep853 = (($366) + ($indvars$iv851)|0); + $$15705 = $23;$$1572707 = $370;$$1575706 = $368; + while(1) { + $395 = HEAP8[$$1572707>>0]|0; + $396 = $395&255; + $397 = $396 >>> 6; + $398 = Math_imul($397, $377)|0; + $399 = $398&255; + $400 = ((($$1575706)) + 1|0); + HEAP8[$$1575706>>0] = $399; + $401 = HEAP8[$$1572707>>0]|0; + $402 = $401&255; + $403 = $402 >>> 4; + $404 = $403 & 3; + $405 = Math_imul($404, $377)|0; + $406 = $405&255; + $407 = ((($$1575706)) + 2|0); + HEAP8[$400>>0] = $406; + $408 = HEAP8[$$1572707>>0]|0; + $409 = $408&255; + $410 = $409 >>> 2; + $411 = $410 & 3; + $412 = Math_imul($411, $377)|0; + $413 = $412&255; + $414 = ((($$1575706)) + 3|0); + HEAP8[$407>>0] = $413; + $415 = HEAP8[$$1572707>>0]|0; + $416 = $415 & 3; + $417 = $416&255; + $418 = Math_imul($417, $377)|0; + $419 = $418&255; + $420 = ((($$1575706)) + 4|0); + HEAP8[$414>>0] = $419; + $421 = (($$15705) + -4)|0; + $422 = ((($$1572707)) + 1|0); + $423 = ($421|0)>(3); + if ($423) { + $$15705 = $421;$$1572707 = $422;$$1575706 = $420; + } else { + break; + } + } + $scevgep856 = (($366) + ($indvars$iv854)|0); + $$15$lcssa = $354;$$1572$lcssa = $scevgep856;$$1575$lcssa = $scevgep853; + } else { + $$15$lcssa = $23;$$1572$lcssa = $370;$$1575$lcssa = $368; + } + $424 = ($$15$lcssa|0)>(0); + if ($424) { + $425 = HEAP8[$$1572$lcssa>>0]|0; + $426 = $425&255; + $427 = $426 >>> 6; + $428 = Math_imul($427, $377)|0; + $429 = $428&255; + HEAP8[$$1575$lcssa>>0] = $429; + $430 = ($$15$lcssa|0)==(1); + if (!($430)) { + $431 = ((($$1575$lcssa)) + 1|0); + $432 = HEAP8[$$1572$lcssa>>0]|0; + $433 = $432&255; + $434 = $433 >>> 4; + $435 = $434 & 3; + $436 = Math_imul($435, $377)|0; + $437 = $436&255; + HEAP8[$431>>0] = $437; + $438 = ($$15$lcssa|0)>(2); + if ($438) { + $439 = ((($$1575$lcssa)) + 2|0); + $440 = HEAP8[$$1572$lcssa>>0]|0; + $441 = $440&255; + $442 = $441 >>> 2; + $443 = $442 & 3; + $444 = Math_imul($443, $377)|0; + $445 = $444&255; + HEAP8[$439>>0] = $445; + } + } + } + break; + } + case 1: { + if ($341) { + $scevgep = (($366) + ($indvars$iv)|0); + $$16700 = $23;$$2573702 = $370;$$4701 = $368; + while(1) { + $446 = HEAP8[$$2573702>>0]|0; + $447 = $446&255; + $448 = $447 >>> 7; + $449 = (0 - ($448))|0; + $450 = $377 & $449; + $451 = $450&255; + $452 = ((($$4701)) + 1|0); + HEAP8[$$4701>>0] = $451; + $453 = HEAP8[$$2573702>>0]|0; + $454 = $453&255; + $455 = $454 >>> 6; + $456 = $455 & 1; + $457 = (0 - ($456))|0; + $458 = $377 & $457; + $459 = $458&255; + $460 = ((($$4701)) + 2|0); + HEAP8[$452>>0] = $459; + $461 = HEAP8[$$2573702>>0]|0; + $462 = $461&255; + $463 = $462 >>> 5; + $464 = $463 & 1; + $465 = (0 - ($464))|0; + $466 = $377 & $465; + $467 = $466&255; + $468 = ((($$4701)) + 3|0); + HEAP8[$460>>0] = $467; + $469 = HEAP8[$$2573702>>0]|0; + $470 = $469&255; + $471 = $470 >>> 4; + $472 = $471 & 1; + $473 = (0 - ($472))|0; + $474 = $377 & $473; + $475 = $474&255; + $476 = ((($$4701)) + 4|0); + HEAP8[$468>>0] = $475; + $477 = HEAP8[$$2573702>>0]|0; + $478 = $477&255; + $479 = $478 >>> 3; + $480 = $479 & 1; + $481 = (0 - ($480))|0; + $482 = $377 & $481; + $483 = $482&255; + $484 = ((($$4701)) + 5|0); + HEAP8[$476>>0] = $483; + $485 = HEAP8[$$2573702>>0]|0; + $486 = $485&255; + $487 = $486 >>> 2; + $488 = $487 & 1; + $489 = (0 - ($488))|0; + $490 = $377 & $489; + $491 = $490&255; + $492 = ((($$4701)) + 6|0); + HEAP8[$484>>0] = $491; + $493 = HEAP8[$$2573702>>0]|0; + $494 = $493&255; + $495 = $494 >>> 1; + $496 = $495 & 1; + $497 = (0 - ($496))|0; + $498 = $377 & $497; + $499 = $498&255; + $500 = ((($$4701)) + 7|0); + HEAP8[$492>>0] = $499; + $501 = HEAP8[$$2573702>>0]|0; + $502 = $501 & 1; + $503 = $502&255; + $504 = (0 - ($503))|0; + $505 = $377 & $504; + $506 = $505&255; + $507 = ((($$4701)) + 8|0); + HEAP8[$500>>0] = $506; + $508 = (($$16700) + -8)|0; + $509 = ((($$2573702)) + 1|0); + $510 = ($508|0)>(7); + if ($510) { + $$16700 = $508;$$2573702 = $509;$$4701 = $507; + } else { + break; + } + } + $scevgep850 = (($366) + ($indvars$iv848)|0); + $$16$lcssa = $346;$$2573$lcssa = $scevgep850;$$4$lcssa = $scevgep; + } else { + $$16$lcssa = $23;$$2573$lcssa = $370;$$4$lcssa = $368; + } + $511 = ($$16$lcssa|0)>(0); + if ($511) { + $512 = HEAP8[$$2573$lcssa>>0]|0; + $513 = $512&255; + $514 = $513 >>> 7; + $515 = (0 - ($514))|0; + $516 = $377 & $515; + $517 = $516&255; + HEAP8[$$4$lcssa>>0] = $517; + $518 = ($$16$lcssa|0)==(1); + if (!($518)) { + $519 = ((($$4$lcssa)) + 1|0); + $520 = HEAP8[$$2573$lcssa>>0]|0; + $521 = $520&255; + $522 = $521 >>> 6; + $523 = $522 & 1; + $524 = (0 - ($523))|0; + $525 = $377 & $524; + $526 = $525&255; + HEAP8[$519>>0] = $526; + $527 = ($$16$lcssa|0)>(2); + if ($527) { + $528 = ((($$4$lcssa)) + 2|0); + $529 = HEAP8[$$2573$lcssa>>0]|0; + $530 = $529&255; + $531 = $530 >>> 5; + $532 = $531 & 1; + $533 = (0 - ($532))|0; + $534 = $377 & $533; + $535 = $534&255; + HEAP8[$528>>0] = $535; + $536 = ($$16$lcssa|0)==(3); + if (!($536)) { + $537 = ((($$4$lcssa)) + 3|0); + $538 = HEAP8[$$2573$lcssa>>0]|0; + $539 = $538&255; + $540 = $539 >>> 4; + $541 = $540 & 1; + $542 = (0 - ($541))|0; + $543 = $377 & $542; + $544 = $543&255; + HEAP8[$537>>0] = $544; + $545 = ($$16$lcssa|0)>(4); + if ($545) { + $546 = ((($$4$lcssa)) + 4|0); + $547 = HEAP8[$$2573$lcssa>>0]|0; + $548 = $547&255; + $549 = $548 >>> 3; + $550 = $549 & 1; + $551 = (0 - ($550))|0; + $552 = $377 & $551; + $553 = $552&255; + HEAP8[$546>>0] = $553; + $554 = ($$16$lcssa|0)==(5); + if (!($554)) { + $555 = ((($$4$lcssa)) + 5|0); + $556 = HEAP8[$$2573$lcssa>>0]|0; + $557 = $556&255; + $558 = $557 >>> 2; + $559 = $558 & 1; + $560 = (0 - ($559))|0; + $561 = $377 & $560; + $562 = $561&255; + HEAP8[$555>>0] = $562; + $563 = ($$16$lcssa|0)>(6); + if ($563) { + $564 = ((($$4$lcssa)) + 6|0); + $565 = HEAP8[$$2573$lcssa>>0]|0; + $566 = $565&255; + $567 = $566 >>> 1; + $568 = $567 & 1; + $569 = (0 - ($568))|0; + $570 = $377 & $569; + $571 = $570&255; + HEAP8[$564>>0] = $571; + } + } + } + } + } + } + } + break; + } + default: { + } + } + L213: do { + if (!($17)) { + $572 = HEAP32[$21>>2]|0; + $573 = (($572) + ($367)|0); + switch ($14|0) { + case 1: { + if ($337) { + $$0568725 = $$0568724; + } else { + break L213; + } + while(1) { + $574 = $$0568725 << 1; + $575 = $574 | 1; + $576 = (($573) + ($575)|0); + HEAP8[$576>>0] = -1; + $577 = (($573) + ($$0568725)|0); + $578 = HEAP8[$577>>0]|0; + $579 = (($573) + ($574)|0); + HEAP8[$579>>0] = $578; + $$0568 = (($$0568725) + -1)|0; + $580 = ($$0568|0)>(-1); + if ($580) { + $$0568725 = $$0568; + } else { + break; + } + } + break; + } + case 3: { + if ($338) { + $$1722 = $$1721; + } else { + break L213; + } + while(1) { + $581 = $$1722 << 2; + $582 = $581 | 3; + $583 = (($573) + ($582)|0); + HEAP8[$583>>0] = -1; + $584 = ($$1722*3)|0; + $585 = (($584) + 2)|0; + $586 = (($573) + ($585)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $581 | 2; + $589 = (($573) + ($588)|0); + HEAP8[$589>>0] = $587; + $590 = (($584) + 1)|0; + $591 = (($573) + ($590)|0); + $592 = HEAP8[$591>>0]|0; + $593 = $581 | 1; + $594 = (($573) + ($593)|0); + HEAP8[$594>>0] = $592; + $595 = (($573) + ($584)|0); + $596 = HEAP8[$595>>0]|0; + $597 = (($573) + ($581)|0); + HEAP8[$597>>0] = $596; + $$1 = (($$1722) + -1)|0; + $598 = ($$1|0)>(-1); + if ($598) { + $$1722 = $$1; + } else { + break; + } + } + break; + } + default: { + label = 144; + break L174; + } + } + } + } while(0); + $599 = (($$1624727) + 1)|0; + $600 = ($599>>>0)<($5>>>0); + $indvars$iv$next = (($indvars$iv) + ($12))|0; + $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; + $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; + $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; + $indvars$iv$next858 = (($indvars$iv857) + ($12))|0; + $indvars$iv$next861 = (($indvars$iv860) + ($12))|0; + if ($600) { + $$1624727 = $599;$indvars$iv = $indvars$iv$next;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855;$indvars$iv857 = $indvars$iv$next858;$indvars$iv860 = $indvars$iv$next861; + } else { + $$2 = 1; + label = 151; + break; + } + } + if ((label|0) == 144) { + ___assert_fail((9685|0),(8967|0),4466,(9582|0)); + // unreachable; + } + else if ((label|0) == 151) { + return ($$2|0); + } + return (0)|0; +} +function _stbi__paeth($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = (($1) + ($0))|0; + $4 = (($3) - ($2))|0; + $5 = (($4) - ($0))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $6 = $ispos ? $5 : $neg; + $7 = (($4) - ($1))|0; + $ispos26 = ($7|0)>(-1); + $neg27 = (0 - ($7))|0; + $8 = $ispos26 ? $7 : $neg27; + $9 = (($4) - ($2))|0; + $ispos28 = ($9|0)>(-1); + $neg29 = (0 - ($9))|0; + $10 = $ispos28 ? $9 : $neg29; + $11 = ($6|0)>($8|0); + $12 = ($6|0)>($10|0); + $or$cond = $11 | $12; + $13 = ($8|0)>($10|0); + $$ = $13 ? $2 : $1; + $$0 = $or$cond ? $$ : $0; + return ($$0|0); +} +function _stbi__do_zlib($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, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 20|0); + HEAP32[$5>>2] = $1; + $6 = ((($0)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = (($1) + ($2)|0); + $8 = ((($0)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($0)) + 28|0); + HEAP32[$9>>2] = $3; + $10 = (_stbi__parse_zlib($0,$4)|0); + return ($10|0); +} +function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + if (!($2)) { + $3 = (_stbi__parse_zlib_header($0)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + } + $5 = ((($0)) + 8|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 12|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); + L5: while(1) { + $9 = (_stbi__zreceive($0,1)|0); + $10 = (_stbi__zreceive($0,2)|0); + switch ($10|0) { + case 3: { + $$0 = 0; + label = 11; + break L5; + break; + } + case 0: { + $11 = (_stbi__parse_uncompressed_block($0)|0); + $12 = ($11|0)==(0); + if ($12) { + $$0 = 0; + label = 11; + break L5; + } + break; + } + case 1: { + $13 = (_stbi__zbuild_huffman($7,9696,288)|0); + $14 = ($13|0)==(0); + if ($14) { + $$0 = 0; + label = 11; + break L5; + } + $15 = (_stbi__zbuild_huffman($8,9984,32)|0); + $16 = ($15|0)==(0); + if ($16) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + break; + } + default: { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = 0; + label = 11; + break; + } + } + $21 = ($9|0)==(0); + if (!($21)) { + $$0 = 1; + label = 11; + break; + } + } + if ((label|0) == 11) { + return ($$0|0); + } + return (0)|0; +} +function _stbi__parse_zlib_header($0) { + $0 = $0|0; + 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, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__zget8($0)|0); + $2 = $1&255; + $3 = $2 & 15; + $4 = (_stbi__zget8($0)|0); + $5 = $4&255; + $6 = $2 << 8; + $7 = $6 | $5; + $8 = (($7>>>0) % 31)&-1; + $9 = ($8|0)==(0); + if (!($9)) { + _stbi__err(10331); + $$0 = 0; + return ($$0|0); + } + $10 = $5 & 32; + $11 = ($10|0)==(0); + if (!($11)) { + _stbi__err(10347); + $$0 = 0; + return ($$0|0); + } + $12 = ($3|0)==(8); + if ($12) { + $$0 = 1; + return ($$0|0); + } + _stbi__err(10362); + $$0 = 0; + return ($$0|0); +} +function _stbi__zreceive($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)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = 1 << $1; + $8 = (($7) + -1)|0; + $9 = $6 & $8; + $10 = $6 >>> $1; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = (($11) - ($1))|0; + HEAP32[$2>>2] = $12; + return ($9|0); +} +function _stbi__parse_uncompressed_block($0) { + $0 = $0|0; + var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 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, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & 7; + $5 = ($4|0)==(0); + if ($5) { + $$ph = $3; + } else { + (_stbi__zreceive($0,$4)|0); + $$pr = HEAP32[$2>>2]|0; + $$ph = $$pr; + } + $6 = ($$ph|0)>(0); + if ($6) { + $7 = ((($0)) + 12|0); + $$promoted = HEAP32[$7>>2]|0; + $8 = $$ph ^ -1; + $9 = ($8|0)>(-9); + $smax = $9 ? $8 : -9; + $10 = (($$ph) + ($smax))|0; + $11 = (($10) + 8)|0; + $12 = $11 >>> 3; + $13 = (($12) + 1)|0; + $14 = $12 << 3; + $$037 = 0;$16 = $$promoted; + while(1) { + $15 = $16&255; + $17 = (($$037) + 1)|0; + $18 = (($1) + ($$037)|0); + HEAP8[$18>>0] = $15; + $19 = $16 >>> 8; + $exitcond47 = ($17|0)==($13|0); + if ($exitcond47) { + break; + } else { + $$037 = $17;$16 = $19; + } + } + $20 = (($$ph) + -8)|0; + $21 = (($20) - ($14))|0; + HEAP32[$7>>2] = $19; + HEAP32[$2>>2] = $21; + $$0$lcssa = $13;$$lcssa = $21; + } else { + $$0$lcssa = 0;$$lcssa = $$ph; + } + $22 = ($$lcssa|0)==(0); + if (!($22)) { + ___assert_fail((10253|0),(8967|0),4033,(10270|0)); + // unreachable; + } + $23 = ($$0$lcssa|0)<(4); + if ($23) { + $$136 = $$0$lcssa; + while(1) { + $24 = (_stbi__zget8($0)|0); + $25 = (($$136) + 1)|0; + $26 = (($1) + ($$136)|0); + HEAP8[$26>>0] = $24; + $exitcond = ($25|0)==(4); + if ($exitcond) { + break; + } else { + $$136 = $25; + } + } + } + $27 = ((($1)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = HEAP8[$1>>0]|0; + $32 = $31&255; + $33 = $30 | $32; + $34 = ((($1)) + 3|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = $36 << 8; + $38 = ((($1)) + 2|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $37 | $40; + $42 = $33 ^ 65535; + $43 = ($41|0)==($42|0); + if (!($43)) { + _stbi__err(10301); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $44 = HEAP32[$0>>2]|0; + $45 = (($44) + ($33)|0); + $46 = ((($0)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($45>>>0)>($47>>>0); + if ($48) { + _stbi__err(10314); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $49 = ((($0)) + 16|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + ($33)|0); + $52 = ((($0)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51>>>0)>($53>>>0); + if ($54) { + $55 = (_stbi__zexpand($0,$50,$33)|0); + $56 = ($55|0)==(0); + if ($56) { + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + } + $57 = HEAP32[$49>>2]|0; + $58 = HEAP32[$0>>2]|0; + _memcpy(($57|0),($58|0),($33|0))|0; + $59 = HEAP32[$0>>2]|0; + $60 = (($59) + ($33)|0); + HEAP32[$0>>2] = $60; + $61 = HEAP32[$49>>2]|0; + $62 = (($61) + ($33)|0); + HEAP32[$49>>2] = $62; + $$034 = 1; + STACKTOP = sp;return ($$034|0); +} +function _stbi__zbuild_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 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; + 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, $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, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $3 = sp + 72|0; + $4 = sp; + dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + _memset(($0|0),0,1024)|0; + $5 = ($2|0)>(0); + if ($5) { + $$07688 = 0; + while(1) { + $6 = (($1) + ($$07688)|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = (($4) + ($8<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + $12 = (($$07688) + 1)|0; + $exitcond91 = ($12|0)==($2|0); + if ($exitcond91) { + break; + } else { + $$07688 = $12; + } + } + } + HEAP32[$4>>2] = 0; + $16 = ((($4)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(2); + if (!($18)) { + $13 = ((($4)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(4); + if (!($15)) { + $69 = ((($4)) + 12|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)>(8); + if (!($71)) { + $72 = ((($4)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)>(16); + if (!($74)) { + $75 = ((($4)) + 20|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)>(32); + if (!($77)) { + $78 = ((($4)) + 24|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(64); + if (!($80)) { + $81 = ((($4)) + 28|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)>(128); + if (!($83)) { + $84 = ((($4)) + 32|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)>(256); + if (!($86)) { + $87 = ((($4)) + 36|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)>(512); + if (!($89)) { + $90 = ((($4)) + 40|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)>(1024); + if (!($92)) { + $93 = ((($4)) + 44|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)>(2048); + if (!($95)) { + $96 = ((($4)) + 48|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)>(4096); + if (!($98)) { + $99 = ((($4)) + 52|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)>(8192); + if (!($101)) { + $102 = ((($4)) + 56|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)>(16384); + if (!($104)) { + $105 = ((($4)) + 60|0); + $106 = HEAP32[$105>>2]|0; + $107 = ($106|0)>(32768); + if (!($107)) { + $$07785 = 0;$$07884 = 0;$$286 = 1; + while(1) { + $19 = (($3) + ($$286<<2)|0); + HEAP32[$19>>2] = $$07884; + $20 = $$07884&65535; + $21 = (((($0)) + 1024|0) + ($$286<<1)|0); + HEAP16[$21>>1] = $20; + $22 = $$07785&65535; + $23 = (((($0)) + 1124|0) + ($$286<<1)|0); + HEAP16[$23>>1] = $22; + $24 = (($4) + ($$286<<2)|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + ($$07884))|0; + $27 = ($25|0)!=(0); + $28 = 1 << $$286; + $29 = ($26|0)>($28|0); + $or$cond = $27 & $29; + if ($or$cond) { + label = 7; + break; + } + $30 = (16 - ($$286))|0; + $31 = $26 << $30; + $32 = (((($0)) + 1056|0) + ($$286<<2)|0); + HEAP32[$32>>2] = $31; + $33 = $26 << 1; + $34 = (($25) + ($$07785))|0; + $35 = (($$286) + 1)|0; + $36 = ($35|0)<(16); + if ($36) { + $$07785 = $34;$$07884 = $33;$$286 = $35; + } else { + break; + } + } + if ((label|0) == 7) { + _stbi__err(10191); + $$075 = 0; + STACKTOP = sp;return ($$075|0); + } + $37 = ((($0)) + 1120|0); + HEAP32[$37>>2] = 65536; + $38 = ($2|0)>(0); + if ($38) { + $$382 = 0; + } else { + $$075 = 1; + STACKTOP = sp;return ($$075|0); + } + while(1) { + $39 = (($1) + ($$382)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($40<<24>>24)==(0); + if (!($42)) { + $43 = (($3) + ($41<<2)|0); + $44 = HEAP32[$43>>2]|0; + $45 = (((($0)) + 1024|0) + ($41<<1)|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = (($44) - ($47))|0; + $49 = (((($0)) + 1124|0) + ($41<<1)|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = (($48) + ($51))|0; + $53 = $41 << 9; + $54 = $53 | $$382; + $55 = $54&65535; + $56 = (((($0)) + 1156|0) + ($52)|0); + HEAP8[$56>>0] = $40; + $57 = $$382&65535; + $58 = (((($0)) + 1444|0) + ($52<<1)|0); + HEAP16[$58>>1] = $57; + $59 = ($40&255)<(10); + do { + if ($59) { + $60 = (_stbi__bit_reverse($44,$41)|0); + $61 = ($60|0)<(512); + if (!($61)) { + break; + } + $62 = 1 << $41; + $$081 = $60; + while(1) { + $63 = (($0) + ($$081<<1)|0); + HEAP16[$63>>1] = $55; + $64 = (($$081) + ($62))|0; + $65 = ($64|0)<(512); + if ($65) { + $$081 = $64; + } else { + break; + } + } + } + } while(0); + $66 = HEAP32[$43>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$43>>2] = $67; + } + $68 = (($$382) + 1)|0; + $exitcond = ($68|0)==($2|0); + if ($exitcond) { + $$075 = 1; + break; + } else { + $$382 = $68; + } + } + STACKTOP = sp;return ($$075|0); + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + _stbi__err(10243); + $$075 = 0; + STACKTOP = sp;return ($$075|0); +} +function _stbi__compute_huffman_codes($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; + var label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); + $1 = sp; + $2 = sp + 2039|0; + $3 = sp + 2020|0; + $4 = (_stbi__zreceive($0,5)|0); + $5 = (($4) + 257)|0; + $6 = (_stbi__zreceive($0,5)|0); + $7 = (($6) + 1)|0; + $8 = (_stbi__zreceive($0,4)|0); + $9 = (($8) + 4)|0; + $10 = (($7) + ($5))|0; + dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $11 = ($9|0)>(0); + if ($11) { + $$06579 = 0; + while(1) { + $12 = (_stbi__zreceive($0,3)|0); + $13 = $12&255; + $14 = (11037 + ($$06579)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = (($3) + ($16)|0); + HEAP8[$17>>0] = $13; + $18 = (($$06579) + 1)|0; + $exitcond = ($18|0)==($9|0); + if ($exitcond) { + break; + } else { + $$06579 = $18; + } + } + } + $19 = (_stbi__zbuild_huffman($1,$3,19)|0); + $20 = ($19|0)==(0); + if ($20) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $21 = ($10|0)>(0); + L8: do { + if ($21) { + $$06678 = 0; + L9: while(1) { + $22 = (_stbi__zhuffman_decode($0,$1)|0); + $23 = ($22>>>0)>(18); + if ($23) { + label = 6; + break; + } + $24 = ($22|0)<(16); + if ($24) { + $25 = $22&255; + $26 = (($$06678) + 1)|0; + $27 = (($2) + ($$06678)|0); + HEAP8[$27>>0] = $25; + $$066$be = $26; + } else { + switch ($22|0) { + case 16: { + $28 = (_stbi__zreceive($0,2)|0); + $29 = ($$06678|0)==(0); + if ($29) { + label = 11; + break L9; + } + $30 = (($28) + 3)|0; + $31 = (($$06678) + -1)|0; + $32 = (($2) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $$0 = $33;$$061 = $30; + break; + } + case 17: { + $34 = (_stbi__zreceive($0,3)|0); + $35 = (($34) + 3)|0; + $$0 = 0;$$061 = $35; + break; + } + case 18: { + $36 = (_stbi__zreceive($0,7)|0); + $37 = (($36) + 11)|0; + $$0 = 0;$$061 = $37; + break; + } + default: { + label = 14; + break L9; + } + } + $38 = (($10) - ($$06678))|0; + $39 = ($38|0)<($$061|0); + if ($39) { + label = 17; + break; + } + $40 = (($2) + ($$06678)|0); + _memset(($40|0),($$0|0),($$061|0))|0; + $41 = (($$061) + ($$06678))|0; + $$066$be = $41; + } + $42 = ($10|0)>($$066$be|0); + if ($42) { + $$06678 = $$066$be; + } else { + $$066$lcssa = $$066$be; + break L8; + } + } + if ((label|0) == 6) { + _stbi__err(10191); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 11) { + _stbi__err(10191); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 14) { + ___assert_fail((10207|0),(8967|0),4006,(10215|0)); + // unreachable; + } + else if ((label|0) == 17) { + _stbi__err(10191); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + } else { + $$066$lcssa = 0; + } + } while(0); + $43 = ($10|0)==($$066$lcssa|0); + if (!($43)) { + _stbi__err(10191); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $44 = ((($0)) + 32|0); + $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); + $46 = ($45|0)==(0); + if ($46) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $47 = ((($0)) + 2052|0); + $48 = (($2) + ($5)|0); + $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); + $not$ = ($49|0)!=(0); + $$ = $not$&1; + $$4 = $$; + STACKTOP = sp;return ($$4|0); +} +function _stbi__parse_huffman_block($0) { + $0 = $0|0; + var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 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, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 32|0); + $4 = ((($0)) + 24|0); + $5 = ((($0)) + 2052|0); + $6 = ((($0)) + 20|0); + $7 = ((($0)) + 24|0); + $$070 = $2; + while(1) { + $10 = (_stbi__zhuffman_decode($0,$3)|0); + $11 = ($10|0)<(256); + if ($11) { + $12 = ($10|0)<(0); + if ($12) { + label = 6; + break; + } + $13 = HEAP32[$4>>2]|0; + $14 = ($$070>>>0)<($13>>>0); + if ($14) { + $$171 = $$070; + } else { + $15 = (_stbi__zexpand($0,$$070,1)|0); + $16 = ($15|0)==(0); + if ($16) { + $$3$ph = 0; + label = 28; + break; + } + $17 = HEAP32[$1>>2]|0; + $$171 = $17; + } + $18 = $10&255; + $19 = ((($$171)) + 1|0); + HEAP8[$$171>>0] = $18; + $$070 = $19; + continue; + } + $20 = ($10|0)==(256); + if ($20) { + label = 12; + break; + } + $21 = (($10) + -257)|0; + $22 = (3244 + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($10) + -265)|0; + $25 = ($24>>>0)<(20); + if ($25) { + $26 = (3120 + ($21<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_stbi__zreceive($0,$27)|0); + $29 = (($28) + ($23))|0; + $$064 = $29; + } else { + $$064 = $23; + } + $30 = (_stbi__zhuffman_decode($0,$5)|0); + $31 = ($30|0)<(0); + if ($31) { + label = 16; + break; + } + $32 = (3496 + ($30<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($30) + -4)|0; + $35 = ($34>>>0)<(26); + if ($35) { + $36 = (3368 + ($30<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_stbi__zreceive($0,$37)|0); + $39 = (($38) + ($33))|0; + $$063 = $39; + } else { + $$063 = $33; + } + $40 = HEAP32[$6>>2]|0; + $41 = $$070; + $42 = (($41) - ($40))|0; + $43 = ($42|0)<($$063|0); + if ($43) { + label = 20; + break; + } + $44 = (($$070) + ($$064)|0); + $45 = HEAP32[$7>>2]|0; + $46 = ($44>>>0)>($45>>>0); + if ($46) { + $47 = (_stbi__zexpand($0,$$070,$$064)|0); + $48 = ($47|0)==(0); + if ($48) { + $$3$ph = 0; + label = 28; + break; + } + $49 = HEAP32[$1>>2]|0; + $$272 = $49; + } else { + $$272 = $$070; + } + $50 = (0 - ($$063))|0; + $9 = (($$272) + ($50)|0); + $51 = ($$063|0)==(1); + $52 = ($$064|0)!=(0); + if ($51) { + if (!($52)) { + $$070 = $$272; + continue; + } + $8 = HEAP8[$9>>0]|0; + _memset(($$272|0),($8|0),($$064|0))|0; + $scevgep92 = (($$272) + ($$064)|0); + $$070 = $scevgep92; + continue; + } + if ($52) { + $$067 = $9;$$266 = $$064;$$5 = $$272; + } else { + $$070 = $$272; + continue; + } + while(1) { + $53 = ((($$067)) + 1|0); + $54 = HEAP8[$$067>>0]|0; + $55 = ((($$5)) + 1|0); + HEAP8[$$5>>0] = $54; + $56 = (($$266) + -1)|0; + $57 = ($56|0)==(0); + if ($57) { + break; + } else { + $$067 = $53;$$266 = $56;$$5 = $55; + } + } + $scevgep = (($$272) + ($$064)|0); + $$070 = $scevgep; + } + if ((label|0) == 6) { + _stbi__err(10016); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 12) { + HEAP32[$1>>2] = $$070; + $$3$ph = 1; + return ($$3$ph|0); + } + else if ((label|0) == 16) { + _stbi__err(10016); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 20) { + _stbi__err(10033); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 28) { + return ($$3$ph|0); + } + return (0)|0; +} +function _stbi__zhuffman_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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(16); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 511; + $8 = (($1) + ($7<<1)|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ($9<<16>>16)==(0); + if ($11) { + $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); + $$0 = $17; + return ($$0|0); + } else { + $12 = $10 >>> 9; + $13 = $6 >>> $12; + HEAP32[$5>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = (($14) - ($12))|0; + HEAP32[$2>>2] = $15; + $16 = $10 & 511; + $$0 = $16; + return ($$0|0); + } + return (0)|0; +} +function _stbi__zexpand($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$029 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + _stbi__err(10042); + $$0 = 0; + return ($$0|0); + } + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = $1; + $10 = $8; + $11 = (($9) - ($10))|0; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) - ($10))|0; + $15 = (($11) + ($2))|0; + $$029 = $14; + while(1) { + $16 = ($15|0)>($$029|0); + $17 = $$029 << 1; + if ($16) { + $$029 = $17; + } else { + break; + } + } + $18 = (_realloc($8,$$029)|0); + $19 = ($18|0)==(0|0); + if ($19) { + _stbi__err(9022); + $$0 = 0; + return ($$0|0); + } else { + HEAP32[$7>>2] = $18; + $20 = (($18) + ($11)|0); + HEAP32[$3>>2] = $20; + $21 = (($18) + ($$029)|0); + HEAP32[$12>>2] = $21; + $$0 = 1; + return ($$0|0); + } + return (0)|0; +} +function _stbi__fill_bits($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)) + 12|0); + $2 = ((($0)) + 8|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$2>>2]|0; + $5 = 1 << $4; + $6 = ($3>>>0)<($5>>>0); + if (!($6)) { + label = 3; + break; + } + $7 = (_stbi__zget8($0)|0); + $8 = $7&255; + $9 = HEAP32[$2>>2]|0; + $10 = $8 << $9; + $11 = HEAP32[$1>>2]|0; + $12 = $11 | $10; + HEAP32[$1>>2] = $12; + $13 = (($9) + 8)|0; + HEAP32[$2>>2] = $13; + $14 = ($13|0)<(25); + if (!($14)) { + label = 5; + break; + } + } + if ((label|0) == 3) { + ___assert_fail((10138|0),(8967|0),3848,(10175|0)); + // unreachable; + } + else if ((label|0) == 5) { + return; + } +} +function _stbi__zhuffman_decode_slowpath($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$025 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbi__bit_reverse($3,16)|0); + $$025 = 10; + while(1) { + $5 = (((($1)) + 1056|0) + ($$025<<2)|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)<($6|0); + $8 = (($$025) + 1)|0; + if ($7) { + break; + } else { + $$025 = $8; + } + } + $9 = ($$025|0)==(16); + if ($9) { + $$0 = -1; + return ($$0|0); + } + $10 = (16 - ($$025))|0; + $11 = $4 >> $10; + $12 = (((($1)) + 1024|0) + ($$025<<1)|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = (($11) - ($14))|0; + $16 = (((($1)) + 1124|0) + ($$025<<1)|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($15) + ($18))|0; + $20 = (((($1)) + 1156|0) + ($19)|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)==($$025|0); + if (!($23)) { + ___assert_fail((10062|0),(8967|0),3876,(10078|0)); + // unreachable; + } + $24 = HEAP32[$2>>2]|0; + $25 = $24 >>> $$025; + HEAP32[$2>>2] = $25; + $26 = ((($0)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) - ($$025))|0; + HEAP32[$26>>2] = $28; + $29 = (((($1)) + 1444|0) + ($19<<1)|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $$0 = $31; + return ($$0|0); +} +function _stbi__bit_reverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(17); + if ($2) { + $3 = (_stbi__bitreverse16($0)|0); + $4 = (16 - ($1))|0; + $5 = $3 >> $4; + return ($5|0); + } else { + ___assert_fail((10109|0),(8967|0),3766,(10120|0)); + // unreachable; + } + return (0)|0; +} +function _stbi__bitreverse16($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, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = $0 >>> 1; + $2 = $1 & 21845; + $3 = $0 << 1; + $4 = $3 & 43690; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 13107; + $8 = $5 << 2; + $9 = $8 & 52428; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 3855; + $13 = $10 << 4; + $14 = $13 & 61680; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $15 << 8; + $18 = $17 & 65280; + $19 = $18 | $16; + return ($19|0); +} +function _stbi__zget8($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 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($1>>>0)<($3>>>0); + if (!($4)) { + $$0 = 0; + return ($$0|0); + } + $5 = ((($1)) + 1|0); + HEAP32[$0>>2] = $5; + $6 = HEAP8[$1>>0]|0; + $$0 = $6; + return ($$0|0); +} +function _stbi__refill_buffer($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)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 40|0); + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($0)) + 32|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 168|0); + HEAP32[$11>>2] = $5; + $12 = ((($0)) + 41|0); + $13 = ((($0)) + 172|0); + HEAP32[$13>>2] = $12; + HEAP8[$5>>0] = 0; + return; + } else { + $14 = ((($0)) + 168|0); + HEAP32[$14>>2] = $5; + $15 = (((($0)) + 40|0) + ($8)|0); + $16 = ((($0)) + 172|0); + HEAP32[$16>>2] = $15; + return; + } +} +function _stbi__rewind($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)) + 176|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 168|0); + HEAP32[$3>>2] = $2; + $4 = ((($0)) + 180|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 172|0); + HEAP32[$6>>2] = $5; + return; +} +function _stbi__start_callbacks($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; + $3 = ((($0)) + 16|0); + ;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; + $4 = ((($0)) + 28|0); + HEAP32[$4>>2] = $2; + $5 = ((($0)) + 36|0); + HEAP32[$5>>2] = 128; + $6 = ((($0)) + 32|0); + HEAP32[$6>>2] = 1; + $7 = ((($0)) + 40|0); + $8 = ((($0)) + 176|0); + HEAP32[$8>>2] = $7; + _stbi__refill_buffer($0); + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 180|0); + HEAP32[$11>>2] = $10; + return; +} +function _stbi__stdio_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fread($1,1,$2,$0)|0); + return ($3|0); +} +function _stbi__stdio_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (_fseek($0,$1,1)|0); + return; +} +function _stbi__stdio_eof($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_feof($0)|0); + return ($1|0); +} +function _LoadImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = (_IsFileExtension($1,10390)|0); + $7 = ($6|0)==(0); + do { + if ($7) { + $19 = (_IsFileExtension($1,10443)|0); + $20 = ($19|0)==(0); + if ($20) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(2,10448,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; + break; + } + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $21 = (_fopen($1,10582)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { + case 1: { + $$sink = 1; + label = 11; + break; + } + case 2: { + $$sink = 2; + label = 11; + break; + } + case 3: { + $$sink = 4; + label = 11; + break; + } + case 4: { + $$sink = 7; + label = 11; + break; + } + default: { + $$sroa$15$1 = 0; + } + } + if ((label|0) == 11) { + $$sroa$15$1 = $$sink; + } + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; + label = 14; + } else { + $8 = (_LoadResource($1,0)|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(1); + if ($10) { + $11 = ((($8)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($8)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($8)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($8)) + 12|0); + $18 = HEAP32[$17>>2]|0; + _LoadImagePro($2,$12,$14,$16,$18); + $$sroa$0$0$copyload = HEAP32[$2>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(2,10396,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; + } + _UnloadResource($8); + $$sroa$0$1 = $$sroa$0$0;$$sroa$10$1 = $$sroa$10$0;$$sroa$13$1 = $$sroa$13$0;$$sroa$15$2 = $$sroa$15$0;$$sroa$7$1 = $$sroa$7$0; + label = 14; + } + } while(0); + if ((label|0) == 14) { + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; + } else { + HEAP32[$vararg_buffer4>>2] = $1; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; + _TraceLog(0,10484,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10523,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; +} +function _LoadResource($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$05665 = 0, $$05764 = 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, $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, $8 = 0, $9 = 0, $or$cond = 0, $or$cond60 = 0; + var $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $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 + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 64|0; + $3 = sp + 32|0; + $4 = (_fopen($0,10582)|0); + $5 = ($4|0)==(0|0); + if ($5) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(2,10585,$vararg_buffer); + $$2 = 0; + STACKTOP = sp;return ($$2|0); + } + (_fread($2,1,1,$4)|0); + $6 = ((($2)) + 1|0); + (_fread($6,1,1,$4)|0); + $7 = ((($2)) + 2|0); + (_fread($7,1,1,$4)|0); + $8 = ((($2)) + 3|0); + (_fread($8,1,1,$4)|0); + $9 = ((($2)) + 4|0); + (_fread($9,2,1,$4)|0); + $10 = ((($2)) + 6|0); + (_fread($10,2,1,$4)|0); + $11 = HEAP8[$2>>0]|0; + $12 = ($11<<24>>24)==(114); + $13 = HEAP8[$6>>0]|0; + $14 = ($13<<24>>24)==(82); + $or$cond = $12 | $14; + $15 = HEAP8[$7>>0]|0; + $16 = ($15<<24>>24)==(69); + $or$cond60 = $or$cond | $16; + $17 = HEAP8[$8>>0]|0; + $18 = ($17<<24>>24)==(83); + $or$cond62 = $or$cond60 | $18; + if ($or$cond62) { + $19 = HEAP16[$10>>1]|0; + $20 = ($19<<16>>16)==(0); + if ($20) { + $$0$lcssa = 0; + } else { + $21 = ((($3)) + 7|0); + $22 = HEAP16[$10>>1]|0; + $23 = $22&65535; + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 4|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 8|0); + $31 = ((($3)) + 5|0); + $32 = ((($3)) + 12|0); + $$05665 = 0; + while(1) { + (_fread($3,32,1,$4)|0); + $36 = HEAP8[$21>>0]|0; + $37 = $36&255; + $38 = ($37*24)|0; + $39 = (_malloc($38)|0); + $40 = HEAP32[$3>>2]|0; + $41 = ($40|0)==($1|0); + if ($41) { + $42 = HEAP8[$21>>0]|0; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + $$05764 = 0; + while(1) { + $44 = HEAP8[$25>>0]|0; + $45 = $44&255; + $46 = (($39) + (($$05764*24)|0)|0); + HEAP32[$46>>2] = $45; + $47 = HEAP32[$26>>2]|0; + $48 = (((($39) + (($$05764*24)|0)|0)) + 4|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$27>>2]|0; + $50 = (((($39) + (($$05764*24)|0)|0)) + 8|0); + HEAP32[$50>>2] = $49; + $51 = HEAP32[$28>>2]|0; + $52 = (((($39) + (($$05764*24)|0)|0)) + 12|0); + HEAP32[$52>>2] = $51; + $53 = HEAP32[$29>>2]|0; + $54 = (((($39) + (($$05764*24)|0)|0)) + 16|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$30>>2]|0; + $56 = (_malloc($55)|0); + (_fread($56,$55,1,$4)|0); + $57 = HEAP8[$31>>0]|0; + $58 = ($57<<24>>24)==(1); + if ($58) { + $59 = HEAP32[$30>>2]|0; + $60 = HEAP32[$32>>2]|0; + $61 = (_DecompressData($56,$59,$60)|0); + $62 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$62>>2] = $61; + _free($56); + } else { + $63 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$63>>2] = $56; + } + $64 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $67; + _TraceLog(0,10682,$vararg_buffer4); + } + (_fread($3,32,1,$4)|0); + $68 = (($$05764) + 1)|0; + $69 = HEAP8[$21>>0]|0; + $70 = $69&255; + $71 = ($68|0)<($70|0); + if ($71) { + $$05764 = $68; + } else { + break; + } + } + } + } else { + $72 = HEAP32[$24>>2]|0; + (_fseek($4,$72,1)|0); + } + $73 = (($$05665) + 1)|0; + $74 = ($73|0)<($23|0); + if ($74) { + $$05665 = $73; + } else { + $$0$lcssa = $39; + break; + } + } + } + $33 = ((($$0$lcssa)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + HEAP32[$vararg_buffer8>>2] = $0; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $1; + _TraceLog(2,10728,$vararg_buffer8); + $$1 = $$0$lcssa; + } else { + $$1 = $$0$lcssa; + } + } else { + HEAP32[$vararg_buffer1>>2] = $0; + _TraceLog(2,10636,$vararg_buffer1); + $$1 = 0; + } + (_fclose($4)|0); + $$2 = $$1; + STACKTOP = sp;return ($$2|0); +} +function _LoadImagePro($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 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); + $$byval_copy = sp + 20|0; + $5 = sp; + HEAP32[$5>>2] = $1; + $6 = ((($5)) + 4|0); + HEAP32[$6>>2] = $2; + $7 = ((($5)) + 8|0); + HEAP32[$7>>2] = $3; + $8 = ((($5)) + 12|0); + HEAP32[$8>>2] = 1; + $9 = ((($5)) + 16|0); + HEAP32[$9>>2] = $4; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; + _ImageCopy($0,$$byval_copy); + STACKTOP = sp;return; +} +function _UnloadResource($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + _free($2); + return; +} +function _ImageCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx10 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx14 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx16 = 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, $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 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = Math_imul($5, $3)|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 17: case 14: case 11: case 10: case 1: { + $$0 = $6; + break; + } + case 6: case 5: case 3: case 2: { + $9 = $6 << 1; + $$0 = $9; + break; + } + case 4: { + $10 = ($6*3)|0; + $$0 = $10; + break; + } + case 7: { + $11 = $6 << 2; + $$0 = $11; + break; + } + case 16: case 15: case 13: case 12: case 9: case 8: { + $12 = (($6|0) / 2)&-1; + $$0 = $12; + break; + } + case 18: { + $13 = (($6|0) / 4)&-1; + $$0 = $13; + break; + } + default: { + _TraceLog(2,10554,$vararg_buffer); + $$0 = $6; + } + } + $14 = (_malloc($$0)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; + } else { + $16 = HEAP32[$1>>2]|0; + _memcpy(($14|0),($16|0),($$0|0))|0; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($1)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$6$0 = $17;$$sroa$7$0 = $18;$$sroa$8$0 = $20;$$sroa$9$0 = $21; + } + HEAP32[$0>>2] = $14; + $$sroa$6$0$$sroa_idx10 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx10>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx12 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx14 = ((($0)) + 12|0); + HEAP32[$$sroa$8$0$$sroa_idx14>>2] = $$sroa$8$0; + $$sroa$9$0$$sroa_idx16 = ((($0)) + 16|0); + HEAP32[$$sroa$9$0$$sroa_idx16>>2] = $$sroa$9$0; + STACKTOP = sp;return; +} +function _DecompressData($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, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer10 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = (_malloc($2)|0); + $4 = ($3|0)==(0|0); + if ($4) { + _TraceLog(2,10778,$vararg_buffer); + STACKTOP = sp;return ($3|0); + } + $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); + $6 = ($5|0)==(-1); + if ($6) { + _TraceLog(2,10817,$vararg_buffer1); + _free($3); + } + $7 = ($5|0)==($2|0); + if (!($7)) { + _TraceLog(2,10843,$vararg_buffer3); + HEAP32[$vararg_buffer5>>2] = $2; + _TraceLog(2,10906,$vararg_buffer5); + HEAP32[$vararg_buffer7>>2] = $5; + _TraceLog(2,10941,$vararg_buffer7); + } + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $5; + _TraceLog(0,10976,$vararg_buffer10); + STACKTOP = sp;return ($3|0); +} +function _tinfl_decompress_mem_to_mem($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); + $5 = sp + 11000|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $3; + HEAP32[$7>>2] = 0; + $8 = $4 & -7; + $9 = $8 | 4; + $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); + $11 = ($10|0)!=(0); + $12 = HEAP32[$5>>2]|0; + $13 = $11 ? -1 : $12; + STACKTOP = sp;return ($13|0); +} +function _tinfl_decompress($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, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; + var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; + var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; + var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; + var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; + var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; + var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; + var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; + var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; + var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; + var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; + var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; + var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; + var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; + var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; + var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; + var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; + var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; + var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; + var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; + var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; + var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; + var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; + var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; + var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; + var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; + var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; + var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; + var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; + var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; + var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; + var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; + var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; + var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; + var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; + var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; + var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; + var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; + var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; + var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; + var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; + var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; + var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; + var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; + var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; + var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; + var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; + var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 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, $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, $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 $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, $617 = 0; + var $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, $635 = 0; + var $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, $653 = 0; + var $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, $671 = 0; + var $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, $69 = 0; + var $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, $707 = 0; + var $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, $725 = 0; + var $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, $743 = 0; + var $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, $761 = 0; + var $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, $78 = 0; + var $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, $798 = 0; + var $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, $815 = 0; + var $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, $833 = 0; + var $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, $851 = 0; + var $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, $87 = 0; + var $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, $888 = 0; + var $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, $905 = 0; + var $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, $923 = 0; + var $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, $941 = 0; + var $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, $959 = 0, $96 = 0; + var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; + var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $7 = sp + 64|0; + $8 = sp; + $9 = HEAP32[$2>>2]|0; + $10 = (($1) + ($9)|0); + $11 = HEAP32[$5>>2]|0; + $12 = (($4) + ($11)|0); + $13 = $6 & 4; + $14 = ($13|0)!=(0); + $15 = $4; + $16 = $3; + $17 = $16 ^ -1; + $18 = (($15) + ($17))|0; + $19 = (($18) + ($11))|0; + $$1753 = $14 ? -1 : $19; + $20 = (($$1753) + 1)|0; + $21 = $20 & $$1753; + $22 = ($21|0)!=(0); + $23 = ($4>>>0)<($3>>>0); + $or$cond1702 = $23 | $22; + if ($or$cond1702) { + HEAP32[$5>>2] = 0; + HEAP32[$2>>2] = 0; + $$0951 = -3; + STACKTOP = sp;return ($$0951|0); + } + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 56|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 36|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($0)) + 60|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$0>>2]|0; + L5: do { + switch ($36|0) { + case 0: { + $37 = ((($0)) + 12|0); + HEAP32[$37>>2] = 0; + $38 = ((($0)) + 8|0); + HEAP32[$38>>2] = 0; + $39 = ((($0)) + 28|0); + HEAP32[$39>>2] = 1; + $40 = ((($0)) + 16|0); + HEAP32[$40>>2] = 1; + $41 = $6 & 1; + $42 = ($41|0)==(0); + if ($42) { + $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; + label = 14; + } else { + $43 = ($9|0)<(1); + if ($43) { + $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; + label = 6; + } else { + $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; + label = 8; + } + } + break; + } + case 1: { + $46 = ($9|0)>(0); + if ($46) { + $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; + label = 8; + } else { + $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; + label = 6; + } + break; + } + case 2: { + $53 = ($9|0)>(0); + if ($53) { + $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; + label = 12; + } else { + $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; + label = 10; + } + break; + } + case 36: { + $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; + label = 243; + break; + } + case 3: { + $75 = ($9|0)>(0); + if ($75) { + $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; + label = 18; + } else { + $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; + label = 16; + } + break; + } + case 5: { + $90 = ($9|0)>(0); + if ($90) { + $91 = ((($1)) + 1|0); + $92 = HEAP8[$1>>0]|0; + $93 = $92&255; + $$01412 = $93;$$111518 = $91; + } else { + $88 = $6 & 2; + $89 = ($88|0)==(0); + if ($89) { + $$01412 = 0;$$111518 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; + label = 243; + break L5; + } + } + $94 = $$01412 << $25; + $95 = $94 | $27; + $96 = (($25) + 8)|0; + $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; + label = 25; + break; + } + case 6: { + $106 = ($9|0)>(0); + if ($106) { + $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; + label = 32; + } else { + $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; + label = 30; + } + break; + } + case 7: { + $120 = ($9|0)>(0); + if ($120) { + $121 = ((($1)) + 1|0); + $122 = HEAP8[$1>>0]|0; + $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; + label = 39; + } else { + $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; + label = 36; + } + break; + } + case 39: { + $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; + label = 43; + break; + } + case 51: { + $152 = ($9|0)>(0); + if ($152) { + $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; + label = 49; + } else { + $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; + label = 47; + } + break; + } + case 52: { + $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; + label = 52; + break; + } + case 9: { + $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; + label = 55; + break; + } + case 38: { + $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; + label = 56; + break; + } + case 40: { + $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; + label = 58; + break; + } + case 10: { + $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; + label = 60; + break; + } + case 11: { + $193 = ($9|0)>(0); + if ($193) { + $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; + label = 66; + } else { + $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; + label = 64; + } + break; + } + case 14: { + $224 = ($9|0)>(0); + if ($224) { + $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; + label = 75; + } else { + $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; + label = 73; + } + break; + } + case 35: { + $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; + label = 86; + break; + } + case 16: { + $452 = ($9|0)>(0); + if ($452) { + $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; + label = 116; + } else { + $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; + label = 114; + } + break; + } + case 17: { + $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; + label = 125; + break; + } + case 18: { + $503 = ($9|0)>(0); + if ($503) { + $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; + label = 130; + } else { + $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; + label = 128; + } + break; + } + case 21: { + $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; + label = 136; + break; + } + case 23: { + $572 = ($9|0)>(0); + if ($572) { + $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; + label = 153; + } else { + $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; + label = 151; + } + break; + } + case 24: { + $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; + label = 160; + break; + } + case 25: { + $696 = ($9|0)>(0); + if ($696) { + $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; + label = 182; + } else { + $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; + label = 180; + } + break; + } + case 26: { + $737 = ($9|0)>(0); + if ($737) { + $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; + label = 195; + } else { + $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; + label = 193; + } + break; + } + case 27: { + $784 = ($9|0)>(0); + if ($784) { + $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; + label = 206; + } else { + $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; + label = 204; + } + break; + } + case 37: { + $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; + label = 210; + break; + } + case 53: { + $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; + label = 213; + break; + } + case 32: { + $842 = ($9|0)>(0); + if ($842) { + $843 = ((($1)) + 1|0); + $844 = HEAP8[$1>>0]|0; + $845 = $844&255; + $$0949 = $845;$$881595 = $843; + } else { + $840 = $6 & 2; + $841 = ($840|0)==(0); + if ($841) { + $$0949 = 0;$$881595 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; + label = 243; + break L5; + } + } + $846 = $$0949 << $25; + $847 = $846 | $27; + $848 = (($25) + 8)|0; + $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; + label = 226; + break; + } + case 41: { + $858 = ($9|0)>(0); + if ($858) { + $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; + label = 233; + } else { + $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; + label = 231; + } + break; + } + case 42: { + $871 = ($9|0)>(0); + if ($871) { + $872 = ((($1)) + 1|0); + $873 = HEAP8[$1>>0]|0; + $874 = $873&255; + $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; + label = 241; + } else { + $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; + label = 237; + } + break; + } + case 34: { + $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; + label = 242; + break; + } + default: { + $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; + label = 244; + } + } + } while(0); + if ((label|0) == 6) { + $44 = $6 & 2; + $45 = ($44|0)==(0); + if ($45) { + $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; + label = 9; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; + label = 243; + } + } + else if ((label|0) == 8) { + $47 = ((($1)) + 1|0); + $48 = HEAP8[$1>>0]|0; + $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; + label = 9; + } + if ((label|0) == 9) { + $$sink3 = $$sink3$shrunk&255; + $49 = ((($0)) + 8|0); + HEAP32[$49>>2] = $$sink3; + $50 = ($$01507>>>0)<($10>>>0); + if ($50) { + $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; + label = 12; + } else { + $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; + label = 10; + } + } + if ((label|0) == 10) { + $51 = $6 & 2; + $52 = ($51|0)==(0); + if ($52) { + $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; + label = 13; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; + label = 243; + } + } + else if ((label|0) == 12) { + $54 = ((($$sink1705)) + 1|0); + $55 = HEAP8[$$sink1705>>0]|0; + $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; + label = 13; + } + if ((label|0) == 13) { + $$sink9 = $$sink9$shrunk&255; + $56 = ((($0)) + 12|0); + HEAP32[$56>>2] = $$sink9; + $57 = ((($0)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = $58 << 8; + $60 = $59 | $$sink9; + $61 = (($60>>>0) % 31)&-1; + $62 = $$sink9 & 32; + $63 = $61 | $62; + $64 = $58 & 15; + $65 = ($64|0)!=(8); + $not$ = ($63|0)!=(0); + $$1754 = $65 | $not$; + $66 = $58 >>> 4; + $67 = 256 << $66; + $68 = ($67>>>0)>(32768); + $69 = ($20>>>0)<($67>>>0); + $$ = $68 | $69; + $not$1755 = $14 ^ 1; + $70 = $$ & $not$1755; + $$31100$v = $70 | $$1754; + if ($$31100$v) { + $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; + label = 243; + } else { + $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; + label = 14; + } + } + L46: while(1) { + switch (label|0) { + case 14: { + label = 0; + $71 = ($$5>>>0)<(3); + if ($71) { + $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; + label = 15; + } else { + $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; + label = 20; + } + break; + } + case 16: { + label = 0; + $73 = $6 & 2; + $74 = ($73|0)==(0); + if ($74) { + $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; + label = 19; + } else { + $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; + label = 243; + continue L46; + } + break; + } + case 18: { + label = 0; + $76 = ((($$sink1710)) + 1|0); + $77 = HEAP8[$$sink1710>>0]|0; + $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; + label = 19; + break; + } + case 25: { + label = 0; + $97 = $$13 & 7; + $98 = $$131322 >>> $97; + $99 = (($$13) - ($97))|0; + $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; + label = 26; + break; + } + case 30: { + label = 0; + $104 = $6 & 2; + $105 = ($104|0)==(0); + if ($105) { + $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; + label = 33; + } else { + $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; + label = 243; + continue L46; + } + break; + } + case 32: { + label = 0; + $107 = ((($$sink1713)) + 1|0); + $108 = HEAP8[$$sink1713>>0]|0; + $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; + label = 33; + break; + } + case 36: { + label = 0; + $118 = $6 & 2; + $119 = ($118|0)==(0); + if ($119) { + $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; + label = 39; + continue L46; + } else { + $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; + label = 243; + continue L46; + } + break; + } + case 39: { + label = 0; + $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); + HEAP8[$$sink13>>0] = $$sink12; + $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; + label = 41; + break; + } + case 43: { + label = 0; + $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; + label = 243; + continue L46; + break; + } + case 47: { + label = 0; + $150 = $6 & 2; + $151 = ($150|0)==(0); + if ($151) { + $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; + label = 50; + } else { + $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; + label = 243; + continue L46; + } + break; + } + case 49: { + label = 0; + $153 = ((($$sink1716)) + 1|0); + $154 = HEAP8[$$sink1716>>0]|0; + $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; + label = 50; + break; + } + case 52: { + label = 0; + $162 = ($$231630>>>0)<($12>>>0); + if (!($162)) { + $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; + label = 243; + continue L46; + } + $163 = $$271018&255; + $164 = ((($$231630)) + 1|0); + HEAP8[$$231630>>0] = $163; + $165 = (($$271124) + -1)|0; + $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; + label = 44; + break; + } + case 55: { + label = 0; + $167 = ($$251632>>>0)<($12>>>0); + if ($167) { + $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; + label = 56; + continue L46; + } else { + $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; + label = 243; + continue L46; + } + break; + } + case 56: { + label = 0; + $168 = ($$301537>>>0)<($10>>>0); + if ($168) { + $171 = $12; + $172 = $$261633; + $173 = (($171) - ($172))|0; + $174 = $10; + $175 = $$301537; + $176 = (($174) - ($175))|0; + $177 = ($173>>>0)<($176>>>0); + $$sink17 = $177 ? $12 : $10; + $$sink16 = $177 ? $$261633 : $$301537; + $178 = $$sink17; + $179 = $$sink16; + $180 = (($178) - ($179))|0; + $181 = ($180>>>0)<($$301127>>>0); + $$$301127 = $181 ? $180 : $$301127; + _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; + $182 = (($$301537) + ($$$301127)|0); + $183 = (($$261633) + ($$$301127)|0); + $184 = (($$301127) - ($$$301127))|0; + $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; + label = 54; + break; + } else { + $169 = $6 & 2; + $170 = ($169|0)==(0); + if ($170) { + $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; + label = 58; + continue L46; + } else { + $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; + label = 243; + continue L46; + } + } + break; + } + case 58: { + label = 0; + $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; + label = 243; + continue L46; + break; + } + case 60: { + label = 0; + $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; + label = 243; + continue L46; + break; + } + case 64: { + label = 0; + $191 = $6 & 2; + $192 = ($191|0)==(0); + if ($192) { + $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; + label = 67; + } else { + $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; + label = 243; + continue L46; + } + break; + } + case 66: { + label = 0; + $194 = ((($$sink1719)) + 1|0); + $195 = HEAP8[$$sink1719>>0]|0; + $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; + label = 67; + break; + } + case 73: { + label = 0; + $222 = $6 & 2; + $223 = ($222|0)==(0); + if ($223) { + $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; + label = 76; + } else { + $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; + label = 243; + continue L46; + } + break; + } + case 75: { + label = 0; + $225 = ((($$sink1722)) + 1|0); + $226 = HEAP8[$$sink1722>>0]|0; + $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; + label = 76; + break; + } + case 86: { + label = 0; + $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; + label = 243; + continue L46; + break; + } + case 114: { + label = 0; + $450 = $6 & 2; + $451 = ($450|0)==(0); + if ($451) { + $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; + label = 117; + } else { + $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; + label = 243; + continue L46; + } + break; + } + case 116: { + label = 0; + $453 = ((($$sink1729)) + 1|0); + $454 = HEAP8[$$sink1729>>0]|0; + $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; + label = 117; + break; + } + case 125: { + label = 0; + $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; + label = 243; + continue L46; + break; + } + case 128: { + label = 0; + $501 = $6 & 2; + $502 = ($501|0)==(0); + if ($502) { + $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; + label = 131; + } else { + $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; + label = 243; + continue L46; + } + break; + } + case 130: { + label = 0; + $504 = ((($$sink1732)) + 1|0); + $505 = HEAP8[$$sink1732>>0]|0; + $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; + label = 131; + break; + } + case 136: { + label = 0; + $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; + label = 243; + continue L46; + break; + } + case 151: { + label = 0; + $570 = $6 & 2; + $571 = ($570|0)==(0); + if ($571) { + $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; + label = 154; + } else { + $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; + label = 243; + continue L46; + } + break; + } + case 153: { + label = 0; + $573 = ((($$sink1736)) + 1|0); + $574 = HEAP8[$$sink1736>>0]|0; + $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; + label = 154; + break; + } + case 160: { + label = 0; + $610 = ($$591666>>>0)<($12>>>0); + if (!($610)) { + $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; + label = 243; + continue L46; + } + $611 = $$621159&255; + $612 = ((($$591666)) + 1|0); + HEAP8[$$591666>>0] = $611; + $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; + label = 140; + break; + } + case 180: { + label = 0; + $694 = $6 & 2; + $695 = ($694|0)==(0); + if ($695) { + $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; + label = 183; + } else { + $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; + label = 243; + continue L46; + } + break; + } + case 182: { + label = 0; + $697 = ((($$sink1739)) + 1|0); + $698 = HEAP8[$$sink1739>>0]|0; + $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; + label = 183; + break; + } + case 193: { + label = 0; + $735 = $6 & 2; + $736 = ($735|0)==(0); + if ($736) { + $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; + label = 196; + } else { + $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; + label = 243; + continue L46; + } + break; + } + case 195: { + label = 0; + $738 = ((($$sink1743)) + 1|0); + $739 = HEAP8[$$sink1743>>0]|0; + $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; + label = 196; + break; + } + case 204: { + label = 0; + $782 = $6 & 2; + $783 = ($782|0)==(0); + if ($783) { + $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; + label = 207; + } else { + $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; + label = 243; + continue L46; + } + break; + } + case 206: { + label = 0; + $785 = ((($$sink1746)) + 1|0); + $786 = HEAP8[$$sink1746>>0]|0; + $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; + label = 207; + break; + } + case 210: { + label = 0; + $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; + label = 243; + continue L46; + break; + } + case 213: { + label = 0; + $809 = ($$781685>>>0)<($12>>>0); + if (!($809)) { + $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; + label = 243; + continue L46; + } + $810 = (($$751491) + 1)|0; + $811 = (($$751491) - ($$791070))|0; + $812 = $811 & $$1753; + $813 = (($3) + ($812)|0); + $814 = HEAP8[$813>>0]|0; + $815 = ((($$781685)) + 1|0); + HEAP8[$$781685>>0] = $814; + $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; + label = 212; + break; + } + case 226: { + label = 0; + $849 = $$90 & 7; + $850 = $$901399 >>> $849; + $851 = (($$90) - ($849))|0; + $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; + label = 227; + break; + } + case 231: { + label = 0; + $856 = $6 & 2; + $857 = ($856|0)==(0); + if ($857) { + $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; + label = 234; + } else { + $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; + label = 243; + continue L46; + } + break; + } + case 233: { + label = 0; + $859 = ((($$sink1750)) + 1|0); + $860 = HEAP8[$$sink1750>>0]|0; + $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; + label = 234; + break; + } + case 237: { + label = 0; + $869 = $6 & 2; + $870 = ($869|0)==(0); + if ($870) { + $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; + label = 241; + continue L46; + } else { + $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; + label = 243; + continue L46; + } + break; + } + case 241: { + label = 0; + $878 = ((($0)) + 16|0); + $879 = HEAP32[$878>>2]|0; + $880 = $879 << 8; + $881 = $880 | $$0948; + HEAP32[$878>>2] = $881; + $882 = (($$931190) + 1)|0; + $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; + label = 227; + break; + } + case 242: { + label = 0; + $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; + label = 243; + continue L46; + break; + } + case 243: { + label = 0; + HEAP32[$0>>2] = $$sink30; + $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; + label = 244; + continue L46; + break; + } + case 244: { + label = 0; + HEAP32[$24>>2] = $$100; + HEAP32[$26>>2] = $$1001409; + HEAP32[$28>>2] = $$941085; + HEAP32[$30>>2] = $$961193; + HEAP32[$32>>2] = $$961299; + HEAP32[$34>>2] = $$901506; + $883 = $$991606; + $884 = $1; + $885 = (($883) - ($884))|0; + HEAP32[$2>>2] = $885; + $886 = $$941701; + $887 = $4; + $888 = (($886) - ($887))|0; + HEAP32[$5>>2] = $888; + $889 = $6 & 9; + $890 = ($889|0)!=(0); + $891 = ($$1961|0)>(-1); + $or$cond29 = $890 & $891; + if ($or$cond29) { + break L46; + } else { + $$0951 = $$1961; + label = 258; + break L46; + } + break; + } + } + switch (label|0) { + case 19: { + label = 0; + $$01413 = $$01413$shrunk&255; + $78 = $$01413 << $$8; + $79 = $78 | $$81317; + $80 = (($$8) + 8)|0; + $81 = ($80>>>0)<(3); + if ($81) { + $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; + label = 15; + } else { + $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; + label = 20; + } + break; + } + case 33: { + label = 0; + $$01411 = $$01411$shrunk&255; + $109 = $$01411 << $$17; + $110 = $109 | $$171326; + $111 = (($$17) + 8)|0; + $112 = ($$17>>>0)>(4294967287); + if ($112) { + $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; + label = 29; + } else { + $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; + label = 34; + } + break; + } + case 50: { + label = 0; + $$01410 = $$01410$shrunk&255; + $155 = $$01410 << $$26; + $156 = $155 | $$261335; + $157 = (($$26) + 8)|0; + $158 = ($$26>>>0)>(4294967287); + if ($158) { + $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; + label = 46; + } else { + $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; + label = 51; + } + break; + } + case 67: { + label = 0; + $$01300 = $$01300$shrunk&255; + $196 = $$01300 << $$37; + $197 = $196 | $$371346; + $198 = (($$37) + 8)|0; + $199 = (11033 + ($$361133)|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200 << 24 >> 24; + $202 = ($198>>>0)<($201>>>0); + if ($202) { + $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; + label = 63; + } else { + $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; + label = 68; + } + break; + } + case 76: { + label = 0; + $$01202 = $$01202$shrunk&255; + $227 = $$01202 << $$42; + $228 = $227 | $$421351; + $229 = (($$42) + 8)|0; + $230 = ($229>>>0)<(3); + if ($230) { + $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; + label = 72; + } else { + $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; + label = 77; + } + break; + } + case 117: { + label = 0; + $$0980 = $$0980$shrunk&255; + $455 = $$0980 << $$49; + $456 = $455 | $$491358; + $457 = (($$49) + 8)|0; + $458 = ($457>>>0)<(15); + if ($458) { + $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; + label = 108; + } else { + $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; + label = 119; + } + break; + } + case 131: { + label = 0; + $$0979 = $$0979$shrunk&255; + $506 = $$0979 << $$54; + $507 = $506 | $$541363; + $508 = (($$54) + 8)|0; + $509 = ($508>>>0)<($$541257>>>0); + if ($509) { + $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; + label = 127; + } else { + $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; + label = 132; + } + break; + } + case 154: { + label = 0; + $$0971 = $$0971$shrunk&255; + $575 = $$0971 << $$62; + $576 = $575 | $$621371; + $577 = (($$62) + 8)|0; + $578 = ($577>>>0)<(15); + if ($578) { + $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; + label = 145; + } else { + $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; + label = 156; + } + break; + } + case 183: { + label = 0; + $$0959 = $$0959$shrunk&255; + $699 = $$0959 << $$71; + $700 = $699 | $$711380; + $701 = (($$71) + 8)|0; + $702 = ($701>>>0)<($$681271>>>0); + if ($702) { + $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; + label = 179; + } else { + $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; + label = 184; + } + break; + } + case 196: { + label = 0; + $$0952 = $$0952$shrunk&255; + $740 = $$0952 << $$76; + $741 = $740 | $$761385; + $742 = (($$76) + 8)|0; + $743 = ($742>>>0)<(15); + if ($743) { + $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; + label = 187; + } else { + $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; + label = 198; + } + break; + } + case 207: { + label = 0; + $$0950 = $$0950$shrunk&255; + $787 = $$0950 << $$80; + $788 = $787 | $$801389; + $789 = (($$80) + 8)|0; + $790 = ($789>>>0)<($$761279>>>0); + if ($790) { + $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; + label = 203; + } else { + $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; + label = 208; + } + break; + } + case 227: { + label = 0; + $852 = ($$871184>>>0)<(4); + if (!($852)) { + $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; + label = 242; + continue L46; + } + $853 = ($$91|0)==(0); + if (!($853)) { + $854 = ($$91>>>0)<(8); + if ($854) { + $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; + label = 230; + break; + } else { + $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; + label = 235; + break; + } + } + $868 = ($$901597>>>0)<($10>>>0); + if (!($868)) { + $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; + label = 237; + continue L46; + } + $875 = ((($$901597)) + 1|0); + $876 = HEAP8[$$901597>>0]|0; + $877 = $876&255; + $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; + label = 241; + continue L46; + break; + } + case 234: { + label = 0; + $$0947 = $$0947$shrunk&255; + $861 = $$0947 << $$94; + $862 = $861 | $$941403; + $863 = (($$94) + 8)|0; + $864 = ($$94>>>0)>(4294967287); + if ($864) { + $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; + label = 230; + } else { + $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; + label = 235; + } + break; + } + } + L119: do { + if ((label|0) == 15) { + label = 0; + $72 = ($$51512>>>0)<($10>>>0); + if ($72) { + $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; + label = 18; + continue L46; + } else { + $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; + label = 16; + continue L46; + } + } + else if ((label|0) == 20) { + label = 0; + $82 = $$91318 & 7; + $83 = ((($0)) + 20|0); + HEAP32[$83>>2] = $82; + $84 = $$91318 >>> 3; + $85 = (($$9) + -3)|0; + $86 = $82 >>> 1; + $87 = ((($0)) + 24|0); + HEAP32[$87>>2] = $86; + $trunc = $86&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; + label = 25; + continue L46; + break; + } + case 3: { + $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; + label = 60; + continue L46; + break; + } + case 1: { + break; + } + default: { + $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; + label = 61; + break L119; + } + } + $240 = ((($0)) + 44|0); + HEAP32[$240>>2] = 288; + $241 = ((($0)) + 48|0); + HEAP32[$241>>2] = 32; + $242 = ((($0)) + 3552|0); + ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; + $scevgep19611962 = ((($0)) + 64|0); + _memset(($scevgep19611962|0),8,144)|0; + $scevgep1959 = ((($0)) + 208|0); + dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1957 = ((($0)) + 320|0); + dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1955 = ((($0)) + 344|0); + $243 = $scevgep1955; + $244 = $243; + HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; + $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; + label = 80; + } + else if ((label|0) == 230) { + label = 0; + $855 = ($$911598>>>0)<($10>>>0); + if ($855) { + $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; + label = 233; + continue L46; + } else { + $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; + label = 231; + continue L46; + } + } + else if ((label|0) == 235) { + label = 0; + $865 = $$951404 & 255; + $866 = $$951404 >>> 8; + $867 = (($$95) + -8)|0; + $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; + label = 241; + continue L46; + } + } while(0); + L125: while(1) { + L126: switch (label|0) { + case 26: { + label = 0; + $100 = ($$131110>>>0)<(4); + if (!($100)) { + $127 = ((($0)) + 10528|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = ((($0)) + 10529|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132 << 8; + $134 = $133 | $129; + $135 = ((($0)) + 10530|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = ((($0)) + 10531|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + $141 = $140 << 8; + $142 = $141 | $137; + $143 = $142 ^ 65535; + $144 = ($134|0)==($143|0); + if ($144) { + $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; + label = 44; + continue L125; + } else { + $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; + label = 43; + continue L46; + } + } + $101 = ($$14|0)==(0); + if (!($101)) { + $102 = ($$14>>>0)<(8); + if ($102) { + $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; + label = 29; + continue L125; + } else { + $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; + label = 34; + continue L125; + } + } + $117 = ($$131520>>>0)<($10>>>0); + if (!($117)) { + $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; + label = 36; + continue L46; + } + $123 = ((($$131520)) + 1|0); + $124 = HEAP8[$$131520>>0]|0; + $125 = (((($0)) + 10528|0) + ($$131110)|0); + HEAP8[$125>>0] = $124; + $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; + label = 41; + continue L125; + break; + } + case 29: { + label = 0; + $103 = ($$141521>>>0)<($10>>>0); + if ($103) { + $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; + label = 32; + continue L46; + } else { + $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; + label = 30; + continue L46; + } + break; + } + case 34: { + label = 0; + $113 = $$181327&255; + $114 = (((($0)) + 10528|0) + ($$171114)|0); + HEAP8[$114>>0] = $113; + $115 = $$181327 >>> 8; + $116 = (($$18) + -8)|0; + $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; + label = 41; + continue L125; + break; + } + case 41: { + label = 0; + $126 = (($$201117) + 1)|0; + $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; + label = 26; + continue L125; + break; + } + case 44: { + label = 0; + $145 = ($$221119|0)!=(0); + $146 = ($$23|0)!=(0); + $147 = $145 & $146; + if (!($147)) { + $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; + label = 54; + continue L125; + } + $148 = ($$23>>>0)<(8); + if ($148) { + $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; + label = 46; + continue L125; + } else { + $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; + label = 51; + continue L125; + } + break; + } + case 46: { + label = 0; + $149 = ($$231530>>>0)<($10>>>0); + if ($149) { + $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; + label = 49; + continue L46; + } else { + $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; + label = 47; + continue L46; + } + break; + } + case 51: { + label = 0; + $159 = $$271336 & 255; + $160 = $$271336 >>> 8; + $161 = (($$27) + -8)|0; + $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; + label = 52; + continue L46; + break; + } + case 54: { + label = 0; + $166 = ($$281125|0)==(0); + if ($166) { + $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; + label = 220; + break L125; + } else { + $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; + label = 55; + continue L46; + } + break; + } + case 61: { + label = 0; + $185 = ($$331130>>>0)<(3); + if ($185) { + $186 = (11033 + ($$331130)|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 << 24 >> 24; + $189 = ($$34>>>0)<($188>>>0); + if ($189) { + $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; + label = 63; + continue L125; + } else { + $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; + label = 68; + continue L125; + } + } else { + $216 = ((($0)) + 7040|0); + _memset(($216|0),0,288)|0; + $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; + label = 70; + break; + } + break; + } + case 63: { + label = 0; + $190 = ($$341541>>>0)<($10>>>0); + if ($190) { + $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; + label = 66; + continue L46; + } else { + $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; + label = 64; + continue L46; + } + break; + } + case 68: { + label = 0; + $203 = (11033 + ($$371134)|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204 << 24 >> 24; + $206 = 1 << $205; + $207 = (($206) + -1)|0; + $208 = $207 & $$381347; + $209 = (((($0)) + 44|0) + ($$371134<<2)|0); + $210 = $$381347 >>> $205; + $211 = (($$38) - ($205))|0; + $212 = (3108 + ($$371134<<2)|0); + $213 = HEAP32[$212>>2]|0; + $214 = (($208) + ($213))|0; + HEAP32[$209>>2] = $214; + $215 = (($$371134) + 1)|0; + $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; + label = 61; + continue L125; + break; + } + case 72: { + label = 0; + $221 = ($$391546>>>0)<($10>>>0); + if ($221) { + $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; + label = 75; + continue L46; + } else { + $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; + label = 73; + continue L46; + } + break; + } + case 77: { + label = 0; + $231 = $$431352 & 7; + $232 = $$431352 >>> 3; + $233 = (($$43) + -3)|0; + $234 = $231&255; + $235 = (11037 + ($$421139)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = (((($0)) + 7040|0) + ($237)|0); + HEAP8[$238>>0] = $234; + $239 = (($$421139) + 1)|0; + $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; + label = 70; + break; + } + case 80: { + label = 0; + $247 = ((($0)) + 24|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)>(-1); + if ($249) { + dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); + _memset(($250|0),0,3200)|0; + $251 = HEAP32[$247>>2]|0; + $252 = (((($0)) + 44|0) + ($251<<2)|0); + $253 = HEAP32[$252>>2]|0; + $254 = ($253|0)==(0); + if (!($254)) { + $255 = HEAP32[$247>>2]|0; + $256 = (((($0)) + 44|0) + ($255<<2)|0); + $257 = HEAP32[$256>>2]|0; + $$010951864 = 0; + while(1) { + $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (($8) + ($260<<2)|0); + $262 = HEAP32[$261>>2]|0; + $263 = (($262) + 1)|0; + HEAP32[$261>>2] = $263; + $264 = (($$010951864) + 1)|0; + $265 = ($264>>>0)<($257>>>0); + if ($265) { + $$010951864 = $264; + } else { + break; + } + } + } + $266 = ((($7)) + 4|0); + HEAP32[$266>>2] = 0; + HEAP32[$7>>2] = 0; + $267 = ((($8)) + 4|0); + $268 = HEAP32[$267>>2]|0; + $269 = $268 << 1; + $270 = ((($7)) + 8|0); + HEAP32[$270>>2] = $269; + $271 = ((($8)) + 8|0); + $272 = HEAP32[$271>>2]|0; + $273 = (($272) + ($268))|0; + $274 = (($272) + ($269))|0; + $275 = $274 << 1; + $276 = ((($7)) + 12|0); + HEAP32[$276>>2] = $275; + $277 = ((($8)) + 12|0); + $278 = HEAP32[$277>>2]|0; + $279 = (($278) + ($273))|0; + $280 = (($278) + ($275))|0; + $281 = $280 << 1; + $282 = ((($7)) + 16|0); + HEAP32[$282>>2] = $281; + $283 = ((($8)) + 16|0); + $284 = HEAP32[$283>>2]|0; + $285 = (($284) + ($279))|0; + $286 = (($284) + ($281))|0; + $287 = $286 << 1; + $288 = ((($7)) + 20|0); + HEAP32[$288>>2] = $287; + $289 = ((($8)) + 20|0); + $290 = HEAP32[$289>>2]|0; + $291 = (($290) + ($285))|0; + $292 = (($290) + ($287))|0; + $293 = $292 << 1; + $294 = ((($7)) + 24|0); + HEAP32[$294>>2] = $293; + $295 = ((($8)) + 24|0); + $296 = HEAP32[$295>>2]|0; + $297 = (($296) + ($291))|0; + $298 = (($296) + ($293))|0; + $299 = $298 << 1; + $300 = ((($7)) + 28|0); + HEAP32[$300>>2] = $299; + $301 = ((($8)) + 28|0); + $302 = HEAP32[$301>>2]|0; + $303 = (($302) + ($297))|0; + $304 = (($302) + ($299))|0; + $305 = $304 << 1; + $306 = ((($7)) + 32|0); + HEAP32[$306>>2] = $305; + $307 = ((($8)) + 32|0); + $308 = HEAP32[$307>>2]|0; + $309 = (($308) + ($303))|0; + $310 = (($308) + ($305))|0; + $311 = $310 << 1; + $312 = ((($7)) + 36|0); + HEAP32[$312>>2] = $311; + $313 = ((($8)) + 36|0); + $314 = HEAP32[$313>>2]|0; + $315 = (($314) + ($309))|0; + $316 = (($314) + ($311))|0; + $317 = $316 << 1; + $318 = ((($7)) + 40|0); + HEAP32[$318>>2] = $317; + $319 = ((($8)) + 40|0); + $320 = HEAP32[$319>>2]|0; + $321 = (($320) + ($315))|0; + $322 = (($320) + ($317))|0; + $323 = $322 << 1; + $324 = ((($7)) + 44|0); + HEAP32[$324>>2] = $323; + $325 = ((($8)) + 44|0); + $326 = HEAP32[$325>>2]|0; + $327 = (($326) + ($321))|0; + $328 = (($326) + ($323))|0; + $329 = $328 << 1; + $330 = ((($7)) + 48|0); + HEAP32[$330>>2] = $329; + $331 = ((($8)) + 48|0); + $332 = HEAP32[$331>>2]|0; + $333 = (($332) + ($327))|0; + $334 = (($332) + ($329))|0; + $335 = $334 << 1; + $336 = ((($7)) + 52|0); + HEAP32[$336>>2] = $335; + $337 = ((($8)) + 52|0); + $338 = HEAP32[$337>>2]|0; + $339 = (($338) + ($333))|0; + $340 = (($338) + ($335))|0; + $341 = $340 << 1; + $342 = ((($7)) + 56|0); + HEAP32[$342>>2] = $341; + $343 = ((($8)) + 56|0); + $344 = HEAP32[$343>>2]|0; + $345 = (($344) + ($339))|0; + $346 = (($344) + ($341))|0; + $347 = $346 << 1; + $348 = ((($7)) + 60|0); + HEAP32[$348>>2] = $347; + $349 = ((($8)) + 60|0); + $350 = HEAP32[$349>>2]|0; + $351 = (($350) + ($345))|0; + $352 = (($350) + ($347))|0; + $353 = $352 << 1; + $354 = ((($7)) + 64|0); + HEAP32[$354>>2] = $353; + $355 = ($353|0)!=(65536); + $356 = ($351>>>0)>(1); + $or$cond = $355 & $356; + if ($or$cond) { + $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; + label = 86; + continue L46; + } + $357 = HEAP32[$247>>2]|0; + $358 = (((($0)) + 44|0) + ($357<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0); + if ($360) { + $$lcssa1779 = $357; + } else { + $$010911856 = 0;$$011971855 = -1; + while(1) { + $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); + $362 = HEAP8[$361>>0]|0; + $363 = $362&255; + $364 = ($362<<24>>24)==(0); + L142: do { + if ($364) { + $$41201 = $$011971855; + } else { + $365 = (($7) + ($363<<2)|0); + $366 = HEAP32[$365>>2]|0; + $367 = (($366) + 1)|0; + HEAP32[$365>>2] = $367; + $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; + while(1) { + $368 = $$010881838 << 1; + $369 = $$010861840 & 1; + $370 = $369 | $368; + $371 = (($$010871839) + -1)|0; + $372 = $$010861840 >>> 1; + $373 = ($371|0)==(0); + if ($373) { + break; + } else { + $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; + } + } + $374 = ($362&255)<(11); + if ($374) { + $375 = $363 << 9; + $376 = $375 | $$010911856; + $377 = $376&65535; + $378 = ($370>>>0)<(1024); + if (!($378)) { + $$41201 = $$011971855; + break; + } + $379 = 1 << $363; + $$110891852 = $370; + while(1) { + $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); + HEAP16[$380>>1] = $377; + $381 = (($$110891852) + ($379))|0; + $382 = ($381>>>0)<(1024); + if ($382) { + $$110891852 = $381; + } else { + $$41201 = $$011971855; + break L142; + } + } + } + $383 = $370 & 1023; + $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); + $385 = HEAP16[$384>>1]|0; + $386 = $385 << 16 >> 16; + $387 = ($385<<16>>16)==(0); + if ($387) { + $388 = (($$011971855) + -2)|0; + $389 = $$011971855&65535; + HEAP16[$384>>1] = $389; + $$01194 = $$011971855;$$11198 = $388; + } else { + $$01194 = $386;$$11198 = $$011971855; + } + $390 = $$010881838 >>> 9; + $391 = ($362&255)>(11); + $392 = $390 & 1; + $393 = (($392) - ($$01194))|0; + $394 = (($393) + -1)|0; + if ($391) { + $395 = $390 & 4194303; + $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; + while(1) { + $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); + $398 = HEAP16[$396>>1]|0; + $399 = ($398<<16>>16)==(0); + if ($399) { + $400 = $$211991845&65535; + HEAP16[$396>>1] = $400; + $401 = (($$211991845) + -2)|0; + $$21196 = $$211991845;$$31200 = $401; + } else { + $402 = $398 << 16 >> 16; + $$21196 = $402;$$31200 = $$211991845; + } + $403 = (($$010941846) + -1)|0; + $404 = ($403>>>0)>(11); + $405 = $406 >>> 1; + $407 = $405 & 1; + $408 = (($407) - ($$21196))|0; + $409 = (($408) + -1)|0; + if ($404) { + $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; + } else { + $$21199$lcssa = $$31200;$$lcssa1778 = $409; + break; + } + } + } else { + $$21199$lcssa = $$11198;$$lcssa1778 = $394; + } + $410 = $$010911856&65535; + $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); + HEAP16[$411>>1] = $410; + $$41201 = $$21199$lcssa; + } + } while(0); + $412 = (($$010911856) + 1)|0; + $413 = HEAP32[$247>>2]|0; + $414 = (((($0)) + 44|0) + ($413<<2)|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($412>>>0)<($415>>>0); + if ($416) { + $$010911856 = $412;$$011971855 = $$41201; + } else { + $$lcssa1779 = $413; + break; + } + } + } + $417 = ($$lcssa1779|0)==(2); + if ($417) { + $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; + label = 105; + } else { + $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; + label = 138; + } + } else { + $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; + label = 139; + } + break; + } + case 108: { + label = 0; + $429 = $$471356 & 1023; + $430 = (((($0)) + 7328|0) + ($429<<1)|0); + $431 = HEAP16[$430>>1]|0; + $432 = $431 << 16 >> 16; + $433 = ($431<<16>>16)>(-1); + if ($433) { + $434 = $432 >> 9; + $435 = (($434) + -1)|0; + $436 = ($435>>>0)<($$47>>>0); + if ($436) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } else { + label = 113; + break L125; + } + } + $437 = ($$47>>>0)>(10); + if ($437) { + $$0981 = 10;$$0984 = $432; + } else { + label = 113; + break L125; + } + while(1) { + $438 = $$0984 ^ -1; + $439 = $$471356 >>> $$0981; + $440 = $439 & 1; + $441 = (($440) + ($438))|0; + $442 = (((($0)) + 9376|0) + ($441<<1)|0); + $443 = HEAP16[$442>>1]|0; + $444 = ($443<<16>>16)<(0); + if (!($444)) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } + $445 = (($$0981) + 1)|0; + $446 = $443 << 16 >> 16; + $447 = (($$0981) + 2)|0; + $448 = ($$47>>>0)<($447>>>0); + if ($448) { + label = 113; + break L125; + } else { + $$0981 = $445;$$0984 = $446; + } + } + break; + } + case 119: { + label = 0; + $471 = $$501359 & 1023; + $472 = (((($0)) + 7328|0) + ($471<<1)|0); + $473 = HEAP16[$472>>1]|0; + $474 = $473 << 16 >> 16; + $475 = ($473<<16>>16)>(-1); + if ($475) { + $476 = $474 >> 9; + $477 = $474 & 511; + $$2983 = $476;$$2986 = $477; + } else { + $$1982 = 10;$$1985 = $474; + while(1) { + $478 = $$1985 ^ -1; + $479 = (($$1982) + 1)|0; + $480 = $$501359 >>> $$1982; + $481 = $480 & 1; + $482 = (($481) + ($478))|0; + $483 = (((($0)) + 9376|0) + ($482<<1)|0); + $484 = HEAP16[$483>>1]|0; + $485 = $484 << 16 >> 16; + $486 = ($484<<16>>16)<(0); + if ($486) { + $$1982 = $479;$$1985 = $485; + } else { + $$2983 = $479;$$2986 = $485; + break; + } + } + } + $487 = $$501359 >>> $$2983; + $488 = (($$50) - ($$2983))|0; + $489 = ($$2986>>>0)<(16); + if ($489) { + $490 = $$2986&255; + $491 = (($$491146) + 1)|0; + $492 = (((($0)) + 10532|0) + ($$491146)|0); + HEAP8[$492>>0] = $490; + $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; + label = 105; + break; + } + $493 = ($$2986|0)!=(16); + $494 = ($$491146|0)!=(0); + $or$cond24 = $494 | $493; + if (!($or$cond24)) { + $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; + label = 125; + continue L46; + } + $495 = (($$2986) + -16)|0; + $496 = (11056 + ($495)|0); + $497 = HEAP8[$496>>0]|0; + $498 = $497 << 24 >> 24; + $499 = ($488>>>0)<($498>>>0); + if ($499) { + $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; + label = 127; + continue L125; + } else { + $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; + label = 132; + continue L125; + } + break; + } + case 127: { + label = 0; + $500 = ($$511558>>>0)<($10>>>0); + if ($500) { + $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; + label = 130; + continue L46; + } else { + $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; + label = 128; + continue L46; + } + break; + } + case 132: { + label = 0; + $510 = 1 << $$551258; + $511 = (($510) + -1)|0; + $512 = $511 & $$551364; + $513 = $$551364 >>> $$551258; + $514 = (($$55) - ($$551258))|0; + $515 = (($$531044) + -16)|0; + $516 = (11060 + ($515)|0); + $517 = HEAP8[$516>>0]|0; + $518 = $517 << 24 >> 24; + $519 = (($518) + ($512))|0; + $520 = (((($0)) + 10532|0) + ($$541151)|0); + $521 = ($$531044|0)==(16); + if ($521) { + $522 = (($$541151) + -1)|0; + $523 = (((($0)) + 10532|0) + ($522)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + _memset(($520|0),($526|0),($519|0))|0; + $528 = (($519) + ($$541151))|0; + $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; + label = 105; + break; + } + case 140: { + label = 0; + $539 = $10; + $540 = $$581565$ph; + $541 = (($539) - ($540))|0; + $542 = ($541|0)<(4); + $543 = ($$59$ph>>>0)<(15); + L241: do { + if ($542) { + $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; + } else { + $544 = $12; + $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; + while(1) { + $545 = $$5416611868; + $546 = (($544) - ($545))|0; + $547 = ($546|0)<(2); + if ($547) { + $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; + break L241; + } + if ($965) { + $613 = HEAP8[$$5815651869>>0]|0; + $614 = $613&255; + $615 = ((($$5815651869)) + 1|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $618 = $617 << 8; + $619 = $618 | $614; + $620 = $619 << $$591872; + $621 = $620 | $$5913681870; + $622 = ((($$5815651869)) + 2|0); + $623 = (($$591872) + 16)|0; + $$641571 = $622;$$65 = $623;$$651374 = $621; + } else { + $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; + } + $624 = $$651374 & 1023; + $625 = (((($0)) + 352|0) + ($624<<1)|0); + $626 = HEAP16[$625>>1]|0; + $627 = $626 << 16 >> 16; + $628 = ($626<<16>>16)>(-1); + if ($628) { + $629 = $627 >> 9; + $$1964 = $629;$$1968 = $627; + } else { + $$0963 = 10;$$0967 = $627; + while(1) { + $630 = $$0967 ^ -1; + $631 = (($$0963) + 1)|0; + $632 = $$651374 >>> $$0963; + $633 = $632 & 1; + $634 = (($633) + ($630))|0; + $635 = (((($0)) + 2400|0) + ($634<<1)|0); + $636 = HEAP16[$635>>1]|0; + $637 = $636 << 16 >> 16; + $638 = ($636<<16>>16)<(0); + if ($638) { + $$0963 = $631;$$0967 = $637; + } else { + $$1964 = $631;$$1968 = $637; + break; + } + } + } + $639 = $$651374 >>> $$1964; + $640 = (($$65) - ($$1964))|0; + $641 = $$1968 & 256; + $642 = ($641|0)==(0); + if (!($642)) { + $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; + label = 176; + break L126; + } + $643 = ($640>>>0)<(15); + if ($643) { + $644 = HEAP8[$$641571>>0]|0; + $645 = $644&255; + $646 = ((($$641571)) + 1|0); + $647 = HEAP8[$646>>0]|0; + $648 = $647&255; + $649 = $648 << 8; + $650 = $649 | $645; + $651 = $650 << $640; + $652 = $651 | $639; + $653 = ((($$641571)) + 2|0); + $654 = (($640) + 16)|0; + $$651572 = $653;$$66 = $654;$$661375 = $652; + } else { + $$651572 = $$641571;$$66 = $640;$$661375 = $639; + } + $655 = $$661375 & 1023; + $656 = (((($0)) + 352|0) + ($655<<1)|0); + $657 = HEAP16[$656>>1]|0; + $658 = $657 << 16 >> 16; + $659 = ($657<<16>>16)>(-1); + if ($659) { + $660 = $658 >> 9; + $$3966 = $660;$$3970 = $658; + } else { + $$2965 = 10;$$2969 = $658; + while(1) { + $661 = $$2969 ^ -1; + $662 = (($$2965) + 1)|0; + $663 = $$661375 >>> $$2965; + $664 = $663 & 1; + $665 = (($664) + ($661))|0; + $666 = (((($0)) + 2400|0) + ($665<<1)|0); + $667 = HEAP16[$666>>1]|0; + $668 = $667 << 16 >> 16; + $669 = ($667<<16>>16)<(0); + if ($669) { + $$2965 = $662;$$2969 = $668; + } else { + $$3966 = $662;$$3970 = $668; + break; + } + } + } + $670 = $$661375 >>> $$3966; + $671 = (($$66) - ($$3966))|0; + $672 = $$1968&255; + HEAP8[$$5416611868>>0] = $672; + $673 = $$3970 & 256; + $674 = ($673|0)==(0); + if (!($674)) { + break; + } + $676 = $$3970&255; + $677 = ((($$5416611868)) + 1|0); + HEAP8[$677>>0] = $676; + $678 = ((($$5416611868)) + 2|0); + $679 = $$651572; + $680 = (($539) - ($679))|0; + $681 = ($680|0)<(4); + $682 = ($671>>>0)<(15); + if ($681) { + $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; + break L241; + } else { + $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; + } + } + $675 = ((($$5416611868)) + 1|0); + $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; + label = 176; + break L126; + } + } while(0); + if (!($$lcssa1799)) { + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; + label = 156; + continue L125; + } + $548 = ($$lcssa1802|0)<(2); + if ($548) { + $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; + label = 145; + continue L125; + } + $579 = HEAP8[$$581565$lcssa>>0]|0; + $580 = $579&255; + $581 = $580 << $$59$lcssa; + $582 = ((($$581565$lcssa)) + 1|0); + $583 = HEAP8[$582>>0]|0; + $584 = $583&255; + $585 = (($$59$lcssa) + 8)|0; + $586 = $584 << $585; + $587 = $581 | $$591368$lcssa; + $588 = $587 | $586; + $589 = ((($$581565$lcssa)) + 2|0); + $590 = (($$59$lcssa) + 16)|0; + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; + label = 156; + continue L125; + break; + } + case 145: { + label = 0; + $549 = $$601369 & 1023; + $550 = (((($0)) + 352|0) + ($549<<1)|0); + $551 = HEAP16[$550>>1]|0; + $552 = $551 << 16 >> 16; + $553 = ($551<<16>>16)>(-1); + if ($553) { + $554 = $552 >> 9; + $555 = (($554) + -1)|0; + $556 = ($555>>>0)<($$60>>>0); + if ($556) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } else { + label = 150; + break L125; + } + } + $557 = ($$60>>>0)>(10); + if ($557) { + $$0972 = 10;$$0975 = $552; + } else { + label = 150; + break L125; + } + while(1) { + $558 = $$0975 ^ -1; + $559 = $$601369 >>> $$0972; + $560 = $559 & 1; + $561 = (($560) + ($558))|0; + $562 = (((($0)) + 2400|0) + ($561<<1)|0); + $563 = HEAP16[$562>>1]|0; + $564 = ($563<<16>>16)<(0); + if (!($564)) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } + $565 = (($$0972) + 1)|0; + $566 = $563 << 16 >> 16; + $567 = (($$0972) + 2)|0; + $568 = ($$60>>>0)<($567>>>0); + if ($568) { + label = 150; + break L125; + } else { + $$0972 = $565;$$0975 = $566; + } + } + break; + } + case 156: { + label = 0; + $591 = $$631372 & 1023; + $592 = (((($0)) + 352|0) + ($591<<1)|0); + $593 = HEAP16[$592>>1]|0; + $594 = $593 << 16 >> 16; + $595 = ($593<<16>>16)>(-1); + if ($595) { + $596 = $594 >> 9; + $597 = $594 & 511; + $$2974 = $596;$$2977 = $597; + } else { + $$1973 = 10;$$1976 = $594; + while(1) { + $598 = $$1976 ^ -1; + $599 = (($$1973) + 1)|0; + $600 = $$631372 >>> $$1973; + $601 = $600 & 1; + $602 = (($601) + ($598))|0; + $603 = (((($0)) + 2400|0) + ($602<<1)|0); + $604 = HEAP16[$603>>1]|0; + $605 = $604 << 16 >> 16; + $606 = ($604<<16>>16)<(0); + if ($606) { + $$1973 = $599;$$1976 = $605; + } else { + $$2974 = $599;$$2977 = $605; + break; + } + } + } + $607 = $$631372 >>> $$2974; + $608 = (($$63) - ($$2974))|0; + $609 = ($$2977>>>0)>(255); + if ($609) { + $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; + label = 176; + } else { + $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; + label = 160; + continue L46; + } + break; + } + case 179: { + label = 0; + $693 = ($$681575>>>0)<($10>>>0); + if ($693) { + $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; + label = 182; + continue L46; + } else { + $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; + label = 180; + continue L46; + } + break; + } + case 184: { + label = 0; + $703 = 1 << $$691272; + $704 = (($703) + -1)|0; + $705 = $704 & $$721381; + $706 = $$721381 >>> $$691272; + $707 = (($$72) - ($$691272))|0; + $708 = (($705) + ($$681165))|0; + $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; + label = 185; + break; + } + case 187: { + label = 0; + $714 = $$741383 & 1023; + $715 = (((($0)) + 3840|0) + ($714<<1)|0); + $716 = HEAP16[$715>>1]|0; + $717 = $716 << 16 >> 16; + $718 = ($716<<16>>16)>(-1); + if ($718) { + $719 = $717 >> 9; + $720 = (($719) + -1)|0; + $721 = ($720>>>0)<($$74>>>0); + if ($721) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } else { + label = 192; + break L125; + } + } + $722 = ($$74>>>0)>(10); + if ($722) { + $$0953 = 10;$$0956 = $717; + } else { + label = 192; + break L125; + } + while(1) { + $723 = $$0956 ^ -1; + $724 = $$741383 >>> $$0953; + $725 = $724 & 1; + $726 = (($725) + ($723))|0; + $727 = (((($0)) + 5888|0) + ($726<<1)|0); + $728 = HEAP16[$727>>1]|0; + $729 = ($728<<16>>16)<(0); + if (!($729)) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } + $730 = (($$0953) + 1)|0; + $731 = $728 << 16 >> 16; + $732 = (($$0953) + 2)|0; + $733 = ($$74>>>0)<($732>>>0); + if ($733) { + label = 192; + break L125; + } else { + $$0953 = $730;$$0956 = $731; + } + } + break; + } + case 198: { + label = 0; + $756 = $$771386 & 1023; + $757 = (((($0)) + 3840|0) + ($756<<1)|0); + $758 = HEAP16[$757>>1]|0; + $759 = $758 << 16 >> 16; + $760 = ($758<<16>>16)>(-1); + if ($760) { + $761 = $759 >> 9; + $762 = $759 & 511; + $$2955 = $761;$$2958 = $762; + } else { + $$1954 = 10;$$1957 = $759; + while(1) { + $763 = $$1957 ^ -1; + $764 = (($$1954) + 1)|0; + $765 = $$771386 >>> $$1954; + $766 = $765 & 1; + $767 = (($766) + ($763))|0; + $768 = (((($0)) + 5888|0) + ($767<<1)|0); + $769 = HEAP16[$768>>1]|0; + $770 = $769 << 16 >> 16; + $771 = ($769<<16>>16)<(0); + if ($771) { + $$1954 = $764;$$1957 = $770; + } else { + $$2955 = $764;$$2958 = $770; + break; + } + } + } + $772 = $$771386 >>> $$2955; + $773 = (($$77) - ($$2955))|0; + $774 = (3368 + ($$2958<<2)|0); + $775 = HEAP32[$774>>2]|0; + $776 = (3496 + ($$2958<<2)|0); + $777 = HEAP32[$776>>2]|0; + $778 = (($$2958) + -4)|0; + $779 = ($778>>>0)<(26); + if ($779) { + $780 = ($773>>>0)<($775>>>0); + if ($780) { + $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; + label = 203; + continue L125; + } else { + $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; + label = 208; + continue L125; + } + } else { + $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; + label = 209; + } + break; + } + case 203: { + label = 0; + $781 = ($$771584>>>0)<($10>>>0); + if ($781) { + $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; + label = 206; + continue L46; + } else { + $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; + label = 204; + continue L46; + } + break; + } + case 208: { + label = 0; + $791 = 1 << $$771280; + $792 = (($791) + -1)|0; + $793 = $792 & $$811390; + $794 = $$811390 >>> $$771280; + $795 = (($$81) - ($$771280))|0; + $796 = (($793) + ($$751066))|0; + $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; + label = 209; + break; + } + case 212: { + label = 0; + $807 = (($$801177) + -1)|0; + $808 = ($$801177|0)==(0); + if ($808) { + $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; + label = 139; + } else { + $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; + label = 213; + continue L46; + } + break; + } + } + do { + if ((label|0) == 70) { + label = 0; + $217 = ((($0)) + 52|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($$381135>>>0)<($218>>>0); + if ($219) { + $220 = ($$39>>>0)<(3); + if ($220) { + $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; + label = 72; + continue L125; + } else { + $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; + label = 77; + continue L125; + } + } else { + HEAP32[$217>>2] = 19; + $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; + label = 80; + continue L125; + } + } + else if ((label|0) == 105) { + label = 0; + $418 = ((($0)) + 44|0); + $419 = HEAP32[$418>>2]|0; + $420 = ((($0)) + 48|0); + $421 = HEAP32[$420>>2]|0; + $422 = (($421) + ($419))|0; + $423 = ($$451142>>>0)<($422>>>0); + if (!($423)) { + $529 = ($422|0)==($$451142|0); + if (!($529)) { + $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; + label = 136; + continue L46; + } + $530 = ((($0)) + 64|0); + $531 = ((($0)) + 10532|0); + _memcpy(($530|0),($531|0),($419|0))|0; + $532 = ((($0)) + 3552|0); + $533 = HEAP32[$418>>2]|0; + $534 = (((($0)) + 10532|0) + ($533)|0); + $535 = HEAP32[$420>>2]|0; + _memcpy(($532|0),($534|0),($535|0))|0; + $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; + label = 138; + break; + } + $424 = ($$46>>>0)<(15); + if (!($424)) { + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; + label = 119; + continue L125; + } + $425 = $10; + $426 = $$451552; + $427 = (($425) - ($426))|0; + $428 = ($427|0)<(2); + if ($428) { + $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; + label = 108; + continue L125; + } + $459 = HEAP8[$$451552>>0]|0; + $460 = $459&255; + $461 = $460 << $$46; + $462 = ((($$451552)) + 1|0); + $463 = HEAP8[$462>>0]|0; + $464 = $463&255; + $465 = (($$46) + 8)|0; + $466 = $464 << $465; + $467 = $461 | $$461355; + $468 = $467 | $466; + $469 = ((($$451552)) + 2|0); + $470 = (($$46) + 16)|0; + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; + label = 119; + continue L125; + } + else if ((label|0) == 176) { + label = 0; + $683 = $$641161 & 511; + $684 = ($683|0)==(256); + if ($684) { + $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; + label = 220; + break L125; + } + $685 = (($683) + -257)|0; + $686 = (3120 + ($685<<2)|0); + $687 = HEAP32[$686>>2]|0; + $688 = (3244 + ($685<<2)|0); + $689 = HEAP32[$688>>2]|0; + $690 = (($683) + -265)|0; + $691 = ($690>>>0)<(20); + if ($691) { + $692 = ($$68>>>0)<($687>>>0); + if ($692) { + $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; + label = 179; + continue L125; + } else { + $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; + label = 184; + continue L125; + } + } else { + $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; + label = 185; + } + } + else if ((label|0) == 209) { + label = 0; + $797 = $$751682; + $798 = $3; + $799 = (($797) - ($798))|0; + $$not = ($799>>>0)>=($$761067>>>0); + $$not1747 = $14 ^ 1; + $brmerge = $$not | $$not1747; + if (!($brmerge)) { + $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; + label = 210; + continue L46; + } + $800 = (($799) - ($$761067))|0; + $801 = $800 & $$1753; + $802 = (($3) + ($801)|0); + $803 = ($$751682>>>0)>($802>>>0); + $804 = $803 ? $$751682 : $802; + $805 = (($804) + ($$781175)|0); + $806 = ($805>>>0)>($12>>>0); + if ($806) { + $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; + label = 212; + continue L125; + } else { + $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; + } + while(1) { + $816 = HEAP8[$$0978>>0]|0; + HEAP8[$$791686>>0] = $816; + $817 = ((($$0978)) + 1|0); + $818 = HEAP8[$817>>0]|0; + $819 = ((($$791686)) + 1|0); + HEAP8[$819>>0] = $818; + $820 = ((($$0978)) + 2|0); + $821 = HEAP8[$820>>0]|0; + $822 = ((($$791686)) + 2|0); + HEAP8[$822>>0] = $821; + $823 = ((($$791686)) + 3|0); + $824 = ((($$0978)) + 3|0); + $825 = (($$821179) + -3)|0; + $826 = ($825|0)>(2); + if ($826) { + $$0978 = $824;$$791686 = $823;$$821179 = $825; + } else { + break; + } + } + $827 = ($825|0)>(0); + if ($827) { + $828 = HEAP8[$824>>0]|0; + HEAP8[$823>>0] = $828; + $829 = ($825|0)==(1); + if (!($829)) { + $830 = ((($$0978)) + 4|0); + $831 = HEAP8[$830>>0]|0; + $832 = ((($$791686)) + 4|0); + HEAP8[$832>>0] = $831; + } + $833 = (($823) + ($825)|0); + $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } else { + $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } + } + } while(0); + if ((label|0) == 138) { + label = 0; + $536 = ((($0)) + 24|0); + $537 = HEAP32[$536>>2]|0; + $538 = (($537) + -1)|0; + HEAP32[$536>>2] = $538; + $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; + label = 80; + continue; + } + else if ((label|0) == 139) { + label = 0; + $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; + label = 140; + continue; + } + else if ((label|0) == 185) { + label = 0; + $709 = ($$73>>>0)<(15); + if (!($709)) { + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; + label = 198; + continue; + } + $710 = $10; + $711 = $$721579; + $712 = (($710) - ($711))|0; + $713 = ($712|0)<(2); + if ($713) { + $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; + label = 187; + continue; + } + $744 = HEAP8[$$721579>>0]|0; + $745 = $744&255; + $746 = $745 << $$73; + $747 = ((($$721579)) + 1|0); + $748 = HEAP8[$747>>0]|0; + $749 = $748&255; + $750 = (($$73) + 8)|0; + $751 = $749 << $750; + $752 = $746 | $$731382; + $753 = $752 | $751; + $754 = ((($$721579)) + 2|0); + $755 = (($$73) + 16)|0; + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; + label = 198; + continue; + } + } + if ((label|0) == 113) { + label = 0; + $449 = ($$461553>>>0)<($10>>>0); + if ($449) { + $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; + label = 116; + continue; + } else { + $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; + label = 114; + continue; + } + } + else if ((label|0) == 150) { + label = 0; + $569 = ($$591566>>>0)<($10>>>0); + if ($569) { + $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; + label = 153; + continue; + } else { + $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; + label = 151; + continue; + } + } + else if ((label|0) == 192) { + label = 0; + $734 = ($$731580>>>0)<($10>>>0); + if ($734) { + $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; + label = 195; + continue; + } else { + $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; + label = 193; + continue; + } + } + else if ((label|0) == 220) { + label = 0; + $834 = ((($0)) + 20|0); + $835 = HEAP32[$834>>2]|0; + $836 = $835 & 1; + $837 = ($836|0)==(0); + if ($837) { + $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; + label = 14; + continue; + } + $838 = $6 & 1; + $839 = ($838|0)==(0); + if ($839) { + $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; + label = 242; + continue; + } else { + $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; + label = 226; + continue; + } + } + } + if ((label|0) == 258) { + STACKTOP = sp;return ($$0951|0); + } + $892 = ((($0)) + 28|0); + $893 = HEAP32[$892>>2]|0; + $894 = $893 & 65535; + $895 = $893 >>> 16; + $896 = ($888|0)==(0); + if ($896) { + $$0937$lcssa = $895;$$0938$lcssa = $894; + } else { + $897 = (($888>>>0) % 5552)&-1; + $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; + while(1) { + $898 = ($$01834>>>0)>(7); + if ($898) { + $899 = (($$01834) + -8)|0; + $900 = $899 & -8; + $scevgep = ((($$09441830)) + 8|0); + $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; + while(1) { + $904 = HEAP8[$$19451815>>0]|0; + $905 = $904&255; + $906 = (($905) + ($$19391817))|0; + $907 = (($906) + ($$11818))|0; + $908 = ((($$19451815)) + 1|0); + $909 = HEAP8[$908>>0]|0; + $910 = $909&255; + $911 = (($906) + ($910))|0; + $912 = (($907) + ($911))|0; + $913 = ((($$19451815)) + 2|0); + $914 = HEAP8[$913>>0]|0; + $915 = $914&255; + $916 = (($911) + ($915))|0; + $917 = (($912) + ($916))|0; + $918 = ((($$19451815)) + 3|0); + $919 = HEAP8[$918>>0]|0; + $920 = $919&255; + $921 = (($916) + ($920))|0; + $922 = (($917) + ($921))|0; + $923 = ((($$19451815)) + 4|0); + $924 = HEAP8[$923>>0]|0; + $925 = $924&255; + $926 = (($921) + ($925))|0; + $927 = (($922) + ($926))|0; + $928 = ((($$19451815)) + 5|0); + $929 = HEAP8[$928>>0]|0; + $930 = $929&255; + $931 = (($926) + ($930))|0; + $932 = (($927) + ($931))|0; + $933 = ((($$19451815)) + 6|0); + $934 = HEAP8[$933>>0]|0; + $935 = $934&255; + $936 = (($931) + ($935))|0; + $937 = (($932) + ($936))|0; + $938 = ((($$19451815)) + 7|0); + $939 = HEAP8[$938>>0]|0; + $940 = $939&255; + $941 = (($936) + ($940))|0; + $942 = (($937) + ($941))|0; + $943 = (($$09411816) + 8)|0; + $944 = ((($$19451815)) + 8|0); + $945 = $943 | 7; + $946 = ($945>>>0)<($$01834>>>0); + if ($946) { + $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; + } else { + break; + } + } + $901 = (($900) + 8)|0; + $scevgep1947 = (($scevgep) + ($900)|0); + $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; + } else { + $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; + } + $902 = ($$01834>>>0)>($$0941$lcssa>>>0); + if ($902) { + $903 = (($$01834) - ($$0941$lcssa))|0; + $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; + while(1) { + $947 = ((($$29461822)) + 1|0); + $948 = HEAP8[$$29461822>>0]|0; + $949 = $948&255; + $950 = (($949) + ($$29401824))|0; + $951 = (($950) + ($$21825))|0; + $952 = (($$19421823) + 1)|0; + $exitcond = ($952|0)==($$01834|0); + if ($exitcond) { + break; + } else { + $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; + } + } + $scevgep1948 = (($$1945$lcssa) + ($903)|0); + $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; + } else { + $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; + } + $953 = (($$2940$lcssa>>>0) % 65521)&-1; + $954 = (($$2$lcssa>>>0) % 65521)&-1; + $955 = (($$09431831) - ($$01834))|0; + $956 = ($955|0)==(0); + if ($956) { + $$0937$lcssa = $954;$$0938$lcssa = $953; + break; + } else { + $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; + } + } + } + $957 = $$0937$lcssa << 16; + $958 = $957 | $$0938$lcssa; + HEAP32[$892>>2] = $958; + $959 = ($$1961|0)!=(0); + $960 = $6 & 1; + $961 = ($960|0)==(0); + $or$cond1752 = $961 | $959; + if ($or$cond1752) { + $$0951 = $$1961; + STACKTOP = sp;return ($$0951|0); + } else { + $962 = ((($0)) + 16|0); + $963 = HEAP32[$962>>2]|0; + $964 = ($958|0)==($963|0); + $$1961$ = $964 ? $$1961 : -2; + STACKTOP = sp;return ($$1961$|0); + } + return (0)|0; +} +function _LoadTexture($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy1 = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$5 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx5 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy1 = sp + 60|0; + $vararg_buffer = sp + 16|0; + $$sroa$5 = sp; + $2 = sp + 20|0; + $3 = sp + 40|0; + _LoadImage($2,$1); + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _TraceLog(2,11064,$vararg_buffer); + $$sroa$0$0 = 0; + } else { + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _LoadTextureFromImage($3,$$byval_copy1); + $$sroa$0$0$copyload = HEAP32[$3>>2]|0; + $$sroa$5$0$$sroa_idx = ((($3)) + 4|0); + ;HEAP32[$$sroa$5>>2]=HEAP32[$$sroa$5$0$$sroa_idx>>2]|0;HEAP32[$$sroa$5+4>>2]=HEAP32[$$sroa$5$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$5+8>>2]=HEAP32[$$sroa$5$0$$sroa_idx+8>>2]|0;HEAP32[$$sroa$5+12>>2]=HEAP32[$$sroa$5$0$$sroa_idx+12>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadImage($$byval_copy1); + $$sroa$0$0 = $$sroa$0$0$copyload; + } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx5 = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx5>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+8>>2]=HEAP32[$$sroa$5+8>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+12>>2]=HEAP32[$$sroa$5+12>>2]|0; + STACKTOP = sp;return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[22448>>2]|0;HEAP32[$0+4>>2]=HEAP32[22448+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[22448+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[22448+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[22448+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[22448+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[22448+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[22448+28>>2]|0; + return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 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; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|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.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.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.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($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, $398 = 0, $399 = 0, $4 = 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, $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; + var $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, $53 = 0, $530 = 0; + var $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, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,11093)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,11097)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,11101)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,11105)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,11111)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,11149)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 11168; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,11181)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 11202; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,11217)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 11232; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,11247)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 11262; + } + } else { + HEAP32[$3>>2] = 11133; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,11277)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,11291)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,11303)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 7; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,11317)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 8; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,11329)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 9; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,11343)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 10; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,11357)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 11; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,11374)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,11397)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,11423)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,11436)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,11452)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,11465)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 12; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,11479)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,11499)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,11519)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,11536)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,11553)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,11565)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 13; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,11578)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 14; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,11594)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,11617)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,11630)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,11646)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,11657)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 15; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,11676)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 16; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,11698)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 17; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,11717)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,11746)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,11763)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,11778)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,11793)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,11814)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,11834)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,11854)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,11880)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,11899)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,11911)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,11923)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,11935)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,11947)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 18; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,11959)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,11971)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,11983)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,11995)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,12008)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,12021)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,12034)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,12047)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,12060)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,12073)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,12086)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,12099)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,12118)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,12137)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,12156)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 19; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,12169)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 20; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,12187)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 21; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,12205)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 22; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,12223)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 23; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,12241)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,12261)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,11202)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,12279)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,12294)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,12315)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,12330)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,12348)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,12364)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,12383)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,12397)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,12412)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,11133)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,12423)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,11232)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 24; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,11262)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 25; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,12439)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,12466)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,12480)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,11168)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,12500)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,12518)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,12530)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,12551)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 26; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,12569)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 27; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,12587)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 28; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,12608)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,12634)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,12657)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,12695)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,12711)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,12726)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,12749)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,12762)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 29; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,12776)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 30; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,12790)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,12810)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,12830)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,12846)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,12864)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,12880)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,12895)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,12917)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 31; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,12935)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 32; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,12956)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,12974)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,12987)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,13002)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,13016)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,13026)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,13036)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,13058)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,13084)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,13111)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,13124)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,13139)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,13154)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,13178)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,13189)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 33; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,13211)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,13233)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,13257)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,13266)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,13274)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,13287)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,13301)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,13313)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,13322)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,13332)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,13344)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,13355)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,13363)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,13375)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,13390)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,13402)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,13416)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,13441)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,13458)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,13474)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,13490)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,13502)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 34; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,13514)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 35; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,13538)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,13551)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,13565)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 36; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,13587)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 37; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,13594)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,13610)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,13627)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,13644)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,13660)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,13676)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,13693)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,13707)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,13719)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,13730)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,13743)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,13753)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,13770)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,13782)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,13804)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,13824)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,13837)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,13859)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,13879)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,13896)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,13913)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,13933)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 38; + break; + } + } else { + HEAP32[$1>>2] = 6; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (24664|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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 + 16|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $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;$26 = $17; + while(1) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _pthread_self() { + var label = 0, sp = 0; + sp = STACKTOP; + return (3624|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|0); +} +function ___stdio_read($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, $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; + 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; + $29 = (($27) + ($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 = ((($27)) + 1|0); + HEAP32[$28>>2] = $33; + $34 = HEAP8[$27>>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 ___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] = 9; + $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 ___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 & 15]($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 _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 _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 _vfprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 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, $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, $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 + 120|0; + $4 = sp + 80|0; + $5 = sp; + $6 = sp + 136|0; + 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 & 15]($0,0,0)|0); + $33 = HEAP32[$26>>2]|0; + $34 = ($33|0)==(0|0); + $$ = $34 ? -1 : $29; + HEAP32[$23>>2] = $24; + HEAP32[$19>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $$1 = $$; + } + } else { + $22 = (_printf_core($0,$1,$3,$5,$4)|0); + $$1 = $22; + } + $35 = HEAP32[$0>>2]|0; + $36 = $35 & 32; + $37 = ($36|0)==(0); + $$1$ = $37 ? $$1 : -1; + $38 = $35 | $14; + HEAP32[$0>>2] = $38; + $39 = ($40|0)==(0); + if (!($39)) { + ___unlockfile($0); + } + $$0 = $$1$; + } + 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, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 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.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, $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 $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 20|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 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; + L1: 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 = HEAP8[$21>>0]|0; + $22 = ($20<<24>>24)==(0); + if ($22) { + label = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $25;$27 = $25; + label = 9; + break L9; + break; + } + case 0: { + $$0249$lcssa = $25;$39 = $25; + break L9; + break; + } + default: { + } + } + $24 = ((($25)) + 1|0); + HEAP32[$5>>2] = $24; + $$pre = HEAP8[$24>>0]|0; + $23 = $$pre;$25 = $24; + } + L12: do { + if ((label|0) == 9) { + while(1) { + label = 0; + $26 = ((($27)) + 1|0); + $28 = HEAP8[$26>>0]|0; + $29 = ($28<<24>>24)==(37); + if (!($29)) { + $$0249$lcssa = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $30;$27 = $31; + label = 9; + } else { + $$0249$lcssa = $30;$39 = $31; + break; + } + } + } + } while(0); + $34 = $$0249$lcssa; + $35 = $21; + $36 = (($34) - ($35))|0; + if ($10) { + _out($0,$21,$36); + } + $37 = ($36|0)==(0); + if (!($37)) { + $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; + continue; + } + $38 = ((($39)) + 1|0); + $40 = HEAP8[$38>>0]|0; + $41 = $40 << 24 >> 24; + $isdigittmp = (($41) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $42 = ((($39)) + 2|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)==(36); + $45 = ((($39)) + 3|0); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } else { + $$0253 = -1;$$1270 = $$0269;$storemerge = $38; + } + HEAP32[$5>>2] = $storemerge; + $46 = HEAP8[$storemerge>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($47) + -32)|0; + $49 = ($48>>>0)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((14049 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 14513;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 14513;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 14513 : (14515); + $$$ = $238 ? $$ : (14514); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 14513;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 14513;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 14523; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 14513;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (14513 + ($208)|0); + $$289 = $or$cond283 ? 14513 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 14513;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; + $$0228$ = $or$cond ? $$0228 : $11; + $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; + } + else if ((label|0) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } else { + $$0 = $$1248; + } + } + } while(0); + STACKTOP = sp;return ($$0|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 _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, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $isdigittmp4 = (($3) + -48)|0; + $isdigit5 = ($isdigittmp4>>>0)<(10); + if ($isdigit5) { + $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; + while(1) { + $4 = ($$06*10)|0; + $5 = (($isdigittmp7) + ($4))|0; + $6 = ((($7)) + 1|0); + HEAP32[$0>>2] = $6; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $isdigittmp = (($9) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; + } else { + $$0$lcssa = $5; + break; + } + } + } else { + $$0$lcssa = 0; + } + 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 = (14565 + ($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, $3 = 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 = (___uremdi3(($8|0),($9|0),10,0)|0); + $11 = tempRet0; + $12 = $10&255; + $13 = $12 | 48; + $14 = ((($$0914)) + -1|0); + HEAP8[$14>>0] = $13; + $15 = (___udivdi3(($8|0),($9|0),10,0)|0); + $16 = tempRet0; + $17 = ($9>>>0)>(9); + $18 = ($8>>>0)>(4294967295); + $19 = ($9|0)==(9); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $$0914 = $14;$8 = $15;$9 = $16; + } else { + break; + } + } + $$010$lcssa$off0 = $15;$$09$lcssa = $14; + } else { + $$010$lcssa$off0 = $0;$$09$lcssa = $2; + } + $22 = ($$010$lcssa$off0|0)==(0); + if ($22) { + $$1$lcssa = $$09$lcssa; + } else { + $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; + while(1) { + $23 = (($$012>>>0) % 10)&-1; + $24 = $23 | 48; + $25 = $24&255; + $26 = ((($$111)) + -1|0); + HEAP8[$26>>0] = $25; + $27 = (($$012>>>0) / 10)&-1; + $28 = ($$012>>>0)<(10); + if ($28) { + $$1$lcssa = $26; + break; + } else { + $$012 = $27;$$111 = $26; + } + } + } + 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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 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 { + $$2 = $$035$lcssa;$$3 = 0; + } + } + L8: do { + if ((label|0) == 6) { + $17 = HEAP8[$$035$lcssa65>>0]|0; + $18 = $1&255; + $19 = ($17<<24>>24)==($18<<24>>24); + if ($19) { + $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; + } else { + $20 = Math_imul($3, 16843009)|0; + $21 = ($$036$lcssa64>>>0)>(3); + L11: 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)) { + break; + } + $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 L11; + } + } + $$140 = $$046;$$23839 = $$13745; + } else { + $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; + label = 11; + } + } while(0); + if ((label|0) == 11) { + $32 = ($$137$lcssa|0)==(0); + if ($32) { + $$2 = $$0$lcssa;$$3 = 0; + break; + } else { + $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + } + } + while(1) { + $33 = HEAP8[$$140>>0]|0; + $34 = ($33<<24>>24)==($18<<24>>24); + if ($34) { + $$2 = $$140;$$3 = $$23839; + break L8; + } + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; + break; + } else { + $$140 = $35;$$23839 = $36; + } + } + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_674($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, $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 = ($9>>>0)<(256); + $11 = $10 ? $9 : 256; + _memset(($5|0),($1|0),($11|0))|0; + $12 = ($9>>>0)>(255); + if ($12) { + $13 = (($2) - ($3))|0; + $$011 = $9; + while(1) { + _out($0,$5,256); + $14 = (($$011) + -256)|0; + $15 = ($14>>>0)>(255); + if ($15) { + $$011 = $14; + } else { + break; + } + } + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; + } + _out($0,$5,$$0$lcssa); + } + STACKTOP = sp;return; +} +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 _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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.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.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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $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.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $387 = 0, $388 = 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.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.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 $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 524|0; + $9 = $8; + $10 = sp + 512|0; + HEAP32[$7>>2] = 0; + $11 = ((($10)) + 12|0); + (___DOUBLE_BITS_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 14530; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (14531) : (14536); + $$$ = $16 ? $$ : (14533); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (14565 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $85 = $84&255; + $86 = ((($$0523)) + 1|0); + HEAP8[$$0523>>0] = $85; + $87 = (+($80|0)); + $88 = $$2473 - $87; + $89 = $88 * 16.0; + $90 = $86; + $91 = (($90) - ($9))|0; + $92 = ($91|0)==(1); + if ($92) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$3501$lcssa; + $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; + } else { + $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; + } + $$7505 = $$7505$ph; + while(1) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,14581,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,14581,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 14549 : 14553; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 14557 : 14561; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($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 _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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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, $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 label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; + while(1) { + $3 = (14583 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; + break; + } + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); + if ($8) { + $$01214 = 14671;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 14671; + } else { + $$01214 = 14671;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$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; + label = 5; + } + } + } + $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 $$ = 0, $$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; + 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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 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); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$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); + $$ = $61 ? $57 : 0; + $$4 = $$; + } 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 $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); +} +function ___fwritex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var 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 & 15]($2,$0,$1)|0); + $$1 = $17; + break; + } + $18 = ((($2)) + 75|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)>(-1); + L10: do { + if ($20) { + $$038 = $1; + while(1) { + $21 = ($$038|0)==(0); + if ($21) { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + break L10; + } + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; + } else { + $$038 = $22; + } + } + $26 = ((($2)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); + $29 = ($28>>>0)<($$038>>>0); + if ($29) { + $$1 = $28; + break L5; + } + $30 = (($0) + ($$038)|0); + $$042 = (($1) - ($$038))|0; + $$pre47 = HEAP32[$9>>2]|0; + $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; + } else { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + } + } while(0); + _memcpy(($31|0),($$141|0),($$143|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($32) + ($$143)|0); + HEAP32[$9>>2] = $33; + $34 = (($$139) + ($$143))|0; + $$1 = $34; + } + } 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 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; + var $21 = 0, $22 = 0, $23 = 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 = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; + } else { + $$01519 = $6;$23 = $7; + } + } + } + } while(0); + if ((label|0) == 4) { + $$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 { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; + } else { + $$pn = $19; + } + } + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|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 ___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) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<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 _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, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 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) { + $$029 = $$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$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___unlist_locked_file($0) { + $0 = $0|0; + var $$pre = 0, $$sink = 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 = ((($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); + $$pre = ((($0)) + 112|0); + if (!($6)) { + $7 = HEAP32[$$pre>>2]|0; + $8 = ((($5)) + 112|0); + HEAP32[$8>>2] = $7; + } + $9 = HEAP32[$$pre>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + $12 = (___pthread_self_607()|0); + $13 = ((($12)) + 232|0); + $$sink = $13; + } else { + $11 = ((($9)) + 116|0); + $$sink = $11; + } + HEAP32[$$sink>>2] = $5; + } + return; +} +function ___pthread_self_607() { + 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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 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; + $memchr = (_memchr(16475,$3,4)|0); + $4 = ($memchr|0)==(0|0); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 22; + $$0 = 0; + } else { + $6 = (___fmodeflags($1)|0); + $7 = $0; + $8 = $6 | 32768; + 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] = 438; + $9 = (___syscall5(5,($vararg_buffer|0))|0); + $10 = (___syscall_ret($9)|0); + $11 = ($10|0)<(0); + if ($11) { + $$0 = 0; + } else { + $12 = $6 & 524288; + $13 = ($12|0)==(0); + if (!($13)) { + HEAP32[$vararg_buffer3>>2] = $10; + $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); + } + $14 = (___fdopen($10,$1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + HEAP32[$vararg_buffer8>>2] = $10; + (___syscall6(6,($vararg_buffer8|0))|0); + $$0 = 0; + } else { + $$0 = $14; + } + } + } + STACKTOP = sp;return ($$0|0); +} +function ___fmodeflags($0) { + $0 = $0|0; + var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 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; + var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_strchr($0,43)|0); + $2 = ($1|0)==(0|0); + $3 = HEAP8[$0>>0]|0; + $not$ = ($3<<24>>24)!=(114); + $$ = $not$&1; + $$0 = $2 ? $$ : 2; + $4 = (_strchr($0,120)|0); + $5 = ($4|0)==(0|0); + $6 = $$0 | 128; + $$0$ = $5 ? $$0 : $6; + $7 = (_strchr($0,101)|0); + $8 = ($7|0)==(0|0); + $9 = $$0$ | 524288; + $$2 = $8 ? $$0$ : $9; + $10 = ($3<<24>>24)==(114); + $11 = $$2 | 64; + $$2$ = $10 ? $$2 : $11; + $12 = ($3<<24>>24)==(119); + $13 = $$2$ | 512; + $$4 = $12 ? $13 : $$2$; + $14 = ($3<<24>>24)==(97); + $15 = $$4 | 1024; + $$$4 = $14 ? $15 : $$4; + return ($$$4|0); +} +function ___fdopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre31 = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $memchr = 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, dest = 0, label = 0, sp = 0, stop = 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; + $memchr = (_memchr(16475,$4,4)|0); + $5 = ($memchr|0)==(0|0); + if ($5) { + $6 = (___errno_location()|0); + HEAP32[$6>>2] = 22; + $$0 = 0; + } else { + $7 = (_malloc(1156)|0); + $8 = ($7|0)==(0|0); + if ($8) { + $$0 = 0; + } else { + dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (_strchr($1,43)|0); + $10 = ($9|0)==(0|0); + if ($10) { + $11 = ($3<<24>>24)==(114); + $12 = $11 ? 8 : 4; + HEAP32[$7>>2] = $12; + } + $13 = (_strchr($1,101)|0); + $14 = ($13|0)==(0|0); + if ($14) { + $16 = $3; + } else { + 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); + $$pre = HEAP8[$1>>0]|0; + $16 = $$pre; + } + $15 = ($16<<24>>24)==(97); + if ($15) { + HEAP32[$vararg_buffer3>>2] = $0; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 3; + $17 = (___syscall221(221,($vararg_buffer3|0))|0); + $18 = $17 & 1024; + $19 = ($18|0)==(0); + if ($19) { + $20 = $17 | 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] = $20; + (___syscall221(221,($vararg_buffer7|0))|0); + } + $21 = HEAP32[$7>>2]|0; + $22 = $21 | 128; + HEAP32[$7>>2] = $22; + $29 = $22; + } else { + $$pre31 = HEAP32[$7>>2]|0; + $29 = $$pre31; + } + $23 = ((($7)) + 60|0); + HEAP32[$23>>2] = $0; + $24 = ((($7)) + 132|0); + $25 = ((($7)) + 44|0); + HEAP32[$25>>2] = $24; + $26 = ((($7)) + 48|0); + HEAP32[$26>>2] = 1024; + $27 = ((($7)) + 75|0); + HEAP8[$27>>0] = -1; + $28 = $29 & 8; + $30 = ($28|0)==(0); + if ($30) { + $31 = $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] = $31; + $32 = (___syscall54(54,($vararg_buffer12|0))|0); + $33 = ($32|0)==(0); + if ($33) { + HEAP8[$27>>0] = 10; + } + } + $34 = ((($7)) + 32|0); + HEAP32[$34>>2] = 10; + $35 = ((($7)) + 36|0); + HEAP32[$35>>2] = 9; + $36 = ((($7)) + 40|0); + HEAP32[$36>>2] = 3; + $37 = ((($7)) + 12|0); + HEAP32[$37>>2] = 2; + $38 = HEAP32[(24668)>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = ((($7)) + 76|0); + HEAP32[$40>>2] = -1; + } + $41 = (___ofl_add($7)|0); + $$0 = $7; + } + } + STACKTOP = sp;return ($$0|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 ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((24728|0)); + return (24736|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((24728|0)); + return; +} +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, $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); + $29 = $4; + } else { + $29 = 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); + if (!($16)) { + $17 = ((($15)) + 52|0); + HEAP32[$17>>2] = $12; + } + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)==($0|0); + if ($19) { + HEAP32[$8>>2] = $15; + } + ___ofl_unlock(); + } + $20 = (_fflush($0)|0); + $21 = ((($0)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); + $24 = $23 | $20; + $25 = ((($0)) + 92|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0|0); + if (!($27)) { + _free($26); + } + if ($7) { + $28 = ($29|0)==(0); + if (!($28)) { + ___unlockfile($0); + } + } else { + _free($0); + } + return ($24|0); +} +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[999]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[999]|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 & 15]($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 & 15]($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 _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 _fseek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___fseeko($0,$1,$2)|0); + return ($3|0); +} +function ___fseeko($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, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $7 = (___lockfile($0)|0); + $phitmp = ($7|0)==(0); + $8 = (___fseeko_unlocked($0,$1,$2)|0); + if ($phitmp) { + $9 = $8; + } else { + ___unlockfile($0); + $9 = $8; + } + } else { + $6 = (___fseeko_unlocked($0,$1,$2)|0); + $9 = $6; + } + return ($9|0); +} +function ___fseeko_unlocked($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$019 = 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, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(1); + if ($3) { + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($1) - ($5))|0; + $9 = (($8) + ($7))|0; + $$019 = $9; + } else { + $$019 = $1; + } + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 28|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>($13>>>0); + if ($14) { + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); + $17 = HEAP32[$10>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + $$0 = -1; + } else { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 5) { + $19 = ((($0)) + 16|0); + HEAP32[$19>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); + $23 = ($22|0)<(0); + if ($23) { + $$0 = -1; + } else { + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$0>>2]|0; + $27 = $26 & -17; + HEAP32[$0>>2] = $27; + $$0 = 0; + } + } + return ($$0|0); +} +function _strstr($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, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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 label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 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, $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, $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, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;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;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strrchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($2) + 1)|0; + $4 = (___memrchr($0,$1,$3)|0); + return ($4|0); +} +function ___memrchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1&255; + $$09 = $2; + while(1) { + $4 = (($$09) + -1)|0; + $5 = ($$09|0)==(0); + if ($5) { + $$0 = 0; + break; + } + $6 = (($0) + ($4)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==($3<<24>>24); + if ($8) { + $$0 = $6; + break; + } else { + $$09 = $4; + } + } + return ($$0|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 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]=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;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 16744; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _rand() { + 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; + $0 = 16744; + $1 = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (($0) + 4)|0; + $4 = $3; + $5 = HEAP32[$4>>2]|0; + $6 = (___muldi3(($2|0),($5|0),1284865837,1481765933)|0); + $7 = tempRet0; + $8 = (_i64Add(($6|0),($7|0),1,0)|0); + $9 = tempRet0; + $10 = 16744; + $11 = $10; + HEAP32[$11>>2] = $8; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = (_bitshift64Lshr(($8|0),($9|0),33)|0); + $15 = tempRet0; + return ($14|0); +} +function _fread($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 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, $41 = 0; + var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = ($1|0)==(0); + $$ = $5 ? 0 : $2; + $6 = ((($3)) + 76|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(-1); + if ($8) { + $9 = (___lockfile($3)|0); + $36 = $9; + } else { + $36 = 0; + } + $10 = ((($3)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ((($3)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($3)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19; + $21 = (($17) - ($20))|0; + $22 = ($21|0)>(0); + $23 = ($21>>>0)<($4>>>0); + $$57 = $23 ? $21 : $4; + if ($22) { + $24 = (($4) - ($$57))|0; + $25 = (($0) + ($$57)|0); + _memcpy(($0|0),($19|0),($$57|0))|0; + $26 = (($19) + ($$57)|0); + HEAP32[$18>>2] = $26; + $$054$ph = $24;$$056$ph = $25; + } else { + $$054$ph = $4;$$056$ph = $0; + } + $27 = ($$054$ph|0)==(0); + L7: do { + if ($27) { + label = 13; + } else { + $28 = ((($3)) + 32|0); + $$05460 = $$054$ph;$$05659 = $$056$ph; + while(1) { + $29 = (___toread($3)|0); + $30 = ($29|0)==(0); + if (!($30)) { + break; + } + $31 = HEAP32[$28>>2]|0; + $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); + $33 = (($32) + 1)|0; + $34 = ($33>>>0)<(2); + if ($34) { + break; + } + $39 = (($$05460) - ($32))|0; + $40 = (($$05659) + ($32)|0); + $41 = ($39|0)==(0); + if ($41) { + label = 13; + break L7; + } else { + $$05460 = $39;$$05659 = $40; + } + } + $35 = ($36|0)==(0); + if (!($35)) { + ___unlockfile($3); + } + $37 = (($4) - ($$05460))|0; + $38 = (($37>>>0) / ($1>>>0))&-1; + $$0 = $38; + } + } while(0); + if ((label|0) == 13) { + $42 = ($36|0)==(0); + if ($42) { + $$0 = $$; + } else { + ___unlockfile($3); + $$0 = $$; + } + } + return ($$0|0); +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[967]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;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;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = HEAP32[6185]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[6185] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[6185] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[6185] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[6185] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 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; + var $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, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $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, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $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, $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, $2 = 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, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $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, $237 = 0; + var $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, $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, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$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[6186]|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 = (24784 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[6186] = $24; + } else { + $25 = HEAP32[(24760)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(24752)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (24784 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[6186] = $77; + $98 = $77; + } else { + $78 = HEAP32[(24760)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(24764)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (24784 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[6186] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(24760)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(24752)>>2] = $84; + HEAP32[(24764)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(24748)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (25048 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(24760)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (25048 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(24748)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(24760)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(24760)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(24760)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(24764)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (24784 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[6186] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(24760)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(24752)>>2] = $$0193$lcssa$i; + HEAP32[(24764)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(24748)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (25048 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (25048 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(24752)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(24760)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (25048 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(24748)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(24760)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(24760)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(24760)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (24784 + ($425<<2)|0); + $427 = HEAP32[6186]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[6186] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(24760)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (25048 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(24748)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(24760)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(24760)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(24752)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(24764)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(24764)>>2] = $511; + HEAP32[(24752)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(24752)>>2] = 0; + HEAP32[(24764)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(24756)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(24756)>>2] = $526; + $527 = HEAP32[(24768)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(24768)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[6304]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(25224)>>2] = 4096; + HEAP32[(25220)>>2] = 4096; + HEAP32[(25228)>>2] = -1; + HEAP32[(25232)>>2] = -1; + HEAP32[(25236)>>2] = 0; + HEAP32[(25188)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[6304] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(25224)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(25184)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(25176)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(25188)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(24768)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (25192); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(25220)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(25176)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(25184)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(25224)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(25188)>>2]|0; + $612 = $611 | 4; + HEAP32[(25188)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(25176)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(25176)>>2] = $627; + $628 = HEAP32[(25180)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(25180)>>2] = $627; + } + $630 = HEAP32[(24768)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(24760)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(24760)>>2] = $$749$i; + } + HEAP32[(25192)>>2] = $$749$i; + HEAP32[(25196)>>2] = $$723948$i; + HEAP32[(25204)>>2] = 0; + $635 = HEAP32[6304]|0; + HEAP32[(24780)>>2] = $635; + HEAP32[(24776)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (24784 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(24768)>>2] = $649; + HEAP32[(24756)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(25232)>>2]|0; + HEAP32[(24772)>>2] = $655; + } else { + $$024371$i = (25192); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(24756)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(24768)>>2] = $679; + HEAP32[(24756)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(25232)>>2]|0; + HEAP32[(24772)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(24760)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(24760)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (25192); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(24756)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(24756)>>2] = $727; + HEAP32[(24768)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(24764)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(24752)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(24752)>>2] = $733; + HEAP32[(24764)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (24784 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[6186]|0; + $760 = $759 & $758; + HEAP32[6186] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (25048 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(24748)>>2]|0; + $803 = $802 & $801; + HEAP32[(24748)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(24760)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(24760)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(24760)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (24784 + ($836<<2)|0); + $838 = HEAP32[6186]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[6186] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(24760)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (25048 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(24748)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(24748)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(24760)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(24760)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (25192); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(24768)>>2] = $946; + HEAP32[(24756)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(25232)>>2]|0; + HEAP32[(24772)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(25192)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(25192)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(25192)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(25192)+12>>2]|0; + HEAP32[(25192)>>2] = $$749$i; + HEAP32[(25196)>>2] = $$723948$i; + HEAP32[(25204)>>2] = 0; + HEAP32[(25200)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (24784 + ($968<<2)|0); + $970 = HEAP32[6186]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[6186] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(24760)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (25048 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(24748)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(24748)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(24760)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(24760)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(24756)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(24756)>>2] = $1050; + $1051 = HEAP32[(24768)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(24768)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $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; + var $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, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(24760)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(24764)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(24752)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (24784 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[6186]|0; + $38 = $37 & $36; + HEAP32[6186] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (25048 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(24748)>>2]|0; + $81 = $80 & $79; + HEAP32[(24748)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(24760)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(24760)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(24760)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(24768)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(24764)>>2]|0; + if ($121) { + $123 = HEAP32[(24756)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(24756)>>2] = $124; + HEAP32[(24768)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(24764)>>2] = 0; + HEAP32[(24752)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(24752)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(24752)>>2] = $130; + HEAP32[(24764)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (24784 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(24760)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[6186]|0; + $154 = $153 & $152; + HEAP32[6186] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(24760)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(24760)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(24760)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (25048 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(24748)>>2]|0; + $200 = $199 & $198; + HEAP32[(24748)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(24760)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(24760)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(24760)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(24764)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(24752)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (24784 + ($234<<2)|0); + $236 = HEAP32[6186]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[6186] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(24760)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (25048 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(24748)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(24748)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(24760)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(24760)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(24776)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(24776)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (25200); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(24776)>>2] = -1; + return; +} +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 $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 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, $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, $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 $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & -8; + $5 = (($0) + ($4)|0); + $6 = HEAP32[(24760)>>2]|0; + $7 = $3 & 3; + $notlhs = ($0>>>0)>=($6>>>0); + $notrhs = ($7|0)!=(1); + $or$cond$not = $notrhs & $notlhs; + $8 = ($0>>>0)<($5>>>0); + $or$cond3 = $or$cond$not & $8; + if (!($or$cond3)) { + _abort(); + // unreachable; + } + $9 = ((($5)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 & 1; + $12 = ($11|0)==(0); + if ($12) { + _abort(); + // unreachable; + } + $13 = ($7|0)==(0); + if ($13) { + $14 = ($1>>>0)<(256); + if ($14) { + $$2 = 0; + return ($$2|0); + } + $15 = (($1) + 4)|0; + $16 = ($4>>>0)<($15>>>0); + if (!($16)) { + $17 = (($4) - ($1))|0; + $18 = HEAP32[(25224)>>2]|0; + $19 = $18 << 1; + $20 = ($17>>>0)>($19>>>0); + if (!($20)) { + $$2 = $0; + return ($$2|0); + } + } + $$2 = 0; + return ($$2|0); + } + $21 = ($4>>>0)<($1>>>0); + if (!($21)) { + $22 = (($4) - ($1))|0; + $23 = ($22>>>0)>(15); + if (!($23)) { + $$2 = $0; + return ($$2|0); + } + $24 = (($0) + ($1)|0); + $25 = $3 & 1; + $26 = $25 | $1; + $27 = $26 | 2; + HEAP32[$2>>2] = $27; + $28 = ((($24)) + 4|0); + $29 = $22 | 3; + HEAP32[$28>>2] = $29; + $30 = (($24) + ($22)|0); + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32 | 1; + HEAP32[$31>>2] = $33; + _dispose_chunk($24,$22); + $$2 = $0; + return ($$2|0); + } + $34 = HEAP32[(24768)>>2]|0; + $35 = ($5|0)==($34|0); + if ($35) { + $36 = HEAP32[(24756)>>2]|0; + $37 = (($36) + ($4))|0; + $38 = ($37>>>0)>($1>>>0); + $39 = (($37) - ($1))|0; + $40 = (($0) + ($1)|0); + if (!($38)) { + $$2 = 0; + return ($$2|0); + } + $41 = $39 | 1; + $42 = ((($40)) + 4|0); + $43 = $3 & 1; + $44 = $43 | $1; + $45 = $44 | 2; + HEAP32[$2>>2] = $45; + HEAP32[$42>>2] = $41; + HEAP32[(24768)>>2] = $40; + HEAP32[(24756)>>2] = $39; + $$2 = $0; + return ($$2|0); + } + $46 = HEAP32[(24764)>>2]|0; + $47 = ($5|0)==($46|0); + if ($47) { + $48 = HEAP32[(24752)>>2]|0; + $49 = (($48) + ($4))|0; + $50 = ($49>>>0)<($1>>>0); + if ($50) { + $$2 = 0; + return ($$2|0); + } + $51 = (($49) - ($1))|0; + $52 = ($51>>>0)>(15); + $53 = $3 & 1; + if ($52) { + $54 = (($0) + ($1)|0); + $55 = (($54) + ($51)|0); + $56 = $53 | $1; + $57 = $56 | 2; + HEAP32[$2>>2] = $57; + $58 = ((($54)) + 4|0); + $59 = $51 | 1; + HEAP32[$58>>2] = $59; + HEAP32[$55>>2] = $51; + $60 = ((($55)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = $61 & -2; + HEAP32[$60>>2] = $62; + $storemerge = $54;$storemerge1 = $51; + } else { + $63 = $53 | $49; + $64 = $63 | 2; + HEAP32[$2>>2] = $64; + $65 = (($0) + ($49)|0); + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = $67 | 1; + HEAP32[$66>>2] = $68; + $storemerge = 0;$storemerge1 = 0; + } + HEAP32[(24752)>>2] = $storemerge1; + HEAP32[(24764)>>2] = $storemerge; + $$2 = $0; + return ($$2|0); + } + $69 = $10 & 2; + $70 = ($69|0)==(0); + if (!($70)) { + $$2 = 0; + return ($$2|0); + } + $71 = $10 & -8; + $72 = (($71) + ($4))|0; + $73 = ($72>>>0)<($1>>>0); + if ($73) { + $$2 = 0; + return ($$2|0); + } + $74 = (($72) - ($1))|0; + $75 = $10 >>> 3; + $76 = ($10>>>0)<(256); + L49: do { + if ($76) { + $77 = ((($5)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = ((($5)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = $75 << 1; + $82 = (24784 + ($81<<2)|0); + $83 = ($78|0)==($82|0); + if (!($83)) { + $84 = ($78>>>0)<($6>>>0); + if ($84) { + _abort(); + // unreachable; + } + $85 = ((($78)) + 12|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)==($5|0); + if (!($87)) { + _abort(); + // unreachable; + } + } + $88 = ($80|0)==($78|0); + if ($88) { + $89 = 1 << $75; + $90 = $89 ^ -1; + $91 = HEAP32[6186]|0; + $92 = $91 & $90; + HEAP32[6186] = $92; + break; + } + $93 = ($80|0)==($82|0); + if ($93) { + $$pre = ((($80)) + 8|0); + $$pre$phiZ2D = $$pre; + } else { + $94 = ($80>>>0)<($6>>>0); + if ($94) { + _abort(); + // unreachable; + } + $95 = ((($80)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)==($5|0); + if ($97) { + $$pre$phiZ2D = $95; + } else { + _abort(); + // unreachable; + } + } + $98 = ((($78)) + 12|0); + HEAP32[$98>>2] = $80; + HEAP32[$$pre$phiZ2D>>2] = $78; + } else { + $99 = ((($5)) + 24|0); + $100 = HEAP32[$99>>2]|0; + $101 = ((($5)) + 12|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)==($5|0); + do { + if ($103) { + $113 = ((($5)) + 16|0); + $114 = ((($113)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)==(0|0); + if ($116) { + $117 = HEAP32[$113>>2]|0; + $118 = ($117|0)==(0|0); + if ($118) { + $$3 = 0; + break; + } else { + $$1272 = $117;$$1275 = $113; + } + } else { + $$1272 = $115;$$1275 = $114; + } + while(1) { + $119 = ((($$1272)) + 20|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + $$1272 = $120;$$1275 = $119; + continue; + } + $122 = ((($$1272)) + 16|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)==(0|0); + if ($124) { + break; + } else { + $$1272 = $123;$$1275 = $122; + } + } + $125 = ($$1275>>>0)<($6>>>0); + if ($125) { + _abort(); + // unreachable; + } else { + HEAP32[$$1275>>2] = 0; + $$3 = $$1272; + break; + } + } else { + $104 = ((($5)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105>>>0)<($6>>>0); + if ($106) { + _abort(); + // unreachable; + } + $107 = ((($105)) + 12|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)==($5|0); + if (!($109)) { + _abort(); + // unreachable; + } + $110 = ((($102)) + 8|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)==($5|0); + if ($112) { + HEAP32[$107>>2] = $102; + HEAP32[$110>>2] = $105; + $$3 = $102; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $126 = ($100|0)==(0|0); + if (!($126)) { + $127 = ((($5)) + 28|0); + $128 = HEAP32[$127>>2]|0; + $129 = (25048 + ($128<<2)|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($5|0)==($130|0); + do { + if ($131) { + HEAP32[$129>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $132 = 1 << $128; + $133 = $132 ^ -1; + $134 = HEAP32[(24748)>>2]|0; + $135 = $134 & $133; + HEAP32[(24748)>>2] = $135; + break L49; + } + } else { + $136 = HEAP32[(24760)>>2]|0; + $137 = ($100>>>0)<($136>>>0); + if ($137) { + _abort(); + // unreachable; + } else { + $138 = ((($100)) + 16|0); + $139 = HEAP32[$138>>2]|0; + $not$ = ($139|0)!=($5|0); + $$sink1 = $not$&1; + $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); + HEAP32[$140>>2] = $$3; + $141 = ($$3|0)==(0|0); + if ($141) { + break L49; + } else { + break; + } + } + } + } while(0); + $142 = HEAP32[(24760)>>2]|0; + $143 = ($$3>>>0)<($142>>>0); + if ($143) { + _abort(); + // unreachable; + } + $144 = ((($$3)) + 24|0); + HEAP32[$144>>2] = $100; + $145 = ((($5)) + 16|0); + $146 = HEAP32[$145>>2]|0; + $147 = ($146|0)==(0|0); + do { + if (!($147)) { + $148 = ($146>>>0)<($142>>>0); + if ($148) { + _abort(); + // unreachable; + } else { + $149 = ((($$3)) + 16|0); + HEAP32[$149>>2] = $146; + $150 = ((($146)) + 24|0); + HEAP32[$150>>2] = $$3; + break; + } + } + } while(0); + $151 = ((($145)) + 4|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)==(0|0); + if (!($153)) { + $154 = HEAP32[(24760)>>2]|0; + $155 = ($152>>>0)<($154>>>0); + if ($155) { + _abort(); + // unreachable; + } else { + $156 = ((($$3)) + 20|0); + HEAP32[$156>>2] = $152; + $157 = ((($152)) + 24|0); + HEAP32[$157>>2] = $$3; + break; + } + } + } + } + } while(0); + $158 = ($74>>>0)<(16); + $159 = $3 & 1; + if ($158) { + $160 = $72 | $159; + $161 = $160 | 2; + HEAP32[$2>>2] = $161; + $162 = (($0) + ($72)|0); + $163 = ((($162)) + 4|0); + $164 = HEAP32[$163>>2]|0; + $165 = $164 | 1; + HEAP32[$163>>2] = $165; + $$2 = $0; + return ($$2|0); + } else { + $166 = (($0) + ($1)|0); + $167 = $159 | $1; + $168 = $167 | 2; + HEAP32[$2>>2] = $168; + $169 = ((($166)) + 4|0); + $170 = $74 | 3; + HEAP32[$169>>2] = $170; + $171 = (($166) + ($74)|0); + $172 = ((($171)) + 4|0); + $173 = HEAP32[$172>>2]|0; + $174 = $173 | 1; + HEAP32[$172>>2] = $174; + _dispose_chunk($166,$74); + $$2 = $0; + return ($$2|0); + } + return (0)|0; +} +function _dispose_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; + var $$sink4 = 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, $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, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 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); + L1: 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[(24760)>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + _abort(); + // unreachable; + } + $15 = HEAP32[(24764)>>2]|0; + $16 = ($11|0)==($15|0); + if ($16) { + $100 = ((($2)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = $101 & 3; + $103 = ($102|0)==(3); + if (!($103)) { + $$1 = $11;$$1418 = $12; + break; + } + $104 = (($11) + ($12)|0); + $105 = ((($11)) + 4|0); + $106 = $12 | 1; + $107 = $101 & -2; + HEAP32[(24752)>>2] = $12; + HEAP32[$100>>2] = $107; + HEAP32[$105>>2] = $106; + HEAP32[$104>>2] = $12; + return; + } + $17 = $7 >>> 3; + $18 = ($7>>>0)<(256); + if ($18) { + $19 = ((($11)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($11)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = $17 << 1; + $24 = (24784 + ($23<<2)|0); + $25 = ($20|0)==($24|0); + if (!($25)) { + $26 = ($20>>>0)<($13>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($11|0); + if (!($29)) { + _abort(); + // unreachable; + } + } + $30 = ($22|0)==($20|0); + if ($30) { + $31 = 1 << $17; + $32 = $31 ^ -1; + $33 = HEAP32[6186]|0; + $34 = $33 & $32; + HEAP32[6186] = $34; + $$1 = $11;$$1418 = $12; + break; + } + $35 = ($22|0)==($24|0); + if ($35) { + $$pre25 = ((($22)) + 8|0); + $$pre$phi26Z2D = $$pre25; + } else { + $36 = ($22>>>0)<($13>>>0); + if ($36) { + _abort(); + // unreachable; + } + $37 = ((($22)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==($11|0); + if ($39) { + $$pre$phi26Z2D = $37; + } else { + _abort(); + // unreachable; + } + } + $40 = ((($20)) + 12|0); + HEAP32[$40>>2] = $22; + HEAP32[$$pre$phi26Z2D>>2] = $20; + $$1 = $11;$$1418 = $12; + break; + } + $41 = ((($11)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($11)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==($11|0); + do { + if ($45) { + $55 = ((($11)) + 16|0); + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + $59 = HEAP32[$55>>2]|0; + $60 = ($59|0)==(0|0); + if ($60) { + $$3 = 0; + break; + } else { + $$1426 = $59;$$1429 = $55; + } + } else { + $$1426 = $57;$$1429 = $56; + } + while(1) { + $61 = ((($$1426)) + 20|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(0|0); + if (!($63)) { + $$1426 = $62;$$1429 = $61; + continue; + } + $64 = ((($$1426)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if ($66) { + break; + } else { + $$1426 = $65;$$1429 = $64; + } + } + $67 = ($$1429>>>0)<($13>>>0); + if ($67) { + _abort(); + // unreachable; + } else { + HEAP32[$$1429>>2] = 0; + $$3 = $$1426; + break; + } + } else { + $46 = ((($11)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47>>>0)<($13>>>0); + if ($48) { + _abort(); + // unreachable; + } + $49 = ((($47)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==($11|0); + if (!($51)) { + _abort(); + // unreachable; + } + $52 = ((($44)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($11|0); + if ($54) { + HEAP32[$49>>2] = $44; + HEAP32[$52>>2] = $47; + $$3 = $44; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $68 = ($42|0)==(0|0); + if ($68) { + $$1 = $11;$$1418 = $12; + } else { + $69 = ((($11)) + 28|0); + $70 = HEAP32[$69>>2]|0; + $71 = (25048 + ($70<<2)|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($11|0)==($72|0); + do { + if ($73) { + HEAP32[$71>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $74 = 1 << $70; + $75 = $74 ^ -1; + $76 = HEAP32[(24748)>>2]|0; + $77 = $76 & $75; + HEAP32[(24748)>>2] = $77; + $$1 = $11;$$1418 = $12; + break L1; + } + } else { + $78 = HEAP32[(24760)>>2]|0; + $79 = ($42>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } else { + $80 = ((($42)) + 16|0); + $81 = HEAP32[$80>>2]|0; + $not$1 = ($81|0)!=($11|0); + $$sink2 = $not$1&1; + $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); + HEAP32[$82>>2] = $$3; + $83 = ($$3|0)==(0|0); + if ($83) { + $$1 = $11;$$1418 = $12; + break L1; + } else { + break; + } + } + } + } while(0); + $84 = HEAP32[(24760)>>2]|0; + $85 = ($$3>>>0)<($84>>>0); + if ($85) { + _abort(); + // unreachable; + } + $86 = ((($$3)) + 24|0); + HEAP32[$86>>2] = $42; + $87 = ((($11)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)==(0|0); + do { + if (!($89)) { + $90 = ($88>>>0)<($84>>>0); + if ($90) { + _abort(); + // unreachable; + } else { + $91 = ((($$3)) + 16|0); + HEAP32[$91>>2] = $88; + $92 = ((($88)) + 24|0); + HEAP32[$92>>2] = $$3; + break; + } + } + } while(0); + $93 = ((($87)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)==(0|0); + if ($95) { + $$1 = $11;$$1418 = $12; + } else { + $96 = HEAP32[(24760)>>2]|0; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + _abort(); + // unreachable; + } else { + $98 = ((($$3)) + 20|0); + HEAP32[$98>>2] = $94; + $99 = ((($94)) + 24|0); + HEAP32[$99>>2] = $$3; + $$1 = $11;$$1418 = $12; + break; + } + } + } + } else { + $$1 = $0;$$1418 = $1; + } + } while(0); + $108 = HEAP32[(24760)>>2]|0; + $109 = ($2>>>0)<($108>>>0); + if ($109) { + _abort(); + // unreachable; + } + $110 = ((($2)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = $111 & 2; + $113 = ($112|0)==(0); + if ($113) { + $114 = HEAP32[(24768)>>2]|0; + $115 = ($2|0)==($114|0); + $116 = HEAP32[(24764)>>2]|0; + if ($115) { + $117 = HEAP32[(24756)>>2]|0; + $118 = (($117) + ($$1418))|0; + HEAP32[(24756)>>2] = $118; + HEAP32[(24768)>>2] = $$1; + $119 = $118 | 1; + $120 = ((($$1)) + 4|0); + HEAP32[$120>>2] = $119; + $121 = ($$1|0)==($116|0); + if (!($121)) { + return; + } + HEAP32[(24764)>>2] = 0; + HEAP32[(24752)>>2] = 0; + return; + } + $122 = ($2|0)==($116|0); + if ($122) { + $123 = HEAP32[(24752)>>2]|0; + $124 = (($123) + ($$1418))|0; + HEAP32[(24752)>>2] = $124; + HEAP32[(24764)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = (($$1) + ($124)|0); + HEAP32[$127>>2] = $124; + return; + } + $128 = $111 & -8; + $129 = (($128) + ($$1418))|0; + $130 = $111 >>> 3; + $131 = ($111>>>0)<(256); + L96: do { + if ($131) { + $132 = ((($2)) + 8|0); + $133 = HEAP32[$132>>2]|0; + $134 = ((($2)) + 12|0); + $135 = HEAP32[$134>>2]|0; + $136 = $130 << 1; + $137 = (24784 + ($136<<2)|0); + $138 = ($133|0)==($137|0); + if (!($138)) { + $139 = ($133>>>0)<($108>>>0); + if ($139) { + _abort(); + // unreachable; + } + $140 = ((($133)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)==($2|0); + if (!($142)) { + _abort(); + // unreachable; + } + } + $143 = ($135|0)==($133|0); + if ($143) { + $144 = 1 << $130; + $145 = $144 ^ -1; + $146 = HEAP32[6186]|0; + $147 = $146 & $145; + HEAP32[6186] = $147; + break; + } + $148 = ($135|0)==($137|0); + if ($148) { + $$pre23 = ((($135)) + 8|0); + $$pre$phi24Z2D = $$pre23; + } else { + $149 = ($135>>>0)<($108>>>0); + if ($149) { + _abort(); + // unreachable; + } + $150 = ((($135)) + 8|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)==($2|0); + if ($152) { + $$pre$phi24Z2D = $150; + } else { + _abort(); + // unreachable; + } + } + $153 = ((($133)) + 12|0); + HEAP32[$153>>2] = $135; + HEAP32[$$pre$phi24Z2D>>2] = $133; + } else { + $154 = ((($2)) + 24|0); + $155 = HEAP32[$154>>2]|0; + $156 = ((($2)) + 12|0); + $157 = HEAP32[$156>>2]|0; + $158 = ($157|0)==($2|0); + do { + if ($158) { + $168 = ((($2)) + 16|0); + $169 = ((($168)) + 4|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $172 = HEAP32[$168>>2]|0; + $173 = ($172|0)==(0|0); + if ($173) { + $$3435 = 0; + break; + } else { + $$1433 = $172;$$1437 = $168; + } + } else { + $$1433 = $170;$$1437 = $169; + } + while(1) { + $174 = ((($$1433)) + 20|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==(0|0); + if (!($176)) { + $$1433 = $175;$$1437 = $174; + continue; + } + $177 = ((($$1433)) + 16|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($178|0)==(0|0); + if ($179) { + break; + } else { + $$1433 = $178;$$1437 = $177; + } + } + $180 = ($$1437>>>0)<($108>>>0); + if ($180) { + _abort(); + // unreachable; + } else { + HEAP32[$$1437>>2] = 0; + $$3435 = $$1433; + break; + } + } else { + $159 = ((($2)) + 8|0); + $160 = HEAP32[$159>>2]|0; + $161 = ($160>>>0)<($108>>>0); + if ($161) { + _abort(); + // unreachable; + } + $162 = ((($160)) + 12|0); + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)==($2|0); + if (!($164)) { + _abort(); + // unreachable; + } + $165 = ((($157)) + 8|0); + $166 = HEAP32[$165>>2]|0; + $167 = ($166|0)==($2|0); + if ($167) { + HEAP32[$162>>2] = $157; + HEAP32[$165>>2] = $160; + $$3435 = $157; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $181 = ($155|0)==(0|0); + if (!($181)) { + $182 = ((($2)) + 28|0); + $183 = HEAP32[$182>>2]|0; + $184 = (25048 + ($183<<2)|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($2|0)==($185|0); + do { + if ($186) { + HEAP32[$184>>2] = $$3435; + $cond17 = ($$3435|0)==(0|0); + if ($cond17) { + $187 = 1 << $183; + $188 = $187 ^ -1; + $189 = HEAP32[(24748)>>2]|0; + $190 = $189 & $188; + HEAP32[(24748)>>2] = $190; + break L96; + } + } else { + $191 = HEAP32[(24760)>>2]|0; + $192 = ($155>>>0)<($191>>>0); + if ($192) { + _abort(); + // unreachable; + } else { + $193 = ((($155)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $not$ = ($194|0)!=($2|0); + $$sink4 = $not$&1; + $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); + HEAP32[$195>>2] = $$3435; + $196 = ($$3435|0)==(0|0); + if ($196) { + break L96; + } else { + break; + } + } + } + } while(0); + $197 = HEAP32[(24760)>>2]|0; + $198 = ($$3435>>>0)<($197>>>0); + if ($198) { + _abort(); + // unreachable; + } + $199 = ((($$3435)) + 24|0); + HEAP32[$199>>2] = $155; + $200 = ((($2)) + 16|0); + $201 = HEAP32[$200>>2]|0; + $202 = ($201|0)==(0|0); + do { + if (!($202)) { + $203 = ($201>>>0)<($197>>>0); + if ($203) { + _abort(); + // unreachable; + } else { + $204 = ((($$3435)) + 16|0); + HEAP32[$204>>2] = $201; + $205 = ((($201)) + 24|0); + HEAP32[$205>>2] = $$3435; + break; + } + } + } while(0); + $206 = ((($200)) + 4|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($207|0)==(0|0); + if (!($208)) { + $209 = HEAP32[(24760)>>2]|0; + $210 = ($207>>>0)<($209>>>0); + if ($210) { + _abort(); + // unreachable; + } else { + $211 = ((($$3435)) + 20|0); + HEAP32[$211>>2] = $207; + $212 = ((($207)) + 24|0); + HEAP32[$212>>2] = $$3435; + break; + } + } + } + } + } while(0); + $213 = $129 | 1; + $214 = ((($$1)) + 4|0); + HEAP32[$214>>2] = $213; + $215 = (($$1) + ($129)|0); + HEAP32[$215>>2] = $129; + $216 = HEAP32[(24764)>>2]|0; + $217 = ($$1|0)==($216|0); + if ($217) { + HEAP32[(24752)>>2] = $129; + return; + } else { + $$2 = $129; + } + } else { + $218 = $111 & -2; + HEAP32[$110>>2] = $218; + $219 = $$1418 | 1; + $220 = ((($$1)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$1) + ($$1418)|0); + HEAP32[$221>>2] = $$1418; + $$2 = $$1418; + } + $222 = $$2 >>> 3; + $223 = ($$2>>>0)<(256); + if ($223) { + $224 = $222 << 1; + $225 = (24784 + ($224<<2)|0); + $226 = HEAP32[6186]|0; + $227 = 1 << $222; + $228 = $226 & $227; + $229 = ($228|0)==(0); + if ($229) { + $230 = $226 | $227; + HEAP32[6186] = $230; + $$pre = ((($225)) + 8|0); + $$0438 = $225;$$pre$phiZ2D = $$pre; + } else { + $231 = ((($225)) + 8|0); + $232 = HEAP32[$231>>2]|0; + $233 = HEAP32[(24760)>>2]|0; + $234 = ($232>>>0)<($233>>>0); + if ($234) { + _abort(); + // unreachable; + } else { + $$0438 = $232;$$pre$phiZ2D = $231; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $235 = ((($$0438)) + 12|0); + HEAP32[$235>>2] = $$1; + $236 = ((($$1)) + 8|0); + HEAP32[$236>>2] = $$0438; + $237 = ((($$1)) + 12|0); + HEAP32[$237>>2] = $225; + return; + } + $238 = $$2 >>> 8; + $239 = ($238|0)==(0); + if ($239) { + $$0431 = 0; + } else { + $240 = ($$2>>>0)>(16777215); + if ($240) { + $$0431 = 31; + } else { + $241 = (($238) + 1048320)|0; + $242 = $241 >>> 16; + $243 = $242 & 8; + $244 = $238 << $243; + $245 = (($244) + 520192)|0; + $246 = $245 >>> 16; + $247 = $246 & 4; + $248 = $247 | $243; + $249 = $244 << $247; + $250 = (($249) + 245760)|0; + $251 = $250 >>> 16; + $252 = $251 & 2; + $253 = $248 | $252; + $254 = (14 - ($253))|0; + $255 = $249 << $252; + $256 = $255 >>> 15; + $257 = (($254) + ($256))|0; + $258 = $257 << 1; + $259 = (($257) + 7)|0; + $260 = $$2 >>> $259; + $261 = $260 & 1; + $262 = $261 | $258; + $$0431 = $262; + } + } + $263 = (25048 + ($$0431<<2)|0); + $264 = ((($$1)) + 28|0); + HEAP32[$264>>2] = $$0431; + $265 = ((($$1)) + 16|0); + $266 = ((($$1)) + 20|0); + HEAP32[$266>>2] = 0; + HEAP32[$265>>2] = 0; + $267 = HEAP32[(24748)>>2]|0; + $268 = 1 << $$0431; + $269 = $267 & $268; + $270 = ($269|0)==(0); + if ($270) { + $271 = $267 | $268; + HEAP32[(24748)>>2] = $271; + HEAP32[$263>>2] = $$1; + $272 = ((($$1)) + 24|0); + HEAP32[$272>>2] = $263; + $273 = ((($$1)) + 12|0); + HEAP32[$273>>2] = $$1; + $274 = ((($$1)) + 8|0); + HEAP32[$274>>2] = $$1; + return; + } + $275 = HEAP32[$263>>2]|0; + $276 = ($$0431|0)==(31); + $277 = $$0431 >>> 1; + $278 = (25 - ($277))|0; + $279 = $276 ? 0 : $278; + $280 = $$2 << $279; + $$0419 = $280;$$0420 = $275; + while(1) { + $281 = ((($$0420)) + 4|0); + $282 = HEAP32[$281>>2]|0; + $283 = $282 & -8; + $284 = ($283|0)==($$2|0); + if ($284) { + label = 121; + break; + } + $285 = $$0419 >>> 31; + $286 = (((($$0420)) + 16|0) + ($285<<2)|0); + $287 = $$0419 << 1; + $288 = HEAP32[$286>>2]|0; + $289 = ($288|0)==(0|0); + if ($289) { + label = 118; + break; + } else { + $$0419 = $287;$$0420 = $288; + } + } + if ((label|0) == 118) { + $290 = HEAP32[(24760)>>2]|0; + $291 = ($286>>>0)<($290>>>0); + if ($291) { + _abort(); + // unreachable; + } + HEAP32[$286>>2] = $$1; + $292 = ((($$1)) + 24|0); + HEAP32[$292>>2] = $$0420; + $293 = ((($$1)) + 12|0); + HEAP32[$293>>2] = $$1; + $294 = ((($$1)) + 8|0); + HEAP32[$294>>2] = $$1; + return; + } + else if ((label|0) == 121) { + $295 = ((($$0420)) + 8|0); + $296 = HEAP32[$295>>2]|0; + $297 = HEAP32[(24760)>>2]|0; + $298 = ($296>>>0)>=($297>>>0); + $not$19 = ($$0420>>>0)>=($297>>>0); + $299 = $298 & $not$19; + if (!($299)) { + _abort(); + // unreachable; + } + $300 = ((($296)) + 12|0); + HEAP32[$300>>2] = $$1; + HEAP32[$295>>2] = $$1; + $301 = ((($$1)) + 8|0); + HEAP32[$301>>2] = $296; + $302 = ((($$1)) + 12|0); + HEAP32[$302>>2] = $$0420; + $303 = ((($$1)) + 24|0); + HEAP32[$303>>2] = 0; + return; + } +} +function runPostSets() { +} +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 _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 _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 ___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 _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 _llvm_cttz_i32(x) { + x = x|0; + var ret = 0; + ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0); + if ((ret|0) < 8) return ret|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 8)|0; + ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); + if ((ret|0) < 8) return (ret + 16)|0; + return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +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 _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|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) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|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 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&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](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_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|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&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +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&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +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); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,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_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.apply(null, arguments); +}; + +var real__main = asm["_main"]; asm["_main"] = 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__main.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 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_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__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__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__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__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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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_GetProcAddress.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____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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.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_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__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__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +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 +} + +Module['callMain'] = Module.callMain = function callMain(args) { + assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)'); + assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); + + args = args || []; + + ensureInitRuntime(); + + var argc = args.length+1; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + try { + + var ret = Module['_main'](argc, argv, 0); + + + // if we're not running an evented main loop, it's time to exit + exit(ret, /* implicit = */ true); + } + catch(e) { + if (e instanceof ExitStatus) { + // exit() throws this once it's done to make sure execution + // has been stopped completely + return; + } else if (e == 'SimulateInfiniteLoop') { + // running an evented main loop, don't immediately exit + Module['noExitRuntime'] = true; + return; + } else { + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); + } + } finally { + calledMain = true; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + if (Module['_main'] && shouldRunNow) Module['callMain'](args); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + checkStackCookie(); +} +Module['run'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); + } else { + + ABORT = true; + EXITSTATUS = status; + STACKTOP = initialStackTop; + + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } + + if (ENVIRONMENT_IS_NODE) { + process['exit'](status); + } + Module['quit'](status, new ExitStatus(status)); +} +Module['exit'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(what) { + if (what !== undefined) { + Module.print(what); + Module.printErr(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'] = Module.abort = abort; + +// {{PRE_RUN_ADDITIONS}} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + +// shouldRunNow refers to calling main(), not run(). +var shouldRunNow = true; +if (Module['noInitialRun']) { + shouldRunNow = false; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/img/textures/textures_particles_trail_blending.png b/docs/examples/web/textures/textures_particles_blending.png similarity index 100% rename from docs/examples/img/textures/textures_particles_trail_blending.png rename to docs/examples/web/textures/textures_particles_blending.png diff --git a/docs/examples/web/textures/textures_raw_data.c b/docs/examples/web/textures/textures_raw_data.c index 90a67cd65..f06c798bb 100644 --- a/docs/examples/web/textures/textures_raw_data.c +++ b/docs/examples/web/textures/textures_raw_data.c @@ -25,7 +25,7 @@ int screenWidth = 800; int screenHeight = 450; -Texture2D sonic; +Texture2D fudesumi; Texture2D checked; //---------------------------------------------------------------------------------- @@ -43,9 +43,9 @@ int main() InitWindow(screenWidth, screenHeight, "raylib [textures] example - texture from raw data"); // Load RAW image data (512x512, 32bit RGBA, no file header) - Image sonicRaw = LoadImageRaw("resources/texture_formats/sonic_R8G8B8A8.raw", 512, 512, UNCOMPRESSED_R8G8B8A8, 0); - sonic = LoadTextureFromImage(sonicRaw); // Upload CPU (RAM) image to GPU (VRAM) - UnloadImage(sonicRaw); // Unload CPU (RAM) image data + Image fudesumiRaw = LoadImageRaw("resources/fudesumi.raw", 384, 512, UNCOMPRESSED_R8G8B8A8, 0); + fudesumi = LoadTextureFromImage(fudesumiRaw); // Upload CPU (RAM) image to GPU (VRAM) + UnloadImage(fudesumiRaw); // Unload CPU (RAM) image data // Generate a checked texture by code (1024x1024 pixels) int width = 1024; @@ -58,8 +58,8 @@ int main() { for (int x = 0; x < width; x++) { - if (((x/32+y/32)/1)%2 == 0) pixels[y*height + x] = DARKBLUE; - else pixels[y*height + x] = SKYBLUE; + if (((x/32+y/32)/1)%2 == 0) pixels[y*height + x] = ORANGE; + else pixels[y*height + x] = GOLD; } } @@ -86,7 +86,7 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - UnloadTexture(sonic); // Texture unloading + UnloadTexture(fudesumi); // Texture unloading UnloadTexture(checked); // Texture unloading CloseWindow(); // Close window and OpenGL context @@ -111,12 +111,14 @@ void UpdateDrawFrame(void) ClearBackground(RAYWHITE); - DrawTexture(checked, screenWidth/2 - checked.width/2, screenHeight/2 - checked.height/2, Fade(WHITE, 0.3f)); - DrawTexture(sonic, 330, -20, WHITE); + DrawTexture(checked, screenWidth/2 - checked.width/2, screenHeight/2 - checked.height/2, Fade(WHITE, 0.5f)); + DrawTexture(fudesumi, 430, -30, WHITE); - DrawText("CHECKED TEXTURE ", 84, 100, 30, DARKBLUE); - DrawText("GENERATED by CODE", 72, 164, 30, DARKBLUE); - DrawText("and RAW IMAGE LOADING", 46, 226, 30, DARKBLUE); + DrawText("CHECKED TEXTURE ", 84, 100, 30, BROWN); + DrawText("GENERATED by CODE", 72, 164, 30, BROWN); + DrawText("and RAW IMAGE LOADING", 46, 226, 30, BROWN); + + DrawText("(c) Fudesumi sprite by Eiden Marsal", 310, screenHeight - 20, 10, BROWN); EndDrawing(); //---------------------------------------------------------------------------------- diff --git a/docs/examples/web/textures/textures_raw_data.data b/docs/examples/web/textures/textures_raw_data.data new file mode 100644 index 000000000..e05fa0e15 Binary files /dev/null and b/docs/examples/web/textures/textures_raw_data.data differ diff --git a/docs/examples/web/textures/textures_raw_data.js b/docs/examples/web/textures/textures_raw_data.js index 851d0a82f..d12ab2fe9 100644 --- a/docs/examples/web/textures/textures_raw_data.js +++ b/docs/examples/web/textures/textures_raw_data.js @@ -1,3 +1,191 @@ + +var Module; + +if (typeof Module === 'undefined') Module = {}; + +if (!Module.expectedDataFileDownloads) { + Module.expectedDataFileDownloads = 0; + Module.finishedDataFileDownloads = 0; +} +Module.expectedDataFileDownloads++; +(function() { + var loadPackage = function(metadata) { + + var PACKAGE_PATH; + if (typeof window === 'object') { + PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); + } else if (typeof location !== 'undefined') { + // worker + PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); + } else { + throw 'using preloaded data can only be done on a web page or in a web worker'; + } + var PACKAGE_NAME = 'textures/textures_raw_data.data'; + var REMOTE_PACKAGE_BASE = 'textures_raw_data.data'; + if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { + Module['locateFile'] = Module['locateFilePackage']; + Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); + } + var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? + Module['locateFile'](REMOTE_PACKAGE_BASE) : + ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); + + var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; + var PACKAGE_UUID = metadata.package_uuid; + + function fetchRemotePackage(packageName, packageSize, callback, errback) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', packageName, true); + xhr.responseType = 'arraybuffer'; + xhr.onprogress = function(event) { + var url = packageName; + var size = packageSize; + if (event.total) size = event.total; + if (event.loaded) { + if (!xhr.addedTotal) { + xhr.addedTotal = true; + if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; + Module.dataFileDownloads[url] = { + loaded: event.loaded, + total: size + }; + } else { + Module.dataFileDownloads[url].loaded = event.loaded; + } + var total = 0; + var loaded = 0; + var num = 0; + for (var download in Module.dataFileDownloads) { + var data = Module.dataFileDownloads[download]; + total += data.total; + loaded += data.loaded; + num++; + } + total = Math.ceil(total * Module.expectedDataFileDownloads/num); + if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); + } else if (!Module.dataFileDownloads) { + if (Module['setStatus']) Module['setStatus']('Downloading data...'); + } + }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } + xhr.onload = function(event) { + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } + }; + xhr.send(null); + }; + + function handleError(error) { + console.error('package error:', error); + }; + + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + if (fetchedCallback) { + fetchedCallback(data); + fetchedCallback = null; + } else { + fetched = data; + } + }, handleError); + + function runWithFS() { + + function assert(check, msg) { + if (!check) throw msg + new Error().stack; + } +Module['FS_createPath']('/', 'resources', true, true); + + function DataRequest(start, end, crunched, audio) { + this.start = start; + this.end = end; + this.crunched = crunched; + this.audio = audio; + } + DataRequest.prototype = { + requests: {}, + open: function(mode, name) { + this.name = name; + this.requests[name] = this; + Module['addRunDependency']('fp ' + this.name); + }, + send: function() {}, + onload: function() { + var byteArray = this.byteArray.subarray(this.start, this.end); + + this.finish(byteArray); + + }, + finish: function(byteArray) { + var that = this; + + Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + Module['removeRunDependency']('fp ' + that.name); + + this.requests[this.name] = null; + } + }; + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); + } + + + function processPackageData(arrayBuffer) { + Module.finishedDataFileDownloads++; + assert(arrayBuffer, 'Loading data file failed.'); + assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); + var byteArray = new Uint8Array(arrayBuffer); + var curr; + + // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though + // (we may be allocating before malloc is ready, during startup). + if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); + var ptr = Module['getMemory'](byteArray.length); + Module['HEAPU8'].set(byteArray, ptr); + DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + DataRequest.prototype.requests[files[i].filename].onload(); + } + Module['removeRunDependency']('datafile_textures/textures_raw_data.data'); + + }; + Module['addRunDependency']('datafile_textures/textures_raw_data.data'); + + if (!Module.preloadResults) Module.preloadResults = {}; + + Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; + if (fetched) { + processPackageData(fetched); + fetched = null; + } else { + fetchedCallback = processPackageData; + } + + } + if (Module['calledRun']) { + runWithFS(); + } else { + if (!Module['preRun']) Module['preRun'] = []; + Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it + } + + } + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 786432, "filename": "/resources/fudesumi.raw"}], "remote_package_size": 786432, "package_uuid": "829e6cf5-a57d-4c17-93da-3b9914205c8d"}); + +})(); + // The Module object: Our interface to the outside world. We import // and export values on it, and do the work to get that through // closure compiler if necessary. There are various ways Module can be used: @@ -1591,8 +1779,8 @@ STATICTOP = STATIC_BASE + 19360; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,147,71,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,102,114,111,109,32,114,97,119,32,100,97,116,97,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,95,102,111,114,109,97,116,115,47,115,111,110,105,99,95,82,56,71,56,66,56,65,56,46,114,97,119,0,67,72,69,67,75,69,68,32,84,69,88,84,85,82,69,32,0,71,69,78,69,82,65,84,69,68,32,98,121,32,67,79,68,69,0,97,110,100,32,82,65,87,32,73,77,65,71,69,32,76,79,65,68,73,78,71,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,98,0,91,37,115,93,32,82,65,87,32,105,109,97,103,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,111,114,116,101,100,0,91,37,115,93,32,82,65,87,32,105,109,97,103,101,32,100,97,116,97,32,99,97,110,32,110,111,116,32,98,101,32,114,101,97,100,44,32,119,114,111,110,103,32,114,101,113,117,101,115,116,101,100,32,102,111,114,109,97,116,32,111,114,32,115,105,122,101,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,155,71,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,102,114,111,109,32,114,97,119,32,100,97,116,97,0,114,101,115,111,117,114,99,101,115,47,102,117,100,101,115,117,109,105,46,114,97,119,0,67,72,69,67,75,69,68,32,84,69,88,84,85,82,69,32,0,71,69,78,69,82,65,84,69,68,32,98,121,32,67,79,68,69,0,97,110,100,32,82,65,87,32,73,77,65,71,69,32,76,79,65,68,73,78,71,0,40,99,41,32,70,117,100,101,115,117,109,105,32,115,112,114,105,116,101,32,98,121,32,69,105,100,101,110,32,77,97,114,115,97,108,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,98,0,91,37,115,93,32,82,65,87,32,105,109,97,103,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,111,114,116,101,100,0,91,37,115,93,32,82,65,87,32,105,109,97,103,101,32,100,97,116,97,32,99,97,110,32,110,111,116,32,98,101,32,114,101,97,100,44,32,119,114,111,110,103,32,114,101,113,117,101,115,116,101,100,32,102,111,114,109,97,116,32,111,114,32,115,105,122,101,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10267,8 +10455,8 @@ function getTempRet0() { } function _main() { - var $$03134 = 0, $$035 = 0, $$sink = 0, $$sink32 = 0, $$sink33 = 0, $$sroa$01$0$$sroa_idx = 0, $$sroa$22$0$$sroa_idx = 0, $$sroa$33$0$$sroa_idx = 0, $$sroa$44$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $checked$byval_copy = 0, $exitcond = 0, $exitcond36 = 0, label = 0, sp = 0; + var $$03132 = 0, $$033 = 0, $$sink = 0, $$sroa$22$0$$sroa_idx = 0, $$sroa$33$0$$sroa_idx = 0, $$sroa$44$0$$sroa_idx = 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; + var $7 = 0, $8 = 0, $9 = 0, $checked$byval_copy = 0, $exitcond = 0, $exitcond34 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); $checked$byval_copy = sp + 80|0; @@ -10279,77 +10467,75 @@ function _main() { $4 = HEAP32[2]|0; $5 = HEAP32[3]|0; _InitWindow($4,$5,3356); - _LoadImageRaw($0,3406,512,512,7,0); + _LoadImageRaw($0,3406,384,512,7,0); ;HEAP32[$checked$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$checked$byval_copy); - ;HEAP32[14144>>2]=HEAP32[$1>>2]|0;HEAP32[14144+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14144+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14144+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14144+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[14152>>2]=HEAP32[$1>>2]|0;HEAP32[14152+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14152+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14152+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14152+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$checked$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($checked$byval_copy); $6 = (_malloc(4194304)|0); - $$035 = 0; + $$033 = 0; while(1) { - $7 = (($$035|0) / 32)&-1; - $8 = $$035 << 10; - $$03134 = 0; + $7 = (($$033|0) / 32)&-1; + $8 = $$033 << 10; + $$03132 = 0; while(1) { - $10 = (($$03134|0) / 32)&-1; + $10 = (($$03132|0) / 32)&-1; $11 = (($10) + ($7))|0; $12 = $11 & 1; $13 = ($12|0)==(0); - $14 = (($$03134) + ($8))|0; - $$sroa$01$0$$sroa_idx = (($6) + ($14<<2)|0); - $$sink33 = $13 ? 0 : 102; - $$sink32 = $13 ? 82 : -65; - $$sink = $13 ? -84 : -1; - HEAP8[$$sroa$01$0$$sroa_idx>>0] = $$sink33; + $14 = (($$03132) + ($8))|0; + $15 = (($6) + ($14<<2)|0); + HEAP8[$15>>0] = -1; $$sroa$22$0$$sroa_idx = (((($6) + ($14<<2)|0)) + 1|0); - HEAP8[$$sroa$22$0$$sroa_idx>>0] = $$sink32; + $$sink = $13 ? -95 : -53; + HEAP8[$$sroa$22$0$$sroa_idx>>0] = $$sink; $$sroa$33$0$$sroa_idx = (((($6) + ($14<<2)|0)) + 2|0); - HEAP8[$$sroa$33$0$$sroa_idx>>0] = $$sink; + HEAP8[$$sroa$33$0$$sroa_idx>>0] = 0; $$sroa$44$0$$sroa_idx = (((($6) + ($14<<2)|0)) + 3|0); HEAP8[$$sroa$44$0$$sroa_idx>>0] = -1; - $15 = (($$03134) + 1)|0; - $exitcond = ($15|0)==(1024); + $16 = (($$03132) + 1)|0; + $exitcond = ($16|0)==(1024); if ($exitcond) { break; } else { - $$03134 = $15; + $$03132 = $16; } } - $9 = (($$035) + 1)|0; - $exitcond36 = ($9|0)==(1024); - if ($exitcond36) { + $9 = (($$033) + 1)|0; + $exitcond34 = ($9|0)==(1024); + if ($exitcond34) { break; } else { - $$035 = $9; + $$033 = $9; } } _LoadImageEx($2,$6,1024,1024); ;HEAP32[$checked$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[$2+16>>2]|0; _LoadTextureFromImage($3,$checked$byval_copy); - ;HEAP32[14164>>2]=HEAP32[$3>>2]|0;HEAP32[14164+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[14164+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[14164+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[14164+16>>2]=HEAP32[$3+16>>2]|0; + ;HEAP32[14172>>2]=HEAP32[$3>>2]|0;HEAP32[14172+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[14172+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[14172+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[14172+16>>2]=HEAP32[$3+16>>2]|0; ;HEAP32[$checked$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[$2+16>>2]|0; _UnloadImage($checked$byval_copy); _free($6); _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$checked$byval_copy>>2]=HEAP32[14144>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[14144+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[14144+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[14144+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[14144+16>>2]|0; + ;HEAP32[$checked$byval_copy>>2]=HEAP32[14152>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[14152+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[14152+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[14152+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[14152+16>>2]|0; _UnloadTexture($checked$byval_copy); - ;HEAP32[$checked$byval_copy>>2]=HEAP32[14164>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[14164+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[14164+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[14164+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[14164+16>>2]|0; + ;HEAP32[$checked$byval_copy>>2]=HEAP32[14172>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[14172+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[14172+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[14172+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[14172+16>>2]|0; _UnloadTexture($checked$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; } function _UpdateDrawFrame() { var $$byval_copy4 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sonic$byval_copy = 0, label = 0, sp = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fudesumi$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy4 = sp + 48|0; - $sonic$byval_copy = sp + 4|0; + $fudesumi$byval_copy = sp; $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 24|0; - $3 = sp; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 40|0; $4 = sp + 36|0; $5 = sp + 32|0; $6 = sp + 28|0; @@ -10365,54 +10551,113 @@ function _UpdateDrawFrame() { _ClearBackground($$byval_copy4); $10 = HEAP32[2]|0; $11 = (($10|0) / 2)&-1; - $12 = HEAP32[(14168)>>2]|0; + $12 = HEAP32[(14176)>>2]|0; $13 = (($12|0) / 2)&-1; $14 = (($11) - ($13))|0; $15 = HEAP32[3]|0; $16 = (($15|0) / 2)&-1; - $17 = HEAP32[(14172)>>2]|0; + $17 = HEAP32[(14180)>>2]|0; $18 = (($17|0) / 2)&-1; $19 = (($16) - ($18))|0; - HEAP32[$2>>2] = -1; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$2+3>>0]|0; - _Fade($1,$$byval_copy4,0.30000001192092896); - ;HEAP32[$sonic$byval_copy>>2]=HEAP32[14164>>2]|0;HEAP32[$sonic$byval_copy+4>>2]=HEAP32[14164+4>>2]|0;HEAP32[$sonic$byval_copy+8>>2]=HEAP32[14164+8>>2]|0;HEAP32[$sonic$byval_copy+12>>2]=HEAP32[14164+12>>2]|0;HEAP32[$sonic$byval_copy+16>>2]=HEAP32[14164+16>>2]|0; + HEAP32[$1>>2] = -1; + ;HEAP32[$fudesumi$byval_copy>>2]=HEAP32[14172>>2]|0;HEAP32[$fudesumi$byval_copy+4>>2]=HEAP32[14172+4>>2]|0;HEAP32[$fudesumi$byval_copy+8>>2]=HEAP32[14172+8>>2]|0;HEAP32[$fudesumi$byval_copy+12>>2]=HEAP32[14172+12>>2]|0;HEAP32[$fudesumi$byval_copy+16>>2]=HEAP32[14172+16>>2]|0; ;HEAP8[$$byval_copy4>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$1+3>>0]|0; - _DrawTexture($sonic$byval_copy,$14,$19,$$byval_copy4); - HEAP32[$3>>2] = -1; - ;HEAP32[$sonic$byval_copy>>2]=HEAP32[14144>>2]|0;HEAP32[$sonic$byval_copy+4>>2]=HEAP32[14144+4>>2]|0;HEAP32[$sonic$byval_copy+8>>2]=HEAP32[14144+8>>2]|0;HEAP32[$sonic$byval_copy+12>>2]=HEAP32[14144+12>>2]|0;HEAP32[$sonic$byval_copy+16>>2]=HEAP32[14144+16>>2]|0; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; - _DrawTexture($sonic$byval_copy,330,-20,$$byval_copy4); - HEAP8[$4>>0] = 0; - $20 = ((($4)) + 1|0); - HEAP8[$20>>0] = 82; - $21 = ((($4)) + 2|0); - HEAP8[$21>>0] = -84; - $22 = ((($4)) + 3|0); + _DrawTexture($fudesumi$byval_copy,$14,$19,$$byval_copy4); + HEAP32[$2>>2] = -1; + ;HEAP32[$fudesumi$byval_copy>>2]=HEAP32[14152>>2]|0;HEAP32[$fudesumi$byval_copy+4>>2]=HEAP32[14152+4>>2]|0;HEAP32[$fudesumi$byval_copy+8>>2]=HEAP32[14152+8>>2]|0;HEAP32[$fudesumi$byval_copy+12>>2]=HEAP32[14152+12>>2]|0;HEAP32[$fudesumi$byval_copy+16>>2]=HEAP32[14152+16>>2]|0; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$2+3>>0]|0; + _DrawTexture($fudesumi$byval_copy,430,-30,$$byval_copy4); + HEAP8[$3>>0] = 127; + $20 = ((($3)) + 1|0); + HEAP8[$20>>0] = 106; + $21 = ((($3)) + 2|0); + HEAP8[$21>>0] = 79; + $22 = ((($3)) + 3|0); HEAP8[$22>>0] = -1; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$4+3>>0]|0; - _DrawText(3451,84,100,30,$$byval_copy4); - HEAP8[$5>>0] = 0; - $23 = ((($5)) + 1|0); - HEAP8[$23>>0] = 82; - $24 = ((($5)) + 2|0); - HEAP8[$24>>0] = -84; - $25 = ((($5)) + 3|0); + ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; + _DrawText(3429,84,100,30,$$byval_copy4); + HEAP8[$4>>0] = 127; + $23 = ((($4)) + 1|0); + HEAP8[$23>>0] = 106; + $24 = ((($4)) + 2|0); + HEAP8[$24>>0] = 79; + $25 = ((($4)) + 3|0); HEAP8[$25>>0] = -1; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$5+3>>0]|0; - _DrawText(3468,72,164,30,$$byval_copy4); - HEAP8[$6>>0] = 0; - $26 = ((($6)) + 1|0); - HEAP8[$26>>0] = 82; - $27 = ((($6)) + 2|0); - HEAP8[$27>>0] = -84; - $28 = ((($6)) + 3|0); + ;HEAP8[$$byval_copy4>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$4+3>>0]|0; + _DrawText(3446,72,164,30,$$byval_copy4); + HEAP8[$5>>0] = 127; + $26 = ((($5)) + 1|0); + HEAP8[$26>>0] = 106; + $27 = ((($5)) + 2|0); + HEAP8[$27>>0] = 79; + $28 = ((($5)) + 3|0); HEAP8[$28>>0] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$5+3>>0]|0; + _DrawText(3464,46,226,30,$$byval_copy4); + $29 = HEAP32[3]|0; + $30 = (($29) + -20)|0; + HEAP8[$6>>0] = 127; + $31 = ((($6)) + 1|0); + HEAP8[$31>>0] = 106; + $32 = ((($6)) + 2|0); + HEAP8[$32>>0] = 79; + $33 = ((($6)) + 3|0); + HEAP8[$33>>0] = -1; ;HEAP8[$$byval_copy4>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$6+3>>0]|0; - _DrawText(3486,46,226,30,$$byval_copy4); + _DrawText(3486,310,$30,10,$$byval_copy4); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10512,13 +10757,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11128,7 +11366,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[3547] = $2; + HEAP32[3549] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11141,7 +11379,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 13872; + $95 = 13880; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11154,48 +11392,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 13912; + $106 = 13920; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[3478]; - $111 = +HEAPF32[3468]; + $110 = +HEAPF32[3480]; + $111 = +HEAPF32[3470]; $112 = $110 - $111; - HEAPF32[3480] = $112; - $113 = +HEAPF32[(13916)>>2]; - $114 = +HEAPF32[(13876)>>2]; + HEAPF32[3482] = $112; + $113 = +HEAPF32[(13924)>>2]; + $114 = +HEAPF32[(13884)>>2]; $115 = $113 - $114; - HEAPF32[(13924)>>2] = $115; - HEAP32[3546] = 4; + HEAPF32[(13932)>>2] = $115; + HEAP32[3548] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13904+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13928+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13912+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13936>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13936+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[3552] = $116; - $117 = 13904; + HEAPF32[3554] = $116; + $117 = 13912; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 13872; + $123 = 13880; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 13928; + $127 = 13936; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 13912; + $133 = 13920; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11208,7 +11446,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 13904; + $144 = 13912; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11221,27 +11459,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 13928; + $155 = 13936; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[3482]; - $160 = +HEAPF32[3476]; + $159 = +HEAPF32[3484]; + $160 = +HEAPF32[3478]; $161 = $159 - $160; - HEAPF32[3480] = $161; - $162 = +HEAPF32[(13932)>>2]; - $163 = +HEAPF32[(13908)>>2]; + HEAPF32[3482] = $161; + $162 = +HEAPF32[(13940)>>2]; + $163 = +HEAPF32[(13916)>>2]; $164 = $162 - $163; - HEAPF32[(13924)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13904+4>>2]|0; + HEAPF32[(13932)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13912>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13912+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13912+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13928+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13920>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13920+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13936>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13936+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11253,31 +11491,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13904+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13928+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13912+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13936>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13936+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[3552]; + $170 = +HEAPF32[3554]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[3546] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13904+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13928+4>>2]|0; + HEAP32[3548] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13912+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13936>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13936+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[3553] = $174; + HEAPF32[3555] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[3552] = 0.0; - HEAPF32[3553] = 0.0; - HEAPF32[3480] = 0.0; - HEAPF32[(13924)>>2] = 0.0; - HEAP32[3547] = 0; - HEAP32[3546] = 0; + HEAPF32[3554] = 0.0; + HEAPF32[3555] = 0.0; + HEAPF32[3482] = 0.0; + HEAPF32[(13932)>>2] = 0.0; + HEAP32[3549] = 0; + HEAP32[3548] = 0; STACKTOP = sp;return; break; } @@ -11287,22 +11525,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[3548]|0; + $6 = HEAP32[3550]|0; $7 = (($6) + 1)|0; - HEAP32[3548] = $7; - $8 = HEAP32[3546]|0; + HEAP32[3550] = $7; + $8 = HEAP32[3548]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13872+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[3546] = 2; - HEAP32[3548] = 0; + HEAP32[3548] = 2; + HEAP32[3550] = 0; } else { label = 6; } @@ -11310,8 +11548,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { + HEAP32[3550] = 1; HEAP32[3548] = 1; - HEAP32[3546] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11320,19 +11558,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 13872; + $21 = 13880; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 13880; + $25 = 13888; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 13888; + $29 = 13896; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11341,13 +11579,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[3474] = 0.0; - HEAPF32[(13900)>>2] = 0.0; + HEAPF32[3476] = 0.0; + HEAPF32[(13908)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[3546]|0; + $35 = HEAP32[3548]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11357,19 +11595,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 13888; + $44 = 13896; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13888>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13888+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13896+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[3549] = $49; - HEAP32[3550] = 0; + HEAPF32[3551] = $49; + HEAP32[3552] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11377,11 +11615,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13888>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13888+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13896+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[3551] = $56; + HEAPF32[3553] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11412,22 +11650,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[3549] = 0.0; HEAPF32[3551] = 0.0; + HEAPF32[3553] = 0.0; $$sink10 = 0; } - HEAP32[3546] = $$sink10; - HEAPF32[3470] = 0.0; - HEAPF32[(13884)>>2] = 0.0; - HEAP32[3547] = 0; + HEAP32[3548] = $$sink10; + HEAPF32[3472] = 0.0; + HEAPF32[(13892)>>2] = 0.0; + HEAP32[3549] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[3550]|0; + $65 = HEAP32[3552]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[3550] = 1; + HEAP32[3552] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11436,31 +11674,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 13904; + $74 = 13912; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[3546]|0; + $78 = HEAP32[3548]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13904+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13912>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13912+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[3546] = 8; + HEAP32[3548] = 8; } } - $82 = +HEAPF32[3476]; - $83 = +HEAPF32[3470]; + $82 = +HEAPF32[3478]; + $83 = +HEAPF32[3472]; $84 = $82 - $83; - HEAPF32[3474] = $84; - $85 = +HEAPF32[(13908)>>2]; - $86 = +HEAPF32[(13884)>>2]; + HEAPF32[3476] = $84; + $85 = +HEAPF32[(13916)>>2]; + $86 = +HEAPF32[(13892)>>2]; $87 = $85 - $86; - HEAPF32[(13900)>>2] = $87; + HEAPF32[(13908)>>2] = $87; STACKTOP = sp;return; break; } @@ -11469,58 +11707,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3546]|0; + $0 = HEAP32[3548]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[3547]|0; + $2 = HEAP32[3549]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[3546] = 4; + HEAP32[3548] = 4; } - $4 = HEAP32[3546]|0; + $4 = HEAP32[3548]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11533,14 +11732,14 @@ function _UpdateGestures() { return; } } - HEAP32[3546] = 0; + HEAP32[3548] = 0; return; } function _GetMousePosition($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 = 13936; + $1 = 13944; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11557,13 +11756,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3556]|0; + $0 = HEAP32[3558]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3555]|0; + $0 = HEAP32[3557]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11574,29 +11773,29 @@ function _InitWindow($0,$1,$2) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - _TraceLog(0,3508,$vararg_buffer); - HEAP32[3558] = $2; + _TraceLog(0,3522,$vararg_buffer); + HEAP32[3560] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(3|0))|0); - (_emscripten_set_keypress_callback((3537|0),(0|0),1,(4|0))|0); - (_emscripten_set_click_callback((3537|0),(0|0),1,(5|0))|0); - (_emscripten_set_touchstart_callback((3537|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchend_callback((3537|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchmove_callback((3537|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchcancel_callback((3537|0),(0|0),1,(6|0))|0); + (_emscripten_set_keypress_callback((3551|0),(0|0),1,(4|0))|0); + (_emscripten_set_click_callback((3551|0),(0|0),1,(5|0))|0); + (_emscripten_set_touchstart_callback((3551|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchend_callback((3551|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchmove_callback((3551|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchcancel_callback((3551|0),(0|0),1,(6|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(7|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(7|0))|0); - $3 = HEAP32[3556]|0; + $3 = HEAP32[3558]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[3484] = $5; - $6 = HEAP32[3555]|0; + HEAPF32[3486] = $5; + $6 = HEAP32[3557]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(13940)>>2] = $8; - $9 = HEAP32[3559]|0; + HEAPF32[(13948)>>2] = $8; + $9 = HEAP32[3561]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11615,11 +11814,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[13976>>0]=HEAP8[8066>>0]|0;HEAP8[13976+1>>0]=HEAP8[8066+1>>0]|0;HEAP8[13976+2>>0]=HEAP8[8066+2>>0]|0;HEAP8[13976+3>>0]=HEAP8[8066+3>>0]|0;HEAP8[13976+4>>0]=HEAP8[8066+4>>0]|0;HEAP8[13976+5>>0]=HEAP8[8066+5>>0]|0;HEAP8[13976+6>>0]=HEAP8[8066+6>>0]|0; + ;HEAP8[13984>>0]=HEAP8[8080>>0]|0;HEAP8[13984+1>>0]=HEAP8[8080+1>>0]|0;HEAP8[13984+2>>0]=HEAP8[8080+2>>0]|0;HEAP8[13984+3>>0]=HEAP8[8080+3>>0]|0;HEAP8[13984+4>>0]=HEAP8[8080+4>>0]|0;HEAP8[13984+5>>0]=HEAP8[8080+5>>0]|0;HEAP8[13984+6>>0]=HEAP8[8080+6>>0]|0; break; } case 1: { - $3 = 13976; + $3 = 13984; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11628,11 +11827,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=13976; src=8073; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=13984; src=8087; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 13976; + $7 = 13984; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11643,16 +11842,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(13976,$1)|0); - $strlen = (_strlen(13976)|0); - $endptr = (13976 + ($strlen)|0); + (_strcat(13984,$1)|0); + $strlen = (_strlen(13984)|0); + $endptr = (13984 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(13976,$2)|0); + (_vprintf(13984,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11684,22 +11883,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[3556] = $0; - HEAP32[3555] = $1; + HEAP32[3558] = $0; + HEAP32[3557] = $1; _MatrixIdentity($2); - dest=14312; 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)); + dest=14320; 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)); (_glfwSetErrorCallback((1|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { - _TraceLog(1,4208,$vararg_buffer); + _TraceLog(1,4222,$vararg_buffer); } - $6 = HEAP32[3556]|0; - HEAP32[3594] = $6; - $7 = HEAP32[3555]|0; - HEAP32[3595] = $7; + $6 = HEAP32[3558]|0; + HEAP32[3596] = $6; + $7 = HEAP32[3557]|0; + HEAP32[3597] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[17028]|0; + $8 = HEAP8[17036]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11707,18 +11906,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[17028]|0; + $11 = HEAP8[17036]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[17028]|0; + $14 = HEAP8[17036]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,4234,$vararg_buffer1); + _TraceLog(0,4248,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -11735,18 +11934,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[3596]|0; + $21 = HEAP32[3598]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[3556]|0; - $48 = HEAP32[3555]|0; - $49 = HEAP32[3558]|0; + $47 = HEAP32[3558]|0; + $48 = HEAP32[3557]|0; + $49 = HEAP32[3560]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[3554] = $50; - $51 = HEAP32[3556]|0; - HEAP32[3597] = $51; - $52 = HEAP32[3555]|0; - HEAP32[3598] = $52; + HEAP32[3556] = $50; + $51 = HEAP32[3558]|0; + HEAP32[3599] = $51; + $52 = HEAP32[3557]|0; + HEAP32[3600] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11755,9 +11954,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[3556]|0; + $27 = HEAP32[3558]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[3555]|0; + $29 = HEAP32[3557]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -11779,87 +11978,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[3594] = $31; - HEAP32[3595] = $34; + HEAP32[3596] = $31; + HEAP32[3597] = $34; } } while(0); - $38 = HEAP32[3594]|0; - $39 = HEAP32[3595]|0; + $38 = HEAP32[3596]|0; + $39 = HEAP32[3597]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,4259,$vararg_buffer3); - $40 = HEAP32[3594]|0; - $41 = HEAP32[3595]|0; + _TraceLog(2,4273,$vararg_buffer3); + $40 = HEAP32[3596]|0; + $41 = HEAP32[3597]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[3594]|0; - $43 = HEAP32[3595]|0; - $44 = HEAP32[3558]|0; + $42 = HEAP32[3596]|0; + $43 = HEAP32[3597]|0; + $44 = HEAP32[3560]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[3554] = $46; + HEAP32[3556] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,4297,$vararg_buffer6); + _TraceLog(1,4311,$vararg_buffer6); } else { - _TraceLog(0,4330,$vararg_buffer8); - $55 = HEAP32[3597]|0; - $56 = HEAP32[3598]|0; + _TraceLog(0,4344,$vararg_buffer8); + $55 = HEAP32[3599]|0; + $56 = HEAP32[3600]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,4370,$vararg_buffer10); - $57 = HEAP32[3556]|0; - $58 = HEAP32[3555]|0; + _TraceLog(0,4384,$vararg_buffer10); + $57 = HEAP32[3558]|0; + $58 = HEAP32[3557]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,4391,$vararg_buffer14); - $59 = HEAP32[3599]|0; - $60 = HEAP32[3600]|0; + _TraceLog(0,4405,$vararg_buffer14); + $59 = HEAP32[3601]|0; + $60 = HEAP32[3602]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,4412,$vararg_buffer18); + _TraceLog(0,4426,$vararg_buffer18); } - $61 = HEAP32[3554]|0; + $61 = HEAP32[3556]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[3554]|0; + $62 = HEAP32[3556]|0; (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[3554]|0; + $63 = HEAP32[3556]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[3554]|0; + $64 = HEAP32[3556]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[3554]|0; + $65 = HEAP32[3556]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[3554]|0; + $66 = HEAP32[3556]|0; (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[3554]|0; + $67 = HEAP32[3556]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[3554]|0; + $68 = HEAP32[3556]|0; (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[3554]|0; + $69 = HEAP32[3556]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[17028]|0; + $70 = HEAP8[17036]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[3556]|0; - $74 = HEAP32[3555]|0; + $73 = HEAP32[3558]|0; + $74 = HEAP32[3557]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[3597]|0; - $76 = HEAP32[3599]|0; + $75 = HEAP32[3599]|0; + $76 = HEAP32[3601]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[3598]|0; - $80 = HEAP32[3600]|0; + $79 = HEAP32[3600]|0; + $80 = HEAP32[3602]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -11877,19 +12076,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,4437,$vararg_buffer22); - $73 = HEAP32[3556]|0; - $74 = HEAP32[3555]|0; + _TraceLog(0,4451,$vararg_buffer22); + $73 = HEAP32[3558]|0; + $74 = HEAP32[3557]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[3597]|0; - $76 = HEAP32[3599]|0; + $75 = HEAP32[3599]|0; + $76 = HEAP32[3601]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[3598]|0; - $80 = HEAP32[3600]|0; + $79 = HEAP32[3600]|0; + $80 = HEAP32[3602]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -11917,7 +12116,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(14280)>>2] = 224; + HEAP32[(14288)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -11958,27 +12157,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[14256>>2]=HEAP32[$1>>2]|0;HEAP32[14256+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14256+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14256+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14256+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[14264>>2]=HEAP32[$1>>2]|0;HEAP32[14264+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14264+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14264+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14264+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(14280)>>2]|0; + $5 = HEAP32[(14288)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(14284)>>2] = $7; + HEAP32[(14292)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(14276)>>2] = $23; - $24 = HEAP32[3564]|0; + HEAP32[(14284)>>2] = $23; + $24 = HEAP32[3566]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3732,$vararg_buffer); + _TraceLog(0,3746,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(14260)>>2]|0; - $10 = HEAP32[(14280)>>2]|0; - $11 = HEAP32[(14284)>>2]|0; + $9 = HEAP32[(14268)>>2]|0; + $10 = HEAP32[(14288)>>2]|0; + $11 = HEAP32[(14292)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12027,10 +12226,10 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(14276)>>2] = $23; - $24 = HEAP32[3564]|0; + HEAP32[(14284)>>2] = $23; + $24 = HEAP32[3566]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3732,$vararg_buffer); + _TraceLog(0,3746,$vararg_buffer); STACKTOP = sp;return; } function _InitTimer() { @@ -12039,7 +12238,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[1746] = $1; + HEAPF64[1747] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12069,7 +12268,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,3665,$vararg_buffer4); + _TraceLog(0,3679,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -12079,7 +12278,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,3596,$vararg_buffer); + _TraceLog(0,3610,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -12095,7 +12294,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,3589)|0); + $5 = (_strcmp($4,3603)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -12198,7 +12397,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 13952; + $31 = 13960; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12211,7 +12410,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (13960); + $42 = (13968); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12267,7 +12466,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (14240 + ($10<<2)|0); + $11 = (14248 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12281,19 +12480,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[1743] = $$; + HEAPF64[1744] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,3545,$vararg_buffer); + _TraceLog(0,3559,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[3559] = 0; + HEAP32[3561] = 0; return; } function _GetTime() { @@ -12392,7 +12591,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,4108,$vararg_buffer); + _TraceLog(2,4122,$vararg_buffer); STACKTOP = sp;return; } ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; @@ -12869,52 +13068,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[3572]|0; + $6 = HEAP32[3574]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,3777,$vararg_buffer); + _TraceLog(2,3791,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[3573]|0; + $9 = HEAP32[3575]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,3821,$vararg_buffer1); + _TraceLog(2,3835,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[3574]|0; + $12 = HEAP32[3576]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); $or$cond = $14 & $13; if ($or$cond) { - _TraceLog(2,3866,$vararg_buffer3); + _TraceLog(2,3880,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[3575]|0; + $15 = HEAP32[3577]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); $or$cond96 = $17 & $16; if ($or$cond96) { - _TraceLog(2,3911,$vararg_buffer5); + _TraceLog(2,3925,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[3576]|0; + $18 = HEAP32[3578]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); $or$cond98 = $20 & $19; if ($or$cond98) { - _TraceLog(2,3956,$vararg_buffer7); + _TraceLog(2,3970,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -12952,7 +13151,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[3572]|0; + $22 = HEAP32[3574]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -12960,7 +13159,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[3572]|0; + $24 = HEAP32[3574]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -12968,7 +13167,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[3572]|0; + $26 = HEAP32[3574]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -12976,7 +13175,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[3572]|0; + $28 = HEAP32[3574]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -12984,7 +13183,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[3573]|0; + $30 = HEAP32[3575]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -12992,7 +13191,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[3574]|0; + $32 = HEAP32[3576]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13000,7 +13199,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[3574]|0; + $34 = HEAP32[3576]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13008,7 +13207,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[3575]|0; + $36 = HEAP32[3577]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13016,7 +13215,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[3575]|0; + $38 = HEAP32[3577]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13024,7 +13223,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[3576]|0; + $40 = HEAP32[3578]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13032,7 +13231,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[3576]|0; + $42 = HEAP32[3578]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13040,11 +13239,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,4001,$vararg_buffer9); + _TraceLog(2,4015,$vararg_buffer9); } } } while(0); - $44 = HEAP32[3577]|0; + $44 = HEAP32[3579]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13059,7 +13258,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,4079,$vararg_buffer15); + _TraceLog(2,4093,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13068,7 +13267,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { HEAP32[$vararg_ptr13>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,4030,$vararg_buffer11); + _TraceLog(0,4044,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13342,7 +13541,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,4162,$vararg_buffer); + _TraceLog(2,4176,$vararg_buffer); $$1 = $$0106; } } @@ -13369,7 +13568,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,8028,$vararg_buffer); + _TraceLog(2,8042,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -13390,20 +13589,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[3556]|0; + $3 = HEAP32[3558]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[3555]|0; + $5 = HEAP32[3557]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[3597] = $3; - HEAP32[3598] = $5; - HEAP32[3599] = 0; - HEAP32[3600] = 0; + HEAP32[3599] = $3; + HEAP32[3600] = $5; + HEAP32[3601] = 0; + HEAP32[3602] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13413,13 +13612,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,7962,$vararg_buffer8); + _TraceLog(0,7976,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[3556]|0; + $35 = HEAP32[3558]|0; $36 = (+($35|0)); - $37 = HEAP32[3555]|0; + $37 = HEAP32[3557]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13427,26 +13626,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[3597] = $45; - HEAP32[3598] = $37; + HEAP32[3599] = $45; + HEAP32[3600] = $37; $46 = (($45) - ($35))|0; - HEAP32[3599] = $46; + HEAP32[3601] = $46; $$sink1 = 0; } else { - HEAP32[3597] = $35; + HEAP32[3599] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[3598] = $42; - HEAP32[3599] = 0; + HEAP32[3600] = $42; + HEAP32[3601] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[3600] = $$sink1; + HEAP32[3602] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[3555]|0; + $7 = HEAP32[3557]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13454,13 +13653,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,7819,$vararg_buffer); + _TraceLog(2,7833,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[3556]|0; + $9 = HEAP32[3558]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[3555]|0; + $13 = HEAP32[3557]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13468,37 +13667,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[3597] = $23; - HEAP32[3598] = $1; + HEAP32[3599] = $23; + HEAP32[3600] = $1; $24 = (($0) - ($23))|0; - HEAP32[3599] = $24; + HEAP32[3601] = $24; $$sink = 0; } else { - HEAP32[3597] = $0; - $17 = HEAP32[3555]|0; + HEAP32[3599] = $0; + $17 = HEAP32[3557]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[3598] = $20; - HEAP32[3599] = 0; + HEAP32[3600] = $20; + HEAP32[3601] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[3600] = $$sink; - $25 = HEAP32[3597]|0; + HEAP32[3602] = $$sink; + $25 = HEAP32[3599]|0; $26 = (+($25|0)); - $27 = HEAP32[3556]|0; + $27 = HEAP32[3558]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=14312; 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)); - HEAP32[3597] = $0; - HEAP32[3598] = $1; + dest=14320; 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)); + HEAP32[3599] = $0; + HEAP32[3600] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,7897,$vararg_buffer4); + _TraceLog(2,7911,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -13516,10 +13715,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[3556] = $1; - HEAP32[3555] = $2; - HEAP32[3597] = $1; - HEAP32[3598] = $2; + HEAP32[3558] = $1; + HEAP32[3557] = $2; + HEAP32[3599] = $1; + HEAP32[3600] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13546,7 +13745,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (17035 + ($1)|0); + $9 = (17043 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13567,7 +13766,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (17029 + ($1)|0); + $7 = (17037 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13646,7 +13845,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 13952; + $15 = 13960; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13681,7 +13880,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[3970] = $3; + HEAP32[3972] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13691,7 +13890,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[3969] = $$sink; + HEAP32[3971] = $$sink; return; } function _rlglInit($0,$1) { @@ -13731,16 +13930,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,4460,$vararg_buffer); + _TraceLog(0,4474,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,4478,$vararg_buffer1); + _TraceLog(0,4492,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,4496,$vararg_buffer4); + _TraceLog(0,4510,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,4514,$vararg_buffer7); + _TraceLog(0,4528,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -13748,7 +13947,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,4532)|0); + $15 = (_strtok($$sink63,4546)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -13762,41 +13961,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,4534,$vararg_buffer10); + _TraceLog(0,4548,$vararg_buffer10); $20 = ($$062|0)>(1); if ($20) { $$06167 = 0; while(1) { $23 = (($vararg_buffer7) + ($$06167<<2)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,4569)|0); + $25 = (_strcmp($24,4583)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[3635] = 1; - $27 = (_eglGetProcAddress((4596|0))|0); - HEAP32[3636] = $27; - $28 = (_eglGetProcAddress((4617|0))|0); - HEAP32[3637] = $28; - $29 = (_eglGetProcAddress((4638|0))|0); - HEAP32[3638] = $29; + HEAP32[3637] = 1; + $27 = (_eglGetProcAddress((4610|0))|0); + HEAP32[3638] = $27; + $28 = (_eglGetProcAddress((4631|0))|0); + HEAP32[3639] = $28; + $29 = (_eglGetProcAddress((4652|0))|0); + HEAP32[3640] = $29; } - $30 = (_strcmp($24,4662)|0); + $30 = (_strcmp($24,4676)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[3577] = 1; + HEAP32[3579] = 1; } - $32 = (_strcmp($24,4682)|0); + $32 = (_strcmp($24,4696)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,4714)|0); + $35 = (_strcmp($34,4728)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,4747)|0); + $37 = (_strcmp($34,4761)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -13805,15 +14004,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[3572] = 1; + HEAP32[3574] = 1; } - $39 = (_strcmp($24,4787)|0); + $39 = (_strcmp($24,4801)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,4823)|0); + $42 = (_strcmp($41,4837)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -13821,35 +14020,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[3573] = 1; - } - $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,4856)|0); - $46 = ($45|0)==(0); - if ($46) { - HEAP32[3574] = 1; - } - $47 = (_strcmp($44,4881)|0); - $48 = ($47|0)==(0); - if ($48) { HEAP32[3575] = 1; } - $49 = (_strcmp($44,4914)|0); - $50 = ($49|0)==(0); - if ($50) { + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4870)|0); + $46 = ($45|0)==(0); + if ($46) { HEAP32[3576] = 1; } - $51 = (_strcmp($44,4950)|0); + $47 = (_strcmp($44,4895)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[3577] = 1; + } + $49 = (_strcmp($44,4928)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[3578] = 1; + } + $51 = (_strcmp($44,4964)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[3639] = 1; - _glGetFloatv(34047,(14560|0)); + HEAP32[3641] = 1; + _glGetFloatv(34047,(14568|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,4984)|0); + $54 = (_strcmp($53,4998)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[3641] = 1; + HEAP32[3643] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -13860,77 +14059,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[3635]|0; + $21 = HEAP32[3637]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,5087,$vararg_buffer15); + _TraceLog(2,5101,$vararg_buffer15); } else { - _TraceLog(0,5012,$vararg_buffer13); + _TraceLog(0,5026,$vararg_buffer13); } - $57 = HEAP32[3577]|0; + $57 = HEAP32[3579]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,5223,$vararg_buffer19); + _TraceLog(2,5237,$vararg_buffer19); } else { - _TraceLog(0,5148,$vararg_buffer17); + _TraceLog(0,5162,$vararg_buffer17); } - $59 = HEAP32[3572]|0; + $59 = HEAP32[3574]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,5315,$vararg_buffer21); + _TraceLog(0,5329,$vararg_buffer21); } - $61 = HEAP32[3573]|0; + $61 = HEAP32[3575]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,5361,$vararg_buffer23); + _TraceLog(0,5375,$vararg_buffer23); } - $63 = HEAP32[3574]|0; + $63 = HEAP32[3576]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,5408,$vararg_buffer25); + _TraceLog(0,5422,$vararg_buffer25); } - $65 = HEAP32[3575]|0; + $65 = HEAP32[3577]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,5459,$vararg_buffer27); + _TraceLog(0,5473,$vararg_buffer27); } - $67 = HEAP32[3576]|0; + $67 = HEAP32[3578]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,5506,$vararg_buffer29); + _TraceLog(0,5520,$vararg_buffer29); } - $69 = HEAP32[3639]|0; + $69 = HEAP32[3641]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[3640]; + $71 = +HEAPF32[3642]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,5553,$vararg_buffer31); + _TraceLog(0,5567,$vararg_buffer31); } - $73 = HEAP32[3641]|0; + $73 = HEAP32[3643]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,5619,$vararg_buffer34); + _TraceLog(0,5633,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[3642] = $75; + HEAP32[3644] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,5723,$vararg_buffer39); + _TraceLog(2,5737,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,5672,$vararg_buffer36); + _TraceLog(0,5686,$vararg_buffer36); } _LoadDefaultShader($2); - dest=14572; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=14628; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14580; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14636; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[3671] = $77; + HEAP32[3673] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[3671]|0; + $79 = HEAP32[3673]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -13943,7 +14142,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[3672] = $78; + HEAP32[3674] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -13958,48 +14157,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[3673] = 1; - $85 = HEAP32[3642]|0; + HEAP32[3675] = 1; + $85 = HEAP32[3644]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[3674] = 4; + HEAP32[3676] = 4; _MatrixIdentity($4); - dest=14700; src=$4; 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)); + dest=14708; src=$4; 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)); _MatrixIdentity($4); - dest=(14764); src=$4; 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)); + dest=(14772); src=$4; 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)); _MatrixIdentity($4); - dest=(14828); src=$4; 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)); + dest=(14836); src=$4; 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)); _MatrixIdentity($4); - dest=(14892); src=$4; 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)); + dest=(14900); src=$4; 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)); _MatrixIdentity($4); - dest=(14956); src=$4; 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)); + dest=(14964); src=$4; 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)); _MatrixIdentity($4); - dest=(15020); src=$4; 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)); + dest=(15028); src=$4; 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)); _MatrixIdentity($4); - dest=(15084); src=$4; 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)); + dest=(15092); src=$4; 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)); _MatrixIdentity($4); - dest=(15148); src=$4; 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)); + dest=(15156); src=$4; 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)); _MatrixIdentity($4); - dest=(15212); src=$4; 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)); + dest=(15220); src=$4; 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)); _MatrixIdentity($4); - dest=(15276); src=$4; 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)); + dest=(15284); src=$4; 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)); _MatrixIdentity($4); - dest=(15340); src=$4; 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)); + dest=(15348); src=$4; 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)); _MatrixIdentity($4); - dest=(15404); src=$4; 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)); + dest=(15412); src=$4; 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)); _MatrixIdentity($4); - dest=(15468); src=$4; 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)); + dest=(15476); src=$4; 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)); _MatrixIdentity($4); - dest=(15532); src=$4; 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)); + dest=(15540); src=$4; 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)); _MatrixIdentity($4); - dest=(15596); src=$4; 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)); + dest=(15604); src=$4; 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)); _MatrixIdentity($4); - dest=(15660); src=$4; 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)); + dest=(15668); src=$4; 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)); _MatrixIdentity($5); - dest=14408; src=$5; 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)); + dest=14416; src=$5; 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)); _MatrixIdentity($6); - dest=14472; src=$6; 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)); - HEAP32[3601] = 14472; + dest=14480; src=$6; 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)); + HEAP32[3603] = 14480; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14010,21 +14209,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[3931] = $0; - HEAP32[3932] = $1; - _TraceLog(0,5762,$vararg_buffer41); + HEAP32[3933] = $0; + HEAP32[3934] = $1; + _TraceLog(0,5776,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3599]|0; + $0 = HEAP32[3601]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[3600]|0; + $2 = HEAP32[3602]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[3597]|0; + $4 = HEAP32[3599]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[3598]|0; + $6 = HEAP32[3600]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14035,12 +14234,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 14408; + $modelview$sink = 14416; label = 3; break; } case 5888: { - $modelview$sink = 14472; + $modelview$sink = 14480; label = 3; break; } @@ -14048,9 +14247,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[3601] = $modelview$sink; + HEAP32[3603] = $modelview$sink; } - HEAP32[3634] = $0; + HEAP32[3636] = $0; return; } function _rlLoadIdentity() { @@ -14058,7 +14257,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[3601]|0; + $1 = HEAP32[3603]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14079,7 +14278,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[3601]|0; + $8 = HEAP32[3603]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14138,17 +14337,17 @@ function _LoadDefaultShader($0) { $1 = sp + 16|0; $2 = sp + 513|0; $3 = sp + 72|0; - _memcpy(($2|0),(6338|0),489)|0; - _memcpy(($3|0),(6827|0),441)|0; + _memcpy(($2|0),(6352|0),489)|0; + _memcpy(($3|0),(6841|0),441)|0; $4 = (_LoadShaderProgram($2,$3)|0); HEAP32[$1>>2] = $4; $5 = ($4|0)==(0); if ($5) { HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,7316,$vararg_buffer1); + _TraceLog(2,7330,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,7268,$vararg_buffer); + _TraceLog(0,7282,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -14176,15 +14375,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(15744)>>2] = $0; + HEAP32[(15752)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(15752)>>2] = $1; - HEAP32[(15748)>>2] = 0; + HEAP32[(15760)>>2] = $1; HEAP32[(15756)>>2] = 0; + HEAP32[(15764)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(15752)>>2]|0; + $2 = HEAP32[(15760)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14195,19 +14394,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[3933] = 0; - HEAP32[(15740)>>2] = 0; - HEAP32[(15736)>>2] = 0; + HEAP32[3935] = 0; + HEAP32[(15748)>>2] = 0; + HEAP32[(15744)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(15792)>>2] = $5; + HEAP32[(15800)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(15800)>>2] = $6; - HEAP32[(15796)>>2] = 0; + HEAP32[(15808)>>2] = $6; HEAP32[(15804)>>2] = 0; + HEAP32[(15812)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(15800)>>2]|0; + $7 = HEAP32[(15808)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14218,24 +14417,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[3945] = 0; - HEAP32[(15788)>>2] = 0; - HEAP32[(15784)>>2] = 0; + HEAP32[3947] = 0; + HEAP32[(15796)>>2] = 0; + HEAP32[(15792)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(15840)>>2] = $10; + HEAP32[(15848)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(15844)>>2] = $11; + HEAP32[(15852)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(15848)>>2] = $12; + HEAP32[(15856)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(15852)>>2] = $13; - $14 = HEAP32[(15840)>>2]|0; + HEAP32[(15860)>>2] = $13; + $14 = HEAP32[(15848)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(15844)>>2]|0; + $15 = HEAP32[(15852)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(15848)>>2]|0; + $17 = HEAP32[(15856)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14246,7 +14445,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(15852)>>2]|0; + $16 = HEAP32[(15860)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14283,140 +14482,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[3957] = 0; - HEAP32[(15832)>>2] = 0; - HEAP32[(15836)>>2] = 0; - _TraceLog(0,5809,$vararg_buffer); - $20 = HEAP32[3635]|0; + HEAP32[3959] = 0; + HEAP32[(15840)>>2] = 0; + HEAP32[(15844)>>2] = 0; + _TraceLog(0,5823,$vararg_buffer); + $20 = HEAP32[3637]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[3636]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(15760)); - $44 = HEAP32[3637]|0; - $45 = HEAP32[(15760)>>2]|0; + $43 = HEAP32[3638]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(15768)); + $44 = HEAP32[3639]|0; + $45 = HEAP32[(15768)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((15764)|0)); - $46 = HEAP32[(15764)>>2]|0; + _glGenBuffers(2,((15772)|0)); + $46 = HEAP32[(15772)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(15744)>>2]|0; + $47 = HEAP32[(15752)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(14632)>>2]|0; + $48 = HEAP32[(14640)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(14632)>>2]|0; + $49 = HEAP32[(14640)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((15768)|0)); - $50 = HEAP32[(15768)>>2]|0; + _glGenBuffers(2,((15776)|0)); + $50 = HEAP32[(15776)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(15752)>>2]|0; + $51 = HEAP32[(15760)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(14652)>>2]|0; + $52 = HEAP32[(14660)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(14652)>>2]|0; + $53 = HEAP32[(14660)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[3635]|0; + $54 = HEAP32[3637]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(15764)>>2]|0; - $58 = HEAP32[(15768)>>2]|0; + $57 = HEAP32[(15772)>>2]|0; + $58 = HEAP32[(15776)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,5947,$vararg_buffer3); + _TraceLog(0,5961,$vararg_buffer3); } else { - $56 = HEAP32[(15760)>>2]|0; + $56 = HEAP32[(15768)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,5882,$vararg_buffer1); + _TraceLog(0,5896,$vararg_buffer1); } - $59 = HEAP32[3635]|0; + $59 = HEAP32[3637]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[3636]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(15808)); - $62 = HEAP32[3637]|0; - $63 = HEAP32[(15808)>>2]|0; + $61 = HEAP32[3638]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(15816)); + $62 = HEAP32[3639]|0; + $63 = HEAP32[(15816)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((15812)|0)); - $64 = HEAP32[(15812)>>2]|0; + _glGenBuffers(1,((15820)|0)); + $64 = HEAP32[(15820)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(15792)>>2]|0; + $65 = HEAP32[(15800)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(14632)>>2]|0; + $66 = HEAP32[(14640)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(14632)>>2]|0; + $67 = HEAP32[(14640)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((15816)|0)); - $68 = HEAP32[(15816)>>2]|0; + _glGenBuffers(1,((15824)|0)); + $68 = HEAP32[(15824)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(15800)>>2]|0; + $69 = HEAP32[(15808)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(14652)>>2]|0; + $70 = HEAP32[(14660)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(14652)>>2]|0; + $71 = HEAP32[(14660)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[3635]|0; + $72 = HEAP32[3637]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(15812)>>2]|0; - $76 = HEAP32[(15816)>>2]|0; + $75 = HEAP32[(15820)>>2]|0; + $76 = HEAP32[(15824)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,6093,$vararg_buffer10); + _TraceLog(0,6107,$vararg_buffer10); } else { - $74 = HEAP32[(15808)>>2]|0; + $74 = HEAP32[(15816)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,6024,$vararg_buffer7); + _TraceLog(0,6038,$vararg_buffer7); } - $77 = HEAP32[3635]|0; + $77 = HEAP32[3637]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[3636]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(15856)); - $80 = HEAP32[3637]|0; - $81 = HEAP32[(15856)>>2]|0; + $79 = HEAP32[3638]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(15864)); + $80 = HEAP32[3639]|0; + $81 = HEAP32[(15864)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((15860)|0)); - $82 = HEAP32[(15860)>>2]|0; - _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(15840)>>2]|0; - _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(14632)>>2]|0; - _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(14632)>>2]|0; - _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((15864)|0)); - $86 = HEAP32[(15864)>>2]|0; - _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(15844)>>2]|0; - _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(14636)>>2]|0; - _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(14636)>>2]|0; - _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); _glGenBuffers(1,((15868)|0)); - $90 = HEAP32[(15868)>>2]|0; - _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(15848)>>2]|0; - _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(14652)>>2]|0; - _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(14652)>>2]|0; - _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + $82 = HEAP32[(15868)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(15848)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(14640)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(14640)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); _glGenBuffers(1,((15872)|0)); - $94 = HEAP32[(15872)>>2]|0; + $86 = HEAP32[(15872)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(15852)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(14644)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(14644)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((15876)|0)); + $90 = HEAP32[(15876)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(15856)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(14660)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(14660)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((15880)|0)); + $94 = HEAP32[(15880)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(15852)>>2]|0; + $95 = HEAP32[(15860)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[3635]|0; + $96 = HEAP32[3637]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(15860)>>2]|0; - $100 = HEAP32[(15864)>>2]|0; - $101 = HEAP32[(15868)>>2]|0; - $102 = HEAP32[(15872)>>2]|0; + $99 = HEAP32[(15868)>>2]|0; + $100 = HEAP32[(15872)>>2]|0; + $101 = HEAP32[(15876)>>2]|0; + $102 = HEAP32[(15880)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14424,18 +14623,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,6239,$vararg_buffer17); + _TraceLog(0,6253,$vararg_buffer17); } else { - $98 = HEAP32[(15856)>>2]|0; + $98 = HEAP32[(15864)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,6174,$vararg_buffer14); + _TraceLog(0,6188,$vararg_buffer14); } - $103 = HEAP32[3635]|0; + $103 = HEAP32[3637]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[3637]|0; + $105 = HEAP32[3639]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14472,10 +14671,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,7572,$vararg_buffer4); + _TraceLog(0,7586,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,7520,$vararg_buffer); + _TraceLog(2,7534,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -14485,7 +14684,7 @@ function _LoadShaderProgram($0,$1) { $13 = HEAP32[$vararg_buffer>>2]|0; _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,7569,$vararg_buffer1); + _TraceLog(0,7583,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -14494,10 +14693,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,7673,$vararg_buffer13); + _TraceLog(0,7687,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,7622,$vararg_buffer7); + _TraceLog(2,7636,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -14507,25 +14706,25 @@ function _LoadShaderProgram($0,$1) { $19 = HEAP32[$vararg_buffer7>>2]|0; _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,7569,$vararg_buffer10); + _TraceLog(0,7583,$vararg_buffer10); _llvm_stackrestore(($17|0)); } $20 = (_glCreateProgram()|0); _glAttachShader(($20|0),($6|0)); _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(7364|0)); - _glBindAttribLocation(($20|0),1,(7379|0)); - _glBindAttribLocation(($20|0),2,(7410|0)); - _glBindAttribLocation(($20|0),3,(7437|0)); - _glBindAttribLocation(($20|0),4,(7423|0)); - _glBindAttribLocation(($20|0),5,(7394|0)); + _glBindAttribLocation(($20|0),0,(7378|0)); + _glBindAttribLocation(($20|0),1,(7393|0)); + _glBindAttribLocation(($20|0),2,(7424|0)); + _glBindAttribLocation(($20|0),3,(7451|0)); + _glBindAttribLocation(($20|0),4,(7437|0)); + _glBindAttribLocation(($20|0),5,(7408|0)); _glLinkProgram(($20|0)); _glGetProgramiv(($20|0),35714,($4|0)); $21 = HEAP32[$4>>2]|0; $22 = ($21|0)==(0); if ($22) { HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,7725,$vararg_buffer16); + _TraceLog(2,7739,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -14535,7 +14734,7 @@ function _LoadShaderProgram($0,$1) { $26 = HEAP32[$vararg_buffer16>>2]|0; _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,7569,$vararg_buffer19); + _TraceLog(0,7583,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -14544,7 +14743,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,7771,$vararg_buffer22); + _TraceLog(0,7785,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -14559,55 +14758,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(7364|0))|0); + $2 = (_glGetAttribLocation(($1|0),(7378|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(7379|0))|0); + $5 = (_glGetAttribLocation(($4|0),(7393|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(7394|0))|0); + $8 = (_glGetAttribLocation(($7|0),(7408|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(7410|0))|0); + $11 = (_glGetAttribLocation(($10|0),(7424|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(7423|0))|0); + $14 = (_glGetAttribLocation(($13|0),(7437|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(7437|0))|0); + $17 = (_glGetAttribLocation(($16|0),(7451|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(7449|0))|0); + $20 = (_glGetUniformLocation(($19|0),(7463|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(7459|0))|0); + $23 = (_glGetUniformLocation(($22|0),(7473|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(7470|0))|0); + $26 = (_glGetUniformLocation(($25|0),(7484|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(7481|0))|0); + $29 = (_glGetUniformLocation(($28|0),(7495|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(7493|0))|0); + $32 = (_glGetUniformLocation(($31|0),(7507|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(7502|0))|0); + $35 = (_glGetUniformLocation(($34|0),(7516|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(7511|0))|0); + $38 = (_glGetUniformLocation(($37|0),(7525|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -14616,9 +14815,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (17029 + ($0)|0); + $1 = (17037 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (17032 + ($0)|0); + $3 = (17040 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14630,9 +14829,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (17029 + ($0)|0); + $1 = (17037 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (17032 + ($0)|0); + $3 = (17040 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14653,10 +14852,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[3554]|0; + $0 = HEAP32[3556]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,8083,$vararg_buffer); + _TraceLog(0,8097,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -14664,9 +14863,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[14256>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[14256+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[14256+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[14256+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[14256+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[14264>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[14264+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[14264+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[14264+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[14264+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(14284)>>2]|0; + $0 = HEAP32[(14292)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14677,11 +14876,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(14568|0)); - $0 = HEAP32[3642]|0; + _glDeleteTextures(1,(14576|0)); + $0 = HEAP32[3644]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,8110,$vararg_buffer); - $1 = HEAP32[3672]|0; + _TraceLog(0,8124,$vararg_buffer); + $1 = HEAP32[3674]|0; _free($1); STACKTOP = sp;return; } @@ -14689,17 +14888,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[3643]|0; + $0 = HEAP32[3645]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[3635]|0; + $0 = HEAP32[3637]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[3637]|0; + $2 = HEAP32[3639]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14708,39 +14907,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((15764)|0)); - _glDeleteBuffers(1,((15768)|0)); - _glDeleteBuffers(1,((15812)|0)); - _glDeleteBuffers(1,((15816)|0)); - _glDeleteBuffers(1,((15860)|0)); - _glDeleteBuffers(1,((15864)|0)); + _glDeleteBuffers(1,((15772)|0)); + _glDeleteBuffers(1,((15776)|0)); + _glDeleteBuffers(1,((15820)|0)); + _glDeleteBuffers(1,((15824)|0)); _glDeleteBuffers(1,((15868)|0)); _glDeleteBuffers(1,((15872)|0)); - $3 = HEAP32[3635]|0; + _glDeleteBuffers(1,((15876)|0)); + _glDeleteBuffers(1,((15880)|0)); + $3 = HEAP32[3637]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[3638]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(15760)); - $6 = HEAP32[3638]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(15808)); - $7 = HEAP32[3638]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(15856)); + $5 = HEAP32[3640]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(15768)); + $6 = HEAP32[3640]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(15816)); + $7 = HEAP32[3640]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(15864)); } - $8 = HEAP32[(15744)>>2]|0; + $8 = HEAP32[(15752)>>2]|0; _free($8); - $9 = HEAP32[(15752)>>2]|0; + $9 = HEAP32[(15760)>>2]|0; _free($9); - $10 = HEAP32[(15792)>>2]|0; + $10 = HEAP32[(15800)>>2]|0; _free($10); - $11 = HEAP32[(15800)>>2]|0; + $11 = HEAP32[(15808)>>2]|0; _free($11); - $12 = HEAP32[(15840)>>2]|0; + $12 = HEAP32[(15848)>>2]|0; _free($12); - $13 = HEAP32[(15844)>>2]|0; + $13 = HEAP32[(15852)>>2]|0; _free($13); - $14 = HEAP32[(15848)>>2]|0; + $14 = HEAP32[(15856)>>2]|0; _free($14); - $15 = HEAP32[(15852)>>2]|0; + $15 = HEAP32[(15860)>>2]|0; _free($15); return; } @@ -14758,7 +14957,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8175,$vararg_buffer); + _TraceLog(0,8189,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -14780,16 +14979,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[1763] = $0; - $1 = +HEAPF64[1746]; + HEAPF64[1764] = $0; + $1 = +HEAPF64[1747]; $2 = $0 - $1; - HEAPF64[1764] = $2; - HEAPF64[1746] = $0; + HEAPF64[1765] = $2; + HEAPF64[1747] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=14312; 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)); + dest=$downscaleView$byval_copy; src=14320; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(15884); + _rlMultMatrixf(15892); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -14798,53 +14997,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[3971] = $1; + HEAP32[3973] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(15888)>>2] = $3; + HEAP32[(15896)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(15892)>>2] = $5; + HEAP32[(15900)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(15896)>>2] = $7; + HEAP32[(15904)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(15900)>>2] = $9; + HEAP32[(15908)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(15904)>>2] = $11; + HEAP32[(15912)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(15908)>>2] = $13; + HEAP32[(15916)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(15912)>>2] = $15; + HEAP32[(15920)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(15916)>>2] = $17; + HEAP32[(15924)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(15920)>>2] = $19; + HEAP32[(15928)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(15924)>>2] = $21; + HEAP32[(15932)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(15928)>>2] = $23; + HEAP32[(15936)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(15932)>>2] = $25; + HEAP32[(15940)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(15936)>>2] = $27; + HEAP32[(15944)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(15940)>>2] = $29; + HEAP32[(15948)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(15944)>>2] = $31; - return (15884|0); + HEAP32[(15952)>>2] = $31; + return (15892|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -14919,7 +15118,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[3601]|0; + $49 = HEAP32[3603]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -14933,15 +15132,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[1763] = $0; - $1 = +HEAPF64[1746]; + HEAPF64[1764] = $0; + $1 = +HEAPF64[1747]; $2 = $0 - $1; - HEAPF64[1765] = $2; - HEAPF64[1746] = $0; - $3 = +HEAPF64[1764]; + HEAPF64[1766] = $2; + HEAPF64[1747] = $0; + $3 = +HEAPF64[1765]; $4 = $2 + $3; - HEAPF64[1766] = $4; - $5 = +HEAPF64[1743]; + HEAPF64[1767] = $4; + $5 = +HEAPF64[1744]; $6 = $4 < $5; if (!($6)) { return; @@ -14951,13 +15150,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[1763] = $10; - $11 = +HEAPF64[1746]; + HEAPF64[1764] = $10; + $11 = +HEAPF64[1747]; $12 = $10 - $11; - HEAPF64[1746] = $10; - $13 = +HEAPF64[1766]; + HEAPF64[1747] = $10; + $13 = +HEAPF64[1767]; $14 = $12 + $13; - HEAPF64[1766] = $14; + HEAPF64[1767] = $14; return; } function _rlglDraw() { @@ -14970,7 +15169,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3554]|0; + $0 = HEAP32[3556]|0; _glfwSwapBuffers(($0|0)); return; } @@ -14986,20 +15185,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[3987] = 0; - $3 = HEAP32[3554]|0; + HEAP32[3989] = 0; + $3 = HEAP32[3556]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[3484] = $5; + HEAPF32[3486] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(13940)>>2] = $7; - _memcpy((17547|0),(17035|0),512)|0; - ;HEAP8[17032>>0]=HEAP8[17029>>0]|0;HEAP8[17032+1>>0]=HEAP8[17029+1>>0]|0;HEAP8[17032+2>>0]=HEAP8[17029+2>>0]|0; - $8 = HEAP32[3970]|0; - HEAP32[3557] = $8; - HEAP32[3970] = 0; + HEAPF32[(13948)>>2] = $7; + _memcpy((17555|0),(17043|0),512)|0; + ;HEAP8[17040>>0]=HEAP8[17037>>0]|0;HEAP8[17040+1>>0]=HEAP8[17037+1>>0]|0;HEAP8[17040+2>>0]=HEAP8[17037+2>>0]|0; + $8 = HEAP32[3972]|0; + HEAP32[3559] = $8; + HEAP32[3972] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15009,8 +15208,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (18059 + ($$05160<<5)|0); - $scevgep67 = (18187 + ($$05160<<5)|0); + $scevgep = (18067 + ($$05160<<5)|0); + $scevgep67 = (18195 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15024,7 +15223,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((18187 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((18195 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15051,7 +15250,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((15952 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((15960 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15067,7 +15266,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[3987] = $$lcssa; + HEAP32[3989] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15108,87 +15307,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3933]|0; + $0 = HEAP32[3935]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[3635]|0; + $2 = HEAP32[3637]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[3637]|0; - $5 = HEAP32[(15760)>>2]|0; + $4 = HEAP32[3639]|0; + $5 = HEAP32[(15768)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(15764)>>2]|0; + $6 = HEAP32[(15772)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[3933]|0; + $7 = HEAP32[3935]|0; $8 = ($7*12)|0; - $9 = HEAP32[(15744)>>2]|0; + $9 = HEAP32[(15752)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(15768)>>2]|0; + $10 = HEAP32[(15776)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(15740)>>2]|0; + $11 = HEAP32[(15748)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(15752)>>2]|0; + $13 = HEAP32[(15760)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[3945]|0; + $14 = HEAP32[3947]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[3635]|0; + $16 = HEAP32[3637]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[3637]|0; - $19 = HEAP32[(15808)>>2]|0; + $18 = HEAP32[3639]|0; + $19 = HEAP32[(15816)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(15812)>>2]|0; + $20 = HEAP32[(15820)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[3945]|0; + $21 = HEAP32[3947]|0; $22 = ($21*12)|0; - $23 = HEAP32[(15792)>>2]|0; + $23 = HEAP32[(15800)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(15816)>>2]|0; + $24 = HEAP32[(15824)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(15788)>>2]|0; + $25 = HEAP32[(15796)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(15800)>>2]|0; + $27 = HEAP32[(15808)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[3957]|0; + $28 = HEAP32[3959]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[3635]|0; + $30 = HEAP32[3637]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[3637]|0; - $33 = HEAP32[(15856)>>2]|0; + $32 = HEAP32[3639]|0; + $33 = HEAP32[(15864)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(15860)>>2]|0; + $34 = HEAP32[(15868)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[3957]|0; + $35 = HEAP32[3959]|0; $36 = ($35*12)|0; - $37 = HEAP32[(15840)>>2]|0; + $37 = HEAP32[(15848)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(15864)>>2]|0; + $38 = HEAP32[(15872)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[3957]|0; + $39 = HEAP32[3959]|0; $40 = $39 << 3; - $41 = HEAP32[(15844)>>2]|0; + $41 = HEAP32[(15852)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(15868)>>2]|0; + $42 = HEAP32[(15876)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[3957]|0; + $43 = HEAP32[3959]|0; $44 = $43 << 2; - $45 = HEAP32[(15848)>>2]|0; + $45 = HEAP32[(15856)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[3635]|0; + $46 = HEAP32[3637]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[3637]|0; + $48 = HEAP32[3639]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15206,9 +15405,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=14408; 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)); - dest=$1; src=14472; 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)); - $3 = HEAP32[4020]|0; + dest=$0; src=14416; 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)); + dest=$1; src=14480; 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)); + $3 = HEAP32[4022]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15218,134 +15417,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[3933]|0; + $8 = HEAP32[3935]|0; $9 = ($8|0)>(0); - $10 = HEAP32[3945]|0; + $10 = HEAP32[3947]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[3957]|0; + $12 = HEAP32[3959]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[3657]|0; + $14 = HEAP32[3659]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=14472; 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)); - dest=$$byval_copy2; src=14408; 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)); + dest=$modelview$byval_copy; src=14480; 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)); + dest=$$byval_copy2; src=14416; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(14656)>>2]|0; + $15 = HEAP32[(14664)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(14660)>>2]|0; + $17 = HEAP32[(14668)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(14672)>>2]|0; + $18 = HEAP32[(14680)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[3933]|0; + $19 = HEAP32[3935]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[3642]|0; + $21 = HEAP32[3644]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[3635]|0; + $22 = HEAP32[3637]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(15764)>>2]|0; + $26 = HEAP32[(15772)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(14632)>>2]|0; + $27 = HEAP32[(14640)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(14632)>>2]|0; + $28 = HEAP32[(14640)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(15768)>>2]|0; + $29 = HEAP32[(15776)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(14652)>>2]|0; + $30 = HEAP32[(14660)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(14652)>>2]|0; + $31 = HEAP32[(14660)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[3637]|0; - $25 = HEAP32[(15760)>>2]|0; + $24 = HEAP32[3639]|0; + $25 = HEAP32[(15768)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[3933]|0; + $32 = HEAP32[3935]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[3635]|0; + $33 = HEAP32[3637]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[3945]|0; + $35 = HEAP32[3947]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[3642]|0; + $37 = HEAP32[3644]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[3635]|0; + $38 = HEAP32[3637]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(15812)>>2]|0; + $42 = HEAP32[(15820)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(14632)>>2]|0; + $43 = HEAP32[(14640)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(14632)>>2]|0; + $44 = HEAP32[(14640)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(15816)>>2]|0; + $45 = HEAP32[(15824)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(14652)>>2]|0; + $46 = HEAP32[(14660)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(14652)>>2]|0; + $47 = HEAP32[(14660)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[3637]|0; - $41 = HEAP32[(15808)>>2]|0; + $40 = HEAP32[3639]|0; + $41 = HEAP32[(15816)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[3945]|0; + $48 = HEAP32[3947]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[3635]|0; + $49 = HEAP32[3637]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[3957]|0; + $51 = HEAP32[3959]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[3635]|0; + $53 = HEAP32[3637]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(15860)>>2]|0; + $57 = HEAP32[(15868)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(14632)>>2]|0; + $58 = HEAP32[(14640)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(14632)>>2]|0; + $59 = HEAP32[(14640)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(15864)>>2]|0; + $60 = HEAP32[(15872)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(14636)>>2]|0; + $61 = HEAP32[(14644)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(14636)>>2]|0; + $62 = HEAP32[(14644)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(15868)>>2]|0; + $63 = HEAP32[(15876)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(14652)>>2]|0; + $64 = HEAP32[(14660)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(14652)>>2]|0; + $65 = HEAP32[(14660)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(15872)>>2]|0; + $66 = HEAP32[(15880)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[3637]|0; - $56 = HEAP32[(15856)>>2]|0; + $55 = HEAP32[3639]|0; + $56 = HEAP32[(15864)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[3673]|0; + $67 = HEAP32[3675]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[3672]|0; + $71 = HEAP32[3674]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15356,14 +15555,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[3672]|0; + $80 = HEAP32[3674]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[3673]|0; + $87 = HEAP32[3675]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15372,7 +15571,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[3635]|0; + $69 = HEAP32[3637]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15380,10 +15579,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[3635]|0; + $89 = HEAP32[3637]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[3637]|0; + $91 = HEAP32[3639]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15395,22 +15594,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[3673] = 1; - $5 = HEAP32[3642]|0; - $6 = HEAP32[3672]|0; + HEAP32[3675] = 1; + $5 = HEAP32[3644]|0; + $6 = HEAP32[3674]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[3933] = 0; - HEAP32[(15740)>>2] = 0; - HEAP32[3945] = 0; - HEAP32[(15788)>>2] = 0; - HEAP32[3957] = 0; - HEAP32[(15832)>>2] = 0; - HEAP32[(15836)>>2] = 0; + HEAP32[3935] = 0; + HEAP32[(15748)>>2] = 0; + HEAP32[3947] = 0; + HEAP32[(15796)>>2] = 0; + HEAP32[3959] = 0; + HEAP32[(15840)>>2] = 0; + HEAP32[(15844)>>2] = 0; HEAPF32[744] = -1.0; - dest=14408; src=$0; 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)); - dest=14472; src=$1; 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)); + dest=14416; src=$0; 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)); + dest=14480; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15425,17 +15624,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[3931]|0; + $5 = HEAP32[3933]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[3932]|0; + $9 = HEAP32[3934]|0; _rlViewport($7,0,$8,$9); - $10 = (16312 + ($0<<6)|0); + $10 = (16320 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (16184 + ($0<<6)|0); + $11 = (16192 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -15447,14 +15646,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=14472; src=$0; 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)); + dest=14480; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=14408; src=$0; 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)); + dest=14416; src=$0; 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)); return; } function _rlPushMatrix() { @@ -15462,79 +15661,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4110]|0; + $0 = HEAP32[4112]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,8225,$vararg_buffer); + _TraceLog(1,8239,$vararg_buffer); } - $2 = HEAP32[4110]|0; - $3 = (14700 + ($2<<6)|0); - $4 = HEAP32[3601]|0; + $2 = HEAP32[4112]|0; + $3 = (14708 + ($2<<6)|0); + $4 = HEAP32[3603]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[4110]|0; + $5 = HEAP32[4112]|0; $6 = (($5) + 1)|0; - HEAP32[4110] = $6; - $7 = HEAP32[3634]|0; + HEAP32[4112] = $6; + $7 = HEAP32[3636]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4111] = 1; + HEAP32[4113] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4110]|0; + $0 = HEAP32[4112]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4110]|0; + $2 = HEAP32[4112]|0; $3 = (($2) + -1)|0; - $4 = (14700 + ($3<<6)|0); - $5 = HEAP32[3601]|0; + $4 = (14708 + ($3<<6)|0); + $5 = HEAP32[3603]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4110] = $6; - return; -} -function _Fade($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$0 = 0.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.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2 < 0.0; - if ($3) { - $$0 = 0.0; - } else { - $4 = $2 > 1.0; - if ($4) { - $$0 = 1.0; - } else { - $$0 = $2; - } - } - $5 = ((($1)) + 3|0); - $6 = HEAP8[$5>>0]|0; - $7 = (+($6&255)); - $8 = $$0 * $7; - $9 = HEAP8[$1>>0]|0; - HEAP8[$0>>0] = $9; - $10 = ((($0)) + 1|0); - $11 = ((($1)) + 1|0); - $12 = HEAP8[$11>>0]|0; - HEAP8[$10>>0] = $12; - $13 = ((($0)) + 2|0); - $14 = ((($1)) + 2|0); - $15 = HEAP8[$14>>0]|0; - HEAP8[$13>>0] = $15; - $16 = ((($0)) + 3|0); - $17 = (~~(($8))&255); - HEAP8[$16>>0] = $17; + HEAP32[4112] = $6; return; } function _rlTranslatef($0,$1,$2) { @@ -15550,7 +15713,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[3601]|0; + $5 = HEAP32[3603]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15583,7 +15746,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[3601]|0; + $11 = HEAP32[3603]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15594,7 +15757,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[3674] = $0; + HEAP32[3676] = $0; return; } function _rlEnd() { @@ -15610,21 +15773,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4111]|0; + $0 = HEAP32[4113]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4112]|0; + $2 = HEAP32[4114]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[3671]|0; + $6 = HEAP32[3673]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[3601]|0; + $8 = HEAP32[3603]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4112]|0; + $5 = HEAP32[4114]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15632,12 +15795,12 @@ function _rlEnd() { break; } } - HEAP32[4111] = 0; + HEAP32[4113] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[3671]|0; + $11 = HEAP32[3673]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15646,7 +15809,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4112]|0; + $19 = HEAP32[4114]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15656,15 +15819,15 @@ function _rlEnd() { } } } else { - HEAP32[4111] = 0; + HEAP32[4113] = 0; } - HEAP32[4112] = 0; + HEAP32[4114] = 0; } - $21 = HEAP32[3674]|0; + $21 = HEAP32[3676]|0; switch ($21|0) { case 1: { - $22 = HEAP32[3933]|0; - $23 = HEAP32[(15740)>>2]|0; + $22 = HEAP32[3935]|0; + $23 = HEAP32[(15748)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15683,16 +15846,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(15752)>>2]|0; - $28 = HEAP32[(15740)>>2]|0; + $27 = HEAP32[(15760)>>2]|0; + $28 = HEAP32[(15748)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(15752)>>2]|0; - $35 = HEAP32[(15740)>>2]|0; + $34 = HEAP32[(15760)>>2]|0; + $35 = HEAP32[(15748)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15700,8 +15863,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(15752)>>2]|0; - $43 = HEAP32[(15740)>>2]|0; + $42 = HEAP32[(15760)>>2]|0; + $43 = HEAP32[(15748)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15709,8 +15872,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(15752)>>2]|0; - $51 = HEAP32[(15740)>>2]|0; + $50 = HEAP32[(15760)>>2]|0; + $51 = HEAP32[(15748)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15718,9 +15881,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(15740)>>2]|0; + $58 = HEAP32[(15748)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(15740)>>2] = $59; + HEAP32[(15748)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15736,8 +15899,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[3945]|0; - $62 = HEAP32[(15788)>>2]|0; + $61 = HEAP32[3947]|0; + $62 = HEAP32[(15796)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15756,16 +15919,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(15800)>>2]|0; - $67 = HEAP32[(15788)>>2]|0; + $66 = HEAP32[(15808)>>2]|0; + $67 = HEAP32[(15796)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(15800)>>2]|0; - $74 = HEAP32[(15788)>>2]|0; + $73 = HEAP32[(15808)>>2]|0; + $74 = HEAP32[(15796)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15773,8 +15936,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(15800)>>2]|0; - $82 = HEAP32[(15788)>>2]|0; + $81 = HEAP32[(15808)>>2]|0; + $82 = HEAP32[(15796)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15782,8 +15945,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(15800)>>2]|0; - $90 = HEAP32[(15788)>>2]|0; + $89 = HEAP32[(15808)>>2]|0; + $90 = HEAP32[(15796)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15791,9 +15954,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(15788)>>2]|0; + $97 = HEAP32[(15796)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(15788)>>2] = $98; + HEAP32[(15796)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -15809,8 +15972,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[3957]|0; - $101 = HEAP32[(15836)>>2]|0; + $100 = HEAP32[3959]|0; + $101 = HEAP32[(15844)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -15818,16 +15981,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(15848)>>2]|0; - $106 = HEAP32[(15836)>>2]|0; + $105 = HEAP32[(15856)>>2]|0; + $106 = HEAP32[(15844)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(15848)>>2]|0; - $113 = HEAP32[(15836)>>2]|0; + $112 = HEAP32[(15856)>>2]|0; + $113 = HEAP32[(15844)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -15835,8 +15998,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(15848)>>2]|0; - $121 = HEAP32[(15836)>>2]|0; + $120 = HEAP32[(15856)>>2]|0; + $121 = HEAP32[(15844)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -15844,8 +16007,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(15848)>>2]|0; - $129 = HEAP32[(15836)>>2]|0; + $128 = HEAP32[(15856)>>2]|0; + $129 = HEAP32[(15844)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -15853,9 +16016,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(15836)>>2]|0; + $136 = HEAP32[(15844)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(15836)>>2] = $137; + HEAP32[(15844)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -15866,8 +16029,8 @@ function _rlEnd() { } } } - $139 = HEAP32[3957]|0; - $140 = HEAP32[(15832)>>2]|0; + $139 = HEAP32[3959]|0; + $140 = HEAP32[(15840)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -15875,8 +16038,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(15844)>>2]|0; - $$promoted = HEAP32[(15832)>>2]|0; + $142 = HEAP32[(15852)>>2]|0; + $$promoted = HEAP32[(15840)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -15884,7 +16047,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(15832)>>2] = $147; + HEAP32[(15840)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -15911,11 +16074,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4111]|0; + $3 = HEAP32[4113]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[3671]|0; - $6 = HEAP32[4112]|0; + $5 = HEAP32[3673]|0; + $6 = HEAP32[4114]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -15923,16 +16086,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4112] = $10; + HEAP32[4114] = $10; STACKTOP = sp;return; } - $11 = HEAP32[3674]|0; + $11 = HEAP32[3676]|0; switch ($11|0) { case 1: { - $12 = HEAP32[3933]|0; + $12 = HEAP32[3935]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(15744)>>2]|0; + $14 = HEAP32[(15752)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -15943,19 +16106,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[3933] = $21; + HEAP32[3935] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,8263,$vararg_buffer); + _TraceLog(1,8277,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[3945]|0; + $22 = HEAP32[3947]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(15792)>>2]|0; + $24 = HEAP32[(15800)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -15966,19 +16129,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[3945] = $31; + HEAP32[3947] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,8288,$vararg_buffer1); + _TraceLog(1,8302,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[3957]|0; + $32 = HEAP32[3959]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(15840)>>2]|0; + $34 = HEAP32[(15848)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -15989,9 +16152,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[3957] = $41; - $42 = HEAP32[3672]|0; - $43 = HEAP32[3673]|0; + HEAP32[3959] = $41; + $42 = HEAP32[3674]|0; + $43 = HEAP32[3675]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -15999,7 +16162,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,8317,$vararg_buffer3); + _TraceLog(1,8331,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -16023,13 +16186,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[3674]|0; + $2 = HEAP32[3676]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(15844)>>2]|0; - $5 = HEAP32[(15832)>>2]|0; + $4 = HEAP32[(15852)>>2]|0; + $5 = HEAP32[(15840)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16037,7 +16200,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(15832)>>2] = $10; + HEAP32[(15840)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16056,18 +16219,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[3674]|0; + $4 = HEAP32[3676]|0; switch ($4|0) { case 1: { - $$sink37 = (15740);$$sink38 = (15752); + $$sink37 = (15748);$$sink38 = (15760); break; } case 4: { - $$sink37 = (15788);$$sink38 = (15800); + $$sink37 = (15796);$$sink38 = (15808); break; } case 7: { - $$sink37 = (15836);$$sink38 = (15848); + $$sink37 = (15844);$$sink38 = (15856); break; } default: { @@ -16106,8 +16269,8 @@ function _rlEnableTexture($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 = HEAP32[3672]|0; - $2 = HEAP32[3673]|0; + $1 = HEAP32[3674]|0; + $2 = HEAP32[3675]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16120,9 +16283,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[3673] = $10; + HEAP32[3675] = $10; } - $11 = HEAP32[3673]|0; + $11 = HEAP32[3675]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16133,7 +16296,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3957]|0; + $0 = HEAP32[3959]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16155,11 +16318,11 @@ function _LoadImageRaw($0,$1,$2,$3,$4,$5) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $6 = (_fopen($1,8342)|0); + $6 = (_fopen($1,8356)|0); $7 = ($6|0)==(0|0); if ($7) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,8345,$vararg_buffer); + _TraceLog(2,8359,$vararg_buffer); $$sroa$0$1 = 0;$$sroa$14$1 = 0;$$sroa$16$1 = 0;$$sroa$20$1 = 0; } else { $8 = ($5|0)>(0); @@ -16207,7 +16370,7 @@ function _LoadImageRaw($0,$1,$2,$3,$4,$5) { break; } default: { - _TraceLog(2,8385,$vararg_buffer1); + _TraceLog(2,8399,$vararg_buffer1); $$0 = $9;$$sroa$0$0 = 0; } } @@ -16215,7 +16378,7 @@ function _LoadImageRaw($0,$1,$2,$3,$4,$5) { $21 = ($20>>>0)<($$0>>>0); if ($21) { HEAP32[$vararg_buffer3>>2] = $1; - _TraceLog(2,8411,$vararg_buffer3); + _TraceLog(2,8425,$vararg_buffer3); $22 = ($$sroa$0$0|0)==(0|0); if ($22) { $$sroa$14$0 = 0;$$sroa$16$0 = 0;$$sroa$20$0 = 0; @@ -16244,7 +16407,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[14256>>2]|0;HEAP32[$0+4>>2]=HEAP32[14256+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[14256+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[14256+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[14256+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[14256+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[14256+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[14256+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[14264>>2]|0;HEAP32[$0+4>>2]=HEAP32[14264+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[14264+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[14264+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[14264+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[14264+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[14264+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[14264+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -16750,7 +16913,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,8479)|0); + $12 = (_strstr($11,8493)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -16759,7 +16922,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,8483)|0); + $17 = (_strstr($16,8497)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -16768,7 +16931,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,8487)|0); + $22 = (_strstr($21,8501)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -16777,7 +16940,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,8491)|0); + $27 = (_strstr($26,8505)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -16786,1210 +16949,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,8497)|0); + $32 = (_strcmp($31,8511)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,8535)|0); + $35 = (_strcmp($34,8549)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 8554; + HEAP32[$3>>2] = 8568; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,8567)|0); + $38 = (_strcmp($37,8581)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 8588; + HEAP32[$3>>2] = 8602; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,8603)|0); + $41 = (_strcmp($40,8617)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 8618; + HEAP32[$3>>2] = 8632; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,8633)|0); + $44 = (_strcmp($43,8647)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 8648; + HEAP32[$3>>2] = 8662; } } else { - HEAP32[$3>>2] = 8519; + HEAP32[$3>>2] = 8533; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,8663)|0); + $47 = (_strcmp($46,8677)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,8677)|0); + $50 = (_strcmp($49,8691)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 2; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,8689)|0); + $53 = (_strcmp($52,8703)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 6; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,8703)|0); + $56 = (_strcmp($55,8717)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 7; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,8715)|0); + $59 = (_strcmp($58,8729)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 8; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,8729)|0); + $62 = (_strcmp($61,8743)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 9; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,8743)|0); + $65 = (_strcmp($64,8757)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 10; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,8760)|0); + $68 = (_strcmp($67,8774)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,8783)|0); + $71 = (_strcmp($70,8797)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,8809)|0); + $74 = (_strcmp($73,8823)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,8822)|0); + $77 = (_strcmp($76,8836)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,8838)|0); + $80 = (_strcmp($79,8852)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,8851)|0); + $83 = (_strcmp($82,8865)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 11; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,8865)|0); + $86 = (_strcmp($85,8879)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,8885)|0); + $89 = (_strcmp($88,8899)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,8905)|0); + $92 = (_strcmp($91,8919)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,8922)|0); + $95 = (_strcmp($94,8936)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,8939)|0); + $98 = (_strcmp($97,8953)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 3; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,8951)|0); + $101 = (_strcmp($100,8965)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 12; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,8964)|0); + $104 = (_strcmp($103,8978)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 13; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,8980)|0); + $107 = (_strcmp($106,8994)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,9003)|0); + $110 = (_strcmp($109,9017)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,9016)|0); + $113 = (_strcmp($112,9030)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,9032)|0); + $116 = (_strcmp($115,9046)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 4; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,9043)|0); + $119 = (_strcmp($118,9057)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 14; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,9062)|0); + $122 = (_strcmp($121,9076)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 15; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,9084)|0); + $125 = (_strcmp($124,9098)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 16; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,9103)|0); + $128 = (_strcmp($127,9117)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,9132)|0); + $131 = (_strcmp($130,9146)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 5; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,9149)|0); + $134 = (_strcmp($133,9163)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,9164)|0); + $137 = (_strcmp($136,9178)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,9179)|0); + $140 = (_strcmp($139,9193)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,9200)|0); + $143 = (_strcmp($142,9214)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,9220)|0); + $146 = (_strcmp($145,9234)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,9240)|0); + $149 = (_strcmp($148,9254)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,9266)|0); + $152 = (_strcmp($151,9280)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,9285)|0); + $155 = (_strcmp($154,9299)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,9297)|0); + $158 = (_strcmp($157,9311)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,9309)|0); + $161 = (_strcmp($160,9323)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,9321)|0); + $164 = (_strcmp($163,9335)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,9333)|0); + $167 = (_strcmp($166,9347)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 17; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,9345)|0); + $170 = (_strcmp($169,9359)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,9357)|0); + $173 = (_strcmp($172,9371)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,9369)|0); + $176 = (_strcmp($175,9383)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,9381)|0); + $179 = (_strcmp($178,9395)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,9394)|0); + $182 = (_strcmp($181,9408)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,9407)|0); + $185 = (_strcmp($184,9421)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,9420)|0); + $188 = (_strcmp($187,9434)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,9433)|0); + $191 = (_strcmp($190,9447)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,9446)|0); + $194 = (_strcmp($193,9460)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,9459)|0); + $197 = (_strcmp($196,9473)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,9472)|0); + $200 = (_strcmp($199,9486)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,9485)|0); + $203 = (_strcmp($202,9499)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,9504)|0); + $206 = (_strcmp($205,9518)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,9523)|0); + $209 = (_strcmp($208,9537)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,9542)|0); + $212 = (_strcmp($211,9556)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 18; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,9555)|0); + $215 = (_strcmp($214,9569)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 19; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,9573)|0); + $218 = (_strcmp($217,9587)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 20; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,9591)|0); + $221 = (_strcmp($220,9605)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 21; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,9609)|0); + $224 = (_strcmp($223,9623)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 22; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,9627)|0); + $227 = (_strcmp($226,9641)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,9647)|0); + $230 = (_strcmp($229,9661)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,8588)|0); + $233 = (_strcmp($232,8602)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 6; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,9665)|0); + $236 = (_strcmp($235,9679)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,9680)|0); + $239 = (_strcmp($238,9694)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,9701)|0); + $242 = (_strcmp($241,9715)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,9716)|0); + $245 = (_strcmp($244,9730)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,9734)|0); + $248 = (_strcmp($247,9748)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,9750)|0); + $251 = (_strcmp($250,9764)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,9769)|0); + $254 = (_strcmp($253,9783)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,9783)|0); + $257 = (_strcmp($256,9797)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,9798)|0); + $260 = (_strcmp($259,9812)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 7; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,8519)|0); + $263 = (_strcmp($262,8533)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,9809)|0); + $266 = (_strcmp($265,9823)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,8618)|0); + $269 = (_strcmp($268,8632)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 23; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,8648)|0); + $272 = (_strcmp($271,8662)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 24; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,9825)|0); + $275 = (_strcmp($274,9839)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,9852)|0); + $278 = (_strcmp($277,9866)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,9866)|0); + $281 = (_strcmp($280,9880)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,8554)|0); + $284 = (_strcmp($283,8568)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,9886)|0); + $287 = (_strcmp($286,9900)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,9904)|0); + $290 = (_strcmp($289,9918)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 8; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,9916)|0); + $293 = (_strcmp($292,9930)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,9937)|0); + $296 = (_strcmp($295,9951)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 25; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,9955)|0); + $299 = (_strcmp($298,9969)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 26; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,9973)|0); + $302 = (_strcmp($301,9987)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 27; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,9994)|0); + $305 = (_strcmp($304,10008)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,10020)|0); + $308 = (_strcmp($307,10034)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,10043)|0); + $311 = (_strcmp($310,10057)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,10081)|0); + $314 = (_strcmp($313,10095)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 9; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,10097)|0); + $317 = (_strcmp($316,10111)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,10112)|0); + $320 = (_strcmp($319,10126)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,10135)|0); + $323 = (_strcmp($322,10149)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,10148)|0); + $326 = (_strcmp($325,10162)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 28; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,10162)|0); + $329 = (_strcmp($328,10176)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 29; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,10176)|0); + $332 = (_strcmp($331,10190)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,10196)|0); + $335 = (_strcmp($334,10210)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,10216)|0); + $338 = (_strcmp($337,10230)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,10232)|0); + $341 = (_strcmp($340,10246)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,10250)|0); + $344 = (_strcmp($343,10264)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,10266)|0); + $347 = (_strcmp($346,10280)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,10281)|0); + $350 = (_strcmp($349,10295)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,10303)|0); + $353 = (_strcmp($352,10317)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 30; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,10321)|0); + $356 = (_strcmp($355,10335)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 31; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,10342)|0); + $359 = (_strcmp($358,10356)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,10360)|0); + $362 = (_strcmp($361,10374)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,10373)|0); + $365 = (_strcmp($364,10387)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,10388)|0); + $368 = (_strcmp($367,10402)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,10402)|0); + $371 = (_strcmp($370,10416)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,10412)|0); + $374 = (_strcmp($373,10426)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,10422)|0); + $377 = (_strcmp($376,10436)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,10444)|0); + $380 = (_strcmp($379,10458)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,10470)|0); + $383 = (_strcmp($382,10484)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,10497)|0); + $386 = (_strcmp($385,10511)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,10510)|0); + $389 = (_strcmp($388,10524)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,10525)|0); + $392 = (_strcmp($391,10539)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,10540)|0); + $395 = (_strcmp($394,10554)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,10564)|0); + $398 = (_strcmp($397,10578)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,10575)|0); + $401 = (_strcmp($400,10589)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 32; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,10597)|0); + $404 = (_strcmp($403,10611)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,10619)|0); + $407 = (_strcmp($406,10633)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,10643)|0); + $410 = (_strcmp($409,10657)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,10652)|0); + $413 = (_strcmp($412,10666)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,10660)|0); + $416 = (_strcmp($415,10674)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,10673)|0); + $419 = (_strcmp($418,10687)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,10687)|0); + $422 = (_strcmp($421,10701)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,10699)|0); + $425 = (_strcmp($424,10713)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,10708)|0); + $428 = (_strcmp($427,10722)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,10718)|0); + $431 = (_strcmp($430,10732)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,10730)|0); + $434 = (_strcmp($433,10744)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,10741)|0); + $437 = (_strcmp($436,10755)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,10749)|0); + $440 = (_strcmp($439,10763)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,10761)|0); + $443 = (_strcmp($442,10775)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,10776)|0); + $446 = (_strcmp($445,10790)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,10788)|0); + $449 = (_strcmp($448,10802)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,10802)|0); + $452 = (_strcmp($451,10816)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 10; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,10827)|0); + $455 = (_strcmp($454,10841)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,10844)|0); + $458 = (_strcmp($457,10858)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,10860)|0); + $461 = (_strcmp($460,10874)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,10876)|0); + $464 = (_strcmp($463,10890)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 11; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,10888)|0); + $467 = (_strcmp($466,10902)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 33; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,10900)|0); + $470 = (_strcmp($469,10914)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 34; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,10924)|0); + $473 = (_strcmp($472,10938)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,10937)|0); + $476 = (_strcmp($475,10951)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,10951)|0); + $479 = (_strcmp($478,10965)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 35; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,10973)|0); + $482 = (_strcmp($481,10987)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 36; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,10980)|0); + $485 = (_strcmp($484,10994)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,10996)|0); + $488 = (_strcmp($487,11010)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,11013)|0); + $491 = (_strcmp($490,11027)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,11030)|0); + $494 = (_strcmp($493,11044)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,11046)|0); + $497 = (_strcmp($496,11060)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,11062)|0); + $500 = (_strcmp($499,11076)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,11079)|0); + $503 = (_strcmp($502,11093)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,11093)|0); + $506 = (_strcmp($505,11107)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,11105)|0); + $509 = (_strcmp($508,11119)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,11116)|0); + $512 = (_strcmp($511,11130)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,11129)|0); + $515 = (_strcmp($514,11143)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,11139)|0); + $518 = (_strcmp($517,11153)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,11156)|0); + $521 = (_strcmp($520,11170)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,11168)|0); + $524 = (_strcmp($523,11182)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,11190)|0); + $527 = (_strcmp($526,11204)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,11210)|0); + $530 = (_strcmp($529,11224)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,11223)|0); + $533 = (_strcmp($532,11237)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,11245)|0); + $536 = (_strcmp($535,11259)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,11265)|0); + $539 = (_strcmp($538,11279)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,11282)|0); + $542 = (_strcmp($541,11296)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,11299)|0); + $545 = (_strcmp($544,11313)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,11319)|0); + $548 = (_strcmp($547,11333)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -18011,7 +18174,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (16452|0); + return (16460|0); } function ___stdio_close($0) { $0 = $0|0; @@ -18875,7 +19038,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((11435 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((11449 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -19053,7 +19216,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 11899;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 11913;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -19074,7 +19237,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 11899;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 11913;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -19082,8 +19245,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 11899 : (11901); - $$$ = $238 ? $$ : (11900); + $$ = $240 ? 11913 : (11915); + $$$ = $238 ? $$ : (11914); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -19100,7 +19263,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 11899;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 11913;$242 = $167;$243 = $170; label = 66; break; } @@ -19113,7 +19276,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 11899;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 11913;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -19127,7 +19290,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 11909; + $271 = $270 ? $269 : 11923; $$1 = $271; label = 71; break; @@ -19167,7 +19330,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 11899;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 11913;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -19189,8 +19352,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (11899 + ($208)|0); - $$289 = $or$cond283 ? 11899 : $209; + $209 = (11913 + ($208)|0); + $$289 = $or$cond283 ? 11913 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -19211,7 +19374,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 11899;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 11913;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -19741,7 +19904,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (11951 + ($7)|0); + $9 = (11965 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -20099,14 +20262,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 11916; + $$0471 = $14;$$0520 = 1;$$0521 = 11930; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (11917) : (11922); - $$$ = $16 ? $$ : (11919); + $$ = $18 ? (11931) : (11936); + $$$ = $16 ? $$ : (11933); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -20205,7 +20368,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (11951 + ($80)|0); + $81 = (11965 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -20816,7 +20979,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,11967,1); + _out($0,11981,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -20897,7 +21060,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,11967,1); + _out($0,11981,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -20954,9 +21117,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 11935 : 11939; + $29 = $28 ? 11949 : 11953; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 11943 : 11947; + $31 = $28 ? 11957 : 11961; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -21166,7 +21329,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (11969 + ($$016)|0); + $3 = (11983 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -21177,7 +21340,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 12057;$$115 = 87; + $$01214 = 12071;$$115 = 87; label = 5; break; } else { @@ -21187,9 +21350,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 12057; + $$012$lcssa = 12071; } else { - $$01214 = 12057;$$115 = $$016; + $$01214 = 12071;$$115 = $$016; label = 5; } } @@ -21852,7 +22015,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(13861,$3,4)|0); + $memchr = (_memchr(13875,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -21941,7 +22104,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(13861,$4,4)|0); + $memchr = (_memchr(13875,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -22032,7 +22195,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 2; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 1; - $38 = HEAP32[(16456)>>2]|0; + $38 = HEAP32[(16464)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -22065,13 +22228,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((16516|0)); - return (16524|0); + ___lock((16524|0)); + return (16532|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((16516|0)); + ___unlock((16524|0)); return; } function _fclose($0) { @@ -23071,7 +23234,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 14136; + $2 = 14144; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -23288,7 +23451,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4132]|0; + $3 = HEAP32[4134]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -23307,22 +23470,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4132] = 0; + HEAP32[4134] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4132] = $10; + HEAP32[4134] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4132] = 0; + HEAP32[4134] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4132] = $13; + HEAP32[4134] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -23403,7 +23566,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4133]|0; + $8 = HEAP32[4135]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -23412,7 +23575,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (16572 + ($15<<2)|0); + $16 = (16580 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -23423,9 +23586,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4133] = $24; + HEAP32[4135] = $24; } else { - $25 = HEAP32[(16548)>>2]|0; + $25 = HEAP32[(16556)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -23456,7 +23619,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(16540)>>2]|0; + $37 = HEAP32[(16548)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -23490,7 +23653,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (16572 + ($68<<2)|0); + $69 = (16580 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -23501,10 +23664,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4133] = $77; + HEAP32[4135] = $77; $98 = $77; } else { - $78 = HEAP32[(16548)>>2]|0; + $78 = HEAP32[(16556)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -23537,22 +23700,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(16552)>>2]|0; + $92 = HEAP32[(16560)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (16572 + ($94<<2)|0); + $95 = (16580 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4133] = $100; + HEAP32[4135] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(16548)>>2]|0; + $103 = HEAP32[(16556)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -23569,12 +23732,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(16540)>>2] = $84; - HEAP32[(16552)>>2] = $87; + HEAP32[(16548)>>2] = $84; + HEAP32[(16560)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(16536)>>2]|0; + $108 = HEAP32[(16544)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -23602,7 +23765,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (16836 + ($132<<2)|0); + $133 = (16844 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -23642,7 +23805,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(16548)>>2]|0; + $155 = HEAP32[(16556)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -23737,7 +23900,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (16836 + ($188<<2)|0); + $189 = (16844 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -23748,11 +23911,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(16536)>>2] = $194; + HEAP32[(16544)>>2] = $194; break L73; } } else { - $195 = HEAP32[(16548)>>2]|0; + $195 = HEAP32[(16556)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -23773,7 +23936,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(16548)>>2]|0; + $201 = HEAP32[(16556)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -23803,7 +23966,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(16548)>>2]|0; + $213 = HEAP32[(16556)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -23840,22 +24003,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(16552)>>2]|0; + $231 = HEAP32[(16560)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (16572 + ($233<<2)|0); + $234 = (16580 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4133] = $238; + HEAP32[4135] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(16548)>>2]|0; + $241 = HEAP32[(16556)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -23872,8 +24035,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(16540)>>2] = $$0193$lcssa$i; - HEAP32[(16552)>>2] = $157; + HEAP32[(16548)>>2] = $$0193$lcssa$i; + HEAP32[(16560)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -23889,7 +24052,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(16536)>>2]|0; + $250 = HEAP32[(16544)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -23929,7 +24092,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (16836 + ($$0358$i<<2)|0); + $278 = (16844 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -24021,7 +24184,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (16836 + ($330<<2)|0); + $331 = (16844 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -24065,11 +24228,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(16540)>>2]|0; + $345 = HEAP32[(16548)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(16548)>>2]|0; + $348 = HEAP32[(16556)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -24166,7 +24329,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (16836 + ($381<<2)|0); + $382 = (16844 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -24177,12 +24340,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(16536)>>2] = $387; + HEAP32[(16544)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(16548)>>2]|0; + $388 = HEAP32[(16556)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -24204,7 +24367,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(16548)>>2]|0; + $394 = HEAP32[(16556)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -24236,7 +24399,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(16548)>>2]|0; + $406 = HEAP32[(16556)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -24277,20 +24440,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (16572 + ($425<<2)|0); - $427 = HEAP32[4133]|0; + $426 = (16580 + ($425<<2)|0); + $427 = HEAP32[4135]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4133] = $431; + HEAP32[4135] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(16548)>>2]|0; + $434 = HEAP32[(16556)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -24342,7 +24505,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (16836 + ($$0361$i<<2)|0); + $464 = (16844 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -24354,7 +24517,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(16536)>>2] = $472; + HEAP32[(16544)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -24393,7 +24556,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(16548)>>2]|0; + $491 = HEAP32[(16556)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -24412,7 +24575,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(16548)>>2]|0; + $498 = HEAP32[(16556)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -24445,16 +24608,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(16540)>>2]|0; + $506 = HEAP32[(16548)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(16552)>>2]|0; + $509 = HEAP32[(16560)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(16552)>>2] = $511; - HEAP32[(16540)>>2] = $508; + HEAP32[(16560)>>2] = $511; + HEAP32[(16548)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -24464,8 +24627,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(16540)>>2] = 0; - HEAP32[(16552)>>2] = 0; + HEAP32[(16548)>>2] = 0; + HEAP32[(16560)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -24479,14 +24642,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(16544)>>2]|0; + $524 = HEAP32[(16552)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(16544)>>2] = $526; - $527 = HEAP32[(16556)>>2]|0; + HEAP32[(16552)>>2] = $526; + $527 = HEAP32[(16564)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(16556)>>2] = $528; + HEAP32[(16564)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -24497,23 +24660,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4251]|0; + $534 = HEAP32[4253]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(17012)>>2] = 4096; - HEAP32[(17008)>>2] = 4096; - HEAP32[(17016)>>2] = -1; - HEAP32[(17020)>>2] = -1; - HEAP32[(17024)>>2] = 0; - HEAP32[(16976)>>2] = 0; + HEAP32[(17020)>>2] = 4096; + HEAP32[(17016)>>2] = 4096; + HEAP32[(17024)>>2] = -1; + HEAP32[(17028)>>2] = -1; + HEAP32[(17032)>>2] = 0; + HEAP32[(16984)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4251] = $538; + HEAP32[4253] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(17012)>>2]|0; + $$pre$i212 = HEAP32[(17020)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -24526,10 +24689,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(16972)>>2]|0; + $546 = HEAP32[(16980)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(16964)>>2]|0; + $548 = HEAP32[(16972)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -24539,18 +24702,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(16976)>>2]|0; + $552 = HEAP32[(16984)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(16556)>>2]|0; + $555 = HEAP32[(16564)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (16980); + $$0$i$i = (16988); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -24608,7 +24771,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(17008)>>2]|0; + $569 = HEAP32[(17016)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -24618,13 +24781,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(16964)>>2]|0; + $578 = HEAP32[(16972)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(16972)>>2]|0; + $582 = HEAP32[(16980)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -24670,7 +24833,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(17012)>>2]|0; + $601 = HEAP32[(17020)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -24695,9 +24858,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(16976)>>2]|0; + $611 = HEAP32[(16984)>>2]|0; $612 = $611 | 4; - HEAP32[(16976)>>2] = $612; + HEAP32[(16984)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -24733,35 +24896,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(16964)>>2]|0; + $626 = HEAP32[(16972)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(16964)>>2] = $627; - $628 = HEAP32[(16968)>>2]|0; + HEAP32[(16972)>>2] = $627; + $628 = HEAP32[(16976)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(16968)>>2] = $627; + HEAP32[(16976)>>2] = $627; } - $630 = HEAP32[(16556)>>2]|0; + $630 = HEAP32[(16564)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(16548)>>2]|0; + $632 = HEAP32[(16556)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(16548)>>2] = $$749$i; + HEAP32[(16556)>>2] = $$749$i; } - HEAP32[(16980)>>2] = $$749$i; - HEAP32[(16984)>>2] = $$723948$i; - HEAP32[(16992)>>2] = 0; - $635 = HEAP32[4251]|0; - HEAP32[(16568)>>2] = $635; - HEAP32[(16564)>>2] = -1; + HEAP32[(16988)>>2] = $$749$i; + HEAP32[(16992)>>2] = $$723948$i; + HEAP32[(17000)>>2] = 0; + $635 = HEAP32[4253]|0; + HEAP32[(16576)>>2] = $635; + HEAP32[(16572)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (16572 + ($636<<2)|0); + $637 = (16580 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -24784,18 +24947,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(16556)>>2] = $649; - HEAP32[(16544)>>2] = $650; + HEAP32[(16564)>>2] = $649; + HEAP32[(16552)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(17020)>>2]|0; - HEAP32[(16560)>>2] = $655; + $655 = HEAP32[(17028)>>2]|0; + HEAP32[(16568)>>2] = $655; } else { - $$024371$i = (16980); + $$024371$i = (16988); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -24827,7 +24990,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(16544)>>2]|0; + $671 = HEAP32[(16552)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -24838,30 +25001,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(16556)>>2] = $679; - HEAP32[(16544)>>2] = $681; + HEAP32[(16564)>>2] = $679; + HEAP32[(16552)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(17020)>>2]|0; - HEAP32[(16560)>>2] = $686; + $686 = HEAP32[(17028)>>2]|0; + HEAP32[(16568)>>2] = $686; break; } } } - $687 = HEAP32[(16548)>>2]|0; + $687 = HEAP32[(16556)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(16548)>>2] = $$749$i; + HEAP32[(16556)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (16980); + $$124470$i = (16988); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -24916,21 +25079,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(16544)>>2]|0; + $726 = HEAP32[(16552)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(16544)>>2] = $727; - HEAP32[(16556)>>2] = $721; + HEAP32[(16552)>>2] = $727; + HEAP32[(16564)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(16552)>>2]|0; + $730 = HEAP32[(16560)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(16540)>>2]|0; + $732 = HEAP32[(16548)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(16540)>>2] = $733; - HEAP32[(16552)>>2] = $721; + HEAP32[(16548)>>2] = $733; + HEAP32[(16560)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -24953,7 +25116,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (16572 + ($748<<2)|0); + $749 = (16580 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -24976,9 +25139,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4133]|0; + $759 = HEAP32[4135]|0; $760 = $759 & $758; - HEAP32[4133] = $760; + HEAP32[4135] = $760; break; } $761 = ($747|0)==($749|0); @@ -25091,7 +25254,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (16836 + ($796<<2)|0); + $797 = (16844 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -25103,12 +25266,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(16536)>>2]|0; + $802 = HEAP32[(16544)>>2]|0; $803 = $802 & $801; - HEAP32[(16536)>>2] = $803; + HEAP32[(16544)>>2] = $803; break L314; } else { - $804 = HEAP32[(16548)>>2]|0; + $804 = HEAP32[(16556)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -25129,7 +25292,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(16548)>>2]|0; + $810 = HEAP32[(16556)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -25161,7 +25324,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(16548)>>2]|0; + $822 = HEAP32[(16556)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -25194,21 +25357,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (16572 + ($836<<2)|0); - $838 = HEAP32[4133]|0; + $837 = (16580 + ($836<<2)|0); + $838 = HEAP32[4135]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4133] = $842; + HEAP32[4135] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(16548)>>2]|0; + $845 = HEAP32[(16556)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -25263,20 +25426,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (16836 + ($$0296$i$i<<2)|0); + $875 = (16844 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(16536)>>2]|0; + $879 = HEAP32[(16544)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(16536)>>2] = $883; + HEAP32[(16544)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -25315,7 +25478,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(16548)>>2]|0; + $902 = HEAP32[(16556)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -25334,7 +25497,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(16548)>>2]|0; + $909 = HEAP32[(16556)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -25361,7 +25524,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (16980); + $$0$i$i$i = (16988); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -25402,23 +25565,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(16556)>>2] = $946; - HEAP32[(16544)>>2] = $947; + HEAP32[(16564)>>2] = $946; + HEAP32[(16552)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(17020)>>2]|0; - HEAP32[(16560)>>2] = $952; + $952 = HEAP32[(17028)>>2]|0; + HEAP32[(16568)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(16980)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(16980)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(16980)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(16980)+12>>2]|0; - HEAP32[(16980)>>2] = $$749$i; - HEAP32[(16984)>>2] = $$723948$i; - HEAP32[(16992)>>2] = 0; - HEAP32[(16988)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(16988)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(16988)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(16988)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(16988)+12>>2]|0; + HEAP32[(16988)>>2] = $$749$i; + HEAP32[(16992)>>2] = $$723948$i; + HEAP32[(17000)>>2] = 0; + HEAP32[(16996)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -25447,20 +25610,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (16572 + ($968<<2)|0); - $970 = HEAP32[4133]|0; + $969 = (16580 + ($968<<2)|0); + $970 = HEAP32[4135]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4133] = $974; + HEAP32[4135] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(16548)>>2]|0; + $977 = HEAP32[(16556)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -25512,19 +25675,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (16836 + ($$0212$i$i<<2)|0); + $1007 = (16844 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(16536)>>2]|0; + $1010 = HEAP32[(16544)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(16536)>>2] = $1014; + HEAP32[(16544)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -25563,7 +25726,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(16548)>>2]|0; + $1033 = HEAP32[(16556)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -25582,7 +25745,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(16548)>>2]|0; + $1040 = HEAP32[(16556)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -25605,14 +25768,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(16544)>>2]|0; + $1048 = HEAP32[(16552)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(16544)>>2] = $1050; - $1051 = HEAP32[(16556)>>2]|0; + HEAP32[(16552)>>2] = $1050; + $1051 = HEAP32[(16564)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(16556)>>2] = $1052; + HEAP32[(16564)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -25655,7 +25818,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(16548)>>2]|0; + $3 = HEAP32[(16556)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -25688,7 +25851,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(16552)>>2]|0; + $19 = HEAP32[(16560)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -25703,7 +25866,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(16540)>>2] = $17; + HEAP32[(16548)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -25717,7 +25880,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (16572 + ($27<<2)|0); + $28 = (16580 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -25737,9 +25900,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4133]|0; + $37 = HEAP32[4135]|0; $38 = $37 & $36; - HEAP32[4133] = $38; + HEAP32[4135] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -25853,7 +26016,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (16836 + ($74<<2)|0); + $75 = (16844 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -25863,14 +26026,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(16536)>>2]|0; + $80 = HEAP32[(16544)>>2]|0; $81 = $80 & $79; - HEAP32[(16536)>>2] = $81; + HEAP32[(16544)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(16548)>>2]|0; + $82 = HEAP32[(16556)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -25892,7 +26055,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(16548)>>2]|0; + $88 = HEAP32[(16556)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -25924,7 +26087,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(16548)>>2]|0; + $100 = HEAP32[(16556)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -25959,14 +26122,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(16556)>>2]|0; + $120 = HEAP32[(16564)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(16552)>>2]|0; + $122 = HEAP32[(16560)>>2]|0; if ($121) { - $123 = HEAP32[(16544)>>2]|0; + $123 = HEAP32[(16552)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(16544)>>2] = $124; - HEAP32[(16556)>>2] = $$1; + HEAP32[(16552)>>2] = $124; + HEAP32[(16564)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -25974,16 +26137,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(16552)>>2] = 0; - HEAP32[(16540)>>2] = 0; + HEAP32[(16560)>>2] = 0; + HEAP32[(16548)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(16540)>>2]|0; + $129 = HEAP32[(16548)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(16540)>>2] = $130; - HEAP32[(16552)>>2] = $113; + HEAP32[(16548)>>2] = $130; + HEAP32[(16560)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -26002,10 +26165,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (16572 + ($142<<2)|0); + $143 = (16580 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(16548)>>2]|0; + $145 = HEAP32[(16556)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -26023,9 +26186,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4133]|0; + $153 = HEAP32[4135]|0; $154 = $153 & $152; - HEAP32[4133] = $154; + HEAP32[4135] = $154; break; } $155 = ($141|0)==($143|0); @@ -26033,7 +26196,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(16548)>>2]|0; + $156 = HEAP32[(16556)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -26093,7 +26256,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(16548)>>2]|0; + $189 = HEAP32[(16556)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -26106,7 +26269,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(16548)>>2]|0; + $169 = HEAP32[(16556)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -26137,7 +26300,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (16836 + ($193<<2)|0); + $194 = (16844 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -26147,13 +26310,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(16536)>>2]|0; + $199 = HEAP32[(16544)>>2]|0; $200 = $199 & $198; - HEAP32[(16536)>>2] = $200; + HEAP32[(16544)>>2] = $200; break L108; } } else { - $201 = HEAP32[(16548)>>2]|0; + $201 = HEAP32[(16556)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -26174,7 +26337,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(16548)>>2]|0; + $207 = HEAP32[(16556)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -26204,7 +26367,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(16548)>>2]|0; + $219 = HEAP32[(16556)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -26225,10 +26388,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(16552)>>2]|0; + $226 = HEAP32[(16560)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(16540)>>2] = $135; + HEAP32[(16548)>>2] = $135; return; } else { $$2 = $135; @@ -26247,20 +26410,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (16572 + ($234<<2)|0); - $236 = HEAP32[4133]|0; + $235 = (16580 + ($234<<2)|0); + $236 = HEAP32[4135]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4133] = $240; + HEAP32[4135] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(16548)>>2]|0; + $243 = HEAP32[(16556)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -26312,21 +26475,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (16836 + ($$0396<<2)|0); + $273 = (16844 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(16536)>>2]|0; + $277 = HEAP32[(16544)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(16536)>>2] = $281; + HEAP32[(16544)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -26364,7 +26527,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(16548)>>2]|0; + $300 = HEAP32[(16556)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -26383,7 +26546,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(16548)>>2]|0; + $307 = HEAP32[(16556)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -26405,12 +26568,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(16564)>>2]|0; + $314 = HEAP32[(16572)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(16564)>>2] = $315; + HEAP32[(16572)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (16988); + $$0212$in$i = (16996); } else { return; } @@ -26424,7 +26587,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(16564)>>2] = -1; + HEAP32[(16572)>>2] = -1; return; } function runPostSets() { diff --git a/docs/examples/web/textures/textures_raw_data.png b/docs/examples/web/textures/textures_raw_data.png new file mode 100644 index 000000000..437e4b538 Binary files /dev/null and b/docs/examples/web/textures/textures_raw_data.png differ diff --git a/docs/examples/web/textures/textures_rectangle.js b/docs/examples/web/textures/textures_rectangle.js index 485e060bb..5b95253d9 100644 --- a/docs/examples/web/textures/textures_rectangle.js +++ b/docs/examples/web/textures/textures_rectangle.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 21597, "filename": "/resources/scarfy.png"}], "remote_package_size": 21597, "package_uuid": "26de1d30-fe2a-4f31-8806-8693a306a224"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 21597, "filename": "/resources/scarfy.png"}], "remote_package_size": 21597, "package_uuid": "2c36642a-d4b3-4f40-8393-df3b156c7d70"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 22224; +STATICTOP = STATIC_BASE + 22208; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,199,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,114,101,99,116,97,110,103,108,101,0,114,101,115,111,117,114,99,101,115,47,115,99,97,114,102,121,46,112,110,103,0,70,82,65,77,69,32,83,80,69,69,68,58,32,0,37,48,50,105,32,70,80,83,0,80,82,69,83,83,32,82,73,71,72,84,47,76,69,70,84,32,75,69,89,83,32,116,111,32,67,72,65,78,71,69,32,83,80,69,69,68,33,0,40,99,41,32,83,99,97,114,102,121,32,115,112,114,105,116,101,32,98,121,32,69,105,100,101,110,32,77,97,114,115,97,108,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,183,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,114,101,99,116,97,110,103,108,101,0,114,101,115,111,117,114,99,101,115,47,115,99,97,114,102,121,46,112,110,103,0,70,82,65,77,69,32,83,80,69,69,68,58,32,0,37,48,50,105,32,70,80,83,0,80,82,69,83,83,32,82,73,71,72,84,47,76,69,70,84,32,75,69,89,83,32,116,111,32,67,72,65,78,71,69,32,83,80,69,69,68,33,0,40,99,41,32,83,99,97,114,102,121,32,115,112,114,105,116,101,32,98,121,32,69,105,100,101,110,32,77,97,114,115,97,108,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10470,18 +10470,18 @@ function _main() { $2 = HEAP32[3]|0; _InitWindow($1,$2,4124); _LoadTexture($0,4169); - ;HEAP32[16608>>2]=HEAP32[$0>>2]|0;HEAP32[16608+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16608+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16608+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16608+16>>2]=HEAP32[$0+16>>2]|0; - HEAPF32[4157] = 350.0; - HEAPF32[(16632)>>2] = 280.0; - $3 = HEAP32[(16612)>>2]|0; + ;HEAP32[16912>>2]=HEAP32[$0>>2]|0;HEAP32[16912+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16912+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16912+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16912+16>>2]=HEAP32[$0+16>>2]|0; + HEAPF32[4233] = 350.0; + HEAPF32[(16936)>>2] = 280.0; + $3 = HEAP32[(16916)>>2]|0; $4 = (($3|0) / 6)&-1; - $5 = HEAP32[(16616)>>2]|0; - HEAP32[4159] = 0; - HEAP32[(16640)>>2] = 0; - HEAP32[(16644)>>2] = $4; - HEAP32[(16648)>>2] = $5; + $5 = HEAP32[(16920)>>2]|0; + HEAP32[4235] = 0; + HEAP32[(16944)>>2] = 0; + HEAP32[(16948)>>2] = $4; + HEAP32[(16952)>>2] = $5; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$scarfy$byval_copy>>2]=HEAP32[16608>>2]|0;HEAP32[$scarfy$byval_copy+4>>2]=HEAP32[16608+4>>2]|0;HEAP32[$scarfy$byval_copy+8>>2]=HEAP32[16608+8>>2]|0;HEAP32[$scarfy$byval_copy+12>>2]=HEAP32[16608+12>>2]|0;HEAP32[$scarfy$byval_copy+16>>2]=HEAP32[16608+16>>2]|0; + ;HEAP32[$scarfy$byval_copy>>2]=HEAP32[16912>>2]|0;HEAP32[$scarfy$byval_copy+4>>2]=HEAP32[16912+4>>2]|0;HEAP32[$scarfy$byval_copy+8>>2]=HEAP32[16912+8>>2]|0;HEAP32[$scarfy$byval_copy+12>>2]=HEAP32[16912+12>>2]|0;HEAP32[$scarfy$byval_copy+16>>2]=HEAP32[16912+16>>2]|0; _UnloadTexture($scarfy$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10509,23 +10509,23 @@ function _UpdateDrawFrame() { $8 = sp + 68|0; $9 = sp + 16|0; $10 = sp + 64|0; - $11 = HEAP32[4151]|0; + $11 = HEAP32[4227]|0; $12 = (($11) + 1)|0; - HEAP32[4151] = $12; + HEAP32[4227] = $12; $13 = HEAP32[4]|0; $14 = (60 / ($13|0))&-1; $15 = ($12|0)<($14|0); if (!($15)) { - HEAP32[4151] = 0; - $16 = HEAP32[4150]|0; + HEAP32[4227] = 0; + $16 = HEAP32[4226]|0; $17 = (($16) + 1)|0; $18 = ($16|0)>(4); $$ = $18 ? 0 : $17; - HEAP32[4150] = $$; - $19 = HEAP32[(16612)>>2]|0; + HEAP32[4226] = $$; + $19 = HEAP32[(16916)>>2]|0; $20 = Math_imul($$, $19)|0; $21 = (($20|0) / 6)&-1; - HEAP32[4159] = $21; + HEAP32[4235] = $21; } $22 = (_IsKeyPressed(262)|0); $23 = ($22|0)==(0); @@ -10574,11 +10574,11 @@ function _UpdateDrawFrame() { ;HEAP8[$$byval_copy9>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$0+3>>0]|0; _ClearBackground($$byval_copy9); HEAP32[$1>>2] = -1; - ;HEAP32[$position$byval_copy>>2]=HEAP32[16608>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[16608+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[16608+8>>2]|0;HEAP32[$position$byval_copy+12>>2]=HEAP32[16608+12>>2]|0;HEAP32[$position$byval_copy+16>>2]=HEAP32[16608+16>>2]|0; + ;HEAP32[$position$byval_copy>>2]=HEAP32[16912>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[16912+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[16912+8>>2]|0;HEAP32[$position$byval_copy+12>>2]=HEAP32[16912+12>>2]|0;HEAP32[$position$byval_copy+16>>2]=HEAP32[16912+16>>2]|0; ;HEAP8[$$byval_copy9>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$1+3>>0]|0; _DrawTexture($position$byval_copy,15,40,$$byval_copy9); - $34 = HEAP32[(16612)>>2]|0; - $35 = HEAP32[(16616)>>2]|0; + $34 = HEAP32[(16916)>>2]|0; + $35 = HEAP32[(16920)>>2]|0; HEAP8[$2>>0] = 0; $36 = ((($2)) + 1|0); HEAP8[$36>>0] = -98; @@ -10588,12 +10588,12 @@ function _UpdateDrawFrame() { HEAP8[$38>>0] = -1; ;HEAP8[$$byval_copy9>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$2+3>>0]|0; _DrawRectangleLines(15,40,$34,$35,$$byval_copy9); - $39 = HEAP32[4159]|0; + $39 = HEAP32[4235]|0; $40 = (($39) + 15)|0; - $41 = HEAP32[(16640)>>2]|0; + $41 = HEAP32[(16944)>>2]|0; $42 = (($41) + 40)|0; - $43 = HEAP32[(16644)>>2]|0; - $44 = HEAP32[(16648)>>2]|0; + $43 = HEAP32[(16948)>>2]|0; + $44 = HEAP32[(16952)>>2]|0; HEAP8[$3>>0] = -26; $45 = ((($3)) + 1|0); HEAP8[$45>>0] = 41; @@ -10668,9 +10668,9 @@ function _UpdateDrawFrame() { } } HEAP32[$9>>2] = -1; - ;HEAP32[$scarfy$byval_copy6>>2]=HEAP32[16608>>2]|0;HEAP32[$scarfy$byval_copy6+4>>2]=HEAP32[16608+4>>2]|0;HEAP32[$scarfy$byval_copy6+8>>2]=HEAP32[16608+8>>2]|0;HEAP32[$scarfy$byval_copy6+12>>2]=HEAP32[16608+12>>2]|0;HEAP32[$scarfy$byval_copy6+16>>2]=HEAP32[16608+16>>2]|0; - ;HEAP32[$frameRec$byval_copy>>2]=HEAP32[16636>>2]|0;HEAP32[$frameRec$byval_copy+4>>2]=HEAP32[16636+4>>2]|0;HEAP32[$frameRec$byval_copy+8>>2]=HEAP32[16636+8>>2]|0;HEAP32[$frameRec$byval_copy+12>>2]=HEAP32[16636+12>>2]|0; - ;HEAP32[$position$byval_copy>>2]=HEAP32[16628>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[16628+4>>2]|0; + ;HEAP32[$scarfy$byval_copy6>>2]=HEAP32[16912>>2]|0;HEAP32[$scarfy$byval_copy6+4>>2]=HEAP32[16912+4>>2]|0;HEAP32[$scarfy$byval_copy6+8>>2]=HEAP32[16912+8>>2]|0;HEAP32[$scarfy$byval_copy6+12>>2]=HEAP32[16912+12>>2]|0;HEAP32[$scarfy$byval_copy6+16>>2]=HEAP32[16912+16>>2]|0; + ;HEAP32[$frameRec$byval_copy>>2]=HEAP32[16940>>2]|0;HEAP32[$frameRec$byval_copy+4>>2]=HEAP32[16940+4>>2]|0;HEAP32[$frameRec$byval_copy+8>>2]=HEAP32[16940+8>>2]|0;HEAP32[$frameRec$byval_copy+12>>2]=HEAP32[16940+12>>2]|0; + ;HEAP32[$position$byval_copy>>2]=HEAP32[16932>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[16932+4>>2]|0; ;HEAP8[$$byval_copy9>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$9+3>>0]|0; _DrawTextureRec($scarfy$byval_copy6,$frameRec$byval_copy,$position$byval_copy,$$byval_copy9); $65 = HEAP32[2]|0; @@ -10689,6 +10689,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10788,13 +10838,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11404,7 +11447,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4164] = $2; + HEAP32[4240] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11417,7 +11460,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16328; + $95 = 16632; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11430,48 +11473,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16368; + $106 = 16672; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4092]; - $111 = +HEAPF32[4082]; + $110 = +HEAPF32[4168]; + $111 = +HEAPF32[4158]; $112 = $110 - $111; - HEAPF32[4094] = $112; - $113 = +HEAPF32[(16372)>>2]; - $114 = +HEAPF32[(16332)>>2]; + HEAPF32[4170] = $112; + $113 = +HEAPF32[(16676)>>2]; + $114 = +HEAPF32[(16636)>>2]; $115 = $113 - $114; - HEAPF32[(16380)>>2] = $115; - HEAP32[4163] = 4; + HEAPF32[(16684)>>2] = $115; + HEAP32[4239] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16360+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16384+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16664+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16688>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16688+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4169] = $116; - $117 = 16360; + HEAPF32[4245] = $116; + $117 = 16664; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16328; + $123 = 16632; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16384; + $127 = 16688; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16368; + $133 = 16672; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11484,7 +11527,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16360; + $144 = 16664; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11497,27 +11540,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16384; + $155 = 16688; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4096]; - $160 = +HEAPF32[4090]; + $159 = +HEAPF32[4172]; + $160 = +HEAPF32[4166]; $161 = $159 - $160; - HEAPF32[4094] = $161; - $162 = +HEAPF32[(16388)>>2]; - $163 = +HEAPF32[(16364)>>2]; + HEAPF32[4170] = $161; + $162 = +HEAPF32[(16692)>>2]; + $163 = +HEAPF32[(16668)>>2]; $164 = $162 - $163; - HEAPF32[(16380)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16328>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16328+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + HEAPF32[(16684)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16632>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16632+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16664+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16368+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16384+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16672>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16672+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16688>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16688+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11529,31 +11572,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16360+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16384+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16664+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16688>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16688+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4169]; + $170 = +HEAPF32[4245]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4163] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16360+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16384+4>>2]|0; + HEAP32[4239] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16664+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16688>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16688+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4170] = $174; + HEAPF32[4246] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4169] = 0.0; + HEAPF32[4245] = 0.0; + HEAPF32[4246] = 0.0; HEAPF32[4170] = 0.0; - HEAPF32[4094] = 0.0; - HEAPF32[(16380)>>2] = 0.0; - HEAP32[4164] = 0; - HEAP32[4163] = 0; + HEAPF32[(16684)>>2] = 0.0; + HEAP32[4240] = 0; + HEAP32[4239] = 0; STACKTOP = sp;return; break; } @@ -11563,22 +11606,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4165]|0; + $6 = HEAP32[4241]|0; $7 = (($6) + 1)|0; - HEAP32[4165] = $7; - $8 = HEAP32[4163]|0; + HEAP32[4241] = $7; + $8 = HEAP32[4239]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16328>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16328+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16632>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16632+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4163] = 2; - HEAP32[4165] = 0; + HEAP32[4239] = 2; + HEAP32[4241] = 0; } else { label = 6; } @@ -11586,8 +11629,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4165] = 1; - HEAP32[4163] = 1; + HEAP32[4241] = 1; + HEAP32[4239] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11596,19 +11639,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16328; + $21 = 16632; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16336; + $25 = 16640; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16344; + $29 = 16648; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11617,13 +11660,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[5] = $34; - HEAPF32[4088] = 0.0; - HEAPF32[(16356)>>2] = 0.0; + HEAPF32[4164] = 0.0; + HEAPF32[(16660)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4163]|0; + $35 = HEAP32[4239]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11633,19 +11676,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16344; + $44 = 16648; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16328>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16328+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16344+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16632>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16632+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16648+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4166] = $49; - HEAP32[4167] = 0; + HEAPF32[4242] = $49; + HEAP32[4243] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[5]|0; @@ -11653,11 +11696,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16328>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16328+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16344+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16632>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16632+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16648+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4168] = $56; + HEAPF32[4244] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11688,22 +11731,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4166] = 0.0; - HEAPF32[4168] = 0.0; + HEAPF32[4242] = 0.0; + HEAPF32[4244] = 0.0; $$sink10 = 0; } - HEAP32[4163] = $$sink10; - HEAPF32[4084] = 0.0; - HEAPF32[(16340)>>2] = 0.0; - HEAP32[4164] = 0; + HEAP32[4239] = $$sink10; + HEAPF32[4160] = 0.0; + HEAPF32[(16644)>>2] = 0.0; + HEAP32[4240] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4167]|0; + $65 = HEAP32[4243]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4167] = 1; + HEAP32[4243] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11712,31 +11755,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16360; + $74 = 16664; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4163]|0; + $78 = HEAP32[4239]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16328>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16328+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16632>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16632+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16664+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4163] = 8; + HEAP32[4239] = 8; } } - $82 = +HEAPF32[4090]; - $83 = +HEAPF32[4084]; + $82 = +HEAPF32[4166]; + $83 = +HEAPF32[4160]; $84 = $82 - $83; - HEAPF32[4088] = $84; - $85 = +HEAPF32[(16364)>>2]; - $86 = +HEAPF32[(16340)>>2]; + HEAPF32[4164] = $84; + $85 = +HEAPF32[(16668)>>2]; + $86 = +HEAPF32[(16644)>>2]; $87 = $85 - $86; - HEAPF32[(16356)>>2] = $87; + HEAPF32[(16660)>>2] = $87; STACKTOP = sp;return; break; } @@ -11745,58 +11788,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4163]|0; + $0 = HEAP32[4239]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4164]|0; + $2 = HEAP32[4240]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4163] = 4; + HEAP32[4239] = 4; } - $4 = HEAP32[4163]|0; + $4 = HEAP32[4239]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11809,14 +11813,14 @@ function _UpdateGestures() { return; } } - HEAP32[4163] = 0; + HEAP32[4239] = 0; return; } function _GetMousePosition($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 = 16392; + $1 = 16696; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11833,13 +11837,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4173]|0; + $0 = HEAP32[4249]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4172]|0; + $0 = HEAP32[4248]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11851,7 +11855,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4286,$vararg_buffer); - HEAP32[4175] = $2; + HEAP32[4251] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11864,15 +11868,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4315|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4173]|0; + $3 = HEAP32[4249]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4098] = $5; - $6 = HEAP32[4172]|0; + HEAPF32[4174] = $5; + $6 = HEAP32[4248]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16396)>>2] = $8; - $9 = HEAP32[4176]|0; + HEAPF32[(16700)>>2] = $8; + $9 = HEAP32[4252]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11891,11 +11895,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16432>>0]=HEAP8[8815>>0]|0;HEAP8[16432+1>>0]=HEAP8[8815+1>>0]|0;HEAP8[16432+2>>0]=HEAP8[8815+2>>0]|0;HEAP8[16432+3>>0]=HEAP8[8815+3>>0]|0;HEAP8[16432+4>>0]=HEAP8[8815+4>>0]|0;HEAP8[16432+5>>0]=HEAP8[8815+5>>0]|0;HEAP8[16432+6>>0]=HEAP8[8815+6>>0]|0; + ;HEAP8[16736>>0]=HEAP8[8815>>0]|0;HEAP8[16736+1>>0]=HEAP8[8815+1>>0]|0;HEAP8[16736+2>>0]=HEAP8[8815+2>>0]|0;HEAP8[16736+3>>0]=HEAP8[8815+3>>0]|0;HEAP8[16736+4>>0]=HEAP8[8815+4>>0]|0;HEAP8[16736+5>>0]=HEAP8[8815+5>>0]|0;HEAP8[16736+6>>0]=HEAP8[8815+6>>0]|0; break; } case 1: { - $3 = 16432; + $3 = 16736; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11904,11 +11908,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16432; src=8822; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16736; src=8822; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16432; + $7 = 16736; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11919,16 +11923,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16432,$1)|0); - $strlen = (_strlen(16432)|0); - $endptr = (16432 + ($strlen)|0); + (_strcat(16736,$1)|0); + $strlen = (_strlen(16736)|0); + $endptr = (16736 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16432,$2)|0); + (_vprintf(16736,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11960,22 +11964,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4173] = $0; - HEAP32[4172] = $1; + HEAP32[4249] = $0; + HEAP32[4248] = $1; _MatrixIdentity($2); - dest=16780; 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)); + dest=17084; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,4957,$vararg_buffer); } - $6 = HEAP32[4173]|0; - HEAP32[4211] = $6; - $7 = HEAP32[4172]|0; - HEAP32[4212] = $7; + $6 = HEAP32[4249]|0; + HEAP32[4287] = $6; + $7 = HEAP32[4248]|0; + HEAP32[4288] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19512]|0; + $8 = HEAP8[19816]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11983,13 +11987,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19512]|0; + $11 = HEAP8[19816]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19512]|0; + $14 = HEAP8[19816]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -12011,18 +12015,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4213]|0; + $21 = HEAP32[4289]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4173]|0; - $48 = HEAP32[4172]|0; - $49 = HEAP32[4175]|0; + $47 = HEAP32[4249]|0; + $48 = HEAP32[4248]|0; + $49 = HEAP32[4251]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4171] = $50; - $51 = HEAP32[4173]|0; - HEAP32[4214] = $51; - $52 = HEAP32[4172]|0; - HEAP32[4215] = $52; + HEAP32[4247] = $50; + $51 = HEAP32[4249]|0; + HEAP32[4290] = $51; + $52 = HEAP32[4248]|0; + HEAP32[4291] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12031,9 +12035,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4173]|0; + $27 = HEAP32[4249]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4172]|0; + $29 = HEAP32[4248]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12055,25 +12059,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4211] = $31; - HEAP32[4212] = $34; + HEAP32[4287] = $31; + HEAP32[4288] = $34; } } while(0); - $38 = HEAP32[4211]|0; - $39 = HEAP32[4212]|0; + $38 = HEAP32[4287]|0; + $39 = HEAP32[4288]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5008,$vararg_buffer3); - $40 = HEAP32[4211]|0; - $41 = HEAP32[4212]|0; + $40 = HEAP32[4287]|0; + $41 = HEAP32[4288]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4211]|0; - $43 = HEAP32[4212]|0; - $44 = HEAP32[4175]|0; + $42 = HEAP32[4287]|0; + $43 = HEAP32[4288]|0; + $44 = HEAP32[4251]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4171] = $46; + HEAP32[4247] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12082,60 +12086,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5046,$vararg_buffer6); } else { _TraceLog(0,5079,$vararg_buffer8); - $55 = HEAP32[4214]|0; - $56 = HEAP32[4215]|0; + $55 = HEAP32[4290]|0; + $56 = HEAP32[4291]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5119,$vararg_buffer10); - $57 = HEAP32[4173]|0; - $58 = HEAP32[4172]|0; + $57 = HEAP32[4249]|0; + $58 = HEAP32[4248]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5140,$vararg_buffer14); - $59 = HEAP32[4216]|0; - $60 = HEAP32[4217]|0; + $59 = HEAP32[4292]|0; + $60 = HEAP32[4293]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5161,$vararg_buffer18); } - $61 = HEAP32[4171]|0; + $61 = HEAP32[4247]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4171]|0; + $62 = HEAP32[4247]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4171]|0; + $63 = HEAP32[4247]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4171]|0; + $64 = HEAP32[4247]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4171]|0; + $65 = HEAP32[4247]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4171]|0; + $66 = HEAP32[4247]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4171]|0; + $67 = HEAP32[4247]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4171]|0; + $68 = HEAP32[4247]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4171]|0; + $69 = HEAP32[4247]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19512]|0; + $70 = HEAP8[19816]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4173]|0; - $74 = HEAP32[4172]|0; + $73 = HEAP32[4249]|0; + $74 = HEAP32[4248]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4214]|0; - $76 = HEAP32[4216]|0; + $75 = HEAP32[4290]|0; + $76 = HEAP32[4292]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4215]|0; - $80 = HEAP32[4217]|0; + $79 = HEAP32[4291]|0; + $80 = HEAP32[4293]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12154,18 +12158,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5186,$vararg_buffer22); - $73 = HEAP32[4173]|0; - $74 = HEAP32[4172]|0; + $73 = HEAP32[4249]|0; + $74 = HEAP32[4248]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4214]|0; - $76 = HEAP32[4216]|0; + $75 = HEAP32[4290]|0; + $76 = HEAP32[4292]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4215]|0; - $80 = HEAP32[4217]|0; + $79 = HEAP32[4291]|0; + $80 = HEAP32[4293]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12193,7 +12197,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16748)>>2] = 224; + HEAP32[(17052)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12234,27 +12238,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16724>>2]=HEAP32[$1>>2]|0;HEAP32[16724+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16724+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16724+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16724+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17028>>2]=HEAP32[$1>>2]|0;HEAP32[17028+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17028+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17028+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17028+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16748)>>2]|0; + $5 = HEAP32[(17052)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16752)>>2] = $7; + HEAP32[(17056)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16744)>>2] = $23; - $24 = HEAP32[4181]|0; + HEAP32[(17048)>>2] = $23; + $24 = HEAP32[4257]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4510,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16728)>>2]|0; - $10 = HEAP32[(16748)>>2]|0; - $11 = HEAP32[(16752)>>2]|0; + $9 = HEAP32[(17032)>>2]|0; + $10 = HEAP32[(17052)>>2]|0; + $11 = HEAP32[(17056)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12303,8 +12307,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16744)>>2] = $23; - $24 = HEAP32[4181]|0; + HEAP32[(17048)>>2] = $23; + $24 = HEAP32[4257]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4510,$vararg_buffer); STACKTOP = sp;return; @@ -12315,7 +12319,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2053] = $1; + HEAPF64[2091] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12474,7 +12478,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16408; + $31 = 16712; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12487,7 +12491,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16416); + $42 = (16720); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12543,7 +12547,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16708 + ($10<<2)|0); + $11 = (17012 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12557,7 +12561,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2050] = $$; + HEAPF64[2088] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12569,7 +12573,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4176] = 0; + HEAP32[4252] = 0; return; } function _GetTime() { @@ -13145,7 +13149,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4189]|0; + $6 = HEAP32[4265]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13155,7 +13159,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4190]|0; + $9 = HEAP32[4266]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13164,7 +13168,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4191]|0; + $12 = HEAP32[4267]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13174,7 +13178,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4192]|0; + $15 = HEAP32[4268]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13184,7 +13188,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4193]|0; + $18 = HEAP32[4269]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13228,7 +13232,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4189]|0; + $22 = HEAP32[4265]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13236,7 +13240,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4189]|0; + $24 = HEAP32[4265]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13244,7 +13248,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4189]|0; + $26 = HEAP32[4265]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13252,7 +13256,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4189]|0; + $28 = HEAP32[4265]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13260,7 +13264,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4190]|0; + $30 = HEAP32[4266]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13268,7 +13272,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4191]|0; + $32 = HEAP32[4267]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13276,7 +13280,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4191]|0; + $34 = HEAP32[4267]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13284,7 +13288,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4192]|0; + $36 = HEAP32[4268]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13292,7 +13296,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4192]|0; + $38 = HEAP32[4268]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13300,7 +13304,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4193]|0; + $40 = HEAP32[4269]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13308,7 +13312,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4193]|0; + $42 = HEAP32[4269]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13320,7 +13324,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4194]|0; + $44 = HEAP32[4270]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13335,7 +13339,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,10906,$vararg_buffer15); + _TraceLog(2,11214,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13666,20 +13670,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4173]|0; + $3 = HEAP32[4249]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4172]|0; + $5 = HEAP32[4248]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4214] = $3; - HEAP32[4215] = $5; - HEAP32[4216] = 0; - HEAP32[4217] = 0; + HEAP32[4290] = $3; + HEAP32[4291] = $5; + HEAP32[4292] = 0; + HEAP32[4293] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13693,9 +13697,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4173]|0; + $35 = HEAP32[4249]|0; $36 = (+($35|0)); - $37 = HEAP32[4172]|0; + $37 = HEAP32[4248]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13703,26 +13707,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4214] = $45; - HEAP32[4215] = $37; + HEAP32[4290] = $45; + HEAP32[4291] = $37; $46 = (($45) - ($35))|0; - HEAP32[4216] = $46; + HEAP32[4292] = $46; $$sink1 = 0; } else { - HEAP32[4214] = $35; + HEAP32[4290] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4215] = $42; - HEAP32[4216] = 0; + HEAP32[4291] = $42; + HEAP32[4292] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4217] = $$sink1; + HEAP32[4293] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4172]|0; + $7 = HEAP32[4248]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13732,11 +13736,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8568,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4173]|0; + $9 = HEAP32[4249]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4172]|0; + $13 = HEAP32[4248]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13744,33 +13748,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4214] = $23; - HEAP32[4215] = $1; + HEAP32[4290] = $23; + HEAP32[4291] = $1; $24 = (($0) - ($23))|0; - HEAP32[4216] = $24; + HEAP32[4292] = $24; $$sink = 0; } else { - HEAP32[4214] = $0; - $17 = HEAP32[4172]|0; + HEAP32[4290] = $0; + $17 = HEAP32[4248]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4215] = $20; - HEAP32[4216] = 0; + HEAP32[4291] = $20; + HEAP32[4292] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4217] = $$sink; - $25 = HEAP32[4214]|0; + HEAP32[4293] = $$sink; + $25 = HEAP32[4290]|0; $26 = (+($25|0)); - $27 = HEAP32[4173]|0; + $27 = HEAP32[4249]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16780; 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)); - HEAP32[4214] = $0; - HEAP32[4215] = $1; + dest=17084; 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)); + HEAP32[4290] = $0; + HEAP32[4291] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13792,10 +13796,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4173] = $1; - HEAP32[4172] = $2; - HEAP32[4214] = $1; - HEAP32[4215] = $2; + HEAP32[4249] = $1; + HEAP32[4248] = $2; + HEAP32[4290] = $1; + HEAP32[4291] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13822,7 +13826,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19519 + ($1)|0); + $9 = (19823 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13843,7 +13847,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19513 + ($1)|0); + $7 = (19817 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13922,7 +13926,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16408; + $15 = 16712; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13957,7 +13961,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4587] = $3; + HEAP32[4663] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13967,7 +13971,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4586] = $$sink; + HEAP32[4662] = $$sink; return; } function _rlglInit($0,$1) { @@ -14048,18 +14052,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5318)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4252] = 1; + HEAP32[4328] = 1; $27 = (_eglGetProcAddress((5345|0))|0); - HEAP32[4253] = $27; + HEAP32[4329] = $27; $28 = (_eglGetProcAddress((5366|0))|0); - HEAP32[4254] = $28; + HEAP32[4330] = $28; $29 = (_eglGetProcAddress((5387|0))|0); - HEAP32[4255] = $29; + HEAP32[4331] = $29; } $30 = (_strcmp($24,5411)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4194] = 1; + HEAP32[4270] = 1; } $32 = (_strcmp($24,5431)|0); $33 = ($32|0)==(0); @@ -14081,7 +14085,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4189] = 1; + HEAP32[4265] = 1; } $39 = (_strcmp($24,5536)|0); $40 = ($39|0)==(0); @@ -14097,35 +14101,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4190] = 1; + HEAP32[4266] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5605)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4191] = 1; + HEAP32[4267] = 1; } $47 = (_strcmp($44,5630)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4192] = 1; + HEAP32[4268] = 1; } $49 = (_strcmp($44,5663)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4193] = 1; + HEAP32[4269] = 1; } $51 = (_strcmp($44,5699)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4256] = 1; - _glGetFloatv(34047,(17028|0)); + HEAP32[4332] = 1; + _glGetFloatv(34047,(17332|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5733)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4258] = 1; + HEAP32[4334] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14136,61 +14140,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4252]|0; + $21 = HEAP32[4328]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5836,$vararg_buffer15); } else { _TraceLog(0,5761,$vararg_buffer13); } - $57 = HEAP32[4194]|0; + $57 = HEAP32[4270]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,5972,$vararg_buffer19); } else { _TraceLog(0,5897,$vararg_buffer17); } - $59 = HEAP32[4189]|0; + $59 = HEAP32[4265]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6064,$vararg_buffer21); } - $61 = HEAP32[4190]|0; + $61 = HEAP32[4266]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6110,$vararg_buffer23); } - $63 = HEAP32[4191]|0; + $63 = HEAP32[4267]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6157,$vararg_buffer25); } - $65 = HEAP32[4192]|0; + $65 = HEAP32[4268]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6208,$vararg_buffer27); } - $67 = HEAP32[4193]|0; + $67 = HEAP32[4269]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6255,$vararg_buffer29); } - $69 = HEAP32[4256]|0; + $69 = HEAP32[4332]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4257]; + $71 = +HEAPF32[4333]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6302,$vararg_buffer31); } - $73 = HEAP32[4258]|0; + $73 = HEAP32[4334]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6368,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4259] = $75; + HEAP32[4335] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6472,$vararg_buffer39); @@ -14199,14 +14203,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6421,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17040; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17096; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17344; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17400; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4288] = $77; + HEAP32[4364] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4288]|0; + $79 = HEAP32[4364]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14219,7 +14223,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4289] = $78; + HEAP32[4365] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14234,48 +14238,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4290] = 1; - $85 = HEAP32[4259]|0; + HEAP32[4366] = 1; + $85 = HEAP32[4335]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4291] = 4; + HEAP32[4367] = 4; _MatrixIdentity($4); - dest=17168; src=$4; 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)); + dest=17472; src=$4; 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)); _MatrixIdentity($4); - dest=(17232); src=$4; 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)); + dest=(17536); src=$4; 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)); _MatrixIdentity($4); - dest=(17296); src=$4; 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)); + dest=(17600); src=$4; 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)); _MatrixIdentity($4); - dest=(17360); src=$4; 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)); + dest=(17664); src=$4; 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)); _MatrixIdentity($4); - dest=(17424); src=$4; 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)); + dest=(17728); src=$4; 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)); _MatrixIdentity($4); - dest=(17488); src=$4; 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)); + dest=(17792); src=$4; 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)); _MatrixIdentity($4); - dest=(17552); src=$4; 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)); + dest=(17856); src=$4; 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)); _MatrixIdentity($4); - dest=(17616); src=$4; 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)); + dest=(17920); src=$4; 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)); _MatrixIdentity($4); - dest=(17680); src=$4; 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)); + dest=(17984); src=$4; 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)); _MatrixIdentity($4); - dest=(17744); src=$4; 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)); + dest=(18048); src=$4; 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)); _MatrixIdentity($4); - dest=(17808); src=$4; 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)); + dest=(18112); src=$4; 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)); _MatrixIdentity($4); - dest=(17872); src=$4; 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)); + dest=(18176); src=$4; 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)); _MatrixIdentity($4); - dest=(17936); src=$4; 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)); + dest=(18240); src=$4; 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)); _MatrixIdentity($4); - dest=(18000); src=$4; 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)); + dest=(18304); src=$4; 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)); _MatrixIdentity($4); - dest=(18064); src=$4; 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)); + dest=(18368); src=$4; 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)); _MatrixIdentity($4); - dest=(18128); src=$4; 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)); + dest=(18432); src=$4; 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)); _MatrixIdentity($5); - dest=16876; src=$5; 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)); + dest=17180; src=$5; 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)); _MatrixIdentity($6); - dest=16940; src=$6; 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)); - HEAP32[4218] = 16940; + dest=17244; src=$6; 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)); + HEAP32[4294] = 17244; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14286,21 +14290,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4548] = $0; - HEAP32[4549] = $1; + HEAP32[4624] = $0; + HEAP32[4625] = $1; _TraceLog(0,6511,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4216]|0; + $0 = HEAP32[4292]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4217]|0; + $2 = HEAP32[4293]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4214]|0; + $4 = HEAP32[4290]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4215]|0; + $6 = HEAP32[4291]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14311,12 +14315,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16876; + $modelview$sink = 17180; label = 3; break; } case 5888: { - $modelview$sink = 16940; + $modelview$sink = 17244; label = 3; break; } @@ -14324,9 +14328,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4218] = $modelview$sink; + HEAP32[4294] = $modelview$sink; } - HEAP32[4251] = $0; + HEAP32[4327] = $0; return; } function _rlLoadIdentity() { @@ -14334,7 +14338,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4218]|0; + $1 = HEAP32[4294]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14355,7 +14359,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4218]|0; + $8 = HEAP32[4294]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14452,15 +14456,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18212)>>2] = $0; + HEAP32[(18516)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18220)>>2] = $1; - HEAP32[(18216)>>2] = 0; - HEAP32[(18224)>>2] = 0; + HEAP32[(18524)>>2] = $1; + HEAP32[(18520)>>2] = 0; + HEAP32[(18528)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18220)>>2]|0; + $2 = HEAP32[(18524)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14471,19 +14475,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4550] = 0; - HEAP32[(18208)>>2] = 0; - HEAP32[(18204)>>2] = 0; + HEAP32[4626] = 0; + HEAP32[(18512)>>2] = 0; + HEAP32[(18508)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18260)>>2] = $5; + HEAP32[(18564)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18268)>>2] = $6; - HEAP32[(18264)>>2] = 0; - HEAP32[(18272)>>2] = 0; + HEAP32[(18572)>>2] = $6; + HEAP32[(18568)>>2] = 0; + HEAP32[(18576)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18268)>>2]|0; + $7 = HEAP32[(18572)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14494,24 +14498,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4562] = 0; - HEAP32[(18256)>>2] = 0; - HEAP32[(18252)>>2] = 0; + HEAP32[4638] = 0; + HEAP32[(18560)>>2] = 0; + HEAP32[(18556)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18308)>>2] = $10; + HEAP32[(18612)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18312)>>2] = $11; + HEAP32[(18616)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18316)>>2] = $12; + HEAP32[(18620)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18320)>>2] = $13; - $14 = HEAP32[(18308)>>2]|0; + HEAP32[(18624)>>2] = $13; + $14 = HEAP32[(18612)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18312)>>2]|0; + $15 = HEAP32[(18616)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18316)>>2]|0; + $17 = HEAP32[(18620)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14522,7 +14526,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18320)>>2]|0; + $16 = HEAP32[(18624)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14559,140 +14563,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4574] = 0; - HEAP32[(18300)>>2] = 0; - HEAP32[(18304)>>2] = 0; + HEAP32[4650] = 0; + HEAP32[(18604)>>2] = 0; + HEAP32[(18608)>>2] = 0; _TraceLog(0,6558,$vararg_buffer); - $20 = HEAP32[4252]|0; + $20 = HEAP32[4328]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4253]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18228)); - $44 = HEAP32[4254]|0; - $45 = HEAP32[(18228)>>2]|0; + $43 = HEAP32[4329]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18532)); + $44 = HEAP32[4330]|0; + $45 = HEAP32[(18532)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18232)|0)); - $46 = HEAP32[(18232)>>2]|0; + _glGenBuffers(2,((18536)|0)); + $46 = HEAP32[(18536)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18212)>>2]|0; + $47 = HEAP32[(18516)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17100)>>2]|0; + $48 = HEAP32[(17404)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17100)>>2]|0; + $49 = HEAP32[(17404)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18236)|0)); - $50 = HEAP32[(18236)>>2]|0; + _glGenBuffers(2,((18540)|0)); + $50 = HEAP32[(18540)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18220)>>2]|0; + $51 = HEAP32[(18524)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17120)>>2]|0; + $52 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17120)>>2]|0; + $53 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4252]|0; + $54 = HEAP32[4328]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18232)>>2]|0; - $58 = HEAP32[(18236)>>2]|0; + $57 = HEAP32[(18536)>>2]|0; + $58 = HEAP32[(18540)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6696,$vararg_buffer3); } else { - $56 = HEAP32[(18228)>>2]|0; + $56 = HEAP32[(18532)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6631,$vararg_buffer1); } - $59 = HEAP32[4252]|0; + $59 = HEAP32[4328]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4253]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18276)); - $62 = HEAP32[4254]|0; - $63 = HEAP32[(18276)>>2]|0; + $61 = HEAP32[4329]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18580)); + $62 = HEAP32[4330]|0; + $63 = HEAP32[(18580)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18280)|0)); - $64 = HEAP32[(18280)>>2]|0; + _glGenBuffers(1,((18584)|0)); + $64 = HEAP32[(18584)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18260)>>2]|0; + $65 = HEAP32[(18564)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17100)>>2]|0; + $66 = HEAP32[(17404)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17100)>>2]|0; + $67 = HEAP32[(17404)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18284)|0)); - $68 = HEAP32[(18284)>>2]|0; + _glGenBuffers(1,((18588)|0)); + $68 = HEAP32[(18588)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18268)>>2]|0; + $69 = HEAP32[(18572)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17120)>>2]|0; + $70 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17120)>>2]|0; + $71 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4252]|0; + $72 = HEAP32[4328]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18280)>>2]|0; - $76 = HEAP32[(18284)>>2]|0; + $75 = HEAP32[(18584)>>2]|0; + $76 = HEAP32[(18588)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6842,$vararg_buffer10); } else { - $74 = HEAP32[(18276)>>2]|0; + $74 = HEAP32[(18580)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6773,$vararg_buffer7); } - $77 = HEAP32[4252]|0; + $77 = HEAP32[4328]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4253]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18324)); - $80 = HEAP32[4254]|0; - $81 = HEAP32[(18324)>>2]|0; + $79 = HEAP32[4329]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18628)); + $80 = HEAP32[4330]|0; + $81 = HEAP32[(18628)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18328)|0)); - $82 = HEAP32[(18328)>>2]|0; + _glGenBuffers(1,((18632)|0)); + $82 = HEAP32[(18632)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18308)>>2]|0; + $83 = HEAP32[(18612)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17100)>>2]|0; + $84 = HEAP32[(17404)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17100)>>2]|0; + $85 = HEAP32[(17404)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18332)|0)); - $86 = HEAP32[(18332)>>2]|0; + _glGenBuffers(1,((18636)|0)); + $86 = HEAP32[(18636)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18312)>>2]|0; + $87 = HEAP32[(18616)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17104)>>2]|0; + $88 = HEAP32[(17408)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17104)>>2]|0; + $89 = HEAP32[(17408)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18336)|0)); - $90 = HEAP32[(18336)>>2]|0; + _glGenBuffers(1,((18640)|0)); + $90 = HEAP32[(18640)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18316)>>2]|0; + $91 = HEAP32[(18620)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17120)>>2]|0; + $92 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17120)>>2]|0; + $93 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18340)|0)); - $94 = HEAP32[(18340)>>2]|0; + _glGenBuffers(1,((18644)|0)); + $94 = HEAP32[(18644)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18320)>>2]|0; + $95 = HEAP32[(18624)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4252]|0; + $96 = HEAP32[4328]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18328)>>2]|0; - $100 = HEAP32[(18332)>>2]|0; - $101 = HEAP32[(18336)>>2]|0; - $102 = HEAP32[(18340)>>2]|0; + $99 = HEAP32[(18632)>>2]|0; + $100 = HEAP32[(18636)>>2]|0; + $101 = HEAP32[(18640)>>2]|0; + $102 = HEAP32[(18644)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14702,16 +14706,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,6988,$vararg_buffer17); } else { - $98 = HEAP32[(18324)>>2]|0; + $98 = HEAP32[(18628)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,6923,$vararg_buffer14); } - $103 = HEAP32[4252]|0; + $103 = HEAP32[4328]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4254]|0; + $105 = HEAP32[4330]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14892,9 +14896,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19513 + ($0)|0); + $1 = (19817 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19516 + ($0)|0); + $3 = (19820 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14906,9 +14910,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19513 + ($0)|0); + $1 = (19817 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19516 + ($0)|0); + $3 = (19820 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14929,7 +14933,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4171]|0; + $0 = HEAP32[4247]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8832,$vararg_buffer); @@ -14940,9 +14944,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16724>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16724+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16724+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16724+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16724+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17028>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17028+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17028+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17028+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17028+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16752)>>2]|0; + $0 = HEAP32[(17056)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14953,11 +14957,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17036|0)); - $0 = HEAP32[4259]|0; + _glDeleteTextures(1,(17340|0)); + $0 = HEAP32[4335]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8859,$vararg_buffer); - $1 = HEAP32[4289]|0; + $1 = HEAP32[4365]|0; _free($1); STACKTOP = sp;return; } @@ -14965,17 +14969,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4260]|0; + $0 = HEAP32[4336]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4252]|0; + $0 = HEAP32[4328]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4254]|0; + $2 = HEAP32[4330]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14984,39 +14988,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18232)|0)); - _glDeleteBuffers(1,((18236)|0)); - _glDeleteBuffers(1,((18280)|0)); - _glDeleteBuffers(1,((18284)|0)); - _glDeleteBuffers(1,((18328)|0)); - _glDeleteBuffers(1,((18332)|0)); - _glDeleteBuffers(1,((18336)|0)); - _glDeleteBuffers(1,((18340)|0)); - $3 = HEAP32[4252]|0; + _glDeleteBuffers(1,((18536)|0)); + _glDeleteBuffers(1,((18540)|0)); + _glDeleteBuffers(1,((18584)|0)); + _glDeleteBuffers(1,((18588)|0)); + _glDeleteBuffers(1,((18632)|0)); + _glDeleteBuffers(1,((18636)|0)); + _glDeleteBuffers(1,((18640)|0)); + _glDeleteBuffers(1,((18644)|0)); + $3 = HEAP32[4328]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4255]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18228)); - $6 = HEAP32[4255]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18276)); - $7 = HEAP32[4255]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18324)); + $5 = HEAP32[4331]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18532)); + $6 = HEAP32[4331]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18580)); + $7 = HEAP32[4331]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18628)); } - $8 = HEAP32[(18212)>>2]|0; + $8 = HEAP32[(18516)>>2]|0; _free($8); - $9 = HEAP32[(18220)>>2]|0; + $9 = HEAP32[(18524)>>2]|0; _free($9); - $10 = HEAP32[(18260)>>2]|0; + $10 = HEAP32[(18564)>>2]|0; _free($10); - $11 = HEAP32[(18268)>>2]|0; + $11 = HEAP32[(18572)>>2]|0; _free($11); - $12 = HEAP32[(18308)>>2]|0; + $12 = HEAP32[(18612)>>2]|0; _free($12); - $13 = HEAP32[(18312)>>2]|0; + $13 = HEAP32[(18616)>>2]|0; _free($13); - $14 = HEAP32[(18316)>>2]|0; + $14 = HEAP32[(18620)>>2]|0; _free($14); - $15 = HEAP32[(18320)>>2]|0; + $15 = HEAP32[(18624)>>2]|0; _free($15); return; } @@ -15056,16 +15060,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2070] = $0; - $1 = +HEAPF64[2053]; + HEAPF64[2108] = $0; + $1 = +HEAPF64[2091]; $2 = $0 - $1; - HEAPF64[2071] = $2; - HEAPF64[2053] = $0; + HEAPF64[2109] = $2; + HEAPF64[2091] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16780; 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)); + dest=$downscaleView$byval_copy; src=17084; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18352); + _rlMultMatrixf(18656); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15074,53 +15078,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[4588] = $1; + HEAP32[4664] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18356)>>2] = $3; + HEAP32[(18660)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18360)>>2] = $5; + HEAP32[(18664)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18364)>>2] = $7; + HEAP32[(18668)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18368)>>2] = $9; + HEAP32[(18672)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18372)>>2] = $11; + HEAP32[(18676)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18376)>>2] = $13; + HEAP32[(18680)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18380)>>2] = $15; + HEAP32[(18684)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18384)>>2] = $17; + HEAP32[(18688)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18388)>>2] = $19; + HEAP32[(18692)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18392)>>2] = $21; + HEAP32[(18696)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18396)>>2] = $23; + HEAP32[(18700)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18400)>>2] = $25; + HEAP32[(18704)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18404)>>2] = $27; + HEAP32[(18708)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18408)>>2] = $29; + HEAP32[(18712)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18412)>>2] = $31; - return (18352|0); + HEAP32[(18716)>>2] = $31; + return (18656|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15195,7 +15199,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4218]|0; + $49 = HEAP32[4294]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15209,15 +15213,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2070] = $0; - $1 = +HEAPF64[2053]; + HEAPF64[2108] = $0; + $1 = +HEAPF64[2091]; $2 = $0 - $1; - HEAPF64[2072] = $2; - HEAPF64[2053] = $0; - $3 = +HEAPF64[2071]; + HEAPF64[2110] = $2; + HEAPF64[2091] = $0; + $3 = +HEAPF64[2109]; $4 = $2 + $3; - HEAPF64[2073] = $4; - $5 = +HEAPF64[2050]; + HEAPF64[2111] = $4; + $5 = +HEAPF64[2088]; $6 = $4 < $5; if (!($6)) { return; @@ -15227,13 +15231,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2070] = $10; - $11 = +HEAPF64[2053]; + HEAPF64[2108] = $10; + $11 = +HEAPF64[2091]; $12 = $10 - $11; - HEAPF64[2053] = $10; - $13 = +HEAPF64[2073]; + HEAPF64[2091] = $10; + $13 = +HEAPF64[2111]; $14 = $12 + $13; - HEAPF64[2073] = $14; + HEAPF64[2111] = $14; return; } function _rlglDraw() { @@ -15246,7 +15250,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4171]|0; + $0 = HEAP32[4247]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15262,20 +15266,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[742] = -1; HEAP32[744] = -1; - HEAP32[4604] = 0; - $3 = HEAP32[4171]|0; + HEAP32[4680] = 0; + $3 = HEAP32[4247]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4098] = $5; + HEAPF32[4174] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16396)>>2] = $7; - _memcpy((20031|0),(19519|0),512)|0; - ;HEAP8[19516>>0]=HEAP8[19513>>0]|0;HEAP8[19516+1>>0]=HEAP8[19513+1>>0]|0;HEAP8[19516+2>>0]=HEAP8[19513+2>>0]|0; - $8 = HEAP32[4587]|0; - HEAP32[4174] = $8; - HEAP32[4587] = 0; + HEAPF32[(16700)>>2] = $7; + _memcpy((20335|0),(19823|0),512)|0; + ;HEAP8[19820>>0]=HEAP8[19817>>0]|0;HEAP8[19820+1>>0]=HEAP8[19817+1>>0]|0;HEAP8[19820+2>>0]=HEAP8[19817+2>>0]|0; + $8 = HEAP32[4663]|0; + HEAP32[4250] = $8; + HEAP32[4663] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15285,8 +15289,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20543 + ($$05160<<5)|0); - $scevgep67 = (20671 + ($$05160<<5)|0); + $scevgep = (20847 + ($$05160<<5)|0); + $scevgep67 = (20975 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15300,7 +15304,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20671 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((20975 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[744] = $$04857; @@ -15327,7 +15331,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18420 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18724 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15343,7 +15347,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4604] = $$lcssa; + HEAP32[4680] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15384,87 +15388,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4550]|0; + $0 = HEAP32[4626]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4252]|0; + $2 = HEAP32[4328]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4254]|0; - $5 = HEAP32[(18228)>>2]|0; + $4 = HEAP32[4330]|0; + $5 = HEAP32[(18532)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18232)>>2]|0; + $6 = HEAP32[(18536)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4550]|0; + $7 = HEAP32[4626]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18212)>>2]|0; + $9 = HEAP32[(18516)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18236)>>2]|0; + $10 = HEAP32[(18540)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18208)>>2]|0; + $11 = HEAP32[(18512)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18220)>>2]|0; + $13 = HEAP32[(18524)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4562]|0; + $14 = HEAP32[4638]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4252]|0; + $16 = HEAP32[4328]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4254]|0; - $19 = HEAP32[(18276)>>2]|0; + $18 = HEAP32[4330]|0; + $19 = HEAP32[(18580)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18280)>>2]|0; + $20 = HEAP32[(18584)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4562]|0; + $21 = HEAP32[4638]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18260)>>2]|0; + $23 = HEAP32[(18564)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18284)>>2]|0; + $24 = HEAP32[(18588)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18256)>>2]|0; + $25 = HEAP32[(18560)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18268)>>2]|0; + $27 = HEAP32[(18572)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4574]|0; + $28 = HEAP32[4650]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4252]|0; + $30 = HEAP32[4328]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4254]|0; - $33 = HEAP32[(18324)>>2]|0; + $32 = HEAP32[4330]|0; + $33 = HEAP32[(18628)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18328)>>2]|0; + $34 = HEAP32[(18632)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4574]|0; + $35 = HEAP32[4650]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18308)>>2]|0; + $37 = HEAP32[(18612)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18332)>>2]|0; + $38 = HEAP32[(18636)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4574]|0; + $39 = HEAP32[4650]|0; $40 = $39 << 3; - $41 = HEAP32[(18312)>>2]|0; + $41 = HEAP32[(18616)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18336)>>2]|0; + $42 = HEAP32[(18640)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4574]|0; + $43 = HEAP32[4650]|0; $44 = $43 << 2; - $45 = HEAP32[(18316)>>2]|0; + $45 = HEAP32[(18620)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4252]|0; + $46 = HEAP32[4328]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4254]|0; + $48 = HEAP32[4330]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15482,9 +15486,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16876; 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)); - dest=$1; src=16940; 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)); - $3 = HEAP32[4637]|0; + dest=$0; src=17180; 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)); + dest=$1; src=17244; 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)); + $3 = HEAP32[4713]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15494,134 +15498,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4550]|0; + $8 = HEAP32[4626]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4562]|0; + $10 = HEAP32[4638]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4574]|0; + $12 = HEAP32[4650]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4274]|0; + $14 = HEAP32[4350]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=16940; 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)); - dest=$$byval_copy2; src=16876; 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)); + dest=$modelview$byval_copy; src=17244; 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)); + dest=$$byval_copy2; src=17180; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17124)>>2]|0; + $15 = HEAP32[(17428)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17128)>>2]|0; + $17 = HEAP32[(17432)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17140)>>2]|0; + $18 = HEAP32[(17444)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4550]|0; + $19 = HEAP32[4626]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4259]|0; + $21 = HEAP32[4335]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4252]|0; + $22 = HEAP32[4328]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18232)>>2]|0; + $26 = HEAP32[(18536)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17100)>>2]|0; + $27 = HEAP32[(17404)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17100)>>2]|0; + $28 = HEAP32[(17404)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18236)>>2]|0; + $29 = HEAP32[(18540)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17120)>>2]|0; + $30 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17120)>>2]|0; + $31 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4254]|0; - $25 = HEAP32[(18228)>>2]|0; + $24 = HEAP32[4330]|0; + $25 = HEAP32[(18532)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4550]|0; + $32 = HEAP32[4626]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4252]|0; + $33 = HEAP32[4328]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4562]|0; + $35 = HEAP32[4638]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4259]|0; + $37 = HEAP32[4335]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4252]|0; + $38 = HEAP32[4328]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18280)>>2]|0; + $42 = HEAP32[(18584)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17100)>>2]|0; + $43 = HEAP32[(17404)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17100)>>2]|0; + $44 = HEAP32[(17404)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18284)>>2]|0; + $45 = HEAP32[(18588)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17120)>>2]|0; + $46 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17120)>>2]|0; + $47 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4254]|0; - $41 = HEAP32[(18276)>>2]|0; + $40 = HEAP32[4330]|0; + $41 = HEAP32[(18580)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4562]|0; + $48 = HEAP32[4638]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4252]|0; + $49 = HEAP32[4328]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4574]|0; + $51 = HEAP32[4650]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4252]|0; + $53 = HEAP32[4328]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18328)>>2]|0; + $57 = HEAP32[(18632)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17100)>>2]|0; + $58 = HEAP32[(17404)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17100)>>2]|0; + $59 = HEAP32[(17404)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18332)>>2]|0; + $60 = HEAP32[(18636)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17104)>>2]|0; + $61 = HEAP32[(17408)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17104)>>2]|0; + $62 = HEAP32[(17408)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18336)>>2]|0; + $63 = HEAP32[(18640)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17120)>>2]|0; + $64 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17120)>>2]|0; + $65 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18340)>>2]|0; + $66 = HEAP32[(18644)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4254]|0; - $56 = HEAP32[(18324)>>2]|0; + $55 = HEAP32[4330]|0; + $56 = HEAP32[(18628)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4290]|0; + $67 = HEAP32[4366]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4289]|0; + $71 = HEAP32[4365]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15632,14 +15636,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4289]|0; + $80 = HEAP32[4365]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4290]|0; + $87 = HEAP32[4366]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15648,7 +15652,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4252]|0; + $69 = HEAP32[4328]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15656,10 +15660,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4252]|0; + $89 = HEAP32[4328]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4254]|0; + $91 = HEAP32[4330]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15671,22 +15675,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4290] = 1; - $5 = HEAP32[4259]|0; - $6 = HEAP32[4289]|0; + HEAP32[4366] = 1; + $5 = HEAP32[4335]|0; + $6 = HEAP32[4365]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4550] = 0; - HEAP32[(18208)>>2] = 0; - HEAP32[4562] = 0; - HEAP32[(18256)>>2] = 0; - HEAP32[4574] = 0; - HEAP32[(18300)>>2] = 0; - HEAP32[(18304)>>2] = 0; + HEAP32[4626] = 0; + HEAP32[(18512)>>2] = 0; + HEAP32[4638] = 0; + HEAP32[(18560)>>2] = 0; + HEAP32[4650] = 0; + HEAP32[(18604)>>2] = 0; + HEAP32[(18608)>>2] = 0; HEAPF32[745] = -1.0; - dest=16876; src=$0; 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)); - dest=16940; src=$1; 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)); + dest=17180; src=$0; 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)); + dest=17244; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15701,17 +15705,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[4548]|0; + $5 = HEAP32[4624]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4549]|0; + $9 = HEAP32[4625]|0; _rlViewport($7,0,$8,$9); - $10 = (18780 + ($0<<6)|0); + $10 = (19084 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18652 + ($0<<6)|0); + $11 = (18956 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -15723,14 +15727,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16940; src=$0; 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)); + dest=17244; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16876; src=$0; 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)); + dest=17180; src=$0; 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)); return; } function _rlPushMatrix() { @@ -15738,43 +15742,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4727]|0; + $0 = HEAP32[4803]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,8974,$vararg_buffer); } - $2 = HEAP32[4727]|0; - $3 = (17168 + ($2<<6)|0); - $4 = HEAP32[4218]|0; + $2 = HEAP32[4803]|0; + $3 = (17472 + ($2<<6)|0); + $4 = HEAP32[4294]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[4727]|0; + $5 = HEAP32[4803]|0; $6 = (($5) + 1)|0; - HEAP32[4727] = $6; - $7 = HEAP32[4251]|0; + HEAP32[4803] = $6; + $7 = HEAP32[4327]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4728] = 1; + HEAP32[4804] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4727]|0; + $0 = HEAP32[4803]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4727]|0; + $2 = HEAP32[4803]|0; $3 = (($2) + -1)|0; - $4 = (17168 + ($3<<6)|0); - $5 = HEAP32[4218]|0; + $4 = (17472 + ($3<<6)|0); + $5 = HEAP32[4294]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4727] = $6; + HEAP32[4803] = $6; return; } function _IsFileExtension($0,$1) { @@ -15798,9 +15802,9 @@ function _IsKeyPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19519 + ($0)|0); + $1 = (19823 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (20031 + ($0)|0); + $3 = (20335 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15821,7 +15825,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4218]|0; + $5 = HEAP32[4294]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15854,7 +15858,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4218]|0; + $11 = HEAP32[4294]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15865,7 +15869,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4291] = $0; + HEAP32[4367] = $0; return; } function _rlEnd() { @@ -15881,21 +15885,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4728]|0; + $0 = HEAP32[4804]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4729]|0; + $2 = HEAP32[4805]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4288]|0; + $6 = HEAP32[4364]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4218]|0; + $8 = HEAP32[4294]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4729]|0; + $5 = HEAP32[4805]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15903,12 +15907,12 @@ function _rlEnd() { break; } } - HEAP32[4728] = 0; + HEAP32[4804] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4288]|0; + $11 = HEAP32[4364]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15917,7 +15921,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4729]|0; + $19 = HEAP32[4805]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15927,15 +15931,15 @@ function _rlEnd() { } } } else { - HEAP32[4728] = 0; + HEAP32[4804] = 0; } - HEAP32[4729] = 0; + HEAP32[4805] = 0; } - $21 = HEAP32[4291]|0; + $21 = HEAP32[4367]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4550]|0; - $23 = HEAP32[(18208)>>2]|0; + $22 = HEAP32[4626]|0; + $23 = HEAP32[(18512)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[745]; @@ -15954,16 +15958,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18220)>>2]|0; - $28 = HEAP32[(18208)>>2]|0; + $27 = HEAP32[(18524)>>2]|0; + $28 = HEAP32[(18512)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18220)>>2]|0; - $35 = HEAP32[(18208)>>2]|0; + $34 = HEAP32[(18524)>>2]|0; + $35 = HEAP32[(18512)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15971,8 +15975,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18220)>>2]|0; - $43 = HEAP32[(18208)>>2]|0; + $42 = HEAP32[(18524)>>2]|0; + $43 = HEAP32[(18512)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15980,8 +15984,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18220)>>2]|0; - $51 = HEAP32[(18208)>>2]|0; + $50 = HEAP32[(18524)>>2]|0; + $51 = HEAP32[(18512)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15989,9 +15993,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18208)>>2]|0; + $58 = HEAP32[(18512)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18208)>>2] = $59; + HEAP32[(18512)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16007,8 +16011,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4562]|0; - $62 = HEAP32[(18256)>>2]|0; + $61 = HEAP32[4638]|0; + $62 = HEAP32[(18560)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[745]; @@ -16027,16 +16031,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18268)>>2]|0; - $67 = HEAP32[(18256)>>2]|0; + $66 = HEAP32[(18572)>>2]|0; + $67 = HEAP32[(18560)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18268)>>2]|0; - $74 = HEAP32[(18256)>>2]|0; + $73 = HEAP32[(18572)>>2]|0; + $74 = HEAP32[(18560)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16044,8 +16048,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18268)>>2]|0; - $82 = HEAP32[(18256)>>2]|0; + $81 = HEAP32[(18572)>>2]|0; + $82 = HEAP32[(18560)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16053,8 +16057,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18268)>>2]|0; - $90 = HEAP32[(18256)>>2]|0; + $89 = HEAP32[(18572)>>2]|0; + $90 = HEAP32[(18560)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16062,9 +16066,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18256)>>2]|0; + $97 = HEAP32[(18560)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18256)>>2] = $98; + HEAP32[(18560)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16080,8 +16084,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4574]|0; - $101 = HEAP32[(18304)>>2]|0; + $100 = HEAP32[4650]|0; + $101 = HEAP32[(18608)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16089,16 +16093,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18316)>>2]|0; - $106 = HEAP32[(18304)>>2]|0; + $105 = HEAP32[(18620)>>2]|0; + $106 = HEAP32[(18608)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18316)>>2]|0; - $113 = HEAP32[(18304)>>2]|0; + $112 = HEAP32[(18620)>>2]|0; + $113 = HEAP32[(18608)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16106,8 +16110,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18316)>>2]|0; - $121 = HEAP32[(18304)>>2]|0; + $120 = HEAP32[(18620)>>2]|0; + $121 = HEAP32[(18608)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16115,8 +16119,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18316)>>2]|0; - $129 = HEAP32[(18304)>>2]|0; + $128 = HEAP32[(18620)>>2]|0; + $129 = HEAP32[(18608)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16124,9 +16128,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18304)>>2]|0; + $136 = HEAP32[(18608)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18304)>>2] = $137; + HEAP32[(18608)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16137,8 +16141,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4574]|0; - $140 = HEAP32[(18300)>>2]|0; + $139 = HEAP32[4650]|0; + $140 = HEAP32[(18604)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[745]; @@ -16146,8 +16150,8 @@ function _rlEnd() { HEAPF32[745] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18312)>>2]|0; - $$promoted = HEAP32[(18300)>>2]|0; + $142 = HEAP32[(18616)>>2]|0; + $$promoted = HEAP32[(18604)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16155,7 +16159,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18300)>>2] = $147; + HEAP32[(18604)>>2] = $147; $148 = +HEAPF32[745]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[745] = $149; @@ -16182,11 +16186,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4728]|0; + $3 = HEAP32[4804]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4288]|0; - $6 = HEAP32[4729]|0; + $5 = HEAP32[4364]|0; + $6 = HEAP32[4805]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16194,16 +16198,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4729] = $10; + HEAP32[4805] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4291]|0; + $11 = HEAP32[4367]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4550]|0; + $12 = HEAP32[4626]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18212)>>2]|0; + $14 = HEAP32[(18516)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16214,7 +16218,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4550] = $21; + HEAP32[4626] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9012,$vararg_buffer); @@ -16223,10 +16227,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4562]|0; + $22 = HEAP32[4638]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18260)>>2]|0; + $24 = HEAP32[(18564)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16237,7 +16241,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4562] = $31; + HEAP32[4638] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9037,$vararg_buffer1); @@ -16246,10 +16250,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4574]|0; + $32 = HEAP32[4650]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18308)>>2]|0; + $34 = HEAP32[(18612)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16260,9 +16264,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4574] = $41; - $42 = HEAP32[4289]|0; - $43 = HEAP32[4290]|0; + HEAP32[4650] = $41; + $42 = HEAP32[4365]|0; + $43 = HEAP32[4366]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16305,13 +16309,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4291]|0; + $2 = HEAP32[4367]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18312)>>2]|0; - $5 = HEAP32[(18300)>>2]|0; + $4 = HEAP32[(18616)>>2]|0; + $5 = HEAP32[(18604)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16319,7 +16323,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18300)>>2] = $10; + HEAP32[(18604)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16338,18 +16342,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4291]|0; + $4 = HEAP32[4367]|0; switch ($4|0) { case 1: { - $$sink37 = (18208);$$sink38 = (18220); + $$sink37 = (18512);$$sink38 = (18524); break; } case 4: { - $$sink37 = (18256);$$sink38 = (18268); + $$sink37 = (18560);$$sink38 = (18572); break; } case 7: { - $$sink37 = (18304);$$sink38 = (18316); + $$sink37 = (18608);$$sink38 = (18620); break; } default: { @@ -16388,8 +16392,8 @@ function _rlEnableTexture($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 = HEAP32[4289]|0; - $2 = HEAP32[4290]|0; + $1 = HEAP32[4365]|0; + $2 = HEAP32[4366]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16402,9 +16406,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4290] = $10; + HEAP32[4366] = $10; } - $11 = HEAP32[4290]|0; + $11 = HEAP32[4366]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16415,7 +16419,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4574]|0; + $0 = HEAP32[4650]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16427,7 +16431,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4259]|0; + $1 = HEAP32[4335]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -16654,40 +16658,11 @@ function _DrawRectangleLines($0,$1,$2,$3,$4) { _DrawRectangle($0,$26,1,$27,$$byval_copy3); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9091); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10424)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4730] = $0; + HEAP32[4806] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16751,7 +16726,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9103|0),(9129|0),1125,(9152|0)); + ___assert_fail((9091|0),(9117|0),1041,(9140|0)); // unreachable; } } @@ -16769,7 +16744,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4731]|0; + $15 = HEAP32[4807]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16862,7 +16837,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9193); + _stbi__err(9181); $$0 = 0; return ($$0|0); } else { @@ -16884,7 +16859,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9184); + _stbi__err(9172); $$0 = 0; return ($$0|0); } @@ -16954,7 +16929,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9212); + _stbi__err(9200); $$045 = 0; return ($$045|0); } @@ -17515,7 +17490,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9528 + ($120)|0); + $121 = (9516 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17557,97 +17532,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9302); + _stbi__err(9290); $$6$ph = 0; break; } case 9: { - _stbi__err(9316); + _stbi__err(9304); $$6$ph = 0; break; } case 11: { - _stbi__err(9329); + _stbi__err(9317); $$6$ph = 0; break; } case 13: { - _stbi__err(9329); + _stbi__err(9317); $$6$ph = 0; break; } case 15: { - _stbi__err(9339); + _stbi__err(9327); $$6$ph = 0; break; } case 17: { - _stbi__err(9359); + _stbi__err(9347); $$6$ph = 0; break; } case 20: { - _stbi__err(9359); + _stbi__err(9347); $$6$ph = 0; break; } case 22: { - _stbi__err(9359); + _stbi__err(9347); $$6$ph = 0; break; } case 24: { - _stbi__err(9369); + _stbi__err(9357); $$6$ph = 0; break; } case 26: { - _stbi__err(9385); + _stbi__err(9373); $$6$ph = 0; break; } case 28: { - _stbi__err(9403); + _stbi__err(9391); $$6$ph = 0; break; } case 31: { - _stbi__err(9424); + _stbi__err(9412); $$6$ph = 0; break; } case 34: { - _stbi__err(9329); + _stbi__err(9317); $$6$ph = 0; break; } case 37: { - _stbi__err(9329); + _stbi__err(9317); $$6$ph = 0; break; } case 39: { - _stbi__err(9438); + _stbi__err(9426); $$6$ph = 0; break; } case 41: { - _stbi__err(9453); + _stbi__err(9441); $$6$ph = 0; break; } case 44: { - _stbi__err(9453); + _stbi__err(9441); $$6$ph = 0; break; } case 47: { - _stbi__err(9438); + _stbi__err(9426); $$6$ph = 0; break; } case 49: { - _stbi__err(9466); + _stbi__err(9454); $$6$ph = 0; break; } @@ -17658,32 +17633,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9482); + _stbi__err(9470); $$6$ph = 0; break; } case 58: { - _stbi__err(9499); + _stbi__err(9487); $$6$ph = 0; break; } case 61: { - _stbi__err(9512); + _stbi__err(9500); $$6$ph = 0; break; } case 63: { - _stbi__err(9499); + _stbi__err(9487); $$6$ph = 0; break; } case 70: { - _stbi__err(9438); + _stbi__err(9426); $$6$ph = 0; break; } case 72: { - _stbi__err(9537); + _stbi__err(9525); $$6$ph = 0; break; } @@ -17695,12 +17670,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9184); + _stbi__err(9172); $$6$ph = 0; break; } case 83: { - _stbi__err(9545); + _stbi__err(9533); $$6$ph = 0; break; } @@ -17713,7 +17688,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9555); + _stbi__err(9543); $$4 = 0; break; } @@ -17778,7 +17753,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4732]|0; + $193 = HEAP32[4808]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17811,7 +17786,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9438); + _stbi__err(9426); $$4 = 0; } } while(0); @@ -17819,24 +17794,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9438); + _stbi__err(9426); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9563] = $206; + HEAP8[9551] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9564)>>0] = $209; + HEAP8[(9552)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9565)>>0] = $211; + HEAP8[(9553)>>0] = $211; $212 = $207&255; - HEAP8[(9566)>>0] = $212; - _stbi__err(9563); + HEAP8[(9554)>>0] = $212; + _stbi__err(9551); $$6$ph = 0; break; } @@ -17870,14 +17845,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9225|0),(9129|0),1561,(9281|0)); + ___assert_fail((9213|0),(9117|0),1477,(9269|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9184); + _stbi__err(9172); $$0163 = 0; return ($$0163|0); } @@ -18240,7 +18215,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9279|0),(9129|0),1590,(9281|0)); + ___assert_fail((9267|0),(9117|0),1506,(9269|0)); // unreachable; } } while(0); @@ -18274,7 +18249,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9225|0),(9129|0),1610,(9256|0)); + ___assert_fail((9213|0),(9117|0),1526,(9244|0)); // unreachable; } $7 = $2 << 1; @@ -18284,7 +18259,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9184); + _stbi__err(9172); $$0163 = 0; return ($$0163|0); } @@ -18647,7 +18622,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9279|0),(9129|0),1639,(9256|0)); + ___assert_fail((9267|0),(9117|0),1555,(9244|0)); // unreachable; } } while(0); @@ -18795,7 +18770,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10220); + _stbi__err(10528); $$05 = 0; return ($$05|0); } @@ -19232,7 +19207,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9622|0),(9129|0),4568,(9674|0)); + ___assert_fail((9610|0),(9117|0),4569,(9662|0)); // unreachable; } } @@ -19319,7 +19294,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9622|0),(9129|0),4543,(9647|0)); + ___assert_fail((9610|0),(9117|0),4544,(9635|0)); // unreachable; } } @@ -19366,7 +19341,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4733]|0; + $16 = HEAP32[4809]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19441,7 +19416,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9588|0),(9129|0),4649,(9606|0)); + ___assert_fail((9576|0),(9117|0),4650,(9594|0)); // unreachable; } } @@ -19464,7 +19439,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9184); + _stbi__err(9172); $$0 = 0; return ($$0|0); } @@ -19641,7 +19616,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9703|0),(9129|0),4294,(9744|0)); + ___assert_fail((9691|0),(9117|0),4294,(9732|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19649,7 +19624,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9184); + _stbi__err(9172); $$2 = 0; return ($$2|0); } @@ -19668,7 +19643,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9771); + _stbi__err(9759); $$2 = 0; return ($$2|0); } @@ -19681,7 +19656,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9771); + _stbi__err(9759); $$2 = 0; return ($$2|0); } @@ -19689,12 +19664,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19717,33 +19692,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9810 + ($56)|0); + $60 = (9798 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19753,24 +19728,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19780,10 +19755,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19794,10 +19769,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19808,14 +19783,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19845,7 +19820,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19860,12 +19835,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20442,15 +20417,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9789|0),(9129|0),4315,(9744|0)); + ___assert_fail((9777|0),(9117|0),4315,(9732|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9815|0),(9129|0),4376,(9744|0)); + ___assert_fail((9803|0),(9117|0),4377,(9732|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9832); + _stbi__err(9820); $$2 = 0; return ($$2|0); } @@ -20500,7 +20475,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9528 + ($6)|0); + $336 = (9516 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20941,7 +20916,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9847|0),(9129|0),4465,(9744|0)); + ___assert_fail((9835|0),(9117|0),4466,(9732|0)); // unreachable; } else if ((label|0) == 151) { @@ -21001,8 +20976,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -21017,15 +20992,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -21034,65 +21009,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20830)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9846,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,20831,288)|0); + $15 = (_stbi__zbuild_huffman($8,10134,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,20799,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -21111,14 +21081,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10173); + _stbi__err(10481); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10189); + _stbi__err(10497); $$0 = 0; return ($$0|0); } @@ -21127,7 +21097,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10204); + _stbi__err(10512); $$0 = 0; return ($$0|0); } @@ -21210,7 +21180,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10095|0),(9129|0),4048,(10112|0)); + ___assert_fail((10403|0),(9117|0),4033,(10420|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -21247,7 +21217,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10143); + _stbi__err(10451); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21257,7 +21227,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10156); + _stbi__err(10464); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21287,21 +21257,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20831|0),8,144)|0; - dest=(20975); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21087); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21111); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20799; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21435,7 +21390,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10033); + _stbi__err(10341); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21524,7 +21479,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10085); + _stbi__err(10393); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21553,7 +21508,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10879 + ($$06579)|0); + $14 = (11187 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21644,21 +21599,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10033); + _stbi__err(10341); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10033); + _stbi__err(10341); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10049|0),(9129|0),4021,(10057|0)); + ___assert_fail((10357|0),(9117|0),4006,(10365|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10033); + _stbi__err(10341); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21668,7 +21623,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10033); + _stbi__err(10341); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21832,7 +21787,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9858); + _stbi__err(10166); $$3$ph = 0; return ($$3$ph|0); } @@ -21842,12 +21797,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9858); + _stbi__err(10166); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9875); + _stbi__err(10183); $$3$ph = 0; return ($$3$ph|0); } @@ -21904,7 +21859,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9884); + _stbi__err(10192); $$0 = 0; return ($$0|0); } @@ -21930,7 +21885,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9184); + _stbi__err(9172); $$0 = 0; return ($$0|0); } else { @@ -21975,7 +21930,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((9980|0),(9129|0),3863,(10017|0)); + ___assert_fail((10288|0),(9117|0),3848,(10325|0)); // unreachable; } else if ((label|0) == 5) { @@ -22023,7 +21978,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9904|0),(9129|0),3891,(9920|0)); + ___assert_fail((10212|0),(9117|0),3876,(10228|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -22051,7 +22006,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((9951|0),(9129|0),3781,(9962|0)); + ___assert_fail((10259|0),(9117|0),3766,(10270|0)); // unreachable; } return (0)|0; @@ -22197,10 +22152,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -22211,27 +22166,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10232)|0); + $6 = (_IsFileExtension($1,10540)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10285)|0); + $19 = (_IsFileExtension($1,10593)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10290,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10598,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10732)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -22259,7 +22215,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -22276,18 +22232,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10238,$vararg_buffer); + _TraceLog(2,10546,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -22296,34 +22252,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10326,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,10634,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10365,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10673,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22342,11 +22305,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10424)|0); + $4 = (_fopen($0,10732)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10427,$vararg_buffer); + _TraceLog(2,10735,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22445,7 +22408,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10524,$vararg_buffer4); + _TraceLog(0,10832,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22480,14 +22443,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10570,$vararg_buffer8); + _TraceLog(2,10878,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10478,$vararg_buffer1); + _TraceLog(2,10786,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22577,7 +22540,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10396,$vararg_buffer); + _TraceLog(2,10704,$vararg_buffer); $$0 = $6; } } @@ -22622,27 +22585,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10620,$vararg_buffer); + _TraceLog(2,10928,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10659,$vararg_buffer1); + _TraceLog(2,10967,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10685,$vararg_buffer3); + _TraceLog(2,10993,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10748,$vararg_buffer5); + _TraceLog(2,11056,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10783,$vararg_buffer7); + _TraceLog(2,11091,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10818,$vararg_buffer10); + _TraceLog(0,11126,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23825,7 +23788,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10875 + ($$361133)|0); + $199 = (11183 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -24255,7 +24218,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10875 + ($$331130)|0); + $186 = (11183 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -24293,7 +24256,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10875 + ($$371134)|0); + $203 = (11183 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24332,7 +24295,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10879 + ($$421139)|0); + $235 = (11187 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24739,7 +24702,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10898 + ($495)|0); + $496 = (11206 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24776,7 +24739,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10902 + ($515)|0); + $516 = (11210 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25688,7 +25651,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,10906,$vararg_buffer); + _TraceLog(2,11214,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -25709,7 +25672,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16724>>2]|0;HEAP32[$0+4>>2]=HEAP32[16724+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16724+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16724+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16724+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16724+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16724+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16724+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17028>>2]|0;HEAP32[$0+4>>2]=HEAP32[17028+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17028+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17028+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17028+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17028+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17028+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17028+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -26229,8 +26192,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(21119,$0,$1)|0); - STACKTOP = sp;return (21119|0); + (_vsprintf(21103,$0,$1)|0); + STACKTOP = sp;return (21103|0); } function _emscripten_GetProcAddress($0) { $0 = $0|0; @@ -26278,7 +26241,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,10935)|0); + $12 = (_strstr($11,11243)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -26287,7 +26250,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,10939)|0); + $17 = (_strstr($16,11247)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -26296,7 +26259,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,10943)|0); + $22 = (_strstr($21,11251)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -26305,7 +26268,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,10947)|0); + $27 = (_strstr($26,11255)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -26314,1210 +26277,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,10953)|0); + $32 = (_strcmp($31,11261)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,10991)|0); + $35 = (_strcmp($34,11299)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11010; + HEAP32[$3>>2] = 11318; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11023)|0); + $38 = (_strcmp($37,11331)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11044; + HEAP32[$3>>2] = 11352; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11059)|0); + $41 = (_strcmp($40,11367)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11074; + HEAP32[$3>>2] = 11382; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11089)|0); + $44 = (_strcmp($43,11397)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11104; + HEAP32[$3>>2] = 11412; } } else { - HEAP32[$3>>2] = 10975; + HEAP32[$3>>2] = 11283; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11119)|0); + $47 = (_strcmp($46,11427)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11133)|0); + $50 = (_strcmp($49,11441)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11145)|0); + $53 = (_strcmp($52,11453)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11159)|0); + $56 = (_strcmp($55,11467)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11171)|0); + $59 = (_strcmp($58,11479)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11185)|0); + $62 = (_strcmp($61,11493)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11199)|0); + $65 = (_strcmp($64,11507)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11216)|0); + $68 = (_strcmp($67,11524)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11239)|0); + $71 = (_strcmp($70,11547)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11265)|0); + $74 = (_strcmp($73,11573)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11278)|0); + $77 = (_strcmp($76,11586)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11294)|0); + $80 = (_strcmp($79,11602)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11307)|0); + $83 = (_strcmp($82,11615)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11321)|0); + $86 = (_strcmp($85,11629)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11341)|0); + $89 = (_strcmp($88,11649)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11361)|0); + $92 = (_strcmp($91,11669)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11378)|0); + $95 = (_strcmp($94,11686)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11395)|0); + $98 = (_strcmp($97,11703)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11407)|0); + $101 = (_strcmp($100,11715)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11420)|0); + $104 = (_strcmp($103,11728)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11436)|0); + $107 = (_strcmp($106,11744)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11459)|0); + $110 = (_strcmp($109,11767)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11472)|0); + $113 = (_strcmp($112,11780)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11488)|0); + $116 = (_strcmp($115,11796)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11499)|0); + $119 = (_strcmp($118,11807)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11518)|0); + $122 = (_strcmp($121,11826)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11540)|0); + $125 = (_strcmp($124,11848)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11559)|0); + $128 = (_strcmp($127,11867)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11588)|0); + $131 = (_strcmp($130,11896)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11605)|0); + $134 = (_strcmp($133,11913)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11620)|0); + $137 = (_strcmp($136,11928)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11635)|0); + $140 = (_strcmp($139,11943)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11656)|0); + $143 = (_strcmp($142,11964)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11676)|0); + $146 = (_strcmp($145,11984)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11696)|0); + $149 = (_strcmp($148,12004)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11722)|0); + $152 = (_strcmp($151,12030)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11741)|0); + $155 = (_strcmp($154,12049)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11753)|0); + $158 = (_strcmp($157,12061)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11765)|0); + $161 = (_strcmp($160,12073)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11777)|0); + $164 = (_strcmp($163,12085)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11789)|0); + $167 = (_strcmp($166,12097)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11801)|0); + $170 = (_strcmp($169,12109)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11813)|0); + $173 = (_strcmp($172,12121)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11825)|0); + $176 = (_strcmp($175,12133)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11837)|0); + $179 = (_strcmp($178,12145)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11850)|0); + $182 = (_strcmp($181,12158)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11863)|0); + $185 = (_strcmp($184,12171)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11876)|0); + $188 = (_strcmp($187,12184)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11889)|0); + $191 = (_strcmp($190,12197)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11902)|0); + $194 = (_strcmp($193,12210)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11915)|0); + $197 = (_strcmp($196,12223)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,11928)|0); + $200 = (_strcmp($199,12236)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,11941)|0); + $203 = (_strcmp($202,12249)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,11960)|0); + $206 = (_strcmp($205,12268)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,11979)|0); + $209 = (_strcmp($208,12287)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,11998)|0); + $212 = (_strcmp($211,12306)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12011)|0); + $215 = (_strcmp($214,12319)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12029)|0); + $218 = (_strcmp($217,12337)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12047)|0); + $221 = (_strcmp($220,12355)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12065)|0); + $224 = (_strcmp($223,12373)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12083)|0); + $227 = (_strcmp($226,12391)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12103)|0); + $230 = (_strcmp($229,12411)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11044)|0); + $233 = (_strcmp($232,11352)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12121)|0); + $236 = (_strcmp($235,12429)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12136)|0); + $239 = (_strcmp($238,12444)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12157)|0); + $242 = (_strcmp($241,12465)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12172)|0); + $245 = (_strcmp($244,12480)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12190)|0); + $248 = (_strcmp($247,12498)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12206)|0); + $251 = (_strcmp($250,12514)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12225)|0); + $254 = (_strcmp($253,12533)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12239)|0); + $257 = (_strcmp($256,12547)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12254)|0); + $260 = (_strcmp($259,12562)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,10975)|0); + $263 = (_strcmp($262,11283)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12265)|0); + $266 = (_strcmp($265,12573)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11074)|0); + $269 = (_strcmp($268,11382)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11104)|0); + $272 = (_strcmp($271,11412)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12281)|0); + $275 = (_strcmp($274,12589)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12308)|0); + $278 = (_strcmp($277,12616)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12322)|0); + $281 = (_strcmp($280,12630)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11010)|0); + $284 = (_strcmp($283,11318)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12342)|0); + $287 = (_strcmp($286,12650)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12360)|0); + $290 = (_strcmp($289,12668)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12372)|0); + $293 = (_strcmp($292,12680)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12393)|0); + $296 = (_strcmp($295,12701)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12411)|0); + $299 = (_strcmp($298,12719)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12429)|0); + $302 = (_strcmp($301,12737)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12450)|0); + $305 = (_strcmp($304,12758)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12476)|0); + $308 = (_strcmp($307,12784)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12499)|0); + $311 = (_strcmp($310,12807)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12537)|0); + $314 = (_strcmp($313,12845)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12553)|0); + $317 = (_strcmp($316,12861)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12568)|0); + $320 = (_strcmp($319,12876)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12591)|0); + $323 = (_strcmp($322,12899)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12604)|0); + $326 = (_strcmp($325,12912)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12618)|0); + $329 = (_strcmp($328,12926)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12632)|0); + $332 = (_strcmp($331,12940)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12652)|0); + $335 = (_strcmp($334,12960)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12672)|0); + $338 = (_strcmp($337,12980)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12688)|0); + $341 = (_strcmp($340,12996)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12706)|0); + $344 = (_strcmp($343,13014)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12722)|0); + $347 = (_strcmp($346,13030)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12737)|0); + $350 = (_strcmp($349,13045)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12759)|0); + $353 = (_strcmp($352,13067)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12777)|0); + $356 = (_strcmp($355,13085)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12798)|0); + $359 = (_strcmp($358,13106)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12816)|0); + $362 = (_strcmp($361,13124)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12829)|0); + $365 = (_strcmp($364,13137)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12844)|0); + $368 = (_strcmp($367,13152)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12858)|0); + $371 = (_strcmp($370,13166)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12868)|0); + $374 = (_strcmp($373,13176)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12878)|0); + $377 = (_strcmp($376,13186)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12900)|0); + $380 = (_strcmp($379,13208)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,12926)|0); + $383 = (_strcmp($382,13234)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,12953)|0); + $386 = (_strcmp($385,13261)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,12966)|0); + $389 = (_strcmp($388,13274)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,12981)|0); + $392 = (_strcmp($391,13289)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,12996)|0); + $395 = (_strcmp($394,13304)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13020)|0); + $398 = (_strcmp($397,13328)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13031)|0); + $401 = (_strcmp($400,13339)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13053)|0); + $404 = (_strcmp($403,13361)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13075)|0); + $407 = (_strcmp($406,13383)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13099)|0); + $410 = (_strcmp($409,13407)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13108)|0); + $413 = (_strcmp($412,13416)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13116)|0); + $416 = (_strcmp($415,13424)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13129)|0); + $419 = (_strcmp($418,13437)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13143)|0); + $422 = (_strcmp($421,13451)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13155)|0); + $425 = (_strcmp($424,13463)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13164)|0); + $428 = (_strcmp($427,13472)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13174)|0); + $431 = (_strcmp($430,13482)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13186)|0); + $434 = (_strcmp($433,13494)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13197)|0); + $437 = (_strcmp($436,13505)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13205)|0); + $440 = (_strcmp($439,13513)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13217)|0); + $443 = (_strcmp($442,13525)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13232)|0); + $446 = (_strcmp($445,13540)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13244)|0); + $449 = (_strcmp($448,13552)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13258)|0); + $452 = (_strcmp($451,13566)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13283)|0); + $455 = (_strcmp($454,13591)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13300)|0); + $458 = (_strcmp($457,13608)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13316)|0); + $461 = (_strcmp($460,13624)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13332)|0); + $464 = (_strcmp($463,13640)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13344)|0); + $467 = (_strcmp($466,13652)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13356)|0); + $470 = (_strcmp($469,13664)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13380)|0); + $473 = (_strcmp($472,13688)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13393)|0); + $476 = (_strcmp($475,13701)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13407)|0); + $479 = (_strcmp($478,13715)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13429)|0); + $482 = (_strcmp($481,13737)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13436)|0); + $485 = (_strcmp($484,13744)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13452)|0); + $488 = (_strcmp($487,13760)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13469)|0); + $491 = (_strcmp($490,13777)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13486)|0); + $494 = (_strcmp($493,13794)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13502)|0); + $497 = (_strcmp($496,13810)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13518)|0); + $500 = (_strcmp($499,13826)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13535)|0); + $503 = (_strcmp($502,13843)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13549)|0); + $506 = (_strcmp($505,13857)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13561)|0); + $509 = (_strcmp($508,13869)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13572)|0); + $512 = (_strcmp($511,13880)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13585)|0); + $515 = (_strcmp($514,13893)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13595)|0); + $518 = (_strcmp($517,13903)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13612)|0); + $521 = (_strcmp($520,13920)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13624)|0); + $524 = (_strcmp($523,13932)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13646)|0); + $527 = (_strcmp($526,13954)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13666)|0); + $530 = (_strcmp($529,13974)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13679)|0); + $533 = (_strcmp($532,13987)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13701)|0); + $536 = (_strcmp($535,14009)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13721)|0); + $539 = (_strcmp($538,14029)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13738)|0); + $542 = (_strcmp($541,14046)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13755)|0); + $545 = (_strcmp($544,14063)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13775)|0); + $548 = (_strcmp($547,14083)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -27539,7 +27502,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (18936|0); + return (19240|0); } function ___stdio_close($0) { $0 = $0|0; @@ -28472,7 +28435,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13891 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14199 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -28650,7 +28613,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14355;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14663;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -28671,7 +28634,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14355;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14663;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -28679,8 +28642,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14355 : (14357); - $$$ = $238 ? $$ : (14356); + $$ = $240 ? 14663 : (14665); + $$$ = $238 ? $$ : (14664); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -28697,7 +28660,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14355;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14663;$242 = $167;$243 = $170; label = 66; break; } @@ -28710,7 +28673,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14355;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14663;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -28724,7 +28687,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14365; + $271 = $270 ? $269 : 14673; $$1 = $271; label = 71; break; @@ -28764,7 +28727,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14355;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14663;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -28786,8 +28749,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14355 + ($208)|0); - $$289 = $or$cond283 ? 14355 : $209; + $209 = (14663 + ($208)|0); + $$289 = $or$cond283 ? 14663 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -28808,7 +28771,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14355;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14663;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -29338,7 +29301,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14407 + ($7)|0); + $9 = (14715 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -29696,14 +29659,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14372; + $$0471 = $14;$$0520 = 1;$$0521 = 14680; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14373) : (14378); - $$$ = $16 ? $$ : (14375); + $$ = $18 ? (14681) : (14686); + $$$ = $16 ? $$ : (14683); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -29802,7 +29765,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14407 + ($80)|0); + $81 = (14715 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -30413,7 +30376,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14423,1); + _out($0,14731,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -30494,7 +30457,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14423,1); + _out($0,14731,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -30551,9 +30514,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14391 : 14395; + $29 = $28 ? 14699 : 14703; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14399 : 14403; + $31 = $28 ? 14707 : 14711; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -30763,7 +30726,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14425 + ($$016)|0); + $3 = (14733 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -30774,7 +30737,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14513;$$115 = 87; + $$01214 = 14821;$$115 = 87; label = 5; break; } else { @@ -30784,9 +30747,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14513; + $$012$lcssa = 14821; } else { - $$01214 = 14513;$$115 = $$016; + $$01214 = 14821;$$115 = $$016; label = 5; } } @@ -31469,7 +31432,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16317,$3,4)|0); + $memchr = (_memchr(16625,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -31558,7 +31521,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16317,$4,4)|0); + $memchr = (_memchr(16625,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -31649,7 +31612,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(18940)>>2]|0; + $38 = HEAP32[(19244)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -31682,13 +31645,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19000|0)); - return (19008|0); + ___lock((19304|0)); + return (19312|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19000|0)); + ___unlock((19304|0)); return; } function _fclose($0) { @@ -32752,7 +32715,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16592; + $2 = 16896; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -32969,7 +32932,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4753]|0; + $3 = HEAP32[4829]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -32988,22 +32951,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4753] = 0; + HEAP32[4829] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4753] = $10; + HEAP32[4829] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4753] = 0; + HEAP32[4829] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4753] = $13; + HEAP32[4829] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -33084,7 +33047,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4754]|0; + $8 = HEAP32[4830]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -33093,7 +33056,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19056 + ($15<<2)|0); + $16 = (19360 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -33104,9 +33067,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4754] = $24; + HEAP32[4830] = $24; } else { - $25 = HEAP32[(19032)>>2]|0; + $25 = HEAP32[(19336)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -33137,7 +33100,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19024)>>2]|0; + $37 = HEAP32[(19328)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -33171,7 +33134,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19056 + ($68<<2)|0); + $69 = (19360 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -33182,10 +33145,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4754] = $77; + HEAP32[4830] = $77; $98 = $77; } else { - $78 = HEAP32[(19032)>>2]|0; + $78 = HEAP32[(19336)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -33218,22 +33181,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19036)>>2]|0; + $92 = HEAP32[(19340)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19056 + ($94<<2)|0); + $95 = (19360 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4754] = $100; + HEAP32[4830] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19032)>>2]|0; + $103 = HEAP32[(19336)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -33250,12 +33213,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19024)>>2] = $84; - HEAP32[(19036)>>2] = $87; + HEAP32[(19328)>>2] = $84; + HEAP32[(19340)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19020)>>2]|0; + $108 = HEAP32[(19324)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -33283,7 +33246,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19320 + ($132<<2)|0); + $133 = (19624 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -33323,7 +33286,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19032)>>2]|0; + $155 = HEAP32[(19336)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -33418,7 +33381,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19320 + ($188<<2)|0); + $189 = (19624 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -33429,11 +33392,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19020)>>2] = $194; + HEAP32[(19324)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19032)>>2]|0; + $195 = HEAP32[(19336)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -33454,7 +33417,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19032)>>2]|0; + $201 = HEAP32[(19336)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -33484,7 +33447,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19032)>>2]|0; + $213 = HEAP32[(19336)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -33521,22 +33484,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19036)>>2]|0; + $231 = HEAP32[(19340)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19056 + ($233<<2)|0); + $234 = (19360 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4754] = $238; + HEAP32[4830] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19032)>>2]|0; + $241 = HEAP32[(19336)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -33553,8 +33516,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19024)>>2] = $$0193$lcssa$i; - HEAP32[(19036)>>2] = $157; + HEAP32[(19328)>>2] = $$0193$lcssa$i; + HEAP32[(19340)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -33570,7 +33533,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19020)>>2]|0; + $250 = HEAP32[(19324)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -33610,7 +33573,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19320 + ($$0358$i<<2)|0); + $278 = (19624 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -33702,7 +33665,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19320 + ($330<<2)|0); + $331 = (19624 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -33746,11 +33709,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19024)>>2]|0; + $345 = HEAP32[(19328)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19032)>>2]|0; + $348 = HEAP32[(19336)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -33847,7 +33810,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19320 + ($381<<2)|0); + $382 = (19624 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -33858,12 +33821,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19020)>>2] = $387; + HEAP32[(19324)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19032)>>2]|0; + $388 = HEAP32[(19336)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -33885,7 +33848,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19032)>>2]|0; + $394 = HEAP32[(19336)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -33917,7 +33880,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19032)>>2]|0; + $406 = HEAP32[(19336)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -33958,20 +33921,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19056 + ($425<<2)|0); - $427 = HEAP32[4754]|0; + $426 = (19360 + ($425<<2)|0); + $427 = HEAP32[4830]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4754] = $431; + HEAP32[4830] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19032)>>2]|0; + $434 = HEAP32[(19336)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -34023,7 +33986,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19320 + ($$0361$i<<2)|0); + $464 = (19624 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -34035,7 +33998,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19020)>>2] = $472; + HEAP32[(19324)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -34074,7 +34037,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19032)>>2]|0; + $491 = HEAP32[(19336)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -34093,7 +34056,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19032)>>2]|0; + $498 = HEAP32[(19336)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -34126,16 +34089,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19024)>>2]|0; + $506 = HEAP32[(19328)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19036)>>2]|0; + $509 = HEAP32[(19340)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19036)>>2] = $511; - HEAP32[(19024)>>2] = $508; + HEAP32[(19340)>>2] = $511; + HEAP32[(19328)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -34145,8 +34108,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19024)>>2] = 0; - HEAP32[(19036)>>2] = 0; + HEAP32[(19328)>>2] = 0; + HEAP32[(19340)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -34160,14 +34123,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19028)>>2]|0; + $524 = HEAP32[(19332)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19028)>>2] = $526; - $527 = HEAP32[(19040)>>2]|0; + HEAP32[(19332)>>2] = $526; + $527 = HEAP32[(19344)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19040)>>2] = $528; + HEAP32[(19344)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -34178,23 +34141,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4872]|0; + $534 = HEAP32[4948]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19496)>>2] = 4096; - HEAP32[(19492)>>2] = 4096; - HEAP32[(19500)>>2] = -1; - HEAP32[(19504)>>2] = -1; - HEAP32[(19508)>>2] = 0; - HEAP32[(19460)>>2] = 0; + HEAP32[(19800)>>2] = 4096; + HEAP32[(19796)>>2] = 4096; + HEAP32[(19804)>>2] = -1; + HEAP32[(19808)>>2] = -1; + HEAP32[(19812)>>2] = 0; + HEAP32[(19764)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4872] = $538; + HEAP32[4948] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19496)>>2]|0; + $$pre$i212 = HEAP32[(19800)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -34207,10 +34170,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19456)>>2]|0; + $546 = HEAP32[(19760)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19448)>>2]|0; + $548 = HEAP32[(19752)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -34220,18 +34183,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19460)>>2]|0; + $552 = HEAP32[(19764)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19040)>>2]|0; + $555 = HEAP32[(19344)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19464); + $$0$i$i = (19768); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -34289,7 +34252,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19492)>>2]|0; + $569 = HEAP32[(19796)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -34299,13 +34262,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19448)>>2]|0; + $578 = HEAP32[(19752)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19456)>>2]|0; + $582 = HEAP32[(19760)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -34351,7 +34314,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19496)>>2]|0; + $601 = HEAP32[(19800)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -34376,9 +34339,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19460)>>2]|0; + $611 = HEAP32[(19764)>>2]|0; $612 = $611 | 4; - HEAP32[(19460)>>2] = $612; + HEAP32[(19764)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -34414,35 +34377,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19448)>>2]|0; + $626 = HEAP32[(19752)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19448)>>2] = $627; - $628 = HEAP32[(19452)>>2]|0; + HEAP32[(19752)>>2] = $627; + $628 = HEAP32[(19756)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19452)>>2] = $627; + HEAP32[(19756)>>2] = $627; } - $630 = HEAP32[(19040)>>2]|0; + $630 = HEAP32[(19344)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19032)>>2]|0; + $632 = HEAP32[(19336)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19032)>>2] = $$749$i; + HEAP32[(19336)>>2] = $$749$i; } - HEAP32[(19464)>>2] = $$749$i; - HEAP32[(19468)>>2] = $$723948$i; - HEAP32[(19476)>>2] = 0; - $635 = HEAP32[4872]|0; - HEAP32[(19052)>>2] = $635; - HEAP32[(19048)>>2] = -1; + HEAP32[(19768)>>2] = $$749$i; + HEAP32[(19772)>>2] = $$723948$i; + HEAP32[(19780)>>2] = 0; + $635 = HEAP32[4948]|0; + HEAP32[(19356)>>2] = $635; + HEAP32[(19352)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19056 + ($636<<2)|0); + $637 = (19360 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -34465,18 +34428,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19040)>>2] = $649; - HEAP32[(19028)>>2] = $650; + HEAP32[(19344)>>2] = $649; + HEAP32[(19332)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19504)>>2]|0; - HEAP32[(19044)>>2] = $655; + $655 = HEAP32[(19808)>>2]|0; + HEAP32[(19348)>>2] = $655; } else { - $$024371$i = (19464); + $$024371$i = (19768); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -34508,7 +34471,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19028)>>2]|0; + $671 = HEAP32[(19332)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -34519,30 +34482,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19040)>>2] = $679; - HEAP32[(19028)>>2] = $681; + HEAP32[(19344)>>2] = $679; + HEAP32[(19332)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19504)>>2]|0; - HEAP32[(19044)>>2] = $686; + $686 = HEAP32[(19808)>>2]|0; + HEAP32[(19348)>>2] = $686; break; } } } - $687 = HEAP32[(19032)>>2]|0; + $687 = HEAP32[(19336)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19032)>>2] = $$749$i; + HEAP32[(19336)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19464); + $$124470$i = (19768); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -34597,21 +34560,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19028)>>2]|0; + $726 = HEAP32[(19332)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19028)>>2] = $727; - HEAP32[(19040)>>2] = $721; + HEAP32[(19332)>>2] = $727; + HEAP32[(19344)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19036)>>2]|0; + $730 = HEAP32[(19340)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19024)>>2]|0; + $732 = HEAP32[(19328)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19024)>>2] = $733; - HEAP32[(19036)>>2] = $721; + HEAP32[(19328)>>2] = $733; + HEAP32[(19340)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -34634,7 +34597,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19056 + ($748<<2)|0); + $749 = (19360 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -34657,9 +34620,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4754]|0; + $759 = HEAP32[4830]|0; $760 = $759 & $758; - HEAP32[4754] = $760; + HEAP32[4830] = $760; break; } $761 = ($747|0)==($749|0); @@ -34772,7 +34735,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19320 + ($796<<2)|0); + $797 = (19624 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -34784,12 +34747,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19020)>>2]|0; + $802 = HEAP32[(19324)>>2]|0; $803 = $802 & $801; - HEAP32[(19020)>>2] = $803; + HEAP32[(19324)>>2] = $803; break L314; } else { - $804 = HEAP32[(19032)>>2]|0; + $804 = HEAP32[(19336)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -34810,7 +34773,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19032)>>2]|0; + $810 = HEAP32[(19336)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -34842,7 +34805,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19032)>>2]|0; + $822 = HEAP32[(19336)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -34875,21 +34838,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19056 + ($836<<2)|0); - $838 = HEAP32[4754]|0; + $837 = (19360 + ($836<<2)|0); + $838 = HEAP32[4830]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4754] = $842; + HEAP32[4830] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19032)>>2]|0; + $845 = HEAP32[(19336)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -34944,20 +34907,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19320 + ($$0296$i$i<<2)|0); + $875 = (19624 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19020)>>2]|0; + $879 = HEAP32[(19324)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19020)>>2] = $883; + HEAP32[(19324)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -34996,7 +34959,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19032)>>2]|0; + $902 = HEAP32[(19336)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -35015,7 +34978,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19032)>>2]|0; + $909 = HEAP32[(19336)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -35042,7 +35005,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19464); + $$0$i$i$i = (19768); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -35083,23 +35046,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19040)>>2] = $946; - HEAP32[(19028)>>2] = $947; + HEAP32[(19344)>>2] = $946; + HEAP32[(19332)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19504)>>2]|0; - HEAP32[(19044)>>2] = $952; + $952 = HEAP32[(19808)>>2]|0; + HEAP32[(19348)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19464)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19464)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19464)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19464)+12>>2]|0; - HEAP32[(19464)>>2] = $$749$i; - HEAP32[(19468)>>2] = $$723948$i; - HEAP32[(19476)>>2] = 0; - HEAP32[(19472)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19768)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19768)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19768)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19768)+12>>2]|0; + HEAP32[(19768)>>2] = $$749$i; + HEAP32[(19772)>>2] = $$723948$i; + HEAP32[(19780)>>2] = 0; + HEAP32[(19776)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -35128,20 +35091,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19056 + ($968<<2)|0); - $970 = HEAP32[4754]|0; + $969 = (19360 + ($968<<2)|0); + $970 = HEAP32[4830]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4754] = $974; + HEAP32[4830] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19032)>>2]|0; + $977 = HEAP32[(19336)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -35193,19 +35156,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19320 + ($$0212$i$i<<2)|0); + $1007 = (19624 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19020)>>2]|0; + $1010 = HEAP32[(19324)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19020)>>2] = $1014; + HEAP32[(19324)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -35244,7 +35207,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19032)>>2]|0; + $1033 = HEAP32[(19336)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -35263,7 +35226,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19032)>>2]|0; + $1040 = HEAP32[(19336)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -35286,14 +35249,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19028)>>2]|0; + $1048 = HEAP32[(19332)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19028)>>2] = $1050; - $1051 = HEAP32[(19040)>>2]|0; + HEAP32[(19332)>>2] = $1050; + $1051 = HEAP32[(19344)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19040)>>2] = $1052; + HEAP32[(19344)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -35336,7 +35299,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19032)>>2]|0; + $3 = HEAP32[(19336)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -35369,7 +35332,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19036)>>2]|0; + $19 = HEAP32[(19340)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -35384,7 +35347,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19024)>>2] = $17; + HEAP32[(19328)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -35398,7 +35361,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19056 + ($27<<2)|0); + $28 = (19360 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -35418,9 +35381,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4754]|0; + $37 = HEAP32[4830]|0; $38 = $37 & $36; - HEAP32[4754] = $38; + HEAP32[4830] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -35534,7 +35497,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19320 + ($74<<2)|0); + $75 = (19624 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -35544,14 +35507,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19020)>>2]|0; + $80 = HEAP32[(19324)>>2]|0; $81 = $80 & $79; - HEAP32[(19020)>>2] = $81; + HEAP32[(19324)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19032)>>2]|0; + $82 = HEAP32[(19336)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -35573,7 +35536,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19032)>>2]|0; + $88 = HEAP32[(19336)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -35605,7 +35568,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19032)>>2]|0; + $100 = HEAP32[(19336)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -35640,14 +35603,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19040)>>2]|0; + $120 = HEAP32[(19344)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19036)>>2]|0; + $122 = HEAP32[(19340)>>2]|0; if ($121) { - $123 = HEAP32[(19028)>>2]|0; + $123 = HEAP32[(19332)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19028)>>2] = $124; - HEAP32[(19040)>>2] = $$1; + HEAP32[(19332)>>2] = $124; + HEAP32[(19344)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -35655,16 +35618,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19036)>>2] = 0; - HEAP32[(19024)>>2] = 0; + HEAP32[(19340)>>2] = 0; + HEAP32[(19328)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19024)>>2]|0; + $129 = HEAP32[(19328)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19024)>>2] = $130; - HEAP32[(19036)>>2] = $113; + HEAP32[(19328)>>2] = $130; + HEAP32[(19340)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -35683,10 +35646,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19056 + ($142<<2)|0); + $143 = (19360 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19032)>>2]|0; + $145 = HEAP32[(19336)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -35704,9 +35667,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4754]|0; + $153 = HEAP32[4830]|0; $154 = $153 & $152; - HEAP32[4754] = $154; + HEAP32[4830] = $154; break; } $155 = ($141|0)==($143|0); @@ -35714,7 +35677,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19032)>>2]|0; + $156 = HEAP32[(19336)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -35774,7 +35737,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19032)>>2]|0; + $189 = HEAP32[(19336)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -35787,7 +35750,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19032)>>2]|0; + $169 = HEAP32[(19336)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -35818,7 +35781,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19320 + ($193<<2)|0); + $194 = (19624 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -35828,13 +35791,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19020)>>2]|0; + $199 = HEAP32[(19324)>>2]|0; $200 = $199 & $198; - HEAP32[(19020)>>2] = $200; + HEAP32[(19324)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19032)>>2]|0; + $201 = HEAP32[(19336)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -35855,7 +35818,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19032)>>2]|0; + $207 = HEAP32[(19336)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -35885,7 +35848,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19032)>>2]|0; + $219 = HEAP32[(19336)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -35906,10 +35869,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19036)>>2]|0; + $226 = HEAP32[(19340)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19024)>>2] = $135; + HEAP32[(19328)>>2] = $135; return; } else { $$2 = $135; @@ -35928,20 +35891,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19056 + ($234<<2)|0); - $236 = HEAP32[4754]|0; + $235 = (19360 + ($234<<2)|0); + $236 = HEAP32[4830]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4754] = $240; + HEAP32[4830] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19032)>>2]|0; + $243 = HEAP32[(19336)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -35993,21 +35956,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19320 + ($$0396<<2)|0); + $273 = (19624 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19020)>>2]|0; + $277 = HEAP32[(19324)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19020)>>2] = $281; + HEAP32[(19324)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -36045,7 +36008,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19032)>>2]|0; + $300 = HEAP32[(19336)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -36064,7 +36027,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19032)>>2]|0; + $307 = HEAP32[(19336)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -36086,12 +36049,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19048)>>2]|0; + $314 = HEAP32[(19352)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19048)>>2] = $315; + HEAP32[(19352)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19472); + $$0212$in$i = (19776); } else { return; } @@ -36105,7 +36068,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19048)>>2] = -1; + HEAP32[(19352)>>2] = -1; return; } function _realloc($0,$1) { @@ -36177,7 +36140,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19032)>>2]|0; + $6 = HEAP32[(19336)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -36207,7 +36170,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19496)>>2]|0; + $18 = HEAP32[(19800)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -36243,10 +36206,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19040)>>2]|0; + $34 = HEAP32[(19344)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19028)>>2]|0; + $36 = HEAP32[(19332)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -36262,15 +36225,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19040)>>2] = $40; - HEAP32[(19028)>>2] = $39; + HEAP32[(19344)>>2] = $40; + HEAP32[(19332)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19036)>>2]|0; + $46 = HEAP32[(19340)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19024)>>2]|0; + $48 = HEAP32[(19328)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -36306,8 +36269,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19024)>>2] = $storemerge1; - HEAP32[(19036)>>2] = $storemerge; + HEAP32[(19328)>>2] = $storemerge1; + HEAP32[(19340)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -36334,7 +36297,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19056 + ($81<<2)|0); + $82 = (19360 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -36354,9 +36317,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4754]|0; + $91 = HEAP32[4830]|0; $92 = $91 & $90; - HEAP32[4754] = $92; + HEAP32[4830] = $92; break; } $93 = ($80|0)==($82|0); @@ -36465,7 +36428,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19320 + ($128<<2)|0); + $129 = (19624 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -36475,13 +36438,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19020)>>2]|0; + $134 = HEAP32[(19324)>>2]|0; $135 = $134 & $133; - HEAP32[(19020)>>2] = $135; + HEAP32[(19324)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19032)>>2]|0; + $136 = HEAP32[(19336)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -36502,7 +36465,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19032)>>2]|0; + $142 = HEAP32[(19336)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -36532,7 +36495,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19032)>>2]|0; + $154 = HEAP32[(19336)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -36617,13 +36580,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19032)>>2]|0; + $13 = HEAP32[(19336)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19036)>>2]|0; + $15 = HEAP32[(19340)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -36638,7 +36601,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19024)>>2] = $12; + HEAP32[(19328)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -36652,7 +36615,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19056 + ($23<<2)|0); + $24 = (19360 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -36672,9 +36635,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4754]|0; + $33 = HEAP32[4830]|0; $34 = $33 & $32; - HEAP32[4754] = $34; + HEAP32[4830] = $34; $$1 = $11;$$1418 = $12; break; } @@ -36788,7 +36751,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19320 + ($70<<2)|0); + $71 = (19624 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -36798,14 +36761,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19020)>>2]|0; + $76 = HEAP32[(19324)>>2]|0; $77 = $76 & $75; - HEAP32[(19020)>>2] = $77; + HEAP32[(19324)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19032)>>2]|0; + $78 = HEAP32[(19336)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -36827,7 +36790,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19032)>>2]|0; + $84 = HEAP32[(19336)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -36859,7 +36822,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19032)>>2]|0; + $96 = HEAP32[(19336)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -36878,7 +36841,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19032)>>2]|0; + $108 = HEAP32[(19336)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -36889,14 +36852,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19040)>>2]|0; + $114 = HEAP32[(19344)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19036)>>2]|0; + $116 = HEAP32[(19340)>>2]|0; if ($115) { - $117 = HEAP32[(19028)>>2]|0; + $117 = HEAP32[(19332)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19028)>>2] = $118; - HEAP32[(19040)>>2] = $$1; + HEAP32[(19332)>>2] = $118; + HEAP32[(19344)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -36904,16 +36867,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19036)>>2] = 0; - HEAP32[(19024)>>2] = 0; + HEAP32[(19340)>>2] = 0; + HEAP32[(19328)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19024)>>2]|0; + $123 = HEAP32[(19328)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19024)>>2] = $124; - HEAP32[(19036)>>2] = $$1; + HEAP32[(19328)>>2] = $124; + HEAP32[(19340)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36932,7 +36895,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19056 + ($136<<2)|0); + $137 = (19360 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -36952,9 +36915,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4754]|0; + $146 = HEAP32[4830]|0; $147 = $146 & $145; - HEAP32[4754] = $147; + HEAP32[4830] = $147; break; } $148 = ($135|0)==($137|0); @@ -37063,7 +37026,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19320 + ($183<<2)|0); + $184 = (19624 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -37073,13 +37036,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19020)>>2]|0; + $189 = HEAP32[(19324)>>2]|0; $190 = $189 & $188; - HEAP32[(19020)>>2] = $190; + HEAP32[(19324)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19032)>>2]|0; + $191 = HEAP32[(19336)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -37100,7 +37063,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19032)>>2]|0; + $197 = HEAP32[(19336)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -37130,7 +37093,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19032)>>2]|0; + $209 = HEAP32[(19336)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -37151,10 +37114,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19036)>>2]|0; + $216 = HEAP32[(19340)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19024)>>2] = $129; + HEAP32[(19328)>>2] = $129; return; } else { $$2 = $129; @@ -37173,20 +37136,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19056 + ($224<<2)|0); - $226 = HEAP32[4754]|0; + $225 = (19360 + ($224<<2)|0); + $226 = HEAP32[4830]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4754] = $230; + HEAP32[4830] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19032)>>2]|0; + $233 = HEAP32[(19336)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -37238,20 +37201,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19320 + ($$0431<<2)|0); + $263 = (19624 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19020)>>2]|0; + $267 = HEAP32[(19324)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19020)>>2] = $271; + HEAP32[(19324)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -37290,7 +37253,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19032)>>2]|0; + $290 = HEAP32[(19336)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -37308,7 +37271,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19032)>>2]|0; + $297 = HEAP32[(19336)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/textures/textures_rectangle.png b/docs/examples/web/textures/textures_rectangle.png new file mode 100644 index 000000000..aa66464ea Binary files /dev/null and b/docs/examples/web/textures/textures_rectangle.png differ diff --git a/docs/examples/web/textures/textures_srcrec_dstrec.c b/docs/examples/web/textures/textures_srcrec_dstrec.c index e97d5f5e8..5a9381887 100644 --- a/docs/examples/web/textures/textures_srcrec_dstrec.c +++ b/docs/examples/web/textures/textures_srcrec_dstrec.c @@ -22,7 +22,7 @@ int screenWidth = 800; int screenHeight = 450; // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) -Texture2D guybrush; +Texture2D scarfy; int frameWidth; int frameHeight; @@ -33,7 +33,6 @@ Vector2 origin; int rotation = 0; - //---------------------------------------------------------------------------------- // Module Functions Declaration //---------------------------------------------------------------------------------- @@ -48,10 +47,10 @@ int main() //-------------------------------------------------------------------------------------- InitWindow(screenWidth, screenHeight, "raylib [textures] examples - texture source and destination rectangles"); - guybrush = LoadTexture("resources/guybrush.png"); // Texture loading + scarfy = LoadTexture("resources/scarfy.png"); // Texture loading - frameWidth = guybrush.width/7; - frameHeight = guybrush.height; + frameWidth = scarfy.width/6; + frameHeight = scarfy.height; // NOTE: On PLATFORM_WEB, NPOT textures support is limited @@ -79,9 +78,9 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - UnloadTexture(guybrush); // Texture unloading + UnloadTexture(scarfy); // Texture unloading - CloseWindow(); // Close window and OpenGL context + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; @@ -108,10 +107,12 @@ void UpdateDrawFrame(void) // destRec defines the rectangle where our texture part will fit (scaling it to fit) // origin defines the point of the texture used as reference for rotation and scaling // rotation defines the texture rotation (using origin as rotation point) - DrawTexturePro(guybrush, sourceRec, destRec, origin, rotation, WHITE); + DrawTexturePro(scarfy, sourceRec, destRec, origin, rotation, WHITE); DrawLine(destRec.x, 0, destRec.x, screenHeight, GRAY); DrawLine(0, destRec.y, screenWidth, destRec.y, GRAY); + + DrawText("(c) Scarfy sprite by Eiden Marsal", screenWidth - 200, screenHeight - 20, 10, GRAY); EndDrawing(); //---------------------------------------------------------------------------------- diff --git a/docs/examples/web/textures/textures_srcrec_dstrec.js b/docs/examples/web/textures/textures_srcrec_dstrec.js index f875c53e6..944227617 100644 --- a/docs/examples/web/textures/textures_srcrec_dstrec.js +++ b/docs/examples/web/textures/textures_srcrec_dstrec.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 21597, "filename": "/resources/scarfy.png"}], "remote_package_size": 21597, "package_uuid": "0c81d7ef-8efa-4375-981e-51c20e176324"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 21597, "filename": "/resources/scarfy.png"}], "remote_package_size": 21597, "package_uuid": "57440067-30a2-4bd1-a22c-0761e9c17be7"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 21984; +STATICTOP = STATIC_BASE + 22000; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,211,81,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,115,32,45,32,116,101,120,116,117,114,101,32,115,111,117,114,99,101,32,97,110,100,32,100,101,115,116,105,110,97,116,105,111,110,32,114,101,99,116,97,110,103,108,101,115,0,114,101,115,111,117,114,99,101,115,47,103,117,121,98,114,117,115,104,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,235,81,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,115,32,45,32,116,101,120,116,117,114,101,32,115,111,117,114,99,101,32,97,110,100,32,100,101,115,116,105,110,97,116,105,111,110,32,114,101,99,116,97,110,103,108,101,115,0,114,101,115,111,117,114,99,101,115,47,115,99,97,114,102,121,46,112,110,103,0,40,99,41,32,83,99,97,114,102,121,32,115,112,114,105,116,101,32,98,121,32,69,105,100,101,110,32,77,97,114,115,97,108,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10461,111 +10461,175 @@ function getTempRet0() { } function _main() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $guybrush$byval_copy = 0, label = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scarfy$byval_copy = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $guybrush$byval_copy = sp + 20|0; + $scarfy$byval_copy = sp + 20|0; $0 = sp; $1 = HEAP32[2]|0; $2 = HEAP32[3]|0; _InitWindow($1,$2,3996); _LoadTexture($0,4067); - ;HEAP32[16404>>2]=HEAP32[$0>>2]|0;HEAP32[16404+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16404+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16404+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16404+16>>2]=HEAP32[$0+16>>2]|0; - $3 = HEAP32[(16408)>>2]|0; - $4 = (($3|0) / 7)&-1; - HEAP32[4106] = $4; - $5 = HEAP32[(16412)>>2]|0; - HEAP32[4107] = $5; - HEAP32[4108] = 0; - HEAP32[(16436)>>2] = 0; - HEAP32[(16440)>>2] = $4; - HEAP32[(16444)>>2] = $5; + ;HEAP32[16748>>2]=HEAP32[$0>>2]|0;HEAP32[16748+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16748+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16748+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16748+16>>2]=HEAP32[$0+16>>2]|0; + $3 = HEAP32[(16752)>>2]|0; + $4 = (($3|0) / 6)&-1; + HEAP32[4192] = $4; + $5 = HEAP32[(16756)>>2]|0; + HEAP32[4193] = $5; + HEAP32[4194] = 0; + HEAP32[(16780)>>2] = 0; + HEAP32[(16784)>>2] = $4; + HEAP32[(16788)>>2] = $5; $6 = HEAP32[2]|0; $7 = (($6|0) / 2)&-1; $8 = HEAP32[3]|0; $9 = (($8|0) / 2)&-1; - $10 = HEAP32[4106]|0; + $10 = HEAP32[4192]|0; $11 = $10 << 1; - $12 = HEAP32[4107]|0; + $12 = HEAP32[4193]|0; $13 = $12 << 1; - HEAP32[4112] = $7; - HEAP32[(16452)>>2] = $9; - HEAP32[(16456)>>2] = $11; - HEAP32[(16460)>>2] = $13; - $14 = HEAP32[4106]|0; + HEAP32[4198] = $7; + HEAP32[(16796)>>2] = $9; + HEAP32[(16800)>>2] = $11; + HEAP32[(16804)>>2] = $13; + $14 = HEAP32[4192]|0; $15 = (+($14|0)); - $16 = HEAP32[4107]|0; + $16 = HEAP32[4193]|0; $17 = (+($16|0)); - HEAPF32[4116] = $15; - HEAPF32[(16468)>>2] = $17; + HEAPF32[4202] = $15; + HEAPF32[(16812)>>2] = $17; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$guybrush$byval_copy>>2]=HEAP32[16404>>2]|0;HEAP32[$guybrush$byval_copy+4>>2]=HEAP32[16404+4>>2]|0;HEAP32[$guybrush$byval_copy+8>>2]=HEAP32[16404+8>>2]|0;HEAP32[$guybrush$byval_copy+12>>2]=HEAP32[16404+12>>2]|0;HEAP32[$guybrush$byval_copy+16>>2]=HEAP32[16404+16>>2]|0; - _UnloadTexture($guybrush$byval_copy); + ;HEAP32[$scarfy$byval_copy>>2]=HEAP32[16748>>2]|0;HEAP32[$scarfy$byval_copy+4>>2]=HEAP32[16748+4>>2]|0;HEAP32[$scarfy$byval_copy+8>>2]=HEAP32[16748+8>>2]|0;HEAP32[$scarfy$byval_copy+12>>2]=HEAP32[16748+12>>2]|0;HEAP32[$scarfy$byval_copy+16>>2]=HEAP32[16748+16>>2]|0; + _UnloadTexture($scarfy$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; } function _UpdateDrawFrame() { - var $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0.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, $destRec$byval_copy = 0, $guybrush$byval_copy = 0, $origin$byval_copy = 0, $sourceRec$byval_copy = 0, label = 0, sp = 0; + var $$byval_copy3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $destRec$byval_copy = 0, $origin$byval_copy = 0, $scarfy$byval_copy = 0, $sourceRec$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $$byval_copy2 = sp + 76|0; - $origin$byval_copy = sp + 56|0; - $destRec$byval_copy = sp + 40|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $$byval_copy3 = sp + 88|0; + $origin$byval_copy = sp + 64|0; + $destRec$byval_copy = sp + 48|0; $sourceRec$byval_copy = sp + 24|0; - $guybrush$byval_copy = sp + 4|0; - $0 = sp + 72|0; - $1 = sp; - $2 = sp + 68|0; - $3 = sp + 64|0; - $4 = HEAP32[4100]|0; - $5 = (($4) + 1)|0; - HEAP32[4100] = $5; + $scarfy$byval_copy = sp; + $0 = sp + 84|0; + $1 = sp + 40|0; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = HEAP32[4186]|0; + $6 = (($5) + 1)|0; + HEAP32[4186] = $6; _BeginDrawing(); HEAP8[$0>>0] = -11; - $6 = ((($0)) + 1|0); - HEAP8[$6>>0] = -11; - $7 = ((($0)) + 2|0); + $7 = ((($0)) + 1|0); HEAP8[$7>>0] = -11; - $8 = ((($0)) + 3|0); - HEAP8[$8>>0] = -1; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy2); - $9 = HEAP32[4100]|0; - $10 = (+($9|0)); + $8 = ((($0)) + 2|0); + HEAP8[$8>>0] = -11; + $9 = ((($0)) + 3|0); + HEAP8[$9>>0] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$0+3>>0]|0; + _ClearBackground($$byval_copy3); + $10 = HEAP32[4186]|0; + $11 = (+($10|0)); HEAP32[$1>>2] = -1; - ;HEAP32[$guybrush$byval_copy>>2]=HEAP32[16404>>2]|0;HEAP32[$guybrush$byval_copy+4>>2]=HEAP32[16404+4>>2]|0;HEAP32[$guybrush$byval_copy+8>>2]=HEAP32[16404+8>>2]|0;HEAP32[$guybrush$byval_copy+12>>2]=HEAP32[16404+12>>2]|0;HEAP32[$guybrush$byval_copy+16>>2]=HEAP32[16404+16>>2]|0; - ;HEAP32[$sourceRec$byval_copy>>2]=HEAP32[16432>>2]|0;HEAP32[$sourceRec$byval_copy+4>>2]=HEAP32[16432+4>>2]|0;HEAP32[$sourceRec$byval_copy+8>>2]=HEAP32[16432+8>>2]|0;HEAP32[$sourceRec$byval_copy+12>>2]=HEAP32[16432+12>>2]|0; - ;HEAP32[$destRec$byval_copy>>2]=HEAP32[16448>>2]|0;HEAP32[$destRec$byval_copy+4>>2]=HEAP32[16448+4>>2]|0;HEAP32[$destRec$byval_copy+8>>2]=HEAP32[16448+8>>2]|0;HEAP32[$destRec$byval_copy+12>>2]=HEAP32[16448+12>>2]|0; - ;HEAP32[$origin$byval_copy>>2]=HEAP32[16464>>2]|0;HEAP32[$origin$byval_copy+4>>2]=HEAP32[16464+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$1+3>>0]|0; - _DrawTexturePro($guybrush$byval_copy,$sourceRec$byval_copy,$destRec$byval_copy,$origin$byval_copy,$10,$$byval_copy2); - $11 = HEAP32[4112]|0; - $12 = HEAP32[3]|0; + ;HEAP32[$scarfy$byval_copy>>2]=HEAP32[16748>>2]|0;HEAP32[$scarfy$byval_copy+4>>2]=HEAP32[16748+4>>2]|0;HEAP32[$scarfy$byval_copy+8>>2]=HEAP32[16748+8>>2]|0;HEAP32[$scarfy$byval_copy+12>>2]=HEAP32[16748+12>>2]|0;HEAP32[$scarfy$byval_copy+16>>2]=HEAP32[16748+16>>2]|0; + ;HEAP32[$sourceRec$byval_copy>>2]=HEAP32[16776>>2]|0;HEAP32[$sourceRec$byval_copy+4>>2]=HEAP32[16776+4>>2]|0;HEAP32[$sourceRec$byval_copy+8>>2]=HEAP32[16776+8>>2]|0;HEAP32[$sourceRec$byval_copy+12>>2]=HEAP32[16776+12>>2]|0; + ;HEAP32[$destRec$byval_copy>>2]=HEAP32[16792>>2]|0;HEAP32[$destRec$byval_copy+4>>2]=HEAP32[16792+4>>2]|0;HEAP32[$destRec$byval_copy+8>>2]=HEAP32[16792+8>>2]|0;HEAP32[$destRec$byval_copy+12>>2]=HEAP32[16792+12>>2]|0; + ;HEAP32[$origin$byval_copy>>2]=HEAP32[16808>>2]|0;HEAP32[$origin$byval_copy+4>>2]=HEAP32[16808+4>>2]|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$1+3>>0]|0; + _DrawTexturePro($scarfy$byval_copy,$sourceRec$byval_copy,$destRec$byval_copy,$origin$byval_copy,$11,$$byval_copy3); + $12 = HEAP32[4198]|0; + $13 = HEAP32[3]|0; HEAP8[$2>>0] = -126; - $13 = ((($2)) + 1|0); - HEAP8[$13>>0] = -126; - $14 = ((($2)) + 2|0); + $14 = ((($2)) + 1|0); HEAP8[$14>>0] = -126; - $15 = ((($2)) + 3|0); - HEAP8[$15>>0] = -1; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$2+3>>0]|0; - _DrawLine($11,0,$11,$12,$$byval_copy2); - $16 = HEAP32[(16452)>>2]|0; - $17 = HEAP32[2]|0; + $15 = ((($2)) + 2|0); + HEAP8[$15>>0] = -126; + $16 = ((($2)) + 3|0); + HEAP8[$16>>0] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$2+3>>0]|0; + _DrawLine($12,0,$12,$13,$$byval_copy3); + $17 = HEAP32[(16796)>>2]|0; + $18 = HEAP32[2]|0; HEAP8[$3>>0] = -126; - $18 = ((($3)) + 1|0); - HEAP8[$18>>0] = -126; - $19 = ((($3)) + 2|0); + $19 = ((($3)) + 1|0); HEAP8[$19>>0] = -126; - $20 = ((($3)) + 3|0); - HEAP8[$20>>0] = -1; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$3+3>>0]|0; - _DrawLine(0,$16,$17,$16,$$byval_copy2); + $20 = ((($3)) + 2|0); + HEAP8[$20>>0] = -126; + $21 = ((($3)) + 3|0); + HEAP8[$21>>0] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$3+3>>0]|0; + _DrawLine(0,$17,$18,$17,$$byval_copy3); + $22 = HEAP32[2]|0; + $23 = (($22) + -200)|0; + $24 = HEAP32[3]|0; + $25 = (($24) + -20)|0; + HEAP8[$4>>0] = -126; + $26 = ((($4)) + 1|0); + HEAP8[$26>>0] = -126; + $27 = ((($4)) + 2|0); + HEAP8[$27>>0] = -126; + $28 = ((($4)) + 3|0); + HEAP8[$28>>0] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawText(4088,$23,$25,10,$$byval_copy3); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10665,13 +10729,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11281,7 +11338,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4119] = $2; + HEAP32[4205] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11294,7 +11351,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16128; + $95 = 16472; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11307,48 +11364,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16168; + $106 = 16512; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4042]; - $111 = +HEAPF32[4032]; + $110 = +HEAPF32[4128]; + $111 = +HEAPF32[4118]; $112 = $110 - $111; - HEAPF32[4044] = $112; - $113 = +HEAPF32[(16172)>>2]; - $114 = +HEAPF32[(16132)>>2]; + HEAPF32[4130] = $112; + $113 = +HEAPF32[(16516)>>2]; + $114 = +HEAPF32[(16476)>>2]; $115 = $113 - $114; - HEAPF32[(16180)>>2] = $115; - HEAP32[4118] = 4; + HEAPF32[(16524)>>2] = $115; + HEAP32[4204] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16160>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16160+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16184+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16504+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16528+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4124] = $116; - $117 = 16160; + HEAPF32[4210] = $116; + $117 = 16504; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16128; + $123 = 16472; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16184; + $127 = 16528; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16168; + $133 = 16512; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11361,7 +11418,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16160; + $144 = 16504; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11374,27 +11431,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16184; + $155 = 16528; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4046]; - $160 = +HEAPF32[4040]; + $159 = +HEAPF32[4132]; + $160 = +HEAPF32[4126]; $161 = $159 - $160; - HEAPF32[4044] = $161; - $162 = +HEAPF32[(16188)>>2]; - $163 = +HEAPF32[(16164)>>2]; + HEAPF32[4130] = $161; + $162 = +HEAPF32[(16532)>>2]; + $163 = +HEAPF32[(16508)>>2]; $164 = $162 - $163; - HEAPF32[(16180)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16160>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16160+4>>2]|0; + HEAPF32[(16524)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16504+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16168>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16168+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16184+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16512>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16512+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16528+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11406,31 +11463,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16160>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16160+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16184+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16504+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16528+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4124]; + $170 = +HEAPF32[4210]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4118] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16160>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16160+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16184+4>>2]|0; + HEAP32[4204] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16504+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16528+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4125] = $174; + HEAPF32[4211] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4124] = 0.0; - HEAPF32[4125] = 0.0; - HEAPF32[4044] = 0.0; - HEAPF32[(16180)>>2] = 0.0; - HEAP32[4119] = 0; - HEAP32[4118] = 0; + HEAPF32[4210] = 0.0; + HEAPF32[4211] = 0.0; + HEAPF32[4130] = 0.0; + HEAPF32[(16524)>>2] = 0.0; + HEAP32[4205] = 0; + HEAP32[4204] = 0; STACKTOP = sp;return; break; } @@ -11440,22 +11497,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4120]|0; + $6 = HEAP32[4206]|0; $7 = (($6) + 1)|0; - HEAP32[4120] = $7; - $8 = HEAP32[4118]|0; + HEAP32[4206] = $7; + $8 = HEAP32[4204]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16128+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4118] = 2; - HEAP32[4120] = 0; + HEAP32[4204] = 2; + HEAP32[4206] = 0; } else { label = 6; } @@ -11463,8 +11520,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4120] = 1; - HEAP32[4118] = 1; + HEAP32[4206] = 1; + HEAP32[4204] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11473,19 +11530,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16128; + $21 = 16472; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16136; + $25 = 16480; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16144; + $29 = 16488; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11494,13 +11551,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4038] = 0.0; - HEAPF32[(16156)>>2] = 0.0; + HEAPF32[4124] = 0.0; + HEAPF32[(16500)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4118]|0; + $35 = HEAP32[4204]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11510,19 +11567,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16144; + $44 = 16488; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16144>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16144+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16488>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16488+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4121] = $49; - HEAP32[4122] = 0; + HEAPF32[4207] = $49; + HEAP32[4208] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11530,11 +11587,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16144>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16144+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16488>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16488+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4123] = $56; + HEAPF32[4209] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11565,22 +11622,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4121] = 0.0; - HEAPF32[4123] = 0.0; + HEAPF32[4207] = 0.0; + HEAPF32[4209] = 0.0; $$sink10 = 0; } - HEAP32[4118] = $$sink10; - HEAPF32[4034] = 0.0; - HEAPF32[(16140)>>2] = 0.0; - HEAP32[4119] = 0; + HEAP32[4204] = $$sink10; + HEAPF32[4120] = 0.0; + HEAPF32[(16484)>>2] = 0.0; + HEAP32[4205] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4122]|0; + $65 = HEAP32[4208]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4122] = 1; + HEAP32[4208] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11589,31 +11646,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16160; + $74 = 16504; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4118]|0; + $78 = HEAP32[4204]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16160>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16160+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16504+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4118] = 8; + HEAP32[4204] = 8; } } - $82 = +HEAPF32[4040]; - $83 = +HEAPF32[4034]; + $82 = +HEAPF32[4126]; + $83 = +HEAPF32[4120]; $84 = $82 - $83; - HEAPF32[4038] = $84; - $85 = +HEAPF32[(16164)>>2]; - $86 = +HEAPF32[(16140)>>2]; + HEAPF32[4124] = $84; + $85 = +HEAPF32[(16508)>>2]; + $86 = +HEAPF32[(16484)>>2]; $87 = $85 - $86; - HEAPF32[(16156)>>2] = $87; + HEAPF32[(16500)>>2] = $87; STACKTOP = sp;return; break; } @@ -11622,58 +11679,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4118]|0; + $0 = HEAP32[4204]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4119]|0; + $2 = HEAP32[4205]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4118] = 4; + HEAP32[4204] = 4; } - $4 = HEAP32[4118]|0; + $4 = HEAP32[4204]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11686,14 +11704,14 @@ function _UpdateGestures() { return; } } - HEAP32[4118] = 0; + HEAP32[4204] = 0; return; } function _GetMousePosition($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 = 16192; + $1 = 16536; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11710,13 +11728,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4128]|0; + $0 = HEAP32[4214]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4127]|0; + $0 = HEAP32[4213]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11727,29 +11745,29 @@ function _InitWindow($0,$1,$2) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - _TraceLog(0,4090,$vararg_buffer); - HEAP32[4130] = $2; + _TraceLog(0,4122,$vararg_buffer); + HEAP32[4216] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); - (_emscripten_set_keypress_callback((4119|0),(0|0),1,(5|0))|0); - (_emscripten_set_click_callback((4119|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchstart_callback((4119|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchend_callback((4119|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchmove_callback((4119|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchcancel_callback((4119|0),(0|0),1,(7|0))|0); + (_emscripten_set_keypress_callback((4151|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((4151|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((4151|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((4151|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((4151|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((4151|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4128]|0; + $3 = HEAP32[4214]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4048] = $5; - $6 = HEAP32[4127]|0; + HEAPF32[4134] = $5; + $6 = HEAP32[4213]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16196)>>2] = $8; - $9 = HEAP32[4131]|0; + HEAPF32[(16540)>>2] = $8; + $9 = HEAP32[4217]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11768,11 +11786,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16232>>0]=HEAP8[8619>>0]|0;HEAP8[16232+1>>0]=HEAP8[8619+1>>0]|0;HEAP8[16232+2>>0]=HEAP8[8619+2>>0]|0;HEAP8[16232+3>>0]=HEAP8[8619+3>>0]|0;HEAP8[16232+4>>0]=HEAP8[8619+4>>0]|0;HEAP8[16232+5>>0]=HEAP8[8619+5>>0]|0;HEAP8[16232+6>>0]=HEAP8[8619+6>>0]|0; + ;HEAP8[16576>>0]=HEAP8[8651>>0]|0;HEAP8[16576+1>>0]=HEAP8[8651+1>>0]|0;HEAP8[16576+2>>0]=HEAP8[8651+2>>0]|0;HEAP8[16576+3>>0]=HEAP8[8651+3>>0]|0;HEAP8[16576+4>>0]=HEAP8[8651+4>>0]|0;HEAP8[16576+5>>0]=HEAP8[8651+5>>0]|0;HEAP8[16576+6>>0]=HEAP8[8651+6>>0]|0; break; } case 1: { - $3 = 16232; + $3 = 16576; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11781,11 +11799,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16232; src=8626; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16576; src=8658; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16232; + $7 = 16576; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11796,16 +11814,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16232,$1)|0); - $strlen = (_strlen(16232)|0); - $endptr = (16232 + ($strlen)|0); + (_strcat(16576,$1)|0); + $strlen = (_strlen(16576)|0); + $endptr = (16576 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16232,$2)|0); + (_vprintf(16576,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11837,22 +11855,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4128] = $0; - HEAP32[4127] = $1; + HEAP32[4214] = $0; + HEAP32[4213] = $1; _MatrixIdentity($2); - dest=16600; 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)); + dest=16944; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { - _TraceLog(1,4761,$vararg_buffer); + _TraceLog(1,4793,$vararg_buffer); } - $6 = HEAP32[4128]|0; - HEAP32[4166] = $6; - $7 = HEAP32[4127]|0; - HEAP32[4167] = $7; + $6 = HEAP32[4214]|0; + HEAP32[4252] = $6; + $7 = HEAP32[4213]|0; + HEAP32[4253] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19332]|0; + $8 = HEAP8[19676]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11860,18 +11878,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19332]|0; + $11 = HEAP8[19676]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19332]|0; + $14 = HEAP8[19676]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,4787,$vararg_buffer1); + _TraceLog(0,4819,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -11888,18 +11906,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4168]|0; + $21 = HEAP32[4254]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4128]|0; - $48 = HEAP32[4127]|0; - $49 = HEAP32[4130]|0; + $47 = HEAP32[4214]|0; + $48 = HEAP32[4213]|0; + $49 = HEAP32[4216]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4126] = $50; - $51 = HEAP32[4128]|0; - HEAP32[4169] = $51; - $52 = HEAP32[4127]|0; - HEAP32[4170] = $52; + HEAP32[4212] = $50; + $51 = HEAP32[4214]|0; + HEAP32[4255] = $51; + $52 = HEAP32[4213]|0; + HEAP32[4256] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11908,9 +11926,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4128]|0; + $27 = HEAP32[4214]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4127]|0; + $29 = HEAP32[4213]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -11932,87 +11950,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4166] = $31; - HEAP32[4167] = $34; + HEAP32[4252] = $31; + HEAP32[4253] = $34; } } while(0); - $38 = HEAP32[4166]|0; - $39 = HEAP32[4167]|0; + $38 = HEAP32[4252]|0; + $39 = HEAP32[4253]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,4812,$vararg_buffer3); - $40 = HEAP32[4166]|0; - $41 = HEAP32[4167]|0; + _TraceLog(2,4844,$vararg_buffer3); + $40 = HEAP32[4252]|0; + $41 = HEAP32[4253]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4166]|0; - $43 = HEAP32[4167]|0; - $44 = HEAP32[4130]|0; + $42 = HEAP32[4252]|0; + $43 = HEAP32[4253]|0; + $44 = HEAP32[4216]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4126] = $46; + HEAP32[4212] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,4850,$vararg_buffer6); + _TraceLog(1,4882,$vararg_buffer6); } else { - _TraceLog(0,4883,$vararg_buffer8); - $55 = HEAP32[4169]|0; - $56 = HEAP32[4170]|0; + _TraceLog(0,4915,$vararg_buffer8); + $55 = HEAP32[4255]|0; + $56 = HEAP32[4256]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,4923,$vararg_buffer10); - $57 = HEAP32[4128]|0; - $58 = HEAP32[4127]|0; + _TraceLog(0,4955,$vararg_buffer10); + $57 = HEAP32[4214]|0; + $58 = HEAP32[4213]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,4944,$vararg_buffer14); - $59 = HEAP32[4171]|0; - $60 = HEAP32[4172]|0; + _TraceLog(0,4976,$vararg_buffer14); + $59 = HEAP32[4257]|0; + $60 = HEAP32[4258]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,4965,$vararg_buffer18); + _TraceLog(0,4997,$vararg_buffer18); } - $61 = HEAP32[4126]|0; + $61 = HEAP32[4212]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4126]|0; + $62 = HEAP32[4212]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4126]|0; + $63 = HEAP32[4212]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4126]|0; + $64 = HEAP32[4212]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4126]|0; + $65 = HEAP32[4212]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4126]|0; + $66 = HEAP32[4212]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4126]|0; + $67 = HEAP32[4212]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4126]|0; + $68 = HEAP32[4212]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4126]|0; + $69 = HEAP32[4212]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19332]|0; + $70 = HEAP8[19676]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4128]|0; - $74 = HEAP32[4127]|0; + $73 = HEAP32[4214]|0; + $74 = HEAP32[4213]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4169]|0; - $76 = HEAP32[4171]|0; + $75 = HEAP32[4255]|0; + $76 = HEAP32[4257]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4170]|0; - $80 = HEAP32[4172]|0; + $79 = HEAP32[4256]|0; + $80 = HEAP32[4258]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12030,19 +12048,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,4990,$vararg_buffer22); - $73 = HEAP32[4128]|0; - $74 = HEAP32[4127]|0; + _TraceLog(0,5022,$vararg_buffer22); + $73 = HEAP32[4214]|0; + $74 = HEAP32[4213]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4169]|0; - $76 = HEAP32[4171]|0; + $75 = HEAP32[4255]|0; + $76 = HEAP32[4257]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4170]|0; - $80 = HEAP32[4172]|0; + $79 = HEAP32[4256]|0; + $80 = HEAP32[4258]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12070,7 +12088,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16568)>>2] = 224; + HEAP32[(16912)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12111,27 +12129,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16544>>2]=HEAP32[$1>>2]|0;HEAP32[16544+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16544+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16544+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16544+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[16888>>2]=HEAP32[$1>>2]|0;HEAP32[16888+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16888+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16888+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16888+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16568)>>2]|0; + $5 = HEAP32[(16912)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16572)>>2] = $7; + HEAP32[(16916)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16564)>>2] = $23; - $24 = HEAP32[4136]|0; + HEAP32[(16908)>>2] = $23; + $24 = HEAP32[4222]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4314,$vararg_buffer); + _TraceLog(0,4346,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16548)>>2]|0; - $10 = HEAP32[(16568)>>2]|0; - $11 = HEAP32[(16572)>>2]|0; + $9 = HEAP32[(16892)>>2]|0; + $10 = HEAP32[(16912)>>2]|0; + $11 = HEAP32[(16916)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12180,10 +12198,10 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16564)>>2] = $23; - $24 = HEAP32[4136]|0; + HEAP32[(16908)>>2] = $23; + $24 = HEAP32[4222]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4314,$vararg_buffer); + _TraceLog(0,4346,$vararg_buffer); STACKTOP = sp;return; } function _InitTimer() { @@ -12192,7 +12210,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2028] = $1; + HEAPF64[2071] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12222,7 +12240,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,4247,$vararg_buffer4); + _TraceLog(0,4279,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -12232,7 +12250,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,4178,$vararg_buffer); + _TraceLog(0,4210,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -12248,7 +12266,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,4171)|0); + $5 = (_strcmp($4,4203)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -12351,7 +12369,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16208; + $31 = 16552; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12364,7 +12382,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16216); + $42 = (16560); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12420,7 +12438,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16528 + ($10<<2)|0); + $11 = (16872 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12434,19 +12452,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2025] = $$; + HEAPF64[2068] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,4127,$vararg_buffer); + _TraceLog(0,4159,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4131] = 0; + HEAP32[4217] = 0; return; } function _GetTime() { @@ -12545,7 +12563,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,4661,$vararg_buffer); + _TraceLog(2,4693,$vararg_buffer); STACKTOP = sp;return; } ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; @@ -13022,52 +13040,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4144]|0; + $6 = HEAP32[4230]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,4359,$vararg_buffer); + _TraceLog(2,4391,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4145]|0; + $9 = HEAP32[4231]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,4403,$vararg_buffer1); + _TraceLog(2,4435,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4146]|0; + $12 = HEAP32[4232]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); $or$cond = $14 & $13; if ($or$cond) { - _TraceLog(2,4448,$vararg_buffer3); + _TraceLog(2,4480,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4147]|0; + $15 = HEAP32[4233]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); $or$cond96 = $17 & $16; if ($or$cond96) { - _TraceLog(2,4493,$vararg_buffer5); + _TraceLog(2,4525,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4148]|0; + $18 = HEAP32[4234]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); $or$cond98 = $20 & $19; if ($or$cond98) { - _TraceLog(2,4538,$vararg_buffer7); + _TraceLog(2,4570,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13105,7 +13123,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4144]|0; + $22 = HEAP32[4230]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13113,7 +13131,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4144]|0; + $24 = HEAP32[4230]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13121,7 +13139,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4144]|0; + $26 = HEAP32[4230]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13129,7 +13147,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4144]|0; + $28 = HEAP32[4230]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13137,7 +13155,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4145]|0; + $30 = HEAP32[4231]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13145,7 +13163,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4146]|0; + $32 = HEAP32[4232]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13153,7 +13171,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4146]|0; + $34 = HEAP32[4232]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13161,7 +13179,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4147]|0; + $36 = HEAP32[4233]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13169,7 +13187,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4147]|0; + $38 = HEAP32[4233]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13177,7 +13195,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4148]|0; + $40 = HEAP32[4234]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13185,7 +13203,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4148]|0; + $42 = HEAP32[4234]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13193,11 +13211,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,4583,$vararg_buffer9); + _TraceLog(2,4615,$vararg_buffer9); } } } while(0); - $44 = HEAP32[4149]|0; + $44 = HEAP32[4235]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13212,7 +13230,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,10710,$vararg_buffer15); + _TraceLog(2,11050,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13221,7 +13239,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { HEAP32[$vararg_ptr13>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,4612,$vararg_buffer11); + _TraceLog(0,4644,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13495,7 +13513,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,4715,$vararg_buffer); + _TraceLog(2,4747,$vararg_buffer); $$1 = $$0106; } } @@ -13522,7 +13540,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,8581,$vararg_buffer); + _TraceLog(2,8613,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -13543,20 +13561,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4128]|0; + $3 = HEAP32[4214]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4127]|0; + $5 = HEAP32[4213]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4169] = $3; - HEAP32[4170] = $5; - HEAP32[4171] = 0; - HEAP32[4172] = 0; + HEAP32[4255] = $3; + HEAP32[4256] = $5; + HEAP32[4257] = 0; + HEAP32[4258] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13566,13 +13584,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,8515,$vararg_buffer8); + _TraceLog(0,8547,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4128]|0; + $35 = HEAP32[4214]|0; $36 = (+($35|0)); - $37 = HEAP32[4127]|0; + $37 = HEAP32[4213]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13580,26 +13598,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4169] = $45; - HEAP32[4170] = $37; + HEAP32[4255] = $45; + HEAP32[4256] = $37; $46 = (($45) - ($35))|0; - HEAP32[4171] = $46; + HEAP32[4257] = $46; $$sink1 = 0; } else { - HEAP32[4169] = $35; + HEAP32[4255] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4170] = $42; - HEAP32[4171] = 0; + HEAP32[4256] = $42; + HEAP32[4257] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4172] = $$sink1; + HEAP32[4258] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4127]|0; + $7 = HEAP32[4213]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13607,13 +13625,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,8372,$vararg_buffer); + _TraceLog(2,8404,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4128]|0; + $9 = HEAP32[4214]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4127]|0; + $13 = HEAP32[4213]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13621,37 +13639,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4169] = $23; - HEAP32[4170] = $1; + HEAP32[4255] = $23; + HEAP32[4256] = $1; $24 = (($0) - ($23))|0; - HEAP32[4171] = $24; + HEAP32[4257] = $24; $$sink = 0; } else { - HEAP32[4169] = $0; - $17 = HEAP32[4127]|0; + HEAP32[4255] = $0; + $17 = HEAP32[4213]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4170] = $20; - HEAP32[4171] = 0; + HEAP32[4256] = $20; + HEAP32[4257] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4172] = $$sink; - $25 = HEAP32[4169]|0; + HEAP32[4258] = $$sink; + $25 = HEAP32[4255]|0; $26 = (+($25|0)); - $27 = HEAP32[4128]|0; + $27 = HEAP32[4214]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16600; 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)); - HEAP32[4169] = $0; - HEAP32[4170] = $1; + dest=16944; 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)); + HEAP32[4255] = $0; + HEAP32[4256] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,8450,$vararg_buffer4); + _TraceLog(2,8482,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -13669,10 +13687,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4128] = $1; - HEAP32[4127] = $2; - HEAP32[4169] = $1; - HEAP32[4170] = $2; + HEAP32[4214] = $1; + HEAP32[4213] = $2; + HEAP32[4255] = $1; + HEAP32[4256] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13699,7 +13717,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19339 + ($1)|0); + $9 = (19683 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13720,7 +13738,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19333 + ($1)|0); + $7 = (19677 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13799,7 +13817,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16208; + $15 = 16552; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13834,7 +13852,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4542] = $3; + HEAP32[4628] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13844,7 +13862,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4541] = $$sink; + HEAP32[4627] = $$sink; return; } function _rlglInit($0,$1) { @@ -13884,16 +13902,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,5013,$vararg_buffer); + _TraceLog(0,5045,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,5031,$vararg_buffer1); + _TraceLog(0,5063,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,5049,$vararg_buffer4); + _TraceLog(0,5081,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,5067,$vararg_buffer7); + _TraceLog(0,5099,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -13901,7 +13919,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,5085)|0); + $15 = (_strtok($$sink63,5117)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -13915,41 +13933,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,5087,$vararg_buffer10); + _TraceLog(0,5119,$vararg_buffer10); $20 = ($$062|0)>(1); if ($20) { $$06167 = 0; while(1) { $23 = (($vararg_buffer7) + ($$06167<<2)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,5122)|0); + $25 = (_strcmp($24,5154)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4207] = 1; - $27 = (_eglGetProcAddress((5149|0))|0); - HEAP32[4208] = $27; - $28 = (_eglGetProcAddress((5170|0))|0); - HEAP32[4209] = $28; - $29 = (_eglGetProcAddress((5191|0))|0); - HEAP32[4210] = $29; + HEAP32[4293] = 1; + $27 = (_eglGetProcAddress((5181|0))|0); + HEAP32[4294] = $27; + $28 = (_eglGetProcAddress((5202|0))|0); + HEAP32[4295] = $28; + $29 = (_eglGetProcAddress((5223|0))|0); + HEAP32[4296] = $29; } - $30 = (_strcmp($24,5215)|0); + $30 = (_strcmp($24,5247)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4149] = 1; + HEAP32[4235] = 1; } - $32 = (_strcmp($24,5235)|0); + $32 = (_strcmp($24,5267)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,5267)|0); + $35 = (_strcmp($34,5299)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,5300)|0); + $37 = (_strcmp($34,5332)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -13958,15 +13976,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4144] = 1; + HEAP32[4230] = 1; } - $39 = (_strcmp($24,5340)|0); + $39 = (_strcmp($24,5372)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,5376)|0); + $42 = (_strcmp($41,5408)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -13974,35 +13992,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4145] = 1; + HEAP32[4231] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,5409)|0); + $45 = (_strcmp($44,5441)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4146] = 1; + HEAP32[4232] = 1; } - $47 = (_strcmp($44,5434)|0); + $47 = (_strcmp($44,5466)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4147] = 1; + HEAP32[4233] = 1; } - $49 = (_strcmp($44,5467)|0); + $49 = (_strcmp($44,5499)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4148] = 1; + HEAP32[4234] = 1; } - $51 = (_strcmp($44,5503)|0); + $51 = (_strcmp($44,5535)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4211] = 1; - _glGetFloatv(34047,(16848|0)); + HEAP32[4297] = 1; + _glGetFloatv(34047,(17192|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,5537)|0); + $54 = (_strcmp($53,5569)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4213] = 1; + HEAP32[4299] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14013,77 +14031,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4207]|0; + $21 = HEAP32[4293]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,5640,$vararg_buffer15); + _TraceLog(2,5672,$vararg_buffer15); } else { - _TraceLog(0,5565,$vararg_buffer13); + _TraceLog(0,5597,$vararg_buffer13); } - $57 = HEAP32[4149]|0; + $57 = HEAP32[4235]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,5776,$vararg_buffer19); + _TraceLog(2,5808,$vararg_buffer19); } else { - _TraceLog(0,5701,$vararg_buffer17); + _TraceLog(0,5733,$vararg_buffer17); } - $59 = HEAP32[4144]|0; + $59 = HEAP32[4230]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,5868,$vararg_buffer21); + _TraceLog(0,5900,$vararg_buffer21); } - $61 = HEAP32[4145]|0; + $61 = HEAP32[4231]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,5914,$vararg_buffer23); + _TraceLog(0,5946,$vararg_buffer23); } - $63 = HEAP32[4146]|0; + $63 = HEAP32[4232]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,5961,$vararg_buffer25); + _TraceLog(0,5993,$vararg_buffer25); } - $65 = HEAP32[4147]|0; + $65 = HEAP32[4233]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,6012,$vararg_buffer27); + _TraceLog(0,6044,$vararg_buffer27); } - $67 = HEAP32[4148]|0; + $67 = HEAP32[4234]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,6059,$vararg_buffer29); + _TraceLog(0,6091,$vararg_buffer29); } - $69 = HEAP32[4211]|0; + $69 = HEAP32[4297]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4212]; + $71 = +HEAPF32[4298]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,6106,$vararg_buffer31); + _TraceLog(0,6138,$vararg_buffer31); } - $73 = HEAP32[4213]|0; + $73 = HEAP32[4299]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,6172,$vararg_buffer34); + _TraceLog(0,6204,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4214] = $75; + HEAP32[4300] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,6276,$vararg_buffer39); + _TraceLog(2,6308,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,6225,$vararg_buffer36); + _TraceLog(0,6257,$vararg_buffer36); } _LoadDefaultShader($2); - dest=16860; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=16916; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17204; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17260; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4243] = $77; + HEAP32[4329] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4243]|0; + $79 = HEAP32[4329]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14096,7 +14114,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4244] = $78; + HEAP32[4330] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14111,48 +14129,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4245] = 1; - $85 = HEAP32[4214]|0; + HEAP32[4331] = 1; + $85 = HEAP32[4300]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4246] = 4; + HEAP32[4332] = 4; _MatrixIdentity($4); - dest=16988; src=$4; 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)); + dest=17332; src=$4; 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)); _MatrixIdentity($4); - dest=(17052); src=$4; 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)); + dest=(17396); src=$4; 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)); _MatrixIdentity($4); - dest=(17116); src=$4; 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)); + dest=(17460); src=$4; 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)); _MatrixIdentity($4); - dest=(17180); src=$4; 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)); + dest=(17524); src=$4; 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)); _MatrixIdentity($4); - dest=(17244); src=$4; 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)); + dest=(17588); src=$4; 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)); _MatrixIdentity($4); - dest=(17308); src=$4; 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)); + dest=(17652); src=$4; 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)); _MatrixIdentity($4); - dest=(17372); src=$4; 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)); + dest=(17716); src=$4; 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)); _MatrixIdentity($4); - dest=(17436); src=$4; 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)); + dest=(17780); src=$4; 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)); _MatrixIdentity($4); - dest=(17500); src=$4; 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)); + dest=(17844); src=$4; 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)); _MatrixIdentity($4); - dest=(17564); src=$4; 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)); + dest=(17908); src=$4; 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)); _MatrixIdentity($4); - dest=(17628); src=$4; 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)); + dest=(17972); src=$4; 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)); _MatrixIdentity($4); - dest=(17692); src=$4; 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)); + dest=(18036); src=$4; 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)); _MatrixIdentity($4); - dest=(17756); src=$4; 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)); + dest=(18100); src=$4; 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)); _MatrixIdentity($4); - dest=(17820); src=$4; 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)); + dest=(18164); src=$4; 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)); _MatrixIdentity($4); - dest=(17884); src=$4; 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)); + dest=(18228); src=$4; 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)); _MatrixIdentity($4); - dest=(17948); src=$4; 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)); + dest=(18292); src=$4; 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)); _MatrixIdentity($5); - dest=16696; src=$5; 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)); + dest=17040; src=$5; 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)); _MatrixIdentity($6); - dest=16760; src=$6; 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)); - HEAP32[4173] = 16760; + dest=17104; src=$6; 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)); + HEAP32[4259] = 17104; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14163,21 +14181,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4503] = $0; - HEAP32[4504] = $1; - _TraceLog(0,6315,$vararg_buffer41); + HEAP32[4589] = $0; + HEAP32[4590] = $1; + _TraceLog(0,6347,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4171]|0; + $0 = HEAP32[4257]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4172]|0; + $2 = HEAP32[4258]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4169]|0; + $4 = HEAP32[4255]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4170]|0; + $6 = HEAP32[4256]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14188,12 +14206,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16696; + $modelview$sink = 17040; label = 3; break; } case 5888: { - $modelview$sink = 16760; + $modelview$sink = 17104; label = 3; break; } @@ -14201,9 +14219,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4173] = $modelview$sink; + HEAP32[4259] = $modelview$sink; } - HEAP32[4206] = $0; + HEAP32[4292] = $0; return; } function _rlLoadIdentity() { @@ -14211,7 +14229,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4173]|0; + $1 = HEAP32[4259]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14232,7 +14250,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4173]|0; + $8 = HEAP32[4259]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14291,17 +14309,17 @@ function _LoadDefaultShader($0) { $1 = sp + 16|0; $2 = sp + 513|0; $3 = sp + 72|0; - _memcpy(($2|0),(6891|0),489)|0; - _memcpy(($3|0),(7380|0),441)|0; + _memcpy(($2|0),(6923|0),489)|0; + _memcpy(($3|0),(7412|0),441)|0; $4 = (_LoadShaderProgram($2,$3)|0); HEAP32[$1>>2] = $4; $5 = ($4|0)==(0); if ($5) { HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,7869,$vararg_buffer1); + _TraceLog(2,7901,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,7821,$vararg_buffer); + _TraceLog(0,7853,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -14329,15 +14347,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18032)>>2] = $0; + HEAP32[(18376)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18040)>>2] = $1; - HEAP32[(18036)>>2] = 0; - HEAP32[(18044)>>2] = 0; + HEAP32[(18384)>>2] = $1; + HEAP32[(18380)>>2] = 0; + HEAP32[(18388)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18040)>>2]|0; + $2 = HEAP32[(18384)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14348,19 +14366,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4505] = 0; - HEAP32[(18028)>>2] = 0; - HEAP32[(18024)>>2] = 0; + HEAP32[4591] = 0; + HEAP32[(18372)>>2] = 0; + HEAP32[(18368)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18080)>>2] = $5; + HEAP32[(18424)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18088)>>2] = $6; - HEAP32[(18084)>>2] = 0; - HEAP32[(18092)>>2] = 0; + HEAP32[(18432)>>2] = $6; + HEAP32[(18428)>>2] = 0; + HEAP32[(18436)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18088)>>2]|0; + $7 = HEAP32[(18432)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14371,24 +14389,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4517] = 0; - HEAP32[(18076)>>2] = 0; - HEAP32[(18072)>>2] = 0; + HEAP32[4603] = 0; + HEAP32[(18420)>>2] = 0; + HEAP32[(18416)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18128)>>2] = $10; + HEAP32[(18472)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18132)>>2] = $11; + HEAP32[(18476)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18136)>>2] = $12; + HEAP32[(18480)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18140)>>2] = $13; - $14 = HEAP32[(18128)>>2]|0; + HEAP32[(18484)>>2] = $13; + $14 = HEAP32[(18472)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18132)>>2]|0; + $15 = HEAP32[(18476)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18136)>>2]|0; + $17 = HEAP32[(18480)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14399,7 +14417,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18140)>>2]|0; + $16 = HEAP32[(18484)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14436,140 +14454,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4529] = 0; - HEAP32[(18120)>>2] = 0; - HEAP32[(18124)>>2] = 0; - _TraceLog(0,6362,$vararg_buffer); - $20 = HEAP32[4207]|0; + HEAP32[4615] = 0; + HEAP32[(18464)>>2] = 0; + HEAP32[(18468)>>2] = 0; + _TraceLog(0,6394,$vararg_buffer); + $20 = HEAP32[4293]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4208]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18048)); - $44 = HEAP32[4209]|0; - $45 = HEAP32[(18048)>>2]|0; + $43 = HEAP32[4294]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18392)); + $44 = HEAP32[4295]|0; + $45 = HEAP32[(18392)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18052)|0)); - $46 = HEAP32[(18052)>>2]|0; + _glGenBuffers(2,((18396)|0)); + $46 = HEAP32[(18396)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18032)>>2]|0; + $47 = HEAP32[(18376)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(16920)>>2]|0; + $48 = HEAP32[(17264)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(16920)>>2]|0; + $49 = HEAP32[(17264)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18056)|0)); - $50 = HEAP32[(18056)>>2]|0; + _glGenBuffers(2,((18400)|0)); + $50 = HEAP32[(18400)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18040)>>2]|0; + $51 = HEAP32[(18384)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(16940)>>2]|0; + $52 = HEAP32[(17284)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(16940)>>2]|0; + $53 = HEAP32[(17284)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4207]|0; + $54 = HEAP32[4293]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18052)>>2]|0; - $58 = HEAP32[(18056)>>2]|0; + $57 = HEAP32[(18396)>>2]|0; + $58 = HEAP32[(18400)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,6500,$vararg_buffer3); + _TraceLog(0,6532,$vararg_buffer3); } else { - $56 = HEAP32[(18048)>>2]|0; + $56 = HEAP32[(18392)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,6435,$vararg_buffer1); + _TraceLog(0,6467,$vararg_buffer1); } - $59 = HEAP32[4207]|0; + $59 = HEAP32[4293]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4208]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18096)); - $62 = HEAP32[4209]|0; - $63 = HEAP32[(18096)>>2]|0; + $61 = HEAP32[4294]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18440)); + $62 = HEAP32[4295]|0; + $63 = HEAP32[(18440)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18100)|0)); - $64 = HEAP32[(18100)>>2]|0; + _glGenBuffers(1,((18444)|0)); + $64 = HEAP32[(18444)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18080)>>2]|0; + $65 = HEAP32[(18424)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(16920)>>2]|0; + $66 = HEAP32[(17264)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(16920)>>2]|0; + $67 = HEAP32[(17264)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18104)|0)); - $68 = HEAP32[(18104)>>2]|0; + _glGenBuffers(1,((18448)|0)); + $68 = HEAP32[(18448)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18088)>>2]|0; + $69 = HEAP32[(18432)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(16940)>>2]|0; + $70 = HEAP32[(17284)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(16940)>>2]|0; + $71 = HEAP32[(17284)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4207]|0; + $72 = HEAP32[4293]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18100)>>2]|0; - $76 = HEAP32[(18104)>>2]|0; + $75 = HEAP32[(18444)>>2]|0; + $76 = HEAP32[(18448)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,6646,$vararg_buffer10); + _TraceLog(0,6678,$vararg_buffer10); } else { - $74 = HEAP32[(18096)>>2]|0; + $74 = HEAP32[(18440)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,6577,$vararg_buffer7); + _TraceLog(0,6609,$vararg_buffer7); } - $77 = HEAP32[4207]|0; + $77 = HEAP32[4293]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4208]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18144)); - $80 = HEAP32[4209]|0; - $81 = HEAP32[(18144)>>2]|0; + $79 = HEAP32[4294]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18488)); + $80 = HEAP32[4295]|0; + $81 = HEAP32[(18488)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18148)|0)); - $82 = HEAP32[(18148)>>2]|0; + _glGenBuffers(1,((18492)|0)); + $82 = HEAP32[(18492)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18128)>>2]|0; + $83 = HEAP32[(18472)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(16920)>>2]|0; + $84 = HEAP32[(17264)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(16920)>>2]|0; + $85 = HEAP32[(17264)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18152)|0)); - $86 = HEAP32[(18152)>>2]|0; + _glGenBuffers(1,((18496)|0)); + $86 = HEAP32[(18496)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18132)>>2]|0; + $87 = HEAP32[(18476)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(16924)>>2]|0; + $88 = HEAP32[(17268)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(16924)>>2]|0; + $89 = HEAP32[(17268)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18156)|0)); - $90 = HEAP32[(18156)>>2]|0; + _glGenBuffers(1,((18500)|0)); + $90 = HEAP32[(18500)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18136)>>2]|0; + $91 = HEAP32[(18480)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(16940)>>2]|0; + $92 = HEAP32[(17284)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(16940)>>2]|0; + $93 = HEAP32[(17284)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18160)|0)); - $94 = HEAP32[(18160)>>2]|0; + _glGenBuffers(1,((18504)|0)); + $94 = HEAP32[(18504)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18140)>>2]|0; + $95 = HEAP32[(18484)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4207]|0; + $96 = HEAP32[4293]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18148)>>2]|0; - $100 = HEAP32[(18152)>>2]|0; - $101 = HEAP32[(18156)>>2]|0; - $102 = HEAP32[(18160)>>2]|0; + $99 = HEAP32[(18492)>>2]|0; + $100 = HEAP32[(18496)>>2]|0; + $101 = HEAP32[(18500)>>2]|0; + $102 = HEAP32[(18504)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14577,18 +14595,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,6792,$vararg_buffer17); + _TraceLog(0,6824,$vararg_buffer17); } else { - $98 = HEAP32[(18144)>>2]|0; + $98 = HEAP32[(18488)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,6727,$vararg_buffer14); + _TraceLog(0,6759,$vararg_buffer14); } - $103 = HEAP32[4207]|0; + $103 = HEAP32[4293]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4209]|0; + $105 = HEAP32[4295]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14625,10 +14643,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,8125,$vararg_buffer4); + _TraceLog(0,8157,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,8073,$vararg_buffer); + _TraceLog(2,8105,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -14638,7 +14656,7 @@ function _LoadShaderProgram($0,$1) { $13 = HEAP32[$vararg_buffer>>2]|0; _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,8122,$vararg_buffer1); + _TraceLog(0,8154,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -14647,10 +14665,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,8226,$vararg_buffer13); + _TraceLog(0,8258,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,8175,$vararg_buffer7); + _TraceLog(2,8207,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -14660,25 +14678,25 @@ function _LoadShaderProgram($0,$1) { $19 = HEAP32[$vararg_buffer7>>2]|0; _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,8122,$vararg_buffer10); + _TraceLog(0,8154,$vararg_buffer10); _llvm_stackrestore(($17|0)); } $20 = (_glCreateProgram()|0); _glAttachShader(($20|0),($6|0)); _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(7917|0)); - _glBindAttribLocation(($20|0),1,(7932|0)); - _glBindAttribLocation(($20|0),2,(7963|0)); - _glBindAttribLocation(($20|0),3,(7990|0)); - _glBindAttribLocation(($20|0),4,(7976|0)); - _glBindAttribLocation(($20|0),5,(7947|0)); + _glBindAttribLocation(($20|0),0,(7949|0)); + _glBindAttribLocation(($20|0),1,(7964|0)); + _glBindAttribLocation(($20|0),2,(7995|0)); + _glBindAttribLocation(($20|0),3,(8022|0)); + _glBindAttribLocation(($20|0),4,(8008|0)); + _glBindAttribLocation(($20|0),5,(7979|0)); _glLinkProgram(($20|0)); _glGetProgramiv(($20|0),35714,($4|0)); $21 = HEAP32[$4>>2]|0; $22 = ($21|0)==(0); if ($22) { HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,8278,$vararg_buffer16); + _TraceLog(2,8310,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -14688,7 +14706,7 @@ function _LoadShaderProgram($0,$1) { $26 = HEAP32[$vararg_buffer16>>2]|0; _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,8122,$vararg_buffer19); + _TraceLog(0,8154,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -14697,7 +14715,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,8324,$vararg_buffer22); + _TraceLog(0,8356,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -14712,55 +14730,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(7917|0))|0); + $2 = (_glGetAttribLocation(($1|0),(7949|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(7932|0))|0); + $5 = (_glGetAttribLocation(($4|0),(7964|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(7947|0))|0); + $8 = (_glGetAttribLocation(($7|0),(7979|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(7963|0))|0); + $11 = (_glGetAttribLocation(($10|0),(7995|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(7976|0))|0); + $14 = (_glGetAttribLocation(($13|0),(8008|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(7990|0))|0); + $17 = (_glGetAttribLocation(($16|0),(8022|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(8002|0))|0); + $20 = (_glGetUniformLocation(($19|0),(8034|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(8012|0))|0); + $23 = (_glGetUniformLocation(($22|0),(8044|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(8023|0))|0); + $26 = (_glGetUniformLocation(($25|0),(8055|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(8034|0))|0); + $29 = (_glGetUniformLocation(($28|0),(8066|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(8046|0))|0); + $32 = (_glGetUniformLocation(($31|0),(8078|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(8055|0))|0); + $35 = (_glGetUniformLocation(($34|0),(8087|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(8064|0))|0); + $38 = (_glGetUniformLocation(($37|0),(8096|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -14769,9 +14787,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19333 + ($0)|0); + $1 = (19677 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19336 + ($0)|0); + $3 = (19680 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14783,9 +14801,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19333 + ($0)|0); + $1 = (19677 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19336 + ($0)|0); + $3 = (19680 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14806,10 +14824,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4126]|0; + $0 = HEAP32[4212]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,8636,$vararg_buffer); + _TraceLog(0,8668,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -14817,9 +14835,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16544>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16544+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16544+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16544+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16544+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[16888>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16888+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16888+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16888+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16888+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16572)>>2]|0; + $0 = HEAP32[(16916)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14830,11 +14848,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(16856|0)); - $0 = HEAP32[4214]|0; + _glDeleteTextures(1,(17200|0)); + $0 = HEAP32[4300]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,8663,$vararg_buffer); - $1 = HEAP32[4244]|0; + _TraceLog(0,8695,$vararg_buffer); + $1 = HEAP32[4330]|0; _free($1); STACKTOP = sp;return; } @@ -14842,17 +14860,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4215]|0; + $0 = HEAP32[4301]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4207]|0; + $0 = HEAP32[4293]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4209]|0; + $2 = HEAP32[4295]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14861,39 +14879,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18052)|0)); - _glDeleteBuffers(1,((18056)|0)); - _glDeleteBuffers(1,((18100)|0)); - _glDeleteBuffers(1,((18104)|0)); - _glDeleteBuffers(1,((18148)|0)); - _glDeleteBuffers(1,((18152)|0)); - _glDeleteBuffers(1,((18156)|0)); - _glDeleteBuffers(1,((18160)|0)); - $3 = HEAP32[4207]|0; + _glDeleteBuffers(1,((18396)|0)); + _glDeleteBuffers(1,((18400)|0)); + _glDeleteBuffers(1,((18444)|0)); + _glDeleteBuffers(1,((18448)|0)); + _glDeleteBuffers(1,((18492)|0)); + _glDeleteBuffers(1,((18496)|0)); + _glDeleteBuffers(1,((18500)|0)); + _glDeleteBuffers(1,((18504)|0)); + $3 = HEAP32[4293]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4210]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18048)); - $6 = HEAP32[4210]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18096)); - $7 = HEAP32[4210]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18144)); + $5 = HEAP32[4296]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18392)); + $6 = HEAP32[4296]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18440)); + $7 = HEAP32[4296]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18488)); } - $8 = HEAP32[(18032)>>2]|0; + $8 = HEAP32[(18376)>>2]|0; _free($8); - $9 = HEAP32[(18040)>>2]|0; + $9 = HEAP32[(18384)>>2]|0; _free($9); - $10 = HEAP32[(18080)>>2]|0; + $10 = HEAP32[(18424)>>2]|0; _free($10); - $11 = HEAP32[(18088)>>2]|0; + $11 = HEAP32[(18432)>>2]|0; _free($11); - $12 = HEAP32[(18128)>>2]|0; + $12 = HEAP32[(18472)>>2]|0; _free($12); - $13 = HEAP32[(18132)>>2]|0; + $13 = HEAP32[(18476)>>2]|0; _free($13); - $14 = HEAP32[(18136)>>2]|0; + $14 = HEAP32[(18480)>>2]|0; _free($14); - $15 = HEAP32[(18140)>>2]|0; + $15 = HEAP32[(18484)>>2]|0; _free($15); return; } @@ -14911,7 +14929,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8728,$vararg_buffer); + _TraceLog(0,8760,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -14933,16 +14951,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2045] = $0; - $1 = +HEAPF64[2028]; + HEAPF64[2088] = $0; + $1 = +HEAPF64[2071]; $2 = $0 - $1; - HEAPF64[2046] = $2; - HEAPF64[2028] = $0; + HEAPF64[2089] = $2; + HEAPF64[2071] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16600; 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)); + dest=$downscaleView$byval_copy; src=16944; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18172); + _rlMultMatrixf(18516); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -14951,53 +14969,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[4543] = $1; + HEAP32[4629] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18176)>>2] = $3; + HEAP32[(18520)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18180)>>2] = $5; + HEAP32[(18524)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18184)>>2] = $7; + HEAP32[(18528)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18188)>>2] = $9; + HEAP32[(18532)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18192)>>2] = $11; + HEAP32[(18536)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18196)>>2] = $13; + HEAP32[(18540)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18200)>>2] = $15; + HEAP32[(18544)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18204)>>2] = $17; + HEAP32[(18548)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18208)>>2] = $19; + HEAP32[(18552)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18212)>>2] = $21; + HEAP32[(18556)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18216)>>2] = $23; + HEAP32[(18560)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18220)>>2] = $25; + HEAP32[(18564)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18224)>>2] = $27; + HEAP32[(18568)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18228)>>2] = $29; + HEAP32[(18572)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18232)>>2] = $31; - return (18172|0); + HEAP32[(18576)>>2] = $31; + return (18516|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15072,7 +15090,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4173]|0; + $49 = HEAP32[4259]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15086,15 +15104,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2045] = $0; - $1 = +HEAPF64[2028]; + HEAPF64[2088] = $0; + $1 = +HEAPF64[2071]; $2 = $0 - $1; - HEAPF64[2047] = $2; - HEAPF64[2028] = $0; - $3 = +HEAPF64[2046]; + HEAPF64[2090] = $2; + HEAPF64[2071] = $0; + $3 = +HEAPF64[2089]; $4 = $2 + $3; - HEAPF64[2048] = $4; - $5 = +HEAPF64[2025]; + HEAPF64[2091] = $4; + $5 = +HEAPF64[2068]; $6 = $4 < $5; if (!($6)) { return; @@ -15104,13 +15122,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2045] = $10; - $11 = +HEAPF64[2028]; + HEAPF64[2088] = $10; + $11 = +HEAPF64[2071]; $12 = $10 - $11; - HEAPF64[2028] = $10; - $13 = +HEAPF64[2048]; + HEAPF64[2071] = $10; + $13 = +HEAPF64[2091]; $14 = $12 + $13; - HEAPF64[2048] = $14; + HEAPF64[2091] = $14; return; } function _rlglDraw() { @@ -15123,7 +15141,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4126]|0; + $0 = HEAP32[4212]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15139,20 +15157,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[4559] = 0; - $3 = HEAP32[4126]|0; + HEAP32[4645] = 0; + $3 = HEAP32[4212]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4048] = $5; + HEAPF32[4134] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16196)>>2] = $7; - _memcpy((19851|0),(19339|0),512)|0; - ;HEAP8[19336>>0]=HEAP8[19333>>0]|0;HEAP8[19336+1>>0]=HEAP8[19333+1>>0]|0;HEAP8[19336+2>>0]=HEAP8[19333+2>>0]|0; - $8 = HEAP32[4542]|0; - HEAP32[4129] = $8; - HEAP32[4542] = 0; + HEAPF32[(16540)>>2] = $7; + _memcpy((20195|0),(19683|0),512)|0; + ;HEAP8[19680>>0]=HEAP8[19677>>0]|0;HEAP8[19680+1>>0]=HEAP8[19677+1>>0]|0;HEAP8[19680+2>>0]=HEAP8[19677+2>>0]|0; + $8 = HEAP32[4628]|0; + HEAP32[4215] = $8; + HEAP32[4628] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15162,8 +15180,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20363 + ($$05160<<5)|0); - $scevgep67 = (20491 + ($$05160<<5)|0); + $scevgep = (20707 + ($$05160<<5)|0); + $scevgep67 = (20835 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15177,7 +15195,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20491 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((20835 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15204,7 +15222,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18240 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18584 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15220,7 +15238,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4559] = $$lcssa; + HEAP32[4645] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15261,87 +15279,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4505]|0; + $0 = HEAP32[4591]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4207]|0; + $2 = HEAP32[4293]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4209]|0; - $5 = HEAP32[(18048)>>2]|0; + $4 = HEAP32[4295]|0; + $5 = HEAP32[(18392)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18052)>>2]|0; + $6 = HEAP32[(18396)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4505]|0; + $7 = HEAP32[4591]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18032)>>2]|0; + $9 = HEAP32[(18376)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18056)>>2]|0; + $10 = HEAP32[(18400)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18028)>>2]|0; + $11 = HEAP32[(18372)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18040)>>2]|0; + $13 = HEAP32[(18384)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4517]|0; + $14 = HEAP32[4603]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4207]|0; + $16 = HEAP32[4293]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4209]|0; - $19 = HEAP32[(18096)>>2]|0; + $18 = HEAP32[4295]|0; + $19 = HEAP32[(18440)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18100)>>2]|0; + $20 = HEAP32[(18444)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4517]|0; + $21 = HEAP32[4603]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18080)>>2]|0; + $23 = HEAP32[(18424)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18104)>>2]|0; + $24 = HEAP32[(18448)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18076)>>2]|0; + $25 = HEAP32[(18420)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18088)>>2]|0; + $27 = HEAP32[(18432)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4529]|0; + $28 = HEAP32[4615]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4207]|0; + $30 = HEAP32[4293]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4209]|0; - $33 = HEAP32[(18144)>>2]|0; + $32 = HEAP32[4295]|0; + $33 = HEAP32[(18488)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18148)>>2]|0; + $34 = HEAP32[(18492)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4529]|0; + $35 = HEAP32[4615]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18128)>>2]|0; + $37 = HEAP32[(18472)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18152)>>2]|0; + $38 = HEAP32[(18496)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4529]|0; + $39 = HEAP32[4615]|0; $40 = $39 << 3; - $41 = HEAP32[(18132)>>2]|0; + $41 = HEAP32[(18476)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18156)>>2]|0; + $42 = HEAP32[(18500)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4529]|0; + $43 = HEAP32[4615]|0; $44 = $43 << 2; - $45 = HEAP32[(18136)>>2]|0; + $45 = HEAP32[(18480)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4207]|0; + $46 = HEAP32[4293]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4209]|0; + $48 = HEAP32[4295]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15359,9 +15377,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16696; 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)); - dest=$1; src=16760; 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)); - $3 = HEAP32[4592]|0; + dest=$0; src=17040; 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)); + dest=$1; src=17104; 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)); + $3 = HEAP32[4678]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15371,134 +15389,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4505]|0; + $8 = HEAP32[4591]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4517]|0; + $10 = HEAP32[4603]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4529]|0; + $12 = HEAP32[4615]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4229]|0; + $14 = HEAP32[4315]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=16760; 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)); - dest=$$byval_copy2; src=16696; 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)); + dest=$modelview$byval_copy; src=17104; 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)); + dest=$$byval_copy2; src=17040; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(16944)>>2]|0; + $15 = HEAP32[(17288)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(16948)>>2]|0; + $17 = HEAP32[(17292)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(16960)>>2]|0; + $18 = HEAP32[(17304)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4505]|0; + $19 = HEAP32[4591]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4214]|0; + $21 = HEAP32[4300]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4207]|0; + $22 = HEAP32[4293]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18052)>>2]|0; + $26 = HEAP32[(18396)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(16920)>>2]|0; + $27 = HEAP32[(17264)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(16920)>>2]|0; + $28 = HEAP32[(17264)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18056)>>2]|0; + $29 = HEAP32[(18400)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(16940)>>2]|0; + $30 = HEAP32[(17284)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(16940)>>2]|0; + $31 = HEAP32[(17284)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4209]|0; - $25 = HEAP32[(18048)>>2]|0; + $24 = HEAP32[4295]|0; + $25 = HEAP32[(18392)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4505]|0; + $32 = HEAP32[4591]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4207]|0; + $33 = HEAP32[4293]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4517]|0; + $35 = HEAP32[4603]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4214]|0; + $37 = HEAP32[4300]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4207]|0; + $38 = HEAP32[4293]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18100)>>2]|0; + $42 = HEAP32[(18444)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(16920)>>2]|0; + $43 = HEAP32[(17264)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(16920)>>2]|0; + $44 = HEAP32[(17264)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18104)>>2]|0; + $45 = HEAP32[(18448)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(16940)>>2]|0; + $46 = HEAP32[(17284)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(16940)>>2]|0; + $47 = HEAP32[(17284)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4209]|0; - $41 = HEAP32[(18096)>>2]|0; + $40 = HEAP32[4295]|0; + $41 = HEAP32[(18440)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4517]|0; + $48 = HEAP32[4603]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4207]|0; + $49 = HEAP32[4293]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4529]|0; + $51 = HEAP32[4615]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4207]|0; + $53 = HEAP32[4293]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18148)>>2]|0; + $57 = HEAP32[(18492)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(16920)>>2]|0; + $58 = HEAP32[(17264)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(16920)>>2]|0; + $59 = HEAP32[(17264)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18152)>>2]|0; + $60 = HEAP32[(18496)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(16924)>>2]|0; + $61 = HEAP32[(17268)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(16924)>>2]|0; + $62 = HEAP32[(17268)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18156)>>2]|0; + $63 = HEAP32[(18500)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(16940)>>2]|0; + $64 = HEAP32[(17284)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(16940)>>2]|0; + $65 = HEAP32[(17284)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18160)>>2]|0; + $66 = HEAP32[(18504)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4209]|0; - $56 = HEAP32[(18144)>>2]|0; + $55 = HEAP32[4295]|0; + $56 = HEAP32[(18488)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4245]|0; + $67 = HEAP32[4331]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4244]|0; + $71 = HEAP32[4330]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15509,14 +15527,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4244]|0; + $80 = HEAP32[4330]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4245]|0; + $87 = HEAP32[4331]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15525,7 +15543,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4207]|0; + $69 = HEAP32[4293]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15533,10 +15551,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4207]|0; + $89 = HEAP32[4293]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4209]|0; + $91 = HEAP32[4295]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15548,22 +15566,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4245] = 1; - $5 = HEAP32[4214]|0; - $6 = HEAP32[4244]|0; + HEAP32[4331] = 1; + $5 = HEAP32[4300]|0; + $6 = HEAP32[4330]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4505] = 0; - HEAP32[(18028)>>2] = 0; - HEAP32[4517] = 0; - HEAP32[(18076)>>2] = 0; - HEAP32[4529] = 0; - HEAP32[(18120)>>2] = 0; - HEAP32[(18124)>>2] = 0; + HEAP32[4591] = 0; + HEAP32[(18372)>>2] = 0; + HEAP32[4603] = 0; + HEAP32[(18420)>>2] = 0; + HEAP32[4615] = 0; + HEAP32[(18464)>>2] = 0; + HEAP32[(18468)>>2] = 0; HEAPF32[744] = -1.0; - dest=16696; src=$0; 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)); - dest=16760; src=$1; 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)); + dest=17040; src=$0; 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)); + dest=17104; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15578,17 +15596,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[4503]|0; + $5 = HEAP32[4589]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4504]|0; + $9 = HEAP32[4590]|0; _rlViewport($7,0,$8,$9); - $10 = (18600 + ($0<<6)|0); + $10 = (18944 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18472 + ($0<<6)|0); + $11 = (18816 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -15600,14 +15618,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16760; src=$0; 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)); + dest=17104; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16696; src=$0; 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)); + dest=17040; src=$0; 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)); return; } function _rlPushMatrix() { @@ -15615,43 +15633,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4682]|0; + $0 = HEAP32[4768]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,8778,$vararg_buffer); + _TraceLog(1,8810,$vararg_buffer); } - $2 = HEAP32[4682]|0; - $3 = (16988 + ($2<<6)|0); - $4 = HEAP32[4173]|0; + $2 = HEAP32[4768]|0; + $3 = (17332 + ($2<<6)|0); + $4 = HEAP32[4259]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[4682]|0; + $5 = HEAP32[4768]|0; $6 = (($5) + 1)|0; - HEAP32[4682] = $6; - $7 = HEAP32[4206]|0; + HEAP32[4768] = $6; + $7 = HEAP32[4292]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4683] = 1; + HEAP32[4769] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4682]|0; + $0 = HEAP32[4768]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4682]|0; + $2 = HEAP32[4768]|0; $3 = (($2) + -1)|0; - $4 = (16988 + ($3<<6)|0); - $5 = HEAP32[4173]|0; + $4 = (17332 + ($3<<6)|0); + $5 = HEAP32[4259]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4682] = $6; + HEAP32[4768] = $6; return; } function _IsFileExtension($0,$1) { @@ -15684,7 +15702,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4173]|0; + $5 = HEAP32[4259]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15717,7 +15735,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4173]|0; + $11 = HEAP32[4259]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15728,7 +15746,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4246] = $0; + HEAP32[4332] = $0; return; } function _rlEnd() { @@ -15744,21 +15762,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4683]|0; + $0 = HEAP32[4769]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4684]|0; + $2 = HEAP32[4770]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4243]|0; + $6 = HEAP32[4329]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4173]|0; + $8 = HEAP32[4259]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4684]|0; + $5 = HEAP32[4770]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15766,12 +15784,12 @@ function _rlEnd() { break; } } - HEAP32[4683] = 0; + HEAP32[4769] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4243]|0; + $11 = HEAP32[4329]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15780,7 +15798,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4684]|0; + $19 = HEAP32[4770]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15790,15 +15808,15 @@ function _rlEnd() { } } } else { - HEAP32[4683] = 0; + HEAP32[4769] = 0; } - HEAP32[4684] = 0; + HEAP32[4770] = 0; } - $21 = HEAP32[4246]|0; + $21 = HEAP32[4332]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4505]|0; - $23 = HEAP32[(18028)>>2]|0; + $22 = HEAP32[4591]|0; + $23 = HEAP32[(18372)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15817,16 +15835,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18040)>>2]|0; - $28 = HEAP32[(18028)>>2]|0; + $27 = HEAP32[(18384)>>2]|0; + $28 = HEAP32[(18372)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18040)>>2]|0; - $35 = HEAP32[(18028)>>2]|0; + $34 = HEAP32[(18384)>>2]|0; + $35 = HEAP32[(18372)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15834,8 +15852,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18040)>>2]|0; - $43 = HEAP32[(18028)>>2]|0; + $42 = HEAP32[(18384)>>2]|0; + $43 = HEAP32[(18372)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15843,8 +15861,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18040)>>2]|0; - $51 = HEAP32[(18028)>>2]|0; + $50 = HEAP32[(18384)>>2]|0; + $51 = HEAP32[(18372)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15852,9 +15870,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18028)>>2]|0; + $58 = HEAP32[(18372)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18028)>>2] = $59; + HEAP32[(18372)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15870,8 +15888,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4517]|0; - $62 = HEAP32[(18076)>>2]|0; + $61 = HEAP32[4603]|0; + $62 = HEAP32[(18420)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15890,16 +15908,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18088)>>2]|0; - $67 = HEAP32[(18076)>>2]|0; + $66 = HEAP32[(18432)>>2]|0; + $67 = HEAP32[(18420)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18088)>>2]|0; - $74 = HEAP32[(18076)>>2]|0; + $73 = HEAP32[(18432)>>2]|0; + $74 = HEAP32[(18420)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15907,8 +15925,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18088)>>2]|0; - $82 = HEAP32[(18076)>>2]|0; + $81 = HEAP32[(18432)>>2]|0; + $82 = HEAP32[(18420)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15916,8 +15934,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18088)>>2]|0; - $90 = HEAP32[(18076)>>2]|0; + $89 = HEAP32[(18432)>>2]|0; + $90 = HEAP32[(18420)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15925,9 +15943,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18076)>>2]|0; + $97 = HEAP32[(18420)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18076)>>2] = $98; + HEAP32[(18420)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -15943,8 +15961,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4529]|0; - $101 = HEAP32[(18124)>>2]|0; + $100 = HEAP32[4615]|0; + $101 = HEAP32[(18468)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -15952,16 +15970,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18136)>>2]|0; - $106 = HEAP32[(18124)>>2]|0; + $105 = HEAP32[(18480)>>2]|0; + $106 = HEAP32[(18468)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18136)>>2]|0; - $113 = HEAP32[(18124)>>2]|0; + $112 = HEAP32[(18480)>>2]|0; + $113 = HEAP32[(18468)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -15969,8 +15987,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18136)>>2]|0; - $121 = HEAP32[(18124)>>2]|0; + $120 = HEAP32[(18480)>>2]|0; + $121 = HEAP32[(18468)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -15978,8 +15996,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18136)>>2]|0; - $129 = HEAP32[(18124)>>2]|0; + $128 = HEAP32[(18480)>>2]|0; + $129 = HEAP32[(18468)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -15987,9 +16005,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18124)>>2]|0; + $136 = HEAP32[(18468)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18124)>>2] = $137; + HEAP32[(18468)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16000,8 +16018,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4529]|0; - $140 = HEAP32[(18120)>>2]|0; + $139 = HEAP32[4615]|0; + $140 = HEAP32[(18464)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16009,8 +16027,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18132)>>2]|0; - $$promoted = HEAP32[(18120)>>2]|0; + $142 = HEAP32[(18476)>>2]|0; + $$promoted = HEAP32[(18464)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16018,7 +16036,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18120)>>2] = $147; + HEAP32[(18464)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16045,11 +16063,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4683]|0; + $3 = HEAP32[4769]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4243]|0; - $6 = HEAP32[4684]|0; + $5 = HEAP32[4329]|0; + $6 = HEAP32[4770]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16057,16 +16075,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4684] = $10; + HEAP32[4770] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4246]|0; + $11 = HEAP32[4332]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4505]|0; + $12 = HEAP32[4591]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18032)>>2]|0; + $14 = HEAP32[(18376)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16077,19 +16095,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4505] = $21; + HEAP32[4591] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,8816,$vararg_buffer); + _TraceLog(1,8848,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[4517]|0; + $22 = HEAP32[4603]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18080)>>2]|0; + $24 = HEAP32[(18424)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16100,19 +16118,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4517] = $31; + HEAP32[4603] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,8841,$vararg_buffer1); + _TraceLog(1,8873,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[4529]|0; + $32 = HEAP32[4615]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18128)>>2]|0; + $34 = HEAP32[(18472)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16123,9 +16141,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4529] = $41; - $42 = HEAP32[4244]|0; - $43 = HEAP32[4245]|0; + HEAP32[4615] = $41; + $42 = HEAP32[4330]|0; + $43 = HEAP32[4331]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16133,7 +16151,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,8870,$vararg_buffer3); + _TraceLog(1,8902,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -16168,13 +16186,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4246]|0; + $2 = HEAP32[4332]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18132)>>2]|0; - $5 = HEAP32[(18120)>>2]|0; + $4 = HEAP32[(18476)>>2]|0; + $5 = HEAP32[(18464)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16182,7 +16200,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18120)>>2] = $10; + HEAP32[(18464)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16201,18 +16219,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4246]|0; + $4 = HEAP32[4332]|0; switch ($4|0) { case 1: { - $$sink37 = (18028);$$sink38 = (18040); + $$sink37 = (18372);$$sink38 = (18384); break; } case 4: { - $$sink37 = (18076);$$sink38 = (18088); + $$sink37 = (18420);$$sink38 = (18432); break; } case 7: { - $$sink37 = (18124);$$sink38 = (18136); + $$sink37 = (18468);$$sink38 = (18480); break; } default: { @@ -16251,8 +16269,8 @@ function _rlEnableTexture($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 = HEAP32[4244]|0; - $2 = HEAP32[4245]|0; + $1 = HEAP32[4330]|0; + $2 = HEAP32[4331]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16265,9 +16283,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4245] = $10; + HEAP32[4331] = $10; } - $11 = HEAP32[4245]|0; + $11 = HEAP32[4331]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16278,7 +16296,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4529]|0; + $0 = HEAP32[4615]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16308,40 +16326,11 @@ function _DrawLine($0,$1,$2,$3,$4) { _rlEnd(); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(8895); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10228)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4685] = $0; + HEAP32[4771] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16405,7 +16394,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((8907|0),(8933|0),1125,(8956|0)); + ___assert_fail((8927|0),(8953|0),1041,(8976|0)); // unreachable; } } @@ -16423,7 +16412,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4686]|0; + $15 = HEAP32[4772]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16516,7 +16505,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(8997); + _stbi__err(9017); $$0 = 0; return ($$0|0); } else { @@ -16538,7 +16527,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(8988); + _stbi__err(9008); $$0 = 0; return ($$0|0); } @@ -16608,7 +16597,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9016); + _stbi__err(9036); $$045 = 0; return ($$045|0); } @@ -17169,7 +17158,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9332 + ($120)|0); + $121 = (9352 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17211,97 +17200,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9106); + _stbi__err(9126); $$6$ph = 0; break; } case 9: { - _stbi__err(9120); + _stbi__err(9140); $$6$ph = 0; break; } case 11: { - _stbi__err(9133); + _stbi__err(9153); $$6$ph = 0; break; } case 13: { - _stbi__err(9133); + _stbi__err(9153); $$6$ph = 0; break; } case 15: { - _stbi__err(9143); + _stbi__err(9163); $$6$ph = 0; break; } case 17: { - _stbi__err(9163); + _stbi__err(9183); $$6$ph = 0; break; } case 20: { - _stbi__err(9163); + _stbi__err(9183); $$6$ph = 0; break; } case 22: { - _stbi__err(9163); + _stbi__err(9183); $$6$ph = 0; break; } case 24: { - _stbi__err(9173); + _stbi__err(9193); $$6$ph = 0; break; } case 26: { - _stbi__err(9189); + _stbi__err(9209); $$6$ph = 0; break; } case 28: { - _stbi__err(9207); + _stbi__err(9227); $$6$ph = 0; break; } case 31: { - _stbi__err(9228); + _stbi__err(9248); $$6$ph = 0; break; } case 34: { - _stbi__err(9133); + _stbi__err(9153); $$6$ph = 0; break; } case 37: { - _stbi__err(9133); + _stbi__err(9153); $$6$ph = 0; break; } case 39: { - _stbi__err(9242); + _stbi__err(9262); $$6$ph = 0; break; } case 41: { - _stbi__err(9257); + _stbi__err(9277); $$6$ph = 0; break; } case 44: { - _stbi__err(9257); + _stbi__err(9277); $$6$ph = 0; break; } case 47: { - _stbi__err(9242); + _stbi__err(9262); $$6$ph = 0; break; } case 49: { - _stbi__err(9270); + _stbi__err(9290); $$6$ph = 0; break; } @@ -17312,32 +17301,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9286); + _stbi__err(9306); $$6$ph = 0; break; } case 58: { - _stbi__err(9303); + _stbi__err(9323); $$6$ph = 0; break; } case 61: { - _stbi__err(9316); + _stbi__err(9336); $$6$ph = 0; break; } case 63: { - _stbi__err(9303); + _stbi__err(9323); $$6$ph = 0; break; } case 70: { - _stbi__err(9242); + _stbi__err(9262); $$6$ph = 0; break; } case 72: { - _stbi__err(9341); + _stbi__err(9361); $$6$ph = 0; break; } @@ -17349,12 +17338,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(8988); + _stbi__err(9008); $$6$ph = 0; break; } case 83: { - _stbi__err(9349); + _stbi__err(9369); $$6$ph = 0; break; } @@ -17367,7 +17356,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9359); + _stbi__err(9379); $$4 = 0; break; } @@ -17432,7 +17421,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4687]|0; + $193 = HEAP32[4773]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17465,7 +17454,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9242); + _stbi__err(9262); $$4 = 0; } } while(0); @@ -17473,24 +17462,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9242); + _stbi__err(9262); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9367] = $206; + HEAP8[9387] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9368)>>0] = $209; + HEAP8[(9388)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9369)>>0] = $211; + HEAP8[(9389)>>0] = $211; $212 = $207&255; - HEAP8[(9370)>>0] = $212; - _stbi__err(9367); + HEAP8[(9390)>>0] = $212; + _stbi__err(9387); $$6$ph = 0; break; } @@ -17524,14 +17513,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9029|0),(8933|0),1561,(9085|0)); + ___assert_fail((9049|0),(8953|0),1477,(9105|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(8988); + _stbi__err(9008); $$0163 = 0; return ($$0163|0); } @@ -17894,7 +17883,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9083|0),(8933|0),1590,(9085|0)); + ___assert_fail((9103|0),(8953|0),1506,(9105|0)); // unreachable; } } while(0); @@ -17928,7 +17917,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9029|0),(8933|0),1610,(9060|0)); + ___assert_fail((9049|0),(8953|0),1526,(9080|0)); // unreachable; } $7 = $2 << 1; @@ -17938,7 +17927,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(8988); + _stbi__err(9008); $$0163 = 0; return ($$0163|0); } @@ -18301,7 +18290,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9083|0),(8933|0),1639,(9060|0)); + ___assert_fail((9103|0),(8953|0),1555,(9080|0)); // unreachable; } } while(0); @@ -18449,7 +18438,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10024); + _stbi__err(10364); $$05 = 0; return ($$05|0); } @@ -18886,7 +18875,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9426|0),(8933|0),4568,(9478|0)); + ___assert_fail((9446|0),(8953|0),4569,(9498|0)); // unreachable; } } @@ -18973,7 +18962,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9426|0),(8933|0),4543,(9451|0)); + ___assert_fail((9446|0),(8953|0),4544,(9471|0)); // unreachable; } } @@ -19020,7 +19009,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4688]|0; + $16 = HEAP32[4774]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19095,7 +19084,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9392|0),(8933|0),4649,(9410|0)); + ___assert_fail((9412|0),(8953|0),4650,(9430|0)); // unreachable; } } @@ -19118,7 +19107,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(8988); + _stbi__err(9008); $$0 = 0; return ($$0|0); } @@ -19295,7 +19284,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9507|0),(8933|0),4294,(9548|0)); + ___assert_fail((9527|0),(8953|0),4294,(9568|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19303,7 +19292,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(8988); + _stbi__err(9008); $$2 = 0; return ($$2|0); } @@ -19322,7 +19311,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9575); + _stbi__err(9595); $$2 = 0; return ($$2|0); } @@ -19335,7 +19324,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9575); + _stbi__err(9595); $$2 = 0; return ($$2|0); } @@ -19343,12 +19332,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19371,33 +19360,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9614 + ($56)|0); + $60 = (9634 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19407,24 +19396,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19434,10 +19423,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19448,10 +19437,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19462,14 +19451,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19499,7 +19488,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19514,12 +19503,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20096,15 +20085,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9593|0),(8933|0),4315,(9548|0)); + ___assert_fail((9613|0),(8953|0),4315,(9568|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9619|0),(8933|0),4376,(9548|0)); + ___assert_fail((9639|0),(8953|0),4377,(9568|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9636); + _stbi__err(9656); $$2 = 0; return ($$2|0); } @@ -20154,7 +20143,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9332 + ($6)|0); + $336 = (9352 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20595,7 +20584,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9651|0),(8933|0),4465,(9548|0)); + ___assert_fail((9671|0),(8953|0),4466,(9568|0)); // unreachable; } else if ((label|0) == 151) { @@ -20655,8 +20644,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20671,15 +20660,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20688,65 +20677,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20650)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9682,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,20651,288)|0); + $15 = (_stbi__zbuild_huffman($8,9970,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,20619,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20765,14 +20749,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(9977); + _stbi__err(10317); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(9993); + _stbi__err(10333); $$0 = 0; return ($$0|0); } @@ -20781,7 +20765,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10008); + _stbi__err(10348); $$0 = 0; return ($$0|0); } @@ -20864,7 +20848,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((9899|0),(8933|0),4048,(9916|0)); + ___assert_fail((10239|0),(8953|0),4033,(10256|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -20901,7 +20885,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(9947); + _stbi__err(10287); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20911,7 +20895,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(9960); + _stbi__err(10300); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20941,21 +20925,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20651|0),8,144)|0; - dest=(20795); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(20907); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (20931); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20619; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21089,7 +21058,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(9837); + _stbi__err(10177); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21178,7 +21147,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(9889); + _stbi__err(10229); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21207,7 +21176,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10683 + ($$06579)|0); + $14 = (11023 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21298,21 +21267,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(9837); + _stbi__err(10177); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(9837); + _stbi__err(10177); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((9853|0),(8933|0),4021,(9861|0)); + ___assert_fail((10193|0),(8953|0),4006,(10201|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(9837); + _stbi__err(10177); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21322,7 +21291,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(9837); + _stbi__err(10177); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21486,7 +21455,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9662); + _stbi__err(10002); $$3$ph = 0; return ($$3$ph|0); } @@ -21496,12 +21465,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9662); + _stbi__err(10002); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9679); + _stbi__err(10019); $$3$ph = 0; return ($$3$ph|0); } @@ -21558,7 +21527,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9688); + _stbi__err(10028); $$0 = 0; return ($$0|0); } @@ -21584,7 +21553,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(8988); + _stbi__err(9008); $$0 = 0; return ($$0|0); } else { @@ -21629,7 +21598,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((9784|0),(8933|0),3863,(9821|0)); + ___assert_fail((10124|0),(8953|0),3848,(10161|0)); // unreachable; } else if ((label|0) == 5) { @@ -21677,7 +21646,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9708|0),(8933|0),3891,(9724|0)); + ___assert_fail((10048|0),(8953|0),3876,(10064|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21705,7 +21674,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((9755|0),(8933|0),3781,(9766|0)); + ___assert_fail((10095|0),(8953|0),3766,(10106|0)); // unreachable; } return (0)|0; @@ -21851,10 +21820,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -21865,27 +21834,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10036)|0); + $6 = (_IsFileExtension($1,10376)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10089)|0); + $19 = (_IsFileExtension($1,10429)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10094,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10434,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10568)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -21913,7 +21883,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -21930,18 +21900,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10042,$vararg_buffer); + _TraceLog(2,10382,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -21950,34 +21920,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10130,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,10470,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10169,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10509,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -21996,11 +21973,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10228)|0); + $4 = (_fopen($0,10568)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10231,$vararg_buffer); + _TraceLog(2,10571,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22099,7 +22076,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10328,$vararg_buffer4); + _TraceLog(0,10668,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22134,14 +22111,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10374,$vararg_buffer8); + _TraceLog(2,10714,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10282,$vararg_buffer1); + _TraceLog(2,10622,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22231,7 +22208,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10200,$vararg_buffer); + _TraceLog(2,10540,$vararg_buffer); $$0 = $6; } } @@ -22276,27 +22253,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10424,$vararg_buffer); + _TraceLog(2,10764,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10463,$vararg_buffer1); + _TraceLog(2,10803,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10489,$vararg_buffer3); + _TraceLog(2,10829,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10552,$vararg_buffer5); + _TraceLog(2,10892,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10587,$vararg_buffer7); + _TraceLog(2,10927,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10622,$vararg_buffer10); + _TraceLog(0,10962,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23479,7 +23456,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10679 + ($$361133)|0); + $199 = (11019 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -23909,7 +23886,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10679 + ($$331130)|0); + $186 = (11019 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -23947,7 +23924,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10679 + ($$371134)|0); + $203 = (11019 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -23986,7 +23963,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10683 + ($$421139)|0); + $235 = (11023 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24393,7 +24370,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10702 + ($495)|0); + $496 = (11042 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24430,7 +24407,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10706 + ($515)|0); + $516 = (11046 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25342,7 +25319,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,10710,$vararg_buffer); + _TraceLog(2,11050,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -25359,6 +25336,53 @@ function _LoadTexture($0,$1) { ;HEAP32[$$sroa$5$0$$sroa_idx5>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+8>>2]=HEAP32[$$sroa$5+8>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+12>>2]=HEAP32[$$sroa$5+12>>2]|0; STACKTOP = sp;return; } +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[16888>>2]|0;HEAP32[$0+4>>2]=HEAP32[16888+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16888+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16888+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16888+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16888+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16888+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16888+28>>2]|0; + return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 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; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} function _DrawTexturePro($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; @@ -25493,6 +25517,203 @@ function _DrawTexturePro($0,$1,$2,$3,$4,$5) { _rlDisableTexture(); return; } +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.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.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} function _emscripten_GetProcAddress($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; @@ -25539,7 +25760,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,10739)|0); + $12 = (_strstr($11,11079)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -25548,7 +25769,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,10743)|0); + $17 = (_strstr($16,11083)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -25557,7 +25778,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,10747)|0); + $22 = (_strstr($21,11087)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -25566,7 +25787,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,10751)|0); + $27 = (_strstr($26,11091)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -25575,1210 +25796,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,10757)|0); + $32 = (_strcmp($31,11097)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,10795)|0); + $35 = (_strcmp($34,11135)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 10814; + HEAP32[$3>>2] = 11154; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,10827)|0); + $38 = (_strcmp($37,11167)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 10848; + HEAP32[$3>>2] = 11188; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,10863)|0); + $41 = (_strcmp($40,11203)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 10878; + HEAP32[$3>>2] = 11218; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,10893)|0); + $44 = (_strcmp($43,11233)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 10908; + HEAP32[$3>>2] = 11248; } } else { - HEAP32[$3>>2] = 10779; + HEAP32[$3>>2] = 11119; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,10923)|0); + $47 = (_strcmp($46,11263)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,10937)|0); + $50 = (_strcmp($49,11277)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,10949)|0); + $53 = (_strcmp($52,11289)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,10963)|0); + $56 = (_strcmp($55,11303)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,10975)|0); + $59 = (_strcmp($58,11315)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,10989)|0); + $62 = (_strcmp($61,11329)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11003)|0); + $65 = (_strcmp($64,11343)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11020)|0); + $68 = (_strcmp($67,11360)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11043)|0); + $71 = (_strcmp($70,11383)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11069)|0); + $74 = (_strcmp($73,11409)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11082)|0); + $77 = (_strcmp($76,11422)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11098)|0); + $80 = (_strcmp($79,11438)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11111)|0); + $83 = (_strcmp($82,11451)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11125)|0); + $86 = (_strcmp($85,11465)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11145)|0); + $89 = (_strcmp($88,11485)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11165)|0); + $92 = (_strcmp($91,11505)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11182)|0); + $95 = (_strcmp($94,11522)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11199)|0); + $98 = (_strcmp($97,11539)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11211)|0); + $101 = (_strcmp($100,11551)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11224)|0); + $104 = (_strcmp($103,11564)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11240)|0); + $107 = (_strcmp($106,11580)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11263)|0); + $110 = (_strcmp($109,11603)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11276)|0); + $113 = (_strcmp($112,11616)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11292)|0); + $116 = (_strcmp($115,11632)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11303)|0); + $119 = (_strcmp($118,11643)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11322)|0); + $122 = (_strcmp($121,11662)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11344)|0); + $125 = (_strcmp($124,11684)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11363)|0); + $128 = (_strcmp($127,11703)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11392)|0); + $131 = (_strcmp($130,11732)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11409)|0); + $134 = (_strcmp($133,11749)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11424)|0); + $137 = (_strcmp($136,11764)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11439)|0); + $140 = (_strcmp($139,11779)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11460)|0); + $143 = (_strcmp($142,11800)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11480)|0); + $146 = (_strcmp($145,11820)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11500)|0); + $149 = (_strcmp($148,11840)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11526)|0); + $152 = (_strcmp($151,11866)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11545)|0); + $155 = (_strcmp($154,11885)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11557)|0); + $158 = (_strcmp($157,11897)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11569)|0); + $161 = (_strcmp($160,11909)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11581)|0); + $164 = (_strcmp($163,11921)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11593)|0); + $167 = (_strcmp($166,11933)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11605)|0); + $170 = (_strcmp($169,11945)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11617)|0); + $173 = (_strcmp($172,11957)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11629)|0); + $176 = (_strcmp($175,11969)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11641)|0); + $179 = (_strcmp($178,11981)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11654)|0); + $182 = (_strcmp($181,11994)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11667)|0); + $185 = (_strcmp($184,12007)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11680)|0); + $188 = (_strcmp($187,12020)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11693)|0); + $191 = (_strcmp($190,12033)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11706)|0); + $194 = (_strcmp($193,12046)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11719)|0); + $197 = (_strcmp($196,12059)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,11732)|0); + $200 = (_strcmp($199,12072)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,11745)|0); + $203 = (_strcmp($202,12085)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,11764)|0); + $206 = (_strcmp($205,12104)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,11783)|0); + $209 = (_strcmp($208,12123)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,11802)|0); + $212 = (_strcmp($211,12142)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,11815)|0); + $215 = (_strcmp($214,12155)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,11833)|0); + $218 = (_strcmp($217,12173)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,11851)|0); + $221 = (_strcmp($220,12191)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,11869)|0); + $224 = (_strcmp($223,12209)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,11887)|0); + $227 = (_strcmp($226,12227)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,11907)|0); + $230 = (_strcmp($229,12247)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,10848)|0); + $233 = (_strcmp($232,11188)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,11925)|0); + $236 = (_strcmp($235,12265)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,11940)|0); + $239 = (_strcmp($238,12280)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,11961)|0); + $242 = (_strcmp($241,12301)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,11976)|0); + $245 = (_strcmp($244,12316)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,11994)|0); + $248 = (_strcmp($247,12334)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12010)|0); + $251 = (_strcmp($250,12350)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12029)|0); + $254 = (_strcmp($253,12369)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12043)|0); + $257 = (_strcmp($256,12383)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12058)|0); + $260 = (_strcmp($259,12398)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,10779)|0); + $263 = (_strcmp($262,11119)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12069)|0); + $266 = (_strcmp($265,12409)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,10878)|0); + $269 = (_strcmp($268,11218)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,10908)|0); + $272 = (_strcmp($271,11248)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12085)|0); + $275 = (_strcmp($274,12425)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12112)|0); + $278 = (_strcmp($277,12452)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12126)|0); + $281 = (_strcmp($280,12466)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,10814)|0); + $284 = (_strcmp($283,11154)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12146)|0); + $287 = (_strcmp($286,12486)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12164)|0); + $290 = (_strcmp($289,12504)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12176)|0); + $293 = (_strcmp($292,12516)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12197)|0); + $296 = (_strcmp($295,12537)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12215)|0); + $299 = (_strcmp($298,12555)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12233)|0); + $302 = (_strcmp($301,12573)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12254)|0); + $305 = (_strcmp($304,12594)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12280)|0); + $308 = (_strcmp($307,12620)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12303)|0); + $311 = (_strcmp($310,12643)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12341)|0); + $314 = (_strcmp($313,12681)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12357)|0); + $317 = (_strcmp($316,12697)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12372)|0); + $320 = (_strcmp($319,12712)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12395)|0); + $323 = (_strcmp($322,12735)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12408)|0); + $326 = (_strcmp($325,12748)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12422)|0); + $329 = (_strcmp($328,12762)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12436)|0); + $332 = (_strcmp($331,12776)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12456)|0); + $335 = (_strcmp($334,12796)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12476)|0); + $338 = (_strcmp($337,12816)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12492)|0); + $341 = (_strcmp($340,12832)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12510)|0); + $344 = (_strcmp($343,12850)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12526)|0); + $347 = (_strcmp($346,12866)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12541)|0); + $350 = (_strcmp($349,12881)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12563)|0); + $353 = (_strcmp($352,12903)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12581)|0); + $356 = (_strcmp($355,12921)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12602)|0); + $359 = (_strcmp($358,12942)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12620)|0); + $362 = (_strcmp($361,12960)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12633)|0); + $365 = (_strcmp($364,12973)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12648)|0); + $368 = (_strcmp($367,12988)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12662)|0); + $371 = (_strcmp($370,13002)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12672)|0); + $374 = (_strcmp($373,13012)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12682)|0); + $377 = (_strcmp($376,13022)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12704)|0); + $380 = (_strcmp($379,13044)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,12730)|0); + $383 = (_strcmp($382,13070)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,12757)|0); + $386 = (_strcmp($385,13097)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,12770)|0); + $389 = (_strcmp($388,13110)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,12785)|0); + $392 = (_strcmp($391,13125)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,12800)|0); + $395 = (_strcmp($394,13140)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,12824)|0); + $398 = (_strcmp($397,13164)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,12835)|0); + $401 = (_strcmp($400,13175)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,12857)|0); + $404 = (_strcmp($403,13197)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,12879)|0); + $407 = (_strcmp($406,13219)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,12903)|0); + $410 = (_strcmp($409,13243)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,12912)|0); + $413 = (_strcmp($412,13252)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,12920)|0); + $416 = (_strcmp($415,13260)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,12933)|0); + $419 = (_strcmp($418,13273)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,12947)|0); + $422 = (_strcmp($421,13287)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,12959)|0); + $425 = (_strcmp($424,13299)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,12968)|0); + $428 = (_strcmp($427,13308)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,12978)|0); + $431 = (_strcmp($430,13318)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,12990)|0); + $434 = (_strcmp($433,13330)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13001)|0); + $437 = (_strcmp($436,13341)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13009)|0); + $440 = (_strcmp($439,13349)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13021)|0); + $443 = (_strcmp($442,13361)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13036)|0); + $446 = (_strcmp($445,13376)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13048)|0); + $449 = (_strcmp($448,13388)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13062)|0); + $452 = (_strcmp($451,13402)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13087)|0); + $455 = (_strcmp($454,13427)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13104)|0); + $458 = (_strcmp($457,13444)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13120)|0); + $461 = (_strcmp($460,13460)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13136)|0); + $464 = (_strcmp($463,13476)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13148)|0); + $467 = (_strcmp($466,13488)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13160)|0); + $470 = (_strcmp($469,13500)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13184)|0); + $473 = (_strcmp($472,13524)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13197)|0); + $476 = (_strcmp($475,13537)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13211)|0); + $479 = (_strcmp($478,13551)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13233)|0); + $482 = (_strcmp($481,13573)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13240)|0); + $485 = (_strcmp($484,13580)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13256)|0); + $488 = (_strcmp($487,13596)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13273)|0); + $491 = (_strcmp($490,13613)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13290)|0); + $494 = (_strcmp($493,13630)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13306)|0); + $497 = (_strcmp($496,13646)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13322)|0); + $500 = (_strcmp($499,13662)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13339)|0); + $503 = (_strcmp($502,13679)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13353)|0); + $506 = (_strcmp($505,13693)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13365)|0); + $509 = (_strcmp($508,13705)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13376)|0); + $512 = (_strcmp($511,13716)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13389)|0); + $515 = (_strcmp($514,13729)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13399)|0); + $518 = (_strcmp($517,13739)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13416)|0); + $521 = (_strcmp($520,13756)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13428)|0); + $524 = (_strcmp($523,13768)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13450)|0); + $527 = (_strcmp($526,13790)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13470)|0); + $530 = (_strcmp($529,13810)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13483)|0); + $533 = (_strcmp($532,13823)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13505)|0); + $536 = (_strcmp($535,13845)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13525)|0); + $539 = (_strcmp($538,13865)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13542)|0); + $542 = (_strcmp($541,13882)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13559)|0); + $545 = (_strcmp($544,13899)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13579)|0); + $548 = (_strcmp($547,13919)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -26800,7 +27021,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (18756|0); + return (19100|0); } function ___stdio_close($0) { $0 = $0|0; @@ -27664,7 +27885,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13695 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14035 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -27842,7 +28063,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14159;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14499;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -27863,7 +28084,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14159;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14499;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -27871,8 +28092,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14159 : (14161); - $$$ = $238 ? $$ : (14160); + $$ = $240 ? 14499 : (14501); + $$$ = $238 ? $$ : (14500); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -27889,7 +28110,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14159;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14499;$242 = $167;$243 = $170; label = 66; break; } @@ -27902,7 +28123,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14159;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14499;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -27916,7 +28137,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14169; + $271 = $270 ? $269 : 14509; $$1 = $271; label = 71; break; @@ -27956,7 +28177,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14159;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14499;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -27978,8 +28199,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14159 + ($208)|0); - $$289 = $or$cond283 ? 14159 : $209; + $209 = (14499 + ($208)|0); + $$289 = $or$cond283 ? 14499 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -28000,7 +28221,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14159;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14499;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -28530,7 +28751,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14211 + ($7)|0); + $9 = (14551 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -28888,14 +29109,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14176; + $$0471 = $14;$$0520 = 1;$$0521 = 14516; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14177) : (14182); - $$$ = $16 ? $$ : (14179); + $$ = $18 ? (14517) : (14522); + $$$ = $16 ? $$ : (14519); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -28994,7 +29215,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14211 + ($80)|0); + $81 = (14551 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -29605,7 +29826,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14227,1); + _out($0,14567,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -29686,7 +29907,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14227,1); + _out($0,14567,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -29743,9 +29964,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14195 : 14199; + $29 = $28 ? 14535 : 14539; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14203 : 14207; + $31 = $28 ? 14543 : 14547; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -29955,7 +30176,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14229 + ($$016)|0); + $3 = (14569 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -29966,7 +30187,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14317;$$115 = 87; + $$01214 = 14657;$$115 = 87; label = 5; break; } else { @@ -29976,9 +30197,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14317; + $$012$lcssa = 14657; } else { - $$01214 = 14317;$$115 = $$016; + $$01214 = 14657;$$115 = $$016; label = 5; } } @@ -30641,7 +30862,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16121,$3,4)|0); + $memchr = (_memchr(16461,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -30730,7 +30951,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16121,$4,4)|0); + $memchr = (_memchr(16461,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -30821,7 +31042,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(18760)>>2]|0; + $38 = HEAP32[(19104)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -30854,13 +31075,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((18820|0)); - return (18828|0); + ___lock((19164|0)); + return (19172|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((18820|0)); + ___unlock((19164|0)); return; } function _fclose($0) { @@ -31924,7 +32145,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16392; + $2 = 16736; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -32141,7 +32362,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4708]|0; + $3 = HEAP32[4794]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -32160,22 +32381,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4708] = 0; + HEAP32[4794] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4708] = $10; + HEAP32[4794] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4708] = 0; + HEAP32[4794] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4708] = $13; + HEAP32[4794] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -32256,7 +32477,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4709]|0; + $8 = HEAP32[4795]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -32265,7 +32486,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (18876 + ($15<<2)|0); + $16 = (19220 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -32276,9 +32497,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4709] = $24; + HEAP32[4795] = $24; } else { - $25 = HEAP32[(18852)>>2]|0; + $25 = HEAP32[(19196)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -32309,7 +32530,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(18844)>>2]|0; + $37 = HEAP32[(19188)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -32343,7 +32564,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (18876 + ($68<<2)|0); + $69 = (19220 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -32354,10 +32575,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4709] = $77; + HEAP32[4795] = $77; $98 = $77; } else { - $78 = HEAP32[(18852)>>2]|0; + $78 = HEAP32[(19196)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -32390,22 +32611,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(18856)>>2]|0; + $92 = HEAP32[(19200)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (18876 + ($94<<2)|0); + $95 = (19220 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4709] = $100; + HEAP32[4795] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(18852)>>2]|0; + $103 = HEAP32[(19196)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -32422,12 +32643,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(18844)>>2] = $84; - HEAP32[(18856)>>2] = $87; + HEAP32[(19188)>>2] = $84; + HEAP32[(19200)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(18840)>>2]|0; + $108 = HEAP32[(19184)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -32455,7 +32676,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19140 + ($132<<2)|0); + $133 = (19484 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -32495,7 +32716,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(18852)>>2]|0; + $155 = HEAP32[(19196)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -32590,7 +32811,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19140 + ($188<<2)|0); + $189 = (19484 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -32601,11 +32822,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(18840)>>2] = $194; + HEAP32[(19184)>>2] = $194; break L73; } } else { - $195 = HEAP32[(18852)>>2]|0; + $195 = HEAP32[(19196)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -32626,7 +32847,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(18852)>>2]|0; + $201 = HEAP32[(19196)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -32656,7 +32877,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(18852)>>2]|0; + $213 = HEAP32[(19196)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -32693,22 +32914,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(18856)>>2]|0; + $231 = HEAP32[(19200)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (18876 + ($233<<2)|0); + $234 = (19220 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4709] = $238; + HEAP32[4795] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(18852)>>2]|0; + $241 = HEAP32[(19196)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -32725,8 +32946,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(18844)>>2] = $$0193$lcssa$i; - HEAP32[(18856)>>2] = $157; + HEAP32[(19188)>>2] = $$0193$lcssa$i; + HEAP32[(19200)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -32742,7 +32963,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(18840)>>2]|0; + $250 = HEAP32[(19184)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -32782,7 +33003,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19140 + ($$0358$i<<2)|0); + $278 = (19484 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -32874,7 +33095,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19140 + ($330<<2)|0); + $331 = (19484 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -32918,11 +33139,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(18844)>>2]|0; + $345 = HEAP32[(19188)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(18852)>>2]|0; + $348 = HEAP32[(19196)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -33019,7 +33240,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19140 + ($381<<2)|0); + $382 = (19484 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -33030,12 +33251,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(18840)>>2] = $387; + HEAP32[(19184)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(18852)>>2]|0; + $388 = HEAP32[(19196)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -33057,7 +33278,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(18852)>>2]|0; + $394 = HEAP32[(19196)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -33089,7 +33310,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(18852)>>2]|0; + $406 = HEAP32[(19196)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -33130,20 +33351,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (18876 + ($425<<2)|0); - $427 = HEAP32[4709]|0; + $426 = (19220 + ($425<<2)|0); + $427 = HEAP32[4795]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4709] = $431; + HEAP32[4795] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(18852)>>2]|0; + $434 = HEAP32[(19196)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -33195,7 +33416,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19140 + ($$0361$i<<2)|0); + $464 = (19484 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -33207,7 +33428,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(18840)>>2] = $472; + HEAP32[(19184)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -33246,7 +33467,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(18852)>>2]|0; + $491 = HEAP32[(19196)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -33265,7 +33486,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(18852)>>2]|0; + $498 = HEAP32[(19196)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -33298,16 +33519,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(18844)>>2]|0; + $506 = HEAP32[(19188)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(18856)>>2]|0; + $509 = HEAP32[(19200)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(18856)>>2] = $511; - HEAP32[(18844)>>2] = $508; + HEAP32[(19200)>>2] = $511; + HEAP32[(19188)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -33317,8 +33538,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(18844)>>2] = 0; - HEAP32[(18856)>>2] = 0; + HEAP32[(19188)>>2] = 0; + HEAP32[(19200)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -33332,14 +33553,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(18848)>>2]|0; + $524 = HEAP32[(19192)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(18848)>>2] = $526; - $527 = HEAP32[(18860)>>2]|0; + HEAP32[(19192)>>2] = $526; + $527 = HEAP32[(19204)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(18860)>>2] = $528; + HEAP32[(19204)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -33350,23 +33571,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4827]|0; + $534 = HEAP32[4913]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19316)>>2] = 4096; - HEAP32[(19312)>>2] = 4096; - HEAP32[(19320)>>2] = -1; - HEAP32[(19324)>>2] = -1; - HEAP32[(19328)>>2] = 0; - HEAP32[(19280)>>2] = 0; + HEAP32[(19660)>>2] = 4096; + HEAP32[(19656)>>2] = 4096; + HEAP32[(19664)>>2] = -1; + HEAP32[(19668)>>2] = -1; + HEAP32[(19672)>>2] = 0; + HEAP32[(19624)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4827] = $538; + HEAP32[4913] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19316)>>2]|0; + $$pre$i212 = HEAP32[(19660)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -33379,10 +33600,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19276)>>2]|0; + $546 = HEAP32[(19620)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19268)>>2]|0; + $548 = HEAP32[(19612)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -33392,18 +33613,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19280)>>2]|0; + $552 = HEAP32[(19624)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(18860)>>2]|0; + $555 = HEAP32[(19204)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19284); + $$0$i$i = (19628); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -33461,7 +33682,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19312)>>2]|0; + $569 = HEAP32[(19656)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -33471,13 +33692,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19268)>>2]|0; + $578 = HEAP32[(19612)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19276)>>2]|0; + $582 = HEAP32[(19620)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -33523,7 +33744,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19316)>>2]|0; + $601 = HEAP32[(19660)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -33548,9 +33769,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19280)>>2]|0; + $611 = HEAP32[(19624)>>2]|0; $612 = $611 | 4; - HEAP32[(19280)>>2] = $612; + HEAP32[(19624)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -33586,35 +33807,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19268)>>2]|0; + $626 = HEAP32[(19612)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19268)>>2] = $627; - $628 = HEAP32[(19272)>>2]|0; + HEAP32[(19612)>>2] = $627; + $628 = HEAP32[(19616)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19272)>>2] = $627; + HEAP32[(19616)>>2] = $627; } - $630 = HEAP32[(18860)>>2]|0; + $630 = HEAP32[(19204)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(18852)>>2]|0; + $632 = HEAP32[(19196)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(18852)>>2] = $$749$i; + HEAP32[(19196)>>2] = $$749$i; } - HEAP32[(19284)>>2] = $$749$i; - HEAP32[(19288)>>2] = $$723948$i; - HEAP32[(19296)>>2] = 0; - $635 = HEAP32[4827]|0; - HEAP32[(18872)>>2] = $635; - HEAP32[(18868)>>2] = -1; + HEAP32[(19628)>>2] = $$749$i; + HEAP32[(19632)>>2] = $$723948$i; + HEAP32[(19640)>>2] = 0; + $635 = HEAP32[4913]|0; + HEAP32[(19216)>>2] = $635; + HEAP32[(19212)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (18876 + ($636<<2)|0); + $637 = (19220 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -33637,18 +33858,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(18860)>>2] = $649; - HEAP32[(18848)>>2] = $650; + HEAP32[(19204)>>2] = $649; + HEAP32[(19192)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19324)>>2]|0; - HEAP32[(18864)>>2] = $655; + $655 = HEAP32[(19668)>>2]|0; + HEAP32[(19208)>>2] = $655; } else { - $$024371$i = (19284); + $$024371$i = (19628); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -33680,7 +33901,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(18848)>>2]|0; + $671 = HEAP32[(19192)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -33691,30 +33912,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(18860)>>2] = $679; - HEAP32[(18848)>>2] = $681; + HEAP32[(19204)>>2] = $679; + HEAP32[(19192)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19324)>>2]|0; - HEAP32[(18864)>>2] = $686; + $686 = HEAP32[(19668)>>2]|0; + HEAP32[(19208)>>2] = $686; break; } } } - $687 = HEAP32[(18852)>>2]|0; + $687 = HEAP32[(19196)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(18852)>>2] = $$749$i; + HEAP32[(19196)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19284); + $$124470$i = (19628); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -33769,21 +33990,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(18848)>>2]|0; + $726 = HEAP32[(19192)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(18848)>>2] = $727; - HEAP32[(18860)>>2] = $721; + HEAP32[(19192)>>2] = $727; + HEAP32[(19204)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(18856)>>2]|0; + $730 = HEAP32[(19200)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(18844)>>2]|0; + $732 = HEAP32[(19188)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(18844)>>2] = $733; - HEAP32[(18856)>>2] = $721; + HEAP32[(19188)>>2] = $733; + HEAP32[(19200)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -33806,7 +34027,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (18876 + ($748<<2)|0); + $749 = (19220 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -33829,9 +34050,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4709]|0; + $759 = HEAP32[4795]|0; $760 = $759 & $758; - HEAP32[4709] = $760; + HEAP32[4795] = $760; break; } $761 = ($747|0)==($749|0); @@ -33944,7 +34165,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19140 + ($796<<2)|0); + $797 = (19484 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -33956,12 +34177,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(18840)>>2]|0; + $802 = HEAP32[(19184)>>2]|0; $803 = $802 & $801; - HEAP32[(18840)>>2] = $803; + HEAP32[(19184)>>2] = $803; break L314; } else { - $804 = HEAP32[(18852)>>2]|0; + $804 = HEAP32[(19196)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -33982,7 +34203,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(18852)>>2]|0; + $810 = HEAP32[(19196)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -34014,7 +34235,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(18852)>>2]|0; + $822 = HEAP32[(19196)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -34047,21 +34268,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (18876 + ($836<<2)|0); - $838 = HEAP32[4709]|0; + $837 = (19220 + ($836<<2)|0); + $838 = HEAP32[4795]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4709] = $842; + HEAP32[4795] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(18852)>>2]|0; + $845 = HEAP32[(19196)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -34116,20 +34337,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19140 + ($$0296$i$i<<2)|0); + $875 = (19484 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(18840)>>2]|0; + $879 = HEAP32[(19184)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(18840)>>2] = $883; + HEAP32[(19184)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -34168,7 +34389,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(18852)>>2]|0; + $902 = HEAP32[(19196)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -34187,7 +34408,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(18852)>>2]|0; + $909 = HEAP32[(19196)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -34214,7 +34435,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19284); + $$0$i$i$i = (19628); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -34255,23 +34476,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(18860)>>2] = $946; - HEAP32[(18848)>>2] = $947; + HEAP32[(19204)>>2] = $946; + HEAP32[(19192)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19324)>>2]|0; - HEAP32[(18864)>>2] = $952; + $952 = HEAP32[(19668)>>2]|0; + HEAP32[(19208)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19284)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19284)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19284)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19284)+12>>2]|0; - HEAP32[(19284)>>2] = $$749$i; - HEAP32[(19288)>>2] = $$723948$i; - HEAP32[(19296)>>2] = 0; - HEAP32[(19292)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19628)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19628)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19628)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19628)+12>>2]|0; + HEAP32[(19628)>>2] = $$749$i; + HEAP32[(19632)>>2] = $$723948$i; + HEAP32[(19640)>>2] = 0; + HEAP32[(19636)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -34300,20 +34521,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (18876 + ($968<<2)|0); - $970 = HEAP32[4709]|0; + $969 = (19220 + ($968<<2)|0); + $970 = HEAP32[4795]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4709] = $974; + HEAP32[4795] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(18852)>>2]|0; + $977 = HEAP32[(19196)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -34365,19 +34586,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19140 + ($$0212$i$i<<2)|0); + $1007 = (19484 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(18840)>>2]|0; + $1010 = HEAP32[(19184)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(18840)>>2] = $1014; + HEAP32[(19184)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -34416,7 +34637,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(18852)>>2]|0; + $1033 = HEAP32[(19196)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -34435,7 +34656,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(18852)>>2]|0; + $1040 = HEAP32[(19196)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -34458,14 +34679,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(18848)>>2]|0; + $1048 = HEAP32[(19192)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(18848)>>2] = $1050; - $1051 = HEAP32[(18860)>>2]|0; + HEAP32[(19192)>>2] = $1050; + $1051 = HEAP32[(19204)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(18860)>>2] = $1052; + HEAP32[(19204)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -34508,7 +34729,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(18852)>>2]|0; + $3 = HEAP32[(19196)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -34541,7 +34762,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(18856)>>2]|0; + $19 = HEAP32[(19200)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -34556,7 +34777,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(18844)>>2] = $17; + HEAP32[(19188)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -34570,7 +34791,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (18876 + ($27<<2)|0); + $28 = (19220 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -34590,9 +34811,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4709]|0; + $37 = HEAP32[4795]|0; $38 = $37 & $36; - HEAP32[4709] = $38; + HEAP32[4795] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -34706,7 +34927,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19140 + ($74<<2)|0); + $75 = (19484 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -34716,14 +34937,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(18840)>>2]|0; + $80 = HEAP32[(19184)>>2]|0; $81 = $80 & $79; - HEAP32[(18840)>>2] = $81; + HEAP32[(19184)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(18852)>>2]|0; + $82 = HEAP32[(19196)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -34745,7 +34966,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(18852)>>2]|0; + $88 = HEAP32[(19196)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -34777,7 +34998,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(18852)>>2]|0; + $100 = HEAP32[(19196)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -34812,14 +35033,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(18860)>>2]|0; + $120 = HEAP32[(19204)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(18856)>>2]|0; + $122 = HEAP32[(19200)>>2]|0; if ($121) { - $123 = HEAP32[(18848)>>2]|0; + $123 = HEAP32[(19192)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(18848)>>2] = $124; - HEAP32[(18860)>>2] = $$1; + HEAP32[(19192)>>2] = $124; + HEAP32[(19204)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -34827,16 +35048,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(18856)>>2] = 0; - HEAP32[(18844)>>2] = 0; + HEAP32[(19200)>>2] = 0; + HEAP32[(19188)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(18844)>>2]|0; + $129 = HEAP32[(19188)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(18844)>>2] = $130; - HEAP32[(18856)>>2] = $113; + HEAP32[(19188)>>2] = $130; + HEAP32[(19200)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -34855,10 +35076,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (18876 + ($142<<2)|0); + $143 = (19220 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(18852)>>2]|0; + $145 = HEAP32[(19196)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -34876,9 +35097,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4709]|0; + $153 = HEAP32[4795]|0; $154 = $153 & $152; - HEAP32[4709] = $154; + HEAP32[4795] = $154; break; } $155 = ($141|0)==($143|0); @@ -34886,7 +35107,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(18852)>>2]|0; + $156 = HEAP32[(19196)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -34946,7 +35167,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(18852)>>2]|0; + $189 = HEAP32[(19196)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -34959,7 +35180,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(18852)>>2]|0; + $169 = HEAP32[(19196)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -34990,7 +35211,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19140 + ($193<<2)|0); + $194 = (19484 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -35000,13 +35221,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(18840)>>2]|0; + $199 = HEAP32[(19184)>>2]|0; $200 = $199 & $198; - HEAP32[(18840)>>2] = $200; + HEAP32[(19184)>>2] = $200; break L108; } } else { - $201 = HEAP32[(18852)>>2]|0; + $201 = HEAP32[(19196)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -35027,7 +35248,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(18852)>>2]|0; + $207 = HEAP32[(19196)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -35057,7 +35278,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(18852)>>2]|0; + $219 = HEAP32[(19196)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -35078,10 +35299,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(18856)>>2]|0; + $226 = HEAP32[(19200)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(18844)>>2] = $135; + HEAP32[(19188)>>2] = $135; return; } else { $$2 = $135; @@ -35100,20 +35321,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (18876 + ($234<<2)|0); - $236 = HEAP32[4709]|0; + $235 = (19220 + ($234<<2)|0); + $236 = HEAP32[4795]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4709] = $240; + HEAP32[4795] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(18852)>>2]|0; + $243 = HEAP32[(19196)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -35165,21 +35386,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19140 + ($$0396<<2)|0); + $273 = (19484 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(18840)>>2]|0; + $277 = HEAP32[(19184)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(18840)>>2] = $281; + HEAP32[(19184)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -35217,7 +35438,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(18852)>>2]|0; + $300 = HEAP32[(19196)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -35236,7 +35457,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(18852)>>2]|0; + $307 = HEAP32[(19196)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -35258,12 +35479,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(18868)>>2]|0; + $314 = HEAP32[(19212)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(18868)>>2] = $315; + HEAP32[(19212)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19292); + $$0212$in$i = (19636); } else { return; } @@ -35277,7 +35498,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(18868)>>2] = -1; + HEAP32[(19212)>>2] = -1; return; } function _realloc($0,$1) { @@ -35349,7 +35570,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(18852)>>2]|0; + $6 = HEAP32[(19196)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -35379,7 +35600,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19316)>>2]|0; + $18 = HEAP32[(19660)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -35415,10 +35636,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(18860)>>2]|0; + $34 = HEAP32[(19204)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(18848)>>2]|0; + $36 = HEAP32[(19192)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -35434,15 +35655,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(18860)>>2] = $40; - HEAP32[(18848)>>2] = $39; + HEAP32[(19204)>>2] = $40; + HEAP32[(19192)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(18856)>>2]|0; + $46 = HEAP32[(19200)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(18844)>>2]|0; + $48 = HEAP32[(19188)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -35478,8 +35699,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(18844)>>2] = $storemerge1; - HEAP32[(18856)>>2] = $storemerge; + HEAP32[(19188)>>2] = $storemerge1; + HEAP32[(19200)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -35506,7 +35727,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (18876 + ($81<<2)|0); + $82 = (19220 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -35526,9 +35747,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4709]|0; + $91 = HEAP32[4795]|0; $92 = $91 & $90; - HEAP32[4709] = $92; + HEAP32[4795] = $92; break; } $93 = ($80|0)==($82|0); @@ -35637,7 +35858,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19140 + ($128<<2)|0); + $129 = (19484 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -35647,13 +35868,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(18840)>>2]|0; + $134 = HEAP32[(19184)>>2]|0; $135 = $134 & $133; - HEAP32[(18840)>>2] = $135; + HEAP32[(19184)>>2] = $135; break L49; } } else { - $136 = HEAP32[(18852)>>2]|0; + $136 = HEAP32[(19196)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -35674,7 +35895,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(18852)>>2]|0; + $142 = HEAP32[(19196)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -35704,7 +35925,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(18852)>>2]|0; + $154 = HEAP32[(19196)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -35789,13 +36010,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(18852)>>2]|0; + $13 = HEAP32[(19196)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(18856)>>2]|0; + $15 = HEAP32[(19200)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -35810,7 +36031,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(18844)>>2] = $12; + HEAP32[(19188)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -35824,7 +36045,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (18876 + ($23<<2)|0); + $24 = (19220 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -35844,9 +36065,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4709]|0; + $33 = HEAP32[4795]|0; $34 = $33 & $32; - HEAP32[4709] = $34; + HEAP32[4795] = $34; $$1 = $11;$$1418 = $12; break; } @@ -35960,7 +36181,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19140 + ($70<<2)|0); + $71 = (19484 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -35970,14 +36191,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(18840)>>2]|0; + $76 = HEAP32[(19184)>>2]|0; $77 = $76 & $75; - HEAP32[(18840)>>2] = $77; + HEAP32[(19184)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(18852)>>2]|0; + $78 = HEAP32[(19196)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -35999,7 +36220,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(18852)>>2]|0; + $84 = HEAP32[(19196)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -36031,7 +36252,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(18852)>>2]|0; + $96 = HEAP32[(19196)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -36050,7 +36271,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(18852)>>2]|0; + $108 = HEAP32[(19196)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -36061,14 +36282,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(18860)>>2]|0; + $114 = HEAP32[(19204)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(18856)>>2]|0; + $116 = HEAP32[(19200)>>2]|0; if ($115) { - $117 = HEAP32[(18848)>>2]|0; + $117 = HEAP32[(19192)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(18848)>>2] = $118; - HEAP32[(18860)>>2] = $$1; + HEAP32[(19192)>>2] = $118; + HEAP32[(19204)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -36076,16 +36297,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(18856)>>2] = 0; - HEAP32[(18844)>>2] = 0; + HEAP32[(19200)>>2] = 0; + HEAP32[(19188)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(18844)>>2]|0; + $123 = HEAP32[(19188)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(18844)>>2] = $124; - HEAP32[(18856)>>2] = $$1; + HEAP32[(19188)>>2] = $124; + HEAP32[(19200)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36104,7 +36325,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (18876 + ($136<<2)|0); + $137 = (19220 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -36124,9 +36345,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4709]|0; + $146 = HEAP32[4795]|0; $147 = $146 & $145; - HEAP32[4709] = $147; + HEAP32[4795] = $147; break; } $148 = ($135|0)==($137|0); @@ -36235,7 +36456,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19140 + ($183<<2)|0); + $184 = (19484 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -36245,13 +36466,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(18840)>>2]|0; + $189 = HEAP32[(19184)>>2]|0; $190 = $189 & $188; - HEAP32[(18840)>>2] = $190; + HEAP32[(19184)>>2] = $190; break L96; } } else { - $191 = HEAP32[(18852)>>2]|0; + $191 = HEAP32[(19196)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -36272,7 +36493,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(18852)>>2]|0; + $197 = HEAP32[(19196)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -36302,7 +36523,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(18852)>>2]|0; + $209 = HEAP32[(19196)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -36323,10 +36544,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(18856)>>2]|0; + $216 = HEAP32[(19200)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(18844)>>2] = $129; + HEAP32[(19188)>>2] = $129; return; } else { $$2 = $129; @@ -36345,20 +36566,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (18876 + ($224<<2)|0); - $226 = HEAP32[4709]|0; + $225 = (19220 + ($224<<2)|0); + $226 = HEAP32[4795]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4709] = $230; + HEAP32[4795] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(18852)>>2]|0; + $233 = HEAP32[(19196)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -36410,20 +36631,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19140 + ($$0431<<2)|0); + $263 = (19484 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(18840)>>2]|0; + $267 = HEAP32[(19184)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(18840)>>2] = $271; + HEAP32[(19184)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -36462,7 +36683,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(18852)>>2]|0; + $290 = HEAP32[(19196)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -36480,7 +36701,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(18852)>>2]|0; + $297 = HEAP32[(19196)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/textures/textures_srcrec_dstrec.png b/docs/examples/web/textures/textures_srcrec_dstrec.png new file mode 100644 index 000000000..7691ff2e2 Binary files /dev/null and b/docs/examples/web/textures/textures_srcrec_dstrec.png differ diff --git a/docs/examples/web/textures/textures_to_image.js b/docs/examples/web/textures/textures_to_image.js index 0b0e0cfa4..8d63d08ef 100644 --- a/docs/examples/web/textures/textures_to_image.js +++ b/docs/examples/web/textures/textures_to_image.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3760, "filename": "/resources/raylib_logo.png"}], "remote_package_size": 3760, "package_uuid": "fd1cdede-fd05-430f-83b2-8a445e7d6380"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3760, "filename": "/resources/raylib_logo.png"}], "remote_package_size": 3760, "package_uuid": "df4e441b-8830-41bc-a530-79b520a54f00"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 22384; +STATICTOP = STATIC_BASE + 22368; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,99,83,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,116,111,32,105,109,97,103,101,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,108,111,103,111,46,112,110,103,0,116,104,105,115,32,73,83,32,97,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,102,114,111,109,32,97,110,32,105,109,97,103,101,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,70,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,114,101,110,100,101,114,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,46,46,46,0,70,114,97,109,101,98,117,102,102,101,114,32,105,115,32,117,110,115,117,112,112,111,114,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,97,116,116,97,99,104,109,101,110,116,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,100,105,109,101,110,115,105,111,110,115,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,109,105,115,115,105,110,103,32,97,116,116,97,99,104,109,101,110,116,0,91,70,66,79,32,73,68,32,37,105,93,32,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,112,105,120,101,108,32,100,97,116,97,32,111,98,116,97,105,110,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,84,101,120,116,117,114,101,32,112,105,120,101,108,32,100,97,116,97,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,98,116,97,105,110,101,100,0,67,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,98,116,97,105,110,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,91,83,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,116,111,32,105,109,97,103,101,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,108,111,103,111,46,112,110,103,0,116,104,105,115,32,73,83,32,97,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,102,114,111,109,32,97,110,32,105,109,97,103,101,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,70,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,114,101,110,100,101,114,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,46,46,46,0,70,114,97,109,101,98,117,102,102,101,114,32,105,115,32,117,110,115,117,112,112,111,114,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,97,116,116,97,99,104,109,101,110,116,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,100,105,109,101,110,115,105,111,110,115,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,109,105,115,115,105,110,103,32,97,116,116,97,99,104,109,101,110,116,0,91,70,66,79,32,73,68,32,37,105,93,32,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,112,105,120,101,108,32,100,97,116,97,32,111,98,116,97,105,110,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,84,101,120,116,117,114,101,32,112,105,120,101,108,32,100,97,116,97,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,98,116,97,105,110,101,100,0,67,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,98,116,97,105,110,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10555,24 +10555,24 @@ function _main() { $5 = HEAP32[3]|0; _InitWindow($4,$5,3996); _LoadImage($0,4041); - ;HEAP32[16832>>2]=HEAP32[$0>>2]|0;HEAP32[16832+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16832+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16832+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16832+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[17144>>2]=HEAP32[$0>>2]|0;HEAP32[17144+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[17144+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[17144+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[17144+16>>2]=HEAP32[$0+16>>2]|0; ;HEAP32[$texture$byval_copy4>>2]=HEAP32[$0>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$texture$byval_copy4); - ;HEAP32[16852>>2]=HEAP32[$1>>2]|0;HEAP32[16852+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16852+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16852+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16852+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[$texture$byval_copy4>>2]=HEAP32[16832>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[16832+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[16832+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[16832+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[16832+16>>2]|0; + ;HEAP32[17164>>2]=HEAP32[$1>>2]|0;HEAP32[17164+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17164+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17164+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17164+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$texture$byval_copy4>>2]=HEAP32[17144>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[17144+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[17144+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[17144+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[17144+16>>2]|0; _UnloadImage($texture$byval_copy4); - ;HEAP32[$texture$byval_copy4>>2]=HEAP32[16852>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[16852+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[16852+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[16852+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[16852+16>>2]|0; + ;HEAP32[$texture$byval_copy4>>2]=HEAP32[17164>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[17164+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[17164+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[17164+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[17164+16>>2]|0; _GetTextureData($2,$texture$byval_copy4); - ;HEAP32[16832>>2]=HEAP32[$2>>2]|0;HEAP32[16832+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[16832+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[16832+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[16832+16>>2]=HEAP32[$2+16>>2]|0; - ;HEAP32[$texture$byval_copy4>>2]=HEAP32[16852>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[16852+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[16852+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[16852+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[16852+16>>2]|0; + ;HEAP32[17144>>2]=HEAP32[$2>>2]|0;HEAP32[17144+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[17144+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[17144+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[17144+16>>2]=HEAP32[$2+16>>2]|0; + ;HEAP32[$texture$byval_copy4>>2]=HEAP32[17164>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[17164+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[17164+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[17164+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[17164+16>>2]|0; _UnloadTexture($texture$byval_copy4); - ;HEAP32[$texture$byval_copy4>>2]=HEAP32[16832>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[16832+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[16832+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[16832+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[16832+16>>2]|0; + ;HEAP32[$texture$byval_copy4>>2]=HEAP32[17144>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[17144+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[17144+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[17144+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[17144+16>>2]|0; _LoadTextureFromImage($3,$texture$byval_copy4); - ;HEAP32[16852>>2]=HEAP32[$3>>2]|0;HEAP32[16852+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[16852+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[16852+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[16852+16>>2]=HEAP32[$3+16>>2]|0; - ;HEAP32[$texture$byval_copy4>>2]=HEAP32[16832>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[16832+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[16832+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[16832+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[16832+16>>2]|0; + ;HEAP32[17164>>2]=HEAP32[$3>>2]|0;HEAP32[17164+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[17164+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[17164+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[17164+16>>2]=HEAP32[$3+16>>2]|0; + ;HEAP32[$texture$byval_copy4>>2]=HEAP32[17144>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[17144+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[17144+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[17144+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[17144+16>>2]|0; _UnloadImage($texture$byval_copy4); _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$texture$byval_copy4>>2]=HEAP32[16852>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[16852+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[16852+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[16852+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[16852+16>>2]|0; + ;HEAP32[$texture$byval_copy4>>2]=HEAP32[17164>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[17164+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[17164+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[17164+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[17164+16>>2]|0; _UnloadTexture($texture$byval_copy4); _CloseWindow(); STACKTOP = sp;return 0; @@ -10599,16 +10599,16 @@ function _UpdateDrawFrame() { _ClearBackground($$byval_copy1); $6 = HEAP32[2]|0; $7 = (($6|0) / 2)&-1; - $8 = HEAP32[(16856)>>2]|0; + $8 = HEAP32[(17168)>>2]|0; $9 = (($8|0) / 2)&-1; $10 = (($7) - ($9))|0; $11 = HEAP32[3]|0; $12 = (($11|0) / 2)&-1; - $13 = HEAP32[(16860)>>2]|0; + $13 = HEAP32[(17172)>>2]|0; $14 = (($13|0) / 2)&-1; $15 = (($12) - ($14))|0; HEAP32[$1>>2] = -1; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[16852>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16852+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16852+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16852+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16852+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[17164>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[17164+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[17164+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[17164+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[17164+16>>2]|0; ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; _DrawTexture($texture$byval_copy,$10,$15,$$byval_copy1); HEAP8[$2>>0] = -126; @@ -10623,6 +10623,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10722,13 +10772,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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; @@ -11338,7 +11381,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4219] = $2; + HEAP32[4297] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11351,7 +11394,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16560; + $95 = 16872; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11364,48 +11407,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16600; + $106 = 16912; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4150]; - $111 = +HEAPF32[4140]; + $110 = +HEAPF32[4228]; + $111 = +HEAPF32[4218]; $112 = $110 - $111; - HEAPF32[4152] = $112; - $113 = +HEAPF32[(16604)>>2]; - $114 = +HEAPF32[(16564)>>2]; + HEAPF32[4230] = $112; + $113 = +HEAPF32[(16916)>>2]; + $114 = +HEAPF32[(16876)>>2]; $115 = $113 - $114; - HEAPF32[(16612)>>2] = $115; - HEAP32[4218] = 4; + HEAPF32[(16924)>>2] = $115; + HEAP32[4296] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16592>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16592+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16616+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16904>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16904+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16928+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4224] = $116; - $117 = 16592; + HEAPF32[4302] = $116; + $117 = 16904; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16560; + $123 = 16872; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16616; + $127 = 16928; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16600; + $133 = 16912; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11418,7 +11461,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16592; + $144 = 16904; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11431,27 +11474,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16616; + $155 = 16928; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4154]; - $160 = +HEAPF32[4148]; + $159 = +HEAPF32[4232]; + $160 = +HEAPF32[4226]; $161 = $159 - $160; - HEAPF32[4152] = $161; - $162 = +HEAPF32[(16620)>>2]; - $163 = +HEAPF32[(16596)>>2]; + HEAPF32[4230] = $161; + $162 = +HEAPF32[(16932)>>2]; + $163 = +HEAPF32[(16908)>>2]; $164 = $162 - $163; - HEAPF32[(16612)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16560>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16560+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16592>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16592+4>>2]|0; + HEAPF32[(16924)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16904+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16600>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16600+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16616+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16912+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16928+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11463,31 +11506,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16592>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16592+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16616+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16904>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16904+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16928+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4224]; + $170 = +HEAPF32[4302]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4218] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16592>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16592+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16616+4>>2]|0; + HEAP32[4296] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16904>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16904+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16928+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4225] = $174; + HEAPF32[4303] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4224] = 0.0; - HEAPF32[4225] = 0.0; - HEAPF32[4152] = 0.0; - HEAPF32[(16612)>>2] = 0.0; - HEAP32[4219] = 0; - HEAP32[4218] = 0; + HEAPF32[4302] = 0.0; + HEAPF32[4303] = 0.0; + HEAPF32[4230] = 0.0; + HEAPF32[(16924)>>2] = 0.0; + HEAP32[4297] = 0; + HEAP32[4296] = 0; STACKTOP = sp;return; break; } @@ -11497,22 +11540,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4220]|0; + $6 = HEAP32[4298]|0; $7 = (($6) + 1)|0; - HEAP32[4220] = $7; - $8 = HEAP32[4218]|0; + HEAP32[4298] = $7; + $8 = HEAP32[4296]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16560>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16560+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4218] = 2; - HEAP32[4220] = 0; + HEAP32[4296] = 2; + HEAP32[4298] = 0; } else { label = 6; } @@ -11520,8 +11563,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4220] = 1; - HEAP32[4218] = 1; + HEAP32[4298] = 1; + HEAP32[4296] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11530,19 +11573,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16560; + $21 = 16872; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16568; + $25 = 16880; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16576; + $29 = 16888; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11551,13 +11594,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4146] = 0.0; - HEAPF32[(16588)>>2] = 0.0; + HEAPF32[4224] = 0.0; + HEAPF32[(16900)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4218]|0; + $35 = HEAP32[4296]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11567,19 +11610,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16576; + $44 = 16888; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16560>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16560+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16576>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16576+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16888>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16888+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4221] = $49; - HEAP32[4222] = 0; + HEAPF32[4299] = $49; + HEAP32[4300] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11587,11 +11630,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16560>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16560+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16576>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16576+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16888>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16888+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4223] = $56; + HEAPF32[4301] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11622,22 +11665,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4221] = 0.0; - HEAPF32[4223] = 0.0; + HEAPF32[4299] = 0.0; + HEAPF32[4301] = 0.0; $$sink10 = 0; } - HEAP32[4218] = $$sink10; - HEAPF32[4142] = 0.0; - HEAPF32[(16572)>>2] = 0.0; - HEAP32[4219] = 0; + HEAP32[4296] = $$sink10; + HEAPF32[4220] = 0.0; + HEAPF32[(16884)>>2] = 0.0; + HEAP32[4297] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4222]|0; + $65 = HEAP32[4300]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4222] = 1; + HEAP32[4300] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11646,31 +11689,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16592; + $74 = 16904; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4218]|0; + $78 = HEAP32[4296]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16560>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16560+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16592>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16592+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16904+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4218] = 8; + HEAP32[4296] = 8; } } - $82 = +HEAPF32[4148]; - $83 = +HEAPF32[4142]; + $82 = +HEAPF32[4226]; + $83 = +HEAPF32[4220]; $84 = $82 - $83; - HEAPF32[4146] = $84; - $85 = +HEAPF32[(16596)>>2]; - $86 = +HEAPF32[(16572)>>2]; + HEAPF32[4224] = $84; + $85 = +HEAPF32[(16908)>>2]; + $86 = +HEAPF32[(16884)>>2]; $87 = $85 - $86; - HEAPF32[(16588)>>2] = $87; + HEAPF32[(16900)>>2] = $87; STACKTOP = sp;return; break; } @@ -11679,58 +11722,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4218]|0; + $0 = HEAP32[4296]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4219]|0; + $2 = HEAP32[4297]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4218] = 4; + HEAP32[4296] = 4; } - $4 = HEAP32[4218]|0; + $4 = HEAP32[4296]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11743,14 +11747,14 @@ function _UpdateGestures() { return; } } - HEAP32[4218] = 0; + HEAP32[4296] = 0; return; } function _GetMousePosition($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 = 16624; + $1 = 16936; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11767,13 +11771,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4228]|0; + $0 = HEAP32[4306]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4227]|0; + $0 = HEAP32[4305]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11785,7 +11789,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4107,$vararg_buffer); - HEAP32[4230] = $2; + HEAP32[4308] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11798,15 +11802,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4136|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4228]|0; + $3 = HEAP32[4306]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4156] = $5; - $6 = HEAP32[4227]|0; + HEAPF32[4234] = $5; + $6 = HEAP32[4305]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16628)>>2] = $8; - $9 = HEAP32[4231]|0; + HEAPF32[(16940)>>2] = $8; + $9 = HEAP32[4309]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11825,11 +11829,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16664>>0]=HEAP8[8665>>0]|0;HEAP8[16664+1>>0]=HEAP8[8665+1>>0]|0;HEAP8[16664+2>>0]=HEAP8[8665+2>>0]|0;HEAP8[16664+3>>0]=HEAP8[8665+3>>0]|0;HEAP8[16664+4>>0]=HEAP8[8665+4>>0]|0;HEAP8[16664+5>>0]=HEAP8[8665+5>>0]|0;HEAP8[16664+6>>0]=HEAP8[8665+6>>0]|0; + ;HEAP8[16976>>0]=HEAP8[8665>>0]|0;HEAP8[16976+1>>0]=HEAP8[8665+1>>0]|0;HEAP8[16976+2>>0]=HEAP8[8665+2>>0]|0;HEAP8[16976+3>>0]=HEAP8[8665+3>>0]|0;HEAP8[16976+4>>0]=HEAP8[8665+4>>0]|0;HEAP8[16976+5>>0]=HEAP8[8665+5>>0]|0;HEAP8[16976+6>>0]=HEAP8[8665+6>>0]|0; break; } case 1: { - $3 = 16664; + $3 = 16976; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11838,11 +11842,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16664; src=8672; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16976; src=8672; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16664; + $7 = 16976; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11853,16 +11857,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16664,$1)|0); - $strlen = (_strlen(16664)|0); - $endptr = (16664 + ($strlen)|0); + (_strcat(16976,$1)|0); + $strlen = (_strlen(16976)|0); + $endptr = (16976 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16664,$2)|0); + (_vprintf(16976,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11894,22 +11898,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4228] = $0; - HEAP32[4227] = $1; + HEAP32[4306] = $0; + HEAP32[4305] = $1; _MatrixIdentity($2); - dest=17000; 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)); + dest=17312; 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)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,4807,$vararg_buffer); } - $6 = HEAP32[4228]|0; - HEAP32[4266] = $6; - $7 = HEAP32[4227]|0; - HEAP32[4267] = $7; + $6 = HEAP32[4306]|0; + HEAP32[4344] = $6; + $7 = HEAP32[4305]|0; + HEAP32[4345] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19732]|0; + $8 = HEAP8[20044]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11917,13 +11921,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19732]|0; + $11 = HEAP8[20044]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19732]|0; + $14 = HEAP8[20044]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -11945,18 +11949,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4268]|0; + $21 = HEAP32[4346]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4228]|0; - $48 = HEAP32[4227]|0; - $49 = HEAP32[4230]|0; + $47 = HEAP32[4306]|0; + $48 = HEAP32[4305]|0; + $49 = HEAP32[4308]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4226] = $50; - $51 = HEAP32[4228]|0; - HEAP32[4269] = $51; - $52 = HEAP32[4227]|0; - HEAP32[4270] = $52; + HEAP32[4304] = $50; + $51 = HEAP32[4306]|0; + HEAP32[4347] = $51; + $52 = HEAP32[4305]|0; + HEAP32[4348] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11965,9 +11969,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4228]|0; + $27 = HEAP32[4306]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4227]|0; + $29 = HEAP32[4305]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -11989,25 +11993,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4266] = $31; - HEAP32[4267] = $34; + HEAP32[4344] = $31; + HEAP32[4345] = $34; } } while(0); - $38 = HEAP32[4266]|0; - $39 = HEAP32[4267]|0; + $38 = HEAP32[4344]|0; + $39 = HEAP32[4345]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,4858,$vararg_buffer3); - $40 = HEAP32[4266]|0; - $41 = HEAP32[4267]|0; + $40 = HEAP32[4344]|0; + $41 = HEAP32[4345]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4266]|0; - $43 = HEAP32[4267]|0; - $44 = HEAP32[4230]|0; + $42 = HEAP32[4344]|0; + $43 = HEAP32[4345]|0; + $44 = HEAP32[4308]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4226] = $46; + HEAP32[4304] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12016,60 +12020,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,4896,$vararg_buffer6); } else { _TraceLog(0,4929,$vararg_buffer8); - $55 = HEAP32[4269]|0; - $56 = HEAP32[4270]|0; + $55 = HEAP32[4347]|0; + $56 = HEAP32[4348]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,4969,$vararg_buffer10); - $57 = HEAP32[4228]|0; - $58 = HEAP32[4227]|0; + $57 = HEAP32[4306]|0; + $58 = HEAP32[4305]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,4990,$vararg_buffer14); - $59 = HEAP32[4271]|0; - $60 = HEAP32[4272]|0; + $59 = HEAP32[4349]|0; + $60 = HEAP32[4350]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5011,$vararg_buffer18); } - $61 = HEAP32[4226]|0; + $61 = HEAP32[4304]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4226]|0; + $62 = HEAP32[4304]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4226]|0; + $63 = HEAP32[4304]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4226]|0; + $64 = HEAP32[4304]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4226]|0; + $65 = HEAP32[4304]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4226]|0; + $66 = HEAP32[4304]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4226]|0; + $67 = HEAP32[4304]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4226]|0; + $68 = HEAP32[4304]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4226]|0; + $69 = HEAP32[4304]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19732]|0; + $70 = HEAP8[20044]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4228]|0; - $74 = HEAP32[4227]|0; + $73 = HEAP32[4306]|0; + $74 = HEAP32[4305]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4269]|0; - $76 = HEAP32[4271]|0; + $75 = HEAP32[4347]|0; + $76 = HEAP32[4349]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4270]|0; - $80 = HEAP32[4272]|0; + $79 = HEAP32[4348]|0; + $80 = HEAP32[4350]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12088,18 +12092,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5036,$vararg_buffer22); - $73 = HEAP32[4228]|0; - $74 = HEAP32[4227]|0; + $73 = HEAP32[4306]|0; + $74 = HEAP32[4305]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4269]|0; - $76 = HEAP32[4271]|0; + $75 = HEAP32[4347]|0; + $76 = HEAP32[4349]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4270]|0; - $80 = HEAP32[4272]|0; + $79 = HEAP32[4348]|0; + $80 = HEAP32[4350]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12127,7 +12131,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16968)>>2] = 224; + HEAP32[(17280)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12168,27 +12172,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16944>>2]=HEAP32[$1>>2]|0;HEAP32[16944+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16944+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16944+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16944+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17256>>2]=HEAP32[$1>>2]|0;HEAP32[17256+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17256+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17256+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17256+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16968)>>2]|0; + $5 = HEAP32[(17280)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16972)>>2] = $7; + HEAP32[(17284)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16964)>>2] = $23; - $24 = HEAP32[4236]|0; + HEAP32[(17276)>>2] = $23; + $24 = HEAP32[4314]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4331,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16948)>>2]|0; - $10 = HEAP32[(16968)>>2]|0; - $11 = HEAP32[(16972)>>2]|0; + $9 = HEAP32[(17260)>>2]|0; + $10 = HEAP32[(17280)>>2]|0; + $11 = HEAP32[(17284)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12237,8 +12241,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16964)>>2] = $23; - $24 = HEAP32[4236]|0; + HEAP32[(17276)>>2] = $23; + $24 = HEAP32[4314]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4331,$vararg_buffer); STACKTOP = sp;return; @@ -12249,7 +12253,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2082] = $1; + HEAPF64[2121] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12408,7 +12412,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16640; + $31 = 16952; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12421,7 +12425,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16648); + $42 = (16960); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12477,7 +12481,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16928 + ($10<<2)|0); + $11 = (17240 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12491,7 +12495,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2079] = $$; + HEAPF64[2118] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12503,7 +12507,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4231] = 0; + HEAP32[4309] = 0; return; } function _GetTime() { @@ -13079,7 +13083,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4244]|0; + $6 = HEAP32[4322]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13089,7 +13093,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4245]|0; + $9 = HEAP32[4323]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13098,7 +13102,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4246]|0; + $12 = HEAP32[4324]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13108,7 +13112,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4247]|0; + $15 = HEAP32[4325]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13118,7 +13122,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4248]|0; + $18 = HEAP32[4326]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13162,7 +13166,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4244]|0; + $22 = HEAP32[4322]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13170,7 +13174,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4244]|0; + $24 = HEAP32[4322]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13178,7 +13182,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4244]|0; + $26 = HEAP32[4322]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13186,7 +13190,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4244]|0; + $28 = HEAP32[4322]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13194,7 +13198,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4245]|0; + $30 = HEAP32[4323]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13202,7 +13206,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4246]|0; + $32 = HEAP32[4324]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13210,7 +13214,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4246]|0; + $34 = HEAP32[4324]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13218,7 +13222,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4247]|0; + $36 = HEAP32[4325]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13226,7 +13230,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4247]|0; + $38 = HEAP32[4325]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13234,7 +13238,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4248]|0; + $40 = HEAP32[4326]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13242,7 +13246,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4248]|0; + $42 = HEAP32[4326]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13254,7 +13258,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4249]|0; + $44 = HEAP32[4327]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13600,20 +13604,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4228]|0; + $3 = HEAP32[4306]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4227]|0; + $5 = HEAP32[4305]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4269] = $3; - HEAP32[4270] = $5; - HEAP32[4271] = 0; - HEAP32[4272] = 0; + HEAP32[4347] = $3; + HEAP32[4348] = $5; + HEAP32[4349] = 0; + HEAP32[4350] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13627,9 +13631,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4228]|0; + $35 = HEAP32[4306]|0; $36 = (+($35|0)); - $37 = HEAP32[4227]|0; + $37 = HEAP32[4305]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13637,26 +13641,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4269] = $45; - HEAP32[4270] = $37; + HEAP32[4347] = $45; + HEAP32[4348] = $37; $46 = (($45) - ($35))|0; - HEAP32[4271] = $46; + HEAP32[4349] = $46; $$sink1 = 0; } else { - HEAP32[4269] = $35; + HEAP32[4347] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4270] = $42; - HEAP32[4271] = 0; + HEAP32[4348] = $42; + HEAP32[4349] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4272] = $$sink1; + HEAP32[4350] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4227]|0; + $7 = HEAP32[4305]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13666,11 +13670,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8418,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4228]|0; + $9 = HEAP32[4306]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4227]|0; + $13 = HEAP32[4305]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13678,33 +13682,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4269] = $23; - HEAP32[4270] = $1; + HEAP32[4347] = $23; + HEAP32[4348] = $1; $24 = (($0) - ($23))|0; - HEAP32[4271] = $24; + HEAP32[4349] = $24; $$sink = 0; } else { - HEAP32[4269] = $0; - $17 = HEAP32[4227]|0; + HEAP32[4347] = $0; + $17 = HEAP32[4305]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4270] = $20; - HEAP32[4271] = 0; + HEAP32[4348] = $20; + HEAP32[4349] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4272] = $$sink; - $25 = HEAP32[4269]|0; + HEAP32[4350] = $$sink; + $25 = HEAP32[4347]|0; $26 = (+($25|0)); - $27 = HEAP32[4228]|0; + $27 = HEAP32[4306]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=17000; 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)); - HEAP32[4269] = $0; - HEAP32[4270] = $1; + dest=17312; 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)); + HEAP32[4347] = $0; + HEAP32[4348] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13726,10 +13730,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4228] = $1; - HEAP32[4227] = $2; - HEAP32[4269] = $1; - HEAP32[4270] = $2; + HEAP32[4306] = $1; + HEAP32[4305] = $2; + HEAP32[4347] = $1; + HEAP32[4348] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13756,7 +13760,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19739 + ($1)|0); + $9 = (20051 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13777,7 +13781,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19733 + ($1)|0); + $7 = (20045 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13856,7 +13860,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16640; + $15 = 16952; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13891,7 +13895,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4642] = $3; + HEAP32[4720] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13901,7 +13905,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4641] = $$sink; + HEAP32[4719] = $$sink; return; } function _rlglInit($0,$1) { @@ -13982,18 +13986,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5168)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4307] = 1; + HEAP32[4385] = 1; $27 = (_eglGetProcAddress((5195|0))|0); - HEAP32[4308] = $27; + HEAP32[4386] = $27; $28 = (_eglGetProcAddress((5216|0))|0); - HEAP32[4309] = $28; + HEAP32[4387] = $28; $29 = (_eglGetProcAddress((5237|0))|0); - HEAP32[4310] = $29; + HEAP32[4388] = $29; } $30 = (_strcmp($24,5261)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4249] = 1; + HEAP32[4327] = 1; } $32 = (_strcmp($24,5281)|0); $33 = ($32|0)==(0); @@ -14015,7 +14019,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4244] = 1; + HEAP32[4322] = 1; } $39 = (_strcmp($24,5386)|0); $40 = ($39|0)==(0); @@ -14031,35 +14035,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4245] = 1; + HEAP32[4323] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5455)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4246] = 1; + HEAP32[4324] = 1; } $47 = (_strcmp($44,5480)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4247] = 1; + HEAP32[4325] = 1; } $49 = (_strcmp($44,5513)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4248] = 1; + HEAP32[4326] = 1; } $51 = (_strcmp($44,5549)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4311] = 1; - _glGetFloatv(34047,(17248|0)); + HEAP32[4389] = 1; + _glGetFloatv(34047,(17560|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5583)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4313] = 1; + HEAP32[4391] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14070,61 +14074,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4307]|0; + $21 = HEAP32[4385]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5686,$vararg_buffer15); } else { _TraceLog(0,5611,$vararg_buffer13); } - $57 = HEAP32[4249]|0; + $57 = HEAP32[4327]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,5822,$vararg_buffer19); } else { _TraceLog(0,5747,$vararg_buffer17); } - $59 = HEAP32[4244]|0; + $59 = HEAP32[4322]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,5914,$vararg_buffer21); } - $61 = HEAP32[4245]|0; + $61 = HEAP32[4323]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,5960,$vararg_buffer23); } - $63 = HEAP32[4246]|0; + $63 = HEAP32[4324]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6007,$vararg_buffer25); } - $65 = HEAP32[4247]|0; + $65 = HEAP32[4325]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6058,$vararg_buffer27); } - $67 = HEAP32[4248]|0; + $67 = HEAP32[4326]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6105,$vararg_buffer29); } - $69 = HEAP32[4311]|0; + $69 = HEAP32[4389]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4312]; + $71 = +HEAPF32[4390]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6152,$vararg_buffer31); } - $73 = HEAP32[4313]|0; + $73 = HEAP32[4391]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6218,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4314] = $75; + HEAP32[4392] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6322,$vararg_buffer39); @@ -14133,14 +14137,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6271,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17260; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17316; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17572; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17628; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4343] = $77; + HEAP32[4421] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4343]|0; + $79 = HEAP32[4421]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14153,7 +14157,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4344] = $78; + HEAP32[4422] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14168,48 +14172,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4345] = 1; - $85 = HEAP32[4314]|0; + HEAP32[4423] = 1; + $85 = HEAP32[4392]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4346] = 4; + HEAP32[4424] = 4; _MatrixIdentity($4); - dest=17388; src=$4; 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)); + dest=17700; src=$4; 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)); _MatrixIdentity($4); - dest=(17452); src=$4; 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)); + dest=(17764); src=$4; 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)); _MatrixIdentity($4); - dest=(17516); src=$4; 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)); + dest=(17828); src=$4; 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)); _MatrixIdentity($4); - dest=(17580); src=$4; 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)); + dest=(17892); src=$4; 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)); _MatrixIdentity($4); - dest=(17644); src=$4; 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)); + dest=(17956); src=$4; 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)); _MatrixIdentity($4); - dest=(17708); src=$4; 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)); + dest=(18020); src=$4; 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)); _MatrixIdentity($4); - dest=(17772); src=$4; 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)); + dest=(18084); src=$4; 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)); _MatrixIdentity($4); - dest=(17836); src=$4; 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)); + dest=(18148); src=$4; 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)); _MatrixIdentity($4); - dest=(17900); src=$4; 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)); + dest=(18212); src=$4; 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)); _MatrixIdentity($4); - dest=(17964); src=$4; 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)); + dest=(18276); src=$4; 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)); _MatrixIdentity($4); - dest=(18028); src=$4; 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)); + dest=(18340); src=$4; 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)); _MatrixIdentity($4); - dest=(18092); src=$4; 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)); + dest=(18404); src=$4; 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)); _MatrixIdentity($4); - dest=(18156); src=$4; 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)); + dest=(18468); src=$4; 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)); _MatrixIdentity($4); - dest=(18220); src=$4; 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)); + dest=(18532); src=$4; 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)); _MatrixIdentity($4); - dest=(18284); src=$4; 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)); + dest=(18596); src=$4; 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)); _MatrixIdentity($4); - dest=(18348); src=$4; 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)); + dest=(18660); src=$4; 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)); _MatrixIdentity($5); - dest=17096; src=$5; 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)); + dest=17408; src=$5; 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)); _MatrixIdentity($6); - dest=17160; src=$6; 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)); - HEAP32[4273] = 17160; + dest=17472; src=$6; 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)); + HEAP32[4351] = 17472; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14220,21 +14224,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4603] = $0; - HEAP32[4604] = $1; + HEAP32[4681] = $0; + HEAP32[4682] = $1; _TraceLog(0,6361,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4271]|0; + $0 = HEAP32[4349]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4272]|0; + $2 = HEAP32[4350]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4269]|0; + $4 = HEAP32[4347]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4270]|0; + $6 = HEAP32[4348]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14245,12 +14249,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 17096; + $modelview$sink = 17408; label = 3; break; } case 5888: { - $modelview$sink = 17160; + $modelview$sink = 17472; label = 3; break; } @@ -14258,9 +14262,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4273] = $modelview$sink; + HEAP32[4351] = $modelview$sink; } - HEAP32[4306] = $0; + HEAP32[4384] = $0; return; } function _rlLoadIdentity() { @@ -14268,7 +14272,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4273]|0; + $1 = HEAP32[4351]|0; _MatrixIdentity($0); dest=$1; src=$0; 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)); STACKTOP = sp;return; @@ -14289,7 +14293,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4273]|0; + $8 = HEAP32[4351]|0; dest=$$byval_copy; src=$8; 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)); dest=$$byval_copy1; src=$6; 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)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14386,15 +14390,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18432)>>2] = $0; + HEAP32[(18744)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18440)>>2] = $1; - HEAP32[(18436)>>2] = 0; - HEAP32[(18444)>>2] = 0; + HEAP32[(18752)>>2] = $1; + HEAP32[(18748)>>2] = 0; + HEAP32[(18756)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18440)>>2]|0; + $2 = HEAP32[(18752)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14405,19 +14409,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4605] = 0; - HEAP32[(18428)>>2] = 0; - HEAP32[(18424)>>2] = 0; + HEAP32[4683] = 0; + HEAP32[(18740)>>2] = 0; + HEAP32[(18736)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18480)>>2] = $5; + HEAP32[(18792)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18488)>>2] = $6; - HEAP32[(18484)>>2] = 0; - HEAP32[(18492)>>2] = 0; + HEAP32[(18800)>>2] = $6; + HEAP32[(18796)>>2] = 0; + HEAP32[(18804)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18488)>>2]|0; + $7 = HEAP32[(18800)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14428,24 +14432,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4617] = 0; - HEAP32[(18476)>>2] = 0; - HEAP32[(18472)>>2] = 0; + HEAP32[4695] = 0; + HEAP32[(18788)>>2] = 0; + HEAP32[(18784)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18528)>>2] = $10; + HEAP32[(18840)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18532)>>2] = $11; + HEAP32[(18844)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18536)>>2] = $12; + HEAP32[(18848)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18540)>>2] = $13; - $14 = HEAP32[(18528)>>2]|0; + HEAP32[(18852)>>2] = $13; + $14 = HEAP32[(18840)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18532)>>2]|0; + $15 = HEAP32[(18844)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18536)>>2]|0; + $17 = HEAP32[(18848)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14456,7 +14460,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18540)>>2]|0; + $16 = HEAP32[(18852)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14493,140 +14497,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4629] = 0; - HEAP32[(18520)>>2] = 0; - HEAP32[(18524)>>2] = 0; + HEAP32[4707] = 0; + HEAP32[(18832)>>2] = 0; + HEAP32[(18836)>>2] = 0; _TraceLog(0,6408,$vararg_buffer); - $20 = HEAP32[4307]|0; + $20 = HEAP32[4385]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4308]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18448)); - $44 = HEAP32[4309]|0; - $45 = HEAP32[(18448)>>2]|0; + $43 = HEAP32[4386]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18760)); + $44 = HEAP32[4387]|0; + $45 = HEAP32[(18760)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18452)|0)); - $46 = HEAP32[(18452)>>2]|0; + _glGenBuffers(2,((18764)|0)); + $46 = HEAP32[(18764)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18432)>>2]|0; + $47 = HEAP32[(18744)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17320)>>2]|0; + $48 = HEAP32[(17632)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17320)>>2]|0; + $49 = HEAP32[(17632)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18456)|0)); - $50 = HEAP32[(18456)>>2]|0; + _glGenBuffers(2,((18768)|0)); + $50 = HEAP32[(18768)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18440)>>2]|0; + $51 = HEAP32[(18752)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17340)>>2]|0; + $52 = HEAP32[(17652)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17340)>>2]|0; + $53 = HEAP32[(17652)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4307]|0; + $54 = HEAP32[4385]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18452)>>2]|0; - $58 = HEAP32[(18456)>>2]|0; + $57 = HEAP32[(18764)>>2]|0; + $58 = HEAP32[(18768)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6546,$vararg_buffer3); } else { - $56 = HEAP32[(18448)>>2]|0; + $56 = HEAP32[(18760)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6481,$vararg_buffer1); } - $59 = HEAP32[4307]|0; + $59 = HEAP32[4385]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4308]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18496)); - $62 = HEAP32[4309]|0; - $63 = HEAP32[(18496)>>2]|0; + $61 = HEAP32[4386]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18808)); + $62 = HEAP32[4387]|0; + $63 = HEAP32[(18808)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18500)|0)); - $64 = HEAP32[(18500)>>2]|0; + _glGenBuffers(1,((18812)|0)); + $64 = HEAP32[(18812)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18480)>>2]|0; + $65 = HEAP32[(18792)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17320)>>2]|0; + $66 = HEAP32[(17632)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17320)>>2]|0; + $67 = HEAP32[(17632)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18504)|0)); - $68 = HEAP32[(18504)>>2]|0; + _glGenBuffers(1,((18816)|0)); + $68 = HEAP32[(18816)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18488)>>2]|0; + $69 = HEAP32[(18800)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17340)>>2]|0; + $70 = HEAP32[(17652)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17340)>>2]|0; + $71 = HEAP32[(17652)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4307]|0; + $72 = HEAP32[4385]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18500)>>2]|0; - $76 = HEAP32[(18504)>>2]|0; + $75 = HEAP32[(18812)>>2]|0; + $76 = HEAP32[(18816)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6692,$vararg_buffer10); } else { - $74 = HEAP32[(18496)>>2]|0; + $74 = HEAP32[(18808)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6623,$vararg_buffer7); } - $77 = HEAP32[4307]|0; + $77 = HEAP32[4385]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4308]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18544)); - $80 = HEAP32[4309]|0; - $81 = HEAP32[(18544)>>2]|0; + $79 = HEAP32[4386]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18856)); + $80 = HEAP32[4387]|0; + $81 = HEAP32[(18856)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18548)|0)); - $82 = HEAP32[(18548)>>2]|0; + _glGenBuffers(1,((18860)|0)); + $82 = HEAP32[(18860)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18528)>>2]|0; + $83 = HEAP32[(18840)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17320)>>2]|0; + $84 = HEAP32[(17632)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17320)>>2]|0; + $85 = HEAP32[(17632)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18552)|0)); - $86 = HEAP32[(18552)>>2]|0; + _glGenBuffers(1,((18864)|0)); + $86 = HEAP32[(18864)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18532)>>2]|0; + $87 = HEAP32[(18844)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17324)>>2]|0; + $88 = HEAP32[(17636)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17324)>>2]|0; + $89 = HEAP32[(17636)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18556)|0)); - $90 = HEAP32[(18556)>>2]|0; + _glGenBuffers(1,((18868)|0)); + $90 = HEAP32[(18868)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18536)>>2]|0; + $91 = HEAP32[(18848)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17340)>>2]|0; + $92 = HEAP32[(17652)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17340)>>2]|0; + $93 = HEAP32[(17652)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18560)|0)); - $94 = HEAP32[(18560)>>2]|0; + _glGenBuffers(1,((18872)|0)); + $94 = HEAP32[(18872)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18540)>>2]|0; + $95 = HEAP32[(18852)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4307]|0; + $96 = HEAP32[4385]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18548)>>2]|0; - $100 = HEAP32[(18552)>>2]|0; - $101 = HEAP32[(18556)>>2]|0; - $102 = HEAP32[(18560)>>2]|0; + $99 = HEAP32[(18860)>>2]|0; + $100 = HEAP32[(18864)>>2]|0; + $101 = HEAP32[(18868)>>2]|0; + $102 = HEAP32[(18872)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14636,16 +14640,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,6838,$vararg_buffer17); } else { - $98 = HEAP32[(18544)>>2]|0; + $98 = HEAP32[(18856)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,6773,$vararg_buffer14); } - $103 = HEAP32[4307]|0; + $103 = HEAP32[4385]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4309]|0; + $105 = HEAP32[4387]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14826,9 +14830,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19733 + ($0)|0); + $1 = (20045 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19736 + ($0)|0); + $3 = (20048 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14840,9 +14844,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19733 + ($0)|0); + $1 = (20045 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19736 + ($0)|0); + $3 = (20048 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14863,7 +14867,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4226]|0; + $0 = HEAP32[4304]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8682,$vararg_buffer); @@ -14874,9 +14878,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16944>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16944+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16944+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16944+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16944+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17256>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17256+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17256+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17256+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17256+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16972)>>2]|0; + $0 = HEAP32[(17284)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14887,11 +14891,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17256|0)); - $0 = HEAP32[4314]|0; + _glDeleteTextures(1,(17568|0)); + $0 = HEAP32[4392]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8709,$vararg_buffer); - $1 = HEAP32[4344]|0; + $1 = HEAP32[4422]|0; _free($1); STACKTOP = sp;return; } @@ -14899,17 +14903,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4315]|0; + $0 = HEAP32[4393]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { 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; - $0 = HEAP32[4307]|0; + $0 = HEAP32[4385]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4309]|0; + $2 = HEAP32[4387]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14918,39 +14922,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18452)|0)); - _glDeleteBuffers(1,((18456)|0)); - _glDeleteBuffers(1,((18500)|0)); - _glDeleteBuffers(1,((18504)|0)); - _glDeleteBuffers(1,((18548)|0)); - _glDeleteBuffers(1,((18552)|0)); - _glDeleteBuffers(1,((18556)|0)); - _glDeleteBuffers(1,((18560)|0)); - $3 = HEAP32[4307]|0; + _glDeleteBuffers(1,((18764)|0)); + _glDeleteBuffers(1,((18768)|0)); + _glDeleteBuffers(1,((18812)|0)); + _glDeleteBuffers(1,((18816)|0)); + _glDeleteBuffers(1,((18860)|0)); + _glDeleteBuffers(1,((18864)|0)); + _glDeleteBuffers(1,((18868)|0)); + _glDeleteBuffers(1,((18872)|0)); + $3 = HEAP32[4385]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4310]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18448)); - $6 = HEAP32[4310]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18496)); - $7 = HEAP32[4310]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18544)); + $5 = HEAP32[4388]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18760)); + $6 = HEAP32[4388]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18808)); + $7 = HEAP32[4388]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18856)); } - $8 = HEAP32[(18432)>>2]|0; + $8 = HEAP32[(18744)>>2]|0; _free($8); - $9 = HEAP32[(18440)>>2]|0; + $9 = HEAP32[(18752)>>2]|0; _free($9); - $10 = HEAP32[(18480)>>2]|0; + $10 = HEAP32[(18792)>>2]|0; _free($10); - $11 = HEAP32[(18488)>>2]|0; + $11 = HEAP32[(18800)>>2]|0; _free($11); - $12 = HEAP32[(18528)>>2]|0; + $12 = HEAP32[(18840)>>2]|0; _free($12); - $13 = HEAP32[(18532)>>2]|0; + $13 = HEAP32[(18844)>>2]|0; _free($13); - $14 = HEAP32[(18536)>>2]|0; + $14 = HEAP32[(18848)>>2]|0; _free($14); - $15 = HEAP32[(18540)>>2]|0; + $15 = HEAP32[(18852)>>2]|0; _free($15); return; } @@ -14990,16 +14994,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2099] = $0; - $1 = +HEAPF64[2082]; + HEAPF64[2138] = $0; + $1 = +HEAPF64[2121]; $2 = $0 - $1; - HEAPF64[2100] = $2; - HEAPF64[2082] = $0; + HEAPF64[2139] = $2; + HEAPF64[2121] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=17000; 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)); + dest=$downscaleView$byval_copy; src=17312; 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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18572); + _rlMultMatrixf(18884); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15008,53 +15012,53 @@ function _MatrixToFloat($0) { var $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; $1 = HEAP32[$0>>2]|0; - HEAP32[4643] = $1; + HEAP32[4721] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18576)>>2] = $3; + HEAP32[(18888)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18580)>>2] = $5; + HEAP32[(18892)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18584)>>2] = $7; + HEAP32[(18896)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18588)>>2] = $9; + HEAP32[(18900)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18592)>>2] = $11; + HEAP32[(18904)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18596)>>2] = $13; + HEAP32[(18908)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18600)>>2] = $15; + HEAP32[(18912)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18604)>>2] = $17; + HEAP32[(18916)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18608)>>2] = $19; + HEAP32[(18920)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18612)>>2] = $21; + HEAP32[(18924)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18616)>>2] = $23; + HEAP32[(18928)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18620)>>2] = $25; + HEAP32[(18932)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18624)>>2] = $27; + HEAP32[(18936)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18628)>>2] = $29; + HEAP32[(18940)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18632)>>2] = $31; - return (18572|0); + HEAP32[(18944)>>2] = $31; + return (18884|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15129,7 +15133,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4273]|0; + $49 = HEAP32[4351]|0; dest=$$byval_copy; src=$49; 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)); dest=$$byval_copy1; src=$1; 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)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15143,15 +15147,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2099] = $0; - $1 = +HEAPF64[2082]; + HEAPF64[2138] = $0; + $1 = +HEAPF64[2121]; $2 = $0 - $1; - HEAPF64[2101] = $2; - HEAPF64[2082] = $0; - $3 = +HEAPF64[2100]; + HEAPF64[2140] = $2; + HEAPF64[2121] = $0; + $3 = +HEAPF64[2139]; $4 = $2 + $3; - HEAPF64[2102] = $4; - $5 = +HEAPF64[2079]; + HEAPF64[2141] = $4; + $5 = +HEAPF64[2118]; $6 = $4 < $5; if (!($6)) { return; @@ -15161,13 +15165,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2099] = $10; - $11 = +HEAPF64[2082]; + HEAPF64[2138] = $10; + $11 = +HEAPF64[2121]; $12 = $10 - $11; - HEAPF64[2082] = $10; - $13 = +HEAPF64[2102]; + HEAPF64[2121] = $10; + $13 = +HEAPF64[2141]; $14 = $12 + $13; - HEAPF64[2102] = $14; + HEAPF64[2141] = $14; return; } function _rlglDraw() { @@ -15180,7 +15184,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4226]|0; + $0 = HEAP32[4304]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15196,20 +15200,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[4659] = 0; - $3 = HEAP32[4226]|0; + HEAP32[4737] = 0; + $3 = HEAP32[4304]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4156] = $5; + HEAPF32[4234] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16628)>>2] = $7; - _memcpy((20251|0),(19739|0),512)|0; - ;HEAP8[19736>>0]=HEAP8[19733>>0]|0;HEAP8[19736+1>>0]=HEAP8[19733+1>>0]|0;HEAP8[19736+2>>0]=HEAP8[19733+2>>0]|0; - $8 = HEAP32[4642]|0; - HEAP32[4229] = $8; - HEAP32[4642] = 0; + HEAPF32[(16940)>>2] = $7; + _memcpy((20563|0),(20051|0),512)|0; + ;HEAP8[20048>>0]=HEAP8[20045>>0]|0;HEAP8[20048+1>>0]=HEAP8[20045+1>>0]|0;HEAP8[20048+2>>0]=HEAP8[20045+2>>0]|0; + $8 = HEAP32[4720]|0; + HEAP32[4307] = $8; + HEAP32[4720] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15219,8 +15223,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20763 + ($$05160<<5)|0); - $scevgep67 = (20891 + ($$05160<<5)|0); + $scevgep = (21075 + ($$05160<<5)|0); + $scevgep67 = (21203 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; 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)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15234,7 +15238,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20891 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((21203 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15261,7 +15265,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18640 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18952 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15277,7 +15281,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4659] = $$lcssa; + HEAP32[4737] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15318,87 +15322,87 @@ function _UpdateDefaultBuffers() { 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4605]|0; + $0 = HEAP32[4683]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4307]|0; + $2 = HEAP32[4385]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4309]|0; - $5 = HEAP32[(18448)>>2]|0; + $4 = HEAP32[4387]|0; + $5 = HEAP32[(18760)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18452)>>2]|0; + $6 = HEAP32[(18764)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4605]|0; + $7 = HEAP32[4683]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18432)>>2]|0; + $9 = HEAP32[(18744)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18456)>>2]|0; + $10 = HEAP32[(18768)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18428)>>2]|0; + $11 = HEAP32[(18740)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18440)>>2]|0; + $13 = HEAP32[(18752)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4617]|0; + $14 = HEAP32[4695]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4307]|0; + $16 = HEAP32[4385]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4309]|0; - $19 = HEAP32[(18496)>>2]|0; + $18 = HEAP32[4387]|0; + $19 = HEAP32[(18808)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18500)>>2]|0; + $20 = HEAP32[(18812)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4617]|0; + $21 = HEAP32[4695]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18480)>>2]|0; + $23 = HEAP32[(18792)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18504)>>2]|0; + $24 = HEAP32[(18816)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18476)>>2]|0; + $25 = HEAP32[(18788)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18488)>>2]|0; + $27 = HEAP32[(18800)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4629]|0; + $28 = HEAP32[4707]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4307]|0; + $30 = HEAP32[4385]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4309]|0; - $33 = HEAP32[(18544)>>2]|0; + $32 = HEAP32[4387]|0; + $33 = HEAP32[(18856)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18548)>>2]|0; + $34 = HEAP32[(18860)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4629]|0; + $35 = HEAP32[4707]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18528)>>2]|0; + $37 = HEAP32[(18840)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18552)>>2]|0; + $38 = HEAP32[(18864)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4629]|0; + $39 = HEAP32[4707]|0; $40 = $39 << 3; - $41 = HEAP32[(18532)>>2]|0; + $41 = HEAP32[(18844)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18556)>>2]|0; + $42 = HEAP32[(18868)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4629]|0; + $43 = HEAP32[4707]|0; $44 = $43 << 2; - $45 = HEAP32[(18536)>>2]|0; + $45 = HEAP32[(18848)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4307]|0; + $46 = HEAP32[4385]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4309]|0; + $48 = HEAP32[4387]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15416,9 +15420,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=17096; 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)); - dest=$1; src=17160; 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)); - $3 = HEAP32[4692]|0; + dest=$0; src=17408; 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)); + dest=$1; src=17472; 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)); + $3 = HEAP32[4770]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15428,134 +15432,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; 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)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4605]|0; + $8 = HEAP32[4683]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4617]|0; + $10 = HEAP32[4695]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4629]|0; + $12 = HEAP32[4707]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4329]|0; + $14 = HEAP32[4407]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=17160; 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)); - dest=$$byval_copy2; src=17096; 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)); + dest=$modelview$byval_copy; src=17472; 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)); + dest=$$byval_copy2; src=17408; 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)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17344)>>2]|0; + $15 = HEAP32[(17656)>>2]|0; dest=$$byval_copy2; 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)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17348)>>2]|0; + $17 = HEAP32[(17660)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17360)>>2]|0; + $18 = HEAP32[(17672)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4605]|0; + $19 = HEAP32[4683]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4314]|0; + $21 = HEAP32[4392]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4307]|0; + $22 = HEAP32[4385]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18452)>>2]|0; + $26 = HEAP32[(18764)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17320)>>2]|0; + $27 = HEAP32[(17632)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17320)>>2]|0; + $28 = HEAP32[(17632)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18456)>>2]|0; + $29 = HEAP32[(18768)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17340)>>2]|0; + $30 = HEAP32[(17652)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17340)>>2]|0; + $31 = HEAP32[(17652)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4309]|0; - $25 = HEAP32[(18448)>>2]|0; + $24 = HEAP32[4387]|0; + $25 = HEAP32[(18760)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4605]|0; + $32 = HEAP32[4683]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4307]|0; + $33 = HEAP32[4385]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4617]|0; + $35 = HEAP32[4695]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4314]|0; + $37 = HEAP32[4392]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4307]|0; + $38 = HEAP32[4385]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18500)>>2]|0; + $42 = HEAP32[(18812)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17320)>>2]|0; + $43 = HEAP32[(17632)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17320)>>2]|0; + $44 = HEAP32[(17632)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18504)>>2]|0; + $45 = HEAP32[(18816)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17340)>>2]|0; + $46 = HEAP32[(17652)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17340)>>2]|0; + $47 = HEAP32[(17652)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4309]|0; - $41 = HEAP32[(18496)>>2]|0; + $40 = HEAP32[4387]|0; + $41 = HEAP32[(18808)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4617]|0; + $48 = HEAP32[4695]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4307]|0; + $49 = HEAP32[4385]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4629]|0; + $51 = HEAP32[4707]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4307]|0; + $53 = HEAP32[4385]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18548)>>2]|0; + $57 = HEAP32[(18860)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17320)>>2]|0; + $58 = HEAP32[(17632)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17320)>>2]|0; + $59 = HEAP32[(17632)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18552)>>2]|0; + $60 = HEAP32[(18864)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17324)>>2]|0; + $61 = HEAP32[(17636)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17324)>>2]|0; + $62 = HEAP32[(17636)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18556)>>2]|0; + $63 = HEAP32[(18868)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17340)>>2]|0; + $64 = HEAP32[(17652)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17340)>>2]|0; + $65 = HEAP32[(17652)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18560)>>2]|0; + $66 = HEAP32[(18872)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4309]|0; - $56 = HEAP32[(18544)>>2]|0; + $55 = HEAP32[4387]|0; + $56 = HEAP32[(18856)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4345]|0; + $67 = HEAP32[4423]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4344]|0; + $71 = HEAP32[4422]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15566,14 +15570,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4344]|0; + $80 = HEAP32[4422]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4345]|0; + $87 = HEAP32[4423]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15582,7 +15586,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4307]|0; + $69 = HEAP32[4385]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15590,10 +15594,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4307]|0; + $89 = HEAP32[4385]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4309]|0; + $91 = HEAP32[4387]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15605,22 +15609,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4345] = 1; - $5 = HEAP32[4314]|0; - $6 = HEAP32[4344]|0; + HEAP32[4423] = 1; + $5 = HEAP32[4392]|0; + $6 = HEAP32[4422]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4605] = 0; - HEAP32[(18428)>>2] = 0; - HEAP32[4617] = 0; - HEAP32[(18476)>>2] = 0; - HEAP32[4629] = 0; - HEAP32[(18520)>>2] = 0; - HEAP32[(18524)>>2] = 0; + HEAP32[4683] = 0; + HEAP32[(18740)>>2] = 0; + HEAP32[4695] = 0; + HEAP32[(18788)>>2] = 0; + HEAP32[4707] = 0; + HEAP32[(18832)>>2] = 0; + HEAP32[(18836)>>2] = 0; HEAPF32[744] = -1.0; - dest=17096; src=$0; 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)); - dest=17160; src=$1; 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)); + dest=17408; src=$0; 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)); + dest=17472; src=$1; 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)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15635,17 +15639,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; 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)); - $5 = HEAP32[4603]|0; + $5 = HEAP32[4681]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4604]|0; + $9 = HEAP32[4682]|0; _rlViewport($7,0,$8,$9); - $10 = (19000 + ($0<<6)|0); + $10 = (19312 + ($0<<6)|0); dest=$$byval_copy; 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)); dest=$$byval_copy3; src=$10; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18872 + ($0<<6)|0); + $11 = (19184 + ($0<<6)|0); dest=$3; src=$11; 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)); dest=$$byval_copy3; src=$4; 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)); _SetMatrixModelview($$byval_copy3); @@ -15657,14 +15661,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17160; src=$0; 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)); + dest=17472; src=$0; 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)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17096; src=$0; 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)); + dest=17408; src=$0; 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)); return; } function _rlPushMatrix() { @@ -15672,43 +15676,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4782]|0; + $0 = HEAP32[4860]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,8824,$vararg_buffer); } - $2 = HEAP32[4782]|0; - $3 = (17388 + ($2<<6)|0); - $4 = HEAP32[4273]|0; + $2 = HEAP32[4860]|0; + $3 = (17700 + ($2<<6)|0); + $4 = HEAP32[4351]|0; dest=$3; src=$4; 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)); _rlLoadIdentity(); - $5 = HEAP32[4782]|0; + $5 = HEAP32[4860]|0; $6 = (($5) + 1)|0; - HEAP32[4782] = $6; - $7 = HEAP32[4306]|0; + HEAP32[4860] = $6; + $7 = HEAP32[4384]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4783] = 1; + HEAP32[4861] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4782]|0; + $0 = HEAP32[4860]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4782]|0; + $2 = HEAP32[4860]|0; $3 = (($2) + -1)|0; - $4 = (17388 + ($3<<6)|0); - $5 = HEAP32[4273]|0; + $4 = (17700 + ($3<<6)|0); + $5 = HEAP32[4351]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4782] = $6; + HEAP32[4860] = $6; return; } function _IsFileExtension($0,$1) { @@ -15741,7 +15745,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4273]|0; + $5 = HEAP32[4351]|0; dest=$$byval_copy; src=$5; 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)); dest=$$byval_copy1; src=$3; 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)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15774,7 +15778,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; 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)); _MatrixTranspose($4); - $11 = HEAP32[4273]|0; + $11 = HEAP32[4351]|0; dest=$$byval_copy1; src=$11; 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)); dest=$$byval_copy2; src=$4; 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)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15785,7 +15789,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4346] = $0; + HEAP32[4424] = $0; return; } function _rlEnd() { @@ -15801,21 +15805,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4783]|0; + $0 = HEAP32[4861]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4784]|0; + $2 = HEAP32[4862]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4343]|0; + $6 = HEAP32[4421]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4273]|0; + $8 = HEAP32[4351]|0; dest=$$byval_copy; src=$8; 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)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4784]|0; + $5 = HEAP32[4862]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15823,12 +15827,12 @@ function _rlEnd() { break; } } - HEAP32[4783] = 0; + HEAP32[4861] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4343]|0; + $11 = HEAP32[4421]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15837,7 +15841,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4784]|0; + $19 = HEAP32[4862]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15847,15 +15851,15 @@ function _rlEnd() { } } } else { - HEAP32[4783] = 0; + HEAP32[4861] = 0; } - HEAP32[4784] = 0; + HEAP32[4862] = 0; } - $21 = HEAP32[4346]|0; + $21 = HEAP32[4424]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4605]|0; - $23 = HEAP32[(18428)>>2]|0; + $22 = HEAP32[4683]|0; + $23 = HEAP32[(18740)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15874,16 +15878,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18440)>>2]|0; - $28 = HEAP32[(18428)>>2]|0; + $27 = HEAP32[(18752)>>2]|0; + $28 = HEAP32[(18740)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18440)>>2]|0; - $35 = HEAP32[(18428)>>2]|0; + $34 = HEAP32[(18752)>>2]|0; + $35 = HEAP32[(18740)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15891,8 +15895,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18440)>>2]|0; - $43 = HEAP32[(18428)>>2]|0; + $42 = HEAP32[(18752)>>2]|0; + $43 = HEAP32[(18740)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15900,8 +15904,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18440)>>2]|0; - $51 = HEAP32[(18428)>>2]|0; + $50 = HEAP32[(18752)>>2]|0; + $51 = HEAP32[(18740)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15909,9 +15913,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18428)>>2]|0; + $58 = HEAP32[(18740)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18428)>>2] = $59; + HEAP32[(18740)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15927,8 +15931,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4617]|0; - $62 = HEAP32[(18476)>>2]|0; + $61 = HEAP32[4695]|0; + $62 = HEAP32[(18788)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15947,16 +15951,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18488)>>2]|0; - $67 = HEAP32[(18476)>>2]|0; + $66 = HEAP32[(18800)>>2]|0; + $67 = HEAP32[(18788)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18488)>>2]|0; - $74 = HEAP32[(18476)>>2]|0; + $73 = HEAP32[(18800)>>2]|0; + $74 = HEAP32[(18788)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15964,8 +15968,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18488)>>2]|0; - $82 = HEAP32[(18476)>>2]|0; + $81 = HEAP32[(18800)>>2]|0; + $82 = HEAP32[(18788)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15973,8 +15977,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18488)>>2]|0; - $90 = HEAP32[(18476)>>2]|0; + $89 = HEAP32[(18800)>>2]|0; + $90 = HEAP32[(18788)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15982,9 +15986,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18476)>>2]|0; + $97 = HEAP32[(18788)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18476)>>2] = $98; + HEAP32[(18788)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16000,8 +16004,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4629]|0; - $101 = HEAP32[(18524)>>2]|0; + $100 = HEAP32[4707]|0; + $101 = HEAP32[(18836)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16009,16 +16013,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18536)>>2]|0; - $106 = HEAP32[(18524)>>2]|0; + $105 = HEAP32[(18848)>>2]|0; + $106 = HEAP32[(18836)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18536)>>2]|0; - $113 = HEAP32[(18524)>>2]|0; + $112 = HEAP32[(18848)>>2]|0; + $113 = HEAP32[(18836)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16026,8 +16030,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18536)>>2]|0; - $121 = HEAP32[(18524)>>2]|0; + $120 = HEAP32[(18848)>>2]|0; + $121 = HEAP32[(18836)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16035,8 +16039,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18536)>>2]|0; - $129 = HEAP32[(18524)>>2]|0; + $128 = HEAP32[(18848)>>2]|0; + $129 = HEAP32[(18836)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16044,9 +16048,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18524)>>2]|0; + $136 = HEAP32[(18836)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18524)>>2] = $137; + HEAP32[(18836)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16057,8 +16061,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4629]|0; - $140 = HEAP32[(18520)>>2]|0; + $139 = HEAP32[4707]|0; + $140 = HEAP32[(18832)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16066,8 +16070,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18532)>>2]|0; - $$promoted = HEAP32[(18520)>>2]|0; + $142 = HEAP32[(18844)>>2]|0; + $$promoted = HEAP32[(18832)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16075,7 +16079,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18520)>>2] = $147; + HEAP32[(18832)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16102,11 +16106,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4783]|0; + $3 = HEAP32[4861]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4343]|0; - $6 = HEAP32[4784]|0; + $5 = HEAP32[4421]|0; + $6 = HEAP32[4862]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16114,16 +16118,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4784] = $10; + HEAP32[4862] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4346]|0; + $11 = HEAP32[4424]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4605]|0; + $12 = HEAP32[4683]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18432)>>2]|0; + $14 = HEAP32[(18744)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16134,7 +16138,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4605] = $21; + HEAP32[4683] = $21; STACKTOP = sp;return; } else { _TraceLog(1,8862,$vararg_buffer); @@ -16143,10 +16147,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4617]|0; + $22 = HEAP32[4695]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18480)>>2]|0; + $24 = HEAP32[(18792)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16157,7 +16161,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4617] = $31; + HEAP32[4695] = $31; STACKTOP = sp;return; } else { _TraceLog(1,8887,$vararg_buffer1); @@ -16166,10 +16170,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4629]|0; + $32 = HEAP32[4707]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18528)>>2]|0; + $34 = HEAP32[(18840)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16180,9 +16184,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4629] = $41; - $42 = HEAP32[4344]|0; - $43 = HEAP32[4345]|0; + HEAP32[4707] = $41; + $42 = HEAP32[4422]|0; + $43 = HEAP32[4423]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16214,13 +16218,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4346]|0; + $2 = HEAP32[4424]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18532)>>2]|0; - $5 = HEAP32[(18520)>>2]|0; + $4 = HEAP32[(18844)>>2]|0; + $5 = HEAP32[(18832)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16228,7 +16232,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18520)>>2] = $10; + HEAP32[(18832)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16247,18 +16251,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4346]|0; + $4 = HEAP32[4424]|0; switch ($4|0) { case 1: { - $$sink37 = (18428);$$sink38 = (18440); + $$sink37 = (18740);$$sink38 = (18752); break; } case 4: { - $$sink37 = (18476);$$sink38 = (18488); + $$sink37 = (18788);$$sink38 = (18800); break; } case 7: { - $$sink37 = (18524);$$sink38 = (18536); + $$sink37 = (18836);$$sink38 = (18848); break; } default: { @@ -16297,8 +16301,8 @@ function _rlEnableTexture($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 = HEAP32[4344]|0; - $2 = HEAP32[4345]|0; + $1 = HEAP32[4422]|0; + $2 = HEAP32[4423]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16311,9 +16315,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4345] = $10; + HEAP32[4423] = $10; } - $11 = HEAP32[4345]|0; + $11 = HEAP32[4423]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16324,7 +16328,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4629]|0; + $0 = HEAP32[4707]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16485,40 +16489,11 @@ function _rlglReadTexturePixels($0) { _rlDeleteRenderTextures($$byval_copy); STACKTOP = sp;return ($12|0); } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9230); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10563)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4785] = $0; + HEAP32[4863] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16582,7 +16557,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9242|0),(9268|0),1125,(9291|0)); + ___assert_fail((9230|0),(9256|0),1041,(9279|0)); // unreachable; } } @@ -16600,7 +16575,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4786]|0; + $15 = HEAP32[4864]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16693,7 +16668,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9332); + _stbi__err(9320); $$0 = 0; return ($$0|0); } else { @@ -16715,7 +16690,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9323); + _stbi__err(9311); $$0 = 0; return ($$0|0); } @@ -16785,7 +16760,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9351); + _stbi__err(9339); $$045 = 0; return ($$045|0); } @@ -17346,7 +17321,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9667 + ($120)|0); + $121 = (9655 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17388,97 +17363,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9441); + _stbi__err(9429); $$6$ph = 0; break; } case 9: { - _stbi__err(9455); + _stbi__err(9443); $$6$ph = 0; break; } case 11: { - _stbi__err(9468); + _stbi__err(9456); $$6$ph = 0; break; } case 13: { - _stbi__err(9468); + _stbi__err(9456); $$6$ph = 0; break; } case 15: { - _stbi__err(9478); + _stbi__err(9466); $$6$ph = 0; break; } case 17: { - _stbi__err(9498); + _stbi__err(9486); $$6$ph = 0; break; } case 20: { - _stbi__err(9498); + _stbi__err(9486); $$6$ph = 0; break; } case 22: { - _stbi__err(9498); + _stbi__err(9486); $$6$ph = 0; break; } case 24: { - _stbi__err(9508); + _stbi__err(9496); $$6$ph = 0; break; } case 26: { - _stbi__err(9524); + _stbi__err(9512); $$6$ph = 0; break; } case 28: { - _stbi__err(9542); + _stbi__err(9530); $$6$ph = 0; break; } case 31: { - _stbi__err(9563); + _stbi__err(9551); $$6$ph = 0; break; } case 34: { - _stbi__err(9468); + _stbi__err(9456); $$6$ph = 0; break; } case 37: { - _stbi__err(9468); + _stbi__err(9456); $$6$ph = 0; break; } case 39: { - _stbi__err(9577); + _stbi__err(9565); $$6$ph = 0; break; } case 41: { - _stbi__err(9592); + _stbi__err(9580); $$6$ph = 0; break; } case 44: { - _stbi__err(9592); + _stbi__err(9580); $$6$ph = 0; break; } case 47: { - _stbi__err(9577); + _stbi__err(9565); $$6$ph = 0; break; } case 49: { - _stbi__err(9605); + _stbi__err(9593); $$6$ph = 0; break; } @@ -17489,32 +17464,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9621); + _stbi__err(9609); $$6$ph = 0; break; } case 58: { - _stbi__err(9638); + _stbi__err(9626); $$6$ph = 0; break; } case 61: { - _stbi__err(9651); + _stbi__err(9639); $$6$ph = 0; break; } case 63: { - _stbi__err(9638); + _stbi__err(9626); $$6$ph = 0; break; } case 70: { - _stbi__err(9577); + _stbi__err(9565); $$6$ph = 0; break; } case 72: { - _stbi__err(9676); + _stbi__err(9664); $$6$ph = 0; break; } @@ -17526,12 +17501,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9323); + _stbi__err(9311); $$6$ph = 0; break; } case 83: { - _stbi__err(9684); + _stbi__err(9672); $$6$ph = 0; break; } @@ -17544,7 +17519,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9694); + _stbi__err(9682); $$4 = 0; break; } @@ -17609,7 +17584,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4787]|0; + $193 = HEAP32[4865]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17642,7 +17617,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9577); + _stbi__err(9565); $$4 = 0; } } while(0); @@ -17650,24 +17625,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9577); + _stbi__err(9565); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9702] = $206; + HEAP8[9690] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9703)>>0] = $209; + HEAP8[(9691)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9704)>>0] = $211; + HEAP8[(9692)>>0] = $211; $212 = $207&255; - HEAP8[(9705)>>0] = $212; - _stbi__err(9702); + HEAP8[(9693)>>0] = $212; + _stbi__err(9690); $$6$ph = 0; break; } @@ -17701,14 +17676,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9364|0),(9268|0),1561,(9420|0)); + ___assert_fail((9352|0),(9256|0),1477,(9408|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9323); + _stbi__err(9311); $$0163 = 0; return ($$0163|0); } @@ -18071,7 +18046,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9418|0),(9268|0),1590,(9420|0)); + ___assert_fail((9406|0),(9256|0),1506,(9408|0)); // unreachable; } } while(0); @@ -18105,7 +18080,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9364|0),(9268|0),1610,(9395|0)); + ___assert_fail((9352|0),(9256|0),1526,(9383|0)); // unreachable; } $7 = $2 << 1; @@ -18115,7 +18090,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9323); + _stbi__err(9311); $$0163 = 0; return ($$0163|0); } @@ -18478,7 +18453,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9418|0),(9268|0),1639,(9395|0)); + ___assert_fail((9406|0),(9256|0),1555,(9383|0)); // unreachable; } } while(0); @@ -18626,7 +18601,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10359); + _stbi__err(10667); $$05 = 0; return ($$05|0); } @@ -19063,7 +19038,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9761|0),(9268|0),4568,(9813|0)); + ___assert_fail((9749|0),(9256|0),4569,(9801|0)); // unreachable; } } @@ -19150,7 +19125,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9761|0),(9268|0),4543,(9786|0)); + ___assert_fail((9749|0),(9256|0),4544,(9774|0)); // unreachable; } } @@ -19197,7 +19172,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4788]|0; + $16 = HEAP32[4866]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19272,7 +19247,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9727|0),(9268|0),4649,(9745|0)); + ___assert_fail((9715|0),(9256|0),4650,(9733|0)); // unreachable; } } @@ -19295,7 +19270,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9323); + _stbi__err(9311); $$0 = 0; return ($$0|0); } @@ -19472,7 +19447,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9842|0),(9268|0),4294,(9883|0)); + ___assert_fail((9830|0),(9256|0),4294,(9871|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19480,7 +19455,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9323); + _stbi__err(9311); $$2 = 0; return ($$2|0); } @@ -19499,7 +19474,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9910); + _stbi__err(9898); $$2 = 0; return ($$2|0); } @@ -19512,7 +19487,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9910); + _stbi__err(9898); $$2 = 0; return ($$2|0); } @@ -19520,12 +19495,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19548,33 +19523,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9949 + ($56)|0); + $60 = (9937 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19584,24 +19559,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19611,10 +19586,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19625,10 +19600,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19639,14 +19614,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19676,7 +19651,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19691,12 +19666,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20273,15 +20248,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9928|0),(9268|0),4315,(9883|0)); + ___assert_fail((9916|0),(9256|0),4315,(9871|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9954|0),(9268|0),4376,(9883|0)); + ___assert_fail((9942|0),(9256|0),4377,(9871|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9971); + _stbi__err(9959); $$2 = 0; return ($$2|0); } @@ -20331,7 +20306,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9667 + ($6)|0); + $336 = (9655 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20772,7 +20747,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9986|0),(9268|0),4465,(9883|0)); + ___assert_fail((9974|0),(9256|0),4466,(9871|0)); // unreachable; } else if ((label|0) == 151) { @@ -20832,8 +20807,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20848,15 +20823,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20865,65 +20840,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(21050)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9985,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); + $$0 = 0; + label = 11; + break L5; } - $15 = (_stbi__zbuild_huffman($8,21051,288)|0); + $15 = (_stbi__zbuild_huffman($8,10273,32)|0); $16 = ($15|0)==(0); if ($16) { $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,21019,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); $20 = ($19|0)==(0); if ($20) { $$0 = 0; - label = 13; - break L5; - } else { label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20942,14 +20912,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10312); + _stbi__err(10620); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10328); + _stbi__err(10636); $$0 = 0; return ($$0|0); } @@ -20958,7 +20928,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10343); + _stbi__err(10651); $$0 = 0; return ($$0|0); } @@ -21041,7 +21011,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10234|0),(9268|0),4048,(10251|0)); + ___assert_fail((10542|0),(9256|0),4033,(10559|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -21078,7 +21048,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10282); + _stbi__err(10590); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21088,7 +21058,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10295); + _stbi__err(10603); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21118,21 +21088,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((21051|0),8,144)|0; - dest=(21195); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21307); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21331); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=21019; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21266,7 +21221,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10172); + _stbi__err(10480); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21355,7 +21310,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10224); + _stbi__err(10532); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21384,7 +21339,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11018 + ($$06579)|0); + $14 = (11326 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21475,21 +21430,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10172); + _stbi__err(10480); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10172); + _stbi__err(10480); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10188|0),(9268|0),4021,(10196|0)); + ___assert_fail((10496|0),(9256|0),4006,(10504|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10172); + _stbi__err(10480); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21499,7 +21454,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10172); + _stbi__err(10480); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21663,7 +21618,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9997); + _stbi__err(10305); $$3$ph = 0; return ($$3$ph|0); } @@ -21673,12 +21628,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9997); + _stbi__err(10305); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10014); + _stbi__err(10322); $$3$ph = 0; return ($$3$ph|0); } @@ -21735,7 +21690,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10023); + _stbi__err(10331); $$0 = 0; return ($$0|0); } @@ -21761,7 +21716,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9323); + _stbi__err(9311); $$0 = 0; return ($$0|0); } else { @@ -21806,7 +21761,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10119|0),(9268|0),3863,(10156|0)); + ___assert_fail((10427|0),(9256|0),3848,(10464|0)); // unreachable; } else if ((label|0) == 5) { @@ -21854,7 +21809,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10043|0),(9268|0),3891,(10059|0)); + ___assert_fail((10351|0),(9256|0),3876,(10367|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21882,7 +21837,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10090|0),(9268|0),3781,(10101|0)); + ___assert_fail((10398|0),(9256|0),3766,(10409|0)); // unreachable; } return (0)|0; @@ -22028,10 +21983,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -22042,27 +21997,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10371)|0); + $6 = (_IsFileExtension($1,10679)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10424)|0); + $19 = (_IsFileExtension($1,10732)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10429,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10737,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10871)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -22090,7 +22046,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -22107,18 +22063,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10377,$vararg_buffer); + _TraceLog(2,10685,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -22127,34 +22083,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10465,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; + _TraceLog(0,10773,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; } } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10504,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10812,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22173,11 +22136,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10563)|0); + $4 = (_fopen($0,10871)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10566,$vararg_buffer); + _TraceLog(2,10874,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22276,7 +22239,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10663,$vararg_buffer4); + _TraceLog(0,10971,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22311,14 +22274,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10709,$vararg_buffer8); + _TraceLog(2,11017,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10617,$vararg_buffer1); + _TraceLog(2,10925,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22408,7 +22371,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10535,$vararg_buffer); + _TraceLog(2,10843,$vararg_buffer); $$0 = $6; } } @@ -22453,27 +22416,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10759,$vararg_buffer); + _TraceLog(2,11067,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10798,$vararg_buffer1); + _TraceLog(2,11106,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10824,$vararg_buffer3); + _TraceLog(2,11132,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10887,$vararg_buffer5); + _TraceLog(2,11195,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10922,$vararg_buffer7); + _TraceLog(2,11230,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10957,$vararg_buffer10); + _TraceLog(0,11265,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23656,7 +23619,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11014 + ($$361133)|0); + $199 = (11322 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -24086,7 +24049,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11014 + ($$331130)|0); + $186 = (11322 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -24124,7 +24087,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11014 + ($$371134)|0); + $203 = (11322 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24163,7 +24126,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11018 + ($$421139)|0); + $235 = (11326 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24570,7 +24533,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11037 + ($495)|0); + $496 = (11345 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24607,7 +24570,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11041 + ($515)|0); + $516 = (11349 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25524,7 +25487,7 @@ function _GetTextureData($0,$1) { $5 = (_rlglReadTexturePixels($$byval_copy)|0); $6 = ($5|0)==(0|0); if ($6) { - _TraceLog(2,11086,$vararg_buffer1); + _TraceLog(2,11394,$vararg_buffer1); $$sroa$0$0 = 0;$$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$9$0 = 0; break; } @@ -25540,10 +25503,10 @@ function _GetTextureData($0,$1) { $13 = HEAP32[$2>>2]|0; $$sink = $13; } - _TraceLog(0,11045,$vararg_buffer); + _TraceLog(0,11353,$vararg_buffer); $$sroa$0$0 = $5;$$sroa$6$0 = $8;$$sroa$7$0 = $10;$$sroa$9$0 = $$sink; } else { - _TraceLog(2,11127,$vararg_buffer3); + _TraceLog(2,11435,$vararg_buffer3); $$sroa$0$0 = 0;$$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$9$0 = 0; } } while(0); @@ -25562,7 +25525,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16944>>2]|0;HEAP32[$0+4>>2]=HEAP32[16944+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16944+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16944+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16944+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16944+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16944+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16944+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17256>>2]|0;HEAP32[$0+4>>2]=HEAP32[17256+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17256+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17256+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17256+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17256+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17256+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17256+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -26068,7 +26031,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11173)|0); + $12 = (_strstr($11,11481)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -26077,7 +26040,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11177)|0); + $17 = (_strstr($16,11485)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -26086,7 +26049,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11181)|0); + $22 = (_strstr($21,11489)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -26095,7 +26058,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11185)|0); + $27 = (_strstr($26,11493)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -26104,1210 +26067,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11191)|0); + $32 = (_strcmp($31,11499)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11229)|0); + $35 = (_strcmp($34,11537)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11248; + HEAP32[$3>>2] = 11556; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11261)|0); + $38 = (_strcmp($37,11569)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11282; + HEAP32[$3>>2] = 11590; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11297)|0); + $41 = (_strcmp($40,11605)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11312; + HEAP32[$3>>2] = 11620; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11327)|0); + $44 = (_strcmp($43,11635)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11342; + HEAP32[$3>>2] = 11650; } } else { - HEAP32[$3>>2] = 11213; + HEAP32[$3>>2] = 11521; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11357)|0); + $47 = (_strcmp($46,11665)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11371)|0); + $50 = (_strcmp($49,11679)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11383)|0); + $53 = (_strcmp($52,11691)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11397)|0); + $56 = (_strcmp($55,11705)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11409)|0); + $59 = (_strcmp($58,11717)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11423)|0); + $62 = (_strcmp($61,11731)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11437)|0); + $65 = (_strcmp($64,11745)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11454)|0); + $68 = (_strcmp($67,11762)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11477)|0); + $71 = (_strcmp($70,11785)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11503)|0); + $74 = (_strcmp($73,11811)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11516)|0); + $77 = (_strcmp($76,11824)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11532)|0); + $80 = (_strcmp($79,11840)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11545)|0); + $83 = (_strcmp($82,11853)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11559)|0); + $86 = (_strcmp($85,11867)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11579)|0); + $89 = (_strcmp($88,11887)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11599)|0); + $92 = (_strcmp($91,11907)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11616)|0); + $95 = (_strcmp($94,11924)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11633)|0); + $98 = (_strcmp($97,11941)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11645)|0); + $101 = (_strcmp($100,11953)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11658)|0); + $104 = (_strcmp($103,11966)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11674)|0); + $107 = (_strcmp($106,11982)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11697)|0); + $110 = (_strcmp($109,12005)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11710)|0); + $113 = (_strcmp($112,12018)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11726)|0); + $116 = (_strcmp($115,12034)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11737)|0); + $119 = (_strcmp($118,12045)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11756)|0); + $122 = (_strcmp($121,12064)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11778)|0); + $125 = (_strcmp($124,12086)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11797)|0); + $128 = (_strcmp($127,12105)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11826)|0); + $131 = (_strcmp($130,12134)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11843)|0); + $134 = (_strcmp($133,12151)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11858)|0); + $137 = (_strcmp($136,12166)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11873)|0); + $140 = (_strcmp($139,12181)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11894)|0); + $143 = (_strcmp($142,12202)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11914)|0); + $146 = (_strcmp($145,12222)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11934)|0); + $149 = (_strcmp($148,12242)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11960)|0); + $152 = (_strcmp($151,12268)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11979)|0); + $155 = (_strcmp($154,12287)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11991)|0); + $158 = (_strcmp($157,12299)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12003)|0); + $161 = (_strcmp($160,12311)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12015)|0); + $164 = (_strcmp($163,12323)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12027)|0); + $167 = (_strcmp($166,12335)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12039)|0); + $170 = (_strcmp($169,12347)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,12051)|0); + $173 = (_strcmp($172,12359)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,12063)|0); + $176 = (_strcmp($175,12371)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,12075)|0); + $179 = (_strcmp($178,12383)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,12088)|0); + $182 = (_strcmp($181,12396)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,12101)|0); + $185 = (_strcmp($184,12409)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,12114)|0); + $188 = (_strcmp($187,12422)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,12127)|0); + $191 = (_strcmp($190,12435)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,12140)|0); + $194 = (_strcmp($193,12448)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,12153)|0); + $197 = (_strcmp($196,12461)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12166)|0); + $200 = (_strcmp($199,12474)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12179)|0); + $203 = (_strcmp($202,12487)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12198)|0); + $206 = (_strcmp($205,12506)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12217)|0); + $209 = (_strcmp($208,12525)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12236)|0); + $212 = (_strcmp($211,12544)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12249)|0); + $215 = (_strcmp($214,12557)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12267)|0); + $218 = (_strcmp($217,12575)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12285)|0); + $221 = (_strcmp($220,12593)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12303)|0); + $224 = (_strcmp($223,12611)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12321)|0); + $227 = (_strcmp($226,12629)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12341)|0); + $230 = (_strcmp($229,12649)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11282)|0); + $233 = (_strcmp($232,11590)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12359)|0); + $236 = (_strcmp($235,12667)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12374)|0); + $239 = (_strcmp($238,12682)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12395)|0); + $242 = (_strcmp($241,12703)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12410)|0); + $245 = (_strcmp($244,12718)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12428)|0); + $248 = (_strcmp($247,12736)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12444)|0); + $251 = (_strcmp($250,12752)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12463)|0); + $254 = (_strcmp($253,12771)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12477)|0); + $257 = (_strcmp($256,12785)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12492)|0); + $260 = (_strcmp($259,12800)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11213)|0); + $263 = (_strcmp($262,11521)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12503)|0); + $266 = (_strcmp($265,12811)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11312)|0); + $269 = (_strcmp($268,11620)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11342)|0); + $272 = (_strcmp($271,11650)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12519)|0); + $275 = (_strcmp($274,12827)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12546)|0); + $278 = (_strcmp($277,12854)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12560)|0); + $281 = (_strcmp($280,12868)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11248)|0); + $284 = (_strcmp($283,11556)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12580)|0); + $287 = (_strcmp($286,12888)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12598)|0); + $290 = (_strcmp($289,12906)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12610)|0); + $293 = (_strcmp($292,12918)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12631)|0); + $296 = (_strcmp($295,12939)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12649)|0); + $299 = (_strcmp($298,12957)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12667)|0); + $302 = (_strcmp($301,12975)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12688)|0); + $305 = (_strcmp($304,12996)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12714)|0); + $308 = (_strcmp($307,13022)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12737)|0); + $311 = (_strcmp($310,13045)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12775)|0); + $314 = (_strcmp($313,13083)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12791)|0); + $317 = (_strcmp($316,13099)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12806)|0); + $320 = (_strcmp($319,13114)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12829)|0); + $323 = (_strcmp($322,13137)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12842)|0); + $326 = (_strcmp($325,13150)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12856)|0); + $329 = (_strcmp($328,13164)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12870)|0); + $332 = (_strcmp($331,13178)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12890)|0); + $335 = (_strcmp($334,13198)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12910)|0); + $338 = (_strcmp($337,13218)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12926)|0); + $341 = (_strcmp($340,13234)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12944)|0); + $344 = (_strcmp($343,13252)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12960)|0); + $347 = (_strcmp($346,13268)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12975)|0); + $350 = (_strcmp($349,13283)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12997)|0); + $353 = (_strcmp($352,13305)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13015)|0); + $356 = (_strcmp($355,13323)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13036)|0); + $359 = (_strcmp($358,13344)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,13054)|0); + $362 = (_strcmp($361,13362)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,13067)|0); + $365 = (_strcmp($364,13375)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,13082)|0); + $368 = (_strcmp($367,13390)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,13096)|0); + $371 = (_strcmp($370,13404)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,13106)|0); + $374 = (_strcmp($373,13414)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,13116)|0); + $377 = (_strcmp($376,13424)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,13138)|0); + $380 = (_strcmp($379,13446)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13164)|0); + $383 = (_strcmp($382,13472)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13191)|0); + $386 = (_strcmp($385,13499)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13204)|0); + $389 = (_strcmp($388,13512)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13219)|0); + $392 = (_strcmp($391,13527)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13234)|0); + $395 = (_strcmp($394,13542)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13258)|0); + $398 = (_strcmp($397,13566)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13269)|0); + $401 = (_strcmp($400,13577)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13291)|0); + $404 = (_strcmp($403,13599)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13313)|0); + $407 = (_strcmp($406,13621)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13337)|0); + $410 = (_strcmp($409,13645)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13346)|0); + $413 = (_strcmp($412,13654)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13354)|0); + $416 = (_strcmp($415,13662)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13367)|0); + $419 = (_strcmp($418,13675)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13381)|0); + $422 = (_strcmp($421,13689)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13393)|0); + $425 = (_strcmp($424,13701)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13402)|0); + $428 = (_strcmp($427,13710)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13412)|0); + $431 = (_strcmp($430,13720)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13424)|0); + $434 = (_strcmp($433,13732)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13435)|0); + $437 = (_strcmp($436,13743)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13443)|0); + $440 = (_strcmp($439,13751)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13455)|0); + $443 = (_strcmp($442,13763)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13470)|0); + $446 = (_strcmp($445,13778)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13482)|0); + $449 = (_strcmp($448,13790)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13496)|0); + $452 = (_strcmp($451,13804)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13521)|0); + $455 = (_strcmp($454,13829)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13538)|0); + $458 = (_strcmp($457,13846)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13554)|0); + $461 = (_strcmp($460,13862)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13570)|0); + $464 = (_strcmp($463,13878)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13582)|0); + $467 = (_strcmp($466,13890)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13594)|0); + $470 = (_strcmp($469,13902)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13618)|0); + $473 = (_strcmp($472,13926)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13631)|0); + $476 = (_strcmp($475,13939)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13645)|0); + $479 = (_strcmp($478,13953)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13667)|0); + $482 = (_strcmp($481,13975)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13674)|0); + $485 = (_strcmp($484,13982)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13690)|0); + $488 = (_strcmp($487,13998)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13707)|0); + $491 = (_strcmp($490,14015)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13724)|0); + $494 = (_strcmp($493,14032)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13740)|0); + $497 = (_strcmp($496,14048)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13756)|0); + $500 = (_strcmp($499,14064)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13773)|0); + $503 = (_strcmp($502,14081)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13787)|0); + $506 = (_strcmp($505,14095)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13799)|0); + $509 = (_strcmp($508,14107)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13810)|0); + $512 = (_strcmp($511,14118)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13823)|0); + $515 = (_strcmp($514,14131)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13833)|0); + $518 = (_strcmp($517,14141)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13850)|0); + $521 = (_strcmp($520,14158)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13862)|0); + $524 = (_strcmp($523,14170)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13884)|0); + $527 = (_strcmp($526,14192)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13904)|0); + $530 = (_strcmp($529,14212)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13917)|0); + $533 = (_strcmp($532,14225)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13939)|0); + $536 = (_strcmp($535,14247)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13959)|0); + $539 = (_strcmp($538,14267)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13976)|0); + $542 = (_strcmp($541,14284)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13993)|0); + $545 = (_strcmp($544,14301)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14013)|0); + $548 = (_strcmp($547,14321)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -27329,7 +27292,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (19156|0); + return (19468|0); } function ___stdio_close($0) { $0 = $0|0; @@ -28193,7 +28156,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((14129 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14437 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -28371,7 +28334,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14593;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14901;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -28392,7 +28355,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14593;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14901;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -28400,8 +28363,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14593 : (14595); - $$$ = $238 ? $$ : (14594); + $$ = $240 ? 14901 : (14903); + $$$ = $238 ? $$ : (14902); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -28418,7 +28381,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14593;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14901;$242 = $167;$243 = $170; label = 66; break; } @@ -28431,7 +28394,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14593;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14901;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -28445,7 +28408,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14603; + $271 = $270 ? $269 : 14911; $$1 = $271; label = 71; break; @@ -28485,7 +28448,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14593;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14901;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -28507,8 +28470,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14593 + ($208)|0); - $$289 = $or$cond283 ? 14593 : $209; + $209 = (14901 + ($208)|0); + $$289 = $or$cond283 ? 14901 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -28529,7 +28492,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14593;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14901;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -29059,7 +29022,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14645 + ($7)|0); + $9 = (14953 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -29417,14 +29380,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14610; + $$0471 = $14;$$0520 = 1;$$0521 = 14918; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14611) : (14616); - $$$ = $16 ? $$ : (14613); + $$ = $18 ? (14919) : (14924); + $$$ = $16 ? $$ : (14921); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -29523,7 +29486,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14645 + ($80)|0); + $81 = (14953 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -30134,7 +30097,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14661,1); + _out($0,14969,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -30215,7 +30178,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14661,1); + _out($0,14969,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -30272,9 +30235,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14629 : 14633; + $29 = $28 ? 14937 : 14941; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14637 : 14641; + $31 = $28 ? 14945 : 14949; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -30484,7 +30447,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14663 + ($$016)|0); + $3 = (14971 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -30495,7 +30458,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14751;$$115 = 87; + $$01214 = 15059;$$115 = 87; label = 5; break; } else { @@ -30505,9 +30468,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14751; + $$012$lcssa = 15059; } else { - $$01214 = 14751;$$115 = $$016; + $$01214 = 15059;$$115 = $$016; label = 5; } } @@ -31170,7 +31133,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16555,$3,4)|0); + $memchr = (_memchr(16863,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -31259,7 +31222,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16555,$4,4)|0); + $memchr = (_memchr(16863,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -31350,7 +31313,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(19160)>>2]|0; + $38 = HEAP32[(19472)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -31383,13 +31346,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19220|0)); - return (19228|0); + ___lock((19532|0)); + return (19540|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19220|0)); + ___unlock((19532|0)); return; } function _fclose($0) { @@ -32453,7 +32416,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16824; + $2 = 17136; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -32670,7 +32633,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4808]|0; + $3 = HEAP32[4886]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -32689,22 +32652,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4808] = 0; + HEAP32[4886] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4808] = $10; + HEAP32[4886] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4808] = 0; + HEAP32[4886] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4808] = $13; + HEAP32[4886] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -32785,7 +32748,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4809]|0; + $8 = HEAP32[4887]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -32794,7 +32757,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19276 + ($15<<2)|0); + $16 = (19588 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -32805,9 +32768,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4809] = $24; + HEAP32[4887] = $24; } else { - $25 = HEAP32[(19252)>>2]|0; + $25 = HEAP32[(19564)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -32838,7 +32801,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19244)>>2]|0; + $37 = HEAP32[(19556)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -32872,7 +32835,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19276 + ($68<<2)|0); + $69 = (19588 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -32883,10 +32846,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4809] = $77; + HEAP32[4887] = $77; $98 = $77; } else { - $78 = HEAP32[(19252)>>2]|0; + $78 = HEAP32[(19564)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -32919,22 +32882,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19256)>>2]|0; + $92 = HEAP32[(19568)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19276 + ($94<<2)|0); + $95 = (19588 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4809] = $100; + HEAP32[4887] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19252)>>2]|0; + $103 = HEAP32[(19564)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -32951,12 +32914,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19244)>>2] = $84; - HEAP32[(19256)>>2] = $87; + HEAP32[(19556)>>2] = $84; + HEAP32[(19568)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19240)>>2]|0; + $108 = HEAP32[(19552)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -32984,7 +32947,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19540 + ($132<<2)|0); + $133 = (19852 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -33024,7 +32987,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19252)>>2]|0; + $155 = HEAP32[(19564)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -33119,7 +33082,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19540 + ($188<<2)|0); + $189 = (19852 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -33130,11 +33093,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19240)>>2] = $194; + HEAP32[(19552)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19252)>>2]|0; + $195 = HEAP32[(19564)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -33155,7 +33118,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19252)>>2]|0; + $201 = HEAP32[(19564)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -33185,7 +33148,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19252)>>2]|0; + $213 = HEAP32[(19564)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -33222,22 +33185,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19256)>>2]|0; + $231 = HEAP32[(19568)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19276 + ($233<<2)|0); + $234 = (19588 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4809] = $238; + HEAP32[4887] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19252)>>2]|0; + $241 = HEAP32[(19564)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -33254,8 +33217,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19244)>>2] = $$0193$lcssa$i; - HEAP32[(19256)>>2] = $157; + HEAP32[(19556)>>2] = $$0193$lcssa$i; + HEAP32[(19568)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -33271,7 +33234,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19240)>>2]|0; + $250 = HEAP32[(19552)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -33311,7 +33274,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19540 + ($$0358$i<<2)|0); + $278 = (19852 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -33403,7 +33366,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19540 + ($330<<2)|0); + $331 = (19852 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -33447,11 +33410,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19244)>>2]|0; + $345 = HEAP32[(19556)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19252)>>2]|0; + $348 = HEAP32[(19564)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -33548,7 +33511,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19540 + ($381<<2)|0); + $382 = (19852 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -33559,12 +33522,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19240)>>2] = $387; + HEAP32[(19552)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19252)>>2]|0; + $388 = HEAP32[(19564)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -33586,7 +33549,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19252)>>2]|0; + $394 = HEAP32[(19564)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -33618,7 +33581,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19252)>>2]|0; + $406 = HEAP32[(19564)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -33659,20 +33622,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19276 + ($425<<2)|0); - $427 = HEAP32[4809]|0; + $426 = (19588 + ($425<<2)|0); + $427 = HEAP32[4887]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4809] = $431; + HEAP32[4887] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19252)>>2]|0; + $434 = HEAP32[(19564)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -33724,7 +33687,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19540 + ($$0361$i<<2)|0); + $464 = (19852 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -33736,7 +33699,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19240)>>2] = $472; + HEAP32[(19552)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -33775,7 +33738,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19252)>>2]|0; + $491 = HEAP32[(19564)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -33794,7 +33757,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19252)>>2]|0; + $498 = HEAP32[(19564)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -33827,16 +33790,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19244)>>2]|0; + $506 = HEAP32[(19556)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19256)>>2]|0; + $509 = HEAP32[(19568)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19256)>>2] = $511; - HEAP32[(19244)>>2] = $508; + HEAP32[(19568)>>2] = $511; + HEAP32[(19556)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -33846,8 +33809,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19244)>>2] = 0; - HEAP32[(19256)>>2] = 0; + HEAP32[(19556)>>2] = 0; + HEAP32[(19568)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -33861,14 +33824,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19248)>>2]|0; + $524 = HEAP32[(19560)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19248)>>2] = $526; - $527 = HEAP32[(19260)>>2]|0; + HEAP32[(19560)>>2] = $526; + $527 = HEAP32[(19572)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19260)>>2] = $528; + HEAP32[(19572)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -33879,23 +33842,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4927]|0; + $534 = HEAP32[5005]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19716)>>2] = 4096; - HEAP32[(19712)>>2] = 4096; - HEAP32[(19720)>>2] = -1; - HEAP32[(19724)>>2] = -1; - HEAP32[(19728)>>2] = 0; - HEAP32[(19680)>>2] = 0; + HEAP32[(20028)>>2] = 4096; + HEAP32[(20024)>>2] = 4096; + HEAP32[(20032)>>2] = -1; + HEAP32[(20036)>>2] = -1; + HEAP32[(20040)>>2] = 0; + HEAP32[(19992)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4927] = $538; + HEAP32[5005] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19716)>>2]|0; + $$pre$i212 = HEAP32[(20028)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -33908,10 +33871,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19676)>>2]|0; + $546 = HEAP32[(19988)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19668)>>2]|0; + $548 = HEAP32[(19980)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -33921,18 +33884,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19680)>>2]|0; + $552 = HEAP32[(19992)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19260)>>2]|0; + $555 = HEAP32[(19572)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19684); + $$0$i$i = (19996); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -33990,7 +33953,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19712)>>2]|0; + $569 = HEAP32[(20024)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -34000,13 +33963,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19668)>>2]|0; + $578 = HEAP32[(19980)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19676)>>2]|0; + $582 = HEAP32[(19988)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -34052,7 +34015,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19716)>>2]|0; + $601 = HEAP32[(20028)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -34077,9 +34040,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19680)>>2]|0; + $611 = HEAP32[(19992)>>2]|0; $612 = $611 | 4; - HEAP32[(19680)>>2] = $612; + HEAP32[(19992)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -34115,35 +34078,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19668)>>2]|0; + $626 = HEAP32[(19980)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19668)>>2] = $627; - $628 = HEAP32[(19672)>>2]|0; + HEAP32[(19980)>>2] = $627; + $628 = HEAP32[(19984)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19672)>>2] = $627; + HEAP32[(19984)>>2] = $627; } - $630 = HEAP32[(19260)>>2]|0; + $630 = HEAP32[(19572)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19252)>>2]|0; + $632 = HEAP32[(19564)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19252)>>2] = $$749$i; + HEAP32[(19564)>>2] = $$749$i; } - HEAP32[(19684)>>2] = $$749$i; - HEAP32[(19688)>>2] = $$723948$i; - HEAP32[(19696)>>2] = 0; - $635 = HEAP32[4927]|0; - HEAP32[(19272)>>2] = $635; - HEAP32[(19268)>>2] = -1; + HEAP32[(19996)>>2] = $$749$i; + HEAP32[(20000)>>2] = $$723948$i; + HEAP32[(20008)>>2] = 0; + $635 = HEAP32[5005]|0; + HEAP32[(19584)>>2] = $635; + HEAP32[(19580)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19276 + ($636<<2)|0); + $637 = (19588 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -34166,18 +34129,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19260)>>2] = $649; - HEAP32[(19248)>>2] = $650; + HEAP32[(19572)>>2] = $649; + HEAP32[(19560)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19724)>>2]|0; - HEAP32[(19264)>>2] = $655; + $655 = HEAP32[(20036)>>2]|0; + HEAP32[(19576)>>2] = $655; } else { - $$024371$i = (19684); + $$024371$i = (19996); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -34209,7 +34172,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19248)>>2]|0; + $671 = HEAP32[(19560)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -34220,30 +34183,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19260)>>2] = $679; - HEAP32[(19248)>>2] = $681; + HEAP32[(19572)>>2] = $679; + HEAP32[(19560)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19724)>>2]|0; - HEAP32[(19264)>>2] = $686; + $686 = HEAP32[(20036)>>2]|0; + HEAP32[(19576)>>2] = $686; break; } } } - $687 = HEAP32[(19252)>>2]|0; + $687 = HEAP32[(19564)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19252)>>2] = $$749$i; + HEAP32[(19564)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19684); + $$124470$i = (19996); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -34298,21 +34261,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19248)>>2]|0; + $726 = HEAP32[(19560)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19248)>>2] = $727; - HEAP32[(19260)>>2] = $721; + HEAP32[(19560)>>2] = $727; + HEAP32[(19572)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19256)>>2]|0; + $730 = HEAP32[(19568)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19244)>>2]|0; + $732 = HEAP32[(19556)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19244)>>2] = $733; - HEAP32[(19256)>>2] = $721; + HEAP32[(19556)>>2] = $733; + HEAP32[(19568)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -34335,7 +34298,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19276 + ($748<<2)|0); + $749 = (19588 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -34358,9 +34321,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4809]|0; + $759 = HEAP32[4887]|0; $760 = $759 & $758; - HEAP32[4809] = $760; + HEAP32[4887] = $760; break; } $761 = ($747|0)==($749|0); @@ -34473,7 +34436,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19540 + ($796<<2)|0); + $797 = (19852 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -34485,12 +34448,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19240)>>2]|0; + $802 = HEAP32[(19552)>>2]|0; $803 = $802 & $801; - HEAP32[(19240)>>2] = $803; + HEAP32[(19552)>>2] = $803; break L314; } else { - $804 = HEAP32[(19252)>>2]|0; + $804 = HEAP32[(19564)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -34511,7 +34474,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19252)>>2]|0; + $810 = HEAP32[(19564)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -34543,7 +34506,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19252)>>2]|0; + $822 = HEAP32[(19564)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -34576,21 +34539,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19276 + ($836<<2)|0); - $838 = HEAP32[4809]|0; + $837 = (19588 + ($836<<2)|0); + $838 = HEAP32[4887]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4809] = $842; + HEAP32[4887] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19252)>>2]|0; + $845 = HEAP32[(19564)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -34645,20 +34608,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19540 + ($$0296$i$i<<2)|0); + $875 = (19852 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19240)>>2]|0; + $879 = HEAP32[(19552)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19240)>>2] = $883; + HEAP32[(19552)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -34697,7 +34660,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19252)>>2]|0; + $902 = HEAP32[(19564)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -34716,7 +34679,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19252)>>2]|0; + $909 = HEAP32[(19564)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -34743,7 +34706,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19684); + $$0$i$i$i = (19996); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -34784,23 +34747,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19260)>>2] = $946; - HEAP32[(19248)>>2] = $947; + HEAP32[(19572)>>2] = $946; + HEAP32[(19560)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19724)>>2]|0; - HEAP32[(19264)>>2] = $952; + $952 = HEAP32[(20036)>>2]|0; + HEAP32[(19576)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19684)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19684)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19684)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19684)+12>>2]|0; - HEAP32[(19684)>>2] = $$749$i; - HEAP32[(19688)>>2] = $$723948$i; - HEAP32[(19696)>>2] = 0; - HEAP32[(19692)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19996)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19996)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19996)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19996)+12>>2]|0; + HEAP32[(19996)>>2] = $$749$i; + HEAP32[(20000)>>2] = $$723948$i; + HEAP32[(20008)>>2] = 0; + HEAP32[(20004)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -34829,20 +34792,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19276 + ($968<<2)|0); - $970 = HEAP32[4809]|0; + $969 = (19588 + ($968<<2)|0); + $970 = HEAP32[4887]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4809] = $974; + HEAP32[4887] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19252)>>2]|0; + $977 = HEAP32[(19564)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -34894,19 +34857,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19540 + ($$0212$i$i<<2)|0); + $1007 = (19852 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19240)>>2]|0; + $1010 = HEAP32[(19552)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19240)>>2] = $1014; + HEAP32[(19552)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -34945,7 +34908,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19252)>>2]|0; + $1033 = HEAP32[(19564)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -34964,7 +34927,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19252)>>2]|0; + $1040 = HEAP32[(19564)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -34987,14 +34950,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19248)>>2]|0; + $1048 = HEAP32[(19560)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19248)>>2] = $1050; - $1051 = HEAP32[(19260)>>2]|0; + HEAP32[(19560)>>2] = $1050; + $1051 = HEAP32[(19572)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19260)>>2] = $1052; + HEAP32[(19572)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -35037,7 +35000,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19252)>>2]|0; + $3 = HEAP32[(19564)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -35070,7 +35033,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19256)>>2]|0; + $19 = HEAP32[(19568)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -35085,7 +35048,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19244)>>2] = $17; + HEAP32[(19556)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -35099,7 +35062,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19276 + ($27<<2)|0); + $28 = (19588 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -35119,9 +35082,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4809]|0; + $37 = HEAP32[4887]|0; $38 = $37 & $36; - HEAP32[4809] = $38; + HEAP32[4887] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -35235,7 +35198,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19540 + ($74<<2)|0); + $75 = (19852 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -35245,14 +35208,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19240)>>2]|0; + $80 = HEAP32[(19552)>>2]|0; $81 = $80 & $79; - HEAP32[(19240)>>2] = $81; + HEAP32[(19552)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19252)>>2]|0; + $82 = HEAP32[(19564)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -35274,7 +35237,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19252)>>2]|0; + $88 = HEAP32[(19564)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -35306,7 +35269,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19252)>>2]|0; + $100 = HEAP32[(19564)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -35341,14 +35304,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19260)>>2]|0; + $120 = HEAP32[(19572)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19256)>>2]|0; + $122 = HEAP32[(19568)>>2]|0; if ($121) { - $123 = HEAP32[(19248)>>2]|0; + $123 = HEAP32[(19560)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19248)>>2] = $124; - HEAP32[(19260)>>2] = $$1; + HEAP32[(19560)>>2] = $124; + HEAP32[(19572)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -35356,16 +35319,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19256)>>2] = 0; - HEAP32[(19244)>>2] = 0; + HEAP32[(19568)>>2] = 0; + HEAP32[(19556)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19244)>>2]|0; + $129 = HEAP32[(19556)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19244)>>2] = $130; - HEAP32[(19256)>>2] = $113; + HEAP32[(19556)>>2] = $130; + HEAP32[(19568)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -35384,10 +35347,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19276 + ($142<<2)|0); + $143 = (19588 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19252)>>2]|0; + $145 = HEAP32[(19564)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -35405,9 +35368,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4809]|0; + $153 = HEAP32[4887]|0; $154 = $153 & $152; - HEAP32[4809] = $154; + HEAP32[4887] = $154; break; } $155 = ($141|0)==($143|0); @@ -35415,7 +35378,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19252)>>2]|0; + $156 = HEAP32[(19564)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -35475,7 +35438,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19252)>>2]|0; + $189 = HEAP32[(19564)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -35488,7 +35451,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19252)>>2]|0; + $169 = HEAP32[(19564)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -35519,7 +35482,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19540 + ($193<<2)|0); + $194 = (19852 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -35529,13 +35492,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19240)>>2]|0; + $199 = HEAP32[(19552)>>2]|0; $200 = $199 & $198; - HEAP32[(19240)>>2] = $200; + HEAP32[(19552)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19252)>>2]|0; + $201 = HEAP32[(19564)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -35556,7 +35519,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19252)>>2]|0; + $207 = HEAP32[(19564)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -35586,7 +35549,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19252)>>2]|0; + $219 = HEAP32[(19564)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -35607,10 +35570,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19256)>>2]|0; + $226 = HEAP32[(19568)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19244)>>2] = $135; + HEAP32[(19556)>>2] = $135; return; } else { $$2 = $135; @@ -35629,20 +35592,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19276 + ($234<<2)|0); - $236 = HEAP32[4809]|0; + $235 = (19588 + ($234<<2)|0); + $236 = HEAP32[4887]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4809] = $240; + HEAP32[4887] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19252)>>2]|0; + $243 = HEAP32[(19564)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -35694,21 +35657,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19540 + ($$0396<<2)|0); + $273 = (19852 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19240)>>2]|0; + $277 = HEAP32[(19552)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19240)>>2] = $281; + HEAP32[(19552)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -35746,7 +35709,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19252)>>2]|0; + $300 = HEAP32[(19564)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -35765,7 +35728,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19252)>>2]|0; + $307 = HEAP32[(19564)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -35787,12 +35750,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19268)>>2]|0; + $314 = HEAP32[(19580)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19268)>>2] = $315; + HEAP32[(19580)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19692); + $$0212$in$i = (20004); } else { return; } @@ -35806,7 +35769,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19268)>>2] = -1; + HEAP32[(19580)>>2] = -1; return; } function _realloc($0,$1) { @@ -35878,7 +35841,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19252)>>2]|0; + $6 = HEAP32[(19564)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -35908,7 +35871,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19716)>>2]|0; + $18 = HEAP32[(20028)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -35944,10 +35907,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19260)>>2]|0; + $34 = HEAP32[(19572)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19248)>>2]|0; + $36 = HEAP32[(19560)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -35963,15 +35926,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19260)>>2] = $40; - HEAP32[(19248)>>2] = $39; + HEAP32[(19572)>>2] = $40; + HEAP32[(19560)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19256)>>2]|0; + $46 = HEAP32[(19568)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19244)>>2]|0; + $48 = HEAP32[(19556)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -36007,8 +35970,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19244)>>2] = $storemerge1; - HEAP32[(19256)>>2] = $storemerge; + HEAP32[(19556)>>2] = $storemerge1; + HEAP32[(19568)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -36035,7 +35998,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19276 + ($81<<2)|0); + $82 = (19588 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -36055,9 +36018,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4809]|0; + $91 = HEAP32[4887]|0; $92 = $91 & $90; - HEAP32[4809] = $92; + HEAP32[4887] = $92; break; } $93 = ($80|0)==($82|0); @@ -36166,7 +36129,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19540 + ($128<<2)|0); + $129 = (19852 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -36176,13 +36139,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19240)>>2]|0; + $134 = HEAP32[(19552)>>2]|0; $135 = $134 & $133; - HEAP32[(19240)>>2] = $135; + HEAP32[(19552)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19252)>>2]|0; + $136 = HEAP32[(19564)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -36203,7 +36166,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19252)>>2]|0; + $142 = HEAP32[(19564)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -36233,7 +36196,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19252)>>2]|0; + $154 = HEAP32[(19564)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -36318,13 +36281,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19252)>>2]|0; + $13 = HEAP32[(19564)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19256)>>2]|0; + $15 = HEAP32[(19568)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -36339,7 +36302,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19244)>>2] = $12; + HEAP32[(19556)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -36353,7 +36316,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19276 + ($23<<2)|0); + $24 = (19588 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -36373,9 +36336,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4809]|0; + $33 = HEAP32[4887]|0; $34 = $33 & $32; - HEAP32[4809] = $34; + HEAP32[4887] = $34; $$1 = $11;$$1418 = $12; break; } @@ -36489,7 +36452,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19540 + ($70<<2)|0); + $71 = (19852 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -36499,14 +36462,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19240)>>2]|0; + $76 = HEAP32[(19552)>>2]|0; $77 = $76 & $75; - HEAP32[(19240)>>2] = $77; + HEAP32[(19552)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19252)>>2]|0; + $78 = HEAP32[(19564)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -36528,7 +36491,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19252)>>2]|0; + $84 = HEAP32[(19564)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -36560,7 +36523,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19252)>>2]|0; + $96 = HEAP32[(19564)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -36579,7 +36542,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19252)>>2]|0; + $108 = HEAP32[(19564)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -36590,14 +36553,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19260)>>2]|0; + $114 = HEAP32[(19572)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19256)>>2]|0; + $116 = HEAP32[(19568)>>2]|0; if ($115) { - $117 = HEAP32[(19248)>>2]|0; + $117 = HEAP32[(19560)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19248)>>2] = $118; - HEAP32[(19260)>>2] = $$1; + HEAP32[(19560)>>2] = $118; + HEAP32[(19572)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -36605,16 +36568,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19256)>>2] = 0; - HEAP32[(19244)>>2] = 0; + HEAP32[(19568)>>2] = 0; + HEAP32[(19556)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19244)>>2]|0; + $123 = HEAP32[(19556)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19244)>>2] = $124; - HEAP32[(19256)>>2] = $$1; + HEAP32[(19556)>>2] = $124; + HEAP32[(19568)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36633,7 +36596,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19276 + ($136<<2)|0); + $137 = (19588 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -36653,9 +36616,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4809]|0; + $146 = HEAP32[4887]|0; $147 = $146 & $145; - HEAP32[4809] = $147; + HEAP32[4887] = $147; break; } $148 = ($135|0)==($137|0); @@ -36764,7 +36727,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19540 + ($183<<2)|0); + $184 = (19852 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -36774,13 +36737,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19240)>>2]|0; + $189 = HEAP32[(19552)>>2]|0; $190 = $189 & $188; - HEAP32[(19240)>>2] = $190; + HEAP32[(19552)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19252)>>2]|0; + $191 = HEAP32[(19564)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -36801,7 +36764,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19252)>>2]|0; + $197 = HEAP32[(19564)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -36831,7 +36794,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19252)>>2]|0; + $209 = HEAP32[(19564)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -36852,10 +36815,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19256)>>2]|0; + $216 = HEAP32[(19568)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19244)>>2] = $129; + HEAP32[(19556)>>2] = $129; return; } else { $$2 = $129; @@ -36874,20 +36837,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19276 + ($224<<2)|0); - $226 = HEAP32[4809]|0; + $225 = (19588 + ($224<<2)|0); + $226 = HEAP32[4887]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4809] = $230; + HEAP32[4887] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19252)>>2]|0; + $233 = HEAP32[(19564)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -36939,20 +36902,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19540 + ($$0431<<2)|0); + $263 = (19852 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19240)>>2]|0; + $267 = HEAP32[(19552)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19240)>>2] = $271; + HEAP32[(19552)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -36991,7 +36954,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19252)>>2]|0; + $290 = HEAP32[(19564)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -37009,7 +36972,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19252)>>2]|0; + $297 = HEAP32[(19564)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/img/textures/textures_to_image.png b/docs/examples/web/textures/textures_to_image.png similarity index 100% rename from docs/examples/img/textures/textures_to_image.png rename to docs/examples/web/textures/textures_to_image.png diff --git a/docs/games/light_my_ritual.data b/docs/games/light_my_ritual.data index ae1ee8472..807a7a1f6 100644 Binary files a/docs/games/light_my_ritual.data and b/docs/games/light_my_ritual.data differ diff --git a/docs/games/light_my_ritual.html b/docs/games/light_my_ritual.html index 76a04cf9b..8b88fd59a 100644 --- a/docs/games/light_my_ritual.html +++ b/docs/games/light_my_ritual.html @@ -4,26 +4,26 @@ - GGJ16 - LIGHT MY RITUAL! + raylib HTML5 GAME - - - + + + - + - + - + - - + + @@ -51,18 +51,19 @@ margin:10px; background-image:url(http://www.raylib.com/common/img/raylib_logo_64x64.png); } - + .emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; } div.emscripten { text-align: center; } div.emscripten_border { border: 1px solid black; } + /* the canvas *must not* have any border or padding, or mouse coords will be wrong */ - canvas.emscripten { border: 0px none; } - + canvas.emscripten { border: 0px none; background: black; } + #emscripten_logo { display: inline-block; margin: 0; } - + .spinner { height: 30px; width: 30px; @@ -71,21 +72,18 @@ margin-left: 20px; display: inline-block; vertical-align: top; - -webkit-animation: rotation .8s linear infinite; -moz-animation: rotation .8s linear infinite; -o-animation: rotation .8s linear infinite; animation: rotation 0.8s linear infinite; - - border-left: 5px solid rgb(235, 235, 235); - border-right: 5px solid rgb(235, 235, 235); - border-bottom: 5px solid rgb(235, 235, 235); - border-top: 5px solid rgb(120, 120, 120); + border-left: 5px solid black; + border-right: 5px solid black; + border-bottom: 5px solid black; + border-top: 5px solid red; border-radius: 100%; - background-color: rgb(189, 215, 46); + background-color: rgb(245, 245, 245); } - @-webkit-keyframes rotation { from {-webkit-transform: rotate(0deg);} to {-webkit-transform: rotate(360deg);} @@ -102,21 +100,21 @@ from {transform: rotate(0deg);} to {transform: rotate(360deg);} } - + #status { display: inline-block; vertical-align: top; margin-top: 30px; margin-left: 20px; font-weight: bold; - color: rgb(120, 120, 120); + color: rgb(40, 40, 40); } - + #progress { height: 20px; width: 30px; } - + #controls { display: inline-block; float: right; @@ -124,15 +122,15 @@ margin-top: 30px; margin-right: 20px; } - + #output { width: 100%; - height: 200px; + height: 140px; margin: 0 auto; margin-top: 10px; display: block; background-color: black; - color: white; + color: rgb(37, 174, 38); font-family: 'Lucida Console', Monaco, monospace; outline: none; } @@ -164,7 +162,6 @@ var statusElement = document.getElementById('status'); var progressElement = document.getElementById('progress'); var spinnerElement = document.getElementById('spinner'); - var Module = { preRun: [], postRun: [], @@ -195,12 +192,10 @@ }, canvas: (function() { var canvas = document.getElementById('canvas'); - // As a default initial behavior, pop up an alert when webgl context is lost. To make your // application robust, you may want to override this behavior before shipping! // See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2 canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false); - return canvas; })(), setStatus: function(text) { @@ -240,17 +235,5 @@ }; - - - - + \ No newline at end of file diff --git a/docs/games/light_my_ritual.js b/docs/games/light_my_ritual.js index a87ad8950..e00883757 100644 --- a/docs/games/light_my_ritual.js +++ b/docs/games/light_my_ritual.js @@ -67,9 +67,16 @@ Module.expectedDataFileDownloads++; if (Module['setStatus']) Module['setStatus']('Downloading data...'); } }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } xhr.onload = function(event) { - var packageData = xhr.response; - callback(packageData); + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } }; xhr.send(null); }; @@ -78,8 +85,10 @@ Module.expectedDataFileDownloads++; console.error('package error:', error); }; - var fetched = null, fetchedCallback = null; - fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { if (fetchedCallback) { fetchedCallback(data); fetchedCallback = null; @@ -95,7 +104,6 @@ Module.expectedDataFileDownloads++; } Module['FS_createPath']('/', 'resources', true, true); Module['FS_createPath']('/resources', 'audio', true, true); -Module['FS_createPath']('/resources', 'shaders', true, true); Module['FS_createPath']('/resources', 'textures', true, true); function DataRequest(start, end, crunched, audio) { @@ -125,7 +133,7 @@ Module['FS_createPath']('/resources', 'textures', true, true); Module['removeRunDependency']('fp ' + that.name); this.requests[this.name] = null; - }, + } }; var files = metadata.files; @@ -176,7 +184,7 @@ Module['FS_createPath']('/resources', 'textures', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 97566, "filename": "/resources/font_arcadian.png"}, {"audio": 0, "start": 97566, "crunched": 0, "end": 97996, "filename": "/resources/lights_map.png"}, {"audio": 1, "start": 97996, "crunched": 0, "end": 1372570, "filename": "/resources/audio/ambient.ogg"}, {"audio": 1, "start": 1372570, "crunched": 0, "end": 1381861, "filename": "/resources/audio/light_off.wav"}, {"audio": 1, "start": 1381861, "crunched": 0, "end": 1384196, "filename": "/resources/audio/light_on.wav"}, {"audio": 1, "start": 1384196, "crunched": 0, "end": 3977117, "filename": "/resources/audio/ritual.ogg"}, {"audio": 1, "start": 3977117, "crunched": 0, "end": 3991196, "filename": "/resources/audio/start.wav"}, {"audio": 0, "start": 3991196, "crunched": 0, "end": 3991524, "filename": "/resources/shaders/base.vs"}, {"audio": 0, "start": 3991524, "crunched": 0, "end": 3992402, "filename": "/resources/shaders/bloom.fs"}, {"audio": 0, "start": 3992402, "crunched": 0, "end": 3992854, "filename": "/resources/shaders/grayscale.fs"}, {"audio": 0, "start": 3992854, "crunched": 0, "end": 5836121, "filename": "/resources/textures/background.pvr"}, {"audio": 0, "start": 5836121, "crunched": 0, "end": 6019021, "filename": "/resources/textures/back_title.png"}, {"audio": 0, "start": 6019021, "crunched": 0, "end": 6023423, "filename": "/resources/textures/book.png"}, {"audio": 0, "start": 6023423, "crunched": 0, "end": 6060987, "filename": "/resources/textures/circle_level_iii_off.png"}, {"audio": 0, "start": 6060987, "crunched": 0, "end": 6221294, "filename": "/resources/textures/circle_level_iii_on.png"}, {"audio": 0, "start": 6221294, "crunched": 0, "end": 6249256, "filename": "/resources/textures/circle_level_ii_off.png"}, {"audio": 0, "start": 6249256, "crunched": 0, "end": 6355864, "filename": "/resources/textures/circle_level_ii_on.png"}, {"audio": 0, "start": 6355864, "crunched": 0, "end": 6371312, "filename": "/resources/textures/circle_level_i_off.png"}, {"audio": 0, "start": 6371312, "crunched": 0, "end": 6422755, "filename": "/resources/textures/circle_level_i_on.png"}, {"audio": 0, "start": 6422755, "crunched": 0, "end": 6425567, "filename": "/resources/textures/enemy.png"}, {"audio": 0, "start": 6425567, "crunched": 0, "end": 8268834, "filename": "/resources/textures/foreground_level_i.pvr"}, {"audio": 0, "start": 8268834, "crunched": 0, "end": 10112101, "filename": "/resources/textures/foreground_level_ii.pvr"}, {"audio": 0, "start": 10112101, "crunched": 0, "end": 11955368, "filename": "/resources/textures/foreground_level_iii.pvr"}, {"audio": 0, "start": 11955368, "crunched": 0, "end": 11957643, "filename": "/resources/textures/light.png"}, {"audio": 0, "start": 11957643, "crunched": 0, "end": 11966304, "filename": "/resources/textures/light_glow.png"}, {"audio": 0, "start": 11966304, "crunched": 0, "end": 11975084, "filename": "/resources/textures/light_ray.png"}, {"audio": 0, "start": 11975084, "crunched": 0, "end": 12089096, "filename": "/resources/textures/msg_ritual.png"}, {"audio": 0, "start": 12089096, "crunched": 0, "end": 12097355, "filename": "/resources/textures/player.pvr"}, {"audio": 0, "start": 12097355, "crunched": 0, "end": 12213229, "filename": "/resources/textures/time_over.png"}, {"audio": 0, "start": 12213229, "crunched": 0, "end": 12426778, "filename": "/resources/textures/title.png"}], "remote_package_size": 12426778, "package_uuid": "6cfd3505-4b4e-46af-83e9-9a9d1094f034"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 97566, "filename": "/resources/font_arcadian.png"}, {"audio": 0, "start": 97566, "crunched": 0, "end": 97996, "filename": "/resources/lights_map.png"}, {"audio": 1, "start": 97996, "crunched": 0, "end": 1372570, "filename": "/resources/audio/ambient.ogg"}, {"audio": 1, "start": 1372570, "crunched": 0, "end": 1381861, "filename": "/resources/audio/light_off.wav"}, {"audio": 1, "start": 1381861, "crunched": 0, "end": 1384196, "filename": "/resources/audio/light_on.wav"}, {"audio": 1, "start": 1384196, "crunched": 0, "end": 3977117, "filename": "/resources/audio/ritual.ogg"}, {"audio": 1, "start": 3977117, "crunched": 0, "end": 3991196, "filename": "/resources/audio/start.wav"}, {"audio": 0, "start": 3991196, "crunched": 0, "end": 5222414, "filename": "/resources/textures/background.png"}, {"audio": 0, "start": 5222414, "crunched": 0, "end": 5405314, "filename": "/resources/textures/back_title.png"}, {"audio": 0, "start": 5405314, "crunched": 0, "end": 5409716, "filename": "/resources/textures/book.png"}, {"audio": 0, "start": 5409716, "crunched": 0, "end": 5447280, "filename": "/resources/textures/circle_level_iii_off.png"}, {"audio": 0, "start": 5447280, "crunched": 0, "end": 5607587, "filename": "/resources/textures/circle_level_iii_on.png"}, {"audio": 0, "start": 5607587, "crunched": 0, "end": 5635549, "filename": "/resources/textures/circle_level_ii_off.png"}, {"audio": 0, "start": 5635549, "crunched": 0, "end": 5742157, "filename": "/resources/textures/circle_level_ii_on.png"}, {"audio": 0, "start": 5742157, "crunched": 0, "end": 5757605, "filename": "/resources/textures/circle_level_i_off.png"}, {"audio": 0, "start": 5757605, "crunched": 0, "end": 5809048, "filename": "/resources/textures/circle_level_i_on.png"}, {"audio": 0, "start": 5809048, "crunched": 0, "end": 5811860, "filename": "/resources/textures/enemy.png"}, {"audio": 0, "start": 5811860, "crunched": 0, "end": 5839971, "filename": "/resources/textures/foreground_level_i.png"}, {"audio": 0, "start": 5839971, "crunched": 0, "end": 5876092, "filename": "/resources/textures/foreground_level_ii.png"}, {"audio": 0, "start": 5876092, "crunched": 0, "end": 5918228, "filename": "/resources/textures/foreground_level_iii.png"}, {"audio": 0, "start": 5918228, "crunched": 0, "end": 5920503, "filename": "/resources/textures/light.png"}, {"audio": 0, "start": 5920503, "crunched": 0, "end": 5929164, "filename": "/resources/textures/light_glow.png"}, {"audio": 0, "start": 5929164, "crunched": 0, "end": 5937944, "filename": "/resources/textures/light_ray.png"}, {"audio": 0, "start": 5937944, "crunched": 0, "end": 6051956, "filename": "/resources/textures/msg_ritual.png"}, {"audio": 0, "start": 6051956, "crunched": 0, "end": 6054855, "filename": "/resources/textures/player.png"}, {"audio": 0, "start": 6054855, "crunched": 0, "end": 6170729, "filename": "/resources/textures/time_over.png"}, {"audio": 0, "start": 6170729, "crunched": 0, "end": 6384278, "filename": "/resources/textures/title.png"}], "remote_package_size": 6384278, "package_uuid": "4b0f8033-87a2-4d76-b67c-1aa6419b57e9"}); })(); @@ -212,38 +220,51 @@ for (var key in Module) { // The environment setup code below is customized to use Module. // *** Environment setup code *** -var ENVIRONMENT_IS_WEB = typeof window === 'object'; +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; + // 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) -var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; -var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + +if (Module['ENVIRONMENT']) { + if (Module['ENVIRONMENT'] === 'WEB') { + ENVIRONMENT_IS_WEB = true; + } else if (Module['ENVIRONMENT'] === 'WORKER') { + ENVIRONMENT_IS_WORKER = true; + } else if (Module['ENVIRONMENT'] === 'NODE') { + ENVIRONMENT_IS_NODE = true; + } else if (Module['ENVIRONMENT'] === 'SHELL') { + ENVIRONMENT_IS_SHELL = true; + } else { + throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.'); + } +} else { + 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 (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 - if (!Module['print']) Module['print'] = function print(x) { - process['stdout'].write(x + '\n'); - }; - if (!Module['printErr']) Module['printErr'] = function printErr(x) { - process['stderr'].write(x + '\n'); - }; + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; - var nodeFS = require('fs'); - var nodePath = require('path'); + var nodeFS; + var nodePath; Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); filename = nodePath['normalize'](filename); var ret = nodeFS['readFileSync'](filename); - // 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); - } - if (ret && !binary) ret = ret.toString(); - return ret; + return binary ? ret : ret.toString(); }; Module['readBinary'] = function readBinary(filename) { @@ -289,7 +310,7 @@ else if (ENVIRONMENT_IS_SHELL) { if (typeof read != 'undefined') { Module['read'] = read; } else { - Module['read'] = function read() { throw 'no read() available (jsc?)' }; + Module['read'] = function read() { throw 'no read() available' }; } Module['readBinary'] = function readBinary(f) { @@ -307,6 +328,12 @@ else if (ENVIRONMENT_IS_SHELL) { Module['arguments'] = arguments; } + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { Module['read'] = function read(url) { @@ -316,6 +343,31 @@ else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { return xhr.responseText; }; + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + if (typeof arguments != 'undefined') { Module['arguments'] = arguments; } @@ -325,7 +377,7 @@ else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { console.log(x); }; if (!Module['printErr']) Module['printErr'] = function printErr(x) { - console.log(x); + console.warn(x); }; } else { // Probably a worker, and without console.log. We can do very little here... @@ -370,6 +422,11 @@ if (!Module['arguments']) { if (!Module['thisProgram']) { Module['thisProgram'] = './this.program'; } +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} // *** Environment setup code *** @@ -387,14 +444,19 @@ for (var key in moduleOverrides) { 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}} + // === Preamble library stuff === -// Documentation for the public APIs defined in this file must be updated in: +// 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: +// 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) @@ -407,6 +469,7 @@ for (var key in moduleOverrides) { var Runtime = { setTempRet0: function (value) { tempRet0 = value; + return value; }, getTempRet0: function () { return tempRet0; @@ -462,10 +525,12 @@ var Runtime = { }, dynCall: function (sig, ptr, args) { if (args && args.length) { - if (!args.splice) args = Array.prototype.slice.call(args); - args.splice(0, 0, ptr); - return Module['dynCall_' + sig].apply(null, args); + 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); } }, @@ -497,18 +562,30 @@ var Runtime = { } var sigCache = Runtime.funcWrappers[sig]; if (!sigCache[func]) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, arguments); - }; + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } } return sigCache[func]; }, getCompilerSetting: function (name) { throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + size)|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + size)|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) { var success = enlargeMemory(); if (!success) { DYNAMICTOP = ret; return 0; } }; return ret; }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, GLOBAL_BASE: 8, @@ -526,18 +603,9 @@ Module["Runtime"] = Runtime; // Runtime essentials //======================================== -var __THREW__ = 0; // Used in checking for thrown exceptions. - -var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort() +var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort() var EXITSTATUS = 0; -var undef = 0; -// tempInt is used for 32-bit signed values or smaller. tempBigInt is used -// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt -var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD, tempDouble, tempFloat; -var tempI64, tempI64b; -var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9; - function assert(condition, text) { if (!condition) { abort('Assertion failed: ' + text); @@ -550,9 +618,7 @@ var globalScope = this; function getCFunc(ident) { var func = Module['_' + ident]; // closure exported function if (!func) { - try { - func = eval('_' + ident); // explicit lookup - } catch(e) {} + try { func = eval('_' + ident); } catch(e) {} } assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); return func; @@ -580,8 +646,9 @@ var cwrap, ccall; 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' - ret = Runtime.stackAlloc((str.length << 2) + 1); - writeStringToMemory(str, ret); + var len = (str.length << 2) + 1; + ret = Runtime.stackAlloc(len); + stringToUTF8(str, ret, len); } return ret; } @@ -589,11 +656,12 @@ var cwrap, ccall; // For fast lookup of conversion functions var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']}; - // C calling interface. + // C calling interface. ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { 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]]; @@ -606,6 +674,10 @@ var cwrap, ccall; } } var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); if (returnType === 'string') ret = Pointer_stringify(ret); if (stack !== 0) { if (opts && opts.async) { @@ -619,22 +691,28 @@ var cwrap, ccall; return ret; } - var sourceRegex = /^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; function parseJSFunc(jsfunc) { // Match the body and the return value of a javascript function source var parsed = jsfunc.toString().match(sourceRegex).slice(1); return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} } - var JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } } } - cwrap = function cwrap(ident, returnType, argTypes) { argTypes = argTypes || []; var cfunc = getCFunc(ident); @@ -652,6 +730,7 @@ var cwrap, ccall; if (!numericArgs) { // Generate the code needed to convert the arguments from javascript // values to pointers + ensureJSsource(); funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; for (var i = 0; i < nargs; i++) { var arg = argNames[i], type = argTypes[i]; @@ -659,7 +738,7 @@ var cwrap, ccall; var convertCode = JSsource[type + 'ToC']; // [code, return] funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; funcstr += convertCode.body + ';'; - funcstr += arg + '=' + convertCode.returnValue + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; } } @@ -672,8 +751,10 @@ var cwrap, ccall; var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; funcstr += 'ret = ' + strgfy + '(ret);'; } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; if (!numericArgs) { // If we had a stack, restore it + ensureJSsource(); funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; } funcstr += 'return ret})'; @@ -757,7 +838,7 @@ function allocate(slab, types, allocator, ptr) { if (allocator == ALLOC_NONE) { ret = ptr; } else { - ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); } if (zeroinit) { @@ -796,6 +877,7 @@ function allocate(slab, types, allocator, ptr) { 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 @@ -816,7 +898,7 @@ Module["allocate"] = allocate; // Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready function getMemory(size) { if (!staticSealed) return Runtime.staticAlloc(size); - if ((typeof _sbrk !== 'undefined' && !_sbrk.called) || !runtimeInitialized) return Runtime.dynamicAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); return _malloc(size); } Module["getMemory"] = getMemory; @@ -829,6 +911,7 @@ function Pointer_stringify(ptr, /* optional */ length) { var t; var i = 0; while (1) { + assert(ptr + i < TOTAL_MEMORY); t = HEAPU8[(((ptr)+(i))>>0)]; hasUtf |= t; if (t == 0 && !length) break; @@ -878,39 +961,49 @@ Module["stringToAscii"] = stringToAscii; // 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 u0, u1, u2, u3, u4, u5; + 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; - var str = ''; - while (1) { - // 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 - 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; + 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 and https://www.ietf.org/rfc/rfc2279.txt and 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 { - u4 = u8Array[idx++] & 63; - if ((u0 & 0xFC) == 0xF8) { - u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4; + u3 = u8Array[idx++] & 63; + if ((u0 & 0xF8) == 0xF0) { + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3; } else { - u5 = u8Array[idx++] & 63; - u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5; + 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)); + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } } } } @@ -926,12 +1019,12 @@ Module["UTF8ToString"] = UTF8ToString; // 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. +// 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 +// 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. @@ -991,10 +1084,11 @@ Module["stringToUTF8Array"] = stringToUTF8Array; // 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. +// 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); } Module["stringToUTF8"] = stringToUTF8; @@ -1029,20 +1123,32 @@ Module["lengthBytesUTF8"] = lengthBytesUTF8; // 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) { - var i = 0; + 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; - 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); + 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); + } } } -Module["UTF16ToString"] = UTF16ToString; + // 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. @@ -1050,12 +1156,14 @@ Module["UTF16ToString"] = UTF16ToString; // 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 +// 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; @@ -1074,16 +1182,17 @@ function stringToUTF16(str, outPtr, maxBytesToWrite) { HEAP16[((outPtr)>>1)]=0; return outPtr - startPtr; } -Module["stringToUTF16"] = stringToUTF16; + // 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; } -Module["lengthBytesUTF16"] = lengthBytesUTF16; + function UTF32ToString(ptr) { + assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!'); var i = 0; var str = ''; @@ -1102,7 +1211,7 @@ function UTF32ToString(ptr) { } } } -Module["UTF32ToString"] = UTF32ToString; + // 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. @@ -1110,12 +1219,14 @@ Module["UTF32ToString"] = UTF32ToString; // 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 +// 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; @@ -1139,7 +1250,7 @@ function stringToUTF32(str, outPtr, maxBytesToWrite) { HEAP32[((outPtr)>>2)]=0; return outPtr - startPtr; } -Module["stringToUTF32"] = stringToUTF32; + // Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte. @@ -1155,185 +1266,45 @@ function lengthBytesUTF32(str) { return len; } -Module["lengthBytesUTF32"] = lengthBytesUTF32; + function demangle(func) { - var hasLibcxxabi = !!Module['___cxa_demangle']; - if (hasLibcxxabi) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { try { - var buf = _malloc(func.length); - writeStringToMemory(func.substr(1), buf); + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); var status = _malloc(4); - var ret = Module['___cxa_demangle'](buf, 0, 0, status); + var ret = __cxa_demangle_func(buf, 0, 0, status); if (getValue(status, 'i32') === 0 && ret) { return Pointer_stringify(ret); } - // otherwise, libcxxabi failed, we can try ours which may return a partial result + // otherwise, libcxxabi failed } catch(e) { - // failure when using libcxxabi, we can try ours which may return a partial result + // ignore problems here } finally { if (buf) _free(buf); if (status) _free(status); if (ret) _free(ret); } + // failure when using libcxxabi, don't demangle + return func; } - var i = 3; - // params, etc. - var basicTypes = { - 'v': 'void', - 'b': 'bool', - 'c': 'char', - 's': 'short', - 'i': 'int', - 'l': 'long', - 'f': 'float', - 'd': 'double', - 'w': 'wchar_t', - 'a': 'signed char', - 'h': 'unsigned char', - 't': 'unsigned short', - 'j': 'unsigned int', - 'm': 'unsigned long', - 'x': 'long long', - 'y': 'unsigned long long', - 'z': '...' - }; - var subs = []; - var first = true; - function dump(x) { - //return; - if (x) Module.print(x); - Module.print(func); - var pre = ''; - for (var a = 0; a < i; a++) pre += ' '; - Module.print (pre + '^'); - } - function parseNested() { - i++; - if (func[i] === 'K') i++; // ignore const - var parts = []; - while (func[i] !== 'E') { - if (func[i] === 'S') { // substitution - i++; - var next = func.indexOf('_', i); - var num = func.substring(i, next) || 0; - parts.push(subs[num] || '?'); - i = next+1; - continue; - } - if (func[i] === 'C') { // constructor - parts.push(parts[parts.length-1]); - i += 2; - continue; - } - var size = parseInt(func.substr(i)); - var pre = size.toString().length; - if (!size || !pre) { i--; break; } // counter i++ below us - var curr = func.substr(i + pre, size); - parts.push(curr); - subs.push(curr); - i += pre + size; - } - i++; // skip E - return parts; - } - function parse(rawList, limit, allowVoid) { // main parser - limit = limit || Infinity; - var ret = '', list = []; - function flushList() { - return '(' + list.join(', ') + ')'; - } - var name; - if (func[i] === 'N') { - // namespaced N-E - name = parseNested().join('::'); - limit--; - if (limit === 0) return rawList ? [name] : name; - } else { - // not namespaced - if (func[i] === 'K' || (first && func[i] === 'L')) i++; // ignore const and first 'L' - var size = parseInt(func.substr(i)); - if (size) { - var pre = size.toString().length; - name = func.substr(i + pre, size); - i += pre + size; - } - } - first = false; - if (func[i] === 'I') { - i++; - var iList = parse(true); - var iRet = parse(true, 1, true); - ret += iRet[0] + ' ' + name + '<' + iList.join(', ') + '>'; - } else { - ret = name; - } - paramLoop: while (i < func.length && limit-- > 0) { - //dump('paramLoop'); - var c = func[i++]; - if (c in basicTypes) { - list.push(basicTypes[c]); - } else { - switch (c) { - case 'P': list.push(parse(true, 1, true)[0] + '*'); break; // pointer - case 'R': list.push(parse(true, 1, true)[0] + '&'); break; // reference - case 'L': { // literal - i++; // skip basic type - var end = func.indexOf('E', i); - var size = end - i; - list.push(func.substr(i, size)); - i += size + 2; // size + 'EE' - break; - } - case 'A': { // array - var size = parseInt(func.substr(i)); - i += size.toString().length; - if (func[i] !== '_') throw '?'; - i++; // skip _ - list.push(parse(true, 1, true)[0] + ' [' + size + ']'); - break; - } - case 'E': break paramLoop; - default: ret += '?' + c; break paramLoop; - } - } - } - if (!allowVoid && list.length === 1 && list[0] === 'void') list = []; // avoid (void) - if (rawList) { - if (ret) { - list.push(ret + '?'); - } - return list; - } else { - return ret + flushList(); - } - } - var parsed = func; - try { - // Special-case the entry point, since its name differs from other name mangling. - if (func == 'Object._main' || func == '_main') { - return 'main()'; - } - if (typeof func === 'number') func = Pointer_stringify(func); - if (func[0] !== '_') return func; - if (func[1] !== '_') return func; // C function - if (func[2] !== 'Z') return func; - switch (func[3]) { - case 'n': return 'operator new()'; - case 'd': return 'operator delete()'; - } - parsed = parse(); - } catch(e) { - parsed += '?'; - } - if (parsed.indexOf('?') >= 0 && !hasLibcxxabi) { - Runtime.warnOnce('warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); - } - return parsed; + Runtime.warnOnce('warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling'); + return func; } function demangleAll(text) { - return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') }); + var regex = + /__Z[\w\d_]+/g; + return text.replace(regex, + function(x) { + var y = demangle(x); + return x === y ? x : (x + ' [' + y + ']'); + }); } function jsStackTrace() { @@ -1354,74 +1325,35 @@ function jsStackTrace() { } function stackTrace() { - return demangleAll(jsStackTrace()); + var js = jsStackTrace(); + if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace'](); + return demangleAll(js); } Module["stackTrace"] = stackTrace; // Memory management -var PAGE_SIZE = 4096; +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var ASMJS_PAGE_SIZE = 16777216; +var MIN_TOTAL_MEMORY = 16777216; -function alignMemoryPage(x) { - if (x % 4096 > 0) { - x += (4096 - (x % 4096)); +function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - (x % multiple); } return x; } var HEAP; +var buffer; var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; -var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area -var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area -var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk +function updateGlobalBuffer(buf) { + Module['buffer'] = buffer = buf; +} - - -function enlargeMemory() { - // TOTAL_MEMORY is the current size of the actual array, and DYNAMICTOP is the new top. - - var OLD_TOTAL_MEMORY = TOTAL_MEMORY; - - - var LIMIT = Math.pow(2, 31); // 2GB is a practical maximum, as we use signed ints as pointers - // and JS engines seem unhappy to give us 2GB arrays currently - if (DYNAMICTOP >= LIMIT) return false; - - while (TOTAL_MEMORY <= DYNAMICTOP) { // Simple heuristic. - if (TOTAL_MEMORY < LIMIT/2) { - TOTAL_MEMORY = alignMemoryPage(2*TOTAL_MEMORY); // double until 1GB - } else { - var last = TOTAL_MEMORY; - TOTAL_MEMORY = alignMemoryPage((3*TOTAL_MEMORY + LIMIT)/4); // add smaller increments towards 2GB, which we cannot reach - if (TOTAL_MEMORY <= last) return false; - } - } - - TOTAL_MEMORY = Math.max(TOTAL_MEMORY, 16*1024*1024); - - if (TOTAL_MEMORY >= LIMIT) return false; - - - - - try { - if (ArrayBuffer.transfer) { - buffer = ArrayBuffer.transfer(buffer, TOTAL_MEMORY); - } else { - var oldHEAP8 = HEAP8; - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - } catch(e) { - return false; - } - - var success = _emscripten_replace_memory(buffer); - if (!success) return false; - - // everything worked - - Module['buffer'] = buffer; +function updateGlobalBufferViews() { Module['HEAP8'] = HEAP8 = new Int8Array(buffer); Module['HEAP16'] = HEAP16 = new Int16Array(buffer); Module['HEAP32'] = HEAP32 = new Int32Array(buffer); @@ -1430,8 +1362,102 @@ function enlargeMemory() { Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer); Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer); Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer); - if (!ArrayBuffer.transfer) { - HEAP8.set(oldHEAP8); +} + +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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); +} + +if (!Module['reallocBuffer']) Module['reallocBuffer'] = function(size) { + var ret; + try { + if (ArrayBuffer.transfer) { + ret = ArrayBuffer.transfer(buffer, size); + } else { + var oldHEAP8 = HEAP8; + ret = new ArrayBuffer(size); + var temp = new Int8Array(ret); + temp.set(oldHEAP8); + } + } catch(e) { + return false; + } + var success = _emscripten_replace_memory(ret); + if (!success) return false; + return ret; +}; + +function enlargeMemory() { + // TOTAL_MEMORY is the current size of the actual array, and DYNAMICTOP is the new top. + assert(HEAP32[DYNAMICTOP_PTR>>2] > TOTAL_MEMORY); // This function should only ever be called after the ceiling of the dynamic heap has already been bumped to exceed the current total size of the asm.js heap. + + + var PAGE_MULTIPLE = Module["usingWasm"] ? WASM_PAGE_SIZE : ASMJS_PAGE_SIZE; // In wasm, heap size must be a multiple of 64KB. In asm.js, they need to be multiples of 16MB. + var LIMIT = 2147483648 - PAGE_MULTIPLE; // We can do one page short of 2GB as theoretical maximum. + + if (HEAP32[DYNAMICTOP_PTR>>2] > LIMIT) { + Module.printErr('Cannot enlarge memory, asked to go up to ' + HEAP32[DYNAMICTOP_PTR>>2] + ' bytes, but the limit is ' + LIMIT + ' bytes!'); + return false; + } + + var OLD_TOTAL_MEMORY = TOTAL_MEMORY; + TOTAL_MEMORY = Math.max(TOTAL_MEMORY, MIN_TOTAL_MEMORY); // So the loop below will not be infinite, and minimum asm.js memory size is 16MB. + + while (TOTAL_MEMORY < HEAP32[DYNAMICTOP_PTR>>2]) { // Keep incrementing the heap size as long as it's less than what is requested. + if (TOTAL_MEMORY <= 536870912) { + TOTAL_MEMORY = alignUp(2 * TOTAL_MEMORY, PAGE_MULTIPLE); // Simple heuristic: double until 1GB... + } else { + TOTAL_MEMORY = Math.min(alignUp((3 * TOTAL_MEMORY + 2147483648) / 4, PAGE_MULTIPLE), LIMIT); // ..., but after that, add smaller increments towards 2GB, which we cannot reach + } + } + + var start = Date.now(); + + var replacement = Module['reallocBuffer'](TOTAL_MEMORY); + if (!replacement || replacement.byteLength != TOTAL_MEMORY) { + Module.printErr('Failed to grow the heap from ' + OLD_TOTAL_MEMORY + ' bytes to ' + TOTAL_MEMORY + ' bytes, not enough memory!'); + if (replacement) { + Module.printErr('Expected to get back a buffer of size ' + TOTAL_MEMORY + ' bytes, but instead got back a buffer of size ' + replacement.byteLength); + } + return false; + } + + // everything worked + + updateGlobalBuffer(replacement); + updateGlobalBufferViews(); + + Module.printErr('enlarged memory arrays from ' + OLD_TOTAL_MEMORY + ' to ' + TOTAL_MEMORY + ', took ' + (Date.now() - start) + ' ms (has ArrayBuffer.transfer? ' + (!!ArrayBuffer.transfer) + ')'); + + if (!Module["usingWasm"]) { + Module.printErr('Warning: Enlarging memory arrays, this is not fast! ' + [OLD_TOTAL_MEMORY, TOTAL_MEMORY]); } @@ -1448,43 +1474,37 @@ try { var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; - -var totalMemory = 64*1024; -while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) { - if (totalMemory < 16*1024*1024) { - totalMemory *= 2; - } else { - totalMemory += 16*1024*1024 - } -} -totalMemory = Math.max(totalMemory, 16*1024*1024); -if (totalMemory !== TOTAL_MEMORY) { - TOTAL_MEMORY = totalMemory; -} +if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), 'JS engine does not provide full typed array support'); -var buffer; +// 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); +} +updateGlobalBufferViews(); -buffer = new ArrayBuffer(TOTAL_MEMORY); -HEAP8 = new Int8Array(buffer); -HEAP16 = new Int16Array(buffer); -HEAP32 = new Int32Array(buffer); -HEAPU8 = new Uint8Array(buffer); -HEAPU16 = new Uint16Array(buffer); -HEAPU32 = new Uint32Array(buffer); -HEAPF32 = new Float32Array(buffer); -HEAPF64 = new Float64Array(buffer); +function getTotalMemory() { + return TOTAL_MEMORY; +} // Endianness check (note: assumes compiler arch was little-endian) -HEAP32[0] = 255; -assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system'); + HEAP32[0] = 0x63736d65; /* 'emsc' */ +HEAP16[1] = 0x6373; +if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; Module['HEAP'] = HEAP; Module['buffer'] = buffer; @@ -1507,9 +1527,9 @@ function callRuntimeCallbacks(callbacks) { var func = callback.func; if (typeof func === 'number') { if (callback.arg === undefined) { - Runtime.dynCall('v', func); + Module['dynCall_v'](func); } else { - Runtime.dynCall('vi', func, [callback.arg]); + Module['dynCall_vi'](func, callback.arg); } } else { func(callback.arg === undefined ? null : callback.arg); @@ -1539,21 +1559,25 @@ function preRun() { } 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']]; @@ -1606,6 +1630,7 @@ function intArrayToString(array) { for (var i = 0; i < array.length; i++) { var chr = array[i]; if (chr > 0xFF) { + assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.'); chr &= 0xFF; } ret.push(String.fromCharCode(chr)); @@ -1614,26 +1639,35 @@ function intArrayToString(array) { } Module["intArrayToString"] = intArrayToString; +// 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. function writeStringToMemory(string, buffer, dontAddNull) { - var array = intArrayFromString(string, dontAddNull); - var i = 0; - while (i < array.length) { - var chr = array[i]; - HEAP8[(((buffer)+(i))>>0)]=chr; - i = i + 1; + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. } Module["writeStringToMemory"] = writeStringToMemory; function writeArrayToMemory(array, buffer) { - for (var i = 0; i < array.length; i++) { - HEAP8[((buffer++)>>0)]=array[i]; - } + assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)') + HEAP8.set(array, buffer); } Module["writeArrayToMemory"] = writeArrayToMemory; 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. @@ -1683,6 +1717,11 @@ if (!Math['clz32']) Math['clz32'] = function(x) { }; Math.clz32 = Math['clz32'] +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + var Math_abs = Math.abs; var Math_cos = Math.cos; var Math_sin = Math.sin; @@ -1699,8 +1738,10 @@ 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_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 @@ -1712,8 +1753,14 @@ var Math_clz32 = Math.clz32; 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; } @@ -1722,6 +1769,33 @@ function addRunDependency(id) { 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; + Module.printErr('still waiting on run dependencies:'); + } + Module.printErr('dependency: ' + dep); + } + if (shown) { + Module.printErr('(end of list)'); + } + }, 10000); + } + } else { + Module.printErr('warning: run dependency added without ID'); + } } Module["addRunDependency"] = addRunDependency; @@ -1730,6 +1804,12 @@ function removeRunDependency(id) { if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + Module.printErr('warning: run dependency removed without ID'); + } if (runDependencies == 0) { if (runDependencyWatcher !== null) { clearInterval(runDependencyWatcher); @@ -1753,11 +1833,14 @@ var memoryInitializer = null; + + + // === Body === var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; -function _emscripten_asm_const_2(code, a0, a1) { +function _emscripten_asm_const_iii(code, a0, a1) { return ASM_CONSTS[code](a0, a1); } @@ -1765,24 +1848,20 @@ function _emscripten_asm_const_2(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 33296; +STATICTOP = STATIC_BASE + 34144; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+3197); -/* memory initializer */ allocate([128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,103,103,83], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+4590); -/* memory initializer */ allocate([1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,0,0,0,0,255,255,255,255,253,255,255,255,249,255,255,255,241,255,255,255,225,255,255,255,193,255,255,255,129,255,255,255,1,255,255,255,1,254,255,255,1,252,255,255,1,248,255,255,1,240,255,255,1,224,255,255,1,192,255,255,1,128,255,255,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,196,44,0,0,196,44,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,242,123,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,71,74,49,54,32,45,32,76,73,71,72,84,32,77,89,32,82,73,84,85,65,76,33,0,114,101,115,111,117,114,99,101,115,47,108,105,103,104,116,115,95,109,97,112,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,95,97,114,99,97,100,105,97,110,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,97,109,98,105,101,110,116,46,111,103,103,0,112,111,119,101,114,101,100,32,98,121,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,95,116,105,116,108,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,116,105,116,108,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,115,116,97,114,116,46,119,97,118,0,40,99,41,32,68,101,118,101,108,111,112,101,100,32,98,121,32,82,97,109,111,110,32,83,97,110,116,97,109,97,114,105,97,32,40,64,114,97,121,115,97,110,53,41,0,80,82,69,83,83,32,69,78,84,69,82,32,116,111,32,83,84,65,82,84,32,76,73,71,72,84,73,78,71,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,46,112,118,114,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,102,111,114,101,103,114,111,117,110,100,95,108,101,118,101,108,95,105,46,112,118,114,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,102,111,114,101,103,114,111,117,110,100,95,108,101,118,101,108,95,105,105,46,112,118,114,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,102,111,114,101,103,114,111,117,110,100,95,108,101,118,101,108,95,105,105,105,46,112,118,114,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,112,108,97,121,101,114,46,112,118,114,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,101,110,101,109,121,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,108,105,103,104,116,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,108,105,103,104,116,95,103,108,111,119,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,108,105,103,104,116,95,114,97,121,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,111,111,107,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,115,103,95,114,105,116,117,97,108,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,116,105,109,101,95,111,118,101,114,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,99,105,114,99,108,101,95,108,101,118,101,108,95,105,95,111,102,102,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,99,105,114,99,108,101,95,108,101,118,101,108,95,105,105,95,111,102,102,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,99,105,114,99,108,101,95,108,101,118,101,108,95,105,105,105,95,111,102,102,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,99,105,114,99,108,101,95,108,101,118,101,108,95,105,95,111,110,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,99,105,114,99,108,101,95,108,101,118,101,108,95,105,105,95,111,110,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,99,105,114,99,108,101,95,108,101,118,101,108,95,105,105,105,95,111,110,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,114,97,121,115,99,97,108,101,46,102,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,98,108,111,111,109,46,102,115,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,108,105,103,104,116,95,111,110,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,108,105,103,104,116,95,111,102,102,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,114,105,116,117,97,108,46,111,103,103,0,37,48,50,105,0,37,48,53,46,50,102,0,37,48,51,46,48,102,0,89,79,85,39,82,69,32,82,85,78,78,73,78,71,32,79,85,84,32,79,70,32,76,73,71,72,84,33,0,66,69,83,84,32,76,73,71,72,84,73,78,71,32,84,73,77,69,58,32,37,48,50,46,50,102,0,80,82,69,83,83,32,69,78,84,69,82,32,116,111,32,83,84,65,82,84,32,116,104,101,32,82,73,84,85,65,76,0,78,69,88,84,32,83,84,65,82,83,32,65,76,73,71,78,77,69,78,84,32,73,78,32,37,105,32,89,69,65,82,83,0,80,82,69,83,83,32,69,78,84,69,82,32,116,111,32,71,79,32,72,79,77,69,46,46,46,0,82,73,84,85,65,76,32,80,65,85,83,69,68,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,52,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+9237); -/* memory initializer */ allocate([83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,32,105,115,32,108,105,109,105,116,101,100,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,70,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,102,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,85,110,108,111,97,100,101,100,32,112,111,115,116,112,114,111,99,101,115,115,105,110,103,32,100,97,116,97,0,79,112,101,110,71,76,32,103,114,97,112,104,105,99,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,67,117,115,116,111,109,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,78,111,114,109,97,108,0,109,118,112,77,97,116,114,105,120,0,102,114,97,103,84,105,110,116,67,111,108,111,114,0,116,101,120,116,117,114,101,48,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,99,97,110,39,116,32,102,111,112,101,110,0,112,110,103,0,98,109,112,0,116,103,97,0,106,112,103,0,103,105,102,0,112,115,100,0,112,105,99,0,100,100,115,0,112,107,109,0,107,116,120,0,112,118,114,0,97,115,116,99,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,102,105,108,101,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,115,116,98,95,118,111,114,98,105,115,46,99,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,109,97,120,112,0,46,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,115,116,98,116,116,95,71,101,116,71,108,121,112,104,83,104,97,112,101,0,120,43,103,119,32,60,32,112,119,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,0,121,43,103,104,32,60,32,112,104,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,114,98,109,102,0,116,116,102,0,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,110,117,109,32,99,104,97,114,115,32,100,101,116,101,99,116,101,100,58,32,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,78,70,79,58,32,0,69,82,82,79,82,58,32,0,87,65,82,78,73,78,71,58,32,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,115,101,116,117,112,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,119,97,118,0,111,103,103,0,91,37,115,93,32,83,111,117,110,100,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,83,111,117,110,100,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,85,110,108,111,97,100,101,100,32,115,111,117,110,100,32,100,97,116,97,0,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,103,103,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,84,101,109,112,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,91,37,115,93,32,77,117,115,105,99,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,79,103,103,32,112,108,97,121,105,110,103,44,32,101,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,78,111,32,109,111,114,101,32,100,97,116,97,32,111,98,116,97,105,110,101,100,32,102,114,111,109,32,115,116,114,101,97,109,0,85,110,108,111,97,100,101,100,32,119,97,118,101,32,100,97,116,97,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,83,97,109,112,108,101,115,32,108,101,110,103,116,104,58,32,37,105,0,91,37,115,93,32,84,111,116,97,108,32,115,101,99,111,110,100,115,58,32,37,102,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,104,116,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,91,37,115,93,32,84,111,116,97,108,32,115,97,109,112,108,101,115,32,99,97,108,99,117,108,97,116,101,100,58,32,37,105,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,82,73,70,70,0,87,65,86,69,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,83,97,109,112,108,101,82,97,116,101,58,32,37,105,44,32,66,105,116,82,97,116,101,58,32,37,105,44,32,67,104,97,110,110,101,108,115,58,32,37,105,41,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,114,98,0,91,37,115,93,32,114,66,77,70,32,102,111,110,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,91,37,115,93,32,76,111,97,100,105,110,103,32,114,66,77,70,32,102,105,108,101,44,32,115,105,122,101,58,32,37,105,120,37,105,44,32,110,117,109,67,104,97,114,115,58,32,37,105,44,32,99,104,97,114,72,101,105,103,104,116,58,32,37,105,0,91,37,115,93,32,73,109,97,103,101,32,114,101,99,111,110,115,116,114,117,99,116,101,100,32,99,111,114,114,101,99,116,108,121,44,32,110,111,119,32,99,111,110,118,101,114,116,105,110,103,32,105,116,32,116,111,32,116,101,120,116,117,114,101,0,91,37,115,93,32,114,66,77,70,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,103,101,116,95,119,105,110,100,111,119,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,91,37,115,93,32,65,83,84,67,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,65,83,84,67,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,65,83,84,67,32,105,109,97,103,101,32,119,105,100,116,104,58,32,37,105,0,65,83,84,67,32,105,109,97,103,101,32,104,101,105,103,104,116,58,32,37,105,0,65,83,84,67,32,105,109,97,103,101,32,98,108,111,99,107,115,58,32,37,105,120,37,105,0,91,37,115,93,32,65,83,84,67,32,98,108,111,99,107,32,115,105,122,101,32,99,111,110,102,105,103,117,114,97,116,105,111,110,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,80,86,82,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,80,86,82,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,80,86,82,32,118,50,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,117,112,100,97,116,101,32,121,111,117,114,32,102,105,108,101,115,32,116,111,32,80,86,82,32,118,51,0,91,37,115,93,32,75,84,88,32,105,109,97,103,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,75,84,88,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,102,105,108,101,0,75,84,88,32,40,69,84,67,41,32,105,109,97,103,101,32,119,105,100,116,104,58,32,37,105,0,75,84,88,32,40,69,84,67,41,32,105,109,97,103,101,32,104,101,105,103,104,116,58,32,37,105,0,75,84,88,32,40,69,84,67,41,32,105,109,97,103,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,91,37,115,93,32,80,75,77,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,80,75,77,32,0,91,37,115,93,32,80,75,77,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,80,75,77,32,40,69,84,67,41,32,105,109,97,103,101,32,119,105,100,116,104,58,32,37,105,0,80,75,77,32,40,69,84,67,41,32,105,109,97,103,101,32,104,101,105,103,104,116,58,32,37,105,0,80,75,77,32,40,69,84,67,41,32,105,109,97,103,101,32,102,111,114,109,97,116,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,68,68,83,32,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,115,101,101,109,32,116,111,32,98,101,32,97,32,118,97,108,105,100,32,105,109,97,103,101,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,104,101,97,100,101,114,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,112,105,120,101,108,32,102,111,114,109,97,116,32,102,108,97,103,115,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,102,111,114,109,97,116,58,32,48,120,37,120,0,91,37,115,93,32,68,68,83,32,102,105,108,101,32,98,105,116,32,99,111,117,110,116,58,32,48,120,37,120,0,80,105,116,99,104,32,111,114,32,108,105,110,101,97,114,32,115,105,122,101,58,32,37,105,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,109,97,120,32,118,97,108,117,101,32,62,32,50,53,53,0,83,128,246,52,0,110,111,116,32,66,77,80,0,117,110,107,110,111,119,110,32,66,77,80,0,98,97,100,32,66,77,80,0,109,111,110,111,99,104,114,111,109,101,0,66,77,80,32,82,76,69,0,110,111,116,32,71,73,70,0,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,109,101,109,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,46,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,112,110,103,32,115,105,103,0,110,111,32,83,79,73,0,110,111,32,83,79,70,0,98,97,100,32,83,79,70,32,108,101,110,0,111,110,108,121,32,56,45,98,105,116,0,110,111,32,104,101,97,100,101,114,32,104,101,105,103,104,116,0,48,32,119,105,100,116,104,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,99,111,117,110,116,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,73,68,0,98,97,100,32,72,0,98,97,100,32,86,0,98,97,100,32,84,81,0,101,120,112,101,99,116,101,100,32,109,97,114,107,101,114,0,98,97,100,32,68,82,73,32,108,101,110,0,98,97,100,32,68,81,84,32,116,121,112,101,0,98,97,100,32,68,81,84,32,116,97,98,108,101,0,0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,98,97,100,32,68,72,84,32,104,101,97,100,101,114,0,98,97,100,32,99,111,100,101,32,108,101,110,103,116,104,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,101,114,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,102,111,114,109,97,116,0,116,103,97,95,99,111,109,112,32,61,61,32,83,84,66,73,95,114,103,98,0,115,116,98,105,95,95,116,103,97,95,108,111,97,100,0,98,97,100,32,112,97,108,101,116,116,101,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,48,0,98,97,100,32,102,105,108,101,0,80,73,67,84,0,110,111,116,32,80,83,68,0,119,114,111,110,103,32,118,101,114,115,105,111,110,0,119,114,111,110,103,32,99,104,97,110,110,101,108,32,99,111,117,110,116,0,117,110,115,117,112,112,111,114,116,101,100,32,98,105,116,32,100,101,112,116,104,0,119,114,111,110,103,32,99,111,108,111,114,32,102,111,114,109,97,116,0,98,97,100,32,73,109,97,103,101,32,68,101,115,99,114,105,112,116,111,114,0,109,105,115,115,105,110,103,32,99,111,108,111,114,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,100,101,0,110,111,32,99,108,101,97,114,32,99,111,100,101,0,116,111,111,32,109,97,110,121,32,99,111,100,101,115,0,105,108,108,101,103,97,108,32,99,111,100,101,32,105,110,32,114,97,115,116,101,114,0,105,110,118,97,108,105,100,0,98,97,100,32,98,112,112,0,98,97,100,32,109,97,115,107,115,0,98,97,100,32,114,101,113,95,99,111,109,112,0,106,117,110,107,32,98,101,102,111,114,101,32,109,97,114,107,101,114,0,99,97,110,39,116,32,109,101,114,103,101,32,100,99,32,97,110,100,32,97,99,0,110,32,62,61,32,48,32,38,38,32,110,32,60,32,40,105,110,116,41,32,40,115,105,122,101,111,102,40,115,116,98,105,95,95,98,109,97,115,107,41,47,115,105,122,101,111,102,40,42,115,116,98,105,95,95,98,109,97,115,107,41,41,0,115,116,98,105,95,95,101,120,116,101,110,100,95,114,101,99,101,105,118,101,0,40,40,40,106,45,62,99,111,100,101,95,98,117,102,102,101,114,41,32,62,62,32,40,51,50,32,45,32,104,45,62,115,105,122,101,91,99,93,41,41,32,38,32,115,116,98,105,95,95,98,109,97,115,107,91,104,45,62,115,105,122,101,91,99,93,93,41,32,61,61,32,104,45,62,99,111,100,101,91,99,93,0,115,116,98,105,95,95,106,112,101,103,95,104,117,102,102,95,100,101,99,111,100,101,0,98,97,100,32,83,79,83,32,99,111,109,112,111,110,101,110,116,32,99,111,117,110,116,0,98,97,100,32,83,79,83,32,108,101,110,0,98,97,100,32,68,67,32,104,117,102,102,0,98,97,100,32,65,67,32,104,117,102,102,0,98,97,100,32,83,79,83,0,114,116,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,86,65,79,32,73,68,32,37,105,93,32,76,105,110,101,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,76,105,110,101,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,84,114,105,97,110,103,108,101,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,84,114,105,97,110,103,108,101,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,81,117,97,100,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,81,117,97,100,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,67,80,85,32,98,117,102,102,101,114,115,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,78,111,114,109,97,108,59,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+14498); -/* memory initializer */ allocate([97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,105,109,112,108,101,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,105,109,112,108,101,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,84,105,110,116,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,102,114,97,103,84,105,110,116,67,111,108,111,114,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,67,111,108,111,114,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,114,119,97], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+24738); -/* memory initializer */ allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+32746); +/* memory initializer */ allocate([255,255,255,255,255,255,255,255,0,0,128,63,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,170,42,63,0,0,0,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,192,63,0,0,0,64,0,0,0,0,0,0,128,191,0,0,0,192,0,0,128,192,0,0,0,193,0,0,128,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,64,0,0,128,64,0,0,0,65,0,0,128,65,0,0,0,0,0,0,0,0,172,95,0,0,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,144,19,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,83,129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,21,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,91,129,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,176,6,80,6,245,5,160,5,77,5,1,5,185,4,117,4,53,4,249,3,193,3,139,3,88,3,71,71,74,49,54,32,45,32,76,73,71,72,84,32,77,89,32,82,73,84,85,65,76,33,0,114,101,115,111,117,114,99,101,115,47,108,105,103,104,116,115,95,109,97,112,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,95,97,114,99,97,100,105,97,110,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,97,109,98,105,101,110,116,46,111,103,103,0,112,111,119,101,114,101,100,32,98,121,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,95,116,105,116,108,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,116,105,116,108,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,115,116,97,114,116,46,119,97,118,0,40,99,41,32,68,101,118,101,108,111,112,101,100,32,98,121,32,82,97,109,111,110,32,83,97,110,116,97,109,97,114,105,97,32,40,64,114,97,121,115,97,110,53,41,0,80,82,69,83,83,32,69,78,84,69,82,32,116,111,32,83,84,65,82,84,32,76,73,71,72,84,73,78,71,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,97,99,107,103,114,111,117,110,100,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,102,111,114,101,103,114,111,117,110,100,95,108,101,118,101,108,95,105,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,102,111,114,101,103,114,111,117,110,100,95,108,101,118,101,108,95,105,105,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,102,111,114,101,103,114,111,117,110,100,95,108,101,118,101,108,95,105,105,105,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,112,108,97,121,101,114,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,101,110,101,109,121,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,108,105,103,104,116,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,108,105,103,104,116,95,103,108,111,119,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,108,105,103,104,116,95,114,97,121,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,98,111,111,107,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,109,115,103,95,114,105,116,117,97,108,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,116,105,109,101,95,111,118,101,114,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,99,105,114,99,108,101,95,108,101,118,101,108,95,105,95,111,102,102,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,99,105,114,99,108,101,95,108,101,118,101,108,95,105,105,95,111,102,102,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,99,105,114,99,108,101,95,108,101,118,101,108,95,105,105,105,95,111,102,102,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,99,105,114,99,108,101,95,108,101,118,101,108,95,105,95,111,110,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,99,105,114,99,108,101,95,108,101,118,101,108,95,105,105,95,111,110,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,115,47,99,105,114,99,108,101,95,108,101,118,101,108,95,105,105,105,95,111,110,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,108,105,103,104,116,95,111,110,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,108,105,103,104,116,95,111,102,102,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,97,117,100,105,111,47,114,105,116,117,97,108,46,111,103,103,0,37,48,50,105,0,37,48,50,46,50,102,0,37,48,51,46,48,102,0,89,79,85,39,82,69,32,82,85,78,78,73,78,71,32,79,85,84,32,79,70,32,76,73,71,72,84,33,0,66,69,83,84,32,76,73,71,72,84,73,78,71,32,84,73,77,69,58,32,37,48,50,46,50,102,0,80,82,69,83,83,32,69,78,84,69,82,32,116,111,32,83,84,65,82,84,32,116,104,101,32,82,73,84,85,65,76,0,78,69,88,84,32,83,84,65,82,83,32,65,76,73,71,78,77,69,78,84,32,73,78,32,37,105,32,89,69,65,82,83,0,80,82,69,83,83,32,69,78,84,69,82,32,116,111,32,71,79,32,72,79,77,69,46,46,46,0,82,73,84,85,65,76,32,80,65,85,83,69,68,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,37,105,93,32,80,97,114,97,109,101,116,101,114,115,58,32,37,105,120,37,105,44,32,37,105,32,109,105,112,115,44,32,102,111,114,109,97,116,32,37,105,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,114,101,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,108,111,97,100,10,0,106,97,114,95,120,109,95,99,114,101,97,116,101,95,99,111,110,116,101,120,116,95,115,97,102,101,0,37,115,40,41,58,32,99,97,108,108,32,116,111,32,109,97,108,108,111,99,40,41,32,102,97,105,108,101,100,44,32,114,101,116,117,114,110,101,100,32,37,112,10,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,112,108,97,121,10,0,37,115,40,41,58,32,116,114,105,109,109,105,110,103,32,105,110,118,97,108,105,100,32,80,79,84,32,97,116,32,112,111,115,32,37,88,10,0,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,0,37,115,40,41,58,32,109,111,100,117,108,101,32,104,97,115,32,105,110,118,97,108,105,100,32,80,79,84,44,32,112,111,115,32,37,88,32,114,101,102,101,114,101,110,99,101,115,32,110,111,110,101,120,105,115,116,101,110,116,32,112,97,116,116,101,114,110,32,37,88,10,0,69,120,116,101,110,100,101,100,32,77,111,100,117,108,101,58,32,0,67,111,117,108,100,32,110,111,116,32,111,112,101,110,32,105,110,112,117,116,32,102,105,108,101,0,102,115,101,101,107,40,41,32,102,97,105,108,101,100,0,102,114,101,97,100,40,41,32,102,97,105,108,101,100,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,110,101,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,97,108,108,111,99,32,102,97,105,108,101,100,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,117,110,107,110,111,119,110,32,101,114,114,111,114,10,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,119,97,118,0,46,111,103,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,119,97,118,101,32,100,97,116,97,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,116,104,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,77,111,110,111,0,83,116,101,114,101,111,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,82,73,70,70,0,87,65,86,69,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,91,37,115,93,32,87,65,86,32,115,97,109,112,108,101,32,115,105,122,101,32,40,37,105,98,105,116,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,49,54,98,105,116,0,91,37,115,93,32,87,65,86,32,99,104,97,110,110,101,108,115,32,110,117,109,98,101,114,32,40,37,105,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,50,32,99,104,97,110,110,101,108,115,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,85,110,108,111,97,100,101,100,32,119,97,118,101,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,87,97,118,101,32,115,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,87,97,118,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,83,111,117,110,100,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,111,117,110,100,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,70,76,65,67,32,116,111,116,97,108,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,71,71,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,46,120,109,0,91,37,115,93,32,88,77,32,110,117,109,98,101,114,32,111,102,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,88,77,32,116,114,97,99,107,32,108,101,110,103,116,104,58,32,37,49,49,46,54,102,32,115,101,99,0,91,37,115,93,32,88,77,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,83,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,65,85,68,32,73,68,32,37,105,93,32,65,117,100,105,111,32,115,116,114,101,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,65,85,68,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,97,117,100,105,111,32,115,116,114,101,97,109,32,100,97,116,97,0,79,112,101,110,65,76,58,32,69,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480); /* no memory initializer */ -var tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); +var tempDoublePtr = STATICTOP; STATICTOP += 16; assert(tempDoublePtr % 8 == 0); @@ -1822,11 +1901,17 @@ function copyTempDouble(ptr) { - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},packAlignment:4,unpackAlignment:4,init:function () { + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } },recordError:function recordError(errorCode) { if (!GL.lastError) { GL.lastError = errorCode; @@ -1837,7 +1922,7 @@ function copyTempDouble(ptr) { table[i] = null; } return ret; - },MINI_TEMP_BUFFER_SIZE:16,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { var source = ''; for (var i = 0; i < count; ++i) { var frag; @@ -1855,9 +1940,9 @@ function copyTempDouble(ptr) { } return source; },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes.majorVersion === 'undefined' && typeof webGLContextAttributes.minorVersion === 'undefined') { - webGLContextAttributes.majorVersion = 1; - webGLContextAttributes.minorVersion = 0; + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; } var ctx; var errorInfo = '?'; @@ -1867,9 +1952,9 @@ function copyTempDouble(ptr) { try { canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); try { - if (webGLContextAttributes.majorVersion == 1 && webGLContextAttributes.minorVersion == 0) { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes.majorVersion == 2 && webGLContextAttributes.minorVersion == 0) { + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); } else { throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' @@ -1890,13 +1975,16 @@ function copyTempDouble(ptr) { var handle = GL.getNewId(GL.contexts); var context = { handle: handle, - version: webGLContextAttributes.majorVersion, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], GLctx: ctx }; + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. if (ctx.canvas) ctx.canvas.GLctxObject = context; GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes.enableExtensionsByDefault) { + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { GL.initExtensions(context); } return handle; @@ -1950,6 +2038,8 @@ function copyTempDouble(ptr) { } } + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions @@ -1961,7 +2051,7 @@ function copyTempDouble(ptr) { "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod" ]; + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; function shouldEnableAutomatically(extension) { var ret = false; @@ -1986,7 +2076,8 @@ function copyTempDouble(ptr) { GL.programInfos[program] = { uniforms: {}, maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1 // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well }; var ptable = GL.programInfos[program]; @@ -2010,16 +2101,19 @@ function copyTempDouble(ptr) { // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. var loc = GLctx.getUniformLocation(p, name); - var id = GL.getNewId(GL.uniforms); - utable[name] = [u.size, id]; - GL.uniforms[id] = loc; - - for (var j = 1; j < u.size; ++j) { - var n = name + '['+j+']'; - loc = GLctx.getUniformLocation(p, n); - id = GL.getNewId(GL.uniforms); - + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } } } }};function _emscripten_glIsRenderbuffer(renderbuffer) { @@ -2028,91 +2122,771 @@ function copyTempDouble(ptr) { return GLctx.isRenderbuffer(rb); } - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx.stencilMaskSeparate(x0, x1) } + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - var _ceilf=Math_ceil; - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx.stencilFunc(x0, x1, x2) } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x1F02 /* GL_VERSION */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i in exts) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - ret = allocate(intArrayFromString('OpenGL ES GLSL 1.00 (WebGL)'), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glUniform3iv(location, count, value) { - location = GL.uniforms[location]; - count *= 3; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform3iv(location, value); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - - function _emscripten_get_now() { - if (!_emscripten_get_now.actual) { - if (ENVIRONMENT_IS_NODE) { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { - var t = process['hrtime'](); - return t[0] * 1e3 + t[1] / 1e6; + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. } - } else if (typeof dateNow !== 'undefined') { - _emscripten_get_now.actual = dateNow; - } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now.actual = function _emscripten_get_now_actual() { return performance['now'](); }; - } else { - _emscripten_get_now.actual = Date.now; } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; } - return _emscripten_get_now.actual(); - }var GLFW={Window:function (id, width, height, title, monitor, share) { + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { this.id = id; this.x = 0; this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode this.storedX = 0; // Used to store X before fullscreen this.storedY = 0; // Used to store Y before fullscreen this.width = width; @@ -2151,10 +2925,12 @@ function copyTempDouble(ptr) { return GLFW.windows[id - 1]; },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 @@ -2168,7 +2944,8 @@ function copyTempDouble(ptr) { case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x61:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C @@ -2199,6 +2976,8 @@ function copyTempDouble(ptr) { case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB @@ -2269,7 +3048,6 @@ function copyTempDouble(ptr) { // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? default:return -1; // GLFW_KEY_UNKNOWN }; @@ -2288,20 +3066,22 @@ function copyTempDouble(ptr) { if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - Runtime.dynCall('vii', GLFW.active.charFunc, [GLFW.active.id, charCode]); + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); },onKeyChanged:function (event, status) { if (!GLFW.active) return; var key = GLFW.DOMToGLFWKeyCode(event.keyCode); if (key == -1) return; + var repeat = status && GLFW.active.keys[key]; GLFW.active.keys[key] = status; if (!GLFW.active.keyFunc) return; - Runtime.dynCall('viiiii', GLFW.active.keyFunc, [GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)]); + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); },onKeydown:function (event) { - GLFW.onKeyChanged(event, 1); // GLFW_PRESS + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT // This logic comes directly from the sdl implementation. We cannot // call preventDefault on all keydown events otherwise onKeyPress will @@ -2319,21 +3099,10 @@ function copyTempDouble(ptr) { if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - Runtime.dynCall('vidd', GLFW.active.cursorPosFunc, [GLFW.active.id, Browser.mouseX, Browser.mouseY]); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active || !GLFW.active.mouseButtonFunc) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - if (status == 1) { // GLFW_PRESS - try { - event.target.setCapture(); - } catch (e) {} - } - - // DOM and glfw have different button codes + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. var eventButton = event['button']; if (eventButton > 0) { if (eventButton == 1) { @@ -2342,16 +3111,46 @@ function copyTempDouble(ptr) { eventButton = 1; } } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; - Runtime.dynCall('viiii', GLFW.active.mouseButtonFunc, [GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)]); + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); },onMouseButtonDown:function (event) { if (!GLFW.active) return; - GLFW.active.buttons |= (1 << event['button']); GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS },onMouseButtonUp:function (event) { if (!GLFW.active) return; - GLFW.active.buttons &= ~(1 << event['button']); GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE },onMouseWheel:function (event) { // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) @@ -2372,13 +3171,16 @@ function copyTempDouble(ptr) { sy = event.deltaY; } - Runtime.dynCall('vidd', GLFW.active.scrollFunc, [GLFW.active.id, sx, sy]); + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); event.preventDefault(); - },onFullScreenEventChange:function () { + },onCanvasResize:function (width, height) { if (!GLFW.active) return; - if (document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { GLFW.active.storedX = GLFW.active.x; GLFW.active.storedY = GLFW.active.y; GLFW.active.storedWidth = GLFW.active.width; @@ -2386,33 +3188,71 @@ function copyTempDouble(ptr) { GLFW.active.x = GLFW.active.y = 0; GLFW.active.width = screen.width; GLFW.active.height = screen.height; - } else { + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { GLFW.active.x = GLFW.active.storedX; GLFW.active.y = GLFW.active.storedY; GLFW.active.width = GLFW.active.storedWidth; GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; } - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; if (!GLFW.active.windowSizeFunc) return; - Runtime.dynCall('viii', GLFW.active.windowSizeFunc, [GLFW.active.id, GLFW.active.width, GLFW.active.height]); - },requestFullScreen:function () { + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['requestFullScreen'] || Module["canvas"]['mozRequestFullScreen'] || Module["canvas"]['webkitRequestFullScreen'] || (function() {}); RFS.apply(Module["canvas"], []); - },cancelFullScreen:function () { + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { var CFS = document['exitFullscreen'] || document['cancelFullScreen'] || document['mozCancelFullScreen'] || document['webkitCancelFullScreen'] || (function() {}); CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); },getTime:function () { return _emscripten_get_now() / 1000; },setWindowTitle:function (winid, title) { @@ -2447,6 +3287,7 @@ function copyTempDouble(ptr) { var win = GLFW.WindowFromId(winid); if (!win) return; win.windowSizeFunc = cbfun; + },setWindowCloseCallback:function (winid, cbfun) { var win = GLFW.WindowFromId(winid); if (!win) return; @@ -2455,6 +3296,54 @@ function copyTempDouble(ptr) { var win = GLFW.WindowFromId(winid); if (!win) return; win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } },getKey:function (winid, key) { var win = GLFW.WindowFromId(winid); if (!win) return 0; @@ -2505,19 +3394,19 @@ function copyTempDouble(ptr) { if (GLFW.active.id == win.id) { if (width == screen.width && height == screen.height) { - GLFW.requestFullScreen(); + GLFW.requestFullscreen(); } else { - GLFW.cancelFullScreen(); + GLFW.exitFullscreen(); Browser.setCanvasSize(width, height); win.width = width; win.height = height; } } - if (!win.windowResizeFunc) return; + if (!win.windowSizeFunc) return; - Runtime.dynCall('viii', win.windowResizeFunc, [win.id, width, height]); + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); },createWindow:function (width, height, title, monitor, share) { var i, id; for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); @@ -2530,7 +3419,7 @@ function copyTempDouble(ptr) { if (width <= 0 || height <= 0) return 0; if (monitor) { - GLFW.requestFullScreen(); + GLFW.requestFullscreen(); } else { Browser.setCanvasSize(width, height); } @@ -2541,7 +3430,8 @@ function copyTempDouble(ptr) { var contextAttributes = { antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0) // GLFW_STENCIL_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS } Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); } @@ -2566,7 +3456,7 @@ function copyTempDouble(ptr) { if (!win) return; if (win.windowCloseFunc) - Runtime.dynCall('vi', win.windowCloseFunc, [win.id]); + Module['dynCall_vi'](win.windowCloseFunc, win.id); GLFW.windows[win.id - 1] = null; if (GLFW.active.id == win.id) @@ -2612,13 +3502,93 @@ function copyTempDouble(ptr) { 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE }; return table[param]; - }};function _glfwSetScrollCallback(winid, cbfun) { + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glfwSetScrollCallback(winid, cbfun) { GLFW.setScrollCallback(winid, cbfun); } - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx.texParameterf(x0, x1, x2) } + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx.texParameteri(x0, x1, x2) } + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } function _glCompileShader(shader) { GLctx.compileShader(GL.shaders[shader]); @@ -2633,6 +3603,7 @@ function copyTempDouble(ptr) { function ___setErrNo(value) { if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); return value; } @@ -2835,15 +3806,26 @@ function copyTempDouble(ptr) { var buf = new Buffer(BUFSIZE); var bytesRead = 0; - var fd = process.stdin.fd; - // 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) {} + var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); + 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) { @@ -2962,7 +3944,7 @@ function copyTempDouble(ptr) { } 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.buffer.byteLength which gives the whole capacity. + 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. @@ -3001,7 +3983,7 @@ function copyTempDouble(ptr) { } 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.buffer.byteLength : 0; + 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 @@ -3141,7 +4123,8 @@ function copyTempDouble(ptr) { 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) { // Can we just reuse the buffer we are given? + 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; @@ -3261,6 +4244,9 @@ function copyTempDouble(ptr) { } 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; @@ -3536,7 +4522,10 @@ function copyTempDouble(ptr) { parts.reverse(); return PATH.join.apply(null, parts); },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { - flags &= ~0100000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + 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. if (flags in NODEFS.flagsToPermissionStringMap) { return NODEFS.flagsToPermissionStringMap[flags]; } else { @@ -3741,8 +4730,15 @@ function copyTempDouble(ptr) { 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, curr, WORKERFS.DIR_MODE, 0); + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); } parent = createdParents[curr]; } @@ -3818,7 +4814,14 @@ function copyTempDouble(ptr) { },rmdir:function (parent, name) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); },readdir:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); + 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) { @@ -3846,11 +4849,11 @@ function copyTempDouble(ptr) { return position; }}}; - var _stdin=allocate(1, "i32*", ALLOC_STATIC); + var _stdin=STATICTOP; STATICTOP += 16;; - var _stdout=allocate(1, "i32*", ALLOC_STATIC); + var _stdout=STATICTOP; STATICTOP += 16;; - var _stderr=allocate(1, "i32*", ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,handleFSError:function (e) { + var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],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) { @@ -4105,8 +5108,8 @@ function copyTempDouble(ptr) { if (FS.isLink(node.mode)) { return ERRNO_CODES.ELOOP; } else if (FS.isDir(node.mode)) { - if ((flags & 2097155) !== 0 || // opening for write - (flags & 512)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) return ERRNO_CODES.EISDIR; } } @@ -4194,19 +5197,31 @@ function copyTempDouble(ptr) { 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 callback(err); + return doCallback(err); } return; } if (++completed >= mounts.length) { - callback(null); + doCallback(null); } }; @@ -4324,6 +5339,18 @@ function copyTempDouble(ptr) { 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; @@ -4486,8 +5513,9 @@ function copyTempDouble(ptr) { var node = FS.lookupNode(parent, name); var err = FS.mayDelete(parent, name, false); if (err) { - // POSIX says unlink should set EPERM, not EISDIR - if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM; + // 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) { @@ -4873,6 +5901,9 @@ function copyTempDouble(ptr) { 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); } @@ -4927,7 +5958,7 @@ function copyTempDouble(ptr) { FS.mkdir('/proc/self/fd'); FS.mount({ mount: function() { - var node = FS.createNode('/proc/self', 'fd', 16384 | 0777, 73); + var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); node.node_ops = { lookup: function(parent, name) { var fd = +name; @@ -4995,6 +6026,7 @@ function copyTempDouble(ptr) { }; this.setErrno(errno); this.message = ERRNO_MESSAGES[errno]; + if (this.stack) this.stack = demangleAll(this.stack); }; FS.ErrnoError.prototype = new Error(); FS.ErrnoError.prototype.constructor = FS.ErrnoError; @@ -5236,6 +6268,8 @@ function copyTempDouble(ptr) { 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; @@ -5276,6 +6310,14 @@ function copyTempDouble(ptr) { 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; @@ -5283,21 +6325,23 @@ function copyTempDouble(ptr) { 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.defineProperty(lazyArray, "length", { + Object.defineProperties(lazyArray, { + length: { get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._length; + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._length; } - }); - Object.defineProperty(lazyArray, "chunkSize", { + }, + chunkSize: { get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; } + } }); var properties = { isDevice: false, contents: lazyArray }; @@ -5316,8 +6360,10 @@ function copyTempDouble(ptr) { node.url = properties.url; } // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperty(node, "usedBytes", { + 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 = {}; @@ -5355,7 +6401,7 @@ function copyTempDouble(ptr) { node.stream_ops = stream_ops; return node; },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { - Browser.init(); + 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; @@ -5532,9 +6578,15 @@ function copyTempDouble(ptr) { },doReadlink:function (path, buf, bufsize) { if (bufsize <= 0) return -ERRNO_CODES.EINVAL; var ret = FS.readlink(path); - ret = ret.slice(0, Math.max(0, bufsize)); - writeStringToMemory(ret, buf, true); - return ret.length; + + 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 @@ -5632,6 +6684,12 @@ function copyTempDouble(ptr) { 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; + } default: abort('bad ioctl syscall ' + op); } } catch (e) { @@ -5640,7 +6698,9 @@ function copyTempDouble(ptr) { } } - function _emscripten_glSampleCoverage(x0, x1) { GLctx.sampleCoverage(x0, x1) } + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } function _glDeleteTextures(n, textures) { for (var i = 0; i < n; i++) { @@ -5672,8 +6732,7 @@ function copyTempDouble(ptr) { } function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - location = GL.uniforms[location]; - GLctx.uniform4i(location, v0, v1, v2, v3); + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); } function _emscripten_glBindRenderbuffer(target, renderbuffer) { @@ -5681,748 +6740,7 @@ function copyTempDouble(ptr) { } - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { - setTimeout(Browser.mainLoop.runner, value); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = '__emcc'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - window.postMessage(emscriptenMainLoopMessageId, "*"); - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; - - Browser.mainLoop.runner = function Browser_mainLoop_runner() { - if (ABORT) return; - if (Browser.mainLoop.queue.length > 0) { - var start = Date.now(); - var blocker = Browser.mainLoop.queue.shift(); - blocker.func(blocker.arg); - if (Browser.mainLoop.remainingBlockers) { - var remaining = Browser.mainLoop.remainingBlockers; - var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); - if (blocker.counted) { - Browser.mainLoop.remainingBlockers = next; - } else { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(function() { - if (typeof arg !== 'undefined') { - Runtime.dynCall('vi', func, [arg]); - } else { - Runtime.dynCall('v', func); - } - }); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); - - Browser.mainLoop.scheduler(); - } - - if (!noSetTiming) { - if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - Browser.mainLoop.scheduler(); - } - - if (simulateInfiniteLoop) { - throw 'SimulateInfiniteLoop'; - } - }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { - Browser.mainLoop.scheduler = null; - Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },resume:function () { - Browser.mainLoop.currentlyRunningMainloop++; - var timingMode = Browser.mainLoop.timingMode; - var timingValue = Browser.mainLoop.timingValue; - var func = Browser.mainLoop.func; - Browser.mainLoop.func = null; - _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); - _emscripten_set_main_loop_timing(timingMode, timingValue); - Browser.mainLoop.scheduler(); - },updateStatus:function () { - if (Module['setStatus']) { - var message = Module['statusMessage'] || 'Please wait...'; - var remaining = Browser.mainLoop.remainingBlockers; - var expected = Browser.mainLoop.expectedBlockers; - if (remaining) { - if (remaining < expected) { - Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); - } else { - Module['setStatus'](message); - } - } else { - Module['setStatus'](''); - } - } - },runIter:function (func) { - if (ABORT) return; - if (Module['preMainLoop']) { - var preRet = Module['preMainLoop'](); - if (preRet === false) { - return; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - if (Browser.initted) return; - Browser.initted = true; - - try { - new Blob(); - Browser.hasBlobConstructor = true; - } catch(e) { - Browser.hasBlobConstructor = false; - console.log("warning: no blob constructor, cannot create blobs with mimetypes"); - } - Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); - Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; - if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { - console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); - Module.noImageDecoding = true; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - var imagePlugin = {}; - imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { - return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); - }; - imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { - var b = null; - if (Browser.hasBlobConstructor) { - try { - b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - if (b.size !== byteArray.length) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - var img = new Image(); - img.onload = function img_onload() { - assert(img.complete, 'Image ' + name + ' could not be decoded'); - var canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; - var ctx = canvas.getContext('2d'); - ctx.drawImage(img, 0, 0); - Module["preloadedImages"][name] = canvas; - Browser.URLObject.revokeObjectURL(url); - if (onload) onload(byteArray); - }; - img.onerror = function img_onerror(event) { - console.log('Image ' + url + ' could not be decoded'); - if (onerror) onerror(); - }; - img.src = url; - }; - Module['preloadPlugins'].push(imagePlugin); - - var audioPlugin = {}; - audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { - return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; - }; - audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { - var done = false; - function finish(audio) { - if (done) return; - done = true; - Module["preloadedAudios"][name] = audio; - if (onload) onload(byteArray); - } - function fail() { - if (done) return; - done = true; - Module["preloadedAudios"][name] = new Audio(); // empty shim - if (onerror) onerror(); - } - if (Browser.hasBlobConstructor) { - try { - var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - } catch(e) { - return fail(); - } - var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - audio.onerror = function audio_onerror(event) { - if (done) return; - console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); - function encode64(data) { - var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - var PAD = '='; - var ret = ''; - var leftchar = 0; - var leftbits = 0; - for (var i = 0; i < data.length; i++) { - leftchar = (leftchar << 8) | data[i]; - leftbits += 8; - while (leftbits >= 6) { - var curr = (leftchar >> (leftbits-6)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - var canvas = Module['canvas']; - function pointerLockChange() { - Browser.pointerLock = document['pointerLockElement'] === canvas || - document['mozPointerLockElement'] === canvas || - document['webkitPointerLockElement'] === canvas || - document['msPointerLockElement'] === canvas; - } - if (canvas) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - canvas.exitPointerLock = canvas.exitPointerLock.bind(document); - - - document.addEventListener('pointerlockchange', pointerLockChange, false); - document.addEventListener('mozpointerlockchange', pointerLockChange, false); - document.addEventListener('webkitpointerlockchange', pointerLockChange, false); - document.addEventListener('mspointerlockchange', pointerLockChange, false); - - if (Module['elementPointerLock']) { - canvas.addEventListener("click", function(ev) { - if (!Browser.pointerLock && canvas.requestPointerLock) { - canvas.requestPointerLock(); - ev.preventDefault(); - } - }, false); - } - } - },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { - if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - // Set the background of the WebGL canvas to black - canvas.style.backgroundColor = "black"; - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullScreenChange() { - Browser.isFullScreen = false; - var canvasContainer = canvas.parentNode; - if ((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || - document['mozFullScreenElement'] || document['mozFullscreenElement'] || - document['fullScreenElement'] || document['fullscreenElement'] || - document['msFullScreenElement'] || document['msFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvasContainer) { - canvas.cancelFullScreen = document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - document['msExitFullscreen'] || - document['exitFullscreen'] || - function() {}; - canvas.cancelFullScreen = canvas.cancelFullScreen.bind(document); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullScreen = true; - if (Browser.resizeCanvas) Browser.setFullScreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullScreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullScreenHandlersInstalled) { - Browser.fullScreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullScreenChange, false); - document.addEventListener('mozfullscreenchange', fullScreenChange, false); - document.addEventListener('webkitfullscreenchange', fullScreenChange, false); - document.addEventListener('MSFullscreenChange', fullScreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - canvasContainer.requestFullScreen = canvasContainer['requestFullScreen'] || - canvasContainer['mozRequestFullScreen'] || - canvasContainer['msRequestFullscreen'] || - (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); - - if (vrDevice) { - canvasContainer.requestFullScreen({ vrDisplay: vrDevice }); - } else { - canvasContainer.requestFullScreen(); - } - },nextRAF:0,fakeRequestAnimationFrame:function (func) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - Browser.fakeRequestAnimationFrame(func); - } else { - if (!window.requestAnimationFrame) { - window.requestAnimationFrame = window['requestAnimationFrame'] || - window['mozRequestAnimationFrame'] || - window['webkitRequestAnimationFrame'] || - window['msRequestAnimationFrame'] || - window['oRequestAnimationFrame'] || - Browser.fakeRequestAnimationFrame; - } - window.requestAnimationFrame(func); - } - },safeCallback:function (func) { - return function() { - if (!ABORT) return func.apply(null, arguments); - }; - },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { - Browser.allowAsyncCallbacks = false; - },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - Browser.allowAsyncCallbacks = true; - if (Browser.queuedAsyncCallbacks.length > 0) { - var callbacks = Browser.queuedAsyncCallbacks; - Browser.queuedAsyncCallbacks = []; - callbacks.forEach(function(func) { - func(); - }); - } - },safeRequestAnimationFrame:function (func) { - return Browser.requestAnimationFrame(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }); - },safeSetTimeout:function (func, timeout) { - Module['noExitRuntime'] = true; - return setTimeout(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }, timeout); - },safeSetInterval:function (func, timeout) { - Module['noExitRuntime'] = true; - return setInterval(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } // drop it on the floor otherwise, next interval will kick in - }, timeout); - },getMimetype:function (name) { - return { - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'png': 'image/png', - 'bmp': 'image/bmp', - 'ogg': 'audio/ogg', - 'wav': 'audio/wav', - 'mp3': 'audio/mpeg' - }[name.substr(name.lastIndexOf('.')+1)]; - },getUserMedia:function (func) { - if(!window.getUserMedia) { - window.getUserMedia = navigator['getUserMedia'] || - navigator['mozGetUserMedia']; - } - window.getUserMedia(func); - },getMovementX:function (event) { - return event['movementX'] || - event['mozMovementX'] || - event['webkitMovementX'] || - 0; - },getMovementY:function (event) { - return event['movementY'] || - event['mozMovementY'] || - event['webkitMovementY'] || - 0; - },getMouseWheelDelta:function (event) { - var delta = 0; - switch (event.type) { - case 'DOMMouseScroll': - delta = event.detail; - break; - case 'mousewheel': - delta = event.wheelDelta; - break; - case 'wheel': - delta = event['deltaY']; - break; - default: - throw 'unrecognized mouse wheel event: ' + event.type; - } - return delta; - },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - var adjustedX = touch.pageX - (scrollX + rect.left); - var adjustedY = touch.pageY - (scrollY + rect.top); - - adjustedX = adjustedX * (cw / rect.width); - adjustedY = adjustedY * (ch / rect.height); - - var coords = { x: adjustedX, y: adjustedY }; - - if (event.type === 'touchstart') { - Browser.lastTouches[touch.identifier] = coords; - Browser.touches[touch.identifier] = coords; - } else if (event.type === 'touchend' || event.type === 'touchmove') { - var last = Browser.touches[touch.identifier]; - if (!last) last = coords; - Browser.lastTouches[touch.identifier] = last; - Browser.touches[touch.identifier] = coords; - } - return; - } - - var x = event.pageX - (scrollX + rect.left); - var y = event.pageY - (scrollY + rect.top); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - x = x * (cw / rect.width); - y = y * (ch / rect.height); - - Browser.mouseMovementX = x - Browser.mouseX; - Browser.mouseMovementY = y - Browser.mouseY; - Browser.mouseX = x; - Browser.mouseY = y; - } - },xhrLoad:function (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); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - },asyncLoad:function (url, onload, onerror, noRunDep) { - Browser.xhrLoad(url, function(arrayBuffer) { - assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); - onload(new Uint8Array(arrayBuffer)); - if (!noRunDep) removeRunDependency('al ' + url); - }, function(event) { - if (onerror) { - onerror(); - } else { - throw 'Loading data file "' + url + '" failed.'; - } - }); - if (!noRunDep) addRunDependency('al ' + url); - },resizeListeners:[],updateResizeListeners:function () { - var canvas = Module['canvas']; - Browser.resizeListeners.forEach(function(listener) { - listener(canvas.width, canvas.height); - }); - },setCanvasSize:function (width, height, noUpdates) { - var canvas = Module['canvas']; - Browser.updateCanvasDimensions(canvas, width, height); - if (!noUpdates) Browser.updateResizeListeners(); - },windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] || - document['mozFullScreenElement'] || document['mozFullscreenElement'] || - document['fullScreenElement'] || document['fullscreenElement'] || - document['msFullScreenElement'] || document['msFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { - var factor = Math.min(screen.width / w, screen.height / h); - w = Math.round(w * factor); - h = Math.round(h * factor); - } - if (Browser.resizeCanvas) { - if (canvas.width != w) canvas.width = w; - if (canvas.height != h) canvas.height = h; - if (typeof canvas.style != 'undefined') { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } else { - if (canvas.width != wNative) canvas.width = wNative; - if (canvas.height != hNative) canvas.height = hNative; - if (typeof canvas.style != 'undefined') { - if (w != wNative || h != hNative) { - canvas.style.setProperty( "width", w + "px", "important"); - canvas.style.setProperty("height", h + "px", "important"); - } else { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } - } - },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { - var handle = Browser.nextWgetRequestHandle; - Browser.nextWgetRequestHandle++; - return handle; - }};var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:1,updateSources:function updateSources(context) { + var AL={contexts:[],currentContext:null,alcErr:0,stringCache:{},alcStringCache:{},QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:100,newSrcId:1,updateSources:function updateSources(context) { // If we are animating using the requestAnimationFrame method, then the main loop does not run when in the background. // To give a perfect glitch-free audio stop when switching from foreground to background, we need to avoid updating // audio altogether when in the background, so detect that case and kill audio buffer streaming if so. @@ -6432,18 +6750,23 @@ function copyTempDouble(ptr) { AL.updateSource(context.src[srcId]); } },updateSource:function updateSource(src) { + // See comment on updateSources above. + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && document['visibilityState'] != 'visible') return; + if (src.state !== 0x1012 /* AL_PLAYING */) { return; } - var currentTime = AL.currentContext.ctx.currentTime; + var currentTime = src.context.ctx.currentTime; var startTime = src.bufferPosition; for (var i = src.buffersPlayed; i < src.queue.length; i++) { var entry = src.queue[i]; - var startOffset = startTime - currentTime; - var endTime = startTime + entry.buffer.duration; + var startOffset = (startTime - currentTime) / src.playbackRate; + var endTime; + if (entry.src) endTime = startTime + entry.src.duration; // n.b. entry.src.duration already factors in playbackRate, so no divide by src.playbackRate on it. + else endTime = startTime + entry.buffer.duration / src.playbackRate; // Clean up old buffers. if (currentTime >= endTime) { @@ -6465,9 +6788,11 @@ function copyTempDouble(ptr) { // If the start offset is negative, we need to offset the actual buffer. var offset = Math.abs(Math.min(startOffset, 0)); - entry.src = AL.currentContext.ctx.createBufferSource(); + entry.src = src.context.ctx.createBufferSource(); entry.src.buffer = entry.buffer; entry.src.connect(src.gain); + if (src.playbackRate != 1.0) entry.src.playbackRate.value = src.playbackRate; + entry.src.duration = entry.buffer.duration / src.playbackRate; if (typeof(entry.src.start) !== 'undefined') { entry.src.start(startTime, offset); } else if (typeof(entry.src.noteOn) !== 'undefined') { @@ -6528,212 +6853,16 @@ function copyTempDouble(ptr) { return 0; } - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx.viewport(x0, x1, x2, x3) } + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - Module["_memcpy"] = _memcpy; - - var _llvm_pow_f64=Math_pow; - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx.copyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) } - - function _alcGetString(device, param) { - if (AL.alcStringCache[param]) return AL.alcStringCache[param]; - var ret; - switch (param) { - case 0 /* ALC_NO_ERROR */: - ret = 'No Error'; - break; - case 0xA001 /* ALC_INVALID_DEVICE */: - ret = 'Invalid Device'; - break; - case 0xA002 /* ALC_INVALID_CONTEXT */: - ret = 'Invalid Context'; - break; - case 0xA003 /* ALC_INVALID_ENUM */: - ret = 'Invalid Enum'; - break; - case 0xA004 /* ALC_INVALID_VALUE */: - ret = 'Invalid Value'; - break; - case 0xA005 /* ALC_OUT_OF_MEMORY */: - ret = 'Out of Memory'; - break; - case 0x1004 /* ALC_DEFAULT_DEVICE_SPECIFIER */: - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - ret = 'Device'; - } else { - return 0; + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); } - break; - case 0x1005 /* ALC_DEVICE_SPECIFIER */: - if (typeof(AudioContext) !== "undefined" || - typeof(webkitAudioContext) !== "undefined") { - ret = 'Device\0'; - } else { - ret = '\0'; - } - break; - case 0x311 /* ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER */: - return 0; - break; - case 0x310 /* ALC_CAPTURE_DEVICE_SPECIFIER */: - ret = '\0' - break; - case 0x1006 /* ALC_EXTENSIONS */: - if (!device) { - AL.alcErr = 0xA001 /* ALC_INVALID_DEVICE */; - return 0; - } - ret = ''; - break; - default: - AL.alcErr = 0xA003 /* ALC_INVALID_ENUM */; - return 0; - } - - ret = allocate(intArrayFromString(ret), 'i8', ALLOC_NORMAL); - - AL.alcStringCache[param] = ret; - - return ret; - } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - location = GL.uniforms[location]; - GLctx.uniform3f(location, v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx.blendFunc(x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - location = GL.uniforms[location]; - GLctx.uniform3i(location, v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx.stencilOp(x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1i(location, v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - var _cosf=Math_cos; - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - var heapView; - if (data) { - heapView = HEAPU8.subarray((data),(data+imageSize)); - } else { - heapView = null; - } - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, heapView); - } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - Module["_memset"] = _memset; - - var _BDtoILow=true; - - function _alDeleteBuffers(count, buffers) - { - if (!AL.currentContext) { - return; - } - if (count > AL.currentContext.buf.length) { - AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; - - // Make sure the buffer index is valid. - if (bufferIdx >= AL.currentContext.buf.length || !AL.currentContext.buf[bufferIdx]) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - - // Make sure the buffer is no longer in use. - var buffer = AL.currentContext.buf[bufferIdx]; - for (var srcId in AL.currentContext.src) { - var src = AL.currentContext.src[srcId]; - if (!src) { - continue; - } - for (var k = 0; k < src.queue.length; k++) { - if (buffer === src.queue[k].buffer) { - AL.currentContext.err = 0xA004 /* AL_INVALID_OPERATION */; - return; - } - } - } - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; - delete AL.currentContext.buf[bufferIdx]; - } - } - - function _alListener3f(param, v1, v2, v3) { - if (!AL.currentContext) { - return; - } - switch (param) { - case 0x1004 /* AL_POSITION */: - AL.currentContext.ctx.listener._position = [v1, v2, v3]; - AL.currentContext.ctx.listener.setPosition(v1, v2, v3); - break; - case 0x1006 /* AL_VELOCITY */: - AL.currentContext.ctx.listener._velocity = [v1, v2, v3]; - AL.currentContext.ctx.listener.setVelocity(v1, v2, v3); - break; - default: - AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; - break; - } - } - - function _glfwMakeContextCurrent(winid) {} - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,registerRemoveEventListeners:function () { + },registerRemoveEventListeners:function () { if (!JSEvents.removeEventListenersRegistered) { __ATEXIT__.push(function() { for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { @@ -6847,20 +6976,20 @@ function copyTempDouble(ptr) { } var handlerFunc = function(event) { var e = event || window.event; - writeStringToMemory(e.key ? e.key : "", JSEvents.keyEvent + 0 ); - writeStringToMemory(e.code ? e.code : "", JSEvents.keyEvent + 32 ); + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - writeStringToMemory(e.locale ? e.locale : "", JSEvents.keyEvent + 88 ); - writeStringToMemory(e.char ? e.char : "", JSEvents.keyEvent + 120 ); + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.keyEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -6908,8 +7037,13 @@ function copyTempDouble(ptr) { HEAP32[(((eventStruct)+(52))>>2)]=0; HEAP32[(((eventStruct)+(56))>>2)]=0; } - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { if (!JSEvents.mouseEvent) { JSEvents.mouseEvent = _malloc( 72 ); @@ -6918,7 +7052,7 @@ function copyTempDouble(ptr) { var handlerFunc = function(event) { var e = event || window.event; JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.mouseEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -6948,7 +7082,7 @@ function copyTempDouble(ptr) { HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.wheelEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -6957,11 +7091,11 @@ function copyTempDouble(ptr) { var mouseWheelHandlerFunc = function(event) { var e = event || window.event; JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-e["wheelDeltaY"] /* Invert to unify direction with the DOM Level 3 wheel event. */; + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.wheelEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7014,7 +7148,7 @@ function copyTempDouble(ptr) { HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.uiEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7043,9 +7177,9 @@ function copyTempDouble(ptr) { var nodeName = JSEvents.getNodeNameForTarget(e.target); var id = e.target.id ? e.target.id : ''; - writeStringToMemory(nodeName, JSEvents.focusEvent + 0 ); - writeStringToMemory(id, JSEvents.focusEvent + 128 ); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.focusEvent, userData]); + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7076,7 +7210,7 @@ function copyTempDouble(ptr) { HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.deviceOrientationEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7109,7 +7243,7 @@ function copyTempDouble(ptr) { HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.deviceMotionEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7155,7 +7289,7 @@ function copyTempDouble(ptr) { JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.orientationChangeEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7175,7 +7309,7 @@ function copyTempDouble(ptr) { }; JSEvents.registerOrRemoveHandler(eventHandler); },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; },fillFullscreenChangeEventData:function (eventStruct, e) { var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; var isFullscreen = !!fullscreenElement; @@ -7186,8 +7320,8 @@ function copyTempDouble(ptr) { var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; var nodeName = JSEvents.getNodeNameForTarget(reportedElement); var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - writeStringToMemory(nodeName, eventStruct + 8 ); - writeStringToMemory(id, eventStruct + 136 ); + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; HEAP32[(((eventStruct)+(272))>>2)]=screen.width; @@ -7211,7 +7345,7 @@ function copyTempDouble(ptr) { JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.fullscreenChangeEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7304,7 +7438,7 @@ function copyTempDouble(ptr) { } if (strategy.canvasResizedCallback) { - Runtime.dynCall('iiii', strategy.canvasResizedCallback, [37, 0, strategy.canvasResizedCallbackUserData]); + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); } return 0; @@ -7314,8 +7448,8 @@ function copyTempDouble(ptr) { HEAP32[((eventStruct)>>2)]=isPointerlocked; var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - writeStringToMemory(nodeName, eventStruct + 4 ); - writeStringToMemory(id, eventStruct + 132); + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { if (!JSEvents.pointerlockChangeEvent) { JSEvents.pointerlockChangeEvent = _malloc( 260 ); @@ -7332,7 +7466,32 @@ function copyTempDouble(ptr) { JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.pointerlockChangeEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); if (shouldCancel) { e.preventDefault(); } @@ -7388,7 +7547,7 @@ function copyTempDouble(ptr) { JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.visibilityChangeEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7466,7 +7625,7 @@ function copyTempDouble(ptr) { } HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.touchEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7506,8 +7665,8 @@ function copyTempDouble(ptr) { HEAP32[(((eventStruct)+(1300))>>2)]=e.index; HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - writeStringToMemory(e.id, eventStruct + 1304 ); - writeStringToMemory(e.mapping, eventStruct + 1368 ); + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { if (!JSEvents.gamepadEvent) { JSEvents.gamepadEvent = _malloc( 1432 ); @@ -7518,7 +7677,7 @@ function copyTempDouble(ptr) { JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.gamepadEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7537,7 +7696,7 @@ function copyTempDouble(ptr) { var handlerFunc = function(event) { var e = event || window.event; - var confirmationMessage = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, 0, userData]); + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); if (confirmationMessage) { confirmationMessage = Pointer_stringify(confirmationMessage); @@ -7573,7 +7732,7 @@ function copyTempDouble(ptr) { JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, JSEvents.batteryEvent, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); if (shouldCancel) { e.preventDefault(); } @@ -7595,7 +7754,7 @@ function copyTempDouble(ptr) { var handlerFunc = function(event) { var e = event || window.event; - var shouldCancel = Runtime.dynCall('iiii', callbackfunc, [eventTypeId, 0, userData]); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); if (shouldCancel) { e.preventDefault(); } @@ -7610,22 +7769,244 @@ function copyTempDouble(ptr) { useCapture: useCapture }; JSEvents.registerOrRemoveHandler(eventHandler); - }};function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + var _llvm_pow_f64=Math_pow; + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _alcGetString(device, param) { + if (AL.alcStringCache[param]) return AL.alcStringCache[param]; + var ret; + switch (param) { + case 0 /* ALC_NO_ERROR */: + ret = 'No Error'; + break; + case 0xA001 /* ALC_INVALID_DEVICE */: + ret = 'Invalid Device'; + break; + case 0xA002 /* ALC_INVALID_CONTEXT */: + ret = 'Invalid Context'; + break; + case 0xA003 /* ALC_INVALID_ENUM */: + ret = 'Invalid Enum'; + break; + case 0xA004 /* ALC_INVALID_VALUE */: + ret = 'Invalid Value'; + break; + case 0xA005 /* ALC_OUT_OF_MEMORY */: + ret = 'Out of Memory'; + break; + case 0x1004 /* ALC_DEFAULT_DEVICE_SPECIFIER */: + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + ret = 'Device'; + } else { + return 0; + } + break; + case 0x1005 /* ALC_DEVICE_SPECIFIER */: + if (typeof(AudioContext) !== "undefined" || + typeof(webkitAudioContext) !== "undefined") { + ret = 'Device\0'; + } else { + ret = '\0'; + } + break; + case 0x311 /* ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER */: + return 0; + break; + case 0x310 /* ALC_CAPTURE_DEVICE_SPECIFIER */: + ret = '\0' + break; + case 0x1006 /* ALC_EXTENSIONS */: + if (!device) { + AL.alcErr = 0xA001 /* ALC_INVALID_DEVICE */; + return 0; + } + ret = ''; + break; + default: + AL.alcErr = 0xA003 /* ALC_INVALID_ENUM */; + return 0; + } + + ret = allocate(intArrayFromString(ret), 'i8', ALLOC_NORMAL); + + AL.alcStringCache[param] = ret; + + return ret; + } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _alDeleteBuffers(count, buffers) + { + if (!AL.currentContext) { + return; + } + if (count > AL.currentContext.buf.length) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; + + // Make sure the buffer index is valid. + if (bufferIdx >= AL.currentContext.buf.length || !AL.currentContext.buf[bufferIdx]) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + + // Make sure the buffer is no longer in use. + var buffer = AL.currentContext.buf[bufferIdx]; + for (var srcId in AL.currentContext.src) { + var src = AL.currentContext.src[srcId]; + if (!src) { + continue; + } + for (var k = 0; k < src.queue.length; k++) { + if (buffer === src.queue[k].buffer) { + AL.currentContext.err = 0xA004 /* AL_INVALID_OPERATION */; + return; + } + } + } + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)] - 1; + delete AL.currentContext.buf[bufferIdx]; + } + } + + function _alListener3f(param, v1, v2, v3) { + if (!AL.currentContext) { + return; + } + switch (param) { + case 0x1004 /* AL_POSITION */: + AL.currentContext.ctx.listener._position[0] = v1; + AL.currentContext.ctx.listener._position[1] = v2; + AL.currentContext.ctx.listener._position[2] = v3; + AL.currentContext.ctx.listener.setPosition(v1, v2, v3); + break; + case 0x1006 /* AL_VELOCITY */: + AL.currentContext.ctx.listener._velocity[0] = v1; + AL.currentContext.ctx.listener._velocity[1] = v2; + AL.currentContext.ctx.listener._velocity[2] = v3; + // TODO: The velocity values are not currently used to implement a doppler effect. + // If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } + } + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); return 0; } - function _glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - function ___lock() {} - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx.blendFuncSeparate(x0, x1, x2, x3) } + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - var _asin=Math_asin; + function _glCullFace(x0) { GLctx['cullFace'](x0) } - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx.vertexAttrib3f(x0, x1, x2, x3) } + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } function _alSource3f(source, param, v1, v2, v3) { if (!AL.currentContext) { @@ -7638,13 +8019,19 @@ function copyTempDouble(ptr) { } switch (param) { case 0x1004 /* AL_POSITION */: - src.position = [v1, v2, v3]; + src.position[0] = v1; + src.position[1] = v2; + src.position[2] = v3; break; case 0x1005 /* AL_DIRECTION */: - src.direction = [v1, v2, v3]; + src.direction[0] = v1; + src.direction[1] = v2; + src.direction[2] = v3; break; case 0x1006 /* AL_VELOCITY */: - src.velocity = [v1, v2, v3]; + src.velocity[0] = v1; + src.velocity[1] = v2; + src.velocity[2] = v3; break; default: AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; @@ -7652,6 +8039,8 @@ function copyTempDouble(ptr) { } } + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + function _emscripten_glNormalPointer() { Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); } @@ -7660,11 +8049,7 @@ function copyTempDouble(ptr) { var _emscripten_GetProcAddress=undefined; Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; - - function _eglWaitClient() { - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { EGL.errorCode = code; },chooseConfig:function (display, attribList, config, config_size, numConfigs) { if (display != 62000 /* Magic ID for Emscripten 'default display' */) { @@ -7702,9 +8087,15 @@ function copyTempDouble(ptr) { GL.programInfos[id] = null; } + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } - - var _setSourceState=undefined;function _alSourcePlay(source) { + function _alSourcePlay(source) { if (!AL.currentContext) { return; } @@ -7734,7 +8125,9 @@ function copyTempDouble(ptr) { return; } var data = GLctx.getVertexAttrib(index, pname); - if (typeof data == 'number' || typeof data == 'boolean') { + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { switch (type) { case 'Integer': HEAP32[((params)>>2)]=data; break; case 'Float': HEAPF32[((params)>>2)]=data; break; @@ -7813,24 +8206,30 @@ function copyTempDouble(ptr) { Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); Module["canvas"].width = Module["canvas"].height = 1; GLFW.windows = null; GLFW.active = null; } function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[3]; - for (var i = 0; i < 4; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; } } else { view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); } - GLctx.uniformMatrix2fv(location, transpose, view); + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); } function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; @@ -7857,8 +8256,6 @@ function copyTempDouble(ptr) { } } - var _cos=Math_cos; - function _llvm_stacksave() { var self = _llvm_stacksave; if (!self.LLVM_SAVEDSTACKS) { @@ -7875,18 +8272,34 @@ function copyTempDouble(ptr) { } function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[15]; - for (var i = 0; i < 16; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; } } else { view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); } - GLctx.uniformMatrix4fv(location, transpose, view); + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); } function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { @@ -7929,8 +8342,7 @@ function copyTempDouble(ptr) { } function _emscripten_glUniform1i(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1i(location, v0); + GLctx.uniform1i(GL.uniforms[location], v0); } function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; @@ -7944,15 +8356,13 @@ function copyTempDouble(ptr) { } } - function _emscripten_glStencilMask(x0) { GLctx.stencilMask(x0) } + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx.stencilFuncSeparate(x0, x1, x2, x3) } + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } Module["_i64Subtract"] = _i64Subtract; - var _fabsf=Math_abs; - Module["_i64Add"] = _i64Add; @@ -7965,26 +8375,13 @@ function copyTempDouble(ptr) { GLctx.useProgram(program ? GL.programs[program] : null); } - var _sinf=Math_sin; - function _emscripten_glDisableVertexAttribArray(index) { GLctx.disableVertexAttribArray(index); } - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx.vertexAttrib1f(x0, x1) } + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - function _emscripten_glFinish() { GLctx.finish() } - - function _glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } + function _emscripten_glFinish() { GLctx['finish']() } function _glDrawArrays(mode, first, count) { @@ -7992,7 +8389,7 @@ function copyTempDouble(ptr) { } - function _emscripten_glDepthFunc(x0) { GLctx.depthFunc(x0) } + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } function _alcOpenDevice(deviceName) { if (typeof(AudioContext) !== "undefined" || @@ -8003,175 +8400,53 @@ function copyTempDouble(ptr) { } } - 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: return totalMemory / 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; - } + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; } - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; } function _emscripten_glUniform4iv(location, count, value) { - location = GL.uniforms[location]; - count *= 4; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform4iv(location, value); + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); } - function _glClear(x0) { GLctx.clear(x0) } + function _glClear(x0) { GLctx['clear'](x0) } function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } function _emscripten_glUniform3fv(location, count, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[2]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - view[2] = HEAPF32[(((value)+(8))>>2)]; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } } else { view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); } - GLctx.uniform3fv(location, view); + GLctx.uniform3fv(GL.uniforms[location], view); } function _emscripten_glIsTexture(texture) { @@ -8220,6 +8495,35 @@ function copyTempDouble(ptr) { AL.updateSource(src); } + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + function _glfwCreateWindow(width, height, title, monitor, share) { return GLFW.createWindow(width, height, title, monitor, share); } @@ -8290,13 +8594,7 @@ function copyTempDouble(ptr) { } } - function _pthread_cleanup_pop() { - assert(_pthread_cleanup_push.level == __ATEXIT__.length, 'cannot pop if something else added meanwhile!'); - __ATEXIT__.pop(); - _pthread_cleanup_push.level = __ATEXIT__.length; - } - - function _emscripten_glClearStencil(x0) { GLctx.clearStencil(x0) } + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } function _emscripten_glDetachShader(program, shader) { GLctx.detachShader(GL.programs[program], @@ -8304,7 +8602,7 @@ function copyTempDouble(ptr) { } function _emscripten_glDeleteVertexArrays(n, vaos) { - for(var i = 0; i < n; i++) { + for (var i = 0; i < n; i++) { var id = HEAP32[(((vaos)+(i*4))>>2)]; GLctx['deleteVertexArray'](GL.vaos[id]); GL.vaos[id] = null; @@ -8319,9 +8617,14 @@ function copyTempDouble(ptr) { var gain = AL.currentContext.ctx.createGain(); gain.connect(AL.currentContext.gain); AL.currentContext.src[AL.newSrcId] = { + context: AL.currentContext, state: 0x1011 /* AL_INITIAL */, queue: [], loop: false, + playbackRate: 1, + _position: [0, 0, 0], + _velocity: [0, 0, 0], + _direction: [0, 0, 0], get refDistance() { return this._refDistance || 1; }, @@ -8344,24 +8647,32 @@ function copyTempDouble(ptr) { if (this.panner) this.panner.rolloffFactor = val; }, get position() { - return this._position || [0, 0, 0]; + return this._position; }, set position(val) { - this._position = val; + this._position[0] = val[0]; + this._position[1] = val[1]; + this._position[2] = val[2]; if (this.panner) this.panner.setPosition(val[0], val[1], val[2]); }, get velocity() { - return this._velocity || [0, 0, 0]; + return this._velocity; }, set velocity(val) { - this._velocity = val; - if (this.panner) this.panner.setVelocity(val[0], val[1], val[2]); + this._velocity[0] = val[0]; + this._velocity[1] = val[1]; + this._velocity[2] = val[2]; + // TODO: The velocity values are not currently used to implement a doppler effect. + // If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. }, get direction() { - return this._direction || [0, 0, 0]; + return this._direction; }, set direction(val) { - this._direction = val; + this._direction[0] = val[0]; + this._direction[1] = val[1]; + this._direction[2] = val[2]; if (this.panner) this.panner.setOrientation(val[0], val[1], val[2]); }, get coneOuterGain() { @@ -8411,9 +8722,11 @@ function copyTempDouble(ptr) { Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); Browser.resizeListeners.push(function(width, height) { - GLFW.onFullScreenEventChange(); + GLFW.onCanvasResize(width, height); }); return 1; // GL_TRUE } @@ -8442,13 +8755,12 @@ function copyTempDouble(ptr) { GLFW.swapBuffers(winid); } - function _emscripten_glGenerateMipmap(x0) { GLctx.generateMipmap(x0) } + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - function _emscripten_glCullFace(x0) { GLctx.cullFace(x0) } + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - location = GL.uniforms[location]; - GLctx.uniform4f(location, v0, v1, v2, v3); + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); } function _glDisableVertexAttribArray(index) { @@ -8459,20 +8771,23 @@ function copyTempDouble(ptr) { GLctx.useProgram(program ? GL.programs[program] : null); } - function _emscripten_glHint(x0, x1) { GLctx.hint(x0, x1) } + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } function _emscripten_glUniform2fv(location, count, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[1]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } } else { view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); } - GLctx.uniform2fv(location, view); + GLctx.uniform2fv(GL.uniforms[location], view); } function _glfwSwapInterval(interval) { @@ -8484,10 +8799,9 @@ function copyTempDouble(ptr) { function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { var log = GLctx.getShaderInfoLog(GL.shaders[shader]); if (log === null) log = '(unknown error)'; - log = log.substr(0, maxLength - 1); if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } @@ -8532,18 +8846,17 @@ function copyTempDouble(ptr) { } function _emscripten_glUniform2iv(location, count, value) { - location = GL.uniforms[location]; - count *= 2; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform2iv(location, value); + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); } function _emscripten_glVertexAttrib1fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+4)>>2); - GLctx.vertexAttrib1fv(index, v); + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); } - function _glEnable(x0) { GLctx.enable(x0) } + function _glEnable(x0) { GLctx['enable'](x0) } function _alBufferData(buffer, format, data, size, freq) { if (!AL.currentContext) { @@ -8552,62 +8865,68 @@ function copyTempDouble(ptr) { if (buffer > AL.currentContext.buf.length) { return; } - var channels, bytes; - switch (format) { - case 0x1100 /* AL_FORMAT_MONO8 */: - bytes = 1; - channels = 1; - break; - case 0x1101 /* AL_FORMAT_MONO16 */: - bytes = 2; - channels = 1; - break; - case 0x1102 /* AL_FORMAT_STEREO8 */: - bytes = 1; - channels = 2; - break; - case 0x1103 /* AL_FORMAT_STEREO16 */: - bytes = 2; - channels = 2; - break; - case 0x10010 /* AL_FORMAT_MONO_FLOAT32 */: - bytes = 4; - channels = 1; - break; - case 0x10011 /* AL_FORMAT_STEREO_FLOAT32 */: - bytes = 4; - channels = 2; - break; - default: - return; - } + try { - AL.currentContext.buf[buffer - 1] = AL.currentContext.ctx.createBuffer(channels, size / (bytes * channels), freq); - AL.currentContext.buf[buffer - 1].bytesPerSample = bytes; + switch (format) { + case 0x1100 /* AL_FORMAT_MONO8 */: + var buf = AL.currentContext.ctx.createBuffer(1, size, freq); + buf.bytesPerSample = 1; + var channel0 = buf.getChannelData(0); + for (var i = 0; i < size; ++i) channel0[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + break; + case 0x1101 /* AL_FORMAT_MONO16 */: + var buf = AL.currentContext.ctx.createBuffer(1, size>>1, freq); + buf.bytesPerSample = 2; + var channel0 = buf.getChannelData(0); + data >>= 1; + for (var i = 0; i < size>>1; ++i) channel0[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + break; + case 0x1102 /* AL_FORMAT_STEREO8 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>1, freq); + buf.bytesPerSample = 1; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + for (var i = 0; i < size>>1; ++i) { + channel0[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + channel1[i] = HEAPU8[data++] * 0.0078125 /* 1/128 */ - 1.0; + } + break; + case 0x1103 /* AL_FORMAT_STEREO16 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>2, freq); + buf.bytesPerSample = 2; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + data >>= 1; + for (var i = 0; i < size>>2; ++i) { + channel0[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + channel1[i] = HEAP16[data++] * 0.000030517578125 /* 1/32768 */; + } + break; + case 0x10010 /* AL_FORMAT_MONO_FLOAT32 */: + var buf = AL.currentContext.ctx.createBuffer(1, size>>2, freq); + buf.bytesPerSample = 4; + var channel0 = buf.getChannelData(0); + data >>= 2; + for (var i = 0; i < size>>2; ++i) channel0[i] = HEAPF32[data++]; + break; + case 0x10011 /* AL_FORMAT_STEREO_FLOAT32 */: + var buf = AL.currentContext.ctx.createBuffer(2, size>>3, freq); + buf.bytesPerSample = 4; + var channel0 = buf.getChannelData(0); + var channel1 = buf.getChannelData(1); + data >>= 2; + for (var i = 0; i < size>>2; ++i) { + channel0[i] = HEAPF32[data++]; + channel1[i] = HEAPF32[data++]; + } + break; + default: + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + break; + } + AL.currentContext.buf[buffer - 1] = buf; } catch (e) { AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; - return; - } - var buf = new Array(channels); - for (var i = 0; i < channels; ++i) { - buf[i] = AL.currentContext.buf[buffer - 1].getChannelData(i); - } - for (var i = 0; i < size / (bytes * channels); ++i) { - for (var j = 0; j < channels; ++j) { - switch (bytes) { - case 1: - var val = HEAP8[(((data)+(i*channels+j))>>0)] & 0xff; // unsigned - buf[j][i] = -1.0 + val * (2/256); - break; - case 2: - var val = HEAP16[(((data)+(2*(i*channels+j)))>>1)]; - buf[j][i] = val/32768; - break; - case 4: - buf[j][i] = HEAPF32[(((data)+(4*(i*channels+j)))>>2)]; - break; - } - } } } @@ -8623,6 +8942,21 @@ function copyTempDouble(ptr) { AL.setSourceState(src, 0x1014 /* AL_STOPPED */); } + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { @@ -8640,11 +8974,9 @@ function copyTempDouble(ptr) { case 0x1906 /* GL_ALPHA */: case 0x1909 /* GL_LUMINANCE */: case 0x1902 /* GL_DEPTH_COMPONENT */: - case 0x1903 /* GL_RED */: numChannels = 1; break; case 0x190A /* GL_LUMINANCE_ALPHA */: - case 0x8227 /* GL_RG */: numChannels = 2; break; case 0x1907 /* GL_RGB */: @@ -8657,10 +8989,7 @@ function copyTempDouble(ptr) { break; default: GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; + return null; } switch (type) { case 0x1401 /* GL_UNSIGNED_BYTE */: @@ -8674,7 +9003,7 @@ function copyTempDouble(ptr) { case 0x1406 /* GL_FLOAT */: sizePerPixel = numChannels*4; break; - case 0x84FA /* UNSIGNED_INT_24_8_WEBGL/UNSIGNED_INT_24_8 */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: sizePerPixel = 4; break; case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: @@ -8684,42 +9013,39 @@ function copyTempDouble(ptr) { break; default: GL.recordError(0x0500); // GL_INVALID_ENUM - return { - pixels: null, - internalFormat: 0x0 - }; + return null; } var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - if (type == 0x1401 /* GL_UNSIGNED_BYTE */) { - pixels = HEAPU8.subarray((pixels),(pixels+bytes)); - } else if (type == 0x1406 /* GL_FLOAT */) { - pixels = HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - } else if (type == 0x1405 /* GL_UNSIGNED_INT */ || type == 0x84FA /* UNSIGNED_INT_24_8_WEBGL */) { - pixels = HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - } else { - pixels = HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; } - return { - pixels: pixels, - internalFormat: internalFormat - }; }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData; - if (pixels) { - pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, -1).pixels; - } else { - pixelData = null; - } + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); } - function _emscripten_glPolygonOffset(x0, x1) { GLctx.polygonOffset(x0, x1) } + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } var _emscripten_asm_const_int=true; function _emscripten_glUniform2f(location, v0, v1) { - location = GL.uniforms[location]; - GLctx.uniform2f(location, v0, v1); + GLctx.uniform2f(GL.uniforms[location], v0, v1); } function _glGetAttribLocation(program, name) { @@ -8732,9 +9058,11 @@ function copyTempDouble(ptr) { GLFW.hints[target] = hint; } - var _sin=Math_sin; + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } - function _glBlendFunc(x0, x1) { GLctx.blendFunc(x0, x1) } + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } function _glCreateProgram() { var id = GL.getNewId(GL.programs); @@ -8793,12 +9121,14 @@ function copyTempDouble(ptr) { emscriptenWebGLGetUniform(program, location, params, 'Integer'); } - function _emscripten_glDepthMask(x0) { GLctx.depthMask(x0) } + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } - function _emscripten_glDepthRangef(x0, x1) { GLctx.depthRange(x0, x1) } + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - function _emscripten_glDepthRange(x0, x1) { GLctx.depthRange(x0, x1) } + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; @@ -8814,7 +9144,10 @@ function copyTempDouble(ptr) { return 0; } - var _fabs=Math_abs; + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); @@ -8824,16 +9157,45 @@ function copyTempDouble(ptr) { } function _emscripten_glUniform1fv(location, count, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[0]; - view[0] = HEAPF32[((value)>>2)]; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } } else { view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); } - GLctx.uniform1fv(location, view); + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _alSourceQueueBuffers(source, count, buffers) { + if (!AL.currentContext) { + return; + } + var src = AL.currentContext.src[source]; + if (!src) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; + if (bufferIdx > AL.currentContext.buf.length) { + AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; + return; + } + } + + for (var i = 0; i < count; ++i) { + var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = AL.currentContext.buf[bufferIdx - 1]; + src.queue.push({ buffer: buffer, src: null }); + } + + AL.updateSource(src); } function _glDeleteBuffers(n, buffers) { @@ -8854,6 +9216,12 @@ function copyTempDouble(ptr) { } } + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + function _emscripten_glBindProgramARB() { Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); } @@ -8879,24 +9247,23 @@ function copyTempDouble(ptr) { GL.programInfos[id] = null; } - function _emscripten_glDisable(x0) { GLctx.disable(x0) } + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } function _emscripten_glVertexAttrib3fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+12)>>2); - GLctx.vertexAttrib3fv(index, v); + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); } - function _glClearColor(x0, x1, x2, x3) { GLctx.clearColor(x0, x1, x2, x3) } + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { program = GL.programs[program]; var info = GLctx.getActiveAttrib(program, index); if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - var infoname = info.name.slice(0, Math.max(0, bufSize - 1)); if (bufSize > 0 && name) { - writeStringToMemory(infoname, name); - if (length) HEAP32[((length)>>2)]=infoname.length; + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } @@ -8911,7 +9278,7 @@ function copyTempDouble(ptr) { return GLctx.isFramebuffer(fb); } - function _emscripten_glLineWidth(x0) { GLctx.lineWidth(x0) } + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } function _glfwGetCursorPos(winid, x, y) { GLFW.getCursorPos(winid, x, y); @@ -8923,20 +9290,37 @@ function copyTempDouble(ptr) { switch(name_) { case 0x1F00 /* GL_VENDOR */: case 0x1F01 /* GL_RENDERER */: - case 0x1F02 /* GL_VERSION */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; case 0x1F03 /* GL_EXTENSIONS */: var exts = GLctx.getSupportedExtensions(); var gl_exts = []; - for (var i in exts) { + for (var i = 0; i < exts.length; ++i) { gl_exts.push(exts[i]); gl_exts.push("GL_" + exts[i]); } ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); break; case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - ret = allocate(intArrayFromString('OpenGL ES GLSL 1.00 (WebGL)'), 'i8', ALLOC_NORMAL); + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); break; default: GL.recordError(0x0500/*GL_INVALID_ENUM*/); @@ -8985,12 +9369,6 @@ function copyTempDouble(ptr) { var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); ret = formats.length; break; - case 0x8B9A: // GL_IMPLEMENTATION_COLOR_READ_TYPE - ret = 0x1401; // GL_UNSIGNED_BYTE - break; - case 0x8B9B: // GL_IMPLEMENTATION_COLOR_READ_FORMAT - ret = 0x1908; // GL_RGBA - break; } if (ret === undefined) { @@ -9084,16 +9462,6 @@ function copyTempDouble(ptr) { win.shouldClose = value; } - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - function _emscripten_glClientActiveTexture() { Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); } @@ -9113,13 +9481,19 @@ function copyTempDouble(ptr) { } } + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { var log = GLctx.getShaderInfoLog(GL.shaders[shader]); if (log === null) log = '(unknown error)'; - log = log.substr(0, maxLength - 1); if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } @@ -9139,25 +9513,19 @@ function copyTempDouble(ptr) { HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); } - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx.stencilOpSeparate(x0, x1, x2, x3) } + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var data = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!data.pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { GL.recordError(0x0500/*GL_INVALID_ENUM*/); return; } - GLctx.readPixels(x, y, width, height, format, type, data.pixels); + GLctx.readPixels(x, y, width, height, format, type, pixelData); } function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - var heapView; - if (data) { - heapView = HEAPU8.subarray((data),(data+imageSize)); - } else { - heapView = null; - } - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, heapView); + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); } function _emscripten_glGetError() { @@ -9176,11 +9544,6 @@ function copyTempDouble(ptr) { GL.textures[texture], level); } - function _pthread_cleanup_push(routine, arg) { - __ATEXIT__.push(function() { Runtime.dynCall('vi', routine, [arg]) }) - _pthread_cleanup_push.level = __ATEXIT__.length; - } - function _alSourcei(source, param, value) { if (!AL.currentContext) { return; @@ -9217,7 +9580,7 @@ function copyTempDouble(ptr) { // Disconnect from the panner. src.gain.disconnect(); - src.gain.connect(AL.currentContext.ctx.destination); + src.gain.connect(AL.currentContext.gain); } } else if (value === 0 /* AL_FALSE */) { if (!src.panner) { @@ -9228,8 +9591,9 @@ function copyTempDouble(ptr) { panner.maxDistance = src.maxDistance; panner.rolloffFactor = src.rolloffFactor; panner.setPosition(src.position[0], src.position[1], src.position[2]); - panner.setVelocity(src.velocity[0], src.velocity[1], src.velocity[2]); - panner.connect(AL.currentContext.ctx.destination); + // TODO: If support for doppler effect is reintroduced, compute the doppler + // speed pitch factor and apply it here. + panner.connect(AL.currentContext.gain); // Disconnect from the default source. src.gain.disconnect(); @@ -9246,33 +9610,9 @@ function copyTempDouble(ptr) { } } - function _emscripten_glIsEnabled(x0) { return GLctx.isEnabled(x0) } + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - function _alSourceQueueBuffers(source, count, buffers) { - if (!AL.currentContext) { - return; - } - var src = AL.currentContext.src[source]; - if (!src) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; - if (bufferIdx > AL.currentContext.buf.length) { - AL.currentContext.err = 0xA001 /* AL_INVALID_NAME */; - return; - } - } - - for (var i = 0; i < count; ++i) { - var bufferIdx = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = AL.currentContext.buf[bufferIdx - 1]; - src.queue.push({ buffer: buffer, src: null }); - } - - AL.updateSource(src); - } + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } function _alSourcef(source, param, value) { if (!AL.currentContext) { @@ -9285,9 +9625,39 @@ function copyTempDouble(ptr) { } switch (param) { case 0x1003 /* AL_PITCH */: + if (value <= 0) { + AL.currentContext.err = 0xA003 /* AL_INVALID_VALUE */; + return; + } + src.playbackRate = value; + + if (src.state === 0x1012 /* AL_PLAYING */) { + // update currently playing entry + var entry = src.queue[src.buffersPlayed]; + if (!entry || !entry.src) return; // It is possible that AL.updateSources() has not yet fed the next buffer, if so, skip. + var currentTime = AL.currentContext.ctx.currentTime; + var oldrate = entry.src.playbackRate.value; + var offset = currentTime - src.bufferPosition; + // entry.src.duration is expressed after factoring in playbackRate, so when changing playback rate, need + // to recompute/rescale the rate to the new playback speed. + entry.src.duration = (entry.src.duration - offset) * oldrate / src.playbackRate; + if (entry.src.playbackRate.value != src.playbackRate) entry.src.playbackRate.value = src.playbackRate; + src.bufferPosition = currentTime; + + // stop other buffers + for (var k = src.buffersPlayed + 1; k < src.queue.length; k++) { + var entry = src.queue[k]; + if (entry.src) { + entry.src.stop(); + entry.src = null; + } + } + // update the source to reschedule buffers with the new playbackRate + AL.updateSource(src); + } break; case 0x100A /* AL_GAIN */: - src.gain.gain.value = value; + if (src.gain.gain.value != value) src.gain.gain.value = value; break; // case 0x100D /* AL_MIN_GAIN */: // break; @@ -9335,18 +9705,34 @@ function copyTempDouble(ptr) { } } - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx.vertexAttrib4f(x0, x1, x2, x3, x4) } + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - function _glDepthFunc(x0) { GLctx.depthFunc(x0) } + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - function _emscripten_glUniform2i(location, v0, v1) { - location = GL.uniforms[location]; - GLctx.uniform2i(location, v0, v1); + + + var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _alListenerf(param, value) { + if (!AL.currentContext) { + return; + } + switch (param) { + case 0x100A /* AL_GAIN */: + if (AL.currentContext.gain.gain.value != value) AL.currentContext.gain.gain.value = value; + break; + default: + AL.currentContext.err = 0xA002 /* AL_INVALID_ENUM */; + break; + } } - function _emscripten_glClearDepthf(x0) { GLctx.clearDepth(x0) } - - function _emscripten_glClear(x0) { GLctx.clear(x0) } + function _emscripten_glClear(x0) { GLctx['clear'](x0) } function _alGetError() { if (!AL.currentContext) { @@ -9377,56 +9763,71 @@ function copyTempDouble(ptr) { GL.recordError(0x0501 /* GL_INVALID_VALUE */); return; } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH var log = GLctx.getProgramInfoLog(GL.programs[program]); if (log === null) log = '(unknown error)'; HEAP32[((p)>>2)]=log.length + 1; } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } + HEAP32[((p)>>2)]=ptable.maxUniformLength; } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for(var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; } else { HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); } } function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, normalized, stride, ptr); + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); } - function _alcMakeContextCurrent(context) { - if (context == 0) { - AL.currentContext = null; - return 0; + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); } else { - AL.currentContext = AL.contexts[context - 1]; - return 1; + return -1; } + return 0; } function _glGetUniformLocation(program, name) { @@ -9468,6 +9869,7 @@ function copyTempDouble(ptr) { HEAP32[((count)>>2)]=len; for (var i = 0; i < len; ++i) { var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); HEAP32[(((shaders)+(i*4))>>2)]=id; } } @@ -9487,30 +9889,14 @@ function copyTempDouble(ptr) { } } - function _emscripten_glFrontFace(x0) { GLctx.frontFace(x0) } + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - function _emscripten_glActiveTexture(x0) { GLctx.activeTexture(x0) } + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } function _emscripten_glUniform1iv(location, count, value) { - location = GL.uniforms[location]; - value = HEAP32.subarray((value)>>2,(value+count*4)>>2); - GLctx.uniform1iv(location, value); - } - - function _glUniform4fv(location, count, value) { - location = GL.uniforms[location]; - var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[3]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - view[2] = HEAPF32[(((value)+(8))>>2)]; - view[3] = HEAPF32[(((value)+(12))>>2)]; - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(location, view); + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); } function _emscripten_glTexCoordPointer() { @@ -9530,14 +9916,19 @@ function copyTempDouble(ptr) { __exit(status); } - function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx.renderbufferStorage(x0, x1, x2, x3) } + function _emscripten_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx.copyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) } + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } function _glfwSetCursorPosCallback(winid, cbfun) { GLFW.setCursorPosCallback(winid, cbfun); } + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + function _emscripten_glShaderBinary() { GL.recordError(0x0500/*GL_INVALID_ENUM*/); } @@ -9548,7 +9939,10 @@ function copyTempDouble(ptr) { return GLctx.isProgram(program); } - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx.blendColor(x0, x1, x2, x3) } + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } function _emscripten_glGetShaderiv(shader, pname, p) { if (!p) { @@ -9567,73 +9961,62 @@ function copyTempDouble(ptr) { } function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[8]; - for (var i = 0; i < 9; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; } } else { view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); } - GLctx.uniformMatrix3fv(location, transpose, view); + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); } - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx.vertexAttrib2f(x0, x1, x2) } + + Module["___udivdi3"] = ___udivdi3; function _emscripten_glUniform4fv(location, count, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform - view = GL.miniTempBufferViews[3]; - view[0] = HEAPF32[((value)>>2)]; - view[1] = HEAPF32[(((value)+(4))>>2)]; - view[2] = HEAPF32[(((value)+(8))>>2)]; - view[3] = HEAPF32[(((value)+(12))>>2)]; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } } else { view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); } - GLctx.uniform4fv(location, view); + GLctx.uniform4fv(GL.uniforms[location], view); } function _glBufferSubData(target, offset, size, data) { GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); } - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - log = log.substr(0, maxLength - 1); - if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - function _alcDestroyContext(context) { // Stop playback, etc clearInterval(AL.contexts[context - 1].interval); } - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } + function _llvm_exp2_f32(x) { + return Math.pow(2, x); } function _glGetShaderiv(shader, pname, p) { @@ -9652,7 +10035,7 @@ function copyTempDouble(ptr) { } } - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx.blendEquationSeparate(x0, x1) } + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } function _glfwSetWindowIconifyCallback(winid, cbfun) { var win = GLFW.WindowFromId(winid); @@ -9680,21 +10063,18 @@ function copyTempDouble(ptr) { } function _emscripten_glVertexAttrib2fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+8)>>2); - GLctx.vertexAttrib2fv(index, v); + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); } - var _floorf=Math_floor; - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { program = GL.programs[program]; var info = GLctx.getActiveUniform(program, index); if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - var infoname = info.name.slice(0, Math.max(0, bufSize - 1)); if (bufSize > 0 && name) { - writeStringToMemory(infoname, name); - if (length) HEAP32[((length)>>2)]=infoname.length; + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } @@ -9703,6 +10083,9 @@ function copyTempDouble(ptr) { if (type) HEAP32[((type)>>2)]=info.type; } + + Module["_roundf"] = _roundf; + function _emscripten_glDeleteObjectARB() { Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); } @@ -9713,8 +10096,7 @@ function copyTempDouble(ptr) { } function _emscripten_glUniform1f(location, v0) { - location = GL.uniforms[location]; - GLctx.uniform1f(location, v0); + GLctx.uniform1f(GL.uniforms[location], v0); } function _alcCreateContext(device, attrList) { @@ -9741,6 +10123,10 @@ function copyTempDouble(ptr) { var gain = ctx.createGain(); gain.connect(ctx.destination); + // Extend the Web Audio API AudioListener object with a few tracking values of our own. + ctx.listener._position = [0, 0, 0]; + ctx.listener._velocity = [0, 0, 0]; + ctx.listener._orientation = [0, 0, 0, 0, 0, 0]; var context = { ctx: ctx, err: 0, @@ -9757,7 +10143,7 @@ function copyTempDouble(ptr) { } function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, normalized, stride, ptr); + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); } function _alcCloseDevice(device) { @@ -9766,11 +10152,11 @@ function copyTempDouble(ptr) { function _glShaderSource(shader, count, string, length) { var source = GL.getSource(shader, count, string, length); + + GLctx.shaderSource(GL.shaders[shader], source); } - var _sqrtf=Math_sqrt; - function _emscripten_glDrawArrays(mode, first, count) { GLctx.drawArrays(mode, first, count); @@ -9792,7 +10178,12 @@ function copyTempDouble(ptr) { } } - var _log=Math_log; + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } function _glfwSetCharCallback(winid, cbfun) { GLFW.setCharCallback(winid, cbfun); @@ -9828,8 +10219,6 @@ function copyTempDouble(ptr) { } } - function _glActiveTexture(x0) { GLctx.activeTexture(x0) } - function _glBindBuffer(target, buffer) { var bufferObj = buffer ? GL.buffers[buffer] : null; @@ -9837,18 +10226,12 @@ function copyTempDouble(ptr) { GLctx.bindBuffer(target, bufferObj); } - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); } - function _emscripten_glEnable(x0) { GLctx.enable(x0) } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx.scissor(x0, x1, x2, x3) } + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } function _glfwSetCursorEnterCallback(winid, cbfun) { var win = GLFW.WindowFromId(winid); @@ -9860,20 +10243,6 @@ function copyTempDouble(ptr) { Module["_bitshift64Lshr"] = _bitshift64Lshr; function _glBufferData(target, size, data, usage) { - switch (usage) { // fix usages, WebGL only has *_DRAW - case 0x88E1: // GL_STREAM_READ - case 0x88E2: // GL_STREAM_COPY - usage = 0x88E0; // GL_STREAM_DRAW - break; - case 0x88E5: // GL_STATIC_READ - case 0x88E6: // GL_STATIC_COPY - usage = 0x88E4; // GL_STATIC_DRAW - break; - case 0x88E9: // GL_DYNAMIC_READ - case 0x88EA: // GL_DYNAMIC_COPY - usage = 0x88E8; // GL_DYNAMIC_DRAW - break; - } if (!data) { GLctx.bufferData(target, size, usage); } else { @@ -9881,8 +10250,6 @@ function copyTempDouble(ptr) { } } - var _BDtoIHigh=true; - function _emscripten_glIsShader(shader) { var s = GL.shaders[shader]; if (!s) return 0; @@ -9890,13 +10257,19 @@ function copyTempDouble(ptr) { } function _emscripten_glDrawBuffers(n, bufs) { - var bufArray = []; - for (var i = 0; i < n; i++) - bufArray.push(HEAP32[(((bufs)+(i*4))>>2)]); + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } GLctx['drawBuffers'](bufArray); } + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + function _emscripten_glBindFramebuffer(target, framebuffer) { GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); } @@ -9909,27 +10282,13 @@ function copyTempDouble(ptr) { return 0; } - function _emscripten_glBlendEquation(x0) { GLctx.blendEquation(x0) } + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } function _emscripten_glBufferSubData(target, offset, size, data) { GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); } function _emscripten_glBufferData(target, size, data, usage) { - switch (usage) { // fix usages, WebGL only has *_DRAW - case 0x88E1: // GL_STREAM_READ - case 0x88E2: // GL_STREAM_COPY - usage = 0x88E0; // GL_STREAM_DRAW - break; - case 0x88E5: // GL_STATIC_READ - case 0x88E6: // GL_STATIC_COPY - usage = 0x88E4; // GL_STATIC_DRAW - break; - case 0x88E9: // GL_DYNAMIC_READ - case 0x88EA: // GL_DYNAMIC_COPY - usage = 0x88E8; // GL_DYNAMIC_DRAW - break; - } if (!data) { GLctx.bufferData(target, size, usage); } else { @@ -9937,64 +10296,53 @@ function copyTempDouble(ptr) { } } - function _sbrk(bytes) { - // Implement a Linux-like 'memory area' for our 'process'. - // Changes the size of the memory area by |bytes|; returns the - // address of the previous top ('break') of the memory area - // We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP - var self = _sbrk; - if (!self.called) { - DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned - self.called = true; - assert(Runtime.dynamicAlloc); - self.alloc = Runtime.dynamicAlloc; - Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') }; - } - var ret = DYNAMICTOP; - if (bytes != 0) { - var success = self.alloc(bytes); - if (!success) return -1 >>> 0; // sbrk failure code - } - return ret; // Previous break location. - } - - Module["_bitshift64Shl"] = _bitshift64Shl; + Module["_sbrk"] = _sbrk; - function _emscripten_glVertexAttrib4fv(index, v) { - v = HEAPF32.subarray((v)>>2,(v+16)>>2); - GLctx.vertexAttrib4fv(index, v); + function _alcMakeContextCurrent(context) { + if (context == 0) { + AL.currentContext = null; + return 0; + } else { + AL.currentContext = AL.contexts[context - 1]; + return 1; + } } - var _BItoD=true; - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { var result = GLctx.getShaderSource(GL.shaders[shader]); if (!result) return; // If an error occurs, nothing will be written to length or source. - result = result.slice(0, Math.max(0, bufSize - 1)); if (bufSize > 0 && source) { - writeStringToMemory(result, source); - if (length) HEAP32[((length)>>2)]=result.length; + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } } - function _emscripten_glClearDepth(x0) { GLctx.clearDepth(x0) } + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } function _emscripten_glGetFloatv(name_, p) { emscriptenWebGLGet(name_, p, 'Float'); } function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - var pixelData; - if (pixels) { - var data = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - pixelData = data.pixels; - internalFormat = data.internalFormat; - } else { - pixelData = null; - } + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); } @@ -10030,23 +10378,15 @@ function copyTempDouble(ptr) { } function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - var heapView; - if (data) { - heapView = HEAPU8.subarray((data),(data+imageSize)); - } else { - heapView = null; - } - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, heapView); + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); } - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx.clearColor(x0, x1, x2, x3) } + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } function _emscripten_glBindVertexArray(vao) { GLctx['bindVertexArray'](GL.vaos[vao]); } - var _floor=Math_floor; - function _emscripten_glLoadMatrixf() { Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); } @@ -10069,39 +10409,46 @@ function copyTempDouble(ptr) { GL.recordError(0x0501 /* GL_INVALID_VALUE */); return; } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH var log = GLctx.getProgramInfoLog(GL.programs[program]); if (log === null) log = '(unknown error)'; HEAP32[((p)>>2)]=log.length + 1; } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - } + HEAP32[((p)>>2)]=ptable.maxUniformLength; } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - var ptable = GL.programInfos[program]; - if (ptable) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for(var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - return; - } else if (program < GL.counter) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - } else { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; } else { HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); } @@ -10111,28 +10458,29 @@ function copyTempDouble(ptr) { var log = GLctx.getProgramInfoLog(GL.programs[program]); if (log === null) log = '(unknown error)'; - log = log.substr(0, maxLength - 1); if (maxLength > 0 && infoLog) { - writeStringToMemory(log, infoLog); - if (length) HEAP32[((length)>>2)]=log.length; + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; } else { if (length) HEAP32[((length)>>2)]=0; } } function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - var pixelData; - if (pixels) { - var data = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - pixelData = data.pixels; - internalFormat = data.internalFormat; - } else { - pixelData = null; - } + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); } - var _exp=Math_exp; + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } function ___unlock() {} @@ -10140,17 +10488,15 @@ function copyTempDouble(ptr) { Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); } - function _glViewport(x0, x1, x2, x3) { GLctx.viewport(x0, x1, x2, x3) } + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - function _glfwPollEvents() {} - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx.checkFramebufferStatus(x0) } + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } function _glfwDestroyWindow(winid) { return GLFW.destroyWindow(winid); } - function _emscripten_glFlush() { GLctx.flush() } + function _emscripten_glFlush() { GLctx['flush']() } function _glfwSetErrorCallback(cbfun) { GLFW.errorFunc = cbfun; @@ -10163,31 +10509,52 @@ function copyTempDouble(ptr) { } function _glUniformMatrix4fv(location, count, transpose, value) { - location = GL.uniforms[location]; + + var view; - if (count === 1) { - // avoid allocation for the common case of uploading one uniform matrix - view = GL.miniTempBufferViews[15]; - for (var i = 0; i < 16; i++) { - view[i] = HEAPF32[(((value)+(i*4))>>2)]; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; } } else { view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); } - GLctx.uniformMatrix4fv(location, transpose, view); + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); } function _emscripten_glValidateProgram(program) { GLctx.validateProgram(GL.programs[program]); } - function _glTexParameteri(x0, x1, x2) { GLctx.texParameteri(x0, x1, x2) } + function _glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; } - function _emscripten_glColorMask(x0, x1, x2, x3) { GLctx.colorMask(x0, x1, x2, x3) } + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } function _emscripten_glPixelStorei(pname, param) { if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { @@ -10219,7 +10586,7 @@ function copyTempDouble(ptr) { function _emscripten_glGenVertexArrays(n, arrays) { - for(var i = 0; i < n; i++) { + for (var i = 0; i < n; i++) { var vao = GLctx['createVertexArray'](); if (!vao) { GL.recordError(0x0502 /* GL_INVALID_OPERATION */); @@ -10241,11 +10608,6 @@ function copyTempDouble(ptr) { return ret; } - function _pthread_self() { - //FIXME: assumes only a single thread - return 0; - } - function _emscripten_glGetBooleanv(name_, p) { emscriptenWebGLGet(name_, p, 'Boolean'); } @@ -10303,36 +10665,103 @@ function copyTempDouble(ptr) { return -e.errno; } } -var GLctx; GL.init() -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink; -__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(); } -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } - Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) } -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__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(); }; +JSEvents.staticInit();; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); -staticSealed = true; // seal the static portion of memory +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); STACK_MAX = STACK_BASE + TOTAL_STACK; -DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX); +DYNAMIC_BASE = Runtime.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 cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_DYNAMIC); +function nullFunc_viiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vi(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_ii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_iii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_v(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + +function nullFunc_viiii(x) { Module["printErr"]("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)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) } + function invoke_viiiii(index,a1,a2,a3,a4,a5) { try { Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10341,7 +10770,7 @@ function invoke_vd(index,a1) { Module["dynCall_vd"](index,a1); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10350,7 +10779,7 @@ function invoke_vid(index,a1,a2) { Module["dynCall_vid"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10359,7 +10788,7 @@ function invoke_vi(index,a1) { Module["dynCall_vi"](index,a1); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10368,7 +10797,7 @@ function invoke_vii(index,a1,a2) { Module["dynCall_vii"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10377,7 +10806,7 @@ function invoke_ii(index,a1) { return Module["dynCall_ii"](index,a1); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10386,7 +10815,7 @@ function invoke_viddd(index,a1,a2,a3,a4) { Module["dynCall_viddd"](index,a1,a2,a3,a4); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10395,7 +10824,7 @@ function invoke_vidd(index,a1,a2,a3) { Module["dynCall_vidd"](index,a1,a2,a3); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10404,7 +10833,7 @@ function invoke_iiii(index,a1,a2,a3) { return Module["dynCall_iiii"](index,a1,a2,a3); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10413,7 +10842,7 @@ function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10422,7 +10851,7 @@ function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10431,7 +10860,7 @@ function invoke_viii(index,a1,a2,a3) { Module["dynCall_viii"](index,a1,a2,a3); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10440,7 +10869,7 @@ function invoke_vidddd(index,a1,a2,a3,a4,a5) { Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10449,7 +10878,7 @@ function invoke_vdi(index,a1,a2) { Module["dynCall_vdi"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10458,7 +10887,7 @@ function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10467,7 +10896,7 @@ function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10476,7 +10905,7 @@ function invoke_iii(index,a1,a2) { return Module["dynCall_iii"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10485,16 +10914,7 @@ function invoke_i(index) { return Module["dynCall_i"](index); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); - } -} - -function invoke_iiiiii(index,a1,a2,a3,a4,a5) { - try { - return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10503,7 +10923,7 @@ function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10512,7 +10932,7 @@ function invoke_vdddd(index,a1,a2,a3,a4) { Module["dynCall_vdddd"](index,a1,a2,a3,a4); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10521,7 +10941,7 @@ function invoke_vdd(index,a1,a2) { Module["dynCall_vdd"](index,a1,a2); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10530,7 +10950,7 @@ function invoke_v(index) { Module["dynCall_v"](index); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10539,7 +10959,7 @@ function invoke_viid(index,a1,a2,a3) { Module["dynCall_viid"](index,a1,a2,a3); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + Module["setThrew"](1, 0); } } @@ -10548,16 +10968,16 @@ function invoke_viiii(index,a1,a2,a3,a4) { Module["dynCall_viiii"](index,a1,a2,a3,a4); } catch(e) { if (typeof e !== 'number' && e !== 'longjmp') throw e; - asm["setThrew"](1, 0); + 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, "byteLength": byteLength }; -Module.asmLibraryArg = { "abort": abort, "assert": assert, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_iiiiii": invoke_iiiiii, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_exp": _exp, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_sqrtf": _sqrtf, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_ceilf": _ceilf, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_alcGetString": _alcGetString, "_sysconf": _sysconf, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "___syscall221": ___syscall221, "_cos": _cos, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_pthread_cleanup_push": _pthread_cleanup_push, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_alSourcei": _alSourcei, "_emscripten_glHint": _emscripten_glHint, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_pthread_cleanup_pop": _pthread_cleanup_pop, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_abort": _abort, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_fabsf": _fabsf, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_fabs": _fabs, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glFinish": _emscripten_glFinish, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_glBindFramebuffer": _glBindFramebuffer, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_asm_const_2": _emscripten_asm_const_2, "_glGetString": _glGetString, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_llvm_pow_f64": _llvm_pow_f64, "_glDeleteFramebuffers": _glDeleteFramebuffers, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_glfwPollEvents": _glfwPollEvents, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_sin": _sin, "_emscripten_glClear": _emscripten_glClear, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_asin": _asin, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_sbrk": _sbrk, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_emscripten_glUniform2i": _emscripten_glUniform2i, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glDisable": _emscripten_glDisable, "_glfwSetCharCallback": _glfwSetCharCallback, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_glCreateShader": _glCreateShader, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_floorf": _floorf, "_log": _log, "_glActiveTexture": _glActiveTexture, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_eglWaitClient": _eglWaitClient, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_emscripten_glEnable": _emscripten_glEnable, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_floor": _floor, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_cosf": _cosf, "_glGetProgramiv": _glGetProgramiv, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwTerminate": _glfwTerminate, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glUniform4fv": _glUniform4fv, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "_sinf": _sinf, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_pthread_self": _pthread_self, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "cttz_i8": cttz_i8 }; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "___syscall221": ___syscall221, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_alSourcei": _alSourcei, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_emscripten_glIsShader": _emscripten_glIsShader, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetCursorPos": _glfwGetCursorPos, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_llvm_exp2_f32": _llvm_exp2_f32, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glTexParameterf": _glTexParameterf, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; // EMSCRIPTEN_START_ASM var asm = (function(global, env, buffer) { - 'use asm'; + 'almost asm'; var Int8View = global.Int8Array; @@ -10579,10 +10999,11 @@ var asm = (function(global, env, buffer) { var byteLength = global.byteLength; - var STACKTOP=env.STACKTOP|0; - var STACK_MAX=env.STACK_MAX|0; + var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; var tempDoublePtr=env.tempDoublePtr|0; var ABORT=env.ABORT|0; + var STACKTOP=env.STACKTOP|0; + var STACK_MAX=env.STACK_MAX|0; var cttz_i8=env.cttz_i8|0; var __THREW__ = 0; @@ -10591,17 +11012,8 @@ var asm = (function(global, env, buffer) { var undef = 0; var nan = global.NaN, inf = global.Infinity; var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0; - var tempRet0 = 0; - var tempRet1 = 0; - var tempRet2 = 0; - var tempRet3 = 0; - var tempRet4 = 0; - var tempRet5 = 0; - var tempRet6 = 0; - var tempRet7 = 0; - var tempRet8 = 0; - var tempRet9 = 0; + var Math_floor=global.Math.floor; var Math_abs=global.Math.abs; var Math_sqrt=global.Math.sqrt; @@ -10618,9 +11030,38 @@ var asm = (function(global, env, buffer) { 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; var invoke_viiiii=env.invoke_viiiii; var invoke_vd=env.invoke_vd; var invoke_vid=env.invoke_vid; @@ -10639,7 +11080,6 @@ var asm = (function(global, env, buffer) { var invoke_viiiiiiiii=env.invoke_viiiiiiiii; var invoke_iii=env.invoke_iii; var invoke_i=env.invoke_i; - var invoke_iiiiii=env.invoke_iiiiii; var invoke_vdddddd=env.invoke_vdddddd; var invoke_vdddd=env.invoke_vdddd; var invoke_vdd=env.invoke_vdd; @@ -10648,7 +11088,7 @@ var asm = (function(global, env, buffer) { var invoke_viiii=env.invoke_viiii; var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; var _glUseProgram=env._glUseProgram; - var _exp=env._exp; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; var _glfwCreateWindow=env._glfwCreateWindow; var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; @@ -10671,28 +11111,28 @@ var asm = (function(global, env, buffer) { var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; var _glGetShaderInfoLog=env._glGetShaderInfoLog; var _alSource3f=env._alSource3f; - var _sqrtf=env._sqrtf; var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _ceilf=env._ceilf; + var _glDisable=env._glDisable; var _glBlendFunc=env._glBlendFunc; var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; var _glGetAttribLocation=env._glGetAttribLocation; var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _glCreateShader=env._glCreateShader; var _emscripten_glReadPixels=env._emscripten_glReadPixels; var _alcGetString=env._alcGetString; - var _sysconf=env._sysconf; var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; var ___syscall221=env.___syscall221; - var _cos=env._cos; + var _glUniform4f=env._glUniform4f; var _llvm_stacksave=env._llvm_stacksave; var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; @@ -10706,30 +11146,27 @@ var asm = (function(global, env, buffer) { var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; var _emscripten_glScissor=env._emscripten_glScissor; var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var _pthread_cleanup_push=env._pthread_cleanup_push; - var ___syscall145=env.___syscall145; var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; var _alSourcePlay=env._alSourcePlay; var _alSourcei=env._alSourcei; - var _emscripten_glHint=env._emscripten_glHint; var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; var ___syscall140=env.___syscall140; var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; var ___syscall146=env.___syscall146; var _glfwDestroyWindow=env._glfwDestroyWindow; - var _pthread_cleanup_pop=env._pthread_cleanup_pop; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; var _emscripten_glAttachShader=env._emscripten_glAttachShader; var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; var _emscripten_glUniform2f=env._emscripten_glUniform2f; var _alcCreateContext=env._alcCreateContext; + var _glfwTerminate=env._glfwTerminate; var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _abort=env._abort; var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; var _glGetProgramInfoLog=env._glGetProgramInfoLog; var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; @@ -10737,10 +11174,10 @@ var asm = (function(global, env, buffer) { var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; var _emscripten_glGenTextures=env._emscripten_glGenTextures; var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _emscripten_glIsShader=env._emscripten_glIsShader; var _llvm_stackrestore=env._llvm_stackrestore; - var _fabsf=env._fabsf; var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glClear=env._emscripten_glClear; var _glDrawElements=env._glDrawElements; var _alGetSourcei=env._alGetSourcei; var _glBufferSubData=env._glBufferSubData; @@ -10759,8 +11196,6 @@ var asm = (function(global, env, buffer) { var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; var _emscripten_glGetError=env._emscripten_glGetError; @@ -10771,7 +11206,6 @@ var asm = (function(global, env, buffer) { var _emscripten_glRotatef=env._emscripten_glRotatef; var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; var _glEnable=env._glEnable; - var _fabs=env._fabs; var _glGenTextures=env._glGenTextures; var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; var _alDeleteSources=env._alDeleteSources; @@ -10785,43 +11219,44 @@ var asm = (function(global, env, buffer) { var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; var _glAttachShader=env._glAttachShader; var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_glEnable=env._emscripten_glEnable; var _glCreateProgram=env._glCreateProgram; var _glUniformMatrix4fv=env._glUniformMatrix4fv; var _emscripten_glClearDepth=env._emscripten_glClearDepth; var ___lock=env.___lock; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; var ___syscall6=env.___syscall6; var ___syscall5=env.___syscall5; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var ___syscall145=env.___syscall145; var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; var _time=env._time; - var _glBindFramebuffer=env._glBindFramebuffer; var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; var _exit=env._exit; - var _emscripten_asm_const_2=env._emscripten_asm_const_2; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _glGetString=env._glGetString; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; var _alSourcef=env._alSourcef; var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var _glCullFace=env._glCullFace; var _llvm_pow_f64=env._llvm_pow_f64; - var _glDeleteFramebuffers=env._glDeleteFramebuffers; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _glfwPollEvents=env._glfwPollEvents; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; var _emscripten_glUniform4f=env._emscripten_glUniform4f; var _glfwSwapInterval=env._glfwSwapInterval; - var _sin=env._sin; - var _emscripten_glClear=env._emscripten_glClear; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _asin=env._asin; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _sbrk=env._sbrk; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; @@ -10831,10 +11266,10 @@ var asm = (function(global, env, buffer) { var _glBindTexture=env._glBindTexture; var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glHint=env._emscripten_glHint; var _glfwSetCharCallback=env._glfwSetCharCallback; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _glGetFloatv=env._glGetFloatv; var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; var _glfwSetScrollCallback=env._glfwSetScrollCallback; @@ -10843,107 +11278,108 @@ var asm = (function(global, env, buffer) { var _alcDestroyContext=env._alcDestroyContext; var _glDrawArrays=env._glDrawArrays; var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _glCreateShader=env._glCreateShader; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; var _glCompileShader=env._glCompileShader; + var _alListenerf=env._alListenerf; var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _floorf=env._floorf; - var _log=env._log; - var _glActiveTexture=env._glActiveTexture; - var _glfwSwapBuffers=env._glfwSwapBuffers; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; var _emscripten_glDepthMask=env._emscripten_glDepthMask; var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; var _alSourceStop=env._alSourceStop; - var _eglWaitClient=env._eglWaitClient; + var _glFrontFace=env._glFrontFace; var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; var _alcCloseDevice=env._alcCloseDevice; var _glUniform1i=env._glUniform1i; var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _abort=env._abort; var _alcGetContextsDevice=env._alcGetContextsDevice; var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _glfwGetCursorPos=env._glfwGetCursorPos; var _glDeleteBuffers=env._glDeleteBuffers; var _glBufferData=env._glBufferData; var _glTexImage2D=env._glTexImage2D; var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _emscripten_glEnable=env._emscripten_glEnable; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _floor=env._floor; var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; var _glDeleteShader=env._glDeleteShader; - var _cosf=env._cosf; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; var _glGetProgramiv=env._glGetProgramiv; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var _llvm_exp2_f32=env._llvm_exp2_f32; var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; var _glfwGetTime=env._glfwGetTime; var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; var _alListener3f=env._alListener3f; var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; var _glfwGetKey=env._glfwGetKey; - var _glfwTerminate=env._glfwTerminate; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; var _glLinkProgram=env._glLinkProgram; var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; var _glGetShaderiv=env._glGetShaderiv; var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; var _glGetUniformLocation=env._glGetUniformLocation; var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; var _emscripten_glCompileShader=env._emscripten_glCompileShader; var _glClear=env._glClear; - var _glUniform4fv=env._glUniform4fv; var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glDisable=env._emscripten_glDisable; var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var _sinf=env._sinf; var __exit=env.__exit; var _emscripten_glLineWidth=env._emscripten_glLineWidth; var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; var _glPixelStorei=env._glPixelStorei; var _emscripten_glColorMask=env._emscripten_glColorMask; var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; var _emscripten_glIsTexture=env._emscripten_glIsTexture; var _alDeleteBuffers=env._alDeleteBuffers; - var _pthread_self=env._pthread_self; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; var _emscripten_glBindTexture=env._emscripten_glBindTexture; var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; var ___syscall54=env.___syscall54; var ___unlock=env.___unlock; var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; var _emscripten_set_main_loop=env._emscripten_set_main_loop; var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; var _glfwWindowHint=env._glfwWindowHint; var _alGenSources=env._alGenSources; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _emscripten_glIsShader=env._emscripten_glIsShader; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; var _alcOpenDevice=env._alcOpenDevice; var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; var _emscripten_glClearColor=env._emscripten_glClearColor; var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; @@ -10956,6 +11392,7 @@ var asm = (function(global, env, buffer) { var _emscripten_glDetachShader=env._emscripten_glDetachShader; var _glClearColor=env._glClearColor; var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _glTexParameterf=env._glTexParameterf; var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; @@ -10976,12 +11413,14 @@ function _emscripten_replace_memory(newBuffer) { } // 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; } @@ -11007,24 +11446,6 @@ function setThrew(threw, value) { threwValue = value; } } -function copyTempFloat(ptr) { - ptr = ptr|0; - HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; - HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; - HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; - HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; -} -function copyTempDouble(ptr) { - ptr = ptr|0; - HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0]; - HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0]; - HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0]; - HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0]; - HEAP8[tempDoublePtr+4>>0] = HEAP8[ptr+4>>0]; - HEAP8[tempDoublePtr+5>>0] = HEAP8[ptr+5>>0]; - HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0]; - HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0]; -} function setTempRet0(value) { value = value|0; @@ -11035,33 +11456,38 @@ function getTempRet0() { } function _main() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $font$byval_copy = 0, $image = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 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, $font$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $font$byval_copy = sp + 64|0; - $image = sp + 44|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $font$byval_copy = sp + 56|0; $0 = sp; - _InitWindow(1280,720,12068); + $1 = sp + 24|0; + _InitWindow(1280,720,5698); _InitAudioDevice(); - _LoadImage($image,12093); - ;HEAP32[$font$byval_copy>>2]=HEAP32[$image>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[$image+16>>2]|0; - $1 = (_GetImageData($font$byval_copy)|0); - HEAP32[180>>2] = $1; - $2 = ((($image)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[184>>2] = $3; - $4 = ((($image)) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[188>>2] = $5; - ;HEAP32[$font$byval_copy>>2]=HEAP32[$image>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[$image+16>>2]|0; + _LoadImage($0,5723); + ;HEAP32[$font$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $2 = (_GetImageData($font$byval_copy)|0); + HEAP32[6239] = $2; + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[6240] = $4; + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[6241] = $6; + ;HEAP32[$font$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($font$byval_copy); - _LoadSpriteFont($0,12118); - dest=192; src=$0; 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)); - HEAP32[236>>2] = 0; + _LoadSpriteFont($1,5748); + ;HEAP32[24968>>2]=HEAP32[$1>>2]|0;HEAP32[24968+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[24968+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[24968+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[24968+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[24968+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[24968+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[24968+28>>2]=HEAP32[$1+28>>2]|0; + $7 = (_LoadMusicStream(5776)|0); + HEAP32[6250] = $7; + _PlayMusicStream($7); + $8 = HEAP32[6250]|0; + _SetMusicVolume($8,1.0); + HEAP32[6251] = 0; _rlInitLogoScreen(); _emscripten_set_main_loop((1|0),0,1); - $6 = HEAP32[236>>2]|0; - switch ($6|0) { + $9 = HEAP32[6251]|0; + switch ($9|0) { case 0: { break; } @@ -11076,35 +11502,39 @@ function _main() { default: { } } - dest=$font$byval_copy; src=192; 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)); + ;HEAP32[$font$byval_copy>>2]=HEAP32[24968>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[24968+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[24968+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[24968+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[24968+16>>2]|0;HEAP32[$font$byval_copy+20>>2]=HEAP32[24968+20>>2]|0;HEAP32[$font$byval_copy+24>>2]=HEAP32[24968+24>>2]|0;HEAP32[$font$byval_copy+28>>2]=HEAP32[24968+28>>2]|0; _UnloadSpriteFont($font$byval_copy); - $7 = HEAP32[180>>2]|0; - _free($7); + $10 = HEAP32[6250]|0; + _UnloadMusicStream($10); + $11 = HEAP32[6239]|0; + _free($11); _CloseAudioDevice(); _CloseWindow(); STACKTOP = sp;return 0; } function _UpdateDrawFrame() { - var $$byval_copy = 0, $0 = 0, $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, label = 0; - var sp = 0; + var $$byval_copy = 0, $$pr = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp + 4|0; $0 = sp; - $1 = HEAP32[164>>2]|0; + $1 = HEAP32[6237]|0; $2 = ($1|0)==(0); L1: do { if ($2) { - $3 = HEAP32[236>>2]|0; + $3 = HEAP32[6251]|0; switch ($3|0) { case 0: { _rlUpdateLogoScreen(); $4 = (_rlFinishLogoScreen()|0); $5 = ($4|0)==(0); if ($5) { + label = 12; break L1; } _TransitionToScreen(1); + label = 12; break L1; break; } @@ -11113,50 +11543,69 @@ function _UpdateDrawFrame() { $6 = (_FinishTitleScreen()|0); $7 = ($6|0)==(1); if (!($7)) { + label = 12; break L1; } + $8 = HEAP32[6250]|0; + _StopMusicStream($8); _TransitionToScreen(2); + label = 12; break L1; break; } case 2: { _UpdateGameplayScreen(); - $8 = (_FinishGameplayScreen()|0); - $9 = ($8|0)==(1); - if ($9) { + $9 = (_FinishGameplayScreen()|0); + $10 = ($9|0)==(1); + if ($10) { _ChangeToScreen(0); + label = 12; break L1; } - $10 = (_FinishGameplayScreen()|0); - $11 = ($10|0)==(2); - if (!($11)) { + $11 = (_FinishGameplayScreen()|0); + $12 = ($11|0)==(2); + if (!($12)) { + label = 12; break L1; } _TransitionToScreen(1); + label = 12; break L1; break; } default: { + label = 13; break L1; } } } else { _UpdateTransition(); + label = 12; } } while(0); - _UpdateMusicStream(); + if ((label|0) == 12) { + $$pr = HEAP32[6251]|0; + $13 = ($$pr|0)==(2); + if (!($13)) { + label = 13; + } + } + if ((label|0) == 13) { + $14 = HEAP32[6250]|0; + _UpdateMusicStream($14); + } _BeginDrawing(); HEAP8[$0>>0] = -11; - $12 = ((($0)) + 1|0); - HEAP8[$12>>0] = -11; - $13 = ((($0)) + 2|0); - HEAP8[$13>>0] = -11; - $14 = ((($0)) + 3|0); - HEAP8[$14>>0] = -1; + $15 = ((($0)) + 1|0); + HEAP8[$15>>0] = -11; + $16 = ((($0)) + 2|0); + HEAP8[$16>>0] = -11; + $17 = ((($0)) + 3|0); + HEAP8[$17>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; _ClearBackground($$byval_copy); - $15 = HEAP32[236>>2]|0; - switch ($15|0) { + $18 = HEAP32[6251]|0; + switch ($18|0) { case 0: { _rlDrawLogoScreen(); break; @@ -11172,9 +11621,9 @@ function _UpdateDrawFrame() { default: { } } - $16 = HEAP32[164>>2]|0; - $17 = ($16|0)==(0); - if ($17) { + $19 = HEAP32[6237]|0; + $20 = ($19|0)==(0); + if ($20) { _EndDrawing(); STACKTOP = sp;return; } @@ -11182,22 +11631,22 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } -function _TransitionToScreen($screen) { - $screen = $screen|0; - var $0 = 0, label = 0, sp = 0; +function _TransitionToScreen($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAP32[164>>2] = 1; - $0 = HEAP32[236>>2]|0; - HEAP32[172>>2] = $0; - HEAP32[176>>2] = $screen; + HEAP32[6237] = 1; + $1 = HEAP32[6251]|0; + HEAP32[2] = $1; + HEAP32[3] = $0; return; } -function _ChangeToScreen($screen) { - $screen = $screen|0; - var $0 = 0, label = 0, sp = 0; +function _ChangeToScreen($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[236>>2]|0; - switch ($0|0) { + $1 = HEAP32[6251]|0; + switch ($1|0) { case 0: { break; } @@ -11212,7 +11661,7 @@ function _ChangeToScreen($screen) { default: { } } - switch ($screen|0) { + switch ($0|0) { case 0: { _rlInitLogoScreen(); break; @@ -11228,37 +11677,37 @@ function _ChangeToScreen($screen) { default: { } } - HEAP32[236>>2] = $screen; + HEAP32[6251] = $0; return; } function _UpdateTransition() { - var $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + var $$sink = 0, $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[168>>2]|0; + $0 = HEAP32[6238]|0; $1 = ($0|0)==(0); - $2 = +HEAPF32[160>>2]; + $2 = +HEAPF32[6236]; if (!($1)) { $7 = $2 + -0.05000000074505806; - HEAPF32[160>>2] = $7; + HEAPF32[6236] = $7; $8 = !($7 <= 0.0); if ($8) { return; } - HEAPF32[160>>2] = 0.0; - HEAP32[168>>2] = 0; - HEAP32[164>>2] = 0; - HEAP32[172>>2] = -1; - HEAP32[176>>2] = -1; + HEAPF32[6236] = 0.0; + HEAP32[6238] = 0; + HEAP32[6237] = 0; + HEAP32[2] = -1; + HEAP32[3] = -1; return; } $3 = $2 + 0.05000000074505806; - HEAPF32[160>>2] = $3; + HEAPF32[6236] = $3; $4 = !($3 >= 1.0); if ($4) { return; } - HEAPF32[160>>2] = 1.0; - $5 = HEAP32[172>>2]|0; + HEAPF32[6236] = 1.0; + $5 = HEAP32[2]|0; switch ($5|0) { case 0: { break; @@ -11274,33 +11723,39 @@ function _UpdateTransition() { default: { } } - $6 = HEAP32[176>>2]|0; + $6 = HEAP32[3]|0; switch ($6|0) { case 0: { _rlInitLogoScreen(); - HEAP32[236>>2] = 0; + $$sink = 0; + label = 11; break; } case 1: { _InitTitleScreen(); - HEAP32[236>>2] = 1; + $$sink = 1; + label = 11; break; } case 2: { _InitGameplayScreen(); - HEAP32[236>>2] = 2; + $$sink = 2; + label = 11; break; } default: { } } - HEAP32[168>>2] = 1; + if ((label|0) == 11) { + HEAP32[6251] = $$sink; + } + HEAP32[6238] = 1; return; } function _DrawTransition() { var $$byval_copy1 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy1 = sp + 8|0; $0 = sp + 4|0; $1 = sp; @@ -11313,7 +11768,7 @@ function _DrawTransition() { HEAP8[$5>>0] = 0; $6 = ((($1)) + 3|0); HEAP8[$6>>0] = -1; - $7 = +HEAPF32[160>>2]; + $7 = +HEAPF32[6236]; ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; _Fade($0,$$byval_copy1,$7); ;HEAP8[$$byval_copy1>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$0+3>>0]|0; @@ -11323,152 +11778,150 @@ function _DrawTransition() { function _rlInitLogoScreen() { 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; - HEAP32[240>>2] = 0; - HEAP32[244>>2] = 0; - HEAP32[248>>2] = 0; + HEAP32[6252] = 0; + HEAP32[6253] = 0; + HEAP32[6254] = 0; $0 = (_GetScreenWidth()|0); $1 = (($0|0) / 2)&-1; $2 = (($1) + -128)|0; - HEAP32[252>>2] = $2; + HEAP32[6255] = $2; $3 = (_GetScreenHeight()|0); $4 = (($3|0) / 2)&-1; $5 = (($4) + -128)|0; - HEAP32[256>>2] = $5; - HEAP32[260>>2] = 16; - HEAP32[264>>2] = 16; - HEAP32[268>>2] = 16; - HEAP32[272>>2] = 16; - $6 = 8; + HEAP32[6256] = $5; + HEAP32[6257] = 16; + HEAP32[6258] = 16; + HEAP32[6259] = 16; + HEAP32[6260] = 16; + $6 = 24664; $7 = $6; HEAP32[$7>>2] = 0; $8 = (($6) + 4)|0; $9 = $8; HEAP32[$9>>2] = 0; - HEAP32[276>>2] = 0; - HEAPF32[280>>2] = 1.0; - _PlayMusicStream(12146); - _SetMusicVolume(1.0); + HEAP32[6261] = 0; + HEAPF32[4] = 1.0; return; } function _rlUpdateLogoScreen() { var $$off = 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.0; var $26 = 0.0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[276>>2]|0; + $0 = HEAP32[6261]|0; switch ($0|0) { case 0: { - $1 = HEAP32[244>>2]|0; + $1 = HEAP32[6253]|0; $2 = (($1) + 1)|0; - HEAP32[244>>2] = $2; + HEAP32[6253] = $2; $3 = ($2|0)==(80); if (!($3)) { return; } - HEAP32[276>>2] = 1; - HEAP32[244>>2] = 0; + HEAP32[6261] = 1; + HEAP32[6253] = 0; return; break; } case 1: { - $4 = HEAP32[260>>2]|0; + $4 = HEAP32[6257]|0; $5 = (($4) + 8)|0; - HEAP32[260>>2] = $5; - $6 = HEAP32[264>>2]|0; + HEAP32[6257] = $5; + $6 = HEAP32[6258]|0; $7 = (($6) + 8)|0; - HEAP32[264>>2] = $7; + HEAP32[6258] = $7; $8 = ($5|0)==(256); if (!($8)) { return; } - HEAP32[276>>2] = 2; + HEAP32[6261] = 2; return; break; } case 2: { - $9 = HEAP32[268>>2]|0; + $9 = HEAP32[6259]|0; $10 = (($9) + 8)|0; - HEAP32[268>>2] = $10; - $11 = HEAP32[272>>2]|0; + HEAP32[6259] = $10; + $11 = HEAP32[6260]|0; $12 = (($11) + 8)|0; - HEAP32[272>>2] = $12; + HEAP32[6260] = $12; $13 = ($10|0)==(256); if (!($13)) { return; } - HEAP32[276>>2] = 3; + HEAP32[6261] = 3; return; break; } case 3: { - $14 = HEAP32[244>>2]|0; + $14 = HEAP32[6253]|0; $15 = (($14) + 1)|0; - HEAP32[244>>2] = $15; + HEAP32[6253] = $15; $$off = (($14) + 10)|0; $16 = ($$off>>>0)>(18); - $17 = HEAP32[248>>2]|0; + $17 = HEAP32[6254]|0; if ($16) { $18 = (($17) + 1)|0; - HEAP32[248>>2] = $18; - HEAP32[244>>2] = 0; + HEAP32[6254] = $18; + HEAP32[6253] = 0; $19 = $18; } else { $19 = $17; } switch ($19|0) { case 1: { - HEAP8[8>>0] = 114; + HEAP8[24664] = 114; break; } case 2: { - HEAP8[(9)>>0] = 97; + HEAP8[(24665)>>0] = 97; break; } case 3: { - HEAP8[(10)>>0] = 121; + HEAP8[(24666)>>0] = 121; break; } case 4: { - HEAP8[(11)>>0] = 108; + HEAP8[(24667)>>0] = 108; break; } case 5: { - HEAP8[(12)>>0] = 105; + HEAP8[(24668)>>0] = 105; break; } case 6: { - HEAP8[(13)>>0] = 98; + HEAP8[(24669)>>0] = 98; break; } default: { } } - $20 = HEAP32[248>>2]|0; + $20 = HEAP32[6254]|0; $21 = ($20|0)>(9); if (!($21)) { return; } - HEAP32[276>>2] = 4; - HEAP32[244>>2] = 0; + HEAP32[6261] = 4; + HEAP32[6253] = 0; return; break; } case 4: { - $22 = HEAP32[244>>2]|0; + $22 = HEAP32[6253]|0; $23 = (($22) + 1)|0; - HEAP32[244>>2] = $23; + HEAP32[6253] = $23; $24 = ($22|0)>(99); if (!($24)) { return; } - $25 = +HEAPF32[280>>2]; + $25 = +HEAPF32[4]; $26 = $25 + -0.019999999552965164; - HEAPF32[280>>2] = $26; + HEAPF32[4] = $26; $27 = !($26 <= 0.0); if ($27) { return; } - HEAPF32[280>>2] = 0.0; - HEAP32[240>>2] = 1; + HEAPF32[4] = 0.0; + HEAP32[6252] = 1; return; break; } @@ -11490,7 +11943,7 @@ function _rlDrawLogoScreen() { var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, label = 0; var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); $$byval_copy32 = sp + 132|0; $0 = sp + 128|0; $1 = sp + 124|0; @@ -11525,18 +11978,18 @@ function _rlDrawLogoScreen() { $30 = sp + 8|0; $31 = sp + 4|0; $32 = sp; - $33 = HEAP32[276>>2]|0; + $33 = HEAP32[6261]|0; switch ($33|0) { case 0: { - $34 = HEAP32[244>>2]|0; + $34 = HEAP32[6253]|0; $35 = (($34|0) / 10)&-1; $36 = $35 & 1; $37 = ($36|0)==(0); if ($37) { STACKTOP = sp;return; } - $38 = HEAP32[252>>2]|0; - $39 = HEAP32[256>>2]|0; + $38 = HEAP32[6255]|0; + $39 = HEAP32[6256]|0; HEAP8[$0>>0] = 0; $40 = ((($0)) + 1|0); HEAP8[$40>>0] = 0; @@ -11550,9 +12003,9 @@ function _rlDrawLogoScreen() { break; } case 1: { - $43 = HEAP32[252>>2]|0; - $44 = HEAP32[256>>2]|0; - $45 = HEAP32[260>>2]|0; + $43 = HEAP32[6255]|0; + $44 = HEAP32[6256]|0; + $45 = HEAP32[6257]|0; HEAP8[$1>>0] = 0; $46 = ((($1)) + 1|0); HEAP8[$46>>0] = 0; @@ -11562,9 +12015,9 @@ function _rlDrawLogoScreen() { HEAP8[$48>>0] = -1; ;HEAP8[$$byval_copy32>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$1+3>>0]|0; _DrawRectangle($43,$44,$45,16,$$byval_copy32); - $49 = HEAP32[252>>2]|0; - $50 = HEAP32[256>>2]|0; - $51 = HEAP32[264>>2]|0; + $49 = HEAP32[6255]|0; + $50 = HEAP32[6256]|0; + $51 = HEAP32[6258]|0; HEAP8[$2>>0] = 0; $52 = ((($2)) + 1|0); HEAP8[$52>>0] = 0; @@ -11578,9 +12031,9 @@ function _rlDrawLogoScreen() { break; } case 2: { - $55 = HEAP32[252>>2]|0; - $56 = HEAP32[256>>2]|0; - $57 = HEAP32[260>>2]|0; + $55 = HEAP32[6255]|0; + $56 = HEAP32[6256]|0; + $57 = HEAP32[6257]|0; HEAP8[$3>>0] = 0; $58 = ((($3)) + 1|0); HEAP8[$58>>0] = 0; @@ -11590,9 +12043,9 @@ function _rlDrawLogoScreen() { HEAP8[$60>>0] = -1; ;HEAP8[$$byval_copy32>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$3+3>>0]|0; _DrawRectangle($55,$56,$57,16,$$byval_copy32); - $61 = HEAP32[252>>2]|0; - $62 = HEAP32[256>>2]|0; - $63 = HEAP32[264>>2]|0; + $61 = HEAP32[6255]|0; + $62 = HEAP32[6256]|0; + $63 = HEAP32[6258]|0; HEAP8[$4>>0] = 0; $64 = ((($4)) + 1|0); HEAP8[$64>>0] = 0; @@ -11602,10 +12055,10 @@ function _rlDrawLogoScreen() { HEAP8[$66>>0] = -1; ;HEAP8[$$byval_copy32>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$4+3>>0]|0; _DrawRectangle($61,$62,16,$63,$$byval_copy32); - $67 = HEAP32[252>>2]|0; + $67 = HEAP32[6255]|0; $68 = (($67) + 240)|0; - $69 = HEAP32[256>>2]|0; - $70 = HEAP32[272>>2]|0; + $69 = HEAP32[6256]|0; + $70 = HEAP32[6260]|0; HEAP8[$5>>0] = 0; $71 = ((($5)) + 1|0); HEAP8[$71>>0] = 0; @@ -11615,10 +12068,10 @@ function _rlDrawLogoScreen() { HEAP8[$73>>0] = -1; ;HEAP8[$$byval_copy32>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$5+3>>0]|0; _DrawRectangle($68,$69,16,$70,$$byval_copy32); - $74 = HEAP32[252>>2]|0; - $75 = HEAP32[256>>2]|0; + $74 = HEAP32[6255]|0; + $75 = HEAP32[6256]|0; $76 = (($75) + 240)|0; - $77 = HEAP32[268>>2]|0; + $77 = HEAP32[6259]|0; HEAP8[$6>>0] = 0; $78 = ((($6)) + 1|0); HEAP8[$78>>0] = 0; @@ -11632,9 +12085,9 @@ function _rlDrawLogoScreen() { break; } case 3: { - $81 = HEAP32[252>>2]|0; - $82 = HEAP32[256>>2]|0; - $83 = HEAP32[260>>2]|0; + $81 = HEAP32[6255]|0; + $82 = HEAP32[6256]|0; + $83 = HEAP32[6257]|0; HEAP8[$8>>0] = 0; $84 = ((($8)) + 1|0); HEAP8[$84>>0] = 0; @@ -11642,15 +12095,15 @@ function _rlDrawLogoScreen() { HEAP8[$85>>0] = 0; $86 = ((($8)) + 3|0); HEAP8[$86>>0] = -1; - $87 = +HEAPF32[280>>2]; + $87 = +HEAPF32[4]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$8+3>>0]|0; _Fade($7,$$byval_copy32,$87); ;HEAP8[$$byval_copy32>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$7+3>>0]|0; _DrawRectangle($81,$82,$83,16,$$byval_copy32); - $88 = HEAP32[252>>2]|0; - $89 = HEAP32[256>>2]|0; + $88 = HEAP32[6255]|0; + $89 = HEAP32[6256]|0; $90 = (($89) + 16)|0; - $91 = HEAP32[264>>2]|0; + $91 = HEAP32[6258]|0; $92 = (($91) + -32)|0; HEAP8[$10>>0] = 0; $93 = ((($10)) + 1|0); @@ -11659,16 +12112,16 @@ function _rlDrawLogoScreen() { HEAP8[$94>>0] = 0; $95 = ((($10)) + 3|0); HEAP8[$95>>0] = -1; - $96 = +HEAPF32[280>>2]; + $96 = +HEAPF32[4]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$10+3>>0]|0; _Fade($9,$$byval_copy32,$96); ;HEAP8[$$byval_copy32>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$9+3>>0]|0; _DrawRectangle($88,$90,16,$92,$$byval_copy32); - $97 = HEAP32[252>>2]|0; + $97 = HEAP32[6255]|0; $98 = (($97) + 240)|0; - $99 = HEAP32[256>>2]|0; + $99 = HEAP32[6256]|0; $100 = (($99) + 16)|0; - $101 = HEAP32[272>>2]|0; + $101 = HEAP32[6260]|0; $102 = (($101) + -32)|0; HEAP8[$12>>0] = 0; $103 = ((($12)) + 1|0); @@ -11677,15 +12130,15 @@ function _rlDrawLogoScreen() { HEAP8[$104>>0] = 0; $105 = ((($12)) + 3|0); HEAP8[$105>>0] = -1; - $106 = +HEAPF32[280>>2]; + $106 = +HEAPF32[4]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$12+3>>0]|0; _Fade($11,$$byval_copy32,$106); ;HEAP8[$$byval_copy32>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$11+3>>0]|0; _DrawRectangle($98,$100,16,$102,$$byval_copy32); - $107 = HEAP32[252>>2]|0; - $108 = HEAP32[256>>2]|0; + $107 = HEAP32[6255]|0; + $108 = HEAP32[6256]|0; $109 = (($108) + 240)|0; - $110 = HEAP32[268>>2]|0; + $110 = HEAP32[6259]|0; HEAP8[$14>>0] = 0; $111 = ((($14)) + 1|0); HEAP8[$111>>0] = 0; @@ -11693,7 +12146,7 @@ function _rlDrawLogoScreen() { HEAP8[$112>>0] = 0; $113 = ((($14)) + 3|0); HEAP8[$113>>0] = -1; - $114 = +HEAPF32[280>>2]; + $114 = +HEAPF32[4]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$14+3>>0]|0; _Fade($13,$$byval_copy32,$114); ;HEAP8[$$byval_copy32>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$13+3>>0]|0; @@ -11711,7 +12164,7 @@ function _rlDrawLogoScreen() { HEAP8[$122>>0] = -11; $123 = ((($16)) + 3|0); HEAP8[$123>>0] = -1; - $124 = +HEAPF32[280>>2]; + $124 = +HEAPF32[4]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$16+3>>0]|0; _Fade($15,$$byval_copy32,$124); ;HEAP8[$$byval_copy32>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$15+3>>0]|0; @@ -11729,18 +12182,18 @@ function _rlDrawLogoScreen() { HEAP8[$132>>0] = 0; $133 = ((($18)) + 3|0); HEAP8[$133>>0] = -1; - $134 = +HEAPF32[280>>2]; + $134 = +HEAPF32[4]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$18+3>>0]|0; _Fade($17,$$byval_copy32,$134); ;HEAP8[$$byval_copy32>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$17+3>>0]|0; - _DrawText(8,$127,$130,50,$$byval_copy32); + _DrawText(24664,$127,$130,50,$$byval_copy32); STACKTOP = sp;return; break; } case 4: { - $135 = HEAP32[252>>2]|0; - $136 = HEAP32[256>>2]|0; - $137 = HEAP32[260>>2]|0; + $135 = HEAP32[6255]|0; + $136 = HEAP32[6256]|0; + $137 = HEAP32[6257]|0; HEAP8[$20>>0] = 0; $138 = ((($20)) + 1|0); HEAP8[$138>>0] = 0; @@ -11748,15 +12201,15 @@ function _rlDrawLogoScreen() { HEAP8[$139>>0] = 0; $140 = ((($20)) + 3|0); HEAP8[$140>>0] = -1; - $141 = +HEAPF32[280>>2]; + $141 = +HEAPF32[4]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$20+3>>0]|0; _Fade($19,$$byval_copy32,$141); ;HEAP8[$$byval_copy32>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$19+3>>0]|0; _DrawRectangle($135,$136,$137,16,$$byval_copy32); - $142 = HEAP32[252>>2]|0; - $143 = HEAP32[256>>2]|0; + $142 = HEAP32[6255]|0; + $143 = HEAP32[6256]|0; $144 = (($143) + 16)|0; - $145 = HEAP32[264>>2]|0; + $145 = HEAP32[6258]|0; $146 = (($145) + -32)|0; HEAP8[$22>>0] = 0; $147 = ((($22)) + 1|0); @@ -11765,16 +12218,16 @@ function _rlDrawLogoScreen() { HEAP8[$148>>0] = 0; $149 = ((($22)) + 3|0); HEAP8[$149>>0] = -1; - $150 = +HEAPF32[280>>2]; + $150 = +HEAPF32[4]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$22+3>>0]|0; _Fade($21,$$byval_copy32,$150); ;HEAP8[$$byval_copy32>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$21+3>>0]|0; _DrawRectangle($142,$144,16,$146,$$byval_copy32); - $151 = HEAP32[252>>2]|0; + $151 = HEAP32[6255]|0; $152 = (($151) + 240)|0; - $153 = HEAP32[256>>2]|0; + $153 = HEAP32[6256]|0; $154 = (($153) + 16)|0; - $155 = HEAP32[272>>2]|0; + $155 = HEAP32[6260]|0; $156 = (($155) + -32)|0; HEAP8[$24>>0] = 0; $157 = ((($24)) + 1|0); @@ -11783,15 +12236,15 @@ function _rlDrawLogoScreen() { HEAP8[$158>>0] = 0; $159 = ((($24)) + 3|0); HEAP8[$159>>0] = -1; - $160 = +HEAPF32[280>>2]; + $160 = +HEAPF32[4]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$24+3>>0]|0; _Fade($23,$$byval_copy32,$160); ;HEAP8[$$byval_copy32>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$23+3>>0]|0; _DrawRectangle($152,$154,16,$156,$$byval_copy32); - $161 = HEAP32[252>>2]|0; - $162 = HEAP32[256>>2]|0; + $161 = HEAP32[6255]|0; + $162 = HEAP32[6256]|0; $163 = (($162) + 240)|0; - $164 = HEAP32[268>>2]|0; + $164 = HEAP32[6259]|0; HEAP8[$26>>0] = 0; $165 = ((($26)) + 1|0); HEAP8[$165>>0] = 0; @@ -11799,7 +12252,7 @@ function _rlDrawLogoScreen() { HEAP8[$166>>0] = 0; $167 = ((($26)) + 3|0); HEAP8[$167>>0] = -1; - $168 = +HEAPF32[280>>2]; + $168 = +HEAPF32[4]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$26>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$26+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$26+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$26+3>>0]|0; _Fade($25,$$byval_copy32,$168); ;HEAP8[$$byval_copy32>>0]=HEAP8[$25>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$25+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$25+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$25+3>>0]|0; @@ -11817,7 +12270,7 @@ function _rlDrawLogoScreen() { HEAP8[$176>>0] = -11; $177 = ((($28)) + 3|0); HEAP8[$177>>0] = -1; - $178 = +HEAPF32[280>>2]; + $178 = +HEAPF32[4]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$28>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$28+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$28+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$28+3>>0]|0; _Fade($27,$$byval_copy32,$178); ;HEAP8[$$byval_copy32>>0]=HEAP8[$27>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$27+3>>0]|0; @@ -11835,18 +12288,18 @@ function _rlDrawLogoScreen() { HEAP8[$186>>0] = 0; $187 = ((($30)) + 3|0); HEAP8[$187>>0] = -1; - $188 = +HEAPF32[280>>2]; + $188 = +HEAPF32[4]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$30>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$30+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$30+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$30+3>>0]|0; _Fade($29,$$byval_copy32,$188); ;HEAP8[$$byval_copy32>>0]=HEAP8[$29>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$29+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$29+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$29+3>>0]|0; - _DrawText(8,$181,$184,50,$$byval_copy32); - $189 = HEAP32[244>>2]|0; + _DrawText(24664,$181,$184,50,$$byval_copy32); + $189 = HEAP32[6253]|0; $190 = ($189|0)>(20); if (!($190)) { STACKTOP = sp;return; } - $191 = HEAP32[252>>2]|0; - $192 = HEAP32[256>>2]|0; + $191 = HEAP32[6255]|0; + $192 = HEAP32[6256]|0; $193 = (($192) + -27)|0; HEAP8[$32>>0] = 80; $194 = ((($32)) + 1|0); @@ -11855,11 +12308,11 @@ function _rlDrawLogoScreen() { HEAP8[$195>>0] = 80; $196 = ((($32)) + 3|0); HEAP8[$196>>0] = -1; - $197 = +HEAPF32[280>>2]; + $197 = +HEAPF32[4]; ;HEAP8[$$byval_copy32>>0]=HEAP8[$32>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$32+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$32+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$32+3>>0]|0; _Fade($31,$$byval_copy32,$197); ;HEAP8[$$byval_copy32>>0]=HEAP8[$31>>0]|0;HEAP8[$$byval_copy32+1>>0]=HEAP8[$31+1>>0]|0;HEAP8[$$byval_copy32+2>>0]=HEAP8[$31+2>>0]|0;HEAP8[$$byval_copy32+3>>0]=HEAP8[$31+3>>0]|0; - _DrawText(12174,$191,$193,20,$$byval_copy32); + _DrawText(5804,$191,$193,20,$$byval_copy32); STACKTOP = sp;return; break; } @@ -11876,50 +12329,39 @@ function _rlUnloadLogoScreen() { function _rlFinishLogoScreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[240>>2]|0; + $0 = HEAP32[6252]|0; return ($0|0); } function _InitTitleScreen() { - 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, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 8|0; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp + 32|0; + $1 = sp + 12|0; $2 = sp; - HEAP32[284>>2] = 0; - HEAP32[288>>2] = 0; - _LoadTexture($0,12185); - ;HEAP32[292>>2]=HEAP32[$0>>2]|0;HEAP32[292+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[292+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[292+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[292+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTexture($1,12219); - ;HEAP32[312>>2]=HEAP32[$1>>2]|0;HEAP32[312+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[312+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[312+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[312+16>>2]=HEAP32[$1+16>>2]|0; - _LoadSound($2,12248); - $3 = $2; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = (($3) + 4)|0; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = 16; - $10 = $9; - HEAP32[$10>>2] = $5; - $11 = (($9) + 4)|0; - $12 = $11; - HEAP32[$12>>2] = $8; + HEAP32[6262] = 0; + HEAP32[6263] = 0; + _LoadTexture($0,5815); + ;HEAP32[25056>>2]=HEAP32[$0>>2]|0;HEAP32[25056+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[25056+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[25056+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[25056+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTexture($1,5849); + ;HEAP32[25076>>2]=HEAP32[$1>>2]|0;HEAP32[25076+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[25076+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[25076+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[25076+16>>2]=HEAP32[$1+16>>2]|0; + _LoadSound($2,5878); + ;HEAP32[25096>>2]=HEAP32[$2>>2]|0;HEAP32[25096+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[25096+8>>2]=HEAP32[$2+8>>2]|0; STACKTOP = sp;return; } function _UpdateTitleScreen() { var $$inv = 0, $0 = 0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $fxStart$byval_copy = 0, $storemerge = 0.0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $fxStart$byval_copy = sp; - $0 = HEAP32[284>>2]|0; + $0 = HEAP32[6262]|0; $1 = (($0) + 1)|0; - HEAP32[284>>2] = $1; - $2 = +HEAPF32[332>>2]; + HEAP32[6262] = $1; + $2 = +HEAPF32[6277]; $3 = $2 + 0.004999999888241291; $$inv = $3 >= 1.0; $storemerge = $$inv ? 1.0 : $3; - HEAPF32[332>>2] = $storemerge; + HEAPF32[6277] = $storemerge; $4 = (_IsKeyPressed(257)|0); $5 = ($4|0)==(0); if ($5) { @@ -11929,25 +12371,25 @@ function _UpdateTitleScreen() { STACKTOP = sp;return; } } - ;HEAP32[$fxStart$byval_copy>>2]=HEAP32[16>>2]|0;HEAP32[$fxStart$byval_copy+4>>2]=HEAP32[16+4>>2]|0; + ;HEAP32[$fxStart$byval_copy>>2]=HEAP32[25096>>2]|0;HEAP32[$fxStart$byval_copy+4>>2]=HEAP32[25096+4>>2]|0;HEAP32[$fxStart$byval_copy+8>>2]=HEAP32[25096+8>>2]|0; _PlaySound($fxStart$byval_copy); - HEAP32[288>>2] = 1; + HEAP32[6263] = 1; STACKTOP = sp;return; } function _DrawTitleScreen() { var $$byval_copy3 = 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.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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $font$byval_copy = 0, $tmpcast20$byval_copy = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $font$byval_copy = 0, $tmpcast2$byval_copy = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $tmpcast20$byval_copy = sp + 100|0; - $$byval_copy3 = sp + 68|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $tmpcast2$byval_copy = sp + 88|0; + $$byval_copy3 = sp + 56|0; $font$byval_copy = sp + 24|0; - $0 = sp + 96|0; + $0 = sp + 84|0; $1 = sp + 20|0; - $2 = sp + 92|0; + $2 = sp + 80|0; $3 = sp + 16|0; - $4 = sp + 88|0; + $4 = sp + 76|0; $5 = sp + 8|0; $6 = sp; $7 = (_GetScreenWidth()|0); @@ -11959,29 +12401,29 @@ function _DrawTitleScreen() { HEAP8[$10>>0] = 26; $11 = ((($0)) + 3|0); HEAP8[$11>>0] = -1; - ;HEAP8[$tmpcast20$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$tmpcast20$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$tmpcast20$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$tmpcast20$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _DrawRectangle(0,0,$7,$8,$tmpcast20$byval_copy); + ;HEAP8[$tmpcast2$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$tmpcast2$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$tmpcast2$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$tmpcast2$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; + _DrawRectangle(0,0,$7,$8,$tmpcast2$byval_copy); $12 = (_GetScreenWidth()|0); $13 = (($12|0) / 2)&-1; - $14 = HEAP32[(296)>>2]|0; + $14 = HEAP32[(25060)>>2]|0; $15 = (($14|0) / 2)&-1; $16 = (($13) - ($15))|0; HEAP32[$1>>2] = -1; - ;HEAP32[$$byval_copy3>>2]=HEAP32[292>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[292+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[292+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[292+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[292+16>>2]|0; - ;HEAP8[$tmpcast20$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$tmpcast20$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$tmpcast20$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$tmpcast20$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; - _DrawTexture($$byval_copy3,$16,0,$tmpcast20$byval_copy); + ;HEAP32[$$byval_copy3>>2]=HEAP32[25056>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[25056+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[25056+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[25056+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[25056+16>>2]|0; + ;HEAP8[$tmpcast2$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$tmpcast2$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$tmpcast2$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$tmpcast2$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; + _DrawTexture($$byval_copy3,$16,0,$tmpcast2$byval_copy); $17 = (_GetScreenWidth()|0); $18 = (($17|0) / 2)&-1; - $19 = HEAP32[(316)>>2]|0; + $19 = HEAP32[(25080)>>2]|0; $20 = (($19|0) / 2)&-1; $21 = (($18) - ($20))|0; HEAP32[$3>>2] = -1; - $22 = +HEAPF32[332>>2]; - ;HEAP8[$tmpcast20$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$tmpcast20$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$tmpcast20$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$tmpcast20$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _Fade($2,$tmpcast20$byval_copy,$22); - ;HEAP32[$$byval_copy3>>2]=HEAP32[312>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[312+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[312+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[312+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[312+16>>2]|0; - ;HEAP8[$tmpcast20$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$tmpcast20$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$tmpcast20$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$tmpcast20$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawTexture($$byval_copy3,$21,30,$tmpcast20$byval_copy); + $22 = +HEAPF32[6277]; + ;HEAP8[$tmpcast2$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$tmpcast2$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$tmpcast2$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$tmpcast2$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _Fade($2,$tmpcast2$byval_copy,$22); + ;HEAP32[$$byval_copy3>>2]=HEAP32[25076>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[25076+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[25076+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[25076+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[25076+16>>2]|0; + ;HEAP8[$tmpcast2$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$tmpcast2$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$tmpcast2$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$tmpcast2$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; + _DrawTexture($$byval_copy3,$21,30,$tmpcast2$byval_copy); $23 = (_GetScreenHeight()|0); $24 = (($23) + -40)|0; HEAP8[$4>>0] = -56; @@ -11991,14 +12433,14 @@ function _DrawTitleScreen() { HEAP8[$26>>0] = -56; $27 = ((($4)) + 3|0); HEAP8[$27>>0] = -1; - ;HEAP8[$tmpcast20$byval_copy>>0]=HEAP8[$4>>0]|0;HEAP8[$tmpcast20$byval_copy+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$tmpcast20$byval_copy+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$tmpcast20$byval_copy+3>>0]=HEAP8[$4+3>>0]|0; - _DrawText(12274,20,$24,20,$tmpcast20$byval_copy); - $28 = HEAP32[284>>2]|0; + ;HEAP8[$tmpcast2$byval_copy>>0]=HEAP8[$4>>0]|0;HEAP8[$tmpcast2$byval_copy+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$tmpcast2$byval_copy+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$tmpcast2$byval_copy+3>>0]=HEAP8[$4+3>>0]|0; + _DrawText(5904,20,$24,20,$tmpcast2$byval_copy); + $28 = HEAP32[6262]|0; $29 = ($28|0)>(180); if (!($29)) { STACKTOP = sp;return; } - $30 = (($28|0) / 40)&-1; + $30 = (($28>>>0) / 40)&-1; $31 = $30 & 1; $32 = ($31|0)==(0); if ($32) { @@ -12007,736 +12449,886 @@ function _DrawTitleScreen() { HEAPF32[$5>>2] = 230.0; $33 = ((($5)) + 4|0); HEAPF32[$33>>2] = 450.0; - $34 = HEAP32[(212)>>2]|0; + $34 = HEAP32[(24988)>>2]|0; + $35 = (+($34|0)); HEAP32[$6>>2] = -1; - dest=$font$byval_copy; src=192; 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)); + ;HEAP32[$font$byval_copy>>2]=HEAP32[24968>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[24968+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[24968+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[24968+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[24968+16>>2]|0;HEAP32[$font$byval_copy+20>>2]=HEAP32[24968+20>>2]|0;HEAP32[$font$byval_copy+24>>2]=HEAP32[24968+24>>2]|0;HEAP32[$font$byval_copy+28>>2]=HEAP32[24968+28>>2]|0; ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0; - ;HEAP8[$tmpcast20$byval_copy>>0]=HEAP8[$6>>0]|0;HEAP8[$tmpcast20$byval_copy+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$tmpcast20$byval_copy+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$tmpcast20$byval_copy+3>>0]=HEAP8[$6+3>>0]|0; - _DrawTextEx($font$byval_copy,12319,$$byval_copy3,$34,-2,$tmpcast20$byval_copy); + ;HEAP8[$tmpcast2$byval_copy>>0]=HEAP8[$6>>0]|0;HEAP8[$tmpcast2$byval_copy+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$tmpcast2$byval_copy+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$tmpcast2$byval_copy+3>>0]=HEAP8[$6+3>>0]|0; + _DrawTextEx($font$byval_copy,5949,$$byval_copy3,$35,-2,$tmpcast2$byval_copy); STACKTOP = sp;return; } function _UnloadTitleScreen() { var $fxStart$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $fxStart$byval_copy = sp; - ;HEAP32[$fxStart$byval_copy>>2]=HEAP32[292>>2]|0;HEAP32[$fxStart$byval_copy+4>>2]=HEAP32[292+4>>2]|0;HEAP32[$fxStart$byval_copy+8>>2]=HEAP32[292+8>>2]|0;HEAP32[$fxStart$byval_copy+12>>2]=HEAP32[292+12>>2]|0;HEAP32[$fxStart$byval_copy+16>>2]=HEAP32[292+16>>2]|0; + ;HEAP32[$fxStart$byval_copy>>2]=HEAP32[25056>>2]|0;HEAP32[$fxStart$byval_copy+4>>2]=HEAP32[25056+4>>2]|0;HEAP32[$fxStart$byval_copy+8>>2]=HEAP32[25056+8>>2]|0;HEAP32[$fxStart$byval_copy+12>>2]=HEAP32[25056+12>>2]|0;HEAP32[$fxStart$byval_copy+16>>2]=HEAP32[25056+16>>2]|0; _UnloadTexture($fxStart$byval_copy); - ;HEAP32[$fxStart$byval_copy>>2]=HEAP32[312>>2]|0;HEAP32[$fxStart$byval_copy+4>>2]=HEAP32[312+4>>2]|0;HEAP32[$fxStart$byval_copy+8>>2]=HEAP32[312+8>>2]|0;HEAP32[$fxStart$byval_copy+12>>2]=HEAP32[312+12>>2]|0;HEAP32[$fxStart$byval_copy+16>>2]=HEAP32[312+16>>2]|0; + ;HEAP32[$fxStart$byval_copy>>2]=HEAP32[25076>>2]|0;HEAP32[$fxStart$byval_copy+4>>2]=HEAP32[25076+4>>2]|0;HEAP32[$fxStart$byval_copy+8>>2]=HEAP32[25076+8>>2]|0;HEAP32[$fxStart$byval_copy+12>>2]=HEAP32[25076+12>>2]|0;HEAP32[$fxStart$byval_copy+16>>2]=HEAP32[25076+16>>2]|0; _UnloadTexture($fxStart$byval_copy); - ;HEAP32[$fxStart$byval_copy>>2]=HEAP32[16>>2]|0;HEAP32[$fxStart$byval_copy+4>>2]=HEAP32[16+4>>2]|0; + ;HEAP32[$fxStart$byval_copy>>2]=HEAP32[25096>>2]|0;HEAP32[$fxStart$byval_copy+4>>2]=HEAP32[25096+4>>2]|0;HEAP32[$fxStart$byval_copy+8>>2]=HEAP32[25096+8>>2]|0; _UnloadSound($fxStart$byval_copy); STACKTOP = sp;return; } function _FinishTitleScreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[288>>2]|0; + $0 = HEAP32[6263]|0; return ($0|0); } function _InitGameplayScreen() { - var $$byval_copy4 = 0, $$byval_copy5 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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.0, $152 = 0, $153 = 0, $154 = 0.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, $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.0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.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.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.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.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond83 = 0, $exitcond84 = 0; - var $i$067 = 0, $i1$066 = 0, $i2$065 = 0, $kI$078 = 0, $kI$1$lcssa = 0, $kI$171 = 0, $kI$2 = 0, $kII$077 = 0, $kII$1$lcssa = 0, $kII$170 = 0, $kII$2 = 0, $kIII$076 = 0, $kIII$1$lcssa = 0, $kIII$169 = 0, $kIII$2 = 0, $x$068 = 0, $y$074 = 0, dest = 0, label = 0, sp = 0; - var src = 0, stop = 0; + var $$0137175 = 0, $$0138174 = 0, $$0141173 = 0, $$0144171 = 0, $$0145165 = 0, $$0146164 = 0, $$0147163 = 0, $$0148162 = 0, $$1$lcssa = 0, $$1139$lcssa = 0, $$1139167 = 0, $$1142$lcssa = 0, $$1142166 = 0, $$1168 = 0, $$2 = 0, $$2140 = 0, $$2143 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sroa$024$0$$sroa_idx = 0; + var $$sroa$046$0$$sroa_idx = 0, $$sroa$068$0$$sroa_idx = 0, $$sroa$225$0$$sroa_idx = 0, $$sroa$247$0$$sroa_idx = 0, $$sroa$269$0$$sroa_idx = 0, $$sroa$3$0$$sroa_idx22 = 0, $$sroa$326$0$$sroa_idx = 0, $$sroa$342$0$$sroa_idx43 = 0, $$sroa$348$0$$sroa_idx = 0, $$sroa$364$0$$sroa_idx65 = 0, $$sroa$370$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx23 = 0, $$sroa$427$0$$sroa_idx = 0, $$sroa$444$0$$sroa_idx45 = 0, $$sroa$449$0$$sroa_idx = 0, $$sroa$466$0$$sroa_idx67 = 0, $$sroa$471$0$$sroa_idx = 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.0, $112 = 0, $113 = 0, $114 = 0.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, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.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.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.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.0, $6 = 0, $60 = 0.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.0, $72 = 0.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.0, $87 = 0.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, $exitcond180 = 0, $exitcond181 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 528|0; - $$byval_copy5 = sp + 512|0; - $$byval_copy4 = sp + 508|0; - $0 = sp + 476|0; - $1 = sp + 456|0; - $2 = sp + 436|0; - $3 = sp + 416|0; - $4 = sp + 396|0; - $5 = sp + 376|0; - $6 = sp + 356|0; - $7 = sp + 336|0; - $8 = sp + 316|0; - $9 = sp + 296|0; - $10 = sp + 276|0; - $11 = sp + 256|0; - $12 = sp + 236|0; - $13 = sp + 216|0; - $14 = sp + 196|0; - $15 = sp + 176|0; - $16 = sp + 156|0; - $17 = sp + 136|0; - $18 = sp + 76|0; - $19 = sp + 16|0; - $20 = sp + 8|0; - $21 = sp; - $22 = sp + 504|0; - $23 = sp + 500|0; - $24 = sp + 496|0; - HEAP32[336>>2] = 0; - HEAP32[340>>2] = 0; - HEAP32[344>>2] = 0; - _LoadTexture($0,12349); - ;HEAP32[348>>2]=HEAP32[$0>>2]|0;HEAP32[348+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[348+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[348+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[348+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTexture($1,12383); - ;HEAP32[368>>2]=HEAP32[$1>>2]|0;HEAP32[368+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[368+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[368+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[368+16>>2]=HEAP32[$1+16>>2]|0; - _LoadTexture($2,12425); - ;HEAP32[388>>2]=HEAP32[$2>>2]|0;HEAP32[388+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[388+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[388+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[388+16>>2]=HEAP32[$2+16>>2]|0; - _LoadTexture($3,12468); - ;HEAP32[408>>2]=HEAP32[$3>>2]|0;HEAP32[408+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[408+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[408+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[408+16>>2]=HEAP32[$3+16>>2]|0; - _LoadTexture($4,12512); - ;HEAP32[428>>2]=HEAP32[$4>>2]|0;HEAP32[428+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[428+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[428+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[428+16>>2]=HEAP32[$4+16>>2]|0; - _LoadTexture($5,12542); - ;HEAP32[448>>2]=HEAP32[$5>>2]|0;HEAP32[448+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[448+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[448+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[448+16>>2]=HEAP32[$5+16>>2]|0; - _LoadTexture($6,12571); - ;HEAP32[468>>2]=HEAP32[$6>>2]|0;HEAP32[468+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[468+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[468+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[468+16>>2]=HEAP32[$6+16>>2]|0; - _LoadTexture($7,12600); - ;HEAP32[488>>2]=HEAP32[$7>>2]|0;HEAP32[488+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[488+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[488+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[488+16>>2]=HEAP32[$7+16>>2]|0; - _LoadTexture($8,12634); - ;HEAP32[508>>2]=HEAP32[$8>>2]|0;HEAP32[508+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[508+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[508+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[508+16>>2]=HEAP32[$8+16>>2]|0; - _LoadTexture($9,12667); - ;HEAP32[528>>2]=HEAP32[$9>>2]|0;HEAP32[528+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[528+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[528+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[528+16>>2]=HEAP32[$9+16>>2]|0; - _LoadTexture($10,12695); - ;HEAP32[548>>2]=HEAP32[$10>>2]|0;HEAP32[548+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[548+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[548+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[548+16>>2]=HEAP32[$10+16>>2]|0; - _LoadTexture($11,12729); - ;HEAP32[568>>2]=HEAP32[$11>>2]|0;HEAP32[568+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[568+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[568+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[568+16>>2]=HEAP32[$11+16>>2]|0; - _LoadTexture($12,12762); - ;HEAP32[588>>2]=HEAP32[$12>>2]|0;HEAP32[588+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[588+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[588+12>>2]=HEAP32[$12+12>>2]|0;HEAP32[588+16>>2]=HEAP32[$12+16>>2]|0; - _LoadTexture($13,12804); - ;HEAP32[608>>2]=HEAP32[$13>>2]|0;HEAP32[608+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[608+8>>2]=HEAP32[$13+8>>2]|0;HEAP32[608+12>>2]=HEAP32[$13+12>>2]|0;HEAP32[608+16>>2]=HEAP32[$13+16>>2]|0; - _LoadTexture($14,12847); - ;HEAP32[628>>2]=HEAP32[$14>>2]|0;HEAP32[628+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[628+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[628+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[628+16>>2]=HEAP32[$14+16>>2]|0; - _LoadTexture($15,12891); - ;HEAP32[648>>2]=HEAP32[$15>>2]|0;HEAP32[648+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[648+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[648+12>>2]=HEAP32[$15+12>>2]|0;HEAP32[648+16>>2]=HEAP32[$15+16>>2]|0; - _LoadTexture($16,12932); - ;HEAP32[668>>2]=HEAP32[$16>>2]|0;HEAP32[668+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[668+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[668+12>>2]=HEAP32[$16+12>>2]|0;HEAP32[668+16>>2]=HEAP32[$16+16>>2]|0; - _LoadTexture($17,12974); - ;HEAP32[688>>2]=HEAP32[$17>>2]|0;HEAP32[688+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[688+8>>2]=HEAP32[$17+8>>2]|0;HEAP32[688+12>>2]=HEAP32[$17+12>>2]|0;HEAP32[688+16>>2]=HEAP32[$17+16>>2]|0; - _LoadShader($18,13017,13043); - dest=708; src=$18; stop=dest+60|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadShader($19,13017,13074); - dest=708; src=$19; stop=dest+60|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadSound($20,13101); - $25 = $20; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 24; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - _LoadSound($21,13130); - $35 = $21; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = 32; - $42 = $41; - HEAP32[$42>>2] = $37; - $43 = (($41) + 4)|0; - $44 = $43; - HEAP32[$44>>2] = $40; - $45 = (_GetScreenWidth()|0); - $46 = (($45|0) / 2)&-1; - $47 = (+($46|0)); - $48 = (_GetScreenHeight()|0); - $49 = (($48|0) / 2)&-1; - $50 = (($49) + -40)|0; - $51 = (+($50|0)); - HEAPF32[768>>2] = $47; - HEAPF32[(772)>>2] = $51; - HEAP32[(784)>>2] = 20; - HEAPF32[(776)>>2] = 5.0; - HEAPF32[(780)>>2] = 5.0; - HEAP32[(788)>>2] = -1; - $52 = HEAP32[188>>2]|0; - $53 = ($52|0)>(0); - if ($53) { - $54 = ((($22)) + 1|0); - $55 = ((($22)) + 2|0); - $56 = ((($22)) + 3|0); - $57 = ((($23)) + 1|0); - $58 = ((($23)) + 2|0); - $59 = ((($23)) + 3|0); - $60 = ((($24)) + 1|0); - $61 = ((($24)) + 2|0); - $62 = ((($24)) + 3|0); - $kI$078 = 0;$kII$077 = 0;$kIII$076 = 0;$y$074 = 0; + STACKTOP = STACKTOP + 416|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(416|0); + $$byval_copy5 = sp + 400|0; + $$byval_copy4 = sp + 396|0; + $0 = sp + 364|0; + $1 = sp + 344|0; + $2 = sp + 324|0; + $3 = sp + 304|0; + $4 = sp + 284|0; + $5 = sp + 264|0; + $6 = sp + 244|0; + $7 = sp + 224|0; + $8 = sp + 204|0; + $9 = sp + 184|0; + $10 = sp + 164|0; + $11 = sp + 144|0; + $12 = sp + 124|0; + $13 = sp + 104|0; + $14 = sp + 84|0; + $15 = sp + 64|0; + $16 = sp + 44|0; + $17 = sp + 24|0; + $18 = sp + 12|0; + $19 = sp; + $20 = sp + 392|0; + $21 = sp + 388|0; + $22 = sp + 384|0; + HEAP32[6278] = 0; + HEAP32[6279] = 0; + HEAP32[6280] = 0; + _LoadTexture($0,5979); + ;HEAP32[25124>>2]=HEAP32[$0>>2]|0;HEAP32[25124+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[25124+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[25124+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[25124+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTexture($1,6013); + ;HEAP32[25144>>2]=HEAP32[$1>>2]|0;HEAP32[25144+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[25144+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[25144+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[25144+16>>2]=HEAP32[$1+16>>2]|0; + _LoadTexture($2,6055); + ;HEAP32[25164>>2]=HEAP32[$2>>2]|0;HEAP32[25164+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[25164+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[25164+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[25164+16>>2]=HEAP32[$2+16>>2]|0; + _LoadTexture($3,6098); + ;HEAP32[25184>>2]=HEAP32[$3>>2]|0;HEAP32[25184+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[25184+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[25184+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[25184+16>>2]=HEAP32[$3+16>>2]|0; + _LoadTexture($4,6142); + ;HEAP32[25204>>2]=HEAP32[$4>>2]|0;HEAP32[25204+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[25204+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[25204+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[25204+16>>2]=HEAP32[$4+16>>2]|0; + _LoadTexture($5,6172); + ;HEAP32[25224>>2]=HEAP32[$5>>2]|0;HEAP32[25224+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[25224+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[25224+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[25224+16>>2]=HEAP32[$5+16>>2]|0; + _LoadTexture($6,6201); + ;HEAP32[25244>>2]=HEAP32[$6>>2]|0;HEAP32[25244+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[25244+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[25244+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[25244+16>>2]=HEAP32[$6+16>>2]|0; + _LoadTexture($7,6230); + ;HEAP32[25264>>2]=HEAP32[$7>>2]|0;HEAP32[25264+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[25264+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[25264+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[25264+16>>2]=HEAP32[$7+16>>2]|0; + _LoadTexture($8,6264); + ;HEAP32[25284>>2]=HEAP32[$8>>2]|0;HEAP32[25284+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[25284+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[25284+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[25284+16>>2]=HEAP32[$8+16>>2]|0; + _LoadTexture($9,6297); + ;HEAP32[25304>>2]=HEAP32[$9>>2]|0;HEAP32[25304+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[25304+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[25304+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[25304+16>>2]=HEAP32[$9+16>>2]|0; + _LoadTexture($10,6325); + ;HEAP32[25324>>2]=HEAP32[$10>>2]|0;HEAP32[25324+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[25324+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[25324+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[25324+16>>2]=HEAP32[$10+16>>2]|0; + _LoadTexture($11,6359); + ;HEAP32[25344>>2]=HEAP32[$11>>2]|0;HEAP32[25344+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[25344+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[25344+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[25344+16>>2]=HEAP32[$11+16>>2]|0; + _LoadTexture($12,6392); + ;HEAP32[25364>>2]=HEAP32[$12>>2]|0;HEAP32[25364+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[25364+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[25364+12>>2]=HEAP32[$12+12>>2]|0;HEAP32[25364+16>>2]=HEAP32[$12+16>>2]|0; + _LoadTexture($13,6434); + ;HEAP32[25384>>2]=HEAP32[$13>>2]|0;HEAP32[25384+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[25384+8>>2]=HEAP32[$13+8>>2]|0;HEAP32[25384+12>>2]=HEAP32[$13+12>>2]|0;HEAP32[25384+16>>2]=HEAP32[$13+16>>2]|0; + _LoadTexture($14,6477); + ;HEAP32[25404>>2]=HEAP32[$14>>2]|0;HEAP32[25404+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[25404+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[25404+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[25404+16>>2]=HEAP32[$14+16>>2]|0; + _LoadTexture($15,6521); + ;HEAP32[25424>>2]=HEAP32[$15>>2]|0;HEAP32[25424+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[25424+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[25424+12>>2]=HEAP32[$15+12>>2]|0;HEAP32[25424+16>>2]=HEAP32[$15+16>>2]|0; + _LoadTexture($16,6562); + ;HEAP32[25444>>2]=HEAP32[$16>>2]|0;HEAP32[25444+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[25444+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[25444+12>>2]=HEAP32[$16+12>>2]|0;HEAP32[25444+16>>2]=HEAP32[$16+16>>2]|0; + _LoadTexture($17,6604); + ;HEAP32[25464>>2]=HEAP32[$17>>2]|0;HEAP32[25464+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[25464+8>>2]=HEAP32[$17+8>>2]|0;HEAP32[25464+12>>2]=HEAP32[$17+12>>2]|0;HEAP32[25464+16>>2]=HEAP32[$17+16>>2]|0; + _LoadSound($18,6647); + ;HEAP32[25484>>2]=HEAP32[$18>>2]|0;HEAP32[25484+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[25484+8>>2]=HEAP32[$18+8>>2]|0; + _LoadSound($19,6676); + ;HEAP32[25496>>2]=HEAP32[$19>>2]|0;HEAP32[25496+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[25496+8>>2]=HEAP32[$19+8>>2]|0; + $23 = (_GetScreenWidth()|0); + $24 = (($23|0) / 2)&-1; + $25 = (+($24|0)); + $26 = (_GetScreenHeight()|0); + $27 = (($26|0) / 2)&-1; + $28 = (($27) + -40)|0; + $29 = (+($28|0)); + HEAPF32[6377] = $25; + HEAPF32[(25512)>>2] = $29; + HEAP32[(25524)>>2] = 20; + HEAPF32[(25516)>>2] = 5.0; + HEAPF32[(25520)>>2] = 5.0; + HEAP32[(25528)>>2] = -1; + $30 = HEAP32[6241]|0; + $31 = ($30|0)>(0); + if ($31) { + $32 = ((($20)) + 1|0); + $33 = ((($20)) + 2|0); + $34 = ((($20)) + 3|0); + $35 = ((($21)) + 1|0); + $36 = ((($21)) + 2|0); + $37 = ((($21)) + 3|0); + $38 = ((($22)) + 1|0); + $39 = ((($22)) + 2|0); + $40 = ((($22)) + 3|0); + $$0137175 = 0;$$0138174 = 0;$$0141173 = 0;$$0144171 = 0; while(1) { - $63 = HEAP32[184>>2]|0; - $64 = ($63|0)>(0); - if ($64) { - $65 = (+($y$074|0)); - $66 = $65 * 10.0; - $67 = (+($y$074|0)); - $68 = $67 * 10.0; - $69 = (+($y$074|0)); - $70 = $69 * 10.0; - $72 = $63;$kI$171 = $kI$078;$kII$170 = $kII$077;$kIII$169 = $kIII$076;$x$068 = 0; + $41 = HEAP32[6240]|0; + $42 = ($41|0)>(0); + if ($42) { + $43 = (+($$0144171|0)); + $44 = $43 * 10.0; + $45 = (+($$0144171|0)); + $46 = $45 * 10.0; + $47 = (+($$0144171|0)); + $48 = $47 * 10.0; + $$0145165 = 0;$$1139167 = $$0138174;$$1142166 = $$0141173;$$1168 = $$0137175;$54 = $41; while(1) { - $71 = Math_imul($72, $y$074)|0; - $73 = (($71) + ($x$068))|0; - $74 = HEAP32[180>>2]|0; - $75 = (($74) + ($73<<2)|0); - HEAP8[$22>>0] = -1; - HEAP8[$54>>0] = 0; - HEAP8[$55>>0] = 0; - HEAP8[$56>>0] = -1; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$75>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$75+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$75+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$75+3>>0]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$22+3>>0]|0; - $76 = (_ColorEqual($$byval_copy4,$$byval_copy5)|0); - $77 = ($76|0)==(0); + $52 = HEAP32[6239]|0; + $53 = Math_imul($54, $$0144171)|0; + $55 = (($53) + ($$0145165))|0; + $56 = (($52) + ($55<<2)|0); + HEAP8[$20>>0] = -1; + HEAP8[$32>>0] = 0; + HEAP8[$33>>0] = 0; + HEAP8[$34>>0] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$56>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$56+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$56+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$56+3>>0]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$20+3>>0]|0; + $57 = (_ColorEqual($$byval_copy4,$$byval_copy5)|0); + $58 = ($57|0)==(0); do { - if ($77) { - $83 = HEAP32[184>>2]|0; - $84 = Math_imul($83, $y$074)|0; - $85 = (($84) + ($x$068))|0; - $86 = HEAP32[180>>2]|0; - $87 = (($86) + ($85<<2)|0); - HEAP8[$23>>0] = 0; - HEAP8[$57>>0] = -1; - HEAP8[$58>>0] = 0; - HEAP8[$59>>0] = -1; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$87>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$87+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$87+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$87+3>>0]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$23+3>>0]|0; - $88 = (_ColorEqual($$byval_copy4,$$byval_copy5)|0); - $89 = ($88|0)==(0); - if (!($89)) { - $90 = (+($x$068|0)); - $91 = $90 * 10.0; - $92 = (1180 + (($kII$170*48)|0)|0); - HEAPF32[$92>>2] = $91; - $93 = (((1180 + (($kII$170*48)|0)|0)) + 4|0); - HEAPF32[$93>>2] = $68; - $94 = (($kII$170) + 1)|0; - $kI$2 = $kI$171;$kII$2 = $94;$kIII$2 = $kIII$169; + if ($58) { + $64 = HEAP32[6239]|0; + $65 = HEAP32[6240]|0; + $66 = Math_imul($65, $$0144171)|0; + $67 = (($66) + ($$0145165))|0; + $68 = (($64) + ($67<<2)|0); + HEAP8[$21>>0] = 0; + HEAP8[$35>>0] = -1; + HEAP8[$36>>0] = 0; + HEAP8[$37>>0] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$68>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$68+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$68+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$68+3>>0]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$21+3>>0]|0; + $69 = (_ColorEqual($$byval_copy4,$$byval_copy5)|0); + $70 = ($69|0)==(0); + if (!($70)) { + $71 = (+($$0145165|0)); + $72 = $71 * 10.0; + $73 = (25920 + (($$1139167*48)|0)|0); + HEAPF32[$73>>2] = $72; + $74 = (((25920 + (($$1139167*48)|0)|0)) + 4|0); + HEAPF32[$74>>2] = $46; + $75 = (($$1139167) + 1)|0; + $$2 = $$1168;$$2140 = $75;$$2143 = $$1142166; break; } - $95 = HEAP32[184>>2]|0; - $96 = Math_imul($95, $y$074)|0; - $97 = (($96) + ($x$068))|0; - $98 = HEAP32[180>>2]|0; - $99 = (($98) + ($97<<2)|0); - HEAP8[$24>>0] = 0; - HEAP8[$60>>0] = 0; - HEAP8[$61>>0] = -1; - HEAP8[$62>>0] = -1; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$99>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$99+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$99+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$99+3>>0]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$24>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$24+3>>0]|0; - $100 = (_ColorEqual($$byval_copy4,$$byval_copy5)|0); - $101 = ($100|0)==(0); - if ($101) { - $kI$2 = $kI$171;$kII$2 = $kII$170;$kIII$2 = $kIII$169; + $76 = HEAP32[6239]|0; + $77 = HEAP32[6240]|0; + $78 = Math_imul($77, $$0144171)|0; + $79 = (($78) + ($$0145165))|0; + $80 = (($76) + ($79<<2)|0); + HEAP8[$22>>0] = 0; + HEAP8[$38>>0] = 0; + HEAP8[$39>>0] = -1; + HEAP8[$40>>0] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$80>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$80+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$80+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$80+3>>0]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$22+3>>0]|0; + $81 = (_ColorEqual($$byval_copy4,$$byval_copy5)|0); + $82 = ($81|0)==(0); + if ($82) { + $$2 = $$1168;$$2140 = $$1139167;$$2143 = $$1142166; } else { - $102 = (+($x$068|0)); - $103 = $102 * 10.0; - $104 = (1756 + (($kIII$169*48)|0)|0); - HEAPF32[$104>>2] = $103; - $105 = (((1756 + (($kIII$169*48)|0)|0)) + 4|0); - HEAPF32[$105>>2] = $66; - $106 = (($kIII$169) + 1)|0; - $kI$2 = $kI$171;$kII$2 = $kII$170;$kIII$2 = $106; + $83 = (($$1142166) + 1)|0; + $84 = (((26496 + (($$1142166*48)|0)|0)) + 4|0); + $85 = (26496 + (($$1142166*48)|0)|0); + $86 = (+($$0145165|0)); + $87 = $86 * 10.0; + HEAPF32[$85>>2] = $87; + HEAPF32[$84>>2] = $44; + $$2 = $$1168;$$2140 = $$1139167;$$2143 = $83; } } else { - $78 = (+($x$068|0)); - $79 = $78 * 10.0; - $80 = (796 + (($kI$171*48)|0)|0); - HEAPF32[$80>>2] = $79; - $81 = (((796 + (($kI$171*48)|0)|0)) + 4|0); - HEAPF32[$81>>2] = $70; - $82 = (($kI$171) + 1)|0; - $kI$2 = $82;$kII$2 = $kII$170;$kIII$2 = $kIII$169; + $59 = (+($$0145165|0)); + $60 = $59 * 10.0; + $61 = (25536 + (($$1168*48)|0)|0); + HEAPF32[$61>>2] = $60; + $62 = (((25536 + (($$1168*48)|0)|0)) + 4|0); + HEAPF32[$62>>2] = $48; + $63 = (($$1168) + 1)|0; + $$2 = $63;$$2140 = $$1139167;$$2143 = $$1142166; } } while(0); - $107 = (($x$068) + 1)|0; - $108 = HEAP32[184>>2]|0; - $109 = ($107|0)<($108|0); - if ($109) { - $72 = $108;$kI$171 = $kI$2;$kII$170 = $kII$2;$kIII$169 = $kIII$2;$x$068 = $107; + $88 = (($$0145165) + 1)|0; + $89 = HEAP32[6240]|0; + $90 = ($88|0)<($89|0); + if ($90) { + $$0145165 = $88;$$1139167 = $$2140;$$1142166 = $$2143;$$1168 = $$2;$54 = $89; } else { - $kI$1$lcssa = $kI$2;$kII$1$lcssa = $kII$2;$kIII$1$lcssa = $kIII$2; + $$1$lcssa = $$2;$$1139$lcssa = $$2140;$$1142$lcssa = $$2143; break; } } } else { - $kI$1$lcssa = $kI$078;$kII$1$lcssa = $kII$077;$kIII$1$lcssa = $kIII$076; + $$1$lcssa = $$0137175;$$1139$lcssa = $$0138174;$$1142$lcssa = $$0141173; } - $110 = (($y$074) + 1)|0; - $111 = HEAP32[188>>2]|0; - $112 = ($110|0)<($111|0); - if ($112) { - $kI$078 = $kI$1$lcssa;$kII$077 = $kII$1$lcssa;$kIII$076 = $kIII$1$lcssa;$y$074 = $110; + $49 = (($$0144171) + 1)|0; + $50 = HEAP32[6241]|0; + $51 = ($49|0)<($50|0); + if ($51) { + $$0137175 = $$1$lcssa;$$0138174 = $$1139$lcssa;$$0141173 = $$1142$lcssa;$$0144171 = $49; } else { - $i$067 = 0; + $$0146164 = 0; break; } } } else { - $i$067 = 0; + $$0146164 = 0; } while(1) { - $113 = (((796 + (($i$067*48)|0)|0)) + 8|0); - HEAP32[$113>>2] = 12; - $114 = (_GetRandomValue(3,9)|0); - $115 = (((796 + (($i$067*48)|0)|0)) + 12|0); - HEAP32[$115>>2] = $114; - $116 = (((796 + (($i$067*48)|0)|0)) + 16|0); - HEAP32[$116>>2] = 0; - $117 = (((796 + (($i$067*48)|0)|0)) + 20|0); - HEAP8[$117>>0] = -1; - $118 = (((796 + (($i$067*48)|0)|0)) + 21|0); - HEAP8[$118>>0] = -53; - $119 = (((796 + (($i$067*48)|0)|0)) + 22|0); - HEAP8[$119>>0] = 0; - $120 = (((796 + (($i$067*48)|0)|0)) + 23|0); - HEAP8[$120>>0] = -1; - $121 = (((796 + (($i$067*48)|0)|0)) + 24|0); - $122 = (((796 + (($i$067*48)|0)|0)) + 40|0); - ;HEAP32[$121>>2]=0|0;HEAP32[$121+4>>2]=0|0;HEAP32[$121+8>>2]=0|0;HEAP32[$121+12>>2]=0|0; - HEAP32[$122>>2] = 64; - $123 = (((796 + (($i$067*48)|0)|0)) + 44|0); - HEAP32[$123>>2] = 64; - $124 = (($i$067) + 1)|0; - $exitcond84 = ($124|0)==(8); - if ($exitcond84) { - $i1$066 = 0; + $91 = (((25536 + (($$0146164*48)|0)|0)) + 8|0); + HEAP32[$91>>2] = 12; + $92 = (_GetRandomValue(3,9)|0); + $93 = (((25536 + (($$0146164*48)|0)|0)) + 12|0); + HEAP32[$93>>2] = $92; + $94 = (((25536 + (($$0146164*48)|0)|0)) + 16|0); + HEAP32[$94>>2] = 0; + $$sroa$068$0$$sroa_idx = (((25536 + (($$0146164*48)|0)|0)) + 20|0); + HEAP8[$$sroa$068$0$$sroa_idx>>0] = -1; + $$sroa$269$0$$sroa_idx = (((25536 + (($$0146164*48)|0)|0)) + 21|0); + HEAP8[$$sroa$269$0$$sroa_idx>>0] = -53; + $$sroa$370$0$$sroa_idx = (((25536 + (($$0146164*48)|0)|0)) + 22|0); + HEAP8[$$sroa$370$0$$sroa_idx>>0] = 0; + $$sroa$471$0$$sroa_idx = (((25536 + (($$0146164*48)|0)|0)) + 23|0); + HEAP8[$$sroa$471$0$$sroa_idx>>0] = -1; + $95 = (((25536 + (($$0146164*48)|0)|0)) + 24|0); + $$sroa$364$0$$sroa_idx65 = (((25536 + (($$0146164*48)|0)|0)) + 40|0); + ;HEAP32[$95>>2]=0|0;HEAP32[$95+4>>2]=0|0;HEAP32[$95+8>>2]=0|0;HEAP32[$95+12>>2]=0|0; + HEAP32[$$sroa$364$0$$sroa_idx65>>2] = 64; + $$sroa$466$0$$sroa_idx67 = (((25536 + (($$0146164*48)|0)|0)) + 44|0); + HEAP32[$$sroa$466$0$$sroa_idx67>>2] = 64; + $96 = (($$0146164) + 1)|0; + $exitcond181 = ($96|0)==(8); + if ($exitcond181) { + $$0147163 = 0; break; } else { - $i$067 = $124; + $$0146164 = $96; } } while(1) { - $125 = (((1180 + (($i1$066*48)|0)|0)) + 8|0); - HEAP32[$125>>2] = 8; - $126 = (_GetRandomValue(3,8)|0); - $127 = (((1180 + (($i1$066*48)|0)|0)) + 12|0); - HEAP32[$127>>2] = $126; - $128 = (((1180 + (($i1$066*48)|0)|0)) + 16|0); - HEAP32[$128>>2] = 0; - $129 = (((1180 + (($i1$066*48)|0)|0)) + 20|0); - HEAP8[$129>>0] = -1; - $130 = (((1180 + (($i1$066*48)|0)|0)) + 21|0); - HEAP8[$130>>0] = -53; - $131 = (((1180 + (($i1$066*48)|0)|0)) + 22|0); - HEAP8[$131>>0] = 0; - $132 = (((1180 + (($i1$066*48)|0)|0)) + 23|0); - HEAP8[$132>>0] = -1; - $133 = (((1180 + (($i1$066*48)|0)|0)) + 24|0); - $134 = (((1180 + (($i1$066*48)|0)|0)) + 40|0); - ;HEAP32[$133>>2]=0|0;HEAP32[$133+4>>2]=0|0;HEAP32[$133+8>>2]=0|0;HEAP32[$133+12>>2]=0|0; - HEAP32[$134>>2] = 64; - $135 = (((1180 + (($i1$066*48)|0)|0)) + 44|0); - HEAP32[$135>>2] = 64; - $136 = (($i1$066) + 1)|0; - $exitcond83 = ($136|0)==(12); - if ($exitcond83) { - $i2$065 = 0; + $97 = (((25920 + (($$0147163*48)|0)|0)) + 8|0); + HEAP32[$97>>2] = 8; + $98 = (_GetRandomValue(3,8)|0); + $99 = (((25920 + (($$0147163*48)|0)|0)) + 12|0); + HEAP32[$99>>2] = $98; + $100 = (((25920 + (($$0147163*48)|0)|0)) + 16|0); + HEAP32[$100>>2] = 0; + $$sroa$046$0$$sroa_idx = (((25920 + (($$0147163*48)|0)|0)) + 20|0); + HEAP8[$$sroa$046$0$$sroa_idx>>0] = -1; + $$sroa$247$0$$sroa_idx = (((25920 + (($$0147163*48)|0)|0)) + 21|0); + HEAP8[$$sroa$247$0$$sroa_idx>>0] = -53; + $$sroa$348$0$$sroa_idx = (((25920 + (($$0147163*48)|0)|0)) + 22|0); + HEAP8[$$sroa$348$0$$sroa_idx>>0] = 0; + $$sroa$449$0$$sroa_idx = (((25920 + (($$0147163*48)|0)|0)) + 23|0); + HEAP8[$$sroa$449$0$$sroa_idx>>0] = -1; + $101 = (((25920 + (($$0147163*48)|0)|0)) + 24|0); + $$sroa$342$0$$sroa_idx43 = (((25920 + (($$0147163*48)|0)|0)) + 40|0); + ;HEAP32[$101>>2]=0|0;HEAP32[$101+4>>2]=0|0;HEAP32[$101+8>>2]=0|0;HEAP32[$101+12>>2]=0|0; + HEAP32[$$sroa$342$0$$sroa_idx43>>2] = 64; + $$sroa$444$0$$sroa_idx45 = (((25920 + (($$0147163*48)|0)|0)) + 44|0); + HEAP32[$$sroa$444$0$$sroa_idx45>>2] = 64; + $102 = (($$0147163) + 1)|0; + $exitcond180 = ($102|0)==(12); + if ($exitcond180) { + $$0148162 = 0; break; } else { - $i1$066 = $136; + $$0147163 = $102; } } while(1) { - $137 = (((1756 + (($i2$065*48)|0)|0)) + 8|0); - HEAP32[$137>>2] = 8; - $138 = (_GetRandomValue(4,10)|0); - $139 = (((1756 + (($i2$065*48)|0)|0)) + 12|0); - HEAP32[$139>>2] = $138; - $140 = (((1756 + (($i2$065*48)|0)|0)) + 16|0); - HEAP32[$140>>2] = 0; - $141 = (((1756 + (($i2$065*48)|0)|0)) + 20|0); - HEAP8[$141>>0] = -1; - $142 = (((1756 + (($i2$065*48)|0)|0)) + 21|0); - HEAP8[$142>>0] = -53; - $143 = (((1756 + (($i2$065*48)|0)|0)) + 22|0); - HEAP8[$143>>0] = 0; - $144 = (((1756 + (($i2$065*48)|0)|0)) + 23|0); - HEAP8[$144>>0] = -1; - $145 = (((1756 + (($i2$065*48)|0)|0)) + 24|0); - $146 = (((1756 + (($i2$065*48)|0)|0)) + 40|0); - ;HEAP32[$145>>2]=0|0;HEAP32[$145+4>>2]=0|0;HEAP32[$145+8>>2]=0|0;HEAP32[$145+12>>2]=0|0; - HEAP32[$146>>2] = 64; - $147 = (((1756 + (($i2$065*48)|0)|0)) + 44|0); - HEAP32[$147>>2] = 64; - $148 = (($i2$065) + 1)|0; - $exitcond = ($148|0)==(20); + $103 = (((26496 + (($$0148162*48)|0)|0)) + 8|0); + HEAP32[$103>>2] = 8; + $104 = (_GetRandomValue(4,10)|0); + $105 = (((26496 + (($$0148162*48)|0)|0)) + 12|0); + HEAP32[$105>>2] = $104; + $106 = (((26496 + (($$0148162*48)|0)|0)) + 16|0); + HEAP32[$106>>2] = 0; + $$sroa$024$0$$sroa_idx = (((26496 + (($$0148162*48)|0)|0)) + 20|0); + HEAP8[$$sroa$024$0$$sroa_idx>>0] = -1; + $$sroa$225$0$$sroa_idx = (((26496 + (($$0148162*48)|0)|0)) + 21|0); + HEAP8[$$sroa$225$0$$sroa_idx>>0] = -53; + $$sroa$326$0$$sroa_idx = (((26496 + (($$0148162*48)|0)|0)) + 22|0); + HEAP8[$$sroa$326$0$$sroa_idx>>0] = 0; + $$sroa$427$0$$sroa_idx = (((26496 + (($$0148162*48)|0)|0)) + 23|0); + HEAP8[$$sroa$427$0$$sroa_idx>>0] = -1; + $107 = (((26496 + (($$0148162*48)|0)|0)) + 24|0); + $$sroa$3$0$$sroa_idx22 = (((26496 + (($$0148162*48)|0)|0)) + 40|0); + ;HEAP32[$107>>2]=0|0;HEAP32[$107+4>>2]=0|0;HEAP32[$107+8>>2]=0|0;HEAP32[$107+12>>2]=0|0; + HEAP32[$$sroa$3$0$$sroa_idx22>>2] = 64; + $$sroa$4$0$$sroa_idx23 = (((26496 + (($$0148162*48)|0)|0)) + 44|0); + HEAP32[$$sroa$4$0$$sroa_idx23>>2] = 64; + $108 = (($$0148162) + 1)|0; + $exitcond = ($108|0)==(20); if ($exitcond) { break; } else { - $i2$065 = $148; + $$0148162 = $108; } } - HEAP32[2716>>2] = 0; - $149 = (_GetScreenWidth()|0); - $150 = (($149|0) / 2)&-1; - $151 = (+($150|0)); - $152 = (_GetScreenHeight()|0); - $153 = (($152|0) / 2)&-1; - $154 = (+($153|0)); - HEAPF32[2720>>2] = $151; - HEAPF32[(2724)>>2] = $154; - _EnemyReset(2728); - _EnemyReset((2772)); - _EnemyReset((2816)); - _EnemyReset((2860)); - _EnemyReset((2904)); - _EnemyReset((2948)); - _EnemyReset((2992)); - _EnemyReset((3036)); - $155 = HEAP32[(808)>>2]|0; - $156 = HEAP32[(856)>>2]|0; + HEAP32[6864] = 0; + $109 = (_GetScreenWidth()|0); + $110 = (($109|0) / 2)&-1; + $111 = (+($110|0)); + $112 = (_GetScreenHeight()|0); + $113 = (($112|0) / 2)&-1; + $114 = (+($113|0)); + HEAPF32[6865] = $111; + HEAPF32[(27464)>>2] = $114; + _EnemyReset(27468); + _EnemyReset((27512)); + _EnemyReset((27556)); + _EnemyReset((27600)); + _EnemyReset((27644)); + _EnemyReset((27688)); + _EnemyReset((27732)); + _EnemyReset((27776)); + $115 = HEAP32[(25548)>>2]|0; + $116 = HEAP32[(25596)>>2]|0; + $117 = (($115) + ($116))|0; + $118 = HEAP32[(25644)>>2]|0; + $119 = (($117) + ($118))|0; + $120 = HEAP32[(25692)>>2]|0; + $121 = (($119) + ($120))|0; + $122 = HEAP32[(25740)>>2]|0; + $123 = (($121) + ($122))|0; + $124 = HEAP32[(25788)>>2]|0; + $125 = (($123) + ($124))|0; + $126 = HEAP32[(25836)>>2]|0; + $127 = (($125) + ($126))|0; + $128 = HEAP32[(25884)>>2]|0; + $129 = (($127) + ($128))|0; + $130 = HEAP32[(25932)>>2]|0; + $131 = (($129) + ($130))|0; + $132 = HEAP32[(25980)>>2]|0; + $133 = (($131) + ($132))|0; + $134 = HEAP32[(26028)>>2]|0; + $135 = (($133) + ($134))|0; + $136 = HEAP32[(26076)>>2]|0; + $137 = (($135) + ($136))|0; + $138 = HEAP32[(26124)>>2]|0; + $139 = (($137) + ($138))|0; + $140 = HEAP32[(26172)>>2]|0; + $141 = (($139) + ($140))|0; + $142 = HEAP32[(26220)>>2]|0; + $143 = (($141) + ($142))|0; + $144 = HEAP32[(26268)>>2]|0; + $145 = (($143) + ($144))|0; + $146 = HEAP32[(26316)>>2]|0; + $147 = (($145) + ($146))|0; + $148 = HEAP32[(26364)>>2]|0; + $149 = (($147) + ($148))|0; + $150 = HEAP32[(26412)>>2]|0; + $151 = (($149) + ($150))|0; + $152 = HEAP32[(26460)>>2]|0; + $153 = (($151) + ($152))|0; + $154 = HEAP32[(26508)>>2]|0; + $155 = (($153) + ($154))|0; + $156 = HEAP32[(26556)>>2]|0; $157 = (($155) + ($156))|0; - $158 = HEAP32[(904)>>2]|0; + $158 = HEAP32[(26604)>>2]|0; $159 = (($157) + ($158))|0; - $160 = HEAP32[(952)>>2]|0; + $160 = HEAP32[(26652)>>2]|0; $161 = (($159) + ($160))|0; - $162 = HEAP32[(1000)>>2]|0; + $162 = HEAP32[(26700)>>2]|0; $163 = (($161) + ($162))|0; - $164 = HEAP32[(1048)>>2]|0; + $164 = HEAP32[(26748)>>2]|0; $165 = (($163) + ($164))|0; - $166 = HEAP32[(1096)>>2]|0; + $166 = HEAP32[(26796)>>2]|0; $167 = (($165) + ($166))|0; - $168 = HEAP32[(1144)>>2]|0; + $168 = HEAP32[(26844)>>2]|0; $169 = (($167) + ($168))|0; - $170 = HEAP32[(1192)>>2]|0; + $170 = HEAP32[(26892)>>2]|0; $171 = (($169) + ($170))|0; - $172 = HEAP32[(1240)>>2]|0; + $172 = HEAP32[(26940)>>2]|0; $173 = (($171) + ($172))|0; - $174 = HEAP32[(1288)>>2]|0; + $174 = HEAP32[(26988)>>2]|0; $175 = (($173) + ($174))|0; - $176 = HEAP32[(1336)>>2]|0; + $176 = HEAP32[(27036)>>2]|0; $177 = (($175) + ($176))|0; - $178 = HEAP32[(1384)>>2]|0; + $178 = HEAP32[(27084)>>2]|0; $179 = (($177) + ($178))|0; - $180 = HEAP32[(1432)>>2]|0; + $180 = HEAP32[(27132)>>2]|0; $181 = (($179) + ($180))|0; - $182 = HEAP32[(1480)>>2]|0; + $182 = HEAP32[(27180)>>2]|0; $183 = (($181) + ($182))|0; - $184 = HEAP32[(1528)>>2]|0; + $184 = HEAP32[(27228)>>2]|0; $185 = (($183) + ($184))|0; - $186 = HEAP32[(1576)>>2]|0; + $186 = HEAP32[(27276)>>2]|0; $187 = (($185) + ($186))|0; - $188 = HEAP32[(1624)>>2]|0; + $188 = HEAP32[(27324)>>2]|0; $189 = (($187) + ($188))|0; - $190 = HEAP32[(1672)>>2]|0; + $190 = HEAP32[(27372)>>2]|0; $191 = (($189) + ($190))|0; - $192 = HEAP32[(1720)>>2]|0; + $192 = HEAP32[(27420)>>2]|0; $193 = (($191) + ($192))|0; - $194 = HEAP32[(1768)>>2]|0; - $195 = (($193) + ($194))|0; - $196 = HEAP32[(1816)>>2]|0; - $197 = (($195) + ($196))|0; - $198 = HEAP32[(1864)>>2]|0; - $199 = (($197) + ($198))|0; - $200 = HEAP32[(1912)>>2]|0; - $201 = (($199) + ($200))|0; - $202 = HEAP32[(1960)>>2]|0; - $203 = (($201) + ($202))|0; - $204 = HEAP32[(2008)>>2]|0; - $205 = (($203) + ($204))|0; - $206 = HEAP32[(2056)>>2]|0; - $207 = (($205) + ($206))|0; - $208 = HEAP32[(2104)>>2]|0; - $209 = (($207) + ($208))|0; - $210 = HEAP32[(2152)>>2]|0; - $211 = (($209) + ($210))|0; - $212 = HEAP32[(2200)>>2]|0; - $213 = (($211) + ($212))|0; - $214 = HEAP32[(2248)>>2]|0; - $215 = (($213) + ($214))|0; - $216 = HEAP32[(2296)>>2]|0; - $217 = (($215) + ($216))|0; - $218 = HEAP32[(2344)>>2]|0; - $219 = (($217) + ($218))|0; - $220 = HEAP32[(2392)>>2]|0; - $221 = (($219) + ($220))|0; - $222 = HEAP32[(2440)>>2]|0; - $223 = (($221) + ($222))|0; - $224 = HEAP32[(2488)>>2]|0; - $225 = (($223) + ($224))|0; - $226 = HEAP32[(2536)>>2]|0; - $227 = (($225) + ($226))|0; - $228 = HEAP32[(2584)>>2]|0; - $229 = (($227) + ($228))|0; - $230 = HEAP32[(2632)>>2]|0; - $231 = (($229) + ($230))|0; - $232 = HEAP32[(2680)>>2]|0; - $233 = (($231) + ($232))|0; - HEAP32[3080>>2] = $233; - HEAPF32[3084>>2] = 0.0; - HEAP32[3088>>2] = 0; - HEAPF32[3092>>2] = 0.0; - HEAP32[3096>>2] = 0; - $234 = (_GetRandomValue(500,1000)|0); - HEAP32[3100>>2] = $234; - HEAP32[3104>>2] = 0; - _PlayMusicStream(13160); + HEAP32[6955] = $193; + HEAPF32[6956] = 0.0; + HEAP32[6957] = 0; + HEAPF32[6958] = 0.0; + HEAP32[6959] = 0; + $194 = (_GetRandomValue(500,1000)|0); + HEAP32[6960] = $194; + HEAP32[6961] = 0; + $195 = (_LoadMusicStream(6706)|0); + HEAP32[6962] = $195; + _PlayMusicStream($195); STACKTOP = sp;return; } -function _UpdateGameplayScreen() { - var $$ = 0, $$23 = 0, $$24 = 0, $$byval_copy16 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.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.0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0.0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0.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.0, $183 = 0; - var $184 = 0.0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0.0, $191 = 0, $192 = 0.0, $193 = 0.0, $194 = 0, $195 = 0, $196 = 0, $197 = 0.0, $198 = 0, $199 = 0, $2 = 0, $20 = 0.0, $200 = 0; - var $201 = 0, $202 = 0.0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0.0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0.0, $219 = 0; - var $22 = 0.0, $220 = 0, $221 = 0, $222 = 0, $223 = 0.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; - var $238 = 0, $239 = 0.0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0.0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0.0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0.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.0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; - var $31 = 0.0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0.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.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.0, $406 = 0.0, $407 = 0.0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0.0, $412 = 0.0, $413 = 0.0, $414 = 0.0, $415 = 0, $416 = 0, $417 = 0; - var $418 = 0, $419 = 0, $42 = 0.0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0.0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; - var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0.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.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, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0.0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0; - var $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $dir = 0, $exitcond = 0, $exitcond65 = 0, $exitcond66 = 0, $exitcond67 = 0, $exitcond68 = 0, $exitcond69 = 0, $exitcond70 = 0, $exitcond71 = 0, $fxLightOff$byval_copy18 = 0, $i$056 = 0, $i1$057 = 0, $i2$058 = 0; - var $i3$055 = 0, $i4$054 = 0, $i5$053 = 0, $i6$051 = 0, $i9$048 = 0, $lightedLevel$2$ph = 0, $lightedLevel$4$ph = 0, $not$ = 0, $notrhs = 0, $phitmp74 = 0, $storemerge22 = 0, label = 0, sp = 0; +function _ColorEqual($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $fxLightOff$byval_copy18 = sp + 16|0; - $$byval_copy16 = sp; - $dir = sp + 8|0; - $0 = (_IsKeyPressed(80)|0); - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[344>>2]|0; - $3 = ($2|0)==(0); - $4 = $3&1; - HEAP32[344>>2] = $4; + $2 = HEAP8[$0>>0]|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($2<<24>>24)==($3<<24>>24); + if (!($4)) { + $21 = 0; + $20 = $21&1; + return ($20|0); } - $5 = HEAP32[344>>2]|0; - $6 = HEAP32[2716>>2]|0; - $notrhs = ($6|0)==(3); - $7 = HEAP32[3096>>2]|0; - $8 = $7 | $5; - $9 = ($8|0)!=(0); - $10 = $notrhs | $9; + $5 = ((($0)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($6<<24>>24)==($8<<24>>24); + if (!($9)) { + $21 = 0; + $20 = $21&1; + return ($20|0); + } + $10 = ((($0)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ((($1)) + 2|0); + $13 = HEAP8[$12>>0]|0; + $14 = ($11<<24>>24)==($13<<24>>24); + if (!($14)) { + $21 = 0; + $20 = $21&1; + return ($20|0); + } + $15 = ((($0)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = ((($1)) + 3|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($16<<24>>24)==($18<<24>>24); + $21 = $19; + $20 = $21&1; + return ($20|0); +} +function _EnemyReset($0) { + $0 = $0|0; + var $$sink = 0, $$sink34 = 0, $$sroa$08$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx3 = 0, $$sroa$29$0$$sroa_idx = 0, $$sroa$3$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.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.0, $34 = 0.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.0, $53 = 0.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.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 28|0); + HEAP32[$1>>2] = 0; + $2 = ((($0)) + 36|0); + HEAP32[$2>>2] = 0; + $$sroa$08$0$$sroa_idx = ((($0)) + 40|0); + HEAP8[$$sroa$08$0$$sroa_idx>>0] = -26; + $$sroa$29$0$$sroa_idx = ((($0)) + 41|0); + HEAP8[$$sroa$29$0$$sroa_idx>>0] = 41; + $$sroa$3$0$$sroa_idx = ((($0)) + 42|0); + HEAP8[$$sroa$3$0$$sroa_idx>>0] = 55; + $$sroa$4$0$$sroa_idx = ((($0)) + 43|0); + HEAP8[$$sroa$4$0$$sroa_idx>>0] = -1; + $3 = ((($0)) + 24|0); + HEAP32[$3>>2] = 10; + $4 = (_GetRandomValue(0,1)|0); + $5 = ($4|0)==(0); + if ($5) { + $7 = (_GetScreenWidth()|0); + $8 = (($7) + -150)|0; + $9 = (_GetScreenWidth()|0); + $10 = (($9) + -50)|0; + $11 = (_GetRandomValue($8,$10)|0); + $$sink34 = $11; + } else { + $6 = (_GetRandomValue(50,150)|0); + $$sink34 = $6; + } + $12 = (+($$sink34|0)); + $13 = (_GetScreenHeight()|0); + $14 = (($13) + -50)|0; + $15 = (_GetRandomValue(50,$14)|0); + $16 = (+($15|0)); + HEAPF32[$0>>2] = $12; + $$sroa$2$0$$sroa_idx3 = ((($0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx3>>2] = $16; + $17 = HEAP32[6864]|0; + switch ($17|0) { + case 0: { + $18 = (_GetRandomValue(0,7)|0); + $19 = ((($0)) + 16|0); + HEAP32[$19>>2] = $18; + $20 = ((($0)) + 8|0); + $21 = (25536 + (($18*48)|0)|0); + $22 = $21; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + 4)|0; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = $20; + $29 = $28; + HEAP32[$29>>2] = $24; + $30 = (($28) + 4)|0; + $31 = $30; + HEAP32[$31>>2] = $27; + $32 = (_GetRandomValue(15,20)|0); + $33 = (+($32|0)); + $34 = $33 / 10.0; + $35 = ((($0)) + 20|0); + HEAPF32[$35>>2] = $34; + $36 = (_GetRandomValue(90,400)|0); + $$sink = $36; + break; + } + case 1: { + $37 = (_GetRandomValue(0,11)|0); + $38 = ((($0)) + 16|0); + HEAP32[$38>>2] = $37; + $39 = ((($0)) + 8|0); + $40 = (25920 + (($37*48)|0)|0); + $41 = $40; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = $39; + $48 = $47; + HEAP32[$48>>2] = $43; + $49 = (($47) + 4)|0; + $50 = $49; + HEAP32[$50>>2] = $46; + $51 = (_GetRandomValue(10,20)|0); + $52 = (+($51|0)); + $53 = $52 / 10.0; + $54 = ((($0)) + 20|0); + HEAPF32[$54>>2] = $53; + $55 = (_GetRandomValue(240,800)|0); + $$sink = $55; + break; + } + case 2: { + $56 = (_GetRandomValue(0,19)|0); + $57 = ((($0)) + 16|0); + HEAP32[$57>>2] = $56; + $58 = ((($0)) + 8|0); + $59 = (26496 + (($56*48)|0)|0); + $60 = $59; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = $58; + $67 = $66; + HEAP32[$67>>2] = $62; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = $65; + $70 = (_GetRandomValue(8,18)|0); + $71 = (+($70|0)); + $72 = $71 / 10.0; + $73 = ((($0)) + 20|0); + HEAPF32[$73>>2] = $72; + $74 = (_GetRandomValue(180,1200)|0); + $$sink = $74; + break; + } + default: { + return; + } + } + $75 = ((($0)) + 32|0); + HEAP32[$75>>2] = $$sink; + return; +} +function _UpdateGameplayScreen() { + var $$ = 0, $$0195233 = 0, $$0198241 = 0, $$0199242 = 0, $$0200243 = 0, $$0201240 = 0, $$0202239 = 0, $$0203238 = 0, $$0204236 = 0, $$208 = 0, $$209 = 0, $$2229$ph = 0, $$4227$ph = 0, $$byval_copy16 = 0, $$pr = 0, $$sink = 0.0, $$sink5 = 0.0, $$sroa$3$0$$sroa_idx53 = 0, $$sroa$358$0$$sroa_idx59 = 0, $$sroa$365$0$$sroa_idx66 = 0; + var $$sroa$4$0$$sroa_idx54 = 0, $$sroa$460$0$$sroa_idx61 = 0, $$sroa$467$0$$sroa_idx68 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0.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.0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0; + var $168 = 0, $169 = 0, $17 = 0.0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0.0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0, $18 = 0.0, $180 = 0.0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0.0, $185 = 0.0; + var $186 = 0, $187 = 0, $188 = 0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0.0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0.0; + var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0.0, $208 = 0, $209 = 0, $21 = 0.0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0.0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0.0, $220 = 0.0; + var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.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.0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0.0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; + var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.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; + var $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.0, $310 = 0; + var $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0.0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0; + var $33 = 0.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.0, $359 = 0.0, $36 = 0, $360 = 0.0, $361 = 0, $362 = 0, $363 = 0, $364 = 0.0, $365 = 0.0; + var $366 = 0, $367 = 0.0, $368 = 0.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, $4 = 0, $40 = 0.0, $400 = 0; + var $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, $419 = 0; + var $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0.0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0; + var $438 = 0, $439 = 0, $44 = 0.0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0.0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0; + var $456 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0; + var $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0, $99 = 0; + var $exitcond = 0, $exitcond262 = 0, $exitcond263 = 0, $exitcond264 = 0, $exitcond265 = 0, $exitcond266 = 0, $exitcond267 = 0, $exitcond268 = 0, $fxLightOff$byval_copy18 = 0, $narrow = 0, $narrow270 = 0, $narrow272 = 0, $narrow274 = 0, $narrow276 = 0, $narrow278 = 0, $narrow280 = 0, $not$ = 0, $not$269 = 0, $not$271 = 0, $not$273 = 0; + var $not$275 = 0, $not$277 = 0, $not$279 = 0, $not$281 = 0, $notrhs = 0, $storemerge207 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $fxLightOff$byval_copy18 = sp + 16|0; + $$byval_copy16 = sp + 8|0; + $0 = sp; + $1 = (_IsKeyPressed(80)|0); + $2 = ($1|0)==(0); + if (!($2)) { + $3 = HEAP32[6280]|0; + $4 = ($3|0)==(0); + $5 = $4&1; + HEAP32[6280] = $5; + } + $6 = HEAP32[6280]|0; + $7 = HEAP32[6864]|0; + $notrhs = ($7|0)==(3); + $8 = HEAP32[6959]|0; + $9 = $8 | $6; + $10 = ($9|0)!=(0); + $11 = $notrhs | $10; do { - if (!($10)) { - $11 = HEAP32[336>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[336>>2] = $12; - $13 = (_IsKeyDown(262)|0); - $14 = ($13|0)==(0); - if ($14) { - $18 = (_IsKeyDown(263)|0); - $19 = ($18|0)==(0); - if (!($19)) { - $20 = +HEAPF32[(776)>>2]; - $21 = +HEAPF32[768>>2]; - $22 = $21 - $20; - HEAPF32[768>>2] = $22; + if (!($11)) { + $12 = HEAP32[6278]|0; + $13 = (($12) + 1)|0; + HEAP32[6278] = $13; + $14 = (_IsKeyDown(262)|0); + $15 = ($14|0)==(0); + if ($15) { + $19 = (_IsKeyDown(263)|0); + $20 = ($19|0)==(0); + if (!($20)) { + $21 = +HEAPF32[(25516)>>2]; + $22 = +HEAPF32[6377]; + $23 = $22 - $21; + $$sink = $23; + label = 8; } } else { - $15 = +HEAPF32[(776)>>2]; - $16 = +HEAPF32[768>>2]; - $17 = $15 + $16; - HEAPF32[768>>2] = $17; + $16 = +HEAPF32[(25516)>>2]; + $17 = +HEAPF32[6377]; + $18 = $16 + $17; + $$sink = $18; + label = 8; } - $23 = (_IsKeyDown(265)|0); - $24 = ($23|0)==(0); - if ($24) { - $28 = (_IsKeyDown(264)|0); - $29 = ($28|0)==(0); - if (!($29)) { - $30 = +HEAPF32[(780)>>2]; - $31 = +HEAPF32[(772)>>2]; - $32 = $30 + $31; - HEAPF32[(772)>>2] = $32; + if ((label|0) == 8) { + HEAPF32[6377] = $$sink; + } + $24 = (_IsKeyDown(265)|0); + $25 = ($24|0)==(0); + if ($25) { + $29 = (_IsKeyDown(264)|0); + $30 = ($29|0)==(0); + if (!($30)) { + $31 = +HEAPF32[(25520)>>2]; + $32 = +HEAPF32[(25512)>>2]; + $33 = $31 + $32; + $$sink5 = $33; + label = 13; } } else { - $25 = +HEAPF32[(780)>>2]; - $26 = +HEAPF32[(772)>>2]; - $27 = $26 - $25; - HEAPF32[(772)>>2] = $27; + $26 = +HEAPF32[(25520)>>2]; + $27 = +HEAPF32[(25512)>>2]; + $28 = $27 - $26; + $$sink5 = $28; + label = 13; } - $33 = (_IsKeyPressed(83)|0); - $34 = ($33|0)==(0); - if (!($34)) { - $35 = HEAP32[3104>>2]|0; - $36 = ($35|0)==(0); - $37 = $36&1; - HEAP32[3104>>2] = $37; + if ((label|0) == 13) { + HEAPF32[(25512)>>2] = $$sink5; } - $38 = HEAP32[(784)>>2]|0; - $39 = (+($38|0)); - ;HEAP32[$$byval_copy16>>2]=HEAP32[768>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[768+4>>2]|0; - ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[2720>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[2720+4>>2]|0; - $40 = (_CheckCollisionCircles($$byval_copy16,$39,$fxLightOff$byval_copy18,50.0)|0); - $41 = ($40|0)==(0); - if ($41) { - $storemerge22 = -1; + $34 = (_IsKeyPressed(83)|0); + $35 = ($34|0)==(0); + if (!($35)) { + $36 = HEAP32[6961]|0; + $37 = ($36|0)==(0); + $38 = $37&1; + HEAP32[6961] = $38; + } + $39 = HEAP32[(25524)>>2]|0; + $40 = (+($39|0)); + ;HEAP32[$$byval_copy16>>2]=HEAP32[25508>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[25508+4>>2]|0; + ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[27460>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[27460+4>>2]|0; + $41 = (_CheckCollisionCircles($$byval_copy16,$40,$fxLightOff$byval_copy18,50.0)|0); + $42 = ($41|0)==(0); + if ($42) { + $storemerge207 = -1; } else { - $42 = +HEAPF32[(792)>>2]; - $43 = $42 + 0.20000000298023224; - HEAPF32[(792)>>2] = $43; - $storemerge22 = 100; + $43 = +HEAPF32[(25532)>>2]; + $44 = $43 + 0.20000000298023224; + HEAPF32[(25532)>>2] = $44; + $storemerge207 = 100; } - HEAP8[(788)>>0] = -1; - HEAP8[(789)>>0] = -1; - HEAP8[(790)>>0] = $storemerge22; - HEAP8[(791)>>0] = -1; - $44 = +HEAPF32[(792)>>2]; - $45 = $44 > 40.0; - if ($45) { - HEAPF32[(792)>>2] = 40.0; + HEAP8[(25528)>>0] = -1; + HEAP8[(25529)>>0] = -1; + HEAP8[(25530)>>0] = $storemerge207; + HEAP8[(25531)>>0] = -1; + $45 = +HEAPF32[(25532)>>2]; + $46 = $45 > 40.0; + if ($46) { + HEAPF32[(25532)>>2] = 40.0; } - $46 = HEAP32[2716>>2]|0; - switch ($46|0) { + $47 = HEAP32[6864]|0; + switch ($47|0) { case 0: { - $i$056 = 0; + $$0198241 = 0; while(1) { - $48 = HEAP32[(784)>>2]|0; - $49 = (+($48|0)); - $50 = (796 + (($i$056*48)|0)|0); - $51 = (((796 + (($i$056*48)|0)|0)) + 8|0); - $52 = HEAP32[$51>>2]|0; - $53 = (+($52|0)); - ;HEAP32[$$byval_copy16>>2]=HEAP32[768>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[768+4>>2]|0; - ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[$50>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[$50+4>>2]|0; - $54 = (_CheckCollisionCircles($$byval_copy16,$49,$fxLightOff$byval_copy18,$53)|0); - $55 = ($54|0)==(0); - if (!($55)) { - $56 = (((796 + (($i$056*48)|0)|0)) + 16|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0); - if ($58) { - $59 = +HEAPF32[(792)>>2]; - $60 = (((796 + (($i$056*48)|0)|0)) + 12|0); - $61 = HEAP32[$60>>2]|0; - $62 = (+($61|0)); - $63 = !($59 >= $62); - if (!($63)) { - HEAP32[$56>>2] = 1; - $64 = (((796 + (($i$056*48)|0)|0)) + 28|0); - HEAP32[$64>>2] = 1; - $65 = HEAP32[$60>>2]|0; - $66 = (+($65|0)); - $67 = +HEAPF32[(792)>>2]; - $68 = $67 - $66; - HEAPF32[(792)>>2] = $68; - ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[24>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[24+4>>2]|0; + $49 = HEAP32[(25524)>>2]|0; + $50 = (+($49|0)); + $51 = (25536 + (($$0198241*48)|0)|0); + $52 = (((25536 + (($$0198241*48)|0)|0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = (+($53|0)); + ;HEAP32[$$byval_copy16>>2]=HEAP32[25508>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[25508+4>>2]|0; + ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[$51>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[$51+4>>2]|0; + $55 = (_CheckCollisionCircles($$byval_copy16,$50,$fxLightOff$byval_copy18,$54)|0); + $56 = ($55|0)==(0); + if (!($56)) { + $57 = (((25536 + (($$0198241*48)|0)|0)) + 16|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)==(0); + if ($59) { + $60 = +HEAPF32[(25532)>>2]; + $61 = (((25536 + (($$0198241*48)|0)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = !($60 >= $63); + if (!($64)) { + $65 = $60 - $63; + $66 = (((25536 + (($$0198241*48)|0)|0)) + 28|0); + HEAP32[$57>>2] = 1; + HEAP32[$66>>2] = 1; + HEAPF32[(25532)>>2] = $65; + ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[25484>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[25484+4>>2]|0;HEAP32[$fxLightOff$byval_copy18+8>>2]=HEAP32[25484+8>>2]|0; _PlaySound($fxLightOff$byval_copy18); } } } - $69 = (($i$056) + 1)|0; - $exitcond69 = ($69|0)==(8); - if ($exitcond69) { + $67 = (($$0198241) + 1)|0; + $exitcond266 = ($67|0)==(8); + if ($exitcond266) { break; } else { - $i$056 = $69; + $$0198241 = $67; } } break; } case 1: { - $i1$057 = 0; + $$0199242 = 0; while(1) { - $70 = HEAP32[(784)>>2]|0; - $71 = (+($70|0)); - $72 = (1180 + (($i1$057*48)|0)|0); - $73 = (((1180 + (($i1$057*48)|0)|0)) + 8|0); - $74 = HEAP32[$73>>2]|0; - $75 = (+($74|0)); - ;HEAP32[$$byval_copy16>>2]=HEAP32[768>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[768+4>>2]|0; - ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[$72>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[$72+4>>2]|0; - $76 = (_CheckCollisionCircles($$byval_copy16,$71,$fxLightOff$byval_copy18,$75)|0); - $77 = ($76|0)==(0); - if (!($77)) { - $78 = (((1180 + (($i1$057*48)|0)|0)) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)==(0); - if ($80) { - $81 = +HEAPF32[(792)>>2]; - $82 = (((1180 + (($i1$057*48)|0)|0)) + 12|0); - $83 = HEAP32[$82>>2]|0; - $84 = (+($83|0)); - $85 = !($81 >= $84); - if (!($85)) { - HEAP32[$78>>2] = 1; - $86 = HEAP32[$82>>2]|0; - $87 = (+($86|0)); - $88 = +HEAPF32[(792)>>2]; - $89 = $88 - $87; - HEAPF32[(792)>>2] = $89; - ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[24>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[24+4>>2]|0; + $68 = HEAP32[(25524)>>2]|0; + $69 = (+($68|0)); + $70 = (25920 + (($$0199242*48)|0)|0); + $71 = (((25920 + (($$0199242*48)|0)|0)) + 8|0); + $72 = HEAP32[$71>>2]|0; + $73 = (+($72|0)); + ;HEAP32[$$byval_copy16>>2]=HEAP32[25508>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[25508+4>>2]|0; + ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[$70>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[$70+4>>2]|0; + $74 = (_CheckCollisionCircles($$byval_copy16,$69,$fxLightOff$byval_copy18,$73)|0); + $75 = ($74|0)==(0); + if (!($75)) { + $76 = (((25920 + (($$0199242*48)|0)|0)) + 16|0); + $77 = HEAP32[$76>>2]|0; + $78 = ($77|0)==(0); + if ($78) { + $79 = +HEAPF32[(25532)>>2]; + $80 = (((25920 + (($$0199242*48)|0)|0)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = (+($81|0)); + $83 = !($79 >= $82); + if (!($83)) { + $84 = $79 - $82; + HEAP32[$76>>2] = 1; + HEAPF32[(25532)>>2] = $84; + ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[25484>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[25484+4>>2]|0;HEAP32[$fxLightOff$byval_copy18+8>>2]=HEAP32[25484+8>>2]|0; _PlaySound($fxLightOff$byval_copy18); } } } - $90 = (($i1$057) + 1)|0; - $exitcond70 = ($90|0)==(12); - if ($exitcond70) { + $85 = (($$0199242) + 1)|0; + $exitcond267 = ($85|0)==(12); + if ($exitcond267) { break; } else { - $i1$057 = $90; + $$0199242 = $85; } } break; } case 2: { - $i2$058 = 0; + $$0200243 = 0; while(1) { - $91 = HEAP32[(784)>>2]|0; - $92 = (+($91|0)); - $93 = (1756 + (($i2$058*48)|0)|0); - $94 = (((1756 + (($i2$058*48)|0)|0)) + 8|0); - $95 = HEAP32[$94>>2]|0; - $96 = (+($95|0)); - ;HEAP32[$$byval_copy16>>2]=HEAP32[768>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[768+4>>2]|0; - ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[$93>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[$93+4>>2]|0; - $97 = (_CheckCollisionCircles($$byval_copy16,$92,$fxLightOff$byval_copy18,$96)|0); - $98 = ($97|0)==(0); - if (!($98)) { - $99 = (((1756 + (($i2$058*48)|0)|0)) + 16|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)==(0); - if ($101) { - $102 = +HEAPF32[(792)>>2]; - $103 = (((1756 + (($i2$058*48)|0)|0)) + 12|0); - $104 = HEAP32[$103>>2]|0; - $105 = (+($104|0)); - $106 = !($102 >= $105); - if (!($106)) { - HEAP32[$99>>2] = 1; - $107 = HEAP32[$103>>2]|0; - $108 = (+($107|0)); - $109 = +HEAPF32[(792)>>2]; - $110 = $109 - $108; - HEAPF32[(792)>>2] = $110; - ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[24>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[24+4>>2]|0; + $86 = HEAP32[(25524)>>2]|0; + $87 = (+($86|0)); + $88 = (26496 + (($$0200243*48)|0)|0); + $89 = (((26496 + (($$0200243*48)|0)|0)) + 8|0); + $90 = HEAP32[$89>>2]|0; + $91 = (+($90|0)); + ;HEAP32[$$byval_copy16>>2]=HEAP32[25508>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[25508+4>>2]|0; + ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[$88>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[$88+4>>2]|0; + $92 = (_CheckCollisionCircles($$byval_copy16,$87,$fxLightOff$byval_copy18,$91)|0); + $93 = ($92|0)==(0); + if (!($93)) { + $94 = (((26496 + (($$0200243*48)|0)|0)) + 16|0); + $95 = HEAP32[$94>>2]|0; + $96 = ($95|0)==(0); + if ($96) { + $97 = +HEAPF32[(25532)>>2]; + $98 = (((26496 + (($$0200243*48)|0)|0)) + 12|0); + $99 = HEAP32[$98>>2]|0; + $100 = (+($99|0)); + $101 = !($97 >= $100); + if (!($101)) { + $102 = $97 - $100; + HEAP32[$94>>2] = 1; + HEAPF32[(25532)>>2] = $102; + ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[25484>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[25484+4>>2]|0;HEAP32[$fxLightOff$byval_copy18+8>>2]=HEAP32[25484+8>>2]|0; _PlaySound($fxLightOff$byval_copy18); } } } - $111 = (($i2$058) + 1)|0; - $exitcond71 = ($111|0)==(20); - if ($exitcond71) { + $103 = (($$0200243) + 1)|0; + $exitcond268 = ($103|0)==(20); + if ($exitcond268) { break; } else { - $i2$058 = $111; + $$0200243 = $103; } } break; @@ -12744,710 +13336,720 @@ function _UpdateGameplayScreen() { default: { } } - $47 = HEAP32[(472)>>2]|0; - $i3$055 = 0; + $48 = HEAP32[(25248)>>2]|0; + $$0201240 = 0; while(1) { - $113 = (((796 + (($i3$055*48)|0)|0)) + 16|0); - $114 = HEAP32[$113>>2]|0; - $115 = ($114|0)==(0); - if (!($115)) { - $116 = (((796 + (($i3$055*48)|0)|0)) + 24|0); - $117 = HEAP32[$116>>2]|0; - $118 = (($117) + 1)|0; - HEAP32[$116>>2] = $118; - $119 = ($117|0)>(9); - if ($119) { - $120 = (((796 + (($i3$055*48)|0)|0)) + 28|0); - $121 = HEAP32[$120>>2]|0; - $122 = (($121) + 1)|0; - $123 = ($121|0)>(5); - $$ = $123 ? 1 : $122; - HEAP32[$120>>2] = $$; - HEAP32[$116>>2] = 0; + $105 = (((25536 + (($$0201240*48)|0)|0)) + 16|0); + $106 = HEAP32[$105>>2]|0; + $107 = ($106|0)==(0); + if (!($107)) { + $108 = (((25536 + (($$0201240*48)|0)|0)) + 24|0); + $109 = HEAP32[$108>>2]|0; + $110 = (($109) + 1)|0; + HEAP32[$108>>2] = $110; + $111 = ($109|0)>(9); + if ($111) { + $112 = (((25536 + (($$0201240*48)|0)|0)) + 28|0); + $113 = HEAP32[$112>>2]|0; + $114 = (($113) + 1)|0; + $115 = ($113|0)>(5); + $$ = $115 ? 1 : $114; + HEAP32[$112>>2] = $$; + HEAP32[$108>>2] = 0; } } - $124 = (((796 + (($i3$055*48)|0)|0)) + 28|0); - $125 = HEAP32[$124>>2]|0; - $126 = Math_imul($47, $125)|0; - $127 = (($126|0) / 7)&-1; - $128 = (((796 + (($i3$055*48)|0)|0)) + 32|0); - HEAP32[$128>>2] = $127; - $129 = (($i3$055) + 1)|0; - $exitcond68 = ($129|0)==(8); - if ($exitcond68) { + $116 = (((25536 + (($$0201240*48)|0)|0)) + 28|0); + $117 = HEAP32[$116>>2]|0; + $118 = Math_imul($48, $117)|0; + $119 = (($118|0) / 7)&-1; + $120 = (((25536 + (($$0201240*48)|0)|0)) + 32|0); + HEAP32[$120>>2] = $119; + $121 = (($$0201240) + 1)|0; + $exitcond265 = ($121|0)==(8); + if ($exitcond265) { break; } else { - $i3$055 = $129; + $$0201240 = $121; } } - $112 = HEAP32[(472)>>2]|0; - $i4$054 = 0; + $104 = HEAP32[(25248)>>2]|0; + $$0202239 = 0; while(1) { - $131 = (((1180 + (($i4$054*48)|0)|0)) + 16|0); - $132 = HEAP32[$131>>2]|0; - $133 = ($132|0)==(0); - if (!($133)) { - $134 = (((1180 + (($i4$054*48)|0)|0)) + 24|0); - $135 = HEAP32[$134>>2]|0; - $136 = (($135) + 1)|0; - HEAP32[$134>>2] = $136; - $137 = ($135|0)>(9); - if ($137) { - $138 = (((1180 + (($i4$054*48)|0)|0)) + 28|0); - $139 = HEAP32[$138>>2]|0; - $140 = (($139) + 1)|0; - $141 = ($139|0)>(5); - $$23 = $141 ? 1 : $140; - HEAP32[$138>>2] = $$23; - HEAP32[$134>>2] = 0; + $123 = (((25920 + (($$0202239*48)|0)|0)) + 16|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($124|0)==(0); + if (!($125)) { + $126 = (((25920 + (($$0202239*48)|0)|0)) + 24|0); + $127 = HEAP32[$126>>2]|0; + $128 = (($127) + 1)|0; + HEAP32[$126>>2] = $128; + $129 = ($127|0)>(9); + if ($129) { + $130 = (((25920 + (($$0202239*48)|0)|0)) + 28|0); + $131 = HEAP32[$130>>2]|0; + $132 = (($131) + 1)|0; + $133 = ($131|0)>(5); + $$208 = $133 ? 1 : $132; + HEAP32[$130>>2] = $$208; + HEAP32[$126>>2] = 0; } } - $142 = (((1180 + (($i4$054*48)|0)|0)) + 28|0); - $143 = HEAP32[$142>>2]|0; - $144 = Math_imul($112, $143)|0; - $145 = (($144|0) / 7)&-1; - $146 = (((1180 + (($i4$054*48)|0)|0)) + 32|0); - HEAP32[$146>>2] = $145; - $147 = (($i4$054) + 1)|0; - $exitcond67 = ($147|0)==(12); - if ($exitcond67) { + $134 = (((25920 + (($$0202239*48)|0)|0)) + 28|0); + $135 = HEAP32[$134>>2]|0; + $136 = Math_imul($104, $135)|0; + $137 = (($136|0) / 7)&-1; + $138 = (((25920 + (($$0202239*48)|0)|0)) + 32|0); + HEAP32[$138>>2] = $137; + $139 = (($$0202239) + 1)|0; + $exitcond264 = ($139|0)==(12); + if ($exitcond264) { break; } else { - $i4$054 = $147; + $$0202239 = $139; } } - $130 = HEAP32[(472)>>2]|0; - $i5$053 = 0; + $122 = HEAP32[(25248)>>2]|0; + $$0203238 = 0; while(1) { - $148 = (((1756 + (($i5$053*48)|0)|0)) + 16|0); - $149 = HEAP32[$148>>2]|0; - $150 = ($149|0)==(0); - if (!($150)) { - $151 = (((1756 + (($i5$053*48)|0)|0)) + 24|0); - $152 = HEAP32[$151>>2]|0; - $153 = (($152) + 1)|0; - HEAP32[$151>>2] = $153; - $154 = ($152|0)>(9); - if ($154) { - $155 = (((1756 + (($i5$053*48)|0)|0)) + 28|0); - $156 = HEAP32[$155>>2]|0; - $157 = (($156) + 1)|0; - $158 = ($156|0)>(5); - $$24 = $158 ? 1 : $157; - HEAP32[$155>>2] = $$24; - HEAP32[$151>>2] = 0; + $143 = (((26496 + (($$0203238*48)|0)|0)) + 16|0); + $144 = HEAP32[$143>>2]|0; + $145 = ($144|0)==(0); + if (!($145)) { + $146 = (((26496 + (($$0203238*48)|0)|0)) + 24|0); + $147 = HEAP32[$146>>2]|0; + $148 = (($147) + 1)|0; + HEAP32[$146>>2] = $148; + $149 = ($147|0)>(9); + if ($149) { + $150 = (((26496 + (($$0203238*48)|0)|0)) + 28|0); + $151 = HEAP32[$150>>2]|0; + $152 = (($151) + 1)|0; + $153 = ($151|0)>(5); + $$209 = $153 ? 1 : $152; + HEAP32[$150>>2] = $$209; + HEAP32[$146>>2] = 0; } } - $159 = (((1756 + (($i5$053*48)|0)|0)) + 28|0); - $160 = HEAP32[$159>>2]|0; - $161 = Math_imul($130, $160)|0; - $162 = (($161|0) / 7)&-1; - $163 = (((1756 + (($i5$053*48)|0)|0)) + 32|0); - HEAP32[$163>>2] = $162; - $164 = (($i5$053) + 1)|0; - $exitcond66 = ($164|0)==(20); - if ($exitcond66) { + $154 = (((26496 + (($$0203238*48)|0)|0)) + 28|0); + $155 = HEAP32[$154>>2]|0; + $156 = Math_imul($122, $155)|0; + $157 = (($156|0) / 7)&-1; + $158 = (((26496 + (($$0203238*48)|0)|0)) + 32|0); + HEAP32[$158>>2] = $157; + $159 = (($$0203238) + 1)|0; + $exitcond263 = ($159|0)==(20); + if ($exitcond263) { break; } else { - $i5$053 = $164; + $$0203238 = $159; } } - $165 = HEAP32[3104>>2]|0; - $166 = ($165|0)==(0); - if ($166) { - $167 = ((($dir)) + 4|0); - $i6$051 = 0; + $140 = HEAP32[6961]|0; + $141 = ($140|0)==(0); + if ($141) { + $142 = ((($0)) + 4|0); + $$0204236 = 0; while(1) { - $168 = (2728 + (($i6$051*44)|0)|0); - $169 = (((2728 + (($i6$051*44)|0)|0)) + 28|0); + $160 = (27468 + (($$0204236*44)|0)|0); + $161 = (((27468 + (($$0204236*44)|0)|0)) + 28|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==(0); + $164 = (((27468 + (($$0204236*44)|0)|0)) + 36|0); + if ($163) { + $165 = HEAP32[$164>>2]|0; + $166 = (($165) + 1)|0; + HEAP32[$164>>2] = $166; + } + $167 = (((27468 + (($$0204236*44)|0)|0)) + 36|0); + $168 = HEAP32[$167>>2]|0; + $169 = (((27468 + (($$0204236*44)|0)|0)) + 32|0); $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==(0); + $171 = ($168|0)>($170|0); if ($171) { - $172 = (((2728 + (($i6$051*44)|0)|0)) + 36|0); - $173 = HEAP32[$172>>2]|0; - $174 = (($173) + 1)|0; - HEAP32[$172>>2] = $174; - } - $175 = (((2728 + (($i6$051*44)|0)|0)) + 36|0); - $176 = HEAP32[$175>>2]|0; - $177 = (((2728 + (($i6$051*44)|0)|0)) + 32|0); - $178 = HEAP32[$177>>2]|0; - $179 = ($176|0)>($178|0); - if ($179) { - HEAP32[$169>>2] = 1; - label = 56; + HEAP32[$161>>2] = 1; + label = 58; } else { - $$pr = HEAP32[$169>>2]|0; - $180 = ($$pr|0)==(0); - if (!($180)) { - label = 56; + $$pr = HEAP32[$161>>2]|0; + $172 = ($$pr|0)==(0); + if (!($172)) { + label = 58; } } - L79: do { - if ((label|0) == 56) { - label = 0; - $181 = (((2728 + (($i6$051*44)|0)|0)) + 8|0); - ;HEAP32[$$byval_copy16>>2]=HEAP32[$181>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$181+4>>2]|0; - ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[$168>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[$168+4>>2]|0; - _Vector2Subtract($dir,$$byval_copy16,$fxLightOff$byval_copy18); - _Vector2Normalize($dir); - $182 = +HEAPF32[$dir>>2]; - $183 = (((2728 + (($i6$051*44)|0)|0)) + 20|0); - $184 = +HEAPF32[$183>>2]; - $185 = $182 * $184; - $186 = +HEAPF32[$168>>2]; - $187 = $186 + $185; - HEAPF32[$168>>2] = $187; - $188 = +HEAPF32[$167>>2]; - $189 = +HEAPF32[$183>>2]; - $190 = $188 * $189; - $191 = (((2728 + (($i6$051*44)|0)|0)) + 4|0); - $192 = +HEAPF32[$191>>2]; - $193 = $192 + $190; - HEAPF32[$191>>2] = $193; - $194 = HEAP32[2716>>2]|0; - switch ($194|0) { - case 0: { - $195 = (((2728 + (($i6$051*44)|0)|0)) + 24|0); - $196 = HEAP32[$195>>2]|0; - $197 = (+($196|0)); - $198 = (((2728 + (($i6$051*44)|0)|0)) + 16|0); - $199 = HEAP32[$198>>2]|0; - $200 = (((796 + (($199*48)|0)|0)) + 8|0); - $201 = HEAP32[$200>>2]|0; - $202 = (+($201|0)); - ;HEAP32[$$byval_copy16>>2]=HEAP32[$168>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$168+4>>2]|0; - ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[$181>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[$181+4>>2]|0; - $203 = (_CheckCollisionCircles($$byval_copy16,$197,$fxLightOff$byval_copy18,$202)|0); - $204 = ($203|0)==(0); - if ($204) { - break L79; - } - $205 = HEAP32[$198>>2]|0; - $206 = (((796 + (($205*48)|0)|0)) + 16|0); - HEAP32[$206>>2] = 0; - $207 = HEAP32[$198>>2]|0; - $208 = (((796 + (($207*48)|0)|0)) + 24|0); - HEAP32[$208>>2] = 0; - $209 = HEAP32[$198>>2]|0; - $210 = (((796 + (($209*48)|0)|0)) + 28|0); - HEAP32[$210>>2] = 0; - $211 = HEAP32[$198>>2]|0; - $212 = (((796 + (($211*48)|0)|0)) + 32|0); - HEAP32[$212>>2] = 0; - $213 = (((796 + (($211*48)|0)|0)) + 36|0); - HEAP32[$213>>2] = 0; - $214 = (((796 + (($211*48)|0)|0)) + 40|0); - HEAP32[$214>>2] = 64; - $215 = (((796 + (($211*48)|0)|0)) + 44|0); - HEAP32[$215>>2] = 64; - _EnemyReset($168); - ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[32>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[32+4>>2]|0; + if ((label|0) == 58) { + label = 0; + $173 = (((27468 + (($$0204236*44)|0)|0)) + 8|0); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$173>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$173+4>>2]|0; + ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[$160>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[$160+4>>2]|0; + _Vector2Subtract_50($0,$$byval_copy16,$fxLightOff$byval_copy18); + _Vector2Normalize_52($0); + $174 = +HEAPF32[$0>>2]; + $175 = (((27468 + (($$0204236*44)|0)|0)) + 20|0); + $176 = +HEAPF32[$175>>2]; + $177 = $174 * $176; + $178 = +HEAPF32[$160>>2]; + $179 = $178 + $177; + HEAPF32[$160>>2] = $179; + $180 = +HEAPF32[$142>>2]; + $181 = +HEAPF32[$175>>2]; + $182 = $180 * $181; + $183 = (((27468 + (($$0204236*44)|0)|0)) + 4|0); + $184 = +HEAPF32[$183>>2]; + $185 = $184 + $182; + HEAPF32[$183>>2] = $185; + $186 = HEAP32[6864]|0; + switch ($186|0) { + case 0: { + $187 = (((27468 + (($$0204236*44)|0)|0)) + 24|0); + $188 = HEAP32[$187>>2]|0; + $189 = (+($188|0)); + $190 = (((27468 + (($$0204236*44)|0)|0)) + 16|0); + $191 = HEAP32[$190>>2]|0; + $192 = (((25536 + (($191*48)|0)|0)) + 8|0); + $193 = HEAP32[$192>>2]|0; + $194 = (+($193|0)); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$160+4>>2]|0; + ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[$173>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[$173+4>>2]|0; + $195 = (_CheckCollisionCircles($$byval_copy16,$189,$fxLightOff$byval_copy18,$194)|0); + $196 = ($195|0)==(0); + if (!($196)) { + $197 = HEAP32[$190>>2]|0; + $198 = (((25536 + (($197*48)|0)|0)) + 16|0); + HEAP32[$198>>2] = 0; + $199 = (((25536 + (($197*48)|0)|0)) + 24|0); + $$sroa$365$0$$sroa_idx66 = (((25536 + (($197*48)|0)|0)) + 40|0); + ;HEAP32[$199>>2]=0|0;HEAP32[$199+4>>2]=0|0;HEAP32[$199+8>>2]=0|0;HEAP32[$199+12>>2]=0|0; + HEAP32[$$sroa$365$0$$sroa_idx66>>2] = 64; + $$sroa$467$0$$sroa_idx68 = (((25536 + (($197*48)|0)|0)) + 44|0); + HEAP32[$$sroa$467$0$$sroa_idx68>>2] = 64; + _EnemyReset($160); + ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[25496>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[25496+4>>2]|0;HEAP32[$fxLightOff$byval_copy18+8>>2]=HEAP32[25496+8>>2]|0; _PlaySound($fxLightOff$byval_copy18); - break L79; - break; - } - case 1: { - $216 = (((2728 + (($i6$051*44)|0)|0)) + 24|0); - $217 = HEAP32[$216>>2]|0; - $218 = (+($217|0)); - $219 = (((2728 + (($i6$051*44)|0)|0)) + 16|0); - $220 = HEAP32[$219>>2]|0; - $221 = (((1180 + (($220*48)|0)|0)) + 8|0); - $222 = HEAP32[$221>>2]|0; - $223 = (+($222|0)); - ;HEAP32[$$byval_copy16>>2]=HEAP32[$168>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$168+4>>2]|0; - ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[$181>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[$181+4>>2]|0; - $224 = (_CheckCollisionCircles($$byval_copy16,$218,$fxLightOff$byval_copy18,$223)|0); - $225 = ($224|0)==(0); - if ($225) { - break L79; - } - $226 = HEAP32[$219>>2]|0; - $227 = (((1180 + (($226*48)|0)|0)) + 16|0); - HEAP32[$227>>2] = 0; - $228 = HEAP32[$219>>2]|0; - $229 = (((1180 + (($228*48)|0)|0)) + 24|0); - HEAP32[$229>>2] = 0; - $230 = HEAP32[$219>>2]|0; - $231 = (((1180 + (($230*48)|0)|0)) + 28|0); - HEAP32[$231>>2] = 0; - $232 = HEAP32[$219>>2]|0; - $233 = (((1180 + (($232*48)|0)|0)) + 32|0); - HEAP32[$233>>2] = 0; - $234 = (((1180 + (($232*48)|0)|0)) + 36|0); - HEAP32[$234>>2] = 0; - $235 = (((1180 + (($232*48)|0)|0)) + 40|0); - HEAP32[$235>>2] = 64; - $236 = (((1180 + (($232*48)|0)|0)) + 44|0); - HEAP32[$236>>2] = 64; - _EnemyReset($168); - ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[32>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[32+4>>2]|0; - _PlaySound($fxLightOff$byval_copy18); - break L79; - break; - } - case 2: { - $237 = (((2728 + (($i6$051*44)|0)|0)) + 24|0); - $238 = HEAP32[$237>>2]|0; - $239 = (+($238|0)); - $240 = (((2728 + (($i6$051*44)|0)|0)) + 16|0); - $241 = HEAP32[$240>>2]|0; - $242 = (((1756 + (($241*48)|0)|0)) + 8|0); - $243 = HEAP32[$242>>2]|0; - $244 = (+($243|0)); - ;HEAP32[$$byval_copy16>>2]=HEAP32[$168>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$168+4>>2]|0; - ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[$181>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[$181+4>>2]|0; - $245 = (_CheckCollisionCircles($$byval_copy16,$239,$fxLightOff$byval_copy18,$244)|0); - $246 = ($245|0)==(0); - if ($246) { - break L79; - } - $247 = HEAP32[$240>>2]|0; - $248 = (((1756 + (($247*48)|0)|0)) + 16|0); - HEAP32[$248>>2] = 0; - $249 = HEAP32[$240>>2]|0; - $250 = (((1756 + (($249*48)|0)|0)) + 24|0); - HEAP32[$250>>2] = 0; - $251 = HEAP32[$240>>2]|0; - $252 = (((1756 + (($251*48)|0)|0)) + 28|0); - HEAP32[$252>>2] = 0; - $253 = HEAP32[$240>>2]|0; - $254 = (((1756 + (($253*48)|0)|0)) + 32|0); - HEAP32[$254>>2] = 0; - $255 = (((1756 + (($253*48)|0)|0)) + 36|0); - HEAP32[$255>>2] = 0; - $256 = (((1756 + (($253*48)|0)|0)) + 40|0); - HEAP32[$256>>2] = 64; - $257 = (((1756 + (($253*48)|0)|0)) + 44|0); - HEAP32[$257>>2] = 64; - _EnemyReset($168); - ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[32>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[32+4>>2]|0; - _PlaySound($fxLightOff$byval_copy18); - break L79; - break; - } - default: { - break L79; - } } + break; } - } while(0); - $258 = (($i6$051) + 1)|0; - $exitcond65 = ($258|0)==(8); - if ($exitcond65) { + case 1: { + $200 = (((27468 + (($$0204236*44)|0)|0)) + 24|0); + $201 = HEAP32[$200>>2]|0; + $202 = (+($201|0)); + $203 = (((27468 + (($$0204236*44)|0)|0)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $205 = (((25920 + (($204*48)|0)|0)) + 8|0); + $206 = HEAP32[$205>>2]|0; + $207 = (+($206|0)); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$160+4>>2]|0; + ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[$173>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[$173+4>>2]|0; + $208 = (_CheckCollisionCircles($$byval_copy16,$202,$fxLightOff$byval_copy18,$207)|0); + $209 = ($208|0)==(0); + if (!($209)) { + $210 = HEAP32[$203>>2]|0; + $211 = (((25920 + (($210*48)|0)|0)) + 16|0); + HEAP32[$211>>2] = 0; + $212 = (((25920 + (($210*48)|0)|0)) + 24|0); + $$sroa$358$0$$sroa_idx59 = (((25920 + (($210*48)|0)|0)) + 40|0); + ;HEAP32[$212>>2]=0|0;HEAP32[$212+4>>2]=0|0;HEAP32[$212+8>>2]=0|0;HEAP32[$212+12>>2]=0|0; + HEAP32[$$sroa$358$0$$sroa_idx59>>2] = 64; + $$sroa$460$0$$sroa_idx61 = (((25920 + (($210*48)|0)|0)) + 44|0); + HEAP32[$$sroa$460$0$$sroa_idx61>>2] = 64; + _EnemyReset($160); + ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[25496>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[25496+4>>2]|0;HEAP32[$fxLightOff$byval_copy18+8>>2]=HEAP32[25496+8>>2]|0; + _PlaySound($fxLightOff$byval_copy18); + } + break; + } + case 2: { + $213 = (((27468 + (($$0204236*44)|0)|0)) + 24|0); + $214 = HEAP32[$213>>2]|0; + $215 = (+($214|0)); + $216 = (((27468 + (($$0204236*44)|0)|0)) + 16|0); + $217 = HEAP32[$216>>2]|0; + $218 = (((26496 + (($217*48)|0)|0)) + 8|0); + $219 = HEAP32[$218>>2]|0; + $220 = (+($219|0)); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$160+4>>2]|0; + ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[$173>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[$173+4>>2]|0; + $221 = (_CheckCollisionCircles($$byval_copy16,$215,$fxLightOff$byval_copy18,$220)|0); + $222 = ($221|0)==(0); + if (!($222)) { + $223 = HEAP32[$216>>2]|0; + $224 = (((26496 + (($223*48)|0)|0)) + 16|0); + HEAP32[$224>>2] = 0; + $225 = (((26496 + (($223*48)|0)|0)) + 24|0); + $$sroa$3$0$$sroa_idx53 = (((26496 + (($223*48)|0)|0)) + 40|0); + ;HEAP32[$225>>2]=0|0;HEAP32[$225+4>>2]=0|0;HEAP32[$225+8>>2]=0|0;HEAP32[$225+12>>2]=0|0; + HEAP32[$$sroa$3$0$$sroa_idx53>>2] = 64; + $$sroa$4$0$$sroa_idx54 = (((26496 + (($223*48)|0)|0)) + 44|0); + HEAP32[$$sroa$4$0$$sroa_idx54>>2] = 64; + _EnemyReset($160); + ;HEAP32[$fxLightOff$byval_copy18>>2]=HEAP32[25496>>2]|0;HEAP32[$fxLightOff$byval_copy18+4>>2]=HEAP32[25496+4>>2]|0;HEAP32[$fxLightOff$byval_copy18+8>>2]=HEAP32[25496+8>>2]|0; + _PlaySound($fxLightOff$byval_copy18); + } + break; + } + default: { + } + } + } + $226 = (($$0204236) + 1)|0; + $exitcond262 = ($226|0)==(8); + if ($exitcond262) { break; } else { - $i6$051 = $258; + $$0204236 = $226; } } } - HEAP32[3108>>2] = 0; - $259 = HEAP32[(812)>>2]|0; - $260 = ($259|0)==(0); - if (!($260)) { - $261 = HEAP32[(808)>>2]|0; - $262 = HEAP32[3108>>2]|0; - $263 = (($262) + ($261))|0; - HEAP32[3108>>2] = $263; + HEAP32[6963] = 0; + $227 = HEAP32[(25552)>>2]|0; + $228 = ($227|0)==(0); + if (!($228)) { + $229 = HEAP32[(25548)>>2]|0; + $230 = HEAP32[6963]|0; + $231 = (($230) + ($229))|0; + HEAP32[6963] = $231; } - $264 = HEAP32[(860)>>2]|0; - $265 = ($264|0)==(0); - if (!($265)) { - $469 = HEAP32[(856)>>2]|0; - $470 = HEAP32[3108>>2]|0; - $471 = (($470) + ($469))|0; - HEAP32[3108>>2] = $471; + $232 = HEAP32[(25600)>>2]|0; + $233 = ($232|0)==(0); + if (!($233)) { + $424 = HEAP32[(25596)>>2]|0; + $425 = HEAP32[6963]|0; + $426 = (($425) + ($424))|0; + HEAP32[6963] = $426; } - $472 = HEAP32[(908)>>2]|0; - $473 = ($472|0)==(0); - if (!($473)) { - $474 = HEAP32[(904)>>2]|0; - $475 = HEAP32[3108>>2]|0; - $476 = (($475) + ($474))|0; - HEAP32[3108>>2] = $476; + $427 = HEAP32[(25648)>>2]|0; + $428 = ($427|0)==(0); + if (!($428)) { + $429 = HEAP32[(25644)>>2]|0; + $430 = HEAP32[6963]|0; + $431 = (($430) + ($429))|0; + HEAP32[6963] = $431; } - $477 = HEAP32[(956)>>2]|0; - $478 = ($477|0)==(0); - if (!($478)) { - $479 = HEAP32[(952)>>2]|0; - $480 = HEAP32[3108>>2]|0; - $481 = (($480) + ($479))|0; - HEAP32[3108>>2] = $481; + $432 = HEAP32[(25696)>>2]|0; + $433 = ($432|0)==(0); + if (!($433)) { + $434 = HEAP32[(25692)>>2]|0; + $435 = HEAP32[6963]|0; + $436 = (($435) + ($434))|0; + HEAP32[6963] = $436; } - $482 = HEAP32[(1004)>>2]|0; - $483 = ($482|0)==(0); - if (!($483)) { - $484 = HEAP32[(1000)>>2]|0; - $485 = HEAP32[3108>>2]|0; - $486 = (($485) + ($484))|0; - HEAP32[3108>>2] = $486; + $437 = HEAP32[(25744)>>2]|0; + $438 = ($437|0)==(0); + if (!($438)) { + $439 = HEAP32[(25740)>>2]|0; + $440 = HEAP32[6963]|0; + $441 = (($440) + ($439))|0; + HEAP32[6963] = $441; } - $487 = HEAP32[(1052)>>2]|0; - $488 = ($487|0)==(0); - if (!($488)) { - $489 = HEAP32[(1048)>>2]|0; - $490 = HEAP32[3108>>2]|0; - $491 = (($490) + ($489))|0; - HEAP32[3108>>2] = $491; + $442 = HEAP32[(25792)>>2]|0; + $443 = ($442|0)==(0); + if (!($443)) { + $444 = HEAP32[(25788)>>2]|0; + $445 = HEAP32[6963]|0; + $446 = (($445) + ($444))|0; + HEAP32[6963] = $446; } - $492 = HEAP32[(1100)>>2]|0; - $493 = ($492|0)==(0); - if (!($493)) { - $494 = HEAP32[(1096)>>2]|0; - $495 = HEAP32[3108>>2]|0; - $496 = (($495) + ($494))|0; - HEAP32[3108>>2] = $496; + $447 = HEAP32[(25840)>>2]|0; + $448 = ($447|0)==(0); + if (!($448)) { + $449 = HEAP32[(25836)>>2]|0; + $450 = HEAP32[6963]|0; + $451 = (($450) + ($449))|0; + HEAP32[6963] = $451; } - $497 = HEAP32[(1148)>>2]|0; - $498 = ($497|0)==(0); - if (!($498)) { - $499 = HEAP32[(1144)>>2]|0; - $500 = HEAP32[3108>>2]|0; - $501 = (($500) + ($499))|0; - HEAP32[3108>>2] = $501; + $452 = HEAP32[(25888)>>2]|0; + $453 = ($452|0)==(0); + if (!($453)) { + $454 = HEAP32[(25884)>>2]|0; + $455 = HEAP32[6963]|0; + $456 = (($455) + ($454))|0; + HEAP32[6963] = $456; } - $266 = HEAP32[(1196)>>2]|0; - $267 = ($266|0)==(0); - if (!($267)) { - $268 = HEAP32[(1192)>>2]|0; - $269 = HEAP32[3108>>2]|0; - $270 = (($269) + ($268))|0; - HEAP32[3108>>2] = $270; + $234 = HEAP32[(25936)>>2]|0; + $235 = ($234|0)==(0); + if (!($235)) { + $236 = HEAP32[(25932)>>2]|0; + $237 = HEAP32[6963]|0; + $238 = (($237) + ($236))|0; + HEAP32[6963] = $238; } - $271 = HEAP32[(1244)>>2]|0; - $272 = ($271|0)==(0); - if (!($272)) { - $416 = HEAP32[(1240)>>2]|0; - $417 = HEAP32[3108>>2]|0; + $239 = HEAP32[(25984)>>2]|0; + $240 = ($239|0)==(0); + if (!($240)) { + $371 = HEAP32[(25980)>>2]|0; + $372 = HEAP32[6963]|0; + $373 = (($372) + ($371))|0; + HEAP32[6963] = $373; + } + $374 = HEAP32[(26032)>>2]|0; + $375 = ($374|0)==(0); + if (!($375)) { + $376 = HEAP32[(26028)>>2]|0; + $377 = HEAP32[6963]|0; + $378 = (($377) + ($376))|0; + HEAP32[6963] = $378; + } + $379 = HEAP32[(26080)>>2]|0; + $380 = ($379|0)==(0); + if (!($380)) { + $381 = HEAP32[(26076)>>2]|0; + $382 = HEAP32[6963]|0; + $383 = (($382) + ($381))|0; + HEAP32[6963] = $383; + } + $384 = HEAP32[(26128)>>2]|0; + $385 = ($384|0)==(0); + if (!($385)) { + $386 = HEAP32[(26124)>>2]|0; + $387 = HEAP32[6963]|0; + $388 = (($387) + ($386))|0; + HEAP32[6963] = $388; + } + $389 = HEAP32[(26176)>>2]|0; + $390 = ($389|0)==(0); + if (!($390)) { + $391 = HEAP32[(26172)>>2]|0; + $392 = HEAP32[6963]|0; + $393 = (($392) + ($391))|0; + HEAP32[6963] = $393; + } + $394 = HEAP32[(26224)>>2]|0; + $395 = ($394|0)==(0); + if (!($395)) { + $396 = HEAP32[(26220)>>2]|0; + $397 = HEAP32[6963]|0; + $398 = (($397) + ($396))|0; + HEAP32[6963] = $398; + } + $399 = HEAP32[(26272)>>2]|0; + $400 = ($399|0)==(0); + if (!($400)) { + $401 = HEAP32[(26268)>>2]|0; + $402 = HEAP32[6963]|0; + $403 = (($402) + ($401))|0; + HEAP32[6963] = $403; + } + $404 = HEAP32[(26320)>>2]|0; + $405 = ($404|0)==(0); + if (!($405)) { + $406 = HEAP32[(26316)>>2]|0; + $407 = HEAP32[6963]|0; + $408 = (($407) + ($406))|0; + HEAP32[6963] = $408; + } + $409 = HEAP32[(26368)>>2]|0; + $410 = ($409|0)==(0); + if (!($410)) { + $411 = HEAP32[(26364)>>2]|0; + $412 = HEAP32[6963]|0; + $413 = (($412) + ($411))|0; + HEAP32[6963] = $413; + } + $414 = HEAP32[(26416)>>2]|0; + $415 = ($414|0)==(0); + if (!($415)) { + $416 = HEAP32[(26412)>>2]|0; + $417 = HEAP32[6963]|0; $418 = (($417) + ($416))|0; - HEAP32[3108>>2] = $418; + HEAP32[6963] = $418; } - $419 = HEAP32[(1292)>>2]|0; + $419 = HEAP32[(26464)>>2]|0; $420 = ($419|0)==(0); - if (!($420)) { - $421 = HEAP32[(1288)>>2]|0; - $422 = HEAP32[3108>>2]|0; - $423 = (($422) + ($421))|0; - HEAP32[3108>>2] = $423; - } - $424 = HEAP32[(1340)>>2]|0; - $425 = ($424|0)==(0); - if (!($425)) { - $426 = HEAP32[(1336)>>2]|0; - $427 = HEAP32[3108>>2]|0; - $428 = (($427) + ($426))|0; - HEAP32[3108>>2] = $428; - } - $429 = HEAP32[(1388)>>2]|0; - $430 = ($429|0)==(0); - if (!($430)) { - $431 = HEAP32[(1384)>>2]|0; - $432 = HEAP32[3108>>2]|0; - $433 = (($432) + ($431))|0; - HEAP32[3108>>2] = $433; - } - $434 = HEAP32[(1436)>>2]|0; - $435 = ($434|0)==(0); - if (!($435)) { - $436 = HEAP32[(1432)>>2]|0; - $437 = HEAP32[3108>>2]|0; - $438 = (($437) + ($436))|0; - HEAP32[3108>>2] = $438; - } - $439 = HEAP32[(1484)>>2]|0; - $440 = ($439|0)==(0); - if (!($440)) { - $441 = HEAP32[(1480)>>2]|0; - $442 = HEAP32[3108>>2]|0; - $443 = (($442) + ($441))|0; - HEAP32[3108>>2] = $443; - } - $444 = HEAP32[(1532)>>2]|0; - $445 = ($444|0)==(0); - if (!($445)) { - $446 = HEAP32[(1528)>>2]|0; - $447 = HEAP32[3108>>2]|0; - $448 = (($447) + ($446))|0; - HEAP32[3108>>2] = $448; - } - $449 = HEAP32[(1580)>>2]|0; - $450 = ($449|0)==(0); - if (!($450)) { - $451 = HEAP32[(1576)>>2]|0; - $452 = HEAP32[3108>>2]|0; - $453 = (($452) + ($451))|0; - HEAP32[3108>>2] = $453; - } - $454 = HEAP32[(1628)>>2]|0; - $455 = ($454|0)==(0); - if (!($455)) { - $456 = HEAP32[(1624)>>2]|0; - $457 = HEAP32[3108>>2]|0; - $458 = (($457) + ($456))|0; - HEAP32[3108>>2] = $458; - } - $459 = HEAP32[(1676)>>2]|0; - $460 = ($459|0)==(0); - if (!($460)) { - $461 = HEAP32[(1672)>>2]|0; - $462 = HEAP32[3108>>2]|0; - $463 = (($462) + ($461))|0; - HEAP32[3108>>2] = $463; - } - $464 = HEAP32[(1724)>>2]|0; - $465 = ($464|0)==(0); - if ($465) { - $i9$048 = 0; + if ($420) { + $$0195233 = 0; } else { - $466 = HEAP32[(1720)>>2]|0; - $467 = HEAP32[3108>>2]|0; - $468 = (($467) + ($466))|0; - HEAP32[3108>>2] = $468; - $i9$048 = 0; + $421 = HEAP32[(26460)>>2]|0; + $422 = HEAP32[6963]|0; + $423 = (($422) + ($421))|0; + HEAP32[6963] = $423; + $$0195233 = 0; } while(1) { - $273 = (((1756 + (($i9$048*48)|0)|0)) + 16|0); - $274 = HEAP32[$273>>2]|0; - $275 = ($274|0)==(0); - if (!($275)) { - $276 = (((1756 + (($i9$048*48)|0)|0)) + 12|0); - $277 = HEAP32[$276>>2]|0; - $278 = HEAP32[3108>>2]|0; - $279 = (($278) + ($277))|0; - HEAP32[3108>>2] = $279; + $241 = (((26496 + (($$0195233*48)|0)|0)) + 16|0); + $242 = HEAP32[$241>>2]|0; + $243 = ($242|0)==(0); + if (!($243)) { + $244 = (((26496 + (($$0195233*48)|0)|0)) + 12|0); + $245 = HEAP32[$244>>2]|0; + $246 = HEAP32[6963]|0; + $247 = (($246) + ($245))|0; + HEAP32[6963] = $247; } - $280 = (($i9$048) + 1)|0; - $exitcond = ($280|0)==(20); + $248 = (($$0195233) + 1)|0; + $exitcond = ($248|0)==(20); if ($exitcond) { break; } else { - $i9$048 = $280; + $$0195233 = $248; } } - $281 = HEAP32[2716>>2]|0; - HEAP32[3112>>2] = $281; - HEAP32[2716>>2] = 0; - $282 = HEAP32[(812)>>2]|0; - $not$ = ($282|0)!=(0); - $283 = HEAP32[(860)>>2]|0; - $284 = ($283|0)==(0); - $285 = HEAP32[(908)>>2]|0; - $286 = ($285|0)==(0); - $287 = $286 | $284; - $288 = HEAP32[(956)>>2]|0; - $289 = ($288|0)==(0); - $290 = $289 | $287; - $291 = HEAP32[(1004)>>2]|0; - $292 = ($291|0)==(0); - $293 = $292 | $290; - $294 = HEAP32[(1052)>>2]|0; + $249 = HEAP32[6864]|0; + HEAP32[6964] = $249; + HEAP32[6864] = 0; + $250 = HEAP32[(25552)>>2]|0; + $not$ = ($250|0)!=(0); + $251 = HEAP32[(25600)>>2]|0; + $not$269 = ($251|0)!=(0); + $narrow = $not$ & $not$269; + $252 = HEAP32[(25648)>>2]|0; + $not$271 = ($252|0)!=(0); + $narrow270 = $narrow & $not$271; + $253 = HEAP32[(25696)>>2]|0; + $not$273 = ($253|0)!=(0); + $narrow272 = $narrow270 & $not$273; + $254 = HEAP32[(25744)>>2]|0; + $not$275 = ($254|0)!=(0); + $narrow274 = $narrow272 & $not$275; + $255 = HEAP32[(25792)>>2]|0; + $not$277 = ($255|0)!=(0); + $narrow276 = $narrow274 & $not$277; + $256 = HEAP32[(25840)>>2]|0; + $not$279 = ($256|0)!=(0); + $narrow278 = $narrow276 & $not$279; + $257 = HEAP32[(25888)>>2]|0; + $not$281 = ($257|0)!=(0); + $narrow280 = $narrow278 & $not$281; + if ($narrow280) { + HEAP32[6864] = 1; + $$2229$ph = 0; + } else { + $$2229$ph = 1; + } + $258 = HEAP32[(25936)>>2]|0; + $259 = ($258|0)==(0); + $260 = HEAP32[(25984)>>2]|0; + $261 = ($260|0)==(0); + $262 = $261 | $259; + $263 = HEAP32[(26032)>>2]|0; + $264 = ($263|0)==(0); + $265 = $264 | $262; + $266 = HEAP32[(26080)>>2]|0; + $267 = ($266|0)==(0); + $268 = $267 | $265; + $269 = HEAP32[(26128)>>2]|0; + $270 = ($269|0)==(0); + $271 = $270 | $268; + $272 = HEAP32[(26176)>>2]|0; + $273 = ($272|0)==(0); + $274 = $273 | $271; + $275 = HEAP32[(26224)>>2]|0; + $276 = ($275|0)==(0); + $277 = $276 | $274; + $278 = HEAP32[(26272)>>2]|0; + $279 = ($278|0)==(0); + $280 = $279 | $277; + $281 = HEAP32[(26320)>>2]|0; + $282 = ($281|0)==(0); + $283 = $282 | $280; + $284 = HEAP32[(26368)>>2]|0; + $285 = ($284|0)==(0); + $286 = $285 | $283; + $287 = HEAP32[(26416)>>2]|0; + $288 = ($287|0)==(0); + $289 = $288 | $286; + $290 = HEAP32[(26464)>>2]|0; + $291 = ($290|0)==(0); + $292 = $291 | $289; + $293 = $292 | $$2229$ph; + if ($293) { + $$4227$ph = 1; + } else { + HEAP32[6864] = 2; + $$4227$ph = 0; + } + $294 = HEAP32[(26512)>>2]|0; $295 = ($294|0)==(0); - $296 = $295 | $293; - $297 = HEAP32[(1100)>>2]|0; - $298 = ($297|0)==(0); - $299 = $298 | $296; - $300 = HEAP32[(1148)>>2]|0; - $301 = ($300|0)==(0); - $302 = $301 | $299; - $303 = $not$ ^ 1; - $304 = $302 | $303; - if ($304) { - $lightedLevel$2$ph = 1; - } else { - HEAP32[2716>>2] = 1; - $phitmp74 = $not$ ^ 1; - $lightedLevel$2$ph = $phitmp74; - } - $305 = HEAP32[(1196)>>2]|0; + $296 = HEAP32[(26560)>>2]|0; + $297 = ($296|0)==(0); + $298 = $297 | $295; + $299 = HEAP32[(26608)>>2]|0; + $300 = ($299|0)==(0); + $301 = $300 | $298; + $302 = HEAP32[(26656)>>2]|0; + $303 = ($302|0)==(0); + $304 = $303 | $301; + $305 = HEAP32[(26704)>>2]|0; $306 = ($305|0)==(0); - $307 = HEAP32[(1244)>>2]|0; - $308 = ($307|0)==(0); - $309 = $308 | $306; - $310 = HEAP32[(1292)>>2]|0; - $311 = ($310|0)==(0); - $312 = $311 | $309; - $313 = HEAP32[(1340)>>2]|0; - $314 = ($313|0)==(0); - $315 = $314 | $312; - $316 = HEAP32[(1388)>>2]|0; - $317 = ($316|0)==(0); - $318 = $317 | $315; - $319 = HEAP32[(1436)>>2]|0; - $320 = ($319|0)==(0); - $321 = $320 | $318; - $322 = HEAP32[(1484)>>2]|0; - $323 = ($322|0)==(0); - $324 = $323 | $321; - $325 = HEAP32[(1532)>>2]|0; - $326 = ($325|0)==(0); - $327 = $326 | $324; - $328 = HEAP32[(1580)>>2]|0; - $329 = ($328|0)==(0); - $330 = $329 | $327; - $331 = HEAP32[(1628)>>2]|0; - $332 = ($331|0)==(0); - $333 = $332 | $330; - $334 = HEAP32[(1676)>>2]|0; - $335 = ($334|0)==(0); - $336 = $335 | $333; - $337 = HEAP32[(1724)>>2]|0; - $338 = ($337|0)==(0); - $339 = $338 | $336; - $340 = $339 | $lightedLevel$2$ph; - if ($340) { - $lightedLevel$4$ph = 1; - } else { - HEAP32[2716>>2] = 2; - $lightedLevel$4$ph = $lightedLevel$2$ph; - } - $341 = HEAP32[(1772)>>2]|0; + $307 = $306 | $304; + $308 = HEAP32[(26752)>>2]|0; + $309 = ($308|0)==(0); + $310 = $309 | $307; + $311 = HEAP32[(26800)>>2]|0; + $312 = ($311|0)==(0); + $313 = $312 | $310; + $314 = HEAP32[(26848)>>2]|0; + $315 = ($314|0)==(0); + $316 = $315 | $313; + $317 = HEAP32[(26896)>>2]|0; + $318 = ($317|0)==(0); + $319 = $318 | $316; + $320 = HEAP32[(26944)>>2]|0; + $321 = ($320|0)==(0); + $322 = $321 | $319; + $323 = HEAP32[(26992)>>2]|0; + $324 = ($323|0)==(0); + $325 = $324 | $322; + $326 = HEAP32[(27040)>>2]|0; + $327 = ($326|0)==(0); + $328 = $327 | $325; + $329 = HEAP32[(27088)>>2]|0; + $330 = ($329|0)==(0); + $331 = $330 | $328; + $332 = HEAP32[(27136)>>2]|0; + $333 = ($332|0)==(0); + $334 = $333 | $331; + $335 = HEAP32[(27184)>>2]|0; + $336 = ($335|0)==(0); + $337 = $336 | $334; + $338 = HEAP32[(27232)>>2]|0; + $339 = ($338|0)==(0); + $340 = $339 | $337; + $341 = HEAP32[(27280)>>2]|0; $342 = ($341|0)==(0); - $343 = HEAP32[(1820)>>2]|0; - $344 = ($343|0)==(0); - $345 = $344 | $342; - $346 = HEAP32[(1868)>>2]|0; - $347 = ($346|0)==(0); - $348 = $347 | $345; - $349 = HEAP32[(1916)>>2]|0; - $350 = ($349|0)==(0); - $351 = $350 | $348; - $352 = HEAP32[(1964)>>2]|0; - $353 = ($352|0)==(0); - $354 = $353 | $351; - $355 = HEAP32[(2012)>>2]|0; - $356 = ($355|0)==(0); - $357 = $356 | $354; - $358 = HEAP32[(2060)>>2]|0; - $359 = ($358|0)==(0); - $360 = $359 | $357; - $361 = HEAP32[(2108)>>2]|0; - $362 = ($361|0)==(0); - $363 = $362 | $360; - $364 = HEAP32[(2156)>>2]|0; - $365 = ($364|0)==(0); - $366 = $365 | $363; - $367 = HEAP32[(2204)>>2]|0; - $368 = ($367|0)==(0); - $369 = $368 | $366; - $370 = HEAP32[(2252)>>2]|0; - $371 = ($370|0)==(0); - $372 = $371 | $369; - $373 = HEAP32[(2300)>>2]|0; - $374 = ($373|0)==(0); - $375 = $374 | $372; - $376 = HEAP32[(2348)>>2]|0; - $377 = ($376|0)==(0); - $378 = $377 | $375; - $379 = HEAP32[(2396)>>2]|0; - $380 = ($379|0)==(0); - $381 = $380 | $378; - $382 = HEAP32[(2444)>>2]|0; - $383 = ($382|0)==(0); - $384 = $383 | $381; - $385 = HEAP32[(2492)>>2]|0; - $386 = ($385|0)==(0); - $387 = $386 | $384; - $388 = HEAP32[(2540)>>2]|0; - $389 = ($388|0)==(0); - $390 = $389 | $387; - $391 = HEAP32[(2588)>>2]|0; - $392 = ($391|0)==(0); - $393 = $392 | $390; - $394 = HEAP32[(2636)>>2]|0; - $395 = ($394|0)==(0); - $396 = $395 | $393; - $397 = HEAP32[(2684)>>2]|0; - $398 = ($397|0)==(0); - $399 = $398 | $396; - $400 = $399 | $lightedLevel$4$ph; - if (!($400)) { - HEAP32[2716>>2] = 3; - HEAP32[(2756)>>2] = 0; - HEAP32[(2800)>>2] = 0; - HEAP32[(2844)>>2] = 0; - HEAP32[(2888)>>2] = 0; - HEAP32[(2932)>>2] = 0; - HEAP32[(2976)>>2] = 0; - HEAP32[(3020)>>2] = 0; - HEAP32[(3064)>>2] = 0; + $343 = $342 | $340; + $344 = HEAP32[(27328)>>2]|0; + $345 = ($344|0)==(0); + $346 = $345 | $343; + $347 = HEAP32[(27376)>>2]|0; + $348 = ($347|0)==(0); + $349 = $348 | $346; + $350 = HEAP32[(27424)>>2]|0; + $351 = ($350|0)==(0); + $352 = $351 | $349; + $353 = $352 | $$4227$ph; + if (!($353)) { + HEAP32[6864] = 3; + HEAP32[(27496)>>2] = 0; + HEAP32[(27540)>>2] = 0; + HEAP32[(27584)>>2] = 0; + HEAP32[(27628)>>2] = 0; + HEAP32[(27672)>>2] = 0; + HEAP32[(27716)>>2] = 0; + HEAP32[(27760)>>2] = 0; + HEAP32[(27804)>>2] = 0; } - $401 = HEAP32[2716>>2]|0; - $402 = HEAP32[3112>>2]|0; - $403 = ($401|0)==($402|0); - if (!($403)) { - _EnemyReset(2728); - _EnemyReset((2772)); - _EnemyReset((2816)); - _EnemyReset((2860)); - _EnemyReset((2904)); - _EnemyReset((2948)); - _EnemyReset((2992)); - _EnemyReset((3036)); + $354 = HEAP32[6864]|0; + $355 = HEAP32[6964]|0; + $356 = ($354|0)==($355|0); + if (!($356)) { + _EnemyReset(27468); + _EnemyReset((27512)); + _EnemyReset((27556)); + _EnemyReset((27600)); + _EnemyReset((27644)); + _EnemyReset((27688)); + _EnemyReset((27732)); + _EnemyReset((27776)); } - $404 = HEAP32[336>>2]|0; - $405 = (+($404|0)); - $406 = $405 / 60.0; - HEAPF32[3084>>2] = $406; - $407 = 99.0 - $406; - $408 = !($407 <= 0.0); - if ($408) { + $357 = HEAP32[6278]|0; + $358 = (+($357|0)); + $359 = $358 / 60.0; + HEAPF32[6956] = $359; + $360 = 99.0 - $359; + $361 = !($360 <= 0.0); + if ($361) { break; } - HEAPF32[3084>>2] = 99.0; - HEAP32[3096>>2] = 1; + HEAPF32[6956] = 99.0; + HEAP32[6959] = 1; } } while(0); - $409 = HEAP32[3088>>2]|0; - $410 = ($409|0)==(0); - if ($410) { + $362 = HEAP32[6957]|0; + $363 = ($362|0)==(0); + if ($363) { + $370 = HEAP32[6962]|0; + _UpdateMusicStream($370); STACKTOP = sp;return; } - $411 = +HEAPF32[3092>>2]; - $412 = $411 + 0.019999999552965164; - HEAPF32[3092>>2] = $412; - $413 = 1.0 - $412; - _SetMusicVolume($413); - $414 = +HEAPF32[3092>>2]; - $415 = $414 > 1.0; - if (!($415)) { + $364 = +HEAPF32[6958]; + $365 = $364 + 0.019999999552965164; + HEAPF32[6958] = $365; + $366 = HEAP32[6962]|0; + $367 = 1.0 - $365; + _SetMusicVolume($366,$367); + $368 = +HEAPF32[6958]; + $369 = $368 > 1.0; + if (!($369)) { + $370 = HEAP32[6962]|0; + _UpdateMusicStream($370); STACKTOP = sp;return; } - HEAP32[340>>2] = 1; + HEAP32[6279] = 1; + $370 = HEAP32[6962]|0; + _UpdateMusicStream($370); STACKTOP = sp;return; } -function _DrawGameplayScreen() { - var $$byval_copy77 = 0, $$pr = 0, $$pr231 = 0, $0 = 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; - 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.0, $185 = 0.0; - var $186 = 0, $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0.0, $198 = 0.0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0.0, $202 = 0.0; - var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0.0, $21 = 0, $210 = 0, $211 = 0, $212 = 0.0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0.0, $217 = 0, $218 = 0, $219 = 0.0, $22 = 0, $220 = 0.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.0, $235 = 0.0, $236 = 0, $237 = 0.0, $238 = 0.0, $239 = 0; - var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0.0, $248 = 0.0, $249 = 0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0.0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0; - var $258 = 0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0, $262 = 0.0, $263 = 0.0, $264 = 0, $265 = 0, $266 = 0.0, $267 = 0, $268 = 0, $269 = 0.0, $27 = 0, $270 = 0.0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; - var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0.0, $288 = 0.0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0; - var $294 = 0, $295 = 0, $296 = 0, $297 = 0.0, $298 = 0.0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0.0, $302 = 0.0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0; - var $311 = 0, $312 = 0.0, $313 = 0.0, $314 = 0, $315 = 0, $316 = 0.0, $317 = 0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0.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.0, $336 = 0.0, $337 = 0, $338 = 0.0, $339 = 0.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.0, $352 = 0.0, $353 = 0, $354 = 0.0, $355 = 0.0, $356 = 0, $357 = 0.0, $358 = 0.0, $359 = 0.0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0; - var $366 = 0.0, $367 = 0.0, $368 = 0.0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0.0, $377 = 0.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.0, $4 = 0, $40 = 0, $400 = 0; - var $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, $419 = 0; - var $42 = 0, $420 = 0.0, $421 = 0.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; - var $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.0, $452 = 0, $453 = 0, $454 = 0, $455 = 0; - var $456 = 0, $457 = 0, $458 = 0, $459 = 0.0, $46 = 0, $460 = 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, $exitcond = 0, $exitcond251 = 0, $exitcond252 = 0, $exitcond253 = 0, $exitcond254 = 0, $exitcond255 = 0, $exitcond256 = 0, $exitcond257 = 0, $exitcond258 = 0, $exitcond259 = 0, $font$byval_copy76 = 0, $i$0250 = 0, $i1$0249 = 0, $i2$0248 = 0, $i3$0247 = 0, $i4$0246 = 0; - var $i5$0245 = 0, $i6$0244 = 0, $i7$0243 = 0, $i8$0242 = 0, $i9$0241 = 0, $texEnemy$byval_copy = 0, $tmpcast272$byval_copy = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; +function _Vector2Subtract_50($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$4$0$$sroa_idx2 = 0, $10 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 528|0; - $tmpcast272$byval_copy = sp + 516|0; - $$byval_copy77 = sp + 408|0; - $font$byval_copy76 = sp + 364|0; - $texEnemy$byval_copy = sp + 216|0; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 - $4; + $6 = ((($1)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($2)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + HEAPF32[$0>>2] = $5; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; + return; +} +function _Vector2Normalize_52($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, $sqrtf$op = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $sqrtf = (+Math_sqrt((+$6))); + $7 = $sqrtf == 0.0; + $sqrtf$op = 1.0 / $sqrtf; + $8 = $7 ? 1.0 : $sqrtf$op; + $9 = $1 * $8; + HEAPF32[$0>>2] = $9; + $10 = $4 * $8; + HEAPF32[$3>>2] = $10; + return; +} +function _DrawGameplayScreen() { + var $$06170 = 0, $$06271 = 0, $$06372 = 0, $$069 = 0, $$byval_copy86 = 0, $$pr = 0, $$pr65 = 0, $0 = 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.0, $197 = 0, $198 = 0.0, $199 = 0.0, $2 = 0; + var $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0, $203 = 0, $204 = 0.0, $205 = 0.0, $206 = 0, $207 = 0.0, $208 = 0, $209 = 0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0.0, $217 = 0.0; + var $218 = 0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $236 = 0, $237 = 0.0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0, $244 = 0, $245 = 0.0, $246 = 0.0, $247 = 0, $248 = 0.0, $249 = 0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0.0, $253 = 0; + var $254 = 0, $255 = 0, $256 = 0, $257 = 0.0, $258 = 0.0, $259 = 0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0.0, $267 = 0.0, $268 = 0, $269 = 0.0, $27 = 0, $270 = 0.0, $271 = 0; + var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0.0, $279 = 0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0.0, $284 = 0, $285 = 0, $286 = 0.0, $287 = 0.0, $288 = 0, $289 = 0.0, $29 = 0; + var $290 = 0, $291 = 0, $292 = 0.0, $293 = 0.0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0, $300 = 0, $301 = 0.0, $302 = 0.0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0.0; + var $308 = 0.0, $309 = 0, $31 = 0, $310 = 0.0, $311 = 0.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.0, $327 = 0.0, $328 = 0, $329 = 0.0, $33 = 0, $330 = 0.0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0.0, $339 = 0.0, $34 = 0, $340 = 0.0, $341 = 0, $342 = 0, $343 = 0; + var $344 = 0.0, $345 = 0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0.0, $35 = 0, $350 = 0.0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0.0, $359 = 0.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.0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0.0, $388 = 0.0, $389 = 0, $39 = 0, $390 = 0.0, $391 = 0.0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0; + var $399 = 0, $4 = 0, $40 = 0, $400 = 0.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.0, $414 = 0.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.0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0; + var $452 = 0.0, $453 = 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, $exitcond73 = 0, $exitcond74 = 0, $exitcond75 = 0, $font$byval_copy85 = 0, $texEnemy$byval_copy = 0, $tmpcast88$byval_copy = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer25 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 544|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(544|0); + $tmpcast88$byval_copy = sp + 540|0; + $$byval_copy86 = sp + 432|0; + $font$byval_copy85 = sp + 400|0; + $texEnemy$byval_copy = sp + 304|0; + $vararg_buffer25 = sp + 72|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; $vararg_buffer16 = sp + 48|0; $vararg_buffer13 = sp + 40|0; $vararg_buffer10 = sp + 32|0; @@ -13455,106 +14057,106 @@ function _DrawGameplayScreen() { $vararg_buffer4 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 360|0; - $1 = sp + 356|0; - $2 = sp + 352|0; - $3 = sp + 348|0; - $4 = sp + 344|0; - $5 = sp + 340|0; - $6 = sp + 336|0; - $7 = sp + 332|0; - $8 = sp + 328|0; - $9 = sp + 324|0; - $10 = sp + 320|0; - $11 = sp + 316|0; - $12 = sp + 312|0; - $13 = sp + 304|0; - $14 = sp + 296|0; - $15 = sp + 288|0; - $16 = sp + 284|0; - $17 = sp + 512|0; - $18 = sp + 508|0; - $19 = sp + 504|0; - $20 = sp + 280|0; - $21 = sp + 272|0; - $22 = sp + 264|0; - $23 = sp + 256|0; - $24 = sp + 252|0; - $25 = sp + 500|0; - $26 = sp + 496|0; - $27 = sp + 492|0; - $28 = sp + 248|0; - $29 = sp + 240|0; - $30 = sp + 236|0; - $31 = sp + 208|0; - $32 = sp + 204|0; - $33 = sp + 488|0; - $34 = sp + 484|0; - $35 = sp + 480|0; - $36 = sp + 200|0; - $37 = sp + 196|0; - $38 = sp + 476|0; - $39 = sp + 192|0; - $40 = sp + 176|0; - $41 = sp + 168|0; - $42 = sp + 160|0; - $43 = sp + 152|0; - $44 = sp + 148|0; - $45 = sp + 472|0; - $46 = sp + 468|0; - $47 = sp + 464|0; - $48 = sp + 144|0; - $49 = sp + 460|0; - $50 = sp + 456|0; - $51 = sp + 452|0; - $52 = sp + 136|0; - $53 = sp + 132|0; - $54 = sp + 448|0; - $55 = sp + 444|0; - $56 = sp + 128|0; - $57 = sp + 120|0; - $58 = sp + 112|0; - $59 = sp + 104|0; - $60 = sp + 100|0; - $61 = sp + 440|0; - $62 = sp + 436|0; - $63 = sp + 96|0; - $64 = sp + 88|0; - $65 = sp + 80|0; - $66 = sp + 72|0; - $67 = sp + 64|0; - $68 = sp + 432|0; - $69 = sp + 428|0; - $70 = sp + 56|0; - $71 = sp + 52|0; + $0 = sp + 392|0; + $1 = sp + 388|0; + $2 = sp + 384|0; + $3 = sp + 380|0; + $4 = sp + 376|0; + $5 = sp + 372|0; + $6 = sp + 368|0; + $7 = sp + 364|0; + $8 = sp + 360|0; + $9 = sp + 356|0; + $10 = sp + 352|0; + $11 = sp + 348|0; + $12 = sp + 344|0; + $13 = sp + 336|0; + $14 = sp + 328|0; + $15 = sp + 536|0; + $16 = sp + 324|0; + $17 = sp + 532|0; + $18 = sp + 296|0; + $19 = sp + 288|0; + $20 = sp + 528|0; + $21 = sp + 280|0; + $22 = sp + 276|0; + $23 = sp + 524|0; + $24 = sp + 272|0; + $25 = sp + 520|0; + $26 = sp + 264|0; + $27 = sp + 256|0; + $28 = sp + 516|0; + $29 = sp + 248|0; + $30 = sp + 244|0; + $31 = sp + 512|0; + $32 = sp + 240|0; + $33 = sp + 508|0; + $34 = sp + 232|0; + $35 = sp + 224|0; + $36 = sp + 504|0; + $37 = sp + 220|0; + $38 = sp + 500|0; + $39 = sp + 216|0; + $40 = sp + 200|0; + $41 = sp + 192|0; + $42 = sp + 184|0; + $43 = sp + 176|0; + $44 = sp + 172|0; + $45 = sp + 496|0; + $46 = sp + 492|0; + $47 = sp + 488|0; + $48 = sp + 168|0; + $49 = sp + 484|0; + $50 = sp + 480|0; + $51 = sp + 476|0; + $52 = sp + 160|0; + $53 = sp + 156|0; + $54 = sp + 472|0; + $55 = sp + 468|0; + $56 = sp + 152|0; + $57 = sp + 144|0; + $58 = sp + 136|0; + $59 = sp + 128|0; + $60 = sp + 124|0; + $61 = sp + 464|0; + $62 = sp + 460|0; + $63 = sp + 120|0; + $64 = sp + 112|0; + $65 = sp + 104|0; + $66 = sp + 96|0; + $67 = sp + 88|0; + $68 = sp + 456|0; + $69 = sp + 452|0; + $70 = sp + 80|0; + $71 = sp + 76|0; HEAP32[$0>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[348>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[348+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[348+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[348+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[348+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _DrawTexture($$byval_copy77,0,0,$tmpcast272$byval_copy); - $72 = HEAP32[2716>>2]|0; - $73 = $72 & -2; - $74 = ($73|0)==(2); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25124>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25124+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25124+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25124+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25124+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; + _DrawTexture($$byval_copy86,0,0,$tmpcast88$byval_copy); + $72 = HEAP32[6864]|0; + $73 = $72 | 1; + $74 = ($73|0)==(3); L1: do { if ($74) { HEAP32[$1>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[408>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[408+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[408+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[408+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[408+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; - _DrawTexture($$byval_copy77,0,0,$tmpcast272$byval_copy); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25184>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25184+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25184+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25184+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25184+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; + _DrawTexture($$byval_copy86,0,0,$tmpcast88$byval_copy); } else { switch ($72|0) { case 1: { HEAP32[$2>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[388>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[388+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[388+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[388+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[388+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawTexture($$byval_copy77,0,0,$tmpcast272$byval_copy); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25164>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25164+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25164+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25164+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25164+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; + _DrawTexture($$byval_copy86,0,0,$tmpcast88$byval_copy); break L1; break; } case 0: { HEAP32[$3>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[368>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[368+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[368+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[368+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[368+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _DrawTexture($$byval_copy77,0,0,$tmpcast272$byval_copy); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25144>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25144+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25144+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25144+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25144+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTexture($$byval_copy86,0,0,$tmpcast88$byval_copy); break L1; break; } @@ -13564,147 +14166,147 @@ function _DrawGameplayScreen() { } } } while(0); - $75 = HEAP32[2716>>2]|0; + $75 = HEAP32[6864]|0; switch ($75|0) { case 3: { $76 = (_GetScreenWidth()|0); $77 = (($76|0) / 2)&-1; - $78 = HEAP32[(692)>>2]|0; + $78 = HEAP32[(25468)>>2]|0; $79 = (($78|0) / 2)&-1; $80 = (($77) - ($79))|0; $81 = (_GetScreenHeight()|0); $82 = (($81|0) / 2)&-1; - $83 = HEAP32[(696)>>2]|0; + $83 = HEAP32[(25472)>>2]|0; $84 = (($83|0) / 2)&-1; $85 = (($82) - ($84))|0; HEAP32[$4>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[688>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[688+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[688+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[688+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[688+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$4>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTexture($$byval_copy77,$80,$85,$tmpcast272$byval_copy); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25464>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25464+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25464+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25464+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25464+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$4>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTexture($$byval_copy86,$80,$85,$tmpcast88$byval_copy); $86 = (_GetScreenWidth()|0); $87 = (($86|0) / 2)&-1; - $88 = HEAP32[(672)>>2]|0; + $88 = HEAP32[(25448)>>2]|0; $89 = (($88|0) / 2)&-1; $90 = (($87) - ($89))|0; $91 = (_GetScreenHeight()|0); $92 = (($91|0) / 2)&-1; - $93 = HEAP32[(676)>>2]|0; + $93 = HEAP32[(25452)>>2]|0; $94 = (($93|0) / 2)&-1; $95 = (($92) - ($94))|0; HEAP32[$5>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[668>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[668+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[668+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[668+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[668+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$5>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexture($$byval_copy77,$90,$95,$tmpcast272$byval_copy); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25444>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25444+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25444+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25444+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25444+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$5>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexture($$byval_copy86,$90,$95,$tmpcast88$byval_copy); $96 = (_GetScreenWidth()|0); $97 = (($96|0) / 2)&-1; - $98 = HEAP32[(652)>>2]|0; + $98 = HEAP32[(25428)>>2]|0; $99 = (($98|0) / 2)&-1; $100 = (($97) - ($99))|0; $101 = (_GetScreenHeight()|0); $102 = (($101|0) / 2)&-1; - $103 = HEAP32[(656)>>2]|0; + $103 = HEAP32[(25432)>>2]|0; $104 = (($103|0) / 2)&-1; $105 = (($102) - ($104))|0; HEAP32[$6>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[648>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[648+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[648+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[648+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[648+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$6>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$6+3>>0]|0; - _DrawTexture($$byval_copy77,$100,$105,$tmpcast272$byval_copy); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25424>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25424+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25424+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25424+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25424+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$6>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$6+3>>0]|0; + _DrawTexture($$byval_copy86,$100,$105,$tmpcast88$byval_copy); label = 11; break; } case 2: { $106 = (_GetScreenWidth()|0); $107 = (($106|0) / 2)&-1; - $108 = HEAP32[(632)>>2]|0; + $108 = HEAP32[(25408)>>2]|0; $109 = (($108|0) / 2)&-1; $110 = (($107) - ($109))|0; $111 = (_GetScreenHeight()|0); $112 = (($111|0) / 2)&-1; - $113 = HEAP32[(636)>>2]|0; + $113 = HEAP32[(25412)>>2]|0; $114 = (($113|0) / 2)&-1; $115 = (($112) - ($114))|0; HEAP32[$7>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[628>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[628+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[628+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[628+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[628+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$7>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$7+3>>0]|0; - _DrawTexture($$byval_copy77,$110,$115,$tmpcast272$byval_copy); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25404>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25404+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25404+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25404+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25404+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$7>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$7+3>>0]|0; + _DrawTexture($$byval_copy86,$110,$115,$tmpcast88$byval_copy); $116 = (_GetScreenWidth()|0); $117 = (($116|0) / 2)&-1; - $118 = HEAP32[(672)>>2]|0; + $118 = HEAP32[(25448)>>2]|0; $119 = (($118|0) / 2)&-1; $120 = (($117) - ($119))|0; $121 = (_GetScreenHeight()|0); $122 = (($121|0) / 2)&-1; - $123 = HEAP32[(676)>>2]|0; + $123 = HEAP32[(25452)>>2]|0; $124 = (($123|0) / 2)&-1; $125 = (($122) - ($124))|0; HEAP32[$8>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[668>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[668+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[668+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[668+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[668+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$8>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$8+3>>0]|0; - _DrawTexture($$byval_copy77,$120,$125,$tmpcast272$byval_copy); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25444>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25444+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25444+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25444+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25444+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$8>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$8+3>>0]|0; + _DrawTexture($$byval_copy86,$120,$125,$tmpcast88$byval_copy); $126 = (_GetScreenWidth()|0); $127 = (($126|0) / 2)&-1; - $128 = HEAP32[(652)>>2]|0; + $128 = HEAP32[(25428)>>2]|0; $129 = (($128|0) / 2)&-1; $130 = (($127) - ($129))|0; $131 = (_GetScreenHeight()|0); $132 = (($131|0) / 2)&-1; - $133 = HEAP32[(656)>>2]|0; + $133 = HEAP32[(25432)>>2]|0; $134 = (($133|0) / 2)&-1; $135 = (($132) - ($134))|0; HEAP32[$9>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[648>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[648+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[648+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[648+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[648+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$9>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$9+3>>0]|0; - _DrawTexture($$byval_copy77,$130,$135,$tmpcast272$byval_copy); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25424>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25424+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25424+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25424+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25424+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$9>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$9+3>>0]|0; + _DrawTexture($$byval_copy86,$130,$135,$tmpcast88$byval_copy); label = 11; break; } case 1: { $136 = (_GetScreenWidth()|0); $137 = (($136|0) / 2)&-1; - $138 = HEAP32[(612)>>2]|0; + $138 = HEAP32[(25388)>>2]|0; $139 = (($138|0) / 2)&-1; $140 = (($137) - ($139))|0; $141 = (_GetScreenHeight()|0); $142 = (($141|0) / 2)&-1; - $143 = HEAP32[(616)>>2]|0; + $143 = HEAP32[(25392)>>2]|0; $144 = (($143|0) / 2)&-1; $145 = (($142) - ($144))|0; HEAP32[$10>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[608>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[608+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[608+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[608+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[608+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$10>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$10+3>>0]|0; - _DrawTexture($$byval_copy77,$140,$145,$tmpcast272$byval_copy); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25384>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25384+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25384+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25384+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25384+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$10>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$10+3>>0]|0; + _DrawTexture($$byval_copy86,$140,$145,$tmpcast88$byval_copy); $146 = (_GetScreenWidth()|0); $147 = (($146|0) / 2)&-1; - $148 = HEAP32[(652)>>2]|0; + $148 = HEAP32[(25428)>>2]|0; $149 = (($148|0) / 2)&-1; $150 = (($147) - ($149))|0; $151 = (_GetScreenHeight()|0); $152 = (($151|0) / 2)&-1; - $153 = HEAP32[(656)>>2]|0; + $153 = HEAP32[(25432)>>2]|0; $154 = (($153|0) / 2)&-1; $155 = (($152) - ($154))|0; HEAP32[$11>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[648>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[648+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[648+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[648+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[648+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$11>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$11+3>>0]|0; - _DrawTexture($$byval_copy77,$150,$155,$tmpcast272$byval_copy); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25424>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25424+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25424+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25424+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25424+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$11>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$11+3>>0]|0; + _DrawTexture($$byval_copy86,$150,$155,$tmpcast88$byval_copy); label = 11; break; } case 0: { $156 = (_GetScreenWidth()|0); $157 = (($156|0) / 2)&-1; - $158 = HEAP32[(592)>>2]|0; + $158 = HEAP32[(25368)>>2]|0; $159 = (($158|0) / 2)&-1; $160 = (($157) - ($159))|0; $161 = (_GetScreenHeight()|0); $162 = (($161|0) / 2)&-1; - $163 = HEAP32[(596)>>2]|0; + $163 = HEAP32[(25372)>>2]|0; $164 = (($163|0) / 2)&-1; $165 = (($162) - ($164))|0; HEAP32[$12>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[588>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[588+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[588+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[588+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[588+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$12>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$12+3>>0]|0; - _DrawTexture($$byval_copy77,$160,$165,$tmpcast272$byval_copy); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25364>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25364+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25364+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25364+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25364+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$12>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$12+3>>0]|0; + _DrawTexture($$byval_copy86,$160,$165,$tmpcast88$byval_copy); label = 11; break; } @@ -13713,132 +14315,107 @@ function _DrawGameplayScreen() { } } if ((label|0) == 11) { - $$pr = HEAP32[2716>>2]|0; + $$pr = HEAP32[6864]|0; $166 = $$pr; } switch ($166|0) { case 2: case 3: { - $167 = ((($15)) + 4|0); - $168 = ((($13)) + 4|0); - $i$0250 = 0; + $167 = ((($18)) + 4|0); + $168 = ((($20)) + 1|0); + $169 = ((($20)) + 2|0); + $170 = ((($20)) + 3|0); + $171 = ((($13)) + 4|0); + $172 = ((($17)) + 1|0); + $173 = ((($17)) + 2|0); + $174 = ((($17)) + 3|0); + $$06372 = 0; while(1) { - $179 = (((1756 + (($i$0250*48)|0)|0)) + 16|0); - $180 = HEAP32[$179>>2]|0; - $181 = ($180|0)==(0); - $182 = (((1756 + (($i$0250*48)|0)|0)) + 32|0); - $183 = (1756 + (($i$0250*48)|0)|0); - $184 = +HEAPF32[$183>>2]; - $185 = $184 + -32.0; - $186 = (((1756 + (($i$0250*48)|0)|0)) + 4|0); - $187 = +HEAPF32[$186>>2]; - $188 = $187 + -32.0; - if ($181) { - HEAPF32[$15>>2] = $185; - HEAPF32[$167>>2] = $188; - HEAP32[$16>>2] = -1; - ;HEAP32[$texEnemy$byval_copy>>2]=HEAP32[468>>2]|0;HEAP32[$texEnemy$byval_copy+4>>2]=HEAP32[468+4>>2]|0;HEAP32[$texEnemy$byval_copy+8>>2]=HEAP32[468+8>>2]|0;HEAP32[$texEnemy$byval_copy+12>>2]=HEAP32[468+12>>2]|0;HEAP32[$texEnemy$byval_copy+16>>2]=HEAP32[468+16>>2]|0; - ;HEAP32[$font$byval_copy76>>2]=HEAP32[$182>>2]|0;HEAP32[$font$byval_copy76+4>>2]=HEAP32[$182+4>>2]|0;HEAP32[$font$byval_copy76+8>>2]=HEAP32[$182+8>>2]|0;HEAP32[$font$byval_copy76+12>>2]=HEAP32[$182+12>>2]|0; - ;HEAP32[$$byval_copy77>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[$15+4>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$16>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$16+3>>0]|0; - _DrawTextureRec($texEnemy$byval_copy,$font$byval_copy76,$$byval_copy77,$tmpcast272$byval_copy); + $191 = (((26496 + (($$06372*48)|0)|0)) + 16|0); + $192 = HEAP32[$191>>2]|0; + $193 = ($192|0)==(0); + $194 = (((26496 + (($$06372*48)|0)|0)) + 32|0); + $195 = (((26496 + (($$06372*48)|0)|0)) + 4|0); + $196 = +HEAPF32[$195>>2]; + $197 = (26496 + (($$06372*48)|0)|0); + $198 = +HEAPF32[$197>>2]; + $199 = $196 + -32.0; + $200 = $198 + -32.0; + if ($193) { + HEAPF32[$18>>2] = $200; + HEAPF32[$167>>2] = $199; + HEAP32[$19>>2] = -1; + ;HEAP32[$texEnemy$byval_copy>>2]=HEAP32[25244>>2]|0;HEAP32[$texEnemy$byval_copy+4>>2]=HEAP32[25244+4>>2]|0;HEAP32[$texEnemy$byval_copy+8>>2]=HEAP32[25244+8>>2]|0;HEAP32[$texEnemy$byval_copy+12>>2]=HEAP32[25244+12>>2]|0;HEAP32[$texEnemy$byval_copy+16>>2]=HEAP32[25244+16>>2]|0; + ;HEAP32[$font$byval_copy85>>2]=HEAP32[$194>>2]|0;HEAP32[$font$byval_copy85+4>>2]=HEAP32[$194+4>>2]|0;HEAP32[$font$byval_copy85+8>>2]=HEAP32[$194+8>>2]|0;HEAP32[$font$byval_copy85+12>>2]=HEAP32[$194+12>>2]|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[$18+4>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$19>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$19+3>>0]|0; + _DrawTextureRec($texEnemy$byval_copy,$font$byval_copy85,$$byval_copy86,$tmpcast88$byval_copy); + $222 = (((26496 + (($$06372*48)|0)|0)) + 12|0); + $223 = HEAP32[$222>>2]|0; + HEAP32[$vararg_buffer1>>2] = $223; + $224 = (_FormatText(6733,$vararg_buffer1)|0); + $225 = +HEAPF32[$197>>2]; + $226 = $225 + -10.0; + $227 = (~~(($226))); + $228 = +HEAPF32[$195>>2]; + $229 = $228 + 14.0; + $230 = (~~(($229))); + HEAP8[$20>>0] = -3; + HEAP8[$168>>0] = -7; + HEAP8[$169>>0] = 0; + HEAP8[$170>>0] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$20>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$20+3>>0]|0; + _DrawText($224,$227,$230,20,$tmpcast88$byval_copy); } else { - HEAPF32[$13>>2] = $185; - HEAPF32[$168>>2] = $188; + HEAPF32[$13>>2] = $200; + HEAPF32[$171>>2] = $199; HEAP32[$14>>2] = -1; - ;HEAP32[$texEnemy$byval_copy>>2]=HEAP32[468>>2]|0;HEAP32[$texEnemy$byval_copy+4>>2]=HEAP32[468+4>>2]|0;HEAP32[$texEnemy$byval_copy+8>>2]=HEAP32[468+8>>2]|0;HEAP32[$texEnemy$byval_copy+12>>2]=HEAP32[468+12>>2]|0;HEAP32[$texEnemy$byval_copy+16>>2]=HEAP32[468+16>>2]|0; - ;HEAP32[$font$byval_copy76>>2]=HEAP32[$182>>2]|0;HEAP32[$font$byval_copy76+4>>2]=HEAP32[$182+4>>2]|0;HEAP32[$font$byval_copy76+8>>2]=HEAP32[$182+8>>2]|0;HEAP32[$font$byval_copy76+12>>2]=HEAP32[$182+12>>2]|0; - ;HEAP32[$$byval_copy77>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[$13+4>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$14>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$14+3>>0]|0; - _DrawTextureRec($texEnemy$byval_copy,$font$byval_copy76,$$byval_copy77,$tmpcast272$byval_copy); - } - $189 = (($i$0250) + 1)|0; - $exitcond259 = ($189|0)==(20); - if ($exitcond259) { - break; - } else { - $i$0250 = $189; - } - } - $173 = ((($18)) + 1|0); - $174 = ((($18)) + 2|0); - $175 = ((($18)) + 3|0); - $176 = ((($17)) + 1|0); - $177 = ((($17)) + 2|0); - $178 = ((($17)) + 3|0); - $i1$0249 = 0; - while(1) { - $190 = (((1756 + (($i1$0249*48)|0)|0)) + 16|0); - $191 = HEAP32[$190>>2]|0; - $192 = ($191|0)==(0); - $193 = (((1756 + (($i1$0249*48)|0)|0)) + 12|0); - $194 = HEAP32[$193>>2]|0; - HEAP32[$vararg_buffer>>2] = $194; - $195 = (_FormatText(13187,$vararg_buffer)|0); - $196 = (1756 + (($i1$0249*48)|0)|0); - $197 = +HEAPF32[$196>>2]; - $198 = $197 + -10.0; - $199 = (~~(($198))); - $200 = (((1756 + (($i1$0249*48)|0)|0)) + 4|0); - $201 = +HEAPF32[$200>>2]; - $202 = $201 + 14.0; - $203 = (~~(($202))); - if ($192) { - HEAP8[$18>>0] = -3; - HEAP8[$173>>0] = -7; - HEAP8[$174>>0] = 0; - HEAP8[$175>>0] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$18>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$18+3>>0]|0; - _DrawText($195,$199,$203,20,$tmpcast272$byval_copy); - } else { - HEAP8[$17>>0] = -126; - HEAP8[$176>>0] = -126; - HEAP8[$177>>0] = -126; - HEAP8[$178>>0] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$17>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$17+3>>0]|0; - _DrawText($195,$199,$203,20,$tmpcast272$byval_copy); - } - $204 = (($i1$0249) + 1)|0; - $exitcond258 = ($204|0)==(20); - if ($exitcond258) { - $i2$0248 = 0; - break; - } else { - $i1$0249 = $204; - } - } - while(1) { - $205 = (((1756 + (($i2$0248*48)|0)|0)) + 16|0); - $206 = HEAP32[$205>>2]|0; - $207 = ($206|0)==(0); - if (!($207)) { - $208 = (1756 + (($i2$0248*48)|0)|0); - $209 = +HEAPF32[$208>>2]; - $210 = HEAP32[(492)>>2]|0; - $211 = (($210|0) / 2)&-1; - $212 = (+($211|0)); - $213 = $209 - $212; - $214 = (~~(($213))); - $215 = (((1756 + (($i2$0248*48)|0)|0)) + 4|0); - $216 = +HEAPF32[$215>>2]; - $217 = HEAP32[(496)>>2]|0; - $218 = (($217|0) / 2)&-1; - $219 = (+($218|0)); - $220 = $216 - $219; + ;HEAP32[$texEnemy$byval_copy>>2]=HEAP32[25244>>2]|0;HEAP32[$texEnemy$byval_copy+4>>2]=HEAP32[25244+4>>2]|0;HEAP32[$texEnemy$byval_copy+8>>2]=HEAP32[25244+8>>2]|0;HEAP32[$texEnemy$byval_copy+12>>2]=HEAP32[25244+12>>2]|0;HEAP32[$texEnemy$byval_copy+16>>2]=HEAP32[25244+16>>2]|0; + ;HEAP32[$font$byval_copy85>>2]=HEAP32[$194>>2]|0;HEAP32[$font$byval_copy85+4>>2]=HEAP32[$194+4>>2]|0;HEAP32[$font$byval_copy85+8>>2]=HEAP32[$194+8>>2]|0;HEAP32[$font$byval_copy85+12>>2]=HEAP32[$194+12>>2]|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[$13+4>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$14>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$14+3>>0]|0; + _DrawTextureRec($texEnemy$byval_copy,$font$byval_copy85,$$byval_copy86,$tmpcast88$byval_copy); + $201 = +HEAPF32[$197>>2]; + $202 = HEAP32[(25268)>>2]|0; + $203 = (($202|0) / 2)&-1; + $204 = (+($203|0)); + $205 = $201 - $204; + $206 = (~~(($205))); + $207 = +HEAPF32[$195>>2]; + $208 = HEAP32[(25272)>>2]|0; + $209 = (($208|0) / 2)&-1; + $210 = (+($209|0)); + $211 = $207 - $210; + $212 = (~~(($211))); + HEAP32[$16>>2] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$16>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$16+3>>0]|0; + _Fade($15,$tmpcast88$byval_copy,0.30000001192092896); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25264>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25264+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25264+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25264+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25264+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$15>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$15+3>>0]|0; + _DrawTexture($$byval_copy86,$206,$212,$tmpcast88$byval_copy); + $213 = (((26496 + (($$06372*48)|0)|0)) + 12|0); + $214 = HEAP32[$213>>2]|0; + HEAP32[$vararg_buffer>>2] = $214; + $215 = (_FormatText(6733,$vararg_buffer)|0); + $216 = +HEAPF32[$197>>2]; + $217 = $216 + -10.0; + $218 = (~~(($217))); + $219 = +HEAPF32[$195>>2]; + $220 = $219 + 14.0; $221 = (~~(($220))); - HEAP32[$20>>2] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$20>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$20+3>>0]|0; - _Fade($19,$tmpcast272$byval_copy,0.30000001192092896); - ;HEAP32[$$byval_copy77>>2]=HEAP32[488>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[488+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[488+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[488+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[488+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$19>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$19+3>>0]|0; - _DrawTexture($$byval_copy77,$214,$221,$tmpcast272$byval_copy); + HEAP8[$17>>0] = -126; + HEAP8[$172>>0] = -126; + HEAP8[$173>>0] = -126; + HEAP8[$174>>0] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$17>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$17+3>>0]|0; + _DrawText($215,$218,$221,20,$tmpcast88$byval_copy); } - $222 = (($i2$0248) + 1)|0; - $exitcond257 = ($222|0)==(20); - if ($exitcond257) { + $231 = (($$06372) + 1)|0; + $exitcond75 = ($231|0)==(20); + if ($exitcond75) { label = 14; break; } else { - $i2$0248 = $222; + $$06372 = $231; } } break; @@ -13855,2897 +14432,3928 @@ function _DrawGameplayScreen() { } } if ((label|0) == 14) { - $169 = ((($23)) + 4|0); - $170 = ((($21)) + 4|0); - $i3$0247 = 0; + $175 = ((($26)) + 4|0); + $176 = ((($28)) + 1|0); + $177 = ((($28)) + 2|0); + $178 = ((($28)) + 3|0); + $179 = ((($21)) + 4|0); + $180 = ((($25)) + 1|0); + $181 = ((($25)) + 2|0); + $182 = ((($25)) + 3|0); + $$06271 = 0; while(1) { - $229 = (((1180 + (($i3$0247*48)|0)|0)) + 16|0); - $230 = HEAP32[$229>>2]|0; - $231 = ($230|0)==(0); - $232 = (((1180 + (($i3$0247*48)|0)|0)) + 32|0); - $233 = (1180 + (($i3$0247*48)|0)|0); - $234 = +HEAPF32[$233>>2]; - $235 = $234 + -32.0; - $236 = (((1180 + (($i3$0247*48)|0)|0)) + 4|0); + $232 = (((25920 + (($$06271*48)|0)|0)) + 16|0); + $233 = HEAP32[$232>>2]|0; + $234 = ($233|0)==(0); + $235 = (((25920 + (($$06271*48)|0)|0)) + 32|0); + $236 = (((25920 + (($$06271*48)|0)|0)) + 4|0); $237 = +HEAPF32[$236>>2]; - $238 = $237 + -32.0; - if ($231) { - HEAPF32[$23>>2] = $235; - HEAPF32[$169>>2] = $238; - HEAP32[$24>>2] = -1; - ;HEAP32[$texEnemy$byval_copy>>2]=HEAP32[468>>2]|0;HEAP32[$texEnemy$byval_copy+4>>2]=HEAP32[468+4>>2]|0;HEAP32[$texEnemy$byval_copy+8>>2]=HEAP32[468+8>>2]|0;HEAP32[$texEnemy$byval_copy+12>>2]=HEAP32[468+12>>2]|0;HEAP32[$texEnemy$byval_copy+16>>2]=HEAP32[468+16>>2]|0; - ;HEAP32[$font$byval_copy76>>2]=HEAP32[$232>>2]|0;HEAP32[$font$byval_copy76+4>>2]=HEAP32[$232+4>>2]|0;HEAP32[$font$byval_copy76+8>>2]=HEAP32[$232+8>>2]|0;HEAP32[$font$byval_copy76+12>>2]=HEAP32[$232+12>>2]|0; - ;HEAP32[$$byval_copy77>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[$23+4>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$24>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$24+3>>0]|0; - _DrawTextureRec($texEnemy$byval_copy,$font$byval_copy76,$$byval_copy77,$tmpcast272$byval_copy); - } else { - HEAPF32[$21>>2] = $235; - HEAPF32[$170>>2] = $238; - HEAP32[$22>>2] = -1; - ;HEAP32[$texEnemy$byval_copy>>2]=HEAP32[468>>2]|0;HEAP32[$texEnemy$byval_copy+4>>2]=HEAP32[468+4>>2]|0;HEAP32[$texEnemy$byval_copy+8>>2]=HEAP32[468+8>>2]|0;HEAP32[$texEnemy$byval_copy+12>>2]=HEAP32[468+12>>2]|0;HEAP32[$texEnemy$byval_copy+16>>2]=HEAP32[468+16>>2]|0; - ;HEAP32[$font$byval_copy76>>2]=HEAP32[$232>>2]|0;HEAP32[$font$byval_copy76+4>>2]=HEAP32[$232+4>>2]|0;HEAP32[$font$byval_copy76+8>>2]=HEAP32[$232+8>>2]|0;HEAP32[$font$byval_copy76+12>>2]=HEAP32[$232+12>>2]|0; - ;HEAP32[$$byval_copy77>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[$21+4>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$22>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$22+3>>0]|0; - _DrawTextureRec($texEnemy$byval_copy,$font$byval_copy76,$$byval_copy77,$tmpcast272$byval_copy); - } - $239 = (($i3$0247) + 1)|0; - $exitcond256 = ($239|0)==(12); - if ($exitcond256) { - break; - } else { - $i3$0247 = $239; - } - } - $223 = ((($26)) + 1|0); - $224 = ((($26)) + 2|0); - $225 = ((($26)) + 3|0); - $226 = ((($25)) + 1|0); - $227 = ((($25)) + 2|0); - $228 = ((($25)) + 3|0); - $i4$0246 = 0; - while(1) { - $240 = (((1180 + (($i4$0246*48)|0)|0)) + 16|0); - $241 = HEAP32[$240>>2]|0; - $242 = ($241|0)==(0); - $243 = (((1180 + (($i4$0246*48)|0)|0)) + 12|0); - $244 = HEAP32[$243>>2]|0; - HEAP32[$vararg_buffer1>>2] = $244; - $245 = (_FormatText(13187,$vararg_buffer1)|0); - $246 = (1180 + (($i4$0246*48)|0)|0); - $247 = +HEAPF32[$246>>2]; - $248 = $247 + -10.0; - $249 = (~~(($248))); - $250 = (((1180 + (($i4$0246*48)|0)|0)) + 4|0); - $251 = +HEAPF32[$250>>2]; - $252 = $251 + 14.0; - $253 = (~~(($252))); - if ($242) { - HEAP8[$26>>0] = -3; - HEAP8[$223>>0] = -7; - HEAP8[$224>>0] = 0; - HEAP8[$225>>0] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$26>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$26+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$26+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$26+3>>0]|0; - _DrawText($245,$249,$253,20,$tmpcast272$byval_copy); - } else { - HEAP8[$25>>0] = -126; - HEAP8[$226>>0] = -126; - HEAP8[$227>>0] = -126; - HEAP8[$228>>0] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$25>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$25+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$25+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$25+3>>0]|0; - _DrawText($245,$249,$253,20,$tmpcast272$byval_copy); - } - $254 = (($i4$0246) + 1)|0; - $exitcond255 = ($254|0)==(12); - if ($exitcond255) { - $i5$0245 = 0; - break; - } else { - $i4$0246 = $254; - } - } - while(1) { - $255 = (((1180 + (($i5$0245*48)|0)|0)) + 16|0); - $256 = HEAP32[$255>>2]|0; - $257 = ($256|0)==(0); - if (!($257)) { - $258 = (1180 + (($i5$0245*48)|0)|0); - $259 = +HEAPF32[$258>>2]; - $260 = HEAP32[(492)>>2]|0; - $261 = (($260|0) / 2)&-1; - $262 = (+($261|0)); - $263 = $259 - $262; - $264 = (~~(($263))); - $265 = (((1180 + (($i5$0245*48)|0)|0)) + 4|0); - $266 = +HEAPF32[$265>>2]; - $267 = HEAP32[(496)>>2]|0; - $268 = (($267|0) / 2)&-1; - $269 = (+($268|0)); - $270 = $266 - $269; + $238 = (25920 + (($$06271*48)|0)|0); + $239 = +HEAPF32[$238>>2]; + $240 = $237 + -32.0; + $241 = $239 + -32.0; + if ($234) { + HEAPF32[$26>>2] = $241; + HEAPF32[$175>>2] = $240; + HEAP32[$27>>2] = -1; + ;HEAP32[$texEnemy$byval_copy>>2]=HEAP32[25244>>2]|0;HEAP32[$texEnemy$byval_copy+4>>2]=HEAP32[25244+4>>2]|0;HEAP32[$texEnemy$byval_copy+8>>2]=HEAP32[25244+8>>2]|0;HEAP32[$texEnemy$byval_copy+12>>2]=HEAP32[25244+12>>2]|0;HEAP32[$texEnemy$byval_copy+16>>2]=HEAP32[25244+16>>2]|0; + ;HEAP32[$font$byval_copy85>>2]=HEAP32[$235>>2]|0;HEAP32[$font$byval_copy85+4>>2]=HEAP32[$235+4>>2]|0;HEAP32[$font$byval_copy85+8>>2]=HEAP32[$235+8>>2]|0;HEAP32[$font$byval_copy85+12>>2]=HEAP32[$235+12>>2]|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$27>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$27+3>>0]|0; + _DrawTextureRec($texEnemy$byval_copy,$font$byval_copy85,$$byval_copy86,$tmpcast88$byval_copy); + $263 = (((25920 + (($$06271*48)|0)|0)) + 12|0); + $264 = HEAP32[$263>>2]|0; + HEAP32[$vararg_buffer7>>2] = $264; + $265 = (_FormatText(6733,$vararg_buffer7)|0); + $266 = +HEAPF32[$238>>2]; + $267 = $266 + -10.0; + $268 = (~~(($267))); + $269 = +HEAPF32[$236>>2]; + $270 = $269 + 14.0; $271 = (~~(($270))); - HEAP32[$28>>2] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$28>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$28+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$28+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$28+3>>0]|0; - _Fade($27,$tmpcast272$byval_copy,0.30000001192092896); - ;HEAP32[$$byval_copy77>>2]=HEAP32[488>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[488+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[488+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[488+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[488+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$27>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$27+3>>0]|0; - _DrawTexture($$byval_copy77,$264,$271,$tmpcast272$byval_copy); + HEAP8[$28>>0] = -3; + HEAP8[$176>>0] = -7; + HEAP8[$177>>0] = 0; + HEAP8[$178>>0] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$28>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$28+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$28+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$28+3>>0]|0; + _DrawText($265,$268,$271,20,$tmpcast88$byval_copy); + } else { + HEAPF32[$21>>2] = $241; + HEAPF32[$179>>2] = $240; + HEAP32[$22>>2] = -1; + ;HEAP32[$texEnemy$byval_copy>>2]=HEAP32[25244>>2]|0;HEAP32[$texEnemy$byval_copy+4>>2]=HEAP32[25244+4>>2]|0;HEAP32[$texEnemy$byval_copy+8>>2]=HEAP32[25244+8>>2]|0;HEAP32[$texEnemy$byval_copy+12>>2]=HEAP32[25244+12>>2]|0;HEAP32[$texEnemy$byval_copy+16>>2]=HEAP32[25244+16>>2]|0; + ;HEAP32[$font$byval_copy85>>2]=HEAP32[$235>>2]|0;HEAP32[$font$byval_copy85+4>>2]=HEAP32[$235+4>>2]|0;HEAP32[$font$byval_copy85+8>>2]=HEAP32[$235+8>>2]|0;HEAP32[$font$byval_copy85+12>>2]=HEAP32[$235+12>>2]|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[$21+4>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$22>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$22+3>>0]|0; + _DrawTextureRec($texEnemy$byval_copy,$font$byval_copy85,$$byval_copy86,$tmpcast88$byval_copy); + $242 = +HEAPF32[$238>>2]; + $243 = HEAP32[(25268)>>2]|0; + $244 = (($243|0) / 2)&-1; + $245 = (+($244|0)); + $246 = $242 - $245; + $247 = (~~(($246))); + $248 = +HEAPF32[$236>>2]; + $249 = HEAP32[(25272)>>2]|0; + $250 = (($249|0) / 2)&-1; + $251 = (+($250|0)); + $252 = $248 - $251; + $253 = (~~(($252))); + HEAP32[$24>>2] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$24>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$24+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$24+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$24+3>>0]|0; + _Fade($23,$tmpcast88$byval_copy,0.30000001192092896); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25264>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25264+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25264+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25264+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25264+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$23>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$23+3>>0]|0; + _DrawTexture($$byval_copy86,$247,$253,$tmpcast88$byval_copy); + $254 = (((25920 + (($$06271*48)|0)|0)) + 12|0); + $255 = HEAP32[$254>>2]|0; + HEAP32[$vararg_buffer4>>2] = $255; + $256 = (_FormatText(6733,$vararg_buffer4)|0); + $257 = +HEAPF32[$238>>2]; + $258 = $257 + -10.0; + $259 = (~~(($258))); + $260 = +HEAPF32[$236>>2]; + $261 = $260 + 14.0; + $262 = (~~(($261))); + HEAP8[$25>>0] = -126; + HEAP8[$180>>0] = -126; + HEAP8[$181>>0] = -126; + HEAP8[$182>>0] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$25>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$25+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$25+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$25+3>>0]|0; + _DrawText($256,$259,$262,20,$tmpcast88$byval_copy); } - $272 = (($i5$0245) + 1)|0; - $exitcond254 = ($272|0)==(12); - if ($exitcond254) { + $272 = (($$06271) + 1)|0; + $exitcond74 = ($272|0)==(12); + if ($exitcond74) { label = 15; break; } else { - $i5$0245 = $272; + $$06271 = $272; } } } if ((label|0) == 15) { - $171 = ((($31)) + 4|0); - $172 = ((($29)) + 4|0); - $i6$0244 = 0; + $183 = ((($34)) + 4|0); + $184 = ((($36)) + 1|0); + $185 = ((($36)) + 2|0); + $186 = ((($36)) + 3|0); + $187 = ((($29)) + 4|0); + $188 = ((($33)) + 1|0); + $189 = ((($33)) + 2|0); + $190 = ((($33)) + 3|0); + $$06170 = 0; while(1) { - $279 = (((796 + (($i6$0244*48)|0)|0)) + 16|0); - $280 = HEAP32[$279>>2]|0; - $281 = ($280|0)==(0); - $282 = (((796 + (($i6$0244*48)|0)|0)) + 32|0); - $283 = (796 + (($i6$0244*48)|0)|0); - $284 = +HEAPF32[$283>>2]; - $285 = $284 + -32.0; - $286 = (((796 + (($i6$0244*48)|0)|0)) + 4|0); - $287 = +HEAPF32[$286>>2]; - $288 = $287 + -32.0; - if ($281) { - HEAPF32[$31>>2] = $285; - HEAPF32[$171>>2] = $288; - HEAP32[$32>>2] = -1; - ;HEAP32[$texEnemy$byval_copy>>2]=HEAP32[468>>2]|0;HEAP32[$texEnemy$byval_copy+4>>2]=HEAP32[468+4>>2]|0;HEAP32[$texEnemy$byval_copy+8>>2]=HEAP32[468+8>>2]|0;HEAP32[$texEnemy$byval_copy+12>>2]=HEAP32[468+12>>2]|0;HEAP32[$texEnemy$byval_copy+16>>2]=HEAP32[468+16>>2]|0; - ;HEAP32[$font$byval_copy76>>2]=HEAP32[$282>>2]|0;HEAP32[$font$byval_copy76+4>>2]=HEAP32[$282+4>>2]|0;HEAP32[$font$byval_copy76+8>>2]=HEAP32[$282+8>>2]|0;HEAP32[$font$byval_copy76+12>>2]=HEAP32[$282+12>>2]|0; - ;HEAP32[$$byval_copy77>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[$31+4>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$32>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$32+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$32+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$32+3>>0]|0; - _DrawTextureRec($texEnemy$byval_copy,$font$byval_copy76,$$byval_copy77,$tmpcast272$byval_copy); + $273 = (((25536 + (($$06170*48)|0)|0)) + 16|0); + $274 = HEAP32[$273>>2]|0; + $275 = ($274|0)==(0); + $276 = (((25536 + (($$06170*48)|0)|0)) + 32|0); + $277 = (25536 + (($$06170*48)|0)|0); + $278 = +HEAPF32[$277>>2]; + $279 = (((25536 + (($$06170*48)|0)|0)) + 4|0); + $280 = +HEAPF32[$279>>2]; + $281 = $278 + -32.0; + $282 = $280 + -32.0; + if ($275) { + HEAPF32[$34>>2] = $281; + HEAPF32[$183>>2] = $282; + HEAP32[$35>>2] = -1; + ;HEAP32[$texEnemy$byval_copy>>2]=HEAP32[25244>>2]|0;HEAP32[$texEnemy$byval_copy+4>>2]=HEAP32[25244+4>>2]|0;HEAP32[$texEnemy$byval_copy+8>>2]=HEAP32[25244+8>>2]|0;HEAP32[$texEnemy$byval_copy+12>>2]=HEAP32[25244+12>>2]|0;HEAP32[$texEnemy$byval_copy+16>>2]=HEAP32[25244+16>>2]|0; + ;HEAP32[$font$byval_copy85>>2]=HEAP32[$276>>2]|0;HEAP32[$font$byval_copy85+4>>2]=HEAP32[$276+4>>2]|0;HEAP32[$font$byval_copy85+8>>2]=HEAP32[$276+8>>2]|0;HEAP32[$font$byval_copy85+12>>2]=HEAP32[$276+12>>2]|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[$34+4>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$35>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$35+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$35+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$35+3>>0]|0; + _DrawTextureRec($texEnemy$byval_copy,$font$byval_copy85,$$byval_copy86,$tmpcast88$byval_copy); + $304 = (((25536 + (($$06170*48)|0)|0)) + 12|0); + $305 = HEAP32[$304>>2]|0; + HEAP32[$vararg_buffer13>>2] = $305; + $306 = (_FormatText(6733,$vararg_buffer13)|0); + $307 = +HEAPF32[$277>>2]; + $308 = $307 + -10.0; + $309 = (~~(($308))); + $310 = +HEAPF32[$279>>2]; + $311 = $310 + 14.0; + $312 = (~~(($311))); + HEAP8[$36>>0] = -3; + HEAP8[$184>>0] = -7; + HEAP8[$185>>0] = 0; + HEAP8[$186>>0] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$36>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$36+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$36+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$36+3>>0]|0; + _DrawText($306,$309,$312,20,$tmpcast88$byval_copy); } else { - HEAPF32[$29>>2] = $285; - HEAPF32[$172>>2] = $288; + HEAPF32[$29>>2] = $281; + HEAPF32[$187>>2] = $282; HEAP32[$30>>2] = -1; - ;HEAP32[$texEnemy$byval_copy>>2]=HEAP32[468>>2]|0;HEAP32[$texEnemy$byval_copy+4>>2]=HEAP32[468+4>>2]|0;HEAP32[$texEnemy$byval_copy+8>>2]=HEAP32[468+8>>2]|0;HEAP32[$texEnemy$byval_copy+12>>2]=HEAP32[468+12>>2]|0;HEAP32[$texEnemy$byval_copy+16>>2]=HEAP32[468+16>>2]|0; - ;HEAP32[$font$byval_copy76>>2]=HEAP32[$282>>2]|0;HEAP32[$font$byval_copy76+4>>2]=HEAP32[$282+4>>2]|0;HEAP32[$font$byval_copy76+8>>2]=HEAP32[$282+8>>2]|0;HEAP32[$font$byval_copy76+12>>2]=HEAP32[$282+12>>2]|0; - ;HEAP32[$$byval_copy77>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[$29+4>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$30>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$30+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$30+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$30+3>>0]|0; - _DrawTextureRec($texEnemy$byval_copy,$font$byval_copy76,$$byval_copy77,$tmpcast272$byval_copy); - } - $289 = (($i6$0244) + 1)|0; - $exitcond253 = ($289|0)==(8); - if ($exitcond253) { - break; - } else { - $i6$0244 = $289; - } - } - $273 = ((($34)) + 1|0); - $274 = ((($34)) + 2|0); - $275 = ((($34)) + 3|0); - $276 = ((($33)) + 1|0); - $277 = ((($33)) + 2|0); - $278 = ((($33)) + 3|0); - $i7$0243 = 0; - while(1) { - $290 = (((796 + (($i7$0243*48)|0)|0)) + 16|0); - $291 = HEAP32[$290>>2]|0; - $292 = ($291|0)==(0); - $293 = (((796 + (($i7$0243*48)|0)|0)) + 12|0); - $294 = HEAP32[$293>>2]|0; - HEAP32[$vararg_buffer4>>2] = $294; - $295 = (_FormatText(13187,$vararg_buffer4)|0); - $296 = (796 + (($i7$0243*48)|0)|0); - $297 = +HEAPF32[$296>>2]; - $298 = $297 + -10.0; - $299 = (~~(($298))); - $300 = (((796 + (($i7$0243*48)|0)|0)) + 4|0); - $301 = +HEAPF32[$300>>2]; - $302 = $301 + 14.0; - $303 = (~~(($302))); - if ($292) { - HEAP8[$34>>0] = -3; - HEAP8[$273>>0] = -7; - HEAP8[$274>>0] = 0; - HEAP8[$275>>0] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$34>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$34+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$34+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$34+3>>0]|0; - _DrawText($295,$299,$303,20,$tmpcast272$byval_copy); - } else { + ;HEAP32[$texEnemy$byval_copy>>2]=HEAP32[25244>>2]|0;HEAP32[$texEnemy$byval_copy+4>>2]=HEAP32[25244+4>>2]|0;HEAP32[$texEnemy$byval_copy+8>>2]=HEAP32[25244+8>>2]|0;HEAP32[$texEnemy$byval_copy+12>>2]=HEAP32[25244+12>>2]|0;HEAP32[$texEnemy$byval_copy+16>>2]=HEAP32[25244+16>>2]|0; + ;HEAP32[$font$byval_copy85>>2]=HEAP32[$276>>2]|0;HEAP32[$font$byval_copy85+4>>2]=HEAP32[$276+4>>2]|0;HEAP32[$font$byval_copy85+8>>2]=HEAP32[$276+8>>2]|0;HEAP32[$font$byval_copy85+12>>2]=HEAP32[$276+12>>2]|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[$29+4>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$30>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$30+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$30+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$30+3>>0]|0; + _DrawTextureRec($texEnemy$byval_copy,$font$byval_copy85,$$byval_copy86,$tmpcast88$byval_copy); + $283 = +HEAPF32[$277>>2]; + $284 = HEAP32[(25268)>>2]|0; + $285 = (($284|0) / 2)&-1; + $286 = (+($285|0)); + $287 = $283 - $286; + $288 = (~~(($287))); + $289 = +HEAPF32[$279>>2]; + $290 = HEAP32[(25272)>>2]|0; + $291 = (($290|0) / 2)&-1; + $292 = (+($291|0)); + $293 = $289 - $292; + $294 = (~~(($293))); + HEAP32[$32>>2] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$32>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$32+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$32+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$32+3>>0]|0; + _Fade($31,$tmpcast88$byval_copy,0.30000001192092896); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25264>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25264+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25264+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25264+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25264+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$31>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$31+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$31+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$31+3>>0]|0; + _DrawTexture($$byval_copy86,$288,$294,$tmpcast88$byval_copy); + $295 = (((25536 + (($$06170*48)|0)|0)) + 12|0); + $296 = HEAP32[$295>>2]|0; + HEAP32[$vararg_buffer10>>2] = $296; + $297 = (_FormatText(6733,$vararg_buffer10)|0); + $298 = +HEAPF32[$277>>2]; + $299 = $298 + -10.0; + $300 = (~~(($299))); + $301 = +HEAPF32[$279>>2]; + $302 = $301 + 14.0; + $303 = (~~(($302))); HEAP8[$33>>0] = -126; - HEAP8[$276>>0] = -126; - HEAP8[$277>>0] = -126; - HEAP8[$278>>0] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$33>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$33+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$33+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$33+3>>0]|0; - _DrawText($295,$299,$303,20,$tmpcast272$byval_copy); + HEAP8[$188>>0] = -126; + HEAP8[$189>>0] = -126; + HEAP8[$190>>0] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$33>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$33+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$33+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$33+3>>0]|0; + _DrawText($297,$300,$303,20,$tmpcast88$byval_copy); } - $304 = (($i7$0243) + 1)|0; - $exitcond252 = ($304|0)==(8); - if ($exitcond252) { - $i8$0242 = 0; + $313 = (($$06170) + 1)|0; + $exitcond73 = ($313|0)==(8); + if ($exitcond73) { break; } else { - $i7$0243 = $304; - } - } - while(1) { - $305 = (((796 + (($i8$0242*48)|0)|0)) + 16|0); - $306 = HEAP32[$305>>2]|0; - $307 = ($306|0)==(0); - if (!($307)) { - $308 = (796 + (($i8$0242*48)|0)|0); - $309 = +HEAPF32[$308>>2]; - $310 = HEAP32[(492)>>2]|0; - $311 = (($310|0) / 2)&-1; - $312 = (+($311|0)); - $313 = $309 - $312; - $314 = (~~(($313))); - $315 = (((796 + (($i8$0242*48)|0)|0)) + 4|0); - $316 = +HEAPF32[$315>>2]; - $317 = HEAP32[(496)>>2]|0; - $318 = (($317|0) / 2)&-1; - $319 = (+($318|0)); - $320 = $316 - $319; - $321 = (~~(($320))); - HEAP32[$36>>2] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$36>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$36+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$36+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$36+3>>0]|0; - _Fade($35,$tmpcast272$byval_copy,0.30000001192092896); - ;HEAP32[$$byval_copy77>>2]=HEAP32[488>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[488+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[488+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[488+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[488+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$35>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$35+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$35+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$35+3>>0]|0; - _DrawTexture($$byval_copy77,$314,$321,$tmpcast272$byval_copy); - } - $322 = (($i8$0242) + 1)|0; - $exitcond251 = ($322|0)==(8); - if ($exitcond251) { - break; - } else { - $i8$0242 = $322; + $$06170 = $313; } } } - $323 = (_GetScreenWidth()|0); - $324 = (($323|0) / 2)&-1; - $325 = HEAP32[(532)>>2]|0; - $326 = (($325|0) / 2)&-1; - $327 = (($324) - ($326))|0; - $328 = (_GetScreenHeight()|0); - $329 = (($328|0) / 2)&-1; + $314 = (_GetScreenWidth()|0); + $315 = (($314|0) / 2)&-1; + $316 = HEAP32[(25308)>>2]|0; + $317 = (($316|0) / 2)&-1; + $318 = (($315) - ($317))|0; + $319 = (_GetScreenHeight()|0); + $320 = (($319|0) / 2)&-1; HEAP32[$37>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[528>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[528+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[528+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[528+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[528+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$37>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$37+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$37+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$37+3>>0]|0; - _DrawTexture($$byval_copy77,$327,$329,$tmpcast272$byval_copy); - $330 = (_GetScreenWidth()|0); - $331 = (($330|0) / 2)&-1; - $332 = HEAP32[(512)>>2]|0; - $333 = (($332|0) / 2)&-1; - $334 = (($331) - ($333))|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[25304>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25304+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25304+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25304+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25304+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$37>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$37+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$37+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$37+3>>0]|0; + _DrawTexture($$byval_copy86,$318,$320,$tmpcast88$byval_copy); + $321 = (_GetScreenWidth()|0); + $322 = (($321|0) / 2)&-1; + $323 = HEAP32[(25288)>>2]|0; + $324 = (($323|0) / 2)&-1; + $325 = (($322) - ($324))|0; HEAP32[$39>>2] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$39>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$39+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$39+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$39+3>>0]|0; - _Fade($38,$tmpcast272$byval_copy,0.5); - ;HEAP32[$$byval_copy77>>2]=HEAP32[508>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[508+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[508+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[508+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[508+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$38>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$38+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$38+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$38+3>>0]|0; - _DrawTexture($$byval_copy77,$334,0,$tmpcast272$byval_copy); - $335 = +HEAPF32[768>>2]; - $336 = $335 + -32.0; - $337 = (~~(($336))); - $338 = +HEAPF32[(772)>>2]; - $339 = $338 + -32.0; - $340 = (~~(($339))); - ;HEAP32[$$byval_copy77>>2]=HEAP32[428>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[428+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[428+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[428+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[428+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[(788)>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[(788)+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[(788)+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[(788)+3>>0]|0; - _DrawTexture($$byval_copy77,$337,$340,$tmpcast272$byval_copy); - $341 = HEAP32[2716>>2]|0; - $342 = ($341|0)==(3); - if ($342) { - $408 = HEAP32[3096>>2]|0; - $409 = ($408|0)==(0); - if ($409) { - $410 = (_GetScreenWidth()|0); - $411 = (_GetScreenHeight()|0); + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$39>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$39+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$39+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$39+3>>0]|0; + _Fade($38,$tmpcast88$byval_copy,0.5); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25284>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25284+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25284+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25284+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25284+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$38>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$38+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$38+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$38+3>>0]|0; + _DrawTexture($$byval_copy86,$325,0,$tmpcast88$byval_copy); + $326 = +HEAPF32[6377]; + $327 = $326 + -32.0; + $328 = (~~(($327))); + $329 = +HEAPF32[(25512)>>2]; + $330 = $329 + -32.0; + $331 = (~~(($330))); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25204>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25204+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25204+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25204+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25204+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[(25528)>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[(25528)+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[(25528)+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[(25528)+3>>0]|0; + _DrawTexture($$byval_copy86,$328,$331,$tmpcast88$byval_copy); + $332 = HEAP32[6864]|0; + $333 = ($332|0)==(3); + if ($333) { + $401 = HEAP32[6959]|0; + $402 = ($401|0)==(0); + if ($402) { + $403 = (_GetScreenWidth()|0); + $404 = (_GetScreenHeight()|0); HEAP8[$55>>0] = 0; - $412 = ((($55)) + 1|0); - HEAP8[$412>>0] = 0; - $413 = ((($55)) + 2|0); - HEAP8[$413>>0] = 0; - $414 = ((($55)) + 3|0); - HEAP8[$414>>0] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$55>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$55+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$55+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$55+3>>0]|0; - _Fade($54,$tmpcast272$byval_copy,0.40000000596046448); - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$54>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$54+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$54+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$54+3>>0]|0; - _DrawRectangle(0,0,$410,$411,$tmpcast272$byval_copy); - $415 = (_GetScreenWidth()|0); - $416 = (($415|0) / 2)&-1; - $417 = HEAP32[(552)>>2]|0; - $418 = (($417|0) / 2)&-1; - $419 = (($416) - ($418))|0; + $405 = ((($55)) + 1|0); + HEAP8[$405>>0] = 0; + $406 = ((($55)) + 2|0); + HEAP8[$406>>0] = 0; + $407 = ((($55)) + 3|0); + HEAP8[$407>>0] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$55>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$55+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$55+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$55+3>>0]|0; + _Fade($54,$tmpcast88$byval_copy,0.40000000596046448); + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$54>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$54+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$54+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$54+3>>0]|0; + _DrawRectangle(0,0,$403,$404,$tmpcast88$byval_copy); + $408 = (_GetScreenWidth()|0); + $409 = (($408|0) / 2)&-1; + $410 = HEAP32[(25328)>>2]|0; + $411 = (($410|0) / 2)&-1; + $412 = (($409) - ($411))|0; HEAP32[$56>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[548>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[548+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[548+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[548+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[548+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$56>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$56+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$56+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$56+3>>0]|0; - _DrawTexture($$byval_copy77,$419,100,$tmpcast272$byval_copy); - $420 = +HEAPF32[3084>>2]; - $421 = $420; - HEAPF64[$vararg_buffer13>>3] = $421; - $422 = (_FormatText(13235,$vararg_buffer13)|0); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25324>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25324+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25324+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25324+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25324+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$56>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$56+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$56+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$56+3>>0]|0; + _DrawTexture($$byval_copy86,$412,100,$tmpcast88$byval_copy); + $413 = +HEAPF32[6956]; + $414 = $413; + HEAPF64[$vararg_buffer22>>3] = $414; + $415 = (_FormatText(6781,$vararg_buffer22)|0); HEAPF32[$57>>2] = 320.0; - $423 = ((($57)) + 4|0); - HEAPF32[$423>>2] = 340.0; + $416 = ((($57)) + 4|0); + HEAPF32[$416>>2] = 340.0; HEAP32[$58>>2] = -1; - dest=$font$byval_copy76; src=192; 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)); - ;HEAP32[$$byval_copy77>>2]=HEAP32[$57>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[$57+4>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$58>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$58+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$58+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$58+3>>0]|0; - _DrawTextEx($font$byval_copy76,$422,$$byval_copy77,50,0,$tmpcast272$byval_copy); + ;HEAP32[$font$byval_copy85>>2]=HEAP32[24968>>2]|0;HEAP32[$font$byval_copy85+4>>2]=HEAP32[24968+4>>2]|0;HEAP32[$font$byval_copy85+8>>2]=HEAP32[24968+8>>2]|0;HEAP32[$font$byval_copy85+12>>2]=HEAP32[24968+12>>2]|0;HEAP32[$font$byval_copy85+16>>2]=HEAP32[24968+16>>2]|0;HEAP32[$font$byval_copy85+20>>2]=HEAP32[24968+20>>2]|0;HEAP32[$font$byval_copy85+24>>2]=HEAP32[24968+24>>2]|0;HEAP32[$font$byval_copy85+28>>2]=HEAP32[24968+28>>2]|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[$57>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[$57+4>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$58>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$58+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$58+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$58+3>>0]|0; + _DrawTextEx($font$byval_copy85,$415,$$byval_copy86,50.0,0,$tmpcast88$byval_copy); HEAPF32[$59>>2] = 160.0; - $424 = ((($59)) + 4|0); - HEAPF32[$424>>2] = 480.0; + $417 = ((($59)) + 4|0); + HEAPF32[$417>>2] = 480.0; HEAP32[$60>>2] = -1; - dest=$font$byval_copy76; src=192; 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)); - ;HEAP32[$$byval_copy77>>2]=HEAP32[$59>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[$59+4>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$60>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$60+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$60+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$60+3>>0]|0; - _DrawTextEx($font$byval_copy76,13262,$$byval_copy77,60,0,$tmpcast272$byval_copy); - $425 = (_IsKeyPressed(257)|0); - $426 = ($425|0)==(0); - if ($426) { - label = 63; + ;HEAP32[$font$byval_copy85>>2]=HEAP32[24968>>2]|0;HEAP32[$font$byval_copy85+4>>2]=HEAP32[24968+4>>2]|0;HEAP32[$font$byval_copy85+8>>2]=HEAP32[24968+8>>2]|0;HEAP32[$font$byval_copy85+12>>2]=HEAP32[24968+12>>2]|0;HEAP32[$font$byval_copy85+16>>2]=HEAP32[24968+16>>2]|0;HEAP32[$font$byval_copy85+20>>2]=HEAP32[24968+20>>2]|0;HEAP32[$font$byval_copy85+24>>2]=HEAP32[24968+24>>2]|0;HEAP32[$font$byval_copy85+28>>2]=HEAP32[24968+28>>2]|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[$59>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[$59+4>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$60>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$60+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$60+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$60+3>>0]|0; + _DrawTextEx($font$byval_copy85,6808,$$byval_copy86,60.0,0,$tmpcast88$byval_copy); + $418 = (_IsKeyPressed(257)|0); + $419 = ($418|0)==(0); + if ($419) { + label = 39; } else { - HEAP32[3088>>2] = 1; - label = 63; + HEAP32[6957] = 1; + label = 39; } } else { - label = 64; + label = 40; } } else { - $343 = ((($40)) + 4|0); - $344 = ((($40)) + 8|0); - $345 = ((($40)) + 12|0); - $346 = ((($41)) + 4|0); - $i9$0241 = 0; + $334 = ((($40)) + 4|0); + $335 = ((($40)) + 8|0); + $336 = ((($40)) + 12|0); + $337 = ((($41)) + 4|0); + $$069 = 0; while(1) { - $347 = (((2728 + (($i9$0241*44)|0)|0)) + 28|0); - $348 = HEAP32[$347>>2]|0; - $349 = ($348|0)==(0); - if (!($349)) { + $383 = (((27468 + (($$069*44)|0)|0)) + 28|0); + $384 = HEAP32[$383>>2]|0; + $385 = ($384|0)==(0); + if (!($385)) { HEAP32[$40>>2] = 0; - HEAP32[$343>>2] = 0; - HEAP32[$344>>2] = 64; - HEAP32[$345>>2] = 64; - $350 = (2728 + (($i9$0241*44)|0)|0); - $351 = +HEAPF32[$350>>2]; - $352 = $351 + -32.0; - $353 = (((2728 + (($i9$0241*44)|0)|0)) + 4|0); - $354 = +HEAPF32[$353>>2]; - $355 = $354 + -32.0; - HEAPF32[$41>>2] = $352; - HEAPF32[$346>>2] = $355; + HEAP32[$334>>2] = 0; + HEAP32[$335>>2] = 64; + HEAP32[$336>>2] = 64; + $386 = (27468 + (($$069*44)|0)|0); + $387 = +HEAPF32[$386>>2]; + $388 = $387 + -32.0; + HEAPF32[$41>>2] = $388; + $389 = (((27468 + (($$069*44)|0)|0)) + 4|0); + $390 = +HEAPF32[$389>>2]; + $391 = $390 + -32.0; + HEAPF32[$337>>2] = $391; HEAP32[$42>>2] = -1; - ;HEAP32[$texEnemy$byval_copy>>2]=HEAP32[448>>2]|0;HEAP32[$texEnemy$byval_copy+4>>2]=HEAP32[448+4>>2]|0;HEAP32[$texEnemy$byval_copy+8>>2]=HEAP32[448+8>>2]|0;HEAP32[$texEnemy$byval_copy+12>>2]=HEAP32[448+12>>2]|0;HEAP32[$texEnemy$byval_copy+16>>2]=HEAP32[448+16>>2]|0; - ;HEAP32[$font$byval_copy76>>2]=HEAP32[$40>>2]|0;HEAP32[$font$byval_copy76+4>>2]=HEAP32[$40+4>>2]|0;HEAP32[$font$byval_copy76+8>>2]=HEAP32[$40+8>>2]|0;HEAP32[$font$byval_copy76+12>>2]=HEAP32[$40+12>>2]|0; - ;HEAP32[$$byval_copy77>>2]=HEAP32[$41>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[$41+4>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$42>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$42+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$42+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$42+3>>0]|0; - _DrawTextureRec($texEnemy$byval_copy,$font$byval_copy76,$$byval_copy77,$tmpcast272$byval_copy); + ;HEAP32[$texEnemy$byval_copy>>2]=HEAP32[25224>>2]|0;HEAP32[$texEnemy$byval_copy+4>>2]=HEAP32[25224+4>>2]|0;HEAP32[$texEnemy$byval_copy+8>>2]=HEAP32[25224+8>>2]|0;HEAP32[$texEnemy$byval_copy+12>>2]=HEAP32[25224+12>>2]|0;HEAP32[$texEnemy$byval_copy+16>>2]=HEAP32[25224+16>>2]|0; + ;HEAP32[$font$byval_copy85>>2]=HEAP32[$40>>2]|0;HEAP32[$font$byval_copy85+4>>2]=HEAP32[$40+4>>2]|0;HEAP32[$font$byval_copy85+8>>2]=HEAP32[$40+8>>2]|0;HEAP32[$font$byval_copy85+12>>2]=HEAP32[$40+12>>2]|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[$41>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[$41+4>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$42>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$42+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$42+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$42+3>>0]|0; + _DrawTextureRec($texEnemy$byval_copy,$font$byval_copy85,$$byval_copy86,$tmpcast88$byval_copy); } - $356 = (($i9$0241) + 1)|0; - $exitcond = ($356|0)==(8); + $392 = (($$069) + 1)|0; + $exitcond = ($392|0)==(8); if ($exitcond) { break; } else { - $i9$0241 = $356; + $$069 = $392; } } - $357 = +HEAPF32[3084>>2]; - $358 = 99.0 - $357; - $359 = $358; - HEAPF64[$vararg_buffer7>>3] = $359; - $360 = (_FormatText(13192,$vararg_buffer7)|0); + $338 = +HEAPF32[6956]; + $339 = 99.0 - $338; + $340 = $339; + HEAPF64[$vararg_buffer16>>3] = $340; + $341 = (_FormatText(6738,$vararg_buffer16)|0); HEAPF32[$43>>2] = 560.0; - $361 = ((($43)) + 4|0); - HEAPF32[$361>>2] = 20.0; - $362 = HEAP32[(212)>>2]|0; + $342 = ((($43)) + 4|0); + HEAPF32[$342>>2] = 20.0; + $343 = HEAP32[(24988)>>2]|0; + $344 = (+($343|0)); HEAP32[$44>>2] = -1; - dest=$font$byval_copy76; src=192; 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)); - ;HEAP32[$$byval_copy77>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[$43+4>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$44>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$44+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$44+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$44+3>>0]|0; - _DrawTextEx($font$byval_copy76,$360,$$byval_copy77,$362,0,$tmpcast272$byval_copy); + ;HEAP32[$font$byval_copy85>>2]=HEAP32[24968>>2]|0;HEAP32[$font$byval_copy85+4>>2]=HEAP32[24968+4>>2]|0;HEAP32[$font$byval_copy85+8>>2]=HEAP32[24968+8>>2]|0;HEAP32[$font$byval_copy85+12>>2]=HEAP32[24968+12>>2]|0;HEAP32[$font$byval_copy85+16>>2]=HEAP32[24968+16>>2]|0;HEAP32[$font$byval_copy85+20>>2]=HEAP32[24968+20>>2]|0;HEAP32[$font$byval_copy85+24>>2]=HEAP32[24968+24>>2]|0;HEAP32[$font$byval_copy85+28>>2]=HEAP32[24968+28>>2]|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[$43+4>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$44>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$44+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$44+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$44+3>>0]|0; + _DrawTextEx($font$byval_copy85,$341,$$byval_copy86,$344,0,$tmpcast88$byval_copy); HEAP8[$45>>0] = -126; - $363 = ((($45)) + 1|0); - HEAP8[$363>>0] = -126; - $364 = ((($45)) + 2|0); - HEAP8[$364>>0] = -126; - $365 = ((($45)) + 3|0); - HEAP8[$365>>0] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$45>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$45+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$45+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$45+3>>0]|0; - _DrawRectangle(20,30,400,20,$tmpcast272$byval_copy); - $366 = +HEAPF32[(792)>>2]; - $367 = $366 * 400.0; - $368 = $367 / 40.0; - $369 = (~~(($368))); + $345 = ((($45)) + 1|0); + HEAP8[$345>>0] = -126; + $346 = ((($45)) + 2|0); + HEAP8[$346>>0] = -126; + $347 = ((($45)) + 3|0); + HEAP8[$347>>0] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$45>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$45+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$45+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$45+3>>0]|0; + _DrawRectangle(20,30,400,20,$tmpcast88$byval_copy); + $348 = +HEAPF32[(25532)>>2]; + $349 = $348 * 400.0; + $350 = $349 / 40.0; + $351 = (~~(($350))); HEAP8[$46>>0] = -1; - $370 = ((($46)) + 1|0); - HEAP8[$370>>0] = -53; - $371 = ((($46)) + 2|0); - HEAP8[$371>>0] = 0; - $372 = ((($46)) + 3|0); - HEAP8[$372>>0] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$46>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$46+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$46+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$46+3>>0]|0; - _DrawRectangle(20,30,$369,20,$tmpcast272$byval_copy); + $352 = ((($46)) + 1|0); + HEAP8[$352>>0] = -53; + $353 = ((($46)) + 2|0); + HEAP8[$353>>0] = 0; + $354 = ((($46)) + 3|0); + HEAP8[$354>>0] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$46>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$46+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$46+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$46+3>>0]|0; + _DrawRectangle(20,30,$351,20,$tmpcast88$byval_copy); HEAP8[$47>>0] = -56; - $373 = ((($47)) + 1|0); - HEAP8[$373>>0] = -56; - $374 = ((($47)) + 2|0); - HEAP8[$374>>0] = -56; - $375 = ((($47)) + 3|0); - HEAP8[$375>>0] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$47>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$47+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$47+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$47+3>>0]|0; - _DrawRectangleLines(20,30,400,20,$tmpcast272$byval_copy); - $376 = +HEAPF32[(792)>>2]; - $377 = $376; - HEAPF64[$vararg_buffer10>>3] = $377; - $378 = (_FormatText(13199,$vararg_buffer10)|0); + $355 = ((($47)) + 1|0); + HEAP8[$355>>0] = -56; + $356 = ((($47)) + 2|0); + HEAP8[$356>>0] = -56; + $357 = ((($47)) + 3|0); + HEAP8[$357>>0] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$47>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$47+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$47+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$47+3>>0]|0; + _DrawRectangleLines(20,30,400,20,$tmpcast88$byval_copy); + $358 = +HEAPF32[(25532)>>2]; + $359 = $358; + HEAPF64[$vararg_buffer19>>3] = $359; + $360 = (_FormatText(6745,$vararg_buffer19)|0); HEAP32[$48>>2] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$48>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$48+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$48+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$48+3>>0]|0; - _DrawText($378,430,30,20,$tmpcast272$byval_copy); - $379 = (_GetScreenWidth()|0); - $380 = (($379) + -40)|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$48>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$48+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$48+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$48+3>>0]|0; + _DrawText($360,430,30,20,$tmpcast88$byval_copy); + $361 = (_GetScreenWidth()|0); + $362 = (($361) + -40)|0; HEAP8[$49>>0] = -126; - $381 = ((($49)) + 1|0); - HEAP8[$381>>0] = -126; - $382 = ((($49)) + 2|0); - HEAP8[$382>>0] = -126; - $383 = ((($49)) + 3|0); - HEAP8[$383>>0] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$49>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$49+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$49+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$49+3>>0]|0; - _DrawRectangle($380,30,20,660,$tmpcast272$byval_copy); - $384 = (_GetScreenWidth()|0); - $385 = (($384) + -40)|0; - $386 = HEAP32[3108>>2]|0; - $387 = ($386*660)|0; - $388 = HEAP32[3080>>2]|0; - $389 = (($387|0) / ($388|0))&-1; - $390 = (690 - ($389))|0; + $363 = ((($49)) + 1|0); + HEAP8[$363>>0] = -126; + $364 = ((($49)) + 2|0); + HEAP8[$364>>0] = -126; + $365 = ((($49)) + 3|0); + HEAP8[$365>>0] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$49>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$49+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$49+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$49+3>>0]|0; + _DrawRectangle($362,30,20,660,$tmpcast88$byval_copy); + $366 = (_GetScreenWidth()|0); + $367 = (($366) + -40)|0; + $368 = HEAP32[6963]|0; + $369 = ($368*660)|0; + $370 = HEAP32[6955]|0; + $371 = (($369|0) / ($370|0))&-1; + $372 = (690 - ($371))|0; HEAP8[$50>>0] = -3; - $391 = ((($50)) + 1|0); - HEAP8[$391>>0] = -7; - $392 = ((($50)) + 2|0); - HEAP8[$392>>0] = 0; - $393 = ((($50)) + 3|0); - HEAP8[$393>>0] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$50>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$50+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$50+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$50+3>>0]|0; - _DrawRectangle($385,$390,20,$389,$tmpcast272$byval_copy); - $394 = (_GetScreenWidth()|0); - $395 = (($394) + -40)|0; + $373 = ((($50)) + 1|0); + HEAP8[$373>>0] = -7; + $374 = ((($50)) + 2|0); + HEAP8[$374>>0] = 0; + $375 = ((($50)) + 3|0); + HEAP8[$375>>0] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$50>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$50+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$50+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$50+3>>0]|0; + _DrawRectangle($367,$372,20,$371,$tmpcast88$byval_copy); + $376 = (_GetScreenWidth()|0); + $377 = (($376) + -40)|0; HEAP8[$51>>0] = -56; - $396 = ((($51)) + 1|0); - HEAP8[$396>>0] = -56; - $397 = ((($51)) + 2|0); - HEAP8[$397>>0] = -56; - $398 = ((($51)) + 3|0); - HEAP8[$398>>0] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$51>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$51+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$51+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$51+3>>0]|0; - _DrawRectangleLines($395,30,20,660,$tmpcast272$byval_copy); - $399 = +HEAPF32[(792)>>2]; - $400 = $399 < 2.0; - if ($400) { - $401 = HEAP32[336>>2]|0; - $402 = (($401|0) / 20)&-1; - $403 = $402 & 1; - $404 = ($403|0)==(0); - if ($404) { - label = 63; + $378 = ((($51)) + 1|0); + HEAP8[$378>>0] = -56; + $379 = ((($51)) + 2|0); + HEAP8[$379>>0] = -56; + $380 = ((($51)) + 3|0); + HEAP8[$380>>0] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$51>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$51+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$51+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$51+3>>0]|0; + _DrawRectangleLines($377,30,20,660,$tmpcast88$byval_copy); + $381 = +HEAPF32[(25532)>>2]; + $382 = $381 < 2.0; + if ($382) { + $393 = HEAP32[6278]|0; + $394 = (($393|0) / 20)&-1; + $395 = $394 & 1; + $396 = ($395|0)==(0); + if ($396) { + label = 39; } else { HEAPF32[$52>>2] = 20.0; - $405 = ((($52)) + 4|0); - HEAPF32[$405>>2] = 60.0; - $406 = HEAP32[(212)>>2]|0; - $407 = (($406|0) / 2)&-1; + $397 = ((($52)) + 4|0); + HEAPF32[$397>>2] = 60.0; + $398 = HEAP32[(24988)>>2]|0; + $399 = (($398|0) / 2)&-1; + $400 = (+($399|0)); HEAP32[$53>>2] = -1; - dest=$font$byval_copy76; src=192; 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)); - ;HEAP32[$$byval_copy77>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[$52+4>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$53>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$53+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$53+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$53+3>>0]|0; - _DrawTextEx($font$byval_copy76,13206,$$byval_copy77,$407,0,$tmpcast272$byval_copy); - label = 63; + ;HEAP32[$font$byval_copy85>>2]=HEAP32[24968>>2]|0;HEAP32[$font$byval_copy85+4>>2]=HEAP32[24968+4>>2]|0;HEAP32[$font$byval_copy85+8>>2]=HEAP32[24968+8>>2]|0;HEAP32[$font$byval_copy85+12>>2]=HEAP32[24968+12>>2]|0;HEAP32[$font$byval_copy85+16>>2]=HEAP32[24968+16>>2]|0;HEAP32[$font$byval_copy85+20>>2]=HEAP32[24968+20>>2]|0;HEAP32[$font$byval_copy85+24>>2]=HEAP32[24968+24>>2]|0;HEAP32[$font$byval_copy85+28>>2]=HEAP32[24968+28>>2]|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$53>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$53+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$53+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$53+3>>0]|0; + _DrawTextEx($font$byval_copy85,6752,$$byval_copy86,$400,0,$tmpcast88$byval_copy); + label = 39; } } else { - label = 63; + label = 39; } } - if ((label|0) == 63) { - $$pr231 = HEAP32[3096>>2]|0; - $427 = ($$pr231|0)==(0); - if (!($427)) { - label = 64; + if ((label|0) == 39) { + $$pr65 = HEAP32[6959]|0; + $420 = ($$pr65|0)==(0); + if (!($420)) { + label = 40; } } - if ((label|0) == 64) { - $428 = (_GetScreenWidth()|0); - $429 = (_GetScreenHeight()|0); + if ((label|0) == 40) { + $421 = (_GetScreenWidth()|0); + $422 = (_GetScreenHeight()|0); HEAP8[$62>>0] = 0; - $430 = ((($62)) + 1|0); - HEAP8[$430>>0] = 0; - $431 = ((($62)) + 2|0); - HEAP8[$431>>0] = 0; - $432 = ((($62)) + 3|0); - HEAP8[$432>>0] = -1; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$62>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$62+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$62+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$62+3>>0]|0; - _Fade($61,$tmpcast272$byval_copy,0.40000000596046448); - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$61>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$61+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$61+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$61+3>>0]|0; - _DrawRectangle(0,0,$428,$429,$tmpcast272$byval_copy); - $433 = (_GetScreenWidth()|0); - $434 = (($433|0) / 2)&-1; - $435 = HEAP32[(572)>>2]|0; - $436 = (($435|0) / 2)&-1; - $437 = (($434) - ($436))|0; + $423 = ((($62)) + 1|0); + HEAP8[$423>>0] = 0; + $424 = ((($62)) + 2|0); + HEAP8[$424>>0] = 0; + $425 = ((($62)) + 3|0); + HEAP8[$425>>0] = -1; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$62>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$62+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$62+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$62+3>>0]|0; + _Fade($61,$tmpcast88$byval_copy,0.40000000596046448); + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$61>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$61+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$61+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$61+3>>0]|0; + _DrawRectangle(0,0,$421,$422,$tmpcast88$byval_copy); + $426 = (_GetScreenWidth()|0); + $427 = (($426|0) / 2)&-1; + $428 = HEAP32[(25348)>>2]|0; + $429 = (($428|0) / 2)&-1; + $430 = (($427) - ($429))|0; HEAP32[$63>>2] = -1; - ;HEAP32[$$byval_copy77>>2]=HEAP32[568>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[568+4>>2]|0;HEAP32[$$byval_copy77+8>>2]=HEAP32[568+8>>2]|0;HEAP32[$$byval_copy77+12>>2]=HEAP32[568+12>>2]|0;HEAP32[$$byval_copy77+16>>2]=HEAP32[568+16>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$63>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$63+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$63+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$63+3>>0]|0; - _DrawTexture($$byval_copy77,$437,140,$tmpcast272$byval_copy); - $438 = HEAP32[3100>>2]|0; - HEAP32[$vararg_buffer16>>2] = $438; - $439 = (_FormatText(13294,$vararg_buffer16)|0); + ;HEAP32[$$byval_copy86>>2]=HEAP32[25344>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[25344+4>>2]|0;HEAP32[$$byval_copy86+8>>2]=HEAP32[25344+8>>2]|0;HEAP32[$$byval_copy86+12>>2]=HEAP32[25344+12>>2]|0;HEAP32[$$byval_copy86+16>>2]=HEAP32[25344+16>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$63>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$63+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$63+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$63+3>>0]|0; + _DrawTexture($$byval_copy86,$430,140,$tmpcast88$byval_copy); + $431 = HEAP32[6960]|0; + HEAP32[$vararg_buffer25>>2] = $431; + $432 = (_FormatText(6840,$vararg_buffer25)|0); HEAPF32[$64>>2] = 200.0; - $440 = ((($64)) + 4|0); - HEAPF32[$440>>2] = 360.0; + $433 = ((($64)) + 4|0); + HEAPF32[$433>>2] = 360.0; HEAP32[$65>>2] = -1; - dest=$font$byval_copy76; src=192; 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)); - ;HEAP32[$$byval_copy77>>2]=HEAP32[$64>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[$64+4>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$65>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$65+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$65+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$65+3>>0]|0; - _DrawTextEx($font$byval_copy76,$439,$$byval_copy77,50,0,$tmpcast272$byval_copy); + ;HEAP32[$font$byval_copy85>>2]=HEAP32[24968>>2]|0;HEAP32[$font$byval_copy85+4>>2]=HEAP32[24968+4>>2]|0;HEAP32[$font$byval_copy85+8>>2]=HEAP32[24968+8>>2]|0;HEAP32[$font$byval_copy85+12>>2]=HEAP32[24968+12>>2]|0;HEAP32[$font$byval_copy85+16>>2]=HEAP32[24968+16>>2]|0;HEAP32[$font$byval_copy85+20>>2]=HEAP32[24968+20>>2]|0;HEAP32[$font$byval_copy85+24>>2]=HEAP32[24968+24>>2]|0;HEAP32[$font$byval_copy85+28>>2]=HEAP32[24968+28>>2]|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[$64>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[$64+4>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$65>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$65+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$65+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$65+3>>0]|0; + _DrawTextEx($font$byval_copy85,$432,$$byval_copy86,50.0,0,$tmpcast88$byval_copy); HEAPF32[$66>>2] = 260.0; - $441 = ((($66)) + 4|0); - HEAPF32[$441>>2] = 480.0; + $434 = ((($66)) + 4|0); + HEAPF32[$434>>2] = 480.0; HEAP32[$67>>2] = -1; - dest=$font$byval_copy76; src=192; 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)); - ;HEAP32[$$byval_copy77>>2]=HEAP32[$66>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[$66+4>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$67>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$67+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$67+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$67+3>>0]|0; - _DrawTextEx($font$byval_copy76,13327,$$byval_copy77,60,0,$tmpcast272$byval_copy); - $442 = (_IsKeyPressed(257)|0); - $443 = ($442|0)==(0); - if (!($443)) { - HEAP32[340>>2] = 2; + ;HEAP32[$font$byval_copy85>>2]=HEAP32[24968>>2]|0;HEAP32[$font$byval_copy85+4>>2]=HEAP32[24968+4>>2]|0;HEAP32[$font$byval_copy85+8>>2]=HEAP32[24968+8>>2]|0;HEAP32[$font$byval_copy85+12>>2]=HEAP32[24968+12>>2]|0;HEAP32[$font$byval_copy85+16>>2]=HEAP32[24968+16>>2]|0;HEAP32[$font$byval_copy85+20>>2]=HEAP32[24968+20>>2]|0;HEAP32[$font$byval_copy85+24>>2]=HEAP32[24968+24>>2]|0;HEAP32[$font$byval_copy85+28>>2]=HEAP32[24968+28>>2]|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[$66>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[$66+4>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$67>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$67+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$67+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$67+3>>0]|0; + _DrawTextEx($font$byval_copy85,6873,$$byval_copy86,60.0,0,$tmpcast88$byval_copy); + $435 = (_IsKeyPressed(257)|0); + $436 = ($435|0)==(0); + if (!($436)) { + HEAP32[6279] = 2; } } - $444 = HEAP32[3088>>2]|0; - $445 = ($444|0)==(0); - if (!($445)) { - $446 = (_GetScreenWidth()|0); - $447 = (_GetScreenHeight()|0); + $437 = HEAP32[6957]|0; + $438 = ($437|0)==(0); + if (!($438)) { + $439 = (_GetScreenWidth()|0); + $440 = (_GetScreenHeight()|0); HEAP8[$69>>0] = -11; - $448 = ((($69)) + 1|0); - HEAP8[$448>>0] = -11; - $449 = ((($69)) + 2|0); - HEAP8[$449>>0] = -11; - $450 = ((($69)) + 3|0); - HEAP8[$450>>0] = -1; - $451 = +HEAPF32[3092>>2]; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$69>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$69+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$69+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$69+3>>0]|0; - _Fade($68,$tmpcast272$byval_copy,$451); - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$68>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$68+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$68+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$68+3>>0]|0; - _DrawRectangle(0,0,$446,$447,$tmpcast272$byval_copy); + $441 = ((($69)) + 1|0); + HEAP8[$441>>0] = -11; + $442 = ((($69)) + 2|0); + HEAP8[$442>>0] = -11; + $443 = ((($69)) + 3|0); + HEAP8[$443>>0] = -1; + $444 = +HEAPF32[6958]; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$69>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$69+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$69+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$69+3>>0]|0; + _Fade($68,$tmpcast88$byval_copy,$444); + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$68>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$68+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$68+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$68+3>>0]|0; + _DrawRectangle(0,0,$439,$440,$tmpcast88$byval_copy); } - $452 = HEAP32[344>>2]|0; - $453 = ($452|0)==(0); - if ($453) { + $445 = HEAP32[6280]|0; + $446 = ($445|0)==(0); + if ($446) { STACKTOP = sp;return; } - $454 = (_GetScreenWidth()|0); - $455 = (($454|0) / 2)&-1; - $456 = (_MeasureText(13353,40)|0); - $457 = (($456|0) / 2)&-1; - $458 = (($455) - ($457))|0; - $459 = (+($458|0)); - HEAPF32[$70>>2] = $459; - $460 = ((($70)) + 4|0); - HEAPF32[$460>>2] = 110.0; + $447 = (_GetScreenWidth()|0); + $448 = (($447|0) / 2)&-1; + $449 = (_MeasureText(6899,40)|0); + $450 = (($449|0) / 2)&-1; + $451 = (($448) - ($450))|0; + $452 = (+($451|0)); + HEAPF32[$70>>2] = $452; + $453 = ((($70)) + 4|0); + HEAPF32[$453>>2] = 110.0; HEAP32[$71>>2] = -1; - dest=$font$byval_copy76; src=192; 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)); - ;HEAP32[$$byval_copy77>>2]=HEAP32[$70>>2]|0;HEAP32[$$byval_copy77+4>>2]=HEAP32[$70+4>>2]|0; - ;HEAP8[$tmpcast272$byval_copy>>0]=HEAP8[$71>>0]|0;HEAP8[$tmpcast272$byval_copy+1>>0]=HEAP8[$71+1>>0]|0;HEAP8[$tmpcast272$byval_copy+2>>0]=HEAP8[$71+2>>0]|0;HEAP8[$tmpcast272$byval_copy+3>>0]=HEAP8[$71+3>>0]|0; - _DrawTextEx($font$byval_copy76,13353,$$byval_copy77,50,0,$tmpcast272$byval_copy); + ;HEAP32[$font$byval_copy85>>2]=HEAP32[24968>>2]|0;HEAP32[$font$byval_copy85+4>>2]=HEAP32[24968+4>>2]|0;HEAP32[$font$byval_copy85+8>>2]=HEAP32[24968+8>>2]|0;HEAP32[$font$byval_copy85+12>>2]=HEAP32[24968+12>>2]|0;HEAP32[$font$byval_copy85+16>>2]=HEAP32[24968+16>>2]|0;HEAP32[$font$byval_copy85+20>>2]=HEAP32[24968+20>>2]|0;HEAP32[$font$byval_copy85+24>>2]=HEAP32[24968+24>>2]|0;HEAP32[$font$byval_copy85+28>>2]=HEAP32[24968+28>>2]|0; + ;HEAP32[$$byval_copy86>>2]=HEAP32[$70>>2]|0;HEAP32[$$byval_copy86+4>>2]=HEAP32[$70+4>>2]|0; + ;HEAP8[$tmpcast88$byval_copy>>0]=HEAP8[$71>>0]|0;HEAP8[$tmpcast88$byval_copy+1>>0]=HEAP8[$71+1>>0]|0;HEAP8[$tmpcast88$byval_copy+2>>0]=HEAP8[$71+2>>0]|0;HEAP8[$tmpcast88$byval_copy+3>>0]=HEAP8[$71+3>>0]|0; + _DrawTextEx($font$byval_copy85,6899,$$byval_copy86,50.0,0,$tmpcast88$byval_copy); STACKTOP = sp;return; } function _UnloadGameplayScreen() { - var $fxLightOff$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $0 = 0, $fxLightOff$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $fxLightOff$byval_copy = sp; - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[348>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[348+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[348+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[348+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[348+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25124>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25124+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25124+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25124+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25124+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[368>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[368+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[368+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[368+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[368+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25144>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25144+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25144+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25144+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25144+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[388>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[388+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[388+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[388+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[388+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25164>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25164+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25164+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25164+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25164+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[408>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[408+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[408+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[408+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[408+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25184>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25184+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25184+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25184+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25184+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[428>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[428+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[428+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[428+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[428+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25204>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25204+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25204+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25204+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25204+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[448>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[448+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[448+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[448+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[448+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25224>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25224+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25224+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25224+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25224+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[468>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[468+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[468+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[468+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[468+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25244>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25244+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25244+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25244+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25244+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[488>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[488+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[488+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[488+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[488+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25264>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25264+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25264+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25264+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25264+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[508>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[508+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[508+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[508+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[508+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25284>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25284+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25284+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25284+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25284+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[528>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[528+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[528+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[528+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[528+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25304>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25304+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25304+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25304+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25304+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[548>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[548+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[548+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[548+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[548+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25324>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25324+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25324+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25324+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25324+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[568>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[568+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[568+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[568+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[568+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25344>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25344+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25344+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25344+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25344+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - dest=$fxLightOff$byval_copy; src=708; stop=dest+60|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _UnloadShader($fxLightOff$byval_copy); - dest=$fxLightOff$byval_copy; src=3116; stop=dest+60|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _UnloadShader($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[588>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[588+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[588+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[588+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[588+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25364>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25364+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25364+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25364+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25364+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[608>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[608+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[608+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[608+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[608+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25384>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25384+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25384+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25384+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25384+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[628>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[628+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[628+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[628+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[628+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25404>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25404+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25404+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25404+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25404+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[648>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[648+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[648+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[648+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[648+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25424>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25424+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25424+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25424+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25424+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[668>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[668+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[668+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[668+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[668+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25444>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25444+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25444+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25444+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25444+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[688>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[688+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[688+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[688+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[688+16>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25464>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25464+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25464+8>>2]|0;HEAP32[$fxLightOff$byval_copy+12>>2]=HEAP32[25464+12>>2]|0;HEAP32[$fxLightOff$byval_copy+16>>2]=HEAP32[25464+16>>2]|0; _UnloadTexture($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[24>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[24+4>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25484>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25484+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25484+8>>2]|0; _UnloadSound($fxLightOff$byval_copy); - ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[32>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[32+4>>2]|0; + ;HEAP32[$fxLightOff$byval_copy>>2]=HEAP32[25496>>2]|0;HEAP32[$fxLightOff$byval_copy+4>>2]=HEAP32[25496+4>>2]|0;HEAP32[$fxLightOff$byval_copy+8>>2]=HEAP32[25496+8>>2]|0; _UnloadSound($fxLightOff$byval_copy); + $0 = HEAP32[6962]|0; + _UnloadMusicStream($0); STACKTOP = sp;return; } function _FinishGameplayScreen() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[340>>2]|0; + $0 = HEAP32[6279]|0; return ($0|0); } -function _ColorEqual($col1,$col2) { - $col1 = $col1|0; - $col2 = $col2|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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var label = 0, sp = 0; +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP8[$col1>>0]|0; - $1 = HEAP8[$col2>>0]|0; - $2 = ($0<<24>>24)==($1<<24>>24); - if (!($2)) { - $19 = 0; - $18 = $19&1; - return ($18|0); - } - $3 = ((($col1)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($col2)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($4<<24>>24)==($6<<24>>24); - if (!($7)) { - $19 = 0; - $18 = $19&1; - return ($18|0); - } - $8 = ((($col1)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = ((($col2)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($9<<24>>24)==($11<<24>>24); - if (!($12)) { - $19 = 0; - $18 = $19&1; - return ($18|0); - } - $13 = ((($col1)) + 3|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($col2)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($14<<24>>24)==($16<<24>>24); - $19 = $17; - $18 = $19&1; - return ($18|0); + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); } -function _EnemyReset($enemy) { - $enemy = $enemy|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.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.0, $44 = 0.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.0, $64 = 0.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.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, label = 0, sp = 0; +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($enemy)) + 28|0); - HEAP32[$0>>2] = 0; - $1 = ((($enemy)) + 36|0); - HEAP32[$1>>2] = 0; - $2 = ((($enemy)) + 40|0); - HEAP8[$2>>0] = -26; - $3 = ((($enemy)) + 41|0); - HEAP8[$3>>0] = 41; - $4 = ((($enemy)) + 42|0); - HEAP8[$4>>0] = 55; - $5 = ((($enemy)) + 43|0); - HEAP8[$5>>0] = -1; - $6 = ((($enemy)) + 24|0); - HEAP32[$6>>2] = 10; - $7 = (_GetRandomValue(0,1)|0); - $8 = ($7|0)==(0); - if ($8) { - $16 = (_GetScreenWidth()|0); - $17 = (($16) + -150)|0; - $18 = (_GetScreenWidth()|0); - $19 = (($18) + -50)|0; - $20 = (_GetRandomValue($17,$19)|0); - $21 = (+($20|0)); - $22 = (_GetScreenHeight()|0); - $23 = (($22) + -50)|0; - $24 = (_GetRandomValue(50,$23)|0); - $25 = (+($24|0)); - HEAPF32[$enemy>>2] = $21; - $26 = ((($enemy)) + 4|0); - HEAPF32[$26>>2] = $25; - } else { - $9 = (_GetRandomValue(50,150)|0); - $10 = (+($9|0)); - $11 = (_GetScreenHeight()|0); - $12 = (($11) + -50)|0; - $13 = (_GetRandomValue(50,$12)|0); - $14 = (+($13|0)); - HEAPF32[$enemy>>2] = $10; - $15 = ((($enemy)) + 4|0); - HEAPF32[$15>>2] = $14; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 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); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[6966] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 24672; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 24712; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[6178]; + $111 = +HEAPF32[6168]; + $112 = $110 - $111; + HEAPF32[6180] = $112; + $113 = +HEAPF32[(24716)>>2]; + $114 = +HEAPF32[(24676)>>2]; + $115 = $113 - $114; + HEAPF32[(24724)>>2] = $115; + HEAP32[6965] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24704>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24704+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24728+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[6971] = $116; + $117 = 24704; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 24672; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 24728; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 24712; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 24704; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 24728; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[6182]; + $160 = +HEAPF32[6176]; + $161 = $159 - $160; + HEAPF32[6180] = $161; + $162 = +HEAPF32[(24732)>>2]; + $163 = +HEAPF32[(24708)>>2]; + $164 = $162 - $163; + HEAPF32[(24724)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24672>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24672+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24704+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24728+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24704>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24704+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24728+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[6971]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[6965] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24704>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24704+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24728+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[6972] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[6971] = 0.0; + HEAPF32[6972] = 0.0; + HEAPF32[6180] = 0.0; + HEAPF32[(24724)>>2] = 0.0; + HEAP32[6966] = 0; + HEAP32[6965] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } } - $27 = HEAP32[2716>>2]|0; - switch ($27|0) { - case 0: { - $28 = (_GetRandomValue(0,7)|0); - $29 = ((($enemy)) + 16|0); - HEAP32[$29>>2] = $28; - $30 = ((($enemy)) + 8|0); - $31 = (796 + (($28*48)|0)|0); + if ($5) { + $6 = HEAP32[6967]|0; + $7 = (($6) + 1)|0; + HEAP32[6967] = $7; + $8 = HEAP32[6965]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24672>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24672+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[6965] = 2; + HEAP32[6967] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[6967] = 1; + HEAP32[6965] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 24672; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 24680; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 24688; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; $32 = $31; - $33 = $32; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = $30; - $39 = $38; - HEAP32[$39>>2] = $34; - $40 = (($38) + 4)|0; - $41 = $40; - HEAP32[$41>>2] = $37; - $42 = (_GetRandomValue(15,20)|0); - $43 = (+($42|0)); - $44 = $43 / 10.0; - $45 = ((($enemy)) + 20|0); - HEAPF32[$45>>2] = $44; - $46 = (_GetRandomValue(90,400)|0); - $47 = ((($enemy)) + 32|0); - HEAP32[$47>>2] = $46; - return; - break; + HEAP32[5] = $34; + HEAPF32[6174] = 0.0; + HEAPF32[(24700)>>2] = 0.0; + STACKTOP = sp;return; } - case 1: { - $48 = (_GetRandomValue(0,11)|0); - $49 = ((($enemy)) + 16|0); - HEAP32[$49>>2] = $48; - $50 = ((($enemy)) + 8|0); - $51 = (1180 + (($48*48)|0)|0); - $52 = $51; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (($52) + 4)|0; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = $50; - $59 = $58; - HEAP32[$59>>2] = $54; - $60 = (($58) + 4)|0; - $61 = $60; - HEAP32[$61>>2] = $57; - $62 = (_GetRandomValue(10,20)|0); - $63 = (+($62|0)); - $64 = $63 / 10.0; - $65 = ((($enemy)) + 20|0); - HEAPF32[$65>>2] = $64; - $66 = (_GetRandomValue(240,800)|0); - $67 = ((($enemy)) + 32|0); - HEAP32[$67>>2] = $66; - return; + switch ($4|0) { + case 0: { + $35 = HEAP32[6965]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 24688; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24672>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24672+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24688>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24688+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[6968] = $49; + HEAP32[6969] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[5]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24672>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24672+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24688>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24688+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[6970] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[6968] = 0.0; + HEAPF32[6970] = 0.0; + $$sink10 = 0; + } + HEAP32[6965] = $$sink10; + HEAPF32[6170] = 0.0; + HEAPF32[(24684)>>2] = 0.0; + HEAP32[6966] = 0; + STACKTOP = sp;return; break; } case 2: { - $68 = (_GetRandomValue(0,19)|0); - $69 = ((($enemy)) + 16|0); - HEAP32[$69>>2] = $68; - $70 = ((($enemy)) + 8|0); - $71 = (1756 + (($68*48)|0)|0); + $65 = HEAP32[6969]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[6969] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; $72 = $71; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = (($72) + 4)|0; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = $70; - $79 = $78; - HEAP32[$79>>2] = $74; - $80 = (($78) + 4)|0; - $81 = $80; - HEAP32[$81>>2] = $77; - $82 = (_GetRandomValue(8,18)|0); - $83 = (+($82|0)); - $84 = $83 / 10.0; - $85 = ((($enemy)) + 20|0); - HEAPF32[$85>>2] = $84; - $86 = (_GetRandomValue(180,1200)|0); - $87 = ((($enemy)) + 32|0); - HEAP32[$87>>2] = $86; - return; + $73 = HEAP32[$72>>2]|0; + $74 = 24704; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[6965]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[24672>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[24672+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[24704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[24704+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[6965] = 8; + } + } + $82 = +HEAPF32[6176]; + $83 = +HEAPF32[6170]; + $84 = $82 - $83; + HEAPF32[6174] = $84; + $85 = +HEAPF32[(24708)>>2]; + $86 = +HEAPF32[(24684)>>2]; + $87 = $85 - $86; + HEAPF32[(24700)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6965]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[6966]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[6965] = 4; + } + $4 = HEAP32[6965]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { break; } default: { return; } } -} -function _Vector2Subtract($agg$result,$v1,$v2) { - $agg$result = $agg$result|0; - $v1 = $v1|0; - $v2 = $v2|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v1>>2]; - $1 = +HEAPF32[$v2>>2]; - $2 = $0 - $1; - $3 = ((($v1)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($v2)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 - $6; - HEAPF32[$agg$result>>2] = $2; - $8 = ((($agg$result)) + 4|0); - HEAPF32[$8>>2] = $7; + HEAP32[6965] = 0; return; } -function _Vector2Normalize($v) { - $v = $v|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, $sqrtf$op = 0.0, label = 0, sp = 0; +function _GetMousePosition($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; - $0 = +HEAPF32[$v>>2]; - $1 = $0 * $0; - $2 = ((($v)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $3 * $3; - $5 = $1 + $4; - $sqrtf = (+Math_sqrt((+$5))); - $6 = $sqrtf == 0.0; - $sqrtf$op = 1.0 / $sqrtf; - $7 = $6 ? 1.0 : $sqrtf$op; - $8 = $0 * $7; - HEAPF32[$v>>2] = $8; - $9 = +HEAPF32[$2>>2]; - $10 = $9 * $7; - HEAPF32[$2>>2] = $10; - return; -} -function _VectorLength($v) { - $v = $v|0; - var $0 = 0.0, $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v>>2]; - $1 = $0 * $0; - $2 = ((($v)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $3 * $3; - $5 = $1 + $4; - $6 = ((($v)) + 8|0); - $7 = +HEAPF32[$6>>2]; - $8 = $7 * $7; - $9 = $5 + $8; - $sqrtf = (+Math_sqrt((+$9))); - return (+$sqrtf); -} -function _VectorNormalize($v) { - $v = $v|0; - var $$op = 0.0, $0 = 0.0, $1 = 0, $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $v$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $v$byval_copy = sp; - ;HEAP32[$v$byval_copy>>2]=HEAP32[$v>>2]|0;HEAP32[$v$byval_copy+4>>2]=HEAP32[$v+4>>2]|0;HEAP32[$v$byval_copy+8>>2]=HEAP32[$v+8>>2]|0; - $0 = (+_VectorLength($v$byval_copy)); - $1 = $0 == 0.0; - $$op = 1.0 / $0; - $2 = $1 ? 1.0 : $$op; - $3 = +HEAPF32[$v>>2]; - $4 = $3 * $2; - HEAPF32[$v>>2] = $4; - $5 = ((($v)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $2 * $6; - HEAPF32[$5>>2] = $7; - $8 = ((($v)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = $2 * $9; - HEAPF32[$8>>2] = $10; - STACKTOP = sp;return; -} -function _VectorTransform($v,$mat) { - $v = $v|0; - $mat = $mat|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v>>2]; - $1 = ((($v)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = ((($v)) + 8|0); - $4 = +HEAPF32[$3>>2]; - $5 = +HEAPF32[$mat>>2]; - $6 = $0 * $5; - $7 = ((($mat)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $2 * $8; - $10 = $6 + $9; - $11 = ((($mat)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = $4 * $12; - $14 = $10 + $13; - $15 = ((($mat)) + 12|0); - $16 = +HEAPF32[$15>>2]; - $17 = $16 + $14; - HEAPF32[$v>>2] = $17; - $18 = ((($mat)) + 16|0); - $19 = +HEAPF32[$18>>2]; - $20 = $0 * $19; - $21 = ((($mat)) + 20|0); - $22 = +HEAPF32[$21>>2]; - $23 = $2 * $22; - $24 = $20 + $23; - $25 = ((($mat)) + 24|0); - $26 = +HEAPF32[$25>>2]; - $27 = $4 * $26; - $28 = $24 + $27; - $29 = ((($mat)) + 28|0); - $30 = +HEAPF32[$29>>2]; - $31 = $30 + $28; - HEAPF32[$1>>2] = $31; - $32 = ((($mat)) + 32|0); - $33 = +HEAPF32[$32>>2]; - $34 = $0 * $33; - $35 = ((($mat)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = $2 * $36; - $38 = $34 + $37; - $39 = ((($mat)) + 40|0); - $40 = +HEAPF32[$39>>2]; - $41 = $4 * $40; - $42 = $38 + $41; - $43 = ((($mat)) + 44|0); - $44 = +HEAPF32[$43>>2]; - $45 = $44 + $42; - HEAPF32[$3>>2] = $45; - return; -} -function _VectorZero($agg$result) { - $agg$result = $agg$result|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$agg$result>>2]=0|0;HEAP32[$agg$result+4>>2]=0|0;HEAP32[$agg$result+8>>2]=0|0; - return; -} -function _MatrixTranspose($mat) { - $mat = $mat|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, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($mat)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($mat)) + 8|0); + $1 = 24736; + $2 = $1; $3 = HEAP32[$2>>2]|0; - $4 = ((($mat)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($mat)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($mat)) + 24|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($mat)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($mat)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($mat)) + 36|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($mat)) + 44|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($mat)) + 48|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($mat)) + 52|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($mat)) + 56|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[$0>>2] = $7; - HEAP32[$2>>2] = $13; - HEAP32[$4>>2] = $19; - HEAP32[$6>>2] = $1; - HEAP32[$8>>2] = $15; - HEAP32[$10>>2] = $21; - HEAP32[$12>>2] = $3; - HEAP32[$14>>2] = $9; - HEAP32[$16>>2] = $23; - HEAP32[$18>>2] = $5; - HEAP32[$20>>2] = $11; - HEAP32[$22>>2] = $17; - return; -} -function _MatrixIdentity($agg$result) { - $agg$result = $agg$result|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $result$sroa$5 = 0, $result$sroa$6 = 0, $result$sroa$7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $result$sroa$5 = sp + 32|0; - $result$sroa$6 = sp + 16|0; - $result$sroa$7 = sp; - ;HEAP32[$result$sroa$5>>2]=0|0;HEAP32[$result$sroa$5+4>>2]=0|0;HEAP32[$result$sroa$5+8>>2]=0|0;HEAP32[$result$sroa$5+12>>2]=0|0; - ;HEAP32[$result$sroa$6>>2]=0|0;HEAP32[$result$sroa$6+4>>2]=0|0;HEAP32[$result$sroa$6+8>>2]=0|0;HEAP32[$result$sroa$6+12>>2]=0|0; - ;HEAP32[$result$sroa$7>>2]=0|0;HEAP32[$result$sroa$7+4>>2]=0|0;HEAP32[$result$sroa$7+8>>2]=0|0;HEAP32[$result$sroa$7+12>>2]=0|0; - HEAPF32[$agg$result>>2] = 1.0; - $0 = ((($agg$result)) + 4|0); - ;HEAP32[$0>>2]=HEAP32[$result$sroa$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$result$sroa$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$result$sroa$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$result$sroa$5+12>>2]|0; - $1 = ((($agg$result)) + 20|0); - HEAPF32[$1>>2] = 1.0; - $2 = ((($agg$result)) + 24|0); - ;HEAP32[$2>>2]=HEAP32[$result$sroa$6>>2]|0;HEAP32[$2+4>>2]=HEAP32[$result$sroa$6+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$result$sroa$6+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$result$sroa$6+12>>2]|0; - $3 = ((($agg$result)) + 40|0); - HEAPF32[$3>>2] = 1.0; - $4 = ((($agg$result)) + 44|0); - ;HEAP32[$4>>2]=HEAP32[$result$sroa$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$result$sroa$7+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$result$sroa$7+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$result$sroa$7+12>>2]|0; - $5 = ((($agg$result)) + 60|0); - HEAPF32[$5>>2] = 1.0; - STACKTOP = sp;return; -} -function _MatrixTranslate($agg$result,$x,$y,$z) { - $agg$result = $agg$result|0; - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$agg$result>>2] = 1.0; - $0 = ((($agg$result)) + 4|0); - $1 = ((($agg$result)) + 20|0); - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0; - HEAPF32[$1>>2] = 1.0; - $2 = ((($agg$result)) + 24|0); - $3 = ((($agg$result)) + 40|0); - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0; - HEAPF32[$3>>2] = 1.0; - $4 = ((($agg$result)) + 44|0); - HEAPF32[$4>>2] = 0.0; - $5 = ((($agg$result)) + 48|0); - HEAPF32[$5>>2] = $x; - $6 = ((($agg$result)) + 52|0); - HEAPF32[$6>>2] = $y; - $7 = ((($agg$result)) + 56|0); - HEAPF32[$7>>2] = $z; - $8 = ((($agg$result)) + 60|0); - HEAPF32[$8>>2] = 1.0; - return; -} -function _MatrixRotate($agg$result,$axis,$angle) { - $agg$result = $agg$result|0; - $axis = $axis|0; - $angle = +$angle; - var $0 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0; - var $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0; - var $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0; - var $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0; - var $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $mat = 0, $or$cond = 0, $sqrtf = 0.0, $x$0 = 0.0, $y$0 = 0.0, $z$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $mat = sp; - _MatrixIdentity($mat); - $0 = +HEAPF32[$axis>>2]; - $1 = ((($axis)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = ((($axis)) + 8|0); - $4 = +HEAPF32[$3>>2]; - $5 = $0 * $0; - $6 = $2 * $2; - $7 = $5 + $6; - $8 = $4 * $4; - $9 = $7 + $8; - $sqrtf = (+Math_sqrt((+$9))); - $10 = $sqrtf != 1.0; - $11 = $sqrtf != 0.0; - $or$cond = $10 & $11; - if ($or$cond) { - $12 = 1.0 / $sqrtf; - $13 = $0 * $12; - $14 = $2 * $12; - $15 = $4 * $12; - $x$0 = $13;$y$0 = $14;$z$0 = $15; - } else { - $x$0 = $0;$y$0 = $2;$z$0 = $4; - } - $16 = (+Math_sin((+$angle))); - $17 = (+Math_cos((+$angle))); - $18 = 1.0 - $17; - $19 = +HEAPF32[$mat>>2]; - $20 = ((($mat)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($mat)) + 32|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($mat)) + 48|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($mat)) + 4|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($mat)) + 20|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($mat)) + 36|0); - $31 = +HEAPF32[$30>>2]; - $32 = ((($mat)) + 52|0); - $33 = +HEAPF32[$32>>2]; - $34 = ((($mat)) + 8|0); - $35 = +HEAPF32[$34>>2]; - $36 = ((($mat)) + 24|0); - $37 = +HEAPF32[$36>>2]; - $38 = ((($mat)) + 40|0); - $39 = +HEAPF32[$38>>2]; - $40 = ((($mat)) + 56|0); - $41 = +HEAPF32[$40>>2]; - $42 = $x$0 * $x$0; - $43 = $42 * $18; - $44 = $17 + $43; - $45 = $y$0 * $x$0; - $46 = $45 * $18; - $47 = $z$0 * $16; - $48 = $47 + $46; - $49 = $z$0 * $x$0; - $50 = $49 * $18; - $51 = $y$0 * $16; - $52 = $50 - $51; - $53 = $46 - $47; - $54 = $y$0 * $y$0; - $55 = $54 * $18; - $56 = $17 + $55; - $57 = $z$0 * $y$0; - $58 = $57 * $18; - $59 = $x$0 * $16; - $60 = $59 + $58; - $61 = $51 + $50; - $62 = $58 - $59; - $63 = $z$0 * $z$0; - $64 = $63 * $18; - $65 = $17 + $64; - $66 = $19 * $44; - $67 = $48 * $27; - $68 = $66 + $67; - $69 = $52 * $35; - $70 = $68 + $69; - $71 = $21 * $44; - $72 = $48 * $29; - $73 = $71 + $72; - $74 = $52 * $37; - $75 = $73 + $74; - $76 = $23 * $44; - $77 = $48 * $31; - $78 = $76 + $77; - $79 = $52 * $39; - $80 = $78 + $79; - $81 = $44 * $25; - $82 = $48 * $33; - $83 = $81 + $82; - $84 = $52 * $41; - $85 = $83 + $84; - $86 = $19 * $53; - $87 = $56 * $27; - $88 = $86 + $87; - $89 = $60 * $35; - $90 = $88 + $89; - $91 = $21 * $53; - $92 = $56 * $29; - $93 = $91 + $92; - $94 = $60 * $37; - $95 = $93 + $94; - $96 = $23 * $53; - $97 = $56 * $31; - $98 = $96 + $97; - $99 = $60 * $39; - $100 = $98 + $99; - $101 = $53 * $25; - $102 = $56 * $33; - $103 = $101 + $102; - $104 = $60 * $41; - $105 = $103 + $104; - $106 = $19 * $61; - $107 = $62 * $27; - $108 = $106 + $107; - $109 = $65 * $35; - $110 = $108 + $109; - $111 = $21 * $61; - $112 = $62 * $29; - $113 = $111 + $112; - $114 = $65 * $37; - $115 = $113 + $114; - $116 = $23 * $61; - $117 = $62 * $31; - $118 = $116 + $117; - $119 = $65 * $39; - $120 = $118 + $119; - $121 = $61 * $25; - $122 = $62 * $33; - $123 = $121 + $122; - $124 = $65 * $41; - $125 = $123 + $124; - $126 = ((($mat)) + 12|0); - $127 = HEAP32[$126>>2]|0; - $128 = ((($mat)) + 28|0); - $129 = HEAP32[$128>>2]|0; - $130 = ((($mat)) + 44|0); - $131 = HEAP32[$130>>2]|0; - $132 = ((($mat)) + 60|0); - $133 = HEAP32[$132>>2]|0; - HEAPF32[$agg$result>>2] = $70; - $134 = ((($agg$result)) + 4|0); - HEAPF32[$134>>2] = $90; - $135 = ((($agg$result)) + 8|0); - HEAPF32[$135>>2] = $110; - $136 = ((($agg$result)) + 12|0); - HEAP32[$136>>2] = $127; - $137 = ((($agg$result)) + 16|0); - HEAPF32[$137>>2] = $75; - $138 = ((($agg$result)) + 20|0); - HEAPF32[$138>>2] = $95; - $139 = ((($agg$result)) + 24|0); - HEAPF32[$139>>2] = $115; - $140 = ((($agg$result)) + 28|0); - HEAP32[$140>>2] = $129; - $141 = ((($agg$result)) + 32|0); - HEAPF32[$141>>2] = $80; - $142 = ((($agg$result)) + 36|0); - HEAPF32[$142>>2] = $100; - $143 = ((($agg$result)) + 40|0); - HEAPF32[$143>>2] = $120; - $144 = ((($agg$result)) + 44|0); - HEAP32[$144>>2] = $131; - $145 = ((($agg$result)) + 48|0); - HEAPF32[$145>>2] = $85; - $146 = ((($agg$result)) + 52|0); - HEAPF32[$146>>2] = $105; - $147 = ((($agg$result)) + 56|0); - HEAPF32[$147>>2] = $125; - $148 = ((($agg$result)) + 60|0); - HEAP32[$148>>2] = $133; - STACKTOP = sp;return; -} -function _MatrixScale($agg$result,$x,$y,$z) { - $agg$result = $agg$result|0; - $x = +$x; - $y = +$y; - $z = +$z; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $result$sroa$5 = 0, $result$sroa$6 = 0, $result$sroa$7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $result$sroa$5 = sp + 32|0; - $result$sroa$6 = sp + 16|0; - $result$sroa$7 = sp; - ;HEAP32[$result$sroa$5>>2]=0|0;HEAP32[$result$sroa$5+4>>2]=0|0;HEAP32[$result$sroa$5+8>>2]=0|0;HEAP32[$result$sroa$5+12>>2]=0|0; - ;HEAP32[$result$sroa$6>>2]=0|0;HEAP32[$result$sroa$6+4>>2]=0|0;HEAP32[$result$sroa$6+8>>2]=0|0;HEAP32[$result$sroa$6+12>>2]=0|0; - ;HEAP32[$result$sroa$7>>2]=0|0;HEAP32[$result$sroa$7+4>>2]=0|0;HEAP32[$result$sroa$7+8>>2]=0|0;HEAP32[$result$sroa$7+12>>2]=0|0; - HEAPF32[$agg$result>>2] = $x; - $0 = ((($agg$result)) + 4|0); - ;HEAP32[$0>>2]=HEAP32[$result$sroa$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$result$sroa$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$result$sroa$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$result$sroa$5+12>>2]|0; - $1 = ((($agg$result)) + 20|0); - HEAPF32[$1>>2] = $y; - $2 = ((($agg$result)) + 24|0); - ;HEAP32[$2>>2]=HEAP32[$result$sroa$6>>2]|0;HEAP32[$2+4>>2]=HEAP32[$result$sroa$6+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$result$sroa$6+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$result$sroa$6+12>>2]|0; - $3 = ((($agg$result)) + 40|0); - HEAPF32[$3>>2] = $z; - $4 = ((($agg$result)) + 44|0); - ;HEAP32[$4>>2]=HEAP32[$result$sroa$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$result$sroa$7+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$result$sroa$7+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$result$sroa$7+12>>2]|0; - $5 = ((($agg$result)) + 60|0); - HEAPF32[$5>>2] = 1.0; - STACKTOP = sp;return; -} -function _MatrixMultiply($agg$result,$left,$right) { - $agg$result = $agg$result|0; - $left = $left|0; - $right = $right|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0.0; - var $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0; - var $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0, $139 = 0.0, $14 = 0.0, $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0.0, $151 = 0.0; - var $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0; - var $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0.0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0; - var $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$right>>2]; - $1 = +HEAPF32[$left>>2]; - $2 = $0 * $1; - $3 = ((($right)) + 16|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($left)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = $2 + $7; - $9 = ((($right)) + 32|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($left)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = $10 * $12; - $14 = $8 + $13; - $15 = ((($right)) + 48|0); - $16 = +HEAPF32[$15>>2]; - $17 = ((($left)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 * $18; - $20 = $14 + $19; - $21 = ((($left)) + 16|0); - $22 = +HEAPF32[$21>>2]; - $23 = $0 * $22; - $24 = ((($left)) + 20|0); - $25 = +HEAPF32[$24>>2]; - $26 = $4 * $25; - $27 = $23 + $26; - $28 = ((($left)) + 24|0); - $29 = +HEAPF32[$28>>2]; - $30 = $10 * $29; - $31 = $27 + $30; - $32 = ((($left)) + 28|0); - $33 = +HEAPF32[$32>>2]; - $34 = $16 * $33; - $35 = $31 + $34; - $36 = ((($left)) + 32|0); - $37 = +HEAPF32[$36>>2]; - $38 = $0 * $37; - $39 = ((($left)) + 36|0); - $40 = +HEAPF32[$39>>2]; - $41 = $4 * $40; - $42 = $38 + $41; - $43 = ((($left)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = $10 * $44; - $46 = $42 + $45; - $47 = ((($left)) + 44|0); - $48 = +HEAPF32[$47>>2]; - $49 = $16 * $48; - $50 = $46 + $49; - $51 = ((($left)) + 48|0); - $52 = +HEAPF32[$51>>2]; - $53 = $0 * $52; - $54 = ((($left)) + 52|0); - $55 = +HEAPF32[$54>>2]; - $56 = $4 * $55; - $57 = $53 + $56; - $58 = ((($left)) + 56|0); - $59 = +HEAPF32[$58>>2]; - $60 = $10 * $59; - $61 = $57 + $60; - $62 = ((($left)) + 60|0); - $63 = +HEAPF32[$62>>2]; - $64 = $16 * $63; - $65 = $61 + $64; - $66 = ((($right)) + 4|0); - $67 = +HEAPF32[$66>>2]; - $68 = $1 * $67; - $69 = ((($right)) + 20|0); - $70 = +HEAPF32[$69>>2]; - $71 = $6 * $70; - $72 = $68 + $71; - $73 = ((($right)) + 36|0); - $74 = +HEAPF32[$73>>2]; - $75 = $12 * $74; - $76 = $72 + $75; - $77 = ((($right)) + 52|0); - $78 = +HEAPF32[$77>>2]; - $79 = $18 * $78; - $80 = $76 + $79; - $81 = $22 * $67; - $82 = $25 * $70; - $83 = $81 + $82; - $84 = $29 * $74; - $85 = $83 + $84; - $86 = $33 * $78; - $87 = $85 + $86; - $88 = $37 * $67; - $89 = $40 * $70; - $90 = $88 + $89; - $91 = $44 * $74; - $92 = $90 + $91; - $93 = $48 * $78; - $94 = $92 + $93; - $95 = $52 * $67; - $96 = $55 * $70; - $97 = $95 + $96; - $98 = $59 * $74; - $99 = $97 + $98; - $100 = $63 * $78; - $101 = $99 + $100; - $102 = ((($right)) + 8|0); - $103 = +HEAPF32[$102>>2]; - $104 = $1 * $103; - $105 = ((($right)) + 24|0); - $106 = +HEAPF32[$105>>2]; - $107 = $6 * $106; - $108 = $104 + $107; - $109 = ((($right)) + 40|0); - $110 = +HEAPF32[$109>>2]; - $111 = $12 * $110; - $112 = $108 + $111; - $113 = ((($right)) + 56|0); - $114 = +HEAPF32[$113>>2]; - $115 = $18 * $114; - $116 = $112 + $115; - $117 = $22 * $103; - $118 = $25 * $106; - $119 = $117 + $118; - $120 = $29 * $110; - $121 = $119 + $120; - $122 = $33 * $114; - $123 = $121 + $122; - $124 = $37 * $103; - $125 = $40 * $106; - $126 = $124 + $125; - $127 = $44 * $110; - $128 = $126 + $127; - $129 = $48 * $114; - $130 = $128 + $129; - $131 = $52 * $103; - $132 = $55 * $106; - $133 = $131 + $132; - $134 = $59 * $110; - $135 = $133 + $134; - $136 = $63 * $114; - $137 = $135 + $136; - $138 = ((($right)) + 12|0); - $139 = +HEAPF32[$138>>2]; - $140 = $1 * $139; - $141 = ((($right)) + 28|0); - $142 = +HEAPF32[$141>>2]; - $143 = $6 * $142; - $144 = $140 + $143; - $145 = ((($right)) + 44|0); - $146 = +HEAPF32[$145>>2]; - $147 = $12 * $146; - $148 = $144 + $147; - $149 = ((($right)) + 60|0); - $150 = +HEAPF32[$149>>2]; - $151 = $18 * $150; - $152 = $148 + $151; - $153 = $22 * $139; - $154 = $25 * $142; - $155 = $153 + $154; - $156 = $29 * $146; - $157 = $155 + $156; - $158 = $33 * $150; - $159 = $157 + $158; - $160 = $37 * $139; - $161 = $40 * $142; - $162 = $160 + $161; - $163 = $44 * $146; - $164 = $162 + $163; - $165 = $48 * $150; - $166 = $164 + $165; - $167 = $52 * $139; - $168 = $55 * $142; - $169 = $167 + $168; - $170 = $59 * $146; - $171 = $169 + $170; - $172 = $63 * $150; - $173 = $171 + $172; - HEAPF32[$agg$result>>2] = $20; - $174 = ((($agg$result)) + 4|0); - HEAPF32[$174>>2] = $80; - $175 = ((($agg$result)) + 8|0); - HEAPF32[$175>>2] = $116; - $176 = ((($agg$result)) + 12|0); - HEAPF32[$176>>2] = $152; - $177 = ((($agg$result)) + 16|0); - HEAPF32[$177>>2] = $35; - $178 = ((($agg$result)) + 20|0); - HEAPF32[$178>>2] = $87; - $179 = ((($agg$result)) + 24|0); - HEAPF32[$179>>2] = $123; - $180 = ((($agg$result)) + 28|0); - HEAPF32[$180>>2] = $159; - $181 = ((($agg$result)) + 32|0); - HEAPF32[$181>>2] = $50; - $182 = ((($agg$result)) + 36|0); - HEAPF32[$182>>2] = $94; - $183 = ((($agg$result)) + 40|0); - HEAPF32[$183>>2] = $130; - $184 = ((($agg$result)) + 44|0); - HEAPF32[$184>>2] = $166; - $185 = ((($agg$result)) + 48|0); - HEAPF32[$185>>2] = $65; - $186 = ((($agg$result)) + 52|0); - HEAPF32[$186>>2] = $101; - $187 = ((($agg$result)) + 56|0); - HEAPF32[$187>>2] = $137; - $188 = ((($agg$result)) + 60|0); - HEAPF32[$188>>2] = $173; - return; -} -function _MatrixOrtho($agg$result,$left,$right,$bottom,$top,$near,$far) { - $agg$result = $agg$result|0; - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = $right - $left; - $1 = $0; - $2 = $top - $bottom; - $3 = $2; - $4 = $far - $near; + $4 = (($1) + 4)|0; $5 = $4; - $6 = 2.0 / $1; - $7 = 2.0 / $3; - $8 = -2.0 / $5; - $9 = $left + $right; - $10 = -$9; - $11 = $1; - $12 = $10 / $11; - $13 = $12; - $14 = $bottom + $top; - $15 = -$14; - $16 = $3; - $17 = $15 / $16; - $18 = $17; - $19 = $near + $far; - $20 = -$19; - $21 = $5; - $22 = $20 / $21; - $23 = $22; - HEAPF32[$agg$result>>2] = $6; - $24 = ((($agg$result)) + 4|0); - HEAPF32[$24>>2] = 0.0; - $25 = ((($agg$result)) + 8|0); - HEAPF32[$25>>2] = 0.0; - $26 = ((($agg$result)) + 12|0); - HEAPF32[$26>>2] = $13; - $27 = ((($agg$result)) + 16|0); - HEAPF32[$27>>2] = 0.0; - $28 = ((($agg$result)) + 20|0); - HEAPF32[$28>>2] = $7; - $29 = ((($agg$result)) + 24|0); - HEAPF32[$29>>2] = 0.0; - $30 = ((($agg$result)) + 28|0); - HEAPF32[$30>>2] = $18; - $31 = ((($agg$result)) + 32|0); - HEAPF32[$31>>2] = 0.0; - $32 = ((($agg$result)) + 36|0); - HEAPF32[$32>>2] = 0.0; - $33 = ((($agg$result)) + 40|0); - HEAPF32[$33>>2] = $8; - $34 = ((($agg$result)) + 44|0); - HEAPF32[$34>>2] = $23; - $35 = ((($agg$result)) + 48|0); - HEAPF32[$35>>2] = 0.0; - $36 = ((($agg$result)) + 52|0); - HEAPF32[$36>>2] = 0.0; - $37 = ((($agg$result)) + 56|0); - HEAPF32[$37>>2] = 0.0; - $38 = ((($agg$result)) + 60|0); - HEAPF32[$38>>2] = 1.0; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; return; } -function _InitWindow($width,$height,$title) { - $width = $width|0; - $height = $height|0; - $title = $title|0; - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _IsKeyDown($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; + $1 = (_GetKeyStatus($0)|0); + $2 = ($1|0)==(1); + $$ = $2&1; + return ($$|0); +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6975]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6974]|0; + return ($0|0); +} +function _GetKeyStatus($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[6973]|0; + $2 = (_glfwGetKey(($1|0),($0|0))|0); + return ($2|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.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; - _TraceLog(0,13367,$vararg_buffer); - HEAP32[3180>>2] = $title; - _InitDisplay($width,$height); - _InitGraphics(); + _TraceLog(0,6913,$vararg_buffer); + HEAP32[6977] = $2; + _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(5|0))|0); - (_emscripten_set_touchstart_callback((13396|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchend_callback((13396|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchmove_callback((13396|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchcancel_callback((13396|0),(0|0),1,(6|0))|0); - $0 = HEAP32[3184>>2]|0; - $1 = (+($0|0)); - $2 = $1 * 0.5; - HEAPF32[40>>2] = $2; - $3 = HEAP32[3188>>2]|0; + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(6|0))|0); + (_emscripten_set_keypress_callback((6942|0),(0|0),1,(7|0))|0); + (_emscripten_set_click_callback((6942|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchstart_callback((6942|0),(0|0),1,(9|0))|0); + (_emscripten_set_touchend_callback((6942|0),(0|0),1,(9|0))|0); + (_emscripten_set_touchmove_callback((6942|0),(0|0),1,(9|0))|0); + (_emscripten_set_touchcancel_callback((6942|0),(0|0),1,(9|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(10|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(10|0))|0); + $3 = HEAP32[6975]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[(44)>>2] = $5; - $6 = HEAP32[3192>>2]|0; - $7 = ($6|0)==(0); - if ($7) { + HEAPF32[6184] = $5; + $6 = HEAP32[6974]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(24740)>>2] = $8; + $9 = HEAP32[6978]|0; + $10 = ($9|0)==(0); + if ($10) { STACKTOP = sp;return; } _SetTargetFPS(60); _LogoAnimation(); STACKTOP = sp;return; } -function _SetTargetFPS($fps) { - $fps = $fps|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = (+($fps|0)); - $1 = 1.0 / $0; - HEAPF64[48>>3] = $1; - $2 = $1; - $3 = $2 * 1000.0; - $4 = $3; - HEAPF64[$vararg_buffer>>3] = $4; - _TraceLog(0,13404,$vararg_buffer); - STACKTOP = sp;return; -} -function _CloseWindow() { - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[3196>>2]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,13448,$vararg_buffer); - STACKTOP = sp;return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3184>>2]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3188>>2]|0; - return ($0|0); -} -function _ClearBackground($color) { - $color = $color|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$color>>0]|0; - $1 = ((($color)) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = ((($color)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlClearColor($0,$2,$4,$6); - return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[56>>3] = $0; - $1 = +HEAPF64[64>>3]; - $2 = $0 - $1; - HEAPF64[72>>3] = $2; - HEAPF64[64>>3] = $0; - $3 = (_IsPosproShaderEnabled()|0); - $4 = ($3|0)==(0); - if (!($4)) { - _rlEnablePostproFBO(); - } - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=3208; 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)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(3272); - STACKTOP = sp;return; -} -function _MatrixToFloat($mat) { - $mat = $mat|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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$mat>>2]|0; - HEAP32[3272>>2] = $0; - $1 = ((($mat)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[(3276)>>2] = $2; - $3 = ((($mat)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[(3280)>>2] = $4; - $5 = ((($mat)) + 12|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[(3284)>>2] = $6; - $7 = ((($mat)) + 16|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[(3288)>>2] = $8; - $9 = ((($mat)) + 20|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[(3292)>>2] = $10; - $11 = ((($mat)) + 24|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[(3296)>>2] = $12; - $13 = ((($mat)) + 28|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[(3300)>>2] = $14; - $15 = ((($mat)) + 32|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[(3304)>>2] = $16; - $17 = ((($mat)) + 36|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[(3308)>>2] = $18; - $19 = ((($mat)) + 40|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[(3312)>>2] = $20; - $21 = ((($mat)) + 44|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[(3316)>>2] = $22; - $23 = ((($mat)) + 48|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[(3320)>>2] = $24; - $25 = ((($mat)) + 52|0); - $26 = HEAP32[$25>>2]|0; - HEAP32[(3324)>>2] = $26; - $27 = ((($mat)) + 56|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[(3328)>>2] = $28; - $29 = ((($mat)) + 60|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[(3332)>>2] = $30; - return (3272|0); -} -function _EndDrawing() { - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - $0 = (_IsPosproShaderEnabled()|0); - $1 = ($0|0)==(0); - if (!($1)) { - _rlglDrawPostpro(); - } - _SwapBuffers(); - _PollInputEvents(); - $2 = (+_GetTime()); - HEAPF64[56>>3] = $2; - $3 = +HEAPF64[64>>3]; - $4 = $2 - $3; - HEAPF64[80>>3] = $4; - HEAPF64[64>>3] = $2; - $5 = +HEAPF64[72>>3]; - $6 = $5 + $4; - HEAPF64[88>>3] = $6; - $7 = +HEAPF64[48>>3]; - $8 = $6 < $7; - if (!($8)) { - return; - } - while(1) { - $9 = (+_GetTime()); - HEAPF64[56>>3] = $9; - $10 = +HEAPF64[64>>3]; - $11 = $9 - $10; - HEAPF64[64>>3] = $9; - $12 = +HEAPF64[88>>3]; - $13 = $12 + $11; - HEAPF64[88>>3] = $13; - $14 = +HEAPF64[48>>3]; - $15 = $13 < $14; - if (!($15)) { - break; - } - } - return; -} -function _GetRandomValue($min,$max) { - $min = $min|0; - $max = $max|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $ispos = 0, $max$min = 0, $min$max = 0, $neg = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($min|0)>($max|0); - $min$max = $0 ? $min : $max; - $max$min = $0 ? $max : $min; - $1 = (_rand()|0); - $2 = (($min$max) - ($max$min))|0; - $ispos = ($2|0)>(-1); - $neg = (0 - ($2))|0; - $3 = $ispos ? $2 : $neg; - $4 = (($3) + 1)|0; - $5 = (($1|0) % ($4|0))&-1; - $6 = (($5) + ($max$min))|0; - return ($6|0); -} -function _Fade($agg$result,$color,$alpha) { - $agg$result = $agg$result|0; - $color = $color|0; - $alpha = +$alpha; - var $$0 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $alpha < 0.0; - if ($0) { - $$0 = 0.0; - } else { - $1 = $alpha > 1.0; - if ($1) { - $$0 = 1.0; - } else { - $$0 = $alpha; - } - } - $2 = ((($color)) + 3|0); - $3 = HEAP8[$2>>0]|0; - $4 = (+($3&255)); - $5 = $$0 * $4; - $6 = HEAP8[$color>>0]|0; - HEAP8[$agg$result>>0] = $6; - $7 = ((($agg$result)) + 1|0); - $8 = ((($color)) + 1|0); - $9 = HEAP8[$8>>0]|0; - HEAP8[$7>>0] = $9; - $10 = ((($agg$result)) + 2|0); - $11 = ((($color)) + 2|0); - $12 = HEAP8[$11>>0]|0; - HEAP8[$10>>0] = $12; - $13 = ((($agg$result)) + 3|0); - $14 = (~~(($5))&255); - HEAP8[$13>>0] = $14; - return; -} -function _IsKeyPressed($key) { - $key = $key|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $pressed$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (13476 + ($key)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (13988 + ($key)|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($1<<24>>24)!=($3<<24>>24); - $5 = ($1<<24>>24)==(1); - $or$cond = $5 & $4; - $pressed$0 = $or$cond&1; - return ($pressed$0|0); -} -function _IsKeyDown($key) { - $key = $key|0; - var $$ = 0, $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_GetKeyStatus($key)|0); - $1 = ($0|0)==(1); - $$ = $1&1; - return ($$|0); -} -function _IsMouseButtonPressed($button) { - $button = $button|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $pressed$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (14500 + ($button)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (14503 + ($button)|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($1<<24>>24)!=($3<<24>>24); - $5 = ($1<<24>>24)==(1); - $or$cond = $5 & $4; - $pressed$0 = $or$cond&1; - return ($pressed$0|0); -} -function _IsMouseButtonReleased($button) { - $button = $button|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $released$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (14500 + ($button)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (14503 + ($button)|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($1<<24>>24)!=($3<<24>>24); - $5 = ($1<<24>>24)==(0); - $or$cond = $5 & $4; - $released$0 = $or$cond&1; - return ($released$0|0); -} -function _GetMousePosition($agg$result) { - $agg$result = $agg$result|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; - $0 = 40; - $1 = $0; - $2 = HEAP32[$1>>2]|0; - $3 = (($0) + 4)|0; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = $agg$result; - $7 = $6; - HEAP32[$7>>2] = $2; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = $5; - return; -} -function _mystrdup($str) { - $str = $str|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen($str)|0); - $1 = (($0) + 1)|0; - $2 = (_malloc($1)|0); - $3 = ($2|0)==(0|0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - _memcpy(($2|0),($str|0),($1|0))|0; - $$0 = $2; - return ($$0|0); -} -function _rlMatrixMode($mode) { - $mode = $mode|0; - var label = 0, sp = 0; - sp = STACKTOP; - switch ($mode|0) { + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { case 0: { - HEAP32[3436>>2] = 3372; - break; - } - case 1: { - HEAP32[3436>>2] = 3440; - break; - } - default: { - } - } - HEAP32[3504>>2] = $mode; - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[3508>>2]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,14506,$vararg_buffer); - } - $2 = HEAP32[3508>>2]|0; - $3 = (3512 + ($2<<6)|0); - $4 = HEAP32[3436>>2]|0; - dest=$3; src=$4; 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)); - _rlLoadIdentity(); - $5 = HEAP32[3508>>2]|0; - $6 = (($5) + 1)|0; - HEAP32[3508>>2] = $6; - $7 = HEAP32[3504>>2]|0; - $8 = ($7|0)==(1); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[4536>>2] = 1; - STACKTOP = sp;return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp; - $1 = HEAP32[3436>>2]|0; - _MatrixIdentity($0); - dest=$1; src=$0; 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)); - STACKTOP = sp;return; -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3508>>2]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[3508>>2]|0; - $3 = (($2) + -1)|0; - $4 = (3512 + ($3<<6)|0); - $5 = HEAP32[3436>>2]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = HEAP32[3508>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[3508>>2] = $7; - return; -} -function _rlTranslatef($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var $$byval_copy = 0, $0 = 0, $1 = 0, $matTranslation = 0, $matTranslation$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $matTranslation$byval_copy = sp + 192|0; - $$byval_copy = sp + 128|0; - $matTranslation = sp + 64|0; - $0 = sp; - _MatrixTranslate($matTranslation,$x,$y,$z); - _MatrixTranspose($matTranslation); - $1 = HEAP32[3436>>2]|0; - dest=$$byval_copy; src=$1; 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)); - dest=$matTranslation$byval_copy; src=$matTranslation; 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)); - _MatrixMultiply($0,$$byval_copy,$matTranslation$byval_copy); - dest=$1; src=$0; 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)); - STACKTOP = sp;return; -} -function _rlRotatef($angleDeg,$x,$y,$z) { - $angleDeg = +$angleDeg; - $x = +$x; - $y = +$y; - $z = +$z; - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $axis = 0, $matRotation = 0, $matRotation$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; - $matRotation$byval_copy = sp + 272|0; - $$byval_copy = sp + 208|0; - $matRotation = sp + 144|0; - $axis = sp + 128|0; - $0 = sp + 64|0; - $1 = sp; - _MatrixIdentity($matRotation); - HEAPF32[$axis>>2] = $x; - $2 = ((($axis)) + 4|0); - HEAPF32[$2>>2] = $y; - $3 = ((($axis)) + 8|0); - HEAPF32[$3>>2] = $z; - _VectorNormalize($axis); - $4 = $angleDeg; - $5 = $4 * 0.017453292519943295; - $6 = $5; - ;HEAP32[$matRotation$byval_copy>>2]=HEAP32[$axis>>2]|0;HEAP32[$matRotation$byval_copy+4>>2]=HEAP32[$axis+4>>2]|0;HEAP32[$matRotation$byval_copy+8>>2]=HEAP32[$axis+8>>2]|0; - _MatrixRotate($0,$matRotation$byval_copy,$6); - dest=$matRotation; src=$0; 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)); - _MatrixTranspose($matRotation); - $7 = HEAP32[3436>>2]|0; - dest=$$byval_copy; src=$7; 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)); - dest=$matRotation$byval_copy; src=$matRotation; 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)); - _MatrixMultiply($1,$$byval_copy,$matRotation$byval_copy); - dest=$7; src=$1; 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)); - STACKTOP = sp;return; -} -function _rlMultMatrixf($m) { - $m = $m|0; - var $$byval_copy = 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, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mat = 0, $mat$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $mat$byval_copy = sp + 192|0; - $$byval_copy = sp + 128|0; - $mat = sp + 64|0; - $0 = sp; - $1 = HEAP32[$m>>2]|0; - HEAP32[$mat>>2] = $1; - $2 = ((($mat)) + 4|0); - $3 = ((($m)) + 4|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$2>>2] = $4; - $5 = ((($mat)) + 8|0); - $6 = ((($m)) + 8|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$5>>2] = $7; - $8 = ((($mat)) + 12|0); - $9 = ((($m)) + 12|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$8>>2] = $10; - $11 = ((($mat)) + 16|0); - $12 = ((($m)) + 16|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$11>>2] = $13; - $14 = ((($mat)) + 20|0); - $15 = ((($m)) + 20|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$14>>2] = $16; - $17 = ((($mat)) + 24|0); - $18 = ((($m)) + 24|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$17>>2] = $19; - $20 = ((($mat)) + 28|0); - $21 = ((($m)) + 28|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$20>>2] = $22; - $23 = ((($mat)) + 32|0); - $24 = ((($m)) + 32|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$23>>2] = $25; - $26 = ((($mat)) + 36|0); - $27 = ((($m)) + 36|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$26>>2] = $28; - $29 = ((($mat)) + 40|0); - $30 = ((($m)) + 40|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$29>>2] = $31; - $32 = ((($mat)) + 44|0); - $33 = ((($m)) + 44|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$32>>2] = $34; - $35 = ((($mat)) + 48|0); - $36 = ((($m)) + 48|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$35>>2] = $37; - $38 = ((($mat)) + 52|0); - $39 = ((($m)) + 52|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$38>>2] = $40; - $41 = ((($mat)) + 56|0); - $42 = ((($m)) + 56|0); - $43 = HEAP32[$42>>2]|0; - HEAP32[$41>>2] = $43; - $44 = ((($mat)) + 60|0); - $45 = ((($m)) + 60|0); - $46 = HEAP32[$45>>2]|0; - HEAP32[$44>>2] = $46; - $47 = HEAP32[3436>>2]|0; - dest=$$byval_copy; src=$47; 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)); - dest=$mat$byval_copy; src=$mat; 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)); - _MatrixMultiply($0,$$byval_copy,$mat$byval_copy); - dest=$47; src=$0; 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)); - STACKTOP = sp;return; -} -function _rlOrtho($left,$right,$bottom,$top,$near,$far) { - $left = +$left; - $right = +$right; - $bottom = +$bottom; - $top = +$top; - $near = +$near; - $far = +$far; - var $$byval_copy = 0, $0 = 0, $1 = 0, $matOrtho = 0, $matOrtho$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $matOrtho$byval_copy = sp + 192|0; - $$byval_copy = sp + 128|0; - $matOrtho = sp + 64|0; - $0 = sp; - _MatrixOrtho($matOrtho,$left,$right,$bottom,$top,$near,$far); - _MatrixTranspose($matOrtho); - $1 = HEAP32[3436>>2]|0; - dest=$$byval_copy; src=$1; 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)); - dest=$matOrtho$byval_copy; src=$matOrtho; 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)); - _MatrixMultiply($0,$$byval_copy,$matOrtho$byval_copy); - dest=$1; src=$0; 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)); - STACKTOP = sp;return; -} -function _rlBegin($mode) { - $mode = $mode|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4540>>2] = $mode; - return; -} -function _rlEnd() { - var $$byval_copy = 0, $$lcssa = 0, $0 = 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.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.0; - var $150 = 0, $151 = 0.0, $152 = 0.0, $16 = 0, $17 = 0.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, $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, $exitcond16 = 0, $exitcond17 = 0, $exitcond18 = 0, $i$013 = 0; - var $i1$011 = 0, $i2$04 = 0, $i4$05 = 0, $i6$09 = 0, $i7$07 = 0, $quads$1$promoted = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $$byval_copy = sp; - $0 = HEAP32[4536>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[4544>>2]|0; - $3 = ($2|0)>(0); - if ($3) { - $i$013 = 0; - while(1) { - $4 = HEAP32[4548>>2]|0; - $5 = (($4) + (($i$013*12)|0)|0); - $6 = HEAP32[3436>>2]|0; - dest=$$byval_copy; src=$6; 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)); - _VectorTransform($5,$$byval_copy); - $7 = (($i$013) + 1)|0; - $8 = HEAP32[4544>>2]|0; - $9 = ($7|0)<($8|0); - if ($9) { - $i$013 = $7; - } else { - $$lcssa = $8; - break; - } - } - HEAP32[4536>>2] = 0; - $10 = ($$lcssa|0)>(0); - if ($10) { - $i1$011 = 0; - while(1) { - $11 = HEAP32[4548>>2]|0; - $12 = (($11) + (($i1$011*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($i1$011*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($i1$011*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($i1$011) + 1)|0; - $19 = HEAP32[4544>>2]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $i1$011 = $18; - } else { - break; - } - } - } - } else { - HEAP32[4536>>2] = 0; - } - HEAP32[4544>>2] = 0; - } - $21 = HEAP32[4540>>2]|0; - switch ($21|0) { - case 0: { - $22 = HEAP32[4552>>2]|0; - $23 = HEAP32[4556>>2]|0; - $24 = ($22|0)>($23|0); - if (!($24)) { - $151 = +HEAPF32[4596>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[4596>>2] = $152; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $i2$04 = 0; - while(1) { - $26 = HEAP32[4556>>2]|0; - $27 = $26 << 2; - $28 = (($27) + -4)|0; - $29 = HEAP32[4560>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = (($29) + ($27)|0); - HEAP8[$32>>0] = $31; - $33 = HEAP32[4556>>2]|0; - $34 = $33 << 2; - $35 = (($34) + -3)|0; - $36 = HEAP32[4560>>2]|0; - $37 = (($36) + ($35)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $34 | 1; - $40 = (($36) + ($39)|0); - HEAP8[$40>>0] = $38; - $41 = HEAP32[4556>>2]|0; - $42 = $41 << 2; - $43 = (($42) + -2)|0; - $44 = HEAP32[4560>>2]|0; - $45 = (($44) + ($43)|0); - $46 = HEAP8[$45>>0]|0; - $47 = $42 | 2; - $48 = (($44) + ($47)|0); - HEAP8[$48>>0] = $46; - $49 = HEAP32[4556>>2]|0; - $50 = $49 << 2; - $51 = (($50) + -1)|0; - $52 = HEAP32[4560>>2]|0; - $53 = (($52) + ($51)|0); - $54 = HEAP8[$53>>0]|0; - $55 = $50 | 3; - $56 = (($52) + ($55)|0); - HEAP8[$56>>0] = $54; - $57 = HEAP32[4556>>2]|0; - $58 = (($57) + 1)|0; - HEAP32[4556>>2] = $58; - $59 = (($i2$04) + 1)|0; - $exitcond = ($59|0)==($25|0); - if ($exitcond) { - break; - } else { - $i2$04 = $59; - } - } - $151 = +HEAPF32[4596>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[4596>>2] = $152; - STACKTOP = sp;return; - break; - } - case 1: { - $60 = HEAP32[4564>>2]|0; - $61 = HEAP32[4568>>2]|0; - $62 = ($60|0)>($61|0); - if (!($62)) { - $151 = +HEAPF32[4596>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[4596>>2] = $152; - STACKTOP = sp;return; - } - $63 = (($60) - ($61))|0; - $i4$05 = 0; - while(1) { - $64 = HEAP32[4568>>2]|0; - $65 = $64 << 2; - $66 = (($65) + -4)|0; - $67 = HEAP32[4572>>2]|0; - $68 = (($67) + ($66)|0); - $69 = HEAP8[$68>>0]|0; - $70 = (($67) + ($65)|0); - HEAP8[$70>>0] = $69; - $71 = HEAP32[4568>>2]|0; - $72 = $71 << 2; - $73 = (($72) + -3)|0; - $74 = HEAP32[4572>>2]|0; - $75 = (($74) + ($73)|0); - $76 = HEAP8[$75>>0]|0; - $77 = $72 | 1; - $78 = (($74) + ($77)|0); - HEAP8[$78>>0] = $76; - $79 = HEAP32[4568>>2]|0; - $80 = $79 << 2; - $81 = (($80) + -2)|0; - $82 = HEAP32[4572>>2]|0; - $83 = (($82) + ($81)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $80 | 2; - $86 = (($82) + ($85)|0); - HEAP8[$86>>0] = $84; - $87 = HEAP32[4568>>2]|0; - $88 = $87 << 2; - $89 = (($88) + -1)|0; - $90 = HEAP32[4572>>2]|0; - $91 = (($90) + ($89)|0); - $92 = HEAP8[$91>>0]|0; - $93 = $88 | 3; - $94 = (($90) + ($93)|0); - HEAP8[$94>>0] = $92; - $95 = HEAP32[4568>>2]|0; - $96 = (($95) + 1)|0; - HEAP32[4568>>2] = $96; - $97 = (($i4$05) + 1)|0; - $exitcond16 = ($97|0)==($63|0); - if ($exitcond16) { - break; - } else { - $i4$05 = $97; - } - } - $151 = +HEAPF32[4596>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[4596>>2] = $152; - STACKTOP = sp;return; + ;HEAP8[24776>>0]=HEAP8[11489>>0]|0;HEAP8[24776+1>>0]=HEAP8[11489+1>>0]|0;HEAP8[24776+2>>0]=HEAP8[11489+2>>0]|0;HEAP8[24776+3>>0]=HEAP8[11489+3>>0]|0;HEAP8[24776+4>>0]=HEAP8[11489+4>>0]|0;HEAP8[24776+5>>0]=HEAP8[11489+5>>0]|0;HEAP8[24776+6>>0]=HEAP8[11489+6>>0]|0; break; } case 2: { - $98 = HEAP32[4576>>2]|0; - $99 = HEAP32[4580>>2]|0; - $100 = ($98|0)>($99|0); - if ($100) { - $101 = (($98) - ($99))|0; - $i6$09 = 0; - while(1) { - $102 = HEAP32[4580>>2]|0; - $103 = $102 << 2; - $104 = (($103) + -4)|0; - $105 = HEAP32[4584>>2]|0; - $106 = (($105) + ($104)|0); - $107 = HEAP8[$106>>0]|0; - $108 = (($105) + ($103)|0); - HEAP8[$108>>0] = $107; - $109 = HEAP32[4580>>2]|0; - $110 = $109 << 2; - $111 = (($110) + -3)|0; - $112 = HEAP32[4584>>2]|0; - $113 = (($112) + ($111)|0); - $114 = HEAP8[$113>>0]|0; - $115 = $110 | 1; - $116 = (($112) + ($115)|0); - HEAP8[$116>>0] = $114; - $117 = HEAP32[4580>>2]|0; - $118 = $117 << 2; - $119 = (($118) + -2)|0; - $120 = HEAP32[4584>>2]|0; - $121 = (($120) + ($119)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $118 | 2; - $124 = (($120) + ($123)|0); - HEAP8[$124>>0] = $122; - $125 = HEAP32[4580>>2]|0; - $126 = $125 << 2; - $127 = (($126) + -1)|0; - $128 = HEAP32[4584>>2]|0; - $129 = (($128) + ($127)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $126 | 3; - $132 = (($128) + ($131)|0); - HEAP8[$132>>0] = $130; - $133 = HEAP32[4580>>2]|0; - $134 = (($133) + 1)|0; - HEAP32[4580>>2] = $134; - $135 = (($i6$09) + 1)|0; - $exitcond18 = ($135|0)==($101|0); - if ($exitcond18) { - break; - } else { - $i6$09 = $135; - } - } - } - $136 = HEAP32[4576>>2]|0; - $137 = HEAP32[4588>>2]|0; - $138 = ($136|0)>($137|0); - if (!($138)) { - $151 = +HEAPF32[4596>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[4596>>2] = $152; - STACKTOP = sp;return; - } - $139 = HEAP32[4592>>2]|0; - $quads$1$promoted = HEAP32[4588>>2]|0; - $140 = (($136) + ($quads$1$promoted))|0; - $141 = (($136) - ($137))|0; - $143 = $quads$1$promoted;$i7$07 = 0; - while(1) { - $142 = $143 << 1; - $144 = (($139) + ($142<<2)|0); - HEAPF32[$144>>2] = 0.0; - $145 = $143 << 1; - $146 = $145 | 1; - $147 = (($139) + ($146<<2)|0); - HEAPF32[$147>>2] = 0.0; - $148 = (($143) + 1)|0; - $149 = (($i7$07) + 1)|0; - $exitcond17 = ($149|0)==($141|0); - if ($exitcond17) { - break; - } else { - $143 = $148;$i7$07 = $149; - } - } - $150 = (($140) - ($137))|0; - HEAP32[4588>>2] = $150; - $151 = +HEAPF32[4596>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[4596>>2] = $152; - STACKTOP = sp;return; + $3 = 24776; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 1: { + dest=24776; src=11496; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 24776; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; break; } default: { - $151 = +HEAPF32[4596>>2]; - $152 = $151 + 4.9999998736893758E-5; - HEAPF32[4596>>2] = $152; + } + } + (_strcat(24776,$1)|0); + $strlen = (_strlen(24776)|0); + $endptr = (24776 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { STACKTOP = sp;return; } + (_vprintf(24776,$2)|0); + $12 = ($0|0)==(2); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; } } -function _rlVertex3f($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - 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; +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 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.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = HEAP32[4536>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[4544>>2]|0; - $3 = HEAP32[4548>>2]|0; - $4 = (($3) + (($2*12)|0)|0); - HEAPF32[$4>>2] = $x; - $5 = HEAP32[4544>>2]|0; - $6 = HEAP32[4548>>2]|0; - $7 = (((($6) + (($5*12)|0)|0)) + 4|0); - HEAPF32[$7>>2] = $y; - $8 = HEAP32[4544>>2]|0; - $9 = HEAP32[4548>>2]|0; - $10 = (((($9) + (($8*12)|0)|0)) + 8|0); - HEAPF32[$10>>2] = $z; - $11 = HEAP32[4544>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[4544>>2] = $12; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[6975] = $0; + HEAP32[6974] = $1; + _MatrixIdentity($2); + dest=27988; 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)); + (_glfwSetErrorCallback((2|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(2,7631,$vararg_buffer); + } + $6 = HEAP32[6975]|0; + HEAP32[7013] = $6; + $7 = HEAP32[6974]|0; + HEAP32[7014] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[31748]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[31748]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[31748]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,7657,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[7015]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[6975]|0; + $48 = HEAP32[6974]|0; + $49 = HEAP32[6977]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[6973] = $50; + $51 = HEAP32[6975]|0; + HEAP32[7016] = $51; + $52 = HEAP32[6974]|0; + HEAP32[7017] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[6975]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[6974]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[7013] = $31; + HEAP32[7014] = $34; + } + } while(0); + $38 = HEAP32[7013]|0; + $39 = HEAP32[7014]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(1,7682,$vararg_buffer3); + $40 = HEAP32[7013]|0; + $41 = HEAP32[7014]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[7013]|0; + $43 = HEAP32[7014]|0; + $44 = HEAP32[6977]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[6973] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(2,7720,$vararg_buffer6); + } else { + _TraceLog(0,7753,$vararg_buffer8); + $55 = HEAP32[7016]|0; + $56 = HEAP32[7017]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,7793,$vararg_buffer10); + $57 = HEAP32[6975]|0; + $58 = HEAP32[6974]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,7814,$vararg_buffer14); + $59 = HEAP32[7018]|0; + $60 = HEAP32[7019]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,7835,$vararg_buffer18); + } + $61 = HEAP32[6973]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[6973]|0; + (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); + $63 = HEAP32[6973]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[6973]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[6973]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[6973]|0; + (_glfwSetCharCallback(($66|0),(4|0))|0); + $67 = HEAP32[6973]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[6973]|0; + (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); + $69 = HEAP32[6973]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[31748]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[6975]|0; + $74 = HEAP32[6974]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7016]|0; + $76 = HEAP32[7018]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7017]|0; + $80 = HEAP32[7019]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); STACKTOP = sp;return; } - $13 = HEAP32[4540>>2]|0; - switch ($13|0) { - case 0: { - $14 = HEAP32[4552>>2]|0; - $15 = ($14|0)<(2048); + _glfwSwapInterval(1); + _TraceLog(0,7860,$vararg_buffer22); + $73 = HEAP32[6975]|0; + $74 = HEAP32[6974]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7016]|0; + $76 = HEAP32[7018]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7017]|0; + $80 = HEAP32[7019]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 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, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(27956)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (24 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); if ($15) { - $16 = ($14*3)|0; - $17 = HEAP32[4600>>2]|0; - $18 = (($17) + ($16<<2)|0); - HEAPF32[$18>>2] = $x; - $19 = HEAP32[4552>>2]|0; - $20 = ($19*3)|0; - $21 = (($20) + 1)|0; - $22 = HEAP32[4600>>2]|0; - $23 = (($22) + ($21<<2)|0); - HEAPF32[$23>>2] = $y; - $24 = HEAP32[4552>>2]|0; - $25 = ($24*3)|0; - $26 = (($25) + 2)|0; - $27 = HEAP32[4600>>2]|0; - $28 = (($27) + ($26<<2)|0); - HEAPF32[$28>>2] = $z; - $29 = HEAP32[4552>>2]|0; - $30 = (($29) + 1)|0; - HEAP32[4552>>2] = $30; - STACKTOP = sp;return; + $$095104 = $$;$$096103 = $14; } else { - _TraceLog(1,14544,$vararg_buffer); - STACKTOP = sp;return; + break; } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[27932>>2]=HEAP32[$1>>2]|0;HEAP32[27932+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[27932+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[27932+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[27932+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(27956)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(27960)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(27952)>>2] = $23; + $24 = HEAP32[6983]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,7137,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(27936)>>2]|0; + $10 = HEAP32[(27956)>>2]|0; + $11 = HEAP32[(27960)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2072 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(27952)>>2] = $23; + $24 = HEAP32[6983]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,7137,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[3096] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 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 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,7070,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,7001,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,6994)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; break; } - case 1: { - $31 = HEAP32[4564>>2]|0; - $32 = ($31|0)<(6144); - if ($32) { - $33 = ($31*3)|0; - $34 = HEAP32[4604>>2]|0; - $35 = (($34) + ($33<<2)|0); - HEAPF32[$35>>2] = $x; - $36 = HEAP32[4564>>2]|0; - $37 = ($36*3)|0; - $38 = (($37) + 1)|0; - $39 = HEAP32[4604>>2]|0; - $40 = (($39) + ($38<<2)|0); - HEAPF32[$40>>2] = $y; - $41 = HEAP32[4564>>2]|0; - $42 = ($41*3)|0; - $43 = (($42) + 2)|0; - $44 = HEAP32[4604>>2]|0; - $45 = (($44) + ($43<<2)|0); - HEAPF32[$45>>2] = $z; - $46 = HEAP32[4564>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[4564>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(1,14569,$vararg_buffer1); - STACKTOP = sp;return; - } + case 23: { + $$sink = 0; + label = 4; break; } - case 2: { - $48 = HEAP32[4576>>2]|0; - $49 = ($48|0)<(4096); - if ($49) { - $50 = ($48*3)|0; - $51 = HEAP32[4608>>2]|0; - $52 = (($51) + ($50<<2)|0); - HEAPF32[$52>>2] = $x; - $53 = HEAP32[4576>>2]|0; - $54 = ($53*3)|0; - $55 = (($54) + 1)|0; - $56 = HEAP32[4608>>2]|0; - $57 = (($56) + ($55<<2)|0); - HEAPF32[$57>>2] = $y; - $58 = HEAP32[4576>>2]|0; - $59 = ($58*3)|0; - $60 = (($59) + 2)|0; - $61 = HEAP32[4608>>2]|0; - $62 = (($61) + ($60<<2)|0); - HEAPF32[$62>>2] = $z; - $63 = HEAP32[4576>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[4576>>2] = $64; - $65 = HEAP32[4612>>2]|0; - $66 = (($65) + -1)|0; - $67 = HEAP32[4616>>2]|0; - $68 = (((($67) + ($66<<3)|0)) + 4|0); - $69 = HEAP32[$68>>2]|0; - $70 = (($69) + 1)|0; - HEAP32[$68>>2] = $70; - STACKTOP = sp;return; - } else { - _TraceLog(1,14598,$vararg_buffer3); - STACKTOP = sp;return; - } + case 24: { + $$sink = 2; + label = 4; break; } default: { - STACKTOP = sp;return; } } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 24752; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (24760); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; } -function _rlVertex2f($x,$y) { - $x = +$x; - $y = +$y; +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 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 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (27916 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 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; + $1 = ($0|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[3093] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,6950,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[6978] = 0; + return; +} +function _GetTime() { var $0 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF32[4596>>2]; - _rlVertex3f($x,$y,$0); - return; + $0 = (+_glfwGetTime()); + return (+$0); } -function _rlVertex2i($x,$y) { - $x = $x|0; - $y = $y|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, label = 0, sp = 0; +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (+($x|0)); - $1 = (+($y|0)); - $2 = +HEAPF32[4596>>2]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlTexCoord2f($x,$y) { - $x = +$x; - $y = +$y; - 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, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4540>>2]|0; - $1 = ($0|0)==(2); - if (!($1)) { - return; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } } - $2 = HEAP32[4588>>2]|0; - $3 = $2 << 1; - $4 = HEAP32[4592>>2]|0; - $5 = (($4) + ($3<<2)|0); - HEAPF32[$5>>2] = $x; - $6 = HEAP32[4588>>2]|0; - $7 = $6 << 1; - $8 = $7 | 1; - $9 = HEAP32[4592>>2]|0; - $10 = (($9) + ($8<<2)|0); - HEAPF32[$10>>2] = $y; - $11 = HEAP32[4588>>2]|0; - $12 = (($11) + 1)|0; - HEAP32[4588>>2] = $12; + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; return; } -function _rlNormal3f($x,$y,$z) { - $x = +$x; - $y = +$y; - $z = +$z; - var label = 0, sp = 0; +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.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.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - return; -} -function _rlColor4ub($x,$y,$z,$w) { - $x = $x|0; - $y = $y|0; - $z = $z|0; - $w = $w|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, $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, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4540>>2]|0; - switch ($0|0) { - case 0: { - $1 = HEAP32[4556>>2]|0; - $2 = $1 << 2; - $3 = HEAP32[4560>>2]|0; - $4 = (($3) + ($2)|0); - HEAP8[$4>>0] = $x; - $5 = HEAP32[4556>>2]|0; - $6 = $5 << 2; - $7 = $6 | 1; - $8 = HEAP32[4560>>2]|0; - $9 = (($8) + ($7)|0); - HEAP8[$9>>0] = $y; - $10 = HEAP32[4556>>2]|0; - $11 = $10 << 2; - $12 = $11 | 2; - $13 = HEAP32[4560>>2]|0; - $14 = (($13) + ($12)|0); - HEAP8[$14>>0] = $z; - $15 = HEAP32[4556>>2]|0; - $16 = $15 << 2; - $17 = $16 | 3; - $18 = HEAP32[4560>>2]|0; - $19 = (($18) + ($17)|0); - HEAP8[$19>>0] = $w; - $20 = HEAP32[4556>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[4556>>2] = $21; - return; - break; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(1,7531,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { case 1: { - $22 = HEAP32[4568>>2]|0; - $23 = $22 << 2; - $24 = HEAP32[4572>>2]|0; - $25 = (($24) + ($23)|0); - HEAP8[$25>>0] = $x; - $26 = HEAP32[4568>>2]|0; - $27 = $26 << 2; - $28 = $27 | 1; - $29 = HEAP32[4572>>2]|0; - $30 = (($29) + ($28)|0); - HEAP8[$30>>0] = $y; - $31 = HEAP32[4568>>2]|0; - $32 = $31 << 2; - $33 = $32 | 2; - $34 = HEAP32[4572>>2]|0; - $35 = (($34) + ($33)|0); - HEAP8[$35>>0] = $z; - $36 = HEAP32[4568>>2]|0; - $37 = $36 << 2; - $38 = $37 | 3; - $39 = HEAP32[4572>>2]|0; - $40 = (($39) + ($38)|0); - HEAP8[$40>>0] = $w; - $41 = HEAP32[4568>>2]|0; - $42 = (($41) + 1)|0; - HEAP32[4568>>2] = $42; - return; + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } break; } case 2: { - $43 = HEAP32[4580>>2]|0; - $44 = $43 << 2; - $45 = HEAP32[4584>>2]|0; - $46 = (($45) + ($44)|0); - HEAP8[$46>>0] = $x; - $47 = HEAP32[4580>>2]|0; - $48 = $47 << 2; - $49 = $48 | 1; - $50 = HEAP32[4584>>2]|0; - $51 = (($50) + ($49)|0); - HEAP8[$51>>0] = $y; - $52 = HEAP32[4580>>2]|0; - $53 = $52 << 2; - $54 = $53 | 2; - $55 = HEAP32[4584>>2]|0; - $56 = (($55) + ($54)|0); - HEAP8[$56>>0] = $z; - $57 = HEAP32[4580>>2]|0; - $58 = $57 << 2; - $59 = $58 | 3; - $60 = HEAP32[4584>>2]|0; - $61 = (($60) + ($59)|0); - HEAP8[$61>>0] = $w; - $62 = HEAP32[4580>>2]|0; - $63 = (($62) + 1)|0; - HEAP32[4580>>2] = $63; - return; + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } break; } default: { - return; } } + _free($7); + STACKTOP = sp;return; } -function _rlEnableTexture($id) { - $id = $id|0; - var $0 = 0, $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, label = 0, sp = 0; +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$12$0$$sroa_idx6 = 0, $$sroa$15$0$$sroa_idx8 = 0, $$sroa$6$0$$sroa_idx2 = 0, $$sroa$9$0$$sroa_idx4 = 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, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; + var $vararg_ptr4 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4612>>2]|0; - $1 = (($0) + -1)|0; - $2 = HEAP32[4616>>2]|0; - $3 = (($2) + ($1<<3)|0); + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer = sp; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==($id|0); - if ($5) { + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$vararg_buffer>>2] = $11; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $12; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $13; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $10; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $8; + _TraceLog(0,7182,$vararg_buffer); + HEAP32[$0>>2] = $11; + $$sroa$6$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx2>>2] = $12; + $$sroa$9$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$9$0$$sroa_idx4>>2] = $13; + $$sroa$12$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$12$0$$sroa_idx6>>2] = $10; + $$sroa$15$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx8>>2] = $8; + STACKTOP = sp;return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[6991]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(1,7229,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[6992]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(1,7273,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[6993]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(1,7318,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[6994]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(1,7363,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[6995]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(1,7408,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[6991]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[6991]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[6991]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[6991]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[6992]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[6993]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[6993]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[6994]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[6994]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[6995]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[6995]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(1,7453,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[6996]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(1,14012,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,7482,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; } - $6 = (((($2) + ($1<<3)|0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(0); - if ($8) { - $9 = (($0) + 1)|0; - HEAP32[4612>>2] = $9; + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } } - $10 = HEAP32[4612>>2]|0; - $11 = (($10) + -1)|0; - $12 = HEAP32[4616>>2]|0; - $13 = (($12) + ($11<<3)|0); - HEAP32[$13>>2] = $id; - $14 = HEAP32[4612>>2]|0; - $15 = (($14) + -1)|0; - $16 = HEAP32[4616>>2]|0; - $17 = (((($16) + ($15<<3)|0)) + 4|0); - HEAP32[$17>>2] = 0; return; } -function _rlDisableTexture() { - var label = 0, sp = 0; +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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, $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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - return; -} -function _rlDeleteTextures($id) { - $id = $id|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - _glDeleteTextures(1,($0|0)); - STACKTOP = sp;return; -} -function _rlEnablePostproFBO() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4620>>2]|0; - _glBindFramebuffer(36160,($0|0)); - return; -} -function _rlDeleteShader($id) { - $id = $id|0; - var label = 0, sp = 0; - sp = STACKTOP; - _glDeleteProgram(($id|0)); - return; -} -function _rlDeleteVertexArrays($id) { - $id = $id|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - $1 = HEAP32[4632>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); } - $3 = HEAP32[4636>>2]|0; - FUNCTION_TABLE_vii[$3 & 63](1,$0); + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(1,7585,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + 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] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(1,11451,$vararg_buffer); STACKTOP = sp;return; } -function _rlDeleteBuffers($id) { - $id = $id|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $id; - _glDeleteBuffers(1,($0|0)); - STACKTOP = sp;return; -} -function _rlClearColor($r,$g,$b,$a) { - $r = $r|0; - $g = $g|0; - $b = $b|0; - $a = $a|0; - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($r&255)); - $1 = $0 / 255.0; - $2 = (+($g&255)); - $3 = $2 / 255.0; - $4 = (+($b&255)); - $5 = $4 / 255.0; - $6 = (+($a&255)); - $7 = $6 / 255.0; - _glClearColor((+$1),(+$3),(+$5),(+$7)); - return; -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} function _rlGetVersion() { var label = 0, sp = 0; sp = STACKTOP; - return 3; + return 4; } -function _rlglInit() { - 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, $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, $8 = 0, $9 = 0, $exitcond = 0, $exitcond10 = 0, $exitcond12 = 0, $i$04 = 0, $i2$02 = 0, $i3$01 = 0, $numExt$0$lcssa = 0; - var $numExt$05 = 0, $pixels = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[6975]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[6974]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[7016] = $3; + HEAP32[7017] = $5; + HEAP32[7018] = 0; + HEAP32[7019] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,11385,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[6975]|0; + $36 = (+($35|0)); + $37 = HEAP32[6974]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[7016] = $45; + HEAP32[7017] = $37; + $46 = (($45) - ($35))|0; + HEAP32[7018] = $46; + $$sink1 = 0; + } else { + HEAP32[7016] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[7017] = $42; + HEAP32[7018] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[7019] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[6974]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(1,11242,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[6975]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[6974]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[7016] = $23; + HEAP32[7017] = $1; + $24 = (($0) - ($23))|0; + HEAP32[7018] = $24; + $$sink = 0; + } else { + HEAP32[7016] = $0; + $17 = HEAP32[6974]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[7017] = $20; + HEAP32[7018] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[7019] = $$sink; + $25 = HEAP32[7016]|0; + $26 = (+($25|0)); + $27 = HEAP32[6975]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=27988; 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)); + HEAP32[7016] = $0; + HEAP32[7017] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(1,11320,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[6975] = $1; + HEAP32[6974] = $2; + HEAP32[7016] = $1; + HEAP32[7017] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($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, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[743]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (31755 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[742] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 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.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.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 + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (31749 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 24752; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[742] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[7389] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[7388] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; $vararg_buffer34 = sp + 2160|0; $vararg_buffer31 = sp + 2152|0; $vararg_buffer29 = sp + 2144|0; @@ -16762,1189 +18370,728 @@ function _rlglInit() { $vararg_buffer4 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 2432|0; - $1 = sp + 2368|0; - $2 = sp + 2304|0; - $pixels = sp + 2296|0; - $3 = sp + 2236|0; - $4 = sp + 2176|0; - $5 = sp + 2164|0; - $6 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(0,14623,$vararg_buffer); - $7 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $7; - _TraceLog(0,14641,$vararg_buffer1); - $8 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $8; - _TraceLog(0,14659,$vararg_buffer4); - $9 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $9; - _TraceLog(0,14677,$vararg_buffer7); - $10 = (_glGetString(7939)|0); - $11 = (_mystrdup($10)|0); - $12 = (_strtok($11,14695)|0); - HEAP32[$vararg_buffer7>>2] = $12; - $13 = ($12|0)==(0|0); - if ($13) { - $numExt$0$lcssa = -1; - } else { - $numExt$05 = 0; - while(1) { - $14 = (($numExt$05) + 1)|0; - $15 = (_strtok(0,14695)|0); - $16 = (($vararg_buffer7) + ($14<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - if ($17) { - $numExt$0$lcssa = $numExt$05; - break; - } else { - $numExt$05 = $14; - } - } - } - _free($11); - HEAP32[$vararg_buffer10>>2] = $numExt$0$lcssa; - _TraceLog(0,14697,$vararg_buffer10); - $18 = ($numExt$0$lcssa|0)>(0); - if ($18) { - $i$04 = 0; - while(1) { - $19 = (($vararg_buffer7) + ($i$04<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_strcmp($20,14732)|0); - $22 = ($21|0)==(0); - if ($22) { - HEAP32[4632>>2] = 1; - $23 = (_eglGetProcAddress((14759|0))|0); - HEAP32[4640>>2] = $23; - $24 = (_eglGetProcAddress((14780|0))|0); - HEAP32[4644>>2] = $24; - $25 = (_eglGetProcAddress((14801|0))|0); - HEAP32[4636>>2] = $25; - } - $26 = HEAP32[$19>>2]|0; - $27 = (_strcmp($26,14825)|0); - $28 = ($27|0)==(0); - if ($28) { - HEAP32[4648>>2] = 1; - } - $29 = HEAP32[$19>>2]|0; - $30 = (_strcmp($29,14845)|0); - $31 = ($30|0)==(0); - if ($31) { - label = 10; - } else { - $32 = (_strcmp($29,14877)|0); - $33 = ($32|0)==(0); - if ($33) { - label = 10; - } - } - if ((label|0) == 10) { - label = 0; - HEAP32[4652>>2] = 1; - } - $34 = HEAP32[$19>>2]|0; - $35 = (_strcmp($34,14917)|0); - $36 = ($35|0)==(0); - if ($36) { - HEAP32[4656>>2] = 1; - } - $37 = HEAP32[$19>>2]|0; - $38 = (_strcmp($37,14953)|0); - $39 = ($38|0)==(0); - if ($39) { - HEAP32[4660>>2] = 1; - } - $40 = HEAP32[$19>>2]|0; - $41 = (_strcmp($40,14978)|0); - $42 = ($41|0)==(0); - if ($42) { - HEAP32[4664>>2] = 1; - } - $43 = HEAP32[$19>>2]|0; - $44 = (_strcmp($43,15011)|0); - $45 = ($44|0)==(0); - if ($45) { - HEAP32[4668>>2] = 1; - } - $46 = (($i$04) + 1)|0; - $exitcond12 = ($46|0)==($numExt$0$lcssa|0); - if ($exitcond12) { - break; - } else { - $i$04 = $46; - } - } - } - $47 = HEAP32[4632>>2]|0; - $48 = ($47|0)==(0); - if ($48) { - _TraceLog(2,15122,$vararg_buffer15); - } else { - _TraceLog(0,15047,$vararg_buffer13); - } - $49 = HEAP32[4648>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - _TraceLog(2,15258,$vararg_buffer19); - } else { - _TraceLog(0,15183,$vararg_buffer17); - } - $51 = HEAP32[4652>>2]|0; - $52 = ($51|0)==(0); - if (!($52)) { - _TraceLog(0,15362,$vararg_buffer21); - } - $53 = HEAP32[4656>>2]|0; - $54 = ($53|0)==(0); - if (!($54)) { - _TraceLog(0,15408,$vararg_buffer23); - } - $55 = HEAP32[4660>>2]|0; - $56 = ($55|0)==(0); - if (!($56)) { - _TraceLog(0,15455,$vararg_buffer25); - } - $57 = HEAP32[4664>>2]|0; - $58 = ($57|0)==(0); - if (!($58)) { - _TraceLog(0,15506,$vararg_buffer27); - } - $59 = HEAP32[4668>>2]|0; - $60 = ($59|0)==(0); - if (!($60)) { - _TraceLog(0,15553,$vararg_buffer29); - } - HEAP32[4540>>2] = 1; - _MatrixIdentity($0); - dest=3372; src=$0; 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)); - _MatrixIdentity($1); - dest=3440; src=$1; 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)); - HEAP32[3436>>2] = 3440; - _MatrixIdentity($2); - dest=3512; 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)); - _MatrixIdentity($2); - dest=(3576); 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)); - _MatrixIdentity($2); - dest=(3640); 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)); - _MatrixIdentity($2); - dest=(3704); 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)); - _MatrixIdentity($2); - dest=(3768); 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)); - _MatrixIdentity($2); - dest=(3832); 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)); - _MatrixIdentity($2); - dest=(3896); 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)); - _MatrixIdentity($2); - dest=(3960); 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)); - _MatrixIdentity($2); - dest=(4024); 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)); - _MatrixIdentity($2); - dest=(4088); 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)); - _MatrixIdentity($2); - dest=(4152); 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)); - _MatrixIdentity($2); - dest=(4216); 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)); - _MatrixIdentity($2); - dest=(4280); 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)); - _MatrixIdentity($2); - dest=(4344); 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)); - _MatrixIdentity($2); - dest=(4408); 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)); - _MatrixIdentity($2); - dest=(4472); 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)); - HEAP32[$pixels>>2] = -1; - $61 = (_rlglLoadTexture($pixels,1,1,7,1)|0); - HEAP32[3176>>2] = $61; - $62 = ($61|0)==(0); - if ($62) { - _TraceLog(2,15651,$vararg_buffer34); - } else { - HEAP32[$vararg_buffer31>>2] = $61; - _TraceLog(0,15600,$vararg_buffer31); - } - _LoadDefaultShader($3); - dest=4672; src=$3; stop=dest+60|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadSimpleShader($4); - dest=4732; src=$4; stop=dest+60|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=4792; src=4672; stop=dest+60|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _InitializeBuffers(); - _InitializeBuffersGPU(); - $63 = (_malloc(49152)|0); - HEAP32[4548>>2] = $63; - $i2$02 = 0; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,7883,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,7901,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,7919,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,7937,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; while(1) { - $64 = HEAP32[4548>>2]|0; - $65 = (($64) + (($i2$02*12)|0)|0); - _VectorZero($5); - ;HEAP32[$65>>2]=HEAP32[$5>>2]|0;HEAP32[$65+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$65+8>>2]=HEAP32[$5+8>>2]|0; - $66 = (($i2$02) + 1)|0; - $exitcond10 = ($66|0)==(4096); - if ($exitcond10) { + $15 = (_strtok($$sink63,7955)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { break; } else { - $i2$02 = $66; + $$062 = $18;$$sink63 = 0; } } - $67 = (_malloc(2048)|0); - HEAP32[4616>>2] = $67; - $i3$01 = 0; + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,7957,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,7992)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[7054] = 1; + $27 = (_eglGetProcAddress((8019|0))|0); + HEAP32[7055] = $27; + $28 = (_eglGetProcAddress((8040|0))|0); + HEAP32[7056] = $28; + $29 = (_eglGetProcAddress((8061|0))|0); + HEAP32[7057] = $29; + } + $30 = (_strcmp($24,8085)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[6996] = 1; + } + $32 = (_strcmp($24,8105)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,8137)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,8170)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[6991] = 1; + } + $39 = (_strcmp($24,8210)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,8246)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[6992] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,8279)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[6993] = 1; + } + $47 = (_strcmp($44,8304)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[6994] = 1; + } + $49 = (_strcmp($44,8337)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[6995] = 1; + } + $51 = (_strcmp($44,8373)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[7058] = 1; + _glGetFloatv(34047,(28236|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,8407)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[7060] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[7054]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(1,8510,$vararg_buffer15); + } else { + _TraceLog(0,8435,$vararg_buffer13); + } + $57 = HEAP32[6996]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(1,8646,$vararg_buffer19); + } else { + _TraceLog(0,8571,$vararg_buffer17); + } + $59 = HEAP32[6991]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,8738,$vararg_buffer21); + } + $61 = HEAP32[6992]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,8784,$vararg_buffer23); + } + $63 = HEAP32[6993]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,8831,$vararg_buffer25); + } + $65 = HEAP32[6994]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,8882,$vararg_buffer27); + } + $67 = HEAP32[6995]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,8929,$vararg_buffer29); + } + $69 = HEAP32[7058]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[7059]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,8976,$vararg_buffer31); + } + $73 = HEAP32[7060]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,9042,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[7061] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(1,9146,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,9095,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=28248; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=28304; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[7090] = $77; + $$06066 = 0; while(1) { - $68 = (($67) + ($i3$01<<3)|0); - HEAP32[$68>>2] = 0; - $69 = (((($67) + ($i3$01<<3)|0)) + 4|0); - HEAP32[$69>>2] = 0; - $70 = (($i3$01) + 1)|0; - $exitcond = ($70|0)==(256); + $79 = HEAP32[7090]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[7091] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); if ($exitcond) { break; } else { - $i3$01 = $70; + $$05965 = $84; } } - HEAP32[4612>>2] = 1; - $71 = HEAP32[3176>>2]|0; - $72 = HEAP32[4616>>2]|0; - HEAP32[$72>>2] = $71; + HEAP32[7092] = 1; + $85 = HEAP32[7061]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[7093] = 4; + _MatrixIdentity($4); + dest=28376; src=$4; 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)); + _MatrixIdentity($4); + dest=(28440); src=$4; 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)); + _MatrixIdentity($4); + dest=(28504); src=$4; 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)); + _MatrixIdentity($4); + dest=(28568); src=$4; 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)); + _MatrixIdentity($4); + dest=(28632); src=$4; 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)); + _MatrixIdentity($4); + dest=(28696); src=$4; 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)); + _MatrixIdentity($4); + dest=(28760); src=$4; 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)); + _MatrixIdentity($4); + dest=(28824); src=$4; 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)); + _MatrixIdentity($4); + dest=(28888); src=$4; 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)); + _MatrixIdentity($4); + dest=(28952); src=$4; 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)); + _MatrixIdentity($4); + dest=(29016); src=$4; 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)); + _MatrixIdentity($4); + dest=(29080); src=$4; 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)); + _MatrixIdentity($4); + dest=(29144); src=$4; 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)); + _MatrixIdentity($4); + dest=(29208); src=$4; 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)); + _MatrixIdentity($4); + dest=(29272); src=$4; 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)); + _MatrixIdentity($4); + dest=(29336); src=$4; 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)); + _MatrixIdentity($5); + dest=28084; src=$5; 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)); + _MatrixIdentity($6); + dest=28148; src=$6; 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)); + HEAP32[7020] = 28148; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[7350] = $0; + HEAP32[7351] = $1; + _TraceLog(0,9185,$vararg_buffer41); STACKTOP = sp;return; } -function _rlglLoadTexture($data,$width,$height,$textureFormat,$mipmapCount) { - $data = $data|0; - $width = $width|0; - $height = $height|0; - $textureFormat = $textureFormat|0; - $mipmapCount = $mipmapCount|0; - 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, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $id = 0, $or$cond = 0, $or$cond20 = 0, $or$cond22 = 0, $or$cond24 = 0, $or$cond9 = 0, $switch = 0, $textureFormat$off = 0, $textureFormat$off16 = 0, $textureFormat$off17 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; + $0 = HEAP32[7018]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[7019]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[7016]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[7017]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 28084; + label = 3; + break; + } + case 5888: { + $modelview$sink = 28148; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[7020] = $modelview$sink; + } + HEAP32[7053] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 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); + $0 = sp; + $1 = HEAP32[7020]|0; + _MatrixIdentity($0); + dest=$1; src=$0; 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)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[7020]|0; + dest=$$byval_copy; src=$8; 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)); + dest=$$byval_copy1; src=$6; 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)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; 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)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(9761|0),489)|0; + _memcpy(($3|0),(10250|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(1,10739,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,10691,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|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 _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 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, $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 = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $id = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$id>>2] = 0; - $0 = HEAP32[4652>>2]|0; - $1 = ($0|0)==(0); - $2 = $textureFormat & -4; - $switch = ($2|0)==(8); - $or$cond24 = $switch & $1; - if ($or$cond24) { - _TraceLog(2,15690,$vararg_buffer); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $3 = HEAP32[4656>>2]|0; - $4 = ($3|0)==(0); - $5 = ($textureFormat|0)==(12); - $or$cond9 = $5 & $4; - if ($or$cond9) { - _TraceLog(2,15734,$vararg_buffer1); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $6 = HEAP32[4660>>2]|0; - $7 = ($6|0)==(0); - $textureFormat$off = (($textureFormat) + -13)|0; - $8 = ($textureFormat$off>>>0)<(2); - $or$cond = $8 & $7; - if ($or$cond) { - _TraceLog(2,15779,$vararg_buffer3); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[4664>>2]|0; - $10 = ($9|0)==(0); - $textureFormat$off16 = (($textureFormat) + -15)|0; - $11 = ($textureFormat$off16>>>0)<(2); - $or$cond20 = $11 & $10; - if ($or$cond20) { - _TraceLog(2,15824,$vararg_buffer5); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[4668>>2]|0; - $13 = ($12|0)==(0); - $textureFormat$off17 = (($textureFormat) + -17)|0; - $14 = ($textureFormat$off17>>>0)<(2); - $or$cond22 = $14 & $13; - if ($or$cond22) { - _TraceLog(2,15869,$vararg_buffer7); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($id|0)); - $15 = HEAP32[$id>>2]|0; - _glBindTexture(3553,($15|0)); - do { - switch ($textureFormat|0) { - case 1: { - _glTexImage2D(3553,0,6409,($width|0),($height|0),0,6409,5121,($data|0)); + $0 = (_malloc(24576)|0); + HEAP32[(29420)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(29428)>>2] = $1; + HEAP32[(29424)>>2] = 0; + HEAP32[(29432)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(29428)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { break; - } - case 2: { - _glTexImage2D(3553,0,6410,($width|0),($height|0),0,6410,5121,($data|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($width|0),($height|0),0,6407,33635,($data|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($width|0),($height|0),0,6407,5121,($data|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,32820,($data|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,32819,($data|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($width|0),($height|0),0,6408,5121,($data|0)); - break; - } - case 8: { - $16 = HEAP32[4652>>2]|0; - $17 = ($16|0)==(0); - if (!($17)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33776); - } - break; - } - case 9: { - $18 = HEAP32[4652>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33777); - } - break; - } - case 10: { - $20 = HEAP32[4652>>2]|0; - $21 = ($20|0)==(0); - if (!($21)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33778); - } - break; - } - case 11: { - $22 = HEAP32[4652>>2]|0; - $23 = ($22|0)==(0); - if (!($23)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,33779); - } - break; - } - case 12: { - $24 = HEAP32[4656>>2]|0; - $25 = ($24|0)==(0); - if (!($25)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,36196); - } - break; - } - case 13: { - $26 = HEAP32[4660>>2]|0; - $27 = ($26|0)==(0); - if (!($27)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37492); - } - break; - } - case 14: { - $28 = HEAP32[4660>>2]|0; - $29 = ($28|0)==(0); - if (!($29)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37496); - } - break; - } - case 15: { - $30 = HEAP32[4664>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,35840); - } - break; - } - case 16: { - $32 = HEAP32[4664>>2]|0; - $33 = ($32|0)==(0); - if (!($33)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,35842); - } - break; - } - case 17: { - $34 = HEAP32[4668>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37808); - } - break; - } - case 18: { - $36 = HEAP32[4668>>2]|0; - $37 = ($36|0)==(0); - if (!($37)) { - _LoadCompressedTexture($data,$width,$height,$mipmapCount,37815); - } - break; - } - default: { - _TraceLog(2,15914,$vararg_buffer9); - } - } - } while(0); - $38 = HEAP32[4648>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $40 = HEAP32[$id>>2]|0; - $41 = ($40|0)==(0); - if ($41) { - _TraceLog(2,16836,$vararg_buffer15); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $40; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $width; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $height; - _TraceLog(0,15943,$vararg_buffer11); - $$0 = HEAP32[$id>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _rlglUnloadFBO($fbo) { - $fbo = $fbo|0; - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _glDeleteFramebuffers(1,($fbo|0)); - $0 = ((($fbo)) + 4|0); - _glDeleteTextures(1,($0|0)); - $1 = ((($fbo)) + 8|0); - _glDeleteTextures(1,($1|0)); - $2 = HEAP32[$fbo>>2]|0; - HEAP32[$vararg_buffer>>2] = $2; - _TraceLog(0,15992,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglClose() { - 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, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $postproFbo$byval_copy = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $postproFbo$byval_copy = sp + 8|0; - $vararg_buffer1 = sp; - $0 = HEAP32[4632>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[4644>>2]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glUseProgram(0); - _glDeleteBuffers(1,(5084|0)); - _glDeleteBuffers(1,((5088)|0)); - _glDeleteBuffers(1,(5092|0)); - _glDeleteBuffers(1,((5096)|0)); - _glDeleteBuffers(1,(5100|0)); - _glDeleteBuffers(1,((5104)|0)); - _glDeleteBuffers(1,((5108)|0)); - _glDeleteBuffers(1,((5112)|0)); - $3 = HEAP32[4632>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[4636>>2]|0; - FUNCTION_TABLE_vii[$5 & 63](1,5116); - $6 = HEAP32[4636>>2]|0; - FUNCTION_TABLE_vii[$6 & 63](1,5120); - $7 = HEAP32[4636>>2]|0; - FUNCTION_TABLE_vii[$7 & 63](1,5124); - } - $8 = HEAP32[4672>>2]|0; - _glDeleteProgram(($8|0)); - $9 = HEAP32[4732>>2]|0; - _glDeleteProgram(($9|0)); - $10 = HEAP32[4600>>2]|0; - _free($10); - $11 = HEAP32[4560>>2]|0; - _free($11); - $12 = HEAP32[4604>>2]|0; - _free($12); - $13 = HEAP32[4572>>2]|0; - _free($13); - $14 = HEAP32[4608>>2]|0; - _free($14); - $15 = HEAP32[4592>>2]|0; - _free($15); - $16 = HEAP32[4584>>2]|0; - _free($16); - $17 = HEAP32[5128>>2]|0; - _free($17); - _glDeleteTextures(1,(3176|0)); - $18 = HEAP32[3176>>2]|0; - HEAP32[$postproFbo$byval_copy>>2] = $18; - _TraceLog(0,16045,$postproFbo$byval_copy); - $19 = HEAP32[4620>>2]|0; - $20 = ($19|0)==(0); - if ($20) { - $25 = HEAP32[4616>>2]|0; - _free($25); - STACKTOP = sp;return; - } - ;HEAP32[$postproFbo$byval_copy>>2]=HEAP32[4620>>2]|0;HEAP32[$postproFbo$byval_copy+4>>2]=HEAP32[4620+4>>2]|0;HEAP32[$postproFbo$byval_copy+8>>2]=HEAP32[4620+8>>2]|0; - _rlglUnloadFBO($postproFbo$byval_copy); - $21 = HEAP32[(4916)>>2]|0; - _rlDeleteBuffers($21); - $22 = HEAP32[(4920)>>2]|0; - _rlDeleteBuffers($22); - $23 = HEAP32[(4924)>>2]|0; - _rlDeleteBuffers($23); - $24 = HEAP32[(4912)>>2]|0; - _rlDeleteVertexArrays($24); - _TraceLog(0,16110,$vararg_buffer1); - $25 = HEAP32[4616>>2]|0; - _free($25); - STACKTOP = sp;return; -} -function _rlglDraw() { - 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, $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, $i$05 = 0, $indicesOffset$04 = 0, $matMVP = 0, $matMVP$byval_copy = 0, $modelview$byval_copy = 0, $or$cond = 0, $or$cond3 = 0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $matMVP$byval_copy = sp + 128|0; - $modelview$byval_copy = sp + 64|0; - $matMVP = sp; - _UpdateBuffers(); - $0 = HEAP32[4552>>2]|0; - $1 = ($0|0)>(0); - $2 = HEAP32[4564>>2]|0; - $3 = ($2|0)>(0); - $or$cond = $1 | $3; - $4 = HEAP32[4576>>2]|0; - $5 = ($4|0)>(0); - $or$cond3 = $or$cond | $5; - if ($or$cond3) { - $6 = HEAP32[4792>>2]|0; - _glUseProgram(($6|0)); - dest=$modelview$byval_copy; src=3440; 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)); - dest=$matMVP$byval_copy; src=3372; 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)); - _MatrixMultiply($matMVP,$modelview$byval_copy,$matMVP$byval_copy); - $7 = HEAP32[(4824)>>2]|0; - dest=$matMVP$byval_copy; src=$matMVP; 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)); - $8 = (_MatrixToFloat($matMVP$byval_copy)|0); - _glUniformMatrix4fv(($7|0),1,0,($8|0)); - $9 = HEAP32[(4840)>>2]|0; - _glUniform1i(($9|0),0); - } - $10 = HEAP32[4552>>2]|0; - $11 = ($10|0)>(0); - if ($11) { - $12 = HEAP32[3176>>2]|0; - _glBindTexture(3553,($12|0)); - $13 = HEAP32[4632>>2]|0; - $14 = ($13|0)==(0); - if ($14) { - $17 = HEAP32[5084>>2]|0; - _glBindBuffer(34962,($17|0)); - $18 = HEAP32[(4808)>>2]|0; - _glVertexAttribPointer(($18|0),3,5126,0,0,(0|0)); - $19 = HEAP32[(4808)>>2]|0; - _glEnableVertexAttribArray(($19|0)); - $20 = HEAP32[(4820)>>2]|0; - $21 = ($20|0)==(-1); - if (!($21)) { - $22 = HEAP32[(5088)>>2]|0; - _glBindBuffer(34962,($22|0)); - $23 = HEAP32[(4820)>>2]|0; - _glVertexAttribPointer(($23|0),4,5121,1,0,(0|0)); - $24 = HEAP32[(4820)>>2]|0; - _glEnableVertexAttribArray(($24|0)); - } } else { - $15 = HEAP32[4644>>2]|0; - $16 = HEAP32[5116>>2]|0; - FUNCTION_TABLE_vi[$15 & 31]($16); + $$05972 = $4; } - $25 = HEAP32[4552>>2]|0; - _glDrawArrays(1,0,($25|0)); - $26 = HEAP32[4632>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); } - $28 = HEAP32[4564>>2]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[3176>>2]|0; - _glBindTexture(3553,($30|0)); - $31 = HEAP32[4632>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $35 = HEAP32[5092>>2]|0; - _glBindBuffer(34962,($35|0)); - $36 = HEAP32[(4808)>>2]|0; - _glVertexAttribPointer(($36|0),3,5126,0,0,(0|0)); - $37 = HEAP32[(4808)>>2]|0; - _glEnableVertexAttribArray(($37|0)); - $38 = HEAP32[(4820)>>2]|0; - $39 = ($38|0)==(-1); - if (!($39)) { - $40 = HEAP32[(5096)>>2]|0; - _glBindBuffer(34962,($40|0)); - $41 = HEAP32[(4820)>>2]|0; - _glVertexAttribPointer(($41|0),4,5121,1,0,(0|0)); - $42 = HEAP32[(4820)>>2]|0; - _glEnableVertexAttribArray(($42|0)); - } + HEAP32[7352] = 0; + HEAP32[(29416)>>2] = 0; + HEAP32[(29412)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(29468)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(29476)>>2] = $6; + HEAP32[(29472)>>2] = 0; + HEAP32[(29480)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(29476)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; } else { - $33 = HEAP32[4644>>2]|0; - $34 = HEAP32[5120>>2]|0; - FUNCTION_TABLE_vi[$33 & 31]($34); + $$05770 = $9; } - $43 = HEAP32[4564>>2]|0; - _glDrawArrays(4,0,($43|0)); - $44 = HEAP32[4632>>2]|0; - $45 = ($44|0)==(0); - if ($45) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); } - $46 = HEAP32[4576>>2]|0; - $47 = ($46|0)>(0); - if ($47) { - $48 = HEAP32[4632>>2]|0; - $49 = ($48|0)==(0); - if ($49) { - $52 = HEAP32[5100>>2]|0; - _glBindBuffer(34962,($52|0)); - $53 = HEAP32[(4808)>>2]|0; - _glVertexAttribPointer(($53|0),3,5126,0,0,(0|0)); - $54 = HEAP32[(4808)>>2]|0; - _glEnableVertexAttribArray(($54|0)); - $55 = HEAP32[(5104)>>2]|0; - _glBindBuffer(34962,($55|0)); - $56 = HEAP32[(4812)>>2]|0; - _glVertexAttribPointer(($56|0),2,5126,0,0,(0|0)); - $57 = HEAP32[(4812)>>2]|0; - _glEnableVertexAttribArray(($57|0)); - $58 = HEAP32[(4820)>>2]|0; - $59 = ($58|0)==(-1); - if (!($59)) { - $60 = HEAP32[(5108)>>2]|0; - _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(4820)>>2]|0; - _glVertexAttribPointer(($61|0),4,5121,1,0,(0|0)); - $62 = HEAP32[(4820)>>2]|0; - _glEnableVertexAttribArray(($62|0)); - } - $63 = HEAP32[(5112)>>2]|0; - _glBindBuffer(34963,($63|0)); + HEAP32[7364] = 0; + HEAP32[(29464)>>2] = 0; + HEAP32[(29460)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(29516)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(29520)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(29524)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(29528)>>2] = $13; + $14 = HEAP32[(29516)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(29520)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(29524)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; } else { - $50 = HEAP32[4644>>2]|0; - $51 = HEAP32[5124>>2]|0; - FUNCTION_TABLE_vi[$50 & 31]($51); + $$05467 = $19; } - $64 = HEAP32[4612>>2]|0; - $65 = ($64|0)>(0); - if ($65) { - $i$05 = 0;$indicesOffset$04 = 0; - while(1) { - $66 = HEAP32[4616>>2]|0; - $67 = (((($66) + ($i$05<<3)|0)) + 4|0); - $68 = HEAP32[$67>>2]|0; - $69 = (($68|0) / 4)&-1; - $70 = ($69*6)|0; - $71 = (($66) + ($i$05<<3)|0); - $72 = HEAP32[$71>>2]|0; - _glBindTexture(3553,($72|0)); - $73 = $indicesOffset$04 << 1; - $74 = $73; - _glDrawElements(4,($70|0),5123,($74|0)); - $75 = HEAP32[4616>>2]|0; - $76 = (((($75) + ($i$05<<3)|0)) + 4|0); - $77 = HEAP32[$76>>2]|0; - $78 = (($77|0) / 4)&-1; - $79 = ($78*6)|0; - $80 = (($79) + ($indicesOffset$04))|0; - $81 = (($i$05) + 1)|0; - $82 = HEAP32[4612>>2]|0; - $83 = ($81|0)<($82|0); - if ($83) { - $i$05 = $81;$indicesOffset$04 = $80; - } else { - break; - } - } + } + $16 = HEAP32[(29528)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; } - $84 = HEAP32[4632>>2]|0; - $85 = ($84|0)==(0); - if ($85) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); } - $86 = HEAP32[4632>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - _glUseProgram(0); - HEAP32[4612>>2] = 1; - $89 = HEAP32[3176>>2]|0; - $90 = HEAP32[4616>>2]|0; - HEAP32[$90>>2] = $89; - $91 = HEAP32[4616>>2]|0; - $92 = ((($91)) + 4|0); - HEAP32[$92>>2] = 0; - HEAP32[4552>>2] = 0; - HEAP32[4556>>2] = 0; - HEAP32[4564>>2] = 0; - HEAP32[4568>>2] = 0; - HEAP32[4576>>2] = 0; - HEAP32[4588>>2] = 0; - HEAP32[4580>>2] = 0; - HEAPF32[4596>>2] = -1.0; - STACKTOP = sp;return; + HEAP32[7376] = 0; + HEAP32[(29508)>>2] = 0; + HEAP32[(29512)>>2] = 0; + _TraceLog(0,9232,$vararg_buffer); + $20 = HEAP32[7054]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[7055]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(29436)); + $44 = HEAP32[7056]|0; + $45 = HEAP32[(29436)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); } - $88 = HEAP32[4644>>2]|0; - FUNCTION_TABLE_vi[$88 & 31](0); - _glUseProgram(0); - HEAP32[4612>>2] = 1; - $89 = HEAP32[3176>>2]|0; - $90 = HEAP32[4616>>2]|0; - HEAP32[$90>>2] = $89; - $91 = HEAP32[4616>>2]|0; - $92 = ((($91)) + 4|0); - HEAP32[$92>>2] = 0; - HEAP32[4552>>2] = 0; - HEAP32[4556>>2] = 0; - HEAP32[4564>>2] = 0; - HEAP32[4568>>2] = 0; - HEAP32[4576>>2] = 0; - HEAP32[4588>>2] = 0; - HEAP32[4580>>2] = 0; - HEAPF32[4596>>2] = -1.0; - STACKTOP = sp;return; -} -function _rlglDrawPostpro() { - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $postproQuad$byval_copy = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 304|0; - $tmpcast$byval_copy = sp + 300|0; - $$byval_copy2 = sp + 288|0; - $$byval_copy1 = sp + 276|0; - $$byval_copy = sp + 264|0; - $postproQuad$byval_copy = sp + 40|0; - $0 = sp + 28|0; - $1 = sp + 16|0; - $2 = sp + 4|0; - $3 = sp; - _glBindFramebuffer(36160,0); - HEAPF32[$0>>2] = 0.0; - $4 = ((($0)) + 4|0); - HEAPF32[$4>>2] = 0.0; - $5 = ((($0)) + 8|0); - HEAPF32[$5>>2] = 0.0; - HEAPF32[$1>>2] = 0.0; - $6 = ((($1)) + 4|0); - HEAPF32[$6>>2] = 0.0; - $7 = ((($1)) + 8|0); - HEAPF32[$7>>2] = 0.0; - HEAPF32[$2>>2] = 1.0; - $8 = ((($2)) + 4|0); - HEAPF32[$8>>2] = 1.0; - $9 = ((($2)) + 8|0); - HEAPF32[$9>>2] = 1.0; - HEAP32[$3>>2] = -1; - _memcpy(($postproQuad$byval_copy|0),(4860|0),224)|0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$2+8>>2]|0; - ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _rlglDrawModel($postproQuad$byval_copy,$$byval_copy,$$byval_copy1,0.0,$$byval_copy2,$tmpcast$byval_copy,0); - STACKTOP = sp;return; -} -function _rlglDrawModel($model,$position,$rotationAxis,$rotationAngle,$scale,$color,$wires) { - $model = $model|0; - $position = $position|0; - $rotationAxis = $rotationAxis|0; - $rotationAngle = +$rotationAngle; - $scale = $scale|0; - $color = $color|0; - $wires = $wires|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0.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.0, $80 = 0; - var $81 = 0, $9 = 0, $matMVP = 0, $matMVP$byval_copy = 0, $matModel = 0, $matModelView = 0, $matModelView$byval_copy = 0, $matProjection = 0, $matRotation = 0, $matScale = 0, $matTransform = 0, $matTranslation = 0, $matView = 0, $vColor = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 784|0; - $matMVP$byval_copy = sp + 720|0; - $matModelView$byval_copy = sp + 656|0; - $matView = sp + 512|0; - $matProjection = sp + 448|0; - $matRotation = sp + 384|0; - $matScale = sp + 320|0; - $matTranslation = sp + 256|0; - $matTransform = sp + 192|0; - $0 = sp + 592|0; - $matModel = sp + 128|0; - $matModelView = sp + 64|0; - $matMVP = sp; - $vColor = sp + 576|0; - $1 = ((($model)) + 164|0); - $2 = HEAP32[$1>>2]|0; - _glUseProgram(($2|0)); - dest=$matView; src=3440; 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)); - dest=$matProjection; src=3372; 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)); - $3 = $rotationAngle; - $4 = $3 * 0.017453292519943295; - $5 = $4; - ;HEAP32[$matMVP$byval_copy>>2]=HEAP32[$rotationAxis>>2]|0;HEAP32[$matMVP$byval_copy+4>>2]=HEAP32[$rotationAxis+4>>2]|0;HEAP32[$matMVP$byval_copy+8>>2]=HEAP32[$rotationAxis+8>>2]|0; - _MatrixRotate($matRotation,$matMVP$byval_copy,$5); - $6 = +HEAPF32[$scale>>2]; - $7 = ((($scale)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($scale)) + 8|0); - $10 = +HEAPF32[$9>>2]; - _MatrixScale($matScale,$6,$8,$10); - $11 = +HEAPF32[$position>>2]; - $12 = ((($position)) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($position)) + 8|0); - $15 = +HEAPF32[$14>>2]; - _MatrixTranslate($matTranslation,$11,$13,$15); - dest=$matModelView$byval_copy; src=$matRotation; 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)); - dest=$matMVP$byval_copy; src=$matScale; 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)); - _MatrixMultiply($0,$matModelView$byval_copy,$matMVP$byval_copy); - dest=$matModelView$byval_copy; src=$0; 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)); - dest=$matMVP$byval_copy; src=$matTranslation; 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)); - _MatrixMultiply($matTransform,$matModelView$byval_copy,$matMVP$byval_copy); - $16 = ((($model)) + 80|0); - dest=$matModelView$byval_copy; src=$16; 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)); - dest=$matMVP$byval_copy; src=$matTransform; 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)); - _MatrixMultiply($matModel,$matModelView$byval_copy,$matMVP$byval_copy); - dest=$matModelView$byval_copy; src=$matModel; 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)); - dest=$matMVP$byval_copy; src=$matView; 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)); - _MatrixMultiply($matModelView,$matModelView$byval_copy,$matMVP$byval_copy); - dest=$matModelView$byval_copy; src=$matModelView; 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)); - dest=$matMVP$byval_copy; src=$matProjection; 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)); - _MatrixMultiply($matMVP,$matModelView$byval_copy,$matMVP$byval_copy); - $17 = ((($model)) + 196|0); - $18 = HEAP32[$17>>2]|0; - dest=$matMVP$byval_copy; src=$matMVP; 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)); - $19 = (_MatrixToFloat($matMVP$byval_copy)|0); - _glUniformMatrix4fv(($18|0),1,0,($19|0)); - $20 = HEAP8[$color>>0]|0; - $21 = (+($20&255)); - $22 = $21 / 255.0; - HEAPF32[$vColor>>2] = $22; - $23 = ((($vColor)) + 4|0); - $24 = ((($color)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = (+($25&255)); - $27 = $26 / 255.0; - HEAPF32[$23>>2] = $27; - $28 = ((($vColor)) + 8|0); - $29 = ((($color)) + 2|0); - $30 = HEAP8[$29>>0]|0; - $31 = (+($30&255)); - $32 = $31 / 255.0; - HEAPF32[$28>>2] = $32; - $33 = ((($vColor)) + 12|0); - $34 = ((($color)) + 3|0); - $35 = HEAP8[$34>>0]|0; - $36 = (+($35&255)); - $37 = $36 / 255.0; - HEAPF32[$33>>2] = $37; - $38 = ((($model)) + 208|0); - $39 = HEAP32[$38>>2]|0; - _glUniform4fv(($39|0),1,($vColor|0)); - _glActiveTexture(33984); - $40 = ((($model)) + 168|0); - $41 = HEAP32[$40>>2]|0; - _glBindTexture(3553,($41|0)); - $42 = ((($model)) + 212|0); - $43 = HEAP32[$42>>2]|0; - _glUniform1i(($43|0),0); - $44 = ((($model)) + 172|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)==(0); - if (!($46)) { - _glActiveTexture(33985); - $47 = HEAP32[$44>>2]|0; - _glBindTexture(3553,($47|0)); - } - $48 = ((($model)) + 176|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)==(0); - if (!($50)) { - _glActiveTexture(33986); - $51 = HEAP32[$48>>2]|0; - _glBindTexture(3553,($51|0)); - } - $52 = HEAP32[4632>>2]|0; - $53 = ($52|0)==(0); - if ($53) { - $57 = ((($model)) + 56|0); - $58 = HEAP32[$57>>2]|0; - _glBindBuffer(34962,($58|0)); - $59 = ((($model)) + 180|0); - $60 = HEAP32[$59>>2]|0; - _glVertexAttribPointer(($60|0),3,5126,0,0,(0|0)); - $61 = HEAP32[$59>>2]|0; - _glEnableVertexAttribArray(($61|0)); - $62 = ((($model)) + 60|0); - $63 = HEAP32[$62>>2]|0; - _glBindBuffer(34962,($63|0)); - $64 = ((($model)) + 184|0); - $65 = HEAP32[$64>>2]|0; - _glVertexAttribPointer(($65|0),2,5126,0,0,(0|0)); - $66 = HEAP32[$64>>2]|0; - _glEnableVertexAttribArray(($66|0)); - $67 = ((($model)) + 188|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($68|0)==(-1); - if (!($69)) { - $70 = ((($model)) + 64|0); - $71 = HEAP32[$70>>2]|0; - _glBindBuffer(34962,($71|0)); - $72 = HEAP32[$67>>2]|0; - _glVertexAttribPointer(($72|0),3,5126,0,0,(0|0)); - $73 = HEAP32[$67>>2]|0; - _glEnableVertexAttribArray(($73|0)); - } + _glGenBuffers(2,((29440)|0)); + $46 = HEAP32[(29440)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(29420)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(28308)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(28308)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((29444)|0)); + $50 = HEAP32[(29444)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(29428)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(28328)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(28328)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[7054]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(29440)>>2]|0; + $58 = HEAP32[(29444)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,9370,$vararg_buffer3); } else { - $54 = HEAP32[4644>>2]|0; - $55 = ((($model)) + 52|0); - $56 = HEAP32[$55>>2]|0; - FUNCTION_TABLE_vi[$54 & 31]($56); + $56 = HEAP32[(29436)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,9305,$vararg_buffer1); } - $74 = HEAP32[$model>>2]|0; - _glDrawArrays(4,0,($74|0)); - $75 = HEAP32[$44>>2]|0; - $76 = ($75|0)==(0); - if (!($76)) { - _glActiveTexture(33985); - _glBindTexture(3553,0); + $59 = HEAP32[7054]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[7055]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(29484)); + $62 = HEAP32[7056]|0; + $63 = HEAP32[(29484)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); } - $77 = HEAP32[$48>>2]|0; + _glGenBuffers(1,((29488)|0)); + $64 = HEAP32[(29488)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(29468)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(28308)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(28308)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((29492)|0)); + $68 = HEAP32[(29492)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(29476)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(28328)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(28328)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[7054]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(29488)>>2]|0; + $76 = HEAP32[(29492)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,9516,$vararg_buffer10); + } else { + $74 = HEAP32[(29484)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,9447,$vararg_buffer7); + } + $77 = HEAP32[7054]|0; $78 = ($77|0)==(0); if (!($78)) { - _glActiveTexture(33986); - _glBindTexture(3553,0); + $79 = HEAP32[7055]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(29532)); + $80 = HEAP32[7056]|0; + $81 = HEAP32[(29532)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); } - _glActiveTexture(33984); - _glBindTexture(3553,0); - $79 = HEAP32[4632>>2]|0; - $80 = ($79|0)==(0); - if ($80) { - _glBindBuffer(34962,0); - _glUseProgram(0); - STACKTOP = sp;return; + _glGenBuffers(1,((29536)|0)); + $82 = HEAP32[(29536)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(29516)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(28308)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(28308)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((29540)|0)); + $86 = HEAP32[(29540)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(29520)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(28312)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(28312)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((29544)|0)); + $90 = HEAP32[(29544)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(29524)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(28328)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(28328)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((29548)|0)); + $94 = HEAP32[(29548)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(29528)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[7054]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(29536)>>2]|0; + $100 = HEAP32[(29540)>>2]|0; + $101 = HEAP32[(29544)>>2]|0; + $102 = HEAP32[(29548)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,9662,$vararg_buffer17); } else { - $81 = HEAP32[4644>>2]|0; - FUNCTION_TABLE_vi[$81 & 31](0); - _glUseProgram(0); + $98 = HEAP32[(29532)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,9597,$vararg_buffer14); + } + $103 = HEAP32[7054]|0; + $104 = ($103|0)==(0); + if ($104) { STACKTOP = sp;return; } -} -function _rlglInitGraphics($offsetX,$offsetY,$width,$height) { - $offsetX = $offsetX|0; - $offsetY = $offsetY|0; - $width = $width|0; - $height = $height|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[4852>>2] = $width; - HEAP32[4856>>2] = $height; - $0 = (($offsetX|0) / 2)&-1; - $1 = (($offsetY|0) / 2)&-1; - $2 = (($width) - ($offsetX))|0; - $3 = (($height) - ($offsetY))|0; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - _glClearColor(0.0,0.0,0.0,1.0); - _glClear(16640); - _glEnable(2929); - _glDepthFunc(515); - _glEnable(3042); - _glBlendFunc(770,771); - _rlMatrixMode(0); - _rlLoadIdentity(); - $4 = (+($2|0)); - $5 = (+($3|0)); - _rlOrtho(0.0,$4,$5,0.0,0.0,1.0); - _rlMatrixMode(1); - _rlLoadIdentity(); - _glEnable(2884); - _TraceLog(0,16139,$vararg_buffer); + $105 = HEAP32[7056]|0; + FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } -function _LoadShader($agg$result,$vsFileName,$fsFileName) { - $agg$result = $agg$result|0; - $vsFileName = $vsFileName|0; - $fsFileName = $fsFileName|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, $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, $8 = 0, $9 = 0, $or$cond = 0, $shader$sroa$0$0 = 0, $shader$sroa$0$1 = 0, $shader$sroa$15$0 = 0, $shader$sroa$15$1 = 0, $shader$sroa$16$0 = 0, $shader$sroa$16$1 = 0, $shader$sroa$17$0 = 0, $shader$sroa$17$1 = 0; - var $shader$sroa$18$0 = 0, $shader$sroa$18$1 = 0, $shader$sroa$19$0 = 0, $shader$sroa$19$1 = 0, $shader$sroa$20$0 = 0, $shader$sroa$20$1 = 0, $shader$sroa$21$0 = 0, $shader$sroa$21$1 = 0, $shader$sroa$22$0 = 0, $shader$sroa$22$1 = 0, $shader$sroa$232$0 = 0, $shader$sroa$232$1 = 0, $shader$sroa$24$0 = 0, $shader$sroa$24$1 = 0, $shader$sroa$25$0 = 0, $shader$sroa$25$1 = 0, $shader$sroa$26$0 = 0, $shader$sroa$26$1 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer3 = 0, label = 0, sp = 0; +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_TextFileRead($vsFileName)|0); - $1 = (_TextFileRead($fsFileName)|0); - $2 = ($0|0)!=(0|0); - $3 = ($1|0)!=(0|0); - $or$cond = $2 & $3; - if ($or$cond) { - $4 = (_LoadShaderProgram($0,$1)|0); - $5 = ($4|0)==(0); - if ($5) { - _TraceLog(2,16309,$vararg_buffer1); - $12 = HEAP32[4732>>2]|0; - $13 = HEAP32[(4736)>>2]|0; - $14 = HEAP32[(4740)>>2]|0; - $15 = HEAP32[(4744)>>2]|0; - $16 = HEAP32[(4748)>>2]|0; - $17 = HEAP32[(4752)>>2]|0; - $18 = HEAP32[(4756)>>2]|0; - $19 = HEAP32[(4760)>>2]|0; - $20 = HEAP32[(4764)>>2]|0; - $21 = (4768); - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = HEAP32[(4776)>>2]|0; - $28 = HEAP32[(4780)>>2]|0; - $29 = HEAP32[(4784)>>2]|0; - $30 = HEAP32[(4788)>>2]|0; - $69 = $23;$70 = $26;$shader$sroa$0$0 = $12;$shader$sroa$15$0 = $13;$shader$sroa$16$0 = $14;$shader$sroa$17$0 = $15;$shader$sroa$18$0 = $16;$shader$sroa$19$0 = $17;$shader$sroa$20$0 = $18;$shader$sroa$21$0 = $19;$shader$sroa$22$0 = $20;$shader$sroa$232$0 = $27;$shader$sroa$24$0 = $28;$shader$sroa$25$0 = $29;$shader$sroa$26$0 = $30; - } else { - HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,16186,$vararg_buffer); - $6 = (_glGetAttribLocation(($4|0),(16233|0))|0); - $7 = (_glGetAttribLocation(($4|0),(16248|0))|0); - $8 = (_glGetAttribLocation(($4|0),(16263|0))|0); - $9 = (_glGetUniformLocation(($4|0),(16276|0))|0); - $10 = (_glGetUniformLocation(($4|0),(16286|0))|0); - $11 = (_glGetUniformLocation(($4|0),(16300|0))|0); - $69 = 0;$70 = 0;$shader$sroa$0$0 = $4;$shader$sroa$15$0 = 0;$shader$sroa$16$0 = 0;$shader$sroa$17$0 = 0;$shader$sroa$18$0 = $6;$shader$sroa$19$0 = $7;$shader$sroa$20$0 = $8;$shader$sroa$21$0 = -1;$shader$sroa$22$0 = $9;$shader$sroa$232$0 = $10;$shader$sroa$24$0 = $11;$shader$sroa$25$0 = -1;$shader$sroa$26$0 = -1; - } - _free($0); - _free($1); - $61 = $69;$64 = $70;$shader$sroa$0$1 = $shader$sroa$0$0;$shader$sroa$15$1 = $shader$sroa$15$0;$shader$sroa$16$1 = $shader$sroa$16$0;$shader$sroa$17$1 = $shader$sroa$17$0;$shader$sroa$18$1 = $shader$sroa$18$0;$shader$sroa$19$1 = $shader$sroa$19$0;$shader$sroa$20$1 = $shader$sroa$20$0;$shader$sroa$21$1 = $shader$sroa$21$0;$shader$sroa$22$1 = $shader$sroa$22$0;$shader$sroa$232$1 = $shader$sroa$232$0;$shader$sroa$24$1 = $shader$sroa$24$0;$shader$sroa$25$1 = $shader$sroa$25$0;$shader$sroa$26$1 = $shader$sroa$26$0; - } else { - _TraceLog(2,16309,$vararg_buffer3); - $31 = HEAP32[4732>>2]|0; - $32 = HEAP32[(4736)>>2]|0; - $33 = HEAP32[(4740)>>2]|0; - $34 = HEAP32[(4744)>>2]|0; - $35 = HEAP32[(4748)>>2]|0; - $36 = HEAP32[(4752)>>2]|0; - $37 = HEAP32[(4756)>>2]|0; - $38 = HEAP32[(4760)>>2]|0; - $39 = HEAP32[(4764)>>2]|0; - $40 = (4768); - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (($40) + 4)|0; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[(4776)>>2]|0; - $47 = HEAP32[(4780)>>2]|0; - $48 = HEAP32[(4784)>>2]|0; - $49 = HEAP32[(4788)>>2]|0; - $61 = $42;$64 = $45;$shader$sroa$0$1 = $31;$shader$sroa$15$1 = $32;$shader$sroa$16$1 = $33;$shader$sroa$17$1 = $34;$shader$sroa$18$1 = $35;$shader$sroa$19$1 = $36;$shader$sroa$20$1 = $37;$shader$sroa$21$1 = $38;$shader$sroa$22$1 = $39;$shader$sroa$232$1 = $46;$shader$sroa$24$1 = $47;$shader$sroa$25$1 = $48;$shader$sroa$26$1 = $49; - } - HEAP32[$agg$result>>2] = $shader$sroa$0$1; - $50 = ((($agg$result)) + 4|0); - HEAP32[$50>>2] = $shader$sroa$15$1; - $51 = ((($agg$result)) + 8|0); - HEAP32[$51>>2] = $shader$sroa$16$1; - $52 = ((($agg$result)) + 12|0); - HEAP32[$52>>2] = $shader$sroa$17$1; - $53 = ((($agg$result)) + 16|0); - HEAP32[$53>>2] = $shader$sroa$18$1; - $54 = ((($agg$result)) + 20|0); - HEAP32[$54>>2] = $shader$sroa$19$1; - $55 = ((($agg$result)) + 24|0); - HEAP32[$55>>2] = $shader$sroa$20$1; - $56 = ((($agg$result)) + 28|0); - HEAP32[$56>>2] = $shader$sroa$21$1; - $57 = ((($agg$result)) + 32|0); - HEAP32[$57>>2] = $shader$sroa$22$1; - $58 = ((($agg$result)) + 36|0); - $59 = $58; - $60 = $59; - HEAP32[$60>>2] = $61; - $62 = (($59) + 4)|0; - $63 = $62; - HEAP32[$63>>2] = $64; - $65 = ((($agg$result)) + 44|0); - HEAP32[$65>>2] = $shader$sroa$232$1; - $66 = ((($agg$result)) + 48|0); - HEAP32[$66>>2] = $shader$sroa$24$1; - $67 = ((($agg$result)) + 52|0); - HEAP32[$67>>2] = $shader$sroa$25$1; - $68 = ((($agg$result)) + 56|0); - HEAP32[$68>>2] = $shader$sroa$26$1; - STACKTOP = sp;return; -} -function _LoadShaderProgram($vShaderStr,$fShaderStr) { - $vShaderStr = $vShaderStr|0; - $fShaderStr = $fShaderStr|0; - var $$alloca_mul = 0, $$alloca_mul25 = 0, $$alloca_mul27 = 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, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $length = 0, $length2 = 0, $length4 = 0, $maxLength = 0, $maxLength1 = 0, $maxLength3 = 0, $pfs = 0, $program$0 = 0, $pvs = 0, $success = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0; - var $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $vararg_buffer22 = sp + 64|0; $vararg_buffer19 = sp + 56|0; $vararg_buffer16 = sp + 48|0; @@ -17954,12506 +19101,23973 @@ function _LoadShaderProgram($vShaderStr,$fShaderStr) { $vararg_buffer4 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $pvs = sp + 100|0; - $pfs = sp + 96|0; - $success = sp + 92|0; - $maxLength = sp + 88|0; - $length = sp + 84|0; - $maxLength1 = sp + 80|0; - $length2 = sp + 76|0; - $maxLength3 = sp + 72|0; - $length4 = sp + 68|0; - $0 = (_glCreateShader(35633)|0); - $1 = (_glCreateShader(35632)|0); - HEAP32[$pvs>>2] = $vShaderStr; - HEAP32[$pfs>>2] = $fShaderStr; - _glShaderSource(($0|0),1,($pvs|0),(0|0)); - _glShaderSource(($1|0),1,($pfs|0),(0|0)); - HEAP32[$success>>2] = 0; - _glCompileShader(($0|0)); - _glGetShaderiv(($0|0),35713,($success|0)); - $2 = HEAP32[$success>>2]|0; - $3 = ($2|0)==(1); - if ($3) { - HEAP32[$vararg_buffer4>>2] = $0; - _TraceLog(0,16395,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,16343,$vararg_buffer); - HEAP32[$maxLength>>2] = 0; - _glGetShaderiv(($0|0),35716,($maxLength|0)); - $4 = HEAP32[$maxLength>>2]|0; - $5 = (_llvm_stacksave()|0); - $$alloca_mul = $4; - $6 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $7 = HEAP32[$maxLength>>2]|0; - _glGetShaderInfoLog(($0|0),($7|0),($length|0),($6|0)); - HEAP32[$vararg_buffer1>>2] = $6; - _TraceLog(0,16392,$vararg_buffer1); - _llvm_stackrestore(($5|0)); - } - _glCompileShader(($1|0)); - _glGetShaderiv(($1|0),35713,($success|0)); - $8 = HEAP32[$success>>2]|0; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; $9 = ($8|0)==(1); if ($9) { - HEAP32[$vararg_buffer13>>2] = $1; - _TraceLog(0,16496,$vararg_buffer13); + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,10995,$vararg_buffer4); } else { - HEAP32[$vararg_buffer7>>2] = $1; - _TraceLog(2,16445,$vararg_buffer7); - HEAP32[$maxLength1>>2] = 0; - _glGetShaderiv(($1|0),35716,($maxLength1|0)); - $10 = HEAP32[$maxLength1>>2]|0; + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(1,10943,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; $11 = (_llvm_stacksave()|0); - $$alloca_mul25 = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul25)|0)+15)&-16)|0;; - $13 = HEAP32[$maxLength1>>2]|0; - _glGetShaderInfoLog(($1|0),($13|0),($length2|0),($12|0)); - HEAP32[$vararg_buffer10>>2] = $12; - _TraceLog(0,16392,$vararg_buffer10); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,10992,$vararg_buffer1); _llvm_stackrestore(($11|0)); } - $14 = (_glCreateProgram()|0); - _glAttachShader(($14|0),($0|0)); - _glAttachShader(($14|0),($1|0)); - _glLinkProgram(($14|0)); - _glGetProgramiv(($14|0),35714,($success|0)); - $15 = HEAP32[$success>>2]|0; - $16 = ($15|0)==(0); - if ($16) { - HEAP32[$vararg_buffer16>>2] = $14; - _TraceLog(2,16548,$vararg_buffer16); - HEAP32[$maxLength3>>2] = 0; - _glGetProgramiv(($14|0),35716,($maxLength3|0)); - $17 = HEAP32[$maxLength3>>2]|0; - $18 = (_llvm_stacksave()|0); - $$alloca_mul27 = $17; - $19 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul27)|0)+15)&-16)|0;; - $20 = HEAP32[$maxLength3>>2]|0; - _glGetProgramInfoLog(($14|0),($20|0),($length4|0),($19|0)); - HEAP32[$vararg_buffer19>>2] = $19; - _TraceLog(0,16392,$vararg_buffer19); - _glDeleteProgram(($14|0)); - _llvm_stackrestore(($18|0)); - $program$0 = 0; - _glDeleteShader(($0|0)); - _glDeleteShader(($1|0)); - STACKTOP = sp;return ($program$0|0); + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,11096,$vararg_buffer13); } else { - HEAP32[$vararg_buffer22>>2] = $14; - _TraceLog(0,16594,$vararg_buffer22); - $program$0 = $14; - _glDeleteShader(($0|0)); - _glDeleteShader(($1|0)); - STACKTOP = sp;return ($program$0|0); + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(1,11045,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,10992,$vararg_buffer10); + _llvm_stackrestore(($17|0)); } - return (0)|0; -} -function _UnloadShader($shader) { - $shader = $shader|0; - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$shader>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - _rlDeleteShader($0); - $2 = HEAP32[$shader>>2]|0; - HEAP32[$vararg_buffer>>2] = $2; - _TraceLog(0,16642,$vararg_buffer); - STACKTOP = sp;return; -} -function _IsPosproShaderEnabled() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5132>>2]|0; - return ($0|0); -} -function _DrawRectangle($posX,$posY,$width,$height,$color) { - $posX = $posX|0; - $posY = $posY|0; - $width = $width|0; - $height = $height|0; - $color = $color|0; - var $0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $color$byval_copy = 0, $position = 0, $position$byval_copy = 0, $size = 0, $size$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $color$byval_copy = sp + 32|0; - $size$byval_copy = sp + 24|0; - $position$byval_copy = sp + 16|0; - $position = sp + 8|0; - $size = sp; - $0 = (+($posX|0)); - HEAPF32[$position>>2] = $0; - $1 = ((($position)) + 4|0); - $2 = (+($posY|0)); - HEAPF32[$1>>2] = $2; - $3 = (+($width|0)); - HEAPF32[$size>>2] = $3; - $4 = ((($size)) + 4|0); - $5 = (+($height|0)); - HEAPF32[$4>>2] = $5; - ;HEAP32[$position$byval_copy>>2]=HEAP32[$position>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0; - ;HEAP32[$size$byval_copy>>2]=HEAP32[$size>>2]|0;HEAP32[$size$byval_copy+4>>2]=HEAP32[$size+4>>2]|0; - ;HEAP8[$color$byval_copy>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawRectangleV($position$byval_copy,$size$byval_copy,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawRectangleV($position,$size,$color) { - $position = $position|0; - $size = $size|0; - $color = $color|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0.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.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_rlGetVersion()|0); - $1 = ($0|0)==(1); - if ($1) { - _rlBegin(1); - $2 = HEAP8[$color>>0]|0; - $3 = ((($color)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($color)) + 3|0); - $8 = HEAP8[$7>>0]|0; - _rlColor4ub($2,$4,$6,$8); - $9 = +HEAPF32[$position>>2]; - $10 = (~~(($9))); - $11 = ((($position)) + 4|0); - $12 = +HEAPF32[$11>>2]; - $13 = (~~(($12))); - _rlVertex2i($10,$13); - $14 = +HEAPF32[$position>>2]; - $15 = (~~(($14))); - $16 = +HEAPF32[$11>>2]; - $17 = ((($size)) + 4|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 + $18; - $20 = (~~(($19))); - _rlVertex2i($15,$20); - $21 = +HEAPF32[$position>>2]; - $22 = +HEAPF32[$size>>2]; - $23 = $21 + $22; - $24 = (~~(($23))); - $25 = +HEAPF32[$11>>2]; - $26 = +HEAPF32[$17>>2]; - $27 = $25 + $26; - $28 = (~~(($27))); - _rlVertex2i($24,$28); - $29 = +HEAPF32[$position>>2]; - $30 = (~~(($29))); - $31 = +HEAPF32[$11>>2]; - $32 = (~~(($31))); - _rlVertex2i($30,$32); - $33 = +HEAPF32[$position>>2]; - $34 = +HEAPF32[$size>>2]; - $35 = $33 + $34; - $36 = (~~(($35))); - $37 = +HEAPF32[$11>>2]; - $38 = +HEAPF32[$17>>2]; - $39 = $37 + $38; - $40 = (~~(($39))); - _rlVertex2i($36,$40); - $41 = +HEAPF32[$position>>2]; - $42 = +HEAPF32[$size>>2]; - $43 = $41 + $42; - $44 = (~~(($43))); - $45 = +HEAPF32[$11>>2]; - $46 = (~~(($45))); - _rlVertex2i($44,$46); - _rlEnd(); - return; - } - $47 = (_rlGetVersion()|0); - $48 = ($47|0)==(2); - if (!($48)) { - $49 = (_rlGetVersion()|0); - $50 = ($49|0)==(3); - if (!($50)) { - return; - } - } - $51 = HEAP32[3176>>2]|0; - _rlEnableTexture($51); - _rlBegin(2); - $52 = HEAP8[$color>>0]|0; - $53 = ((($color)) + 1|0); - $54 = HEAP8[$53>>0]|0; - $55 = ((($color)) + 2|0); - $56 = HEAP8[$55>>0]|0; - $57 = ((($color)) + 3|0); - $58 = HEAP8[$57>>0]|0; - _rlColor4ub($52,$54,$56,$58); - _rlTexCoord2f(0.0,0.0); - $59 = +HEAPF32[$position>>2]; - $60 = ((($position)) + 4|0); - $61 = +HEAPF32[$60>>2]; - _rlVertex2f($59,$61); - _rlTexCoord2f(0.0,1.0); - $62 = +HEAPF32[$position>>2]; - $63 = +HEAPF32[$60>>2]; - $64 = ((($size)) + 4|0); - $65 = +HEAPF32[$64>>2]; - $66 = $63 + $65; - _rlVertex2f($62,$66); - _rlTexCoord2f(1.0,1.0); - $67 = +HEAPF32[$position>>2]; - $68 = +HEAPF32[$size>>2]; - $69 = $67 + $68; - $70 = +HEAPF32[$60>>2]; - $71 = +HEAPF32[$64>>2]; - $72 = $70 + $71; - _rlVertex2f($69,$72); - _rlTexCoord2f(1.0,0.0); - $73 = +HEAPF32[$position>>2]; - $74 = +HEAPF32[$size>>2]; - $75 = $73 + $74; - $76 = +HEAPF32[$60>>2]; - _rlVertex2f($75,$76); - _rlEnd(); - return; -} -function _DrawRectangleLines($posX,$posY,$width,$height,$color) { - $posX = $posX|0; - $posY = $posY|0; - $width = $width|0; - $height = $height|0; - $color = $color|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; - _rlBegin(0); - $0 = HEAP8[$color>>0]|0; - $1 = ((($color)) + 1|0); - $2 = HEAP8[$1>>0]|0; - $3 = ((($color)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($color)) + 3|0); - $6 = HEAP8[$5>>0]|0; - _rlColor4ub($0,$2,$4,$6); - $7 = (($posX) + 1)|0; - $8 = (($posY) + 1)|0; - _rlVertex2i($7,$8); - $9 = (($width) + ($posX))|0; - _rlVertex2i($9,$8); - _rlVertex2i($9,$8); - $10 = (($height) + ($posY))|0; - _rlVertex2i($9,$10); - _rlVertex2i($9,$10); - _rlVertex2i($7,$10); - _rlVertex2i($7,$10); - _rlVertex2i($7,$8); - _rlEnd(); - return; -} -function _CheckCollisionCircles($center1,$radius1,$center2,$radius2) { - $center1 = $center1|0; - $radius1 = +$radius1; - $center2 = $center2|0; - $radius2 = +$radius2; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $collision$0 = 0, $not$ = 0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$center2>>2]; - $1 = +HEAPF32[$center1>>2]; - $2 = $0 - $1; - $3 = ((($center2)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($center1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 - $6; - $8 = $2 * $2; - $9 = $7 * $7; - $10 = $8 + $9; - $sqrtf = (+Math_sqrt((+$10))); - $11 = $radius1 + $radius2; - $not$ = $sqrtf <= $11; - $collision$0 = $not$&1; - return ($collision$0|0); -} -function _stbi_load($filename,$x,$y,$comp,$req_comp) { - $filename = $filename|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__fopen($filename)|0); - $1 = ($0|0)==(0|0); - if ($1) { - _stbi__err(16684); + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(10787|0)); + _glBindAttribLocation(($20|0),1,(10802|0)); + _glBindAttribLocation(($20|0),2,(10833|0)); + _glBindAttribLocation(($20|0),3,(10860|0)); + _glBindAttribLocation(($20|0),4,(10846|0)); + _glBindAttribLocation(($20|0),5,(10817|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(1,11148,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,10992,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); $$0 = 0; - return ($$0|0); + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); } else { - $2 = (_stbi_load_from_file($0,$x,$y,$comp,$req_comp)|0); - (_fclose($0)|0); - $$0 = $2; - return ($$0|0); + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,11194,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); } return (0)|0; } -function _stbi_load_from_file($f,$x,$y,$comp,$req_comp) { - $f = $f|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $s = 0, label = 0, sp = 0; +function _LoadDefaultShaderLocations($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $s = sp; - _stbi__start_file($s,$f); - $0 = (_stbi__load_flip($s,$x,$y,$comp,$req_comp)|0); - $1 = ($0|0)==(0|0); - if ($1) { - STACKTOP = sp;return ($0|0); - } - $2 = ((($s)) + 172|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($s)) + 168|0); - $5 = HEAP32[$4>>2]|0; - $6 = $3; - $7 = $5; - $8 = (($7) - ($6))|0; - (_fseek($f,$8,1)|0); - STACKTOP = sp;return ($0|0); + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(10787|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(10802|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(10817|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(10833|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(10846|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(10860|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(10872|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(10882|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(10893|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(10904|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(10916|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(10925|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(10934|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; } -function _stbi_zlib_decode_malloc_guesssize_headerflag($buffer,$len,$initial_size,$outlen,$parse_header) { - $buffer = $buffer|0; - $len = $len|0; - $initial_size = $initial_size|0; - $outlen = $outlen|0; - $parse_header = $parse_header|0; - var $$0 = 0, $0 = 0, $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, $a = 0; +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (31749 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (31752 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (31749 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (31752 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 4080|0; - $a = sp; - $0 = (_stbi__malloc($initial_size)|0); - $1 = ($0|0)==(0|0); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - HEAP32[$a>>2] = $buffer; - $2 = (($buffer) + ($len)|0); - $3 = ((($a)) + 4|0); - HEAP32[$3>>2] = $2; - $4 = (_stbi__do_zlib($a,$0,$initial_size,1,$parse_header)|0); - $5 = ($4|0)==(0); - if ($5) { - $16 = ((($a)) + 20|0); - $17 = HEAP32[$16>>2]|0; - _free($17); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = ($outlen|0)==(0|0); - if (!($6)) { - $7 = ((($a)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($a)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = $8; - $12 = $10; - $13 = (($11) - ($12))|0; - HEAP32[$outlen>>2] = $13; - } - $14 = ((($a)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $$0 = $15; - STACKTOP = sp;return ($$0|0); -} -function _stbi__tga_read_rgb16($s,$out) { - $s = $s|0; - $out = $out|0; - var $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; - $0 = (_stbi__get16le($s)|0); - $1 = $0 >>> 10; - $2 = $1 & 31; - $3 = $0 >>> 5; - $4 = $3 & 31; - $5 = $0 & 31; - $6 = ($2*255)|0; - $7 = (($6>>>0) / 31)&-1; - $8 = $7&255; - HEAP8[$out>>0] = $8; - $9 = ($4*255)|0; - $10 = (($9>>>0) / 31)&-1; - $11 = $10&255; - $12 = ((($out)) + 1|0); - HEAP8[$12>>0] = $11; - $13 = ($5*255)|0; - $14 = (($13>>>0) / 31)&-1; - $15 = $14&255; - $16 = ((($out)) + 2|0); - HEAP8[$16>>0] = $15; + _glClear(16640); return; } -function _LoadImage($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 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, $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, $image$sroa$0$0 = 0, $image$sroa$0$09 = 0, $image$sroa$12$0 = 0; - var $image$sroa$12$05 = 0, $image$sroa$12$06 = 0, $image$sroa$15$0 = 0, $image$sroa$15$03 = 0, $image$sroa$15$04 = 0, $image$sroa$17$0 = 0, $image$sroa$17$01 = 0, $image$sroa$17$02 = 0, $image$sroa$9$0 = 0, $image$sroa$9$07 = 0, $image$sroa$9$08 = 0, $imgBpp = 0, $imgHeight = 0, $imgWidth = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; +function _CloseWindow() { + var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $vararg_buffer3 = sp + 16|0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $imgWidth = sp + 128|0; - $imgHeight = sp + 124|0; - $imgBpp = sp + 120|0; - $0 = sp + 100|0; - $1 = sp + 80|0; - $2 = sp + 60|0; - $3 = sp + 40|0; - $4 = sp + 20|0; - $5 = (_GetExtension($fileName)|0); - $6 = (_strcmp($5,16696)|0); - $7 = ($6|0)==(0); - do { - if ($7) { - label = 8; - } else { - $8 = (_GetExtension($fileName)|0); - $9 = (_strcmp($8,16700)|0); - $10 = ($9|0)==(0); - if ($10) { - label = 8; - } else { - $11 = (_GetExtension($fileName)|0); - $12 = (_strcmp($11,16704)|0); - $13 = ($12|0)==(0); - if ($13) { - label = 8; - } else { - $14 = (_GetExtension($fileName)|0); - $15 = (_strcmp($14,16708)|0); - $16 = ($15|0)==(0); - if ($16) { - label = 8; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[6973]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,11506,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[27932>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[27932+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[27932+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[27932+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[27932+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(27960)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(28244|0)); + $0 = HEAP32[7061]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,11533,$vararg_buffer); + $1 = HEAP32[7091]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[7062]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + 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; + $0 = HEAP32[7054]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[7056]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((29440)|0)); + _glDeleteBuffers(1,((29444)|0)); + _glDeleteBuffers(1,((29488)|0)); + _glDeleteBuffers(1,((29492)|0)); + _glDeleteBuffers(1,((29536)|0)); + _glDeleteBuffers(1,((29540)|0)); + _glDeleteBuffers(1,((29544)|0)); + _glDeleteBuffers(1,((29548)|0)); + $3 = HEAP32[7054]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7057]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(29436)); + $6 = HEAP32[7057]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(29484)); + $7 = HEAP32[7057]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(29532)); + } + $8 = HEAP32[(29420)>>2]|0; + _free($8); + $9 = HEAP32[(29428)>>2]|0; + _free($9); + $10 = HEAP32[(29468)>>2]|0; + _free($10); + $11 = HEAP32[(29476)>>2]|0; + _free($11); + $12 = HEAP32[(29516)>>2]|0; + _free($12); + $13 = HEAP32[(29520)>>2]|0; + _free($13); + $14 = HEAP32[(29524)>>2]|0; + _free($14); + $15 = HEAP32[(29528)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $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; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,11598,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 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); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[3113] = $0; + $1 = +HEAPF64[3096]; + $2 = $0 - $1; + HEAPF64[3114] = $2; + HEAPF64[3096] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=27988; 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)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(29560); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[7390] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(29564)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(29568)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(29572)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(29576)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(29580)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(29584)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(29588)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(29592)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(29596)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(29600)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(29604)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(29608)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(29612)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(29616)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(29620)>>2] = $31; + return (29560|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[7020]|0; + dest=$$byval_copy; src=$49; 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)); + dest=$$byval_copy1; src=$1; 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)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; 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)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[3113] = $0; + $1 = +HEAPF64[3096]; + $2 = $0 - $1; + HEAPF64[3115] = $2; + HEAPF64[3096] = $0; + $3 = +HEAPF64[3114]; + $4 = $2 + $3; + HEAPF64[3116] = $4; + $5 = +HEAPF64[3093]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[3113] = $10; + $11 = +HEAPF64[3096]; + $12 = $10 - $11; + HEAPF64[3096] = $10; + $13 = +HEAPF64[3116]; + $14 = $12 + $13; + HEAPF64[3116] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6973]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[742] = -1; + HEAP32[744] = -1; + HEAP32[7406] = 0; + $3 = HEAP32[6973]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[6184] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(24740)>>2] = $7; + _memcpy((32267|0),(31755|0),512)|0; + ;HEAP8[31752>>0]=HEAP8[31749>>0]|0;HEAP8[31752+1>>0]=HEAP8[31749+1>>0]|0;HEAP8[31752+2>>0]=HEAP8[31749+2>>0]|0; + $8 = HEAP32[7389]|0; + HEAP32[6976] = $8; + HEAP32[7389] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (32779 + ($$05160<<5)|0); + $scevgep67 = (32907 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; 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)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((32907 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[744] = $$04857; } else { - $17 = (_GetExtension($fileName)|0); - $18 = (_strcmp($17,16712)|0); - $19 = ($18|0)==(0); - if ($19) { - label = 8; - } else { - $20 = (_GetExtension($fileName)|0); - $21 = (_strcmp($20,16716)|0); - $22 = ($21|0)==(0); - if ($22) { - label = 8; - } else { - $23 = (_GetExtension($fileName)|0); - $24 = (_strcmp($23,16720)|0); - $25 = ($24|0)==(0); - if ($25) { - label = 8; - } else { - $31 = (_GetExtension($fileName)|0); - $32 = (_strcmp($31,16724)|0); - $33 = ($32|0)==(0); - if ($33) { - _LoadDDS($0,$fileName); - $34 = HEAP32[$0>>2]|0; - $35 = ((($0)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ((($0)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($0)) + 12|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 16|0); - $42 = HEAP32[$41>>2]|0; - $image$sroa$0$0 = $34;$image$sroa$12$0 = $38;$image$sroa$15$0 = $40;$image$sroa$17$0 = $42;$image$sroa$9$0 = $36; - label = 22; - break; - } - $43 = (_GetExtension($fileName)|0); - $44 = (_strcmp($43,16728)|0); - $45 = ($44|0)==(0); - if ($45) { - _LoadPKM($1,$fileName); - $46 = HEAP32[$1>>2]|0; - $47 = ((($1)) + 4|0); - $48 = HEAP32[$47>>2]|0; - $49 = ((($1)) + 8|0); - $50 = HEAP32[$49>>2]|0; - $51 = ((($1)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ((($1)) + 16|0); - $54 = HEAP32[$53>>2]|0; - $image$sroa$0$0 = $46;$image$sroa$12$0 = $50;$image$sroa$15$0 = $52;$image$sroa$17$0 = $54;$image$sroa$9$0 = $48; - label = 22; - break; - } - $55 = (_GetExtension($fileName)|0); - $56 = (_strcmp($55,16732)|0); - $57 = ($56|0)==(0); - if ($57) { - _LoadKTX($2,$fileName); - $58 = HEAP32[$2>>2]|0; - $59 = ((($2)) + 4|0); - $60 = HEAP32[$59>>2]|0; - $61 = ((($2)) + 8|0); - $62 = HEAP32[$61>>2]|0; - $63 = ((($2)) + 12|0); - $64 = HEAP32[$63>>2]|0; - $65 = ((($2)) + 16|0); - $66 = HEAP32[$65>>2]|0; - $image$sroa$0$0 = $58;$image$sroa$12$0 = $62;$image$sroa$15$0 = $64;$image$sroa$17$0 = $66;$image$sroa$9$0 = $60; - label = 22; - break; - } - $67 = (_GetExtension($fileName)|0); - $68 = (_strcmp($67,16736)|0); - $69 = ($68|0)==(0); - if ($69) { - _LoadPVR($3,$fileName); - $70 = HEAP32[$3>>2]|0; - $71 = ((($3)) + 4|0); - $72 = HEAP32[$71>>2]|0; - $73 = ((($3)) + 8|0); - $74 = HEAP32[$73>>2]|0; - $75 = ((($3)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = ((($3)) + 16|0); - $78 = HEAP32[$77>>2]|0; - $image$sroa$0$0 = $70;$image$sroa$12$0 = $74;$image$sroa$15$0 = $76;$image$sroa$17$0 = $78;$image$sroa$9$0 = $72; - label = 22; - break; - } - $79 = (_GetExtension($fileName)|0); - $80 = (_strcmp($79,16740)|0); - $81 = ($80|0)==(0); - if ($81) { - _LoadASTC($4,$fileName); - $82 = HEAP32[$4>>2]|0; - $83 = ((($4)) + 4|0); - $84 = HEAP32[$83>>2]|0; - $85 = ((($4)) + 8|0); - $86 = HEAP32[$85>>2]|0; - $87 = ((($4)) + 12|0); - $88 = HEAP32[$87>>2]|0; - $89 = ((($4)) + 16|0); - $90 = HEAP32[$89>>2]|0; - $image$sroa$0$0 = $82;$image$sroa$12$0 = $86;$image$sroa$15$0 = $88;$image$sroa$17$0 = $90;$image$sroa$9$0 = $84; - label = 22; - } else { - $image$sroa$12$06 = 0;$image$sroa$15$04 = 0;$image$sroa$17$02 = 0;$image$sroa$9$08 = 0; - } - } - } - } + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((29628 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[7406] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $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, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7352]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[7054]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[7056]|0; + $5 = HEAP32[(29436)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(29440)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[7352]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(29420)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(29444)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(29416)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(29428)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[7364]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[7054]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[7056]|0; + $19 = HEAP32[(29484)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(29488)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[7364]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(29468)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(29492)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(29464)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(29476)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[7376]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[7054]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[7056]|0; + $33 = HEAP32[(29532)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(29536)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[7376]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(29516)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(29540)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[7376]|0; + $40 = $39 << 3; + $41 = HEAP32[(29520)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(29544)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[7376]|0; + $44 = $43 << 2; + $45 = HEAP32[(29524)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[7054]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[7056]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 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; + 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, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=28084; 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)); + dest=$1; src=28148; 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)); + $3 = HEAP32[7439]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; 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)); + dest=$$byval_copy2; src=$1; 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)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[7352]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[7364]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[7376]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[7076]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=28148; 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)); + dest=$$byval_copy2; src=28084; 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)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(28332)>>2]|0; + dest=$$byval_copy2; 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)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(28336)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(28348)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[7352]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[7061]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[7054]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(29440)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(28308)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(28308)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(29444)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(28328)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(28328)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[7056]|0; + $25 = HEAP32[(29436)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[7352]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[7054]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[7364]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[7061]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[7054]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(29488)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(28308)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(28308)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(29492)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(28328)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(28328)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[7056]|0; + $41 = HEAP32[(29484)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[7364]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[7054]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[7376]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[7054]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(29536)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(28308)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(28308)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(29540)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(28312)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(28312)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(29544)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(28328)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(28328)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(29548)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[7056]|0; + $56 = HEAP32[(29532)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[7092]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[7091]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[7091]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[7092]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[7054]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[7054]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[7056]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[7092] = 1; + $5 = HEAP32[7061]|0; + $6 = HEAP32[7091]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[7352] = 0; + HEAP32[(29416)>>2] = 0; + HEAP32[7364] = 0; + HEAP32[(29464)>>2] = 0; + HEAP32[7376] = 0; + HEAP32[(29508)>>2] = 0; + HEAP32[(29512)>>2] = 0; + HEAPF32[745] = -1.0; + dest=28084; src=$0; 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)); + dest=28148; src=$1; 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)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $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 + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; 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)); + $5 = HEAP32[7350]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[7351]|0; + _rlViewport($7,0,$8,$9); + $10 = (29988 + ($0<<6)|0); + dest=$$byval_copy; 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)); + dest=$$byval_copy3; src=$10; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (29860 + ($0<<6)|0); + dest=$3; src=$11; 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)); + dest=$$byval_copy3; src=$4; 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)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; 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)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=28148; src=$0; 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)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=28084; src=$0; 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)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 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; + $0 = HEAP32[7529]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(2,11648,$vararg_buffer); + } + $2 = HEAP32[7529]|0; + $3 = (28376 + ($2<<6)|0); + $4 = HEAP32[7020]|0; + dest=$3; src=$4; 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)); + _rlLoadIdentity(); + $5 = HEAP32[7529]|0; + $6 = (($5) + 1)|0; + HEAP32[7529] = $6; + $7 = HEAP32[7053]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[7530] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7529]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[7529]|0; + $3 = (($2) + -1)|0; + $4 = (28376 + ($3<<6)|0); + $5 = HEAP32[7020]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[7529] = $6; + return; +} +function _GetRandomValue($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)>($1|0); + $$ = $2 ? $0 : $1; + $$10 = $2 ? $1 : $0; + $3 = (_rand()|0); + $4 = (($$) - ($$10))|0; + $ispos = ($4|0)>(-1); + $neg = (0 - ($4))|0; + $5 = $ispos ? $4 : $neg; + $6 = (($5) + 1)|0; + $7 = (($3|0) % ($6|0))&-1; + $8 = (($7) + ($$10))|0; + return ($8|0); +} +function _Fade($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$0 = 0.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.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 < 0.0; + if ($3) { + $$0 = 0.0; + } else { + $4 = $2 > 1.0; + if ($4) { + $$0 = 1.0; + } else { + $$0 = $2; + } + } + $5 = ((($1)) + 3|0); + $6 = HEAP8[$5>>0]|0; + $7 = (+($6&255)); + $8 = $$0 * $7; + $9 = HEAP8[$1>>0]|0; + HEAP8[$0>>0] = $9; + $10 = ((($0)) + 1|0); + $11 = ((($1)) + 1|0); + $12 = HEAP8[$11>>0]|0; + HEAP8[$10>>0] = $12; + $13 = ((($0)) + 2|0); + $14 = ((($1)) + 2|0); + $15 = HEAP8[$14>>0]|0; + HEAP8[$13>>0] = $15; + $16 = ((($0)) + 3|0); + $17 = (~~(($8))&255); + HEAP8[$16>>0] = $17; + return; +} +function _IsFileExtension($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strrchr($0,46)|0); + $3 = ($2|0)==(0|0); + if ($3) { + return 0; + } else { + $4 = (_strcmp($2,$1)|0); + $5 = ($4|0)==(0); + $$ = $5&1; + return ($$|0); + } + return (0)|0; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (31755 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (32267 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[7020]|0; + dest=$$byval_copy; src=$5; 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)); + dest=$$byval_copy1; src=$3; 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)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; 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)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 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 + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; 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)); + _MatrixTranspose($4); + $11 = HEAP32[7020]|0; + dest=$$byval_copy1; src=$11; 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)); + dest=$$byval_copy2; src=$4; 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)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; 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)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7093] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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.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.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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; + 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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 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); + $$byval_copy = sp; + $0 = HEAP32[7530]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[7531]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[7090]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[7020]|0; + dest=$$byval_copy; src=$8; 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)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[7531]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[7530] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[7090]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[7531]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[7530] = 0; + } + HEAP32[7531] = 0; + } + $21 = HEAP32[7093]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[7352]|0; + $23 = HEAP32[(29416)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(29428)>>2]|0; + $28 = HEAP32[(29416)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(29428)>>2]|0; + $35 = HEAP32[(29416)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(29428)>>2]|0; + $43 = HEAP32[(29416)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(29428)>>2]|0; + $51 = HEAP32[(29416)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(29416)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(29416)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[7364]|0; + $62 = HEAP32[(29464)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(29476)>>2]|0; + $67 = HEAP32[(29464)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(29476)>>2]|0; + $74 = HEAP32[(29464)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(29476)>>2]|0; + $82 = HEAP32[(29464)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(29476)>>2]|0; + $90 = HEAP32[(29464)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(29464)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(29464)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[7376]|0; + $101 = HEAP32[(29512)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(29524)>>2]|0; + $106 = HEAP32[(29512)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(29524)>>2]|0; + $113 = HEAP32[(29512)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(29524)>>2]|0; + $121 = HEAP32[(29512)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(29524)>>2]|0; + $129 = HEAP32[(29512)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(29512)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(29512)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; } } } } - } while(0); - L22: do { - if ((label|0) == 8) { - HEAP32[$imgWidth>>2] = 0; - HEAP32[$imgHeight>>2] = 0; - HEAP32[$imgBpp>>2] = 0; - $26 = (_stbi_load($fileName,$imgWidth,$imgHeight,$imgBpp,0)|0); - $27 = HEAP32[$imgWidth>>2]|0; - $28 = HEAP32[$imgHeight>>2]|0; - $29 = HEAP32[$imgBpp>>2]|0; - switch ($29|0) { - case 1: { - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = 1;$image$sroa$9$0 = $27; - label = 22; - break L22; - break; - } - case 2: { - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = 2;$image$sroa$9$0 = $27; - label = 22; - break L22; - break; - } - case 3: { - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = 4;$image$sroa$9$0 = $27; - label = 22; - break L22; - break; - } - default: { - $30 = ($29|0)==(4); - $$ = $30 ? 7 : 0; - $image$sroa$0$0 = $26;$image$sroa$12$0 = $28;$image$sroa$15$0 = 1;$image$sroa$17$0 = $$;$image$sroa$9$0 = $27; - label = 22; - break L22; - } - } - } - } while(0); - if ((label|0) == 22) { - $91 = ($image$sroa$0$0|0)==(0|0); - if ($91) { - $image$sroa$12$06 = $image$sroa$12$0;$image$sroa$15$04 = $image$sroa$15$0;$image$sroa$17$02 = $image$sroa$17$0;$image$sroa$9$08 = $image$sroa$9$0; - } else { - HEAP32[$vararg_buffer>>2] = $fileName; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $image$sroa$9$0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $image$sroa$12$0; - _TraceLog(0,16745,$vararg_buffer); - $image$sroa$0$09 = $image$sroa$0$0;$image$sroa$12$05 = $image$sroa$12$0;$image$sroa$15$03 = $image$sroa$15$0;$image$sroa$17$01 = $image$sroa$17$0;$image$sroa$9$07 = $image$sroa$9$0; - HEAP32[$agg$result>>2] = $image$sroa$0$09; - $92 = ((($agg$result)) + 4|0); - HEAP32[$92>>2] = $image$sroa$9$07; - $93 = ((($agg$result)) + 8|0); - HEAP32[$93>>2] = $image$sroa$12$05; - $94 = ((($agg$result)) + 12|0); - HEAP32[$94>>2] = $image$sroa$15$03; - $95 = ((($agg$result)) + 16|0); - HEAP32[$95>>2] = $image$sroa$17$01; + $139 = HEAP32[7376]|0; + $140 = HEAP32[(29508)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; STACKTOP = sp;return; } + $142 = HEAP32[(29520)>>2]|0; + $$promoted = HEAP32[(29508)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(29508)>>2] = $147; + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + break; } - HEAP32[$vararg_buffer3>>2] = $fileName; - _TraceLog(2,16784,$vararg_buffer3); - $image$sroa$0$09 = 0;$image$sroa$12$05 = $image$sroa$12$06;$image$sroa$15$03 = $image$sroa$15$04;$image$sroa$17$01 = $image$sroa$17$02;$image$sroa$9$07 = $image$sroa$9$08; - HEAP32[$agg$result>>2] = $image$sroa$0$09; - $92 = ((($agg$result)) + 4|0); - HEAP32[$92>>2] = $image$sroa$9$07; - $93 = ((($agg$result)) + 8|0); - HEAP32[$93>>2] = $image$sroa$12$05; - $94 = ((($agg$result)) + 12|0); - HEAP32[$94>>2] = $image$sroa$15$03; - $95 = ((($agg$result)) + 16|0); - HEAP32[$95>>2] = $image$sroa$17$01; - STACKTOP = sp;return; -} -function _LoadImageEx($agg$result,$pixels,$width,$height) { - $agg$result = $agg$result|0; - $pixels = $pixels|0; - $width = $width|0; - $height = $height|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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $k$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $width << 2; - $1 = Math_imul($0, $height)|0; - $2 = (_malloc($1)|0); - $3 = ($1|0)>(0); - if ($3) { - $4 = Math_imul($height, $width)|0; - $5 = $4 << 2; - $6 = (($5) + -1)|0; - $7 = $6 >>> 2; - $i$02 = 0;$k$01 = 0; - while(1) { - $8 = (($pixels) + ($k$01<<2)|0); - $9 = HEAP8[$8>>0]|0; - $10 = (($2) + ($i$02)|0); - HEAP8[$10>>0] = $9; - $11 = (((($pixels) + ($k$01<<2)|0)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = $i$02 | 1; - $14 = (($2) + ($13)|0); - HEAP8[$14>>0] = $12; - $15 = (((($pixels) + ($k$01<<2)|0)) + 2|0); - $16 = HEAP8[$15>>0]|0; - $17 = $i$02 | 2; - $18 = (($2) + ($17)|0); - HEAP8[$18>>0] = $16; - $19 = (((($pixels) + ($k$01<<2)|0)) + 3|0); - $20 = HEAP8[$19>>0]|0; - $21 = $i$02 | 3; - $22 = (($2) + ($21)|0); - HEAP8[$22>>0] = $20; - $23 = (($k$01) + 1)|0; - $24 = (($i$02) + 4)|0; - $exitcond = ($k$01|0)==($7|0); - if ($exitcond) { - break; - } else { - $i$02 = $24;$k$01 = $23; - } - } - } - HEAP32[$agg$result>>2] = $2; - $25 = ((($agg$result)) + 4|0); - HEAP32[$25>>2] = $width; - $26 = ((($agg$result)) + 8|0); - HEAP32[$26>>2] = $height; - $27 = ((($agg$result)) + 12|0); - HEAP32[$27>>2] = 1; - $28 = ((($agg$result)) + 16|0); - HEAP32[$28>>2] = 7; - return; -} -function _LoadTexture($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $image = 0, $image$byval_copy1 = 0, $texture$sroa$0$0 = 0, $texture$sroa$3 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $image$byval_copy1 = sp + 64|0; - $vararg_buffer = sp; - $texture$sroa$3 = sp + 8|0; - $image = sp + 44|0; - $0 = sp + 24|0; - _LoadImage($image,$fileName); - $1 = HEAP32[$image>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - _TraceLog(2,16836,$vararg_buffer); - $texture$sroa$0$0 = 0; - } else { - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy1); - $3 = HEAP32[$0>>2]|0; - $4 = ((($0)) + 4|0); - ;HEAP32[$texture$sroa$3>>2]=HEAP32[$4>>2]|0;HEAP32[$texture$sroa$3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$texture$sroa$3+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$texture$sroa$3+12>>2]=HEAP32[$4+12>>2]|0; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy1); - $texture$sroa$0$0 = $3; - } - HEAP32[$agg$result>>2] = $texture$sroa$0$0; - $5 = ((($agg$result)) + 4|0); - ;HEAP32[$5>>2]=HEAP32[$texture$sroa$3>>2]|0;HEAP32[$5+4>>2]=HEAP32[$texture$sroa$3+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$texture$sroa$3+8>>2]|0;HEAP32[$5+12>>2]=HEAP32[$texture$sroa$3+12>>2]|0; - STACKTOP = sp;return; -} -function _LoadTextureFromImage($agg$result,$image) { - $agg$result = $agg$result|0; - $image = $image|0; - var $0 = 0, $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, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$image>>2]|0; - $1 = ((($image)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($image)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($image)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($image)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_rlglLoadTexture($0,$2,$4,$6,$8)|0); - $10 = HEAP32[$1>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$7>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$agg$result>>2] = $9; - $14 = ((($agg$result)) + 4|0); - HEAP32[$14>>2] = $10; - $15 = ((($agg$result)) + 8|0); - HEAP32[$15>>2] = $11; - $16 = ((($agg$result)) + 12|0); - HEAP32[$16>>2] = $12; - $17 = ((($agg$result)) + 16|0); - HEAP32[$17>>2] = $13; - return; -} -function _UnloadImage($image) { - $image = $image|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$image>>2]|0; - _free($0); - return; -} -function _UnloadTexture($texture) { - $texture = $texture|0; - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$texture>>2]|0; - $1 = ($0|0)==(0); - if ($1) { + default: { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; STACKTOP = sp;return; } - _rlDeleteTextures($0); - $2 = HEAP32[$texture>>2]|0; - HEAP32[$vararg_buffer>>2] = $2; - _TraceLog(0,16865,$vararg_buffer); - STACKTOP = sp;return; -} -function _GetImageData($image) { - $image = $image|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0.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, $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.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0; - var $59 = 0.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.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $i$01 = 0, $k$02 = 0, $k$1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = ((($image)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($image)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = $1 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($6|0); } - $11 = ((($image)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = Math_imul($14, $13)|0; - $16 = HEAP32[$image>>2]|0; - $i$01 = 0;$k$02 = 0; - while(1) { - switch ($12|0) { - case 1: { - $17 = (($16) + ($k$02)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (($6) + ($i$01<<2)|0); - HEAP8[$19>>0] = $18; - $20 = (($16) + ($k$02)|0); - $21 = HEAP8[$20>>0]|0; - $22 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$22>>0] = $21; - $23 = (($16) + ($k$02)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$25>>0] = $24; - $26 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$26>>0] = -1; - $27 = (($k$02) + 1)|0; - $k$1 = $27; - break; - } - case 2: { - $28 = (($16) + ($k$02)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($6) + ($i$01<<2)|0); - HEAP8[$30>>0] = $29; - $31 = (($16) + ($k$02)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$33>>0] = $32; - $34 = (($16) + ($k$02)|0); - $35 = HEAP8[$34>>0]|0; - $36 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$36>>0] = $35; - $37 = (($k$02) + 1)|0; - $38 = (($16) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$40>>0] = $39; - $41 = (($k$02) + 2)|0; - $k$1 = $41; - break; - } - case 5: { - $42 = (($16) + ($k$02<<1)|0); - $43 = HEAP16[$42>>1]|0; - $44 = $43&65535; - $45 = $44 >>> 11; - $46 = (+($45|0)); - $47 = $46 * 8.0; - $48 = (~~(($47))&255); - $49 = (($6) + ($i$01<<2)|0); - HEAP8[$49>>0] = $48; - $50 = $44 >>> 6; - $51 = $50 & 31; - $52 = (+($51|0)); - $53 = $52 * 8.0; - $54 = (~~(($53))&255); - $55 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$55>>0] = $54; - $56 = $44 >>> 1; - $57 = $56 & 31; - $58 = (+($57|0)); - $59 = $58 * 8.0; - $60 = (~~(($59))&255); - $61 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$61>>0] = $60; - $62 = $44 & 1; - $63 = (0 - ($62))|0; - $64 = $63&255; - $65 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$65>>0] = $64; - $66 = (($k$02) + 1)|0; - $k$1 = $66; - break; - } - case 3: { - $67 = (($16) + ($k$02<<1)|0); - $68 = HEAP16[$67>>1]|0; - $69 = $68&65535; - $70 = $69 >>> 11; - $71 = (+($70|0)); - $72 = $71 * 8.0; - $73 = (~~(($72))&255); - $74 = (($6) + ($i$01<<2)|0); - HEAP8[$74>>0] = $73; - $75 = $69 >>> 5; - $76 = $75 & 63; - $77 = (+($76|0)); - $78 = $77 * 4.0; - $79 = (~~(($78))&255); - $80 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$80>>0] = $79; - $81 = $69 & 31; - $82 = (+($81|0)); - $83 = $82 * 8.0; - $84 = (~~(($83))&255); - $85 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$85>>0] = $84; - $86 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$86>>0] = -1; - $87 = (($k$02) + 1)|0; - $k$1 = $87; - break; - } - case 6: { - $88 = (($16) + ($k$02<<1)|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = $90 >>> 12; - $92 = (+($91|0)); - $93 = $92 * 17.0; - $94 = (~~(($93))&255); - $95 = (($6) + ($i$01<<2)|0); - HEAP8[$95>>0] = $94; - $96 = $90 >>> 8; - $97 = $96 & 15; - $98 = (+($97|0)); - $99 = $98 * 17.0; - $100 = (~~(($99))&255); - $101 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$101>>0] = $100; - $102 = $90 >>> 4; - $103 = $102 & 15; - $104 = (+($103|0)); - $105 = $104 * 17.0; - $106 = (~~(($105))&255); - $107 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$107>>0] = $106; - $108 = $90 & 15; - $109 = (+($108|0)); - $110 = $109 * 17.0; - $111 = (~~(($110))&255); - $112 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$112>>0] = $111; - $113 = (($k$02) + 1)|0; - $k$1 = $113; - break; - } - case 7: { - $114 = (($16) + ($k$02)|0); - $115 = HEAP8[$114>>0]|0; - $116 = (($6) + ($i$01<<2)|0); - HEAP8[$116>>0] = $115; - $117 = (($k$02) + 1)|0; - $118 = (($16) + ($117)|0); - $119 = HEAP8[$118>>0]|0; - $120 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$120>>0] = $119; - $121 = (($k$02) + 2)|0; - $122 = (($16) + ($121)|0); - $123 = HEAP8[$122>>0]|0; - $124 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$124>>0] = $123; - $125 = (($k$02) + 3)|0; - $126 = (($16) + ($125)|0); - $127 = HEAP8[$126>>0]|0; - $128 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$128>>0] = $127; - $129 = (($k$02) + 4)|0; - $k$1 = $129; - break; - } - case 4: { - $130 = (($16) + ($k$02)|0); - $131 = HEAP8[$130>>0]|0; - $132 = (($6) + ($i$01<<2)|0); - HEAP8[$132>>0] = $131; - $133 = (($k$02) + 1)|0; - $134 = (($16) + ($133)|0); - $135 = HEAP8[$134>>0]|0; - $136 = (((($6) + ($i$01<<2)|0)) + 1|0); - HEAP8[$136>>0] = $135; - $137 = (($k$02) + 2)|0; - $138 = (($16) + ($137)|0); - $139 = HEAP8[$138>>0]|0; - $140 = (((($6) + ($i$01<<2)|0)) + 2|0); - HEAP8[$140>>0] = $139; - $141 = (((($6) + ($i$01<<2)|0)) + 3|0); - HEAP8[$141>>0] = -1; - $142 = (($k$02) + 3)|0; - $k$1 = $142; - break; - } - default: { - _TraceLog(2,16915,$vararg_buffer); - $k$1 = $k$02; - } - } - $143 = (($i$01) + 1)|0; - $144 = ($143|0)<($15|0); - if ($144) { - $i$01 = $143;$k$02 = $k$1; - } else { - break; - } - } - STACKTOP = sp;return ($6|0); } -function _ImageFormat($image,$newFormat) { - $image = $image|0; - $newFormat = $newFormat|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.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.0, $174 = 0.0, $175 = 0.0, $176 = 0, $177 = 0, $178 = 0, $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0; - var $189 = 0, $19 = 0.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.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.0; - var $224 = 0.0, $225 = 0.0, $226 = 0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0.0; - var $242 = 0.0, $243 = 0.0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.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.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $3 = 0, $30 = 0.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.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.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.0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $i$017 = 0, $i1$019 = 0, $i12$028 = 0; - var $i13$031 = 0, $i2$021 = 0, $i3$024 = 0, $i7$026 = 0, $image$byval_copy = 0, $k$018 = 0, $k$123 = 0, $k$230 = 0, $or$cond = 0, $roundf = 0.0, $roundf10 = 0.0, $roundf2 = 0.0, $roundf3 = 0.0, $roundf4 = 0.0, $roundf5 = 0.0, $roundf6 = 0.0, $roundf7 = 0.0, $roundf8 = 0.0, $roundf9 = 0.0, $vararg_buffer = 0; - var label = 0, sp = 0; +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + 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, $45 = 0, $46 = 0, $47 = 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; - $image$byval_copy = sp + 4|0; + 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 = ((($image)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==($newFormat|0); - if ($2) { + $3 = HEAP32[7530]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7090]|0; + $6 = HEAP32[7531]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[7531] = $10; STACKTOP = sp;return; } - $3 = ($1|0)<(8); - $4 = ($newFormat|0)<(8); - $or$cond = $4 & $3; - if (!($or$cond)) { - _TraceLog(2,16961,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$image$byval_copy>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy+16>>2]=HEAP32[$image+16>>2]|0; - $5 = (_GetImageData($image$byval_copy)|0); - $6 = HEAP32[$image>>2]|0; - _free($6); - HEAP32[$0>>2] = $newFormat; - switch ($newFormat|0) { + $11 = HEAP32[7093]|0; + switch ($11|0) { case 1: { - $7 = ((($image)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($image)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = Math_imul($10, $8)|0; - $12 = (_malloc($11)|0); - HEAP32[$image>>2] = $12; - $13 = HEAP32[$7>>2]|0; - $14 = HEAP32[$9>>2]|0; - $15 = Math_imul($14, $13)|0; - $16 = ($15|0)>(0); - if ($16) { - $i$017 = 0; - while(1) { - $17 = (($5) + ($i$017<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($5) + ($i$017<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($5) + ($i$017<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$image>>2]|0; - $33 = (($32) + ($i$017)|0); - HEAP8[$33>>0] = $31; - $34 = (($i$017) + 1)|0; - $35 = HEAP32[$7>>2]|0; - $36 = HEAP32[$9>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $i$017 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($image)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($image)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$image>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = HEAP32[$41>>2]|0; - $48 = $46 << 1; - $49 = Math_imul($48, $47)|0; - $50 = ($49|0)>(0); - if ($50) { - $i1$019 = 0;$k$018 = 0; - while(1) { - $51 = (($5) + ($k$018<<2)|0); - $52 = HEAP8[$51>>0]|0; - $53 = (+($52&255)); - $54 = $53 * 0.29899999499320984; - $55 = (((($5) + ($k$018<<2)|0)) + 1|0); - $56 = HEAP8[$55>>0]|0; - $57 = (+($56&255)); - $58 = $57 * 0.58700001239776611; - $59 = $54 + $58; - $60 = (((($5) + ($k$018<<2)|0)) + 2|0); - $61 = HEAP8[$60>>0]|0; - $62 = (+($61&255)); - $63 = $62 * 0.11400000005960464; - $64 = $59 + $63; - $65 = (~~(($64))&255); - $66 = HEAP32[$image>>2]|0; - $67 = (($66) + ($i1$019)|0); - HEAP8[$67>>0] = $65; - $68 = (((($5) + ($k$018<<2)|0)) + 3|0); - $69 = HEAP8[$68>>0]|0; - $70 = $i1$019 | 1; - $71 = HEAP32[$image>>2]|0; - $72 = (($71) + ($70)|0); - HEAP8[$72>>0] = $69; - $73 = (($k$018) + 1)|0; - $74 = (($i1$019) + 2)|0; - $75 = HEAP32[$39>>2]|0; - $76 = HEAP32[$41>>2]|0; - $77 = $75 << 1; - $78 = Math_imul($77, $76)|0; - $79 = ($74|0)<($78|0); - if ($79) { - $i1$019 = $74;$k$018 = $73; - } else { - break; - } - } - } - break; - } - case 3: { - $80 = ((($image)) + 4|0); - $81 = HEAP32[$80>>2]|0; - $82 = ((($image)) + 8|0); - $83 = HEAP32[$82>>2]|0; - $84 = $81 << 1; - $85 = Math_imul($84, $83)|0; - $86 = (_malloc($85)|0); - HEAP32[$image>>2] = $86; - $87 = HEAP32[$80>>2]|0; - $88 = HEAP32[$82>>2]|0; - $89 = Math_imul($88, $87)|0; - $90 = ($89|0)>(0); - if ($90) { - $91 = HEAP8[$5>>0]|0; - $92 = (+($91&255)); - $93 = $92 * 31.0; - $94 = $93 / 255.0; - $roundf8 = (+_roundf($94)); - $95 = (~~(($roundf8))&255); - $96 = ((($5)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = (+($97&255)); - $99 = $98 * 63.0; - $100 = $99 / 255.0; - $roundf9 = (+_roundf($100)); - $101 = (~~(($roundf9))&255); - $102 = ((($5)) + 2|0); - $103 = HEAP8[$102>>0]|0; - $104 = (+($103&255)); - $105 = $104 * 31.0; - $106 = $105 / 255.0; - $roundf10 = (+_roundf($106)); - $107 = (~~(($roundf10))&255); - $108 = $95&255; - $109 = $108 << 11; - $110 = $101&255; - $111 = $110 << 5; - $112 = $111 | $109; - $113 = $107&255; - $114 = $112 | $113; - $115 = $114&65535; - $116 = HEAP32[$image>>2]|0; - $117 = HEAP32[$80>>2]|0; - $118 = HEAP32[$82>>2]|0; - $119 = Math_imul($118, $117)|0; - $i2$021 = 0; - while(1) { - $120 = (($116) + ($i2$021<<1)|0); - HEAP16[$120>>1] = $115; - $121 = (($i2$021) + 1)|0; - $122 = ($121|0)<($119|0); - if ($122) { - $i2$021 = $121; - } else { - break; - } - } + $12 = HEAP32[7352]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(29420)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[7352] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(2,11686,$vararg_buffer); + STACKTOP = sp;return; } break; } case 4: { - $123 = ((($image)) + 4|0); - $124 = HEAP32[$123>>2]|0; - $125 = ((($image)) + 8|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($124*3)|0; - $128 = Math_imul($127, $126)|0; - $129 = (_malloc($128)|0); - HEAP32[$image>>2] = $129; - $130 = HEAP32[$123>>2]|0; - $131 = HEAP32[$125>>2]|0; - $132 = ($130*3)|0; - $133 = Math_imul($132, $131)|0; - $134 = ($133|0)>(0); - if ($134) { - $i3$024 = 0;$k$123 = 0; - while(1) { - $135 = (($5) + ($k$123<<2)|0); - $136 = HEAP8[$135>>0]|0; - $137 = HEAP32[$image>>2]|0; - $138 = (($137) + ($i3$024)|0); - HEAP8[$138>>0] = $136; - $139 = (((($5) + ($k$123<<2)|0)) + 1|0); - $140 = HEAP8[$139>>0]|0; - $141 = (($i3$024) + 1)|0; - $142 = HEAP32[$image>>2]|0; - $143 = (($142) + ($141)|0); - HEAP8[$143>>0] = $140; - $144 = (((($5) + ($k$123<<2)|0)) + 2|0); - $145 = HEAP8[$144>>0]|0; - $146 = (($i3$024) + 2)|0; - $147 = HEAP32[$image>>2]|0; - $148 = (($147) + ($146)|0); - HEAP8[$148>>0] = $145; - $149 = (($k$123) + 1)|0; - $150 = (($i3$024) + 3)|0; - $151 = HEAP32[$123>>2]|0; - $152 = HEAP32[$125>>2]|0; - $153 = ($151*3)|0; - $154 = Math_imul($153, $152)|0; - $155 = ($150|0)<($154|0); - if ($155) { - $i3$024 = $150;$k$123 = $149; - } else { - break; - } - } - } - break; - } - case 5: { - $156 = ((($image)) + 4|0); - $157 = HEAP32[$156>>2]|0; - $158 = ((($image)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = $157 << 1; - $161 = Math_imul($160, $159)|0; - $162 = (_malloc($161)|0); - HEAP32[$image>>2] = $162; - $163 = HEAP32[$156>>2]|0; - $164 = HEAP32[$158>>2]|0; - $165 = Math_imul($164, $163)|0; - $166 = ($165|0)>(0); - if ($166) { - $167 = HEAP32[$image>>2]|0; - $168 = HEAP32[$156>>2]|0; - $169 = HEAP32[$158>>2]|0; - $170 = Math_imul($169, $168)|0; - $i7$026 = 0; - while(1) { - $171 = (($5) + ($i7$026<<2)|0); - $172 = HEAP8[$171>>0]|0; - $173 = (+($172&255)); - $174 = $173 * 31.0; - $175 = $174 / 255.0; - $roundf5 = (+_roundf($175)); - $176 = (~~(($roundf5))&255); - $177 = (((($5) + ($i7$026<<2)|0)) + 1|0); - $178 = HEAP8[$177>>0]|0; - $179 = (+($178&255)); - $180 = $179 * 31.0; - $181 = $180 / 255.0; - $roundf6 = (+_roundf($181)); - $182 = (~~(($roundf6))&255); - $183 = (((($5) + ($i7$026<<2)|0)) + 2|0); - $184 = HEAP8[$183>>0]|0; - $185 = (+($184&255)); - $186 = $185 * 31.0; - $187 = $186 / 255.0; - $roundf7 = (+_roundf($187)); - $188 = (~~(($roundf7))&255); - $189 = (((($5) + ($i7$026<<2)|0)) + 3|0); - $190 = HEAP8[$189>>0]|0; - $191 = ($190&255)>(50); - $192 = $176&255; - $193 = $192 << 11; - $194 = $182&255; - $195 = $194 << 6; - $196 = $195 | $193; - $197 = $188&255; - $198 = $197 << 1; - $199 = $196 | $198; - $200 = $191&1; - $201 = $199 | $200; - $202 = $201&65535; - $203 = (($167) + ($i7$026<<1)|0); - HEAP16[$203>>1] = $202; - $204 = (($i7$026) + 1)|0; - $205 = ($204|0)<($170|0); - if ($205) { - $i7$026 = $204; - } else { - break; - } - } - } - break; - } - case 6: { - $206 = ((($image)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = ((($image)) + 8|0); - $209 = HEAP32[$208>>2]|0; - $210 = $207 << 1; - $211 = Math_imul($210, $209)|0; - $212 = (_malloc($211)|0); - HEAP32[$image>>2] = $212; - $213 = HEAP32[$206>>2]|0; - $214 = HEAP32[$208>>2]|0; - $215 = Math_imul($214, $213)|0; - $216 = ($215|0)>(0); - if ($216) { - $217 = HEAP32[$image>>2]|0; - $218 = HEAP32[$206>>2]|0; - $219 = HEAP32[$208>>2]|0; - $220 = Math_imul($219, $218)|0; - $i12$028 = 0; - while(1) { - $221 = (($5) + ($i12$028<<2)|0); - $222 = HEAP8[$221>>0]|0; - $223 = (+($222&255)); - $224 = $223 * 15.0; - $225 = $224 / 255.0; - $roundf = (+_roundf($225)); - $226 = (~~(($roundf))&255); - $227 = (((($5) + ($i12$028<<2)|0)) + 1|0); - $228 = HEAP8[$227>>0]|0; - $229 = (+($228&255)); - $230 = $229 * 15.0; - $231 = $230 / 255.0; - $roundf2 = (+_roundf($231)); - $232 = (~~(($roundf2))&255); - $233 = (((($5) + ($i12$028<<2)|0)) + 2|0); - $234 = HEAP8[$233>>0]|0; - $235 = (+($234&255)); - $236 = $235 * 15.0; - $237 = $236 / 255.0; - $roundf3 = (+_roundf($237)); - $238 = (~~(($roundf3))&255); - $239 = (((($5) + ($i12$028<<2)|0)) + 3|0); - $240 = HEAP8[$239>>0]|0; - $241 = (+($240&255)); - $242 = $241 * 15.0; - $243 = $242 / 255.0; - $roundf4 = (+_roundf($243)); - $244 = (~~(($roundf4))&255); - $245 = $226&255; - $246 = $245 << 12; - $247 = $232&255; - $248 = $247 << 8; - $249 = $248 | $246; - $250 = $238&255; - $251 = $250 << 4; - $252 = $249 | $251; - $253 = $244&255; - $254 = $252 | $253; - $255 = $254&65535; - $256 = (($217) + ($i12$028<<1)|0); - HEAP16[$256>>1] = $255; - $257 = (($i12$028) + 1)|0; - $258 = ($257|0)<($220|0); - if ($258) { - $i12$028 = $257; - } else { - break; - } - } + $22 = HEAP32[7364]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(29468)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[7364] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(2,11711,$vararg_buffer1); + STACKTOP = sp;return; } break; } case 7: { - $259 = ((($image)) + 4|0); - $260 = HEAP32[$259>>2]|0; - $261 = ((($image)) + 8|0); - $262 = HEAP32[$261>>2]|0; - $263 = $260 << 2; - $264 = Math_imul($263, $262)|0; - $265 = (_malloc($264)|0); - HEAP32[$image>>2] = $265; - $266 = HEAP32[$259>>2]|0; - $267 = HEAP32[$261>>2]|0; - $268 = $266 << 2; - $269 = Math_imul($268, $267)|0; - $270 = ($269|0)>(0); - if ($270) { - $i13$031 = 0;$k$230 = 0; - while(1) { - $271 = (($5) + ($k$230<<2)|0); - $272 = HEAP8[$271>>0]|0; - $273 = HEAP32[$image>>2]|0; - $274 = (($273) + ($i13$031)|0); - HEAP8[$274>>0] = $272; - $275 = (((($5) + ($k$230<<2)|0)) + 1|0); - $276 = HEAP8[$275>>0]|0; - $277 = $i13$031 | 1; - $278 = HEAP32[$image>>2]|0; - $279 = (($278) + ($277)|0); - HEAP8[$279>>0] = $276; - $280 = (((($5) + ($k$230<<2)|0)) + 2|0); - $281 = HEAP8[$280>>0]|0; - $282 = $i13$031 | 2; - $283 = HEAP32[$image>>2]|0; - $284 = (($283) + ($282)|0); - HEAP8[$284>>0] = $281; - $285 = (((($5) + ($k$230<<2)|0)) + 3|0); - $286 = HEAP8[$285>>0]|0; - $287 = $i13$031 | 3; - $288 = HEAP32[$image>>2]|0; - $289 = (($288) + ($287)|0); - HEAP8[$289>>0] = $286; - $290 = (($k$230) + 1)|0; - $291 = (($i13$031) + 4)|0; - $292 = HEAP32[$259>>2]|0; - $293 = HEAP32[$261>>2]|0; - $294 = $292 << 2; - $295 = Math_imul($294, $293)|0; - $296 = ($291|0)<($295|0); - if ($296) { - $i13$031 = $291;$k$230 = $290; - } else { - break; - } - } + $32 = HEAP32[7376]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(29516)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[7376] = $41; + $42 = HEAP32[7091]|0; + $43 = HEAP32[7092]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(2,11740,$vararg_buffer3); + STACKTOP = sp;return; } break; } default: { + STACKTOP = sp;return; } } - _free($5); - STACKTOP = sp;return; } -function _DrawTexture($texture,$posX,$posY,$tint) { - $texture = $texture|0; - $posX = $posX|0; - $posY = $posY|0; - $tint = $tint|0; - var $$byval_copy = 0, $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $texture$byval_copy = 0, $tint$byval_copy = 0, label = 0, sp = 0; +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $tint$byval_copy = sp + 40|0; - $$byval_copy = sp + 32|0; - $texture$byval_copy = sp + 8|0; - $0 = sp; - $1 = (+($posX|0)); - $2 = (+($posY|0)); - HEAPF32[$0>>2] = $1; - $3 = ((($0)) + 4|0); - HEAPF32[$3>>2] = $2; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[$texture>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$texture+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$texture+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$texture+16>>2]|0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTextureEx($texture$byval_copy,$$byval_copy,0.0,1.0,$tint$byval_copy); - STACKTOP = sp;return; -} -function _DrawTextureEx($texture,$position,$rotation,$scale,$tint) { - $texture = $texture|0; - $position = $position|0; - $rotation = +$rotation; - $scale = +$scale; - $tint = $tint|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, $destRec = 0, $destRec$byval_copy = 0, $origin = 0, $sourceRec = 0, $sourceRec$byval_copy = 0, $texture$byval_copy = 0, $tint$byval_copy = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $tint$byval_copy = sp + 104|0; - $tmpcast$byval_copy = sp + 96|0; - $destRec$byval_copy = sp + 80|0; - $sourceRec$byval_copy = sp + 64|0; - $texture$byval_copy = sp + 40|0; - $sourceRec = sp + 24|0; - $destRec = sp + 8|0; - $origin = sp; - HEAP32[$sourceRec>>2] = 0; - $0 = ((($sourceRec)) + 4|0); - HEAP32[$0>>2] = 0; - $1 = ((($sourceRec)) + 8|0); - $2 = ((($texture)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($sourceRec)) + 12|0); - $5 = ((($texture)) + 8|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = +HEAPF32[$position>>2]; - $8 = (~~(($7))); - HEAP32[$destRec>>2] = $8; - $9 = ((($destRec)) + 4|0); - $10 = ((($position)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = (~~(($11))); - HEAP32[$9>>2] = $12; - $13 = ((($destRec)) + 8|0); - $14 = HEAP32[$2>>2]|0; - $15 = (+($14|0)); - $16 = $15 * $scale; - $17 = (~~(($16))); - HEAP32[$13>>2] = $17; - $18 = ((($destRec)) + 12|0); - $19 = HEAP32[$5>>2]|0; - $20 = (+($19|0)); - $21 = $20 * $scale; - $22 = (~~(($21))); - HEAP32[$18>>2] = $22; - $23 = $origin; - $24 = $23; - HEAP32[$24>>2] = 0; - $25 = (($23) + 4)|0; - $26 = $25; - HEAP32[$26>>2] = 0; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[$texture>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$texture+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$texture+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$texture+16>>2]|0; - ;HEAP32[$sourceRec$byval_copy>>2]=HEAP32[$sourceRec>>2]|0;HEAP32[$sourceRec$byval_copy+4>>2]=HEAP32[$sourceRec+4>>2]|0;HEAP32[$sourceRec$byval_copy+8>>2]=HEAP32[$sourceRec+8>>2]|0;HEAP32[$sourceRec$byval_copy+12>>2]=HEAP32[$sourceRec+12>>2]|0; - ;HEAP32[$destRec$byval_copy>>2]=HEAP32[$destRec>>2]|0;HEAP32[$destRec$byval_copy+4>>2]=HEAP32[$destRec+4>>2]|0;HEAP32[$destRec$byval_copy+8>>2]=HEAP32[$destRec+8>>2]|0;HEAP32[$destRec$byval_copy+12>>2]=HEAP32[$destRec+12>>2]|0; - ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$origin>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$origin+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTexturePro($texture$byval_copy,$sourceRec$byval_copy,$destRec$byval_copy,$tmpcast$byval_copy,$rotation,$tint$byval_copy); - STACKTOP = sp;return; -} -function _DrawTexturePro($texture,$sourceRec,$destRec,$origin,$rotation,$tint) { - $texture = $texture|0; - $sourceRec = $sourceRec|0; - $destRec = $destRec|0; - $origin = $origin|0; - $rotation = +$rotation; - $tint = $tint|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0; - var $63 = 0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0.0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$texture>>2]|0; - _rlEnableTexture($0); - _rlPushMatrix(); - $1 = HEAP32[$destRec>>2]|0; - $2 = (+($1|0)); - $3 = ((($destRec)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = (+($4|0)); - _rlTranslatef($2,$5,0.0); - _rlRotatef($rotation,0.0,0.0,1.0); - $6 = +HEAPF32[$origin>>2]; - $7 = -$6; - $8 = ((($origin)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = -$9; - _rlTranslatef($7,$10,0.0); - _rlBegin(2); - $11 = HEAP8[$tint>>0]|0; - $12 = ((($tint)) + 1|0); - $13 = HEAP8[$12>>0]|0; - $14 = ((($tint)) + 2|0); - $15 = HEAP8[$14>>0]|0; - $16 = ((($tint)) + 3|0); - $17 = HEAP8[$16>>0]|0; - _rlColor4ub($11,$13,$15,$17); - $18 = HEAP32[$sourceRec>>2]|0; - $19 = (+($18|0)); - $20 = ((($texture)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = (+($21|0)); - $23 = $19 / $22; - $24 = ((($sourceRec)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = (+($25|0)); - $27 = ((($texture)) + 8|0); - $28 = HEAP32[$27>>2]|0; - $29 = (+($28|0)); - $30 = $26 / $29; - _rlTexCoord2f($23,$30); - _rlVertex2f(0.0,0.0); - $31 = HEAP32[$sourceRec>>2]|0; - $32 = (+($31|0)); - $33 = HEAP32[$20>>2]|0; - $34 = (+($33|0)); - $35 = $32 / $34; - $36 = HEAP32[$24>>2]|0; - $37 = ((($sourceRec)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = (($38) + ($36))|0; - $40 = (+($39|0)); - $41 = HEAP32[$27>>2]|0; - $42 = (+($41|0)); - $43 = $40 / $42; - _rlTexCoord2f($35,$43); - $44 = ((($destRec)) + 12|0); - $45 = HEAP32[$44>>2]|0; - $46 = (+($45|0)); - _rlVertex2f(0.0,$46); - $47 = HEAP32[$sourceRec>>2]|0; - $48 = ((($sourceRec)) + 8|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + ($47))|0; - $51 = (+($50|0)); - $52 = HEAP32[$20>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$24>>2]|0; - $56 = HEAP32[$37>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$27>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($destRec)) + 8|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - $65 = HEAP32[$44>>2]|0; - $66 = (+($65|0)); - _rlVertex2f($64,$66); - $67 = HEAP32[$sourceRec>>2]|0; - $68 = HEAP32[$48>>2]|0; - $69 = (($68) + ($67))|0; - $70 = (+($69|0)); - $71 = HEAP32[$20>>2]|0; - $72 = (+($71|0)); - $73 = $70 / $72; - $74 = HEAP32[$24>>2]|0; - $75 = (+($74|0)); - $76 = HEAP32[$27>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($73,$78); - $79 = HEAP32[$62>>2]|0; - $80 = (+($79|0)); - _rlVertex2f($80,0.0); - _rlEnd(); - _rlPopMatrix(); + $2 = +HEAPF32[745]; + _rlVertex3f($0,$1,$2); return; } -function _DrawTextureRec($texture,$sourceRec,$position,$tint) { - $texture = $texture|0; - $sourceRec = $sourceRec|0; - $position = $position|0; - $tint = $tint|0; - var $0 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $destRec = 0, $destRec$byval_copy = 0; - var $ispos = 0, $ispos1 = 0, $neg = 0, $neg2 = 0, $origin = 0, $sourceRec$byval_copy = 0, $texture$byval_copy = 0, $tint$byval_copy = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; +function _rlVertex2i($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $tint$byval_copy = sp + 88|0; - $tmpcast$byval_copy = sp + 80|0; - $destRec$byval_copy = sp + 64|0; - $sourceRec$byval_copy = sp + 48|0; - $texture$byval_copy = sp + 24|0; - $destRec = sp + 8|0; - $origin = sp; - $0 = +HEAPF32[$position>>2]; - $1 = (~~(($0))); - HEAP32[$destRec>>2] = $1; - $2 = ((($destRec)) + 4|0); - $3 = ((($position)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = (~~(($4))); - HEAP32[$2>>2] = $5; - $6 = ((($destRec)) + 8|0); - $7 = ((($sourceRec)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $ispos = ($8|0)>(-1); - $neg = (0 - ($8))|0; - $9 = $ispos ? $8 : $neg; - HEAP32[$6>>2] = $9; - $10 = ((($destRec)) + 12|0); - $11 = ((($sourceRec)) + 12|0); - $12 = HEAP32[$11>>2]|0; - $ispos1 = ($12|0)>(-1); - $neg2 = (0 - ($12))|0; - $13 = $ispos1 ? $12 : $neg2; - HEAP32[$10>>2] = $13; - $14 = $origin; - $15 = $14; - HEAP32[$15>>2] = 0; - $16 = (($14) + 4)|0; - $17 = $16; - HEAP32[$17>>2] = 0; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[$texture>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$texture+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$texture+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$texture+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$texture+16>>2]|0; - ;HEAP32[$sourceRec$byval_copy>>2]=HEAP32[$sourceRec>>2]|0;HEAP32[$sourceRec$byval_copy+4>>2]=HEAP32[$sourceRec+4>>2]|0;HEAP32[$sourceRec$byval_copy+8>>2]=HEAP32[$sourceRec+8>>2]|0;HEAP32[$sourceRec$byval_copy+12>>2]=HEAP32[$sourceRec+12>>2]|0; - ;HEAP32[$destRec$byval_copy>>2]=HEAP32[$destRec>>2]|0;HEAP32[$destRec$byval_copy+4>>2]=HEAP32[$destRec+4>>2]|0;HEAP32[$destRec$byval_copy+8>>2]=HEAP32[$destRec+8>>2]|0;HEAP32[$destRec$byval_copy+12>>2]=HEAP32[$destRec+12>>2]|0; - ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$origin>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$origin+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTexturePro($texture$byval_copy,$sourceRec$byval_copy,$destRec$byval_copy,$tmpcast$byval_copy,0.0,$tint$byval_copy); - STACKTOP = sp;return; + $2 = (+($0|0)); + $3 = (+($1|0)); + $4 = +HEAPF32[745]; + _rlVertex3f($2,$3,$4); + return; } -function _stb_vorbis_close($p) { - $p = $p|0; - var $0 = 0, label = 0, sp = 0; +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($p|0)==(0|0); - if ($0) { + $2 = HEAP32[7093]|0; + $3 = ($2|0)==(7); + if (!($3)) { return; } - _vorbis_deinit($p); - _setup_free($p,$p); + $4 = HEAP32[(29520)>>2]|0; + $5 = HEAP32[(29508)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(29508)>>2] = $10; return; } -function _stb_vorbis_get_info($agg$result,$f) { - $agg$result = $agg$result|0; - $f = $f|0; - var $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; +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$f>>2]|0; - $3 = ((($f)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($f)) + 16|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($f)) + 12|0); + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[7093]|0; + switch ($4|0) { + case 1: { + $$sink37 = (29416);$$sink38 = (29428); + break; + } + case 4: { + $$sink37 = (29464);$$sink38 = (29476); + break; + } + case 7: { + $$sink37 = (29512);$$sink38 = (29524); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($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 = HEAP32[7091]|0; + $2 = HEAP32[7092]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); $8 = HEAP32[$7>>2]|0; - $9 = ((($f)) + 116|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 >> 1; - HEAP32[$agg$result>>2] = $2; - $12 = ((($agg$result)) + 4|0); - HEAP32[$12>>2] = $1; - $13 = ((($agg$result)) + 8|0); - HEAP32[$13>>2] = $4; - $14 = ((($agg$result)) + 12|0); - HEAP32[$14>>2] = $6; - $15 = ((($agg$result)) + 16|0); - HEAP32[$15>>2] = $8; - $16 = ((($agg$result)) + 20|0); - HEAP32[$16>>2] = $11; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[7092] = $10; + } + $11 = HEAP32[7092]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; return; } -function _stb_vorbis_get_file_offset($f) { - $f = $f|0; - var $$0 = 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; +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { + $0 = HEAP32[7376]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _rlTextureParameters($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + _glBindTexture(3553,($0|0)); + L1: do { + switch ($1|0) { + case 10243: case 10242: { + $3 = ($2|0)!=(34626); + $4 = HEAP32[7060]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + _glTexParameteri(3553,($1|0),($2|0)); + break L1; + } else { + _TraceLog(1,11765,$vararg_buffer); + break L1; + } + break; + } + case 10241: case 10240: { + _glTexParameteri(3553,($1|0),($2|0)); + break; + } + case 12288: { + $6 = (+($2|0)); + $7 = +HEAPF32[7059]; + $8 = !($6 <= $7); + if (!($8)) { + _glTexParameterf(3553,34046,(+$6)); + break L1; + } + $9 = $7 > 0.0; + if ($9) { + $10 = $7; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer1)) + 8|0); + HEAPF64[$vararg_ptr3>>3] = $10; + _TraceLog(1,11802,$vararg_buffer1); + _glTexParameterf(3553,34046,(+$6)); + break L1; + } else { + _TraceLog(1,11864,$vararg_buffer4); + break L1; + } + break; + } + default: { + } + } + } while(0); + _glBindTexture(3553,0); + STACKTOP = sp;return; +} +function _GetDefaultTexture($0) { + $0 = $0|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[7061]|0; + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; + return; +} +function _DrawRectangle($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 32|0; + $$byval_copy1 = sp + 24|0; + $$byval_copy = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (+($0|0)); + HEAPF32[$5>>2] = $7; + $8 = ((($5)) + 4|0); + $9 = (+($1|0)); + HEAPF32[$8>>2] = $9; + $10 = (+($2|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($3|0)); + HEAPF32[$11>>2] = $12; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawRectangleV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.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.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = (_rlGetVersion()|0); + $5 = ($4|0)==(1); + if ($5) { + _rlBegin(4); + $6 = HEAP8[$2>>0]|0; + $7 = ((($2)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($2)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = ((($2)) + 3|0); + $12 = HEAP8[$11>>0]|0; + _rlColor4ub($6,$8,$10,$12); + $13 = +HEAPF32[$0>>2]; + $14 = (~~(($13))); + $15 = ((($0)) + 4|0); + $16 = +HEAPF32[$15>>2]; + $17 = (~~(($16))); + _rlVertex2i($14,$17); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = $16 + $19; + $21 = (~~(($20))); + _rlVertex2i($14,$21); + $22 = +HEAPF32[$0>>2]; + $23 = +HEAPF32[$1>>2]; + $24 = $22 + $23; + $25 = (~~(($24))); + $26 = +HEAPF32[$15>>2]; + $27 = +HEAPF32[$18>>2]; + $28 = $26 + $27; + $29 = (~~(($28))); + _rlVertex2i($25,$29); + $30 = +HEAPF32[$0>>2]; + $31 = (~~(($30))); + $32 = +HEAPF32[$15>>2]; + $33 = (~~(($32))); + _rlVertex2i($31,$33); + $34 = +HEAPF32[$1>>2]; + $35 = $30 + $34; + $36 = (~~(($35))); + $37 = +HEAPF32[$18>>2]; + $38 = $32 + $37; + $39 = (~~(($38))); + _rlVertex2i($36,$39); + $40 = +HEAPF32[$0>>2]; + $41 = +HEAPF32[$1>>2]; + $42 = $40 + $41; + $43 = (~~(($42))); + $44 = +HEAPF32[$15>>2]; + $45 = (~~(($44))); + _rlVertex2i($43,$45); + _rlEnd(); + STACKTOP = sp;return; + } + $46 = (_rlGetVersion()|0); + $47 = ($46|0)==(2); + if (!($47)) { + $48 = (_rlGetVersion()|0); + $49 = ($48|0)==(3); + if (!($49)) { + $50 = (_rlGetVersion()|0); + $51 = ($50|0)==(4); + if (!($51)) { + STACKTOP = sp;return; + } + } + } + _GetDefaultTexture($3); + $52 = HEAP32[$3>>2]|0; + _rlEnableTexture($52); + _rlBegin(7); + $53 = HEAP8[$2>>0]|0; + $54 = ((($2)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = ((($2)) + 2|0); + $57 = HEAP8[$56>>0]|0; + $58 = ((($2)) + 3|0); + $59 = HEAP8[$58>>0]|0; + _rlColor4ub($53,$55,$57,$59); + _rlTexCoord2f(0.0,0.0); + $60 = +HEAPF32[$0>>2]; + $61 = ((($0)) + 4|0); + $62 = +HEAPF32[$61>>2]; + _rlVertex2f($60,$62); + _rlTexCoord2f(0.0,1.0); + $63 = ((($1)) + 4|0); + $64 = +HEAPF32[$63>>2]; + $65 = $62 + $64; + _rlVertex2f($60,$65); + _rlTexCoord2f(1.0,1.0); + $66 = +HEAPF32[$0>>2]; + $67 = +HEAPF32[$1>>2]; + $68 = $66 + $67; + $69 = +HEAPF32[$61>>2]; + $70 = +HEAPF32[$63>>2]; + $71 = $69 + $70; + _rlVertex2f($68,$71); + _rlTexCoord2f(1.0,0.0); + $72 = +HEAPF32[$0>>2]; + $73 = +HEAPF32[$1>>2]; + $74 = $72 + $73; + $75 = +HEAPF32[$61>>2]; + _rlVertex2f($74,$75); + _rlEnd(); + _rlDisableTexture(); + STACKTOP = sp;return; +} +function _DrawRectangleLines($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy3 = 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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy3 = sp; + $5 = (_rlGetVersion()|0); + $6 = ($5|0)==(1); + if ($6) { + _rlBegin(1); + $7 = HEAP8[$4>>0]|0; + $8 = ((($4)) + 1|0); + $9 = HEAP8[$8>>0]|0; + $10 = ((($4)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ((($4)) + 3|0); + $13 = HEAP8[$12>>0]|0; + _rlColor4ub($7,$9,$11,$13); + $14 = (($0) + 1)|0; + $15 = (($1) + 1)|0; + _rlVertex2i($14,$15); + $16 = (($2) + ($0))|0; + _rlVertex2i($16,$15); + _rlVertex2i($16,$15); + $17 = (($3) + ($1))|0; + _rlVertex2i($16,$17); + _rlVertex2i($16,$17); + _rlVertex2i($14,$17); + _rlVertex2i($14,$17); + _rlVertex2i($14,$15); + _rlEnd(); + STACKTOP = sp;return; + } + $18 = (_rlGetVersion()|0); + $19 = ($18|0)==(2); + if (!($19)) { + $20 = (_rlGetVersion()|0); + $21 = ($20|0)==(3); + if (!($21)) { + $22 = (_rlGetVersion()|0); + $23 = ($22|0)==(4); + if (!($23)) { + STACKTOP = sp;return; + } + } + } + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$1,$2,1,$$byval_copy3); + $24 = (($0) + -1)|0; + $25 = (($24) + ($2))|0; + $26 = (($1) + 1)|0; + $27 = (($3) + -2)|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($25,$26,1,$27,$$byval_copy3); + $28 = (($1) + -1)|0; + $29 = (($28) + ($3))|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$29,$2,1,$$byval_copy3); + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$26,1,$27,$$byval_copy3); + STACKTOP = sp;return; +} +function _CheckCollisionCircles($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = +$3; + var $$0 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = +HEAPF32[$2>>2]; + $5 = +HEAPF32[$0>>2]; + $6 = $4 - $5; + $7 = ((($2)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($0)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + $12 = $6 * $6; + $13 = $11 * $11; + $14 = $12 + $13; + $15 = (+Math_sqrt((+$14))); + $16 = $1 + $3; + $not$ = $15 <= $16; + $$0 = $not$&1; + return ($$0|0); +} +function _stbi__err($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7532] = $0; + return; +} +function _stbi_load_from_file($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $5 = sp; + _stbi__start_file($5,$0); + $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); + $7 = ($6|0)==(0|0); + if ($7) { + STACKTOP = sp;return ($6|0); + } + $8 = ((($5)) + 172|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($5)) + 168|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) - ($9))|0; + (_fseek($0,$12,1)|0); + STACKTOP = sp;return ($6|0); +} +function _stbi__start_file($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbi__start_callbacks($0,3096,$1); + return; +} +function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$070 = 0, $$07175 = 0, $$07276 = 0, $$07378 = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, $exitcond80 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $8 = HEAP32[$5>>2]|0; + switch ($8|0) { + case 8: { + $$070 = $6; + break; + } + case 16: { + label = 4; + break; + } + default: { + ___assert_fail((11900|0),(11926|0),1041,(11949|0)); + // unreachable; + } + } + if ((label|0) == 4) { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ($4|0)==(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = $12; + } else { + $13 = $4; + } + $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); + HEAP32[$5>>2] = 8; + $$070 = $14; + } + $15 = HEAP32[7533]|0; + $16 = ($15|0)==(0); + if ($16) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ($4|0)==(0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $25 = $20; + } else { + $25 = $4; + } + $21 = $18 >> 1; + $22 = ($21|0)>(0); + if (!($22)) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $23 = ($17|0)>(0); + $24 = ($25|0)>(0); + $26 = (($18) + -1)|0; + $$07378 = 0; + while(1) { + if ($23) { + $27 = Math_imul($$07378, $17)|0; + $28 = (($26) - ($$07378))|0; + $29 = Math_imul($28, $17)|0; + $$07276 = 0; + while(1) { + if ($24) { + $30 = (($$07276) + ($27))|0; + $31 = Math_imul($30, $25)|0; + $32 = (($$07276) + ($29))|0; + $33 = Math_imul($32, $25)|0; + $$07175 = 0; + while(1) { + $34 = (($$07175) + ($31))|0; + $35 = (($$070) + ($34)|0); + $36 = HEAP8[$35>>0]|0; + $37 = (($$07175) + ($33))|0; + $38 = (($$070) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + HEAP8[$35>>0] = $39; + HEAP8[$38>>0] = $36; + $40 = (($$07175) + 1)|0; + $exitcond = ($40|0)==($25|0); + if ($exitcond) { + break; + } else { + $$07175 = $40; + } + } + } + $41 = (($$07276) + 1)|0; + $exitcond79 = ($41|0)==($17|0); + if ($exitcond79) { + break; + } else { + $$07276 = $41; + } + } + } + $42 = (($$07378) + 1)|0; + $exitcond80 = ($42|0)==($21|0); + if ($exitcond80) { + $$0 = $$070; + break; + } else { + $$07378 = $42; + } + } + STACKTOP = sp;return ($$0|0); +} +function _stbi__load_main($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$5>>2] = 8; + $6 = ((($5)) + 8|0); + HEAP32[$6>>2] = 0; + $7 = ((($5)) + 4|0); + HEAP32[$7>>2] = 0; + $8 = (_stbi__png_test($0)|0); + $9 = ($8|0)==(0); + if ($9) { + _stbi__err(11990); $$0 = 0; return ($$0|0); - } - $3 = ((($f)) + 32|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $11 = ((($f)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_ftell($12)|0); - $14 = ((($f)) + 24|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($13) - ($15))|0; - $$0 = $16; - return ($$0|0); } else { - $6 = ((($f)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = $4; - $9 = $7; - $10 = (($8) - ($9))|0; + $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); $$0 = $10; return ($$0|0); } return (0)|0; } -function _stb_vorbis_get_frame_float($f,$channels,$output) { - $f = $f|0; - $channels = $channels|0; - $output = $output|0; - 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$01 = 0, $left = 0, $len = 0, $right = 0, label = 0, sp = 0; +function _stbi__convert_16_to_8($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $len = sp + 8|0; - $right = sp + 4|0; - $left = sp; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - _error($f,2); + $4 = Math_imul($2, $1)|0; + $5 = Math_imul($4, $3)|0; + $6 = (_stbi__malloc($5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + _stbi__err(11981); $$0 = 0; - STACKTOP = sp;return ($$0|0); + return ($$0|0); } - $3 = (_vorbis_decode_packet($f,$len,$left,$right)|0); - $4 = ($3|0)==(0); - if ($4) { - $5 = ((($f)) + 1508|0); - HEAP32[$5>>2] = 0; - $6 = ((($f)) + 1504|0); - HEAP32[$6>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $7 = HEAP32[$len>>2]|0; - $8 = HEAP32[$left>>2]|0; - $9 = HEAP32[$right>>2]|0; - $10 = (_vorbis_finish_frame($f,$7,$8,$9)|0); - HEAP32[$len>>2] = $10; - $11 = ((($f)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - if ($13) { - $14 = HEAP32[$left>>2]|0; - $i$01 = 0; + $8 = ($5|0)>(0); + if ($8) { + $$01819 = 0; while(1) { - $15 = (((($f)) + 800|0) + ($i$01<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($14<<2)|0); - $18 = (((($f)) + 864|0) + ($i$01<<2)|0); - HEAP32[$18>>2] = $17; - $19 = (($i$01) + 1)|0; - $20 = HEAP32[$11>>2]|0; - $21 = ($19|0)<($20|0); - if ($21) { - $i$01 = $19; - } else { + $9 = (($0) + ($$01819<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = ($10&65535) >>> 8; + $12 = $11&255; + $13 = (($6) + ($$01819)|0); + HEAP8[$13>>0] = $12; + $14 = (($$01819) + 1)|0; + $exitcond = ($14|0)==($5|0); + if ($exitcond) { break; - } - } - } - $22 = HEAP32[$left>>2]|0; - $23 = ((($f)) + 1504|0); - HEAP32[$23>>2] = $22; - $24 = HEAP32[$left>>2]|0; - $25 = HEAP32[$len>>2]|0; - $26 = (($25) + ($24))|0; - $27 = ((($f)) + 1508|0); - HEAP32[$27>>2] = $26; - $28 = ($channels|0)==(0|0); - if (!($28)) { - $29 = HEAP32[$11>>2]|0; - HEAP32[$channels>>2] = $29; - } - $30 = ($output|0)==(0|0); - if (!($30)) { - $31 = ((($f)) + 864|0); - HEAP32[$output>>2] = $31; - } - $32 = HEAP32[$len>>2]|0; - $$0 = $32; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_seek_start($f) { - $f = $f|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 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $3 = ((($f)) + 52|0); - $4 = HEAP32[$3>>2]|0; - _set_file_offset($f,$4); - $5 = ((($f)) + 992|0); - HEAP32[$5>>2] = 0; - $6 = ((($f)) + 1377|0); - HEAP8[$6>>0] = 1; - $7 = ((($f)) + 1380|0); - HEAP32[$7>>2] = -1; - _vorbis_pump_first_frame($f); - return; - } else { - _error($f,2); - return; - } -} -function _stb_vorbis_stream_length_in_samples($f) { - $f = $f|0; - var $$ = 0, $$0 = 0, $$2 = 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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $end = 0, $header = 0, $last = 0, $last_page_loc$0$lcssa = 0, $last_page_loc$03 = 0, $previous_safe$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $end = sp + 4|0; - $last = sp; - $header = sp + 8|0; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - _error($f,2); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ((($f)) + 796|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - $6 = (_stb_vorbis_get_file_offset($f)|0); - $7 = ((($f)) + 44|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8>>>0)>(65535); - if ($9) { - $10 = (($8) + -65536)|0; - $11 = ((($f)) + 52|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - label = 6; } else { - $previous_safe$0 = $10; + $$01819 = $14; } - } else { - label = 6; - } - if ((label|0) == 6) { - $14 = ((($f)) + 52|0); - $15 = HEAP32[$14>>2]|0; - $previous_safe$0 = $15; - } - _set_file_offset($f,$previous_safe$0); - $16 = (_vorbis_find_page($f,$end,$last)|0); - $17 = ($16|0)==(0); - do { - if ($17) { - $18 = ((($f)) + 100|0); - HEAP32[$18>>2] = 36; - HEAP32[$3>>2] = -1; - } else { - $19 = (_stb_vorbis_get_file_offset($f)|0); - $20 = HEAP32[$last>>2]|0; - $21 = ($20|0)==(0); - L15: do { - if ($21) { - $last_page_loc$03 = $19; - while(1) { - $22 = HEAP32[$end>>2]|0; - _set_file_offset($f,$22); - $23 = (_vorbis_find_page($f,$end,$last)|0); - $24 = ($23|0)==(0); - if ($24) { - $last_page_loc$0$lcssa = $last_page_loc$03; - break L15; - } - $25 = (_stb_vorbis_get_file_offset($f)|0); - $26 = HEAP32[$last>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - $last_page_loc$03 = $25; - } else { - $last_page_loc$0$lcssa = $25; - break; - } - } - } else { - $last_page_loc$0$lcssa = $19; - } - } while(0); - _set_file_offset($f,$last_page_loc$0$lcssa); - (_getn($f,$header,6)|0); - $28 = (_get32($f)|0); - $29 = (_get32($f)|0); - $30 = $29 & $28; - $31 = ($30|0)==(-1); - if ($31) { - $32 = ((($f)) + 100|0); - HEAP32[$32>>2] = 36; - HEAP32[$3>>2] = -1; - break; - } else { - $33 = ($29|0)==(0); - $$ = $33 ? $28 : -2; - HEAP32[$3>>2] = $$; - $34 = ((($f)) + 68|0); - HEAP32[$34>>2] = $last_page_loc$0$lcssa; - $35 = HEAP32[$end>>2]|0; - $36 = ((($f)) + 72|0); - HEAP32[$36>>2] = $35; - $37 = ((($f)) + 76|0); - HEAP32[$37>>2] = $$; - break; - } - } - } while(0); - _set_file_offset($f,$6); - } - $38 = HEAP32[$3>>2]|0; - $39 = ($38|0)==(-1); - $$2 = $39 ? 0 : $38; - $$0 = $$2; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_stream_length_in_seconds($f) { - $f = $f|0; - var $0 = 0, $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stb_vorbis_stream_length_in_samples($f)|0); - $1 = (+($0>>>0)); - $2 = HEAP32[$f>>2]|0; - $3 = (+($2>>>0)); - $4 = $1 / $3; - return (+$4); -} -function _stb_vorbis_open_file_section($file,$close_on_free,$error,$alloc,$length) { - $file = $file|0; - $close_on_free = $close_on_free|0; - $error = $error|0; - $alloc = $alloc|0; - $length = $length|0; - 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, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1520|0; - $p = sp; - _vorbis_init($p,$alloc); - $0 = ((($p)) + 20|0); - HEAP32[$0>>2] = $file; - $1 = (_ftell($file)|0); - $2 = ((($p)) + 24|0); - HEAP32[$2>>2] = $1; - $3 = ((($p)) + 44|0); - HEAP32[$3>>2] = $length; - $4 = ((($p)) + 28|0); - HEAP32[$4>>2] = $close_on_free; - $5 = (_start_decoder($p)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_vorbis_alloc($p)|0); - $8 = ($7|0)==(0|0); - if (!($8)) { - _memcpy(($7|0),($p|0),1512)|0; - _vorbis_pump_first_frame($7); - $$0 = $7; - STACKTOP = sp;return ($$0|0); } } - $9 = ($error|0)==(0|0); - if (!($9)) { - $10 = ((($p)) + 100|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$error>>2] = $11; - } - _vorbis_deinit($p); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stb_vorbis_open_file($file,$close_on_free,$error,$alloc) { - $file = $file|0; - $close_on_free = $close_on_free|0; - $error = $error|0; - $alloc = $alloc|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_ftell($file)|0); - (_fseek($file,0,2)|0); - $1 = (_ftell($file)|0); - $2 = (($1) - ($0))|0; - (_fseek($file,$0,0)|0); - $3 = (_stb_vorbis_open_file_section($file,$close_on_free,$error,$alloc,$2)|0); - return ($3|0); -} -function _stb_vorbis_open_filename($filename,$error,$alloc) { - $filename = $filename|0; - $error = $error|0; - $alloc = $alloc|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fopen($filename,19026)|0); - $1 = ($0|0)==(0|0); - if (!($1)) { - $2 = (_stb_vorbis_open_file($0,1,$error,$alloc)|0); - $$0 = $2; - return ($$0|0); - } - $3 = ($error|0)==(0|0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - HEAP32[$error>>2] = 6; - $$0 = 0; + _free($0); + $$0 = $6; return ($$0|0); } -function _stb_vorbis_get_samples_short_interleaved($f,$channels,$buffer,$num_shorts) { - $f = $f|0; - $channels = $channels|0; - $buffer = $buffer|0; - $num_shorts = $num_shorts|0; - var $$ = 0, $$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, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n$0 = 0, $n$1 = 0, $outputs = 0, label = 0, sp = 0; +function _stbi__malloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $outputs = sp; - $0 = (($num_shorts|0) / ($channels|0))&-1; - $1 = ((($f)) + 4|0); - $2 = ((($f)) + 1508|0); - $3 = ((($f)) + 1504|0); - $4 = ((($f)) + 800|0); - $$0 = $buffer;$n$0 = 0; - while(1) { - $5 = ($0|0)>($n$0|0); - if (!($5)) { - $n$1 = $n$0; - label = 7; - break; - } - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = (($6) - ($7))|0; - $9 = (($8) + ($n$0))|0; - $10 = ($9|0)<($0|0); - $11 = (($0) - ($n$0))|0; - $$ = $10 ? $8 : $11; - $12 = ($$|0)==(0); - if (!($12)) { - $13 = HEAP32[$1>>2]|0; - _convert_channels_short_interleaved($channels,$$0,$13,$4,$7,$$); - } - $14 = (($$) + ($n$0))|0; - $15 = HEAP32[$3>>2]|0; - $16 = (($15) + ($$))|0; - HEAP32[$3>>2] = $16; - $17 = ($14|0)==($0|0); - if ($17) { - $n$1 = $14; - label = 7; - break; - } - $18 = Math_imul($$, $channels)|0; - $19 = (($$0) + ($18<<1)|0); - $20 = (_stb_vorbis_get_frame_float($f,0,$outputs)|0); - $21 = ($20|0)==(0); - if ($21) { - $n$1 = $14; - label = 7; - break; - } else { - $$0 = $19;$n$0 = $14; - } - } - if ((label|0) == 7) { - STACKTOP = sp;return ($n$1|0); - } - return (0)|0; + $1 = (_malloc($0)|0); + return ($1|0); } -function _stbtt_InitFont($info,$data2,$fontstart) { - $info = $info|0; - $data2 = $data2|0; - $fontstart = $fontstart|0; - var $$0 = 0, $$pr = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 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; - 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, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$06 = 0, label = 0, sp = 0; +function _stbi__png_test($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($info)) + 4|0); - HEAP32[$0>>2] = $data2; - $1 = ((($info)) + 8|0); - HEAP32[$1>>2] = $fontstart; - $2 = (_stbtt__find_table($data2,$fontstart,17028)|0); - $3 = (_stbtt__find_table($data2,$fontstart,17033)|0); - $4 = ((($info)) + 16|0); - HEAP32[$4>>2] = $3; - $5 = (_stbtt__find_table($data2,$fontstart,17038)|0); - $6 = ((($info)) + 20|0); - HEAP32[$6>>2] = $5; - $7 = (_stbtt__find_table($data2,$fontstart,17043)|0); - $8 = ((($info)) + 24|0); - HEAP32[$8>>2] = $7; - $9 = (_stbtt__find_table($data2,$fontstart,17048)|0); - $10 = ((($info)) + 28|0); - HEAP32[$10>>2] = $9; - $11 = (_stbtt__find_table($data2,$fontstart,17053)|0); - $12 = ((($info)) + 32|0); - HEAP32[$12>>2] = $11; - $13 = (_stbtt__find_table($data2,$fontstart,17058)|0); - $14 = ((($info)) + 36|0); - HEAP32[$14>>2] = $13; - $15 = ($2|0)==(0); - if ($15) { - $$0 = 0; - return ($$0|0); + $1 = (_stbi__check_png_header($0)|0); + _stbi__rewind($0); + return ($1|0); +} +function _stbi__png_load($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, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $6 = sp; + HEAP32[$6>>2] = $0; + $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); + STACKTOP = sp;return ($7|0); +} +function _stbi__do_png($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, $$045 = 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, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($4>>>0)>(4); + if ($6) { + _stbi__err(12009); + $$045 = 0; + return ($$045|0); } - $16 = HEAP32[$4>>2]|0; - $17 = ($16|0)==(0); - if ($17) { - $$0 = 0; - return ($$0|0); - } - $18 = HEAP32[$6>>2]|0; - $19 = ($18|0)==(0); - if ($19) { - $$0 = 0; - return ($$0|0); - } - $20 = HEAP32[$8>>2]|0; - $21 = ($20|0)==(0); - if ($21) { - $$0 = 0; - return ($$0|0); - } - $22 = HEAP32[$10>>2]|0; - $23 = ($22|0)==(0); - if ($23) { - $$0 = 0; - return ($$0|0); - } - $24 = HEAP32[$12>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - $$0 = 0; - return ($$0|0); - } - $26 = (_stbtt__find_table($data2,$fontstart,17063)|0); - $27 = ($26|0)==(0); - if ($27) { - $32 = ((($info)) + 12|0); - HEAP32[$32>>2] = 65535; + $7 = (_stbi__parse_png_file($0,0,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$2 = 0; } else { - $$sum5 = (($26) + 4)|0; - $28 = (($data2) + ($$sum5)|0); - $29 = (_ttUSHORT($28)|0); - $30 = $29&65535; - $31 = ((($info)) + 12|0); - HEAP32[$31>>2] = $30; - } - $$sum = (($2) + 2)|0; - $33 = (($data2) + ($$sum)|0); - $34 = (_ttUSHORT($33)|0); - $35 = ((($info)) + 40|0); - HEAP32[$35>>2] = 0; - $36 = ($34<<16>>16)==(0); - if ($36) { - $$0 = 0; - return ($$0|0); - } - $37 = (($2) + 4)|0; - $38 = $34&65535; - $i$06 = 0; - while(1) { - $39 = $i$06 << 3; - $40 = (($37) + ($39))|0; - $41 = (($data2) + ($40)|0); - $42 = (_ttUSHORT($41)|0); - $43 = $42&65535; - L28: do { - switch ($43|0) { - case 3: { - $$sum3 = (($40) + 2)|0; - $44 = (($data2) + ($$sum3)|0); - $45 = (_ttUSHORT($44)|0); - $46 = $45&65535; - switch ($46|0) { - case 10: case 1: { - break; - } - default: { - break L28; - } - } - $$sum4 = (($40) + 4)|0; - $47 = (($data2) + ($$sum4)|0); - $48 = (_ttULONG($47)|0); - $49 = (($48) + ($2))|0; - HEAP32[$35>>2] = $49; - break; - } - case 0: { - $$sum2 = (($40) + 4)|0; - $50 = (($data2) + ($$sum2)|0); - $51 = (_ttULONG($50)|0); - $52 = (($51) + ($2))|0; - HEAP32[$35>>2] = $52; - break; - } - default: { - } - } - } while(0); - $53 = (($i$06) + 1)|0; - $exitcond = ($53|0)==($38|0); - if ($exitcond) { - break; + $9 = ((($0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(8); + $$ = $11 ? $10 : 8; + HEAP32[$5>>2] = $$; + $12 = ((($0)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$12>>2] = 0; + $14 = ($4|0)==(0); + if ($14) { + $$1 = $13; } else { - $i$06 = $53; - } - } - $$pr = HEAP32[$35>>2]|0; - $54 = ($$pr|0)==(0); - if ($54) { - $$0 = 0; - return ($$0|0); - } - $55 = HEAP32[$6>>2]|0; - $$sum1 = (($55) + 50)|0; - $56 = (($data2) + ($$sum1)|0); - $57 = (_ttUSHORT($56)|0); - $58 = $57&65535; - $59 = ((($info)) + 44|0); - HEAP32[$59>>2] = $58; - $$0 = 1; - return ($$0|0); -} -function _stbtt_FindGlyphIndex($info,$unicode_codepoint) { - $info = $info|0; - $unicode_codepoint = $unicode_codepoint|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa50 = 0, $$lcssa50$lcssa = 0, $$neg = 0, $$search$1 = 0, $$sum = 0, $$sum1 = 0, $$sum10 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum19 = 0, $$sum2 = 0, $$sum2$lcssa = 0, $$sum2$lcssa$lcssa = 0; - var $$sum20 = 0, $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum26 = 0, $$sum27 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0, $$sum31 = 0, $$sum32 = 0, $$sum33 = 0, $$sum34 = 0, $$sum4 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0; - var $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 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, $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, $entrySelector$039 = 0, $high$0 = 0, $high$0$lcssa49 = 0, $high$0$ph = 0, $low$0$ph = 0, $search$1$lcssa = 0, $search$138 = 0, $searchRange$040 = 0, $switch = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($info)) + 40|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + ($3)|0); - $5 = (_ttUSHORT($4)|0); - switch ($5<<16>>16) { - case 0: { - $$sum32 = (($3) + 2)|0; - $6 = (($1) + ($$sum32)|0); - $7 = (_ttUSHORT($6)|0); - $8 = $7&65535; - $9 = (($8) + -6)|0; - $10 = ($9|0)>($unicode_codepoint|0); - if (!($10)) { - $$0 = 0; - return ($$0|0); - } - $$sum33 = (($unicode_codepoint) + 6)|0; - $$sum34 = (($$sum33) + ($3))|0; - $11 = (($1) + ($$sum34)|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $$0 = $13; - return ($$0|0); - break; - } - case 6: { - $$sum28 = (($3) + 6)|0; - $14 = (($1) + ($$sum28)|0); - $15 = (_ttUSHORT($14)|0); - $16 = $15&65535; - $17 = ($16>>>0)>($unicode_codepoint>>>0); - if ($17) { - $$0 = 0; - return ($$0|0); - } - $$sum29 = (($3) + 8)|0; - $18 = (($1) + ($$sum29)|0); - $19 = (_ttUSHORT($18)|0); - $20 = $19&65535; - $21 = (($20) + ($16))|0; - $22 = ($21>>>0)>($unicode_codepoint>>>0); - if (!($22)) { - $$0 = 0; - return ($$0|0); - } - $$sum30 = (($3) + 10)|0; - $23 = (($unicode_codepoint) - ($16))|0; - $24 = $23 << 1; - $$sum31 = (($$sum30) + ($24))|0; - $25 = (($1) + ($$sum31)|0); - $26 = (_ttUSHORT($25)|0); - $27 = $26&65535; - $$0 = $27; - return ($$0|0); - break; - } - case 2: { - ___assert_fail((23184|0),(17068|0),1094,(17085|0)); - // unreachable; - break; - } - case 4: { - $$sum5 = (($3) + 6)|0; - $28 = (($1) + ($$sum5)|0); - $29 = (_ttUSHORT($28)|0); - $30 = ($29&65535) >>> 1; - $31 = (($3) + 14)|0; - $32 = ($unicode_codepoint|0)>(65535); - if ($32) { - $$0 = 0; - return ($$0|0); - } - $$sum8 = (($3) + 12)|0; - $33 = (($1) + ($$sum8)|0); - $34 = (_ttUSHORT($33)|0); - $$sum7 = (($3) + 10)|0; - $35 = (($1) + ($$sum7)|0); - $36 = (_ttUSHORT($35)|0); - $37 = ($34&65535) >>> 1; - $38 = $37&65535; - $39 = $38 << 1; - $$sum9 = (($39) + ($31))|0; - $40 = (($1) + ($$sum9)|0); - $41 = (_ttUSHORT($40)|0); - $42 = $41&65535; - $43 = ($42|0)>($unicode_codepoint|0); - $$ = $43 ? $31 : $$sum9; - $44 = (($$) + -2)|0; - $45 = ($36<<16>>16)==(0); - if ($45) { - $search$1$lcssa = $44; - } else { - $$sum6 = (($3) + 8)|0; - $46 = (($1) + ($$sum6)|0); - $47 = (_ttUSHORT($46)|0); - $48 = ($47&65535) >>> 1; - $entrySelector$039 = $36;$search$138 = $44;$searchRange$040 = $48; - while(1) { - $49 = ($searchRange$040&65535) >>> 1; - $50 = $49&65535; - $51 = $50 << 1; - $$sum27 = (($51) + ($search$138))|0; - $52 = (($1) + ($$sum27)|0); - $53 = (_ttUSHORT($52)|0); - $54 = $53&65535; - $55 = ($54|0)<($unicode_codepoint|0); - $$search$1 = $55 ? $$sum27 : $search$138; - $56 = (($entrySelector$039) + -1)<<16>>16; - $57 = ($56<<16>>16)==(0); - if ($57) { - $search$1$lcssa = $$search$1; - break; - } else { - $entrySelector$039 = $56;$search$138 = $$search$1;$searchRange$040 = $49; - } - } - } - $$neg = (-14 - ($3))|0; - $58 = (($$neg) + 2)|0; - $59 = (($58) + ($search$1$lcssa))|0; - $60 = $59 & 131070; - $$sum10 = (($60) + ($31))|0; - $61 = (($1) + ($$sum10)|0); - $62 = (_ttUSHORT($61)|0); - $63 = $62&65535; - $64 = ($63|0)<($unicode_codepoint|0); - if ($64) { - ___assert_fail((17106|0),(17068|0),1130,(17085|0)); - // unreachable; - } - $65 = $30&65535; - $66 = $65 << 1; - $$sum12 = (($3) + 16)|0; - $$sum13 = (($$sum12) + ($66))|0; - $$sum14 = (($$sum13) + ($60))|0; - $67 = (($1) + ($$sum14)|0); - $68 = (_ttUSHORT($67)|0); - $69 = $68&65535; - $70 = ($69|0)>($unicode_codepoint|0); - if ($70) { - $$0 = 0; - return ($$0|0); - } - $71 = ($65*6)|0; - $$sum15 = (($3) + 16)|0; - $$sum16 = (($$sum15) + ($71))|0; - $$sum17 = (($$sum16) + ($60))|0; - $72 = (($1) + ($$sum17)|0); - $73 = (_ttUSHORT($72)|0); - $74 = ($73<<16>>16)==(0); - if ($74) { - $75 = $65 << 2; - $$sum24 = (($3) + 16)|0; - $$sum25 = (($$sum24) + ($75))|0; - $$sum26 = (($$sum25) + ($60))|0; - $76 = (($1) + ($$sum26)|0); - $77 = (_ttSHORT($76)|0); - $78 = $77&65535; - $79 = (($78) + ($unicode_codepoint))|0; - $80 = $79 & 65535; - $$0 = $80; - return ($$0|0); - } else { - $81 = $73&65535; - $82 = (($unicode_codepoint) - ($69))|0; - $83 = $82 << 1; - $$sum19 = (($3) + 16)|0; - $$sum20 = (($$sum19) + ($71))|0; - $$sum21 = (($$sum20) + ($60))|0; - $$sum22 = (($$sum21) + ($83))|0; - $$sum23 = (($$sum22) + ($81))|0; - $84 = (($1) + ($$sum23)|0); - $85 = (_ttUSHORT($84)|0); - $86 = $85&65535; - $$0 = $86; - return ($$0|0); - } - break; - } - default: { - $87 = ($5<<16>>16)==(12); - $88 = $5 & -2; - $switch = ($88<<16>>16)==(12); - if (!($switch)) { - ___assert_fail((23184|0),(17068|0),1165,(17085|0)); - // unreachable; - } - $$sum = (($3) + 12)|0; - $89 = (($1) + ($$sum)|0); - $90 = (_ttULONG($89)|0); - $$sum1 = (($3) + 16)|0; - $high$0$ph = $90;$low$0$ph = 0; - L6: while(1) { - $high$0 = $high$0$ph; - while(1) { - $91 = ($high$0|0)>($low$0$ph|0); - if (!($91)) { - $$0 = 0; - label = 27; - break L6; - } - $92 = (($high$0) - ($low$0$ph))|0; - $93 = $92 >> 1; - $94 = (($93) + ($low$0$ph))|0; - $95 = ($94*12)|0; - $$sum2 = (($$sum1) + ($95))|0; - $96 = (($1) + ($$sum2)|0); - $97 = (_ttULONG($96)|0); - $98 = ($97>>>0)>($unicode_codepoint>>>0); - if ($98) { - $high$0 = $94; - } else { - $$lcssa = $94;$$lcssa50 = $97;$$sum2$lcssa = $$sum2;$high$0$lcssa49 = $high$0; - break; - } - } - $$sum3 = (($$sum2$lcssa) + 4)|0; - $99 = (($1) + ($$sum3)|0); - $100 = (_ttULONG($99)|0); - $101 = ($100>>>0)<($unicode_codepoint>>>0); - $102 = (($$lcssa) + 1)|0; - if ($101) { - $high$0$ph = $high$0$lcssa49;$low$0$ph = $102; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($4|0); + if ($18) { + $$1 = $13; } else { - $$lcssa50$lcssa = $$lcssa50;$$sum2$lcssa$lcssa = $$sum2$lcssa; - break; + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(8); + $21 = ((($15)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$15>>2]|0; + if ($20) { + $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); + $$0 = $24; + } else { + $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); + $$0 = $25; + } + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 12|0); + HEAP32[$27>>2] = $4; + $28 = ($$0|0)==(0|0); + if ($28) { + $$045 = 0; + return ($$045|0); + } else { + $$1 = $$0; + } } } - if ((label|0) == 27) { - return ($$0|0); + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$1>>2] = $30; + $31 = ((($29)) + 4|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$2>>2] = $32; + $33 = ($3|0)==(0|0); + if ($33) { + $$2 = $$1; + } else { + $34 = ((($29)) + 8|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$3>>2] = $35; + $$2 = $$1; } - $$sum4 = (($$sum2$lcssa$lcssa) + 8)|0; - $103 = (($1) + ($$sum4)|0); - $104 = (_ttULONG($103)|0); - if (!($87)) { - $$0 = $104; - return ($$0|0); - } - $105 = (($unicode_codepoint) - ($$lcssa50$lcssa))|0; - $106 = (($105) + ($104))|0; - $$0 = $106; - return ($$0|0); } - } - return (0)|0; + $36 = ((($0)) + 12|0); + $37 = HEAP32[$36>>2]|0; + _free($37); + HEAP32[$36>>2] = 0; + $38 = ((($0)) + 8|0); + $39 = HEAP32[$38>>2]|0; + _free($39); + HEAP32[$38>>2] = 0; + $40 = ((($0)) + 4|0); + $41 = HEAP32[$40>>2]|0; + _free($41); + HEAP32[$40>>2] = 0; + $$045 = $$2; + return ($$045|0); } -function _stbtt_GetGlyphShape($info,$glyph_index,$pvertices) { - $info = $info|0; - $glyph_index = $glyph_index|0; - $pvertices = $pvertices|0; - var $$0 = 0, $$sum = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0, $0 = 0, $1 = 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.0; - var $163 = 0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0, $186 = 0, $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0.0, $195 = 0.0, $196 = 0, $197 = 0, $198 = 0.0, $199 = 0.0; - var $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0.0, $203 = 0.0, $204 = 0, $205 = 0, $206 = 0, $207 = 0.0, $208 = 0.0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0; - var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0, $233 = 0.0, $234 = 0.0; - var $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0.0; - var $253 = 0.0, $254 = 0.0, $255 = 0.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, $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; +function _stbi__parse_png_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0217 = 0, $$0206 = 0, $$0211 = 0, $$0214 = 0, $$0217 = 0, $$0226593 = 0, $$0228 = 0, $$0231 = 0, $$0235 = 0, $$0239591 = 0, $$0241 = 0, $$0245 = 0, $$1207 = 0, $$1212 = 0, $$1215 = 0, $$1218 = 0, $$1227588 = 0, $$1229 = 0, $$1240589 = 0; + var $$1246 = 0, $$2219 = 0, $$2233 = 0, $$2237 = 0, $$2243 = 0, $$254 = 0, $$3209 = 0, $$3220 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 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, $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, $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, $comp$046 = 0, $comp$1 = 0, $comp$2 = 0, $comp_verts = 0, $cx$024 = 0, $cx$1 = 0, $cx$1$lcssa = 0, $cy$025 = 0, $cy$1 = 0, $cy$1$lcssa = 0, $exitcond = 0, $exitcond51 = 0, $exitcond52 = 0, $exitcond53 = 0, $flagcount$043 = 0, $flagcount$1 = 0, $flags$044 = 0; - var $flags$1 = 0, $i$042 = 0, $i$140 = 0, $i$237 = 0, $i$333 = 0, $i$4 = 0, $i$5 = 0, $i2$045 = 0, $j$032 = 0, $j$1 = 0, $mtx$sroa$0$0 = 0.0, $mtx$sroa$15$0 = 0.0, $mtx$sroa$22$0 = 0.0, $mtx$sroa$29$0 = 0.0, $mtx$sroa$33$0 = 0.0, $mtx$sroa$8$0 = 0.0, $next_move$031 = 0, $next_move$1 = 0, $num_vertices$034 = 0, $num_vertices$1 = 0; - var $num_vertices$3 = 0, $num_vertices$3$lcssa = 0, $num_vertices$447 = 0, $num_vertices$5 = 0, $num_vertices$6 = 0, $points$041 = 0, $points$1 = 0, $points$1$lcssa = 0, $points$239 = 0, $points$3 = 0, $points$3$lcssa = 0, $points$436 = 0, $points$5 = 0, $scx$028 = 0, $scx$1 = 0, $scx$2 = 0, $scx$2$lcssa = 0, $scy$029 = 0, $scy$1 = 0, $scy$2 = 0; - var $scy$2$lcssa = 0, $sext = 0, $sext8 = 0, $sqrtf = 0.0, $sqrtf1 = 0.0, $start_off$023 = 0, $start_off$1 = 0, $start_off$1$lcssa = 0, $sx$026 = 0, $sx$1 = 0, $sx$2 = 0, $sx$2$lcssa = 0, $sy$027 = 0, $sy$1 = 0, $sy$2 = 0, $sy$2$lcssa = 0, $vertices$048 = 0, $vertices$048$lcssa60 = 0, $vertices$1 = 0, $vertices$2 = 0; - var $was_off$030 = 0, $was_off$1 = 0, $was_off$1$lcssa = 0, $x$038 = 0, $x$1 = 0, $y$035 = 0, $y$1 = 0, label = 0, sp = 0; + var $97 = 0, $98 = 0, $99 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond248 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $comp_verts = sp; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = (_stbtt__GetGlyfOffset($info,$glyph_index)|0); - HEAP32[$pvertices>>2] = 0; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $3 = sp + 32|0; + $4 = sp + 22|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = HEAP32[$0>>2]|0; + $9 = ((($0)) + 8|0); + HEAP32[$9>>2] = 0; + $10 = ((($0)) + 4|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 12|0); + HEAP32[$11>>2] = 0; + $12 = (_stbi__check_png_header($8)|0); + $13 = ($12|0)==(0); + if ($13) { + $$7 = 0; + STACKTOP = sp;return ($$7|0); + } + $14 = ($1|0)==(1); + if ($14) { + $$7 = 1; + STACKTOP = sp;return ($$7|0); + } + $15 = ((($6)) + 4|0); + $16 = ((($8)) + 4|0); + $17 = ((($0)) + 16|0); + $18 = ((($8)) + 8|0); + $19 = ($1|0)==(2); + $20 = ((($8)) + 8|0); + $21 = ((($8)) + 8|0); + $22 = ((($0)) + 16|0); + $23 = ($1|0)==(2); + $24 = ($1|0)==(2); + $$0206 = 0;$$0211 = 0;$$0214 = 0;$$0217 = 0;$$0228 = 0;$$0231 = 0;$$0235 = 0;$$0241 = 1;$$0245 = 0; + L7: while(1) { + _stbi__get_chunk_header($6,$8); + $25 = HEAP32[$15>>2]|0; + $switch$split2D = ($25|0)<(1229472850); + L9: do { + if ($switch$split2D) { + $switch$split52D = ($25|0)<(1229209940); + if ($switch$split52D) { + switch ($25|0) { + case 1130840649: { + break; + } + default: { + label = 103; + break L9; + } + } + $26 = HEAP32[$6>>2]|0; + _stbi__skip($8,$26); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = 1;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + $switch$split112D = ($25|0)<(1229278788); + if (!($switch$split112D)) { + switch ($25|0) { + case 1229278788: { + label = 85; + break L7; + break; + } + default: { + label = 103; + break L9; + } + } + } + switch ($25|0) { + case 1229209940: { + break; + } + default: { + label = 103; + break L9; + } + } + $130 = ($$0241|0)==(0); + if (!($130)) { + label = 70; + break L7; + } + $131 = ($$0206<<24>>24)==(0); + $132 = ($$0245|0)!=(0); + $or$cond = $132 | $131; + if (!($or$cond)) { + label = 72; + break L7; + } + if ($24) { + label = 74; + break L7; + } + $135 = HEAP32[$6>>2]|0; + $136 = (($135) + ($$0214))|0; + $137 = ($136|0)<($$0214|0); + if ($137) { + $$6$ph = 0; + break L7; + } + $138 = ($136>>>0)>($$0217>>>0); + if ($138) { + $139 = ($$0217|0)==(0); + $140 = ($135>>>0)>(4096); + $141 = $140 ? $135 : 4096; + $$$0217 = $139 ? $141 : $$0217; + $142 = HEAP32[$6>>2]|0; + $143 = (($142) + ($$0214))|0; + $$1218 = $$$0217; + while(1) { + $144 = ($143>>>0)>($$1218>>>0); + $145 = $$1218 << 1; + if ($144) { + $$1218 = $145; + } else { + break; + } + } + $146 = HEAP32[$10>>2]|0; + $147 = (_realloc($146,$$1218)|0); + $148 = ($147|0)==(0|0); + if ($148) { + label = 81; + break L7; + } + HEAP32[$10>>2] = $147; + $$2219 = $$1218; + } else { + $$2219 = $$0217; + } + $149 = HEAP32[$10>>2]|0; + $150 = (($149) + ($$0214)|0); + $151 = HEAP32[$6>>2]|0; + $152 = (_stbi__getn($8,$150,$151)|0); + $153 = ($152|0)==(0); + if ($153) { + label = 83; + break L7; + } + $154 = HEAP32[$6>>2]|0; + $155 = (($154) + ($$0214))|0; + $$1212 = $$0211;$$1215 = $155;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$2219; + } else { + $switch$split82D = ($25|0)<(1347179589); + if ($switch$split82D) { + switch ($25|0) { + case 1229472850: { + break; + } + default: { + label = 103; + break L9; + } + } + $27 = ($$0241|0)==(0); + if ($27) { + label = 7; + break L7; + } + $28 = HEAP32[$6>>2]|0; + $29 = ($28|0)==(13); + if (!($29)) { + label = 9; + break L7; + } + $30 = (_stbi__get32be($8)|0); + HEAP32[$8>>2] = $30; + $31 = ($30>>>0)>(16777216); + if ($31) { + label = 11; + break L7; + } + $32 = (_stbi__get32be($8)|0); + HEAP32[$16>>2] = $32; + $33 = ($32>>>0)>(16777216); + if ($33) { + label = 13; + break L7; + } + $34 = (_stbi__get8($8)|0); + $35 = $34&255; + HEAP32[$17>>2] = $35; + switch ($34<<24>>24) { + case 16: case 8: case 4: case 2: case 1: { + break; + } + default: { + label = 15; + break L7; + } + } + $36 = (_stbi__get8($8)|0); + $37 = $36&255; + $38 = ($36&255)>(6); + if ($38) { + label = 17; + break L7; + } + $39 = ($36<<24>>24)==(3); + if ($39) { + $40 = HEAP32[$17>>2]|0; + $41 = ($40|0)==(16); + if ($41) { + label = 20; + break L7; + } else { + $$1207 = 3; + } + } else { + $42 = $37 & 1; + $43 = ($42|0)==(0); + if ($43) { + $$1207 = $$0206; + } else { + label = 22; + break L7; + } + } + $44 = (_stbi__get8($8)|0); + $45 = ($44<<24>>24)==(0); + if (!($45)) { + label = 24; + break L7; + } + $46 = (_stbi__get8($8)|0); + $47 = ($46<<24>>24)==(0); + if (!($47)) { + label = 26; + break L7; + } + $48 = (_stbi__get8($8)|0); + $49 = $48&255; + $50 = ($48&255)>(1); + if ($50) { + label = 28; + break L7; + } + $51 = HEAP32[$8>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + label = 31; + break L7; + } + $53 = HEAP32[$16>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + label = 31; + break L7; + } + $55 = ($$1207<<24>>24)==(0); + $56 = (1073741824 / ($51>>>0))&-1; + if (!($55)) { + HEAP32[$20>>2] = 1; + $63 = $56 >>> 2; + $64 = ($63>>>0)<($53>>>0); + if ($64) { + label = 37; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = $$1207;$$3220 = $$0217; + break; + } + } + $57 = $37 & 2; + $58 = $57 | 1; + $59 = $37 >>> 2; + $$lobit = $59 & 1; + $60 = (($58) + ($$lobit))|0; + HEAP32[$18>>2] = $60; + $61 = (($56>>>0) / ($60>>>0))&-1; + $62 = ($61>>>0)<($53>>>0); + if ($62) { + label = 34; + break L7; + } + if ($19) { + $$6$ph = 1; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + } + $switch$split142D = ($25|0)<(1951551059); + if ($switch$split142D) { + switch ($25|0) { + case 1347179589: { + break; + } + default: { + label = 103; + break L9; + } + } + $65 = ($$0241|0)==(0); + if (!($65)) { + label = 39; + break L7; + } + $66 = HEAP32[$6>>2]|0; + $67 = ($66>>>0)>(768); + if ($67) { + label = 41; + break L7; + } + $68 = (($66>>>0) / 3)&-1; + $69 = ($68*3)|0; + $70 = ($69|0)==($66|0); + if (!($70)) { + label = 44; + break L7; + } + $71 = ($66>>>0)>(2); + if ($71) { + $$0226593 = 0; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + break; + } + while(1) { + $72 = (_stbi__get8($8)|0); + $73 = $$0226593 << 2; + $74 = (($3) + ($73)|0); + HEAP8[$74>>0] = $72; + $75 = (_stbi__get8($8)|0); + $76 = $73 | 1; + $77 = (($3) + ($76)|0); + HEAP8[$77>>0] = $75; + $78 = (_stbi__get8($8)|0); + $79 = $73 | 2; + $80 = (($3) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = $73 | 3; + $82 = (($3) + ($81)|0); + HEAP8[$82>>0] = -1; + $83 = (($$0226593) + 1)|0; + $84 = ($83>>>0)<($68>>>0); + if ($84) { + $$0226593 = $83; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break L9; + } + } + } + switch ($25|0) { + case 1951551059: { + break; + } + default: { + label = 103; + break L9; + } + } + $85 = ($$0241|0)==(0); + if (!($85)) { + label = 47; + break L7; + } + $86 = HEAP32[$10>>2]|0; + $87 = ($86|0)==(0|0); + if (!($87)) { + label = 49; + break L7; + } + $88 = ($$0206<<24>>24)==(0); + if (!($88)) { + if ($23) { + label = 52; + break L7; + } + $90 = ($$0245|0)==(0); + if ($90) { + label = 54; + break L7; + } + $91 = HEAP32[$6>>2]|0; + $92 = ($91>>>0)>($$0245>>>0); + if ($92) { + label = 58; + break L7; + } + $93 = HEAP32[$6>>2]|0; + $94 = ($93|0)==(0); + if ($94) { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 4;$$3220 = $$0217; + break; + } + $95 = HEAP32[$6>>2]|0; + $$1227588 = 0; + while(1) { + $96 = (_stbi__get8($8)|0); + $97 = $$1227588 << 2; + $98 = $97 | 3; + $99 = (($3) + ($98)|0); + HEAP8[$99>>0] = $96; + $100 = (($$1227588) + 1)|0; + $101 = ($100>>>0)<($95>>>0); + if ($101) { + $$1227588 = $100; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = 4;$$3220 = $$0217; + break L9; + } + } + } + $102 = HEAP32[$21>>2]|0; + $103 = $102 & 1; + $104 = ($103|0)==(0); + if ($104) { + label = 61; + break L7; + } + $105 = HEAP32[$6>>2]|0; + $106 = $102 << 1; + $107 = ($105|0)==($106|0); + if (!($107)) { + label = 63; + break L7; + } + $108 = HEAP32[$22>>2]|0; + $109 = ($108|0)==(16); + $110 = HEAP32[$21>>2]|0; + $111 = ($110|0)>(0); + if ($109) { + if ($111) { + $$0239591 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $112 = (_stbi__get16be($8)|0); + $113 = $112&65535; + $114 = (($5) + ($$0239591<<1)|0); + HEAP16[$114>>1] = $113; + $115 = (($$0239591) + 1)|0; + $116 = HEAP32[$21>>2]|0; + $117 = ($115|0)<($116|0); + if ($117) { + $$0239591 = $115; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } else { + if ($111) { + $$1240589 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $118 = (_stbi__get16be($8)|0); + $119 = $118 & 255; + $120 = HEAP32[$22>>2]|0; + $121 = (12323 + ($120)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $124 = Math_imul($123, $119)|0; + $125 = $124&255; + $126 = (($4) + ($$1240589)|0); + HEAP8[$126>>0] = $125; + $127 = (($$1240589) + 1)|0; + $128 = HEAP32[$21>>2]|0; + $129 = ($127|0)<($128|0); + if ($129) { + $$1240589 = $127; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } + } + } while(0); + if ((label|0) == 103) { + label = 0; + $202 = ($$0241|0)==(0); + if (!($202)) { + label = 104; + break; + } + $203 = $25 & 536870912; + $204 = ($203|0)==(0); + if ($204) { + label = 106; + break; + } + $213 = HEAP32[$6>>2]|0; + _stbi__skip($8,$213); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + } + (_stbi__get32be($8)|0); + $$0206 = $$3209;$$0211 = $$1212;$$0214 = $$1215;$$0217 = $$3220;$$0228 = $$1229;$$0231 = $$2233;$$0235 = $$2237;$$0241 = $$2243;$$0245 = $$1246; + } + switch (label|0) { + case 7: { + _stbi__err(12097); + $$6$ph = 0; + break; + } + case 9: { + _stbi__err(12111); + $$6$ph = 0; + break; + } + case 11: { + _stbi__err(12124); + $$6$ph = 0; + break; + } + case 13: { + _stbi__err(12124); + $$6$ph = 0; + break; + } + case 15: { + _stbi__err(12134); + $$6$ph = 0; + break; + } + case 17: { + _stbi__err(12154); + $$6$ph = 0; + break; + } + case 20: { + _stbi__err(12154); + $$6$ph = 0; + break; + } + case 22: { + _stbi__err(12154); + $$6$ph = 0; + break; + } + case 24: { + _stbi__err(12164); + $$6$ph = 0; + break; + } + case 26: { + _stbi__err(12180); + $$6$ph = 0; + break; + } + case 28: { + _stbi__err(12198); + $$6$ph = 0; + break; + } + case 31: { + _stbi__err(12219); + $$6$ph = 0; + break; + } + case 34: { + _stbi__err(12124); + $$6$ph = 0; + break; + } + case 37: { + _stbi__err(12124); + $$6$ph = 0; + break; + } + case 39: { + _stbi__err(12233); + $$6$ph = 0; + break; + } + case 41: { + _stbi__err(12248); + $$6$ph = 0; + break; + } + case 44: { + _stbi__err(12248); + $$6$ph = 0; + break; + } + case 47: { + _stbi__err(12233); + $$6$ph = 0; + break; + } + case 49: { + _stbi__err(12261); + $$6$ph = 0; + break; + } + case 52: { + $89 = ((($8)) + 8|0); + HEAP32[$89>>2] = 4; + $$6$ph = 1; + break; + } + case 54: { + _stbi__err(12277); + $$6$ph = 0; + break; + } + case 58: { + _stbi__err(12294); + $$6$ph = 0; + break; + } + case 61: { + _stbi__err(12307); + $$6$ph = 0; + break; + } + case 63: { + _stbi__err(12294); + $$6$ph = 0; + break; + } + case 70: { + _stbi__err(12233); + $$6$ph = 0; + break; + } + case 72: { + _stbi__err(12332); + $$6$ph = 0; + break; + } + case 74: { + $133 = $$0206&255; + $134 = ((($8)) + 8|0); + HEAP32[$134>>2] = $133; + $$6$ph = 1; + break; + } + case 81: { + _stbi__err(11981); + $$6$ph = 0; + break; + } + case 83: { + _stbi__err(12340); + $$6$ph = 0; + break; + } + case 85: { + $156 = ($$0241|0)==(0); + do { + if ($156) { + $157 = ($1|0)==(0); + if ($157) { + $158 = HEAP32[$10>>2]|0; + $159 = ($158|0)==(0|0); + if ($159) { + _stbi__err(12350); + $$4 = 0; + break; + } + $160 = HEAP32[$8>>2]|0; + $161 = ((($0)) + 16|0); + $162 = HEAP32[$161>>2]|0; + $163 = Math_imul($162, $160)|0; + $164 = (($163) + 7)|0; + $165 = $164 >>> 3; + $166 = ((($8)) + 4|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($8)) + 8|0); + $169 = HEAP32[$168>>2]|0; + $170 = Math_imul($169, $167)|0; + $171 = Math_imul($170, $165)|0; + $172 = (($171) + ($167))|0; + HEAP32[$7>>2] = $172; + $173 = ($$0228|0)!=(0); + $174 = $173 ^ 1; + $175 = $174&1; + $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0214,$172,$7,$175)|0); + HEAP32[$9>>2] = $176; + $177 = ($176|0)==(0|0); + if ($177) { + $$4 = 0; + } else { + $178 = HEAP32[$10>>2]|0; + _free($178); + HEAP32[$10>>2] = 0; + $179 = HEAP32[$168>>2]|0; + $180 = (($179) + 1)|0; + $notlhs = ($180|0)!=($2|0); + $notrhs = ($2|0)==(3); + $or$cond5$not = $notrhs | $notlhs; + $181 = ($$0206<<24>>24)!=(0); + $or$cond7 = $181 | $or$cond5$not; + $182 = ($$0211<<24>>24)==(0); + $or$cond248 = $182 & $or$cond7; + $$254 = $or$cond248 ? $179 : $180; + $183 = ((($8)) + 12|0); + HEAP32[$183>>2] = $$254; + $184 = HEAP32[$9>>2]|0; + $185 = HEAP32[$7>>2]|0; + $186 = HEAP32[$161>>2]|0; + $187 = (_stbi__create_png_image($0,$184,$185,$$254,$186,$$0231,$$0235)|0); + $188 = ($187|0)==(0); + if ($188) { + $$4 = 0; + } else { + do { + if (!($182)) { + $189 = HEAP32[$161>>2]|0; + $190 = ($189|0)==(16); + if ($190) { + $191 = HEAP32[$183>>2]|0; + _stbi__compute_transparency16($0,$5,$191); + break; + } else { + $192 = HEAP32[$183>>2]|0; + _stbi__compute_transparency($0,$4,$192); + break; + } + } + } while(0); + $193 = HEAP32[7534]|0; + $194 = ($193|0)!=(0); + $or$cond11 = $173 & $194; + if ($or$cond11) { + $195 = HEAP32[$183>>2]|0; + $196 = ($195|0)>(2); + if ($196) { + _stbi__de_iphone($0); + } + } + if ($181) { + $197 = $$0206&255; + HEAP32[$168>>2] = $197; + $198 = ($2|0)>(2); + $$ = $198 ? $2 : $197; + HEAP32[$183>>2] = $$; + $199 = (_stbi__expand_png_palette($0,$3,$$)|0); + $200 = ($199|0)==(0); + if ($200) { + $$4 = 0; + break; + } + } + $201 = HEAP32[$9>>2]|0; + _free($201); + HEAP32[$9>>2] = 0; + $$4 = 1; + } + } + } else { + $$4 = 1; + } + } else { + _stbi__err(12233); + $$4 = 0; + } + } while(0); + $$6$ph = $$4; + break; + } + case 104: { + _stbi__err(12233); + $$6$ph = 0; + break; + } + case 106: { + $205 = $25 >>> 24; + $206 = $205&255; + HEAP8[12358] = $206; + $207 = HEAP32[$15>>2]|0; + $208 = $207 >>> 16; + $209 = $208&255; + HEAP8[(12359)>>0] = $209; + $210 = $207 >>> 8; + $211 = $210&255; + HEAP8[(12360)>>0] = $211; + $212 = $207&255; + HEAP8[(12361)>>0] = $212; + _stbi__err(12358); + $$6$ph = 0; + break; + } + } + $$7 = $$6$ph; + STACKTOP = sp;return ($$7|0); +} +function _stbi__convert_format($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 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, $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, $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; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((12022|0),(11926|0),1477,(12076|0)); + // unreachable; + } + $7 = (_stbi__malloc_mad3($2,$3,$4)|0); + $8 = ($7|0)==(0|0); + if ($8) { + _free($0); + _stbi__err(11981); + $$0163 = 0; + return ($$0163|0); + } + $9 = ($4|0)>(0); + L11: do { + if ($9) { + $10 = $1 << 3; + $11 = (($10) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $12 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $13 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $14 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $15 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $16 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $17 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $18 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $19 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $20 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $21 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $22 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $23 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $24 = Math_imul($$0164259, $3)|0; + $25 = Math_imul($24, $1)|0; + $26 = (($0) + ($25)|0); + $27 = Math_imul($24, $2)|0; + $28 = (($7) + ($27)|0); + do { + switch ($11|0) { + case 10: { + if ($12) { + $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; + while(1) { + $29 = HEAP8[$$0151255>>0]|0; + HEAP8[$$0256>>0] = $29; + $30 = ((($$0256)) + 1|0); + HEAP8[$30>>0] = -1; + $31 = ((($$0151255)) + 1|0); + $32 = ((($$0256)) + 2|0); + $$0165 = (($$0165257) + -1)|0; + $33 = ($$0165|0)>(-1); + if ($33) { + $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; + } else { + break; + } + } + } + break; + } + case 11: { + if ($13) { + $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; + while(1) { + $34 = HEAP8[$$1152250>>0]|0; + $35 = ((($$1251)) + 2|0); + HEAP8[$35>>0] = $34; + $36 = ((($$1251)) + 1|0); + HEAP8[$36>>0] = $34; + HEAP8[$$1251>>0] = $34; + $37 = ((($$1152250)) + 1|0); + $38 = ((($$1251)) + 3|0); + $$1166 = (($$1166252) + -1)|0; + $39 = ($$1166|0)>(-1); + if ($39) { + $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; + } else { + break; + } + } + } + break; + } + case 12: { + if ($14) { + $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; + while(1) { + $40 = HEAP8[$$2153245>>0]|0; + $41 = ((($$2246)) + 2|0); + HEAP8[$41>>0] = $40; + $42 = ((($$2246)) + 1|0); + HEAP8[$42>>0] = $40; + HEAP8[$$2246>>0] = $40; + $43 = ((($$2246)) + 3|0); + HEAP8[$43>>0] = -1; + $44 = ((($$2153245)) + 1|0); + $45 = ((($$2246)) + 4|0); + $$2167 = (($$2167247) + -1)|0; + $46 = ($$2167|0)>(-1); + if ($46) { + $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; + } else { + break; + } + } + } + break; + } + case 17: { + if ($15) { + $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; + while(1) { + $47 = HEAP8[$$3154240>>0]|0; + HEAP8[$$3241>>0] = $47; + $48 = ((($$3154240)) + 2|0); + $49 = ((($$3241)) + 1|0); + $$3168 = (($$3168242) + -1)|0; + $50 = ($$3168|0)>(-1); + if ($50) { + $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; + } else { + break; + } + } + } + break; + } + case 19: { + if ($16) { + $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; + while(1) { + $51 = HEAP8[$$4155235>>0]|0; + $52 = ((($$4236)) + 2|0); + HEAP8[$52>>0] = $51; + $53 = ((($$4236)) + 1|0); + HEAP8[$53>>0] = $51; + HEAP8[$$4236>>0] = $51; + $54 = ((($$4155235)) + 2|0); + $55 = ((($$4236)) + 3|0); + $$4169 = (($$4169237) + -1)|0; + $56 = ($$4169|0)>(-1); + if ($56) { + $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; + } else { + break; + } + } + } + break; + } + case 20: { + if ($17) { + $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; + while(1) { + $57 = HEAP8[$$5156230>>0]|0; + $58 = ((($$5231)) + 2|0); + HEAP8[$58>>0] = $57; + $59 = ((($$5231)) + 1|0); + HEAP8[$59>>0] = $57; + HEAP8[$$5231>>0] = $57; + $60 = ((($$5156230)) + 1|0); + $61 = HEAP8[$60>>0]|0; + $62 = ((($$5231)) + 3|0); + HEAP8[$62>>0] = $61; + $63 = ((($$5156230)) + 2|0); + $64 = ((($$5231)) + 4|0); + $$5170 = (($$5170232) + -1)|0; + $65 = ($$5170|0)>(-1); + if ($65) { + $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; + } else { + break; + } + } + } + break; + } + case 28: { + if ($18) { + $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; + while(1) { + $66 = HEAP8[$$6157225>>0]|0; + HEAP8[$$6226>>0] = $66; + $67 = ((($$6157225)) + 1|0); + $68 = HEAP8[$67>>0]|0; + $69 = ((($$6226)) + 1|0); + HEAP8[$69>>0] = $68; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP8[$70>>0]|0; + $72 = ((($$6226)) + 2|0); + HEAP8[$72>>0] = $71; + $73 = ((($$6226)) + 3|0); + HEAP8[$73>>0] = -1; + $74 = ((($$6157225)) + 3|0); + $75 = ((($$6226)) + 4|0); + $$6171 = (($$6171227) + -1)|0; + $76 = ($$6171|0)>(-1); + if ($76) { + $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; + } else { + break; + } + } + } + break; + } + case 25: { + if ($19) { + $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; + while(1) { + $77 = HEAP8[$$7158220>>0]|0; + $78 = $77&255; + $79 = ((($$7158220)) + 1|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = (_stbi__compute_y($78,$81,$84)|0); + HEAP8[$$7221>>0] = $85; + $86 = ((($$7158220)) + 3|0); + $87 = ((($$7221)) + 1|0); + $$7172 = (($$7172222) + -1)|0; + $88 = ($$7172|0)>(-1); + if ($88) { + $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; + } else { + break; + } + } + } + break; + } + case 26: { + if ($20) { + $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; + while(1) { + $89 = HEAP8[$$8159215>>0]|0; + $90 = $89&255; + $91 = ((($$8159215)) + 1|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = (_stbi__compute_y($90,$93,$96)|0); + HEAP8[$$8216>>0] = $97; + $98 = ((($$8216)) + 1|0); + HEAP8[$98>>0] = -1; + $99 = ((($$8159215)) + 3|0); + $100 = ((($$8216)) + 2|0); + $$8173 = (($$8173217) + -1)|0; + $101 = ($$8173|0)>(-1); + if ($101) { + $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; + } else { + break; + } + } + } + break; + } + case 33: { + if ($21) { + $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; + while(1) { + $102 = HEAP8[$$9160210>>0]|0; + $103 = $102&255; + $104 = ((($$9160210)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105&255; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (_stbi__compute_y($103,$106,$109)|0); + HEAP8[$$9211>>0] = $110; + $111 = ((($$9160210)) + 4|0); + $112 = ((($$9211)) + 1|0); + $$9174 = (($$9174212) + -1)|0; + $113 = ($$9174|0)>(-1); + if ($113) { + $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; + } else { + break; + } + } + } + break; + } + case 34: { + if ($22) { + $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; + while(1) { + $114 = HEAP8[$$10161205>>0]|0; + $115 = $114&255; + $116 = ((($$10161205)) + 1|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120&255; + $122 = (_stbi__compute_y($115,$118,$121)|0); + HEAP8[$$10206>>0] = $122; + $123 = ((($$10161205)) + 3|0); + $124 = HEAP8[$123>>0]|0; + $125 = ((($$10206)) + 1|0); + HEAP8[$125>>0] = $124; + $126 = ((($$10161205)) + 4|0); + $127 = ((($$10206)) + 2|0); + $$10175 = (($$10175207) + -1)|0; + $128 = ($$10175|0)>(-1); + if ($128) { + $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; + } else { + break; + } + } + } + break; + } + case 35: { + if ($23) { + $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; + while(1) { + $129 = HEAP8[$$11162201>>0]|0; + HEAP8[$$11202>>0] = $129; + $130 = ((($$11162201)) + 1|0); + $131 = HEAP8[$130>>0]|0; + $132 = ((($$11202)) + 1|0); + HEAP8[$132>>0] = $131; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP8[$133>>0]|0; + $135 = ((($$11202)) + 2|0); + HEAP8[$135>>0] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = ((($$11202)) + 3|0); + $$11176 = (($$11176203) + -1)|0; + $138 = ($$11176|0)>(-1); + if ($138) { + $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $139 = (($$0164259) + 1)|0; + $140 = ($139|0)<($4|0); + if ($140) { + $$0164259 = $139; + } else { + break L11; + } + } + ___assert_fail((17086|0),(11926|0),1506,(12076|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $7; + return ($$0163|0); +} +function _stbi__convert_format16($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 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, $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, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((12022|0),(11926|0),1526,(12053|0)); + // unreachable; + } + $7 = $2 << 1; + $8 = Math_imul($7, $3)|0; + $9 = Math_imul($8, $4)|0; + $10 = (_stbi__malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _free($0); + _stbi__err(11981); + $$0163 = 0; + return ($$0163|0); + } + $12 = ($4|0)>(0); + L11: do { + if ($12) { + $13 = $1 << 3; + $14 = (($13) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $15 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $16 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $17 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $18 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $19 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $20 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $21 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $22 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $23 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $24 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $25 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $26 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $27 = Math_imul($$0164259, $3)|0; + $28 = Math_imul($27, $1)|0; + $29 = (($0) + ($28<<1)|0); + $30 = Math_imul($27, $2)|0; + $31 = (($10) + ($30<<1)|0); + do { + switch ($14|0) { + case 10: { + if ($15) { + $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; + while(1) { + $32 = HEAP16[$$0151255>>1]|0; + HEAP16[$$0256>>1] = $32; + $33 = ((($$0256)) + 2|0); + HEAP16[$33>>1] = -1; + $34 = ((($$0151255)) + 2|0); + $35 = ((($$0256)) + 4|0); + $$0165 = (($$0165257) + -1)|0; + $36 = ($$0165|0)>(-1); + if ($36) { + $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; + } else { + break; + } + } + } + break; + } + case 11: { + if ($16) { + $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; + while(1) { + $37 = HEAP16[$$1152250>>1]|0; + $38 = ((($$1251)) + 4|0); + HEAP16[$38>>1] = $37; + $39 = ((($$1251)) + 2|0); + HEAP16[$39>>1] = $37; + HEAP16[$$1251>>1] = $37; + $40 = ((($$1152250)) + 2|0); + $41 = ((($$1251)) + 6|0); + $$1166 = (($$1166252) + -1)|0; + $42 = ($$1166|0)>(-1); + if ($42) { + $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; + } else { + break; + } + } + } + break; + } + case 12: { + if ($17) { + $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; + while(1) { + $43 = HEAP16[$$2153245>>1]|0; + $44 = ((($$2246)) + 4|0); + HEAP16[$44>>1] = $43; + $45 = ((($$2246)) + 2|0); + HEAP16[$45>>1] = $43; + HEAP16[$$2246>>1] = $43; + $46 = ((($$2246)) + 6|0); + HEAP16[$46>>1] = -1; + $47 = ((($$2153245)) + 2|0); + $48 = ((($$2246)) + 8|0); + $$2167 = (($$2167247) + -1)|0; + $49 = ($$2167|0)>(-1); + if ($49) { + $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; + } else { + break; + } + } + } + break; + } + case 17: { + if ($18) { + $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; + while(1) { + $50 = HEAP16[$$3154240>>1]|0; + HEAP16[$$3241>>1] = $50; + $51 = ((($$3154240)) + 4|0); + $52 = ((($$3241)) + 2|0); + $$3168 = (($$3168242) + -1)|0; + $53 = ($$3168|0)>(-1); + if ($53) { + $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; + } else { + break; + } + } + } + break; + } + case 19: { + if ($19) { + $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; + while(1) { + $54 = HEAP16[$$4155235>>1]|0; + $55 = ((($$4236)) + 4|0); + HEAP16[$55>>1] = $54; + $56 = ((($$4236)) + 2|0); + HEAP16[$56>>1] = $54; + HEAP16[$$4236>>1] = $54; + $57 = ((($$4155235)) + 4|0); + $58 = ((($$4236)) + 6|0); + $$4169 = (($$4169237) + -1)|0; + $59 = ($$4169|0)>(-1); + if ($59) { + $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; + } else { + break; + } + } + } + break; + } + case 20: { + if ($20) { + $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; + while(1) { + $60 = HEAP16[$$5156230>>1]|0; + $61 = ((($$5231)) + 4|0); + HEAP16[$61>>1] = $60; + $62 = ((($$5231)) + 2|0); + HEAP16[$62>>1] = $60; + HEAP16[$$5231>>1] = $60; + $63 = ((($$5156230)) + 2|0); + $64 = HEAP16[$63>>1]|0; + $65 = ((($$5231)) + 6|0); + HEAP16[$65>>1] = $64; + $66 = ((($$5156230)) + 4|0); + $67 = ((($$5231)) + 8|0); + $$5170 = (($$5170232) + -1)|0; + $68 = ($$5170|0)>(-1); + if ($68) { + $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; + } else { + break; + } + } + } + break; + } + case 28: { + if ($21) { + $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; + while(1) { + $69 = HEAP16[$$6157225>>1]|0; + HEAP16[$$6226>>1] = $69; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP16[$70>>1]|0; + $72 = ((($$6226)) + 2|0); + HEAP16[$72>>1] = $71; + $73 = ((($$6157225)) + 4|0); + $74 = HEAP16[$73>>1]|0; + $75 = ((($$6226)) + 4|0); + HEAP16[$75>>1] = $74; + $76 = ((($$6226)) + 6|0); + HEAP16[$76>>1] = -1; + $77 = ((($$6157225)) + 6|0); + $78 = ((($$6226)) + 8|0); + $$6171 = (($$6171227) + -1)|0; + $79 = ($$6171|0)>(-1); + if ($79) { + $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; + } else { + break; + } + } + } + break; + } + case 25: { + if ($22) { + $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; + while(1) { + $80 = HEAP16[$$7158220>>1]|0; + $81 = $80&65535; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP16[$82>>1]|0; + $84 = $83&65535; + $85 = ((($$7158220)) + 4|0); + $86 = HEAP16[$85>>1]|0; + $87 = $86&65535; + $88 = (_stbi__compute_y_16($81,$84,$87)|0); + HEAP16[$$7221>>1] = $88; + $89 = ((($$7158220)) + 6|0); + $90 = ((($$7221)) + 2|0); + $$7172 = (($$7172222) + -1)|0; + $91 = ($$7172|0)>(-1); + if ($91) { + $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; + } else { + break; + } + } + } + break; + } + case 26: { + if ($23) { + $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; + while(1) { + $92 = HEAP16[$$8159215>>1]|0; + $93 = $92&65535; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP16[$94>>1]|0; + $96 = $95&65535; + $97 = ((($$8159215)) + 4|0); + $98 = HEAP16[$97>>1]|0; + $99 = $98&65535; + $100 = (_stbi__compute_y_16($93,$96,$99)|0); + HEAP16[$$8216>>1] = $100; + $101 = ((($$8216)) + 2|0); + HEAP16[$101>>1] = -1; + $102 = ((($$8159215)) + 6|0); + $103 = ((($$8216)) + 4|0); + $$8173 = (($$8173217) + -1)|0; + $104 = ($$8173|0)>(-1); + if ($104) { + $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; + } else { + break; + } + } + } + break; + } + case 33: { + if ($24) { + $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; + while(1) { + $105 = HEAP16[$$9160210>>1]|0; + $106 = $105&65535; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP16[$107>>1]|0; + $109 = $108&65535; + $110 = ((($$9160210)) + 4|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111&65535; + $113 = (_stbi__compute_y_16($106,$109,$112)|0); + HEAP16[$$9211>>1] = $113; + $114 = ((($$9160210)) + 8|0); + $115 = ((($$9211)) + 2|0); + $$9174 = (($$9174212) + -1)|0; + $116 = ($$9174|0)>(-1); + if ($116) { + $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; + } else { + break; + } + } + } + break; + } + case 34: { + if ($25) { + $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; + while(1) { + $117 = HEAP16[$$10161205>>1]|0; + $118 = $117&65535; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120&65535; + $122 = ((($$10161205)) + 4|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123&65535; + $125 = (_stbi__compute_y_16($118,$121,$124)|0); + HEAP16[$$10206>>1] = $125; + $126 = ((($$10161205)) + 6|0); + $127 = HEAP16[$126>>1]|0; + $128 = ((($$10206)) + 2|0); + HEAP16[$128>>1] = $127; + $129 = ((($$10161205)) + 8|0); + $130 = ((($$10206)) + 4|0); + $$10175 = (($$10175207) + -1)|0; + $131 = ($$10175|0)>(-1); + if ($131) { + $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; + } else { + break; + } + } + } + break; + } + case 35: { + if ($26) { + $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; + while(1) { + $132 = HEAP16[$$11162201>>1]|0; + HEAP16[$$11202>>1] = $132; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP16[$133>>1]|0; + $135 = ((($$11202)) + 2|0); + HEAP16[$135>>1] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = HEAP16[$136>>1]|0; + $138 = ((($$11202)) + 4|0); + HEAP16[$138>>1] = $137; + $139 = ((($$11162201)) + 8|0); + $140 = ((($$11202)) + 6|0); + $$11176 = (($$11176203) + -1)|0; + $141 = ($$11176|0)>(-1); + if ($141) { + $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $142 = (($$0164259) + 1)|0; + $143 = ($142|0)<($4|0); + if ($143) { + $$0164259 = $142; + } else { + break L11; + } + } + ___assert_fail((17086|0),(11926|0),1555,(12053|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $10; + return ($$0163|0); +} +function _stbi__compute_y_16($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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&65535; + return ($9|0); +} +function _stbi__malloc_mad3($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, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + $5 = Math_imul($1, $0)|0; + $6 = Math_imul($5, $2)|0; + $7 = (_stbi__malloc($6)|0); + $$0 = $7; + return ($$0|0); +} +function _stbi__compute_y($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, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&255; + return ($9|0); +} +function _stbi__mad3sizes_valid($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mul2sizes_valid($0,$1)|0); + $4 = ($3|0)==(0); + if ($4) { + $12 = 0; + } else { + $5 = Math_imul($1, $0)|0; + $6 = (_stbi__mul2sizes_valid($5,$2)|0); + $7 = ($6|0)==(0); + if ($7) { + $12 = 0; + } else { + $8 = Math_imul($5, $2)|0; + $9 = (_stbi__addsizes_valid($8)|0); + $10 = ($9|0)!=(0); + $12 = $10; + } + } + $11 = $12&1; + return ($11|0); +} +function _stbi__mul2sizes_valid($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 = $1 | $0; $3 = ($2|0)<(0); if ($3) { $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $4 = (($1) + ($2)|0); - $5 = (_ttSHORT($4)|0); - $6 = ($5<<16>>16)>(0); - L4: do { - if ($6) { - $7 = $5 << 16 >> 16; - $$sum2 = (($2) + 10)|0; - $8 = $7 << 1; - $$sum3 = (($8) + ($$sum2))|0; - $9 = (($1) + ($$sum3)|0); - $10 = (_ttUSHORT($9)|0); - $$sum6 = (($$sum3) + -2)|0; - $11 = (($1) + ($$sum6)|0); - $12 = (_ttUSHORT($11)|0); - $13 = $12&65535; - $14 = (($13) + 1)|0; - $15 = (($14) + ($8))|0; - $16 = ($15*10)|0; - $17 = (_malloc($16)|0); - $18 = ($17|0)==(0|0); - if ($18) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $$sum4 = (($$sum3) + 2)|0; - $19 = $10&65535; - $$sum5 = (($$sum4) + ($19))|0; - $20 = (($1) + ($$sum5)|0); - $21 = $12&65535; - $flagcount$043 = 0;$flags$044 = 0;$i$042 = 0;$points$041 = $20; - while(1) { - $23 = ($flagcount$043<<24>>24)==(0); - if ($23) { - $24 = ((($points$041)) + 1|0); - $25 = HEAP8[$points$041>>0]|0; - $26 = $25 & 8; - $27 = ($26<<24>>24)==(0); - if ($27) { - $flagcount$1 = 0;$flags$1 = $25;$points$1 = $24; - } else { - $28 = ((($points$041)) + 2|0); - $29 = HEAP8[$24>>0]|0; - $flagcount$1 = $29;$flags$1 = $25;$points$1 = $28; - } - } else { - $30 = (($flagcount$043) + -1)<<24>>24; - $flagcount$1 = $30;$flags$1 = $flags$044;$points$1 = $points$041; - } - $31 = (($i$042) + ($8))|0; - $32 = (((($17) + (($31*10)|0)|0)) + 8|0); - HEAP8[$32>>0] = $flags$1; - $33 = (($i$042) + 1)|0; - $exitcond52 = ($i$042|0)==($21|0); - if ($exitcond52) { - $points$1$lcssa = $points$1; - break; - } else { - $flagcount$043 = $flagcount$1;$flags$044 = $flags$1;$i$042 = $33;$points$041 = $points$1; - } - } - $22 = $12&65535; - $i$140 = 0;$points$239 = $points$1$lcssa;$x$038 = 0; - while(1) { - $35 = (($i$140) + ($8))|0; - $36 = (((($17) + (($35*10)|0)|0)) + 8|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = $38 & 2; - $40 = ($39|0)==(0); - if ($40) { - $49 = $38 & 16; - $50 = ($49|0)==(0); - if ($50) { - $51 = HEAP8[$points$239>>0]|0; - $52 = $51&255; - $53 = $52 << 8; - $54 = ((($points$239)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = $53 | $56; - $sext8 = $57 << 16; - $58 = $sext8 >> 16; - $59 = (($58) + ($x$038))|0; - $60 = ((($points$239)) + 2|0); - $points$3 = $60;$x$1 = $59; - } else { - $points$3 = $points$239;$x$1 = $x$038; - } - } else { - $41 = ((($points$239)) + 1|0); - $42 = HEAP8[$points$239>>0]|0; - $43 = $38 & 16; - $44 = ($43|0)!=(0); - $45 = $42&255; - $46 = (0 - ($45))|0; - $47 = $44 ? $45 : $46; - $48 = (($47) + ($x$038))|0; - $points$3 = $41;$x$1 = $48; - } - $61 = $x$1&65535; - $62 = (($17) + (($35*10)|0)|0); - HEAP16[$62>>1] = $61; - $63 = (($i$140) + 1)|0; - $exitcond51 = ($i$140|0)==($22|0); - if ($exitcond51) { - $points$3$lcssa = $points$3; - break; - } else { - $i$140 = $63;$points$239 = $points$3;$x$038 = $x$1; - } - } - $34 = $12&65535; - $i$237 = 0;$points$436 = $points$3$lcssa;$y$035 = 0; - while(1) { - $64 = (($i$237) + ($8))|0; - $65 = (((($17) + (($64*10)|0)|0)) + 8|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = $67 & 4; - $69 = ($68|0)==(0); - if ($69) { - $78 = $67 & 32; - $79 = ($78|0)==(0); - if ($79) { - $80 = HEAP8[$points$436>>0]|0; - $81 = $80&255; - $82 = $81 << 8; - $83 = ((($points$436)) + 1|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $82 | $85; - $sext = $86 << 16; - $87 = $sext >> 16; - $88 = (($87) + ($y$035))|0; - $89 = ((($points$436)) + 2|0); - $points$5 = $89;$y$1 = $88; - } else { - $points$5 = $points$436;$y$1 = $y$035; - } - } else { - $70 = ((($points$436)) + 1|0); - $71 = HEAP8[$points$436>>0]|0; - $72 = $67 & 32; - $73 = ($72|0)!=(0); - $74 = $71&255; - $75 = (0 - ($74))|0; - $76 = $73 ? $74 : $75; - $77 = (($76) + ($y$035))|0; - $points$5 = $70;$y$1 = $77; - } - $90 = $y$1&65535; - $91 = (((($17) + (($64*10)|0)|0)) + 2|0); - HEAP16[$91>>1] = $90; - $92 = (($i$237) + 1)|0; - $exitcond = ($i$237|0)==($34|0); - if ($exitcond) { - $cx$024 = 0;$cy$025 = 0;$i$333 = 0;$j$032 = 0;$next_move$031 = 0;$num_vertices$034 = 0;$scx$028 = 0;$scy$029 = 0;$start_off$023 = 0;$sx$026 = 0;$sy$027 = 0;$was_off$030 = 0; - break; - } else { - $i$237 = $92;$points$436 = $points$5;$y$035 = $y$1; - } - } - while(1) { - $93 = (($i$333) + ($8))|0; - $94 = (((($17) + (($93*10)|0)|0)) + 8|0); - $95 = HEAP8[$94>>0]|0; - $96 = (($17) + (($93*10)|0)|0); - $97 = HEAP16[$96>>1]|0; - $98 = $97 << 16 >> 16; - $99 = (((($17) + (($93*10)|0)|0)) + 2|0); - $100 = HEAP16[$99>>1]|0; - $101 = $100 << 16 >> 16; - $102 = ($next_move$031|0)==($i$333|0); - do { - if ($102) { - $103 = ($i$333|0)==(0); - if ($103) { - $num_vertices$1 = $num_vertices$034; - } else { - $104 = (_stbtt__close_shape($17,$num_vertices$034,$was_off$030,$start_off$023,$sx$026,$sy$027,$scx$028,$scy$029,$cx$024,$cy$025)|0); - $num_vertices$1 = $104; - } - $105 = $95 & 1; - $106 = ($105<<24>>24)==(0); - $107 = $105 ^ 1; - $108 = $107&255; - do { - if ($106) { - $109 = (($93) + 1)|0; - $110 = (((($17) + (($109*10)|0)|0)) + 8|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111 & 1; - $113 = ($112<<24>>24)==(0); - $114 = (($17) + (($109*10)|0)|0); - $115 = HEAP16[$114>>1]|0; - $116 = $115 << 16 >> 16; - if ($113) { - $117 = (($116) + ($98))|0; - $118 = $117 >> 1; - $119 = (((($17) + (($109*10)|0)|0)) + 2|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120 << 16 >> 16; - $122 = (($121) + ($101))|0; - $123 = $122 >> 1; - $i$4 = $i$333;$scx$1 = $98;$scy$1 = $101;$sx$1 = $118;$sy$1 = $123; - break; - } else { - $124 = (((($17) + (($109*10)|0)|0)) + 2|0); - $125 = HEAP16[$124>>1]|0; - $126 = $125 << 16 >> 16; - $127 = (($i$333) + 1)|0; - $i$4 = $127;$scx$1 = $98;$scy$1 = $101;$sx$1 = $116;$sy$1 = $126; - break; - } - } else { - $i$4 = $i$333;$scx$1 = $scx$028;$scy$1 = $scy$029;$sx$1 = $98;$sy$1 = $101; - } - } while(0); - $128 = (($num_vertices$1) + 1)|0; - $129 = (($17) + (($num_vertices$1*10)|0)|0); - _stbtt_setvertex($129,1,$sx$1,$sy$1,0,0); - $130 = $j$032 << 1; - $$sum7 = (($130) + ($$sum2))|0; - $131 = (($1) + ($$sum7)|0); - $132 = (_ttUSHORT($131)|0); - $133 = $132&65535; - $134 = (($133) + 1)|0; - $135 = (($j$032) + 1)|0; - $cx$1 = $cx$024;$cy$1 = $cy$025;$i$5 = $i$4;$j$1 = $135;$next_move$1 = $134;$num_vertices$3 = $128;$scx$2 = $scx$1;$scy$2 = $scy$1;$start_off$1 = $108;$sx$2 = $sx$1;$sy$2 = $sy$1;$was_off$1 = 0; - } else { - $136 = $95 & 1; - $137 = ($136<<24>>24)==(0); - $138 = ($was_off$030|0)!=(0); - if ($137) { - if (!($138)) { - $cx$1 = $98;$cy$1 = $101;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $num_vertices$034;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 1; - break; - } - $139 = (($num_vertices$034) + 1)|0; - $140 = (($17) + (($num_vertices$034*10)|0)|0); - $141 = (($98) + ($cx$024))|0; - $142 = $141 >> 1; - $143 = (($101) + ($cy$025))|0; - $144 = $143 >> 1; - _stbtt_setvertex($140,3,$142,$144,$cx$024,$cy$025); - $cx$1 = $98;$cy$1 = $101;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $139;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 1; - break; - } - $145 = (($num_vertices$034) + 1)|0; - $146 = (($17) + (($num_vertices$034*10)|0)|0); - if ($138) { - _stbtt_setvertex($146,3,$98,$101,$cx$024,$cy$025); - $cx$1 = $cx$024;$cy$1 = $cy$025;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $145;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 0; - break; - } else { - _stbtt_setvertex($146,2,$98,$101,0,0); - $cx$1 = $cx$024;$cy$1 = $cy$025;$i$5 = $i$333;$j$1 = $j$032;$next_move$1 = $next_move$031;$num_vertices$3 = $145;$scx$2 = $scx$028;$scy$2 = $scy$029;$start_off$1 = $start_off$023;$sx$2 = $sx$026;$sy$2 = $sy$027;$was_off$1 = 0; - break; - } - } - } while(0); - $147 = (($i$5) + 1)|0; - $148 = ($147|0)<($14|0); - if ($148) { - $cx$024 = $cx$1;$cy$025 = $cy$1;$i$333 = $147;$j$032 = $j$1;$next_move$031 = $next_move$1;$num_vertices$034 = $num_vertices$3;$scx$028 = $scx$2;$scy$029 = $scy$2;$start_off$023 = $start_off$1;$sx$026 = $sx$2;$sy$027 = $sy$2;$was_off$030 = $was_off$1; - } else { - $cx$1$lcssa = $cx$1;$cy$1$lcssa = $cy$1;$num_vertices$3$lcssa = $num_vertices$3;$scx$2$lcssa = $scx$2;$scy$2$lcssa = $scy$2;$start_off$1$lcssa = $start_off$1;$sx$2$lcssa = $sx$2;$sy$2$lcssa = $sy$2;$was_off$1$lcssa = $was_off$1; - break; - } - } - $149 = (_stbtt__close_shape($17,$num_vertices$3$lcssa,$was_off$1$lcssa,$start_off$1$lcssa,$sx$2$lcssa,$sy$2$lcssa,$scx$2$lcssa,$scy$2$lcssa,$cx$1$lcssa,$cy$1$lcssa)|0); - $num_vertices$6 = $149;$vertices$2 = $17; + } else { + $4 = ($1|0)==(0); + if ($4) { + $$0 = 1; } else { - $150 = ($5<<16>>16)==(-1); - if (!($150)) { - $274 = ($5<<16>>16)<(0); - if (!($274)) { - $num_vertices$6 = 0;$vertices$2 = 0; - break; - } - ___assert_fail((23184|0),(17068|0),1460,(17162|0)); - // unreachable; - } - $$sum = (($2) + 10)|0; - $151 = (($1) + ($$sum)|0); - $comp$046 = $151;$num_vertices$447 = 0;$vertices$048 = 0; - while(1) { - HEAP32[$comp_verts>>2] = 0; - $152 = (_ttSHORT($comp$046)|0); - $153 = ((($comp$046)) + 2|0); - $154 = (_ttSHORT($153)|0); - $155 = ((($comp$046)) + 4|0); - $156 = $152&65535; - $157 = $156 & 2; - $158 = ($157|0)==(0); - if ($158) { - label = 44; - break; - } - $159 = $156 & 1; - $160 = ($159|0)==(0); - if ($160) { - $167 = HEAP8[$155>>0]|0; - $168 = (+($167<<24>>24)); - $169 = ((($comp$046)) + 5|0); - $170 = HEAP8[$169>>0]|0; - $171 = (+($170<<24>>24)); - $172 = ((($comp$046)) + 6|0); - $179 = 8;$190 = 10;$205 = 12;$210 = 14;$comp$1 = $172;$mtx$sroa$29$0 = $168;$mtx$sroa$33$0 = $171; - } else { - $161 = (_ttSHORT($155)|0); - $162 = (+($161<<16>>16)); - $163 = ((($comp$046)) + 6|0); - $164 = (_ttSHORT($163)|0); - $165 = (+($164<<16>>16)); - $166 = ((($comp$046)) + 8|0); - $179 = 10;$190 = 12;$205 = 14;$210 = 16;$comp$1 = $166;$mtx$sroa$29$0 = $162;$mtx$sroa$33$0 = $165; - } - $173 = $156 & 8; - $174 = ($173|0)==(0); - do { - if ($174) { - $180 = $156 & 64; - $181 = ($180|0)==(0); - if (!($181)) { - $182 = (_ttSHORT($comp$1)|0); - $183 = (+($182<<16>>16)); - $184 = $183 * 6.103515625E-5; - $185 = (($comp$046) + ($179)|0); - $186 = (_ttSHORT($185)|0); - $187 = (+($186<<16>>16)); - $188 = $187 * 6.103515625E-5; - $189 = (($comp$046) + ($190)|0); - $comp$2 = $189;$mtx$sroa$0$0 = $184;$mtx$sroa$15$0 = 0.0;$mtx$sroa$22$0 = $188;$mtx$sroa$8$0 = 0.0; - break; - } - $191 = $156 & 128; - $192 = ($191|0)==(0); - if ($192) { - $comp$2 = $comp$1;$mtx$sroa$0$0 = 1.0;$mtx$sroa$15$0 = 0.0;$mtx$sroa$22$0 = 1.0;$mtx$sroa$8$0 = 0.0; - } else { - $193 = (_ttSHORT($comp$1)|0); - $194 = (+($193<<16>>16)); - $195 = $194 * 6.103515625E-5; - $196 = (($comp$046) + ($179)|0); - $197 = (_ttSHORT($196)|0); - $198 = (+($197<<16>>16)); - $199 = $198 * 6.103515625E-5; - $200 = (($comp$046) + ($190)|0); - $201 = (_ttSHORT($200)|0); - $202 = (+($201<<16>>16)); - $203 = $202 * 6.103515625E-5; - $204 = (($comp$046) + ($205)|0); - $206 = (_ttSHORT($204)|0); - $207 = (+($206<<16>>16)); - $208 = $207 * 6.103515625E-5; - $209 = (($comp$046) + ($210)|0); - $comp$2 = $209;$mtx$sroa$0$0 = $195;$mtx$sroa$15$0 = $203;$mtx$sroa$22$0 = $208;$mtx$sroa$8$0 = $199; - } - } else { - $175 = (_ttSHORT($comp$1)|0); - $176 = (+($175<<16>>16)); - $177 = $176 * 6.103515625E-5; - $178 = (($comp$046) + ($179)|0); - $comp$2 = $178;$mtx$sroa$0$0 = $177;$mtx$sroa$15$0 = 0.0;$mtx$sroa$22$0 = $177;$mtx$sroa$8$0 = 0.0; - } - } while(0); - $211 = $mtx$sroa$0$0 * $mtx$sroa$0$0; - $212 = $mtx$sroa$8$0 * $mtx$sroa$8$0; - $213 = $212 + $211; - $sqrtf = (+Math_sqrt((+$213))); - $214 = $mtx$sroa$15$0 * $mtx$sroa$15$0; - $215 = $mtx$sroa$22$0 * $mtx$sroa$22$0; - $216 = $215 + $214; - $sqrtf1 = (+Math_sqrt((+$216))); - $217 = $154&65535; - $218 = (_stbtt_GetGlyphShape($info,$217,$comp_verts)|0); - $219 = ($218|0)>(0); - if ($219) { - $220 = HEAP32[$comp_verts>>2]|0; - $i2$045 = 0; - while(1) { - $221 = (($220) + (($i2$045*10)|0)|0); - $222 = HEAP16[$221>>1]|0; - $223 = (((($220) + (($i2$045*10)|0)|0)) + 2|0); - $224 = HEAP16[$223>>1]|0; - $225 = (+($222<<16>>16)); - $226 = $mtx$sroa$0$0 * $225; - $227 = (+($224<<16>>16)); - $228 = $mtx$sroa$15$0 * $227; - $229 = $226 + $228; - $230 = $mtx$sroa$29$0 + $229; - $231 = $sqrtf * $230; - $232 = (~~(($231))); - HEAP16[$221>>1] = $232; - $233 = $mtx$sroa$8$0 * $225; - $234 = $mtx$sroa$22$0 * $227; - $235 = $233 + $234; - $236 = $mtx$sroa$33$0 + $235; - $237 = $sqrtf1 * $236; - $238 = (~~(($237))); - HEAP16[$223>>1] = $238; - $239 = (((($220) + (($i2$045*10)|0)|0)) + 4|0); - $240 = HEAP16[$239>>1]|0; - $241 = (((($220) + (($i2$045*10)|0)|0)) + 6|0); - $242 = HEAP16[$241>>1]|0; - $243 = (+($240<<16>>16)); - $244 = $mtx$sroa$0$0 * $243; - $245 = (+($242<<16>>16)); - $246 = $mtx$sroa$15$0 * $245; - $247 = $244 + $246; - $248 = $mtx$sroa$29$0 + $247; - $249 = $sqrtf * $248; - $250 = (~~(($249))); - HEAP16[$239>>1] = $250; - $251 = $mtx$sroa$8$0 * $243; - $252 = $mtx$sroa$22$0 * $245; - $253 = $251 + $252; - $254 = $mtx$sroa$33$0 + $253; - $255 = $sqrtf1 * $254; - $256 = (~~(($255))); - HEAP16[$241>>1] = $256; - $257 = (($i2$045) + 1)|0; - $exitcond53 = ($257|0)==($218|0); - if ($exitcond53) { - break; - } else { - $i2$045 = $257; - } - } - $258 = (($218) + ($num_vertices$447))|0; - $259 = ($258*10)|0; - $260 = (_malloc($259)|0); - $261 = ($260|0)==(0|0); - if ($261) { - $vertices$048$lcssa60 = $vertices$048; - break; - } - $265 = ($num_vertices$447|0)>(0); - if ($265) { - $266 = ($num_vertices$447*10)|0; - _memcpy(($260|0),($vertices$048|0),($266|0))|0; - } - $267 = (($260) + (($num_vertices$447*10)|0)|0); - $268 = HEAP32[$comp_verts>>2]|0; - $269 = ($218*10)|0; - _memcpy(($267|0),($268|0),($269|0))|0; - $270 = ($vertices$048|0)==(0|0); - if (!($270)) { - _free($vertices$048); - } - $271 = HEAP32[$comp_verts>>2]|0; - _free($271); - $num_vertices$5 = $258;$vertices$1 = $260; - } else { - $num_vertices$5 = $num_vertices$447;$vertices$1 = $vertices$048; - } - $272 = $156 & 32; - $273 = ($272|0)==(0); - if ($273) { - $num_vertices$6 = $num_vertices$5;$vertices$2 = $vertices$1; - break L4; - } else { - $comp$046 = $comp$2;$num_vertices$447 = $num_vertices$5;$vertices$048 = $vertices$1; - } - } - if ((label|0) == 44) { - ___assert_fail((23184|0),(17068|0),1407,(17162|0)); - // unreachable; - } - $262 = ($vertices$048$lcssa60|0)==(0|0); - if (!($262)) { - _free($vertices$048$lcssa60); - } - $263 = HEAP32[$comp_verts>>2]|0; - $264 = ($263|0)==(0|0); - if ($264) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - _free($263); - $$0 = 0; - STACKTOP = sp;return ($$0|0); + $5 = (2147483647 / ($1|0))&-1; + $6 = ($5|0)>=($0|0); + $7 = $6&1; + $$0 = $7; } - } while(0); - HEAP32[$pvertices>>2] = $vertices$2; - $$0 = $num_vertices$6; - STACKTOP = sp;return ($$0|0); -} -function _stbtt_GetGlyphBox($info,$glyph_index,$x0,$y0,$x1,$y1) { - $info = $info|0; - $glyph_index = $glyph_index|0; - $x0 = $x0|0; - $y0 = $y0|0; - $x1 = $x1|0; - $y1 = $y1|0; - var $$0 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 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; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbtt__GetGlyfOffset($info,$glyph_index)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - return ($$0|0); } - $2 = ($x0|0)==(0|0); - if (!($2)) { - $3 = ((($info)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $$sum3 = (($0) + 2)|0; - $5 = (($4) + ($$sum3)|0); - $6 = (_ttSHORT($5)|0); - $7 = $6 << 16 >> 16; - HEAP32[$x0>>2] = $7; - } - $8 = ($y0|0)==(0|0); - if (!($8)) { - $9 = ((($info)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $$sum2 = (($0) + 4)|0; - $11 = (($10) + ($$sum2)|0); - $12 = (_ttSHORT($11)|0); - $13 = $12 << 16 >> 16; - HEAP32[$y0>>2] = $13; - } - $14 = ($x1|0)==(0|0); - if (!($14)) { - $15 = ((($info)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $$sum1 = (($0) + 6)|0; - $17 = (($16) + ($$sum1)|0); - $18 = (_ttSHORT($17)|0); - $19 = $18 << 16 >> 16; - HEAP32[$x1>>2] = $19; - } - $20 = ($y1|0)==(0|0); - if ($20) { - $$0 = 1; - return ($$0|0); - } - $21 = ((($info)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $$sum = (($0) + 8)|0; - $23 = (($22) + ($$sum)|0); - $24 = (_ttSHORT($23)|0); - $25 = $24 << 16 >> 16; - HEAP32[$y1>>2] = $25; - $$0 = 1; return ($$0|0); } -function _stbtt_GetGlyphHMetrics($info,$glyph_index,$advanceWidth,$leftSideBearing) { - $info = $info|0; - $glyph_index = $glyph_index|0; - $advanceWidth = $advanceWidth|0; - $leftSideBearing = $leftSideBearing|0; - var $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum47 = 0, $$sum5 = 0, $$sum6 = 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; - 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _stbi__addsizes_valid($0) { + $0 = $0|0; + var label = 0, sp = 0; sp = STACKTOP; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($info)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $$sum = (($3) + 34)|0; - $4 = (($1) + ($$sum)|0); - $5 = (_ttUSHORT($4)|0); - $6 = $5&65535; - $7 = ($6|0)>($glyph_index|0); - $8 = ($advanceWidth|0)!=(0|0); - if ($7) { - if ($8) { - $9 = ((($info)) + 32|0); - $10 = HEAP32[$9>>2]|0; - $11 = $glyph_index << 2; - $$sum6 = (($10) + ($11))|0; - $12 = (($1) + ($$sum6)|0); - $13 = (_ttSHORT($12)|0); - $14 = $13 << 16 >> 16; - HEAP32[$advanceWidth>>2] = $14; + return 1; +} +function _stbi__check_png_header($0) { + $0 = $0|0; + var $$05 = 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 = (_stbi__get8($0)|0); + $2 = ($1<<24>>24)==(-119); + if ($2) { + $3 = (_stbi__get8($0)|0); + $4 = ($3<<24>>24)==(80); + if ($4) { + $5 = (_stbi__get8($0)|0); + $6 = ($5<<24>>24)==(78); + if ($6) { + $7 = (_stbi__get8($0)|0); + $8 = ($7<<24>>24)==(71); + if ($8) { + $9 = (_stbi__get8($0)|0); + $10 = ($9<<24>>24)==(13); + if ($10) { + $11 = (_stbi__get8($0)|0); + $12 = ($11<<24>>24)==(10); + if ($12) { + $13 = (_stbi__get8($0)|0); + $14 = ($13<<24>>24)==(26); + if ($14) { + $15 = (_stbi__get8($0)|0); + $16 = ($15<<24>>24)==(10); + if ($16) { + $$05 = 1; + return ($$05|0); + } + } + } + } + } + } } - $15 = ($leftSideBearing|0)==(0|0); + } + _stbi__err(13335); + $$05 = 0; + return ($$05|0); +} +function _stbi__get_chunk_header($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__get32be($1)|0); + $3 = (_stbi__get32be($1)|0); + HEAP32[$0>>2] = $2; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + return; +} +function _stbi__skip($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(0); + if ($2) { + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 168|0); + HEAP32[$5>>2] = $4; + return; + } + $6 = ((($0)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 168|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10; + $14 = (($13) - ($12))|0; + $15 = ($14|0)<($1|0); if ($15) { + HEAP32[$11>>2] = $10; + $16 = ((($0)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($1) - ($14))|0; + FUNCTION_TABLE_vii[$17 & 63]($19,$20); return; } - $16 = HEAP32[$0>>2]|0; - $17 = ((($info)) + 32|0); - $18 = HEAP32[$17>>2]|0; - $19 = $glyph_index << 2; - $$sum47 = $19 | 2; - $$sum5 = (($$sum47) + ($18))|0; - $20 = (($16) + ($$sum5)|0); - $21 = (_ttSHORT($20)|0); - $22 = $21 << 16 >> 16; - HEAP32[$leftSideBearing>>2] = $22; - return; - } else { - if ($8) { - $23 = ((($info)) + 32|0); - $24 = HEAP32[$23>>2]|0; - $25 = $6 << 2; - $26 = (($25) + -4)|0; - $$sum3 = (($26) + ($24))|0; - $27 = (($1) + ($$sum3)|0); - $28 = (_ttSHORT($27)|0); - $29 = $28 << 16 >> 16; - HEAP32[$advanceWidth>>2] = $29; - } - $30 = ($leftSideBearing|0)==(0|0); - if ($30) { - return; - } - $31 = HEAP32[$0>>2]|0; - $32 = ((($info)) + 32|0); - $33 = HEAP32[$32>>2]|0; - $34 = $6 << 2; - $35 = (($glyph_index) - ($6))|0; - $36 = $35 << 1; - $$sum1 = (($36) + ($34))|0; - $$sum2 = (($$sum1) + ($33))|0; - $37 = (($31) + ($$sum2)|0); - $38 = (_ttSHORT($37)|0); - $39 = $38 << 16 >> 16; - HEAP32[$leftSideBearing>>2] = $39; - return; } + $21 = ((($0)) + 168|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + ($1)|0); + HEAP32[$21>>2] = $23; + return; } -function _stbtt_ScaleForPixelHeight($info,$height) { - $info = $info|0; - $height = +$height; - var $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _stbi__get32be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($info)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($info)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $$sum = (($3) + 4)|0; - $4 = (($1) + ($$sum)|0); - $5 = (_ttSHORT($4)|0); - $6 = $5 << 16 >> 16; - $$sum1 = (($3) + 6)|0; - $7 = (($1) + ($$sum1)|0); - $8 = (_ttSHORT($7)|0); - $9 = $8 << 16 >> 16; - $10 = (($6) - ($9))|0; - $11 = (+($10|0)); - $12 = $height / $11; - return (+$12); + $1 = (_stbi__get16be($0)|0); + $2 = $1 << 16; + $3 = (_stbi__get16be($0)|0); + $4 = (($2) + ($3))|0; + return ($4|0); } -function _stbtt_GetGlyphBitmapBoxSubpixel($font,$glyph,$scale_x,$scale_y,$shift_x,$shift_y,$ix0,$iy0,$ix1,$iy1) { - $font = $font|0; - $glyph = $glyph|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $ix0 = $ix0|0; - $iy0 = $iy0|0; - $ix1 = $ix1|0; - $iy1 = $iy1|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $ceilf = 0.0, $ceilf1 = 0.0, $floorf = 0.0, $floorf2 = 0.0, $x0 = 0, $x1 = 0, $y0 = 0, $y1 = 0, label = 0; - var sp = 0; +function _stbi__get8($0) { + $0 = $0|0; + var $$0 = 0, $$sink6 = 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; - $x0 = sp + 12|0; - $y0 = sp + 8|0; - $x1 = sp + 4|0; - $y1 = sp; - HEAP32[$x0>>2] = 0; - HEAP32[$y0>>2] = 0; - $0 = (_stbtt_GetGlyphBox($font,$glyph,$x0,$y0,$x1,$y1)|0); - $1 = ($0|0)==(0); - $2 = ($ix0|0)!=(0|0); - if ($1) { - if ($2) { - HEAP32[$ix0>>2] = 0; - } - $3 = ($iy0|0)==(0|0); - if (!($3)) { - HEAP32[$iy0>>2] = 0; - } - $4 = ($ix1|0)==(0|0); - if (!($4)) { - HEAP32[$ix1>>2] = 0; - } - $5 = ($iy1|0)==(0|0); + $1 = ((($0)) + 168|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)<($4>>>0); + do { if ($5) { - STACKTOP = sp;return; - } - HEAP32[$iy1>>2] = 0; - STACKTOP = sp;return; - } else { - if ($2) { - $6 = HEAP32[$x0>>2]|0; - $7 = (+($6|0)); - $8 = $7 * $scale_x; - $9 = $8 + $shift_x; - $floorf2 = (+Math_floor((+$9))); - $10 = (~~(($floorf2))); - HEAP32[$ix0>>2] = $10; - } - $11 = ($iy0|0)==(0|0); - if (!($11)) { - $12 = HEAP32[$y1>>2]|0; - $13 = (0 - ($12))|0; - $14 = (+($13|0)); - $15 = $14 * $scale_y; - $16 = $15 + $shift_y; - $floorf = (+Math_floor((+$16))); - $17 = (~~(($floorf))); - HEAP32[$iy0>>2] = $17; - } - $18 = ($ix1|0)==(0|0); - if (!($18)) { - $19 = HEAP32[$x1>>2]|0; - $20 = (+($19|0)); - $21 = $20 * $scale_x; - $22 = $21 + $shift_x; - $ceilf1 = (+Math_ceil((+$22))); - $23 = (~~(($ceilf1))); - HEAP32[$ix1>>2] = $23; - } - $24 = ($iy1|0)==(0|0); - if ($24) { - STACKTOP = sp;return; - } - $25 = HEAP32[$y0>>2]|0; - $26 = (0 - ($25))|0; - $27 = (+($26|0)); - $28 = $27 * $scale_y; - $29 = $28 + $shift_y; - $ceilf = (+Math_ceil((+$29))); - $30 = (~~(($ceilf))); - HEAP32[$iy1>>2] = $30; - STACKTOP = sp;return; - } -} -function _stbtt_GetGlyphBitmapBox($font,$glyph,$scale_x,$scale_y,$ix0,$iy0,$ix1,$iy1) { - $font = $font|0; - $glyph = $glyph|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $ix0 = $ix0|0; - $iy0 = $iy0|0; - $ix1 = $ix1|0; - $iy1 = $iy1|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbtt_GetGlyphBitmapBoxSubpixel($font,$glyph,$scale_x,$scale_y,0.0,0.0,$ix0,$iy0,$ix1,$iy1); - return; -} -function _stbtt_Rasterize($result,$flatness_in_pixels,$vertices,$num_verts,$scale_x,$scale_y,$shift_x,$shift_y,$x_off,$y_off,$invert,$userdata) { - $result = $result|0; - $flatness_in_pixels = +$flatness_in_pixels; - $vertices = $vertices|0; - $num_verts = $num_verts|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $x_off = $x_off|0; - $y_off = $y_off|0; - $invert = $invert|0; - $userdata = $userdata|0; - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $winding_count = 0, $winding_lengths = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $winding_count = sp + 4|0; - $winding_lengths = sp; - $0 = $scale_x > $scale_y; - $1 = $0 ? $scale_y : $scale_x; - $2 = $flatness_in_pixels / $1; - $3 = (_stbtt_FlattenCurves($vertices,$num_verts,$2,$winding_lengths,$winding_count)|0); - $4 = ($3|0)==(0|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = HEAP32[$winding_lengths>>2]|0; - $6 = HEAP32[$winding_count>>2]|0; - _stbtt__rasterize($result,$3,$5,$6,$scale_x,$scale_y,$shift_x,$shift_y,$x_off,$y_off,$invert); - $7 = HEAP32[$winding_lengths>>2]|0; - _free($7); - _free($3); - STACKTOP = sp;return; -} -function _stbtt_MakeGlyphBitmapSubpixel($info,$output,$out_w,$out_h,$out_stride,$scale_x,$scale_y,$shift_x,$shift_y,$glyph) { - $info = $info|0; - $output = $output|0; - $out_w = $out_w|0; - $out_h = $out_h|0; - $out_stride = $out_stride|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $glyph = $glyph|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, $gbm = 0, $ix0 = 0, $iy0 = 0, $or$cond = 0, $vertices = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $ix0 = sp + 24|0; - $iy0 = sp + 20|0; - $vertices = sp + 16|0; - $gbm = sp; - $0 = (_stbtt_GetGlyphShape($info,$glyph,$vertices)|0); - _stbtt_GetGlyphBitmapBoxSubpixel($info,$glyph,$scale_x,$scale_y,$shift_x,$shift_y,$ix0,$iy0,0,0); - $1 = ((($gbm)) + 12|0); - HEAP32[$1>>2] = $output; - HEAP32[$gbm>>2] = $out_w; - $2 = ((($gbm)) + 4|0); - HEAP32[$2>>2] = $out_h; - $3 = ((($gbm)) + 8|0); - HEAP32[$3>>2] = $out_stride; - $4 = HEAP32[$gbm>>2]|0; - $5 = ($4|0)==(0); - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - $or$cond = $5 | $7; - if ($or$cond) { - $11 = HEAP32[$vertices>>2]|0; - _free($11); - STACKTOP = sp;return; - } - $8 = HEAP32[$vertices>>2]|0; - $9 = HEAP32[$ix0>>2]|0; - $10 = HEAP32[$iy0>>2]|0; - _stbtt_Rasterize($gbm,0.34999999403953552,$8,$0,$scale_x,$scale_y,$shift_x,$shift_y,$9,$10,1,0); - $11 = HEAP32[$vertices>>2]|0; - _free($11); - STACKTOP = sp;return; -} -function _stbtt_MakeGlyphBitmap($info,$output,$out_w,$out_h,$out_stride,$scale_x,$scale_y,$glyph) { - $info = $info|0; - $output = $output|0; - $out_w = $out_w|0; - $out_h = $out_h|0; - $out_stride = $out_stride|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $glyph = $glyph|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbtt_MakeGlyphBitmapSubpixel($info,$output,$out_w,$out_h,$out_stride,$scale_x,$scale_y,0.0,0.0,$glyph); - return; -} -function _stbtt_BakeFontBitmap($data,$offset,$pixel_height,$pixels,$pw,$ph,$first_char,$num_chars,$chardata) { - $data = $data|0; - $offset = $offset|0; - $pixel_height = +$pixel_height; - $pixels = $pixels|0; - $pw = $pw|0; - $ph = $ph|0; - $first_char = $first_char|0; - $num_chars = $num_chars|0; - $chardata = $chardata|0; - var $$0 = 0, $$sum = 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; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $advance = 0, $bottom_y$0$ = 0, $bottom_y$07 = 0, $f = 0, $i$08 = 0, $i$08$lcssa = 0, $lsb = 0, $x$0$ = 0, $x$010 = 0, $x0 = 0, $x1 = 0; - var $y$0$bottom_y$0 = 0, $y$09 = 0, $y0 = 0, $y1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $f = sp + 24|0; - $advance = sp + 20|0; - $lsb = sp + 16|0; - $x0 = sp + 12|0; - $y0 = sp + 8|0; - $x1 = sp + 4|0; - $y1 = sp; - HEAP32[$f>>2] = 0; - $0 = (_stbtt_InitFont($f,$data,$offset)|0); - $1 = ($0|0)==(0); - if ($1) { - $$0 = -1; - STACKTOP = sp;return ($$0|0); - } - $2 = Math_imul($ph, $pw)|0; - _memset(($pixels|0),0,($2|0))|0; - $3 = (+_stbtt_ScaleForPixelHeight($f,$pixel_height)); - $4 = ($num_chars|0)>(0); - if ($4) { - $bottom_y$07 = 1;$i$08 = 0;$x$010 = 1;$y$09 = 1; - } else { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - while(1) { - $5 = (($i$08) + ($first_char))|0; - $6 = (_stbtt_FindGlyphIndex($f,$5)|0); - _stbtt_GetGlyphHMetrics($f,$6,$advance,$lsb); - _stbtt_GetGlyphBitmapBox($f,$6,$3,$3,$x0,$y0,$x1,$y1); - $7 = HEAP32[$x1>>2]|0; - $8 = HEAP32[$x0>>2]|0; - $9 = (($7) - ($8))|0; - $10 = HEAP32[$y1>>2]|0; - $11 = HEAP32[$y0>>2]|0; - $12 = (($10) - ($11))|0; - $13 = (($x$010) + 1)|0; - $14 = (($13) + ($9))|0; - $15 = ($14|0)<($pw|0); - $y$0$bottom_y$0 = $15 ? $y$09 : $bottom_y$07; - $x$0$ = $15 ? $x$010 : 1; - $16 = (($y$0$bottom_y$0) + ($12))|0; - $17 = (($16) + 1)|0; - $18 = ($17|0)<($ph|0); - if (!($18)) { - $i$08$lcssa = $i$08; - label = 4; - break; - } - $20 = (($x$0$) + ($9))|0; - $21 = ($20|0)<($pw|0); - if (!($21)) { - label = 6; - break; - } - $22 = ($16|0)<($ph|0); - if (!($22)) { - label = 8; - break; - } - $23 = Math_imul($y$0$bottom_y$0, $pw)|0; - $$sum = (($23) + ($x$0$))|0; - $24 = (($pixels) + ($$sum)|0); - _stbtt_MakeGlyphBitmap($f,$24,$9,$12,$pw,$3,$3,$6); - $25 = $x$0$&65535; - $26 = (($chardata) + (($i$08*20)|0)|0); - HEAP16[$26>>1] = $25; - $27 = $y$0$bottom_y$0&65535; - $28 = (((($chardata) + (($i$08*20)|0)|0)) + 2|0); - HEAP16[$28>>1] = $27; - $29 = $20&65535; - $30 = (((($chardata) + (($i$08*20)|0)|0)) + 4|0); - HEAP16[$30>>1] = $29; - $31 = $16&65535; - $32 = (((($chardata) + (($i$08*20)|0)|0)) + 6|0); - HEAP16[$32>>1] = $31; - $33 = HEAP32[$advance>>2]|0; - $34 = (+($33|0)); - $35 = $3 * $34; - $36 = (((($chardata) + (($i$08*20)|0)|0)) + 16|0); - HEAPF32[$36>>2] = $35; - $37 = HEAP32[$x0>>2]|0; - $38 = (+($37|0)); - $39 = (((($chardata) + (($i$08*20)|0)|0)) + 8|0); - HEAPF32[$39>>2] = $38; - $40 = HEAP32[$y0>>2]|0; - $41 = (+($40|0)); - $42 = (((($chardata) + (($i$08*20)|0)|0)) + 12|0); - HEAPF32[$42>>2] = $41; - $43 = (($20) + 1)|0; - $44 = ($16|0)<($bottom_y$07|0); - $bottom_y$0$ = $44 ? $bottom_y$07 : $17; - $45 = (($i$08) + 1)|0; - $46 = ($45|0)<($num_chars|0); - if ($46) { - $bottom_y$07 = $bottom_y$0$;$i$08 = $45;$x$010 = $43;$y$09 = $y$0$bottom_y$0; + $$sink6 = $2; } else { - $$0 = $bottom_y$0$; - label = 10; + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + return ($$0|0); + } else { + _stbi__refill_buffer($0); + $9 = HEAP32[$1>>2]|0; + $$sink6 = $9; + break; + } + } + } while(0); + $10 = ((($$sink6)) + 1|0); + HEAP32[$1>>2] = $10; + $11 = HEAP8[$$sink6>>0]|0; + $$0 = $11; + return ($$0|0); +} +function _stbi__get16be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get8($0)|0); + $2 = $1&255; + $3 = $2 << 8; + $4 = (_stbi__get8($0)|0); + $5 = $4&255; + $6 = $3 | $5; + return ($6|0); +} +function _stbi__getn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($0)) + 172|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 168|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9; + $11 = (($7) - ($10))|0; + $12 = ($11|0)<($2|0); + if ($12) { + _memcpy(($1|0),($9|0),($11|0))|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($1) + ($11)|0); + $17 = (($2) - ($11))|0; + $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); + $19 = ($18|0)==($17|0); + $20 = $19&1; + $21 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $21; + $$1 = $20; + return ($$1|0); + } + } + $22 = ((($0)) + 168|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($2)|0); + $25 = ((($0)) + 172|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($24>>>0)>($26>>>0); + if ($27) { + $$1 = 0; + return ($$1|0); + } + _memcpy(($1|0),($23|0),($2|0))|0; + $28 = HEAP32[$22>>2]|0; + $29 = (($28) + ($2)|0); + HEAP32[$22>>2] = $29; + $$1 = 1; + return ($$1|0); +} +function _stbi_zlib_decode_malloc_guesssize_headerflag($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); + $5 = sp; + $6 = (_stbi__malloc($2)|0); + $7 = ($6|0)==(0|0); + do { + if ($7) { + $$0 = 0; + } else { + HEAP32[$5>>2] = $0; + $8 = (($0) + ($1)|0); + $9 = ((($5)) + 4|0); + HEAP32[$9>>2] = $8; + $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); + $11 = ($10|0)==(0); + $12 = ((($5)) + 20|0); + $13 = HEAP32[$12>>2]|0; + if ($11) { + _free($13); + $$0 = 0; + break; + } + $14 = ($3|0)==(0|0); + if ($14) { + $$0 = $13; + } else { + $15 = ((($5)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = $13; + $18 = (($16) - ($17))|0; + HEAP32[$3>>2] = $18; + $$0 = $13; + } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _stbi__create_png_image($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 $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 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; + 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, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 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, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ($4|0)==(16); + $8 = $7 ? 2 : 1; + $9 = Math_imul($8, $3)|0; + $10 = ($6|0)==(0); + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($11)) + 4|0); + $14 = HEAP32[$13>>2]|0; + if ($10) { + $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); + $$4 = $15; + return ($$4|0); + } + $16 = (_stbi__malloc_mad3($12,$14,$9)|0); + $17 = ((($0)) + 12|0); + $18 = ((($0)) + 12|0); + $$0103117 = 0;$$095119 = $1;$$099118 = $2; + while(1) { + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = (2984 + ($$0103117<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = (3012 + ($$0103117<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($20) + -1)|0; + $26 = (($25) - ($22))|0; + $27 = (($26) + ($24))|0; + $28 = (($27>>>0) / ($24>>>0))&-1; + $29 = ((($19)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (3040 + ($$0103117<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = (3068 + ($$0103117<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($30) + -1)|0; + $36 = (($35) - ($32))|0; + $37 = (($36) + ($34))|0; + $38 = (($37>>>0) / ($34>>>0))&-1; + $39 = ($24>>>0)<=($27>>>0); + $40 = ($34>>>0)<=($37>>>0); + $or$cond = $39 & $40; + if ($or$cond) { + $41 = ((($19)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = Math_imul($28, $4)|0; + $44 = Math_imul($43, $42)|0; + $45 = (($44) + 7)|0; + $46 = $45 >> 3; + $47 = (($46) + 1)|0; + $48 = Math_imul($47, $38)|0; + $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); + $50 = ($49|0)==(0); + if ($50) { + label = 13; + break; + } + $51 = ($38|0)>(0); + if ($51) { + $52 = ($28|0)>(0); + $$0106116 = 0; + while(1) { + if ($52) { + $53 = HEAP32[$33>>2]|0; + $54 = Math_imul($53, $$0106116)|0; + $55 = HEAP32[$31>>2]|0; + $56 = (($54) + ($55))|0; + $57 = HEAP32[$23>>2]|0; + $58 = HEAP32[$21>>2]|0; + $59 = Math_imul($56, $9)|0; + $60 = Math_imul($$0106116, $28)|0; + $$0107115 = 0; + while(1) { + $61 = Math_imul($57, $$0107115)|0; + $62 = (($61) + ($58))|0; + $63 = HEAP32[$0>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = Math_imul($59, $64)|0; + $66 = (($16) + ($65)|0); + $67 = Math_imul($62, $9)|0; + $68 = (($66) + ($67)|0); + $69 = HEAP32[$18>>2]|0; + $70 = (($$0107115) + ($60))|0; + $71 = Math_imul($70, $9)|0; + $72 = (($69) + ($71)|0); + _memcpy(($68|0),($72|0),($9|0))|0; + $73 = (($$0107115) + 1)|0; + $74 = ($73|0)<($28|0); + if ($74) { + $$0107115 = $73; + } else { + break; + } + } + } + $75 = (($$0106116) + 1)|0; + $76 = ($75|0)<($38|0); + if ($76) { + $$0106116 = $75; + } else { + break; + } + } + } + $77 = HEAP32[$17>>2]|0; + _free($77); + $78 = (($$095119) + ($48)|0); + $79 = (($$099118) - ($48))|0; + $$3102$ph = $79;$$398$ph = $78; + } else { + $$3102$ph = $$099118;$$398$ph = $$095119; + } + $80 = (($$0103117) + 1)|0; + $81 = ($80|0)<(7); + if ($81) { + $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; + } else { + label = 15; break; } } - if ((label|0) == 4) { - $19 = (0 - ($i$08$lcssa))|0; - $$0 = $19; - STACKTOP = sp;return ($$0|0); + if ((label|0) == 13) { + _free($16); + $$4 = 0; + return ($$4|0); } - else if ((label|0) == 6) { - ___assert_fail((17182|0),(17068|0),2545,(17192|0)); - // unreachable; - } - else if ((label|0) == 8) { - ___assert_fail((17213|0),(17068|0),2546,(17192|0)); - // unreachable; - } - else if ((label|0) == 10) { - STACKTOP = sp;return ($$0|0); + else if ((label|0) == 15) { + $82 = ((($0)) + 12|0); + HEAP32[$82>>2] = $16; + $$4 = 1; + return ($$4|0); } return (0)|0; } -function _LoadDefaultFont() { - var $$ = 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, $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, $8 = 0, $9 = 0, $counter$013 = 0, $currentLine$08 = 0, $currentLine$1 = 0, $currentPosX$09 = 0, $currentPosX$1 = 0, $exitcond = 0; - var $i$014 = 0, $i1$012 = 0, $i2$010 = 0, $image = 0, $image$byval_copy1 = 0, $j$011 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _stbi__compute_transparency16($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $image$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $image = sp + 24|0; - $0 = sp + 4|0; - HEAP32[(5176)>>2] = 224; - $1 = (_malloc(65536)|0); - $i$014 = 0; - while(1) { - $2 = (($1) + ($i$014<<2)|0); - $3 = (($i$014) + 1)|0; - $exitcond = ($3|0)==(16384); - HEAP8[$2>>0]=0&255;HEAP8[$2+1>>0]=(0>>8)&255;HEAP8[$2+2>>0]=(0>>16)&255;HEAP8[$2+3>>0]=0>>24; - if ($exitcond) { - $counter$013 = 0;$i1$012 = 0; - break; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; } else { - $i$014 = $3; + $$0323 = 0;$$04 = $9; } - } - while(1) { - $4 = (5196 + ($counter$013<<2)|0); - $5 = HEAP32[$4>>2]|0; - $j$011 = 31; while(1) { - $6 = 1 << $j$011; - $7 = $5 & $6; - $8 = ($7|0)==(0); - if (!($8)) { - $9 = (($j$011) + ($i1$012))|0; - $10 = (($1) + ($9<<2)|0); - HEAP8[$10>>0]=-1&255;HEAP8[$10+1>>0]=(-1>>8)&255;HEAP8[$10+2>>0]=(-1>>16)&255;HEAP8[$10+3>>0]=-1>>24; - } - $11 = (($j$011) + -1)|0; - $12 = ($j$011|0)>(0); - if ($12) { - $j$011 = $11; - } else { + $14 = HEAP16[$$04>>1]|0; + $15 = HEAP16[$1>>1]|0; + $not$ = ($14<<16>>16)!=($15<<16>>16); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 2|0); + HEAP16[$17>>1] = $16; + $18 = ((($$04)) + 4|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { break; + } else { + $$0323 = $19;$$04 = $18; } } - $13 = (($counter$013) + 1)|0; - $14 = ($counter$013|0)>(511); - $$ = $14 ? 0 : $13; - $15 = (($i1$012) + 32)|0; - $16 = ($15|0)<(16384); - if ($16) { - $counter$013 = $$;$i1$012 = $15; - } else { - break; - } + return; + break; } - _LoadImageEx($image,$1,128,128); - _ImageFormat($image,2); - _free($1); - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy1); - ;HEAP32[5152>>2]=HEAP32[$0>>2]|0;HEAP32[5152+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[5152+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[5152+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[5152+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy1); - $17 = HEAP32[(5176)>>2]|0; - $18 = $17 << 2; - $19 = (_malloc($18)|0); - HEAP32[(5180)>>2] = $19; - $20 = HEAP32[(5176)>>2]|0; - $21 = $20 << 4; - $22 = (_malloc($21)|0); - HEAP32[(5184)>>2] = $22; - $23 = HEAP32[(5176)>>2]|0; - $24 = $23 << 3; - $25 = (_malloc($24)|0); - HEAP32[(5188)>>2] = $25; - $26 = HEAP32[(5176)>>2]|0; - $27 = $26 << 2; - $28 = (_malloc($27)|0); - HEAP32[(5192)>>2] = $28; - $29 = HEAP32[(5176)>>2]|0; - $30 = ($29|0)>(0); - if ($30) { - $currentLine$08 = 0;$currentPosX$09 = 1;$i2$010 = 0; + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 2|0); + $12 = ((($1)) + 4|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP16[$$16>>1]|0; + $21 = HEAP16[$1>>1]|0; + $22 = ($20<<16>>16)==($21<<16>>16); + if ($22) { + $23 = ((($$16)) + 2|0); + $24 = HEAP16[$23>>1]|0; + $25 = HEAP16[$11>>1]|0; + $26 = ($24<<16>>16)==($25<<16>>16); + if ($26) { + $27 = ((($$16)) + 4|0); + $28 = HEAP16[$27>>1]|0; + $29 = HEAP16[$12>>1]|0; + $30 = ($28<<16>>16)==($29<<16>>16); + if ($30) { + $31 = ((($$16)) + 6|0); + HEAP16[$31>>1] = 0; + } + } + } + $32 = ((($$16)) + 8|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((12417|0),(11926|0),4569,(12469|0)); + // unreachable; + } + } +} +function _stbi__compute_transparency($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP8[$$04>>0]|0; + $15 = HEAP8[$1>>0]|0; + $not$ = ($14<<24>>24)!=($15<<24>>24); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 1|0); + HEAP8[$17>>0] = $16; + $18 = ((($$04)) + 2|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 1|0); + $12 = ((($1)) + 2|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP8[$$16>>0]|0; + $21 = HEAP8[$1>>0]|0; + $22 = ($20<<24>>24)==($21<<24>>24); + if ($22) { + $23 = ((($$16)) + 1|0); + $24 = HEAP8[$23>>0]|0; + $25 = HEAP8[$11>>0]|0; + $26 = ($24<<24>>24)==($25<<24>>24); + if ($26) { + $27 = ((($$16)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = HEAP8[$12>>0]|0; + $30 = ($28<<24>>24)==($29<<24>>24); + if ($30) { + $31 = ((($$16)) + 3|0); + HEAP8[$31>>0] = 0; + } + } + } + $32 = ((($$16)) + 4|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((12417|0),(11926|0),4544,(12442|0)); + // unreachable; + } + } +} +function _stbi__de_iphone($0) { + $0 = $0|0; + var $$05158 = 0, $$059 = 0, $$15263 = 0, $$164 = 0, $$25360 = 0, $$261 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond68 = 0, $exitcond69 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($1)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($9|0) { + case 3: { + $10 = ($5|0)==(0); + if ($10) { + return; + } else { + $$05158 = $7;$$059 = 0; + } + while(1) { + $11 = HEAP8[$$05158>>0]|0; + $12 = ((($$05158)) + 2|0); + $13 = HEAP8[$12>>0]|0; + HEAP8[$$05158>>0] = $13; + HEAP8[$12>>0] = $11; + $14 = ((($$05158)) + 3|0); + $15 = (($$059) + 1)|0; + $exitcond = ($15|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05158 = $14;$$059 = $15; + } + } + return; + break; + } + case 4: { + $16 = HEAP32[7535]|0; + $17 = ($16|0)==(0); + $18 = ($5|0)!=(0); + if ($17) { + if ($18) { + $$25360 = $7;$$261 = 0; + } else { + return; + } + while(1) { + $42 = HEAP8[$$25360>>0]|0; + $43 = ((($$25360)) + 2|0); + $44 = HEAP8[$43>>0]|0; + HEAP8[$$25360>>0] = $44; + HEAP8[$43>>0] = $42; + $45 = ((($$25360)) + 4|0); + $46 = (($$261) + 1)|0; + $exitcond68 = ($46|0)==($5|0); + if ($exitcond68) { + break; + } else { + $$25360 = $45;$$261 = $46; + } + } + return; + } + if ($18) { + $$15263 = $7;$$164 = 0; + } else { + return; + } + while(1) { + $19 = ((($$15263)) + 3|0); + $20 = HEAP8[$19>>0]|0; + $21 = HEAP8[$$15263>>0]|0; + $22 = ($20<<24>>24)==(0); + $23 = ((($$15263)) + 2|0); + $24 = HEAP8[$23>>0]|0; + if ($22) { + HEAP8[$$15263>>0] = $24; + $$sink = $21; + } else { + $25 = $24&255; + $26 = ($25*255)|0; + $27 = $20&255; + $28 = (($26>>>0) / ($27>>>0))&-1; + $29 = $28&255; + HEAP8[$$15263>>0] = $29; + $30 = ((($$15263)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32*255)|0; + $34 = (($33>>>0) / ($27>>>0))&-1; + $35 = $34&255; + HEAP8[$30>>0] = $35; + $36 = $21&255; + $37 = ($36*255)|0; + $38 = (($37>>>0) / ($27>>>0))&-1; + $39 = $38&255; + $$sink = $39; + } + HEAP8[$23>>0] = $$sink; + $40 = ((($$15263)) + 4|0); + $41 = (($$164) + 1)|0; + $exitcond69 = ($41|0)==($5|0); + if ($exitcond69) { + break; + } else { + $$15263 = $40;$$164 = $41; + } + } + return; + break; + } + default: { + ___assert_fail((12383|0),(11926|0),4650,(12401|0)); + // unreachable; + } + } +} +function _stbi__expand_png_palette($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_stbi__malloc_mad2($7,$2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _stbi__err(11981); + $$0 = 0; + return ($$0|0); + } + $12 = ($2|0)==(3); + $13 = ($7|0)!=(0); + if ($12) { + if ($13) { + $$0574 = 0;$$0583 = $10; + while(1) { + $14 = (($9) + ($$0574)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 << 2; + $18 = (($1) + ($17)|0); + $19 = HEAP8[$18>>0]|0; + HEAP8[$$0583>>0] = $19; + $20 = $17 | 1; + $21 = (($1) + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($$0583)) + 1|0); + HEAP8[$23>>0] = $22; + $24 = $17 | 2; + $25 = (($1) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = ((($$0583)) + 2|0); + HEAP8[$27>>0] = $26; + $28 = ((($$0583)) + 3|0); + $29 = (($$0574) + 1)|0; + $exitcond = ($29|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0574 = $29;$$0583 = $28; + } + } + } } else { - $69 = HEAP32[(5184)>>2]|0; - $70 = ((($69)) + 12|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[(5172)>>2] = $71; - $72 = HEAP32[5152>>2]|0; - HEAP32[$vararg_buffer>>2] = $72; - _TraceLog(0,17223,$vararg_buffer); - STACKTOP = sp;return; - } - while(1) { - $31 = (($i2$010) + 32)|0; - $32 = HEAP32[(5180)>>2]|0; - $33 = (($32) + ($i2$010<<2)|0); - HEAP32[$33>>2] = $31; - $34 = HEAP32[(5184)>>2]|0; - $35 = (($34) + ($i2$010<<4)|0); - HEAP32[$35>>2] = $currentPosX$09; - $36 = ($currentLine$08*11)|0; - $37 = (($36) + 1)|0; - $38 = HEAP32[(5184)>>2]|0; - $39 = (((($38) + ($i2$010<<4)|0)) + 4|0); - HEAP32[$39>>2] = $37; - $40 = (7244 + ($i2$010<<2)|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[(5184)>>2]|0; - $43 = (((($42) + ($i2$010<<4)|0)) + 8|0); - HEAP32[$43>>2] = $41; - $44 = HEAP32[(5184)>>2]|0; - $45 = (((($44) + ($i2$010<<4)|0)) + 12|0); - HEAP32[$45>>2] = 10; - $46 = HEAP32[(5184)>>2]|0; - $47 = (((($46) + ($i2$010<<4)|0)) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($currentPosX$09) + 1)|0; - $50 = (($49) + ($48))|0; - $51 = HEAP32[(5156)>>2]|0; - $52 = ($50|0)<($51|0); - if ($52) { - $currentLine$1 = $currentLine$08;$currentPosX$1 = $50; - } else { - $53 = (($currentLine$08) + 1)|0; - $54 = HEAP32[$40>>2]|0; - $55 = (($54) + 2)|0; - $56 = (($46) + ($i2$010<<4)|0); - HEAP32[$56>>2] = 1; - $57 = ($53*11)|0; - $58 = (($57) + 1)|0; - $59 = HEAP32[(5184)>>2]|0; - $60 = (((($59) + ($i2$010<<4)|0)) + 4|0); - HEAP32[$60>>2] = $58; - $currentLine$1 = $53;$currentPosX$1 = $55; + if ($13) { + $$1595 = $10;$$16 = 0; + while(1) { + $30 = (($9) + ($$16)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 << 2; + $34 = (($1) + ($33)|0); + $35 = HEAP8[$34>>0]|0; + HEAP8[$$1595>>0] = $35; + $36 = $33 | 1; + $37 = (($1) + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = ((($$1595)) + 1|0); + HEAP8[$39>>0] = $38; + $40 = $33 | 2; + $41 = (($1) + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = ((($$1595)) + 2|0); + HEAP8[$43>>0] = $42; + $44 = $33 | 3; + $45 = (($1) + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ((($$1595)) + 3|0); + HEAP8[$47>>0] = $46; + $48 = ((($$1595)) + 4|0); + $49 = (($$16) + 1)|0; + $exitcond9 = ($49|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1595 = $48;$$16 = $49; + } + } } - $61 = HEAP32[(5188)>>2]|0; - $62 = (($61) + ($i2$010<<3)|0); - HEAPF32[$62>>2] = 0.0; - $63 = (((($61) + ($i2$010<<3)|0)) + 4|0); - HEAPF32[$63>>2] = 0.0; - $64 = HEAP32[(5192)>>2]|0; - $65 = (($64) + ($i2$010<<2)|0); - HEAP32[$65>>2] = 0; - $66 = (($i2$010) + 1)|0; - $67 = HEAP32[(5176)>>2]|0; - $68 = ($66|0)<($67|0); - if ($68) { - $currentLine$08 = $currentLine$1;$currentPosX$09 = $currentPosX$1;$i2$010 = $66; + } + $50 = HEAP32[$8>>2]|0; + _free($50); + HEAP32[$8>>2] = $10; + $$0 = 1; + return ($$0|0); +} +function _stbi__malloc_mad2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mad2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $$0 = 0; + return ($$0|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__malloc($4)|0); + $$0 = $5; + return ($$0|0); +} +function _stbi__mad2sizes_valid($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 = (_stbi__mul2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $8 = 0; + $7 = $8&1; + return ($7|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__addsizes_valid($4)|0); + $6 = ($5|0)!=(0); + $8 = $6; + $7 = $8&1; + return ($7|0); +} +function _stbi__create_png_image_raw($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 $$0568 = 0, $$0568724 = 0, $$0568725 = 0, $$0571$lcssa = 0, $$0571715 = 0, $$0574$lcssa = 0, $$0574714 = 0, $$0577817 = 0, $$0588 = 0, $$0597 = 0, $$0608816 = 0, $$0611815 = 0, $$0614 = 0, $$0614793 = 0, $$0614796 = 0, $$0623814 = 0, $$0625734 = 0, $$0731 = 0, $$1 = 0, $$10635764 = 0; + var $$11$ph = 0, $$11636755 = 0, $$12747 = 0, $$13739 = 0, $$14$lcssa = 0, $$14713 = 0, $$15$lcssa = 0, $$15705 = 0, $$1572$lcssa = 0, $$1572707 = 0, $$1575$lcssa = 0, $$1575706 = 0, $$1578 = 0, $$16$lcssa = 0, $$1609 = 0, $$1612 = 0, $$1615 = 0, $$1615785 = 0, $$1615788 = 0, $$1624727 = 0; + var $$1626812 = 0, $$16700 = 0, $$1721 = 0, $$1722 = 0, $$2 = 0, $$2573$lcssa = 0, $$2573702 = 0, $$2579795 = 0, $$2599794 = 0, $$2616 = 0, $$2616776 = 0, $$2616780 = 0, $$2627810 = 0, $$3580787 = 0, $$3592778 = 0, $$3600786 = 0, $$3617 = 0, $$3617767 = 0, $$3617771 = 0, $$3628808 = 0; + var $$4$lcssa = 0, $$4581779 = 0, $$4593769 = 0, $$4601777 = 0, $$4618 = 0, $$4618758 = 0, $$4618762 = 0, $$4629806 = 0, $$4701 = 0, $$5582770 = 0, $$5594760 = 0, $$5602768 = 0, $$5619 = 0, $$5619750 = 0, $$5619753 = 0, $$5630804 = 0, $$6583761 = 0, $$6603759 = 0, $$6620 = 0, $$6620742 = 0; + var $$6620745 = 0, $$6631802 = 0, $$7584752 = 0, $$7604751 = 0, $$7621798 = 0, $$7632790 = 0, $$8585744 = 0, $$8605743 = 0, $$8622729 = 0, $$8633782 = 0, $$9586 = 0, $$9606799 = 0, $$9634773 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink641 = 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, $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; + var $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, $429 = 0; + var $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, $446 = 0, $447 = 0; + var $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, $463 = 0, $464 = 0, $465 = 0; + var $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, $481 = 0, $482 = 0, $483 = 0; + var $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, $50 = 0, $500 = 0, $501 = 0; + var $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, $517 = 0, $518 = 0, $519 = 0, $52 = 0; + var $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, $535 = 0, $536 = 0, $537 = 0, $538 = 0; + var $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, $553 = 0, $554 = 0, $555 = 0, $556 = 0; + var $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, $571 = 0, $572 = 0, $573 = 0, $574 = 0; + var $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, $59 = 0, $590 = 0, $591 = 0, $592 = 0; + var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 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, $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; + 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, $brmerge = 0, $brmerge894 = 0, $exitcond = 0, $exitcond864 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond873 = 0, $exitcond875 = 0, $exitcond877 = 0, $exitcond880 = 0, $exitcond881 = 0, $exitcond882 = 0, $exitcond883 = 0, $exitcond884 = 0; + var $exitcond885 = 0, $exitcond886 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv$next858 = 0, $indvars$iv$next861 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $indvars$iv857 = 0, $indvars$iv860 = 0, $or$cond = 0, $scevgep = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep859 = 0; + var $scevgep862 = 0, $scevgep866 = 0, $scevgep868 = 0, $scevgep870 = 0, $scevgep872 = 0, $scevgep874 = 0, $scevgep876 = 0, $scevgep879 = 0, $trunc = 0, $trunc637 = 0, $trunc638 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = ($6|0)==(16); + $9 = $8 ? 2 : 1; + $10 = HEAP32[$0>>2]|0; + $11 = Math_imul($4, $3)|0; + $12 = Math_imul($9, $11)|0; + $13 = ((($10)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = Math_imul($9, $3)|0; + $16 = Math_imul($14, $9)|0; + $17 = ($14|0)==($3|0); + $18 = (($14) + 1)|0; + $19 = ($18|0)==($3|0); + $or$cond = $17 | $19; + if (!($or$cond)) { + ___assert_fail((12498|0),(11926|0),4294,(12539|0)); + // unreachable; + } + $20 = (_stbi__malloc_mad3($4,$5,$15)|0); + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $22 = ($20|0)==(0|0); + if ($22) { + _stbi__err(11981); + $$2 = 0; + return ($$2|0); + } + $23 = Math_imul($14, $4)|0; + $24 = Math_imul($23, $6)|0; + $25 = (($24) + 7)|0; + $26 = $25 >>> 3; + $27 = (($26) + 1)|0; + $28 = Math_imul($27, $5)|0; + $29 = HEAP32[$10>>2]|0; + $30 = ($29|0)==($4|0); + if ($30) { + $31 = ((($10)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($5|0); + if ($33) { + $34 = ($28|0)==($2|0); + if (!($34)) { + _stbi__err(12566); + $$2 = 0; + return ($$2|0); + } } else { + label = 9; + } + } else { + label = 9; + } + if ((label|0) == 9) { + $35 = ($28>>>0)>($2>>>0); + if ($35) { + _stbi__err(12566); + $$2 = 0; + return ($$2|0); + } + } + $36 = ($5|0)==(0); + L18: do { + if (!($36)) { + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; + $41 = ($6|0)==(8); + $brmerge = $37 | $17; + $42 = ($4|0)==(0); + $$0614793 = (($4) + -1)|0; + $43 = ($$0614793|0)==(0); + $$1615785 = (($4) + -1)|0; + $44 = ($$1615785|0)==(0); + $$2616776 = (($4) + -1)|0; + $45 = ($$2616776|0)==(0); + $$3617767 = (($4) + -1)|0; + $46 = ($$3617767|0)==(0); + $$4618758 = (($4) + -1)|0; + $47 = ($$4618758|0)==(0); + $$5619750 = (($4) + -1)|0; + $48 = ($$5619750|0)==(0); + $$6620742 = (($4) + -1)|0; + $49 = ($$6620742|0)==(0); + $$not = $8 ^ 1; + $brmerge894 = $42 | $$not; + $$0577817 = $1;$$0608816 = $4;$$0611815 = $16;$$0623814 = 0; + while(1) { + $50 = HEAP32[$21>>2]|0; + $51 = Math_imul($$0623814, $12)|0; + $52 = (($50) + ($51)|0); + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { + label = 105; + break; + } + if ($37) { + if ($38) { + label = 16; + break; + } + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; + } else { + $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; + } + $58 = (($$0597) + ($40)|0); + $59 = ($$0623814|0)==(0); + if ($59) { + $60 = (12605 + ($55)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $$0588 = $62; + } else { + $$0588 = $55; + } + $63 = ($$1612|0)>(0); + L30: do { + if ($63) { + $trunc638 = $$0588&255; + $$0625734 = 0; + while(1) { + switch ($trunc638<<24>>24) { + case 0: { + $64 = (($53) + ($$0625734)|0); + $65 = HEAP8[$64>>0]|0; + $$sink = $65; + label = 30; + break; + } + case 1: { + $66 = (($53) + ($$0625734)|0); + $67 = HEAP8[$66>>0]|0; + $$sink = $67; + label = 30; + break; + } + case 2: { + $68 = (($53) + ($$0625734)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = (($58) + ($$0625734)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = (($73) + ($70))|0; + $75 = $74&255; + $$sink = $75; + label = 30; + break; + } + case 3: { + $76 = (($53) + ($$0625734)|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = (($58) + ($$0625734)|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 >>> 1; + $83 = (($82) + ($78))|0; + $84 = $83&255; + $$sink = $84; + label = 30; + break; + } + case 4: { + $85 = (($53) + ($$0625734)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = (($58) + ($$0625734)|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = (_stbi__paeth(0,$90,0)|0); + $92 = (($91) + ($87))|0; + $93 = $92&255; + $$sink = $93; + label = 30; + break; + } + case 5: { + $94 = (($53) + ($$0625734)|0); + $95 = HEAP8[$94>>0]|0; + $$sink = $95; + label = 30; + break; + } + case 6: { + $96 = (($53) + ($$0625734)|0); + $97 = HEAP8[$96>>0]|0; + $$sink = $97; + label = 30; + break; + } + default: { + } + } + if ((label|0) == 30) { + label = 0; + $$sink1 = (($$0597) + ($$0625734)|0); + HEAP8[$$sink1>>0] = $$sink; + } + $98 = (($$0625734) + 1)|0; + $exitcond864 = ($98|0)==($$1612|0); + if ($exitcond864) { + break L30; + } else { + $$0625734 = $98; + } + } + } + } while(0); + do { + if ($41) { + if (!($17)) { + $99 = (($$0597) + ($14)|0); + HEAP8[$99>>0] = -1; + } + $100 = (($53) + ($14)|0); + $$1578 = $100;$$sink641 = $3; + } else { + if (!($8)) { + $105 = ((($$0577817)) + 2|0); + $$1578 = $105;$$sink641 = 1; + break; + } + if (!($17)) { + $101 = (($$1612) + 1)|0; + $102 = (($$0597) + ($101)|0); + $103 = (($$0597) + ($$1612)|0); + HEAP8[$103>>0] = -1; + HEAP8[$102>>0] = -1; + } + $104 = (($53) + ($$1612)|0); + $$1578 = $104;$$sink641 = $15; + } + } while(0); + $106 = (($$0597) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); + if ($brmerge) { + $108 = (($$1609) + -1)|0; + $109 = Math_imul($108, $$1612)|0; + $trunc637 = $$0588&255; + switch ($trunc637<<24>>24) { + case 0: { + _memcpy(($106|0),($$1578|0),($109|0))|0; + break; + } + case 1: { + $115 = ($109|0)>(0); + if ($115) { + $$1626812 = 0; + while(1) { + $116 = (($$1578) + ($$1626812)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = (($$1626812) - ($$1612))|0; + $120 = (($106) + ($119)|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + $123 = (($122) + ($118))|0; + $124 = $123&255; + $125 = (($106) + ($$1626812)|0); + HEAP8[$125>>0] = $124; + $126 = (($$1626812) + 1)|0; + $exitcond886 = ($126|0)==($109|0); + if ($exitcond886) { + break; + } else { + $$1626812 = $126; + } + } + } + break; + } + case 2: { + $114 = ($109|0)>(0); + if ($114) { + $$2627810 = 0; + while(1) { + $127 = (($$1578) + ($$2627810)|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = (($107) + ($$2627810)|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = (($132) + ($129))|0; + $134 = $133&255; + $135 = (($106) + ($$2627810)|0); + HEAP8[$135>>0] = $134; + $136 = (($$2627810) + 1)|0; + $exitcond885 = ($136|0)==($109|0); + if ($exitcond885) { + break; + } else { + $$2627810 = $136; + } + } + } + break; + } + case 3: { + $113 = ($109|0)>(0); + if ($113) { + $$3628808 = 0; + while(1) { + $137 = (($$1578) + ($$3628808)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = (($107) + ($$3628808)|0); + $141 = HEAP8[$140>>0]|0; + $142 = $141&255; + $143 = (($$3628808) - ($$1612))|0; + $144 = (($106) + ($143)|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = (($146) + ($142))|0; + $148 = $147 >>> 1; + $149 = (($148) + ($139))|0; + $150 = $149&255; + $151 = (($106) + ($$3628808)|0); + HEAP8[$151>>0] = $150; + $152 = (($$3628808) + 1)|0; + $exitcond884 = ($152|0)==($109|0); + if ($exitcond884) { + break; + } else { + $$3628808 = $152; + } + } + } + break; + } + case 4: { + $112 = ($109|0)>(0); + if ($112) { + $$4629806 = 0; + while(1) { + $153 = (($$1578) + ($$4629806)|0); + $154 = HEAP8[$153>>0]|0; + $155 = $154&255; + $156 = (($$4629806) - ($$1612))|0; + $157 = (($106) + ($156)|0); + $158 = HEAP8[$157>>0]|0; + $159 = $158&255; + $160 = (($107) + ($$4629806)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $163 = (($107) + ($156)|0); + $164 = HEAP8[$163>>0]|0; + $165 = $164&255; + $166 = (_stbi__paeth($159,$162,$165)|0); + $167 = (($166) + ($155))|0; + $168 = $167&255; + $169 = (($106) + ($$4629806)|0); + HEAP8[$169>>0] = $168; + $170 = (($$4629806) + 1)|0; + $exitcond883 = ($170|0)==($109|0); + if ($exitcond883) { + break; + } else { + $$4629806 = $170; + } + } + } + break; + } + case 5: { + $111 = ($109|0)>(0); + if ($111) { + $$5630804 = 0; + while(1) { + $171 = (($$1578) + ($$5630804)|0); + $172 = HEAP8[$171>>0]|0; + $173 = $172&255; + $174 = (($$5630804) - ($$1612))|0; + $175 = (($106) + ($174)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $177 >>> 1; + $179 = (($178) + ($173))|0; + $180 = $179&255; + $181 = (($106) + ($$5630804)|0); + HEAP8[$181>>0] = $180; + $182 = (($$5630804) + 1)|0; + $exitcond882 = ($182|0)==($109|0); + if ($exitcond882) { + break; + } else { + $$5630804 = $182; + } + } + } + break; + } + case 6: { + $110 = ($109|0)>(0); + if ($110) { + $$6631802 = 0; + while(1) { + $183 = (($$1578) + ($$6631802)|0); + $184 = HEAP8[$183>>0]|0; + $185 = $184&255; + $186 = (($$6631802) - ($$1612))|0; + $187 = (($106) + ($186)|0); + $188 = HEAP8[$187>>0]|0; + $189 = $188&255; + $190 = (_stbi__paeth($189,0,0)|0); + $191 = (($190) + ($185))|0; + $192 = $191&255; + $193 = (($106) + ($$6631802)|0); + HEAP8[$193>>0] = $192; + $194 = (($$6631802) + 1)|0; + $exitcond881 = ($194|0)==($109|0); + if ($exitcond881) { + break; + } else { + $$6631802 = $194; + } + } + } + break; + } + default: { + } + } + $195 = (($$1578) + ($109)|0); + $$11$ph = $195; + } else { + if (!($19)) { + label = 58; + break; + } + $trunc = $$0588&255; + switch ($trunc<<24>>24) { + case 0: { + if ($43) { + $$9586 = $$1578; + } else { + $208 = ($$1612|0)>(0); + $209 = Math_imul($$6620742, $$1612)|0; + $$0614796 = $$0614793;$$2579795 = $$1578;$$2599794 = $106; + while(1) { + if ($208) { + $$7632790 = 0; + while(1) { + $210 = (($$2579795) + ($$7632790)|0); + $211 = HEAP8[$210>>0]|0; + $212 = (($$2599794) + ($$7632790)|0); + HEAP8[$212>>0] = $211; + $213 = (($$7632790) + 1)|0; + $exitcond877 = ($213|0)==($$1612|0); + if ($exitcond877) { + break; + } else { + $$7632790 = $213; + } + } + } + $214 = (($$2599794) + ($$1612)|0); + HEAP8[$214>>0] = -1; + $215 = (($$2579795) + ($$1612)|0); + $216 = (($$2599794) + ($15)|0); + $$0614 = (($$0614796) + -1)|0; + $217 = ($$0614|0)==(0); + if ($217) { + break; + } else { + $$0614796 = $$0614;$$2579795 = $215;$$2599794 = $216; + } + } + $scevgep879 = (($$1578) + ($209)|0); + $$9586 = $scevgep879; + } + break; + } + case 1: { + if ($44) { + $$9586 = $$1578; + } else { + $206 = ($$1612|0)>(0); + $207 = Math_imul($$6620742, $$1612)|0; + $$1615788 = $$1615785;$$3580787 = $$1578;$$3600786 = $106; + while(1) { + if ($206) { + $$8633782 = 0; + while(1) { + $218 = (($$3580787) + ($$8633782)|0); + $219 = HEAP8[$218>>0]|0; + $220 = $219&255; + $221 = (($$8633782) - ($15))|0; + $222 = (($$3600786) + ($221)|0); + $223 = HEAP8[$222>>0]|0; + $224 = $223&255; + $225 = (($224) + ($220))|0; + $226 = $225&255; + $227 = (($$3600786) + ($$8633782)|0); + HEAP8[$227>>0] = $226; + $228 = (($$8633782) + 1)|0; + $exitcond875 = ($228|0)==($$1612|0); + if ($exitcond875) { + break; + } else { + $$8633782 = $228; + } + } + } + $229 = (($$3600786) + ($$1612)|0); + HEAP8[$229>>0] = -1; + $230 = (($$3580787) + ($$1612)|0); + $231 = (($$3600786) + ($15)|0); + $$1615 = (($$1615788) + -1)|0; + $232 = ($$1615|0)==(0); + if ($232) { + break; + } else { + $$1615788 = $$1615;$$3580787 = $230;$$3600786 = $231; + } + } + $scevgep876 = (($$1578) + ($207)|0); + $$9586 = $scevgep876; + } + break; + } + case 2: { + if ($45) { + $$9586 = $$1578; + } else { + $204 = ($$1612|0)>(0); + $205 = Math_imul($$6620742, $$1612)|0; + $$2616780 = $$2616776;$$3592778 = $107;$$4581779 = $$1578;$$4601777 = $106; + while(1) { + if ($204) { + $$9634773 = 0; + while(1) { + $233 = (($$4581779) + ($$9634773)|0); + $234 = HEAP8[$233>>0]|0; + $235 = $234&255; + $236 = (($$3592778) + ($$9634773)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($238) + ($235))|0; + $240 = $239&255; + $241 = (($$4601777) + ($$9634773)|0); + HEAP8[$241>>0] = $240; + $242 = (($$9634773) + 1)|0; + $exitcond873 = ($242|0)==($$1612|0); + if ($exitcond873) { + break; + } else { + $$9634773 = $242; + } + } + } + $243 = (($$4601777) + ($$1612)|0); + HEAP8[$243>>0] = -1; + $244 = (($$4581779) + ($$1612)|0); + $245 = (($$4601777) + ($15)|0); + $246 = (($$3592778) + ($15)|0); + $$2616 = (($$2616780) + -1)|0; + $247 = ($$2616|0)==(0); + if ($247) { + break; + } else { + $$2616780 = $$2616;$$3592778 = $246;$$4581779 = $244;$$4601777 = $245; + } + } + $scevgep874 = (($$1578) + ($205)|0); + $$9586 = $scevgep874; + } + break; + } + case 3: { + if ($46) { + $$9586 = $$1578; + } else { + $202 = ($$1612|0)>(0); + $203 = Math_imul($$6620742, $$1612)|0; + $$3617771 = $$3617767;$$4593769 = $107;$$5582770 = $$1578;$$5602768 = $106; + while(1) { + if ($202) { + $$10635764 = 0; + while(1) { + $248 = (($$5582770) + ($$10635764)|0); + $249 = HEAP8[$248>>0]|0; + $250 = $249&255; + $251 = (($$4593769) + ($$10635764)|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = (($$10635764) - ($15))|0; + $255 = (($$5602768) + ($254)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = (($257) + ($253))|0; + $259 = $258 >>> 1; + $260 = (($259) + ($250))|0; + $261 = $260&255; + $262 = (($$5602768) + ($$10635764)|0); + HEAP8[$262>>0] = $261; + $263 = (($$10635764) + 1)|0; + $exitcond871 = ($263|0)==($$1612|0); + if ($exitcond871) { + break; + } else { + $$10635764 = $263; + } + } + } + $264 = (($$5602768) + ($$1612)|0); + HEAP8[$264>>0] = -1; + $265 = (($$5582770) + ($$1612)|0); + $266 = (($$5602768) + ($15)|0); + $267 = (($$4593769) + ($15)|0); + $$3617 = (($$3617771) + -1)|0; + $268 = ($$3617|0)==(0); + if ($268) { + break; + } else { + $$3617771 = $$3617;$$4593769 = $267;$$5582770 = $265;$$5602768 = $266; + } + } + $scevgep872 = (($$1578) + ($203)|0); + $$9586 = $scevgep872; + } + break; + } + case 4: { + if ($47) { + $$9586 = $$1578; + } else { + $200 = ($$1612|0)>(0); + $201 = Math_imul($$6620742, $$1612)|0; + $$4618762 = $$4618758;$$5594760 = $107;$$6583761 = $$1578;$$6603759 = $106; + while(1) { + if ($200) { + $$11636755 = 0; + while(1) { + $269 = (($$6583761) + ($$11636755)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + $272 = (($$11636755) - ($15))|0; + $273 = (($$6603759) + ($272)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $276 = (($$5594760) + ($$11636755)|0); + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $279 = (($$5594760) + ($272)|0); + $280 = HEAP8[$279>>0]|0; + $281 = $280&255; + $282 = (_stbi__paeth($275,$278,$281)|0); + $283 = (($282) + ($271))|0; + $284 = $283&255; + $285 = (($$6603759) + ($$11636755)|0); + HEAP8[$285>>0] = $284; + $286 = (($$11636755) + 1)|0; + $exitcond869 = ($286|0)==($$1612|0); + if ($exitcond869) { + break; + } else { + $$11636755 = $286; + } + } + } + $287 = (($$6603759) + ($$1612)|0); + HEAP8[$287>>0] = -1; + $288 = (($$6583761) + ($$1612)|0); + $289 = (($$6603759) + ($15)|0); + $290 = (($$5594760) + ($15)|0); + $$4618 = (($$4618762) + -1)|0; + $291 = ($$4618|0)==(0); + if ($291) { + break; + } else { + $$4618762 = $$4618;$$5594760 = $290;$$6583761 = $288;$$6603759 = $289; + } + } + $scevgep870 = (($$1578) + ($201)|0); + $$9586 = $scevgep870; + } + break; + } + case 5: { + if ($48) { + $$9586 = $$1578; + } else { + $198 = ($$1612|0)>(0); + $199 = Math_imul($$6620742, $$1612)|0; + $$5619753 = $$5619750;$$7584752 = $$1578;$$7604751 = $106; + while(1) { + if ($198) { + $$12747 = 0; + while(1) { + $292 = (($$7584752) + ($$12747)|0); + $293 = HEAP8[$292>>0]|0; + $294 = $293&255; + $295 = (($$12747) - ($15))|0; + $296 = (($$7604751) + ($295)|0); + $297 = HEAP8[$296>>0]|0; + $298 = $297&255; + $299 = $298 >>> 1; + $300 = (($299) + ($294))|0; + $301 = $300&255; + $302 = (($$7604751) + ($$12747)|0); + HEAP8[$302>>0] = $301; + $303 = (($$12747) + 1)|0; + $exitcond867 = ($303|0)==($$1612|0); + if ($exitcond867) { + break; + } else { + $$12747 = $303; + } + } + } + $304 = (($$7604751) + ($$1612)|0); + HEAP8[$304>>0] = -1; + $305 = (($$7584752) + ($$1612)|0); + $306 = (($$7604751) + ($15)|0); + $$5619 = (($$5619753) + -1)|0; + $307 = ($$5619|0)==(0); + if ($307) { + break; + } else { + $$5619753 = $$5619;$$7584752 = $305;$$7604751 = $306; + } + } + $scevgep868 = (($$1578) + ($199)|0); + $$9586 = $scevgep868; + } + break; + } + case 6: { + if ($49) { + $$9586 = $$1578; + } else { + $196 = ($$1612|0)>(0); + $197 = Math_imul($$6620742, $$1612)|0; + $$6620745 = $$6620742;$$8585744 = $$1578;$$8605743 = $106; + while(1) { + if ($196) { + $$13739 = 0; + while(1) { + $308 = (($$8585744) + ($$13739)|0); + $309 = HEAP8[$308>>0]|0; + $310 = $309&255; + $311 = (($$13739) - ($15))|0; + $312 = (($$8605743) + ($311)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $315 = (_stbi__paeth($314,0,0)|0); + $316 = (($315) + ($310))|0; + $317 = $316&255; + $318 = (($$8605743) + ($$13739)|0); + HEAP8[$318>>0] = $317; + $319 = (($$13739) + 1)|0; + $exitcond865 = ($319|0)==($$1612|0); + if ($exitcond865) { + break; + } else { + $$13739 = $319; + } + } + } + $320 = (($$8605743) + ($$1612)|0); + HEAP8[$320>>0] = -1; + $321 = (($$8585744) + ($$1612)|0); + $322 = (($$8605743) + ($15)|0); + $$6620 = (($$6620745) + -1)|0; + $323 = ($$6620|0)==(0); + if ($323) { + break; + } else { + $$6620745 = $$6620;$$8585744 = $321;$$8605743 = $322; + } + } + $scevgep866 = (($$1578) + ($197)|0); + $$9586 = $scevgep866; + } + break; + } + default: { + $$9586 = $$1578; + } + } + if ($brmerge894) { + $$11$ph = $$9586; + } else { + $324 = HEAP32[$21>>2]|0; + $325 = (($324) + ($51)|0); + $326 = (($$1612) + 1)|0; + $$7621798 = 0;$$9606799 = $325; + while(1) { + $327 = (($$9606799) + ($326)|0); + HEAP8[$327>>0] = -1; + $328 = (($$7621798) + 1)|0; + $329 = (($$9606799) + ($15)|0); + $exitcond880 = ($328|0)==($4|0); + if ($exitcond880) { + $$11$ph = $$9586; + break; + } else { + $$7621798 = $328;$$9606799 = $329; + } + } + } + } + $330 = (($$0623814) + 1)|0; + $331 = ($330>>>0)<($5>>>0); + if ($331) { + $$0577817 = $$11$ph;$$0608816 = $$1609;$$0611815 = $$1612;$$0623814 = $330; + } else { + break L18; + } + } + if ((label|0) == 16) { + ___assert_fail((12584|0),(11926|0),4315,(12539|0)); + // unreachable; + } + else if ((label|0) == 58) { + ___assert_fail((12610|0),(11926|0),4377,(12539|0)); + // unreachable; + } + else if ((label|0) == 105) { + _stbi__err(12627); + $$2 = 0; + return ($$2|0); + } + } + } while(0); + $332 = ($6|0)<(8); + if (!($332)) { + if (!($8)) { + $$2 = 1; + return ($$2|0); + } + $601 = Math_imul($4, $3)|0; + $602 = Math_imul($601, $5)|0; + $603 = ($602|0)==(0); + if ($603) { + $$2 = 1; + return ($$2|0); + } + $604 = HEAP32[$21>>2]|0; + $$0731 = $604;$$8622729 = 0; + while(1) { + $605 = HEAP8[$$0731>>0]|0; + $606 = $605&255; + $607 = $606 << 8; + $608 = ((($$0731)) + 1|0); + $609 = HEAP8[$608>>0]|0; + $610 = $609&255; + $611 = $607 | $610; + $612 = $611&65535; + HEAP16[$$0731>>1] = $612; + $613 = (($$8622729) + 1)|0; + $614 = ((($$0731)) + 2|0); + $exitcond = ($613|0)==($602|0); + if ($exitcond) { + $$2 = 1; + break; + } else { + $$0731 = $614;$$8622729 = $613; + } + } + return ($$2|0); + } + $333 = ($5|0)==(0); + if ($333) { + $$2 = 1; + return ($$2|0); + } + $334 = (0 - ($26))|0; + $335 = ($7|0)==(0); + $336 = (12323 + ($6)|0); + $$0568724 = (($4) + -1)|0; + $337 = ($$0568724|0)>(-1); + $$1721 = (($4) + -1)|0; + $338 = ($$1721|0)>(-1); + $339 = ($23|0)>(1); + $340 = ($23|0)>(3); + $341 = ($23|0)>(7); + $342 = (($23) + -8)|0; + $343 = $342 >>> 3; + $344 = $343 << 3; + $345 = (($344) + 8)|0; + $346 = (($342) - ($344))|0; + $347 = (($343) + ($11))|0; + $348 = (($347) + 1)|0; + $349 = (($348) - ($26))|0; + $350 = (($23) + -4)|0; + $351 = $350 >>> 2; + $352 = $351 << 2; + $353 = (($352) + 4)|0; + $354 = (($350) - ($352))|0; + $355 = (($351) + ($11))|0; + $356 = (($355) + 1)|0; + $357 = (($356) - ($26))|0; + $358 = (($23) + -2)|0; + $359 = $358 >>> 1; + $360 = $359 << 1; + $361 = (($360) + 2)|0; + $362 = (($358) - ($360))|0; + $363 = (($359) + ($11))|0; + $364 = (($363) + 1)|0; + $365 = (($364) - ($26))|0; + $$1624727 = 0;$indvars$iv = $345;$indvars$iv848 = $349;$indvars$iv851 = $353;$indvars$iv854 = $357;$indvars$iv857 = $361;$indvars$iv860 = $365; + L174: while(1) { + $366 = HEAP32[$21>>2]|0; + $367 = Math_imul($$1624727, $12)|0; + $368 = (($366) + ($367)|0); + $369 = (($368) + ($11)|0); + $370 = (($369) + ($334)|0); + if ($335) { + $371 = HEAP8[$336>>0]|0; + $372 = $371&255; + $377 = $372; + } else { + $377 = 1; + } + switch ($6|0) { + case 4: { + if ($339) { + $scevgep859 = (($366) + ($indvars$iv857)|0); + $$0571715 = $370;$$0574714 = $368;$$14713 = $23; + while(1) { + $373 = HEAP8[$$0571715>>0]|0; + $374 = $373&255; + $375 = $374 >>> 4; + $376 = Math_imul($375, $377)|0; + $378 = $376&255; + $379 = ((($$0574714)) + 1|0); + HEAP8[$$0574714>>0] = $378; + $380 = HEAP8[$$0571715>>0]|0; + $381 = $380 & 15; + $382 = $381&255; + $383 = Math_imul($382, $377)|0; + $384 = $383&255; + $385 = ((($$0574714)) + 2|0); + HEAP8[$379>>0] = $384; + $386 = (($$14713) + -2)|0; + $387 = ((($$0571715)) + 1|0); + $388 = ($386|0)>(1); + if ($388) { + $$0571715 = $387;$$0574714 = $385;$$14713 = $386; + } else { + break; + } + } + $scevgep862 = (($366) + ($indvars$iv860)|0); + $$0571$lcssa = $scevgep862;$$0574$lcssa = $scevgep859;$$14$lcssa = $362; + } else { + $$0571$lcssa = $370;$$0574$lcssa = $368;$$14$lcssa = $23; + } + $389 = ($$14$lcssa|0)==(1); + if ($389) { + $390 = HEAP8[$$0571$lcssa>>0]|0; + $391 = $390&255; + $392 = $391 >>> 4; + $393 = Math_imul($392, $377)|0; + $394 = $393&255; + HEAP8[$$0574$lcssa>>0] = $394; + } break; } - } - $69 = HEAP32[(5184)>>2]|0; - $70 = ((($69)) + 12|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[(5172)>>2] = $71; - $72 = HEAP32[5152>>2]|0; - HEAP32[$vararg_buffer>>2] = $72; - _TraceLog(0,17223,$vararg_buffer); - STACKTOP = sp;return; -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[5152>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[5152+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[5152+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[5152+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[5152+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(5180)>>2]|0; - _free($0); - $1 = HEAP32[(5184)>>2]|0; - _free($1); - $2 = HEAP32[(5188)>>2]|0; - _free($2); - $3 = HEAP32[(5192)>>2]|0; - _free($3); - STACKTOP = sp;return; -} -function _GetDefaultFont($agg$result) { - $agg$result = $agg$result|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=$agg$result; src=5152; 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)); - return; -} -function _LoadSpriteFont($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $i$01 = 0, $image = 0, $image$byval_copy12 = 0, $spriteFont = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr4 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $image$byval_copy12 = sp + 112|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $spriteFont = sp + 28|0; - $image = sp + 92|0; - $0 = sp + 72|0; - $1 = (_GetExtension($fileName)|0); - $2 = (_strcmp($1,17268)|0); - $3 = ($2|0)==(0); - do { - if ($3) { - _LoadRBMF($spriteFont,$fileName); - } else { - $4 = (_GetExtension($fileName)|0); - $5 = (_strcmp($4,17273)|0); - $6 = ($5|0)==(0); - if ($6) { - _LoadTTF($spriteFont,$fileName); - break; - } - $7 = (_GetExtension($fileName)|0); - $8 = (_strcmp($7,17277)|0); - $9 = ($8|0)==(0); - if ($9) { - _LoadBMFont($spriteFont,$fileName); - break; - } - _LoadImage($image,$fileName); - $10 = HEAP32[$image>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - HEAP32[$vararg_buffer5>>2] = $fileName; - _TraceLog(2,17358,$vararg_buffer5); - _GetDefaultFont($spriteFont); + case 2: { + if ($340) { + $scevgep853 = (($366) + ($indvars$iv851)|0); + $$15705 = $23;$$1572707 = $370;$$1575706 = $368; + while(1) { + $395 = HEAP8[$$1572707>>0]|0; + $396 = $395&255; + $397 = $396 >>> 6; + $398 = Math_imul($397, $377)|0; + $399 = $398&255; + $400 = ((($$1575706)) + 1|0); + HEAP8[$$1575706>>0] = $399; + $401 = HEAP8[$$1572707>>0]|0; + $402 = $401&255; + $403 = $402 >>> 4; + $404 = $403 & 3; + $405 = Math_imul($404, $377)|0; + $406 = $405&255; + $407 = ((($$1575706)) + 2|0); + HEAP8[$400>>0] = $406; + $408 = HEAP8[$$1572707>>0]|0; + $409 = $408&255; + $410 = $409 >>> 2; + $411 = $410 & 3; + $412 = Math_imul($411, $377)|0; + $413 = $412&255; + $414 = ((($$1575706)) + 3|0); + HEAP8[$407>>0] = $413; + $415 = HEAP8[$$1572707>>0]|0; + $416 = $415 & 3; + $417 = $416&255; + $418 = Math_imul($417, $377)|0; + $419 = $418&255; + $420 = ((($$1575706)) + 4|0); + HEAP8[$414>>0] = $419; + $421 = (($$15705) + -4)|0; + $422 = ((($$1572707)) + 1|0); + $423 = ($421|0)>(3); + if ($423) { + $$15705 = $421;$$1572707 = $422;$$1575706 = $420; + } else { + break; + } + } + $scevgep856 = (($366) + ($indvars$iv854)|0); + $$15$lcssa = $354;$$1572$lcssa = $scevgep856;$$1575$lcssa = $scevgep853; } else { - $12 = ((($spriteFont)) + 28|0); - $13 = ((($spriteFont)) + 32|0); - ;HEAP32[$image$byval_copy12>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy12+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy12+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy12+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy12+16>>2]=HEAP32[$image+16>>2]|0; - $14 = (_ParseImageData($image$byval_copy12,$12,$13)|0); - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(3,17281,$vararg_buffer); - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $14; - _TraceLog(3,17319,$vararg_buffer1); - $15 = ((($spriteFont)) + 24|0); - HEAP32[$15>>2] = $14; - ;HEAP32[$image$byval_copy12>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy12+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy12+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy12+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy12+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy12); - ;HEAP32[$spriteFont>>2]=HEAP32[$0>>2]|0;HEAP32[$spriteFont+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$spriteFont+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$spriteFont+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$spriteFont+16>>2]=HEAP32[$0+16>>2]|0; - $16 = HEAP32[$13>>2]|0; - $17 = ((($16)) + 12|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($spriteFont)) + 20|0); - HEAP32[$19>>2] = $18; - $20 = HEAP32[$15>>2]|0; - $21 = $20 << 3; - $22 = (_malloc($21)|0); - $23 = ((($spriteFont)) + 36|0); - HEAP32[$23>>2] = $22; - $24 = HEAP32[$15>>2]|0; - $25 = $24 << 2; - $26 = (_malloc($25)|0); - $27 = ((($spriteFont)) + 40|0); - HEAP32[$27>>2] = $26; - $28 = HEAP32[$15>>2]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[$23>>2]|0; - $31 = HEAP32[$27>>2]|0; - $32 = HEAP32[$15>>2]|0; - $i$01 = 0; - while(1) { - $33 = (($30) + ($i$01<<3)|0); - HEAPF32[$33>>2] = 0.0; - $34 = (((($30) + ($i$01<<3)|0)) + 4|0); - HEAPF32[$34>>2] = 0.0; - $35 = (($31) + ($i$01<<2)|0); - HEAP32[$35>>2] = 0; - $36 = (($i$01) + 1)|0; - $37 = ($36|0)<($32|0); - if ($37) { - $i$01 = $36; - } else { - break; + $$15$lcssa = $23;$$1572$lcssa = $370;$$1575$lcssa = $368; + } + $424 = ($$15$lcssa|0)>(0); + if ($424) { + $425 = HEAP8[$$1572$lcssa>>0]|0; + $426 = $425&255; + $427 = $426 >>> 6; + $428 = Math_imul($427, $377)|0; + $429 = $428&255; + HEAP8[$$1575$lcssa>>0] = $429; + $430 = ($$15$lcssa|0)==(1); + if (!($430)) { + $431 = ((($$1575$lcssa)) + 1|0); + $432 = HEAP8[$$1572$lcssa>>0]|0; + $433 = $432&255; + $434 = $433 >>> 4; + $435 = $434 & 3; + $436 = Math_imul($435, $377)|0; + $437 = $436&255; + HEAP8[$431>>0] = $437; + $438 = ($$15$lcssa|0)>(2); + if ($438) { + $439 = ((($$1575$lcssa)) + 2|0); + $440 = HEAP8[$$1572$lcssa>>0]|0; + $441 = $440&255; + $442 = $441 >>> 2; + $443 = $442 & 3; + $444 = Math_imul($443, $377)|0; + $445 = $444&255; + HEAP8[$439>>0] = $445; + } + } + } + break; + } + case 1: { + if ($341) { + $scevgep = (($366) + ($indvars$iv)|0); + $$16700 = $23;$$2573702 = $370;$$4701 = $368; + while(1) { + $446 = HEAP8[$$2573702>>0]|0; + $447 = $446&255; + $448 = $447 >>> 7; + $449 = (0 - ($448))|0; + $450 = $377 & $449; + $451 = $450&255; + $452 = ((($$4701)) + 1|0); + HEAP8[$$4701>>0] = $451; + $453 = HEAP8[$$2573702>>0]|0; + $454 = $453&255; + $455 = $454 >>> 6; + $456 = $455 & 1; + $457 = (0 - ($456))|0; + $458 = $377 & $457; + $459 = $458&255; + $460 = ((($$4701)) + 2|0); + HEAP8[$452>>0] = $459; + $461 = HEAP8[$$2573702>>0]|0; + $462 = $461&255; + $463 = $462 >>> 5; + $464 = $463 & 1; + $465 = (0 - ($464))|0; + $466 = $377 & $465; + $467 = $466&255; + $468 = ((($$4701)) + 3|0); + HEAP8[$460>>0] = $467; + $469 = HEAP8[$$2573702>>0]|0; + $470 = $469&255; + $471 = $470 >>> 4; + $472 = $471 & 1; + $473 = (0 - ($472))|0; + $474 = $377 & $473; + $475 = $474&255; + $476 = ((($$4701)) + 4|0); + HEAP8[$468>>0] = $475; + $477 = HEAP8[$$2573702>>0]|0; + $478 = $477&255; + $479 = $478 >>> 3; + $480 = $479 & 1; + $481 = (0 - ($480))|0; + $482 = $377 & $481; + $483 = $482&255; + $484 = ((($$4701)) + 5|0); + HEAP8[$476>>0] = $483; + $485 = HEAP8[$$2573702>>0]|0; + $486 = $485&255; + $487 = $486 >>> 2; + $488 = $487 & 1; + $489 = (0 - ($488))|0; + $490 = $377 & $489; + $491 = $490&255; + $492 = ((($$4701)) + 6|0); + HEAP8[$484>>0] = $491; + $493 = HEAP8[$$2573702>>0]|0; + $494 = $493&255; + $495 = $494 >>> 1; + $496 = $495 & 1; + $497 = (0 - ($496))|0; + $498 = $377 & $497; + $499 = $498&255; + $500 = ((($$4701)) + 7|0); + HEAP8[$492>>0] = $499; + $501 = HEAP8[$$2573702>>0]|0; + $502 = $501 & 1; + $503 = $502&255; + $504 = (0 - ($503))|0; + $505 = $377 & $504; + $506 = $505&255; + $507 = ((($$4701)) + 8|0); + HEAP8[$500>>0] = $506; + $508 = (($$16700) + -8)|0; + $509 = ((($$2573702)) + 1|0); + $510 = ($508|0)>(7); + if ($510) { + $$16700 = $508;$$2573702 = $509;$$4701 = $507; + } else { + break; + } + } + $scevgep850 = (($366) + ($indvars$iv848)|0); + $$16$lcssa = $346;$$2573$lcssa = $scevgep850;$$4$lcssa = $scevgep; + } else { + $$16$lcssa = $23;$$2573$lcssa = $370;$$4$lcssa = $368; + } + $511 = ($$16$lcssa|0)>(0); + if ($511) { + $512 = HEAP8[$$2573$lcssa>>0]|0; + $513 = $512&255; + $514 = $513 >>> 7; + $515 = (0 - ($514))|0; + $516 = $377 & $515; + $517 = $516&255; + HEAP8[$$4$lcssa>>0] = $517; + $518 = ($$16$lcssa|0)==(1); + if (!($518)) { + $519 = ((($$4$lcssa)) + 1|0); + $520 = HEAP8[$$2573$lcssa>>0]|0; + $521 = $520&255; + $522 = $521 >>> 6; + $523 = $522 & 1; + $524 = (0 - ($523))|0; + $525 = $377 & $524; + $526 = $525&255; + HEAP8[$519>>0] = $526; + $527 = ($$16$lcssa|0)>(2); + if ($527) { + $528 = ((($$4$lcssa)) + 2|0); + $529 = HEAP8[$$2573$lcssa>>0]|0; + $530 = $529&255; + $531 = $530 >>> 5; + $532 = $531 & 1; + $533 = (0 - ($532))|0; + $534 = $377 & $533; + $535 = $534&255; + HEAP8[$528>>0] = $535; + $536 = ($$16$lcssa|0)==(3); + if (!($536)) { + $537 = ((($$4$lcssa)) + 3|0); + $538 = HEAP8[$$2573$lcssa>>0]|0; + $539 = $538&255; + $540 = $539 >>> 4; + $541 = $540 & 1; + $542 = (0 - ($541))|0; + $543 = $377 & $542; + $544 = $543&255; + HEAP8[$537>>0] = $544; + $545 = ($$16$lcssa|0)>(4); + if ($545) { + $546 = ((($$4$lcssa)) + 4|0); + $547 = HEAP8[$$2573$lcssa>>0]|0; + $548 = $547&255; + $549 = $548 >>> 3; + $550 = $549 & 1; + $551 = (0 - ($550))|0; + $552 = $377 & $551; + $553 = $552&255; + HEAP8[$546>>0] = $553; + $554 = ($$16$lcssa|0)==(5); + if (!($554)) { + $555 = ((($$4$lcssa)) + 5|0); + $556 = HEAP8[$$2573$lcssa>>0]|0; + $557 = $556&255; + $558 = $557 >>> 2; + $559 = $558 & 1; + $560 = (0 - ($559))|0; + $561 = $377 & $560; + $562 = $561&255; + HEAP8[$555>>0] = $562; + $563 = ($$16$lcssa|0)>(6); + if ($563) { + $564 = ((($$4$lcssa)) + 6|0); + $565 = HEAP8[$$2573$lcssa>>0]|0; + $566 = $565&255; + $567 = $566 >>> 1; + $568 = $567 & 1; + $569 = (0 - ($568))|0; + $570 = $377 & $569; + $571 = $570&255; + HEAP8[$564>>0] = $571; + } + } + } } } } } - ;HEAP32[$image$byval_copy12>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy12+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy12+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy12+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy12+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy12); - } - } while(0); - $38 = HEAP32[$spriteFont>>2]|0; - $39 = ($38|0)==(0); - if (!($39)) { - dest=$agg$result; src=$spriteFont; 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; - } - HEAP32[$vararg_buffer8>>2] = $fileName; - _TraceLog(2,17358,$vararg_buffer8); - _GetDefaultFont($spriteFont); - dest=$agg$result; src=$spriteFont; 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 _UnloadSpriteFont($spriteFont) { - $spriteFont = $spriteFont|0; - var $$byval_copy = 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, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $0 = HEAP32[$spriteFont>>2]|0; - $1 = HEAP32[5152>>2]|0; - $2 = ($0|0)==($1|0); - if ($2) { - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$spriteFont>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$spriteFont+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$spriteFont+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$spriteFont+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$spriteFont+16>>2]|0; - _UnloadTexture($$byval_copy); - $3 = ((($spriteFont)) + 28|0); - $4 = HEAP32[$3>>2]|0; - _free($4); - $5 = ((($spriteFont)) + 32|0); - $6 = HEAP32[$5>>2]|0; - _free($6); - $7 = ((($spriteFont)) + 36|0); - $8 = HEAP32[$7>>2]|0; - _free($8); - $9 = ((($spriteFont)) + 40|0); - $10 = HEAP32[$9>>2]|0; - _free($10); - _TraceLog(0,17414,$vararg_buffer); - STACKTOP = sp;return; -} -function _DrawText($text,$posX,$posY,$fontSize,$color) { - $text = $text|0; - $posX = $posX|0; - $posY = $posY|0; - $fontSize = $fontSize|0; - $color = $color|0; - var $$fontSize = 0, $0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0, $4 = 0, $color$byval_copy = 0, $defaultFont$byval_copy = 0, $position = 0, $position$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $color$byval_copy = sp + 64|0; - $position$byval_copy = sp + 56|0; - $defaultFont$byval_copy = sp + 8|0; - $position = sp; - $0 = (+($posX|0)); - HEAPF32[$position>>2] = $0; - $1 = ((($position)) + 4|0); - $2 = (+($posY|0)); - HEAPF32[$1>>2] = $2; - $3 = ($fontSize|0)<(10); - $$fontSize = $3 ? 10 : $fontSize; - $4 = (($$fontSize|0) / 10)&-1; - dest=$defaultFont$byval_copy; src=5152; 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)); - ;HEAP32[$position$byval_copy>>2]=HEAP32[$position>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[$position+4>>2]|0; - ;HEAP8[$color$byval_copy>>0]=HEAP8[$color>>0]|0;HEAP8[$color$byval_copy+1>>0]=HEAP8[$color+1>>0]|0;HEAP8[$color$byval_copy+2>>0]=HEAP8[$color+2>>0]|0;HEAP8[$color$byval_copy+3>>0]=HEAP8[$color+3>>0]|0; - _DrawTextEx($defaultFont$byval_copy,$text,$position$byval_copy,$$fontSize,$4,$color$byval_copy); - STACKTOP = sp;return; -} -function _DrawTextEx($spriteFont,$text,$position,$fontSize,$spacing,$tint) { - $spriteFont = $spriteFont|0; - $text = $text|0; - $position = $position|0; - $fontSize = $fontSize|0; - $spacing = $spacing|0; - $tint = $tint|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0; - var $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.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.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0.0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0; - var $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0.0; - var $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0, $i$03 = 0, $i$1$ph = 0, $i$16 = 0, $rec = 0, $rec$byval_copy = 0, $textOffsetX$05 = 0, $textOffsetX$2 = 0, $textOffsetY$04 = 0, $textOffsetY$17 = 0, $tint$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $tint$byval_copy = sp + 104|0; - $$byval_copy2 = sp + 96|0; - $$byval_copy1 = sp + 80|0; - $rec$byval_copy = sp + 64|0; - $$byval_copy = sp + 40|0; - $rec = sp + 24|0; - $0 = sp + 8|0; - $1 = sp; - $2 = (_strlen($text)|0); - $3 = (+($fontSize|0)); - $4 = ((($spriteFont)) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = (+($5|0)); - $7 = $3 / $6; - $8 = ($2|0)>(0); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = ((($spriteFont)) + 32|0); - $10 = +HEAPF32[$position>>2]; - $11 = ((($spriteFont)) + 36|0); - $12 = ((($position)) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($rec)) + 8|0); - $15 = ((($rec)) + 12|0); - $16 = ((($0)) + 4|0); - $17 = ((($0)) + 8|0); - $18 = ((($0)) + 12|0); - $19 = ((($1)) + 4|0); - $20 = ((($spriteFont)) + 40|0); - $21 = (+($spacing|0)); - $22 = (+($spacing|0)); - $23 = ((($spriteFont)) + 32|0); - $24 = ((($spriteFont)) + 32|0); - $i$03 = 0;$textOffsetX$05 = 0;$textOffsetY$04 = 0; - while(1) { - $25 = (($text) + ($i$03)|0); - $26 = HEAP8[$25>>0]|0; - switch ($26<<24>>24) { - case -62: { - $27 = (($i$03) + 1)|0; - $28 = (($text) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = (($30) + -32)|0; - $32 = HEAP32[$23>>2]|0; - $33 = (($32) + ($31<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$33>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$33+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$33+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$33+12>>2]|0; - $i$1$ph = $27; - label = 8; - break; - } - case -61: { - $34 = (($i$03) + 1)|0; - $35 = (($text) + ($34)|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = (($37) + 32)|0; - $39 = HEAP32[$24>>2]|0; - $40 = (($39) + ($38<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$40>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$40+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$40+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$40+12>>2]|0; - $i$1$ph = $34; - label = 8; - break; - } - case 10: { - $41 = HEAP32[$4>>2]|0; - $42 = (($41|0) / 2)&-1; - $43 = (($42) + ($41))|0; - $44 = (+($43|0)); - $45 = $7 * $44; - $46 = (+($textOffsetY$04|0)); - $47 = $46 + $45; - $48 = (~~(($47))); - HEAP32[$rec>>2] = -1; - $i$16 = $i$03;$textOffsetX$2 = 0;$textOffsetY$17 = $48; break; } default: { - $49 = $26 << 24 >> 24; - $50 = (($49) + -32)|0; - $51 = HEAP32[$9>>2]|0; - $52 = (($51) + ($50<<4)|0); - ;HEAP32[$rec>>2]=HEAP32[$52>>2]|0;HEAP32[$rec+4>>2]=HEAP32[$52+4>>2]|0;HEAP32[$rec+8>>2]=HEAP32[$52+8>>2]|0;HEAP32[$rec+12>>2]=HEAP32[$52+12>>2]|0; - $i$1$ph = $i$03; - label = 8; } } - do { - if ((label|0) == 8) { - label = 0; - $$pr = HEAP32[$rec>>2]|0; - $53 = ($$pr|0)>(0); - if ($53) { - $54 = (+($textOffsetX$05|0)); - $55 = $54 + $10; - $56 = (($text) + ($i$1$ph)|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57 << 24 >> 24; - $59 = (($58) + -32)|0; - $60 = HEAP32[$11>>2]|0; - $61 = (($60) + ($59<<3)|0); - $62 = +HEAPF32[$61>>2]; - $63 = $7 * $62; - $64 = $55 + $63; - $65 = (~~(($64))); - $66 = (+($textOffsetY$04|0)); - $67 = $66 + $13; - $68 = (((($60) + ($59<<3)|0)) + 4|0); - $69 = +HEAPF32[$68>>2]; - $70 = $7 * $69; - $71 = $67 + $70; - $72 = (~~(($71))); - $73 = HEAP32[$14>>2]|0; - $74 = (+($73|0)); - $75 = $7 * $74; - $76 = (~~(($75))); - $77 = HEAP32[$15>>2]|0; - $78 = (+($77|0)); - $79 = $7 * $78; - $80 = (~~(($79))); - HEAP32[$0>>2] = $65; - HEAP32[$16>>2] = $72; - HEAP32[$17>>2] = $76; - HEAP32[$18>>2] = $80; - HEAPF32[$1>>2] = 0.0; - HEAPF32[$19>>2] = 0.0; - ;HEAP32[$$byval_copy>>2]=HEAP32[$spriteFont>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$spriteFont+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$spriteFont+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$spriteFont+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$spriteFont+16>>2]|0; - ;HEAP32[$rec$byval_copy>>2]=HEAP32[$rec>>2]|0;HEAP32[$rec$byval_copy+4>>2]=HEAP32[$rec+4>>2]|0;HEAP32[$rec$byval_copy+8>>2]=HEAP32[$rec+8>>2]|0;HEAP32[$rec$byval_copy+12>>2]=HEAP32[$rec+12>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; - ;HEAP8[$tint$byval_copy>>0]=HEAP8[$tint>>0]|0;HEAP8[$tint$byval_copy+1>>0]=HEAP8[$tint+1>>0]|0;HEAP8[$tint$byval_copy+2>>0]=HEAP8[$tint+2>>0]|0;HEAP8[$tint$byval_copy+3>>0]=HEAP8[$tint+3>>0]|0; - _DrawTexturePro($$byval_copy,$rec$byval_copy,$$byval_copy1,$$byval_copy2,0.0,$tint$byval_copy); - $81 = HEAP8[$56>>0]|0; - $82 = $81 << 24 >> 24; - $83 = (($82) + -32)|0; - $84 = HEAP32[$20>>2]|0; - $85 = (($84) + ($83<<2)|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - $88 = HEAP32[$14>>2]|0; - $89 = (+($88|0)); - $90 = $7 * $89; - $91 = $21 + $90; - $92 = $54 + $91; - $93 = (~~(($92))); - $i$16 = $i$1$ph;$textOffsetX$2 = $93;$textOffsetY$17 = $textOffsetY$04; - break; + L213: do { + if (!($17)) { + $572 = HEAP32[$21>>2]|0; + $573 = (($572) + ($367)|0); + switch ($14|0) { + case 1: { + if ($337) { + $$0568725 = $$0568724; } else { - $94 = (+($86|0)); - $95 = $7 * $94; - $96 = $22 + $95; - $97 = $54 + $96; - $98 = (~~(($97))); - $i$16 = $i$1$ph;$textOffsetX$2 = $98;$textOffsetY$17 = $textOffsetY$04; - break; + break L213; } - } else { - $i$16 = $i$1$ph;$textOffsetX$2 = $textOffsetX$05;$textOffsetY$17 = $textOffsetY$04; + while(1) { + $574 = $$0568725 << 1; + $575 = $574 | 1; + $576 = (($573) + ($575)|0); + HEAP8[$576>>0] = -1; + $577 = (($573) + ($$0568725)|0); + $578 = HEAP8[$577>>0]|0; + $579 = (($573) + ($574)|0); + HEAP8[$579>>0] = $578; + $$0568 = (($$0568725) + -1)|0; + $580 = ($$0568|0)>(-1); + if ($580) { + $$0568725 = $$0568; + } else { + break; + } + } + break; + } + case 3: { + if ($338) { + $$1722 = $$1721; + } else { + break L213; + } + while(1) { + $581 = $$1722 << 2; + $582 = $581 | 3; + $583 = (($573) + ($582)|0); + HEAP8[$583>>0] = -1; + $584 = ($$1722*3)|0; + $585 = (($584) + 2)|0; + $586 = (($573) + ($585)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $581 | 2; + $589 = (($573) + ($588)|0); + HEAP8[$589>>0] = $587; + $590 = (($584) + 1)|0; + $591 = (($573) + ($590)|0); + $592 = HEAP8[$591>>0]|0; + $593 = $581 | 1; + $594 = (($573) + ($593)|0); + HEAP8[$594>>0] = $592; + $595 = (($573) + ($584)|0); + $596 = HEAP8[$595>>0]|0; + $597 = (($573) + ($581)|0); + HEAP8[$597>>0] = $596; + $$1 = (($$1722) + -1)|0; + $598 = ($$1|0)>(-1); + if ($598) { + $$1722 = $$1; + } else { + break; + } + } + break; + } + default: { + label = 144; + break L174; + } } } } while(0); - $99 = (($i$16) + 1)|0; - $100 = ($99|0)<($2|0); - if ($100) { - $i$03 = $99;$textOffsetX$05 = $textOffsetX$2;$textOffsetY$04 = $textOffsetY$17; + $599 = (($$1624727) + 1)|0; + $600 = ($599>>>0)<($5>>>0); + $indvars$iv$next = (($indvars$iv) + ($12))|0; + $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; + $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; + $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; + $indvars$iv$next858 = (($indvars$iv857) + ($12))|0; + $indvars$iv$next861 = (($indvars$iv860) + ($12))|0; + if ($600) { + $$1624727 = $599;$indvars$iv = $indvars$iv$next;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855;$indvars$iv857 = $indvars$iv$next858;$indvars$iv860 = $indvars$iv$next861; } else { + $$2 = 1; + label = 151; break; } } - STACKTOP = sp;return; -} -function _FormatText($text,$varargs) { - $text = $text|0; - $varargs = $varargs|0; - var $args = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $args = sp; - HEAP32[$args>>2] = $varargs; - (_vsprintf(17440,$text,$args)|0); - STACKTOP = sp;return (17440|0); -} -function _MeasureText($text,$fontSize) { - $text = $text|0; - $fontSize = $fontSize|0; - var $$fontSize = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $defaultFont$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $defaultFont$byval_copy = sp + 8|0; - $0 = sp; - $1 = ($fontSize|0)<(10); - $$fontSize = $1 ? 10 : $fontSize; - $2 = (($$fontSize|0) / 10)&-1; - dest=$defaultFont$byval_copy; src=5152; 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)); - _MeasureTextEx($0,$defaultFont$byval_copy,$text,$$fontSize,$2); - $3 = +HEAPF32[$0>>2]; - $4 = (~~(($3))); - STACKTOP = sp;return ($4|0); -} -function _MeasureTextEx($agg$result,$spriteFont,$text,$fontSize,$spacing) { - $agg$result = $agg$result|0; - $spriteFont = $spriteFont|0; - $text = $text|0; - $fontSize = $fontSize|0; - $spacing = $spacing|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.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $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.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$05 = 0, $lenCounter$06 = 0, $lenCounter$1 = 0, $lenCounter$1$tempLen$0 = 0, $lenCounter$1$tempLen$0$lcssa = 0, $phitmp = 0, $scaleFactor$0 = 0.0, $tempLen$0$lcssa = 0, $tempLen$07 = 0; - var $tempTextWidth$0$lcssa = 0, $tempTextWidth$03 = 0, $tempTextWidth$2 = 0, $tempTextWidth$2$lcssa = 0, $textHeight$0$lcssa = 0, $textHeight$04 = 0, $textHeight$1 = 0, $textHeight$1$lcssa = 0, $textWidth$0$lcssa = 0, $textWidth$0$tempTextWidth$0 = 0, $textWidth$0$tempTextWidth$01 = 0, $textWidth$02 = 0, $textWidth$1 = 0, $textWidth$1$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen($text)|0); - $1 = ((($spriteFont)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($0|0)>(0); - if ($3) { - $4 = HEAP32[$1>>2]|0; - $5 = (($4|0) / 2)&-1; - $6 = ((($spriteFont)) + 40|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($spriteFont)) + 32|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($spriteFont)) + 36|0); - $11 = HEAP32[$10>>2]|0; - $i$05 = 0;$lenCounter$06 = 0;$tempLen$07 = 0;$tempTextWidth$03 = 0;$textHeight$04 = $2;$textWidth$02 = 0; - while(1) { - $12 = (($lenCounter$06) + 1)|0; - $13 = (($text) + ($i$05)|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(10); - do { - if ($15) { - $31 = ($tempTextWidth$03|0)<($textWidth$02|0); - $textWidth$0$tempTextWidth$0 = $31 ? $textWidth$02 : $tempTextWidth$03; - $32 = (($4) + ($textHeight$04))|0; - $33 = (($32) + ($5))|0; - $lenCounter$1 = 0;$tempTextWidth$2 = $textWidth$0$tempTextWidth$0;$textHeight$1 = $33;$textWidth$1 = 0; - } else { - $16 = $14 << 24 >> 24; - $17 = (($16) + -32)|0; - $18 = (($7) + ($17<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)==(0); - if ($20) { - $22 = (((($9) + ($17<<4)|0)) + 8|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - $25 = (($11) + ($17<<3)|0); - $26 = +HEAPF32[$25>>2]; - $27 = $24 + $26; - $28 = (+($textWidth$02|0)); - $29 = $28 + $27; - $30 = (~~(($29))); - $lenCounter$1 = $12;$tempTextWidth$2 = $tempTextWidth$03;$textHeight$1 = $textHeight$04;$textWidth$1 = $30; - break; - } else { - $21 = (($19) + ($textWidth$02))|0; - $lenCounter$1 = $12;$tempTextWidth$2 = $tempTextWidth$03;$textHeight$1 = $textHeight$04;$textWidth$1 = $21; - break; - } - } - } while(0); - $34 = ($tempLen$07|0)<($lenCounter$1|0); - $lenCounter$1$tempLen$0 = $34 ? $lenCounter$1 : $tempLen$07; - $35 = (($i$05) + 1)|0; - $exitcond = ($35|0)==($0|0); - if ($exitcond) { - $lenCounter$1$tempLen$0$lcssa = $lenCounter$1$tempLen$0;$tempTextWidth$2$lcssa = $tempTextWidth$2;$textHeight$1$lcssa = $textHeight$1;$textWidth$1$lcssa = $textWidth$1; - break; - } else { - $i$05 = $35;$lenCounter$06 = $lenCounter$1;$tempLen$07 = $lenCounter$1$tempLen$0;$tempTextWidth$03 = $tempTextWidth$2;$textHeight$04 = $textHeight$1;$textWidth$02 = $textWidth$1; - } - } - $phitmp = (($lenCounter$1$tempLen$0$lcssa) + -1)|0; - $tempLen$0$lcssa = $phitmp;$tempTextWidth$0$lcssa = $tempTextWidth$2$lcssa;$textHeight$0$lcssa = $textHeight$1$lcssa;$textWidth$0$lcssa = $textWidth$1$lcssa; - } else { - $tempLen$0$lcssa = -1;$tempTextWidth$0$lcssa = 0;$textHeight$0$lcssa = $2;$textWidth$0$lcssa = 0; - } - $36 = ($tempTextWidth$0$lcssa|0)<($textWidth$0$lcssa|0); - $textWidth$0$tempTextWidth$01 = $36 ? $textWidth$0$lcssa : $tempTextWidth$0$lcssa; - $37 = HEAP32[$1>>2]|0; - $38 = ($37|0)<($fontSize|0); - if (!($38)) { - $scaleFactor$0 = 1.0; - $42 = (+($textWidth$0$tempTextWidth$01|0)); - $43 = $42 * $scaleFactor$0; - $44 = Math_imul($tempLen$0$lcssa, $spacing)|0; - $45 = (+($44|0)); - $46 = $45 + $43; - $47 = (+($textHeight$0$lcssa|0)); - $48 = $47 * $scaleFactor$0; - HEAPF32[$agg$result>>2] = $46; - $49 = ((($agg$result)) + 4|0); - HEAPF32[$49>>2] = $48; - return; - } - $39 = (+($fontSize|0)); - $40 = (+($37|0)); - $41 = $39 / $40; - $scaleFactor$0 = $41; - $42 = (+($textWidth$0$tempTextWidth$01|0)); - $43 = $42 * $scaleFactor$0; - $44 = Math_imul($tempLen$0$lcssa, $spacing)|0; - $45 = (+($44|0)); - $46 = $45 + $43; - $47 = (+($textHeight$0$lcssa|0)); - $48 = $47 * $scaleFactor$0; - HEAPF32[$agg$result>>2] = $46; - $49 = ((($agg$result)) + 4|0); - HEAPF32[$49>>2] = $48; - return; -} -function _TraceLog($msgType,$text,$varargs) { - $msgType = $msgType|0; - $text = $text|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $args = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $args = sp; - switch ($msgType|0) { - case 0: { - $0 = HEAP32[11296>>2]|0; - (_fwrite(17504,6,1,$0)|0); - break; - } - case 1: { - $1 = HEAP32[11296>>2]|0; - (_fwrite(17511,7,1,$1)|0); - break; - } - case 2: { - $2 = HEAP32[11296>>2]|0; - (_fwrite(17519,9,1,$2)|0); - break; - } - case 3: { - STACKTOP = sp;return; - break; - } - default: { - } - } - HEAP32[$args>>2] = $varargs; - $3 = HEAP32[11296>>2]|0; - (_vfprintf($3,$text,$args)|0); - $4 = HEAP32[11296>>2]|0; - (_fputc(10,$4)|0); - $5 = ($msgType|0)==(1); - if ($5) { - _exit(1); + if ((label|0) == 144) { + ___assert_fail((12642|0),(11926|0),4466,(12539|0)); // unreachable; - } else { - STACKTOP = sp;return; } + else if ((label|0) == 151) { + return ($$2|0); + } + return (0)|0; } -function _GetExtension($fileName) { - $fileName = $fileName|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $or$cond = 0, label = 0, sp = 0; +function _stbi__paeth($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; + var label = 0, sp = 0; sp = STACKTOP; - $0 = (_strrchr($fileName,46)|0); - $1 = ($0|0)==(0|0); - $2 = ($0|0)==($fileName|0); - $or$cond = $1 | $2; - $3 = ((($0)) + 1|0); - $$0 = $or$cond ? 21528 : $3; + $3 = (($1) + ($0))|0; + $4 = (($3) - ($2))|0; + $5 = (($4) - ($0))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $6 = $ispos ? $5 : $neg; + $7 = (($4) - ($1))|0; + $ispos26 = ($7|0)>(-1); + $neg27 = (0 - ($7))|0; + $8 = $ispos26 ? $7 : $neg27; + $9 = (($4) - ($2))|0; + $ispos28 = ($9|0)>(-1); + $neg29 = (0 - ($9))|0; + $10 = $ispos28 ? $9 : $neg29; + $11 = ($6|0)>($8|0); + $12 = ($6|0)>($10|0); + $or$cond = $11 | $12; + $13 = ($8|0)>($10|0); + $$ = $13 ? $2 : $1; + $$0 = $or$cond ? $$ : $0; return ($$0|0); } -function _InitAudioDevice() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; +function _stbi__do_zlib($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, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_alcOpenDevice((0|0))|0); - $1 = ($0|0)==(0|0); - if ($1) { - _TraceLog(1,17529,$vararg_buffer); - } - $2 = (_alcCreateContext(($0|0),(0|0))|0); - $cond = ($2|0)==(0|0); - if ($cond) { - label = 6; - } else { - $3 = (_alcMakeContextCurrent(($2|0))|0); - $4 = ($3<<24>>24)==(0); + $5 = ((($0)) + 20|0); + HEAP32[$5>>2] = $1; + $6 = ((($0)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = (($1) + ($2)|0); + $8 = ((($0)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($0)) + 28|0); + HEAP32[$9>>2] = $3; + $10 = (_stbi__parse_zlib($0,$4)|0); + return ($10|0); +} +function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + if (!($2)) { + $3 = (_stbi__parse_zlib_header($0)|0); + $4 = ($3|0)==(0); if ($4) { - _alcDestroyContext(($2|0)); - label = 6; + $$0 = 0; + return ($$0|0); } } - if ((label|0) == 6) { - (_alcCloseDevice(($0|0))|0); - _TraceLog(1,17562,$vararg_buffer1); - } - $5 = (_alcGetString(($0|0),4101)|0); - HEAP32[$vararg_buffer3>>2] = $5; - _TraceLog(0,17592,$vararg_buffer3); - _alListener3f(4100,0.0,0.0,0.0); - _alListener3f(4102,0.0,0.0,0.0); - _alListener3f(4111,0.0,0.0,-1.0); - STACKTOP = sp;return; -} -function _CloseAudioDevice() { - var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _StopMusicStream(); - $0 = (_alcGetCurrentContext()|0); - $1 = ($0|0)==(0|0); - if ($1) { - _TraceLog(2,17646,$vararg_buffer); - } - $2 = (_alcGetContextsDevice(($0|0))|0); - (_alcMakeContextCurrent((0|0))|0); - _alcDestroyContext(($0|0)); - (_alcCloseDevice(($2|0))|0); - STACKTOP = sp;return; -} -function _StopMusicStream() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[8140>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - HEAP32[8140>>2] = 0; - return; - } - $2 = HEAP32[(8156)>>2]|0; - _alSourceStop(($2|0)); - _EmptyMusicStream(); - _alDeleteSources(1,((8156)|0)); - _alDeleteBuffers(2,((8148)|0)); - $3 = HEAP32[8144>>2]|0; - _stb_vorbis_close($3); - HEAP32[8140>>2] = 0; - return; -} -function _LoadSound($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $$1 = 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; - 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, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $buffer = 0, $format$0 = 0, $sound$sroa$0$0 = 0, $sound$sroa$3$0 = 0, $source = 0, $vararg_buffer = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $wave = 0, $wave$byval_copy = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $wave$byval_copy = sp + 8|0; - $vararg_buffer = sp; - $wave = sp + 32|0; - $source = sp + 28|0; - $buffer = sp + 24|0; - ;HEAP32[$wave>>2]=0|0;HEAP32[$wave+4>>2]=0|0;HEAP32[$wave+8>>2]=0|0;HEAP32[$wave+12>>2]=0|0; - $0 = (_GetExtension($fileName)|0); - $1 = (_strcmp($0,17694)|0); - $2 = ($1|0)==(0); - do { - if ($2) { - _LoadWAV($wave,$fileName); - } else { - $3 = (_GetExtension($fileName)|0); - $4 = (_strcmp($3,17698)|0); - $5 = ($4|0)==(0); - if ($5) { - _LoadOGG($wave,$fileName); - break; - } else { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,17702,$vararg_buffer); - break; - } - } - } while(0); - $6 = HEAP32[$wave>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - $sound$sroa$0$0 = 0;$sound$sroa$3$0 = 0; - HEAP32[$agg$result>>2] = $sound$sroa$0$0; - $39 = ((($agg$result)) + 4|0); - HEAP32[$39>>2] = $sound$sroa$3$0; - STACKTOP = sp;return; - } - $8 = ((($wave)) + 14|0); - $9 = HEAP16[$8>>1]|0; - switch ($9<<16>>16) { - case 1: { - $10 = ((($wave)) + 12|0); - $11 = HEAP16[$10>>1]|0; - $12 = ($11<<16>>16)==(8); - if ($12) { - $format$0 = 4352; - } else { - $13 = ($11<<16>>16)==(16); - $$ = $13 ? 4353 : 0; - $format$0 = $$; - } - break; - } - case 2: { - $14 = ((($wave)) + 12|0); - $15 = HEAP16[$14>>1]|0; - $16 = ($15<<16>>16)==(8); - if ($16) { - $format$0 = 4354; - } else { - $17 = ($15<<16>>16)==(16); - $$1 = $17 ? 4355 : 0; - $format$0 = $$1; - } - break; - } - default: { - $format$0 = 0; - } - } - _alGenSources(1,($source|0)); - $18 = HEAP32[$source>>2]|0; - _alSourcef(($18|0),4099,1.0); - $19 = HEAP32[$source>>2]|0; - _alSourcef(($19|0),4106,1.0); - $20 = HEAP32[$source>>2]|0; - _alSource3f(($20|0),4100,0.0,0.0,0.0); - $21 = HEAP32[$source>>2]|0; - _alSource3f(($21|0),4102,0.0,0.0,0.0); - $22 = HEAP32[$source>>2]|0; - _alSourcei(($22|0),4103,0); - _alGenBuffers(1,($buffer|0)); - $23 = HEAP32[$buffer>>2]|0; - $24 = HEAP32[$wave>>2]|0; - $25 = ((($wave)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = ((($wave)) + 8|0); - $28 = HEAP32[$27>>2]|0; - _alBufferData(($23|0),($format$0|0),($24|0),($26|0),($28|0)); - $29 = HEAP32[$source>>2]|0; - $30 = HEAP32[$buffer>>2]|0; - _alSourcei(($29|0),4105,($30|0)); - $31 = HEAP32[$27>>2]|0; - $32 = ((($wave)) + 12|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33 << 16 >> 16; - $35 = HEAP16[$8>>1]|0; - $36 = $35 << 16 >> 16; - HEAP32[$wave$byval_copy>>2] = $fileName; - $vararg_ptr4 = ((($wave$byval_copy)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $31; - $vararg_ptr5 = ((($wave$byval_copy)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $34; - $vararg_ptr6 = ((($wave$byval_copy)) + 12|0); - HEAP32[$vararg_ptr6>>2] = $36; - _TraceLog(0,17758,$wave$byval_copy); - ;HEAP32[$wave$byval_copy>>2]=HEAP32[$wave>>2]|0;HEAP32[$wave$byval_copy+4>>2]=HEAP32[$wave+4>>2]|0;HEAP32[$wave$byval_copy+8>>2]=HEAP32[$wave+8>>2]|0;HEAP32[$wave$byval_copy+12>>2]=HEAP32[$wave+12>>2]|0; - _UnloadWave($wave$byval_copy); - $37 = HEAP32[$source>>2]|0; - $38 = HEAP32[$buffer>>2]|0; - $sound$sroa$0$0 = $37;$sound$sroa$3$0 = $38; - HEAP32[$agg$result>>2] = $sound$sroa$0$0; - $39 = ((($agg$result)) + 4|0); - HEAP32[$39>>2] = $sound$sroa$3$0; - STACKTOP = sp;return; -} -function _UnloadSound($sound) { - $sound = $sound|0; - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - _alDeleteSources(1,($sound|0)); - $0 = ((($sound)) + 4|0); - _alDeleteBuffers(1,($0|0)); - _TraceLog(0,17838,$vararg_buffer); - STACKTOP = sp;return; -} -function _PlaySound($sound) { - $sound = $sound|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$sound>>2]|0; - _alSourcePlay(($0|0)); - return; -} -function _PlayMusicStream($fileName) { - $fileName = $fileName|0; - var $$ = 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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $info = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer13 = sp + 32|0; - $vararg_buffer9 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $info = sp + 40|0; - $0 = (_GetExtension($fileName)|0); - $1 = (_strcmp($0,17698)|0); - $2 = ($1|0)==(0); - if (!($2)) { - HEAP32[$vararg_buffer13>>2] = $fileName; - _TraceLog(2,17975,$vararg_buffer13); - STACKTOP = sp;return; - } - _StopMusicStream(); - $3 = (_stb_vorbis_open_filename($fileName,0,0)|0); - HEAP32[8144>>2] = $3; - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,17858,$vararg_buffer); - STACKTOP = sp;return; - } else { - _stb_vorbis_get_info($info,$3); - $5 = ((($info)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[(8164)>>2] = $6; - $7 = HEAP32[$info>>2]|0; - HEAP32[(8168)>>2] = $7; - $8 = HEAP32[$info>>2]|0; - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $8; - _TraceLog(0,17898,$vararg_buffer1); - $9 = HEAP32[$5>>2]|0; - HEAP32[$vararg_buffer5>>2] = $fileName; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $9; - _TraceLog(0,17923,$vararg_buffer5); - $10 = ((($info)) + 16|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer9>>2] = $fileName; - $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $11; - _TraceLog(3,17945,$vararg_buffer9); - $12 = HEAP32[$5>>2]|0; - $13 = ($12|0)==(2); - $$ = $13 ? 4355 : 4353; - HEAP32[(8160)>>2] = $$; - HEAP32[(8176)>>2] = 1; - HEAP32[8140>>2] = 1; - _alGenSources(1,((8156)|0)); - $14 = HEAP32[(8156)>>2]|0; - _alSourcef(($14|0),4099,1.0); - $15 = HEAP32[(8156)>>2]|0; - _alSourcef(($15|0),4106,1.0); - $16 = HEAP32[(8156)>>2]|0; - _alSource3f(($16|0),4100,0.0,0.0,0.0); - $17 = HEAP32[(8156)>>2]|0; - _alSource3f(($17|0),4102,0.0,0.0,0.0); - _alGenBuffers(2,((8148)|0)); - $18 = HEAP32[(8148)>>2]|0; - (_BufferMusicStream($18)|0); - $19 = HEAP32[(8152)>>2]|0; - (_BufferMusicStream($19)|0); - $20 = HEAP32[(8156)>>2]|0; - _alSourceQueueBuffers(($20|0),2,((8148)|0)); - $21 = HEAP32[(8156)>>2]|0; - _alSourcePlay(($21|0)); - $22 = HEAP32[8144>>2]|0; - $23 = (_stb_vorbis_stream_length_in_samples($22)|0); - $24 = HEAP32[(8164)>>2]|0; - $25 = Math_imul($24, $23)|0; - HEAP32[(8172)>>2] = $25; - STACKTOP = sp;return; - } -} -function _SetMusicVolume($volume) { - $volume = +$volume; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[(8156)>>2]|0; - _alSourcef(($0|0),4106,(+$volume)); - return; -} -function _UpdateMusicStream() { - var $$lcssa = 0, $$pr = 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; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $active$0$lcssa = 0, $active$1 = 0, $buffer = 0, $or$cond = 0, $or$cond3 = 0, $processed = 0, $state = 0, $vararg_buffer = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $buffer = sp + 12|0; - $processed = sp + 8|0; - $state = sp + 4|0; - HEAP32[$buffer>>2] = 0; - HEAP32[$processed>>2] = 0; - $0 = HEAP32[8140>>2]|0; - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - $2 = HEAP32[(8156)>>2]|0; - _alGetSourcei(($2|0),4118,($processed|0)); - $$pr = HEAP32[$processed>>2]|0; - $3 = ($$pr|0)>(0); - $4 = HEAP32[(8156)>>2]|0; - if ($3) { - $5 = $4; - while(1) { - _alSourceUnqueueBuffers(($5|0),1,($buffer|0)); - $6 = HEAP32[$buffer>>2]|0; - $7 = (_BufferMusicStream($6)|0); - $8 = ($7|0)==(0); - $9 = HEAP32[(8176)>>2]|0; - $10 = ($9|0)!=(0); - $or$cond = $8 & $10; - if ($or$cond) { - $11 = HEAP32[8144>>2]|0; - _stb_vorbis_seek_start($11); - $12 = HEAP32[8144>>2]|0; - $13 = (_stb_vorbis_stream_length_in_samples($12)|0); - $14 = HEAP32[(8164)>>2]|0; - $15 = Math_imul($14, $13)|0; - HEAP32[(8172)>>2] = $15; - $16 = HEAP32[$buffer>>2]|0; - $17 = (_BufferMusicStream($16)|0); - $active$1 = $17; - } else { - $active$1 = $7; - } - $18 = HEAP32[(8156)>>2]|0; - _alSourceQueueBuffers(($18|0),1,($buffer|0)); - $19 = (_alGetError()|0); - $20 = ($19|0)==(0); - if (!($20)) { - _TraceLog(2,18031,$vararg_buffer); - } - $21 = HEAP32[$processed>>2]|0; - $22 = (($21) + -1)|0; - HEAP32[$processed>>2] = $22; - $23 = ($21|0)>(1); - $24 = HEAP32[(8156)>>2]|0; - if ($23) { - $5 = $24; - } else { - $$lcssa = $24;$active$0$lcssa = $active$1; - break; - } - } - } else { - $$lcssa = $4;$active$0$lcssa = 1; - } - _alGetSourcei(($$lcssa|0),4112,($state|0)); - $25 = HEAP32[$state>>2]|0; - $26 = ($25|0)!=(4114); - $27 = ($active$0$lcssa|0)!=(0); - $or$cond3 = $27 & $26; - if ($or$cond3) { - $28 = HEAP32[(8156)>>2]|0; - _alSourcePlay(($28|0)); - } - if ($27) { - STACKTOP = sp;return; - } - _StopMusicStream(); - STACKTOP = sp;return; -} -function _ProcessGestureEvent($event) { - $event = $event|0; - var $0 = 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.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $155 = 0, $156 = 0.0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 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.0; - var $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.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.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, $moveDownPosition$byval_copy9 = 0, $moveDownPosition2$byval_copy10 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $moveDownPosition2$byval_copy10 = sp + 8|0; - $moveDownPosition$byval_copy9 = sp; - HEAPF32[104>>2] = 0.0; - HEAPF32[(108)>>2] = 0.0; - $0 = ((($event)) + 4|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[8180>>2] = $1; - $2 = ($1|0)<(2); - if (!($2)) { - $88 = HEAP32[$event>>2]|0; - switch ($88|0) { - case 1: { - $89 = ((($event)) + 24|0); - $90 = $89; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $93 = (($90) + 4)|0; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $96 = 112; - $97 = $96; - HEAP32[$97>>2] = $92; - $98 = (($96) + 4)|0; - $99 = $98; - HEAP32[$99>>2] = $95; - $100 = ((($event)) + 32|0); - $101 = $100; - $102 = $101; - $103 = HEAP32[$102>>2]|0; - $104 = (($101) + 4)|0; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = 136; - $108 = $107; - HEAP32[$108>>2] = $103; - $109 = (($107) + 4)|0; - $110 = $109; - HEAP32[$110>>2] = $106; - HEAP32[8192>>2] = 4; - STACKTOP = sp;return; - break; - } - case 2: { - ;HEAP32[$moveDownPosition$byval_copy9>>2]=HEAP32[128>>2]|0;HEAP32[$moveDownPosition$byval_copy9+4>>2]=HEAP32[128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy10>>2]=HEAP32[144>>2]|0;HEAP32[$moveDownPosition2$byval_copy10+4>>2]=HEAP32[144+4>>2]|0; - $111 = (+_Vector2Distance($moveDownPosition$byval_copy9,$moveDownPosition2$byval_copy10)); - HEAPF32[8196>>2] = $111; - $112 = 128; - $113 = $112; - $114 = HEAP32[$113>>2]|0; - $115 = (($112) + 4)|0; - $116 = $115; - $117 = HEAP32[$116>>2]|0; - $118 = 112; - $119 = $118; - HEAP32[$119>>2] = $114; - $120 = (($118) + 4)|0; - $121 = $120; - HEAP32[$121>>2] = $117; - $122 = 144; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = 136; - $129 = $128; - HEAP32[$129>>2] = $124; - $130 = (($128) + 4)|0; - $131 = $130; - HEAP32[$131>>2] = $127; - $132 = ((($event)) + 24|0); - $133 = $132; - $134 = $133; - $135 = HEAP32[$134>>2]|0; - $136 = (($133) + 4)|0; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = 128; - $140 = $139; - HEAP32[$140>>2] = $135; - $141 = (($139) + 4)|0; - $142 = $141; - HEAP32[$142>>2] = $138; - $143 = ((($event)) + 32|0); - $144 = $143; - $145 = $144; - $146 = HEAP32[$145>>2]|0; - $147 = (($144) + 4)|0; - $148 = $147; - $149 = HEAP32[$148>>2]|0; - $150 = 144; - $151 = $150; - HEAP32[$151>>2] = $146; - $152 = (($150) + 4)|0; - $153 = $152; - HEAP32[$153>>2] = $149; - ;HEAP32[$moveDownPosition$byval_copy9>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition$byval_copy9+4>>2]=HEAP32[112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy10>>2]=HEAP32[128>>2]|0;HEAP32[$moveDownPosition2$byval_copy10+4>>2]=HEAP32[128+4>>2]|0; - $154 = (+_Vector2Distance($moveDownPosition$byval_copy9,$moveDownPosition2$byval_copy10)); - $155 = $154 > 5.0; - if (!($155)) { - ;HEAP32[$moveDownPosition$byval_copy9>>2]=HEAP32[136>>2]|0;HEAP32[$moveDownPosition$byval_copy9+4>>2]=HEAP32[136+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy10>>2]=HEAP32[144>>2]|0;HEAP32[$moveDownPosition2$byval_copy10+4>>2]=HEAP32[144+4>>2]|0; - $156 = (+_Vector2Distance($moveDownPosition$byval_copy9,$moveDownPosition2$byval_copy10)); - $157 = $156 > 5.0; - if (!($157)) { - HEAP32[8192>>2] = 4; - STACKTOP = sp;return; - } - } - ;HEAP32[$moveDownPosition$byval_copy9>>2]=HEAP32[128>>2]|0;HEAP32[$moveDownPosition$byval_copy9+4>>2]=HEAP32[128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy10>>2]=HEAP32[144>>2]|0;HEAP32[$moveDownPosition2$byval_copy10+4>>2]=HEAP32[144+4>>2]|0; - $158 = (+_Vector2Distance($moveDownPosition$byval_copy9,$moveDownPosition2$byval_copy10)); - $159 = +HEAPF32[8196>>2]; - $160 = $158 - $159; - $161 = $160 < 0.0; - if ($161) { - HEAP32[8192>>2] = 256; - STACKTOP = sp;return; - } else { - HEAP32[8192>>2] = 512; - STACKTOP = sp;return; - } + $5 = ((($0)) + 8|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 12|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); + L5: while(1) { + $9 = (_stbi__zreceive($0,1)|0); + $10 = (_stbi__zreceive($0,2)|0); + switch ($10|0) { + case 3: { + $$0 = 0; + label = 11; + break L5; break; } case 0: { - HEAP32[8192>>2] = 0; - STACKTOP = sp;return; + $11 = (_stbi__parse_uncompressed_block($0)|0); + $12 = ($11|0)==(0); + if ($12) { + $$0 = 0; + label = 11; + break L5; + } + break; + } + case 1: { + $13 = (_stbi__zbuild_huffman($7,12653,288)|0); + $14 = ($13|0)==(0); + if ($14) { + $$0 = 0; + label = 11; + break L5; + } + $15 = (_stbi__zbuild_huffman($8,12941,32)|0); + $16 = ($15|0)==(0); + if ($16) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } break; } default: { - STACKTOP = sp;return; + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } } } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = 0; + label = 11; + break; + } + } + $21 = ($9|0)==(0); + if (!($21)) { + $$0 = 1; + label = 11; + break; + } } - $3 = ((($event)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[8184>>2] = $4; - $5 = HEAP32[$event>>2]|0; - switch ($5|0) { - case 1: { - $6 = HEAP32[8188>>2]|0; - $7 = (($6) + 1)|0; - HEAP32[8188>>2] = $7; - $8 = HEAP32[8192>>2]|0; - $9 = ($8|0)==(0); - $10 = ($6|0)>(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = ((($event)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy9>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition$byval_copy9+4>>2]=HEAP32[112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy10>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy10+4>>2]=HEAP32[$11+4>>2]|0; - $12 = (+_Vector2Distance($moveDownPosition$byval_copy9,$moveDownPosition2$byval_copy10)); - $13 = $12 < 30.0; - if ($13) { - HEAP32[8192>>2] = 2; - HEAP32[8188>>2] = 0; + if ((label|0) == 11) { + return ($$0|0); + } + return (0)|0; +} +function _stbi__parse_zlib_header($0) { + $0 = $0|0; + 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, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__zget8($0)|0); + $2 = $1&255; + $3 = $2 & 15; + $4 = (_stbi__zget8($0)|0); + $5 = $4&255; + $6 = $2 << 8; + $7 = $6 | $5; + $8 = (($7>>>0) % 31)&-1; + $9 = ($8|0)==(0); + if (!($9)) { + _stbi__err(13288); + $$0 = 0; + return ($$0|0); + } + $10 = $5 & 32; + $11 = ($10|0)==(0); + if (!($11)) { + _stbi__err(13304); + $$0 = 0; + return ($$0|0); + } + $12 = ($3|0)==(8); + if ($12) { + $$0 = 1; + return ($$0|0); + } + _stbi__err(13319); + $$0 = 0; + return ($$0|0); +} +function _stbi__zreceive($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)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = 1 << $1; + $8 = (($7) + -1)|0; + $9 = $6 & $8; + $10 = $6 >>> $1; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = (($11) - ($1))|0; + HEAP32[$2>>2] = $12; + return ($9|0); +} +function _stbi__parse_uncompressed_block($0) { + $0 = $0|0; + var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 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, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & 7; + $5 = ($4|0)==(0); + if ($5) { + $$ph = $3; + } else { + (_stbi__zreceive($0,$4)|0); + $$pr = HEAP32[$2>>2]|0; + $$ph = $$pr; + } + $6 = ($$ph|0)>(0); + if ($6) { + $7 = ((($0)) + 12|0); + $$promoted = HEAP32[$7>>2]|0; + $8 = $$ph ^ -1; + $9 = ($8|0)>(-9); + $smax = $9 ? $8 : -9; + $10 = (($$ph) + ($smax))|0; + $11 = (($10) + 8)|0; + $12 = $11 >>> 3; + $13 = (($12) + 1)|0; + $14 = $12 << 3; + $$037 = 0;$16 = $$promoted; + while(1) { + $15 = $16&255; + $17 = (($$037) + 1)|0; + $18 = (($1) + ($$037)|0); + HEAP8[$18>>0] = $15; + $19 = $16 >>> 8; + $exitcond47 = ($17|0)==($13|0); + if ($exitcond47) { + break; } else { - label = 6; + $$037 = $17;$16 = $19; + } + } + $20 = (($$ph) + -8)|0; + $21 = (($20) - ($14))|0; + HEAP32[$7>>2] = $19; + HEAP32[$2>>2] = $21; + $$0$lcssa = $13;$$lcssa = $21; + } else { + $$0$lcssa = 0;$$lcssa = $$ph; + } + $22 = ($$lcssa|0)==(0); + if (!($22)) { + ___assert_fail((13210|0),(11926|0),4033,(13227|0)); + // unreachable; + } + $23 = ($$0$lcssa|0)<(4); + if ($23) { + $$136 = $$0$lcssa; + while(1) { + $24 = (_stbi__zget8($0)|0); + $25 = (($$136) + 1)|0; + $26 = (($1) + ($$136)|0); + HEAP8[$26>>0] = $24; + $exitcond = ($25|0)==(4); + if ($exitcond) { + break; + } else { + $$136 = $25; + } + } + } + $27 = ((($1)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = HEAP8[$1>>0]|0; + $32 = $31&255; + $33 = $30 | $32; + $34 = ((($1)) + 3|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = $36 << 8; + $38 = ((($1)) + 2|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $37 | $40; + $42 = $33 ^ 65535; + $43 = ($41|0)==($42|0); + if (!($43)) { + _stbi__err(13258); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $44 = HEAP32[$0>>2]|0; + $45 = (($44) + ($33)|0); + $46 = ((($0)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($45>>>0)>($47>>>0); + if ($48) { + _stbi__err(13271); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $49 = ((($0)) + 16|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + ($33)|0); + $52 = ((($0)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51>>>0)>($53>>>0); + if ($54) { + $55 = (_stbi__zexpand($0,$50,$33)|0); + $56 = ($55|0)==(0); + if ($56) { + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + } + $57 = HEAP32[$49>>2]|0; + $58 = HEAP32[$0>>2]|0; + _memcpy(($57|0),($58|0),($33|0))|0; + $59 = HEAP32[$0>>2]|0; + $60 = (($59) + ($33)|0); + HEAP32[$0>>2] = $60; + $61 = HEAP32[$49>>2]|0; + $62 = (($61) + ($33)|0); + HEAP32[$49>>2] = $62; + $$034 = 1; + STACKTOP = sp;return ($$034|0); +} +function _stbi__zbuild_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 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; + 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, $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, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $3 = sp + 72|0; + $4 = sp; + dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + _memset(($0|0),0,1024)|0; + $5 = ($2|0)>(0); + if ($5) { + $$07688 = 0; + while(1) { + $6 = (($1) + ($$07688)|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = (($4) + ($8<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + $12 = (($$07688) + 1)|0; + $exitcond91 = ($12|0)==($2|0); + if ($exitcond91) { + break; + } else { + $$07688 = $12; + } + } + } + HEAP32[$4>>2] = 0; + $16 = ((($4)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(2); + if (!($18)) { + $13 = ((($4)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(4); + if (!($15)) { + $69 = ((($4)) + 12|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)>(8); + if (!($71)) { + $72 = ((($4)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)>(16); + if (!($74)) { + $75 = ((($4)) + 20|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)>(32); + if (!($77)) { + $78 = ((($4)) + 24|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(64); + if (!($80)) { + $81 = ((($4)) + 28|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)>(128); + if (!($83)) { + $84 = ((($4)) + 32|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)>(256); + if (!($86)) { + $87 = ((($4)) + 36|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)>(512); + if (!($89)) { + $90 = ((($4)) + 40|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)>(1024); + if (!($92)) { + $93 = ((($4)) + 44|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)>(2048); + if (!($95)) { + $96 = ((($4)) + 48|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)>(4096); + if (!($98)) { + $99 = ((($4)) + 52|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)>(8192); + if (!($101)) { + $102 = ((($4)) + 56|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)>(16384); + if (!($104)) { + $105 = ((($4)) + 60|0); + $106 = HEAP32[$105>>2]|0; + $107 = ($106|0)>(32768); + if (!($107)) { + $$07785 = 0;$$07884 = 0;$$286 = 1; + while(1) { + $19 = (($3) + ($$286<<2)|0); + HEAP32[$19>>2] = $$07884; + $20 = $$07884&65535; + $21 = (((($0)) + 1024|0) + ($$286<<1)|0); + HEAP16[$21>>1] = $20; + $22 = $$07785&65535; + $23 = (((($0)) + 1124|0) + ($$286<<1)|0); + HEAP16[$23>>1] = $22; + $24 = (($4) + ($$286<<2)|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + ($$07884))|0; + $27 = ($25|0)!=(0); + $28 = 1 << $$286; + $29 = ($26|0)>($28|0); + $or$cond = $27 & $29; + if ($or$cond) { + label = 7; + break; + } + $30 = (16 - ($$286))|0; + $31 = $26 << $30; + $32 = (((($0)) + 1056|0) + ($$286<<2)|0); + HEAP32[$32>>2] = $31; + $33 = $26 << 1; + $34 = (($25) + ($$07785))|0; + $35 = (($$286) + 1)|0; + $36 = ($35|0)<(16); + if ($36) { + $$07785 = $34;$$07884 = $33;$$286 = $35; + } else { + break; + } + } + if ((label|0) == 7) { + _stbi__err(13148); + $$075 = 0; + STACKTOP = sp;return ($$075|0); + } + $37 = ((($0)) + 1120|0); + HEAP32[$37>>2] = 65536; + $38 = ($2|0)>(0); + if ($38) { + $$382 = 0; + } else { + $$075 = 1; + STACKTOP = sp;return ($$075|0); + } + while(1) { + $39 = (($1) + ($$382)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($40<<24>>24)==(0); + if (!($42)) { + $43 = (($3) + ($41<<2)|0); + $44 = HEAP32[$43>>2]|0; + $45 = (((($0)) + 1024|0) + ($41<<1)|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = (($44) - ($47))|0; + $49 = (((($0)) + 1124|0) + ($41<<1)|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = (($48) + ($51))|0; + $53 = $41 << 9; + $54 = $53 | $$382; + $55 = $54&65535; + $56 = (((($0)) + 1156|0) + ($52)|0); + HEAP8[$56>>0] = $40; + $57 = $$382&65535; + $58 = (((($0)) + 1444|0) + ($52<<1)|0); + HEAP16[$58>>1] = $57; + $59 = ($40&255)<(10); + do { + if ($59) { + $60 = (_stbi__bit_reverse($44,$41)|0); + $61 = ($60|0)<(512); + if (!($61)) { + break; + } + $62 = 1 << $41; + $$081 = $60; + while(1) { + $63 = (($0) + ($$081<<1)|0); + HEAP16[$63>>1] = $55; + $64 = (($$081) + ($62))|0; + $65 = ($64|0)<(512); + if ($65) { + $$081 = $64; + } else { + break; + } + } + } + } while(0); + $66 = HEAP32[$43>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$43>>2] = $67; + } + $68 = (($$382) + 1)|0; + $exitcond = ($68|0)==($2|0); + if ($exitcond) { + $$075 = 1; + break; + } else { + $$382 = $68; + } + } + STACKTOP = sp;return ($$075|0); + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + _stbi__err(13200); + $$075 = 0; + STACKTOP = sp;return ($$075|0); +} +function _stbi__compute_huffman_codes($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; + var label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); + $1 = sp; + $2 = sp + 2039|0; + $3 = sp + 2020|0; + $4 = (_stbi__zreceive($0,5)|0); + $5 = (($4) + 257)|0; + $6 = (_stbi__zreceive($0,5)|0); + $7 = (($6) + 1)|0; + $8 = (_stbi__zreceive($0,4)|0); + $9 = (($8) + 4)|0; + $10 = (($7) + ($5))|0; + dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $11 = ($9|0)>(0); + if ($11) { + $$06579 = 0; + while(1) { + $12 = (_stbi__zreceive($0,3)|0); + $13 = $12&255; + $14 = (13985 + ($$06579)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = (($3) + ($16)|0); + HEAP8[$17>>0] = $13; + $18 = (($$06579) + 1)|0; + $exitcond = ($18|0)==($9|0); + if ($exitcond) { + break; + } else { + $$06579 = $18; + } + } + } + $19 = (_stbi__zbuild_huffman($1,$3,19)|0); + $20 = ($19|0)==(0); + if ($20) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $21 = ($10|0)>(0); + L8: do { + if ($21) { + $$06678 = 0; + L9: while(1) { + $22 = (_stbi__zhuffman_decode($0,$1)|0); + $23 = ($22>>>0)>(18); + if ($23) { + label = 6; + break; + } + $24 = ($22|0)<(16); + if ($24) { + $25 = $22&255; + $26 = (($$06678) + 1)|0; + $27 = (($2) + ($$06678)|0); + HEAP8[$27>>0] = $25; + $$066$be = $26; + } else { + switch ($22|0) { + case 16: { + $28 = (_stbi__zreceive($0,2)|0); + $29 = ($$06678|0)==(0); + if ($29) { + label = 11; + break L9; + } + $30 = (($28) + 3)|0; + $31 = (($$06678) + -1)|0; + $32 = (($2) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $$0 = $33;$$061 = $30; + break; + } + case 17: { + $34 = (_stbi__zreceive($0,3)|0); + $35 = (($34) + 3)|0; + $$0 = 0;$$061 = $35; + break; + } + case 18: { + $36 = (_stbi__zreceive($0,7)|0); + $37 = (($36) + 11)|0; + $$0 = 0;$$061 = $37; + break; + } + default: { + label = 14; + break L9; + } + } + $38 = (($10) - ($$06678))|0; + $39 = ($38|0)<($$061|0); + if ($39) { + label = 17; + break; + } + $40 = (($2) + ($$06678)|0); + _memset(($40|0),($$0|0),($$061|0))|0; + $41 = (($$061) + ($$06678))|0; + $$066$be = $41; + } + $42 = ($10|0)>($$066$be|0); + if ($42) { + $$06678 = $$066$be; + } else { + $$066$lcssa = $$066$be; + break L8; + } + } + if ((label|0) == 6) { + _stbi__err(13148); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 11) { + _stbi__err(13148); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 14) { + ___assert_fail((13164|0),(11926|0),4006,(13172|0)); + // unreachable; + } + else if ((label|0) == 17) { + _stbi__err(13148); + $$4 = 0; + STACKTOP = sp;return ($$4|0); } } else { - label = 6; + $$066$lcssa = 0; } - if ((label|0) == 6) { - HEAP32[8188>>2] = 1; - HEAP32[8192>>2] = 1; - } - $14 = ((($event)) + 24|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 112; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = 120; - $26 = $25; - HEAP32[$26>>2] = $17; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $20; - STACKTOP = sp;return; - break; + } while(0); + $43 = ($10|0)==($$066$lcssa|0); + if (!($43)) { + _stbi__err(13148); + $$4 = 0; + STACKTOP = sp;return ($$4|0); } - case 0: { - $29 = HEAP32[8192>>2]|0; - $30 = ($29|0)==(8); - if ($30) { - $31 = ((($event)) + 24|0); - $32 = $31; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = 120; - $39 = $38; - HEAP32[$39>>2] = $34; - $40 = (($38) + 4)|0; - $41 = $40; - HEAP32[$41>>2] = $37; - } - ;HEAP32[$moveDownPosition$byval_copy9>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition$byval_copy9+4>>2]=HEAP32[112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy10>>2]=HEAP32[120>>2]|0;HEAP32[$moveDownPosition2$byval_copy10+4>>2]=HEAP32[120+4>>2]|0; - $42 = (+_Vector2Distance($moveDownPosition$byval_copy9,$moveDownPosition2$byval_copy10)); - HEAPF32[8196>>2] = $42; - $43 = HEAP32[8200>>2]|0; - $44 = (+($43|0)); - $45 = $42 / $44; - HEAPF32[8204>>2] = $45; - $46 = $45 > 20.0; - $47 = HEAP32[8184>>2]|0; - $48 = ($47|0)==(0); - $or$cond3 = $46 & $48; - do { - if ($or$cond3) { - $49 = +HEAPF32[8196>>2]; - ;HEAP32[$moveDownPosition$byval_copy9>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition$byval_copy9+4>>2]=HEAP32[112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy10>>2]=HEAP32[120>>2]|0;HEAP32[$moveDownPosition2$byval_copy10+4>>2]=HEAP32[120+4>>2]|0; - $50 = (+_CalculateAngle($moveDownPosition$byval_copy9,$moveDownPosition2$byval_copy10,$49)); - HEAPF32[8208>>2] = $50; - $51 = $50 < 30.0; - $52 = $50 > 330.0; - $or$cond5 = $51 | $52; - if ($or$cond5) { - HEAP32[8192>>2] = 16; - break; - } - $53 = $50 > 30.0; - $54 = $50 < 120.0; - $or$cond7 = $53 & $54; - if ($or$cond7) { - HEAP32[8192>>2] = 64; - break; - } - $55 = $50 > 120.0; - $56 = $50 < 210.0; - $or$cond9 = $55 & $56; - if ($or$cond9) { - HEAP32[8192>>2] = 32; - break; - } - $57 = $50 > 210.0; - $58 = $50 < 300.0; - $or$cond11 = $57 & $58; - if ($or$cond11) { - HEAP32[8192>>2] = 128; - break; - } else { - HEAP32[8192>>2] = 0; - break; - } + $44 = ((($0)) + 32|0); + $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); + $46 = ($45|0)==(0); + if ($46) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $47 = ((($0)) + 2052|0); + $48 = (($2) + ($5)|0); + $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); + $not$ = ($49|0)!=(0); + $$ = $not$&1; + $$4 = $$; + STACKTOP = sp;return ($$4|0); +} +function _stbi__parse_huffman_block($0) { + $0 = $0|0; + var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 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, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 32|0); + $4 = ((($0)) + 24|0); + $5 = ((($0)) + 2052|0); + $6 = ((($0)) + 20|0); + $7 = ((($0)) + 24|0); + $$070 = $2; + while(1) { + $10 = (_stbi__zhuffman_decode($0,$3)|0); + $11 = ($10|0)<(256); + if ($11) { + $12 = ($10|0)<(0); + if ($12) { + label = 6; + break; + } + $13 = HEAP32[$4>>2]|0; + $14 = ($$070>>>0)<($13>>>0); + if ($14) { + $$171 = $$070; } else { - HEAPF32[8196>>2] = 0.0; - HEAPF32[8208>>2] = 0.0; - HEAPF32[8204>>2] = 0.0; - HEAP32[8192>>2] = 0; + $15 = (_stbi__zexpand($0,$$070,1)|0); + $16 = ($15|0)==(0); + if ($16) { + $$3$ph = 0; + label = 28; + break; + } + $17 = HEAP32[$1>>2]|0; + $$171 = $17; } - } while(0); - HEAP32[8200>>2] = 0; - STACKTOP = sp;return; - break; - } - case 2: { - $59 = ((($event)) + 24|0); - $60 = $59; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (($60) + 4)|0; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = 128; - $67 = $66; - HEAP32[$67>>2] = $62; - $68 = (($66) + 4)|0; - $69 = $68; - HEAP32[$69>>2] = $65; - $70 = HEAP32[8192>>2]|0; - $71 = ($70|0)==(4); - if ($71) { - $72 = HEAP32[8212>>2]|0; - $73 = ($72|0)==(1); - if ($73) { - $74 = $59; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = (($74) + 4)|0; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = 112; - $81 = $80; - HEAP32[$81>>2] = $76; - $82 = (($80) + 4)|0; - $83 = $82; - HEAP32[$83>>2] = $79; + $18 = $10&255; + $19 = ((($$171)) + 1|0); + HEAP8[$$171>>0] = $18; + $$070 = $19; + continue; + } + $20 = ($10|0)==(256); + if ($20) { + label = 12; + break; + } + $21 = (($10) + -257)|0; + $22 = (3244 + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($10) + -265)|0; + $25 = ($24>>>0)<(20); + if ($25) { + $26 = (3120 + ($21<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_stbi__zreceive($0,$27)|0); + $29 = (($28) + ($23))|0; + $$064 = $29; + } else { + $$064 = $23; + } + $30 = (_stbi__zhuffman_decode($0,$5)|0); + $31 = ($30|0)<(0); + if ($31) { + label = 16; + break; + } + $32 = (3496 + ($30<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($30) + -4)|0; + $35 = ($34>>>0)<(26); + if ($35) { + $36 = (3368 + ($30<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_stbi__zreceive($0,$37)|0); + $39 = (($38) + ($33))|0; + $$063 = $39; + } else { + $$063 = $33; + } + $40 = HEAP32[$6>>2]|0; + $41 = $$070; + $42 = (($41) - ($40))|0; + $43 = ($42|0)<($$063|0); + if ($43) { + label = 20; + break; + } + $44 = (($$070) + ($$064)|0); + $45 = HEAP32[$7>>2]|0; + $46 = ($44>>>0)>($45>>>0); + if ($46) { + $47 = (_stbi__zexpand($0,$$070,$$064)|0); + $48 = ($47|0)==(0); + if ($48) { + $$3$ph = 0; + label = 28; + break; } - HEAP32[8212>>2] = 2; - ;HEAP32[$moveDownPosition$byval_copy9>>2]=HEAP32[112>>2]|0;HEAP32[$moveDownPosition$byval_copy9+4>>2]=HEAP32[112+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy10>>2]=HEAP32[128>>2]|0;HEAP32[$moveDownPosition2$byval_copy10+4>>2]=HEAP32[128+4>>2]|0; - $84 = (+_Vector2Distance($moveDownPosition$byval_copy9,$moveDownPosition2$byval_copy10)); - HEAPF32[8196>>2] = $84; - $85 = !($84 >= 20.0); - if (!($85)) { - HEAP32[8192>>2] = 8; + $49 = HEAP32[$1>>2]|0; + $$272 = $49; + } else { + $$272 = $$070; + } + $50 = (0 - ($$063))|0; + $9 = (($$272) + ($50)|0); + $51 = ($$063|0)==(1); + $52 = ($$064|0)!=(0); + if ($51) { + if (!($52)) { + $$070 = $$272; + continue; + } + $8 = HEAP8[$9>>0]|0; + _memset(($$272|0),($8|0),($$064|0))|0; + $scevgep92 = (($$272) + ($$064)|0); + $$070 = $scevgep92; + continue; + } + if ($52) { + $$067 = $9;$$266 = $$064;$$5 = $$272; + } else { + $$070 = $$272; + continue; + } + while(1) { + $53 = ((($$067)) + 1|0); + $54 = HEAP8[$$067>>0]|0; + $55 = ((($$5)) + 1|0); + HEAP8[$$5>>0] = $54; + $56 = (($$266) + -1)|0; + $57 = ($56|0)==(0); + if ($57) { + break; + } else { + $$067 = $53;$$266 = $56;$$5 = $55; } } - $86 = HEAP32[8200>>2]|0; - $87 = (($86) + 1)|0; - HEAP32[8200>>2] = $87; - STACKTOP = sp;return; - break; + $scevgep = (($$272) + ($$064)|0); + $$070 = $scevgep; } - default: { - STACKTOP = sp;return; + if ((label|0) == 6) { + _stbi__err(12973); + $$3$ph = 0; + return ($$3$ph|0); } + else if ((label|0) == 12) { + HEAP32[$1>>2] = $$070; + $$3$ph = 1; + return ($$3$ph|0); + } + else if ((label|0) == 16) { + _stbi__err(12973); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 20) { + _stbi__err(12990); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 28) { + return ($$3$ph|0); + } + return (0)|0; +} +function _stbi__zhuffman_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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(16); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 511; + $8 = (($1) + ($7<<1)|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ($9<<16>>16)==(0); + if ($11) { + $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); + $$0 = $17; + return ($$0|0); + } else { + $12 = $10 >>> 9; + $13 = $6 >>> $12; + HEAP32[$5>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = (($14) - ($12))|0; + HEAP32[$2>>2] = $15; + $16 = $10 & 511; + $$0 = $16; + return ($$0|0); + } + return (0)|0; +} +function _stbi__zexpand($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$029 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + _stbi__err(12999); + $$0 = 0; + return ($$0|0); + } + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = $1; + $10 = $8; + $11 = (($9) - ($10))|0; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) - ($10))|0; + $15 = (($11) + ($2))|0; + $$029 = $14; + while(1) { + $16 = ($15|0)>($$029|0); + $17 = $$029 << 1; + if ($16) { + $$029 = $17; + } else { + break; + } + } + $18 = (_realloc($8,$$029)|0); + $19 = ($18|0)==(0|0); + if ($19) { + _stbi__err(11981); + $$0 = 0; + return ($$0|0); + } else { + HEAP32[$7>>2] = $18; + $20 = (($18) + ($11)|0); + HEAP32[$3>>2] = $20; + $21 = (($18) + ($$029)|0); + HEAP32[$12>>2] = $21; + $$0 = 1; + return ($$0|0); + } + return (0)|0; +} +function _stbi__fill_bits($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)) + 12|0); + $2 = ((($0)) + 8|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$2>>2]|0; + $5 = 1 << $4; + $6 = ($3>>>0)<($5>>>0); + if (!($6)) { + label = 3; + break; + } + $7 = (_stbi__zget8($0)|0); + $8 = $7&255; + $9 = HEAP32[$2>>2]|0; + $10 = $8 << $9; + $11 = HEAP32[$1>>2]|0; + $12 = $11 | $10; + HEAP32[$1>>2] = $12; + $13 = (($9) + 8)|0; + HEAP32[$2>>2] = $13; + $14 = ($13|0)<(25); + if (!($14)) { + label = 5; + break; + } + } + if ((label|0) == 3) { + ___assert_fail((13095|0),(11926|0),3848,(13132|0)); + // unreachable; + } + else if ((label|0) == 5) { + return; } } -function _UpdateGestures() { - var $$off = 0, $$pr = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $or$cond3 = 0, label = 0, sp = 0; +function _stbi__zhuffman_decode_slowpath($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$025 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[8192>>2]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[8180>>2]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[8192>>2] = 4; + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbi__bit_reverse($3,16)|0); + $$025 = 10; + while(1) { + $5 = (((($1)) + 1056|0) + ($$025<<2)|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)<($6|0); + $8 = (($$025) + 1)|0; + if ($7) { + break; + } else { + $$025 = $8; + } + } + $9 = ($$025|0)==(16); + if ($9) { + $$0 = -1; + return ($$0|0); + } + $10 = (16 - ($$025))|0; + $11 = $4 >> $10; + $12 = (((($1)) + 1024|0) + ($$025<<1)|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = (($11) - ($14))|0; + $16 = (((($1)) + 1124|0) + ($$025<<1)|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($15) + ($18))|0; + $20 = (((($1)) + 1156|0) + ($19)|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)==($$025|0); + if (!($23)) { + ___assert_fail((13019|0),(11926|0),3876,(13035|0)); + // unreachable; + } + $24 = HEAP32[$2>>2]|0; + $25 = $24 >>> $$025; + HEAP32[$2>>2] = $25; + $26 = ((($0)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) - ($$025))|0; + HEAP32[$26>>2] = $28; + $29 = (((($1)) + 1444|0) + ($19<<1)|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $$0 = $31; + return ($$0|0); +} +function _stbi__bit_reverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(17); + if ($2) { + $3 = (_stbi__bitreverse16($0)|0); + $4 = (16 - ($1))|0; + $5 = $3 >> $4; + return ($5|0); + } else { + ___assert_fail((13066|0),(11926|0),3766,(13077|0)); + // unreachable; + } + return (0)|0; +} +function _stbi__bitreverse16($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, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = $0 >>> 1; + $2 = $1 & 21845; + $3 = $0 << 1; + $4 = $3 & 43690; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 13107; + $8 = $5 << 2; + $9 = $8 & 52428; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 3855; + $13 = $10 << 4; + $14 = $13 & 61680; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $15 << 8; + $18 = $17 & 65280; + $19 = $18 | $16; + return ($19|0); +} +function _stbi__zget8($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 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($1>>>0)<($3>>>0); + if (!($4)) { + $$0 = 0; + return ($$0|0); + } + $5 = ((($1)) + 1|0); + HEAP32[$0>>2] = $5; + $6 = HEAP8[$1>>0]|0; + $$0 = $6; + return ($$0|0); +} +function _stbi__refill_buffer($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)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 40|0); + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($0)) + 32|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 168|0); + HEAP32[$11>>2] = $5; + $12 = ((($0)) + 41|0); + $13 = ((($0)) + 172|0); + HEAP32[$13>>2] = $12; + HEAP8[$5>>0] = 0; + return; + } else { + $14 = ((($0)) + 168|0); + HEAP32[$14>>2] = $5; + $15 = (((($0)) + 40|0) + ($8)|0); + $16 = ((($0)) + 172|0); + HEAP32[$16>>2] = $15; return; } - $$pr = HEAP32[8192>>2]|0; - switch ($$pr|0) { - case 16: case 32: case 64: case 128: { - break; - } - default: { - return; - } - } - HEAP32[8192>>2] = 0; +} +function _stbi__rewind($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)) + 176|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 168|0); + HEAP32[$3>>2] = $2; + $4 = ((($0)) + 180|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 172|0); + HEAP32[$6>>2] = $5; return; } -function _InitDisplay($width,$height) { - $width = $width|0; - $height = $height|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, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr9 = 0, dest = 0, label = 0, sp = 0, src = 0; - var stop = 0; +function _stbi__start_callbacks($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; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; + $3 = ((($0)) + 16|0); + ;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; + $4 = ((($0)) + 28|0); + HEAP32[$4>>2] = $2; + $5 = ((($0)) + 36|0); + HEAP32[$5>>2] = 128; + $6 = ((($0)) + 32|0); + HEAP32[$6>>2] = 1; + $7 = ((($0)) + 40|0); + $8 = ((($0)) + 176|0); + HEAP32[$8>>2] = $7; + _stbi__refill_buffer($0); + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 180|0); + HEAP32[$11>>2] = $10; + return; +} +function _stbi__stdio_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fread($1,1,$2,$0)|0); + return ($3|0); +} +function _stbi__stdio_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (_fseek($0,$1,1)|0); + return; +} +function _stbi__stdio_eof($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_feof($0)|0); + return ($1|0); +} +function _LoadImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 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, $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_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = (_IsFileExtension($1,16744)|0); + $7 = ($6|0)==(0); + do { + if ($7) { + $19 = (_IsFileExtension($1,13394)|0); + $20 = ($19|0)==(0); + if ($20) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,13399,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; + break; + } + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $21 = (_fopen($1,17589)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { + case 1: { + $$sink = 1; + label = 11; + break; + } + case 2: { + $$sink = 2; + label = 11; + break; + } + case 3: { + $$sink = 4; + label = 11; + break; + } + case 4: { + $$sink = 7; + label = 11; + break; + } + default: { + $$sroa$15$1 = 0; + } + } + if ((label|0) == 11) { + $$sroa$15$1 = $$sink; + } + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; + label = 14; + } else { + $8 = (_LoadResource($1,0)|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(1); + if ($10) { + $11 = ((($8)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($8)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($8)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($8)) + 12|0); + $18 = HEAP32[$17>>2]|0; + _LoadImagePro($2,$12,$14,$16,$18); + $$sroa$0$0$copyload = HEAP32[$2>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,13347,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; + } + _UnloadResource($8); + $$sroa$0$1 = $$sroa$0$0;$$sroa$10$1 = $$sroa$10$0;$$sroa$13$1 = $$sroa$13$0;$$sroa$15$2 = $$sroa$15$0;$$sroa$7$1 = $$sroa$7$0; + label = 14; + } + } while(0); + if ((label|0) == 14) { + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; + } else { + HEAP32[$vararg_buffer4>>2] = $1; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; + _TraceLog(0,13435,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(1,13474,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; +} +function _LoadResource($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$05665 = 0, $$05764 = 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, $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, $8 = 0, $9 = 0, $or$cond = 0, $or$cond60 = 0; + var $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $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 + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 64|0; + $3 = sp + 32|0; + $4 = (_fopen($0,17589)|0); + $5 = ($4|0)==(0|0); + if ($5) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(1,13533,$vararg_buffer); + $$2 = 0; + STACKTOP = sp;return ($$2|0); + } + (_fread($2,1,1,$4)|0); + $6 = ((($2)) + 1|0); + (_fread($6,1,1,$4)|0); + $7 = ((($2)) + 2|0); + (_fread($7,1,1,$4)|0); + $8 = ((($2)) + 3|0); + (_fread($8,1,1,$4)|0); + $9 = ((($2)) + 4|0); + (_fread($9,2,1,$4)|0); + $10 = ((($2)) + 6|0); + (_fread($10,2,1,$4)|0); + $11 = HEAP8[$2>>0]|0; + $12 = ($11<<24>>24)==(114); + $13 = HEAP8[$6>>0]|0; + $14 = ($13<<24>>24)==(82); + $or$cond = $12 | $14; + $15 = HEAP8[$7>>0]|0; + $16 = ($15<<24>>24)==(69); + $or$cond60 = $or$cond | $16; + $17 = HEAP8[$8>>0]|0; + $18 = ($17<<24>>24)==(83); + $or$cond62 = $or$cond60 | $18; + if ($or$cond62) { + $19 = HEAP16[$10>>1]|0; + $20 = ($19<<16>>16)==(0); + if ($20) { + $$0$lcssa = 0; + } else { + $21 = ((($3)) + 7|0); + $22 = HEAP16[$10>>1]|0; + $23 = $22&65535; + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 4|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 8|0); + $31 = ((($3)) + 5|0); + $32 = ((($3)) + 12|0); + $$05665 = 0; + while(1) { + (_fread($3,32,1,$4)|0); + $36 = HEAP8[$21>>0]|0; + $37 = $36&255; + $38 = ($37*24)|0; + $39 = (_malloc($38)|0); + $40 = HEAP32[$3>>2]|0; + $41 = ($40|0)==($1|0); + if ($41) { + $42 = HEAP8[$21>>0]|0; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + $$05764 = 0; + while(1) { + $44 = HEAP8[$25>>0]|0; + $45 = $44&255; + $46 = (($39) + (($$05764*24)|0)|0); + HEAP32[$46>>2] = $45; + $47 = HEAP32[$26>>2]|0; + $48 = (((($39) + (($$05764*24)|0)|0)) + 4|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$27>>2]|0; + $50 = (((($39) + (($$05764*24)|0)|0)) + 8|0); + HEAP32[$50>>2] = $49; + $51 = HEAP32[$28>>2]|0; + $52 = (((($39) + (($$05764*24)|0)|0)) + 12|0); + HEAP32[$52>>2] = $51; + $53 = HEAP32[$29>>2]|0; + $54 = (((($39) + (($$05764*24)|0)|0)) + 16|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$30>>2]|0; + $56 = (_malloc($55)|0); + (_fread($56,$55,1,$4)|0); + $57 = HEAP8[$31>>0]|0; + $58 = ($57<<24>>24)==(1); + if ($58) { + $59 = HEAP32[$30>>2]|0; + $60 = HEAP32[$32>>2]|0; + $61 = (_DecompressData($56,$59,$60)|0); + $62 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$62>>2] = $61; + _free($56); + } else { + $63 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$63>>2] = $56; + } + $64 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $67; + _TraceLog(0,13630,$vararg_buffer4); + } + (_fread($3,32,1,$4)|0); + $68 = (($$05764) + 1)|0; + $69 = HEAP8[$21>>0]|0; + $70 = $69&255; + $71 = ($68|0)<($70|0); + if ($71) { + $$05764 = $68; + } else { + break; + } + } + } + } else { + $72 = HEAP32[$24>>2]|0; + (_fseek($4,$72,1)|0); + } + $73 = (($$05665) + 1)|0; + $74 = ($73|0)<($23|0); + if ($74) { + $$05665 = $73; + } else { + $$0$lcssa = $39; + break; + } + } + } + $33 = ((($$0$lcssa)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + HEAP32[$vararg_buffer8>>2] = $0; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $1; + _TraceLog(1,13676,$vararg_buffer8); + $$1 = $$0$lcssa; + } else { + $$1 = $$0$lcssa; + } + } else { + HEAP32[$vararg_buffer1>>2] = $0; + _TraceLog(1,13584,$vararg_buffer1); + $$1 = 0; + } + (_fclose($4)|0); + $$2 = $$1; + STACKTOP = sp;return ($$2|0); +} +function _LoadImagePro($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 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); + $$byval_copy = sp + 20|0; + $5 = sp; + HEAP32[$5>>2] = $1; + $6 = ((($5)) + 4|0); + HEAP32[$6>>2] = $2; + $7 = ((($5)) + 8|0); + HEAP32[$7>>2] = $3; + $8 = ((($5)) + 12|0); + HEAP32[$8>>2] = 1; + $9 = ((($5)) + 16|0); + HEAP32[$9>>2] = $4; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; + _ImageCopy($0,$$byval_copy); + STACKTOP = sp;return; +} +function _UnloadResource($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + _free($2); + return; +} +function _ImageCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx10 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx14 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx16 = 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, $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 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = Math_imul($5, $3)|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 17: case 14: case 11: case 10: case 1: { + $$0 = $6; + break; + } + case 6: case 5: case 3: case 2: { + $9 = $6 << 1; + $$0 = $9; + break; + } + case 4: { + $10 = ($6*3)|0; + $$0 = $10; + break; + } + case 7: { + $11 = $6 << 2; + $$0 = $11; + break; + } + case 16: case 15: case 13: case 12: case 9: case 8: { + $12 = (($6|0) / 2)&-1; + $$0 = $12; + break; + } + case 18: { + $13 = (($6|0) / 4)&-1; + $$0 = $13; + break; + } + default: { + _TraceLog(1,13505,$vararg_buffer); + $$0 = $6; + } + } + $14 = (_malloc($$0)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; + } else { + $16 = HEAP32[$1>>2]|0; + _memcpy(($14|0),($16|0),($$0|0))|0; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($1)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$6$0 = $17;$$sroa$7$0 = $18;$$sroa$8$0 = $20;$$sroa$9$0 = $21; + } + HEAP32[$0>>2] = $14; + $$sroa$6$0$$sroa_idx10 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx10>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx12 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx14 = ((($0)) + 12|0); + HEAP32[$$sroa$8$0$$sroa_idx14>>2] = $$sroa$8$0; + $$sroa$9$0$$sroa_idx16 = ((($0)) + 16|0); + HEAP32[$$sroa$9$0$$sroa_idx16>>2] = $$sroa$9$0; + STACKTOP = sp;return; +} +function _DecompressData($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, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); $vararg_buffer10 = sp + 40|0; $vararg_buffer7 = sp + 32|0; $vararg_buffer5 = sp + 24|0; $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 64|0; - HEAP32[3184>>2] = $width; - HEAP32[3188>>2] = $height; - _MatrixIdentity($0); - dest=3208; src=$0; 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)); - (_glfwSetErrorCallback((2|0))|0); - $1 = (_glfwInit()|0); - $2 = ($1|0)==(0); - if ($2) { - _TraceLog(1,26134,$vararg_buffer); - } - $3 = HEAP32[3184>>2]|0; - HEAP32[3348>>2] = $3; - $4 = HEAP32[3188>>2]|0; - HEAP32[3352>>2] = $4; - _glfwDefaultWindowHints(); - _glfwWindowHint(131075,0); - $5 = (_rlGetVersion()|0); - $6 = ($5|0)==(2); - if ($6) { - $7 = HEAP8[13475>>0]|0; - $8 = $7 & 16; - $9 = ($8<<24>>24)==(0); - if (!($9)) { - _glfwWindowHint(135181,4); - _TraceLog(0,26160,$vararg_buffer1); - } - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - $10 = HEAP32[3336>>2]|0; - $11 = ($10|0)==(0); - if ($11) { - $19 = HEAP32[3184>>2]|0; - $20 = HEAP32[3188>>2]|0; - $21 = HEAP32[3180>>2]|0; - $22 = (_glfwCreateWindow(($19|0),($20|0),($21|0),(0|0),(0|0))|0); - HEAP32[3196>>2] = $22; - $23 = HEAP32[3184>>2]|0; - HEAP32[3364>>2] = $23; - $24 = HEAP32[3188>>2]|0; - HEAP32[3368>>2] = $24; - $25 = $22; - } else { - $12 = HEAP32[3348>>2]|0; - $13 = HEAP32[3352>>2]|0; - _SetupFramebufferSize($12,$13); - $14 = HEAP32[3364>>2]|0; - $15 = HEAP32[3368>>2]|0; - $16 = HEAP32[3180>>2]|0; - $17 = (_glfwGetPrimaryMonitor()|0); - $18 = (_glfwCreateWindow(($14|0),($15|0),($16|0),($17|0),(0|0))|0); - HEAP32[3196>>2] = $18; - $25 = $18; - } - $26 = ($25|0)==(0|0); - if ($26) { - _glfwTerminate(); - _TraceLog(1,26185,$vararg_buffer3); - } else { - _TraceLog(0,26218,$vararg_buffer5); - $27 = HEAP32[3364>>2]|0; - $28 = HEAP32[3368>>2]|0; - HEAP32[$vararg_buffer7>>2] = $27; - $vararg_ptr9 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $28; - _TraceLog(0,26258,$vararg_buffer7); - $29 = HEAP32[3184>>2]|0; - $30 = HEAP32[3188>>2]|0; - HEAP32[$vararg_buffer10>>2] = $29; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $30; - _TraceLog(0,26279,$vararg_buffer10); - $31 = HEAP32[3356>>2]|0; - $32 = HEAP32[3360>>2]|0; - HEAP32[$vararg_buffer14>>2] = $31; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $32; - _TraceLog(0,26300,$vararg_buffer14); - } - $33 = HEAP32[3196>>2]|0; - (_glfwSetWindowSizeCallback(($33|0),(1|0))|0); - $34 = HEAP32[3196>>2]|0; - (_glfwSetCursorEnterCallback(($34|0),(3|0))|0); - $35 = HEAP32[3196>>2]|0; - (_glfwSetKeyCallback(($35|0),(1|0))|0); - $36 = HEAP32[3196>>2]|0; - (_glfwSetMouseButtonCallback(($36|0),(1|0))|0); - $37 = HEAP32[3196>>2]|0; - (_glfwSetCursorPosCallback(($37|0),(1|0))|0); - $38 = HEAP32[3196>>2]|0; - (_glfwSetCharCallback(($38|0),(4|0))|0); - $39 = HEAP32[3196>>2]|0; - (_glfwSetScrollCallback(($39|0),(2|0))|0); - $40 = HEAP32[3196>>2]|0; - (_glfwSetWindowIconifyCallback(($40|0),(5|0))|0); - $41 = HEAP32[3196>>2]|0; - _glfwMakeContextCurrent(($41|0)); - $42 = HEAP8[13475>>0]|0; - $43 = $42 & 32; - $44 = ($43<<24>>24)==(0); - if ($44) { - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,26325,$vararg_buffer18); - STACKTOP = sp;return; -} -function _InitGraphics() { - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $$byval_copy = sp + 4|0; - $0 = sp; - _rlglInit(); - $1 = HEAP32[3356>>2]|0; - $2 = HEAP32[3360>>2]|0; - $3 = HEAP32[3364>>2]|0; - $4 = HEAP32[3368>>2]|0; - _rlglInitGraphics($1,$2,$3,$4); - HEAP8[$0>>0] = -11; - $5 = ((($0)) + 1|0); - HEAP8[$5>>0] = -11; - $6 = ((($0)) + 2|0); - HEAP8[$6>>0] = -11; - $7 = ((($0)) + 3|0); - HEAP8[$7>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[64>>3] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($eventType,$e,$userData) { - $eventType = $eventType|0; - $e = $e|0; - $userData = $userData|0; - 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_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$e>>2]|0; - $1 = ($0|0)==(0); - $2 = ((($e)) + 264|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($e)) + 268|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($e)) + 272|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($e)) + 276|0); - $9 = HEAP32[$8>>2]|0; - if ($1) { - HEAP32[$vararg_buffer4>>2] = $3; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $5; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $7; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $9; - _TraceLog(0,26067,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $5; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $7; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $9; - _TraceLog(0,25998,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenInputCallback($eventType,$touchEvent,$userData) { - $eventType = $eventType|0; - $touchEvent = $touchEvent|0; - $userData = $userData|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $gestureEvent = 0, $gestureEvent$byval_copy = 0, dest = 0, label = 0, sp = 0; - var src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $gestureEvent$byval_copy = sp + 56|0; - $gestureEvent = sp; - switch ($eventType|0) { - case 22: { - HEAP32[$gestureEvent>>2] = 1; - break; - } - case 23: { - HEAP32[$gestureEvent>>2] = 0; - break; - } - case 24: { - HEAP32[$gestureEvent>>2] = 2; - break; - } - default: { - } - } - $0 = HEAP32[$touchEvent>>2]|0; - $1 = ((($gestureEvent)) + 4|0); - HEAP32[$1>>2] = $0; - $2 = ((($touchEvent)) + 20|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($gestureEvent)) + 8|0); - HEAP32[$4>>2] = $3; - $5 = ((($touchEvent)) + 72|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($gestureEvent)) + 12|0); - HEAP32[$7>>2] = $6; - $8 = ((($touchEvent)) + 56|0); - $9 = HEAP32[$8>>2]|0; - $10 = (+($9|0)); - $11 = ((($touchEvent)) + 60|0); - $12 = HEAP32[$11>>2]|0; - $13 = (+($12|0)); - $14 = ((($gestureEvent)) + 24|0); - HEAPF32[$14>>2] = $10; - $15 = ((($gestureEvent)) + 28|0); - HEAPF32[$15>>2] = $13; - $16 = ((($touchEvent)) + 108|0); - $17 = HEAP32[$16>>2]|0; - $18 = (+($17|0)); - $19 = ((($touchEvent)) + 112|0); - $20 = HEAP32[$19>>2]|0; - $21 = (+($20|0)); - $22 = ((($gestureEvent)) + 32|0); - HEAPF32[$22>>2] = $18; - $23 = ((($gestureEvent)) + 36|0); - HEAPF32[$23>>2] = $21; - $24 = ((($gestureEvent)) + 24|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 96; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - dest=$gestureEvent$byval_copy; src=$gestureEvent; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($gestureEvent$byval_copy); - STACKTOP = sp;return 1; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[3192>>2] = 0; - return; -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3196>>2]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $mouseX = 0, $mouseY = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $mouseX = sp + 8|0; - $mouseY = sp; - _UpdateGestures(); - $0 = HEAP32[3196>>2]|0; - _glfwGetCursorPos(($0|0),($mouseX|0),($mouseY|0)); - $1 = +HEAPF64[$mouseX>>3]; - $2 = $1; - HEAPF32[40>>2] = $2; - $3 = +HEAPF64[$mouseY>>3]; - $4 = $3; - HEAPF32[(44)>>2] = $4; - HEAP32[3340>>2] = -1; - _memcpy((13988|0),(13476|0),512)|0; - ;HEAP8[14503>>0]=HEAP8[14500>>0]|0;HEAP8[14503+1>>0]=HEAP8[14500+1>>0]|0;HEAP8[14503+2>>0]=HEAP8[14500+2>>0]|0; - $5 = HEAP32[11044>>2]|0; - HEAP32[3344>>2] = $5; - HEAP32[11044>>2] = 0; - _glfwPollEvents(); - STACKTOP = sp;return; -} -function _GetKeyStatus($key) { - $key = $key|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3196>>2]|0; - $1 = (_glfwGetKey(($0|0),($key|0))|0); - return ($1|0); -} -function _LoadDefaultShader($agg$result) { - $agg$result = $agg$result|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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $fShaderStr = 0, $vShaderStr = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 864|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $vShaderStr = sp + 390|0; - $fShaderStr = sp + 12|0; - _memcpy(($vShaderStr|0),(25047|0),466)|0; - _memcpy(($fShaderStr|0),(25513|0),377)|0; - $0 = (_LoadShaderProgram($vShaderStr,$fShaderStr)|0); - $1 = ($0|0)==(0); - if ($1) { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,25938,$vararg_buffer1); - } else { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,25890,$vararg_buffer); - } - $2 = (_glGetAttribLocation(($0|0),(16233|0))|0); - $3 = (_glGetAttribLocation(($0|0),(16248|0))|0); - $4 = (_glGetAttribLocation(($0|0),(25986|0))|0); - $5 = (_glGetUniformLocation(($0|0),(16276|0))|0); - $6 = (_glGetUniformLocation(($0|0),(16300|0))|0); - $7 = HEAP32[3176>>2]|0; - HEAP32[$agg$result>>2] = $0; - $8 = ((($agg$result)) + 4|0); - HEAP32[$8>>2] = $7; - $9 = ((($agg$result)) + 8|0); - HEAP32[$9>>2] = 0; - $10 = ((($agg$result)) + 12|0); - HEAP32[$10>>2] = 0; - $11 = ((($agg$result)) + 16|0); - HEAP32[$11>>2] = $2; - $12 = ((($agg$result)) + 20|0); - HEAP32[$12>>2] = $3; - $13 = ((($agg$result)) + 24|0); - HEAP32[$13>>2] = -1; - $14 = ((($agg$result)) + 28|0); - HEAP32[$14>>2] = $4; - $15 = ((($agg$result)) + 32|0); - HEAP32[$15>>2] = $5; - $16 = ((($agg$result)) + 44|0); - HEAP32[$16>>2] = -1; - $17 = ((($agg$result)) + 48|0); - HEAP32[$17>>2] = $6; - $18 = ((($agg$result)) + 52|0); - HEAP32[$18>>2] = -1; - $19 = ((($agg$result)) + 56|0); - HEAP32[$19>>2] = -1; - STACKTOP = sp;return; -} -function _LoadSimpleShader($agg$result) { - $agg$result = $agg$result|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, $fShaderStr = 0, $vShaderStr = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 800|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $vShaderStr = sp + 389|0; - $fShaderStr = sp + 12|0; - _memcpy(($vShaderStr|0),(24175|0),401)|0; - _memcpy(($fShaderStr|0),(24576|0),377)|0; - $0 = (_LoadShaderProgram($vShaderStr,$fShaderStr)|0); - $1 = ($0|0)==(0); - if ($1) { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,25000,$vararg_buffer1); - } else { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,24953,$vararg_buffer); - } - $2 = (_glGetAttribLocation(($0|0),(16233|0))|0); - $3 = (_glGetAttribLocation(($0|0),(16248|0))|0); - $4 = (_glGetAttribLocation(($0|0),(16263|0))|0); - $5 = (_glGetUniformLocation(($0|0),(16276|0))|0); - $6 = (_glGetUniformLocation(($0|0),(16286|0))|0); - $7 = (_glGetUniformLocation(($0|0),(16300|0))|0); - $8 = HEAP32[3176>>2]|0; - HEAP32[$agg$result>>2] = $0; - $9 = ((($agg$result)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = ((($agg$result)) + 8|0); - HEAP32[$10>>2] = 0; - $11 = ((($agg$result)) + 12|0); - HEAP32[$11>>2] = 0; - $12 = ((($agg$result)) + 16|0); - HEAP32[$12>>2] = $2; - $13 = ((($agg$result)) + 20|0); - HEAP32[$13>>2] = $3; - $14 = ((($agg$result)) + 24|0); - HEAP32[$14>>2] = $4; - $15 = ((($agg$result)) + 28|0); - HEAP32[$15>>2] = -1; - $16 = ((($agg$result)) + 32|0); - HEAP32[$16>>2] = $5; - $17 = ((($agg$result)) + 44|0); - HEAP32[$17>>2] = $6; - $18 = ((($agg$result)) + 48|0); - HEAP32[$18>>2] = $7; - $19 = ((($agg$result)) + 52|0); - HEAP32[$19>>2] = -1; - $20 = ((($agg$result)) + 56|0); - HEAP32[$20>>2] = -1; - STACKTOP = sp;return; -} -function _InitializeBuffers() { - 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, $41 = 0, $42 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond14 = 0, $exitcond17 = 0, $exitcond19 = 0, $i1$012 = 0, $i3$010 = 0, $i6$07 = 0, $i7$06 = 0, $k$05 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[4600>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[4560>>2] = $1; - $2 = HEAP32[4600>>2]|0; - _memset(($2|0),0,24576)|0; - $i1$012 = 0; - while(1) { - $3 = HEAP32[4560>>2]|0; - $4 = (($3) + ($i1$012)|0); - HEAP8[$4>>0] = 0; - $5 = (($i1$012) + 1)|0; - $exitcond19 = ($5|0)==(8192); - if ($exitcond19) { - break; - } else { - $i1$012 = $5; - } - } - HEAP32[4552>>2] = 0; - HEAP32[4556>>2] = 0; - $6 = (_malloc(73728)|0); - HEAP32[4604>>2] = $6; - $7 = (_malloc(24576)|0); - HEAP32[4572>>2] = $7; - $8 = HEAP32[4604>>2]|0; - _memset(($8|0),0,73728)|0; - $i3$010 = 0; - while(1) { - $9 = HEAP32[4572>>2]|0; - $10 = (($9) + ($i3$010)|0); - HEAP8[$10>>0] = 0; - $11 = (($i3$010) + 1)|0; - $exitcond17 = ($11|0)==(24576); - if ($exitcond17) { - break; - } else { - $i3$010 = $11; - } - } - HEAP32[4564>>2] = 0; - HEAP32[4568>>2] = 0; - $12 = (_malloc(49152)|0); - HEAP32[4608>>2] = $12; - $13 = (_malloc(32768)|0); - HEAP32[4592>>2] = $13; - $14 = (_malloc(16384)|0); - HEAP32[4584>>2] = $14; - $15 = (_malloc(12288)|0); - HEAP32[5128>>2] = $15; - $16 = HEAP32[4608>>2]|0; - _memset(($16|0),0,49152)|0; - $17 = HEAP32[4592>>2]|0; - _memset(($17|0),0,32768)|0; - $i6$07 = 0; - while(1) { - $19 = HEAP32[4584>>2]|0; - $20 = (($19) + ($i6$07)|0); - HEAP8[$20>>0] = 0; - $21 = (($i6$07) + 1)|0; - $exitcond14 = ($21|0)==(16384); - if ($exitcond14) { - break; - } else { - $i6$07 = $21; - } - } - $18 = HEAP32[5128>>2]|0; - $i7$06 = 0;$k$05 = 0; - while(1) { - $22 = $k$05 << 2; - $23 = $22&65535; - $24 = (($18) + ($i7$06<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $i7$06 | 1; - $28 = (($18) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($i7$06) + 2)|0; - $32 = (($18) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($i7$06) + 3)|0; - $34 = (($18) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($i7$06) + 4)|0; - $36 = (($18) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($i7$06) + 5)|0; - $40 = (($18) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($k$05) + 1)|0; - $42 = (($i7$06) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $i7$06 = $42;$k$05 = $41; - } - } - HEAP32[4576>>2] = 0; - HEAP32[4588>>2] = 0; - HEAP32[4580>>2] = 0; - _TraceLog(0,24112,$vararg_buffer); - STACKTOP = sp;return; -} -function _InitializeBuffersGPU() { - 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, $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, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr20 = 0, $vararg_ptr4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|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 = HEAP32[4632>>2]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[4640>>2]|0; - FUNCTION_TABLE_vii[$2 & 63](1,5116); - $3 = HEAP32[4644>>2]|0; - $4 = HEAP32[5116>>2]|0; - FUNCTION_TABLE_vi[$3 & 31]($4); - } - _glGenBuffers(2,(5084|0)); - $5 = HEAP32[5084>>2]|0; - _glBindBuffer(34962,($5|0)); - $6 = HEAP32[4600>>2]|0; - _glBufferData(34962,24576,($6|0),35048); - $7 = HEAP32[(4808)>>2]|0; - _glEnableVertexAttribArray(($7|0)); - $8 = HEAP32[(4808)>>2]|0; - _glVertexAttribPointer(($8|0),3,5126,0,0,(0|0)); - $9 = HEAP32[(5088)>>2]|0; - _glBindBuffer(34962,($9|0)); - $10 = HEAP32[4560>>2]|0; - _glBufferData(34962,8192,($10|0),35048); - $11 = HEAP32[(4820)>>2]|0; - _glEnableVertexAttribArray(($11|0)); - $12 = HEAP32[(4820)>>2]|0; - _glVertexAttribPointer(($12|0),4,5121,1,0,(0|0)); - $13 = HEAP32[4632>>2]|0; - $14 = ($13|0)==(0); - if ($14) { - $16 = HEAP32[5084>>2]|0; - $17 = HEAP32[(5088)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $16; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $17; - _TraceLog(0,23811,$vararg_buffer1); - } else { - $15 = HEAP32[5116>>2]|0; - HEAP32[$vararg_buffer>>2] = $15; - _TraceLog(0,23764,$vararg_buffer); - } - $18 = HEAP32[4632>>2]|0; - $19 = ($18|0)==(0); - if (!($19)) { - $20 = HEAP32[4640>>2]|0; - FUNCTION_TABLE_vii[$20 & 63](1,5120); - $21 = HEAP32[4644>>2]|0; - $22 = HEAP32[5120>>2]|0; - FUNCTION_TABLE_vi[$21 & 31]($22); - } - _glGenBuffers(2,(5092|0)); - $23 = HEAP32[5092>>2]|0; - _glBindBuffer(34962,($23|0)); - $24 = HEAP32[4604>>2]|0; - _glBufferData(34962,73728,($24|0),35048); - $25 = HEAP32[(4808)>>2]|0; - _glEnableVertexAttribArray(($25|0)); - $26 = HEAP32[(4808)>>2]|0; - _glVertexAttribPointer(($26|0),3,5126,0,0,(0|0)); - $27 = HEAP32[(5096)>>2]|0; - _glBindBuffer(34962,($27|0)); - $28 = HEAP32[4572>>2]|0; - _glBufferData(34962,24576,($28|0),35048); - $29 = HEAP32[(4820)>>2]|0; - _glEnableVertexAttribArray(($29|0)); - $30 = HEAP32[(4820)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[4632>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $34 = HEAP32[5092>>2]|0; - $35 = HEAP32[(5096)>>2]|0; - HEAP32[$vararg_buffer8>>2] = $34; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $35; - _TraceLog(0,23921,$vararg_buffer8); - } else { - $33 = HEAP32[5120>>2]|0; - HEAP32[$vararg_buffer5>>2] = $33; - _TraceLog(0,23870,$vararg_buffer5); - } - $36 = HEAP32[4632>>2]|0; - $37 = ($36|0)==(0); - if (!($37)) { - $38 = HEAP32[4640>>2]|0; - FUNCTION_TABLE_vii[$38 & 63](1,5124); - $39 = HEAP32[4644>>2]|0; - $40 = HEAP32[5124>>2]|0; - FUNCTION_TABLE_vi[$39 & 31]($40); - } - _glGenBuffers(4,(5100|0)); - $41 = HEAP32[5100>>2]|0; - _glBindBuffer(34962,($41|0)); - $42 = HEAP32[4608>>2]|0; - _glBufferData(34962,49152,($42|0),35048); - $43 = HEAP32[(4808)>>2]|0; - _glEnableVertexAttribArray(($43|0)); - $44 = HEAP32[(4808)>>2]|0; - _glVertexAttribPointer(($44|0),3,5126,0,0,(0|0)); - $45 = HEAP32[(5104)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[4592>>2]|0; - _glBufferData(34962,32768,($46|0),35048); - $47 = HEAP32[(4812)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - $48 = HEAP32[(4812)>>2]|0; - _glVertexAttribPointer(($48|0),2,5126,0,0,(0|0)); - $49 = HEAP32[(5108)>>2]|0; - _glBindBuffer(34962,($49|0)); - $50 = HEAP32[4584>>2]|0; - _glBufferData(34962,16384,($50|0),35048); - $51 = HEAP32[(4820)>>2]|0; - _glEnableVertexAttribArray(($51|0)); - $52 = HEAP32[(4820)>>2]|0; - _glVertexAttribPointer(($52|0),4,5121,1,0,(0|0)); - $53 = HEAP32[(5112)>>2]|0; - _glBindBuffer(34963,($53|0)); - $54 = HEAP32[5128>>2]|0; - _glBufferData(34963,12288,($54|0),35044); - $55 = HEAP32[4632>>2]|0; - $56 = ($55|0)==(0); - if ($56) { - $58 = HEAP32[5100>>2]|0; - $59 = HEAP32[(5104)>>2]|0; - $60 = HEAP32[(5108)>>2]|0; - $61 = HEAP32[(5112)>>2]|0; - HEAP32[$vararg_buffer15>>2] = $58; - $vararg_ptr18 = ((($vararg_buffer15)) + 4|0); - HEAP32[$vararg_ptr18>>2] = $59; - $vararg_ptr19 = ((($vararg_buffer15)) + 8|0); - HEAP32[$vararg_ptr19>>2] = $60; - $vararg_ptr20 = ((($vararg_buffer15)) + 12|0); - HEAP32[$vararg_ptr20>>2] = $61; - _TraceLog(0,24031,$vararg_buffer15); - } else { - $57 = HEAP32[5124>>2]|0; - HEAP32[$vararg_buffer12>>2] = $57; - _TraceLog(0,23984,$vararg_buffer12); - } - $62 = HEAP32[4632>>2]|0; - $63 = ($62|0)==(0); - if ($63) { - STACKTOP = sp;return; - } - $64 = HEAP32[4644>>2]|0; - FUNCTION_TABLE_vi[$64 & 31](0); - STACKTOP = sp;return; -} -function _LoadCompressedTexture($data,$width,$height,$mipmapCount,$compressedFormat) { - $data = $data|0; - $width = $width|0; - $height = $height|0; - $mipmapCount = $mipmapCount|0; - $compressedFormat = $compressedFormat|0; - var $$ = 0, $$013 = 0, $$0610 = 0, $$17 = 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; - var $7 = 0, $8 = 0, $9 = 0, $blockSize$0 = 0, $level$012 = 0, $offset$011 = 0, $or$cond = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($compressedFormat|0) { - case 33776: case 33777: case 36196: case 37492: { - $blockSize$0 = 8; - break; - } - default: { - $blockSize$0 = 16; - } - } - $0 = ($mipmapCount|0)<(1); - $1 = $width | $height; - $2 = ($1|0)==(0); - $or$cond9 = $0 | $2; - if ($or$cond9) { - return; - } else { - $$013 = $width;$$0610 = $height;$level$012 = 0;$offset$011 = 0; - } - while(1) { - $3 = (($$013) + 3)|0; - $4 = (($3|0) / 4)&-1; - $5 = (($$0610) + 3)|0; - $6 = (($5|0) / 4)&-1; - $7 = Math_imul($4, $blockSize$0)|0; - $8 = Math_imul($7, $6)|0; - $9 = (($data) + ($offset$011)|0); - _glCompressedTexImage2D(3553,($level$012|0),($compressedFormat|0),($$013|0),($$0610|0),0,($8|0),($9|0)); - $10 = (($8) + ($offset$011))|0; - $11 = (($$013|0) / 2)&-1; - $12 = (($$0610|0) / 2)&-1; - $13 = ($$013|0)<(2); - $$ = $13 ? 1 : $11; - $14 = ($$0610|0)<(2); - $$17 = $14 ? 1 : $12; - $15 = (($level$012) + 1)|0; - $16 = ($15|0)>=($mipmapCount|0); - $17 = $$ | $$17; - $18 = ($17|0)==(0); - $or$cond = $16 | $18; - if ($or$cond) { - break; - } else { - $$013 = $$;$$0610 = $$17;$level$012 = $15;$offset$011 = $10; - } - } - return; -} -function _UpdateBuffers() { - 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, $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, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4552>>2]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[4632>>2]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[4644>>2]|0; - $5 = HEAP32[5116>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[5084>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4552>>2]|0; - $8 = ($7*12)|0; - $9 = HEAP32[4600>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(5088)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[4556>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[4560>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[4564>>2]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[4632>>2]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[4644>>2]|0; - $19 = HEAP32[5120>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[5092>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4564>>2]|0; - $22 = ($21*12)|0; - $23 = HEAP32[4604>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(5096)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[4568>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[4572>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[4576>>2]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[4632>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[4644>>2]|0; - $33 = HEAP32[5124>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[5100>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4576>>2]|0; - $36 = ($35*12)|0; - $37 = HEAP32[4608>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(5104)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4576>>2]|0; - $40 = $39 << 3; - $41 = HEAP32[4592>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(5108)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4576>>2]|0; - $44 = $43 << 2; - $45 = HEAP32[4584>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[4632>>2]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[4644>>2]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _TextFileRead($fileName) { - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $text$0 = 0, $text$1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = ($fileName|0)==(0|0); - if ($0) { - $text$1 = 0; - STACKTOP = sp;return ($text$1|0); - } - $1 = (_fopen($fileName,23726)|0); - $2 = ($1|0)==(0|0); - if ($2) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,23729,$vararg_buffer); - $text$1 = 0; - STACKTOP = sp;return ($text$1|0); - } - (_fseek($1,0,2)|0); - $3 = (_ftell($1)|0); - _rewind($1); - $4 = ($3|0)>(0); + $3 = (_malloc($2)|0); + $4 = ($3|0)==(0|0); if ($4) { - $5 = (($3) + 1)|0; - $6 = (_malloc($5)|0); - $7 = (_fread($6,1,$3,$1)|0); - $8 = (($6) + ($7)|0); - HEAP8[$8>>0] = 0; - $text$0 = $6; - } else { - $text$0 = 0; + _TraceLog(1,13726,$vararg_buffer); + STACKTOP = sp;return ($3|0); } - (_fclose($1)|0); - $text$1 = $text$0; - STACKTOP = sp;return ($text$1|0); -} -function _stbi__fopen($filename) { - $filename = $filename|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fopen($filename,19026)|0); - return ($0|0); -} -function _stbi__err($str) { - $str = $str|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5136>>2] = $str; - return; -} -function _stbi__start_file($s,$f) { - $s = $s|0; - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbi__start_callbacks($s,11032,$f); - return; -} -function _stbi__load_flip($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $col$04 = 0, $exitcond = 0, $exitcond7 = 0, $exitcond8 = 0, $or$cond = 0, $row$06 = 0, $z$03 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__load_main($s,$x,$y,$comp,$req_comp)|0); - $1 = HEAP32[5140>>2]|0; - $2 = ($1|0)!=(0); - $3 = ($0|0)!=(0|0); - $or$cond = $3 & $2; - if (!($or$cond)) { - return ($0|0); - } - $4 = HEAP32[$x>>2]|0; - $5 = HEAP32[$y>>2]|0; - $6 = ($req_comp|0)==(0); + $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); + $6 = ($5|0)==(-1); if ($6) { - $7 = HEAP32[$comp>>2]|0; - $11 = $7; - } else { - $11 = $req_comp; + _TraceLog(1,13765,$vararg_buffer1); + _free($3); } - $8 = $5 >> 1; - $9 = ($8|0)>(0); - if (!($9)) { - return ($0|0); + $7 = ($5|0)==($2|0); + if (!($7)) { + _TraceLog(1,13791,$vararg_buffer3); + HEAP32[$vararg_buffer5>>2] = $2; + _TraceLog(1,13854,$vararg_buffer5); + HEAP32[$vararg_buffer7>>2] = $5; + _TraceLog(1,13889,$vararg_buffer7); } - $10 = ($4|0)>(0); - $12 = ($11|0)>(0); - $13 = (($5) + -1)|0; - $row$06 = 0; - while(1) { - if ($10) { - $14 = Math_imul($row$06, $4)|0; - $15 = (($13) - ($row$06))|0; - $16 = Math_imul($15, $4)|0; - $col$04 = 0; - while(1) { - if ($12) { - $17 = (($col$04) + ($14))|0; - $18 = Math_imul($17, $11)|0; - $19 = (($col$04) + ($16))|0; - $20 = Math_imul($19, $11)|0; - $z$03 = 0; - while(1) { - $21 = (($z$03) + ($18))|0; - $22 = (($0) + ($21)|0); - $23 = HEAP8[$22>>0]|0; - $24 = (($z$03) + ($20))|0; - $25 = (($0) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - HEAP8[$22>>0] = $26; - HEAP8[$25>>0] = $23; - $27 = (($z$03) + 1)|0; - $exitcond = ($27|0)==($11|0); - if ($exitcond) { - break; - } else { - $z$03 = $27; - } - } - } - $28 = (($col$04) + 1)|0; - $exitcond7 = ($28|0)==($4|0); - if ($exitcond7) { - break; + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $5; + _TraceLog(0,13924,$vararg_buffer10); + STACKTOP = sp;return ($3|0); +} +function _tinfl_decompress_mem_to_mem($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); + $5 = sp + 11000|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $3; + HEAP32[$7>>2] = 0; + $8 = $4 & -7; + $9 = $8 | 4; + $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); + $11 = ($10|0)!=(0); + $12 = HEAP32[$5>>2]|0; + $13 = $11 ? -1 : $12; + STACKTOP = sp;return ($13|0); +} +function _tinfl_decompress($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, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; + var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; + var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; + var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; + var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; + var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; + var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; + var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; + var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; + var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; + var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; + var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; + var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; + var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; + var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; + var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; + var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; + var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; + var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; + var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; + var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; + var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; + var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; + var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; + var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; + var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; + var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; + var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; + var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; + var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; + var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; + var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; + var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; + var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; + var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; + var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; + var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; + var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; + var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; + var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; + var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; + var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; + var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; + var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; + var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; + var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; + var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; + var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 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, $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, $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 $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, $617 = 0; + var $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, $635 = 0; + var $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, $653 = 0; + var $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, $671 = 0; + var $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, $69 = 0; + var $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, $707 = 0; + var $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, $725 = 0; + var $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, $743 = 0; + var $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, $761 = 0; + var $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, $78 = 0; + var $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, $798 = 0; + var $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, $815 = 0; + var $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, $833 = 0; + var $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, $851 = 0; + var $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, $87 = 0; + var $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, $888 = 0; + var $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, $905 = 0; + var $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, $923 = 0; + var $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, $941 = 0; + var $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, $959 = 0, $96 = 0; + var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; + var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $7 = sp + 64|0; + $8 = sp; + $9 = HEAP32[$2>>2]|0; + $10 = (($1) + ($9)|0); + $11 = HEAP32[$5>>2]|0; + $12 = (($4) + ($11)|0); + $13 = $6 & 4; + $14 = ($13|0)!=(0); + $15 = $4; + $16 = $3; + $17 = $16 ^ -1; + $18 = (($15) + ($17))|0; + $19 = (($18) + ($11))|0; + $$1753 = $14 ? -1 : $19; + $20 = (($$1753) + 1)|0; + $21 = $20 & $$1753; + $22 = ($21|0)!=(0); + $23 = ($4>>>0)<($3>>>0); + $or$cond1702 = $23 | $22; + if ($or$cond1702) { + HEAP32[$5>>2] = 0; + HEAP32[$2>>2] = 0; + $$0951 = -3; + STACKTOP = sp;return ($$0951|0); + } + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 56|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 36|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($0)) + 60|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$0>>2]|0; + L5: do { + switch ($36|0) { + case 0: { + $37 = ((($0)) + 12|0); + HEAP32[$37>>2] = 0; + $38 = ((($0)) + 8|0); + HEAP32[$38>>2] = 0; + $39 = ((($0)) + 28|0); + HEAP32[$39>>2] = 1; + $40 = ((($0)) + 16|0); + HEAP32[$40>>2] = 1; + $41 = $6 & 1; + $42 = ($41|0)==(0); + if ($42) { + $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; + label = 14; + } else { + $43 = ($9|0)<(1); + if ($43) { + $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; + label = 6; } else { - $col$04 = $28; + $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; + label = 8; } } - } - $29 = (($row$06) + 1)|0; - $exitcond8 = ($29|0)==($8|0); - if ($exitcond8) { break; + } + case 1: { + $46 = ($9|0)>(0); + if ($46) { + $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; + label = 8; + } else { + $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; + label = 6; + } + break; + } + case 2: { + $53 = ($9|0)>(0); + if ($53) { + $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; + label = 12; + } else { + $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; + label = 10; + } + break; + } + case 36: { + $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; + label = 243; + break; + } + case 3: { + $75 = ($9|0)>(0); + if ($75) { + $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; + label = 18; + } else { + $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; + label = 16; + } + break; + } + case 5: { + $90 = ($9|0)>(0); + if ($90) { + $91 = ((($1)) + 1|0); + $92 = HEAP8[$1>>0]|0; + $93 = $92&255; + $$01412 = $93;$$111518 = $91; + } else { + $88 = $6 & 2; + $89 = ($88|0)==(0); + if ($89) { + $$01412 = 0;$$111518 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; + label = 243; + break L5; + } + } + $94 = $$01412 << $25; + $95 = $94 | $27; + $96 = (($25) + 8)|0; + $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; + label = 25; + break; + } + case 6: { + $106 = ($9|0)>(0); + if ($106) { + $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; + label = 32; + } else { + $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; + label = 30; + } + break; + } + case 7: { + $120 = ($9|0)>(0); + if ($120) { + $121 = ((($1)) + 1|0); + $122 = HEAP8[$1>>0]|0; + $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; + label = 39; + } else { + $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; + label = 36; + } + break; + } + case 39: { + $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; + label = 43; + break; + } + case 51: { + $152 = ($9|0)>(0); + if ($152) { + $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; + label = 49; + } else { + $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; + label = 47; + } + break; + } + case 52: { + $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; + label = 52; + break; + } + case 9: { + $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; + label = 55; + break; + } + case 38: { + $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; + label = 56; + break; + } + case 40: { + $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; + label = 58; + break; + } + case 10: { + $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; + label = 60; + break; + } + case 11: { + $193 = ($9|0)>(0); + if ($193) { + $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; + label = 66; + } else { + $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; + label = 64; + } + break; + } + case 14: { + $224 = ($9|0)>(0); + if ($224) { + $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; + label = 75; + } else { + $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; + label = 73; + } + break; + } + case 35: { + $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; + label = 86; + break; + } + case 16: { + $452 = ($9|0)>(0); + if ($452) { + $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; + label = 116; + } else { + $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; + label = 114; + } + break; + } + case 17: { + $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; + label = 125; + break; + } + case 18: { + $503 = ($9|0)>(0); + if ($503) { + $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; + label = 130; + } else { + $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; + label = 128; + } + break; + } + case 21: { + $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; + label = 136; + break; + } + case 23: { + $572 = ($9|0)>(0); + if ($572) { + $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; + label = 153; + } else { + $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; + label = 151; + } + break; + } + case 24: { + $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; + label = 160; + break; + } + case 25: { + $696 = ($9|0)>(0); + if ($696) { + $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; + label = 182; + } else { + $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; + label = 180; + } + break; + } + case 26: { + $737 = ($9|0)>(0); + if ($737) { + $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; + label = 195; + } else { + $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; + label = 193; + } + break; + } + case 27: { + $784 = ($9|0)>(0); + if ($784) { + $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; + label = 206; + } else { + $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; + label = 204; + } + break; + } + case 37: { + $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; + label = 210; + break; + } + case 53: { + $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; + label = 213; + break; + } + case 32: { + $842 = ($9|0)>(0); + if ($842) { + $843 = ((($1)) + 1|0); + $844 = HEAP8[$1>>0]|0; + $845 = $844&255; + $$0949 = $845;$$881595 = $843; + } else { + $840 = $6 & 2; + $841 = ($840|0)==(0); + if ($841) { + $$0949 = 0;$$881595 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; + label = 243; + break L5; + } + } + $846 = $$0949 << $25; + $847 = $846 | $27; + $848 = (($25) + 8)|0; + $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; + label = 226; + break; + } + case 41: { + $858 = ($9|0)>(0); + if ($858) { + $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; + label = 233; + } else { + $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; + label = 231; + } + break; + } + case 42: { + $871 = ($9|0)>(0); + if ($871) { + $872 = ((($1)) + 1|0); + $873 = HEAP8[$1>>0]|0; + $874 = $873&255; + $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; + label = 241; + } else { + $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; + label = 237; + } + break; + } + case 34: { + $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; + label = 242; + break; + } + default: { + $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; + label = 244; + } + } + } while(0); + if ((label|0) == 6) { + $44 = $6 & 2; + $45 = ($44|0)==(0); + if ($45) { + $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; + label = 9; } else { - $row$06 = $29; + $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; + label = 243; } } - return ($0|0); -} -function _stbi__start_callbacks($s,$c,$user) { - $s = $s|0; - $c = $c|0; - $user = $user|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - ;HEAP32[$0>>2]=HEAP32[$c>>2]|0;HEAP32[$0+4>>2]=HEAP32[$c+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$c+8>>2]|0; - $1 = ((($s)) + 28|0); - HEAP32[$1>>2] = $user; - $2 = ((($s)) + 36|0); - HEAP32[$2>>2] = 128; - $3 = ((($s)) + 32|0); - HEAP32[$3>>2] = 1; - $4 = ((($s)) + 40|0); - $5 = ((($s)) + 176|0); - HEAP32[$5>>2] = $4; - _stbi__refill_buffer($s); - $6 = ((($s)) + 172|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($s)) + 180|0); - HEAP32[$8>>2] = $7; - return; -} -function _stbi__malloc($size) { - $size = $size|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_malloc($size)|0); - return ($0|0); -} -function _stbi__do_zlib($a,$obuf,$olen,$exp,$parse_header) { - $a = $a|0; - $obuf = $obuf|0; - $olen = $olen|0; - $exp = $exp|0; - $parse_header = $parse_header|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 20|0); - HEAP32[$0>>2] = $obuf; - $1 = ((($a)) + 16|0); - HEAP32[$1>>2] = $obuf; - $2 = (($obuf) + ($olen)|0); - $3 = ((($a)) + 24|0); - HEAP32[$3>>2] = $2; - $4 = ((($a)) + 28|0); - HEAP32[$4>>2] = $exp; - $5 = (_stbi__parse_zlib($a,$parse_header)|0); - return ($5|0); -} -function _stbi__get16le($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = (_stbi__get8($s)|0); - $3 = $2&255; - $4 = $3 << 8; - $5 = $4 | $1; - return ($5|0); -} -function _LoadDDS($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 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, $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, $bufsize$0 = 0, $exitcond = 0, $exitcond13 = 0, $filecode = 0, $header = 0, $i$09 = 0, $i2$011 = 0, $i3$08 = 0, $image$sroa$0$0 = 0; - var $image$sroa$0$1 = 0, $image$sroa$0$2 = 0, $image$sroa$0$3 = 0, $image$sroa$26$0 = 0, $image$sroa$26$1 = 0, $image$sroa$41$0 = 0, $image$sroa$41$1 = 0, $image$sroa$56$0 = 0, $image$sroa$56$1 = 0, $image$sroa$56$2 = 0, $image$sroa$59$0 = 0, $image$sroa$59$1 = 0, $image$sroa$59$2 = 0, $image$sroa$59$3 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $switch = 0, $switch$split12D = 0, $switch$split2D = 0; - var $switch$split42D = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $vararg_buffer24 = sp + 56|0; - $vararg_buffer20 = sp + 48|0; - $vararg_buffer16 = sp + 40|0; - $vararg_buffer12 = sp + 32|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $filecode = sp + 184|0; - $header = sp + 60|0; - $0 = (_fopen($fileName,19026)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,21159,$vararg_buffer); - $image$sroa$0$3 = 0;$image$sroa$26$1 = 0;$image$sroa$41$1 = 0;$image$sroa$56$2 = 0;$image$sroa$59$3 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$3; - $86 = ((($agg$result)) + 4|0); - HEAP32[$86>>2] = $image$sroa$26$1; - $87 = ((($agg$result)) + 8|0); - HEAP32[$87>>2] = $image$sroa$41$1; - $88 = ((($agg$result)) + 12|0); - HEAP32[$88>>2] = $image$sroa$56$2; - $89 = ((($agg$result)) + 16|0); - HEAP32[$89>>2] = $image$sroa$59$3; - STACKTOP = sp;return; + else if ((label|0) == 8) { + $47 = ((($1)) + 1|0); + $48 = HEAP8[$1>>0]|0; + $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; + label = 9; } - (_fread($filecode,1,4,$0)|0); - $2 = (_strncmp($filecode,21193,4)|0); - $3 = ($2|0)==(0); - if ($3) { - (_fread($header,124,1,$0)|0); - HEAP32[$vararg_buffer4>>2] = $fileName; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = 124; - _TraceLog(3,21246,$vararg_buffer4); - $4 = ((($header)) + 72|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer8>>2] = $fileName; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - _TraceLog(3,21276,$vararg_buffer8); - $6 = ((($header)) + 76|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[$vararg_buffer12>>2] = $fileName; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = $7; - _TraceLog(3,21312,$vararg_buffer12); - $8 = ((($header)) + 80|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$vararg_buffer16>>2] = $fileName; - $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); - HEAP32[$vararg_ptr19>>2] = $9; - _TraceLog(3,21351,$vararg_buffer16); - $10 = ((($header)) + 84|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer20>>2] = $fileName; - $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); - HEAP32[$vararg_ptr23>>2] = $11; - _TraceLog(3,21378,$vararg_buffer20); - $12 = ((($header)) + 12|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($header)) + 8|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$10>>2]|0; - $17 = ($16|0)==(16); - L7: do { - if ($17) { - $18 = HEAP32[$6>>2]|0; - switch ($18|0) { - case 64: { - $19 = $13 << 1; - $20 = Math_imul($19, $15)|0; - $21 = (_malloc($20)|0); - (_fread($21,$20,1,$0)|0); - $image$sroa$0$0 = $21;$image$sroa$59$0 = 3; - break L7; + if ((label|0) == 9) { + $$sink3 = $$sink3$shrunk&255; + $49 = ((($0)) + 8|0); + HEAP32[$49>>2] = $$sink3; + $50 = ($$01507>>>0)<($10>>>0); + if ($50) { + $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; + label = 12; + } else { + $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; + label = 10; + } + } + if ((label|0) == 10) { + $51 = $6 & 2; + $52 = ($51|0)==(0); + if ($52) { + $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; + label = 13; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; + label = 243; + } + } + else if ((label|0) == 12) { + $54 = ((($$sink1705)) + 1|0); + $55 = HEAP8[$$sink1705>>0]|0; + $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; + label = 13; + } + if ((label|0) == 13) { + $$sink9 = $$sink9$shrunk&255; + $56 = ((($0)) + 12|0); + HEAP32[$56>>2] = $$sink9; + $57 = ((($0)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = $58 << 8; + $60 = $59 | $$sink9; + $61 = (($60>>>0) % 31)&-1; + $62 = $$sink9 & 32; + $63 = $61 | $62; + $64 = $58 & 15; + $65 = ($64|0)!=(8); + $not$ = ($63|0)!=(0); + $$1754 = $65 | $not$; + $66 = $58 >>> 4; + $67 = 256 << $66; + $68 = ($67>>>0)>(32768); + $69 = ($20>>>0)<($67>>>0); + $$ = $68 | $69; + $not$1755 = $14 ^ 1; + $70 = $$ & $not$1755; + $$31100$v = $70 | $$1754; + if ($$31100$v) { + $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; + label = 243; + } else { + $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; + label = 14; + } + } + L46: while(1) { + switch (label|0) { + case 14: { + label = 0; + $71 = ($$5>>>0)<(3); + if ($71) { + $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; + label = 15; + } else { + $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; + label = 20; + } + break; + } + case 16: { + label = 0; + $73 = $6 & 2; + $74 = ($73|0)==(0); + if ($74) { + $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; + label = 19; + } else { + $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; + label = 243; + continue L46; + } + break; + } + case 18: { + label = 0; + $76 = ((($$sink1710)) + 1|0); + $77 = HEAP8[$$sink1710>>0]|0; + $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; + label = 19; + break; + } + case 25: { + label = 0; + $97 = $$13 & 7; + $98 = $$131322 >>> $97; + $99 = (($$13) - ($97))|0; + $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; + label = 26; + break; + } + case 30: { + label = 0; + $104 = $6 & 2; + $105 = ($104|0)==(0); + if ($105) { + $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; + label = 33; + } else { + $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; + label = 243; + continue L46; + } + break; + } + case 32: { + label = 0; + $107 = ((($$sink1713)) + 1|0); + $108 = HEAP8[$$sink1713>>0]|0; + $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; + label = 33; + break; + } + case 36: { + label = 0; + $118 = $6 & 2; + $119 = ($118|0)==(0); + if ($119) { + $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; + label = 39; + continue L46; + } else { + $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; + label = 243; + continue L46; + } + break; + } + case 39: { + label = 0; + $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); + HEAP8[$$sink13>>0] = $$sink12; + $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; + label = 41; + break; + } + case 43: { + label = 0; + $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; + label = 243; + continue L46; + break; + } + case 47: { + label = 0; + $150 = $6 & 2; + $151 = ($150|0)==(0); + if ($151) { + $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; + label = 50; + } else { + $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; + label = 243; + continue L46; + } + break; + } + case 49: { + label = 0; + $153 = ((($$sink1716)) + 1|0); + $154 = HEAP8[$$sink1716>>0]|0; + $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; + label = 50; + break; + } + case 52: { + label = 0; + $162 = ($$231630>>>0)<($12>>>0); + if (!($162)) { + $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; + label = 243; + continue L46; + } + $163 = $$271018&255; + $164 = ((($$231630)) + 1|0); + HEAP8[$$231630>>0] = $163; + $165 = (($$271124) + -1)|0; + $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; + label = 44; + break; + } + case 55: { + label = 0; + $167 = ($$251632>>>0)<($12>>>0); + if ($167) { + $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; + label = 56; + continue L46; + } else { + $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; + label = 243; + continue L46; + } + break; + } + case 56: { + label = 0; + $168 = ($$301537>>>0)<($10>>>0); + if ($168) { + $171 = $12; + $172 = $$261633; + $173 = (($171) - ($172))|0; + $174 = $10; + $175 = $$301537; + $176 = (($174) - ($175))|0; + $177 = ($173>>>0)<($176>>>0); + $$sink17 = $177 ? $12 : $10; + $$sink16 = $177 ? $$261633 : $$301537; + $178 = $$sink17; + $179 = $$sink16; + $180 = (($178) - ($179))|0; + $181 = ($180>>>0)<($$301127>>>0); + $$$301127 = $181 ? $180 : $$301127; + _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; + $182 = (($$301537) + ($$$301127)|0); + $183 = (($$261633) + ($$$301127)|0); + $184 = (($$301127) - ($$$301127))|0; + $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; + label = 54; + break; + } else { + $169 = $6 & 2; + $170 = ($169|0)==(0); + if ($170) { + $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; + label = 58; + continue L46; + } else { + $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; + label = 243; + continue L46; + } + } + break; + } + case 58: { + label = 0; + $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; + label = 243; + continue L46; + break; + } + case 60: { + label = 0; + $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; + label = 243; + continue L46; + break; + } + case 64: { + label = 0; + $191 = $6 & 2; + $192 = ($191|0)==(0); + if ($192) { + $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; + label = 67; + } else { + $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; + label = 243; + continue L46; + } + break; + } + case 66: { + label = 0; + $194 = ((($$sink1719)) + 1|0); + $195 = HEAP8[$$sink1719>>0]|0; + $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; + label = 67; + break; + } + case 73: { + label = 0; + $222 = $6 & 2; + $223 = ($222|0)==(0); + if ($223) { + $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; + label = 76; + } else { + $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; + label = 243; + continue L46; + } + break; + } + case 75: { + label = 0; + $225 = ((($$sink1722)) + 1|0); + $226 = HEAP8[$$sink1722>>0]|0; + $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; + label = 76; + break; + } + case 86: { + label = 0; + $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; + label = 243; + continue L46; + break; + } + case 114: { + label = 0; + $450 = $6 & 2; + $451 = ($450|0)==(0); + if ($451) { + $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; + label = 117; + } else { + $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; + label = 243; + continue L46; + } + break; + } + case 116: { + label = 0; + $453 = ((($$sink1729)) + 1|0); + $454 = HEAP8[$$sink1729>>0]|0; + $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; + label = 117; + break; + } + case 125: { + label = 0; + $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; + label = 243; + continue L46; + break; + } + case 128: { + label = 0; + $501 = $6 & 2; + $502 = ($501|0)==(0); + if ($502) { + $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; + label = 131; + } else { + $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; + label = 243; + continue L46; + } + break; + } + case 130: { + label = 0; + $504 = ((($$sink1732)) + 1|0); + $505 = HEAP8[$$sink1732>>0]|0; + $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; + label = 131; + break; + } + case 136: { + label = 0; + $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; + label = 243; + continue L46; + break; + } + case 151: { + label = 0; + $570 = $6 & 2; + $571 = ($570|0)==(0); + if ($571) { + $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; + label = 154; + } else { + $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; + label = 243; + continue L46; + } + break; + } + case 153: { + label = 0; + $573 = ((($$sink1736)) + 1|0); + $574 = HEAP8[$$sink1736>>0]|0; + $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; + label = 154; + break; + } + case 160: { + label = 0; + $610 = ($$591666>>>0)<($12>>>0); + if (!($610)) { + $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; + label = 243; + continue L46; + } + $611 = $$621159&255; + $612 = ((($$591666)) + 1|0); + HEAP8[$$591666>>0] = $611; + $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; + label = 140; + break; + } + case 180: { + label = 0; + $694 = $6 & 2; + $695 = ($694|0)==(0); + if ($695) { + $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; + label = 183; + } else { + $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; + label = 243; + continue L46; + } + break; + } + case 182: { + label = 0; + $697 = ((($$sink1739)) + 1|0); + $698 = HEAP8[$$sink1739>>0]|0; + $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; + label = 183; + break; + } + case 193: { + label = 0; + $735 = $6 & 2; + $736 = ($735|0)==(0); + if ($736) { + $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; + label = 196; + } else { + $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; + label = 243; + continue L46; + } + break; + } + case 195: { + label = 0; + $738 = ((($$sink1743)) + 1|0); + $739 = HEAP8[$$sink1743>>0]|0; + $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; + label = 196; + break; + } + case 204: { + label = 0; + $782 = $6 & 2; + $783 = ($782|0)==(0); + if ($783) { + $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; + label = 207; + } else { + $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; + label = 243; + continue L46; + } + break; + } + case 206: { + label = 0; + $785 = ((($$sink1746)) + 1|0); + $786 = HEAP8[$$sink1746>>0]|0; + $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; + label = 207; + break; + } + case 210: { + label = 0; + $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; + label = 243; + continue L46; + break; + } + case 213: { + label = 0; + $809 = ($$781685>>>0)<($12>>>0); + if (!($809)) { + $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; + label = 243; + continue L46; + } + $810 = (($$751491) + 1)|0; + $811 = (($$751491) - ($$791070))|0; + $812 = $811 & $$1753; + $813 = (($3) + ($812)|0); + $814 = HEAP8[$813>>0]|0; + $815 = ((($$781685)) + 1|0); + HEAP8[$$781685>>0] = $814; + $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; + label = 212; + break; + } + case 226: { + label = 0; + $849 = $$90 & 7; + $850 = $$901399 >>> $849; + $851 = (($$90) - ($849))|0; + $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; + label = 227; + break; + } + case 231: { + label = 0; + $856 = $6 & 2; + $857 = ($856|0)==(0); + if ($857) { + $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; + label = 234; + } else { + $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; + label = 243; + continue L46; + } + break; + } + case 233: { + label = 0; + $859 = ((($$sink1750)) + 1|0); + $860 = HEAP8[$$sink1750>>0]|0; + $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; + label = 234; + break; + } + case 237: { + label = 0; + $869 = $6 & 2; + $870 = ($869|0)==(0); + if ($870) { + $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; + label = 241; + continue L46; + } else { + $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; + label = 243; + continue L46; + } + break; + } + case 241: { + label = 0; + $878 = ((($0)) + 16|0); + $879 = HEAP32[$878>>2]|0; + $880 = $879 << 8; + $881 = $880 | $$0948; + HEAP32[$878>>2] = $881; + $882 = (($$931190) + 1)|0; + $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; + label = 227; + break; + } + case 242: { + label = 0; + $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; + label = 243; + continue L46; + break; + } + case 243: { + label = 0; + HEAP32[$0>>2] = $$sink30; + $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; + label = 244; + continue L46; + break; + } + case 244: { + label = 0; + HEAP32[$24>>2] = $$100; + HEAP32[$26>>2] = $$1001409; + HEAP32[$28>>2] = $$941085; + HEAP32[$30>>2] = $$961193; + HEAP32[$32>>2] = $$961299; + HEAP32[$34>>2] = $$901506; + $883 = $$991606; + $884 = $1; + $885 = (($883) - ($884))|0; + HEAP32[$2>>2] = $885; + $886 = $$941701; + $887 = $4; + $888 = (($886) - ($887))|0; + HEAP32[$5>>2] = $888; + $889 = $6 & 9; + $890 = ($889|0)!=(0); + $891 = ($$1961|0)>(-1); + $or$cond29 = $890 & $891; + if ($or$cond29) { + break L46; + } else { + $$0951 = $$1961; + label = 258; + break L46; + } + break; + } + } + switch (label|0) { + case 19: { + label = 0; + $$01413 = $$01413$shrunk&255; + $78 = $$01413 << $$8; + $79 = $78 | $$81317; + $80 = (($$8) + 8)|0; + $81 = ($80>>>0)<(3); + if ($81) { + $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; + label = 15; + } else { + $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; + label = 20; + } + break; + } + case 33: { + label = 0; + $$01411 = $$01411$shrunk&255; + $109 = $$01411 << $$17; + $110 = $109 | $$171326; + $111 = (($$17) + 8)|0; + $112 = ($$17>>>0)>(4294967287); + if ($112) { + $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; + label = 29; + } else { + $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; + label = 34; + } + break; + } + case 50: { + label = 0; + $$01410 = $$01410$shrunk&255; + $155 = $$01410 << $$26; + $156 = $155 | $$261335; + $157 = (($$26) + 8)|0; + $158 = ($$26>>>0)>(4294967287); + if ($158) { + $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; + label = 46; + } else { + $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; + label = 51; + } + break; + } + case 67: { + label = 0; + $$01300 = $$01300$shrunk&255; + $196 = $$01300 << $$37; + $197 = $196 | $$371346; + $198 = (($$37) + 8)|0; + $199 = (13981 + ($$361133)|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200 << 24 >> 24; + $202 = ($198>>>0)<($201>>>0); + if ($202) { + $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; + label = 63; + } else { + $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; + label = 68; + } + break; + } + case 76: { + label = 0; + $$01202 = $$01202$shrunk&255; + $227 = $$01202 << $$42; + $228 = $227 | $$421351; + $229 = (($$42) + 8)|0; + $230 = ($229>>>0)<(3); + if ($230) { + $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; + label = 72; + } else { + $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; + label = 77; + } + break; + } + case 117: { + label = 0; + $$0980 = $$0980$shrunk&255; + $455 = $$0980 << $$49; + $456 = $455 | $$491358; + $457 = (($$49) + 8)|0; + $458 = ($457>>>0)<(15); + if ($458) { + $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; + label = 108; + } else { + $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; + label = 119; + } + break; + } + case 131: { + label = 0; + $$0979 = $$0979$shrunk&255; + $506 = $$0979 << $$54; + $507 = $506 | $$541363; + $508 = (($$54) + 8)|0; + $509 = ($508>>>0)<($$541257>>>0); + if ($509) { + $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; + label = 127; + } else { + $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; + label = 132; + } + break; + } + case 154: { + label = 0; + $$0971 = $$0971$shrunk&255; + $575 = $$0971 << $$62; + $576 = $575 | $$621371; + $577 = (($$62) + 8)|0; + $578 = ($577>>>0)<(15); + if ($578) { + $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; + label = 145; + } else { + $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; + label = 156; + } + break; + } + case 183: { + label = 0; + $$0959 = $$0959$shrunk&255; + $699 = $$0959 << $$71; + $700 = $699 | $$711380; + $701 = (($$71) + 8)|0; + $702 = ($701>>>0)<($$681271>>>0); + if ($702) { + $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; + label = 179; + } else { + $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; + label = 184; + } + break; + } + case 196: { + label = 0; + $$0952 = $$0952$shrunk&255; + $740 = $$0952 << $$76; + $741 = $740 | $$761385; + $742 = (($$76) + 8)|0; + $743 = ($742>>>0)<(15); + if ($743) { + $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; + label = 187; + } else { + $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; + label = 198; + } + break; + } + case 207: { + label = 0; + $$0950 = $$0950$shrunk&255; + $787 = $$0950 << $$80; + $788 = $787 | $$801389; + $789 = (($$80) + 8)|0; + $790 = ($789>>>0)<($$761279>>>0); + if ($790) { + $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; + label = 203; + } else { + $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; + label = 208; + } + break; + } + case 227: { + label = 0; + $852 = ($$871184>>>0)<(4); + if (!($852)) { + $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; + label = 242; + continue L46; + } + $853 = ($$91|0)==(0); + if (!($853)) { + $854 = ($$91>>>0)<(8); + if ($854) { + $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; + label = 230; + break; + } else { + $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; + label = 235; + break; + } + } + $868 = ($$901597>>>0)<($10>>>0); + if (!($868)) { + $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; + label = 237; + continue L46; + } + $875 = ((($$901597)) + 1|0); + $876 = HEAP8[$$901597>>0]|0; + $877 = $876&255; + $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; + label = 241; + continue L46; + break; + } + case 234: { + label = 0; + $$0947 = $$0947$shrunk&255; + $861 = $$0947 << $$94; + $862 = $861 | $$941403; + $863 = (($$94) + 8)|0; + $864 = ($$94>>>0)>(4294967287); + if ($864) { + $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; + label = 230; + } else { + $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; + label = 235; + } + break; + } + } + L119: do { + if ((label|0) == 15) { + label = 0; + $72 = ($$51512>>>0)<($10>>>0); + if ($72) { + $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; + label = 18; + continue L46; + } else { + $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; + label = 16; + continue L46; + } + } + else if ((label|0) == 20) { + label = 0; + $82 = $$91318 & 7; + $83 = ((($0)) + 20|0); + HEAP32[$83>>2] = $82; + $84 = $$91318 >>> 3; + $85 = (($$9) + -3)|0; + $86 = $82 >>> 1; + $87 = ((($0)) + 24|0); + HEAP32[$87>>2] = $86; + $trunc = $86&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; + label = 25; + continue L46; break; } - case 65: { + case 3: { + $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; + label = 60; + continue L46; + break; + } + case 1: { break; } default: { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; - break L7; + $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; + label = 61; + break L119; } } - $22 = ((($header)) + 100|0); - $23 = HEAP32[$22>>2]|0; - $switch$split2D = ($23|0)<(61440); - if ($switch$split2D) { - switch ($23|0) { - case 32768: { - break; - } - default: { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; - break L7; - } - } - $24 = Math_imul($15, $13)|0; - $25 = $24 << 1; - $26 = (_malloc($25)|0); - (_fread($26,$25,1,$0)|0); - $27 = ($24|0)>(0); - if (!($27)) { - $image$sroa$0$0 = $26;$image$sroa$59$0 = 5; - break; - } - $28 = Math_imul($15, $13)|0; - $i$09 = 0; - while(1) { - $29 = (($26) + ($i$09<<1)|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $32 = ($30&65535) >>> 15; - $33 = $32&65535; - $34 = $31 << 1; - $35 = $34 | $33; - $36 = $35&65535; - HEAP16[$29>>1] = $36; - $37 = (($i$09) + 1)|0; - $exitcond = ($37|0)==($28|0); - if ($exitcond) { - $image$sroa$0$0 = $26;$image$sroa$59$0 = 5; - break; - } else { - $i$09 = $37; - } - } + $240 = ((($0)) + 44|0); + HEAP32[$240>>2] = 288; + $241 = ((($0)) + 48|0); + HEAP32[$241>>2] = 32; + $242 = ((($0)) + 3552|0); + ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; + $scevgep19611962 = ((($0)) + 64|0); + _memset(($scevgep19611962|0),8,144)|0; + $scevgep1959 = ((($0)) + 208|0); + dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1957 = ((($0)) + 320|0); + dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1955 = ((($0)) + 344|0); + $243 = $scevgep1955; + $244 = $243; + HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; + $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; + label = 80; + } + else if ((label|0) == 230) { + label = 0; + $855 = ($$911598>>>0)<($10>>>0); + if ($855) { + $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; + label = 233; + continue L46; } else { - switch ($23|0) { - case 61440: { - break; - } - default: { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; - break L7; - } - } - $38 = Math_imul($15, $13)|0; - $39 = $38 << 1; - $40 = (_malloc($39)|0); - (_fread($40,$39,1,$0)|0); - $41 = ($38|0)>(0); - if (!($41)) { - $image$sroa$0$0 = $40;$image$sroa$59$0 = 6; - break; - } - $42 = Math_imul($15, $13)|0; - $i2$011 = 0; - while(1) { - $43 = (($40) + ($i2$011<<1)|0); - $44 = HEAP16[$43>>1]|0; - $45 = $44&65535; - $46 = ($44&65535) >>> 12; - $47 = $46&65535; - $48 = $45 << 4; - $49 = $48 | $47; - $50 = $49&65535; - HEAP16[$43>>1] = $50; - $51 = (($i2$011) + 1)|0; - $exitcond13 = ($51|0)==($42|0); - if ($exitcond13) { - $image$sroa$0$0 = $40;$image$sroa$59$0 = 6; - break; - } else { - $i2$011 = $51; - } - } + $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; + label = 231; + continue L46; } - } else { - $image$sroa$0$0 = 0;$image$sroa$59$0 = 0; + } + else if ((label|0) == 235) { + label = 0; + $865 = $$951404 & 255; + $866 = $$951404 >>> 8; + $867 = (($$95) + -8)|0; + $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; + label = 241; + continue L46; } } while(0); - $52 = HEAP32[$6>>2]|0; - $53 = ($52|0)==(64); - $54 = HEAP32[$10>>2]|0; - $55 = ($54|0)==(24); - $or$cond = $53 & $55; - L24: do { - if ($or$cond) { - $56 = ($13*3)|0; - $57 = Math_imul($56, $15)|0; - $58 = (_malloc($57)|0); - (_fread($58,$57,1,$0)|0); - $image$sroa$0$1 = $58;$image$sroa$56$0 = 1;$image$sroa$59$1 = 4; - } else { - $59 = ($52|0)==(65); - $60 = ($54|0)==(32); - $or$cond3 = $59 & $60; - if ($or$cond3) { - $61 = $13 << 2; - $62 = Math_imul($61, $15)|0; - $63 = (_malloc($62)|0); - (_fread($63,$62,1,$0)|0); - $64 = ($62|0)>(0); - if ($64) { - $i3$08 = 0; - } else { - $image$sroa$0$1 = $63;$image$sroa$56$0 = 1;$image$sroa$59$1 = 7; - break; - } - while(1) { - $65 = (($63) + ($i3$08)|0); - $66 = HEAP8[$65>>0]|0; - $67 = $i3$08 | 2; - $68 = (($63) + ($67)|0); - $69 = HEAP8[$68>>0]|0; - HEAP8[$65>>0] = $69; - HEAP8[$68>>0] = $66; - $70 = (($i3$08) + 4)|0; - $71 = ($70|0)<($62|0); - if ($71) { - $i3$08 = $70; + L125: while(1) { + L126: switch (label|0) { + case 26: { + label = 0; + $100 = ($$131110>>>0)<(4); + if (!($100)) { + $127 = ((($0)) + 10528|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = ((($0)) + 10529|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132 << 8; + $134 = $133 | $129; + $135 = ((($0)) + 10530|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = ((($0)) + 10531|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + $141 = $140 << 8; + $142 = $141 | $137; + $143 = $142 ^ 65535; + $144 = ($134|0)==($143|0); + if ($144) { + $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; + label = 44; + continue L125; } else { - $image$sroa$0$1 = $63;$image$sroa$56$0 = 1;$image$sroa$59$1 = 7; - break L24; + $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; + label = 43; + continue L46; } } + $101 = ($$14|0)==(0); + if (!($101)) { + $102 = ($$14>>>0)<(8); + if ($102) { + $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; + label = 29; + continue L125; + } else { + $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; + label = 34; + continue L125; + } + } + $117 = ($$131520>>>0)<($10>>>0); + if (!($117)) { + $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; + label = 36; + continue L46; + } + $123 = ((($$131520)) + 1|0); + $124 = HEAP8[$$131520>>0]|0; + $125 = (((($0)) + 10528|0) + ($$131110)|0); + HEAP8[$125>>0] = $124; + $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; + label = 41; + continue L125; + break; } - $72 = $52 & -2; - $switch = ($72|0)!=(4); - $73 = HEAP32[$8>>2]|0; - $74 = ($73|0)==(0); - $or$cond5 = $switch | $74; - if ($or$cond5) { - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$56$0 = 1;$image$sroa$59$1 = $image$sroa$59$0; - } else { - $75 = ((($header)) + 24|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76>>>0)>(1); - $78 = ((($header)) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = $77&1; - $bufsize$0 = $79 << $80; - HEAP32[$vararg_buffer24>>2] = $79; - _TraceLog(3,21408,$vararg_buffer24); - $81 = (_malloc($bufsize$0)|0); - (_fread($81,1,$bufsize$0,$0)|0); - $82 = HEAP32[$75>>2]|0; - $83 = HEAP32[$8>>2]|0; - $switch$split12D = ($83|0)<(861165636); - if ($switch$split12D) { - switch ($83|0) { - case 827611204: { - break; - } - default: { - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = $image$sroa$59$0; - break L24; - } - } - $84 = HEAP32[$6>>2]|0; - $85 = ($84|0)==(4); - $$ = $85 ? 8 : 9; - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = $$; - break; - } - $switch$split42D = ($83|0)<(894720068); - if ($switch$split42D) { - switch ($83|0) { - case 861165636: { - break; - } - default: { - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = $image$sroa$59$0; - break L24; - } - } - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = 10; - break; + case 29: { + label = 0; + $103 = ($$141521>>>0)<($10>>>0); + if ($103) { + $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; + label = 32; + continue L46; } else { - switch ($83|0) { - case 894720068: { - break; + $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; + label = 30; + continue L46; + } + break; + } + case 34: { + label = 0; + $113 = $$181327&255; + $114 = (((($0)) + 10528|0) + ($$171114)|0); + HEAP8[$114>>0] = $113; + $115 = $$181327 >>> 8; + $116 = (($$18) + -8)|0; + $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; + label = 41; + continue L125; + break; + } + case 41: { + label = 0; + $126 = (($$201117) + 1)|0; + $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; + label = 26; + continue L125; + break; + } + case 44: { + label = 0; + $145 = ($$221119|0)!=(0); + $146 = ($$23|0)!=(0); + $147 = $145 & $146; + if (!($147)) { + $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; + label = 54; + continue L125; + } + $148 = ($$23>>>0)<(8); + if ($148) { + $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; + label = 46; + continue L125; + } else { + $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; + label = 51; + continue L125; + } + break; + } + case 46: { + label = 0; + $149 = ($$231530>>>0)<($10>>>0); + if ($149) { + $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; + label = 49; + continue L46; + } else { + $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; + label = 47; + continue L46; + } + break; + } + case 51: { + label = 0; + $159 = $$271336 & 255; + $160 = $$271336 >>> 8; + $161 = (($$27) + -8)|0; + $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; + label = 52; + continue L46; + break; + } + case 54: { + label = 0; + $166 = ($$281125|0)==(0); + if ($166) { + $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; + label = 220; + break L125; + } else { + $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; + label = 55; + continue L46; + } + break; + } + case 61: { + label = 0; + $185 = ($$331130>>>0)<(3); + if ($185) { + $186 = (13981 + ($$331130)|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 << 24 >> 24; + $189 = ($$34>>>0)<($188>>>0); + if ($189) { + $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; + label = 63; + continue L125; + } else { + $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; + label = 68; + continue L125; } - default: { - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = $image$sroa$59$0; - break L24; - } - } - $image$sroa$0$1 = $81;$image$sroa$56$0 = $82;$image$sroa$59$1 = 11; + } else { + $216 = ((($0)) + 7040|0); + _memset(($216|0),0,288)|0; + $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; + label = 70; break; } + break; } - } - } while(0); - $image$sroa$0$2 = $image$sroa$0$1;$image$sroa$26$0 = $13;$image$sroa$41$0 = $15;$image$sroa$56$1 = $image$sroa$56$0;$image$sroa$59$2 = $image$sroa$59$1; - } else { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,21198,$vararg_buffer1); - $image$sroa$0$2 = 0;$image$sroa$26$0 = 0;$image$sroa$41$0 = 0;$image$sroa$56$1 = 0;$image$sroa$59$2 = 0; - } - (_fclose($0)|0); - $image$sroa$0$3 = $image$sroa$0$2;$image$sroa$26$1 = $image$sroa$26$0;$image$sroa$41$1 = $image$sroa$41$0;$image$sroa$56$2 = $image$sroa$56$1;$image$sroa$59$3 = $image$sroa$59$2; - HEAP32[$agg$result>>2] = $image$sroa$0$3; - $86 = ((($agg$result)) + 4|0); - HEAP32[$86>>2] = $image$sroa$26$1; - $87 = ((($agg$result)) + 8|0); - HEAP32[$87>>2] = $image$sroa$41$1; - $88 = ((($agg$result)) + 12|0); - HEAP32[$88>>2] = $image$sroa$56$2; - $89 = ((($agg$result)) + 16|0); - HEAP32[$89>>2] = $image$sroa$59$3; - STACKTOP = sp;return; -} -function _LoadPKM($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $$1 = 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; - 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, $header = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$10$0 = 0, $image$sroa$10$1 = 0, $image$sroa$12$0 = 0, $image$sroa$12$1 = 0, $image$sroa$4$0 = 0, $image$sroa$4$1 = 0, $image$sroa$7$0 = 0, $image$sroa$7$1 = 0; - var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $header = sp + 40|0; - $0 = (_fopen($fileName,19026)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,20992,$vararg_buffer); - $image$sroa$0$1 = 0;$image$sroa$10$1 = 0;$image$sroa$12$1 = 0;$image$sroa$4$1 = 0;$image$sroa$7$1 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $43 = ((($agg$result)) + 4|0); - HEAP32[$43>>2] = $image$sroa$4$1; - $44 = ((($agg$result)) + 8|0); - HEAP32[$44>>2] = $image$sroa$7$1; - $45 = ((($agg$result)) + 12|0); - HEAP32[$45>>2] = $image$sroa$10$1; - $46 = ((($agg$result)) + 16|0); - HEAP32[$46>>2] = $image$sroa$12$1; - STACKTOP = sp;return; - } - (_fread($header,16,1,$0)|0); - $2 = (_strncmp($header,21026,4)|0); - $3 = ($2|0)==(0); - L5: do { - if ($3) { - $4 = ((($header)) + 6|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 << 8; - $8 = $6 >>> 8; - $9 = $7 | $8; - $10 = $9&65535; - HEAP16[$4>>1] = $10; - $11 = ((($header)) + 8|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; - $14 = $13 << 8; - $15 = $13 >>> 8; - $16 = $14 | $15; - $17 = $16&65535; - HEAP16[$11>>1] = $17; - $18 = ((($header)) + 10|0); - $19 = HEAP16[$18>>1]|0; - $20 = $19&65535; - $21 = $20 << 8; - $22 = $20 >>> 8; - $23 = $21 | $22; - $24 = $23&65535; - HEAP16[$18>>1] = $24; - $25 = HEAP16[$11>>1]|0; - $26 = $25&65535; - HEAP32[$vararg_buffer4>>2] = $26; - _TraceLog(3,21079,$vararg_buffer4); - $27 = HEAP16[$18>>1]|0; - $28 = $27&65535; - HEAP32[$vararg_buffer7>>2] = $28; - _TraceLog(3,21105,$vararg_buffer7); - $29 = HEAP16[$4>>1]|0; - $30 = $29&65535; - HEAP32[$vararg_buffer10>>2] = $30; - _TraceLog(3,21132,$vararg_buffer10); - $31 = HEAP16[$11>>1]|0; - $32 = $31&65535; - $33 = HEAP16[$18>>1]|0; - $34 = $33&65535; - $35 = HEAP16[$4>>1]|0; - $36 = ($35<<16>>16)==(3); - $$ = $36 ? 8 : 4; - $37 = Math_imul($34, $32)|0; - $38 = Math_imul($37, $$)|0; - $39 = $38 >>> 3; - $40 = (_malloc($39)|0); - (_fread($40,1,$39,$0)|0); - $41 = HEAP16[$4>>1]|0; - switch ($41<<16>>16) { - case 0: { - $image$sroa$0$0 = $40;$image$sroa$10$0 = 1;$image$sroa$12$0 = 12;$image$sroa$4$0 = $32;$image$sroa$7$0 = $34; - break L5; - break; - } - case 1: { - $image$sroa$0$0 = $40;$image$sroa$10$0 = 1;$image$sroa$12$0 = 13;$image$sroa$4$0 = $32;$image$sroa$7$0 = $34; - break L5; - break; - } - default: { - $42 = ($41<<16>>16)==(3); - $$1 = $42 ? 14 : 0; - $image$sroa$0$0 = $40;$image$sroa$10$0 = 1;$image$sroa$12$0 = $$1;$image$sroa$4$0 = $32;$image$sroa$7$0 = $34; - break L5; - } - } - } else { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,21031,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$10$0 = 0;$image$sroa$12$0 = 0;$image$sroa$4$0 = 0;$image$sroa$7$0 = 0; - } - } while(0); - (_fclose($0)|0); - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$10$1 = $image$sroa$10$0;$image$sroa$12$1 = $image$sroa$12$0;$image$sroa$4$1 = $image$sroa$4$0;$image$sroa$7$1 = $image$sroa$7$0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $43 = ((($agg$result)) + 4|0); - HEAP32[$43>>2] = $image$sroa$4$1; - $44 = ((($agg$result)) + 8|0); - HEAP32[$44>>2] = $image$sroa$7$1; - $45 = ((($agg$result)) + 12|0); - HEAP32[$45>>2] = $image$sroa$10$1; - $46 = ((($agg$result)) + 16|0); - HEAP32[$46>>2] = $image$sroa$12$1; - STACKTOP = sp;return; -} -function _LoadKTX($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 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, $41 = 0, $42 = 0, $43 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dataSize = 0, $header = 0, $i$01 = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$3$0 = 0, $image$sroa$3$1 = 0, $image$sroa$5$0 = 0, $image$sroa$5$1 = 0, $image$sroa$7$0 = 0, $image$sroa$7$1 = 0, $image$sroa$9$0 = 0, $image$sroa$9$1 = 0, $unused = 0, $vararg_buffer = 0; - var $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $header = sp + 40|0; - $unused = sp + 104|0; - $dataSize = sp + 36|0; - $0 = (_fopen($fileName,19026)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,20823,$vararg_buffer); - $image$sroa$0$1 = 0;$image$sroa$3$1 = 0;$image$sroa$5$1 = 0;$image$sroa$7$1 = 0;$image$sroa$9$1 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $40 = ((($agg$result)) + 4|0); - HEAP32[$40>>2] = $image$sroa$3$1; - $41 = ((($agg$result)) + 8|0); - HEAP32[$41>>2] = $image$sroa$5$1; - $42 = ((($agg$result)) + 12|0); - HEAP32[$42>>2] = $image$sroa$7$1; - $43 = ((($agg$result)) + 16|0); - HEAP32[$43>>2] = $image$sroa$9$1; - STACKTOP = sp;return; - } - (_fread($header,64,1,$0)|0); - $2 = ((($header)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(75); - L5: do { - if ($4) { - $5 = ((($header)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(84); - if ($7) { - $8 = ((($header)) + 3|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(88); - if ($10) { - $11 = ((($header)) + 4|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(32); - if ($13) { - $14 = ((($header)) + 5|0); - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(49); - if ($16) { - $17 = ((($header)) + 6|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(49); - if ($19) { - $20 = ((($header)) + 36|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($header)) + 40|0); - $23 = HEAP32[$22>>2]|0; - $24 = ((($header)) + 56|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$vararg_buffer4>>2] = $21; - _TraceLog(3,20910,$vararg_buffer4); - $26 = HEAP32[$22>>2]|0; - HEAP32[$vararg_buffer7>>2] = $26; - _TraceLog(3,20936,$vararg_buffer7); - $27 = ((($header)) + 28|0); - $28 = HEAP32[$27>>2]|0; - HEAP32[$vararg_buffer10>>2] = $28; - _TraceLog(3,20963,$vararg_buffer10); - $29 = ((($header)) + 60|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[$29>>2]|0; - $i$01 = 0; - while(1) { - (_fread($unused,1,1,$0)|0); - $33 = (($i$01) + 1)|0; - $34 = ($33>>>0)<($32>>>0); - if ($34) { - $i$01 = $33; + case 63: { + label = 0; + $190 = ($$341541>>>0)<($10>>>0); + if ($190) { + $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; + label = 66; + continue L46; + } else { + $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; + label = 64; + continue L46; + } + break; + } + case 68: { + label = 0; + $203 = (13981 + ($$371134)|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204 << 24 >> 24; + $206 = 1 << $205; + $207 = (($206) + -1)|0; + $208 = $207 & $$381347; + $209 = (((($0)) + 44|0) + ($$371134<<2)|0); + $210 = $$381347 >>> $205; + $211 = (($$38) - ($205))|0; + $212 = (3108 + ($$371134<<2)|0); + $213 = HEAP32[$212>>2]|0; + $214 = (($208) + ($213))|0; + HEAP32[$209>>2] = $214; + $215 = (($$371134) + 1)|0; + $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; + label = 61; + continue L125; + break; + } + case 72: { + label = 0; + $221 = ($$391546>>>0)<($10>>>0); + if ($221) { + $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; + label = 75; + continue L46; + } else { + $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; + label = 73; + continue L46; + } + break; + } + case 77: { + label = 0; + $231 = $$431352 & 7; + $232 = $$431352 >>> 3; + $233 = (($$43) + -3)|0; + $234 = $231&255; + $235 = (13985 + ($$421139)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = (((($0)) + 7040|0) + ($237)|0); + HEAP8[$238>>0] = $234; + $239 = (($$421139) + 1)|0; + $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; + label = 70; + break; + } + case 80: { + label = 0; + $247 = ((($0)) + 24|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)>(-1); + if ($249) { + dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); + _memset(($250|0),0,3200)|0; + $251 = HEAP32[$247>>2]|0; + $252 = (((($0)) + 44|0) + ($251<<2)|0); + $253 = HEAP32[$252>>2]|0; + $254 = ($253|0)==(0); + if (!($254)) { + $255 = HEAP32[$247>>2]|0; + $256 = (((($0)) + 44|0) + ($255<<2)|0); + $257 = HEAP32[$256>>2]|0; + $$010951864 = 0; + while(1) { + $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (($8) + ($260<<2)|0); + $262 = HEAP32[$261>>2]|0; + $263 = (($262) + 1)|0; + HEAP32[$261>>2] = $263; + $264 = (($$010951864) + 1)|0; + $265 = ($264>>>0)<($257>>>0); + if ($265) { + $$010951864 = $264; + } else { + break; + } + } + } + $266 = ((($7)) + 4|0); + HEAP32[$266>>2] = 0; + HEAP32[$7>>2] = 0; + $267 = ((($8)) + 4|0); + $268 = HEAP32[$267>>2]|0; + $269 = $268 << 1; + $270 = ((($7)) + 8|0); + HEAP32[$270>>2] = $269; + $271 = ((($8)) + 8|0); + $272 = HEAP32[$271>>2]|0; + $273 = (($272) + ($268))|0; + $274 = (($272) + ($269))|0; + $275 = $274 << 1; + $276 = ((($7)) + 12|0); + HEAP32[$276>>2] = $275; + $277 = ((($8)) + 12|0); + $278 = HEAP32[$277>>2]|0; + $279 = (($278) + ($273))|0; + $280 = (($278) + ($275))|0; + $281 = $280 << 1; + $282 = ((($7)) + 16|0); + HEAP32[$282>>2] = $281; + $283 = ((($8)) + 16|0); + $284 = HEAP32[$283>>2]|0; + $285 = (($284) + ($279))|0; + $286 = (($284) + ($281))|0; + $287 = $286 << 1; + $288 = ((($7)) + 20|0); + HEAP32[$288>>2] = $287; + $289 = ((($8)) + 20|0); + $290 = HEAP32[$289>>2]|0; + $291 = (($290) + ($285))|0; + $292 = (($290) + ($287))|0; + $293 = $292 << 1; + $294 = ((($7)) + 24|0); + HEAP32[$294>>2] = $293; + $295 = ((($8)) + 24|0); + $296 = HEAP32[$295>>2]|0; + $297 = (($296) + ($291))|0; + $298 = (($296) + ($293))|0; + $299 = $298 << 1; + $300 = ((($7)) + 28|0); + HEAP32[$300>>2] = $299; + $301 = ((($8)) + 28|0); + $302 = HEAP32[$301>>2]|0; + $303 = (($302) + ($297))|0; + $304 = (($302) + ($299))|0; + $305 = $304 << 1; + $306 = ((($7)) + 32|0); + HEAP32[$306>>2] = $305; + $307 = ((($8)) + 32|0); + $308 = HEAP32[$307>>2]|0; + $309 = (($308) + ($303))|0; + $310 = (($308) + ($305))|0; + $311 = $310 << 1; + $312 = ((($7)) + 36|0); + HEAP32[$312>>2] = $311; + $313 = ((($8)) + 36|0); + $314 = HEAP32[$313>>2]|0; + $315 = (($314) + ($309))|0; + $316 = (($314) + ($311))|0; + $317 = $316 << 1; + $318 = ((($7)) + 40|0); + HEAP32[$318>>2] = $317; + $319 = ((($8)) + 40|0); + $320 = HEAP32[$319>>2]|0; + $321 = (($320) + ($315))|0; + $322 = (($320) + ($317))|0; + $323 = $322 << 1; + $324 = ((($7)) + 44|0); + HEAP32[$324>>2] = $323; + $325 = ((($8)) + 44|0); + $326 = HEAP32[$325>>2]|0; + $327 = (($326) + ($321))|0; + $328 = (($326) + ($323))|0; + $329 = $328 << 1; + $330 = ((($7)) + 48|0); + HEAP32[$330>>2] = $329; + $331 = ((($8)) + 48|0); + $332 = HEAP32[$331>>2]|0; + $333 = (($332) + ($327))|0; + $334 = (($332) + ($329))|0; + $335 = $334 << 1; + $336 = ((($7)) + 52|0); + HEAP32[$336>>2] = $335; + $337 = ((($8)) + 52|0); + $338 = HEAP32[$337>>2]|0; + $339 = (($338) + ($333))|0; + $340 = (($338) + ($335))|0; + $341 = $340 << 1; + $342 = ((($7)) + 56|0); + HEAP32[$342>>2] = $341; + $343 = ((($8)) + 56|0); + $344 = HEAP32[$343>>2]|0; + $345 = (($344) + ($339))|0; + $346 = (($344) + ($341))|0; + $347 = $346 << 1; + $348 = ((($7)) + 60|0); + HEAP32[$348>>2] = $347; + $349 = ((($8)) + 60|0); + $350 = HEAP32[$349>>2]|0; + $351 = (($350) + ($345))|0; + $352 = (($350) + ($347))|0; + $353 = $352 << 1; + $354 = ((($7)) + 64|0); + HEAP32[$354>>2] = $353; + $355 = ($353|0)!=(65536); + $356 = ($351>>>0)>(1); + $or$cond = $355 & $356; + if ($or$cond) { + $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; + label = 86; + continue L46; + } + $357 = HEAP32[$247>>2]|0; + $358 = (((($0)) + 44|0) + ($357<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0); + if ($360) { + $$lcssa1779 = $357; + } else { + $$010911856 = 0;$$011971855 = -1; + while(1) { + $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); + $362 = HEAP8[$361>>0]|0; + $363 = $362&255; + $364 = ($362<<24>>24)==(0); + L142: do { + if ($364) { + $$41201 = $$011971855; + } else { + $365 = (($7) + ($363<<2)|0); + $366 = HEAP32[$365>>2]|0; + $367 = (($366) + 1)|0; + HEAP32[$365>>2] = $367; + $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; + while(1) { + $368 = $$010881838 << 1; + $369 = $$010861840 & 1; + $370 = $369 | $368; + $371 = (($$010871839) + -1)|0; + $372 = $$010861840 >>> 1; + $373 = ($371|0)==(0); + if ($373) { + break; + } else { + $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; + } + } + $374 = ($362&255)<(11); + if ($374) { + $375 = $363 << 9; + $376 = $375 | $$010911856; + $377 = $376&65535; + $378 = ($370>>>0)<(1024); + if (!($378)) { + $$41201 = $$011971855; + break; + } + $379 = 1 << $363; + $$110891852 = $370; + while(1) { + $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); + HEAP16[$380>>1] = $377; + $381 = (($$110891852) + ($379))|0; + $382 = ($381>>>0)<(1024); + if ($382) { + $$110891852 = $381; + } else { + $$41201 = $$011971855; + break L142; + } + } + } + $383 = $370 & 1023; + $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); + $385 = HEAP16[$384>>1]|0; + $386 = $385 << 16 >> 16; + $387 = ($385<<16>>16)==(0); + if ($387) { + $388 = (($$011971855) + -2)|0; + $389 = $$011971855&65535; + HEAP16[$384>>1] = $389; + $$01194 = $$011971855;$$11198 = $388; } else { + $$01194 = $386;$$11198 = $$011971855; + } + $390 = $$010881838 >>> 9; + $391 = ($362&255)>(11); + $392 = $390 & 1; + $393 = (($392) - ($$01194))|0; + $394 = (($393) + -1)|0; + if ($391) { + $395 = $390 & 4194303; + $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; + while(1) { + $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); + $398 = HEAP16[$396>>1]|0; + $399 = ($398<<16>>16)==(0); + if ($399) { + $400 = $$211991845&65535; + HEAP16[$396>>1] = $400; + $401 = (($$211991845) + -2)|0; + $$21196 = $$211991845;$$31200 = $401; + } else { + $402 = $398 << 16 >> 16; + $$21196 = $402;$$31200 = $$211991845; + } + $403 = (($$010941846) + -1)|0; + $404 = ($403>>>0)>(11); + $405 = $406 >>> 1; + $407 = $405 & 1; + $408 = (($407) - ($$21196))|0; + $409 = (($408) + -1)|0; + if ($404) { + $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; + } else { + $$21199$lcssa = $$31200;$$lcssa1778 = $409; + break; + } + } + } else { + $$21199$lcssa = $$11198;$$lcssa1778 = $394; + } + $410 = $$010911856&65535; + $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); + HEAP16[$411>>1] = $410; + $$41201 = $$21199$lcssa; + } + } while(0); + $412 = (($$010911856) + 1)|0; + $413 = HEAP32[$247>>2]|0; + $414 = (((($0)) + 44|0) + ($413<<2)|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($412>>>0)<($415>>>0); + if ($416) { + $$010911856 = $412;$$011971855 = $$41201; + } else { + $$lcssa1779 = $413; + break; + } + } + } + $417 = ($$lcssa1779|0)==(2); + if ($417) { + $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; + label = 105; + } else { + $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; + label = 138; + } + } else { + $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; + label = 139; + } + break; + } + case 108: { + label = 0; + $429 = $$471356 & 1023; + $430 = (((($0)) + 7328|0) + ($429<<1)|0); + $431 = HEAP16[$430>>1]|0; + $432 = $431 << 16 >> 16; + $433 = ($431<<16>>16)>(-1); + if ($433) { + $434 = $432 >> 9; + $435 = (($434) + -1)|0; + $436 = ($435>>>0)<($$47>>>0); + if ($436) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } else { + label = 113; + break L125; + } + } + $437 = ($$47>>>0)>(10); + if ($437) { + $$0981 = 10;$$0984 = $432; + } else { + label = 113; + break L125; + } + while(1) { + $438 = $$0984 ^ -1; + $439 = $$471356 >>> $$0981; + $440 = $439 & 1; + $441 = (($440) + ($438))|0; + $442 = (((($0)) + 9376|0) + ($441<<1)|0); + $443 = HEAP16[$442>>1]|0; + $444 = ($443<<16>>16)<(0); + if (!($444)) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } + $445 = (($$0981) + 1)|0; + $446 = $443 << 16 >> 16; + $447 = (($$0981) + 2)|0; + $448 = ($$47>>>0)<($447>>>0); + if ($448) { + label = 113; + break L125; + } else { + $$0981 = $445;$$0984 = $446; + } + } + break; + } + case 119: { + label = 0; + $471 = $$501359 & 1023; + $472 = (((($0)) + 7328|0) + ($471<<1)|0); + $473 = HEAP16[$472>>1]|0; + $474 = $473 << 16 >> 16; + $475 = ($473<<16>>16)>(-1); + if ($475) { + $476 = $474 >> 9; + $477 = $474 & 511; + $$2983 = $476;$$2986 = $477; + } else { + $$1982 = 10;$$1985 = $474; + while(1) { + $478 = $$1985 ^ -1; + $479 = (($$1982) + 1)|0; + $480 = $$501359 >>> $$1982; + $481 = $480 & 1; + $482 = (($481) + ($478))|0; + $483 = (((($0)) + 9376|0) + ($482<<1)|0); + $484 = HEAP16[$483>>1]|0; + $485 = $484 << 16 >> 16; + $486 = ($484<<16>>16)<(0); + if ($486) { + $$1982 = $479;$$1985 = $485; + } else { + $$2983 = $479;$$2986 = $485; + break; + } + } + } + $487 = $$501359 >>> $$2983; + $488 = (($$50) - ($$2983))|0; + $489 = ($$2986>>>0)<(16); + if ($489) { + $490 = $$2986&255; + $491 = (($$491146) + 1)|0; + $492 = (((($0)) + 10532|0) + ($$491146)|0); + HEAP8[$492>>0] = $490; + $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; + label = 105; + break; + } + $493 = ($$2986|0)!=(16); + $494 = ($$491146|0)!=(0); + $or$cond24 = $494 | $493; + if (!($or$cond24)) { + $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; + label = 125; + continue L46; + } + $495 = (($$2986) + -16)|0; + $496 = (14004 + ($495)|0); + $497 = HEAP8[$496>>0]|0; + $498 = $497 << 24 >> 24; + $499 = ($488>>>0)<($498>>>0); + if ($499) { + $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; + label = 127; + continue L125; + } else { + $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; + label = 132; + continue L125; + } + break; + } + case 127: { + label = 0; + $500 = ($$511558>>>0)<($10>>>0); + if ($500) { + $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; + label = 130; + continue L46; + } else { + $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; + label = 128; + continue L46; + } + break; + } + case 132: { + label = 0; + $510 = 1 << $$551258; + $511 = (($510) + -1)|0; + $512 = $511 & $$551364; + $513 = $$551364 >>> $$551258; + $514 = (($$55) - ($$551258))|0; + $515 = (($$531044) + -16)|0; + $516 = (14008 + ($515)|0); + $517 = HEAP8[$516>>0]|0; + $518 = $517 << 24 >> 24; + $519 = (($518) + ($512))|0; + $520 = (((($0)) + 10532|0) + ($$541151)|0); + $521 = ($$531044|0)==(16); + if ($521) { + $522 = (($$541151) + -1)|0; + $523 = (((($0)) + 10532|0) + ($522)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + _memset(($520|0),($526|0),($519|0))|0; + $528 = (($519) + ($$541151))|0; + $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; + label = 105; + break; + } + case 140: { + label = 0; + $539 = $10; + $540 = $$581565$ph; + $541 = (($539) - ($540))|0; + $542 = ($541|0)<(4); + $543 = ($$59$ph>>>0)<(15); + L241: do { + if ($542) { + $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; + } else { + $544 = $12; + $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; + while(1) { + $545 = $$5416611868; + $546 = (($544) - ($545))|0; + $547 = ($546|0)<(2); + if ($547) { + $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; + break L241; + } + if ($965) { + $613 = HEAP8[$$5815651869>>0]|0; + $614 = $613&255; + $615 = ((($$5815651869)) + 1|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $618 = $617 << 8; + $619 = $618 | $614; + $620 = $619 << $$591872; + $621 = $620 | $$5913681870; + $622 = ((($$5815651869)) + 2|0); + $623 = (($$591872) + 16)|0; + $$641571 = $622;$$65 = $623;$$651374 = $621; + } else { + $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; + } + $624 = $$651374 & 1023; + $625 = (((($0)) + 352|0) + ($624<<1)|0); + $626 = HEAP16[$625>>1]|0; + $627 = $626 << 16 >> 16; + $628 = ($626<<16>>16)>(-1); + if ($628) { + $629 = $627 >> 9; + $$1964 = $629;$$1968 = $627; + } else { + $$0963 = 10;$$0967 = $627; + while(1) { + $630 = $$0967 ^ -1; + $631 = (($$0963) + 1)|0; + $632 = $$651374 >>> $$0963; + $633 = $632 & 1; + $634 = (($633) + ($630))|0; + $635 = (((($0)) + 2400|0) + ($634<<1)|0); + $636 = HEAP16[$635>>1]|0; + $637 = $636 << 16 >> 16; + $638 = ($636<<16>>16)<(0); + if ($638) { + $$0963 = $631;$$0967 = $637; + } else { + $$1964 = $631;$$1968 = $637; break; } } } - (_fread($dataSize,4,1,$0)|0); - $35 = HEAP32[$dataSize>>2]|0; - $36 = (_malloc($35)|0); - $37 = HEAP32[$dataSize>>2]|0; - (_fread($36,1,$37,$0)|0); - $38 = HEAP32[$27>>2]|0; - switch ($38|0) { - case 36196: { - $image$sroa$0$0 = $36;$image$sroa$3$0 = $21;$image$sroa$5$0 = $23;$image$sroa$7$0 = $25;$image$sroa$9$0 = 12; - break L5; + $639 = $$651374 >>> $$1964; + $640 = (($$65) - ($$1964))|0; + $641 = $$1968 & 256; + $642 = ($641|0)==(0); + if (!($642)) { + $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; + label = 176; + break L126; + } + $643 = ($640>>>0)<(15); + if ($643) { + $644 = HEAP8[$$641571>>0]|0; + $645 = $644&255; + $646 = ((($$641571)) + 1|0); + $647 = HEAP8[$646>>0]|0; + $648 = $647&255; + $649 = $648 << 8; + $650 = $649 | $645; + $651 = $650 << $640; + $652 = $651 | $639; + $653 = ((($$641571)) + 2|0); + $654 = (($640) + 16)|0; + $$651572 = $653;$$66 = $654;$$661375 = $652; + } else { + $$651572 = $$641571;$$66 = $640;$$661375 = $639; + } + $655 = $$661375 & 1023; + $656 = (((($0)) + 352|0) + ($655<<1)|0); + $657 = HEAP16[$656>>1]|0; + $658 = $657 << 16 >> 16; + $659 = ($657<<16>>16)>(-1); + if ($659) { + $660 = $658 >> 9; + $$3966 = $660;$$3970 = $658; + } else { + $$2965 = 10;$$2969 = $658; + while(1) { + $661 = $$2969 ^ -1; + $662 = (($$2965) + 1)|0; + $663 = $$661375 >>> $$2965; + $664 = $663 & 1; + $665 = (($664) + ($661))|0; + $666 = (((($0)) + 2400|0) + ($665<<1)|0); + $667 = HEAP16[$666>>1]|0; + $668 = $667 << 16 >> 16; + $669 = ($667<<16>>16)<(0); + if ($669) { + $$2965 = $662;$$2969 = $668; + } else { + $$3966 = $662;$$3970 = $668; + break; + } + } + } + $670 = $$661375 >>> $$3966; + $671 = (($$66) - ($$3966))|0; + $672 = $$1968&255; + HEAP8[$$5416611868>>0] = $672; + $673 = $$3970 & 256; + $674 = ($673|0)==(0); + if (!($674)) { break; } - case 37492: { - $image$sroa$0$0 = $36;$image$sroa$3$0 = $21;$image$sroa$5$0 = $23;$image$sroa$7$0 = $25;$image$sroa$9$0 = 13; - break L5; - break; + $676 = $$3970&255; + $677 = ((($$5416611868)) + 1|0); + HEAP8[$677>>0] = $676; + $678 = ((($$5416611868)) + 2|0); + $679 = $$651572; + $680 = (($539) - ($679))|0; + $681 = ($680|0)<(4); + $682 = ($671>>>0)<(15); + if ($681) { + $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; + break L241; + } else { + $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; } - default: { - $39 = ($38|0)==(37496); - $$ = $39 ? 14 : 0; - $image$sroa$0$0 = $36;$image$sroa$3$0 = $21;$image$sroa$5$0 = $23;$image$sroa$7$0 = $25;$image$sroa$9$0 = $$; - break L5; - } - } - } else { - label = 9; } + $675 = ((($$5416611868)) + 1|0); + $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; + label = 176; + break L126; + } + } while(0); + if (!($$lcssa1799)) { + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; + label = 156; + continue L125; + } + $548 = ($$lcssa1802|0)<(2); + if ($548) { + $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; + label = 145; + continue L125; + } + $579 = HEAP8[$$581565$lcssa>>0]|0; + $580 = $579&255; + $581 = $580 << $$59$lcssa; + $582 = ((($$581565$lcssa)) + 1|0); + $583 = HEAP8[$582>>0]|0; + $584 = $583&255; + $585 = (($$59$lcssa) + 8)|0; + $586 = $584 << $585; + $587 = $581 | $$591368$lcssa; + $588 = $587 | $586; + $589 = ((($$581565$lcssa)) + 2|0); + $590 = (($$59$lcssa) + 16)|0; + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; + label = 156; + continue L125; + break; + } + case 145: { + label = 0; + $549 = $$601369 & 1023; + $550 = (((($0)) + 352|0) + ($549<<1)|0); + $551 = HEAP16[$550>>1]|0; + $552 = $551 << 16 >> 16; + $553 = ($551<<16>>16)>(-1); + if ($553) { + $554 = $552 >> 9; + $555 = (($554) + -1)|0; + $556 = ($555>>>0)<($$60>>>0); + if ($556) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; } else { - label = 9; + label = 150; + break L125; + } + } + $557 = ($$60>>>0)>(10); + if ($557) { + $$0972 = 10;$$0975 = $552; + } else { + label = 150; + break L125; + } + while(1) { + $558 = $$0975 ^ -1; + $559 = $$601369 >>> $$0972; + $560 = $559 & 1; + $561 = (($560) + ($558))|0; + $562 = (((($0)) + 2400|0) + ($561<<1)|0); + $563 = HEAP16[$562>>1]|0; + $564 = ($563<<16>>16)<(0); + if (!($564)) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } + $565 = (($$0972) + 1)|0; + $566 = $563 << 16 >> 16; + $567 = (($$0972) + 2)|0; + $568 = ($$60>>>0)<($567>>>0); + if ($568) { + label = 150; + break L125; + } else { + $$0972 = $565;$$0975 = $566; + } + } + break; + } + case 156: { + label = 0; + $591 = $$631372 & 1023; + $592 = (((($0)) + 352|0) + ($591<<1)|0); + $593 = HEAP16[$592>>1]|0; + $594 = $593 << 16 >> 16; + $595 = ($593<<16>>16)>(-1); + if ($595) { + $596 = $594 >> 9; + $597 = $594 & 511; + $$2974 = $596;$$2977 = $597; + } else { + $$1973 = 10;$$1976 = $594; + while(1) { + $598 = $$1976 ^ -1; + $599 = (($$1973) + 1)|0; + $600 = $$631372 >>> $$1973; + $601 = $600 & 1; + $602 = (($601) + ($598))|0; + $603 = (((($0)) + 2400|0) + ($602<<1)|0); + $604 = HEAP16[$603>>1]|0; + $605 = $604 << 16 >> 16; + $606 = ($604<<16>>16)<(0); + if ($606) { + $$1973 = $599;$$1976 = $605; + } else { + $$2974 = $599;$$2977 = $605; + break; + } + } + } + $607 = $$631372 >>> $$2974; + $608 = (($$63) - ($$2974))|0; + $609 = ($$2977>>>0)>(255); + if ($609) { + $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; + label = 176; + } else { + $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; + label = 160; + continue L46; + } + break; + } + case 179: { + label = 0; + $693 = ($$681575>>>0)<($10>>>0); + if ($693) { + $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; + label = 182; + continue L46; + } else { + $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; + label = 180; + continue L46; + } + break; + } + case 184: { + label = 0; + $703 = 1 << $$691272; + $704 = (($703) + -1)|0; + $705 = $704 & $$721381; + $706 = $$721381 >>> $$691272; + $707 = (($$72) - ($$691272))|0; + $708 = (($705) + ($$681165))|0; + $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; + label = 185; + break; + } + case 187: { + label = 0; + $714 = $$741383 & 1023; + $715 = (((($0)) + 3840|0) + ($714<<1)|0); + $716 = HEAP16[$715>>1]|0; + $717 = $716 << 16 >> 16; + $718 = ($716<<16>>16)>(-1); + if ($718) { + $719 = $717 >> 9; + $720 = (($719) + -1)|0; + $721 = ($720>>>0)<($$74>>>0); + if ($721) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } else { + label = 192; + break L125; + } + } + $722 = ($$74>>>0)>(10); + if ($722) { + $$0953 = 10;$$0956 = $717; + } else { + label = 192; + break L125; + } + while(1) { + $723 = $$0956 ^ -1; + $724 = $$741383 >>> $$0953; + $725 = $724 & 1; + $726 = (($725) + ($723))|0; + $727 = (((($0)) + 5888|0) + ($726<<1)|0); + $728 = HEAP16[$727>>1]|0; + $729 = ($728<<16>>16)<(0); + if (!($729)) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } + $730 = (($$0953) + 1)|0; + $731 = $728 << 16 >> 16; + $732 = (($$0953) + 2)|0; + $733 = ($$74>>>0)<($732>>>0); + if ($733) { + label = 192; + break L125; + } else { + $$0953 = $730;$$0956 = $731; + } + } + break; + } + case 198: { + label = 0; + $756 = $$771386 & 1023; + $757 = (((($0)) + 3840|0) + ($756<<1)|0); + $758 = HEAP16[$757>>1]|0; + $759 = $758 << 16 >> 16; + $760 = ($758<<16>>16)>(-1); + if ($760) { + $761 = $759 >> 9; + $762 = $759 & 511; + $$2955 = $761;$$2958 = $762; + } else { + $$1954 = 10;$$1957 = $759; + while(1) { + $763 = $$1957 ^ -1; + $764 = (($$1954) + 1)|0; + $765 = $$771386 >>> $$1954; + $766 = $765 & 1; + $767 = (($766) + ($763))|0; + $768 = (((($0)) + 5888|0) + ($767<<1)|0); + $769 = HEAP16[$768>>1]|0; + $770 = $769 << 16 >> 16; + $771 = ($769<<16>>16)<(0); + if ($771) { + $$1954 = $764;$$1957 = $770; + } else { + $$2955 = $764;$$2958 = $770; + break; + } + } + } + $772 = $$771386 >>> $$2955; + $773 = (($$77) - ($$2955))|0; + $774 = (3368 + ($$2958<<2)|0); + $775 = HEAP32[$774>>2]|0; + $776 = (3496 + ($$2958<<2)|0); + $777 = HEAP32[$776>>2]|0; + $778 = (($$2958) + -4)|0; + $779 = ($778>>>0)<(26); + if ($779) { + $780 = ($773>>>0)<($775>>>0); + if ($780) { + $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; + label = 203; + continue L125; + } else { + $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; + label = 208; + continue L125; } } else { - label = 9; + $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; + label = 209; } - } else { - label = 9; + break; + } + case 203: { + label = 0; + $781 = ($$771584>>>0)<($10>>>0); + if ($781) { + $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; + label = 206; + continue L46; + } else { + $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; + label = 204; + continue L46; + } + break; + } + case 208: { + label = 0; + $791 = 1 << $$771280; + $792 = (($791) + -1)|0; + $793 = $792 & $$811390; + $794 = $$811390 >>> $$771280; + $795 = (($$81) - ($$771280))|0; + $796 = (($793) + ($$751066))|0; + $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; + label = 209; + break; + } + case 212: { + label = 0; + $807 = (($$801177) + -1)|0; + $808 = ($$801177|0)==(0); + if ($808) { + $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; + label = 139; + } else { + $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; + label = 213; + continue L46; + } + break; } - } else { - label = 9; } - } else { - label = 9; + do { + if ((label|0) == 70) { + label = 0; + $217 = ((($0)) + 52|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($$381135>>>0)<($218>>>0); + if ($219) { + $220 = ($$39>>>0)<(3); + if ($220) { + $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; + label = 72; + continue L125; + } else { + $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; + label = 77; + continue L125; + } + } else { + HEAP32[$217>>2] = 19; + $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; + label = 80; + continue L125; + } + } + else if ((label|0) == 105) { + label = 0; + $418 = ((($0)) + 44|0); + $419 = HEAP32[$418>>2]|0; + $420 = ((($0)) + 48|0); + $421 = HEAP32[$420>>2]|0; + $422 = (($421) + ($419))|0; + $423 = ($$451142>>>0)<($422>>>0); + if (!($423)) { + $529 = ($422|0)==($$451142|0); + if (!($529)) { + $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; + label = 136; + continue L46; + } + $530 = ((($0)) + 64|0); + $531 = ((($0)) + 10532|0); + _memcpy(($530|0),($531|0),($419|0))|0; + $532 = ((($0)) + 3552|0); + $533 = HEAP32[$418>>2]|0; + $534 = (((($0)) + 10532|0) + ($533)|0); + $535 = HEAP32[$420>>2]|0; + _memcpy(($532|0),($534|0),($535|0))|0; + $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; + label = 138; + break; + } + $424 = ($$46>>>0)<(15); + if (!($424)) { + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; + label = 119; + continue L125; + } + $425 = $10; + $426 = $$451552; + $427 = (($425) - ($426))|0; + $428 = ($427|0)<(2); + if ($428) { + $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; + label = 108; + continue L125; + } + $459 = HEAP8[$$451552>>0]|0; + $460 = $459&255; + $461 = $460 << $$46; + $462 = ((($$451552)) + 1|0); + $463 = HEAP8[$462>>0]|0; + $464 = $463&255; + $465 = (($$46) + 8)|0; + $466 = $464 << $465; + $467 = $461 | $$461355; + $468 = $467 | $466; + $469 = ((($$451552)) + 2|0); + $470 = (($$46) + 16)|0; + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; + label = 119; + continue L125; + } + else if ((label|0) == 176) { + label = 0; + $683 = $$641161 & 511; + $684 = ($683|0)==(256); + if ($684) { + $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; + label = 220; + break L125; + } + $685 = (($683) + -257)|0; + $686 = (3120 + ($685<<2)|0); + $687 = HEAP32[$686>>2]|0; + $688 = (3244 + ($685<<2)|0); + $689 = HEAP32[$688>>2]|0; + $690 = (($683) + -265)|0; + $691 = ($690>>>0)<(20); + if ($691) { + $692 = ($$68>>>0)<($687>>>0); + if ($692) { + $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; + label = 179; + continue L125; + } else { + $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; + label = 184; + continue L125; + } + } else { + $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; + label = 185; + } + } + else if ((label|0) == 209) { + label = 0; + $797 = $$751682; + $798 = $3; + $799 = (($797) - ($798))|0; + $$not = ($799>>>0)>=($$761067>>>0); + $$not1747 = $14 ^ 1; + $brmerge = $$not | $$not1747; + if (!($brmerge)) { + $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; + label = 210; + continue L46; + } + $800 = (($799) - ($$761067))|0; + $801 = $800 & $$1753; + $802 = (($3) + ($801)|0); + $803 = ($$751682>>>0)>($802>>>0); + $804 = $803 ? $$751682 : $802; + $805 = (($804) + ($$781175)|0); + $806 = ($805>>>0)>($12>>>0); + if ($806) { + $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; + label = 212; + continue L125; + } else { + $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; + } + while(1) { + $816 = HEAP8[$$0978>>0]|0; + HEAP8[$$791686>>0] = $816; + $817 = ((($$0978)) + 1|0); + $818 = HEAP8[$817>>0]|0; + $819 = ((($$791686)) + 1|0); + HEAP8[$819>>0] = $818; + $820 = ((($$0978)) + 2|0); + $821 = HEAP8[$820>>0]|0; + $822 = ((($$791686)) + 2|0); + HEAP8[$822>>0] = $821; + $823 = ((($$791686)) + 3|0); + $824 = ((($$0978)) + 3|0); + $825 = (($$821179) + -3)|0; + $826 = ($825|0)>(2); + if ($826) { + $$0978 = $824;$$791686 = $823;$$821179 = $825; + } else { + break; + } + } + $827 = ($825|0)>(0); + if ($827) { + $828 = HEAP8[$824>>0]|0; + HEAP8[$823>>0] = $828; + $829 = ($825|0)==(1); + if (!($829)) { + $830 = ((($$0978)) + 4|0); + $831 = HEAP8[$830>>0]|0; + $832 = ((($$791686)) + 4|0); + HEAP8[$832>>0] = $831; + } + $833 = (($823) + ($825)|0); + $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } else { + $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } + } + } while(0); + if ((label|0) == 138) { + label = 0; + $536 = ((($0)) + 24|0); + $537 = HEAP32[$536>>2]|0; + $538 = (($537) + -1)|0; + HEAP32[$536>>2] = $538; + $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; + label = 80; + continue; + } + else if ((label|0) == 139) { + label = 0; + $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; + label = 140; + continue; + } + else if ((label|0) == 185) { + label = 0; + $709 = ($$73>>>0)<(15); + if (!($709)) { + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; + label = 198; + continue; + } + $710 = $10; + $711 = $$721579; + $712 = (($710) - ($711))|0; + $713 = ($712|0)<(2); + if ($713) { + $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; + label = 187; + continue; + } + $744 = HEAP8[$$721579>>0]|0; + $745 = $744&255; + $746 = $745 << $$73; + $747 = ((($$721579)) + 1|0); + $748 = HEAP8[$747>>0]|0; + $749 = $748&255; + $750 = (($$73) + 8)|0; + $751 = $749 << $750; + $752 = $746 | $$731382; + $753 = $752 | $751; + $754 = ((($$721579)) + 2|0); + $755 = (($$73) + 16)|0; + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; + label = 198; + continue; + } + } + if ((label|0) == 113) { + label = 0; + $449 = ($$461553>>>0)<($10>>>0); + if ($449) { + $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; + label = 116; + continue; + } else { + $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; + label = 114; + continue; + } + } + else if ((label|0) == 150) { + label = 0; + $569 = ($$591566>>>0)<($10>>>0); + if ($569) { + $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; + label = 153; + continue; + } else { + $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; + label = 151; + continue; + } + } + else if ((label|0) == 192) { + label = 0; + $734 = ($$731580>>>0)<($10>>>0); + if ($734) { + $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; + label = 195; + continue; + } else { + $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; + label = 193; + continue; + } + } + else if ((label|0) == 220) { + label = 0; + $834 = ((($0)) + 20|0); + $835 = HEAP32[$834>>2]|0; + $836 = $835 & 1; + $837 = ($836|0)==(0); + if ($837) { + $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; + label = 14; + continue; + } + $838 = $6 & 1; + $839 = ($838|0)==(0); + if ($839) { + $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; + label = 242; + continue; + } else { + $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; + label = 226; + continue; + } } - } while(0); - if ((label|0) == 9) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,20863,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$3$0 = 0;$image$sroa$5$0 = 0;$image$sroa$7$0 = 0;$image$sroa$9$0 = 0; } - (_fclose($0)|0); - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$3$1 = $image$sroa$3$0;$image$sroa$5$1 = $image$sroa$5$0;$image$sroa$7$1 = $image$sroa$7$0;$image$sroa$9$1 = $image$sroa$9$0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $40 = ((($agg$result)) + 4|0); - HEAP32[$40>>2] = $image$sroa$3$1; - $41 = ((($agg$result)) + 8|0); - HEAP32[$41>>2] = $image$sroa$5$1; - $42 = ((($agg$result)) + 12|0); - HEAP32[$42>>2] = $image$sroa$7$1; - $43 = ((($agg$result)) + 16|0); - HEAP32[$43>>2] = $image$sroa$9$1; + if ((label|0) == 258) { + STACKTOP = sp;return ($$0951|0); + } + $892 = ((($0)) + 28|0); + $893 = HEAP32[$892>>2]|0; + $894 = $893 & 65535; + $895 = $893 >>> 16; + $896 = ($888|0)==(0); + if ($896) { + $$0937$lcssa = $895;$$0938$lcssa = $894; + } else { + $897 = (($888>>>0) % 5552)&-1; + $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; + while(1) { + $898 = ($$01834>>>0)>(7); + if ($898) { + $899 = (($$01834) + -8)|0; + $900 = $899 & -8; + $scevgep = ((($$09441830)) + 8|0); + $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; + while(1) { + $904 = HEAP8[$$19451815>>0]|0; + $905 = $904&255; + $906 = (($905) + ($$19391817))|0; + $907 = (($906) + ($$11818))|0; + $908 = ((($$19451815)) + 1|0); + $909 = HEAP8[$908>>0]|0; + $910 = $909&255; + $911 = (($906) + ($910))|0; + $912 = (($907) + ($911))|0; + $913 = ((($$19451815)) + 2|0); + $914 = HEAP8[$913>>0]|0; + $915 = $914&255; + $916 = (($911) + ($915))|0; + $917 = (($912) + ($916))|0; + $918 = ((($$19451815)) + 3|0); + $919 = HEAP8[$918>>0]|0; + $920 = $919&255; + $921 = (($916) + ($920))|0; + $922 = (($917) + ($921))|0; + $923 = ((($$19451815)) + 4|0); + $924 = HEAP8[$923>>0]|0; + $925 = $924&255; + $926 = (($921) + ($925))|0; + $927 = (($922) + ($926))|0; + $928 = ((($$19451815)) + 5|0); + $929 = HEAP8[$928>>0]|0; + $930 = $929&255; + $931 = (($926) + ($930))|0; + $932 = (($927) + ($931))|0; + $933 = ((($$19451815)) + 6|0); + $934 = HEAP8[$933>>0]|0; + $935 = $934&255; + $936 = (($931) + ($935))|0; + $937 = (($932) + ($936))|0; + $938 = ((($$19451815)) + 7|0); + $939 = HEAP8[$938>>0]|0; + $940 = $939&255; + $941 = (($936) + ($940))|0; + $942 = (($937) + ($941))|0; + $943 = (($$09411816) + 8)|0; + $944 = ((($$19451815)) + 8|0); + $945 = $943 | 7; + $946 = ($945>>>0)<($$01834>>>0); + if ($946) { + $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; + } else { + break; + } + } + $901 = (($900) + 8)|0; + $scevgep1947 = (($scevgep) + ($900)|0); + $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; + } else { + $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; + } + $902 = ($$01834>>>0)>($$0941$lcssa>>>0); + if ($902) { + $903 = (($$01834) - ($$0941$lcssa))|0; + $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; + while(1) { + $947 = ((($$29461822)) + 1|0); + $948 = HEAP8[$$29461822>>0]|0; + $949 = $948&255; + $950 = (($949) + ($$29401824))|0; + $951 = (($950) + ($$21825))|0; + $952 = (($$19421823) + 1)|0; + $exitcond = ($952|0)==($$01834|0); + if ($exitcond) { + break; + } else { + $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; + } + } + $scevgep1948 = (($$1945$lcssa) + ($903)|0); + $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; + } else { + $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; + } + $953 = (($$2940$lcssa>>>0) % 65521)&-1; + $954 = (($$2$lcssa>>>0) % 65521)&-1; + $955 = (($$09431831) - ($$01834))|0; + $956 = ($955|0)==(0); + if ($956) { + $$0937$lcssa = $954;$$0938$lcssa = $953; + break; + } else { + $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; + } + } + } + $957 = $$0937$lcssa << 16; + $958 = $957 | $$0938$lcssa; + HEAP32[$892>>2] = $958; + $959 = ($$1961|0)!=(0); + $960 = $6 & 1; + $961 = ($960|0)==(0); + $or$cond1752 = $961 | $959; + if ($or$cond1752) { + $$0951 = $$1961; + STACKTOP = sp;return ($$0951|0); + } else { + $962 = ((($0)) + 16|0); + $963 = HEAP32[$962>>2]|0; + $964 = ($958|0)==($963|0); + $$1961$ = $964 ? $$1961 : -2; + STACKTOP = sp;return ($$1961$|0); + } + return (0)|0; +} +function _LoadTexture($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy1 = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$5 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx5 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy1 = sp + 60|0; + $vararg_buffer = sp + 16|0; + $$sroa$5 = sp; + $2 = sp + 20|0; + $3 = sp + 40|0; + _LoadImage($2,$1); + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _TraceLog(1,14012,$vararg_buffer); + $$sroa$0$0 = 0; + } else { + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _LoadTextureFromImage($3,$$byval_copy1); + $$sroa$0$0$copyload = HEAP32[$3>>2]|0; + $$sroa$5$0$$sroa_idx = ((($3)) + 4|0); + ;HEAP32[$$sroa$5>>2]=HEAP32[$$sroa$5$0$$sroa_idx>>2]|0;HEAP32[$$sroa$5+4>>2]=HEAP32[$$sroa$5$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$5+8>>2]=HEAP32[$$sroa$5$0$$sroa_idx+8>>2]|0;HEAP32[$$sroa$5+12>>2]=HEAP32[$$sroa$5$0$$sroa_idx+12>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadImage($$byval_copy1); + $$sroa$0$0 = $$sroa$0$0$copyload; + } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx5 = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx5>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+8>>2]=HEAP32[$$sroa$5+8>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+12>>2]=HEAP32[$$sroa$5+12>>2]|0; STACKTOP = sp;return; } -function _LoadPVR($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$ = 0, $$1 = 0, $$2 = 0, $$pr = 0, $$pr3 = 0, $$pr5 = 0, $$pr7 = 0, $0 = 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, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; +function _ImageAlphaMask($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$031 = 0, $$032 = 0, $$033 = 0, $$byval_copy3 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy3 = sp + 32|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 12|0; + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)==($6|0); + if ($7) { + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($1)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($9|0)==($11|0); + if ($12) { + $13 = ((($0)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(7); + if ($15) { + _TraceLog(1,14079,$vararg_buffer1); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$1+16>>2]|0; + _ImageCopy($2,$$byval_copy3); + $16 = ((($2)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(1); + if (!($18)) { + _ImageFormat($2,1); + } + $19 = HEAP32[$13>>2]|0; + L11: do { + switch ($19|0) { + case 1: { + _ImageFormat($0,2); + $20 = ((($2)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($2)) + 8|0); + $23 = HEAP32[$22>>2]|0; + $24 = Math_imul($23, $21)|0; + $25 = HEAP32[$2>>2]|0; + $$032 = 1;$$033 = 0; + while(1) { + $26 = ($$033|0)<($24|0); + if (!($26)) { + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = Math_imul($28, $27)|0; + $30 = ($$033|0)<($29|0); + if (!($30)) { + break L11; + } + } + $31 = (($25) + ($$033)|0); + $32 = HEAP8[$31>>0]|0; + $33 = HEAP32[$0>>2]|0; + $34 = (($33) + ($$032)|0); + HEAP8[$34>>0] = $32; + $35 = (($$033) + 1)|0; + $36 = (($$032) + 2)|0; + $$032 = $36;$$033 = $35; + } + break; + } + case 7: { + label = 14; + break; + } + default: { + _ImageFormat($0,7); + label = 14; + } + } + } while(0); + L19: do { + if ((label|0) == 14) { + $37 = ((($2)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($2)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = Math_imul($40, $38)|0; + $42 = HEAP32[$2>>2]|0; + $$0 = 3;$$031 = 0; + while(1) { + $43 = ($$031|0)<($41|0); + if (!($43)) { + $44 = HEAP32[$3>>2]|0; + $45 = HEAP32[$8>>2]|0; + $46 = Math_imul($45, $44)|0; + $47 = ($$031|0)<($46|0); + if (!($47)) { + break L19; + } + } + $48 = (($42) + ($$031)|0); + $49 = HEAP8[$48>>0]|0; + $50 = HEAP32[$0>>2]|0; + $51 = (($50) + ($$0)|0); + HEAP8[$51>>0] = $49; + $52 = (($$031) + 1)|0; + $53 = (($$0) + 4)|0; + $$0 = $53;$$031 = $52; + } + } + } while(0); + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadImage($$byval_copy3); + STACKTOP = sp;return; + } + } + _TraceLog(1,14041,$vararg_buffer); + STACKTOP = sp;return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[27932>>2]|0;HEAP32[$0+4>>2]=HEAP32[27932+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[27932+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[27932+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[27932+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[27932+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[27932+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[27932+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 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; + $2 = ((($0)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _SetTextureFilter($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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; + switch ($1|0) { + case 0: { + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(1); + $5 = HEAP32[$0>>2]|0; + if ($4) { + _rlTextureParameters($5,10241,9984); + $6 = HEAP32[$0>>2]|0; + _rlTextureParameters($6,10240,9728); + STACKTOP = sp;return; + } else { + _rlTextureParameters($5,10241,9728); + $7 = HEAP32[$0>>2]|0; + _rlTextureParameters($7,10240,9728); + STACKTOP = sp;return; + } + break; + } + case 1: { + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(1); + $11 = HEAP32[$0>>2]|0; + if ($10) { + _rlTextureParameters($11,10241,9985); + $12 = HEAP32[$0>>2]|0; + _rlTextureParameters($12,10240,9729); + STACKTOP = sp;return; + } else { + _rlTextureParameters($11,10241,9729); + $13 = HEAP32[$0>>2]|0; + _rlTextureParameters($13,10240,9729); + STACKTOP = sp;return; + } + break; + } + case 2: { + $14 = ((($0)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(1); + $17 = HEAP32[$0>>2]|0; + if ($16) { + _rlTextureParameters($17,10241,9987); + $18 = HEAP32[$0>>2]|0; + _rlTextureParameters($18,10240,9729); + STACKTOP = sp;return; + } else { + HEAP32[$vararg_buffer>>2] = $17; + _TraceLog(1,14136,$vararg_buffer); + $19 = HEAP32[$0>>2]|0; + _rlTextureParameters($19,10241,9729); + _rlTextureParameters($19,10240,9729); + STACKTOP = sp;return; + } + break; + } + case 3: { + $20 = HEAP32[$0>>2]|0; + _rlTextureParameters($20,12288,4); + STACKTOP = sp;return; + break; + } + case 4: { + $21 = HEAP32[$0>>2]|0; + _rlTextureParameters($21,12288,8); + STACKTOP = sp;return; + break; + } + case 5: { + $22 = HEAP32[$0>>2]|0; + _rlTextureParameters($22,12288,16); + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _DrawTexture($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 40|0; + $$byval_copy1 = sp + 32|0; + $$byval_copy = sp + 8|0; + $4 = sp; + $5 = (+($1|0)); + HEAPF32[$4>>2] = $5; + $6 = ((($4)) + 4|0); + $7 = (+($2|0)); + HEAPF32[$6>>2] = $7; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTextureEx($$byval_copy,$$byval_copy1,0.0,1.0,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextureEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy3 = sp + 104|0; + $tmpcast$byval_copy = sp + 96|0; + $$byval_copy2 = sp + 80|0; + $$byval_copy1 = sp + 64|0; + $$byval_copy = sp + 40|0; + $5 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + HEAP32[$5>>2] = 0; + $8 = ((($5)) + 4|0); + HEAP32[$8>>2] = 0; + $9 = ((($5)) + 8|0); + $10 = ((($0)) + 4|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + $12 = ((($5)) + 12|0); + $13 = ((($0)) + 8|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$12>>2] = $14; + $15 = +HEAPF32[$1>>2]; + $16 = (~~(($15))); + HEAP32[$6>>2] = $16; + $17 = ((($6)) + 4|0); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = (~~(($19))); + HEAP32[$17>>2] = $20; + $21 = ((($6)) + 8|0); + $22 = HEAP32[$10>>2]|0; + $23 = (+($22|0)); + $24 = $23 * $3; + $25 = (~~(($24))); + HEAP32[$21>>2] = $25; + $26 = ((($6)) + 12|0); + $27 = HEAP32[$13>>2]|0; + $28 = (+($27|0)); + $29 = $28 * $3; + $30 = (~~(($29))); + HEAP32[$26>>2] = $30; + $31 = $7; + $32 = $31; + HEAP32[$32>>2] = 0; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = 0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$5+12>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTexturePro($$byval_copy,$$byval_copy1,$$byval_copy2,$tmpcast$byval_copy,$2,$$byval_copy3); + STACKTOP = sp;return; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|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.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawTextureRec($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0.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, $4 = 0, $5 = 0; + var $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos1 = 0, $neg = 0, $neg2 = 0, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $$byval_copy3 = sp + 88|0; + $tmpcast$byval_copy = sp + 80|0; + $$byval_copy2 = sp + 64|0; + $$byval_copy1 = sp + 48|0; + $$byval_copy = sp + 24|0; + $4 = sp + 8|0; + $5 = sp; + $6 = +HEAPF32[$2>>2]; + $7 = (~~(($6))); + HEAP32[$4>>2] = $7; + $8 = ((($4)) + 4|0); + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = (~~(($10))); + HEAP32[$8>>2] = $11; + $12 = ((($4)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $ispos = ($14|0)>(-1); + $neg = (0 - ($14))|0; + $15 = $ispos ? $14 : $neg; + HEAP32[$12>>2] = $15; + $16 = ((($4)) + 12|0); + $17 = ((($1)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $ispos1 = ($18|0)>(-1); + $neg2 = (0 - ($18))|0; + $19 = $ispos1 ? $18 : $neg2; + HEAP32[$16>>2] = $19; + $20 = $5; + $21 = $20; + HEAP32[$21>>2] = 0; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = 0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$1+12>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$4+12>>2]|0; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$3+3>>0]|0; + _DrawTexturePro($$byval_copy,$$byval_copy1,$$byval_copy2,$tmpcast$byval_copy,0.0,$$byval_copy3); + STACKTOP = sp;return; +} +function _LoadSpriteFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy5 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy5 = sp + 232|0; + $$byval_copy2 = sp + 212|0; + $vararg_buffer = sp; + $2 = sp + 96|0; + $3 = sp + 192|0; + $4 = sp + 160|0; + $5 = sp + 128|0; + $6 = sp + 40|0; + $7 = sp + 252|0; + $8 = sp + 64|0; + $9 = sp + 8|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;HEAP32[$2+28>>2]=0|0; + $10 = (_IsFileExtension($1,16744)|0); + $11 = ($10|0)==(0); + do { + if ($11) { + $35 = (_IsFileExtension($1,14201)|0); + $36 = ($35|0)==(0); + if (!($36)) { + _LoadSpriteFontEx($4,$1,32,0,0); + ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$4+28>>2]|0; + break; + } + $37 = (_IsFileExtension($1,14206)|0); + $38 = ($37|0)==(0); + if (!($38)) { + _LoadBMFont($5,$1); + ;HEAP32[$2>>2]=HEAP32[$5>>2]|0;HEAP32[$2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$5+28>>2]|0; + break; + } + _LoadImage($6,$1); + $39 = HEAP32[$6>>2]|0; + $40 = ($39|0)==(0|0); + if (!($40)) { + HEAP8[$7>>0] = -1; + $41 = ((($7)) + 1|0); + HEAP8[$41>>0] = 0; + $42 = ((($7)) + 2|0); + HEAP8[$42>>0] = -1; + $43 = ((($7)) + 3|0); + HEAP8[$43>>0] = -1; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy2+16>>2]=HEAP32[$6+16>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$7+3>>0]|0; + _LoadImageFont($8,$$byval_copy2,$$byval_copy5); + ;HEAP32[$2>>2]=HEAP32[$8>>2]|0;HEAP32[$2+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$8+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$8+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$8+28>>2]|0; + } + ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$6+16>>2]|0; + _UnloadImage($$byval_copy5); + } else { + $12 = (_LoadResource($1,0)|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(5); + if ($14) { + $15 = ((($12)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($12)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($12)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($12)) + 12|0); + $22 = HEAP32[$21>>2]|0; + _LoadImagePro($$byval_copy2,$16,$18,$20,$22); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$$byval_copy2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$$byval_copy2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$$byval_copy2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$$byval_copy2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$$byval_copy2+16>>2]|0; + _LoadTextureFromImage($3,$$byval_copy5); + ;HEAP32[$2>>2]=HEAP32[$3>>2]|0;HEAP32[$2+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$3+16>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$$byval_copy2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$$byval_copy2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$$byval_copy2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$$byval_copy2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$$byval_copy2+16>>2]|0; + _UnloadImage($$byval_copy5); + } + $23 = ((($12)) + 24|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(6); + if ($25) { + $26 = ((($12)) + 28|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($2)) + 20|0); + HEAP32[$28>>2] = $27; + $29 = ((($12)) + 32|0); + $30 = HEAP32[$29>>2]|0; + $31 = ((($2)) + 24|0); + HEAP32[$31>>2] = $30; + $32 = ((($12)) + 44|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($2)) + 28|0); + HEAP32[$34>>2] = $33; + } + } + } while(0); + $44 = HEAP32[$2>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,14211,$vararg_buffer); + _GetDefaultFont($9); + ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$9+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$9+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$9+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } else { + ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$2+16>>2]|0; + _SetTextureFilter($$byval_copy5,0); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } +} +function _LoadSpriteFontEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$048 = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$0$copyload15 = 0, $$sroa$0$0$copyload17 = 0, $$sroa$0$1 = 0, $$sroa$8 = 0, $$sroa$8$0$$sroa_idx = 0, $$sroa$8$0$$sroa_idx23 = 0, $$sroa$8$0$$sroa_idx26 = 0, $$sroa$8$0$$sroa_idx29 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $vararg_buffer = sp; + $$sroa$8 = sp + 104|0; + $5 = sp + 72|0; + $6 = sp + 40|0; + $7 = sp + 8|0; + ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0;HEAP32[$$sroa$8+24>>2]=0|0; + $8 = (_IsFileExtension($1,14201)|0); + $9 = ($8|0)==(0); + if (!($9)) { + $10 = ($4|0)==(0|0); + $11 = ($3|0)==(0); + $or$cond = $11 | $10; + if ($or$cond) { + $12 = (_malloc(380)|0); + $$048 = 0; + while(1) { + $13 = (($$048) + 32)|0; + $14 = (($12) + ($$048<<2)|0); + HEAP32[$14>>2] = $13; + $15 = (($$048) + 1)|0; + $exitcond = ($15|0)==(95); + if ($exitcond) { + break; + } else { + $$048 = $15; + } + } + _LoadTTF($5,$1,$2,95,$12); + $$sroa$0$0$copyload = HEAP32[$5>>2]|0; + $$sroa$8$0$$sroa_idx = ((($5)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx+24>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload; + } else { + _LoadTTF($6,$1,$2,$3,$4); + $$sroa$0$0$copyload15 = HEAP32[$6>>2]|0; + $$sroa$8$0$$sroa_idx23 = ((($6)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx23>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+24>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload15; + } + $16 = ($$sroa$0$0|0)==(0); + if (!($16)) { + $$sroa$0$1 = $$sroa$0$0; + HEAP32[$0>>2] = $$sroa$0$1; + $$sroa$8$0$$sroa_idx29 = ((($0)) + 4|0); + ;HEAP32[$$sroa$8$0$$sroa_idx29>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+20>>2]=HEAP32[$$sroa$8+20>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+24>>2]=HEAP32[$$sroa$8+24>>2]|0; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,14755,$vararg_buffer); + _GetDefaultFont($7); + $$sroa$0$0$copyload17 = HEAP32[$7>>2]|0; + $$sroa$8$0$$sroa_idx26 = ((($7)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx26>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+24>>2]|0; + $$sroa$0$1 = $$sroa$0$0$copyload17; + HEAP32[$0>>2] = $$sroa$0$1; + $$sroa$8$0$$sroa_idx29 = ((($0)) + 4|0); + ;HEAP32[$$sroa$8$0$$sroa_idx29>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+20>>2]=HEAP32[$$sroa$8+20>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+24>>2]=HEAP32[$$sroa$8+24>>2]|0; + STACKTOP = sp;return; +} +function _LoadBMFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05355 = 0, $$056 = 0, $$byval_copy52 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$3$0$$sroa_idx2 = 0, $$sroa$4$0$$sroa_idx3 = 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, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer34 = 0, $vararg_buffer44 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0; + var $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr22 = 0, $vararg_ptr29 = 0, $vararg_ptr33 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr4 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 704|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(704|0); + $$byval_copy52 = sp + 152|0; + $vararg_buffer44 = sp + 144|0; + $vararg_buffer34 = sp + 112|0; + $vararg_buffer26 = sp + 88|0; + $vararg_buffer23 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer11 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 288|0; + $3 = sp + 448|0; + $4 = sp + 260|0; + $5 = sp + 236|0; + $6 = sp + 232|0; + $7 = sp + 320|0; + $8 = sp + 196|0; + $9 = sp + 192|0; + $10 = sp + 264|0; + $11 = sp + 240|0; + $12 = sp + 188|0; + $13 = sp + 184|0; + $14 = sp + 200|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;HEAP32[$2+28>>2]=0|0; + HEAP32[$4>>2] = 0; + HEAP32[$8>>2] = 0; + $15 = (_fopen($1,14353)|0); + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,14356,$vararg_buffer); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } + (_fgets($3,256,$15)|0); + (_fgets($3,256,$15)|0); + $17 = (_strstr($3,14390)|0); + HEAP32[$vararg_buffer1>>2] = $4; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $9; + $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); + HEAP32[$vararg_ptr5>>2] = $5; + $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); + HEAP32[$vararg_ptr6>>2] = $6; + (_sscanf($17,14401,$vararg_buffer1)|0); + $18 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer7>>2] = $1; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $18; + _TraceLog(3,14443,$vararg_buffer7); + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer11>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr14>>2] = $19; + $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr15>>2] = $20; + _TraceLog(3,14462,$vararg_buffer11); + (_fgets($3,256,$15)|0); + $21 = (_strstr($3,14493)|0); + HEAP32[$vararg_buffer16>>2] = $7; + (_sscanf($21,14498,$vararg_buffer16)|0); + HEAP32[$vararg_buffer19>>2] = $1; + $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); + HEAP32[$vararg_ptr22>>2] = $7; + _TraceLog(3,14514,$vararg_buffer19); + (_fgets($3,256,$15)|0); + $22 = (_strstr($3,14545)|0); + HEAP32[$vararg_buffer23>>2] = $8; + (_sscanf($22,14551,$vararg_buffer23)|0); + $23 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer26>>2] = $1; + $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); + HEAP32[$vararg_ptr29>>2] = $23; + _TraceLog(3,14560,$vararg_buffer26); + $24 = (_strrchr($1,47)|0); + $25 = (_strlen($1)|0); + $26 = (_strlen($24)|0); + $27 = (_strlen($7)|0); + $28 = (($25) + 4)|0; + $29 = (($28) - ($26))|0; + $30 = (($29) + ($27))|0; + $31 = (_malloc($30)|0); + HEAP8[$31>>0] = 0; + $32 = (_strlen($1)|0); + $33 = (_strlen($24)|0); + $34 = (($32) + 1)|0; + $35 = (($34) - ($33))|0; + (_strncat($31,$1,$35)|0); + $36 = (_strlen($7)|0); + (_strncat($31,$7,$36)|0); + HEAP32[$$byval_copy52>>2] = $1; + $vararg_ptr33 = ((($$byval_copy52)) + 4|0); + HEAP32[$vararg_ptr33>>2] = $31; + _TraceLog(3,14584,$$byval_copy52); + _LoadImage($vararg_buffer26,$31); + $37 = ((($vararg_buffer26)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(1); + if ($39) { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _ImageCopy($vararg_buffer23,$$byval_copy52); + $40 = ((($vararg_buffer23)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = ((($vararg_buffer23)) + 8|0); + $43 = HEAP32[$42>>2]|0; + $44 = Math_imul($43, $41)|0; + $45 = ($44|0)>(0); + if ($45) { + $$056 = 0; + while(1) { + $46 = HEAP32[$vararg_buffer23>>2]|0; + $47 = (($46) + ($$056)|0); + HEAP8[$47>>0] = -1; + $48 = (($$056) + 1)|0; + $49 = HEAP32[$40>>2]|0; + $50 = HEAP32[$42>>2]|0; + $51 = Math_imul($50, $49)|0; + $52 = ($48|0)<($51|0); + if ($52) { + $$056 = $48; + } else { + break; + } + } + } + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _ImageAlphaMask($vararg_buffer23,$$byval_copy52); + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer23>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer23+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer23+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer23+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer23+16>>2]|0; + _LoadTextureFromImage($10,$$byval_copy52); + ;HEAP32[$2>>2]=HEAP32[$10>>2]|0;HEAP32[$2+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$10+16>>2]|0; + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer23>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer23+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer23+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer23+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer23+16>>2]|0; + _UnloadImage($$byval_copy52); + } else { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _LoadTextureFromImage($11,$$byval_copy52); + ;HEAP32[$2>>2]=HEAP32[$11>>2]|0;HEAP32[$2+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$11+16>>2]|0; + } + $53 = HEAP32[$4>>2]|0; + $54 = ((($2)) + 20|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$8>>2]|0; + $56 = ((($2)) + 24|0); + HEAP32[$56>>2] = $55; + $57 = $55 << 5; + $58 = (_malloc($57)|0); + $59 = ((($2)) + 28|0); + HEAP32[$59>>2] = $58; + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _UnloadImage($$byval_copy52); + _free($31); + $60 = HEAP32[$8>>2]|0; + $61 = ($60|0)>(0); + if ($61) { + $$05355 = 0; + while(1) { + (_fgets($3,256,$15)|0); + HEAP32[$vararg_buffer34>>2] = $vararg_buffer23; + $vararg_ptr37 = ((($vararg_buffer34)) + 4|0); + HEAP32[$vararg_ptr37>>2] = $vararg_buffer19; + $vararg_ptr38 = ((($vararg_buffer34)) + 8|0); + HEAP32[$vararg_ptr38>>2] = $vararg_buffer16; + $vararg_ptr39 = ((($vararg_buffer34)) + 12|0); + HEAP32[$vararg_ptr39>>2] = $vararg_buffer11; + $vararg_ptr40 = ((($vararg_buffer34)) + 16|0); + HEAP32[$vararg_ptr40>>2] = $vararg_buffer7; + $vararg_ptr41 = ((($vararg_buffer34)) + 20|0); + HEAP32[$vararg_ptr41>>2] = $vararg_buffer1; + $vararg_ptr42 = ((($vararg_buffer34)) + 24|0); + HEAP32[$vararg_ptr42>>2] = $12; + $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); + HEAP32[$vararg_ptr43>>2] = $13; + (_sscanf($3,14619,$vararg_buffer34)|0); + $64 = HEAP32[$vararg_buffer23>>2]|0; + $65 = HEAP32[$59>>2]|0; + $66 = (($65) + ($$05355<<5)|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$59>>2]|0; + $68 = HEAP32[$vararg_buffer19>>2]|0; + $69 = HEAP32[$vararg_buffer16>>2]|0; + $70 = HEAP32[$vararg_buffer11>>2]|0; + $71 = HEAP32[$vararg_buffer7>>2]|0; + $$sroa$0$0$$sroa_idx = (((($67) + ($$05355<<5)|0)) + 4|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = $68; + $$sroa$2$0$$sroa_idx1 = (((($67) + ($$05355<<5)|0)) + 8|0); + HEAP32[$$sroa$2$0$$sroa_idx1>>2] = $69; + $$sroa$3$0$$sroa_idx2 = (((($67) + ($$05355<<5)|0)) + 12|0); + HEAP32[$$sroa$3$0$$sroa_idx2>>2] = $70; + $$sroa$4$0$$sroa_idx3 = (((($67) + ($$05355<<5)|0)) + 16|0); + HEAP32[$$sroa$4$0$$sroa_idx3>>2] = $71; + $72 = HEAP32[$vararg_buffer1>>2]|0; + $73 = HEAP32[$59>>2]|0; + $74 = (((($73) + ($$05355<<5)|0)) + 20|0); + HEAP32[$74>>2] = $72; + $75 = HEAP32[$12>>2]|0; + $76 = HEAP32[$59>>2]|0; + $77 = (((($76) + ($$05355<<5)|0)) + 24|0); + HEAP32[$77>>2] = $75; + $78 = HEAP32[$13>>2]|0; + $79 = HEAP32[$59>>2]|0; + $80 = (((($79) + ($$05355<<5)|0)) + 28|0); + HEAP32[$80>>2] = $78; + $81 = (($$05355) + 1)|0; + $82 = HEAP32[$8>>2]|0; + $83 = ($81|0)<($82|0); + if ($83) { + $$05355 = $81; + } else { + break; + } + } + } + (_fclose($15)|0); + $62 = HEAP32[$2>>2]|0; + $63 = ($62|0)==(0); + if ($63) { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$$byval_copy52+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$$byval_copy52+28>>2]=HEAP32[$2+28>>2]|0; + _UnloadSpriteFont($$byval_copy52); + _GetDefaultFont($14); + ;HEAP32[$2>>2]=HEAP32[$14>>2]|0;HEAP32[$2+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$14+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$14+28>>2]|0; + } else { + HEAP32[$vararg_buffer44>>2] = $1; + _TraceLog(0,14693,$vararg_buffer44); + } + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; +} +function _LoadImageFont($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0195$lcssa = 0, $$019552 = 0, $$019622 = 0, $$0197 = 0, $$020032 = 0, $$0201$lcssa = 0, $$020131 = 0, $$0203 = 0, $$021 = 0, $$1$lcssa = 0, $$119927 = 0, $$1202$lcssa = 0, $$120226 = 0, $$135 = 0, $$2 = 0, $$byval_copy4 = 0, $$sroa$0 = 0, $$sroa$5$0$$sroa_idx15 = 0, $$sroa$6$0$$sroa_idx17 = 0, $$sroa$9$0$$sroa_idx20 = 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, $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, $exitcond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 5232|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(5232|0); + $$byval_copy4 = sp + 5200|0; + $vararg_buffer1 = sp + 48|0; + $vararg_buffer = sp + 24|0; + $3 = sp + 4176|0; + $4 = sp + 56|0; + $$sroa$0 = sp; + $5 = sp + 4152|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$1+16>>2]|0; + $6 = (_GetImageData($$byval_copy4)|0); + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + L1: do { + if ($9) { + $10 = ((($1)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)>(0); + $13 = HEAP8[$2>>0]|0; + $14 = ((($2)) + 1|0); + $15 = HEAP8[$14>>0]|0; + $16 = ((($2)) + 2|0); + $17 = HEAP8[$16>>0]|0; + $18 = ((($2)) + 3|0); + $19 = HEAP8[$18>>0]|0; + $20 = HEAP8[$2>>0]|0; + $21 = ((($2)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($2)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = ((($2)) + 3|0); + $26 = HEAP8[$25>>0]|0; + $27 = HEAP32[$10>>2]|0; + $$019552 = 0; + while(1) { + L5: do { + if ($12) { + $$135 = 0;$29 = $11; + while(1) { + $28 = Math_imul($29, $$019552)|0; + $30 = (($28) + ($$135))|0; + $31 = (($6) + ($30<<2)|0); + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==($20<<24>>24); + if (!($33)) { + $$1$lcssa = $$135; + break L5; + } + $34 = (((($6) + ($30<<2)|0)) + 1|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)==($22<<24>>24); + if (!($36)) { + $$1$lcssa = $$135; + break L5; + } + $37 = (((($6) + ($30<<2)|0)) + 2|0); + $38 = HEAP8[$37>>0]|0; + $39 = ($38<<24>>24)==($24<<24>>24); + if (!($39)) { + $$1$lcssa = $$135; + break L5; + } + $40 = (((($6) + ($30<<2)|0)) + 3|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==($26<<24>>24); + if (!($42)) { + $$1$lcssa = $$135; + break L5; + } + $43 = (($$135) + 1)|0; + $44 = HEAP32[$10>>2]|0; + $45 = ($43|0)<($44|0); + if ($45) { + $$135 = $43;$29 = $44; + } else { + $$1$lcssa = $43; + break; + } + } + } else { + $$1$lcssa = 0; + } + } while(0); + $46 = Math_imul($27, $$019552)|0; + $47 = (($46) + ($$1$lcssa))|0; + $48 = (($6) + ($47<<2)|0); + $49 = HEAP8[$48>>0]|0; + $50 = ($49<<24>>24)==($13<<24>>24); + if (!($50)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $51 = (((($6) + ($47<<2)|0)) + 1|0); + $52 = HEAP8[$51>>0]|0; + $53 = ($52<<24>>24)==($15<<24>>24); + if (!($53)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $54 = (((($6) + ($47<<2)|0)) + 2|0); + $55 = HEAP8[$54>>0]|0; + $56 = ($55<<24>>24)==($17<<24>>24); + if (!($56)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $57 = (((($6) + ($47<<2)|0)) + 3|0); + $58 = HEAP8[$57>>0]|0; + $59 = ($58<<24>>24)==($19<<24>>24); + if (!($59)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $60 = (($$019552) + 1)|0; + $61 = HEAP32[$7>>2]|0; + $62 = ($60|0)<($61|0); + if ($62) { + $$019552 = $60; + } else { + $$0195$lcssa = $60;$$2 = $$1$lcssa; + break; + } + } + } else { + $$0195$lcssa = 0;$$2 = 0; + } + } while(0); + $63 = ((($1)) + 4|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP8[$2>>0]|0; + $66 = ((($2)) + 1|0); + $67 = HEAP8[$66>>0]|0; + $68 = ((($2)) + 2|0); + $69 = HEAP8[$68>>0]|0; + $70 = ((($2)) + 3|0); + $71 = HEAP8[$70>>0]|0; + $$0203 = 0; + while(1) { + $72 = (($$0203) + ($$0195$lcssa))|0; + $73 = Math_imul($72, $64)|0; + $74 = (($73) + ($$2))|0; + $75 = (($6) + ($74<<2)|0); + $76 = HEAP8[$75>>0]|0; + $77 = ($76<<24>>24)==($65<<24>>24); + if ($77) { + $78 = (((($6) + ($74<<2)|0)) + 1|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)==($67<<24>>24); + if ($80) { + $81 = (((($6) + ($74<<2)|0)) + 2|0); + $82 = HEAP8[$81>>0]|0; + $83 = ($82<<24>>24)==($69<<24>>24); + if ($83) { + $84 = (((($6) + ($74<<2)|0)) + 3|0); + $85 = HEAP8[$84>>0]|0; + $86 = ($85<<24>>24)==($71<<24>>24); + if ($86) { + break; + } + } + } + } + $96 = (($$0203) + 1)|0; + $$0203 = $96; + } + $87 = HEAP32[$7>>2]|0; + $88 = ($$0195$lcssa|0)<($87|0); + if ($88) { + $89 = HEAP32[$63>>2]|0; + $90 = ($$2|0)<($89|0); + $91 = HEAP32[$7>>2]|0; + $92 = HEAP8[$2>>0]|0; + $93 = HEAP8[$66>>0]|0; + $94 = HEAP8[$68>>0]|0; + $95 = HEAP8[$70>>0]|0; + $$020032 = 0;$$020131 = 0;$99 = $$0195$lcssa; + while(1) { + L30: do { + if ($90) { + $$119927 = $$2;$$120226 = $$020131;$98 = $89; + while(1) { + $97 = Math_imul($98, $99)|0; + $100 = (($97) + ($$119927))|0; + $101 = (($6) + ($100<<2)|0); + $102 = HEAP8[$101>>0]|0; + $103 = ($102<<24>>24)==($92<<24>>24); + if ($103) { + $104 = (((($6) + ($100<<2)|0)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = ($105<<24>>24)==($93<<24>>24); + if ($106) { + $107 = (((($6) + ($100<<2)|0)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = ($108<<24>>24)==($94<<24>>24); + if ($109) { + $110 = (((($6) + ($100<<2)|0)) + 3|0); + $111 = HEAP8[$110>>0]|0; + $112 = ($111<<24>>24)==($95<<24>>24); + if ($112) { + $$1202$lcssa = $$120226; + break L30; + } + } + } + } + $113 = (($$120226) + 32)|0; + $114 = (($3) + ($$120226<<2)|0); + HEAP32[$114>>2] = $113; + $115 = (($4) + ($$120226<<4)|0); + HEAP32[$115>>2] = $$119927; + $116 = (((($4) + ($$120226<<4)|0)) + 4|0); + HEAP32[$116>>2] = $99; + $117 = (((($4) + ($$120226<<4)|0)) + 12|0); + HEAP32[$117>>2] = $$0203; + $118 = HEAP32[$63>>2]|0; + $119 = Math_imul($118, $99)|0; + $$0197 = 0; + while(1) { + $120 = (($$0197) + ($$119927))|0; + $121 = (($120) + ($119))|0; + $122 = (($6) + ($121<<2)|0); + $123 = HEAP8[$122>>0]|0; + $124 = ($123<<24>>24)==($92<<24>>24); + if ($124) { + $125 = (((($6) + ($121<<2)|0)) + 1|0); + $126 = HEAP8[$125>>0]|0; + $127 = ($126<<24>>24)==($93<<24>>24); + if ($127) { + $128 = (((($6) + ($121<<2)|0)) + 2|0); + $129 = HEAP8[$128>>0]|0; + $130 = ($129<<24>>24)==($94<<24>>24); + if ($130) { + $131 = (((($6) + ($121<<2)|0)) + 3|0); + $132 = HEAP8[$131>>0]|0; + $133 = ($132<<24>>24)==($95<<24>>24); + if ($133) { + break; + } + } + } + } + $134 = (($$0197) + 1)|0; + $$0197 = $134; + } + $135 = (((($4) + ($$120226<<4)|0)) + 8|0); + HEAP32[$135>>2] = $$0197; + $136 = (($$120226) + 1)|0; + $137 = (($$119927) + ($$2))|0; + $138 = (($137) + ($$0197))|0; + $139 = HEAP32[$63>>2]|0; + $140 = ($138|0)<($139|0); + if ($140) { + $$119927 = $138;$$120226 = $136;$98 = $139; + } else { + $$1202$lcssa = $136; + break; + } + } + } else { + $$1202$lcssa = $$020131; + } + } while(0); + $141 = (($$020032) + 1)|0; + $142 = Math_imul($141, $72)|0; + $143 = (($142) + ($$0195$lcssa))|0; + $144 = ($143|0)<($91|0); + if ($144) { + $$020032 = $141;$$020131 = $$1202$lcssa;$99 = $143; + } else { + $$0201$lcssa = $$1202$lcssa; + break; + } + } + } else { + $$0201$lcssa = 0; + } + _TraceLog(3,14267,$vararg_buffer); + $145 = HEAP32[$7>>2]|0; + $146 = HEAP32[$63>>2]|0; + $147 = Math_imul($146, $145)|0; + $148 = ($147|0)>(0); + if ($148) { + $149 = HEAP8[$2>>0]|0; + $150 = HEAP8[$66>>0]|0; + $151 = HEAP8[$68>>0]|0; + $152 = HEAP8[$70>>0]|0; + $$019622 = 0; + while(1) { + $158 = (($6) + ($$019622<<2)|0); + $159 = HEAP8[$158>>0]|0; + $160 = ($159<<24>>24)==($149<<24>>24); + if ($160) { + $161 = (((($6) + ($$019622<<2)|0)) + 1|0); + $162 = HEAP8[$161>>0]|0; + $163 = ($162<<24>>24)==($150<<24>>24); + if ($163) { + $164 = (((($6) + ($$019622<<2)|0)) + 2|0); + $165 = HEAP8[$164>>0]|0; + $166 = ($165<<24>>24)==($151<<24>>24); + if ($166) { + $167 = (((($6) + ($$019622<<2)|0)) + 3|0); + $168 = HEAP8[$167>>0]|0; + $169 = ($168<<24>>24)==($152<<24>>24); + if ($169) { + HEAP8[$158>>0]=0&255;HEAP8[$158+1>>0]=(0>>8)&255;HEAP8[$158+2>>0]=(0>>16)&255;HEAP8[$158+3>>0]=0>>24; + } + } + } + } + $170 = (($$019622) + 1)|0; + $171 = HEAP32[$7>>2]|0; + $172 = HEAP32[$63>>2]|0; + $173 = Math_imul($172, $171)|0; + $174 = ($170|0)<($173|0); + if ($174) { + $$019622 = $170; + } else { + break; + } + } + } + $153 = HEAP32[$63>>2]|0; + $154 = HEAP32[$7>>2]|0; + _LoadImageEx($vararg_buffer,$6,$153,$154); + _free($6); + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$vararg_buffer>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$vararg_buffer+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$vararg_buffer+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$vararg_buffer+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$vararg_buffer+16>>2]|0; + _LoadTextureFromImage($5,$$byval_copy4); + ;HEAP32[$$sroa$0>>2]=HEAP32[$5>>2]|0;HEAP32[$$sroa$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$sroa$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$sroa$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$sroa$0+16>>2]=HEAP32[$5+16>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$vararg_buffer>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$vararg_buffer+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$vararg_buffer+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$vararg_buffer+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$vararg_buffer+16>>2]|0; + _UnloadImage($$byval_copy4); + $155 = $$0201$lcssa << 5; + $156 = (_malloc($155)|0); + $157 = ($$0201$lcssa|0)>(0); + if ($157) { + $$021 = 0; + } else { + $175 = ((($156)) + 16|0); + $176 = HEAP32[$175>>2]|0; + _TraceLog(0,14311,$vararg_buffer1); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); + HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; + $$sroa$6$0$$sroa_idx17 = ((($0)) + 24|0); + HEAP32[$$sroa$6$0$$sroa_idx17>>2] = $$0201$lcssa; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 28|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $156; + STACKTOP = sp;return; + } + while(1) { + $177 = (($3) + ($$021<<2)|0); + $178 = HEAP32[$177>>2]|0; + $179 = (($156) + ($$021<<5)|0); + HEAP32[$179>>2] = $178; + $180 = (((($156) + ($$021<<5)|0)) + 4|0); + $181 = (($4) + ($$021<<4)|0); + ;HEAP32[$180>>2]=HEAP32[$181>>2]|0;HEAP32[$180+4>>2]=HEAP32[$181+4>>2]|0;HEAP32[$180+8>>2]=HEAP32[$181+8>>2]|0;HEAP32[$180+12>>2]=HEAP32[$181+12>>2]|0; + $182 = (((($156) + ($$021<<5)|0)) + 20|0); + HEAP32[$182>>2] = 0; + $183 = (((($156) + ($$021<<5)|0)) + 24|0); + HEAP32[$183>>2] = 0; + $184 = (((($156) + ($$021<<5)|0)) + 28|0); + HEAP32[$184>>2] = 0; + $185 = (($$021) + 1)|0; + $exitcond = ($185|0)==($$0201$lcssa|0); + if ($exitcond) { + break; + } else { + $$021 = $185; + } + } + $175 = ((($156)) + 16|0); + $176 = HEAP32[$175>>2]|0; + _TraceLog(0,14311,$vararg_buffer1); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); + HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; + $$sroa$6$0$$sroa_idx17 = ((($0)) + 24|0); + HEAP32[$$sroa$6$0$$sroa_idx17>>2] = $$0201$lcssa; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 28|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $156; + STACKTOP = sp;return; +} +function _UnloadSpriteFont($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp + 40|0; + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = HEAP32[$0>>2]|0; + _GetDefaultFont($1); + $3 = HEAP32[$1>>2]|0; + $4 = ($2|0)==($3|0); + if ($4) { + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadTexture($$byval_copy); + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + _free($6); + _TraceLog(3,14729,$vararg_buffer); + STACKTOP = sp;return; +} +function _LoadTTF($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0124130 = 0, $$0125129 = 0, $$0128 = 0, $$byval_copy9 = 0, $$sroa$0 = 0, $$sroa$10$0$$sroa_idx58 = 0, $$sroa$10$0$$sroa_idx59 = 0, $$sroa$6$0$$sroa_idx49 = 0, $$sroa$6$0$$sroa_idx50 = 0, $$sroa$7$0$$sroa_idx53 = 0, $$sroa$7$0$$sroa_idx54 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.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.0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $9 = 0.0, $exitcond = 0, $exp2 = 0.0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy9 = sp + 48|0; + $vararg_buffer7 = sp + 40|0; + $vararg_buffer5 = sp + 32|0; + $vararg_buffer2 = sp + 24|0; + $$sroa$0 = sp; + $5 = sp + 68|0; + $6 = sp + 88|0; + $7 = (+($2|0)); + $8 = $7 * 3.0; + $9 = $8 * 0.25; + $10 = (+Math_ceil((+$9))); + $11 = (+($3|0)); + $12 = (+Math_sqrt((+$11))); + $13 = (+Math_ceil((+$12))); + $14 = $10 * $13; + $15 = (+Math_log((+$14))); + $16 = $15 / 0.69314718246459961; + $17 = (+Math_ceil((+$16))); + $exp2 = (+_llvm_exp2_f32((+$17))); + $18 = (~~(($exp2))); + HEAP32[$$byval_copy9>>2] = $18; + $vararg_ptr1 = ((($$byval_copy9)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $18; + _TraceLog(0,14814,$$byval_copy9); + $19 = (_malloc(16777216)|0); + $20 = Math_imul($18, $18)|0; + $21 = (_malloc($20)|0); + $22 = ($3*20)|0; + $23 = (_malloc($22)|0); + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; + $24 = (_fopen($1,17589)|0); + $25 = ($24|0)==(0|0); + if ($25) { + HEAP32[$vararg_buffer2>>2] = $1; + _TraceLog(1,14868,$vararg_buffer2); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$6$0$$sroa_idx49 = ((($0)) + 20|0); + HEAP32[$$sroa$6$0$$sroa_idx49>>2] = 0; + $$sroa$7$0$$sroa_idx53 = ((($0)) + 24|0); + HEAP32[$$sroa$7$0$$sroa_idx53>>2] = 0; + $$sroa$10$0$$sroa_idx58 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx58>>2] = 0; + STACKTOP = sp;return; + } + (_fread($19,1,16777216,$24)|0); + $26 = HEAP32[$4>>2]|0; + $27 = ($26|0)==(32); + if (!($27)) { + _TraceLog(1,14902,$vararg_buffer5); + } + $28 = HEAP32[$4>>2]|0; + $29 = (_stbtt_BakeFontBitmap($19,$7,$21,$18,$18,$28,$3,$23)|0); + $30 = ($29|0)<(0); + if ($30) { + _TraceLog(1,14969,$vararg_buffer7); + } + _free($19); + $31 = $20 << 1; + $32 = (_malloc($31)|0); + $33 = ($20|0)==(0); + if (!($33)) { + $$0124130 = 0;$$0125129 = 0; + while(1) { + $41 = (($32) + ($$0124130)|0); + HEAP8[$41>>0] = -1; + $42 = (($21) + ($$0125129)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $$0124130 | 1; + $45 = (($32) + ($44)|0); + HEAP8[$45>>0] = $43; + $46 = (($$0125129) + 1)|0; + $47 = (($$0124130) + 2)|0; + $48 = ($46|0)<($20|0); + if ($48) { + $$0124130 = $47;$$0125129 = $46; + } else { + break; + } + } + } + _free($21); + $34 = ((($5)) + 4|0); + HEAP32[$34>>2] = $18; + $35 = ((($5)) + 8|0); + HEAP32[$35>>2] = $18; + $36 = ((($5)) + 12|0); + HEAP32[$36>>2] = 1; + $37 = ((($5)) + 16|0); + HEAP32[$37>>2] = 2; + HEAP32[$5>>2] = $32; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy9+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy9+16>>2]=HEAP32[$5+16>>2]|0; + _LoadTextureFromImage($6,$$byval_copy9); + ;HEAP32[$$sroa$0>>2]=HEAP32[$6>>2]|0;HEAP32[$$sroa$0+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$sroa$0+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$sroa$0+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$sroa$0+16>>2]=HEAP32[$6+16>>2]|0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy9+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy9+16>>2]=HEAP32[$5+16>>2]|0; + _UnloadImage($$byval_copy9); + $38 = $3 << 5; + $39 = (_malloc($38)|0); + $40 = ($3|0)>(0); + if ($40) { + $$0128 = 0; + while(1) { + $49 = (($4) + ($$0128<<2)|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($39) + ($$0128<<5)|0); + HEAP32[$51>>2] = $50; + $52 = (($23) + (($$0128*20)|0)|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53&65535; + $55 = (((($39) + ($$0128<<5)|0)) + 4|0); + HEAP32[$55>>2] = $54; + $56 = (((($23) + (($$0128*20)|0)|0)) + 2|0); + $57 = HEAP16[$56>>1]|0; + $58 = $57&65535; + $59 = (((($39) + ($$0128<<5)|0)) + 8|0); + HEAP32[$59>>2] = $58; + $60 = (((($23) + (($$0128*20)|0)|0)) + 4|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = (($62) - ($54))|0; + $64 = (((($39) + ($$0128<<5)|0)) + 12|0); + HEAP32[$64>>2] = $63; + $65 = (((($23) + (($$0128*20)|0)|0)) + 6|0); + $66 = HEAP16[$65>>1]|0; + $67 = $66&65535; + $68 = (($67) - ($58))|0; + $69 = (((($39) + ($$0128<<5)|0)) + 16|0); + HEAP32[$69>>2] = $68; + $70 = (((($23) + (($$0128*20)|0)|0)) + 8|0); + $71 = +HEAPF32[$70>>2]; + $72 = (~~(($71))); + $73 = (((($39) + ($$0128<<5)|0)) + 20|0); + HEAP32[$73>>2] = $72; + $74 = (((($23) + (($$0128*20)|0)|0)) + 12|0); + $75 = +HEAPF32[$74>>2]; + $76 = (~~(($75))); + $77 = (((($39) + ($$0128<<5)|0)) + 24|0); + HEAP32[$77>>2] = $76; + $78 = (((($23) + (($$0128*20)|0)|0)) + 16|0); + $79 = +HEAPF32[$78>>2]; + $80 = (~~(($79))); + $81 = (((($39) + ($$0128<<5)|0)) + 28|0); + HEAP32[$81>>2] = $80; + $82 = (($$0128) + 1)|0; + $exitcond = ($82|0)==($3|0); + if ($exitcond) { + break; + } else { + $$0128 = $82; + } + } + } + _free($23); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$6$0$$sroa_idx50 = ((($0)) + 20|0); + HEAP32[$$sroa$6$0$$sroa_idx50>>2] = $2; + $$sroa$7$0$$sroa_idx54 = ((($0)) + 24|0); + HEAP32[$$sroa$7$0$$sroa_idx54>>2] = $3; + $$sroa$10$0$$sroa_idx59 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx59>>2] = $39; + STACKTOP = sp;return; +} +function _stbtt_BakeFontBitmap($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = (_stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7)|0); + return ($8|0); +} +function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$05 = 0, $$084$ = 0, $$0844 = 0, $$087$$091 = 0, $$0873 = 0, $$089 = 0, $$0902 = 0, $$091$ = 0, $$0911 = 0, $$1 = 0, $$2 = 0, $$286 = 0, $$293 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0.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, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0; + var $57 = 0, $58 = 0.0, $59 = 0, $60 = 0, $61 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$8>>2] = 0; + $15 = (_stbtt_InitFont($8,$0)|0); + $16 = ($15|0)==(0); + if ($16) { + $$2 = -1; + STACKTOP = sp;return ($$2|0); + } + $17 = Math_imul($4, $3)|0; + _memset(($2|0),0,($17|0))|0; + $18 = (+_stbtt_ScaleForPixelHeight($8,$1)); + $19 = ($6|0)>(0); + if (!($19)) { + $$2 = 1; + STACKTOP = sp;return ($$2|0); + } + $$05 = 0;$$0844 = 1;$$0873 = 1;$$0902 = 0;$$0911 = 1; + while(1) { + $22 = (($$0902) + ($5))|0; + $23 = (_stbtt_FindGlyphIndex($8,$22)|0); + _stbtt_GetGlyphHMetrics($8,$23,$9,$10); + _stbtt_GetGlyphBitmapBox($8,$23,$18,$18,$11,$12,$13,$14); + $24 = HEAP32[$13>>2]|0; + $25 = HEAP32[$11>>2]|0; + $26 = (($24) - ($25))|0; + $27 = HEAP32[$14>>2]|0; + $28 = HEAP32[$12>>2]|0; + $29 = (($27) - ($28))|0; + $30 = (($$0844) + 1)|0; + $31 = (($30) + ($26))|0; + $32 = ($31|0)<($3|0); + $$087$$091 = $32 ? $$0873 : $$0911; + $$084$ = $32 ? $$0844 : 1; + $33 = (($$087$$091) + ($29))|0; + $34 = (($33) + 1)|0; + $35 = ($34|0)<($4|0); + if ($35) { + $37 = (($$084$) + ($26))|0; + $38 = ($37|0)<($3|0); + if (!($38)) { + label = 8; + break; + } + $39 = (($2) + ($$084$)|0); + $40 = Math_imul($$087$$091, $3)|0; + $41 = (($39) + ($40)|0); + _stbtt_MakeGlyphBitmap($8,$41,$26,$29,$3,$18,$18,$23); + $42 = $$084$&65535; + $43 = (($7) + (($$0902*20)|0)|0); + HEAP16[$43>>1] = $42; + $44 = $$087$$091&65535; + $45 = (((($7) + (($$0902*20)|0)|0)) + 2|0); + HEAP16[$45>>1] = $44; + $46 = $37&65535; + $47 = (((($7) + (($$0902*20)|0)|0)) + 4|0); + HEAP16[$47>>1] = $46; + $48 = $33&65535; + $49 = (((($7) + (($$0902*20)|0)|0)) + 6|0); + HEAP16[$49>>1] = $48; + $50 = HEAP32[$9>>2]|0; + $51 = (+($50|0)); + $52 = $18 * $51; + $53 = (((($7) + (($$0902*20)|0)|0)) + 16|0); + HEAPF32[$53>>2] = $52; + $54 = HEAP32[$11>>2]|0; + $55 = (+($54|0)); + $56 = (((($7) + (($$0902*20)|0)|0)) + 8|0); + HEAPF32[$56>>2] = $55; + $57 = HEAP32[$12>>2]|0; + $58 = (+($57|0)); + $59 = (((($7) + (($$0902*20)|0)|0)) + 12|0); + HEAPF32[$59>>2] = $58; + $60 = (($37) + 1)|0; + $61 = ($33|0)<($$0911|0); + $$091$ = $61 ? $$0911 : $34; + $$089 = 1;$$1 = $$05;$$286 = $60;$$293 = $$091$; + } else { + $36 = (0 - ($$0902))|0; + $$089 = 0;$$1 = $36;$$286 = $$084$;$$293 = $$0911; + } + $21 = (($$0902) + 1)|0; + if (!($$089)) { + $$2 = $$1; + label = 11; + break; + } + $20 = ($21|0)<($6|0); + if ($20) { + $$05 = $$1;$$0844 = $$286;$$0873 = $$087$$091;$$0902 = $21;$$0911 = $$293; + } else { + $$2 = $$293; + label = 11; + break; + } + } + if ((label|0) == 8) { + ___assert_fail((15032|0),(15042|0),3274,(15068|0)); + // unreachable; + } + else if ((label|0) == 11) { + STACKTOP = sp;return ($$2|0); + } + return (0)|0; +} +function _stbtt_InitFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbtt_InitFont_internal($0,$1)|0); + return ($2|0); +} +function _stbtt_ScaleForPixelHeight($0,$1) { + $0 = $0|0; + $1 = +$1; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 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 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + ($5)|0); + $7 = ((($6)) + 4|0); + $8 = (_ttSHORT($7)|0); + $9 = $8 << 16 >> 16; + $10 = ((($6)) + 6|0); + $11 = (_ttSHORT($10)|0); + $12 = $11 << 16 >> 16; + $13 = (($9) - ($12))|0; + $14 = (+($13|0)); + $15 = $1 / $14; + return (+$15); +} +function _stbtt_FindGlyphIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$$1172 = 0, $$0163180 = 0, $$0164179 = 0, $$0165 = 0, $$0165$ph = 0, $$0168$ph = 0, $$1172$lcssa = 0, $$1172178 = 0, $$2 = 0, $$2$shrunk = 0, $$5 = 0, $$8 = 0, $$neg = 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, $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, $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 $switch = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 40|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + ($5)|0); + $7 = (_ttUSHORT($6)|0); + switch ($7<<16>>16) { + case 0: { + $8 = ((($6)) + 2|0); + $9 = (_ttUSHORT($8)|0); + $10 = $9&65535; + $11 = (($10) + -6)|0; + $12 = ($11|0)>($1|0); + if (!($12)) { + $$8 = 0; + return ($$8|0); + } + $13 = ((($6)) + 6|0); + $14 = (($13) + ($1)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $$8 = $16; + return ($$8|0); + break; + } + case 6: { + $17 = ((($6)) + 6|0); + $18 = (_ttUSHORT($17)|0); + $19 = $18&65535; + $20 = ($19>>>0)>($1>>>0); + if ($20) { + $$8 = 0; + return ($$8|0); + } + $21 = ((($6)) + 8|0); + $22 = (_ttUSHORT($21)|0); + $23 = $22&65535; + $24 = (($23) + ($19))|0; + $25 = ($24>>>0)>($1>>>0); + if (!($25)) { + $$8 = 0; + return ($$8|0); + } + $26 = ((($6)) + 10|0); + $27 = (($1) - ($19))|0; + $28 = $27 << 1; + $29 = (($26) + ($28)|0); + $30 = (_ttUSHORT($29)|0); + $31 = $30&65535; + $$8 = $31; + return ($$8|0); + break; + } + case 2: { + ___assert_fail((17086|0),(15042|0),1347,(15842|0)); + // unreachable; + break; + } + case 4: { + $32 = ((($6)) + 6|0); + $33 = (_ttUSHORT($32)|0); + $34 = ($33&65535) >>> 1; + $35 = ($1|0)>(65535); + if ($35) { + $$8 = 0; + return ($$8|0); + } + $36 = (($5) + 14)|0; + $37 = ((($6)) + 12|0); + $38 = (_ttUSHORT($37)|0); + $39 = ((($6)) + 10|0); + $40 = (_ttUSHORT($39)|0); + $41 = $38 & -2; + $42 = (($3) + ($36)|0); + $43 = $41&65535; + $44 = (($42) + ($43)|0); + $45 = (_ttUSHORT($44)|0); + $46 = $45&65535; + $47 = ($46|0)>($1|0); + $48 = $47 ? 0 : $43; + $$ = (($5) + 12)|0; + $49 = (($$) + ($48))|0; + $50 = ($40<<16>>16)==(0); + if ($50) { + $$1172$lcssa = $49; + } else { + $51 = ((($6)) + 8|0); + $52 = (_ttUSHORT($51)|0); + $53 = ($52&65535) >>> 1; + $$0163180 = $53;$$0164179 = $40;$$1172178 = $49; + while(1) { + $54 = ($$0163180&65535) >>> 1; + $55 = (($3) + ($$1172178)|0); + $56 = ($54 << 1)&65535; + $57 = $56&65535; + $58 = (($55) + ($57)|0); + $59 = (_ttUSHORT($58)|0); + $60 = $59&65535; + $61 = ($60|0)<($1|0); + $62 = $61 ? $57 : 0; + $$$1172 = (($62) + ($$1172178))|0; + $63 = (($$0164179) + -1)<<16>>16; + $64 = ($63<<16>>16)==(0); + if ($64) { + $$1172$lcssa = $$$1172; + break; + } else { + $$0163180 = $54;$$0164179 = $63;$$1172178 = $$$1172; + } + } + } + $$neg = (-14 - ($5))|0; + $65 = (($$neg) + 2)|0; + $66 = (($65) + ($$1172$lcssa))|0; + $67 = $66 & 131070; + $68 = (($42) + ($67)|0); + $69 = (_ttUSHORT($68)|0); + $70 = $69&65535; + $71 = ($70|0)<($1|0); + if ($71) { + ___assert_fail((15863|0),(15042|0),1383,(15842|0)); + // unreachable; + } + $72 = ((($6)) + 14|0); + $73 = $34&65535; + $74 = ($34 << 1)&65535; + $75 = $74&65535; + $76 = (($72) + ($75)|0); + $77 = ((($76)) + 2|0); + $78 = (($77) + ($67)|0); + $79 = (_ttUSHORT($78)|0); + $80 = $79&65535; + $81 = ($80|0)>($1|0); + do { + if ($81) { + $$2$shrunk = 0; + } else { + $82 = ($73*6)|0; + $83 = (($72) + ($82)|0); + $84 = ((($83)) + 2|0); + $85 = (($84) + ($67)|0); + $86 = (_ttUSHORT($85)|0); + $87 = ($86<<16>>16)==(0); + if ($87) { + $88 = $73 << 2; + $89 = (($72) + ($88)|0); + $90 = ((($89)) + 2|0); + $91 = (($90) + ($67)|0); + $92 = (_ttSHORT($91)|0); + $93 = $92&65535; + $94 = (($93) + ($1))|0; + $95 = $94&65535; + $$2$shrunk = $95; + break; + } else { + $96 = $86&65535; + $97 = (($3) + ($96)|0); + $98 = (($1) - ($80))|0; + $99 = $98 << 1; + $100 = (($97) + ($99)|0); + $101 = (($100) + ($5)|0); + $102 = ((($101)) + 14|0); + $103 = (($102) + ($82)|0); + $104 = ((($103)) + 2|0); + $105 = (($104) + ($67)|0); + $106 = (_ttUSHORT($105)|0); + $$2$shrunk = $106; + break; + } + } + } while(0); + $$2 = $$2$shrunk&65535; + $$8 = $$2; + return ($$8|0); + break; + } + default: { + $107 = ($7<<16>>16)==(12); + $108 = $7 & -2; + $switch = ($108<<16>>16)==(12); + if (!($switch)) { + ___assert_fail((17086|0),(15042|0),1418,(15842|0)); + // unreachable; + } + $109 = ((($6)) + 12|0); + $110 = (_ttULONG($109)|0); + $111 = ((($6)) + 16|0); + $$0165$ph = $110;$$0168$ph = 0; + L6: while(1) { + $$0165 = $$0165$ph; + while(1) { + $112 = ($$0165|0)>($$0168$ph|0); + if (!($112)) { + $$8 = 0; + label = 27; + break L6; + } + $113 = (($$0165) - ($$0168$ph))|0; + $114 = $113 >> 1; + $115 = (($114) + ($$0168$ph))|0; + $116 = ($115*12)|0; + $117 = (($111) + ($116)|0); + $118 = (_ttULONG($117)|0); + $119 = ($118>>>0)>($1>>>0); + if ($119) { + $$0165 = $115; + } else { + break; + } + } + $120 = ((($117)) + 4|0); + $121 = (_ttULONG($120)|0); + $122 = ($121>>>0)<($1>>>0); + $123 = (($115) + 1)|0; + if ($122) { + $$0165$ph = $$0165;$$0168$ph = $123; + } else { + break; + } + } + if ((label|0) == 27) { + return ($$8|0); + } + $124 = ((($117)) + 8|0); + $125 = (_ttULONG($124)|0); + $126 = (($1) - ($118))|0; + $127 = $107 ? $126 : 0; + $$5 = (($125) + ($127))|0; + $$8 = $$5; + return ($$8|0); + } + } + return (0)|0; +} +function _stbtt_GetGlyphHMetrics($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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 28|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($5) + ($7)|0); + $9 = ((($8)) + 34|0); + $10 = (_ttUSHORT($9)|0); + $11 = $10&65535; + $12 = ($11|0)>($1|0); + $13 = ($2|0)!=(0|0); + if ($12) { + if ($13) { + $14 = ((($0)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($5) + ($15)|0); + $17 = $1 << 2; + $18 = (($16) + ($17)|0); + $19 = (_ttSHORT($18)|0); + $20 = $19 << 16 >> 16; + HEAP32[$2>>2] = $20; + } + $21 = ($3|0)==(0|0); + if ($21) { + return; + } + $22 = HEAP32[$4>>2]|0; + $23 = ((($0)) + 32|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + ($24)|0); + $26 = $1 << 2; + $27 = (($25) + ($26)|0); + $28 = ((($27)) + 2|0); + $29 = (_ttSHORT($28)|0); + $30 = $29 << 16 >> 16; + HEAP32[$3>>2] = $30; + return; + } else { + if ($13) { + $31 = ((($0)) + 32|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($5) + ($32)|0); + $34 = $11 << 2; + $35 = (($34) + -4)|0; + $36 = (($33) + ($35)|0); + $37 = (_ttSHORT($36)|0); + $38 = $37 << 16 >> 16; + HEAP32[$2>>2] = $38; + } + $39 = ($3|0)==(0|0); + if ($39) { + return; + } + $40 = HEAP32[$4>>2]|0; + $41 = ((($0)) + 32|0); + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + ($42)|0); + $44 = $11 << 2; + $45 = (($43) + ($44)|0); + $46 = (($1) - ($11))|0; + $47 = $46 << 1; + $48 = (($45) + ($47)|0); + $49 = (_ttSHORT($48)|0); + $50 = $49 << 16 >> 16; + HEAP32[$3>>2] = $50; + return; + } +} +function _stbtt_GetGlyphBitmapBox($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt_GetGlyphBitmapBoxSubpixel($0,$1,$2,$3,$4,$5,$6,$7); + return; +} +function _stbtt_MakeGlyphBitmap($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; + $6 = +$6; + $7 = $7|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt_MakeGlyphBitmapSubpixel($0,$1,$2,$3,$4,$5,$6,$7); + return; +} +function _stbtt_MakeGlyphBitmapSubpixel($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; + $6 = +$6; + $7 = $7|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, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp; + $12 = (_stbtt_GetGlyphShape($0,$7,$10)|0); + _stbtt_GetGlyphBitmapBoxSubpixel($0,$7,$5,$6,$8,$9,0,0); + $13 = ((($11)) + 12|0); + HEAP32[$13>>2] = $1; + HEAP32[$11>>2] = $2; + $14 = ((($11)) + 4|0); + HEAP32[$14>>2] = $3; + $15 = ((($11)) + 8|0); + HEAP32[$15>>2] = $4; + $16 = ($2|0)==(0); + $17 = ($3|0)==(0); + $or$cond = $16 | $17; + if ($or$cond) { + $21 = HEAP32[$10>>2]|0; + _free($21); + STACKTOP = sp;return; + } + $18 = HEAP32[$10>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$9>>2]|0; + _stbtt_Rasterize($11,$18,$12,$5,$6,$19,$20); + $21 = HEAP32[$10>>2]|0; + _free($21); + STACKTOP = sp;return; +} +function _stbtt_GetGlyphShape($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, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + $6 = (_stbtt__GetGlyphShapeTT($0,$1,$2)|0); + $$0 = $6; + return ($$0|0); + } else { + $7 = (_stbtt__GetGlyphShapeT2($0,$1,$2)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; +} +function _stbtt_GetGlyphBitmapBoxSubpixel($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $8 = 0, $9 = 0, $ceilf = 0.0, $ceilf1 = 0.0, $floorf = 0.0, $floorf2 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $12 = (_stbtt_GetGlyphBox($0,$1,$8,$9,$10,$11)|0); + $13 = ($12|0)==(0); + $14 = ($4|0)!=(0|0); + if ($13) { + if ($14) { + HEAP32[$4>>2] = 0; + } + $15 = ($5|0)==(0|0); + if (!($15)) { + HEAP32[$5>>2] = 0; + } + $16 = ($6|0)==(0|0); + if (!($16)) { + HEAP32[$6>>2] = 0; + } + $17 = ($7|0)==(0|0); + if ($17) { + STACKTOP = sp;return; + } + HEAP32[$7>>2] = 0; + STACKTOP = sp;return; + } else { + if ($14) { + $18 = HEAP32[$8>>2]|0; + $19 = (+($18|0)); + $20 = $19 * $2; + $21 = $20 + 0.0; + $floorf2 = (+Math_floor((+$21))); + $22 = (~~(($floorf2))); + HEAP32[$4>>2] = $22; + } + $23 = ($5|0)==(0|0); + if (!($23)) { + $24 = HEAP32[$11>>2]|0; + $25 = (0 - ($24))|0; + $26 = (+($25|0)); + $27 = $26 * $3; + $28 = $27 + 0.0; + $floorf = (+Math_floor((+$28))); + $29 = (~~(($floorf))); + HEAP32[$5>>2] = $29; + } + $30 = ($6|0)==(0|0); + if (!($30)) { + $31 = HEAP32[$10>>2]|0; + $32 = (+($31|0)); + $33 = $32 * $2; + $34 = $33 + 0.0; + $ceilf1 = (+Math_ceil((+$34))); + $35 = (~~(($ceilf1))); + HEAP32[$6>>2] = $35; + } + $36 = ($7|0)==(0|0); + if ($36) { + STACKTOP = sp;return; + } + $37 = HEAP32[$9>>2]|0; + $38 = (0 - ($37))|0; + $39 = (+($38|0)); + $40 = $39 * $3; + $41 = $40 + 0.0; + $ceilf = (+Math_ceil((+$41))); + $42 = (~~(($ceilf))); + HEAP32[$7>>2] = $42; + STACKTOP = sp;return; + } +} +function _stbtt_Rasterize($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = +$4; + $5 = $5|0; + $6 = $6|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 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 + 4|0; + $8 = sp; + $9 = $3 > $4; + $10 = $9 ? $4 : $3; + $11 = 0.34999999403953552 / $10; + $12 = (_stbtt_FlattenCurves($1,$2,$11,$8,$7)|0); + $13 = ($12|0)==(0|0); + if ($13) { + STACKTOP = sp;return; + } + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$7>>2]|0; + _stbtt__rasterize($0,$12,$14,$15,$3,$4,$5,$6); + _free($14); + _free($12); + STACKTOP = sp;return; +} +function _stbtt_FlattenCurves($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = $3|0; + $4 = $4|0; + var $$$0113 = 0, $$010 = 0.0, $$01079 = 0.0, $$011014 = 0, $$011113 = 0, $$011316 = 0, $$011715 = 0, $$0119 = 0, $$012012 = 0, $$1 = 0.0, $$1108 = 0.0, $$1112$lcssa = 0, $$11128 = 0, $$11185 = 0, $$1121 = 0, $$2 = 0, $$2115$lcssa = 0, $$21157 = 0, $$3116 = 0, $10 = 0; + var $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, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0; + var $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $exitcond = 0, $exitcond21 = 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 * $2; + $7 = ($1|0)>(0); + if ($7) { + $$011316 = 0;$$011715 = 0; + } else { + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + while(1) { + $8 = (((($0) + (($$011715*14)|0)|0)) + 12|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(1); + $11 = $10&1; + $$$0113 = (($11) + ($$011316))|0; + $12 = (($$011715) + 1)|0; + $exitcond21 = ($12|0)==($1|0); + if ($exitcond21) { + break; + } else { + $$011316 = $$$0113;$$011715 = $12; + } + } + HEAP32[$4>>2] = $$$0113; + $13 = ($$$0113|0)==(0); + if ($13) { + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + $14 = $$$0113 << 2; + $15 = (_malloc($14)|0); + HEAP32[$3>>2] = $15; + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + $17 = ($1|0)>(0); + $$011014 = 0;$$011113 = 0;$$012012 = 0; + while(1) { + $18 = ($$011014|0)==(1); + if ($18) { + $19 = HEAP32[$5>>2]|0; + $20 = $19 << 3; + $21 = (_malloc($20)|0); + $22 = ($21|0)==(0|0); + if ($22) { + break; + } else { + $$1121 = $21; + } + } else { + $$1121 = $$012012; + } + HEAP32[$5>>2] = 0; + L19: do { + if ($17) { + $$010 = 0.0;$$01079 = 0.0;$$11128 = $$011113;$$11185 = 0;$$21157 = -1; + while(1) { + $23 = (($0) + (($$11185*14)|0)|0); + $24 = (((($0) + (($$11185*14)|0)|0)) + 12|0); + $25 = HEAP8[$24>>0]|0; + switch ($25<<24>>24) { + case 1: { + $26 = ($$21157|0)>(-1); + if ($26) { + $27 = HEAP32[$5>>2]|0; + $28 = (($27) - ($$11128))|0; + $29 = HEAP32[$3>>2]|0; + $30 = (($29) + ($$21157<<2)|0); + HEAP32[$30>>2] = $28; + } + $31 = (($$21157) + 1)|0; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP16[$23>>1]|0; + $34 = (+($33<<16>>16)); + $35 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $36 = HEAP16[$35>>1]|0; + $37 = (+($36<<16>>16)); + $38 = (($32) + 1)|0; + HEAP32[$5>>2] = $38; + _stbtt__add_point($$1121,$32,$34,$37); + $$1 = $37;$$1108 = $34;$$2 = $32;$$3116 = $31; + break; + } + case 2: { + $39 = HEAP16[$23>>1]|0; + $40 = (+($39<<16>>16)); + $41 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $42 = HEAP16[$41>>1]|0; + $43 = (+($42<<16>>16)); + $44 = HEAP32[$5>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$5>>2] = $45; + _stbtt__add_point($$1121,$44,$40,$43); + $$1 = $43;$$1108 = $40;$$2 = $$11128;$$3116 = $$21157; + break; + } + case 3: { + $46 = (((($0) + (($$11185*14)|0)|0)) + 4|0); + $47 = HEAP16[$46>>1]|0; + $48 = (+($47<<16>>16)); + $49 = (((($0) + (($$11185*14)|0)|0)) + 6|0); + $50 = HEAP16[$49>>1]|0; + $51 = (+($50<<16>>16)); + $52 = HEAP16[$23>>1]|0; + $53 = (+($52<<16>>16)); + $54 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $55 = HEAP16[$54>>1]|0; + $56 = (+($55<<16>>16)); + _stbtt__tesselate_curve($$1121,$5,$$01079,$$010,$48,$51,$53,$56,$6,0); + $57 = HEAP16[$23>>1]|0; + $58 = (+($57<<16>>16)); + $59 = HEAP16[$54>>1]|0; + $60 = (+($59<<16>>16)); + $$1 = $60;$$1108 = $58;$$2 = $$11128;$$3116 = $$21157; + break; + } + case 4: { + $61 = (((($0) + (($$11185*14)|0)|0)) + 4|0); + $62 = HEAP16[$61>>1]|0; + $63 = (+($62<<16>>16)); + $64 = (((($0) + (($$11185*14)|0)|0)) + 6|0); + $65 = HEAP16[$64>>1]|0; + $66 = (+($65<<16>>16)); + $67 = (((($0) + (($$11185*14)|0)|0)) + 8|0); + $68 = HEAP16[$67>>1]|0; + $69 = (+($68<<16>>16)); + $70 = (((($0) + (($$11185*14)|0)|0)) + 10|0); + $71 = HEAP16[$70>>1]|0; + $72 = (+($71<<16>>16)); + $73 = HEAP16[$23>>1]|0; + $74 = (+($73<<16>>16)); + $75 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $76 = HEAP16[$75>>1]|0; + $77 = (+($76<<16>>16)); + _stbtt__tesselate_cubic($$1121,$5,$$01079,$$010,$63,$66,$69,$72,$74,$77,$6,0); + $78 = HEAP16[$23>>1]|0; + $79 = (+($78<<16>>16)); + $80 = HEAP16[$75>>1]|0; + $81 = (+($80<<16>>16)); + $$1 = $81;$$1108 = $79;$$2 = $$11128;$$3116 = $$21157; + break; + } + default: { + $$1 = $$010;$$1108 = $$01079;$$2 = $$11128;$$3116 = $$21157; + } + } + $82 = (($$11185) + 1)|0; + $exitcond = ($82|0)==($1|0); + if ($exitcond) { + $$1112$lcssa = $$2;$$2115$lcssa = $$3116; + break L19; + } else { + $$010 = $$1;$$01079 = $$1108;$$11128 = $$2;$$11185 = $82;$$21157 = $$3116; + } + } + } else { + $$1112$lcssa = $$011113;$$2115$lcssa = -1; + } + } while(0); + $83 = HEAP32[$5>>2]|0; + $84 = (($83) - ($$1112$lcssa))|0; + $85 = HEAP32[$3>>2]|0; + $86 = (($85) + ($$2115$lcssa<<2)|0); + HEAP32[$86>>2] = $84; + $87 = (($$011014) + 1)|0; + $88 = ($87|0)<(2); + if ($88) { + $$011014 = $87;$$011113 = $$1112$lcssa;$$012012 = $$1121; + } else { + $$0119 = $$1121; + label = 21; + break; + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$0119|0); + } + $89 = HEAP32[$3>>2]|0; + _free($89); + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); +} +function _stbtt__rasterize($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = +$5; + $6 = $6|0; + $7 = $7|0; + var $$0 = 0, $$0101 = 0, $$0102$lcssa = 0, $$010211 = 0, $$010410 = 0, $$01064 = 0, $$01072 = 0, $$01081 = 0, $$01081$phi = 0, $$1$lcssa = 0, $$11055 = 0, $$16 = 0, $$2$lcssa = 0, $$23 = 0, $$3 = 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.0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0; + var $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $8 = 0.0, $9 = 0, $exitcond = 0, $exitcond16 = 0, $phitmp = 0, $phitmp17 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = -$5; + $9 = ($3|0)>(0); + if ($9) { + $$010211 = 0;$$010410 = 0; + while(1) { + $10 = (($2) + ($$010410<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($$010211))|0; + $13 = (($$010410) + 1)|0; + $exitcond16 = ($13|0)==($3|0); + if ($exitcond16) { + break; + } else { + $$010211 = $12;$$010410 = $13; + } + } + $phitmp = ($12*20)|0; + $phitmp17 = (($phitmp) + 20)|0; + $$0102$lcssa = $phitmp17; + } else { + $$0102$lcssa = 20; + } + $14 = (_malloc($$0102$lcssa)|0); + $15 = ($14|0)==(0|0); + if ($15) { + return; + } + $16 = ($3|0)>(0); + if ($16) { + $$01064 = 0;$$11055 = 0;$$16 = 0; + while(1) { + $17 = (($1) + ($$01064<<3)|0); + $18 = (($2) + ($$11055<<2)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($19) + ($$01064))|0; + $21 = ($19|0)>(0); + if ($21) { + $22 = (($19) + -1)|0; + $23 = HEAP32[$18>>2]|0; + $$01072 = 0;$$01081 = $22;$$23 = $$16; + while(1) { + $24 = (($17) + ($$01081<<3)|0); + $25 = ((($24)) + 4|0); + $26 = +HEAPF32[$25>>2]; + $27 = (($17) + ($$01072<<3)|0); + $28 = ((($27)) + 4|0); + $29 = +HEAPF32[$28>>2]; + $30 = $26 == $29; + if ($30) { + $$3 = $$23; + } else { + $31 = (((($14) + (($$23*20)|0)|0)) + 16|0); + $32 = $26 > $29; + $storemerge = $32&1; + $$0101 = $32 ? $$01081 : $$01072; + $$0 = $32 ? $$01072 : $$01081; + HEAP32[$31>>2] = $storemerge; + $33 = (($17) + ($$0101<<3)|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 * $4; + $36 = $35 + 0.0; + $37 = (($14) + (($$23*20)|0)|0); + HEAPF32[$37>>2] = $36; + $38 = ((($33)) + 4|0); + $39 = +HEAPF32[$38>>2]; + $40 = $39 * $8; + $41 = $40 + 0.0; + $42 = (((($14) + (($$23*20)|0)|0)) + 4|0); + HEAPF32[$42>>2] = $41; + $43 = (($17) + ($$0<<3)|0); + $44 = +HEAPF32[$43>>2]; + $45 = $44 * $4; + $46 = $45 + 0.0; + $47 = (((($14) + (($$23*20)|0)|0)) + 8|0); + HEAPF32[$47>>2] = $46; + $48 = ((($43)) + 4|0); + $49 = +HEAPF32[$48>>2]; + $50 = $49 * $8; + $51 = $50 + 0.0; + $52 = (((($14) + (($$23*20)|0)|0)) + 12|0); + HEAPF32[$52>>2] = $51; + $53 = (($$23) + 1)|0; + $$3 = $53; + } + $54 = (($$01072) + 1)|0; + $55 = ($54|0)<($23|0); + if ($55) { + $$01081$phi = $$01072;$$01072 = $54;$$23 = $$3;$$01081 = $$01081$phi; + } else { + $$2$lcssa = $$3; + break; + } + } + } else { + $$2$lcssa = $$16; + } + $56 = (($$11055) + 1)|0; + $exitcond = ($56|0)==($3|0); + if ($exitcond) { + $$1$lcssa = $$2$lcssa; + break; + } else { + $$01064 = $20;$$11055 = $56;$$16 = $$2$lcssa; + } + } + } else { + $$1$lcssa = 0; + } + _stbtt__sort_edges($14,$$1$lcssa); + _stbtt__rasterize_sorted_edges($0,$14,$$1$lcssa,$6,$7); + _free($14); + return; +} +function _stbtt__sort_edges($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt__sort_edges_quicksort($0,$1); + _stbtt__sort_edges_ins_sort($0,$1); + return; +} +function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$010025 = 0, $$010123 = 0, $$010219 = 0.0, $$010318 = 0, $$0104 = 0, $$0105$ph15 = 0, $$026 = 0, $$1$lcssa = 0, $$116 = 0, $$sroa$0 = 0, $$sroa$0$0$$sroa$0$0$$0$1 = 0, $$sroa$0$0$$sroa$0$0$$0$1079 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0.0, $38 = 0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0; + var $74 = 0.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.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $fabsf = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 544|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(544|0); + $5 = sp + 520|0; + $$sroa$0 = sp + 516|0; + $6 = sp; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; + HEAP32[$$sroa$0>>2] = 0; + $7 = HEAP32[$0>>2]|0; + $8 = ($7|0)>(64); + if ($8) { + $9 = $7 << 3; + $10 = $9 | 4; + $11 = (_malloc($10)|0); + $$0104 = $11; + } else { + $$0104 = $6; + } + $12 = HEAP32[$0>>2]|0; + $13 = (($$0104) + ($12<<2)|0); + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + ($4))|0; + $17 = (+($16|0)); + $18 = $17 + 1.0; + $19 = (((($1) + (($2*20)|0)|0)) + 4|0); + HEAPF32[$19>>2] = $18; + $20 = HEAP32[$14>>2]|0; + $21 = ($20|0)>(0); + L5: do { + if ($21) { + $22 = ((($13)) + 4|0); + $23 = ((($0)) + 12|0); + $24 = ((($0)) + 8|0); + $$010025 = $4;$$010123 = 0;$$026 = $1; + L7: while(1) { + $25 = (+($$010025|0)); + $26 = $25 + 1.0; + $27 = HEAP32[$0>>2]|0; + $28 = $27 << 2; + _memset(($$0104|0),0,($28|0))|0; + $29 = (($28) + 4)|0; + _memset(($13|0),0,($29|0))|0; + $30 = HEAP32[$$sroa$0>>2]|0; + $31 = ($30|0)==(0|0); + L9: do { + if (!($31)) { + $$0105$ph15 = $$sroa$0;$99 = $30; + while(1) { + $36 = $99; + while(1) { + $35 = ((($36)) + 24|0); + $37 = +HEAPF32[$35>>2]; + $38 = !($37 <= $25); + if ($38) { + break; + } + $39 = HEAP32[$36>>2]|0; + HEAP32[$$0105$ph15>>2] = $39; + $40 = ((($36)) + 16|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 != 0.0; + if (!($42)) { + label = 11; + break L7; + } + HEAPF32[$40>>2] = 0.0; + _stbtt__hheap_free($5,$36); + $43 = HEAP32[$$0105$ph15>>2]|0; + $44 = ($43|0)==(0|0); + if ($44) { + break L9; + } else { + $36 = $43; + } + } + $45 = HEAP32[$36>>2]|0; + $46 = ($45|0)==(0|0); + if ($46) { + break; + } else { + $$0105$ph15 = $36;$99 = $45; + } + } + } + } while(0); + $32 = ((($$026)) + 4|0); + $33 = +HEAPF32[$32>>2]; + $34 = !($33 <= $26); + if ($34) { + $$1$lcssa = $$026; + } else { + $$116 = $$026;$50 = $33; + while(1) { + $47 = ((($$116)) + 12|0); + $48 = +HEAPF32[$47>>2]; + $49 = $50 != $48; + if ($49) { + $51 = (_stbtt__new_active($5,$$116,$3,$25)|0); + $52 = ($51|0)==(0|0); + if (!($52)) { + $53 = ((($51)) + 24|0); + $54 = +HEAPF32[$53>>2]; + $55 = !($54 >= $25); + if ($55) { + label = 17; + break L7; + } + $$sroa$0$0$$sroa$0$0$$0$1 = HEAP32[$$sroa$0>>2]|0; + HEAP32[$51>>2] = $$sroa$0$0$$sroa$0$0$$0$1; + $56 = $51; + HEAP32[$$sroa$0>>2] = $56; + } + } + $57 = ((($$116)) + 20|0); + $58 = ((($$116)) + 24|0); + $59 = +HEAPF32[$58>>2]; + $60 = !($59 <= $26); + if ($60) { + $$1$lcssa = $57; + break; + } else { + $$116 = $57;$50 = $59; + } + } + } + $$sroa$0$0$$sroa$0$0$$0$1079 = HEAP32[$$sroa$0>>2]|0; + $61 = ($$sroa$0$0$$sroa$0$0$$0$1079|0)==(0|0); + if (!($61)) { + $62 = HEAP32[$0>>2]|0; + _stbtt__fill_active_edges_new($$0104,$22,$62,$$sroa$0$0$$sroa$0$0$$0$1079,$25); + } + $63 = HEAP32[$0>>2]|0; + $64 = ($63|0)>(0); + if ($64) { + $$010219 = 0.0;$$010318 = 0; + while(1) { + $67 = (($13) + ($$010318<<2)|0); + $68 = +HEAPF32[$67>>2]; + $69 = $$010219 + $68; + $70 = (($$0104) + ($$010318<<2)|0); + $71 = +HEAPF32[$70>>2]; + $72 = $71 + $69; + $fabsf = (+Math_abs((+$72))); + $73 = $fabsf * 255.0; + $74 = $73 + 0.5; + $75 = (~~(($74))); + $76 = ($75|0)<(255); + $$ = $76 ? $75 : 255; + $77 = $$&255; + $78 = HEAP32[$23>>2]|0; + $79 = HEAP32[$24>>2]|0; + $80 = Math_imul($79, $$010123)|0; + $81 = (($80) + ($$010318))|0; + $82 = (($78) + ($81)|0); + HEAP8[$82>>0] = $77; + $83 = (($$010318) + 1)|0; + $84 = HEAP32[$0>>2]|0; + $85 = ($83|0)<($84|0); + if ($85) { + $$010219 = $69;$$010318 = $83; + } else { + break; + } + } + } + $65 = HEAP32[$$sroa$0>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $87 = $65; + while(1) { + $86 = ((($87)) + 8|0); + $88 = +HEAPF32[$86>>2]; + $89 = ((($87)) + 4|0); + $90 = +HEAPF32[$89>>2]; + $91 = $88 + $90; + HEAPF32[$89>>2] = $91; + $92 = HEAP32[$87>>2]|0; + $93 = ($92|0)==(0|0); + if ($93) { + break; + } else { + $87 = $92; + } + } + } + $94 = (($$010025) + 1)|0; + $95 = (($$010123) + 1)|0; + $96 = HEAP32[$14>>2]|0; + $97 = ($95|0)<($96|0); + if ($97) { + $$010025 = $94;$$010123 = $95;$$026 = $$1$lcssa; + } else { + break L5; + } + } + if ((label|0) == 11) { + ___assert_fail((15098|0),(15042|0),2775,(15111|0)); + // unreachable; + } + else if ((label|0) == 17) { + ___assert_fail((15141|0),(15042|0),2788,(15111|0)); + // unreachable; + } + } + } while(0); + _stbtt__hheap_cleanup($5); + $98 = ($$0104|0)==($6|0); + if ($98) { + STACKTOP = sp;return; + } + _free($$0104); + STACKTOP = sp;return; +} +function _stbtt__hheap_free($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$1>>2] = $3; + HEAP32[$2>>2] = $1; + return; +} +function _stbtt__new_active($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (_stbtt__hheap_alloc($0)|0); + $5 = ((($1)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $6 - $7; + $9 = ((($1)) + 12|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($1)) + 4|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 - $12; + $14 = $8 / $13; + $15 = ($4|0)==(0|0); + if ($15) { + ___assert_fail((15431|0),(15042|0),2374,(15447|0)); + // unreachable; + } else { + $16 = ((($4)) + 8|0); + HEAPF32[$16>>2] = $14; + $17 = $14 != 0.0; + $18 = 1.0 / $14; + $19 = $17 ? $18 : 0.0; + $20 = ((($4)) + 12|0); + HEAPF32[$20>>2] = $19; + $21 = +HEAPF32[$1>>2]; + $22 = +HEAPF32[$11>>2]; + $23 = $3 - $22; + $24 = $14 * $23; + $25 = $21 + $24; + $26 = ((($4)) + 4|0); + $27 = (+($2|0)); + $28 = $25 - $27; + HEAPF32[$26>>2] = $28; + $29 = ((($1)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0); + $32 = $31 ? 1.0 : -1.0; + $33 = ((($4)) + 16|0); + HEAPF32[$33>>2] = $32; + $34 = ((($4)) + 20|0); + HEAPF32[$34>>2] = $22; + $35 = HEAP32[$9>>2]|0; + $36 = ((($4)) + 24|0); + HEAP32[$36>>2] = $35; + HEAP32[$4>>2] = 0; + return ($4|0); + } + return (0)|0; +} +function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + var $$0350 = 0.0, $$0351 = 0.0, $$0352 = 0.0, $$0354 = 0.0, $$0356370 = 0, $$0357 = 0.0, $$0359$lcssa = 0.0, $$0359372 = 0.0, $$0360 = 0.0, $$0361371 = 0, $$0374 = 0, $$1 = 0.0, $$1353 = 0.0, $$1355 = 0.0, $$1358 = 0.0, $10 = 0.0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0; + var $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0; + var $140 = 0, $141 = 0, $142 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0.0; + var $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0.0; + var $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0.0; + var $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0; + var $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond380 = 0, $fabsf = 0.0, $or$cond = 0, $or$cond362 = 0, $or$cond363 = 0, $or$cond364 = 0; + var $or$cond365 = 0, $or$cond366 = 0, $or$cond367 = 0, $or$cond368 = 0, $or$cond369 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $4 + 1.0; + $6 = ($3|0)==(0|0); + if ($6) { + return; + } + $7 = (+($2|0)); + $8 = ((($1)) + -4|0); + $9 = ((($1)) + -4|0); + $10 = (+($2|0)); + $11 = ($2|0)>(0); + $$0374 = $3; + L4: while(1) { + $12 = ((($$0374)) + 24|0); + $13 = +HEAPF32[$12>>2]; + $14 = !($13 >= $4); + if ($14) { + label = 4; + break; + } + $15 = ((($$0374)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $16 == 0.0; + $18 = ((($$0374)) + 4|0); + $19 = +HEAPF32[$18>>2]; + do { + if ($17) { + $20 = $19 < $7; + if ($20) { + $21 = !($19 >= 0.0); + if ($21) { + _stbtt__handle_clipped_edge($8,0,$$0374,$19,$4,$19,$5); + break; + } else { + $22 = (~~(($19))); + _stbtt__handle_clipped_edge($0,$22,$$0374,$19,$4,$19,$5); + $23 = (($22) + 1)|0; + _stbtt__handle_clipped_edge($9,$23,$$0374,$19,$4,$19,$5); + break; + } + } + } else { + $24 = $16 + $19; + $25 = ((($$0374)) + 12|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($$0374)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = !($28 <= $5); + if ($29) { + label = 11; + break L4; + } + $30 = $28 > $4; + $31 = $28 - $4; + $32 = $16 * $31; + $33 = $19 + $32; + $$0354 = $30 ? $28 : $4; + $$0351 = $30 ? $33 : $19; + $34 = +HEAPF32[$12>>2]; + $35 = $34 < $5; + $36 = $34 - $4; + $37 = $16 * $36; + $38 = $19 + $37; + $$0357 = $35 ? $34 : $5; + $$0352 = $35 ? $38 : $24; + $39 = $$0351 >= 0.0; + $40 = $$0352 >= 0.0; + $or$cond = $39 & $40; + if ($or$cond) { + $41 = $$0351 < $10; + $42 = $$0352 < $10; + $or$cond362 = $41 & $42; + if ($or$cond362) { + $43 = (~~(($$0351))); + $44 = (~~(($$0352))); + $45 = ($43|0)==($44|0); + if ($45) { + $46 = $$0357 - $$0354; + $47 = ($43|0)>(-1); + $48 = ($43|0)<($2|0); + $or$cond363 = $47 & $48; + if (!($or$cond363)) { + label = 17; + break L4; + } + $49 = ((($$0374)) + 16|0); + $50 = +HEAPF32[$49>>2]; + $51 = (+($43|0)); + $52 = $$0351 - $51; + $53 = $$0352 - $51; + $54 = $52 + $53; + $55 = $54 * 0.5; + $56 = 1.0 - $55; + $57 = $56 * $50; + $58 = $46 * $57; + $59 = (($0) + ($43<<2)|0); + $60 = +HEAPF32[$59>>2]; + $61 = $60 + $58; + HEAPF32[$59>>2] = $61; + $62 = +HEAPF32[$49>>2]; + $63 = $46 * $62; + $64 = (($1) + ($43<<2)|0); + $65 = +HEAPF32[$64>>2]; + $66 = $65 + $63; + HEAPF32[$64>>2] = $66; + break; + } + $67 = $$0351 > $$0352; + if ($67) { + $68 = -$26; + $69 = $$0357 - $4; + $70 = $5 - $69; + $71 = $$0354 - $4; + $72 = $5 - $71; + $$0350 = $24;$$0360 = $68;$$1 = $$0352;$$1353 = $$0351;$$1355 = $70;$$1358 = $72; + } else { + $$0350 = $19;$$0360 = $26;$$1 = $$0351;$$1353 = $$0352;$$1355 = $$0354;$$1358 = $$0357; + } + $73 = (~~(($$1))); + $74 = (~~(($$1353))); + $75 = (($73) + 1)|0; + $76 = (+($75|0)); + $77 = $76 - $$0350; + $78 = $$0360 * $77; + $79 = $78 + $4; + $80 = ((($$0374)) + 16|0); + $81 = +HEAPF32[$80>>2]; + $82 = $79 - $$1355; + $83 = $81 * $82; + $84 = (+($73|0)); + $85 = $$1 - $84; + $86 = $85 + 1.0; + $87 = $86 * 0.5; + $88 = 1.0 - $87; + $89 = $88 * $83; + $90 = (($0) + ($73<<2)|0); + $91 = +HEAPF32[$90>>2]; + $92 = $91 + $89; + HEAPF32[$90>>2] = $92; + $93 = $$0360 * $81; + $94 = ($74|0)>($75|0); + if ($94) { + $95 = $93 * 0.5; + $$0359372 = $83;$$0361371 = $75; + while(1) { + $96 = $95 + $$0359372; + $97 = (($0) + ($$0361371<<2)|0); + $98 = +HEAPF32[$97>>2]; + $99 = $96 + $98; + HEAPF32[$97>>2] = $99; + $100 = $93 + $$0359372; + $101 = (($$0361371) + 1)|0; + $exitcond380 = ($101|0)==($74|0); + if ($exitcond380) { + $$0359$lcssa = $100; + break; + } else { + $$0359372 = $100;$$0361371 = $101; + } + } + } else { + $$0359$lcssa = $83; + } + $fabsf = (+Math_abs((+$$0359$lcssa))); + $102 = !($fabsf <= 1.0099999904632568); + if ($102) { + label = 25; + break L4; + } + $103 = (($74) - ($75))|0; + $104 = (+($103|0)); + $105 = $$0360 * $104; + $106 = $105 + $79; + $107 = (+($74|0)); + $108 = $$1353 - $107; + $109 = $108 + 0.0; + $110 = $109 * 0.5; + $111 = 1.0 - $110; + $112 = $81 * $111; + $113 = $$1358 - $106; + $114 = $112 * $113; + $115 = $114 + $$0359$lcssa; + $116 = (($0) + ($74<<2)|0); + $117 = +HEAPF32[$116>>2]; + $118 = $115 + $117; + HEAPF32[$116>>2] = $118; + $119 = $$1358 - $$1355; + $120 = $119 * $81; + $121 = (($1) + ($74<<2)|0); + $122 = +HEAPF32[$121>>2]; + $123 = $120 + $122; + HEAPF32[$121>>2] = $123; + break; + } + } + if ($11) { + $$0356370 = 0; + while(1) { + $124 = (+($$0356370|0)); + $125 = (($$0356370) + 1)|0; + $126 = (+($125|0)); + $127 = $124 - $19; + $128 = $127 / $16; + $129 = $128 + $4; + $130 = $126 - $19; + $131 = $130 / $16; + $132 = $131 + $4; + $133 = $19 < $124; + $134 = $24 > $126; + $or$cond364 = $133 & $134; + do { + if ($or$cond364) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + } else { + $135 = $24 < $124; + $136 = $19 > $126; + $or$cond365 = $135 & $136; + if ($or$cond365) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $137 = $24 > $124; + $or$cond366 = $133 & $137; + if ($or$cond366) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $138 = $19 > $124; + $or$cond367 = $135 & $138; + if ($or$cond367) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $139 = $19 < $126; + $or$cond368 = $139 & $134; + if ($or$cond368) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + break; + } + $140 = $24 < $126; + $or$cond369 = $140 & $136; + if ($or$cond369) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + break; + } else { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$24,$5); + break; + } + } + } while(0); + $exitcond = ($125|0)==($2|0); + if ($exitcond) { + break; + } else { + $$0356370 = $125; + } + } + } + } + } while(0); + $141 = HEAP32[$$0374>>2]|0; + $142 = ($141|0)==(0|0); + if ($142) { + label = 42; + break; + } else { + $$0374 = $141; + } + } + if ((label|0) == 4) { + ___assert_fail((15161|0),(15042|0),2586,(15176|0)); + // unreachable; + } + else if ((label|0) == 11) { + ___assert_fail((15205|0),(15042|0),2605,(15176|0)); + // unreachable; + } + else if ((label|0) == 17) { + ___assert_fail((15241|0),(15042|0),2633,(15176|0)); + // unreachable; + } + else if ((label|0) == 25) { + ___assert_fail((15259|0),(15042|0),2670,(15176|0)); + // unreachable; + } + else if ((label|0) == 42) { + return; + } +} +function _stbtt__hheap_cleanup($0) { + $0 = $0|0; + var $$in12 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + return; + } else { + $$in12 = $1; + } + while(1) { + $3 = HEAP32[$$in12>>2]|0; + _free($$in12); + $4 = ($3|0)==(0|0); + if ($4) { + break; + } else { + $$in12 = $3; + } + } + return; +} +function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$0 = 0.0, $$077 = 0.0, $$078 = 0.0, $$079 = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0; + var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0.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.0, $48 = 0.0, $49 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond80 = 0, $or$cond81 = 0, $or$cond82 = 0, $or$cond83 = 0, $or$cond84 = 0, $or$cond85 = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = $4 == $6; + if ($7) { + return; + } + $8 = $4 < $6; + if (!($8)) { + ___assert_fail((15279|0),(15042|0),2544,(15287|0)); + // unreachable; + } + $9 = ((($2)) + 20|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($2)) + 24|0); + $12 = +HEAPF32[$11>>2]; + $13 = !($10 <= $12); + if ($13) { + ___assert_fail((15314|0),(15042|0),2545,(15287|0)); + // unreachable; + } + $14 = $12 < $4; + $15 = $10 > $6; + $or$cond = $15 | $14; + if ($or$cond) { + return; + } + $16 = $10 > $4; + if ($16) { + $17 = $5 - $3; + $18 = $10 - $4; + $19 = $17 * $18; + $20 = $6 - $4; + $21 = $19 / $20; + $22 = $21 + $3; + $$078 = $10;$$079 = $22; + } else { + $$078 = $4;$$079 = $3; + } + $23 = +HEAPF32[$11>>2]; + $24 = $23 < $6; + if ($24) { + $25 = $5 - $$079; + $26 = $23 - $6; + $27 = $25 * $26; + $28 = $6 - $$078; + $29 = $27 / $28; + $30 = $29 + $5; + $$0 = $23;$$077 = $30; + } else { + $$0 = $6;$$077 = $5; + } + $31 = (+($1|0)); + $32 = $$079 == $31; + $33 = (($1) + 1)|0; + $34 = (+($33|0)); + do { + if ($32) { + $35 = !($$077 <= $34); + if ($35) { + ___assert_fail((15329|0),(15042|0),2558,(15287|0)); + // unreachable; + } + } else { + $36 = $$079 == $34; + if ($36) { + $37 = !($$077 >= $31); + if (!($37)) { + break; + } + ___assert_fail((15339|0),(15042|0),2560,(15287|0)); + // unreachable; + } + $38 = !($$079 <= $31); + if (!($38)) { + $39 = !($$077 <= $31); + if (!($39)) { + break; + } + ___assert_fail((15347|0),(15042|0),2562,(15287|0)); + // unreachable; + } + $40 = !($$079 >= $34); + if ($40) { + $42 = !($$077 >= $31); + $43 = !($$077 <= $34); + $or$cond80 = $42 | $43; + if (!($or$cond80)) { + break; + } + ___assert_fail((15365|0),(15042|0),2566,(15287|0)); + // unreachable; + } else { + $41 = !($$077 >= $34); + if (!($41)) { + break; + } + ___assert_fail((15355|0),(15042|0),2564,(15287|0)); + // unreachable; + } + } + } while(0); + $44 = !($$079 <= $31); + $45 = !($$077 <= $31); + $or$cond81 = $44 | $45; + if (!($or$cond81)) { + $46 = ((($2)) + 16|0); + $47 = +HEAPF32[$46>>2]; + $48 = $$0 - $$078; + $49 = $48 * $47; + $50 = (($0) + ($1<<2)|0); + $51 = +HEAPF32[$50>>2]; + $52 = $51 + $49; + HEAPF32[$50>>2] = $52; + return; + } + $53 = !($$079 >= $34); + $54 = !($$077 >= $34); + $or$cond82 = $53 | $54; + if (!($or$cond82)) { + return; + } + $55 = !($$079 >= $31); + $56 = !($$079 <= $34); + $or$cond83 = $55 | $56; + $57 = !($$077 >= $31); + $or$cond84 = $or$cond83 | $57; + $58 = !($$077 <= $34); + $or$cond85 = $58 | $or$cond84; + if ($or$cond85) { + ___assert_fail((15386|0),(15042|0),2573,(15287|0)); + // unreachable; + } + $59 = ((($2)) + 16|0); + $60 = +HEAPF32[$59>>2]; + $61 = $$0 - $$078; + $62 = $61 * $60; + $63 = $$079 - $31; + $64 = $$077 - $31; + $65 = $63 + $64; + $66 = $65 * 0.5; + $67 = 1.0 - $66; + $68 = $67 * $62; + $69 = (($0) + ($1<<2)|0); + $70 = +HEAPF32[$69>>2]; + $71 = $70 + $68; + HEAPF32[$69>>2] = $71; + return; +} +function _stbtt__hheap_alloc($0) { + $0 = $0|0; + var $$1 = 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)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = HEAP32[$2>>2]|0; + HEAP32[$1>>2] = $4; + $$1 = $2; + return ($$1|0); + } + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + do { + if ($7) { + $8 = (_malloc(56004)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $$1 = 0; + return ($$1|0); + } else { + $10 = HEAP32[$0>>2]|0; + HEAP32[$8>>2] = $10; + HEAP32[$0>>2] = $8; + HEAP32[$5>>2] = 2000; + break; + } + } + } while(0); + $11 = HEAP32[$5>>2]|0; + $12 = (($11) + -1)|0; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$0>>2]|0; + $14 = ($12*28)|0; + $15 = (($13) + ($14)|0); + $$1 = $15; + return ($$1|0); +} +function _stbtt__sort_edges_quicksort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$079 = 0, $$081 = 0, $$08390 = 0, $$091 = 0, $$1 = 0, $$180 = 0, $$182 = 0, $$184 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0; + var $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.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.0, $7 = 0; + var $8 = 0, $9 = 0.0, $tmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = ($1|0)>(12); + if (!($3)) { + STACKTOP = sp;return; + } + $$08390 = $1;$$091 = $0; + while(1) { + $4 = $$08390 >>> 1; + $5 = ((($$091)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = (($$091) + (($4*20)|0)|0); + $8 = (((($$091) + (($4*20)|0)|0)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $6 < $9; + $11 = (($$08390) + -1)|0; + $12 = (((($$091) + (($11*20)|0)|0)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = $9 < $13; + $15 = $10 ^ $14; + $16 = $6 < $13; + $tmp = $16 ^ $14; + $17 = $tmp ? $11 : 0; + $18 = (($$091) + (($17*20)|0)|0); + if ($15) { + ;HEAP32[$2>>2]=HEAP32[$18>>2]|0;HEAP32[$2+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$18+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$18+16>>2]|0; + ;HEAP32[$18>>2]=HEAP32[$7>>2]|0;HEAP32[$18+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$18+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$18+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$18+16>>2]=HEAP32[$7+16>>2]|0; + ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$2+16>>2]|0; + } + ;HEAP32[$2>>2]=HEAP32[$$091>>2]|0;HEAP32[$2+4>>2]=HEAP32[$$091+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$$091+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$$091+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$$091+16>>2]|0; + ;HEAP32[$$091>>2]=HEAP32[$7>>2]|0;HEAP32[$$091+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$091+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$091+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$091+16>>2]=HEAP32[$7+16>>2]|0; + ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$2+16>>2]|0; + $$079 = $11;$$081 = 1; + while(1) { + $19 = +HEAPF32[$5>>2]; + $$182 = $$081; + while(1) { + $20 = (((($$091) + (($$182*20)|0)|0)) + 4|0); + $21 = +HEAPF32[$20>>2]; + $22 = $21 < $19; + $23 = (($$182) + 1)|0; + if ($22) { + $$182 = $23; + } else { + $$180 = $$079; + break; + } + } + while(1) { + $24 = (((($$091) + (($$180*20)|0)|0)) + 4|0); + $25 = +HEAPF32[$24>>2]; + $26 = $19 < $25; + $27 = (($$180) + -1)|0; + if ($26) { + $$180 = $27; + } else { + break; + } + } + $28 = (($$091) + (($$182*20)|0)|0); + $29 = ($$182|0)<($$180|0); + if (!($29)) { + break; + } + $30 = (($$091) + (($$180*20)|0)|0); + ;HEAP32[$2>>2]=HEAP32[$28>>2]|0;HEAP32[$2+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$28+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$28+16>>2]|0; + ;HEAP32[$28>>2]=HEAP32[$30>>2]|0;HEAP32[$28+4>>2]=HEAP32[$30+4>>2]|0;HEAP32[$28+8>>2]=HEAP32[$30+8>>2]|0;HEAP32[$28+12>>2]=HEAP32[$30+12>>2]|0;HEAP32[$28+16>>2]=HEAP32[$30+16>>2]|0; + ;HEAP32[$30>>2]=HEAP32[$2>>2]|0;HEAP32[$30+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$30+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$30+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$30+16>>2]=HEAP32[$2+16>>2]|0; + $31 = (($$182) + 1)|0; + $32 = (($$180) + -1)|0; + $$079 = $32;$$081 = $31; + } + $33 = (($$08390) - ($$182))|0; + $34 = ($$180|0)<($33|0); + if ($34) { + _stbtt__sort_edges_quicksort($$091,$$180); + $$1 = $28;$$184 = $33; + } else { + _stbtt__sort_edges_quicksort($28,$33); + $$1 = $$091;$$184 = $$180; + } + $35 = ($$184|0)>(12); + if ($35) { + $$08390 = $$184;$$091 = $$1; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _stbtt__sort_edges_ins_sort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$03251 = 0, $$033 = 0, $$2$ph = 0, $$sroa$0$0$copyload48 = 0, $$sroa$4$0$$sroa_idx37 = 0, $$sroa$4$0$$sroa_idx38 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$5 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx42 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$sroa$5 = sp; + $2 = ($1|0)>(1); + if (!($2)) { + STACKTOP = sp;return; + } + $$03251 = 1; + while(1) { + $3 = (($0) + (($$03251*20)|0)|0); + $$sroa$0$0$copyload48 = HEAP32[$3>>2]|0; + $$sroa$4$0$$sroa_idx37 = (((($0) + (($$03251*20)|0)|0)) + 4|0); + $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx37>>2]; + $$sroa$5$0$$sroa_idx = (((($0) + (($$03251*20)|0)|0)) + 8|0); + ;HEAP32[$$sroa$5>>2]=HEAP32[$$sroa$5$0$$sroa_idx>>2]|0;HEAP32[$$sroa$5+4>>2]=HEAP32[$$sroa$5$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$5+8>>2]=HEAP32[$$sroa$5$0$$sroa_idx+8>>2]|0; + $$033 = $$03251; + while(1) { + $4 = (($$033) + -1)|0; + $5 = (((($0) + (($4*20)|0)|0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = $$sroa$4$0$copyload < $6; + if (!($7)) { + $$2$ph = $$033; + break; + } + $8 = (($0) + (($4*20)|0)|0); + $9 = (($0) + (($$033*20)|0)|0); + ;HEAP32[$9>>2]=HEAP32[$8>>2]|0;HEAP32[$9+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[$8+16>>2]|0; + $10 = ($$033|0)>(1); + if ($10) { + $$033 = $4; + } else { + $$2$ph = $4; + break; + } + } + $11 = ($$03251|0)==($$2$ph|0); + if (!($11)) { + $$sroa$5$0$$sroa_idx42 = (((($0) + (($$2$ph*20)|0)|0)) + 8|0); + $$sroa$4$0$$sroa_idx38 = (((($0) + (($$2$ph*20)|0)|0)) + 4|0); + $12 = (($0) + (($$2$ph*20)|0)|0); + HEAP32[$12>>2] = $$sroa$0$0$copyload48; + HEAPF32[$$sroa$4$0$$sroa_idx38>>2] = $$sroa$4$0$copyload; + ;HEAP32[$$sroa$5$0$$sroa_idx42>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx42+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx42+8>>2]=HEAP32[$$sroa$5+8>>2]|0; + } + $13 = (($$03251) + 1)|0; + $exitcond = ($13|0)==($1|0); + if ($exitcond) { + break; + } else { + $$03251 = $13; + } + } + STACKTOP = sp;return; +} +function _stbtt__add_point($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0|0); + if ($4) { + return; + } + $5 = (((($0) + ($1<<3)|0)) + 4|0); + $6 = (($0) + ($1<<3)|0); + HEAPF32[$6>>2] = $2; + HEAPF32[$5>>2] = $3; + return; +} +function _stbtt__tesselate_curve($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + $9 = $9|0; + var $$tr210 = 0.0, $$tr210$phi = 0.0, $$tr311 = 0.0, $$tr311$phi = 0.0, $$tr412 = 0.0, $$tr513 = 0.0, $$tr914 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0; + var $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0; + var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, label = 0, sp = 0; + sp = STACKTOP; + $10 = $4 * 2.0; + $11 = $10 + $2; + $12 = $11 + $6; + $13 = $12 * 0.25; + $14 = $5 * 2.0; + $15 = $14 + $3; + $16 = $15 + $7; + $17 = $16 * 0.25; + $18 = ($9|0)>(16); + if ($18) { + return; + } + $19 = $7 + $3; + $20 = $19 * 0.5; + $21 = $20 - $17; + $22 = $6 + $2; + $23 = $22 * 0.5; + $24 = $23 - $13; + $$tr210 = $2;$$tr311 = $3;$$tr412 = $4;$$tr513 = $5;$$tr914 = $9;$26 = $24;$28 = $21;$36 = $13;$37 = $17; + while(1) { + $25 = $26 * $26; + $27 = $28 * $28; + $29 = $25 + $27; + $30 = $29 > $8; + if (!($30)) { + break; + } + $31 = $$tr210 + $$tr412; + $32 = $31 * 0.5; + $33 = $$tr311 + $$tr513; + $34 = $33 * 0.5; + $35 = (($$tr914) + 1)|0; + _stbtt__tesselate_curve($0,$1,$$tr210,$$tr311,$32,$34,$36,$37,$8,$35); + $38 = $$tr412 + $6; + $39 = $38 * 0.5; + $40 = $$tr513 + $7; + $41 = $40 * 0.5; + $42 = $39 * 2.0; + $43 = $36 + $42; + $44 = $43 + $6; + $45 = $44 * 0.25; + $46 = $41 * 2.0; + $47 = $37 + $46; + $48 = $47 + $7; + $49 = $48 * 0.25; + $50 = $36 + $6; + $51 = $50 * 0.5; + $52 = $51 - $45; + $53 = $37 + $7; + $54 = $53 * 0.5; + $55 = $54 - $49; + $56 = ($$tr914|0)>(15); + if ($56) { + label = 6; + break; + } else { + $$tr311$phi = $37;$$tr210$phi = $36;$$tr412 = $39;$$tr513 = $41;$$tr914 = $35;$26 = $52;$28 = $55;$36 = $45;$37 = $49;$$tr311 = $$tr311$phi;$$tr210 = $$tr210$phi; + } + } + if ((label|0) == 6) { + return; + } + $57 = HEAP32[$1>>2]|0; + _stbtt__add_point($0,$57,$6,$7); + $58 = HEAP32[$1>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$1>>2] = $59; + return; +} +function _stbtt__tesselate_cubic($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + $9 = +$9; + $10 = +$10; + $11 = $11|0; + var $$tr138 = 0.0, $$tr139 = 0.0, $$tr140 = 0.0, $$tr141 = 0.0, $$tr142 = 0.0, $$tr143 = 0.0, $$tr147 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; + var $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0; + var $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; + var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $sqrtf = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$tr138 = $2;$$tr139 = $3;$$tr140 = $4;$$tr141 = $5;$$tr142 = $6;$$tr143 = $7;$$tr147 = $11; + while(1) { + $12 = $$tr140 - $$tr138; + $13 = $$tr141 - $$tr139; + $14 = $$tr142 - $$tr140; + $15 = $$tr143 - $$tr141; + $16 = $8 - $$tr142; + $17 = $9 - $$tr143; + $18 = $8 - $$tr138; + $19 = $9 - $$tr139; + $20 = $12 * $12; + $21 = $13 * $13; + $22 = $20 + $21; + $23 = $22; + $24 = (+Math_sqrt((+$23))); + $25 = $14 * $14; + $26 = $15 * $15; + $27 = $25 + $26; + $28 = $27; + $29 = (+Math_sqrt((+$28))); + $30 = $24 + $29; + $31 = $16 * $16; + $32 = $17 * $17; + $33 = $31 + $32; + $34 = $33; + $35 = (+Math_sqrt((+$34))); + $36 = $30 + $35; + $37 = $36; + $38 = $18 * $18; + $39 = $19 * $19; + $40 = $38 + $39; + $sqrtf = (+Math_sqrt((+$40))); + $41 = ($$tr147|0)>(16); + if ($41) { + label = 6; + break; + } + $42 = $37 * $37; + $43 = $sqrtf * $sqrtf; + $44 = $42 - $43; + $45 = $44 > $10; + if (!($45)) { + break; + } + $46 = $$tr138 + $$tr140; + $47 = $46 * 0.5; + $48 = $$tr139 + $$tr141; + $49 = $48 * 0.5; + $50 = $$tr140 + $$tr142; + $51 = $50 * 0.5; + $52 = $$tr141 + $$tr143; + $53 = $52 * 0.5; + $54 = $$tr142 + $8; + $55 = $54 * 0.5; + $56 = $$tr143 + $9; + $57 = $56 * 0.5; + $58 = $47 + $51; + $59 = $58 * 0.5; + $60 = $49 + $53; + $61 = $60 * 0.5; + $62 = $51 + $55; + $63 = $62 * 0.5; + $64 = $53 + $57; + $65 = $64 * 0.5; + $66 = $59 + $63; + $67 = $66 * 0.5; + $68 = $61 + $65; + $69 = $68 * 0.5; + $70 = (($$tr147) + 1)|0; + _stbtt__tesselate_cubic($0,$1,$$tr138,$$tr139,$47,$49,$59,$61,$67,$69,$10,$70); + $$tr138 = $67;$$tr139 = $69;$$tr140 = $63;$$tr141 = $65;$$tr142 = $55;$$tr143 = $57;$$tr147 = $70; + } + if ((label|0) == 6) { + return; + } + $71 = HEAP32[$1>>2]|0; + _stbtt__add_point($0,$71,$8,$9); + $72 = HEAP32[$1>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$1>>2] = $73; + return; +} +function _stbtt_GetGlyphBox($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 $$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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 56|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if (!($8)) { + _stbtt__GetGlyphInfoT2($0,$1,$2,$3,$4,$5); + $$1 = 1; + return ($$1|0); + } + $9 = (_stbtt__GetGlyfOffset($0,$1)|0); + $10 = ($9|0)<(0); + if ($10) { + $$1 = 0; + return ($$1|0); + } + $11 = ($2|0)==(0|0); + if (!($11)) { + $12 = ((($0)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + ($9)|0); + $15 = ((($14)) + 2|0); + $16 = (_ttSHORT($15)|0); + $17 = $16 << 16 >> 16; + HEAP32[$2>>2] = $17; + } + $18 = ($3|0)==(0|0); + if (!($18)) { + $19 = ((($0)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + ($9)|0); + $22 = ((($21)) + 4|0); + $23 = (_ttSHORT($22)|0); + $24 = $23 << 16 >> 16; + HEAP32[$3>>2] = $24; + } + $25 = ($4|0)==(0|0); + if (!($25)) { + $26 = ((($0)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + ($9)|0); + $29 = ((($28)) + 6|0); + $30 = (_ttSHORT($29)|0); + $31 = $30 << 16 >> 16; + HEAP32[$4>>2] = $31; + } + $32 = ($5|0)==(0|0); + if ($32) { + $$1 = 1; + return ($$1|0); + } + $33 = ((($0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($34) + ($9)|0); + $36 = ((($35)) + 8|0); + $37 = (_ttSHORT($36)|0); + $38 = $37 << 16 >> 16; + HEAP32[$5>>2] = $38; + $$1 = 1; + return ($$1|0); +} +function _stbtt__GetGlyphInfoT2($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 $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, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $6 = sp; + $7 = ((($6)) + 4|0); + dest=$7; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = 1; + $8 = (_stbtt__run_charstring($0,$1,$6)|0); + $9 = ($2|0)==(0|0); + $10 = ($8|0)!=(0); + if ($9) { + STACKTOP = sp;return; + } + $11 = ((($6)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10 ? $12 : 0; + HEAP32[$2>>2] = $13; + $14 = ((($6)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = $10 ? $15 : 0; + HEAP32[$3>>2] = $16; + $17 = ((($6)) + 28|0); + $18 = HEAP32[$17>>2]|0; + $19 = $10 ? $18 : 0; + HEAP32[$4>>2] = $19; + $20 = ((($6)) + 36|0); + $21 = HEAP32[$20>>2]|0; + $22 = $10 ? $21 : 0; + HEAP32[$5>>2] = $22; + STACKTOP = sp;return; +} +function _stbtt__GetGlyfOffset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$023 = 0, $$024 = 0, $$pn = 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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 56|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0); + if (!($4)) { + ___assert_fail((15465|0),(15042|0),1440,(15481|0)); + // unreachable; + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)>($1|0); + if (!($7)) { + $$024 = -1; + return ($$024|0); + } + $8 = ((($0)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(1); + if ($10) { + $$024 = -1; + return ($$024|0); + } + $11 = ($9|0)==(0); + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($0)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + ($17)|0); + if ($11) { + $19 = $1 << 1; + $20 = (($18) + ($19)|0); + $21 = (_ttUSHORT($20)|0); + $22 = $21&65535; + $23 = $22 << 1; + $24 = ((($20)) + 2|0); + $25 = (_ttUSHORT($24)|0); + $26 = $25&65535; + $27 = $26 << 1; + $$pn = $23;$$sink = $27; + } else { + $28 = $1 << 2; + $29 = (($18) + ($28)|0); + $30 = (_ttULONG($29)|0); + $31 = ((($29)) + 4|0); + $32 = (_ttULONG($31)|0); + $$pn = $30;$$sink = $32; + } + $33 = (($$sink) + ($13))|0; + $$023 = (($$pn) + ($13))|0; + $34 = ($$023|0)==($33|0); + $35 = $34 ? -1 : $$023; + $$024 = $35; + return ($$024|0); +} +function _ttSHORT($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 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 8; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $3 | $6; + $8 = $7&65535; + return ($8|0); +} +function _ttUSHORT($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 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 8; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $3 | $6; + $8 = $7&65535; + return ($8|0); +} +function _ttULONG($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, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 24; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $6 << 16; + $8 = $7 | $3; + $9 = ((($0)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = $11 << 8; + $13 = $8 | $12; + $14 = ((($0)) + 3|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $13 | $16; + return ($17|0); +} +function _stbtt__run_charstring($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0274$be = 0, $$0274335 = 0, $$0276$be = 0, $$0276334 = 0, $$0279 = 0.0, $$0280 = 0.0, $$0282318 = 0.0, $$0285$be = 0, $$0285333 = 0, $$0288$be = 0, $$0288332 = 0, $$0290329 = 0, $$0294$be = 0, $$0294331 = 0, $$1277 = 0, $$1283 = 0.0, $$1286 = 0, $$1291 = 0, $$2292 = 0; + var $$3 = 0, $$3293 = 0, $$363 = 0.0, $$4 = 0, $$5327 = 0, $$6$lcssa = 0, $$6322 = 0, $$7$lcssa = 0, $$7319 = 0, $$8317 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$lcssa316 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0; + var $106 = 0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0, $123 = 0; + var $124 = 0.0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0.0, $137 = 0, $138 = 0, $139 = 0.0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0.0, $143 = 0, $144 = 0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0; + var $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; + var $179 = 0, $18 = 0, $180 = 0, $181 = 0.0, $182 = 0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; + var $197 = 0, $198 = 0.0, $199 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0, $205 = 0, $206 = 0.0, $207 = 0, $208 = 0, $209 = 0.0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0.0, $223 = 0, $224 = 0.0, $225 = 0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.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.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0.0, $266 = 0.0, $267 = 0.0, $268 = 0.0, $269 = 0.0; + var $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0.0; + var $288 = 0.0, $289 = 0.0, $29 = 0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0.0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0.0, $302 = 0.0, $303 = 0.0, $304 = 0.0; + var $305 = 0.0, $306 = 0, $307 = 0.0, $308 = 0.0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0.0, $316 = 0.0, $317 = 0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0, $321 = 0, $322 = 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.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0.0, $fabsf = 0.0, $fabsf296 = 0.0, $not$ = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 368|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(368|0); + $$byval_copy1 = sp + 352|0; + $3 = sp + 160|0; + $4 = sp + 40|0; + $5 = sp + 24|0; + $6 = sp; + $7 = sp + 12|0; + $8 = ((($0)) + 84|0); + ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$8+8>>2]|0; + $9 = ((($0)) + 60|0); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$9+8>>2]|0; + _stbtt__cff_index_get($6,$$byval_copy1,$1); + $10 = ((($6)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($6)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)<($13|0); + if (!($14)) { + $$3 = 0; + STACKTOP = sp;return ($$3|0); + } + $15 = ((($0)) + 116|0); + $16 = ((($0)) + 72|0); + $17 = ((($3)) + 4|0); + $18 = ((($3)) + 8|0); + $19 = ((($3)) + 12|0); + $20 = ((($3)) + 16|0); + $21 = ((($3)) + 20|0); + $22 = ((($3)) + 24|0); + $23 = ((($3)) + 4|0); + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 12|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 32|0); + $31 = ((($3)) + 36|0); + $32 = ((($3)) + 40|0); + $33 = ((($3)) + 44|0); + $34 = ((($3)) + 4|0); + $35 = ((($3)) + 8|0); + $36 = ((($3)) + 12|0); + $37 = ((($3)) + 16|0); + $38 = ((($3)) + 20|0); + $39 = ((($3)) + 24|0); + $40 = ((($3)) + 28|0); + $41 = ((($3)) + 32|0); + $42 = ((($3)) + 4|0); + $43 = ((($3)) + 8|0); + $44 = ((($3)) + 12|0); + $45 = ((($3)) + 16|0); + $46 = ((($3)) + 20|0); + $47 = ((($3)) + 24|0); + $48 = ((($3)) + 28|0); + $49 = ((($3)) + 32|0); + $50 = ((($3)) + 36|0); + $51 = ((($3)) + 40|0); + $$0274335 = 1;$$0276334 = 0;$$0285333 = 0;$$0288332 = 0;$$0294331 = 0; + L4: while(1) { + $52 = (_stbtt__buf_get8($6)|0); + L6: do { + switch ($52<<24>>24) { + case 14: { + label = 63; + break L4; + break; + } + case 20: case 19: { + $53 = ($$0274335|0)==(0); + if ($53) { + $$1277 = $$0276334; + } else { + $54 = (($$0294331|0) / 2)&-1; + $55 = (($$0276334) + ($54))|0; + $$1277 = $55; + } + $56 = (($$1277) + 7)|0; + $57 = (($56|0) / 8)&-1; + _stbtt__buf_skip($6,$57); + $$0274$be = 0;$$0276$be = $$1277;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 23: case 18: case 3: case 1: { + $58 = (($$0294331|0) / 2)&-1; + $59 = (($$0276334) + ($58))|0; + $$0274$be = $$0274335;$$0276$be = $59;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 21: { + $60 = ($$0294331|0)<(2); + if ($60) { + $$3 = 0; + label = 80; + break L4; + } + $61 = (($$0294331) + -2)|0; + $62 = (($3) + ($61<<2)|0); + $63 = +HEAPF32[$62>>2]; + $64 = (($$0294331) + -1)|0; + $65 = (($3) + ($64<<2)|0); + $66 = +HEAPF32[$65>>2]; + _stbtt__csctx_rmove_to($2,$63,$66); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 4: { + $67 = ($$0294331|0)<(1); + if ($67) { + $$3 = 0; + label = 80; + break L4; + } + $68 = (($$0294331) + -1)|0; + $69 = (($3) + ($68<<2)|0); + $70 = +HEAPF32[$69>>2]; + _stbtt__csctx_rmove_to($2,0.0,$70); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 22: { + $71 = ($$0294331|0)<(1); + if ($71) { + $$3 = 0; + label = 80; + break L4; + } + $72 = (($$0294331) + -1)|0; + $73 = (($3) + ($72<<2)|0); + $74 = +HEAPF32[$73>>2]; + _stbtt__csctx_rmove_to($2,$74,0.0); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 5: { + $75 = ($$0294331|0)<(2); + if ($75) { + $$3 = 0; + label = 80; + break L4; + } else { + $$0290329 = 0;$79 = 1; + } + while(1) { + $76 = (($3) + ($$0290329<<2)|0); + $77 = +HEAPF32[$76>>2]; + $78 = (($3) + ($79<<2)|0); + $80 = +HEAPF32[$78>>2]; + _stbtt__csctx_rline_to($2,$77,$80); + $81 = (($$0290329) + 2)|0; + $82 = $81 | 1; + $83 = ($82|0)<($$0294331|0); + if ($83) { + $$0290329 = $81;$79 = $82; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + break; + } + case 7: { + $84 = ($$0294331|0)<(1); + if ($84) { + $$3 = 0; + label = 80; + break L4; + } else { + $$2292 = 0; + label = 20; + } + break; + } + case 6: { + $85 = ($$0294331|0)<(1); + if ($85) { + $$3 = 0; + label = 80; + break L4; + } else { + $$1291 = 0; + label = 18; + } + break; + } + case 31: { + $94 = ($$0294331|0)<(4); + if ($94) { + $$3 = 0; + label = 80; + break L4; + } else { + $$4 = 0; + label = 28; + } + break; + } + case 30: { + $95 = ($$0294331|0)<(4); + if ($95) { + $$3 = 0; + label = 80; + break L4; + } else { + $$3293 = 0; + label = 24; + } + break; + } + case 8: { + $134 = ($$0294331|0)<(6); + if ($134) { + $$3 = 0; + label = 80; + break L4; + } else { + $$5327 = 0;$150 = 5; + } + while(1) { + $135 = (($3) + ($$5327<<2)|0); + $136 = +HEAPF32[$135>>2]; + $137 = $$5327 | 1; + $138 = (($3) + ($137<<2)|0); + $139 = +HEAPF32[$138>>2]; + $140 = (($$5327) + 2)|0; + $141 = (($3) + ($140<<2)|0); + $142 = +HEAPF32[$141>>2]; + $143 = (($$5327) + 3)|0; + $144 = (($3) + ($143<<2)|0); + $145 = +HEAPF32[$144>>2]; + $146 = (($$5327) + 4)|0; + $147 = (($3) + ($146<<2)|0); + $148 = +HEAPF32[$147>>2]; + $149 = (($3) + ($150<<2)|0); + $151 = +HEAPF32[$149>>2]; + _stbtt__csctx_rccurve_to($2,$136,$139,$142,$145,$148,$151); + $152 = (($$5327) + 6)|0; + $153 = (($$5327) + 11)|0; + $154 = ($153|0)<($$0294331|0); + if ($154) { + $$5327 = $152;$150 = $153; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + break; + } + case 24: { + $155 = ($$0294331|0)<(8); + if ($155) { + $$3 = 0; + label = 80; + break L4; + } + $156 = (($$0294331) + -2)|0; + $157 = ($156|0)>(5); + if ($157) { + $$6322 = 0;$161 = 1;$173 = 5; + while(1) { + $158 = (($3) + ($$6322<<2)|0); + $159 = +HEAPF32[$158>>2]; + $160 = (($3) + ($161<<2)|0); + $162 = +HEAPF32[$160>>2]; + $163 = (($$6322) + 2)|0; + $164 = (($3) + ($163<<2)|0); + $165 = +HEAPF32[$164>>2]; + $166 = (($$6322) + 3)|0; + $167 = (($3) + ($166<<2)|0); + $168 = +HEAPF32[$167>>2]; + $169 = (($$6322) + 4)|0; + $170 = (($3) + ($169<<2)|0); + $171 = +HEAPF32[$170>>2]; + $172 = (($3) + ($173<<2)|0); + $174 = +HEAPF32[$172>>2]; + _stbtt__csctx_rccurve_to($2,$159,$162,$165,$168,$171,$174); + $175 = (($$6322) + 6)|0; + $176 = (($$6322) + 11)|0; + $177 = ($176|0)<($156|0); + $178 = $175 | 1; + if ($177) { + $$6322 = $175;$161 = $178;$173 = $176; + } else { + $$6$lcssa = $175;$$lcssa316 = $178; + break; + } + } + } else { + $$6$lcssa = 0;$$lcssa316 = 1; + } + $179 = ($$lcssa316|0)<($$0294331|0); + if (!($179)) { + $$3 = 0; + label = 80; + break L4; + } + $180 = (($3) + ($$6$lcssa<<2)|0); + $181 = +HEAPF32[$180>>2]; + $182 = (($3) + ($$lcssa316<<2)|0); + $183 = +HEAPF32[$182>>2]; + _stbtt__csctx_rline_to($2,$181,$183); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 25: { + $184 = ($$0294331|0)<(8); + if ($184) { + $$3 = 0; + label = 80; + break L4; + } + $185 = (($$0294331) + -6)|0; + $186 = ($185|0)>(1); + if ($186) { + $$7319 = 0;$190 = 1; + while(1) { + $187 = (($3) + ($$7319<<2)|0); + $188 = +HEAPF32[$187>>2]; + $189 = (($3) + ($190<<2)|0); + $191 = +HEAPF32[$189>>2]; + _stbtt__csctx_rline_to($2,$188,$191); + $192 = (($$7319) + 2)|0; + $193 = $192 | 1; + $194 = ($193|0)<($185|0); + if ($194) { + $$7319 = $192;$190 = $193; + } else { + $$7$lcssa = $192;$$lcssa = $193; + break; + } + } + } else { + $$7$lcssa = 0;$$lcssa = 1; + } + $195 = (($$7$lcssa) + 5)|0; + $196 = ($195|0)<($$0294331|0); + if (!($196)) { + $$3 = 0; + label = 80; + break L4; + } + $197 = (($3) + ($$7$lcssa<<2)|0); + $198 = +HEAPF32[$197>>2]; + $199 = (($3) + ($$lcssa<<2)|0); + $200 = +HEAPF32[$199>>2]; + $201 = (($$7$lcssa) + 2)|0; + $202 = (($3) + ($201<<2)|0); + $203 = +HEAPF32[$202>>2]; + $204 = (($$7$lcssa) + 3)|0; + $205 = (($3) + ($204<<2)|0); + $206 = +HEAPF32[$205>>2]; + $207 = (($$7$lcssa) + 4)|0; + $208 = (($3) + ($207<<2)|0); + $209 = +HEAPF32[$208>>2]; + $210 = (($3) + ($195<<2)|0); + $211 = +HEAPF32[$210>>2]; + _stbtt__csctx_rccurve_to($2,$198,$200,$203,$206,$209,$211); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 27: case 26: { + $212 = ($$0294331|0)<(4); + if ($212) { + $$3 = 0; + label = 80; + break L4; + } + $213 = $$0294331 & 1; + $214 = ($213|0)==(0); + $215 = (($213) + 3)|0; + $216 = ($215|0)<($$0294331|0); + if ($216) { + $not$ = $214 ^ 1; + $$ = $not$&1; + $217 = +HEAPF32[$3>>2]; + $$363 = $214 ? 0.0 : $217; + $218 = ($52<<24>>24)==(27); + $$0282318 = $$363;$$8317 = $$;$228 = $215; + while(1) { + $219 = (($$8317) + 2)|0; + $220 = (($$8317) + 1)|0; + $221 = (($3) + ($219<<2)|0); + $222 = +HEAPF32[$221>>2]; + $223 = (($3) + ($$8317<<2)|0); + $224 = +HEAPF32[$223>>2]; + $225 = (($3) + ($220<<2)|0); + $226 = +HEAPF32[$225>>2]; + $227 = (($3) + ($228<<2)|0); + $229 = +HEAPF32[$227>>2]; + if ($218) { + _stbtt__csctx_rccurve_to($2,$224,$$0282318,$226,$222,$229,0.0); + } else { + _stbtt__csctx_rccurve_to($2,$$0282318,$224,$226,$222,0.0,$229); + } + $230 = (($$8317) + 4)|0; + $231 = (($$8317) + 7)|0; + $232 = ($231|0)<($$0294331|0); + if ($232) { + $$0282318 = 0.0;$$8317 = $230;$228 = $231; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + } + break; + } + case 10: { + $233 = ($$0285333|0)==(0); + if ($233) { + $234 = HEAP32[$15>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $$1286 = 1; + label = 54; + } else { + _stbtt__cid_get_glyph_subrs($5,$0,$1); + $$1286 = 1; + label = 54; + } + } else { + $$1286 = $$0285333; + label = 54; + } + break; + } + case 29: { + $$1286 = $$0285333; + label = 54; + break; + } + case 11: { + $247 = ($$0288332|0)<(1); + if ($247) { + $$3 = 0; + label = 80; + break L4; + } + $248 = (($$0288332) + -1)|0; + $249 = (($4) + (($248*12)|0)|0); + ;HEAP32[$6>>2]=HEAP32[$249>>2]|0;HEAP32[$6+4>>2]=HEAP32[$249+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$249+8>>2]|0; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $248;$$0294$be = $$0294331; + label = 73; + break; + } + case 12: { + $250 = (_stbtt__buf_get8($6)|0); + switch ($250<<24>>24) { + case 34: { + $251 = ($$0294331|0)<(7); + if ($251) { + $$3 = 0; + label = 80; + break L4; + } + $252 = +HEAPF32[$3>>2]; + $253 = +HEAPF32[$17>>2]; + $254 = +HEAPF32[$18>>2]; + $255 = +HEAPF32[$19>>2]; + $256 = +HEAPF32[$20>>2]; + $257 = +HEAPF32[$21>>2]; + $258 = +HEAPF32[$22>>2]; + _stbtt__csctx_rccurve_to($2,$252,0.0,$253,$254,$255,0.0); + $259 = -$254; + _stbtt__csctx_rccurve_to($2,$256,0.0,$257,$259,$258,0.0); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 35: { + $260 = ($$0294331|0)<(13); + if ($260) { + $$3 = 0; + label = 80; + break L4; + } + $261 = +HEAPF32[$3>>2]; + $262 = +HEAPF32[$23>>2]; + $263 = +HEAPF32[$24>>2]; + $264 = +HEAPF32[$25>>2]; + $265 = +HEAPF32[$26>>2]; + $266 = +HEAPF32[$27>>2]; + $267 = +HEAPF32[$28>>2]; + $268 = +HEAPF32[$29>>2]; + $269 = +HEAPF32[$30>>2]; + $270 = +HEAPF32[$31>>2]; + $271 = +HEAPF32[$32>>2]; + $272 = +HEAPF32[$33>>2]; + _stbtt__csctx_rccurve_to($2,$261,$262,$263,$264,$265,$266); + _stbtt__csctx_rccurve_to($2,$267,$268,$269,$270,$271,$272); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 36: { + $273 = ($$0294331|0)<(9); + if ($273) { + $$3 = 0; + label = 80; + break L4; + } + $274 = +HEAPF32[$3>>2]; + $275 = +HEAPF32[$34>>2]; + $276 = +HEAPF32[$35>>2]; + $277 = +HEAPF32[$36>>2]; + $278 = +HEAPF32[$37>>2]; + $279 = +HEAPF32[$38>>2]; + $280 = +HEAPF32[$39>>2]; + $281 = +HEAPF32[$40>>2]; + $282 = +HEAPF32[$41>>2]; + _stbtt__csctx_rccurve_to($2,$274,$275,$276,$277,$278,0.0); + $283 = $275 + $277; + $284 = $283 + $281; + $285 = -$284; + _stbtt__csctx_rccurve_to($2,$279,0.0,$280,$281,$282,$285); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 37: { + $286 = ($$0294331|0)<(11); + if ($286) { + $$3 = 0; + label = 80; + break L4; + } + $287 = +HEAPF32[$3>>2]; + $288 = +HEAPF32[$42>>2]; + $289 = +HEAPF32[$43>>2]; + $290 = +HEAPF32[$44>>2]; + $291 = +HEAPF32[$45>>2]; + $292 = +HEAPF32[$46>>2]; + $293 = +HEAPF32[$47>>2]; + $294 = +HEAPF32[$48>>2]; + $295 = +HEAPF32[$49>>2]; + $296 = +HEAPF32[$50>>2]; + $297 = +HEAPF32[$51>>2]; + $298 = $287 + $289; + $299 = $298 + $291; + $300 = $299 + $293; + $301 = $300 + $295; + $302 = $288 + $290; + $303 = $302 + $292; + $304 = $303 + $294; + $305 = $304 + $296; + $fabsf = (+Math_abs((+$301))); + $fabsf296 = (+Math_abs((+$305))); + $306 = $fabsf > $fabsf296; + $307 = -$305; + $308 = -$301; + $$0280 = $306 ? $297 : $308; + $$0279 = $306 ? $307 : $297; + _stbtt__csctx_rccurve_to($2,$287,$288,$289,$290,$291,$292); + _stbtt__csctx_rccurve_to($2,$293,$294,$295,$296,$$0280,$$0279); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + default: { + $$3 = 0; + label = 80; + break L4; + } + } + break; + } + case -1: { + label = 76; + break; + } + case 28: { + label = 77; + break; + } + default: { + $312 = ($52&255)<(32); + $313 = ($52<<24>>24)==(-1); + $or$cond3 = $312 | $313; + if ($or$cond3) { + $$3 = 0; + label = 80; + break L4; + } + if ($313) { + label = 76; + } else { + label = 77; + } + } + } + } while(0); + if ((label|0) == 54) { + label = 0; + $236 = ($$0294331|0)<(1); + if ($236) { + $$3 = 0; + label = 80; + break; + } + $237 = (($$0294331) + -1)|0; + $238 = (($3) + ($237<<2)|0); + $239 = +HEAPF32[$238>>2]; + $240 = (~~(($239))); + $241 = ($$0288332|0)>(9); + if ($241) { + $$3 = 0; + label = 80; + break; + } + $242 = (($$0288332) + 1)|0; + $243 = (($4) + (($$0288332*12)|0)|0); + ;HEAP32[$243>>2]=HEAP32[$6>>2]|0;HEAP32[$243+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$243+8>>2]=HEAP32[$6+8>>2]|0; + $244 = ($52<<24>>24)==(10); + if ($244) { + ;HEAP32[$7>>2]=HEAP32[$5>>2]|0;HEAP32[$7+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$5+8>>2]|0; + } else { + ;HEAP32[$7>>2]=HEAP32[$16>>2]|0;HEAP32[$7+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$16+8>>2]|0; + } + ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$7+8>>2]|0; + _stbtt__get_subr($6,$$byval_copy1,$240); + $245 = HEAP32[$12>>2]|0; + $246 = ($245|0)==(0); + if ($246) { + $$3 = 0; + label = 80; + break; + } + HEAP32[$10>>2] = 0; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$1286;$$0288$be = $242;$$0294$be = $237; + label = 73; + } + else if ((label|0) == 76) { + label = 0; + $314 = (_stbtt__buf_get($6,4)|0); + $315 = (+($314>>>0)); + $316 = $315 * 1.52587890625E-5; + $$1283 = $316; + label = 78; + } + else if ((label|0) == 77) { + label = 0; + _stbtt__buf_skip($6,-1); + $317 = (_stbtt__cff_int($6)|0); + $318 = $317&65535; + $319 = (+($318<<16>>16)); + $$1283 = $319; + label = 78; + } + if ((label|0) == 78) { + label = 0; + $320 = ($$0294331|0)>(47); + if ($320) { + $$3 = 0; + label = 80; + break; + } + $321 = (($$0294331) + 1)|0; + $322 = (($3) + ($$0294331<<2)|0); + HEAPF32[$322>>2] = $$1283; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = $321; + label = 73; + } + while(1) { + if ((label|0) == 18) { + label = 0; + $86 = ($$1291|0)<($$0294331|0); + if (!($86)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $87 = (($3) + ($$1291<<2)|0); + $88 = +HEAPF32[$87>>2]; + _stbtt__csctx_rline_to($2,$88,0.0); + $89 = (($$1291) + 1)|0; + $$2292 = $89; + label = 20; + continue; + } + else if ((label|0) == 20) { + label = 0; + $90 = ($$2292|0)<($$0294331|0); + if (!($90)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $91 = (($3) + ($$2292<<2)|0); + $92 = +HEAPF32[$91>>2]; + _stbtt__csctx_rline_to($2,0.0,$92); + $93 = (($$2292) + 1)|0; + $$1291 = $93; + label = 18; + continue; + } + else if ((label|0) == 24) { + label = 0; + $96 = (($$3293) + 3)|0; + $97 = ($96|0)<($$0294331|0); + if (!($97)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $98 = (($3) + ($$3293<<2)|0); + $99 = +HEAPF32[$98>>2]; + $100 = (($$3293) + 1)|0; + $101 = (($3) + ($100<<2)|0); + $102 = +HEAPF32[$101>>2]; + $103 = (($$3293) + 2)|0; + $104 = (($3) + ($103<<2)|0); + $105 = +HEAPF32[$104>>2]; + $106 = (($3) + ($96<<2)|0); + $107 = +HEAPF32[$106>>2]; + $108 = (($$0294331) - ($$3293))|0; + $109 = ($108|0)==(5); + if ($109) { + $110 = (($$3293) + 4)|0; + $111 = (($3) + ($110<<2)|0); + $112 = +HEAPF32[$111>>2]; + $113 = $112; + } else { + $113 = 0.0; + } + _stbtt__csctx_rccurve_to($2,0.0,$99,$102,$105,$107,$113); + $114 = (($$3293) + 4)|0; + $$4 = $114; + label = 28; + continue; + } + else if ((label|0) == 28) { + label = 0; + $115 = (($$4) + 3)|0; + $116 = ($115|0)<($$0294331|0); + if (!($116)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $117 = (($3) + ($$4<<2)|0); + $118 = +HEAPF32[$117>>2]; + $119 = (($$4) + 1)|0; + $120 = (($3) + ($119<<2)|0); + $121 = +HEAPF32[$120>>2]; + $122 = (($$4) + 2)|0; + $123 = (($3) + ($122<<2)|0); + $124 = +HEAPF32[$123>>2]; + $125 = (($$0294331) - ($$4))|0; + $126 = ($125|0)==(5); + if ($126) { + $127 = (($$4) + 4)|0; + $128 = (($3) + ($127<<2)|0); + $129 = +HEAPF32[$128>>2]; + $132 = $129; + } else { + $132 = 0.0; + } + $130 = (($3) + ($115<<2)|0); + $131 = +HEAPF32[$130>>2]; + _stbtt__csctx_rccurve_to($2,$118,0.0,$121,$124,$132,$131); + $133 = (($$4) + 4)|0; + $$3293 = $133; + label = 24; + continue; + } + else if ((label|0) == 73) { + label = 0; + $309 = HEAP32[$10>>2]|0; + $310 = HEAP32[$12>>2]|0; + $311 = ($309|0)<($310|0); + if ($311) { + $$0274335 = $$0274$be;$$0276334 = $$0276$be;$$0285333 = $$0285$be;$$0288332 = $$0288$be;$$0294331 = $$0294$be; + continue L4; + } else { + $$3 = 0; + label = 80; + break L4; + } + } + } + } + if ((label|0) == 63) { + _stbtt__csctx_close_shape($2); + $$3 = 1; + STACKTOP = sp;return ($$3|0); + } + else if ((label|0) == 80) { + STACKTOP = sp;return ($$3|0); + } + return (0)|0; +} +function _stbtt__cff_index_get($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$off = 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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($1,0); + $3 = (_stbtt__buf_get($1,2)|0); + $4 = (_stbtt__buf_get8($1)|0); + $5 = $4&255; + $6 = ($2|0)>(-1); + $7 = ($3|0)>($2|0); + $or$cond = $6 & $7; + if (!($or$cond)) { + ___assert_fail((15705|0),(15042|0),1118,(15725|0)); + // unreachable; + } + $$off = (($4) + -1)<<24>>24; + $8 = ($$off&255)<(4); + if ($8) { + $9 = Math_imul($5, $2)|0; + _stbtt__buf_skip($1,$9); + $10 = (_stbtt__buf_get($1,$5)|0); + $11 = (_stbtt__buf_get($1,$5)|0); + $12 = (($3) + 1)|0; + $13 = Math_imul($5, $12)|0; + $14 = (($13) + 2)|0; + $15 = (($14) + ($10))|0; + $16 = (($11) - ($10))|0; + _stbtt__buf_range($0,$1,$15,$16); + return; + } else { + ___assert_fail((15622|0),(15042|0),1119,(15725|0)); + // unreachable; + } +} +function _stbtt__buf_get8($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; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)<($4|0); + if (!($5)) { + $$0 = 0; + return ($$0|0); + } + $6 = (($2) + 1)|0; + $7 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $6; + $8 = (($7) + ($2)|0); + $9 = HEAP8[$8>>0]|0; + $$0 = $9; + return ($$0|0); +} +function _stbtt__buf_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = (($3) + ($1))|0; + _stbtt__buf_seek($0,$4); + return; +} +function _stbtt__csctx_rmove_to($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__csctx_close_shape($0); + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 + $1; + HEAPF32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $5; + $7 = ((($0)) + 20|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $2; + HEAPF32[$7>>2] = $9; + $10 = ((($0)) + 12|0); + HEAPF32[$10>>2] = $9; + $11 = +HEAPF32[$3>>2]; + $12 = (~~(($11))); + $13 = (~~(($9))); + _stbtt__csctx_v($0,1,$12,$13,0,0,0,0); + return; +} +function _stbtt__csctx_rline_to($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 + $1; + HEAPF32[$3>>2] = $5; + $6 = ((($0)) + 20|0); + $7 = +HEAPF32[$6>>2]; + $8 = $7 + $2; + HEAPF32[$6>>2] = $8; + $9 = (~~(($5))); + $10 = (~~(($8))); + _stbtt__csctx_v($0,2,$9,$10,0,0,0,0); + return; +} +function _stbtt__csctx_rccurve_to($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ((($0)) + 16|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $1; + $10 = ((($0)) + 20|0); + $11 = +HEAPF32[$10>>2]; + $12 = $11 + $2; + $13 = $9 + $3; + $14 = $12 + $4; + $15 = $13 + $5; + HEAPF32[$7>>2] = $15; + $16 = $14 + $6; + HEAPF32[$10>>2] = $16; + $17 = (~~(($15))); + $18 = (~~(($16))); + $19 = (~~(($9))); + $20 = (~~(($12))); + $21 = (~~(($13))); + $22 = (~~(($14))); + _stbtt__csctx_v($0,4,$17,$18,$19,$20,$21,$22); + return; +} +function _stbtt__cid_get_glyph_subrs($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$02931 = 0, $$03034 = 0, $$035 = 0, $$byval_copy1 = 0, $$byval_copy2 = 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; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 36|0; + $$byval_copy1 = sp + 24|0; + $3 = sp; + $4 = sp + 12|0; + $5 = ((($1)) + 108|0); + ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$5+8>>2]|0; + _stbtt__buf_seek($3,0); + $6 = (_stbtt__buf_get8($3)|0); + L1: do { + switch ($6<<24>>24) { + case 0: { + _stbtt__buf_skip($3,$2); + $7 = (_stbtt__buf_get8($3)|0); + $8 = $7&255; + $$02931 = $8; + break; + } + case 3: { + $9 = (_stbtt__buf_get($3,2)|0); + $10 = (_stbtt__buf_get($3,2)|0); + $11 = ($9|0)>(0); + if ($11) { + $$03034 = $10;$$035 = 0; + while(1) { + $14 = (_stbtt__buf_get8($3)|0); + $15 = (_stbtt__buf_get($3,2)|0); + $16 = ($$03034|0)<=($2|0); + $17 = ($15|0)>($2|0); + $or$cond = $16 & $17; + $13 = (($$035) + 1)|0; + if ($or$cond) { + break; + } + $12 = ($13|0)<($9|0); + if ($12) { + $$03034 = $15;$$035 = $13; + } else { + label = 6; + break L1; + } + } + $18 = $14&255; + $$02931 = $18; + } else { + label = 6; + } + break; + } + default: { + label = 6; + } + } + } while(0); + if ((label|0) == 6) { + _stbtt__new_buf($$byval_copy2,0,0); + $$02931 = -1; + } + $19 = ((($1)) + 48|0); + $20 = ((($1)) + 96|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$20+8>>2]|0; + _stbtt__cff_index_get($4,$$byval_copy2,$$02931); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$19+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; + _stbtt__get_subrs($0,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _stbtt__get_subr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + $3 = (_stbtt__cff_index_count($1)|0); + $4 = ($3|0)>(33899); + $5 = ($3|0)>(1239); + $$ = $5 ? 1131 : 107; + $$0 = $4 ? 32768 : $$; + $6 = (($$0) + ($2))|0; + $7 = ($6|0)>(-1); + $8 = ($6|0)<($3|0); + $or$cond = $7 & $8; + if ($or$cond) { + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; + _stbtt__cff_index_get($0,$$byval_copy,$6); + STACKTOP = sp;return; + } else { + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; + } +} +function _stbtt__csctx_close_shape($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = +HEAPF32[$1>>2]; + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 != $4; + $6 = ((($0)) + 12|0); + $7 = +HEAPF32[$6>>2]; + if (!($5)) { + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 != $9; + if (!($10)) { + return; + } + } + $11 = (~~(($2))); + $12 = (~~(($7))); + _stbtt__csctx_v($0,2,$11,$12,0,0,0,0); + return; +} +function _stbtt__buf_get($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01011 = 0, $$012 = 0, $$off = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $$off = (($1) + -1)|0; + $2 = ($$off>>>0)<(4); + if ($2) { + $$01011 = 0;$$012 = 0; + } else { + ___assert_fail((15517|0),(15042|0),1014,(15534|0)); + // unreachable; + } + while(1) { + $3 = $$01011 << 8; + $4 = (_stbtt__buf_get8($0)|0); + $5 = $4&255; + $6 = $5 | $3; + $7 = (($$012) + 1)|0; + $exitcond = ($7|0)==($1|0); + if ($exitcond) { + break; + } else { + $$01011 = $6;$$012 = $7; + } + } + return ($6|0); +} +function _stbtt__cff_int($0) { + $0 = $0|0; + var $$0 = 0, $$off = 0, $$off19 = 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; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbtt__buf_get8($0)|0); + $2 = $1&255; + $$off = (($1) + -32)<<24>>24; + $3 = ($$off&255)<(215); + if ($3) { + $4 = (($2) + -139)|0; + $$0 = $4; + return ($$0|0); + } + $$off19 = (($1) + 9)<<24>>24; + $5 = ($$off19&255)<(4); + if ($5) { + $6 = $2 << 8; + $7 = (($6) + -63232)|0; + $8 = (_stbtt__buf_get8($0)|0); + $9 = $8&255; + $10 = $9 | $7; + $11 = (($10) + 108)|0; + $$0 = $11; + return ($$0|0); + } + $12 = ($1&255)>(250); + $13 = ($1<<24>>24)!=(-1); + $or$cond5 = $12 & $13; + if ($or$cond5) { + $14 = (251 - ($2))|0; + $15 = $14 << 8; + $16 = (_stbtt__buf_get8($0)|0); + $17 = $16&255; + $18 = (($15) + -108)|0; + $19 = (($18) - ($17))|0; + $$0 = $19; + return ($$0|0); + } + switch ($1<<24>>24) { + case 28: { + $20 = (_stbtt__buf_get($0,2)|0); + $$0 = $20; + return ($$0|0); + break; + } + case 29: { + $21 = (_stbtt__buf_get($0,4)|0); + $$0 = $21; + return ($$0|0); + break; + } + default: { + ___assert_fail((17086|0),(15042|0),1064,(15502|0)); + // unreachable; + } + } + return (0)|0; +} +function _stbtt__csctx_v($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 $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, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $8 = HEAP32[$0>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $11 = ((($0)) + 40|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + (($14*14)|0)|0); + _stbtt_setvertex($15,$1,$2,$3,$4,$5); + $16 = $6&65535; + $17 = HEAP32[$11>>2]|0; + $18 = HEAP32[$13>>2]|0; + $19 = (((($17) + (($18*14)|0)|0)) + 8|0); + HEAP16[$19>>1] = $16; + $20 = $7&65535; + $21 = HEAP32[$11>>2]|0; + $22 = HEAP32[$13>>2]|0; + $23 = (((($21) + (($22*14)|0)|0)) + 10|0); + HEAP16[$23>>1] = $20; + } else { + _stbtt__track_vertex($0,$2,$3); + $10 = ($1<<24>>24)==(4); + if ($10) { + _stbtt__track_vertex($0,$4,$5); + _stbtt__track_vertex($0,$6,$7); + } + } + $24 = ((($0)) + 44|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$24>>2] = $26; + return; +} +function _stbtt__track_vertex($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, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)<($1|0); + if ($5) { + label = 3; + } else { + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + label = 3; + } + } + if ((label|0) == 3) { + HEAP32[$3>>2] = $1; + } + $9 = ((($0)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)<($2|0); + if ($11) { + label = 6; + } else { + $12 = ((($0)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + label = 6; + } + } + if ((label|0) == 6) { + HEAP32[$9>>2] = $2; + } + $15 = ((($0)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)>($1|0); + if ($17) { + label = 9; + } else { + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if ($20) { + label = 9; + } + } + if ((label|0) == 9) { + HEAP32[$15>>2] = $1; + } + $21 = ((($0)) + 32|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)>($2|0); + if (!($23)) { + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = ((($0)) + 4|0); + HEAP32[$27>>2] = 1; + return; + } + } + HEAP32[$21>>2] = $2; + $27 = ((($0)) + 4|0); + HEAP32[$27>>2] = 1; + return; +} +function _stbtt_setvertex($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 12|0); + HEAP8[$6>>0] = $1; + $7 = $2&65535; + HEAP16[$0>>1] = $7; + $8 = $3&65535; + $9 = ((($0)) + 2|0); + HEAP16[$9>>1] = $8; + $10 = $4&65535; + $11 = ((($0)) + 4|0); + HEAP16[$11>>1] = $10; + $12 = $5&65535; + $13 = ((($0)) + 6|0); + HEAP16[$13>>1] = $12; + return; +} +function _stbtt__cff_index_count($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($0,0); + $1 = (_stbtt__buf_get($0,2)|0); + return ($1|0); +} +function _stbtt__new_buf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2>>>0)<(1073741824); + if ($3) { + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 0; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; + return; + } else { + ___assert_fail((15549|0),(15042|0),1023,(15567|0)); + // unreachable; + } +} +function _stbtt__buf_seek($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + $5 = ($1|0)<(0); + $or$cond = $5 | $4; + if ($or$cond) { + ___assert_fail((15582|0),(15042|0),1001,(15606|0)); + // unreachable; + } else { + $6 = ((($0)) + 4|0); + HEAP32[$6>>2] = $1; + return; + } +} +function _stbtt__get_subrs($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, $3 = 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); + $3 = sp + 20|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = 0; + $6 = $4; + $7 = $6; + HEAP32[$7>>2] = 0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = 0; + _stbtt__dict_get_ints($2,18,2,$4); + $10 = ((($4)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0); + if (!($12)) { + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)==(0); + if (!($14)) { + _stbtt__buf_range($5,$1,$11,$13); + _stbtt__dict_get_ints($5,19,1,$3); + $15 = HEAP32[$3>>2]|0; + $16 = ($15|0)==(0); + if ($16) { + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; + } else { + $17 = HEAP32[$10>>2]|0; + $18 = (($17) + ($15))|0; + _stbtt__buf_seek($1,$18); + _stbtt__cff_get_index($0,$1); + STACKTOP = sp;return; + } + } + } + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; +} +function _stbtt__dict_get_ints($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$07 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 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); + $4 = sp; + _stbtt__dict_get($4,$0,$1); + $5 = ((($4)) + 4|0); + $6 = ($2|0)>(0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = ((($4)) + 8|0); + $$07 = 0; + while(1) { + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$7>>2]|0; + $10 = ($8|0)<($9|0); + if (!($10)) { + label = 5; + break; + } + $11 = (_stbtt__cff_int($4)|0); + $12 = (($3) + ($$07<<2)|0); + HEAP32[$12>>2] = $11; + $13 = (($$07) + 1)|0; + $14 = ($13|0)<($2|0); + if ($14) { + $$07 = $13; + } else { + label = 5; + break; + } + } + if ((label|0) == 5) { + STACKTOP = sp;return; + } +} +function _stbtt__buf_range($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, $4 = 0, $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; + _stbtt__new_buf($4,0,0); + $5 = $3 | $2; + $6 = ($5|0)<(0); + if (!($6)) { + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)<($2|0); + $10 = (($8) - ($2))|0; + $11 = ($10|0)<($3|0); + $or$cond = $9 | $11; + if (!($or$cond)) { + $12 = HEAP32[$1>>2]|0; + $13 = (($12) + ($2)|0); + HEAP32[$4>>2] = $13; + $14 = ((($4)) + 8|0); + HEAP32[$14>>2] = $3; + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; + STACKTOP = sp;return; + } + } + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; + STACKTOP = sp;return; +} +function _stbtt__cff_get_index($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$off = 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; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbtt__buf_get($1,2)|0); + $5 = ($4|0)==(0); + if ($5) { + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - ($3))|0; + _stbtt__buf_range($0,$1,$3,$13); + return; + } + $6 = (_stbtt__buf_get8($1)|0); + $7 = $6&255; + $$off = (($6) + -1)<<24>>24; + $8 = ($$off&255)<(4); + if (!($8)) { + ___assert_fail((15622|0),(15042|0),1049,(15651|0)); + // unreachable; + } + $9 = Math_imul($7, $4)|0; + _stbtt__buf_skip($1,$9); + $10 = (_stbtt__buf_get($1,$7)|0); + $11 = (($10) + -1)|0; + _stbtt__buf_skip($1,$11); + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - ($3))|0; + _stbtt__buf_range($0,$1,$3,$13); + return; +} +function _stbtt__dict_get($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$021 = 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; + _stbtt__buf_seek($1,0); + $3 = ((($1)) + 4|0); + $4 = ((($1)) + 8|0); + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$4>>2]|0; + $7 = ($5|0)<($6|0); + if (!($7)) { + label = 9; + break; + } + $8 = (_stbtt__buf_peek8($1)|0); + $9 = ($8&255)>(27); + if ($9) { + while(1) { + _stbtt__cff_skip_operand($1); + $10 = (_stbtt__buf_peek8($1)|0); + $11 = ($10&255)>(27); + if (!($11)) { + break; + } + } + } + $12 = HEAP32[$3>>2]|0; + $13 = (_stbtt__buf_get8($1)|0); + $14 = $13&255; + $15 = ($13<<24>>24)==(12); + if ($15) { + $16 = (_stbtt__buf_get8($1)|0); + $17 = $16&255; + $18 = $17 | 256; + $$021 = $18; + } else { + $$021 = $14; + } + $19 = ($$021|0)==($2|0); + if ($19) { + label = 8; + break; + } + } + if ((label|0) == 8) { + $20 = (($12) - ($5))|0; + _stbtt__buf_range($0,$1,$5,$20); + return; + } + else if ((label|0) == 9) { + _stbtt__buf_range($0,$1,0,0); + return; + } +} +function _stbtt__buf_peek8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)<($4|0); + if (!($5)) { + $$0 = 0; + return ($$0|0); + } + $6 = HEAP32[$0>>2]|0; + $7 = (($6) + ($2)|0); + $8 = HEAP8[$7>>0]|0; + $$0 = $8; + return ($$0|0); +} +function _stbtt__cff_skip_operand($0) { + $0 = $0|0; + var $$mask = 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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbtt__buf_peek8($0)|0); + $2 = ($1&255)>(27); + if (!($2)) { + ___assert_fail((15672|0),(15042|0),1070,(15681|0)); + // unreachable; + } + $3 = ($1<<24>>24)==(30); + if (!($3)) { + (_stbtt__cff_int($0)|0); + return; + } + _stbtt__buf_skip($0,1); + $4 = ((($0)) + 4|0); + $5 = ((($0)) + 8|0); + while(1) { + $6 = HEAP32[$4>>2]|0; + $7 = HEAP32[$5>>2]|0; + $8 = ($6|0)<($7|0); + if (!($8)) { + label = 8; + break; + } + $9 = (_stbtt__buf_get8($0)|0); + $10 = $9&255; + $11 = $10 & 15; + $12 = ($11|0)==(15); + $$mask = $10 & 240; + $13 = ($$mask|0)==(240); + $or$cond = $12 | $13; + if ($or$cond) { + label = 8; + break; + } + } + if ((label|0) == 8) { + return; + } +} +function _stbtt__GetGlyphShapeTT($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0348453 = 0, $$0353439 = 0, $$0361449 = 0, $$0363450 = 0, $$0364448 = 0, $$0366447 = 0, $$0372451 = 0, $$0377437 = 0, $$0379436 = 0, $$0381446 = 0, $$0387435 = 0, $$0390434 = 0, $$0393433 = 0, $$0396432 = 0, $$0399431 = 0, $$0401430 = 0, $$0403440 = 0, $$0405443 = 0, $$0407429 = 0, $$0409428 = 0; + var $$1349 = 0, $$1354 = 0, $$1362 = 0, $$1365 = 0, $$1367445 = 0, $$1378 = 0, $$1380 = 0, $$1382 = 0, $$1388 = 0, $$1391 = 0, $$1394 = 0, $$1397 = 0, $$1400 = 0, $$1402 = 0, $$1404 = 0, $$1406 = 0, $$1408 = 0, $$1410 = 0, $$2368442 = 0, $$2374 = 0; + var $$2383444 = 0, $$2389 = 0, $$2392 = 0, $$2395 = 0, $$2398 = 0, $$3356 = 0, $$3369438 = 0, $$3384 = 0, $$4 = 0, $$4352 = 0, $$4370 = 0, $$4385441 = 0, $$5371 = 0, $$5386 = 0, $$5452 = 0, $$6 = 0, $$9 = 0, $$sink = 0, $$sroa$0$0 = 0.0, $$sroa$10$0 = 0.0; + var $$sroa$17$0 = 0.0, $$sroa$24$0 = 0.0, $$sroa$31$0 = 0.0, $$sroa$35$0 = 0.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.0, $155 = 0, $156 = 0, $157 = 0.0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0.0, $168 = 0.0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0, $186 = 0; + var $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0, $194 = 0, $195 = 0.0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0.0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0, $22 = 0, $220 = 0.0, $221 = 0.0, $222 = 0.0; + var $223 = 0.0, $224 = 0.0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0.0, $236 = 0.0, $237 = 0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0; + var $241 = 0.0, $242 = 0.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, $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, $exitcond = 0, $exitcond458 = 0, $exitcond459 = 0, $exitcond460 = 0, $sext = 0, $sext412 = 0, $sqrtf = 0.0, $sqrtf411 = 0.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|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_stbtt__GetGlyfOffset($0,$1)|0); + HEAP32[$2>>2] = 0; + $7 = ($6|0)<(0); + if ($7) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $8 = (($5) + ($6)|0); + $9 = (_ttSHORT($8)|0); + $10 = ($9<<16>>16)>(0); + L4: do { + if ($10) { + $11 = $9 << 16 >> 16; + $12 = ((($8)) + 10|0); + $13 = $11 << 1; + $14 = (($12) + ($13)|0); + $15 = (_ttUSHORT($14)|0); + $16 = ((($14)) + -2|0); + $17 = (_ttUSHORT($16)|0); + $18 = $17&65535; + $19 = $13 | 1; + $20 = (($19) + ($18))|0; + $21 = ($20*14)|0; + $22 = (_malloc($21)|0); + $23 = ($22|0)==(0|0); + if ($23) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $24 = ((($14)) + 2|0); + $25 = $15&65535; + $26 = (($24) + ($25)|0); + $$0361449 = 0;$$0364448 = 0;$$0366447 = 0;$$0381446 = $26; + while(1) { + $27 = ($$0364448<<24>>24)==(0); + if ($27) { + $28 = ((($$0381446)) + 1|0); + $29 = HEAP8[$$0381446>>0]|0; + $30 = $29 & 8; + $31 = ($30<<24>>24)==(0); + if ($31) { + $$1362 = $29;$$1365 = 0;$$1382 = $28; + } else { + $32 = ((($$0381446)) + 2|0); + $33 = HEAP8[$28>>0]|0; + $$1362 = $29;$$1365 = $33;$$1382 = $32; + } + } else { + $34 = (($$0364448) + -1)<<24>>24; + $$1362 = $$0361449;$$1365 = $34;$$1382 = $$0381446; + } + $35 = (($$0366447) + ($13))|0; + $36 = (((($22) + (($35*14)|0)|0)) + 12|0); + HEAP8[$36>>0] = $$1362; + $37 = (($$0366447) + 1)|0; + $exitcond459 = ($$0366447|0)==($18|0); + if ($exitcond459) { + $$0405443 = 0;$$1367445 = 0;$$2383444 = $$1382; + break; + } else { + $$0361449 = $$1362;$$0364448 = $$1365;$$0366447 = $37;$$0381446 = $$1382; + } + } + while(1) { + $38 = (($$1367445) + ($13))|0; + $39 = (((($22) + (($38*14)|0)|0)) + 12|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = $41 & 2; + $43 = ($42|0)==(0); + $44 = $41 & 16; + $45 = ($44|0)!=(0); + if ($43) { + if ($45) { + $$1406 = $$0405443;$$3384 = $$2383444; + } else { + $52 = HEAP8[$$2383444>>0]|0; + $53 = $52&255; + $54 = $53 << 8; + $55 = ((($$2383444)) + 1|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = $54 | $57; + $sext412 = $58 << 16; + $59 = $sext412 >> 16; + $60 = (($59) + ($$0405443))|0; + $61 = ((($$2383444)) + 2|0); + $$1406 = $60;$$3384 = $61; + } + } else { + $46 = ((($$2383444)) + 1|0); + $47 = HEAP8[$$2383444>>0]|0; + $48 = $47&255; + $49 = (0 - ($48))|0; + $50 = $45 ? $48 : $49; + $51 = (($50) + ($$0405443))|0; + $$1406 = $51;$$3384 = $46; + } + $62 = $$1406&65535; + $63 = (($22) + (($38*14)|0)|0); + HEAP16[$63>>1] = $62; + $64 = (($$1367445) + 1)|0; + $exitcond458 = ($$1367445|0)==($18|0); + if ($exitcond458) { + $$0403440 = 0;$$2368442 = 0;$$4385441 = $$3384; + break; + } else { + $$0405443 = $$1406;$$1367445 = $64;$$2383444 = $$3384; + } + } + while(1) { + $65 = (($$2368442) + ($13))|0; + $66 = (((($22) + (($65*14)|0)|0)) + 12|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $68 & 4; + $70 = ($69|0)==(0); + $71 = $68 & 32; + $72 = ($71|0)!=(0); + if ($70) { + if ($72) { + $$1404 = $$0403440;$$5386 = $$4385441; + } else { + $79 = HEAP8[$$4385441>>0]|0; + $80 = $79&255; + $81 = $80 << 8; + $82 = ((($$4385441)) + 1|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = $81 | $84; + $sext = $85 << 16; + $86 = $sext >> 16; + $87 = (($86) + ($$0403440))|0; + $88 = ((($$4385441)) + 2|0); + $$1404 = $87;$$5386 = $88; + } + } else { + $73 = ((($$4385441)) + 1|0); + $74 = HEAP8[$$4385441>>0]|0; + $75 = $74&255; + $76 = (0 - ($75))|0; + $77 = $72 ? $75 : $76; + $78 = (($77) + ($$0403440))|0; + $$1404 = $78;$$5386 = $73; + } + $89 = $$1404&65535; + $90 = (((($22) + (($65*14)|0)|0)) + 2|0); + HEAP16[$90>>1] = $89; + $91 = (($$2368442) + 1)|0; + $exitcond = ($$2368442|0)==($18|0); + if ($exitcond) { + $$0353439 = 0;$$0377437 = 0;$$0379436 = 0;$$0387435 = 0;$$0390434 = 0;$$0393433 = 0;$$0396432 = 0;$$0399431 = 0;$$0401430 = 0;$$0407429 = 0;$$0409428 = 0;$$3369438 = 0; + break; + } else { + $$0403440 = $$1404;$$2368442 = $91;$$4385441 = $$5386; + } + } + while(1) { + $92 = (($$3369438) + ($13))|0; + $93 = (((($22) + (($92*14)|0)|0)) + 12|0); + $94 = HEAP8[$93>>0]|0; + $95 = (($22) + (($92*14)|0)|0); + $96 = HEAP16[$95>>1]|0; + $97 = $96 << 16 >> 16; + $98 = (((($22) + (($92*14)|0)|0)) + 2|0); + $99 = HEAP16[$98>>1]|0; + $100 = $99 << 16 >> 16; + $101 = ($$0379436|0)==($$3369438|0); + $102 = $94 & 1; + $103 = ($102<<24>>24)!=(0); + do { + if ($101) { + $104 = ($$3369438|0)==(0); + if ($104) { + $$1354 = $$0353439; + } else { + $105 = (_stbtt__close_shape($22,$$0353439,$$0409428,$$0407429,$$0396432,$$0393433,$$0390434,$$0387435,$$0401430,$$0399431)|0); + $$1354 = $105; + } + $106 = $103 ^ 1; + $107 = $106&1; + do { + if ($103) { + $$1388 = $$0387435;$$1391 = $$0390434;$$1394 = $100;$$1397 = $97;$$4370 = $$3369438; + } else { + $108 = (($92) + 1)|0; + $109 = (((($22) + (($108*14)|0)|0)) + 12|0); + $110 = HEAP8[$109>>0]|0; + $111 = $110 & 1; + $112 = ($111<<24>>24)==(0); + $113 = (((($22) + (($108*14)|0)|0)) + 2|0); + $114 = HEAP16[$113>>1]|0; + $115 = (($22) + (($108*14)|0)|0); + $116 = HEAP16[$115>>1]|0; + $117 = $114 << 16 >> 16; + $118 = $116 << 16 >> 16; + if ($112) { + $119 = (($118) + ($97))|0; + $120 = $119 >> 1; + $121 = (($117) + ($100))|0; + $122 = $121 >> 1; + $$1388 = $100;$$1391 = $97;$$1394 = $122;$$1397 = $120;$$4370 = $$3369438; + break; + } else { + $123 = (($$3369438) + 1)|0; + $$1388 = $100;$$1391 = $97;$$1394 = $117;$$1397 = $118;$$4370 = $123; + break; + } + } + } while(0); + $124 = (($$1354) + 1)|0; + $125 = (($22) + (($$1354*14)|0)|0); + _stbtt_setvertex($125,1,$$1397,$$1394,0,0); + $126 = $$0377437 << 1; + $127 = (($12) + ($126)|0); + $128 = (_ttUSHORT($127)|0); + $129 = $128&65535; + $130 = (($129) + 1)|0; + $131 = (($$0377437) + 1)|0; + $$1378 = $131;$$1380 = $130;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $107;$$1410 = 0;$$2389 = $$1388;$$2392 = $$1391;$$2395 = $$1394;$$2398 = $$1397;$$3356 = $124;$$5371 = $$4370; + } else { + $132 = ($$0409428|0)!=(0); + $133 = (($$0353439) + 1)|0; + $134 = (($22) + (($$0353439*14)|0)|0); + if (!($103)) { + if (!($132)) { + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $100;$$1402 = $97;$$1408 = $$0407429;$$1410 = 1;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $$0353439;$$5371 = $$3369438; + break; + } + $135 = (($100) + ($$0399431))|0; + $136 = $135 >> 1; + $137 = (($97) + ($$0401430))|0; + $138 = $137 >> 1; + _stbtt_setvertex($134,3,$138,$136,$$0401430,$$0399431); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $100;$$1402 = $97;$$1408 = $$0407429;$$1410 = 1;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } + if ($132) { + _stbtt_setvertex($134,3,$97,$100,$$0401430,$$0399431); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $$0407429;$$1410 = 0;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } else { + _stbtt_setvertex($134,2,$97,$100,0,0); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $$0407429;$$1410 = 0;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } + } + } while(0); + $139 = (($$5371) + 1)|0; + $140 = ($$5371|0)<($18|0); + if ($140) { + $$0353439 = $$3356;$$0377437 = $$1378;$$0379436 = $$1380;$$0387435 = $$2389;$$0390434 = $$2392;$$0393433 = $$2395;$$0396432 = $$2398;$$0399431 = $$1400;$$0401430 = $$1402;$$0407429 = $$1408;$$0409428 = $$1410;$$3369438 = $139; + } else { + break; + } + } + $141 = (_stbtt__close_shape($22,$$3356,$$1410,$$1408,$$2398,$$2395,$$2392,$$2389,$$1402,$$1400)|0); + $$4352 = $22;$$9 = $141; + } else { + $142 = ($9<<16>>16)==(-1); + if (!($142)) { + $264 = ($9<<16>>16)<(0); + if (!($264)) { + $$4352 = 0;$$9 = 0; + break; + } + ___assert_fail((17086|0),(15042|0),1724,(15819|0)); + // unreachable; + } + $143 = ((($8)) + 10|0); + $$0348453 = 0;$$0372451 = $143;$$5452 = 0;$250 = 0;$255 = 0;$260 = 0; + while(1) { + HEAP32[$3>>2] = 0; + $144 = (_ttSHORT($$0372451)|0); + $145 = ((($$0372451)) + 2|0); + $146 = (_ttSHORT($145)|0); + $147 = ((($$0372451)) + 4|0); + $148 = $144&65535; + $149 = $148 & 2; + $150 = ($149|0)==(0); + if ($150) { + label = 42; + break; + } + $151 = $148 & 1; + $152 = ($151|0)==(0); + if ($152) { + $158 = HEAP8[$147>>0]|0; + $159 = (+($158<<24>>24)); + $160 = ((($$0372451)) + 5|0); + $161 = HEAP8[$160>>0]|0; + $162 = (+($161<<24>>24)); + $$sink = 6;$$sroa$31$0 = $159;$$sroa$35$0 = $162; + } else { + $153 = (_ttSHORT($147)|0); + $154 = (+($153<<16>>16)); + $155 = ((($$0372451)) + 6|0); + $156 = (_ttSHORT($155)|0); + $157 = (+($156<<16>>16)); + $$sink = 8;$$sroa$31$0 = $154;$$sroa$35$0 = $157; + } + $163 = (($$0372451) + ($$sink)|0); + $164 = $148 & 8; + $165 = ($164|0)==(0); + do { + if ($165) { + $170 = $148 & 64; + $171 = ($170|0)==(0); + if (!($171)) { + $172 = (_ttSHORT($163)|0); + $173 = (+($172<<16>>16)); + $174 = $173 * 6.103515625E-5; + $175 = ((($163)) + 2|0); + $176 = (_ttSHORT($175)|0); + $177 = (+($176<<16>>16)); + $178 = $177 * 6.103515625E-5; + $179 = ((($163)) + 4|0); + $$2374 = $179;$$sroa$0$0 = $174;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = $178; + break; + } + $180 = $148 & 128; + $181 = ($180|0)==(0); + if ($181) { + $$2374 = $163;$$sroa$0$0 = 1.0;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = 1.0; + } else { + $182 = (_ttSHORT($163)|0); + $183 = (+($182<<16>>16)); + $184 = $183 * 6.103515625E-5; + $185 = ((($163)) + 2|0); + $186 = (_ttSHORT($185)|0); + $187 = (+($186<<16>>16)); + $188 = $187 * 6.103515625E-5; + $189 = ((($163)) + 4|0); + $190 = (_ttSHORT($189)|0); + $191 = (+($190<<16>>16)); + $192 = $191 * 6.103515625E-5; + $193 = ((($163)) + 6|0); + $194 = (_ttSHORT($193)|0); + $195 = (+($194<<16>>16)); + $196 = $195 * 6.103515625E-5; + $197 = ((($163)) + 8|0); + $$2374 = $197;$$sroa$0$0 = $184;$$sroa$10$0 = $188;$$sroa$17$0 = $192;$$sroa$24$0 = $196; + } + } else { + $166 = (_ttSHORT($163)|0); + $167 = (+($166<<16>>16)); + $168 = $167 * 6.103515625E-5; + $169 = ((($163)) + 2|0); + $$2374 = $169;$$sroa$0$0 = $168;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = $168; + } + } while(0); + $198 = $$sroa$0$0 * $$sroa$0$0; + $199 = $$sroa$10$0 * $$sroa$10$0; + $200 = $199 + $198; + $sqrtf = (+Math_sqrt((+$200))); + $201 = $$sroa$17$0 * $$sroa$17$0; + $202 = $$sroa$24$0 * $$sroa$24$0; + $203 = $202 + $201; + $sqrtf411 = (+Math_sqrt((+$203))); + $204 = $146&65535; + $205 = (_stbtt_GetGlyphShape($0,$204,$3)|0); + $206 = ($205|0)>(0); + if ($206) { + $207 = HEAP32[$3>>2]|0; + $$0363450 = 0; + while(1) { + $208 = (($207) + (($$0363450*14)|0)|0); + $209 = HEAP16[$208>>1]|0; + $210 = (((($207) + (($$0363450*14)|0)|0)) + 2|0); + $211 = HEAP16[$210>>1]|0; + $212 = (+($209<<16>>16)); + $213 = $$sroa$0$0 * $212; + $214 = (+($211<<16>>16)); + $215 = $$sroa$17$0 * $214; + $216 = $213 + $215; + $217 = $$sroa$31$0 + $216; + $218 = $sqrtf * $217; + $219 = (~~(($218))); + HEAP16[$208>>1] = $219; + $220 = $$sroa$10$0 * $212; + $221 = $$sroa$24$0 * $214; + $222 = $220 + $221; + $223 = $$sroa$35$0 + $222; + $224 = $sqrtf411 * $223; + $225 = (~~(($224))); + HEAP16[$210>>1] = $225; + $226 = (((($207) + (($$0363450*14)|0)|0)) + 4|0); + $227 = HEAP16[$226>>1]|0; + $228 = (((($207) + (($$0363450*14)|0)|0)) + 6|0); + $229 = HEAP16[$228>>1]|0; + $230 = (+($227<<16>>16)); + $231 = $$sroa$0$0 * $230; + $232 = (+($229<<16>>16)); + $233 = $$sroa$17$0 * $232; + $234 = $231 + $233; + $235 = $$sroa$31$0 + $234; + $236 = $sqrtf * $235; + $237 = (~~(($236))); + HEAP16[$226>>1] = $237; + $238 = $$sroa$10$0 * $230; + $239 = $$sroa$24$0 * $232; + $240 = $238 + $239; + $241 = $$sroa$35$0 + $240; + $242 = $sqrtf411 * $241; + $243 = (~~(($242))); + HEAP16[$228>>1] = $243; + $244 = (($$0363450) + 1)|0; + $exitcond460 = ($244|0)==($205|0); + if ($exitcond460) { + break; + } else { + $$0363450 = $244; + } + } + $245 = (($205) + ($$5452))|0; + $246 = ($245*14)|0; + $247 = (_malloc($246)|0); + $248 = ($247|0)==(0|0); + if ($248) { + break; + } + $253 = ($$5452|0)>(0); + if ($253) { + $254 = ($$5452*14)|0; + _memcpy(($247|0),($255|0),($254|0))|0; + } + $256 = (($247) + (($$5452*14)|0)|0); + $257 = HEAP32[$3>>2]|0; + $258 = ($205*14)|0; + _memcpy(($256|0),($257|0),($258|0))|0; + $259 = ($$0348453|0)==(0|0); + if (!($259)) { + _free($260); + } + $261 = HEAP32[$3>>2]|0; + _free($261); + $$1349 = $247;$$6 = $245;$265 = $247;$266 = $247;$267 = $247; + } else { + $$1349 = $$0348453;$$6 = $$5452;$265 = $250;$266 = $260;$267 = $255; + } + $262 = $148 & 32; + $263 = ($262|0)==(0); + if ($263) { + $$4352 = $$1349;$$9 = $$6; + break L4; + } else { + $$0348453 = $$1349;$$0372451 = $$2374;$$5452 = $$6;$250 = $265;$255 = $267;$260 = $266; + } + } + if ((label|0) == 42) { + ___assert_fail((17086|0),(15042|0),1671,(15819|0)); + // unreachable; + } + $249 = ($$0348453|0)==(0|0); + if (!($249)) { + _free($250); + } + $251 = HEAP32[$3>>2]|0; + $252 = ($251|0)==(0|0); + if (!($252)) { + _free($251); + } + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + } while(0); + HEAP32[$2>>2] = $$4352; + $$4 = $$9; + STACKTOP = sp;return ($$4|0); +} +function _stbtt__GetGlyphShapeT2($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, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $3 = sp + 48|0; + $4 = sp; + $5 = ((($3)) + 4|0); + dest=$5; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = 1; + dest=$4; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $6 = (_stbtt__run_charstring($0,$1,$3)|0); + $7 = ($6|0)==(0); + if (!($7)) { + $8 = ((($3)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9*14)|0; + $11 = (_malloc($10)|0); + HEAP32[$2>>2] = $11; + $12 = ((($4)) + 40|0); + HEAP32[$12>>2] = $11; + $13 = (_stbtt__run_charstring($0,$1,$4)|0); + $14 = ($13|0)==(0); + if (!($14)) { + $15 = ((($4)) + 44|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$8>>2]|0; + $18 = ($16|0)==($17|0); + if ($18) { + $$0 = $16; + STACKTOP = sp;return ($$0|0); + } else { + ___assert_fail((15746|0),(15042|0),2114,(15796|0)); + // unreachable; + } + } + } + HEAP32[$2>>2] = 0; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _stbtt__close_shape($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $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; + $9 = $9|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, label = 0, sp = 0; + sp = STACKTOP; + $10 = ($3|0)==(0); + $11 = ($2|0)!=(0); + $12 = (($1) + 1)|0; + $13 = (($0) + (($1*14)|0)|0); + if (!($10)) { + if ($11) { + $14 = (($9) + ($7))|0; + $15 = $14 >> 1; + $16 = (($8) + ($6))|0; + $17 = $16 >> 1; + _stbtt_setvertex($13,3,$17,$15,$8,$9); + $$0 = $12; + } else { + $$0 = $1; + } + $18 = (($$0) + 1)|0; + $19 = (($0) + (($$0*14)|0)|0); + _stbtt_setvertex($19,3,$4,$5,$6,$7); + $$1 = $18; + return ($$1|0); + } + if ($11) { + _stbtt_setvertex($13,3,$4,$5,$8,$9); + $$1 = $12; + return ($$1|0); + } else { + _stbtt_setvertex($13,2,$4,$5,0,0); + $$1 = $12; + return ($$1|0); + } + return (0)|0; +} +function _stbtt_InitFont_internal($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0902 = 0, $$1 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$pr = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 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, $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 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $$byval_copy2 = sp + 172|0; + $$byval_copy1 = sp + 160|0; + $2 = sp + 148|0; + $3 = sp + 136|0; + $4 = sp + 124|0; + $5 = sp + 112|0; + $6 = sp + 108|0; + $7 = sp + 104|0; + $8 = sp + 100|0; + $9 = sp + 96|0; + $10 = sp + 84|0; + $11 = sp + 72|0; + $12 = sp + 60|0; + $13 = sp + 48|0; + $14 = sp + 36|0; + $15 = sp + 24|0; + $16 = sp + 12|0; + $17 = sp; + $18 = ((($0)) + 4|0); + HEAP32[$18>>2] = $1; + $19 = ((($0)) + 8|0); + HEAP32[$19>>2] = 0; + $20 = ((($0)) + 48|0); + _stbtt__new_buf($2,0,0); + ;HEAP32[$20>>2]=HEAP32[$2>>2]|0;HEAP32[$20+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$2+8>>2]|0; + $21 = (_stbtt__find_table($1,15919)|0); + $22 = (_stbtt__find_table($1,15924)|0); + $23 = ((($0)) + 16|0); + HEAP32[$23>>2] = $22; + $24 = (_stbtt__find_table($1,15929)|0); + $25 = ((($0)) + 20|0); + HEAP32[$25>>2] = $24; + $26 = (_stbtt__find_table($1,15934)|0); + $27 = ((($0)) + 24|0); + HEAP32[$27>>2] = $26; + $28 = (_stbtt__find_table($1,15939)|0); + $29 = ((($0)) + 28|0); + HEAP32[$29>>2] = $28; + $30 = (_stbtt__find_table($1,15944)|0); + $31 = ((($0)) + 32|0); + HEAP32[$31>>2] = $30; + $32 = (_stbtt__find_table($1,15949)|0); + $33 = ((($0)) + 36|0); + HEAP32[$33>>2] = $32; + $34 = ($21|0)==(0); + if ($34) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $35 = HEAP32[$25>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $37 = HEAP32[$29>>2]|0; + $38 = ($37|0)==(0); + if ($38) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $39 = HEAP32[$31>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $41 = HEAP32[$27>>2]|0; + $42 = ($41|0)==(0); + L13: do { + if ($42) { + HEAP32[$6>>2] = 2; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $45 = (_stbtt__find_table($1,15954)|0); + $46 = ($45|0)==(0); + do { + if (!($46)) { + $47 = ((($0)) + 96|0); + _stbtt__new_buf($10,0,0); + ;HEAP32[$47>>2]=HEAP32[$10>>2]|0;HEAP32[$47+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$47+8>>2]=HEAP32[$10+8>>2]|0; + $48 = ((($0)) + 108|0); + _stbtt__new_buf($11,0,0); + ;HEAP32[$48>>2]=HEAP32[$11>>2]|0;HEAP32[$48+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$11+8>>2]|0; + $49 = (($1) + ($45)|0); + _stbtt__new_buf($12,$49,536870912); + ;HEAP32[$20>>2]=HEAP32[$12>>2]|0;HEAP32[$20+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$12+8>>2]|0; + ;HEAP32[$3>>2]=HEAP32[$12>>2]|0;HEAP32[$3+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$12+8>>2]|0; + _stbtt__buf_skip($3,2); + $50 = (_stbtt__buf_get8($3)|0); + $51 = $50&255; + _stbtt__buf_seek($3,$51); + _stbtt__cff_get_index($$byval_copy2,$3); + _stbtt__cff_get_index($5,$3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _stbtt__cff_index_get($4,$$byval_copy2,0); + _stbtt__cff_get_index($$byval_copy2,$3); + $52 = ((($0)) + 72|0); + _stbtt__cff_get_index($13,$3); + ;HEAP32[$52>>2]=HEAP32[$13>>2]|0;HEAP32[$52+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$52+8>>2]=HEAP32[$13+8>>2]|0; + _stbtt__dict_get_ints($4,17,1,$7); + _stbtt__dict_get_ints($4,262,1,$6); + _stbtt__dict_get_ints($4,292,1,$8); + _stbtt__dict_get_ints($4,293,1,$9); + $53 = ((($0)) + 84|0); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; + _stbtt__get_subrs($14,$$byval_copy1,$$byval_copy2); + ;HEAP32[$53>>2]=HEAP32[$14>>2]|0;HEAP32[$53+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$53+8>>2]=HEAP32[$14+8>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = ($54|0)!=(2); + $56 = HEAP32[$7>>2]|0; + $57 = ($56|0)==(0); + $or$cond = $55 | $57; + if (!($or$cond)) { + $58 = HEAP32[$8>>2]|0; + $59 = ($58|0)==(0); + if (!($59)) { + $60 = HEAP32[$9>>2]|0; + $61 = ($60|0)==(0); + if ($61) { + break; + } + _stbtt__buf_seek($3,$58); + _stbtt__cff_get_index($15,$3); + ;HEAP32[$47>>2]=HEAP32[$15>>2]|0;HEAP32[$47+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$47+8>>2]=HEAP32[$15+8>>2]|0; + $62 = HEAP32[$9>>2]|0; + $63 = ((($3)) + 8|0); + $64 = HEAP32[$63>>2]|0; + $65 = (($64) - ($62))|0; + _stbtt__buf_range($16,$3,$62,$65); + ;HEAP32[$48>>2]=HEAP32[$16>>2]|0;HEAP32[$48+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$16+8>>2]|0; + } + $66 = HEAP32[$7>>2]|0; + _stbtt__buf_seek($3,$66); + $67 = ((($0)) + 60|0); + _stbtt__cff_get_index($17,$3); + ;HEAP32[$67>>2]=HEAP32[$17>>2]|0;HEAP32[$67+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$67+8>>2]=HEAP32[$17+8>>2]|0; + break L13; + } + } + } while(0); + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } else { + $43 = HEAP32[$23>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + } while(0); + $68 = (_stbtt__find_table($1,15959)|0); + $69 = ($68|0)==(0); + if ($69) { + $$sink = 65535; + } else { + $70 = (($1) + ($68)|0); + $71 = ((($70)) + 4|0); + $72 = (_ttUSHORT($71)|0); + $73 = $72&65535; + $$sink = $73; + } + $74 = ((($0)) + 12|0); + HEAP32[$74>>2] = $$sink; + $75 = (($1) + ($21)|0); + $76 = ((($75)) + 2|0); + $77 = (_ttUSHORT($76)|0); + $78 = $77&65535; + $79 = ((($0)) + 40|0); + HEAP32[$79>>2] = 0; + $80 = ($77<<16>>16)==(0); + if ($80) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $81 = (($21) + 4)|0; + $$0902 = 0; + while(1) { + $82 = $$0902 << 3; + $83 = (($81) + ($82))|0; + $84 = (($1) + ($83)|0); + $85 = (_ttUSHORT($84)|0); + L35: do { + switch ($85<<16>>16) { + case 3: { + $86 = ((($84)) + 2|0); + $87 = (_ttUSHORT($86)|0); + switch ($87<<16>>16) { + case 10: case 1: { + break; + } + default: { + break L35; + } + } + $88 = ((($84)) + 4|0); + $89 = (_ttULONG($88)|0); + $90 = (($89) + ($21))|0; + HEAP32[$79>>2] = $90; + break; + } + case 0: { + $91 = ((($84)) + 4|0); + $92 = (_ttULONG($91)|0); + $93 = (($92) + ($21))|0; + HEAP32[$79>>2] = $93; + break; + } + default: { + } + } + } while(0); + $94 = (($$0902) + 1)|0; + $exitcond = ($94|0)==($78|0); + if ($exitcond) { + break; + } else { + $$0902 = $94; + } + } + $$pr = HEAP32[$79>>2]|0; + $95 = ($$pr|0)==(0); + if ($95) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $96 = HEAP32[$25>>2]|0; + $97 = (($1) + ($96)|0); + $98 = ((($97)) + 50|0); + $99 = (_ttUSHORT($98)|0); + $100 = $99&65535; + $101 = ((($0)) + 44|0); + HEAP32[$101>>2] = $100; + $$1 = 1; + STACKTOP = sp;return ($$1|0); +} +function _stbtt__find_table($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0312 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = (_ttUSHORT($2)|0); + $4 = $3&65535; + $5 = ($3<<16>>16)==(0); + if ($5) { + $$2 = 0; + return ($$2|0); + } + $6 = HEAP8[$1>>0]|0; + $7 = $6 << 24 >> 24; + $8 = ((($1)) + 1|0); + $9 = ((($1)) + 2|0); + $10 = ((($1)) + 3|0); + $$0312 = 0; + while(1) { + $11 = $$0312 << 4; + $12 = $11 | 12; + $13 = (($0) + ($12)|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==($7|0); + if ($16) { + $17 = ((($13)) + 1|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = HEAP8[$8>>0]|0; + $21 = $20 << 24 >> 24; + $22 = ($19|0)==($21|0); + if ($22) { + $23 = ((($13)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = HEAP8[$9>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($25|0)==($27|0); + if ($28) { + $29 = ((($13)) + 3|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = HEAP8[$10>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($31|0)==($33|0); + if ($34) { + break; + } + } + } + } + $37 = (($$0312) + 1)|0; + $38 = ($37|0)<($4|0); + if ($38) { + $$0312 = $37; + } else { + $$2 = 0; + label = 9; + break; + } + } + if ((label|0) == 9) { + return ($$2|0); + } + $35 = ((($13)) + 8|0); + $36 = (_ttULONG($35)|0); + $$2 = $36; + return ($$2|0); +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.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.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($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; + (_vsprintf(33035,$0,$1)|0); + STACKTOP = sp;return (33035|0); +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _jar_xm_generate_samples_16bit($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$015 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 << 1; + $4 = $2 << 3; + $5 = (_malloc($4)|0); + _jar_xm_generate_samples($0,$5,$2); + $6 = ($1|0)!=(0|0); + $7 = ($3|0)!=(0); + $or$cond = $6 & $7; + if ($or$cond) { + $$015 = 0; + } else { + _free($5); + return; + } + while(1) { + $8 = (($5) + ($$015<<2)|0); + $9 = +HEAPF32[$8>>2]; + $10 = $9 * 32767.0; + $11 = (~~(($10))); + $12 = (($1) + ($$015<<1)|0); + HEAP16[$12>>1] = $11; + $13 = (($$015) + 1)|0; + $exitcond = ($13|0)==($3|0); + if ($exitcond) { + break; + } else { + $$015 = $13; + } + } + _free($5); + return; +} +function _jar_xm_generate_samples($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$013 = 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, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)!=(0|0); + $4 = ($1|0)!=(0|0); + $or$cond = $3 & $4; + if (!($or$cond)) { + return; + } + $5 = ((($0)) + 360|0); + $6 = $5; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + 4)|0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (_i64Add(($8|0),($11|0),($2|0),0)|0); + $13 = tempRet0; + $14 = $5; + $15 = $14; + HEAP32[$15>>2] = $12; + $16 = (($14) + 4)|0; + $17 = $16; + HEAP32[$17>>2] = $13; + $18 = ($2|0)==(0); + if ($18) { + return; + } else { + $$013 = 0; + } + while(1) { + $19 = $$013 << 1; + $20 = (($1) + ($19<<2)|0); + $21 = $19 | 1; + $22 = (($1) + ($21<<2)|0); + _jar_xm_sample($0,$20,$22); + $23 = (($$013) + 1)|0; + $exitcond = ($23|0)==($2|0); + if ($exitcond) { + break; + } else { + $$013 = $23; + } + } + return; +} +function _jar_xm_sample($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$072 = 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.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; + var $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0; + var $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 352|0); + $4 = +HEAPF32[$3>>2]; + $5 = !($4 <= 0.0); + if (!($5)) { + _jar_xm_tick($0); + } + $6 = +HEAPF32[$3>>2]; + $7 = $6 + -1.0; + HEAPF32[$3>>2] = $7; + HEAPF32[$1>>2] = 0.0; + HEAPF32[$2>>2] = 0.0; + $8 = ((($0)) + 385|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if (!($10)) { + $11 = ((($0)) + 384|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12&255)<($9&255); + if (!($13)) { + return; + } + } + $14 = ((($0)) + 50|0); + $15 = HEAP16[$14>>1]|0; + $16 = ($15<<16>>16)==(0); + if (!($16)) { + $17 = ((($0)) + 388|0); + $18 = ((($0)) + 340|0); + $19 = ((($0)) + 344|0); + $20 = ((($0)) + 344|0); + $21 = ((($0)) + 340|0); + $$072 = 0;$33 = 0; + while(1) { + $31 = HEAP32[$17>>2]|0; + $32 = (($31) + (($33*304)|0)|0); + $34 = (((($31) + (($33*304)|0)|0)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + do { + if (!($36)) { + $37 = (((($31) + (($33*304)|0)|0)) + 12|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(0|0); + if (!($39)) { + $40 = (((($31) + (($33*304)|0)|0)) + 20|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 < 0.0; + if (!($42)) { + $43 = (+_jar_xm_next_of_sample($32)); + $44 = (((($31) + (($33*304)|0)|0)) + 152|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==(0); + if ($46) { + $47 = HEAP32[$34>>2]|0; + $48 = ((($47)) + 272|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if ($50) { + $51 = (((($31) + (($33*304)|0)|0)) + 300|0); + $52 = +HEAPF32[$51>>2]; + $53 = $43 * $52; + $54 = (((($31) + (($33*304)|0)|0)) + 296|0); + $55 = +HEAPF32[$54>>2]; + $56 = 1.0 - $55; + $57 = $53 * $56; + $58 = +HEAPF32[$1>>2]; + $59 = $58 + $57; + HEAPF32[$1>>2] = $59; + $60 = +HEAPF32[$51>>2]; + $61 = $43 * $60; + $62 = +HEAPF32[$54>>2]; + $63 = $61 * $62; + $64 = +HEAPF32[$2>>2]; + $65 = $64 + $63; + HEAPF32[$2>>2] = $65; + } + } + $66 = (((($31) + (($33*304)|0)|0)) + 164|0); + $67 = HEAP32[$66>>2]|0; + $68 = (($67) + 1)|0; + HEAP32[$66>>2] = $68; + $69 = (((($31) + (($33*304)|0)|0)) + 300|0); + $70 = +HEAPF32[$69>>2]; + $71 = (((($31) + (($33*304)|0)|0)) + 160|0); + $72 = +HEAPF32[$71>>2]; + $73 = $70 > $72; + if ($73) { + $74 = +HEAPF32[$18>>2]; + $75 = $70 - $74; + HEAPF32[$69>>2] = $75; + $76 = $75 < $72; + if ($76) { + HEAPF32[$69>>2] = $72; + } + } else { + $77 = $70 < $72; + if ($77) { + $78 = +HEAPF32[$21>>2]; + $79 = $70 + $78; + HEAPF32[$69>>2] = $79; + $80 = $79 > $72; + if ($80) { + HEAPF32[$69>>2] = $72; + } + } + } + $81 = (((($31) + (($33*304)|0)|0)) + 296|0); + $82 = +HEAPF32[$81>>2]; + $83 = (((($31) + (($33*304)|0)|0)) + 156|0); + $84 = +HEAPF32[$83>>2]; + $85 = $82 > $84; + if ($85) { + $86 = +HEAPF32[$19>>2]; + $87 = $82 - $86; + HEAPF32[$81>>2] = $87; + $88 = $87 < $84; + if (!($88)) { + break; + } + HEAPF32[$81>>2] = $84; + break; + } + $89 = $82 < $84; + if ($89) { + $90 = +HEAPF32[$20>>2]; + $91 = $82 + $90; + HEAPF32[$81>>2] = $91; + $92 = $91 > $84; + if ($92) { + HEAPF32[$81>>2] = $84; + } + } + } + } + } + } while(0); + $93 = (($$072) + 1)<<24>>24; + $94 = $93&255; + $95 = HEAP16[$14>>1]|0; + $96 = $95&65535; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + $$072 = $93;$33 = $94; + } else { + break; + } + } + } + $22 = ((($0)) + 332|0); + $23 = +HEAPF32[$22>>2]; + $24 = ((($0)) + 336|0); + $25 = +HEAPF32[$24>>2]; + $26 = $23 * $25; + $27 = +HEAPF32[$1>>2]; + $28 = $27 * $26; + HEAPF32[$1>>2] = $28; + $29 = +HEAPF32[$2>>2]; + $30 = $26 * $29; + HEAPF32[$2>>2] = $30; + return; +} +function _jar_xm_tick($0) { + $0 = $0|0; + var $$0 = 0.0, $$0195202 = 0, $$0196 = 0.0, $$1 = 0.0, $$not = 0, $$pr = 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.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.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.0, $181 = 0, $182 = 0.0, $183 = 0.0; + var $184 = 0.0, $185 = 0, $186 = 0.0, $187 = 0.0, $188 = 0.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; + 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.0, $212 = 0, $213 = 0, $214 = 0.0, $215 = 0.0, $216 = 0, $217 = 0.0, $218 = 0.0, $219 = 0; + var $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, $237 = 0.0; + var $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0, $253 = 0.0, $254 = 0.0, $255 = 0; + var $256 = 0, $257 = 0, $258 = 0.0, $259 = 0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0.0, $273 = 0; + var $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0.0, $28 = 0, $280 = 0.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, $storemerge = 0.0, $storemerge198 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc199 = 0, $trunc199$clear = 0, $trunc200 = 0, $trunc200$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 350|0); + $2 = HEAP16[$1>>1]|0; + $3 = ($2<<16>>16)==(0); + if ($3) { + _jar_xm_row($0); + } + $4 = ((($0)) + 50|0); + $5 = HEAP16[$4>>1]|0; + $6 = ($5<<16>>16)==(0); + L4: do { + if (!($6)) { + $7 = ((($0)) + 388|0); + $8 = ((($0)) + 328|0); + $9 = ((($0)) + 332|0); + $$0195202 = 0;$23 = 0; + while(1) { + $21 = HEAP32[$7>>2]|0; + $22 = (($21) + (($23*304)|0)|0); + _jar_xm_envelopes($22); + _jar_xm_autovibrato($0,$22); + $24 = (((($21) + (($23*304)|0)|0)) + 76|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + do { + if (!($26)) { + $27 = (((($21) + (($23*304)|0)|0)) + 16|0); + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 3|0); + $30 = HEAP8[$29>>0]|0; + $31 = ($30<<24>>24)==(0); + if ($31) { + $32 = ((($28)) + 4|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if (!($34)) { + break; + } + } + HEAP32[$24>>2] = 0; + $35 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$35>>0] = 0; + _jar_xm_update_frequency($0,$22); + } + } while(0); + $36 = (((($21) + (($23*304)|0)|0)) + 100|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0); + if (!($38)) { + $39 = (((($21) + (($23*304)|0)|0)) + 16|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($40)) + 3|0); + $42 = HEAP8[$41>>0]|0; + $43 = ($42<<24>>24)==(4); + if (!($43)) { + $44 = ((($40)) + 4|0); + $45 = HEAP8[$44>>0]|0; + $46 = ($45<<24>>24)==(6); + if (!($46)) { + $47 = ((($40)) + 2|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48 & -16; + $50 = ($49<<24>>24)==(-80); + if (!($50)) { + $51 = (((($21) + (($23*304)|0)|0)) + 116|0); + HEAP32[$36>>2] = 0; + HEAPF32[$51>>2] = 0.0; + _jar_xm_update_frequency($0,$22); + } + } + } + } + $52 = (((($21) + (($23*304)|0)|0)) + 16|0); + $53 = HEAP32[$52>>2]|0; + $54 = ((($53)) + 2|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55&255; + $trunc = ($55&255) >>> 4; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 6: { + $57 = HEAP16[$1>>1]|0; + $58 = ($57<<16>>16)==(0); + if (!($58)) { + $59 = $56 & 15; + $60 = $59&255; + _jar_xm_volume_slide($22,$60); + } + break; + } + case 7: { + $61 = HEAP16[$1>>1]|0; + $62 = ($61<<16>>16)==(0); + if (!($62)) { + $63 = $56 << 4; + $64 = $63&255; + _jar_xm_volume_slide($22,$64); + } + break; + } + case 11: { + $65 = HEAP16[$1>>1]|0; + $66 = ($65<<16>>16)==(0); + if (!($66)) { + HEAP32[$36>>2] = 0; + $67 = (((($21) + (($23*304)|0)|0)) + 112|0); + $68 = HEAP8[$67>>0]|0; + $69 = (((($21) + (($23*304)|0)|0)) + 114|0); + $70 = HEAP16[$69>>1]|0; + $71 = (($70) + 1)<<16>>16; + HEAP16[$69>>1] = $71; + _jar_xm_vibrato($0,$22,$68,$70); + } + break; + } + case 13: { + $72 = HEAP16[$1>>1]|0; + $73 = ($72<<16>>16)==(0); + if (!($73)) { + $74 = $56 & 15; + $75 = $74&255; + _jar_xm_panning_slide($22,$75); + } + break; + } + case 14: { + $76 = HEAP16[$1>>1]|0; + $77 = ($76<<16>>16)==(0); + if (!($77)) { + $78 = $56 << 4; + $79 = $78&255; + _jar_xm_panning_slide($22,$79); + } + break; + } + case 15: { + $80 = HEAP16[$1>>1]|0; + $81 = ($80<<16>>16)==(0); + if (!($81)) { + _jar_xm_tone_portamento($0,$22); + } + break; + } + default: { + } + } + $82 = HEAP32[$52>>2]|0; + $83 = ((($82)) + 3|0); + $84 = HEAP8[$83>>0]|0; + L34: do { + switch ($84<<24>>24) { + case 0: { + $85 = ((($82)) + 4|0); + $86 = HEAP8[$85>>0]|0; + $87 = ($86<<24>>24)==(0); + if (!($87)) { + $88 = HEAP16[$8>>1]|0; + $89 = (($88&65535) % 3)&-1; + $90 = $89&65535; + $trunc200 = $89&255; + $trunc200$clear = $trunc200 & 3; + switch ($trunc200$clear<<24>>24) { + case 2: { + $91 = HEAP16[$1>>1]|0; + $92 = ($91<<16>>16)==(1); + if ($92) { + HEAP32[$24>>2] = 1; + $93 = ($86&255) >>> 4; + $94 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$94>>0] = $93; + _jar_xm_update_frequency($0,$22); + break L34; + } else { + $96 = $91; + label = 34; + } + break; + } + case 1: { + $$pr = HEAP16[$1>>1]|0; + $96 = $$pr; + label = 34; + break; + } + case 0: { + break; + } + default: { + break L34; + } + } + if ((label|0) == 34) { + label = 0; + $95 = ($96<<16>>16)==(0); + if ($95) { + HEAP32[$24>>2] = 0; + $97 = (((($21) + (($23*304)|0)|0)) + 80|0); + HEAP8[$97>>0] = 0; + _jar_xm_update_frequency($0,$22); + break L34; + } + } + $98 = HEAP32[$52>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP8[$99>>0]|0; + $101 = HEAP16[$1>>1]|0; + $102 = $101&65535; + $103 = (($102) - ($90))|0; + $104 = $103&65535; + _jar_xm_arpeggio($0,$22,$100,$104); + } + break; + } + case 1: { + $105 = HEAP16[$1>>1]|0; + $106 = ($105<<16>>16)==(0); + if (!($106)) { + $107 = (((($21) + (($23*304)|0)|0)) + 85|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (0 - ($109))|0; + $111 = (+($110|0)); + _jar_xm_pitch_slide($0,$22,$111); + } + break; + } + case 2: { + $112 = HEAP16[$1>>1]|0; + $113 = ($112<<16>>16)==(0); + if (!($113)) { + $114 = (((($21) + (($23*304)|0)|0)) + 86|0); + $115 = HEAP8[$114>>0]|0; + $116 = (+($115&255)); + _jar_xm_pitch_slide($0,$22,$116); + } + break; + } + case 3: { + $117 = HEAP16[$1>>1]|0; + $118 = ($117<<16>>16)==(0); + if (!($118)) { + _jar_xm_tone_portamento($0,$22); + } + break; + } + case 4: { + $119 = HEAP16[$1>>1]|0; + $120 = ($119<<16>>16)==(0); + if (!($120)) { + HEAP32[$36>>2] = 1; + $121 = (((($21) + (($23*304)|0)|0)) + 112|0); + $122 = HEAP8[$121>>0]|0; + $123 = (((($21) + (($23*304)|0)|0)) + 114|0); + $124 = HEAP16[$123>>1]|0; + $125 = (($124) + 1)<<16>>16; + HEAP16[$123>>1] = $125; + _jar_xm_vibrato($0,$22,$122,$124); + } + break; + } + case 5: { + $126 = HEAP16[$1>>1]|0; + $127 = ($126<<16>>16)==(0); + if (!($127)) { + $128 = (((($21) + (($23*304)|0)|0)) + 81|0); + _jar_xm_tone_portamento($0,$22); + $129 = HEAP8[$128>>0]|0; + _jar_xm_volume_slide($22,$129); + } + break; + } + case 6: { + $130 = HEAP16[$1>>1]|0; + $131 = ($130<<16>>16)==(0); + if (!($131)) { + HEAP32[$36>>2] = 1; + $132 = (((($21) + (($23*304)|0)|0)) + 112|0); + $133 = HEAP8[$132>>0]|0; + $134 = (((($21) + (($23*304)|0)|0)) + 114|0); + $135 = HEAP16[$134>>1]|0; + $136 = (($135) + 1)<<16>>16; + HEAP16[$134>>1] = $136; + _jar_xm_vibrato($0,$22,$133,$135); + $137 = (((($21) + (($23*304)|0)|0)) + 81|0); + $138 = HEAP8[$137>>0]|0; + _jar_xm_volume_slide($22,$138); + } + break; + } + case 7: { + $139 = HEAP16[$1>>1]|0; + $140 = ($139<<16>>16)==(0); + if (!($140)) { + $141 = (((($21) + (($23*304)|0)|0)) + 128|0); + $142 = HEAP8[$141>>0]|0; + $143 = (((($21) + (($23*304)|0)|0)) + 129|0); + $144 = HEAP8[$143>>0]|0; + $145 = (($144) + 1)<<24>>24; + HEAP8[$143>>0] = $145; + $146 = $144&255; + _jar_xm_tremolo($22,$142,$146); + } + break; + } + case 10: { + $147 = HEAP16[$1>>1]|0; + $148 = ($147<<16>>16)==(0); + if (!($148)) { + $149 = (((($21) + (($23*304)|0)|0)) + 81|0); + $150 = HEAP8[$149>>0]|0; + _jar_xm_volume_slide($22,$150); + } + break; + } + case 14: { + $151 = ((($82)) + 4|0); + $152 = HEAP8[$151>>0]|0; + $153 = $152&255; + $trunc199 = ($152&255) >>> 4; + $trunc199$clear = $trunc199 & 15; + switch ($trunc199$clear<<24>>24) { + case 9: { + $154 = HEAP16[$1>>1]|0; + $155 = $154&65535; + $156 = ($154<<16>>16)==(0); + if ($156) { + break L34; + } + $157 = $153 & 15; + $158 = ($157|0)==(0); + if ($158) { + break L34; + } + $159 = (($155>>>0) % ($157>>>0))&-1; + $160 = ($159|0)==(0); + if (!($160)) { + break L34; + } + _jar_xm_trigger_note($0,$22,0); + _jar_xm_envelopes($22); + break L34; + break; + } + case 12: { + $161 = $153 & 15; + $162 = HEAP16[$1>>1]|0; + $163 = $162&65535; + $164 = ($161|0)==($163|0); + if (!($164)) { + break L34; + } + _jar_xm_cut_note($22); + break L34; + break; + } + case 13: { + $165 = (((($21) + (($23*304)|0)|0)) + 97|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $168 = HEAP16[$1>>1]|0; + $169 = $168&65535; + $170 = ($167|0)==($169|0); + if (!($170)) { + break L34; + } + _jar_xm_handle_note_and_instrument($0,$22,$82); + _jar_xm_envelopes($22); + break L34; + break; + } + default: { + break L34; + } + } + break; + } + case 17: { + $171 = HEAP16[$1>>1]|0; + $172 = ($171<<16>>16)==(0); + if (!($172)) { + $173 = (((($21) + (($23*304)|0)|0)) + 83|0); + $174 = HEAP8[$173>>0]|0; + $175 = $174&255; + $176 = $175 & 240; + $177 = ($176|0)!=(0); + $$not = $177 ^ 1; + $178 = $175 & 15; + $179 = ($178|0)==(0); + $or$cond = $179 | $$not; + if ($or$cond) { + $180 = +HEAPF32[$9>>2]; + if ($177) { + $181 = $175 >>> 4; + $182 = (+($181|0)); + $183 = $182 * 0.015625; + $184 = $183 + $180; + $185 = $184 > 1.0; + $storemerge198 = $185 ? 1.0 : $184; + HEAPF32[$9>>2] = $storemerge198; + break L34; + } else { + $186 = (+($178|0)); + $187 = $186 * 0.015625; + $188 = $180 - $187; + $189 = $188 < 0.0; + $storemerge = $189 ? 0.0 : $188; + HEAPF32[$9>>2] = $storemerge; + break L34; + } + } + } + break; + } + case 20: { + $190 = HEAP16[$1>>1]|0; + $191 = $190&65535; + $192 = ((($82)) + 4|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193&255; + $195 = ($191|0)==($194|0); + if ($195) { + _jar_xm_key_off($22); + } + break; + } + case 25: { + $196 = HEAP16[$1>>1]|0; + $197 = ($196<<16>>16)==(0); + if (!($197)) { + $198 = (((($21) + (($23*304)|0)|0)) + 84|0); + $199 = HEAP8[$198>>0]|0; + _jar_xm_panning_slide($22,$199); + } + break; + } + case 27: { + $200 = HEAP16[$1>>1]|0; + $201 = $200&65535; + $202 = ($200<<16>>16)==(0); + if (!($202)) { + $203 = (((($21) + (($23*304)|0)|0)) + 96|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204&255; + $206 = $205 & 15; + $207 = ($206|0)==(0); + if (!($207)) { + $208 = (($201>>>0) % ($206>>>0))&-1; + $209 = ($208|0)==(0); + if ($209) { + $210 = (((($21) + (($23*304)|0)|0)) + 40|0); + $211 = +HEAPF32[$210>>2]; + $212 = $205 >>> 4; + $213 = (3624 + ($212<<2)|0); + $214 = +HEAPF32[$213>>2]; + $215 = $211 * $214; + $216 = (3688 + ($212<<2)|0); + $217 = +HEAPF32[$216>>2]; + $218 = $215 + $217; + $219 = $218 > 1.0; + if ($219) { + $$0196 = 1.0; + } else { + $220 = $218 < 0.0; + if ($220) { + $$0196 = 0.0; + } else { + $$0196 = $218; + } + } + _jar_xm_trigger_note($0,$22,0); + HEAPF32[$210>>2] = $$0196; + } + } + } + break; + } + case 29: { + $221 = HEAP16[$1>>1]|0; + $222 = ($221<<16>>16)==(0); + if (!($222)) { + $223 = $221&65535; + $224 = (($223) + -1)|0; + $225 = (((($21) + (($23*304)|0)|0)) + 136|0); + $226 = HEAP8[$225>>0]|0; + $227 = $226&255; + $228 = $227 >>> 4; + $229 = $227 & 15; + $230 = (($229) + 2)|0; + $231 = (($230) + ($228))|0; + $232 = (($224|0) % ($231|0))&-1; + $233 = ($232|0)>($228|0); + $234 = $233&1; + $235 = (((($21) + (($23*304)|0)|0)) + 140|0); + HEAP32[$235>>2] = $234; + } + break; + } + default: { + } + } + } while(0); + $236 = (((($21) + (($23*304)|0)|0)) + 44|0); + $237 = +HEAPF32[$236>>2]; + $238 = (((($21) + (($23*304)|0)|0)) + 64|0); + $239 = +HEAPF32[$238>>2]; + $240 = $239 + -0.5; + $241 = $237 + -0.5; + $242 = (+Math_abs((+$241))); + $243 = 0.5 - $242; + $244 = $240 * $243; + $245 = $244 * 2.0; + $246 = $237 + $245; + $247 = (((($21) + (($23*304)|0)|0)) + 140|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)==(0); + if ($249) { + $250 = (((($21) + (($23*304)|0)|0)) + 40|0); + $251 = +HEAPF32[$250>>2]; + $252 = (((($21) + (($23*304)|0)|0)) + 132|0); + $253 = +HEAPF32[$252>>2]; + $254 = $251 + $253; + $255 = $254 > 1.0; + if ($255) { + $$0 = 1.0; + } else { + $256 = $254 < 0.0; + if ($256) { + $$0 = 0.0; + } else { + $$0 = $254; + } + } + $257 = (((($21) + (($23*304)|0)|0)) + 56|0); + $258 = +HEAPF32[$257>>2]; + $259 = (((($21) + (($23*304)|0)|0)) + 60|0); + $260 = +HEAPF32[$259>>2]; + $261 = $258 * $260; + $262 = $$0 * $261; + $$1 = $262; + } else { + $$1 = 0.0; + } + $263 = (((($21) + (($23*304)|0)|0)) + 156|0); + HEAPF32[$263>>2] = $246; + $264 = (((($21) + (($23*304)|0)|0)) + 160|0); + HEAPF32[$264>>2] = $$1; + $265 = (($$0195202) + 1)<<24>>24; + $266 = $265&255; + $267 = HEAP16[$4>>1]|0; + $268 = $267&65535; + $269 = ($266>>>0)<($268>>>0); + if ($269) { + $$0195202 = $265;$23 = $266; + } else { + break L4; + } + } + } + } while(0); + $10 = HEAP16[$1>>1]|0; + $11 = (($10) + 1)<<16>>16; + HEAP16[$1>>1] = $11; + $12 = $11&65535; + $13 = ((($0)) + 328|0); + $14 = HEAP16[$13>>1]|0; + $15 = $14&65535; + $16 = ((($0)) + 378|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($18) + ($15))|0; + $20 = ($12>>>0)<($19>>>0); + if ($20) { + $270 = ((($0)) + 324|0); + $271 = HEAP32[$270>>2]|0; + $272 = (+($271>>>0)); + $273 = ((($0)) + 330|0); + $274 = HEAP16[$273>>1]|0; + $275 = (+($274&65535)); + $276 = $275 * 0.40000000596046448; + $277 = $272 / $276; + $278 = ((($0)) + 352|0); + $279 = +HEAPF32[$278>>2]; + $280 = $279 + $277; + HEAPF32[$278>>2] = $280; + return; + } + HEAP16[$1>>1] = 0; + HEAP16[$16>>1] = 0; + $270 = ((($0)) + 324|0); + $271 = HEAP32[$270>>2]|0; + $272 = (+($271>>>0)); + $273 = ((($0)) + 330|0); + $274 = HEAP16[$273>>1]|0; + $275 = (+($274&65535)); + $276 = $275 * 0.40000000596046448; + $277 = $272 / $276; + $278 = ((($0)) + 352|0); + $279 = +HEAPF32[$278>>2]; + $280 = $279 + $277; + HEAPF32[$278>>2] = $280; + return; +} +function _jar_xm_next_of_sample($0) { + $0 = $0|0; + var $$0100 = 0.0, $$0101 = 0.0, $$1 = 0.0, $$pr = 0.0, $$sink = 0.0, $$sink$p = 0.0, $$sink103 = 0, $$sink105 = 0, $$sink2 = 0, $1 = 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.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0; + var $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0; + var $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0.0; + var $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $storemerge106 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = ((($0)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + $7 = ((($0)) + 20|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 < 0.0; + if (!($9)) { + $20 = ((($5)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + $$1 = 0.0; + return (+$$1); + } + $23 = (~~(($8))>>>0); + $24 = (($23) + 1)|0; + $25 = (+($23>>>0)); + $26 = $8 - $25; + $27 = ((($5)) + 72|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($28) + ($23<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($5)) + 48|0); + $32 = HEAP32[$31>>2]|0; + L8: do { + switch ($32|0) { + case 0: { + $33 = ($24>>>0)<($21>>>0); + if ($33) { + $34 = (($28) + ($24<<2)|0); + $35 = +HEAPF32[$34>>2]; + $135 = $35; + } else { + $135 = 0.0; + } + $36 = ((($0)) + 32|0); + $37 = +HEAPF32[$36>>2]; + $38 = +HEAPF32[$7>>2]; + $39 = $37 + $38; + HEAPF32[$7>>2] = $39; + $40 = HEAP32[$4>>2]|0; + $41 = ((($40)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = (+($42>>>0)); + $44 = !($39 >= $43); + if ($44) { + $$0100 = $30;$$0101 = $135; + } else { + HEAPF32[$7>>2] = -1.0; + $$0100 = $30;$$0101 = $135; + } + break; + } + case 1: { + $45 = ((($5)) + 36|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($24|0)==($46|0); + if ($47) { + $48 = ((($5)) + 28|0); + $49 = HEAP32[$48>>2]|0; + $51 = $49; + } else { + $51 = $24; + } + $50 = (($28) + ($51<<2)|0); + $52 = +HEAPF32[$50>>2]; + $53 = ((($0)) + 32|0); + $54 = +HEAPF32[$53>>2]; + $55 = +HEAPF32[$7>>2]; + $56 = $54 + $55; + HEAPF32[$7>>2] = $56; + $57 = HEAP32[$4>>2]|0; + $58 = ((($57)) + 36|0); + $59 = HEAP32[$58>>2]|0; + $60 = (+($59>>>0)); + $61 = !($56 >= $60); + if ($61) { + $$0100 = $30;$$0101 = $52; + } else { + $62 = HEAP32[$4>>2]|0; + $63 = ((($62)) + 36|0); + $64 = HEAP32[$63>>2]|0; + $65 = (+($64>>>0)); + $67 = $57;$storemerge106 = $56; + while(1) { + $66 = ((($67)) + 32|0); + $68 = HEAP32[$66>>2]|0; + $69 = (+($68>>>0)); + $70 = $storemerge106 - $69; + $71 = !($70 >= $65); + if ($71) { + break; + } else { + $67 = $62;$storemerge106 = $70; + } + } + HEAPF32[$7>>2] = $70; + $$0100 = $30;$$0101 = $52; + } + break; + } + case 2: { + $72 = ((($0)) + 36|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)!=(0); + $75 = ((($0)) + 32|0); + $76 = +HEAPF32[$75>>2]; + $77 = -$76; + $$sink$p = $74 ? $76 : $77; + $$sink = $8 + $$sink$p; + HEAPF32[$7>>2] = $$sink; + if ($74) { + $78 = HEAP32[$4>>2]|0; + $79 = ((($78)) + 36|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($24>>>0)>=($80>>>0); + $82 = ((($78)) + 72|0); + $83 = HEAP32[$82>>2]|0; + $$sink2 = $81 ? $23 : $24; + $84 = (($83) + ($$sink2<<2)|0); + $85 = +HEAPF32[$84>>2]; + $86 = (+($80>>>0)); + $87 = !($$sink >= $86); + if (!($87)) { + $88 = $80 << 1; + $89 = (+($88>>>0)); + HEAP32[$72>>2] = 0; + $90 = +HEAPF32[$7>>2]; + $91 = $89 - $90; + HEAPF32[$7>>2] = $91; + } + $92 = +HEAPF32[$7>>2]; + $93 = ((($78)) + 24|0); + $94 = HEAP32[$93>>2]|0; + $95 = (+($94>>>0)); + $96 = !($92 >= $95); + if ($96) { + $$0100 = $30;$$0101 = $85; + break L8; + } + $97 = (($94) + -1)|0; + $98 = (+($97>>>0)); + $99 = $92 - $98; + HEAP32[$72>>2] = 0; + HEAPF32[$7>>2] = $99; + $$0100 = $30;$$0101 = $85; + break L8; + } + $100 = ($23|0)==(0); + if ($100) { + label = 24; + } else { + $101 = (($23) + -1)|0; + $102 = HEAP32[$4>>2]|0; + $103 = ((($102)) + 28|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($101>>>0)>($104>>>0); + if ($105) { + $$sink103 = $101;$$sink105 = $102; + } else { + label = 24; + } + } + if ((label|0) == 24) { + $106 = HEAP32[$4>>2]|0; + $$sink103 = $23;$$sink105 = $106; + } + $107 = ((($$sink105)) + 72|0); + $108 = HEAP32[$107>>2]|0; + $109 = (($108) + ($$sink103<<2)|0); + $110 = +HEAPF32[$109>>2]; + $111 = +HEAPF32[$7>>2]; + $112 = HEAP32[$4>>2]|0; + $113 = ((($112)) + 28|0); + $114 = HEAP32[$113>>2]|0; + $115 = (+($114>>>0)); + $116 = !($111 <= $115); + $117 = $114 << 1; + $118 = (+($117>>>0)); + $119 = $118 - $111; + if ($116) { + $$pr = +HEAPF32[$7>>2]; + $121 = $$pr; + } else { + HEAP32[$72>>2] = 1; + HEAPF32[$7>>2] = $119; + $121 = $119; + } + $120 = !($121 <= 0.0); + if ($120) { + $$0100 = $110;$$0101 = $30; + } else { + HEAP32[$72>>2] = 1; + HEAPF32[$7>>2] = 0.0; + $$0100 = $110;$$0101 = $30; + } + break; + } + default: { + $$0100 = $30;$$0101 = 0.0; + } + } + } while(0); + $122 = $$0101 - $$0100; + $123 = $26 * $122; + $124 = $$0100 + $123; + $125 = ((($0)) + 164|0); + $126 = HEAP32[$125>>2]|0; + $127 = ($126>>>0)<(32); + if (!($127)) { + $$1 = $124; + return (+$$1); + } + $128 = (+($126>>>0)); + $129 = $128 * 0.03125; + $130 = (((($0)) + 168|0) + ($126<<2)|0); + $131 = +HEAPF32[$130>>2]; + $132 = $124 - $131; + $133 = $129 * $132; + $134 = $131 + $133; + $$1 = $134; + return (+$$1); + } + } + } + $10 = ((($0)) + 164|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11>>>0)<(32); + if (!($12)) { + $$1 = 0.0; + return (+$$1); + } + $13 = (+($11>>>0)); + $14 = $13 * 0.03125; + $15 = (((($0)) + 168|0) + ($11<<2)|0); + $16 = +HEAPF32[$15>>2]; + $17 = 0.0 - $16; + $18 = $14 * $17; + $19 = $16 + $18; + $$1 = $19; + return (+$$1); +} +function _jar_xm_row($0) { + $0 = $0|0; + var $$0$ = 0, $$06061 = 0, $$062 = 0, $$1 = 0, $$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; 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, $bpp$0 = 0, $header = 0, $i$08 = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$0$2 = 0, $image$sroa$10$0 = 0, $image$sroa$10$1 = 0, $image$sroa$10$2 = 0, $image$sroa$12$0 = 0, $image$sroa$12$1 = 0, $image$sroa$12$2 = 0, $image$sroa$12$3 = 0, $image$sroa$4$0 = 0, $image$sroa$4$1 = 0, $image$sroa$4$2 = 0; - var $image$sroa$7$0 = 0, $image$sroa$7$1 = 0, $image$sroa$7$2 = 0, $pvrVersion = 0, $unused = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; + var $96 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $pvrVersion = sp + 73|0; - $header = sp + 20|0; - $unused = sp + 72|0; - $0 = (_fopen($fileName,19026)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,20691,$vararg_buffer); - $image$sroa$0$2 = 0;$image$sroa$10$2 = 0;$image$sroa$12$3 = 0;$image$sroa$4$2 = 0;$image$sroa$7$2 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$2; - $113 = ((($agg$result)) + 4|0); - HEAP32[$113>>2] = $image$sroa$4$2; - $114 = ((($agg$result)) + 8|0); - HEAP32[$114>>2] = $image$sroa$7$2; - $115 = ((($agg$result)) + 12|0); - HEAP32[$115>>2] = $image$sroa$10$2; - $116 = ((($agg$result)) + 16|0); - HEAP32[$116>>2] = $image$sroa$12$3; - STACKTOP = sp;return; + $1 = ((($0)) + 368|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + $11 = ((($0)) + 372|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $14 = ((($0)) + 348|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($15) + 1)<<24>>24; + HEAP8[$14>>0] = $16; + $17 = ((($0)) + 377|0); + $18 = HEAP8[$17>>0]|0; + $19 = ((($0)) + 349|0); + HEAP8[$19>>0] = $18; + HEAP32[$11>>2] = 0; + HEAP8[$17>>0] = 0; + _jar_xm_post_pattern_change($0); + } + } else { + $4 = ((($0)) + 376|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 348|0); + HEAP8[$6>>0] = $5; + $7 = ((($0)) + 377|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($0)) + 349|0); + HEAP8[$9>>0] = $8; + HEAP32[$1>>2] = 0; + $10 = ((($0)) + 372|0); + HEAP32[$10>>2] = 0; + HEAP8[$7>>0] = 0; + _jar_xm_post_pattern_change($0); } - HEAP8[$pvrVersion>>0] = 0; - (_fread($pvrVersion,1,1,$0)|0); - (_fseek($0,0,0)|0); - $2 = HEAP8[$pvrVersion>>0]|0; - switch ($2<<24>>24) { - case 80: { - (_fread($header,52,1,$0)|0); - $3 = HEAP8[$header>>0]|0; - $4 = ($3<<24>>24)==(80); - if ($4) { - $5 = ((($header)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(86); - if ($7) { - $8 = ((($header)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(82); - if ($10) { - $11 = ((($header)) + 3|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(3); - if ($13) { - $14 = ((($header)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($header)) + 24|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($header)) + 44|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($header)) + 8|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(108); - do { - if ($22) { - $23 = ((($header)) + 9|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if ($25) { - $26 = ((($header)) + 12|0); - $27 = HEAP8[$26>>0]|0; - $28 = ($27<<24>>24)==(8); - if ($28) { - $image$sroa$12$0 = 1; - break; - } - } - $$pr = HEAP8[$20>>0]|0; - $29 = ($$pr<<24>>24)==(108); - if ($29) { - $30 = ((($header)) + 9|0); - $31 = HEAP8[$30>>0]|0; - $32 = ($31<<24>>24)==(97); - if ($32) { - $33 = ((($header)) + 12|0); - $34 = HEAP8[$33>>0]|0; - $35 = ($34<<24>>24)==(8); - if ($35) { - $36 = ((($header)) + 13|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(8); - if ($38) { - $image$sroa$12$0 = 2; - } else { - label = 16; - } - } else { - label = 16; - } - } else { - label = 16; - } - } else { - $39 = $$pr; - label = 17; - } - } else { - label = 16; - } - } while(0); - if ((label|0) == 16) { - $$pr3 = HEAP8[$20>>0]|0; - $39 = $$pr3; - label = 17; - } - L22: do { - if ((label|0) == 17) { - $40 = ($39<<24>>24)==(114); - if ($40) { - $41 = ((($header)) + 9|0); - $42 = HEAP8[$41>>0]|0; - $43 = ($42<<24>>24)==(103); - if ($43) { - $44 = ((($header)) + 10|0); - $45 = HEAP8[$44>>0]|0; - $46 = ($45<<24>>24)==(98); - if ($46) { - $47 = ((($header)) + 11|0); - $48 = HEAP8[$47>>0]|0; - switch ($48<<24>>24) { - case 97: { - break; - } - case 0: { - $83 = ((($header)) + 12|0); - $84 = HEAP8[$83>>0]|0; - $85 = ($84<<24>>24)==(5); - if ($85) { - $86 = ((($header)) + 13|0); - $87 = HEAP8[$86>>0]|0; - $88 = ($87<<24>>24)==(6); - if ($88) { - $89 = ((($header)) + 14|0); - $90 = HEAP8[$89>>0]|0; - $91 = ($90<<24>>24)==(5); - if ($91) { - $image$sroa$12$0 = 3; - break L22; - } - } - $$pr7 = HEAP8[$83>>0]|0; - $92 = $$pr7; - } else { - $92 = $84; - } - $93 = ($92<<24>>24)==(8); - if (!($93)) { - $image$sroa$12$0 = 0; - break L22; - } - $94 = ((($header)) + 13|0); - $95 = HEAP8[$94>>0]|0; - $96 = ($95<<24>>24)==(8); - if (!($96)) { - $image$sroa$12$0 = 0; - break L22; - } - $97 = ((($header)) + 14|0); - $98 = HEAP8[$97>>0]|0; - $99 = ($98<<24>>24)==(8); - $$1 = $99 ? 4 : 0; - $image$sroa$12$0 = $$1; - break L22; - break; - } - default: { - $image$sroa$12$0 = 0; - break L22; - } - } - $49 = ((($header)) + 12|0); - $50 = HEAP8[$49>>0]|0; - $51 = ($50<<24>>24)==(5); - if ($51) { - $52 = ((($header)) + 13|0); - $53 = HEAP8[$52>>0]|0; - $54 = ($53<<24>>24)==(5); - if ($54) { - $55 = ((($header)) + 14|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)==(5); - if ($57) { - $58 = ((($header)) + 15|0); - $59 = HEAP8[$58>>0]|0; - $60 = ($59<<24>>24)==(1); - if ($60) { - $image$sroa$12$0 = 5; - break; - } - } - } - $$pr5 = HEAP8[$49>>0]|0; - $61 = $$pr5; - } else { - $61 = $50; - } - $62 = ($61<<24>>24)==(4); - if ($62) { - $63 = ((($header)) + 13|0); - $64 = HEAP8[$63>>0]|0; - $65 = ($64<<24>>24)==(4); - if ($65) { - $66 = ((($header)) + 14|0); - $67 = HEAP8[$66>>0]|0; - $68 = ($67<<24>>24)==(4); - if ($68) { - $69 = ((($header)) + 15|0); - $70 = HEAP8[$69>>0]|0; - $71 = ($70<<24>>24)==(4); - if ($71) { - $image$sroa$12$0 = 6; - break; - } - } - } - } - $72 = HEAP8[$49>>0]|0; - $73 = ($72<<24>>24)==(8); - if (!($73)) { - $image$sroa$12$0 = 0; - break; - } - $74 = ((($header)) + 13|0); - $75 = HEAP8[$74>>0]|0; - $76 = ($75<<24>>24)==(8); - if (!($76)) { - $image$sroa$12$0 = 0; - break; - } - $77 = ((($header)) + 14|0); - $78 = HEAP8[$77>>0]|0; - $79 = ($78<<24>>24)==(8); - if (!($79)) { - $image$sroa$12$0 = 0; - break; - } - $80 = ((($header)) + 15|0); - $81 = HEAP8[$80>>0]|0; - $82 = ($81<<24>>24)==(8); - $$ = $82 ? 7 : 0; - $image$sroa$12$0 = $$; - break; - } - } - } - $100 = HEAP8[$20>>0]|0; - $101 = ($100<<24>>24)==(2); - if ($101) { - $image$sroa$12$0 = 15; - } else { - $102 = ($100<<24>>24)==(3); - $$2 = $102 ? 16 : 0; - $image$sroa$12$0 = $$2; - } - } - } while(0); - HEAP8[$unused>>0] = 0; - $103 = ((($header)) + 48|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==(0); - if (!($105)) { - $i$08 = 0; - while(1) { - (_fread($unused,1,1,$0)|0); - $106 = (($i$08) + 1)|0; - $107 = HEAP32[$103>>2]|0; - $108 = ($106>>>0)<($107>>>0); - if ($108) { - $i$08 = $106; - } else { - break; - } - } - } - switch ($image$sroa$12$0|0) { - case 1: { - $bpp$0 = 8; - break; - } - case 6: case 3: case 5: case 2: { - $bpp$0 = 16; - break; - } - case 7: { - $bpp$0 = 32; - break; - } - case 4: { - $bpp$0 = 24; - break; - } - case 16: case 15: { - $bpp$0 = 4; - break; - } - default: { - $bpp$0 = 0; - } - } - $109 = Math_imul($17, $15)|0; - $110 = Math_imul($109, $bpp$0)|0; - $111 = (($110|0) / 8)&-1; - $112 = (_malloc($111)|0); - (_fread($112,$111,1,$0)|0); - $image$sroa$0$0 = $112;$image$sroa$10$0 = $19;$image$sroa$12$1 = $image$sroa$12$0;$image$sroa$4$0 = $15;$image$sroa$7$0 = $17; - } else { - label = 8; - } + $20 = ((($0)) + 316|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($0)) + 348|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = (((($0)) + 60|0) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = ((($0)) + 50|0); + $29 = HEAP16[$28>>1]|0; + $30 = ($29<<16>>16)==(0); + if ($30) { + label = 15; + } else { + $31 = $29&65535; + $32 = (((($21) + ($27<<3)|0)) + 4|0); + $33 = ((($0)) + 349|0); + $34 = ((($0)) + 388|0); + $$06061 = 0;$$062 = 0;$40 = $31;$43 = 0; + while(1) { + $36 = HEAP32[$32>>2]|0; + $37 = HEAP8[$33>>0]|0; + $38 = $37&255; + $39 = Math_imul($38, $40)|0; + $41 = (($36) + (($39*5)|0)|0); + $42 = (($41) + (($43*5)|0)|0); + $44 = HEAP32[$34>>2]|0; + $45 = (($44) + (($43*304)|0)|0); + $46 = (((($44) + (($43*304)|0)|0)) + 16|0); + HEAP32[$46>>2] = $42; + $47 = ((($42)) + 3|0); + $48 = HEAP8[$47>>0]|0; + $49 = ($48<<24>>24)==(14); + if ($49) { + $50 = ((($42)) + 4|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $$mask = $52 & 240; + $53 = ($$mask|0)==(208); + if ($53) { + $54 = $52 & 15; + $55 = $54&255; + $56 = (((($44) + (($43*304)|0)|0)) + 97|0); + HEAP8[$56>>0] = $55; } else { - label = 8; + label = 10; } } else { - label = 8; + label = 10; + } + if ((label|0) == 10) { + label = 0; + _jar_xm_handle_note_and_instrument($0,$45,$42); + } + $57 = ($$062|0)==(0); + if ($57) { + $58 = (((($44) + (($43*304)|0)|0)) + 99|0); + $59 = HEAP8[$58>>0]|0; + $60 = ($59<<24>>24)==(0); + $$0$ = $60 ? $$062 : 1; + $$1 = $$0$; + } else { + $$1 = $$062; + } + $61 = (($$06061) + 1)<<24>>24; + $62 = $61&255; + $63 = HEAP16[$28>>1]|0; + $64 = $63&65535; + $65 = ($62>>>0)<($64>>>0); + if ($65) { + $$06061 = $61;$$062 = $$1;$40 = $64;$43 = $62; + } else { + break; } - } else { - label = 8; } - if ((label|0) == 8) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,20725,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$10$0 = 0;$image$sroa$12$1 = 0;$image$sroa$4$0 = 0;$image$sroa$7$0 = 0; + $35 = ($$1|0)==(0); + if ($35) { + label = 15; } - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$10$1 = $image$sroa$10$0;$image$sroa$12$2 = $image$sroa$12$1;$image$sroa$4$1 = $image$sroa$4$0;$image$sroa$7$1 = $image$sroa$7$0; + } + if ((label|0) == 15) { + $66 = ((($0)) + 380|0); + $67 = HEAP32[$66>>2]|0; + $68 = HEAP8[$22>>0]|0; + $69 = $68&255; + $70 = $69 << 8; + $71 = ((($0)) + 349|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = $70 | $73; + $75 = (($67) + ($74)|0); + $76 = HEAP8[$75>>0]|0; + $77 = (($76) + 1)<<24>>24; + HEAP8[$75>>0] = $77; + $78 = ((($0)) + 384|0); + HEAP8[$78>>0] = $76; + } + $79 = ((($0)) + 349|0); + $80 = HEAP8[$79>>0]|0; + $81 = (($80) + 1)<<24>>24; + HEAP8[$79>>0] = $81; + $82 = HEAP32[$1>>2]|0; + $83 = ($82|0)==(0); + if (!($83)) { + return; + } + $84 = ((($0)) + 372|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)==(0); + if (!($86)) { + return; + } + $87 = $81&255; + $88 = (($21) + ($27<<3)|0); + $89 = HEAP16[$88>>1]|0; + $90 = $89&65535; + $91 = ($87>>>0)>=($90>>>0); + $92 = ($81<<24>>24)==(0); + $or$cond = $92 | $91; + if (!($or$cond)) { + return; + } + $93 = HEAP8[$22>>0]|0; + $94 = (($93) + 1)<<24>>24; + HEAP8[$22>>0] = $94; + $95 = ((($0)) + 377|0); + $96 = HEAP8[$95>>0]|0; + HEAP8[$79>>0] = $96; + HEAP8[$95>>0] = 0; + _jar_xm_post_pattern_change($0); + return; +} +function _jar_xm_envelopes($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.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, $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; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + $4 = ((($2)) + 176|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if (!($6)) { + $7 = ((($0)) + 52|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($2)) + 260|0); + $11 = HEAP16[$10>>1]|0; + $12 = (+($11&65535)); + $13 = $12 * 1.52587890625E-5; + $14 = ((($0)) + 56|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15 - $13; + HEAPF32[$14>>2] = $16; + $17 = $16 < 0.0; + if ($17) { + HEAPF32[$14>>2] = 0.0; + } + } + $18 = HEAP32[$1>>2]|0; + $19 = ((($18)) + 124|0); + $20 = ((($0)) + 68|0); + $21 = ((($0)) + 60|0); + _jar_xm_envelope_tick($0,$19,$20,$21); + } + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 240|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + return; + } + $26 = ((($22)) + 188|0); + $27 = ((($0)) + 70|0); + $28 = ((($0)) + 64|0); + _jar_xm_envelope_tick($0,$26,$27,$28); + return; +} +function _jar_xm_autovibrato($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + return; + } + $5 = ((($3)) + 257|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 48|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ((($3)) + 256|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($10>>>0)<($13>>>0); + $15 = (+($9&65535)); + $16 = (+($12&255)); + $17 = $15 / $16; + $18 = $17 + 0.0; + $$ = $14 ? $18 : 1.0; + $19 = (($9) + 1)<<16>>16; + HEAP16[$8>>1] = $19; + $20 = ((($3)) + 258|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = Math_imul($22, $10)|0; + $24 = $23 >>> 2; + $25 = ((($3)) + 252|0); + $26 = HEAP32[$25>>2]|0; + $27 = $24&255; + $28 = (+_jar_xm_waveform($26,$27)); + $29 = $28 * 0.25; + $30 = HEAP8[$5>>0]|0; + $31 = (+($30&255)); + $32 = $29 * $31; + $33 = $32 / 15.0; + $34 = $$ * $33; + $35 = ((($1)) + 72|0); + HEAPF32[$35>>2] = $34; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_update_frequency($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 24|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($1)) + 80|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)==(0); + if ($6) { + $8 = ((($1)) + 116|0); + $9 = +HEAPF32[$8>>2]; + $10 = ((($1)) + 72|0); + $11 = +HEAPF32[$10>>2]; + $12 = $9 + $11; + $13 = $12; + } else { + $7 = (+($5&255)); + $13 = $7; + } + $14 = (+_jar_xm_frequency($0,$3,$13)); + $15 = ((($1)) + 28|0); + HEAPF32[$15>>2] = $14; + $16 = ((($0)) + 324|0); + $17 = HEAP32[$16>>2]|0; + $18 = (+($17>>>0)); + $19 = $14 / $18; + $20 = ((($1)) + 32|0); + HEAPF32[$20>>2] = $19; + return; +} +function _jar_xm_volume_slide($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1&255; + $3 = $2 & 240; + $4 = ($3|0)!=(0); + $$not = $4 ^ 1; + $5 = $2 & 15; + $6 = ($5|0)==(0); + $or$cond = $6 | $$not; + if (!($or$cond)) { + return; + } + $7 = ((($0)) + 40|0); + $8 = +HEAPF32[$7>>2]; + if ($4) { + $9 = $2 >>> 4; + $10 = (+($9|0)); + $11 = $10 * 0.015625; + $12 = $11 + $8; + HEAPF32[$7>>2] = $12; + $13 = $12 > 1.0; + if (!($13)) { + return; + } + HEAPF32[$7>>2] = 1.0; + return; + } else { + $14 = (+($5|0)); + $15 = $14 * 0.015625; + $16 = $8 - $15; + HEAPF32[$7>>2] = $16; + $17 = $16 < 0.0; + if (!($17)) { + return; + } + HEAPF32[$7>>2] = 0.0; + return; + } +} +function _jar_xm_vibrato($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $3&65535; + $5 = $2&255; + $6 = $5 >>> 4; + $7 = Math_imul($4, $6)|0; + $8 = ((($1)) + 104|0); + $9 = HEAP32[$8>>2]|0; + $10 = $7&255; + $11 = (+_jar_xm_waveform($9,$10)); + $12 = $11 * 2.0; + $13 = $5 & 15; + $14 = (+($13|0)); + $15 = $14 * $12; + $16 = $15 / 15.0; + $17 = ((($1)) + 116|0); + HEAPF32[$17>>2] = $16; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_panning_slide($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1&255; + $3 = $2 & 240; + $4 = ($3|0)!=(0); + $$not = $4 ^ 1; + $5 = $2 & 15; + $6 = ($5|0)==(0); + $or$cond = $6 | $$not; + if (!($or$cond)) { + return; + } + $7 = ((($0)) + 44|0); + $8 = +HEAPF32[$7>>2]; + if ($4) { + $9 = $2 >>> 4; + $10 = (+($9|0)); + $11 = $10 / 255.0; + $12 = $11 + $8; + HEAPF32[$7>>2] = $12; + $13 = $12 > 1.0; + if (!($13)) { + return; + } + HEAPF32[$7>>2] = 1.0; + return; + } else { + $14 = (+($5|0)); + $15 = $14 / 255.0; + $16 = $8 - $15; + HEAPF32[$7>>2] = $16; + $17 = $16 < 0.0; + if (!($17)) { + return; + } + HEAPF32[$7>>2] = 0.0; + return; + } +} +function _jar_xm_tone_portamento($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $29 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 92|0); + $3 = +HEAPF32[$2>>2]; + $4 = $3 == 0.0; + if ($4) { + return; + } + $5 = ((($1)) + 24|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 != $3; + if (!($7)) { + return; + } + $8 = $6 > $3; + if ($8) { + $9 = ((($0)) + 56|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0); + $12 = $11 ? 4.0 : 1.0; + $13 = ((($1)) + 91|0); + $14 = HEAP8[$13>>0]|0; + $15 = (+($14&255)); + $16 = $12 * $15; + $17 = $6 - $16; + HEAPF32[$5>>2] = $17; + $18 = $17 < $3; + if ($18) { + HEAPF32[$5>>2] = $3; + } + } else { + $19 = $6 < $3; + if ($19) { + $20 = ((($0)) + 56|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0); + $23 = $22 ? 4.0 : 1.0; + $24 = ((($1)) + 91|0); + $25 = HEAP8[$24>>0]|0; + $26 = (+($25&255)); + $27 = $23 * $26; + $28 = $6 + $27; + HEAPF32[$5>>2] = $28; + $29 = $28 > $3; + if ($29) { + HEAPF32[$5>>2] = $3; + } + } + } + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_arpeggio($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (($3&65535) % 3)&-1; + $trunc = $4&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $5 = ((($1)) + 76|0); + HEAP32[$5>>2] = 0; + $$sink = 0; break; } - case 52: { - _TraceLog(0,20773,$vararg_buffer4); - $image$sroa$0$1 = 0;$image$sroa$10$1 = 0;$image$sroa$12$2 = 0;$image$sroa$4$1 = 0;$image$sroa$7$1 = 0; + case 2: { + $6 = ((($1)) + 76|0); + HEAP32[$6>>2] = 1; + $7 = ($2&255) >>> 4; + $$sink = $7; + break; + } + case 1: { + $8 = ((($1)) + 76|0); + HEAP32[$8>>2] = 1; + $9 = $2 & 15; + $$sink = $9; break; } default: { - $image$sroa$0$1 = 0;$image$sroa$10$1 = 0;$image$sroa$12$2 = 0;$image$sroa$4$1 = 0;$image$sroa$7$1 = 0; + _jar_xm_update_frequency($0,$1); + return; } } - (_fclose($0)|0); - $image$sroa$0$2 = $image$sroa$0$1;$image$sroa$10$2 = $image$sroa$10$1;$image$sroa$12$3 = $image$sroa$12$2;$image$sroa$4$2 = $image$sroa$4$1;$image$sroa$7$2 = $image$sroa$7$1; - HEAP32[$agg$result>>2] = $image$sroa$0$2; - $113 = ((($agg$result)) + 4|0); - HEAP32[$113>>2] = $image$sroa$4$2; - $114 = ((($agg$result)) + 8|0); - HEAP32[$114>>2] = $image$sroa$7$2; - $115 = ((($agg$result)) + 12|0); - HEAP32[$115>>2] = $image$sroa$10$2; - $116 = ((($agg$result)) + 16|0); - HEAP32[$116>>2] = $image$sroa$12$3; + $10 = ((($1)) + 80|0); + HEAP8[$10>>0] = $$sink; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_pitch_slide($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + $6 = $2 * 4.0; + $$ = $5 ? $6 : $2; + $7 = ((($1)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $$; + $10 = $9 < 0.0; + $storemerge = $10 ? 0.0 : $9; + HEAPF32[$7>>2] = $storemerge; + _jar_xm_update_frequency($0,$1); + return; +} +function _jar_xm_tremolo($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2&65535; + $4 = $1&255; + $5 = $4 >>> 4; + $6 = Math_imul($3, $5)|0; + $7 = ((($0)) + 120|0); + $8 = HEAP32[$7>>2]|0; + $9 = $6&255; + $10 = (+_jar_xm_waveform($8,$9)); + $11 = $4 & 15; + $12 = (+($11|0)); + $13 = $12 * $10; + $14 = -$13; + $15 = $14 / 15.0; + $16 = ((($0)) + 132|0); + HEAPF32[$16>>2] = $15; + return; +} +function _jar_xm_trigger_note($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.0, $39 = 0.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, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 & 4; + $4 = ($3|0)==(0); + if ($4) { + $5 = ((($1)) + 20|0); + HEAPF32[$5>>2] = 0.0; + $6 = ((($1)) + 36|0); + HEAP32[$6>>2] = 1; + } + $7 = ((($1)) + 12|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if (!($9)) { + $10 = $2 & 1; + $11 = ($10|0)==(0); + if ($11) { + $12 = ((($8)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($1)) + 40|0); + HEAP32[$14>>2] = $13; + } + $15 = ((($8)) + 52|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($1)) + 44|0); + HEAP32[$17>>2] = $16; + } + $18 = ((($1)) + 52|0); + HEAP32[$18>>2] = 1; + $19 = ((($1)) + 60|0); + HEAPF32[$19>>2] = 1.0; + $20 = ((($1)) + 56|0); + HEAPF32[$20>>2] = 1.0; + $21 = ((($1)) + 64|0); + HEAPF32[$21>>2] = 0.5; + $22 = ((($1)) + 70|0); + HEAP16[$22>>1] = 0; + $23 = ((($1)) + 68|0); + HEAP16[$23>>1] = 0; + $24 = ((($1)) + 116|0); + HEAPF32[$24>>2] = 0.0; + $25 = ((($1)) + 132|0); + HEAPF32[$25>>2] = 0.0; + $26 = ((($1)) + 140|0); + HEAP32[$26>>2] = 0; + $27 = ((($1)) + 48|0); + HEAP16[$27>>1] = 0; + $28 = ((($1)) + 108|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)==(0); + if (!($30)) { + $31 = ((($1)) + 114|0); + HEAP16[$31>>1] = 0; + } + $32 = ((($1)) + 124|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(0); + if (!($34)) { + $35 = ((($1)) + 129|0); + HEAP8[$35>>0] = 0; + } + $36 = $2 & 2; + $37 = ($36|0)==(0); + if ($37) { + $38 = +HEAPF32[$1>>2]; + $39 = (+_jar_xm_period($0,$38)); + $40 = ((($1)) + 24|0); + HEAPF32[$40>>2] = $39; + _jar_xm_update_frequency($0,$1); + } + $41 = ((($0)) + 360|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = ((($1)) + 144|0); + $49 = $48; + $50 = $49; + HEAP32[$50>>2] = $44; + $51 = (($49) + 4)|0; + $52 = $51; + HEAP32[$52>>2] = $47; + $53 = ((($1)) + 8|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==(0|0); + if (!($55)) { + $56 = ((($54)) + 264|0); + $57 = $56; + $58 = $57; + HEAP32[$58>>2] = $44; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = $47; + } + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + return; + } + $63 = ((($61)) + 64|0); + $64 = $63; + $65 = $64; + HEAP32[$65>>2] = $44; + $66 = (($64) + 4)|0; + $67 = $66; + HEAP32[$67>>2] = $47; + return; +} +function _jar_xm_cut_note($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 40|0); + HEAPF32[$1>>2] = 0.0; + return; +} +function _jar_xm_handle_note_and_instrument($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0275 = 0, $$lobit = 0, $$lobit262 = 0, $$mask = 0, $$mask265 = 0, $$mask266 = 0, $$off = 0, $$off273 = 0, $$off274 = 0, $$old1 = 0, $$sink = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0; + var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0.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.0, $133 = 0.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.0, $202 = 0.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.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.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.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0.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.0, $288 = 0, $289 = 0; + var $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.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; + var $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, $324 = 0; + var $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, $342 = 0; + var $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, $360 = 0; + var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0.0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; + var $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, $397 = 0; + var $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.0, $411 = 0.0, $412 = 0, $413 = 0, $414 = 0; + var $415 = 0, $416 = 0, $417 = 0, $418 = 0.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.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.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.0, $97 = 0, $98 = 0, $99 = 0.0, $exitcond = 0, $or$cond = 0, $phitmp = 0.0, $phitmp260 = 0.0, $phitmp263 = 0.0, $phitmp264 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc259 = 0, $trunc259$clear = 0, $trunc261 = 0, $trunc261$clear = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 1|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)==(0); + do { + if (!($5)) { + $6 = ((($1)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 3|0); + $9 = HEAP8[$8>>0]|0; + switch ($9<<24>>24) { + case 5: case 3: { + label = 4; + break; + } + default: { + $10 = ((($7)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11&255)>(239); + if ($12) { + label = 4; + } + } + } + if ((label|0) == 4) { + $13 = ((($1)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0|0); + if (!($15)) { + $16 = ((($1)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0|0); + if (!($18)) { + _jar_xm_trigger_note($0,$1,6); + break; + } + } + } + $19 = HEAP8[$3>>0]|0; + $20 = $19&255; + $21 = ((($0)) + 54|0); + $22 = HEAP16[$21>>1]|0; + $23 = $22&65535; + $24 = ($20>>>0)>($23>>>0); + if ($24) { + _jar_xm_cut_note($1); + $25 = ((($1)) + 8|0); + HEAP32[$25>>2] = 0; + $26 = ((($1)) + 12|0); + HEAP32[$26>>2] = 0; + break; + } + $27 = ((($0)) + 320|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($20) + -1)|0; + $30 = (($28) + (($29*280)|0)|0); + $31 = ((($1)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = HEAP8[$2>>0]|0; + $33 = ($32<<24>>24)==(0); + if ($33) { + $34 = ((($1)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = ($35|0)==(0|0); + if (!($36)) { + _jar_xm_trigger_note($0,$1,4); + } + } + } + } while(0); + $37 = HEAP8[$2>>0]|0; + $$off = (($37) + -1)<<24>>24; + $38 = ($$off&255)<(96); + do { + if ($38) { + $39 = ((($1)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($1)) + 16|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($42)) + 3|0); + $44 = HEAP8[$43>>0]|0; + $$old1 = ($40|0)!=(0|0); + switch ($44<<24>>24) { + case 5: case 3: { + if ($$old1) { + label = 16; + } + break; + } + default: { + $45 = ((($42)) + 2|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46&255)>(239); + $or$cond = $$old1 & $47; + if ($or$cond) { + label = 16; + } else { + $66 = ($40|0)==(0|0); + if (!($66)) { + label = 19; + } + } + } + } + if ((label|0) == 16) { + $48 = ((($1)) + 12|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0|0); + if ($50) { + label = 19; + } else { + $51 = HEAP8[$2>>0]|0; + $52 = $51&255; + $53 = ((($49)) + 56|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54 << 24 >> 24; + $56 = (($55) + ($52))|0; + $57 = (+($56|0)); + $58 = ((($49)) + 44|0); + $59 = HEAP8[$58>>0]|0; + $60 = (+($59<<24>>24)); + $61 = $60 * 0.0078125; + $62 = $57 + $61; + $63 = $62 + -1.0; + HEAPF32[$1>>2] = $63; + $64 = (+_jar_xm_period($0,$63)); + $65 = ((($1)) + 92|0); + HEAPF32[$65>>2] = $64; + break; + } + } + if ((label|0) == 19) { + $67 = HEAP32[$39>>2]|0; + $68 = ((($67)) + 24|0); + $69 = HEAP16[$68>>1]|0; + $70 = ($69<<16>>16)==(0); + if (!($70)) { + $71 = HEAP8[$2>>0]|0; + $72 = $71&255; + $73 = (($72) + -1)|0; + $74 = (((($40)) + 26|0) + ($73)|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = ((($40)) + 24|0); + $78 = HEAP16[$77>>1]|0; + $79 = $78&65535; + $80 = ($76>>>0)<($79>>>0); + if ($80) { + $$0275 = 0; + } else { + _jar_xm_cut_note($1); + break; + } + while(1) { + $106 = (+_jar_xm_next_of_sample($1)); + $107 = (((($1)) + 168|0) + ($$0275<<2)|0); + HEAPF32[$107>>2] = $106; + $108 = (($$0275) + 1)|0; + $exitcond = ($108|0)==(32); + if ($exitcond) { + break; + } else { + $$0275 = $108; + } + } + $81 = ((($1)) + 164|0); + HEAP32[$81>>2] = 0; + $82 = ((($40)) + 276|0); + $83 = HEAP32[$82>>2]|0; + $84 = HEAP8[$2>>0]|0; + $85 = $84&255; + $86 = (($85) + -1)|0; + $87 = (((($40)) + 26|0) + ($86)|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = (($83) + (($89*80)|0)|0); + $91 = ((($1)) + 12|0); + HEAP32[$91>>2] = $90; + $92 = (((($83) + (($89*80)|0)|0)) + 56|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93 << 24 >> 24; + $95 = (($94) + ($85))|0; + $96 = (+($95|0)); + $97 = (((($83) + (($89*80)|0)|0)) + 44|0); + $98 = HEAP8[$97>>0]|0; + $99 = (+($98<<24>>24)); + $100 = $99 * 0.0078125; + $101 = $96 + $100; + $102 = $101 + -1.0; + HEAPF32[$1>>2] = $102; + $103 = ((($1)) + 4|0); + HEAPF32[$103>>2] = $102; + $104 = HEAP8[$3>>0]|0; + $105 = ($104<<24>>24)==(0); + if ($105) { + _jar_xm_trigger_note($0,$1,1); + break; + } else { + _jar_xm_trigger_note($0,$1,0); + break; + } + } + } + _jar_xm_cut_note($1); + } else { + $109 = ($37<<24>>24)==(97); + if ($109) { + _jar_xm_key_off($1); + } + } + } while(0); + $110 = ((($2)) + 2|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $trunc = ($111&255) >>> 4; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 5: { + $113 = ($111&255)>(80); + if (!($113)) { + label = 31; + } + break; + } + case 4: case 3: case 2: case 1: { + label = 31; + break; + } + case 8: { + $118 = $112 & 15; + $119 = $118&255; + _jar_xm_volume_slide($1,$119); + break; + } + case 9: { + $120 = $112 << 4; + $121 = $120&255; + _jar_xm_volume_slide($1,$121); + break; + } + case 10: { + $122 = ((($1)) + 112|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123 & 15; + $125 = $124&255; + $126 = $112 << 4; + $127 = $125 | $126; + $128 = $127&255; + HEAP8[$122>>0] = $128; + break; + } + case 12: { + $129 = $112 & 15; + $130 = $129 << 4; + $131 = $130 | $129; + $132 = (+($131|0)); + $133 = $132 / 255.0; + $134 = ((($1)) + 44|0); + HEAPF32[$134>>2] = $133; + break; + } + case 15: { + $135 = $112 & 15; + $136 = ($135|0)==(0); + if (!($136)) { + $137 = ((($1)) + 91|0); + $138 = $112 << 4; + $139 = $138 | $135; + $140 = $139&255; + HEAP8[$137>>0] = $140; + } + break; + } + default: { + } + } + if ((label|0) == 31) { + $114 = (($112) + -16)|0; + $115 = (+($114|0)); + $116 = $115 * 0.015625; + $117 = ((($1)) + 40|0); + HEAPF32[$117>>2] = $116; + } + $141 = ((($2)) + 3|0); + $142 = HEAP8[$141>>0]|0; + do { + switch ($142<<24>>24) { + case 1: { + $143 = ((($2)) + 4|0); + $144 = HEAP8[$143>>0]|0; + $145 = ($144<<24>>24)==(0); + if ($145) { + return; + } + $146 = ((($1)) + 85|0); + HEAP8[$146>>0] = $144; + return; + break; + } + case 2: { + $147 = ((($2)) + 4|0); + $148 = HEAP8[$147>>0]|0; + $149 = ($148<<24>>24)==(0); + if ($149) { + return; + } + $150 = ((($1)) + 86|0); + HEAP8[$150>>0] = $148; + return; + break; + } + case 3: { + $151 = ((($2)) + 4|0); + $152 = HEAP8[$151>>0]|0; + $153 = ($152<<24>>24)==(0); + if ($153) { + return; + } + $154 = ((($1)) + 91|0); + HEAP8[$154>>0] = $152; + return; + break; + } + case 4: { + $155 = ((($2)) + 4|0); + $156 = HEAP8[$155>>0]|0; + $157 = $156&255; + $158 = $157 & 15; + $159 = ($158|0)==(0); + if (!($159)) { + $160 = ((($1)) + 112|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161 & -16; + $163 = $162&255; + $164 = $163 | $158; + $165 = $164&255; + HEAP8[$160>>0] = $165; + } + $$mask266 = $157 & 240; + $166 = ($$mask266|0)==(0); + if ($166) { + return; + } + $167 = ((($1)) + 112|0); + $168 = HEAP8[$167>>0]|0; + $169 = $168 & 15; + $170 = $169&255; + $171 = $170 | $$mask266; + $172 = $171&255; + HEAP8[$167>>0] = $172; + return; + break; + } + case 5: { + $173 = ((($2)) + 4|0); + $174 = HEAP8[$173>>0]|0; + $175 = ($174<<24>>24)==(0); + if ($175) { + return; + } + $176 = ((($1)) + 81|0); + HEAP8[$176>>0] = $174; + return; + break; + } + case 6: { + $177 = ((($2)) + 4|0); + $178 = HEAP8[$177>>0]|0; + $179 = ($178<<24>>24)==(0); + if ($179) { + return; + } + $180 = ((($1)) + 81|0); + HEAP8[$180>>0] = $178; + return; + break; + } + case 7: { + $181 = ((($2)) + 4|0); + $182 = HEAP8[$181>>0]|0; + $183 = $182&255; + $184 = $183 & 15; + $185 = ($184|0)==(0); + if (!($185)) { + $186 = ((($1)) + 128|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 & -16; + $189 = $188&255; + $190 = $189 | $184; + $191 = $190&255; + HEAP8[$186>>0] = $191; + } + $$mask265 = $183 & 240; + $192 = ($$mask265|0)==(0); + if ($192) { + return; + } + $193 = ((($1)) + 128|0); + $194 = HEAP8[$193>>0]|0; + $195 = $194 & 15; + $196 = $195&255; + $197 = $196 | $$mask265; + $198 = $197&255; + HEAP8[$193>>0] = $198; + return; + break; + } + case 8: { + $199 = ((($2)) + 4|0); + $200 = HEAP8[$199>>0]|0; + $201 = (+($200&255)); + $202 = $201 / 255.0; + $203 = ((($1)) + 44|0); + HEAPF32[$203>>2] = $202; + return; + break; + } + case 9: { + $204 = ((($1)) + 12|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + if ($206) { + return; + } + $207 = HEAP8[$2>>0]|0; + $$off274 = (($207) + -1)<<24>>24; + $208 = ($$off274&255)<(96); + if (!($208)) { + return; + } + $209 = ((($2)) + 4|0); + $210 = HEAP8[$209>>0]|0; + $211 = $210&255; + $212 = ((($205)) + 23|0); + $213 = HEAP8[$212>>0]|0; + $214 = ($213<<24>>24)==(16); + $215 = $214 ? 7 : 8; + $216 = $211 << $215; + $217 = ((($205)) + 24|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($216>>>0)<($218>>>0); + if ($219) { + $221 = (+($216>>>0)); + $222 = ((($1)) + 20|0); + HEAPF32[$222>>2] = $221; + return; + } else { + $220 = ((($1)) + 20|0); + HEAPF32[$220>>2] = -1.0; + return; + } + break; + } + case 10: { + $223 = ((($2)) + 4|0); + $224 = HEAP8[$223>>0]|0; + $225 = ($224<<24>>24)==(0); + if ($225) { + return; + } + $226 = ((($1)) + 81|0); + HEAP8[$226>>0] = $224; + return; + break; + } + case 11: { + $227 = ((($2)) + 4|0); + $228 = HEAP8[$227>>0]|0; + $229 = $228&255; + $230 = ((($0)) + 46|0); + $231 = HEAP16[$230>>1]|0; + $232 = $231&65535; + $233 = ($229>>>0)<($232>>>0); + if (!($233)) { + return; + } + $234 = ((($0)) + 368|0); + HEAP32[$234>>2] = 1; + $235 = ((($0)) + 376|0); + HEAP8[$235>>0] = $228; + return; + break; + } + case 12: { + $236 = ((($2)) + 4|0); + $237 = HEAP8[$236>>0]|0; + $238 = ($237&255)>(64); + $phitmp263 = (+($237&255)); + $phitmp264 = $phitmp263 * 0.015625; + $239 = $238 ? 1.0 : $phitmp264; + $240 = ((($1)) + 40|0); + HEAPF32[$240>>2] = $239; + return; + break; + } + case 13: { + $241 = ((($0)) + 372|0); + HEAP32[$241>>2] = 1; + $242 = ((($2)) + 4|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + $245 = $244 >>> 4; + $246 = ($245*10)|0; + $247 = $244 & 15; + $248 = (($246) + ($247))|0; + $249 = $248&255; + $250 = ((($0)) + 377|0); + HEAP8[$250>>0] = $249; + return; + break; + } + case 14: { + $251 = ((($2)) + 4|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $trunc261 = ($252&255) >>> 4; + $trunc261$clear = $trunc261 & 15; + do { + switch ($trunc261$clear<<24>>24) { + case 1: { + $254 = $253 & 15; + $255 = ($254|0)==(0); + if (!($255)) { + $256 = $254&255; + $257 = ((($1)) + 87|0); + HEAP8[$257>>0] = $256; + } + $258 = ((($1)) + 87|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (0 - ($260))|0; + $262 = (+($261|0)); + _jar_xm_pitch_slide($0,$1,$262); + return; + break; + } + case 2: { + $263 = $253 & 15; + $264 = ($263|0)==(0); + if (!($264)) { + $265 = $263&255; + $266 = ((($1)) + 88|0); + HEAP8[$266>>0] = $265; + } + $267 = ((($1)) + 88|0); + $268 = HEAP8[$267>>0]|0; + $269 = (+($268&255)); + _jar_xm_pitch_slide($0,$1,$269); + return; + break; + } + case 4: { + $270 = $253 & 3; + $271 = ((($1)) + 104|0); + HEAP32[$271>>2] = $270; + $272 = $253 >>> 2; + $$lobit262 = $272 & 1; + $273 = $$lobit262 ^ 1; + $274 = ((($1)) + 108|0); + HEAP32[$274>>2] = $273; + return; + break; + } + case 5: { + $275 = ((($1)) + 16|0); + $276 = HEAP32[$275>>2]|0; + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $$off273 = (($277) + -1)<<24>>24; + $279 = ($$off273&255)<(96); + if (!($279)) { + return; + } + $280 = ((($1)) + 12|0); + $281 = HEAP32[$280>>2]|0; + $282 = ($281|0)==(0|0); + if ($282) { + return; + } + $283 = ((($281)) + 56|0); + $284 = HEAP8[$283>>0]|0; + $285 = $284 << 24 >> 24; + $286 = (($285) + ($278))|0; + $287 = (+($286|0)); + $288 = $253 << 4; + $289 = $288 & 240; + $290 = (($289) + -128)|0; + $291 = (+($290|0)); + $292 = $291 * 0.0078125; + $293 = $292 + $287; + $294 = $293 + -1.0; + HEAPF32[$1>>2] = $294; + $295 = (+_jar_xm_period($0,$294)); + $296 = ((($1)) + 24|0); + HEAPF32[$296>>2] = $295; + _jar_xm_update_frequency($0,$1); + return; + break; + } + case 6: { + $297 = $253 & 15; + $298 = ($297|0)==(0); + if ($298) { + $311 = ((($0)) + 349|0); + $312 = HEAP8[$311>>0]|0; + $313 = ((($1)) + 98|0); + HEAP8[$313>>0] = $312; + $314 = ((($0)) + 377|0); + HEAP8[$314>>0] = $312; + return; + } + $299 = ((($1)) + 99|0); + $300 = HEAP8[$299>>0]|0; + $301 = $300&255; + $302 = ($297|0)==($301|0); + if ($302) { + HEAP8[$299>>0] = 0; + return; + } else { + $303 = (($300) + 1)<<24>>24; + HEAP8[$299>>0] = $303; + $304 = ((($0)) + 368|0); + HEAP32[$304>>2] = 1; + $305 = ((($1)) + 98|0); + $306 = HEAP8[$305>>0]|0; + $307 = ((($0)) + 377|0); + HEAP8[$307>>0] = $306; + $308 = ((($0)) + 348|0); + $309 = HEAP8[$308>>0]|0; + $310 = ((($0)) + 376|0); + HEAP8[$310>>0] = $309; + return; + } + break; + } + case 7: { + $315 = $253 & 3; + $316 = ((($1)) + 120|0); + HEAP32[$316>>2] = $315; + $317 = $253 >>> 2; + $$lobit = $317 & 1; + $318 = $$lobit ^ 1; + $319 = ((($1)) + 124|0); + HEAP32[$319>>2] = $318; + return; + break; + } + case 10: { + $320 = $253 & 15; + $321 = ($320|0)==(0); + if (!($321)) { + $322 = $320&255; + $323 = ((($1)) + 82|0); + HEAP8[$323>>0] = $322; + } + $324 = ((($1)) + 82|0); + $325 = HEAP8[$324>>0]|0; + $326 = $325&255; + $327 = $326 << 4; + $328 = $327&255; + _jar_xm_volume_slide($1,$328); + return; + break; + } + case 11: { + $329 = $253 & 15; + $330 = ($329|0)==(0); + if (!($330)) { + $331 = $329&255; + $332 = ((($1)) + 82|0); + HEAP8[$332>>0] = $331; + } + $333 = ((($1)) + 82|0); + $334 = HEAP8[$333>>0]|0; + _jar_xm_volume_slide($1,$334); + return; + break; + } + case 13: { + $335 = HEAP8[$2>>0]|0; + $336 = ($335<<24>>24)==(0); + if (!($336)) { + return; + } + $337 = HEAP8[$3>>0]|0; + $338 = ($337<<24>>24)==(0); + if (!($338)) { + return; + } + $339 = ((($1)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $341 = ((($340)) + 4|0); + $342 = HEAP8[$341>>0]|0; + $343 = $342 & 15; + $344 = ($343<<24>>24)==(0); + if ($344) { + _jar_xm_trigger_note($0,$1,7); + return; + } else { + $345 = ((($1)) + 4|0); + $346 = HEAP32[$345>>2]|0; + HEAP32[$1>>2] = $346; + _jar_xm_trigger_note($0,$1,1); + return; + } + break; + } + case 14: { + $347 = ((($1)) + 16|0); + $348 = HEAP32[$347>>2]|0; + $349 = ((($348)) + 4|0); + $350 = HEAP8[$349>>0]|0; + $351 = $350 & 15; + $352 = $351&255; + $353 = ((($0)) + 328|0); + $354 = HEAP16[$353>>1]|0; + $355 = $354&65535; + $356 = Math_imul($352, $355)|0; + $357 = $356&65535; + $358 = ((($0)) + 378|0); + HEAP16[$358>>1] = $357; + return; + break; + } + default: { + return; + } + } + } while(0); + break; + } + case 15: { + $359 = ((($2)) + 4|0); + $360 = HEAP8[$359>>0]|0; + $361 = ($360<<24>>24)==(0); + if ($361) { + return; + } + $362 = ($360&255)<(32); + $363 = $360&255; + if ($362) { + $364 = ((($0)) + 328|0); + HEAP16[$364>>1] = $363; + return; + } else { + $365 = ((($0)) + 330|0); + HEAP16[$365>>1] = $363; + return; + } + break; + } + case 16: { + $366 = ((($2)) + 4|0); + $367 = HEAP8[$366>>0]|0; + $368 = ($367&255)>(64); + $phitmp = (+($367&255)); + $phitmp260 = $phitmp * 0.015625; + $369 = $368 ? 1.0 : $phitmp260; + $370 = ((($0)) + 332|0); + HEAPF32[$370>>2] = $369; + return; + break; + } + case 17: { + $371 = ((($2)) + 4|0); + $372 = HEAP8[$371>>0]|0; + $373 = ($372<<24>>24)==(0); + if ($373) { + return; + } + $374 = ((($1)) + 83|0); + HEAP8[$374>>0] = $372; + return; + break; + } + case 21: { + $375 = ((($2)) + 4|0); + $376 = HEAP8[$375>>0]|0; + $377 = $376&255; + $378 = ((($1)) + 68|0); + HEAP16[$378>>1] = $377; + $379 = ((($1)) + 70|0); + HEAP16[$379>>1] = $377; + return; + break; + } + case 25: { + $380 = ((($2)) + 4|0); + $381 = HEAP8[$380>>0]|0; + $382 = ($381<<24>>24)==(0); + if ($382) { + return; + } + $383 = ((($1)) + 84|0); + HEAP8[$383>>0] = $381; + return; + break; + } + case 27: { + $384 = ((($2)) + 4|0); + $385 = HEAP8[$384>>0]|0; + $386 = $385&255; + $387 = ($385<<24>>24)==(0); + if ($387) { + return; + } + $$mask = $386 & 240; + $388 = ($$mask|0)==(0); + if ($388) { + $389 = ((($1)) + 96|0); + $390 = HEAP8[$389>>0]|0; + $391 = $390 & -16; + $392 = $391&255; + $393 = $386 & 15; + $394 = $392 | $393; + $395 = $394&255; + $$sink = $395; + } else { + $$sink = $385; + } + $396 = ((($1)) + 96|0); + HEAP8[$396>>0] = $$sink; + return; + break; + } + case 29: { + $397 = ((($2)) + 4|0); + $398 = HEAP8[$397>>0]|0; + $399 = ($398<<24>>24)==(0); + if ($399) { + return; + } + $400 = ((($1)) + 136|0); + HEAP8[$400>>0] = $398; + return; + break; + } + case 33: { + $401 = ((($2)) + 4|0); + $402 = HEAP8[$401>>0]|0; + $403 = $402&255; + $trunc259 = ($402&255) >>> 4; + $trunc259$clear = $trunc259 & 15; + switch ($trunc259$clear<<24>>24) { + case 1: { + $404 = $403 & 15; + $405 = ($404|0)==(0); + if (!($405)) { + $406 = $404&255; + $407 = ((($1)) + 89|0); + HEAP8[$407>>0] = $406; + } + $408 = ((($1)) + 89|0); + $409 = HEAP8[$408>>0]|0; + $410 = (+($409&255)); + $411 = -$410; + _jar_xm_pitch_slide($0,$1,$411); + return; + break; + } + case 2: { + $412 = $403 & 15; + $413 = ($412|0)==(0); + if (!($413)) { + $414 = $412&255; + $415 = ((($1)) + 90|0); + HEAP8[$415>>0] = $414; + } + $416 = ((($1)) + 90|0); + $417 = HEAP8[$416>>0]|0; + $418 = (+($417&255)); + _jar_xm_pitch_slide($0,$1,$418); + return; + break; + } + default: { + return; + } + } + break; + } + default: { + return; + } + } + } while(0); +} +function _jar_xm_key_off($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 52|0); + HEAP32[$1>>2] = 0; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if (!($4)) { + $5 = ((($3)) + 176|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + _jar_xm_cut_note($0); + return; +} +function _jar_xm_period($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$0 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 56|0); + $3 = HEAP32[$2>>2]|0; + switch ($3|0) { + case 0: { + $4 = (+_jar_xm_linear_period($1)); + $$0 = $4; + break; + } + case 1: { + $5 = (+_jar_xm_amiga_period($1)); + $$0 = $5; + break; + } + default: { + $$0 = 0.0; + } + } + return (+$$0); +} +function _jar_xm_linear_period($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 * 64.0; + $2 = 7680.0 - $1; + return (+$2); +} +function _jar_xm_amiga_period($0) { + $0 = +$0; + var $$0 = 0, $$023 = 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.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (~~(($0))>>>0); + $2 = (($1>>>0) % 12)&-1; + $3 = $0 / 12.0; + $4 = $3 + -2.0; + $5 = (~~(($4))); + $6 = (5672 + ($2<<1)|0); + $7 = HEAP16[$6>>1]|0; + $8 = (($2) + 1)|0; + $9 = (5672 + ($8<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = $5 << 24 >> 24; + $12 = ($5<<24>>24)>(0); + if ($12) { + $13 = $7&65535; + $14 = $13 >>> $11; + $15 = $14&65535; + $16 = $10&65535; + $17 = $16 >>> $11; + $18 = $17&65535; + $$0 = $18;$$023 = $15; + } else { + $19 = ($5<<24>>24)<(0); + $20 = (0 - ($11))|0; + if ($19) { + $21 = $10&65535; + $22 = $21 << $20; + $23 = $7&65535; + $24 = $23 << $20; + $25 = $24&65535; + $26 = $22&65535; + $$0 = $26;$$023 = $25; + } else { + $$0 = $10;$$023 = $7; + } + } + $27 = $$023&65535; + $28 = (+($$023&65535)); + $29 = (+($1>>>0)); + $30 = $0 - $29; + $31 = $$0&65535; + $32 = (($31) - ($27))|0; + $33 = (+($32|0)); + $34 = $30 * $33; + $35 = $28 + $34; + return (+$35); +} +function _jar_xm_waveform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $3 = 0.0, $4 = 0.0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 63; + switch ($0|0) { + case 0: { + $3 = (+($2&255)); + $4 = $3 * 6.2831840515136719; + $5 = $4 * 0.015625; + $6 = (+Math_sin((+$5))); + $7 = -$6; + $$0 = $7; + return (+$$0); + break; + } + case 1: { + $8 = $2&255; + $9 = (32 - ($8))|0; + $10 = (+($9|0)); + $11 = $10 * 0.03125; + $$0 = $11; + return (+$$0); + break; + } + case 2: { + $12 = ($2&255)>(31); + $13 = $12 ? 1.0 : -1.0; + $$0 = $13; + return (+$$0); + break; + } + case 3: { + $14 = HEAP32[938]|0; + $15 = Math_imul($14, 1103515245)|0; + $16 = (($15) + 12345)|0; + HEAP32[938] = $16; + $17 = $16 >>> 16; + $18 = $17 & 32767; + $19 = (+($18>>>0)); + $20 = $19 * 6.103515625E-5; + $21 = $20 + -1.0; + $$0 = $21; + return (+$$0); + break; + } + case 4: { + $22 = $2&255; + $23 = (($22) + -32)|0; + $24 = (+($23|0)); + $25 = $24 * 0.03125; + $$0 = $25; + return (+$$0); + break; + } + default: { + $$0 = 0.0; + return (+$$0); + } + } + return +(0.0); +} +function _jar_xm_frequency($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$050 = 0.0, $$051 = 0, $$054 = 0, $$1 = 0, $$148 = 0, $$152 = 0, $$253 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.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.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0; + var $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $indvars$iv = 0, $indvars$iv$next = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + switch ($4|0) { + case 0: { + $5 = $2 * 64.0; + $6 = $1 - $5; + $7 = (+_jar_xm_linear_frequency($6)); + $$050 = $7; + return (+$$050); + break; + } + case 1: { + $8 = $2 == 0.0; + if ($8) { + $9 = (+_jar_xm_amiga_frequency($1)); + $$050 = $9; + return (+$$050); + } + $10 = $1 > 1712.0; + if ($10) { + $$051 = -1; + while(1) { + $11 = $$051 << 24 >> 24; + $12 = (0 - ($11))|0; + $13 = 1712 << $12; + $14 = (+($13|0)); + $15 = $14 < $1; + $16 = (($$051) + -1)<<24>>24; + if ($15) { + $$051 = $16; + } else { + $$253 = $$051; + break; + } + } + } else { + $17 = $1 < 856.0; + if ($17) { + $$152 = 1; + while(1) { + $18 = $$152 << 24 >> 24; + $19 = 856 >>> $18; + $20 = (+($19|0)); + $21 = $20 > $1; + $22 = (($$152) + 1)<<24>>24; + if ($21) { + $$152 = $22; + } else { + $$253 = $$152; + break; + } + } + } else { + $$253 = 0; + } + } + $23 = $$253 << 24 >> 24; + $24 = ($$253<<24>>24)>(0); + $25 = ($$253<<24>>24)<(0); + $26 = (0 - ($23))|0; + $indvars$iv = 0; + while(1) { + $27 = (5672 + ($indvars$iv<<1)|0); + $28 = HEAP16[$27>>1]|0; + $29 = (($indvars$iv) + 1)|0; + $30 = (5672 + ($29<<1)|0); + $31 = HEAP16[$30>>1]|0; + if ($24) { + $32 = $28&65535; + $33 = $32 >>> $23; + $34 = $33&65535; + $35 = $31&65535; + $36 = $35 >>> $23; + $37 = $36&65535; + $$1 = $37;$$148 = $34; + } else { + if ($25) { + $38 = $31&65535; + $39 = $38 << $26; + $40 = $28&65535; + $41 = $40 << $26; + $42 = $41&65535; + $43 = $39&65535; + $$1 = $43;$$148 = $42; + } else { + $$1 = $31;$$148 = $28; + } + } + $44 = (+($$1&65535)); + $45 = !($44 <= $1); + $46 = (+($$148&65535)); + $47 = !($46 >= $1); + $or$cond = $47 | $45; + $48 = $indvars$iv&255; + if (!($or$cond)) { + $$054 = $48; + break; + } + $indvars$iv$next = (($indvars$iv) + 1)|0; + $49 = ($indvars$iv$next>>>0)<(12); + if ($49) { + $indvars$iv = $indvars$iv$next; + } else { + $$054 = 0; + break; + } + } + $50 = $$253 << 24 >> 24; + $51 = (($50) + 2)|0; + $52 = (+($51|0)); + $53 = $52 * 12.0; + $54 = (+($$054&255)); + $55 = $53 + $54; + $56 = $$148&65535; + $57 = (+($$148&65535)); + $58 = $1 - $57; + $59 = $$1&65535; + $60 = (($59) - ($56))|0; + $61 = (+($60|0)); + $62 = $58 / $61; + $63 = $55 + $62; + $64 = $63 + $2; + $65 = (+_jar_xm_amiga_period($64)); + $66 = (+_jar_xm_amiga_frequency($65)); + $$050 = $66; + return (+$$050); + break; + } + default: { + $$050 = 0.0; + return (+$$050); + } + } + return +(0.0); +} +function _jar_xm_linear_frequency($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $exp2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = 4608.0 - $0; + $2 = $1 / 768.0; + $exp2 = (+_llvm_exp2_f32((+$2))); + $3 = $exp2 * 8363.0; + return (+$3); +} +function _jar_xm_amiga_frequency($0) { + $0 = +$0; + var $$0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 == 0.0; + $2 = $0 * 2.0; + $3 = 7093789.0 / $2; + $$0 = $1 ? 0.0 : $3; + return (+$$0); +} +function _jar_xm_envelope_tick($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$043 = 0, $$lcssa = 0, $$lcssa42 = 0, $10 = 0.0, $11 = 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; + 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.0, $56 = 0.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, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($1)) + 48|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5&255)<(2); + if ($6) { + $7 = ($5<<24>>24)==(1); + if (!($7)) { + return; + } + $8 = ((($1)) + 2|0); + $9 = HEAP16[$8>>1]|0; + $10 = (+($9&65535)); + $11 = $10 * 0.015625; + HEAPF32[$3>>2] = $11; + $12 = $11 > 1.0; + if (!($12)) { + return; + } + HEAPF32[$3>>2] = 1.0; + return; + } + $13 = ((($1)) + 60|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0); + if (!($15)) { + $16 = ((($1)) + 51|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = (($1) + ($18<<2)|0); + $20 = HEAP16[$19>>1]|0; + $21 = HEAP16[$2>>1]|0; + $22 = ($21&65535)<($20&65535); + if (!($22)) { + $23 = $21&65535; + $24 = $20&65535; + $25 = ((($1)) + 50|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = (($1) + ($27<<2)|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29&65535; + $31 = (($23) - ($24))|0; + $32 = (($31) + ($30))|0; + $33 = $32&65535; + HEAP16[$2>>1] = $33; + } + } + $34 = HEAP8[$4>>0]|0; + $35 = ($34&255)>(2); + $36 = HEAP16[$2>>1]|0; + L15: do { + if ($35) { + $$043 = 0;$38 = 0;$41 = $36; + while(1) { + $37 = (($1) + ($38<<2)|0); + $39 = HEAP16[$37>>1]|0; + $40 = ($39&65535)>($41&65535); + if (!($40)) { + $42 = (($38) + 1)|0; + $43 = (($1) + ($42<<2)|0); + $44 = HEAP16[$43>>1]|0; + $45 = ($44&65535)<($41&65535); + if (!($45)) { + $$lcssa = $41;$$lcssa42 = $38; + break L15; + } + } + $46 = (($$043) + 1)<<24>>24; + $47 = $46&255; + $48 = HEAP8[$4>>0]|0; + $49 = $48&255; + $50 = (($49) + -2)|0; + $51 = ($47|0)<($50|0); + $52 = HEAP16[$2>>1]|0; + if ($51) { + $$043 = $46;$38 = $47;$41 = $52; + } else { + $$lcssa = $52;$$lcssa42 = $47; + break; + } + } + } else { + $$lcssa = $36;$$lcssa42 = 0; + } + } while(0); + $53 = (($1) + ($$lcssa42<<2)|0); + $54 = ((($53)) + 4|0); + $55 = (+_jar_xm_envelope_lerp($53,$54,$$lcssa)); + $56 = $55 * 0.015625; + HEAPF32[$3>>2] = $56; + $57 = ((($0)) + 52|0); + $58 = HEAP32[$57>>2]|0; + $59 = ($58|0)==(0); + if (!($59)) { + $60 = ((($1)) + 56|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0); + if (!($62)) { + $63 = HEAP16[$2>>1]|0; + $64 = ((($1)) + 49|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = (($1) + ($66<<2)|0); + $68 = HEAP16[$67>>1]|0; + $69 = ($63<<16>>16)==($68<<16>>16); + if ($69) { + return; + } + } + } + $70 = HEAP16[$2>>1]|0; + $71 = (($70) + 1)<<16>>16; + HEAP16[$2>>1] = $71; + return; +} +function _jar_xm_envelope_lerp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2&65535; + $4 = HEAP16[$0>>1]|0; + $5 = $4&65535; + $6 = ($4&65535)<($2&65535); + if (!($6)) { + $7 = ((($0)) + 2|0); + $8 = HEAP16[$7>>1]|0; + $9 = (+($8&65535)); + $$0 = $9; + return (+$$0); + } + $10 = HEAP16[$1>>1]|0; + $11 = ($10&65535)>($2&65535); + $12 = ((($1)) + 2|0); + $13 = HEAP16[$12>>1]|0; + if ($11) { + $15 = $10&65535; + $16 = (($3) - ($5))|0; + $17 = (+($16|0)); + $18 = (($15) - ($5))|0; + $19 = (+($18|0)); + $20 = $17 / $19; + $21 = ((($0)) + 2|0); + $22 = HEAP16[$21>>1]|0; + $23 = (+($22&65535)); + $24 = 1.0 - $20; + $25 = $24 * $23; + $26 = (+($13&65535)); + $27 = $26 * $20; + $28 = $27 + $25; + $$0 = $28; + return (+$$0); + } else { + $14 = (+($13&65535)); + $$0 = $14; + return (+$$0); + } + return +(0.0); +} +function _jar_xm_post_pattern_change($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)) + 348|0); + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = ((($0)) + 46|0); + $5 = HEAP16[$4>>1]|0; + $6 = $5&65535; + $7 = ($3>>>0)<($6>>>0); + if ($7) { + return; + } + $8 = ((($0)) + 48|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&255; + HEAP8[$1>>0] = $10; + return; +} +function _jar_xm_create_context_safe($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$06364 = 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, $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, 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 = (_jar_xm_check_sanity_preload($1,$2)|0); + $5 = ($4|0)==(0); + if (!($5)) { + $6 = HEAP32[1251]|0; + HEAP32[$vararg_buffer>>2] = 16041; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $4; + (_fprintf($6,15964,$vararg_buffer)|0); + (_fflush($6)|0); + $$0 = 1; + STACKTOP = sp;return ($$0|0); + } + $7 = (_jar_xm_get_memory_needed_for_context($1,$2)|0); + $8 = (_malloc($7)|0); + $9 = ($8|0)==(0|0); + $10 = ($7|0)!=(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = HEAP32[1251]|0; + HEAP32[$vararg_buffer2>>2] = 16041; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $8; + (_fprintf($11,16068,$vararg_buffer2)|0); + (_fflush($11)|0); + $$0 = 2; + STACKTOP = sp;return ($$0|0); + } + _memset(($8|0),0,($7|0))|0; + HEAP32[$0>>2] = $8; + HEAP32[$8>>2] = $8; + $12 = ((($8)) + 392|0); + $13 = ((($8)) + 324|0); + HEAP32[$13>>2] = $3; + $14 = (_jar_xm_load_module($8,$1,$2,$12)|0); + $15 = ((($8)) + 388|0); + HEAP32[$15>>2] = $14; + $16 = ((($8)) + 50|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = ($18*304)|0; + $20 = (($14) + ($19)|0); + $21 = ((($8)) + 332|0); + HEAPF32[$21>>2] = 1.0; + $22 = ((($8)) + 336|0); + HEAPF32[$22>>2] = 0.25; + $23 = ((($8)) + 340|0); + HEAPF32[$23>>2] = 0.0078125; + $24 = ((($8)) + 344|0); + HEAPF32[$24>>2] = 0.0078125; + $25 = HEAP16[$16>>1]|0; + $26 = ($25<<16>>16)==(0); + if (!($26)) { + $27 = HEAP32[$15>>2]|0; + $28 = HEAP16[$16>>1]|0; + $29 = $28&65535; + $$06364 = 0;$34 = 0; + while(1) { + $33 = (((($27) + (($34*304)|0)|0)) + 36|0); + HEAP32[$33>>2] = 1; + $35 = (((($27) + (($34*304)|0)|0)) + 104|0); + HEAP32[$35>>2] = 0; + $36 = (((($27) + (($34*304)|0)|0)) + 108|0); + HEAP32[$36>>2] = 1; + $37 = (((($27) + (($34*304)|0)|0)) + 120|0); + HEAP32[$37>>2] = 0; + $38 = (((($27) + (($34*304)|0)|0)) + 124|0); + HEAP32[$38>>2] = 1; + $39 = (((($27) + (($34*304)|0)|0)) + 56|0); + HEAPF32[$39>>2] = 1.0; + $40 = (((($27) + (($34*304)|0)|0)) + 60|0); + HEAPF32[$40>>2] = 1.0; + $41 = (((($27) + (($34*304)|0)|0)) + 40|0); + HEAPF32[$41>>2] = 1.0; + $42 = (((($27) + (($34*304)|0)|0)) + 64|0); + HEAPF32[$42>>2] = 0.5; + $43 = (((($27) + (($34*304)|0)|0)) + 44|0); + HEAPF32[$43>>2] = 0.5; + $44 = (((($27) + (($34*304)|0)|0)) + 300|0); + HEAPF32[$44>>2] = 0.0; + $45 = (((($27) + (($34*304)|0)|0)) + 296|0); + HEAPF32[$45>>2] = 0.5; + $46 = (($$06364) + 1)<<24>>24; + $47 = $46&255; + $48 = ($47>>>0)<($29>>>0); + if ($48) { + $$06364 = $46;$34 = $47; + } else { + break; + } + } + } + $30 = ((($8)) + 380|0); + HEAP32[$30>>2] = $20; + $31 = (_jar_xm_check_sanity_postload($8)|0); + $32 = ($31|0)==(0); + if ($32) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $49 = HEAP32[1251]|0; + HEAP32[$vararg_buffer6>>2] = 16041; + $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); + HEAP32[$vararg_ptr9>>2] = $31; + (_fprintf($49,16112,$vararg_buffer6)|0); + (_fflush($49)|0); + _jar_xm_free_context($8); + $$0 = 1; + STACKTOP = sp;return ($$0|0); +} +function _jar_xm_check_sanity_preload($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$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; + $2 = ($1>>>0)<(60); + if ($2) { + $$0 = 4; + return ($$0|0); + } + $3 = (_memcmp(16329,$0,17)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$0 = 1; + return ($$0|0); + } + $5 = ((($0)) + 37|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(26); + if (!($7)) { + $$0 = 2; + return ($$0|0); + } + $8 = ((($0)) + 59|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(1); + if ($10) { + $11 = ((($0)) + 58|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(4); + $$ = $13 ? 0 : 3; + return ($$|0); + } else { + $$0 = 3; + return ($$0|0); + } + return (0)|0; +} +function _jar_xm_get_memory_needed_for_context($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$0209$lcssa = 0, $$0209274 = 0, $$0212262 = 0, $$0213$lcssa = 0, $$0213261 = 0, $$0214 = 0, $$0215267 = 0, $$0216273 = 0, $$0275 = 0, $$1$lcssa = 0, $$1210268 = 0, $$1269 = 0, $$2$lcssa = 0, $$2211$lcssa = 0, $$2211263 = 0, $$2264 = 0, $$3 = 0, $$ph = 0, $$ph228 = 0; + var $$ph233 = 0, $$ph234 = 0, $$ph237 = 0, $$ph238 = 0, $$ph239 = 0, $$ph240 = 0, $$ph241 = 0, $$ph242 = 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, $2 = 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, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0; + var $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, $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, $phitmp = 0, $phitmp294 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1>>>0)>(68); + $3 = ($1>>>0)>(69); + if ($2) { + $4 = ((($0)) + 68|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $12 = $6; + } else { + $12 = 0; + } + do { + if ($3) { + $7 = ((($0)) + 69|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 << 8; + $11 = $10 | $12; + $13 = ($1|0)==(70); + do { + if ($13) { + $$ph = 0;$$ph233 = 0;$$ph234 = 0; + } else { + $14 = ((($0)) + 70|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = ($1>>>0)>(71); + if (!($17)) { + $18 = $16 << 3; + $$ph = $18;$$ph233 = 0;$$ph234 = $16; + break; + } + $19 = ((($0)) + 71|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = $21 << 8; + $23 = $22 | $16; + $24 = $23 << 3; + $25 = ($1|0)==(72); + if ($25) { + $$ph = $24;$$ph233 = 0;$$ph234 = $23; + } else { + $26 = ((($0)) + 72|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = ($1>>>0)>(73); + if ($29) { + $30 = ((($0)) + 73|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $phitmp294 = $32 << 8; + $$ph228 = $phitmp294; + } else { + $$ph228 = 0; + } + $33 = $$ph228 | $28; + $34 = ($33*280)|0; + $35 = (($34) + ($24))|0; + $$ph = $35;$$ph233 = $33;$$ph234 = $23; + } + } + } while(0); + $37 = ((($0)) + 64|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $284 = $39;$285 = $11;$286 = $$ph234;$287 = $$ph233;$288 = $$ph; + label = 14; + } else { + $36 = ($1>>>0)>(64); + if ($36) { + $40 = ((($0)) + 64|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ($1|0)==(65); + if ($43) { + $$ph237 = $42;$$ph238 = $12;$$ph239 = 0;$$ph240 = 0;$$ph241 = 0;$$ph242 = 0; + label = 15; + break; + } else { + $284 = $42;$285 = $12;$286 = 0;$287 = 0;$288 = 0; + label = 14; + break; + } + } + $61 = ($1>>>0)>(62); + if (!($61)) { + $$1$lcssa = 0;$155 = $12; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } + $62 = ((($0)) + 61|0); + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = $64 << 8; + $66 = ((($0)) + 60|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $65 | $68; + $70 = ((($0)) + 62|0); + $71 = HEAP8[$70>>0]|0; + $72 = $71&255; + $73 = ($1|0)==(63); + if ($73) { + $$1$lcssa = 0;$155 = $12; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } else { + $289 = 0;$79 = $72;$82 = $69;$85 = 0;$87 = $12;$89 = 0; + } + } + } while(0); + if ((label|0) == 14) { + $44 = ((($0)) + 65|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45&255; + $phitmp = $46 << 8; + $$ph237 = $284;$$ph238 = $285;$$ph239 = $286;$$ph240 = $287;$$ph241 = $288;$$ph242 = $phitmp; + label = 15; + } + if ((label|0) == 15) { + $47 = $$ph242 | $$ph237; + $48 = $47 << 8; + $49 = (($48) + ($$ph241))|0; + $50 = ((($0)) + 60|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = ((($0)) + 61|0); + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $55 << 8; + $57 = $56 | $52; + $58 = ((($0)) + 62|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59&255; + $289 = $49;$79 = $60;$82 = $57;$85 = $$ph239;$87 = $$ph238;$89 = $$ph240; + } + $74 = ((($0)) + 63|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = $76 << 8; + $78 = $77 | $79; + $80 = $78 << 16; + $81 = $80 | $82; + $83 = (($81) + 60)|0; + $84 = ($85|0)==(0); + if ($84) { + $$0$lcssa = $289;$$0209$lcssa = $83; + } else { + $86 = ($87*5)|0; + $$0209274 = $83;$$0216273 = 0;$$0275 = $289; + while(1) { + $90 = (($$0209274) + 5)|0; + $91 = ($90>>>0)<($1>>>0); + if ($91) { + $92 = (($0) + ($90)|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $103 = $94; + } else { + $103 = 0; + } + $95 = (($$0209274) + 6)|0; + $96 = ($95>>>0)<($1>>>0); + if ($96) { + $97 = (($0) + ($95)|0); + $98 = HEAP8[$97>>0]|0; + $99 = $98&255; + $101 = $99; + } else { + $101 = 0; + } + $100 = $101 << 8; + $102 = $100 | $103; + $104 = Math_imul($86, $102)|0; + $105 = (($104) + ($$0275))|0; + $106 = ($$0209274>>>0)<($1>>>0); + if ($106) { + $107 = (($0) + ($$0209274)|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $118 = $109; + } else { + $118 = 0; + } + $110 = (($$0209274) + 1)|0; + $111 = ($110>>>0)<($1>>>0); + if ($111) { + $112 = (($0) + ($110)|0); + $113 = HEAP8[$112>>0]|0; + $114 = $113&255; + $116 = $114; + } else { + $116 = 0; + } + $115 = $116 << 8; + $117 = $115 | $118; + $119 = (($$0209274) + 2)|0; + $120 = ($119>>>0)<($1>>>0); + if ($120) { + $121 = (($0) + ($119)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $132 = $123; + } else { + $132 = 0; + } + $124 = (($$0209274) + 3)|0; + $125 = ($124>>>0)<($1>>>0); + if ($125) { + $126 = (($0) + ($124)|0); + $127 = HEAP8[$126>>0]|0; + $128 = $127&255; + $130 = $128; + } else { + $130 = 0; + } + $129 = $130 << 8; + $131 = $129 | $132; + $133 = $131 << 16; + $134 = $117 | $133; + $135 = (($$0209274) + 7)|0; + $136 = ($135>>>0)<($1>>>0); + if ($136) { + $137 = (($0) + ($135)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $148 = $139; + } else { + $148 = 0; + } + $140 = (($$0209274) + 8)|0; + $141 = ($140>>>0)<($1>>>0); + if ($141) { + $142 = (($0) + ($140)|0); + $143 = HEAP8[$142>>0]|0; + $144 = $143&255; + $146 = $144; + } else { + $146 = 0; + } + $145 = $146 << 8; + $147 = $145 | $148; + $149 = (($134) + ($$0209274))|0; + $150 = (($149) + ($147))|0; + $151 = (($$0216273) + 1)<<16>>16; + $152 = $151&65535; + $153 = ($152>>>0)<($85>>>0); + if ($153) { + $$0209274 = $150;$$0216273 = $151;$$0275 = $105; + } else { + $$0$lcssa = $105;$$0209$lcssa = $150; + break; + } + } + } + $88 = ($89|0)==(0); + if ($88) { + $$1$lcssa = $$0$lcssa;$155 = $87; + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); + } else { + $$0215267 = 0;$$1210268 = $$0209$lcssa;$$1269 = $$0$lcssa; + } + while(1) { + $158 = (($$1210268) + 27)|0; + $159 = ($158>>>0)<($1>>>0); + if ($159) { + $160 = (($0) + ($158)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $171 = $162; + } else { + $171 = 0; + } + $163 = (($$1210268) + 28)|0; + $164 = ($163>>>0)<($1>>>0); + if ($164) { + $165 = (($0) + ($163)|0); + $166 = HEAP8[$165>>0]|0; + $167 = $166&255; + $169 = $167; + } else { + $169 = 0; + } + $168 = $169 << 8; + $170 = $168 | $171; + $172 = ($170*80)|0; + $173 = (($172) + ($$1269))|0; + $174 = ($170|0)==(0); + if ($174) { + $$0214 = 0; + } else { + $175 = (($$1210268) + 29)|0; + $176 = ($175>>>0)<($1>>>0); + if ($176) { + $177 = (($0) + ($175)|0); + $178 = HEAP8[$177>>0]|0; + $179 = $178&255; + $188 = $179; + } else { + $188 = 0; + } + $180 = (($$1210268) + 30)|0; + $181 = ($180>>>0)<($1>>>0); + if ($181) { + $182 = (($0) + ($180)|0); + $183 = HEAP8[$182>>0]|0; + $184 = $183&255; + $186 = $184; + } else { + $186 = 0; + } + $185 = $186 << 8; + $187 = $185 | $188; + $189 = (($$1210268) + 31)|0; + $190 = ($189>>>0)<($1>>>0); + if ($190) { + $191 = (($0) + ($189)|0); + $192 = HEAP8[$191>>0]|0; + $193 = $192&255; + $202 = $193; + } else { + $202 = 0; + } + $194 = (($$1210268) + 32)|0; + $195 = ($194>>>0)<($1>>>0); + if ($195) { + $196 = (($0) + ($194)|0); + $197 = HEAP8[$196>>0]|0; + $198 = $197&255; + $200 = $198; + } else { + $200 = 0; + } + $199 = $200 << 8; + $201 = $199 | $202; + $203 = $201 << 16; + $204 = $187 | $203; + $$0214 = $204; + } + $205 = ($$1210268>>>0)<($1>>>0); + if ($205) { + $206 = (($0) + ($$1210268)|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $217 = $208; + } else { + $217 = 0; + } + $209 = (($$1210268) + 1)|0; + $210 = ($209>>>0)<($1>>>0); + if ($210) { + $211 = (($0) + ($209)|0); + $212 = HEAP8[$211>>0]|0; + $213 = $212&255; + $215 = $213; + } else { + $215 = 0; + } + $214 = $215 << 8; + $216 = $214 | $217; + $218 = (($$1210268) + 2)|0; + $219 = ($218>>>0)<($1>>>0); + if ($219) { + $220 = (($0) + ($218)|0); + $221 = HEAP8[$220>>0]|0; + $222 = $221&255; + $231 = $222; + } else { + $231 = 0; + } + $223 = (($$1210268) + 3)|0; + $224 = ($223>>>0)<($1>>>0); + if ($224) { + $225 = (($0) + ($223)|0); + $226 = HEAP8[$225>>0]|0; + $227 = $226&255; + $229 = $227; + } else { + $229 = 0; + } + $228 = $229 << 8; + $230 = $228 | $231; + $232 = $230 << 16; + $233 = $216 | $232; + $234 = (($233) + ($$1210268))|0; + $235 = ($170|0)==(0); + if ($235) { + $$0213$lcssa = 0;$$2$lcssa = $173;$$2211$lcssa = $234; + } else { + $$0212262 = 0;$$0213261 = 0;$$2211263 = $234;$$2264 = $173; + while(1) { + $240 = ($$2211263>>>0)<($1>>>0); + if ($240) { + $241 = (($0) + ($$2211263)|0); + $242 = HEAP8[$241>>0]|0; + $243 = $242&255; + $252 = $243; + } else { + $252 = 0; + } + $244 = (($$2211263) + 1)|0; + $245 = ($244>>>0)<($1>>>0); + if ($245) { + $246 = (($0) + ($244)|0); + $247 = HEAP8[$246>>0]|0; + $248 = $247&255; + $250 = $248; + } else { + $250 = 0; + } + $249 = $250 << 8; + $251 = $249 | $252; + $253 = (($$2211263) + 2)|0; + $254 = ($253>>>0)<($1>>>0); + if ($254) { + $255 = (($0) + ($253)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $266 = $257; + } else { + $266 = 0; + } + $258 = (($$2211263) + 3)|0; + $259 = ($258>>>0)<($1>>>0); + if ($259) { + $260 = (($0) + ($258)|0); + $261 = HEAP8[$260>>0]|0; + $262 = $261&255; + $264 = $262; + } else { + $264 = 0; + } + $263 = $264 << 8; + $265 = $263 | $266; + $267 = $265 << 16; + $268 = $251 | $267; + $269 = (($$2211263) + 14)|0; + $270 = ($269>>>0)<($1>>>0); + if ($270) { + $271 = (($0) + ($269)|0); + $272 = HEAP8[$271>>0]|0; + $273 = $272&255; + $276 = $273; + } else { + $276 = 0; + } + $274 = (($268) + ($$0213261))|0; + $275 = $276 >>> 4; + $277 = $275 & 1; + $278 = (2 - ($277))|0; + $279 = $268 << $278; + $$3 = (($279) + ($$2264))|0; + $280 = (($$2211263) + ($$0214))|0; + $281 = (($$0212262) + 1)<<16>>16; + $282 = $281&65535; + $283 = ($282>>>0)<($170>>>0); + if ($283) { + $$0212262 = $281;$$0213261 = $274;$$2211263 = $280;$$2264 = $$3; + } else { + $$0213$lcssa = $274;$$2$lcssa = $$3;$$2211$lcssa = $280; + break; + } + } + } + $236 = (($$2211$lcssa) + ($$0213$lcssa))|0; + $237 = (($$0215267) + 1)<<16>>16; + $238 = $237&65535; + $239 = ($238>>>0)<($89>>>0); + if ($239) { + $$0215267 = $237;$$1210268 = $236;$$1269 = $$2$lcssa; + } else { + $$1$lcssa = $$2$lcssa;$155 = $87; + break; + } + } + $154 = ($155*304)|0; + $156 = (($154) + 392)|0; + $157 = (($156) + ($$1$lcssa))|0; + return ($157|0); +} +function _jar_xm_load_module($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0668761 = 0, $$0669766 = 0, $$0670765 = 0, $$0671$lcssa = 0, $$0671787 = 0, $$0672$lcssa = 0, $$0672786 = 0, $$0677769 = 0, $$0678785 = 0, $$0679755 = 0, $$0680753 = 0, $$0681752 = 0, $$0682783 = 0, $$0687 = 0, $$0688776 = 0, $$0689782 = 0, $$0762 = 0, $$1$lcssa = 0, $$1673777 = 0, $$1683 = 0; + var $$1778 = 0, $$2 = 0, $$2674756 = 0, $$2684 = 0, $$3$lcssa794 = 0, $$3675$lcssa = 0, $$3675770 = 0, $$3685 = 0, $$3757 = 0, $$4 = 0, $$4676 = 0, $$4686 = 0, $$5 = 0, $$ph700 = 0, $$ph701 = 0, $$ph707 = 0, $$ph708 = 0, $$ph714 = 0, $$ph715 = 0, $$ph721 = 0; + var $$ph722 = 0, $$ph729 = 0, $$ph730 = 0, $$ph731 = 0, $$ph740 = 0, $$pn = 0, $$pn693 = 0, $$pr = 0, $$sink = 0, $$sink694 = 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 $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, $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 $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, $470 = 0; + var $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, $489 = 0; + var $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, $506 = 0; + var $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, $524 = 0; + var $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, $542 = 0; + var $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, $560 = 0; + var $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, $579 = 0; + var $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, $597 = 0; + var $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, $611 = 0, $612 = 0, $613 = 0, $614 = 0; + var $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, $63 = 0, $630 = 0, $631 = 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.0, $769 = 0, $77 = 0, $770 = 0.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.0, $802 = 0, $803 = 0.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.0, $866 = 0.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.0, $882 = 0.0, $883 = 0, $884 = 0, $885 = 0; + var $886 = 0, $887 = 0, $888 = 0, $889 = 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, $exitcond793 = 0, $phitmp = 0, $phitmp804 = 0; + var $sext = 0, $sext690 = 0, $sext691 = 0, $sext692 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + _memcpy_pad($4,20,$1,$2,17); + $5 = ((($0)) + 25|0); + _memcpy_pad($5,20,$1,$2,38); + $6 = ($2>>>0)>(60); + if ($6) { + $7 = ((($1)) + 60|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = ($2|0)==(61); + if ($10) { + $$ph700 = 0;$$ph701 = $9; + label = 5; + } else { + $11 = ((($1)) + 61|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = $13 << 8; + $15 = $14 | $9; + $16 = ($2>>>0)>(62); + if ($16) { + $17 = ((($1)) + 62|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($2|0)==(63); + if ($20) { + $$ph700 = $19;$$ph701 = $15; + label = 5; + } else { + $23 = ((($1)) + 63|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $26 | $19; + $28 = $27 << 16; + $29 = $28 | $15; + $30 = ($2>>>0)>(64); + if ($30) { + $31 = ((($1)) + 64|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = ($2|0)==(65); + if ($34) { + $$ph707 = $33;$$ph708 = $29; + label = 8; + } else { + $37 = ((($1)) + 65|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = $39 << 8; + $41 = $40 | $33; + $42 = $41&65535; + $43 = ((($0)) + 46|0); + HEAP16[$43>>1] = $42; + $44 = ($2>>>0)>(66); + if ($44) { + $45 = ((($1)) + 66|0); + $46 = HEAP8[$45>>0]|0; + $47 = $46&255; + $48 = ($2|0)==(67); + if ($48) { + $$ph714 = $47;$$ph715 = $29; + label = 11; + } else { + $51 = ((($1)) + 67|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = $53 << 8; + $55 = $54 | $47; + $56 = $55&65535; + $57 = ((($0)) + 48|0); + HEAP16[$57>>1] = $56; + $58 = ($2>>>0)>(68); + if ($58) { + $59 = ((($1)) + 68|0); + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + $62 = ($2|0)==(69); + if ($62) { + $$ph721 = $61;$$ph722 = $29; + label = 14; + } else { + $65 = ((($1)) + 69|0); + $66 = HEAP8[$65>>0]|0; + $67 = $66&255; + $68 = $67 << 8; + $69 = $68 | $61; + $70 = $69&65535; + $71 = ((($0)) + 50|0); + HEAP16[$71>>1] = $70; + $72 = ($2>>>0)>(70); + if ($72) { + $73 = ((($1)) + 70|0); + $74 = HEAP8[$73>>0]|0; + $75 = $74&255; + $76 = ($2|0)==(71); + if ($76) { + $$ph729 = $75;$$ph730 = $29;$$ph731 = $71; + label = 17; + } else { + $79 = ((($1)) + 71|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 << 8; + $83 = $82 | $75; + $84 = $83&65535; + $85 = ((($0)) + 52|0); + HEAP16[$85>>1] = $84; + $86 = ($2>>>0)>(72); + if ($86) { + $87 = ((($1)) + 72|0); + $88 = HEAP8[$87>>0]|0; + $89 = $88&255; + $90 = ($2|0)==(73); + if ($90) { + $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = $89; + } else { + $91 = ((($1)) + 73|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $phitmp = $93 << 8; + $101 = $85;$147 = $29;$186 = $71;$95 = $phitmp;$96 = $89; + } + } else { + $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = 0; + } + } + } else { + $$ph729 = 0;$$ph730 = $29;$$ph731 = $71; + label = 17; + } + } + } else { + $$ph721 = 0;$$ph722 = $29; + label = 14; + } + } + } else { + $$ph714 = 0;$$ph715 = $29; + label = 11; + } + } + } else { + $$ph707 = 0;$$ph708 = $29; + label = 8; + } + } + } else { + $$ph700 = 0;$$ph701 = $15; + label = 5; + } + } + } else { + $$ph700 = 0;$$ph701 = 0; + label = 5; + } + if ((label|0) == 5) { + $21 = $$ph700 << 16; + $22 = $$ph701 | $21; + $$ph707 = 0;$$ph708 = $22; + label = 8; + } + if ((label|0) == 8) { + $35 = $$ph707&65535; + $36 = ((($0)) + 46|0); + HEAP16[$36>>1] = $35; + $$ph714 = 0;$$ph715 = $$ph708; + label = 11; + } + if ((label|0) == 11) { + $49 = $$ph714&65535; + $50 = ((($0)) + 48|0); + HEAP16[$50>>1] = $49; + $$ph721 = 0;$$ph722 = $$ph715; + label = 14; + } + if ((label|0) == 14) { + $63 = $$ph721&65535; + $64 = ((($0)) + 50|0); + HEAP16[$64>>1] = $63; + $$ph729 = 0;$$ph730 = $$ph722;$$ph731 = $64; + label = 17; + } + if ((label|0) == 17) { + $77 = $$ph729&65535; + $78 = ((($0)) + 52|0); + HEAP16[$78>>1] = $77; + $101 = $78;$147 = $$ph730;$186 = $$ph731;$95 = 0;$96 = 0; + } + $94 = $95 | $96; + $97 = $94&65535; + $98 = ((($0)) + 54|0); + HEAP16[$98>>1] = $97; + $99 = ((($0)) + 316|0); + HEAP32[$99>>2] = $3; + $100 = HEAP16[$101>>1]|0; + $102 = $100&65535; + $103 = $102 << 3; + $104 = (($3) + ($103)|0); + $105 = ((($0)) + 320|0); + HEAP32[$105>>2] = $104; + $106 = HEAP16[$98>>1]|0; + $107 = $106&65535; + $108 = ($107*280)|0; + $109 = (($104) + ($108)|0); + $110 = ($2>>>0)>(74); + if ($110) { + $112 = ((($1)) + 74|0); + $113 = HEAP8[$112>>0]|0; + $114 = ($2>>>0)>(76); + $115 = $113 & 1; + $116 = $115 ^ 1; + $117 = $116&255; + $118 = ((($0)) + 56|0); + HEAP32[$118>>2] = $117; + if ($114) { + $119 = ($2|0)==(77); + $120 = ((($1)) + 76|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + if ($119) { + $$ph740 = $122; + label = 25; + } else { + $125 = ((($1)) + 77|0); + $126 = HEAP8[$125>>0]|0; + $127 = $126&255; + $128 = $127 << 8; + $129 = $128 | $122; + $130 = $129&65535; + $131 = ((($0)) + 328|0); + HEAP16[$131>>1] = $130; + $132 = ($2>>>0)>(78); + if ($132) { + $133 = ((($1)) + 78|0); + $134 = HEAP8[$133>>0]|0; + $135 = $134&255; + $136 = ($2|0)==(79); + if ($136) { + $141 = 0;$142 = $135; + } else { + $137 = ((($1)) + 79|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $phitmp804 = $139 << 8; + $141 = $phitmp804;$142 = $135; + } + } else { + $141 = 0;$142 = 0; + } + } + } else { + $$ph740 = 0; + label = 25; + } + } else { + $111 = ((($0)) + 56|0); + HEAP32[$111>>2] = 1; + $$ph740 = 0; + label = 25; + } + if ((label|0) == 25) { + $123 = $$ph740&65535; + $124 = ((($0)) + 328|0); + HEAP16[$124>>1] = $123; + $141 = 0;$142 = 0; + } + $140 = $141 | $142; + $143 = $140&65535; + $144 = ((($0)) + 330|0); + HEAP16[$144>>1] = $143; + $145 = ((($0)) + 60|0); + _memcpy_pad($145,256,$1,$2,80); + $146 = (($147) + 60)|0; + $148 = HEAP16[$101>>1]|0; + $149 = ($148<<16>>16)==(0); + if ($149) { + $$0671$lcssa = $109;$$0672$lcssa = $146; + } else { + $$0671787 = $109;$$0672786 = $146;$$0678785 = 0;$183 = 0; + while(1) { + $152 = (($$0672786) + 7)|0; + $153 = ($152>>>0)<($2>>>0); + if ($153) { + $154 = (($1) + ($152)|0); + $155 = HEAP8[$154>>0]|0; + $156 = $155&255; + $165 = $156; + } else { + $165 = 0; + } + $157 = (($$0672786) + 8)|0; + $158 = ($157>>>0)<($2>>>0); + if ($158) { + $159 = (($1) + ($157)|0); + $160 = HEAP8[$159>>0]|0; + $161 = $160&255; + $163 = $161; + } else { + $163 = 0; + } + $162 = $163 << 8; + $164 = $162 | $165; + $166 = HEAP32[$99>>2]|0; + $167 = (($$0672786) + 5)|0; + $168 = ($167>>>0)<($2>>>0); + if ($168) { + $169 = (($1) + ($167)|0); + $170 = HEAP8[$169>>0]|0; + $171 = $170&255; + $180 = $171; + } else { + $180 = 0; + } + $172 = (($$0672786) + 6)|0; + $173 = ($172>>>0)<($2>>>0); + if ($173) { + $174 = (($1) + ($172)|0); + $175 = HEAP8[$174>>0]|0; + $176 = $175&255; + $178 = $176; + } else { + $178 = 0; + } + $177 = $178 << 8; + $179 = $177 | $180; + $181 = $179&65535; + $182 = (($166) + ($183<<3)|0); + HEAP16[$182>>1] = $181; + $184 = (((($166) + ($183<<3)|0)) + 4|0); + HEAP32[$184>>2] = $$0671787; + $185 = HEAP16[$186>>1]|0; + $187 = $185&65535; + $188 = ($179*5)|0; + $189 = Math_imul($188, $187)|0; + $190 = (($$0671787) + ($189)|0); + $191 = ($$0672786>>>0)<($2>>>0); + if ($191) { + $192 = (($1) + ($$0672786)|0); + $193 = HEAP8[$192>>0]|0; + $194 = $193&255; + $203 = $194; + } else { + $203 = 0; + } + $195 = (($$0672786) + 1)|0; + $196 = ($195>>>0)<($2>>>0); + if ($196) { + $197 = (($1) + ($195)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $201 = $199; + } else { + $201 = 0; + } + $200 = $201 << 8; + $202 = $200 | $203; + $204 = (($$0672786) + 2)|0; + $205 = ($204>>>0)<($2>>>0); + if ($205) { + $206 = (($1) + ($204)|0); + $207 = HEAP8[$206>>0]|0; + $208 = $207&255; + $217 = $208; + } else { + $217 = 0; + } + $209 = (($$0672786) + 3)|0; + $210 = ($209>>>0)<($2>>>0); + if ($210) { + $211 = (($1) + ($209)|0); + $212 = HEAP8[$211>>0]|0; + $213 = $212&255; + $215 = $213; + } else { + $215 = 0; + } + $214 = $215 << 8; + $216 = $214 | $217; + $218 = $216 << 16; + $219 = $202 | $218; + $220 = (($219) + ($$0672786))|0; + $221 = ($164|0)==(0); + if ($221) { + $222 = HEAP32[$184>>2]|0; + $223 = HEAP16[$182>>1]|0; + $224 = $223&65535; + $225 = ($224*5)|0; + $226 = HEAP16[$186>>1]|0; + $227 = $226&65535; + $228 = Math_imul($225, $227)|0; + _memset(($222|0),0,($228|0))|0; + } else { + $$0682783 = 0;$$0689782 = 0;$230 = 0; + while(1) { + $229 = (($230) + ($220))|0; + $231 = ($229>>>0)<($2>>>0); + do { + if ($231) { + $235 = (($1) + ($229)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = HEAP32[$184>>2]|0; + $239 = $$0689782&65535; + $240 = (($238) + (($239*5)|0)|0); + $241 = $237 & 128; + $242 = ($241|0)==(0); + if ($242) { + $308 = $237;$309 = $240;$318 = $238;$319 = $239; + label = 77; + } else { + $243 = (($$0682783) + 1)<<16>>16; + $244 = $237 & 1; + $245 = ($244|0)==(0); + if ($245) { + HEAP8[$240>>0] = 0; + $$1683 = $243; + } else { + $246 = $243&65535; + $247 = (($246) + ($220))|0; + $248 = ($247>>>0)<($2>>>0); + if ($248) { + $249 = (($1) + ($247)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $253 = $251; + } else { + $253 = 0; + } + $252 = $253&255; + HEAP8[$240>>0] = $252; + $254 = (($$0682783) + 2)<<16>>16; + $$1683 = $254; + } + $255 = $237 & 2; + $256 = ($255|0)==(0); + if ($256) { + $267 = (((($238) + (($239*5)|0)|0)) + 1|0); + HEAP8[$267>>0] = 0; + $$2684 = $$1683; + } else { + $257 = $$1683&65535; + $258 = (($257) + ($220))|0; + $259 = ($258>>>0)<($2>>>0); + if ($259) { + $260 = (($1) + ($258)|0); + $261 = HEAP8[$260>>0]|0; + $262 = $261&255; + $264 = $262; + } else { + $264 = 0; + } + $263 = $264&255; + $265 = (((($238) + (($239*5)|0)|0)) + 1|0); + HEAP8[$265>>0] = $263; + $266 = (($$1683) + 1)<<16>>16; + $$2684 = $266; + } + $268 = $237 & 4; + $269 = ($268|0)==(0); + if ($269) { + $280 = (((($238) + (($239*5)|0)|0)) + 2|0); + HEAP8[$280>>0] = 0; + $$3685 = $$2684; + } else { + $270 = $$2684&65535; + $271 = (($270) + ($220))|0; + $272 = ($271>>>0)<($2>>>0); + if ($272) { + $273 = (($1) + ($271)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $277 = $275; + } else { + $277 = 0; + } + $276 = $277&255; + $278 = (((($238) + (($239*5)|0)|0)) + 2|0); + HEAP8[$278>>0] = $276; + $279 = (($$2684) + 1)<<16>>16; + $$3685 = $279; + } + $281 = $237 & 8; + $282 = ($281|0)==(0); + if ($282) { + $293 = (((($238) + (($239*5)|0)|0)) + 3|0); + HEAP8[$293>>0] = 0; + $$4686 = $$3685; + } else { + $283 = $$3685&65535; + $284 = (($283) + ($220))|0; + $285 = ($284>>>0)<($2>>>0); + if ($285) { + $286 = (($1) + ($284)|0); + $287 = HEAP8[$286>>0]|0; + $288 = $287&255; + $290 = $288; + } else { + $290 = 0; + } + $289 = $290&255; + $291 = (((($238) + (($239*5)|0)|0)) + 3|0); + HEAP8[$291>>0] = $289; + $292 = (($$3685) + 1)<<16>>16; + $$4686 = $292; + } + $294 = $237 & 16; + $295 = ($294|0)==(0); + if ($295) { + $306 = (((($238) + (($239*5)|0)|0)) + 4|0); + HEAP8[$306>>0] = 0; + $$5 = $$4686; + break; + } + $296 = $$4686&65535; + $297 = (($296) + ($220))|0; + $298 = ($297>>>0)<($2>>>0); + if ($298) { + $299 = (($1) + ($297)|0); + $300 = HEAP8[$299>>0]|0; + $301 = $300&255; + $303 = $301; + } else { + $303 = 0; + } + $302 = $303&255; + $304 = (((($238) + (($239*5)|0)|0)) + 4|0); + HEAP8[$304>>0] = $302; + $305 = (($$4686) + 1)<<16>>16; + $$5 = $305; + } + } else { + $232 = HEAP32[$184>>2]|0; + $233 = $$0689782&65535; + $234 = (($232) + (($233*5)|0)|0); + $308 = 0;$309 = $234;$318 = $232;$319 = $233; + label = 77; + } + } while(0); + if ((label|0) == 77) { + label = 0; + $307 = $308&255; + HEAP8[$309>>0] = $307; + $310 = (($229) + 1)|0; + $311 = ($310>>>0)<($2>>>0); + if ($311) { + $312 = (($1) + ($310)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $316 = $314; + } else { + $316 = 0; + } + $315 = $316&255; + $317 = (((($318) + (($319*5)|0)|0)) + 1|0); + HEAP8[$317>>0] = $315; + $320 = (($229) + 2)|0; + $321 = ($320>>>0)<($2>>>0); + if ($321) { + $322 = (($1) + ($320)|0); + $323 = HEAP8[$322>>0]|0; + $324 = $323&255; + $326 = $324; + } else { + $326 = 0; + } + $325 = $326&255; + $327 = (((($318) + (($319*5)|0)|0)) + 2|0); + HEAP8[$327>>0] = $325; + $328 = (($229) + 3)|0; + $329 = ($328>>>0)<($2>>>0); + if ($329) { + $330 = (($1) + ($328)|0); + $331 = HEAP8[$330>>0]|0; + $332 = $331&255; + $334 = $332; + } else { + $334 = 0; + } + $333 = $334&255; + $335 = (((($318) + (($319*5)|0)|0)) + 3|0); + HEAP8[$335>>0] = $333; + $336 = (($229) + 4)|0; + $337 = ($336>>>0)<($2>>>0); + if ($337) { + $338 = (($1) + ($336)|0); + $339 = HEAP8[$338>>0]|0; + $340 = $339&255; + $342 = $340; + } else { + $342 = 0; + } + $341 = $342&255; + $343 = (((($318) + (($319*5)|0)|0)) + 4|0); + HEAP8[$343>>0] = $341; + $344 = (($230) + 5)|0; + $345 = $344&65535; + $$5 = $345; + } + $346 = (($$0689782) + 1)<<16>>16; + $347 = $$5&65535; + $348 = ($347>>>0)<($164>>>0); + if ($348) { + $$0682783 = $$5;$$0689782 = $346;$230 = $347; + } else { + break; + } + } + } + $349 = (($220) + ($164))|0; + $350 = (($$0678785) + 1)<<16>>16; + $351 = $350&65535; + $352 = HEAP16[$101>>1]|0; + $353 = ($350&65535)<($352&65535); + if ($353) { + $$0671787 = $190;$$0672786 = $349;$$0678785 = $350;$183 = $351; + } else { + $$0671$lcssa = $190;$$0672$lcssa = $349; + break; + } + } + } + $150 = HEAP16[$98>>1]|0; + $151 = ($150<<16>>16)==(0); + if ($151) { + $$1$lcssa = $$0671$lcssa; + return ($$1$lcssa|0); + } else { + $$0688776 = 0;$$1673777 = $$0672$lcssa;$$1778 = $$0671$lcssa; + } + while(1) { + $354 = $$0688776&65535; + $355 = HEAP32[$105>>2]|0; + $356 = (($355) + (($354*280)|0)|0); + $357 = (($$1673777) + 4)|0; + _memcpy_pad($356,22,$1,$2,$357); + $358 = (($$1673777) + 27)|0; + $359 = ($358>>>0)<($2>>>0); + if ($359) { + $360 = (($1) + ($358)|0); + $361 = HEAP8[$360>>0]|0; + $362 = $361&255; + $371 = $362; + } else { + $371 = 0; + } + $363 = (($$1673777) + 28)|0; + $364 = ($363>>>0)<($2>>>0); + if ($364) { + $365 = (($1) + ($363)|0); + $366 = HEAP8[$365>>0]|0; + $367 = $366&255; + $369 = $367; + } else { + $369 = 0; + } + $368 = $369 << 8; + $370 = $368 | $371; + $372 = $370&65535; + $373 = (((($355) + (($354*280)|0)|0)) + 24|0); + HEAP16[$373>>1] = $372; + $374 = ($370|0)==(0); + if ($374) { + $629 = (((($355) + (($354*280)|0)|0)) + 276|0); + HEAP32[$629>>2] = 0; + $$0687 = 0;$$2 = $$1778; + } else { + $375 = (($$1673777) + 29)|0; + $376 = ($375>>>0)<($2>>>0); + if ($376) { + $377 = (($1) + ($375)|0); + $378 = HEAP8[$377>>0]|0; + $379 = $378&255; + $388 = $379; + } else { + $388 = 0; + } + $380 = (($$1673777) + 30)|0; + $381 = ($380>>>0)<($2>>>0); + if ($381) { + $382 = (($1) + ($380)|0); + $383 = HEAP8[$382>>0]|0; + $384 = $383&255; + $386 = $384; + } else { + $386 = 0; + } + $385 = $386 << 8; + $387 = $385 | $388; + $389 = (($$1673777) + 31)|0; + $390 = ($389>>>0)<($2>>>0); + if ($390) { + $391 = (($1) + ($389)|0); + $392 = HEAP8[$391>>0]|0; + $393 = $392&255; + $402 = $393; + } else { + $402 = 0; + } + $394 = (($$1673777) + 32)|0; + $395 = ($394>>>0)<($2>>>0); + if ($395) { + $396 = (($1) + ($394)|0); + $397 = HEAP8[$396>>0]|0; + $398 = $397&255; + $400 = $398; + } else { + $400 = 0; + } + $399 = $400 << 8; + $401 = $399 | $402; + $403 = $401 << 16; + $404 = $387 | $403; + $405 = (((($355) + (($354*280)|0)|0)) + 26|0); + $406 = (($$1673777) + 33)|0; + _memcpy_pad($405,96,$1,$2,$406); + $407 = (($$1673777) + 225)|0; + $408 = ($407>>>0)<($2>>>0); + if ($408) { + $409 = (($1) + ($407)|0); + $410 = HEAP8[$409>>0]|0; + $411 = $410&255; + $413 = $411; + } else { + $413 = 0; + } + $412 = $413&255; + $414 = (((($355) + (($354*280)|0)|0)) + 172|0); + HEAP8[$414>>0] = $412; + $415 = (($$1673777) + 226)|0; + $416 = ($415>>>0)<($2>>>0); + if ($416) { + $417 = (($1) + ($415)|0); + $418 = HEAP8[$417>>0]|0; + $419 = $418&255; + $421 = $419; + } else { + $421 = 0; + } + $420 = $421&255; + $422 = (((($355) + (($354*280)|0)|0)) + 236|0); + HEAP8[$422>>0] = $420; + $423 = HEAP8[$414>>0]|0; + $424 = ($423<<24>>24)==(0); + if ($424) { + $427 = $420; + } else { + $425 = (($$1673777) + 129)|0; + $$0681752 = 0;$430 = 0; + while(1) { + $429 = $430 << 2; + $431 = (($425) + ($429))|0; + $432 = ($431>>>0)<($2>>>0); + if ($432) { + $433 = (($1) + ($431)|0); + $434 = HEAP8[$433>>0]|0; + $435 = $434&255; + $444 = $435; + } else { + $444 = 0; + } + $436 = (($431) + 1)|0; + $437 = ($436>>>0)<($2>>>0); + if ($437) { + $438 = (($1) + ($436)|0); + $439 = HEAP8[$438>>0]|0; + $440 = $439&255; + $442 = $440; + } else { + $442 = 0; + } + $441 = $442 << 8; + $443 = $441 | $444; + $445 = $443&65535; + $446 = ((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0); + HEAP16[$446>>1] = $445; + $447 = (($431) + 2)|0; + $448 = ($447>>>0)<($2>>>0); + if ($448) { + $449 = (($1) + ($447)|0); + $450 = HEAP8[$449>>0]|0; + $451 = $450&255; + $460 = $451; + } else { + $460 = 0; + } + $452 = (($431) + 3)|0; + $453 = ($452>>>0)<($2>>>0); + if ($453) { + $454 = (($1) + ($452)|0); + $455 = HEAP8[$454>>0]|0; + $456 = $455&255; + $458 = $456; + } else { + $458 = 0; + } + $457 = $458 << 8; + $459 = $457 | $460; + $461 = $459&65535; + $462 = ((((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0)) + 2|0); + HEAP16[$462>>1] = $461; + $463 = (($$0681752) + 1)<<24>>24; + $464 = $463&255; + $465 = HEAP8[$414>>0]|0; + $466 = ($463&255)<($465&255); + if ($466) { + $$0681752 = $463;$430 = $464; + } else { + break; + } + } + $$pr = HEAP8[$422>>0]|0; + $427 = $$pr; + } + $426 = ($427<<24>>24)==(0); + if (!($426)) { + $428 = (($$1673777) + 177)|0; + $$0680753 = 0;$470 = 0; + while(1) { + $469 = $470 << 2; + $471 = (($428) + ($469))|0; + $472 = ($471>>>0)<($2>>>0); + if ($472) { + $473 = (($1) + ($471)|0); + $474 = HEAP8[$473>>0]|0; + $475 = $474&255; + $484 = $475; + } else { + $484 = 0; + } + $476 = (($471) + 1)|0; + $477 = ($476>>>0)<($2>>>0); + if ($477) { + $478 = (($1) + ($476)|0); + $479 = HEAP8[$478>>0]|0; + $480 = $479&255; + $482 = $480; + } else { + $482 = 0; + } + $481 = $482 << 8; + $483 = $481 | $484; + $485 = $483&65535; + $486 = ((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0); + HEAP16[$486>>1] = $485; + $487 = (($471) + 2)|0; + $488 = ($487>>>0)<($2>>>0); + if ($488) { + $489 = (($1) + ($487)|0); + $490 = HEAP8[$489>>0]|0; + $491 = $490&255; + $500 = $491; + } else { + $500 = 0; + } + $492 = (($471) + 3)|0; + $493 = ($492>>>0)<($2>>>0); + if ($493) { + $494 = (($1) + ($492)|0); + $495 = HEAP8[$494>>0]|0; + $496 = $495&255; + $498 = $496; + } else { + $498 = 0; + } + $497 = $498 << 8; + $499 = $497 | $500; + $501 = $499&65535; + $502 = ((((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0)) + 2|0); + HEAP16[$502>>1] = $501; + $503 = (($$0680753) + 1)<<24>>24; + $504 = $503&255; + $505 = HEAP8[$422>>0]|0; + $506 = ($503&255)<($505&255); + if ($506) { + $$0680753 = $503;$470 = $504; + } else { + break; + } + } + } + $467 = (($$1673777) + 227)|0; + $468 = ($467>>>0)<($2>>>0); + if ($468) { + $507 = (($1) + ($467)|0); + $508 = HEAP8[$507>>0]|0; + $509 = $508&255; + $511 = $509; + } else { + $511 = 0; + } + $510 = $511&255; + $512 = (((($355) + (($354*280)|0)|0)) + 173|0); + HEAP8[$512>>0] = $510; + $513 = (($$1673777) + 228)|0; + $514 = ($513>>>0)<($2>>>0); + if ($514) { + $515 = (($1) + ($513)|0); + $516 = HEAP8[$515>>0]|0; + $517 = $516&255; + $519 = $517; + } else { + $519 = 0; + } + $518 = $519&255; + $520 = (((($355) + (($354*280)|0)|0)) + 174|0); + HEAP8[$520>>0] = $518; + $521 = (($$1673777) + 229)|0; + $522 = ($521>>>0)<($2>>>0); + if ($522) { + $523 = (($1) + ($521)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + $528 = (((($355) + (($354*280)|0)|0)) + 175|0); + HEAP8[$528>>0] = $526; + $529 = (($$1673777) + 230)|0; + $530 = ($529>>>0)<($2>>>0); + if ($530) { + $531 = (($1) + ($529)|0); + $532 = HEAP8[$531>>0]|0; + $533 = $532&255; + $535 = $533; + } else { + $535 = 0; + } + $534 = $535&255; + $536 = (((($355) + (($354*280)|0)|0)) + 237|0); + HEAP8[$536>>0] = $534; + $537 = (($$1673777) + 231)|0; + $538 = ($537>>>0)<($2>>>0); + if ($538) { + $539 = (($1) + ($537)|0); + $540 = HEAP8[$539>>0]|0; + $541 = $540&255; + $543 = $541; + } else { + $543 = 0; + } + $542 = $543&255; + $544 = (((($355) + (($354*280)|0)|0)) + 238|0); + HEAP8[$544>>0] = $542; + $545 = (($$1673777) + 232)|0; + $546 = ($545>>>0)<($2>>>0); + if ($546) { + $547 = (($1) + ($545)|0); + $548 = HEAP8[$547>>0]|0; + $549 = $548&255; + $551 = $549; + } else { + $551 = 0; + } + $550 = $551&255; + $552 = (((($355) + (($354*280)|0)|0)) + 239|0); + HEAP8[$552>>0] = $550; + $553 = (($$1673777) + 233)|0; + $554 = ($553>>>0)<($2>>>0); + if ($554) { + $555 = (($1) + ($553)|0); + $556 = HEAP8[$555>>0]|0; + $557 = $556&255; + $559 = $557; + } else { + $559 = 0; + } + $558 = $559 & 1; + $560 = (((($355) + (($354*280)|0)|0)) + 176|0); + HEAP32[$560>>2] = $558; + $561 = $559 & 2; + $562 = (((($355) + (($354*280)|0)|0)) + 180|0); + HEAP32[$562>>2] = $561; + $563 = $559 & 4; + $564 = (((($355) + (($354*280)|0)|0)) + 184|0); + HEAP32[$564>>2] = $563; + $565 = (($$1673777) + 234)|0; + $566 = ($565>>>0)<($2>>>0); + if ($566) { + $567 = (($1) + ($565)|0); + $568 = HEAP8[$567>>0]|0; + $569 = $568&255; + $571 = $569; + } else { + $571 = 0; + } + $570 = $571 & 1; + $572 = (((($355) + (($354*280)|0)|0)) + 240|0); + HEAP32[$572>>2] = $570; + $573 = $571 & 2; + $574 = (((($355) + (($354*280)|0)|0)) + 244|0); + HEAP32[$574>>2] = $573; + $575 = $571 & 4; + $576 = (((($355) + (($354*280)|0)|0)) + 248|0); + HEAP32[$576>>2] = $575; + $577 = (($$1673777) + 235)|0; + $578 = ($577>>>0)<($2>>>0); + L213: do { + if ($578) { + $580 = (($1) + ($577)|0); + $581 = HEAP8[$580>>0]|0; + $582 = $581&255; + $583 = (((($355) + (($354*280)|0)|0)) + 252|0); + HEAP32[$583>>2] = $582; + switch ($581<<24>>24) { + case 2: { + $$sink694 = 1; + break; + } + case 1: { + $$sink694 = 2; + break; + } + default: { + break L213; + } + } + HEAP32[$583>>2] = $$sink694; + } else { + $579 = (((($355) + (($354*280)|0)|0)) + 252|0); + HEAP32[$579>>2] = 0; + } + } while(0); + $584 = (($$1673777) + 236)|0; + $585 = ($584>>>0)<($2>>>0); + if ($585) { + $586 = (($1) + ($584)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $587&255; + $590 = $588; + } else { + $590 = 0; + } + $589 = $590&255; + $591 = (((($355) + (($354*280)|0)|0)) + 256|0); + HEAP8[$591>>0] = $589; + $592 = (($$1673777) + 237)|0; + $593 = ($592>>>0)<($2>>>0); + if ($593) { + $594 = (($1) + ($592)|0); + $595 = HEAP8[$594>>0]|0; + $596 = $595&255; + $598 = $596; + } else { + $598 = 0; + } + $597 = $598&255; + $599 = (((($355) + (($354*280)|0)|0)) + 257|0); + HEAP8[$599>>0] = $597; + $600 = (($$1673777) + 238)|0; + $601 = ($600>>>0)<($2>>>0); + if ($601) { + $602 = (($1) + ($600)|0); + $603 = HEAP8[$602>>0]|0; + $604 = $603&255; + $606 = $604; + } else { + $606 = 0; + } + $605 = $606&255; + $607 = (((($355) + (($354*280)|0)|0)) + 258|0); + HEAP8[$607>>0] = $605; + $608 = (($$1673777) + 239)|0; + $609 = ($608>>>0)<($2>>>0); + if ($609) { + $610 = (($1) + ($608)|0); + $611 = HEAP8[$610>>0]|0; + $612 = $611&255; + $621 = $612; + } else { + $621 = 0; + } + $613 = (($$1673777) + 240)|0; + $614 = ($613>>>0)<($2>>>0); + if ($614) { + $615 = (($1) + ($613)|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $619 = $617; + } else { + $619 = 0; + } + $618 = $619 << 8; + $620 = $618 | $621; + $622 = $620&65535; + $623 = (((($355) + (($354*280)|0)|0)) + 260|0); + HEAP16[$623>>1] = $622; + $624 = (((($355) + (($354*280)|0)|0)) + 276|0); + HEAP32[$624>>2] = $$1778; + $625 = HEAP16[$373>>1]|0; + $626 = $625&65535; + $627 = ($626*80)|0; + $628 = (($$1778) + ($627)|0); + $$0687 = $404;$$2 = $628; + } + $630 = ($$1673777>>>0)<($2>>>0); + if ($630) { + $631 = (($1) + ($$1673777)|0); + $632 = HEAP8[$631>>0]|0; + $633 = $632&255; + $642 = $633; + } else { + $642 = 0; + } + $634 = (($$1673777) + 1)|0; + $635 = ($634>>>0)<($2>>>0); + if ($635) { + $636 = (($1) + ($634)|0); + $637 = HEAP8[$636>>0]|0; + $638 = $637&255; + $640 = $638; + } else { + $640 = 0; + } + $639 = $640 << 8; + $641 = $639 | $642; + $643 = (($$1673777) + 2)|0; + $644 = ($643>>>0)<($2>>>0); + if ($644) { + $645 = (($1) + ($643)|0); + $646 = HEAP8[$645>>0]|0; + $647 = $646&255; + $656 = $647; + } else { + $656 = 0; + } + $648 = (($$1673777) + 3)|0; + $649 = ($648>>>0)<($2>>>0); + if ($649) { + $650 = (($1) + ($648)|0); + $651 = HEAP8[$650>>0]|0; + $652 = $651&255; + $654 = $652; + } else { + $654 = 0; + } + $653 = $654 << 8; + $655 = $653 | $656; + $657 = $655 << 16; + $658 = $641 | $657; + $659 = (($658) + ($$1673777))|0; + $660 = HEAP16[$373>>1]|0; + $661 = ($660<<16>>16)==(0); + if ($661) { + $$3$lcssa794 = $$2;$$3675$lcssa = $659; + } else { + $662 = (((($355) + (($354*280)|0)|0)) + 276|0); + $$0679755 = 0;$$2674756 = $659;$$3757 = $$2; + while(1) { + $666 = $$0679755&65535; + $667 = HEAP32[$662>>2]|0; + $668 = ($$2674756>>>0)<($2>>>0); + if ($668) { + $669 = (($1) + ($$2674756)|0); + $670 = HEAP8[$669>>0]|0; + $671 = $670&255; + $680 = $671; + } else { + $680 = 0; + } + $672 = (($$2674756) + 1)|0; + $673 = ($672>>>0)<($2>>>0); + if ($673) { + $674 = (($1) + ($672)|0); + $675 = HEAP8[$674>>0]|0; + $676 = $675&255; + $678 = $676; + } else { + $678 = 0; + } + $677 = $678 << 8; + $679 = $677 | $680; + $681 = (($$2674756) + 2)|0; + $682 = ($681>>>0)<($2>>>0); + if ($682) { + $683 = (($1) + ($681)|0); + $684 = HEAP8[$683>>0]|0; + $685 = $684&255; + $694 = $685; + } else { + $694 = 0; + } + $686 = (($$2674756) + 3)|0; + $687 = ($686>>>0)<($2>>>0); + if ($687) { + $688 = (($1) + ($686)|0); + $689 = HEAP8[$688>>0]|0; + $690 = $689&255; + $692 = $690; + } else { + $692 = 0; + } + $691 = $692 << 8; + $693 = $691 | $694; + $695 = $693 << 16; + $696 = $679 | $695; + $697 = (((($667) + (($666*80)|0)|0)) + 24|0); + HEAP32[$697>>2] = $696; + $698 = (($$2674756) + 4)|0; + $699 = ($698>>>0)<($2>>>0); + if ($699) { + $700 = (($1) + ($698)|0); + $701 = HEAP8[$700>>0]|0; + $702 = $701&255; + $711 = $702; + } else { + $711 = 0; + } + $703 = (($$2674756) + 5)|0; + $704 = ($703>>>0)<($2>>>0); + if ($704) { + $705 = (($1) + ($703)|0); + $706 = HEAP8[$705>>0]|0; + $707 = $706&255; + $709 = $707; + } else { + $709 = 0; + } + $708 = $709 << 8; + $710 = $708 | $711; + $712 = (($$2674756) + 6)|0; + $713 = ($712>>>0)<($2>>>0); + if ($713) { + $714 = (($1) + ($712)|0); + $715 = HEAP8[$714>>0]|0; + $716 = $715&255; + $725 = $716; + } else { + $725 = 0; + } + $717 = (($$2674756) + 7)|0; + $718 = ($717>>>0)<($2>>>0); + if ($718) { + $719 = (($1) + ($717)|0); + $720 = HEAP8[$719>>0]|0; + $721 = $720&255; + $723 = $721; + } else { + $723 = 0; + } + $722 = $723 << 8; + $724 = $722 | $725; + $726 = $724 << 16; + $727 = $710 | $726; + $728 = (((($667) + (($666*80)|0)|0)) + 28|0); + HEAP32[$728>>2] = $727; + $729 = (($$2674756) + 8)|0; + $730 = ($729>>>0)<($2>>>0); + if ($730) { + $731 = (($1) + ($729)|0); + $732 = HEAP8[$731>>0]|0; + $733 = $732&255; + $742 = $733; + } else { + $742 = 0; + } + $734 = (($$2674756) + 9)|0; + $735 = ($734>>>0)<($2>>>0); + if ($735) { + $736 = (($1) + ($734)|0); + $737 = HEAP8[$736>>0]|0; + $738 = $737&255; + $740 = $738; + } else { + $740 = 0; + } + $739 = $740 << 8; + $741 = $739 | $742; + $743 = (($$2674756) + 10)|0; + $744 = ($743>>>0)<($2>>>0); + if ($744) { + $745 = (($1) + ($743)|0); + $746 = HEAP8[$745>>0]|0; + $747 = $746&255; + $756 = $747; + } else { + $756 = 0; + } + $748 = (($$2674756) + 11)|0; + $749 = ($748>>>0)<($2>>>0); + if ($749) { + $750 = (($1) + ($748)|0); + $751 = HEAP8[$750>>0]|0; + $752 = $751&255; + $754 = $752; + } else { + $754 = 0; + } + $753 = $754 << 8; + $755 = $753 | $756; + $757 = $755 << 16; + $758 = $741 | $757; + $759 = (((($667) + (($666*80)|0)|0)) + 32|0); + HEAP32[$759>>2] = $758; + $760 = HEAP32[$728>>2]|0; + $761 = (($758) + ($760))|0; + $762 = (((($667) + (($666*80)|0)|0)) + 36|0); + HEAP32[$762>>2] = $761; + $763 = (($$2674756) + 12)|0; + $764 = ($763>>>0)<($2>>>0); + if ($764) { + $765 = (($1) + ($763)|0); + $766 = HEAP8[$765>>0]|0; + $767 = $766&255; + $769 = $767; + } else { + $769 = 0; + } + $768 = (+($769|0)); + $770 = $768 * 0.015625; + $771 = (((($667) + (($666*80)|0)|0)) + 40|0); + HEAPF32[$771>>2] = $770; + $772 = (($$2674756) + 13)|0; + $773 = ($772>>>0)<($2>>>0); + if ($773) { + $774 = (($1) + ($772)|0); + $775 = HEAP8[$774>>0]|0; + $776 = $775&255; + $778 = $776; + } else { + $778 = 0; + } + $777 = $778&255; + $779 = (((($667) + (($666*80)|0)|0)) + 44|0); + HEAP8[$779>>0] = $777; + $780 = (($$2674756) + 14)|0; + $781 = ($780>>>0)<($2>>>0); + do { + if ($781) { + $782 = (($1) + ($780)|0); + $783 = HEAP8[$782>>0]|0; + $784 = $783&255; + $785 = $784 & 3; + $786 = ($785|0)==(0); + if ($786) { + $889 = $784; + label = 204; + break; + } + $788 = ($785|0)==(1); + $789 = (((($667) + (($666*80)|0)|0)) + 48|0); + $$sink = $788 ? 1 : 2; + HEAP32[$789>>2] = $$sink; + $791 = $784; + } else { + $889 = 0; + label = 204; + } + } while(0); + if ((label|0) == 204) { + label = 0; + $787 = (((($667) + (($666*80)|0)|0)) + 48|0); + HEAP32[$787>>2] = 0; + $791 = $889; + } + $790 = $791 >>> 1; + $792 = $790 & 8; + $793 = (($792) + 8)|0; + $794 = $793&255; + $795 = (((($667) + (($666*80)|0)|0)) + 23|0); + HEAP8[$795>>0] = $794; + $796 = (($$2674756) + 15)|0; + $797 = ($796>>>0)<($2>>>0); + if ($797) { + $798 = (($1) + ($796)|0); + $799 = HEAP8[$798>>0]|0; + $800 = $799&255; + $802 = $800; + } else { + $802 = 0; + } + $801 = (+($802|0)); + $803 = $801 / 255.0; + $804 = (((($667) + (($666*80)|0)|0)) + 52|0); + HEAPF32[$804>>2] = $803; + $805 = (($$2674756) + 16)|0; + $806 = ($805>>>0)<($2>>>0); + if ($806) { + $807 = (($1) + ($805)|0); + $808 = HEAP8[$807>>0]|0; + $809 = $808&255; + $811 = $809; + } else { + $811 = 0; + } + $810 = $811&255; + $812 = (((($667) + (($666*80)|0)|0)) + 56|0); + HEAP8[$812>>0] = $810; + $813 = (($667) + (($666*80)|0)|0); + _memcpy_pad($813,22,$1,$2,18); + $814 = (((($667) + (($666*80)|0)|0)) + 72|0); + HEAP32[$814>>2] = $$3757; + $815 = HEAP8[$795>>0]|0; + $816 = ($815<<24>>24)==(16); + $817 = HEAP32[$697>>2]|0; + if ($816) { + $818 = $817 << 1; + $819 = HEAP32[$728>>2]|0; + $820 = $819 >>> 1; + HEAP32[$728>>2] = $820; + $821 = HEAP32[$759>>2]|0; + $822 = $821 >>> 1; + HEAP32[$759>>2] = $822; + $823 = HEAP32[$762>>2]|0; + $824 = $823 >>> 1; + HEAP32[$762>>2] = $824; + $825 = HEAP32[$697>>2]|0; + $826 = $825 >>> 1; + HEAP32[$697>>2] = $826; + $$pn693 = $818; + } else { + $827 = $817 << 2; + $$pn693 = $827; + } + $$4 = (($$3757) + ($$pn693)|0); + $828 = (($$2674756) + ($$0687))|0; + $829 = (($$0679755) + 1)<<16>>16; + $664 = HEAP16[$373>>1]|0; + $830 = ($829&65535)<($664&65535); + if ($830) { + $$0679755 = $829;$$2674756 = $828;$$3757 = $$4; + } else { + break; + } + } + $663 = ($664<<16>>16)==(0); + if ($663) { + $$3$lcssa794 = $$4;$$3675$lcssa = $828; + } else { + $665 = (((($355) + (($354*280)|0)|0)) + 276|0); + $$0677769 = 0;$$3675770 = $828; + while(1) { + $834 = $$0677769&65535; + $835 = HEAP32[$665>>2]|0; + $836 = (((($835) + (($834*80)|0)|0)) + 24|0); + $837 = HEAP32[$836>>2]|0; + $838 = (((($835) + (($834*80)|0)|0)) + 23|0); + $839 = HEAP8[$838>>0]|0; + $840 = ($839<<24>>24)==(16); + $841 = ($837|0)!=(0); + if ($840) { + if ($841) { + $843 = (((($835) + (($834*80)|0)|0)) + 72|0); + $$0669766 = 0;$$0670765 = 0; + while(1) { + $sext691 = $$0670765 << 16; + $846 = $sext691 >> 16; + $847 = $$0669766 << 1; + $848 = (($847) + ($$3675770))|0; + $849 = ($848>>>0)<($2>>>0); + if ($849) { + $850 = (($1) + ($848)|0); + $851 = HEAP8[$850>>0]|0; + $852 = $851&255; + $861 = $852; + } else { + $861 = 0; + } + $853 = (($848) + 1)|0; + $854 = ($853>>>0)<($2>>>0); + if ($854) { + $855 = (($1) + ($853)|0); + $856 = HEAP8[$855>>0]|0; + $857 = $856&255; + $859 = $857; + } else { + $859 = 0; + } + $858 = $859 << 8; + $860 = $858 | $861; + $sext692 = $860 << 16; + $862 = $sext692 >> 16; + $863 = (($862) + ($846))|0; + $864 = $863&65535; + $865 = (+($864<<16>>16)); + $866 = $865 * 3.0517578125E-5; + $867 = HEAP32[$843>>2]|0; + $868 = (($867) + ($$0669766<<2)|0); + HEAPF32[$868>>2] = $866; + $869 = (($$0669766) + 1)|0; + $exitcond793 = ($869|0)==($837|0); + if ($exitcond793) { + break; + } else { + $$0669766 = $869;$$0670765 = $863; + } + } + } + $844 = HEAP32[$836>>2]|0; + $845 = $844 << 1; + $$pn = $845; + } else { + if ($841) { + $842 = (((($835) + (($834*80)|0)|0)) + 72|0); + $$0668761 = 0;$$0762 = 0; + while(1) { + $sext = $$0668761 << 24; + $871 = $sext >> 24; + $872 = (($$0762) + ($$3675770))|0; + $873 = ($872>>>0)<($2>>>0); + if ($873) { + $874 = (($1) + ($872)|0); + $875 = HEAP8[$874>>0]|0; + $876 = $875&255; + $877 = $876; + } else { + $877 = 0; + } + $sext690 = $877 << 24; + $878 = $sext690 >> 24; + $879 = (($878) + ($871))|0; + $880 = $879&255; + $881 = (+($880<<24>>24)); + $882 = $881 * 0.0078125; + $883 = HEAP32[$842>>2]|0; + $884 = (($883) + ($$0762<<2)|0); + HEAPF32[$884>>2] = $882; + $885 = (($$0762) + 1)|0; + $exitcond = ($885|0)==($837|0); + if ($exitcond) { + break; + } else { + $$0668761 = $879;$$0762 = $885; + } + } + } + $870 = HEAP32[$836>>2]|0; + $$pn = $870; + } + $$4676 = (($$pn) + ($$3675770))|0; + $886 = (($$0677769) + 1)<<16>>16; + $887 = HEAP16[$373>>1]|0; + $888 = ($886&65535)<($887&65535); + if ($888) { + $$0677769 = $886;$$3675770 = $$4676; + } else { + $$3$lcssa794 = $$4;$$3675$lcssa = $$4676; + break; + } + } + } + } + $831 = (($$0688776) + 1)<<16>>16; + $832 = HEAP16[$98>>1]|0; + $833 = ($831&65535)<($832&65535); + if ($833) { + $$0688776 = $831;$$1673777 = $$3675$lcssa;$$1778 = $$3$lcssa794; + } else { + $$1$lcssa = $$3$lcssa794; + break; + } + } + return ($$1$lcssa|0); +} +function _jar_xm_check_sanity_postload($0) { + $0 = $0|0; + var $$01520 = 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, $or$cond = 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; + $1 = ((($0)) + 46|0); + $2 = HEAP16[$1>>1]|0; + $3 = ($2<<16>>16)==(0); + if ($3) { + $26 = 0; + STACKTOP = sp;return ($26|0); + } + $4 = $2&65535; + $5 = ((($0)) + 52|0); + $6 = HEAP32[1251]|0; + $$01520 = 0;$16 = $4;$18 = $2;$8 = 0; + while(1) { + $7 = (((($0)) + 60|0) + ($8)|0); + $9 = HEAP8[$7>>0]|0; + $10 = $9&255; + $11 = HEAP16[$5>>1]|0; + $12 = $11&65535; + $13 = ($10>>>0)<($12>>>0); + if (!($13)) { + $14 = (($8) + 1)|0; + $15 = ($14|0)==($16|0); + $17 = ($18&65535)>(1); + $or$cond = $17 & $15; + if (!($or$cond)) { + break; + } + $19 = (($18) + -1)<<16>>16; + HEAP16[$1>>1] = $19; + HEAP32[$vararg_buffer>>2] = 16228; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + (_fprintf($6,16190,$vararg_buffer)|0); + (_fflush($6)|0); + } + $20 = (($$01520) + 1)<<24>>24; + $21 = $20&255; + $22 = HEAP16[$1>>1]|0; + $23 = $22&65535; + $24 = ($21>>>0)<($23>>>0); + if ($24) { + $$01520 = $20;$16 = $23;$18 = $22;$8 = $21; + } else { + $26 = 0; + label = 8; + break; + } + } + if ((label|0) == 8) { + STACKTOP = sp;return ($26|0); + } + HEAP32[$vararg_buffer2>>2] = 16228; + $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $8; + $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); + HEAP32[$vararg_ptr6>>2] = $10; + (_fprintf($6,16257,$vararg_buffer2)|0); + $25 = HEAP32[1251]|0; + (_fflush($25)|0); + $26 = 1; + STACKTOP = sp;return ($26|0); +} +function _jar_xm_free_context($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _memcpy_pad($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($3>>>0)<($4>>>0); + $6 = (($3) - ($4))|0; + $$ = $5 ? 0 : $6; + $7 = ($$>>>0)>($1>>>0); + $8 = $7 ? $1 : $$; + $9 = (($2) + ($4)|0); + _memcpy(($0|0),($9|0),($8|0))|0; + $10 = (($0) + ($8)|0); + $11 = (($1) - ($8))|0; + _memset(($10|0),0,($11|0))|0; + return; +} +function _jar_xm_set_max_loop_count($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 385|0); + HEAP8[$2>>0] = $1; + return; +} +function _jar_xm_get_loop_count($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 384|0); + $2 = HEAP8[$1>>0]|0; + return ($2|0); +} +function _jar_xm_get_remaining_samples($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.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_jar_xm_get_loop_count($0)|0); + _jar_xm_set_max_loop_count($0,0); + $2 = (_jar_xm_get_loop_count($0)|0); + $3 = ($2<<24>>24)==($1<<24>>24); + if (!($3)) { + $15 = 0;$16 = 0; + $14 = ((($0)) + 384|0); + HEAP8[$14>>0] = $1; + tempRet0 = ($15); + return ($16|0); + } + $4 = ((($0)) + 352|0); + $6 = 0;$7 = 0; + while(1) { + $5 = +HEAPF32[$4>>2]; + $8 = (+($6>>>0)) + (4294967296.0*(+($7>>>0))); + $9 = $8 + $5; + $10 = (~~$9)>>>0; + $11 = +Math_abs($9) >= 1.0 ? $9 > 0.0 ? (~~+Math_min(+Math_floor($9 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($9 - +(~~$9 >>> 0)) / 4294967296.0) >>> 0 : 0; + HEAPF32[$4>>2] = 0.0; + _jar_xm_tick($0); + $12 = (_jar_xm_get_loop_count($0)|0); + $13 = ($12<<24>>24)==($1<<24>>24); + if ($13) { + $6 = $10;$7 = $11; + } else { + $15 = $11;$16 = $10; + break; + } + } + $14 = ((($0)) + 384|0); + HEAP8[$14>>0] = $1; + tempRet0 = ($15); + return ($16|0); +} +function _jar_xm_create_context_from_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$1 = 0, $$1$ph = 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, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fopen($2,17589)|0); + $4 = ($3|0)==(0|0); + L1: do { + if ($4) { + $5 = HEAP32[1251]|0; + (_fwrite(16347,25,1,$5)|0); + (_fflush($5)|0); + $$1$ph = 3; + } else { + (_fseek($3,0,2)|0); + $6 = (_ftell($3)|0); + _rewind($3); + $7 = ($6|0)==(-1); + if ($7) { + (_fclose($3)|0); + $8 = HEAP32[1251]|0; + (_fwrite(16373,14,1,$8)|0); + (_fflush($8)|0); + $$1$ph = 4; + break; + } + $9 = (($6) + 1)|0; + $10 = (_malloc($9)|0); + $11 = (_fread($10,1,$6,$3)|0); + $12 = ($11>>>0)<($6>>>0); + (_fclose($3)|0); + if ($12) { + $13 = HEAP32[1251]|0; + (_fwrite(16388,14,1,$13)|0); + (_fflush($13)|0); + $$1$ph = 5; + break; + } + $14 = (_jar_xm_create_context_safe($0,$10,$6,$1)|0); + switch ($14|0) { + case 1: { + $15 = HEAP32[1251]|0; + (_fwrite(16403,45,1,$15)|0); + (_fflush($15)|0); + $$1$ph = 1; + break L1; + break; + } + case 2: { + $16 = HEAP32[1251]|0; + (_fwrite(16449,40,1,$16)|0); + (_fflush($16)|0); + _exit(1); + // unreachable; + break; + } + case 0: { + $$1 = 0; + return ($$1|0); + break; + } + default: { + $17 = HEAP32[1251]|0; + (_fwrite(16490,40,1,$17)|0); + (_fflush($17)|0); + _exit(1); + // unreachable; + } + } + } + } while(0); + HEAP32[$0>>2] = 0; + $$1 = $$1$ph; + return ($$1|0); +} +function _InitAudioDevice() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 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 = (_alcOpenDevice((0|0))|0); + $1 = ($0|0)==(0|0); + if ($1) { + _TraceLog(2,16531,$vararg_buffer); + STACKTOP = sp;return; + } + $2 = (_alcCreateContext(($0|0),(0|0))|0); + $cond = ($2|0)==(0|0); + do { + if (!($cond)) { + $3 = (_alcMakeContextCurrent(($2|0))|0); + $4 = ($3<<24>>24)==(0); + if ($4) { + _alcDestroyContext(($2|0)); + break; + } + $5 = (_alcGetString(($0|0),4101)|0); + HEAP32[$vararg_buffer3>>2] = $5; + _TraceLog(0,16599,$vararg_buffer3); + _alListener3f(4100,0.0,0.0,0.0); + _alListener3f(4102,0.0,0.0,0.0); + _alListener3f(4111,0.0,0.0,-1.0); + _alListenerf(4106,1.0); + STACKTOP = sp;return; + } + } while(0); + (_alcCloseDevice(($0|0))|0); + _TraceLog(2,16564,$vararg_buffer1); STACKTOP = sp;return; } -function _LoadASTC($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$$ = 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, $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 $7 = 0, $8 = 0, $9 = 0, $header = 0, $image$sroa$0$0 = 0, $image$sroa$0$1 = 0, $image$sroa$12$0 = 0, $image$sroa$12$1 = 0, $image$sroa$14$0 = 0, $image$sroa$14$1 = 0, $image$sroa$4$0 = 0, $image$sroa$4$1 = 0, $image$sroa$8$0 = 0, $image$sroa$8$1 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer4 = 0; - var $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; +function _CloseAudioDevice() { + var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_alcGetCurrentContext()|0); + $1 = ($0|0)==(0|0); + if ($1) { + _TraceLog(1,16653,$vararg_buffer); + } + $2 = (_alcGetContextsDevice(($0|0))|0); + (_alcMakeContextCurrent((0|0))|0); + _alcDestroyContext(($0|0)); + (_alcCloseDevice(($2|0))|0); + _TraceLog(0,16701,$vararg_buffer1); + STACKTOP = sp;return; +} +function _LoadWave($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_buffer1 = 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 = sp + 12|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; + $3 = (_IsFileExtension($1,16734)|0); + $4 = ($3|0)==(0); + do { + if ($4) { + $5 = (_IsFileExtension($1,16739)|0); + $6 = ($5|0)==(0); + if (!($6)) { + _LoadOGG($2,$1); + break; + } + $7 = (_IsFileExtension($1,16744)|0); + $8 = ($7|0)==(0); + if ($8) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,16796,$vararg_buffer1); + break; + } + $9 = (_LoadResource($1,0)|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(2); + if ($11) { + $12 = ((($9)) + 20|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($9)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($9)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($9)) + 12|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($9)) + 16|0); + $21 = HEAP32[$20>>2]|0; + _LoadWaveEx($2,$13,$15,$17,$19,$21); + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,16750,$vararg_buffer); + } + _UnloadResource($9); + } else { + _LoadWAV($2,$1); + } + } while(0); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0; + STACKTOP = sp;return; +} +function _LoadWAV($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$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, $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_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0; + var $vararg_ptr23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $vararg_buffer18 = sp + 48|0; $vararg_buffer14 = 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; - $header = sp + 48|0; - $0 = (_fopen($fileName,19026)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,20490,$vararg_buffer); - $image$sroa$0$1 = 0;$image$sroa$12$1 = 0;$image$sroa$14$1 = 0;$image$sroa$4$1 = 0;$image$sroa$8$1 = 0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $58 = ((($agg$result)) + 4|0); - HEAP32[$58>>2] = $image$sroa$4$1; - $59 = ((($agg$result)) + 8|0); - HEAP32[$59>>2] = $image$sroa$8$1; - $60 = ((($agg$result)) + 12|0); - HEAP32[$60>>2] = $image$sroa$12$1; - $61 = ((($agg$result)) + 16|0); - HEAP32[$61>>2] = $image$sroa$14$1; - STACKTOP = sp;return; - } - (_fread($header,16,1,$0)|0); - $2 = ((($header)) + 3|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(92); - L5: do { - if ($4) { - $5 = ((($header)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(-95); - if ($7) { - $8 = ((($header)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(-85); - $11 = HEAP8[$header>>0]|0; - $12 = ($11<<24>>24)==(19); - $or$cond = $10 & $12; - if ($or$cond) { - $13 = ((($header)) + 9|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = $15 << 16; - $17 = ((($header)) + 8|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = $19 << 8; - $21 = $20 | $16; - $22 = ((($header)) + 7|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $21 | $24; - $26 = ((($header)) + 12|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $28 << 16; - $30 = ((($header)) + 11|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 8; - $34 = $33 | $29; - $35 = ((($header)) + 10|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = $34 | $37; - HEAP32[$vararg_buffer4>>2] = $25; - _TraceLog(3,20574,$vararg_buffer4); - HEAP32[$vararg_buffer7>>2] = $38; - _TraceLog(3,20595,$vararg_buffer7); - $39 = ((($header)) + 4|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = ((($header)) + 5|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - HEAP32[$vararg_buffer10>>2] = $41; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $44; - _TraceLog(3,20617,$vararg_buffer10); - $45 = HEAP8[$39>>0]|0; - $46 = $45&255; - $47 = HEAP8[$42>>0]|0; - $48 = $47&255; - $49 = Math_imul($48, $46)|0; - $50 = (128 / ($49>>>0))&-1; - $51 = ($50|0)==(8); - $52 = ($50|0)==(2); - switch ($50|0) { - case 2: case 8: { - $53 = Math_imul($38, $25)|0; - $54 = Math_imul($53, $50)|0; - $55 = $54 >>> 3; - $56 = (_malloc($55)|0); - (_fread($56,$55,1,$0)|0); - $57 = $51 | $52; - $$$ = $57 ? 17 : 0; - $image$sroa$0$0 = $56;$image$sroa$12$0 = 1;$image$sroa$14$0 = $$$;$image$sroa$4$0 = $25;$image$sroa$8$0 = $38; - break L5; - break; - } - default: { - HEAP32[$vararg_buffer14>>2] = $fileName; - _TraceLog(2,20642,$vararg_buffer14); - $image$sroa$0$0 = 0;$image$sroa$12$0 = 1;$image$sroa$14$0 = 0;$image$sroa$4$0 = $25;$image$sroa$8$0 = $38; - break L5; - } - } - } else { - label = 6; - } - } else { - label = 6; - } - } else { - label = 6; - } - } while(0); - if ((label|0) == 6) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,20525,$vararg_buffer1); - $image$sroa$0$0 = 0;$image$sroa$12$0 = 0;$image$sroa$14$0 = 0;$image$sroa$4$0 = 0;$image$sroa$8$0 = 0; - } - (_fclose($0)|0); - $image$sroa$0$1 = $image$sroa$0$0;$image$sroa$12$1 = $image$sroa$12$0;$image$sroa$14$1 = $image$sroa$14$0;$image$sroa$4$1 = $image$sroa$4$0;$image$sroa$8$1 = $image$sroa$8$0; - HEAP32[$agg$result>>2] = $image$sroa$0$1; - $58 = ((($agg$result)) + 4|0); - HEAP32[$58>>2] = $image$sroa$4$1; - $59 = ((($agg$result)) + 8|0); - HEAP32[$59>>2] = $image$sroa$8$1; - $60 = ((($agg$result)) + 12|0); - HEAP32[$60>>2] = $image$sroa$12$1; - $61 = ((($agg$result)) + 16|0); - HEAP32[$61>>2] = $image$sroa$14$1; - STACKTOP = sp;return; -} -function _vorbis_deinit($p) { - $p = $p|0; - var $0 = 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, $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, $i$016 = 0, $i$110 = 0, $i$28 = 0, $i$37 = 0, $j$013 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = ((($p)) + 264|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(0); - if ($5) { - $6 = ((($p)) + 124|0); - $i$016 = 0; - while(1) { - $7 = HEAP32[$0>>2]|0; - $8 = (((($7) + (($i$016*24)|0)|0)) + 16|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = (((($7) + (($i$016*24)|0)|0)) + 13|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = HEAP32[$6>>2]|0; - $15 = (((($14) + (($13*2096)|0)|0)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)>(0); - if ($17) { - $j$013 = 0; - while(1) { - $18 = HEAP32[$8>>2]|0; - $19 = (($18) + ($j$013<<2)|0); - $20 = HEAP32[$19>>2]|0; - _setup_free($p,$20); - $21 = (($j$013) + 1)|0; - $22 = HEAP8[$11>>0]|0; - $23 = $22&255; - $24 = HEAP32[$6>>2]|0; - $25 = (((($24) + (($23*2096)|0)|0)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($21|0)<($26|0); - if ($27) { - $j$013 = $21; - } else { - break; - } - } - } - $28 = HEAP32[$8>>2]|0; - _setup_free($p,$28); - } - $29 = (((($7) + (($i$016*24)|0)|0)) + 20|0); - $30 = HEAP32[$29>>2]|0; - _setup_free($p,$30); - $31 = (($i$016) + 1)|0; - $32 = HEAP32[$3>>2]|0; - $33 = ($31|0)<($32|0); - if ($33) { - $i$016 = $31; - } else { - break; - } - } - } - } - $34 = ((($p)) + 124|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - if (!($36)) { - $37 = ((($p)) + 120|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)>(0); - if ($39) { - $i$110 = 0; - while(1) { - $40 = HEAP32[$34>>2]|0; - $41 = (((($40) + (($i$110*2096)|0)|0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - _setup_free($p,$42); - $43 = (((($40) + (($i$110*2096)|0)|0)) + 28|0); - $44 = HEAP32[$43>>2]|0; - _setup_free($p,$44); - $45 = (((($40) + (($i$110*2096)|0)|0)) + 32|0); - $46 = HEAP32[$45>>2]|0; - _setup_free($p,$46); - $47 = (((($40) + (($i$110*2096)|0)|0)) + 2084|0); - $48 = HEAP32[$47>>2]|0; - _setup_free($p,$48); - $49 = (((($40) + (($i$110*2096)|0)|0)) + 2088|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==(0|0); - $52 = ((($50)) + -4|0); - $53 = $51 ? 0 : $52; - _setup_free($p,$53); - $54 = (($i$110) + 1)|0; - $55 = HEAP32[$37>>2]|0; - $56 = ($54|0)<($55|0); - if ($56) { - $i$110 = $54; - } else { - break; - } - } - } - $57 = HEAP32[$34>>2]|0; - _setup_free($p,$57); - } - $58 = ((($p)) + 260|0); - $59 = HEAP32[$58>>2]|0; - _setup_free($p,$59); - $60 = HEAP32[$0>>2]|0; - _setup_free($p,$60); - $61 = ((($p)) + 404|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if (!($63)) { - $64 = ((($p)) + 400|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)>(0); - if ($66) { - $i$28 = 0; - while(1) { - $67 = HEAP32[$61>>2]|0; - $68 = (((($67) + (($i$28*40)|0)|0)) + 4|0); - $69 = HEAP32[$68>>2]|0; - _setup_free($p,$69); - $70 = (($i$28) + 1)|0; - $71 = HEAP32[$64>>2]|0; - $72 = ($70|0)<($71|0); - if ($72) { - $i$28 = $70; - } else { - break; - } - } - } - $73 = HEAP32[$61>>2]|0; - _setup_free($p,$73); - } - $74 = ((($p)) + 4|0); - $75 = HEAP32[$74>>2]|0; - $76 = ($75|0)>(0); - if ($76) { - $i$37 = 0; - while(1) { - $77 = (((($p)) + 800|0) + ($i$37<<2)|0); - $78 = HEAP32[$77>>2]|0; - _setup_free($p,$78); - $79 = (((($p)) + 928|0) + ($i$37<<2)|0); - $80 = HEAP32[$79>>2]|0; - _setup_free($p,$80); - $81 = (((($p)) + 996|0) + ($i$37<<2)|0); - $82 = HEAP32[$81>>2]|0; - _setup_free($p,$82); - $83 = (($i$37) + 1)|0; - $84 = HEAP32[$74>>2]|0; - $85 = ($83|0)<($84|0); - $86 = ($83|0)<(16); - $87 = $86 & $85; - if ($87) { - $i$37 = $83; - } else { - break; - } - } - } - $88 = ((($p)) + 1068|0); - $89 = HEAP32[$88>>2]|0; - _setup_free($p,$89); - $90 = ((($p)) + 1076|0); - $91 = HEAP32[$90>>2]|0; - _setup_free($p,$91); - $92 = ((($p)) + 1084|0); - $93 = HEAP32[$92>>2]|0; - _setup_free($p,$93); - $94 = ((($p)) + 1092|0); - $95 = HEAP32[$94>>2]|0; - _setup_free($p,$95); - $96 = ((($p)) + 1100|0); - $97 = HEAP32[$96>>2]|0; - _setup_free($p,$97); - $98 = ((($p)) + 1072|0); - $99 = HEAP32[$98>>2]|0; - _setup_free($p,$99); - $100 = ((($p)) + 1080|0); - $101 = HEAP32[$100>>2]|0; - _setup_free($p,$101); - $102 = ((($p)) + 1088|0); - $103 = HEAP32[$102>>2]|0; - _setup_free($p,$103); - $104 = ((($p)) + 1096|0); - $105 = HEAP32[$104>>2]|0; - _setup_free($p,$105); - $106 = ((($p)) + 1104|0); - $107 = HEAP32[$106>>2]|0; - _setup_free($p,$107); - $108 = ((($p)) + 28|0); - $109 = HEAP32[$108>>2]|0; - $110 = ($109|0)==(0); - if ($110) { - return; - } - $111 = ((($p)) + 20|0); - $112 = HEAP32[$111>>2]|0; - (_fclose($112)|0); - return; -} -function _setup_free($f,$p) { - $f = $f|0; - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 80|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - return; - } - _free($p); - return; -} -function _error($f,$e) { - $f = $f|0; - $e = $e|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 100|0); - HEAP32[$0>>2] = $e; - return; -} -function _is_whole_packet_present($f,$end_page) { - $f = $f|0; - $end_page = $end_page|0; - var $$0 = 0, $$s$0 = 0, $$s$3 = 0, $$sum = 0, $$sum1 = 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; - 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, $7 = 0, $8 = 0, $9 = 0, $first$0 = 0, $first$0$ph = 0, $or$cond = 0, $p$011 = 0, $p$1 = 0, $p$2 = 0, $p$2$ph = 0, $p$35 = 0, $p$4 = 0; - var $s$0$lcssa = 0, $s$012 = 0, $s$2 = 0, $s$2$ph = 0, $s$3$lcssa = 0, $s$36 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1380|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 32|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1|0)==(-1); - if ($4) { - $first$0$ph = 1;$p$2$ph = $3;$s$2$ph = -1; - } else { - $5 = ((($f)) + 1116|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($1|0)<($6|0); - L3: do { - if ($7) { - $p$011 = $3;$s$012 = $1; - while(1) { - $8 = (((($f)) + 1120|0) + ($s$012)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = (($p$011) + ($10)|0); - $12 = ($9<<24>>24)==(-1); - if (!($12)) { - $p$1 = $11;$s$0$lcssa = $s$012; - break L3; - } - $13 = (($s$012) + 1)|0; - $14 = HEAP32[$5>>2]|0; - $15 = ($13|0)<($14|0); - if ($15) { - $p$011 = $11;$s$012 = $13; - } else { - $p$1 = $11;$s$0$lcssa = $13; - break; - } - } - } else { - $p$1 = $3;$s$0$lcssa = $1; - } - } while(0); - $16 = ($end_page|0)==(0); - if (!($16)) { - $17 = HEAP32[$5>>2]|0; - $18 = (($17) + -1)|0; - $19 = ($s$0$lcssa|0)<($18|0); - if ($19) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - } - $20 = HEAP32[$5>>2]|0; - $21 = ($s$0$lcssa|0)==($20|0); - $$s$0 = $21 ? -1 : $s$0$lcssa; - $22 = ((($f)) + 40|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($p$1>>>0)>($23>>>0); - if ($24) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } else { - $first$0$ph = 0;$p$2$ph = $p$1;$s$2$ph = $$s$0; - } - } - $25 = ((($f)) + 40|0); - $26 = ($end_page|0)!=(0); - $27 = ((($f)) + 992|0); - $first$0 = $first$0$ph;$p$2 = $p$2$ph;$s$2 = $s$2$ph; - while(1) { - $28 = ($s$2|0)==(-1); - if (!($28)) { - $$0 = 1; - label = 33; - break; - } - $29 = ((($p$2)) + 26|0); - $30 = HEAP32[$25>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if (!($31)) { - label = 13; - break; - } - $32 = (_memcmp($p$2,8216,4)|0); - $33 = ($32|0)==(0); - if (!($33)) { - label = 15; - break; - } - $34 = ((($p$2)) + 4|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35<<24>>24)==(0); - if (!($36)) { - label = 17; - break; - } - $37 = ($first$0|0)==(0); - if ($37) { - $44 = ((($p$2)) + 5|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45 & 1; - $47 = ($46<<24>>24)==(0); - if ($47) { - label = 23; - break; - } - } else { - $38 = HEAP32[$27>>2]|0; - $39 = ($38|0)==(0); - if (!($39)) { - $40 = ((($p$2)) + 5|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 & 1; - $43 = ($42<<24>>24)==(0); - if (!($43)) { - label = 21; - break; - } - } - } - $48 = HEAP8[$29>>0]|0; - $49 = $48&255; - $$sum = (($49) + 27)|0; - $50 = (($p$2) + ($$sum)|0); - $51 = HEAP32[$25>>2]|0; - $52 = ($50>>>0)>($51>>>0); - if ($52) { - label = 26; - break; - } - $53 = ($48<<24>>24)==(0); - L28: do { - if ($53) { - $p$4 = $50;$s$3$lcssa = 0; - } else { - $p$35 = $50;$s$36 = 0; - while(1) { - $$sum1 = (($s$36) + 27)|0; - $54 = (($p$2) + ($$sum1)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = (($p$35) + ($56)|0); - $58 = ($55<<24>>24)==(-1); - if (!($58)) { - $p$4 = $57;$s$3$lcssa = $s$36; - break L28; - } - $59 = (($s$36) + 1)|0; - $60 = ($59|0)<($49|0); - if ($60) { - $p$35 = $57;$s$36 = $59; - } else { - $p$4 = $57;$s$3$lcssa = $59; - break; - } - } - } - } while(0); - $61 = (($49) + -1)|0; - $62 = ($s$3$lcssa|0)<($61|0); - $or$cond = $26 & $62; - if ($or$cond) { - label = 30; - break; - } - $63 = ($s$3$lcssa|0)==($49|0); - $$s$3 = $63 ? -1 : $s$3$lcssa; - $64 = HEAP32[$25>>2]|0; - $65 = ($p$4>>>0)>($64>>>0); - if ($65) { - label = 32; - break; - } else { - $first$0 = 0;$p$2 = $p$4;$s$2 = $$s$3; - } - } - if ((label|0) == 13) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 15) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 17) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 21) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 23) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 26) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 30) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 32) { - _error($f,1); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 33) { - return ($$0|0); - } - return (0)|0; -} -function _vorbis_decode_packet($f,$len,$p_left,$p_right) { - $f = $f|0; - $len = $len|0; - $p_left = $p_left|0; - $p_right = $p_right|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $left_end = 0, $mode = 0, $right_end = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $mode = sp + 8|0; - $left_end = sp + 4|0; - $right_end = sp; - $0 = (_vorbis_decode_initial($f,$p_left,$left_end,$p_right,$right_end,$mode)|0); - $1 = ($0|0)==(0); - if ($1) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $2 = HEAP32[$mode>>2]|0; - $3 = (((($f)) + 412|0) + (($2*6)|0)|0); - $4 = HEAP32[$p_left>>2]|0; - $5 = HEAP32[$p_right>>2]|0; - $6 = HEAP32[$right_end>>2]|0; - $7 = (_vorbis_decode_packet_rest($f,$len,$3,$4,$5,$6,$p_left)|0); - $$0 = $7; - STACKTOP = sp;return ($$0|0); -} -function _get8_packet($f) { - $f = $f|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_get8_packet_raw($f)|0); - $1 = ((($f)) + 1396|0); - HEAP32[$1>>2] = 0; - return ($0|0); -} -function _vorbis_finish_frame($f,$len,$left,$right) { - $f = $f|0; - $len = $len|0; - $left = $left|0; - $right = $right|0; - var $$0 = 0, $$pr = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0; - var $25 = 0.0, $26 = 0.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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond10 = 0; - var $i$04 = 0, $i1$09 = 0, $j$03 = 0, $j2$06 = 0, $len$right = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 992|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - $49 = 0; - } else { - $3 = (_get_window($f,$1)|0); - $4 = ((($f)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - if ($6) { - $7 = ($1|0)>(0); - $8 = HEAP32[$4>>2]|0; - $9 = (($1) + -1)|0; - $i1$09 = 0; - while(1) { - if ($7) { - $10 = (((($f)) + 800|0) + ($i1$09<<2)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (((($f)) + 928|0) + ($i1$09<<2)|0); - $13 = HEAP32[$12>>2]|0; - $j2$06 = 0; - while(1) { - $14 = (($j2$06) + ($left))|0; - $15 = (($11) + ($14<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = (($3) + ($j2$06<<2)|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 * $18; - $20 = (($13) + ($j2$06<<2)|0); - $21 = +HEAPF32[$20>>2]; - $22 = (($9) - ($j2$06))|0; - $23 = (($3) + ($22<<2)|0); - $24 = +HEAPF32[$23>>2]; - $25 = $21 * $24; - $26 = $19 + $25; - HEAPF32[$15>>2] = $26; - $27 = (($j2$06) + 1)|0; - $exitcond10 = ($27|0)==($1|0); - if ($exitcond10) { - break; - } else { - $j2$06 = $27; - } - } - } - $28 = (($i1$09) + 1)|0; - $29 = ($28|0)<($8|0); - if ($29) { - $i1$09 = $28; - } else { - break; - } - } - } - $$pr = HEAP32[$0>>2]|0; - $49 = $$pr; - } - $30 = (($len) - ($right))|0; - HEAP32[$0>>2] = $30; - $31 = ((($f)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)>(0); - if ($33) { - $34 = ($len|0)>($right|0); - $35 = HEAP32[$31>>2]|0; - $36 = (($len) - ($right))|0; - $i$04 = 0; - while(1) { - if ($34) { - $37 = (((($f)) + 800|0) + ($i$04<<2)|0); - $38 = HEAP32[$37>>2]|0; - $39 = (((($f)) + 928|0) + ($i$04<<2)|0); - $40 = HEAP32[$39>>2]|0; - $42 = $right;$j$03 = 0; - while(1) { - $41 = (($38) + ($42<<2)|0); - $43 = HEAP32[$41>>2]|0; - $44 = (($40) + ($j$03<<2)|0); - HEAP32[$44>>2] = $43; - $45 = (($j$03) + 1)|0; - $46 = (($45) + ($right))|0; - $exitcond = ($45|0)==($36|0); - if ($exitcond) { - break; - } else { - $42 = $46;$j$03 = $45; - } - } - } - $47 = (($i$04) + 1)|0; - $48 = ($47|0)<($35|0); - if ($48) { - $i$04 = $47; - } else { - break; - } - } - } - $50 = ($49|0)==(0); - if ($50) { - $$0 = 0; - return ($$0|0); - } - $51 = ($len|0)<($right|0); - $len$right = $51 ? $len : $right; - $52 = (($len$right) - ($left))|0; - $53 = ((($f)) + 1416|0); - $54 = HEAP32[$53>>2]|0; - $55 = (($54) + ($52))|0; - HEAP32[$53>>2] = $55; - $$0 = $52; - return ($$0|0); -} -function _vorbis_init($p,$z) { - $p = $p|0; - $z = $z|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, label = 0, sp = 0; - sp = STACKTOP; - _memset(($p|0),0,1512)|0; - $0 = ($z|0)==(0|0); - if (!($0)) { - $1 = ((($p)) + 80|0); - $2 = $z; - $3 = $2; - $4 = HEAP32[$3>>2]|0; - $5 = (($2) + 4)|0; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $8 = $1; - $9 = $8; - HEAP32[$9>>2] = $4; - $10 = (($8) + 4)|0; - $11 = $10; - HEAP32[$11>>2] = $7; - $12 = ((($p)) + 84|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 3)|0; - $15 = $14 & -4; - HEAP32[$12>>2] = $15; - $16 = ((($p)) + 92|0); - HEAP32[$16>>2] = $15; - } - $17 = ((($p)) + 96|0); - HEAP32[$17>>2] = 0; - $18 = ((($p)) + 100|0); - HEAP32[$18>>2] = 0; - $19 = ((($p)) + 32|0); - HEAP32[$19>>2] = 0; - $20 = ((($p)) + 124|0); - HEAP32[$20>>2] = 0; - $21 = ((($p)) + 1420|0); - HEAP32[$21>>2] = -1; - $22 = ((($p)) + 28|0); - HEAP32[$22>>2] = 0; - $23 = ((($p)) + 20|0); - HEAP32[$23>>2] = 0; - return; -} -function _start_decoder($f) { - $f = $f|0; - var $$ = 0, $$15 = 0, $$4 = 0, $$lcssa = 0, $$lcssa457 = 0, $$lcssa465 = 0, $$lcssa466 = 0, $$lcssa476 = 0, $$lcssa499 = 0, $$lcssa50 = 0, $$lcssa501 = 0, $$lcssa504 = 0, $$lcssa505 = 0, $$lcssa506 = 0, $$lcssa507 = 0, $$lcssa508 = 0, $$lcssa51 = 0, $$lcssa63 = 0, $$lcssa65 = 0, $$longest_floorlist$0 = 0; - var $$longest_floorlist$0$lcssa = 0, $$max_class$0 = 0, $$max_class$0$lcssa = 0, $$max_part_read$0 = 0, $$max_part_read$0$lcssa = 0, $$off = 0, $$off7 = 0, $$pr = 0, $$pr17 = 0, $$pr287 = 0, $$pr288 = 0, $$sum = 0, $0 = 0, $1 = 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, $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; - 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.0, $26 = 0, $260 = 0, $261 = 0, $262 = 0.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.0, $337 = 0.0, $338 = 0.0, $339 = 0.0; - var $34 = 0, $340 = 0.0, $341 = 0.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.0, $374 = 0.0, $375 = 0.0; - var $376 = 0.0, $377 = 0.0, $378 = 0.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; - var $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, $410 = 0; - var $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, $429 = 0; - var $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, $446 = 0, $447 = 0; - var $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, $463 = 0, $464 = 0, $465 = 0; - var $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, $481 = 0, $482 = 0, $483 = 0; - var $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, $5 = 0, $50 = 0, $500 = 0; - var $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, $517 = 0, $518 = 0, $519 = 0; - var $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, $535 = 0, $536 = 0, $537 = 0; - var $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, $553 = 0, $554 = 0, $555 = 0; - var $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, $571 = 0, $572 = 0, $573 = 0; - var $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, $59 = 0, $590 = 0, $591 = 0; - var $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, $607 = 0, $608 = 0, $609 = 0; - var $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, $625 = 0, $626 = 0, $627 = 0; - var $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, $643 = 0, $644 = 0, $645 = 0; - var $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, $661 = 0, $662 = 0, $663 = 0; - var $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, $68 = 0, $680 = 0, $681 = 0; - var $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, $698 = 0, $699 = 0, $7 = 0; - var $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, $715 = 0, $716 = 0, $717 = 0; - var $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, $733 = 0, $734 = 0, $735 = 0; - var $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, $751 = 0, $752 = 0, $753 = 0; - var $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, $77 = 0, $770 = 0, $771 = 0; - var $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, $788 = 0, $789 = 0, $79 = 0; - var $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, $805 = 0, $806 = 0, $807 = 0; - var $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, $823 = 0, $824 = 0, $825 = 0; - var $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, $841 = 0, $842 = 0, $843 = 0; - var $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, $86 = 0, $860 = 0, $861 = 0; - var $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, $878 = 0, $879 = 0, $88 = 0; - var $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, $9 = 0, $90 = 0, $91 = 0, $92 = 0; - var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $current_entry$0203 = 0, $current_length$0204 = 0, $current_length$0204$in = 0, $div$0$ph = 0, $header = 0, $hi = 0, $high_bits$0 = 0, $i$1225 = 0, $i$2194 = 0, $i$3189 = 0, $i$3189$lcssa459 = 0, $i$4154 = 0, $i$5133 = 0; - var $i$6118 = 0, $i$7114 = 0, $i9$0109 = 0, $j$0199 = 0, $j$10181 = 0, $j$11184 = 0, $j$1208 = 0, $j$12138 = 0, $j$13143 = 0, $j$14150 = 0, $j$15127 = 0, $j$16125 = 0, $j$17129 = 0, $j$2211 = 0, $j$3221 = 0, $j$4216 = 0, $j$5108 = 0, $j$6159 = 0, $j$7166 = 0, $j$8174 = 0; - var $j$9177 = 0, $k$0 = 0, $k$0$ph = 0, $k$1163 = 0, $k$2170 = 0, $k$3142 = 0, $k$4147 = 0, $k$4147$in = 0, $k$5122 = 0, $last$0220 = 0.0, $last$1 = 0.0, $last$1$ = 0.0, $last$1$$lcssa = 0.0, $last$1$lcssa = 0.0, $last$1$ph = 0.0, $last2$0$ = 0.0, $last2$0215 = 0.0, $lengths$0 = 0, $lengths$119 = 0, $lengths$120$ph = 0; - var $longest_floorlist$0$lcssa = 0, $longest_floorlist$0188 = 0, $low = 0, $max_class$0158 = 0, $max_part_read$0$lcssa = 0, $max_part_read$0110 = 0, $or$cond = 0, $or$cond14 = 0, $p = 0, $phitmp = 0, $phitmp233 = 0, $phitmp234 = 0, $sext = 0, $sorted_count$0207 = 0, $sorted_count$1 = 0, $sorted_count$2 = 0, $temp$0146 = 0, $total$0198 = 0, $total$1 = 0, $total$2 = 0; - var $values$0 = 0, $values$1 = 0, $values$1$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1024|0; - $header = sp + 1008|0; - $p = sp + 8|0; - $low = sp + 4|0; - $hi = sp; - $0 = (_start_page($f)|0); - $1 = ($0|0)==(0); - if ($1) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $2 = ((($f)) + 1375|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - $5 = $4 & 2; - $6 = ($5|0)==(0); - if ($6) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $7 = $4 & 4; - $8 = ($7|0)==(0); - if (!($8)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $9 = $4 & 1; - $10 = ($9|0)==(0); - if (!($10)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $11 = ((($f)) + 1116|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(1); - if (!($13)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $14 = ((($f)) + 1120|0); - $15 = HEAP8[$14>>0]|0; - $16 = ($15<<24>>24)==(30); - if (!($16)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $17 = (_get8($f)|0); - $18 = ($17<<24>>24)==(1); - if (!($18)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $19 = (_getn($f,$header,6)|0); - $20 = ($19|0)==(0); - if ($20) { - _error($f,10); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $21 = (_vorbis_validate($header)|0); - $22 = ($21|0)==(0); - if ($22) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $23 = (_get32($f)|0); - $24 = ($23|0)==(0); - if (!($24)) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $25 = (_get8($f)|0); - $26 = $25&255; - $27 = ((($f)) + 4|0); - HEAP32[$27>>2] = $26; - $28 = ($25<<24>>24)==(0); - if ($28) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $29 = ($25&255)>(16); - if ($29) { - _error($f,5); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $30 = (_get32($f)|0); - HEAP32[$f>>2] = $30; - $31 = ($30|0)==(0); - if ($31) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - (_get32($f)|0); - (_get32($f)|0); - (_get32($f)|0); - $32 = (_get8($f)|0); - $33 = $32&255; - $34 = $33 & 15; - $35 = $33 >>> 4; - $36 = 1 << $34; - $37 = ((($f)) + 112|0); - HEAP32[$37>>2] = $36; - $38 = 1 << $35; - $39 = ((($f)) + 116|0); - HEAP32[$39>>2] = $38; - $$off = (($34) + -6)|0; - $40 = ($$off>>>0)>(7); - if ($40) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $$off7 = (($32) + -96)<<24>>24; - $41 = ($$off7<<24>>24)<(0); - if ($41) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $42 = ($34>>>0)>($35>>>0); - if ($42) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $43 = (_get8($f)|0); - $44 = $43 & 1; - $45 = ($44<<24>>24)==(0); - if ($45) { - _error($f,34); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $46 = (_start_page($f)|0); - $47 = ($46|0)==(0); - if ($47) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $48 = (_start_packet($f)|0); - $49 = ($48|0)==(0); - if ($49) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $50 = ((($f)) + 1376|0); - while(1) { - $51 = (_next_segment($f)|0); - _skip($f,$51); - HEAP8[$50>>0] = 0; - $52 = ($51|0)==(0); - if ($52) { - break; - } - } - $53 = (_start_packet($f)|0); - $54 = ($53|0)==(0); - if ($54) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $55 = ((($f)) + 48|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)==(0); - do { - if (!($57)) { - $58 = (_is_whole_packet_present($f,1)|0); - $59 = ($58|0)==(0); - if (!($59)) { - break; - } - $60 = ((($f)) + 100|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(21); - if (!($62)) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - HEAP32[$60>>2] = 20; - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - _crc32_init(); - $63 = (_get8_packet($f)|0); - $64 = ($63|0)==(5); - if (!($64)) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $65 = (_get8_packet($f)|0); - $66 = $65&255; - HEAP8[$header>>0] = $66; - $67 = (_get8_packet($f)|0); - $68 = $67&255; - $69 = ((($header)) + 1|0); - HEAP8[$69>>0] = $68; - $70 = (_get8_packet($f)|0); - $71 = $70&255; - $72 = ((($header)) + 2|0); - HEAP8[$72>>0] = $71; - $73 = (_get8_packet($f)|0); - $74 = $73&255; - $75 = ((($header)) + 3|0); - HEAP8[$75>>0] = $74; - $76 = (_get8_packet($f)|0); - $77 = $76&255; - $78 = ((($header)) + 4|0); - HEAP8[$78>>0] = $77; - $79 = (_get8_packet($f)|0); - $80 = $79&255; - $81 = ((($header)) + 5|0); - HEAP8[$81>>0] = $80; - $82 = (_vorbis_validate($header)|0); - $83 = ($82|0)==(0); - if ($83) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $84 = (_get_bits($f,8)|0); - $85 = (($84) + 1)|0; - $86 = ((($f)) + 120|0); - HEAP32[$86>>2] = $85; - $87 = ($85*2096)|0; - $88 = (_setup_malloc($f,$87)|0); - $89 = ((($f)) + 124|0); - HEAP32[$89>>2] = $88; - $90 = ($88|0)==(0|0); - if ($90) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $91 = HEAP32[$86>>2]|0; - $92 = ($91*2096)|0; - _memset(($88|0),0,($92|0))|0; - $93 = HEAP32[$86>>2]|0; - $94 = ($93|0)>(0); - L100: do { - if ($94) { - $95 = ((($f)) + 16|0); - $96 = ((($f)) + 16|0); - $i$1225 = 0; - L102: while(1) { - $97 = HEAP32[$89>>2]|0; - $98 = (($97) + (($i$1225*2096)|0)|0); - $99 = (_get_bits($f,8)|0); - $100 = $99 & 255; - $101 = ($100|0)==(66); - if (!($101)) { - label = 52; - break; - } - $102 = (_get_bits($f,8)|0); - $103 = $102 & 255; - $104 = ($103|0)==(67); - if (!($104)) { - label = 54; - break; - } - $105 = (_get_bits($f,8)|0); - $106 = $105 & 255; - $107 = ($106|0)==(86); - if (!($107)) { - label = 56; - break; - } - $108 = (_get_bits($f,8)|0); - $109 = (_get_bits($f,8)|0); - $110 = $109 << 8; - $111 = $108 & 255; - $112 = $110 | $111; - HEAP32[$98>>2] = $112; - $113 = (_get_bits($f,8)|0); - $114 = (_get_bits($f,8)|0); - $115 = (_get_bits($f,8)|0); - $116 = $115 << 16; - $117 = $114 << 8; - $118 = $117 & 65280; - $119 = $113 & 255; - $120 = $118 | $119; - $121 = $120 | $116; - $122 = (((($97) + (($i$1225*2096)|0)|0)) + 4|0); - HEAP32[$122>>2] = $121; - $123 = (_get_bits($f,1)|0); - $124 = ($123|0)!=(0); - if ($124) { - $127 = 0; - } else { - $125 = (_get_bits($f,1)|0); - $127 = $125; - } - $126 = $127&255; - $128 = (((($97) + (($i$1225*2096)|0)|0)) + 23|0); - HEAP8[$128>>0] = $126; - $129 = HEAP32[$98>>2]|0; - $130 = ($129|0)==(0); - if ($130) { - $131 = HEAP32[$122>>2]|0; - $132 = ($131|0)==(0); - if (!($132)) { - label = 61; - break; - } - $$pr = HEAP8[$128>>0]|0; - $133 = $$pr; - } else { - $133 = $126; - } - $134 = ($133<<24>>24)==(0); - $135 = HEAP32[$122>>2]|0; - if ($134) { - $137 = (_setup_malloc($f,$135)|0); - $138 = (((($97) + (($i$1225*2096)|0)|0)) + 8|0); - HEAP32[$138>>2] = $137; - $lengths$0 = $137; - } else { - $136 = (_setup_temp_malloc($f,$135)|0); - $lengths$0 = $136; - } - $139 = ($lengths$0|0)==(0|0); - if ($139) { - label = 67; - break; - } - do { - if ($124) { - $142 = (_get_bits($f,5)|0); - $143 = HEAP32[$122>>2]|0; - $144 = ($143|0)>(0); - if ($144) { - $146 = $143;$current_entry$0203 = 0;$current_length$0204$in = $142; - } else { - $total$2 = 0; - break; - } - while(1) { - $current_length$0204 = (($current_length$0204$in) + 1)|0; - $145 = (($146) - ($current_entry$0203))|0; - $147 = (_ilog($145)|0); - $148 = (_get_bits($f,$147)|0); - $149 = (($148) + ($current_entry$0203))|0; - $150 = HEAP32[$122>>2]|0; - $151 = ($149|0)>($150|0); - if ($151) { - label = 72; - break L102; - } - $152 = (($lengths$0) + ($current_entry$0203)|0); - $153 = $current_length$0204&255; - _memset(($152|0),($153|0),($148|0))|0; - $154 = HEAP32[$122>>2]|0; - $155 = ($154|0)>($149|0); - if ($155) { - $146 = $154;$current_entry$0203 = $149;$current_length$0204$in = $current_length$0204; - } else { - $total$2 = 0; - break; - } - } - } else { - $140 = HEAP32[$122>>2]|0; - $141 = ($140|0)>(0); - if ($141) { - $j$0199 = 0;$total$0198 = 0; - } else { - $total$2 = 0; - break; - } - while(1) { - $156 = HEAP8[$128>>0]|0; - $157 = ($156<<24>>24)==(0); - do { - if ($157) { - label = 76; - } else { - $158 = (_get_bits($f,1)|0); - $159 = ($158|0)==(0); - if (!($159)) { - label = 76; - break; - } - $167 = (($lengths$0) + ($j$0199)|0); - HEAP8[$167>>0] = -1; - $total$1 = $total$0198; - } - } while(0); - if ((label|0) == 76) { - label = 0; - $160 = (_get_bits($f,5)|0); - $161 = (($160) + 1)|0; - $162 = $161&255; - $163 = (($lengths$0) + ($j$0199)|0); - HEAP8[$163>>0] = $162; - $164 = (($total$0198) + 1)|0; - $165 = $161 & 255; - $166 = ($165|0)==(32); - if ($166) { - label = 77; - break L102; - } else { - $total$1 = $164; - } - } - $168 = (($j$0199) + 1)|0; - $169 = HEAP32[$122>>2]|0; - $170 = ($168|0)<($169|0); - if ($170) { - $j$0199 = $168;$total$0198 = $total$1; - } else { - $total$2 = $total$1; - break; - } - } - } - } while(0); - $171 = HEAP8[$128>>0]|0; - $172 = ($171<<24>>24)==(0); - do { - if ($172) { - $lengths$120$ph = $lengths$0; - label = 88; - } else { - $173 = HEAP32[$122>>2]|0; - $174 = $173 >> 2; - $175 = ($total$2|0)<($174|0); - if ($175) { - $$pr17 = HEAP8[$128>>0]|0; - $185 = ($$pr17<<24>>24)==(0); - if ($185) { - $lengths$120$ph = $lengths$0; - label = 88; - break; - } else { - $lengths$119 = $lengths$0;$sorted_count$2 = $total$2; - break; - } - } - $176 = HEAP32[$96>>2]|0; - $177 = ($173|0)>($176|0); - if ($177) { - HEAP32[$96>>2] = $173; - } - $178 = HEAP32[$122>>2]|0; - $179 = (_setup_malloc($f,$178)|0); - $180 = (((($97) + (($i$1225*2096)|0)|0)) + 8|0); - HEAP32[$180>>2] = $179; - $181 = ($179|0)==(0|0); - if ($181) { - label = 85; - break L102; - } - $182 = HEAP32[$122>>2]|0; - _memcpy(($179|0),($lengths$0|0),($182|0))|0; - $183 = HEAP32[$122>>2]|0; - _setup_temp_free($f,$lengths$0,$183); - $184 = HEAP32[$180>>2]|0; - HEAP8[$128>>0] = 0; - $lengths$120$ph = $184; - label = 88; - } - } while(0); - do { - if ((label|0) == 88) { - label = 0; - $186 = HEAP32[$122>>2]|0; - $187 = ($186|0)>(0); - if (!($187)) { - $lengths$119 = $lengths$120$ph;$sorted_count$2 = 0; - break; - } - $188 = HEAP32[$122>>2]|0; - $j$1208 = 0;$sorted_count$0207 = 0; - while(1) { - $189 = (($lengths$120$ph) + ($j$1208)|0); - $190 = HEAP8[$189>>0]|0; - $191 = ($190&255)<(11); - $192 = ($190<<24>>24)==(-1); - $or$cond = $191 | $192; - $193 = $or$cond&1; - $194 = $193 ^ 1; - $sorted_count$1 = (($194) + ($sorted_count$0207))|0; - $195 = (($j$1208) + 1)|0; - $196 = ($195|0)<($188|0); - if ($196) { - $j$1208 = $195;$sorted_count$0207 = $sorted_count$1; - } else { - $lengths$119 = $lengths$120$ph;$sorted_count$2 = $sorted_count$1; - break; - } - } - } - } while(0); - $197 = (((($97) + (($i$1225*2096)|0)|0)) + 2092|0); - HEAP32[$197>>2] = $sorted_count$2; - $198 = HEAP8[$128>>0]|0; - $199 = ($198<<24>>24)==(0); - do { - if ($199) { - $200 = HEAP32[$122>>2]|0; - $201 = $200 << 2; - $202 = (_setup_malloc($f,$201)|0); - $203 = (((($97) + (($i$1225*2096)|0)|0)) + 32|0); - HEAP32[$203>>2] = $202; - $204 = ($202|0)==(0|0); - if ($204) { - label = 93; - break L102; - } else { - $values$1 = 0; - } - } else { - $205 = ($sorted_count$2|0)==(0); - if ($205) { - $values$0 = 0; - } else { - $206 = (_setup_malloc($f,$sorted_count$2)|0); - $207 = (((($97) + (($i$1225*2096)|0)|0)) + 8|0); - HEAP32[$207>>2] = $206; - $208 = ($206|0)==(0|0); - if ($208) { - label = 96; - break L102; - } - $209 = HEAP32[$197>>2]|0; - $210 = $209 << 2; - $211 = (_setup_temp_malloc($f,$210)|0); - $212 = (((($97) + (($i$1225*2096)|0)|0)) + 32|0); - HEAP32[$212>>2] = $211; - $213 = ($211|0)==(0|0); - if ($213) { - label = 98; - break L102; - } - $214 = HEAP32[$197>>2]|0; - $215 = $214 << 2; - $216 = (_setup_temp_malloc($f,$215)|0); - $217 = ($216|0)==(0|0); - if ($217) { - label = 100; - break L102; - } else { - $values$0 = $216; - } - } - $218 = HEAP32[$122>>2]|0; - $219 = HEAP32[$197>>2]|0; - $220 = $219 << 3; - $221 = (($220) + ($218))|0; - $222 = HEAP32[$95>>2]|0; - $223 = ($221>>>0)>($222>>>0); - if (!($223)) { - $values$1 = $values$0; - break; - } - HEAP32[$95>>2] = $221; - $values$1 = $values$0; - } - } while(0); - $224 = HEAP32[$122>>2]|0; - $225 = (_compute_codewords($98,$lengths$119,$224,$values$1)|0); - $226 = ($225|0)==(0); - if ($226) { - $$lcssa476 = $128;$values$1$lcssa = $values$1; - label = 104; - break; - } - $229 = HEAP32[$197>>2]|0; - $230 = ($229|0)==(0); - if (!($230)) { - $231 = $229 << 2; - $232 = (($231) + 4)|0; - $233 = (_setup_malloc($f,$232)|0); - $234 = (((($97) + (($i$1225*2096)|0)|0)) + 2084|0); - HEAP32[$234>>2] = $233; - $235 = ($233|0)==(0|0); - if ($235) { - label = 109; - break; - } - $236 = HEAP32[$197>>2]|0; - $237 = $236 << 2; - $238 = (($237) + 4)|0; - $239 = (_setup_malloc($f,$238)|0); - $240 = (((($97) + (($i$1225*2096)|0)|0)) + 2088|0); - HEAP32[$240>>2] = $239; - $241 = ($239|0)==(0|0); - if ($241) { - label = 111; - break; - } - $242 = ((($239)) + 4|0); - HEAP32[$240>>2] = $242; - HEAP32[$239>>2] = -1; - _compute_sorted_huffman($98,$lengths$119,$values$1); - } - $243 = HEAP8[$128>>0]|0; - $244 = ($243<<24>>24)==(0); - if (!($244)) { - $245 = HEAP32[$197>>2]|0; - $246 = $245 << 2; - _setup_temp_free($f,$values$1,$246); - $247 = (((($97) + (($i$1225*2096)|0)|0)) + 32|0); - $248 = HEAP32[$247>>2]|0; - $249 = HEAP32[$197>>2]|0; - $250 = $249 << 2; - _setup_temp_free($f,$248,$250); - $251 = HEAP32[$122>>2]|0; - _setup_temp_free($f,$lengths$119,$251); - HEAP32[$247>>2] = 0; - } - _compute_accelerated_huffman($98); - $252 = (_get_bits($f,4)|0); - $253 = $252&255; - $254 = (((($97) + (($i$1225*2096)|0)|0)) + 21|0); - HEAP8[$254>>0] = $253; - $255 = $252 & 255; - $256 = ($255>>>0)>(2); - if ($256) { - label = 116; - break; - } - $257 = ($255|0)==(0); - do { - if (!($257)) { - $258 = (_get_bits($f,32)|0); - $259 = (+_float32_unpack($258)); - $260 = (((($97) + (($i$1225*2096)|0)|0)) + 12|0); - HEAPF32[$260>>2] = $259; - $261 = (_get_bits($f,32)|0); - $262 = (+_float32_unpack($261)); - $263 = (((($97) + (($i$1225*2096)|0)|0)) + 16|0); - HEAPF32[$263>>2] = $262; - $264 = (_get_bits($f,4)|0); - $265 = (($264) + 1)|0; - $266 = $265&255; - $267 = (((($97) + (($i$1225*2096)|0)|0)) + 20|0); - HEAP8[$267>>0] = $266; - $268 = (_get_bits($f,1)|0); - $269 = $268&255; - $270 = (((($97) + (($i$1225*2096)|0)|0)) + 22|0); - HEAP8[$270>>0] = $269; - $271 = HEAP8[$254>>0]|0; - $272 = ($271<<24>>24)==(1); - $273 = HEAP32[$122>>2]|0; - $274 = HEAP32[$98>>2]|0; - if ($272) { - $275 = (_lookup1_values($273,$274)|0); - $276 = (((($97) + (($i$1225*2096)|0)|0)) + 24|0); - HEAP32[$276>>2] = $275; - } else { - $277 = Math_imul($274, $273)|0; - $278 = (((($97) + (($i$1225*2096)|0)|0)) + 24|0); - HEAP32[$278>>2] = $277; - } - $279 = (((($97) + (($i$1225*2096)|0)|0)) + 24|0); - $280 = HEAP32[$279>>2]|0; - $281 = ($280|0)==(0); - if ($281) { - label = 122; - break L102; - } - $282 = $280 << 1; - $283 = (_setup_temp_malloc($f,$282)|0); - $284 = ($283|0)==(0|0); - if ($284) { - label = 125; - break L102; - } - $285 = HEAP32[$279>>2]|0; - $286 = ($285|0)>(0); - if ($286) { - $j$2211 = 0; - while(1) { - $287 = HEAP8[$267>>0]|0; - $288 = $287&255; - $289 = (_get_bits($f,$288)|0); - $290 = ($289|0)==(-1); - if ($290) { - $$lcssa499 = $279;$$lcssa504 = $283; - label = 127; - break L102; - } - $293 = $289&65535; - $294 = (($283) + ($j$2211<<1)|0); - HEAP16[$294>>1] = $293; - $295 = (($j$2211) + 1)|0; - $296 = HEAP32[$279>>2]|0; - $297 = ($295|0)<($296|0); - if ($297) { - $j$2211 = $295; - } else { - $$lcssa63 = $296; - break; - } - } - } else { - $$lcssa63 = $285; - } - $298 = HEAP8[$254>>0]|0; - $299 = ($298<<24>>24)==(1); - if (!($299)) { - $359 = $$lcssa63 << 2; - $360 = (_setup_malloc($f,$359)|0); - $361 = (((($97) + (($i$1225*2096)|0)|0)) + 28|0); - HEAP32[$361>>2] = $360; - $362 = ($360|0)==(0|0); - $363 = HEAP32[$279>>2]|0; - if ($362) { - $$lcssa505 = $283;$$lcssa508 = $363; - label = 152; - break L102; - } - $364 = ($363|0)>(0); - if ($364) { - $365 = HEAP32[$361>>2]|0; - $366 = HEAP8[$270>>0]|0; - $367 = ($366<<24>>24)==(0); - $368 = HEAP32[$279>>2]|0; - $j$4216 = 0;$last2$0215 = 0.0; - while(1) { - $370 = (($283) + ($j$4216<<1)|0); - $371 = HEAP16[$370>>1]|0; - $372 = $371&65535; - $373 = (+($372|0)); - $374 = +HEAPF32[$263>>2]; - $375 = $374 * $373; - $376 = +HEAPF32[$260>>2]; - $377 = $376 + $375; - $378 = $last2$0215 + $377; - $379 = (($365) + ($j$4216<<2)|0); - HEAPF32[$379>>2] = $378; - $last2$0$ = $367 ? $last2$0215 : $378; - $380 = (($j$4216) + 1)|0; - $381 = ($380|0)<($368|0); - if ($381) { - $j$4216 = $380;$last2$0215 = $last2$0$; - } else { - $$lcssa65 = $368; - break; - } - } - } else { - $$lcssa65 = $363; - } - $382 = $$lcssa65 << 1; - _setup_temp_free($f,$283,$382); - break; - } - $300 = HEAP8[$128>>0]|0; - $301 = ($300<<24>>24)!=(0); - if ($301) { - $302 = HEAP32[$197>>2]|0; - $303 = ($302|0)==(0); - if ($303) { - break; - } - $304 = $302 << 2; - $305 = HEAP32[$98>>2]|0; - $306 = Math_imul($304, $305)|0; - $307 = (_setup_malloc($f,$306)|0); - $308 = (((($97) + (($i$1225*2096)|0)|0)) + 28|0); - HEAP32[$308>>2] = $307; - } else { - $309 = HEAP32[$122>>2]|0; - $310 = $309 << 2; - $311 = HEAP32[$98>>2]|0; - $312 = Math_imul($310, $311)|0; - $313 = (_setup_malloc($f,$312)|0); - $314 = (((($97) + (($i$1225*2096)|0)|0)) + 28|0); - HEAP32[$314>>2] = $313; - } - $315 = (((($97) + (($i$1225*2096)|0)|0)) + 28|0); - $316 = HEAP32[$315>>2]|0; - $317 = ($316|0)==(0|0); - if ($317) { - $$lcssa501 = $279;$$lcssa506 = $283; - label = 135; - break L102; - } - $$ = $301 ? $197 : $122; - $320 = HEAP32[$$>>2]|0; - $321 = ($320|0)>(0); - if ($321) { - $322 = (((($97) + (($i$1225*2096)|0)|0)) + 2088|0); - $323 = HEAP32[$98>>2]|0; - $j$3221 = 0;$last$0220 = 0.0; - while(1) { - if ($301) { - $324 = HEAP32[$322>>2]|0; - $325 = (($324) + ($j$3221<<2)|0); - $326 = HEAP32[$325>>2]|0; - $330 = $326; - } else { - $330 = $j$3221; - } - $327 = Math_imul($323, $j$3221)|0; - $div$0$ph = 1;$k$0$ph = 0;$last$1$ph = $last$0220; - L204: while(1) { - $k$0 = $k$0$ph;$last$1 = $last$1$ph; - while(1) { - $328 = ($k$0|0)<($323|0); - if (!($328)) { - $last$1$lcssa = $last$1; - break L204; - } - $329 = (($330>>>0) / ($div$0$ph>>>0))&-1; - $331 = HEAP32[$279>>2]|0; - $332 = (($329>>>0) % ($331>>>0))&-1; - $333 = (($283) + ($332<<1)|0); - $334 = HEAP16[$333>>1]|0; - $335 = $334&65535; - $336 = (+($335|0)); - $337 = +HEAPF32[$263>>2]; - $338 = $337 * $336; - $339 = +HEAPF32[$260>>2]; - $340 = $339 + $338; - $341 = $last$1 + $340; - $342 = (($327) + ($k$0))|0; - $343 = HEAP32[$315>>2]|0; - $344 = (($343) + ($342<<2)|0); - HEAPF32[$344>>2] = $341; - $345 = HEAP8[$270>>0]|0; - $346 = ($345<<24>>24)==(0); - $last$1$ = $346 ? $last$1 : $341; - $347 = (($k$0) + 1)|0; - $348 = HEAP32[$98>>2]|0; - $349 = ($347|0)<($348|0); - if ($349) { - $$lcssa465 = $347;$last$1$$lcssa = $last$1$; - break; - } else { - $k$0 = $347;$last$1 = $last$1$; - } - } - $350 = HEAP32[$279>>2]|0; - $351 = (4294967295 / ($350>>>0))&-1; - $352 = ($div$0$ph>>>0)>($351>>>0); - if ($352) { - $$lcssa466 = $350;$$lcssa507 = $283; - label = 145; - break L102; - } - $354 = Math_imul($350, $div$0$ph)|0; - $div$0$ph = $354;$k$0$ph = $$lcssa465;$last$1$ph = $last$1$$lcssa; - } - $355 = (($j$3221) + 1)|0; - $356 = ($355|0)<($320|0); - if ($356) { - $j$3221 = $355;$last$0220 = $last$1$lcssa; - } else { - break; - } - } - } - $357 = HEAP32[$279>>2]|0; - $358 = $357 << 1; - _setup_temp_free($f,$283,$358); - HEAP8[$254>>0] = 2; - } - } while(0); - $383 = (($i$1225) + 1)|0; - $384 = HEAP32[$86>>2]|0; - $385 = ($383|0)<($384|0); - if ($385) { - $i$1225 = $383; - } else { - break L100; - } - } - switch (label|0) { - case 52: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 54: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 56: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 61: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 67: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 72: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 77: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 85: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 93: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 96: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 98: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 100: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 104: { - $227 = HEAP8[$$lcssa476>>0]|0; - $228 = ($227<<24>>24)==(0); - if (!($228)) { - _setup_temp_free($f,$values$1$lcssa,0); - } - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 109: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 111: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 116: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 122: { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 125: { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 127: { - $291 = HEAP32[$$lcssa499>>2]|0; - $292 = $291 << 1; - _setup_temp_free($f,$$lcssa504,$292); - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 135: { - $318 = HEAP32[$$lcssa501>>2]|0; - $319 = $318 << 1; - _setup_temp_free($f,$$lcssa506,$319); - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 145: { - $353 = $$lcssa466 << 1; - _setup_temp_free($f,$$lcssa507,$353); - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - case 152: { - $369 = $$lcssa508 << 1; - _setup_temp_free($f,$$lcssa505,$369); - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - break; - } - } - } - } while(0); - $386 = (_get_bits($f,6)|0); - $387 = (($386) + 1)|0; - $388 = $387 & 255; - $389 = ($388|0)==(0); - L263: do { - if (!($389)) { - $i$2194 = 0; - while(1) { - $392 = (_get_bits($f,16)|0); - $393 = ($392|0)==(0); - $390 = (($i$2194) + 1)|0; - if (!($393)) { - break; - } - $391 = ($390|0)<($388|0); - if ($391) { - $i$2194 = $390; - } else { - break L263; - } - } - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $394 = (_get_bits($f,6)|0); - $395 = (($394) + 1)|0; - $396 = ((($f)) + 128|0); - HEAP32[$396>>2] = $395; - $397 = ($395*1596)|0; - $398 = (_setup_malloc($f,$397)|0); - $399 = ((($f)) + 260|0); - HEAP32[$399>>2] = $398; - $400 = ($398|0)==(0|0); - if ($400) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $401 = HEAP32[$396>>2]|0; - $402 = ($401|0)>(0); - do { - if ($402) { - $i$3189 = 0;$longest_floorlist$0188 = 0; - L276: while(1) { - $403 = (_get_bits($f,16)|0); - $404 = $403&65535; - $405 = (((($f)) + 132|0) + ($i$3189<<1)|0); - HEAP16[$405>>1] = $404; - $406 = $403 & 65535; - $407 = ($406>>>0)>(1); - if ($407) { - label = 165; - break; - } - $408 = ($406|0)==(0); - if ($408) { - $i$3189$lcssa459 = $i$3189; - label = 167; - break; - } - $438 = HEAP32[$399>>2]|0; - $439 = (_get_bits($f,5)|0); - $440 = $439&255; - $441 = (($438) + (($i$3189*1596)|0)|0); - HEAP8[$441>>0] = $440; - $442 = $439 & 255; - $443 = ($442|0)==(0); - do { - if (!($443)) { - $j$6159 = 0;$max_class$0158 = -1; - while(1) { - $445 = (_get_bits($f,4)|0); - $446 = $445&255; - $447 = ((((($438) + (($i$3189*1596)|0)|0)) + 1|0) + ($j$6159)|0); - HEAP8[$447>>0] = $446; - $448 = $445 & 255; - $449 = ($448|0)>($max_class$0158|0); - $$max_class$0 = $449 ? $448 : $max_class$0158; - $450 = (($j$6159) + 1)|0; - $451 = HEAP8[$441>>0]|0; - $452 = $451&255; - $453 = ($450|0)<($452|0); - if ($453) { - $j$6159 = $450;$max_class$0158 = $$max_class$0; - } else { - $$max_class$0$lcssa = $$max_class$0; - break; - } - } - $444 = ($$max_class$0$lcssa|0)<(0); - if ($444) { - break; - } else { - $j$7166 = 0; - } - while(1) { - $454 = (_get_bits($f,3)|0); - $455 = (($454) + 1)|0; - $456 = $455&255; - $457 = ((((($438) + (($i$3189*1596)|0)|0)) + 33|0) + ($j$7166)|0); - HEAP8[$457>>0] = $456; - $458 = (_get_bits($f,2)|0); - $459 = $458&255; - $460 = ((((($438) + (($i$3189*1596)|0)|0)) + 49|0) + ($j$7166)|0); - HEAP8[$460>>0] = $459; - $461 = ($459<<24>>24)==(0); - if ($461) { - $k$1163 = 0; - label = 178; - } else { - $463 = (_get_bits($f,8)|0); - $464 = $463&255; - $465 = ((((($438) + (($i$3189*1596)|0)|0)) + 65|0) + ($j$7166)|0); - HEAP8[$465>>0] = $464; - $466 = $463 & 255; - $467 = HEAP32[$86>>2]|0; - $468 = ($466|0)<($467|0); - if (!($468)) { - label = 176; - break L276; - } - $$pr287 = HEAP8[$460>>0]|0; - $462 = ($$pr287<<24>>24)==(31); - if (!($462)) { - $k$1163 = 0; - label = 178; - } - } - if ((label|0) == 178) { - while(1) { - label = 0; - $474 = (_get_bits($f,8)|0); - $475 = (($474) + 65535)|0; - $476 = $475&65535; - $477 = (((((($438) + (($i$3189*1596)|0)|0)) + 82|0) + ($j$7166<<4)|0) + ($k$1163<<1)|0); - HEAP16[$477>>1] = $476; - $sext = $475 << 16; - $478 = $sext >> 16; - $479 = HEAP32[$86>>2]|0; - $480 = ($478|0)<($479|0); - $472 = (($k$1163) + 1)|0; - if (!($480)) { - label = 179; - break L276; - } - $469 = HEAP8[$460>>0]|0; - $470 = $469&255; - $471 = 1 << $470; - $473 = ($472|0)<($471|0); - if ($473) { - $k$1163 = $472; - label = 178; - } else { - break; - } - } - } - $481 = (($j$7166) + 1)|0; - $482 = ($j$7166|0)<($$max_class$0$lcssa|0); - if ($482) { - $j$7166 = $481; - } else { - break; - } - } - } - } while(0); - $483 = (_get_bits($f,2)|0); - $484 = (($483) + 1)|0; - $485 = $484&255; - $486 = (((($438) + (($i$3189*1596)|0)|0)) + 1588|0); - HEAP8[$486>>0] = $485; - $487 = (_get_bits($f,4)|0); - $488 = $487&255; - $489 = (((($438) + (($i$3189*1596)|0)|0)) + 1589|0); - HEAP8[$489>>0] = $488; - $490 = (((($438) + (($i$3189*1596)|0)|0)) + 338|0); - HEAP16[$490>>1] = 0; - $491 = HEAP8[$489>>0]|0; - $492 = $491&255; - $493 = 1 << $492; - $494 = $493&65535; - $495 = (((($438) + (($i$3189*1596)|0)|0)) + 340|0); - HEAP16[$495>>1] = $494; - $496 = (((($438) + (($i$3189*1596)|0)|0)) + 1592|0); - HEAP32[$496>>2] = 2; - $497 = HEAP8[$441>>0]|0; - $498 = ($497<<24>>24)==(0); - if ($498) { - $j$9177 = 0; - label = 186; - } else { - $j$8174 = 0; - while(1) { - $500 = ((((($438) + (($i$3189*1596)|0)|0)) + 1|0) + ($j$8174)|0); - $501 = HEAP8[$500>>0]|0; - $502 = $501&255; - $503 = ((((($438) + (($i$3189*1596)|0)|0)) + 33|0) + ($502)|0); - $504 = HEAP8[$503>>0]|0; - $505 = ($504<<24>>24)==(0); - if (!($505)) { - $k$2170 = 0; - while(1) { - $506 = HEAP8[$489>>0]|0; - $507 = $506&255; - $508 = (_get_bits($f,$507)|0); - $509 = $508&65535; - $510 = HEAP32[$496>>2]|0; - $511 = ((((($438) + (($i$3189*1596)|0)|0)) + 338|0) + ($510<<1)|0); - HEAP16[$511>>1] = $509; - $512 = HEAP32[$496>>2]|0; - $513 = (($512) + 1)|0; - HEAP32[$496>>2] = $513; - $514 = (($k$2170) + 1)|0; - $515 = HEAP8[$503>>0]|0; - $516 = $515&255; - $517 = ($514|0)<($516|0); - if ($517) { - $k$2170 = $514; - } else { - break; - } - } - } - $518 = (($j$8174) + 1)|0; - $519 = HEAP8[$441>>0]|0; - $520 = $519&255; - $521 = ($518|0)<($520|0); - if ($521) { - $j$8174 = $518; - } else { - break; - } - } - $$pr288 = HEAP32[$496>>2]|0; - $499 = ($$pr288|0)>(0); - if ($499) { - $j$9177 = 0; - label = 186; - } else { - $$lcssa50 = $$pr288; - } - } - if ((label|0) == 186) { - while(1) { - label = 0; - $522 = ((((($438) + (($i$3189*1596)|0)|0)) + 338|0) + ($j$9177<<1)|0); - $523 = HEAP16[$522>>1]|0; - $524 = (($p) + ($j$9177<<2)|0); - HEAP16[$524>>1] = $523; - $525 = $j$9177&65535; - $526 = (((($p) + ($j$9177<<2)|0)) + 2|0); - HEAP16[$526>>1] = $525; - $527 = (($j$9177) + 1)|0; - $528 = HEAP32[$496>>2]|0; - $529 = ($527|0)<($528|0); - if ($529) { - $j$9177 = $527; - label = 186; - } else { - $$lcssa50 = $528; - break; - } - } - } - _qsort($p,$$lcssa50,4,1); - $530 = HEAP32[$496>>2]|0; - $531 = ($530|0)>(0); - do { - if ($531) { - $j$10181 = 0; - while(1) { - $533 = (((($p) + ($j$10181<<2)|0)) + 2|0); - $534 = HEAP16[$533>>1]|0; - $535 = $534&255; - $536 = ((((($438) + (($i$3189*1596)|0)|0)) + 838|0) + ($j$10181)|0); - HEAP8[$536>>0] = $535; - $537 = (($j$10181) + 1)|0; - $538 = HEAP32[$496>>2]|0; - $539 = ($537|0)<($538|0); - if ($539) { - $j$10181 = $537; - } else { - $$lcssa457 = $538; - break; - } - } - $532 = ($$lcssa457|0)>(2); - if ($532) { - $j$11184 = 2; - } else { - $$lcssa51 = $$lcssa457; - break; - } - while(1) { - _neighbors($490,$j$11184,$low,$hi); - $540 = HEAP32[$low>>2]|0; - $541 = $540&255; - $542 = ((((($438) + (($i$3189*1596)|0)|0)) + 1088|0) + ($j$11184<<1)|0); - HEAP8[$542>>0] = $541; - $543 = HEAP32[$hi>>2]|0; - $544 = $543&255; - $545 = ((((((($438) + (($i$3189*1596)|0)|0)) + 1088|0) + ($j$11184<<1)|0)) + 1|0); - HEAP8[$545>>0] = $544; - $546 = (($j$11184) + 1)|0; - $547 = HEAP32[$496>>2]|0; - $548 = ($546|0)<($547|0); - if ($548) { - $j$11184 = $546; - } else { - $$lcssa51 = $547; - break; - } - } - } else { - $$lcssa51 = $530; - } - } while(0); - $549 = ($$lcssa51|0)>($longest_floorlist$0188|0); - $$longest_floorlist$0 = $549 ? $$lcssa51 : $longest_floorlist$0188; - $550 = (($i$3189) + 1)|0; - $551 = HEAP32[$396>>2]|0; - $552 = ($550|0)<($551|0); - if ($552) { - $i$3189 = $550;$longest_floorlist$0188 = $$longest_floorlist$0; - } else { - $$longest_floorlist$0$lcssa = $$longest_floorlist$0; - label = 193; - break; - } - } - if ((label|0) == 165) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 167) { - $409 = HEAP32[$399>>2]|0; - $410 = (_get_bits($f,8)|0); - $411 = $410&255; - $412 = (($409) + (($i$3189$lcssa459*1596)|0)|0); - HEAP8[$412>>0] = $411; - $413 = (_get_bits($f,16)|0); - $414 = $413&65535; - $415 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 2|0); - HEAP16[$415>>1] = $414; - $416 = (_get_bits($f,16)|0); - $417 = $416&65535; - $418 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 4|0); - HEAP16[$418>>1] = $417; - $419 = (_get_bits($f,6)|0); - $420 = $419&255; - $421 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 6|0); - HEAP8[$421>>0] = $420; - $422 = (_get_bits($f,8)|0); - $423 = $422&255; - $424 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 7|0); - HEAP8[$424>>0] = $423; - $425 = (_get_bits($f,4)|0); - $426 = (($425) + 1)|0; - $427 = $426&255; - $428 = (((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 8|0); - HEAP8[$428>>0] = $427; - $429 = $426 & 255; - $430 = ($429|0)==(0); - if (!($430)) { - $j$5108 = 0; - while(1) { - $431 = (_get_bits($f,8)|0); - $432 = $431&255; - $$sum = (($j$5108) + 8)|0; - $433 = ((((($409) + (($i$3189$lcssa459*1596)|0)|0)) + 1|0) + ($$sum)|0); - HEAP8[$433>>0] = $432; - $434 = (($j$5108) + 1)|0; - $435 = HEAP8[$428>>0]|0; - $436 = $435&255; - $437 = ($434|0)<($436|0); - if ($437) { - $j$5108 = $434; - } else { - break; - } - } - } - _error($f,4); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 176) { - _error($f,20); - } - else if ((label|0) == 179) { - _error($f,20); - } - else if ((label|0) == 193) { - $phitmp234 = $$longest_floorlist$0$lcssa << 1; - $longest_floorlist$0$lcssa = $phitmp234; - break; - } - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } else { - $longest_floorlist$0$lcssa = 0; - } - } while(0); - $553 = (_get_bits($f,6)|0); - $554 = (($553) + 1)|0; - $555 = ((($f)) + 264|0); - HEAP32[$555>>2] = $554; - $556 = ($554*24)|0; - $557 = (_setup_malloc($f,$556)|0); - $558 = ((($f)) + 396|0); - HEAP32[$558>>2] = $557; - $559 = ($557|0)==(0|0); - if ($559) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $560 = HEAP32[$555>>2]|0; - $561 = ($560*24)|0; - _memset(($557|0),0,($561|0))|0; - $562 = HEAP32[$555>>2]|0; - $563 = ($562|0)>(0); - L333: do { - if ($563) { - $i$4154 = 0; - L335: while(1) { - $564 = HEAP32[$558>>2]|0; - $565 = (_get_bits($f,16)|0); - $566 = $565&65535; - $567 = (((($f)) + 268|0) + ($i$4154<<1)|0); - HEAP16[$567>>1] = $566; - $568 = $565 & 65535; - $569 = ($568>>>0)>(2); - if ($569) { - label = 199; - break; - } - $570 = (_get_bits($f,24)|0); - $571 = (($564) + (($i$4154*24)|0)|0); - HEAP32[$571>>2] = $570; - $572 = (_get_bits($f,24)|0); - $573 = (((($564) + (($i$4154*24)|0)|0)) + 4|0); - HEAP32[$573>>2] = $572; - $574 = HEAP32[$571>>2]|0; - $575 = ($572>>>0)<($574>>>0); - if ($575) { - label = 201; - break; - } - $576 = (_get_bits($f,24)|0); - $577 = (($576) + 1)|0; - $578 = (((($564) + (($i$4154*24)|0)|0)) + 8|0); - HEAP32[$578>>2] = $577; - $579 = (_get_bits($f,6)|0); - $580 = (($579) + 1)|0; - $581 = $580&255; - $582 = (((($564) + (($i$4154*24)|0)|0)) + 12|0); - HEAP8[$582>>0] = $581; - $583 = (_get_bits($f,8)|0); - $584 = $583&255; - $585 = (((($564) + (($i$4154*24)|0)|0)) + 13|0); - HEAP8[$585>>0] = $584; - $586 = $583 & 255; - $587 = HEAP32[$86>>2]|0; - $588 = ($586|0)<($587|0); - if (!($588)) { - label = 204; - break; - } - $589 = HEAP8[$582>>0]|0; - $590 = $589&255; - $591 = ($589<<24>>24)==(0); - if ($591) { - $$lcssa = $590; - } else { - $j$12138 = 0; - while(1) { - $592 = (_get_bits($f,3)|0); - $593 = (_get_bits($f,1)|0); - $594 = ($593|0)==(0); - if ($594) { - $high_bits$0 = 0; - } else { - $595 = (_get_bits($f,5)|0); - $high_bits$0 = $595; - } - $596 = $high_bits$0 << 3; - $597 = (($596) + ($592))|0; - $598 = $597&255; - $599 = (($p) + ($j$12138)|0); - HEAP8[$599>>0] = $598; - $600 = (($j$12138) + 1)|0; - $601 = HEAP8[$582>>0]|0; - $602 = $601&255; - $603 = ($600|0)<($602|0); - if ($603) { - $j$12138 = $600; - } else { - $$lcssa = $602; - break; - } - } - } - $604 = $$lcssa << 4; - $605 = (_setup_malloc($f,$604)|0); - $606 = (((($564) + (($i$4154*24)|0)|0)) + 20|0); - HEAP32[$606>>2] = $605; - $607 = ($605|0)==(0|0); - if ($607) { - label = 210; - break; - } - $608 = HEAP8[$582>>0]|0; - $609 = ($608<<24>>24)==(0); - if (!($609)) { - $j$13143 = 0; - while(1) { - $610 = (($p) + ($j$13143)|0); - $611 = HEAP8[$610>>0]|0; - $612 = $611&255; - $k$3142 = 0; - while(1) { - $613 = 1 << $k$3142; - $614 = $612 & $613; - $615 = ($614|0)==(0); - if ($615) { - $626 = HEAP32[$606>>2]|0; - $627 = ((($626) + ($j$13143<<4)|0) + ($k$3142<<1)|0); - HEAP16[$627>>1] = -1; - } else { - $616 = (_get_bits($f,8)|0); - $617 = $616&65535; - $618 = HEAP32[$606>>2]|0; - $619 = ((($618) + ($j$13143<<4)|0) + ($k$3142<<1)|0); - HEAP16[$619>>1] = $617; - $620 = HEAP32[$606>>2]|0; - $621 = ((($620) + ($j$13143<<4)|0) + ($k$3142<<1)|0); - $622 = HEAP16[$621>>1]|0; - $623 = $622 << 16 >> 16; - $624 = HEAP32[$86>>2]|0; - $625 = ($623|0)<($624|0); - if (!($625)) { - label = 214; - break L335; - } - } - $628 = (($k$3142) + 1)|0; - $629 = ($628|0)<(8); - if ($629) { - $k$3142 = $628; - } else { - break; - } - } - $630 = (($j$13143) + 1)|0; - $631 = HEAP8[$582>>0]|0; - $632 = $631&255; - $633 = ($630|0)<($632|0); - if ($633) { - $j$13143 = $630; - } else { - break; - } - } - } - $634 = HEAP8[$585>>0]|0; - $635 = $634&255; - $636 = HEAP32[$89>>2]|0; - $637 = (((($636) + (($635*2096)|0)|0)) + 4|0); - $638 = HEAP32[$637>>2]|0; - $639 = $638 << 2; - $640 = (_setup_malloc($f,$639)|0); - $641 = (((($564) + (($i$4154*24)|0)|0)) + 16|0); - HEAP32[$641>>2] = $640; - $642 = ($640|0)==(0|0); - if ($642) { - label = 219; - break; - } - $643 = HEAP8[$585>>0]|0; - $644 = $643&255; - $645 = HEAP32[$89>>2]|0; - $646 = (((($645) + (($644*2096)|0)|0)) + 4|0); - $647 = HEAP32[$646>>2]|0; - $648 = $647 << 2; - _memset(($640|0),0,($648|0))|0; - $649 = HEAP8[$585>>0]|0; - $650 = $649&255; - $651 = HEAP32[$89>>2]|0; - $652 = (((($651) + (($650*2096)|0)|0)) + 4|0); - $653 = HEAP32[$652>>2]|0; - $654 = ($653|0)>(0); - if ($654) { - $656 = $651;$657 = $650;$j$14150 = 0; - while(1) { - $655 = (($656) + (($657*2096)|0)|0); - $658 = HEAP32[$655>>2]|0; - $659 = (_setup_malloc($f,$658)|0); - $660 = HEAP32[$641>>2]|0; - $661 = (($660) + ($j$14150<<2)|0); - HEAP32[$661>>2] = $659; - $662 = HEAP32[$641>>2]|0; - $663 = (($662) + ($j$14150<<2)|0); - $664 = HEAP32[$663>>2]|0; - $665 = ($664|0)==(0|0); - if ($665) { - label = 223; - break L335; - } - $666 = ($658|0)>(0); - if ($666) { - $k$4147$in = $658;$temp$0146 = $j$14150; - while(1) { - $k$4147 = (($k$4147$in) + -1)|0; - $667 = HEAP8[$582>>0]|0; - $668 = $667&255; - $669 = (($temp$0146|0) % ($668|0))&-1; - $670 = $669&255; - $671 = HEAP32[$641>>2]|0; - $672 = (($671) + ($j$14150<<2)|0); - $673 = HEAP32[$672>>2]|0; - $674 = (($673) + ($k$4147)|0); - HEAP8[$674>>0] = $670; - $675 = HEAP8[$582>>0]|0; - $676 = $675&255; - $677 = (($temp$0146|0) / ($676|0))&-1; - $678 = ($k$4147$in|0)>(1); - if ($678) { - $k$4147$in = $k$4147;$temp$0146 = $677; - } else { - break; - } - } - } - $679 = (($j$14150) + 1)|0; - $680 = HEAP8[$585>>0]|0; - $681 = $680&255; - $682 = HEAP32[$89>>2]|0; - $683 = (((($682) + (($681*2096)|0)|0)) + 4|0); - $684 = HEAP32[$683>>2]|0; - $685 = ($679|0)<($684|0); - if ($685) { - $656 = $682;$657 = $681;$j$14150 = $679; - } else { - break; - } - } - } - $686 = (($i$4154) + 1)|0; - $687 = HEAP32[$555>>2]|0; - $688 = ($686|0)<($687|0); - if ($688) { - $i$4154 = $686; - } else { - break L333; - } - } - if ((label|0) == 199) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 201) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 204) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 210) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 214) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 219) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 223) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - $689 = (_get_bits($f,6)|0); - $690 = (($689) + 1)|0; - $691 = ((($f)) + 400|0); - HEAP32[$691>>2] = $690; - $692 = ($690*40)|0; - $693 = (_setup_malloc($f,$692)|0); - $694 = ((($f)) + 404|0); - HEAP32[$694>>2] = $693; - $695 = ($693|0)==(0|0); - if ($695) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $696 = HEAP32[$691>>2]|0; - $697 = ($696*40)|0; - _memset(($693|0),0,($697|0))|0; - $698 = HEAP32[$691>>2]|0; - $699 = ($698|0)>(0); - L389: do { - if ($699) { - $i$5133 = 0; - L390: while(1) { - $700 = HEAP32[$694>>2]|0; - $701 = (($700) + (($i$5133*40)|0)|0); - $702 = (_get_bits($f,16)|0); - $703 = ($702|0)==(0); - if (!($703)) { - label = 231; - break; - } - $704 = HEAP32[$27>>2]|0; - $705 = ($704*3)|0; - $706 = (_setup_malloc($f,$705)|0); - $707 = (((($700) + (($i$5133*40)|0)|0)) + 4|0); - HEAP32[$707>>2] = $706; - $708 = ($706|0)==(0|0); - if ($708) { - label = 233; - break; - } - $709 = (_get_bits($f,1)|0); - $710 = ($709|0)==(0); - if ($710) { - $715 = (((($700) + (($i$5133*40)|0)|0)) + 8|0); - HEAP8[$715>>0] = 1; - } else { - $711 = (_get_bits($f,4)|0); - $712 = (($711) + 1)|0; - $713 = $712&255; - $714 = (((($700) + (($i$5133*40)|0)|0)) + 8|0); - HEAP8[$714>>0] = $713; - } - $716 = (((($700) + (($i$5133*40)|0)|0)) + 8|0); - $717 = (_get_bits($f,1)|0); - $718 = ($717|0)==(0); - do { - if ($718) { - HEAP16[$701>>1] = 0; - } else { - $719 = (_get_bits($f,8)|0); - $720 = (($719) + 1)|0; - $721 = $720&65535; - HEAP16[$701>>1] = $721; - $722 = $720 & 65535; - $723 = ($722|0)==(0); - if ($723) { - break; - } else { - $k$5122 = 0; - } - while(1) { - $728 = HEAP32[$27>>2]|0; - $729 = (($728) + -1)|0; - $730 = (_ilog($729)|0); - $731 = (_get_bits($f,$730)|0); - $732 = $731&255; - $733 = HEAP32[$707>>2]|0; - $734 = (($733) + (($k$5122*3)|0)|0); - HEAP8[$734>>0] = $732; - $735 = HEAP32[$27>>2]|0; - $736 = (($735) + -1)|0; - $737 = (_ilog($736)|0); - $738 = (_get_bits($f,$737)|0); - $739 = $738&255; - $740 = HEAP32[$707>>2]|0; - $741 = (((($740) + (($k$5122*3)|0)|0)) + 1|0); - HEAP8[$741>>0] = $739; - $742 = HEAP32[$707>>2]|0; - $743 = (($742) + (($k$5122*3)|0)|0); - $744 = HEAP8[$743>>0]|0; - $745 = $744&255; - $746 = HEAP32[$27>>2]|0; - $747 = ($745|0)<($746|0); - if (!($747)) { - label = 241; - break L390; - } - $748 = (((($742) + (($k$5122*3)|0)|0)) + 1|0); - $749 = HEAP8[$748>>0]|0; - $750 = $749&255; - $751 = ($750|0)<($746|0); - if (!($751)) { - label = 243; - break L390; - } - $752 = ($744<<24>>24)==($749<<24>>24); - $726 = (($k$5122) + 1)|0; - if ($752) { - label = 245; - break L390; - } - $724 = HEAP16[$701>>1]|0; - $725 = $724&65535; - $727 = ($726|0)<($725|0); - if ($727) { - $k$5122 = $726; - } else { - break; - } - } - } - } while(0); - $753 = (_get_bits($f,2)|0); - $754 = ($753|0)==(0); - if (!($754)) { - label = 248; - break; - } - $755 = HEAP8[$716>>0]|0; - $756 = ($755&255)>(1); - $757 = HEAP32[$27>>2]|0; - $758 = ($757|0)>(0); - do { - if ($756) { - if ($758) { - $j$15127 = 0; - } else { - break; - } - while(1) { - $766 = (_get_bits($f,4)|0); - $767 = $766&255; - $768 = HEAP32[$707>>2]|0; - $769 = (((($768) + (($j$15127*3)|0)|0)) + 2|0); - HEAP8[$769>>0] = $767; - $770 = HEAP32[$707>>2]|0; - $771 = (((($770) + (($j$15127*3)|0)|0)) + 2|0); - $772 = HEAP8[$771>>0]|0; - $773 = HEAP8[$716>>0]|0; - $774 = ($772&255)<($773&255); - $762 = (($j$15127) + 1)|0; - if (!($774)) { - label = 256; - break L390; - } - $761 = HEAP32[$27>>2]|0; - $763 = ($762|0)<($761|0); - if ($763) { - $j$15127 = $762; - } else { - break; - } - } - } else { - if (!($758)) { - break; - } - $759 = HEAP32[$707>>2]|0; - $760 = HEAP32[$27>>2]|0; - $j$16125 = 0; - while(1) { - $775 = (((($759) + (($j$16125*3)|0)|0)) + 2|0); - HEAP8[$775>>0] = 0; - $776 = (($j$16125) + 1)|0; - $777 = ($776|0)<($760|0); - if ($777) { - $j$16125 = $776; - } else { - break; - } - } - } - } while(0); - $764 = HEAP8[$716>>0]|0; - $765 = ($764<<24>>24)==(0); - if (!($765)) { - $j$17129 = 0; - while(1) { - (_get_bits($f,8)|0); - $782 = (_get_bits($f,8)|0); - $783 = $782&255; - $784 = ((((($700) + (($i$5133*40)|0)|0)) + 9|0) + ($j$17129)|0); - HEAP8[$784>>0] = $783; - $785 = (_get_bits($f,8)|0); - $786 = $785&255; - $787 = ((((($700) + (($i$5133*40)|0)|0)) + 24|0) + ($j$17129)|0); - HEAP8[$787>>0] = $786; - $788 = HEAP8[$784>>0]|0; - $789 = $788&255; - $790 = HEAP32[$396>>2]|0; - $791 = ($789|0)<($790|0); - if (!($791)) { - label = 260; - break L390; - } - $792 = $785 & 255; - $793 = HEAP32[$555>>2]|0; - $794 = ($792|0)<($793|0); - $780 = (($j$17129) + 1)|0; - if (!($794)) { - label = 262; - break L390; - } - $778 = HEAP8[$716>>0]|0; - $779 = $778&255; - $781 = ($780|0)<($779|0); - if ($781) { - $j$17129 = $780; - } else { - break; - } - } - } - $795 = (($i$5133) + 1)|0; - $796 = HEAP32[$691>>2]|0; - $797 = ($795|0)<($796|0); - if ($797) { - $i$5133 = $795; - } else { - break L389; - } - } - if ((label|0) == 231) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 233) { - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 241) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 243) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 245) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 248) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 256) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 260) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 262) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - $798 = (_get_bits($f,6)|0); - $799 = (($798) + 1)|0; - $800 = ((($f)) + 408|0); - HEAP32[$800>>2] = $799; - $801 = ($799|0)>(0); - L444: do { - if ($801) { - $i$6118 = 0; - while(1) { - $805 = (_get_bits($f,1)|0); - $806 = $805&255; - $807 = (((($f)) + 412|0) + (($i$6118*6)|0)|0); - HEAP8[$807>>0] = $806; - $808 = (_get_bits($f,16)|0); - $809 = $808&65535; - $810 = (((((($f)) + 412|0) + (($i$6118*6)|0)|0)) + 2|0); - HEAP16[$810>>1] = $809; - $811 = (_get_bits($f,16)|0); - $812 = $811&65535; - $813 = (((((($f)) + 412|0) + (($i$6118*6)|0)|0)) + 4|0); - HEAP16[$813>>1] = $812; - $814 = (_get_bits($f,8)|0); - $815 = $814&255; - $816 = (((((($f)) + 412|0) + (($i$6118*6)|0)|0)) + 1|0); - HEAP8[$816>>0] = $815; - $817 = HEAP16[$810>>1]|0; - $818 = ($817<<16>>16)==(0); - if (!($818)) { - label = 267; - break; - } - $819 = HEAP16[$813>>1]|0; - $820 = ($819<<16>>16)==(0); - if (!($820)) { - label = 269; - break; - } - $821 = $814 & 255; - $822 = HEAP32[$691>>2]|0; - $823 = ($821|0)<($822|0); - $803 = (($i$6118) + 1)|0; - if (!($823)) { - label = 271; - break; - } - $802 = HEAP32[$800>>2]|0; - $804 = ($803|0)<($802|0); - if ($804) { - $i$6118 = $803; - } else { - break L444; - } - } - if ((label|0) == 267) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 269) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 271) { - _error($f,20); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } - } while(0); - _flush_packet($f); - $824 = ((($f)) + 992|0); - HEAP32[$824>>2] = 0; - $825 = HEAP32[$27>>2]|0; - $826 = ($825|0)>(0); - L458: do { - if ($826) { - $i$7114 = 0; - while(1) { - $830 = HEAP32[$39>>2]|0; - $831 = $830 << 2; - $832 = (_setup_malloc($f,$831)|0); - $833 = (((($f)) + 800|0) + ($i$7114<<2)|0); - HEAP32[$833>>2] = $832; - $834 = HEAP32[$39>>2]|0; - $835 = $834 << 1; - $836 = $835 & 2147483646; - $837 = (_setup_malloc($f,$836)|0); - $838 = (((($f)) + 928|0) + ($i$7114<<2)|0); - HEAP32[$838>>2] = $837; - $839 = (_setup_malloc($f,$longest_floorlist$0$lcssa)|0); - $840 = (((($f)) + 996|0) + ($i$7114<<2)|0); - HEAP32[$840>>2] = $839; - $841 = HEAP32[$833>>2]|0; - $842 = ($841|0)==(0|0); - if ($842) { - break; - } - $843 = HEAP32[$838>>2]|0; - $844 = ($843|0)==(0|0); - $845 = ($839|0)==(0|0); - $or$cond14 = $845 | $844; - $828 = (($i$7114) + 1)|0; - if ($or$cond14) { - break; - } - $827 = HEAP32[$27>>2]|0; - $829 = ($828|0)<($827|0); - if ($829) { - $i$7114 = $828; - } else { - break L458; - } - } - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $846 = HEAP32[$37>>2]|0; - $847 = (_init_blocksize($f,0,$846)|0); - $848 = ($847|0)==(0); - if ($848) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $849 = HEAP32[$39>>2]|0; - $850 = (_init_blocksize($f,1,$849)|0); - $851 = ($850|0)==(0); - if ($851) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $852 = HEAP32[$37>>2]|0; - $853 = ((($f)) + 104|0); - HEAP32[$853>>2] = $852; - $854 = HEAP32[$39>>2]|0; - $855 = ((($f)) + 108|0); - HEAP32[$855>>2] = $854; - $856 = HEAP32[$39>>2]|0; - $857 = $856 << 1; - $858 = $857 & 2147483646; - $859 = HEAP32[$555>>2]|0; - $860 = ($859|0)>(0); - if ($860) { - $861 = HEAP32[$558>>2]|0; - $862 = HEAP32[$555>>2]|0; - $i9$0109 = 0;$max_part_read$0110 = 0; - while(1) { - $863 = (((($861) + (($i9$0109*24)|0)|0)) + 4|0); - $864 = HEAP32[$863>>2]|0; - $865 = (($861) + (($i9$0109*24)|0)|0); - $866 = HEAP32[$865>>2]|0; - $867 = (($864) - ($866))|0; - $868 = (((($861) + (($i9$0109*24)|0)|0)) + 8|0); - $869 = HEAP32[$868>>2]|0; - $870 = (($867>>>0) / ($869>>>0))&-1; - $871 = ($870|0)>($max_part_read$0110|0); - $$max_part_read$0 = $871 ? $870 : $max_part_read$0110; - $872 = (($i9$0109) + 1)|0; - $873 = ($872|0)<($862|0); - if ($873) { - $i9$0109 = $872;$max_part_read$0110 = $$max_part_read$0; - } else { - $$max_part_read$0$lcssa = $$max_part_read$0; - break; - } - } - $phitmp = $$max_part_read$0$lcssa << 2; - $phitmp233 = (($phitmp) + 4)|0; - $max_part_read$0$lcssa = $phitmp233; - } else { - $max_part_read$0$lcssa = 4; - } - $874 = HEAP32[$27>>2]|0; - $875 = Math_imul($874, $max_part_read$0$lcssa)|0; - $876 = ((($f)) + 12|0); - $877 = ($858>>>0)>($875>>>0); - $$15 = $877 ? $858 : $875; - HEAP32[$876>>2] = $$15; - $878 = ((($f)) + 1377|0); - HEAP8[$878>>0] = 1; - $879 = ((($f)) + 80|0); - $880 = HEAP32[$879>>2]|0; - $881 = ($880|0)==(0|0); - do { - if (!($881)) { - $882 = ((($f)) + 92|0); - $883 = HEAP32[$882>>2]|0; - $884 = ((($f)) + 84|0); - $885 = HEAP32[$884>>2]|0; - $886 = ($883|0)==($885|0); - if (!($886)) { - ___assert_fail((19885|0),(17015|0),3780,(19941|0)); - // unreachable; - } - $887 = ((($f)) + 88|0); - $888 = HEAP32[$887>>2]|0; - $889 = (($888) + 1512)|0; - $890 = HEAP32[$876>>2]|0; - $891 = (($889) + ($890))|0; - $892 = ($891>>>0)>($883>>>0); - if (!($892)) { - break; - } - _error($f,3); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - $893 = (_stb_vorbis_get_file_offset($f)|0); - $894 = ((($f)) + 52|0); - HEAP32[$894>>2] = $893; - $$4 = 1; - STACKTOP = sp;return ($$4|0); -} -function _vorbis_alloc($f) { - $f = $f|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_setup_malloc($f,1512)|0); - return ($0|0); -} -function _vorbis_pump_first_frame($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $left = 0, $len = 0, $right = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $len = sp + 8|0; - $right = sp + 4|0; - $left = sp; - $0 = (_vorbis_decode_packet($f,$len,$left,$right)|0); - $1 = ($0|0)==(0); - if ($1) { - STACKTOP = sp;return; - } - $2 = HEAP32[$len>>2]|0; - $3 = HEAP32[$left>>2]|0; - $4 = HEAP32[$right>>2]|0; - (_vorbis_finish_frame($f,$2,$3,$4)|0); - STACKTOP = sp;return; -} -function _maybe_start_packet($f) { - $f = $f|0; - 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, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1380|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(-1); - if ($2) { - $3 = (_get8($f)|0); - $4 = ((($f)) + 96|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if (!($6)) { - $$0 = 0; - return ($$0|0); - } - $7 = ($3<<24>>24)==(79); - if (!($7)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $8 = (_get8($f)|0); - $9 = ($8<<24>>24)==(103); - if (!($9)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $10 = (_get8($f)|0); - $11 = ($10<<24>>24)==(103); - if (!($11)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $12 = (_get8($f)|0); - $13 = ($12<<24>>24)==(83); - if (!($13)) { - _error($f,30); - $$0 = 0; - return ($$0|0); - } - $14 = (_start_page_no_capturepattern($f)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - return ($$0|0); - } - $16 = ((($f)) + 1375|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17 & 1; - $19 = ($18<<24>>24)==(0); - if (!($19)) { - $20 = ((($f)) + 1384|0); - HEAP32[$20>>2] = 0; - $21 = ((($f)) + 1376|0); - HEAP8[$21>>0] = 0; - _error($f,32); - $$0 = 0; - return ($$0|0); - } - } - $22 = (_start_packet($f)|0); - $$0 = $22; - return ($$0|0); -} -function _flush_packet($f) { - $f = $f|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - while(1) { - $0 = (_get8_packet_raw($f)|0); - $1 = ($0|0)==(-1); - if ($1) { - break; - } - } - return; -} -function _set_file_offset($f,$loc) { - $f = $f|0; - $loc = $loc|0; - 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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 48|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if (!($2)) { - return; - } - $3 = ((($f)) + 96|0); - HEAP32[$3>>2] = 0; - $4 = ((($f)) + 32|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = ((($f)) + 36|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($loc)|0); - $10 = ((($f)) + 40|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($9>>>0)>=($11>>>0); - $13 = ($loc|0)<(0); - $or$cond1 = $13 | $12; - if ($or$cond1) { - $14 = HEAP32[$10>>2]|0; - HEAP32[$4>>2] = $14; - HEAP32[$3>>2] = 1; - return; - } else { - HEAP32[$4>>2] = $9; - return; - } - } - $15 = ((($f)) + 24|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($16) + ($loc))|0; - $18 = ($17>>>0)<($loc>>>0); - $19 = ($loc|0)<(0); - $or$cond = $19 | $18; - if ($or$cond) { - HEAP32[$3>>2] = 1; - $$0 = 2147483647; - } else { - $$0 = $17; - } - $20 = ((($f)) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_fseek($21,$$0,0)|0); - $23 = ($22|0)==(0); - if ($23) { - return; - } - HEAP32[$3>>2] = 1; - $24 = HEAP32[$20>>2]|0; - $25 = HEAP32[$15>>2]|0; - (_fseek($24,$25,2)|0); - return; -} -function _vorbis_find_page($f,$end,$last) { - $f = $f|0; - $end = $end|0; - $last = $last|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa58 = 0, $$lcssa59 = 0, $$lcssa61 = 0, $0 = 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; - 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, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; - var $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, $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, $crc$011 = 0, $crc$113 = 0, $crc$2$lcssa = 0, $crc$219 = 0, $exitcond = 0, $exitcond40 = 0, $header = 0, $i$0$lcssa = 0, $i1$310 = 0, $i1$412 = 0; - var $i1$518 = 0, $len$014 = 0, $scevgep = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $header = sp; - $0 = ((($f)) + 96|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ((($f)) + 44|0); - $4 = ((($header)) + 4|0); - $5 = ((($header)) + 22|0); - $6 = ((($header)) + 23|0); - $7 = ((($header)) + 24|0); - $8 = ((($header)) + 25|0); - $9 = ((($header)) + 26|0); - $scevgep = ((($header)) + 22|0); - $10 = ((($header)) + 4|0); - $11 = ((($header)) + 5|0); - $12 = ((($header)) + 6|0); - $13 = ((($header)) + 7|0); - $14 = ((($header)) + 8|0); - $15 = ((($header)) + 9|0); - $16 = ((($header)) + 10|0); - $17 = ((($header)) + 11|0); - $18 = ((($header)) + 12|0); - $19 = ((($header)) + 13|0); - $20 = ((($header)) + 14|0); - $21 = ((($header)) + 15|0); - $22 = ((($header)) + 16|0); - $23 = ((($header)) + 17|0); - $24 = ((($header)) + 18|0); - $25 = ((($header)) + 19|0); - $26 = ((($header)) + 20|0); - $27 = ((($header)) + 21|0); - $28 = ((($header)) + 22|0); - $29 = ((($header)) + 23|0); - $30 = ((($header)) + 24|0); - $31 = ((($header)) + 25|0); - $32 = ((($header)) + 26|0); - while(1) { - $33 = (_get8($f)|0); - $34 = ($33<<24>>24)==(79); - if ($34) { - $35 = (_stb_vorbis_get_file_offset($f)|0); - $36 = (($35) + -25)|0; - $37 = HEAP32[$3>>2]|0; - $38 = ($36>>>0)>($37>>>0); - if ($38) { - $$0 = 0; - label = 29; - break; - } - $39 = (_get8($f)|0); - $40 = HEAP8[(8217)>>0]|0; - $41 = ($39<<24>>24)==($40<<24>>24); - if ($41) { - $42 = (_get8($f)|0); - $43 = HEAP8[(8218)>>0]|0; - $44 = ($42<<24>>24)==($43<<24>>24); - if ($44) { - $121 = (_get8($f)|0); - $122 = HEAP8[(8219)>>0]|0; - $123 = ($121<<24>>24)==($122<<24>>24); - $$ = $123 ? 4 : 3; - $i$0$lcssa = $$; - } else { - $i$0$lcssa = 2; - } - } else { - $i$0$lcssa = 1; - } - $45 = HEAP32[$0>>2]|0; - $46 = ($45|0)==(0); - if (!($46)) { - $$0 = 0; - label = 29; - break; - } - $47 = ($i$0$lcssa|0)==(4); - if ($47) { - $48 = HEAP32[8216>>2]|0; - HEAP32[$header>>2] = $48; - $49 = (_get8($f)|0); - HEAP8[$10>>0] = $49; - $50 = (_get8($f)|0); - HEAP8[$11>>0] = $50; - $51 = (_get8($f)|0); - HEAP8[$12>>0] = $51; - $52 = (_get8($f)|0); - HEAP8[$13>>0] = $52; - $53 = (_get8($f)|0); - HEAP8[$14>>0] = $53; - $54 = (_get8($f)|0); - HEAP8[$15>>0] = $54; - $55 = (_get8($f)|0); - HEAP8[$16>>0] = $55; - $56 = (_get8($f)|0); - HEAP8[$17>>0] = $56; - $57 = (_get8($f)|0); - HEAP8[$18>>0] = $57; - $58 = (_get8($f)|0); - HEAP8[$19>>0] = $58; - $59 = (_get8($f)|0); - HEAP8[$20>>0] = $59; - $60 = (_get8($f)|0); - HEAP8[$21>>0] = $60; - $61 = (_get8($f)|0); - HEAP8[$22>>0] = $61; - $62 = (_get8($f)|0); - HEAP8[$23>>0] = $62; - $63 = (_get8($f)|0); - HEAP8[$24>>0] = $63; - $64 = (_get8($f)|0); - HEAP8[$25>>0] = $64; - $65 = (_get8($f)|0); - HEAP8[$26>>0] = $65; - $66 = (_get8($f)|0); - HEAP8[$27>>0] = $66; - $67 = (_get8($f)|0); - HEAP8[$28>>0] = $67; - $68 = (_get8($f)|0); - HEAP8[$29>>0] = $68; - $69 = (_get8($f)|0); - HEAP8[$30>>0] = $69; - $70 = (_get8($f)|0); - HEAP8[$31>>0] = $70; - $71 = (_get8($f)|0); - HEAP8[$32>>0] = $71; - $72 = HEAP32[$0>>2]|0; - $73 = ($72|0)==(0); - if (!($73)) { - $$0 = 0; - label = 29; - break; - } - $74 = HEAP8[$4>>0]|0; - $75 = ($74<<24>>24)==(0); - if ($75) { - $76 = HEAP8[$5>>0]|0; - $77 = HEAP8[$6>>0]|0; - $78 = HEAP8[$7>>0]|0; - $79 = HEAP8[$8>>0]|0; - $80 = $79&255; - $81 = $80 << 24; - HEAP16[$scevgep>>1]=0&65535;HEAP16[$scevgep+2>>1]=0>>>16; - $82 = $78&255; - $83 = $82 << 16; - $84 = $77&255; - $85 = $84 << 8; - $86 = $76&255; - $87 = $85 | $86; - $88 = $87 | $83; - $crc$011 = 0;$i1$310 = 0; - while(1) { - $94 = (($header) + ($i1$310)|0); - $95 = HEAP8[$94>>0]|0; - $96 = (_crc32_update($crc$011,$95)|0); - $97 = (($i1$310) + 1)|0; - $exitcond = ($97|0)==(27); - if ($exitcond) { - $$lcssa = $96; - break; - } else { - $crc$011 = $96;$i1$310 = $97; - } - } - $89 = $88 | $81; - $90 = HEAP8[$9>>0]|0; - $91 = ($90<<24>>24)==(0); - if ($91) { - $crc$2$lcssa = $$lcssa; - } else { - $92 = HEAP8[$9>>0]|0; - $93 = $92&255; - $crc$113 = $$lcssa;$i1$412 = 0;$len$014 = 0; - while(1) { - $98 = (_get8($f)|0); - $99 = $98&255; - $100 = (_crc32_update($crc$113,$98)|0); - $101 = (($99) + ($len$014))|0; - $102 = (($i1$412) + 1)|0; - $103 = ($102>>>0)<($93>>>0); - if ($103) { - $crc$113 = $100;$i1$412 = $102;$len$014 = $101; - } else { - $$lcssa58 = $100;$$lcssa59 = $101; - break; - } - } - $104 = ($$lcssa59|0)==(0); - if ($104) { - $crc$2$lcssa = $$lcssa58; - } else { - $105 = HEAP32[$0>>2]|0; - $106 = ($105|0)==(0); - if ($106) { - $crc$219 = $$lcssa58;$i1$518 = 0; - } else { - $$0 = 0; - label = 29; - break; - } - while(1) { - $107 = (_get8($f)|0); - $108 = (_crc32_update($crc$219,$107)|0); - $109 = (($i1$518) + 1)|0; - $exitcond40 = ($109|0)==($$lcssa59|0); - if ($exitcond40) { - $crc$2$lcssa = $108; - break; - } else { - $crc$219 = $108;$i1$518 = $109; - } - } - } - } - $110 = ($crc$2$lcssa|0)==($89|0); - if ($110) { - $$lcssa61 = $35; - label = 20; - break; - } - } - } - _set_file_offset($f,$35); - } - $119 = HEAP32[$0>>2]|0; - $120 = ($119|0)==(0); - if (!($120)) { - $$0 = 0; - label = 29; - break; - } - } - if ((label|0) == 20) { - $111 = ($end|0)==(0|0); - if (!($111)) { - $112 = (_stb_vorbis_get_file_offset($f)|0); - HEAP32[$end>>2] = $112; - } - $113 = ($last|0)==(0|0); - do { - if (!($113)) { - $114 = ((($header)) + 5|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115 & 4; - $117 = ($116<<24>>24)==(0); - if ($117) { - HEAP32[$last>>2] = 0; - break; - } else { - HEAP32[$last>>2] = 1; - break; - } - } - } while(0); - $118 = (($$lcssa61) + -1)|0; - _set_file_offset($f,$118); - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 29) { - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _getn($z,$data,$n) { - $z = $z|0; - $data = $data|0; - $n = $n|0; - 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, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $10 = ((($z)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = (_fread($data,$n,1,$11)|0); - $13 = ($12|0)==(1); - if ($13) { - $$0 = 1; - return ($$0|0); - } - $14 = ((($z)) + 96|0); - HEAP32[$14>>2] = 1; - $$0 = 0; - return ($$0|0); - } - $3 = (($1) + ($n)|0); - $4 = ((($z)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)>($5>>>0); - if ($6) { - $7 = ((($z)) + 96|0); - HEAP32[$7>>2] = 1; - $$0 = 0; - return ($$0|0); - } else { - _memcpy(($data|0),($1|0),($n|0))|0; - $8 = HEAP32[$0>>2]|0; - $9 = (($8) + ($n)|0); - HEAP32[$0>>2] = $9; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _get32($f) { - $f = $f|0; - 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; - $0 = (_get8($f)|0); - $1 = $0&255; - $2 = (_get8($f)|0); - $3 = $2&255; - $4 = $3 << 8; - $5 = $4 | $1; - $6 = (_get8($f)|0); - $7 = $6&255; - $8 = $7 << 16; - $9 = $5 | $8; - $10 = (_get8($f)|0); - $11 = $10&255; - $12 = $11 << 24; - $13 = $9 | $12; - return ($13|0); -} -function _convert_channels_short_interleaved($buf_c,$buffer,$data_c,$data,$d_offset,$len) { - $buf_c = $buf_c|0; - $buffer = $buffer|0; - $data_c = $data_c|0; - $data = $data|0; - $d_offset = $d_offset|0; - $len = $len|0; - var $$017 = 0, $$1$lcssa = 0, $$19 = 0, $$2$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0.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, $exitcond = 0, $exitcond20 = 0, $exitcond25 = 0, $i$07 = 0, $i$1$lcssa = 0, $i$18 = 0, $j$016 = 0; - var $or$cond = 0, $or$cond3 = 0, $scevgep = 0, $scevgep21$sum = 0, $scevgep22 = 0, $v$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($buf_c|0)!=($data_c|0); - $1 = ($buf_c|0)<(3); - $or$cond = $1 & $0; - $2 = ($data_c|0)<(7); - $or$cond3 = $2 & $or$cond; - if ($or$cond3) { - $3 = ($buf_c|0)==(2); - if ($3) { - $i$07 = 0; - } else { - ___assert_fail((19633|0),(17015|0),4820,(19644|0)); - // unreachable; - } - while(1) { - _compute_stereo_samples($buffer,$data_c,$data,$d_offset,$len); - $4 = (($i$07) + 1)|0; - $exitcond = ($4|0)==($buf_c|0); - if ($exitcond) { - break; - } else { - $i$07 = $4; - } - } - return; - } - $5 = ($len|0)>(0); - if (!($5)) { - return; - } - $6 = ($buf_c|0)<($data_c|0); - $7 = $6 ? $buf_c : $data_c; - $8 = ($7|0)>(0); - $9 = ($data_c|0)<($buf_c|0); - $10 = $9 ? $data_c : $buf_c; - $$017 = $buffer;$j$016 = 0; - while(1) { - if ($8) { - $11 = (($j$016) + ($d_offset))|0; - $$19 = $$017;$i$18 = 0; - while(1) { - $13 = (($data) + ($i$18<<2)|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = $16 + 384.0; - $18 = (HEAPF32[tempDoublePtr>>2]=$17,HEAP32[tempDoublePtr>>2]|0); - $19 = (($18) + -1136623616)|0; - $20 = ($19>>>0)>(65535); - $21 = ($18|0)<(1136656384); - $22 = $21 ? 32768 : 32767; - $v$0 = $20 ? $22 : $18; - $23 = $v$0&65535; - $24 = ((($$19)) + 2|0); - HEAP16[$$19>>1] = $23; - $25 = (($i$18) + 1)|0; - $exitcond20 = ($25|0)==($10|0); - if ($exitcond20) { - break; - } else { - $$19 = $24;$i$18 = $25; - } - } - $scevgep = (($$017) + ($10<<1)|0); - $$1$lcssa = $scevgep;$i$1$lcssa = $10; - } else { - $$1$lcssa = $$017;$i$1$lcssa = 0; - } - $12 = ($i$1$lcssa|0)<($buf_c|0); - if ($12) { - $26 = (($buf_c) - ($i$1$lcssa))|0; - $27 = $26 << 1; - _memset(($$1$lcssa|0),0,($27|0))|0; - $scevgep21$sum = (($buf_c) - ($i$1$lcssa))|0; - $scevgep22 = (($$1$lcssa) + ($scevgep21$sum<<1)|0); - $$2$lcssa = $scevgep22; - } else { - $$2$lcssa = $$1$lcssa; - } - $28 = (($j$016) + 1)|0; - $exitcond25 = ($28|0)==($len|0); - if ($exitcond25) { - break; - } else { - $$017 = $$2$lcssa;$j$016 = $28; - } - } - return; -} -function _ttULONG($p) { - $p = $p|0; - var $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; - $0 = HEAP8[$p>>0]|0; - $1 = $0&255; - $2 = $1 << 24; - $3 = ((($p)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $5 << 16; - $7 = $6 | $2; - $8 = ((($p)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = $10 << 8; - $12 = $7 | $11; - $13 = ((($p)) + 3|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = $12 | $15; - return ($16|0); -} -function _stbtt__find_table($data,$fontstart,$tag) { - $data = $data|0; - $fontstart = $fontstart|0; - $tag = $tag|0; - var $$0 = 0, $$lcssa = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 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; - 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, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$05 = 0, label = 0, sp = 0; - sp = STACKTOP; - $$sum = (($fontstart) + 4)|0; - $0 = (($data) + ($$sum)|0); - $1 = (_ttUSHORT($0)|0); - $2 = $1&65535; - $3 = (($fontstart) + 12)|0; - $4 = ($1<<16>>16)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = HEAP8[$tag>>0]|0; - $6 = $5 << 24 >> 24; - $7 = ((($tag)) + 1|0); - $8 = ((($tag)) + 2|0); - $9 = ((($tag)) + 3|0); - $i$05 = 0; - while(1) { - $10 = $i$05 << 4; - $11 = (($3) + ($10))|0; - $12 = (($data) + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)==($6|0); - if ($15) { - $$sum1 = (($11) + 1)|0; - $16 = (($data) + ($$sum1)|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = HEAP8[$7>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($18|0)==($20|0); - if ($21) { - $$sum2 = (($11) + 2)|0; - $22 = (($data) + ($$sum2)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = HEAP8[$8>>0]|0; - $26 = $25 << 24 >> 24; - $27 = ($24|0)==($26|0); - if ($27) { - $$sum3 = (($11) + 3)|0; - $28 = (($data) + ($$sum3)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = HEAP8[$9>>0]|0; - $32 = $31 << 24 >> 24; - $33 = ($30|0)==($32|0); - if ($33) { - $$lcssa = $11; - break; - } - } - } - } - $36 = (($i$05) + 1)|0; - $37 = ($36|0)<($2|0); - if ($37) { - $i$05 = $36; - } else { - $$0 = 0; - label = 9; - break; - } - } - if ((label|0) == 9) { - return ($$0|0); - } - $$sum4 = (($$lcssa) + 8)|0; - $34 = (($data) + ($$sum4)|0); - $35 = (_ttULONG($34)|0); - $$0 = $35; - return ($$0|0); -} -function _ttUSHORT($p) { - $p = $p|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 = HEAP8[$p>>0]|0; - $1 = $0&255; - $2 = $1 << 8; - $3 = ((($p)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $2 | $5; - $7 = $6&65535; - return ($7|0); -} -function _ttSHORT($p) { - $p = $p|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 = HEAP8[$p>>0]|0; - $1 = $0&255; - $2 = $1 << 8; - $3 = ((($p)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = $2 | $5; - $7 = $6&65535; - return ($7|0); -} -function _stbtt__GetGlyfOffset($info,$glyph_index) { - $info = $info|0; - $glyph_index = $glyph_index|0; - var $$0 = 0, $$pn = 0, $$sink = 0, $$sum = 0, $$sum2 = 0, $$sum3 = 0, $$sum5 = 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; - var $20 = 0, $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, $g1$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($info)) + 12|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>($glyph_index|0); - if (!($2)) { - $$0 = -1; - return ($$0|0); - } - $3 = ((($info)) + 44|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(1); - if ($5) { - $$0 = -1; - return ($$0|0); - } - $6 = ($4|0)==(0); - $7 = ((($info)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($info)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($info)) + 16|0); - $12 = HEAP32[$11>>2]|0; - if ($6) { - $13 = $glyph_index << 1; - $$sum3 = (($12) + ($13))|0; - $14 = (($10) + ($$sum3)|0); - $15 = (_ttUSHORT($14)|0); - $16 = $15&65535; - $17 = $16 << 1; - $$sum5 = (($$sum3) + 2)|0; - $18 = (($10) + ($$sum5)|0); - $19 = (_ttUSHORT($18)|0); - $20 = $19&65535; - $21 = $20 << 1; - $$pn = $17;$$sink = $21; - } else { - $22 = $glyph_index << 2; - $$sum = (($12) + ($22))|0; - $23 = (($10) + ($$sum)|0); - $24 = (_ttULONG($23)|0); - $$sum2 = (($$sum) + 4)|0; - $25 = (($10) + ($$sum2)|0); - $26 = (_ttULONG($25)|0); - $$pn = $24;$$sink = $26; - } - $27 = (($$sink) + ($8))|0; - $g1$0 = (($$pn) + ($8))|0; - $28 = ($g1$0|0)==($27|0); - $29 = $28 ? -1 : $g1$0; - $$0 = $29; - return ($$0|0); -} -function _stbtt__close_shape($vertices,$num_vertices,$was_off,$start_off,$sx,$sy,$scx,$scy,$cx,$cy) { - $vertices = $vertices|0; - $num_vertices = $num_vertices|0; - $was_off = $was_off|0; - $start_off = $start_off|0; - $sx = $sx|0; - $sy = $sy|0; - $scx = $scx|0; - $scy = $scy|0; - $cx = $cx|0; - $cy = $cy|0; - var $$0 = 0, $$1 = 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, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($start_off|0)==(0); - $1 = ($was_off|0)!=(0); - if (!($0)) { - if ($1) { - $2 = (($num_vertices) + 1)|0; - $3 = (($vertices) + (($num_vertices*10)|0)|0); - $4 = (($cx) + ($scx))|0; - $5 = $4 >> 1; - $6 = (($cy) + ($scy))|0; - $7 = $6 >> 1; - _stbtt_setvertex($3,3,$5,$7,$cx,$cy); - $$0 = $2; - } else { - $$0 = $num_vertices; - } - $8 = (($$0) + 1)|0; - $9 = (($vertices) + (($$0*10)|0)|0); - _stbtt_setvertex($9,3,$sx,$sy,$scx,$scy); - $$1 = $8; - return ($$1|0); - } - $10 = (($num_vertices) + 1)|0; - $11 = (($vertices) + (($num_vertices*10)|0)|0); - if ($1) { - _stbtt_setvertex($11,3,$sx,$sy,$cx,$cy); - $$1 = $10; - return ($$1|0); - } else { - _stbtt_setvertex($11,2,$sx,$sy,0,0); - $$1 = $10; - return ($$1|0); - } - return (0)|0; -} -function _stbtt_setvertex($v,$type,$x,$y,$cx,$cy) { - $v = $v|0; - $type = $type|0; - $x = $x|0; - $y = $y|0; - $cx = $cx|0; - $cy = $cy|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 = ((($v)) + 8|0); - HEAP8[$0>>0] = $type; - $1 = $x&65535; - HEAP16[$v>>1] = $1; - $2 = $y&65535; - $3 = ((($v)) + 2|0); - HEAP16[$3>>1] = $2; - $4 = $cx&65535; - $5 = ((($v)) + 4|0); - HEAP16[$5>>1] = $4; - $6 = $cy&65535; - $7 = ((($v)) + 6|0); - HEAP16[$7>>1] = $6; - return; -} -function _stbtt_FlattenCurves($vertices,$num_verts,$objspace_flatness,$contour_lengths,$num_contours) { - $vertices = $vertices|0; - $num_verts = $num_verts|0; - $objspace_flatness = +$objspace_flatness; - $contour_lengths = $contour_lengths|0; - $num_contours = $num_contours|0; - var $$0 = 0, $$lcssa = 0, $$n$0 = 0, $$n$0$lcssa = 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; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond18 = 0, $i$012 = 0, $i$12 = 0, $n$013 = 0, $n$2$lcssa = 0, $n$24 = 0, $n$3 = 0, $num_points = 0, $pass$011 = 0, $points$09 = 0, $points$1 = 0; - var $start$010 = 0, $start$1$lcssa = 0, $start$15 = 0, $start$2 = 0, $x$06 = 0.0, $x$1 = 0.0, $y$07 = 0.0, $y$1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $num_points = sp; - HEAP32[$num_points>>2] = 0; - $0 = $objspace_flatness * $objspace_flatness; - $1 = ($num_verts|0)>(0); - if ($1) { - $i$012 = 0;$n$013 = 0; - } else { - HEAP32[$num_contours>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - while(1) { - $2 = (((($vertices) + (($i$012*10)|0)|0)) + 8|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(1); - $5 = $4&1; - $$n$0 = (($5) + ($n$013))|0; - $6 = (($i$012) + 1)|0; - $exitcond18 = ($6|0)==($num_verts|0); - if ($exitcond18) { - $$n$0$lcssa = $$n$0; - break; - } else { - $i$012 = $6;$n$013 = $$n$0; - } - } - HEAP32[$num_contours>>2] = $$n$0$lcssa; - $7 = ($$n$0$lcssa|0)==(0); + $2 = sp + 120|0; + $3 = sp + 96|0; + $4 = sp + 88|0; + $5 = sp + 64|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; + $6 = (_fopen($1,17589)|0); + $7 = ($6|0)==(0|0); if ($7) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $8 = $$n$0$lcssa << 2; - $9 = (_malloc($8)|0); - HEAP32[$contour_lengths>>2] = $9; - $10 = ($9|0)==(0|0); - if ($10) { - HEAP32[$num_contours>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $11 = ($num_verts|0)>(0); - $pass$011 = 0;$points$09 = 0;$start$010 = 0; - while(1) { - $12 = ($pass$011|0)==(1); - if ($12) { - $13 = HEAP32[$num_points>>2]|0; - $14 = $13 << 3; - $15 = (_malloc($14)|0); - $16 = ($15|0)==(0|0); - if ($16) { - $$lcssa = $15; - break; - } else { - $points$1 = $15; - } - } else { - $points$1 = $points$09; - } - HEAP32[$num_points>>2] = 0; - L19: do { - if ($11) { - $i$12 = 0;$n$24 = -1;$start$15 = $start$010;$x$06 = 0.0;$y$07 = 0.0; - while(1) { - $17 = (($vertices) + (($i$12*10)|0)|0); - $18 = (((($vertices) + (($i$12*10)|0)|0)) + 8|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - switch ($20|0) { - case 1: { - $21 = ($n$24|0)>(-1); - if ($21) { - $22 = HEAP32[$num_points>>2]|0; - $23 = (($22) - ($start$15))|0; - $24 = HEAP32[$contour_lengths>>2]|0; - $25 = (($24) + ($n$24<<2)|0); - HEAP32[$25>>2] = $23; - } - $26 = (($n$24) + 1)|0; - $27 = HEAP32[$num_points>>2]|0; - $28 = HEAP16[$17>>1]|0; - $29 = (+($28<<16>>16)); - $30 = (((($vertices) + (($i$12*10)|0)|0)) + 2|0); - $31 = HEAP16[$30>>1]|0; - $32 = (+($31<<16>>16)); - $33 = (($27) + 1)|0; - HEAP32[$num_points>>2] = $33; - _stbtt__add_point($points$1,$27,$29,$32); - $n$3 = $26;$start$2 = $27;$x$1 = $29;$y$1 = $32; - break; - } - case 2: { - $34 = HEAP16[$17>>1]|0; - $35 = (+($34<<16>>16)); - $36 = (((($vertices) + (($i$12*10)|0)|0)) + 2|0); - $37 = HEAP16[$36>>1]|0; - $38 = (+($37<<16>>16)); - $39 = HEAP32[$num_points>>2]|0; - $40 = (($39) + 1)|0; - HEAP32[$num_points>>2] = $40; - _stbtt__add_point($points$1,$39,$35,$38); - $n$3 = $n$24;$start$2 = $start$15;$x$1 = $35;$y$1 = $38; - break; - } - case 3: { - $41 = (((($vertices) + (($i$12*10)|0)|0)) + 4|0); - $42 = HEAP16[$41>>1]|0; - $43 = (+($42<<16>>16)); - $44 = (((($vertices) + (($i$12*10)|0)|0)) + 6|0); - $45 = HEAP16[$44>>1]|0; - $46 = (+($45<<16>>16)); - $47 = HEAP16[$17>>1]|0; - $48 = (+($47<<16>>16)); - $49 = (((($vertices) + (($i$12*10)|0)|0)) + 2|0); - $50 = HEAP16[$49>>1]|0; - $51 = (+($50<<16>>16)); - _stbtt__tesselate_curve($points$1,$num_points,$x$06,$y$07,$43,$46,$48,$51,$0,0); - $52 = HEAP16[$17>>1]|0; - $53 = (+($52<<16>>16)); - $54 = HEAP16[$49>>1]|0; - $55 = (+($54<<16>>16)); - $n$3 = $n$24;$start$2 = $start$15;$x$1 = $53;$y$1 = $55; - break; - } - default: { - $n$3 = $n$24;$start$2 = $start$15;$x$1 = $x$06;$y$1 = $y$07; - } - } - $56 = (($i$12) + 1)|0; - $exitcond = ($56|0)==($num_verts|0); - if ($exitcond) { - $n$2$lcssa = $n$3;$start$1$lcssa = $start$2; - break L19; - } else { - $i$12 = $56;$n$24 = $n$3;$start$15 = $start$2;$x$06 = $x$1;$y$07 = $y$1; - } - } - } else { - $n$2$lcssa = -1;$start$1$lcssa = $start$010; - } - } while(0); - $57 = HEAP32[$num_points>>2]|0; - $58 = (($57) - ($start$1$lcssa))|0; - $59 = HEAP32[$contour_lengths>>2]|0; - $60 = (($59) + ($n$2$lcssa<<2)|0); - HEAP32[$60>>2] = $58; - $61 = (($pass$011) + 1)|0; - $62 = ($61|0)<(2); - if ($62) { - $pass$011 = $61;$points$09 = $points$1;$start$010 = $start$1$lcssa; - } else { - $$0 = $points$1; - label = 20; - break; - } - } - if ((label|0) == 20) { - STACKTOP = sp;return ($$0|0); - } - _free($$lcssa); - $63 = HEAP32[$contour_lengths>>2]|0; - _free($63); - HEAP32[$contour_lengths>>2] = 0; - HEAP32[$num_contours>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbtt__rasterize($result,$pts,$wcount,$windings,$scale_x,$scale_y,$shift_x,$shift_y,$off_x,$off_y,$invert) { - $result = $result|0; - $pts = $pts|0; - $wcount = $wcount|0; - $windings = $windings|0; - $scale_x = +$scale_x; - $scale_y = +$scale_y; - $shift_x = +$shift_x; - $shift_y = +$shift_y; - $off_x = $off_x|0; - $off_y = $off_y|0; - $invert = $invert|0; - var $$lcssa = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $0 = 0, $1 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0; - var $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0; - var $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a$0 = 0, $b$0 = 0, $exitcond = 0, $exitcond20 = 0; - var $i$013 = 0, $i$18 = 0, $j$04 = 0, $j$04$phi = 0, $k$05 = 0, $m$07 = 0, $n$0$lcssa = 0, $n$014 = 0, $n$1$lcssa = 0, $n$19 = 0, $n$2$lcssa = 0, $n$26 = 0, $n$3 = 0, $phitmp = 0, $phitmp19 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($invert|0)!=(0); - $1 = -$scale_y; - $2 = $0 ? $1 : $scale_y; - $3 = ($windings|0)>(0); - if ($3) { - $i$013 = 0;$n$014 = 0; - while(1) { - $4 = (($wcount) + ($i$013<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + ($n$014))|0; - $7 = (($i$013) + 1)|0; - $exitcond20 = ($7|0)==($windings|0); - if ($exitcond20) { - $$lcssa = $6; - break; - } else { - $i$013 = $7;$n$014 = $6; - } - } - $phitmp = ($$lcssa*20)|0; - $phitmp19 = (($phitmp) + 20)|0; - $n$0$lcssa = $phitmp19; - } else { - $n$0$lcssa = 20; - } - $8 = (_malloc($n$0$lcssa)|0); - $9 = ($8|0)==(0|0); - if ($9) { - return; - } - $10 = ($windings|0)>(0); - if ($10) { - $i$18 = 0;$m$07 = 0;$n$19 = 0; - while(1) { - $11 = (($wcount) + ($i$18<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + ($m$07))|0; - $14 = ($12|0)>(0); - if ($14) { - $15 = (($12) + -1)|0; - $16 = HEAP32[$11>>2]|0; - $j$04 = $15;$k$05 = 0;$n$26 = $n$19; - while(1) { - $$sum = (($j$04) + ($m$07))|0; - $17 = (((($pts) + ($$sum<<3)|0)) + 4|0); - $18 = +HEAPF32[$17>>2]; - $$sum1 = (($k$05) + ($m$07))|0; - $19 = (((($pts) + ($$sum1<<3)|0)) + 4|0); - $20 = +HEAPF32[$19>>2]; - $21 = $18 == $20; - if ($21) { - $n$3 = $n$26; - } else { - $22 = (((($8) + (($n$26*20)|0)|0)) + 16|0); - HEAP32[$22>>2] = 0; - $23 = +HEAPF32[$17>>2]; - $24 = +HEAPF32[$19>>2]; - if ($0) { - $25 = $23 > $24; - if ($25) { - label = 12; - } else { - $a$0 = $k$05;$b$0 = $j$04; - } - } else { - $26 = $23 < $24; - if ($26) { - label = 12; - } else { - $a$0 = $k$05;$b$0 = $j$04; - } - } - if ((label|0) == 12) { - label = 0; - HEAP32[$22>>2] = 1; - $a$0 = $j$04;$b$0 = $k$05; - } - $$sum2 = (($a$0) + ($m$07))|0; - $27 = (($pts) + ($$sum2<<3)|0); - $28 = +HEAPF32[$27>>2]; - $29 = $28 * $scale_x; - $30 = $29 + $shift_x; - $31 = (($8) + (($n$26*20)|0)|0); - HEAPF32[$31>>2] = $30; - $32 = (((($pts) + ($$sum2<<3)|0)) + 4|0); - $33 = +HEAPF32[$32>>2]; - $34 = $2 * $33; - $35 = $34 + $shift_y; - $36 = (((($8) + (($n$26*20)|0)|0)) + 4|0); - HEAPF32[$36>>2] = $35; - $$sum3 = (($b$0) + ($m$07))|0; - $37 = (($pts) + ($$sum3<<3)|0); - $38 = +HEAPF32[$37>>2]; - $39 = $38 * $scale_x; - $40 = $39 + $shift_x; - $41 = (((($8) + (($n$26*20)|0)|0)) + 8|0); - HEAPF32[$41>>2] = $40; - $42 = (((($pts) + ($$sum3<<3)|0)) + 4|0); - $43 = +HEAPF32[$42>>2]; - $44 = $2 * $43; - $45 = $44 + $shift_y; - $46 = (((($8) + (($n$26*20)|0)|0)) + 12|0); - HEAPF32[$46>>2] = $45; - $47 = (($n$26) + 1)|0; - $n$3 = $47; - } - $48 = (($k$05) + 1)|0; - $49 = ($48|0)<($16|0); - if ($49) { - $j$04$phi = $k$05;$k$05 = $48;$n$26 = $n$3;$j$04 = $j$04$phi; - } else { - $n$2$lcssa = $n$3; - break; - } - } - } else { - $n$2$lcssa = $n$19; - } - $50 = (($i$18) + 1)|0; - $exitcond = ($50|0)==($windings|0); - if ($exitcond) { - $n$1$lcssa = $n$2$lcssa; - break; - } else { - $i$18 = $50;$m$07 = $13;$n$19 = $n$2$lcssa; - } - } - } else { - $n$1$lcssa = 0; - } - _stbtt__sort_edges($8,$n$1$lcssa); - _stbtt__rasterize_sorted_edges($result,$8,$n$1$lcssa,$off_x,$off_y); - _free($8); - return; -} -function _LoadRBMF($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $$lcssa = 0, $$lcssa9 = 0, $$op = 0, $$op$op = 0, $$op$op$op = 0, $0 = 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, $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, $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, $counter$014 = 0, $currentLine$010 = 0, $currentLine$1 = 0, $currentPosX$011 = 0, $currentPosX$1 = 0, $exitcond = 0, $exitcond29 = 0, $exitcond30 = 0, $i$025 = 0, $i1$021 = 0, $i2$018 = 0, $i3$015 = 0, $i4$012 = 0, $image = 0, $image$byval_copy14 = 0, $j$013 = 0, $rbmfCharWidthData$0 = 0, $rbmfFileData$0 = 0, $rbmfHeader = 0; - var $spriteFont$sroa$0$0 = 0, $spriteFont$sroa$16$0 = 0, $spriteFont$sroa$18$0 = 0, $spriteFont$sroa$27$0 = 0, $spriteFont$sroa$29$0 = 0, $spriteFont$sroa$6$0 = 0, $spriteFont$sroa$7 = 0, $spriteFont$sroa$77$0 = 0, $spriteFont$sroa$8$0 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $image$byval_copy14 = sp + 56|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer1 = sp + 24|0; - $vararg_buffer = sp + 16|0; - $spriteFont$sroa$7 = sp; - $rbmfHeader = sp + 160|0; - $0 = sp + 116|0; - $image = sp + 96|0; - $1 = sp + 76|0; - ;HEAP32[$spriteFont$sroa$7>>2]=0|0;HEAP32[$spriteFont$sroa$7+4>>2]=0|0;HEAP32[$spriteFont$sroa$7+8>>2]=0|0; - $2 = (_fopen($fileName,19026)|0); - $3 = ($2|0)==(0|0); - if ($3) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,19029,$vararg_buffer); - _GetDefaultFont($0); - $4 = HEAP32[$0>>2]|0; - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($0)) + 8|0); - ;HEAP32[$spriteFont$sroa$7>>2]=HEAP32[$7>>2]|0;HEAP32[$spriteFont$sroa$7+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$spriteFont$sroa$7+8>>2]=HEAP32[$7+8>>2]|0; - $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 = ((($0)) + 40|0); - $19 = HEAP32[$18>>2]|0; - $rbmfCharWidthData$0 = 0;$rbmfFileData$0 = 0;$spriteFont$sroa$0$0 = $4;$spriteFont$sroa$16$0 = $13;$spriteFont$sroa$18$0 = $15;$spriteFont$sroa$27$0 = $17;$spriteFont$sroa$29$0 = $19;$spriteFont$sroa$6$0 = $6;$spriteFont$sroa$77$0 = $9;$spriteFont$sroa$8$0 = $11; - (_fclose($2)|0); - _free($rbmfFileData$0); - _free($rbmfCharWidthData$0); - HEAP32[$agg$result>>2] = $spriteFont$sroa$0$0; - $148 = ((($agg$result)) + 4|0); - HEAP32[$148>>2] = $spriteFont$sroa$6$0; - $149 = ((($agg$result)) + 8|0); - ;HEAP32[$149>>2]=HEAP32[$spriteFont$sroa$7>>2]|0;HEAP32[$149+4>>2]=HEAP32[$spriteFont$sroa$7+4>>2]|0;HEAP32[$149+8>>2]=HEAP32[$spriteFont$sroa$7+8>>2]|0; - $150 = ((($agg$result)) + 20|0); - HEAP32[$150>>2] = $spriteFont$sroa$77$0; - $151 = ((($agg$result)) + 24|0); - HEAP32[$151>>2] = $spriteFont$sroa$8$0; - $152 = ((($agg$result)) + 28|0); - HEAP32[$152>>2] = $spriteFont$sroa$16$0; - $153 = ((($agg$result)) + 32|0); - HEAP32[$153>>2] = $spriteFont$sroa$18$0; - $154 = ((($agg$result)) + 36|0); - HEAP32[$154>>2] = $spriteFont$sroa$27$0; - $155 = ((($agg$result)) + 40|0); - HEAP32[$155>>2] = $spriteFont$sroa$29$0; + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,17970,$vararg_buffer); + $8 = ((($5)) + 16|0); + HEAP32[$8>>2] = 0; + ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0; STACKTOP = sp;return; } - (_fread($rbmfHeader,16,1,$2)|0); - $20 = ((($rbmfHeader)) + 6|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ((($rbmfHeader)) + 8|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24 << 16 >> 16; - $26 = ((($rbmfHeader)) + 10|0); - $27 = HEAP16[$26>>1]|0; - $28 = $27 << 16 >> 16; - $29 = ((($rbmfHeader)) + 12|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30 << 16 >> 16; - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $22; - $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $25; - $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); - HEAP32[$vararg_ptr6>>2] = $28; - $vararg_ptr7 = ((($vararg_buffer1)) + 16|0); - HEAP32[$vararg_ptr7>>2] = $31; - _TraceLog(3,19089,$vararg_buffer1); - $32 = HEAP16[$26>>1]|0; - $33 = $32 << 16 >> 16; - $34 = HEAP16[$20>>1]|0; - $35 = $34 << 16 >> 16; - $36 = HEAP16[$23>>1]|0; - $37 = $36 << 16 >> 16; - $38 = Math_imul($37, $35)|0; - $39 = (($38|0) / 32)&-1; - $40 = $39 << 2; - $41 = (_malloc($40)|0); - $42 = ($38|0)>(31); - if ($42) { - $i$025 = 0; - while(1) { - $43 = (($41) + ($i$025<<2)|0); - (_fread($43,4,1,$2)|0); - $44 = (($i$025) + 1)|0; - $45 = ($44|0)<($39|0); - if ($45) { - $i$025 = $44; - } else { - break; - } - } - } - $46 = (_malloc($33)|0); - $47 = ($32<<16>>16)>(0); - if ($47) { - $48 = $32 << 16 >> 16; - $i1$021 = 0; - while(1) { - $49 = (($46) + ($i1$021)|0); - (_fread($49,1,1,$2)|0); - $50 = (($i1$021) + 1)|0; - $exitcond30 = ($50|0)==($48|0); - if ($exitcond30) { - break; - } else { - $i1$021 = $50; - } - } - } - $51 = HEAP16[$20>>1]|0; - $52 = $51 << 16 >> 16; - $53 = HEAP16[$23>>1]|0; - $54 = $53 << 16 >> 16; - $55 = $52 << 2; - $56 = Math_imul($55, $54)|0; - $57 = (_malloc($56)|0); - $58 = HEAP16[$20>>1]|0; - $59 = $58 << 16 >> 16; - $60 = HEAP16[$23>>1]|0; - $61 = $60 << 16 >> 16; - $62 = Math_imul($61, $59)|0; - $63 = ($62|0)>(0); - if ($63) { - $64 = HEAP16[$20>>1]|0; - $65 = $64 << 16 >> 16; - $66 = HEAP16[$23>>1]|0; - $67 = $66 << 16 >> 16; - $68 = Math_imul($67, $65)|0; - $i2$018 = 0; - while(1) { - $82 = (($57) + ($i2$018<<2)|0); - $83 = (($i2$018) + 1)|0; - $84 = ($83|0)<($68|0); - HEAP8[$82>>0]=0&255;HEAP8[$82+1>>0]=(0>>8)&255;HEAP8[$82+2>>0]=(0>>16)&255;HEAP8[$82+3>>0]=0>>24; - if ($84) { - $i2$018 = $83; - } else { - break; - } - } - } - $69 = HEAP16[$20>>1]|0; - $70 = $69 << 16 >> 16; - $71 = HEAP16[$23>>1]|0; - $72 = $71 << 16 >> 16; - $73 = Math_imul($72, $70)|0; - $74 = ($73|0)>(0); - if ($74) { - $75 = HEAP16[$20>>1]|0; - $76 = HEAP16[$23>>1]|0; - $77 = $76 << 16 >> 16; - $78 = $75 << 16 >> 16; - $79 = Math_imul($77, $78)|0; - $80 = ($79|0)>(32); - $$op = (($79) + -1)|0; - $$op$op = $$op >>> 5; - $$op$op$op = (($$op$op) + 1)|0; - $81 = $80 ? $$op$op$op : 1; - $counter$014 = 0;$i3$015 = 0; - while(1) { - $85 = (($41) + ($counter$014<<2)|0); - $86 = HEAP32[$85>>2]|0; - $j$013 = 31; - while(1) { - $87 = 1 << $j$013; - $88 = $86 & $87; - $89 = ($88|0)==(0); - if (!($89)) { - $90 = (($j$013) + ($i3$015))|0; - $91 = (($57) + ($90<<2)|0); - HEAP8[$91>>0]=-1&255;HEAP8[$91+1>>0]=(-1>>8)&255;HEAP8[$91+2>>0]=(-1>>16)&255;HEAP8[$91+3>>0]=-1>>24; - } - $92 = (($j$013) + -1)|0; - $93 = ($j$013|0)>(0); - if ($93) { - $j$013 = $92; - } else { - break; - } - } - $94 = (($counter$014) + 1)|0; - $95 = (($i3$015) + 32)|0; - $exitcond29 = ($94|0)==($81|0); - if ($exitcond29) { - break; - } else { - $counter$014 = $94;$i3$015 = $95; - } - } - $96 = $75 << 16 >> 16; - $97 = $76 << 16 >> 16; - $$lcssa = $96;$$lcssa9 = $97; - } else { - $$lcssa = $70;$$lcssa9 = $72; - } - _LoadImageEx($image,$57,$$lcssa,$$lcssa9); - _ImageFormat($image,2); - _free($57); - HEAP32[$image$byval_copy14>>2] = $fileName; - _TraceLog(3,19155,$image$byval_copy14); - ;HEAP32[$image$byval_copy14>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy14+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy14+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy14+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy14+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($1,$image$byval_copy14); - $98 = HEAP32[$1>>2]|0; - $99 = ((($1)) + 4|0); - $100 = HEAP32[$99>>2]|0; - $101 = ((($1)) + 8|0); - ;HEAP32[$spriteFont$sroa$7>>2]=HEAP32[$101>>2]|0;HEAP32[$spriteFont$sroa$7+4>>2]=HEAP32[$101+4>>2]|0;HEAP32[$spriteFont$sroa$7+8>>2]=HEAP32[$101+8>>2]|0; - ;HEAP32[$image$byval_copy14>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy14+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy14+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy14+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy14+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy14); - $102 = $33 << 2; - $103 = (_malloc($102)|0); - $104 = $33 << 4; - $105 = (_malloc($104)|0); - $106 = $33 << 3; - $107 = (_malloc($106)|0); - $108 = (_malloc($102)|0); - $109 = ($32<<16>>16)>(0); - if ($109) { - $110 = ((($rbmfHeader)) + 5|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111 << 24 >> 24; - $113 = HEAP16[$29>>1]|0; - $114 = $113 << 16 >> 16; - $115 = (($114) + 1)|0; - $116 = $113 << 16 >> 16; - $117 = $113 << 16 >> 16; - $118 = (($117) + 1)|0; - $119 = $32 << 16 >> 16; - $120 = $32 << 16 >> 16; - $121 = $120 << 2; - _memset(($108|0),0,($121|0))|0; - $currentLine$010 = 0;$currentPosX$011 = 1;$i4$012 = 0; - while(1) { - $122 = (($112) + ($i4$012))|0; - $123 = (($103) + ($i4$012<<2)|0); - HEAP32[$123>>2] = $122; - $124 = (($105) + ($i4$012<<4)|0); - HEAP32[$124>>2] = $currentPosX$011; - $125 = Math_imul($115, $currentLine$010)|0; - $126 = (($125) + 1)|0; - $127 = (((($105) + ($i4$012<<4)|0)) + 4|0); - HEAP32[$127>>2] = $126; - $128 = (($46) + ($i4$012)|0); - $129 = HEAP8[$128>>0]|0; - $130 = $129&255; - $131 = (((($105) + ($i4$012<<4)|0)) + 8|0); - HEAP32[$131>>2] = $130; - $132 = (((($105) + ($i4$012<<4)|0)) + 12|0); - HEAP32[$132>>2] = $116; - $133 = (($107) + ($i4$012<<3)|0); - HEAPF32[$133>>2] = 0.0; - $134 = (((($107) + ($i4$012<<3)|0)) + 4|0); - HEAPF32[$134>>2] = 0.0; - $135 = HEAP32[$131>>2]|0; - $136 = (($currentPosX$011) + 1)|0; - $137 = (($136) + ($135))|0; - $138 = ($137|0)>($100|0); - if ($138) { - $139 = (($currentLine$010) + 1)|0; - $140 = HEAP8[$128>>0]|0; - $141 = $140&255; - $142 = (($141) + 2)|0; - HEAP32[$124>>2] = 1; - $143 = Math_imul($118, $139)|0; - $144 = (($143) + 1)|0; - HEAP32[$127>>2] = $144; - $currentLine$1 = $139;$currentPosX$1 = $142; - } else { - $currentLine$1 = $currentLine$010;$currentPosX$1 = $137; - } - $145 = (($i4$012) + 1)|0; - $exitcond = ($145|0)==($119|0); - if ($exitcond) { - break; - } else { - $currentLine$010 = $currentLine$1;$currentPosX$011 = $currentPosX$1;$i4$012 = $145; - } - } - } - $146 = ((($105)) + 12|0); - $147 = HEAP32[$146>>2]|0; - HEAP32[$vararg_buffer11>>2] = $fileName; - _TraceLog(0,19220,$vararg_buffer11); - $rbmfCharWidthData$0 = $46;$rbmfFileData$0 = $41;$spriteFont$sroa$0$0 = $98;$spriteFont$sroa$16$0 = $103;$spriteFont$sroa$18$0 = $105;$spriteFont$sroa$27$0 = $107;$spriteFont$sroa$29$0 = $108;$spriteFont$sroa$6$0 = $100;$spriteFont$sroa$77$0 = $147;$spriteFont$sroa$8$0 = $33; - (_fclose($2)|0); - _free($rbmfFileData$0); - _free($rbmfCharWidthData$0); - HEAP32[$agg$result>>2] = $spriteFont$sroa$0$0; - $148 = ((($agg$result)) + 4|0); - HEAP32[$148>>2] = $spriteFont$sroa$6$0; - $149 = ((($agg$result)) + 8|0); - ;HEAP32[$149>>2]=HEAP32[$spriteFont$sroa$7>>2]|0;HEAP32[$149+4>>2]=HEAP32[$spriteFont$sroa$7+4>>2]|0;HEAP32[$149+8>>2]=HEAP32[$spriteFont$sroa$7+8>>2]|0; - $150 = ((($agg$result)) + 20|0); - HEAP32[$150>>2] = $spriteFont$sroa$77$0; - $151 = ((($agg$result)) + 24|0); - HEAP32[$151>>2] = $spriteFont$sroa$8$0; - $152 = ((($agg$result)) + 28|0); - HEAP32[$152>>2] = $spriteFont$sroa$16$0; - $153 = ((($agg$result)) + 32|0); - HEAP32[$153>>2] = $spriteFont$sroa$18$0; - $154 = ((($agg$result)) + 36|0); - HEAP32[$154>>2] = $spriteFont$sroa$27$0; - $155 = ((($agg$result)) + 40|0); - HEAP32[$155>>2] = $spriteFont$sroa$29$0; - STACKTOP = sp;return; -} -function _LoadTTF($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|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, $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.0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $7 = 0, $8 = 0, $9 = 0, $charData = 0, $exitcond = 0, $exitcond4 = 0, $font$sroa$0 = 0, $i$03 = 0, $i1$01 = 0, $image = 0, $image$byval_copy1 = 0, $k$02 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2000|0; - $image$byval_copy1 = sp + 1968|0; - $vararg_buffer = sp + 24|0; - $charData = sp + 68|0; - $font$sroa$0 = sp; - $image = sp + 48|0; - $0 = sp + 28|0; - $1 = (_malloc(33554432)|0); - $2 = (_malloc(262144)|0); - ;HEAP32[$font$sroa$0>>2]=0|0;HEAP32[$font$sroa$0+4>>2]=0|0;HEAP32[$font$sroa$0+8>>2]=0|0;HEAP32[$font$sroa$0+12>>2]=0|0;HEAP32[$font$sroa$0+16>>2]=0|0; - $3 = (_fopen($fileName,19026)|0); - $4 = ($3|0)==(0|0); - if ($4) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,18653,$vararg_buffer); - ;HEAP32[$agg$result>>2]=HEAP32[$font$sroa$0>>2]|0;HEAP32[$agg$result+4>>2]=HEAP32[$font$sroa$0+4>>2]|0;HEAP32[$agg$result+8>>2]=HEAP32[$font$sroa$0+8>>2]|0;HEAP32[$agg$result+12>>2]=HEAP32[$font$sroa$0+12>>2]|0;HEAP32[$agg$result+16>>2]=HEAP32[$font$sroa$0+16>>2]|0; - $5 = ((($agg$result)) + 20|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; - STACKTOP = sp;return; - } - (_fread($1,1,33554432,$3)|0); - (_stbtt_BakeFontBitmap($1,0,32.0,$2,512,512,32,95,$charData)|0); - _free($1); - $6 = (_malloc(524288)|0); - $i$03 = 0;$k$02 = 0; - while(1) { - $7 = (($6) + ($k$02)|0); - HEAP8[$7>>0] = -1; - $8 = (($2) + ($i$03)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $k$02 | 1; - $11 = (($6) + ($10)|0); - HEAP8[$11>>0] = $9; - $12 = (($k$02) + 2)|0; - $13 = (($i$03) + 1)|0; - $exitcond4 = ($13|0)==(262144); - if ($exitcond4) { - break; - } else { - $i$03 = $13;$k$02 = $12; - } - } - _free($2); - $14 = ((($image)) + 4|0); - HEAP32[$14>>2] = 512; - $15 = ((($image)) + 8|0); - HEAP32[$15>>2] = 512; - $16 = ((($image)) + 12|0); - HEAP32[$16>>2] = 1; - $17 = ((($image)) + 16|0); - HEAP32[$17>>2] = 2; - HEAP32[$image>>2] = $6; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _LoadTextureFromImage($0,$image$byval_copy1); - ;HEAP32[$font$sroa$0>>2]=HEAP32[$0>>2]|0;HEAP32[$font$sroa$0+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$font$sroa$0+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$font$sroa$0+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$font$sroa$0+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$image$byval_copy1>>2]=HEAP32[$image>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[$image+16>>2]|0; - _UnloadImage($image$byval_copy1); - $18 = (_malloc(380)|0); - $19 = (_malloc(1520)|0); - $20 = (_malloc(760)|0); - $21 = (_malloc(380)|0); - $i1$01 = 0; - while(1) { - $22 = (($i1$01) + 32)|0; - $23 = (($18) + ($i1$01<<2)|0); - HEAP32[$23>>2] = $22; - $24 = (($charData) + (($i1$01*20)|0)|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = (($19) + ($i1$01<<4)|0); - HEAP32[$27>>2] = $26; - $28 = (((($charData) + (($i1$01*20)|0)|0)) + 2|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - $31 = (((($19) + ($i1$01<<4)|0)) + 4|0); - HEAP32[$31>>2] = $30; - $32 = (((($charData) + (($i1$01*20)|0)|0)) + 4|0); - $33 = HEAP16[$32>>1]|0; - $34 = $33&65535; - $35 = HEAP16[$24>>1]|0; - $36 = $35&65535; - $37 = (($34) - ($36))|0; - $38 = (((($19) + ($i1$01<<4)|0)) + 8|0); - HEAP32[$38>>2] = $37; - $39 = (((($charData) + (($i1$01*20)|0)|0)) + 6|0); - $40 = HEAP16[$39>>1]|0; - $41 = $40&65535; - $42 = HEAP16[$28>>1]|0; - $43 = $42&65535; - $44 = (($41) - ($43))|0; - $45 = (((($19) + ($i1$01<<4)|0)) + 12|0); - HEAP32[$45>>2] = $44; - $46 = (($20) + ($i1$01<<3)|0); - $47 = (((($charData) + (($i1$01*20)|0)|0)) + 8|0); - $48 = HEAP32[$47>>2]|0; - $49 = (((($charData) + (($i1$01*20)|0)|0)) + 12|0); - $50 = HEAP32[$49>>2]|0; - HEAP32[$46>>2] = $48; - $51 = (((($20) + ($i1$01<<3)|0)) + 4|0); - HEAP32[$51>>2] = $50; - $52 = (((($charData) + (($i1$01*20)|0)|0)) + 16|0); - $53 = +HEAPF32[$52>>2]; - $54 = (~~(($53))); - $55 = (($21) + ($i1$01<<2)|0); - HEAP32[$55>>2] = $54; - $56 = (($i1$01) + 1)|0; - $exitcond = ($56|0)==(95); - if ($exitcond) { - break; - } else { - $i1$01 = $56; - } - } - ;HEAP32[$agg$result>>2]=HEAP32[$font$sroa$0>>2]|0;HEAP32[$agg$result+4>>2]=HEAP32[$font$sroa$0+4>>2]|0;HEAP32[$agg$result+8>>2]=HEAP32[$font$sroa$0+8>>2]|0;HEAP32[$agg$result+12>>2]=HEAP32[$font$sroa$0+12>>2]|0;HEAP32[$agg$result+16>>2]=HEAP32[$font$sroa$0+16>>2]|0; - $57 = ((($agg$result)) + 20|0); - HEAP32[$57>>2] = 32; - $58 = ((($agg$result)) + 24|0); - HEAP32[$58>>2] = 95; - $59 = ((($agg$result)) + 28|0); - HEAP32[$59>>2] = $18; - $60 = ((($agg$result)) + 32|0); - HEAP32[$60>>2] = $19; - $61 = ((($agg$result)) + 36|0); - HEAP32[$61>>2] = $20; - $62 = ((($agg$result)) + 40|0); - HEAP32[$62>>2] = $21; - STACKTOP = sp;return; -} -function _LoadBMFont($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|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, $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.0, $52 = 0, $53 = 0.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, $7 = 0, $8 = 0, $9 = 0, $base = 0, $buffer = 0, $charAdvanceX = 0, $charHeight = 0, $charId = 0, $charOffsetX = 0, $charOffsetY = 0, $charWidth = 0, $charX = 0, $charY = 0, $endptr = 0, $font$sroa$7 = 0; - var $fontSize = 0, $i$04 = 0, $numChars = 0, $strlen = 0, $texFileName = 0, $texHeight = 0, $texWidth = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer30 = 0, $vararg_buffer34 = 0, $vararg_buffer44 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0; - var $vararg_ptr15 = 0, $vararg_ptr22 = 0, $vararg_ptr29 = 0, $vararg_ptr33 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr4 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 608|0; - $vararg_buffer44 = sp + 136|0; - $vararg_buffer34 = sp + 104|0; - $vararg_buffer30 = sp + 96|0; - $vararg_buffer26 = sp + 88|0; - $vararg_buffer23 = sp + 80|0; - $vararg_buffer19 = sp + 72|0; - $vararg_buffer16 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer7 = sp + 40|0; - $vararg_buffer1 = sp + 24|0; - $vararg_buffer = sp + 16|0; - $font$sroa$7 = sp; - $buffer = sp + 344|0; - $fontSize = sp + 208|0; - $texWidth = sp + 204|0; - $texHeight = sp + 200|0; - $texFileName = sp + 216|0; - $numChars = sp + 196|0; - $base = sp + 192|0; - $0 = sp + 172|0; - $charId = sp + 168|0; - $charX = sp + 164|0; - $charY = sp + 160|0; - $charWidth = sp + 156|0; - $charHeight = sp + 152|0; - $charOffsetX = sp + 148|0; - $charOffsetY = sp + 144|0; - $charAdvanceX = sp + 140|0; - ;HEAP32[$font$sroa$7>>2]=0|0;HEAP32[$font$sroa$7+4>>2]=0|0;HEAP32[$font$sroa$7+8>>2]=0|0;HEAP32[$font$sroa$7+12>>2]=0|0; - HEAP32[$fontSize>>2] = 0; - HEAP32[$numChars>>2] = 0; - $1 = (_fopen($fileName,23726)|0); - $2 = ($1|0)==(0|0); - if ($2) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,18653,$vararg_buffer); - HEAP32[$agg$result>>2] = 0; - $3 = ((($agg$result)) + 4|0); - ;HEAP32[$3>>2]=HEAP32[$font$sroa$7>>2]|0;HEAP32[$3+4>>2]=HEAP32[$font$sroa$7+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$font$sroa$7+8>>2]|0;HEAP32[$3+12>>2]=HEAP32[$font$sroa$7+12>>2]|0; - $4 = ((($agg$result)) + 20|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; - STACKTOP = sp;return; - } - (_fgets($buffer,256,$1)|0); - (_fgets($buffer,256,$1)|0); - $5 = (_strstr($buffer,18687)|0); - HEAP32[$vararg_buffer1>>2] = $fontSize; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $base; - $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $texWidth; - $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); - HEAP32[$vararg_ptr6>>2] = $texHeight; - (_sscanf($5,18698,$vararg_buffer1)|0); - $6 = HEAP32[$fontSize>>2]|0; - HEAP32[$vararg_buffer7>>2] = $fileName; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $6; - _TraceLog(3,18740,$vararg_buffer7); - $7 = HEAP32[$texWidth>>2]|0; - $8 = HEAP32[$texHeight>>2]|0; - HEAP32[$vararg_buffer11>>2] = $fileName; - $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $7; - $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr15>>2] = $8; - _TraceLog(3,18759,$vararg_buffer11); - (_fgets($buffer,256,$1)|0); - $9 = (_strstr($buffer,18790)|0); - HEAP32[$vararg_buffer16>>2] = $texFileName; - (_sscanf($9,18795,$vararg_buffer16)|0); - HEAP32[$vararg_buffer19>>2] = $fileName; - $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); - HEAP32[$vararg_ptr22>>2] = $texFileName; - _TraceLog(3,18811,$vararg_buffer19); - (_fgets($buffer,256,$1)|0); - $10 = (_strstr($buffer,18842)|0); - HEAP32[$vararg_buffer23>>2] = $numChars; - (_sscanf($10,18848,$vararg_buffer23)|0); - $11 = HEAP32[$numChars>>2]|0; - HEAP32[$vararg_buffer26>>2] = $fileName; - $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); - HEAP32[$vararg_ptr29>>2] = $11; - _TraceLog(3,18857,$vararg_buffer26); - $12 = (_strrchr($fileName,47)|0); - $13 = (_strlen($fileName)|0); - $14 = (_strlen($12)|0); - $15 = (_strlen($texFileName)|0); - $16 = (($13) + 2)|0; - $17 = (($16) - ($14))|0; - $18 = (($17) + ($15))|0; - $19 = (_malloc($18)|0); - $20 = (_strlen($fileName)|0); - $21 = (_strlen($12)|0); - $22 = (($20) - ($21))|0; - _memcpy(($19|0),($fileName|0),($22|0))|0; - $strlen = (_strlen($19)|0); - $endptr = (($19) + ($strlen)|0); - HEAP8[$endptr>>0]=47&255;HEAP8[$endptr+1>>0]=47>>8; - (_strcat($19,$texFileName)|0); - HEAP32[$vararg_buffer30>>2] = $fileName; - $vararg_ptr33 = ((($vararg_buffer30)) + 4|0); - HEAP32[$vararg_ptr33>>2] = $19; - _TraceLog(3,18881,$vararg_buffer30); - _LoadTexture($0,$19); - $23 = HEAP32[$0>>2]|0; - $24 = ((($0)) + 4|0); - ;HEAP32[$font$sroa$7>>2]=HEAP32[$24>>2]|0;HEAP32[$font$sroa$7+4>>2]=HEAP32[$24+4>>2]|0;HEAP32[$font$sroa$7+8>>2]=HEAP32[$24+8>>2]|0;HEAP32[$font$sroa$7+12>>2]=HEAP32[$24+12>>2]|0; - $25 = HEAP32[$fontSize>>2]|0; - $26 = HEAP32[$numChars>>2]|0; - $27 = $26 << 2; - $28 = (_malloc($27)|0); - $29 = HEAP32[$numChars>>2]|0; - $30 = $29 << 4; - $31 = (_malloc($30)|0); - $32 = HEAP32[$numChars>>2]|0; - $33 = $32 << 3; - $34 = (_malloc($33)|0); - $35 = HEAP32[$numChars>>2]|0; - $36 = $35 << 2; - $37 = (_malloc($36)|0); - _free($19); - $38 = HEAP32[$numChars>>2]|0; - $39 = ($38|0)>(0); - if ($39) { - $i$04 = 0; - while(1) { - (_fgets($buffer,256,$1)|0); - HEAP32[$vararg_buffer34>>2] = $charId; - $vararg_ptr37 = ((($vararg_buffer34)) + 4|0); - HEAP32[$vararg_ptr37>>2] = $charX; - $vararg_ptr38 = ((($vararg_buffer34)) + 8|0); - HEAP32[$vararg_ptr38>>2] = $charY; - $vararg_ptr39 = ((($vararg_buffer34)) + 12|0); - HEAP32[$vararg_ptr39>>2] = $charWidth; - $vararg_ptr40 = ((($vararg_buffer34)) + 16|0); - HEAP32[$vararg_ptr40>>2] = $charHeight; - $vararg_ptr41 = ((($vararg_buffer34)) + 20|0); - HEAP32[$vararg_ptr41>>2] = $charOffsetX; - $vararg_ptr42 = ((($vararg_buffer34)) + 24|0); - HEAP32[$vararg_ptr42>>2] = $charOffsetY; - $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); - HEAP32[$vararg_ptr43>>2] = $charAdvanceX; - (_sscanf($buffer,18916,$vararg_buffer34)|0); - $40 = HEAP32[$charId>>2]|0; - $41 = (($28) + ($i$04<<2)|0); - HEAP32[$41>>2] = $40; - $42 = HEAP32[$charX>>2]|0; - $43 = HEAP32[$charY>>2]|0; - $44 = HEAP32[$charWidth>>2]|0; - $45 = HEAP32[$charHeight>>2]|0; - $46 = (($31) + ($i$04<<4)|0); - HEAP32[$46>>2] = $42; - $47 = (((($31) + ($i$04<<4)|0)) + 4|0); - HEAP32[$47>>2] = $43; - $48 = (((($31) + ($i$04<<4)|0)) + 8|0); - HEAP32[$48>>2] = $44; - $49 = (((($31) + ($i$04<<4)|0)) + 12|0); - HEAP32[$49>>2] = $45; - $50 = HEAP32[$charOffsetX>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$charOffsetY>>2]|0; - $53 = (+($52|0)); - $54 = (($34) + ($i$04<<3)|0); - HEAPF32[$54>>2] = $51; - $55 = (((($34) + ($i$04<<3)|0)) + 4|0); - HEAPF32[$55>>2] = $53; - $56 = HEAP32[$charAdvanceX>>2]|0; - $57 = (($37) + ($i$04<<2)|0); - HEAP32[$57>>2] = $56; - $58 = (($i$04) + 1)|0; - $59 = HEAP32[$numChars>>2]|0; - $60 = ($58|0)<($59|0); - if ($60) { - $i$04 = $58; - } else { - break; - } - } - } - (_fclose($1)|0); - HEAP32[$vararg_buffer44>>2] = $fileName; - _TraceLog(0,18990,$vararg_buffer44); - HEAP32[$agg$result>>2] = $23; - $61 = ((($agg$result)) + 4|0); - ;HEAP32[$61>>2]=HEAP32[$font$sroa$7>>2]|0;HEAP32[$61+4>>2]=HEAP32[$font$sroa$7+4>>2]|0;HEAP32[$61+8>>2]=HEAP32[$font$sroa$7+8>>2]|0;HEAP32[$61+12>>2]=HEAP32[$font$sroa$7+12>>2]|0; - $62 = ((($agg$result)) + 20|0); - HEAP32[$62>>2] = $25; - $63 = ((($agg$result)) + 24|0); - HEAP32[$63>>2] = $26; - $64 = ((($agg$result)) + 28|0); - HEAP32[$64>>2] = $28; - $65 = ((($agg$result)) + 32|0); - HEAP32[$65>>2] = $31; - $66 = ((($agg$result)) + 36|0); - HEAP32[$66>>2] = $34; - $67 = ((($agg$result)) + 40|0); - HEAP32[$67>>2] = $37; - STACKTOP = sp;return; -} -function _ParseImageData($image,$charValues,$charRecs) { - $image = $image|0; - $charValues = $charValues|0; - $charRecs = $charRecs|0; - var $$byval_copy4 = 0, $$lcssa = 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; - 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, $8 = 0, $9 = 0, $charWidth$0 = 0, $charWidth$0$lcssa = 0; - var $exitcond = 0, $i$06 = 0, $index$0$lcssa = 0, $index$012 = 0, $index$1$lcssa = 0, $index$17 = 0, $j$0 = 0, $j$0$lcssa = 0, $lineToRead$013 = 0, $tempCharRecs = 0, $tempCharValues = 0, $x$1$lcssa = 0, $x$116 = 0, $x$2 = 0, $xPosToRead$18 = 0, $y$0$lcssa = 0, $y$024 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2592|0; - $$byval_copy4 = sp + 2560|0; - $tempCharValues = sp + 2048|0; - $tempCharRecs = sp; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$image>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$image+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$image+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$image+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$image+16>>2]|0; - $0 = (_GetImageData($$byval_copy4)|0); - $1 = ((($image)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - L1: do { - if ($3) { - $4 = ((($image)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - $7 = HEAP32[$1>>2]|0; - $y$024 = 0; - while(1) { - L5: do { - if ($6) { - $8 = Math_imul($5, $y$024)|0; - $x$116 = 0; - while(1) { - $9 = (($8) + ($x$116))|0; - $10 = (($0) + ($9<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$10+3>>0]|0; - $11 = (_PixelIsMagenta($$byval_copy4)|0); - $12 = ($11|0)==(0); - if ($12) { - $x$1$lcssa = $x$116; - break L5; - } - $13 = (($x$116) + 1)|0; - $14 = ($13|0)<($5|0); - if ($14) { - $x$116 = $13; - } else { - $x$1$lcssa = $13; - break; - } - } - } else { - $x$1$lcssa = 0; - } - } while(0); - $15 = Math_imul($5, $y$024)|0; - $16 = (($15) + ($x$1$lcssa))|0; - $17 = (($0) + ($16<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$17+3>>0]|0; - $18 = (_PixelIsMagenta($$byval_copy4)|0); - $19 = ($18|0)==(0); - if ($19) { - $x$2 = $x$1$lcssa;$y$0$lcssa = $y$024; - break L1; - } - $20 = (($y$024) + 1)|0; - $21 = ($20|0)<($7|0); - if ($21) { - $y$024 = $20; - } else { - $x$2 = $x$1$lcssa;$y$0$lcssa = $20; - break; - } - } - } else { - $x$2 = 0;$y$0$lcssa = 0; - } - } while(0); - $22 = ((($image)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $j$0 = 0; - while(1) { - $24 = (($j$0) + ($y$0$lcssa))|0; - $25 = Math_imul($24, $23)|0; - $26 = (($25) + ($x$2))|0; - $27 = (($0) + ($26<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$27>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$27+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$27+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$27+3>>0]|0; - $28 = (_PixelIsMagenta($$byval_copy4)|0); - $29 = ($28|0)==(0); - $30 = (($j$0) + 1)|0; - if ($29) { - $j$0 = $30; - } else { - $$lcssa = $24;$j$0$lcssa = $j$0; - break; - } - } - $31 = HEAP32[$1>>2]|0; - $32 = ($y$0$lcssa|0)<($31|0); - if ($32) { - $33 = HEAP32[$22>>2]|0; - $34 = ($x$2|0)<($33|0); - $35 = HEAP32[$1>>2]|0; - $37 = $y$0$lcssa;$index$012 = 0;$lineToRead$013 = 0; - while(1) { - L20: do { - if ($34) { - $36 = Math_imul($33, $37)|0; - $38 = Math_imul($33, $37)|0; - $index$17 = $index$012;$xPosToRead$18 = $x$2; - while(1) { - $39 = (($38) + ($xPosToRead$18))|0; - $40 = (($0) + ($39<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$40>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$40+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$40+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$40+3>>0]|0; - $41 = (_PixelIsMagenta($$byval_copy4)|0); - $42 = ($41|0)==(0); - if (!($42)) { - $index$1$lcssa = $index$17; - break L20; - } - $43 = (($index$17) + 32)|0; - $44 = (($tempCharValues) + ($index$17<<2)|0); - HEAP32[$44>>2] = $43; - $45 = (($tempCharRecs) + ($index$17<<4)|0); - HEAP32[$45>>2] = $xPosToRead$18; - $46 = (((($tempCharRecs) + ($index$17<<4)|0)) + 4|0); - HEAP32[$46>>2] = $37; - $47 = (((($tempCharRecs) + ($index$17<<4)|0)) + 12|0); - HEAP32[$47>>2] = $j$0$lcssa; - $charWidth$0 = 0; - while(1) { - $48 = (($charWidth$0) + ($xPosToRead$18))|0; - $49 = (($48) + ($36))|0; - $50 = (($0) + ($49<<2)|0); - ;HEAP8[$$byval_copy4>>0]=HEAP8[$50>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$50+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$50+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$50+3>>0]|0; - $51 = (_PixelIsMagenta($$byval_copy4)|0); - $52 = ($51|0)==(0); - $53 = (($charWidth$0) + 1)|0; - if ($52) { - $charWidth$0 = $53; - } else { - $charWidth$0$lcssa = $charWidth$0; - break; - } - } - $54 = (((($tempCharRecs) + ($index$17<<4)|0)) + 8|0); - HEAP32[$54>>2] = $charWidth$0$lcssa; - $55 = (($index$17) + 1)|0; - $56 = (($xPosToRead$18) + ($x$2))|0; - $57 = (($56) + ($charWidth$0$lcssa))|0; - $58 = ($57|0)<($33|0); - if ($58) { - $index$17 = $55;$xPosToRead$18 = $57; - } else { - $index$1$lcssa = $55; - break; - } - } - } else { - $index$1$lcssa = $index$012; - } - } while(0); - $59 = (($lineToRead$013) + 1)|0; - $60 = Math_imul($59, $$lcssa)|0; - $61 = (($60) + ($y$0$lcssa))|0; - $62 = ($61|0)<($35|0); - if ($62) { - $37 = $61;$index$012 = $index$1$lcssa;$lineToRead$013 = $59; - } else { - $index$0$lcssa = $index$1$lcssa; - break; - } - } - } else { - $index$0$lcssa = 0; - } - _free($0); - $63 = $index$0$lcssa << 4; - $64 = (_malloc($63)|0); - HEAP32[$charRecs>>2] = $64; - $65 = $index$0$lcssa << 2; - $66 = (_malloc($65)|0); - HEAP32[$charValues>>2] = $66; - $67 = ($index$0$lcssa|0)>(0); - if ($67) { - $i$06 = 0; - } else { - STACKTOP = sp;return ($index$0$lcssa|0); - } - while(1) { - $68 = (($tempCharValues) + ($i$06<<2)|0); - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$charValues>>2]|0; - $71 = (($70) + ($i$06<<2)|0); - HEAP32[$71>>2] = $69; - $72 = HEAP32[$charRecs>>2]|0; - $73 = (($72) + ($i$06<<4)|0); - $74 = (($tempCharRecs) + ($i$06<<4)|0); - ;HEAP32[$73>>2]=HEAP32[$74>>2]|0;HEAP32[$73+4>>2]=HEAP32[$74+4>>2]|0;HEAP32[$73+8>>2]=HEAP32[$74+8>>2]|0;HEAP32[$73+12>>2]=HEAP32[$74+12>>2]|0; - $75 = (($i$06) + 1)|0; - $exitcond = ($75|0)==($index$0$lcssa|0); - if ($exitcond) { - break; - } else { - $i$06 = $75; - } - } - STACKTOP = sp;return ($index$0$lcssa|0); -} -function _EmptyMusicStream() { - var $$pr = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $buffer = 0, $queued = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $buffer = sp + 4|0; - $queued = sp; - HEAP32[$buffer>>2] = 0; - HEAP32[$queued>>2] = 0; - $0 = HEAP32[(8156)>>2]|0; - _alGetSourcei(($0|0),4117,($queued|0)); - $$pr = HEAP32[$queued>>2]|0; - $1 = ($$pr|0)>(0); - if (!($1)) { - STACKTOP = sp;return; - } - while(1) { - $2 = HEAP32[(8156)>>2]|0; - _alSourceUnqueueBuffers(($2|0),1,($buffer|0)); - $3 = HEAP32[$queued>>2]|0; - $4 = (($3) + -1)|0; - HEAP32[$queued>>2] = $4; - $5 = ($3|0)>(1); - if (!($5)) { - break; - } - } - STACKTOP = sp;return; -} -function _LoadWAV($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|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, $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, $riffHeader = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $wave$sroa$0$0 = 0, $wave$sroa$0$1 = 0; - var $wave$sroa$10$0 = 0, $wave$sroa$10$1 = 0, $wave$sroa$5$0 = 0, $wave$sroa$5$1 = 0, $wave$sroa$6$0 = 0, $wave$sroa$6$1 = 0, $wave$sroa$8$0 = 0, $wave$sroa$8$1 = 0, $waveData = 0, $waveFormat = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $riffHeader = sp + 80|0; - $waveFormat = sp + 56|0; - $waveData = sp + 48|0; - $0 = (_fopen($fileName,19026)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,18448,$vararg_buffer); - $wave$sroa$0$1 = 0;$wave$sroa$10$1 = 0;$wave$sroa$5$1 = 0;$wave$sroa$6$1 = 0;$wave$sroa$8$1 = 0; - HEAP32[$agg$result>>2] = $wave$sroa$0$1; - $45 = ((($agg$result)) + 4|0); - HEAP32[$45>>2] = $wave$sroa$5$1; - $46 = ((($agg$result)) + 8|0); - HEAP32[$46>>2] = $wave$sroa$6$1; - $47 = ((($agg$result)) + 12|0); - HEAP16[$47>>1] = $wave$sroa$8$1; - $48 = ((($agg$result)) + 14|0); - HEAP16[$48>>1] = $wave$sroa$10$1; - STACKTOP = sp;return; - } - (_fread($riffHeader,12,1,$0)|0); - $2 = (_strncmp($riffHeader,18482,4)|0); - $3 = ($2|0)==(0); + (_fread($2,12,1,$6)|0); + $9 = (_strncmp($2,18004,4)|0); + $10 = ($9|0)==(0); do { - if ($3) { - $4 = ((($riffHeader)) + 8|0); - $5 = (_strncmp($4,18487,4)|0); - $6 = ($5|0)==(0); - if ($6) { - (_fread($waveFormat,24,1,$0)|0); - $7 = HEAP8[$waveFormat>>0]|0; - $8 = ($7<<24>>24)==(102); - if ($8) { - $9 = ((($waveFormat)) + 1|0); - $10 = HEAP8[$9>>0]|0; - $11 = ($10<<24>>24)==(109); - if ($11) { - $12 = ((($waveFormat)) + 2|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($13<<24>>24)==(116); - if ($14) { - $15 = ((($waveFormat)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)==(32); - if ($17) { - $18 = ((($waveFormat)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)>(16); - if ($20) { - (_fseek($0,2,1)|0); + if ($10) { + $11 = ((($2)) + 8|0); + $12 = (_strncmp($11,18009,4)|0); + $13 = ($12|0)==(0); + if ($13) { + (_fread($3,24,1,$6)|0); + $14 = HEAP8[$3>>0]|0; + $15 = ($14<<24>>24)==(102); + if ($15) { + $16 = ((($3)) + 1|0); + $17 = HEAP8[$16>>0]|0; + $18 = ($17<<24>>24)==(109); + if ($18) { + $19 = ((($3)) + 2|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(116); + if ($21) { + $22 = ((($3)) + 3|0); + $23 = HEAP8[$22>>0]|0; + $24 = ($23<<24>>24)==(32); + if ($24) { + $25 = ((($3)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)>(16); + if ($27) { + (_fseek($6,2,1)|0); } - (_fread($waveData,8,1,$0)|0); - $21 = HEAP8[$waveData>>0]|0; - $22 = ($21<<24>>24)==(100); - if ($22) { - $23 = ((($waveData)) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(97); - if ($25) { - $26 = ((($waveData)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = ($27<<24>>24)==(116); - if ($28) { - $29 = ((($waveData)) + 3|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(97); - if ($31) { - $32 = ((($waveData)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_malloc($33)|0); - $35 = HEAP32[$32>>2]|0; - (_fread($34,$35,1,$0)|0); - $36 = HEAP32[$32>>2]|0; - $37 = ((($waveFormat)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($waveFormat)) + 10|0); - $40 = HEAP16[$39>>1]|0; - $41 = ((($waveFormat)) + 22|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42 << 16 >> 16; - $44 = $40 << 16 >> 16; - HEAP32[$vararg_buffer10>>2] = $fileName; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $38; - $vararg_ptr14 = ((($vararg_buffer10)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $43; - $vararg_ptr15 = ((($vararg_buffer10)) + 12|0); - HEAP32[$vararg_ptr15>>2] = $44; - _TraceLog(0,18575,$vararg_buffer10); - $wave$sroa$0$0 = $34;$wave$sroa$10$0 = $40;$wave$sroa$5$0 = $36;$wave$sroa$6$0 = $38;$wave$sroa$8$0 = $42; + (_fread($4,8,1,$6)|0); + $28 = HEAP8[$4>>0]|0; + $29 = ($28<<24>>24)==(100); + if ($29) { + $30 = ((($4)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = ($31<<24>>24)==(97); + if ($32) { + $33 = ((($4)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ($34<<24>>24)==(116); + if ($35) { + $36 = ((($4)) + 3|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(97); + if ($38) { + $39 = ((($4)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_malloc($40)|0); + $42 = ((($5)) + 16|0); + HEAP32[$42>>2] = $41; + (_fread($41,$40,1,$6)|0); + $43 = ((($3)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ((($5)) + 4|0); + HEAP32[$45>>2] = $44; + $46 = ((($3)) + 22|0); + $47 = HEAP16[$46>>1]|0; + $48 = $47 << 16 >> 16; + $49 = ((($5)) + 8|0); + HEAP32[$49>>2] = $48; + $50 = ((($3)) + 10|0); + $51 = HEAP16[$50>>1]|0; + $52 = $51 << 16 >> 16; + $53 = ((($5)) + 12|0); + HEAP32[$53>>2] = $52; + switch ($47<<16>>16) { + case 32: case 16: case 8: { + $57 = $52; + break; + } + default: { + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $48; + _TraceLog(1,18097,$vararg_buffer10); + $54 = HEAP32[$45>>2]|0; + $55 = HEAP32[$53>>2]|0; + _WaveFormat($5,$54,16,$55); + $$pr = HEAP32[$53>>2]|0; + $57 = $$pr; + } + } + $56 = ($57>>>0)>(2); + if ($56) { + $58 = HEAP32[$45>>2]|0; + $59 = HEAP32[$49>>2]|0; + _WaveFormat($5,$58,$59,2); + $60 = HEAP32[$53>>2]|0; + HEAP32[$vararg_buffer14>>2] = $1; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $60; + _TraceLog(1,18160,$vararg_buffer14); + } + $61 = HEAP32[$39>>2]|0; + $62 = HEAP32[$49>>2]|0; + $63 = $62 >>> 3; + $64 = (($61>>>0) / ($63>>>0))&-1; + $65 = HEAP32[$53>>2]|0; + $66 = (($64>>>0) / ($65>>>0))&-1; + HEAP32[$5>>2] = $66; + $67 = HEAP32[$45>>2]|0; + $68 = ($65|0)==(1); + $69 = $68 ? 17020 : 17025; + HEAP32[$vararg_buffer18>>2] = $1; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $67; + $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); + HEAP32[$vararg_ptr22>>2] = $62; + $vararg_ptr23 = ((($vararg_buffer18)) + 12|0); + HEAP32[$vararg_ptr23>>2] = $69; + _TraceLog(0,18229,$vararg_buffer18); break; } } } } - HEAP32[$vararg_buffer7>>2] = $fileName; - _TraceLog(2,18550,$vararg_buffer7); - $wave$sroa$0$0 = 0;$wave$sroa$10$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$6$0 = 0;$wave$sroa$8$0 = 0; + HEAP32[$vararg_buffer7>>2] = $1; + _TraceLog(1,18072,$vararg_buffer7); break; } } } } - HEAP32[$vararg_buffer4>>2] = $fileName; - _TraceLog(2,18525,$vararg_buffer4); - $wave$sroa$0$0 = 0;$wave$sroa$10$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$6$0 = 0;$wave$sroa$8$0 = 0; + HEAP32[$vararg_buffer4>>2] = $1; + _TraceLog(1,18047,$vararg_buffer4); } else { label = 5; } @@ -30462,1815 +43076,4311 @@ function _LoadWAV($agg$result,$fileName) { } } while(0); if ((label|0) == 5) { - HEAP32[$vararg_buffer1>>2] = $fileName; - _TraceLog(2,18492,$vararg_buffer1); - $wave$sroa$0$0 = 0;$wave$sroa$10$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$6$0 = 0;$wave$sroa$8$0 = 0; + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(1,18014,$vararg_buffer1); } - (_fclose($0)|0); - $wave$sroa$0$1 = $wave$sroa$0$0;$wave$sroa$10$1 = $wave$sroa$10$0;$wave$sroa$5$1 = $wave$sroa$5$0;$wave$sroa$6$1 = $wave$sroa$6$0;$wave$sroa$8$1 = $wave$sroa$8$0; - HEAP32[$agg$result>>2] = $wave$sroa$0$1; - $45 = ((($agg$result)) + 4|0); - HEAP32[$45>>2] = $wave$sroa$5$1; - $46 = ((($agg$result)) + 8|0); - HEAP32[$46>>2] = $wave$sroa$6$1; - $47 = ((($agg$result)) + 12|0); - HEAP16[$47>>1] = $wave$sroa$8$1; - $48 = ((($agg$result)) + 14|0); - HEAP16[$48>>1] = $wave$sroa$10$1; + (_fclose($6)|0); + ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0; STACKTOP = sp;return; } -function _LoadOGG($agg$result,$fileName) { - $agg$result = $agg$result|0; - $fileName = $fileName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $info = 0, $sext = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer29 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0; - var $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $vararg_ptr24 = 0, $vararg_ptr28 = 0, $vararg_ptr32 = 0, $vararg_ptr33 = 0, $vararg_ptr34 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $wave$sroa$0$0 = 0, $wave$sroa$4$0 = 0, $wave$sroa$5$0 = 0, $wave$sroa$9$0 = 0, label = 0, sp = 0; +function _LoadOGG($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0$0 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$14$0 = 0, $$sroa$14$0$$sroa_idx23 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx15 = 0, $$sroa$8$0$$sroa_idx17 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $vararg_buffer29 = sp + 80|0; - $vararg_buffer25 = sp + 72|0; - $vararg_buffer21 = sp + 64|0; - $vararg_buffer17 = sp + 48|0; - $vararg_buffer13 = sp + 32|0; - $vararg_buffer9 = sp + 24|0; - $vararg_buffer5 = sp + 16|0; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $info = sp + 96|0; - $0 = (_stb_vorbis_open_filename($fileName,0,0)|0); - $1 = ($0|0)==(0|0); - if ($1) { - HEAP32[$vararg_buffer>>2] = $fileName; - _TraceLog(2,18121,$vararg_buffer); - $wave$sroa$0$0 = 0;$wave$sroa$4$0 = 0;$wave$sroa$5$0 = 0;$wave$sroa$9$0 = 0; - HEAP32[$agg$result>>2] = $wave$sroa$0$0; - $25 = ((($agg$result)) + 4|0); - HEAP32[$25>>2] = $wave$sroa$4$0; - $26 = ((($agg$result)) + 8|0); - HEAP32[$26>>2] = $wave$sroa$5$0; - $27 = ((($agg$result)) + 12|0); - HEAP16[$27>>1] = 16; - $28 = ((($agg$result)) + 14|0); - HEAP16[$28>>1] = $wave$sroa$9$0; - STACKTOP = sp;return; - } - _stb_vorbis_get_info($info,$0); - $2 = HEAP32[$info>>2]|0; - $3 = ((($info)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4&65535; - HEAP32[$vararg_buffer1>>2] = $fileName; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $2; - _TraceLog(3,17898,$vararg_buffer1); - $6 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer5>>2] = $fileName; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $6; - _TraceLog(3,17923,$vararg_buffer5); - $7 = (_stb_vorbis_stream_length_in_samples($0)|0); - $8 = HEAP32[$3>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = $9 << 1; - HEAP32[$vararg_buffer9>>2] = $fileName; - $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $9; - _TraceLog(3,18155,$vararg_buffer9); - $11 = (+_stb_vorbis_stream_length_in_seconds($0)); - $12 = $11; - HEAP32[$vararg_buffer13>>2] = $fileName; - $vararg_ptr16 = ((($vararg_buffer13)) + 8|0); - HEAPF64[$vararg_ptr16>>3] = $12; - _TraceLog(3,18179,$vararg_buffer13); - $13 = $11 > 10.0; - if ($13) { - HEAP32[$vararg_buffer17>>2] = $fileName; - $vararg_ptr20 = ((($vararg_buffer17)) + 8|0); - HEAPF64[$vararg_ptr20>>3] = $12; - _TraceLog(2,18202,$vararg_buffer17); - } - $14 = HEAP32[$info>>2]|0; - $15 = (+($14>>>0)); - $16 = $11 * $15; - $17 = HEAP32[$3>>2]|0; - $18 = (+($17|0)); - $19 = $16 * $18; - $20 = (~~(($19))); - HEAP32[$vararg_buffer21>>2] = $fileName; - $vararg_ptr24 = ((($vararg_buffer21)) + 4|0); - HEAP32[$vararg_ptr24>>2] = $20; - _TraceLog(3,18310,$vararg_buffer21); - $21 = (_malloc($10)|0); - $22 = HEAP32[$3>>2]|0; - $23 = (_stb_vorbis_get_samples_short_interleaved($0,$22,$21,$9)|0); - HEAP32[$vararg_buffer25>>2] = $fileName; - $vararg_ptr28 = ((($vararg_buffer25)) + 4|0); - HEAP32[$vararg_ptr28>>2] = $23; - _TraceLog(3,18344,$vararg_buffer25); - $sext = $4 << 16; - $24 = $sext >> 16; - HEAP32[$vararg_buffer29>>2] = $fileName; - $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); - HEAP32[$vararg_ptr32>>2] = $2; - $vararg_ptr33 = ((($vararg_buffer29)) + 8|0); - HEAP32[$vararg_ptr33>>2] = 16; - $vararg_ptr34 = ((($vararg_buffer29)) + 12|0); - HEAP32[$vararg_ptr34>>2] = $24; - _TraceLog(0,18370,$vararg_buffer29); - _stb_vorbis_close($0); - $wave$sroa$0$0 = $21;$wave$sroa$4$0 = $10;$wave$sroa$5$0 = $2;$wave$sroa$9$0 = $5; - HEAP32[$agg$result>>2] = $wave$sroa$0$0; - $25 = ((($agg$result)) + 4|0); - HEAP32[$25>>2] = $wave$sroa$4$0; - $26 = ((($agg$result)) + 8|0); - HEAP32[$26>>2] = $wave$sroa$5$0; - $27 = ((($agg$result)) + 12|0); - HEAP16[$27>>1] = 16; - $28 = ((($agg$result)) + 14|0); - HEAP16[$28>>1] = $wave$sroa$9$0; - STACKTOP = sp;return; -} -function _UnloadWave($wave) { - $wave = $wave|0; - var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = HEAP32[$wave>>2]|0; - _free($0); - _TraceLog(0,18102,$vararg_buffer); - STACKTOP = sp;return; -} -function _BufferMusicStream($buffer) { - $buffer = $buffer|0; - var $$old1 = 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, $active$0 = 0, $pcm = 0; - var $size$0 = 0, $size$0$lcssa = 0, $size$12 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 65552|0; - $vararg_buffer = sp; - $pcm = sp + 8|0; - $0 = HEAP32[8140>>2]|0; - $1 = ($0|0)==(0); - do { - if (!($1)) { - $size$0 = 0; - while(1) { - $2 = HEAP32[8144>>2]|0; - $3 = HEAP32[(8164)>>2]|0; - $4 = (($pcm) + ($size$0<<1)|0); - $5 = (32768 - ($size$0))|0; - $6 = (_stb_vorbis_get_samples_short_interleaved($2,$3,$4,$5)|0); - $7 = ($6|0)>(0); - if (!($7)) { - $size$0$lcssa = $size$0; - label = 4; - break; - } - $8 = HEAP32[(8164)>>2]|0; - $9 = Math_imul($8, $6)|0; - $10 = (($9) + ($size$0))|0; - $$old1 = ($10|0)<(32768); - if ($$old1) { - $size$0 = $10; - } else { - $size$12 = $10; - break; - } - } - if ((label|0) == 4) { - $11 = ($size$0$lcssa|0)>(0); - if ($11) { - $size$12 = $size$0$lcssa; - } else { - break; - } - } - $12 = HEAP32[(8160)>>2]|0; - $13 = $size$12 << 1; - $14 = HEAP32[(8168)>>2]|0; - _alBufferData(($buffer|0),($12|0),($pcm|0),($13|0),($14|0)); - $15 = HEAP32[(8172)>>2]|0; - $16 = (($15) - ($size$12))|0; - HEAP32[(8172)>>2] = $16; - $active$0 = 1; - STACKTOP = sp;return ($active$0|0); - } - } while(0); - _TraceLog(2,18068,$vararg_buffer); - $active$0 = 0; - STACKTOP = sp;return ($active$0|0); -} -function _Vector2Distance($v1,$v2) { - $v1 = $v1|0; - $v2 = $v2|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$v2>>2]; - $1 = +HEAPF32[$v1>>2]; - $2 = $0 - $1; - $3 = ((($v2)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($v1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 - $6; - $8 = $2 * $2; - $9 = $7 * $7; - $10 = $8 + $9; - $sqrtf = (+Math_sqrt((+$10))); - return (+$sqrtf); -} -function _CalculateAngle($initialPosition,$finalPosition,$magnitude) { - $initialPosition = $initialPosition|0; - $finalPosition = $finalPosition|0; - $magnitude = +$magnitude; - var $0 = 0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0; - var $angle$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($finalPosition)) + 4|0); - $1 = +HEAPF32[$0>>2]; - $2 = ((($initialPosition)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = $1 - $3; - $5 = $4 / $magnitude; - $6 = $5; - $7 = (+Math_asin((+$6))); - $8 = $7; - $9 = $8; - $10 = $9 * 57.295779513082323; - $11 = $10; - $12 = +HEAPF32[$finalPosition>>2]; - $13 = +HEAPF32[$initialPosition>>2]; - $14 = $12 - $13; - $15 = !($14 >= 0.0); - if ($15) { - $19 = $11 + 180.0; - $angle$0 = $19; - return (+$angle$0); - } - $16 = !($4 >= 0.0); - $17 = -$11; - if ($16) { - $angle$0 = $17; - return (+$angle$0); - } - $18 = 360.0 - $11; - $angle$0 = $18; - return (+$angle$0); -} -function _PixelIsMagenta($p) { - $p = $p|0; - 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, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP8[$p>>0]|0; - $1 = ($0<<24>>24)==(-1); - if ($1) { - $2 = ((($p)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $5 = ((($p)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(-1); - if ($7) { - $8 = ((($p)) + 3|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(-1); - $12 = $10; - } else { - $12 = 0; - } - } else { - $12 = 0; - } + $2 = sp + 48|0; + $3 = (_stb_vorbis_open_filename($1,0,0)|0); + $4 = ($3|0)==(0|0); + if ($4) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(1,16852,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$14$0 = 0;$$sroa$6$0 = 0; } else { - $12 = 0; + _stb_vorbis_get_info($2,$3); + $5 = HEAP32[$2>>2]|0; + $6 = ((($2)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_stb_vorbis_stream_length_in_samples($3)|0); + $9 = (+_stb_vorbis_stream_length_in_seconds($3)); + $10 = $9 > 10.0; + if ($10) { + $11 = $9; + HEAP32[$vararg_buffer1>>2] = $1; + $vararg_ptr4 = ((($vararg_buffer1)) + 8|0); + HEAPF64[$vararg_ptr4>>3] = $11; + _TraceLog(1,16886,$vararg_buffer1); + } + $12 = Math_imul($8, $7)|0; + $13 = $12 << 1; + $14 = (_malloc($13)|0); + $15 = HEAP32[$6>>2]|0; + $16 = (_stb_vorbis_get_samples_short_interleaved($3,$15,$14,$12)|0); + HEAP32[$vararg_buffer5>>2] = $1; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $16; + _TraceLog(3,16994,$vararg_buffer5); + $17 = ($7|0)==(1); + $18 = $17 ? 17020 : 17025; + HEAP32[$vararg_buffer9>>2] = $1; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $5; + $vararg_ptr13 = ((($vararg_buffer9)) + 8|0); + HEAP32[$vararg_ptr13>>2] = 16; + $vararg_ptr14 = ((($vararg_buffer9)) + 12|0); + HEAP32[$vararg_ptr14>>2] = $18; + _TraceLog(0,17032,$vararg_buffer9); + _stb_vorbis_close($3); + $$sroa$0$0 = $8;$$sroa$10$0 = $7;$$sroa$14$0 = $14;$$sroa$6$0 = $5; } - $11 = $12&1; - return ($11|0); + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$6$0$$sroa_idx15 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx15>>2] = $$sroa$6$0; + $$sroa$8$0$$sroa_idx17 = ((($0)) + 8|0); + HEAP32[$$sroa$8$0$$sroa_idx17>>2] = 16; + $$sroa$10$0$$sroa_idx19 = ((($0)) + 12|0); + HEAP32[$$sroa$10$0$$sroa_idx19>>2] = $$sroa$10$0; + $$sroa$14$0$$sroa_idx23 = ((($0)) + 16|0); + HEAP32[$$sroa$14$0$$sroa_idx23>>2] = $$sroa$14$0; + STACKTOP = sp;return; } -function _stbtt__sort_edges($p,$n) { - $p = $p|0; - $n = $n|0; - var label = 0, sp = 0; +function _LoadWaveEx($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 $$byval_copy = 0, $10 = 0, $11 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - _stbtt__sort_edges_quicksort($p,$n); - _stbtt__sort_edges_ins_sort($p,$n); + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp + 40|0; + $6 = sp + 20|0; + $7 = sp; + $8 = ((($6)) + 16|0); + HEAP32[$8>>2] = $1; + HEAP32[$6>>2] = $2; + $9 = ((($6)) + 4|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 8|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 12|0); + HEAP32[$11>>2] = $5; + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$6+16>>2]|0; + _WaveCopy($7,$$byval_copy); + _WaveFormat($7,$3,$4,$5); + ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$7+16>>2]|0; + STACKTOP = sp;return; +} +function _WaveCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0$0 = 0, $$sroa$5$0 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx6 = 0, $$sroa$8$0$$sroa_idx8 = 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; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 12|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = ((($1)) + 8|0); + $7 = HEAP32[$6>>2]|0; + $8 = Math_imul($5, $7)|0; + $9 = $8 >>> 3; + $10 = (_malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$sroa$0$0 = 0;$$sroa$5$0 = 0;$$sroa$6$0 = 0;$$sroa$7$0 = 0; + } else { + $12 = ((($1)) + 16|0); + $13 = HEAP32[$12>>2]|0; + _memcpy(($10|0),($13|0),($9|0))|0; + $14 = HEAP32[$1>>2]|0; + $15 = ((($1)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$6>>2]|0; + $18 = HEAP32[$3>>2]|0; + $$sroa$0$0 = $14;$$sroa$5$0 = $16;$$sroa$6$0 = $17;$$sroa$7$0 = $18; + } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx4>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$7$0$$sroa_idx6>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$8$0$$sroa_idx8>>2] = $10; return; } -function _stbtt__rasterize_sorted_edges($result,$e,$n,$off_x,$off_y) { - $result = $result|0; - $e = $e|0; - $n = $n|0; - $off_x = $off_x|0; - $off_y = $off_y|0; - var $$019 = 0, $$1$lcssa = 0, $$18 = 0, $$lcssa = 0, $$sum = 0, $$sum1 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0; - var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0; - var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.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.0, $67 = 0.0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.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.0, $88 = 0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $active$sroa$0 = 0, $fabsf = 0.0, $hh = 0, $i$010 = 0, $j$016 = 0, $scanline$0 = 0, $scanline_data = 0, $step$0$ph7 = 0, $step$113 = 0, $sum$011 = 0.0, $y$018 = 0, label = 0, sp = 0; +function _WaveFormat($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0153164 = 0, $$0154162 = 0, $$0155163 = 0, $$0156170 = 0, $$0157167 = 0, $$0165 = 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.0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 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.0, $4 = 0; + var $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.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.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.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.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 544|0; - $hh = sp + 520|0; - $active$sroa$0 = sp; - $scanline_data = sp + 4|0; - ;HEAP32[$hh>>2]=0|0;HEAP32[$hh+4>>2]=0|0;HEAP32[$hh+8>>2]=0|0; - HEAP32[$active$sroa$0>>2] = 0; - $0 = HEAP32[$result>>2]|0; - $1 = ($0|0)>(64); - if ($1) { - $2 = $0 << 3; - $3 = $2 | 4; - $4 = (_malloc($3)|0); - $scanline$0 = $4; - } else { - $scanline$0 = $scanline_data; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($1|0); + if (!($6)) { + HEAP32[$4>>2] = $1; } - $5 = HEAP32[$result>>2]|0; - $6 = ((($result)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + ($off_y))|0; - $9 = (+($8|0)); - $10 = $9 + 1.0; - $11 = (((($e) + (($n*20)|0)|0)) + 4|0); - HEAPF32[$11>>2] = $10; - $12 = HEAP32[$6>>2]|0; - $13 = ($12|0)>(0); - L5: do { - if ($13) { - $14 = (($scanline$0) + ($5<<2)|0); - $$sum1 = (($5) + 1)|0; - $15 = (($scanline$0) + ($$sum1<<2)|0); - $16 = ((($result)) + 8|0); - $17 = ((($result)) + 12|0); - $$019 = $e;$j$016 = 0;$y$018 = $off_y; - L7: while(1) { - $18 = (+($y$018|0)); - $19 = $18 + 1.0; - $20 = HEAP32[$result>>2]|0; - $21 = $20 << 2; - _memset(($scanline$0|0),0,($21|0))|0; - $22 = HEAP32[$result>>2]|0; - $23 = $22 << 2; - $24 = (($23) + 4)|0; - _memset(($14|0),0,($24|0))|0; - $25 = HEAP32[$active$sroa$0>>2]|0; - $26 = ($25|0)==(0|0); - L9: do { + $7 = ((($0)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if (!($9)) { + $10 = HEAP32[$0>>2]|0; + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($10, $2)|0; + $14 = Math_imul($13, $12)|0; + $15 = $14 >>> 3; + $16 = (_malloc($15)|0); + $17 = HEAP32[$0>>2]|0; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = ((($0)) + 16|0); + $20 = ((($0)) + 16|0); + $21 = ((($0)) + 16|0); + $22 = ((($0)) + 16|0); + $23 = ((($0)) + 16|0); + $24 = ((($0)) + 16|0); + $$0156170 = 0; + while(1) { + $25 = HEAP32[$11>>2]|0; + $26 = ($25|0)==(0); + L10: do { if (!($26)) { - $99 = $25;$step$0$ph7 = $active$sroa$0; + $$0157167 = 0;$35 = $25; while(1) { - $31 = $99; - while(1) { - $30 = ((($31)) + 24|0); - $32 = +HEAPF32[$30>>2]; - $33 = !($32 <= $18); - if ($33) { - $$lcssa = $31; + L13: do { + switch ($2|0) { + case 8: { + $32 = HEAP32[$7>>2]|0; + switch ($32|0) { + case 16: { + $33 = HEAP32[$19>>2]|0; + $34 = Math_imul($35, $$0156170)|0; + $36 = (($34) + ($$0157167))|0; + $37 = (($33) + ($36<<1)|0); + $38 = HEAP16[$37>>1]|0; + $39 = (+($38<<16>>16)); + $40 = $39 / 32767.0; + $41 = $40 * 256.0; + $42 = (~~(($41))&255); + $43 = (($16) + ($36)|0); + HEAP8[$43>>0] = $42; + break L13; + break; + } + case 32: { + $44 = HEAP32[$20>>2]|0; + $45 = Math_imul($35, $$0156170)|0; + $46 = (($45) + ($$0157167))|0; + $47 = (($44) + ($46<<2)|0); + $48 = +HEAPF32[$47>>2]; + $49 = $48 * 127.0; + $50 = $49 + 127.0; + $51 = (~~(($50))&255); + $52 = (($16) + ($46)|0); + HEAP8[$52>>0] = $51; + break L13; + break; + } + default: { + break L13; + } + } break; } - $34 = HEAP32[$31>>2]|0; - HEAP32[$step$0$ph7>>2] = $34; - $35 = ((($31)) + 16|0); - $36 = +HEAPF32[$35>>2]; - $37 = $36 != 0.0; - if (!($37)) { - label = 11; - break L7; + case 16: { + $53 = HEAP32[$7>>2]|0; + switch ($53|0) { + case 8: { + $54 = HEAP32[$21>>2]|0; + $55 = Math_imul($35, $$0156170)|0; + $56 = (($55) + ($$0157167))|0; + $57 = (($54) + ($56)|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = (($59) + -127)|0; + $61 = (+($60|0)); + $62 = $61 * 0.00390625; + $63 = $62 * 32767.0; + $64 = (~~(($63))); + $65 = (($16) + ($56<<1)|0); + HEAP16[$65>>1] = $64; + break L13; + break; + } + case 32: { + $66 = HEAP32[$22>>2]|0; + $67 = Math_imul($35, $$0156170)|0; + $68 = (($67) + ($$0157167))|0; + $69 = (($66) + ($68<<2)|0); + $70 = +HEAPF32[$69>>2]; + $71 = $70 * 32767.0; + $72 = (~~(($71))); + $73 = (($16) + ($68<<1)|0); + HEAP16[$73>>1] = $72; + break L13; + break; + } + default: { + break L13; + } + } + break; } - HEAPF32[$35>>2] = 0.0; - _stbtt__hheap_free($hh,$31); - $38 = HEAP32[$step$0$ph7>>2]|0; - $39 = ($38|0)==(0|0); - if ($39) { - break L9; - } else { - $31 = $38; + case 32: { + $74 = HEAP32[$7>>2]|0; + switch ($74|0) { + case 8: { + $75 = HEAP32[$23>>2]|0; + $76 = Math_imul($35, $$0156170)|0; + $77 = (($76) + ($$0157167))|0; + $78 = (($75) + ($77)|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = (($80) + -127)|0; + $82 = (+($81|0)); + $83 = $82 * 0.00390625; + $84 = (($16) + ($77<<2)|0); + HEAPF32[$84>>2] = $83; + break L13; + break; + } + case 16: { + $85 = HEAP32[$24>>2]|0; + $86 = Math_imul($35, $$0156170)|0; + $87 = (($86) + ($$0157167))|0; + $88 = (($85) + ($87<<1)|0); + $89 = HEAP16[$88>>1]|0; + $90 = (+($89<<16>>16)); + $91 = $90 / 32767.0; + $92 = (($16) + ($87<<2)|0); + HEAPF32[$92>>2] = $91; + break L13; + break; + } + default: { + break L13; + } + } + break; } - } - $40 = HEAP32[$$lcssa>>2]|0; - $41 = ($40|0)==(0|0); - if ($41) { - break; + default: { + } + } + } while(0); + $93 = (($$0157167) + 1)|0; + $94 = HEAP32[$11>>2]|0; + $95 = ($93>>>0)<($94>>>0); + if ($95) { + $$0157167 = $93;$35 = $94; } else { - $99 = $40;$step$0$ph7 = $$lcssa; + break L10; } } } } while(0); - $27 = ((($$019)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = !($28 <= $19); - if ($29) { - $$1$lcssa = $$019; + $29 = (($$0156170) + 1)|0; + $30 = HEAP32[$0>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $$0156170 = $29; } else { - $$18 = $$019;$45 = $28; - while(1) { - $42 = ((($$18)) + 12|0); - $43 = +HEAPF32[$42>>2]; - $44 = $45 != $43; - if ($44) { - $46 = (_stbtt__new_active($hh,$$18,$off_x,$18)|0); - $47 = ($46|0)==(0|0); - if (!($47)) { - $48 = ((($46)) + 24|0); - $49 = +HEAPF32[$48>>2]; - $50 = !($49 >= $18); - if ($50) { - label = 17; - break L7; - } - $51 = HEAP32[$active$sroa$0>>2]|0; - HEAP32[$46>>2] = $51; - $52 = $46; - HEAP32[$active$sroa$0>>2] = $52; - } - } - $53 = ((($$18)) + 20|0); - $54 = ((($$18)) + 24|0); - $55 = +HEAPF32[$54>>2]; - $56 = !($55 <= $19); - if ($56) { - $$1$lcssa = $53; - break; - } else { - $$18 = $53;$45 = $55; - } - } + break; } - $57 = HEAP32[$active$sroa$0>>2]|0; - $58 = ($57|0)==(0); - if (!($58)) { - $59 = $57; - $60 = HEAP32[$result>>2]|0; - _stbtt__fill_active_edges_new($scanline$0,$15,$60,$59,$18); - } - $61 = HEAP32[$result>>2]|0; - $62 = ($61|0)>(0); - if ($62) { - $i$010 = 0;$sum$011 = 0.0; - while(1) { - $$sum = (($i$010) + ($5))|0; - $65 = (($scanline$0) + ($$sum<<2)|0); - $66 = +HEAPF32[$65>>2]; - $67 = $sum$011 + $66; - $68 = (($scanline$0) + ($i$010<<2)|0); - $69 = +HEAPF32[$68>>2]; - $70 = $69 + $67; - $fabsf = (+Math_abs((+$70))); - $71 = $fabsf * 255.0; - $72 = $71 + 0.5; - $73 = (~~(($72))); - $74 = ($73|0)>(255); - $75 = $73&255; - $76 = $74 ? -1 : $75; - $77 = HEAP32[$16>>2]|0; - $78 = Math_imul($77, $j$016)|0; - $79 = (($78) + ($i$010))|0; - $80 = HEAP32[$17>>2]|0; - $81 = (($80) + ($79)|0); - HEAP8[$81>>0] = $76; - $82 = (($i$010) + 1)|0; - $83 = HEAP32[$result>>2]|0; - $84 = ($82|0)<($83|0); - if ($84) { - $i$010 = $82;$sum$011 = $67; - } else { - break; - } - } - } - $63 = HEAP32[$active$sroa$0>>2]|0; - $64 = ($63|0)==(0|0); - if (!($64)) { - $86 = $63;$step$113 = $active$sroa$0; - while(1) { - $85 = ((($86)) + 8|0); - $87 = +HEAPF32[$85>>2]; - $88 = ((($86)) + 4|0); - $89 = +HEAPF32[$88>>2]; - $90 = $87 + $89; - HEAPF32[$88>>2] = $90; - $91 = HEAP32[$step$113>>2]|0; - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==(0|0); - if ($93) { - break; - } else { - $86 = $92;$step$113 = $91; - } - } - } - $94 = (($y$018) + 1)|0; - $95 = (($j$016) + 1)|0; - $96 = HEAP32[$6>>2]|0; - $97 = ($95|0)<($96|0); - if ($97) { - $$019 = $$1$lcssa;$j$016 = $95;$y$018 = $94; - } else { - break L5; - } - } - if ((label|0) == 11) { - ___assert_fail((19266|0),(17068|0),2099,(19279|0)); - // unreachable; - } - else if ((label|0) == 17) { - ___assert_fail((19309|0),(17068|0),2112,(19279|0)); - // unreachable; } } - } while(0); - _stbtt__hheap_cleanup($hh); - $98 = ($scanline$0|0)==($scanline_data|0); + HEAP32[$7>>2] = $2; + $27 = ((($0)) + 16|0); + $28 = HEAP32[$27>>2]|0; + _free($28); + HEAP32[$27>>2] = $16; + } + $96 = ((($0)) + 12|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==($3|0); if ($98) { - STACKTOP = sp;return; - } - _free($scanline$0); - STACKTOP = sp;return; -} -function _stbtt__hheap_free($hh,$p) { - $hh = $hh|0; - $p = $p|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($hh)) + 4|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - HEAP32[$0>>2] = $p; - return; -} -function _stbtt__new_active($hh,$e,$off_x,$start_point) { - $hh = $hh|0; - $e = $e|0; - $off_x = $off_x|0; - $start_point = +$start_point; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbtt__hheap_alloc($hh)|0); - $1 = ((($e)) + 8|0); - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$e>>2]; - $4 = $2 - $3; - $5 = ((($e)) + 12|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($e)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 / $9; - $11 = ($0|0)==(0|0); - if ($11) { - ___assert_fail((19599|0),(17068|0),1700,(19615|0)); - // unreachable; - } else { - $12 = ((($0)) + 8|0); - HEAPF32[$12>>2] = $10; - $13 = $10 != 0.0; - $14 = 1.0 / $10; - $15 = $13 ? $14 : 0.0; - $16 = ((($0)) + 12|0); - HEAPF32[$16>>2] = $15; - $17 = +HEAPF32[$e>>2]; - $18 = +HEAPF32[$7>>2]; - $19 = $start_point - $18; - $20 = $10 * $19; - $21 = $17 + $20; - $22 = ((($0)) + 4|0); - $23 = (+($off_x|0)); - $24 = $21 - $23; - HEAPF32[$22>>2] = $24; - $25 = ((($e)) + 16|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(0); - $28 = $27 ? 1.0 : -1.0; - $29 = ((($0)) + 16|0); - HEAPF32[$29>>2] = $28; - $30 = HEAP32[$7>>2]|0; - $31 = ((($0)) + 20|0); - HEAP32[$31>>2] = $30; - $32 = HEAP32[$5>>2]|0; - $33 = ((($0)) + 24|0); - HEAP32[$33>>2] = $32; - HEAP32[$0>>2] = 0; - return ($0|0); - } - return (0)|0; -} -function _stbtt__fill_active_edges_new($scanline,$scanline_fill,$len,$e,$y_top) { - $scanline = $scanline|0; - $scanline_fill = $scanline_fill|0; - $len = $len|0; - $e = $e|0; - $y_top = +$y_top; - var $$014 = 0, $$not = 0, $0 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0, $112 = 0.0, $113 = 0.0; - var $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0; - var $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0; - var $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0, $99 = 0.0; - var $area$0$lcssa = 0.0, $area$012 = 0.0, $brmerge = 0, $dy$0 = 0.0, $exitcond = 0, $exitcond20 = 0, $fabsf = 0.0, $or$cond = 0, $or$cond2 = 0, $or$cond3 = 0, $or$cond4 = 0, $or$cond5 = 0, $or$cond6 = 0, $or$cond7 = 0, $or$cond8 = 0, $or$cond9 = 0, $sy0$0 = 0.0, $sy0$1 = 0.0, $sy1$0 = 0.0, $sy1$1 = 0.0; - var $x01$0 = 0.0, $x2$011 = 0, $x4$010 = 0, $x_bottom$0 = 0.0, $x_bottom$1 = 0.0, $x_top$0 = 0.0, $x_top$1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $y_top + 1.0; - $1 = ($e|0)==(0|0); - if ($1) { return; } - $2 = (+($len|0)); - $3 = ((($scanline_fill)) + -4|0); - $4 = ((($scanline_fill)) + -4|0); - $5 = (+($len|0)); - $6 = ($len|0)>(0); - $$014 = $e; - L4: while(1) { - $7 = ((($$014)) + 24|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 >= $y_top; - if (!($9)) { - label = 4; - break; - } - $10 = ((($$014)) + 8|0); - $11 = +HEAPF32[$10>>2]; - $12 = $11 == 0.0; - $13 = ((($$014)) + 4|0); - $14 = +HEAPF32[$13>>2]; - do { - if ($12) { - $15 = $14 < $2; - if ($15) { - $16 = !($14 >= 0.0); - if ($16) { - _stbtt__handle_clipped_edge($3,0,$$014,$14,$y_top,$14,$0); - break; - } else { - $17 = (~~(($14))); - _stbtt__handle_clipped_edge($scanline,$17,$$014,$14,$y_top,$14,$0); - $18 = (($17) + 1)|0; - _stbtt__handle_clipped_edge($4,$18,$$014,$14,$y_top,$14,$0); - break; - } - } - } else { - $19 = $11 + $14; - $20 = ((($$014)) + 12|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($$014)) + 20|0); - $23 = +HEAPF32[$22>>2]; - $24 = !($23 <= $0); - $$not = $9 ^ 1; - $brmerge = $24 | $$not; - if ($brmerge) { - label = 11; - break L4; - } - $25 = $23 > $y_top; - if ($25) { - $26 = $23 - $y_top; - $27 = $11 * $26; - $28 = $14 + $27; - $sy0$0 = $23;$x_top$0 = $28; - } else { - $sy0$0 = $y_top;$x_top$0 = $14; - } - $29 = +HEAPF32[$7>>2]; - $30 = $29 < $0; - if ($30) { - $31 = $29 - $y_top; - $32 = $11 * $31; - $33 = $14 + $32; - $sy1$0 = $29;$x_bottom$0 = $33; - } else { - $sy1$0 = $0;$x_bottom$0 = $19; - } - $34 = $x_top$0 >= 0.0; - $35 = $x_bottom$0 >= 0.0; - $or$cond = $34 & $35; - if ($or$cond) { - $36 = $x_top$0 < $5; - $37 = $x_bottom$0 < $5; - $or$cond2 = $36 & $37; - if ($or$cond2) { - $38 = (~~(($x_top$0))); - $39 = (~~(($x_bottom$0))); - $40 = ($38|0)==($39|0); - if ($40) { - $41 = $sy1$0 - $sy0$0; - $42 = ($38|0)>(-1); - $43 = ($38|0)<($len|0); - $or$cond3 = $42 & $43; - if (!($or$cond3)) { - label = 21; - break L4; - } - $44 = ((($$014)) + 16|0); - $45 = +HEAPF32[$44>>2]; - $46 = (+($38|0)); - $47 = $x_top$0 - $46; - $48 = $x_bottom$0 - $46; - $49 = $47 + $48; - $50 = $49 * 0.5; - $51 = 1.0 - $50; - $52 = $51 * $45; - $53 = $41 * $52; - $54 = (($scanline) + ($38<<2)|0); - $55 = +HEAPF32[$54>>2]; - $56 = $55 + $53; - HEAPF32[$54>>2] = $56; - $57 = +HEAPF32[$44>>2]; - $58 = $41 * $57; - $59 = (($scanline_fill) + ($38<<2)|0); - $60 = +HEAPF32[$59>>2]; - $61 = $60 + $58; - HEAPF32[$59>>2] = $61; + $99 = HEAP32[$0>>2]|0; + $100 = Math_imul($99, $3)|0; + $101 = HEAP32[$7>>2]|0; + $102 = Math_imul($100, $101)|0; + $103 = $102 >>> 3; + $104 = (_malloc($103)|0); + $105 = HEAP32[$96>>2]|0; + $106 = ($105|0)==(1); + $107 = ($3|0)==(2); + $or$cond = $107 & $106; + L33: do { + if ($or$cond) { + $108 = HEAP32[$0>>2]|0; + $109 = ($108|0)==(0); + if (!($109)) { + $110 = ((($0)) + 16|0); + $111 = ((($0)) + 16|0); + $112 = ((($0)) + 16|0); + $$0155163 = 0; + while(1) { + $113 = Math_imul($$0155163, $3)|0; + $114 = Math_imul($$0155163, $3)|0; + $115 = Math_imul($$0155163, $3)|0; + $$0154162 = 0; + while(1) { + $119 = HEAP32[$7>>2]|0; + switch ($119|0) { + case 8: { + $120 = HEAP32[$110>>2]|0; + $121 = (($120) + ($$0155163)|0); + $122 = HEAP8[$121>>0]|0; + $123 = (($$0154162) + ($113))|0; + $124 = (($104) + ($123)|0); + HEAP8[$124>>0] = $122; break; } - $62 = $x_top$0 > $x_bottom$0; - if ($62) { - $63 = $sy0$0 - $y_top; - $64 = $0 - $63; - $65 = $sy1$0 - $y_top; - $66 = $0 - $65; - $67 = -$21; - $dy$0 = $67;$sy0$1 = $66;$sy1$1 = $64;$x01$0 = $19;$x_bottom$1 = $x_top$0;$x_top$1 = $x_bottom$0; - } else { - $dy$0 = $21;$sy0$1 = $sy0$0;$sy1$1 = $sy1$0;$x01$0 = $14;$x_bottom$1 = $x_bottom$0;$x_top$1 = $x_top$0; + case 16: { + $125 = HEAP32[$111>>2]|0; + $126 = (($125) + ($$0155163<<1)|0); + $127 = HEAP16[$126>>1]|0; + $128 = (($$0154162) + ($114))|0; + $129 = (($104) + ($128<<1)|0); + HEAP16[$129>>1] = $127; + break; } - $68 = (~~(($x_top$1))); - $69 = (~~(($x_bottom$1))); - $70 = (($68) + 1)|0; - $71 = (+($70|0)); - $72 = $71 - $x01$0; - $73 = $dy$0 * $72; - $74 = $73 + $y_top; - $75 = ((($$014)) + 16|0); - $76 = +HEAPF32[$75>>2]; - $77 = $74 - $sy0$1; - $78 = $76 * $77; - $79 = (+($68|0)); - $80 = $x_top$1 - $79; - $81 = $80 + 1.0; - $82 = $81 * 0.5; - $83 = 1.0 - $82; - $84 = $83 * $78; - $85 = (($scanline) + ($68<<2)|0); - $86 = +HEAPF32[$85>>2]; - $87 = $86 + $84; - HEAPF32[$85>>2] = $87; - $88 = $dy$0 * $76; - $89 = ($69|0)>($70|0); - if ($89) { - $90 = $88 * 0.5; - $area$012 = $78;$x2$011 = $70; - while(1) { - $91 = $90 + $area$012; - $92 = (($scanline) + ($x2$011<<2)|0); - $93 = +HEAPF32[$92>>2]; - $94 = $91 + $93; - HEAPF32[$92>>2] = $94; - $95 = $88 + $area$012; - $96 = (($x2$011) + 1)|0; - $exitcond20 = ($96|0)==($69|0); - if ($exitcond20) { - $area$0$lcssa = $95; - break; - } else { - $area$012 = $95;$x2$011 = $96; - } - } - } else { - $area$0$lcssa = $78; + case 32: { + $130 = HEAP32[$112>>2]|0; + $131 = (($130) + ($$0155163<<2)|0); + $132 = HEAP32[$131>>2]|0; + $133 = (($$0154162) + ($115))|0; + $134 = (($104) + ($133<<2)|0); + HEAP32[$134>>2] = $132; + break; } - $fabsf = (+Math_abs((+$area$0$lcssa))); - $97 = !($fabsf <= 1.0099999904632568); - if ($97) { - label = 29; - break L4; + default: { } - $98 = (($69) - ($70))|0; - $99 = (+($98|0)); - $100 = $dy$0 * $99; - $101 = $100 + $74; - $102 = (+($69|0)); - $103 = $x_bottom$1 - $102; - $104 = $103 + 0.0; - $105 = $104 * 0.5; - $106 = 1.0 - $105; - $107 = $76 * $106; - $108 = $sy1$1 - $101; - $109 = $107 * $108; - $110 = $109 + $area$0$lcssa; - $111 = (($scanline) + ($69<<2)|0); - $112 = +HEAPF32[$111>>2]; - $113 = $110 + $112; - HEAPF32[$111>>2] = $113; - $114 = $sy1$1 - $sy0$1; - $115 = $114 * $76; - $116 = (($scanline_fill) + ($69<<2)|0); - $117 = +HEAPF32[$116>>2]; - $118 = $115 + $117; - HEAPF32[$116>>2] = $118; - break; - } - } - if ($6) { - $x4$010 = 0; - while(1) { - $119 = (+($x4$010|0)); - $120 = (($x4$010) + 1)|0; - $121 = (+($120|0)); - $122 = $119 - $14; - $123 = $122 / $11; - $124 = $123 + $y_top; - $125 = $121 - $14; - $126 = $125 / $11; - $127 = $126 + $y_top; - $128 = $14 < $119; - $129 = $19 > $121; - $or$cond4 = $128 & $129; - do { - if ($or$cond4) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$119,$124); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$119,$124,$121,$127); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$121,$127,$19,$0); - } else { - $130 = $19 < $119; - $131 = $14 > $121; - $or$cond5 = $130 & $131; - if ($or$cond5) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$121,$127); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$121,$127,$119,$124); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$119,$124,$19,$0); - break; - } - $132 = $19 > $119; - $or$cond6 = $128 & $132; - if ($or$cond6) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$119,$124); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$119,$124,$19,$0); - break; - } - $133 = $14 > $119; - $or$cond7 = $130 & $133; - if ($or$cond7) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$119,$124); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$119,$124,$19,$0); - break; - } - $134 = $14 < $121; - $or$cond8 = $134 & $129; - if ($or$cond8) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$121,$127); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$121,$127,$19,$0); - break; - } - $135 = $19 < $121; - $or$cond9 = $135 & $131; - if ($or$cond9) { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$121,$127); - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$121,$127,$19,$0); - break; - } else { - _stbtt__handle_clipped_edge($scanline,$x4$010,$$014,$14,$y_top,$19,$0); - break; - } - } - } while(0); - $exitcond = ($120|0)==($len|0); + } + $135 = (($$0154162) + 1)|0; + $exitcond = ($135|0)==($3|0); if ($exitcond) { break; } else { - $x4$010 = $120; + $$0154162 = $135; + } + } + $116 = (($$0155163) + 1)|0; + $117 = HEAP32[$0>>2]|0; + $118 = ($116>>>0)<($117>>>0); + if ($118) { + $$0155163 = $116; + } else { + break; + } + } + } + } else { + $136 = ($105|0)==(2); + $137 = ($3|0)==(1); + $or$cond3 = $137 & $136; + if ($or$cond3) { + $138 = HEAP32[$0>>2]|0; + $139 = ($138|0)==(0); + if (!($139)) { + $140 = ((($0)) + 16|0); + $141 = ((($0)) + 16|0); + $142 = ((($0)) + 16|0); + $$0153164 = 0;$$0165 = 0; + while(1) { + $143 = HEAP32[$7>>2]|0; + switch ($143|0) { + case 8: { + $144 = HEAP32[$140>>2]|0; + $145 = (($144) + ($$0165)|0); + $146 = HEAP8[$145>>0]|0; + $147 = $146&255; + $148 = $$0165 | 1; + $149 = (($144) + ($148)|0); + $150 = HEAP8[$149>>0]|0; + $151 = $150&255; + $152 = (($151) + ($147))|0; + $153 = $152 >>> 1; + $154 = $153&255; + $155 = (($104) + ($$0153164)|0); + HEAP8[$155>>0] = $154; + break; + } + case 16: { + $156 = HEAP32[$141>>2]|0; + $157 = (($156) + ($$0165<<1)|0); + $158 = HEAP16[$157>>1]|0; + $159 = $158 << 16 >> 16; + $160 = $$0165 | 1; + $161 = (($156) + ($160<<1)|0); + $162 = HEAP16[$161>>1]|0; + $163 = $162 << 16 >> 16; + $164 = (($163) + ($159))|0; + $165 = (($164|0) / 2)&-1; + $166 = $165&65535; + $167 = (($104) + ($$0153164<<1)|0); + HEAP16[$167>>1] = $166; + break; + } + case 32: { + $168 = HEAP32[$142>>2]|0; + $169 = (($168) + ($$0165<<2)|0); + $170 = +HEAPF32[$169>>2]; + $171 = $$0165 | 1; + $172 = (($168) + ($171<<2)|0); + $173 = +HEAPF32[$172>>2]; + $174 = $170 + $173; + $175 = $174 * 0.5; + $176 = (($104) + ($$0153164<<2)|0); + HEAPF32[$176>>2] = $175; + break; + } + default: { + } + } + $177 = (($$0153164) + 1)|0; + $178 = (($$0165) + 2)|0; + $179 = HEAP32[$0>>2]|0; + $180 = ($177>>>0)<($179>>>0); + if ($180) { + $$0153164 = $177;$$0165 = $178; + } else { + break L33; } } } } + } + } while(0); + HEAP32[$96>>2] = $3; + $181 = ((($0)) + 16|0); + $182 = HEAP32[$181>>2]|0; + _free($182); + HEAP32[$181>>2] = $104; + return; +} +function _stb_vorbis_open_filename($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fopen($0,17589)|0); + $4 = ($3|0)==(0|0); + if ($4) { + $6 = ($1|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + HEAP32[$1>>2] = 6; + $$0 = 0; + } + } else { + $5 = (_stb_vorbis_open_file($3,1,$1,$2)|0); + $$0 = $5; + } + return ($$0|0); +} +function _stb_vorbis_get_info($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 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; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 116|0); + $12 = HEAP32[$11>>2]|0; + $13 = $12 >> 1; + HEAP32[$0>>2] = $4; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $6; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = $8; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = $10; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAP32[$$sroa$8$0$$sroa_idx10>>2] = $13; + return; +} +function _stb_vorbis_stream_length_in_samples($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$050 = 0, $$51 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 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); + $1 = sp + 4|0; + $2 = sp; + $3 = sp + 8|0; + $4 = ((($0)) + 48|0); + $5 = HEAP8[$4>>0]|0; + $6 = ($5<<24>>24)==(0); + if (!($6)) { + _error($0,2); + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $7 = ((($0)) + 796|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = (_stb_vorbis_get_file_offset($0)|0); + $11 = ((($0)) + 44|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(65535); + $14 = ((($0)) + 52|0); + $15 = HEAP32[$14>>2]|0; + if ($13) { + $16 = (($12) + -65536)|0; + $17 = ($16>>>0)<($15>>>0); + if ($17) { + label = 6; + } else { + $$050 = $16; + } + } else { + label = 6; + } + if ((label|0) == 6) { + $$050 = $15; + } + _set_file_offset($0,$$050); + $18 = (_vorbis_find_page($0,$1,$2)|0); + $19 = ($18|0)==(0); + do { + if ($19) { + $20 = ((($0)) + 100|0); + HEAP32[$20>>2] = 36; + HEAP32[$7>>2] = -1; + } else { + while(1) { + $21 = (_stb_vorbis_get_file_offset($0)|0); + $22 = HEAP32[$2>>2]|0; + $23 = ($22|0)==(0); + if (!($23)) { + break; + } + $24 = HEAP32[$1>>2]|0; + _set_file_offset($0,$24); + $25 = (_vorbis_find_page($0,$1,$2)|0); + $26 = ($25|0)==(0); + if ($26) { + break; + } + } + _set_file_offset($0,$21); + (_getn($0,$3,6)|0); + $27 = (_get32($0)|0); + $28 = (_get32($0)|0); + $29 = $28 & $27; + $30 = ($29|0)==(-1); + if ($30) { + $31 = ((($0)) + 100|0); + HEAP32[$31>>2] = 36; + HEAP32[$7>>2] = -1; + break; + } else { + $32 = ($28|0)==(0); + $$ = $32 ? $27 : -2; + HEAP32[$7>>2] = $$; + $33 = ((($0)) + 68|0); + HEAP32[$33>>2] = $21; + $34 = HEAP32[$1>>2]|0; + $35 = ((($0)) + 72|0); + HEAP32[$35>>2] = $34; + $36 = ((($0)) + 76|0); + HEAP32[$36>>2] = $$; + break; + } + } } while(0); - $136 = HEAP32[$$014>>2]|0; - $137 = ($136|0)==(0|0); - if ($137) { - label = 46; + _set_file_offset($0,$10); + } + $37 = HEAP32[$7>>2]|0; + $38 = ($37|0)==(-1); + $$51 = $38 ? 0 : $37; + $$0 = $$51; + STACKTOP = sp;return ($$0|0); +} +function _stb_vorbis_stream_length_in_seconds($0) { + $0 = $0|0; + var $1 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stb_vorbis_stream_length_in_samples($0)|0); + $2 = (+($1>>>0)); + $3 = HEAP32[$0>>2]|0; + $4 = (+($3>>>0)); + $5 = $2 / $4; + return (+$5); +} +function _stb_vorbis_get_samples_short_interleaved($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$041 = 0, $$042 = 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 $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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) / ($1|0))&-1; + $6 = ((($0)) + 4|0); + $7 = ((($0)) + 1508|0); + $8 = ((($0)) + 1504|0); + $9 = ((($0)) + 800|0); + $$041 = 0;$$042 = $2; + while(1) { + $10 = ($5|0)>($$041|0); + if (!($10)) { + $$1 = $$041; + label = 7; + break; + } + $11 = HEAP32[$7>>2]|0; + $12 = HEAP32[$8>>2]|0; + $13 = (($11) - ($12))|0; + $14 = (($13) + ($$041))|0; + $15 = ($14|0)<($5|0); + $16 = (($5) - ($$041))|0; + $$ = $15 ? $13 : $16; + $17 = ($$|0)==(0); + if (!($17)) { + $18 = HEAP32[$6>>2]|0; + _convert_channels_short_interleaved($1,$$042,$18,$9,$12,$$); + } + $19 = (($$) + ($$041))|0; + $20 = HEAP32[$8>>2]|0; + $21 = (($20) + ($$))|0; + HEAP32[$8>>2] = $21; + $22 = ($19|0)==($5|0); + if ($22) { + $$1 = $19; + label = 7; + break; + } + $23 = Math_imul($$, $1)|0; + $24 = (($$042) + ($23<<1)|0); + $25 = (_stb_vorbis_get_frame_float($0,0,$4)|0); + $not$ = ($25|0)==(0); + if ($not$) { + $$1 = $19; + label = 7; break; } else { - $$014 = $136; + $$041 = $19;$$042 = $24; } } - if ((label|0) == 4) { - ___assert_fail((19329|0),(17068|0),1912,(19344|0)); - // unreachable; - } - else if ((label|0) == 11) { - ___assert_fail((19373|0),(17068|0),1931,(19344|0)); - // unreachable; - } - else if ((label|0) == 21) { - ___assert_fail((19409|0),(17068|0),1959,(19344|0)); - // unreachable; - } - else if ((label|0) == 29) { - ___assert_fail((19427|0),(17068|0),1996,(19344|0)); - // unreachable; - } - else if ((label|0) == 46) { - return; + if ((label|0) == 7) { + STACKTOP = sp;return ($$1|0); } + return (0)|0; } -function _stbtt__hheap_cleanup($hh) { - $hh = $hh|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $c$01 = 0, label = 0, sp = 0; +function _stb_vorbis_close($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[$hh>>2]|0; $1 = ($0|0)==(0|0); if ($1) { return; - } else { - $c$01 = $0; - } - while(1) { - $2 = HEAP32[$c$01>>2]|0; - _free($c$01); - $3 = ($2|0)==(0|0); - if ($3) { - break; - } else { - $c$01 = $2; - } } + _vorbis_deinit($0); + _setup_free($0,$0); return; } -function _stbtt__handle_clipped_edge($scanline,$x,$e,$x0,$y0,$x1,$y1) { - $scanline = $scanline|0; - $x = $x|0; - $e = $e|0; - $x0 = +$x0; - $y0 = +$y0; - $x1 = +$x1; - $y1 = +$y1; - var $$0 = 0.0, $$01 = 0.0, $$02 = 0.0, $$03 = 0.0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0; - var $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0, $3 = 0.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.0; - var $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0; - var $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond4 = 0, $or$cond5 = 0, $or$cond6 = 0, $or$cond7 = 0, $or$cond8 = 0, $or$cond9 = 0, label = 0, sp = 0; +function _vorbis_deinit($0) { + $0 = $0|0; + var $$0103 = 0, $$08399 = 0, $$195 = 0, $$293 = 0, $$392 = 0, $$lcssa = 0, $$lcssa89 = 0, $$lcssa90 = 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, $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, $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, label = 0, sp = 0; sp = STACKTOP; - $0 = $y0 == $y1; - if ($0) { - return; - } - $1 = $y0 < $y1; - if (!($1)) { - ___assert_fail((19447|0),(17068|0),1870,(19455|0)); - // unreachable; - } - $2 = ((($e)) + 20|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($e)) + 24|0); - $5 = +HEAPF32[$4>>2]; - $6 = !($3 <= $5); - if ($6) { - ___assert_fail((19482|0),(17068|0),1871,(19455|0)); - // unreachable; - } - $7 = $5 < $y0; - $8 = $3 > $y1; - $or$cond = $8 | $7; - if ($or$cond) { - return; - } - $9 = $3 > $y0; - if ($9) { - $10 = $x1 - $x0; - $11 = $3 - $y0; - $12 = $10 * $11; - $13 = $y1 - $y0; - $14 = $12 / $13; - $15 = $14 + $x0; - $$02 = $3;$$03 = $15; - } else { - $$02 = $y0;$$03 = $x0; - } - $16 = +HEAPF32[$4>>2]; - $17 = $16 < $y1; - if ($17) { - $18 = $x1 - $$03; - $19 = $16 - $y1; - $20 = $18 * $19; - $21 = $y1 - $$02; - $22 = $20 / $21; - $23 = $22 + $x1; - $$0 = $16;$$01 = $23; - } else { - $$0 = $y1;$$01 = $x1; - } - $24 = (+($x|0)); - $25 = $$03 == $24; - $26 = (($x) + 1)|0; - $27 = (+($26|0)); - do { - if ($25) { - $28 = !($$01 <= $27); - if ($28) { - ___assert_fail((19497|0),(17068|0),1884,(19455|0)); - // unreachable; - } - } else { - $29 = $$03 == $27; - if ($29) { - $30 = !($$01 >= $24); - if (!($30)) { - break; - } - ___assert_fail((19507|0),(17068|0),1886,(19455|0)); - // unreachable; - } - $31 = !($$03 <= $24); - if (!($31)) { - $32 = !($$01 <= $24); - if (!($32)) { - break; - } - ___assert_fail((19515|0),(17068|0),1888,(19455|0)); - // unreachable; - } - $33 = !($$03 >= $27); - if ($33) { - $35 = !($$01 >= $24); - $36 = !($$01 <= $27); - $or$cond4 = $35 | $36; - if (!($or$cond4)) { - break; - } - ___assert_fail((19533|0),(17068|0),1892,(19455|0)); - // unreachable; - } else { - $34 = !($$01 >= $27); - if (!($34)) { - break; - } - ___assert_fail((19523|0),(17068|0),1890,(19455|0)); - // unreachable; - } - } - } while(0); - $37 = !($$03 <= $24); - $38 = !($$01 <= $24); - $or$cond5 = $37 | $38; - if (!($or$cond5)) { - $39 = ((($e)) + 16|0); - $40 = +HEAPF32[$39>>2]; - $41 = $$0 - $$02; - $42 = $41 * $40; - $43 = (($scanline) + ($x<<2)|0); - $44 = +HEAPF32[$43>>2]; - $45 = $44 + $42; - HEAPF32[$43>>2] = $45; - return; - } - $46 = !($$03 >= $27); - $47 = !($$01 >= $27); - $or$cond6 = $46 | $47; - if (!($or$cond6)) { - return; - } - $48 = !($$03 >= $24); - $49 = !($$03 <= $27); - $or$cond7 = $48 | $49; - $50 = !($$01 >= $24); - $or$cond8 = $or$cond7 | $50; - $51 = !($$01 <= $27); - $or$cond9 = $51 | $or$cond8; - if ($or$cond9) { - ___assert_fail((19554|0),(17068|0),1899,(19455|0)); - // unreachable; - } - $52 = ((($e)) + 16|0); - $53 = +HEAPF32[$52>>2]; - $54 = $$0 - $$02; - $55 = $54 * $53; - $56 = $$03 - $24; - $57 = $$01 - $24; - $58 = $56 + $57; - $59 = $58 * 0.5; - $60 = 1.0 - $59; - $61 = $60 * $55; - $62 = (($scanline) + ($x<<2)|0); - $63 = +HEAPF32[$62>>2]; - $64 = $63 + $61; - HEAPF32[$62>>2] = $64; - return; -} -function _stbtt__hheap_alloc($hh) { - $hh = $hh|0; - 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, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($hh)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = HEAP32[$1>>2]|0; - HEAP32[$0>>2] = $3; - $$0 = $1; - return ($$0|0); - } - $4 = ((($hh)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - do { + $1 = ((($0)) + 396|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = ((($0)) + 264|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)>(0); if ($6) { - $7 = (_malloc(56004)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - return ($$0|0); - } else { - $9 = HEAP32[$hh>>2]|0; - HEAP32[$7>>2] = $9; - HEAP32[$hh>>2] = $7; - HEAP32[$4>>2] = 2000; - break; - } - } - } while(0); - $10 = HEAP32[$4>>2]|0; - $11 = (($10) + -1)|0; - HEAP32[$4>>2] = $11; - $12 = HEAP32[$hh>>2]|0; - $13 = ($11*28)|0; - $14 = (($12) + ($13)|0); - $$0 = $14; - return ($$0|0); -} -function _stbtt__sort_edges_quicksort($p,$n) { - $p = $p|0; - $n = $n|0; - var $$0$ph9 = 0, $$01$ph8 = 0, $$017 = 0, $$lcssa = 0, $$lcssa$lcssa = 0, $$lcssa31 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0; - var $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0; - var $9 = 0, $i$0 = 0, $i$0$lcssa = 0, $i$0$lcssa$lcssa = 0, $i$0$ph = 0, $j$0$ph = 0, $j$1 = 0, $j$1$lcssa = 0, $j$1$lcssa$lcssa = 0, $j$1$lcssa$lcssa$lcssa = 0, $t = 0, $tmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $t = sp; - $0 = ($n|0)>(12); - if (!($0)) { - STACKTOP = sp;return; - } - $$0$ph9 = $p;$$01$ph8 = $n; - L4: while(1) { - $1 = ((($$0$ph9)) + 4|0); - $$017 = $$01$ph8; - while(1) { - $2 = $$017 >> 1; - $3 = +HEAPF32[$1>>2]; - $4 = (($$0$ph9) + (($2*20)|0)|0); - $5 = (((($$0$ph9) + (($2*20)|0)|0)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $3 < $6; - $8 = (($$017) + -1)|0; - $9 = (((($$0$ph9) + (($8*20)|0)|0)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $6 < $10; - $12 = $7 ^ $11; - if ($12) { - $13 = $3 < $10; - $tmp = $13 ^ $11; - $14 = $tmp ? $8 : 0; - $15 = (($$0$ph9) + (($14*20)|0)|0); - ;HEAP32[$t>>2]=HEAP32[$15>>2]|0;HEAP32[$t+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$t+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$t+12>>2]=HEAP32[$15+12>>2]|0;HEAP32[$t+16>>2]=HEAP32[$15+16>>2]|0; - ;HEAP32[$15>>2]=HEAP32[$4>>2]|0;HEAP32[$15+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$15+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$15+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$15+16>>2]=HEAP32[$4+16>>2]|0; - ;HEAP32[$4>>2]=HEAP32[$t>>2]|0;HEAP32[$4+4>>2]=HEAP32[$t+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$t+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$t+12>>2]|0;HEAP32[$4+16>>2]=HEAP32[$t+16>>2]|0; - } - ;HEAP32[$t>>2]=HEAP32[$$0$ph9>>2]|0;HEAP32[$t+4>>2]=HEAP32[$$0$ph9+4>>2]|0;HEAP32[$t+8>>2]=HEAP32[$$0$ph9+8>>2]|0;HEAP32[$t+12>>2]=HEAP32[$$0$ph9+12>>2]|0;HEAP32[$t+16>>2]=HEAP32[$$0$ph9+16>>2]|0; - ;HEAP32[$$0$ph9>>2]=HEAP32[$4>>2]|0;HEAP32[$$0$ph9+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$0$ph9+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$0$ph9+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$$0$ph9+16>>2]=HEAP32[$4+16>>2]|0; - ;HEAP32[$4>>2]=HEAP32[$t>>2]|0;HEAP32[$4+4>>2]=HEAP32[$t+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$t+8>>2]|0;HEAP32[$4+12>>2]=HEAP32[$t+12>>2]|0;HEAP32[$4+16>>2]=HEAP32[$t+16>>2]|0; - $i$0$ph = 1;$j$0$ph = $8; + $7 = ((($0)) + 124|0); + $$0103 = 0; while(1) { - $16 = +HEAPF32[$1>>2]; - $i$0 = $i$0$ph; - while(1) { - $17 = (((($$0$ph9) + (($i$0*20)|0)|0)) + 4|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 < $16; - $20 = (($i$0) + 1)|0; - if ($19) { - $i$0 = $20; + $8 = HEAP32[$1>>2]|0; + $9 = (((($8) + (($$0103*24)|0)|0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + if (!($11)) { + $12 = HEAP32[$7>>2]|0; + $13 = (((($8) + (($$0103*24)|0)|0)) + 13|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = (((($12) + (($15*2096)|0)|0)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(0); + $19 = HEAP32[$9>>2]|0; + if ($18) { + $$08399 = 0;$21 = $19; + while(1) { + $20 = (($21) + ($$08399<<2)|0); + $22 = HEAP32[$20>>2]|0; + _setup_free($0,$22); + $23 = (($$08399) + 1)|0; + $24 = HEAP32[$7>>2]|0; + $25 = HEAP8[$13>>0]|0; + $26 = $25&255; + $27 = (((($24) + (($26*2096)|0)|0)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($23|0)<($28|0); + $30 = HEAP32[$9>>2]|0; + if ($29) { + $$08399 = $23;$21 = $30; + } else { + $$lcssa90 = $30; + break; + } + } } else { - $i$0$lcssa = $i$0; - break; + $$lcssa90 = $19; } + _setup_free($0,$$lcssa90); } - $21 = +HEAPF32[$1>>2]; - $j$1 = $j$0$ph; - while(1) { - $22 = (((($$0$ph9) + (($j$1*20)|0)|0)) + 4|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 < $23; - $25 = (($j$1) + -1)|0; - if ($24) { - $j$1 = $25; - } else { - $j$1$lcssa = $j$1; - break; - } - } - $26 = (($$0$ph9) + (($i$0$lcssa*20)|0)|0); - $27 = ($i$0$lcssa|0)<($j$1$lcssa|0); - if (!($27)) { - $$lcssa = $26;$i$0$lcssa$lcssa = $i$0$lcssa;$j$1$lcssa$lcssa = $j$1$lcssa; + $31 = (((($8) + (($$0103*24)|0)|0)) + 20|0); + $32 = HEAP32[$31>>2]|0; + _setup_free($0,$32); + $33 = (($$0103) + 1)|0; + $34 = HEAP32[$4>>2]|0; + $35 = ($33|0)<($34|0); + if ($35) { + $$0103 = $33; + } else { break; } - $28 = (($$0$ph9) + (($j$1$lcssa*20)|0)|0); - ;HEAP32[$t>>2]=HEAP32[$26>>2]|0;HEAP32[$t+4>>2]=HEAP32[$26+4>>2]|0;HEAP32[$t+8>>2]=HEAP32[$26+8>>2]|0;HEAP32[$t+12>>2]=HEAP32[$26+12>>2]|0;HEAP32[$t+16>>2]=HEAP32[$26+16>>2]|0; - ;HEAP32[$26>>2]=HEAP32[$28>>2]|0;HEAP32[$26+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$26+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$26+12>>2]=HEAP32[$28+12>>2]|0;HEAP32[$26+16>>2]=HEAP32[$28+16>>2]|0; - ;HEAP32[$28>>2]=HEAP32[$t>>2]|0;HEAP32[$28+4>>2]=HEAP32[$t+4>>2]|0;HEAP32[$28+8>>2]=HEAP32[$t+8>>2]|0;HEAP32[$28+12>>2]=HEAP32[$t+12>>2]|0;HEAP32[$28+16>>2]=HEAP32[$t+16>>2]|0; - $29 = (($i$0$lcssa) + 1)|0; - $30 = (($j$1$lcssa) + -1)|0; - $i$0$ph = $29;$j$0$ph = $30; - } - $31 = (($$017) - ($i$0$lcssa$lcssa))|0; - $32 = ($j$1$lcssa$lcssa|0)<($31|0); - if ($32) { - $$lcssa$lcssa = $$lcssa;$$lcssa31 = $31;$j$1$lcssa$lcssa$lcssa = $j$1$lcssa$lcssa; - break; - } - _stbtt__sort_edges_quicksort($$lcssa,$31); - $34 = ($j$1$lcssa$lcssa|0)>(12); - if ($34) { - $$017 = $j$1$lcssa$lcssa; - } else { - label = 16; - break L4; } } - _stbtt__sort_edges_quicksort($$0$ph9,$j$1$lcssa$lcssa$lcssa); - $33 = ($$lcssa31|0)>(12); - if ($33) { - $$0$ph9 = $$lcssa$lcssa;$$01$ph8 = $$lcssa31; + } + $36 = ((($0)) + 124|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==(0|0); + if (!($38)) { + $39 = ((($0)) + 120|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($40|0)>(0); + $42 = HEAP32[$36>>2]|0; + if ($41) { + $$195 = 0;$44 = $42; + while(1) { + $43 = (((($44) + (($$195*2096)|0)|0)) + 8|0); + $45 = HEAP32[$43>>2]|0; + _setup_free($0,$45); + $46 = (((($44) + (($$195*2096)|0)|0)) + 28|0); + $47 = HEAP32[$46>>2]|0; + _setup_free($0,$47); + $48 = (((($44) + (($$195*2096)|0)|0)) + 32|0); + $49 = HEAP32[$48>>2]|0; + _setup_free($0,$49); + $50 = (((($44) + (($$195*2096)|0)|0)) + 2084|0); + $51 = HEAP32[$50>>2]|0; + _setup_free($0,$51); + $52 = (((($44) + (($$195*2096)|0)|0)) + 2088|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==(0|0); + $55 = ((($53)) + -4|0); + $56 = $54 ? 0 : $55; + _setup_free($0,$56); + $57 = (($$195) + 1)|0; + $58 = HEAP32[$39>>2]|0; + $59 = ($57|0)<($58|0); + $60 = HEAP32[$36>>2]|0; + if ($59) { + $$195 = $57;$44 = $60; + } else { + $$lcssa89 = $60; + break; + } + } } else { - label = 16; - break; + $$lcssa89 = $42; } + _setup_free($0,$$lcssa89); } - if ((label|0) == 16) { - STACKTOP = sp;return; + $61 = ((($0)) + 260|0); + $62 = HEAP32[$61>>2]|0; + _setup_free($0,$62); + $63 = HEAP32[$1>>2]|0; + _setup_free($0,$63); + $64 = ((($0)) + 404|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = ((($0)) + 400|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68|0)>(0); + $70 = HEAP32[$64>>2]|0; + if ($69) { + $$293 = 0;$72 = $70; + while(1) { + $71 = (((($72) + (($$293*40)|0)|0)) + 4|0); + $73 = HEAP32[$71>>2]|0; + _setup_free($0,$73); + $74 = (($$293) + 1)|0; + $75 = HEAP32[$67>>2]|0; + $76 = ($74|0)<($75|0); + $77 = HEAP32[$64>>2]|0; + if ($76) { + $$293 = $74;$72 = $77; + } else { + $$lcssa = $77; + break; + } + } + } else { + $$lcssa = $70; + } + _setup_free($0,$$lcssa); } -} -function _stbtt__sort_edges_ins_sort($p,$n) { - $p = $p|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $exitcond = 0, $i$04 = 0; - var $j$0$lcssa = 0, $j$01 = 0, $t$sroa$3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $t$sroa$3 = sp; - $0 = ($n|0)>(1); - if (!($0)) { - STACKTOP = sp;return; - } - $i$04 = 1; - while(1) { - $1 = (($p) + (($i$04*20)|0)|0); - $2 = HEAP32[$1>>2]|0; - $3 = (((($p) + (($i$04*20)|0)|0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = (((($p) + (($i$04*20)|0)|0)) + 8|0); - ;HEAP32[$t$sroa$3>>2]=HEAP32[$5>>2]|0;HEAP32[$t$sroa$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$t$sroa$3+8>>2]=HEAP32[$5+8>>2]|0; - $j$01 = $i$04; + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(0); + if ($80) { + $$392 = 0; while(1) { - $6 = (($j$01) + -1)|0; - $7 = (((($p) + (($6*20)|0)|0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $4 < $8; - if (!($9)) { - $j$0$lcssa = $j$01; - break; - } - $10 = (($p) + (($6*20)|0)|0); - $11 = (($p) + (($j$01*20)|0)|0); - ;HEAP32[$11>>2]=HEAP32[$10>>2]|0;HEAP32[$11+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$10+16>>2]|0; - $12 = ($j$01|0)>(1); - if ($12) { - $j$01 = $6; + $81 = (((($0)) + 800|0) + ($$392<<2)|0); + $82 = HEAP32[$81>>2]|0; + _setup_free($0,$82); + $83 = (((($0)) + 928|0) + ($$392<<2)|0); + $84 = HEAP32[$83>>2]|0; + _setup_free($0,$84); + $85 = (((($0)) + 996|0) + ($$392<<2)|0); + $86 = HEAP32[$85>>2]|0; + _setup_free($0,$86); + $87 = (($$392) + 1)|0; + $88 = HEAP32[$78>>2]|0; + $89 = ($87|0)<($88|0); + $90 = ($87|0)<(16); + $91 = $90 & $89; + if ($91) { + $$392 = $87; } else { - $j$0$lcssa = $6; break; } } - $13 = ($i$04|0)==($j$0$lcssa|0); - if (!($13)) { - $14 = (($p) + (($j$0$lcssa*20)|0)|0); - HEAP32[$14>>2] = $2; - $15 = (((($p) + (($j$0$lcssa*20)|0)|0)) + 4|0); - HEAPF32[$15>>2] = $4; - $16 = (((($p) + (($j$0$lcssa*20)|0)|0)) + 8|0); - ;HEAP32[$16>>2]=HEAP32[$t$sroa$3>>2]|0;HEAP32[$16+4>>2]=HEAP32[$t$sroa$3+4>>2]|0;HEAP32[$16+8>>2]=HEAP32[$t$sroa$3+8>>2]|0; + } + $92 = ((($0)) + 1068|0); + $93 = HEAP32[$92>>2]|0; + _setup_free($0,$93); + $94 = ((($0)) + 1076|0); + $95 = HEAP32[$94>>2]|0; + _setup_free($0,$95); + $96 = ((($0)) + 1084|0); + $97 = HEAP32[$96>>2]|0; + _setup_free($0,$97); + $98 = ((($0)) + 1092|0); + $99 = HEAP32[$98>>2]|0; + _setup_free($0,$99); + $100 = ((($0)) + 1100|0); + $101 = HEAP32[$100>>2]|0; + _setup_free($0,$101); + $102 = ((($0)) + 1072|0); + $103 = HEAP32[$102>>2]|0; + _setup_free($0,$103); + $104 = ((($0)) + 1080|0); + $105 = HEAP32[$104>>2]|0; + _setup_free($0,$105); + $106 = ((($0)) + 1088|0); + $107 = HEAP32[$106>>2]|0; + _setup_free($0,$107); + $108 = ((($0)) + 1096|0); + $109 = HEAP32[$108>>2]|0; + _setup_free($0,$109); + $110 = ((($0)) + 1104|0); + $111 = HEAP32[$110>>2]|0; + _setup_free($0,$111); + $112 = ((($0)) + 28|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)==(0); + if ($114) { + return; + } + $115 = ((($0)) + 20|0); + $116 = HEAP32[$115>>2]|0; + (_fclose($116)|0); + return; +} +function _setup_free($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 80|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if (!($4)) { + return; + } + _free($1); + return; +} +function _convert_channels_short_interleaved($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, $$04866 = 0, $$04956 = 0, $$05265 = 0, $$1$lcssa = 0, $$150$lcssa = 0, $$15057 = 0, $$158 = 0, $$2$lcssa = 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.0, $27 = 0.0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $exitcond = 0, $or$cond = 0, $or$cond3 = 0, $scevgep = 0, $smax = 0, $smax71 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($0|0)!=($2|0); + $7 = ($0|0)<(3); + $or$cond = $7 & $6; + $8 = ($2|0)<(7); + $or$cond3 = $8 & $or$cond; + if ($or$cond3) { + $9 = ($0|0)==(2); + if ($9) { + $$04956 = 0; + } else { + ___assert_fail((17501|0),(17088|0),4759,(17512|0)); + // unreachable; } - $17 = (($i$04) + 1)|0; - $exitcond = ($17|0)==($n|0); + while(1) { + _compute_stereo_samples($1,$2,$3,$4,$5); + $10 = (($$04956) + 1)|0; + $11 = ($10|0)<($0|0); + if ($11) { + $$04956 = $10; + } else { + break; + } + } + return; + } + $12 = ($0|0)<($2|0); + $13 = $12 ? $0 : $2; + $14 = ($5|0)>(0); + if (!($14)) { + return; + } + $15 = ($13|0)>(0); + $16 = ($13|0)>(0); + $smax = $16 ? $13 : 0; + $17 = (($0) - ($smax))|0; + $18 = ($13|0)>(0); + $smax71 = $18 ? $13 : 0; + $19 = (($0) - ($smax71))|0; + $20 = $19 << 1; + $$04866 = $1;$$05265 = 0; + while(1) { + if ($15) { + $21 = (($$05265) + ($4))|0; + $$15057 = 0;$$158 = $$04866; + while(1) { + $23 = (($3) + ($$15057<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($24) + ($21<<2)|0); + $26 = +HEAPF32[$25>>2]; + $27 = $26 + 384.0; + $28 = (HEAPF32[tempDoublePtr>>2]=$27,HEAP32[tempDoublePtr>>2]|0); + $29 = (($28) + -1136623616)|0; + $30 = ($29>>>0)>(65535); + $31 = ($28|0)<(1136656384); + $32 = $31 ? 32768 : 32767; + $$0 = $30 ? $32 : $28; + $33 = $$0&65535; + $34 = ((($$158)) + 2|0); + HEAP16[$$158>>1] = $33; + $35 = (($$15057) + 1)|0; + $36 = ($35|0)<($13|0); + if ($36) { + $$15057 = $35;$$158 = $34; + } else { + $$1$lcssa = $34;$$150$lcssa = $13; + break; + } + } + } else { + $$1$lcssa = $$04866;$$150$lcssa = 0; + } + $22 = ($$150$lcssa|0)<($0|0); + if ($22) { + _memset(($$1$lcssa|0),0,($20|0))|0; + $scevgep = (($$1$lcssa) + ($17<<1)|0); + $$2$lcssa = $scevgep; + } else { + $$2$lcssa = $$1$lcssa; + } + $37 = (($$05265) + 1)|0; + $exitcond = ($37|0)==($5|0); if ($exitcond) { break; } else { - $i$04 = $17; + $$04866 = $$2$lcssa;$$05265 = $37; } } - STACKTOP = sp;return; -} -function _stbtt__add_point($points,$n,$x,$y) { - $points = $points|0; - $n = $n|0; - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($points|0)==(0|0); - if ($0) { - return; - } - $1 = (($points) + ($n<<3)|0); - HEAPF32[$1>>2] = $x; - $2 = (((($points) + ($n<<3)|0)) + 4|0); - HEAPF32[$2>>2] = $y; return; } -function _stbtt__tesselate_curve($points,$num_points,$x0,$y0,$x1,$y1,$x2,$y2,$objspace_flatness_squared,$n) { - $points = $points|0; - $num_points = $num_points|0; - $x0 = +$x0; - $y0 = +$y0; - $x1 = +$x1; - $y1 = +$y1; - $x2 = +$x2; - $y2 = +$y2; - $objspace_flatness_squared = +$objspace_flatness_squared; - $n = $n|0; - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0; - var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $n$tr5 = 0, $x0$tr1 = 0.0, $x0$tr1$phi = 0.0, $x1$tr3 = 0.0, $y0$tr2 = 0.0, $y0$tr2$phi = 0.0, $y1$tr4 = 0.0, label = 0, sp = 0; +function _stb_vorbis_get_frame_float($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$020 = 0, $$022 = 0, $$lcssa = 0, $$lcssa21 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = $x1 * 2.0; - $1 = $0 + $x0; - $2 = $1 + $x2; - $3 = $2 * 0.25; - $4 = $y1 * 2.0; - $5 = $4 + $y0; - $6 = $5 + $y2; - $7 = $6 * 0.25; - $8 = ($n|0)>(16); - if ($8) { - return; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp + 8|0; + $4 = sp + 4|0; + $5 = sp; + $6 = ((($0)) + 48|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if (!($8)) { + _error($0,2); + $$020 = 0; + STACKTOP = sp;return ($$020|0); } - $9 = $y2 + $y0; - $10 = $9 * 0.5; - $11 = $10 - $7; - $12 = $x2 + $x0; - $13 = $12 * 0.5; - $14 = $13 - $3; - $16 = $14;$18 = $11;$26 = $3;$27 = $7;$n$tr5 = $n;$x0$tr1 = $x0;$x1$tr3 = $x1;$y0$tr2 = $y0;$y1$tr4 = $y1; + $9 = (_vorbis_decode_packet($0,$3,$5,$4)|0); + $10 = ($9|0)==(0); + if ($10) { + $11 = ((($0)) + 1508|0); + HEAP32[$11>>2] = 0; + $12 = ((($0)) + 1504|0); + HEAP32[$12>>2] = 0; + $$020 = 0; + STACKTOP = sp;return ($$020|0); + } + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = (_vorbis_finish_frame($0,$13,$14,$15)|0); + HEAP32[$3>>2] = $16; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)>(0); + $20 = HEAP32[$5>>2]|0; + if ($19) { + $21 = HEAP32[$5>>2]|0; + $$022 = 0;$25 = $20; + while(1) { + $22 = (((($0)) + 800|0) + ($$022<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($25<<2)|0); + $26 = (((($0)) + 864|0) + ($$022<<2)|0); + HEAP32[$26>>2] = $24; + $27 = (($$022) + 1)|0; + $28 = HEAP32[$17>>2]|0; + $29 = ($27|0)<($28|0); + if ($29) { + $$022 = $27;$25 = $21; + } else { + $$lcssa = $21;$$lcssa21 = $28; + break; + } + } + } else { + $$lcssa = $20;$$lcssa21 = $18; + } + $30 = ((($0)) + 1504|0); + HEAP32[$30>>2] = $$lcssa; + $31 = HEAP32[$3>>2]|0; + $32 = (($31) + ($$lcssa))|0; + $33 = ((($0)) + 1508|0); + HEAP32[$33>>2] = $32; + $34 = ($1|0)==(0|0); + if (!($34)) { + HEAP32[$1>>2] = $$lcssa21; + } + $35 = ($2|0)==(0|0); + if ($35) { + $$020 = $31; + STACKTOP = sp;return ($$020|0); + } + $36 = ((($0)) + 864|0); + HEAP32[$2>>2] = $36; + $$020 = $31; + STACKTOP = sp;return ($$020|0); +} +function _error($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 100|0); + HEAP32[$2>>2] = $1; + return; +} +function _vorbis_decode_packet($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, $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); + $4 = sp + 8|0; + $5 = sp + 4|0; + $6 = sp; + $7 = (_vorbis_decode_initial($0,$2,$5,$3,$6,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[$4>>2]|0; + $10 = (((($0)) + 412|0) + (($9*6)|0)|0); + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$6>>2]|0; + $14 = (_vorbis_decode_packet_rest($0,$1,$10,$11,$12,$13,$2)|0); + $$0 = $14; + STACKTOP = sp;return ($$0|0); +} +function _vorbis_finish_frame($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$06775 = 0, $$06878 = 0, $$06972 = 0, $$07073 = 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.0, $21 = 0, $22 = 0.0; + var $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0.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 $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 992|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $54 = 0; + } else { + $7 = (_get_window($0,$5)|0); + $8 = ((($0)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(0); + if ($10) { + $11 = ($5|0)>(0); + $12 = HEAP32[$8>>2]|0; + $13 = (($5) + -1)|0; + $$06878 = 0; + while(1) { + if ($11) { + $14 = (((($0)) + 800|0) + ($$06878<<2)|0); + $15 = HEAP32[$14>>2]|0; + $16 = (((($0)) + 928|0) + ($$06878<<2)|0); + $17 = HEAP32[$16>>2]|0; + $$06775 = 0; + while(1) { + $18 = (($$06775) + ($2))|0; + $19 = (($15) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = (($7) + ($$06775<<2)|0); + $22 = +HEAPF32[$21>>2]; + $23 = $20 * $22; + $24 = (($17) + ($$06775<<2)|0); + $25 = +HEAPF32[$24>>2]; + $26 = (($13) - ($$06775))|0; + $27 = (($7) + ($26<<2)|0); + $28 = +HEAPF32[$27>>2]; + $29 = $25 * $28; + $30 = $23 + $29; + HEAPF32[$19>>2] = $30; + $31 = (($$06775) + 1)|0; + $exitcond79 = ($31|0)==($5|0); + if ($exitcond79) { + break; + } else { + $$06775 = $31; + } + } + } + $32 = (($$06878) + 1)|0; + $33 = ($32|0)<($12|0); + if ($33) { + $$06878 = $32; + } else { + break; + } + } + } + $$pr = HEAP32[$4>>2]|0; + $54 = $$pr; + } + $34 = (($1) - ($3))|0; + HEAP32[$4>>2] = $34; + $35 = ((($0)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)>(0); + if ($37) { + $38 = ($1|0)>($3|0); + $39 = HEAP32[$35>>2]|0; + $40 = (($1) - ($3))|0; + $$07073 = 0; + while(1) { + if ($38) { + $41 = (((($0)) + 800|0) + ($$07073<<2)|0); + $42 = HEAP32[$41>>2]|0; + $43 = (((($0)) + 928|0) + ($$07073<<2)|0); + $44 = HEAP32[$43>>2]|0; + $$06972 = 0;$46 = $3; + while(1) { + $45 = (($42) + ($46<<2)|0); + $47 = HEAP32[$45>>2]|0; + $48 = (($44) + ($$06972<<2)|0); + HEAP32[$48>>2] = $47; + $49 = (($$06972) + 1)|0; + $50 = (($49) + ($3))|0; + $exitcond = ($49|0)==($40|0); + if ($exitcond) { + break; + } else { + $$06972 = $49;$46 = $50; + } + } + } + $51 = (($$07073) + 1)|0; + $52 = ($51|0)<($39|0); + if ($52) { + $$07073 = $51; + } else { + break; + } + } + } + $53 = ($54|0)==(0); + $55 = ($1|0)<($3|0); + $$ = $55 ? $1 : $3; + $56 = (($$) - ($2))|0; + $57 = ((($0)) + 1416|0); + if ($53) { + $$0 = 0; + return ($$0|0); + } + $58 = HEAP32[$57>>2]|0; + $59 = (($58) + ($56))|0; + HEAP32[$57>>2] = $59; + $$0 = $56; + return ($$0|0); +} +function _get_window($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sink = 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 << 1; + $3 = ((($0)) + 112|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)==($4|0); + if ($5) { + $$sink = 0; + } else { + $6 = ((($0)) + 116|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($2|0)==($7|0); + if ($8) { + $$sink = 1; + } else { + ___assert_fail((17086|0),(17088|0),2658,(17110|0)); + // unreachable; + } + } + $9 = (((($0)) + 1092|0) + ($$sink<<2)|0); + $$0 = HEAP32[$9>>2]|0; + return ($$0|0); +} +function _vorbis_decode_initial($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, $$062 = 0, $$063 = 0, $$064 = 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, $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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $phitmp = 0, $storemerge = 0, $storemerge65 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 1508|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 1504|0); + HEAP32[$7>>2] = 0; + $8 = ((($0)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $$0 = 0; + return ($$0|0); + } + $11 = ((($0)) + 48|0); while(1) { - $15 = $16 * $16; - $17 = $18 * $18; - $19 = $15 + $17; - $20 = $19 > $objspace_flatness_squared; - if (!($20)) { + $14 = (_maybe_start_packet($0)|0); + $15 = ($14|0)==(0); + if ($15) { + $$0 = 0; + label = 24; break; } - $21 = $x0$tr1 + $x1$tr3; - $22 = $21 * 0.5; - $23 = $y0$tr2 + $y1$tr4; - $24 = $23 * 0.5; - $25 = (($n$tr5) + 1)|0; - _stbtt__tesselate_curve($points,$num_points,$x0$tr1,$y0$tr2,$22,$24,$26,$27,$objspace_flatness_squared,$25); - $28 = $x1$tr3 + $x2; - $29 = $28 * 0.5; - $30 = $y1$tr4 + $y2; - $31 = $30 * 0.5; - $32 = $29 * 2.0; - $33 = $26 + $32; - $34 = $33 + $x2; - $35 = $34 * 0.25; - $36 = $31 * 2.0; - $37 = $27 + $36; - $38 = $37 + $y2; - $39 = $38 * 0.25; - $40 = $26 + $x2; - $41 = $40 * 0.5; - $42 = $41 - $35; - $43 = $27 + $y2; - $44 = $43 * 0.5; - $45 = $44 - $39; - $46 = ($n$tr5|0)>(15); - if ($46) { - label = 6; + $16 = (_get_bits($0,1)|0); + $17 = ($16|0)==(0); + if ($17) { + label = 9; break; + } + $18 = HEAP8[$11>>0]|0; + $19 = ($18<<24>>24)==(0); + if (!($19)) { + label = 7; + break; + } + while(1) { + $20 = (_get8_packet($0)|0); + $21 = ($20|0)==(-1); + if ($21) { + break; + } + } + $12 = HEAP32[$8>>2]|0; + $13 = ($12|0)==(0); + if (!($13)) { + $$0 = 0; + label = 24; + break; + } + } + if ((label|0) == 7) { + _error($0,35); + $$0 = 0; + return ($$0|0); + } + else if ((label|0) == 9) { + $22 = ((($0)) + 80|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($23|0)==(0|0); + if (!($24)) { + $25 = ((($0)) + 84|0); + $26 = HEAP32[$25>>2]|0; + $27 = ((($0)) + 92|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($26|0)==($28|0); + if (!($29)) { + ___assert_fail((17121|0),(17088|0),2737,(17479|0)); + // unreachable; + } + } + $30 = ((($0)) + 408|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + -1)|0; + $33 = (_ilog($32)|0); + $34 = (_get_bits($0,$33)|0); + $35 = ($34|0)==(-1); + if ($35) { + $$0 = 0; + return ($$0|0); + } + $36 = HEAP32[$30>>2]|0; + $37 = ($34|0)<($36|0); + if (!($37)) { + $$0 = 0; + return ($$0|0); + } + HEAP32[$5>>2] = $34; + $38 = (((($0)) + 412|0) + (($34*6)|0)|0); + $39 = HEAP8[$38>>0]|0; + $40 = ($39<<24>>24)==(0); + if ($40) { + $45 = ((($0)) + 112|0); + $46 = HEAP32[$45>>2]|0; + $$062 = 0;$$063 = 0;$$064 = $46; } else { - $y0$tr2$phi = $27;$x0$tr1$phi = $26;$16 = $42;$18 = $45;$26 = $35;$27 = $39;$n$tr5 = $25;$x1$tr3 = $29;$y1$tr4 = $31;$y0$tr2 = $y0$tr2$phi;$x0$tr1 = $x0$tr1$phi; + $41 = ((($0)) + 116|0); + $42 = HEAP32[$41>>2]|0; + $43 = (_get_bits($0,1)|0); + $44 = (_get_bits($0,1)|0); + $phitmp = ($43|0)!=(0); + $$062 = $44;$$063 = $phitmp;$$064 = $42; + } + $47 = $$064 >> 1; + $48 = HEAP8[$38>>0]|0; + $49 = ($48<<24>>24)==(0); + $or$cond = $$063 | $49; + if ($or$cond) { + HEAP32[$1>>2] = 0; + $storemerge = $47; + } else { + $50 = ((($0)) + 112|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($$064) - ($51))|0; + $53 = $52 >> 2; + HEAP32[$1>>2] = $53; + $54 = HEAP32[$50>>2]|0; + $55 = (($54) + ($$064))|0; + $56 = $55 >> 2; + $storemerge = $56; + } + HEAP32[$2>>2] = $storemerge; + $57 = ($$062|0)!=(0); + $or$cond3 = $57 | $49; + if ($or$cond3) { + HEAP32[$3>>2] = $47; + $storemerge65 = $$064; + } else { + $58 = ($$064*3)|0; + $59 = ((($0)) + 112|0); + $60 = HEAP32[$59>>2]|0; + $61 = (($58) - ($60))|0; + $62 = $61 >> 2; + HEAP32[$3>>2] = $62; + $63 = HEAP32[$59>>2]|0; + $64 = (($63) + ($58))|0; + $65 = $64 >> 2; + $storemerge65 = $65; + } + HEAP32[$4>>2] = $storemerge65; + $$0 = 1; + return ($$0|0); + } + else if ((label|0) == 24) { + return ($$0|0); + } + return (0)|0; +} +function _vorbis_decode_packet_rest($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, $$0409 = 0.0, $$0410 = 0.0, $$0411 = 0, $$041263 = 0, $$041652 = 0, $$0421$lcssa = 0, $$042133 = 0, $$042347 = 0, $$0427 = 0, $$042851 = 0, $$11 = 0, $$13 = 0, $$141341 = 0, $$141756 = 0, $$1422 = 0, $$1429$lcssa = 0, $$142946 = 0, $$1432 = 0, $$1437 = 0; + var $$241438 = 0, $$241860 = 0, $$2430 = 0, $$2438 = 0, $$3 = 0, $$341530 = 0, $$341530$in = 0, $$341934 = 0, $$424 = 0, $$442026 = 0, $$4435$ph = 0, $$443545 = 0, $$523 = 0, $$6 = 0, $$7 = 0, $$8 = 0, $$lcssa19 = 0, $$sink$sink = 0, $$sink3 = 0, $$sink3$in = 0; + var $$sink5 = 0, $$sink9 = 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.0, $305 = 0, $306 = 0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0.0, $312 = 0.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, $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, $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, $exitcond69 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2560|0); + $7 = sp + 1280|0; + $8 = sp + 256|0; + $9 = sp; + $10 = sp + 2304|0; + $11 = HEAP8[$2>>0]|0; + $12 = $11&255; + $13 = (((($0)) + 104|0) + ($12<<2)|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 404|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($2)) + 1|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = (($16) + (($19*40)|0)|0); + $21 = $14 >> 1; + $22 = (0 - ($21))|0; + $23 = ((($0)) + 4|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)>(0); + L1: do { + if ($25) { + $26 = (((($16) + (($19*40)|0)|0)) + 4|0); + $27 = ((($0)) + 260|0); + $28 = ((($0)) + 1396|0); + $29 = ((($9)) + 1|0); + $30 = ((($0)) + 124|0); + $31 = ((($0)) + 1396|0); + $32 = ((($0)) + 1392|0); + $33 = ((($0)) + 124|0); + $34 = ((($0)) + 1396|0); + $35 = ((($0)) + 1392|0); + $$041263 = 0; + while(1) { + $36 = HEAP32[$26>>2]|0; + $37 = (((($36) + (($$041263*3)|0)|0)) + 2|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = (($7) + ($$041263<<2)|0); + HEAP32[$40>>2] = 0; + $41 = ((((($16) + (($19*40)|0)|0)) + 9|0) + ($39)|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42&255; + $44 = (((($0)) + 132|0) + ($43<<1)|0); + $45 = HEAP16[$44>>1]|0; + $46 = ($45<<16>>16)==(0); + if ($46) { + break; + } + $47 = HEAP32[$27>>2]|0; + $48 = (_get_bits($0,1)|0); + $49 = ($48|0)==(0); + do { + if ($49) { + label = 48; + } else { + $50 = (((($47) + (($43*1596)|0)|0)) + 1588|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51&255; + $53 = (($52) + -1)|0; + $54 = (3756 + ($53<<2)|0); + $55 = HEAP32[$54>>2]|0; + $56 = (((($0)) + 996|0) + ($$041263<<2)|0); + $57 = HEAP32[$56>>2]|0; + $58 = (_ilog($55)|0); + $59 = (($58) + -1)|0; + $60 = (_get_bits($0,$59)|0); + $61 = $60&65535; + HEAP16[$57>>1] = $61; + $62 = (_get_bits($0,$59)|0); + $63 = $62&65535; + $64 = ((($57)) + 2|0); + HEAP16[$64>>1] = $63; + $65 = (($47) + (($43*1596)|0)|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(0); + if (!($67)) { + $$041652 = 0;$$042851 = 2; + while(1) { + $68 = ((((($47) + (($43*1596)|0)|0)) + 1|0) + ($$041652)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = ((((($47) + (($43*1596)|0)|0)) + 33|0) + ($70)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = ((((($47) + (($43*1596)|0)|0)) + 49|0) + ($70)|0); + $75 = HEAP8[$74>>0]|0; + $76 = $75&255; + $77 = 1 << $76; + $78 = (($77) + -1)|0; + $79 = ($75<<24>>24)==(0); + if ($79) { + $$4435$ph = 0; + } else { + $80 = HEAP32[$30>>2]|0; + $81 = ((((($47) + (($43*1596)|0)|0)) + 65|0) + ($70)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = (($80) + (($83*2096)|0)|0); + $85 = HEAP32[$31>>2]|0; + $86 = ($85|0)<(10); + if ($86) { + _prep_huffman($0); + } + $87 = HEAP32[$32>>2]|0; + $88 = $87 & 1023; + $89 = ((((($80) + (($83*2096)|0)|0)) + 36|0) + ($88<<1)|0); + $90 = HEAP16[$89>>1]|0; + $91 = $90 << 16 >> 16; + $92 = ($90<<16>>16)>(-1); + if ($92) { + $93 = (((($80) + (($83*2096)|0)|0)) + 8|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($94) + ($91)|0); + $96 = HEAP8[$95>>0]|0; + $97 = $96&255; + $98 = $87 >>> $97; + HEAP32[$32>>2] = $98; + $99 = HEAP32[$31>>2]|0; + $100 = (($99) - ($97))|0; + $101 = ($100|0)<(0); + $$ = $101 ? 0 : $100; + $$6 = $101 ? -1 : $91; + HEAP32[$31>>2] = $$; + $$1432 = $$6; + } else { + $102 = (_codebook_decode_scalar_raw($0,$84)|0); + $$1432 = $102; + } + $103 = (((($80) + (($83*2096)|0)|0)) + 23|0); + $104 = HEAP8[$103>>0]|0; + $105 = ($104<<24>>24)==(0); + if ($105) { + $$4435$ph = $$1432; + } else { + $106 = (((($80) + (($83*2096)|0)|0)) + 2088|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + ($$1432<<2)|0); + $109 = HEAP32[$108>>2]|0; + $$4435$ph = $109; + } + } + $110 = ($72<<24>>24)==(0); + if ($110) { + $$1429$lcssa = $$042851; + } else { + $$042347 = 0;$$142946 = $$042851;$$443545 = $$4435$ph; + while(1) { + $111 = $$443545 & $78; + $112 = (((((($47) + (($43*1596)|0)|0)) + 82|0) + ($70<<4)|0) + ($111<<1)|0); + $113 = HEAP16[$112>>1]|0; + $114 = $$443545 >> $76; + $115 = ($113<<16>>16)>(-1); + if ($115) { + $116 = $113 << 16 >> 16; + $117 = HEAP32[$33>>2]|0; + $118 = (($117) + (($116*2096)|0)|0); + $119 = HEAP32[$34>>2]|0; + $120 = ($119|0)<(10); + if ($120) { + _prep_huffman($0); + } + $121 = HEAP32[$35>>2]|0; + $122 = $121 & 1023; + $123 = ((((($117) + (($116*2096)|0)|0)) + 36|0) + ($122<<1)|0); + $124 = HEAP16[$123>>1]|0; + $125 = $124 << 16 >> 16; + $126 = ($124<<16>>16)>(-1); + if ($126) { + $127 = (((($117) + (($116*2096)|0)|0)) + 8|0); + $128 = HEAP32[$127>>2]|0; + $129 = (($128) + ($125)|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130&255; + $132 = $121 >>> $131; + HEAP32[$35>>2] = $132; + $133 = HEAP32[$34>>2]|0; + $134 = (($133) - ($131))|0; + $135 = ($134|0)<(0); + $$7 = $135 ? 0 : $134; + $$8 = $135 ? -1 : $125; + HEAP32[$34>>2] = $$7; + $$1437 = $$8; + } else { + $136 = (_codebook_decode_scalar_raw($0,$118)|0); + $$1437 = $136; + } + $137 = (((($117) + (($116*2096)|0)|0)) + 23|0); + $138 = HEAP8[$137>>0]|0; + $139 = ($138<<24>>24)==(0); + if ($139) { + $$2438 = $$1437; + } else { + $140 = (((($117) + (($116*2096)|0)|0)) + 2088|0); + $141 = HEAP32[$140>>2]|0; + $142 = (($141) + ($$1437<<2)|0); + $143 = HEAP32[$142>>2]|0; + $$2438 = $143; + } + $144 = $$2438&65535; + $$sink9 = $144; + } else { + $$sink9 = 0; + } + $145 = (($57) + ($$142946<<1)|0); + HEAP16[$145>>1] = $$sink9; + $$2430 = (($$142946) + 1)|0; + $146 = (($$042347) + 1)|0; + $exitcond69 = ($146|0)==($73|0); + if ($exitcond69) { + break; + } else { + $$042347 = $146;$$142946 = $$2430;$$443545 = $114; + } + } + $147 = (($$042851) + ($73))|0; + $$1429$lcssa = $147; + } + $148 = (($$041652) + 1)|0; + $149 = HEAP8[$65>>0]|0; + $150 = $149&255; + $151 = ($148|0)<($150|0); + if ($151) { + $$041652 = $148;$$042851 = $$1429$lcssa; + } else { + break; + } + } + } + $152 = HEAP32[$28>>2]|0; + $153 = ($152|0)==(-1); + if ($153) { + label = 48; + break; + } + HEAP8[$29>>0] = 1; + HEAP8[$9>>0] = 1; + $154 = (((($47) + (($43*1596)|0)|0)) + 1592|0); + $155 = HEAP32[$154>>2]|0; + $156 = ($155|0)>(2); + if ($156) { + $157 = (($55) + 65535)|0; + $$141756 = 2; + while(1) { + $161 = ((((($47) + (($43*1596)|0)|0)) + 1088|0) + ($$141756<<1)|0); + $162 = HEAP8[$161>>0]|0; + $163 = $162&255; + $164 = ((((((($47) + (($43*1596)|0)|0)) + 1088|0) + ($$141756<<1)|0)) + 1|0); + $165 = HEAP8[$164>>0]|0; + $166 = $165&255; + $167 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($$141756<<1)|0); + $168 = HEAP16[$167>>1]|0; + $169 = $168&65535; + $170 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($163<<1)|0); + $171 = HEAP16[$170>>1]|0; + $172 = $171&65535; + $173 = ((((($47) + (($43*1596)|0)|0)) + 338|0) + ($166<<1)|0); + $174 = HEAP16[$173>>1]|0; + $175 = $174&65535; + $176 = (($57) + ($163<<1)|0); + $177 = HEAP16[$176>>1]|0; + $178 = $177 << 16 >> 16; + $179 = (($57) + ($166<<1)|0); + $180 = HEAP16[$179>>1]|0; + $181 = $180 << 16 >> 16; + $182 = (_predict_point($169,$172,$175,$178,$181)|0); + $183 = (($57) + ($$141756<<1)|0); + $184 = HEAP16[$183>>1]|0; + $185 = $184 << 16 >> 16; + $186 = (($55) - ($182))|0; + $187 = ($184<<16>>16)==(0); + do { + if ($187) { + $203 = (($9) + ($$141756)|0); + HEAP8[$203>>0] = 0; + $204 = $182&65535; + $$sink$sink = $204; + } else { + $188 = ($186|0)<($182|0); + $$11 = $188 ? $186 : $182; + $$0427 = $$11 << 1; + $189 = (($9) + ($166)|0); + HEAP8[$189>>0] = 1; + $190 = (($9) + ($163)|0); + HEAP8[$190>>0] = 1; + $191 = (($9) + ($$141756)|0); + HEAP8[$191>>0] = 1; + $192 = ($185|0)<($$0427|0); + if (!($192)) { + $193 = ($186|0)>($182|0); + if ($193) { + $$sink$sink = $184; + break; + } + $194 = (($157) - ($185))|0; + $195 = $194&65535; + $$sink$sink = $195; + break; + } + $196 = $185 & 1; + $197 = ($196|0)==(0); + if ($197) { + $201 = $185 >>> 1; + $202 = (($201) + ($182))|0; + $$sink3$in = $202; + } else { + $198 = (($185) + 1)|0; + $199 = $198 >> 1; + $200 = (($182) - ($199))|0; + $$sink3$in = $200; + } + $$sink3 = $$sink3$in&65535; + $$sink$sink = $$sink3; + } + } while(0); + HEAP16[$183>>1] = $$sink$sink; + $205 = (($$141756) + 1)|0; + $206 = HEAP32[$154>>2]|0; + $207 = ($205|0)<($206|0); + if ($207) { + $$141756 = $205; + } else { + $159 = $206; + break; + } + } + } else { + $159 = $155; + } + $158 = ($159|0)>(0); + if ($158) { + $160 = HEAP32[$154>>2]|0; + $$241860 = 0; + while(1) { + $208 = (($9) + ($$241860)|0); + $209 = HEAP8[$208>>0]|0; + $210 = ($209<<24>>24)==(0); + if ($210) { + $211 = (($57) + ($$241860<<1)|0); + HEAP16[$211>>1] = -1; + } + $212 = (($$241860) + 1)|0; + $213 = ($212|0)<($160|0); + if ($213) { + $$241860 = $212; + } else { + break; + } + } + } + } + } while(0); + if ((label|0) == 48) { + label = 0; + HEAP32[$40>>2] = 1; + } + $214 = (($$041263) + 1)|0; + $215 = HEAP32[$23>>2]|0; + $216 = ($214|0)<($215|0); + if ($216) { + $$041263 = $214; + } else { + $$lcssa19 = $215; + break L1; + } + } + _error($0,21); + $$3 = 0; + STACKTOP = sp;return ($$3|0); + } else { + $$lcssa19 = $24; + } + } while(0); + $217 = ((($0)) + 80|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($218|0)==(0|0); + if (!($219)) { + $220 = ((($0)) + 84|0); + $221 = HEAP32[$220>>2]|0; + $222 = ((($0)) + 92|0); + $223 = HEAP32[$222>>2]|0; + $224 = ($221|0)==($223|0); + if (!($224)) { + ___assert_fail((17121|0),(17088|0),2886,(17177|0)); + // unreachable; + } + } + $225 = $$lcssa19 << 2; + _memcpy(($8|0),($7|0),($225|0))|0; + $226 = HEAP16[$20>>1]|0; + $227 = ($226<<16>>16)==(0); + if (!($227)) { + $228 = (((($16) + (($19*40)|0)|0)) + 4|0); + $229 = HEAP32[$228>>2]|0; + $230 = HEAP16[$20>>1]|0; + $231 = $230&65535; + $$141341 = 0; + while(1) { + $236 = (($229) + (($$141341*3)|0)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($7) + ($238<<2)|0); + $240 = HEAP32[$239>>2]|0; + $241 = ($240|0)==(0); + $242 = (((($229) + (($$141341*3)|0)|0)) + 1|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + if ($241) { + label = 59; + } else { + $245 = (($7) + ($244<<2)|0); + $246 = HEAP32[$245>>2]|0; + $247 = ($246|0)==(0); + if ($247) { + label = 59; + } + } + if ((label|0) == 59) { + label = 0; + $248 = (($7) + ($244<<2)|0); + HEAP32[$248>>2] = 0; + HEAP32[$239>>2] = 0; + } + $249 = (($$141341) + 1)|0; + $250 = ($249|0)<($231|0); + if ($250) { + $$141341 = $249; + } else { + break; + } + } + } + $232 = (((($16) + (($19*40)|0)|0)) + 8|0); + $233 = HEAP8[$232>>0]|0; + $234 = ($233<<24>>24)==(0); + if (!($234)) { + $235 = (((($16) + (($19*40)|0)|0)) + 4|0); + $$241438 = 0; + while(1) { + $251 = HEAP32[$23>>2]|0; + $252 = ($251|0)>(0); + if ($252) { + $253 = HEAP32[$235>>2]|0; + $254 = HEAP32[$23>>2]|0; + $$042133 = 0;$$341934 = 0; + while(1) { + $255 = (((($253) + (($$341934*3)|0)|0)) + 2|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = ($257|0)==($$241438|0); + if ($258) { + $259 = (($7) + ($$341934<<2)|0); + $260 = HEAP32[$259>>2]|0; + $261 = ($260|0)==(0); + $262 = (($10) + ($$042133)|0); + if ($261) { + HEAP8[$262>>0] = 0; + $263 = (((($0)) + 800|0) + ($$341934<<2)|0); + $264 = HEAP32[$263>>2]|0; + $$sink5 = $264; + } else { + HEAP8[$262>>0] = 1; + $$sink5 = 0; + } + $265 = (($9) + ($$042133<<2)|0); + HEAP32[$265>>2] = $$sink5; + $266 = (($$042133) + 1)|0; + $$1422 = $266; + } else { + $$1422 = $$042133; + } + $267 = (($$341934) + 1)|0; + $268 = ($267|0)<($254|0); + if ($268) { + $$042133 = $$1422;$$341934 = $267; + } else { + $$0421$lcssa = $$1422; + break; + } + } + } else { + $$0421$lcssa = 0; + } + $269 = ((((($16) + (($19*40)|0)|0)) + 24|0) + ($$241438)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + _decode_residue($0,$9,$$0421$lcssa,$21,$271,$10); + $272 = (($$241438) + 1)|0; + $273 = HEAP8[$232>>0]|0; + $274 = $273&255; + $275 = ($272|0)<($274|0); + if ($275) { + $$241438 = $272; + } else { + break; + } + } + } + $276 = HEAP32[$217>>2]|0; + $277 = ($276|0)==(0|0); + if (!($277)) { + $278 = ((($0)) + 84|0); + $279 = HEAP32[$278>>2]|0; + $280 = ((($0)) + 92|0); + $281 = HEAP32[$280>>2]|0; + $282 = ($279|0)==($281|0); + if (!($282)) { + ___assert_fail((17121|0),(17088|0),2919,(17177|0)); + // unreachable; + } + } + $283 = HEAP16[$20>>1]|0; + $284 = ($283<<16>>16)==(0); + if (!($284)) { + $285 = $283&65535; + $286 = (((($16) + (($19*40)|0)|0)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = ($21|0)>(0); + $$341530$in = $285; + while(1) { + $$341530 = (($$341530$in) + -1)|0; + $293 = (($287) + (($$341530*3)|0)|0); + $294 = HEAP8[$293>>0]|0; + $295 = $294&255; + $296 = (((($0)) + 800|0) + ($295<<2)|0); + $297 = HEAP32[$296>>2]|0; + $298 = (((($287) + (($$341530*3)|0)|0)) + 1|0); + $299 = HEAP8[$298>>0]|0; + $300 = $299&255; + $301 = (((($0)) + 800|0) + ($300<<2)|0); + $302 = HEAP32[$301>>2]|0; + if ($288) { + $$442026 = 0; + while(1) { + $303 = (($297) + ($$442026<<2)|0); + $304 = +HEAPF32[$303>>2]; + $305 = $304 > 0.0; + $306 = (($302) + ($$442026<<2)|0); + $307 = +HEAPF32[$306>>2]; + $308 = $307 > 0.0; + do { + if ($305) { + if ($308) { + $309 = $304 - $307; + $$0409 = $304;$$0410 = $309; + break; + } else { + $310 = $304 + $307; + $$0409 = $310;$$0410 = $304; + break; + } + } else { + if ($308) { + $311 = $304 + $307; + $$0409 = $304;$$0410 = $311; + break; + } else { + $312 = $304 - $307; + $$0409 = $312;$$0410 = $304; + break; + } + } + } while(0); + HEAPF32[$303>>2] = $$0409; + HEAPF32[$306>>2] = $$0410; + $313 = (($$442026) + 1)|0; + $exitcond = ($313|0)==($21|0); + if ($exitcond) { + break; + } else { + $$442026 = $313; + } + } + } + $289 = ($$341530$in|0)>(1); + if ($289) { + $$341530$in = $$341530; + } else { + break; + } + } + } + $290 = HEAP32[$23>>2]|0; + $291 = ($290|0)>(0); + if ($291) { + $292 = $21 << 2; + $$424 = 0; + while(1) { + $316 = (($8) + ($$424<<2)|0); + $317 = HEAP32[$316>>2]|0; + $318 = ($317|0)==(0); + $319 = (((($0)) + 800|0) + ($$424<<2)|0); + $320 = HEAP32[$319>>2]|0; + if ($318) { + $321 = (((($0)) + 996|0) + ($$424<<2)|0); + $322 = HEAP32[$321>>2]|0; + _do_floor($0,$20,$$424,$14,$320,$322); + } else { + _memset(($320|0),0,($292|0))|0; + } + $323 = (($$424) + 1)|0; + $315 = HEAP32[$23>>2]|0; + $324 = ($323|0)<($315|0); + if ($324) { + $$424 = $323; + } else { + break; + } + } + $314 = ($315|0)>(0); + if ($314) { + $$523 = 0; + while(1) { + $325 = (((($0)) + 800|0) + ($$523<<2)|0); + $326 = HEAP32[$325>>2]|0; + $327 = HEAP8[$2>>0]|0; + $328 = $327&255; + _inverse_mdct($326,$14,$0,$328); + $329 = (($$523) + 1)|0; + $330 = HEAP32[$23>>2]|0; + $331 = ($329|0)<($330|0); + if ($331) { + $$523 = $329; + } else { + break; + } + } + } + } + _flush_packet($0); + $332 = ((($0)) + 1377|0); + $333 = HEAP8[$332>>0]|0; + $334 = ($333<<24>>24)==(0); + do { + if ($334) { + $339 = ((($0)) + 1412|0); + $340 = HEAP32[$339>>2]|0; + $341 = ($340|0)==(0); + if ($341) { + $$0411 = $3; + } else { + $342 = (($4) - ($3))|0; + $343 = ($340|0)<($342|0); + if ($343) { + $345 = (($340) + ($3))|0; + HEAP32[$6>>2] = $345; + HEAP32[$339>>2] = 0; + $$0411 = $345; + break; + } else { + $344 = (($340) - ($342))|0; + HEAP32[$339>>2] = $344; + HEAP32[$6>>2] = $4; + $$0411 = $4; + break; + } + } + } else { + $335 = ((($0)) + 1060|0); + HEAP32[$335>>2] = $22; + $336 = (($14) - ($5))|0; + $337 = ((($0)) + 1412|0); + HEAP32[$337>>2] = $336; + $338 = ((($0)) + 1064|0); + HEAP32[$338>>2] = 1; + HEAP8[$332>>0] = 0; + $$0411 = $3; + } + } while(0); + $346 = ((($0)) + 1388|0); + $347 = HEAP32[$346>>2]|0; + $348 = ((($0)) + 1404|0); + $349 = HEAP32[$348>>2]|0; + $350 = ($347|0)==($349|0); + if ($350) { + $351 = ((($0)) + 1064|0); + $352 = HEAP32[$351>>2]|0; + $353 = ($352|0)==(0); + if (!($353)) { + $354 = ((($0)) + 1375|0); + $355 = HEAP8[$354>>0]|0; + $356 = $355 & 4; + $357 = ($356<<24>>24)==(0); + if (!($357)) { + $358 = ((($0)) + 1408|0); + $359 = HEAP32[$358>>2]|0; + $360 = (($5) - ($14))|0; + $361 = (($359) + ($360))|0; + $362 = ((($0)) + 1060|0); + $363 = HEAP32[$362>>2]|0; + $364 = (($5) - ($$0411))|0; + $365 = (($364) + ($363))|0; + $366 = ($361>>>0)<($365>>>0); + $367 = ($361>>>0)<($363>>>0); + $368 = (($361) - ($363))|0; + $storemerge = $367 ? 0 : $368; + $369 = (($storemerge) + ($$0411))|0; + $370 = ($369|0)>($5|0); + $$13 = $370 ? $5 : $369; + if ($366) { + HEAP32[$1>>2] = $$13; + $371 = HEAP32[$362>>2]|0; + $372 = (($371) + ($$13))|0; + HEAP32[$362>>2] = $372; + $$3 = 1; + STACKTOP = sp;return ($$3|0); + } + } + } + $373 = ((($0)) + 1408|0); + $374 = HEAP32[$373>>2]|0; + $375 = (($$0411) - ($21))|0; + $376 = (($375) + ($374))|0; + $377 = ((($0)) + 1060|0); + HEAP32[$377>>2] = $376; + HEAP32[$351>>2] = 1; + } + $378 = ((($0)) + 1064|0); + $379 = HEAP32[$378>>2]|0; + $380 = ($379|0)==(0); + $381 = ((($0)) + 1060|0); + if (!($380)) { + $382 = (($4) - ($$0411))|0; + $383 = HEAP32[$381>>2]|0; + $384 = (($382) + ($383))|0; + HEAP32[$381>>2] = $384; + } + $385 = HEAP32[$217>>2]|0; + $386 = ($385|0)==(0|0); + if (!($386)) { + $387 = ((($0)) + 84|0); + $388 = HEAP32[$387>>2]|0; + $389 = ((($0)) + 92|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($388|0)==($390|0); + if (!($391)) { + ___assert_fail((17121|0),(17088|0),3035,(17177|0)); + // unreachable; + } + } + HEAP32[$1>>2] = $5; + $$3 = 1; + STACKTOP = sp;return ($$3|0); +} +function _get_bits($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$2 = 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, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 1396|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(0); + if ($4) { + $$2 = 0; + return ($$2|0); + } + $5 = ($3|0)<($1|0); + L4: do { + if ($5) { + $6 = ($1|0)>(24); + if ($6) { + $7 = (_get_bits($0,24)|0); + $8 = (($1) + -24)|0; + $9 = (_get_bits($0,$8)|0); + $10 = $9 << 24; + $11 = (($10) + ($7))|0; + return ($11|0); + } + $12 = ($3|0)==(0); + if ($12) { + $13 = ((($0)) + 1392|0); + HEAP32[$13>>2] = 0; + } + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)<($1|0); + if ($15) { + $16 = ((($0)) + 1392|0); + while(1) { + $17 = (_get8_packet_raw($0)|0); + $18 = ($17|0)==(-1); + if ($18) { + break; + } + $19 = HEAP32[$2>>2]|0; + $20 = $17 << $19; + $21 = HEAP32[$16>>2]|0; + $22 = (($21) + ($20))|0; + HEAP32[$16>>2] = $22; + $23 = (($19) + 8)|0; + HEAP32[$2>>2] = $23; + $24 = ($23|0)<($1|0); + if (!($24)) { + $26 = $23; + break L4; + } + } + HEAP32[$2>>2] = -1; + $$2 = 0; + return ($$2|0); + } else { + $26 = $14; + } + } else { + $$pr = HEAP32[$2>>2]|0; + $26 = $$pr; + } + } while(0); + $25 = ($26|0)<(0); + if ($25) { + $$2 = 0; + return ($$2|0); + } + $27 = ((($0)) + 1392|0); + $28 = HEAP32[$27>>2]|0; + $29 = 1 << $1; + $30 = (($29) + -1)|0; + $31 = $28 & $30; + $32 = $28 >>> $1; + HEAP32[$27>>2] = $32; + $33 = (($26) - ($1))|0; + HEAP32[$2>>2] = $33; + $$2 = $31; + return ($$2|0); +} +function _ilog($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, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)<(0); + if ($1) { + $$0 = 0; + return ($$0|0); + } + $2 = ($0|0)<(16384); + if ($2) { + $3 = ($0|0)<(16); + if ($3) { + $4 = (17463 + ($0)|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5 << 24 >> 24; + $$0 = $6; + return ($$0|0); + } + $7 = ($0|0)<(512); + if ($7) { + $8 = $0 >>> 5; + $9 = (17463 + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($11) + 5)|0; + $$0 = $12; + return ($$0|0); + } else { + $13 = $0 >>> 10; + $14 = (17463 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = (($16) + 10)|0; + $$0 = $17; + return ($$0|0); + } + } + $18 = ($0|0)<(16777216); + if ($18) { + $19 = ($0|0)<(524288); + if ($19) { + $20 = $0 >>> 15; + $21 = (17463 + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = (($23) + 15)|0; + $$0 = $24; + return ($$0|0); + } else { + $25 = $0 >>> 20; + $26 = (17463 + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = (($28) + 20)|0; + $$0 = $29; + return ($$0|0); + } + } else { + $30 = ($0|0)<(536870912); + if ($30) { + $31 = $0 >>> 25; + $32 = (17463 + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = (($34) + 25)|0; + $$0 = $35; + return ($$0|0); + } else { + $36 = $0 >>> 30; + $37 = (17463 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = (($39) + 30)|0; + $$0 = $40; + return ($$0|0); + } + } + return (0)|0; +} +function _prep_huffman($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1396|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)<(25); + if (!($3)) { + return; + } + $4 = ($2|0)==(0); + if ($4) { + $5 = ((($0)) + 1392|0); + HEAP32[$5>>2] = 0; + } + $6 = ((($0)) + 1376|0); + $7 = ((($0)) + 1384|0); + $8 = ((($0)) + 1392|0); + while(1) { + $9 = HEAP32[$7>>2]|0; + $10 = ($9|0)==(0); + if (!($10)) { + $11 = HEAP8[$6>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + label = 9; + break; + } + } + $13 = (_get8_packet_raw($0)|0); + $14 = ($13|0)==(-1); + if ($14) { + label = 9; + break; + } + $15 = HEAP32[$1>>2]|0; + $16 = $13 << $15; + $17 = HEAP32[$8>>2]|0; + $18 = (($17) + ($16))|0; + HEAP32[$8>>2] = $18; + $19 = (($15) + 8)|0; + HEAP32[$1>>2] = $19; + $20 = ($19|0)<(25); + if (!($20)) { + label = 9; + break; + } + } + if ((label|0) == 9) { + return; + } +} +function _codebook_decode_scalar_raw($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$06574 = 0, $$06676 = 0, $$068$lcssa = 0, $$06875 = 0, $$1 = 0, $$167 = 0, $$169 = 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; + 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, $9 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + _prep_huffman($0); + $2 = ((($1)) + 32|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $5 = ((($1)) + 2084|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0|0); + if ($7) { + $$1 = -1; + return ($$1|0); + } + } + $8 = ((($1)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(8); + if ($10) { + $11 = ((($1)) + 2084|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)==(0|0); + if (!($13)) { + label = 6; + } + } else { + $14 = HEAP32[$2>>2]|0; + $15 = ($14|0)==(0|0); + if ($15) { + label = 6; } } if ((label|0) == 6) { - return; + $16 = ((($0)) + 1392|0); + $17 = HEAP32[$16>>2]|0; + $18 = (_bit_reverse($17)|0); + $19 = ((($1)) + 2092|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)>(1); + if ($21) { + $22 = ((($1)) + 2084|0); + $23 = HEAP32[$22>>2]|0; + $$06676 = $20;$$06875 = 0; + while(1) { + $24 = $$06676 >>> 1; + $25 = (($24) + ($$06875))|0; + $26 = (($23) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27>>>0)>($18>>>0); + $29 = (($$06676) - ($24))|0; + $$169 = $28 ? $$06875 : $25; + $$167 = $28 ? $24 : $29; + $30 = ($$167|0)>(1); + if ($30) { + $$06676 = $$167;$$06875 = $$169; + } else { + $$068$lcssa = $$169; + break; + } + } + } else { + $$068$lcssa = 0; + } + $31 = ((($1)) + 23|0); + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(0); + if ($33) { + $34 = ((($1)) + 2088|0); + $35 = HEAP32[$34>>2]|0; + $36 = (($35) + ($$068$lcssa<<2)|0); + $37 = HEAP32[$36>>2]|0; + $$2 = $37; + } else { + $$2 = $$068$lcssa; + } + $38 = ((($1)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + ($$2)|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = ((($0)) + 1396|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)<($42|0); + if ($45) { + $$0 = -1;$storemerge = 0; + } else { + $46 = (($44) - ($42))|0; + $47 = HEAP32[$16>>2]|0; + $48 = $47 >>> $42; + HEAP32[$16>>2] = $48; + $$0 = $$2;$storemerge = $46; + } + HEAP32[$43>>2] = $storemerge; + $$1 = $$0; + return ($$1|0); } - $47 = HEAP32[$num_points>>2]|0; - _stbtt__add_point($points,$47,$x2,$y2); - $48 = HEAP32[$num_points>>2]|0; - $49 = (($48) + 1)|0; - HEAP32[$num_points>>2] = $49; - return; + $49 = ((($1)) + 23|0); + $50 = HEAP8[$49>>0]|0; + $51 = ($50<<24>>24)==(0); + if (!($51)) { + ___assert_fail((17425|0),(17088|0),1254,(17436|0)); + // unreachable; + } + $52 = HEAP32[$8>>2]|0; + $53 = ($52|0)>(0); + L26: do { + if ($53) { + $54 = ((($1)) + 8|0); + $55 = HEAP32[$54>>2]|0; + $56 = ((($0)) + 1392|0); + $$06574 = 0; + while(1) { + $57 = (($55) + ($$06574)|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = ($58<<24>>24)==(-1); + if (!($60)) { + $61 = HEAP32[$2>>2]|0; + $62 = (($61) + ($$06574<<2)|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$56>>2]|0; + $65 = 1 << $59; + $66 = (($65) + -1)|0; + $67 = $64 & $66; + $68 = ($63|0)==($67|0); + if ($68) { + break; + } + } + $76 = (($$06574) + 1)|0; + $77 = HEAP32[$8>>2]|0; + $78 = ($76|0)<($77|0); + if ($78) { + $$06574 = $76; + } else { + break L26; + } + } + $69 = ((($0)) + 1396|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)<($59|0); + if ($71) { + HEAP32[$69>>2] = 0; + $$1 = -1; + return ($$1|0); + } else { + $72 = $64 >>> $59; + HEAP32[$56>>2] = $72; + $73 = HEAP8[$57>>0]|0; + $74 = $73&255; + $75 = (($70) - ($74))|0; + HEAP32[$69>>2] = $75; + $$1 = $$06574; + return ($$1|0); + } + } + } while(0); + _error($0,21); + $79 = ((($0)) + 1396|0); + HEAP32[$79>>2] = 0; + $$1 = -1; + return ($$1|0); } -function _compute_stereo_samples($output,$num_c,$data,$d_offset,$len) { - $output = $output|0; - $num_c = $num_c|0; - $data = $data|0; - $d_offset = $d_offset|0; - $len = $len|0; - var $$n$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.0, $41 = 0, $42 = 0, $43 = 0.0; - var $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0.0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.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, $buffer = 0, $exitcond = 0, $exitcond23 = 0, $exitcond27 = 0, $exitcond28 = 0, $exitcond34 = 0, $i$09 = 0, $i$17 = 0, $i$26 = 0, $i$313 = 0, $indvars$iv$next30 = 0, $indvars$iv$next32 = 0, $indvars$iv29 = 0, $indvars$iv31 = 0, $j$011 = 0; - var $n$015 = 0, $o$016 = 0, $smax = 0, $smax22 = 0, $smax26 = 0, $smax33 = 0, $v$0 = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _predict_point($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$p = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $buffer = sp; - $0 = ($len|0)>(0); - if (!($0)) { - STACKTOP = sp;return; + $5 = (($4) - ($3))|0; + $6 = (($2) - ($1))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $7 = $ispos ? $5 : $neg; + $8 = (($0) - ($1))|0; + $9 = Math_imul($7, $8)|0; + $10 = (($9|0) / ($6|0))&-1; + $11 = ($5|0)<(0); + $12 = (0 - ($10))|0; + $$p = $11 ? $12 : $10; + $13 = (($$p) + ($3))|0; + return ($13|0); +} +function _decode_residue($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, $$0434$lcssa = 0, $$0434590 = 0, $$0437586 = 0, $$0439574 = 0, $$0444572 = 0, $$0465608 = 0, $$0466607 = 0, $$0613 = 0, $$1435596 = 0, $$1438611 = 0, $$1440$lcssa = 0, $$1440567 = 0, $$1451 = 0, $$1463 = 0, $$1467$lcssa = 0, $$1467603 = 0, $$1469 = 0, $$1472 = 0, $$1568 = 0; + var $$2436599 = 0, $$2446562 = 0, $$2452 = 0, $$2464 = 0, $$2470 = 0, $$2473 = 0, $$2561 = 0, $$3442564 = 0, $$3578 = 0, $$4443$lcssa = 0, $$4443560 = 0, $$4448582 = 0, $$4605 = 0, $$477 = 0, $$480 = 0, $$481 = 0, $$484 = 0, $$485 = 0, $$488 = 0, $$489 = 0; + var $$6584 = 0, $$7$lcssa = 0, $$7577 = 0, $$alloca_mul = 0, $$not = 0, $$not617 = 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, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; + var $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, $293 = 0; + var $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, $311 = 0; + var $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, $33 = 0; + var $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, $348 = 0; + var $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, $366 = 0; + var $367 = 0, $368 = 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; + 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, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$521 = 0, $not$522 = 0, $not$523 = 0, $or$cond = 0, $or$cond478 = 0, $or$cond478566 = 0, $or$cond482 = 0, $or$cond482559 = 0; + var $or$cond486 = 0, $or$cond486576 = 0, $or$cond490 = 0, $or$cond490602 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $6 = sp + 4|0; + $7 = sp; + $8 = ((($0)) + 396|0); + $9 = HEAP32[$8>>2]|0; + $10 = (((($0)) + 268|0) + ($4<<1)|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11&65535; + $13 = (((($9) + (($4*24)|0)|0)) + 13|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ((($0)) + 124|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + (($15*2096)|0)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (((($9) + (($4*24)|0)|0)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($9) + (($4*24)|0)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($21) - ($23))|0; + $25 = (((($9) + (($4*24)|0)|0)) + 8|0); + $26 = HEAP32[$25>>2]|0; + $27 = (($24>>>0) / ($26>>>0))&-1; + $28 = ((($0)) + 92|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 80|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)==(0|0); + $33 = $27 << 2; + $34 = (($33) + 4)|0; + $35 = ((($0)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = Math_imul($36, $34)|0; + if ($32) { + $$alloca_mul = $37; + $39 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $41 = $39; + } else { + $38 = (_setup_temp_malloc($0,$37)|0); + $41 = $38; } - $1 = ($num_c|0)>(0); - $2 = $len ^ -1; - $indvars$iv29 = -2;$indvars$iv31 = -1;$n$015 = 16;$o$016 = 0; - while(1) { - $3 = $o$016 << 1; - dest=$buffer; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (($o$016) + ($n$015))|0; - $5 = ($4|0)>($len|0); - $6 = (($len) - ($o$016))|0; - $$n$0 = $5 ? $6 : $n$015; - L6: do { - if ($1) { - $7 = ($$n$0|0)>(0); - $8 = (($o$016) + ($d_offset))|0; - $9 = ($$n$0|0)>(0); - $10 = (($o$016) + ($d_offset))|0; - $11 = ($$n$0|0)>(0); - $12 = (($o$016) + ($d_offset))|0; - $13 = (($indvars$iv31) - ($n$015))|0; - $14 = ($13|0)>($2|0); - $smax = $14 ? $13 : $2; - $15 = (($indvars$iv31) - ($smax))|0; - $16 = (($indvars$iv31) - ($n$015))|0; - $17 = ($16|0)>($2|0); - $smax22 = $17 ? $16 : $2; - $18 = (($indvars$iv31) - ($smax22))|0; - $19 = (($indvars$iv31) - ($n$015))|0; - $20 = ($19|0)>($2|0); - $smax26 = $20 ? $19 : $2; - $21 = (($indvars$iv31) - ($smax26))|0; - $j$011 = 0; + $40 = HEAP32[$35>>2]|0; + $42 = (_make_block_array($41,$40,$33)|0); + $43 = ($2|0)>(0); + if ($43) { + $44 = $3 << 2; + $$0613 = 0; + while(1) { + $45 = (($5) + ($$0613)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ($46<<24>>24)==(0); + if ($47) { + $48 = (($1) + ($$0613<<2)|0); + $49 = HEAP32[$48>>2]|0; + _memset(($49|0),0,($44|0))|0; + } + $50 = (($$0613) + 1)|0; + $exitcond = ($50|0)==($2|0); + if ($exitcond) { + break; + } else { + $$0613 = $50; + } + } + } + $51 = ($11<<16>>16)==(2); + $52 = ($2|0)!=(1); + $or$cond = $52 & $51; + if (!($or$cond)) { + $53 = ($27|0)>(0); + $54 = ($19|0)>(0); + $55 = ($2|0)>(0); + $56 = (((($9) + (($4*24)|0)|0)) + 20|0); + $57 = ((($0)) + 1396|0); + $58 = ((($0)) + 1392|0); + $59 = (((($9) + (($4*24)|0)|0)) + 16|0); + $$not617 = ($2|0)<(1); + $$1438611 = 0; + L15: while(1) { + if ($53) { + $$not = ($$1438611|0)!=(0); + $brmerge = $$not | $$not617; + $$0465608 = 0;$$0466607 = 0; while(1) { - $28 = ((19679 + (($num_c*6)|0)|0) + ($j$011)|0); - $29 = HEAP8[$28>>0]|0; - $30 = $29&255; - $31 = $30 & 6; - switch ($31|0) { - case 6: { - if ($7) { - $36 = (($data) + ($j$011<<2)|0); - $37 = HEAP32[$36>>2]|0; - $i$09 = 0; - while(1) { - $38 = (($8) + ($i$09))|0; - $39 = (($37) + ($38<<2)|0); - $40 = +HEAPF32[$39>>2]; - $41 = $i$09 << 1; - $42 = (($buffer) + ($41<<2)|0); - $43 = +HEAPF32[$42>>2]; - $44 = $40 + $43; - HEAPF32[$42>>2] = $44; - $45 = (($37) + ($38<<2)|0); - $46 = +HEAPF32[$45>>2]; - $47 = $41 | 1; - $48 = (($buffer) + ($47<<2)|0); - $49 = +HEAPF32[$48>>2]; - $50 = $46 + $49; - HEAPF32[$48>>2] = $50; - $51 = (($i$09) + 1)|0; - $exitcond27 = ($51|0)==($21|0); - if ($exitcond27) { - break; - } else { - $i$09 = $51; + if (!($brmerge)) { + $$1435596 = 0; + while(1) { + $294 = (($5) + ($$1435596)|0); + $295 = HEAP8[$294>>0]|0; + $296 = ($295<<24>>24)==(0); + if ($296) { + $297 = HEAP32[$16>>2]|0; + $298 = HEAP8[$13>>0]|0; + $299 = $298&255; + $300 = (($297) + (($299*2096)|0)|0); + $301 = HEAP32[$57>>2]|0; + $302 = ($301|0)<(10); + if ($302) { + _prep_huffman($0); } + $303 = HEAP32[$58>>2]|0; + $304 = $303 & 1023; + $305 = ((((($297) + (($299*2096)|0)|0)) + 36|0) + ($304<<1)|0); + $306 = HEAP16[$305>>1]|0; + $307 = $306 << 16 >> 16; + $308 = ($306<<16>>16)>(-1); + if ($308) { + $309 = (((($297) + (($299*2096)|0)|0)) + 8|0); + $310 = HEAP32[$309>>2]|0; + $311 = (($310) + ($307)|0); + $312 = HEAP8[$311>>0]|0; + $313 = $312&255; + $314 = $303 >>> $313; + HEAP32[$58>>2] = $314; + $315 = HEAP32[$57>>2]|0; + $316 = (($315) - ($313))|0; + $317 = ($316|0)<(0); + $$488 = $317 ? 0 : $316; + $$489 = $317 ? -1 : $307; + HEAP32[$57>>2] = $$488; + $$1463 = $$489; + } else { + $318 = (_codebook_decode_scalar_raw($0,$300)|0); + $$1463 = $318; + } + $319 = (((($297) + (($299*2096)|0)|0)) + 23|0); + $320 = HEAP8[$319>>0]|0; + $321 = ($320<<24>>24)==(0); + if ($321) { + $$2464 = $$1463; + } else { + $322 = (((($297) + (($299*2096)|0)|0)) + 2088|0); + $323 = HEAP32[$322>>2]|0; + $324 = (($323) + ($$1463<<2)|0); + $325 = HEAP32[$324>>2]|0; + $$2464 = $325; + } + $326 = ($$2464|0)==(-1); + if ($326) { + label = 98; + break L15; + } + $327 = HEAP32[$59>>2]|0; + $328 = (($327) + ($$2464<<2)|0); + $329 = HEAP32[$328>>2]|0; + $330 = (($41) + ($$1435596<<2)|0); + $331 = HEAP32[$330>>2]|0; + $332 = (($331) + ($$0465608<<2)|0); + HEAP32[$332>>2] = $329; + } + $333 = (($$1435596) + 1)|0; + $334 = ($333|0)<($2|0); + if ($334) { + $$1435596 = $333; + } else { + break; } } - break; } - case 2: { - if ($9) { - $34 = (($data) + ($j$011<<2)|0); - $35 = HEAP32[$34>>2]|0; - $i$17 = 0; - while(1) { - $52 = (($10) + ($i$17))|0; - $53 = (($35) + ($52<<2)|0); - $54 = +HEAPF32[$53>>2]; - $55 = $i$17 << 1; - $56 = (($buffer) + ($55<<2)|0); - $57 = +HEAPF32[$56>>2]; - $58 = $54 + $57; - HEAPF32[$56>>2] = $58; - $59 = (($i$17) + 1)|0; - $exitcond23 = ($59|0)==($18|0); - if ($exitcond23) { - break; - } else { - $i$17 = $59; + $293 = ($$0466607|0)<($27|0); + $or$cond490602 = $293 & $54; + if ($or$cond490602) { + $$1467603 = $$0466607;$$4605 = 0; + while(1) { + if ($55) { + $$2436599 = 0; + while(1) { + $335 = (($5) + ($$2436599)|0); + $336 = HEAP8[$335>>0]|0; + $337 = ($336<<24>>24)==(0); + if ($337) { + $338 = (($41) + ($$2436599<<2)|0); + $339 = HEAP32[$338>>2]|0; + $340 = (($339) + ($$0465608<<2)|0); + $341 = HEAP32[$340>>2]|0; + $342 = (($341) + ($$4605)|0); + $343 = HEAP8[$342>>0]|0; + $344 = $343&255; + $345 = HEAP32[$56>>2]|0; + $346 = ((($345) + ($344<<4)|0) + ($$1438611<<1)|0); + $347 = HEAP16[$346>>1]|0; + $348 = ($347<<16>>16)>(-1); + if ($348) { + $349 = $347 << 16 >> 16; + $350 = (($1) + ($$2436599<<2)|0); + $351 = HEAP32[$350>>2]|0; + $352 = HEAP32[$22>>2]|0; + $353 = HEAP32[$25>>2]|0; + $354 = Math_imul($353, $$1467603)|0; + $355 = (($354) + ($352))|0; + $356 = HEAP32[$16>>2]|0; + $357 = (($356) + (($349*2096)|0)|0); + $358 = (_residue_decode($0,$357,$351,$355,$353,$12)|0); + $not$ = ($358|0)==(0); + if ($not$) { + label = 98; + break L15; + } + } + } + $359 = (($$2436599) + 1)|0; + $360 = ($359|0)<($2|0); + if ($360) { + $$2436599 = $359; + } else { + break; + } } } - } - break; - } - case 4: { - if ($11) { - $32 = (($data) + ($j$011<<2)|0); - $33 = HEAP32[$32>>2]|0; - $i$26 = 0; - while(1) { - $60 = (($12) + ($i$26))|0; - $61 = (($33) + ($60<<2)|0); - $62 = +HEAPF32[$61>>2]; - $63 = $i$26 << 1; - $64 = $63 | 1; - $65 = (($buffer) + ($64<<2)|0); - $66 = +HEAPF32[$65>>2]; - $67 = $62 + $66; - HEAPF32[$65>>2] = $67; - $68 = (($i$26) + 1)|0; - $exitcond = ($68|0)==($15|0); - if ($exitcond) { - break; - } else { - $i$26 = $68; - } + $361 = (($$4605) + 1)|0; + $362 = (($$1467603) + 1)|0; + $363 = ($361|0)<($19|0); + $364 = ($362|0)<($27|0); + $or$cond490 = $364 & $363; + if ($or$cond490) { + $$1467603 = $362;$$4605 = $361; + } else { + $$1467$lcssa = $362; + break; } } - break; - } - default: { - } - } - $69 = (($j$011) + 1)|0; - $exitcond28 = ($69|0)==($num_c|0); - if ($exitcond28) { - break L6; } else { - $j$011 = $69; + $$1467$lcssa = $$0466607; + } + $365 = (($$0465608) + 1)|0; + $366 = ($$1467$lcssa|0)<($27|0); + if ($366) { + $$0465608 = $365;$$0466607 = $$1467$lcssa; + } else { + break; } } } - } while(0); - $22 = $$n$0 << 1; - $23 = ($22|0)>(0); - if ($23) { - $24 = (($indvars$iv31) - ($n$015))|0; - $25 = ($24|0)>($2|0); - $smax33 = $25 ? $24 : $2; - $26 = $smax33 << 1; - $27 = (($indvars$iv29) - ($26))|0; - $i$313 = 0; + $367 = (($$1438611) + 1)|0; + $368 = ($367|0)<(8); + if ($368) { + $$1438611 = $367; + } else { + label = 98; + break; + } + } + if ((label|0) == 98) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + } + $60 = ($2|0)>(0); + L57: do { + if ($60) { + $$0434590 = 0; while(1) { - $70 = (($buffer) + ($i$313<<2)|0); - $71 = +HEAPF32[$70>>2]; - $72 = $71 + 384.0; - $73 = (HEAPF32[tempDoublePtr>>2]=$72,HEAP32[tempDoublePtr>>2]|0); - $74 = (($73) + -1136623616)|0; - $75 = ($74>>>0)>(65535); - $76 = ($73|0)<(1136656384); - $77 = $76 ? 32768 : 32767; - $v$0 = $75 ? $77 : $73; - $78 = $v$0&65535; - $79 = (($i$313) + ($3))|0; - $80 = (($output) + ($79<<1)|0); - HEAP16[$80>>1] = $78; - $81 = (($i$313) + 1)|0; - $exitcond34 = ($81|0)==($27|0); - if ($exitcond34) { - break; + $61 = (($5) + ($$0434590)|0); + $62 = HEAP8[$61>>0]|0; + $63 = ($62<<24>>24)==(0); + if ($63) { + $$0434$lcssa = $$0434590; + break L57; + } + $64 = (($$0434590) + 1)|0; + $65 = ($64|0)<($2|0); + if ($65) { + $$0434590 = $64; } else { - $i$313 = $81; + $$0434$lcssa = $64; + break; + } + } + } else { + $$0434$lcssa = 0; + } + } while(0); + $66 = ($$0434$lcssa|0)==($2|0); + if ($66) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + $67 = ($27|0)>(0); + $68 = ((($0)) + 1396|0); + $69 = ((($0)) + 1392|0); + $70 = (((($9) + (($4*24)|0)|0)) + 16|0); + $71 = ($19|0)>(0); + $72 = (((($9) + (($4*24)|0)|0)) + 20|0); + $73 = ($27|0)>(0); + $74 = ((($0)) + 1396|0); + $75 = ((($0)) + 1392|0); + $76 = (((($9) + (($4*24)|0)|0)) + 16|0); + $77 = ($19|0)>(0); + $78 = (((($9) + (($4*24)|0)|0)) + 20|0); + $79 = ($27|0)>(0); + $80 = ((($0)) + 1396|0); + $81 = ((($0)) + 1392|0); + $82 = (((($9) + (($4*24)|0)|0)) + 16|0); + $83 = ($19|0)>(0); + $84 = (((($9) + (($4*24)|0)|0)) + 20|0); + $$0437586 = 0; + L65: while(1) { + switch ($2|0) { + case 2: { + if ($73) { + $86 = ($$0437586|0)==(0); + $$0439574 = 0;$$0444572 = 0; + while(1) { + $88 = HEAP32[$22>>2]|0; + $89 = HEAP32[$25>>2]|0; + $90 = Math_imul($89, $$0439574)|0; + $91 = (($90) + ($88))|0; + $92 = $91 & 1; + HEAP32[$6>>2] = $92; + $93 = $91 >> 1; + HEAP32[$7>>2] = $93; + if ($86) { + $94 = HEAP32[$16>>2]|0; + $95 = HEAP8[$13>>0]|0; + $96 = $95&255; + $97 = (($94) + (($96*2096)|0)|0); + $98 = HEAP32[$74>>2]|0; + $99 = ($98|0)<(10); + if ($99) { + _prep_huffman($0); + } + $100 = HEAP32[$75>>2]|0; + $101 = $100 & 1023; + $102 = ((((($94) + (($96*2096)|0)|0)) + 36|0) + ($101<<1)|0); + $103 = HEAP16[$102>>1]|0; + $104 = $103 << 16 >> 16; + $105 = ($103<<16>>16)>(-1); + if ($105) { + $106 = (((($94) + (($96*2096)|0)|0)) + 8|0); + $107 = HEAP32[$106>>2]|0; + $108 = (($107) + ($104)|0); + $109 = HEAP8[$108>>0]|0; + $110 = $109&255; + $111 = $100 >>> $110; + HEAP32[$75>>2] = $111; + $112 = HEAP32[$74>>2]|0; + $113 = (($112) - ($110))|0; + $114 = ($113|0)<(0); + $$ = $114 ? 0 : $113; + $$477 = $114 ? -1 : $104; + HEAP32[$74>>2] = $$; + $$1451 = $$477; + } else { + $115 = (_codebook_decode_scalar_raw($0,$97)|0); + $$1451 = $115; + } + $116 = (((($94) + (($96*2096)|0)|0)) + 23|0); + $117 = HEAP8[$116>>0]|0; + $118 = ($117<<24>>24)==(0); + if ($118) { + $$2452 = $$1451; + } else { + $119 = (((($94) + (($96*2096)|0)|0)) + 2088|0); + $120 = HEAP32[$119>>2]|0; + $121 = (($120) + ($$1451<<2)|0); + $122 = HEAP32[$121>>2]|0; + $$2452 = $122; + } + $123 = ($$2452|0)==(-1); + if ($123) { + label = 38; + break L65; + } + $124 = HEAP32[$76>>2]|0; + $125 = (($124) + ($$2452<<2)|0); + $126 = HEAP32[$125>>2]|0; + $127 = HEAP32[$41>>2]|0; + $128 = (($127) + ($$0444572<<2)|0); + HEAP32[$128>>2] = $126; + } + $129 = ($$0439574|0)<($27|0); + $or$cond478566 = $129 & $77; + if ($or$cond478566) { + $$1440567 = $$0439574;$$1568 = 0; + while(1) { + $130 = HEAP32[$25>>2]|0; + $131 = HEAP32[$41>>2]|0; + $132 = (($131) + ($$0444572<<2)|0); + $133 = HEAP32[$132>>2]|0; + $134 = (($133) + ($$1568)|0); + $135 = HEAP8[$134>>0]|0; + $136 = $135&255; + $137 = HEAP32[$78>>2]|0; + $138 = ((($137) + ($136<<4)|0) + ($$0437586<<1)|0); + $139 = HEAP16[$138>>1]|0; + $140 = ($139<<16>>16)>(-1); + if ($140) { + $141 = $139 << 16 >> 16; + $142 = HEAP32[$16>>2]|0; + $143 = (($142) + (($141*2096)|0)|0); + $144 = (_codebook_decode_deinterleave_repeat($0,$143,$1,$2,$6,$7,$3,$130)|0); + $not$522 = ($144|0)==(0); + if ($not$522) { + label = 38; + break L65; + } + } else { + $145 = HEAP32[$22>>2]|0; + $146 = Math_imul($130, $$1440567)|0; + $147 = (($146) + ($130))|0; + $148 = (($147) + ($145))|0; + $149 = $148 & 1; + HEAP32[$6>>2] = $149; + $150 = $148 >> 1; + HEAP32[$7>>2] = $150; + } + $151 = (($$1568) + 1)|0; + $152 = (($$1440567) + 1)|0; + $153 = ($151|0)<($19|0); + $154 = ($152|0)<($27|0); + $or$cond478 = $154 & $153; + if ($or$cond478) { + $$1440567 = $152;$$1568 = $151; + } else { + $$1440$lcssa = $152; + break; + } + } + } else { + $$1440$lcssa = $$0439574; + } + $155 = (($$0444572) + 1)|0; + $156 = ($$1440$lcssa|0)<($27|0); + if ($156) { + $$0439574 = $$1440$lcssa;$$0444572 = $155; + } else { + break; + } + } + } + break; + } + case 1: { + if ($79) { + $85 = ($$0437586|0)==(0); + $$2446562 = 0;$$3442564 = 0; + while(1) { + $157 = HEAP32[$22>>2]|0; + $158 = HEAP32[$25>>2]|0; + $159 = Math_imul($158, $$3442564)|0; + $160 = (($159) + ($157))|0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = $160; + if ($85) { + $161 = HEAP32[$16>>2]|0; + $162 = HEAP8[$13>>0]|0; + $163 = $162&255; + $164 = (($161) + (($163*2096)|0)|0); + $165 = HEAP32[$80>>2]|0; + $166 = ($165|0)<(10); + if ($166) { + _prep_huffman($0); + } + $167 = HEAP32[$81>>2]|0; + $168 = $167 & 1023; + $169 = ((((($161) + (($163*2096)|0)|0)) + 36|0) + ($168<<1)|0); + $170 = HEAP16[$169>>1]|0; + $171 = $170 << 16 >> 16; + $172 = ($170<<16>>16)>(-1); + if ($172) { + $173 = (((($161) + (($163*2096)|0)|0)) + 8|0); + $174 = HEAP32[$173>>2]|0; + $175 = (($174) + ($171)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $167 >>> $177; + HEAP32[$81>>2] = $178; + $179 = HEAP32[$80>>2]|0; + $180 = (($179) - ($177))|0; + $181 = ($180|0)<(0); + $$480 = $181 ? 0 : $180; + $$481 = $181 ? -1 : $171; + HEAP32[$80>>2] = $$480; + $$1469 = $$481; + } else { + $182 = (_codebook_decode_scalar_raw($0,$164)|0); + $$1469 = $182; + } + $183 = (((($161) + (($163*2096)|0)|0)) + 23|0); + $184 = HEAP8[$183>>0]|0; + $185 = ($184<<24>>24)==(0); + if ($185) { + $$2470 = $$1469; + } else { + $186 = (((($161) + (($163*2096)|0)|0)) + 2088|0); + $187 = HEAP32[$186>>2]|0; + $188 = (($187) + ($$1469<<2)|0); + $189 = HEAP32[$188>>2]|0; + $$2470 = $189; + } + $190 = ($$2470|0)==(-1); + if ($190) { + label = 55; + break L65; + } + $191 = HEAP32[$82>>2]|0; + $192 = (($191) + ($$2470<<2)|0); + $193 = HEAP32[$192>>2]|0; + $194 = HEAP32[$41>>2]|0; + $195 = (($194) + ($$2446562<<2)|0); + HEAP32[$195>>2] = $193; + } + $196 = ($$3442564|0)<($27|0); + $or$cond482559 = $196 & $83; + if ($or$cond482559) { + $$2561 = 0;$$4443560 = $$3442564; + while(1) { + $197 = HEAP32[$25>>2]|0; + $198 = HEAP32[$41>>2]|0; + $199 = (($198) + ($$2446562<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = (($200) + ($$2561)|0); + $202 = HEAP8[$201>>0]|0; + $203 = $202&255; + $204 = HEAP32[$84>>2]|0; + $205 = ((($204) + ($203<<4)|0) + ($$0437586<<1)|0); + $206 = HEAP16[$205>>1]|0; + $207 = ($206<<16>>16)>(-1); + if ($207) { + $208 = $206 << 16 >> 16; + $209 = HEAP32[$16>>2]|0; + $210 = (($209) + (($208*2096)|0)|0); + $211 = (_codebook_decode_deinterleave_repeat($0,$210,$1,$2,$6,$7,$3,$197)|0); + $not$521 = ($211|0)==(0); + if ($not$521) { + label = 55; + break L65; + } + } else { + $212 = HEAP32[$22>>2]|0; + $213 = Math_imul($197, $$4443560)|0; + $214 = (($213) + ($197))|0; + $215 = (($214) + ($212))|0; + HEAP32[$6>>2] = 0; + HEAP32[$7>>2] = $215; + } + $216 = (($$2561) + 1)|0; + $217 = (($$4443560) + 1)|0; + $218 = ($216|0)<($19|0); + $219 = ($217|0)<($27|0); + $or$cond482 = $219 & $218; + if ($or$cond482) { + $$2561 = $216;$$4443560 = $217; + } else { + $$4443$lcssa = $217; + break; + } + } + } else { + $$4443$lcssa = $$3442564; + } + $220 = (($$2446562) + 1)|0; + $221 = ($$4443$lcssa|0)<($27|0); + if ($221) { + $$2446562 = $220;$$3442564 = $$4443$lcssa; + } else { + break; + } + } + } + break; + } + default: { + if ($67) { + $87 = ($$0437586|0)==(0); + $$4448582 = 0;$$6584 = 0; + while(1) { + $222 = HEAP32[$22>>2]|0; + $223 = HEAP32[$25>>2]|0; + $224 = Math_imul($223, $$6584)|0; + $225 = (($224) + ($222))|0; + $226 = (($225|0) % ($2|0))&-1; + HEAP32[$6>>2] = $226; + $227 = (($225|0) / ($2|0))&-1; + HEAP32[$7>>2] = $227; + if ($87) { + $228 = HEAP32[$16>>2]|0; + $229 = HEAP8[$13>>0]|0; + $230 = $229&255; + $231 = (($228) + (($230*2096)|0)|0); + $232 = HEAP32[$68>>2]|0; + $233 = ($232|0)<(10); + if ($233) { + _prep_huffman($0); + } + $234 = HEAP32[$69>>2]|0; + $235 = $234 & 1023; + $236 = ((((($228) + (($230*2096)|0)|0)) + 36|0) + ($235<<1)|0); + $237 = HEAP16[$236>>1]|0; + $238 = $237 << 16 >> 16; + $239 = ($237<<16>>16)>(-1); + if ($239) { + $240 = (((($228) + (($230*2096)|0)|0)) + 8|0); + $241 = HEAP32[$240>>2]|0; + $242 = (($241) + ($238)|0); + $243 = HEAP8[$242>>0]|0; + $244 = $243&255; + $245 = $234 >>> $244; + HEAP32[$69>>2] = $245; + $246 = HEAP32[$68>>2]|0; + $247 = (($246) - ($244))|0; + $248 = ($247|0)<(0); + $$484 = $248 ? 0 : $247; + $$485 = $248 ? -1 : $238; + HEAP32[$68>>2] = $$484; + $$1472 = $$485; + } else { + $249 = (_codebook_decode_scalar_raw($0,$231)|0); + $$1472 = $249; + } + $250 = (((($228) + (($230*2096)|0)|0)) + 23|0); + $251 = HEAP8[$250>>0]|0; + $252 = ($251<<24>>24)==(0); + if ($252) { + $$2473 = $$1472; + } else { + $253 = (((($228) + (($230*2096)|0)|0)) + 2088|0); + $254 = HEAP32[$253>>2]|0; + $255 = (($254) + ($$1472<<2)|0); + $256 = HEAP32[$255>>2]|0; + $$2473 = $256; + } + $257 = ($$2473|0)==(-1); + if ($257) { + label = 72; + break L65; + } + $258 = HEAP32[$70>>2]|0; + $259 = (($258) + ($$2473<<2)|0); + $260 = HEAP32[$259>>2]|0; + $261 = HEAP32[$41>>2]|0; + $262 = (($261) + ($$4448582<<2)|0); + HEAP32[$262>>2] = $260; + } + $263 = ($$6584|0)<($27|0); + $or$cond486576 = $263 & $71; + if ($or$cond486576) { + $$3578 = 0;$$7577 = $$6584; + while(1) { + $264 = HEAP32[$25>>2]|0; + $265 = HEAP32[$41>>2]|0; + $266 = (($265) + ($$4448582<<2)|0); + $267 = HEAP32[$266>>2]|0; + $268 = (($267) + ($$3578)|0); + $269 = HEAP8[$268>>0]|0; + $270 = $269&255; + $271 = HEAP32[$72>>2]|0; + $272 = ((($271) + ($270<<4)|0) + ($$0437586<<1)|0); + $273 = HEAP16[$272>>1]|0; + $274 = ($273<<16>>16)>(-1); + if ($274) { + $275 = $273 << 16 >> 16; + $276 = HEAP32[$16>>2]|0; + $277 = (($276) + (($275*2096)|0)|0); + $278 = (_codebook_decode_deinterleave_repeat($0,$277,$1,$2,$6,$7,$3,$264)|0); + $not$523 = ($278|0)==(0); + if ($not$523) { + label = 72; + break L65; + } + } else { + $279 = HEAP32[$22>>2]|0; + $280 = Math_imul($264, $$7577)|0; + $281 = (($280) + ($264))|0; + $282 = (($281) + ($279))|0; + $283 = (($282|0) % ($2|0))&-1; + HEAP32[$6>>2] = $283; + $284 = (($282|0) / ($2|0))&-1; + HEAP32[$7>>2] = $284; + } + $285 = (($$3578) + 1)|0; + $286 = (($$7577) + 1)|0; + $287 = ($285|0)<($19|0); + $288 = ($286|0)<($27|0); + $or$cond486 = $288 & $287; + if ($or$cond486) { + $$3578 = $285;$$7577 = $286; + } else { + $$7$lcssa = $286; + break; + } + } + } else { + $$7$lcssa = $$6584; + } + $289 = (($$4448582) + 1)|0; + $290 = ($$7$lcssa|0)<($27|0); + if ($290) { + $$4448582 = $289;$$6584 = $$7$lcssa; + } else { + break; + } } } } - $82 = (($o$016) + 16)|0; - $83 = ($82|0)<($len|0); - $indvars$iv$next32 = (($indvars$iv31) + -16)|0; - $indvars$iv$next30 = (($indvars$iv29) + -32)|0; - if ($83) { - $indvars$iv29 = $indvars$iv$next30;$indvars$iv31 = $indvars$iv$next32;$n$015 = $$n$0;$o$016 = $82; + } + $291 = (($$0437586) + 1)|0; + $292 = ($291|0)<(8); + if ($292) { + $$0437586 = $291; } else { + label = 98; break; } } + if ((label|0) == 38) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 55) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 72) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } + else if ((label|0) == 98) { + HEAP32[$28>>2] = $29; + STACKTOP = sp;return; + } +} +function _do_floor($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 $$062$lcssa = 0, $$0624 = 0, $$063$lcssa = 0, $$0633 = 0, $$0652 = 0, $$0661 = 0, $$1 = 0, $$164 = 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.0, $49 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = $3 >> 1; + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (((($8) + (($2*3)|0)|0)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = (((($1)) + 9|0) + ($11)|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = (((($0)) + 132|0) + ($14<<1)|0); + $16 = HEAP16[$15>>1]|0; + $17 = ($16<<16>>16)==(0); + if ($17) { + _error($0,21); + return; + } + $18 = ((($0)) + 260|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP16[$5>>1]|0; + $21 = $20 << 16 >> 16; + $22 = (((($19) + (($14*1596)|0)|0)) + 1588|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = Math_imul($24, $21)|0; + $26 = (((($19) + (($14*1596)|0)|0)) + 1592|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)>(1); + if ($28) { + $$0624 = $25;$$0633 = 0;$$0652 = 1; + while(1) { + $29 = ((((($19) + (($14*1596)|0)|0)) + 838|0) + ($$0652)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = (($5) + ($31<<1)|0); + $33 = HEAP16[$32>>1]|0; + $34 = ($33<<16>>16)>(-1); + if ($34) { + $35 = $33 << 16 >> 16; + $36 = HEAP8[$22>>0]|0; + $37 = $36&255; + $38 = Math_imul($37, $35)|0; + $39 = ((((($19) + (($14*1596)|0)|0)) + 338|0) + ($31<<1)|0); + $40 = HEAP16[$39>>1]|0; + $41 = $40&65535; + $42 = ($$0633|0)==($41|0); + if ($42) { + $$1 = $38;$$164 = $41; + } else { + _draw_line($4,$$0633,$$0624,$41,$38,$6); + $$1 = $38;$$164 = $41; + } + } else { + $$1 = $$0624;$$164 = $$0633; + } + $43 = (($$0652) + 1)|0; + $44 = HEAP32[$26>>2]|0; + $45 = ($43|0)<($44|0); + if ($45) { + $$0624 = $$1;$$0633 = $$164;$$0652 = $43; + } else { + $$062$lcssa = $$1;$$063$lcssa = $$164; + break; + } + } + } else { + $$062$lcssa = $25;$$063$lcssa = 0; + } + $46 = ($$063$lcssa|0)<($6|0); + if (!($46)) { + return; + } + $47 = (3772 + ($$062$lcssa<<2)|0); + $48 = +HEAPF32[$47>>2]; + $$0661 = $$063$lcssa; + while(1) { + $49 = (($4) + ($$0661<<2)|0); + $50 = +HEAPF32[$49>>2]; + $51 = $48 * $50; + HEAPF32[$49>>2] = $51; + $52 = (($$0661) + 1)|0; + $exitcond = ($52|0)==($6|0); + if ($exitcond) { + break; + } else { + $$0661 = $52; + } + } + return; +} +function _inverse_mdct($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0$lcssa = 0, $$0492$lcssa = 0, $$0492576 = 0, $$0494 = 0, $$0494522 = 0, $$0494530 = 0, $$0495531 = 0, $$0495531$pn = 0, $$0496527 = 0, $$0497526 = 0, $$0498525 = 0, $$0499524 = 0, $$0500575 = 0, $$0502$lcssa = 0, $$0502574 = 0, $$0504564 = 0, $$0505563 = 0, $$0506562 = 0, $$0507561 = 0, $$0508 = 0; + var $$0508532 = 0, $$0508536 = 0, $$0509534 = 0, $$0510533 = 0, $$0511560 = 0, $$0512542 = 0, $$0513541 = 0, $$0514540 = 0, $$0515548 = 0, $$0516547 = 0, $$0517554 = 0, $$0518546 = 0, $$0557 = 0, $$1493570 = 0, $$1501569 = 0, $$1503568 = 0, $$1551 = 0, $$alloca_mul = 0, $$pn520529 = 0, $$pn520529$phi = 0; + var $$pn535 = 0, $$pn535$phi = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0.0, $113 = 0, $114 = 0.0, $115 = 0.0; + var $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.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.0, $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0, $242 = 0.0; + var $243 = 0, $244 = 0.0, $245 = 0.0, $246 = 0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0.0; + var $261 = 0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0, $266 = 0.0, $267 = 0, $268 = 0.0, $269 = 0.0, $27 = 0, $270 = 0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0; + var $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0.0; + var $298 = 0, $299 = 0.0, $30 = 0.0, $300 = 0.0, $301 = 0, $302 = 0.0, $303 = 0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0, $314 = 0, $315 = 0.0; + var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0, $322 = 0.0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0.0, $328 = 0.0, $329 = 0, $33 = 0.0, $330 = 0.0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0, $35 = 0.0, $350 = 0.0, $351 = 0; + var $352 = 0, $353 = 0, $354 = 0.0, $355 = 0, $356 = 0.0, $357 = 0.0, $358 = 0, $359 = 0.0, $36 = 0.0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0.0, $365 = 0.0, $366 = 0.0, $367 = 0, $368 = 0.0, $369 = 0, $37 = 0.0; + var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0; + var $7 = 0, $70 = 0.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.0, $82 = 0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0; + var $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond584 = 0, $scevgep = 0, $scevgep586 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $1 >> 1; + $5 = $1 >> 2; + $6 = $1 >> 3; + $7 = ((($2)) + 92|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($2)) + 80|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $4 << 2; + if ($11) { + $$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);; + $19 = $14; + } else { + $13 = (_setup_temp_malloc($2,$12)|0); + $19 = $13; + } + $15 = (((($2)) + 1068|0) + ($3<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($4) + -2)|0; + $18 = (($19) + ($17<<2)|0); + $20 = (($0) + ($4<<2)|0); + $21 = ($4|0)==(0); + if ($21) { + $$0492$lcssa = $18;$$0502$lcssa = $16; + } else { + $22 = $4 << 2; + $23 = (($22) + -16)|0; + $24 = $23 >>> 4; + $25 = $24 << 3; + $26 = (($23) - ($25))|0; + $scevgep = (($19) + ($26)|0); + $27 = $24 << 1; + $28 = (($27) + 2)|0; + $$0492576 = $18;$$0500575 = $0;$$0502574 = $16; + while(1) { + $29 = +HEAPF32[$$0500575>>2]; + $30 = +HEAPF32[$$0502574>>2]; + $31 = $29 * $30; + $32 = ((($$0500575)) + 8|0); + $33 = +HEAPF32[$32>>2]; + $34 = ((($$0502574)) + 4|0); + $35 = +HEAPF32[$34>>2]; + $36 = $33 * $35; + $37 = $31 - $36; + $38 = ((($$0492576)) + 4|0); + HEAPF32[$38>>2] = $37; + $39 = +HEAPF32[$$0500575>>2]; + $40 = +HEAPF32[$34>>2]; + $41 = $39 * $40; + $42 = +HEAPF32[$32>>2]; + $43 = +HEAPF32[$$0502574>>2]; + $44 = $42 * $43; + $45 = $41 + $44; + HEAPF32[$$0492576>>2] = $45; + $46 = ((($$0492576)) + -8|0); + $47 = ((($$0502574)) + 8|0); + $48 = ((($$0500575)) + 16|0); + $49 = ($48|0)==($20|0); + if ($49) { + break; + } else { + $$0492576 = $46;$$0500575 = $48;$$0502574 = $47; + } + } + $scevgep586 = (($16) + ($28<<2)|0); + $$0492$lcssa = $scevgep;$$0502$lcssa = $scevgep586; + } + $50 = ($$0492$lcssa>>>0)<($19>>>0); + if (!($50)) { + $51 = (($4) + -3)|0; + $52 = (($0) + ($51<<2)|0); + $$1493570 = $$0492$lcssa;$$1501569 = $52;$$1503568 = $$0502$lcssa; + while(1) { + $53 = ((($$1501569)) + 8|0); + $54 = +HEAPF32[$53>>2]; + $55 = +HEAPF32[$$1503568>>2]; + $56 = $54 * $55; + $57 = +HEAPF32[$$1501569>>2]; + $58 = ((($$1503568)) + 4|0); + $59 = +HEAPF32[$58>>2]; + $60 = $57 * $59; + $61 = $60 - $56; + $62 = ((($$1493570)) + 4|0); + HEAPF32[$62>>2] = $61; + $63 = +HEAPF32[$53>>2]; + $64 = +HEAPF32[$58>>2]; + $65 = $63 * $64; + $66 = +HEAPF32[$$1501569>>2]; + $67 = +HEAPF32[$$1503568>>2]; + $68 = $66 * $67; + $69 = -$68; + $70 = $69 - $65; + HEAPF32[$$1493570>>2] = $70; + $71 = ((($$1493570)) + -8|0); + $72 = ((($$1503568)) + 8|0); + $73 = ((($$1501569)) + -16|0); + $74 = ($71>>>0)<($19>>>0); + if ($74) { + break; + } else { + $$1493570 = $71;$$1501569 = $73;$$1503568 = $72; + } + } + } + $75 = ($4|0)<(8); + if (!($75)) { + $76 = (($0) + ($5<<2)|0); + $77 = (($19) + ($5<<2)|0); + $78 = (($4) + -8)|0; + $79 = (($16) + ($78<<2)|0); + $$0504564 = $79;$$0505563 = $76;$$0506562 = $0;$$0507561 = $77;$$0511560 = $19; + while(1) { + $80 = ((($$0507561)) + 4|0); + $81 = +HEAPF32[$80>>2]; + $82 = ((($$0511560)) + 4|0); + $83 = +HEAPF32[$82>>2]; + $84 = $81 - $83; + $85 = +HEAPF32[$$0507561>>2]; + $86 = +HEAPF32[$$0511560>>2]; + $87 = $85 - $86; + $88 = $81 + $83; + $89 = ((($$0505563)) + 4|0); + HEAPF32[$89>>2] = $88; + $90 = +HEAPF32[$$0507561>>2]; + $91 = +HEAPF32[$$0511560>>2]; + $92 = $90 + $91; + HEAPF32[$$0505563>>2] = $92; + $93 = ((($$0504564)) + 16|0); + $94 = +HEAPF32[$93>>2]; + $95 = $84 * $94; + $96 = ((($$0504564)) + 20|0); + $97 = +HEAPF32[$96>>2]; + $98 = $87 * $97; + $99 = $95 - $98; + $100 = ((($$0506562)) + 4|0); + HEAPF32[$100>>2] = $99; + $101 = +HEAPF32[$93>>2]; + $102 = $87 * $101; + $103 = +HEAPF32[$96>>2]; + $104 = $84 * $103; + $105 = $102 + $104; + HEAPF32[$$0506562>>2] = $105; + $106 = ((($$0507561)) + 12|0); + $107 = +HEAPF32[$106>>2]; + $108 = ((($$0511560)) + 12|0); + $109 = +HEAPF32[$108>>2]; + $110 = $107 - $109; + $111 = ((($$0507561)) + 8|0); + $112 = +HEAPF32[$111>>2]; + $113 = ((($$0511560)) + 8|0); + $114 = +HEAPF32[$113>>2]; + $115 = $112 - $114; + $116 = $107 + $109; + $117 = ((($$0505563)) + 12|0); + HEAPF32[$117>>2] = $116; + $118 = +HEAPF32[$111>>2]; + $119 = +HEAPF32[$113>>2]; + $120 = $118 + $119; + $121 = ((($$0505563)) + 8|0); + HEAPF32[$121>>2] = $120; + $122 = +HEAPF32[$$0504564>>2]; + $123 = $110 * $122; + $124 = ((($$0504564)) + 4|0); + $125 = +HEAPF32[$124>>2]; + $126 = $115 * $125; + $127 = $123 - $126; + $128 = ((($$0506562)) + 12|0); + HEAPF32[$128>>2] = $127; + $129 = +HEAPF32[$$0504564>>2]; + $130 = $115 * $129; + $131 = +HEAPF32[$124>>2]; + $132 = $110 * $131; + $133 = $130 + $132; + $134 = ((($$0506562)) + 8|0); + HEAPF32[$134>>2] = $133; + $135 = ((($$0504564)) + -32|0); + $136 = ((($$0505563)) + 16|0); + $137 = ((($$0506562)) + 16|0); + $138 = ((($$0507561)) + 16|0); + $139 = ((($$0511560)) + 16|0); + $140 = ($135>>>0)<($16>>>0); + if ($140) { + break; + } else { + $$0504564 = $135;$$0505563 = $136;$$0506562 = $137;$$0507561 = $138;$$0511560 = $139; + } + } + } + $141 = (_ilog($1)|0); + $142 = $1 >> 4; + $143 = (($4) + -1)|0; + $144 = (0 - ($6))|0; + _imdct_step3_iter0_loop($142,$0,$143,$144,$16); + $145 = (($143) - ($5))|0; + _imdct_step3_iter0_loop($142,$0,$145,$144,$16); + $146 = $1 >> 5; + $147 = (0 - ($142))|0; + _imdct_step3_inner_r_loop($146,$0,$143,$147,$16,16); + $148 = (($143) - ($6))|0; + _imdct_step3_inner_r_loop($146,$0,$148,$147,$16,16); + $149 = $6 << 1; + $150 = (($143) - ($149))|0; + _imdct_step3_inner_r_loop($146,$0,$150,$147,$16,16); + $151 = Math_imul($6, -3)|0; + $152 = (($143) + ($151))|0; + _imdct_step3_inner_r_loop($146,$0,$152,$147,$16,16); + $153 = (($141) + -4)|0; + $154 = $153 >> 1; + $155 = ($154|0)>(2); + if ($155) { + $$0557 = 2; + while(1) { + $159 = (($$0557) + 2)|0; + $160 = $1 >> $159; + $156 = (($$0557) + 1)|0; + $161 = 1 << $156; + $162 = ($156|0)==(31); + if (!($162)) { + $163 = $160 >> 1; + $164 = (($$0557) + 4)|0; + $165 = $1 >> $164; + $166 = (0 - ($163))|0; + $167 = (($$0557) + 3)|0; + $168 = 1 << $167; + $$0517554 = 0; + while(1) { + $169 = Math_imul($$0517554, $160)|0; + $170 = (($143) - ($169))|0; + _imdct_step3_inner_r_loop($165,$0,$170,$166,$16,$168); + $171 = (($$0517554) + 1)|0; + $172 = ($171|0)<($161|0); + if ($172) { + $$0517554 = $171; + } else { + break; + } + } + } + $exitcond584 = ($156|0)==($154|0); + if ($exitcond584) { + $$0$lcssa = $154; + break; + } else { + $$0557 = $156; + } + } + } else { + $$0$lcssa = 2; + } + $157 = (($141) + -7)|0; + $158 = ($$0$lcssa|0)<($157|0); + if ($158) { + $$1551 = $$0$lcssa; + while(1) { + $174 = (($$1551) + 2)|0; + $175 = $1 >> $174; + $176 = (($$1551) + 3)|0; + $177 = 1 << $176; + $178 = (($$1551) + 6)|0; + $179 = $1 >> $178; + $173 = (($$1551) + 1)|0; + $180 = 1 << $173; + $181 = ($179|0)>(0); + if ($181) { + $182 = $175 >> 1; + $183 = (0 - ($182))|0; + $184 = $177 << 2; + $$0515548 = $16;$$0516547 = $143;$$0518546 = $179; + while(1) { + _imdct_step3_inner_s_loop($180,$0,$$0516547,$183,$$0515548,$177,$175); + $185 = (($$0515548) + ($184<<2)|0); + $186 = (($$0516547) + -8)|0; + $187 = (($$0518546) + -1)|0; + $188 = ($$0518546|0)>(1); + if ($188) { + $$0515548 = $185;$$0516547 = $186;$$0518546 = $187; + } else { + break; + } + } + } + $exitcond = ($173|0)==($157|0); + if ($exitcond) { + break; + } else { + $$1551 = $173; + } + } + } + _imdct_step3_inner_s_loop_ld654($146,$0,$143,$16,$1); + $189 = (($5) + -4)|0; + $190 = (($19) + ($189<<2)|0); + $191 = (($4) + -4)|0; + $192 = ($190>>>0)<($19>>>0); + if (!($192)) { + $193 = (($19) + ($191<<2)|0); + $194 = (((($2)) + 1100|0) + ($3<<2)|0); + $195 = HEAP32[$194>>2]|0; + $$0512542 = $193;$$0513541 = $190;$$0514540 = $195; + while(1) { + $196 = HEAP16[$$0514540>>1]|0; + $197 = $196&65535; + $198 = (($0) + ($197<<2)|0); + $199 = HEAP32[$198>>2]|0; + $200 = ((($$0512542)) + 12|0); + HEAP32[$200>>2] = $199; + $201 = (($197) + 1)|0; + $202 = (($0) + ($201<<2)|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($$0512542)) + 8|0); + HEAP32[$204>>2] = $203; + $205 = (($197) + 2)|0; + $206 = (($0) + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ((($$0513541)) + 12|0); + HEAP32[$208>>2] = $207; + $209 = (($197) + 3)|0; + $210 = (($0) + ($209<<2)|0); + $211 = HEAP32[$210>>2]|0; + $212 = ((($$0513541)) + 8|0); + HEAP32[$212>>2] = $211; + $213 = ((($$0514540)) + 2|0); + $214 = HEAP16[$213>>1]|0; + $215 = $214&65535; + $216 = (($0) + ($215<<2)|0); + $217 = HEAP32[$216>>2]|0; + $218 = ((($$0512542)) + 4|0); + HEAP32[$218>>2] = $217; + $219 = (($215) + 1)|0; + $220 = (($0) + ($219<<2)|0); + $221 = HEAP32[$220>>2]|0; + HEAP32[$$0512542>>2] = $221; + $222 = (($215) + 2)|0; + $223 = (($0) + ($222<<2)|0); + $224 = HEAP32[$223>>2]|0; + $225 = ((($$0513541)) + 4|0); + HEAP32[$225>>2] = $224; + $226 = (($215) + 3)|0; + $227 = (($0) + ($226<<2)|0); + $228 = HEAP32[$227>>2]|0; + HEAP32[$$0513541>>2] = $228; + $229 = ((($$0513541)) + -16|0); + $230 = ((($$0512542)) + -16|0); + $231 = ((($$0514540)) + 4|0); + $232 = ($229>>>0)<($19>>>0); + if ($232) { + break; + } else { + $$0512542 = $230;$$0513541 = $229;$$0514540 = $231; + } + } + } + $233 = (($19) + ($4<<2)|0); + $$0508532 = ((($233)) + -16|0); + $234 = ($19>>>0)<($$0508532>>>0); + if ($234) { + $235 = (((($2)) + 1084|0) + ($3<<2)|0); + $236 = HEAP32[$235>>2]|0; + $$0508536 = $$0508532;$$0509534 = $19;$$0510533 = $236;$$pn535 = $233; + while(1) { + $237 = +HEAPF32[$$0509534>>2]; + $238 = ((($$pn535)) + -8|0); + $239 = +HEAPF32[$238>>2]; + $240 = $237 - $239; + $241 = ((($$0509534)) + 4|0); + $242 = +HEAPF32[$241>>2]; + $243 = ((($$pn535)) + -4|0); + $244 = +HEAPF32[$243>>2]; + $245 = $242 + $244; + $246 = ((($$0510533)) + 4|0); + $247 = +HEAPF32[$246>>2]; + $248 = $240 * $247; + $249 = +HEAPF32[$$0510533>>2]; + $250 = $245 * $249; + $251 = $248 + $250; + $252 = $247 * $245; + $253 = $240 * $249; + $254 = $252 - $253; + $255 = $237 + $239; + $256 = $242 - $244; + $257 = $255 + $251; + HEAPF32[$$0509534>>2] = $257; + $258 = $256 + $254; + HEAPF32[$241>>2] = $258; + $259 = $255 - $251; + HEAPF32[$238>>2] = $259; + $260 = $254 - $256; + HEAPF32[$243>>2] = $260; + $261 = ((($$0509534)) + 8|0); + $262 = +HEAPF32[$261>>2]; + $263 = +HEAPF32[$$0508536>>2]; + $264 = $262 - $263; + $265 = ((($$0509534)) + 12|0); + $266 = +HEAPF32[$265>>2]; + $267 = ((($$pn535)) + -12|0); + $268 = +HEAPF32[$267>>2]; + $269 = $266 + $268; + $270 = ((($$0510533)) + 12|0); + $271 = +HEAPF32[$270>>2]; + $272 = $264 * $271; + $273 = ((($$0510533)) + 8|0); + $274 = +HEAPF32[$273>>2]; + $275 = $269 * $274; + $276 = $272 + $275; + $277 = $271 * $269; + $278 = $264 * $274; + $279 = $277 - $278; + $280 = $262 + $263; + $281 = $266 - $268; + $282 = $280 + $276; + HEAPF32[$261>>2] = $282; + $283 = $281 + $279; + HEAPF32[$265>>2] = $283; + $284 = $280 - $276; + HEAPF32[$$0508536>>2] = $284; + $285 = $279 - $281; + HEAPF32[$267>>2] = $285; + $286 = ((($$0510533)) + 16|0); + $287 = ((($$0509534)) + 16|0); + $$0508 = ((($$0508536)) + -16|0); + $288 = ($287>>>0)<($$0508>>>0); + if ($288) { + $$pn535$phi = $$0508536;$$0508536 = $$0508;$$0509534 = $287;$$0510533 = $286;$$pn535 = $$pn535$phi; + } else { + break; + } + } + } + $$0494522 = ((($233)) + -32|0); + $289 = ($$0494522>>>0)<($19>>>0); + if ($289) { + HEAP32[$7>>2] = $8; + STACKTOP = sp;return; + } + $290 = (($1) + -4)|0; + $291 = (($0) + ($290<<2)|0); + $292 = (($0) + ($191<<2)|0); + $293 = (((($2)) + 1076|0) + ($3<<2)|0); + $294 = HEAP32[$293>>2]|0; + $295 = (($294) + ($4<<2)|0); + $$0494530 = $$0494522;$$0495531$pn = $295;$$0496527 = $291;$$0497526 = $20;$$0498525 = $292;$$0499524 = $0;$$pn520529 = $233; + while(1) { + $$0495531 = ((($$0495531$pn)) + -32|0); + $296 = ((($$pn520529)) + -8|0); + $297 = +HEAPF32[$296>>2]; + $298 = ((($$0495531$pn)) + -4|0); + $299 = +HEAPF32[$298>>2]; + $300 = $297 * $299; + $301 = ((($$pn520529)) + -4|0); + $302 = +HEAPF32[$301>>2]; + $303 = ((($$0495531$pn)) + -8|0); + $304 = +HEAPF32[$303>>2]; + $305 = $302 * $304; + $306 = $300 - $305; + $307 = $297 * $304; + $308 = -$307; + $309 = $299 * $302; + $310 = $308 - $309; + HEAPF32[$$0499524>>2] = $306; + $311 = -$306; + $312 = ((($$0498525)) + 12|0); + HEAPF32[$312>>2] = $311; + HEAPF32[$$0497526>>2] = $310; + $313 = ((($$0496527)) + 12|0); + HEAPF32[$313>>2] = $310; + $314 = ((($$pn520529)) + -16|0); + $315 = +HEAPF32[$314>>2]; + $316 = ((($$0495531$pn)) + -12|0); + $317 = +HEAPF32[$316>>2]; + $318 = $315 * $317; + $319 = ((($$pn520529)) + -12|0); + $320 = +HEAPF32[$319>>2]; + $321 = ((($$0495531$pn)) + -16|0); + $322 = +HEAPF32[$321>>2]; + $323 = $320 * $322; + $324 = $318 - $323; + $325 = $315 * $322; + $326 = -$325; + $327 = $317 * $320; + $328 = $326 - $327; + $329 = ((($$0499524)) + 4|0); + HEAPF32[$329>>2] = $324; + $330 = -$324; + $331 = ((($$0498525)) + 8|0); + HEAPF32[$331>>2] = $330; + $332 = ((($$0497526)) + 4|0); + HEAPF32[$332>>2] = $328; + $333 = ((($$0496527)) + 8|0); + HEAPF32[$333>>2] = $328; + $334 = ((($$pn520529)) + -24|0); + $335 = +HEAPF32[$334>>2]; + $336 = ((($$0495531$pn)) + -20|0); + $337 = +HEAPF32[$336>>2]; + $338 = $335 * $337; + $339 = ((($$pn520529)) + -20|0); + $340 = +HEAPF32[$339>>2]; + $341 = ((($$0495531$pn)) + -24|0); + $342 = +HEAPF32[$341>>2]; + $343 = $340 * $342; + $344 = $338 - $343; + $345 = $335 * $342; + $346 = -$345; + $347 = $337 * $340; + $348 = $346 - $347; + $349 = ((($$0499524)) + 8|0); + HEAPF32[$349>>2] = $344; + $350 = -$344; + $351 = ((($$0498525)) + 4|0); + HEAPF32[$351>>2] = $350; + $352 = ((($$0497526)) + 8|0); + HEAPF32[$352>>2] = $348; + $353 = ((($$0496527)) + 4|0); + HEAPF32[$353>>2] = $348; + $354 = +HEAPF32[$$0494530>>2]; + $355 = ((($$0495531$pn)) + -28|0); + $356 = +HEAPF32[$355>>2]; + $357 = $354 * $356; + $358 = ((($$pn520529)) + -28|0); + $359 = +HEAPF32[$358>>2]; + $360 = +HEAPF32[$$0495531>>2]; + $361 = $359 * $360; + $362 = $357 - $361; + $363 = $354 * $360; + $364 = -$363; + $365 = $356 * $359; + $366 = $364 - $365; + $367 = ((($$0499524)) + 12|0); + HEAPF32[$367>>2] = $362; + $368 = -$362; + HEAPF32[$$0498525>>2] = $368; + $369 = ((($$0497526)) + 12|0); + HEAPF32[$369>>2] = $366; + HEAPF32[$$0496527>>2] = $366; + $370 = ((($$0499524)) + 16|0); + $371 = ((($$0497526)) + 16|0); + $372 = ((($$0498525)) + -16|0); + $373 = ((($$0496527)) + -16|0); + $$0494 = ((($$0494530)) + -32|0); + $374 = ($$0494>>>0)<($19>>>0); + if ($374) { + break; + } else { + $$pn520529$phi = $$0494530;$$0494530 = $$0494;$$0495531$pn = $$0495531;$$0496527 = $373;$$0497526 = $371;$$0498525 = $372;$$0499524 = $370;$$pn520529 = $$pn520529$phi; + } + } + HEAP32[$7>>2] = $8; STACKTOP = sp;return; } -function _get8($z) { - $z = $z|0; - 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, label = 0, sp = 0; +function _flush_packet($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $9 = ((($z)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_fgetc($10)|0); - $12 = ($11|0)==(-1); - if ($12) { - $13 = ((($z)) + 96|0); - HEAP32[$13>>2] = 1; - $$0 = 0; - return ($$0|0); - } else { - $14 = $11&255; - $$0 = $14; - return ($$0|0); - } - } else { - $3 = ((($z)) + 40|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($1>>>0)<($4>>>0); - if ($5) { - $7 = ((($1)) + 1|0); - HEAP32[$0>>2] = $7; - $8 = HEAP8[$1>>0]|0; - $$0 = $8; - return ($$0|0); - } else { - $6 = ((($z)) + 96|0); - HEAP32[$6>>2] = 1; - $$0 = 0; - return ($$0|0); + while(1) { + $1 = (_get8_packet_raw($0)|0); + $2 = ($1|0)==(-1); + if ($2) { + break; } } - return (0)|0; + return; } -function _crc32_update($crc,$byte) { - $crc = $crc|0; - $byte = $byte|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _get8_packet_raw($0) { + $0 = $0|0; + var $$0 = 0, $$pr = 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; - $0 = $crc << 8; - $1 = $byte&255; - $2 = $crc >>> 24; - $3 = $1 ^ $2; - $4 = (8220 + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 ^ $0; - return ($6|0); -} -function _get8_packet_raw($f) { - $f = $f|0; - var $$0 = 0, $$pr = 0, $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; - $0 = ((($f)) + 1376|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $3 = ((($f)) + 1384|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if (!($5)) { + $1 = ((($0)) + 1376|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if ($3) { + $4 = ((($0)) + 1384|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if (!($6)) { $$0 = -1; return ($$0|0); } - $6 = (_next_segment($f)|0); - $7 = ($6|0)==(0); - if ($7) { - $$0 = -1; - return ($$0|0); - } - $$pr = HEAP8[$0>>0]|0; - $8 = ($$pr<<24>>24)==(0); + $7 = (_next_segment($0)|0); + $8 = ($7|0)==(0); if ($8) { - ___assert_fail((19721|0),(17015|0),1132,(19741|0)); + $$0 = -1; + return ($$0|0); + } + $$pr = HEAP8[$1>>0]|0; + $9 = ($$pr<<24>>24)==(0); + if ($9) { + ___assert_fail((17203|0),(17088|0),1138,(17223|0)); // unreachable; } else { - $10 = $$pr; + $11 = $$pr; } } else { - $10 = $1; + $11 = $2; } - $9 = (($10) + -1)<<24>>24; - HEAP8[$0>>0] = $9; - $11 = ((($f)) + 1400|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + 1)|0; - HEAP32[$11>>2] = $13; - $14 = (_get8($f)|0); - $15 = $14&255; - $$0 = $15; + $10 = (($11) + -1)<<24>>24; + HEAP8[$1>>0] = $10; + $12 = ((($0)) + 1400|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + 1)|0; + HEAP32[$12>>2] = $14; + $15 = (_get8($0)|0); + $16 = $15&255; + $$0 = $16; return ($$0|0); } -function _next_segment($f) { - $f = $f|0; - 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _next_segment($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 1384|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { + $1 = ((($0)) + 1384|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if (!($3)) { $$0 = 0; return ($$0|0); } - $3 = ((($f)) + 1380|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(-1); - if ($5) { - $6 = ((($f)) + 1116|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($7) + -1)|0; - $9 = ((($f)) + 1388|0); - HEAP32[$9>>2] = $8; - $10 = (_start_page($f)|0); - $11 = ($10|0)==(0); - if ($11) { - HEAP32[$0>>2] = 1; + $4 = ((($0)) + 1380|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(-1); + if ($6) { + $7 = ((($0)) + 1116|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) + -1)|0; + $10 = ((($0)) + 1388|0); + HEAP32[$10>>2] = $9; + $11 = (_start_page($0)|0); + $12 = ($11|0)==(0); + if ($12) { + HEAP32[$1>>2] = 1; $$0 = 0; return ($$0|0); } - $12 = ((($f)) + 1375|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13 & 1; - $15 = ($14<<24>>24)==(0); - if ($15) { - _error($f,32); + $13 = ((($0)) + 1375|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14 & 1; + $16 = ($15<<24>>24)==(0); + if ($16) { + _error($0,32); $$0 = 0; return ($$0|0); } } - $16 = HEAP32[$3>>2]|0; - $17 = (($16) + 1)|0; - HEAP32[$3>>2] = $17; - $18 = (((($f)) + 1120|0) + ($16)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($19<<24>>24)==(-1); - if (!($21)) { - HEAP32[$0>>2] = 1; - $22 = HEAP32[$3>>2]|0; - $23 = (($22) + -1)|0; - $24 = ((($f)) + 1388|0); - HEAP32[$24>>2] = $23; + $17 = HEAP32[$4>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[$4>>2] = $18; + $19 = (((($0)) + 1120|0) + ($17)|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($20<<24>>24)==(-1); + if (!($22)) { + HEAP32[$1>>2] = 1; + $23 = ((($0)) + 1388|0); + HEAP32[$23>>2] = $17; } - $25 = HEAP32[$3>>2]|0; - $26 = ((($f)) + 1116|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($25|0)<($27|0); - if (!($28)) { - HEAP32[$3>>2] = -1; + $24 = ((($0)) + 1116|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($18|0)<($25|0); + if (!($26)) { + HEAP32[$4>>2] = -1; } - $29 = ((($f)) + 1376|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(0); - if (!($31)) { - ___assert_fail((19757|0),(17015|0),1118,(19778|0)); + $27 = ((($0)) + 1376|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if (!($29)) { + ___assert_fail((17239|0),(17088|0),1124,(17260|0)); // unreachable; } - HEAP8[$29>>0] = $19; - $$0 = $20; + HEAP8[$27>>0] = $20; + $$0 = $21; return ($$0|0); } -function _start_page($f) { - $f = $f|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _get8($0) { + $0 = $0|0; + var $$1 = 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; - $0 = (_capture_pattern($f)|0); - $1 = ($0|0)==(0); - if ($1) { - _error($f,30); + $1 = ((($0)) + 32|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_fgetc($11)|0); + $13 = ($12|0)==(-1); + if ($13) { + $14 = ((($0)) + 96|0); + HEAP32[$14>>2] = 1; + $$1 = 0; + return ($$1|0); + } else { + $15 = $12&255; + $$1 = $15; + return ($$1|0); + } + } else { + $4 = ((($0)) + 40|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($2>>>0)<($5>>>0); + if ($6) { + $8 = ((($2)) + 1|0); + HEAP32[$1>>2] = $8; + $9 = HEAP8[$2>>0]|0; + $$1 = $9; + return ($$1|0); + } else { + $7 = ((($0)) + 96|0); + HEAP32[$7>>2] = 1; + $$1 = 0; + return ($$1|0); + } + } + return (0)|0; +} +function _start_page($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_capture_pattern($0)|0); + $2 = ($1|0)==(0); + if ($2) { + _error($0,30); $$0 = 0; return ($$0|0); } else { - $2 = (_start_page_no_capturepattern($f)|0); - $$0 = $2; + $3 = (_start_page_no_capturepattern($0)|0); + $$0 = $3; return ($$0|0); } return (0)|0; } -function _capture_pattern($f) { - $f = $f|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; +function _capture_pattern($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = ($0<<24>>24)==(79); - if ($1) { - $2 = (_get8($f)|0); - $3 = ($2<<24>>24)==(103); - if ($3) { - $4 = (_get8($f)|0); - $5 = ($4<<24>>24)==(103); - if ($5) { - $6 = (_get8($f)|0); - $7 = ($6<<24>>24)==(83); - $$ = $7&1; + $1 = (_get8($0)|0); + $2 = ($1<<24>>24)==(79); + if ($2) { + $3 = (_get8($0)|0); + $4 = ($3<<24>>24)==(103); + if ($4) { + $5 = (_get8($0)|0); + $6 = ($5<<24>>24)==(103); + if ($6) { + $7 = (_get8($0)|0); + $8 = ($7<<24>>24)==(83); + $$ = $8&1; $$0 = $$; } else { $$0 = 0; @@ -32283,156 +47393,1548 @@ function _capture_pattern($f) { } return ($$0|0); } -function _start_page_no_capturepattern($f) { - $f = $f|0; - var $$0 = 0, $$lcssa = 0, $$lcssa14 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$0 = 0, $i$0$in = 0, $i$0$lcssa15 = 0, $i1$04 = 0, $len$0$lcssa = 0, $len$03 = 0, $phitmp = 0, label = 0, sp = 0; +function _start_page_no_capturepattern($0) { + $0 = $0|0; + var $$0 = 0, $$058 = 0, $$058$in = 0, $$059$lcssa = 0, $$05963 = 0, $$06062 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$6$0$$sroa_idx5 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_get8($f)|0); - $1 = ($0<<24>>24)==(0); - if (!($1)) { - _error($f,31); + $1 = (_get8($0)|0); + $2 = ($1<<24>>24)==(0); + if (!($2)) { + _error($0,31); $$0 = 0; return ($$0|0); } - $2 = (_get8($f)|0); - $3 = ((($f)) + 1375|0); - HEAP8[$3>>0] = $2; - $4 = (_get32($f)|0); - $5 = (_get32($f)|0); - (_get32($f)|0); - $6 = (_get32($f)|0); - $7 = ((($f)) + 1112|0); - HEAP32[$7>>2] = $6; - (_get32($f)|0); - $8 = (_get8($f)|0); - $9 = $8&255; - $10 = ((($f)) + 1116|0); - HEAP32[$10>>2] = $9; - $11 = ((($f)) + 1120|0); - $12 = (_getn($f,$11,$9)|0); - $13 = ($12|0)==(0); - if ($13) { - _error($f,10); + $3 = (_get8($0)|0); + $4 = ((($0)) + 1375|0); + HEAP8[$4>>0] = $3; + $5 = (_get32($0)|0); + $6 = (_get32($0)|0); + (_get32($0)|0); + $7 = (_get32($0)|0); + $8 = ((($0)) + 1112|0); + HEAP32[$8>>2] = $7; + (_get32($0)|0); + $9 = (_get8($0)|0); + $10 = $9&255; + $11 = ((($0)) + 1116|0); + HEAP32[$11>>2] = $10; + $12 = ((($0)) + 1120|0); + $13 = (_getn($0,$12,$10)|0); + $14 = ($13|0)==(0); + if ($14) { + _error($0,10); $$0 = 0; return ($$0|0); } - $14 = ((($f)) + 1404|0); - HEAP32[$14>>2] = -2; - $15 = $5 & $4; - $16 = ($15|0)==(-1); + $15 = ((($0)) + 1404|0); + HEAP32[$15>>2] = -2; + $16 = $6 & $5; + $17 = ($16|0)==(-1); L9: do { - if (!($16)) { - $17 = HEAP32[$10>>2]|0; - $i$0$in = $17; + if (!($17)) { + $18 = HEAP32[$11>>2]|0; + $$058$in = $18; while(1) { - $i$0 = (($i$0$in) + -1)|0; - $18 = ($i$0$in|0)>(0); - if (!($18)) { + $$058 = (($$058$in) + -1)|0; + $19 = ($$058$in|0)>(0); + if (!($19)) { break L9; } - $19 = (((($f)) + 1120|0) + ($i$0)|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($20<<24>>24)==(-1); - if ($21) { - $i$0$in = $i$0; + $20 = (((($0)) + 1120|0) + ($$058)|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(-1); + if ($22) { + $$058$in = $$058; } else { - $i$0$lcssa15 = $i$0; break; } } - HEAP32[$14>>2] = $i$0$lcssa15; - $22 = ((($f)) + 1408|0); - HEAP32[$22>>2] = $4; + HEAP32[$15>>2] = $$058; + $23 = ((($0)) + 1408|0); + HEAP32[$23>>2] = $5; } } while(0); - $23 = ((($f)) + 1377|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if (!($25)) { - $26 = HEAP32[$10>>2]|0; - $27 = ($26|0)>(0); - if ($27) { - $28 = HEAP32[$10>>2]|0; - $i1$04 = 0;$len$03 = 0; + $24 = ((($0)) + 1377|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if (!($26)) { + $27 = HEAP32[$11>>2]|0; + $28 = ($27|0)>(0); + if ($28) { + $29 = HEAP32[$11>>2]|0; + $$05963 = 0;$$06062 = 0; while(1) { - $29 = (((($f)) + 1120|0) + ($i1$04)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = (($31) + ($len$03))|0; - $33 = (($i1$04) + 1)|0; - $34 = ($33|0)<($28|0); - if ($34) { - $i1$04 = $33;$len$03 = $32; + $30 = (((($0)) + 1120|0) + ($$06062)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = (($32) + ($$05963))|0; + $34 = (($$06062) + 1)|0; + $35 = ($34|0)<($29|0); + if ($35) { + $$05963 = $33;$$06062 = $34; } else { - $$lcssa14 = $32; break; } } - $phitmp = (($$lcssa14) + 27)|0; - $$lcssa = $28;$len$0$lcssa = $phitmp; + $phitmp = (($33) + 27)|0; + $$059$lcssa = $phitmp;$$lcssa = $29; } else { - $$lcssa = $26;$len$0$lcssa = 27; + $$059$lcssa = 27;$$lcssa = $27; } - $35 = ((($f)) + 52|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($len$0$lcssa) + ($$lcssa))|0; - $38 = (($37) + ($36))|0; - $39 = ((($f)) + 56|0); - HEAP32[$39>>2] = $36; - $40 = ((($f)) + 60|0); - HEAP32[$40>>2] = $38; - $41 = ((($f)) + 64|0); - HEAP32[$41>>2] = $4; + $36 = ((($0)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = (($$059$lcssa) + ($$lcssa))|0; + $39 = (($38) + ($37))|0; + $$sroa$0$0$$sroa_idx = ((($0)) + 56|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = $37; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 60|0); + HEAP32[$$sroa$5$0$$sroa_idx3>>2] = $39; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 64|0); + HEAP32[$$sroa$6$0$$sroa_idx5>>2] = $5; } - $42 = ((($f)) + 1380|0); - HEAP32[$42>>2] = 0; + $40 = ((($0)) + 1380|0); + HEAP32[$40>>2] = 0; $$0 = 1; return ($$0|0); } -function _start_packet($f) { - $f = $f|0; - var $$0 = 0, $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, label = 0, sp = 0; +function _get32($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; - $0 = ((($f)) + 1380|0); - $1 = ((($f)) + 1375|0); + $1 = (_get8($0)|0); + $2 = $1&255; + $3 = (_get8($0)|0); + $4 = $3&255; + $5 = $4 << 8; + $6 = $5 | $2; + $7 = (_get8($0)|0); + $8 = $7&255; + $9 = $8 << 16; + $10 = $6 | $9; + $11 = (_get8($0)|0); + $12 = $11&255; + $13 = $12 << 24; + $14 = $10 | $13; + return ($14|0); +} +function _getn($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 32|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $13 = ((($0)) + 20|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_fread($1,$2,1,$14)|0); + $16 = ($15|0)==(1); + if ($16) { + $$0 = 1; + return ($$0|0); + } + $17 = ((($0)) + 96|0); + HEAP32[$17>>2] = 1; + $$0 = 0; + return ($$0|0); + } + $6 = (($4) + ($2)|0); + $7 = ((($0)) + 40|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($6>>>0)>($8>>>0); + if ($9) { + $10 = ((($0)) + 96|0); + HEAP32[$10>>2] = 1; + $$0 = 0; + return ($$0|0); + } else { + _memcpy(($1|0),($4|0),($2|0))|0; + $11 = HEAP32[$3>>2]|0; + $12 = (($11) + ($2)|0); + HEAP32[$3>>2] = $12; + $$0 = 1; + return ($$0|0); + } + return (0)|0; +} +function _setup_temp_malloc($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) + 3)|0; + $3 = $2 & -4; + $4 = ((($0)) + 80|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $14 = (_malloc($3)|0); + $$0 = $14; + return ($$0|0); + } + $7 = ((($0)) + 92|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($8) - ($3))|0; + $10 = ((($0)) + 88|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($9|0)<($11|0); + if ($12) { + $$0 = 0; + return ($$0|0); + } + HEAP32[$7>>2] = $9; + $13 = (($5) + ($9)|0); + $$0 = $13; + return ($$0|0); +} +function _imdct_step3_iter0_loop($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0100 = 0, $$09499 = 0, $$09598 = 0, $$09697 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $112 = 0, $12 = 0.0; + var $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0; + var $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0; + var $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0; + var $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0; + var $89 = 0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (($1) + ($2<<2)|0); + $6 = $0 & 3; + $7 = ($6|0)==(0); + if (!($7)) { + ___assert_fail((17273|0),(17088|0),2007,(17286|0)); + // unreachable; + } + $8 = $0 >> 2; + $9 = ($8|0)>(0); + if (!($9)) { + return; + } + $10 = (($5) + ($3<<2)|0); + $$0100 = $4;$$09499 = $5;$$09598 = $8;$$09697 = $10; while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)==(-1); - if (!($3)) { + $11 = +HEAPF32[$$09499>>2]; + $12 = +HEAPF32[$$09697>>2]; + $13 = $11 - $12; + $14 = ((($$09499)) + -4|0); + $15 = +HEAPF32[$14>>2]; + $16 = ((($$09697)) + -4|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 - $17; + $19 = $11 + $12; + HEAPF32[$$09499>>2] = $19; + $20 = +HEAPF32[$16>>2]; + $21 = $15 + $20; + HEAPF32[$14>>2] = $21; + $22 = +HEAPF32[$$0100>>2]; + $23 = $13 * $22; + $24 = ((($$0100)) + 4|0); + $25 = +HEAPF32[$24>>2]; + $26 = $18 * $25; + $27 = $23 - $26; + HEAPF32[$$09697>>2] = $27; + $28 = +HEAPF32[$$0100>>2]; + $29 = $18 * $28; + $30 = +HEAPF32[$24>>2]; + $31 = $13 * $30; + $32 = $29 + $31; + HEAPF32[$16>>2] = $32; + $33 = ((($$0100)) + 32|0); + $34 = ((($$09499)) + -8|0); + $35 = +HEAPF32[$34>>2]; + $36 = ((($$09697)) + -8|0); + $37 = +HEAPF32[$36>>2]; + $38 = $35 - $37; + $39 = ((($$09499)) + -12|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($$09697)) + -12|0); + $42 = +HEAPF32[$41>>2]; + $43 = $40 - $42; + $44 = $35 + $37; + HEAPF32[$34>>2] = $44; + $45 = +HEAPF32[$41>>2]; + $46 = $40 + $45; + HEAPF32[$39>>2] = $46; + $47 = +HEAPF32[$33>>2]; + $48 = $38 * $47; + $49 = ((($$0100)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = $43 * $50; + $52 = $48 - $51; + HEAPF32[$36>>2] = $52; + $53 = +HEAPF32[$33>>2]; + $54 = $43 * $53; + $55 = +HEAPF32[$49>>2]; + $56 = $38 * $55; + $57 = $54 + $56; + HEAPF32[$41>>2] = $57; + $58 = ((($$0100)) + 64|0); + $59 = ((($$09499)) + -16|0); + $60 = +HEAPF32[$59>>2]; + $61 = ((($$09697)) + -16|0); + $62 = +HEAPF32[$61>>2]; + $63 = $60 - $62; + $64 = ((($$09499)) + -20|0); + $65 = +HEAPF32[$64>>2]; + $66 = ((($$09697)) + -20|0); + $67 = +HEAPF32[$66>>2]; + $68 = $65 - $67; + $69 = $60 + $62; + HEAPF32[$59>>2] = $69; + $70 = +HEAPF32[$66>>2]; + $71 = $65 + $70; + HEAPF32[$64>>2] = $71; + $72 = +HEAPF32[$58>>2]; + $73 = $63 * $72; + $74 = ((($$0100)) + 68|0); + $75 = +HEAPF32[$74>>2]; + $76 = $68 * $75; + $77 = $73 - $76; + HEAPF32[$61>>2] = $77; + $78 = +HEAPF32[$58>>2]; + $79 = $68 * $78; + $80 = +HEAPF32[$74>>2]; + $81 = $63 * $80; + $82 = $79 + $81; + HEAPF32[$66>>2] = $82; + $83 = ((($$0100)) + 96|0); + $84 = ((($$09499)) + -24|0); + $85 = +HEAPF32[$84>>2]; + $86 = ((($$09697)) + -24|0); + $87 = +HEAPF32[$86>>2]; + $88 = $85 - $87; + $89 = ((($$09499)) + -28|0); + $90 = +HEAPF32[$89>>2]; + $91 = ((($$09697)) + -28|0); + $92 = +HEAPF32[$91>>2]; + $93 = $90 - $92; + $94 = $85 + $87; + HEAPF32[$84>>2] = $94; + $95 = +HEAPF32[$91>>2]; + $96 = $90 + $95; + HEAPF32[$89>>2] = $96; + $97 = +HEAPF32[$83>>2]; + $98 = $88 * $97; + $99 = ((($$0100)) + 100|0); + $100 = +HEAPF32[$99>>2]; + $101 = $93 * $100; + $102 = $98 - $101; + HEAPF32[$86>>2] = $102; + $103 = +HEAPF32[$83>>2]; + $104 = $93 * $103; + $105 = +HEAPF32[$99>>2]; + $106 = $88 * $105; + $107 = $104 + $106; + HEAPF32[$91>>2] = $107; + $108 = ((($$0100)) + 128|0); + $109 = ((($$09499)) + -32|0); + $110 = ((($$09697)) + -32|0); + $111 = (($$09598) + -1)|0; + $112 = ($$09598|0)>(1); + if ($112) { + $$0100 = $108;$$09499 = $109;$$09598 = $111;$$09697 = $110; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_r_loop($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 $$0103 = 0, $$097102 = 0, $$098101 = 0, $$099100 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $12 = 0.0, $13 = 0; + var $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0; + var $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0; + var $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0; + var $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0; + var $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = (($1) + ($2<<2)|0); + $7 = $0 >> 2; + $8 = ($7|0)>(0); + if (!($8)) { + return; + } + $9 = (($6) + ($3<<2)|0); + $$0103 = $9;$$097102 = $6;$$098101 = $4;$$099100 = $7; + while(1) { + $10 = +HEAPF32[$$097102>>2]; + $11 = +HEAPF32[$$0103>>2]; + $12 = $10 - $11; + $13 = ((($$097102)) + -4|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($$0103)) + -4|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + $18 = $10 + $11; + HEAPF32[$$097102>>2] = $18; + $19 = +HEAPF32[$15>>2]; + $20 = $14 + $19; + HEAPF32[$13>>2] = $20; + $21 = +HEAPF32[$$098101>>2]; + $22 = $12 * $21; + $23 = ((($$098101)) + 4|0); + $24 = +HEAPF32[$23>>2]; + $25 = $17 * $24; + $26 = $22 - $25; + HEAPF32[$$0103>>2] = $26; + $27 = +HEAPF32[$$098101>>2]; + $28 = $17 * $27; + $29 = +HEAPF32[$23>>2]; + $30 = $12 * $29; + $31 = $28 + $30; + HEAPF32[$15>>2] = $31; + $32 = (($$098101) + ($5<<2)|0); + $33 = ((($$097102)) + -8|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($$0103)) + -8|0); + $36 = +HEAPF32[$35>>2]; + $37 = $34 - $36; + $38 = ((($$097102)) + -12|0); + $39 = +HEAPF32[$38>>2]; + $40 = ((($$0103)) + -12|0); + $41 = +HEAPF32[$40>>2]; + $42 = $39 - $41; + $43 = $34 + $36; + HEAPF32[$33>>2] = $43; + $44 = +HEAPF32[$40>>2]; + $45 = $39 + $44; + HEAPF32[$38>>2] = $45; + $46 = +HEAPF32[$32>>2]; + $47 = $37 * $46; + $48 = ((($32)) + 4|0); + $49 = +HEAPF32[$48>>2]; + $50 = $42 * $49; + $51 = $47 - $50; + HEAPF32[$35>>2] = $51; + $52 = +HEAPF32[$32>>2]; + $53 = $42 * $52; + $54 = +HEAPF32[$48>>2]; + $55 = $37 * $54; + $56 = $53 + $55; + HEAPF32[$40>>2] = $56; + $57 = (($32) + ($5<<2)|0); + $58 = ((($$097102)) + -16|0); + $59 = +HEAPF32[$58>>2]; + $60 = ((($$0103)) + -16|0); + $61 = +HEAPF32[$60>>2]; + $62 = $59 - $61; + $63 = ((($$097102)) + -20|0); + $64 = +HEAPF32[$63>>2]; + $65 = ((($$0103)) + -20|0); + $66 = +HEAPF32[$65>>2]; + $67 = $64 - $66; + $68 = $59 + $61; + HEAPF32[$58>>2] = $68; + $69 = +HEAPF32[$65>>2]; + $70 = $64 + $69; + HEAPF32[$63>>2] = $70; + $71 = +HEAPF32[$57>>2]; + $72 = $62 * $71; + $73 = ((($57)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $67 * $74; + $76 = $72 - $75; + HEAPF32[$60>>2] = $76; + $77 = +HEAPF32[$57>>2]; + $78 = $67 * $77; + $79 = +HEAPF32[$73>>2]; + $80 = $62 * $79; + $81 = $78 + $80; + HEAPF32[$65>>2] = $81; + $82 = (($57) + ($5<<2)|0); + $83 = ((($$097102)) + -24|0); + $84 = +HEAPF32[$83>>2]; + $85 = ((($$0103)) + -24|0); + $86 = +HEAPF32[$85>>2]; + $87 = $84 - $86; + $88 = ((($$097102)) + -28|0); + $89 = +HEAPF32[$88>>2]; + $90 = ((($$0103)) + -28|0); + $91 = +HEAPF32[$90>>2]; + $92 = $89 - $91; + $93 = $84 + $86; + HEAPF32[$83>>2] = $93; + $94 = +HEAPF32[$90>>2]; + $95 = $89 + $94; + HEAPF32[$88>>2] = $95; + $96 = +HEAPF32[$82>>2]; + $97 = $87 * $96; + $98 = ((($82)) + 4|0); + $99 = +HEAPF32[$98>>2]; + $100 = $92 * $99; + $101 = $97 - $100; + HEAPF32[$85>>2] = $101; + $102 = +HEAPF32[$82>>2]; + $103 = $92 * $102; + $104 = +HEAPF32[$98>>2]; + $105 = $87 * $104; + $106 = $103 + $105; + HEAPF32[$90>>2] = $106; + $107 = ((($$097102)) + -32|0); + $108 = ((($$0103)) + -32|0); + $109 = (($82) + ($5<<2)|0); + $110 = (($$099100) + -1)|0; + $111 = ($$099100|0)>(1); + if ($111) { + $$0103 = $108;$$097102 = $107;$$098101 = $109;$$099100 = $110; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_s_loop($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 $$0129132 = 0, $$0130131 = 0, $$0133 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0; + var $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0; + var $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0; + var $58 = 0.0, $59 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0, $75 = 0.0, $76 = 0.0; + var $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0; + var $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $7 = +HEAPF32[$4>>2]; + $8 = ((($4)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = (($4) + ($5<<2)|0); + $11 = +HEAPF32[$10>>2]; + $12 = (($5) + 1)|0; + $13 = (($4) + ($12<<2)|0); + $14 = +HEAPF32[$13>>2]; + $15 = $5 << 1; + $16 = (($4) + ($15<<2)|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 | 1; + $19 = (($4) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = ($5*3)|0; + $22 = (($4) + ($21<<2)|0); + $23 = +HEAPF32[$22>>2]; + $24 = (($21) + 1)|0; + $25 = (($4) + ($24<<2)|0); + $26 = +HEAPF32[$25>>2]; + $27 = (($1) + ($2<<2)|0); + $28 = ($0|0)>(0); + if (!($28)) { + return; + } + $29 = (($27) + ($3<<2)|0); + $30 = (0 - ($6))|0; + $$0129132 = $27;$$0130131 = $0;$$0133 = $29; + while(1) { + $31 = +HEAPF32[$$0129132>>2]; + $32 = +HEAPF32[$$0133>>2]; + $33 = $31 - $32; + $34 = ((($$0129132)) + -4|0); + $35 = +HEAPF32[$34>>2]; + $36 = ((($$0133)) + -4|0); + $37 = +HEAPF32[$36>>2]; + $38 = $35 - $37; + $39 = $31 + $32; + HEAPF32[$$0129132>>2] = $39; + $40 = +HEAPF32[$36>>2]; + $41 = $35 + $40; + HEAPF32[$34>>2] = $41; + $42 = $7 * $33; + $43 = $9 * $38; + $44 = $42 - $43; + HEAPF32[$$0133>>2] = $44; + $45 = $7 * $38; + $46 = $9 * $33; + $47 = $46 + $45; + HEAPF32[$36>>2] = $47; + $48 = ((($$0129132)) + -8|0); + $49 = +HEAPF32[$48>>2]; + $50 = ((($$0133)) + -8|0); + $51 = +HEAPF32[$50>>2]; + $52 = $49 - $51; + $53 = ((($$0129132)) + -12|0); + $54 = +HEAPF32[$53>>2]; + $55 = ((($$0133)) + -12|0); + $56 = +HEAPF32[$55>>2]; + $57 = $54 - $56; + $58 = $49 + $51; + HEAPF32[$48>>2] = $58; + $59 = +HEAPF32[$55>>2]; + $60 = $54 + $59; + HEAPF32[$53>>2] = $60; + $61 = $11 * $52; + $62 = $14 * $57; + $63 = $61 - $62; + HEAPF32[$50>>2] = $63; + $64 = $11 * $57; + $65 = $14 * $52; + $66 = $65 + $64; + HEAPF32[$55>>2] = $66; + $67 = ((($$0129132)) + -16|0); + $68 = +HEAPF32[$67>>2]; + $69 = ((($$0133)) + -16|0); + $70 = +HEAPF32[$69>>2]; + $71 = $68 - $70; + $72 = ((($$0129132)) + -20|0); + $73 = +HEAPF32[$72>>2]; + $74 = ((($$0133)) + -20|0); + $75 = +HEAPF32[$74>>2]; + $76 = $73 - $75; + $77 = $68 + $70; + HEAPF32[$67>>2] = $77; + $78 = +HEAPF32[$74>>2]; + $79 = $73 + $78; + HEAPF32[$72>>2] = $79; + $80 = $17 * $71; + $81 = $20 * $76; + $82 = $80 - $81; + HEAPF32[$69>>2] = $82; + $83 = $17 * $76; + $84 = $20 * $71; + $85 = $84 + $83; + HEAPF32[$74>>2] = $85; + $86 = ((($$0129132)) + -24|0); + $87 = +HEAPF32[$86>>2]; + $88 = ((($$0133)) + -24|0); + $89 = +HEAPF32[$88>>2]; + $90 = $87 - $89; + $91 = ((($$0129132)) + -28|0); + $92 = +HEAPF32[$91>>2]; + $93 = ((($$0133)) + -28|0); + $94 = +HEAPF32[$93>>2]; + $95 = $92 - $94; + $96 = $87 + $89; + HEAPF32[$86>>2] = $96; + $97 = +HEAPF32[$93>>2]; + $98 = $92 + $97; + HEAPF32[$91>>2] = $98; + $99 = $23 * $90; + $100 = $26 * $95; + $101 = $99 - $100; + HEAPF32[$88>>2] = $101; + $102 = $23 * $95; + $103 = $26 * $90; + $104 = $103 + $102; + HEAPF32[$93>>2] = $104; + $105 = (($$0129132) + ($30<<2)|0); + $106 = (($$0133) + ($30<<2)|0); + $107 = (($$0130131) + -1)|0; + $108 = ($$0130131|0)>(1); + if ($108) { + $$0129132 = $105;$$0130131 = $107;$$0133 = $106; + } else { + break; + } + } + return; +} +function _imdct_step3_inner_s_loop_ld654($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$086 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; + var $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0.0; + var $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0; + var $67 = 0.0, $68 = 0, $69 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $4 >> 3; + $6 = (($3) + ($5<<2)|0); + $7 = +HEAPF32[$6>>2]; + $8 = (($1) + ($2<<2)|0); + $9 = $0 << 4; + $10 = (0 - ($9))|0; + $11 = (($8) + ($10<<2)|0); + $12 = ($10|0)<(0); + if ($12) { + $$086 = $8; + } else { + return; + } + while(1) { + $13 = +HEAPF32[$$086>>2]; + $14 = ((($$086)) + -32|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 - $15; + $17 = ((($$086)) + -4|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($$086)) + -36|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 - $20; + $22 = $13 + $15; + HEAPF32[$$086>>2] = $22; + $23 = $18 + $20; + HEAPF32[$17>>2] = $23; + HEAPF32[$14>>2] = $16; + HEAPF32[$19>>2] = $21; + $24 = ((($$086)) + -8|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($$086)) + -40|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 - $27; + $29 = ((($$086)) + -12|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($$086)) + -44|0); + $32 = +HEAPF32[$31>>2]; + $33 = $30 - $32; + $34 = $25 + $27; + HEAPF32[$24>>2] = $34; + $35 = $30 + $32; + HEAPF32[$29>>2] = $35; + $36 = $28 + $33; + $37 = $7 * $36; + HEAPF32[$26>>2] = $37; + $38 = $33 - $28; + $39 = $7 * $38; + HEAPF32[$31>>2] = $39; + $40 = ((($$086)) + -48|0); + $41 = +HEAPF32[$40>>2]; + $42 = ((($$086)) + -16|0); + $43 = +HEAPF32[$42>>2]; + $44 = $41 - $43; + $45 = ((($$086)) + -20|0); + $46 = +HEAPF32[$45>>2]; + $47 = ((($$086)) + -52|0); + $48 = +HEAPF32[$47>>2]; + $49 = $46 - $48; + $50 = $41 + $43; + HEAPF32[$42>>2] = $50; + $51 = $46 + $48; + HEAPF32[$45>>2] = $51; + HEAPF32[$40>>2] = $49; + HEAPF32[$47>>2] = $44; + $52 = ((($$086)) + -56|0); + $53 = +HEAPF32[$52>>2]; + $54 = ((($$086)) + -24|0); + $55 = +HEAPF32[$54>>2]; + $56 = $53 - $55; + $57 = ((($$086)) + -28|0); + $58 = +HEAPF32[$57>>2]; + $59 = ((($$086)) + -60|0); + $60 = +HEAPF32[$59>>2]; + $61 = $58 - $60; + $62 = $53 + $55; + HEAPF32[$54>>2] = $62; + $63 = $58 + $60; + HEAPF32[$57>>2] = $63; + $64 = $56 + $61; + $65 = $7 * $64; + HEAPF32[$52>>2] = $65; + $66 = $56 - $61; + $67 = $7 * $66; + HEAPF32[$59>>2] = $67; + _iter_54($$086); + _iter_54($14); + $68 = ((($$086)) + -64|0); + $69 = ($68>>>0)>($11>>>0); + if ($69) { + $$086 = $68; + } else { + break; + } + } + return; +} +function _iter_54($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = ((($0)) + -16|0); + $3 = +HEAPF32[$2>>2]; + $4 = $1 - $3; + $5 = $1 + $3; + $6 = ((($0)) + -8|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($0)) + -24|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 + $9; + $11 = $7 - $9; + $12 = $5 + $10; + HEAPF32[$0>>2] = $12; + $13 = $5 - $10; + HEAPF32[$6>>2] = $13; + $14 = ((($0)) + -12|0); + $15 = +HEAPF32[$14>>2]; + $16 = ((($0)) + -28|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 - $17; + $19 = $4 + $18; + HEAPF32[$2>>2] = $19; + $20 = $4 - $18; + HEAPF32[$8>>2] = $20; + $21 = ((($0)) + -4|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($0)) + -20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 - $24; + $26 = $22 + $24; + $27 = $15 + $17; + $28 = $27 + $26; + HEAPF32[$21>>2] = $28; + $29 = $26 - $27; + HEAPF32[$14>>2] = $29; + $30 = $25 - $11; + HEAPF32[$23>>2] = $30; + $31 = $11 + $25; + HEAPF32[$16>>2] = $31; + return; +} +function _draw_line($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$pn = 0, $$05368 = 0, $$056 = 0, $$05666 = 0, $$05669 = 0, $$1 = 0, $$155 = 0, $$155$sink67 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0.0; + var $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos58 = 0, $neg = 0, $neg59 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $6 = (($4) - ($2))|0; + $7 = (($3) - ($1))|0; + $ispos = ($6|0)>(-1); + $neg = (0 - ($6))|0; + $8 = $ispos ? $6 : $neg; + $9 = (($6|0) / ($7|0))&-1; + $10 = $6 >> 31; + $11 = $10 | 1; + $ispos58 = ($9|0)>(-1); + $neg59 = (0 - ($9))|0; + $12 = $ispos58 ? $9 : $neg59; + $13 = Math_imul($12, $7)|0; + $14 = (($8) - ($13))|0; + $15 = ($3|0)>($5|0); + $$ = $15 ? $5 : $3; + $16 = ($$|0)>($1|0); + if (!($16)) { + return; + } + $17 = (3772 + ($2<<2)|0); + $18 = +HEAPF32[$17>>2]; + $19 = (($0) + ($1<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + HEAPF32[$19>>2] = $21; + $$05666 = (($1) + 1)|0; + $22 = ($$05666|0)<($$|0); + if ($22) { + $$05368 = 0;$$05669 = $$05666;$$155$sink67 = $2; + } else { + return; + } + while(1) { + $23 = (($$05368) + ($14))|0; + $24 = ($23|0)<($7|0); + $25 = $24 ? 0 : $11; + $26 = $24 ? 0 : $7; + $$1 = (($23) - ($26))|0; + $$0$pn = (($$155$sink67) + ($9))|0; + $$155 = (($$0$pn) + ($25))|0; + $27 = (3772 + ($$155<<2)|0); + $28 = +HEAPF32[$27>>2]; + $29 = (($0) + ($$05669<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = $28 * $30; + HEAPF32[$29>>2] = $31; + $$056 = (($$05669) + 1)|0; + $32 = ($$056|0)<($$|0); + if ($32) { + $$05368 = $$1;$$05669 = $$056;$$155$sink67 = $$155; + } else { + break; + } + } + return; +} +function _make_block_array($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01617 = 0, $$018 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($1|0)>(0); + if (!($3)) { + return ($0|0); + } + $4 = (($0) + ($1<<2)|0); + $$01617 = 0;$$018 = $4; + while(1) { + $5 = (($0) + ($$01617<<2)|0); + HEAP32[$5>>2] = $$018; + $6 = (($$018) + ($2)|0); + $7 = (($$01617) + 1)|0; + $exitcond = ($7|0)==($1|0); + if ($exitcond) { + break; + } else { + $$01617 = $7;$$018 = $6; + } + } + return ($0|0); +} +function _codebook_decode_deinterleave_repeat($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, $$$1115 = 0, $$$3117 = 0, $$0100145 = 0, $$0102$lcssa = 0, $$0102144 = 0, $$0105133 = 0.0, $$0107143 = 0, $$0112132 = 0, $$0114$lcssa = 0, $$0114142 = 0, $$1103134 = 0, $$1108 = 0, $$1111 = 0, $$1113137 = 0, $$1115131 = 0, $$121 = 0, $$122 = 0, $$123 = 0, $$2 = 0; + var $$3117136 = 0, $$3138 = 0, $$5 = 0, $$5119 = 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, $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.0, $67 = 0.0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.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.0; + var $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $exitcond = 0, $exitcond150 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = HEAP32[$4>>2]|0; + $9 = HEAP32[$5>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = ((($1)) + 21|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + $14 = ($7|0)>(0); + L5: do { + if ($14) { + $15 = ((($0)) + 1396|0); + $16 = ((($0)) + 1392|0); + $17 = ((($1)) + 8|0); + $18 = ((($1)) + 23|0); + $19 = Math_imul($6, $3)|0; + $20 = ((($1)) + 22|0); + $21 = ((($1)) + 28|0); + $22 = ((($1)) + 28|0); + $23 = ((($1)) + 2092|0); + $$0100145 = $7;$$0102144 = $8;$$0107143 = $10;$$0114142 = $9; + while(1) { + $24 = HEAP32[$15>>2]|0; + $25 = ($24|0)<(10); + if ($25) { + _prep_huffman($0); + } + $26 = HEAP32[$16>>2]|0; + $27 = $26 & 1023; + $28 = (((($1)) + 36|0) + ($27<<1)|0); + $29 = HEAP16[$28>>1]|0; + $30 = $29 << 16 >> 16; + $31 = ($29<<16>>16)>(-1); + if ($31) { + $32 = HEAP32[$17>>2]|0; + $33 = (($32) + ($30)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = $26 >>> $35; + HEAP32[$16>>2] = $36; + $37 = HEAP32[$15>>2]|0; + $38 = (($37) - ($35))|0; + $39 = ($38|0)<(0); + $$ = $39 ? 0 : $38; + $$121 = $39 ? -1 : $30; + HEAP32[$15>>2] = $$; + $$1111 = $$121; + } else { + $40 = (_codebook_decode_scalar_raw($0,$1)|0); + $$1111 = $40; + } + $41 = HEAP8[$18>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $43 = HEAP32[$23>>2]|0; + $44 = ($$1111|0)<($43|0); + if (!($44)) { + label = 12; + break; + } + } + $45 = ($$1111|0)<(0); + if ($45) { + break; + } + $52 = Math_imul($$0114142, $3)|0; + $53 = (($$0107143) + ($52))|0; + $54 = (($53) + ($$0102144))|0; + $55 = ($54|0)>($19|0); + $56 = (($19) - ($52))|0; + $57 = (($56) + ($$0102144))|0; + $$1108 = $55 ? $57 : $$0107143; + $58 = HEAP32[$1>>2]|0; + $59 = Math_imul($58, $$1111)|0; + $60 = HEAP8[$20>>0]|0; + $61 = ($60<<24>>24)==(0); + $62 = ($$1108|0)>(0); + if ($61) { + if ($62) { + $$1113137 = 0;$$3117136 = $$0114142;$$3138 = $$0102144; + while(1) { + $78 = (($2) + ($$3138<<2)|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)==(0|0); + if (!($80)) { + $81 = HEAP32[$21>>2]|0; + $82 = (($$1113137) + ($59))|0; + $83 = (($81) + ($82<<2)|0); + $84 = +HEAPF32[$83>>2]; + $85 = $84 + 0.0; + $86 = (($79) + ($$3117136<<2)|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 + $85; + HEAPF32[$86>>2] = $88; + } + $89 = (($$3138) + 1)|0; + $90 = ($89|0)==($3|0); + $91 = $90&1; + $$$3117 = (($91) + ($$3117136))|0; + $$123 = $90 ? 0 : $89; + $92 = (($$1113137) + 1)|0; + $exitcond150 = ($92|0)==($$1108|0); + if ($exitcond150) { + $$5 = $$123;$$5119 = $$$3117; + break; + } else { + $$1113137 = $92;$$3117136 = $$$3117;$$3138 = $$123; + } + } + } else { + $$5 = $$0102144;$$5119 = $$0114142; + } + } else { + if ($62) { + $63 = HEAP32[$22>>2]|0; + $$0105133 = 0.0;$$0112132 = 0;$$1103134 = $$0102144;$$1115131 = $$0114142; + while(1) { + $64 = (($$0112132) + ($59))|0; + $65 = (($63) + ($64<<2)|0); + $66 = +HEAPF32[$65>>2]; + $67 = $$0105133 + $66; + $68 = (($2) + ($$1103134<<2)|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + $71 = (($69) + ($$1115131<<2)|0); + if (!($70)) { + $72 = +HEAPF32[$71>>2]; + $73 = $67 + $72; + HEAPF32[$71>>2] = $73; + } + $74 = (($$1103134) + 1)|0; + $75 = ($74|0)==($3|0); + $76 = $75&1; + $$$1115 = (($76) + ($$1115131))|0; + $$122 = $75 ? 0 : $74; + $77 = (($$0112132) + 1)|0; + $exitcond = ($77|0)==($$1108|0); + if ($exitcond) { + $$5 = $$122;$$5119 = $$$1115; + break; + } else { + $$0105133 = $67;$$0112132 = $77;$$1103134 = $$122;$$1115131 = $$$1115; + } + } + } else { + $$5 = $$0102144;$$5119 = $$0114142; + } + } + $93 = (($$0100145) - ($$1108))|0; + $94 = ($93|0)>(0); + if ($94) { + $$0100145 = $93;$$0102144 = $$5;$$0107143 = $$1108;$$0114142 = $$5119; + } else { + $$0102$lcssa = $$5;$$0114$lcssa = $$5119; + break L5; + } + } + if ((label|0) == 12) { + ___assert_fail((17353|0),(17088|0),1436,(17389|0)); + // unreachable; + } + $46 = ((($0)) + 1376|0); + $47 = HEAP8[$46>>0]|0; + $48 = ($47<<24>>24)==(0); + if ($48) { + $49 = ((($0)) + 1384|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==(0); + if (!($51)) { + $$2 = 0; + return ($$2|0); + } + } + _error($0,21); + $$2 = 0; + return ($$2|0); + } else { + $$0102$lcssa = $8;$$0114$lcssa = $9; + } + } while(0); + HEAP32[$4>>2] = $$0102$lcssa; + HEAP32[$5>>2] = $$0114$lcssa; + $$2 = 1; + return ($$2|0); +} +function _residue_decode($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 $$03237 = 0, $$03440 = 0, $$1 = 0, $$13341 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($5|0)==(0); + if ($6) { + $8 = HEAP32[$1>>2]|0; + $9 = (($4|0) / ($8|0))&-1; + $10 = (($2) + ($3<<2)|0); + $11 = ($9|0)>(0); + if (!($11)) { + $$1 = 1; + return ($$1|0); + } + $12 = (($4) - ($3))|0; + $$03237 = 0; + while(1) { + $15 = (($10) + ($$03237<<2)|0); + $16 = (($12) - ($$03237))|0; + $17 = (_codebook_decode_step($0,$1,$15,$16,$9)|0); + $18 = ($17|0)==(0); + $14 = (($$03237) + 1)|0; + if ($18) { + $$1 = 0; + label = 10; + break; + } + $13 = ($14|0)<($9|0); + if ($13) { + $$03237 = $14; + } else { + $$1 = 1; + label = 10; + break; + } + } + if ((label|0) == 10) { + return ($$1|0); + } + } else { + $7 = ($4|0)>(0); + if (!($7)) { + $$1 = 1; + return ($$1|0); + } + $$03440 = $3;$$13341 = 0; + while(1) { + $19 = (($2) + ($$03440<<2)|0); + $20 = (($4) - ($$13341))|0; + $21 = (_codebook_decode($0,$1,$19,$20)|0); + $22 = ($21|0)==(0); + if ($22) { + $$1 = 0; + label = 10; + break; + } + $23 = HEAP32[$1>>2]|0; + $24 = (($23) + ($$13341))|0; + $25 = (($23) + ($$03440))|0; + $26 = ($24|0)<($4|0); + if ($26) { + $$03440 = $25;$$13341 = $24; + } else { + $$1 = 1; + label = 10; + break; + } + } + if ((label|0) == 10) { + return ($$1|0); + } + } + return (0)|0; +} +function _codebook_decode_step($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$0 = 0, $$028$ = 0.0, $$02832 = 0.0, $$02931 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0; + var $25 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = (_codebook_decode_start($0,$1)|0); + $6 = ($5|0)<(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + $7 = HEAP32[$1>>2]|0; + $8 = ($7|0)<($3|0); + $$ = $8 ? $7 : $3; + $9 = Math_imul($7, $5)|0; + $10 = ($$|0)>(0); + if (!($10)) { + $$0 = 1; + return ($$0|0); + } + $11 = ((($1)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($1)) + 22|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + $$02832 = 0.0;$$02931 = 0; + while(1) { + $16 = (($$02931) + ($9))|0; + $17 = (($12) + ($16<<2)|0); + $18 = +HEAPF32[$17>>2]; + $19 = $$02832 + $18; + $20 = Math_imul($$02931, $4)|0; + $21 = (($2) + ($20<<2)|0); + $22 = +HEAPF32[$21>>2]; + $23 = $22 + $19; + HEAPF32[$21>>2] = $23; + $$028$ = $15 ? $$02832 : $19; + $24 = (($$02931) + 1)|0; + $25 = ($24|0)<($$|0); + if ($25) { + $$02832 = $$028$;$$02931 = $24; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); +} +function _codebook_decode($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$04046 = 0.0, $$04145 = 0, $$144 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0; + var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $4 = (_codebook_decode_start($0,$1)|0); + $5 = ($4|0)<(0); + if ($5) { + $$0 = 0; + return ($$0|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)<($3|0); + $$ = $7 ? $6 : $3; + $8 = Math_imul($6, $4)|0; + $9 = ((($1)) + 22|0); + $10 = HEAP8[$9>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($$|0)>(0); + if ($11) { + if (!($12)) { + $$0 = 1; + return ($$0|0); + } + $16 = ((($1)) + 28|0); + $17 = HEAP32[$16>>2]|0; + $$144 = 0; + while(1) { + $29 = (($$144) + ($8))|0; + $30 = (($17) + ($29<<2)|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31 + 0.0; + $33 = (($2) + ($$144<<2)|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 + $32; + HEAPF32[$33>>2] = $35; + $36 = (($$144) + 1)|0; + $37 = ($36|0)<($$|0); + if ($37) { + $$144 = $36; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); + } else { + if (!($12)) { + $$0 = 1; + return ($$0|0); + } + $13 = ((($1)) + 28|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($1)) + 12|0); + $$04046 = 0.0;$$04145 = 0; + while(1) { + $18 = (($$04145) + ($8))|0; + $19 = (($14) + ($18<<2)|0); + $20 = +HEAPF32[$19>>2]; + $21 = $$04046 + $20; + $22 = (($2) + ($$04145<<2)|0); + $23 = +HEAPF32[$22>>2]; + $24 = $23 + $21; + HEAPF32[$22>>2] = $24; + $25 = +HEAPF32[$15>>2]; + $26 = $21 + $25; + $27 = (($$04145) + 1)|0; + $28 = ($27|0)<($$|0); + if ($28) { + $$04046 = $26;$$04145 = $27; + } else { + $$0 = 1; + break; + } + } + return ($$0|0); + } + return (0)|0; +} +function _codebook_decode_start($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$0 = 0, $$1 = 0, $$30 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 21|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + if ($4) { + _error($0,21); + $$0 = -1; + return ($$0|0); + } + $5 = ((($0)) + 1396|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)<(10); + if ($7) { + _prep_huffman($0); + } + $8 = ((($0)) + 1392|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 1023; + $11 = (((($1)) + 36|0) + ($10<<1)|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12 << 16 >> 16; + $14 = ($12<<16>>16)>(-1); + if ($14) { + $15 = ((($1)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = (($16) + ($13)|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = $9 >>> $19; + HEAP32[$8>>2] = $20; + $21 = HEAP32[$5>>2]|0; + $22 = (($21) - ($19))|0; + $23 = ($22|0)<(0); + $$ = $23 ? 0 : $22; + $$30 = $23 ? -1 : $13; + HEAP32[$5>>2] = $$; + $$1 = $$30; + } else { + $24 = (_codebook_decode_scalar_raw($0,$1)|0); + $$1 = $24; + } + $25 = ((($1)) + 23|0); + $26 = HEAP8[$25>>0]|0; + $27 = ($26<<24>>24)==(0); + if (!($27)) { + $28 = ((($1)) + 2092|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($$1|0)<($29|0); + if (!($30)) { + ___assert_fail((17309|0),(17088|0),1342,(17331|0)); + // unreachable; + } + } + $31 = ($$1|0)<(0); + if (!($31)) { + $$0 = $$1; + return ($$0|0); + } + $32 = ((($0)) + 1376|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $35 = ((($0)) + 1384|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if (!($37)) { + $$0 = $$1; + return ($$0|0); + } + } + _error($0,21); + $$0 = $$1; + return ($$0|0); +} +function _bit_reverse($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0 >>> 1; + $2 = $1 & 1431655765; + $3 = $0 << 1; + $4 = $3 & -1431655766; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 858993459; + $8 = $5 << 2; + $9 = $8 & -858993460; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 252645135; + $13 = $10 << 4; + $14 = $13 & -252645136; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $16 & 16711935; + $18 = $15 << 8; + $19 = $18 & -16711936; + $20 = $17 | $19; + $21 = $20 >>> 16; + $22 = $20 << 16; + $23 = $21 | $22; + return ($23|0); +} +function _maybe_start_packet($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, $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, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 1380|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(-1); + if ($3) { + $4 = (_get8($0)|0); + $5 = ((($0)) + 96|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + $$1 = 0; + return ($$1|0); + } + $8 = ($4<<24>>24)==(79); + if (!($8)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $9 = (_get8($0)|0); + $10 = ($9<<24>>24)==(103); + if (!($10)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $11 = (_get8($0)|0); + $12 = ($11<<24>>24)==(103); + if (!($12)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $13 = (_get8($0)|0); + $14 = ($13<<24>>24)==(83); + if (!($14)) { + _error($0,30); + $$1 = 0; + return ($$1|0); + } + $15 = (_start_page_no_capturepattern($0)|0); + $16 = ($15|0)==(0); + if ($16) { + $$1 = 0; + return ($$1|0); + } + $17 = ((($0)) + 1375|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18 & 1; + $20 = ($19<<24>>24)==(0); + if (!($20)) { + $21 = ((($0)) + 1384|0); + HEAP32[$21>>2] = 0; + $22 = ((($0)) + 1376|0); + HEAP8[$22>>0] = 0; + _error($0,32); + $$1 = 0; + return ($$1|0); + } + } + $23 = (_start_packet($0)|0); + $$1 = $23; + return ($$1|0); +} +function _get8_packet($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_get8_packet_raw($0)|0); + $2 = ((($0)) + 1396|0); + HEAP32[$2>>2] = 0; + return ($1|0); +} +function _start_packet($0) { + $0 = $0|0; + 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; + $1 = ((($0)) + 1380|0); + $2 = ((($0)) + 1375|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(-1); + if (!($4)) { label = 6; break; } - $4 = (_start_page($f)|0); - $5 = ($4|0)==(0); - if ($5) { + $5 = (_start_page($0)|0); + $6 = ($5|0)==(0); + if ($6) { $$0 = 0; label = 7; break; } - $6 = HEAP8[$1>>0]|0; - $7 = $6 & 1; - $8 = ($7<<24>>24)==(0); - if (!($8)) { + $7 = HEAP8[$2>>0]|0; + $8 = $7 & 1; + $9 = ($8<<24>>24)==(0); + if (!($9)) { label = 5; break; } } if ((label|0) == 5) { - _error($f,32); + _error($0,32); $$0 = 0; return ($$0|0); } else if ((label|0) == 6) { - $9 = ((($f)) + 1384|0); - HEAP32[$9>>2] = 0; - $10 = ((($f)) + 1396|0); + $10 = ((($0)) + 1384|0); HEAP32[$10>>2] = 0; - $11 = ((($f)) + 1400|0); + $11 = ((($0)) + 1396|0); HEAP32[$11>>2] = 0; - $12 = ((($f)) + 1376|0); - HEAP8[$12>>0] = 0; + $12 = ((($0)) + 1400|0); + HEAP32[$12>>2] = 0; + $13 = ((($0)) + 1376|0); + HEAP8[$13>>0] = 0; $$0 = 1; return ($$0|0); } @@ -32441,403 +48943,3310 @@ function _start_packet($f) { } return (0)|0; } -function _vorbis_decode_initial($f,$p_left_start,$p_left_end,$p_right_start,$p_right_end,$mode) { - $f = $f|0; - $p_left_start = $p_left_start|0; - $p_left_end = $p_left_end|0; - $p_right_start = $p_right_start|0; - $p_right_end = $p_right_end|0; - $mode = $mode|0; - 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, $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 $7 = 0, $8 = 0, $9 = 0, $n$0 = 0, $next$0 = 0, $or$cond = 0, $or$cond3 = 0, $phitmp = 0, $prev$0 = 0, $storemerge = 0, $storemerge4 = 0, label = 0, sp = 0; +function _compute_stereo_samples($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$076 = 0, $$0 = 0, $$07386 = 0, $$07488 = 0, $$07593 = 0, $$07692 = 0, $$184 = 0, $$283 = 0, $$390 = 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.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.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; + var $exitcond = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - $0 = ((($f)) + 1508|0); - HEAP32[$0>>2] = 0; - $1 = ((($f)) + 1504|0); - HEAP32[$1>>2] = 0; - $2 = ((($f)) + 96|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $$0 = 0; - return ($$0|0); + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $5 = sp; + $6 = ($4|0)>(0); + if (!($6)) { + STACKTOP = sp;return; } - $5 = ((($f)) + 48|0); + $7 = ($1|0)>(0); + $$07593 = 0;$$07692 = 16; while(1) { - $8 = (_maybe_start_packet($f)|0); - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - label = 24; - break; - } - $10 = (_get_bits($f,1)|0); - $11 = ($10|0)==(0); - if ($11) { - label = 9; - break; - } - $12 = HEAP8[$5>>0]|0; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - label = 7; - break; - } - while(1) { - $14 = (_get8_packet($f)|0); - $15 = ($14|0)==(-1); - if ($15) { - break; - } - } - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - $$0 = 0; - label = 24; - break; - } - } - if ((label|0) == 7) { - _error($f,35); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 9) { - $16 = ((($f)) + 80|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - $19 = ((($f)) + 84|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($f)) + 92|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($20|0)==($22|0); - if (!($23)) { - ___assert_fail((19807|0),(17015|0),2804,(19863|0)); - // unreachable; - } - } - $24 = ((($f)) + 408|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + -1)|0; - $27 = (_ilog($26)|0); - $28 = (_get_bits($f,$27)|0); - $29 = ($28|0)==(-1); - if ($29) { - $$0 = 0; - return ($$0|0); - } - $30 = HEAP32[$24>>2]|0; - $31 = ($28|0)<($30|0); - if (!($31)) { - $$0 = 0; - return ($$0|0); - } - HEAP32[$mode>>2] = $28; - $32 = (((($f)) + 412|0) + (($28*6)|0)|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $39 = ((($f)) + 112|0); - $40 = HEAP32[$39>>2]|0; - $n$0 = $40;$next$0 = 0;$prev$0 = 0; - } else { - $35 = ((($f)) + 116|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_get_bits($f,1)|0); - $38 = (_get_bits($f,1)|0); - $phitmp = ($37|0)!=(0); - $n$0 = $36;$next$0 = $38;$prev$0 = $phitmp; - } - $41 = $n$0 >> 1; - $42 = HEAP8[$32>>0]|0; - $43 = ($42<<24>>24)==(0); - $or$cond = $prev$0 | $43; - if ($or$cond) { - HEAP32[$p_left_start>>2] = 0; - $storemerge = $41; - } else { - $44 = ((($f)) + 112|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($n$0) - ($45))|0; - $47 = $46 >> 2; - HEAP32[$p_left_start>>2] = $47; - $48 = HEAP32[$44>>2]|0; - $49 = (($48) + ($n$0))|0; - $50 = $49 >> 2; - $storemerge = $50; - } - HEAP32[$p_left_end>>2] = $storemerge; - $51 = HEAP8[$32>>0]|0; - $52 = ($51<<24>>24)==(0); - $53 = ($next$0|0)!=(0); - $or$cond3 = $53 | $52; - if ($or$cond3) { - HEAP32[$p_right_start>>2] = $41; - $storemerge4 = $n$0; - } else { - $54 = ($n$0*3)|0; - $55 = ((($f)) + 112|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($54) - ($56))|0; - $58 = $57 >> 2; - HEAP32[$p_right_start>>2] = $58; - $59 = HEAP32[$55>>2]|0; - $60 = (($59) + ($54))|0; - $61 = $60 >> 2; - $storemerge4 = $61; - } - HEAP32[$p_right_end>>2] = $storemerge4; - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 24) { - return ($$0|0); - } - return (0)|0; -} -function _ilog($n) { - $n = $n|0; - 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)<(16384); - if ($0) { - $1 = ($n|0)<(16); - if ($1) { - $2 = (19791 + ($n)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3 << 24 >> 24; - $$0 = $4; - return ($$0|0); - } - $5 = ($n|0)<(512); - if ($5) { - $6 = $n >> 5; - $7 = (19791 + ($6)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = (($9) + 5)|0; - $$0 = $10; - return ($$0|0); - } else { - $11 = $n >> 10; - $12 = (19791 + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13 << 24 >> 24; - $15 = (($14) + 10)|0; - $$0 = $15; - return ($$0|0); - } - } - $16 = ($n|0)<(16777216); - if (!($16)) { - $28 = ($n|0)<(536870912); - if (!($28)) { - $$0 = 0; - return ($$0|0); - } - $29 = $n >> 25; - $30 = (19791 + ($29)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31 << 24 >> 24; - $33 = (($32) + 25)|0; - $$0 = $33; - return ($$0|0); - } - $17 = ($n|0)<(524288); - if ($17) { - $18 = $n >> 15; - $19 = (19791 + ($18)|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = (($21) + 15)|0; - $$0 = $22; - return ($$0|0); - } else { - $23 = $n >> 20; - $24 = (19791 + ($23)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - $27 = (($26) + 20)|0; - $$0 = $27; - return ($$0|0); - } - return (0)|0; -} -function _skip($z,$n) { - $z = $z|0; - $n = $n|0; - 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, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $8 = ((($z)) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_ftell($9)|0); - $11 = HEAP32[$8>>2]|0; - $12 = (($10) + ($n))|0; - (_fseek($11,$12,0)|0); - return; - } - $3 = (($1) + ($n)|0); - HEAP32[$0>>2] = $3; - $4 = ((($z)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)<($5>>>0); - if ($6) { - return; - } - $7 = ((($z)) + 96|0); - HEAP32[$7>>2] = 1; - return; -} -function _get_bits($f,$n) { - $f = $f|0; - $n = $n|0; - var $$0 = 0, $$pr = 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; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 1396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(0); - if ($2) { - $$0 = 0; - return ($$0|0); - } - $3 = ($1|0)<($n|0); - L4: do { - if ($3) { - $4 = ($n|0)>(24); - if ($4) { - $5 = (_get_bits($f,24)|0); - $6 = (($n) + -24)|0; - $7 = (_get_bits($f,$6)|0); - $8 = $7 << 24; - $9 = (($8) + ($5))|0; - return ($9|0); - } - $10 = ($1|0)==(0); - if ($10) { - $11 = ((($f)) + 1392|0); - HEAP32[$11>>2] = 0; - } - $12 = HEAP32[$0>>2]|0; - $13 = ($12|0)<($n|0); - if ($13) { - $14 = ((($f)) + 1392|0); + $8 = $$07593 << 1; + dest=$5; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (($$07593) + ($$07692))|0; + $10 = ($9|0)>($4|0); + $11 = (($4) - ($$07593))|0; + $$$076 = $10 ? $11 : $$07692; + L6: do { + if ($7) { + $12 = ($$$076|0)>(0); + $13 = (($$07593) + ($3))|0; + $14 = ($$$076|0)>(0); + $15 = (($$07593) + ($3))|0; + $16 = ($$$076|0)>(0); + $17 = (($$07593) + ($3))|0; + $$07488 = 0; while(1) { - $15 = (_get8_packet_raw($f)|0); - $16 = ($15|0)==(-1); - if ($16) { + $20 = ((17547 + (($1*6)|0)|0) + ($$07488)|0); + $21 = HEAP8[$20>>0]|0; + $trunc = $21 & 6; + $trunc$clear = $trunc & 7; + switch ($trunc$clear<<24>>24) { + case 6: { + if ($12) { + $26 = (($2) + ($$07488<<2)|0); + $27 = HEAP32[$26>>2]|0; + $$07386 = 0; + while(1) { + $28 = (($13) + ($$07386))|0; + $29 = (($27) + ($28<<2)|0); + $30 = +HEAPF32[$29>>2]; + $31 = $$07386 << 1; + $32 = (($5) + ($31<<2)|0); + $33 = +HEAPF32[$32>>2]; + $34 = $30 + $33; + HEAPF32[$32>>2] = $34; + $35 = $31 | 1; + $36 = (($5) + ($35<<2)|0); + $37 = +HEAPF32[$36>>2]; + $38 = $30 + $37; + HEAPF32[$36>>2] = $38; + $39 = (($$07386) + 1)|0; + $40 = ($39|0)<($$$076|0); + if ($40) { + $$07386 = $39; + } else { + break; + } + } + } break; } - $17 = HEAP32[$0>>2]|0; - $18 = $15 << $17; - $19 = HEAP32[$14>>2]|0; - $20 = (($19) + ($18))|0; - HEAP32[$14>>2] = $20; - $21 = HEAP32[$0>>2]|0; - $22 = (($21) + 8)|0; - HEAP32[$0>>2] = $22; - $23 = ($22|0)<($n|0); - if (!($23)) { - $24 = $22; - break L4; + case 2: { + if ($14) { + $24 = (($2) + ($$07488<<2)|0); + $25 = HEAP32[$24>>2]|0; + $$184 = 0; + while(1) { + $41 = (($15) + ($$184))|0; + $42 = (($25) + ($41<<2)|0); + $43 = +HEAPF32[$42>>2]; + $44 = $$184 << 1; + $45 = (($5) + ($44<<2)|0); + $46 = +HEAPF32[$45>>2]; + $47 = $43 + $46; + HEAPF32[$45>>2] = $47; + $48 = (($$184) + 1)|0; + $49 = ($48|0)<($$$076|0); + if ($49) { + $$184 = $48; + } else { + break; + } + } + } + break; + } + case 4: { + if ($16) { + $22 = (($2) + ($$07488<<2)|0); + $23 = HEAP32[$22>>2]|0; + $$283 = 0; + while(1) { + $50 = (($17) + ($$283))|0; + $51 = (($23) + ($50<<2)|0); + $52 = +HEAPF32[$51>>2]; + $53 = $$283 << 1; + $54 = $53 | 1; + $55 = (($5) + ($54<<2)|0); + $56 = +HEAPF32[$55>>2]; + $57 = $52 + $56; + HEAPF32[$55>>2] = $57; + $58 = (($$283) + 1)|0; + $59 = ($58|0)<($$$076|0); + if ($59) { + $$283 = $58; + } else { + break; + } + } + } + break; + } + default: { + } + } + $60 = (($$07488) + 1)|0; + $exitcond = ($60|0)==($1|0); + if ($exitcond) { + break L6; + } else { + $$07488 = $60; } } - HEAP32[$0>>2] = -1; - $$0 = 0; - return ($$0|0); - } else { - $24 = $12; } - } else { - $$pr = HEAP32[$0>>2]|0; - $24 = $$pr; + } while(0); + $18 = $$$076 << 1; + $19 = ($18|0)>(0); + if ($19) { + $$390 = 0; + while(1) { + $61 = (($5) + ($$390<<2)|0); + $62 = +HEAPF32[$61>>2]; + $63 = $62 + 384.0; + $64 = (HEAPF32[tempDoublePtr>>2]=$63,HEAP32[tempDoublePtr>>2]|0); + $65 = (($64) + -1136623616)|0; + $66 = ($65>>>0)>(65535); + $67 = ($64|0)<(1136656384); + $68 = $67 ? 32768 : 32767; + $$0 = $66 ? $68 : $64; + $69 = $$0&65535; + $70 = (($$390) + ($8))|0; + $71 = (($0) + ($70<<1)|0); + HEAP16[$71>>1] = $69; + $72 = (($$390) + 1)|0; + $73 = ($72|0)<($18|0); + if ($73) { + $$390 = $72; + } else { + break; + } + } } - } while(0); - $25 = ($24|0)<(0); - if ($25) { + $74 = (($$07593) + 16)|0; + $75 = ($74|0)<($4|0); + if ($75) { + $$07593 = $74;$$07692 = $$$076; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _stb_vorbis_get_file_offset($0) { + $0 = $0|0; + var $$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)) + 48|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if (!($3)) { $$0 = 0; return ($$0|0); } - $26 = ((($f)) + 1392|0); - $27 = HEAP32[$26>>2]|0; - $28 = 1 << $n; - $29 = (($28) + -1)|0; - $30 = $27 & $29; - $31 = $27 >>> $n; - HEAP32[$26>>2] = $31; - $32 = HEAP32[$0>>2]|0; - $33 = (($32) - ($n))|0; - HEAP32[$0>>2] = $33; - $$0 = $30; - return ($$0|0); -} -function _setup_malloc($f,$sz) { - $f = $f|0; - $sz = $sz|0; - var $$0 = 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; - $0 = (($sz) + 3)|0; - $1 = $0 & -4; - $2 = ((($f)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + ($1))|0; - HEAP32[$2>>2] = $4; - $5 = ((($f)) + 80|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - $15 = ($1|0)==(0); - if ($15) { - $$0 = 0; - return ($$0|0); - } - $16 = (_malloc($1)|0); + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if ($6) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_ftell($12)|0); + $14 = ((($0)) + 24|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($13) - ($15))|0; $$0 = $16; return ($$0|0); } else { - $8 = ((($f)) + 88|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($1))|0; - $11 = ((($f)) + 92|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10|0)>($12|0); - if ($13) { - $$0 = 0; - return ($$0|0); - } - $14 = (($6) + ($9)|0); - HEAP32[$8>>2] = $10; - $$0 = $14; + $7 = ((($0)) + 36|0); + $8 = HEAP32[$7>>2]|0; + $9 = $5; + $10 = (($9) - ($8))|0; + $$0 = $10; return ($$0|0); } return (0)|0; } -function _vorbis_validate($data) { - $data = $data|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _set_file_offset($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, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = (_memcmp($data,20257,6)|0); - $1 = ($0|0)==(0); - $2 = $1&1; - return ($2|0); + $2 = ((($0)) + 48|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + if (!($4)) { + return; + } + $5 = ((($0)) + 96|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + ($1)|0); + $12 = ((($0)) + 40|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>=($13>>>0); + $15 = ($1|0)<(0); + $or$cond1 = $15 | $14; + if ($or$cond1) { + HEAP32[$6>>2] = $13; + HEAP32[$5>>2] = 1; + return; + } else { + HEAP32[$6>>2] = $11; + return; + } + } + $16 = ((($0)) + 24|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) + ($1))|0; + $19 = ($18>>>0)<($1>>>0); + $20 = ($1|0)<(0); + $or$cond = $20 | $19; + if ($or$cond) { + HEAP32[$5>>2] = 1; + $$0 = 2147483647; + } else { + $$0 = $18; + } + $21 = ((($0)) + 20|0); + $22 = HEAP32[$21>>2]|0; + $23 = (_fseek($22,$$0,0)|0); + $24 = ($23|0)==(0); + if ($24) { + return; + } + HEAP32[$5>>2] = 1; + $25 = HEAP32[$21>>2]|0; + $26 = HEAP32[$16>>2]|0; + (_fseek($25,$26,2)|0); + return; +} +function _vorbis_find_page($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0$ph = 0, $$069104 = 0, $$070 = 0, $$082$lcssa = 0, $$1 = 0, $$174103 = 0, $$2 = 0, $$275$lcssa = 0, $$275109 = 0, $$480102 = 0, $$5$ph = 0, $$581108 = 0, $$lobit = 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, $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, $cond = 0, $exitcond = 0, $scevgep = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = ((($0)) + 96|0); + $5 = ((($0)) + 44|0); + $6 = ((($3)) + 4|0); + $7 = ((($3)) + 22|0); + $8 = ((($3)) + 23|0); + $9 = ((($3)) + 24|0); + $10 = ((($3)) + 25|0); + $11 = ((($3)) + 26|0); + $12 = ($1|0)==(0|0); + $13 = ($2|0)==(0|0); + $14 = ((($3)) + 5|0); + $scevgep = ((($3)) + 22|0); + $15 = ((($3)) + 4|0); + $16 = ((($3)) + 5|0); + $17 = ((($3)) + 6|0); + $18 = ((($3)) + 7|0); + $19 = ((($3)) + 8|0); + $20 = ((($3)) + 9|0); + $21 = ((($3)) + 10|0); + $22 = ((($3)) + 11|0); + $23 = ((($3)) + 12|0); + $24 = ((($3)) + 13|0); + $25 = ((($3)) + 14|0); + $26 = ((($3)) + 15|0); + $27 = ((($3)) + 16|0); + $28 = ((($3)) + 17|0); + $29 = ((($3)) + 18|0); + $30 = ((($3)) + 19|0); + $31 = ((($3)) + 20|0); + $32 = ((($3)) + 21|0); + $33 = ((($3)) + 22|0); + $34 = ((($3)) + 23|0); + $35 = ((($3)) + 24|0); + $36 = ((($3)) + 25|0); + $37 = ((($3)) + 26|0); + $38 = ((($3)) + 1|0); + $39 = ((($3)) + 2|0); + $40 = ((($3)) + 3|0); + $41 = ((($3)) + 4|0); + $42 = ((($3)) + 5|0); + $43 = ((($3)) + 6|0); + $44 = ((($3)) + 7|0); + $45 = ((($3)) + 8|0); + $46 = ((($3)) + 9|0); + $47 = ((($3)) + 10|0); + $48 = ((($3)) + 11|0); + $49 = ((($3)) + 12|0); + $50 = ((($3)) + 13|0); + $51 = ((($3)) + 14|0); + $52 = ((($3)) + 15|0); + $53 = ((($3)) + 16|0); + $54 = ((($3)) + 17|0); + $55 = ((($3)) + 18|0); + $56 = ((($3)) + 19|0); + $57 = ((($3)) + 20|0); + $58 = ((($3)) + 21|0); + $59 = ((($3)) + 22|0); + $60 = ((($3)) + 23|0); + $61 = ((($3)) + 24|0); + $62 = ((($3)) + 25|0); + $63 = ((($3)) + 26|0); + $$0$ph = 0; + L1: while(1) { + while(1) { + $64 = HEAP32[$4>>2]|0; + $65 = ($64|0)==(0); + if (!($65)) { + $$5$ph = 0; + label = 27; + break L1; + } + $66 = (_get8($0)|0); + $67 = ($66<<24>>24)==(79); + if ($67) { + break; + } + } + $68 = (_stb_vorbis_get_file_offset($0)|0); + $69 = (($68) + -25)|0; + $70 = HEAP32[$5>>2]|0; + $71 = ($69>>>0)>($70>>>0); + if ($71) { + $$5$ph = 0; + label = 27; + break; + } + $72 = (_get8($0)|0); + $73 = HEAP8[(4797)>>0]|0; + $74 = ($72<<24>>24)==($73<<24>>24); + if ($74) { + $75 = (_get8($0)|0); + $76 = HEAP8[(4798)>>0]|0; + $77 = ($75<<24>>24)==($76<<24>>24); + if ($77) { + $198 = (_get8($0)|0); + $199 = HEAP8[(4799)>>0]|0; + $200 = ($198<<24>>24)==($199<<24>>24); + $$ = $200 ? 4 : 3; + $$082$lcssa = $$; + } else { + $$082$lcssa = 2; + } + } else { + $$082$lcssa = 1; + } + $78 = HEAP32[$4>>2]|0; + $79 = ($78|0)==(0); + if (!($79)) { + $$5$ph = 0; + label = 27; + break; + } + $80 = ($$082$lcssa|0)==(4); + L13: do { + if ($80) { + $81 = HEAP32[1199]|0; + HEAP32[$3>>2] = $81; + $82 = (_get8($0)|0); + HEAP8[$15>>0] = $82; + $83 = (_get8($0)|0); + HEAP8[$16>>0] = $83; + $84 = (_get8($0)|0); + HEAP8[$17>>0] = $84; + $85 = (_get8($0)|0); + HEAP8[$18>>0] = $85; + $86 = (_get8($0)|0); + HEAP8[$19>>0] = $86; + $87 = (_get8($0)|0); + HEAP8[$20>>0] = $87; + $88 = (_get8($0)|0); + HEAP8[$21>>0] = $88; + $89 = (_get8($0)|0); + HEAP8[$22>>0] = $89; + $90 = (_get8($0)|0); + HEAP8[$23>>0] = $90; + $91 = (_get8($0)|0); + HEAP8[$24>>0] = $91; + $92 = (_get8($0)|0); + HEAP8[$25>>0] = $92; + $93 = (_get8($0)|0); + HEAP8[$26>>0] = $93; + $94 = (_get8($0)|0); + HEAP8[$27>>0] = $94; + $95 = (_get8($0)|0); + HEAP8[$28>>0] = $95; + $96 = (_get8($0)|0); + HEAP8[$29>>0] = $96; + $97 = (_get8($0)|0); + HEAP8[$30>>0] = $97; + $98 = (_get8($0)|0); + HEAP8[$31>>0] = $98; + $99 = (_get8($0)|0); + HEAP8[$32>>0] = $99; + $100 = (_get8($0)|0); + HEAP8[$33>>0] = $100; + $101 = (_get8($0)|0); + HEAP8[$34>>0] = $101; + $102 = (_get8($0)|0); + HEAP8[$35>>0] = $102; + $103 = (_get8($0)|0); + HEAP8[$36>>0] = $103; + $104 = (_get8($0)|0); + HEAP8[$37>>0] = $104; + $105 = HEAP32[$4>>2]|0; + $106 = ($105|0)==(0); + do { + if ($106) { + $107 = HEAP8[$6>>0]|0; + $108 = ($107<<24>>24)==(0); + if ($108) { + $111 = HEAP8[$7>>0]|0; + $112 = HEAP8[$8>>0]|0; + $113 = HEAP8[$9>>0]|0; + $114 = HEAP8[$10>>0]|0; + $115 = $114&255; + $116 = $115 << 24; + HEAP16[$scevgep>>1]=0&65535;HEAP16[$scevgep+2>>1]=0>>>16; + $117 = $112&255; + $118 = $117 << 8; + $119 = $111&255; + $120 = $118 | $119; + $121 = $113&255; + $122 = $121 << 16; + $123 = $120 | $122; + $124 = HEAP8[$3>>0]|0; + $125 = (_crc32_update(0,$124)|0); + $126 = HEAP8[$38>>0]|0; + $127 = (_crc32_update($125,$126)|0); + $128 = HEAP8[$39>>0]|0; + $129 = (_crc32_update($127,$128)|0); + $130 = HEAP8[$40>>0]|0; + $131 = (_crc32_update($129,$130)|0); + $132 = HEAP8[$41>>0]|0; + $133 = (_crc32_update($131,$132)|0); + $134 = HEAP8[$42>>0]|0; + $135 = (_crc32_update($133,$134)|0); + $136 = HEAP8[$43>>0]|0; + $137 = (_crc32_update($135,$136)|0); + $138 = HEAP8[$44>>0]|0; + $139 = (_crc32_update($137,$138)|0); + $140 = HEAP8[$45>>0]|0; + $141 = (_crc32_update($139,$140)|0); + $142 = HEAP8[$46>>0]|0; + $143 = (_crc32_update($141,$142)|0); + $144 = HEAP8[$47>>0]|0; + $145 = (_crc32_update($143,$144)|0); + $146 = HEAP8[$48>>0]|0; + $147 = (_crc32_update($145,$146)|0); + $148 = HEAP8[$49>>0]|0; + $149 = (_crc32_update($147,$148)|0); + $150 = HEAP8[$50>>0]|0; + $151 = (_crc32_update($149,$150)|0); + $152 = HEAP8[$51>>0]|0; + $153 = (_crc32_update($151,$152)|0); + $154 = HEAP8[$52>>0]|0; + $155 = (_crc32_update($153,$154)|0); + $156 = HEAP8[$53>>0]|0; + $157 = (_crc32_update($155,$156)|0); + $158 = HEAP8[$54>>0]|0; + $159 = (_crc32_update($157,$158)|0); + $160 = HEAP8[$55>>0]|0; + $161 = (_crc32_update($159,$160)|0); + $162 = HEAP8[$56>>0]|0; + $163 = (_crc32_update($161,$162)|0); + $164 = HEAP8[$57>>0]|0; + $165 = (_crc32_update($163,$164)|0); + $166 = HEAP8[$58>>0]|0; + $167 = (_crc32_update($165,$166)|0); + $168 = HEAP8[$59>>0]|0; + $169 = (_crc32_update($167,$168)|0); + $170 = HEAP8[$60>>0]|0; + $171 = (_crc32_update($169,$170)|0); + $172 = HEAP8[$61>>0]|0; + $173 = (_crc32_update($171,$172)|0); + $174 = HEAP8[$62>>0]|0; + $175 = (_crc32_update($173,$174)|0); + $176 = HEAP8[$63>>0]|0; + $177 = (_crc32_update($175,$176)|0); + $178 = $123 | $116; + $179 = ($176<<24>>24)==(0); + if ($179) { + $$275$lcssa = $177; + } else { + $109 = HEAP8[$11>>0]|0; + $110 = $109&255; + $$069104 = 0;$$174103 = $177;$$480102 = 0; + while(1) { + $180 = (_get8($0)|0); + $181 = $180&255; + $182 = (_crc32_update($$174103,$180)|0); + $183 = (($181) + ($$069104))|0; + $184 = (($$480102) + 1)|0; + $185 = ($184>>>0)<($110>>>0); + if ($185) { + $$069104 = $183;$$174103 = $182;$$480102 = $184; + } else { + break; + } + } + $186 = ($183|0)==(0); + if ($186) { + $$275$lcssa = $182; + } else { + $187 = HEAP32[$4>>2]|0; + $188 = ($187|0)==(0); + if ($188) { + $$275109 = $182;$$581108 = 0; + } else { + $$070 = 1;$$1 = 0; + break; + } + while(1) { + $189 = (_get8($0)|0); + $190 = (_crc32_update($$275109,$189)|0); + $191 = (($$581108) + 1)|0; + $exitcond = ($191|0)==($183|0); + if ($exitcond) { + $$275$lcssa = $190; + break; + } else { + $$275109 = $190;$$581108 = $191; + } + } + } + } + $192 = ($$275$lcssa|0)==($178|0); + if ($192) { + if (!($12)) { + $193 = (_stb_vorbis_get_file_offset($0)|0); + HEAP32[$1>>2] = $193; + } + if (!($13)) { + $194 = HEAP8[$14>>0]|0; + $195 = ($194&255) >>> 2; + $$lobit = $195 & 1; + $196 = $$lobit&255; + HEAP32[$2>>2] = $196; + } + $197 = (($68) + -1)|0; + _set_file_offset($0,$197); + $$070 = 1;$$1 = 1; + } else { + $$070 = 0;$$1 = $$0$ph; + } + } else { + $$070 = 13;$$1 = $$0$ph; + } + } else { + $$070 = 1;$$1 = 0; + } + } while(0); + $trunc = $$070&255; + $trunc$clear = $trunc & 15; + switch ($trunc$clear<<24>>24) { + case 13: case 0: { + $$2 = $$1; + break L13; + break; + } + default: { + } + } + $cond = ($$070|0)==(0); + if ($cond) { + $$0$ph = $$1; + continue L1; + } else { + $$5$ph = $$1; + label = 27; + break L1; + } + } else { + $$2 = $$0$ph; + } + } while(0); + _set_file_offset($0,$68); + $$0$ph = $$2; + } + if ((label|0) == 27) { + STACKTOP = sp;return ($$5$ph|0); + } + return (0)|0; +} +function _crc32_update($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 << 8; + $3 = $1&255; + $4 = $0 >>> 24; + $5 = $3 ^ $4; + $6 = (30144 + ($5<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = $7 ^ $2; + return ($8|0); +} +function _stb_vorbis_open_file($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 = (_ftell($0)|0); + (_fseek($0,0,2)|0); + $5 = (_ftell($0)|0); + $6 = (($5) - ($4))|0; + (_fseek($0,$4,0)|0); + $7 = (_stb_vorbis_open_file_section($0,$1,$2,$3,$6)|0); + return ($7|0); +} +function _stb_vorbis_open_file_section($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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1520|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1520|0); + $5 = sp; + _vorbis_init($5,$3); + $6 = ((($5)) + 20|0); + HEAP32[$6>>2] = $0; + $7 = (_ftell($0)|0); + $8 = ((($5)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($5)) + 44|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 28|0); + HEAP32[$10>>2] = $1; + $11 = (_start_decoder($5)|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = (_vorbis_alloc($5)|0); + $14 = ($13|0)==(0|0); + if (!($14)) { + _memcpy(($13|0),($5|0),1512)|0; + (_vorbis_pump_first_frame($13)|0); + $$0 = $13; + STACKTOP = sp;return ($$0|0); + } + } + $15 = ($2|0)==(0|0); + if (!($15)) { + $16 = ((($5)) + 100|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$2>>2] = $17; + } + _vorbis_deinit($5); + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _vorbis_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, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _memset(($0|0),0,1512)|0; + $2 = ($1|0)==(0|0); + if (!($2)) { + $3 = ((($0)) + 80|0); + $4 = $1; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = (($4) + 4)|0; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = $3; + $11 = $10; + HEAP32[$11>>2] = $6; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = ((($0)) + 84|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + 3)|0; + $17 = $16 & -4; + HEAP32[$14>>2] = $17; + $18 = ((($0)) + 92|0); + HEAP32[$18>>2] = $17; + } + $19 = ((($0)) + 96|0); + HEAP32[$19>>2] = 0; + $20 = ((($0)) + 100|0); + HEAP32[$20>>2] = 0; + $21 = ((($0)) + 32|0); + HEAP32[$21>>2] = 0; + $22 = ((($0)) + 124|0); + HEAP32[$22>>2] = 0; + $23 = ((($0)) + 1420|0); + HEAP32[$23>>2] = -1; + $24 = ((($0)) + 28|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 20|0); + HEAP32[$25>>2] = 0; + return; +} +function _start_decoder($0) { + $0 = $0|0; + var $$ = 0, $$$0899 = 0, $$$0929 = 0, $$$0964 = 0, $$0899$lcssa = 0, $$08991120 = 0, $$09011119 = 0, $$09021210 = 0, $$0920 = 0, $$0920$ph = 0, $$0929$lcssa = 0, $$09291199 = 0, $$09501156 = 0, $$0951 = 0, $$09541216 = 0, $$0957 = 0, $$09581209 = 0, $$0962 = 0, $$09641169 = 0, $$09661213 = 0; + var $$09701227 = 0.0, $$0974$ph = 0, $$0977$ = 0.0, $$09771224 = 0.0, $$109121192 = 0, $$119131195 = 0, $$129141148 = 0, $$139151153 = 0, $$149161160 = 0, $$159171137 = 0, $$169181135 = 0, $$179191139 = 0, $$18921232 = 0, $$19031217 = 0, $$19211174 = 0, $$1955 = 0, $$19631000 = 0, $$19631001$ph = 0, $$1971 = 0.0, $$1971$ = 0.0; + var $$1971$ph = 0.0, $$28931205 = 0, $$29041220 = 0, $$29221181 = 0, $$2953 = 0, $$2956 = 0, $$2960$ph = 0, $$34 = 0, $$38941200 = 0, $$39051228 = 0, $$39231152 = 0, $$3961 = 0, $$48951165 = 0, $$49061225 = 0, $$49241157 = 0, $$49241157$in = 0, $$58961143 = 0, $$59071118 = 0, $$59251132 = 0, $$68971128 = 0; + var $$69081170 = 0, $$78981124 = 0, $$79091177 = 0, $$89101185 = 0, $$99111188 = 0, $$in = 0, $$lcssa = 0, $$lcssa1060 = 0, $$lcssa1061 = 0, $$lcssa1073 = 0, $$off = 0, $$off979 = 0, $$pr = 0, $$pr1300 = 0, $$pr1301 = 0, $$sink = 0, $$sink25 = 0, $$sink26 = 0, $$sink986 = 0, $1 = 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, $2 = 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.0; + var $262 = 0, $263 = 0, $264 = 0.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, $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; + 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.0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0, $331 = 0.0, $332 = 0.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.0, $359 = 0.0, $36 = 0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.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, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0; + var $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, $423 = 0; + var $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, $441 = 0; + var $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, $46 = 0; + var $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, $478 = 0; + var $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, $496 = 0; + var $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, $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, $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$or$cond982 = 0, $notrhs = 0, $or$cond = 0; + var $or$cond991 = 0, $phitmp = 0, $phitmp1296 = 0, $phitmp1297 = 0, $sext = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1024|0); + $1 = sp + 1008|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + $5 = (_start_page($0)|0); + $6 = ($5|0)==(0); + if ($6) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $7 = ((($0)) + 1375|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = $9 & 2; + $11 = ($10|0)==(0); + if ($11) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $12 = $9 & 4; + $13 = ($12|0)==(0); + if (!($13)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $14 = $9 & 1; + $15 = ($14|0)==(0); + if (!($15)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $16 = ((($0)) + 1116|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(1); + if (!($18)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $19 = ((($0)) + 1120|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(30); + if (!($21)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $22 = (_get8($0)|0); + $23 = ($22<<24>>24)==(1); + if (!($23)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $24 = (_getn($0,$1,6)|0); + $25 = ($24|0)==(0); + if ($25) { + _error($0,10); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $26 = (_vorbis_validate($1)|0); + $27 = ($26|0)==(0); + if ($27) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $28 = (_get32($0)|0); + $29 = ($28|0)==(0); + if (!($29)) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $30 = (_get8($0)|0); + $31 = $30&255; + $32 = ((($0)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = ($30<<24>>24)==(0); + if ($33) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $34 = ($30&255)>(16); + if ($34) { + _error($0,5); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $35 = (_get32($0)|0); + HEAP32[$0>>2] = $35; + $36 = ($35|0)==(0); + if ($36) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + (_get32($0)|0); + (_get32($0)|0); + (_get32($0)|0); + $37 = (_get8($0)|0); + $38 = $37&255; + $39 = $38 & 15; + $40 = $38 >>> 4; + $41 = 1 << $39; + $42 = ((($0)) + 112|0); + HEAP32[$42>>2] = $41; + $43 = 1 << $40; + $44 = ((($0)) + 116|0); + HEAP32[$44>>2] = $43; + $$off = (($39) + -6)|0; + $45 = ($$off>>>0)>(7); + if ($45) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $$off979 = (($37) + -96)<<24>>24; + $46 = ($$off979<<24>>24)<(0); + if ($46) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $47 = ($39>>>0)>($40>>>0); + if ($47) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $48 = (_get8($0)|0); + $49 = $48 & 1; + $50 = ($49<<24>>24)==(0); + if ($50) { + _error($0,34); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $51 = (_start_page($0)|0); + $52 = ($51|0)==(0); + if ($52) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $53 = (_start_packet($0)|0); + $54 = ($53|0)==(0); + if ($54) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $55 = ((($0)) + 1376|0); + while(1) { + $56 = (_next_segment($0)|0); + _skip($0,$56); + HEAP8[$55>>0] = 0; + $57 = ($56|0)==(0); + if ($57) { + break; + } + } + $58 = (_start_packet($0)|0); + $59 = ($58|0)==(0); + if ($59) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $60 = ((($0)) + 48|0); + $61 = HEAP8[$60>>0]|0; + $62 = ($61<<24>>24)==(0); + do { + if (!($62)) { + $63 = (_is_whole_packet_present($0,1)|0); + $64 = ($63|0)==(0); + if (!($64)) { + break; + } + $65 = ((($0)) + 100|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(21); + if (!($67)) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + HEAP32[$65>>2] = 20; + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + _crc32_init(); + $68 = (_get8_packet($0)|0); + $69 = ($68|0)==(5); + if (!($69)) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $70 = (_get8_packet($0)|0); + $71 = $70&255; + HEAP8[$1>>0] = $71; + $72 = (_get8_packet($0)|0); + $73 = $72&255; + $74 = ((($1)) + 1|0); + HEAP8[$74>>0] = $73; + $75 = (_get8_packet($0)|0); + $76 = $75&255; + $77 = ((($1)) + 2|0); + HEAP8[$77>>0] = $76; + $78 = (_get8_packet($0)|0); + $79 = $78&255; + $80 = ((($1)) + 3|0); + HEAP8[$80>>0] = $79; + $81 = (_get8_packet($0)|0); + $82 = $81&255; + $83 = ((($1)) + 4|0); + HEAP8[$83>>0] = $82; + $84 = (_get8_packet($0)|0); + $85 = $84&255; + $86 = ((($1)) + 5|0); + HEAP8[$86>>0] = $85; + $87 = (_vorbis_validate($1)|0); + $88 = ($87|0)==(0); + if ($88) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $89 = (_get_bits($0,8)|0); + $90 = (($89) + 1)|0; + $91 = ((($0)) + 120|0); + HEAP32[$91>>2] = $90; + $92 = ($90*2096)|0; + $93 = (_setup_malloc($0,$92)|0); + $94 = ((($0)) + 124|0); + HEAP32[$94>>2] = $93; + $95 = ($93|0)==(0|0); + if ($95) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $96 = HEAP32[$91>>2]|0; + $97 = ($96*2096)|0; + _memset(($93|0),0,($97|0))|0; + $98 = HEAP32[$91>>2]|0; + $99 = ($98|0)>(0); + L100: do { + if ($99) { + $100 = ((($0)) + 16|0); + $101 = ((($0)) + 16|0); + $$18921232 = 0; + L102: while(1) { + $102 = HEAP32[$94>>2]|0; + $103 = (($102) + (($$18921232*2096)|0)|0); + $104 = (_get_bits($0,8)|0); + $105 = $104 & 255; + $106 = ($105|0)==(66); + if (!($106)) { + label = 52; + break; + } + $107 = (_get_bits($0,8)|0); + $108 = $107 & 255; + $109 = ($108|0)==(67); + if (!($109)) { + label = 54; + break; + } + $110 = (_get_bits($0,8)|0); + $111 = $110 & 255; + $112 = ($111|0)==(86); + if (!($112)) { + label = 56; + break; + } + $113 = (_get_bits($0,8)|0); + $114 = (_get_bits($0,8)|0); + $115 = $114 << 8; + $116 = $113 & 255; + $117 = $115 | $116; + HEAP32[$103>>2] = $117; + $118 = (_get_bits($0,8)|0); + $119 = (_get_bits($0,8)|0); + $120 = (_get_bits($0,8)|0); + $121 = $120 << 16; + $122 = $119 << 8; + $123 = $122 & 65280; + $124 = $118 & 255; + $125 = $123 | $124; + $126 = $125 | $121; + $127 = (((($102) + (($$18921232*2096)|0)|0)) + 4|0); + HEAP32[$127>>2] = $126; + $128 = (_get_bits($0,1)|0); + $129 = ($128|0)!=(0); + if ($129) { + $132 = 0; + } else { + $130 = (_get_bits($0,1)|0); + $132 = $130; + } + $131 = $132&255; + $133 = (((($102) + (($$18921232*2096)|0)|0)) + 23|0); + HEAP8[$133>>0] = $131; + $134 = HEAP32[$103>>2]|0; + $135 = ($134|0)!=(0); + $136 = HEAP32[$127>>2]|0; + $137 = ($136|0)==(0); + $or$cond = $135 | $137; + if (!($or$cond)) { + label = 60; + break; + } + $138 = ($131<<24>>24)==(0); + if ($138) { + $140 = (_setup_malloc($0,$136)|0); + $141 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$141>>2] = $140; + $$0962 = $140; + } else { + $139 = (_setup_temp_malloc($0,$136)|0); + $$0962 = $139; + } + $142 = ($$0962|0)==(0|0); + if ($142) { + label = 65; + break; + } + do { + if ($129) { + $145 = (_get_bits($0,5)|0); + $146 = HEAP32[$127>>2]|0; + $147 = ($146|0)>(0); + if ($147) { + $$09661213 = 0;$$in = $145;$150 = $146; + } else { + $$3961 = 0; + break; + } + while(1) { + $148 = (($$in) + 1)|0; + $149 = (($150) - ($$09661213))|0; + $151 = (_ilog($149)|0); + $152 = (_get_bits($0,$151)|0); + $153 = (($152) + ($$09661213))|0; + $154 = HEAP32[$127>>2]|0; + $155 = ($153|0)>($154|0); + if ($155) { + label = 71; + break L102; + } + $156 = (($$0962) + ($$09661213)|0); + $157 = $148&255; + _memset(($156|0),($157|0),($152|0))|0; + $158 = HEAP32[$127>>2]|0; + $159 = ($158|0)>($153|0); + if ($159) { + $$09661213 = $153;$$in = $148;$150 = $158; + } else { + $$3961 = 0; + break; + } + } + } else { + $143 = HEAP32[$127>>2]|0; + $144 = ($143|0)>(0); + if ($144) { + $$09021210 = 0;$$09581209 = 0; + } else { + $$3961 = 0; + break; + } + while(1) { + $160 = HEAP8[$133>>0]|0; + $161 = ($160<<24>>24)==(0); + do { + if ($161) { + label = 74; + } else { + $162 = (_get_bits($0,1)|0); + $163 = ($162|0)==(0); + if (!($163)) { + label = 74; + break; + } + $171 = (($$0962) + ($$09021210)|0); + HEAP8[$171>>0] = -1; + $$2960$ph = $$09581209; + } + } while(0); + if ((label|0) == 74) { + label = 0; + $164 = (_get_bits($0,5)|0); + $165 = (($164) + 1)|0; + $166 = $165&255; + $167 = (($$0962) + ($$09021210)|0); + HEAP8[$167>>0] = $166; + $168 = (($$09581209) + 1)|0; + $169 = $165 & 255; + $170 = ($169|0)==(32); + if ($170) { + label = 76; + break L102; + } else { + $$2960$ph = $168; + } + } + $172 = (($$09021210) + 1)|0; + $173 = HEAP32[$127>>2]|0; + $174 = ($172|0)<($173|0); + if ($174) { + $$09021210 = $172;$$09581209 = $$2960$ph; + } else { + $$3961 = $$2960$ph; + break; + } + } + } + } while(0); + $175 = HEAP8[$133>>0]|0; + $176 = ($175<<24>>24)==(0); + do { + if ($176) { + $$19631001$ph = $$0962; + label = 86; + } else { + $177 = HEAP32[$127>>2]|0; + $178 = $177 >> 2; + $179 = ($$3961|0)<($178|0); + if ($179) { + $$pr = HEAP8[$133>>0]|0; + $188 = ($$pr<<24>>24)==(0); + if ($188) { + $$19631001$ph = $$0962; + label = 86; + break; + } else { + $$19631000 = $$0962;$$2956 = $$3961; + break; + } + } + $180 = HEAP32[$101>>2]|0; + $181 = ($177|0)>($180|0); + if ($181) { + HEAP32[$101>>2] = $177; + } + $182 = (_setup_malloc($0,$177)|0); + $183 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$183>>2] = $182; + $184 = ($182|0)==(0|0); + if ($184) { + label = 83; + break L102; + } + $185 = HEAP32[$127>>2]|0; + _memcpy(($182|0),($$0962|0),($185|0))|0; + $186 = HEAP32[$127>>2]|0; + _setup_temp_free($0,$$0962,$186); + $187 = HEAP32[$183>>2]|0; + HEAP8[$133>>0] = 0; + $$19631001$ph = $187; + label = 86; + } + } while(0); + do { + if ((label|0) == 86) { + label = 0; + $189 = HEAP32[$127>>2]|0; + $190 = ($189|0)>(0); + if (!($190)) { + $$19631000 = $$19631001$ph;$$2956 = 0; + break; + } + $191 = HEAP32[$127>>2]|0; + $$09541216 = 0;$$19031217 = 0; + while(1) { + $192 = (($$19631001$ph) + ($$19031217)|0); + $193 = HEAP8[$192>>0]|0; + $194 = ($193&255)<(11); + $notrhs = ($193<<24>>24)!=(-1); + $not$or$cond982 = $194 ^ $notrhs; + $195 = $not$or$cond982&1; + $$1955 = (($195) + ($$09541216))|0; + $196 = (($$19031217) + 1)|0; + $197 = ($196|0)<($191|0); + if ($197) { + $$09541216 = $$1955;$$19031217 = $196; + } else { + $$19631000 = $$19631001$ph;$$2956 = $$1955; + break; + } + } + } + } while(0); + $198 = (((($102) + (($$18921232*2096)|0)|0)) + 2092|0); + HEAP32[$198>>2] = $$2956; + $199 = HEAP8[$133>>0]|0; + $200 = ($199<<24>>24)==(0); + do { + if ($200) { + $201 = HEAP32[$127>>2]|0; + $202 = $201 << 2; + $203 = (_setup_malloc($0,$202)|0); + $204 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + HEAP32[$204>>2] = $203; + $205 = ($203|0)==(0|0); + if ($205) { + label = 91; + break L102; + } else { + $$2953 = 0;$230 = 0; + } + } else { + $206 = ($$2956|0)==(0); + if ($206) { + $$0951 = 0;$878 = 0; + } else { + $207 = (_setup_malloc($0,$$2956)|0); + $208 = (((($102) + (($$18921232*2096)|0)|0)) + 8|0); + HEAP32[$208>>2] = $207; + $209 = ($207|0)==(0|0); + if ($209) { + label = 94; + break L102; + } + $210 = HEAP32[$198>>2]|0; + $211 = $210 << 2; + $212 = (_setup_temp_malloc($0,$211)|0); + $213 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + HEAP32[$213>>2] = $212; + $214 = ($212|0)==(0|0); + if ($214) { + label = 96; + break L102; + } + $215 = HEAP32[$198>>2]|0; + $216 = $215 << 2; + $217 = (_setup_temp_malloc($0,$216)|0); + $218 = ($217|0)==(0|0); + if ($218) { + label = 98; + break L102; + } else { + $$0951 = $217;$878 = $217; + } + } + $219 = HEAP32[$127>>2]|0; + $220 = HEAP32[$198>>2]|0; + $221 = $220 << 3; + $222 = (($221) + ($219))|0; + $223 = HEAP32[$100>>2]|0; + $224 = ($222>>>0)>($223>>>0); + if (!($224)) { + $$2953 = $$0951;$230 = $878; + break; + } + HEAP32[$100>>2] = $222; + $$2953 = $$0951;$230 = $878; + } + } while(0); + $225 = HEAP32[$127>>2]|0; + $226 = (_compute_codewords($103,$$19631000,$225,$$2953)|0); + $227 = ($226|0)==(0); + if ($227) { + label = 102; + break; + } + $231 = HEAP32[$198>>2]|0; + $232 = ($231|0)==(0); + if (!($232)) { + $233 = $231 << 2; + $234 = (($233) + 4)|0; + $235 = (_setup_malloc($0,$234)|0); + $236 = (((($102) + (($$18921232*2096)|0)|0)) + 2084|0); + HEAP32[$236>>2] = $235; + $237 = ($235|0)==(0|0); + if ($237) { + label = 107; + break; + } + $238 = HEAP32[$198>>2]|0; + $239 = $238 << 2; + $240 = (($239) + 4)|0; + $241 = (_setup_malloc($0,$240)|0); + $242 = (((($102) + (($$18921232*2096)|0)|0)) + 2088|0); + HEAP32[$242>>2] = $241; + $243 = ($241|0)==(0|0); + if ($243) { + label = 109; + break; + } + $244 = ((($241)) + 4|0); + HEAP32[$242>>2] = $244; + HEAP32[$241>>2] = -1; + _compute_sorted_huffman($103,$$19631000,$$2953); + } + $245 = HEAP8[$133>>0]|0; + $246 = ($245<<24>>24)==(0); + if (!($246)) { + $247 = HEAP32[$198>>2]|0; + $248 = $247 << 2; + _setup_temp_free($0,$230,$248); + $249 = (((($102) + (($$18921232*2096)|0)|0)) + 32|0); + $250 = HEAP32[$249>>2]|0; + $251 = HEAP32[$198>>2]|0; + $252 = $251 << 2; + _setup_temp_free($0,$250,$252); + $253 = HEAP32[$127>>2]|0; + _setup_temp_free($0,$$19631000,$253); + HEAP32[$249>>2] = 0; + } + _compute_accelerated_huffman($103); + $254 = (_get_bits($0,4)|0); + $255 = $254&255; + $256 = (((($102) + (($$18921232*2096)|0)|0)) + 21|0); + HEAP8[$256>>0] = $255; + $257 = $254 & 255; + $258 = ($257>>>0)>(2); + if ($258) { + label = 114; + break; + } + $259 = ($257|0)==(0); + if (!($259)) { + $260 = (_get_bits($0,32)|0); + $261 = (+_float32_unpack($260)); + $262 = (((($102) + (($$18921232*2096)|0)|0)) + 12|0); + HEAPF32[$262>>2] = $261; + $263 = (_get_bits($0,32)|0); + $264 = (+_float32_unpack($263)); + $265 = (((($102) + (($$18921232*2096)|0)|0)) + 16|0); + HEAPF32[$265>>2] = $264; + $266 = (_get_bits($0,4)|0); + $267 = (($266) + 1)|0; + $268 = $267&255; + $269 = (((($102) + (($$18921232*2096)|0)|0)) + 20|0); + HEAP8[$269>>0] = $268; + $270 = (_get_bits($0,1)|0); + $271 = $270&255; + $272 = (((($102) + (($$18921232*2096)|0)|0)) + 22|0); + HEAP8[$272>>0] = $271; + $273 = HEAP8[$256>>0]|0; + $274 = ($273<<24>>24)==(1); + $275 = HEAP32[$127>>2]|0; + $276 = HEAP32[$103>>2]|0; + if ($274) { + $277 = (_lookup1_values($275,$276)|0); + $$sink = $277; + } else { + $278 = Math_imul($276, $275)|0; + $$sink = $278; + } + $279 = (((($102) + (($$18921232*2096)|0)|0)) + 24|0); + HEAP32[$279>>2] = $$sink; + $280 = ($$sink|0)==(0); + if ($280) { + label = 120; + break; + } + $281 = $$sink << 1; + $282 = (_setup_temp_malloc($0,$281)|0); + $283 = ($282|0)==(0|0); + if ($283) { + label = 123; + break; + } + $284 = HEAP32[$279>>2]|0; + $285 = ($284|0)>(0); + if ($285) { + $$29041220 = 0; + while(1) { + $286 = HEAP8[$269>>0]|0; + $287 = $286&255; + $288 = (_get_bits($0,$287)|0); + $289 = ($288|0)==(-1); + if ($289) { + label = 125; + break L102; + } + $292 = $288&65535; + $293 = (($282) + ($$29041220<<1)|0); + HEAP16[$293>>1] = $292; + $294 = (($$29041220) + 1)|0; + $295 = HEAP32[$279>>2]|0; + $296 = ($294|0)<($295|0); + if ($296) { + $$29041220 = $294; + } else { + $$lcssa1073 = $295; + break; + } + } + } else { + $$lcssa1073 = $284; + } + $297 = HEAP8[$256>>0]|0; + $298 = ($297<<24>>24)==(1); + do { + if ($298) { + $299 = HEAP8[$133>>0]|0; + $300 = ($299<<24>>24)!=(0); + if ($300) { + $301 = HEAP32[$198>>2]|0; + $302 = ($301|0)==(0); + if ($302) { + break; + } else { + $$sink986 = $301; + } + } else { + $303 = HEAP32[$127>>2]|0; + $$sink986 = $303; + } + $304 = $$sink986 << 2; + $305 = HEAP32[$103>>2]|0; + $306 = Math_imul($304, $305)|0; + $307 = (_setup_malloc($0,$306)|0); + $308 = (((($102) + (($$18921232*2096)|0)|0)) + 28|0); + HEAP32[$308>>2] = $307; + $309 = ($307|0)==(0|0); + if ($309) { + label = 132; + break L102; + } + $$sink25 = $300 ? $198 : $127; + $312 = HEAP32[$$sink25>>2]|0; + $313 = ($312|0)>(0); + if ($313) { + $314 = (((($102) + (($$18921232*2096)|0)|0)) + 2088|0); + $315 = HEAP32[$103>>2]|0; + $$09701227 = 0.0;$$39051228 = 0; + while(1) { + if ($300) { + $316 = HEAP32[$314>>2]|0; + $317 = (($316) + ($$39051228<<2)|0); + $318 = HEAP32[$317>>2]|0; + $322 = $318; + } else { + $322 = $$39051228; + } + $319 = Math_imul($315, $$39051228)|0; + $$0920$ph = 0;$$0974$ph = 1;$$1971$ph = $$09701227; + L193: while(1) { + $$0920 = $$0920$ph;$$1971 = $$1971$ph; + while(1) { + $320 = ($$0920|0)<($315|0); + if (!($320)) { + break L193; + } + $321 = (($322>>>0) / ($$0974$ph>>>0))&-1; + $323 = HEAP32[$279>>2]|0; + $324 = (($321>>>0) % ($323>>>0))&-1; + $325 = (($282) + ($324<<1)|0); + $326 = HEAP16[$325>>1]|0; + $327 = (+($326&65535)); + $328 = +HEAPF32[$265>>2]; + $329 = $327 * $328; + $330 = +HEAPF32[$262>>2]; + $331 = $329 + $330; + $332 = $$1971 + $331; + $333 = HEAP32[$308>>2]|0; + $334 = (($319) + ($$0920))|0; + $335 = (($333) + ($334<<2)|0); + HEAPF32[$335>>2] = $332; + $336 = HEAP8[$272>>0]|0; + $337 = ($336<<24>>24)==(0); + $$1971$ = $337 ? $$1971 : $332; + $338 = (($$0920) + 1)|0; + $339 = ($338|0)<($315|0); + if ($339) { + break; + } else { + $$0920 = $338;$$1971 = $$1971$; + } + } + $340 = (4294967295 / ($323>>>0))&-1; + $341 = ($$0974$ph>>>0)>($340>>>0); + if ($341) { + label = 143; + break L102; + } + $342 = Math_imul($323, $$0974$ph)|0; + $$0920$ph = $338;$$0974$ph = $342;$$1971$ph = $$1971$; + } + $344 = (($$39051228) + 1)|0; + $345 = ($344|0)<($312|0); + if ($345) { + $$09701227 = $$1971;$$39051228 = $344; + } else { + break; + } + } + } + HEAP8[$256>>0] = 2; + } else { + $346 = $$lcssa1073 << 2; + $347 = (_setup_malloc($0,$346)|0); + $348 = (((($102) + (($$18921232*2096)|0)|0)) + 28|0); + HEAP32[$348>>2] = $347; + $349 = ($347|0)==(0|0); + $350 = HEAP32[$279>>2]|0; + if ($349) { + label = 150; + break L102; + } + $351 = ($350|0)>(0); + if (!($351)) { + break; + } + $352 = HEAP32[$348>>2]|0; + $353 = HEAP8[$272>>0]|0; + $354 = ($353<<24>>24)==(0); + $355 = HEAP32[$279>>2]|0; + $$09771224 = 0.0;$$49061225 = 0; + while(1) { + $356 = (($282) + ($$49061225<<1)|0); + $357 = HEAP16[$356>>1]|0; + $358 = (+($357&65535)); + $359 = +HEAPF32[$265>>2]; + $360 = $358 * $359; + $361 = +HEAPF32[$262>>2]; + $362 = $360 + $361; + $363 = $$09771224 + $362; + $364 = (($352) + ($$49061225<<2)|0); + HEAPF32[$364>>2] = $363; + $$0977$ = $354 ? $$09771224 : $363; + $365 = (($$49061225) + 1)|0; + $366 = ($365|0)<($355|0); + if ($366) { + $$09771224 = $$0977$;$$49061225 = $365; + } else { + break; + } + } + } + } while(0); + $368 = HEAP32[$279>>2]|0; + $369 = $368 << 1; + _setup_temp_free($0,$282,$369); + } + $370 = (($$18921232) + 1)|0; + $371 = HEAP32[$91>>2]|0; + $372 = ($370|0)<($371|0); + if ($372) { + $$18921232 = $370; + } else { + break L100; + } + } + switch (label|0) { + case 52: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 54: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 56: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 60: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 65: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 71: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 76: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 83: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 91: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 94: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 96: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 98: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 102: { + $228 = HEAP8[$133>>0]|0; + $229 = ($228<<24>>24)==(0); + if (!($229)) { + _setup_temp_free($0,$230,0); + } + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 107: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 109: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 114: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 120: { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 123: { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 125: { + $290 = HEAP32[$279>>2]|0; + $291 = $290 << 1; + _setup_temp_free($0,$282,$291); + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 132: { + $310 = HEAP32[$279>>2]|0; + $311 = $310 << 1; + _setup_temp_free($0,$282,$311); + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 143: { + $343 = $323 << 1; + _setup_temp_free($0,$282,$343); + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + case 150: { + $367 = $350 << 1; + _setup_temp_free($0,$282,$367); + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + break; + } + } + } + } while(0); + $373 = (_get_bits($0,6)|0); + $374 = (($373) + 1)|0; + $375 = $374 & 255; + $376 = ($375|0)==(0); + L258: do { + if (!($376)) { + $$28931205 = 0; + while(1) { + $379 = (_get_bits($0,16)|0); + $380 = ($379|0)==(0); + $378 = (($$28931205) + 1)|0; + if (!($380)) { + break; + } + $377 = ($378|0)<($375|0); + if ($377) { + $$28931205 = $378; + } else { + break L258; + } + } + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $381 = (_get_bits($0,6)|0); + $382 = (($381) + 1)|0; + $383 = ((($0)) + 128|0); + HEAP32[$383>>2] = $382; + $384 = ($382*1596)|0; + $385 = (_setup_malloc($0,$384)|0); + $386 = ((($0)) + 260|0); + HEAP32[$386>>2] = $385; + $387 = ($385|0)==(0|0); + if ($387) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $388 = HEAP32[$383>>2]|0; + $389 = ($388|0)>(0); + do { + if ($389) { + $$09291199 = 0;$$38941200 = 0; + L271: while(1) { + $390 = (_get_bits($0,16)|0); + $391 = $390&65535; + $392 = (((($0)) + 132|0) + ($$38941200<<1)|0); + HEAP16[$392>>1] = $391; + $393 = $390 & 65535; + $394 = ($393>>>0)>(1); + if ($394) { + label = 162; + break; + } + $395 = ($393|0)==(0); + if ($395) { + label = 164; + break; + } + $426 = HEAP32[$386>>2]|0; + $427 = (_get_bits($0,5)|0); + $428 = $427&255; + $429 = (($426) + (($$38941200*1596)|0)|0); + HEAP8[$429>>0] = $428; + $430 = $427 & 255; + $431 = ($430|0)==(0); + if (!($431)) { + $$09641169 = -1;$$69081170 = 0; + while(1) { + $432 = (_get_bits($0,4)|0); + $433 = $432&255; + $434 = ((((($426) + (($$38941200*1596)|0)|0)) + 1|0) + ($$69081170)|0); + HEAP8[$434>>0] = $433; + $435 = $432 & 255; + $436 = ($435|0)>($$09641169|0); + $$$0964 = $436 ? $435 : $$09641169; + $437 = (($$69081170) + 1)|0; + $438 = HEAP8[$429>>0]|0; + $439 = $438&255; + $440 = ($437|0)<($439|0); + if ($440) { + $$09641169 = $$$0964;$$69081170 = $437; + } else { + $$79091177 = 0; + break; + } + } + while(1) { + $441 = (_get_bits($0,3)|0); + $442 = (($441) + 1)|0; + $443 = $442&255; + $444 = ((((($426) + (($$38941200*1596)|0)|0)) + 33|0) + ($$79091177)|0); + HEAP8[$444>>0] = $443; + $445 = (_get_bits($0,2)|0); + $446 = $445&255; + $447 = ((((($426) + (($$38941200*1596)|0)|0)) + 49|0) + ($$79091177)|0); + HEAP8[$447>>0] = $446; + $448 = ($446<<24>>24)==(0); + if ($448) { + $$19211174 = 0; + label = 175; + } else { + $450 = (_get_bits($0,8)|0); + $451 = $450&255; + $452 = ((((($426) + (($$38941200*1596)|0)|0)) + 65|0) + ($$79091177)|0); + HEAP8[$452>>0] = $451; + $453 = $450 & 255; + $454 = HEAP32[$91>>2]|0; + $455 = ($453|0)<($454|0); + if (!($455)) { + label = 173; + break L271; + } + $$pr1300 = HEAP8[$447>>0]|0; + $449 = ($$pr1300<<24>>24)==(31); + if (!($449)) { + $$19211174 = 0; + label = 175; + } + } + if ((label|0) == 175) { + while(1) { + label = 0; + $461 = (_get_bits($0,8)|0); + $462 = (($461) + 65535)|0; + $463 = $462&65535; + $464 = (((((($426) + (($$38941200*1596)|0)|0)) + 82|0) + ($$79091177<<4)|0) + ($$19211174<<1)|0); + HEAP16[$464>>1] = $463; + $sext = $462 << 16; + $465 = $sext >> 16; + $466 = HEAP32[$91>>2]|0; + $467 = ($465|0)<($466|0); + $460 = (($$19211174) + 1)|0; + if (!($467)) { + label = 176; + break L271; + } + $456 = HEAP8[$447>>0]|0; + $457 = $456&255; + $458 = 1 << $457; + $459 = ($460|0)<($458|0); + if ($459) { + $$19211174 = $460; + label = 175; + } else { + break; + } + } + } + $468 = (($$79091177) + 1)|0; + $469 = ($$79091177|0)<($$$0964|0); + if ($469) { + $$79091177 = $468; + } else { + break; + } + } + } + $470 = (_get_bits($0,2)|0); + $471 = (($470) + 1)|0; + $472 = $471&255; + $473 = (((($426) + (($$38941200*1596)|0)|0)) + 1588|0); + HEAP8[$473>>0] = $472; + $474 = (_get_bits($0,4)|0); + $475 = $474&255; + $476 = (((($426) + (($$38941200*1596)|0)|0)) + 1589|0); + HEAP8[$476>>0] = $475; + $477 = (((($426) + (($$38941200*1596)|0)|0)) + 338|0); + HEAP16[$477>>1] = 0; + $478 = $474 & 255; + $479 = 1 << $478; + $480 = $479&65535; + $481 = (((($426) + (($$38941200*1596)|0)|0)) + 340|0); + HEAP16[$481>>1] = $480; + $482 = (((($426) + (($$38941200*1596)|0)|0)) + 1592|0); + HEAP32[$482>>2] = 2; + $483 = HEAP8[$429>>0]|0; + $484 = ($483<<24>>24)==(0); + if ($484) { + $$99111188 = 0; + label = 183; + } else { + $$89101185 = 0; + while(1) { + $486 = ((((($426) + (($$38941200*1596)|0)|0)) + 1|0) + ($$89101185)|0); + $487 = HEAP8[$486>>0]|0; + $488 = $487&255; + $489 = ((((($426) + (($$38941200*1596)|0)|0)) + 33|0) + ($488)|0); + $490 = HEAP8[$489>>0]|0; + $491 = ($490<<24>>24)==(0); + if (!($491)) { + $$29221181 = 0; + while(1) { + $492 = HEAP8[$476>>0]|0; + $493 = $492&255; + $494 = (_get_bits($0,$493)|0); + $495 = $494&65535; + $496 = HEAP32[$482>>2]|0; + $497 = ((((($426) + (($$38941200*1596)|0)|0)) + 338|0) + ($496<<1)|0); + HEAP16[$497>>1] = $495; + $498 = HEAP32[$482>>2]|0; + $499 = (($498) + 1)|0; + HEAP32[$482>>2] = $499; + $500 = (($$29221181) + 1)|0; + $501 = HEAP8[$489>>0]|0; + $502 = $501&255; + $503 = ($500|0)<($502|0); + if ($503) { + $$29221181 = $500; + } else { + break; + } + } + } + $504 = (($$89101185) + 1)|0; + $505 = HEAP8[$429>>0]|0; + $506 = $505&255; + $507 = ($504|0)<($506|0); + if ($507) { + $$89101185 = $504; + } else { + break; + } + } + $$pr1301 = HEAP32[$482>>2]|0; + $485 = ($$pr1301|0)>(0); + if ($485) { + $$99111188 = 0; + label = 183; + } else { + $$lcssa1060 = $$pr1301; + } + } + if ((label|0) == 183) { + while(1) { + label = 0; + $508 = ((((($426) + (($$38941200*1596)|0)|0)) + 338|0) + ($$99111188<<1)|0); + $509 = HEAP16[$508>>1]|0; + $510 = (($2) + ($$99111188<<2)|0); + HEAP16[$510>>1] = $509; + $511 = $$99111188&65535; + $512 = (((($2) + ($$99111188<<2)|0)) + 2|0); + HEAP16[$512>>1] = $511; + $513 = (($$99111188) + 1)|0; + $514 = HEAP32[$482>>2]|0; + $515 = ($513|0)<($514|0); + if ($515) { + $$99111188 = $513; + label = 183; + } else { + $$lcssa1060 = $514; + break; + } + } + } + _qsort($2,$$lcssa1060,4,1); + $516 = HEAP32[$482>>2]|0; + $517 = ($516|0)>(0); + do { + if ($517) { + $$109121192 = 0; + while(1) { + $520 = (((($2) + ($$109121192<<2)|0)) + 2|0); + $521 = HEAP16[$520>>1]|0; + $522 = $521&255; + $523 = ((((($426) + (($$38941200*1596)|0)|0)) + 838|0) + ($$109121192)|0); + HEAP8[$523>>0] = $522; + $524 = (($$109121192) + 1)|0; + $519 = HEAP32[$482>>2]|0; + $525 = ($524|0)<($519|0); + if ($525) { + $$109121192 = $524; + } else { + break; + } + } + $518 = ($519|0)>(2); + if ($518) { + $$119131195 = 2; + } else { + $$lcssa1061 = $519; + break; + } + while(1) { + _neighbors($477,$$119131195,$3,$4); + $526 = HEAP32[$3>>2]|0; + $527 = $526&255; + $528 = ((((($426) + (($$38941200*1596)|0)|0)) + 1088|0) + ($$119131195<<1)|0); + HEAP8[$528>>0] = $527; + $529 = HEAP32[$4>>2]|0; + $530 = $529&255; + $531 = ((((((($426) + (($$38941200*1596)|0)|0)) + 1088|0) + ($$119131195<<1)|0)) + 1|0); + HEAP8[$531>>0] = $530; + $532 = (($$119131195) + 1)|0; + $533 = HEAP32[$482>>2]|0; + $534 = ($532|0)<($533|0); + if ($534) { + $$119131195 = $532; + } else { + $$lcssa1061 = $533; + break; + } + } + } else { + $$lcssa1061 = $516; + } + } while(0); + $535 = ($$lcssa1061|0)>($$09291199|0); + $$$0929 = $535 ? $$lcssa1061 : $$09291199; + $536 = (($$38941200) + 1)|0; + $537 = HEAP32[$383>>2]|0; + $538 = ($536|0)<($537|0); + if ($538) { + $$09291199 = $$$0929;$$38941200 = $536; + } else { + label = 190; + break; + } + } + if ((label|0) == 162) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 164) { + $396 = HEAP32[$386>>2]|0; + $397 = (_get_bits($0,8)|0); + $398 = $397&255; + $399 = (($396) + (($$38941200*1596)|0)|0); + HEAP8[$399>>0] = $398; + $400 = (_get_bits($0,16)|0); + $401 = $400&65535; + $402 = (((($396) + (($$38941200*1596)|0)|0)) + 2|0); + HEAP16[$402>>1] = $401; + $403 = (_get_bits($0,16)|0); + $404 = $403&65535; + $405 = (((($396) + (($$38941200*1596)|0)|0)) + 4|0); + HEAP16[$405>>1] = $404; + $406 = (_get_bits($0,6)|0); + $407 = $406&255; + $408 = (((($396) + (($$38941200*1596)|0)|0)) + 6|0); + HEAP8[$408>>0] = $407; + $409 = (_get_bits($0,8)|0); + $410 = $409&255; + $411 = (((($396) + (($$38941200*1596)|0)|0)) + 7|0); + HEAP8[$411>>0] = $410; + $412 = (_get_bits($0,4)|0); + $413 = (($412) + 1)|0; + $414 = $413&255; + $415 = (((($396) + (($$38941200*1596)|0)|0)) + 8|0); + HEAP8[$415>>0] = $414; + $416 = $413 & 255; + $417 = ($416|0)==(0); + if (!($417)) { + $418 = (((($396) + (($$38941200*1596)|0)|0)) + 9|0); + $$59071118 = 0; + while(1) { + $419 = (_get_bits($0,8)|0); + $420 = $419&255; + $421 = (($418) + ($$59071118)|0); + HEAP8[$421>>0] = $420; + $422 = (($$59071118) + 1)|0; + $423 = HEAP8[$415>>0]|0; + $424 = $423&255; + $425 = ($422|0)<($424|0); + if ($425) { + $$59071118 = $422; + } else { + break; + } + } + } + _error($0,4); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 173) { + _error($0,20); + } + else if ((label|0) == 176) { + _error($0,20); + } + else if ((label|0) == 190) { + $phitmp1297 = $$$0929 << 1; + $$0929$lcssa = $phitmp1297; + break; + } + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } else { + $$0929$lcssa = 0; + } + } while(0); + $539 = (_get_bits($0,6)|0); + $540 = (($539) + 1)|0; + $541 = ((($0)) + 264|0); + HEAP32[$541>>2] = $540; + $542 = ($540*24)|0; + $543 = (_setup_malloc($0,$542)|0); + $544 = ((($0)) + 396|0); + HEAP32[$544>>2] = $543; + $545 = ($543|0)==(0|0); + if ($545) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $546 = HEAP32[$541>>2]|0; + $547 = ($546*24)|0; + _memset(($543|0),0,($547|0))|0; + $548 = HEAP32[$541>>2]|0; + $549 = ($548|0)>(0); + L328: do { + if ($549) { + $$48951165 = 0; + L330: while(1) { + $550 = HEAP32[$544>>2]|0; + $551 = (_get_bits($0,16)|0); + $552 = $551&65535; + $553 = (((($0)) + 268|0) + ($$48951165<<1)|0); + HEAP16[$553>>1] = $552; + $554 = $551 & 65535; + $555 = ($554>>>0)>(2); + if ($555) { + label = 196; + break; + } + $556 = (_get_bits($0,24)|0); + $557 = (($550) + (($$48951165*24)|0)|0); + HEAP32[$557>>2] = $556; + $558 = (_get_bits($0,24)|0); + $559 = (((($550) + (($$48951165*24)|0)|0)) + 4|0); + HEAP32[$559>>2] = $558; + $560 = HEAP32[$557>>2]|0; + $561 = ($558>>>0)<($560>>>0); + if ($561) { + label = 198; + break; + } + $562 = (_get_bits($0,24)|0); + $563 = (($562) + 1)|0; + $564 = (((($550) + (($$48951165*24)|0)|0)) + 8|0); + HEAP32[$564>>2] = $563; + $565 = (_get_bits($0,6)|0); + $566 = (($565) + 1)|0; + $567 = $566&255; + $568 = (((($550) + (($$48951165*24)|0)|0)) + 12|0); + HEAP8[$568>>0] = $567; + $569 = (_get_bits($0,8)|0); + $570 = $569&255; + $571 = (((($550) + (($$48951165*24)|0)|0)) + 13|0); + HEAP8[$571>>0] = $570; + $572 = $569 & 255; + $573 = HEAP32[$91>>2]|0; + $574 = ($572|0)<($573|0); + if (!($574)) { + label = 201; + break; + } + $575 = HEAP8[$568>>0]|0; + $576 = $575&255; + $577 = ($575<<24>>24)==(0); + if ($577) { + $$lcssa = $576; + } else { + $$129141148 = 0; + while(1) { + $578 = (_get_bits($0,3)|0); + $579 = (_get_bits($0,1)|0); + $580 = ($579|0)==(0); + if ($580) { + $$0957 = 0; + } else { + $581 = (_get_bits($0,5)|0); + $$0957 = $581; + } + $582 = $$0957 << 3; + $583 = (($582) + ($578))|0; + $584 = $583&255; + $585 = (($2) + ($$129141148)|0); + HEAP8[$585>>0] = $584; + $586 = (($$129141148) + 1)|0; + $587 = HEAP8[$568>>0]|0; + $588 = $587&255; + $589 = ($586|0)<($588|0); + if ($589) { + $$129141148 = $586; + } else { + $$lcssa = $588; + break; + } + } + } + $590 = $$lcssa << 4; + $591 = (_setup_malloc($0,$590)|0); + $592 = (((($550) + (($$48951165*24)|0)|0)) + 20|0); + HEAP32[$592>>2] = $591; + $593 = ($591|0)==(0|0); + if ($593) { + label = 207; + break; + } + $594 = HEAP8[$568>>0]|0; + $595 = ($594<<24>>24)==(0); + if (!($595)) { + $$139151153 = 0; + while(1) { + $596 = (($2) + ($$139151153)|0); + $597 = HEAP8[$596>>0]|0; + $598 = $597&255; + $$39231152 = 0; + while(1) { + $599 = 1 << $$39231152; + $600 = $598 & $599; + $601 = ($600|0)==(0); + if ($601) { + $612 = HEAP32[$592>>2]|0; + $613 = ((($612) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + HEAP16[$613>>1] = -1; + } else { + $602 = (_get_bits($0,8)|0); + $603 = $602&65535; + $604 = HEAP32[$592>>2]|0; + $605 = ((($604) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + HEAP16[$605>>1] = $603; + $606 = HEAP32[$592>>2]|0; + $607 = ((($606) + ($$139151153<<4)|0) + ($$39231152<<1)|0); + $608 = HEAP16[$607>>1]|0; + $609 = $608 << 16 >> 16; + $610 = HEAP32[$91>>2]|0; + $611 = ($609|0)<($610|0); + if (!($611)) { + label = 211; + break L330; + } + } + $614 = (($$39231152) + 1)|0; + $615 = ($614|0)<(8); + if ($615) { + $$39231152 = $614; + } else { + break; + } + } + $616 = (($$139151153) + 1)|0; + $617 = HEAP8[$568>>0]|0; + $618 = $617&255; + $619 = ($616|0)<($618|0); + if ($619) { + $$139151153 = $616; + } else { + break; + } + } + } + $620 = HEAP32[$94>>2]|0; + $621 = HEAP8[$571>>0]|0; + $622 = $621&255; + $623 = (((($620) + (($622*2096)|0)|0)) + 4|0); + $624 = HEAP32[$623>>2]|0; + $625 = $624 << 2; + $626 = (_setup_malloc($0,$625)|0); + $627 = (((($550) + (($$48951165*24)|0)|0)) + 16|0); + HEAP32[$627>>2] = $626; + $628 = ($626|0)==(0|0); + if ($628) { + label = 216; + break; + } + $629 = HEAP32[$94>>2]|0; + $630 = HEAP8[$571>>0]|0; + $631 = $630&255; + $632 = (((($629) + (($631*2096)|0)|0)) + 4|0); + $633 = HEAP32[$632>>2]|0; + $634 = $633 << 2; + _memset(($626|0),0,($634|0))|0; + $635 = HEAP32[$94>>2]|0; + $636 = HEAP8[$571>>0]|0; + $637 = $636&255; + $638 = (((($635) + (($637*2096)|0)|0)) + 4|0); + $639 = HEAP32[$638>>2]|0; + $640 = ($639|0)>(0); + if ($640) { + $$149161160 = 0;$642 = $635;$643 = $637; + while(1) { + $641 = (($642) + (($643*2096)|0)|0); + $644 = HEAP32[$641>>2]|0; + $645 = (_setup_malloc($0,$644)|0); + $646 = HEAP32[$627>>2]|0; + $647 = (($646) + ($$149161160<<2)|0); + HEAP32[$647>>2] = $645; + $648 = HEAP32[$627>>2]|0; + $649 = (($648) + ($$149161160<<2)|0); + $650 = HEAP32[$649>>2]|0; + $651 = ($650|0)==(0|0); + if ($651) { + label = 221; + break L330; + } + $652 = ($644|0)>(0); + if ($652) { + $$09501156 = $$149161160;$$49241157$in = $644; + while(1) { + $$49241157 = (($$49241157$in) + -1)|0; + $653 = HEAP8[$568>>0]|0; + $654 = $653&255; + $655 = (($$09501156|0) % ($654|0))&-1; + $656 = $655&255; + $657 = HEAP32[$627>>2]|0; + $658 = (($657) + ($$149161160<<2)|0); + $659 = HEAP32[$658>>2]|0; + $660 = (($659) + ($$49241157)|0); + HEAP8[$660>>0] = $656; + $661 = HEAP8[$568>>0]|0; + $662 = $661&255; + $663 = (($$09501156|0) / ($662|0))&-1; + $664 = ($$49241157$in|0)>(1); + if ($664) { + $$09501156 = $663;$$49241157$in = $$49241157; + } else { + break; + } + } + } + $665 = (($$149161160) + 1)|0; + $666 = HEAP32[$94>>2]|0; + $667 = HEAP8[$571>>0]|0; + $668 = $667&255; + $669 = (((($666) + (($668*2096)|0)|0)) + 4|0); + $670 = HEAP32[$669>>2]|0; + $671 = ($665|0)<($670|0); + if ($671) { + $$149161160 = $665;$642 = $666;$643 = $668; + } else { + break; + } + } + } + $672 = (($$48951165) + 1)|0; + $673 = HEAP32[$541>>2]|0; + $674 = ($672|0)<($673|0); + if ($674) { + $$48951165 = $672; + } else { + break L328; + } + } + if ((label|0) == 196) { + _error($0,20); + } + else if ((label|0) == 198) { + _error($0,20); + } + else if ((label|0) == 201) { + _error($0,20); + } + else if ((label|0) == 207) { + _error($0,3); + } + else if ((label|0) == 211) { + _error($0,20); + } + else if ((label|0) == 216) { + _error($0,3); + } + else if ((label|0) == 221) { + _error($0,3); + } + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $675 = (_get_bits($0,6)|0); + $676 = (($675) + 1)|0; + $677 = ((($0)) + 400|0); + HEAP32[$677>>2] = $676; + $678 = ($676*40)|0; + $679 = (_setup_malloc($0,$678)|0); + $680 = ((($0)) + 404|0); + HEAP32[$680>>2] = $679; + $681 = ($679|0)==(0|0); + if ($681) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $682 = HEAP32[$677>>2]|0; + $683 = ($682*40)|0; + _memset(($679|0),0,($683|0))|0; + $684 = HEAP32[$677>>2]|0; + $685 = ($684|0)>(0); + L379: do { + if ($685) { + $$58961143 = 0; + L380: while(1) { + $686 = HEAP32[$680>>2]|0; + $687 = (($686) + (($$58961143*40)|0)|0); + $688 = (_get_bits($0,16)|0); + $689 = ($688|0)==(0); + if (!($689)) { + label = 229; + break; + } + $690 = HEAP32[$32>>2]|0; + $691 = ($690*3)|0; + $692 = (_setup_malloc($0,$691)|0); + $693 = (((($686) + (($$58961143*40)|0)|0)) + 4|0); + HEAP32[$693>>2] = $692; + $694 = ($692|0)==(0|0); + if ($694) { + label = 231; + break; + } + $695 = (_get_bits($0,1)|0); + $696 = ($695|0)==(0); + if ($696) { + $$sink26 = 1; + } else { + $697 = (_get_bits($0,4)|0); + $698 = (($697) + 1)|0; + $699 = $698&255; + $$sink26 = $699; + } + $700 = (((($686) + (($$58961143*40)|0)|0)) + 8|0); + HEAP8[$700>>0] = $$sink26; + $701 = (_get_bits($0,1)|0); + $702 = ($701|0)==(0); + do { + if ($702) { + HEAP16[$687>>1] = 0; + } else { + $703 = (_get_bits($0,8)|0); + $704 = (($703) + 1)|0; + $705 = $704&65535; + HEAP16[$687>>1] = $705; + $706 = $704 & 65535; + $707 = ($706|0)==(0); + if ($707) { + break; + } else { + $$59251132 = 0; + } + while(1) { + $712 = HEAP32[$32>>2]|0; + $713 = (($712) + -1)|0; + $714 = (_ilog($713)|0); + $715 = (_get_bits($0,$714)|0); + $716 = $715&255; + $717 = HEAP32[$693>>2]|0; + $718 = (($717) + (($$59251132*3)|0)|0); + HEAP8[$718>>0] = $716; + $719 = HEAP32[$32>>2]|0; + $720 = (($719) + -1)|0; + $721 = (_ilog($720)|0); + $722 = (_get_bits($0,$721)|0); + $723 = $722&255; + $724 = HEAP32[$693>>2]|0; + $725 = (((($724) + (($$59251132*3)|0)|0)) + 1|0); + HEAP8[$725>>0] = $723; + $726 = HEAP32[$693>>2]|0; + $727 = (($726) + (($$59251132*3)|0)|0); + $728 = HEAP8[$727>>0]|0; + $729 = $728&255; + $730 = HEAP32[$32>>2]|0; + $731 = ($729|0)<($730|0); + if (!($731)) { + label = 238; + break L380; + } + $732 = (((($726) + (($$59251132*3)|0)|0)) + 1|0); + $733 = HEAP8[$732>>0]|0; + $734 = $733&255; + $735 = ($734|0)<($730|0); + if (!($735)) { + label = 240; + break L380; + } + $736 = ($728<<24>>24)==($733<<24>>24); + $711 = (($$59251132) + 1)|0; + if ($736) { + label = 242; + break L380; + } + $708 = HEAP16[$687>>1]|0; + $709 = $708&65535; + $710 = ($711|0)<($709|0); + if ($710) { + $$59251132 = $711; + } else { + break; + } + } + } + } while(0); + $737 = (_get_bits($0,2)|0); + $738 = ($737|0)==(0); + if (!($738)) { + label = 245; + break; + } + $739 = HEAP8[$700>>0]|0; + $740 = ($739&255)>(1); + $741 = HEAP32[$32>>2]|0; + $742 = ($741|0)>(0); + do { + if ($740) { + if ($742) { + $$159171137 = 0; + } else { + break; + } + while(1) { + $750 = (_get_bits($0,4)|0); + $751 = $750&255; + $752 = HEAP32[$693>>2]|0; + $753 = (((($752) + (($$159171137*3)|0)|0)) + 2|0); + HEAP8[$753>>0] = $751; + $754 = HEAP32[$693>>2]|0; + $755 = (((($754) + (($$159171137*3)|0)|0)) + 2|0); + $756 = HEAP8[$755>>0]|0; + $757 = HEAP8[$700>>0]|0; + $758 = ($756&255)<($757&255); + $747 = (($$159171137) + 1)|0; + if (!($758)) { + label = 253; + break L380; + } + $745 = HEAP32[$32>>2]|0; + $746 = ($747|0)<($745|0); + if ($746) { + $$159171137 = $747; + } else { + break; + } + } + } else { + if (!($742)) { + break; + } + $743 = HEAP32[$693>>2]|0; + $744 = HEAP32[$32>>2]|0; + $$169181135 = 0; + while(1) { + $759 = (((($743) + (($$169181135*3)|0)|0)) + 2|0); + HEAP8[$759>>0] = 0; + $760 = (($$169181135) + 1)|0; + $761 = ($760|0)<($744|0); + if ($761) { + $$169181135 = $760; + } else { + break; + } + } + } + } while(0); + $748 = HEAP8[$700>>0]|0; + $749 = ($748<<24>>24)==(0); + if (!($749)) { + $$179191139 = 0; + while(1) { + (_get_bits($0,8)|0); + $766 = (_get_bits($0,8)|0); + $767 = $766&255; + $768 = ((((($686) + (($$58961143*40)|0)|0)) + 9|0) + ($$179191139)|0); + HEAP8[$768>>0] = $767; + $769 = (_get_bits($0,8)|0); + $770 = $769&255; + $771 = ((((($686) + (($$58961143*40)|0)|0)) + 24|0) + ($$179191139)|0); + HEAP8[$771>>0] = $770; + $772 = HEAP8[$768>>0]|0; + $773 = $772&255; + $774 = HEAP32[$383>>2]|0; + $775 = ($773|0)<($774|0); + if (!($775)) { + label = 257; + break L380; + } + $776 = $769 & 255; + $777 = HEAP32[$541>>2]|0; + $778 = ($776|0)<($777|0); + $765 = (($$179191139) + 1)|0; + if (!($778)) { + label = 259; + break L380; + } + $762 = HEAP8[$700>>0]|0; + $763 = $762&255; + $764 = ($765|0)<($763|0); + if ($764) { + $$179191139 = $765; + } else { + break; + } + } + } + $779 = (($$58961143) + 1)|0; + $780 = HEAP32[$677>>2]|0; + $781 = ($779|0)<($780|0); + if ($781) { + $$58961143 = $779; + } else { + break L379; + } + } + if ((label|0) == 229) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 231) { + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 238) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 240) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 242) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 245) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 253) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 257) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 259) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } + } while(0); + $782 = (_get_bits($0,6)|0); + $783 = (($782) + 1)|0; + $784 = ((($0)) + 408|0); + HEAP32[$784>>2] = $783; + $785 = ($783|0)>(0); + L433: do { + if ($785) { + $$68971128 = 0; + while(1) { + $789 = (_get_bits($0,1)|0); + $790 = $789&255; + $791 = (((($0)) + 412|0) + (($$68971128*6)|0)|0); + HEAP8[$791>>0] = $790; + $792 = (_get_bits($0,16)|0); + $793 = $792&65535; + $794 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 2|0); + HEAP16[$794>>1] = $793; + $795 = (_get_bits($0,16)|0); + $796 = $795&65535; + $797 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 4|0); + HEAP16[$797>>1] = $796; + $798 = (_get_bits($0,8)|0); + $799 = $798&255; + $800 = (((((($0)) + 412|0) + (($$68971128*6)|0)|0)) + 1|0); + HEAP8[$800>>0] = $799; + $801 = HEAP16[$794>>1]|0; + $802 = ($801<<16>>16)==(0); + if (!($802)) { + label = 264; + break; + } + $803 = HEAP16[$797>>1]|0; + $804 = ($803<<16>>16)==(0); + if (!($804)) { + label = 266; + break; + } + $805 = $798 & 255; + $806 = HEAP32[$677>>2]|0; + $807 = ($805|0)<($806|0); + $788 = (($$68971128) + 1)|0; + if (!($807)) { + label = 268; + break; + } + $786 = HEAP32[$784>>2]|0; + $787 = ($788|0)<($786|0); + if ($787) { + $$68971128 = $788; + } else { + break L433; + } + } + if ((label|0) == 264) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 266) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + else if ((label|0) == 268) { + _error($0,20); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } + } while(0); + _flush_packet($0); + $808 = ((($0)) + 992|0); + HEAP32[$808>>2] = 0; + $809 = HEAP32[$32>>2]|0; + $810 = ($809|0)>(0); + L447: do { + if ($810) { + $$78981124 = 0; + while(1) { + $814 = HEAP32[$44>>2]|0; + $815 = $814 << 2; + $816 = (_setup_malloc($0,$815)|0); + $817 = (((($0)) + 800|0) + ($$78981124<<2)|0); + HEAP32[$817>>2] = $816; + $818 = HEAP32[$44>>2]|0; + $819 = $818 << 1; + $820 = $819 & 2147483646; + $821 = (_setup_malloc($0,$820)|0); + $822 = (((($0)) + 928|0) + ($$78981124<<2)|0); + HEAP32[$822>>2] = $821; + $823 = (_setup_malloc($0,$$0929$lcssa)|0); + $824 = (((($0)) + 996|0) + ($$78981124<<2)|0); + HEAP32[$824>>2] = $823; + $825 = HEAP32[$817>>2]|0; + $826 = ($825|0)==(0|0); + if ($826) { + break; + } + $827 = HEAP32[$822>>2]|0; + $828 = ($827|0)==(0|0); + $829 = ($823|0)==(0|0); + $or$cond991 = $829 | $828; + $813 = (($$78981124) + 1)|0; + if ($or$cond991) { + break; + } + $811 = HEAP32[$32>>2]|0; + $812 = ($813|0)<($811|0); + if ($812) { + $$78981124 = $813; + } else { + break L447; + } + } + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $830 = HEAP32[$42>>2]|0; + $831 = (_init_blocksize($0,0,$830)|0); + $832 = ($831|0)==(0); + if ($832) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $833 = HEAP32[$44>>2]|0; + $834 = (_init_blocksize($0,1,$833)|0); + $835 = ($834|0)==(0); + if ($835) { + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + $836 = HEAP32[$42>>2]|0; + $837 = ((($0)) + 104|0); + HEAP32[$837>>2] = $836; + $838 = HEAP32[$44>>2]|0; + $839 = ((($0)) + 108|0); + HEAP32[$839>>2] = $838; + $840 = $838 << 1; + $841 = $840 & 2147483646; + $842 = HEAP32[$541>>2]|0; + $843 = ($842|0)>(0); + if ($843) { + $844 = HEAP32[$544>>2]|0; + $845 = HEAP32[$541>>2]|0; + $$08991120 = 0;$$09011119 = 0; + while(1) { + $846 = (((($844) + (($$09011119*24)|0)|0)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = (($844) + (($$09011119*24)|0)|0); + $849 = HEAP32[$848>>2]|0; + $850 = (($847) - ($849))|0; + $851 = (((($844) + (($$09011119*24)|0)|0)) + 8|0); + $852 = HEAP32[$851>>2]|0; + $853 = (($850>>>0) / ($852>>>0))&-1; + $854 = ($853|0)>($$08991120|0); + $$$0899 = $854 ? $853 : $$08991120; + $855 = (($$09011119) + 1)|0; + $856 = ($855|0)<($845|0); + if ($856) { + $$08991120 = $$$0899;$$09011119 = $855; + } else { + break; + } + } + $phitmp = $$$0899 << 2; + $phitmp1296 = (($phitmp) + 4)|0; + $$0899$lcssa = $phitmp1296; + } else { + $$0899$lcssa = 4; + } + $857 = HEAP32[$32>>2]|0; + $858 = Math_imul($857, $$0899$lcssa)|0; + $859 = ((($0)) + 12|0); + $860 = ($841>>>0)>($858>>>0); + $$ = $860 ? $841 : $858; + HEAP32[$859>>2] = $$; + $861 = ((($0)) + 1377|0); + HEAP8[$861>>0] = 1; + $862 = ((($0)) + 80|0); + $863 = HEAP32[$862>>2]|0; + $864 = ($863|0)==(0|0); + do { + if (!($864)) { + $865 = ((($0)) + 92|0); + $866 = HEAP32[$865>>2]|0; + $867 = ((($0)) + 84|0); + $868 = HEAP32[$867>>2]|0; + $869 = ($866|0)==($868|0); + if (!($869)) { + ___assert_fail((17592|0),(17088|0),3714,(17648|0)); + // unreachable; + } + $870 = ((($0)) + 88|0); + $871 = HEAP32[$870>>2]|0; + $872 = (($871) + 1512)|0; + $873 = HEAP32[$859>>2]|0; + $874 = (($872) + ($873))|0; + $875 = ($874>>>0)>($866>>>0); + if (!($875)) { + break; + } + _error($0,3); + $$34 = 0; + STACKTOP = sp;return ($$34|0); + } + } while(0); + $876 = (_stb_vorbis_get_file_offset($0)|0); + $877 = ((($0)) + 52|0); + HEAP32[$877>>2] = $876; + $$34 = 1; + STACKTOP = sp;return ($$34|0); +} +function _vorbis_alloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_setup_malloc($0,1512)|0); + return ($1|0); +} +function _vorbis_pump_first_frame($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 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + $4 = (_vorbis_decode_packet($0,$1,$3,$2)|0); + $5 = ($4|0)==(0); + if ($5) { + STACKTOP = sp;return ($4|0); + } + $6 = HEAP32[$1>>2]|0; + $7 = HEAP32[$3>>2]|0; + $8 = HEAP32[$2>>2]|0; + (_vorbis_finish_frame($0,$6,$7,$8)|0); + STACKTOP = sp;return ($4|0); +} +function _setup_malloc($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, $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)|0; + $3 = $2 & -4; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($3))|0; + HEAP32[$4>>2] = $6; + $7 = ((($0)) + 80|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $17 = ($3|0)==(0); + if ($17) { + $$1 = 0; + return ($$1|0); + } + $18 = (_malloc($3)|0); + $$1 = $18; + return ($$1|0); + } else { + $10 = ((($0)) + 88|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($3))|0; + $13 = ((($0)) + 92|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($12|0)>($14|0); + if ($15) { + $$1 = 0; + return ($$1|0); + } + $16 = (($8) + ($11)|0); + HEAP32[$10>>2] = $12; + $$1 = $16; + return ($$1|0); + } + return (0)|0; +} +function _vorbis_validate($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_memcmp($0,17964,6)|0); + $2 = ($1|0)==(0); + $3 = $2&1; + return ($3|0); +} +function _skip($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, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 32|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_ftell($11)|0); + $13 = HEAP32[$10>>2]|0; + $14 = (($12) + ($1))|0; + (_fseek($13,$14,0)|0); + return; + } + $5 = (($3) + ($1)|0); + HEAP32[$2>>2] = $5; + $6 = ((($0)) + 40|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($5>>>0)<($7>>>0); + if ($8) { + return; + } + $9 = ((($0)) + 96|0); + HEAP32[$9>>2] = 1; + return; +} +function _is_whole_packet_present($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$$068 = 0, $$$3 = 0, $$068$lcssa = 0, $$06892 = 0, $$07291 = 0, $$078 = 0, $$078$ph = 0, $$173 = 0, $$2 = 0, $$270 = 0, $$270$ph = 0, $$274 = 0, $$274$ph = 0, $$3$lcssa = 0, $$37585 = 0, $$386 = 0, $$476 = 0, $$lcssa = 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, $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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond82 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 1380|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 32|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($3|0)==(-1); + if ($6) { + $$078$ph = 1;$$270$ph = -1;$$274$ph = $5; + } else { + $7 = ((($0)) + 1116|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($3|0)<($8|0); + L3: do { + if ($9) { + $$06892 = $3;$$07291 = $5;$67 = $8; + while(1) { + $10 = (((($0)) + 1120|0) + ($$06892)|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = (($$07291) + ($12)|0); + $14 = ($11<<24>>24)==(-1); + if (!($14)) { + $$068$lcssa = $$06892;$$173 = $13;$$lcssa = $67; + break L3; + } + $15 = (($$06892) + 1)|0; + $16 = HEAP32[$7>>2]|0; + $17 = ($15|0)<($16|0); + if ($17) { + $$06892 = $15;$$07291 = $13;$67 = $16; + } else { + $$068$lcssa = $15;$$173 = $13;$$lcssa = $16; + break; + } + } + } else { + $$068$lcssa = $3;$$173 = $5;$$lcssa = $8; + } + } while(0); + $18 = ($1|0)!=(0); + $19 = (($$lcssa) + -1)|0; + $20 = ($$068$lcssa|0)<($19|0); + $or$cond = $18 & $20; + if ($or$cond) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + $21 = ($$068$lcssa|0)==($$lcssa|0); + $$$068 = $21 ? -1 : $$068$lcssa; + $22 = ((($0)) + 40|0); + $23 = HEAP32[$22>>2]|0; + $24 = ($$173>>>0)>($23>>>0); + if ($24) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } else { + $$078$ph = 0;$$270$ph = $$$068;$$274$ph = $$173; + } + } + $25 = ((($0)) + 40|0); + $26 = ($1|0)!=(0); + $27 = ((($0)) + 992|0); + $$078 = $$078$ph;$$270 = $$270$ph;$$274 = $$274$ph; + while(1) { + $28 = ($$270|0)==(-1); + if (!($28)) { + $$2 = 1; + label = 32; + break; + } + $29 = ((($$274)) + 26|0); + $30 = HEAP32[$25>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if (!($31)) { + label = 12; + break; + } + $32 = (_memcmp($$274,4796,4)|0); + $33 = ($32|0)==(0); + if (!($33)) { + label = 14; + break; + } + $34 = ((($$274)) + 4|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)==(0); + if (!($36)) { + label = 16; + break; + } + $37 = ($$078|0)==(0); + if ($37) { + $44 = ((($$274)) + 5|0); + $45 = HEAP8[$44>>0]|0; + $46 = $45 & 1; + $47 = ($46<<24>>24)==(0); + if ($47) { + label = 22; + break; + } + } else { + $38 = HEAP32[$27>>2]|0; + $39 = ($38|0)==(0); + if (!($39)) { + $40 = ((($$274)) + 5|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41 & 1; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + label = 20; + break; + } + } + } + $48 = HEAP8[$29>>0]|0; + $49 = $48&255; + $50 = ((($$274)) + 27|0); + $51 = (($50) + ($49)|0); + $52 = HEAP32[$25>>2]|0; + $53 = ($51>>>0)>($52>>>0); + if ($53) { + label = 25; + break; + } + $54 = ($48<<24>>24)==(0); + L27: do { + if ($54) { + $$3$lcssa = 0;$$476 = $51; + } else { + $$37585 = $51;$$386 = 0; + while(1) { + $55 = (($50) + ($$386)|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = (($$37585) + ($57)|0); + $59 = ($56<<24>>24)==(-1); + if (!($59)) { + $$3$lcssa = $$386;$$476 = $58; + break L27; + } + $60 = (($$386) + 1)|0; + $61 = ($60|0)<($49|0); + if ($61) { + $$37585 = $58;$$386 = $60; + } else { + $$3$lcssa = $60;$$476 = $58; + break; + } + } + } + } while(0); + $62 = (($49) + -1)|0; + $63 = ($$3$lcssa|0)<($62|0); + $or$cond82 = $26 & $63; + if ($or$cond82) { + label = 29; + break; + } + $64 = ($$3$lcssa|0)==($49|0); + $$$3 = $64 ? -1 : $$3$lcssa; + $65 = HEAP32[$25>>2]|0; + $66 = ($$476>>>0)>($65>>>0); + if ($66) { + label = 31; + break; + } else { + $$078 = 0;$$270 = $$$3;$$274 = $$476; + } + } + if ((label|0) == 12) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 14) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 16) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 20) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 22) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 25) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 29) { + _error($0,21); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 31) { + _error($0,1); + $$2 = 0; + return ($$2|0); + } + else if ((label|0) == 32) { + return ($$2|0); + } + return (0)|0; } function _crc32_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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$03 = 0, label = 0, sp = 0; + var $$01417 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; - $i$03 = 0; + $$01417 = 0; while(1) { - $0 = $i$03 << 24; - $1 = $i$03 << 25; + $0 = $$01417 << 24; + $1 = $$01417 << 25; $2 = $0 >> 31; $3 = $2 & 79764919; $4 = $3 ^ $1; @@ -32869,20474 +52278,1749 @@ function _crc32_init() { $30 = $25 >> 31; $31 = $30 & 79764919; $32 = $31 ^ $29; - $33 = (8220 + ($i$03<<2)|0); + $33 = (30144 + ($$01417<<2)|0); HEAP32[$33>>2] = $32; - $34 = (($i$03) + 1)|0; + $34 = (($$01417) + 1)|0; $exitcond = ($34|0)==(256); if ($exitcond) { break; } else { - $i$03 = $34; + $$01417 = $34; } } return; } -function _setup_temp_malloc($f,$sz) { - $f = $f|0; - $sz = $sz|0; - var $$0 = 0, $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; +function _setup_temp_free($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; - $0 = (($sz) + 3)|0; - $1 = $0 & -4; - $2 = ((($f)) + 80|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $13 = (_malloc($1)|0); - $$0 = $13; - return ($$0|0); - } - $5 = ((($f)) + 92|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) - ($1))|0; - $8 = ((($f)) + 88|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($7|0)<($9|0); - if ($10) { - $$0 = 0; - return ($$0|0); - } - HEAP32[$5>>2] = $7; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) + ($7)|0); - $$0 = $12; - return ($$0|0); -} -function _setup_temp_free($f,$p,$sz) { - $f = $f|0; - $p = $p|0; - $sz = $sz|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 = ((($f)) + 80|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - _free($p); + $3 = ((($0)) + 80|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _free($1); return; } else { - $3 = (($sz) + 3)|0; - $4 = $3 & -4; - $5 = ((($f)) + 92|0); - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + ($4))|0; - HEAP32[$5>>2] = $7; + $6 = (($2) + 3)|0; + $7 = $6 & -4; + $8 = ((($0)) + 92|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + ($7))|0; + HEAP32[$8>>2] = $10; return; } } -function _compute_codewords($c,$len,$n,$values) { - $c = $c|0; - $len = $len|0; - $n = $n|0; - $values = $values|0; - var $$0 = 0, $$lcssa = 0, $$lcssa37 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $available = 0, $i$014 = 0, $i$1 = 0; - var $i$1$in = 0, $i$1$in$ph = 0, $i$1$lcssa36 = 0, $k$0$lcssa = 0, $k$016 = 0, $m$0$ph = 0, $y$012 = 0, $z$0$lcssa = 0, $z$09 = 0, dest = 0, label = 0, sp = 0, stop = 0; +function _compute_codewords($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$06983 = 0, $$072$ph = 0, $$074$lcssa = 0, $$07488 = 0, $$07586 = 0, $$084 = 0, $$176 = 0, $$176$in = 0, $$176$in$ph = 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, $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, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $available = sp; - dest=$available; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $0 = ($n|0)>(0); + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp; + dest=$4; stop=dest+128|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $5 = ($2|0)>(0); L1: do { - if ($0) { - $k$016 = 0; + if ($5) { + $$07488 = 0; while(1) { - $1 = (($len) + ($k$016)|0); - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(-1); - if (!($3)) { - $k$0$lcssa = $k$016; + $6 = (($1) + ($$07488)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(-1); + if (!($8)) { + $$074$lcssa = $$07488; break L1; } - $4 = (($k$016) + 1)|0; - $5 = ($4|0)<($n|0); - if ($5) { - $k$016 = $4; + $9 = (($$07488) + 1)|0; + $10 = ($9|0)<($2|0); + if ($10) { + $$07488 = $9; } else { - $k$0$lcssa = $4; + $$074$lcssa = $9; break; } } } else { - $k$0$lcssa = 0; + $$074$lcssa = 0; } } while(0); - $6 = ($k$0$lcssa|0)==($n|0); - if ($6) { - $7 = ((($c)) + 2092|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); + $11 = ($$074$lcssa|0)==($2|0); + if ($11) { + $12 = ((($0)) + 2092|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + $$2 = 1; + STACKTOP = sp;return ($$2|0); } else { - ___assert_fail((20154|0),(17015|0),659,(20177|0)); + ___assert_fail((17861|0),(17088|0),665,(17884|0)); // unreachable; } } - $10 = (($len) + ($k$0$lcssa)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - _add_entry($c,0,$k$0$lcssa,0,$12,$values); - $13 = HEAP8[$10>>0]|0; - $14 = ($13<<24>>24)==(0); - if ($14) { - $i$1$in$ph = $k$0$lcssa;$m$0$ph = 1; + $15 = (($1) + ($$074$lcssa)|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + _add_entry($0,0,$$074$lcssa,0,$17,$3); + $18 = HEAP8[$15>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$072$ph = 1;$$176$in$ph = $$074$lcssa; } else { - $15 = HEAP8[$10>>0]|0; - $16 = $15&255; - $i$014 = 1; + $20 = HEAP8[$15>>0]|0; + $21 = $20&255; + $$07586 = 1; while(1) { - $17 = (32 - ($i$014))|0; - $18 = 1 << $17; - $19 = (($available) + ($i$014<<2)|0); - HEAP32[$19>>2] = $18; - $20 = (($i$014) + 1)|0; - $21 = ($i$014|0)<($16|0); - if ($21) { - $i$014 = $20; + $22 = (32 - ($$07586))|0; + $23 = 1 << $22; + $24 = (($4) + ($$07586<<2)|0); + HEAP32[$24>>2] = $23; + $25 = (($$07586) + 1)|0; + $26 = ($$07586|0)<($21|0); + if ($26) { + $$07586 = $25; } else { - $i$1$in$ph = $k$0$lcssa;$m$0$ph = 1; + $$072$ph = 1;$$176$in$ph = $$074$lcssa; break; } } } L16: while(1) { - $i$1$in = $i$1$in$ph; - while(1) { - $i$1 = (($i$1$in) + 1)|0; - $22 = ($i$1|0)<($n|0); - if (!($22)) { - $$0 = 1; - label = 26; + $$176$in = $$176$in$ph; + L18: while(1) { + $$176 = (($$176$in) + 1)|0; + $27 = ($$176|0)<($2|0); + if (!($27)) { + $$2 = 1; + label = 25; break L16; } - $23 = (($len) + ($i$1)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(-1); - if ($25) { - $i$1$in = $i$1; - } else { - $$lcssa = $23;$$lcssa37 = $24;$i$1$lcssa36 = $i$1; + $28 = (($1) + ($$176)|0); + $29 = HEAP8[$28>>0]|0; + switch ($29<<24>>24) { + case 0: { + $$2 = 0; + label = 25; + break L16; break; } - } - $26 = $$lcssa37&255; - $27 = ($$lcssa37<<24>>24)==(0); - L22: do { - if ($27) { - $z$0$lcssa = $26; - } else { - $z$09 = $26; - while(1) { - $28 = (($available) + ($z$09<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0); - if (!($30)) { - $z$0$lcssa = $z$09; - break L22; - } - $31 = (($z$09) + -1)|0; - $32 = ($z$09|0)>(1); - if ($32) { - $z$09 = $31; - } else { - $z$0$lcssa = $31; - break; - } - } + case -1: { + $$176$in = $$176; + break; } - } while(0); - $33 = ($z$0$lcssa|0)==(0); - if ($33) { - $$0 = 0; - label = 26; + default: { + break L18; + } + } + } + $30 = $29&255; + $$06983 = $30; + while(1) { + $31 = (($4) + ($$06983<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==(0); + if (!($33)) { + break; + } + $34 = (($$06983) + -1)|0; + $35 = ($$06983|0)>(1); + if ($35) { + $$06983 = $34; + } else { + $$2 = 0; + label = 25; + break L16; + } + } + $36 = (($4) + ($$06983<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($$06983>>>0)<(32); + if (!($38)) { + label = 17; break; } - $34 = (($available) + ($z$0$lcssa<<2)|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($z$0$lcssa>>>0)<(32); - if (!($36)) { - label = 18; - break; - } - HEAP32[$34>>2] = 0; - $37 = (_bit_reverse($35)|0); - $38 = (($m$0$ph) + 1)|0; - $39 = HEAP8[$$lcssa>>0]|0; - $40 = $39&255; - _add_entry($c,$37,$i$1$lcssa36,$m$0$ph,$40,$values); - $41 = HEAP8[$$lcssa>>0]|0; + HEAP32[$36>>2] = 0; + $39 = (_bit_reverse($37)|0); + $40 = (($$072$ph) + 1)|0; + $41 = HEAP8[$28>>0]|0; $42 = $41&255; - $43 = ($z$0$lcssa|0)==($42|0); - if ($43) { - $i$1$in$ph = $i$1$lcssa36;$m$0$ph = $38; + _add_entry($0,$39,$$176,$$072$ph,$42,$3); + $43 = HEAP8[$28>>0]|0; + $44 = $43&255; + $45 = ($$06983|0)==($44|0); + if ($45) { + $$072$ph = $40;$$176$in$ph = $$176; continue; } - $44 = ($41&255)<(32); - if (!($44)) { - label = 22; + $46 = ($43&255)<(32); + if (!($46)) { + label = 21; break; } - $45 = ($42|0)>($z$0$lcssa|0); - if ($45) { - $y$012 = $42; + $47 = ($44|0)>($$06983|0); + if ($47) { + $$084 = $44; } else { - $i$1$in$ph = $i$1$lcssa36;$m$0$ph = $38; + $$072$ph = $40;$$176$in$ph = $$176; continue; } while(1) { - $46 = (($available) + ($y$012<<2)|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47|0)==(0); - if (!($48)) { - label = 24; + $48 = (($4) + ($$084<<2)|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + label = 23; break L16; } - $49 = (32 - ($y$012))|0; - $50 = 1 << $49; - $51 = (($50) + ($35))|0; - HEAP32[$46>>2] = $51; - $52 = (($y$012) + -1)|0; - $53 = ($52|0)>($z$0$lcssa|0); - if ($53) { - $y$012 = $52; + $51 = (32 - ($$084))|0; + $52 = 1 << $51; + $53 = (($52) + ($37))|0; + HEAP32[$48>>2] = $53; + $54 = (($$084) + -1)|0; + $55 = ($54|0)>($$06983|0); + if ($55) { + $$084 = $54; } else { - $i$1$in$ph = $i$1$lcssa36;$m$0$ph = $38; + $$072$ph = $40;$$176$in$ph = $$176; continue L16; } } } - if ((label|0) == 18) { - ___assert_fail((20195|0),(17015|0),682,(20177|0)); + if ((label|0) == 17) { + ___assert_fail((17902|0),(17088|0),688,(17884|0)); // unreachable; } - else if ((label|0) == 22) { - ___assert_fail((20212|0),(17015|0),687,(20177|0)); + else if ((label|0) == 21) { + ___assert_fail((17919|0),(17088|0),693,(17884|0)); // unreachable; } - else if ((label|0) == 24) { - ___assert_fail((20239|0),(17015|0),689,(20177|0)); + else if ((label|0) == 23) { + ___assert_fail((17946|0),(17088|0),695,(17884|0)); // unreachable; } - else if ((label|0) == 26) { - STACKTOP = sp;return ($$0|0); + else if ((label|0) == 25) { + STACKTOP = sp;return ($$2|0); } return (0)|0; } -function _compute_sorted_huffman($c,$lengths,$values) { - $c = $c|0; - $lengths = $lengths|0; - $values = $values|0; - var $$ = 0, $$in = 0, $$pn = 0, $$sink$in = 0, $$sink1 = 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; - 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, $i$010 = 0, $i$114 = 0, $i$25 = 0, $k$0$lcssa = 0; - var $k$09 = 0, $k$1 = 0, $n$04 = 0, $x$0$ = 0, $x$0$lcssa = 0, $x$03 = 0, label = 0, sp = 0; +function _compute_sorted_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$08088 = 0, $$082$lcssa = 0, $$08287 = 0, $$084$lcssa = 0, $$08495 = 0, $$096 = 0, $$1100 = 0, $$181 = 0, $$183 = 0, $$185 = 0, $$290 = 0, $$lcssa = 0, $$sink = 0, $$sink3 = 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, $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, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - $10 = ((($c)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>(0); - if ($12) { - $13 = ((($c)) + 32|0); - $14 = ((($c)) + 2084|0); - $i$010 = 0;$k$09 = 0; + $3 = ((($0)) + 23|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = ((($0)) + 32|0); + $17 = ((($0)) + 2084|0); + $$08495 = 0;$$096 = 0; while(1) { - $15 = (($lengths) + ($i$010)|0); - $16 = HEAP8[$15>>0]|0; - $17 = (_include_in_sort($c,$16)|0); - $18 = ($17|0)==(0); - if ($18) { - $k$1 = $k$09; + $18 = (($1) + ($$096)|0); + $19 = HEAP8[$18>>0]|0; + $20 = (_include_in_sort($0,$19)|0); + $21 = ($20|0)==(0); + if ($21) { + $$185 = $$08495; } else { - $19 = HEAP32[$13>>2]|0; - $20 = (($19) + ($i$010<<2)|0); - $21 = HEAP32[$20>>2]|0; - $22 = (_bit_reverse($21)|0); - $23 = (($k$09) + 1)|0; - $24 = HEAP32[$14>>2]|0; - $25 = (($24) + ($k$09<<2)|0); - HEAP32[$25>>2] = $22; - $k$1 = $23; + $22 = HEAP32[$16>>2]|0; + $23 = (($22) + ($$096<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_bit_reverse($24)|0); + $26 = HEAP32[$17>>2]|0; + $27 = (($$08495) + 1)|0; + $28 = (($26) + ($$08495<<2)|0); + HEAP32[$28>>2] = $25; + $$185 = $27; } - $26 = (($i$010) + 1)|0; - $27 = HEAP32[$10>>2]|0; - $28 = ($26|0)<($27|0); - if ($28) { - $i$010 = $26;$k$09 = $k$1; + $29 = (($$096) + 1)|0; + $30 = HEAP32[$13>>2]|0; + $31 = ($29|0)<($30|0); + if ($31) { + $$08495 = $$185;$$096 = $29; } else { - $k$0$lcssa = $k$1; + $$084$lcssa = $$185; break; } } } else { - $k$0$lcssa = 0; + $$084$lcssa = 0; } - $29 = ((($c)) + 2092|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($k$0$lcssa|0)==($30|0); - if (!($31)) { - ___assert_fail((20046|0),(17015|0),756,(20069|0)); + $32 = ((($0)) + 2092|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($$084$lcssa|0)==($33|0); + if (!($34)) { + ___assert_fail((17753|0),(17088|0),762,(17776|0)); // unreachable; } } else { - $3 = ((($c)) + 2092|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(0); - if ($5) { - $6 = ((($c)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($c)) + 2084|0); - $9 = HEAP32[$8>>2]|0; - $i$114 = 0; + $6 = ((($0)) + 2092|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(0); + if ($8) { + $9 = ((($0)) + 32|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 2084|0); + $12 = HEAP32[$11>>2]|0; + $$1100 = 0; while(1) { - $32 = (($7) + ($i$114<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_bit_reverse($33)|0); - $35 = (($9) + ($i$114<<2)|0); - HEAP32[$35>>2] = $34; - $36 = (($i$114) + 1)|0; - $37 = HEAP32[$3>>2]|0; - $38 = ($36|0)<($37|0); - if ($38) { - $i$114 = $36; + $35 = (($10) + ($$1100<<2)|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_bit_reverse($36)|0); + $38 = (($12) + ($$1100<<2)|0); + HEAP32[$38>>2] = $37; + $39 = (($$1100) + 1)|0; + $40 = HEAP32[$6>>2]|0; + $41 = ($39|0)<($40|0); + if ($41) { + $$1100 = $39; } else { break; } } } } - $39 = ((($c)) + 2084|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($c)) + 2092|0); - $42 = HEAP32[$41>>2]|0; - _qsort($40,$42,4,2); - $43 = HEAP32[$41>>2]|0; - $44 = HEAP32[$39>>2]|0; - $45 = (($44) + ($43<<2)|0); - HEAP32[$45>>2] = -1; - $46 = HEAP8[$0>>0]|0; - $47 = ($46<<24>>24)==(0); - $48 = ((($c)) + 4|0); - $$in = $47 ? $48 : $41; - $49 = HEAP32[$$in>>2]|0; - $50 = ($49|0)>(0); - if (!($50)) { + $42 = ((($0)) + 2084|0); + $43 = HEAP32[$42>>2]|0; + $44 = ((($0)) + 2092|0); + $45 = HEAP32[$44>>2]|0; + _qsort($43,$45,4,2); + $46 = HEAP32[$42>>2]|0; + $47 = HEAP32[$44>>2]|0; + $48 = (($46) + ($47<<2)|0); + HEAP32[$48>>2] = -1; + $49 = HEAP8[$3>>0]|0; + $50 = ($49<<24>>24)!=(0); + $51 = ((($0)) + 4|0); + $$sink = $50 ? $44 : $51; + $52 = HEAP32[$$sink>>2]|0; + $53 = ($52|0)>(0); + if (!($53)) { return; } - $51 = ((($c)) + 32|0); - $52 = ((($c)) + 2088|0); - $53 = ((($c)) + 2088|0); - $54 = ((($c)) + 8|0); - $i$25 = 0; + $54 = ((($0)) + 32|0); + $55 = ((($0)) + 2088|0); + $56 = ((($0)) + 8|0); + $$290 = 0; L20: while(1) { - $55 = HEAP8[$0>>0]|0; - $56 = ($55<<24>>24)==(0); - if ($56) { - $$pn = $i$25; + $57 = HEAP8[$3>>0]|0; + $58 = ($57<<24>>24)==(0); + if ($58) { + $$sink3 = $$290; } else { - $57 = (($values) + ($i$25<<2)|0); - $58 = HEAP32[$57>>2]|0; - $$pn = $58; + $59 = (($2) + ($$290<<2)|0); + $60 = HEAP32[$59>>2]|0; + $$sink3 = $60; } - $$sink$in = (($lengths) + ($$pn)|0); - $$sink1 = HEAP8[$$sink$in>>0]|0; - $59 = (_include_in_sort($c,$$sink1)|0); - $60 = ($59|0)==(0); + $61 = (($1) + ($$sink3)|0); + $62 = HEAP8[$61>>0]|0; + $63 = (_include_in_sort($0,$62)|0); + $64 = ($63|0)==(0); do { - if (!($60)) { - $61 = HEAP32[$51>>2]|0; - $62 = (($61) + ($i$25<<2)|0); - $63 = HEAP32[$62>>2]|0; - $64 = (_bit_reverse($63)|0); - $65 = HEAP32[$41>>2]|0; - $66 = ($65|0)>(1); - if ($66) { - $67 = HEAP32[$39>>2]|0; - $n$04 = $65;$x$03 = 0; + if (!($64)) { + $65 = HEAP32[$54>>2]|0; + $66 = (($65) + ($$290<<2)|0); + $67 = HEAP32[$66>>2]|0; + $68 = (_bit_reverse($67)|0); + $69 = HEAP32[$44>>2]|0; + $70 = ($69|0)>(1); + $71 = HEAP32[$42>>2]|0; + if ($70) { + $72 = HEAP32[$42>>2]|0; + $$08088 = $69;$$08287 = 0;$76 = $71; while(1) { - $68 = $n$04 >> 1; - $69 = (($68) + ($x$03))|0; - $70 = (($67) + ($69<<2)|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71>>>0)>($64>>>0); - $73 = (($n$04) - ($68))|0; - $x$0$ = $72 ? $x$03 : $69; - $$ = $72 ? $68 : $73; - $74 = ($$|0)>(1); - if ($74) { - $n$04 = $$;$x$03 = $x$0$; + $73 = $$08088 >>> 1; + $74 = (($73) + ($$08287))|0; + $75 = (($76) + ($74<<2)|0); + $77 = HEAP32[$75>>2]|0; + $78 = ($77>>>0)>($68>>>0); + $79 = (($$08088) - ($73))|0; + $$183 = $78 ? $$08287 : $74; + $$181 = $78 ? $73 : $79; + $80 = ($$181|0)>(1); + if ($80) { + $$08088 = $$181;$$08287 = $$183;$76 = $72; } else { - $x$0$lcssa = $x$0$; + $$082$lcssa = $$183;$$lcssa = $72; break; } } } else { - $x$0$lcssa = 0; + $$082$lcssa = 0;$$lcssa = $71; } - $75 = HEAP32[$39>>2]|0; - $76 = (($75) + ($x$0$lcssa<<2)|0); - $77 = HEAP32[$76>>2]|0; - $78 = ($77|0)==($64|0); - if (!($78)) { + $81 = (($$lcssa) + ($$082$lcssa<<2)|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)==($68|0); + if (!($83)) { label = 21; break L20; } - $79 = HEAP8[$0>>0]|0; - $80 = ($79<<24>>24)==(0); - if ($80) { - $87 = HEAP32[$52>>2]|0; - $88 = (($87) + ($x$0$lcssa<<2)|0); - HEAP32[$88>>2] = $i$25; + $84 = HEAP8[$3>>0]|0; + $85 = ($84<<24>>24)==(0); + $86 = HEAP32[$55>>2]|0; + if ($85) { + $92 = (($86) + ($$082$lcssa<<2)|0); + HEAP32[$92>>2] = $$290; break; } else { - $81 = (($values) + ($i$25<<2)|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$53>>2]|0; - $84 = (($83) + ($x$0$lcssa<<2)|0); - HEAP32[$84>>2] = $82; - $85 = HEAP32[$54>>2]|0; - $86 = (($85) + ($x$0$lcssa)|0); - HEAP8[$86>>0] = $$sink1; + $87 = (($2) + ($$290<<2)|0); + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + ($$082$lcssa<<2)|0); + HEAP32[$89>>2] = $88; + $90 = HEAP32[$56>>2]|0; + $91 = (($90) + ($$082$lcssa)|0); + HEAP8[$91>>0] = $62; break; } } } while(0); - $89 = (($i$25) + 1)|0; - $90 = ($89|0)<($49|0); - if ($90) { - $i$25 = $89; + $93 = (($$290) + 1)|0; + $94 = ($93|0)<($52|0); + if ($94) { + $$290 = $93; } else { label = 26; break; } } if ((label|0) == 21) { - ___assert_fail((20092|0),(17015|0),786,(20069|0)); + ___assert_fail((17799|0),(17088|0),792,(17776|0)); // unreachable; } else if ((label|0) == 26) { return; } } -function _compute_accelerated_huffman($c) { - $c = $c|0; - var $$in = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$12 = 0, $scevgep = 0; - var $z$0$ph = 0, $z$01 = 0, label = 0, sp = 0; +function _compute_accelerated_huffman($0) { + $0 = $0|0; + var $$ = 0, $$0$ph = 0, $$027 = 0, $$128 = 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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $scevgep = 0, label = 0, sp = 0; sp = STACKTOP; - $scevgep = ((($c)) + 36|0); + $scevgep = ((($0)) + 36|0); _memset(($scevgep|0),-1,2048)|0; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ((($c)) + 2092|0); - $4 = ((($c)) + 4|0); - $$in = $2 ? $4 : $3; - $5 = HEAP32[$$in>>2]|0; - $6 = ($5|0)>(0); - if (!($6)) { + $1 = ((($0)) + 23|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)!=(0); + $4 = ((($0)) + 4|0); + $5 = ((($0)) + 2092|0); + $$sink = $3 ? $5 : $4; + $6 = HEAP32[$$sink>>2]|0; + $7 = ($6|0)<(32767); + $$ = $7 ? $6 : 32767; + $8 = ($6|0)>(0); + if (!($8)) { return; } - $7 = ((($c)) + 8|0); - $8 = ((($c)) + 32|0); - $9 = ((($c)) + 2084|0); - $10 = ($5|0)<(32767); - $11 = $10 ? $5 : 32767; - $i$12 = 0; + $9 = ((($0)) + 8|0); + $10 = ((($0)) + 32|0); + $11 = ((($0)) + 2084|0); + $$128 = 0; while(1) { - $12 = HEAP32[$7>>2]|0; - $13 = (($12) + ($i$12)|0); + $12 = HEAP32[$9>>2]|0; + $13 = (($12) + ($$128)|0); $14 = HEAP8[$13>>0]|0; $15 = ($14&255)<(11); if ($15) { - $16 = HEAP8[$0>>0]|0; + $16 = HEAP8[$1>>0]|0; $17 = ($16<<24>>24)==(0); if ($17) { - $22 = HEAP32[$8>>2]|0; - $23 = (($22) + ($i$12<<2)|0); + $22 = HEAP32[$10>>2]|0; + $23 = (($22) + ($$128<<2)|0); $24 = HEAP32[$23>>2]|0; - $z$0$ph = $24; + $$0$ph = $24; } else { - $18 = HEAP32[$9>>2]|0; - $19 = (($18) + ($i$12<<2)|0); + $18 = HEAP32[$11>>2]|0; + $19 = (($18) + ($$128<<2)|0); $20 = HEAP32[$19>>2]|0; $21 = (_bit_reverse($20)|0); - $z$0$ph = $21; + $$0$ph = $21; } - $25 = ($z$0$ph>>>0)<(1024); + $25 = ($$0$ph>>>0)<(1024); if ($25) { - $26 = $i$12&65535; - $z$01 = $z$0$ph; + $26 = $$128&65535; + $$027 = $$0$ph; while(1) { - $27 = (((($c)) + 36|0) + ($z$01<<1)|0); + $27 = (((($0)) + 36|0) + ($$027<<1)|0); HEAP16[$27>>1] = $26; - $28 = HEAP32[$7>>2]|0; - $29 = (($28) + ($i$12)|0); + $28 = HEAP32[$9>>2]|0; + $29 = (($28) + ($$128)|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; $32 = 1 << $31; - $33 = (($32) + ($z$01))|0; + $33 = (($32) + ($$027))|0; $34 = ($33>>>0)<(1024); if ($34) { - $z$01 = $33; + $$027 = $33; } else { break; } } } } - $35 = (($i$12) + 1)|0; - $exitcond = ($35|0)==($11|0); - if ($exitcond) { - break; + $35 = (($$128) + 1)|0; + $36 = ($35|0)<($$|0); + if ($36) { + $$128 = $35; } else { - $i$12 = $35; + break; } } return; } -function _float32_unpack($x) { - $x = $x|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; +function _float32_unpack($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = $x & 2097151; - $1 = $x >>> 21; - $2 = $1 & 1023; - $3 = ($x|0)<(0); - $4 = (+($0>>>0)); - $5 = -$4; - $6 = $3 ? $5 : $4; - $7 = $6; + $1 = $0 & 2097151; + $2 = $0 >>> 21; + $3 = $2 & 1023; + $4 = ($0|0)<(0); + $5 = (+($1>>>0)); + $6 = -$5; + $7 = $4 ? $6 : $5; $8 = $7; - $9 = (($2) + -788)|0; - $10 = (+_ldexp($8,$9)); - $11 = $10; - return (+$11); -} -function _lookup1_values($entries,$dim) { - $entries = $entries|0; - $dim = $dim|0; - var $$ = 0, $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0; - var $26 = 0.0, $27 = 0, $28 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+($entries|0)); - $1 = $0; - $2 = (+Math_log((+$1))); - $3 = $2; - $4 = (+($dim|0)); - $5 = $3 / $4; - $6 = $5; - $7 = (+Math_exp((+$6))); - $8 = (+Math_floor((+$7))); - $9 = (~~(($8))); - $10 = (+($9|0)); - $11 = $10 + 1.0; + $9 = $8; + $10 = (($3) + -788)|0; + $11 = (+_ldexp($9,$10)); $12 = $11; - $13 = (+($dim|0)); - $14 = (+Math_pow((+$12),(+$13))); - $15 = (+Math_floor((+$14))); - $16 = (~~(($15))); - $not$ = ($16|0)<=($entries|0); - $17 = $not$&1; - $$ = (($17) + ($9))|0; - $18 = (+($$|0)); - $19 = $18 + 1.0; - $20 = $19; - $21 = (+Math_pow((+$20),(+$13))); - $22 = (+($entries|0)); - $23 = $21 > $22; - if (!($23)) { - ___assert_fail((19955|0),(17015|0),811,(19987|0)); + return (+$12); +} +function _lookup1_values($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = $2; + $4 = (+Math_log((+$3))); + $5 = $4; + $6 = (+($1|0)); + $7 = $5 / $6; + $8 = $7; + $9 = (+Math_exp((+$8))); + $10 = (+Math_floor((+$9))); + $11 = (~~(($10))); + $12 = (+($11|0)); + $13 = $12 + 1.0; + $14 = $13; + $15 = (+($1|0)); + $16 = (+Math_pow((+$14),(+$15))); + $17 = (+Math_floor((+$16))); + $18 = (~~(($17))); + $not$ = ($18|0)<=($0|0); + $19 = $not$&1; + $$ = (($19) + ($11))|0; + $20 = (+($$|0)); + $21 = $20 + 1.0; + $22 = $21; + $23 = (+Math_pow((+$22),(+$15))); + $24 = (+($0|0)); + $25 = $23 > $24; + if (!($25)) { + ___assert_fail((17662|0),(17088|0),817,(17694|0)); // unreachable; } - $24 = $18; - $25 = (+Math_pow((+$24),(+$13))); - $26 = (+Math_floor((+$25))); - $27 = (~~(($26))); - $28 = ($27|0)>($entries|0); - if ($28) { - ___assert_fail((20002|0),(17015|0),812,(19987|0)); + $26 = $20; + $27 = (+Math_pow((+$26),(+$15))); + $28 = (+Math_floor((+$27))); + $29 = (~~(($28))); + $30 = ($29|0)>($0|0); + if ($30) { + ___assert_fail((17709|0),(17088|0),818,(17694|0)); // unreachable; } else { return ($$|0); } return (0)|0; } -function _point_compare($p,$q) { - $p = $p|0; - $q = $q|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _point_compare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP16[$p>>1]|0; - $1 = HEAP16[$q>>1]|0; - $2 = ($0&65535)<($1&65535); - $3 = ($0&65535)>($1&65535); - $4 = $3&1; - $5 = $2 ? -1 : $4; - return ($5|0); + $2 = HEAP16[$0>>1]|0; + $3 = HEAP16[$1>>1]|0; + $4 = ($2&65535)<($3&65535); + $5 = ($2&65535)>($3&65535); + $6 = $5&1; + $7 = $4 ? -1 : $6; + return ($7|0); } -function _neighbors($x,$n,$plow,$phigh) { - $x = $x|0; - $n = $n|0; - $plow = $plow|0; - $phigh = $phigh|0; - var $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, $9 = 0, $exitcond = 0; - var $high$02 = 0, $high$1 = 0, $i$03 = 0, $low$01 = 0, $low$1 = 0, label = 0, sp = 0; +function _neighbors($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$02933 = 0, $$03032 = 0, $$034 = 0, $$1 = 0, $$131 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0; + var sp = 0; sp = STACKTOP; - $0 = ($n|0)>(0); - if (!($0)) { - return; - } - $1 = (($x) + ($n<<1)|0); - $2 = (($x) + ($n<<1)|0); - $high$02 = 65536;$i$03 = 0;$low$01 = -1; - while(1) { - $3 = (($x) + ($i$03<<1)|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = ($5|0)>($low$01|0); - if ($6) { - $7 = HEAP16[$1>>1]|0; - $8 = ($4&65535)<($7&65535); - if ($8) { - HEAP32[$plow>>2] = $i$03; - $9 = HEAP16[$3>>1]|0; - $10 = $9&65535; - $low$1 = $10; - } else { - $low$1 = $low$01; - } - } else { - $low$1 = $low$01; - } - $11 = HEAP16[$3>>1]|0; - $12 = $11&65535; - $13 = ($12|0)<($high$02|0); - if ($13) { - $14 = HEAP16[$2>>1]|0; - $15 = ($11&65535)>($14&65535); - if ($15) { - HEAP32[$phigh>>2] = $i$03; - $16 = HEAP16[$3>>1]|0; - $17 = $16&65535; - $high$1 = $17; - } else { - $high$1 = $high$02; - } - } else { - $high$1 = $high$02; - } - $18 = (($i$03) + 1)|0; - $exitcond = ($18|0)==($n|0); - if ($exitcond) { - break; - } else { - $high$02 = $high$1;$i$03 = $18;$low$01 = $low$1; - } - } - return; -} -function _init_blocksize($f,$b,$n) { - $f = $f|0; - $b = $b|0; - $n = $n|0; - 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $n & -4; - $2 = $n >> 3; - $3 = $0 << 2; - $4 = (_setup_malloc($f,$3)|0); - $5 = (((($f)) + 1068|0) + ($b<<2)|0); - HEAP32[$5>>2] = $4; - $6 = (_setup_malloc($f,$3)|0); - $7 = (((($f)) + 1076|0) + ($b<<2)|0); - HEAP32[$7>>2] = $6; - $8 = (_setup_malloc($f,$1)|0); - $9 = (((($f)) + 1084|0) + ($b<<2)|0); - HEAP32[$9>>2] = $8; - $10 = HEAP32[$5>>2]|0; - $11 = ($10|0)==(0|0); - if (!($11)) { - $12 = HEAP32[$7>>2]|0; - $13 = ($12|0)==(0|0); - $14 = ($8|0)==(0|0); - $or$cond = $14 | $13; - if (!($or$cond)) { - _compute_twiddle_factors($n,$10,$12,$8); - $15 = (_setup_malloc($f,$3)|0); - $16 = (((($f)) + 1092|0) + ($b<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - if ($17) { - _error($f,3); - $$0 = 0; - return ($$0|0); - } - _compute_window($n,$15); - $18 = $2 << 1; - $19 = (_setup_malloc($f,$18)|0); - $20 = (((($f)) + 1100|0) + ($b<<2)|0); - HEAP32[$20>>2] = $19; - $21 = ($19|0)==(0|0); - if ($21) { - _error($f,3); - $$0 = 0; - return ($$0|0); - } else { - _compute_bitreverse($n,$19); - $$0 = 1; - return ($$0|0); - } - } - } - _error($f,3); - $$0 = 0; - return ($$0|0); -} -function _compute_twiddle_factors($n,$A,$B,$C) { - $n = $n|0; - $A = $A|0; - $B = $B|0; - $C = $C|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $exitcond7 = 0, $k$03 = 0, $k$11 = 0, $k2$04 = 0, $k2$12 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 2; - $1 = $n >> 3; - $2 = ($0|0)>(0); - if ($2) { - $3 = (+($n|0)); - $k$03 = 0;$k2$04 = 0; - while(1) { - $6 = $k$03 << 2; - $7 = (+($6|0)); - $8 = $7 * 3.1415926535897931; - $9 = $8 / $3; - $10 = (+Math_cos((+$9))); - $11 = $10; - $12 = (($A) + ($k2$04<<2)|0); - HEAPF32[$12>>2] = $11; - $13 = (+Math_sin((+$9))); - $14 = $13; - $15 = -$14; - $16 = $k2$04 | 1; - $17 = (($A) + ($16<<2)|0); - HEAPF32[$17>>2] = $15; - $18 = (+($16|0)); - $19 = $18 * 3.1415926535897931; - $20 = $19 / $3; - $21 = $20 * 0.5; - $22 = (+Math_cos((+$21))); - $23 = $22; - $24 = $23 * 0.5; - $25 = (($B) + ($k2$04<<2)|0); - HEAPF32[$25>>2] = $24; - $26 = (+Math_sin((+$21))); - $27 = $26; - $28 = $27 * 0.5; - $29 = (($B) + ($16<<2)|0); - HEAPF32[$29>>2] = $28; - $30 = (($k$03) + 1)|0; - $31 = (($k2$04) + 2)|0; - $exitcond7 = ($30|0)==($0|0); - if ($exitcond7) { - break; - } else { - $k$03 = $30;$k2$04 = $31; - } - } - } $4 = ($1|0)>(0); if (!($4)) { return; } - $5 = (+($n|0)); - $k$11 = 0;$k2$12 = 0; + $5 = (($0) + ($1<<1)|0); + $6 = (($0) + ($1<<1)|0); + $$02933 = 65536;$$03032 = -1;$$034 = 0; while(1) { - $32 = $k2$12 | 1; - $33 = $32 << 1; - $34 = (+($33|0)); - $35 = $34 * 3.1415926535897931; - $36 = $35 / $5; - $37 = (+Math_cos((+$36))); - $38 = $37; - $39 = (($C) + ($k2$12<<2)|0); - HEAPF32[$39>>2] = $38; - $40 = (+Math_sin((+$36))); - $41 = $40; - $42 = -$41; - $43 = (($C) + ($32<<2)|0); - HEAPF32[$43>>2] = $42; - $44 = (($k$11) + 1)|0; - $45 = (($k2$12) + 2)|0; - $exitcond = ($44|0)==($1|0); + $7 = (($0) + ($$034<<1)|0); + $8 = HEAP16[$7>>1]|0; + $9 = $8&65535; + $10 = ($9|0)>($$03032|0); + if ($10) { + $11 = HEAP16[$5>>1]|0; + $12 = ($8&65535)<($11&65535); + if ($12) { + HEAP32[$2>>2] = $$034; + $$131 = $9; + } else { + $$131 = $$03032; + } + } else { + $$131 = $$03032; + } + $13 = ($9|0)<($$02933|0); + if ($13) { + $14 = HEAP16[$6>>1]|0; + $15 = ($8&65535)>($14&65535); + if ($15) { + HEAP32[$3>>2] = $$034; + $$1 = $9; + } else { + $$1 = $$02933; + } + } else { + $$1 = $$02933; + } + $16 = (($$034) + 1)|0; + $exitcond = ($16|0)==($1|0); if ($exitcond) { break; } else { - $k$11 = $44;$k2$12 = $45; + $$02933 = $$1;$$03032 = $$131;$$034 = $16; } } return; } -function _compute_window($n,$window) { - $n = $n|0; - $window = $window|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $i$01 = 0, label = 0; +function _init_blocksize($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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 >>> 1; + $4 = $2 & -4; + $5 = $2 >> 3; + $6 = $3 << 2; + $7 = (_setup_malloc($0,$6)|0); + $8 = (((($0)) + 1068|0) + ($1<<2)|0); + HEAP32[$8>>2] = $7; + $9 = (_setup_malloc($0,$6)|0); + $10 = (((($0)) + 1076|0) + ($1<<2)|0); + HEAP32[$10>>2] = $9; + $11 = (_setup_malloc($0,$4)|0); + $12 = (((($0)) + 1084|0) + ($1<<2)|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$8>>2]|0; + $14 = ($13|0)==(0|0); + if (!($14)) { + $15 = HEAP32[$10>>2]|0; + $16 = ($15|0)==(0|0); + $17 = ($11|0)==(0|0); + $or$cond = $17 | $16; + if (!($or$cond)) { + _compute_twiddle_factors($2,$13,$15,$11); + $18 = (_setup_malloc($0,$6)|0); + $19 = (((($0)) + 1092|0) + ($1<<2)|0); + HEAP32[$19>>2] = $18; + $20 = ($18|0)==(0|0); + if ($20) { + _error($0,3); + $$0 = 0; + return ($$0|0); + } + _compute_window($2,$18); + $21 = $5 << 1; + $22 = (_setup_malloc($0,$21)|0); + $23 = (((($0)) + 1100|0) + ($1<<2)|0); + HEAP32[$23>>2] = $22; + $24 = ($22|0)==(0|0); + if ($24) { + _error($0,3); + $$0 = 0; + return ($$0|0); + } else { + _compute_bitreverse($2,$22); + $$0 = 1; + return ($$0|0); + } + } + } + _error($0,3); + $$0 = 0; + return ($$0|0); +} +function _compute_twiddle_factors($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$04044 = 0, $$045 = 0, $$14142 = 0, $$143 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0; + var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0; + var $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $exitcond = 0, $exitcond48 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $0 >> 2; + $5 = $0 >> 3; + $6 = ($4|0)>(0); + if ($6) { + $7 = (+($0|0)); + $$04044 = 0;$$045 = 0; + while(1) { + $10 = $$04044 << 2; + $11 = (+($10|0)); + $12 = $11 * 3.1415926535897931; + $13 = $12 / $7; + $14 = (+Math_cos((+$13))); + $15 = $14; + $16 = (($1) + ($$045<<2)|0); + HEAPF32[$16>>2] = $15; + $17 = (+Math_sin((+$13))); + $18 = $17; + $19 = -$18; + $20 = $$045 | 1; + $21 = (($1) + ($20<<2)|0); + HEAPF32[$21>>2] = $19; + $22 = (+($20|0)); + $23 = $22 * 3.1415926535897931; + $24 = $23 / $7; + $25 = $24 * 0.5; + $26 = (+Math_cos((+$25))); + $27 = $26; + $28 = $27 * 0.5; + $29 = (($2) + ($$045<<2)|0); + HEAPF32[$29>>2] = $28; + $30 = (+Math_sin((+$25))); + $31 = $30; + $32 = $31 * 0.5; + $33 = (($2) + ($20<<2)|0); + HEAPF32[$33>>2] = $32; + $34 = (($$04044) + 1)|0; + $35 = (($$045) + 2)|0; + $exitcond48 = ($34|0)==($4|0); + if ($exitcond48) { + break; + } else { + $$04044 = $34;$$045 = $35; + } + } + } + $8 = ($5|0)>(0); + if (!($8)) { + return; + } + $9 = (+($0|0)); + $$14142 = 0;$$143 = 0; + while(1) { + $36 = $$143 | 1; + $37 = $36 << 1; + $38 = (+($37|0)); + $39 = $38 * 3.1415926535897931; + $40 = $39 / $9; + $41 = (+Math_cos((+$40))); + $42 = $41; + $43 = (($3) + ($$143<<2)|0); + HEAPF32[$43>>2] = $42; + $44 = (+Math_sin((+$40))); + $45 = $44; + $46 = -$45; + $47 = (($3) + ($36<<2)|0); + HEAPF32[$47>>2] = $46; + $48 = (($$14142) + 1)|0; + $49 = (($$143) + 2)|0; + $exitcond = ($48|0)==($5|0); + if ($exitcond) { + break; + } else { + $$14142 = $48;$$143 = $49; + } + } + return; +} +function _compute_window($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$010 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $exitcond = 0, label = 0; var sp = 0; sp = STACKTOP; - $0 = $n >> 1; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = (+($0|0)); - $i$01 = 0; - while(1) { - $3 = (+($i$01|0)); - $4 = $3 + 0.5; - $5 = $4 / $2; - $6 = $5 * 0.5; - $7 = $6 * 3.1415926535897931; - $8 = (+Math_sin((+$7))); - $9 = $8; - $10 = (+_square($9)); - $11 = $10; - $12 = $11 * 1.5707963267948966; - $13 = (+Math_sin((+$12))); - $14 = $13; - $15 = (($window) + ($i$01<<2)|0); - HEAPF32[$15>>2] = $14; - $16 = (($i$01) + 1)|0; - $exitcond = ($16|0)==($0|0); - if ($exitcond) { - break; - } else { - $i$01 = $16; - } - } - return; -} -function _compute_bitreverse($n,$rev) { - $n = $n|0; - $rev = $rev|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 3; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = (_ilog($n)|0); - $3 = (36 - ($2))|0; - $i$01 = 0; - while(1) { - $4 = (_bit_reverse($i$01)|0); - $5 = $4 >>> $3; - $6 = $5 << 2; - $7 = $6&65535; - $8 = (($rev) + ($i$01<<1)|0); - HEAP16[$8>>1] = $7; - $9 = (($i$01) + 1)|0; - $exitcond = ($9|0)==($0|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - return; -} -function _bit_reverse($n) { - $n = $n|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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $0 & 1431655765; - $2 = $n << 1; - $3 = $2 & -1431655766; - $4 = $1 | $3; - $5 = $4 >>> 2; - $6 = $5 & 858993459; - $7 = $4 << 2; - $8 = $7 & -858993460; - $9 = $6 | $8; - $10 = $9 >>> 4; - $11 = $10 & 252645135; - $12 = $9 << 4; - $13 = $12 & -252645136; - $14 = $11 | $13; - $15 = $14 >>> 8; - $16 = $15 & 16711935; - $17 = $14 << 8; - $18 = $17 & -16711936; - $19 = $16 | $18; - $20 = $19 >>> 16; - $21 = $19 << 16; - $22 = $20 | $21; - return ($22|0); -} -function _square($x) { - $x = +$x; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $x * $x; - return (+$0); -} -function _include_in_sort($c,$len) { - $c = $c|0; - $len = $len|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ($len<<24>>24)==(-1); - if (!($2)) { - if ($3) { - ___assert_fail((20123|0),(17015|0),736,(20138|0)); - // unreachable; - } else { - $$0 = 1; - return ($$0|0); - } - } - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = ($len&255)>(10); - $$ = $4&1; - $$0 = $$; - return ($$0|0); -} -function _uint32_compare($p,$q) { - $p = $p|0; - $q = $q|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$p>>2]|0; - $1 = HEAP32[$q>>2]|0; - $2 = ($0>>>0)<($1>>>0); - $3 = ($0>>>0)>($1>>>0); - $4 = $3&1; - $5 = $2 ? -1 : $4; - return ($5|0); -} -function _add_entry($c,$huff_code,$symbol,$count,$len,$values) { - $c = $c|0; - $huff_code = $huff_code|0; - $symbol = $symbol|0; - $count = $count|0; - $len = $len|0; - $values = $values|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; - $0 = ((($c)) + 23|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - $3 = ((($c)) + 32|0); - $4 = HEAP32[$3>>2]|0; - if ($2) { - $5 = (($4) + ($symbol<<2)|0); - HEAP32[$5>>2] = $huff_code; - return; - } else { - $6 = (($4) + ($count<<2)|0); - HEAP32[$6>>2] = $huff_code; - $7 = $len&255; - $8 = ((($c)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + ($count)|0); - HEAP8[$10>>0] = $7; - $11 = (($values) + ($count<<2)|0); - HEAP32[$11>>2] = $symbol; - return; - } -} -function _get_window($f,$len) { - $f = $f|0; - $len = $len|0; - var $$0 = 0, $$0$in = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $len << 1; - $1 = ((($f)) + 112|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($0|0)==($2|0); - if ($3) { - $4 = ((($f)) + 1092|0); - $$0$in = $4; - $$0 = HEAP32[$$0$in>>2]|0; - return ($$0|0); - } - $5 = ((($f)) + 116|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($0|0)==($6|0); - if (!($7)) { - ___assert_fail((23184|0),(17015|0),2725,(20263|0)); - // unreachable; - } - $8 = ((($f)) + 1096|0); - $$0$in = $8; - $$0 = HEAP32[$$0$in>>2]|0; - return ($$0|0); -} -function _vorbis_decode_packet_rest($f,$len,$m,$left_start,$right_start,$right_end,$p_left) { - $f = $f|0; - $len = $len|0; - $m = $m|0; - $left_start = $left_start|0; - $right_start = $right_start|0; - $right_end = $right_end|0; - $p_left = $p_left|0; - var $$ = 0, $$0 = 0, $$01 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $$lcssa = 0, $0 = 0, $1 = 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 $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, $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, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0; - var $307 = 0.0, $308 = 0, $309 = 0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0.0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; - var $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, $342 = 0; - var $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, $360 = 0; - var $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, $379 = 0; - var $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, $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, $a2$0 = 0.0, $ch$0$lcssa = 0, $ch$023 = 0, $ch$1 = 0, $cval$0 = 0, $cval$2$ph = 0, $cval$236 = 0, $do_not_decode = 0, $exitcond = 0, $exitcond58 = 0, $i$053 = 0, $i$131 = 0, $i$228 = 0, $i$320 = 0, $i$320$in = 0, $i$414 = 0; - var $i$513 = 0, $j$043 = 0, $j$147 = 0, $j$251 = 0, $j$324 = 0, $j$416 = 0, $k$038 = 0, $m2$0 = 0.0, $offset$042 = 0, $offset$1$lcssa = 0, $offset$137 = 0, $offset$2 = 0, $really_zero_channel = 0, $right_end$ = 0, $room$0 = 0, $step2_flag = 0, $storemerge = 0, $temp$0 = 0, $temp$1 = 0, $zero_channel = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2560|0; - $zero_channel = sp + 1280|0; - $really_zero_channel = sp + 256|0; - $step2_flag = sp; - $do_not_decode = sp + 2304|0; - $0 = HEAP8[$m>>0]|0; - $1 = $0&255; - $2 = (((($f)) + 104|0) + ($1<<2)|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($m)) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = ((($f)) + 404|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + (($6*40)|0)|0); - $10 = $3 >> 1; - $11 = (0 - ($10))|0; - $12 = ((($f)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>(0); - L1: do { - if ($14) { - $15 = (((($8) + (($6*40)|0)|0)) + 4|0); - $16 = ((($f)) + 260|0); - $17 = ((($f)) + 1396|0); - $18 = ((($step2_flag)) + 1|0); - $19 = ((($f)) + 124|0); - $20 = ((($f)) + 1396|0); - $21 = ((($f)) + 1392|0); - $22 = ((($f)) + 124|0); - $23 = ((($f)) + 1396|0); - $24 = ((($f)) + 1392|0); - $i$053 = 0; - while(1) { - $25 = HEAP32[$15>>2]|0; - $26 = (((($25) + (($i$053*3)|0)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = (($zero_channel) + ($i$053<<2)|0); - HEAP32[$29>>2] = 0; - $30 = ((((($8) + (($6*40)|0)|0)) + 9|0) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = (((($f)) + 132|0) + ($32<<1)|0); - $34 = HEAP16[$33>>1]|0; - $35 = ($34<<16>>16)==(0); - if ($35) { - break; - } - $36 = HEAP32[$16>>2]|0; - $37 = (_get_bits($f,1)|0); - $38 = ($37|0)==(0); - do { - if ($38) { - label = 50; - } else { - $39 = (((($36) + (($32*1596)|0)|0)) + 1588|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = (($41) + -1)|0; - $43 = (9244 + ($42<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = (((($f)) + 996|0) + ($i$053<<2)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (_ilog($44)|0); - $48 = (($47) + -1)|0; - $49 = (_get_bits($f,$48)|0); - $50 = $49&65535; - HEAP16[$46>>1] = $50; - $51 = (_get_bits($f,$48)|0); - $52 = $51&65535; - $53 = ((($46)) + 2|0); - HEAP16[$53>>1] = $52; - $54 = (($36) + (($32*1596)|0)|0); - $55 = HEAP8[$54>>0]|0; - $56 = ($55<<24>>24)==(0); - if (!($56)) { - $j$043 = 0;$offset$042 = 2; - while(1) { - $57 = ((((($36) + (($32*1596)|0)|0)) + 1|0) + ($j$043)|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = ((((($36) + (($32*1596)|0)|0)) + 33|0) + ($59)|0); - $61 = HEAP8[$60>>0]|0; - $62 = ((((($36) + (($32*1596)|0)|0)) + 49|0) + ($59)|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = 1 << $64; - $66 = (($65) + -1)|0; - $67 = ($63<<24>>24)==(0); - if ($67) { - $cval$2$ph = 0; - } else { - $68 = HEAP32[$19>>2]|0; - $69 = ((((($36) + (($32*1596)|0)|0)) + 65|0) + ($59)|0); - $70 = HEAP8[$69>>0]|0; - $71 = $70&255; - $72 = (($68) + (($71*2096)|0)|0); - $73 = HEAP32[$20>>2]|0; - $74 = ($73|0)<(10); - if ($74) { - _prep_huffman($f); - } - $75 = HEAP32[$21>>2]|0; - $76 = $75 & 1023; - $77 = ((((($68) + (($71*2096)|0)|0)) + 36|0) + ($76<<1)|0); - $78 = HEAP16[$77>>1]|0; - $79 = $78 << 16 >> 16; - $80 = ($78<<16>>16)>(-1); - if ($80) { - $81 = (((($68) + (($71*2096)|0)|0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = (($82) + ($79)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = $75 >>> $85; - HEAP32[$21>>2] = $86; - $87 = HEAP32[$20>>2]|0; - $88 = (($87) - ($85))|0; - $89 = ($88|0)<(0); - $$ = $89 ? 0 : $88; - HEAP32[$20>>2] = $$; - $$2 = $89 ? -1 : $79; - $cval$0 = $$2; - } else { - $90 = (_codebook_decode_scalar_raw($f,$72)|0); - $cval$0 = $90; - } - $91 = (((($68) + (($71*2096)|0)|0)) + 23|0); - $92 = HEAP8[$91>>0]|0; - $93 = ($92<<24>>24)==(0); - if ($93) { - $cval$2$ph = $cval$0; - } else { - $94 = (((($68) + (($71*2096)|0)|0)) + 2088|0); - $95 = HEAP32[$94>>2]|0; - $96 = (($95) + ($cval$0<<2)|0); - $97 = HEAP32[$96>>2]|0; - $cval$2$ph = $97; - } - } - $98 = ($61<<24>>24)==(0); - if ($98) { - $offset$1$lcssa = $offset$042; - } else { - $99 = $61&255; - $cval$236 = $cval$2$ph;$k$038 = 0;$offset$137 = $offset$042; - while(1) { - $100 = $cval$236 & $66; - $101 = (((((($36) + (($32*1596)|0)|0)) + 82|0) + ($59<<4)|0) + ($100<<1)|0); - $102 = HEAP16[$101>>1]|0; - $103 = $cval$236 >> $64; - $104 = ($102<<16>>16)>(-1); - if ($104) { - $105 = $102 << 16 >> 16; - $106 = HEAP32[$22>>2]|0; - $107 = (($106) + (($105*2096)|0)|0); - $108 = HEAP32[$23>>2]|0; - $109 = ($108|0)<(10); - if ($109) { - _prep_huffman($f); - } - $110 = HEAP32[$24>>2]|0; - $111 = $110 & 1023; - $112 = ((((($106) + (($105*2096)|0)|0)) + 36|0) + ($111<<1)|0); - $113 = HEAP16[$112>>1]|0; - $114 = $113 << 16 >> 16; - $115 = ($113<<16>>16)>(-1); - if ($115) { - $116 = (((($106) + (($105*2096)|0)|0)) + 8|0); - $117 = HEAP32[$116>>2]|0; - $118 = (($117) + ($114)|0); - $119 = HEAP8[$118>>0]|0; - $120 = $119&255; - $121 = $110 >>> $120; - HEAP32[$24>>2] = $121; - $122 = HEAP32[$23>>2]|0; - $123 = (($122) - ($120))|0; - $124 = ($123|0)<(0); - $$3 = $124 ? 0 : $123; - HEAP32[$23>>2] = $$3; - $$4 = $124 ? -1 : $114; - $temp$0 = $$4; - } else { - $125 = (_codebook_decode_scalar_raw($f,$107)|0); - $temp$0 = $125; - } - $126 = (((($106) + (($105*2096)|0)|0)) + 23|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($127<<24>>24)==(0); - if ($128) { - $temp$1 = $temp$0; - } else { - $129 = (((($106) + (($105*2096)|0)|0)) + 2088|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + ($temp$0<<2)|0); - $132 = HEAP32[$131>>2]|0; - $temp$1 = $132; - } - $133 = $temp$1&65535; - $134 = (($46) + ($offset$137<<1)|0); - HEAP16[$134>>1] = $133; - } else { - $135 = (($46) + ($offset$137<<1)|0); - HEAP16[$135>>1] = 0; - } - $offset$2 = (($offset$137) + 1)|0; - $136 = (($k$038) + 1)|0; - $exitcond58 = ($136|0)==($99|0); - if ($exitcond58) { - break; - } else { - $cval$236 = $103;$k$038 = $136;$offset$137 = $offset$2; - } - } - $137 = (($offset$042) + ($99))|0; - $offset$1$lcssa = $137; - } - $138 = (($j$043) + 1)|0; - $139 = HEAP8[$54>>0]|0; - $140 = $139&255; - $141 = ($138|0)<($140|0); - if ($141) { - $j$043 = $138;$offset$042 = $offset$1$lcssa; - } else { - break; - } - } - } - $142 = HEAP32[$17>>2]|0; - $143 = ($142|0)==(-1); - if ($143) { - label = 50; - break; - } - HEAP8[$18>>0] = 1; - HEAP8[$step2_flag>>0] = 1; - $144 = (((($36) + (($32*1596)|0)|0)) + 1592|0); - $145 = HEAP32[$144>>2]|0; - $146 = ($145|0)>(2); - if ($146) { - $147 = (($44) + 65535)|0; - $j$147 = 2; - while(1) { - $151 = ((((($36) + (($32*1596)|0)|0)) + 1088|0) + ($j$147<<1)|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $154 = ((((((($36) + (($32*1596)|0)|0)) + 1088|0) + ($j$147<<1)|0)) + 1|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($j$147<<1)|0); - $158 = HEAP16[$157>>1]|0; - $159 = $158&65535; - $160 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($153<<1)|0); - $161 = HEAP16[$160>>1]|0; - $162 = $161&65535; - $163 = ((((($36) + (($32*1596)|0)|0)) + 338|0) + ($156<<1)|0); - $164 = HEAP16[$163>>1]|0; - $165 = $164&65535; - $166 = (($46) + ($153<<1)|0); - $167 = HEAP16[$166>>1]|0; - $168 = $167 << 16 >> 16; - $169 = (($46) + ($156<<1)|0); - $170 = HEAP16[$169>>1]|0; - $171 = $170 << 16 >> 16; - $172 = (_predict_point($159,$162,$165,$168,$171)|0); - $173 = (($46) + ($j$147<<1)|0); - $174 = HEAP16[$173>>1]|0; - $175 = $174 << 16 >> 16; - $176 = (($44) - ($172))|0; - $177 = ($174<<16>>16)==(0); - do { - if ($177) { - $195 = (($step2_flag) + ($j$147)|0); - HEAP8[$195>>0] = 0; - $196 = $172&65535; - HEAP16[$173>>1] = $196; - } else { - $178 = ($176|0)<($172|0); - $$5 = $178 ? $176 : $172; - $room$0 = $$5 << 1; - $179 = (($step2_flag) + ($156)|0); - HEAP8[$179>>0] = 1; - $180 = (($step2_flag) + ($153)|0); - HEAP8[$180>>0] = 1; - $181 = (($step2_flag) + ($j$147)|0); - HEAP8[$181>>0] = 1; - $182 = ($175|0)<($room$0|0); - if ($182) { - $186 = $175 & 1; - $187 = ($186|0)==(0); - if ($187) { - $192 = $175 >>> 1; - $193 = (($192) + ($172))|0; - $194 = $193&65535; - HEAP16[$173>>1] = $194; - break; - } else { - $188 = (($175) + 1)|0; - $189 = $188 >>> 1; - $190 = (($172) - ($189))|0; - $191 = $190&65535; - HEAP16[$173>>1] = $191; - break; - } - } else { - $183 = ($176|0)>($172|0); - if ($183) { - HEAP16[$173>>1] = $174; - break; - } else { - $184 = (($147) - ($175))|0; - $185 = $184&65535; - HEAP16[$173>>1] = $185; - break; - } - } - } - } while(0); - $197 = (($j$147) + 1)|0; - $198 = HEAP32[$144>>2]|0; - $199 = ($197|0)<($198|0); - if ($199) { - $j$147 = $197; - } else { - $148 = $198; - break; - } - } - } else { - $148 = $145; - } - $149 = ($148|0)>(0); - if ($149) { - $150 = HEAP32[$144>>2]|0; - $j$251 = 0; - while(1) { - $200 = (($step2_flag) + ($j$251)|0); - $201 = HEAP8[$200>>0]|0; - $202 = ($201<<24>>24)==(0); - if ($202) { - $203 = (($46) + ($j$251<<1)|0); - HEAP16[$203>>1] = -1; - } - $204 = (($j$251) + 1)|0; - $205 = ($204|0)<($150|0); - if ($205) { - $j$251 = $204; - } else { - break; - } - } - } - } - } while(0); - if ((label|0) == 50) { - label = 0; - HEAP32[$29>>2] = 1; - } - $206 = (($i$053) + 1)|0; - $207 = HEAP32[$12>>2]|0; - $208 = ($206|0)<($207|0); - if ($208) { - $i$053 = $206; - } else { - break L1; - } - } - _error($f,21); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - $209 = ((($f)) + 80|0); - $210 = HEAP32[$209>>2]|0; - $211 = ($210|0)==(0|0); - if (!($211)) { - $212 = ((($f)) + 84|0); - $213 = HEAP32[$212>>2]|0; - $214 = ((($f)) + 92|0); - $215 = HEAP32[$214>>2]|0; - $216 = ($213|0)==($215|0); - if (!($216)) { - ___assert_fail((19807|0),(17015|0),2953,(20274|0)); - // unreachable; - } - } - $217 = HEAP32[$12>>2]|0; - $218 = $217 << 2; - _memcpy(($really_zero_channel|0),($zero_channel|0),($218|0))|0; - $219 = HEAP16[$9>>1]|0; - $220 = ($219<<16>>16)==(0); - if (!($220)) { - $221 = (((($8) + (($6*40)|0)|0)) + 4|0); - $222 = HEAP32[$221>>2]|0; - $223 = HEAP16[$9>>1]|0; - $224 = $223&65535; - $i$131 = 0; - while(1) { - $229 = (($222) + (($i$131*3)|0)|0); - $230 = HEAP8[$229>>0]|0; - $231 = $230&255; - $232 = (($zero_channel) + ($231<<2)|0); - $233 = HEAP32[$232>>2]|0; - $234 = ($233|0)==(0); - if ($234) { - label = 61; - } else { - $235 = (((($222) + (($i$131*3)|0)|0)) + 1|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = (($zero_channel) + ($237<<2)|0); - $239 = HEAP32[$238>>2]|0; - $240 = ($239|0)==(0); - if ($240) { - label = 61; - } - } - if ((label|0) == 61) { - label = 0; - $241 = HEAP32[$221>>2]|0; - $242 = (((($241) + (($i$131*3)|0)|0)) + 1|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = (($zero_channel) + ($244<<2)|0); - HEAP32[$245>>2] = 0; - $246 = HEAP32[$221>>2]|0; - $247 = (($246) + (($i$131*3)|0)|0); - $248 = HEAP8[$247>>0]|0; - $249 = $248&255; - $250 = (($zero_channel) + ($249<<2)|0); - HEAP32[$250>>2] = 0; - } - $251 = (($i$131) + 1)|0; - $252 = ($251|0)<($224|0); - if ($252) { - $i$131 = $251; - } else { - break; - } - } - } - $225 = (((($8) + (($6*40)|0)|0)) + 8|0); - $226 = HEAP8[$225>>0]|0; - $227 = ($226<<24>>24)==(0); - if (!($227)) { - $228 = (((($8) + (($6*40)|0)|0)) + 4|0); - $i$228 = 0; - while(1) { - $253 = HEAP32[$12>>2]|0; - $254 = ($253|0)>(0); - if ($254) { - $255 = HEAP32[$228>>2]|0; - $256 = HEAP32[$12>>2]|0; - $ch$023 = 0;$j$324 = 0; - while(1) { - $257 = (((($255) + (($j$324*3)|0)|0)) + 2|0); - $258 = HEAP8[$257>>0]|0; - $259 = $258&255; - $260 = ($259|0)==($i$228|0); - if ($260) { - $261 = (($zero_channel) + ($j$324<<2)|0); - $262 = HEAP32[$261>>2]|0; - $263 = ($262|0)==(0); - $264 = (($do_not_decode) + ($ch$023)|0); - if ($263) { - HEAP8[$264>>0] = 0; - $266 = (((($f)) + 800|0) + ($j$324<<2)|0); - $267 = HEAP32[$266>>2]|0; - $268 = (($step2_flag) + ($ch$023<<2)|0); - HEAP32[$268>>2] = $267; - } else { - HEAP8[$264>>0] = 1; - $265 = (($step2_flag) + ($ch$023<<2)|0); - HEAP32[$265>>2] = 0; - } - $269 = (($ch$023) + 1)|0; - $ch$1 = $269; - } else { - $ch$1 = $ch$023; - } - $270 = (($j$324) + 1)|0; - $271 = ($270|0)<($256|0); - if ($271) { - $ch$023 = $ch$1;$j$324 = $270; - } else { - $ch$0$lcssa = $ch$1; - break; - } - } - } else { - $ch$0$lcssa = 0; - } - $272 = ((((($8) + (($6*40)|0)|0)) + 24|0) + ($i$228)|0); - $273 = HEAP8[$272>>0]|0; - $274 = $273&255; - _decode_residue($f,$step2_flag,$ch$0$lcssa,$10,$274,$do_not_decode); - $275 = (($i$228) + 1)|0; - $276 = HEAP8[$225>>0]|0; - $277 = $276&255; - $278 = ($275|0)<($277|0); - if ($278) { - $i$228 = $275; - } else { - break; - } - } - } - $279 = HEAP32[$209>>2]|0; - $280 = ($279|0)==(0|0); - if (!($280)) { - $281 = ((($f)) + 84|0); - $282 = HEAP32[$281>>2]|0; - $283 = ((($f)) + 92|0); - $284 = HEAP32[$283>>2]|0; - $285 = ($282|0)==($284|0); - if (!($285)) { - ___assert_fail((19807|0),(17015|0),2986,(20274|0)); - // unreachable; - } - } - $286 = HEAP16[$9>>1]|0; - $287 = ($286<<16>>16)==(0); - if (!($287)) { - $288 = $286&65535; - $289 = (((($8) + (($6*40)|0)|0)) + 4|0); - $290 = HEAP32[$289>>2]|0; - $291 = ($10|0)>(0); - $i$320$in = $288; - while(1) { - $i$320 = (($i$320$in) + -1)|0; - $296 = (($290) + (($i$320*3)|0)|0); - $297 = HEAP8[$296>>0]|0; - $298 = $297&255; - $299 = (((($f)) + 800|0) + ($298<<2)|0); - $300 = HEAP32[$299>>2]|0; - $301 = (((($290) + (($i$320*3)|0)|0)) + 1|0); - $302 = HEAP8[$301>>0]|0; - $303 = $302&255; - $304 = (((($f)) + 800|0) + ($303<<2)|0); - $305 = HEAP32[$304>>2]|0; - if ($291) { - $j$416 = 0; - while(1) { - $306 = (($300) + ($j$416<<2)|0); - $307 = +HEAPF32[$306>>2]; - $308 = $307 > 0.0; - $309 = (($305) + ($j$416<<2)|0); - $310 = +HEAPF32[$309>>2]; - $311 = $310 > 0.0; - do { - if ($308) { - if ($311) { - $312 = $307 - $310; - $a2$0 = $312;$m2$0 = $307; - break; - } else { - $313 = $307 + $310; - $a2$0 = $307;$m2$0 = $313; - break; - } - } else { - if ($311) { - $314 = $307 + $310; - $a2$0 = $314;$m2$0 = $307; - break; - } else { - $315 = $307 - $310; - $a2$0 = $307;$m2$0 = $315; - break; - } - } - } while(0); - HEAPF32[$306>>2] = $m2$0; - HEAPF32[$309>>2] = $a2$0; - $316 = (($j$416) + 1)|0; - $exitcond = ($316|0)==($10|0); - if ($exitcond) { - break; - } else { - $j$416 = $316; - } - } - } - $292 = ($i$320$in|0)>(1); - if ($292) { - $i$320$in = $i$320; - } else { - break; - } - } - } - $293 = HEAP32[$12>>2]|0; - $294 = ($293|0)>(0); - if ($294) { - $295 = $10 << 2; - $i$414 = 0; - while(1) { - $318 = (($really_zero_channel) + ($i$414<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - $321 = (((($f)) + 800|0) + ($i$414<<2)|0); - if ($320) { - $323 = HEAP32[$321>>2]|0; - $324 = (((($f)) + 996|0) + ($i$414<<2)|0); - $325 = HEAP32[$324>>2]|0; - _do_floor($f,$9,$i$414,$3,$323,$325); - } else { - $322 = HEAP32[$321>>2]|0; - _memset(($322|0),0,($295|0))|0; - } - $326 = (($i$414) + 1)|0; - $327 = HEAP32[$12>>2]|0; - $328 = ($326|0)<($327|0); - if ($328) { - $i$414 = $326; - } else { - $$lcssa = $327; - break; - } - } - $317 = ($$lcssa|0)>(0); - if ($317) { - $i$513 = 0; - while(1) { - $329 = (((($f)) + 800|0) + ($i$513<<2)|0); - $330 = HEAP32[$329>>2]|0; - $331 = HEAP8[$m>>0]|0; - $332 = $331&255; - _inverse_mdct($330,$3,$f,$332); - $333 = (($i$513) + 1)|0; - $334 = HEAP32[$12>>2]|0; - $335 = ($333|0)<($334|0); - if ($335) { - $i$513 = $333; - } else { - break; - } - } - } - } - _flush_packet($f); - $336 = ((($f)) + 1377|0); - $337 = HEAP8[$336>>0]|0; - $338 = ($337<<24>>24)==(0); - do { - if ($338) { - $343 = ((($f)) + 1412|0); - $344 = HEAP32[$343>>2]|0; - $345 = ($344|0)==(0); - if ($345) { - $$01 = $left_start; - } else { - $346 = (($right_start) - ($left_start))|0; - $347 = ($344|0)<($346|0); - if ($347) { - $349 = (($344) + ($left_start))|0; - HEAP32[$p_left>>2] = $349; - HEAP32[$343>>2] = 0; - $$01 = $349; - break; - } else { - $348 = (($344) - ($346))|0; - HEAP32[$343>>2] = $348; - HEAP32[$p_left>>2] = $right_start; - $$01 = $right_start; - break; - } - } - } else { - $339 = ((($f)) + 1060|0); - HEAP32[$339>>2] = $11; - $340 = (($3) - ($right_end))|0; - $341 = ((($f)) + 1412|0); - HEAP32[$341>>2] = $340; - $342 = ((($f)) + 1064|0); - HEAP32[$342>>2] = 1; - HEAP8[$336>>0] = 0; - $$01 = $left_start; - } - } while(0); - $350 = ((($f)) + 1388|0); - $351 = HEAP32[$350>>2]|0; - $352 = ((($f)) + 1404|0); - $353 = HEAP32[$352>>2]|0; - $354 = ($351|0)==($353|0); - if ($354) { - $355 = ((($f)) + 1064|0); - $356 = HEAP32[$355>>2]|0; - $357 = ($356|0)==(0); - if (!($357)) { - $358 = ((($f)) + 1375|0); - $359 = HEAP8[$358>>0]|0; - $360 = $359 & 4; - $361 = ($360<<24>>24)==(0); - if (!($361)) { - $362 = ((($f)) + 1408|0); - $363 = HEAP32[$362>>2]|0; - $364 = (($right_end) - ($3))|0; - $365 = (($363) + ($364))|0; - $366 = ((($f)) + 1060|0); - $367 = HEAP32[$366>>2]|0; - $368 = (($right_end) - ($$01))|0; - $369 = (($368) + ($367))|0; - $370 = ($365>>>0)<($369>>>0); - if ($370) { - $371 = ($365>>>0)<($367>>>0); - $372 = (($365) - ($367))|0; - $storemerge = $371 ? 0 : $372; - $373 = (($storemerge) + ($$01))|0; - $374 = ($373|0)>($right_end|0); - $right_end$ = $374 ? $right_end : $373; - HEAP32[$len>>2] = $right_end$; - $375 = HEAP32[$366>>2]|0; - $376 = (($375) + ($right_end$))|0; - HEAP32[$366>>2] = $376; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - } - } - $377 = ((($f)) + 1408|0); - $378 = HEAP32[$377>>2]|0; - $379 = (($$01) - ($10))|0; - $380 = (($379) + ($378))|0; - $381 = ((($f)) + 1060|0); - HEAP32[$381>>2] = $380; - HEAP32[$355>>2] = 1; - } - $382 = ((($f)) + 1064|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($383|0)==(0); - if (!($384)) { - $385 = (($right_start) - ($$01))|0; - $386 = ((($f)) + 1060|0); - $387 = HEAP32[$386>>2]|0; - $388 = (($385) + ($387))|0; - HEAP32[$386>>2] = $388; - } - $389 = HEAP32[$209>>2]|0; - $390 = ($389|0)==(0|0); - if (!($390)) { - $391 = ((($f)) + 84|0); - $392 = HEAP32[$391>>2]|0; - $393 = ((($f)) + 92|0); - $394 = HEAP32[$393>>2]|0; - $395 = ($392|0)==($394|0); - if (!($395)) { - ___assert_fail((19807|0),(17015|0),3102,(20274|0)); - // unreachable; - } - } - HEAP32[$len>>2] = $right_end; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _prep_huffman($f) { - $f = $f|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; - $0 = ((($f)) + 1396|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(25); - if (!($2)) { - return; - } - $3 = ($1|0)==(0); - if ($3) { - $4 = ((($f)) + 1392|0); - HEAP32[$4>>2] = 0; - } - $5 = ((($f)) + 1376|0); - $6 = ((($f)) + 1384|0); - $7 = ((($f)) + 1392|0); - while(1) { - $8 = HEAP32[$6>>2]|0; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = HEAP8[$5>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - label = 9; - break; - } - } - $12 = (_get8_packet_raw($f)|0); - $13 = ($12|0)==(-1); - if ($13) { - label = 9; - break; - } - $14 = HEAP32[$0>>2]|0; - $15 = $12 << $14; - $16 = HEAP32[$7>>2]|0; - $17 = (($16) + ($15))|0; - HEAP32[$7>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = (($18) + 8)|0; - HEAP32[$0>>2] = $19; - $20 = ($19|0)<(25); - if (!($20)) { - label = 9; - break; - } - } - if ((label|0) == 9) { - return; - } -} -function _codebook_decode_scalar_raw($f,$c) { - $f = $f|0; - $c = $c|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa25 = 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; - 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, $9 = 0, $i$05 = 0, $i$05$lcssa = 0, $n$07 = 0, $x$0$ = 0, $x$0$lcssa = 0, $x$06 = 0, $x$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - _prep_huffman($f); - $0 = ((($c)) + 32|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = ((($c)) + 2084|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - $$0 = -1; - return ($$0|0); - } - } - $6 = ((($c)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)>(8); - if ($8) { - $9 = ((($c)) + 2084|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - if (!($11)) { - label = 6; - } - } else { - $12 = HEAP32[$0>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - label = 6; - } - } - if ((label|0) == 6) { - $14 = ((($f)) + 1392|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_bit_reverse($15)|0); - $17 = ((($c)) + 2092|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)>(1); - if ($19) { - $20 = ((($c)) + 2084|0); - $21 = HEAP32[$20>>2]|0; - $n$07 = $18;$x$06 = 0; - while(1) { - $22 = $n$07 >> 1; - $23 = (($22) + ($x$06))|0; - $24 = (($21) + ($23<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25>>>0)>($16>>>0); - $27 = (($n$07) - ($22))|0; - $x$0$ = $26 ? $x$06 : $23; - $$ = $26 ? $22 : $27; - $28 = ($$|0)>(1); - if ($28) { - $n$07 = $$;$x$06 = $x$0$; - } else { - $x$0$lcssa = $x$0$; - break; - } - } - } else { - $x$0$lcssa = 0; - } - $29 = ((($c)) + 23|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(0); - if ($31) { - $32 = ((($c)) + 2088|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + ($x$0$lcssa<<2)|0); - $35 = HEAP32[$34>>2]|0; - $x$1 = $35; - } else { - $x$1 = $x$0$lcssa; - } - $36 = ((($c)) + 8|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($37) + ($x$1)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = ((($f)) + 1396|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)<($40|0); - if ($43) { - HEAP32[$41>>2] = 0; - $$0 = -1; - return ($$0|0); - } else { - $44 = HEAP32[$14>>2]|0; - $45 = $44 >>> $40; - HEAP32[$14>>2] = $45; - $46 = HEAP32[$41>>2]|0; - $47 = (($46) - ($40))|0; - HEAP32[$41>>2] = $47; - $$0 = $x$1; - return ($$0|0); - } - } - $48 = ((($c)) + 23|0); - $49 = HEAP8[$48>>0]|0; - $50 = ($49<<24>>24)==(0); - if (!($50)) { - ___assert_fail((20452|0),(17015|0),1248,(20463|0)); - // unreachable; - } - $51 = HEAP32[$6>>2]|0; - $52 = ($51|0)>(0); - L27: do { - if ($52) { - $53 = ((($c)) + 8|0); - $54 = HEAP32[$53>>2]|0; - $55 = ((($f)) + 1392|0); - $i$05 = 0; - while(1) { - $56 = (($54) + ($i$05)|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = ($57<<24>>24)==(-1); - if (!($59)) { - $60 = HEAP32[$0>>2]|0; - $61 = (($60) + ($i$05<<2)|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$55>>2]|0; - $64 = 1 << $58; - $65 = (($64) + -1)|0; - $66 = $63 & $65; - $67 = ($62|0)==($66|0); - if ($67) { - $$lcssa = $58;$$lcssa25 = $63;$i$05$lcssa = $i$05; - break; - } - } - $78 = (($i$05) + 1)|0; - $79 = HEAP32[$6>>2]|0; - $80 = ($78|0)<($79|0); - if ($80) { - $i$05 = $78; - } else { - break L27; - } - } - $68 = ((($f)) + 1396|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)<($$lcssa|0); - if ($70) { - HEAP32[$68>>2] = 0; - $$0 = -1; - return ($$0|0); - } else { - $71 = $$lcssa25 >>> $$lcssa; - HEAP32[$55>>2] = $71; - $72 = HEAP32[$53>>2]|0; - $73 = (($72) + ($i$05$lcssa)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = HEAP32[$68>>2]|0; - $77 = (($76) - ($75))|0; - HEAP32[$68>>2] = $77; - $$0 = $i$05$lcssa; - return ($$0|0); - } - } - } while(0); - _error($f,21); - $81 = ((($f)) + 1396|0); - HEAP32[$81>>2] = 0; - $$0 = -1; - return ($$0|0); -} -function _predict_point($x,$x0,$x1,$y0,$y1) { - $x = $x|0; - $x0 = $x0|0; - $x1 = $x1|0; - $y0 = $y0|0; - $y1 = $y1|0; - var $$p = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($y1) - ($y0))|0; - $1 = (($x1) - ($x0))|0; - $ispos = ($0|0)>(-1); - $neg = (0 - ($0))|0; - $2 = $ispos ? $0 : $neg; - $3 = (($x) - ($x0))|0; - $4 = Math_imul($2, $3)|0; - $5 = (($4|0) / ($1|0))&-1; - $6 = ($0|0)<(0); - $7 = (0 - ($5))|0; - $$p = $6 ? $7 : $5; - $8 = (($$p) + ($y0))|0; - return ($8|0); -} -function _decode_residue($f,$residue_buffers,$ch,$n,$rn,$do_not_decode) { - $f = $f|0; - $residue_buffers = $residue_buffers|0; - $ch = $ch|0; - $n = $n|0; - $rn = $rn|0; - $do_not_decode = $do_not_decode|0; - var $$ = 0, $$10 = 0, $$11 = 0, $$13 = 0, $$14 = 0, $$5 = 0, $$7 = 0, $$8 = 0, $$alloca_mul = 0, $$not = 0, $$not115 = 0, $0 = 0, $1 = 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, $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; - 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, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; - var $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, $321 = 0; - var $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, $34 = 0; - var $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, $358 = 0; - var $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 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, $brmerge = 0, $c_inter = 0, $c_inter16 = 0, $c_inter6 = 0; - var $class_set$055 = 0, $class_set$147 = 0, $class_set$263 = 0, $class_set26$087 = 0, $exitcond = 0, $i$092 = 0, $i$152 = 0, $i$246 = 0, $i$360 = 0, $i$484 = 0, $j$0$lcssa = 0, $j$070 = 0, $j$175 = 0, $j$278 = 0, $or$cond = 0, $or$cond12 = 0, $or$cond1258 = 0, $or$cond15 = 0, $or$cond1581 = 0, $or$cond6 = 0; - var $or$cond650 = 0, $or$cond9 = 0, $or$cond944 = 0, $p_inter = 0, $p_inter17 = 0, $p_inter7 = 0, $pass$066 = 0, $pass$190 = 0, $pcount$056 = 0, $pcount$1$lcssa = 0, $pcount$151 = 0, $pcount$248 = 0, $pcount$3$lcssa = 0, $pcount$345 = 0, $pcount$464 = 0, $pcount$5$lcssa = 0, $pcount$559 = 0, $pcount25$086 = 0, $pcount25$1$lcssa = 0, $pcount25$182 = 0; - var $q$0 = 0, $q$1 = 0, $q19$0 = 0, $q19$1 = 0, $q9$0 = 0, $q9$1 = 0, $temp$0 = 0, $temp$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $c_inter = sp + 20|0; - $p_inter = sp + 16|0; - $c_inter6 = sp + 12|0; - $p_inter7 = sp + 8|0; - $c_inter16 = sp + 4|0; - $p_inter17 = sp; - $0 = ((($f)) + 396|0); - $1 = HEAP32[$0>>2]|0; - $2 = (((($f)) + 268|0) + ($rn<<1)|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3&65535; - $5 = (((($1) + (($rn*24)|0)|0)) + 13|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = ((($f)) + 124|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + (($7*2096)|0)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (((($1) + (($rn*24)|0)|0)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($1) + (($rn*24)|0)|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($13) - ($15))|0; - $17 = (((($1) + (($rn*24)|0)|0)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($16>>>0) / ($18>>>0))&-1; - $20 = ((($f)) + 92|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($f)) + 80|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($23|0)==(0|0); - $25 = ((($f)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = $19 << 2; - $28 = (($27) + 4)|0; - $29 = Math_imul($26, $28)|0; - if ($24) { - $$alloca_mul = $29; - $31 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $33 = $31; - } else { - $30 = (_setup_temp_malloc($f,$29)|0); - $33 = $30; - } - $32 = HEAP32[$25>>2]|0; - $34 = (_make_block_array($33,$32,$27)|0); - $35 = ($ch|0)>(0); - if ($35) { - $36 = $n << 2; - $i$092 = 0; - while(1) { - $37 = (($do_not_decode) + ($i$092)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ($38<<24>>24)==(0); - if ($39) { - $40 = (($residue_buffers) + ($i$092<<2)|0); - $41 = HEAP32[$40>>2]|0; - _memset(($41|0),0,($36|0))|0; - } - $42 = (($i$092) + 1)|0; - $exitcond = ($42|0)==($ch|0); - if ($exitcond) { - break; - } else { - $i$092 = $42; - } - } - } - $43 = ($3<<16>>16)==(2); - $44 = ($ch|0)!=(1); - $or$cond = $44 & $43; - if (!($or$cond)) { - $45 = ($19|0)>(0); - $46 = ($11|0)>(0); - $47 = ($ch|0)>(0); - $48 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $49 = ((($f)) + 1396|0); - $50 = ((($f)) + 1392|0); - $51 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $$not115 = ($ch|0)<(1); - $pass$190 = 0; - L15: while(1) { - if ($45) { - $$not = ($pass$190|0)!=(0); - $brmerge = $$not | $$not115; - $class_set26$087 = 0;$pcount25$086 = 0; - while(1) { - if (!($brmerge)) { - $j$175 = 0; - while(1) { - $289 = (($do_not_decode) + ($j$175)|0); - $290 = HEAP8[$289>>0]|0; - $291 = ($290<<24>>24)==(0); - if ($291) { - $292 = HEAP32[$8>>2]|0; - $293 = HEAP8[$5>>0]|0; - $294 = $293&255; - $295 = (($292) + (($294*2096)|0)|0); - $296 = HEAP32[$49>>2]|0; - $297 = ($296|0)<(10); - if ($297) { - _prep_huffman($f); - } - $298 = HEAP32[$50>>2]|0; - $299 = $298 & 1023; - $300 = ((((($292) + (($294*2096)|0)|0)) + 36|0) + ($299<<1)|0); - $301 = HEAP16[$300>>1]|0; - $302 = $301 << 16 >> 16; - $303 = ($301<<16>>16)>(-1); - if ($303) { - $304 = (((($292) + (($294*2096)|0)|0)) + 8|0); - $305 = HEAP32[$304>>2]|0; - $306 = (($305) + ($302)|0); - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = $298 >>> $308; - HEAP32[$50>>2] = $309; - $310 = HEAP32[$49>>2]|0; - $311 = (($310) - ($308))|0; - $312 = ($311|0)<(0); - $$13 = $312 ? 0 : $311; - HEAP32[$49>>2] = $$13; - $$14 = $312 ? -1 : $302; - $temp$0 = $$14; - } else { - $313 = (_codebook_decode_scalar_raw($f,$295)|0); - $temp$0 = $313; - } - $314 = (((($292) + (($294*2096)|0)|0)) + 23|0); - $315 = HEAP8[$314>>0]|0; - $316 = ($315<<24>>24)==(0); - if ($316) { - $temp$1 = $temp$0; - } else { - $317 = (((($292) + (($294*2096)|0)|0)) + 2088|0); - $318 = HEAP32[$317>>2]|0; - $319 = (($318) + ($temp$0<<2)|0); - $320 = HEAP32[$319>>2]|0; - $temp$1 = $320; - } - $321 = ($temp$1|0)==(-1); - if ($321) { - label = 95; - break L15; - } - $322 = HEAP32[$51>>2]|0; - $323 = (($322) + ($temp$1<<2)|0); - $324 = HEAP32[$323>>2]|0; - $325 = (($34) + ($j$175<<2)|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + ($class_set26$087<<2)|0); - HEAP32[$327>>2] = $324; - } - $328 = (($j$175) + 1)|0; - $329 = ($328|0)<($ch|0); - if ($329) { - $j$175 = $328; - } else { - break; - } - } - } - $288 = ($pcount25$086|0)<($19|0); - $or$cond1581 = $288 & $46; - if ($or$cond1581) { - $i$484 = 0;$pcount25$182 = $pcount25$086; - while(1) { - if ($47) { - $j$278 = 0; - while(1) { - $330 = (($do_not_decode) + ($j$278)|0); - $331 = HEAP8[$330>>0]|0; - $332 = ($331<<24>>24)==(0); - if ($332) { - $333 = (($34) + ($j$278<<2)|0); - $334 = HEAP32[$333>>2]|0; - $335 = (($334) + ($class_set26$087<<2)|0); - $336 = HEAP32[$335>>2]|0; - $337 = (($336) + ($i$484)|0); - $338 = HEAP8[$337>>0]|0; - $339 = $338&255; - $340 = HEAP32[$48>>2]|0; - $341 = ((($340) + ($339<<4)|0) + ($pass$190<<1)|0); - $342 = HEAP16[$341>>1]|0; - $343 = ($342<<16>>16)>(-1); - if ($343) { - $344 = $342 << 16 >> 16; - $345 = (($residue_buffers) + ($j$278<<2)|0); - $346 = HEAP32[$345>>2]|0; - $347 = HEAP32[$14>>2]|0; - $348 = HEAP32[$17>>2]|0; - $349 = Math_imul($348, $pcount25$182)|0; - $350 = (($349) + ($347))|0; - $351 = HEAP32[$8>>2]|0; - $352 = (($351) + (($344*2096)|0)|0); - $353 = (_residue_decode($f,$352,$346,$350,$348,$4)|0); - $354 = ($353|0)==(0); - if ($354) { - label = 95; - break L15; - } - } - } - $355 = (($j$278) + 1)|0; - $356 = ($355|0)<($ch|0); - if ($356) { - $j$278 = $355; - } else { - break; - } - } - } - $357 = (($i$484) + 1)|0; - $358 = (($pcount25$182) + 1)|0; - $359 = ($357|0)<($11|0); - $360 = ($358|0)<($19|0); - $or$cond15 = $360 & $359; - if ($or$cond15) { - $i$484 = $357;$pcount25$182 = $358; - } else { - $pcount25$1$lcssa = $358; - break; - } - } - } else { - $pcount25$1$lcssa = $pcount25$086; - } - $361 = (($class_set26$087) + 1)|0; - $362 = ($pcount25$1$lcssa|0)<($19|0); - if ($362) { - $class_set26$087 = $361;$pcount25$086 = $pcount25$1$lcssa; - } else { - break; - } - } - } - $363 = (($pass$190) + 1)|0; - $364 = ($363|0)<(8); - if ($364) { - $pass$190 = $363; - } else { - label = 95; - break; - } - } - if ((label|0) == 95) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } - } - $52 = ($ch|0)>(0); - L57: do { - if ($52) { - $j$070 = 0; - while(1) { - $53 = (($do_not_decode) + ($j$070)|0); - $54 = HEAP8[$53>>0]|0; - $55 = ($54<<24>>24)==(0); - if ($55) { - $j$0$lcssa = $j$070; - break L57; - } - $56 = (($j$070) + 1)|0; - $57 = ($56|0)<($ch|0); - if ($57) { - $j$070 = $56; - } else { - $j$0$lcssa = $56; - break; - } - } - } else { - $j$0$lcssa = 0; - } - } while(0); - $58 = ($j$0$lcssa|0)==($ch|0); - if ($58) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } - $59 = ($19|0)>(0); - $60 = ((($f)) + 1396|0); - $61 = ((($f)) + 1392|0); - $62 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $63 = ($11|0)>(0); - $64 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $65 = ($19|0)>(0); - $66 = ((($f)) + 1396|0); - $67 = ((($f)) + 1392|0); - $68 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $69 = ($11|0)>(0); - $70 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $71 = ($19|0)>(0); - $72 = ((($f)) + 1396|0); - $73 = ((($f)) + 1392|0); - $74 = (((($1) + (($rn*24)|0)|0)) + 16|0); - $75 = ($11|0)>(0); - $76 = (((($1) + (($rn*24)|0)|0)) + 20|0); - $pass$066 = 0; - L65: while(1) { - switch ($ch|0) { - case 2: { - if ($65) { - $78 = ($pass$066|0)==(0); - $class_set$055 = 0;$pcount$056 = 0; - while(1) { - $80 = HEAP32[$14>>2]|0; - $81 = HEAP32[$17>>2]|0; - $82 = Math_imul($81, $pcount$056)|0; - $83 = (($82) + ($80))|0; - $84 = $83 & 1; - HEAP32[$c_inter>>2] = $84; - $85 = $83 >> 1; - HEAP32[$p_inter>>2] = $85; - if ($78) { - $86 = HEAP32[$8>>2]|0; - $87 = HEAP8[$5>>0]|0; - $88 = $87&255; - $89 = (($86) + (($88*2096)|0)|0); - $90 = HEAP32[$66>>2]|0; - $91 = ($90|0)<(10); - if ($91) { - _prep_huffman($f); - } - $92 = HEAP32[$67>>2]|0; - $93 = $92 & 1023; - $94 = ((((($86) + (($88*2096)|0)|0)) + 36|0) + ($93<<1)|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95 << 16 >> 16; - $97 = ($95<<16>>16)>(-1); - if ($97) { - $98 = (((($86) + (($88*2096)|0)|0)) + 8|0); - $99 = HEAP32[$98>>2]|0; - $100 = (($99) + ($96)|0); - $101 = HEAP8[$100>>0]|0; - $102 = $101&255; - $103 = $92 >>> $102; - HEAP32[$67>>2] = $103; - $104 = HEAP32[$66>>2]|0; - $105 = (($104) - ($102))|0; - $106 = ($105|0)<(0); - $$ = $106 ? 0 : $105; - HEAP32[$66>>2] = $$; - $$5 = $106 ? -1 : $96; - $q$0 = $$5; - } else { - $107 = (_codebook_decode_scalar_raw($f,$89)|0); - $q$0 = $107; - } - $108 = (((($86) + (($88*2096)|0)|0)) + 23|0); - $109 = HEAP8[$108>>0]|0; - $110 = ($109<<24>>24)==(0); - if ($110) { - $q$1 = $q$0; - } else { - $111 = (((($86) + (($88*2096)|0)|0)) + 2088|0); - $112 = HEAP32[$111>>2]|0; - $113 = (($112) + ($q$0<<2)|0); - $114 = HEAP32[$113>>2]|0; - $q$1 = $114; - } - $115 = ($q$1|0)==(-1); - if ($115) { - label = 95; - break L65; - } - $116 = HEAP32[$68>>2]|0; - $117 = (($116) + ($q$1<<2)|0); - $118 = HEAP32[$117>>2]|0; - $119 = HEAP32[$34>>2]|0; - $120 = (($119) + ($class_set$055<<2)|0); - HEAP32[$120>>2] = $118; - } - $121 = ($pcount$056|0)<($19|0); - $or$cond650 = $121 & $69; - if ($or$cond650) { - $i$152 = 0;$pcount$151 = $pcount$056; - while(1) { - $122 = HEAP32[$17>>2]|0; - $123 = HEAP32[$34>>2]|0; - $124 = (($123) + ($class_set$055<<2)|0); - $125 = HEAP32[$124>>2]|0; - $126 = (($125) + ($i$152)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $129 = HEAP32[$70>>2]|0; - $130 = ((($129) + ($128<<4)|0) + ($pass$066<<1)|0); - $131 = HEAP16[$130>>1]|0; - $132 = ($131<<16>>16)>(-1); - if ($132) { - $133 = $131 << 16 >> 16; - $134 = HEAP32[$8>>2]|0; - $135 = (($134) + (($133*2096)|0)|0); - $136 = (_codebook_decode_deinterleave_repeat($f,$135,$residue_buffers,$ch,$c_inter,$p_inter,$n,$122)|0); - $137 = ($136|0)==(0); - if ($137) { - label = 95; - break L65; - } - } else { - $138 = HEAP32[$14>>2]|0; - $139 = Math_imul($122, $pcount$151)|0; - $140 = (($139) + ($122))|0; - $141 = (($140) + ($138))|0; - $142 = $141 & 1; - HEAP32[$c_inter>>2] = $142; - $143 = $141 >> 1; - HEAP32[$p_inter>>2] = $143; - } - $144 = (($i$152) + 1)|0; - $145 = (($pcount$151) + 1)|0; - $146 = ($144|0)<($11|0); - $147 = ($145|0)<($19|0); - $or$cond6 = $147 & $146; - if ($or$cond6) { - $i$152 = $144;$pcount$151 = $145; - } else { - $pcount$1$lcssa = $145; - break; - } - } - } else { - $pcount$1$lcssa = $pcount$056; - } - $148 = (($class_set$055) + 1)|0; - $149 = ($pcount$1$lcssa|0)<($19|0); - if ($149) { - $class_set$055 = $148;$pcount$056 = $pcount$1$lcssa; - } else { - break; - } - } - } - break; - } - case 1: { - if ($71) { - $77 = ($pass$066|0)==(0); - $class_set$147 = 0;$pcount$248 = 0; - while(1) { - $150 = HEAP32[$14>>2]|0; - $151 = HEAP32[$17>>2]|0; - $152 = Math_imul($151, $pcount$248)|0; - $153 = (($152) + ($150))|0; - HEAP32[$c_inter6>>2] = 0; - HEAP32[$p_inter7>>2] = $153; - if ($77) { - $154 = HEAP32[$8>>2]|0; - $155 = HEAP8[$5>>0]|0; - $156 = $155&255; - $157 = (($154) + (($156*2096)|0)|0); - $158 = HEAP32[$72>>2]|0; - $159 = ($158|0)<(10); - if ($159) { - _prep_huffman($f); - } - $160 = HEAP32[$73>>2]|0; - $161 = $160 & 1023; - $162 = ((((($154) + (($156*2096)|0)|0)) + 36|0) + ($161<<1)|0); - $163 = HEAP16[$162>>1]|0; - $164 = $163 << 16 >> 16; - $165 = ($163<<16>>16)>(-1); - if ($165) { - $166 = (((($154) + (($156*2096)|0)|0)) + 8|0); - $167 = HEAP32[$166>>2]|0; - $168 = (($167) + ($164)|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169&255; - $171 = $160 >>> $170; - HEAP32[$73>>2] = $171; - $172 = HEAP32[$72>>2]|0; - $173 = (($172) - ($170))|0; - $174 = ($173|0)<(0); - $$7 = $174 ? 0 : $173; - HEAP32[$72>>2] = $$7; - $$8 = $174 ? -1 : $164; - $q9$0 = $$8; - } else { - $175 = (_codebook_decode_scalar_raw($f,$157)|0); - $q9$0 = $175; - } - $176 = (((($154) + (($156*2096)|0)|0)) + 23|0); - $177 = HEAP8[$176>>0]|0; - $178 = ($177<<24>>24)==(0); - if ($178) { - $q9$1 = $q9$0; - } else { - $179 = (((($154) + (($156*2096)|0)|0)) + 2088|0); - $180 = HEAP32[$179>>2]|0; - $181 = (($180) + ($q9$0<<2)|0); - $182 = HEAP32[$181>>2]|0; - $q9$1 = $182; - } - $183 = ($q9$1|0)==(-1); - if ($183) { - label = 95; - break L65; - } - $184 = HEAP32[$74>>2]|0; - $185 = (($184) + ($q9$1<<2)|0); - $186 = HEAP32[$185>>2]|0; - $187 = HEAP32[$34>>2]|0; - $188 = (($187) + ($class_set$147<<2)|0); - HEAP32[$188>>2] = $186; - } - $189 = ($pcount$248|0)<($19|0); - $or$cond944 = $189 & $75; - if ($or$cond944) { - $i$246 = 0;$pcount$345 = $pcount$248; - while(1) { - $190 = HEAP32[$17>>2]|0; - $191 = HEAP32[$34>>2]|0; - $192 = (($191) + ($class_set$147<<2)|0); - $193 = HEAP32[$192>>2]|0; - $194 = (($193) + ($i$246)|0); - $195 = HEAP8[$194>>0]|0; - $196 = $195&255; - $197 = HEAP32[$76>>2]|0; - $198 = ((($197) + ($196<<4)|0) + ($pass$066<<1)|0); - $199 = HEAP16[$198>>1]|0; - $200 = ($199<<16>>16)>(-1); - if ($200) { - $201 = $199 << 16 >> 16; - $202 = HEAP32[$8>>2]|0; - $203 = (($202) + (($201*2096)|0)|0); - $204 = (_codebook_decode_deinterleave_repeat($f,$203,$residue_buffers,$ch,$c_inter6,$p_inter7,$n,$190)|0); - $205 = ($204|0)==(0); - if ($205) { - label = 95; - break L65; - } - } else { - $206 = HEAP32[$14>>2]|0; - $207 = Math_imul($190, $pcount$345)|0; - $208 = (($207) + ($190))|0; - $209 = (($208) + ($206))|0; - HEAP32[$c_inter6>>2] = 0; - HEAP32[$p_inter7>>2] = $209; - } - $210 = (($i$246) + 1)|0; - $211 = (($pcount$345) + 1)|0; - $212 = ($210|0)<($11|0); - $213 = ($211|0)<($19|0); - $or$cond9 = $213 & $212; - if ($or$cond9) { - $i$246 = $210;$pcount$345 = $211; - } else { - $pcount$3$lcssa = $211; - break; - } - } - } else { - $pcount$3$lcssa = $pcount$248; - } - $214 = (($class_set$147) + 1)|0; - $215 = ($pcount$3$lcssa|0)<($19|0); - if ($215) { - $class_set$147 = $214;$pcount$248 = $pcount$3$lcssa; - } else { - break; - } - } - } - break; - } - default: { - if ($59) { - $79 = ($pass$066|0)==(0); - $class_set$263 = 0;$pcount$464 = 0; - while(1) { - $216 = HEAP32[$14>>2]|0; - $217 = HEAP32[$17>>2]|0; - $218 = Math_imul($217, $pcount$464)|0; - $219 = (($218) + ($216))|0; - $220 = (($219|0) % ($ch|0))&-1; - HEAP32[$c_inter16>>2] = $220; - $221 = (($219|0) / ($ch|0))&-1; - HEAP32[$p_inter17>>2] = $221; - if ($79) { - $222 = HEAP32[$8>>2]|0; - $223 = HEAP8[$5>>0]|0; - $224 = $223&255; - $225 = (($222) + (($224*2096)|0)|0); - $226 = HEAP32[$60>>2]|0; - $227 = ($226|0)<(10); - if ($227) { - _prep_huffman($f); - } - $228 = HEAP32[$61>>2]|0; - $229 = $228 & 1023; - $230 = ((((($222) + (($224*2096)|0)|0)) + 36|0) + ($229<<1)|0); - $231 = HEAP16[$230>>1]|0; - $232 = $231 << 16 >> 16; - $233 = ($231<<16>>16)>(-1); - if ($233) { - $234 = (((($222) + (($224*2096)|0)|0)) + 8|0); - $235 = HEAP32[$234>>2]|0; - $236 = (($235) + ($232)|0); - $237 = HEAP8[$236>>0]|0; - $238 = $237&255; - $239 = $228 >>> $238; - HEAP32[$61>>2] = $239; - $240 = HEAP32[$60>>2]|0; - $241 = (($240) - ($238))|0; - $242 = ($241|0)<(0); - $$10 = $242 ? 0 : $241; - HEAP32[$60>>2] = $$10; - $$11 = $242 ? -1 : $232; - $q19$0 = $$11; - } else { - $243 = (_codebook_decode_scalar_raw($f,$225)|0); - $q19$0 = $243; - } - $244 = (((($222) + (($224*2096)|0)|0)) + 23|0); - $245 = HEAP8[$244>>0]|0; - $246 = ($245<<24>>24)==(0); - if ($246) { - $q19$1 = $q19$0; - } else { - $247 = (((($222) + (($224*2096)|0)|0)) + 2088|0); - $248 = HEAP32[$247>>2]|0; - $249 = (($248) + ($q19$0<<2)|0); - $250 = HEAP32[$249>>2]|0; - $q19$1 = $250; - } - $251 = ($q19$1|0)==(-1); - if ($251) { - label = 95; - break L65; - } - $252 = HEAP32[$62>>2]|0; - $253 = (($252) + ($q19$1<<2)|0); - $254 = HEAP32[$253>>2]|0; - $255 = HEAP32[$34>>2]|0; - $256 = (($255) + ($class_set$263<<2)|0); - HEAP32[$256>>2] = $254; - } - $257 = ($pcount$464|0)<($19|0); - $or$cond1258 = $257 & $63; - if ($or$cond1258) { - $i$360 = 0;$pcount$559 = $pcount$464; - while(1) { - $258 = HEAP32[$17>>2]|0; - $259 = HEAP32[$34>>2]|0; - $260 = (($259) + ($class_set$263<<2)|0); - $261 = HEAP32[$260>>2]|0; - $262 = (($261) + ($i$360)|0); - $263 = HEAP8[$262>>0]|0; - $264 = $263&255; - $265 = HEAP32[$64>>2]|0; - $266 = ((($265) + ($264<<4)|0) + ($pass$066<<1)|0); - $267 = HEAP16[$266>>1]|0; - $268 = ($267<<16>>16)>(-1); - if ($268) { - $269 = $267 << 16 >> 16; - $270 = HEAP32[$8>>2]|0; - $271 = (($270) + (($269*2096)|0)|0); - $272 = (_codebook_decode_deinterleave_repeat($f,$271,$residue_buffers,$ch,$c_inter16,$p_inter17,$n,$258)|0); - $273 = ($272|0)==(0); - if ($273) { - label = 95; - break L65; - } - } else { - $274 = HEAP32[$14>>2]|0; - $275 = Math_imul($258, $pcount$559)|0; - $276 = (($275) + ($258))|0; - $277 = (($276) + ($274))|0; - $278 = (($277|0) % ($ch|0))&-1; - HEAP32[$c_inter16>>2] = $278; - $279 = (($277|0) / ($ch|0))&-1; - HEAP32[$p_inter17>>2] = $279; - } - $280 = (($i$360) + 1)|0; - $281 = (($pcount$559) + 1)|0; - $282 = ($280|0)<($11|0); - $283 = ($281|0)<($19|0); - $or$cond12 = $283 & $282; - if ($or$cond12) { - $i$360 = $280;$pcount$559 = $281; - } else { - $pcount$5$lcssa = $281; - break; - } - } - } else { - $pcount$5$lcssa = $pcount$464; - } - $284 = (($class_set$263) + 1)|0; - $285 = ($pcount$5$lcssa|0)<($19|0); - if ($285) { - $class_set$263 = $284;$pcount$464 = $pcount$5$lcssa; - } else { - break; - } - } - } - } - } - $286 = (($pass$066) + 1)|0; - $287 = ($286|0)<(8); - if ($287) { - $pass$066 = $286; - } else { - label = 95; - break; - } - } - if ((label|0) == 95) { - HEAP32[$20>>2] = $21; - STACKTOP = sp;return; - } -} -function _do_floor($f,$map,$i,$n,$target,$finalY) { - $f = $f|0; - $map = $map|0; - $i = $i|0; - $n = $n|0; - $target = $target|0; - $finalY = $finalY|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, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0.0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $j$01 = 0, $lx$0$lcssa = 0, $lx$03 = 0, $lx$1 = 0, $ly$0$lcssa = 0, $ly$04 = 0, $ly$1 = 0, $q$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = ((($map)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = (((($2) + (($i*3)|0)|0)) + 2|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = (((($map)) + 9|0) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (((($f)) + 132|0) + ($8<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10<<16>>16)==(0); - if ($11) { - _error($f,21); - return; - } - $12 = ((($f)) + 260|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP16[$finalY>>1]|0; - $15 = $14 << 16 >> 16; - $16 = (((($13) + (($8*1596)|0)|0)) + 1588|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = Math_imul($18, $15)|0; - $20 = (((($13) + (($8*1596)|0)|0)) + 1592|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)>(1); - if ($22) { - $lx$03 = 0;$ly$04 = $19;$q$02 = 1; - while(1) { - $23 = ((((($13) + (($8*1596)|0)|0)) + 838|0) + ($q$02)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = (($finalY) + ($25<<1)|0); - $27 = HEAP16[$26>>1]|0; - $28 = ($27<<16>>16)>(-1); - if ($28) { - $29 = $27 << 16 >> 16; - $30 = HEAP8[$16>>0]|0; - $31 = $30&255; - $32 = Math_imul($31, $29)|0; - $33 = ((((($13) + (($8*1596)|0)|0)) + 338|0) + ($25<<1)|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34&65535; - $36 = ($lx$03|0)==($35|0); - if ($36) { - $lx$1 = $35;$ly$1 = $32; - } else { - _draw_line($target,$lx$03,$ly$04,$35,$32,$0); - $lx$1 = $35;$ly$1 = $32; - } - } else { - $lx$1 = $lx$03;$ly$1 = $ly$04; - } - $37 = (($q$02) + 1)|0; - $38 = HEAP32[$20>>2]|0; - $39 = ($37|0)<($38|0); - if ($39) { - $lx$03 = $lx$1;$ly$04 = $ly$1;$q$02 = $37; - } else { - $lx$0$lcssa = $lx$1;$ly$0$lcssa = $ly$1; - break; - } - } - } else { - $lx$0$lcssa = 0;$ly$0$lcssa = $19; - } - $40 = ($lx$0$lcssa|0)<($0|0); - if (!($40)) { - return; - } - $41 = (9260 + ($ly$0$lcssa<<2)|0); - $42 = +HEAPF32[$41>>2]; - $j$01 = $lx$0$lcssa; - while(1) { - $43 = (($target) + ($j$01<<2)|0); - $44 = +HEAPF32[$43>>2]; - $45 = $42 * $44; - HEAPF32[$43>>2] = $45; - $46 = (($j$01) + 1)|0; - $exitcond = ($46|0)==($0|0); - if ($exitcond) { - break; - } else { - $j$01 = $46; - } - } - return; -} -function _inverse_mdct($buffer,$n,$f,$blocktype) { - $buffer = $buffer|0; - $n = $n|0; - $f = $f|0; - $blocktype = $blocktype|0; - var $$alloca_mul = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0.0; - var $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.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, $2 = 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.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0.0; - var $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0.0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0, $258 = 0.0, $259 = 0.0; - var $26 = 0.0, $260 = 0.0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0.0, $265 = 0.0, $266 = 0, $267 = 0.0, $268 = 0.0, $269 = 0, $27 = 0.0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0.0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0; - var $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0.0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0.0; - var $296 = 0, $297 = 0.0, $298 = 0.0, $299 = 0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0, $302 = 0.0, $303 = 0.0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0.0, $314 = 0, $315 = 0.0, $316 = 0.0, $317 = 0, $318 = 0.0, $319 = 0, $32 = 0.0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0, $328 = 0.0, $329 = 0, $33 = 0.0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0.0, $334 = 0, $335 = 0.0, $336 = 0.0, $337 = 0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0, $348 = 0.0, $349 = 0; - var $35 = 0.0, $350 = 0, $351 = 0, $352 = 0.0, $353 = 0, $354 = 0.0, $355 = 0.0, $356 = 0, $357 = 0.0, $358 = 0.0, $359 = 0.0, $36 = 0.0, $360 = 0.0, $361 = 0.0, $362 = 0.0, $363 = 0.0, $364 = 0.0, $365 = 0, $366 = 0.0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0.0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; - var $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.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.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0; - var $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $A0$024 = 0, $AA$0$lcssa = 0, $AA$050 = 0, $AA$144 = 0; - var $AA1$040 = 0, $B$08 = 0, $C$010 = 0, $bitrev$016 = 0, $d$0$lcssa = 0, $d$052 = 0, $d$146 = 0, $d0$039 = 0, $d05$017 = 0, $d09$04 = 0, $d1$038 = 0, $d110$05 = 0, $d16$018 = 0, $d2$06 = 0, $d3$07 = 0, $d7$011 = 0, $e$051 = 0, $e$145 = 0, $e0$037 = 0, $e1$036 = 0; - var $e11$09 = 0, $e8$012 = 0, $exitcond = 0, $exitcond60 = 0, $i$030 = 0, $i_off$023 = 0, $l$0$lcssa = 0, $l$033 = 0, $l$127 = 0, $r$022 = 0, $scevgep = 0, $scevgep61 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n >> 1; - $1 = $n >> 2; - $2 = $n >> 3; - $3 = ((($f)) + 92|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($f)) + 80|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0|0); - $8 = $0 << 2; - if ($7) { - $$alloca_mul = $8; - $10 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0;; - $15 = $10; - } else { - $9 = (_setup_temp_malloc($f,$8)|0); - $15 = $9; - } - $11 = (((($f)) + 1068|0) + ($blocktype<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($0) + -2)|0; - $14 = (($15) + ($13<<2)|0); - $16 = (($buffer) + ($0<<2)|0); - $17 = ($0|0)==(0); - if ($17) { - $AA$0$lcssa = $12;$d$0$lcssa = $14; - } else { - $18 = $0 << 2; - $19 = (($18) + -16)|0; - $20 = $19 >>> 4; - $21 = $20 << 1; - $22 = (($21) + 2)|0; - $23 = $20 << 3; - $24 = (($19) - ($23))|0; - $scevgep61 = (($15) + ($24)|0); - $AA$050 = $12;$d$052 = $14;$e$051 = $buffer; - while(1) { - $25 = +HEAPF32[$e$051>>2]; - $26 = +HEAPF32[$AA$050>>2]; - $27 = $25 * $26; - $28 = ((($e$051)) + 8|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($AA$050)) + 4|0); - $31 = +HEAPF32[$30>>2]; - $32 = $29 * $31; - $33 = $27 - $32; - $34 = ((($d$052)) + 4|0); - HEAPF32[$34>>2] = $33; - $35 = +HEAPF32[$e$051>>2]; - $36 = +HEAPF32[$30>>2]; - $37 = $35 * $36; - $38 = +HEAPF32[$28>>2]; - $39 = +HEAPF32[$AA$050>>2]; - $40 = $38 * $39; - $41 = $37 + $40; - HEAPF32[$d$052>>2] = $41; - $42 = ((($d$052)) + -8|0); - $43 = ((($AA$050)) + 8|0); - $44 = ((($e$051)) + 16|0); - $45 = ($44|0)==($16|0); - if ($45) { - break; - } else { - $AA$050 = $43;$d$052 = $42;$e$051 = $44; - } - } - $scevgep = (($12) + ($22<<2)|0); - $AA$0$lcssa = $scevgep;$d$0$lcssa = $scevgep61; - } - $46 = ($d$0$lcssa>>>0)<($15>>>0); - if (!($46)) { - $47 = (($0) + -3)|0; - $48 = (($buffer) + ($47<<2)|0); - $AA$144 = $AA$0$lcssa;$d$146 = $d$0$lcssa;$e$145 = $48; - while(1) { - $49 = ((($e$145)) + 8|0); - $50 = +HEAPF32[$49>>2]; - $51 = +HEAPF32[$AA$144>>2]; - $52 = $50 * $51; - $53 = +HEAPF32[$e$145>>2]; - $54 = ((($AA$144)) + 4|0); - $55 = +HEAPF32[$54>>2]; - $56 = $53 * $55; - $57 = $56 - $52; - $58 = ((($d$146)) + 4|0); - HEAPF32[$58>>2] = $57; - $59 = +HEAPF32[$49>>2]; - $60 = +HEAPF32[$54>>2]; - $61 = $59 * $60; - $62 = +HEAPF32[$e$145>>2]; - $63 = +HEAPF32[$AA$144>>2]; - $64 = $62 * $63; - $65 = -$64; - $66 = $65 - $61; - HEAPF32[$d$146>>2] = $66; - $67 = ((($d$146)) + -8|0); - $68 = ((($AA$144)) + 8|0); - $69 = ((($e$145)) + -16|0); - $70 = ($67>>>0)<($15>>>0); - if ($70) { - break; - } else { - $AA$144 = $68;$d$146 = $67;$e$145 = $69; - } - } - } - $71 = (($0) + -8)|0; - $72 = ($0|0)<(8); - if (!($72)) { - $73 = (($12) + ($71<<2)|0); - $74 = (($buffer) + ($1<<2)|0); - $75 = (($15) + ($1<<2)|0); - $AA1$040 = $73;$d0$039 = $74;$d1$038 = $buffer;$e0$037 = $75;$e1$036 = $15; - while(1) { - $76 = ((($e0$037)) + 4|0); - $77 = +HEAPF32[$76>>2]; - $78 = ((($e1$036)) + 4|0); - $79 = +HEAPF32[$78>>2]; - $80 = $77 - $79; - $81 = +HEAPF32[$e0$037>>2]; - $82 = +HEAPF32[$e1$036>>2]; - $83 = $81 - $82; - $84 = $77 + $79; - $85 = ((($d0$039)) + 4|0); - HEAPF32[$85>>2] = $84; - $86 = +HEAPF32[$e0$037>>2]; - $87 = +HEAPF32[$e1$036>>2]; - $88 = $86 + $87; - HEAPF32[$d0$039>>2] = $88; - $89 = ((($AA1$040)) + 16|0); - $90 = +HEAPF32[$89>>2]; - $91 = $80 * $90; - $92 = ((($AA1$040)) + 20|0); - $93 = +HEAPF32[$92>>2]; - $94 = $83 * $93; - $95 = $91 - $94; - $96 = ((($d1$038)) + 4|0); - HEAPF32[$96>>2] = $95; - $97 = +HEAPF32[$89>>2]; - $98 = $83 * $97; - $99 = +HEAPF32[$92>>2]; - $100 = $80 * $99; - $101 = $98 + $100; - HEAPF32[$d1$038>>2] = $101; - $102 = ((($e0$037)) + 12|0); - $103 = +HEAPF32[$102>>2]; - $104 = ((($e1$036)) + 12|0); - $105 = +HEAPF32[$104>>2]; - $106 = $103 - $105; - $107 = ((($e0$037)) + 8|0); - $108 = +HEAPF32[$107>>2]; - $109 = ((($e1$036)) + 8|0); - $110 = +HEAPF32[$109>>2]; - $111 = $108 - $110; - $112 = $103 + $105; - $113 = ((($d0$039)) + 12|0); - HEAPF32[$113>>2] = $112; - $114 = +HEAPF32[$107>>2]; - $115 = +HEAPF32[$109>>2]; - $116 = $114 + $115; - $117 = ((($d0$039)) + 8|0); - HEAPF32[$117>>2] = $116; - $118 = +HEAPF32[$AA1$040>>2]; - $119 = $106 * $118; - $120 = ((($AA1$040)) + 4|0); - $121 = +HEAPF32[$120>>2]; - $122 = $111 * $121; - $123 = $119 - $122; - $124 = ((($d1$038)) + 12|0); - HEAPF32[$124>>2] = $123; - $125 = +HEAPF32[$AA1$040>>2]; - $126 = $111 * $125; - $127 = +HEAPF32[$120>>2]; - $128 = $106 * $127; - $129 = $126 + $128; - $130 = ((($d1$038)) + 8|0); - HEAPF32[$130>>2] = $129; - $131 = ((($AA1$040)) + -32|0); - $132 = ((($d0$039)) + 16|0); - $133 = ((($d1$038)) + 16|0); - $134 = ((($e0$037)) + 16|0); - $135 = ((($e1$036)) + 16|0); - $136 = ($131>>>0)<($12>>>0); - if ($136) { - break; - } else { - $AA1$040 = $131;$d0$039 = $132;$d1$038 = $133;$e0$037 = $134;$e1$036 = $135; - } - } - } - $137 = (_ilog($n)|0); - $138 = $n >> 4; - $139 = (($0) + -1)|0; - $140 = (0 - ($2))|0; - _imdct_step3_iter0_loop($138,$buffer,$139,$140,$12); - $141 = (($139) - ($1))|0; - _imdct_step3_iter0_loop($138,$buffer,$141,$140,$12); - $142 = $n >> 5; - $143 = (0 - ($138))|0; - _imdct_step3_inner_r_loop($142,$buffer,$139,$143,$12,16); - $144 = (($139) - ($2))|0; - _imdct_step3_inner_r_loop($142,$buffer,$144,$143,$12,16); - $145 = $2 << 1; - $146 = (($139) - ($145))|0; - _imdct_step3_inner_r_loop($142,$buffer,$146,$143,$12,16); - $147 = Math_imul($2, -3)|0; - $148 = (($139) + ($147))|0; - _imdct_step3_inner_r_loop($142,$buffer,$148,$143,$12,16); - $149 = (($137) + -4)|0; - $150 = $149 >> 1; - $151 = ($150|0)>(2); - if ($151) { - $l$033 = 2; - while(1) { - $156 = (($l$033) + 2)|0; - $157 = $n >> $156; - $152 = (($l$033) + 1)|0; - $158 = 1 << $152; - $159 = ($152|0)==(31); - if (!($159)) { - $160 = $157 >> 1; - $161 = (($l$033) + 4)|0; - $162 = $n >> $161; - $163 = (0 - ($160))|0; - $164 = (($l$033) + 3)|0; - $165 = 1 << $164; - $i$030 = 0; - while(1) { - $166 = Math_imul($i$030, $157)|0; - $167 = (($139) - ($166))|0; - _imdct_step3_inner_r_loop($162,$buffer,$167,$163,$12,$165); - $168 = (($i$030) + 1)|0; - $169 = ($168|0)<($158|0); - if ($169) { - $i$030 = $168; - } else { - break; - } - } - } - $exitcond60 = ($152|0)==($150|0); - if ($exitcond60) { - $l$0$lcssa = $150; - break; - } else { - $l$033 = $152; - } - } - } else { - $l$0$lcssa = 2; - } - $153 = (($137) + -7)|0; - $154 = ($l$0$lcssa|0)<($153|0); - if ($154) { - $155 = (($137) + -7)|0; - $l$127 = $l$0$lcssa; - while(1) { - $171 = (($l$127) + 2)|0; - $172 = $n >> $171; - $173 = (($l$127) + 3)|0; - $174 = 1 << $173; - $175 = (($l$127) + 6)|0; - $176 = $n >> $175; - $170 = (($l$127) + 1)|0; - $177 = 1 << $170; - $178 = ($176|0)>(0); - if ($178) { - $179 = $172 >> 1; - $180 = (0 - ($179))|0; - $181 = $174 << 2; - $A0$024 = $12;$i_off$023 = $139;$r$022 = $176; - while(1) { - _imdct_step3_inner_s_loop($177,$buffer,$i_off$023,$180,$A0$024,$174,$172); - $182 = (($A0$024) + ($181<<2)|0); - $183 = (($i_off$023) + -8)|0; - $184 = (($r$022) + -1)|0; - $185 = ($r$022|0)>(1); - if ($185) { - $A0$024 = $182;$i_off$023 = $183;$r$022 = $184; - } else { - break; - } - } - } - $exitcond = ($170|0)==($155|0); - if ($exitcond) { - break; - } else { - $l$127 = $170; - } - } - } - _imdct_step3_inner_s_loop_ld654($142,$buffer,$139,$12,$n); - $186 = (($1) + -4)|0; - $187 = (($15) + ($186<<2)|0); - $188 = (($0) + -4)|0; - $189 = (($15) + ($188<<2)|0); - $190 = ($187>>>0)<($15>>>0); - if (!($190)) { - $191 = (((($f)) + 1100|0) + ($blocktype<<2)|0); - $192 = HEAP32[$191>>2]|0; - $bitrev$016 = $192;$d05$017 = $187;$d16$018 = $189; - while(1) { - $193 = HEAP16[$bitrev$016>>1]|0; - $194 = $193&65535; - $195 = (($buffer) + ($194<<2)|0); - $196 = HEAP32[$195>>2]|0; - $197 = ((($d16$018)) + 12|0); - HEAP32[$197>>2] = $196; - $198 = (($194) + 1)|0; - $199 = (($buffer) + ($198<<2)|0); - $200 = HEAP32[$199>>2]|0; - $201 = ((($d16$018)) + 8|0); - HEAP32[$201>>2] = $200; - $202 = (($194) + 2)|0; - $203 = (($buffer) + ($202<<2)|0); - $204 = HEAP32[$203>>2]|0; - $205 = ((($d05$017)) + 12|0); - HEAP32[$205>>2] = $204; - $206 = (($194) + 3)|0; - $207 = (($buffer) + ($206<<2)|0); - $208 = HEAP32[$207>>2]|0; - $209 = ((($d05$017)) + 8|0); - HEAP32[$209>>2] = $208; - $210 = ((($bitrev$016)) + 2|0); - $211 = HEAP16[$210>>1]|0; - $212 = $211&65535; - $213 = (($buffer) + ($212<<2)|0); - $214 = HEAP32[$213>>2]|0; - $215 = ((($d16$018)) + 4|0); - HEAP32[$215>>2] = $214; - $216 = (($212) + 1)|0; - $217 = (($buffer) + ($216<<2)|0); - $218 = HEAP32[$217>>2]|0; - HEAP32[$d16$018>>2] = $218; - $219 = (($212) + 2)|0; - $220 = (($buffer) + ($219<<2)|0); - $221 = HEAP32[$220>>2]|0; - $222 = ((($d05$017)) + 4|0); - HEAP32[$222>>2] = $221; - $223 = (($212) + 3)|0; - $224 = (($buffer) + ($223<<2)|0); - $225 = HEAP32[$224>>2]|0; - HEAP32[$d05$017>>2] = $225; - $226 = ((($d05$017)) + -16|0); - $227 = ((($d16$018)) + -16|0); - $228 = ((($bitrev$016)) + 4|0); - $229 = ($226>>>0)<($15>>>0); - if ($229) { - break; - } else { - $bitrev$016 = $228;$d05$017 = $226;$d16$018 = $227; - } - } - } - $230 = ($15>>>0)<($189>>>0); - if ($230) { - $231 = (((($f)) + 1084|0) + ($blocktype<<2)|0); - $232 = HEAP32[$231>>2]|0; - $C$010 = $232;$d7$011 = $15;$e8$012 = $189; - while(1) { - $233 = +HEAPF32[$d7$011>>2]; - $234 = ((($e8$012)) + 8|0); - $235 = +HEAPF32[$234>>2]; - $236 = $233 - $235; - $237 = ((($d7$011)) + 4|0); - $238 = +HEAPF32[$237>>2]; - $239 = ((($e8$012)) + 12|0); - $240 = +HEAPF32[$239>>2]; - $241 = $238 + $240; - $242 = ((($C$010)) + 4|0); - $243 = +HEAPF32[$242>>2]; - $244 = $236 * $243; - $245 = +HEAPF32[$C$010>>2]; - $246 = $241 * $245; - $247 = $244 + $246; - $248 = $243 * $241; - $249 = $236 * $245; - $250 = $248 - $249; - $251 = $233 + $235; - $252 = $238 - $240; - $253 = $251 + $247; - HEAPF32[$d7$011>>2] = $253; - $254 = $252 + $250; - HEAPF32[$237>>2] = $254; - $255 = $251 - $247; - HEAPF32[$234>>2] = $255; - $256 = $250 - $252; - HEAPF32[$239>>2] = $256; - $257 = ((($d7$011)) + 8|0); - $258 = +HEAPF32[$257>>2]; - $259 = +HEAPF32[$e8$012>>2]; - $260 = $258 - $259; - $261 = ((($d7$011)) + 12|0); - $262 = +HEAPF32[$261>>2]; - $263 = ((($e8$012)) + 4|0); - $264 = +HEAPF32[$263>>2]; - $265 = $262 + $264; - $266 = ((($C$010)) + 12|0); - $267 = +HEAPF32[$266>>2]; - $268 = $260 * $267; - $269 = ((($C$010)) + 8|0); - $270 = +HEAPF32[$269>>2]; - $271 = $265 * $270; - $272 = $268 + $271; - $273 = $267 * $265; - $274 = $260 * $270; - $275 = $273 - $274; - $276 = $258 + $259; - $277 = $262 - $264; - $278 = $276 + $272; - HEAPF32[$257>>2] = $278; - $279 = $277 + $275; - HEAPF32[$261>>2] = $279; - $280 = $276 - $272; - HEAPF32[$e8$012>>2] = $280; - $281 = $275 - $277; - HEAPF32[$263>>2] = $281; - $282 = ((($C$010)) + 16|0); - $283 = ((($d7$011)) + 16|0); - $284 = ((($e8$012)) + -16|0); - $285 = ($283>>>0)<($284>>>0); - if ($285) { - $C$010 = $282;$d7$011 = $283;$e8$012 = $284; - } else { - break; - } - } - } - $286 = (($15) + ($71<<2)|0); - $287 = ($286>>>0)<($15>>>0); - if ($287) { - HEAP32[$3>>2] = $4; - STACKTOP = sp;return; - } - $288 = (($n) + -4)|0; - $289 = (($buffer) + ($288<<2)|0); - $290 = (($buffer) + ($188<<2)|0); - $291 = (((($f)) + 1076|0) + ($blocktype<<2)|0); - $292 = HEAP32[$291>>2]|0; - $293 = (($292) + ($71<<2)|0); - $B$08 = $293;$d09$04 = $buffer;$d110$05 = $290;$d2$06 = $16;$d3$07 = $289;$e11$09 = $286; - while(1) { - $294 = ((($e11$09)) + 24|0); - $295 = +HEAPF32[$294>>2]; - $296 = ((($B$08)) + 28|0); - $297 = +HEAPF32[$296>>2]; - $298 = $295 * $297; - $299 = ((($e11$09)) + 28|0); - $300 = +HEAPF32[$299>>2]; - $301 = ((($B$08)) + 24|0); - $302 = +HEAPF32[$301>>2]; - $303 = $300 * $302; - $304 = $298 - $303; - $305 = $295 * $302; - $306 = -$305; - $307 = $297 * $300; - $308 = $306 - $307; - HEAPF32[$d09$04>>2] = $304; - $309 = -$304; - $310 = ((($d110$05)) + 12|0); - HEAPF32[$310>>2] = $309; - HEAPF32[$d2$06>>2] = $308; - $311 = ((($d3$07)) + 12|0); - HEAPF32[$311>>2] = $308; - $312 = ((($e11$09)) + 16|0); - $313 = +HEAPF32[$312>>2]; - $314 = ((($B$08)) + 20|0); - $315 = +HEAPF32[$314>>2]; - $316 = $313 * $315; - $317 = ((($e11$09)) + 20|0); - $318 = +HEAPF32[$317>>2]; - $319 = ((($B$08)) + 16|0); - $320 = +HEAPF32[$319>>2]; - $321 = $318 * $320; - $322 = $316 - $321; - $323 = $313 * $320; - $324 = -$323; - $325 = $315 * $318; - $326 = $324 - $325; - $327 = ((($d09$04)) + 4|0); - HEAPF32[$327>>2] = $322; - $328 = -$322; - $329 = ((($d110$05)) + 8|0); - HEAPF32[$329>>2] = $328; - $330 = ((($d2$06)) + 4|0); - HEAPF32[$330>>2] = $326; - $331 = ((($d3$07)) + 8|0); - HEAPF32[$331>>2] = $326; - $332 = ((($e11$09)) + 8|0); - $333 = +HEAPF32[$332>>2]; - $334 = ((($B$08)) + 12|0); - $335 = +HEAPF32[$334>>2]; - $336 = $333 * $335; - $337 = ((($e11$09)) + 12|0); - $338 = +HEAPF32[$337>>2]; - $339 = ((($B$08)) + 8|0); - $340 = +HEAPF32[$339>>2]; - $341 = $338 * $340; - $342 = $336 - $341; - $343 = $333 * $340; - $344 = -$343; - $345 = $335 * $338; - $346 = $344 - $345; - $347 = ((($d09$04)) + 8|0); - HEAPF32[$347>>2] = $342; - $348 = -$342; - $349 = ((($d110$05)) + 4|0); - HEAPF32[$349>>2] = $348; - $350 = ((($d2$06)) + 8|0); - HEAPF32[$350>>2] = $346; - $351 = ((($d3$07)) + 4|0); - HEAPF32[$351>>2] = $346; - $352 = +HEAPF32[$e11$09>>2]; - $353 = ((($B$08)) + 4|0); - $354 = +HEAPF32[$353>>2]; - $355 = $352 * $354; - $356 = ((($e11$09)) + 4|0); - $357 = +HEAPF32[$356>>2]; - $358 = +HEAPF32[$B$08>>2]; - $359 = $357 * $358; - $360 = $355 - $359; - $361 = $352 * $358; - $362 = -$361; - $363 = $354 * $357; - $364 = $362 - $363; - $365 = ((($d09$04)) + 12|0); - HEAPF32[$365>>2] = $360; - $366 = -$360; - HEAPF32[$d110$05>>2] = $366; - $367 = ((($d2$06)) + 12|0); - HEAPF32[$367>>2] = $364; - HEAPF32[$d3$07>>2] = $364; - $368 = ((($B$08)) + -32|0); - $369 = ((($e11$09)) + -32|0); - $370 = ((($d09$04)) + 16|0); - $371 = ((($d2$06)) + 16|0); - $372 = ((($d110$05)) + -16|0); - $373 = ((($d3$07)) + -16|0); - $374 = ($369>>>0)<($15>>>0); - if ($374) { - break; - } else { - $B$08 = $368;$d09$04 = $370;$d110$05 = $372;$d2$06 = $371;$d3$07 = $373;$e11$09 = $369; - } - } - HEAP32[$3>>2] = $4; - STACKTOP = sp;return; -} -function _imdct_step3_iter0_loop($n,$e,$i_off,$k_off,$A) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $k_off = $k_off|0; - $A = $A|0; - var $$04 = 0, $$sum = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $12 = 0.0, $13 = 0.0; - var $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0; - var $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0.0; - var $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0.0, $ee0$03 = 0, $ee2$01 = 0, $i$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $n & 3; - $1 = ($0|0)==(0); - if (!($1)) { - ___assert_fail((20300|0),(17015|0),2075,(20313|0)); - // unreachable; - } - $2 = $n >> 2; + $2 = $0 >> 1; $3 = ($2|0)>(0); if (!($3)) { return; } - $$sum = (($k_off) + ($i_off))|0; - $4 = (($e) + ($$sum<<2)|0); - $5 = (($e) + ($i_off<<2)|0); - $$04 = $A;$ee0$03 = $5;$ee2$01 = $4;$i$02 = $2; + $4 = (+($2|0)); + $$010 = 0; while(1) { - $6 = +HEAPF32[$ee0$03>>2]; - $7 = +HEAPF32[$ee2$01>>2]; - $8 = $6 - $7; - $9 = ((($ee0$03)) + -4|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($ee2$01)) + -4|0); - $12 = +HEAPF32[$11>>2]; - $13 = $10 - $12; - $14 = $6 + $7; - HEAPF32[$ee0$03>>2] = $14; - $15 = +HEAPF32[$11>>2]; - $16 = +HEAPF32[$9>>2]; - $17 = $15 + $16; - HEAPF32[$9>>2] = $17; - $18 = +HEAPF32[$$04>>2]; - $19 = $8 * $18; - $20 = ((($$04)) + 4|0); - $21 = +HEAPF32[$20>>2]; - $22 = $13 * $21; - $23 = $19 - $22; - HEAPF32[$ee2$01>>2] = $23; - $24 = +HEAPF32[$$04>>2]; - $25 = $13 * $24; - $26 = +HEAPF32[$20>>2]; - $27 = $8 * $26; - $28 = $25 + $27; - HEAPF32[$11>>2] = $28; - $29 = ((($$04)) + 32|0); - $30 = ((($ee0$03)) + -8|0); - $31 = +HEAPF32[$30>>2]; - $32 = ((($ee2$01)) + -8|0); - $33 = +HEAPF32[$32>>2]; - $34 = $31 - $33; - $35 = ((($ee0$03)) + -12|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($ee2$01)) + -12|0); - $38 = +HEAPF32[$37>>2]; - $39 = $36 - $38; - $40 = $31 + $33; - HEAPF32[$30>>2] = $40; - $41 = +HEAPF32[$37>>2]; - $42 = +HEAPF32[$35>>2]; - $43 = $41 + $42; - HEAPF32[$35>>2] = $43; - $44 = +HEAPF32[$29>>2]; - $45 = $34 * $44; - $46 = ((($$04)) + 36|0); - $47 = +HEAPF32[$46>>2]; - $48 = $39 * $47; - $49 = $45 - $48; - HEAPF32[$32>>2] = $49; - $50 = +HEAPF32[$29>>2]; - $51 = $39 * $50; - $52 = +HEAPF32[$46>>2]; - $53 = $34 * $52; - $54 = $51 + $53; - HEAPF32[$37>>2] = $54; - $55 = ((($$04)) + 64|0); - $56 = ((($ee0$03)) + -16|0); - $57 = +HEAPF32[$56>>2]; - $58 = ((($ee2$01)) + -16|0); - $59 = +HEAPF32[$58>>2]; - $60 = $57 - $59; - $61 = ((($ee0$03)) + -20|0); - $62 = +HEAPF32[$61>>2]; - $63 = ((($ee2$01)) + -20|0); - $64 = +HEAPF32[$63>>2]; - $65 = $62 - $64; - $66 = $57 + $59; - HEAPF32[$56>>2] = $66; - $67 = +HEAPF32[$63>>2]; - $68 = +HEAPF32[$61>>2]; - $69 = $67 + $68; - HEAPF32[$61>>2] = $69; - $70 = +HEAPF32[$55>>2]; - $71 = $60 * $70; - $72 = ((($$04)) + 68|0); - $73 = +HEAPF32[$72>>2]; - $74 = $65 * $73; - $75 = $71 - $74; - HEAPF32[$58>>2] = $75; - $76 = +HEAPF32[$55>>2]; - $77 = $65 * $76; - $78 = +HEAPF32[$72>>2]; - $79 = $60 * $78; - $80 = $77 + $79; - HEAPF32[$63>>2] = $80; - $81 = ((($$04)) + 96|0); - $82 = ((($ee0$03)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = ((($ee2$01)) + -24|0); - $85 = +HEAPF32[$84>>2]; - $86 = $83 - $85; - $87 = ((($ee0$03)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = ((($ee2$01)) + -28|0); - $90 = +HEAPF32[$89>>2]; - $91 = $88 - $90; - $92 = $83 + $85; - HEAPF32[$82>>2] = $92; - $93 = +HEAPF32[$89>>2]; - $94 = +HEAPF32[$87>>2]; - $95 = $93 + $94; - HEAPF32[$87>>2] = $95; - $96 = +HEAPF32[$81>>2]; - $97 = $86 * $96; - $98 = ((($$04)) + 100|0); - $99 = +HEAPF32[$98>>2]; - $100 = $91 * $99; - $101 = $97 - $100; - HEAPF32[$84>>2] = $101; - $102 = +HEAPF32[$81>>2]; - $103 = $91 * $102; - $104 = +HEAPF32[$98>>2]; - $105 = $86 * $104; - $106 = $103 + $105; - HEAPF32[$89>>2] = $106; - $107 = ((($$04)) + 128|0); - $108 = ((($ee0$03)) + -32|0); - $109 = ((($ee2$01)) + -32|0); - $110 = (($i$02) + -1)|0; - $111 = ($i$02|0)>(1); - if ($111) { - $$04 = $107;$ee0$03 = $108;$ee2$01 = $109;$i$02 = $110; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_r_loop($lim,$e,$d0,$k_off,$A,$k1) { - $lim = $lim|0; - $e = $e|0; - $d0 = $d0|0; - $k_off = $k_off|0; - $A = $A|0; - $k1 = $k1|0; - var $$09 = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum34 = 0, $$sum5 = 0, $$sum6 = 0, $$sum7 = 0, $0 = 0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0; - var $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0; - var $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0; - var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0.0, $82 = 0; - var $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $e0$010 = 0, $e2$011 = 0; - var $i$08 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $lim >> 2; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $$sum = (($k_off) + ($d0))|0; - $2 = (($e) + ($$sum<<2)|0); - $3 = (($e) + ($d0<<2)|0); - $$sum1 = (($k1) + 1)|0; - $$sum2 = $k1 << 1; - $$sum34 = $$sum2 | 1; - $$sum5 = ($k1*3)|0; - $$sum6 = (($$sum5) + 1)|0; - $$sum7 = $k1 << 2; - $$09 = $A;$e0$010 = $3;$e2$011 = $2;$i$08 = $0; - while(1) { - $4 = +HEAPF32[$e0$010>>2]; - $5 = +HEAPF32[$e2$011>>2]; - $6 = $4 - $5; - $7 = ((($e0$010)) + -4|0); - $8 = +HEAPF32[$7>>2]; - $9 = ((($e2$011)) + -4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 - $10; - $12 = $4 + $5; - HEAPF32[$e0$010>>2] = $12; - $13 = +HEAPF32[$9>>2]; - $14 = +HEAPF32[$7>>2]; - $15 = $13 + $14; - HEAPF32[$7>>2] = $15; - $16 = +HEAPF32[$$09>>2]; - $17 = $6 * $16; - $18 = ((($$09)) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = $11 * $19; - $21 = $17 - $20; - HEAPF32[$e2$011>>2] = $21; - $22 = +HEAPF32[$$09>>2]; - $23 = $11 * $22; - $24 = +HEAPF32[$18>>2]; - $25 = $6 * $24; - $26 = $23 + $25; - HEAPF32[$9>>2] = $26; - $27 = (($$09) + ($k1<<2)|0); - $28 = ((($e0$010)) + -8|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($e2$011)) + -8|0); - $31 = +HEAPF32[$30>>2]; - $32 = $29 - $31; - $33 = ((($e0$010)) + -12|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($e2$011)) + -12|0); - $36 = +HEAPF32[$35>>2]; - $37 = $34 - $36; - $38 = $29 + $31; - HEAPF32[$28>>2] = $38; - $39 = +HEAPF32[$35>>2]; - $40 = +HEAPF32[$33>>2]; - $41 = $39 + $40; - HEAPF32[$33>>2] = $41; - $42 = +HEAPF32[$27>>2]; - $43 = $32 * $42; - $44 = (($$09) + ($$sum1<<2)|0); - $45 = +HEAPF32[$44>>2]; - $46 = $37 * $45; - $47 = $43 - $46; - HEAPF32[$30>>2] = $47; - $48 = +HEAPF32[$27>>2]; - $49 = $37 * $48; - $50 = +HEAPF32[$44>>2]; - $51 = $32 * $50; - $52 = $49 + $51; - HEAPF32[$35>>2] = $52; - $53 = (($$09) + ($$sum2<<2)|0); - $54 = ((($e0$010)) + -16|0); - $55 = +HEAPF32[$54>>2]; - $56 = ((($e2$011)) + -16|0); - $57 = +HEAPF32[$56>>2]; - $58 = $55 - $57; - $59 = ((($e0$010)) + -20|0); - $60 = +HEAPF32[$59>>2]; - $61 = ((($e2$011)) + -20|0); - $62 = +HEAPF32[$61>>2]; - $63 = $60 - $62; - $64 = $55 + $57; - HEAPF32[$54>>2] = $64; - $65 = +HEAPF32[$61>>2]; - $66 = +HEAPF32[$59>>2]; - $67 = $65 + $66; - HEAPF32[$59>>2] = $67; - $68 = +HEAPF32[$53>>2]; - $69 = $58 * $68; - $70 = (($$09) + ($$sum34<<2)|0); - $71 = +HEAPF32[$70>>2]; - $72 = $63 * $71; - $73 = $69 - $72; - HEAPF32[$56>>2] = $73; - $74 = +HEAPF32[$53>>2]; - $75 = $63 * $74; - $76 = +HEAPF32[$70>>2]; - $77 = $58 * $76; - $78 = $75 + $77; - HEAPF32[$61>>2] = $78; - $79 = (($$09) + ($$sum5<<2)|0); - $80 = ((($e0$010)) + -24|0); - $81 = +HEAPF32[$80>>2]; - $82 = ((($e2$011)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = $81 - $83; - $85 = ((($e0$010)) + -28|0); - $86 = +HEAPF32[$85>>2]; - $87 = ((($e2$011)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = $86 - $88; - $90 = $81 + $83; - HEAPF32[$80>>2] = $90; - $91 = +HEAPF32[$87>>2]; - $92 = +HEAPF32[$85>>2]; - $93 = $91 + $92; - HEAPF32[$85>>2] = $93; - $94 = +HEAPF32[$79>>2]; - $95 = $84 * $94; - $96 = (($$09) + ($$sum6<<2)|0); - $97 = +HEAPF32[$96>>2]; - $98 = $89 * $97; - $99 = $95 - $98; - HEAPF32[$82>>2] = $99; - $100 = +HEAPF32[$79>>2]; - $101 = $89 * $100; - $102 = +HEAPF32[$96>>2]; - $103 = $84 * $102; - $104 = $101 + $103; - HEAPF32[$87>>2] = $104; - $105 = ((($e0$010)) + -32|0); - $106 = ((($e2$011)) + -32|0); - $107 = (($$09) + ($$sum7<<2)|0); - $108 = (($i$08) + -1)|0; - $109 = ($i$08|0)>(1); - if ($109) { - $$09 = $107;$e0$010 = $105;$e2$011 = $106;$i$08 = $108; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_s_loop($n,$e,$i_off,$k_off,$A,$a_off,$k0) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $k_off = $k_off|0; - $A = $A|0; - $a_off = $a_off|0; - $k0 = $k0|0; - var $$sum = 0, $0 = 0.0, $1 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0.0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0; - var $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0; - var $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0; - var $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $ee0$02 = 0, $ee2$03 = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$A>>2]; - $1 = ((($A)) + 4|0); - $2 = +HEAPF32[$1>>2]; - $3 = (($A) + ($a_off<<2)|0); - $4 = +HEAPF32[$3>>2]; - $5 = (($a_off) + 1)|0; - $6 = (($A) + ($5<<2)|0); - $7 = +HEAPF32[$6>>2]; - $8 = $a_off << 1; - $9 = (($A) + ($8<<2)|0); - $10 = +HEAPF32[$9>>2]; - $11 = $8 | 1; - $12 = (($A) + ($11<<2)|0); - $13 = +HEAPF32[$12>>2]; - $14 = ($a_off*3)|0; - $15 = (($A) + ($14<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = (($14) + 1)|0; - $18 = (($A) + ($17<<2)|0); - $19 = +HEAPF32[$18>>2]; - $20 = ($n|0)>(0); - if (!($20)) { - return; - } - $$sum = (($k_off) + ($i_off))|0; - $21 = (($e) + ($$sum<<2)|0); - $22 = (($e) + ($i_off<<2)|0); - $23 = (0 - ($k0))|0; - $ee0$02 = $22;$ee2$03 = $21;$i$01 = $n; - while(1) { - $24 = +HEAPF32[$ee0$02>>2]; - $25 = +HEAPF32[$ee2$03>>2]; - $26 = $24 - $25; - $27 = ((($ee0$02)) + -4|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($ee2$03)) + -4|0); - $30 = +HEAPF32[$29>>2]; - $31 = $28 - $30; - $32 = $24 + $25; - HEAPF32[$ee0$02>>2] = $32; - $33 = +HEAPF32[$27>>2]; - $34 = +HEAPF32[$29>>2]; - $35 = $33 + $34; - HEAPF32[$27>>2] = $35; - $36 = $0 * $26; - $37 = $2 * $31; - $38 = $36 - $37; - HEAPF32[$ee2$03>>2] = $38; - $39 = $0 * $31; - $40 = $2 * $26; - $41 = $40 + $39; - HEAPF32[$29>>2] = $41; - $42 = ((($ee0$02)) + -8|0); - $43 = +HEAPF32[$42>>2]; - $44 = ((($ee2$03)) + -8|0); - $45 = +HEAPF32[$44>>2]; - $46 = $43 - $45; - $47 = ((($ee0$02)) + -12|0); - $48 = +HEAPF32[$47>>2]; - $49 = ((($ee2$03)) + -12|0); - $50 = +HEAPF32[$49>>2]; - $51 = $48 - $50; - $52 = $43 + $45; - HEAPF32[$42>>2] = $52; - $53 = +HEAPF32[$47>>2]; - $54 = +HEAPF32[$49>>2]; - $55 = $53 + $54; - HEAPF32[$47>>2] = $55; - $56 = $4 * $46; - $57 = $7 * $51; - $58 = $56 - $57; - HEAPF32[$44>>2] = $58; - $59 = $4 * $51; - $60 = $7 * $46; - $61 = $60 + $59; - HEAPF32[$49>>2] = $61; - $62 = ((($ee0$02)) + -16|0); - $63 = +HEAPF32[$62>>2]; - $64 = ((($ee2$03)) + -16|0); - $65 = +HEAPF32[$64>>2]; - $66 = $63 - $65; - $67 = ((($ee0$02)) + -20|0); - $68 = +HEAPF32[$67>>2]; - $69 = ((($ee2$03)) + -20|0); - $70 = +HEAPF32[$69>>2]; - $71 = $68 - $70; - $72 = $63 + $65; - HEAPF32[$62>>2] = $72; - $73 = +HEAPF32[$67>>2]; - $74 = +HEAPF32[$69>>2]; - $75 = $73 + $74; - HEAPF32[$67>>2] = $75; - $76 = $10 * $66; - $77 = $13 * $71; - $78 = $76 - $77; - HEAPF32[$64>>2] = $78; - $79 = $10 * $71; - $80 = $13 * $66; - $81 = $80 + $79; - HEAPF32[$69>>2] = $81; - $82 = ((($ee0$02)) + -24|0); - $83 = +HEAPF32[$82>>2]; - $84 = ((($ee2$03)) + -24|0); - $85 = +HEAPF32[$84>>2]; - $86 = $83 - $85; - $87 = ((($ee0$02)) + -28|0); - $88 = +HEAPF32[$87>>2]; - $89 = ((($ee2$03)) + -28|0); - $90 = +HEAPF32[$89>>2]; - $91 = $88 - $90; - $92 = $83 + $85; - HEAPF32[$82>>2] = $92; - $93 = +HEAPF32[$87>>2]; - $94 = +HEAPF32[$89>>2]; - $95 = $93 + $94; - HEAPF32[$87>>2] = $95; - $96 = $16 * $86; - $97 = $19 * $91; - $98 = $96 - $97; - HEAPF32[$84>>2] = $98; - $99 = $16 * $91; - $100 = $19 * $86; - $101 = $100 + $99; - HEAPF32[$89>>2] = $101; - $102 = (($ee0$02) + ($23<<2)|0); - $103 = (($ee2$03) + ($23<<2)|0); - $104 = (($i$01) + -1)|0; - $105 = ($i$01|0)>(1); - if ($105) { - $ee0$02 = $102;$ee2$03 = $103;$i$01 = $104; - } else { - break; - } - } - return; -} -function _imdct_step3_inner_s_loop_ld654($n,$e,$i_off,$A,$base_n) { - $n = $n|0; - $e = $e|0; - $i_off = $i_off|0; - $A = $A|0; - $base_n = $base_n|0; - var $$sum = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0; - var $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0; - var $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0; - var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0, $71 = 0, $8 = 0, $9 = 0.0, $z$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $base_n >> 3; - $1 = (($A) + ($0<<2)|0); - $2 = +HEAPF32[$1>>2]; - $3 = $n << 4; - $$sum = (($i_off) - ($3))|0; - $4 = (($e) + ($$sum<<2)|0); - $5 = ($$sum|0)<($i_off|0); - if (!($5)) { - return; - } - $6 = (($e) + ($i_off<<2)|0); - $z$01 = $6; - while(1) { - $7 = +HEAPF32[$z$01>>2]; - $8 = ((($z$01)) + -32|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($z$01)) + -4|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($z$01)) + -36|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; - $16 = $7 + $9; - HEAPF32[$z$01>>2] = $16; - $17 = +HEAPF32[$11>>2]; - $18 = +HEAPF32[$13>>2]; - $19 = $17 + $18; - HEAPF32[$11>>2] = $19; - HEAPF32[$8>>2] = $10; - HEAPF32[$13>>2] = $15; - $20 = ((($z$01)) + -8|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($z$01)) + -40|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 - $23; - $25 = ((($z$01)) + -12|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($z$01)) + -44|0); - $28 = +HEAPF32[$27>>2]; - $29 = $26 - $28; - $30 = $21 + $23; - HEAPF32[$20>>2] = $30; - $31 = +HEAPF32[$25>>2]; - $32 = +HEAPF32[$27>>2]; - $33 = $31 + $32; - HEAPF32[$25>>2] = $33; - $34 = $24 + $29; - $35 = $2 * $34; - HEAPF32[$22>>2] = $35; - $36 = $29 - $24; - $37 = $2 * $36; - HEAPF32[$27>>2] = $37; - $38 = ((($z$01)) + -48|0); - $39 = +HEAPF32[$38>>2]; - $40 = ((($z$01)) + -16|0); - $41 = +HEAPF32[$40>>2]; - $42 = $39 - $41; - $43 = ((($z$01)) + -20|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($z$01)) + -52|0); - $46 = +HEAPF32[$45>>2]; - $47 = $44 - $46; - $48 = $39 + $41; - HEAPF32[$40>>2] = $48; - $49 = +HEAPF32[$43>>2]; - $50 = +HEAPF32[$45>>2]; - $51 = $49 + $50; - HEAPF32[$43>>2] = $51; - HEAPF32[$38>>2] = $47; - HEAPF32[$45>>2] = $42; - $52 = ((($z$01)) + -56|0); - $53 = +HEAPF32[$52>>2]; - $54 = ((($z$01)) + -24|0); - $55 = +HEAPF32[$54>>2]; - $56 = $53 - $55; - $57 = ((($z$01)) + -28|0); - $58 = +HEAPF32[$57>>2]; - $59 = ((($z$01)) + -60|0); - $60 = +HEAPF32[$59>>2]; - $61 = $58 - $60; - $62 = $53 + $55; - HEAPF32[$54>>2] = $62; - $63 = +HEAPF32[$57>>2]; - $64 = +HEAPF32[$59>>2]; - $65 = $63 + $64; - HEAPF32[$57>>2] = $65; - $66 = $56 + $61; - $67 = $2 * $66; - HEAPF32[$52>>2] = $67; - $68 = $56 - $61; - $69 = $2 * $68; - HEAPF32[$59>>2] = $69; - _iter_54($z$01); - _iter_54($8); - $70 = ((($z$01)) + -64|0); - $71 = ($70>>>0)>($4>>>0); - if ($71) { - $z$01 = $70; - } else { - break; - } - } - return; -} -function _iter_54($z) { - $z = $z|0; - var $0 = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF32[$z>>2]; - $1 = ((($z)) + -16|0); - $2 = +HEAPF32[$1>>2]; - $3 = $0 - $2; - $4 = $0 + $2; - $5 = ((($z)) + -8|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($z)) + -24|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 + $8; - $10 = $6 - $8; - $11 = $4 + $9; - HEAPF32[$z>>2] = $11; - $12 = $4 - $9; - HEAPF32[$5>>2] = $12; - $13 = ((($z)) + -12|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($z)) + -28|0); - $16 = +HEAPF32[$15>>2]; - $17 = $14 - $16; - $18 = $3 + $17; - HEAPF32[$1>>2] = $18; - $19 = $3 - $17; - HEAPF32[$7>>2] = $19; - $20 = ((($z)) + -4|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($z)) + -20|0); - $23 = +HEAPF32[$22>>2]; - $24 = $21 - $23; - $25 = $21 + $23; - $26 = +HEAPF32[$13>>2]; - $27 = +HEAPF32[$15>>2]; - $28 = $26 + $27; - $29 = $25 + $28; - HEAPF32[$20>>2] = $29; - $30 = $25 - $28; - HEAPF32[$13>>2] = $30; - $31 = $24 - $10; - HEAPF32[$22>>2] = $31; - $32 = $10 + $24; - HEAPF32[$15>>2] = $32; - return; -} -function _draw_line($output,$x0,$y0,$x1,$y1,$n) { - $output = $output|0; - $x0 = $x0|0; - $y0 = $y0|0; - $x1 = $x1|0; - $y1 = $y1|0; - $n = $n|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $err$05 = 0, $err$1 = 0, $exitcond = 0, $ispos = 0, $ispos1 = 0, $n$x1 = 0, $neg = 0, $neg2 = 0, $sy$0 = 0, $sy$0$pn = 0, $x$0 = 0, $x$03 = 0, $x$06 = 0; - var $y$04 = 0, $y$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (($y1) - ($y0))|0; - $1 = (($x1) - ($x0))|0; - $ispos = ($0|0)>(-1); - $neg = (0 - ($0))|0; - $2 = $ispos ? $0 : $neg; - $3 = (($0|0) / ($1|0))&-1; - $4 = $0 >> 31; - $5 = $4 | 1; - $ispos1 = ($3|0)>(-1); - $neg2 = (0 - ($3))|0; - $6 = $ispos1 ? $3 : $neg2; - $7 = Math_imul($6, $1)|0; - $8 = (($2) - ($7))|0; - $9 = ($x1|0)>($n|0); - $n$x1 = $9 ? $n : $x1; - $10 = ($n$x1|0)>($x0|0); - if (!($10)) { - return; - } - $11 = (9260 + ($y0<<2)|0); - $12 = +HEAPF32[$11>>2]; - $13 = (($output) + ($x0<<2)|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 * $14; - HEAPF32[$13>>2] = $15; - $x$03 = (($x0) + 1)|0; - $16 = ($x$03|0)<($n$x1|0); - if (!($16)) { - return; - } - $17 = ($n|0)<($x1|0); - $18 = $17 ? $n : $x1; - $err$05 = 0;$x$06 = $x$03;$y$04 = $y0; - while(1) { - $19 = (($err$05) + ($8))|0; - $20 = ($19|0)<($1|0); - $sy$0 = $20 ? 0 : $5; - $21 = $20 ? 0 : $1; - $err$1 = (($19) - ($21))|0; - $sy$0$pn = (($y$04) + ($3))|0; - $y$1 = (($sy$0$pn) + ($sy$0))|0; - $22 = (9260 + ($y$1<<2)|0); - $23 = +HEAPF32[$22>>2]; - $24 = (($output) + ($x$06<<2)|0); - $25 = +HEAPF32[$24>>2]; - $26 = $23 * $25; - HEAPF32[$24>>2] = $26; - $x$0 = (($x$06) + 1)|0; - $exitcond = ($x$0|0)==($18|0); + $5 = (+($$010|0)); + $6 = $5 + 0.5; + $7 = $6 / $4; + $8 = $7 * 0.5; + $9 = $8 * 3.1415926535897931; + $10 = (+Math_sin((+$9))); + $11 = $10; + $12 = (+_square($11)); + $13 = $12; + $14 = $13 * 1.5707963267948966; + $15 = (+Math_sin((+$14))); + $16 = $15; + $17 = (($1) + ($$010<<2)|0); + HEAPF32[$17>>2] = $16; + $18 = (($$010) + 1)|0; + $exitcond = ($18|0)==($2|0); if ($exitcond) { break; } else { - $err$05 = $err$1;$x$06 = $x$0;$y$04 = $y$1; + $$010 = $18; } } return; } -function _make_block_array($mem,$count,$size) { - $mem = $mem|0; - $count = $count|0; - $size = $size|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $exitcond = 0, $i$01 = 0, $q$02 = 0, label = 0, sp = 0; +function _compute_bitreverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$013 = 0, $10 = 0, $11 = 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; - $0 = ($count|0)>(0); - if (!($0)) { - return ($mem|0); + $2 = $0 >> 3; + $3 = ($2|0)>(0); + if (!($3)) { + return; } - $1 = (($mem) + ($count<<2)|0); - $i$01 = 0;$q$02 = $1; + $4 = (_ilog($0)|0); + $5 = (36 - ($4))|0; + $$013 = 0; while(1) { - $2 = (($mem) + ($i$01<<2)|0); - HEAP32[$2>>2] = $q$02; - $3 = (($q$02) + ($size)|0); - $4 = (($i$01) + 1)|0; - $exitcond = ($4|0)==($count|0); + $6 = (_bit_reverse($$013)|0); + $7 = $6 >>> $5; + $8 = $7 << 2; + $9 = $8&65535; + $10 = (($1) + ($$013<<1)|0); + HEAP16[$10>>1] = $9; + $11 = (($$013) + 1)|0; + $exitcond = ($11|0)==($2|0); if ($exitcond) { break; } else { - $i$01 = $4;$q$02 = $3; + $$013 = $11; } } - return ($mem|0); + return; } -function _codebook_decode_deinterleave_repeat($f,$c,$outputs,$ch,$c_inter_p,$p_inter_p,$len,$total_decode) { - $f = $f|0; - $c = $c|0; - $outputs = $outputs|0; - $ch = $ch|0; - $c_inter_p = $c_inter_p|0; - $p_inter_p = $p_inter_p|0; - $len = $len|0; - $total_decode = $total_decode|0; - var $$ = 0, $$0 = 0, $$0126 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$p_inter$1 = 0, $$p_inter$3 = 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; - 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, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0.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.0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $c_inter$0$lcssa = 0, $c_inter$025 = 0, $c_inter$115 = 0, $c_inter$319 = 0, $c_inter$5 = 0; - var $effective$024 = 0, $effective$1 = 0, $exitcond = 0, $exitcond30 = 0, $i$013 = 0, $i$118 = 0, $last$014 = 0.0, $p_inter$0$lcssa = 0, $p_inter$023 = 0, $p_inter$112 = 0, $p_inter$317 = 0, $p_inter$5 = 0, $z$0 = 0, label = 0, sp = 0; +function _square($0) { + $0 = +$0; + var $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[$c_inter_p>>2]|0; - $1 = HEAP32[$p_inter_p>>2]|0; - $2 = HEAP32[$c>>2]|0; - $3 = ((($c)) + 21|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - if ($5) { - _error($f,21); - $$0 = 0; - return ($$0|0); - } - $6 = ($total_decode|0)>(0); - L5: do { - if ($6) { - $7 = ((($f)) + 1396|0); - $8 = ((($f)) + 1392|0); - $9 = ((($c)) + 8|0); - $10 = ((($c)) + 23|0); - $11 = Math_imul($len, $ch)|0; - $12 = ((($c)) + 22|0); - $13 = ((($c)) + 28|0); - $14 = ((($c)) + 28|0); - $15 = ((($c)) + 2092|0); - $$0126 = $total_decode;$c_inter$025 = $0;$effective$024 = $2;$p_inter$023 = $1; - while(1) { - $16 = HEAP32[$7>>2]|0; - $17 = ($16|0)<(10); - if ($17) { - _prep_huffman($f); - } - $18 = HEAP32[$8>>2]|0; - $19 = $18 & 1023; - $20 = (((($c)) + 36|0) + ($19<<1)|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($21<<16>>16)>(-1); - if ($23) { - $24 = HEAP32[$9>>2]|0; - $25 = (($24) + ($22)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $18 >>> $27; - HEAP32[$8>>2] = $28; - $29 = HEAP32[$7>>2]|0; - $30 = (($29) - ($27))|0; - $31 = ($30|0)<(0); - $$ = $31 ? 0 : $30; - HEAP32[$7>>2] = $$; - $$2 = $31 ? -1 : $22; - $z$0 = $$2; - } else { - $32 = (_codebook_decode_scalar_raw($f,$c)|0); - $z$0 = $32; - } - $33 = HEAP8[$10>>0]|0; - $34 = ($33<<24>>24)==(0); - if (!($34)) { - $35 = HEAP32[$15>>2]|0; - $36 = ($z$0|0)<($35|0); - if (!($36)) { - label = 12; - break; - } - } - $37 = ($z$0|0)<(0); - if ($37) { - break; - } - $44 = Math_imul($p_inter$023, $ch)|0; - $45 = (($effective$024) + ($44))|0; - $46 = (($45) + ($c_inter$025))|0; - $47 = ($46|0)>($11|0); - $48 = (($11) - ($44))|0; - $49 = (($48) + ($c_inter$025))|0; - $effective$1 = $47 ? $49 : $effective$024; - $50 = HEAP32[$c>>2]|0; - $51 = Math_imul($50, $z$0)|0; - $52 = HEAP8[$12>>0]|0; - $53 = ($52<<24>>24)==(0); - $54 = ($effective$1|0)>(0); - if ($53) { - if ($54) { - $c_inter$319 = $c_inter$025;$i$118 = 0;$p_inter$317 = $p_inter$023; - while(1) { - $70 = (($outputs) + ($c_inter$319<<2)|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)==(0|0); - if (!($72)) { - $73 = HEAP32[$13>>2]|0; - $74 = (($i$118) + ($51))|0; - $75 = (($73) + ($74<<2)|0); - $76 = +HEAPF32[$75>>2]; - $77 = $76 + 0.0; - $78 = (($71) + ($p_inter$317<<2)|0); - $79 = +HEAPF32[$78>>2]; - $80 = $79 + $77; - HEAPF32[$78>>2] = $80; - } - $81 = (($c_inter$319) + 1)|0; - $82 = ($81|0)==($ch|0); - $83 = $82&1; - $$p_inter$3 = (($83) + ($p_inter$317))|0; - $$4 = $82 ? 0 : $81; - $84 = (($i$118) + 1)|0; - $exitcond30 = ($84|0)==($effective$1|0); - if ($exitcond30) { - $c_inter$5 = $$4;$p_inter$5 = $$p_inter$3; - break; - } else { - $c_inter$319 = $$4;$i$118 = $84;$p_inter$317 = $$p_inter$3; - } - } - } else { - $c_inter$5 = $c_inter$025;$p_inter$5 = $p_inter$023; - } - } else { - if ($54) { - $55 = HEAP32[$14>>2]|0; - $c_inter$115 = $c_inter$025;$i$013 = 0;$last$014 = 0.0;$p_inter$112 = $p_inter$023; - while(1) { - $56 = (($i$013) + ($51))|0; - $57 = (($55) + ($56<<2)|0); - $58 = +HEAPF32[$57>>2]; - $59 = $last$014 + $58; - $60 = (($outputs) + ($c_inter$115<<2)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if (!($62)) { - $63 = (($61) + ($p_inter$112<<2)|0); - $64 = +HEAPF32[$63>>2]; - $65 = $59 + $64; - HEAPF32[$63>>2] = $65; - } - $66 = (($c_inter$115) + 1)|0; - $67 = ($66|0)==($ch|0); - $68 = $67&1; - $$p_inter$1 = (($68) + ($p_inter$112))|0; - $$3 = $67 ? 0 : $66; - $69 = (($i$013) + 1)|0; - $exitcond = ($69|0)==($effective$1|0); - if ($exitcond) { - $c_inter$5 = $$3;$p_inter$5 = $$p_inter$1; - break; - } else { - $c_inter$115 = $$3;$i$013 = $69;$last$014 = $59;$p_inter$112 = $$p_inter$1; - } - } - } else { - $c_inter$5 = $c_inter$025;$p_inter$5 = $p_inter$023; - } - } - $85 = (($$0126) - ($effective$1))|0; - $86 = ($85|0)>(0); - if ($86) { - $$0126 = $85;$c_inter$025 = $c_inter$5;$effective$024 = $effective$1;$p_inter$023 = $p_inter$5; - } else { - $c_inter$0$lcssa = $c_inter$5;$p_inter$0$lcssa = $p_inter$5; - break L5; - } - } - if ((label|0) == 12) { - ___assert_fail((20380|0),(17015|0),1430,(20416|0)); - // unreachable; - } - $38 = ((($f)) + 1376|0); - $39 = HEAP8[$38>>0]|0; - $40 = ($39<<24>>24)==(0); - if ($40) { - $41 = ((($f)) + 1384|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==(0); - if (!($43)) { - $$0 = 0; - return ($$0|0); - } - } - _error($f,21); - $$0 = 0; - return ($$0|0); - } else { - $c_inter$0$lcssa = $0;$p_inter$0$lcssa = $1; - } - } while(0); - HEAP32[$c_inter_p>>2] = $c_inter$0$lcssa; - HEAP32[$p_inter_p>>2] = $p_inter$0$lcssa; - $$0 = 1; - return ($$0|0); + $1 = $0 * $0; + return (+$1); } -function _residue_decode($f,$book,$target,$offset,$n,$rtype) { - $f = $f|0; - $book = $book|0; - $target = $target|0; - $offset = $offset|0; - $n = $n|0; - $rtype = $rtype|0; - var $$0 = 0, $$017 = 0, $$sum = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $k$04 = 0, $k$18 = 0, label = 0, sp = 0; +function _include_in_sort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $narrow = 0, $not$ = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($rtype|0)==(0); - if ($0) { - $2 = HEAP32[$book>>2]|0; - $3 = (($n|0) / ($2|0))&-1; - $4 = ($3|0)>(0); - if (!($4)) { - $$0 = 1; - return ($$0|0); - } - $5 = (($n) - ($offset))|0; - $k$04 = 0; - while(1) { - $$sum = (($k$04) + ($offset))|0; - $8 = (($target) + ($$sum<<2)|0); - $9 = (($5) - ($k$04))|0; - $10 = (_codebook_decode_step($f,$book,$8,$9,$3)|0); - $11 = ($10|0)==(0); - $6 = (($k$04) + 1)|0; - if ($11) { - $$0 = 0; - label = 10; - break; - } - $7 = ($6|0)<($3|0); - if ($7) { - $k$04 = $6; - } else { - $$0 = 1; - label = 10; - break; - } - } - if ((label|0) == 10) { - return ($$0|0); - } - } else { - $1 = ($n|0)>(0); - if (!($1)) { - $$0 = 1; - return ($$0|0); - } - $$017 = $offset;$k$18 = 0; - while(1) { - $12 = (($target) + ($$017<<2)|0); - $13 = (($n) - ($k$18))|0; - $14 = (_codebook_decode($f,$book,$12,$13)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - label = 10; - break; - } - $16 = HEAP32[$book>>2]|0; - $17 = (($16) + ($k$18))|0; - $18 = (($16) + ($$017))|0; - $19 = ($17|0)<($n|0); - if ($19) { - $$017 = $18;$k$18 = $17; - } else { - $$0 = 1; - label = 10; - break; - } - } - if ((label|0) == 10) { - return ($$0|0); - } - } - return (0)|0; -} -function _codebook_decode_step($f,$c,$output,$len,$step) { - $f = $f|0; - $c = $c|0; - $output = $output|0; - $len = $len|0; - $step = $step|0; - var $$0 = 0, $$len = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $last$0$ = 0.0, $last$03 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_codebook_decode_start($f,$c)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } - $2 = HEAP32[$c>>2]|0; - $3 = ($2|0)<($len|0); - $$len = $3 ? $2 : $len; - $4 = Math_imul($2, $0)|0; - $5 = ($$len|0)>(0); - if (!($5)) { - $$0 = 1; - return ($$0|0); - } - $6 = ((($c)) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($c)) + 22|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ($2|0)<($len|0); - $12 = $11 ? $2 : $len; - $i$02 = 0;$last$03 = 0.0; - while(1) { - $13 = (($i$02) + ($4))|0; - $14 = (($7) + ($13<<2)|0); - $15 = +HEAPF32[$14>>2]; - $16 = $last$03 + $15; - $17 = Math_imul($i$02, $step)|0; - $18 = (($output) + ($17<<2)|0); - $19 = +HEAPF32[$18>>2]; - $20 = $19 + $16; - HEAPF32[$18>>2] = $20; - $last$0$ = $10 ? $last$03 : $16; - $21 = (($i$02) + 1)|0; - $exitcond = ($21|0)==($12|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$02 = $21;$last$03 = $last$0$; - } - } - return ($$0|0); -} -function _codebook_decode($f,$c,$output,$len) { - $f = $f|0; - $c = $c|0; - $output = $output|0; - $len = $len|0; - var $$0 = 0, $$len = 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.0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0; - var $i$05 = 0, $i$14 = 0, $last$06 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_codebook_decode_start($f,$c)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } - $2 = HEAP32[$c>>2]|0; - $3 = ($2|0)<($len|0); - $$len = $3 ? $2 : $len; - $4 = Math_imul($2, $0)|0; - $5 = ((($c)) + 22|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - $8 = ($$len|0)>(0); - if ($7) { - if (!($8)) { - $$0 = 1; - return ($$0|0); - } - $14 = ((($c)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($2|0)<($len|0); - $17 = $16 ? $2 : $len; - $i$14 = 0; - while(1) { - $28 = (($i$14) + ($4))|0; - $29 = (($15) + ($28<<2)|0); - $30 = +HEAPF32[$29>>2]; - $31 = $30 + 0.0; - $32 = (($output) + ($i$14<<2)|0); - $33 = +HEAPF32[$32>>2]; - $34 = $33 + $31; - HEAPF32[$32>>2] = $34; - $35 = (($i$14) + 1)|0; - $exitcond = ($35|0)==($17|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$14 = $35; - } - } - return ($$0|0); - } else { - if (!($8)) { - $$0 = 1; - return ($$0|0); - } - $9 = ((($c)) + 28|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($c)) + 12|0); - $12 = ($2|0)<($len|0); - $13 = $12 ? $2 : $len; - $i$05 = 0;$last$06 = 0.0; - while(1) { - $18 = (($i$05) + ($4))|0; - $19 = (($10) + ($18<<2)|0); - $20 = +HEAPF32[$19>>2]; - $21 = $last$06 + $20; - $22 = (($output) + ($i$05<<2)|0); - $23 = +HEAPF32[$22>>2]; - $24 = $23 + $21; - HEAPF32[$22>>2] = $24; - $25 = +HEAPF32[$11>>2]; - $26 = $21 + $25; - $27 = (($i$05) + 1)|0; - $exitcond9 = ($27|0)==($13|0); - if ($exitcond9) { - $$0 = 1; - break; - } else { - $i$05 = $27;$last$06 = $26; - } - } - return ($$0|0); - } - return (0)|0; -} -function _codebook_decode_start($f,$c) { - $f = $f|0; - $c = $c|0; - var $$ = 0, $$0 = 0, $$1 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($c)) + 21|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(0); - if ($2) { - _error($f,21); - $$0 = -1; - return ($$0|0); - } - $3 = ((($f)) + 1396|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(10); - if ($5) { - _prep_huffman($f); - } - $6 = ((($f)) + 1392|0); - $7 = HEAP32[$6>>2]|0; - $8 = $7 & 1023; - $9 = (((($c)) + 36|0) + ($8<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10 << 16 >> 16; - $12 = ($10<<16>>16)>(-1); - if ($12) { - $13 = ((($c)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($14) + ($11)|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $7 >>> $17; - HEAP32[$6>>2] = $18; - $19 = HEAP32[$3>>2]|0; - $20 = (($19) - ($17))|0; - $21 = ($20|0)<(0); - $$ = $21 ? 0 : $20; - HEAP32[$3>>2] = $$; - $$1 = $21 ? -1 : $11; - $z$0 = $$1; - } else { - $22 = (_codebook_decode_scalar_raw($f,$c)|0); - $z$0 = $22; - } - $23 = ((($c)) + 23|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(0); - if (!($25)) { - $26 = ((($c)) + 2092|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($z$0|0)<($27|0); - if (!($28)) { - ___assert_fail((20336|0),(17015|0),1336,(20358|0)); - // unreachable; - } - } - $29 = ($z$0|0)<(0); - if (!($29)) { - $$0 = $z$0; - return ($$0|0); - } - $30 = ((($f)) + 1376|0); - $31 = HEAP8[$30>>0]|0; - $32 = ($31<<24>>24)==(0); - if ($32) { - $33 = ((($f)) + 1384|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0); - if (!($35)) { - $$0 = $z$0; - return ($$0|0); - } - } - _error($f,21); - $$0 = $z$0; - return ($$0|0); -} -function _stbi__pnm_info($s,$x,$y,$comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - var $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $or$cond = 0, $switch = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $c = sp; - _stbi__rewind($s); - $0 = (_stbi__get8($s)|0); - $1 = (_stbi__get8($s)|0); - $2 = ($0<<24>>24)==(80); - $$off = (($1) + -53)<<24>>24; - $switch = ($$off&255)<(2); - $or$cond = $2 & $switch; - if (!($or$cond)) { - _stbi__rewind($s); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ($1<<24>>24)==(54); - $4 = $3 ? 3 : 1; - HEAP32[$comp>>2] = $4; - $5 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $5; - _stbi__pnm_skip_whitespace($s,$c); - $6 = (_stbi__pnm_getinteger($s,$c)|0); - HEAP32[$x>>2] = $6; - _stbi__pnm_skip_whitespace($s,$c); - $7 = (_stbi__pnm_getinteger($s,$c)|0); - HEAP32[$y>>2] = $7; - _stbi__pnm_skip_whitespace($s,$c); - $8 = (_stbi__pnm_getinteger($s,$c)|0); - $9 = ($8|0)>(255); - if (!($9)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - _stbi__err(21452); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__get8($s) { - $s = $s|0; - var $$0 = 0, $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, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 168|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($s)) + 172|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); + $2 = ((($0)) + 23|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)==(0); + $5 = ($1<<24>>24)==(-1); if ($4) { - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $$0 = $6; - return ($$0|0); + $6 = ($1&255)>(10); + $not$ = $5 ^ 1; + $narrow = $6 & $not$; + $$$ = $narrow&1; + return ($$$|0); } - $7 = ((($s)) + 32|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $$0 = 0; - return ($$0|0); + if ($5) { + ___assert_fail((17830|0),(17088|0),742,(17845|0)); + // unreachable; + } else { + return 1; } - _stbi__refill_buffer($s); - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 1|0); - HEAP32[$0>>2] = $11; - $12 = HEAP8[$10>>0]|0; - $$0 = $12; - return ($$0|0); + return (0)|0; } -function _stbi__rewind($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function _uint32_compare($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($s)) + 176|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($s)) + 168|0); - HEAP32[$2>>2] = $1; - $3 = ((($s)) + 180|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($s)) + 172|0); - HEAP32[$5>>2] = $4; - return; + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = ($2>>>0)<($3>>>0); + $5 = ($2>>>0)>($3>>>0); + $6 = $5&1; + $7 = $4 ? -1 : $6; + return ($7|0); } -function _stbi__skip($s,$n) { - $s = $s|0; - $n = $n|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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; +function _add_entry($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 $$sink = 0, $$sink1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($n|0)<(0); - if ($0) { - $1 = ((($s)) + 172|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($s)) + 168|0); - HEAP32[$3>>2] = $2; + $6 = ((($0)) + 23|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + $9 = ((($0)) + 32|0); + $10 = HEAP32[$9>>2]|0; + if ($8) { + $11 = (($10) + ($2<<2)|0); + $$sink = $1;$$sink1 = $11; + HEAP32[$$sink1>>2] = $$sink; + return; + } else { + $12 = (($10) + ($3<<2)|0); + HEAP32[$12>>2] = $1; + $13 = $4&255; + $14 = ((($0)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + ($3)|0); + HEAP8[$16>>0] = $13; + $17 = (($5) + ($3<<2)|0); + $$sink = $2;$$sink1 = $17; + HEAP32[$$sink1>>2] = $$sink; return; } - $4 = ((($s)) + 16|0); +} +function _LoadSound($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy1 = sp + 20|0; + $2 = sp; + _LoadWave($2,$1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _LoadSoundFromWave($0,$$byval_copy1); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadWave($$byval_copy1); + STACKTOP = sp;return; +} +function _LoadSoundFromWave($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$0$0 = 0, $$sroa$5$0 = 0, $$sroa$5$0$$sroa_idx7 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx9 = 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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = ((($1)) + 16|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = ((($s)) + 172|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($s)) + 168|0); - $10 = HEAP32[$9>>2]|0; - $11 = $8; - $12 = $10; - $13 = (($11) - ($12))|0; - $14 = ($13|0)<($n|0); - if ($14) { - HEAP32[$9>>2] = $8; - $15 = ((($s)) + 20|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($s)) + 28|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($n) - ($13))|0; - FUNCTION_TABLE_vii[$16 & 63]($18,$19); - return; - } - } - $20 = ((($s)) + 168|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($n)|0); - HEAP32[$20>>2] = $22; - return; -} -function _stbi__tga_get_comp($bits_per_pixel,$is_grey,$is_rgb16) { - $bits_per_pixel = $bits_per_pixel|0; - $is_grey = $is_grey|0; - $is_rgb16 = $is_rgb16|0; - var $$0 = 0, $$mux = 0, $$not = 0, $$not1 = 0, $0 = 0, $1 = 0, $brmerge = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($is_rgb16|0)!=(0|0); - if ($0) { - HEAP32[$is_rgb16>>2] = 0; - } - switch ($bits_per_pixel|0) { - case 8: { - $$0 = 1; - break; - } - case 16: { - $$not = ($is_grey|0)!=(0); - $$not1 = $0 ^ 1; - $brmerge = $$not | $$not1; - $$mux = $$not ? 2 : 3; - if ($brmerge) { - $$0 = $$mux; - } else { - label = 6; - } - break; - } - case 15: { - if ($0) { - label = 6; - } else { - $$0 = 3; - } - break; - } - case 32: case 24: { - $1 = (($bits_per_pixel|0) / 8)&-1; - $$0 = $1; - break; - } - default: { - $$0 = 0; - } - } - if ((label|0) == 6) { - HEAP32[$is_rgb16>>2] = 1; - $$0 = 3; - } - return ($$0|0); -} -function _stbi__refill_buffer($s) { - $s = $s|0; - var $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; - $0 = ((($s)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($s)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($s)) + 40|0); - $5 = ((($s)) + 36|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_iiii[$1 & 15]($3,$4,$6)|0); - $8 = ($7|0)==(0); - if ($8) { - $9 = ((($s)) + 32|0); - HEAP32[$9>>2] = 0; - $10 = ((($s)) + 168|0); - HEAP32[$10>>2] = $4; - $11 = ((($s)) + 41|0); - $12 = ((($s)) + 172|0); - HEAP32[$12>>2] = $11; - $13 = HEAP32[$10>>2]|0; - HEAP8[$13>>0] = 0; - return; - } else { - $14 = ((($s)) + 168|0); - HEAP32[$14>>2] = $4; - $15 = (((($s)) + 40|0) + ($7)|0); - $16 = ((($s)) + 172|0); - HEAP32[$16>>2] = $15; - return; - } -} -function _stbi__pnm_skip_whitespace($s,$c) { - $s = $s|0; - $c = $c|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; - L1: while(1) { - $0 = (_stbi__at_eof($s)|0); - $1 = ($0|0)==(0); - if ($1) { - $2 = HEAP8[$c>>0]|0; - $3 = (_stbi__pnm_isspace($2)|0); - $4 = ($3|0)==(0); - if (!($4)) { - $5 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $5; - continue; - } - } - $6 = (_stbi__at_eof($s)|0); - $7 = ($6|0)==(0); - if (!($7)) { - label = 10; - break; - } - $8 = HEAP8[$c>>0]|0; - $9 = ($8<<24>>24)==(35); - if (!($9)) { - label = 10; - break; - } - $10 = (_stbi__at_eof($s)|0); - $11 = ($10|0)==(0); - if (!($11)) { - continue; - } - while(1) { - $12 = HEAP8[$c>>0]|0; - switch ($12<<24>>24) { - case 13: case 10: { - continue L1; - break; - } - default: { - } - } - $13 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $13; - $14 = (_stbi__at_eof($s)|0); - $15 = ($14|0)==(0); - if (!($15)) { - continue L1; - } - } - } - if ((label|0) == 10) { - return; - } -} -function _stbi__pnm_getinteger($s,$c) { - $s = $s|0; - $c = $c|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, $value$0$lcssa = 0, $value$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__at_eof($s)|0); - $1 = ($0|0)==(0); - if ($1) { - $value$01 = 0; - } else { - $value$0$lcssa = 0; - return ($value$0$lcssa|0); - } - while(1) { - $2 = HEAP8[$c>>0]|0; - $3 = (_stbi__pnm_isdigit($2)|0); - $4 = ($3|0)==(0); - if ($4) { - $value$0$lcssa = $value$01; - label = 4; - break; - } - $5 = ($value$01*10)|0; - $6 = $2 << 24 >> 24; - $7 = (($5) + -48)|0; - $8 = (($7) + ($6))|0; - $9 = (_stbi__get8($s)|0); - HEAP8[$c>>0] = $9; - $10 = (_stbi__at_eof($s)|0); - $11 = ($10|0)==(0); - if ($11) { - $value$01 = $8; - } else { - $value$0$lcssa = $8; - label = 4; - break; - } - } - if ((label|0) == 4) { - return ($value$0$lcssa|0); - } - return (0)|0; -} -function _stbi__at_eof($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $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, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = ((($s)) + 24|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($s)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_ii[$4 & 15]($6)|0); - $8 = ($7|0)==(0); - if ($8) { - $$0 = 0; - return ($$0|0); - } - $9 = ((($s)) + 32|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0); - if ($11) { - $$0 = 1; - return ($$0|0); - } - } - $12 = ((($s)) + 168|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($s)) + 172|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($13>>>0)>=($15>>>0); - $17 = $16&1; - $$0 = $17; - return ($$0|0); -} -function _stbi__pnm_isdigit($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $c$off = 0, label = 0, sp = 0; - sp = STACKTOP; - $c$off = (($c) + -48)<<24>>24; - $0 = ($c$off&255)<(10); - $1 = $0&1; - return ($1|0); -} -function _stbi__pnm_isspace($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $phitmp = 0, $switch$cast = 0, $switch$cast$clear = 0, $switch$downshift = 0, $switch$masked = 0, $switch$tableidx = 0, label = 0, sp = 0; - sp = STACKTOP; - $switch$tableidx = (($c) + -9)<<24>>24; - $0 = ($switch$tableidx&255)<(24); - if (!($0)) { - $1 = 0; - return ($1|0); - } - $switch$cast = $switch$tableidx&255; - $switch$cast$clear = $switch$cast & 16777215; - $switch$downshift = 8388639 >>> $switch$cast$clear; - $switch$masked = $switch$downshift & 16777215; - $phitmp = $switch$masked & 1; - $1 = $phitmp; - return ($1|0); -} -function _stbi__pic_is4($s,$str) { - $s = $s|0; - $str = $str|0; - var $$ = 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, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = HEAP8[$str>>0]|0; - $2 = ($0<<24>>24)==($1<<24>>24); - if (!($2)) { - return 0; - } - $3 = (_stbi__get8($s)|0); - $4 = ((($str)) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($3<<24>>24)==($5<<24>>24); - if (!($6)) { - return 0; - } - $7 = (_stbi__get8($s)|0); - $8 = ((($str)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($7<<24>>24)==($9<<24>>24); - if ($10) { - $11 = (_stbi__get8($s)|0); - $12 = ((($str)) + 3|0); - $13 = HEAP8[$12>>0]|0; - $14 = ($11<<24>>24)==($13<<24>>24); - $$ = $14&1; - return ($$|0); - } else { - return 0; - } - return (0)|0; -} -function _stbi__get16be($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = $1 << 8; - $3 = (_stbi__get8($s)|0); - $4 = $3&255; - $5 = $2 | $4; - return ($5|0); -} -function _stbi__get32be($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get16be($s)|0); - $1 = $0 << 16; - $2 = (_stbi__get16be($s)|0); - $3 = (($1) + ($2))|0; - return ($3|0); -} -function _stbi__bmp_parse_header($s,$info) { - $s = $s|0; - $info = $info|0; - var $$0 = 0, $$off = 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; - 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(66); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(77); - if ($3) { - (_stbi__get32le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - $4 = (_stbi__get32le($s)|0); - $5 = ((($info)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = (_stbi__get32le($s)|0); - $7 = ((($info)) + 8|0); - HEAP32[$7>>2] = $6; - $8 = ($6|0)==(12); - switch ($6|0) { - case 12: { - $9 = (_stbi__get16le($s)|0); - HEAP32[$s>>2] = $9; - $10 = (_stbi__get16le($s)|0); - $11 = ((($s)) + 4|0); - HEAP32[$11>>2] = $10; - break; - } - case 124: case 108: case 56: case 40: { - $12 = (_stbi__get32le($s)|0); - HEAP32[$s>>2] = $12; - $13 = (_stbi__get32le($s)|0); - $14 = ((($s)) + 4|0); - HEAP32[$14>>2] = $13; - break; - } - default: { - _stbi__err(21481); - $$0 = 0; - return ($$0|0); - } - } - $15 = (_stbi__get16le($s)|0); - $16 = ($15|0)==(1); - if (!($16)) { - _stbi__err(21493); - $$0 = 0; - return ($$0|0); - } - $17 = (_stbi__get16le($s)|0); - HEAP32[$info>>2] = $17; - $18 = ($17|0)==(1); - if ($18) { - _stbi__err(21501); - $$0 = 0; - return ($$0|0); - } - if ($8) { - $$0 = (1); - return ($$0|0); - } - $19 = (_stbi__get32le($s)|0); - $$off = (($19) + -1)|0; - $20 = ($$off>>>0)<(2); - if ($20) { - _stbi__err(21512); - $$0 = 0; - return ($$0|0); - } - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - $21 = $6 & -17; - $22 = ($21|0)==(40); - if (!($22)) { - switch ($6|0) { - case 108: case 124: { - break; - } - default: { - _stbi__err(21493); - $$0 = 0; - return ($$0|0); - } - } - $39 = (_stbi__get32le($s)|0); - $40 = ((($info)) + 12|0); - HEAP32[$40>>2] = $39; - $41 = (_stbi__get32le($s)|0); - $42 = ((($info)) + 16|0); - HEAP32[$42>>2] = $41; - $43 = (_stbi__get32le($s)|0); - $44 = ((($info)) + 20|0); - HEAP32[$44>>2] = $43; - $45 = (_stbi__get32le($s)|0); - $46 = ((($info)) + 24|0); - HEAP32[$46>>2] = $45; - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - $47 = ($6|0)==(124); - if (!($47)) { - $$0 = (1); - return ($$0|0); - } - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - $$0 = (1); - return ($$0|0); - } - $23 = ($6|0)==(56); - if ($23) { - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - (_stbi__get32le($s)|0); - } - $24 = HEAP32[$info>>2]|0; - switch ($24|0) { - case 32: case 16: { - break; - } - default: { - $$0 = (1); - return ($$0|0); - } - } - $25 = ((($info)) + 20|0); - HEAP32[$25>>2] = 0; - $26 = ((($info)) + 16|0); - HEAP32[$26>>2] = 0; - $27 = ((($info)) + 12|0); - HEAP32[$27>>2] = 0; - switch ($19|0) { - case 0: { - $28 = HEAP32[$info>>2]|0; - $29 = ($28|0)==(32); - if ($29) { - HEAP32[$27>>2] = 16711680; - HEAP32[$26>>2] = 65280; - HEAP32[$25>>2] = 255; - $30 = ((($info)) + 24|0); - HEAP32[$30>>2] = -16777216; - $31 = ((($info)) + 28|0); - HEAP32[$31>>2] = 0; - $$0 = (1); - return ($$0|0); - } else { - HEAP32[$27>>2] = 31744; - HEAP32[$26>>2] = 992; - HEAP32[$25>>2] = 31; - $$0 = (1); - return ($$0|0); - } - break; - } - case 3: { - $32 = (_stbi__get32le($s)|0); - HEAP32[$27>>2] = $32; - $33 = (_stbi__get32le($s)|0); - HEAP32[$26>>2] = $33; - $34 = (_stbi__get32le($s)|0); - HEAP32[$25>>2] = $34; - $35 = HEAP32[$27>>2]|0; - $36 = HEAP32[$26>>2]|0; - $37 = ($35|0)==($36|0); - $38 = ($36|0)==($34|0); - $or$cond = $37 & $38; - if (!($or$cond)) { - $$0 = (1); - return ($$0|0); - } - _stbi__err(21493); - $$0 = 0; - return ($$0|0); - break; - } - default: { - _stbi__err(21493); - $$0 = 0; - return ($$0|0); - } - } - } - } - _stbi__err(21473); - $$0 = 0; - return ($$0|0); -} -function _stbi__get32le($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get16le($s)|0); - $1 = (_stbi__get16le($s)|0); - $2 = $1 << 16; - $3 = (($2) + ($0))|0; - return ($3|0); -} -function _stbi__gif_header($s,$g,$comp,$is_info) { - $s = $s|0; - $g = $g|0; - $comp = $comp|0; - $is_info = $is_info|0; - 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(71); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(73); - if ($3) { - $4 = (_stbi__get8($s)|0); - $5 = ($4<<24>>24)==(70); - if ($5) { - $6 = (_stbi__get8($s)|0); - $7 = ($6<<24>>24)==(56); - if ($7) { - $8 = (_stbi__get8($s)|0); - switch ($8<<24>>24) { - case 57: case 55: { - break; - } - default: { - _stbi__err(21520); - $$0 = 0; - return ($$0|0); - } - } - $9 = (_stbi__get8($s)|0); - $10 = ($9<<24>>24)==(97); - if (!($10)) { - _stbi__err(21520); - $$0 = 0; - return ($$0|0); - } - HEAP32[5136>>2] = 21528; - $11 = (_stbi__get16le($s)|0); - HEAP32[$g>>2] = $11; - $12 = (_stbi__get16le($s)|0); - $13 = ((($g)) + 4|0); - HEAP32[$13>>2] = $12; - $14 = (_stbi__get8($s)|0); - $15 = $14&255; - $16 = ((($g)) + 16|0); - HEAP32[$16>>2] = $15; - $17 = (_stbi__get8($s)|0); - $18 = $17&255; - $19 = ((($g)) + 20|0); - HEAP32[$19>>2] = $18; - $20 = (_stbi__get8($s)|0); - $21 = $20&255; - $22 = ((($g)) + 24|0); - HEAP32[$22>>2] = $21; - $23 = ((($g)) + 28|0); - HEAP32[$23>>2] = -1; - $24 = ($comp|0)==(0|0); - if (!($24)) { - HEAP32[$comp>>2] = 4; - } - $25 = ($is_info|0)==(0); - if (!($25)) { - $$0 = 1; - return ($$0|0); - } - $26 = HEAP32[$16>>2]|0; - $27 = $26 & 128; - $28 = ($27|0)==(0); - if ($28) { - $$0 = 1; - return ($$0|0); - } - $29 = ((($g)) + 40|0); - $30 = $26 & 7; - $31 = 2 << $30; - _stbi__gif_parse_colortable($s,$29,$31,-1); - $$0 = 1; - return ($$0|0); - } - } - } - } - _stbi__err(21520); - $$0 = 0; - return ($$0|0); -} -function _stbi__gif_parse_colortable($s,$pal,$num_entries,$transp) { - $s = $s|0; - $pal = $pal|0; - $num_entries = $num_entries|0; - $transp = $transp|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$01 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($num_entries|0)>(0); - if ($0) { - $i$01 = 0; - } else { - return; - } - while(1) { - $1 = (_stbi__get8($s)|0); - $2 = (((($pal) + ($i$01<<2)|0)) + 2|0); - HEAP8[$2>>0] = $1; - $3 = (_stbi__get8($s)|0); - $4 = (((($pal) + ($i$01<<2)|0)) + 1|0); - HEAP8[$4>>0] = $3; - $5 = (_stbi__get8($s)|0); - $6 = (($pal) + ($i$01<<2)|0); - HEAP8[$6>>0] = $5; - $not$ = ($i$01|0)!=($transp|0); - $7 = $not$ << 31 >> 31; - $8 = (((($pal) + ($i$01<<2)|0)) + 3|0); - HEAP8[$8>>0] = $7; - $9 = (($i$01) + 1)|0; - $exitcond = ($9|0)==($num_entries|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - return; -} -function _stbi__parse_png_file($z,$scan,$req_comp) { - $z = $z|0; - $scan = $scan|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$lcssa1740 = 0, $$lobit = 0, $0 = 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; - 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, $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, $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 $c = 0, $color$0 = 0, $color$0$lcssa = 0, $color$1 = 0, $depth$0 = 0, $depth$0$lcssa = 0, $depth$1 = 0, $first$0 = 0, $first$0$lcssa = 0, $first$1 = 0, $has_trans$0 = 0, $has_trans$0$lcssa = 0, $has_trans$1 = 0, $i$0337 = 0, $i$1334 = 0, $idata_limit$0 = 0, $idata_limit$1 = 0, $idata_limit$1$lcssa = 0, $idata_limit$1$ph = 0, $idata_limit$2 = 0; - var $idata_limit$3 = 0, $interlace$0 = 0, $interlace$0$lcssa = 0, $interlace$1 = 0, $ioff$0 = 0, $ioff$0$lcssa = 0, $ioff$1 = 0, $is_iphone$0 = 0, $is_iphone$0$lcssa = 0, $is_iphone$1 = 0, $k$0335 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond7 = 0, $or$cond9$not = 0, $pal_img_n$0 = 0, $pal_img_n$0$lcssa = 0; - var $pal_img_n$0$lcssa1681 = 0, $pal_img_n$1 = 0, $pal_img_n$2 = 0, $pal_len$0 = 0, $pal_len$1 = 0, $palette = 0, $raw_len = 0, $req_comp$ = 0, $switch$split102D = 0, $switch$split12D = 0, $switch$split2D = 0, $switch$split42D = 0, $switch$split72D = 0, $tc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; - $palette = sp + 24|0; - $tc = sp + 16|0; - $c = sp + 8|0; - $raw_len = sp; - $0 = HEAP32[$z>>2]|0; - $1 = ((($z)) + 8|0); - HEAP32[$1>>2] = 0; - $2 = ((($z)) + 4|0); - HEAP32[$2>>2] = 0; - $3 = ((($z)) + 12|0); - HEAP32[$3>>2] = 0; - $4 = (_stbi__check_png_header($0)|0); - $5 = ($4|0)==(0); - if ($5) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $6 = ($scan|0)==(1); if ($6) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); + $$sroa$0$0 = 0;$$sroa$5$0 = 0;$$sroa$6$0 = 0; + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx7 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx7>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx9 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx9>>2] = $$sroa$6$0; + STACKTOP = sp;return; } - $7 = ((($c)) + 4|0); - $8 = ((($0)) + 4|0); - $9 = ((($0)) + 8|0); - $10 = ($scan|0)==(2); - $11 = ((($0)) + 8|0); - $12 = ((($0)) + 8|0); - $13 = ($scan|0)==(2); - $14 = ($scan|0)==(2); - $color$0 = 0;$depth$0 = 0;$first$0 = 1;$has_trans$0 = 0;$idata_limit$0 = 0;$interlace$0 = 0;$ioff$0 = 0;$is_iphone$0 = 0;$pal_img_n$0 = 0;$pal_len$0 = 0; - L7: while(1) { - _stbi__get_chunk_header($c,$0); - $15 = HEAP32[$7>>2]|0; - $switch$split2D = ($15|0)<(1229472850); - L9: do { - if ($switch$split2D) { - $switch$split12D = ($15|0)<(1229209940); - if ($switch$split12D) { - switch ($15|0) { - case 1130840649: { - break; - } - default: { - label = 96; - break L9; - } - } - $16 = HEAP32[$c>>2]|0; - _stbi__skip($0,$16); - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = 1;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - break; - } - $switch$split72D = ($15|0)<(1229278788); - if (!($switch$split72D)) { - switch ($15|0) { - case 1229278788: { - $color$0$lcssa = $color$0;$depth$0$lcssa = $depth$0;$first$0$lcssa = $first$0;$has_trans$0$lcssa = $has_trans$0;$interlace$0$lcssa = $interlace$0;$ioff$0$lcssa = $ioff$0;$is_iphone$0$lcssa = $is_iphone$0;$pal_img_n$0$lcssa = $pal_img_n$0; - label = 81; - break L7; - break; - } - default: { - label = 96; - break L9; - } - } - } - switch ($15|0) { - case 1229209940: { - break; - } - default: { - label = 96; - break L9; - } - } - $114 = ($first$0|0)==(0); - if (!($114)) { - label = 66; - break L7; - } - $115 = ($pal_img_n$0<<24>>24)==(0); - $116 = ($pal_len$0|0)!=(0); - $or$cond7 = $116 | $115; - if (!($or$cond7)) { - label = 68; - break L7; - } - if ($14) { - $pal_img_n$0$lcssa1681 = $pal_img_n$0; - label = 70; - break L7; - } - $119 = HEAP32[$c>>2]|0; - $120 = (($119) + ($ioff$0))|0; - $121 = ($120|0)<($ioff$0|0); - if ($121) { - $$0 = 0; - label = 102; - break L7; - } - $122 = ($120>>>0)>($idata_limit$0>>>0); - if ($122) { - $123 = ($idata_limit$0|0)==(0); - $124 = ($119>>>0)>(4096); - $125 = $124 ? $119 : 4096; - $idata_limit$1$ph = $123 ? $125 : $idata_limit$0; - $126 = HEAP32[$c>>2]|0; - $127 = (($126) + ($ioff$0))|0; - $idata_limit$1 = $idata_limit$1$ph; - while(1) { - $128 = ($127>>>0)>($idata_limit$1>>>0); - $129 = $idata_limit$1 << 1; - if ($128) { - $idata_limit$1 = $129; - } else { - $idata_limit$1$lcssa = $idata_limit$1; - break; - } - } - $130 = HEAP32[$2>>2]|0; - $131 = (_realloc($130,$idata_limit$1$lcssa)|0); - $132 = ($131|0)==(0|0); - if ($132) { - label = 76; - break L7; - } - HEAP32[$2>>2] = $131; - $idata_limit$2 = $idata_limit$1$lcssa; - } else { - $idata_limit$2 = $idata_limit$0; - } - $133 = HEAP32[$2>>2]|0; - $134 = (($133) + ($ioff$0)|0); - $135 = HEAP32[$c>>2]|0; - $136 = (_stbi__getn($0,$134,$135)|0); - $137 = ($136|0)==(0); - if ($137) { - label = 79; - break L7; - } - $138 = HEAP32[$c>>2]|0; - $139 = (($138) + ($ioff$0))|0; - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$2;$interlace$1 = $interlace$0;$ioff$1 = $139;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - } else { - $switch$split42D = ($15|0)<(1347179589); - if ($switch$split42D) { - switch ($15|0) { - case 1229472850: { - break; - } - default: { - label = 96; - break L9; - } - } - $17 = ($first$0|0)==(0); - if ($17) { - label = 7; - break L7; - } - $18 = HEAP32[$c>>2]|0; - $19 = ($18|0)==(13); - if (!($19)) { - label = 9; - break L7; - } - $20 = (_stbi__get32be($0)|0); - HEAP32[$0>>2] = $20; - $21 = ($20>>>0)>(16777216); - if ($21) { - label = 11; - break L7; - } - $22 = (_stbi__get32be($0)|0); - HEAP32[$8>>2] = $22; - $23 = ($22>>>0)>(16777216); - if ($23) { - label = 13; - break L7; - } - $24 = (_stbi__get8($0)|0); - $25 = $24&255; - switch ($24<<24>>24) { - case 1: case 2: case 4: case 8: { - break; - } - default: { - label = 15; - break L7; - } - } - $26 = (_stbi__get8($0)|0); - $27 = $26&255; - $28 = ($26&255)>(6); - if ($28) { - label = 17; - break L7; - } - $29 = ($26<<24>>24)==(3); - if ($29) { - $pal_img_n$1 = 3; - } else { - $30 = $27 & 1; - $31 = ($30|0)==(0); - if ($31) { - $pal_img_n$1 = $pal_img_n$0; - } else { - label = 20; - break L7; - } - } - $32 = (_stbi__get8($0)|0); - $33 = ($32<<24>>24)==(0); - if (!($33)) { - label = 22; - break L7; - } - $34 = (_stbi__get8($0)|0); - $35 = ($34<<24>>24)==(0); - if (!($35)) { - label = 24; - break L7; - } - $36 = (_stbi__get8($0)|0); - $37 = $36&255; - $38 = ($36&255)>(1); - if ($38) { - label = 26; - break L7; - } - $39 = HEAP32[$0>>2]|0; - $40 = ($39|0)==(0); - if ($40) { - label = 29; - break L7; - } - $41 = HEAP32[$8>>2]|0; - $42 = ($41|0)==(0); - if ($42) { - label = 29; - break L7; - } - $43 = ($pal_img_n$1<<24>>24)==(0); - if (!($43)) { - HEAP32[$11>>2] = 1; - $53 = HEAP32[$0>>2]|0; - $54 = (1073741824 / ($53>>>0))&-1; - $55 = $54 >>> 2; - $56 = HEAP32[$8>>2]|0; - $57 = ($55>>>0)<($56>>>0); - if ($57) { - label = 35; - break L7; - } else { - $color$1 = $27;$depth$1 = $25;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $37;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$1;$pal_len$1 = $pal_len$0; - break; - } - } - $44 = $27 & 2; - $45 = $44 | 1; - $46 = $27 >>> 2; - $$lobit = $46 & 1; - $47 = (($45) + ($$lobit))|0; - HEAP32[$9>>2] = $47; - $48 = HEAP32[$0>>2]|0; - $49 = (1073741824 / ($48>>>0))&-1; - $50 = (($49>>>0) / ($47>>>0))&-1; - $51 = HEAP32[$8>>2]|0; - $52 = ($50>>>0)<($51>>>0); - if ($52) { - label = 32; - break L7; - } - if ($10) { - $$0 = 1; - label = 102; - break L7; - } else { - $color$1 = $27;$depth$1 = $25;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $37;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 0;$pal_len$1 = $pal_len$0; - break; - } - } - $switch$split102D = ($15|0)<(1951551059); - if ($switch$split102D) { - switch ($15|0) { - case 1347179589: { - break; - } - default: { - label = 96; - break L9; - } - } - $58 = ($first$0|0)==(0); - if (!($58)) { - label = 37; - break L7; - } - $59 = HEAP32[$c>>2]|0; - $60 = ($59>>>0)>(768); - if ($60) { - label = 39; - break L7; - } - $61 = (($59>>>0) / 3)&-1; - $62 = ($61*3)|0; - $63 = ($62|0)==($59|0); - if (!($63)) { - label = 42; - break L7; - } - $64 = ($59>>>0)>(2); - if ($64) { - $i$0337 = 0; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $61; - break; - } - while(1) { - $65 = (_stbi__get8($0)|0); - $66 = $i$0337 << 2; - $67 = (($palette) + ($66)|0); - HEAP8[$67>>0] = $65; - $68 = (_stbi__get8($0)|0); - $69 = $66 | 1; - $70 = (($palette) + ($69)|0); - HEAP8[$70>>0] = $68; - $71 = (_stbi__get8($0)|0); - $72 = $66 | 2; - $73 = (($palette) + ($72)|0); - HEAP8[$73>>0] = $71; - $74 = $66 | 3; - $75 = (($palette) + ($74)|0); - HEAP8[$75>>0] = -1; - $76 = (($i$0337) + 1)|0; - $77 = ($76>>>0)<($61>>>0); - if ($77) { - $i$0337 = $76; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $61; - break L9; - } - } - } - switch ($15|0) { - case 1951551059: { - break; - } - default: { - label = 96; - break L9; - } - } - $78 = ($first$0|0)==(0); - if (!($78)) { - label = 45; - break L7; - } - $79 = HEAP32[$2>>2]|0; - $80 = ($79|0)==(0|0); - if (!($80)) { - label = 47; - break L7; - } - $81 = ($pal_img_n$0<<24>>24)==(0); - if ($81) { - $95 = HEAP32[$12>>2]|0; - $96 = $95 & 1; - $97 = ($96|0)==(0); - if ($97) { - label = 59; - break L7; - } - $98 = HEAP32[$c>>2]|0; - $99 = $95 << 1; - $100 = ($98|0)==($99|0); - if (!($100)) { - label = 63; - break L7; - } - $101 = HEAP32[$12>>2]|0; - $102 = ($101|0)>(0); - if (!($102)) { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = 1;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 0;$pal_len$1 = $pal_len$0; - break; - } - $103 = (21752 + ($depth$0)|0); - $104 = HEAP8[$103>>0]|0; - $105 = $104&255; - $k$0335 = 0; - while(1) { - $106 = (_stbi__get16be($0)|0); - $107 = $106 & 255; - $108 = Math_imul($105, $107)|0; - $109 = $108&255; - $110 = (($tc) + ($k$0335)|0); - HEAP8[$110>>0] = $109; - $111 = (($k$0335) + 1)|0; - $112 = HEAP32[$12>>2]|0; - $113 = ($111|0)<($112|0); - if ($113) { - $k$0335 = $111; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = 1;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - break L9; - } - } - } - if ($13) { - label = 50; - break L7; - } - $83 = ($pal_len$0|0)==(0); - if ($83) { - label = 52; - break L7; - } - $84 = HEAP32[$c>>2]|0; - $85 = ($84>>>0)>($pal_len$0>>>0); - if ($85) { - label = 56; - break L7; - } - $86 = HEAP32[$c>>2]|0; - $87 = ($86|0)==(0); - if ($87) { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 4;$pal_len$1 = $pal_len$0; - } else { - $88 = HEAP32[$c>>2]|0; - $i$1334 = 0; - while(1) { - $89 = (_stbi__get8($0)|0); - $90 = $i$1334 << 2; - $91 = $90 | 3; - $92 = (($palette) + ($91)|0); - HEAP8[$92>>0] = $89; - $93 = (($i$1334) + 1)|0; - $94 = ($93>>>0)<($88>>>0); - if ($94) { - $i$1334 = $93; - } else { - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = $first$0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = 4;$pal_len$1 = $pal_len$0; - break; - } - } - } - } - } while(0); - if ((label|0) == 96) { - label = 0; - $182 = ($first$0|0)==(0); - if (!($182)) { - label = 97; - break; - } - $183 = $15 & 536870912; - $184 = ($183|0)==(0); - if ($184) { - $$lcssa1740 = $15; - label = 99; - break; - } - $195 = HEAP32[$c>>2]|0; - _stbi__skip($0,$195); - $color$1 = $color$0;$depth$1 = $depth$0;$first$1 = 0;$has_trans$1 = $has_trans$0;$idata_limit$3 = $idata_limit$0;$interlace$1 = $interlace$0;$ioff$1 = $ioff$0;$is_iphone$1 = $is_iphone$0;$pal_img_n$2 = $pal_img_n$0;$pal_len$1 = $pal_len$0; - } - (_stbi__get32be($0)|0); - $color$0 = $color$1;$depth$0 = $depth$1;$first$0 = $first$1;$has_trans$0 = $has_trans$1;$idata_limit$0 = $idata_limit$3;$interlace$0 = $interlace$1;$ioff$0 = $ioff$1;$is_iphone$0 = $is_iphone$1;$pal_img_n$0 = $pal_img_n$2;$pal_len$0 = $pal_len$1; - } - switch (label|0) { - case 7: { - _stbi__err(21529); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 9: { - _stbi__err(21543); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 11: { - _stbi__err(21556); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 13: { - _stbi__err(21556); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 15: { - _stbi__err(21566); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 17: { - _stbi__err(21583); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 20: { - _stbi__err(21583); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 22: { - _stbi__err(21593); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 24: { - _stbi__err(21609); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 26: { - _stbi__err(21627); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 29: { - _stbi__err(21648); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 32: { - _stbi__err(21556); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 35: { - _stbi__err(21556); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 37: { - _stbi__err(21662); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 39: { - _stbi__err(21677); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 42: { - _stbi__err(21677); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 45: { - _stbi__err(21662); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 47: { - _stbi__err(21690); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 50: { - $82 = ((($0)) + 8|0); - HEAP32[$82>>2] = 4; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 52: { - _stbi__err(21706); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 56: { - _stbi__err(21723); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 59: { - _stbi__err(21736); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 63: { - _stbi__err(21723); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 66: { - _stbi__err(21662); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 68: { - _stbi__err(21761); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 70: { - $117 = $pal_img_n$0$lcssa1681&255; - $118 = ((($0)) + 8|0); - HEAP32[$118>>2] = $117; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 76: { - _stbi__err(21769); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 79: { - _stbi__err(21778); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 81: { - $140 = ($first$0$lcssa|0)==(0); - if (!($140)) { - _stbi__err(21662); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $141 = ($scan|0)==(0); - if (!($141)) { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $142 = HEAP32[$2>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - _stbi__err(21788); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $144 = HEAP32[$0>>2]|0; - $145 = Math_imul($144, $depth$0$lcssa)|0; - $146 = (($145) + 7)|0; - $147 = $146 >>> 3; - $148 = ((($0)) + 4|0); - $149 = HEAP32[$148>>2]|0; - $150 = ((($0)) + 8|0); - $151 = HEAP32[$150>>2]|0; - $152 = Math_imul($151, $149)|0; - $153 = Math_imul($152, $147)|0; - $154 = (($153) + ($149))|0; - HEAP32[$raw_len>>2] = $154; - $155 = HEAP32[$2>>2]|0; - $156 = ($is_iphone$0$lcssa|0)!=(0); - $157 = $156&1; - $158 = $157 ^ 1; - $159 = (_stbi_zlib_decode_malloc_guesssize_headerflag($155,$ioff$0$lcssa,$154,$raw_len,$158)|0); - HEAP32[$1>>2] = $159; - $160 = ($159|0)==(0|0); - if ($160) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $161 = HEAP32[$2>>2]|0; - _free($161); - HEAP32[$2>>2] = 0; - $162 = HEAP32[$150>>2]|0; - $163 = (($162) + 1)|0; - $notlhs = ($163|0)!=($req_comp|0); - $notrhs = ($req_comp|0)==(3); - $or$cond9$not = $notrhs | $notlhs; - $164 = ($pal_img_n$0$lcssa<<24>>24)!=(0); - $or$cond11 = $164 | $or$cond9$not; - $165 = ($has_trans$0$lcssa<<24>>24)==(0); - $or$cond = $165 & $or$cond11; - $166 = ((($0)) + 12|0); - $$ = $or$cond ? $162 : $163; - HEAP32[$166>>2] = $$; - $167 = HEAP32[$1>>2]|0; - $168 = HEAP32[$raw_len>>2]|0; - $169 = ((($0)) + 12|0); - $170 = (_stbi__create_png_image($z,$167,$168,$$,$depth$0$lcssa,$color$0$lcssa,$interlace$0$lcssa)|0); - $171 = ($170|0)==(0); - if ($171) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - if (!($165)) { - $172 = HEAP32[$169>>2]|0; - _stbi__compute_transparency($z,$tc,$172); - } - $173 = HEAP32[5148>>2]|0; - $174 = ($173|0)!=(0); - $or$cond13 = $156 & $174; - if ($or$cond13) { - $175 = HEAP32[$169>>2]|0; - $176 = ($175|0)>(2); - if ($176) { - _stbi__de_iphone($z); - } - } - if ($164) { - $177 = $pal_img_n$0$lcssa&255; - HEAP32[$150>>2] = $177; - $178 = ($req_comp|0)>(2); - $req_comp$ = $178 ? $req_comp : $177; - HEAP32[$169>>2] = $req_comp$; - $179 = (_stbi__expand_png_palette($z,$palette,$req_comp$)|0); - $180 = ($179|0)==(0); - if ($180) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $181 = HEAP32[$1>>2]|0; - _free($181); - HEAP32[$1>>2] = 0; - $$0 = 1; - STACKTOP = sp;return ($$0|0); - break; - } - case 97: { - _stbi__err(21662); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 99: { - $185 = $$lcssa1740 >>> 24; - $186 = $185&255; - HEAP8[21796>>0] = $186; - $187 = HEAP32[$7>>2]|0; - $188 = $187 >>> 16; - $189 = $188&255; - HEAP8[(21797)>>0] = $189; - $190 = HEAP32[$7>>2]|0; - $191 = $190 >>> 8; - $192 = $191&255; - HEAP8[(21798)>>0] = $192; - $193 = HEAP32[$7>>2]|0; - $194 = $193&255; - HEAP8[(21799)>>0] = $194; - _stbi__err(21796); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - break; - } - case 102: { - STACKTOP = sp;return ($$0|0); - break; - } - } - return (0)|0; -} -function _stbi__check_png_header($s) { - $s = $s|0; - var $$0 = 0, $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; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(-119); - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(80); - if ($3) { - $4 = (_stbi__get8($s)|0); - $5 = ($4<<24>>24)==(78); - if ($5) { - $6 = (_stbi__get8($s)|0); - $7 = ($6<<24>>24)==(71); - if ($7) { - $8 = (_stbi__get8($s)|0); - $9 = ($8<<24>>24)==(13); - if ($9) { - $10 = (_stbi__get8($s)|0); - $11 = ($10<<24>>24)==(10); - if ($11) { - $12 = (_stbi__get8($s)|0); - $13 = ($12<<24>>24)==(26); - if ($13) { - $14 = (_stbi__get8($s)|0); - $15 = ($14<<24>>24)==(10); - if ($15) { - $$0 = 1; - return ($$0|0); - } - } - } - } - } - } - } - } - _stbi__err(22076); - $$0 = 0; - return ($$0|0); -} -function _stbi__get_chunk_header($agg$result,$s) { - $agg$result = $agg$result|0; - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = (_stbi__get32be($s)|0); - HEAP32[$agg$result>>2] = $0; - $2 = ((($agg$result)) + 4|0); - HEAP32[$2>>2] = $1; - return; -} -function _stbi__getn($s,$buffer,$n) { - $s = $s|0; - $buffer = $buffer|0; - $n = $n|0; - 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if (!($2)) { - $3 = ((($s)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($s)) + 168|0); - $6 = HEAP32[$5>>2]|0; - $7 = $4; - $8 = $6; - $9 = (($7) - ($8))|0; - $10 = ($9|0)<($n|0); - if ($10) { - _memcpy(($buffer|0),($6|0),($9|0))|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($s)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($buffer) + ($9)|0); - $15 = (($n) - ($9))|0; - $16 = (FUNCTION_TABLE_iiii[$11 & 15]($13,$14,$15)|0); - $17 = ($16|0)==($15|0); - $18 = $17&1; - $19 = HEAP32[$3>>2]|0; - HEAP32[$5>>2] = $19; - $$0 = $18; - return ($$0|0); - } - } - $20 = ((($s)) + 168|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($n)|0); - $23 = ((($s)) + 172|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($22>>>0)>($24>>>0); - if ($25) { - $$0 = 0; - return ($$0|0); - } - _memcpy(($buffer|0),($21|0),($n|0))|0; - $26 = HEAP32[$20>>2]|0; - $27 = (($26) + ($n)|0); - HEAP32[$20>>2] = $27; - $$0 = 1; - return ($$0|0); -} -function _stbi__create_png_image($a,$image_data,$image_data_len,$out_n,$depth,$color,$interlaced) { - $a = $a|0; - $image_data = $image_data|0; - $image_data_len = $image_data_len|0; - $out_n = $out_n|0; - $depth = $depth|0; - $color = $color|0; - $interlaced = $interlaced|0; - var $$0 = 0, $$0212 = 0, $$0311 = 0, $$1 = 0, $$14 = 0, $$sum = 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, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $i$07 = 0; - var $j$08 = 0, $or$cond = 0, $p$010 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($interlaced|0)==(0); - $1 = HEAP32[$a>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - if ($0) { - $5 = (_stbi__create_png_image_raw($a,$image_data,$image_data_len,$out_n,$2,$4,$depth,$color)|0); - $$0 = $5; - return ($$0|0); - } - $6 = Math_imul($2, $out_n)|0; - $7 = Math_imul($6, $4)|0; - $8 = (_stbi__malloc($7)|0); - $9 = ((($a)) + 12|0); - $10 = ((($a)) + 12|0); - $$0212 = $image_data;$$0311 = $image_data_len;$p$010 = 0; - while(1) { - $11 = HEAP32[$a>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (10284 + ($p$010<<2)|0); - $14 = HEAP32[$13>>2]|0; - $15 = (10312 + ($p$010<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($12) + -1)|0; - $18 = (($17) - ($14))|0; - $19 = (($18) + ($16))|0; - $20 = (($19>>>0) / ($16>>>0))&-1; - $21 = ((($11)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = (10340 + ($p$010<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (10368 + ($p$010<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($22) + -1)|0; - $28 = (($27) - ($24))|0; - $29 = (($28) + ($26))|0; - $30 = (($29>>>0) / ($26>>>0))&-1; - $31 = ($20|0)!=(0); - $32 = ($30|0)!=(0); - $or$cond = $31 & $32; - if ($or$cond) { - $33 = ((($11)) + 8|0); - $34 = HEAP32[$33>>2]|0; - $35 = Math_imul($20, $depth)|0; - $36 = Math_imul($35, $34)|0; - $37 = (($36) + 7)|0; - $38 = $37 >> 3; - $39 = (($38) + 1)|0; - $40 = Math_imul($39, $30)|0; - $41 = (_stbi__create_png_image_raw($a,$$0212,$$0311,$out_n,$20,$30,$depth,$color)|0); - $42 = ($41|0)==(0); - if ($42) { - label = 8; - break; - } - $43 = ($30|0)>(0); - if ($43) { - $44 = ($20|0)>(0); - $j$08 = 0; - while(1) { - if ($44) { - $45 = HEAP32[$25>>2]|0; - $46 = Math_imul($45, $j$08)|0; - $47 = HEAP32[$23>>2]|0; - $48 = (($46) + ($47))|0; - $49 = HEAP32[$15>>2]|0; - $50 = HEAP32[$13>>2]|0; - $51 = Math_imul($j$08, $20)|0; - $i$07 = 0; - while(1) { - $52 = Math_imul($49, $i$07)|0; - $53 = (($52) + ($50))|0; - $54 = HEAP32[$a>>2]|0; - $55 = HEAP32[$54>>2]|0; - $56 = Math_imul($55, $48)|0; - $57 = (($53) + ($56))|0; - $$sum = Math_imul($57, $out_n)|0; - $58 = (($8) + ($$sum)|0); - $59 = HEAP32[$10>>2]|0; - $60 = (($i$07) + ($51))|0; - $61 = Math_imul($60, $out_n)|0; - $62 = (($59) + ($61)|0); - _memcpy(($58|0),($62|0),($out_n|0))|0; - $63 = (($i$07) + 1)|0; - $64 = ($63|0)<($20|0); - if ($64) { - $i$07 = $63; - } else { - break; - } - } - } - $65 = (($j$08) + 1)|0; - $66 = ($65|0)<($30|0); - if ($66) { - $j$08 = $65; - } else { - break; - } - } - } - $67 = HEAP32[$9>>2]|0; - _free($67); - $68 = (($$0212) + ($40)|0); - $69 = (($$0311) - ($40))|0; - $$1 = $68;$$14 = $69; - } else { - $$1 = $$0212;$$14 = $$0311; - } - $70 = (($p$010) + 1)|0; - $71 = ($70|0)<(7); - if ($71) { - $$0212 = $$1;$$0311 = $$14;$p$010 = $70; - } else { - label = 15; - break; - } - } - if ((label|0) == 8) { - _free($8); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 15) { - $72 = ((($a)) + 12|0); - HEAP32[$72>>2] = $8; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__compute_transparency($z,$tc,$out_n) { - $z = $z|0; - $tc = $tc|0; - $out_n = $out_n|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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond8 = 0, $i$03 = 0, $i$15 = 0, $not$ = 0, $p$04 = 0, $p$16 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = ((($z)) + 12|0); - $6 = HEAP32[$5>>2]|0; - switch ($out_n|0) { - case 2: { - $11 = ($4|0)==(0); - if ($11) { - return; - } - $12 = Math_imul($3, $1)|0; - $i$03 = 0;$p$04 = $6; - while(1) { - $13 = HEAP8[$p$04>>0]|0; - $14 = HEAP8[$tc>>0]|0; - $not$ = ($13<<24>>24)!=($14<<24>>24); - $15 = $not$ << 31 >> 31; - $16 = ((($p$04)) + 1|0); - HEAP8[$16>>0] = $15; - $17 = ((($p$04)) + 2|0); - $18 = (($i$03) + 1)|0; - $exitcond = ($18|0)==($12|0); - if ($exitcond) { - break; - } else { - $i$03 = $18;$p$04 = $17; - } - } - return; - break; - } - case 4: { - $7 = ($4|0)==(0); - if ($7) { - return; - } - $8 = ((($tc)) + 1|0); - $9 = ((($tc)) + 2|0); - $10 = Math_imul($3, $1)|0; - $i$15 = 0;$p$16 = $6; - while(1) { - $19 = HEAP8[$p$16>>0]|0; - $20 = HEAP8[$tc>>0]|0; - $21 = ($19<<24>>24)==($20<<24>>24); - if ($21) { - $22 = ((($p$16)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = HEAP8[$8>>0]|0; - $25 = ($23<<24>>24)==($24<<24>>24); - if ($25) { - $26 = ((($p$16)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = HEAP8[$9>>0]|0; - $29 = ($27<<24>>24)==($28<<24>>24); - if ($29) { - $30 = ((($p$16)) + 3|0); - HEAP8[$30>>0] = 0; - } - } - } - $31 = ((($p$16)) + 4|0); - $32 = (($i$15) + 1)|0; - $exitcond8 = ($32|0)==($10|0); - if ($exitcond8) { - break; - } else { - $i$15 = $32;$p$16 = $31; - } - } - return; - break; - } - default: { - ___assert_fail((21869|0),(21839|0),4214,(21894|0)); - // unreachable; - } - } -} -function _stbi__de_iphone($z) { - $z = $z|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, $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, $exitcond = 0, $exitcond13 = 0, $exitcond14 = 0, $i$06 = 0, $i$111 = 0, $i$28 = 0, $p$05 = 0, $p$110 = 0, $p$27 = 0, $storemerge = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = ((($z)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($0)) + 12|0); + $7 = ((($1)) + 12|0); $8 = HEAP32[$7>>2]|0; - switch ($8|0) { - case 3: { - $9 = ($4|0)==(0); - if ($9) { - return; - } - $10 = Math_imul($3, $1)|0; - $i$06 = 0;$p$05 = $6; - while(1) { - $11 = HEAP8[$p$05>>0]|0; - $12 = ((($p$05)) + 2|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$p$05>>0] = $13; - HEAP8[$12>>0] = $11; - $14 = ((($p$05)) + 3|0); - $15 = (($i$06) + 1)|0; - $exitcond = ($15|0)==($10|0); - if ($exitcond) { + L4: do { + switch ($8|0) { + case 1: { + $9 = ((($1)) + 8|0); + $10 = HEAP32[$9>>2]|0; + switch ($10|0) { + case 8: { + $$0 = 4352; + break L4; break; - } else { - $i$06 = $15;$p$05 = $14; } - } - return; - break; - } - case 4: { - $16 = HEAP32[5144>>2]|0; - $17 = ($16|0)==(0); - $18 = ($4|0)==(0); - if ($17) { - if ($18) { - return; - } - $20 = Math_imul($3, $1)|0; - $i$28 = 0;$p$27 = $6; - while(1) { - $44 = HEAP8[$p$27>>0]|0; - $45 = ((($p$27)) + 2|0); - $46 = HEAP8[$45>>0]|0; - HEAP8[$p$27>>0] = $46; - HEAP8[$45>>0] = $44; - $47 = ((($p$27)) + 4|0); - $48 = (($i$28) + 1)|0; - $exitcond13 = ($48|0)==($20|0); - if ($exitcond13) { - break; - } else { - $i$28 = $48;$p$27 = $47; - } - } - return; - } - if ($18) { - return; - } - $19 = Math_imul($3, $1)|0; - $i$111 = 0;$p$110 = $6; - while(1) { - $21 = ((($p$110)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = HEAP8[$p$110>>0]|0; - $24 = ($22<<24>>24)==(0); - $25 = ((($p$110)) + 2|0); - $26 = HEAP8[$25>>0]|0; - if ($24) { - HEAP8[$p$110>>0] = $26; - $storemerge = $23; - } else { - $27 = $26&255; - $28 = ($27*255)|0; - $29 = $22&255; - $30 = (($28>>>0) / ($29>>>0))&-1; - $31 = $30&255; - HEAP8[$p$110>>0] = $31; - $32 = ((($p$110)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = ($34*255)|0; - $36 = (($35>>>0) / ($29>>>0))&-1; - $37 = $36&255; - HEAP8[$32>>0] = $37; - $38 = $23&255; - $39 = ($38*255)|0; - $40 = (($39>>>0) / ($29>>>0))&-1; - $41 = $40&255; - $storemerge = $41; - } - HEAP8[$25>>0] = $storemerge; - $42 = ((($p$110)) + 4|0); - $43 = (($i$111) + 1)|0; - $exitcond14 = ($43|0)==($19|0); - if ($exitcond14) { + case 16: { + $$0 = 4353; + break L4; break; - } else { - $i$111 = $43;$p$110 = $42; } - } - return; - break; - } - default: { - ___assert_fail((21821|0),(21839|0),4295,(21853|0)); - // unreachable; - } - } -} -function _stbi__expand_png_palette($a,$palette,$pal_img_n) { - $a = $a|0; - $palette = $palette|0; - $pal_img_n = $pal_img_n|0; - 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, $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, $exitcond = 0, $exitcond8 = 0, $i$04 = 0, $i$16 = 0, $p$03 = 0, $p$15 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$a>>2]|0; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = Math_imul($3, $1)|0; - $5 = ((($a)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($4, $pal_img_n)|0; - $8 = (_stbi__malloc($7)|0); - $9 = ($8|0)==(0|0); - if ($9) { - _stbi__err(21769); - $$0 = 0; - return ($$0|0); - } - $10 = ($pal_img_n|0)==(3); - $11 = ($4|0)==(0); - if ($10) { - if (!($11)) { - $13 = Math_imul($3, $1)|0; - $i$04 = 0;$p$03 = $8; - while(1) { - $14 = (($6) + ($i$04)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = (($palette) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$p$03>>0] = $19; - $20 = $17 | 1; - $21 = (($palette) + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = ((($p$03)) + 1|0); - HEAP8[$23>>0] = $22; - $24 = $17 | 2; - $25 = (($palette) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = ((($p$03)) + 2|0); - HEAP8[$27>>0] = $26; - $28 = ((($p$03)) + 3|0); - $29 = (($i$04) + 1)|0; - $exitcond = ($29|0)==($13|0); - if ($exitcond) { - break; - } else { - $i$04 = $29;$p$03 = $28; - } + case 32: { + $$0 = 65552; + break L4; + break; } - } - } else { - if (!($11)) { - $12 = Math_imul($3, $1)|0; - $i$16 = 0;$p$15 = $8; - while(1) { - $30 = (($6) + ($i$16)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 2; - $34 = (($palette) + ($33)|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$p$15>>0] = $35; - $36 = $33 | 1; - $37 = (($palette) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ((($p$15)) + 1|0); - HEAP8[$39>>0] = $38; - $40 = $33 | 2; - $41 = (($palette) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = ((($p$15)) + 2|0); - HEAP8[$43>>0] = $42; - $44 = $33 | 3; - $45 = (($palette) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = ((($p$15)) + 3|0); - HEAP8[$47>>0] = $46; - $48 = ((($p$15)) + 4|0); - $49 = (($i$16) + 1)|0; - $exitcond8 = ($49|0)==($12|0); - if ($exitcond8) { - break; - } else { - $i$16 = $49;$p$15 = $48; - } - } - } - } - $50 = HEAP32[$5>>2]|0; - _free($50); - HEAP32[$5>>2] = $8; - $$0 = 1; - return ($$0|0); -} -function _stbi__create_png_image_raw($a,$raw,$raw_len,$out_n,$x,$y,$depth,$color) { - $a = $a|0; - $raw = $raw|0; - $raw_len = $raw_len|0; - $out_n = $out_n|0; - $x = $x|0; - $y = $y|0; - $depth = $depth|0; - $color = $color|0; - var $$0 = 0, $$01229 = 0, $$1 = 0, $$2213 = 0, $$3205 = 0, $$4197 = 0, $$5188 = 0, $$6179 = 0, $$7170 = 0, $$8162 = 0, $$9 = 0, $$sum = 0, $$sum10 = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum18 = 0; - var $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum26 = 0, $$sum27$pn = 0, $$sum290 = 0, $$sum291 = 0, $$sum292 = 0, $$sum293 = 0, $$sum294 = 0, $$sum295 = 0, $$sum296 = 0, $$sum297 = 0, $$sum298 = 0, $$sum299 = 0; - var $$sum3 = 0, $$sum300 = 0, $$sum301 = 0, $$sum302 = 0, $$sum303 = 0, $$sum304 = 0, $$sum31 = 0, $$sum32 = 0, $$sum33 = 0, $$sum34 = 0, $$sum35 = 0, $$sum36 = 0, $$sum37 = 0, $$sum38 = 0, $$sum39 = 0, $$sum4 = 0, $$sum40 = 0, $$sum41 = 0, $$sum41$pn = 0, $$sum5 = 0; - var $$sum6 = 0, $$sum63 = 0, $$sum64 = 0, $$sum65 = 0, $$sum66 = 0, $$sum67 = 0, $$sum68 = 0, $$sum69 = 0, $$sum7 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 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, $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; - 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, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0; - var $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, $321 = 0; - var $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, $34 = 0; - var $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, $358 = 0; - var $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, $376 = 0; - var $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, $393 = 0, $394 = 0; - var $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, $410 = 0, $411 = 0; - var $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, $429 = 0, $43 = 0; - var $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, $446 = 0, $447 = 0, $448 = 0; - var $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, $463 = 0, $464 = 0, $465 = 0, $466 = 0; - var $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, $481 = 0, $482 = 0, $483 = 0, $484 = 0; - var $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, $5 = 0, $50 = 0, $500 = 0, $501 = 0; - var $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, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $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, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $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, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $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, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $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, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $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, $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, $brmerge = 0, $cur$0$sum = 0; - var $cur$0$sum42 = 0, $cur$0$sum43 = 0, $cur$0$sum44 = 0, $cur$0$sum45 = 0, $cur$0$sum46 = 0, $cur$0$sum47 = 0, $cur$0$sum48 = 0, $cur$0$sum49 = 0, $cur$0$sum50 = 0, $cur$0$sum51 = 0, $cur$0$sum53$pn = 0, $cur$0$sum54 = 0, $cur$0$sum55 = 0, $cur$0$sum56 = 0, $cur$0$sum57 = 0, $cur$0$sum58 = 0, $cur$0$sum59 = 0, $cur$0$sum60 = 0, $cur$0$sum61 = 0, $cur$1 = 0; - var $cur$2212 = 0, $cur$3204 = 0, $cur$4195 = 0, $cur$5186 = 0, $cur$6177 = 0, $cur$7169 = 0, $cur$8161 = 0, $cur1$0$lcssa = 0, $cur1$0138 = 0, $cur1$1$lcssa = 0, $cur1$1130 = 0, $cur1$4$lcssa = 0, $cur1$4125 = 0, $exitcond = 0, $exitcond269 = 0, $exitcond271 = 0, $exitcond273 = 0, $exitcond275 = 0, $exitcond277 = 0, $exitcond279 = 0; - var $exitcond281 = 0, $exitcond284 = 0, $exitcond285 = 0, $exitcond286 = 0, $exitcond287 = 0, $exitcond288 = 0, $exitcond289 = 0, $filter$0 = 0, $filter_bytes$0 = 0, $i$0 = 0, $i$0211 = 0, $i$0214 = 0, $i$1 = 0, $i$1203 = 0, $i$1206 = 0, $i$2 = 0, $i$2194 = 0, $i$2198 = 0, $i$3 = 0, $i$3185 = 0; - var $i$3189 = 0, $i$4 = 0, $i$4176 = 0, $i$4180 = 0, $i$5 = 0, $i$5168 = 0, $i$5171 = 0, $i$6 = 0, $i$6160 = 0, $i$6163 = 0, $in$0$lcssa = 0, $in$0139 = 0, $in$1$lcssa = 0, $in$1131 = 0, $in$2$lcssa = 0, $in$2126 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next255 = 0, $indvars$iv$next258 = 0; - var $indvars$iv$next261 = 0, $indvars$iv$next264 = 0, $indvars$iv$next267 = 0, $indvars$iv254 = 0, $indvars$iv257 = 0, $indvars$iv260 = 0, $indvars$iv263 = 0, $indvars$iv266 = 0, $j$0228 = 0, $j$1151 = 0, $k$0153 = 0, $k$10182 = 0, $k$11173 = 0, $k$12165 = 0, $k$1226 = 0, $k$13157 = 0, $k$14$lcssa = 0, $k$14137 = 0, $k$15$lcssa = 0, $k$15129 = 0; - var $k$16$lcssa = 0, $k$16124 = 0, $k$2224 = 0, $k$3222 = 0, $k$4220 = 0, $k$5218 = 0, $k$6216 = 0, $k$7208 = 0, $k$8200 = 0, $k$9191 = 0, $or$cond = 0, $or$cond311 = 0, $prior$0 = 0, $prior$0$sum = 0, $prior$0$sum28 = 0, $prior$0$sum29 = 0, $prior$0$sum30 = 0, $prior$3196 = 0, $prior$4187 = 0, $prior$5178 = 0; - var $q$0 = 0, $q$0148 = 0, $q$0149 = 0, $q$1 = 0, $q$1145 = 0, $q$1146 = 0, $scevgep = 0, $scevgep256 = 0, $scevgep259 = 0, $scevgep262 = 0, $scevgep265 = 0, $scevgep268 = 0, $scevgep270 = 0, $scevgep272 = 0, $scevgep274 = 0, $scevgep276 = 0, $scevgep278 = 0, $scevgep280 = 0, $scevgep283 = 0, $width$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$a>>2]|0; - $1 = Math_imul($x, $out_n)|0; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($out_n|0); - $5 = (($3) + 1)|0; - $6 = ($5|0)==($out_n|0); - $or$cond = $4 | $6; - if (!($or$cond)) { - ___assert_fail((21921|0),(21839|0),3994,(21962|0)); - // unreachable; - } - $7 = Math_imul($x, $out_n)|0; - $8 = Math_imul($7, $y)|0; - $9 = (_stbi__malloc($8)|0); - $10 = ((($a)) + 12|0); - HEAP32[$10>>2] = $9; - $11 = ($9|0)==(0|0); - if ($11) { - _stbi__err(21769); - $$0 = 0; - return ($$0|0); - } - $12 = Math_imul($3, $x)|0; - $13 = Math_imul($12, $depth)|0; - $14 = (($13) + 7)|0; - $15 = $14 >>> 3; - $16 = (($15) + 1)|0; - $17 = Math_imul($16, $y)|0; - $18 = HEAP32[$0>>2]|0; - $19 = ($18|0)==($x|0); - if ($19) { - $20 = ((($0)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==($y|0); - if ($22) { - $23 = ($17|0)==($raw_len|0); - if (!($23)) { - _stbi__err(21989); + default: { + HEAP32[$vararg_buffer>>2] = $10; + _TraceLog(1,18311,$vararg_buffer); $$0 = 0; - return ($$0|0); + break L4; } - } else { - label = 9; - } - } else { - label = 9; - } - if ((label|0) == 9) { - $24 = ($17>>>0)>($raw_len>>>0); - if ($24) { - _stbi__err(21989); - $$0 = 0; - return ($$0|0); - } - } - $25 = ($y|0)==(0); - L18: do { - if (!($25)) { - $26 = ($depth|0)<(8); - $27 = ($15>>>0)>($x>>>0); - $28 = (($1) - ($15))|0; - $29 = ($depth|0)==(8); - $$sum26 = (($3) + 1)|0; - $brmerge = $26 | $4; - $i$0211 = (($x) + -1)|0; - $30 = ($i$0211|0)==(0); - $31 = ($3|0)>(0); - $i$1203 = (($x) + -1)|0; - $32 = ($i$1203|0)==(0); - $33 = ($3|0)>(0); - $i$2194 = (($x) + -1)|0; - $34 = ($i$2194|0)==(0); - $35 = ($3|0)>(0); - $i$3185 = (($x) + -1)|0; - $36 = ($i$3185|0)==(0); - $37 = ($3|0)>(0); - $i$4176 = (($x) + -1)|0; - $38 = ($i$4176|0)==(0); - $39 = ($3|0)>(0); - $i$5168 = (($x) + -1)|0; - $40 = ($i$5168|0)==(0); - $41 = ($3|0)>(0); - $i$6160 = (($x) + -1)|0; - $42 = ($i$6160|0)==(0); - $43 = ($3|0)>(0); - $44 = Math_imul($3, $i$6160)|0; - $$01229 = $raw;$j$0228 = 0; - L20: while(1) { - $45 = HEAP32[$10>>2]|0; - $46 = Math_imul($j$0228, $1)|0; - $$sum13 = (($46) - ($1))|0; - $47 = HEAP8[$$01229>>0]|0; - $48 = $47&255; - $49 = ($47&255)>(4); - if ($49) { - label = 14; - break; - } - if ($26) { - if ($27) { - label = 17; - break; - } - $$sum41 = (($28) + ($46))|0; - $$sum41$pn = $$sum41;$filter_bytes$0 = 1;$width$0 = $15; - } else { - $$sum41$pn = $46;$filter_bytes$0 = $3;$width$0 = $x; - } - $50 = ($j$0228|0)==(0); - if ($50) { - $51 = (22043 + ($48)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $filter$0 = $53; - } else { - $filter$0 = $48; - } - $54 = ($filter_bytes$0|0)>(0); - L30: do { - if ($54) { - $k$0153 = 0; - while(1) { - switch ($filter$0|0) { - case 0: { - $$sum40 = (($k$0153) + 1)|0; - $55 = (($$01229) + ($$sum40)|0); - $56 = HEAP8[$55>>0]|0; - $cur$0$sum55 = (($k$0153) + ($$sum41$pn))|0; - $57 = (($45) + ($cur$0$sum55)|0); - HEAP8[$57>>0] = $56; - break; - } - case 1: { - $$sum39 = (($k$0153) + 1)|0; - $58 = (($$01229) + ($$sum39)|0); - $59 = HEAP8[$58>>0]|0; - $cur$0$sum56 = (($k$0153) + ($$sum41$pn))|0; - $60 = (($45) + ($cur$0$sum56)|0); - HEAP8[$60>>0] = $59; - break; - } - case 2: { - $$sum37 = (($k$0153) + 1)|0; - $61 = (($$01229) + ($$sum37)|0); - $62 = HEAP8[$61>>0]|0; - $63 = $62&255; - $$sum38 = (($k$0153) + ($$sum13))|0; - $64 = (($45) + ($$sum38)|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = (($66) + ($63))|0; - $68 = $67&255; - $cur$0$sum57 = (($k$0153) + ($$sum41$pn))|0; - $69 = (($45) + ($cur$0$sum57)|0); - HEAP8[$69>>0] = $68; - break; - } - case 3: { - $$sum35 = (($k$0153) + 1)|0; - $70 = (($$01229) + ($$sum35)|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $$sum36 = (($k$0153) + ($$sum13))|0; - $73 = (($45) + ($$sum36)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 >>> 1; - $77 = (($76) + ($72))|0; - $78 = $77&255; - $cur$0$sum58 = (($k$0153) + ($$sum41$pn))|0; - $79 = (($45) + ($cur$0$sum58)|0); - HEAP8[$79>>0] = $78; - break; - } - case 4: { - $$sum33 = (($k$0153) + 1)|0; - $80 = (($$01229) + ($$sum33)|0); - $81 = HEAP8[$80>>0]|0; - $82 = $81&255; - $$sum34 = (($k$0153) + ($$sum13))|0; - $83 = (($45) + ($$sum34)|0); - $84 = HEAP8[$83>>0]|0; - $85 = $84&255; - $86 = (_stbi__paeth(0,$85,0)|0); - $87 = (($86) + ($82))|0; - $88 = $87&255; - $cur$0$sum59 = (($k$0153) + ($$sum41$pn))|0; - $89 = (($45) + ($cur$0$sum59)|0); - HEAP8[$89>>0] = $88; - break; - } - case 5: { - $$sum32 = (($k$0153) + 1)|0; - $90 = (($$01229) + ($$sum32)|0); - $91 = HEAP8[$90>>0]|0; - $cur$0$sum60 = (($k$0153) + ($$sum41$pn))|0; - $92 = (($45) + ($cur$0$sum60)|0); - HEAP8[$92>>0] = $91; - break; - } - case 6: { - $$sum31 = (($k$0153) + 1)|0; - $93 = (($$01229) + ($$sum31)|0); - $94 = HEAP8[$93>>0]|0; - $cur$0$sum61 = (($k$0153) + ($$sum41$pn))|0; - $95 = (($45) + ($cur$0$sum61)|0); - HEAP8[$95>>0] = $94; - break; - } - default: { - } - } - $96 = (($k$0153) + 1)|0; - $exitcond = ($96|0)==($filter_bytes$0|0); - if ($exitcond) { - break L30; - } else { - $k$0153 = $96; - } - } - } - } while(0); - if ($29) { - if (!($4)) { - $cur$0$sum54 = (($$sum41$pn) + ($3))|0; - $97 = (($45) + ($cur$0$sum54)|0); - HEAP8[$97>>0] = -1; - } - $98 = (($$01229) + ($$sum26)|0); - $$1 = $98;$100 = $out_n;$125 = $$sum26; - } else { - $99 = ((($$01229)) + 2|0); - $$1 = $99;$100 = 1;$125 = 2; - } - $$sum27$pn = (($100) + ($$sum13))|0; - $cur$0$sum53$pn = (($100) + ($$sum41$pn))|0; - $cur$1 = (($45) + ($cur$0$sum53$pn)|0); - $prior$0 = (($45) + ($$sum27$pn)|0); - L50: do { - if ($brmerge) { - $101 = (($width$0) + -1)|0; - $102 = Math_imul($101, $3)|0; - switch ($filter$0|0) { - case 0: { - _memcpy(($cur$1|0),($$1|0),($102|0))|0; - break; - } - case 1: { - $121 = ($102|0)>(0); - if ($121) { - $122 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum24 = (($122) + ($100))|0; - $$sum25 = (($100) + ($$sum41$pn))|0; - $123 = (($width$0) + -1)|0; - $124 = Math_imul($3, $123)|0; - $k$1226 = 0; - while(1) { - $$sum69 = (($k$1226) + ($125))|0; - $126 = (($$01229) + ($$sum69)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $cur$0$sum42 = (($$sum24) + ($k$1226))|0; - $129 = (($45) + ($cur$0$sum42)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - $132 = (($131) + ($128))|0; - $133 = $132&255; - $cur$0$sum = (($$sum25) + ($k$1226))|0; - $134 = (($45) + ($cur$0$sum)|0); - HEAP8[$134>>0] = $133; - $135 = (($k$1226) + 1)|0; - $exitcond289 = ($135|0)==($124|0); - if ($exitcond289) { - break; - } else { - $k$1226 = $135; - } - } - } - break; - } - case 2: { - $118 = ($102|0)>(0); - if ($118) { - $$sum23 = (($100) + ($$sum41$pn))|0; - $119 = (($width$0) + -1)|0; - $120 = Math_imul($3, $119)|0; - $k$2224 = 0; - while(1) { - $$sum68 = (($k$2224) + ($125))|0; - $136 = (($$01229) + ($$sum68)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $prior$0$sum = (($k$2224) + ($$sum27$pn))|0; - $139 = (($45) + ($prior$0$sum)|0); - $140 = HEAP8[$139>>0]|0; - $141 = $140&255; - $142 = (($141) + ($138))|0; - $143 = $142&255; - $cur$0$sum43 = (($$sum23) + ($k$2224))|0; - $144 = (($45) + ($cur$0$sum43)|0); - HEAP8[$144>>0] = $143; - $145 = (($k$2224) + 1)|0; - $exitcond288 = ($145|0)==($120|0); - if ($exitcond288) { - break; - } else { - $k$2224 = $145; - } - } - } - break; - } - case 3: { - $114 = ($102|0)>(0); - if ($114) { - $115 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum21 = (($115) + ($100))|0; - $$sum22 = (($100) + ($$sum41$pn))|0; - $116 = (($width$0) + -1)|0; - $117 = Math_imul($3, $116)|0; - $k$3222 = 0; - while(1) { - $$sum67 = (($k$3222) + ($125))|0; - $146 = (($$01229) + ($$sum67)|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $prior$0$sum28 = (($k$3222) + ($$sum27$pn))|0; - $149 = (($45) + ($prior$0$sum28)|0); - $150 = HEAP8[$149>>0]|0; - $151 = $150&255; - $cur$0$sum45 = (($$sum21) + ($k$3222))|0; - $152 = (($45) + ($cur$0$sum45)|0); - $153 = HEAP8[$152>>0]|0; - $154 = $153&255; - $155 = (($154) + ($151))|0; - $156 = $155 >>> 1; - $157 = (($156) + ($148))|0; - $158 = $157&255; - $cur$0$sum44 = (($$sum22) + ($k$3222))|0; - $159 = (($45) + ($cur$0$sum44)|0); - HEAP8[$159>>0] = $158; - $160 = (($k$3222) + 1)|0; - $exitcond287 = ($160|0)==($117|0); - if ($exitcond287) { - break; - } else { - $k$3222 = $160; - } - } - } - break; - } - case 4: { - $111 = ($102|0)>(0); - if ($111) { - $$sum19 = (($100) + ($$sum41$pn))|0; - $$sum20 = (($100) + ($$sum41$pn))|0; - $112 = (($width$0) + -1)|0; - $113 = Math_imul($3, $112)|0; - $k$4220 = 0; - while(1) { - $$sum66 = (($k$4220) + ($125))|0; - $161 = (($$01229) + ($$sum66)|0); - $162 = HEAP8[$161>>0]|0; - $163 = $162&255; - $164 = (($k$4220) - ($filter_bytes$0))|0; - $cur$0$sum47 = (($$sum19) + ($164))|0; - $165 = (($45) + ($cur$0$sum47)|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $prior$0$sum30 = (($k$4220) + ($$sum27$pn))|0; - $168 = (($45) + ($prior$0$sum30)|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169&255; - $prior$0$sum29 = (($164) + ($$sum27$pn))|0; - $171 = (($45) + ($prior$0$sum29)|0); - $172 = HEAP8[$171>>0]|0; - $173 = $172&255; - $174 = (_stbi__paeth($167,$170,$173)|0); - $175 = (($174) + ($163))|0; - $176 = $175&255; - $cur$0$sum46 = (($$sum20) + ($k$4220))|0; - $177 = (($45) + ($cur$0$sum46)|0); - HEAP8[$177>>0] = $176; - $178 = (($k$4220) + 1)|0; - $exitcond286 = ($178|0)==($113|0); - if ($exitcond286) { - break; - } else { - $k$4220 = $178; - } - } - } - break; - } - case 5: { - $107 = ($102|0)>(0); - if ($107) { - $108 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum17 = (($108) + ($100))|0; - $$sum18 = (($100) + ($$sum41$pn))|0; - $109 = (($width$0) + -1)|0; - $110 = Math_imul($3, $109)|0; - $k$5218 = 0; - while(1) { - $$sum65 = (($k$5218) + ($125))|0; - $179 = (($$01229) + ($$sum65)|0); - $180 = HEAP8[$179>>0]|0; - $181 = $180&255; - $cur$0$sum49 = (($$sum17) + ($k$5218))|0; - $182 = (($45) + ($cur$0$sum49)|0); - $183 = HEAP8[$182>>0]|0; - $184 = $183&255; - $185 = $184 >>> 1; - $186 = (($185) + ($181))|0; - $187 = $186&255; - $cur$0$sum48 = (($$sum18) + ($k$5218))|0; - $188 = (($45) + ($cur$0$sum48)|0); - HEAP8[$188>>0] = $187; - $189 = (($k$5218) + 1)|0; - $exitcond285 = ($189|0)==($110|0); - if ($exitcond285) { - break; - } else { - $k$5218 = $189; - } - } - } - break; - } - case 6: { - $103 = ($102|0)>(0); - if ($103) { - $104 = (($$sum41$pn) - ($filter_bytes$0))|0; - $$sum15 = (($104) + ($100))|0; - $$sum16 = (($100) + ($$sum41$pn))|0; - $105 = (($width$0) + -1)|0; - $106 = Math_imul($3, $105)|0; - $k$6216 = 0; - while(1) { - $$sum64 = (($k$6216) + ($125))|0; - $190 = (($$01229) + ($$sum64)|0); - $191 = HEAP8[$190>>0]|0; - $192 = $191&255; - $cur$0$sum51 = (($$sum15) + ($k$6216))|0; - $193 = (($45) + ($cur$0$sum51)|0); - $194 = HEAP8[$193>>0]|0; - $195 = $194&255; - $196 = (_stbi__paeth($195,0,0)|0); - $197 = (($196) + ($192))|0; - $198 = $197&255; - $cur$0$sum50 = (($$sum16) + ($k$6216))|0; - $199 = (($45) + ($cur$0$sum50)|0); - HEAP8[$199>>0] = $198; - $200 = (($k$6216) + 1)|0; - $exitcond284 = ($200|0)==($106|0); - if ($exitcond284) { - break; - } else { - $k$6216 = $200; - } - } - } - break; - } - default: { - } - } - $$sum63 = (($125) + ($102))|0; - $201 = (($$01229) + ($$sum63)|0); - $$9 = $201; - } else { - if (!($6)) { - label = 59; - break L20; - } - switch ($filter$0|0) { - case 0: { - if ($30) { - $$9 = $$1; - break L50; - } else { - $$2213 = $$1;$cur$2212 = $cur$1;$i$0214 = $i$0211; - } - while(1) { - if ($31) { - $k$7208 = 0; - while(1) { - $202 = (($$2213) + ($k$7208)|0); - $203 = HEAP8[$202>>0]|0; - $204 = (($cur$2212) + ($k$7208)|0); - HEAP8[$204>>0] = $203; - $205 = (($k$7208) + 1)|0; - $exitcond281 = ($205|0)==($3|0); - if ($exitcond281) { - break; - } else { - $k$7208 = $205; - } - } - } - $206 = (($cur$2212) + ($3)|0); - HEAP8[$206>>0] = -1; - $207 = (($$2213) + ($3)|0); - $208 = (($cur$2212) + ($out_n)|0); - $i$0 = (($i$0214) + -1)|0; - $209 = ($i$0|0)==(0); - if ($209) { - break; - } else { - $$2213 = $207;$cur$2212 = $208;$i$0214 = $i$0; - } - } - $$sum304 = (($125) + ($44))|0; - $scevgep283 = (($$01229) + ($$sum304)|0); - $$9 = $scevgep283; - break L50; - break; - } - case 1: { - if ($32) { - $$9 = $$1; - break L50; - } else { - $$3205 = $$1;$cur$3204 = $cur$1;$i$1206 = $i$1203; - } - while(1) { - if ($33) { - $k$8200 = 0; - while(1) { - $210 = (($$3205) + ($k$8200)|0); - $211 = HEAP8[$210>>0]|0; - $212 = $211&255; - $213 = (($k$8200) - ($out_n))|0; - $214 = (($cur$3204) + ($213)|0); - $215 = HEAP8[$214>>0]|0; - $216 = $215&255; - $217 = (($216) + ($212))|0; - $218 = $217&255; - $219 = (($cur$3204) + ($k$8200)|0); - HEAP8[$219>>0] = $218; - $220 = (($k$8200) + 1)|0; - $exitcond279 = ($220|0)==($3|0); - if ($exitcond279) { - break; - } else { - $k$8200 = $220; - } - } - } - $221 = (($cur$3204) + ($3)|0); - HEAP8[$221>>0] = -1; - $222 = (($$3205) + ($3)|0); - $223 = (($cur$3204) + ($out_n)|0); - $i$1 = (($i$1206) + -1)|0; - $224 = ($i$1|0)==(0); - if ($224) { - break; - } else { - $$3205 = $222;$cur$3204 = $223;$i$1206 = $i$1; - } - } - $$sum303 = (($125) + ($44))|0; - $scevgep280 = (($$01229) + ($$sum303)|0); - $$9 = $scevgep280; - break L50; - break; - } - case 2: { - if ($34) { - $$9 = $$1; - break L50; - } else { - $$4197 = $$1;$cur$4195 = $cur$1;$i$2198 = $i$2194;$prior$3196 = $prior$0; - } - while(1) { - if ($35) { - $k$9191 = 0; - while(1) { - $225 = (($$4197) + ($k$9191)|0); - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - $228 = (($prior$3196) + ($k$9191)|0); - $229 = HEAP8[$228>>0]|0; - $230 = $229&255; - $231 = (($230) + ($227))|0; - $232 = $231&255; - $233 = (($cur$4195) + ($k$9191)|0); - HEAP8[$233>>0] = $232; - $234 = (($k$9191) + 1)|0; - $exitcond277 = ($234|0)==($3|0); - if ($exitcond277) { - break; - } else { - $k$9191 = $234; - } - } - } - $235 = (($cur$4195) + ($3)|0); - HEAP8[$235>>0] = -1; - $236 = (($$4197) + ($3)|0); - $237 = (($cur$4195) + ($out_n)|0); - $238 = (($prior$3196) + ($out_n)|0); - $i$2 = (($i$2198) + -1)|0; - $239 = ($i$2|0)==(0); - if ($239) { - break; - } else { - $$4197 = $236;$cur$4195 = $237;$i$2198 = $i$2;$prior$3196 = $238; - } - } - $$sum302 = (($125) + ($44))|0; - $scevgep278 = (($$01229) + ($$sum302)|0); - $$9 = $scevgep278; - break L50; - break; - } - case 3: { - if ($36) { - $$9 = $$1; - break L50; - } else { - $$5188 = $$1;$cur$5186 = $cur$1;$i$3189 = $i$3185;$prior$4187 = $prior$0; - } - while(1) { - if ($37) { - $k$10182 = 0; - while(1) { - $240 = (($$5188) + ($k$10182)|0); - $241 = HEAP8[$240>>0]|0; - $242 = $241&255; - $243 = (($prior$4187) + ($k$10182)|0); - $244 = HEAP8[$243>>0]|0; - $245 = $244&255; - $246 = (($k$10182) - ($out_n))|0; - $247 = (($cur$5186) + ($246)|0); - $248 = HEAP8[$247>>0]|0; - $249 = $248&255; - $250 = (($249) + ($245))|0; - $251 = $250 >>> 1; - $252 = (($251) + ($242))|0; - $253 = $252&255; - $254 = (($cur$5186) + ($k$10182)|0); - HEAP8[$254>>0] = $253; - $255 = (($k$10182) + 1)|0; - $exitcond275 = ($255|0)==($3|0); - if ($exitcond275) { - break; - } else { - $k$10182 = $255; - } - } - } - $256 = (($cur$5186) + ($3)|0); - HEAP8[$256>>0] = -1; - $257 = (($$5188) + ($3)|0); - $258 = (($cur$5186) + ($out_n)|0); - $259 = (($prior$4187) + ($out_n)|0); - $i$3 = (($i$3189) + -1)|0; - $260 = ($i$3|0)==(0); - if ($260) { - break; - } else { - $$5188 = $257;$cur$5186 = $258;$i$3189 = $i$3;$prior$4187 = $259; - } - } - $$sum301 = (($125) + ($44))|0; - $scevgep276 = (($$01229) + ($$sum301)|0); - $$9 = $scevgep276; - break L50; - break; - } - case 4: { - if ($38) { - $$9 = $$1; - break L50; - } else { - $$6179 = $$1;$cur$6177 = $cur$1;$i$4180 = $i$4176;$prior$5178 = $prior$0; - } - while(1) { - if ($39) { - $k$11173 = 0; - while(1) { - $261 = (($$6179) + ($k$11173)|0); - $262 = HEAP8[$261>>0]|0; - $263 = $262&255; - $264 = (($k$11173) - ($out_n))|0; - $265 = (($cur$6177) + ($264)|0); - $266 = HEAP8[$265>>0]|0; - $267 = $266&255; - $268 = (($prior$5178) + ($k$11173)|0); - $269 = HEAP8[$268>>0]|0; - $270 = $269&255; - $271 = (($prior$5178) + ($264)|0); - $272 = HEAP8[$271>>0]|0; - $273 = $272&255; - $274 = (_stbi__paeth($267,$270,$273)|0); - $275 = (($274) + ($263))|0; - $276 = $275&255; - $277 = (($cur$6177) + ($k$11173)|0); - HEAP8[$277>>0] = $276; - $278 = (($k$11173) + 1)|0; - $exitcond273 = ($278|0)==($3|0); - if ($exitcond273) { - break; - } else { - $k$11173 = $278; - } - } - } - $279 = (($cur$6177) + ($3)|0); - HEAP8[$279>>0] = -1; - $280 = (($$6179) + ($3)|0); - $281 = (($cur$6177) + ($out_n)|0); - $282 = (($prior$5178) + ($out_n)|0); - $i$4 = (($i$4180) + -1)|0; - $283 = ($i$4|0)==(0); - if ($283) { - break; - } else { - $$6179 = $280;$cur$6177 = $281;$i$4180 = $i$4;$prior$5178 = $282; - } - } - $$sum300 = (($125) + ($44))|0; - $scevgep274 = (($$01229) + ($$sum300)|0); - $$9 = $scevgep274; - break L50; - break; - } - case 5: { - if ($40) { - $$9 = $$1; - break L50; - } else { - $$7170 = $$1;$cur$7169 = $cur$1;$i$5171 = $i$5168; - } - while(1) { - if ($41) { - $k$12165 = 0; - while(1) { - $284 = (($$7170) + ($k$12165)|0); - $285 = HEAP8[$284>>0]|0; - $286 = $285&255; - $287 = (($k$12165) - ($out_n))|0; - $288 = (($cur$7169) + ($287)|0); - $289 = HEAP8[$288>>0]|0; - $290 = $289&255; - $291 = $290 >>> 1; - $292 = (($291) + ($286))|0; - $293 = $292&255; - $294 = (($cur$7169) + ($k$12165)|0); - HEAP8[$294>>0] = $293; - $295 = (($k$12165) + 1)|0; - $exitcond271 = ($295|0)==($3|0); - if ($exitcond271) { - break; - } else { - $k$12165 = $295; - } - } - } - $296 = (($cur$7169) + ($3)|0); - HEAP8[$296>>0] = -1; - $297 = (($$7170) + ($3)|0); - $298 = (($cur$7169) + ($out_n)|0); - $i$5 = (($i$5171) + -1)|0; - $299 = ($i$5|0)==(0); - if ($299) { - break; - } else { - $$7170 = $297;$cur$7169 = $298;$i$5171 = $i$5; - } - } - $$sum299 = (($125) + ($44))|0; - $scevgep272 = (($$01229) + ($$sum299)|0); - $$9 = $scevgep272; - break L50; - break; - } - case 6: { - if ($42) { - $$9 = $$1; - break L50; - } else { - $$8162 = $$1;$cur$8161 = $cur$1;$i$6163 = $i$6160; - } - while(1) { - if ($43) { - $k$13157 = 0; - while(1) { - $300 = (($$8162) + ($k$13157)|0); - $301 = HEAP8[$300>>0]|0; - $302 = $301&255; - $303 = (($k$13157) - ($out_n))|0; - $304 = (($cur$8161) + ($303)|0); - $305 = HEAP8[$304>>0]|0; - $306 = $305&255; - $307 = (_stbi__paeth($306,0,0)|0); - $308 = (($307) + ($302))|0; - $309 = $308&255; - $310 = (($cur$8161) + ($k$13157)|0); - HEAP8[$310>>0] = $309; - $311 = (($k$13157) + 1)|0; - $exitcond269 = ($311|0)==($3|0); - if ($exitcond269) { - break; - } else { - $k$13157 = $311; - } - } - } - $312 = (($cur$8161) + ($3)|0); - HEAP8[$312>>0] = -1; - $313 = (($$8162) + ($3)|0); - $314 = (($cur$8161) + ($out_n)|0); - $i$6 = (($i$6163) + -1)|0; - $315 = ($i$6|0)==(0); - if ($315) { - break; - } else { - $$8162 = $313;$cur$8161 = $314;$i$6163 = $i$6; - } - } - $$sum290 = (($125) + ($44))|0; - $scevgep270 = (($$01229) + ($$sum290)|0); - $$9 = $scevgep270; - break L50; - break; - } - default: { - $$9 = $$1; - break L50; - } - } - } - } while(0); - $316 = (($j$0228) + 1)|0; - $317 = ($316>>>0)<($y>>>0); - if ($317) { - $$01229 = $$9;$j$0228 = $316; - } else { - break L18; - } - } - if ((label|0) == 14) { - _stbi__err(22007); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 17) { - ___assert_fail((22022|0),(21839|0),4016,(21962|0)); - // unreachable; - } - else if ((label|0) == 59) { - ___assert_fail((22048|0),(21839|0),4069,(21962|0)); - // unreachable; - } - } - } while(0); - $318 = ($depth|0)>(7); - $319 = ($y|0)==(0); - $or$cond311 = $318 | $319; - if ($or$cond311) { - $$0 = 1; - return ($$0|0); - } - $$sum = (($1) - ($15))|0; - $320 = ($color|0)==(0); - $321 = (21752 + ($depth)|0); - $q$0148 = (($x) + -1)|0; - $322 = ($q$0148|0)>(-1); - $q$1145 = (($x) + -1)|0; - $323 = ($q$1145|0)>(-1); - $324 = ($12|0)>(1); - $325 = ($12|0)>(3); - $326 = ($12|0)>(7); - $327 = Math_imul($3, $x)|0; - $328 = (($327) + -8)|0; - $329 = $328 >>> 3; - $330 = Math_imul($x, $out_n)|0; - $331 = (($329) + ($330))|0; - $332 = (($331) + 1)|0; - $333 = Math_imul($3, $depth)|0; - $334 = Math_imul($333, $x)|0; - $335 = (($334) + 7)|0; - $336 = $335 >>> 3; - $337 = (($332) - ($336))|0; - $338 = (($327) + -8)|0; - $339 = $329 << 3; - $340 = (($338) - ($339))|0; - $341 = (($339) + 8)|0; - $342 = Math_imul($3, $x)|0; - $343 = (($342) + -4)|0; - $344 = $343 >>> 2; - $345 = Math_imul($x, $out_n)|0; - $346 = (($344) + ($345))|0; - $347 = (($346) + 1)|0; - $348 = Math_imul($3, $depth)|0; - $349 = Math_imul($348, $x)|0; - $350 = (($349) + 7)|0; - $351 = $350 >>> 3; - $352 = (($347) - ($351))|0; - $353 = (($342) + -4)|0; - $354 = $344 << 2; - $355 = (($353) - ($354))|0; - $356 = (($354) + 4)|0; - $357 = Math_imul($3, $x)|0; - $358 = (($357) + -2)|0; - $359 = $358 >>> 1; - $360 = Math_imul($x, $out_n)|0; - $361 = (($359) + ($360))|0; - $362 = (($361) + 1)|0; - $363 = Math_imul($3, $depth)|0; - $364 = Math_imul($363, $x)|0; - $365 = (($364) + 7)|0; - $366 = $365 >>> 3; - $367 = (($362) - ($366))|0; - $368 = (($357) + -2)|0; - $369 = $359 << 1; - $370 = (($368) - ($369))|0; - $371 = (($369) + 2)|0; - $indvars$iv = $337;$indvars$iv254 = $341;$indvars$iv257 = $352;$indvars$iv260 = $356;$indvars$iv263 = $367;$indvars$iv266 = $371;$j$1151 = 0; - L148: while(1) { - $372 = HEAP32[$10>>2]|0; - $373 = Math_imul($j$1151, $1)|0; - $374 = (($372) + ($373)|0); - $$sum2 = (($$sum) + ($373))|0; - $375 = (($372) + ($$sum2)|0); - if ($320) { - $376 = HEAP8[$321>>0]|0; - $377 = $376&255; - $382 = $377; - } else { - $382 = 1; - } - switch ($depth|0) { - case 4: { - if ($324) { - $scevgep265 = (($372) + ($indvars$iv263)|0); - $cur1$0138 = $374;$in$0139 = $375;$k$14137 = $12; - while(1) { - $378 = HEAP8[$in$0139>>0]|0; - $379 = $378&255; - $380 = $379 >>> 4; - $381 = Math_imul($380, $382)|0; - $383 = $381&255; - $384 = ((($cur1$0138)) + 1|0); - HEAP8[$cur1$0138>>0] = $383; - $385 = HEAP8[$in$0139>>0]|0; - $386 = $385&255; - $387 = $386 & 15; - $388 = Math_imul($387, $382)|0; - $389 = $388&255; - $390 = ((($cur1$0138)) + 2|0); - HEAP8[$384>>0] = $389; - $391 = (($k$14137) + -2)|0; - $392 = ((($in$0139)) + 1|0); - $393 = ($391|0)>(1); - if ($393) { - $cur1$0138 = $390;$in$0139 = $392;$k$14137 = $391; - } else { - break; - } - } - $scevgep268 = (($372) + ($indvars$iv266)|0); - $cur1$0$lcssa = $scevgep268;$in$0$lcssa = $scevgep265;$k$14$lcssa = $370; - } else { - $cur1$0$lcssa = $374;$in$0$lcssa = $375;$k$14$lcssa = $12; - } - $394 = ($k$14$lcssa|0)>(0); - if ($394) { - $395 = HEAP8[$in$0$lcssa>>0]|0; - $396 = $395&255; - $397 = $396 >>> 4; - $398 = Math_imul($397, $382)|0; - $399 = $398&255; - HEAP8[$cur1$0$lcssa>>0] = $399; } break; } case 2: { - if ($325) { - $scevgep259 = (($372) + ($indvars$iv257)|0); - $cur1$1130 = $374;$in$1131 = $375;$k$15129 = $12; - while(1) { - $400 = HEAP8[$in$1131>>0]|0; - $401 = $400&255; - $402 = $401 >>> 6; - $403 = Math_imul($402, $382)|0; - $404 = $403&255; - $405 = ((($cur1$1130)) + 1|0); - HEAP8[$cur1$1130>>0] = $404; - $406 = HEAP8[$in$1131>>0]|0; - $407 = $406&255; - $408 = $407 >>> 4; - $409 = $408 & 3; - $410 = Math_imul($409, $382)|0; - $411 = $410&255; - $412 = ((($cur1$1130)) + 2|0); - HEAP8[$405>>0] = $411; - $413 = HEAP8[$in$1131>>0]|0; - $414 = $413&255; - $415 = $414 >>> 2; - $416 = $415 & 3; - $417 = Math_imul($416, $382)|0; - $418 = $417&255; - $419 = ((($cur1$1130)) + 3|0); - HEAP8[$412>>0] = $418; - $420 = HEAP8[$in$1131>>0]|0; - $421 = $420&255; - $422 = $421 & 3; - $423 = Math_imul($422, $382)|0; - $424 = $423&255; - $425 = ((($cur1$1130)) + 4|0); - HEAP8[$419>>0] = $424; - $426 = (($k$15129) + -4)|0; - $427 = ((($in$1131)) + 1|0); - $428 = ($426|0)>(3); - if ($428) { - $cur1$1130 = $425;$in$1131 = $427;$k$15129 = $426; - } else { - break; - } - } - $scevgep262 = (($372) + ($indvars$iv260)|0); - $436 = $indvars$iv260;$cur1$1$lcssa = $scevgep262;$in$1$lcssa = $scevgep259;$k$15$lcssa = $355; - } else { - $436 = $373;$cur1$1$lcssa = $374;$in$1$lcssa = $375;$k$15$lcssa = $12; + $11 = ((($1)) + 8|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 8: { + $$0 = 4354; + break L4; + break; } - $429 = ($k$15$lcssa|0)>(0); - if ($429) { - $430 = HEAP8[$in$1$lcssa>>0]|0; - $431 = $430&255; - $432 = $431 >>> 6; - $433 = Math_imul($432, $382)|0; - $434 = $433&255; - HEAP8[$cur1$1$lcssa>>0] = $434; - $435 = ($k$15$lcssa|0)>(1); - if ($435) { - $$sum297 = (($436) + 1)|0; - $437 = (($372) + ($$sum297)|0); - $438 = HEAP8[$in$1$lcssa>>0]|0; - $439 = $438&255; - $440 = $439 >>> 4; - $441 = $440 & 3; - $442 = Math_imul($441, $382)|0; - $443 = $442&255; - HEAP8[$437>>0] = $443; - $444 = ($k$15$lcssa|0)>(2); - if ($444) { - $$sum298 = (($436) + 2)|0; - $445 = (($372) + ($$sum298)|0); - $446 = HEAP8[$in$1$lcssa>>0]|0; - $447 = $446&255; - $448 = $447 >>> 2; - $449 = $448 & 3; - $450 = Math_imul($449, $382)|0; - $451 = $450&255; - HEAP8[$445>>0] = $451; - } - } + case 16: { + $$0 = 4355; + break L4; + break; } - break; - } - case 1: { - if ($326) { - $scevgep = (($372) + ($indvars$iv)|0); - $cur1$4125 = $374;$in$2126 = $375;$k$16124 = $12; - while(1) { - $452 = HEAP8[$in$2126>>0]|0; - $453 = $452&255; - $454 = $453 >>> 7; - $455 = (0 - ($454))|0; - $456 = $382 & $455; - $457 = $456&255; - $458 = ((($cur1$4125)) + 1|0); - HEAP8[$cur1$4125>>0] = $457; - $459 = HEAP8[$in$2126>>0]|0; - $460 = $459&255; - $461 = $460 >>> 6; - $462 = $461 & 1; - $463 = (0 - ($462))|0; - $464 = $382 & $463; - $465 = $464&255; - $466 = ((($cur1$4125)) + 2|0); - HEAP8[$458>>0] = $465; - $467 = HEAP8[$in$2126>>0]|0; - $468 = $467&255; - $469 = $468 >>> 5; - $470 = $469 & 1; - $471 = (0 - ($470))|0; - $472 = $382 & $471; - $473 = $472&255; - $474 = ((($cur1$4125)) + 3|0); - HEAP8[$466>>0] = $473; - $475 = HEAP8[$in$2126>>0]|0; - $476 = $475&255; - $477 = $476 >>> 4; - $478 = $477 & 1; - $479 = (0 - ($478))|0; - $480 = $382 & $479; - $481 = $480&255; - $482 = ((($cur1$4125)) + 4|0); - HEAP8[$474>>0] = $481; - $483 = HEAP8[$in$2126>>0]|0; - $484 = $483&255; - $485 = $484 >>> 3; - $486 = $485 & 1; - $487 = (0 - ($486))|0; - $488 = $382 & $487; - $489 = $488&255; - $490 = ((($cur1$4125)) + 5|0); - HEAP8[$482>>0] = $489; - $491 = HEAP8[$in$2126>>0]|0; - $492 = $491&255; - $493 = $492 >>> 2; - $494 = $493 & 1; - $495 = (0 - ($494))|0; - $496 = $382 & $495; - $497 = $496&255; - $498 = ((($cur1$4125)) + 6|0); - HEAP8[$490>>0] = $497; - $499 = HEAP8[$in$2126>>0]|0; - $500 = $499&255; - $501 = $500 >>> 1; - $502 = $501 & 1; - $503 = (0 - ($502))|0; - $504 = $382 & $503; - $505 = $504&255; - $506 = ((($cur1$4125)) + 7|0); - HEAP8[$498>>0] = $505; - $507 = HEAP8[$in$2126>>0]|0; - $508 = $507&255; - $509 = $508 & 1; - $510 = (0 - ($509))|0; - $511 = $382 & $510; - $512 = $511&255; - $513 = ((($cur1$4125)) + 8|0); - HEAP8[$506>>0] = $512; - $514 = (($k$16124) + -8)|0; - $515 = ((($in$2126)) + 1|0); - $516 = ($514|0)>(7); - if ($516) { - $cur1$4125 = $513;$in$2126 = $515;$k$16124 = $514; - } else { - break; - } - } - $scevgep256 = (($372) + ($indvars$iv254)|0); - $525 = $indvars$iv254;$cur1$4$lcssa = $scevgep256;$in$2$lcssa = $scevgep;$k$16$lcssa = $340; - } else { - $525 = $373;$cur1$4$lcssa = $374;$in$2$lcssa = $375;$k$16$lcssa = $12; + case 32: { + $$0 = 65553; + break L4; + break; + } + default: { + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(1,18311,$vararg_buffer1); + $$0 = 0; + break L4; } - $517 = ($k$16$lcssa|0)>(0); - if ($517) { - $518 = HEAP8[$in$2$lcssa>>0]|0; - $519 = $518&255; - $520 = $519 >>> 7; - $521 = (0 - ($520))|0; - $522 = $382 & $521; - $523 = $522&255; - HEAP8[$cur1$4$lcssa>>0] = $523; - $524 = ($k$16$lcssa|0)>(1); - if ($524) { - $$sum291 = (($525) + 1)|0; - $526 = (($372) + ($$sum291)|0); - $527 = HEAP8[$in$2$lcssa>>0]|0; - $528 = $527&255; - $529 = $528 >>> 6; - $530 = $529 & 1; - $531 = (0 - ($530))|0; - $532 = $382 & $531; - $533 = $532&255; - HEAP8[$526>>0] = $533; - $534 = ($k$16$lcssa|0)>(2); - if ($534) { - $$sum292 = (($525) + 2)|0; - $535 = (($372) + ($$sum292)|0); - $536 = HEAP8[$in$2$lcssa>>0]|0; - $537 = $536&255; - $538 = $537 >>> 5; - $539 = $538 & 1; - $540 = (0 - ($539))|0; - $541 = $382 & $540; - $542 = $541&255; - HEAP8[$535>>0] = $542; - $543 = ($k$16$lcssa|0)>(3); - if ($543) { - $$sum293 = (($525) + 3)|0; - $544 = (($372) + ($$sum293)|0); - $545 = HEAP8[$in$2$lcssa>>0]|0; - $546 = $545&255; - $547 = $546 >>> 4; - $548 = $547 & 1; - $549 = (0 - ($548))|0; - $550 = $382 & $549; - $551 = $550&255; - HEAP8[$544>>0] = $551; - $552 = ($k$16$lcssa|0)>(4); - if ($552) { - $$sum294 = (($525) + 4)|0; - $553 = (($372) + ($$sum294)|0); - $554 = HEAP8[$in$2$lcssa>>0]|0; - $555 = $554&255; - $556 = $555 >>> 3; - $557 = $556 & 1; - $558 = (0 - ($557))|0; - $559 = $382 & $558; - $560 = $559&255; - HEAP8[$553>>0] = $560; - $561 = ($k$16$lcssa|0)>(5); - if ($561) { - $$sum295 = (($525) + 5)|0; - $562 = (($372) + ($$sum295)|0); - $563 = HEAP8[$in$2$lcssa>>0]|0; - $564 = $563&255; - $565 = $564 >>> 2; - $566 = $565 & 1; - $567 = (0 - ($566))|0; - $568 = $382 & $567; - $569 = $568&255; - HEAP8[$562>>0] = $569; - $570 = ($k$16$lcssa|0)>(6); - if ($570) { - $$sum296 = (($525) + 6)|0; - $571 = (($372) + ($$sum296)|0); - $572 = HEAP8[$in$2$lcssa>>0]|0; - $573 = $572&255; - $574 = $573 >>> 1; - $575 = $574 & 1; - $576 = (0 - ($575))|0; - $577 = $382 & $576; - $578 = $577&255; - HEAP8[$571>>0] = $578; - } - } - } - } - } - } } break; } default: { + HEAP32[$vararg_buffer4>>2] = $8; + _TraceLog(1,18346,$vararg_buffer4); + $$0 = 0; } } - L187: do { - if (!($4)) { - $579 = HEAP32[$10>>2]|0; - switch ($3|0) { - case 1: { - if ($322) { - $q$0149 = $q$0148; - } else { - break L187; - } - while(1) { - $582 = $q$0149 << 1; - $583 = $582 | 1; - $$sum10 = (($583) + ($373))|0; - $584 = (($579) + ($$sum10)|0); - HEAP8[$584>>0] = -1; - $$sum11 = (($q$0149) + ($373))|0; - $585 = (($579) + ($$sum11)|0); - $586 = HEAP8[$585>>0]|0; - $$sum12 = (($582) + ($373))|0; - $587 = (($579) + ($$sum12)|0); - HEAP8[$587>>0] = $586; - $q$0 = (($q$0149) + -1)|0; - $588 = ($q$0|0)>(-1); - if ($588) { - $q$0149 = $q$0; - } else { - break L187; - } - } - break; - } - case 3: { - break; - } - default: { - label = 134; - break L148; - } - } - if ($323) { - $580 = (($373) + 2)|0; - $581 = (($373) + 1)|0; - $q$1146 = $q$1145; - while(1) { - $589 = $q$1146 << 2; - $590 = $589 | 3; - $$sum3 = (($590) + ($373))|0; - $591 = (($579) + ($$sum3)|0); - HEAP8[$591>>0] = -1; - $592 = ($q$1146*3)|0; - $$sum4 = (($580) + ($592))|0; - $593 = (($579) + ($$sum4)|0); - $594 = HEAP8[$593>>0]|0; - $595 = $589 | 2; - $$sum5 = (($595) + ($373))|0; - $596 = (($579) + ($$sum5)|0); - HEAP8[$596>>0] = $594; - $$sum6 = (($581) + ($592))|0; - $597 = (($579) + ($$sum6)|0); - $598 = HEAP8[$597>>0]|0; - $599 = $589 | 1; - $$sum7 = (($599) + ($373))|0; - $600 = (($579) + ($$sum7)|0); - HEAP8[$600>>0] = $598; - $$sum8 = (($592) + ($373))|0; - $601 = (($579) + ($$sum8)|0); - $602 = HEAP8[$601>>0]|0; - $$sum9 = (($589) + ($373))|0; - $603 = (($579) + ($$sum9)|0); - HEAP8[$603>>0] = $602; - $q$1 = (($q$1146) + -1)|0; - $604 = ($q$1|0)>(-1); - if ($604) { - $q$1146 = $q$1; - } else { - break; - } - } - } - } - } while(0); - $605 = (($j$1151) + 1)|0; - $606 = ($605>>>0)<($y>>>0); - $indvars$iv$next = (($indvars$iv) + ($330))|0; - $indvars$iv$next255 = (($indvars$iv254) + ($330))|0; - $indvars$iv$next258 = (($indvars$iv257) + ($345))|0; - $indvars$iv$next261 = (($indvars$iv260) + ($345))|0; - $indvars$iv$next264 = (($indvars$iv263) + ($360))|0; - $indvars$iv$next267 = (($indvars$iv266) + ($360))|0; - if ($606) { - $indvars$iv = $indvars$iv$next;$indvars$iv254 = $indvars$iv$next255;$indvars$iv257 = $indvars$iv$next258;$indvars$iv260 = $indvars$iv$next261;$indvars$iv263 = $indvars$iv$next264;$indvars$iv266 = $indvars$iv$next267;$j$1151 = $605; + } while(0); + _alGenSources(1,($2|0)); + $13 = HEAP32[$2>>2]|0; + _alSourcef(($13|0),4099,1.0); + $14 = HEAP32[$2>>2]|0; + _alSourcef(($14|0),4106,1.0); + $15 = HEAP32[$2>>2]|0; + _alSource3f(($15|0),4100,0.0,0.0,0.0); + $16 = HEAP32[$2>>2]|0; + _alSource3f(($16|0),4102,0.0,0.0,0.0); + $17 = HEAP32[$2>>2]|0; + _alSourcei(($17|0),4103,0); + _alGenBuffers(1,($3|0)); + $18 = HEAP32[$1>>2]|0; + $19 = HEAP32[$7>>2]|0; + $20 = Math_imul($19, $18)|0; + $21 = ((($1)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = Math_imul($20, $22)|0; + $24 = $23 >>> 3; + $25 = HEAP32[$3>>2]|0; + $26 = HEAP32[$4>>2]|0; + $27 = ((($1)) + 4|0); + $28 = HEAP32[$27>>2]|0; + _alBufferData(($25|0),($$0|0),($26|0),($24|0),($28|0)); + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$3>>2]|0; + _alSourcei(($29|0),4105,($30|0)); + $31 = HEAP32[$2>>2]|0; + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$27>>2]|0; + $34 = HEAP32[$21>>2]|0; + $35 = HEAP32[$7>>2]|0; + $36 = ($35|0)==(1); + $37 = $36 ? 17020 : 17025; + HEAP32[$vararg_buffer7>>2] = $31; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $32; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $33; + $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); + HEAP32[$vararg_ptr12>>2] = $34; + $vararg_ptr13 = ((($vararg_buffer7)) + 16|0); + HEAP32[$vararg_ptr13>>2] = $37; + _TraceLog(0,18388,$vararg_buffer7); + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$3>>2]|0; + $$sroa$0$0 = $38;$$sroa$5$0 = $39;$$sroa$6$0 = $$0; + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx7 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx7>>2] = $$sroa$5$0; + $$sroa$6$0$$sroa_idx9 = ((($0)) + 8|0); + HEAP32[$$sroa$6$0$$sroa_idx9>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _UnloadWave($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $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; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + _free($2); + } + _TraceLog(0,18283,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadSound($0) { + $0 = $0|0; + var $1 = 0, $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; + $1 = HEAP32[$0>>2]|0; + _alSourceStop(($1|0)); + _alDeleteSources(1,($0|0)); + $2 = ((($0)) + 4|0); + _alDeleteBuffers(1,($2|0)); + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$2>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $4; + _TraceLog(0,18463,$vararg_buffer); + STACKTOP = sp;return; +} +function _PlaySound($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _alSourcePlay(($1|0)); + return; +} +function _LoadMusicStream($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.0, $39 = 0.0, $4 = 0, $40 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $vararg_ptr24 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); + $vararg_buffer28 = sp + 72|0; + $vararg_buffer25 = sp + 64|0; + $vararg_buffer21 = sp + 48|0; + $vararg_buffer17 = sp + 40|0; + $vararg_buffer13 = sp + 32|0; + $vararg_buffer9 = sp + 24|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 136|0; + $2 = sp + 104|0; + $3 = sp + 76|0; + $4 = (_malloc(52)|0); + $5 = (_IsFileExtension($0,16739)|0); + $6 = ($5|0)==(0); + if (!($6)) { + $7 = (_stb_vorbis_open_filename($0,0,0)|0); + $8 = ((($4)) + 4|0); + HEAP32[$8>>2] = $7; + $9 = ($7|0)==(0|0); + if ($9) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(1,18516,$vararg_buffer); + STACKTOP = sp;return ($4|0); } else { - $$0 = 1; - label = 137; - break; + $10 = HEAP32[$8>>2]|0; + _stb_vorbis_get_info($1,$10); + $11 = ((($4)) + 12|0); + $12 = HEAP32[$1>>2]|0; + $13 = ((($1)) + 4|0); + $14 = HEAP32[$13>>2]|0; + _InitAudioStream($2,$12,16,$14); + ;HEAP32[$11>>2]=HEAP32[$2>>2]|0;HEAP32[$11+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[$2+24>>2]|0; + $15 = HEAP32[$8>>2]|0; + $16 = (_stb_vorbis_stream_length_in_samples($15)|0); + $17 = ((($4)) + 44|0); + HEAP32[$17>>2] = $16; + $18 = ((($4)) + 48|0); + HEAP32[$18>>2] = $16; + HEAP32[$4>>2] = 0; + $19 = ((($4)) + 40|0); + HEAP32[$19>>2] = -1; + $20 = HEAP32[$17>>2]|0; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $20; + _TraceLog(3,18556,$vararg_buffer1); + $21 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer5>>2] = $0; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $21; + _TraceLog(3,18584,$vararg_buffer5); + $22 = HEAP32[$13>>2]|0; + HEAP32[$vararg_buffer9>>2] = $0; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $22; + _TraceLog(3,18609,$vararg_buffer9); + $23 = ((($1)) + 16|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$vararg_buffer13>>2] = $0; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $24; + _TraceLog(3,18631,$vararg_buffer13); + STACKTOP = sp;return ($4|0); } } - if ((label|0) == 134) { - ___assert_fail((22065|0),(21839|0),4149,(21962|0)); - // unreachable; + $25 = (_IsFileExtension($0,18660)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[$vararg_buffer28>>2] = $0; + _TraceLog(1,16796,$vararg_buffer28); + STACKTOP = sp;return ($4|0); } - else if ((label|0) == 137) { - return ($$0|0); + $27 = ((($4)) + 8|0); + $28 = (_jar_xm_create_context_from_file($27,48000,$0)|0); + $29 = ($28|0)==(0); + if ($29) { + $30 = HEAP32[$27>>2]|0; + _jar_xm_set_max_loop_count($30,0); + $31 = ((($4)) + 12|0); + _InitAudioStream($3,48000,16,2); + ;HEAP32[$31>>2]=HEAP32[$3>>2]|0;HEAP32[$31+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$31+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$31+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$31+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$31+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$31+24>>2]=HEAP32[$3+24>>2]|0; + $32 = (_jar_xm_get_remaining_samples($30)|0); + $33 = tempRet0; + $34 = ((($4)) + 44|0); + HEAP32[$34>>2] = $32; + $35 = ((($4)) + 48|0); + HEAP32[$35>>2] = $32; + HEAP32[$4>>2] = 2; + $36 = ((($4)) + 40|0); + HEAP32[$36>>2] = -1; + $37 = HEAP32[$34>>2]|0; + HEAP32[$vararg_buffer17>>2] = $0; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $37; + _TraceLog(3,18664,$vararg_buffer17); + $38 = (+($37>>>0)); + $39 = $38 / 48000.0; + $40 = $39; + HEAP32[$vararg_buffer21>>2] = $0; + $vararg_ptr24 = ((($vararg_buffer21)) + 8|0); + HEAPF64[$vararg_ptr24>>3] = $40; + _TraceLog(3,18694,$vararg_buffer21); + STACKTOP = sp;return ($4|0); + } else { + HEAP32[$vararg_buffer25>>2] = $0; + _TraceLog(1,18727,$vararg_buffer25); + STACKTOP = sp;return ($4|0); } return (0)|0; } -function _stbi__paeth($a,$b,$c) { - $a = $a|0; - $b = $b|0; - $c = $c|0; - 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, $c$b = 0, $ispos = 0, $ispos1 = 0, $ispos3 = 0, $neg = 0, $neg2 = 0, $neg4 = 0, $or$cond = 0; +function _InitAudioStream($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$off = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0; var label = 0, sp = 0; sp = STACKTOP; - $0 = (($b) + ($a))|0; - $1 = (($0) - ($c))|0; - $2 = (($1) - ($a))|0; - $ispos = ($2|0)>(-1); - $neg = (0 - ($2))|0; - $3 = $ispos ? $2 : $neg; - $4 = (($1) - ($b))|0; - $ispos1 = ($4|0)>(-1); - $neg2 = (0 - ($4))|0; - $5 = $ispos1 ? $4 : $neg2; - $6 = (($1) - ($c))|0; - $ispos3 = ($6|0)>(-1); - $neg4 = (0 - ($6))|0; - $7 = $ispos3 ? $6 : $neg4; - $8 = ($3|0)>($5|0); - $9 = ($3|0)>($7|0); - $or$cond = $8 | $9; - $10 = ($5|0)>($7|0); - $c$b = $10 ? $c : $b; - $$0 = $or$cond ? $c$b : $a; - return ($$0|0); -} -function _stbi__decode_jpeg_header($z,$scan) { - $z = $z|0; - $scan = $scan|0; - var $$ = 0, $$0 = 0, $$2 = 0, $$9 = 0, $$lcssa = 0, $$lcssa20 = 0, $$lcssa5 = 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; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $m$010 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 18116|0); - HEAP8[$0>>0] = -1; - $1 = (_stbi__get_marker($z)|0); - $2 = ($1<<24>>24)==(-40); - if (!($2)) { - _stbi__err(22088); - $$0 = 0; - return ($$0|0); - } - $3 = ($scan|0)==(1); - if ($3) { - $$0 = 1; - return ($$0|0); - } - $4 = (_stbi__get_marker($z)|0); - $5 = $4&255; - $6 = $5 & 254; - $7 = ($6|0)==(192); - $8 = ($4<<24>>24)==(-62); - $$9 = $8 | $7; - L8: do { - if ($$9) { - $$lcssa5 = $8; - } else { - $m$010 = $5; - L10: while(1) { - $13 = (_stbi__process_marker($z,$m$010)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - label = 14; - break; - } - $15 = (_stbi__get_marker($z)|0); - $16 = $15&255; - $17 = ($15<<24>>24)==(-1); - if ($17) { - while(1) { - $18 = HEAP32[$z>>2]|0; - $19 = (_stbi__at_eof($18)|0); - $20 = ($19|0)==(0); - if (!($20)) { - break L10; - } - $21 = (_stbi__get_marker($z)|0); - $22 = ($21<<24>>24)==(-1); - if (!($22)) { - $$lcssa20 = $21; - break; - } - } - $9 = $$lcssa20&255; - $$lcssa = $9; - } else { - $$lcssa = $16; - } - $10 = $$lcssa & 254; - $11 = ($10|0)==(192); - $12 = ($$lcssa|0)==(194); - $$ = $12 | $11; - if ($$) { - $$lcssa5 = $12; - break L8; - } else { - $m$010 = $$lcssa; - } - } - if ((label|0) == 14) { - return ($$0|0); - } - _stbi__err(22095); - $$0 = 0; - return ($$0|0); - } - } while(0); - $23 = $$lcssa5&1; - $24 = ((($z)) + 18124|0); - HEAP32[$24>>2] = $23; - $25 = (_stbi__process_frame_header($z,$scan)|0); - $not$ = ($25|0)!=(0); - $$2 = $not$&1; - $$0 = $$2; - return ($$0|0); -} -function _stbi__get_marker($j) { - $j = $j|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18116|0); - $1 = HEAP8[$0>>0]|0; - $2 = ($1<<24>>24)==(-1); - if (!($2)) { - HEAP8[$0>>0] = -1; - $$0 = $1; - return ($$0|0); - } - $3 = HEAP32[$j>>2]|0; - $4 = (_stbi__get8($3)|0); - $5 = ($4<<24>>24)==(-1); - if (!($5)) { - $$0 = -1; - return ($$0|0); - } - while(1) { - $6 = HEAP32[$j>>2]|0; - $7 = (_stbi__get8($6)|0); - $8 = ($7<<24>>24)==(-1); - if (!($8)) { - $$0 = $7; - break; - } - } - return ($$0|0); -} -function _stbi__process_marker($z,$m) { - $z = $z|0; - $m = $m|0; - var $$2 = 0, $$mask = 0, $$mask7 = 0, $0 = 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; - 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, $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, $L$0$lcssa = 0, $L$015 = 0, $L$1$lcssa = 0, $L$122 = 0; - var $exitcond = 0, $exitcond30 = 0, $i$014 = 0, $i1$118 = 0, $or$cond = 0, $or$cond5 = 0, $sizes = 0, $v$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $sizes = sp; - switch ($m|0) { - case 255: { - _stbi__err(22206); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - break; - } - case 221: { - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = ($1|0)==(4); - if ($2) { - $3 = HEAP32[$z>>2]|0; - $4 = (_stbi__get16be($3)|0); - $5 = ((($z)) + 18168|0); - HEAP32[$5>>2] = $4; - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } else { - _stbi__err(22222); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - break; - } - case 219: { - $6 = HEAP32[$z>>2]|0; - $7 = (_stbi__get16be($6)|0); - $8 = (($7) + -2)|0; - $9 = ($7|0)>(2); - L16: do { - if ($9) { - $L$015 = $8; - while(1) { - $10 = HEAP32[$z>>2]|0; - $11 = (_stbi__get8($10)|0); - $12 = $11&255; - $13 = $12 & 15; - $$mask = $12 & 240; - $14 = ($$mask|0)==(0); - if (!($14)) { - label = 8; - break; - } - $15 = ($13>>>0)>(3); - if ($15) { - label = 10; - break; - } else { - $i$014 = 0; - } - while(1) { - $16 = HEAP32[$z>>2]|0; - $17 = (_stbi__get8($16)|0); - $18 = (22261 + ($i$014)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ((((($z)) + 13444|0) + ($13<<6)|0) + ($20)|0); - HEAP8[$21>>0] = $17; - $22 = (($i$014) + 1)|0; - $exitcond = ($22|0)==(64); - if ($exitcond) { - break; - } else { - $i$014 = $22; - } - } - $23 = (($L$015) + -65)|0; - $24 = ($L$015|0)>(65); - if ($24) { - $L$015 = $23; - } else { - $L$0$lcssa = $23; - break L16; - } - } - if ((label|0) == 8) { - _stbi__err(22234); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - else if ((label|0) == 10) { - _stbi__err(22247); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - } else { - $L$0$lcssa = $8; - } - } while(0); - $25 = ($L$0$lcssa|0)==(0); - $26 = $25&1; - $$2 = $26; - STACKTOP = sp;return ($$2|0); - break; - } - case 196: { - $27 = HEAP32[$z>>2]|0; - $28 = (_stbi__get16be($27)|0); - $29 = (($28) + -2)|0; - $30 = ($28|0)>(2); - L31: do { - if ($30) { - $31 = ((($sizes)) + 4|0); - $32 = ((($sizes)) + 8|0); - $33 = ((($sizes)) + 12|0); - $34 = ((($sizes)) + 16|0); - $35 = ((($sizes)) + 20|0); - $36 = ((($sizes)) + 24|0); - $37 = ((($sizes)) + 28|0); - $38 = ((($sizes)) + 32|0); - $39 = ((($sizes)) + 36|0); - $40 = ((($sizes)) + 40|0); - $41 = ((($sizes)) + 44|0); - $42 = ((($sizes)) + 48|0); - $43 = ((($sizes)) + 52|0); - $44 = ((($sizes)) + 56|0); - $45 = ((($sizes)) + 60|0); - $L$122 = $29; - while(1) { - $46 = HEAP32[$z>>2]|0; - $47 = (_stbi__get8($46)|0); - $48 = $47&255; - $49 = $48 & 15; - $50 = ($47&255)>(31); - $51 = ($49>>>0)>(3); - $or$cond = $50 | $51; - if ($or$cond) { - label = 17; - break; - } - $52 = HEAP32[$z>>2]|0; - $53 = (_stbi__get8($52)|0); - $54 = $53&255; - HEAP32[$sizes>>2] = $54; - $55 = HEAP32[$z>>2]|0; - $56 = (_stbi__get8($55)|0); - $57 = $56&255; - HEAP32[$31>>2] = $57; - $58 = (($57) + ($54))|0; - $59 = HEAP32[$z>>2]|0; - $60 = (_stbi__get8($59)|0); - $61 = $60&255; - HEAP32[$32>>2] = $61; - $62 = (($61) + ($58))|0; - $63 = HEAP32[$z>>2]|0; - $64 = (_stbi__get8($63)|0); - $65 = $64&255; - HEAP32[$33>>2] = $65; - $66 = (($65) + ($62))|0; - $67 = HEAP32[$z>>2]|0; - $68 = (_stbi__get8($67)|0); - $69 = $68&255; - HEAP32[$34>>2] = $69; - $70 = (($69) + ($66))|0; - $71 = HEAP32[$z>>2]|0; - $72 = (_stbi__get8($71)|0); - $73 = $72&255; - HEAP32[$35>>2] = $73; - $74 = (($73) + ($70))|0; - $75 = HEAP32[$z>>2]|0; - $76 = (_stbi__get8($75)|0); - $77 = $76&255; - HEAP32[$36>>2] = $77; - $78 = (($77) + ($74))|0; - $79 = HEAP32[$z>>2]|0; - $80 = (_stbi__get8($79)|0); - $81 = $80&255; - HEAP32[$37>>2] = $81; - $82 = (($81) + ($78))|0; - $83 = HEAP32[$z>>2]|0; - $84 = (_stbi__get8($83)|0); - $85 = $84&255; - HEAP32[$38>>2] = $85; - $86 = (($85) + ($82))|0; - $87 = HEAP32[$z>>2]|0; - $88 = (_stbi__get8($87)|0); - $89 = $88&255; - HEAP32[$39>>2] = $89; - $90 = (($89) + ($86))|0; - $91 = HEAP32[$z>>2]|0; - $92 = (_stbi__get8($91)|0); - $93 = $92&255; - HEAP32[$40>>2] = $93; - $94 = (($93) + ($90))|0; - $95 = HEAP32[$z>>2]|0; - $96 = (_stbi__get8($95)|0); - $97 = $96&255; - HEAP32[$41>>2] = $97; - $98 = (($97) + ($94))|0; - $99 = HEAP32[$z>>2]|0; - $100 = (_stbi__get8($99)|0); - $101 = $100&255; - HEAP32[$42>>2] = $101; - $102 = (($101) + ($98))|0; - $103 = HEAP32[$z>>2]|0; - $104 = (_stbi__get8($103)|0); - $105 = $104&255; - HEAP32[$43>>2] = $105; - $106 = (($105) + ($102))|0; - $107 = HEAP32[$z>>2]|0; - $108 = (_stbi__get8($107)|0); - $109 = $108&255; - HEAP32[$44>>2] = $109; - $110 = (($109) + ($106))|0; - $111 = HEAP32[$z>>2]|0; - $112 = (_stbi__get8($111)|0); - $113 = $112&255; - HEAP32[$45>>2] = $113; - $114 = (($113) + ($110))|0; - $115 = (($L$122) + -17)|0; - $$mask7 = $48 & 240; - $116 = ($$mask7|0)==(0); - if ($116) { - $117 = (((($z)) + 4|0) + (($49*1680)|0)|0); - $118 = (_stbi__build_huffman($117,$sizes)|0); - $119 = ($118|0)==(0); - if ($119) { - break; - } - $120 = (((((($z)) + 4|0) + (($49*1680)|0)|0)) + 1024|0); - $v$0 = $120; - } else { - $121 = (((($z)) + 6724|0) + (($49*1680)|0)|0); - $122 = (_stbi__build_huffman($121,$sizes)|0); - $123 = ($122|0)==(0); - if ($123) { - break; - } - $124 = (((((($z)) + 6724|0) + (($49*1680)|0)|0)) + 1024|0); - $v$0 = $124; - } - $125 = ($114|0)>(0); - if ($125) { - $126 = $56&255; - $127 = $53&255; - $128 = (($126) + ($127))|0; - $129 = $60&255; - $130 = (($128) + ($129))|0; - $131 = $64&255; - $132 = (($130) + ($131))|0; - $133 = $68&255; - $134 = (($132) + ($133))|0; - $135 = $72&255; - $136 = (($134) + ($135))|0; - $137 = $76&255; - $138 = (($136) + ($137))|0; - $139 = $80&255; - $140 = (($138) + ($139))|0; - $141 = $84&255; - $142 = (($140) + ($141))|0; - $143 = $88&255; - $144 = (($142) + ($143))|0; - $145 = $92&255; - $146 = (($144) + ($145))|0; - $147 = $96&255; - $148 = (($146) + ($147))|0; - $149 = $100&255; - $150 = (($148) + ($149))|0; - $151 = $104&255; - $152 = (($150) + ($151))|0; - $153 = $108&255; - $154 = (($152) + ($153))|0; - $155 = $112&255; - $156 = (($154) + ($155))|0; - $i1$118 = 0; - while(1) { - $157 = HEAP32[$z>>2]|0; - $158 = (_stbi__get8($157)|0); - $159 = (($v$0) + ($i1$118)|0); - HEAP8[$159>>0] = $158; - $160 = (($i1$118) + 1)|0; - $exitcond30 = ($160|0)==($156|0); - if ($exitcond30) { - break; - } else { - $i1$118 = $160; - } - } - } - if (!($116)) { - $161 = (((($z)) + 13700|0) + ($49<<10)|0); - $162 = (((($z)) + 6724|0) + (($49*1680)|0)|0); - _stbi__build_fast_ac($161,$162); - } - $163 = (($115) - ($114))|0; - $164 = ($163|0)>(0); - if ($164) { - $L$122 = $163; - } else { - $L$1$lcssa = $163; - break L31; - } - } - if ((label|0) == 17) { - _stbi__err(22340); - } - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } else { - $L$1$lcssa = $29; - } - } while(0); - $165 = ($L$1$lcssa|0)==(0); - $166 = $165&1; - $$2 = $166; - STACKTOP = sp;return ($$2|0); - break; - } - default: { - $167 = $m & -16; - $168 = ($167|0)==(224); - $169 = ($m|0)==(254); - $or$cond5 = $169 | $168; - if (!($or$cond5)) { - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - $170 = HEAP32[$z>>2]|0; - $171 = (_stbi__get16be($170)|0); - $172 = (($171) + -2)|0; - _stbi__skip($170,$172); - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - } - return (0)|0; -} -function _stbi__process_frame_header($z,$scan) { - $z = $z|0; - $scan = $scan|0; - var $$0 = 0, $$h_max$0 = 0, $$lcssa = 0, $0 = 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; - 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, $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, $exitcond = 0, $h_max$0$lcssa = 0, $h_max$017 = 0, $i$022 = 0, $i$1 = 0, $i$216 = 0, $i$313 = 0, $i$313$lcssa = 0; - var $i$412 = 0, $i$412$in = 0, $or$cond = 0, $or$cond2 = 0, $v_max$0$lcssa = 0, $v_max$018 = 0, $v_max$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = ($1|0)<(11); - if ($2) { - _stbi__err(22102); - $$0 = 0; - return ($$0|0); - } - $3 = (_stbi__get8($0)|0); - $4 = ($3<<24>>24)==(8); - if (!($4)) { - _stbi__err(22114); - $$0 = 0; - return ($$0|0); - } - $5 = (_stbi__get16be($0)|0); - $6 = ((($0)) + 4|0); - HEAP32[$6>>2] = $5; - $7 = ($5|0)==(0); - if ($7) { - _stbi__err(22125); - $$0 = 0; - return ($$0|0); - } - $8 = (_stbi__get16be($0)|0); - HEAP32[$0>>2] = $8; - $9 = ($8|0)==(0); - if ($9) { - _stbi__err(22142); - $$0 = 0; - return ($$0|0); - } - $10 = (_stbi__get8($0)|0); - $11 = $10&255; - switch ($10<<24>>24) { - case 1: case 3: { - break; - } - default: { - _stbi__err(22150); - $$0 = 0; - return ($$0|0); - } - } - $12 = ((($0)) + 8|0); - HEAP32[$12>>2] = $11; - $13 = $10&255; - $i$022 = 0; - while(1) { - $14 = (((((($z)) + 17820|0) + (($i$022*72)|0)|0)) + 44|0); - HEAP32[$14>>2] = 0; - $15 = (((((($z)) + 17820|0) + (($i$022*72)|0)|0)) + 56|0); - HEAP32[$15>>2] = 0; - $16 = (($i$022) + 1)|0; - $exitcond = ($16|0)==($13|0); - if ($exitcond) { - break; - } else { - $i$022 = $16; - } - } - $17 = HEAP32[$12>>2]|0; - $18 = ($17*3)|0; - $19 = (($18) + 8)|0; - $20 = ($1|0)==($19|0); - if ($20) { - $i$1 = 0; - } else { - _stbi__err(22102); - $$0 = 0; - return ($$0|0); - } - while(1) { - $21 = HEAP32[$12>>2]|0; - $22 = ($i$1|0)<($21|0); - if (!($22)) { - $$lcssa = $21; - label = 24; - break; - } - $23 = (_stbi__get8($0)|0); - $24 = $23&255; - $25 = (((($z)) + 17820|0) + (($i$1*72)|0)|0); - HEAP32[$25>>2] = $24; - $26 = (($i$1) + 1)|0; - $27 = ($24|0)==($26|0); - $28 = ($24|0)==($i$1|0); - $or$cond = $27 | $28; - if (!($or$cond)) { - label = 17; - break; - } - $29 = (_stbi__get8($0)|0); - $30 = $29&255; - $31 = $30 >>> 4; - $32 = (((((($z)) + 17820|0) + (($i$1*72)|0)|0)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = ($31|0)==(0); - $34 = ($29&255)>(79); - $or$cond2 = $34 | $33; - if ($or$cond2) { - label = 19; - break; - } - $35 = $30 & 15; - $36 = (((((($z)) + 17820|0) + (($i$1*72)|0)|0)) + 8|0); - HEAP32[$36>>2] = $35; - $37 = (($35) + -1)|0; - $38 = ($37>>>0)>(3); - if ($38) { - label = 21; - break; - } - $39 = (_stbi__get8($0)|0); - $40 = $39&255; - $41 = (((((($z)) + 17820|0) + (($i$1*72)|0)|0)) + 12|0); - HEAP32[$41>>2] = $40; - $42 = ($39&255)>(3); - if ($42) { - label = 23; - break; - } else { - $i$1 = $26; - } - } - if ((label|0) == 17) { - _stbi__err(22170); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 19) { - _stbi__err(22187); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 21) { - _stbi__err(22193); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 23) { - _stbi__err(22199); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 24) { - $43 = ($scan|0)==(0); - if (!($43)) { - $$0 = 1; - return ($$0|0); - } - $44 = HEAP32[$0>>2]|0; - $45 = (1073741824 / ($44>>>0))&-1; - $46 = (($45>>>0) / ($$lcssa>>>0))&-1; - $47 = HEAP32[$6>>2]|0; - $48 = ($46>>>0)<($47>>>0); - if ($48) { - _stbi__err(21556); - $$0 = 0; - return ($$0|0); - } - $49 = HEAP32[$12>>2]|0; - $50 = ($49|0)>(0); - if ($50) { - $51 = HEAP32[$12>>2]|0; - $h_max$017 = 1;$i$216 = 0;$v_max$018 = 1; - while(1) { - $52 = (((((($z)) + 17820|0) + (($i$216*72)|0)|0)) + 4|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)>($h_max$017|0); - $$h_max$0 = $54 ? $53 : $h_max$017; - $55 = (((((($z)) + 17820|0) + (($i$216*72)|0)|0)) + 8|0); - $56 = HEAP32[$55>>2]|0; - $57 = ($56|0)>($v_max$018|0); - $v_max$1 = $57 ? $56 : $v_max$018; - $58 = (($i$216) + 1)|0; - $59 = ($58|0)<($51|0); - if ($59) { - $h_max$017 = $$h_max$0;$i$216 = $58;$v_max$018 = $v_max$1; - } else { - $h_max$0$lcssa = $$h_max$0;$v_max$0$lcssa = $v_max$1; - break; - } - } - } else { - $h_max$0$lcssa = 1;$v_max$0$lcssa = 1; - } - $60 = ((($z)) + 17796|0); - HEAP32[$60>>2] = $h_max$0$lcssa; - $61 = ((($z)) + 17800|0); - HEAP32[$61>>2] = $v_max$0$lcssa; - $62 = $h_max$0$lcssa << 3; - $63 = ((($z)) + 17812|0); - HEAP32[$63>>2] = $62; - $64 = $v_max$0$lcssa << 3; - $65 = ((($z)) + 17816|0); - HEAP32[$65>>2] = $64; - $66 = HEAP32[$0>>2]|0; - $67 = HEAP32[$63>>2]|0; - $68 = (($66) + -1)|0; - $69 = (($68) + ($67))|0; - $70 = (($69>>>0) / ($67>>>0))&-1; - $71 = ((($z)) + 17804|0); - HEAP32[$71>>2] = $70; - $72 = HEAP32[$6>>2]|0; - $73 = HEAP32[$65>>2]|0; - $74 = (($72) + -1)|0; - $75 = (($74) + ($73))|0; - $76 = (($75>>>0) / ($73>>>0))&-1; - $77 = ((($z)) + 17808|0); - HEAP32[$77>>2] = $76; - $78 = HEAP32[$12>>2]|0; - $79 = ($78|0)>(0); - if (!($79)) { - $$0 = 1; - return ($$0|0); - } - $80 = (($h_max$0$lcssa) + -1)|0; - $81 = (($v_max$0$lcssa) + -1)|0; - $82 = ((($z)) + 18124|0); - $i$313 = 0; - while(1) { - $83 = HEAP32[$0>>2]|0; - $84 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 4|0); - $85 = HEAP32[$84>>2]|0; - $86 = Math_imul($85, $83)|0; - $87 = (($80) + ($86))|0; - $88 = (($87>>>0) / ($h_max$0$lcssa>>>0))&-1; - $89 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 28|0); - HEAP32[$89>>2] = $88; - $90 = HEAP32[$6>>2]|0; - $91 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = Math_imul($92, $90)|0; - $94 = (($81) + ($93))|0; - $95 = (($94>>>0) / ($v_max$0$lcssa>>>0))&-1; - $96 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 32|0); - HEAP32[$96>>2] = $95; - $97 = HEAP32[$71>>2]|0; - $98 = HEAP32[$84>>2]|0; - $99 = $97 << 3; - $100 = Math_imul($99, $98)|0; - $101 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 36|0); - HEAP32[$101>>2] = $100; - $102 = HEAP32[$77>>2]|0; - $103 = HEAP32[$91>>2]|0; - $104 = $102 << 3; - $105 = Math_imul($104, $103)|0; - $106 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 40|0); - HEAP32[$106>>2] = $105; - $107 = HEAP32[$101>>2]|0; - $108 = Math_imul($105, $107)|0; - $109 = (($108) + 15)|0; - $110 = (_stbi__malloc($109)|0); - $111 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 48|0); - HEAP32[$111>>2] = $110; - $112 = ($110|0)==(0|0); - if ($112) { - $i$313$lcssa = $i$313; - break; - } - $117 = $110; - $118 = (($117) + 15)|0; - $119 = $118 & -16; - $120 = $119; - $121 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 44|0); - HEAP32[$121>>2] = $120; - $122 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 56|0); - HEAP32[$122>>2] = 0; - $123 = HEAP32[$82>>2]|0; - $124 = ($123|0)==(0); - if ($124) { - $144 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 60|0); - HEAP32[$144>>2] = 0; - $145 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 52|0); - HEAP32[$145>>2] = 0; - } else { - $125 = HEAP32[$101>>2]|0; - $126 = (($125) + 7)|0; - $127 = $126 >> 3; - $128 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 64|0); - HEAP32[$128>>2] = $127; - $129 = HEAP32[$106>>2]|0; - $130 = (($129) + 7)|0; - $131 = $130 >> 3; - $132 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 68|0); - HEAP32[$132>>2] = $131; - $133 = HEAP32[$128>>2]|0; - $134 = $133 << 7; - $135 = Math_imul($134, $131)|0; - $136 = $135 | 15; - $137 = (_malloc($136)|0); - $138 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 52|0); - HEAP32[$138>>2] = $137; - $139 = $137; - $140 = (($139) + 15)|0; - $141 = $140 & -16; - $142 = $141; - $143 = (((((($z)) + 17820|0) + (($i$313*72)|0)|0)) + 60|0); - HEAP32[$143>>2] = $142; - } - $146 = (($i$313) + 1)|0; - $147 = HEAP32[$12>>2]|0; - $148 = ($146|0)<($147|0); - if ($148) { - $i$313 = $146; - } else { - $$0 = 1; - label = 40; - break; - } - } - if ((label|0) == 40) { - return ($$0|0); - } - $113 = ($i$313$lcssa|0)>(0); - if ($113) { - $i$412$in = $i$313$lcssa; - while(1) { - $i$412 = (($i$412$in) + -1)|0; - $114 = (((((($z)) + 17820|0) + (($i$412*72)|0)|0)) + 48|0); - $115 = HEAP32[$114>>2]|0; - _free($115); - HEAP32[$114>>2] = 0; - $116 = ($i$412$in|0)>(1); - if ($116) { - $i$412$in = $i$412; - } else { - break; - } - } - } - _stbi__err(21769); - $$0 = 0; - return ($$0|0); - } - return (0)|0; -} -function _stbi__build_huffman($h,$count) { - $h = $h|0; - $count = $count|0; - var $$0 = 0, $$lcssa37 = 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; - 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $code$014 = 0, $code$1$lcssa = 0, $code$110 = 0, $code$2 = 0, $exitcond = 0; - var $exitcond26 = 0, $i$022 = 0, $i$17 = 0, $j$017 = 0, $j$115 = 0, $k$021 = 0, $k$1$lcssa = 0, $k$1$lcssa$lcssa = 0, $k$116 = 0, $k$213 = 0, $k$3$lcssa = 0, $k$39 = 0, $k$4 = 0, $k$4$lcssa = 0, $scevgep = 0, $smax = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$022 = 0;$k$021 = 0; - while(1) { - $1 = (($count) + ($i$022<<2)|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - $0 = (($i$022) + 1)|0; - if ($3) { - $4 = $0&255; - $j$017 = 0;$k$116 = $k$021; - while(1) { - $5 = (($k$116) + 1)|0; - $6 = (((($h)) + 1280|0) + ($k$116)|0); - HEAP8[$6>>0] = $4; - $7 = (($j$017) + 1)|0; - $8 = HEAP32[$1>>2]|0; - $9 = ($7|0)<($8|0); - if ($9) { - $j$017 = $7;$k$116 = $5; - } else { - $k$1$lcssa = $5; - break; - } - } - } else { - $k$1$lcssa = $k$021; - } - $exitcond26 = ($0|0)==(16); - if ($exitcond26) { - $k$1$lcssa$lcssa = $k$1$lcssa; - break; - } else { - $i$022 = $0;$k$021 = $k$1$lcssa; - } - } - $10 = (((($h)) + 1280|0) + ($k$1$lcssa$lcssa)|0); - HEAP8[$10>>0] = 0; - $code$014 = 0;$j$115 = 1;$k$213 = 0; - while(1) { - $11 = (($k$213) - ($code$014))|0; - $12 = (((($h)) + 1612|0) + ($j$115<<2)|0); - HEAP32[$12>>2] = $11; - $13 = (((($h)) + 1280|0) + ($k$213)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)==($j$115|0); - if ($16) { - $17 = (((($h)) + 1280|0) + ($k$213)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19|0)==($j$115|0); - if ($20) { - $code$110 = $code$014;$k$39 = $k$213; - while(1) { - $21 = (($code$110) + 1)|0; - $22 = $code$110&65535; - $23 = (($k$39) + 1)|0; - $24 = (((($h)) + 512|0) + ($k$39<<1)|0); - HEAP16[$24>>1] = $22; - $25 = (((($h)) + 1280|0) + ($23)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ($27|0)==($j$115|0); - if ($28) { - $code$110 = $21;$k$39 = $23; - } else { - $code$1$lcssa = $21;$k$3$lcssa = $23; - break; - } - } - } else { - $code$1$lcssa = $code$014;$k$3$lcssa = $k$213; - } - $29 = 1 << $j$115; - $30 = ($code$1$lcssa|0)>($29|0); - if ($30) { - label = 11; - break; - } else { - $code$2 = $code$1$lcssa;$k$4 = $k$3$lcssa; - } - } else { - $code$2 = $code$014;$k$4 = $k$213; - } - $31 = (16 - ($j$115))|0; - $32 = $code$2 << $31; - $33 = (((($h)) + 1540|0) + ($j$115<<2)|0); - HEAP32[$33>>2] = $32; - $34 = $code$2 << 1; - $35 = (($j$115) + 1)|0; - $36 = ($35|0)<(17); - if ($36) { - $code$014 = $34;$j$115 = $35;$k$213 = $k$4; - } else { - $$lcssa37 = $35;$k$4$lcssa = $k$4; - break; - } - } - if ((label|0) == 11) { - _stbi__err(22355); - $$0 = 0; - return ($$0|0); - } - $37 = (((($h)) + 1540|0) + ($$lcssa37<<2)|0); - HEAP32[$37>>2] = -1; - _memset(($h|0),-1,512)|0; - $38 = ($k$4$lcssa|0)>(0); - if ($38) { - $i$17 = 0; - } else { - $$0 = 1; - return ($$0|0); - } - while(1) { - $39 = (((($h)) + 1280|0) + ($i$17)|0); - $40 = HEAP8[$39>>0]|0; - $41 = ($40&255)<(10); - if ($41) { - $42 = $40&255; - $43 = (9 - ($42))|0; - $44 = 1 << $43; - $45 = ($43|0)==(31); - if (!($45)) { - $46 = (((($h)) + 512|0) + ($i$17<<1)|0); - $47 = HEAP16[$46>>1]|0; - $48 = $47&65535; - $49 = $48 << $43; - $50 = $i$17&255; - $scevgep = (($h) + ($49)|0); - $51 = ($44|0)>(1); - $smax = $51 ? $44 : 1; - _memset(($scevgep|0),($50|0),($smax|0))|0; - } - } - $52 = (($i$17) + 1)|0; - $exitcond = ($52|0)==($k$4$lcssa|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$17 = $52; - } - } - return ($$0|0); -} -function _stbi__build_fast_ac($fast_ac,$h) { - $fast_ac = $fast_ac|0; - $h = $h|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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$02 = 0, $k$0 = 0, $k$0$off = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$02 = 0; - while(1) { - $0 = (($h) + ($i$02)|0); - $1 = HEAP8[$0>>0]|0; - $2 = (($fast_ac) + ($i$02<<1)|0); - HEAP16[$2>>1] = 0; - $3 = $1&255; - $4 = ($1<<24>>24)==(-1); - if (!($4)) { - $5 = (((($h)) + 1024|0) + ($3)|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 & 240; - $9 = $7 & 15; - $10 = (((($h)) + 1280|0) + ($3)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = ($9|0)==(0); - if (!($13)) { - $14 = (($12) + ($9))|0; - $15 = ($14|0)<(10); - if ($15) { - $16 = $i$02 << $12; - $17 = $16 & 511; - $18 = (9 - ($9))|0; - $19 = $17 >>> $18; - $20 = (($9) + -1)|0; - $21 = 1 << $20; - $22 = ($19|0)<($21|0); - if ($22) { - $23 = -1 << $9; - $24 = (($23) + 1)|0; - $25 = (($24) + ($19))|0; - $k$0 = $25; - } else { - $k$0 = $19; - } - $k$0$off = (($k$0) + 128)|0; - $26 = ($k$0$off>>>0)<(256); - if ($26) { - $27 = $k$0 << 8; - $28 = $27 | $8; - $29 = (($28) + ($14))|0; - $30 = $29&65535; - HEAP16[$2>>1] = $30; - } - } - } - } - $31 = (($i$02) + 1)|0; - $exitcond = ($31|0)==(512); - if ($exitcond) { - break; - } else { - $i$02 = $31; - } - } - return; -} -function _stbi__parse_zlib($a,$parse_header) { - $a = $a|0; - $parse_header = $parse_header|0; - 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($parse_header|0)==(0); - if (!($0)) { - $1 = (_stbi__parse_zlib_header($a)|0); - $2 = ($1|0)==(0); - if ($2) { - $$0 = 0; - return ($$0|0); - } - } - $3 = ((($a)) + 8|0); - HEAP32[$3>>2] = 0; - $4 = ((($a)) + 12|0); - HEAP32[$4>>2] = 0; - $5 = ((($a)) + 2052|0); - $6 = ((($a)) + 32|0); - L5: while(1) { - $7 = (_stbi__zreceive($a,1)|0); - $8 = (_stbi__zreceive($a,2)|0); - switch ($8|0) { - case 3: { - $$0 = 0; - label = 13; - break L5; - break; - } - case 0: { - $9 = (_stbi__parse_uncomperssed_block($a)|0); - $10 = ($9|0)==(0); - if ($10) { - $$0 = 0; - label = 13; - break L5; - } - break; - } - case 1: { - $11 = HEAP8[(22403)>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - _stbi__init_zdefaults(); - } - $13 = (_stbi__zbuild_huffman($6,22404,288)|0); - $14 = ($13|0)==(0); - if ($14) { - $$0 = 0; - label = 13; - break L5; - } - $15 = (_stbi__zbuild_huffman($5,22372,32)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - label = 13; - break L5; - } else { - label = 11; - } - break; - } - default: { - $17 = (_stbi__compute_huffman_codes($a)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; - break L5; - } else { - label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $19 = (_stbi__parse_huffman_block($a)|0); - $20 = ($19|0)==(0); - if ($20) { - $$0 = 0; - label = 13; - break; - } - } - $21 = ($7|0)==(0); - if (!($21)) { - $$0 = 1; - label = 13; - break; - } - } - if ((label|0) == 13) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__parse_zlib_header($a) { - $a = $a|0; - 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, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__zget8($a)|0); - $1 = $0&255; - $2 = $1 & 15; - $3 = (_stbi__zget8($a)|0); - $4 = $3&255; - $5 = $1 << 8; - $6 = $5 | $4; - $7 = (($6>>>0) % 31)&-1; - $8 = ($7|0)==(0); - if (!($8)) { - _stbi__err(23026); - $$0 = 0; - return ($$0|0); - } - $9 = $4 & 32; - $10 = ($9|0)==(0); - if (!($10)) { - _stbi__err(23042); - $$0 = 0; - return ($$0|0); - } - $11 = ($2|0)==(8); - if ($11) { - $$0 = 1; - return ($$0|0); - } - _stbi__err(23057); - $$0 = 0; - return ($$0|0); -} -function _stbi__zreceive($z,$n) { - $z = $z|0; - $n = $n|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; - $0 = ((($z)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__fill_bits($z); - } - $3 = ((($z)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = 1 << $n; - $6 = (($5) + -1)|0; - $7 = $4 & $6; - $8 = $4 >>> $n; - HEAP32[$3>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = (($9) - ($n))|0; - HEAP32[$0>>2] = $10; - return ($7|0); -} -function _stbi__parse_uncomperssed_block($a) { - $a = $a|0; - var $$0 = 0, $$lcssa = 0, $$lcssa17 = 0, $$op = 0, $$ph = 0, $$pr = 0, $$promoted = 0, $$promoted8 = 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; - 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, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond13 = 0, $header = 0, $k$0$lcssa = 0, $k$03 = 0, $k$12 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $header = sp; - $0 = ((($a)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = $1 & 7; - $3 = ($2|0)==(0); - if ($3) { - $$ph = $1; - } else { - (_stbi__zreceive($a,$2)|0); - $$pr = HEAP32[$0>>2]|0; - $$ph = $$pr; - } - $4 = ($$ph|0)>(0); - if ($4) { - $5 = ((($a)) + 12|0); - $$promoted = HEAP32[$5>>2]|0; - $$promoted8 = HEAP32[$0>>2]|0; - $6 = ($$promoted8|0)<(8); - $$op = $$promoted8 ^ -1; - $7 = $6 ? $$op : -9; - $8 = (($$promoted8) + ($7))|0; - $9 = (($8) + 8)|0; - $10 = $9 >>> 3; - $11 = $10 << 3; - $12 = (($10) + 1)|0; - $14 = $$promoted;$k$03 = 0; - while(1) { - $13 = $14&255; - $15 = (($k$03) + 1)|0; - $16 = (($header) + ($k$03)|0); - HEAP8[$16>>0] = $13; - $17 = $14 >>> 8; - $exitcond13 = ($15|0)==($12|0); - if ($exitcond13) { - $$lcssa17 = $17; - break; - } else { - $14 = $17;$k$03 = $15; - } - } - $18 = (($$promoted8) + -8)|0; - $19 = (($18) - ($11))|0; - HEAP32[$5>>2] = $$lcssa17; - HEAP32[$0>>2] = $19; - $$lcssa = $19;$k$0$lcssa = $12; - } else { - $$lcssa = $$ph;$k$0$lcssa = 0; - } - $20 = ($$lcssa|0)==(0); - if (!($20)) { - ___assert_fail((22948|0),(21839|0),3754,(22965|0)); - // unreachable; - } - $21 = ($k$0$lcssa|0)<(4); - if ($21) { - $k$12 = $k$0$lcssa; - while(1) { - $22 = (_stbi__zget8($a)|0); - $23 = (($k$12) + 1)|0; - $24 = (($header) + ($k$12)|0); - HEAP8[$24>>0] = $22; - $exitcond = ($23|0)==(4); - if ($exitcond) { - break; - } else { - $k$12 = $23; - } - } - } - $25 = ((($header)) + 1|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $27 << 8; - $29 = HEAP8[$header>>0]|0; - $30 = $29&255; - $31 = $28 | $30; - $32 = ((($header)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 << 8; - $36 = ((($header)) + 2|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = $35 | $38; - $40 = $31 ^ 65535; - $41 = ($39|0)==($40|0); - if (!($41)) { - _stbi__err(22996); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $42 = HEAP32[$a>>2]|0; - $43 = (($42) + ($31)|0); - $44 = ((($a)) + 4|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($43>>>0)>($45>>>0); - if ($46) { - _stbi__err(23009); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $47 = ((($a)) + 16|0); - $48 = HEAP32[$47>>2]|0; - $49 = (($48) + ($31)|0); - $50 = ((($a)) + 24|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($49>>>0)>($51>>>0); - if ($52) { - $53 = (_stbi__zexpand($a,$48,$31)|0); - $54 = ($53|0)==(0); - if ($54) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $55 = HEAP32[$47>>2]|0; - $56 = HEAP32[$a>>2]|0; - _memcpy(($55|0),($56|0),($31|0))|0; - $57 = HEAP32[$a>>2]|0; - $58 = (($57) + ($31)|0); - HEAP32[$a>>2] = $58; - $59 = HEAP32[$47>>2]|0; - $60 = (($59) + ($31)|0); - HEAP32[$47>>2] = $60; - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((22404|0),8,144)|0; - dest=(22548); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(22660); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (22684); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=22372; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} -function _stbi__zbuild_huffman($z,$sizelist,$num) { - $z = $z|0; - $sizelist = $sizelist|0; - $num = $num|0; - var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 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, $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, $code$06 = 0, $exitcond = 0, $exitcond13 = 0, $i$010 = 0, $i$28 = 0, $i$34 = 0, $j$03 = 0, $k$07 = 0, $next_code = 0, $or$cond = 0, $sizes = 0, dest = 0, label = 0, sp = 0; - var stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $next_code = sp + 72|0; - $sizes = sp; - dest=$sizes; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _memset(($z|0),0,1024)|0; - $0 = ($num|0)>(0); - if ($0) { - $i$010 = 0; - while(1) { - $1 = (($sizelist) + ($i$010)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = (($sizes) + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 1)|0; - HEAP32[$4>>2] = $6; - $7 = (($i$010) + 1)|0; - $exitcond13 = ($7|0)==($num|0); - if ($exitcond13) { - break; - } else { - $i$010 = $7; - } - } - } - HEAP32[$sizes>>2] = 0; - $11 = ((($sizes)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(2); - if (!($13)) { - $8 = ((($sizes)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)>(4); - if (!($10)) { - $66 = ((($sizes)) + 12|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)>(8); - if (!($68)) { - $69 = ((($sizes)) + 16|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)>(16); - if (!($71)) { - $72 = ((($sizes)) + 20|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)>(32); - if (!($74)) { - $75 = ((($sizes)) + 24|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)>(64); - if (!($77)) { - $78 = ((($sizes)) + 28|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)>(128); - if (!($80)) { - $81 = ((($sizes)) + 32|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)>(256); - if (!($83)) { - $84 = ((($sizes)) + 36|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)>(512); - if (!($86)) { - $87 = ((($sizes)) + 40|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)>(1024); - if (!($89)) { - $90 = ((($sizes)) + 44|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)>(2048); - if (!($92)) { - $93 = ((($sizes)) + 48|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)>(4096); - if (!($95)) { - $96 = ((($sizes)) + 52|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)>(8192); - if (!($98)) { - $99 = ((($sizes)) + 56|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)>(16384); - if (!($101)) { - $102 = ((($sizes)) + 60|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)>(32768); - if (!($104)) { - $code$06 = 0;$i$28 = 1;$k$07 = 0; - while(1) { - $14 = (($next_code) + ($i$28<<2)|0); - HEAP32[$14>>2] = $code$06; - $15 = $code$06&65535; - $16 = (((($z)) + 1024|0) + ($i$28<<1)|0); - HEAP16[$16>>1] = $15; - $17 = $k$07&65535; - $18 = (((($z)) + 1124|0) + ($i$28<<1)|0); - HEAP16[$18>>1] = $17; - $19 = (($sizes) + ($i$28<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($code$06))|0; - $22 = ($20|0)!=(0); - $23 = 1 << $i$28; - $24 = ($21|0)>($23|0); - $or$cond = $22 & $24; - if ($or$cond) { - label = 7; - break; - } - $25 = (16 - ($i$28))|0; - $26 = $21 << $25; - $27 = (((($z)) + 1056|0) + ($i$28<<2)|0); - HEAP32[$27>>2] = $26; - $28 = $21 << 1; - $29 = HEAP32[$19>>2]|0; - $30 = (($29) + ($k$07))|0; - $31 = (($i$28) + 1)|0; - $32 = ($31|0)<(16); - if ($32) { - $code$06 = $28;$i$28 = $31;$k$07 = $30; - } else { - break; - } - } - if ((label|0) == 7) { - _stbi__err(22886); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $33 = ((($z)) + 1120|0); - HEAP32[$33>>2] = 65536; - $34 = ($num|0)>(0); - if ($34) { - $i$34 = 0; - } else { - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - while(1) { - $35 = (($sizelist) + ($i$34)|0); - $36 = HEAP8[$35>>0]|0; - $37 = $36&255; - $38 = ($36<<24>>24)==(0); - if (!($38)) { - $39 = (($next_code) + ($37<<2)|0); - $40 = HEAP32[$39>>2]|0; - $41 = (((($z)) + 1024|0) + ($37<<1)|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42&65535; - $44 = (($40) - ($43))|0; - $45 = (((($z)) + 1124|0) + ($37<<1)|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = (($44) + ($47))|0; - $49 = $37 << 9; - $50 = $49 | $i$34; - $51 = $50&65535; - $52 = (((($z)) + 1156|0) + ($48)|0); - HEAP8[$52>>0] = $36; - $53 = $i$34&65535; - $54 = (((($z)) + 1444|0) + ($48<<1)|0); - HEAP16[$54>>1] = $53; - $55 = ($36&255)<(10); - do { - if ($55) { - $56 = HEAP32[$39>>2]|0; - $57 = (_stbi__bit_reverse($56,$37)|0); - $58 = ($57|0)<(512); - if (!($58)) { - break; - } - $59 = 1 << $37; - $j$03 = $57; - while(1) { - $60 = (($z) + ($j$03<<1)|0); - HEAP16[$60>>1] = $51; - $61 = (($j$03) + ($59))|0; - $62 = ($61|0)<(512); - if ($62) { - $j$03 = $61; - } else { - break; - } - } - } - } while(0); - $63 = HEAP32[$39>>2]|0; - $64 = (($63) + 1)|0; - HEAP32[$39>>2] = $64; - } - $65 = (($i$34) + 1)|0; - $exitcond = ($65|0)==($num|0); - if ($exitcond) { - $$0 = 1; - break; - } else { - $i$34 = $65; - } - } - STACKTOP = sp;return ($$0|0); - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - _stbi__err(22938); - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__compute_huffman_codes($a) { - $a = $a|0; - var $$ = 0, $$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; - 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $codelength_sizes = 0, $exitcond = 0, $i$08 = 0, $lencodes = 0, $n$0$be = 0, $n$0$lcssa = 0, $n$06 = 0, $not$ = 0, $z_codelength = 0, dest = 0; - var label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; - $z_codelength = sp; - $lencodes = sp + 2039|0; - $codelength_sizes = sp + 2020|0; - $0 = (_stbi__zreceive($a,5)|0); - $1 = (($0) + 257)|0; - $2 = (_stbi__zreceive($a,5)|0); - $3 = (($2) + 1)|0; - $4 = (_stbi__zreceive($a,4)|0); - $5 = (($4) + 4)|0; - dest=$codelength_sizes; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $6 = ($5|0)>(0); - if ($6) { - $7 = (($4) + 3)|0; - $i$08 = 0; - while(1) { - $8 = (_stbi__zreceive($a,3)|0); - $9 = $8&255; - $10 = (22867 + ($i$08)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = (($codelength_sizes) + ($12)|0); - HEAP8[$13>>0] = $9; - $14 = (($i$08) + 1)|0; - $exitcond = ($i$08|0)==($7|0); - if ($exitcond) { - break; - } else { - $i$08 = $14; - } - } - } - $15 = (_stbi__zbuild_huffman($z_codelength,$codelength_sizes,19)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $17 = (($3) + ($1))|0; - $18 = ($17|0)>(0); - L9: do { - if ($18) { - $n$06 = 0; - L10: while(1) { - $19 = (_stbi__zhuffman_decode($a,$z_codelength)|0); - $20 = ($19>>>0)>(18); - if ($20) { - break; - } - $21 = ($19|0)<(16); - L13: do { - if ($21) { - $22 = $19&255; - $23 = (($n$06) + 1)|0; - $24 = (($lencodes) + ($n$06)|0); - HEAP8[$24>>0] = $22; - $n$0$be = $23; - } else { - switch ($19|0) { - case 16: { - $25 = (_stbi__zreceive($a,2)|0); - $26 = (($25) + 3)|0; - $27 = (($lencodes) + ($n$06)|0); - $28 = (($n$06) + -1)|0; - $29 = (($lencodes) + ($28)|0); - $30 = HEAP8[$29>>0]|0; - _memset(($27|0),($30|0),($26|0))|0; - $31 = (($26) + ($n$06))|0; - $n$0$be = $31; - break L13; - break; - } - case 17: { - $33 = (_stbi__zreceive($a,3)|0); - $34 = (($33) + 3)|0; - $35 = (($lencodes) + ($n$06)|0); - _memset(($35|0),0,($34|0))|0; - $36 = (($34) + ($n$06))|0; - $n$0$be = $36; - break L13; - break; - } - case 18: { - $37 = (_stbi__zreceive($a,7)|0); - $38 = (($37) + 11)|0; - $39 = (($lencodes) + ($n$06)|0); - _memset(($39|0),0,($38|0))|0; - $40 = (($38) + ($n$06))|0; - $n$0$be = $40; - break L13; - break; - } - default: { - label = 14; - break L10; - } - } - } - } while(0); - $32 = ($n$0$be|0)<($17|0); - if ($32) { - $n$06 = $n$0$be; - } else { - $n$0$lcssa = $n$0$be; - break L9; - } - } - if ((label|0) == 14) { - ___assert_fail((22902|0),(21839|0),3729,(22910|0)); - // unreachable; - } - _stbi__err(22886); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $n$0$lcssa = 0; - } - } while(0); - $41 = ($n$0$lcssa|0)==($17|0); - if (!($41)) { - _stbi__err(22886); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $42 = ((($a)) + 32|0); - $43 = (_stbi__zbuild_huffman($42,$lencodes,$1)|0); - $44 = ($43|0)==(0); - if ($44) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $45 = ((($a)) + 2052|0); - $46 = (($lencodes) + ($1)|0); - $47 = (_stbi__zbuild_huffman($45,$46,$3)|0); - $not$ = ($47|0)!=(0); - $$ = $not$&1; - $$0 = $$; - STACKTOP = sp;return ($$0|0); -} -function _stbi__parse_huffman_block($a) { - $a = $a|0; - 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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dist$0 = 0; - var $len$0 = 0, $len$2 = 0, $p$0 = 0, $scevgep = 0, $scevgep14 = 0, $zout$0 = 0, $zout$0$lcssa = 0, $zout$1 = 0, $zout$2 = 0, $zout$4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($a)) + 32|0); - $3 = ((($a)) + 24|0); - $4 = ((($a)) + 2052|0); - $5 = ((($a)) + 20|0); - $6 = ((($a)) + 24|0); - $zout$0 = $1; - while(1) { - $9 = (_stbi__zhuffman_decode($a,$2)|0); - $10 = ($9|0)<(256); - if ($10) { - $11 = ($9|0)<(0); - if ($11) { - label = 6; - break; - } - $12 = HEAP32[$3>>2]|0; - $13 = ($zout$0>>>0)<($12>>>0); - if ($13) { - $zout$1 = $zout$0; - } else { - $14 = (_stbi__zexpand($a,$zout$0,1)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - label = 28; - break; - } - $16 = HEAP32[$0>>2]|0; - $zout$1 = $16; - } - $17 = $9&255; - $18 = ((($zout$1)) + 1|0); - HEAP8[$zout$1>>0] = $17; - $zout$0 = $18; - continue; - } - $19 = ($9|0)==(256); - if ($19) { - $zout$0$lcssa = $zout$0; - label = 12; - break; - } - $20 = (($9) + -257)|0; - $21 = (10396 + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($9) + -265)|0; - $24 = ($23>>>0)<(20); - if ($24) { - $25 = (10520 + ($20<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_stbi__zreceive($a,$26)|0); - $28 = (($27) + ($22))|0; - $len$0 = $28; - } else { - $len$0 = $22; - } - $29 = (_stbi__zhuffman_decode($a,$4)|0); - $30 = ($29|0)<(0); - if ($30) { - label = 16; - break; - } - $31 = (10644 + ($29<<2)|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($29) + -4)|0; - $34 = ($33>>>0)<(26); - if ($34) { - $35 = (10772 + ($29<<2)|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_stbi__zreceive($a,$36)|0); - $38 = (($37) + ($32))|0; - $dist$0 = $38; - } else { - $dist$0 = $32; - } - $39 = HEAP32[$5>>2]|0; - $40 = $zout$0; - $41 = $39; - $42 = (($40) - ($41))|0; - $43 = ($42|0)<($dist$0|0); - if ($43) { - label = 20; - break; - } - $44 = (($zout$0) + ($len$0)|0); - $45 = HEAP32[$6>>2]|0; - $46 = ($44>>>0)>($45>>>0); - if ($46) { - $47 = (_stbi__zexpand($a,$zout$0,$len$0)|0); - $48 = ($47|0)==(0); - if ($48) { - $$0 = 0; - label = 28; - break; - } - $49 = HEAP32[$0>>2]|0; - $zout$2 = $49; - } else { - $zout$2 = $zout$0; - } - $50 = (0 - ($dist$0))|0; - $8 = (($zout$2) + ($50)|0); - $51 = ($dist$0|0)==(1); - $52 = ($len$0|0)==(0); - if ($51) { - if ($52) { - $zout$0 = $zout$2; - continue; - } - $7 = HEAP8[$8>>0]|0; - _memset(($zout$2|0),($7|0),($len$0|0))|0; - $scevgep14 = (($zout$2) + ($len$0)|0); - $zout$0 = $scevgep14; - continue; - } - if ($52) { - $zout$0 = $zout$2; - continue; - } else { - $len$2 = $len$0;$p$0 = $8;$zout$4 = $zout$2; - } - while(1) { - $53 = ((($p$0)) + 1|0); - $54 = HEAP8[$p$0>>0]|0; - $55 = ((($zout$4)) + 1|0); - HEAP8[$zout$4>>0] = $54; - $56 = (($len$2) + -1)|0; - $57 = ($56|0)==(0); - if ($57) { - break; - } else { - $len$2 = $56;$p$0 = $53;$zout$4 = $55; - } - } - $scevgep = (($zout$2) + ($len$0)|0); - $zout$0 = $scevgep; - } - if ((label|0) == 6) { - _stbi__err(22692); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 12) { - HEAP32[$0>>2] = $zout$0$lcssa; - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 16) { - _stbi__err(22692); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 20) { - _stbi__err(22709); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 28) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__zhuffman_decode($a,$z) { - $a = $a|0; - $z = $z|0; - var $$0 = 0, $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; - $0 = ((($a)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__fill_bits($a); - } - $3 = ((($a)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 511; - $6 = (($z) + ($5<<1)|0); - $7 = HEAP16[$6>>1]|0; - $8 = $7&65535; - $9 = ($7<<16>>16)==(0); - if ($9) { - $15 = (_stbi__zhuffman_decode_slowpath($a,$z)|0); - $$0 = $15; - return ($$0|0); - } else { - $10 = $8 >>> 9; - $11 = $4 >>> $10; - HEAP32[$3>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = (($12) - ($10))|0; - HEAP32[$0>>2] = $13; - $14 = $8 & 511; - $$0 = $14; - return ($$0|0); - } - return (0)|0; -} -function _stbi__zexpand($z,$zout,$n) { - $z = $z|0; - $zout = $zout|0; - $n = $n|0; - 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $limit$0 = 0, $limit$0$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 16|0); - HEAP32[$0>>2] = $zout; - $1 = ((($z)) + 28|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - _stbi__err(22718); - $$0 = 0; - return ($$0|0); - } - $4 = ((($z)) + 20|0); - $5 = HEAP32[$4>>2]|0; - $6 = $zout; - $7 = $5; - $8 = (($6) - ($7))|0; - $9 = ((($z)) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10; - $12 = (($11) - ($7))|0; - $13 = (($8) + ($n))|0; - $limit$0 = $12; - while(1) { - $14 = ($13|0)>($limit$0|0); - $15 = $limit$0 << 1; - if ($14) { - $limit$0 = $15; - } else { - $limit$0$lcssa = $limit$0; - break; - } - } - $16 = HEAP32[$4>>2]|0; - $17 = (_realloc($16,$limit$0$lcssa)|0); - $18 = ($17|0)==(0|0); - if ($18) { - _stbi__err(21769); - $$0 = 0; - return ($$0|0); - } else { - HEAP32[$4>>2] = $17; - $19 = (($17) + ($8)|0); - HEAP32[$0>>2] = $19; - $20 = (($17) + ($limit$0$lcssa)|0); - HEAP32[$9>>2] = $20; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_bits($z) { - $z = $z|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, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 12|0); - $1 = ((($z)) + 8|0); - while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = 1 << $3; - $5 = ($2>>>0)<($4>>>0); - if (!($5)) { - label = 3; - break; - } - $6 = (_stbi__zget8($z)|0); - $7 = $6&255; - $8 = HEAP32[$1>>2]|0; - $9 = $7 << $8; - $10 = HEAP32[$0>>2]|0; - $11 = $10 | $9; - HEAP32[$0>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + 8)|0; - HEAP32[$1>>2] = $13; - $14 = ($13|0)<(25); - if (!($14)) { - label = 5; - break; - } - } - if ((label|0) == 3) { - ___assert_fail((22814|0),(21839|0),3573,(22851|0)); - // unreachable; - } - else if ((label|0) == 5) { - return; - } -} -function _stbi__zhuffman_decode_slowpath($a,$z) { - $a = $a|0; - $z = $z|0; - 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $s$0 = 0, $s$0$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($a)) + 12|0); - $1 = HEAP32[$0>>2]|0; - $2 = (_stbi__bit_reverse($1,16)|0); - $s$0 = 10; - while(1) { - $3 = (((($z)) + 1056|0) + ($s$0<<2)|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2|0)<($4|0); - $6 = (($s$0) + 1)|0; - if ($5) { - $s$0$lcssa = $s$0; - break; - } else { - $s$0 = $6; - } - } - $7 = ($s$0$lcssa|0)==(16); - if ($7) { - $$0 = -1; - return ($$0|0); - } - $8 = (16 - ($s$0$lcssa))|0; - $9 = $2 >> $8; - $10 = (((($z)) + 1024|0) + ($s$0$lcssa<<1)|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11&65535; - $13 = (($9) - ($12))|0; - $14 = (((($z)) + 1124|0) + ($s$0$lcssa<<1)|0); - $15 = HEAP16[$14>>1]|0; - $16 = $15&65535; - $17 = (($13) + ($16))|0; - $18 = (((($z)) + 1156|0) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = ($20|0)==($s$0$lcssa|0); - if (!($21)) { - ___assert_fail((22738|0),(21839|0),3601,(22754|0)); - // unreachable; - } - $22 = HEAP32[$0>>2]|0; - $23 = $22 >>> $s$0$lcssa; - HEAP32[$0>>2] = $23; - $24 = ((($a)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) - ($s$0$lcssa))|0; - HEAP32[$24>>2] = $26; - $27 = (((($z)) + 1444|0) + ($17<<1)|0); - $28 = HEAP16[$27>>1]|0; - $29 = $28&65535; - $$0 = $29; - return ($$0|0); -} -function _stbi__bit_reverse($v,$bits) { - $v = $v|0; - $bits = $bits|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($bits|0)<(17); - if ($0) { - $1 = (_stbi__bitreverse16($v)|0); - $2 = (16 - ($bits))|0; - $3 = $1 >> $2; - return ($3|0); - } else { - ___assert_fail((22785|0),(21839|0),3491,(22796|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__bitreverse16($n) { - $n = $n|0; - var $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, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = $n >>> 1; - $1 = $0 & 21845; - $2 = $n << 1; - $3 = $2 & 43690; - $4 = $1 | $3; - $5 = $4 >>> 2; - $6 = $5 & 13107; - $7 = $4 << 2; - $8 = $7 & 52428; - $9 = $6 | $8; - $10 = $9 >>> 4; - $11 = $10 & 3855; - $12 = $9 << 4; - $13 = $12 & 61680; - $14 = $11 | $13; - $15 = $14 >>> 8; - $16 = $14 << 8; - $17 = $16 & 65280; - $18 = $17 | $15; - return ($18|0); -} -function _stbi__zget8($z) { - $z = $z|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = ((($z)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($0>>>0)<($2>>>0); - if (!($3)) { - $$0 = 0; - return ($$0|0); - } - $4 = ((($0)) + 1|0); - HEAP32[$z>>2] = $4; - $5 = HEAP8[$0>>0]|0; - $$0 = $5; - return ($$0|0); -} -function _stbi__load_main($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - 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, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__jpeg_test($s)|0); - $1 = ($0|0)==(0); - if (!($1)) { - $2 = (_stbi__jpeg_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $2; - return ($$0|0); - } - $3 = (_stbi__png_test($s)|0); - $4 = ($3|0)==(0); - if (!($4)) { - $5 = (_stbi__png_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $5; - return ($$0|0); - } - $6 = (_stbi__bmp_test($s)|0); - $7 = ($6|0)==(0); - if (!($7)) { - $8 = (_stbi__bmp_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $8; - return ($$0|0); - } - $9 = (_stbi__gif_test($s)|0); - $10 = ($9|0)==(0); - if (!($10)) { - $11 = (_stbi__gif_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $11; - return ($$0|0); - } - $12 = (_stbi__psd_test($s)|0); - $13 = ($12|0)==(0); - if (!($13)) { - $14 = (_stbi__psd_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $14; - return ($$0|0); - } - $15 = (_stbi__pic_test($s)|0); - $16 = ($15|0)==(0); - if (!($16)) { - $17 = (_stbi__pic_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $17; - return ($$0|0); - } - $18 = (_stbi__pnm_test($s)|0); - $19 = ($18|0)==(0); - if (!($19)) { - $20 = (_stbi__pnm_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $20; - return ($$0|0); - } - $21 = (_stbi__tga_test($s)|0); - $22 = ($21|0)==(0); - if ($22) { - _stbi__err(21433); - $$0 = 0; - return ($$0|0); - } else { - $23 = (_stbi__tga_load($s,$x,$y,$comp,$req_comp)|0); - $$0 = $23; - return ($$0|0); - } - return (0)|0; -} -function _stbi__jpeg_test($s) { - $s = $s|0; - var $0 = 0, $j = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18192|0; - $j = sp; - HEAP32[$j>>2] = $s; - _stbi__setup_jpeg($j); - $0 = (_stbi__decode_jpeg_header($j,1)|0); - _stbi__rewind($s); - STACKTOP = sp;return ($0|0); -} -function _stbi__jpeg_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $j = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18192|0; - $j = sp; - HEAP32[$j>>2] = $s; - _stbi__setup_jpeg($j); - $0 = (_load_jpeg_image($j,$x,$y,$comp,$req_comp)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi__png_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__check_png_header($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__png_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $0 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $p = sp; - HEAP32[$p>>2] = $s; - $0 = (_stbi__do_png($p,$x,$y,$comp,$req_comp)|0); - STACKTOP = sp;return ($0|0); -} -function _stbi__bmp_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__bmp_test_raw($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__bmp_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $$pr = 0, $$sum = 0, $$sum16 = 0, $0 = 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; - 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, $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, $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, $acount$0 = 0, $all_a$064 = 0, $all_a$158 = 0, $all_a$251 = 0, $all_a$3 = 0, $all_a$4 = 0, $ashift$0 = 0, $bcount$0 = 0, $bshift$0 = 0, $easy$017 = 0, $exitcond = 0, $gcount$0 = 0, $gshift$0 = 0, $i$046 = 0; - var $i$138 = 0, $i$256 = 0, $i$349 = 0, $i$435 = 0, $i$532 = 0, $info = 0, $ispos = 0, $j$044 = 0, $j$162 = 0, $j$233 = 0, $neg = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $out$0 = 0; - var $pal = 0, $psize$0 = 0, $rcount$0 = 0, $req_comp$ = 0, $rshift$0 = 0, $v$0 = 0, $v2$0 = 0, $width$0 = 0, $width$1 = 0, $width$1$ph = 0, $z$045 = 0, $z$139 = 0, $z$2 = 0, $z$3 = 0, $z$4 = 0, $z1$063 = 0, $z1$157 = 0, $z1$2 = 0, $z1$350 = 0, $z1$4 = 0; - var $z1$5 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; - $pal = sp + 32|0; - $info = sp; - $0 = ((($info)) + 28|0); - HEAP32[$0>>2] = 255; - $1 = (_stbi__bmp_parse_header($s,$info)|0); - $2 = ($1|0)==(0|0); - if ($2) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $3 = ((($s)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(0); - $ispos = ($4|0)>(-1); - $neg = (0 - ($4))|0; - $6 = $ispos ? $4 : $neg; - HEAP32[$3>>2] = $6; - $7 = ((($info)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($info)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($info)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($info)) + 24|0); - $14 = HEAP32[$13>>2]|0; - $15 = HEAP32[$0>>2]|0; - $16 = ((($info)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(12); - $19 = HEAP32[$info>>2]|0; - if ($18) { - $20 = ($19|0)<(24); - if ($20) { - $21 = ((($info)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + -38)|0; - $24 = (($23|0) / 3)&-1; - $psize$0 = $24; - } else { - $psize$0 = 0; - } - } else { - $25 = ($19|0)<(16); - if ($25) { - $26 = ((($info)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = (-14 - ($17))|0; - $29 = (($28) + ($27))|0; - $30 = $29 >> 2; - $psize$0 = $30; - } else { - $psize$0 = 0; - } - } - $31 = ($14|0)!=(0); - $32 = $31 ? 4 : 3; - $33 = ((($s)) + 8|0); - HEAP32[$33>>2] = $32; - $34 = ($req_comp|0)==(0); - $35 = ($req_comp|0)>(2); - $req_comp$ = $35 ? $req_comp : $32; - $36 = HEAP32[$s>>2]|0; - $37 = Math_imul($36, $req_comp$)|0; - $38 = HEAP32[$3>>2]|0; - $39 = Math_imul($37, $38)|0; - $40 = (_stbi__malloc($39)|0); - $41 = ($40|0)==(0|0); - if ($41) { - _stbi__err(21769); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $42 = HEAP32[$info>>2]|0; - $43 = ($42|0)<(16); - if ($43) { - $44 = ($psize$0|0)==(0); - $45 = ($psize$0|0)>(256); - $or$cond3 = $44 | $45; - if ($or$cond3) { - _free($40); - _stbi__err(23389); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $46 = ($psize$0|0)>(0); - if ($46) { - $47 = HEAP32[$16>>2]|0; - $48 = ($47|0)==(12); - $i$046 = 0; - while(1) { - $49 = (_stbi__get8($s)|0); - $50 = (((($pal) + ($i$046<<2)|0)) + 2|0); - HEAP8[$50>>0] = $49; - $51 = (_stbi__get8($s)|0); - $52 = (((($pal) + ($i$046<<2)|0)) + 1|0); - HEAP8[$52>>0] = $51; - $53 = (_stbi__get8($s)|0); - $54 = (($pal) + ($i$046<<2)|0); - HEAP8[$54>>0] = $53; - if (!($48)) { - (_stbi__get8($s)|0); - } - $55 = (((($pal) + ($i$046<<2)|0)) + 3|0); - HEAP8[$55>>0] = -1; - $56 = (($i$046) + 1)|0; - $exitcond = ($56|0)==($psize$0|0); - if ($exitcond) { - break; - } else { - $i$046 = $56; - } - } - } - $57 = ((($info)) + 4|0); - $58 = HEAP32[$57>>2]|0; - $59 = (($58) + -14)|0; - $60 = HEAP32[$16>>2]|0; - $61 = (($59) - ($60))|0; - $62 = ($60|0)==(12); - $63 = $62 ? 3 : 4; - $64 = Math_imul($63, $psize$0)|0; - $65 = (($61) - ($64))|0; - _stbi__skip($s,$65); - $66 = HEAP32[$info>>2]|0; - switch ($66|0) { - case 4: { - $67 = HEAP32[$s>>2]|0; - $68 = (($67) + 1)|0; - $69 = $68 >>> 1; - $width$0 = $69; - break; - } - case 8: { - $70 = HEAP32[$s>>2]|0; - $width$0 = $70; - break; - } - default: { - _free($40); - _stbi__err(23397); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $71 = (0 - ($width$0))|0; - $72 = $71 & 3; - $73 = HEAP32[$3>>2]|0; - $74 = ($73|0)>(0); - if ($74) { - $75 = HEAP32[$info>>2]|0; - $76 = ($75|0)==(4); - $77 = ($req_comp$|0)==(4); - $78 = ($75|0)==(8); - $j$044 = 0;$z$045 = 0; - while(1) { - $79 = HEAP32[$s>>2]|0; - $80 = ($79|0)>(0); - L37: do { - if ($80) { - $i$138 = 0;$z$139 = $z$045; - while(1) { - $81 = (_stbi__get8($s)|0); - $82 = $81&255; - $83 = $82 & 15; - $84 = $82 >>> 4; - $v$0 = $76 ? $84 : $82; - $v2$0 = $76 ? $83 : 0; - $85 = (($pal) + ($v$0<<2)|0); - $86 = HEAP8[$85>>0]|0; - $87 = (($z$139) + 1)|0; - $88 = (($40) + ($z$139)|0); - HEAP8[$88>>0] = $86; - $89 = (((($pal) + ($v$0<<2)|0)) + 1|0); - $90 = HEAP8[$89>>0]|0; - $91 = (($z$139) + 2)|0; - $92 = (($40) + ($87)|0); - HEAP8[$92>>0] = $90; - $93 = (((($pal) + ($v$0<<2)|0)) + 2|0); - $94 = HEAP8[$93>>0]|0; - $95 = (($z$139) + 3)|0; - $96 = (($40) + ($91)|0); - HEAP8[$96>>0] = $94; - if ($77) { - $97 = (($z$139) + 4)|0; - $98 = (($40) + ($95)|0); - HEAP8[$98>>0] = -1; - $z$2 = $97; - } else { - $z$2 = $95; - } - $99 = $i$138 | 1; - $100 = HEAP32[$s>>2]|0; - $101 = ($99|0)==($100|0); - if ($101) { - $z$4 = $z$2; - break L37; - } - if ($78) { - $102 = (_stbi__get8($s)|0); - $103 = $102&255; - $105 = $103; - } else { - $105 = $v2$0; - } - $104 = (($pal) + ($105<<2)|0); - $106 = HEAP8[$104>>0]|0; - $107 = (($z$2) + 1)|0; - $108 = (($40) + ($z$2)|0); - HEAP8[$108>>0] = $106; - $109 = (((($pal) + ($105<<2)|0)) + 1|0); - $110 = HEAP8[$109>>0]|0; - $111 = (($z$2) + 2)|0; - $112 = (($40) + ($107)|0); - HEAP8[$112>>0] = $110; - $113 = (((($pal) + ($105<<2)|0)) + 2|0); - $114 = HEAP8[$113>>0]|0; - $115 = (($z$2) + 3)|0; - $116 = (($40) + ($111)|0); - HEAP8[$116>>0] = $114; - if ($77) { - $117 = (($z$2) + 4)|0; - $118 = (($40) + ($115)|0); - HEAP8[$118>>0] = -1; - $z$3 = $117; - } else { - $z$3 = $115; - } - $119 = (($i$138) + 2)|0; - $120 = HEAP32[$s>>2]|0; - $121 = ($119|0)<($120|0); - if ($121) { - $i$138 = $119;$z$139 = $z$3; - } else { - $z$4 = $z$3; - break; - } - } - } else { - $z$4 = $z$045; - } - } while(0); - _stbi__skip($s,$72); - $122 = (($j$044) + 1)|0; - $123 = HEAP32[$3>>2]|0; - $124 = ($122|0)<($123|0); - if ($124) { - $j$044 = $122;$z$045 = $z$4; - } else { - $all_a$4 = $15; - break; - } - } - } else { - $all_a$4 = $15; - } - } else { - $125 = ((($info)) + 4|0); - $126 = HEAP32[$125>>2]|0; - $127 = (($126) + -14)|0; - $128 = HEAP32[$16>>2]|0; - $129 = (($127) - ($128))|0; - _stbi__skip($s,$129); - $130 = HEAP32[$info>>2]|0; - switch ($130|0) { - case 24: { - $131 = HEAP32[$s>>2]|0; - $132 = ($131*3)|0; - $width$1$ph = $132; - label = 36; - break; - } - case 16: { - $133 = HEAP32[$s>>2]|0; - $134 = $133 << 1; - $width$1$ph = $134; - label = 36; - break; - } - default: { - $137 = $130;$width$1 = 0; - } - } - if ((label|0) == 36) { - $$pr = HEAP32[$info>>2]|0; - $137 = $$pr;$width$1 = $width$1$ph; - } - $135 = (0 - ($width$1))|0; - $136 = $135 & 3; - switch ($137|0) { - case 24: { - $261 = 1;$acount$0 = 0;$ashift$0 = 0;$bcount$0 = 0;$bshift$0 = 0;$easy$017 = 1;$gcount$0 = 0;$gshift$0 = 0;$rcount$0 = 0;$rshift$0 = 0; - break; - } - case 32: { - $138 = ($12|0)==(255); - $139 = ($10|0)==(65280); - $or$cond5 = $139 & $138; - $140 = ($8|0)==(16711680); - $or$cond7 = $140 & $or$cond5; - $141 = ($14|0)==(-16777216); - $or$cond9 = $141 & $or$cond7; - if ($or$cond9) { - $261 = 1;$acount$0 = 0;$ashift$0 = 0;$bcount$0 = 0;$bshift$0 = 0;$easy$017 = 2;$gcount$0 = 0;$gshift$0 = 0;$rcount$0 = 0;$rshift$0 = 0; - } else { - label = 39; - } - break; - } - default: { - label = 39; - } - } - do { - if ((label|0) == 39) { - $142 = ($8|0)!=(0); - $143 = ($10|0)!=(0); - $or$cond11 = $142 & $143; - $144 = ($12|0)!=(0); - $or$cond13 = $or$cond11 & $144; - if ($or$cond13) { - $145 = (_stbi__high_bit($8)|0); - $146 = (($145) + -7)|0; - $147 = (_stbi__bitcount($8)|0); - $148 = (_stbi__high_bit($10)|0); - $149 = (($148) + -7)|0; - $150 = (_stbi__bitcount($10)|0); - $151 = (_stbi__high_bit($12)|0); - $152 = (($151) + -7)|0; - $153 = (_stbi__bitcount($12)|0); - $154 = (_stbi__high_bit($14)|0); - $155 = (($154) + -7)|0; - $156 = (_stbi__bitcount($14)|0); - $261 = 0;$acount$0 = $156;$ashift$0 = $155;$bcount$0 = $153;$bshift$0 = $152;$easy$017 = 0;$gcount$0 = $150;$gshift$0 = $149;$rcount$0 = $147;$rshift$0 = $146; - break; - } - _free($40); - _stbi__err(23405); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } while(0); - $157 = HEAP32[$3>>2]|0; - $158 = ($157|0)>(0); - if ($158) { - $159 = HEAP32[$info>>2]|0; - $160 = ($159|0)==(16); - $161 = ($req_comp$|0)==(4); - $162 = ($easy$017|0)==(2); - $163 = ($req_comp$|0)==(4); - $all_a$064 = $15;$j$162 = 0;$z1$063 = 0; - while(1) { - $164 = HEAP32[$s>>2]|0; - $165 = ($164|0)>(0); - if ($261) { - if ($165) { - $all_a$158 = $all_a$064;$i$256 = 0;$z1$157 = $z1$063; - while(1) { - $166 = (_stbi__get8($s)|0); - $167 = (($z1$157) + 2)|0; - $168 = (($40) + ($167)|0); - HEAP8[$168>>0] = $166; - $169 = (_stbi__get8($s)|0); - $170 = (($z1$157) + 1)|0; - $171 = (($40) + ($170)|0); - HEAP8[$171>>0] = $169; - $172 = (_stbi__get8($s)|0); - $173 = (($40) + ($z1$157)|0); - HEAP8[$173>>0] = $172; - $174 = (($z1$157) + 3)|0; - if ($162) { - $175 = (_stbi__get8($s)|0); - $176 = $175&255; - $178 = $176; - } else { - $178 = 255; - } - $177 = $178 | $all_a$158; - if ($163) { - $179 = $178&255; - $180 = (($z1$157) + 4)|0; - $181 = (($40) + ($174)|0); - HEAP8[$181>>0] = $179; - $z1$2 = $180; - } else { - $z1$2 = $174; - } - $182 = (($i$256) + 1)|0; - $183 = HEAP32[$s>>2]|0; - $184 = ($182|0)<($183|0); - if ($184) { - $all_a$158 = $177;$i$256 = $182;$z1$157 = $z1$2; - } else { - $all_a$3 = $177;$z1$5 = $z1$2; - break; - } - } - } else { - $all_a$3 = $all_a$064;$z1$5 = $z1$063; - } - } else { - if ($165) { - $all_a$251 = $all_a$064;$i$349 = 0;$z1$350 = $z1$063; - while(1) { - if ($160) { - $185 = (_stbi__get16le($s)|0); - $188 = $185; - } else { - $186 = (_stbi__get32le($s)|0); - $188 = $186; - } - $187 = $188 & $8; - $189 = (_stbi__shiftsigned($187,$rshift$0,$rcount$0)|0); - $190 = $189&255; - $191 = (($z1$350) + 1)|0; - $192 = (($40) + ($z1$350)|0); - HEAP8[$192>>0] = $190; - $193 = $188 & $10; - $194 = (_stbi__shiftsigned($193,$gshift$0,$gcount$0)|0); - $195 = $194&255; - $196 = (($z1$350) + 2)|0; - $197 = (($40) + ($191)|0); - HEAP8[$197>>0] = $195; - $198 = $188 & $12; - $199 = (_stbi__shiftsigned($198,$bshift$0,$bcount$0)|0); - $200 = $199&255; - $201 = (($z1$350) + 3)|0; - $202 = (($40) + ($196)|0); - HEAP8[$202>>0] = $200; - if ($31) { - $203 = $188 & $14; - $204 = (_stbi__shiftsigned($203,$ashift$0,$acount$0)|0); - $206 = $204; - } else { - $206 = 255; - } - $205 = $206 | $all_a$251; - if ($161) { - $207 = $206&255; - $208 = (($z1$350) + 4)|0; - $209 = (($40) + ($201)|0); - HEAP8[$209>>0] = $207; - $z1$4 = $208; - } else { - $z1$4 = $201; - } - $210 = (($i$349) + 1)|0; - $211 = HEAP32[$s>>2]|0; - $212 = ($210|0)<($211|0); - if ($212) { - $all_a$251 = $205;$i$349 = $210;$z1$350 = $z1$4; - } else { - $all_a$3 = $205;$z1$5 = $z1$4; - break; - } - } - } else { - $all_a$3 = $all_a$064;$z1$5 = $z1$063; - } - } - _stbi__skip($s,$136); - $213 = (($j$162) + 1)|0; - $214 = HEAP32[$3>>2]|0; - $215 = ($213|0)<($214|0); - if ($215) { - $all_a$064 = $all_a$3;$j$162 = $213;$z1$063 = $z1$5; - } else { - $all_a$4 = $all_a$3; - break; - } - } - } else { - $all_a$4 = $15; - } - } - $216 = ($req_comp$|0)==(4); - $217 = ($all_a$4|0)==(0); - $or$cond15 = $216 & $217; - if ($or$cond15) { - $218 = HEAP32[$s>>2]|0; - $219 = $218 << 2; - $220 = HEAP32[$3>>2]|0; - $221 = Math_imul($219, $220)|0; - $222 = (($221) + -1)|0; - $223 = ($222|0)>(-1); - if ($223) { - $i$435 = $222; - while(1) { - $224 = (($40) + ($i$435)|0); - HEAP8[$224>>0] = -1; - $225 = (($i$435) + -4)|0; - $226 = ($225|0)>(-1); - if ($226) { - $i$435 = $225; - } else { - break; - } - } - } - } - if ($5) { - $227 = HEAP32[$3>>2]|0; - $228 = $227 >> 1; - $229 = ($228|0)>(0); - if ($229) { - $230 = HEAP32[$s>>2]|0; - $231 = Math_imul($230, $req_comp$)|0; - $232 = ($231|0)>(0); - $233 = HEAP32[$3>>2]|0; - $234 = $233 >> 1; - $239 = $227;$j$233 = 0; - while(1) { - $235 = Math_imul($j$233, $req_comp$)|0; - $236 = Math_imul($235, $230)|0; - $237 = $j$233 ^ -1; - $238 = (($239) + ($237))|0; - $240 = Math_imul($238, $req_comp$)|0; - $241 = Math_imul($240, $230)|0; - if ($232) { - $242 = HEAP32[$s>>2]|0; - $243 = Math_imul($242, $req_comp$)|0; - $i$532 = 0; - while(1) { - $$sum = (($i$532) + ($236))|0; - $244 = (($40) + ($$sum)|0); - $245 = HEAP8[$244>>0]|0; - $$sum16 = (($i$532) + ($241))|0; - $246 = (($40) + ($$sum16)|0); - $247 = HEAP8[$246>>0]|0; - HEAP8[$244>>0] = $247; - HEAP8[$246>>0] = $245; - $248 = (($i$532) + 1)|0; - $249 = ($248|0)<($243|0); - if ($249) { - $i$532 = $248; - } else { - break; - } - } - } - $250 = (($j$233) + 1)|0; - $251 = ($250|0)<($234|0); - if ($251) { - $239 = $233;$j$233 = $250; - } else { - break; - } - } - } - } - $252 = ($req_comp$|0)==($req_comp|0); - $or$cond = $34 | $252; - if ($or$cond) { - $out$0 = $40; - } else { - $253 = HEAP32[$s>>2]|0; - $254 = HEAP32[$3>>2]|0; - $255 = (_stbi__convert_format($40,$req_comp$,$req_comp,$253,$254)|0); - $256 = ($255|0)==(0|0); - if ($256) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } else { - $out$0 = $255; - } - } - $257 = HEAP32[$s>>2]|0; - HEAP32[$x>>2] = $257; - $258 = HEAP32[$3>>2]|0; - HEAP32[$y>>2] = $258; - $259 = ($comp|0)==(0|0); - if ($259) { - $$0 = $out$0; - STACKTOP = sp;return ($$0|0); - } - $260 = HEAP32[$33>>2]|0; - HEAP32[$comp>>2] = $260; - $$0 = $out$0; - STACKTOP = sp;return ($$0|0); -} -function _stbi__gif_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__gif_test_raw($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__gif_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 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, $g = 0, $u$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 18528|0; - $g = sp; - _memset(($g|0),0,18516)|0; - $0 = (_stbi__gif_load_next($s,$g,$comp)|0); - $1 = ($0|0)==($s|0); - $$ = $1 ? 0 : $0; - $2 = ($$|0)==(0|0); + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $4 = sp + 40|0; + $5 = ((($4)) + 8|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[$4>>2] = $1; + $6 = ((($4)) + 4|0); + HEAP32[$6>>2] = $2; + $$off = (($3) + -1)|0; + $7 = ($$off>>>0)<(2); L1: do { - if ($2) { - $9 = ((($g)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - $u$0 = 0; - } else { - _free($10); - $u$0 = 0; + if ($7) { + $9 = ((($4)) + 8|0); + HEAP32[$9>>2] = $3; + switch ($3|0) { + case 1: { + $55 = $9; + label = 4; + break L1; + break; } - } else { - $3 = HEAP32[$g>>2]|0; - HEAP32[$x>>2] = $3; - $4 = ((($g)) + 4|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$y>>2] = $5; - switch ($req_comp|0) { - case 0: case 4: { - $u$0 = $$; + case 2: { + break; + } + default: { + $26 = $9; + break L1; + } + } + switch ($2|0) { + case 8: { + $13 = ((($4)) + 12|0); + HEAP32[$13>>2] = 4354; + $26 = $9; + break L1; + break; + } + case 16: { + $14 = ((($4)) + 12|0); + HEAP32[$14>>2] = 4355; + $26 = $9; + break L1; + break; + } + case 32: { + $15 = ((($4)) + 12|0); + HEAP32[$15>>2] = 65553; + $26 = $9; break L1; break; } default: { + HEAP32[$vararg_buffer4>>2] = $2; + _TraceLog(1,18816,$vararg_buffer4); + $26 = $9; + break L1; } } - $6 = HEAP32[$g>>2]|0; - $7 = HEAP32[$4>>2]|0; - $8 = (_stbi__convert_format($$,4,$req_comp,$6,$7)|0); - $u$0 = $8; + } else { + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(1,18760,$vararg_buffer); + $8 = ((($4)) + 8|0); + HEAP32[$8>>2] = 1; + $55 = $8; + label = 4; } } while(0); - STACKTOP = sp;return ($u$0|0); -} -function _stbi__psd_test($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = ($0|0)==(943870035); - $2 = $1&1; - _stbi__rewind($s); - return ($2|0); -} -function _stbi__psd_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $$lcssa = 0, $$pn = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 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, $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, $channel$039 = 0, $count$0$ph$be = 0, $count$0$ph37 = 0, $exitcond = 0, $exitcond$1 = 0, $exitcond$2 = 0, $exitcond$3 = 0, $exitcond42 = 0; - var $exitcond42$1 = 0, $exitcond42$2 = 0, $exitcond42$3 = 0, $exitcond43 = 0, $exitcond43$1 = 0, $exitcond43$2 = 0, $exitcond43$3 = 0, $exitcond46 = 0, $exitcond50 = 0, $i$028 = 0, $i$119 = 0, $i$119$1 = 0, $i$119$2 = 0, $i$119$3 = 0, $i$224 = 0, $i$224$1 = 0, $i$224$2 = 0, $i$224$3 = 0, $i$321 = 0, $i$321$1 = 0; - var $i$321$2 = 0, $i$321$3 = 0, $len$035 = 0, $len$132 = 0, $out$0 = 0, $p$029 = 0, $p$1$ph$be = 0, $p$1$ph38 = 0, $p$236 = 0, $p$333 = 0, $p1$020 = 0, $p1$020$1 = 0, $p1$020$2 = 0, $p1$020$3 = 0, $p1$125 = 0, $p1$125$1 = 0, $p1$125$2 = 0, $p1$125$3 = 0, $p1$222 = 0, $p1$222$1 = 0; - var $p1$222$2 = 0, $p1$222$3 = 0, $scevgep$sum = 0, $scevgep47 = 0, $scevgep48$sum = 0, $scevgep49 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get32be($s)|0); - $1 = ($0|0)==(943870035); - if (!($1)) { - _stbi__err(23200); - $$0 = 0; - return ($$0|0); - } - $2 = (_stbi__get16be($s)|0); - $3 = ($2|0)==(1); - if (!($3)) { - _stbi__err(23208); - $$0 = 0; - return ($$0|0); - } - _stbi__skip($s,6); - $4 = (_stbi__get16be($s)|0); - $5 = ($4>>>0)>(16); - if ($5) { - _stbi__err(23222); - $$0 = 0; - return ($$0|0); - } - $6 = (_stbi__get32be($s)|0); - $7 = (_stbi__get32be($s)|0); - $8 = (_stbi__get16be($s)|0); - switch ($8|0) { - case 8: case 16: { - break; - } - default: { - _stbi__err(23242); - $$0 = 0; - return ($$0|0); - } - } - $9 = (_stbi__get16be($s)|0); - $10 = ($9|0)==(3); - if (!($10)) { - _stbi__err(23264); - $$0 = 0; - return ($$0|0); - } - $11 = (_stbi__get32be($s)|0); - _stbi__skip($s,$11); - $12 = (_stbi__get32be($s)|0); - _stbi__skip($s,$12); - $13 = (_stbi__get32be($s)|0); - _stbi__skip($s,$13); - $14 = (_stbi__get16be($s)|0); - $15 = ($14|0)>(1); - if ($15) { - _stbi__err(23057); - $$0 = 0; - return ($$0|0); - } - $16 = $6 << 2; - $17 = Math_imul($16, $7)|0; - $18 = (_stbi__malloc($17)|0); - $19 = ($18|0)==(0|0); - if ($19) { - _stbi__err(21769); - $$0 = 0; - return ($$0|0); - } - $20 = Math_imul($7, $6)|0; - $21 = ($14|0)==(0); - L29: do { - if ($21) { - $54 = ($8|0)==(16); - $55 = ($20|0)>(0); - $56 = ($20|0)>(0); - $57 = ($20|0)>(0); - $58 = Math_imul($7, $6)|0; - $59 = ($4|0)>(0); - do { - if ($59) { - if ($54) { - if ($55) { - $i$224 = 0;$p1$125 = $18; - } else { - break; - } - while(1) { - $62 = (_stbi__get16be($s)|0); - $63 = $62 >>> 8; - $64 = $63&255; - HEAP8[$p1$125>>0] = $64; - $65 = (($i$224) + 1)|0; - $66 = ((($p1$125)) + 4|0); - $exitcond43 = ($65|0)==($58|0); - if ($exitcond43) { - break; - } else { - $i$224 = $65;$p1$125 = $66; - } - } - } else { - if ($56) { - $i$321 = 0;$p1$222 = $18; - } else { - break; - } - while(1) { - $67 = (_stbi__get8($s)|0); - HEAP8[$p1$222>>0] = $67; - $68 = (($i$321) + 1)|0; - $69 = ((($p1$222)) + 4|0); - $exitcond42 = ($68|0)==($58|0); - if ($exitcond42) { - break; - } else { - $i$321 = $68;$p1$222 = $69; - } - } - } - } else { - if ($57) { - $i$119 = 0;$p1$020 = $18; - } else { - break L29; - } - while(1) { - HEAP8[$p1$020>>0] = 0; - $60 = (($i$119) + 1)|0; - $61 = ((($p1$020)) + 4|0); - $exitcond = ($60|0)==($58|0); - if ($exitcond) { - break; - } else { - $i$119 = $60;$p1$020 = $61; - } - } - } - } while(0); - $70 = ((($18)) + 1|0); - $71 = ($4|0)>(1); - do { - if ($71) { - if ($54) { - if ($55) { - $i$224$1 = 0;$p1$125$1 = $70; - } else { - break; - } - while(1) { - $80 = (_stbi__get16be($s)|0); - $81 = $80 >>> 8; - $82 = $81&255; - HEAP8[$p1$125$1>>0] = $82; - $83 = (($i$224$1) + 1)|0; - $84 = ((($p1$125$1)) + 4|0); - $exitcond43$1 = ($83|0)==($58|0); - if ($exitcond43$1) { - break; - } else { - $i$224$1 = $83;$p1$125$1 = $84; - } - } - } else { - if ($56) { - $i$321$1 = 0;$p1$222$1 = $70; - } else { - break; - } - while(1) { - $77 = (_stbi__get8($s)|0); - HEAP8[$p1$222$1>>0] = $77; - $78 = (($i$321$1) + 1)|0; - $79 = ((($p1$222$1)) + 4|0); - $exitcond42$1 = ($78|0)==($58|0); - if ($exitcond42$1) { - break; - } else { - $i$321$1 = $78;$p1$222$1 = $79; - } - } - } - } else { - if ($57) { - $i$119$1 = 0;$p1$020$1 = $70; - } else { - break L29; - } - while(1) { - HEAP8[$p1$020$1>>0] = 0; - $75 = (($i$119$1) + 1)|0; - $76 = ((($p1$020$1)) + 4|0); - $exitcond$1 = ($75|0)==($58|0); - if ($exitcond$1) { - break; - } else { - $i$119$1 = $75;$p1$020$1 = $76; - } - } - } - } while(0); - $85 = ((($18)) + 2|0); - $86 = ($4|0)>(2); - do { - if ($86) { - if ($54) { - if ($55) { - $i$224$2 = 0;$p1$125$2 = $85; - } else { - break; - } - while(1) { - $92 = (_stbi__get16be($s)|0); - $93 = $92 >>> 8; - $94 = $93&255; - HEAP8[$p1$125$2>>0] = $94; - $95 = (($i$224$2) + 1)|0; - $96 = ((($p1$125$2)) + 4|0); - $exitcond43$2 = ($95|0)==($58|0); - if ($exitcond43$2) { - break; - } else { - $i$224$2 = $95;$p1$125$2 = $96; - } - } - } else { - if ($56) { - $i$321$2 = 0;$p1$222$2 = $85; - } else { - break; - } - while(1) { - $89 = (_stbi__get8($s)|0); - HEAP8[$p1$222$2>>0] = $89; - $90 = (($i$321$2) + 1)|0; - $91 = ((($p1$222$2)) + 4|0); - $exitcond42$2 = ($90|0)==($58|0); - if ($exitcond42$2) { - break; - } else { - $i$321$2 = $90;$p1$222$2 = $91; - } - } - } - } else { - if ($57) { - $i$119$2 = 0;$p1$020$2 = $85; - } else { - break L29; - } - while(1) { - HEAP8[$p1$020$2>>0] = 0; - $87 = (($i$119$2) + 1)|0; - $88 = ((($p1$020$2)) + 4|0); - $exitcond$2 = ($87|0)==($58|0); - if ($exitcond$2) { - break; - } else { - $i$119$2 = $87;$p1$020$2 = $88; - } - } - } - } while(0); - $97 = ((($18)) + 3|0); - $98 = ($4|0)>(3); - if (!($98)) { - if ($57) { - $i$119$3 = 0;$p1$020$3 = $97; - } else { - break; - } - while(1) { - HEAP8[$p1$020$3>>0] = -1; - $99 = (($i$119$3) + 1)|0; - $100 = ((($p1$020$3)) + 4|0); - $exitcond$3 = ($99|0)==($58|0); - if ($exitcond$3) { - break L29; - } else { - $i$119$3 = $99;$p1$020$3 = $100; - } - } - } - if ($54) { - if ($55) { - $i$224$3 = 0;$p1$125$3 = $97; - } else { - break; - } - while(1) { - $104 = (_stbi__get16be($s)|0); - $105 = $104 >>> 8; - $106 = $105&255; - HEAP8[$p1$125$3>>0] = $106; - $107 = (($i$224$3) + 1)|0; - $108 = ((($p1$125$3)) + 4|0); - $exitcond43$3 = ($107|0)==($58|0); - if ($exitcond43$3) { - break; - } else { - $i$224$3 = $107;$p1$125$3 = $108; - } - } - } else { - if ($56) { - $i$321$3 = 0;$p1$222$3 = $97; - } else { - break; - } - while(1) { - $101 = (_stbi__get8($s)|0); - HEAP8[$p1$222$3>>0] = $101; - $102 = (($i$321$3) + 1)|0; - $103 = ((($p1$222$3)) + 4|0); - $exitcond42$3 = ($102|0)==($58|0); - if ($exitcond42$3) { - break; - } else { - $i$321$3 = $102;$p1$222$3 = $103; - } - } - } - } else { - $22 = $4 << 1; - $23 = Math_imul($22, $6)|0; - _stbi__skip($s,$23); - $24 = ($20|0)>(0); - $25 = ($20|0)>(0); - $26 = Math_imul($7, $6)|0; - $channel$039 = 0; - while(1) { - $27 = (($18) + ($channel$039)|0); - $28 = ($channel$039|0)<($4|0); - if ($28) { - if ($24) { - $count$0$ph37 = 0;$p$1$ph38 = $27; - while(1) { - while(1) { - $36 = (_stbi__get8($s)|0); - $37 = ($36<<24>>24)==(-128); - if (!($37)) { - $$lcssa = $36; - break; - } - } - $38 = $$lcssa&255; - $39 = ($$lcssa<<24>>24)>(-1); - if ($39) { - $40 = (($38) + 1)|0; - $41 = $$lcssa&255; - $33 = $41 << 2; - $len$035 = $40;$p$236 = $p$1$ph38; - while(1) { - $42 = (_stbi__get8($s)|0); - HEAP8[$p$236>>0] = $42; - $43 = ((($p$236)) + 4|0); - $44 = (($len$035) + -1)|0; - $45 = ($44|0)==(0); - if ($45) { - break; - } else { - $len$035 = $44;$p$236 = $43; - } - } - $scevgep48$sum = (($33) + 4)|0; - $scevgep49 = (($p$1$ph38) + ($scevgep48$sum)|0); - $$pn = $40;$p$1$ph$be = $scevgep49; - } else { - $46 = (257 - ($38))|0; - $47 = (_stbi__get8($s)|0); - $48 = ($46|0)==(0); - if ($48) { - $$pn = 0;$p$1$ph$be = $p$1$ph38; - } else { - $49 = $$lcssa&255; - $35 = Math_imul($49, -4)|0; - $len$132 = $46;$p$333 = $p$1$ph38; - while(1) { - HEAP8[$p$333>>0] = $47; - $50 = ((($p$333)) + 4|0); - $51 = (($len$132) + -1)|0; - $52 = ($51|0)==(0); - if ($52) { - break; - } else { - $len$132 = $51;$p$333 = $50; - } - } - $scevgep$sum = (($35) + 1028)|0; - $scevgep47 = (($p$1$ph38) + ($scevgep$sum)|0); - $$pn = $46;$p$1$ph$be = $scevgep47; - } - } - $count$0$ph$be = (($$pn) + ($count$0$ph37))|0; - $34 = ($count$0$ph$be|0)<($20|0); - if ($34) { - $count$0$ph37 = $count$0$ph$be;$p$1$ph38 = $p$1$ph$be; - } else { - break; - } - } - } - } else { - if ($25) { - $29 = ($channel$039|0)==(3); - $30 = $29 << 31 >> 31; - $i$028 = 0;$p$029 = $27; - while(1) { - HEAP8[$p$029>>0] = $30; - $31 = (($i$028) + 1)|0; - $32 = ((($p$029)) + 4|0); - $exitcond46 = ($31|0)==($26|0); - if ($exitcond46) { - break; - } else { - $i$028 = $31;$p$029 = $32; - } - } - } - } - $53 = (($channel$039) + 1)|0; - $exitcond50 = ($53|0)==(4); - if ($exitcond50) { - break; - } else { - $channel$039 = $53; - } - } - } - } while(0); - switch ($req_comp|0) { - case 0: case 4: { - $out$0 = $18; - break; - } - default: { - $72 = (_stbi__convert_format($18,4,$req_comp,$7,$6)|0); - $73 = ($72|0)==(0|0); - if ($73) { - $$0 = 0; - return ($$0|0); - } else { - $out$0 = $72; - } - } - } - $74 = ($comp|0)==(0|0); - if (!($74)) { - HEAP32[$comp>>2] = 4; - } - HEAP32[$y>>2] = $6; - HEAP32[$x>>2] = $7; - $$0 = $out$0; - return ($$0|0); -} -function _stbi__pic_test($s) { - $s = $s|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__pic_test_core($s)|0); - _stbi__rewind($s); - return ($0|0); -} -function _stbi__pic_load($s,$px,$py,$comp,$req_comp) { - $s = $s|0; - $px = $px|0; - $py = $py|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$0 = 0, $$01 = 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, $exitcond = 0, $i$02 = 0, $result$0 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $i$02 = 0; - while(1) { - (_stbi__get8($s)|0); - $0 = (($i$02) + 1)|0; - $exitcond = ($0|0)==(92); - if ($exitcond) { - break; - } else { - $i$02 = $0; - } - } - $1 = (_stbi__get16be($s)|0); - $2 = (_stbi__get16be($s)|0); - $3 = (_stbi__at_eof($s)|0); - $4 = ($3|0)==(0); - if (!($4)) { - _stbi__err(23186); - $$0 = 0; - return ($$0|0); - } - $5 = (268435456 / ($1|0))&-1; - $6 = ($5|0)<($2|0); - if ($6) { - _stbi__err(21556); - $$0 = 0; - return ($$0|0); - } - (_stbi__get32be($s)|0); - (_stbi__get16be($s)|0); - (_stbi__get16be($s)|0); - $7 = $1 << 2; - $8 = Math_imul($7, $2)|0; - $9 = (_stbi__malloc($8)|0); - _memset(($9|0),-1,($8|0))|0; - $10 = (_stbi__pic_load_core($s,$1,$2,$comp,$9)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _free($9); - $result$0 = 0; - } else { - $result$0 = $9; - } - HEAP32[$px>>2] = $1; - HEAP32[$py>>2] = $2; - $12 = ($req_comp|0)==(0); - if ($12) { - $13 = HEAP32[$comp>>2]|0; - $$01 = $13; - } else { - $$01 = $req_comp; - } - $14 = (_stbi__convert_format($result$0,4,$$01,$1,$2)|0); - $$0 = $14; - return ($$0|0); -} -function _stbi__pnm_test($s) { - $s = $s|0; - var $$0 = 0, $$off = 0, $0 = 0, $1 = 0, $2 = 0, $or$cond = 0, $switch = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = (_stbi__get8($s)|0); - $2 = ($0<<24>>24)==(80); - $$off = (($1) + -53)<<24>>24; - $switch = ($$off&255)<(2); - $or$cond = $2 & $switch; - if ($or$cond) { - $$0 = 1; - return ($$0|0); - } - _stbi__rewind($s); - $$0 = 0; - return ($$0|0); -} -function _stbi__pnm_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - 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, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($s)) + 4|0); - $1 = ((($s)) + 8|0); - $2 = (_stbi__pnm_info($s,$s,$0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = HEAP32[$s>>2]|0; - HEAP32[$x>>2] = $4; - $5 = HEAP32[$0>>2]|0; - HEAP32[$y>>2] = $5; - $6 = HEAP32[$1>>2]|0; - HEAP32[$comp>>2] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = HEAP32[$s>>2]|0; - $9 = Math_imul($8, $7)|0; - $10 = HEAP32[$0>>2]|0; - $11 = Math_imul($9, $10)|0; - $12 = (_stbi__malloc($11)|0); - $13 = ($12|0)==(0|0); - if ($13) { - _stbi__err(21769); - $$0 = 0; - return ($$0|0); - } - $14 = HEAP32[$1>>2]|0; - $15 = HEAP32[$s>>2]|0; - $16 = Math_imul($15, $14)|0; - $17 = HEAP32[$0>>2]|0; - $18 = Math_imul($16, $17)|0; - (_stbi__getn($s,$12,$18)|0); - $19 = ($req_comp|0)==(0); - if ($19) { - $$0 = $12; - return ($$0|0); - } - $20 = HEAP32[$1>>2]|0; - $21 = ($20|0)==($req_comp|0); - if ($21) { - $$0 = $12; - return ($$0|0); - } else { - $22 = HEAP32[$s>>2]|0; - $23 = HEAP32[$0>>2]|0; - $24 = (_stbi__convert_format($12,$20,$req_comp,$22,$23)|0); - return ($24|0); - } - return (0)|0; -} -function _stbi__tga_test($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $res$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - (_stbi__get8($s)|0); - $0 = (_stbi__get8($s)|0); - $1 = ($0&255)>(1); - L1: do { - if ($1) { - $res$0 = 0; - } else { - $2 = (_stbi__get8($s)|0); - $3 = ($0<<24>>24)==(1); - if ($3) { - switch ($2<<24>>24) { - case 1: case 9: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - _stbi__skip($s,4); - $4 = (_stbi__get8($s)|0); - switch ($4<<24>>24) { - case 8: case 15: case 16: case 24: case 32: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - _stbi__skip($s,4); - } else { - switch ($2<<24>>24) { - case 2: case 3: case 10: case 11: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - _stbi__skip($s,9); - } - $5 = (_stbi__get16le($s)|0); - $6 = ($5|0)<(1); - if ($6) { - $res$0 = 0; - } else { - $7 = (_stbi__get16le($s)|0); - $8 = ($7|0)<(1); - if ($8) { - $res$0 = 0; - } else { - $9 = (_stbi__get8($s)|0); - if ($3) { - switch ($9<<24>>24) { - case 8: case 16: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - } else { - switch ($9<<24>>24) { - case 8: case 15: case 16: case 24: case 32: { - break; - } - default: { - $res$0 = 0; - break L1; - } - } - } - $res$0 = 1; - } - } - } - } while(0); - _stbi__rewind($s); - return ($res$0|0); -} -function _stbi__tga_load($s,$x,$y,$comp,$req_comp) { - $s = $s|0; - $x = $x|0; - $y = $y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$6 = 0, $$7 = 0, $0 = 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; - var $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, $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, $RLE_count$039 = 0, $RLE_count$18 = 0, $RLE_count$19 = 0, $RLE_repeating$040 = 0, $RLE_repeating$110 = 0, $RLE_repeating$111 = 0, $exitcond = 0, $exitcond50 = 0, $exitcond55 = 0, $exitcond56 = 0, $i$048 = 0, $i$145 = 0, $i$238 = 0, $i$323 = 0, $i$421 = 0, $index1$024 = 0, $index2$025 = 0; - var $j$129 = 0, $j$327 = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond5$not = 0, $or$cond57 = 0, $or$cond59 = 0, $pal_entry$046 = 0, $raw_data = 0, $read_next_pixel$041 = 0, $scevgep = 0, $scevgep54 = 0, $tga_comp$0 = 0, $tga_palette$0 = 0, $tga_pixel$022 = 0, $tga_rgb16 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $tga_rgb16 = sp; - $raw_data = sp + 4|0; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = (_stbi__get8($s)|0); - $3 = (_stbi__get8($s)|0); - $4 = $3&255; - $5 = (_stbi__get16le($s)|0); - $6 = (_stbi__get16le($s)|0); - $7 = (_stbi__get8($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - $8 = (_stbi__get16le($s)|0); - $9 = (_stbi__get16le($s)|0); - $10 = (_stbi__get8($s)|0); - HEAP32[$tga_rgb16>>2] = 0; - $11 = (_stbi__get8($s)|0); - $12 = $11&255; - $13 = ($3&255)>(7); - $$6 = $13&1; - $14 = $12 >>> 5; - $15 = $14 & 1; - $16 = ($2<<24>>24)!=(0); - if ($16) { - $17 = $7&255; - $18 = (_stbi__tga_get_comp($17,0,$tga_rgb16)|0); - $tga_comp$0 = $18; - } else { - $19 = (($4) + -8)|0; - $$7 = $13 ? $19 : $4; - $20 = $10&255; - $21 = ($$7|0)==(3); - $22 = $21&1; - $23 = (_stbi__tga_get_comp($20,$22,$tga_rgb16)|0); - $tga_comp$0 = $23; - } - $24 = ($tga_comp$0|0)==(0); - if ($24) { - _stbi__err(23073); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - HEAP32[$x>>2] = $8; - HEAP32[$y>>2] = $9; - $25 = ($comp|0)==(0|0); - if (!($25)) { - HEAP32[$comp>>2] = $tga_comp$0; - } - $26 = Math_imul($9, $8)|0; - $27 = Math_imul($26, $tga_comp$0)|0; - $28 = (_stbi__malloc($27)|0); - $29 = ($28|0)==(0|0); - if ($29) { - _stbi__err(21769); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - _stbi__skip($s,$1); - $30 = HEAP32[$tga_rgb16>>2]|0; - $31 = $30 | $$6; - $32 = ($31|0)!=(0); - $33 = $16 | $32; - if ($33) { - do { - if ($16) { - _stbi__skip($s,$5); - $44 = Math_imul($tga_comp$0, $6)|0; - $45 = (_stbi__malloc($44)|0); - $46 = ($45|0)==(0|0); - if ($46) { - _free($28); - _stbi__err(21769); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $47 = HEAP32[$tga_rgb16>>2]|0; - $48 = ($47|0)==(0); - if ($48) { - $53 = (_stbi__getn($s,$45,$44)|0); - $54 = ($53|0)==(0); - if (!($54)) { - $tga_palette$0 = $45; - break; - } - _free($28); - _free($45); - _stbi__err(23120); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $49 = ($tga_comp$0|0)==(3); - if (!($49)) { - ___assert_fail((23084|0),(21839|0),5060,(23105|0)); - // unreachable; - } - $50 = ($6|0)>(0); - if ($50) { - $i$145 = 0;$pal_entry$046 = $45; - while(1) { - _stbi__tga_read_rgb16($s,$pal_entry$046); - $51 = (($pal_entry$046) + ($tga_comp$0)|0); - $52 = (($i$145) + 1)|0; - $exitcond55 = ($52|0)==($6|0); - if ($exitcond55) { - $tga_palette$0 = $45; - break; - } else { - $i$145 = $52;$pal_entry$046 = $51; - } - } - } else { - $tga_palette$0 = $45; - } - } else { - $tga_palette$0 = 0; - } - } while(0); - $55 = Math_imul($9, $8)|0; - $56 = ($55|0)>(0); - L35: do { - if ($56) { - $57 = ($10<<24>>24)==(8); - $58 = ($tga_comp$0|0)>(0); - $59 = ($tga_comp$0|0)==(3); - $60 = ($tga_comp$0|0)>(0); - $61 = ($tga_comp$0|0)>(0); - $RLE_count$039 = 0;$RLE_repeating$040 = 0;$i$238 = 0;$read_next_pixel$041 = 1; - L37: while(1) { - $62 = Math_imul($tga_comp$0, $i$238)|0; - $scevgep54 = (($28) + ($62)|0); - do { - if ($13) { - $63 = ($RLE_count$039|0)==(0); - if ($63) { - $64 = (_stbi__get8($s)|0); - $65 = $64&255; - $66 = $65 & 127; - $67 = (($66) + 1)|0; - $68 = $65 >>> 7; - $RLE_count$18 = $67;$RLE_repeating$110 = $68; - label = 31; - break; - } - $69 = ($RLE_repeating$040|0)==(0); - if ($69) { - $RLE_count$18 = $RLE_count$039;$RLE_repeating$110 = 0; - label = 31; - } else { - $70 = ($read_next_pixel$041|0)==(0); - if ($70) { - $RLE_count$19 = $RLE_count$039;$RLE_repeating$111 = $RLE_repeating$040; - } else { - $RLE_count$18 = $RLE_count$039;$RLE_repeating$110 = $RLE_repeating$040; - label = 31; - } - } - } else { - $RLE_count$18 = $RLE_count$039;$RLE_repeating$110 = $RLE_repeating$040; - label = 31; - } - } while(0); - do { - if ((label|0) == 31) { - label = 0; - if ($16) { - if ($57) { - $71 = (_stbi__get8($s)|0); - $72 = $71&255; - $79 = $72; - } else { - $73 = (_stbi__get16le($s)|0); - $79 = $73; - } - if (!($58)) { - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } - $80 = ($79|0)>=($6|0); - $$ = $80 ? 0 : $79; - $81 = Math_imul($tga_comp$0, $$)|0; - $scevgep = (($tga_palette$0) + ($81)|0); - _memcpy(($raw_data|0),($scevgep|0),($tga_comp$0|0))|0; - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } else { - $74 = HEAP32[$tga_rgb16>>2]|0; - $75 = ($74|0)==(0); - if ($75) { - if ($60) { - $j$129 = 0; - } else { - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } - while(1) { - $76 = (_stbi__get8($s)|0); - $77 = (($raw_data) + ($j$129)|0); - HEAP8[$77>>0] = $76; - $78 = (($j$129) + 1)|0; - $exitcond50 = ($78|0)==($tga_comp$0|0); - if ($exitcond50) { - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } else { - $j$129 = $78; - } - } - } else { - if (!($59)) { - break L37; - } - _stbi__tga_read_rgb16($s,$raw_data); - $RLE_count$19 = $RLE_count$18;$RLE_repeating$111 = $RLE_repeating$110; - break; - } - } - } - } while(0); - if ($61) { - _memcpy(($scevgep54|0),($raw_data|0),($tga_comp$0|0))|0; - } - $82 = (($RLE_count$19) + -1)|0; - $83 = (($i$238) + 1)|0; - $84 = ($83|0)<($55|0); - if ($84) { - $RLE_count$039 = $82;$RLE_repeating$040 = $RLE_repeating$111;$i$238 = $83;$read_next_pixel$041 = 0; - } else { - break L35; - } - } - ___assert_fail((23084|0),(21839|0),5109,(23105|0)); - // unreachable; - } - } while(0); - $85 = ($15|0)==(0); - $86 = ($9|0)>(0); - $or$cond57 = $85 & $86; - if ($or$cond57) { - $87 = Math_imul($tga_comp$0, $8)|0; - $88 = (($9) + -1)|0; - $89 = Math_imul($tga_comp$0, $8)|0; - $90 = Math_imul($tga_comp$0, $8)|0; - $91 = ($90|0)>(0); - $j$327 = 0; - while(1) { - if ($91) { - $92 = (($88) - ($j$327))|0; - $93 = Math_imul($89, $92)|0; - $94 = Math_imul($87, $j$327)|0; - $i$323 = $90;$index1$024 = $94;$index2$025 = $93; - while(1) { - $95 = (($28) + ($index1$024)|0); - $96 = HEAP8[$95>>0]|0; - $97 = (($28) + ($index2$025)|0); - $98 = HEAP8[$97>>0]|0; - HEAP8[$95>>0] = $98; - HEAP8[$97>>0] = $96; - $99 = (($index1$024) + 1)|0; - $100 = (($index2$025) + 1)|0; - $101 = (($i$323) + -1)|0; - $102 = ($i$323|0)>(1); - if ($102) { - $i$323 = $101;$index1$024 = $99;$index2$025 = $100; - } else { - break; - } - } - } - $103 = (($j$327) + 1)|0; - $104 = $103 << 1; - $105 = ($104|0)<($9|0); - if ($105) { - $j$327 = $103; - } else { - break; - } - } - } - $106 = ($tga_palette$0|0)==(0|0); - if (!($106)) { - _free($tga_palette$0); - } - } else { - $34 = ($9|0)>(0); - if ($34) { - $35 = ($15|0)==(0); - $36 = (($9) + -1)|0; - $37 = Math_imul($tga_comp$0, $8)|0; - $38 = Math_imul($tga_comp$0, $8)|0; - $i$048 = 0; - while(1) { - $39 = (($36) - ($i$048))|0; - $40 = $35 ? $39 : $i$048; - $41 = Math_imul($37, $40)|0; - $42 = (($28) + ($41)|0); - (_stbi__getn($s,$42,$38)|0); - $43 = (($i$048) + 1)|0; - $exitcond56 = ($43|0)==($9|0); - if ($exitcond56) { - break; - } else { - $i$048 = $43; - } - } - } - } - $107 = HEAP32[$tga_rgb16>>2]|0; - $notlhs = ($tga_comp$0|0)>(2); - $notrhs = ($107|0)==(0); - $or$cond5$not = $notrhs & $notlhs; - $108 = Math_imul($9, $8)|0; - $109 = ($108|0)>(0); - $or$cond59 = $or$cond5$not & $109; - if ($or$cond59) { - $110 = Math_imul($9, $8)|0; - $i$421 = 0;$tga_pixel$022 = $28; - while(1) { - $111 = HEAP8[$tga_pixel$022>>0]|0; - $112 = ((($tga_pixel$022)) + 2|0); - $113 = HEAP8[$112>>0]|0; - HEAP8[$tga_pixel$022>>0] = $113; - HEAP8[$112>>0] = $111; - $114 = (($tga_pixel$022) + ($tga_comp$0)|0); - $115 = (($i$421) + 1)|0; - $exitcond = ($115|0)==($110|0); - if ($exitcond) { - break; - } else { - $i$421 = $115;$tga_pixel$022 = $114; - } - } - } - $116 = ($req_comp|0)==(0); - $117 = ($tga_comp$0|0)==($req_comp|0); - $or$cond = $116 | $117; - if ($or$cond) { - $$0 = $28; - STACKTOP = sp;return ($$0|0); - } - $118 = (_stbi__convert_format($28,$tga_comp$0,$req_comp,$8,$9)|0); - $$0 = $118; - STACKTOP = sp;return ($$0|0); -} -function _stbi__convert_format($data,$img_n,$req_comp,$x,$y) { - $data = $data|0; - $img_n = $img_n|0; - $req_comp = $req_comp|0; - $x = $x|0; - $y = $y|0; - var $$0 = 0, $0 = 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, $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, $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, $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, $dest$081 = 0; - var $dest$1031 = 0, $dest$1127 = 0, $dest$176 = 0, $dest$271 = 0, $dest$366 = 0, $dest$461 = 0, $dest$556 = 0, $dest$651 = 0, $dest$746 = 0, $dest$841 = 0, $dest$936 = 0, $i$0 = 0, $i$079 = 0, $i$082 = 0, $i$1 = 0, $i$10 = 0, $i$1029 = 0, $i$1032 = 0, $i$11 = 0, $i$1125 = 0; - var $i$1128 = 0, $i$174 = 0, $i$177 = 0, $i$2 = 0, $i$269 = 0, $i$272 = 0, $i$3 = 0, $i$364 = 0, $i$367 = 0, $i$4 = 0, $i$459 = 0, $i$462 = 0, $i$5 = 0, $i$554 = 0, $i$557 = 0, $i$6 = 0, $i$649 = 0, $i$652 = 0, $i$7 = 0, $i$744 = 0; - var $i$747 = 0, $i$8 = 0, $i$839 = 0, $i$842 = 0, $i$9 = 0, $i$934 = 0, $i$937 = 0, $j$084 = 0, $req_comp$off = 0, $src$080 = 0, $src$1030 = 0, $src$1126 = 0, $src$175 = 0, $src$270 = 0, $src$365 = 0, $src$460 = 0, $src$555 = 0, $src$650 = 0, $src$745 = 0, $src$840 = 0; - var $src$935 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($req_comp|0)==($img_n|0); - if ($0) { - $$0 = $data; - return ($$0|0); - } - $req_comp$off = (($req_comp) + -1)|0; - $1 = ($req_comp$off>>>0)<(4); - if (!($1)) { - ___assert_fail((23132|0),(21839|0),1353,(23163|0)); - // unreachable; - } - $2 = Math_imul($x, $req_comp)|0; - $3 = Math_imul($2, $y)|0; - $4 = (_stbi__malloc($3)|0); - $5 = ($4|0)==(0|0); - if ($5) { - _free($data); - _stbi__err(21769); - $$0 = 0; - return ($$0|0); - } - $6 = ($y|0)>(0); - L11: do { - if ($6) { - $7 = $img_n << 3; - $8 = (($7) + ($req_comp))|0; - $i$079 = (($x) + -1)|0; - $9 = ($i$079|0)>(-1); - $i$174 = (($x) + -1)|0; - $10 = ($i$174|0)>(-1); - $i$269 = (($x) + -1)|0; - $11 = ($i$269|0)>(-1); - $i$364 = (($x) + -1)|0; - $12 = ($i$364|0)>(-1); - $i$459 = (($x) + -1)|0; - $13 = ($i$459|0)>(-1); - $i$554 = (($x) + -1)|0; - $14 = ($i$554|0)>(-1); - $i$649 = (($x) + -1)|0; - $15 = ($i$649|0)>(-1); - $i$744 = (($x) + -1)|0; - $16 = ($i$744|0)>(-1); - $i$839 = (($x) + -1)|0; - $17 = ($i$839|0)>(-1); - $i$934 = (($x) + -1)|0; - $18 = ($i$934|0)>(-1); - $i$1029 = (($x) + -1)|0; - $19 = ($i$1029|0)>(-1); - $i$1125 = (($x) + -1)|0; - $20 = ($i$1125|0)>(-1); - $j$084 = 0; - L13: while(1) { - $21 = Math_imul($j$084, $x)|0; - $22 = Math_imul($21, $img_n)|0; - $23 = (($data) + ($22)|0); - $24 = Math_imul($21, $req_comp)|0; - $25 = (($4) + ($24)|0); - do { - switch ($8|0) { - case 10: { - if ($9) { - $dest$081 = $25;$i$082 = $i$079;$src$080 = $23; - while(1) { - $26 = HEAP8[$src$080>>0]|0; - HEAP8[$dest$081>>0] = $26; - $27 = ((($dest$081)) + 1|0); - HEAP8[$27>>0] = -1; - $28 = ((($src$080)) + 1|0); - $29 = ((($dest$081)) + 2|0); - $i$0 = (($i$082) + -1)|0; - $30 = ($i$0|0)>(-1); - if ($30) { - $dest$081 = $29;$i$082 = $i$0;$src$080 = $28; - } else { - break; - } - } - } - break; - } - case 11: { - if ($10) { - $dest$176 = $25;$i$177 = $i$174;$src$175 = $23; - while(1) { - $31 = HEAP8[$src$175>>0]|0; - $32 = ((($dest$176)) + 2|0); - HEAP8[$32>>0] = $31; - $33 = ((($dest$176)) + 1|0); - HEAP8[$33>>0] = $31; - HEAP8[$dest$176>>0] = $31; - $34 = ((($src$175)) + 1|0); - $35 = ((($dest$176)) + 3|0); - $i$1 = (($i$177) + -1)|0; - $36 = ($i$1|0)>(-1); - if ($36) { - $dest$176 = $35;$i$177 = $i$1;$src$175 = $34; - } else { - break; - } - } - } - break; - } - case 12: { - if ($11) { - $dest$271 = $25;$i$272 = $i$269;$src$270 = $23; - while(1) { - $37 = HEAP8[$src$270>>0]|0; - $38 = ((($dest$271)) + 2|0); - HEAP8[$38>>0] = $37; - $39 = ((($dest$271)) + 1|0); - HEAP8[$39>>0] = $37; - HEAP8[$dest$271>>0] = $37; - $40 = ((($dest$271)) + 3|0); - HEAP8[$40>>0] = -1; - $41 = ((($src$270)) + 1|0); - $42 = ((($dest$271)) + 4|0); - $i$2 = (($i$272) + -1)|0; - $43 = ($i$2|0)>(-1); - if ($43) { - $dest$271 = $42;$i$272 = $i$2;$src$270 = $41; - } else { - break; - } - } - } - break; - } - case 17: { - if ($12) { - $dest$366 = $25;$i$367 = $i$364;$src$365 = $23; - while(1) { - $44 = HEAP8[$src$365>>0]|0; - HEAP8[$dest$366>>0] = $44; - $45 = ((($src$365)) + 2|0); - $46 = ((($dest$366)) + 1|0); - $i$3 = (($i$367) + -1)|0; - $47 = ($i$3|0)>(-1); - if ($47) { - $dest$366 = $46;$i$367 = $i$3;$src$365 = $45; - } else { - break; - } - } - } - break; - } - case 19: { - if ($13) { - $dest$461 = $25;$i$462 = $i$459;$src$460 = $23; - while(1) { - $48 = HEAP8[$src$460>>0]|0; - $49 = ((($dest$461)) + 2|0); - HEAP8[$49>>0] = $48; - $50 = ((($dest$461)) + 1|0); - HEAP8[$50>>0] = $48; - HEAP8[$dest$461>>0] = $48; - $51 = ((($src$460)) + 2|0); - $52 = ((($dest$461)) + 3|0); - $i$4 = (($i$462) + -1)|0; - $53 = ($i$4|0)>(-1); - if ($53) { - $dest$461 = $52;$i$462 = $i$4;$src$460 = $51; - } else { - break; - } - } - } - break; - } - case 20: { - if ($14) { - $dest$556 = $25;$i$557 = $i$554;$src$555 = $23; - while(1) { - $54 = HEAP8[$src$555>>0]|0; - $55 = ((($dest$556)) + 2|0); - HEAP8[$55>>0] = $54; - $56 = ((($dest$556)) + 1|0); - HEAP8[$56>>0] = $54; - HEAP8[$dest$556>>0] = $54; - $57 = ((($src$555)) + 1|0); - $58 = HEAP8[$57>>0]|0; - $59 = ((($dest$556)) + 3|0); - HEAP8[$59>>0] = $58; - $60 = ((($src$555)) + 2|0); - $61 = ((($dest$556)) + 4|0); - $i$5 = (($i$557) + -1)|0; - $62 = ($i$5|0)>(-1); - if ($62) { - $dest$556 = $61;$i$557 = $i$5;$src$555 = $60; - } else { - break; - } - } - } - break; - } - case 28: { - if ($15) { - $dest$651 = $25;$i$652 = $i$649;$src$650 = $23; - while(1) { - $63 = HEAP8[$src$650>>0]|0; - HEAP8[$dest$651>>0] = $63; - $64 = ((($src$650)) + 1|0); - $65 = HEAP8[$64>>0]|0; - $66 = ((($dest$651)) + 1|0); - HEAP8[$66>>0] = $65; - $67 = ((($src$650)) + 2|0); - $68 = HEAP8[$67>>0]|0; - $69 = ((($dest$651)) + 2|0); - HEAP8[$69>>0] = $68; - $70 = ((($dest$651)) + 3|0); - HEAP8[$70>>0] = -1; - $71 = ((($src$650)) + 3|0); - $72 = ((($dest$651)) + 4|0); - $i$6 = (($i$652) + -1)|0; - $73 = ($i$6|0)>(-1); - if ($73) { - $dest$651 = $72;$i$652 = $i$6;$src$650 = $71; - } else { - break; - } - } - } - break; - } - case 25: { - if ($16) { - $dest$746 = $25;$i$747 = $i$744;$src$745 = $23; - while(1) { - $74 = HEAP8[$src$745>>0]|0; - $75 = $74&255; - $76 = ((($src$745)) + 1|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77&255; - $79 = ((($src$745)) + 2|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = (_stbi__compute_y($75,$78,$81)|0); - HEAP8[$dest$746>>0] = $82; - $83 = ((($src$745)) + 3|0); - $84 = ((($dest$746)) + 1|0); - $i$7 = (($i$747) + -1)|0; - $85 = ($i$7|0)>(-1); - if ($85) { - $dest$746 = $84;$i$747 = $i$7;$src$745 = $83; - } else { - break; - } - } - } - break; - } - case 26: { - if ($17) { - $dest$841 = $25;$i$842 = $i$839;$src$840 = $23; - while(1) { - $86 = HEAP8[$src$840>>0]|0; - $87 = $86&255; - $88 = ((($src$840)) + 1|0); - $89 = HEAP8[$88>>0]|0; - $90 = $89&255; - $91 = ((($src$840)) + 2|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = (_stbi__compute_y($87,$90,$93)|0); - HEAP8[$dest$841>>0] = $94; - $95 = ((($dest$841)) + 1|0); - HEAP8[$95>>0] = -1; - $96 = ((($src$840)) + 3|0); - $97 = ((($dest$841)) + 2|0); - $i$8 = (($i$842) + -1)|0; - $98 = ($i$8|0)>(-1); - if ($98) { - $dest$841 = $97;$i$842 = $i$8;$src$840 = $96; - } else { - break; - } - } - } - break; - } - case 33: { - if ($18) { - $dest$936 = $25;$i$937 = $i$934;$src$935 = $23; - while(1) { - $99 = HEAP8[$src$935>>0]|0; - $100 = $99&255; - $101 = ((($src$935)) + 1|0); - $102 = HEAP8[$101>>0]|0; - $103 = $102&255; - $104 = ((($src$935)) + 2|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = (_stbi__compute_y($100,$103,$106)|0); - HEAP8[$dest$936>>0] = $107; - $108 = ((($src$935)) + 4|0); - $109 = ((($dest$936)) + 1|0); - $i$9 = (($i$937) + -1)|0; - $110 = ($i$9|0)>(-1); - if ($110) { - $dest$936 = $109;$i$937 = $i$9;$src$935 = $108; - } else { - break; - } - } - } - break; - } - case 34: { - if ($19) { - $dest$1031 = $25;$i$1032 = $i$1029;$src$1030 = $23; - while(1) { - $111 = HEAP8[$src$1030>>0]|0; - $112 = $111&255; - $113 = ((($src$1030)) + 1|0); - $114 = HEAP8[$113>>0]|0; - $115 = $114&255; - $116 = ((($src$1030)) + 2|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = (_stbi__compute_y($112,$115,$118)|0); - HEAP8[$dest$1031>>0] = $119; - $120 = ((($src$1030)) + 3|0); - $121 = HEAP8[$120>>0]|0; - $122 = ((($dest$1031)) + 1|0); - HEAP8[$122>>0] = $121; - $123 = ((($src$1030)) + 4|0); - $124 = ((($dest$1031)) + 2|0); - $i$10 = (($i$1032) + -1)|0; - $125 = ($i$10|0)>(-1); - if ($125) { - $dest$1031 = $124;$i$1032 = $i$10;$src$1030 = $123; - } else { - break; - } - } - } - break; - } - case 35: { - if ($20) { - $dest$1127 = $25;$i$1128 = $i$1125;$src$1126 = $23; - while(1) { - $126 = HEAP8[$src$1126>>0]|0; - HEAP8[$dest$1127>>0] = $126; - $127 = ((($src$1126)) + 1|0); - $128 = HEAP8[$127>>0]|0; - $129 = ((($dest$1127)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = ((($src$1126)) + 2|0); - $131 = HEAP8[$130>>0]|0; - $132 = ((($dest$1127)) + 2|0); - HEAP8[$132>>0] = $131; - $133 = ((($src$1126)) + 4|0); - $134 = ((($dest$1127)) + 3|0); - $i$11 = (($i$1128) + -1)|0; - $135 = ($i$11|0)>(-1); - if ($135) { - $dest$1127 = $134;$i$1128 = $i$11;$src$1126 = $133; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $136 = (($j$084) + 1)|0; - $137 = ($136|0)<($y|0); - if ($137) { - $j$084 = $136; - } else { - break L11; - } - } - ___assert_fail((23184|0),(21839|0),1382,(23163|0)); - // unreachable; - } - } while(0); - _free($data); - $$0 = $4; - return ($$0|0); -} -function _stbi__compute_y($r,$g,$b) { - $r = $r|0; - $g = $g|0; - $b = $b|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($r*77)|0; - $1 = ($g*150)|0; - $2 = (($1) + ($0))|0; - $3 = ($b*29)|0; - $4 = (($2) + ($3))|0; - $5 = $4 >>> 8; - $6 = $5&255; - return ($6|0); -} -function _stbi__pic_load_core($s,$width,$height,$comp,$result) { - $s = $s|0; - $width = $width|0; - $height = $height|0; - $comp = $comp|0; - $result = $result|0; - var $$ = 0, $$0 = 0, $$lcssa108 = 0, $$lcssa111 = 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; - 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, $act_comp$0 = 0; - var $count3$0 = 0, $count3$1 = 0, $dest$038 = 0, $dest$135 = 0, $dest$2$lcssa = 0, $dest$230 = 0, $dest$327 = 0, $dest$425 = 0, $dest$523 = 0, $dest$6 = 0, $exitcond = 0, $exitcond57 = 0, $i$031 = 0, $i4$026 = 0, $i4$124 = 0, $left$036 = 0, $left2$028 = 0, $num_packets$0 = 0, $num_packets$0$lcssa105 = 0, $packet_idx$041 = 0; - var $packets = 0, $scevgep = 0, $scevgep56 = 0, $value = 0, $value5 = 0, $x$039 = 0, $y$044 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $packets = sp + 8|0; - $value = sp + 4|0; - $value5 = sp; - $act_comp$0 = 0;$num_packets$0 = 0; - while(1) { - $0 = ($num_packets$0|0)==(10); - if ($0) { - label = 3; - break; - } - $1 = (($num_packets$0) + 1)|0; - $2 = (_stbi__get8($s)|0); - $3 = (_stbi__get8($s)|0); - $4 = (($packets) + (($num_packets$0*3)|0)|0); - HEAP8[$4>>0] = $3; - $5 = (_stbi__get8($s)|0); - $6 = (((($packets) + (($num_packets$0*3)|0)|0)) + 1|0); - HEAP8[$6>>0] = $5; - $7 = (_stbi__get8($s)|0); - $8 = (((($packets) + (($num_packets$0*3)|0)|0)) + 2|0); - HEAP8[$8>>0] = $7; - $9 = $7&255; - $10 = $9 | $act_comp$0; - $11 = (_stbi__at_eof($s)|0); - $12 = ($11|0)==(0); - if (!($12)) { - label = 5; - break; - } - $13 = HEAP8[$4>>0]|0; - $14 = ($13<<24>>24)==(8); - if (!($14)) { - label = 7; - break; - } - $15 = ($2<<24>>24)==(0); - if ($15) { - $$lcssa108 = $1;$$lcssa111 = $10;$num_packets$0$lcssa105 = $num_packets$0; - label = 9; - break; - } else { - $act_comp$0 = $10;$num_packets$0 = $1; - } - } - if ((label|0) == 3) { - _stbi__err(23073); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 5) { - _stbi__err(23186); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 7) { - _stbi__err(23073); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 9) { - $16 = $$lcssa111 >>> 4; - $17 = $16 & 1; - $18 = (($17) + 3)|0; - HEAP32[$comp>>2] = $18; - $19 = ($height|0)>(0); - if (!($19)) { - $$0 = $result; - STACKTOP = sp;return ($$0|0); - } - $20 = ($num_packets$0$lcssa105|0)>(-1); - $21 = $width << 2; - $22 = ($width|0)>(0); - $23 = ($width|0)>(0); - $24 = ($width|0)>(0); - $y$044 = 0; - L13: while(1) { - L15: do { - if ($20) { - $25 = Math_imul($21, $y$044)|0; - $26 = (($result) + ($25)|0); - $packet_idx$041 = 0; - while(1) { - $27 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - switch ($29|0) { - case 0: { - if ($22) { - $33 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $dest$038 = $26;$x$039 = 0; - while(1) { - $36 = (_stbi__readval($s,$35,$dest$038)|0); - $37 = ($36|0)==(0|0); - if ($37) { - $$0 = 0; - label = 52; - break L13; - } - $38 = (($x$039) + 1)|0; - $39 = ((($dest$038)) + 4|0); - $40 = ($38|0)<($width|0); - if ($40) { - $dest$038 = $39;$x$039 = $38; - } else { - break; - } - } - } - break; - } - case 1: { - if ($23) { - $32 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $dest$135 = $26;$left$036 = $width; - while(1) { - $41 = (_stbi__get8($s)|0); - $42 = (_stbi__at_eof($s)|0); - $43 = ($42|0)==(0); - if (!($43)) { - label = 24; - break L13; - } - $44 = HEAP8[$32>>0]|0; - $45 = $44&255; - $46 = (_stbi__readval($s,$45,$value)|0); - $47 = ($46|0)==(0|0); - if ($47) { - $$0 = 0; - label = 52; - break L13; - } - $48 = $41&255; - $49 = ($48|0)>($left$036|0); - $50 = $left$036&255; - $$ = $49 ? $50 : $41; - $51 = $$&255; - $52 = ($$<<24>>24)==(0); - if ($52) { - $dest$2$lcssa = $dest$135; - } else { - $53 = $$&255; - $54 = $53 << 2; - $dest$230 = $dest$135;$i$031 = 0; - while(1) { - $55 = HEAP8[$32>>0]|0; - $56 = $55&255; - _stbi__copyval($56,$dest$230,$value); - $57 = (($i$031) + 1)|0; - $58 = ((($dest$230)) + 4|0); - $exitcond57 = ($57|0)==($53|0); - if ($exitcond57) { - break; - } else { - $dest$230 = $58;$i$031 = $57; - } - } - $scevgep56 = (($dest$135) + ($54)|0); - $dest$2$lcssa = $scevgep56; - } - $59 = (($left$036) - ($51))|0; - $60 = ($59|0)>(0); - if ($60) { - $dest$135 = $dest$2$lcssa;$left$036 = $59; - } else { - break; - } - } - } - break; - } - case 2: { - if ($24) { - $30 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $31 = (((($packets) + (($packet_idx$041*3)|0)|0)) + 2|0); - $dest$327 = $26;$left2$028 = $width; - while(1) { - $61 = (_stbi__get8($s)|0); - $62 = $61&255; - $63 = (_stbi__at_eof($s)|0); - $64 = ($63|0)==(0); - if (!($64)) { - label = 32; - break L13; - } - $65 = ($61<<24>>24)<(0); - if ($65) { - $66 = ($61<<24>>24)==(-128); - if ($66) { - $67 = (_stbi__get16be($s)|0); - $count3$0 = $67; - } else { - $68 = (($62) + -127)|0; - $count3$0 = $68; - } - $69 = ($count3$0|0)>($left2$028|0); - if ($69) { - label = 38; - break L13; - } - $70 = HEAP8[$30>>0]|0; - $71 = $70&255; - $72 = (_stbi__readval($s,$71,$value5)|0); - $73 = ($72|0)==(0|0); - if ($73) { - $$0 = 0; - label = 52; - break L13; - } - $74 = ($count3$0|0)>(0); - if ($74) { - $75 = $count3$0 << 2; - $dest$425 = $dest$327;$i4$026 = 0; - while(1) { - $76 = HEAP8[$30>>0]|0; - $77 = $76&255; - _stbi__copyval($77,$dest$425,$value5); - $78 = (($i4$026) + 1)|0; - $79 = ((($dest$425)) + 4|0); - $exitcond = ($78|0)==($count3$0|0); - if ($exitcond) { - break; - } else { - $dest$425 = $79;$i4$026 = $78; - } - } - $scevgep = (($dest$327) + ($75)|0); - $count3$1 = $count3$0;$dest$6 = $scevgep; - } else { - $count3$1 = $count3$0;$dest$6 = $dest$327; - } - } else { - $80 = (($62) + 1)|0; - $81 = ($62|0)<($left2$028|0); - if (!($81)) { - label = 45; - break L13; - } - $82 = HEAP8[$31>>0]|0; - $83 = $82&255; - $dest$523 = $dest$327;$i4$124 = 0; - while(1) { - $84 = (_stbi__readval($s,$83,$dest$523)|0); - $85 = ($84|0)==(0|0); - if ($85) { - $$0 = 0; - label = 52; - break L13; - } - $86 = (($i4$124) + 1)|0; - $87 = ((($dest$523)) + 4|0); - $88 = ($86|0)<($80|0); - if ($88) { - $dest$523 = $87;$i4$124 = $86; - } else { - $count3$1 = $80;$dest$6 = $87; - break; - } - } - } - $89 = (($left2$028) - ($count3$1))|0; - $90 = ($89|0)>(0); - if ($90) { - $dest$327 = $dest$6;$left2$028 = $89; - } else { - break; - } - } - } - break; - } - default: { - label = 20; - break L13; - } - } - $91 = (($packet_idx$041) + 1)|0; - $92 = ($91|0)<($$lcssa108|0); - if ($92) { - $packet_idx$041 = $91; - } else { - break L15; - } - } - } - } while(0); - $93 = (($y$044) + 1)|0; - $94 = ($93|0)<($height|0); - if ($94) { - $y$044 = $93; - } else { - $$0 = $result; - label = 52; + L10: do { + if ((label|0) == 4) { + switch ($2|0) { + case 8: { + $10 = ((($4)) + 12|0); + HEAP32[$10>>2] = 4352; + $26 = $55; + break L10; break; } - } - if ((label|0) == 20) { - _stbi__err(23073); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 24) { - _stbi__err(23186); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 32) { - _stbi__err(23186); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 38) { - _stbi__err(23186); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 45) { - _stbi__err(23186); - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - else if ((label|0) == 52) { - STACKTOP = sp;return ($$0|0); - } - } - return (0)|0; -} -function _stbi__readval($s,$channel,$dest) { - $s = $s|0; - $channel = $channel|0; - $dest = $dest|0; - 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, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $channel & 128; - $1 = ($0|0)==(0); - if ($1) { - label = 5; - } else { - $2 = (_stbi__at_eof($s)|0); - $3 = ($2|0)==(0); - if ($3) { - $4 = (_stbi__get8($s)|0); - HEAP8[$dest>>0] = $4; - label = 5; - } - } - do { - if ((label|0) == 5) { - $5 = $channel & 64; - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_stbi__at_eof($s)|0); - $8 = ($7|0)==(0); - if (!($8)) { - break; - } - $9 = (_stbi__get8($s)|0); - $10 = ((($dest)) + 1|0); - HEAP8[$10>>0] = $9; - } - $11 = $channel & 32; - $12 = ($11|0)==(0); - if (!($12)) { - $13 = (_stbi__at_eof($s)|0); - $14 = ($13|0)==(0); - if (!($14)) { - break; - } - $15 = (_stbi__get8($s)|0); - $16 = ((($dest)) + 2|0); - HEAP8[$16>>0] = $15; - } - $17 = $channel & 16; - $18 = ($17|0)==(0); - if ($18) { - $$0 = $dest; - return ($$0|0); - } - $19 = (_stbi__at_eof($s)|0); - $20 = ($19|0)==(0); - if ($20) { - $21 = (_stbi__get8($s)|0); - $22 = ((($dest)) + 3|0); - HEAP8[$22>>0] = $21; - $$0 = $dest; - return ($$0|0); - } - } - } while(0); - _stbi__err(23186); - $$0 = 0; - return ($$0|0); -} -function _stbi__copyval($channel,$dest,$src) { - $channel = $channel|0; - $dest = $dest|0; - $src = $src|0; - var $0 = 0, $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, label = 0, sp = 0; - sp = STACKTOP; - $0 = $channel & 128; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP8[$src>>0]|0; - HEAP8[$dest>>0] = $2; - } - $3 = $channel & 64; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = ((($src)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($dest)) + 1|0); - HEAP8[$7>>0] = $6; - } - $8 = $channel & 32; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = ((($src)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ((($dest)) + 2|0); - HEAP8[$12>>0] = $11; - } - $13 = $channel & 16; - $14 = ($13|0)==(0); - if ($14) { - return; - } - $15 = ((($src)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = ((($dest)) + 3|0); - HEAP8[$17>>0] = $16; - return; -} -function _stbi__pic_test_core($s) { - $s = $s|0; - var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $exitcond = 0, $i$01 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__pic_is4($s,21468)|0); - $1 = ($0|0)==(0); - if ($1) { - $$0 = 0; - return ($$0|0); - } else { - $i$01 = 0; - } - while(1) { - (_stbi__get8($s)|0); - $2 = (($i$01) + 1)|0; - $exitcond = ($2|0)==(84); - if ($exitcond) { - break; - } else { - $i$01 = $2; - } - } - $3 = (_stbi__pic_is4($s,23195)|0); - $not$ = ($3|0)!=(0); - $$ = $not$&1; - $$0 = $$; - return ($$0|0); -} -function _stbi__gif_load_next($s,$g,$comp) { - $s = $s|0; - $g = $g|0; - $comp = $comp|0; - var $$0 = 0, $$pr = 0, $0 = 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, $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, $i$02 = 0, $prev_trans$0 = 0, $prev_trans$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($g)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - do { - if ($2) { - $3 = (_stbi__gif_header($s,$g,$comp,0)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } else { - $$pr = HEAP32[$0>>2]|0; - $20 = $$pr; + case 16: { + $11 = ((($4)) + 12|0); + HEAP32[$11>>2] = 4353; + $26 = $55; + break L10; break; } - } else { - $20 = $1; - } - } while(0); - $5 = HEAP32[$g>>2]|0; - $6 = $5 << 2; - $7 = ((($g)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = Math_imul($6, $8)|0; - $10 = (_stbi__malloc($9)|0); - HEAP32[$0>>2] = $10; - $11 = ($10|0)==(0|0); - if ($11) { - _stbi__err(21769); - $$0 = 0; - return ($$0|0); - } - $12 = ((($g)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = $13 >>> 2; - $15 = $14 & 7; - switch ($15|0) { - case 0: { - $16 = HEAP32[$g>>2]|0; - $17 = $16 << 2; - $18 = HEAP32[$7>>2]|0; - $19 = Math_imul($17, $18)|0; - _stbi__fill_gif_background($g,0,0,$17,$19); - break; - } - case 1: { - $21 = ($20|0)==(0|0); - if (!($21)) { - $22 = HEAP32[$g>>2]|0; - $23 = $22 << 2; - $24 = HEAP32[$7>>2]|0; - $25 = Math_imul($23, $24)|0; - _memcpy(($10|0),($20|0),($25|0))|0; - } - $26 = ((($g)) + 12|0); - HEAP32[$26>>2] = $20; - break; - } - case 2: { - $27 = ($20|0)==(0|0); - if (!($27)) { - $28 = HEAP32[$g>>2]|0; - $29 = $28 << 2; - $30 = HEAP32[$7>>2]|0; - $31 = Math_imul($29, $30)|0; - _memcpy(($10|0),($20|0),($31|0))|0; - } - $32 = ((($g)) + 18488|0); - $33 = HEAP32[$32>>2]|0; - $34 = ((($g)) + 18492|0); - $35 = HEAP32[$34>>2]|0; - $36 = ((($g)) + 18496|0); - $37 = HEAP32[$36>>2]|0; - $38 = ((($g)) + 18500|0); - $39 = HEAP32[$38>>2]|0; - _stbi__fill_gif_background($g,$33,$35,$37,$39); - break; - } - case 3: { - $40 = ((($g)) + 12|0); - $41 = HEAP32[$40>>2]|0; - $42 = ($41|0)==(0|0); - if (!($42)) { - $45 = ((($g)) + 18492|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($g)) + 18500|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($46|0)<($48|0); - if ($49) { - $50 = ((($g)) + 18488|0); - $51 = ((($g)) + 18496|0); - $i$02 = $46; - while(1) { - $52 = HEAP32[$50>>2]|0; - $53 = (($52) + ($i$02))|0; - $54 = HEAP32[$0>>2]|0; - $55 = (($54) + ($53)|0); - $56 = HEAP32[$40>>2]|0; - $57 = (($56) + ($53)|0); - $58 = HEAP32[$51>>2]|0; - $59 = (($58) - ($52))|0; - _memcpy(($55|0),($57|0),($59|0))|0; - $60 = HEAP32[$g>>2]|0; - $61 = $60 << 2; - $62 = (($61) + ($i$02))|0; - $63 = HEAP32[$47>>2]|0; - $64 = ($62|0)<($63|0); - if ($64) { - $i$02 = $62; - } else { - break; - } - } - } - } - break; - } - default: { - } - } - $43 = ((($g)) + 36|0); - $44 = ((($g)) + 28|0); - L27: while(1) { - $65 = (_stbi__get8($s)|0); - $66 = $65&255; - switch ($66|0) { - case 44: { - label = 20; - break L27; - break; - } - case 59: { - label = 45; - break L27; - break; - } - case 33: { - break; - } - default: { - label = 46; - break L27; - } - } - $143 = (_stbi__get8($s)|0); - $144 = ($143<<24>>24)==(-7); - do { - if ($144) { - $147 = (_stbi__get8($s)|0); - $148 = ($147<<24>>24)==(4); - if ($148) { - $149 = (_stbi__get8($s)|0); - $150 = $149&255; - HEAP32[$12>>2] = $150; - $151 = (_stbi__get16le($s)|0); - HEAP32[$43>>2] = $151; - $152 = (_stbi__get8($s)|0); - $153 = $152&255; - HEAP32[$44>>2] = $153; - break; - } else { - $154 = $147&255; - _stbi__skip($s,$154); - continue L27; - } - } - } while(0); - $145 = (_stbi__get8($s)|0); - $146 = ($145<<24>>24)==(0); - if ($146) { - continue; - } else { - $156 = $145; - } - while(1) { - $155 = $156&255; - _stbi__skip($s,$155); - $157 = (_stbi__get8($s)|0); - $158 = ($157<<24>>24)==(0); - if ($158) { - continue L27; - } else { - $156 = $157; - } - } - } - if ((label|0) == 20) { - $67 = (_stbi__get16le($s)|0); - $68 = (_stbi__get16le($s)|0); - $69 = (_stbi__get16le($s)|0); - $70 = (_stbi__get16le($s)|0); - $71 = (($69) + ($67))|0; - $72 = HEAP32[$g>>2]|0; - $73 = ($71|0)>($72|0); - if (!($73)) { - $74 = (($70) + ($68))|0; - $75 = HEAP32[$7>>2]|0; - $76 = ($74|0)>($75|0); - if (!($76)) { - $77 = $72 << 2; - $78 = ((($g)) + 18512|0); - HEAP32[$78>>2] = $77; - $79 = $67 << 2; - $80 = ((($g)) + 18488|0); - HEAP32[$80>>2] = $79; - $81 = HEAP32[$78>>2]|0; - $82 = Math_imul($81, $68)|0; - $83 = ((($g)) + 18492|0); - HEAP32[$83>>2] = $82; - $84 = HEAP32[$80>>2]|0; - $85 = $69 << 2; - $86 = (($84) + ($85))|0; - $87 = ((($g)) + 18496|0); - HEAP32[$87>>2] = $86; - $88 = HEAP32[$83>>2]|0; - $89 = HEAP32[$78>>2]|0; - $90 = Math_imul($89, $70)|0; - $91 = (($90) + ($88))|0; - $92 = ((($g)) + 18500|0); - HEAP32[$92>>2] = $91; - $93 = HEAP32[$80>>2]|0; - $94 = ((($g)) + 18504|0); - HEAP32[$94>>2] = $93; - $95 = HEAP32[$83>>2]|0; - $96 = ((($g)) + 18508|0); - HEAP32[$96>>2] = $95; - $97 = (_stbi__get8($s)|0); - $98 = $97&255; - $99 = ((($g)) + 18484|0); - HEAP32[$99>>2] = $98; - $100 = $98 & 64; - $101 = ($100|0)==(0); - $102 = HEAP32[$78>>2]|0; - if ($101) { - $106 = ((($g)) + 18480|0); - HEAP32[$106>>2] = $102; - $107 = ((($g)) + 18476|0); - HEAP32[$107>>2] = 0; - } else { - $103 = $102 << 3; - $104 = ((($g)) + 18480|0); - HEAP32[$104>>2] = $103; - $105 = ((($g)) + 18476|0); - HEAP32[$105>>2] = 3; - } - $108 = HEAP32[$99>>2]|0; - $109 = $108 & 128; - $110 = ($109|0)==(0); - if ($110) { - $121 = ((($g)) + 16|0); - $122 = HEAP32[$121>>2]|0; - $123 = $122 & 128; - $124 = ($123|0)==(0); - if ($124) { - _stbi__err(23304); - $$0 = 0; - return ($$0|0); - } - $125 = ((($g)) + 28|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($126|0)>(-1); - if ($127) { - $128 = HEAP32[$12>>2]|0; - $129 = $128 & 1; - $130 = ($129|0)==(0); - if ($130) { - $prev_trans$0 = -1; - } else { - $131 = (((((($g)) + 40|0) + ($126<<2)|0)) + 3|0); - $132 = HEAP8[$131>>0]|0; - $133 = $132&255; - HEAP8[$131>>0] = 0; - $prev_trans$0 = $133; - } - } else { - $prev_trans$0 = -1; - } - $134 = ((($g)) + 40|0); - $135 = ((($g)) + 18472|0); - HEAP32[$135>>2] = $134; - $prev_trans$1 = $prev_trans$0; - } else { - $111 = ((($g)) + 1064|0); - $112 = $108 & 7; - $113 = 2 << $112; - $114 = HEAP32[$12>>2]|0; - $115 = $114 & 1; - $116 = ($115|0)==(0); - if ($116) { - $119 = -1; - } else { - $117 = ((($g)) + 28|0); - $118 = HEAP32[$117>>2]|0; - $119 = $118; - } - _stbi__gif_parse_colortable($s,$111,$113,$119); - $120 = ((($g)) + 18472|0); - HEAP32[$120>>2] = $111; - $prev_trans$1 = -1; - } - $136 = (_stbi__process_gif_raster($s,$g)|0); - $137 = ($136|0)==(0|0); - if ($137) { - $$0 = 0; - return ($$0|0); - } - $138 = ($prev_trans$1|0)==(-1); - if ($138) { - $$0 = $136; - return ($$0|0); - } - $139 = $prev_trans$1&255; - $140 = ((($g)) + 28|0); - $141 = HEAP32[$140>>2]|0; - $142 = (((((($g)) + 40|0) + ($141<<2)|0)) + 3|0); - HEAP8[$142>>0] = $139; - $$0 = $136; - return ($$0|0); - } - } - _stbi__err(23283); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 45) { - $$0 = $s; - return ($$0|0); - } - else if ((label|0) == 46) { - _stbi__err(23324); - $$0 = 0; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_gif_background($g,$x0,$y0,$x1,$y1) { - $g = $g|0; - $x0 = $x0|0; - $y0 = $y0|0; - $x1 = $x1|0; - $y1 = $y1|0; - var $$sum = 0, $$sum1 = 0, $$sum2 = 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, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $x$03 = 0, $y$04 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($g)) + 20|0); - $1 = HEAP32[$0>>2]|0; - $2 = (((($g)) + 40|0) + ($1<<2)|0); - $3 = ($y0|0)<($y1|0); - if (!($3)) { - return; - } - $4 = ($x0|0)<($x1|0); - $5 = ((($g)) + 8|0); - $6 = (((((($g)) + 40|0) + ($1<<2)|0)) + 2|0); - $7 = (((((($g)) + 40|0) + ($1<<2)|0)) + 1|0); - $y$04 = $y0; - while(1) { - if ($4) { - $x$03 = $x0; - while(1) { - $8 = (($x$03) + ($y$04))|0; - $9 = HEAP32[$5>>2]|0; - $10 = (($9) + ($8)|0); - $11 = HEAP8[$6>>0]|0; - HEAP8[$10>>0] = $11; - $12 = HEAP8[$7>>0]|0; - $$sum = (($8) + 1)|0; - $13 = (($9) + ($$sum)|0); - HEAP8[$13>>0] = $12; - $14 = HEAP8[$2>>0]|0; - $$sum1 = (($8) + 2)|0; - $15 = (($9) + ($$sum1)|0); - HEAP8[$15>>0] = $14; - $$sum2 = (($8) + 3)|0; - $16 = (($9) + ($$sum2)|0); - HEAP8[$16>>0] = 0; - $17 = (($x$03) + 4)|0; - $18 = ($17|0)<($x1|0); - if ($18) { - $x$03 = $17; - } else { - break; - } - } - } - $19 = HEAP32[$g>>2]|0; - $20 = $19 << 2; - $21 = (($20) + ($y$04))|0; - $22 = ($21|0)<($y1|0); - if ($22) { - $y$04 = $21; - } else { - break; - } - } - return; -} -function _stbi__process_gif_raster($s,$g) { - $s = $s|0; - $g = $g|0; - var $$0 = 0, $$sink = 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; - 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, $avail$0$ph = 0; - var $avail$0$ph7 = 0, $avail$1 = 0, $bits$0$lcssa = 0, $bits$0$ph = 0, $bits$0$ph3 = 0, $bits$0$ph9 = 0, $bits$040 = 0, $codemask$0$ph = 0, $codemask$0$ph$in = 0, $codesize$0$ph = 0, $codesize$0$ph$in = 0, $first$0$ph = 0, $init_code$047 = 0, $len$0$lcssa = 0, $len$0$lcssa$lcssa169 = 0, $len$0$ph = 0, $len$0$ph11 = 0, $len$0$ph5 = 0, $len$042 = 0, $len$1 = 0; - var $oldcode$0$ph = 0, $oldcode$0$ph8 = 0, $or$cond = 0, $valid_bits$0$lcssa = 0, $valid_bits$0$ph = 0, $valid_bits$0$ph10 = 0, $valid_bits$0$ph4 = 0, $valid_bits$041 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = $0&255; - $2 = ($0&255)>(12); - if ($2) { - $$0 = 0; - return ($$0|0); - } - $3 = 1 << $1; - $init_code$047 = 0; - while(1) { - $4 = (((($g)) + 2088|0) + ($init_code$047<<2)|0); - HEAP16[$4>>1] = -1; - $5 = $init_code$047&255; - $6 = (((((($g)) + 2088|0) + ($init_code$047<<2)|0)) + 2|0); - HEAP8[$6>>0] = $5; - $7 = (((((($g)) + 2088|0) + ($init_code$047<<2)|0)) + 3|0); - HEAP8[$7>>0] = $5; - $8 = (($init_code$047) + 1)|0; - $9 = ($8|0)<($3|0); - if ($9) { - $init_code$047 = $8; - } else { - break; - } - } - $10 = (($3) + 2)|0; - $11 = (($3) + 1)|0; - $bits$0$ph = 0;$first$0$ph = 0;$len$0$ph = 0;$valid_bits$0$ph = 0; - L7: while(1) { - $avail$0$ph = $10;$bits$0$ph3 = $bits$0$ph;$codesize$0$ph$in = $1;$len$0$ph5 = $len$0$ph;$oldcode$0$ph = -1;$valid_bits$0$ph4 = $valid_bits$0$ph; - L9: while(1) { - $codesize$0$ph = (($codesize$0$ph$in) + 1)|0; - $codemask$0$ph$in = 1 << $codesize$0$ph; - $codemask$0$ph = (($codemask$0$ph$in) + -1)|0; - $avail$0$ph7 = $avail$0$ph;$bits$0$ph9 = $bits$0$ph3;$len$0$ph11 = $len$0$ph5;$oldcode$0$ph8 = $oldcode$0$ph;$valid_bits$0$ph10 = $valid_bits$0$ph4; - while(1) { - $12 = ($valid_bits$0$ph10|0)<($codesize$0$ph|0); - if ($12) { - $bits$040 = $bits$0$ph9;$len$042 = $len$0$ph11;$valid_bits$041 = $valid_bits$0$ph10; - while(1) { - $13 = ($len$042|0)==(0); - if ($13) { - $14 = (_stbi__get8($s)|0); - $15 = $14&255; - $16 = ($14<<24>>24)==(0); - if ($16) { - label = 10; - break L7; - } else { - $len$1 = $15; - } - } else { - $len$1 = $len$042; - } - $19 = (($len$1) + -1)|0; - $20 = (_stbi__get8($s)|0); - $21 = $20&255; - $22 = $21 << $valid_bits$041; - $23 = $22 | $bits$040; - $24 = (($valid_bits$041) + 8)|0; - $25 = ($24|0)<($codesize$0$ph|0); - if ($25) { - $bits$040 = $23;$len$042 = $19;$valid_bits$041 = $24; - } else { - $bits$0$lcssa = $23;$len$0$lcssa = $19;$valid_bits$0$lcssa = $24; - break; - } - } - } else { - $bits$0$lcssa = $bits$0$ph9;$len$0$lcssa = $len$0$ph11;$valid_bits$0$lcssa = $valid_bits$0$ph10; - } - $26 = $bits$0$lcssa & $codemask$0$ph; - $27 = $bits$0$lcssa >> $codesize$0$ph; - $28 = (($valid_bits$0$lcssa) - ($codesize$0$ph))|0; - $29 = ($26|0)==($3|0); - if ($29) { - $bits$0$ph = $27;$first$0$ph = 1;$len$0$ph = $len$0$lcssa;$valid_bits$0$ph = $28; - continue L7; - } - $30 = ($26|0)==($11|0); - if ($30) { - $len$0$lcssa$lcssa169 = $len$0$lcssa; - label = 14; - break L7; - } - $39 = ($26|0)>($avail$0$ph7|0); - if ($39) { - label = 29; - break L7; - } - if (!($first$0$ph)) { - label = 19; - break L7; - } - $40 = ($oldcode$0$ph8|0)>(-1); - if ($40) { - $41 = (($avail$0$ph7) + 1)|0; - $42 = ($avail$0$ph7|0)>(4095); - if ($42) { - label = 22; - break L7; - } - $43 = $oldcode$0$ph8&65535; - $44 = (((($g)) + 2088|0) + ($avail$0$ph7<<2)|0); - HEAP16[$44>>1] = $43; - $45 = (((((($g)) + 2088|0) + ($oldcode$0$ph8<<2)|0)) + 2|0); - $46 = HEAP8[$45>>0]|0; - $47 = (((((($g)) + 2088|0) + ($avail$0$ph7<<2)|0)) + 2|0); - HEAP8[$47>>0] = $46; - $48 = ($26|0)==($41|0); - if ($48) { - $$sink = $46; - } else { - $49 = (((((($g)) + 2088|0) + ($26<<2)|0)) + 2|0); - $50 = HEAP8[$49>>0]|0; - $$sink = $50; - } - $51 = (((((($g)) + 2088|0) + ($avail$0$ph7<<2)|0)) + 3|0); - HEAP8[$51>>0] = $$sink; - $avail$1 = $41; - } else { - $52 = ($26|0)==($avail$0$ph7|0); - if ($52) { - label = 27; - break L7; - } else { - $avail$1 = $avail$0$ph7; - } - } - $53 = $26&65535; - _stbi__out_gif_code($g,$53); - $54 = $avail$1 & $codemask$0$ph; - $55 = ($54|0)==(0); - $56 = ($avail$1|0)<(4096); - $or$cond = $56 & $55; - if ($or$cond) { - $avail$0$ph = $avail$1;$bits$0$ph3 = $27;$codesize$0$ph$in = $codesize$0$ph;$len$0$ph5 = $len$0$lcssa;$oldcode$0$ph = $26;$valid_bits$0$ph4 = $28; - continue L9; - } else { - $avail$0$ph7 = $avail$1;$bits$0$ph9 = $27;$len$0$ph11 = $len$0$lcssa;$oldcode$0$ph8 = $26;$valid_bits$0$ph10 = $28; - } - } - } - } - if ((label|0) == 10) { - $17 = ((($g)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $$0 = $18; - return ($$0|0); - } - else if ((label|0) == 14) { - _stbi__skip($s,$len$0$lcssa$lcssa169); - $31 = (_stbi__get8($s)|0); - $32 = ($31<<24>>24)==(0); - if (!($32)) { - $34 = $31; - while(1) { - $33 = $34&255; - _stbi__skip($s,$33); - $35 = (_stbi__get8($s)|0); - $36 = ($35<<24>>24)==(0); - if ($36) { - break; - } else { - $34 = $35; - } - } - } - $37 = ((($g)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $$0 = $38; - return ($$0|0); - } - else if ((label|0) == 19) { - _stbi__err(23337); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 22) { - _stbi__err(23351); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 27) { - _stbi__err(23366); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 29) { - _stbi__err(23366); - $$0 = 0; - return ($$0|0); - } - return (0)|0; -} -function _stbi__out_gif_code($g,$code) { - $g = $g|0; - $code = $code|0; - var $$pr = 0, $$sum = 0, $$sum1 = 0, $$sum2 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 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; - 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, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $code&65535; - $1 = (((($g)) + 2088|0) + ($0<<2)|0); - $2 = HEAP16[$1>>1]|0; - $3 = ($2<<16>>16)>(-1); - if ($3) { - _stbi__out_gif_code($g,$2); - } - $4 = ((($g)) + 18508|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($g)) + 18500|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($5|0)<($7|0); - if (!($8)) { - return; - } - $9 = ((($g)) + 18504|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + ($5))|0; - $12 = ((($g)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = (((((($g)) + 2088|0) + ($0<<2)|0)) + 3|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = ((($g)) + 18472|0); - $19 = HEAP32[$18>>2]|0; - $$sum1 = $17 | 3; - $20 = (($19) + ($$sum1)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)<(0); - if ($22) { - $23 = (($19) + ($17)|0); - $24 = (($13) + ($11)|0); - $$sum2 = $17 | 2; - $25 = (($19) + ($$sum2)|0); - $26 = HEAP8[$25>>0]|0; - HEAP8[$24>>0] = $26; - $$sum3 = $17 | 1; - $27 = (($19) + ($$sum3)|0); - $28 = HEAP8[$27>>0]|0; - $$sum = (($11) + 1)|0; - $29 = (($13) + ($$sum)|0); - HEAP8[$29>>0] = $28; - $30 = HEAP8[$23>>0]|0; - $$sum4 = (($11) + 2)|0; - $31 = (($13) + ($$sum4)|0); - HEAP8[$31>>0] = $30; - $32 = HEAP8[$20>>0]|0; - $$sum5 = (($11) + 3)|0; - $33 = (($13) + ($$sum5)|0); - HEAP8[$33>>0] = $32; - } - $34 = HEAP32[$9>>2]|0; - $35 = (($34) + 4)|0; - HEAP32[$9>>2] = $35; - $36 = ((($g)) + 18496|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($35|0)<($37|0); - if ($38) { - return; - } - $39 = ((($g)) + 18488|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$9>>2] = $40; - $41 = ((($g)) + 18480|0); - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$4>>2]|0; - $44 = (($43) + ($42))|0; - HEAP32[$4>>2] = $44; - $45 = ((($g)) + 18476|0); - $46 = HEAP32[$6>>2]|0; - $47 = ($44|0)<($46|0); - if ($47) { - return; - } - $48 = ((($g)) + 18512|0); - $49 = ((($g)) + 18492|0); - $$pr = HEAP32[$45>>2]|0; - $50 = $$pr; - while(1) { - $51 = ($50|0)>(0); - if (!($51)) { - label = 11; - break; - } - $52 = HEAP32[$48>>2]|0; - $53 = $52 << $50; - HEAP32[$41>>2] = $53; - $54 = HEAP32[$49>>2]|0; - $55 = $53 >> 1; - $56 = (($55) + ($54))|0; - HEAP32[$4>>2] = $56; - $57 = HEAP32[$45>>2]|0; - $58 = (($57) + -1)|0; - HEAP32[$45>>2] = $58; - $59 = HEAP32[$4>>2]|0; - $60 = HEAP32[$6>>2]|0; - $61 = ($59|0)<($60|0); - if ($61) { - label = 11; - break; - } else { - $50 = $58; - } - } - if ((label|0) == 11) { - return; - } -} -function _stbi__gif_test_raw($s) { - $s = $s|0; - var $$ = 0, $$0 = 0, $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; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(71); - L1: do { - if ($1) { - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(73); - if ($3) { - $4 = (_stbi__get8($s)|0); - $5 = ($4<<24>>24)==(70); - if ($5) { - $6 = (_stbi__get8($s)|0); - $7 = ($6<<24>>24)==(56); - if ($7) { - $8 = (_stbi__get8($s)|0); - switch ($8<<24>>24) { - case 55: case 57: { - break; - } - default: { - $$0 = 0; - break L1; - } - } - $9 = (_stbi__get8($s)|0); - $10 = ($9<<24>>24)==(97); - $$ = $10&1; - $$0 = $$; - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } else { - $$0 = 0; - } - } while(0); - return ($$0|0); -} -function _stbi__high_bit($z) { - $z = $z|0; - var $$ = 0, $$01 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$n$3 = 0, $$z = 0, $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; - var $9 = 0, $n$1 = 0, $n$2 = 0, $n$3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($z|0)==(0); - if ($0) { - $$01 = -1; - return ($$01|0); - } - $1 = ($z>>>0)>(65535); - $2 = $z >>> 16; - $$z = $1 ? $2 : $z; - $$ = $1 ? 16 : 0; - $3 = ($$z>>>0)>(255); - $4 = $$ | 8; - $5 = $$z >>> 8; - $$1 = $3 ? $5 : $$z; - $n$1 = $3 ? $4 : $$; - $6 = ($$1>>>0)>(15); - $7 = $n$1 | 4; - $8 = $$1 >>> 4; - $$2 = $6 ? $8 : $$1; - $n$2 = $6 ? $7 : $n$1; - $9 = ($$2>>>0)>(3); - $10 = $n$2 | 2; - $11 = $$2 >>> 2; - $$3 = $9 ? $11 : $$2; - $n$3 = $9 ? $10 : $n$2; - $12 = ($$3>>>0)>(1); - $13 = $12&1; - $$n$3 = (($13) + ($n$3))|0; - $$01 = $$n$3; - return ($$01|0); -} -function _stbi__bitcount($a) { - $a = $a|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; - $0 = $a & 1431655765; - $1 = $a >>> 1; - $2 = $1 & 1431655765; - $3 = (($2) + ($0))|0; - $4 = $3 & 858993459; - $5 = $3 >>> 2; - $6 = $5 & 858993459; - $7 = (($6) + ($4))|0; - $8 = $7 >>> 4; - $9 = (($8) + ($7))|0; - $10 = $9 & 252645135; - $11 = $10 >>> 8; - $12 = (($11) + ($10))|0; - $13 = $12 >>> 16; - $14 = (($13) + ($12))|0; - $15 = $14 & 255; - return ($15|0); -} -function _stbi__shiftsigned($v,$shift,$bits) { - $v = $v|0; - $shift = $shift|0; - $bits = $bits|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $result$0$lcssa = 0, $result$01 = 0, $z$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($shift|0)<(0); - $1 = (0 - ($shift))|0; - $2 = $v << $1; - $3 = $v >> $shift; - $$0 = $0 ? $2 : $3; - $4 = ($bits|0)<(8); - if ($4) { - $result$01 = $$0;$z$02 = $bits; - } else { - $result$0$lcssa = $$0; - return ($result$0$lcssa|0); - } - while(1) { - $5 = $$0 >> $z$02; - $6 = (($5) + ($result$01))|0; - $7 = (($z$02) + ($bits))|0; - $8 = ($7|0)<(8); - if ($8) { - $result$01 = $6;$z$02 = $7; - } else { - $result$0$lcssa = $6; - break; - } - } - return ($result$0$lcssa|0); -} -function _stbi__bmp_test_raw($s) { - $s = $s|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_stbi__get8($s)|0); - $1 = ($0<<24>>24)==(66); - if (!($1)) { - $$0 = 0; - return ($$0|0); - } - $2 = (_stbi__get8($s)|0); - $3 = ($2<<24>>24)==(77); - if (!($3)) { - $$0 = 0; - return ($$0|0); - } - (_stbi__get32le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get16le($s)|0); - (_stbi__get32le($s)|0); - $4 = (_stbi__get32le($s)|0); - switch ($4|0) { - case 124: case 12: case 40: case 56: case 108: { - $$0 = 1; - return ($$0|0); - break; - } - default: { - } - } - $$0 = 0; - return ($$0|0); -} -function _stbi__do_png($p,$x,$y,$n,$req_comp) { - $p = $p|0; - $x = $x|0; - $y = $y|0; - $n = $n|0; - $req_comp = $req_comp|0; - 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $result$0 = 0, $result$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($req_comp>>>0)>(4); - if ($0) { - _stbi__err(23415); - $$0 = 0; - return ($$0|0); - } - $1 = (_stbi__parse_png_file($p,0,$req_comp)|0); - $2 = ($1|0)==(0); - if ($2) { - $result$1 = 0; - } else { - $3 = ((($p)) + 12|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$3>>2] = 0; - $5 = ($req_comp|0)==(0); - if ($5) { - $result$0 = $4; - } else { - $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($req_comp|0); - if ($9) { - $result$0 = $4; - } else { - $10 = HEAP32[$6>>2]|0; - $11 = ((($6)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_stbi__convert_format($4,$8,$req_comp,$10,$12)|0); - $14 = HEAP32[$p>>2]|0; - $15 = ((($14)) + 12|0); - HEAP32[$15>>2] = $req_comp; - $16 = ($13|0)==(0|0); - if ($16) { - $$0 = 0; - return ($$0|0); - } else { - $result$0 = $13; - } - } - } - $17 = HEAP32[$p>>2]|0; - $18 = HEAP32[$17>>2]|0; - HEAP32[$x>>2] = $18; - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 4|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$y>>2] = $21; - $22 = ($n|0)==(0|0); - if ($22) { - $result$1 = $result$0; - } else { - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[$n>>2] = $25; - $result$1 = $result$0; - } - } - $26 = ((($p)) + 12|0); - $27 = HEAP32[$26>>2]|0; - _free($27); - HEAP32[$26>>2] = 0; - $28 = ((($p)) + 8|0); - $29 = HEAP32[$28>>2]|0; - _free($29); - HEAP32[$28>>2] = 0; - $30 = ((($p)) + 4|0); - $31 = HEAP32[$30>>2]|0; - _free($31); - HEAP32[$30>>2] = 0; - $$0 = $result$1; - return ($$0|0); -} -function _stbi__setup_jpeg($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18176|0); - HEAP32[$0>>2] = 2; - $1 = ((($j)) + 18180|0); - HEAP32[$1>>2] = 1; - $2 = ((($j)) + 18184|0); - HEAP32[$2>>2] = 1; - return; -} -function _load_jpeg_image($z,$out_x,$out_y,$comp,$req_comp) { - $z = $z|0; - $out_x = $out_x|0; - $out_y = $out_y|0; - $comp = $comp|0; - $req_comp = $req_comp|0; - var $$ = 0, $$0 = 0, $$1 = 0, $$in = 0, $$in4 = 0, $$pr = 0, $$pr5 = 0, $$sum = 0, $0 = 0, $1 = 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 $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, $coutput = 0, $exitcond = 0, $i$018 = 0, $i$115 = 0, $i$213 = 0, $j$020 = 0, $k$023 = 0, $k$111 = 0, $or$cond3 = 0, $out$017 = 0, $out$112 = 0; - var $res_comp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $coutput = sp + 128|0; - $res_comp = sp; - $0 = HEAP32[$z>>2]|0; - $1 = ((($0)) + 8|0); - HEAP32[$1>>2] = 0; - $2 = ($req_comp>>>0)>(4); - if ($2) { - _stbi__err(23415); - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $3 = (_stbi__decode_jpeg_image($z)|0); - $4 = ($3|0)==(0); - if ($4) { - _stbi__cleanup_jpeg($z); - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $5 = ($req_comp|0)==(0); - if ($5) { - $6 = HEAP32[$z>>2]|0; - $7 = ((($6)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $13 = $8; - } else { - $13 = $req_comp; - } - $9 = HEAP32[$z>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(3); - $14 = ($13|0)<(3); - $or$cond3 = $14 & $12; - $$ = $or$cond3 ? 1 : $11; - $15 = ($$|0)>(0); - L12: do { - if ($15) { - $16 = ((($z)) + 17796|0); - $17 = ((($z)) + 17800|0); - $18 = ((($z)) + 18184|0); - $k$023 = 0; - while(1) { - $19 = (($res_comp) + ($k$023<<5)|0); - $20 = HEAP32[$z>>2]|0; - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + 3)|0; - $23 = (_stbi__malloc($22)|0); - $24 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 56|0); - HEAP32[$24>>2] = $23; - $25 = ($23|0)==(0|0); - if ($25) { - break; - } - $26 = HEAP32[$16>>2]|0; - $27 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 4|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($26|0) / ($28|0))&-1; - $30 = (((($res_comp) + ($k$023<<5)|0)) + 12|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$17>>2]|0; - $32 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 8|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($31|0) / ($33|0))&-1; - $35 = (((($res_comp) + ($k$023<<5)|0)) + 16|0); - HEAP32[$35>>2] = $34; - $36 = $34 >> 1; - $37 = (((($res_comp) + ($k$023<<5)|0)) + 24|0); - HEAP32[$37>>2] = $36; - $38 = HEAP32[$z>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$30>>2]|0; - $41 = (($39) + -1)|0; - $42 = (($41) + ($40))|0; - $43 = (($42>>>0) / ($40>>>0))&-1; - $44 = (((($res_comp) + ($k$023<<5)|0)) + 20|0); - HEAP32[$44>>2] = $43; - $45 = (((($res_comp) + ($k$023<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (((((($z)) + 17820|0) + (($k$023*72)|0)|0)) + 44|0); - $47 = HEAP32[$46>>2]|0; - $48 = (((($res_comp) + ($k$023<<5)|0)) + 8|0); - HEAP32[$48>>2] = $47; - $49 = (((($res_comp) + ($k$023<<5)|0)) + 4|0); - HEAP32[$49>>2] = $47; - $50 = HEAP32[$30>>2]|0; - $51 = ($50|0)==(1); - do { - if ($51) { - $52 = HEAP32[$35>>2]|0; - $53 = ($52|0)==(1); - if ($53) { - HEAP32[$19>>2] = 2; - break; - } - $$pr = HEAP32[$30>>2]|0; - $54 = ($$pr|0)==(1); - if ($54) { - $55 = HEAP32[$35>>2]|0; - $56 = ($55|0)==(2); - if ($56) { - HEAP32[$19>>2] = 3; - } else { - label = 17; - } - } else { - $57 = $$pr; - label = 18; - } - } else { - label = 17; - } - } while(0); - if ((label|0) == 17) { - label = 0; - $$pr5 = HEAP32[$30>>2]|0; - $57 = $$pr5; - label = 18; - } - do { - if ((label|0) == 18) { - label = 0; - $58 = ($57|0)==(2); - if ($58) { - $59 = HEAP32[$35>>2]|0; - $60 = ($59|0)==(1); - if ($60) { - HEAP32[$19>>2] = 4; - break; - } - } - $61 = HEAP32[$30>>2]|0; - $62 = ($61|0)==(2); - if ($62) { - $63 = HEAP32[$35>>2]|0; - $64 = ($63|0)==(2); - if ($64) { - $65 = HEAP32[$18>>2]|0; - HEAP32[$19>>2] = $65; - break; - } - } - HEAP32[$19>>2] = 5; - } - } while(0); - $66 = (($k$023) + 1)|0; - $67 = ($66|0)<($$|0); - if ($67) { - $k$023 = $66; - } else { - label = 26; - break L12; - } - } - _stbi__cleanup_jpeg($z); - _stbi__err(21769); - $$0 = 0; - } else { - label = 26; - } - } while(0); - do { - if ((label|0) == 26) { - $68 = HEAP32[$z>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = Math_imul($69, $13)|0; - $71 = ((($68)) + 4|0); - $72 = HEAP32[$71>>2]|0; - $73 = Math_imul($70, $72)|0; - $74 = (($73) + 1)|0; - $75 = (_stbi__malloc($74)|0); - $76 = ($75|0)==(0|0); - if ($76) { - _stbi__cleanup_jpeg($z); - _stbi__err(21769); - $$0 = 0; - break; - } - $77 = HEAP32[$z>>2]|0; - $78 = ((($77)) + 4|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)==(0); - if (!($80)) { - $81 = ($$|0)>(0); - $82 = ($13|0)>(2); - $83 = ((($z)) + 18180|0); - $84 = ((($coutput)) + 4|0); - $85 = ((($coutput)) + 8|0); - $86 = ($13|0)==(1); - $88 = $77;$j$020 = 0; - while(1) { - $87 = HEAP32[$88>>2]|0; - $89 = Math_imul($j$020, $13)|0; - $90 = Math_imul($89, $87)|0; - $91 = (($75) + ($90)|0); - if ($81) { - $k$111 = 0; - while(1) { - $92 = (((($res_comp) + ($k$111<<5)|0)) + 24|0); - $93 = HEAP32[$92>>2]|0; - $94 = (((($res_comp) + ($k$111<<5)|0)) + 16|0); - $95 = HEAP32[$94>>2]|0; - $96 = $95 >> 1; - $97 = ($93|0)>=($96|0); - $98 = (($res_comp) + ($k$111<<5)|0); - $99 = HEAP32[$98>>2]|0; - $100 = (((((($z)) + 17820|0) + (($k$111*72)|0)|0)) + 56|0); - $101 = HEAP32[$100>>2]|0; - $102 = (((($res_comp) + ($k$111<<5)|0)) + 8|0); - $103 = (((($res_comp) + ($k$111<<5)|0)) + 4|0); - $$in = $97 ? $102 : $103; - $104 = HEAP32[$$in>>2]|0; - $$in4 = $97 ? $103 : $102; - $105 = HEAP32[$$in4>>2]|0; - $106 = (((($res_comp) + ($k$111<<5)|0)) + 20|0); - $107 = HEAP32[$106>>2]|0; - $108 = (((($res_comp) + ($k$111<<5)|0)) + 12|0); - $109 = HEAP32[$108>>2]|0; - $110 = (FUNCTION_TABLE_iiiiii[$99 & 7]($101,$104,$105,$107,$109)|0); - $111 = (($coutput) + ($k$111<<2)|0); - HEAP32[$111>>2] = $110; - $112 = HEAP32[$92>>2]|0; - $113 = (($112) + 1)|0; - HEAP32[$92>>2] = $113; - $114 = HEAP32[$94>>2]|0; - $115 = ($113|0)<($114|0); - if (!($115)) { - HEAP32[$92>>2] = 0; - $116 = HEAP32[$102>>2]|0; - HEAP32[$103>>2] = $116; - $117 = (((($res_comp) + ($k$111<<5)|0)) + 28|0); - $118 = HEAP32[$117>>2]|0; - $119 = (($118) + 1)|0; - HEAP32[$117>>2] = $119; - $120 = (((((($z)) + 17820|0) + (($k$111*72)|0)|0)) + 32|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($119|0)<($121|0); - if ($122) { - $123 = (((((($z)) + 17820|0) + (($k$111*72)|0)|0)) + 36|0); - $124 = HEAP32[$123>>2]|0; - $125 = HEAP32[$102>>2]|0; - $126 = (($125) + ($124)|0); - HEAP32[$102>>2] = $126; - } - } - $127 = (($k$111) + 1)|0; - $exitcond = ($127|0)==($$|0); - if ($exitcond) { - break; - } else { - $k$111 = $127; - } - } - } - $128 = HEAP32[$coutput>>2]|0; - $129 = HEAP32[$z>>2]|0; - do { - if ($82) { - $130 = ((($129)) + 8|0); - $131 = HEAP32[$130>>2]|0; - $132 = ($131|0)==(3); - if ($132) { - $136 = HEAP32[$83>>2]|0; - $137 = HEAP32[$84>>2]|0; - $138 = HEAP32[$85>>2]|0; - $139 = HEAP32[$129>>2]|0; - FUNCTION_TABLE_viiiiii[$136 & 3]($91,$128,$137,$138,$139,$13); - break; - } - $133 = HEAP32[$z>>2]|0; - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)==(0); - if (!($135)) { - $i$018 = 0;$out$017 = $91; - while(1) { - $140 = (($128) + ($i$018)|0); - $141 = HEAP8[$140>>0]|0; - $142 = ((($out$017)) + 2|0); - HEAP8[$142>>0] = $141; - $143 = ((($out$017)) + 1|0); - HEAP8[$143>>0] = $141; - HEAP8[$out$017>>0] = $141; - $144 = ((($out$017)) + 3|0); - HEAP8[$144>>0] = -1; - $145 = (($out$017) + ($13)|0); - $146 = (($i$018) + 1)|0; - $147 = HEAP32[$z>>2]|0; - $148 = HEAP32[$147>>2]|0; - $149 = ($146>>>0)<($148>>>0); - if ($149) { - $i$018 = $146;$out$017 = $145; - } else { - break; - } - } - } - } else { - $150 = HEAP32[$129>>2]|0; - $151 = ($150|0)==(0); - if ($86) { - if ($151) { - break; - } else { - $i$115 = 0; - } - while(1) { - $152 = (($128) + ($i$115)|0); - $153 = HEAP8[$152>>0]|0; - $$sum = (($i$115) + ($90))|0; - $154 = (($75) + ($$sum)|0); - HEAP8[$154>>0] = $153; - $155 = (($i$115) + 1)|0; - $156 = HEAP32[$z>>2]|0; - $157 = HEAP32[$156>>2]|0; - $158 = ($155>>>0)<($157>>>0); - if ($158) { - $i$115 = $155; - } else { - break; - } - } - } else { - if ($151) { - break; - } else { - $i$213 = 0;$out$112 = $91; - } - while(1) { - $159 = (($128) + ($i$213)|0); - $160 = HEAP8[$159>>0]|0; - $161 = ((($out$112)) + 1|0); - HEAP8[$out$112>>0] = $160; - $162 = ((($out$112)) + 2|0); - HEAP8[$161>>0] = -1; - $163 = (($i$213) + 1)|0; - $164 = HEAP32[$z>>2]|0; - $165 = HEAP32[$164>>2]|0; - $166 = ($163>>>0)<($165>>>0); - if ($166) { - $i$213 = $163;$out$112 = $162; - } else { - break; - } - } - } - } - } while(0); - $167 = (($j$020) + 1)|0; - $168 = HEAP32[$z>>2]|0; - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($167>>>0)<($170>>>0); - if ($171) { - $88 = $168;$j$020 = $167; - } else { - break; - } - } - } - _stbi__cleanup_jpeg($z); - $172 = HEAP32[$z>>2]|0; - $173 = HEAP32[$172>>2]|0; - HEAP32[$out_x>>2] = $173; - $174 = HEAP32[$z>>2]|0; - $175 = ((($174)) + 4|0); - $176 = HEAP32[$175>>2]|0; - HEAP32[$out_y>>2] = $176; - $177 = ($comp|0)==(0|0); - if ($177) { - $$0 = $75; - } else { - $178 = HEAP32[$z>>2]|0; - $179 = ((($178)) + 8|0); - $180 = HEAP32[$179>>2]|0; - HEAP32[$comp>>2] = $180; - $$0 = $75; - } - } - } while(0); - $$1 = $$0; - STACKTOP = sp;return ($$1|0); -} -function _stbi__decode_jpeg_image($j) { - $j = $j|0; - var $$0 = 0, $$sink = 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; - 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, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 17868|0); - HEAP32[$0>>2] = 0; - $1 = ((($j)) + 17872|0); - HEAP32[$1>>2] = 0; - $2 = ((($j)) + 17940|0); - HEAP32[$2>>2] = 0; - $3 = ((($j)) + 17944|0); - HEAP32[$3>>2] = 0; - $4 = ((($j)) + 18012|0); - HEAP32[$4>>2] = 0; - $5 = ((($j)) + 18016|0); - HEAP32[$5>>2] = 0; - $6 = ((($j)) + 18084|0); - HEAP32[$6>>2] = 0; - $7 = ((($j)) + 18088|0); - HEAP32[$7>>2] = 0; - $8 = ((($j)) + 18168|0); - HEAP32[$8>>2] = 0; - $9 = (_stbi__decode_jpeg_header($j,0)|0); - $10 = ($9|0)==(0); - if ($10) { - $$0 = 0; - return ($$0|0); - } - $11 = (_stbi__get_marker($j)|0); - $12 = ((($j)) + 18116|0); - $$sink = $11; - L4: while(1) { - $13 = $$sink&255; - L6: do { - switch ($13|0) { - case 217: { - label = 13; - break L4; - break; - } - case 218: { - $14 = (_stbi__process_scan_header($j)|0); - $15 = ($14|0)==(0); - if ($15) { - $$0 = 0; - label = 15; - break L4; - } - $16 = (_stbi__parse_entropy_coded_data($j)|0); - $17 = ($16|0)==(0); - if ($17) { - $$0 = 0; - label = 15; - break L4; - } - $18 = HEAP8[$12>>0]|0; - $19 = ($18<<24>>24)==(-1); - if ($19) { - L11: while(1) { - $20 = HEAP32[$j>>2]|0; - $21 = (_stbi__at_eof($20)|0); - $22 = ($21|0)==(0); - if (!($22)) { - break L6; - } - $23 = HEAP32[$j>>2]|0; - $24 = (_stbi__get8($23)|0); - switch ($24<<24>>24) { - case 0: { - break; - } - case -1: { - break L11; - break; - } - default: { - label = 10; - break L4; - } - } - } - $25 = HEAP32[$j>>2]|0; - $26 = (_stbi__get8($25)|0); - HEAP8[$12>>0] = $26; - } + case 32: { + $12 = ((($4)) + 12|0); + HEAP32[$12>>2] = 65552; + $26 = $55; + break L10; break; } default: { - $27 = (_stbi__process_marker($j,$13)|0); - $28 = ($27|0)==(0); - if ($28) { - $$0 = 0; - label = 15; - break L4; - } + HEAP32[$vararg_buffer1>>2] = $2; + _TraceLog(1,18816,$vararg_buffer1); + $26 = $55; + break L10; } } - } while(0); - $29 = (_stbi__get_marker($j)|0); - $$sink = $29; - } - if ((label|0) == 10) { - _stbi__err(23428); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 13) { - $30 = ((($j)) + 18124|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $$0 = 1; - return ($$0|0); - } - _stbi__jpeg_finish($j); - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 15) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__cleanup_jpeg($j) { - $j = $j|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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$j>>2]|0; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(0); - if ($3) { - $i$01 = 0; - } else { - return; - } - while(1) { - $4 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 48|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - _free($5); - HEAP32[$4>>2] = 0; - $7 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 44|0); - HEAP32[$7>>2] = 0; - } - $8 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 52|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - _free($9); - HEAP32[$8>>2] = 0; - $11 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 60|0); - HEAP32[$11>>2] = 0; - } - $12 = (((((($j)) + 17820|0) + (($i$01*72)|0)|0)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0|0); - if (!($14)) { - _free($13); - HEAP32[$12>>2] = 0; - } - $15 = (($i$01) + 1)|0; - $16 = HEAP32[$j>>2]|0; - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($15|0)<($18|0); - if ($19) { - $i$01 = $15; - } else { - break; - } - } - return; -} -function _resample_row_1($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($in_near|0); -} -function _stbi__resample_row_v_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - 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, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)>(0); - if ($0) { - $i$01 = 0; - } else { - return ($out|0); - } - while(1) { - $1 = (($in_near) + ($i$01)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ($3*3)|0; - $5 = (($in_far) + ($i$01)|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = (($7) + 2)|0; - $9 = (($8) + ($4))|0; - $10 = $9 >>> 2; - $11 = $10&255; - $12 = (($out) + ($i$01)|0); - HEAP8[$12>>0] = $11; - $13 = (($i$01) + 1)|0; - $exitcond = ($13|0)==($w|0); - if ($exitcond) { - break; - } else { - $i$01 = $13; - } - } - return ($out|0); -} -function _stbi__resample_row_h_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$0$lcssa = 0, $i$01 = 0, $phitmp = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)==(1); - $1 = HEAP8[$in_near>>0]|0; - if ($0) { - $2 = ((($out)) + 1|0); - HEAP8[$2>>0] = $1; - HEAP8[$out>>0] = $1; - return ($out|0); - } - HEAP8[$out>>0] = $1; - $3 = HEAP8[$in_near>>0]|0; - $4 = $3&255; - $5 = ($4*3)|0; - $6 = ((($in_near)) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($8) + 2)|0; - $10 = (($9) + ($5))|0; - $11 = $10 >>> 2; - $12 = $11&255; - $13 = ((($out)) + 1|0); - HEAP8[$13>>0] = $12; - $14 = (($w) + -1)|0; - $15 = ($14|0)>(1); - if ($15) { - $16 = (($w) + -1)|0; - $i$01 = 1; - while(1) { - $17 = (($in_near) + ($i$01)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19*3)|0; - $21 = (($20) + 2)|0; - $22 = (($i$01) + -1)|0; - $23 = (($in_near) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = (($21) + ($25))|0; - $27 = $26 >>> 2; - $28 = $27&255; - $29 = $i$01 << 1; - $30 = (($out) + ($29)|0); - HEAP8[$30>>0] = $28; - $31 = (($i$01) + 1)|0; - $32 = (($in_near) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = (($21) + ($34))|0; - $36 = $35 >>> 2; - $37 = $36&255; - $38 = $29 | 1; - $39 = (($out) + ($38)|0); - HEAP8[$39>>0] = $37; - $exitcond = ($31|0)==($16|0); - if ($exitcond) { - break; - } else { - $i$01 = $31; - } - } - $phitmp = $16 << 1; - $i$0$lcssa = $phitmp; - } else { - $i$0$lcssa = 2; - } - $40 = (($w) + -2)|0; - $41 = (($in_near) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = $42&255; - $44 = ($43*3)|0; - $45 = (($in_near) + ($14)|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = (($47) + 2)|0; - $49 = (($48) + ($44))|0; - $50 = $49 >>> 2; - $51 = $50&255; - $52 = (($out) + ($i$0$lcssa)|0); - HEAP8[$52>>0] = $51; - $53 = HEAP8[$45>>0]|0; - $54 = $i$0$lcssa | 1; - $55 = (($out) + ($54)|0); - HEAP8[$55>>0] = $53; - return ($out|0); -} -function _stbi__resample_row_generic($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, $exitcond4 = 0, $i$02 = 0, $j$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)>(0); - if (!($0)) { - return ($out|0); - } - $1 = ($hs|0)>(0); - $i$02 = 0; - while(1) { - if ($1) { - $2 = (($in_near) + ($i$02)|0); - $3 = Math_imul($i$02, $hs)|0; - $j$01 = 0; - while(1) { - $4 = HEAP8[$2>>0]|0; - $5 = (($j$01) + ($3))|0; - $6 = (($out) + ($5)|0); - HEAP8[$6>>0] = $4; - $7 = (($j$01) + 1)|0; - $exitcond = ($7|0)==($hs|0); - if ($exitcond) { - break; - } else { - $j$01 = $7; - } - } - } - $8 = (($i$02) + 1)|0; - $exitcond4 = ($8|0)==($w|0); - if ($exitcond4) { - break; - } else { - $i$02 = $8; - } - } - return ($out|0); -} -function _stbi__process_scan_header($z) { - $z = $z|0; - var $$0 = 0, $$lcssa = 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; - 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, $9 = 0, $i$010 = 0, $or$cond1 = 0, $or$cond2 = 0, $which$0$lcssa = 0, $which$07 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[$z>>2]|0; - $1 = (_stbi__get16be($0)|0); - $2 = HEAP32[$z>>2]|0; - $3 = (_stbi__get8($2)|0); - $4 = $3&255; - $5 = ((($z)) + 18148|0); - HEAP32[$5>>2] = $4; - $6 = (($3) + -1)<<24>>24; - $7 = ($6&255)>(3); - if (!($7)) { - $8 = HEAP32[$z>>2]|0; - $9 = ((($8)) + 8|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($4|0)>($10|0); - if (!($11)) { - $12 = $4 << 1; - $13 = (($12) + 6)|0; - $14 = ($1|0)==($13|0); - if (!($14)) { - _stbi__err(23682); - $$0 = 0; - return ($$0|0); - } - $15 = HEAP32[$5>>2]|0; - $16 = ($15|0)>(0); - $17 = HEAP32[$z>>2]|0; - $18 = (_stbi__get8($17)|0); - $19 = $18&255; - L8: do { - if ($16) { - $30 = $19;$i$010 = 0; - while(1) { - $20 = HEAP32[$z>>2]|0; - $21 = (_stbi__get8($20)|0); - $22 = $21&255; - $23 = HEAP32[$z>>2]|0; - $24 = ((($23)) + 8|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)>(0); - L11: do { - if ($26) { - $which$07 = 0; - while(1) { - $27 = (((($z)) + 17820|0) + (($which$07*72)|0)|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($30|0); - if ($29) { - $which$0$lcssa = $which$07; - break L11; - } - $31 = (($which$07) + 1)|0; - $32 = HEAP32[$z>>2]|0; - $33 = ((($32)) + 8|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($31|0)<($34|0); - if ($35) { - $which$07 = $31; - } else { - $which$0$lcssa = $31; - break; - } - } - } else { - $which$0$lcssa = 0; - } - } while(0); - $36 = HEAP32[$z>>2]|0; - $37 = ((($36)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($which$0$lcssa|0)==($38|0); - if ($39) { - $$0 = 0; - label = 26; - break; - } - $40 = $22 >>> 4; - $41 = (((((($z)) + 17820|0) + (($which$0$lcssa*72)|0)|0)) + 16|0); - HEAP32[$41>>2] = $40; - $42 = ($21&255)>(63); - if ($42) { - label = 12; - break; - } - $43 = $22 & 15; - $44 = (((((($z)) + 17820|0) + (($which$0$lcssa*72)|0)|0)) + 20|0); - HEAP32[$44>>2] = $43; - $45 = ($43>>>0)>(3); - if ($45) { - label = 14; - break; - } - $46 = (((($z)) + 18152|0) + ($i$010<<2)|0); - HEAP32[$46>>2] = $which$0$lcssa; - $47 = (($i$010) + 1)|0; - $48 = HEAP32[$5>>2]|0; - $49 = ($47|0)<($48|0); - $50 = HEAP32[$z>>2]|0; - $51 = (_stbi__get8($50)|0); - $52 = $51&255; - if ($49) { - $30 = $52;$i$010 = $47; - } else { - $$lcssa = $52; - break L8; - } - } - if ((label|0) == 12) { - _stbi__err(23694); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 14) { - _stbi__err(23706); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 26) { - return ($$0|0); - } - } else { - $$lcssa = $19; - } - } while(0); - $53 = ((($z)) + 18128|0); - HEAP32[$53>>2] = $$lcssa; - $54 = HEAP32[$z>>2]|0; - $55 = (_stbi__get8($54)|0); - $56 = $55&255; - $57 = ((($z)) + 18132|0); - HEAP32[$57>>2] = $56; - $58 = HEAP32[$z>>2]|0; - $59 = (_stbi__get8($58)|0); - $60 = $59&255; - $61 = $60 >>> 4; - $62 = ((($z)) + 18136|0); - HEAP32[$62>>2] = $61; - $63 = $60 & 15; - $64 = ((($z)) + 18140|0); - HEAP32[$64>>2] = $63; - $65 = ((($z)) + 18124|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0); - $68 = HEAP32[$53>>2]|0; - if (!($67)) { - $69 = ($68|0)>(63); - if (!($69)) { - $70 = HEAP32[$57>>2]|0; - $71 = ($70|0)>(63); - $72 = ($68|0)>($70|0); - $or$cond1 = $71 | $72; - if (!($or$cond1)) { - $73 = HEAP32[$62>>2]|0; - $74 = ($73|0)>(13); - $75 = ($63>>>0)>(13); - $or$cond2 = $75 | $74; - if (!($or$cond2)) { - $$0 = 1; - return ($$0|0); - } - } - } - _stbi__err(23718); - $$0 = 0; - return ($$0|0); - } - $76 = ($68|0)==(0); - if (!($76)) { - _stbi__err(23718); - $$0 = 0; - return ($$0|0); - } - $77 = HEAP32[$62>>2]|0; - $78 = $77 | $63; - $79 = ($78|0)==(0); - if ($79) { - HEAP32[$57>>2] = 63; - $$0 = 1; - return ($$0|0); - } else { - _stbi__err(23718); - $$0 = 0; - return ($$0|0); - } - } - } - _stbi__err(23658); - $$0 = 0; - return ($$0|0); -} -function _stbi__parse_entropy_coded_data($z) { - $z = $z|0; - var $$0 = 0, $$1 = 0, $$2 = 0, $$sum1 = 0, $0 = 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; - 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, $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, $data = 0, $i$023 = 0, $i1$035 = 0, $i13$054 = 0; - var $i6$040 = 0, $j$024 = 0, $j14$057 = 0, $j2$038 = 0, $j7$043 = 0, $k$032 = 0, $k15$051 = 0, $tmp = 0, $tmp5 = 0, $x$026 = 0, $x16$045 = 0, $y$029 = 0, $y17$048 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $data = sp; - _stbi__jpeg_reset($z); - $0 = ((($z)) + 18124|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - $3 = ((($z)) + 18148|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(1); - if ($2) { - if ($5) { - $6 = ((($z)) + 18152|0); - $7 = HEAP32[$6>>2]|0; - $8 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 28|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 7)|0; - $11 = $10 >> 3; - $12 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 7)|0; - $15 = $14 >> 3; - $16 = ($15|0)>(0); - L5: do { - if ($16) { - $17 = ($11|0)>(0); - $18 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 20|0); - $19 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 16|0); - $20 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 12|0); - $21 = ((($z)) + 18176|0); - $22 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 44|0); - $23 = (((((($z)) + 17820|0) + (($7*72)|0)|0)) + 36|0); - $24 = ((($z)) + 18172|0); - $25 = ((($z)) + 18112|0); - $26 = ((($z)) + 18116|0); - $j$024 = 0; - while(1) { - if ($17) { - $i$023 = 0; - while(1) { - $27 = HEAP32[$18>>2]|0; - $28 = HEAP32[$19>>2]|0; - $29 = (((($z)) + 4|0) + (($28*1680)|0)|0); - $30 = (((($z)) + 6724|0) + (($27*1680)|0)|0); - $31 = (((($z)) + 13700|0) + ($27<<10)|0); - $32 = HEAP32[$20>>2]|0; - $33 = (((($z)) + 13444|0) + ($32<<6)|0); - $34 = (_stbi__jpeg_decode_block($z,$data,$29,$30,$31,$7,$33)|0); - $35 = ($34|0)==(0); - if ($35) { - $$0 = 0; - break L5; - } - $36 = HEAP32[$21>>2]|0; - $37 = HEAP32[$22>>2]|0; - $38 = HEAP32[$23>>2]|0; - $39 = Math_imul($38, $j$024)|0; - $40 = (($39) + ($i$023))|0; - $$sum1 = $40 << 3; - $41 = (($37) + ($$sum1)|0); - FUNCTION_TABLE_viii[$36 & 31]($41,$38,$data); - $42 = HEAP32[$24>>2]|0; - $43 = (($42) + -1)|0; - HEAP32[$24>>2] = $43; - $44 = ($42|0)<(2); - if ($44) { - $45 = HEAP32[$25>>2]|0; - $46 = ($45|0)<(24); - if ($46) { - _stbi__grow_buffer_unsafe($z); - } - $47 = HEAP8[$26>>0]|0; - $48 = $47 & -8; - $49 = ($48<<24>>24)==(-48); - if (!($49)) { - $$0 = 1; - break L5; - } - _stbi__jpeg_reset($z); - } - $50 = (($i$023) + 1)|0; - $51 = ($50|0)<($11|0); - if ($51) { - $i$023 = $50; - } else { - break; - } - } - } - $52 = (($j$024) + 1)|0; - $53 = ($52|0)<($15|0); - if ($53) { - $j$024 = $52; - } else { - $$0 = 1; - break; - } - } - } else { - $$0 = 1; - } - } while(0); - $$2 = $$0; - STACKTOP = sp;return ($$2|0); - } - $54 = ((($z)) + 17808|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)>(0); - L24: do { - if ($56) { - $57 = ((($z)) + 17804|0); - $58 = ((($z)) + 18172|0); - $59 = ((($z)) + 18112|0); - $60 = ((($z)) + 18116|0); - $61 = ((($z)) + 18176|0); - $j2$038 = 0; - while(1) { - $62 = HEAP32[$57>>2]|0; - $63 = ($62|0)>(0); - if ($63) { - $i1$035 = 0; - while(1) { - $64 = HEAP32[$3>>2]|0; - $65 = ($64|0)>(0); - if ($65) { - $k$032 = 0; - while(1) { - $66 = (((($z)) + 18152|0) + ($k$032<<2)|0); - $67 = HEAP32[$66>>2]|0; - $68 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 8|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)>(0); - if ($70) { - $71 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 4|0); - $72 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 20|0); - $73 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 16|0); - $74 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 12|0); - $75 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 44|0); - $76 = (((((($z)) + 17820|0) + (($67*72)|0)|0)) + 36|0); - $y$029 = 0; - while(1) { - $77 = HEAP32[$71>>2]|0; - $78 = ($77|0)>(0); - if ($78) { - $92 = $77;$x$026 = 0; - while(1) { - $79 = HEAP32[$68>>2]|0; - $80 = HEAP32[$72>>2]|0; - $81 = HEAP32[$73>>2]|0; - $82 = (((($z)) + 4|0) + (($81*1680)|0)|0); - $83 = (((($z)) + 6724|0) + (($80*1680)|0)|0); - $84 = (((($z)) + 13700|0) + ($80<<10)|0); - $85 = HEAP32[$74>>2]|0; - $86 = (((($z)) + 13444|0) + ($85<<6)|0); - $87 = (_stbi__jpeg_decode_block($z,$data,$82,$83,$84,$67,$86)|0); - $88 = ($87|0)==(0); - if ($88) { - $$1 = 0; - break L24; - } - $89 = Math_imul($79, $j2$038)|0; - $90 = (($89) + ($y$029))|0; - $91 = Math_imul($92, $i1$035)|0; - $93 = (($91) + ($x$026))|0; - $94 = HEAP32[$61>>2]|0; - $95 = HEAP32[$75>>2]|0; - $96 = HEAP32[$76>>2]|0; - $97 = Math_imul($96, $90)|0; - $tmp = (($93) + ($97))|0; - $tmp5 = $tmp << 3; - $98 = (($95) + ($tmp5)|0); - FUNCTION_TABLE_viii[$94 & 31]($98,$96,$data); - $99 = (($x$026) + 1)|0; - $100 = HEAP32[$71>>2]|0; - $101 = ($99|0)<($100|0); - if ($101) { - $92 = $100;$x$026 = $99; - } else { - break; - } - } - } - $102 = (($y$029) + 1)|0; - $103 = HEAP32[$68>>2]|0; - $104 = ($102|0)<($103|0); - if ($104) { - $y$029 = $102; - } else { - break; - } - } - } - $105 = (($k$032) + 1)|0; - $106 = HEAP32[$3>>2]|0; - $107 = ($105|0)<($106|0); - if ($107) { - $k$032 = $105; - } else { - break; - } - } - } - $108 = HEAP32[$58>>2]|0; - $109 = (($108) + -1)|0; - HEAP32[$58>>2] = $109; - $110 = ($108|0)<(2); - if ($110) { - $111 = HEAP32[$59>>2]|0; - $112 = ($111|0)<(24); - if ($112) { - _stbi__grow_buffer_unsafe($z); - } - $113 = HEAP8[$60>>0]|0; - $114 = $113 & -8; - $115 = ($114<<24>>24)==(-48); - if (!($115)) { - $$1 = 1; - break L24; - } - _stbi__jpeg_reset($z); - } - $116 = (($i1$035) + 1)|0; - $117 = HEAP32[$57>>2]|0; - $118 = ($116|0)<($117|0); - if ($118) { - $i1$035 = $116; - } else { - break; - } - } - } - $119 = (($j2$038) + 1)|0; - $120 = HEAP32[$54>>2]|0; - $121 = ($119|0)<($120|0); - if ($121) { - $j2$038 = $119; - } else { - $$1 = 1; - break; - } - } - } else { - $$1 = 1; - } - } while(0); - $$2 = $$1; - STACKTOP = sp;return ($$2|0); - } - if ($5) { - $129 = ((($z)) + 18152|0); - $130 = HEAP32[$129>>2]|0; - $131 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 28|0); - $132 = HEAP32[$131>>2]|0; - $133 = (($132) + 7)|0; - $134 = $133 >> 3; - $135 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 32|0); - $136 = HEAP32[$135>>2]|0; - $137 = (($136) + 7)|0; - $138 = $137 >> 3; - $139 = ($138|0)>(0); - if (!($139)) { - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - $140 = ($134|0)>(0); - $141 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 60|0); - $142 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 64|0); - $143 = ((($z)) + 18128|0); - $144 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 16|0); - $145 = ((($z)) + 18172|0); - $146 = ((($z)) + 18112|0); - $147 = ((($z)) + 18116|0); - $148 = (((((($z)) + 17820|0) + (($130*72)|0)|0)) + 20|0); - $j7$043 = 0; - L61: while(1) { - if ($140) { - $i6$040 = 0; - while(1) { - $149 = HEAP32[$141>>2]|0; - $150 = HEAP32[$142>>2]|0; - $151 = Math_imul($150, $j7$043)|0; - $152 = (($151) + ($i6$040))|0; - $153 = $152 << 6; - $154 = (($149) + ($153<<1)|0); - $155 = HEAP32[$143>>2]|0; - $156 = ($155|0)==(0); - if ($156) { - $157 = HEAP32[$144>>2]|0; - $158 = (((($z)) + 4|0) + (($157*1680)|0)|0); - $159 = (_stbi__jpeg_decode_block_prog_dc($z,$154,$158,$130)|0); - $160 = ($159|0)==(0); - if ($160) { - $$2 = 0; - label = 66; - break L61; - } - } else { - $161 = HEAP32[$148>>2]|0; - $162 = (((($z)) + 6724|0) + (($161*1680)|0)|0); - $163 = (((($z)) + 13700|0) + ($161<<10)|0); - $164 = (_stbi__jpeg_decode_block_prog_ac($z,$154,$162,$163)|0); - $165 = ($164|0)==(0); - if ($165) { - $$2 = 0; - label = 66; - break L61; - } - } - $166 = HEAP32[$145>>2]|0; - $167 = (($166) + -1)|0; - HEAP32[$145>>2] = $167; - $168 = ($166|0)<(2); - if ($168) { - $169 = HEAP32[$146>>2]|0; - $170 = ($169|0)<(24); - if ($170) { - _stbi__grow_buffer_unsafe($z); - } - $171 = HEAP8[$147>>0]|0; - $172 = $171 & -8; - $173 = ($172<<24>>24)==(-48); - if (!($173)) { - $$2 = 1; - label = 66; - break L61; - } - _stbi__jpeg_reset($z); - } - $174 = (($i6$040) + 1)|0; - $175 = ($174|0)<($134|0); - if ($175) { - $i6$040 = $174; - } else { - break; - } - } - } - $176 = (($j7$043) + 1)|0; - $177 = ($176|0)<($138|0); - if ($177) { - $j7$043 = $176; - } else { - $$2 = 1; - label = 66; - break; - } - } - if ((label|0) == 66) { - STACKTOP = sp;return ($$2|0); - } - } - $122 = ((($z)) + 17808|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($123|0)>(0); - if (!($124)) { - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - $125 = ((($z)) + 17804|0); - $126 = ((($z)) + 18172|0); - $127 = ((($z)) + 18112|0); - $128 = ((($z)) + 18116|0); - $j14$057 = 0; - L87: while(1) { - $178 = HEAP32[$125>>2]|0; - $179 = ($178|0)>(0); - if ($179) { - $i13$054 = 0; - while(1) { - $180 = HEAP32[$3>>2]|0; - $181 = ($180|0)>(0); - if ($181) { - $k15$051 = 0; - while(1) { - $182 = (((($z)) + 18152|0) + ($k15$051<<2)|0); - $183 = HEAP32[$182>>2]|0; - $184 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 8|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($185|0)>(0); - if ($186) { - $187 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 4|0); - $188 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 60|0); - $189 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 64|0); - $190 = (((((($z)) + 17820|0) + (($183*72)|0)|0)) + 16|0); - $y17$048 = 0; - while(1) { - $191 = HEAP32[$187>>2]|0; - $192 = ($191|0)>(0); - if ($192) { - $197 = $191;$x16$045 = 0; - while(1) { - $196 = Math_imul($197, $i13$054)|0; - $198 = (($196) + ($x16$045))|0; - $199 = HEAP32[$184>>2]|0; - $200 = Math_imul($199, $j14$057)|0; - $201 = (($200) + ($y17$048))|0; - $202 = HEAP32[$188>>2]|0; - $203 = HEAP32[$189>>2]|0; - $204 = Math_imul($201, $203)|0; - $205 = (($198) + ($204))|0; - $206 = $205 << 6; - $207 = (($202) + ($206<<1)|0); - $208 = HEAP32[$190>>2]|0; - $209 = (((($z)) + 4|0) + (($208*1680)|0)|0); - $210 = (_stbi__jpeg_decode_block_prog_dc($z,$207,$209,$183)|0); - $211 = ($210|0)==(0); - $194 = (($x16$045) + 1)|0; - if ($211) { - $$2 = 0; - label = 66; - break L87; - } - $193 = HEAP32[$187>>2]|0; - $195 = ($194|0)<($193|0); - if ($195) { - $197 = $193;$x16$045 = $194; - } else { - break; - } - } - } - $212 = (($y17$048) + 1)|0; - $213 = HEAP32[$184>>2]|0; - $214 = ($212|0)<($213|0); - if ($214) { - $y17$048 = $212; - } else { - break; - } - } - } - $215 = (($k15$051) + 1)|0; - $216 = HEAP32[$3>>2]|0; - $217 = ($215|0)<($216|0); - if ($217) { - $k15$051 = $215; - } else { - break; - } - } - } - $218 = HEAP32[$126>>2]|0; - $219 = (($218) + -1)|0; - HEAP32[$126>>2] = $219; - $220 = ($218|0)<(2); - if ($220) { - $221 = HEAP32[$127>>2]|0; - $222 = ($221|0)<(24); - if ($222) { - _stbi__grow_buffer_unsafe($z); - } - $223 = HEAP8[$128>>0]|0; - $224 = $223 & -8; - $225 = ($224<<24>>24)==(-48); - if (!($225)) { - $$2 = 1; - label = 66; - break L87; - } - _stbi__jpeg_reset($z); - } - $226 = (($i13$054) + 1)|0; - $227 = HEAP32[$125>>2]|0; - $228 = ($226|0)<($227|0); - if ($228) { - $i13$054 = $226; - } else { - break; - } - } - } - $229 = (($j14$057) + 1)|0; - $230 = HEAP32[$122>>2]|0; - $231 = ($229|0)<($230|0); - if ($231) { - $j14$057 = $229; - } else { - $$2 = 1; - label = 66; - break; - } - } - if ((label|0) == 66) { - STACKTOP = sp;return ($$2|0); - } - return (0)|0; -} -function _stbi__jpeg_finish($z) { - $z = $z|0; - var $$sum = 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, $41 = 0, $42 = 0, $43 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond8 = 0, $i$02 = 0, $j$03 = 0, $n$06 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($z)) + 18124|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - return; - } - $3 = HEAP32[$z>>2]|0; - $4 = ((($3)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)>(0); - if (!($6)) { - return; - } - $7 = ((($z)) + 18176|0); - $n$06 = 0; - while(1) { - $8 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 28|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + 7)|0; - $11 = $10 >> 3; - $12 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 32|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + 7)|0; - $15 = $14 >> 3; - $16 = ($15|0)>(0); - if ($16) { - $17 = ($11|0)>(0); - $18 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 60|0); - $19 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 64|0); - $20 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 12|0); - $21 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 44|0); - $22 = (((((($z)) + 17820|0) + (($n$06*72)|0)|0)) + 36|0); - $j$03 = 0; - while(1) { - if ($17) { - $i$02 = 0; - while(1) { - $23 = HEAP32[$18>>2]|0; - $24 = HEAP32[$19>>2]|0; - $25 = Math_imul($24, $j$03)|0; - $26 = (($25) + ($i$02))|0; - $27 = $26 << 6; - $28 = (($23) + ($27<<1)|0); - $29 = HEAP32[$20>>2]|0; - $30 = (((($z)) + 13444|0) + ($29<<6)|0); - _stbi__jpeg_dequantize($28,$30); - $31 = HEAP32[$7>>2]|0; - $32 = HEAP32[$21>>2]|0; - $33 = HEAP32[$22>>2]|0; - $34 = Math_imul($33, $j$03)|0; - $35 = (($34) + ($i$02))|0; - $$sum = $35 << 3; - $36 = (($32) + ($$sum)|0); - FUNCTION_TABLE_viii[$31 & 31]($36,$33,$28); - $37 = (($i$02) + 1)|0; - $exitcond = ($37|0)==($11|0); - if ($exitcond) { - break; - } else { - $i$02 = $37; - } - } - } - $38 = (($j$03) + 1)|0; - $exitcond8 = ($38|0)==($15|0); - if ($exitcond8) { - break; - } else { - $j$03 = $38; - } - } - } - $39 = (($n$06) + 1)|0; - $40 = HEAP32[$z>>2]|0; - $41 = ((($40)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($39|0)<($42|0); - if ($43) { - $n$06 = $39; - } else { - break; - } - } - return; -} -function _stbi__jpeg_dequantize($data,$dequant) { - $data = $data|0; - $dequant = $dequant|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $exitcond = 0, $i$01 = 0, label = 0, sp = 0; - sp = STACKTOP; - $i$01 = 0; - while(1) { - $0 = (($dequant) + ($i$01)|0); - $1 = HEAP8[$0>>0]|0; - $2 = $1&255; - $3 = (($data) + ($i$01<<1)|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4 << 16 >> 16; - $6 = Math_imul($5, $2)|0; - $7 = $6&65535; - HEAP16[$3>>1] = $7; - $8 = (($i$01) + 1)|0; - $exitcond = ($8|0)==(64); - if ($exitcond) { - break; - } else { - $i$01 = $8; - } - } - return; -} -function _stbi__jpeg_reset($j) { - $j = $j|0; - var $$ = 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, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - HEAP32[$0>>2] = 0; - $1 = ((($j)) + 18108|0); - HEAP32[$1>>2] = 0; - $2 = ((($j)) + 18120|0); - HEAP32[$2>>2] = 0; - $3 = ((($j)) + 17988|0); - HEAP32[$3>>2] = 0; - $4 = ((($j)) + 17916|0); - HEAP32[$4>>2] = 0; - $5 = ((($j)) + 17844|0); - HEAP32[$5>>2] = 0; - $6 = ((($j)) + 18116|0); - HEAP8[$6>>0] = -1; - $7 = ((($j)) + 18168|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - $$ = $9 ? 2147483647 : $8; - $10 = ((($j)) + 18172|0); - HEAP32[$10>>2] = $$; - $11 = ((($j)) + 18144|0); - HEAP32[$11>>2] = 0; - return; -} -function _stbi__jpeg_decode_block($j,$data,$hdc,$hac,$fac,$b,$dequant) { - $j = $j|0; - $data = $data|0; - $hdc = $hdc|0; - $hac = $hac|0; - $fac = $fac|0; - $b = $b|0; - $dequant = $dequant|0; - 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, $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 $7 = 0, $8 = 0, $9 = 0, $k$0 = 0, $k$1 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = (_stbi__jpeg_huff_decode($j,$hdc)|0); - $4 = ($3|0)<(0); - if ($4) { - _stbi__err(22692); - $$0 = 0; - return ($$0|0); - } - dest=$data; stop=dest+128|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0)); - $5 = ($3|0)==(0); - if ($5) { - $10 = 0; - } else { - $6 = (_stbi__extend_receive($j,$3)|0); - $10 = $6; - } - $7 = (((((($j)) + 17820|0) + (($b*72)|0)|0)) + 24|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) + ($10))|0; - HEAP32[$7>>2] = $9; - $11 = HEAP8[$dequant>>0]|0; - $12 = $11&255; - $13 = Math_imul($12, $9)|0; - $14 = $13&65535; - HEAP16[$data>>1] = $14; - $15 = ((($j)) + 18108|0); - $k$0 = 1; - L11: while(1) { - $16 = HEAP32[$0>>2]|0; - $17 = ($16|0)<(16); - if ($17) { - _stbi__grow_buffer_unsafe($j); - } - $18 = HEAP32[$15>>2]|0; - $19 = $18 >>> 23; - $20 = (($fac) + ($19<<1)|0); - $21 = HEAP16[$20>>1]|0; - $22 = $21 << 16 >> 16; - $23 = ($21<<16>>16)==(0); - do { - if ($23) { - $42 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $43 = ($42|0)<(0); - if ($43) { - label = 13; - break L11; - } - $44 = $42 & 15; - $45 = ($44|0)==(0); - if (!($45)) { - $48 = $42 >> 4; - $49 = (($48) + ($k$0))|0; - $50 = (($49) + 1)|0; - $51 = (22261 + ($49)|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = (_stbi__extend_receive($j,$44)|0); - $55 = (($dequant) + ($53)|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = Math_imul($57, $54)|0; - $59 = $58&65535; - $60 = (($data) + ($53<<1)|0); - HEAP16[$60>>1] = $59; - $k$1 = $50; - break; - } - $46 = ($42|0)==(240); - if (!($46)) { - $$0 = 1; - label = 19; - break L11; - } - $47 = (($k$0) + 16)|0; - $k$1 = $47; - } else { - $24 = $22 >>> 4; - $25 = $24 & 15; - $26 = (($25) + ($k$0))|0; - $27 = $22 & 15; - $28 = $18 << $27; - HEAP32[$15>>2] = $28; - $29 = HEAP32[$0>>2]|0; - $30 = (($29) - ($27))|0; - HEAP32[$0>>2] = $30; - $31 = (($26) + 1)|0; - $32 = (22261 + ($26)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $22 >> 8; - $36 = (($dequant) + ($34)|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = Math_imul($38, $35)|0; - $40 = $39&65535; - $41 = (($data) + ($34<<1)|0); - HEAP16[$41>>1] = $40; - $k$1 = $31; - } - } while(0); - $61 = ($k$1|0)<(64); - if ($61) { - $k$0 = $k$1; - } else { - $$0 = 1; - label = 19; - break; - } - } - if ((label|0) == 13) { - _stbi__err(22692); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 19) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__grow_buffer_unsafe($j) { - $j = $j|0; - var $$lcssa = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18120|0); - $1 = ((($j)) + 18112|0); - $2 = ((($j)) + 18108|0); - while(1) { - $3 = HEAP32[$0>>2]|0; - $4 = ($3|0)==(0); - if ($4) { - $5 = HEAP32[$j>>2]|0; - $6 = (_stbi__get8($5)|0); - $7 = $6&255; - $8 = ($6<<24>>24)==(-1); - if ($8) { - $9 = HEAP32[$j>>2]|0; - $10 = (_stbi__get8($9)|0); - $11 = ($10<<24>>24)==(0); - if ($11) { - $16 = 255; - } else { - $$lcssa = $10; - break; - } - } else { - $16 = $7; - } - } else { - $16 = 0; - } - $13 = HEAP32[$1>>2]|0; - $14 = (24 - ($13))|0; - $15 = $16 << $14; - $17 = HEAP32[$2>>2]|0; - $18 = $15 | $17; - HEAP32[$2>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = (($19) + 8)|0; - HEAP32[$1>>2] = $20; - $21 = ($20|0)<(25); - if (!($21)) { - label = 7; - break; - } - } - if ((label|0) == 7) { - return; - } - $12 = ((($j)) + 18116|0); - HEAP8[$12>>0] = $$lcssa; - HEAP32[$0>>2] = 1; - return; -} -function _stbi__jpeg_decode_block_prog_dc($j,$data,$hdc,$b) { - $j = $j|0; - $data = $data|0; - $hdc = $hdc|0; - $b = $b|0; - 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - $0 = ((($j)) + 18132|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if (!($2)) { - _stbi__err(23447); - $$0 = 0; - return ($$0|0); - } - $3 = ((($j)) + 18112|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<(16); - if ($5) { - _stbi__grow_buffer_unsafe($j); - } - $6 = ((($j)) + 18136|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - dest=$data; stop=dest+128|0; do { HEAP16[dest>>1]=0|0; dest=dest+2|0; } while ((dest|0) < (stop|0)); - $9 = (_stbi__jpeg_huff_decode($j,$hdc)|0); - $10 = ($9|0)==(0); - if ($10) { - $15 = 0; - } else { - $11 = (_stbi__extend_receive($j,$9)|0); - $15 = $11; - } - $12 = (((((($j)) + 17820|0) + (($b*72)|0)|0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($15))|0; - HEAP32[$12>>2] = $14; - $16 = ((($j)) + 18140|0); - $17 = HEAP32[$16>>2]|0; - $18 = $14 << $17; - $19 = $18&65535; - HEAP16[$data>>1] = $19; - $$0 = 1; - return ($$0|0); - } else { - $20 = (_stbi__jpeg_get_bit($j)|0); - $21 = ($20|0)==(0); - if ($21) { - $$0 = 1; - return ($$0|0); - } - $22 = ((($j)) + 18140|0); - $23 = HEAP32[$22>>2]|0; - $sext = 65536 << $23; - $24 = $sext >>> 16; - $25 = HEAP16[$data>>1]|0; - $26 = $25&65535; - $27 = (($26) + ($24))|0; - $28 = $27&65535; - HEAP16[$data>>1] = $28; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__jpeg_decode_block_prog_ac($j,$data,$hac,$fac) { - $j = $j|0; - $data = $data|0; - $hac = $hac|0; - $fac = $fac|0; - var $$ = 0, $$0 = 0, $$lcssa = 0, $$lcssa63 = 0, $$lcssa63$lcssa = 0, $$lcssa66 = 0, $$lcssa66$lcssa = 0, $0 = 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, $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, $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, $k$0 = 0, $k$1 = 0, $k$223 = 0, $k$3 = 0, $k$4$ph20 = 0, $k$415 = 0, $k$415$lcssa = 0, $k$5 = 0, $r1$0$ph = 0, $r1$0$ph519 = 0, $s2$0$ph = 0, $sext = 0, $sext1 = 0, $sext2 = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18128|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - _stbi__err(23447); - $$0 = 0; - return ($$0|0); - } - $3 = ((($j)) + 18136|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - $6 = ((($j)) + 18140|0); - $7 = HEAP32[$6>>2]|0; - if ($5) { - $8 = ((($j)) + 18144|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0); - if (!($10)) { - $14 = (($9) + -1)|0; - HEAP32[$8>>2] = $14; - $$0 = 1; - return ($$0|0); - } - $11 = ((($j)) + 18112|0); - $12 = ((($j)) + 18108|0); - $13 = ((($j)) + 18132|0); - $k$0 = $1; - L11: while(1) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)<(16); - if ($16) { - _stbi__grow_buffer_unsafe($j); - } - $17 = HEAP32[$12>>2]|0; - $18 = $17 >>> 23; - $19 = (($fac) + ($18<<1)|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20 << 16 >> 16; - $22 = ($20<<16>>16)==(0); - do { - if ($22) { - $38 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $39 = ($38|0)<(0); - if ($39) { - label = 12; - break L11; - } - $40 = $38 & 15; - $41 = $38 >> 4; - $42 = ($40|0)==(0); - if (!($42)) { - $52 = (($41) + ($k$0))|0; - $53 = (($52) + 1)|0; - $54 = (22261 + ($52)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $57 = (_stbi__extend_receive($j,$40)|0); - $58 = $57 << $7; - $59 = $58&65535; - $60 = (($data) + ($56<<1)|0); - HEAP16[$60>>1] = $59; - $k$1 = $53; - break; - } - $43 = ($41|0)<(15); - if ($43) { - $$lcssa = $41; - label = 15; - break L11; - } - $51 = (($k$0) + 16)|0; - $k$1 = $51; - } else { - $23 = $21 >>> 4; - $24 = $23 & 15; - $25 = (($24) + ($k$0))|0; - $26 = $21 & 15; - $27 = $17 << $26; - HEAP32[$12>>2] = $27; - $28 = HEAP32[$11>>2]|0; - $29 = (($28) - ($26))|0; - HEAP32[$11>>2] = $29; - $30 = (($25) + 1)|0; - $31 = (22261 + ($25)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = $21 >> 8; - $35 = $34 << $7; - $36 = $35&65535; - $37 = (($data) + ($33<<1)|0); - HEAP16[$37>>1] = $36; - $k$1 = $30; - } - } while(0); - $61 = HEAP32[$13>>2]|0; - $62 = ($k$1|0)>($61|0); - if ($62) { - $$0 = 1; - label = 53; - break; - } else { - $k$0 = $k$1; - } - } - if ((label|0) == 12) { - _stbi__err(22692); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 15) { - $44 = 1 << $$lcssa; - HEAP32[$8>>2] = $44; - $45 = ($$lcssa|0)==(0); - if (!($45)) { - $46 = (_stbi__jpeg_get_bits($j,$$lcssa)|0); - $47 = HEAP32[$8>>2]|0; - $48 = (($47) + ($46))|0; - HEAP32[$8>>2] = $48; - } - $49 = HEAP32[$8>>2]|0; - $50 = (($49) + -1)|0; - HEAP32[$8>>2] = $50; - $$0 = 1; - return ($$0|0); - } - else if ((label|0) == 53) { - return ($$0|0); - } - } - $63 = 1 << $7; - $64 = ((($j)) + 18144|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0); - if (!($66)) { - $71 = (($65) + -1)|0; - HEAP32[$64>>2] = $71; - $72 = HEAP32[$0>>2]|0; - $73 = ((($j)) + 18132|0); - $74 = HEAP32[$73>>2]|0; - $75 = ($72|0)>($74|0); - if ($75) { - $$0 = 1; - return ($$0|0); - } - $sext2 = $63 << 16; - $76 = $sext2 >> 16; - $k$223 = $72; - while(1) { - $77 = (22261 + ($k$223)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $78&255; - $80 = (($data) + ($79<<1)|0); - $81 = HEAP16[$80>>1]|0; - $82 = ($81<<16>>16)==(0); - do { - if (!($82)) { - $83 = (_stbi__jpeg_get_bit($j)|0); - $84 = ($83|0)==(0); - if (!($84)) { - $85 = HEAP16[$80>>1]|0; - $86 = $85 << 16 >> 16; - $87 = $86 & $76; - $88 = ($87|0)==(0); - if ($88) { - $89 = ($85<<16>>16)>(0); - if ($89) { - $90 = (($86) + ($76))|0; - $91 = $90&65535; - HEAP16[$80>>1] = $91; - break; - } else { - $92 = (($86) - ($76))|0; - $93 = $92&65535; - HEAP16[$80>>1] = $93; - break; - } - } - } - } - } while(0); - $94 = (($k$223) + 1)|0; - $95 = HEAP32[$73>>2]|0; - $96 = ($k$223|0)<($95|0); - if ($96) { - $k$223 = $94; - } else { - $$0 = 1; - break; - } - } - return ($$0|0); - } - $sext = $63 << 16; - $67 = $sext >> 16; - $68 = (0 - ($67))|0; - $69 = ((($j)) + 18132|0); - $sext1 = $63 << 16; - $70 = $sext1 >> 16; - $k$3 = $1; - L52: while(1) { - $97 = (_stbi__jpeg_huff_decode($j,$hac)|0); - $98 = ($97|0)<(0); - if ($98) { - label = 33; - break; - } - $99 = $97 & 15; - $100 = $97 >> 4; - switch ($99|0) { - case 0: { - $101 = ($100|0)<(15); - if ($101) { - $102 = 1 << $100; - $103 = (($102) + -1)|0; - HEAP32[$64>>2] = $103; - $104 = ($100|0)==(0); - if ($104) { - $r1$0$ph = 64;$s2$0$ph = 0; - } else { - $105 = (_stbi__jpeg_get_bits($j,$100)|0); - $106 = HEAP32[$64>>2]|0; - $107 = (($106) + ($105))|0; - HEAP32[$64>>2] = $107; - $r1$0$ph = 64;$s2$0$ph = 0; - } - } else { - $r1$0$ph = $100;$s2$0$ph = 0; - } - break; - } - case 1: { - $108 = (_stbi__jpeg_get_bit($j)|0); - $109 = ($108|0)==(0); - $$ = $109 ? $68 : $67; - $r1$0$ph = $100;$s2$0$ph = $$; - break; - } - default: { - label = 38; - break L52; - } - } - $110 = HEAP32[$69>>2]|0; - $111 = ($k$3|0)>($110|0); - L61: do { - if ($111) { - $k$5 = $k$3; - } else { - $k$4$ph20 = $k$3;$r1$0$ph519 = $r1$0$ph; - while(1) { - $k$415 = $k$4$ph20; - while(1) { - $115 = (($k$415) + 1)|0; - $116 = (22261 + ($k$415)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = (($data) + ($118<<1)|0); - $120 = HEAP16[$119>>1]|0; - $121 = ($120<<16>>16)==(0); - if ($121) { - $$lcssa63 = $115;$$lcssa66 = $119;$k$415$lcssa = $k$415; - break; - } - $122 = (_stbi__jpeg_get_bit($j)|0); - $123 = ($122|0)==(0); - do { - if (!($123)) { - $124 = HEAP16[$119>>1]|0; - $125 = $124 << 16 >> 16; - $126 = $125 & $70; - $127 = ($126|0)==(0); - if ($127) { - $128 = ($124<<16>>16)>(0); - if ($128) { - $129 = (($125) + ($70))|0; - $130 = $129&65535; - HEAP16[$119>>1] = $130; - break; - } else { - $133 = (($125) - ($70))|0; - $134 = $133&65535; - HEAP16[$119>>1] = $134; - break; - } - } - } - } while(0); - $131 = HEAP32[$69>>2]|0; - $132 = ($k$415|0)<($131|0); - if ($132) { - $k$415 = $115; - } else { - $k$5 = $115; - break L61; - } - } - $135 = ($r1$0$ph519|0)==(0); - if ($135) { - $$lcssa63$lcssa = $$lcssa63;$$lcssa66$lcssa = $$lcssa66; - break; - } - $112 = (($r1$0$ph519) + -1)|0; - $113 = HEAP32[$69>>2]|0; - $114 = ($k$415$lcssa|0)<($113|0); - if ($114) { - $k$4$ph20 = $$lcssa63;$r1$0$ph519 = $112; - } else { - $k$5 = $$lcssa63; - break L61; - } - } - $136 = $s2$0$ph&65535; - HEAP16[$$lcssa66$lcssa>>1] = $136; - $k$5 = $$lcssa63$lcssa; - } - } while(0); - $137 = HEAP32[$69>>2]|0; - $138 = ($k$5|0)>($137|0); - if ($138) { - $$0 = 1; - label = 53; - break; - } else { - $k$3 = $k$5; - } - } - if ((label|0) == 33) { - _stbi__err(22692); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 38) { - _stbi__err(22692); - $$0 = 0; - return ($$0|0); - } - else if ((label|0) == 53) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__jpeg_huff_decode($j,$h) { - $j = $j|0; - $h = $h|0; - 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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $k$0 = 0, $k$0$lcssa = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(16); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 >>> 23; - $6 = (($h) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($7<<24>>24)==(-1); - if (!($9)) { - $10 = (((($h)) + 1280|0) + ($8)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = HEAP32[$0>>2]|0; - $14 = ($12|0)>($13|0); - if ($14) { - $$0 = -1; - return ($$0|0); - } - $15 = $4 << $12; - HEAP32[$3>>2] = $15; - $16 = HEAP32[$0>>2]|0; - $17 = (($16) - ($12))|0; - HEAP32[$0>>2] = $17; - $18 = (((($h)) + 1024|0) + ($8)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $$0 = $20; - return ($$0|0); - } - $21 = $4 >>> 16; - $k$0 = 10; - while(1) { - $22 = (((($h)) + 1540|0) + ($k$0<<2)|0); - $23 = HEAP32[$22>>2]|0; - $24 = ($21>>>0)<($23>>>0); - $25 = (($k$0) + 1)|0; - if ($24) { - $k$0$lcssa = $k$0; - break; - } else { - $k$0 = $25; - } - } - $26 = ($k$0$lcssa|0)==(17); - $27 = HEAP32[$0>>2]|0; - if ($26) { - $28 = (($27) + -16)|0; - HEAP32[$0>>2] = $28; - $$0 = -1; - return ($$0|0); - } - $29 = ($27|0)<($k$0$lcssa|0); - if ($29) { - $$0 = -1; - return ($$0|0); - } - $30 = HEAP32[$3>>2]|0; - $31 = (32 - ($k$0$lcssa))|0; - $32 = $30 >>> $31; - $33 = (10900 + ($k$0$lcssa<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = $32 & $34; - $36 = (((($h)) + 1612|0) + ($k$0$lcssa<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + ($37))|0; - $39 = (((($h)) + 1280|0) + ($38)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = (32 - ($41))|0; - $43 = $30 >>> $42; - $44 = (10900 + ($41<<2)|0); - $45 = HEAP32[$44>>2]|0; - $46 = $43 & $45; - $47 = (((($h)) + 512|0) + ($38<<1)|0); - $48 = HEAP16[$47>>1]|0; - $49 = $48&65535; - $50 = ($46|0)==($49|0); - if (!($50)) { - ___assert_fail((23553|0),(21839|0),1656,(23635|0)); - // unreachable; - } - $51 = (($27) - ($k$0$lcssa))|0; - HEAP32[$0>>2] = $51; - $52 = HEAP32[$3>>2]|0; - $53 = $52 << $k$0$lcssa; - HEAP32[$3>>2] = $53; - $54 = (((($h)) + 1024|0) + ($38)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $$0 = $56; - return ($$0|0); -} -function _stbi__jpeg_get_bits($j,$n) { - $j = $j|0; - $n = $n|0; - var $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; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 << $n; - $6 = (32 - ($n))|0; - $7 = $4 >>> $6; - $8 = $5 | $7; - $9 = (10900 + ($n<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 ^ -1; - $12 = $8 & $11; - HEAP32[$3>>2] = $12; - $13 = HEAP32[$9>>2]|0; - $14 = $8 & $13; - $15 = HEAP32[$0>>2]|0; - $16 = (($15) - ($n))|0; - HEAP32[$0>>2] = $16; - return ($14|0); -} -function _stbi__extend_receive($j,$n) { - $j = $j|0; - $n = $n|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, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<($n|0); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 << $n; - $6 = (32 - ($n))|0; - $7 = $4 >>> $6; - $8 = $5 | $7; - $9 = ($n>>>0)<(17); - if ($9) { - $10 = $4 >> 31; - $11 = (10900 + ($n<<2)|0); - $12 = HEAP32[$11>>2]|0; - $13 = $12 ^ -1; - $14 = $8 & $13; - HEAP32[$3>>2] = $14; - $15 = HEAP32[$11>>2]|0; - $16 = $15 & $8; - $17 = HEAP32[$0>>2]|0; - $18 = (($17) - ($n))|0; - HEAP32[$0>>2] = $18; - $19 = (10968 + ($n<<2)|0); - $20 = HEAP32[$19>>2]|0; - $21 = $10 ^ -1; - $22 = $20 & $21; - $23 = (($22) + ($16))|0; - return ($23|0); - } else { - ___assert_fail((23469|0),(21839|0),1677,(23532|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__jpeg_get_bit($j) { - $j = $j|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($j)) + 18112|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(1); - if ($2) { - _stbi__grow_buffer_unsafe($j); - } - $3 = ((($j)) + 18108|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 << 1; - HEAP32[$3>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[$0>>2] = $7; - $8 = $4 & -2147483648; - return ($8|0); -} -function _stbi__idct_block($out,$out_stride,$data) { - $out = $out|0; - $out_stride = $out_stride|0; - $data = $data|0; - var $0 = 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, $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, $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, $d$04 = 0, $exitcond = 0, $exitcond9 = 0, $i$08 = 0, $i$13 = 0, $o$01 = 0, $v$06 = 0, $v$12 = 0; - var $val = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $val = sp; - $d$04 = $data;$i$08 = 0;$v$06 = $val; - while(1) { - $0 = ((($d$04)) + 16|0); - $1 = HEAP16[$0>>1]|0; - $2 = ($1<<16>>16)==(0); - if ($2) { - $3 = ((($d$04)) + 32|0); - $4 = HEAP16[$3>>1]|0; - $5 = ($4<<16>>16)==(0); - if ($5) { - $6 = ((($d$04)) + 48|0); - $7 = HEAP16[$6>>1]|0; - $8 = ($7<<16>>16)==(0); - if ($8) { - $9 = ((($d$04)) + 64|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10<<16>>16)==(0); - if ($11) { - $12 = ((($d$04)) + 80|0); - $13 = HEAP16[$12>>1]|0; - $14 = ($13<<16>>16)==(0); - if ($14) { - $15 = ((($d$04)) + 96|0); - $16 = HEAP16[$15>>1]|0; - $17 = ($16<<16>>16)==(0); - if ($17) { - $18 = ((($d$04)) + 112|0); - $19 = HEAP16[$18>>1]|0; - $20 = ($19<<16>>16)==(0); - if ($20) { - $21 = HEAP16[$d$04>>1]|0; - $22 = $21 << 16 >> 16; - $23 = $22 << 2; - $24 = ((($v$06)) + 224|0); - HEAP32[$24>>2] = $23; - $25 = ((($v$06)) + 192|0); - HEAP32[$25>>2] = $23; - $26 = ((($v$06)) + 160|0); - HEAP32[$26>>2] = $23; - $27 = ((($v$06)) + 128|0); - HEAP32[$27>>2] = $23; - $28 = ((($v$06)) + 96|0); - HEAP32[$28>>2] = $23; - $29 = ((($v$06)) + 64|0); - HEAP32[$29>>2] = $23; - $30 = ((($v$06)) + 32|0); - HEAP32[$30>>2] = $23; - HEAP32[$v$06>>2] = $23; - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - $31 = ((($d$04)) + 32|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32 << 16 >> 16; - $34 = ((($d$04)) + 96|0); - $35 = HEAP16[$34>>1]|0; - $36 = $35 << 16 >> 16; - $37 = (($36) + ($33))|0; - $38 = ($37*2217)|0; - $39 = Math_imul($36, -7567)|0; - $40 = (($38) + ($39))|0; - $41 = ($33*3135)|0; - $42 = (($38) + ($41))|0; - $43 = HEAP16[$d$04>>1]|0; - $44 = $43 << 16 >> 16; - $45 = ((($d$04)) + 64|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46 << 16 >> 16; - $48 = (($47) + ($44))|0; - $49 = $48 << 12; - $50 = (($44) - ($47))|0; - $51 = $50 << 12; - $52 = (($49) - ($42))|0; - $53 = (($51) - ($40))|0; - $54 = ((($d$04)) + 112|0); - $55 = HEAP16[$54>>1]|0; - $56 = $55 << 16 >> 16; - $57 = ((($d$04)) + 80|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58 << 16 >> 16; - $60 = ((($d$04)) + 48|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61 << 16 >> 16; - $63 = HEAP16[$0>>1]|0; - $64 = $63 << 16 >> 16; - $65 = (($62) + ($56))|0; - $66 = (($64) + ($59))|0; - $67 = (($64) + ($56))|0; - $68 = (($62) + ($59))|0; - $69 = (($66) + ($65))|0; - $70 = ($69*4816)|0; - $71 = ($56*1223)|0; - $72 = ($59*8410)|0; - $73 = ($62*12586)|0; - $74 = ($64*6149)|0; - $75 = Math_imul($67, -3685)|0; - $76 = (($70) + ($75))|0; - $77 = Math_imul($68, -10497)|0; - $78 = (($70) + ($77))|0; - $79 = Math_imul($65, -8034)|0; - $80 = Math_imul($66, -1597)|0; - $81 = (($80) + ($74))|0; - $82 = (($81) + ($76))|0; - $83 = (($79) + ($73))|0; - $84 = (($83) + ($78))|0; - $85 = (($80) + ($72))|0; - $86 = (($85) + ($78))|0; - $87 = (($79) + ($71))|0; - $88 = (($87) + ($76))|0; - $89 = (($42) + 512)|0; - $90 = (($89) + ($49))|0; - $91 = (($40) + 512)|0; - $92 = (($91) + ($51))|0; - $93 = (($53) + 512)|0; - $94 = (($52) + 512)|0; - $95 = (($82) + ($90))|0; - $96 = $95 >> 10; - HEAP32[$v$06>>2] = $96; - $97 = (($90) - ($82))|0; - $98 = $97 >> 10; - $99 = ((($v$06)) + 224|0); - HEAP32[$99>>2] = $98; - $100 = (($84) + ($92))|0; - $101 = $100 >> 10; - $102 = ((($v$06)) + 32|0); - HEAP32[$102>>2] = $101; - $103 = (($92) - ($84))|0; - $104 = $103 >> 10; - $105 = ((($v$06)) + 192|0); - HEAP32[$105>>2] = $104; - $106 = (($86) + ($93))|0; - $107 = $106 >> 10; - $108 = ((($v$06)) + 64|0); - HEAP32[$108>>2] = $107; - $109 = (($93) - ($86))|0; - $110 = $109 >> 10; - $111 = ((($v$06)) + 160|0); - HEAP32[$111>>2] = $110; - $112 = (($88) + ($94))|0; - $113 = $112 >> 10; - $114 = ((($v$06)) + 96|0); - HEAP32[$114>>2] = $113; - $115 = (($94) - ($88))|0; - $116 = $115 >> 10; - $117 = ((($v$06)) + 128|0); - HEAP32[$117>>2] = $116; - } - $118 = (($i$08) + 1)|0; - $119 = ((($d$04)) + 2|0); - $120 = ((($v$06)) + 4|0); - $exitcond9 = ($118|0)==(8); - if ($exitcond9) { - $i$13 = 0;$o$01 = $out;$v$12 = $val; - break; - } else { - $d$04 = $119;$i$08 = $118;$v$06 = $120; - } - } - while(1) { - $121 = ((($v$12)) + 8|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($v$12)) + 24|0); - $124 = HEAP32[$123>>2]|0; - $125 = (($124) + ($122))|0; - $126 = ($125*2217)|0; - $127 = Math_imul($124, -7567)|0; - $128 = (($126) + ($127))|0; - $129 = ($122*3135)|0; - $130 = (($126) + ($129))|0; - $131 = HEAP32[$v$12>>2]|0; - $132 = ((($v$12)) + 16|0); - $133 = HEAP32[$132>>2]|0; - $134 = (($133) + ($131))|0; - $135 = $134 << 12; - $136 = (($131) - ($133))|0; - $137 = $136 << 12; - $138 = (($135) - ($130))|0; - $139 = (($137) - ($128))|0; - $140 = ((($v$12)) + 28|0); - $141 = HEAP32[$140>>2]|0; - $142 = ((($v$12)) + 20|0); - $143 = HEAP32[$142>>2]|0; - $144 = ((($v$12)) + 12|0); - $145 = HEAP32[$144>>2]|0; - $146 = ((($v$12)) + 4|0); - $147 = HEAP32[$146>>2]|0; - $148 = (($145) + ($141))|0; - $149 = (($147) + ($143))|0; - $150 = (($147) + ($141))|0; - $151 = (($145) + ($143))|0; - $152 = (($149) + ($148))|0; - $153 = ($152*4816)|0; - $154 = ($141*1223)|0; - $155 = ($143*8410)|0; - $156 = ($145*12586)|0; - $157 = ($147*6149)|0; - $158 = Math_imul($150, -3685)|0; - $159 = (($153) + ($158))|0; - $160 = Math_imul($151, -10497)|0; - $161 = (($153) + ($160))|0; - $162 = Math_imul($148, -8034)|0; - $163 = Math_imul($149, -1597)|0; - $164 = (($163) + ($157))|0; - $165 = (($164) + ($159))|0; - $166 = (($162) + ($156))|0; - $167 = (($166) + ($161))|0; - $168 = (($163) + ($155))|0; - $169 = (($168) + ($161))|0; - $170 = (($162) + ($154))|0; - $171 = (($170) + ($159))|0; - $172 = (($130) + 16842752)|0; - $173 = (($172) + ($135))|0; - $174 = (($128) + 16842752)|0; - $175 = (($174) + ($137))|0; - $176 = (($139) + 16842752)|0; - $177 = (($138) + 16842752)|0; - $178 = (($165) + ($173))|0; - $179 = $178 >> 17; - $180 = (_stbi__clamp($179)|0); - HEAP8[$o$01>>0] = $180; - $181 = (($173) - ($165))|0; - $182 = $181 >> 17; - $183 = (_stbi__clamp($182)|0); - $184 = ((($o$01)) + 7|0); - HEAP8[$184>>0] = $183; - $185 = (($167) + ($175))|0; - $186 = $185 >> 17; - $187 = (_stbi__clamp($186)|0); - $188 = ((($o$01)) + 1|0); - HEAP8[$188>>0] = $187; - $189 = (($175) - ($167))|0; - $190 = $189 >> 17; - $191 = (_stbi__clamp($190)|0); - $192 = ((($o$01)) + 6|0); - HEAP8[$192>>0] = $191; - $193 = (($169) + ($176))|0; - $194 = $193 >> 17; - $195 = (_stbi__clamp($194)|0); - $196 = ((($o$01)) + 2|0); - HEAP8[$196>>0] = $195; - $197 = (($176) - ($169))|0; - $198 = $197 >> 17; - $199 = (_stbi__clamp($198)|0); - $200 = ((($o$01)) + 5|0); - HEAP8[$200>>0] = $199; - $201 = (($171) + ($177))|0; - $202 = $201 >> 17; - $203 = (_stbi__clamp($202)|0); - $204 = ((($o$01)) + 3|0); - HEAP8[$204>>0] = $203; - $205 = (($177) - ($171))|0; - $206 = $205 >> 17; - $207 = (_stbi__clamp($206)|0); - $208 = ((($o$01)) + 4|0); - HEAP8[$208>>0] = $207; - $209 = (($i$13) + 1)|0; - $210 = ((($v$12)) + 32|0); - $211 = (($o$01) + ($out_stride)|0); - $exitcond = ($209|0)==(8); - if ($exitcond) { - break; - } else { - $i$13 = $209;$o$01 = $211;$v$12 = $210; - } - } - STACKTOP = sp;return; -} -function _stbi__YCbCr_to_RGB_row($out,$y,$pcb,$pcr,$count,$step) { - $out = $out|0; - $y = $y|0; - $pcb = $pcb|0; - $pcr = $pcr|0; - $count = $count|0; - $step = $step|0; - var $$04 = 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, $41 = 0, $42 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $b$0 = 0, $exitcond = 0, $g$0 = 0, $i$03 = 0, $r$0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($count|0)>(0); - if ($0) { - $$04 = $out;$i$03 = 0; - } else { - return; - } - while(1) { - $1 = (($y) + ($i$03)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 20; - $5 = $4 | 524288; - $6 = (($pcr) + ($i$03)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($8) + -128)|0; - $10 = (($pcb) + ($i$03)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = (($12) + -128)|0; - $14 = Math_imul($9, 1470208)|0; - $15 = (($14) + ($5))|0; - $16 = Math_imul($9, -748800)|0; - $17 = (($5) + ($16))|0; - $18 = Math_imul($13, -360960)|0; - $19 = $18 & -65536; - $20 = (($19) + ($17))|0; - $21 = Math_imul($13, 1858048)|0; - $22 = (($21) + ($5))|0; - $23 = $15 >> 20; - $24 = $20 >> 20; - $25 = $22 >> 20; - $26 = ($23>>>0)>(255); - $27 = $15 >>> 31; - $28 = (($27) + 255)|0; - $r$0 = $26 ? $28 : $23; - $29 = ($24>>>0)>(255); - $30 = $20 >>> 31; - $31 = (($30) + 255)|0; - $g$0 = $29 ? $31 : $24; - $32 = ($25>>>0)>(255); - $33 = $22 >>> 31; - $34 = (($33) + 255)|0; - $b$0 = $32 ? $34 : $25; - $35 = $r$0&255; - HEAP8[$$04>>0] = $35; - $36 = $g$0&255; - $37 = ((($$04)) + 1|0); - HEAP8[$37>>0] = $36; - $38 = $b$0&255; - $39 = ((($$04)) + 2|0); - HEAP8[$39>>0] = $38; - $40 = ((($$04)) + 3|0); - HEAP8[$40>>0] = -1; - $41 = (($$04) + ($step)|0); - $42 = (($i$03) + 1)|0; - $exitcond = ($42|0)==($count|0); - if ($exitcond) { - break; - } else { - $$04 = $41;$i$03 = $42; - } - } - return; -} -function _stbi__resample_row_hv_2($out,$in_near,$in_far,$w,$hs) { - $out = $out|0; - $in_near = $in_near|0; - $in_far = $in_far|0; - $w = $w|0; - $hs = $hs|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, $exitcond = 0, $i$01 = 0, $t1$0$lcssa = 0, $t1$02 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($w|0)==(1); - $1 = HEAP8[$in_near>>0]|0; - $2 = $1&255; - $3 = ($2*3)|0; - $4 = HEAP8[$in_far>>0]|0; - $5 = $4&255; - $6 = (($3) + ($5))|0; - $7 = (($6) + 2)|0; - $8 = $7 >>> 2; - $9 = $8&255; - if ($0) { - $10 = ((($out)) + 1|0); - HEAP8[$10>>0] = $9; - HEAP8[$out>>0] = $9; - return ($out|0); - } - HEAP8[$out>>0] = $9; - $11 = ($w|0)>(1); - if ($11) { - $i$01 = 1;$t1$02 = $6; - while(1) { - $12 = (($in_near) + ($i$01)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14*3)|0; - $16 = (($in_far) + ($i$01)|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = (($15) + ($18))|0; - $20 = ($t1$02*3)|0; - $21 = (($20) + 8)|0; - $22 = (($21) + ($19))|0; - $23 = $22 >>> 4; - $24 = $23&255; - $25 = $i$01 << 1; - $26 = (($25) + -1)|0; - $27 = (($out) + ($26)|0); - HEAP8[$27>>0] = $24; - $28 = ($19*3)|0; - $29 = (($t1$02) + 8)|0; - $30 = (($29) + ($28))|0; - $31 = $30 >>> 4; - $32 = $31&255; - $33 = (($out) + ($25)|0); - HEAP8[$33>>0] = $32; - $34 = (($i$01) + 1)|0; - $exitcond = ($34|0)==($w|0); - if ($exitcond) { - $t1$0$lcssa = $19; - break; - } else { - $i$01 = $34;$t1$02 = $19; - } - } - } else { - $t1$0$lcssa = $6; - } - $35 = (($t1$0$lcssa) + 2)|0; - $36 = $35 >>> 2; - $37 = $36&255; - $38 = $w << 1; - $39 = (($38) + -1)|0; - $40 = (($out) + ($39)|0); - HEAP8[$40>>0] = $37; - return ($out|0); -} -function _stbi__clamp($x) { - $x = $x|0; - var $$not = 0, $0 = 0, $1 = 0, $2 = 0, $x$lobit = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($x>>>0)>(255); - if ($0) { - $x$lobit = $x >> 31; - $1 = $x$lobit&255; - $$not = $1 ^ -1; - return ($$not|0); - } else { - $2 = $x&255; - return ($2|0); - } - return (0)|0; -} -function _stbi__stdio_read($user,$data,$size) { - $user = $user|0; - $data = $data|0; - $size = $size|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_fread($data,1,$size,$user)|0); - return ($0|0); -} -function _stbi__stdio_skip($user,$n) { - $user = $user|0; - $n = $n|0; - var label = 0, sp = 0; - sp = STACKTOP; - (_fseek($user,$n,1)|0); - return; -} -function _stbi__stdio_eof($user) { - $user = $user|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_feof($user)|0); - return ($0|0); -} -function _ErrorCallback($error,$description) { - $error = $error|0; - $description = $description|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $error; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $description; - _TraceLog(2,26557,$vararg_buffer); - STACKTOP = sp;return; -} -function _SetupFramebufferSize($displayWidth,$displayHeight) { - $displayWidth = $displayWidth|0; - $displayHeight = $displayHeight|0; - var $0 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $or$cond = 0, $roundf = 0.0, $roundf1 = 0.0, $roundf2 = 0.0, $roundf3 = 0.0, $storemerge = 0, $vararg_buffer = 0, $vararg_buffer4 = 0; - var $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = HEAP32[3184>>2]|0; - $2 = ($1|0)>($displayWidth|0); - if (!($2)) { - $3 = HEAP32[3188>>2]|0; - $4 = ($3|0)>($displayHeight|0); - if (!($4)) { - $29 = ($1|0)<($displayWidth|0); - $30 = ($3|0)<($displayHeight|0); - $or$cond = $29 | $30; - if (!($or$cond)) { - HEAP32[3364>>2] = $1; - $51 = HEAP32[3188>>2]|0; - HEAP32[3368>>2] = $51; - HEAP32[3356>>2] = 0; - HEAP32[3360>>2] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $1; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $3; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $displayWidth; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $displayHeight; - _TraceLog(0,26491,$vararg_buffer8); - $31 = (+($displayWidth|0)); - $32 = (+($displayHeight|0)); - $33 = $31 / $32; - $34 = HEAP32[3184>>2]|0; - $35 = (+($34|0)); - $36 = HEAP32[3188>>2]|0; - $37 = (+($36|0)); - $38 = $35 / $37; - $39 = !($33 <= $38); - if ($39) { - $46 = $33 * $37; - $roundf = (+_roundf($46)); - $47 = (~~(($roundf))); - HEAP32[3364>>2] = $47; - $48 = HEAP32[3188>>2]|0; - HEAP32[3368>>2] = $48; - $49 = HEAP32[3184>>2]|0; - $50 = (($47) - ($49))|0; - HEAP32[3356>>2] = $50; - HEAP32[3360>>2] = 0; - STACKTOP = sp;return; - } else { - HEAP32[3364>>2] = $34; - $40 = HEAP32[3184>>2]|0; - $41 = (+($40|0)); - $42 = $41 / $33; - $roundf1 = (+_roundf($42)); - $43 = (~~(($roundf1))); - HEAP32[3368>>2] = $43; - HEAP32[3356>>2] = 0; - $44 = HEAP32[3188>>2]|0; - $45 = (($43) - ($44))|0; - HEAP32[3360>>2] = $45; - STACKTOP = sp;return; - } - } - } - $5 = HEAP32[3184>>2]|0; - $6 = HEAP32[3188>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $6; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $displayWidth; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $displayHeight; - _TraceLog(2,26348,$vararg_buffer); - $7 = (+($displayWidth|0)); - $8 = HEAP32[3184>>2]|0; - $9 = (+($8|0)); - $10 = $7 / $9; - $11 = (+($displayHeight|0)); - $12 = HEAP32[3188>>2]|0; - $13 = (+($12|0)); - $14 = $11 / $13; - $15 = !($10 <= $14); - if ($15) { - $21 = $9 * $14; - $roundf2 = (+_roundf($21)); - $22 = (~~(($roundf2))); - HEAP32[3364>>2] = $22; - HEAP32[3368>>2] = $displayHeight; - $23 = (($displayWidth) - ($22))|0; - HEAP32[3356>>2] = $23; - $storemerge = 0; - } else { - HEAP32[3364>>2] = $displayWidth; - $16 = HEAP32[3188>>2]|0; - $17 = (+($16|0)); - $18 = $10 * $17; - $roundf3 = (+_roundf($18)); - $19 = (~~(($roundf3))); - HEAP32[3368>>2] = $19; - HEAP32[3356>>2] = 0; - $20 = (($displayHeight) - ($19))|0; - $storemerge = $20; - } - HEAP32[3360>>2] = $storemerge; - $24 = HEAP32[3364>>2]|0; - $25 = (+($24|0)); - $26 = HEAP32[3184>>2]|0; - $27 = (+($26|0)); - $28 = $25 / $27; - _MatrixScale($0,$28,$28,$28); - dest=3208; src=$0; 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)); - HEAP32[3364>>2] = $displayWidth; - HEAP32[3368>>2] = $displayHeight; - HEAP32[$vararg_buffer4>>2] = $displayWidth; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $displayHeight; - _TraceLog(2,26426,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($window,$width,$height) { - $window = $window|0; - $width = $width|0; - $height = $height|0; - var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $$byval_copy = sp + 4|0; - $0 = sp; - $1 = HEAP32[3356>>2]|0; - $2 = HEAP32[3360>>2]|0; - $3 = HEAP32[3364>>2]|0; - $4 = HEAP32[3368>>2]|0; - _rlglInitGraphics($1,$2,$3,$4); - HEAP8[$0>>0] = -11; - $5 = ((($0)) + 1|0); - HEAP8[$5>>0] = -11; - $6 = ((($0)) + 2|0); - HEAP8[$6>>0] = -11; - $7 = ((($0)) + 3|0); - HEAP8[$7>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _CursorEnterCallback($window,$enter) { - $window = $window|0; - $enter = $enter|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($window,$key,$scancode,$action,$mods) { - $window = $window|0; - $key = $key|0; - $scancode = $scancode|0; - $action = $action|0; - $mods = $mods|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[3204>>2]|0; - $1 = ($0|0)==($key|0); - $2 = ($action|0)==(1); - $or$cond = $2 & $1; - if ($or$cond) { - _glfwSetWindowShouldClose(($window|0),1); - } else { - $3 = $action&255; - $4 = (13476 + ($key)|0); - HEAP8[$4>>0] = $3; - } - $5 = ($key|0)==(259); - $or$cond3 = $5 & $2; - if (!($or$cond3)) { - return; - } - HEAP32[3340>>2] = 3; - return; -} -function _MouseButtonCallback($window,$button,$action,$mods) { - $window = $window|0; - $button = $button|0; - $action = $action|0; - $mods = $mods|0; - var $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, $9 = 0, $gestureEvent = 0; - var $gestureEvent$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $gestureEvent$byval_copy = sp + 64|0; - $gestureEvent = sp + 8|0; - $0 = sp; - $1 = $action&255; - $2 = (14500 + ($button)|0); - HEAP8[$2>>0] = $1; - $3 = (_IsMouseButtonPressed(0)|0); - $4 = ($3|0)==(0); - if ($4) { - $5 = (_IsMouseButtonReleased(0)|0); - $6 = ($5|0)==(0); - if (!($6)) { - HEAP32[$gestureEvent>>2] = 0; - } - } else { - HEAP32[$gestureEvent>>2] = 1; - } - $7 = ((($gestureEvent)) + 4|0); - HEAP32[$7>>2] = 1; - $8 = ((($gestureEvent)) + 24|0); - _GetMousePosition($0); - $9 = $0; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = $8; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - dest=$gestureEvent$byval_copy; src=$gestureEvent; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($gestureEvent$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($window,$x,$y) { - $window = $window|0; - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $gestureEvent = 0, $gestureEvent$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $gestureEvent$byval_copy = sp + 56|0; - $gestureEvent = sp; - HEAP32[$gestureEvent>>2] = 2; - $0 = ((($gestureEvent)) + 4|0); - HEAP32[$0>>2] = 1; - $1 = $x; - $2 = $y; - $3 = ((($gestureEvent)) + 24|0); - HEAPF32[$3>>2] = $1; - $4 = ((($gestureEvent)) + 28|0); - HEAPF32[$4>>2] = $2; - dest=$gestureEvent$byval_copy; src=$gestureEvent; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($gestureEvent$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($window,$key) { - $window = $window|0; - $key = $key|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[3340>>2] = $key; - return; -} -function _ScrollCallback($window,$xoffset,$yoffset) { - $window = $window|0; - $xoffset = +$xoffset; - $yoffset = +$yoffset; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (~~(($yoffset))); - HEAP32[11044>>2] = $0; - return; -} -function _WindowIconifyCallback($window,$iconified) { - $window = $window|0; - $iconified = $iconified|0; - var $$ = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $not$ = ($iconified|0)!=(0); - $$ = $not$&1; - HEAP32[3200>>2] = $$; - return; -} -function _emscripten_GetProcAddress($name_) { - $name_ = $name_|0; - var $0 = 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, $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, $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, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $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, $420 = 0, $421 = 0; - var $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, $439 = 0, $44 = 0; - var $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, $457 = 0, $458 = 0; - var $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, $475 = 0, $476 = 0; - var $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, $493 = 0, $494 = 0; - var $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, $509 = 0, $51 = 0, $510 = 0, $511 = 0; - var $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, $53 = 0; - var $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, $548 = 0; - var $549 = 0, $55 = 0, $550 = 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, $end = 0, $name = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $name = sp + 4|0; - $end = sp; - HEAP32[$1>>2] = $name_; - $2 = HEAP32[$1>>2]|0; - $3 = (_strlen($2)|0); - $4 = (($3) + 1)|0; - $5 = (_malloc($4)|0); - HEAP32[$name>>2] = $5; - $6 = HEAP32[$name>>2]|0; - $7 = HEAP32[$1>>2]|0; - (_strcpy($6,$7)|0); - $8 = HEAP32[$name>>2]|0; - $9 = (_strstr($8,26595)|0); - HEAP32[$end>>2] = $9; - $10 = HEAP32[$end>>2]|0; - $11 = ($10|0)!=(0|0); - if ($11) { - $12 = HEAP32[$end>>2]|0; - HEAP8[$12>>0] = 0; - } - $13 = HEAP32[$name>>2]|0; - $14 = (_strstr($13,26599)|0); - HEAP32[$end>>2] = $14; - $15 = HEAP32[$end>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$end>>2]|0; - HEAP8[$17>>0] = 0; - } - $18 = HEAP32[$name>>2]|0; - $19 = (_strstr($18,26603)|0); - HEAP32[$end>>2] = $19; - $20 = HEAP32[$end>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { - $22 = HEAP32[$end>>2]|0; - HEAP8[$22>>0] = 0; - } - $23 = HEAP32[$name>>2]|0; - $24 = (_strstr($23,26607)|0); - HEAP32[$end>>2] = $24; - $25 = HEAP32[$end>>2]|0; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$end>>2]|0; - HEAP8[$27>>0] = 0; - } - $28 = HEAP32[$name>>2]|0; - $29 = (_strcmp($28,26613)|0); - $30 = ($29|0)!=(0); - do { - if ($30) { - $31 = HEAP32[$name>>2]|0; - $32 = (_strcmp($31,26651)|0); - $33 = ($32|0)!=(0); - if (!($33)) { - HEAP32[$name>>2] = 26670; - break; - } - $34 = HEAP32[$name>>2]|0; - $35 = (_strcmp($34,26683)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$name>>2] = 26704; - break; - } - $37 = HEAP32[$name>>2]|0; - $38 = (_strcmp($37,26719)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$name>>2] = 26734; - break; - } - $40 = HEAP32[$name>>2]|0; - $41 = (_strcmp($40,26749)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$name>>2] = 26764; - } - } else { - HEAP32[$name>>2] = 26635; } } while(0); - $43 = HEAP32[$name>>2]|0; - $44 = (_strcmp($43,26779)|0); - $45 = ($44|0)!=(0); - do { - if ($45) { - $46 = HEAP32[$name>>2]|0; - $47 = (_strcmp($46,26793)|0); - $48 = ($47|0)!=(0); - if (!($48)) { - HEAP32[$0>>2] = 3; - break; - } - $49 = HEAP32[$name>>2]|0; - $50 = (_strcmp($49,26805)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$0>>2] = 7; - break; - } - $52 = HEAP32[$name>>2]|0; - $53 = (_strcmp($52,26819)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$0>>2] = 8; - break; - } - $55 = HEAP32[$name>>2]|0; - $56 = (_strcmp($55,26831)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$0>>2] = 9; - break; - } - $58 = HEAP32[$name>>2]|0; - $59 = (_strcmp($58,26845)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$0>>2] = 10; - break; - } - $61 = HEAP32[$name>>2]|0; - $62 = (_strcmp($61,26859)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$0>>2] = 11; - break; - } - $64 = HEAP32[$name>>2]|0; - $65 = (_strcmp($64,26876)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$0>>2] = 1; - break; - } - $67 = HEAP32[$name>>2]|0; - $68 = (_strcmp($67,26899)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$0>>2] = 1; - break; - } - $70 = HEAP32[$name>>2]|0; - $71 = (_strcmp($70,26925)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$0>>2] = 2; - break; - } - $73 = HEAP32[$name>>2]|0; - $74 = (_strcmp($73,26938)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$0>>2] = 3; - break; - } - $76 = HEAP32[$name>>2]|0; - $77 = (_strcmp($76,26954)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$0>>2] = 1; - break; - } - $79 = HEAP32[$name>>2]|0; - $80 = (_strcmp($79,26967)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$0>>2] = 12; - break; - } - $82 = HEAP32[$name>>2]|0; - $83 = (_strcmp($82,26981)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$0>>2] = 3; - break; - } - $85 = HEAP32[$name>>2]|0; - $86 = (_strcmp($85,27001)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$0>>2] = 4; - break; - } - $88 = HEAP32[$name>>2]|0; - $89 = (_strcmp($88,27021)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$0>>2] = 5; - break; - } - $91 = HEAP32[$name>>2]|0; - $92 = (_strcmp($91,27038)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$0>>2] = 6; - break; - } - $94 = HEAP32[$name>>2]|0; - $95 = (_strcmp($94,27055)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$0>>2] = 4; - break; - } - $97 = HEAP32[$name>>2]|0; - $98 = (_strcmp($97,27067)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$0>>2] = 13; - break; - } - $100 = HEAP32[$name>>2]|0; - $101 = (_strcmp($100,27080)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$0>>2] = 14; - break; - } - $103 = HEAP32[$name>>2]|0; - $104 = (_strcmp($103,27096)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$0>>2] = 7; - break; - } - $106 = HEAP32[$name>>2]|0; - $107 = (_strcmp($106,27119)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$0>>2] = 2; - break; - } - $109 = HEAP32[$name>>2]|0; - $110 = (_strcmp($109,27132)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$0>>2] = 3; - break; - } - $112 = HEAP32[$name>>2]|0; - $113 = (_strcmp($112,27148)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$0>>2] = 5; - break; - } - $115 = HEAP32[$name>>2]|0; - $116 = (_strcmp($115,27159)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$0>>2] = 15; - break; - } - $118 = HEAP32[$name>>2]|0; - $119 = (_strcmp($118,27178)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$0>>2] = 16; - break; - } - $121 = HEAP32[$name>>2]|0; - $122 = (_strcmp($121,27200)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$0>>2] = 17; - break; - } - $124 = HEAP32[$name>>2]|0; - $125 = (_strcmp($124,27219)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$0>>2] = 8; - break; - } - $127 = HEAP32[$name>>2]|0; - $128 = (_strcmp($127,27248)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$0>>2] = 6; - break; - } - $130 = HEAP32[$name>>2]|0; - $131 = (_strcmp($130,27265)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$0>>2] = 9; - break; - } - $133 = HEAP32[$name>>2]|0; - $134 = (_strcmp($133,27280)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$0>>2] = 10; - break; - } - $136 = HEAP32[$name>>2]|0; - $137 = (_strcmp($136,27295)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$0>>2] = 3; - break; - } - $139 = HEAP32[$name>>2]|0; - $140 = (_strcmp($139,27316)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$0>>2] = 11; - break; - } - $142 = HEAP32[$name>>2]|0; - $143 = (_strcmp($142,27336)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$0>>2] = 12; - break; - } - $145 = HEAP32[$name>>2]|0; - $146 = (_strcmp($145,27356)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$0>>2] = 13; - break; - } - $148 = HEAP32[$name>>2]|0; - $149 = (_strcmp($148,27382)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$0>>2] = 2; - break; - } - $151 = HEAP32[$name>>2]|0; - $152 = (_strcmp($151,27401)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$0>>2] = 1; - break; - } - $154 = HEAP32[$name>>2]|0; - $155 = (_strcmp($154,27413)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$0>>2] = 3; - break; - } - $157 = HEAP32[$name>>2]|0; - $158 = (_strcmp($157,27425)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$0>>2] = 1; - break; - } - $160 = HEAP32[$name>>2]|0; - $161 = (_strcmp($160,27437)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$0>>2] = 1; - break; - } - $163 = HEAP32[$name>>2]|0; - $164 = (_strcmp($163,27449)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$0>>2] = 18; - break; - } - $166 = HEAP32[$name>>2]|0; - $167 = (_strcmp($166,27461)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$0>>2] = 14; - break; - } - $169 = HEAP32[$name>>2]|0; - $170 = (_strcmp($169,27473)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$0>>2] = 4; - break; - } - $172 = HEAP32[$name>>2]|0; - $173 = (_strcmp($172,27485)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$0>>2] = 2; - break; - } - $175 = HEAP32[$name>>2]|0; - $176 = (_strcmp($175,27497)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$0>>2] = 15; - break; - } - $178 = HEAP32[$name>>2]|0; - $179 = (_strcmp($178,27510)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$0>>2] = 16; - break; - } - $181 = HEAP32[$name>>2]|0; - $182 = (_strcmp($181,27523)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$0>>2] = 17; - break; - } - $184 = HEAP32[$name>>2]|0; - $185 = (_strcmp($184,27536)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$0>>2] = 18; - break; - } - $187 = HEAP32[$name>>2]|0; - $188 = (_strcmp($187,27549)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$0>>2] = 19; - break; - } - $190 = HEAP32[$name>>2]|0; - $191 = (_strcmp($190,27562)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$0>>2] = 20; - break; - } - $193 = HEAP32[$name>>2]|0; - $194 = (_strcmp($193,27575)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$0>>2] = 21; - break; - } - $196 = HEAP32[$name>>2]|0; - $197 = (_strcmp($196,27588)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$0>>2] = 22; - break; - } - $199 = HEAP32[$name>>2]|0; - $200 = (_strcmp($199,27601)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$0>>2] = 5; - break; - } - $202 = HEAP32[$name>>2]|0; - $203 = (_strcmp($202,27620)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$0>>2] = 6; - break; - } - $205 = HEAP32[$name>>2]|0; - $206 = (_strcmp($205,27639)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$0>>2] = 7; - break; - } - $208 = HEAP32[$name>>2]|0; - $209 = (_strcmp($208,27658)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$0>>2] = 19; - break; - } - $211 = HEAP32[$name>>2]|0; - $212 = (_strcmp($211,27671)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$0>>2] = 20; - break; - } - $214 = HEAP32[$name>>2]|0; - $215 = (_strcmp($214,27689)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$0>>2] = 21; - break; - } - $217 = HEAP32[$name>>2]|0; - $218 = (_strcmp($217,27707)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$0>>2] = 22; - break; - } - $220 = HEAP32[$name>>2]|0; - $221 = (_strcmp($220,27725)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$0>>2] = 23; - break; - } - $223 = HEAP32[$name>>2]|0; - $224 = (_strcmp($223,27743)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$0>>2] = 4; - break; - } - $226 = HEAP32[$name>>2]|0; - $227 = (_strcmp($226,27763)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$0>>2] = 3; - break; - } - $229 = HEAP32[$name>>2]|0; - $230 = (_strcmp($229,26704)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$0>>2] = 7; - break; - } - $232 = HEAP32[$name>>2]|0; - $233 = (_strcmp($232,27781)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$0>>2] = 1; - break; - } - $235 = HEAP32[$name>>2]|0; - $236 = (_strcmp($235,27796)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$0>>2] = 8; - break; - } - $238 = HEAP32[$name>>2]|0; - $239 = (_strcmp($238,27817)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$0>>2] = 9; - break; - } - $241 = HEAP32[$name>>2]|0; - $242 = (_strcmp($241,27832)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$0>>2] = 10; - break; - } - $244 = HEAP32[$name>>2]|0; - $245 = (_strcmp($244,27850)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$0>>2] = 2; - break; - } - $247 = HEAP32[$name>>2]|0; - $248 = (_strcmp($247,27866)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$0>>2] = 11; - break; - } - $250 = HEAP32[$name>>2]|0; - $251 = (_strcmp($250,27885)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$0>>2] = 23; - break; - } - $253 = HEAP32[$name>>2]|0; - $254 = (_strcmp($253,27899)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$0>>2] = 24; - break; - } - $256 = HEAP32[$name>>2]|0; - $257 = (_strcmp($256,27914)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$0>>2] = 8; - break; - } - $259 = HEAP32[$name>>2]|0; - $260 = (_strcmp($259,26635)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$0>>2] = 1; - break; - } - $262 = HEAP32[$name>>2]|0; - $263 = (_strcmp($262,27925)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$0>>2] = 3; - break; - } - $265 = HEAP32[$name>>2]|0; - $266 = (_strcmp($265,26734)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$0>>2] = 24; - break; - } - $268 = HEAP32[$name>>2]|0; - $269 = (_strcmp($268,26764)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$0>>2] = 25; - break; - } - $271 = HEAP32[$name>>2]|0; - $272 = (_strcmp($271,27941)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$0>>2] = 12; - break; - } - $274 = HEAP32[$name>>2]|0; - $275 = (_strcmp($274,27968)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$0>>2] = 4; - break; - } - $277 = HEAP32[$name>>2]|0; - $278 = (_strcmp($277,27982)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$0>>2] = 13; - break; - } - $280 = HEAP32[$name>>2]|0; - $281 = (_strcmp($280,26670)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$0>>2] = 5; - break; - } - $283 = HEAP32[$name>>2]|0; - $284 = (_strcmp($283,28002)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$0>>2] = 6; - break; - } - $286 = HEAP32[$name>>2]|0; - $287 = (_strcmp($286,28020)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$0>>2] = 9; - break; - } - $289 = HEAP32[$name>>2]|0; - $290 = (_strcmp($289,28032)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$0>>2] = 25; - break; - } - $292 = HEAP32[$name>>2]|0; - $293 = (_strcmp($292,28053)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$0>>2] = 26; - break; - } - $295 = HEAP32[$name>>2]|0; - $296 = (_strcmp($295,28071)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$0>>2] = 27; - break; - } - $298 = HEAP32[$name>>2]|0; - $299 = (_strcmp($298,28089)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$0>>2] = 28; - break; - } - $301 = HEAP32[$name>>2]|0; - $302 = (_strcmp($301,28110)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$0>>2] = 14; - break; - } - $304 = HEAP32[$name>>2]|0; - $305 = (_strcmp($304,28136)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$0>>2] = 3; - break; - } - $307 = HEAP32[$name>>2]|0; - $308 = (_strcmp($307,28159)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$0>>2] = 15; - break; - } - $310 = HEAP32[$name>>2]|0; - $311 = (_strcmp($310,28197)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$0>>2] = 10; - break; - } - $313 = HEAP32[$name>>2]|0; - $314 = (_strcmp($313,28213)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$0>>2] = 7; - break; - } - $316 = HEAP32[$name>>2]|0; - $317 = (_strcmp($316,28228)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$0>>2] = 26; - break; - } - $319 = HEAP32[$name>>2]|0; - $320 = (_strcmp($319,28251)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$0>>2] = 16; - break; - } - $322 = HEAP32[$name>>2]|0; - $323 = (_strcmp($322,28264)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$0>>2] = 29; - break; - } - $325 = HEAP32[$name>>2]|0; - $326 = (_strcmp($325,28278)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$0>>2] = 30; - break; - } - $328 = HEAP32[$name>>2]|0; - $329 = (_strcmp($328,28292)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$0>>2] = 2; - break; - } - $331 = HEAP32[$name>>2]|0; - $332 = (_strcmp($331,28312)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$0>>2] = 8; - break; - } - $334 = HEAP32[$name>>2]|0; - $335 = (_strcmp($334,28332)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$0>>2] = 17; - break; - } - $337 = HEAP32[$name>>2]|0; - $338 = (_strcmp($337,28348)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$0>>2] = 18; - break; - } - $340 = HEAP32[$name>>2]|0; - $341 = (_strcmp($340,28366)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$0>>2] = 27; - break; - } - $343 = HEAP32[$name>>2]|0; - $344 = (_strcmp($343,28382)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$0>>2] = 19; - break; - } - $346 = HEAP32[$name>>2]|0; - $347 = (_strcmp($346,28397)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$0>>2] = 9; - break; - } - $349 = HEAP32[$name>>2]|0; - $350 = (_strcmp($349,28419)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$0>>2] = 31; - break; - } - $352 = HEAP32[$name>>2]|0; - $353 = (_strcmp($352,28437)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$0>>2] = 32; - break; - } - $355 = HEAP32[$name>>2]|0; - $356 = (_strcmp($355,28458)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$0>>2] = 10; - break; - } - $358 = HEAP32[$name>>2]|0; - $359 = (_strcmp($358,28476)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$0>>2] = 11; - break; - } - $361 = HEAP32[$name>>2]|0; - $362 = (_strcmp($361,28489)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$0>>2] = 2; - break; - } - $364 = HEAP32[$name>>2]|0; - $365 = (_strcmp($364,28504)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$0>>2] = 12; - break; - } - $367 = HEAP32[$name>>2]|0; - $368 = (_strcmp($367,28518)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$0>>2] = 1; - break; - } - $370 = HEAP32[$name>>2]|0; - $371 = (_strcmp($370,28528)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$0>>2] = 1; - break; - } - $373 = HEAP32[$name>>2]|0; - $374 = (_strcmp($373,28538)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$0>>2] = 3; - break; - } - $376 = HEAP32[$name>>2]|0; - $377 = (_strcmp($376,28560)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$0>>2] = 13; - break; - } - $379 = HEAP32[$name>>2]|0; - $380 = (_strcmp($379,28586)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$0>>2] = 14; - break; - } - $382 = HEAP32[$name>>2]|0; - $383 = (_strcmp($382,28613)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$0>>2] = 28; - break; - } - $385 = HEAP32[$name>>2]|0; - $386 = (_strcmp($385,28626)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$0>>2] = 20; - break; - } - $388 = HEAP32[$name>>2]|0; - $389 = (_strcmp($388,28641)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$0>>2] = 4; - break; - } - $391 = HEAP32[$name>>2]|0; - $392 = (_strcmp($391,28656)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$0>>2] = 3; - break; - } - $394 = HEAP32[$name>>2]|0; - $395 = (_strcmp($394,28680)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$0>>2] = 2; - break; - } - $397 = HEAP32[$name>>2]|0; - $398 = (_strcmp($397,28691)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$0>>2] = 33; - break; - } - $400 = HEAP32[$name>>2]|0; - $401 = (_strcmp($400,28713)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$0>>2] = 21; - break; - } - $403 = HEAP32[$name>>2]|0; - $404 = (_strcmp($403,28735)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$0>>2] = 5; - break; - } - $406 = HEAP32[$name>>2]|0; - $407 = (_strcmp($406,28759)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$0>>2] = 4; - break; - } - $409 = HEAP32[$name>>2]|0; - $410 = (_strcmp($409,28768)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$0>>2] = 5; - break; - } - $412 = HEAP32[$name>>2]|0; - $413 = (_strcmp($412,28776)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$0>>2] = 1; - break; - } - $415 = HEAP32[$name>>2]|0; - $416 = (_strcmp($415,28789)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$0>>2] = 2; - break; - } - $418 = HEAP32[$name>>2]|0; - $419 = (_strcmp($418,28803)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$0>>2] = 15; - break; - } - $421 = HEAP32[$name>>2]|0; - $422 = (_strcmp($421,28815)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$0>>2] = 16; - break; - } - $424 = HEAP32[$name>>2]|0; - $425 = (_strcmp($424,28824)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$0>>2] = 17; - break; - } - $427 = HEAP32[$name>>2]|0; - $428 = (_strcmp($427,28834)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$0>>2] = 18; - break; - } - $430 = HEAP32[$name>>2]|0; - $431 = (_strcmp($430,28846)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$0>>2] = 19; - break; - } - $433 = HEAP32[$name>>2]|0; - $434 = (_strcmp($433,28857)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$0>>2] = 20; - break; - } - $436 = HEAP32[$name>>2]|0; - $437 = (_strcmp($436,28865)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$0>>2] = 3; - break; - } - $439 = HEAP32[$name>>2]|0; - $440 = (_strcmp($439,28877)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$0>>2] = 21; - break; - } - $442 = HEAP32[$name>>2]|0; - $443 = (_strcmp($442,28892)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$0>>2] = 22; - break; - } - $445 = HEAP32[$name>>2]|0; - $446 = (_strcmp($445,28904)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$0>>2] = 23; - break; - } - $448 = HEAP32[$name>>2]|0; - $449 = (_strcmp($448,28918)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$0>>2] = 11; - break; - } - $451 = HEAP32[$name>>2]|0; - $452 = (_strcmp($451,28943)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$0>>2] = 24; - break; - } - $454 = HEAP32[$name>>2]|0; - $455 = (_strcmp($454,28960)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$0>>2] = 25; - break; - } - $457 = HEAP32[$name>>2]|0; - $458 = (_strcmp($457,28976)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$0>>2] = 26; - break; - } - $460 = HEAP32[$name>>2]|0; - $461 = (_strcmp($460,28992)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$0>>2] = 12; - break; - } - $463 = HEAP32[$name>>2]|0; - $464 = (_strcmp($463,29004)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$0>>2] = 34; - break; - } - $466 = HEAP32[$name>>2]|0; - $467 = (_strcmp($466,29016)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$0>>2] = 35; - break; - } - $469 = HEAP32[$name>>2]|0; - $470 = (_strcmp($469,29040)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$0>>2] = 1; - break; - } - $472 = HEAP32[$name>>2]|0; - $473 = (_strcmp($472,29053)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$0>>2] = 2; - break; - } - $475 = HEAP32[$name>>2]|0; - $476 = (_strcmp($475,29067)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$0>>2] = 36; - break; - } - $478 = HEAP32[$name>>2]|0; - $479 = (_strcmp($478,29089)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$0>>2] = 37; - break; - } - $481 = HEAP32[$name>>2]|0; - $482 = (_strcmp($481,29096)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$0>>2] = 3; - break; - } - $484 = HEAP32[$name>>2]|0; - $485 = (_strcmp($484,29112)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$0>>2] = 2; - break; - } - $487 = HEAP32[$name>>2]|0; - $488 = (_strcmp($487,29129)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$0>>2] = 1; - break; - } - $490 = HEAP32[$name>>2]|0; - $491 = (_strcmp($490,29146)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$0>>2] = 29; - break; - } - $493 = HEAP32[$name>>2]|0; - $494 = (_strcmp($493,29162)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$0>>2] = 1; - break; - } - $496 = HEAP32[$name>>2]|0; - $497 = (_strcmp($496,29178)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$0>>2] = 4; - break; - } - $499 = HEAP32[$name>>2]|0; - $500 = (_strcmp($499,29195)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$0>>2] = 30; - break; - } - $502 = HEAP32[$name>>2]|0; - $503 = (_strcmp($502,29209)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$0>>2] = 31; - break; - } - $505 = HEAP32[$name>>2]|0; - $506 = (_strcmp($505,29221)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$0>>2] = 22; - break; - } - $508 = HEAP32[$name>>2]|0; - $509 = (_strcmp($508,29232)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$0>>2] = 2; - break; - } - $511 = HEAP32[$name>>2]|0; - $512 = (_strcmp($511,29245)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$0>>2] = 23; - break; - } - $514 = HEAP32[$name>>2]|0; - $515 = (_strcmp($514,29255)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$0>>2] = 2; - break; - } - $517 = HEAP32[$name>>2]|0; - $518 = (_strcmp($517,29272)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$0>>2] = 24; - break; - } - $520 = HEAP32[$name>>2]|0; - $521 = (_strcmp($520,29284)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$0>>2] = 25; - break; - } - $523 = HEAP32[$name>>2]|0; - $524 = (_strcmp($523,29306)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$0>>2] = 26; - break; - } - $526 = HEAP32[$name>>2]|0; - $527 = (_strcmp($526,29326)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$0>>2] = 3; - break; - } - $529 = HEAP32[$name>>2]|0; - $530 = (_strcmp($529,29339)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$0>>2] = 27; - break; - } - $532 = HEAP32[$name>>2]|0; - $533 = (_strcmp($532,29361)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$0>>2] = 28; - break; - } - $535 = HEAP32[$name>>2]|0; - $536 = (_strcmp($535,29381)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$0>>2] = 2; - break; - } - $538 = HEAP32[$name>>2]|0; - $539 = (_strcmp($538,29398)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$0>>2] = 2; - break; - } - $541 = HEAP32[$name>>2]|0; - $542 = (_strcmp($541,29415)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$0>>2] = 3; - break; - } - $544 = HEAP32[$name>>2]|0; - $545 = (_strcmp($544,29435)|0); - $546 = ($545|0)!=(0); - if ($546) { - $547 = HEAP32[$1>>2]|0; - $548 = HEAP32[$name>>2]|0; - $549 = _emscripten_asm_const_2(0, ($547|0), ($548|0))|0; - HEAP32[$0>>2] = 0; - break; - } else { - HEAP32[$0>>2] = 38; - break; - } - } else { - HEAP32[$0>>2] = 6; - } - } while(0); - $550 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($550|0); + $16 = ((($4)) + 16|0); + _alGenSources(1,($16|0)); + $17 = HEAP32[$16>>2]|0; + _alSourcef(($17|0),4099,1.0); + $18 = HEAP32[$16>>2]|0; + _alSourcef(($18|0),4106,1.0); + $19 = HEAP32[$16>>2]|0; + _alSource3f(($19|0),4100,0.0,0.0,0.0); + $20 = HEAP32[$16>>2]|0; + _alSource3f(($20|0),4102,0.0,0.0,0.0); + $21 = ((($4)) + 20|0); + _alGenBuffers(2,($21|0)); + $22 = HEAP32[$6>>2]|0; + $23 = $22 << 9; + $24 = $23 & 536870400; + $25 = HEAP32[$26>>2]|0; + $27 = Math_imul($24, $25)|0; + $28 = (_calloc($27,1)|0); + $29 = ((($4)) + 12|0); + $30 = ((($4)) + 20|0); + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$29>>2]|0; + $33 = HEAP32[$6>>2]|0; + $34 = $33 << 9; + $35 = $34 & 536870400; + $36 = HEAP32[$26>>2]|0; + $37 = Math_imul($35, $36)|0; + $38 = HEAP32[$4>>2]|0; + _alBufferData(($31|0),($32|0),($28|0),($37|0),($38|0)); + $39 = ((($4)) + 24|0); + $40 = HEAP32[$39>>2]|0; + $41 = HEAP32[$29>>2]|0; + $42 = HEAP32[$6>>2]|0; + $43 = $42 << 9; + $44 = $43 & 536870400; + $45 = HEAP32[$26>>2]|0; + $46 = Math_imul($44, $45)|0; + $47 = HEAP32[$4>>2]|0; + _alBufferData(($40|0),($41|0),($28|0),($46|0),($47|0)); + _free($28); + $48 = HEAP32[$16>>2]|0; + _alSourceQueueBuffers(($48|0),2,($21|0)); + $49 = HEAP32[$16>>2]|0; + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$6>>2]|0; + $52 = HEAP32[$26>>2]|0; + $53 = ($52|0)==(1); + $54 = $53 ? 17020 : 17025; + HEAP32[$vararg_buffer7>>2] = $49; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $50; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $51; + $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); + HEAP32[$vararg_ptr12>>2] = $54; + _TraceLog(0,18865,$vararg_buffer7); + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$4+24>>2]|0; + STACKTOP = sp;return; } -function _isspace($c) { - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _UnloadMusicStream($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($c|0)==(32); - $1 = (($c) + -9)|0; - $2 = ($1>>>0)<(5); - $3 = $0 | $2; - $4 = $3&1; - return ($4|0); -} -function _strerror($e) { - $e = $e|0; - var $$lcssa = 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, $i$03 = 0, $i$03$lcssa = 0, $i$12 = 0, $s$0$lcssa = 0, $s$01 = 0, $s$1 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $i$03 = 0; - while(1) { - $1 = (29551 + ($i$03)|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ($3|0)==($e|0); - if ($4) { - $i$03$lcssa = $i$03; - label = 2; - break; - } - $5 = (($i$03) + 1)|0; - $6 = ($5|0)==(87); - if ($6) { - $i$12 = 87;$s$01 = 29639; - label = 5; - break; - } else { - $i$03 = $5; - } - } - if ((label|0) == 2) { - $0 = ($i$03$lcssa|0)==(0); - if ($0) { - $s$0$lcssa = 29639; - } else { - $i$12 = $i$03$lcssa;$s$01 = 29639; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $s$1 = $s$01; - while(1) { - $7 = HEAP8[$s$1>>0]|0; - $8 = ($7<<24>>24)==(0); - $9 = ((($s$1)) + 1|0); - if ($8) { - $$lcssa = $9; - break; - } else { - $s$1 = $9; - } - } - $10 = (($i$12) + -1)|0; - $11 = ($10|0)==(0); - if ($11) { - $s$0$lcssa = $$lcssa; - break; - } else { - $i$12 = $10;$s$01 = $$lcssa; - label = 5; - } - } - } - return ($s$0$lcssa|0); -} -function ___errno_location() { - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[11048>>2]|0; - $1 = ($0|0)==(0|0); - if ($1) { - $$0 = 11304; - } else { - $2 = (_pthread_self()|0); - $3 = ((($2)) + 60|0); - $4 = HEAP32[$3>>2]|0; - $$0 = $4; - } - return ($$0|0); -} -function ___floatscan($f,$prec,$pok) { - $f = $f|0; - $prec = $prec|0; - $pok = $pok|0; - var $$$i = 0, $$0 = 0.0, $$0$i27 = 0.0, $$010$i = 0, $$07$i = 0, $$0710$i = 0, $$0711$i = 0, $$09$i = 0, $$1$be$i = 0, $$1$ph$i = 0, $$11$i = 0, $$18$i = 0, $$2$i = 0, $$3$be$i = 0, $$3$lcssa$i = 0, $$3105$i = 0, $$in = 0, $$k$0$i = 0, $$lcssa = 0, $$lcssa256 = 0; - var $$lcssa256$lcssa = 0, $$lcssa257 = 0, $$lcssa257$lcssa = 0, $$lcssa263 = 0, $$lcssa264 = 0, $$lcssa265 = 0, $$lcssa275 = 0, $$lnz$0$i = 0, $$neg32$i = 0, $$not$i = 0, $$old8 = 0, $$pn$i = 0.0, $$pre$i = 0, $$pre$i17 = 0, $$pre$phi42$iZ2D = 0.0, $$pre41$i = 0.0, $$promoted$i = 0, $$sink$off0$i = 0, $0 = 0, $1 = 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.0, $183 = 0.0, $184 = 0.0, $185 = 0.0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0; - var $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, $207 = 0; - var $208 = 0, $209 = 0.0, $21 = 0, $210 = 0.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.0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0; - var $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0.0, $268 = 0.0, $269 = 0.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.0, $281 = 0.0, $282 = 0.0, $283 = 0, $284 = 0, $285 = 0.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, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0.0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0.0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0, $324 = 0, $325 = 0.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, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0; - var $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, $423 = 0; - var $424 = 0.0, $425 = 0.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.0; - var $442 = 0.0, $443 = 0.0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0.0, $454 = 0.0, $455 = 0.0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0; - var $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0.0, $466 = 0.0, $467 = 0.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; - var $479 = 0.0, $48 = 0, $480 = 0, $481 = 0.0, $482 = 0.0, $483 = 0, $484 = 0.0, $485 = 0, $486 = 0.0, $487 = 0.0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0.0, $492 = 0.0, $493 = 0, $494 = 0, $495 = 0, $496 = 0; - var $497 = 0, $498 = 0.0, $499 = 0.0, $5 = 0, $50 = 0.0, $500 = 0.0, $501 = 0, $502 = 0, $503 = 0, $504 = 0.0, $505 = 0.0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0.0, $510 = 0, $511 = 0, $512 = 0, $513 = 0; - var $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0.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.0, $62 = 0, $620 = 0, $621 = 0; - var $622 = 0, $623 = 0, $624 = 0.0, $625 = 0.0, $626 = 0.0, $627 = 0, $628 = 0.0, $629 = 0.0, $63 = 0, $630 = 0.0, $631 = 0.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.0, $643 = 0.0, $644 = 0.0, $645 = 0, $646 = 0.0, $647 = 0.0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0.0, $652 = 0.0, $653 = 0.0, $654 = 0.0, $655 = 0, $656 = 0, $657 = 0.0, $658 = 0; - var $659 = 0.0, $66 = 0, $660 = 0.0, $661 = 0.0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0.0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0.0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0; - var $677 = 0, $678 = 0.0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0.0, $684 = 0, $685 = 0, $686 = 0.0, $687 = 0.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, $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, $a$0$lcssa151$i = 0, $a$085$i = 0, $a$1$i = 0, $a$1$i$lcssa = 0, $a$2$ph38$i = 0, $a$3$i = 0, $a$3$i$lcssa248 = 0, $a$3$i249 = 0, $a$3$ph$i = 0, $a$3$ph157$i = 0, $a$478$i = 0, $a$5$i = 0, $a$5$i$lcssa = 0, $a$5$i$lcssa$lcssa = 0, $bias$0$i = 0.0, $bias$0$i25 = 0.0, $bits$0$ph = 0, $brmerge$i28 = 0; - var $c$0 = 0, $c$0$i = 0, $c$1$lcssa = 0, $c$1$ph$i = 0, $c$179 = 0, $c$2 = 0, $c$2$i = 0, $c$2$lcssa$i = 0, $c$377 = 0, $c$4 = 0, $c$5 = 0, $c$6 = 0, $carry$087$i = 0, $carry1$0$i = 0, $carry1$1$i = 0, $carry1$1$i$lcssa = 0, $carry1$1$i$lcssa$lcssa = 0, $carry3$081$i = 0, $cond$i = 0, $d$0$i = 0; - var $denormal$0$i = 0, $denormal$1$i = 0, $denormal$2$i = 0, $e2$0$i19 = 0, $e2$0$ph$i = 0, $e2$1$i = 0, $e2$1$i246 = 0, $e2$1$ph$i = 0, $e2$1$ph156$i = 0, $e2$2$i = 0, $e2$3$i = 0, $emin$0$ph = 0, $exitcond$i = 0, $frac$0$i = 0.0, $frac$1$i = 0.0, $frac$2$i = 0.0, $gotdig$0$i = 0, $gotdig$0$i$lcssa242 = 0, $gotdig$0$i12 = 0, $gotdig$0$i12$lcssa273 = 0; - var $gotdig$2$i = 0, $gotdig$2$i$lcssa = 0, $gotdig$2$i13 = 0, $gotdig$3$i = 0, $gotdig$3$lcssa$i = 0, $gotdig$3101$i = 0, $gotdig$3101$i$lcssa = 0, $gotdig$4$i = 0, $gotrad$0$i = 0, $gotrad$0$i$lcssa = 0, $gotrad$0$i14 = 0, $gotrad$1$i = 0, $gotrad$1$lcssa$i = 0, $gotrad$1102$i = 0, $gotrad$2$i = 0, $gottail$0$i = 0, $gottail$1$i = 0, $gottail$2$i = 0, $i$0$lcssa = 0, $i$078 = 0; - var $i$1 = 0, $i$276 = 0, $i$3 = 0, $i$4 = 0, $i$4$lcssa = 0, $j$0$lcssa$i = 0, $j$0104$i = 0, $j$0104$i$lcssa = 0, $j$067$i = 0, $j$068$i = 0, $j$069$i = 0, $j$2$i = 0, $j$394$i = 0, $k$0$lcssa$i = 0, $k$0103$i = 0, $k$0103$i$lcssa = 0, $k$063$i = 0, $k$064$i = 0, $k$065$i = 0, $k$2$i = 0; - var $k$3$i = 0, $k$486$i = 0, $k$5$i = 0, $k$5$in$i = 0, $k$5$z$2$i = 0, $k$679$i = 0, $lnz$0$lcssa$i = 0, $lnz$0100$i = 0, $lnz$0100$i$lcssa = 0, $lnz$057$i = 0, $lnz$058$i = 0, $lnz$059$i = 0, $lnz$2$i = 0, $or$cond = 0, $or$cond$i = 0, $or$cond$i16 = 0, $or$cond13$i = 0, $or$cond15$i = 0, $or$cond16$i = 0, $or$cond17$i = 0; - var $or$cond182$i = 0, $or$cond19$i = 0, $or$cond20$i = 0, $or$cond3$i = 0, $or$cond4$i = 0, $or$cond5 = 0, $or$cond6$i = 0, $or$cond7 = 0, $or$cond8$i = 0, $or$cond9 = 0, $or$cond9$i = 0, $rp$0$lcssa152$i = 0, $rp$084$i = 0, $rp$1$i18 = 0, $rp$1$i18$lcssa = 0, $rp$2$ph36$i = 0, $rp$3$ph$i = 0, $rp$3$ph34$i = 0, $rp$477$i = 0, $rp$5$i = 0; - var $rp$5$i$lcssa = 0, $rp$5$i$lcssa$lcssa = 0, $scale$0$i = 0.0, $scale$1$i = 0.0, $scale$2$i = 0.0, $sign$0 = 0, $storemerge$i = 0, $sum$i = 0, $x$0$i = 0, $x$0$i$lcssa = 0, $x$1$i = 0, $x$2$i = 0, $x$3$lcssa$i = 0, $x$324$i = 0, $x$4$lcssa$i = 0, $x$419$i = 0, $x$5$i = 0, $x$6$i = 0, $x$i = 0, $y$0$i = 0.0; - var $y$0$i$lcssa = 0.0, $y$1$i = 0.0, $y$1$i24 = 0.0, $y$2$i = 0.0, $y$2$i26 = 0.0, $y$3$i = 0.0, $y$3$lcssa$i = 0.0, $y$320$i = 0.0, $y$4$i = 0.0, $y$5$i = 0.0, $z$0$i = 0, $z$1$i = 0, $z$1$ph37$i = 0, $z$2$i = 0, $z$3$i = 0, $z$3$i$lcssa = 0, $z$3$i$lcssa$lcssa = 0, $z$4$i = 0, $z$5$ph$i = 0, $z$7$1$i = 0; - var $z$7$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 512|0; - $x$i = sp; - switch ($prec|0) { + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $1 = ((($0)) + 12|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0; + _CloseAudioStream($$byval_copy); + $2 = HEAP32[$0>>2]|0; + switch ($2|0) { case 0: { - $bits$0$ph = 24;$emin$0$ph = -149; - label = 4; - break; - } - case 1: { - $bits$0$ph = 53;$emin$0$ph = -1074; - label = 4; + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + _stb_vorbis_close($4); + _free($0); + STACKTOP = sp;return; break; } case 2: { - $bits$0$ph = 53;$emin$0$ph = -1074; - label = 4; + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + _jar_xm_free_context($6); + _free($0); + STACKTOP = sp;return; break; } default: { - $$0 = 0.0; + _free($0); + STACKTOP = sp;return; } } +} +function _CloseAudioStream($0) { + $0 = $0|0; + var $$pr = 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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + _alSourceStop(($4|0)); + HEAP32[$1>>2] = 0; + $5 = HEAP32[$3>>2]|0; + _alGetSourcei(($5|0),4117,($1|0)); + HEAP32[$2>>2] = 0; + $$pr = HEAP32[$1>>2]|0; + $6 = ($$pr|0)>(0); + if ($6) { + while(1) { + $7 = HEAP32[$3>>2]|0; + _alSourceUnqueueBuffers(($7|0),1,($2|0)); + $8 = HEAP32[$1>>2]|0; + $9 = (($8) + -1)|0; + HEAP32[$1>>2] = $9; + $10 = ($8|0)>(1); + if (!($10)) { + break; + } + } + } + _alDeleteSources(1,($3|0)); + $11 = ((($0)) + 20|0); + _alDeleteBuffers(2,($11|0)); + $12 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer>>2] = $12; + _TraceLog(0,18930,$vararg_buffer); + STACKTOP = sp;return; +} +function _PlayMusicStream($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 28|0); + $2 = HEAP32[$1>>2]|0; + _alSourcePlay(($2|0)); + return; +} +function _StopMusicStream($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 28|0); + $2 = HEAP32[$1>>2]|0; + _alSourceStop(($2|0)); + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 << 9; + $6 = $5 & 536870400; + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = Math_imul($6, $8)|0; + $10 = (_calloc($9,1)|0); + $11 = ((($0)) + 24|0); + $12 = ((($0)) + 12|0); + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$11>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = $16 << 9; + $18 = $17 & 536870400; + $19 = HEAP32[$7>>2]|0; + $20 = Math_imul($18, $19)|0; + $21 = HEAP32[$12>>2]|0; + _alBufferData(($14|0),($15|0),($10|0),($20|0),($21|0)); + $22 = ((($0)) + 36|0); + $23 = HEAP32[$22>>2]|0; + $24 = HEAP32[$11>>2]|0; + $25 = HEAP32[$3>>2]|0; + $26 = $25 << 9; + $27 = $26 & 536870400; + $28 = HEAP32[$7>>2]|0; + $29 = Math_imul($27, $28)|0; + $30 = HEAP32[$12>>2]|0; + _alBufferData(($23|0),($24|0),($10|0),($29|0),($30|0)); + _free($10); + $31 = HEAP32[$0>>2]|0; + $cond = ($31|0)==(0); + if (!($cond)) { + $34 = ((($0)) + 44|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + return; + } + $32 = ((($0)) + 4|0); + $33 = HEAP32[$32>>2]|0; + (_stb_vorbis_seek_start($33)|0); + $34 = ((($0)) + 44|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + return; +} +function _stb_vorbis_seek_start($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; + $1 = ((($0)) + 48|0); + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + if ($3) { + $4 = ((($0)) + 52|0); + $5 = HEAP32[$4>>2]|0; + _set_file_offset($0,$5); + $6 = ((($0)) + 992|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 1377|0); + HEAP8[$7>>0] = 1; + $8 = ((($0)) + 1380|0); + HEAP32[$8>>2] = -1; + $9 = (_vorbis_pump_first_frame($0)|0); + $$0 = $9; + return ($$0|0); + } else { + _error($0,2); + $$0 = 0; + return ($$0|0); + } + return (0)|0; +} +function _UpdateMusicStream($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$04143 = 0, $$byval_copy = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy = sp + 12|0; + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = sp + 4|0; + HEAP32[$2>>2] = 0; + $3 = ((($0)) + 12|0); + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + _alGetSourcei(($5|0),4112,($1|0)); + $6 = HEAP32[$4>>2]|0; + _alGetSourcei(($6|0),4118,($2|0)); + $7 = HEAP32[$2>>2]|0; + $8 = ($7|0)>(0); + if (!($8)) { + STACKTOP = sp;return; + } + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 << 12; + $12 = ((($0)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = Math_imul($11, $13)|0; + $15 = $14 >>> 3; + $16 = (_calloc($15,1)|0); + $17 = HEAP32[$2>>2]|0; + $18 = ($17|0)>(0); L4: do { - if ((label|0) == 4) { - $0 = ((($f)) + 4|0); - $1 = ((($f)) + 100|0); + if ($18) { + $19 = ((($0)) + 48|0); + $20 = ((($0)) + 4|0); + $21 = ((($0)) + 8|0); + $$04143 = 0; while(1) { - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$1>>2]|0; - $4 = ($2>>>0)<($3>>>0); - if ($4) { - $5 = ((($2)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$2>>0]|0; - $7 = $6&255; - $9 = $7; - } else { - $8 = (___shgetc($f)|0); - $9 = $8; - } - $10 = (_isspace($9)|0); - $11 = ($10|0)==(0); - if ($11) { - $$lcssa275 = $9; + $24 = HEAP32[$19>>2]|0; + $25 = ($24>>>0)<(4096); + $$ = $25 ? $24 : 4096; + $26 = HEAP32[$0>>2]|0; + switch ($26|0) { + case 0: { + $27 = HEAP32[$20>>2]|0; + $28 = HEAP32[$9>>2]|0; + $29 = Math_imul($28, $$)|0; + (_stb_vorbis_get_samples_short_interleaved($27,$28,$16,$29)|0); break; } - } - $12 = ($$lcssa275|0)==(45); - L13: do { - switch ($$lcssa275|0) { - case 43: case 45: { - $13 = $12&1; - $14 = $13 << 1; - $15 = (1 - ($14))|0; - $16 = HEAP32[$0>>2]|0; - $17 = HEAP32[$1>>2]|0; - $18 = ($16>>>0)<($17>>>0); - if ($18) { - $19 = ((($16)) + 1|0); - HEAP32[$0>>2] = $19; - $20 = HEAP8[$16>>0]|0; - $21 = $20&255; - $c$0 = $21;$sign$0 = $15; - break L13; - } else { - $22 = (___shgetc($f)|0); - $c$0 = $22;$sign$0 = $15; - break L13; - } + case 2: { + $30 = HEAP32[$21>>2]|0; + _jar_xm_generate_samples_16bit($30,$16,$$); break; } default: { - $c$0 = $$lcssa275;$sign$0 = 1; } } - } while(0); - $c$179 = $c$0;$i$078 = 0; - while(1) { - $23 = $c$179 | 32; - $24 = (31443 + ($i$078)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25 << 24 >> 24; - $27 = ($23|0)==($26|0); - if (!($27)) { - $c$1$lcssa = $c$179;$i$0$lcssa = $i$078; - break; + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0; + _UpdateAudioStream($$byval_copy,$16,$$); + $31 = HEAP32[$19>>2]|0; + $32 = (($31) - ($$))|0; + HEAP32[$19>>2] = $32; + $33 = ($32|0)==(0); + $23 = (($$04143) + 1)|0; + if ($33) { + $$0 = 0; + break L4; } - $28 = ($i$078>>>0)<(7); - do { - if ($28) { - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$0>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $c$2 = $34; - break; - } else { - $35 = (___shgetc($f)|0); - $c$2 = $35; - break; - } - } else { - $c$2 = $c$179; - } - } while(0); - $36 = (($i$078) + 1)|0; - $37 = ($36>>>0)<(8); - if ($37) { - $c$179 = $c$2;$i$078 = $36; + $22 = ($23|0)<($17|0); + if ($22) { + $$04143 = $23; } else { - $c$1$lcssa = $c$2;$i$0$lcssa = $36; - break; + $$0 = 1; + break L4; } } - L29: do { - switch ($i$0$lcssa|0) { - case 8: { - break; - } - case 3: { - label = 23; - break; - } - default: { - $38 = ($i$0$lcssa>>>0)>(3); - $39 = ($pok|0)!=(0); - $or$cond5 = $39 & $38; - if ($or$cond5) { - $40 = ($i$0$lcssa|0)==(8); - if ($40) { - break L29; - } else { - label = 23; - break L29; - } - } - $53 = ($i$0$lcssa|0)==(0); - L34: do { - if ($53) { - $c$377 = $c$1$lcssa;$i$276 = 0; - while(1) { - $54 = $c$377 | 32; - $55 = (33278 + ($i$276)|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = ($54|0)==($57|0); - if (!($58)) { - $c$5 = $c$377;$i$3 = $i$276; - break L34; - } - $59 = ($i$276>>>0)<(2); - do { - if ($59) { - $60 = HEAP32[$0>>2]|0; - $61 = HEAP32[$1>>2]|0; - $62 = ($60>>>0)<($61>>>0); - if ($62) { - $63 = ((($60)) + 1|0); - HEAP32[$0>>2] = $63; - $64 = HEAP8[$60>>0]|0; - $65 = $64&255; - $c$4 = $65; - break; - } else { - $66 = (___shgetc($f)|0); - $c$4 = $66; - break; - } - } else { - $c$4 = $c$377; - } - } while(0); - $67 = (($i$276) + 1)|0; - $68 = ($67>>>0)<(3); - if ($68) { - $c$377 = $c$4;$i$276 = $67; - } else { - $c$5 = $c$4;$i$3 = $67; - break; - } - } - } else { - $c$5 = $c$1$lcssa;$i$3 = $i$0$lcssa; - } - } while(0); - switch ($i$3|0) { - case 3: { - $69 = HEAP32[$0>>2]|0; - $70 = HEAP32[$1>>2]|0; - $71 = ($69>>>0)<($70>>>0); - if ($71) { - $72 = ((($69)) + 1|0); - HEAP32[$0>>2] = $72; - $73 = HEAP8[$69>>0]|0; - $74 = $73&255; - $76 = $74; - } else { - $75 = (___shgetc($f)|0); - $76 = $75; - } - $77 = ($76|0)==(40); - if ($77) { - $i$4 = 1; - } else { - $78 = HEAP32[$1>>2]|0; - $79 = ($78|0)==(0|0); - if ($79) { - $$0 = nan; - break L4; - } - $80 = HEAP32[$0>>2]|0; - $81 = ((($80)) + -1|0); - HEAP32[$0>>2] = $81; - $$0 = nan; - break L4; - } - while(1) { - $82 = HEAP32[$0>>2]|0; - $83 = HEAP32[$1>>2]|0; - $84 = ($82>>>0)<($83>>>0); - if ($84) { - $85 = ((($82)) + 1|0); - HEAP32[$0>>2] = $85; - $86 = HEAP8[$82>>0]|0; - $87 = $86&255; - $90 = $87; - } else { - $88 = (___shgetc($f)|0); - $90 = $88; - } - $89 = (($90) + -48)|0; - $91 = ($89>>>0)<(10); - $92 = (($90) + -65)|0; - $93 = ($92>>>0)<(26); - $or$cond = $91 | $93; - if (!($or$cond)) { - $94 = (($90) + -97)|0; - $95 = ($94>>>0)<(26); - $96 = ($90|0)==(95); - $or$cond7 = $96 | $95; - if (!($or$cond7)) { - $$lcssa = $90;$i$4$lcssa = $i$4; - break; - } - } - $108 = (($i$4) + 1)|0; - $i$4 = $108; - } - $97 = ($$lcssa|0)==(41); - if ($97) { - $$0 = nan; - break L4; - } - $98 = HEAP32[$1>>2]|0; - $99 = ($98|0)==(0|0); - if (!($99)) { - $100 = HEAP32[$0>>2]|0; - $101 = ((($100)) + -1|0); - HEAP32[$0>>2] = $101; - } - if (!($39)) { - $103 = (___errno_location()|0); - HEAP32[$103>>2] = 22; - ___shlim($f,0); - $$0 = 0.0; - break L4; - } - $102 = ($i$4$lcssa|0)==(0); - if ($102) { - $$0 = nan; - break L4; - } else { - $$in = $i$4$lcssa; - } - while(1) { - $104 = (($$in) + -1)|0; - if (!($99)) { - $105 = HEAP32[$0>>2]|0; - $106 = ((($105)) + -1|0); - HEAP32[$0>>2] = $106; - } - $107 = ($104|0)==(0); - if ($107) { - $$0 = nan; - break L4; - } else { - $$in = $104; - } - } - break; - } - case 0: { - $114 = ($c$5|0)==(48); - do { - if ($114) { - $115 = HEAP32[$0>>2]|0; - $116 = HEAP32[$1>>2]|0; - $117 = ($115>>>0)<($116>>>0); - if ($117) { - $118 = ((($115)) + 1|0); - HEAP32[$0>>2] = $118; - $119 = HEAP8[$115>>0]|0; - $120 = $119&255; - $123 = $120; - } else { - $121 = (___shgetc($f)|0); - $123 = $121; - } - $122 = $123 | 32; - $124 = ($122|0)==(120); - if (!($124)) { - $326 = HEAP32[$1>>2]|0; - $327 = ($326|0)==(0|0); - if ($327) { - $c$6 = 48; - break; - } - $328 = HEAP32[$0>>2]|0; - $329 = ((($328)) + -1|0); - HEAP32[$0>>2] = $329; - $c$6 = 48; - break; - } - $125 = HEAP32[$0>>2]|0; - $126 = HEAP32[$1>>2]|0; - $127 = ($125>>>0)<($126>>>0); - if ($127) { - $128 = ((($125)) + 1|0); - HEAP32[$0>>2] = $128; - $129 = HEAP8[$125>>0]|0; - $130 = $129&255; - $c$0$i = $130;$gotdig$0$i = 0; - } else { - $131 = (___shgetc($f)|0); - $c$0$i = $131;$gotdig$0$i = 0; - } - L94: while(1) { - switch ($c$0$i|0) { - case 46: { - $gotdig$0$i$lcssa242 = $gotdig$0$i; - label = 74; - break L94; - break; - } - case 48: { - break; - } - default: { - $168 = 0;$170 = 0;$694 = 0;$695 = 0;$c$2$i = $c$0$i;$gotdig$2$i = $gotdig$0$i;$gotrad$0$i = 0;$gottail$0$i = 0;$scale$0$i = 1.0;$x$0$i = 0;$y$0$i = 0.0; - break L94; - } - } - $132 = HEAP32[$0>>2]|0; - $133 = HEAP32[$1>>2]|0; - $134 = ($132>>>0)<($133>>>0); - if ($134) { - $135 = ((($132)) + 1|0); - HEAP32[$0>>2] = $135; - $136 = HEAP8[$132>>0]|0; - $137 = $136&255; - $c$0$i = $137;$gotdig$0$i = 1; - continue; - } else { - $138 = (___shgetc($f)|0); - $c$0$i = $138;$gotdig$0$i = 1; - continue; - } - } - if ((label|0) == 74) { - $139 = HEAP32[$0>>2]|0; - $140 = HEAP32[$1>>2]|0; - $141 = ($139>>>0)<($140>>>0); - if ($141) { - $142 = ((($139)) + 1|0); - HEAP32[$0>>2] = $142; - $143 = HEAP8[$139>>0]|0; - $144 = $143&255; - $c$1$ph$i = $144; - } else { - $145 = (___shgetc($f)|0); - $c$1$ph$i = $145; - } - $146 = ($c$1$ph$i|0)==(48); - if ($146) { - $154 = 0;$155 = 0; - while(1) { - $147 = HEAP32[$0>>2]|0; - $148 = HEAP32[$1>>2]|0; - $149 = ($147>>>0)<($148>>>0); - if ($149) { - $150 = ((($147)) + 1|0); - HEAP32[$0>>2] = $150; - $151 = HEAP8[$147>>0]|0; - $152 = $151&255; - $158 = $152; - } else { - $153 = (___shgetc($f)|0); - $158 = $153; - } - $156 = (_i64Add(($154|0),($155|0),-1,-1)|0); - $157 = tempRet0; - $159 = ($158|0)==(48); - if ($159) { - $154 = $156;$155 = $157; - } else { - $168 = 0;$170 = 0;$694 = $156;$695 = $157;$c$2$i = $158;$gotdig$2$i = 1;$gotrad$0$i = 1;$gottail$0$i = 0;$scale$0$i = 1.0;$x$0$i = 0;$y$0$i = 0.0; - break; - } - } - } else { - $168 = 0;$170 = 0;$694 = 0;$695 = 0;$c$2$i = $c$1$ph$i;$gotdig$2$i = $gotdig$0$i$lcssa242;$gotrad$0$i = 1;$gottail$0$i = 0;$scale$0$i = 1.0;$x$0$i = 0;$y$0$i = 0.0; - } - } - while(1) { - $160 = (($c$2$i) + -48)|0; - $161 = ($160>>>0)<(10); - $$pre$i = $c$2$i | 32; - if ($161) { - label = 86; - } else { - $162 = (($$pre$i) + -97)|0; - $163 = ($162>>>0)<(6); - $164 = ($c$2$i|0)==(46); - $or$cond6$i = $164 | $163; - if (!($or$cond6$i)) { - $212 = $694;$213 = $170;$215 = $695;$216 = $168;$c$2$lcssa$i = $c$2$i;$gotdig$2$i$lcssa = $gotdig$2$i;$gotrad$0$i$lcssa = $gotrad$0$i;$x$0$i$lcssa = $x$0$i;$y$0$i$lcssa = $y$0$i; - break; - } - if ($164) { - $165 = ($gotrad$0$i|0)==(0); - if ($165) { - $696 = $170;$697 = $168;$698 = $170;$699 = $168;$gotdig$3$i = $gotdig$2$i;$gotrad$1$i = 1;$gottail$2$i = $gottail$0$i;$scale$2$i = $scale$0$i;$x$2$i = $x$0$i;$y$2$i = $y$0$i; - } else { - $212 = $694;$213 = $170;$215 = $695;$216 = $168;$c$2$lcssa$i = 46;$gotdig$2$i$lcssa = $gotdig$2$i;$gotrad$0$i$lcssa = $gotrad$0$i;$x$0$i$lcssa = $x$0$i;$y$0$i$lcssa = $y$0$i; - break; - } - } else { - label = 86; - } - } - if ((label|0) == 86) { - label = 0; - $166 = ($c$2$i|0)>(57); - $167 = (($$pre$i) + -87)|0; - $d$0$i = $166 ? $167 : $160; - $169 = ($168|0)<(0); - $171 = ($170>>>0)<(8); - $172 = ($168|0)==(0); - $173 = $172 & $171; - $174 = $169 | $173; - do { - if ($174) { - $175 = $x$0$i << 4; - $176 = (($d$0$i) + ($175))|0; - $gottail$1$i = $gottail$0$i;$scale$1$i = $scale$0$i;$x$1$i = $176;$y$1$i = $y$0$i; - } else { - $177 = ($168|0)<(0); - $178 = ($170>>>0)<(14); - $179 = ($168|0)==(0); - $180 = $179 & $178; - $181 = $177 | $180; - if ($181) { - $182 = (+($d$0$i|0)); - $183 = $scale$0$i * 0.0625; - $184 = $183 * $182; - $185 = $y$0$i + $184; - $gottail$1$i = $gottail$0$i;$scale$1$i = $183;$x$1$i = $x$0$i;$y$1$i = $185; - break; - } - $186 = ($d$0$i|0)==(0); - $187 = ($gottail$0$i|0)!=(0); - $or$cond$i = $187 | $186; - if ($or$cond$i) { - $gottail$1$i = $gottail$0$i;$scale$1$i = $scale$0$i;$x$1$i = $x$0$i;$y$1$i = $y$0$i; - } else { - $188 = $scale$0$i * 0.5; - $189 = $y$0$i + $188; - $gottail$1$i = 1;$scale$1$i = $scale$0$i;$x$1$i = $x$0$i;$y$1$i = $189; - } - } - } while(0); - $190 = (_i64Add(($170|0),($168|0),1,0)|0); - $191 = tempRet0; - $696 = $694;$697 = $695;$698 = $190;$699 = $191;$gotdig$3$i = 1;$gotrad$1$i = $gotrad$0$i;$gottail$2$i = $gottail$1$i;$scale$2$i = $scale$1$i;$x$2$i = $x$1$i;$y$2$i = $y$1$i; - } - $192 = HEAP32[$0>>2]|0; - $193 = HEAP32[$1>>2]|0; - $194 = ($192>>>0)<($193>>>0); - if ($194) { - $195 = ((($192)) + 1|0); - HEAP32[$0>>2] = $195; - $196 = HEAP8[$192>>0]|0; - $197 = $196&255; - $168 = $699;$170 = $698;$694 = $696;$695 = $697;$c$2$i = $197;$gotdig$2$i = $gotdig$3$i;$gotrad$0$i = $gotrad$1$i;$gottail$0$i = $gottail$2$i;$scale$0$i = $scale$2$i;$x$0$i = $x$2$i;$y$0$i = $y$2$i; - continue; - } else { - $198 = (___shgetc($f)|0); - $168 = $699;$170 = $698;$694 = $696;$695 = $697;$c$2$i = $198;$gotdig$2$i = $gotdig$3$i;$gotrad$0$i = $gotrad$1$i;$gottail$0$i = $gottail$2$i;$scale$0$i = $scale$2$i;$x$0$i = $x$2$i;$y$0$i = $y$2$i; - continue; - } - } - $199 = ($gotdig$2$i$lcssa|0)==(0); - if ($199) { - $200 = HEAP32[$1>>2]|0; - $201 = ($200|0)==(0|0); - if (!($201)) { - $202 = HEAP32[$0>>2]|0; - $203 = ((($202)) + -1|0); - HEAP32[$0>>2] = $203; - } - $204 = ($pok|0)==(0); - if ($204) { - ___shlim($f,0); - } else { - if (!($201)) { - $205 = HEAP32[$0>>2]|0; - $206 = ((($205)) + -1|0); - HEAP32[$0>>2] = $206; - $207 = ($gotrad$0$i$lcssa|0)==(0); - if (!($207)) { - $208 = ((($205)) + -2|0); - HEAP32[$0>>2] = $208; - } - } - } - $209 = (+($sign$0|0)); - $210 = $209 * 0.0; - $$0 = $210; - break L4; - } - $211 = ($gotrad$0$i$lcssa|0)==(0); - $214 = $211 ? $213 : $212; - $217 = $211 ? $216 : $215; - $218 = ($216|0)<(0); - $219 = ($213>>>0)<(8); - $220 = ($216|0)==(0); - $221 = $220 & $219; - $222 = $218 | $221; - if ($222) { - $224 = $213;$225 = $216;$x$324$i = $x$0$i$lcssa; - while(1) { - $223 = $x$324$i << 4; - $226 = (_i64Add(($224|0),($225|0),1,0)|0); - $227 = tempRet0; - $228 = ($227|0)<(0); - $229 = ($226>>>0)<(8); - $230 = ($227|0)==(0); - $231 = $230 & $229; - $232 = $228 | $231; - if ($232) { - $224 = $226;$225 = $227;$x$324$i = $223; - } else { - $x$3$lcssa$i = $223; - break; - } - } - } else { - $x$3$lcssa$i = $x$0$i$lcssa; - } - $233 = $c$2$lcssa$i | 32; - $234 = ($233|0)==(112); - if ($234) { - $235 = (_scanexp($f,$pok)|0); - $236 = tempRet0; - $237 = ($235|0)==(0); - $238 = ($236|0)==(-2147483648); - $239 = $237 & $238; - if ($239) { - $240 = ($pok|0)==(0); - if ($240) { - ___shlim($f,0); - $$0 = 0.0; - break L4; - } - $241 = HEAP32[$1>>2]|0; - $242 = ($241|0)==(0|0); - if ($242) { - $253 = 0;$254 = 0; - } else { - $243 = HEAP32[$0>>2]|0; - $244 = ((($243)) + -1|0); - HEAP32[$0>>2] = $244; - $253 = 0;$254 = 0; - } - } else { - $253 = $235;$254 = $236; - } - } else { - $245 = HEAP32[$1>>2]|0; - $246 = ($245|0)==(0|0); - if ($246) { - $253 = 0;$254 = 0; - } else { - $247 = HEAP32[$0>>2]|0; - $248 = ((($247)) + -1|0); - HEAP32[$0>>2] = $248; - $253 = 0;$254 = 0; - } - } - $249 = (_bitshift64Shl(($214|0),($217|0),2)|0); - $250 = tempRet0; - $251 = (_i64Add(($249|0),($250|0),-32,-1)|0); - $252 = tempRet0; - $255 = (_i64Add(($251|0),($252|0),($253|0),($254|0))|0); - $256 = tempRet0; - $257 = ($x$3$lcssa$i|0)==(0); - if ($257) { - $258 = (+($sign$0|0)); - $259 = $258 * 0.0; - $$0 = $259; - break L4; - } - $260 = (0 - ($emin$0$ph))|0; - $261 = ($256|0)>(0); - $262 = ($255>>>0)>($260>>>0); - $263 = ($256|0)==(0); - $264 = $263 & $262; - $265 = $261 | $264; - if ($265) { - $266 = (___errno_location()|0); - HEAP32[$266>>2] = 34; - $267 = (+($sign$0|0)); - $268 = $267 * 1.7976931348623157E+308; - $269 = $268 * 1.7976931348623157E+308; - $$0 = $269; - break L4; - } - $270 = (($emin$0$ph) + -106)|0; - $271 = ($270|0)<(0); - $272 = $271 << 31 >> 31; - $273 = ($256|0)<($272|0); - $274 = ($255>>>0)<($270>>>0); - $275 = ($256|0)==($272|0); - $276 = $275 & $274; - $277 = $273 | $276; - if ($277) { - $279 = (___errno_location()|0); - HEAP32[$279>>2] = 34; - $280 = (+($sign$0|0)); - $281 = $280 * 2.2250738585072014E-308; - $282 = $281 * 2.2250738585072014E-308; - $$0 = $282; - break L4; - } - $278 = ($x$3$lcssa$i|0)>(-1); - if ($278) { - $288 = $255;$289 = $256;$x$419$i = $x$3$lcssa$i;$y$320$i = $y$0$i$lcssa; - while(1) { - $283 = !($y$320$i >= 0.5); - $284 = $x$419$i << 1; - $285 = $y$320$i + -1.0; - $286 = $283&1; - $287 = $286 | $284; - $x$5$i = $287 ^ 1; - $$pn$i = $283 ? $y$320$i : $285; - $y$4$i = $y$320$i + $$pn$i; - $290 = (_i64Add(($288|0),($289|0),-1,-1)|0); - $291 = tempRet0; - $292 = ($287|0)>(-1); - if ($292) { - $288 = $290;$289 = $291;$x$419$i = $x$5$i;$y$320$i = $y$4$i; - } else { - $297 = $290;$298 = $291;$x$4$lcssa$i = $x$5$i;$y$3$lcssa$i = $y$4$i; - break; - } - } - } else { - $297 = $255;$298 = $256;$x$4$lcssa$i = $x$3$lcssa$i;$y$3$lcssa$i = $y$0$i$lcssa; - } - $293 = ($emin$0$ph|0)<(0); - $294 = $293 << 31 >> 31; - $295 = (_i64Subtract(32,0,($emin$0$ph|0),($294|0))|0); - $296 = tempRet0; - $299 = (_i64Add(($297|0),($298|0),($295|0),($296|0))|0); - $300 = tempRet0; - $301 = (0)>($300|0); - $302 = ($bits$0$ph>>>0)>($299>>>0); - $303 = (0)==($300|0); - $304 = $303 & $302; - $305 = $301 | $304; - if ($305) { - $306 = ($299|0)<(0); - if ($306) { - $$0710$i = 0; - label = 127; - } else { - $$07$i = $299; - label = 125; - } - } else { - $$07$i = $bits$0$ph; - label = 125; - } - if ((label|0) == 125) { - $307 = ($$07$i|0)<(53); - if ($307) { - $$0710$i = $$07$i; - label = 127; - } else { - $$pre41$i = (+($sign$0|0)); - $$0711$i = $$07$i;$$pre$phi42$iZ2D = $$pre41$i;$bias$0$i = 0.0; - } - } - if ((label|0) == 127) { - $308 = (84 - ($$0710$i))|0; - $309 = (+_scalbn(1.0,$308)); - $310 = (+($sign$0|0)); - $311 = (+_copysignl($309,$310)); - $$0711$i = $$0710$i;$$pre$phi42$iZ2D = $310;$bias$0$i = $311; - } - $312 = ($$0711$i|0)<(32); - $313 = $y$3$lcssa$i != 0.0; - $or$cond4$i = $313 & $312; - $314 = $x$4$lcssa$i & 1; - $315 = ($314|0)==(0); - $or$cond9$i = $315 & $or$cond4$i; - $316 = $or$cond9$i&1; - $x$6$i = (($316) + ($x$4$lcssa$i))|0; - $y$5$i = $or$cond9$i ? 0.0 : $y$3$lcssa$i; - $317 = (+($x$6$i>>>0)); - $318 = $$pre$phi42$iZ2D * $317; - $319 = $bias$0$i + $318; - $320 = $$pre$phi42$iZ2D * $y$5$i; - $321 = $320 + $319; - $322 = $321 - $bias$0$i; - $323 = $322 != 0.0; - if (!($323)) { - $324 = (___errno_location()|0); - HEAP32[$324>>2] = 34; - } - $325 = (+_scalbnl($322,$297)); - $$0 = $325; - break L4; - } else { - $c$6 = $c$5; - } - } while(0); - $sum$i = (($emin$0$ph) + ($bits$0$ph))|0; - $330 = (0 - ($sum$i))|0; - $$09$i = $c$6;$gotdig$0$i12 = 0; - L184: while(1) { - switch ($$09$i|0) { - case 46: { - $gotdig$0$i12$lcssa273 = $gotdig$0$i12; - label = 138; - break L184; - break; - } - case 48: { - break; - } - default: { - $$2$i = $$09$i;$700 = 0;$701 = 0;$gotdig$2$i13 = $gotdig$0$i12;$gotrad$0$i14 = 0; - break L184; - } - } - $331 = HEAP32[$0>>2]|0; - $332 = HEAP32[$1>>2]|0; - $333 = ($331>>>0)<($332>>>0); - if ($333) { - $334 = ((($331)) + 1|0); - HEAP32[$0>>2] = $334; - $335 = HEAP8[$331>>0]|0; - $336 = $335&255; - $$09$i = $336;$gotdig$0$i12 = 1; - continue; - } else { - $337 = (___shgetc($f)|0); - $$09$i = $337;$gotdig$0$i12 = 1; - continue; - } - } - if ((label|0) == 138) { - $338 = HEAP32[$0>>2]|0; - $339 = HEAP32[$1>>2]|0; - $340 = ($338>>>0)<($339>>>0); - if ($340) { - $341 = ((($338)) + 1|0); - HEAP32[$0>>2] = $341; - $342 = HEAP8[$338>>0]|0; - $343 = $342&255; - $$1$ph$i = $343; - } else { - $344 = (___shgetc($f)|0); - $$1$ph$i = $344; - } - $345 = ($$1$ph$i|0)==(48); - if ($345) { - $346 = 0;$347 = 0; - while(1) { - $348 = (_i64Add(($346|0),($347|0),-1,-1)|0); - $349 = tempRet0; - $350 = HEAP32[$0>>2]|0; - $351 = HEAP32[$1>>2]|0; - $352 = ($350>>>0)<($351>>>0); - if ($352) { - $353 = ((($350)) + 1|0); - HEAP32[$0>>2] = $353; - $354 = HEAP8[$350>>0]|0; - $355 = $354&255; - $$1$be$i = $355; - } else { - $356 = (___shgetc($f)|0); - $$1$be$i = $356; - } - $357 = ($$1$be$i|0)==(48); - if ($357) { - $346 = $348;$347 = $349; - } else { - $$2$i = $$1$be$i;$700 = $348;$701 = $349;$gotdig$2$i13 = 1;$gotrad$0$i14 = 1; - break; - } - } - } else { - $$2$i = $$1$ph$i;$700 = 0;$701 = 0;$gotdig$2$i13 = $gotdig$0$i12$lcssa273;$gotrad$0$i14 = 1; - } - } - HEAP32[$x$i>>2] = 0; - $358 = (($$2$i) + -48)|0; - $359 = ($358>>>0)<(10); - $360 = ($$2$i|0)==(46); - $361 = $360 | $359; - L203: do { - if ($361) { - $362 = ((($x$i)) + 496|0); - $$3105$i = $$2$i;$365 = 0;$366 = 0;$702 = $360;$703 = $358;$704 = $700;$705 = $701;$gotdig$3101$i = $gotdig$2$i13;$gotrad$1102$i = $gotrad$0$i14;$j$0104$i = 0;$k$0103$i = 0;$lnz$0100$i = 0; - L205: while(1) { - do { - if ($702) { - $cond$i = ($gotrad$1102$i|0)==(0); - if ($cond$i) { - $706 = $365;$707 = $366;$708 = $365;$709 = $366;$gotdig$4$i = $gotdig$3101$i;$gotrad$2$i = 1;$j$2$i = $j$0104$i;$k$2$i = $k$0103$i;$lnz$2$i = $lnz$0100$i; - } else { - $710 = $704;$711 = $705;$712 = $365;$713 = $366;$gotdig$3101$i$lcssa = $gotdig$3101$i;$j$0104$i$lcssa = $j$0104$i;$k$0103$i$lcssa = $k$0103$i;$lnz$0100$i$lcssa = $lnz$0100$i; - break L205; - } - } else { - $364 = ($k$0103$i|0)<(125); - $367 = (_i64Add(($365|0),($366|0),1,0)|0); - $368 = tempRet0; - $369 = ($$3105$i|0)!=(48); - if (!($364)) { - if (!($369)) { - $706 = $704;$707 = $705;$708 = $367;$709 = $368;$gotdig$4$i = $gotdig$3101$i;$gotrad$2$i = $gotrad$1102$i;$j$2$i = $j$0104$i;$k$2$i = $k$0103$i;$lnz$2$i = $lnz$0100$i; - break; - } - $379 = HEAP32[$362>>2]|0; - $380 = $379 | 1; - HEAP32[$362>>2] = $380; - $706 = $704;$707 = $705;$708 = $367;$709 = $368;$gotdig$4$i = $gotdig$3101$i;$gotrad$2$i = $gotrad$1102$i;$j$2$i = $j$0104$i;$k$2$i = $k$0103$i;$lnz$2$i = $lnz$0100$i; - break; - } - $$lnz$0$i = $369 ? $367 : $lnz$0100$i; - $370 = ($j$0104$i|0)==(0); - $371 = (($x$i) + ($k$0103$i<<2)|0); - if ($370) { - $storemerge$i = $703; - } else { - $372 = HEAP32[$371>>2]|0; - $373 = ($372*10)|0; - $374 = (($$3105$i) + -48)|0; - $375 = (($374) + ($373))|0; - $storemerge$i = $375; - } - HEAP32[$371>>2] = $storemerge$i; - $376 = (($j$0104$i) + 1)|0; - $377 = ($376|0)==(9); - $378 = $377&1; - $$k$0$i = (($378) + ($k$0103$i))|0; - $$11$i = $377 ? 0 : $376; - $706 = $704;$707 = $705;$708 = $367;$709 = $368;$gotdig$4$i = 1;$gotrad$2$i = $gotrad$1102$i;$j$2$i = $$11$i;$k$2$i = $$k$0$i;$lnz$2$i = $$lnz$0$i; - } - } while(0); - $381 = HEAP32[$0>>2]|0; - $382 = HEAP32[$1>>2]|0; - $383 = ($381>>>0)<($382>>>0); - if ($383) { - $384 = ((($381)) + 1|0); - HEAP32[$0>>2] = $384; - $385 = HEAP8[$381>>0]|0; - $386 = $385&255; - $$3$be$i = $386; - } else { - $387 = (___shgetc($f)|0); - $$3$be$i = $387; - } - $388 = (($$3$be$i) + -48)|0; - $389 = ($388>>>0)<(10); - $390 = ($$3$be$i|0)==(46); - $391 = $390 | $389; - if ($391) { - $$3105$i = $$3$be$i;$365 = $708;$366 = $709;$702 = $390;$703 = $388;$704 = $706;$705 = $707;$gotdig$3101$i = $gotdig$4$i;$gotrad$1102$i = $gotrad$2$i;$j$0104$i = $j$2$i;$k$0103$i = $k$2$i;$lnz$0100$i = $lnz$2$i; - } else { - $$3$lcssa$i = $$3$be$i;$393 = $706;$394 = $708;$396 = $707;$397 = $709;$gotdig$3$lcssa$i = $gotdig$4$i;$gotrad$1$lcssa$i = $gotrad$2$i;$j$0$lcssa$i = $j$2$i;$k$0$lcssa$i = $k$2$i;$lnz$0$lcssa$i = $lnz$2$i; - label = 161; - break L203; - } - } - $363 = ($gotdig$3101$i$lcssa|0)!=(0); - $714 = $712;$715 = $713;$716 = $710;$717 = $711;$718 = $363;$j$069$i = $j$0104$i$lcssa;$k$065$i = $k$0103$i$lcssa;$lnz$059$i = $lnz$0100$i$lcssa; - label = 169; - } else { - $$3$lcssa$i = $$2$i;$393 = $700;$394 = 0;$396 = $701;$397 = 0;$gotdig$3$lcssa$i = $gotdig$2$i13;$gotrad$1$lcssa$i = $gotrad$0$i14;$j$0$lcssa$i = 0;$k$0$lcssa$i = 0;$lnz$0$lcssa$i = 0; - label = 161; - } - } while(0); - do { - if ((label|0) == 161) { - $392 = ($gotrad$1$lcssa$i|0)==(0); - $395 = $392 ? $394 : $393; - $398 = $392 ? $397 : $396; - $399 = ($gotdig$3$lcssa$i|0)!=(0); - $400 = $$3$lcssa$i | 32; - $401 = ($400|0)==(101); - $or$cond13$i = $401 & $399; - if (!($or$cond13$i)) { - $416 = ($$3$lcssa$i|0)>(-1); - if ($416) { - $714 = $394;$715 = $397;$716 = $395;$717 = $398;$718 = $399;$j$069$i = $j$0$lcssa$i;$k$065$i = $k$0$lcssa$i;$lnz$059$i = $lnz$0$lcssa$i; - label = 169; - break; - } else { - $719 = $394;$720 = $397;$721 = $399;$722 = $395;$723 = $398;$j$068$i = $j$0$lcssa$i;$k$064$i = $k$0$lcssa$i;$lnz$058$i = $lnz$0$lcssa$i; - label = 171; - break; - } - } - $402 = (_scanexp($f,$pok)|0); - $403 = tempRet0; - $404 = ($402|0)==(0); - $405 = ($403|0)==(-2147483648); - $406 = $404 & $405; - if ($406) { - $407 = ($pok|0)==(0); - if ($407) { - ___shlim($f,0); - $$0$i27 = 0.0; - break; - } - $408 = HEAP32[$1>>2]|0; - $409 = ($408|0)==(0|0); - if ($409) { - $412 = 0;$413 = 0; - } else { - $410 = HEAP32[$0>>2]|0; - $411 = ((($410)) + -1|0); - HEAP32[$0>>2] = $411; - $412 = 0;$413 = 0; - } - } else { - $412 = $402;$413 = $403; - } - $414 = (_i64Add(($412|0),($413|0),($395|0),($398|0))|0); - $415 = tempRet0; - $426 = $414;$428 = $394;$429 = $415;$431 = $397;$j$067$i = $j$0$lcssa$i;$k$063$i = $k$0$lcssa$i;$lnz$057$i = $lnz$0$lcssa$i; - label = 173; - } - } while(0); - if ((label|0) == 169) { - $417 = HEAP32[$1>>2]|0; - $418 = ($417|0)==(0|0); - if ($418) { - $719 = $714;$720 = $715;$721 = $718;$722 = $716;$723 = $717;$j$068$i = $j$069$i;$k$064$i = $k$065$i;$lnz$058$i = $lnz$059$i; - label = 171; - } else { - $419 = HEAP32[$0>>2]|0; - $420 = ((($419)) + -1|0); - HEAP32[$0>>2] = $420; - if ($718) { - $426 = $716;$428 = $714;$429 = $717;$431 = $715;$j$067$i = $j$069$i;$k$063$i = $k$065$i;$lnz$057$i = $lnz$059$i; - label = 173; - } else { - label = 172; - } - } - } - if ((label|0) == 171) { - if ($721) { - $426 = $722;$428 = $719;$429 = $723;$431 = $720;$j$067$i = $j$068$i;$k$063$i = $k$064$i;$lnz$057$i = $lnz$058$i; - label = 173; - } else { - label = 172; - } - } - do { - if ((label|0) == 172) { - $421 = (___errno_location()|0); - HEAP32[$421>>2] = 22; - ___shlim($f,0); - $$0$i27 = 0.0; - } - else if ((label|0) == 173) { - $422 = HEAP32[$x$i>>2]|0; - $423 = ($422|0)==(0); - if ($423) { - $424 = (+($sign$0|0)); - $425 = $424 * 0.0; - $$0$i27 = $425; - break; - } - $427 = ($426|0)==($428|0); - $430 = ($429|0)==($431|0); - $432 = $427 & $430; - $433 = ($431|0)<(0); - $434 = ($428>>>0)<(10); - $435 = ($431|0)==(0); - $436 = $435 & $434; - $437 = $433 | $436; - $or$cond$i16 = $437 & $432; - if ($or$cond$i16) { - $438 = ($bits$0$ph>>>0)>(30); - $439 = $422 >>> $bits$0$ph; - $440 = ($439|0)==(0); - $or$cond15$i = $438 | $440; - if ($or$cond15$i) { - $441 = (+($sign$0|0)); - $442 = (+($422>>>0)); - $443 = $441 * $442; - $$0$i27 = $443; - break; - } - } - $444 = (($emin$0$ph|0) / -2)&-1; - $445 = ($444|0)<(0); - $446 = $445 << 31 >> 31; - $447 = ($429|0)>($446|0); - $448 = ($426>>>0)>($444>>>0); - $449 = ($429|0)==($446|0); - $450 = $449 & $448; - $451 = $447 | $450; - if ($451) { - $452 = (___errno_location()|0); - HEAP32[$452>>2] = 34; - $453 = (+($sign$0|0)); - $454 = $453 * 1.7976931348623157E+308; - $455 = $454 * 1.7976931348623157E+308; - $$0$i27 = $455; - break; - } - $456 = (($emin$0$ph) + -106)|0; - $457 = ($456|0)<(0); - $458 = $457 << 31 >> 31; - $459 = ($429|0)<($458|0); - $460 = ($426>>>0)<($456>>>0); - $461 = ($429|0)==($458|0); - $462 = $461 & $460; - $463 = $459 | $462; - if ($463) { - $464 = (___errno_location()|0); - HEAP32[$464>>2] = 34; - $465 = (+($sign$0|0)); - $466 = $465 * 2.2250738585072014E-308; - $467 = $466 * 2.2250738585072014E-308; - $$0$i27 = $467; - break; - } - $468 = ($j$067$i|0)==(0); - if ($468) { - $k$3$i = $k$063$i; - } else { - $469 = ($j$067$i|0)<(9); - if ($469) { - $470 = (($x$i) + ($k$063$i<<2)|0); - $$promoted$i = HEAP32[$470>>2]|0; - $472 = $$promoted$i;$j$394$i = $j$067$i; - while(1) { - $471 = ($472*10)|0; - $473 = (($j$394$i) + 1)|0; - $exitcond$i = ($473|0)==(9); - if ($exitcond$i) { - $$lcssa265 = $471; - break; - } else { - $472 = $471;$j$394$i = $473; - } - } - HEAP32[$470>>2] = $$lcssa265; - } - $474 = (($k$063$i) + 1)|0; - $k$3$i = $474; - } - $475 = ($lnz$057$i|0)<(9); - if ($475) { - $476 = ($lnz$057$i|0)<=($426|0); - $477 = ($426|0)<(18); - $or$cond3$i = $476 & $477; - if ($or$cond3$i) { - $478 = ($426|0)==(9); - if ($478) { - $479 = (+($sign$0|0)); - $480 = HEAP32[$x$i>>2]|0; - $481 = (+($480>>>0)); - $482 = $479 * $481; - $$0$i27 = $482; - break; - } - $483 = ($426|0)<(9); - if ($483) { - $484 = (+($sign$0|0)); - $485 = HEAP32[$x$i>>2]|0; - $486 = (+($485>>>0)); - $487 = $484 * $486; - $488 = (8 - ($426))|0; - $489 = (11308 + ($488<<2)|0); - $490 = HEAP32[$489>>2]|0; - $491 = (+($490|0)); - $492 = $487 / $491; - $$0$i27 = $492; - break; - } - $$neg32$i = (($bits$0$ph) + 27)|0; - $493 = Math_imul($426, -3)|0; - $494 = (($$neg32$i) + ($493))|0; - $495 = ($494|0)>(30); - $$pre$i17 = HEAP32[$x$i>>2]|0; - $496 = $$pre$i17 >>> $494; - $497 = ($496|0)==(0); - $or$cond182$i = $495 | $497; - if ($or$cond182$i) { - $498 = (+($sign$0|0)); - $499 = (+($$pre$i17>>>0)); - $500 = $498 * $499; - $501 = (($426) + -10)|0; - $502 = (11308 + ($501<<2)|0); - $503 = HEAP32[$502>>2]|0; - $504 = (+($503|0)); - $505 = $500 * $504; - $$0$i27 = $505; - break; - } - } - } - $506 = (($426|0) % 9)&-1; - $507 = ($506|0)==(0); - if ($507) { - $a$2$ph38$i = 0;$e2$0$ph$i = 0;$rp$2$ph36$i = $426;$z$1$ph37$i = $k$3$i; - } else { - $508 = ($426|0)>(-1); - $509 = (($506) + 9)|0; - $510 = $508 ? $506 : $509; - $511 = (8 - ($510))|0; - $512 = (11308 + ($511<<2)|0); - $513 = HEAP32[$512>>2]|0; - $514 = ($k$3$i|0)==(0); - if ($514) { - $a$0$lcssa151$i = 0;$rp$0$lcssa152$i = $426;$z$0$i = 0; - } else { - $515 = (1000000000 / ($513|0))&-1; - $a$085$i = 0;$carry$087$i = 0;$k$486$i = 0;$rp$084$i = $426; - while(1) { - $516 = (($x$i) + ($k$486$i<<2)|0); - $517 = HEAP32[$516>>2]|0; - $518 = (($517>>>0) % ($513>>>0))&-1; - $519 = (($517>>>0) / ($513>>>0))&-1; - $520 = (($519) + ($carry$087$i))|0; - HEAP32[$516>>2] = $520; - $521 = Math_imul($518, $515)|0; - $522 = ($k$486$i|0)==($a$085$i|0); - $523 = ($520|0)==(0); - $or$cond16$i = $522 & $523; - $524 = (($k$486$i) + 1)|0; - $525 = $524 & 127; - $526 = (($rp$084$i) + -9)|0; - $rp$1$i18 = $or$cond16$i ? $526 : $rp$084$i; - $a$1$i = $or$cond16$i ? $525 : $a$085$i; - $527 = ($524|0)==($k$3$i|0); - if ($527) { - $$lcssa264 = $521;$a$1$i$lcssa = $a$1$i;$rp$1$i18$lcssa = $rp$1$i18; - break; - } else { - $a$085$i = $a$1$i;$carry$087$i = $521;$k$486$i = $524;$rp$084$i = $rp$1$i18; - } - } - $528 = ($$lcssa264|0)==(0); - if ($528) { - $a$0$lcssa151$i = $a$1$i$lcssa;$rp$0$lcssa152$i = $rp$1$i18$lcssa;$z$0$i = $k$3$i; - } else { - $529 = (($k$3$i) + 1)|0; - $530 = (($x$i) + ($k$3$i<<2)|0); - HEAP32[$530>>2] = $$lcssa264; - $a$0$lcssa151$i = $a$1$i$lcssa;$rp$0$lcssa152$i = $rp$1$i18$lcssa;$z$0$i = $529; - } - } - $531 = (9 - ($510))|0; - $532 = (($531) + ($rp$0$lcssa152$i))|0; - $a$2$ph38$i = $a$0$lcssa151$i;$e2$0$ph$i = 0;$rp$2$ph36$i = $532;$z$1$ph37$i = $z$0$i; - } - L284: while(1) { - $533 = ($rp$2$ph36$i|0)<(18); - $534 = ($rp$2$ph36$i|0)==(18); - $535 = (($x$i) + ($a$2$ph38$i<<2)|0); - $e2$0$i19 = $e2$0$ph$i;$z$1$i = $z$1$ph37$i; - while(1) { - if (!($533)) { - if (!($534)) { - $a$3$ph$i = $a$2$ph38$i;$e2$1$ph$i = $e2$0$i19;$rp$3$ph34$i = $rp$2$ph36$i;$z$5$ph$i = $z$1$i; - break L284; - } - $536 = HEAP32[$535>>2]|0; - $537 = ($536>>>0)<(9007199); - if (!($537)) { - $a$3$ph$i = $a$2$ph38$i;$e2$1$ph$i = $e2$0$i19;$rp$3$ph34$i = 18;$z$5$ph$i = $z$1$i; - break L284; - } - } - $538 = (($z$1$i) + 127)|0; - $carry1$0$i = 0;$k$5$in$i = $538;$z$2$i = $z$1$i; - while(1) { - $k$5$i = $k$5$in$i & 127; - $539 = (($x$i) + ($k$5$i<<2)|0); - $540 = HEAP32[$539>>2]|0; - $541 = (_bitshift64Shl(($540|0),0,29)|0); - $542 = tempRet0; - $543 = (_i64Add(($541|0),($542|0),($carry1$0$i|0),0)|0); - $544 = tempRet0; - $545 = ($544>>>0)>(0); - $546 = ($543>>>0)>(1000000000); - $547 = ($544|0)==(0); - $548 = $547 & $546; - $549 = $545 | $548; - if ($549) { - $550 = (___udivdi3(($543|0),($544|0),1000000000,0)|0); - $551 = tempRet0; - $552 = (___uremdi3(($543|0),($544|0),1000000000,0)|0); - $553 = tempRet0; - $$sink$off0$i = $552;$carry1$1$i = $550; - } else { - $$sink$off0$i = $543;$carry1$1$i = 0; - } - HEAP32[$539>>2] = $$sink$off0$i; - $554 = (($z$2$i) + 127)|0; - $555 = $554 & 127; - $556 = ($k$5$i|0)!=($555|0); - $557 = ($k$5$i|0)==($a$2$ph38$i|0); - $or$cond17$i = $556 | $557; - $558 = ($$sink$off0$i|0)==(0); - $k$5$z$2$i = $558 ? $k$5$i : $z$2$i; - $z$3$i = $or$cond17$i ? $z$2$i : $k$5$z$2$i; - $559 = (($k$5$i) + -1)|0; - if ($557) { - $carry1$1$i$lcssa = $carry1$1$i;$z$3$i$lcssa = $z$3$i; - break; - } else { - $carry1$0$i = $carry1$1$i;$k$5$in$i = $559;$z$2$i = $z$3$i; - } - } - $560 = (($e2$0$i19) + -29)|0; - $561 = ($carry1$1$i$lcssa|0)==(0); - if ($561) { - $e2$0$i19 = $560;$z$1$i = $z$3$i$lcssa; - } else { - $$lcssa263 = $560;$carry1$1$i$lcssa$lcssa = $carry1$1$i$lcssa;$z$3$i$lcssa$lcssa = $z$3$i$lcssa; - break; - } - } - $562 = (($rp$2$ph36$i) + 9)|0; - $563 = (($a$2$ph38$i) + 127)|0; - $564 = $563 & 127; - $565 = ($564|0)==($z$3$i$lcssa$lcssa|0); - if ($565) { - $566 = (($z$3$i$lcssa$lcssa) + 127)|0; - $567 = $566 & 127; - $568 = (($x$i) + ($567<<2)|0); - $569 = HEAP32[$568>>2]|0; - $570 = (($z$3$i$lcssa$lcssa) + 126)|0; - $571 = $570 & 127; - $572 = (($x$i) + ($571<<2)|0); - $573 = HEAP32[$572>>2]|0; - $574 = $573 | $569; - HEAP32[$572>>2] = $574; - $z$4$i = $567; - } else { - $z$4$i = $z$3$i$lcssa$lcssa; - } - $575 = (($x$i) + ($564<<2)|0); - HEAP32[$575>>2] = $carry1$1$i$lcssa$lcssa; - $a$2$ph38$i = $564;$e2$0$ph$i = $$lcssa263;$rp$2$ph36$i = $562;$z$1$ph37$i = $z$4$i; - } - L302: while(1) { - $606 = (($z$5$ph$i) + 1)|0; - $603 = $606 & 127; - $607 = (($z$5$ph$i) + 127)|0; - $608 = $607 & 127; - $609 = (($x$i) + ($608<<2)|0); - $a$3$ph157$i = $a$3$ph$i;$e2$1$ph156$i = $e2$1$ph$i;$rp$3$ph$i = $rp$3$ph34$i; - while(1) { - $610 = ($rp$3$ph$i|0)==(18); - $611 = ($rp$3$ph$i|0)>(27); - $$18$i = $611 ? 9 : 1; - $$not$i = $610 ^ 1; - $a$3$i = $a$3$ph157$i;$e2$1$i = $e2$1$ph156$i; - while(1) { - $576 = $a$3$i & 127; - $577 = ($576|0)==($z$5$ph$i|0); - do { - if ($577) { - label = 219; - } else { - $578 = (($x$i) + ($576<<2)|0); - $579 = HEAP32[$578>>2]|0; - $580 = ($579>>>0)<(9007199); - if ($580) { - label = 219; - break; - } - $581 = ($579>>>0)>(9007199); - if ($581) { - break; - } - $582 = (($a$3$i) + 1)|0; - $583 = $582 & 127; - $584 = ($583|0)==($z$5$ph$i|0); - if ($584) { - label = 219; - break; - } - $690 = (($x$i) + ($583<<2)|0); - $691 = HEAP32[$690>>2]|0; - $692 = ($691>>>0)<(254740991); - if ($692) { - label = 219; - break; - } - $693 = ($691>>>0)>(254740991); - $brmerge$i28 = $693 | $$not$i; - if (!($brmerge$i28)) { - $617 = $576;$a$3$i249 = $a$3$i;$e2$1$i246 = $e2$1$i;$z$7$i = $z$5$ph$i; - break L302; - } - } - } while(0); - if ((label|0) == 219) { - label = 0; - if ($610) { - label = 220; - break L302; - } - } - $585 = (($e2$1$i) + ($$18$i))|0; - $586 = ($a$3$i|0)==($z$5$ph$i|0); - if ($586) { - $a$3$i = $z$5$ph$i;$e2$1$i = $585; - } else { - $$lcssa256 = $585;$a$3$i$lcssa248 = $a$3$i; - break; - } - } - $587 = 1 << $$18$i; - $588 = (($587) + -1)|0; - $589 = 1000000000 >>> $$18$i; - $a$478$i = $a$3$i$lcssa248;$carry3$081$i = 0;$k$679$i = $a$3$i$lcssa248;$rp$477$i = $rp$3$ph$i; - while(1) { - $590 = (($x$i) + ($k$679$i<<2)|0); - $591 = HEAP32[$590>>2]|0; - $592 = $591 & $588; - $593 = $591 >>> $$18$i; - $594 = (($593) + ($carry3$081$i))|0; - HEAP32[$590>>2] = $594; - $595 = Math_imul($592, $589)|0; - $596 = ($k$679$i|0)==($a$478$i|0); - $597 = ($594|0)==(0); - $or$cond19$i = $596 & $597; - $598 = (($k$679$i) + 1)|0; - $599 = $598 & 127; - $600 = (($rp$477$i) + -9)|0; - $rp$5$i = $or$cond19$i ? $600 : $rp$477$i; - $a$5$i = $or$cond19$i ? $599 : $a$478$i; - $601 = ($599|0)==($z$5$ph$i|0); - if ($601) { - $$lcssa257 = $595;$a$5$i$lcssa = $a$5$i;$rp$5$i$lcssa = $rp$5$i; - break; - } else { - $a$478$i = $a$5$i;$carry3$081$i = $595;$k$679$i = $599;$rp$477$i = $rp$5$i; - } - } - $602 = ($$lcssa257|0)==(0); - if ($602) { - $a$3$ph157$i = $a$5$i$lcssa;$e2$1$ph156$i = $$lcssa256;$rp$3$ph$i = $rp$5$i$lcssa; - continue; - } - $604 = ($603|0)==($a$5$i$lcssa|0); - if (!($604)) { - $$lcssa256$lcssa = $$lcssa256;$$lcssa257$lcssa = $$lcssa257;$a$5$i$lcssa$lcssa = $a$5$i$lcssa;$rp$5$i$lcssa$lcssa = $rp$5$i$lcssa; - break; - } - $612 = HEAP32[$609>>2]|0; - $613 = $612 | 1; - HEAP32[$609>>2] = $613; - $a$3$ph157$i = $a$5$i$lcssa;$e2$1$ph156$i = $$lcssa256;$rp$3$ph$i = $rp$5$i$lcssa; - } - $605 = (($x$i) + ($z$5$ph$i<<2)|0); - HEAP32[$605>>2] = $$lcssa257$lcssa; - $a$3$ph$i = $a$5$i$lcssa$lcssa;$e2$1$ph$i = $$lcssa256$lcssa;$rp$3$ph34$i = $rp$5$i$lcssa$lcssa;$z$5$ph$i = $603; - } - if ((label|0) == 220) { - if ($577) { - $614 = (($603) + -1)|0; - $615 = (($x$i) + ($614<<2)|0); - HEAP32[$615>>2] = 0; - $617 = $z$5$ph$i;$a$3$i249 = $a$3$i;$e2$1$i246 = $e2$1$i;$z$7$i = $603; - } else { - $617 = $576;$a$3$i249 = $a$3$i;$e2$1$i246 = $e2$1$i;$z$7$i = $z$5$ph$i; - } - } - $616 = (($x$i) + ($617<<2)|0); - $618 = HEAP32[$616>>2]|0; - $619 = (+($618>>>0)); - $620 = (($a$3$i249) + 1)|0; - $621 = $620 & 127; - $622 = ($621|0)==($z$7$i|0); - if ($622) { - $679 = (($a$3$i249) + 2)|0; - $680 = $679 & 127; - $681 = (($680) + -1)|0; - $682 = (($x$i) + ($681<<2)|0); - HEAP32[$682>>2] = 0; - $z$7$1$i = $680; - } else { - $z$7$1$i = $z$7$i; - } - $683 = $619 * 1.0E+9; - $684 = (($x$i) + ($621<<2)|0); - $685 = HEAP32[$684>>2]|0; - $686 = (+($685>>>0)); - $687 = $683 + $686; - $643 = (+($sign$0|0)); - $625 = $643 * $687; - $663 = (($e2$1$i246) + 53)|0; - $669 = (($663) - ($emin$0$ph))|0; - $670 = ($669|0)<($bits$0$ph|0); - $688 = ($669|0)<(0); - $$$i = $688 ? 0 : $669; - $denormal$0$i = $670&1; - $$010$i = $670 ? $$$i : $bits$0$ph; - $689 = ($$010$i|0)<(53); - if ($689) { - $623 = (105 - ($$010$i))|0; - $624 = (+_scalbn(1.0,$623)); - $626 = (+_copysignl($624,$625)); - $627 = (53 - ($$010$i))|0; - $628 = (+_scalbn(1.0,$627)); - $629 = (+_fmodl($625,$628)); - $630 = $625 - $629; - $631 = $626 + $630; - $bias$0$i25 = $626;$frac$0$i = $629;$y$1$i24 = $631; - } else { - $bias$0$i25 = 0.0;$frac$0$i = 0.0;$y$1$i24 = $625; - } - $632 = (($a$3$i249) + 2)|0; - $633 = $632 & 127; - $634 = ($633|0)==($z$7$1$i|0); - do { - if ($634) { - $frac$2$i = $frac$0$i; - } else { - $635 = (($x$i) + ($633<<2)|0); - $636 = HEAP32[$635>>2]|0; - $637 = ($636>>>0)<(500000000); - do { - if ($637) { - $638 = ($636|0)==(0); - if ($638) { - $639 = (($a$3$i249) + 3)|0; - $640 = $639 & 127; - $641 = ($640|0)==($z$7$1$i|0); - if ($641) { - $frac$1$i = $frac$0$i; - break; - } - } - $642 = $643 * 0.25; - $644 = $642 + $frac$0$i; - $frac$1$i = $644; - } else { - $645 = ($636>>>0)>(500000000); - if ($645) { - $646 = $643 * 0.75; - $647 = $646 + $frac$0$i; - $frac$1$i = $647; - break; - } - $648 = (($a$3$i249) + 3)|0; - $649 = $648 & 127; - $650 = ($649|0)==($z$7$1$i|0); - if ($650) { - $651 = $643 * 0.5; - $652 = $651 + $frac$0$i; - $frac$1$i = $652; - break; - } else { - $653 = $643 * 0.75; - $654 = $653 + $frac$0$i; - $frac$1$i = $654; - break; - } - } - } while(0); - $655 = (53 - ($$010$i))|0; - $656 = ($655|0)>(1); - if (!($656)) { - $frac$2$i = $frac$1$i; - break; - } - $657 = (+_fmodl($frac$1$i,1.0)); - $658 = $657 != 0.0; - if ($658) { - $frac$2$i = $frac$1$i; - break; - } - $659 = $frac$1$i + 1.0; - $frac$2$i = $659; - } - } while(0); - $660 = $y$1$i24 + $frac$2$i; - $661 = $660 - $bias$0$i25; - $662 = $663 & 2147483647; - $664 = (-2 - ($sum$i))|0; - $665 = ($662|0)>($664|0); - do { - if ($665) { - $666 = (+Math_abs((+$661))); - $667 = !($666 >= 9007199254740992.0); - if ($667) { - $denormal$2$i = $denormal$0$i;$e2$2$i = $e2$1$i246;$y$2$i26 = $661; - } else { - $668 = ($$010$i|0)==($669|0); - $or$cond20$i = $670 & $668; - $denormal$1$i = $or$cond20$i ? 0 : $denormal$0$i; - $671 = $661 * 0.5; - $672 = (($e2$1$i246) + 1)|0; - $denormal$2$i = $denormal$1$i;$e2$2$i = $672;$y$2$i26 = $671; - } - $673 = (($e2$2$i) + 50)|0; - $674 = ($673|0)>($330|0); - if (!($674)) { - $675 = ($denormal$2$i|0)!=(0); - $676 = $frac$2$i != 0.0; - $or$cond8$i = $676 & $675; - if (!($or$cond8$i)) { - $e2$3$i = $e2$2$i;$y$3$i = $y$2$i26; - break; - } - } - $677 = (___errno_location()|0); - HEAP32[$677>>2] = 34; - $e2$3$i = $e2$2$i;$y$3$i = $y$2$i26; - } else { - $e2$3$i = $e2$1$i246;$y$3$i = $661; - } - } while(0); - $678 = (+_scalbnl($y$3$i,$e2$3$i)); - $$0$i27 = $678; - } - } while(0); - $$0 = $$0$i27; - break L4; - break; - } - default: { - $109 = HEAP32[$1>>2]|0; - $110 = ($109|0)==(0|0); - if (!($110)) { - $111 = HEAP32[$0>>2]|0; - $112 = ((($111)) + -1|0); - HEAP32[$0>>2] = $112; - } - $113 = (___errno_location()|0); - HEAP32[$113>>2] = 22; - ___shlim($f,0); - $$0 = 0.0; - break L4; - } - } - } - } - } while(0); - if ((label|0) == 23) { - $41 = HEAP32[$1>>2]|0; - $42 = ($41|0)==(0|0); - if (!($42)) { - $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + -1|0); - HEAP32[$0>>2] = $44; - } - $45 = ($pok|0)!=(0); - $46 = ($i$0$lcssa>>>0)>(3); - $or$cond9 = $45 & $46; - if ($or$cond9) { - $i$1 = $i$0$lcssa; - while(1) { - if (!($42)) { - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + -1|0); - HEAP32[$0>>2] = $48; - } - $49 = (($i$1) + -1)|0; - $$old8 = ($49>>>0)>(3); - if ($$old8) { - $i$1 = $49; - } else { - break; - } - } - } - } - $50 = (+($sign$0|0)); - $51 = $50 * inf; - $52 = $51; - $$0 = $52; + } else { + $$0 = 1; } } while(0); - STACKTOP = sp;return (+$$0); + $34 = (_alGetError()|0); + $35 = ($34|0)==(40963); + if ($35) { + _TraceLog(1,18969,$vararg_buffer); + } + $36 = ($$0|0)==(0); + if ($36) { + _StopMusicStream($0); + $37 = ((($0)) + 40|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)>(0); + if ($39) { + $40 = (($38) + -1)|0; + HEAP32[$37>>2] = $40; + _PlayMusicStream($0); + } + } else { + $41 = HEAP32[$1>>2]|0; + $42 = ($41|0)==(4114); + if (!($42)) { + _PlayMusicStream($0); + } + } + _free($16); + STACKTOP = sp;return; } -function ___intscan($f,$base,$pok,$0,$1) { - $f = $f|0; - $base = $base|0; - $pok = $pok|0; +function _UpdateAudioStream($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $$1 = 0, $$122 = 0, $$123 = 0, $$base21 = 0, $$lcssa = 0, $$lcssa130 = 0, $$lcssa131 = 0, $$lcssa132 = 0, $$lcssa133 = 0, $$lcssa134 = 0, $$lcssa135 = 0, $$sum = 0, $$sum14 = 0, $$sum1445 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum18 = 0, $$sum1865 = 0, $$sum19 = 0; - var $$sum20 = 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; + $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $3 = sp; + HEAP32[$3>>2] = 0; + $4 = ((($0)) + 16|0); + $5 = HEAP32[$4>>2]|0; + _alSourceUnqueueBuffers(($5|0),1,($3|0)); + $6 = (_alGetError()|0); + $7 = ($6|0)==(40963); + if ($7) { + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $9 = ((($0)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $2)|0; + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = Math_imul($13, $15)|0; + $17 = $16 >>> 3; + $18 = HEAP32[$0>>2]|0; + _alBufferData(($8|0),($10|0),($1|0),($17|0),($18|0)); + $19 = HEAP32[$4>>2]|0; + _alSourceQueueBuffers(($19|0),1,($3|0)); + STACKTOP = sp;return; +} +function _SetMusicVolume($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 28|0); + $3 = HEAP32[$2>>2]|0; + _alSourcef(($3|0),4106,(+$1)); + return; +} +function _emscripten_GetProcAddress($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; @@ -53346,1393 +54030,5296 @@ function ___intscan($f,$base,$pok,$0,$1) { 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, $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, $c$0 = 0, $c$1 = 0, $c$124 = 0, $c$2$be = 0, $c$2$be$lcssa = 0; - var $c$2$lcssa = 0, $c$3$be = 0, $c$3$lcssa = 0, $c$371 = 0, $c$4$be = 0, $c$4$be$lcssa = 0, $c$4$lcssa = 0, $c$5$be = 0, $c$6$be = 0, $c$6$be$lcssa = 0, $c$6$lcssa = 0, $c$7$be = 0, $c$753 = 0, $c$8 = 0, $c$9$be = 0, $neg$0 = 0, $neg$0$ = 0, $neg$1 = 0, $or$cond = 0, $or$cond12 = 0; - var $or$cond40 = 0, $or$cond5 = 0, $or$cond7 = 0, $x$082 = 0, $x$146 = 0, $x$266 = 0, label = 0, sp = 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, $398 = 0, $399 = 0, $4 = 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, $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; + var $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, $53 = 0, $530 = 0; + var $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, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; - $2 = ($base>>>0)>(36); - L1: do { - if ($2) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 22; - $286 = 0;$287 = 0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,19001)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,19005)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,19009)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,19013)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,19019)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,19057)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 19076; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,19089)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 19110; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,19125)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 19140; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,19155)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 19170; + } } else { - $3 = ((($f)) + 4|0); - $4 = ((($f)) + 100|0); + HEAP32[$3>>2] = 19041; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,19185)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,19199)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,19211)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 7; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,19225)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 8; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,19237)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 9; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,19251)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 10; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,19265)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 11; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,19282)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,19305)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,19331)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,19344)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,19360)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,19373)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 12; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,19387)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,19407)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,19427)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,19444)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,19461)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,19473)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 13; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,19486)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 14; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,19502)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,19525)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,19538)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,19554)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,19565)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 15; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,19584)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 16; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,19606)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 17; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,19625)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,19654)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,19671)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,19686)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,19701)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 3; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,19722)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,19742)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,19762)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,19788)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,19807)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,19819)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,19831)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,19843)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,19855)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 18; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,19867)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,19879)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,19891)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,19903)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,19916)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,19929)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,19942)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,19955)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,19968)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,19981)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,19994)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,20007)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,20026)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,20045)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,20064)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 19; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,20077)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 20; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,20095)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 21; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,20113)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 22; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,20131)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 23; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,20149)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 4; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,20169)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,19110)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,20187)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,20202)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,20223)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,20238)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,20256)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,20272)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,20291)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,20305)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,20320)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,19041)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,20331)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,19140)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 24; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,19170)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 25; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,20347)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,20374)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,20388)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,19076)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,20408)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,20426)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,20438)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,20459)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 26; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,20477)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 27; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,20495)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 28; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,20516)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,20542)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,20565)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,20603)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,20619)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,20634)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,20657)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,20670)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 29; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,20684)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 30; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,20698)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,20718)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,20738)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,20754)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,20772)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,20788)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,20803)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,20825)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 31; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,20843)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 32; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,20864)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,20882)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,20895)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,20910)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,20924)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,20934)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,20944)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,20966)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,20992)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,21019)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,21032)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,21047)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,21062)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,21086)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,21097)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 33; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,21119)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,21141)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,21165)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,21174)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,21182)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,21195)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,21209)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,21221)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,21230)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,21240)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,21252)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,21263)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,21271)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,21283)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,21298)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,21310)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,21324)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,21349)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,21366)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,21382)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,21398)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,21410)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 34; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,21422)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 35; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,21446)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,21459)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,21473)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 36; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,21495)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 37; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,21502)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,21518)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,21535)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,21552)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,21568)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,21584)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,21601)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,21615)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,21627)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,21638)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,21651)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,21661)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,21678)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,21690)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,21712)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,21732)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,21745)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,21767)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,21787)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,21804)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,21821)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,21841)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 38; + break; + } + } else { + HEAP32[$1>>2] = 6; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (31168|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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 + 16|0; + $vararg_buffer = sp; + $3 = sp + 32|0; + $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;$26 = $17; while(1) { - $6 = HEAP32[$3>>2]|0; - $7 = HEAP32[$4>>2]|0; - $8 = ($6>>>0)<($7>>>0); - if ($8) { - $9 = ((($6)) + 1|0); - HEAP32[$3>>2] = $9; - $10 = HEAP8[$6>>0]|0; - $11 = $10&255; - $13 = $11; - } else { - $12 = (___shgetc($f)|0); - $13 = $12; + $25 = ($26|0)<(0); + if ($25) { + break; } - $14 = (_isspace($13)|0); - $15 = ($14|0)==(0); - if ($15) { - $$lcssa135 = $13; + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _pthread_self() { + var label = 0, sp = 0; + sp = STACKTOP; + return (5132|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|0); +} +function ___stdio_read($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, $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; + 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; + $29 = (($27) + ($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 = ((($27)) + 1|0); + HEAP32[$28>>2] = $33; + $34 = HEAP8[$27>>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 ___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] = 2; + $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 ___shlim($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 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, 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; + $8 = $6; + $9 = (($7) - ($8))|0; + $10 = ((($0)) + 108|0); + HEAP32[$10>>2] = $9; + $11 = ($1|0)!=(0); + $12 = ($9|0)>($1|0); + $or$cond = $11 & $12; + $13 = (($6) + ($1)|0); + $$sink = $or$cond ? $13 : $4; + $14 = ((($0)) + 100|0); + HEAP32[$14>>2] = $$sink; + return; +} +function ___intscan($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0; + var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 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, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0; + var $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, $293 = 0; + var $294 = 0, $295 = 0, $296 = 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, $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$cond12 = 0; + var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($1>>>0)>(36); + L1: do { + if ($5) { + $8 = (___errno_location()|0); + HEAP32[$8>>2] = 22; + $289 = 0;$290 = 0; + } else { + $6 = ((($0)) + 4|0); + $7 = ((($0)) + 100|0); + while(1) { + $9 = HEAP32[$6>>2]|0; + $10 = HEAP32[$7>>2]|0; + $11 = ($9>>>0)<($10>>>0); + if ($11) { + $12 = ((($9)) + 1|0); + HEAP32[$6>>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; } } - $16 = ($$lcssa135|0)==(45); L11: do { - switch ($$lcssa135|0) { + switch ($16|0) { case 43: case 45: { - $17 = $16 << 31 >> 31; - $18 = HEAP32[$3>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = ($18>>>0)<($19>>>0); - if ($20) { - $21 = ((($18)) + 1|0); - HEAP32[$3>>2] = $21; - $22 = HEAP8[$18>>0]|0; - $23 = $22&255; - $c$0 = $23;$neg$0 = $17; + $19 = ($16|0)==(45); + $20 = $19 << 31 >> 31; + $21 = HEAP32[$6>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ($21>>>0)<($22>>>0); + if ($23) { + $24 = ((($21)) + 1|0); + HEAP32[$6>>2] = $24; + $25 = HEAP8[$21>>0]|0; + $26 = $25&255; + $$0157 = $20;$$0159 = $26; break L11; } else { - $24 = (___shgetc($f)|0); - $c$0 = $24;$neg$0 = $17; + $27 = (___shgetc($0)|0); + $$0157 = $20;$$0159 = $27; break L11; } break; } default: { - $c$0 = $$lcssa135;$neg$0 = 0; + $$0157 = 0;$$0159 = $16; } } } while(0); - $25 = ($base|0)==(0); - $26 = $base & -17; - $27 = ($26|0)==(0); - $28 = ($c$0|0)==(48); - $or$cond5 = $27 & $28; + $28 = ($1|0)==(0); + $29 = $1 | 16; + $30 = ($29|0)==(16); + $31 = ($$0159|0)==(48); + $or$cond5 = $30 & $31; do { if ($or$cond5) { - $29 = HEAP32[$3>>2]|0; - $30 = HEAP32[$4>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$3>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $37 = $34; + $32 = HEAP32[$6>>2]|0; + $33 = HEAP32[$7>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$6>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $40 = $37; } else { - $35 = (___shgetc($f)|0); - $37 = $35; + $38 = (___shgetc($0)|0); + $40 = $38; } - $36 = $37 | 32; - $38 = ($36|0)==(120); - if (!($38)) { - if ($25) { - $$123 = 8;$c$124 = $37; + $39 = $40 | 32; + $41 = ($39|0)==(120); + if (!($41)) { + if ($28) { + $$1160169 = $40;$$1165168 = 8; label = 46; break; } else { - $$1 = $base;$c$1 = $37; + $$1160 = $40;$$1165 = $1; label = 32; break; } } - $39 = HEAP32[$3>>2]|0; - $40 = HEAP32[$4>>2]|0; - $41 = ($39>>>0)<($40>>>0); - if ($41) { - $42 = ((($39)) + 1|0); - HEAP32[$3>>2] = $42; - $43 = HEAP8[$39>>0]|0; - $44 = $43&255; - $46 = $44; + $42 = HEAP32[$6>>2]|0; + $43 = HEAP32[$7>>2]|0; + $44 = ($42>>>0)<($43>>>0); + if ($44) { + $45 = ((($42)) + 1|0); + HEAP32[$6>>2] = $45; + $46 = HEAP8[$42>>0]|0; + $47 = $46&255; + $50 = $47; } else { - $45 = (___shgetc($f)|0); - $46 = $45; + $48 = (___shgetc($0)|0); + $50 = $48; } - $$sum20 = (($46) + 1)|0; - $47 = (31452 + ($$sum20)|0); - $48 = HEAP8[$47>>0]|0; - $49 = ($48&255)>(15); - if ($49) { - $50 = HEAP32[$4>>2]|0; - $51 = ($50|0)==(0|0); - if (!($51)) { - $52 = HEAP32[$3>>2]|0; - $53 = ((($52)) + -1|0); - HEAP32[$3>>2] = $53; - } - $54 = ($pok|0)==(0); + $49 = ((21958) + ($50)|0); + $51 = HEAP8[$49>>0]|0; + $52 = ($51&255)>(15); + if ($52) { + $53 = HEAP32[$7>>2]|0; + $54 = ($53|0)!=(0|0); if ($54) { - ___shlim($f,0); - $286 = 0;$287 = 0; + $55 = HEAP32[$6>>2]|0; + $56 = ((($55)) + -1|0); + HEAP32[$6>>2] = $56; + } + $57 = ($2|0)==(0); + if ($57) { + ___shlim($0,0); + $289 = 0;$290 = 0; break L1; } - if ($51) { - $286 = 0;$287 = 0; + if (!($54)) { + $289 = 0;$290 = 0; break L1; } - $55 = HEAP32[$3>>2]|0; - $56 = ((($55)) + -1|0); - HEAP32[$3>>2] = $56; - $286 = 0;$287 = 0; + $58 = HEAP32[$6>>2]|0; + $59 = ((($58)) + -1|0); + HEAP32[$6>>2] = $59; + $289 = 0;$290 = 0; break L1; } else { - $$123 = 16;$c$124 = $46; + $$1160169 = $50;$$1165168 = 16; label = 46; } } else { - $$base21 = $25 ? 10 : $base; - $$sum = (($c$0) + 1)|0; - $57 = (31452 + ($$sum)|0); - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = ($59>>>0)<($$base21>>>0); - if ($60) { - $$1 = $$base21;$c$1 = $c$0; + $$166 = $28 ? 10 : $1; + $60 = ((21958) + ($$0159)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($62>>>0)<($$166>>>0); + if ($63) { + $$1160 = $$0159;$$1165 = $$166; label = 32; } else { - $61 = HEAP32[$4>>2]|0; - $62 = ($61|0)==(0|0); - if (!($62)) { - $63 = HEAP32[$3>>2]|0; - $64 = ((($63)) + -1|0); - HEAP32[$3>>2] = $64; + $64 = HEAP32[$7>>2]|0; + $65 = ($64|0)==(0|0); + if (!($65)) { + $66 = HEAP32[$6>>2]|0; + $67 = ((($66)) + -1|0); + HEAP32[$6>>2] = $67; } - ___shlim($f,0); - $65 = (___errno_location()|0); - HEAP32[$65>>2] = 22; - $286 = 0;$287 = 0; + ___shlim($0,0); + $68 = (___errno_location()|0); + HEAP32[$68>>2] = 22; + $289 = 0;$290 = 0; break L1; } } } while(0); - if ((label|0) == 32) { - $66 = ($$1|0)==(10); - if ($66) { - $67 = (($c$1) + -48)|0; - $68 = ($67>>>0)<(10); - if ($68) { - $71 = $67;$x$082 = 0; - while(1) { - $69 = ($x$082*10)|0; - $70 = (($69) + ($71))|0; - $72 = HEAP32[$3>>2]|0; - $73 = HEAP32[$4>>2]|0; - $74 = ($72>>>0)<($73>>>0); - if ($74) { - $75 = ((($72)) + 1|0); - HEAP32[$3>>2] = $75; - $76 = HEAP8[$72>>0]|0; - $77 = $76&255; - $c$2$be = $77; - } else { - $78 = (___shgetc($f)|0); - $c$2$be = $78; - } - $79 = (($c$2$be) + -48)|0; - $80 = ($79>>>0)<(10); - $81 = ($70>>>0)<(429496729); - $82 = $80 & $81; - if ($82) { - $71 = $79;$x$082 = $70; - } else { - $$lcssa134 = $70;$c$2$be$lcssa = $c$2$be; - break; - } - } - $288 = $$lcssa134;$289 = 0;$c$2$lcssa = $c$2$be$lcssa; - } else { - $288 = 0;$289 = 0;$c$2$lcssa = $c$1; - } - $83 = (($c$2$lcssa) + -48)|0; - $84 = ($83>>>0)<(10); - if ($84) { - $85 = $288;$86 = $289;$89 = $83;$c$371 = $c$2$lcssa; - while(1) { - $87 = (___muldi3(($85|0),($86|0),10,0)|0); - $88 = tempRet0; - $90 = ($89|0)<(0); - $91 = $90 << 31 >> 31; - $92 = $89 ^ -1; - $93 = $91 ^ -1; - $94 = ($88>>>0)>($93>>>0); - $95 = ($87>>>0)>($92>>>0); - $96 = ($88|0)==($93|0); - $97 = $96 & $95; - $98 = $94 | $97; - if ($98) { - $$lcssa = $89;$290 = $85;$291 = $86;$c$3$lcssa = $c$371; - break; - } - $99 = (_i64Add(($87|0),($88|0),($89|0),($91|0))|0); - $100 = tempRet0; - $101 = HEAP32[$3>>2]|0; - $102 = HEAP32[$4>>2]|0; - $103 = ($101>>>0)<($102>>>0); - if ($103) { - $104 = ((($101)) + 1|0); - HEAP32[$3>>2] = $104; - $105 = HEAP8[$101>>0]|0; - $106 = $105&255; - $c$3$be = $106; - } else { - $107 = (___shgetc($f)|0); - $c$3$be = $107; - } - $108 = (($c$3$be) + -48)|0; - $109 = ($108>>>0)<(10); - $110 = ($100>>>0)<(429496729); - $111 = ($99>>>0)<(2576980378); - $112 = ($100|0)==(429496729); - $113 = $112 & $111; - $114 = $110 | $113; - $or$cond7 = $109 & $114; - if ($or$cond7) { - $85 = $99;$86 = $100;$89 = $108;$c$371 = $c$3$be; - } else { - $$lcssa = $108;$290 = $99;$291 = $100;$c$3$lcssa = $c$3$be; - break; - } - } - $115 = ($$lcssa>>>0)>(9); - if ($115) { - $259 = $291;$261 = $290;$neg$1 = $neg$0; - } else { - $$122 = 10;$292 = $290;$293 = $291;$c$8 = $c$3$lcssa; - label = 72; - } - } else { - $259 = $289;$261 = $288;$neg$1 = $neg$0; - } - } else { - $$123 = $$1;$c$124 = $c$1; - label = 46; - } - } - L63: do { - if ((label|0) == 46) { - $116 = (($$123) + -1)|0; - $117 = $116 & $$123; - $118 = ($117|0)==(0); - if ($118) { - $123 = ($$123*23)|0; - $124 = $123 >>> 5; - $125 = $124 & 7; - $126 = (31709 + ($125)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127 << 24 >> 24; - $$sum1445 = (($c$124) + 1)|0; - $129 = (31452 + ($$sum1445)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - $132 = ($131>>>0)<($$123>>>0); - if ($132) { - $135 = $131;$x$146 = 0; + L43: do { + if ((label|0) == 32) { + $69 = ($$1165|0)==(10); + if ($69) { + $70 = (($$1160) + -48)|0; + $71 = ($70>>>0)<(10); + if ($71) { + $$0154222 = 0;$74 = $70; while(1) { - $133 = $x$146 << $128; - $134 = $135 | $133; - $136 = HEAP32[$3>>2]|0; - $137 = HEAP32[$4>>2]|0; - $138 = ($136>>>0)<($137>>>0); - if ($138) { - $139 = ((($136)) + 1|0); - HEAP32[$3>>2] = $139; - $140 = HEAP8[$136>>0]|0; - $141 = $140&255; - $c$4$be = $141; + $72 = ($$0154222*10)|0; + $73 = (($72) + ($74))|0; + $75 = HEAP32[$6>>2]|0; + $76 = HEAP32[$7>>2]|0; + $77 = ($75>>>0)<($76>>>0); + if ($77) { + $78 = ((($75)) + 1|0); + HEAP32[$6>>2] = $78; + $79 = HEAP8[$75>>0]|0; + $80 = $79&255; + $$2161$be = $80; } else { - $142 = (___shgetc($f)|0); - $c$4$be = $142; + $81 = (___shgetc($0)|0); + $$2161$be = $81; } - $$sum14 = (($c$4$be) + 1)|0; - $143 = (31452 + ($$sum14)|0); - $144 = HEAP8[$143>>0]|0; - $145 = $144&255; - $146 = ($145>>>0)<($$123>>>0); - $147 = ($134>>>0)<(134217728); - $148 = $147 & $146; - if ($148) { - $135 = $145;$x$146 = $134; + $82 = (($$2161$be) + -48)|0; + $83 = ($82>>>0)<(10); + $84 = ($73>>>0)<(429496729); + $85 = $83 & $84; + if ($85) { + $$0154222 = $73;$74 = $82; } else { - $$lcssa130 = $134;$$lcssa131 = $144;$c$4$be$lcssa = $c$4$be; break; } } - $152 = $$lcssa131;$154 = 0;$156 = $$lcssa130;$c$4$lcssa = $c$4$be$lcssa; + $$2161$lcssa = $$2161$be;$291 = $73;$292 = 0; } else { - $152 = $130;$154 = 0;$156 = 0;$c$4$lcssa = $c$124; + $$2161$lcssa = $$1160;$291 = 0;$292 = 0; } - $149 = (_bitshift64Lshr(-1,-1,($128|0))|0); - $150 = tempRet0; - $151 = $152&255; - $153 = ($151>>>0)>=($$123>>>0); - $155 = ($154>>>0)>($150>>>0); - $157 = ($156>>>0)>($149>>>0); - $158 = ($154|0)==($150|0); - $159 = $158 & $157; - $160 = $155 | $159; - $or$cond40 = $153 | $160; - if ($or$cond40) { - $$122 = $$123;$292 = $156;$293 = $154;$c$8 = $c$4$lcssa; + $86 = (($$2161$lcssa) + -48)|0; + $87 = ($86>>>0)<(10); + if ($87) { + $$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$93 = $86; + 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) { + $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; + label = 72; + break L43; + } + $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0); + $103 = tempRet0; + $104 = HEAP32[$6>>2]|0; + $105 = HEAP32[$7>>2]|0; + $106 = ($104>>>0)<($105>>>0); + if ($106) { + $107 = ((($104)) + 1|0); + HEAP32[$6>>2] = $107; + $108 = HEAP8[$104>>0]|0; + $109 = $108&255; + $$3162$be = $109; + } else { + $110 = (___shgetc($0)|0); + $$3162$be = $110; + } + $111 = (($$3162$be) + -48)|0; + $112 = ($111>>>0)<(10); + $113 = ($103>>>0)<(429496729); + $114 = ($102>>>0)<(2576980378); + $115 = ($103|0)==(429496729); + $116 = $115 & $114; + $117 = $113 | $116; + $or$cond7 = $112 & $117; + if ($or$cond7) { + $$3162215 = $$3162$be;$88 = $102;$89 = $103;$93 = $111; + } else { + break; + } + } + $118 = ($111>>>0)>(9); + if ($118) { + $$1158 = $$0157;$263 = $103;$265 = $102; + } else { + $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; + label = 72; + } + } else { + $$1158 = $$0157;$263 = $292;$265 = $291; + } + } else { + $$1160169 = $$1160;$$1165168 = $$1165; + label = 46; + } + } + } while(0); + L63: do { + if ((label|0) == 46) { + $119 = (($$1165168) + -1)|0; + $120 = $119 & $$1165168; + $121 = ($120|0)==(0); + if ($121) { + $126 = ($$1165168*23)|0; + $127 = $126 >>> 5; + $128 = $127 & 7; + $129 = (22214 + ($128)|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130 << 24 >> 24; + $132 = ((21958) + ($$1160169)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = ($134>>>0)<($$1165168>>>0); + if ($135) { + $$1155192 = 0;$138 = $134; + while(1) { + $136 = $$1155192 << $131; + $137 = $138 | $136; + $139 = HEAP32[$6>>2]|0; + $140 = HEAP32[$7>>2]|0; + $141 = ($139>>>0)<($140>>>0); + if ($141) { + $142 = ((($139)) + 1|0); + HEAP32[$6>>2] = $142; + $143 = HEAP8[$139>>0]|0; + $144 = $143&255; + $$4163$be = $144; + } else { + $145 = (___shgetc($0)|0); + $$4163$be = $145; + } + $146 = ((21958) + ($$4163$be)|0); + $147 = HEAP8[$146>>0]|0; + $148 = $147&255; + $149 = ($148>>>0)<($$1165168>>>0); + $150 = ($137>>>0)<(134217728); + $151 = $150 & $149; + if ($151) { + $$1155192 = $137;$138 = $148; + } else { + break; + } + } + $$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137; + } else { + $$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0; + } + $152 = (_bitshift64Lshr(-1,-1,($131|0))|0); + $153 = tempRet0; + $154 = $155&255; + $156 = ($154>>>0)>=($$1165168>>>0); + $157 = ($158>>>0)>($153>>>0); + $159 = ($160>>>0)>($152>>>0); + $161 = ($158|0)==($153|0); + $162 = $161 & $159; + $163 = $157 | $162; + $or$cond187 = $156 | $163; + if ($or$cond187) { + $$1165167 = $$1165168;$$8 = $$4163$lcssa;$293 = $160;$294 = $158; label = 72; break; } else { - $161 = $156;$162 = $154;$166 = $152; + $164 = $160;$165 = $158;$169 = $155; } while(1) { - $163 = (_bitshift64Shl(($161|0),($162|0),($128|0))|0); - $164 = tempRet0; - $165 = $166&255; - $167 = $165 | $163; - $168 = HEAP32[$3>>2]|0; - $169 = HEAP32[$4>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - $171 = ((($168)) + 1|0); - HEAP32[$3>>2] = $171; - $172 = HEAP8[$168>>0]|0; - $173 = $172&255; - $c$5$be = $173; + $166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0); + $167 = tempRet0; + $168 = $169&255; + $170 = $168 | $166; + $171 = HEAP32[$6>>2]|0; + $172 = HEAP32[$7>>2]|0; + $173 = ($171>>>0)<($172>>>0); + if ($173) { + $174 = ((($171)) + 1|0); + HEAP32[$6>>2] = $174; + $175 = HEAP8[$171>>0]|0; + $176 = $175&255; + $$5$be = $176; } else { - $174 = (___shgetc($f)|0); - $c$5$be = $174; + $177 = (___shgetc($0)|0); + $$5$be = $177; } - $$sum15 = (($c$5$be) + 1)|0; - $175 = (31452 + ($$sum15)|0); - $176 = HEAP8[$175>>0]|0; - $177 = $176&255; - $178 = ($177>>>0)>=($$123>>>0); - $179 = ($164>>>0)>($150>>>0); - $180 = ($167>>>0)>($149>>>0); - $181 = ($164|0)==($150|0); - $182 = $181 & $180; - $183 = $179 | $182; - $or$cond = $178 | $183; + $178 = ((21958) + ($$5$be)|0); + $179 = HEAP8[$178>>0]|0; + $180 = $179&255; + $181 = ($180>>>0)>=($$1165168>>>0); + $182 = ($167>>>0)>($153>>>0); + $183 = ($170>>>0)>($152>>>0); + $184 = ($167|0)==($153|0); + $185 = $184 & $183; + $186 = $182 | $185; + $or$cond = $181 | $186; if ($or$cond) { - $$122 = $$123;$292 = $167;$293 = $164;$c$8 = $c$5$be; + $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; label = 72; break L63; } else { - $161 = $167;$162 = $164;$166 = $176; + $164 = $170;$165 = $167;$169 = $179; } } } - $$sum1865 = (($c$124) + 1)|0; - $119 = (31452 + ($$sum1865)|0); - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = ($121>>>0)<($$123>>>0); - if ($122) { - $186 = $121;$x$266 = 0; + $122 = ((21958) + ($$1160169)|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123&255; + $125 = ($124>>>0)<($$1165168>>>0); + if ($125) { + $$2156210 = 0;$189 = $124; while(1) { - $184 = Math_imul($x$266, $$123)|0; - $185 = (($186) + ($184))|0; - $187 = HEAP32[$3>>2]|0; - $188 = HEAP32[$4>>2]|0; - $189 = ($187>>>0)<($188>>>0); - if ($189) { - $190 = ((($187)) + 1|0); - HEAP32[$3>>2] = $190; - $191 = HEAP8[$187>>0]|0; - $192 = $191&255; - $c$6$be = $192; + $187 = Math_imul($$2156210, $$1165168)|0; + $188 = (($189) + ($187))|0; + $190 = HEAP32[$6>>2]|0; + $191 = HEAP32[$7>>2]|0; + $192 = ($190>>>0)<($191>>>0); + if ($192) { + $193 = ((($190)) + 1|0); + HEAP32[$6>>2] = $193; + $194 = HEAP8[$190>>0]|0; + $195 = $194&255; + $$6$be = $195; } else { - $193 = (___shgetc($f)|0); - $c$6$be = $193; + $196 = (___shgetc($0)|0); + $$6$be = $196; } - $$sum18 = (($c$6$be) + 1)|0; - $194 = (31452 + ($$sum18)|0); - $195 = HEAP8[$194>>0]|0; - $196 = $195&255; - $197 = ($196>>>0)<($$123>>>0); - $198 = ($185>>>0)<(119304647); - $199 = $198 & $197; - if ($199) { - $186 = $196;$x$266 = $185; + $197 = ((21958) + ($$6$be)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $200 = ($199>>>0)<($$1165168>>>0); + $201 = ($188>>>0)<(119304647); + $202 = $201 & $200; + if ($202) { + $$2156210 = $188;$189 = $199; } else { - $$lcssa132 = $185;$$lcssa133 = $195;$c$6$be$lcssa = $c$6$be; break; } } - $201 = $$lcssa133;$294 = $$lcssa132;$295 = 0;$c$6$lcssa = $c$6$be$lcssa; + $$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0; } else { - $201 = $120;$294 = 0;$295 = 0;$c$6$lcssa = $c$124; + $$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0; } - $200 = $201&255; - $202 = ($200>>>0)<($$123>>>0); - if ($202) { - $203 = (___udivdi3(-1,-1,($$123|0),0)|0); - $204 = tempRet0; - $205 = $295;$207 = $294;$215 = $201;$c$753 = $c$6$lcssa; + $203 = $204&255; + $205 = ($203>>>0)<($$1165168>>>0); + if ($205) { + $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); + $207 = tempRet0; + $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; while(1) { - $206 = ($205>>>0)>($204>>>0); - $208 = ($207>>>0)>($203>>>0); - $209 = ($205|0)==($204|0); - $210 = $209 & $208; - $211 = $206 | $210; - if ($211) { - $$122 = $$123;$292 = $207;$293 = $205;$c$8 = $c$753; + $208 = ($209>>>0)>($207>>>0); + $210 = ($211>>>0)>($206>>>0); + $212 = ($209|0)==($207|0); + $213 = $212 & $210; + $214 = $208 | $213; + if ($214) { + $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; label = 72; break L63; } - $212 = (___muldi3(($207|0),($205|0),($$123|0),0)|0); - $213 = tempRet0; - $214 = $215&255; - $216 = $214 ^ -1; - $217 = ($213>>>0)>(4294967295); - $218 = ($212>>>0)>($216>>>0); - $219 = ($213|0)==(-1); - $220 = $219 & $218; - $221 = $217 | $220; - if ($221) { - $$122 = $$123;$292 = $207;$293 = $205;$c$8 = $c$753; + $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) { + $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; label = 72; break L63; } - $222 = (_i64Add(($214|0),0,($212|0),($213|0))|0); - $223 = tempRet0; - $224 = HEAP32[$3>>2]|0; - $225 = HEAP32[$4>>2]|0; - $226 = ($224>>>0)<($225>>>0); - if ($226) { - $227 = ((($224)) + 1|0); - HEAP32[$3>>2] = $227; - $228 = HEAP8[$224>>0]|0; - $229 = $228&255; - $c$7$be = $229; + $225 = (_i64Add(($217|0),0,($215|0),($216|0))|0); + $226 = tempRet0; + $227 = HEAP32[$6>>2]|0; + $228 = HEAP32[$7>>2]|0; + $229 = ($227>>>0)<($228>>>0); + if ($229) { + $230 = ((($227)) + 1|0); + HEAP32[$6>>2] = $230; + $231 = HEAP8[$227>>0]|0; + $232 = $231&255; + $$7$be = $232; } else { - $230 = (___shgetc($f)|0); - $c$7$be = $230; + $233 = (___shgetc($0)|0); + $$7$be = $233; } - $$sum19 = (($c$7$be) + 1)|0; - $231 = (31452 + ($$sum19)|0); - $232 = HEAP8[$231>>0]|0; - $233 = $232&255; - $234 = ($233>>>0)<($$123>>>0); - if ($234) { - $205 = $223;$207 = $222;$215 = $232;$c$753 = $c$7$be; + $234 = ((21958) + ($$7$be)|0); + $235 = HEAP8[$234>>0]|0; + $236 = $235&255; + $237 = ($236>>>0)<($$1165168>>>0); + if ($237) { + $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; } else { - $$122 = $$123;$292 = $222;$293 = $223;$c$8 = $c$7$be; + $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; label = 72; break; } } } else { - $$122 = $$123;$292 = $294;$293 = $295;$c$8 = $c$6$lcssa; + $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; label = 72; } } } while(0); if ((label|0) == 72) { - $$sum16 = (($c$8) + 1)|0; - $235 = (31452 + ($$sum16)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = ($237>>>0)<($$122>>>0); - if ($238) { + $238 = ((21958) + ($$8)|0); + $239 = HEAP8[$238>>0]|0; + $240 = $239&255; + $241 = ($240>>>0)<($$1165167>>>0); + if ($241) { while(1) { - $239 = HEAP32[$3>>2]|0; - $240 = HEAP32[$4>>2]|0; - $241 = ($239>>>0)<($240>>>0); - if ($241) { - $242 = ((($239)) + 1|0); - HEAP32[$3>>2] = $242; - $243 = HEAP8[$239>>0]|0; - $244 = $243&255; - $c$9$be = $244; + $242 = HEAP32[$6>>2]|0; + $243 = HEAP32[$7>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + $245 = ((($242)) + 1|0); + HEAP32[$6>>2] = $245; + $246 = HEAP8[$242>>0]|0; + $247 = $246&255; + $$9$be = $247; } else { - $245 = (___shgetc($f)|0); - $c$9$be = $245; + $248 = (___shgetc($0)|0); + $$9$be = $248; } - $$sum17 = (($c$9$be) + 1)|0; - $246 = (31452 + ($$sum17)|0); - $247 = HEAP8[$246>>0]|0; - $248 = $247&255; - $249 = ($248>>>0)<($$122>>>0); - if (!($249)) { + $249 = ((21958) + ($$9$be)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $252 = ($251>>>0)<($$1165167>>>0); + if (!($252)) { break; } } - $250 = (___errno_location()|0); - HEAP32[$250>>2] = 34; - $251 = $0 & 1; - $252 = ($251|0)==(0); - $253 = (0)==(0); - $254 = $252 & $253; - $neg$0$ = $254 ? $neg$0 : 0; - $259 = $1;$261 = $0;$neg$1 = $neg$0$; + $253 = (___errno_location()|0); + HEAP32[$253>>2] = 34; + $254 = $3 & 1; + $255 = ($254|0)==(0); + $256 = (0)==(0); + $257 = $255 & $256; + $$0157$ = $257 ? $$0157 : 0; + $$1158 = $$0157$;$263 = $4;$265 = $3; } else { - $259 = $293;$261 = $292;$neg$1 = $neg$0; + $$1158 = $$0157;$263 = $294;$265 = $293; } } - $255 = HEAP32[$4>>2]|0; - $256 = ($255|0)==(0|0); - if (!($256)) { - $257 = HEAP32[$3>>2]|0; - $258 = ((($257)) + -1|0); - HEAP32[$3>>2] = $258; + $258 = HEAP32[$7>>2]|0; + $259 = ($258|0)==(0|0); + if (!($259)) { + $260 = HEAP32[$6>>2]|0; + $261 = ((($260)) + -1|0); + HEAP32[$6>>2] = $261; } - $260 = ($259>>>0)<($1>>>0); - $262 = ($261>>>0)<($0>>>0); - $263 = ($259|0)==($1|0); - $264 = $263 & $262; - $265 = $260 | $264; - if (!($265)) { - $266 = $0 & 1; - $267 = ($266|0)!=(0); - $268 = (0)!=(0); - $269 = $267 | $268; - $270 = ($neg$1|0)!=(0); - $or$cond12 = $269 | $270; + $262 = ($263>>>0)<($4>>>0); + $264 = ($265>>>0)<($3>>>0); + $266 = ($263|0)==($4|0); + $267 = $266 & $264; + $268 = $262 | $267; + if (!($268)) { + $269 = $3 & 1; + $270 = ($269|0)!=(0); + $271 = (0)!=(0); + $272 = $270 | $271; + $273 = ($$1158|0)!=(0); + $or$cond12 = $272 | $273; if (!($or$cond12)) { - $271 = (___errno_location()|0); - HEAP32[$271>>2] = 34; - $272 = (_i64Add(($0|0),($1|0),-1,-1)|0); - $273 = tempRet0; - $286 = $273;$287 = $272; + $274 = (___errno_location()|0); + HEAP32[$274>>2] = 34; + $275 = (_i64Add(($3|0),($4|0),-1,-1)|0); + $276 = tempRet0; + $289 = $276;$290 = $275; break; } - $274 = ($259>>>0)>($1>>>0); - $275 = ($261>>>0)>($0>>>0); - $276 = ($259|0)==($1|0); - $277 = $276 & $275; - $278 = $274 | $277; - if ($278) { - $279 = (___errno_location()|0); - HEAP32[$279>>2] = 34; - $286 = $1;$287 = $0; + $277 = ($263>>>0)>($4>>>0); + $278 = ($265>>>0)>($3>>>0); + $279 = ($263|0)==($4|0); + $280 = $279 & $278; + $281 = $277 | $280; + if ($281) { + $282 = (___errno_location()|0); + HEAP32[$282>>2] = 34; + $289 = $4;$290 = $3; break; } } - $280 = ($neg$1|0)<(0); - $281 = $280 << 31 >> 31; - $282 = $261 ^ $neg$1; - $283 = $259 ^ $281; - $284 = (_i64Subtract(($282|0),($283|0),($neg$1|0),($281|0))|0); - $285 = tempRet0; - $286 = $285;$287 = $284; + $283 = ($$1158|0)<(0); + $284 = $283 << 31 >> 31; + $285 = $265 ^ $$1158; + $286 = $263 ^ $284; + $287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0); + $288 = tempRet0; + $289 = $288;$290 = $287; } } while(0); - tempRet0 = ($286); - return ($287|0); + tempRet0 = ($289); + return ($290|0); } -function ___shlim($f,$lim) { - $f = $f|0; - $lim = $lim|0; - 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, $or$cond = 0, label = 0, sp = 0; +function ___shgetc($0) { + $0 = $0|0; + var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 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 $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 104|0); - HEAP32[$0>>2] = $lim; - $1 = ((($f)) + 8|0); + $1 = ((($0)) + 104|0); $2 = HEAP32[$1>>2]|0; - $3 = ((($f)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2; - $6 = $4; - $7 = (($5) - ($6))|0; - $8 = ((($f)) + 108|0); - HEAP32[$8>>2] = $7; - $9 = ($lim|0)!=(0); - $10 = ($7|0)>($lim|0); - $or$cond = $9 & $10; - if ($or$cond) { - $11 = (($4) + ($lim)|0); - $12 = ((($f)) + 100|0); - HEAP32[$12>>2] = $11; - } else { - $13 = ((($f)) + 100|0); - HEAP32[$13>>2] = $5; - } - return; -} -function ___shgetc($f) { - $f = $f|0; - var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert3 = 0, $$pre = 0, $$pre4 = 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; - 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 104|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { + $3 = ($2|0)==(0); + if ($3) { label = 3; } else { - $3 = ((($f)) + 108|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<($1|0); - if ($5) { + $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) { - $6 = (___uflow($f)|0); - $7 = ($6|0)<(0); - if ($7) { + $7 = (___uflow($0)|0); + $8 = ($7|0)<(0); + if ($8) { label = 4; } else { - $9 = HEAP32[$0>>2]|0; - $10 = ($9|0)==(0); - $$phi$trans$insert = ((($f)) + 8|0); - if ($10) { + $10 = HEAP32[$1>>2]|0; + $11 = ($10|0)==(0); + $$phi$trans$insert = ((($0)) + 8|0); + if ($11) { $$pre = HEAP32[$$phi$trans$insert>>2]|0; - $11 = $$pre; - $26 = $$pre;$41 = $11; - label = 9; + $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); + $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; + $$pre35 = ((($0)) + 108|0); + $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$pre; } else { $12 = HEAP32[$$phi$trans$insert>>2]|0; - $13 = ((($f)) + 4|0); + $13 = ((($0)) + 4|0); $14 = HEAP32[$13>>2]|0; - $15 = $12; - $16 = $14; - $17 = (($15) - ($16))|0; - $18 = ((($f)) + 108|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($9) - ($19))|0; - $21 = (($20) + -1)|0; - $22 = ($17|0)>($21|0); - if ($22) { - $23 = (($14) + ($21)|0); - $24 = ((($f)) + 100|0); - HEAP32[$24>>2] = $23; - $27 = $12; + $15 = $14; + $16 = (($12) - ($15))|0; + $17 = ((($0)) + 108|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($10) - ($18))|0; + $20 = ($16|0)<($19|0); + $21 = $12; + if ($20) { + $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; } else { - $26 = $15;$41 = $12; - label = 9; + $22 = (($19) + -1)|0; + $23 = (($14) + ($22)|0); + $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; } } - if ((label|0) == 9) { - $25 = ((($f)) + 100|0); - HEAP32[$25>>2] = $26; - $27 = $41; + $24 = ((($0)) + 100|0); + HEAP32[$24>>2] = $$sink; + $25 = ($26|0)==(0|0); + if (!($25)) { + $27 = $26; + $28 = $29; + $30 = HEAP32[$$pre$phi34Z2D>>2]|0; + $31 = (($27) + 1)|0; + $32 = (($31) - ($28))|0; + $33 = (($32) + ($30))|0; + HEAP32[$$pre$phi34Z2D>>2] = $33; } - $28 = ($27|0)==(0|0); - $$phi$trans$insert3 = ((($f)) + 4|0); - $$pre4 = HEAP32[$$phi$trans$insert3>>2]|0; - if (!($28)) { - $29 = $27; - $30 = $$pre4; - $31 = ((($f)) + 108|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($29) + 1)|0; - $34 = (($33) - ($30))|0; - $35 = (($34) + ($32))|0; - HEAP32[$31>>2] = $35; - } - $36 = ((($$pre4)) + -1|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = ($38|0)==($6|0); - if ($39) { - $$0 = $6; + $34 = ((($29)) + -1|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($36|0)==($7|0); + if ($37) { + $$0 = $7; } else { - $40 = $6&255; - HEAP8[$36>>0] = $40; - $$0 = $6; + $38 = $7&255; + HEAP8[$34>>0] = $38; + $$0 = $7; } } } if ((label|0) == 4) { - $8 = ((($f)) + 100|0); - HEAP32[$8>>2] = 0; + $9 = ((($0)) + 100|0); + HEAP32[$9>>2] = 0; $$0 = -1; } return ($$0|0); } -function ___syscall_ret($r) { - $r = $r|0; - var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _isspace($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($r>>>0)>(4294963200); - if ($0) { - $1 = (0 - ($r))|0; - $2 = (___errno_location()|0); - HEAP32[$2>>2] = $1; - $$0 = -1; - } else { - $$0 = $r; - } - return ($$0|0); + $1 = ($0|0)==(32); + $2 = (($0) + -9)|0; + $3 = ($2>>>0)<(5); + $4 = $1 | $3; + $5 = $4&1; + return ($5|0); } -function _copysign($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 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; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $y;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = $1 & 2147483647; - $5 = $3 & -2147483648; - $6 = $5 | $4; - HEAP32[tempDoublePtr>>2] = $0;HEAP32[tempDoublePtr+4>>2] = $6;$7 = +HEAPF64[tempDoublePtr>>3]; - return (+$7); -} -function _copysignl($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_copysign($x,$y)); - return (+$0); -} -function _fmod($x,$y) { - $x = +$x; - $y = +$y; - var $$0 = 0.0, $$lcssa7 = 0, $$x = 0.0, $0 = 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; - 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.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.0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.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.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.0; - var $ex$0$lcssa = 0, $ex$026 = 0, $ex$1 = 0, $ex$2$lcssa = 0, $ex$212 = 0, $ex$3$lcssa = 0, $ex$39 = 0, $ey$0$lcssa = 0, $ey$020 = 0, $ey$1$ph = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $y;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - $4 = (_bitshift64Lshr(($0|0),($1|0),52)|0); - $5 = tempRet0; - $6 = $4 & 2047; - $7 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $8 = tempRet0; - $9 = $7 & 2047; - $10 = $1 & -2147483648; - $11 = (_bitshift64Shl(($2|0),($3|0),1)|0); - $12 = tempRet0; - $13 = ($11|0)==(0); - $14 = ($12|0)==(0); - $15 = $13 & $14; - L1: do { - if ($15) { - label = 3; - } else { - $16 = $3 & 2147483647; - $17 = ($16>>>0)>(2146435072); - $18 = ($2>>>0)>(0); - $19 = ($16|0)==(2146435072); - $20 = $19 & $18; - $21 = $17 | $20; - $22 = ($6|0)==(2047); - $or$cond = $21 | $22; - if ($or$cond) { - label = 3; - } else { - $25 = (_bitshift64Shl(($0|0),($1|0),1)|0); - $26 = tempRet0; - $27 = ($26>>>0)>($12>>>0); - $28 = ($25>>>0)>($11>>>0); - $29 = ($26|0)==($12|0); - $30 = $29 & $28; - $31 = $27 | $30; - if (!($31)) { - $32 = ($25|0)==($11|0); - $33 = ($26|0)==($12|0); - $34 = $32 & $33; - $35 = $x * 0.0; - $$x = $34 ? $35 : $x; - return (+$$x); - } - $36 = ($6|0)==(0); - if ($36) { - $37 = (_bitshift64Shl(($0|0),($1|0),12)|0); - $38 = tempRet0; - $39 = ($38|0)>(-1); - $40 = ($37>>>0)>(4294967295); - $41 = ($38|0)==(-1); - $42 = $41 & $40; - $43 = $39 | $42; - if ($43) { - $45 = $37;$46 = $38;$ex$026 = 0; - while(1) { - $44 = (($ex$026) + -1)|0; - $47 = (_bitshift64Shl(($45|0),($46|0),1)|0); - $48 = tempRet0; - $49 = ($48|0)>(-1); - $50 = ($47>>>0)>(4294967295); - $51 = ($48|0)==(-1); - $52 = $51 & $50; - $53 = $49 | $52; - if ($53) { - $45 = $47;$46 = $48;$ex$026 = $44; - } else { - $ex$0$lcssa = $44; - break; - } - } - } else { - $ex$0$lcssa = 0; - } - $54 = (1 - ($ex$0$lcssa))|0; - $55 = (_bitshift64Shl(($0|0),($1|0),($54|0))|0); - $56 = tempRet0; - $83 = $55;$84 = $56;$ex$1 = $ex$0$lcssa; - } else { - $57 = $1 & 1048575; - $58 = $57 | 1048576; - $83 = $0;$84 = $58;$ex$1 = $6; - } - $59 = ($9|0)==(0); - if ($59) { - $60 = (_bitshift64Shl(($2|0),($3|0),12)|0); - $61 = tempRet0; - $62 = ($61|0)>(-1); - $63 = ($60>>>0)>(4294967295); - $64 = ($61|0)==(-1); - $65 = $64 & $63; - $66 = $62 | $65; - if ($66) { - $68 = $60;$69 = $61;$ey$020 = 0; - while(1) { - $67 = (($ey$020) + -1)|0; - $70 = (_bitshift64Shl(($68|0),($69|0),1)|0); - $71 = tempRet0; - $72 = ($71|0)>(-1); - $73 = ($70>>>0)>(4294967295); - $74 = ($71|0)==(-1); - $75 = $74 & $73; - $76 = $72 | $75; - if ($76) { - $68 = $70;$69 = $71;$ey$020 = $67; - } else { - $ey$0$lcssa = $67; - break; - } - } - } else { - $ey$0$lcssa = 0; - } - $77 = (1 - ($ey$0$lcssa))|0; - $78 = (_bitshift64Shl(($2|0),($3|0),($77|0))|0); - $79 = tempRet0; - $85 = $78;$86 = $79;$ey$1$ph = $ey$0$lcssa; - } else { - $80 = $3 & 1048575; - $81 = $80 | 1048576; - $85 = $2;$86 = $81;$ey$1$ph = $9; - } - $82 = ($ex$1|0)>($ey$1$ph|0); - $87 = (_i64Subtract(($83|0),($84|0),($85|0),($86|0))|0); - $88 = tempRet0; - $89 = ($88|0)>(-1); - $90 = ($87>>>0)>(4294967295); - $91 = ($88|0)==(-1); - $92 = $91 & $90; - $93 = $89 | $92; - L23: do { - if ($82) { - $152 = $93;$153 = $87;$154 = $88;$94 = $83;$96 = $84;$ex$212 = $ex$1; - while(1) { - if ($152) { - $95 = ($94|0)==($85|0); - $97 = ($96|0)==($86|0); - $98 = $95 & $97; - if ($98) { - break; - } else { - $100 = $153;$101 = $154; - } - } else { - $100 = $94;$101 = $96; - } - $102 = (_bitshift64Shl(($100|0),($101|0),1)|0); - $103 = tempRet0; - $104 = (($ex$212) + -1)|0; - $105 = ($104|0)>($ey$1$ph|0); - $106 = (_i64Subtract(($102|0),($103|0),($85|0),($86|0))|0); - $107 = tempRet0; - $108 = ($107|0)>(-1); - $109 = ($106>>>0)>(4294967295); - $110 = ($107|0)==(-1); - $111 = $110 & $109; - $112 = $108 | $111; - if ($105) { - $152 = $112;$153 = $106;$154 = $107;$94 = $102;$96 = $103;$ex$212 = $104; - } else { - $$lcssa7 = $112;$113 = $102;$115 = $103;$155 = $106;$156 = $107;$ex$2$lcssa = $104; - break L23; - } - } - $99 = $x * 0.0; - $$0 = $99; - break L1; - } else { - $$lcssa7 = $93;$113 = $83;$115 = $84;$155 = $87;$156 = $88;$ex$2$lcssa = $ex$1; - } - } while(0); - if ($$lcssa7) { - $114 = ($113|0)==($85|0); - $116 = ($115|0)==($86|0); - $117 = $114 & $116; - if ($117) { - $125 = $x * 0.0; - $$0 = $125; - break; - } else { - $118 = $156;$120 = $155; - } - } else { - $118 = $115;$120 = $113; - } - $119 = ($118>>>0)<(1048576); - $121 = ($120>>>0)<(0); - $122 = ($118|0)==(1048576); - $123 = $122 & $121; - $124 = $119 | $123; - if ($124) { - $126 = $120;$127 = $118;$ex$39 = $ex$2$lcssa; - while(1) { - $128 = (_bitshift64Shl(($126|0),($127|0),1)|0); - $129 = tempRet0; - $130 = (($ex$39) + -1)|0; - $131 = ($129>>>0)<(1048576); - $132 = ($128>>>0)<(0); - $133 = ($129|0)==(1048576); - $134 = $133 & $132; - $135 = $131 | $134; - if ($135) { - $126 = $128;$127 = $129;$ex$39 = $130; - } else { - $137 = $128;$138 = $129;$ex$3$lcssa = $130; - break; - } - } - } else { - $137 = $120;$138 = $118;$ex$3$lcssa = $ex$2$lcssa; - } - $136 = ($ex$3$lcssa|0)>(0); - if ($136) { - $139 = (_i64Add(($137|0),($138|0),0,-1048576)|0); - $140 = tempRet0; - $141 = (_bitshift64Shl(($ex$3$lcssa|0),0,52)|0); - $142 = tempRet0; - $143 = $139 | $141; - $144 = $140 | $142; - $149 = $144;$151 = $143; - } else { - $145 = (1 - ($ex$3$lcssa))|0; - $146 = (_bitshift64Lshr(($137|0),($138|0),($145|0))|0); - $147 = tempRet0; - $149 = $147;$151 = $146; - } - $148 = $149 | $10; - HEAP32[tempDoublePtr>>2] = $151;HEAP32[tempDoublePtr+4>>2] = $148;$150 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $150; - } - } - } while(0); - if ((label|0) == 3) { - $23 = $x * $y; - $24 = $23 / $23; - $$0 = $24; - } - return (+$$0); -} -function _fmodl($x,$y) { - $x = +$x; - $y = +$y; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_fmod($x,$y)); - return (+$0); -} -function _frexp($x,$e) { - $x = +$x; - $e = $e|0; - var $$0 = 0.0, $$01 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0; - $1 = HEAP32[tempDoublePtr+4>>2]|0; - $2 = (_bitshift64Lshr(($0|0),($1|0),52)|0); - $3 = tempRet0; - $4 = $2 & 2047; - switch ($4|0) { - case 0: { - $5 = $x != 0.0; - if ($5) { - $6 = $x * 1.8446744073709552E+19; - $7 = (+_frexp($6,$e)); - $8 = HEAP32[$e>>2]|0; - $9 = (($8) + -64)|0; - $$01 = $7;$storemerge = $9; - } else { - $$01 = $x;$storemerge = 0; - } - HEAP32[$e>>2] = $storemerge; - $$0 = $$01; - break; - } - case 2047: { - $$0 = $x; - break; - } - default: { - $10 = (($4) + -1022)|0; - HEAP32[$e>>2] = $10; - $11 = $1 & -2146435073; - $12 = $11 | 1071644672; - HEAP32[tempDoublePtr>>2] = $0;HEAP32[tempDoublePtr+4>>2] = $12;$13 = +HEAPF64[tempDoublePtr>>3]; - $$0 = $13; - } - } - return (+$$0); -} -function _frexpl($x,$e) { - $x = +$x; - $e = $e|0; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_frexp($x,$e)); - return (+$0); -} -function _ldexp($x,$n) { - $x = +$x; - $n = $n|0; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_scalbn($x,$n)); - return (+$0); -} -function _roundf($x) { - $x = +$x; - var $$0 = 0.0, $$x = 0.0, $$y$0 = 0.0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0; - var $9 = 0.0, $y$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (HEAPF32[tempDoublePtr>>2]=$x,HEAP32[tempDoublePtr>>2]|0); - $1 = $0 >>> 23; - $2 = $1 & 255; - $3 = ($2>>>0)>(149); - do { - if ($3) { - $$0 = $x; - } else { - $4 = ($0|0)<(0); - $5 = -$x; - $$x = $4 ? $5 : $x; - $6 = ($2>>>0)<(126); - if ($6) { - $7 = $x * 0.0; - $$0 = $7; - break; - } - $8 = $$x + 8388608.0; - $9 = $8 + -8388608.0; - $10 = $9 - $$x; - $11 = $10 > 0.5; - if ($11) { - $12 = $$x + $10; - $13 = $12 + -1.0; - $y$0 = $13; - } else { - $14 = !($10 <= -0.5); - $15 = $$x + $10; - if ($14) { - $y$0 = $15; - } else { - $16 = $15 + 1.0; - $y$0 = $16; - } - } - $17 = -$y$0; - $$y$0 = $4 ? $17 : $y$0; - $$0 = $$y$0; - } - } while(0); - return (+$$0); -} -function _scalbn($x,$n) { - $x = +$x; - $n = $n|0; - var $$ = 0, $$0 = 0, $$1 = 0, $0 = 0, $1 = 0.0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0.0, $9 = 0, $y$0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)>(1023); - if ($0) { - $1 = $x * 8.9884656743115795E+307; - $2 = (($n) + -1023)|0; - $3 = ($2|0)>(1023); - if ($3) { - $4 = $1 * 8.9884656743115795E+307; - $5 = (($n) + -2046)|0; - $6 = ($5|0)>(1023); - $$ = $6 ? 1023 : $5; - $$0 = $$;$y$0 = $4; - } else { - $$0 = $2;$y$0 = $1; - } - } else { - $7 = ($n|0)<(-1022); + 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 & 15]($0,$1,1)|0); + $7 = ($6|0)==(1); if ($7) { - $8 = $x * 2.2250738585072014E-308; - $9 = (($n) + 1022)|0; - $10 = ($9|0)<(-1022); - if ($10) { - $11 = $8 * 2.2250738585072014E-308; - $12 = (($n) + 2044)|0; - $13 = ($12|0)<(-1022); - $$1 = $13 ? -1022 : $12; - $$0 = $$1;$y$0 = $11; - } else { - $$0 = $9;$y$0 = $8; - } + $8 = HEAP8[$1>>0]|0; + $9 = $8&255; + $$0 = $9; } else { - $$0 = $n;$y$0 = $x; + $$0 = -1; } - } - $14 = (($$0) + 1023)|0; - $15 = (_bitshift64Shl(($14|0),0,52)|0); - $16 = tempRet0; - HEAP32[tempDoublePtr>>2] = $15;HEAP32[tempDoublePtr+4>>2] = $16;$17 = +HEAPF64[tempDoublePtr>>3]; - $18 = $y$0 * $17; - return (+$18); -} -function _scalbnl($x,$n) { - $x = +$x; - $n = $n|0; - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_scalbn($x,$n)); - return (+$0); -} -function _mbrtowc($wc,$src,$n,$st) { - $wc = $wc|0; - $src = $src|0; - $n = $n|0; - $st = $st|0; - var $$0 = 0, $$024 = 0, $$1 = 0, $$lcssa = 0, $$lcssa35 = 0, $$st = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c$05 = 0, $c$1 = 0, $c$2 = 0, $dummy = 0, $dummy$wc = 0, $s$06 = 0, $s$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $dummy = sp; - $0 = ($st|0)==(0|0); - $$st = $0 ? 11340 : $st; - $1 = HEAP32[$$st>>2]|0; - $2 = ($src|0)==(0|0); - L1: do { - if ($2) { - $3 = ($1|0)==(0); - if ($3) { - $$0 = 0; - } else { - label = 15; - } - } else { - $4 = ($wc|0)==(0|0); - $dummy$wc = $4 ? $dummy : $wc; - $5 = ($n|0)==(0); - if ($5) { - $$0 = -2; - } else { - $6 = ($1|0)==(0); - if ($6) { - $7 = HEAP8[$src>>0]|0; - $8 = $7&255; - $9 = ($7<<24>>24)>(-1); - if ($9) { - HEAP32[$dummy$wc>>2] = $8; - $10 = ($7<<24>>24)!=(0); - $11 = $10&1; - $$0 = $11; - break; - } - $12 = (($8) + -194)|0; - $13 = ($12>>>0)>(50); - if ($13) { - label = 15; - break; - } - $14 = ((($src)) + 1|0); - $15 = (11092 + ($12<<2)|0); - $16 = HEAP32[$15>>2]|0; - $17 = (($n) + -1)|0; - $18 = ($17|0)==(0); - if ($18) { - $c$2 = $16; - } else { - $$024 = $17;$c$05 = $16;$s$06 = $14; - label = 9; - } - } else { - $$024 = $n;$c$05 = $1;$s$06 = $src; - label = 9; - } - L11: do { - if ((label|0) == 9) { - $19 = HEAP8[$s$06>>0]|0; - $20 = $19&255; - $21 = $20 >>> 3; - $22 = (($21) + -16)|0; - $23 = $c$05 >> 26; - $24 = (($21) + ($23))|0; - $25 = $22 | $24; - $26 = ($25>>>0)>(7); - if ($26) { - label = 15; - break L1; - } else { - $$1 = $$024;$30 = $19;$c$1 = $c$05;$s$1 = $s$06; - } - while(1) { - $27 = $c$1 << 6; - $28 = ((($s$1)) + 1|0); - $29 = $30&255; - $31 = (($29) + -128)|0; - $32 = $31 | $27; - $33 = (($$1) + -1)|0; - $34 = ($32|0)<(0); - if (!($34)) { - $$lcssa = $32;$$lcssa35 = $33; - break; - } - $36 = ($33|0)==(0); - if ($36) { - $c$2 = $32; - break L11; - } - $37 = HEAP8[$28>>0]|0; - $38 = $37 & -64; - $39 = ($38<<24>>24)==(-128); - if ($39) { - $$1 = $33;$30 = $37;$c$1 = $32;$s$1 = $28; - } else { - label = 15; - break L1; - } - } - HEAP32[$$st>>2] = 0; - HEAP32[$dummy$wc>>2] = $$lcssa; - $35 = (($n) - ($$lcssa35))|0; - $$0 = $35; - break L1; - } - } while(0); - HEAP32[$$st>>2] = $c$2; - $$0 = -2; - } - } - } while(0); - if ((label|0) == 15) { - HEAP32[$$st>>2] = 0; - $40 = (___errno_location()|0); - HEAP32[$40>>2] = 84; + } else { $$0 = -1; } STACKTOP = sp;return ($$0|0); } -function _mbsinit($st) { - $st = $st|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +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; - $0 = ($st|0)==(0|0); - if ($0) { - $4 = 1; - } else { - $1 = HEAP32[$st>>2]|0; - $2 = ($1|0)==(0); - $4 = $2; + $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 & 15]($0,0,0)|0); } - $3 = $4&1; + $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 _copysign($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; + $5 = HEAP32[tempDoublePtr+4>>2]|0; + $6 = $3 & 2147483647; + $7 = $5 & -2147483648; + $8 = $7 | $6; + HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3]; + return (+$9); +} +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 _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 _strncmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $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&255; + $6 = ($4<<24>>24)==(0); + $7 = HEAP8[$1>>0]|0; + $8 = $7&255; + L3: do { + if ($6) { + $$lcssa = $8;$$lcssa22 = $5; + } else { + $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5; + while(1) { + $$01926 = (($$01926$in) + -1)|0; + $9 = ($10<<24>>24)!=(0); + $11 = ($$01926|0)!=(0); + $or$cond = $11 & $9; + $12 = ($13<<24>>24)==($10<<24>>24); + $or$cond21 = $12 & $or$cond; + if (!($or$cond21)) { + $$lcssa = $22;$$lcssa22 = $23; + break L3; + } + $14 = ((($$01824)) + 1|0); + $15 = ((($$025)) + 1|0); + $16 = HEAP8[$14>>0]|0; + $17 = $16&255; + $18 = ($16<<24>>24)==(0); + $19 = HEAP8[$15>>0]|0; + $20 = $19&255; + if ($18) { + $$lcssa = $20;$$lcssa22 = $17; + break; + } else { + $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17; + } + } + } + } while(0); + $21 = (($$lcssa22) - ($$lcssa))|0; + $$020 = $21; + } + return ($$020|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 _wcrtomb($s,$wc,$st) { - $s = $s|0; - $wc = $wc|0; - $st = $st|0; - 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, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; +function _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$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; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - $0 = ($s|0)==(0|0); + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=5508; 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); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|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 = 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, $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, $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 + 120|0; + $4 = sp + 80|0; + $5 = sp; + $6 = sp + 136|0; + 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 & 15]($0,0,0)|0); + $33 = HEAP32[$26>>2]|0; + $34 = ($33|0)==(0|0); + $$ = $34 ? -1 : $29; + HEAP32[$23>>2] = $24; + HEAP32[$19>>2] = 0; + HEAP32[$28>>2] = 0; + HEAP32[$25>>2] = 0; + HEAP32[$26>>2] = 0; + $$1 = $$; + } + } else { + $22 = (_printf_core($0,$1,$3,$5,$4)|0); + $$1 = $22; + } + $35 = HEAP32[$0>>2]|0; + $36 = $35 & 32; + $37 = ($36|0)==(0); + $$1$ = $37 ? $$1 : -1; + $38 = $35 | $14; + HEAP32[$0>>2] = $38; + $39 = ($40|0)==(0); + if (!($39)) { + ___unlockfile($0); + } + $$0 = $$1$; + } + 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, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 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.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, $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 $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $5 = sp + 16|0; + $6 = sp; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 20|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 = 0;$$0247 = 0;$$0269 = 0;$21 = $1; + L1: 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 = HEAP8[$21>>0]|0; + $22 = ($20<<24>>24)==(0); + if ($22) { + label = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $25;$27 = $25; + label = 9; + break L9; + break; + } + case 0: { + $$0249$lcssa = $25;$39 = $25; + break L9; + break; + } + default: { + } + } + $24 = ((($25)) + 1|0); + HEAP32[$5>>2] = $24; + $$pre = HEAP8[$24>>0]|0; + $23 = $$pre;$25 = $24; + } + L12: do { + if ((label|0) == 9) { + while(1) { + label = 0; + $26 = ((($27)) + 1|0); + $28 = HEAP8[$26>>0]|0; + $29 = ($28<<24>>24)==(37); + if (!($29)) { + $$0249$lcssa = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $30;$27 = $31; + label = 9; + } else { + $$0249$lcssa = $30;$39 = $31; + break; + } + } + } + } while(0); + $34 = $$0249$lcssa; + $35 = $21; + $36 = (($34) - ($35))|0; + if ($10) { + _out($0,$21,$36); + } + $37 = ($36|0)==(0); + if (!($37)) { + $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi; + continue; + } + $38 = ((($39)) + 1|0); + $40 = HEAP8[$38>>0]|0; + $41 = $40 << 24 >> 24; + $isdigittmp = (($41) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $42 = ((($39)) + 2|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)==(36); + $45 = ((($39)) + 3|0); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } else { + $$0253 = -1;$$1270 = $$0269;$storemerge = $38; + } + HEAP32[$5>>2] = $storemerge; + $46 = HEAP8[$storemerge>>0]|0; + $47 = $46 << 24 >> 24; + $48 = (($47) + -32)|0; + $49 = ($48>>>0)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((22223 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 22687;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 22687;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 22687 : (22689); + $$$ = $238 ? $$ : (22688); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 22687;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 22687;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 22697; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 22687;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (22687 + ($208)|0); + $$289 = $or$cond283 ? 22687 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 22687;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$2256$$$2256 = $or$cond ? $$2256$ : $$2256; + $$0228$ = $or$cond ? $$0228 : $11; + $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266; + } + else if ((label|0) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } else { + $$0 = $$1248; + } + } + } while(0); + STACKTOP = sp;return ($$0|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 _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, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $isdigittmp4 = (($3) + -48)|0; + $isdigit5 = ($isdigittmp4>>>0)<(10); + if ($isdigit5) { + $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4; + while(1) { + $4 = ($$06*10)|0; + $5 = (($isdigittmp7) + ($4))|0; + $6 = ((($7)) + 1|0); + HEAP32[$0>>2] = $6; + $8 = HEAP8[$6>>0]|0; + $9 = $8 << 24 >> 24; + $isdigittmp = (($9) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp; + } else { + $$0$lcssa = $5; + break; + } + } + } else { + $$0$lcssa = 0; + } + 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 = (22735 + ($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, $3 = 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 = (___uremdi3(($8|0),($9|0),10,0)|0); + $11 = tempRet0; + $12 = $10&255; + $13 = $12 | 48; + $14 = ((($$0914)) + -1|0); + HEAP8[$14>>0] = $13; + $15 = (___udivdi3(($8|0),($9|0),10,0)|0); + $16 = tempRet0; + $17 = ($9>>>0)>(9); + $18 = ($8>>>0)>(4294967295); + $19 = ($9|0)==(9); + $20 = $19 & $18; + $21 = $17 | $20; + if ($21) { + $$0914 = $14;$8 = $15;$9 = $16; + } else { + break; + } + } + $$010$lcssa$off0 = $15;$$09$lcssa = $14; + } else { + $$010$lcssa$off0 = $0;$$09$lcssa = $2; + } + $22 = ($$010$lcssa$off0|0)==(0); + if ($22) { + $$1$lcssa = $$09$lcssa; + } else { + $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa; + while(1) { + $23 = (($$012>>>0) % 10)&-1; + $24 = $23 | 48; + $25 = $24&255; + $26 = ((($$111)) + -1|0); + HEAP8[$26>>0] = $25; + $27 = (($$012>>>0) / 10)&-1; + $28 = ($$012>>>0)<(10); + if ($28) { + $$1$lcssa = $26; + break; + } else { + $$012 = $27;$$111 = $26; + } + } + } + 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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 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 { + $$2 = $$035$lcssa;$$3 = 0; + } + } + L8: do { + if ((label|0) == 6) { + $17 = HEAP8[$$035$lcssa65>>0]|0; + $18 = $1&255; + $19 = ($17<<24>>24)==($18<<24>>24); + if ($19) { + $$2 = $$035$lcssa65;$$3 = $$036$lcssa64; + } else { + $20 = Math_imul($3, 16843009)|0; + $21 = ($$036$lcssa64>>>0)>(3); + L11: 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)) { + break; + } + $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 L11; + } + } + $$140 = $$046;$$23839 = $$13745; + } else { + $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; + label = 11; + } + } while(0); + if ((label|0) == 11) { + $32 = ($$137$lcssa|0)==(0); + if ($32) { + $$2 = $$0$lcssa;$$3 = 0; + break; + } else { + $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + } + } + while(1) { + $33 = HEAP8[$$140>>0]|0; + $34 = ($33<<24>>24)==($18<<24>>24); + if ($34) { + $$2 = $$140;$$3 = $$23839; + break L8; + } + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; + break; + } else { + $$140 = $35;$$23839 = $36; + } + } + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_674($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, $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 = ($9>>>0)<(256); + $11 = $10 ? $9 : 256; + _memset(($5|0),($1|0),($11|0))|0; + $12 = ($9>>>0)>(255); + if ($12) { + $13 = (($2) - ($3))|0; + $$011 = $9; + while(1) { + _out($0,$5,256); + $14 = (($$011) + -256)|0; + $15 = ($14>>>0)>(255); + if ($15) { + $$011 = $14; + } else { + break; + } + } + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; + } + _out($0,$5,$$0$lcssa); + } + STACKTOP = sp;return; +} +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 _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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.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.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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $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.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $387 = 0, $388 = 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.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.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 $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0); + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 524|0; + $9 = $8; + $10 = sp + 512|0; + HEAP32[$7>>2] = 0; + $11 = ((($10)) + 12|0); + (___DOUBLE_BITS_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 22704; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (22705) : (22710); + $$$ = $16 ? $$ : (22707); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; do { - if ($0) { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (22735 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $85 = $84&255; + $86 = ((($$0523)) + 1|0); + HEAP8[$$0523>>0] = $85; + $87 = (+($80|0)); + $88 = $$2473 - $87; + $89 = $88 * 16.0; + $90 = $86; + $91 = (($90) - ($9))|0; + $92 = ($91|0)==(1); + if ($92) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$3501$lcssa; + $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8; + } else { + $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa; + } + $$7505 = $$7505$ph; + while(1) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,22751,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,22751,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 22723 : 22727; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 24654 : 22731; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($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 _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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(0|0); + do { + if ($3) { $$0 = 1; } else { - $1 = ($wc>>>0)<(128); - if ($1) { - $2 = $wc&255; - HEAP8[$s>>0] = $2; + $4 = ($1>>>0)<(128); + if ($4) { + $5 = $1&255; + HEAP8[$0>>0] = $5; $$0 = 1; break; } - $3 = ($wc>>>0)<(2048); - if ($3) { - $4 = $wc >>> 6; - $5 = $4 | 192; - $6 = $5&255; - $7 = ((($s)) + 1|0); - HEAP8[$s>>0] = $6; - $8 = $wc & 63; - $9 = $8 | 128; - $10 = $9&255; - HEAP8[$7>>0] = $10; + $6 = (___pthread_self_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; $$0 = 2; break; } - $11 = ($wc>>>0)<(55296); - $12 = $wc & -8192; - $13 = ($12|0)==(57344); - $or$cond = $11 | $13; + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; if ($or$cond) { - $14 = $wc >>> 12; - $15 = $14 | 224; - $16 = $15&255; - $17 = ((($s)) + 1|0); - HEAP8[$s>>0] = $16; - $18 = $wc >>> 6; - $19 = $18 & 63; - $20 = $19 | 128; - $21 = $20&255; - $22 = ((($s)) + 2|0); - HEAP8[$17>>0] = $21; - $23 = $wc & 63; - $24 = $23 | 128; - $25 = $24&255; - HEAP8[$22>>0] = $25; + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; $$0 = 3; break; } - $26 = (($wc) + -65536)|0; - $27 = ($26>>>0)<(1048576); - if ($27) { - $28 = $wc >>> 18; - $29 = $28 | 240; - $30 = $29&255; - $31 = ((($s)) + 1|0); - HEAP8[$s>>0] = $30; - $32 = $wc >>> 12; - $33 = $32 & 63; - $34 = $33 | 128; - $35 = $34&255; - $36 = ((($s)) + 2|0); - HEAP8[$31>>0] = $35; - $37 = $wc >>> 6; - $38 = $37 & 63; - $39 = $38 | 128; - $40 = $39&255; - $41 = ((($s)) + 3|0); - HEAP8[$36>>0] = $40; - $42 = $wc & 63; - $43 = $42 | 128; - $44 = $43&255; - HEAP8[$41>>0] = $44; + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; $$0 = 4; break; } else { - $45 = (___errno_location()|0); - HEAP32[$45>>2] = 84; + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; $$0 = -1; break; } @@ -54740,37 +59327,6166 @@ function _wcrtomb($s,$wc,$st) { } while(0); return ($$0|0); } -function _wctomb($s,$wc) { - $s = $s|0; - $wc = $wc|0; - var $$0 = 0, $0 = 0, $1 = 0, label = 0, sp = 0; +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($s|0)==(0|0); - if ($0) { + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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, $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 label = 0, sp = 0; + sp = STACKTOP; + $$016 = 0; + while(1) { + $3 = (22753 + ($$016)|0); + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = ($5|0)==($0|0); + if ($6) { + label = 2; + break; + } + $7 = (($$016) + 1)|0; + $8 = ($7|0)==(87); + if ($8) { + $$01214 = 22841;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 22841; + } else { + $$01214 = 22841;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$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; + label = 5; + } + } + } + $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 { - $1 = (_wcrtomb($s,$wc,0)|0); - $$0 = $1; + $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 $$ = 0, $$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; + 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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 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); + $64 = (($$094) - ($25))|0; + $$195 = $63 ? $25 : $64; + $$191 = $63 ? $$090 : $26; + if ($62) { + $$4 = 0; + break L1; + } else { + $$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); + $$ = $61 ? $57 : 0; + $$4 = $$; + } 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 $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + $3 = (_llvm_bswap_i32(($0|0))|0); + $$ = $2 ? $0 : $3; + return ($$|0); +} +function ___fwritex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var 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 & 15]($2,$0,$1)|0); + $$1 = $17; + break; + } + $18 = ((($2)) + 75|0); + $19 = HEAP8[$18>>0]|0; + $20 = ($19<<24>>24)>(-1); + L10: do { + if ($20) { + $$038 = $1; + while(1) { + $21 = ($$038|0)==(0); + if ($21) { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + break L10; + } + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; + } else { + $$038 = $22; + } + } + $26 = ((($2)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = (FUNCTION_TABLE_iiii[$27 & 15]($2,$0,$$038)|0); + $29 = ($28>>>0)<($$038>>>0); + if ($29) { + $$1 = $28; + break L5; + } + $30 = (($0) + ($$038)|0); + $$042 = (($1) - ($$038))|0; + $$pre47 = HEAP32[$9>>2]|0; + $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47; + } else { + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; + } + } while(0); + _memcpy(($31|0),($$141|0),($$143|0))|0; + $32 = HEAP32[$9>>2]|0; + $33 = (($32) + ($$143)|0); + HEAP32[$9>>2] = $33; + $34 = (($$139) + ($$143))|0; + $$1 = $34; + } + } 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; } return ($$0|0); } -function _srand($s) { - $s = $s|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 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 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|0); +} +function _qsort($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$067$lcssa = 0, $$06772 = 0, $$068$lcssa = 0, $$06871 = 0, $$1 = 0, $$169 = 0, $$2 = 0, $$pre$pre = 0, $$pre76 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $15$phi = 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, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(208|0); + $4 = sp + 8|0; + $5 = sp; + $6 = Math_imul($2, $1)|0; + $7 = $5; + $8 = $7; + HEAP32[$8>>2] = 1; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 0; + $11 = ($6|0)==(0); + L1: do { + if (!($11)) { + $12 = (0 - ($2))|0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = $2; + HEAP32[$4>>2] = $2; + $$0 = 2;$15 = $2;$17 = $2; + while(1) { + $14 = (($15) + ($2))|0; + $16 = (($14) + ($17))|0; + $18 = (($4) + ($$0<<2)|0); + HEAP32[$18>>2] = $16; + $19 = ($16>>>0)<($6>>>0); + $20 = (($$0) + 1)|0; + if ($19) { + $15$phi = $17;$$0 = $20;$17 = $16;$15 = $15$phi; + } else { + break; + } + } + $21 = (($0) + ($6)|0); + $22 = (($21) + ($12)|0); + $23 = ($22>>>0)>($0>>>0); + if ($23) { + $24 = $22; + $$06772 = 1;$$06871 = $0;$26 = 1; + while(1) { + $25 = $26 & 3; + $27 = ($25|0)==(3); + do { + if ($27) { + _sift($$06871,$2,$3,$$06772,$4); + _shr($5,2); + $28 = (($$06772) + 2)|0; + $$1 = $28; + } else { + $29 = (($$06772) + -1)|0; + $30 = (($4) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + $32 = $$06871; + $33 = (($24) - ($32))|0; + $34 = ($31>>>0)<($33>>>0); + if ($34) { + _sift($$06871,$2,$3,$$06772,$4); + } else { + _trinkle($$06871,$2,$3,$5,$$06772,0,$4); + } + $35 = ($$06772|0)==(1); + if ($35) { + _shl($5,1); + $$1 = 0; + break; + } else { + _shl($5,$29); + $$1 = 1; + break; + } + } + } while(0); + $36 = HEAP32[$5>>2]|0; + $37 = $36 | 1; + HEAP32[$5>>2] = $37; + $38 = (($$06871) + ($2)|0); + $39 = ($38>>>0)<($22>>>0); + if ($39) { + $$06772 = $$1;$$06871 = $38;$26 = $37; + } else { + $$067$lcssa = $$1;$$068$lcssa = $38;$61 = $37; + break; + } + } + } else { + $$067$lcssa = 1;$$068$lcssa = $0;$61 = 1; + } + _trinkle($$068$lcssa,$2,$3,$5,$$067$lcssa,0,$4); + $40 = ((($5)) + 4|0); + $$169 = $$068$lcssa;$$2 = $$067$lcssa;$43 = $61; + while(1) { + $41 = ($$2|0)==(1); + $42 = ($43|0)==(1); + $or$cond = $41 & $42; + if ($or$cond) { + $44 = HEAP32[$40>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + break L1; + } + } else { + $46 = ($$2|0)<(2); + if (!($46)) { + _shl($5,2); + $49 = (($$2) + -2)|0; + $50 = HEAP32[$5>>2]|0; + $51 = $50 ^ 7; + HEAP32[$5>>2] = $51; + _shr($5,1); + $52 = (($4) + ($49<<2)|0); + $53 = HEAP32[$52>>2]|0; + $54 = (0 - ($53))|0; + $55 = (($$169) + ($54)|0); + $56 = (($55) + ($12)|0); + $57 = (($$2) + -1)|0; + _trinkle($56,$2,$3,$5,$57,1,$4); + _shl($5,1); + $58 = HEAP32[$5>>2]|0; + $59 = $58 | 1; + HEAP32[$5>>2] = $59; + $60 = (($$169) + ($12)|0); + _trinkle($60,$2,$3,$5,$49,1,$4); + $$169 = $60;$$2 = $49;$43 = $59; + continue; + } + } + $47 = (_pntz($5)|0); + _shr($5,$47); + $48 = (($47) + ($$2))|0; + $$pre$pre = HEAP32[$5>>2]|0; + $$pre76 = (($$169) + ($12)|0); + $$169 = $$pre76;$$2 = $48;$43 = $$pre$pre; + } + } + } while(0); + STACKTOP = sp;return; +} +function _sift($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$029$be = 0, $$02932 = 0, $$030$be = 0, $$03031 = 0, $$033 = 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; + var $23 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $5 = sp; + HEAP32[$5>>2] = $0; + $6 = ($3|0)>(1); + L1: do { + if ($6) { + $7 = (0 - ($1))|0; + $$02932 = $0;$$03031 = $3;$$033 = 1;$14 = $0; + while(1) { + $8 = (($$02932) + ($7)|0); + $9 = (($$03031) + -2)|0; + $10 = (($4) + ($9<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (0 - ($11))|0; + $13 = (($8) + ($12)|0); + $15 = (FUNCTION_TABLE_iii[$2 & 7]($14,$13)|0); + $16 = ($15|0)>(-1); + if ($16) { + $17 = (FUNCTION_TABLE_iii[$2 & 7]($14,$8)|0); + $18 = ($17|0)>(-1); + if ($18) { + $$0$lcssa = $$033; + break L1; + } + } + $19 = (FUNCTION_TABLE_iii[$2 & 7]($13,$8)|0); + $20 = ($19|0)>(-1); + $21 = (($$033) + 1)|0; + $22 = (($5) + ($$033<<2)|0); + if ($20) { + HEAP32[$22>>2] = $13; + $23 = (($$03031) + -1)|0; + $$029$be = $13;$$030$be = $23; + } else { + HEAP32[$22>>2] = $8; + $$029$be = $8;$$030$be = $9; + } + $24 = ($$030$be|0)>(1); + if (!($24)) { + $$0$lcssa = $21; + break L1; + } + $$pre = HEAP32[$5>>2]|0; + $$02932 = $$029$be;$$03031 = $$030$be;$$033 = $21;$14 = $$pre; + } + } else { + $$0$lcssa = 1; + } + } while(0); + _cycle($1,$5,$$0$lcssa); + STACKTOP = sp;return; +} +function _shr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre11 = 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; + $2 = ($1>>>0)>(31); + $3 = ((($0)) + 4|0); + if ($2) { + $4 = (($1) + -32)|0; + $5 = HEAP32[$3>>2]|0; + HEAP32[$0>>2] = $5; + HEAP32[$3>>2] = 0; + $$0 = $4;$10 = 0;$7 = $5; + } else { + $$pre = HEAP32[$0>>2]|0; + $$pre11 = HEAP32[$3>>2]|0; + $$0 = $1;$10 = $$pre11;$7 = $$pre; + } + $6 = $7 >>> $$0; + $8 = (32 - ($$0))|0; + $9 = $10 << $8; + $11 = $9 | $6; + HEAP32[$0>>2] = $11; + $12 = $10 >>> $$0; + HEAP32[$3>>2] = $12; + return; +} +function _trinkle($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$lcssa = 0, $$045$lcssa = 0, $$04551 = 0, $$0455780 = 0, $$046$lcssa = 0, $$04653 = 0, $$0465681 = 0, $$047$lcssa = 0, $$0475582 = 0, $$049 = 0, $$05879 = 0, $$05879$phi = 0, $$pre = 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, $50 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $7 = sp + 232|0; + $8 = sp; + $9 = HEAP32[$3>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($3)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($7)) + 4|0); + HEAP32[$12>>2] = $11; + HEAP32[$8>>2] = $0; + $13 = ($9|0)!=(1); + $14 = ($11|0)!=(0); + $15 = $13 | $14; + L1: do { + if ($15) { + $16 = (0 - ($1))|0; + $17 = (($6) + ($4<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = (0 - ($18))|0; + $20 = (($0) + ($19)|0); + $21 = (FUNCTION_TABLE_iii[$2 & 7]($20,$0)|0); + $22 = ($21|0)<(1); + if ($22) { + $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; + label = 9; + } else { + $phitmp = ($5|0)==(0); + $$0455780 = 1;$$0465681 = $4;$$0475582 = $phitmp;$$05879 = $0;$28 = $20; + while(1) { + $23 = ($$0465681|0)>(1); + $or$cond = $$0475582 & $23; + if ($or$cond) { + $24 = (($$05879) + ($16)|0); + $25 = (($$0465681) + -2)|0; + $26 = (($6) + ($25<<2)|0); + $27 = HEAP32[$26>>2]|0; + $29 = (FUNCTION_TABLE_iii[$2 & 7]($24,$28)|0); + $30 = ($29|0)>(-1); + if ($30) { + $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; + label = 10; + break L1; + } + $31 = (0 - ($27))|0; + $32 = (($24) + ($31)|0); + $33 = (FUNCTION_TABLE_iii[$2 & 7]($32,$28)|0); + $34 = ($33|0)>(-1); + if ($34) { + $$04551 = $$0455780;$$04653 = $$0465681;$$049 = $$05879; + label = 10; + break L1; + } + } + $35 = (($$0455780) + 1)|0; + $36 = (($8) + ($$0455780<<2)|0); + HEAP32[$36>>2] = $28; + $37 = (_pntz($7)|0); + _shr($7,$37); + $38 = (($37) + ($$0465681))|0; + $39 = HEAP32[$7>>2]|0; + $40 = ($39|0)!=(1); + $41 = HEAP32[$12>>2]|0; + $42 = ($41|0)!=(0); + $43 = $40 | $42; + if (!($43)) { + $$04551 = $35;$$04653 = $38;$$049 = $28; + label = 10; + break L1; + } + $$pre = HEAP32[$8>>2]|0; + $44 = (($6) + ($38<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = (0 - ($45))|0; + $47 = (($28) + ($46)|0); + $48 = (FUNCTION_TABLE_iii[$2 & 7]($47,$$pre)|0); + $49 = ($48|0)<(1); + if ($49) { + $$0$lcssa = $28;$$045$lcssa = $35;$$046$lcssa = $38;$$047$lcssa = 0; + label = 9; + break; + } else { + $$05879$phi = $28;$$0455780 = $35;$$0465681 = $38;$$0475582 = 1;$28 = $47;$$05879 = $$05879$phi; + } + } + } + } else { + $$0$lcssa = $0;$$045$lcssa = 1;$$046$lcssa = $4;$$047$lcssa = $5; + label = 9; + } + } while(0); + if ((label|0) == 9) { + $50 = ($$047$lcssa|0)==(0); + if ($50) { + $$04551 = $$045$lcssa;$$04653 = $$046$lcssa;$$049 = $$0$lcssa; + label = 10; + } + } + if ((label|0) == 10) { + _cycle($1,$8,$$04551); + _sift($$049,$1,$2,$$04653,$6); + } + STACKTOP = sp;return; +} +function _shl($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre11 = 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; + $2 = ($1>>>0)>(31); + $3 = ((($0)) + 4|0); + if ($2) { + $4 = (($1) + -32)|0; + $5 = HEAP32[$0>>2]|0; + HEAP32[$3>>2] = $5; + HEAP32[$0>>2] = 0; + $$0 = $4;$10 = 0;$7 = $5; + } else { + $$pre = HEAP32[$3>>2]|0; + $$pre11 = HEAP32[$0>>2]|0; + $$0 = $1;$10 = $$pre11;$7 = $$pre; + } + $6 = $7 << $$0; + $8 = (32 - ($$0))|0; + $9 = $10 >>> $8; + $11 = $9 | $6; + HEAP32[$3>>2] = $11; + $12 = $10 << $$0; + HEAP32[$0>>2] = $12; + return; +} +function _pntz($0) { + $0 = $0|0; + var $$ = 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 = HEAP32[$0>>2]|0; + $2 = (($1) + -1)|0; + $3 = (_a_ctz_l_763($2)|0); + $4 = ($3|0)==(0); + if ($4) { + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (_a_ctz_l_763($6)|0); + $8 = (($7) + 32)|0; + $9 = ($7|0)==(0); + $$ = $9 ? 0 : $8; + return ($$|0); + } else { + return ($3|0); + } + return (0)|0; +} +function _a_ctz_l_763($0) { + $0 = $0|0; + var $$068 = 0, $$07 = 0, $$09 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0); + if ($1) { + $$07 = 32; + } else { + $2 = $0 & 1; + $3 = ($2|0)==(0); + if ($3) { + $$068 = $0;$$09 = 0; + while(1) { + $4 = (($$09) + 1)|0; + $5 = $$068 >>> 1; + $6 = $5 & 1; + $7 = ($6|0)==(0); + if ($7) { + $$068 = $5;$$09 = $4; + } else { + $$07 = $4; + break; + } + } + } else { + $$07 = 0; + } + } + return ($$07|0); +} +function _cycle($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$02527 = 0, $$026 = 0, $$pre = 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; + var $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $3 = sp; + $4 = ($2|0)<(2); + L1: do { + if (!($4)) { + $5 = (($1) + ($2<<2)|0); + HEAP32[$5>>2] = $3; + $6 = ($0|0)==(0); + if (!($6)) { + $$02527 = $0;$10 = $3; + while(1) { + $7 = ($$02527>>>0)<(256); + $8 = $7 ? $$02527 : 256; + $9 = HEAP32[$1>>2]|0; + _memcpy(($10|0),($9|0),($8|0))|0; + $$026 = 0; + while(1) { + $11 = (($1) + ($$026<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($$026) + 1)|0; + $14 = (($1) + ($13<<2)|0); + $15 = HEAP32[$14>>2]|0; + _memcpy(($12|0),($15|0),($8|0))|0; + $16 = HEAP32[$11>>2]|0; + $17 = (($16) + ($8)|0); + HEAP32[$11>>2] = $17; + $exitcond = ($13|0)==($2|0); + if ($exitcond) { + break; + } else { + $$026 = $13; + } + } + $18 = (($$02527) - ($8))|0; + $19 = ($18|0)==(0); + if ($19) { + break L1; + } + $$pre = HEAP32[$5>>2]|0; + $$02527 = $18;$10 = $$pre; + } + } + } + } while(0); + STACKTOP = sp;return; +} +function ___floatscan($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 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.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.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.0, $54 = 0.0, $55 = 0.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$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($1|0) { + case 0: { + $$0105$ph = -149;$$0106$ph = 24; + label = 4; + break; + } + case 1: { + $$0105$ph = -1074;$$0106$ph = 53; + label = 4; + break; + } + case 2: { + $$0105$ph = -1074;$$0106$ph = 53; + label = 4; + break; + } + default: { + $$0114 = 0.0; + } + } + L4: do { + if ((label|0) == 4) { + $3 = ((($0)) + 4|0); + $4 = ((($0)) + 100|0); + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$4>>2]|0; + $7 = ($5>>>0)<($6>>>0); + if ($7) { + $8 = ((($5)) + 1|0); + HEAP32[$3>>2] = $8; + $9 = HEAP8[$5>>0]|0; + $10 = $9&255; + $12 = $10; + } else { + $11 = (___shgetc($0)|0); + $12 = $11; + } + $13 = (_isspace($12)|0); + $14 = ($13|0)==(0); + if ($14) { + break; + } + } + L13: do { + switch ($12|0) { + case 43: case 45: { + $15 = ($12|0)==(45); + $16 = $15&1; + $17 = $16 << 1; + $18 = (1 - ($17))|0; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ($19>>>0)<($20>>>0); + if ($21) { + $22 = ((($19)) + 1|0); + HEAP32[$3>>2] = $22; + $23 = HEAP8[$19>>0]|0; + $24 = $23&255; + $$0 = $24;$$0113 = $18; + break L13; + } else { + $25 = (___shgetc($0)|0); + $$0 = $25;$$0113 = $18; + break L13; + } + break; + } + default: { + $$0 = $12;$$0113 = 1; + } + } + } while(0); + $$0107127 = 0;$$1128 = $$0; + while(1) { + $26 = $$1128 | 32; + $27 = (24645 + ($$0107127)|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28 << 24 >> 24; + $30 = ($26|0)==($29|0); + if (!($30)) { + $$0107$lcssa = $$0107127;$$1$lcssa = $$1128; + break; + } + $31 = ($$0107127>>>0)<(7); + do { + if ($31) { + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$3>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $$2 = $37; + break; + } else { + $38 = (___shgetc($0)|0); + $$2 = $38; + break; + } + } else { + $$2 = $$1128; + } + } while(0); + $39 = (($$0107127) + 1)|0; + $40 = ($39>>>0)<(8); + if ($40) { + $$0107127 = $39;$$1128 = $$2; + } else { + $$0107$lcssa = $39;$$1$lcssa = $$2; + break; + } + } + L29: do { + switch ($$0107$lcssa|0) { + case 8: { + break; + } + case 3: { + label = 23; + break; + } + default: { + $41 = ($$0107$lcssa>>>0)>(3); + $42 = ($2|0)!=(0); + $or$cond5 = $42 & $41; + if ($or$cond5) { + $43 = ($$0107$lcssa|0)==(8); + if ($43) { + break L29; + } else { + label = 23; + break L29; + } + } + $56 = ($$0107$lcssa|0)==(0); + L34: do { + if ($56) { + $$2109125 = 0;$$3126 = $$1$lcssa; + while(1) { + $57 = $$3126 | 32; + $58 = (24654 + ($$2109125)|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59 << 24 >> 24; + $61 = ($57|0)==($60|0); + if (!($61)) { + $$3110 = $$2109125;$$5 = $$3126; + break L34; + } + $62 = ($$2109125>>>0)<(2); + do { + if ($62) { + $63 = HEAP32[$3>>2]|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + if ($65) { + $66 = ((($63)) + 1|0); + HEAP32[$3>>2] = $66; + $67 = HEAP8[$63>>0]|0; + $68 = $67&255; + $$4 = $68; + break; + } else { + $69 = (___shgetc($0)|0); + $$4 = $69; + break; + } + } else { + $$4 = $$3126; + } + } while(0); + $70 = (($$2109125) + 1)|0; + $71 = ($70>>>0)<(3); + if ($71) { + $$2109125 = $70;$$3126 = $$4; + } else { + $$3110 = $70;$$5 = $$4; + break; + } + } + } else { + $$3110 = $$0107$lcssa;$$5 = $$1$lcssa; + } + } while(0); + switch ($$3110|0) { + case 3: { + $72 = HEAP32[$3>>2]|0; + $73 = HEAP32[$4>>2]|0; + $74 = ($72>>>0)<($73>>>0); + if ($74) { + $75 = ((($72)) + 1|0); + HEAP32[$3>>2] = $75; + $76 = HEAP8[$72>>0]|0; + $77 = $76&255; + $80 = $77; + } else { + $78 = (___shgetc($0)|0); + $80 = $78; + } + $79 = ($80|0)==(40); + if ($79) { + $$4111 = 1; + } else { + $81 = HEAP32[$4>>2]|0; + $82 = ($81|0)==(0|0); + if ($82) { + $$0114 = nan; + break L4; + } + $83 = HEAP32[$3>>2]|0; + $84 = ((($83)) + -1|0); + HEAP32[$3>>2] = $84; + $$0114 = nan; + break L4; + } + while(1) { + $85 = HEAP32[$3>>2]|0; + $86 = HEAP32[$4>>2]|0; + $87 = ($85>>>0)<($86>>>0); + if ($87) { + $88 = ((($85)) + 1|0); + HEAP32[$3>>2] = $88; + $89 = HEAP8[$85>>0]|0; + $90 = $89&255; + $93 = $90; + } else { + $91 = (___shgetc($0)|0); + $93 = $91; + } + $92 = (($93) + -48)|0; + $94 = ($92>>>0)<(10); + $95 = (($93) + -65)|0; + $96 = ($95>>>0)<(26); + $or$cond = $94 | $96; + if (!($or$cond)) { + $97 = (($93) + -97)|0; + $98 = ($97>>>0)<(26); + $99 = ($93|0)==(95); + $or$cond7 = $99 | $98; + if (!($or$cond7)) { + break; + } + } + $111 = (($$4111) + 1)|0; + $$4111 = $111; + } + $100 = ($93|0)==(41); + if ($100) { + $$0114 = nan; + break L4; + } + $101 = HEAP32[$4>>2]|0; + $102 = ($101|0)==(0|0); + if (!($102)) { + $103 = HEAP32[$3>>2]|0; + $104 = ((($103)) + -1|0); + HEAP32[$3>>2] = $104; + } + if (!($42)) { + $106 = (___errno_location()|0); + HEAP32[$106>>2] = 22; + ___shlim($0,0); + $$0114 = 0.0; + break L4; + } + $105 = ($$4111|0)==(0); + if ($105) { + $$0114 = nan; + break L4; + } else { + $$in = $$4111; + } + while(1) { + $107 = (($$in) + -1)|0; + if (!($102)) { + $108 = HEAP32[$3>>2]|0; + $109 = ((($108)) + -1|0); + HEAP32[$3>>2] = $109; + } + $110 = ($107|0)==(0); + if ($110) { + $$0114 = nan; + break L4; + } else { + $$in = $107; + } + } + break; + } + case 0: { + $117 = ($$5|0)==(48); + if ($117) { + $118 = HEAP32[$3>>2]|0; + $119 = HEAP32[$4>>2]|0; + $120 = ($118>>>0)<($119>>>0); + if ($120) { + $121 = ((($118)) + 1|0); + HEAP32[$3>>2] = $121; + $122 = HEAP8[$118>>0]|0; + $123 = $122&255; + $126 = $123; + } else { + $124 = (___shgetc($0)|0); + $126 = $124; + } + $125 = $126 | 32; + $127 = ($125|0)==(120); + if ($127) { + $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2)); + $$0114 = $128; + break L4; + } + $129 = HEAP32[$4>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $$6 = 48; + } else { + $131 = HEAP32[$3>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$3>>2] = $132; + $$6 = 48; + } + } else { + $$6 = $$5; + } + $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2)); + $$0114 = $133; + break L4; + break; + } + default: { + $112 = HEAP32[$4>>2]|0; + $113 = ($112|0)==(0|0); + if (!($113)) { + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + -1|0); + HEAP32[$3>>2] = $115; + } + $116 = (___errno_location()|0); + HEAP32[$116>>2] = 22; + ___shlim($0,0); + $$0114 = 0.0; + break L4; + } + } + } + } + } while(0); + if ((label|0) == 23) { + $44 = HEAP32[$4>>2]|0; + $45 = ($44|0)==(0|0); + if (!($45)) { + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + -1|0); + HEAP32[$3>>2] = $47; + } + $48 = ($2|0)!=(0); + $49 = ($$0107$lcssa>>>0)>(3); + $or$cond9 = $48 & $49; + if ($or$cond9) { + $$1108 = $$0107$lcssa; + while(1) { + if (!($45)) { + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + -1|0); + HEAP32[$3>>2] = $51; + } + $52 = (($$1108) + -1)|0; + $$old8 = ($52>>>0)>(3); + if ($$old8) { + $$1108 = $52; + } else { + break; + } + } + } + } + $53 = (+($$0113|0)); + $54 = $53 * inf; + $55 = $54; + $$0114 = $55; + } + } while(0); + return (+$$0114); +} +function _hexfloat($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0; + var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0; + var $$pre = 0.0, $$pre$phiZ2D = 0.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.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.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.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0.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.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0; + var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $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, $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.0, $67 = 0.0; + var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.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.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0; + var $or$cond6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 100|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($6>>>0)<($8>>>0); + if ($9) { + $10 = ((($6)) + 1|0); + HEAP32[$5>>2] = $10; + $11 = HEAP8[$6>>0]|0; + $12 = $11&255; + $$0 = $12;$$0142 = 0; + } else { + $13 = (___shgetc($0)|0); + $$0 = $13;$$0142 = 0; + } + L4: while(1) { + switch ($$0|0) { + case 46: { + label = 8; + break L4; + break; + } + case 48: { + break; + } + default: { + $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; + break L4; + } + } + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = ($14>>>0)<($15>>>0); + if ($16) { + $17 = ((($14)) + 1|0); + HEAP32[$5>>2] = $17; + $18 = HEAP8[$14>>0]|0; + $19 = $18&255; + $$0 = $19;$$0142 = 1; + continue; + } else { + $20 = (___shgetc($0)|0); + $$0 = $20;$$0142 = 1; + continue; + } + } + if ((label|0) == 8) { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ($21>>>0)<($22>>>0); + if ($23) { + $24 = ((($21)) + 1|0); + HEAP32[$5>>2] = $24; + $25 = HEAP8[$21>>0]|0; + $26 = $25&255; + $$1$ph = $26; + } else { + $27 = (___shgetc($0)|0); + $$1$ph = $27; + } + $28 = ($$1$ph|0)==(48); + if ($28) { + $36 = 0;$37 = 0; + while(1) { + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $32 = ((($29)) + 1|0); + HEAP32[$5>>2] = $32; + $33 = HEAP8[$29>>0]|0; + $34 = $33&255; + $41 = $34; + } else { + $35 = (___shgetc($0)|0); + $41 = $35; + } + $38 = (_i64Add(($36|0),($37|0),-1,-1)|0); + $39 = tempRet0; + $40 = ($41|0)==(48); + if ($40) { + $36 = $38;$37 = $39; + } else { + $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38; + break; + } + } + } else { + $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; + } + } + while(1) { + $42 = (($$2) + -48)|0; + $43 = ($42>>>0)<(10); + $44 = ($$2|0)==(46); + if (!($43)) { + $45 = $$2 | 32; + $46 = (($45) + -97)|0; + $47 = ($46>>>0)<(6); + $or$cond6 = $44 | $47; + if (!($or$cond6)) { + $$2$lcssa = $$2; + break; + } + } + if ($44) { + $48 = ($$0146|0)==(0); + if ($48) { + $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53; + } else { + $$2$lcssa = 46; + break; + } + } else { + $49 = ($$2|0)>(57); + $50 = $$2 | 32; + $51 = (($50) + -87)|0; + $$0133 = $49 ? $51 : $42; + $52 = ($53|0)<(0); + $54 = ($55>>>0)<(8); + $56 = ($53|0)==(0); + $57 = $56 & $54; + $58 = $52 | $57; + do { + if ($58) { + $59 = $$0159 << 4; + $60 = (($$0133) + ($59))|0; + $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60; + } else { + $61 = ($53|0)<(0); + $62 = ($55>>>0)<(14); + $63 = ($53|0)==(0); + $64 = $63 & $62; + $65 = $61 | $64; + if ($65) { + $66 = (+($$0133|0)); + $67 = $$0152 * 0.0625; + $68 = $67 * $66; + $69 = $$0155 + $68; + $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159; + break; + } else { + $70 = ($$0133|0)==(0); + $71 = ($$0148|0)!=(0); + $or$cond = $71 | $70; + $72 = $$0152 * 0.5; + $73 = $$0155 + $72; + $$0155$ = $or$cond ? $$0155 : $73; + $$0148$ = $or$cond ? $$0148 : 1; + $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159; + break; + } + } + } while(0); + $74 = (_i64Add(($55|0),($53|0),1,0)|0); + $75 = tempRet0; + $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75; + } + $76 = HEAP32[$5>>2]|0; + $77 = HEAP32[$7>>2]|0; + $78 = ($76>>>0)<($77>>>0); + if ($78) { + $79 = ((($76)) + 1|0); + HEAP32[$5>>2] = $79; + $80 = HEAP8[$76>>0]|0; + $81 = $80&255; + $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; + continue; + } else { + $82 = (___shgetc($0)|0); + $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; + continue; + } + } + $83 = ($$2144|0)==(0); + do { + if ($83) { + $84 = HEAP32[$7>>2]|0; + $85 = ($84|0)!=(0|0); + if ($85) { + $86 = HEAP32[$5>>2]|0; + $87 = ((($86)) + -1|0); + HEAP32[$5>>2] = $87; + } + $88 = ($4|0)==(0); + if ($88) { + ___shlim($0,0); + } else { + if ($85) { + $89 = HEAP32[$5>>2]|0; + $90 = ((($89)) + -1|0); + HEAP32[$5>>2] = $90; + } + $91 = ($$0146|0)==(0); + $92 = ($84|0)==(0|0); + $or$cond206 = $91 | $92; + if (!($or$cond206)) { + $93 = HEAP32[$5>>2]|0; + $94 = ((($93)) + -1|0); + HEAP32[$5>>2] = $94; + } + } + $95 = (+($3|0)); + $96 = $95 * 0.0; + $$0165 = $96; + } else { + $97 = ($$0146|0)==(0); + $98 = $97 ? $55 : $99; + $100 = $97 ? $53 : $101; + $102 = ($53|0)<(0); + $103 = ($55>>>0)<(8); + $104 = ($53|0)==(0); + $105 = $104 & $103; + $106 = $102 | $105; + if ($106) { + $$3162183 = $$0159;$108 = $55;$109 = $53; + while(1) { + $107 = $$3162183 << 4; + $110 = (_i64Add(($108|0),($109|0),1,0)|0); + $111 = tempRet0; + $112 = ($111|0)<(0); + $113 = ($110>>>0)<(8); + $114 = ($111|0)==(0); + $115 = $114 & $113; + $116 = $112 | $115; + if ($116) { + $$3162183 = $107;$108 = $110;$109 = $111; + } else { + $$3162$lcssa = $107; + break; + } + } + } else { + $$3162$lcssa = $$0159; + } + $117 = $$2$lcssa | 32; + $118 = ($117|0)==(112); + if ($118) { + $119 = (_scanexp($0,$4)|0); + $120 = tempRet0; + $121 = ($119|0)==(0); + $122 = ($120|0)==(-2147483648); + $123 = $121 & $122; + if ($123) { + $124 = ($4|0)==(0); + if ($124) { + ___shlim($0,0); + $$0165 = 0.0; + break; + } + $125 = HEAP32[$7>>2]|0; + $126 = ($125|0)==(0|0); + if ($126) { + $137 = 0;$138 = 0; + } else { + $127 = HEAP32[$5>>2]|0; + $128 = ((($127)) + -1|0); + HEAP32[$5>>2] = $128; + $137 = 0;$138 = 0; + } + } else { + $137 = $119;$138 = $120; + } + } else { + $129 = HEAP32[$7>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $137 = 0;$138 = 0; + } else { + $131 = HEAP32[$5>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$5>>2] = $132; + $137 = 0;$138 = 0; + } + } + $133 = (_bitshift64Shl(($98|0),($100|0),2)|0); + $134 = tempRet0; + $135 = (_i64Add(($133|0),($134|0),-32,-1)|0); + $136 = tempRet0; + $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0); + $140 = tempRet0; + $141 = ($$3162$lcssa|0)==(0); + if ($141) { + $142 = (+($3|0)); + $143 = $142 * 0.0; + $$0165 = $143; + break; + } + $144 = (0 - ($2))|0; + $145 = ($144|0)<(0); + $146 = $145 << 31 >> 31; + $147 = ($140|0)>($146|0); + $148 = ($139>>>0)>($144>>>0); + $149 = ($140|0)==($146|0); + $150 = $149 & $148; + $151 = $147 | $150; + if ($151) { + $152 = (___errno_location()|0); + HEAP32[$152>>2] = 34; + $153 = (+($3|0)); + $154 = $153 * 1.7976931348623157E+308; + $155 = $154 * 1.7976931348623157E+308; + $$0165 = $155; + break; + } + $156 = (($2) + -106)|0; + $157 = ($156|0)<(0); + $158 = $157 << 31 >> 31; + $159 = ($140|0)<($158|0); + $160 = ($139>>>0)<($156>>>0); + $161 = ($140|0)==($158|0); + $162 = $161 & $160; + $163 = $159 | $162; + if ($163) { + $165 = (___errno_location()|0); + HEAP32[$165>>2] = 34; + $166 = (+($3|0)); + $167 = $166 * 2.2250738585072014E-308; + $168 = $167 * 2.2250738585072014E-308; + $$0165 = $168; + break; + } + $164 = ($$3162$lcssa|0)>(-1); + if ($164) { + $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140; + while(1) { + $169 = !($$3158179 >= 0.5); + $170 = $$4163178 << 1; + $171 = $$3158179 + -1.0; + $not$ = $169 ^ 1; + $172 = $not$&1; + $$5164 = $170 | $172; + $$pn = $169 ? $$3158179 : $171; + $$4 = $$3158179 + $$pn; + $175 = (_i64Add(($173|0),($174|0),-1,-1)|0); + $176 = tempRet0; + $177 = ($$5164|0)>(-1); + if ($177) { + $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176; + } else { + $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176; + break; + } + } + } else { + $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140; + } + $178 = ($1|0)<(0); + $179 = $178 << 31 >> 31; + $180 = ($2|0)<(0); + $181 = $180 << 31 >> 31; + $182 = (_i64Subtract(32,0,($2|0),($181|0))|0); + $183 = tempRet0; + $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0); + $187 = tempRet0; + $188 = ($179|0)>($187|0); + $189 = ($1>>>0)>($186>>>0); + $190 = ($179|0)==($187|0); + $191 = $190 & $189; + $192 = $188 | $191; + if ($192) { + $193 = ($186|0)>(0); + if ($193) { + $$0166 = $186; + label = 59; + } else { + $$0166170 = 0;$197 = 84; + label = 61; + } + } else { + $$0166 = $1; + label = 59; + } + if ((label|0) == 59) { + $194 = ($$0166|0)<(53); + $195 = (84 - ($$0166))|0; + if ($194) { + $$0166170 = $$0166;$197 = $195; + label = 61; + } else { + $$pre = (+($3|0)); + $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre; + } + } + if ((label|0) == 61) { + $196 = (+($3|0)); + $198 = (+_scalbn(1.0,$197)); + $199 = (+_copysignl($198,$196)); + $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196; + } + $200 = ($$0166169|0)<(32); + $201 = $$3158$lcssa != 0.0; + $or$cond4 = $201 & $200; + $202 = $$4163$lcssa & 1; + $203 = ($202|0)==(0); + $or$cond168 = $203 & $or$cond4; + $204 = $or$cond168&1; + $$6 = (($204) + ($$4163$lcssa))|0; + $$5 = $or$cond168 ? 0.0 : $$3158$lcssa; + $205 = (+($$6>>>0)); + $206 = $$pre$phiZ2D * $205; + $207 = $$0151 + $206; + $208 = $$pre$phiZ2D * $$5; + $209 = $208 + $207; + $210 = $209 - $$0151; + $211 = $210 != 0.0; + if (!($211)) { + $212 = (___errno_location()|0); + HEAP32[$212>>2] = 34; + } + $213 = (+_scalbnl($210,$184)); + $$0165 = $213; + } + } while(0); + return (+$$0165); +} +function _decfloat($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, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0; + var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0; + var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0; + var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0; + var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0; + var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.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.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.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.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.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.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0; + var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.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, $39 = 0, $40 = 0, $41 = 0; + var $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, $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, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0); + $6 = sp; + $sum = (($3) + ($2))|0; + $7 = (0 - ($sum))|0; + $8 = ((($0)) + 4|0); + $9 = ((($0)) + 100|0); + $$0329 = $1;$$0396 = 0; + L1: while(1) { + switch ($$0329|0) { + case 46: { + label = 6; + break L1; + break; + } + case 48: { + break; + } + default: { + $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0; + break L1; + } + } + $10 = HEAP32[$8>>2]|0; + $11 = HEAP32[$9>>2]|0; + $12 = ($10>>>0)<($11>>>0); + if ($12) { + $13 = ((($10)) + 1|0); + HEAP32[$8>>2] = $13; + $14 = HEAP8[$10>>0]|0; + $15 = $14&255; + $$0329 = $15;$$0396 = 1; + continue; + } else { + $16 = (___shgetc($0)|0); + $$0329 = $16;$$0396 = 1; + continue; + } + } + if ((label|0) == 6) { + $17 = HEAP32[$8>>2]|0; + $18 = HEAP32[$9>>2]|0; + $19 = ($17>>>0)<($18>>>0); + if ($19) { + $20 = ((($17)) + 1|0); + HEAP32[$8>>2] = $20; + $21 = HEAP8[$17>>0]|0; + $22 = $21&255; + $$1330$ph = $22; + } else { + $23 = (___shgetc($0)|0); + $$1330$ph = $23; + } + $24 = ($$1330$ph|0)==(48); + if ($24) { + $25 = 0;$26 = 0; + while(1) { + $27 = (_i64Add(($25|0),($26|0),-1,-1)|0); + $28 = tempRet0; + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $32 = ((($29)) + 1|0); + HEAP32[$8>>2] = $32; + $33 = HEAP8[$29>>0]|0; + $34 = $33&255; + $$1330$be = $34; + } else { + $35 = (___shgetc($0)|0); + $$1330$be = $35; + } + $36 = ($$1330$be|0)==(48); + if ($36) { + $25 = $27;$26 = $28; + } else { + $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28; + break; + } + } + } else { + $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0; + } + } + HEAP32[$6>>2] = 0; + $37 = (($$2) + -48)|0; + $38 = ($37>>>0)<(10); + $39 = ($$2|0)==(46); + $40 = $39 | $38; + L20: do { + if ($40) { + $41 = ((($6)) + 496|0); + $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0; + L22: while(1) { + do { + if ($368) { + $cond = ($$1394511|0)==(0); + if ($cond) { + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45; + } else { + break L22; + } + } else { + $43 = ($$0345512|0)<(125); + $46 = (_i64Add(($44|0),($45|0),1,0)|0); + $47 = tempRet0; + $48 = ($$3514|0)!=(48); + if (!($43)) { + if (!($48)) { + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + break; + } + $57 = HEAP32[$41>>2]|0; + $58 = $57 | 1; + HEAP32[$41>>2] = $58; + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + break; + } + $$$0401 = $48 ? $46 : $$0401509; + $49 = ($$0341513|0)==(0); + $$pre = (($6) + ($$0345512<<2)|0); + if ($49) { + $$sink = $369; + } else { + $50 = HEAP32[$$pre>>2]|0; + $51 = ($50*10)|0; + $52 = (($$3514) + -48)|0; + $53 = (($52) + ($51))|0; + $$sink = $53; + } + HEAP32[$$pre>>2] = $$sink; + $54 = (($$0341513) + 1)|0; + $55 = ($54|0)==(9); + $56 = $55&1; + $$$0345 = (($56) + ($$0345512))|0; + $$413 = $55 ? 0 : $54; + $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + } + } while(0); + $59 = HEAP32[$8>>2]|0; + $60 = HEAP32[$9>>2]|0; + $61 = ($59>>>0)<($60>>>0); + if ($61) { + $62 = ((($59)) + 1|0); + HEAP32[$8>>2] = $62; + $63 = HEAP8[$59>>0]|0; + $64 = $63&255; + $$3$be = $64; + } else { + $65 = (___shgetc($0)|0); + $$3$be = $65; + } + $66 = (($$3$be) + -48)|0; + $67 = ($66>>>0)<(10); + $68 = ($$3$be|0)==(46); + $69 = $68 | $67; + if ($69) { + $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375; + } else { + $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $372;$73 = $374;$75 = $373;$76 = $375; + label = 29; + break L20; + } + } + $42 = ($$3399510|0)!=(0); + $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42; + label = 37; + } else { + $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = $366;$73 = 0;$75 = $367;$76 = 0; + label = 29; + } + } while(0); + do { + if ((label|0) == 29) { + $70 = ($$1394$lcssa|0)==(0); + $71 = $70 ? $73 : $72; + $74 = $70 ? $76 : $75; + $77 = ($$3399$lcssa|0)!=(0); + $78 = $$3$lcssa | 32; + $79 = ($78|0)==(101); + $or$cond415 = $77 & $79; + if (!($or$cond415)) { + $94 = ($$3$lcssa|0)>(-1); + if ($94) { + $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $73;$377 = $76;$378 = $71;$379 = $74;$380 = $77; + label = 37; + break; + } else { + $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $73;$382 = $76;$383 = $77;$384 = $71;$385 = $74; + label = 39; + break; + } + } + $80 = (_scanexp($0,$5)|0); + $81 = tempRet0; + $82 = ($80|0)==(0); + $83 = ($81|0)==(-2147483648); + $84 = $82 & $83; + if ($84) { + $85 = ($5|0)==(0); + if ($85) { + ___shlim($0,0); + $$1 = 0.0; + break; + } + $86 = HEAP32[$9>>2]|0; + $87 = ($86|0)==(0|0); + if ($87) { + $90 = 0;$91 = 0; + } else { + $88 = HEAP32[$8>>2]|0; + $89 = ((($88)) + -1|0); + HEAP32[$8>>2] = $89; + $90 = 0;$91 = 0; + } + } else { + $90 = $80;$91 = $81; + } + $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0); + $93 = tempRet0; + $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $73;$108 = $93;$109 = $76; + label = 41; + } + } while(0); + if ((label|0) == 37) { + $95 = HEAP32[$9>>2]|0; + $96 = ($95|0)==(0|0); + if ($96) { + $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379; + label = 39; + } else { + $97 = HEAP32[$8>>2]|0; + $98 = ((($97)) + -1|0); + HEAP32[$8>>2] = $98; + if ($380) { + $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377; + label = 41; + } else { + label = 40; + } + } + } + if ((label|0) == 39) { + if ($383) { + $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382; + label = 41; + } else { + label = 40; + } + } + do { + if ((label|0) == 40) { + $99 = (___errno_location()|0); + HEAP32[$99>>2] = 22; + ___shlim($0,0); + $$1 = 0.0; + } + else if ((label|0) == 41) { + $100 = HEAP32[$6>>2]|0; + $101 = ($100|0)==(0); + if ($101) { + $102 = (+($4|0)); + $103 = $102 * 0.0; + $$1 = $103; + break; + } + $104 = ($105|0)==($106|0); + $107 = ($108|0)==($109|0); + $110 = $104 & $107; + $111 = ($109|0)<(0); + $112 = ($106>>>0)<(10); + $113 = ($109|0)==(0); + $114 = $113 & $112; + $115 = $111 | $114; + $or$cond = $115 & $110; + if ($or$cond) { + $116 = ($2|0)>(30); + $117 = $100 >>> $2; + $118 = ($117|0)==(0); + $or$cond417 = $116 | $118; + if ($or$cond417) { + $119 = (+($4|0)); + $120 = (+($100>>>0)); + $121 = $119 * $120; + $$1 = $121; + break; + } + } + $122 = (($3|0) / -2)&-1; + $123 = ($122|0)<(0); + $124 = $123 << 31 >> 31; + $125 = ($108|0)>($124|0); + $126 = ($105>>>0)>($122>>>0); + $127 = ($108|0)==($124|0); + $128 = $127 & $126; + $129 = $125 | $128; + if ($129) { + $130 = (___errno_location()|0); + HEAP32[$130>>2] = 34; + $131 = (+($4|0)); + $132 = $131 * 1.7976931348623157E+308; + $133 = $132 * 1.7976931348623157E+308; + $$1 = $133; + break; + } + $134 = (($3) + -106)|0; + $135 = ($134|0)<(0); + $136 = $135 << 31 >> 31; + $137 = ($108|0)<($136|0); + $138 = ($105>>>0)<($134>>>0); + $139 = ($108|0)==($136|0); + $140 = $139 & $138; + $141 = $137 | $140; + if ($141) { + $142 = (___errno_location()|0); + HEAP32[$142>>2] = 34; + $143 = (+($4|0)); + $144 = $143 * 2.2250738585072014E-308; + $145 = $144 * 2.2250738585072014E-308; + $$1 = $145; + break; + } + $146 = ($$0341463|0)==(0); + if ($146) { + $$3348 = $$0345467; + } else { + $147 = ($$0341463|0)<(9); + if ($147) { + $148 = (($6) + ($$0345467<<2)|0); + $$promoted = HEAP32[$148>>2]|0; + $$3344503 = $$0341463;$150 = $$promoted; + while(1) { + $149 = ($150*10)|0; + $151 = (($$3344503) + 1)|0; + $exitcond551 = ($151|0)==(9); + if ($exitcond551) { + break; + } else { + $$3344503 = $151;$150 = $149; + } + } + HEAP32[$148>>2] = $149; + } + $152 = (($$0345467) + 1)|0; + $$3348 = $152; + } + $153 = ($$0401473|0)<(9); + if ($153) { + $154 = ($$0401473|0)<=($105|0); + $155 = ($105|0)<(18); + $or$cond5 = $154 & $155; + if ($or$cond5) { + $156 = ($105|0)==(9); + $157 = HEAP32[$6>>2]|0; + if ($156) { + $158 = (+($4|0)); + $159 = (+($157>>>0)); + $160 = $158 * $159; + $$1 = $160; + break; + } + $161 = ($105|0)<(9); + if ($161) { + $162 = (+($4|0)); + $163 = (+($157>>>0)); + $164 = $162 * $163; + $165 = (8 - ($105))|0; + $166 = (5632 + ($165<<2)|0); + $167 = HEAP32[$166>>2]|0; + $168 = (+($167|0)); + $169 = $164 / $168; + $$1 = $169; + break; + } + $$neg442 = Math_imul($105, -3)|0; + $$neg443 = (($2) + 27)|0; + $170 = (($$neg443) + ($$neg442))|0; + $171 = ($170|0)>(30); + $172 = $157 >>> $170; + $173 = ($172|0)==(0); + $or$cond419 = $171 | $173; + if ($or$cond419) { + $174 = (($105) + -10)|0; + $175 = (5632 + ($174<<2)|0); + $176 = (+($4|0)); + $177 = (+($157>>>0)); + $178 = $176 * $177; + $179 = HEAP32[$175>>2]|0; + $180 = (+($179|0)); + $181 = $178 * $180; + $$1 = $181; + break; + } + } + } + $182 = (($105|0) % 9)&-1; + $183 = ($182|0)==(0); + if ($183) { + $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105; + } else { + $184 = ($105|0)>(-1); + $185 = (($182) + 9)|0; + $186 = $184 ? $182 : $185; + $187 = (8 - ($186))|0; + $188 = (5632 + ($187<<2)|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($$3348|0)==(0); + if ($190) { + $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105; + } else { + $191 = (1000000000 / ($189|0))&-1; + $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0; + while(1) { + $192 = (($6) + ($$4349495<<2)|0); + $193 = HEAP32[$192>>2]|0; + $194 = (($193>>>0) % ($189>>>0))&-1; + $195 = (($193>>>0) / ($189>>>0))&-1; + $196 = (($195) + ($$0340496))|0; + HEAP32[$192>>2] = $196; + $197 = Math_imul($191, $194)|0; + $198 = ($$4349495|0)==($$0350494|0); + $199 = ($196|0)==(0); + $or$cond420 = $198 & $199; + $200 = (($$0350494) + 1)|0; + $201 = $200 & 127; + $202 = (($$0385493) + -9)|0; + $$$0385 = $or$cond420 ? $202 : $$0385493; + $$$0350 = $or$cond420 ? $201 : $$0350494; + $203 = (($$4349495) + 1)|0; + $204 = ($203|0)==($$3348|0); + if ($204) { + break; + } else { + $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203; + } + } + $205 = ($197|0)==(0); + if ($205) { + $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385; + } else { + $206 = (($6) + ($$3348<<2)|0); + $207 = (($$3348) + 1)|0; + HEAP32[$206>>2] = $197; + $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385; + } + } + $208 = (9 - ($186))|0; + $209 = (($208) + ($$0385$lcssa553))|0; + $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209; + } + L101: while(1) { + $210 = ($$2387$ph447|0)<(18); + $211 = ($$2387$ph447|0)==(18); + $212 = (($6) + ($$2352$ph449<<2)|0); + $$0380 = $$0380$ph;$$1373 = $$1373$ph448; + while(1) { + if (!($210)) { + if (!($211)) { + $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373; + break L101; + } + $213 = HEAP32[$212>>2]|0; + $214 = ($213>>>0)<(9007199); + if (!($214)) { + $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373; + break L101; + } + } + $215 = (($$1373) + 127)|0; + $$0334 = 0;$$2374 = $$1373;$$5$in = $215; + while(1) { + $$5 = $$5$in & 127; + $216 = (($6) + ($$5<<2)|0); + $217 = HEAP32[$216>>2]|0; + $218 = (_bitshift64Shl(($217|0),0,29)|0); + $219 = tempRet0; + $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0); + $221 = tempRet0; + $222 = ($221>>>0)>(0); + $223 = ($220>>>0)>(1000000000); + $224 = ($221|0)==(0); + $225 = $224 & $223; + $226 = $222 | $225; + if ($226) { + $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0); + $228 = tempRet0; + $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0); + $230 = tempRet0; + $$1335 = $227;$$sink421$off0 = $229; + } else { + $$1335 = 0;$$sink421$off0 = $220; + } + HEAP32[$216>>2] = $$sink421$off0; + $231 = (($$2374) + 127)|0; + $232 = $231 & 127; + $233 = ($$5|0)!=($232|0); + $234 = ($$5|0)==($$2352$ph449|0); + $or$cond422 = $233 | $234; + $or$cond422$not = $or$cond422 ^ 1; + $235 = ($$sink421$off0|0)==(0); + $or$cond423 = $235 & $or$cond422$not; + $$3375 = $or$cond423 ? $$5 : $$2374; + $236 = (($$5) + -1)|0; + if ($234) { + break; + } else { + $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236; + } + } + $237 = (($$0380) + -29)|0; + $238 = ($$1335|0)==(0); + if ($238) { + $$0380 = $237;$$1373 = $$3375; + } else { + break; + } + } + $239 = (($$2387$ph447) + 9)|0; + $240 = (($$2352$ph449) + 127)|0; + $241 = $240 & 127; + $242 = ($241|0)==($$3375|0); + $243 = (($$3375) + 127)|0; + $244 = $243 & 127; + $245 = (($$3375) + 126)|0; + $246 = $245 & 127; + $247 = (($6) + ($246<<2)|0); + if ($242) { + $248 = (($6) + ($244<<2)|0); + $249 = HEAP32[$248>>2]|0; + $250 = HEAP32[$247>>2]|0; + $251 = $250 | $249; + HEAP32[$247>>2] = $251; + $$4376 = $244; + } else { + $$4376 = $$3375; + } + $252 = (($6) + ($241<<2)|0); + HEAP32[$252>>2] = $$1335; + $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239; + } + L119: while(1) { + $289 = (($$6378$ph) + 1)|0; + $287 = $289 & 127; + $290 = (($$6378$ph) + 127)|0; + $291 = $290 & 127; + $292 = (($6) + ($291<<2)|0); + $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445; + while(1) { + $265 = ($$4389$ph|0)==(18); + $293 = ($$4389$ph|0)>(27); + $$425 = $293 ? 9 : 1; + $$1381 = $$1381$ph558;$$4354 = $$4354$ph559; + while(1) { + $$0336486 = 0; + while(1) { + $253 = (($$0336486) + ($$4354))|0; + $254 = $253 & 127; + $255 = ($254|0)==($$6378$ph|0); + if ($255) { + $$1337 = 2; + label = 88; + break; + } + $256 = (($6) + ($254<<2)|0); + $257 = HEAP32[$256>>2]|0; + $258 = (5664 + ($$0336486<<2)|0); + $259 = HEAP32[$258>>2]|0; + $260 = ($257>>>0)<($259>>>0); + if ($260) { + $$1337 = 2; + label = 88; + break; + } + $261 = ($257>>>0)>($259>>>0); + if ($261) { + break; + } + $262 = (($$0336486) + 1)|0; + $263 = ($262|0)<(2); + if ($263) { + $$0336486 = $262; + } else { + $$1337 = $262; + label = 88; + break; + } + } + if ((label|0) == 88) { + label = 0; + $264 = ($$1337|0)==(2); + $or$cond11 = $265 & $264; + if ($or$cond11) { + $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph; + break L119; + } + } + $266 = (($$425) + ($$1381))|0; + $267 = ($$4354|0)==($$6378$ph|0); + if ($267) { + $$1381 = $266;$$4354 = $$6378$ph; + } else { + break; + } + } + $268 = 1 << $$425; + $269 = (($268) + -1)|0; + $270 = 1000000000 >>> $$425; + $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354; + while(1) { + $271 = (($6) + ($$6489<<2)|0); + $272 = HEAP32[$271>>2]|0; + $273 = $272 & $269; + $274 = $272 >>> $$425; + $275 = (($274) + ($$0332490))|0; + HEAP32[$271>>2] = $275; + $276 = Math_imul($273, $270)|0; + $277 = ($$6489|0)==($$5355488|0); + $278 = ($275|0)==(0); + $or$cond426 = $277 & $278; + $279 = (($$5355488) + 1)|0; + $280 = $279 & 127; + $281 = (($$5390487) + -9)|0; + $$$5390 = $or$cond426 ? $281 : $$5390487; + $$$5355 = $or$cond426 ? $280 : $$5355488; + $282 = (($$6489) + 1)|0; + $283 = $282 & 127; + $284 = ($283|0)==($$6378$ph|0); + if ($284) { + break; + } else { + $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283; + } + } + $285 = ($276|0)==(0); + if ($285) { + $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; + continue; + } + $286 = ($287|0)==($$$5355|0); + if (!($286)) { + break; + } + $294 = HEAP32[$292>>2]|0; + $295 = $294 | 1; + HEAP32[$292>>2] = $295; + $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; + } + $288 = (($6) + ($$6378$ph<<2)|0); + HEAP32[$288>>2] = $276; + $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287; + } + while(1) { + $296 = (($$4485) + ($$4354))|0; + $297 = $296 & 127; + $298 = ($297|0)==($$9483|0); + $299 = (($$9483) + 1)|0; + $300 = $299 & 127; + if ($298) { + $301 = (($300) + -1)|0; + $302 = (($6) + ($301<<2)|0); + HEAP32[$302>>2] = 0; + $$10 = $300; + } else { + $$10 = $$9483; + } + $303 = $$0365484 * 1.0E+9; + $304 = (($6) + ($297<<2)|0); + $305 = HEAP32[$304>>2]|0; + $306 = (+($305>>>0)); + $307 = $303 + $306; + $308 = (($$4485) + 1)|0; + $exitcond = ($308|0)==(2); + if ($exitcond) { + break; + } else { + $$0365484 = $307;$$4485 = $308;$$9483 = $$10; + } + } + $309 = (+($4|0)); + $310 = $309 * $307; + $311 = (($$1381) + 53)|0; + $312 = (($311) - ($3))|0; + $313 = ($312|0)<($2|0); + $314 = ($312|0)>(0); + $$ = $314 ? $312 : 0; + $$0333 = $313 ? $$ : $2; + $315 = ($$0333|0)<(53); + if ($315) { + $316 = (105 - ($$0333))|0; + $317 = (+_scalbn(1.0,$316)); + $318 = (+_copysignl($317,$310)); + $319 = (53 - ($$0333))|0; + $320 = (+_scalbn(1.0,$319)); + $321 = (+_fmodl($310,$320)); + $322 = $310 - $321; + $323 = $318 + $322; + $$0360 = $318;$$0361 = $321;$$1366 = $323; + } else { + $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310; + } + $324 = (($$4354) + 2)|0; + $325 = $324 & 127; + $326 = ($325|0)==($$10|0); + if ($326) { + $$3364 = $$0361; + } else { + $327 = (($6) + ($325<<2)|0); + $328 = HEAP32[$327>>2]|0; + $329 = ($328>>>0)<(500000000); + do { + if ($329) { + $330 = ($328|0)==(0); + if ($330) { + $331 = (($$4354) + 3)|0; + $332 = $331 & 127; + $333 = ($332|0)==($$10|0); + if ($333) { + $$1362 = $$0361; + break; + } + } + $334 = $309 * 0.25; + $335 = $334 + $$0361; + $$1362 = $335; + } else { + $336 = ($328|0)==(500000000); + if (!($336)) { + $337 = $309 * 0.75; + $338 = $337 + $$0361; + $$1362 = $338; + break; + } + $339 = (($$4354) + 3)|0; + $340 = $339 & 127; + $341 = ($340|0)==($$10|0); + if ($341) { + $342 = $309 * 0.5; + $343 = $342 + $$0361; + $$1362 = $343; + break; + } else { + $344 = $309 * 0.75; + $345 = $344 + $$0361; + $$1362 = $345; + break; + } + } + } while(0); + $346 = (53 - ($$0333))|0; + $347 = ($346|0)>(1); + if ($347) { + $348 = (+_fmodl($$1362,1.0)); + $349 = $348 != 0.0; + if ($349) { + $$3364 = $$1362; + } else { + $350 = $$1362 + 1.0; + $$3364 = $350; + } + } else { + $$3364 = $$1362; + } + } + $351 = $$1366 + $$3364; + $352 = $351 - $$0360; + $353 = $311 & 2147483647; + $354 = (-2 - ($sum))|0; + $355 = ($353|0)>($354|0); + do { + if ($355) { + $356 = (+Math_abs((+$352))); + $357 = !($356 >= 9007199254740992.0); + $358 = $352 * 0.5; + $not$ = $357 ^ 1; + $359 = $not$&1; + $$3383 = (($359) + ($$1381))|0; + $$2367 = $357 ? $352 : $358; + $360 = (($$3383) + 50)|0; + $361 = ($360|0)>($7|0); + if (!($361)) { + $362 = ($$0333|0)!=($312|0); + $narrow = $362 | $357; + $$2371$v = $313 & $narrow; + $363 = $$3364 != 0.0; + $or$cond14 = $363 & $$2371$v; + if (!($or$cond14)) { + $$3368 = $$2367;$$4384 = $$3383; + break; + } + } + $364 = (___errno_location()|0); + HEAP32[$364>>2] = 34; + $$3368 = $$2367;$$4384 = $$3383; + } else { + $$3368 = $352;$$4384 = $$1381; + } + } while(0); + $365 = (+_scalbnl($$3368,$$4384)); + $$1 = $365; + } + } while(0); + STACKTOP = sp;return (+$$1); +} +function _scanexp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 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, $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$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 100|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($3>>>0)<($5>>>0); + if ($6) { + $7 = ((($3)) + 1|0); + HEAP32[$2>>2] = $7; + $8 = HEAP8[$3>>0]|0; + $9 = $8&255; + $11 = $9; + } else { + $10 = (___shgetc($0)|0); + $11 = $10; + } + switch ($11|0) { + case 43: case 45: { + $12 = ($11|0)==(45); + $13 = $12&1; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ($14>>>0)<($15>>>0); + if ($16) { + $17 = ((($14)) + 1|0); + HEAP32[$2>>2] = $17; + $18 = HEAP8[$14>>0]|0; + $19 = $18&255; + $22 = $19; + } else { + $20 = (___shgetc($0)|0); + $22 = $20; + } + $21 = (($22) + -48)|0; + $23 = ($21>>>0)>(9); + $24 = ($1|0)!=(0); + $or$cond3 = $24 & $23; + if ($or$cond3) { + $25 = HEAP32[$4>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { + $$0 = $13;$$049 = $22; + } else { + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + -1|0); + HEAP32[$2>>2] = $28; + $$0 = $13;$$049 = $22; + } + } else { + $$0 = $13;$$049 = $22; + } + break; + } + default: { + $$0 = 0;$$049 = $11; + } + } + $29 = (($$049) + -48)|0; + $30 = ($29>>>0)>(9); + if ($30) { + $31 = HEAP32[$4>>2]|0; + $32 = ($31|0)==(0|0); + if ($32) { + $100 = -2147483648;$101 = 0; + } else { + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + -1|0); + HEAP32[$2>>2] = $34; + $100 = -2147483648;$101 = 0; + } + } else { + $$04861 = 0;$$160 = $$049; + while(1) { + $35 = ($$04861*10)|0; + $36 = (($$160) + -48)|0; + $37 = (($36) + ($35))|0; + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ($38>>>0)<($39>>>0); + if ($40) { + $41 = ((($38)) + 1|0); + HEAP32[$2>>2] = $41; + $42 = HEAP8[$38>>0]|0; + $43 = $42&255; + $$1$be = $43; + } else { + $44 = (___shgetc($0)|0); + $$1$be = $44; + } + $45 = (($$1$be) + -48)|0; + $46 = ($45>>>0)<(10); + $47 = ($37|0)<(214748364); + $48 = $46 & $47; + if ($48) { + $$04861 = $37;$$160 = $$1$be; + } else { + break; + } + } + $49 = ($37|0)<(0); + $50 = $49 << 31 >> 31; + $51 = (($$1$be) + -48)|0; + $52 = ($51>>>0)<(10); + if ($52) { + $$254 = $$1$be;$56 = $37;$57 = $50; + while(1) { + $58 = (___muldi3(($56|0),($57|0),10,0)|0); + $59 = tempRet0; + $60 = ($$254|0)<(0); + $61 = $60 << 31 >> 31; + $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0); + $63 = tempRet0; + $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0); + $65 = tempRet0; + $66 = HEAP32[$2>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = ($66>>>0)<($67>>>0); + if ($68) { + $69 = ((($66)) + 1|0); + HEAP32[$2>>2] = $69; + $70 = HEAP8[$66>>0]|0; + $71 = $70&255; + $$2$be = $71; + } else { + $72 = (___shgetc($0)|0); + $$2$be = $72; + } + $73 = (($$2$be) + -48)|0; + $74 = ($73>>>0)<(10); + $75 = ($65|0)<(21474836); + $76 = ($64>>>0)<(2061584302); + $77 = ($65|0)==(21474836); + $78 = $77 & $76; + $79 = $75 | $78; + $80 = $74 & $79; + if ($80) { + $$254 = $$2$be;$56 = $64;$57 = $65; + } else { + $$2$lcssa = $$2$be;$94 = $64;$95 = $65; + break; + } + } + } else { + $$2$lcssa = $$1$be;$94 = $37;$95 = $50; + } + $53 = (($$2$lcssa) + -48)|0; + $54 = ($53>>>0)<(10); + $55 = HEAP32[$4>>2]|0; + if ($54) { + $83 = $55; + while(1) { + $81 = HEAP32[$2>>2]|0; + $82 = ($81>>>0)<($83>>>0); + if ($82) { + $84 = ((($81)) + 1|0); + HEAP32[$2>>2] = $84; + $85 = HEAP8[$81>>0]|0; + $86 = $85&255; + $$3$be = $86;$102 = $83; + } else { + $87 = (___shgetc($0)|0); + $$pre = HEAP32[$4>>2]|0; + $$3$be = $87;$102 = $$pre; + } + $88 = (($$3$be) + -48)|0; + $89 = ($88>>>0)<(10); + if ($89) { + $83 = $102; + } else { + $$lcssa = $102; + break; + } + } + } else { + $$lcssa = $55; + } + $90 = ($$lcssa|0)==(0|0); + if (!($90)) { + $91 = HEAP32[$2>>2]|0; + $92 = ((($91)) + -1|0); + HEAP32[$2>>2] = $92; + } + $93 = ($$0|0)!=(0); + $96 = (_i64Subtract(0,0,($94|0),($95|0))|0); + $97 = tempRet0; + $98 = $93 ? $96 : $94; + $99 = $93 ? $97 : $95; + $100 = $99;$101 = $98; + } + tempRet0 = ($100); + return ($101|0); +} +function _scalbn($0,$1) { + $0 = +$0; + $1 = $1|0; + var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; + var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)>(1023); + if ($2) { + $3 = $0 * 8.9884656743115795E+307; + $4 = (($1) + -1023)|0; + $5 = ($4|0)>(1023); + $6 = $3 * 8.9884656743115795E+307; + $7 = (($1) + -2046)|0; + $8 = ($7|0)<(1023); + $$ = $8 ? $7 : 1023; + $$$ = $5 ? $$ : $4; + $$21 = $5 ? $6 : $3; + $$0 = $$21;$$020 = $$$; + } else { + $9 = ($1|0)<(-1022); + if ($9) { + $10 = $0 * 2.2250738585072014E-308; + $11 = (($1) + 1022)|0; + $12 = ($11|0)<(-1022); + $13 = $10 * 2.2250738585072014E-308; + $14 = (($1) + 2044)|0; + $15 = ($14|0)>(-1022); + $$1 = $15 ? $14 : -1022; + $$1$ = $12 ? $$1 : $11; + $$22 = $12 ? $13 : $10; + $$0 = $$22;$$020 = $$1$; + } else { + $$0 = $0;$$020 = $1; + } + } + $16 = (($$020) + 1023)|0; + $17 = (_bitshift64Shl(($16|0),0,52)|0); + $18 = tempRet0; + HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; + $20 = $$0 * $19; + return (+$20); +} +function _copysignl($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_copysign($0,$1)); + return (+$2); +} +function _fmodl($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_fmod($0,$1)); + return (+$2); +} +function _scalbnl($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_scalbn($0,$1)); + return (+$2); +} +function _fmod($0,$1) { + $0 = +$0; + $1 = +$1; + var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.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.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.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; + var $160 = 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.0, $28 = 0.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.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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; + $5 = HEAP32[tempDoublePtr+4>>2]|0; + $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0); + $7 = tempRet0; + $8 = $6 & 2047; + $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0); + $10 = tempRet0; + $11 = $9 & 2047; + $12 = $3 & -2147483648; + $13 = (_bitshift64Shl(($4|0),($5|0),1)|0); + $14 = tempRet0; + $15 = ($13|0)==(0); + $16 = ($14|0)==(0); + $17 = $15 & $16; + L1: do { + if ($17) { + label = 3; + } else { + $18 = (___DOUBLE_BITS_272($1)|0); + $19 = tempRet0; + $20 = $19 & 2147483647; + $21 = ($20>>>0)>(2146435072); + $22 = ($18>>>0)>(0); + $23 = ($20|0)==(2146435072); + $24 = $23 & $22; + $25 = $21 | $24; + $26 = ($8|0)==(2047); + $or$cond = $26 | $25; + if ($or$cond) { + label = 3; + } else { + $29 = (_bitshift64Shl(($2|0),($3|0),1)|0); + $30 = tempRet0; + $31 = ($30>>>0)>($14>>>0); + $32 = ($29>>>0)>($13>>>0); + $33 = ($30|0)==($14|0); + $34 = $33 & $32; + $35 = $31 | $34; + if (!($35)) { + $36 = ($29|0)==($13|0); + $37 = ($30|0)==($14|0); + $38 = $36 & $37; + $39 = $0 * 0.0; + $$ = $38 ? $39 : $0; + return (+$$); + } + $40 = ($8|0)==(0); + if ($40) { + $41 = (_bitshift64Shl(($2|0),($3|0),12)|0); + $42 = tempRet0; + $43 = ($42|0)>(-1); + $44 = ($41>>>0)>(4294967295); + $45 = ($42|0)==(-1); + $46 = $45 & $44; + $47 = $43 | $46; + if ($47) { + $$073100 = 0;$49 = $41;$50 = $42; + while(1) { + $48 = (($$073100) + -1)|0; + $51 = (_bitshift64Shl(($49|0),($50|0),1)|0); + $52 = tempRet0; + $53 = ($52|0)>(-1); + $54 = ($51>>>0)>(4294967295); + $55 = ($52|0)==(-1); + $56 = $55 & $54; + $57 = $53 | $56; + if ($57) { + $$073100 = $48;$49 = $51;$50 = $52; + } else { + $$073$lcssa = $48; + break; + } + } + } else { + $$073$lcssa = 0; + } + $58 = (1 - ($$073$lcssa))|0; + $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0); + $60 = tempRet0; + $$174 = $$073$lcssa;$87 = $59;$88 = $60; + } else { + $61 = $3 & 1048575; + $62 = $61 | 1048576; + $$174 = $8;$87 = $2;$88 = $62; + } + $63 = ($11|0)==(0); + if ($63) { + $64 = (_bitshift64Shl(($4|0),($5|0),12)|0); + $65 = tempRet0; + $66 = ($65|0)>(-1); + $67 = ($64>>>0)>(4294967295); + $68 = ($65|0)==(-1); + $69 = $68 & $67; + $70 = $66 | $69; + if ($70) { + $$07194 = 0;$72 = $64;$73 = $65; + while(1) { + $71 = (($$07194) + -1)|0; + $74 = (_bitshift64Shl(($72|0),($73|0),1)|0); + $75 = tempRet0; + $76 = ($75|0)>(-1); + $77 = ($74>>>0)>(4294967295); + $78 = ($75|0)==(-1); + $79 = $78 & $77; + $80 = $76 | $79; + if ($80) { + $$07194 = $71;$72 = $74;$73 = $75; + } else { + $$071$lcssa = $71; + break; + } + } + } else { + $$071$lcssa = 0; + } + $81 = (1 - ($$071$lcssa))|0; + $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0); + $83 = tempRet0; + $$172$ph = $$071$lcssa;$89 = $82;$90 = $83; + } else { + $84 = $5 & 1048575; + $85 = $84 | 1048576; + $$172$ph = $11;$89 = $4;$90 = $85; + } + $86 = ($$174|0)>($$172$ph|0); + $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0); + $92 = tempRet0; + $93 = ($92|0)>(-1); + $94 = ($91>>>0)>(4294967295); + $95 = ($92|0)==(-1); + $96 = $95 & $94; + $97 = $93 | $96; + L23: do { + if ($86) { + $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91; + while(1) { + if ($156) { + $98 = ($99|0)==(0); + $100 = ($101|0)==(0); + $102 = $98 & $100; + if ($102) { + break; + } else { + $104 = $99;$105 = $101; + } + } else { + $104 = $157;$105 = $158; + } + $106 = (_bitshift64Shl(($104|0),($105|0),1)|0); + $107 = tempRet0; + $108 = (($$27586) + -1)|0; + $109 = ($108|0)>($$172$ph|0); + $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0); + $111 = tempRet0; + $112 = ($111|0)>(-1); + $113 = ($110>>>0)>(4294967295); + $114 = ($111|0)==(-1); + $115 = $114 & $113; + $116 = $112 | $115; + if ($109) { + $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110; + } else { + $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107; + break L23; + } + } + $103 = $0 * 0.0; + $$070 = $103; + break L1; + } else { + $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88; + } + } while(0); + if ($$lcssa) { + $117 = ($118|0)==(0); + $119 = ($120|0)==(0); + $121 = $117 & $119; + if ($121) { + $129 = $0 * 0.0; + $$070 = $129; + break; + } else { + $123 = $120;$125 = $118; + } + } else { + $123 = $160;$125 = $159; + } + $122 = ($123>>>0)<(1048576); + $124 = ($125>>>0)<(0); + $126 = ($123|0)==(1048576); + $127 = $126 & $124; + $128 = $122 | $127; + if ($128) { + $$37683 = $$275$lcssa;$130 = $125;$131 = $123; + while(1) { + $132 = (_bitshift64Shl(($130|0),($131|0),1)|0); + $133 = tempRet0; + $134 = (($$37683) + -1)|0; + $135 = ($133>>>0)<(1048576); + $136 = ($132>>>0)<(0); + $137 = ($133|0)==(1048576); + $138 = $137 & $136; + $139 = $135 | $138; + if ($139) { + $$37683 = $134;$130 = $132;$131 = $133; + } else { + $$376$lcssa = $134;$141 = $132;$142 = $133; + break; + } + } + } else { + $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123; + } + $140 = ($$376$lcssa|0)>(0); + if ($140) { + $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0); + $144 = tempRet0; + $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0); + $146 = tempRet0; + $147 = $143 | $145; + $148 = $144 | $146; + $153 = $148;$155 = $147; + } else { + $149 = (1 - ($$376$lcssa))|0; + $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0); + $151 = tempRet0; + $153 = $151;$155 = $150; + } + $152 = $153 | $12; + HEAP32[tempDoublePtr>>2] = $155;HEAP32[tempDoublePtr+4>>2] = $152;$154 = +HEAPF64[tempDoublePtr>>3]; + $$070 = $154; + } + } + } while(0); + if ((label|0) == 3) { + $27 = $0 * $1; + $28 = $27 / $27; + $$070 = $28; + } + return (+$$070); +} +function ___DOUBLE_BITS_272($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 _strlen($0) { + $0 = $0|0; + var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 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; + var $21 = 0, $22 = 0, $23 = 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 = 4; + } else { + $$01519 = $0;$23 = $1; + while(1) { + $4 = HEAP8[$$01519>>0]|0; + $5 = ($4<<24>>24)==(0); + if ($5) { + $$sink = $23; + break L1; + } + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; + } else { + $$01519 = $6;$23 = $7; + } + } + } + } while(0); + if ((label|0) == 4) { + $$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 { + $$pn = $$0; + while(1) { + $19 = ((($$pn)) + 1|0); + $$pre = HEAP8[$19>>0]|0; + $20 = ($$pre<<24>>24)==(0); + if ($20) { + $$1$lcssa = $19; + break; + } else { + $$pn = $19; + } + } + } + $21 = $$1$lcssa; + $$sink = $21; + } + $22 = (($$sink) - ($1))|0; + return ($22|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 ___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) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<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 _mbrtowc($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$03952 = 0, $$04051 = 0, $$04350 = 0, $$1 = 0, $$141 = 0, $$144 = 0, $$2 = 0, $$47 = 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, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $not$ = 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|0); + $$ = $5 ? 31232 : $3; + $6 = HEAP32[$$>>2]|0; + $7 = ($1|0)==(0|0); + L1: do { + if ($7) { + $8 = ($6|0)==(0); + if ($8) { + $$0 = 0; + } else { + label = 17; + } + } else { + $9 = ($0|0)==(0|0); + $$47 = $9 ? $4 : $0; + $10 = ($2|0)==(0); + if ($10) { + $$0 = -2; + } else { + $11 = ($6|0)==(0); + if ($11) { + $12 = HEAP8[$1>>0]|0; + $13 = ($12<<24>>24)>(-1); + if ($13) { + $14 = $12&255; + HEAP32[$$47>>2] = $14; + $15 = ($12<<24>>24)!=(0); + $16 = $15&1; + $$0 = $16; + break; + } + $17 = (___pthread_self_439()|0); + $18 = ((($17)) + 188|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$19>>2]|0; + $not$ = ($20|0)==(0|0); + $21 = HEAP8[$1>>0]|0; + if ($not$) { + $22 = $21 << 24 >> 24; + $23 = $22 & 57343; + HEAP32[$$47>>2] = $23; + $$0 = 1; + break; + } + $24 = $21&255; + $25 = (($24) + -194)|0; + $26 = ($25>>>0)>(50); + if ($26) { + label = 17; + break; + } + $27 = ((($1)) + 1|0); + $28 = (4800 + ($25<<2)|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($2) + -1)|0; + $31 = ($30|0)==(0); + if ($31) { + $$2 = $29; + } else { + $$03952 = $27;$$04051 = $29;$$04350 = $30; + label = 11; + } + } else { + $$03952 = $1;$$04051 = $6;$$04350 = $2; + label = 11; + } + L14: do { + if ((label|0) == 11) { + $32 = HEAP8[$$03952>>0]|0; + $33 = $32&255; + $34 = $33 >>> 3; + $35 = (($34) + -16)|0; + $36 = $$04051 >> 26; + $37 = (($34) + ($36))|0; + $38 = $35 | $37; + $39 = ($38>>>0)>(7); + if ($39) { + label = 17; + break L1; + } else { + $$1 = $$03952;$$141 = $$04051;$$144 = $$04350;$43 = $32; + } + while(1) { + $40 = $$141 << 6; + $41 = ((($$1)) + 1|0); + $42 = $43&255; + $44 = (($42) + -128)|0; + $45 = $44 | $40; + $46 = (($$144) + -1)|0; + $47 = ($45|0)<(0); + if (!($47)) { + break; + } + $49 = ($46|0)==(0); + if ($49) { + $$2 = $45; + break L14; + } + $50 = HEAP8[$41>>0]|0; + $51 = $50 & -64; + $52 = ($51<<24>>24)==(-128); + if ($52) { + $$1 = $41;$$141 = $45;$$144 = $46;$43 = $50; + } else { + label = 17; + break L1; + } + } + HEAP32[$$>>2] = 0; + HEAP32[$$47>>2] = $45; + $48 = (($2) - ($46))|0; + $$0 = $48; + break L1; + } + } while(0); + HEAP32[$$>>2] = $$2; + $$0 = -2; + } + } + } while(0); + if ((label|0) == 17) { + HEAP32[$$>>2] = 0; + $53 = (___errno_location()|0); + HEAP32[$53>>2] = 84; + $$0 = -1; + } + STACKTOP = sp;return ($$0|0); +} +function ___pthread_self_439() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + 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, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 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; - $0 = (($s) + -1)|0; - $1 = 152; $2 = $1; - HEAP32[$2>>2] = $0; - $3 = (($1) + 4)|0; - $4 = $3; - HEAP32[$4>>2] = 0; + $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) { + $$029 = $$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$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function _ldexp($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_scalbn($0,$1)); + return (+$2); +} +function _fwrite($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $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, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = ($1|0)==(0); + $$ = $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 = $$; + } else { + $14 = (($13>>>0) / ($1>>>0))&-1; + $15 = $14; + } + return ($15|0); +} +function ___unlist_locked_file($0) { + $0 = $0|0; + var $$pre = 0, $$sink = 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 = ((($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); + $$pre = ((($0)) + 112|0); + if (!($6)) { + $7 = HEAP32[$$pre>>2]|0; + $8 = ((($5)) + 112|0); + HEAP32[$8>>2] = $7; + } + $9 = HEAP32[$$pre>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + $12 = (___pthread_self_607()|0); + $13 = ((($12)) + 232|0); + $$sink = $13; + } else { + $11 = ((($9)) + 116|0); + $$sink = $11; + } + HEAP32[$$sink>>2] = $5; + } + return; +} +function ___pthread_self_607() { + 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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 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; + $memchr = (_memchr(24658,$3,4)|0); + $4 = ($memchr|0)==(0|0); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 22; + $$0 = 0; + } else { + $6 = (___fmodeflags($1)|0); + $7 = $0; + $8 = $6 | 32768; + 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] = 438; + $9 = (___syscall5(5,($vararg_buffer|0))|0); + $10 = (___syscall_ret($9)|0); + $11 = ($10|0)<(0); + if ($11) { + $$0 = 0; + } else { + $12 = $6 & 524288; + $13 = ($12|0)==(0); + if (!($13)) { + HEAP32[$vararg_buffer3>>2] = $10; + $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); + } + $14 = (___fdopen($10,$1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + HEAP32[$vararg_buffer8>>2] = $10; + (___syscall6(6,($vararg_buffer8|0))|0); + $$0 = 0; + } else { + $$0 = $14; + } + } + } + STACKTOP = sp;return ($$0|0); +} +function ___fmodeflags($0) { + $0 = $0|0; + var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 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; + var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_strchr($0,43)|0); + $2 = ($1|0)==(0|0); + $3 = HEAP8[$0>>0]|0; + $not$ = ($3<<24>>24)!=(114); + $$ = $not$&1; + $$0 = $2 ? $$ : 2; + $4 = (_strchr($0,120)|0); + $5 = ($4|0)==(0|0); + $6 = $$0 | 128; + $$0$ = $5 ? $$0 : $6; + $7 = (_strchr($0,101)|0); + $8 = ($7|0)==(0|0); + $9 = $$0$ | 524288; + $$2 = $8 ? $$0$ : $9; + $10 = ($3<<24>>24)==(114); + $11 = $$2 | 64; + $$2$ = $10 ? $$2 : $11; + $12 = ($3<<24>>24)==(119); + $13 = $$2$ | 512; + $$4 = $12 ? $13 : $$2$; + $14 = ($3<<24>>24)==(97); + $15 = $$4 | 1024; + $$$4 = $14 ? $15 : $$4; + return ($$$4|0); +} +function ___fdopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre31 = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $memchr = 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, dest = 0, label = 0, sp = 0, stop = 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; + $memchr = (_memchr(24658,$4,4)|0); + $5 = ($memchr|0)==(0|0); + if ($5) { + $6 = (___errno_location()|0); + HEAP32[$6>>2] = 22; + $$0 = 0; + } else { + $7 = (_malloc(1156)|0); + $8 = ($7|0)==(0|0); + if ($8) { + $$0 = 0; + } else { + dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (_strchr($1,43)|0); + $10 = ($9|0)==(0|0); + if ($10) { + $11 = ($3<<24>>24)==(114); + $12 = $11 ? 8 : 4; + HEAP32[$7>>2] = $12; + } + $13 = (_strchr($1,101)|0); + $14 = ($13|0)==(0|0); + if ($14) { + $16 = $3; + } else { + 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); + $$pre = HEAP8[$1>>0]|0; + $16 = $$pre; + } + $15 = ($16<<24>>24)==(97); + if ($15) { + HEAP32[$vararg_buffer3>>2] = $0; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 3; + $17 = (___syscall221(221,($vararg_buffer3|0))|0); + $18 = $17 & 1024; + $19 = ($18|0)==(0); + if ($19) { + $20 = $17 | 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] = $20; + (___syscall221(221,($vararg_buffer7|0))|0); + } + $21 = HEAP32[$7>>2]|0; + $22 = $21 | 128; + HEAP32[$7>>2] = $22; + $29 = $22; + } else { + $$pre31 = HEAP32[$7>>2]|0; + $29 = $$pre31; + } + $23 = ((($7)) + 60|0); + HEAP32[$23>>2] = $0; + $24 = ((($7)) + 132|0); + $25 = ((($7)) + 44|0); + HEAP32[$25>>2] = $24; + $26 = ((($7)) + 48|0); + HEAP32[$26>>2] = 1024; + $27 = ((($7)) + 75|0); + HEAP8[$27>>0] = -1; + $28 = $29 & 8; + $30 = ($28|0)==(0); + if ($30) { + $31 = $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] = $31; + $32 = (___syscall54(54,($vararg_buffer12|0))|0); + $33 = ($32|0)==(0); + if ($33) { + HEAP8[$27>>0] = 10; + } + } + $34 = ((($7)) + 32|0); + HEAP32[$34>>2] = 11; + $35 = ((($7)) + 36|0); + HEAP32[$35>>2] = 2; + $36 = ((($7)) + 40|0); + HEAP32[$36>>2] = 3; + $37 = ((($7)) + 12|0); + HEAP32[$37>>2] = 2; + $38 = HEAP32[(31172)>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = ((($7)) + 76|0); + HEAP32[$40>>2] = -1; + } + $41 = (___ofl_add($7)|0); + $$0 = $7; + } + } + STACKTOP = sp;return ($$0|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 ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((31236|0)); + return (31244|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((31236|0)); + return; +} +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, $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); + $29 = $4; + } else { + $29 = 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); + if (!($16)) { + $17 = ((($15)) + 52|0); + HEAP32[$17>>2] = $12; + } + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)==($0|0); + if ($19) { + HEAP32[$8>>2] = $15; + } + ___ofl_unlock(); + } + $20 = (_fflush($0)|0); + $21 = ((($0)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); + $24 = $23 | $20; + $25 = ((($0)) + 92|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0|0); + if (!($27)) { + _free($26); + } + if ($7) { + $28 = ($29|0)==(0); + if (!($28)) { + ___unlockfile($0); + } + } else { + _free($0); + } + return ($24|0); +} +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[1376]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[1376]|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 & 15]($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 & 15]($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 _fgets($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$06266 = 0, $$063 = 0, $$064 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0; + var $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); + $17 = $6; + } else { + $17 = 0; + } + $7 = (($1) + -1)|0; + $8 = ($1|0)<(2); + $9 = ($7|0)!=(0); + if ($8) { + $10 = ((($2)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ($17|0)==(0); + if (!($16)) { + ___unlockfile($2); + } + if ($9) { + $$0 = 0; + } else { + HEAP8[$0>>0] = 0; + $$0 = $0; + } + } else { + L11: do { + if ($9) { + $18 = ((($2)) + 4|0); + $19 = ((($2)) + 8|0); + $$063 = $7;$$064 = $0; + while(1) { + $20 = HEAP32[$18>>2]|0; + $21 = HEAP32[$19>>2]|0; + $22 = $20; + $23 = (($21) - ($22))|0; + $24 = (_memchr($20,10,$23)|0); + $25 = ($24|0)==(0|0); + $26 = $24; + $27 = (1 - ($22))|0; + $28 = (($27) + ($26))|0; + $29 = $25 ? $23 : $28; + $30 = ($29>>>0)<($$063>>>0); + $31 = $30 ? $29 : $$063; + _memcpy(($$064|0),($20|0),($31|0))|0; + $32 = HEAP32[$18>>2]|0; + $33 = (($32) + ($31)|0); + HEAP32[$18>>2] = $33; + $34 = (($$064) + ($31)|0); + $35 = (($$063) - ($31))|0; + $36 = ($35|0)!=(0); + $or$cond = $25 & $36; + if (!($or$cond)) { + $$1 = $34; + label = 17; + break L11; + } + $37 = HEAP32[$19>>2]|0; + $38 = ($33>>>0)<($37>>>0); + if ($38) { + $39 = ((($33)) + 1|0); + HEAP32[$18>>2] = $39; + $40 = HEAP8[$33>>0]|0; + $41 = $40&255; + $50 = $41; + } else { + $42 = (___uflow($2)|0); + $43 = ($42|0)<(0); + if ($43) { + break; + } else { + $50 = $42; + } + } + $48 = (($35) + -1)|0; + $49 = $50&255; + $51 = ((($34)) + 1|0); + HEAP8[$34>>0] = $49; + $sext$mask = $50 & 255; + $52 = ($sext$mask|0)!=(10); + $53 = ($48|0)!=(0); + $or$cond3 = $53 & $52; + if ($or$cond3) { + $$063 = $48;$$064 = $51; + } else { + $$1 = $51; + label = 17; + break L11; + } + } + $44 = ($34|0)==($0|0); + if ($44) { + $$06266 = 0; + } else { + $45 = HEAP32[$2>>2]|0; + $46 = $45 & 16; + $47 = ($46|0)==(0); + if ($47) { + $$06266 = 0; + } else { + $$1 = $34; + label = 17; + } + } + } else { + $$1 = $0; + label = 17; + } + } while(0); + if ((label|0) == 17) { + $54 = ($0|0)==(0|0); + if ($54) { + $$06266 = 0; + } else { + HEAP8[$$1>>0] = 0; + $$06266 = $0; + } + } + $55 = ($17|0)==(0); + if ($55) { + $$0 = $$06266; + } else { + ___unlockfile($2); + $$0 = $$06266; + } + } + return ($$0|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 _sscanf($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 = (_vsscanf($0,$1,$2)|0); + STACKTOP = sp;return ($3|0); +} +function _vsscanf($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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $3 = sp; + dest=$3; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $4 = ((($3)) + 32|0); + HEAP32[$4>>2] = 12; + $5 = ((($3)) + 44|0); + HEAP32[$5>>2] = $0; + $6 = ((($3)) + 76|0); + HEAP32[$6>>2] = -1; + $7 = ((($3)) + 84|0); + HEAP32[$7>>2] = $0; + $8 = (_vfscanf($3,$1,$2)|0); + STACKTOP = sp;return ($8|0); +} +function _do_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___string_read($0,$1,$2)|0); + return ($3|0); +} +function _vfscanf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0266 = 0, $$$0268 = 0, $$$0305 = 0, $$$3 = 0, $$0266$lcssa = 0, $$0266417 = 0, $$0268 = 0, $$0272 = 0, $$0273429 = 0, $$0276$ph = 0, $$0278$ph = 0, $$0278$ph$phi = 0, $$0278$ph336 = 0, $$0283428 = 0, $$0286420 = 0, $$0288$ = 0, $$0288425 = 0, $$0292 = 0, $$0293 = 0; + var $$0305423 = 0, $$10 = 0, $$11 = 0, $$1267 = 0, $$1271 = 0, $$1274 = 0, $$1277$ph = 0, $$1279 = 0, $$1284 = 0, $$1289 = 0, $$2 = 0, $$2275 = 0, $$2280 = 0, $$2280$ph = 0, $$2280$ph$phi = 0, $$2285 = 0, $$2290 = 0, $$2307$ph = 0, $$3$lcssa = 0, $$319 = 0; + var $$320 = 0, $$321 = 0, $$322 = 0, $$327 = 0, $$328$le439 = 0, $$328$le441 = 0, $$3281 = 0, $$3291 = 0, $$3416 = 0, $$4282 = 0, $$4309 = 0, $$5 = 0, $$5299 = 0, $$5310 = 0, $$6 = 0, $$6311 = 0, $$7 = 0, $$7$ph = 0, $$7312 = 0, $$8 = 0; + var $$8313 = 0, $$9 = 0, $$9314 = 0, $$9314$ph = 0, $$lcssa355 = 0, $$not = 0, $$old4 = 0, $$ph = 0, $$ph353 = 0, $$pre = 0, $$pre$phi516Z2D = 0, $$pre507 = 0, $$pre509 = 0, $$pre511 = 0, $$pre512 = 0, $$pre513 = 0, $$pre514 = 0, $$pre515 = 0, $$sink443 = 0, $$sroa$2$0$$sroa_idx13 = 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.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.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, $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, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $factor = 0, $factor331 = 0, $isdigit = 0; + var $isdigit316 = 0, $isdigit316415 = 0, $isdigittmp = 0, $isdigittmp315 = 0, $isdigittmp315414 = 0, $narrow = 0, $narrow469 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond318 = 0, $or$cond5 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); + $3 = sp + 8|0; + $4 = sp + 17|0; + $5 = sp; + $6 = sp + 16|0; + $7 = ((($0)) + 76|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(-1); + if ($9) { + $10 = (___lockfile($0)|0); + $306 = $10; + } else { + $306 = 0; + } + $11 = HEAP8[$1>>0]|0; + $12 = ($11<<24>>24)==(0); + L4: do { + if ($12) { + $$3291 = 0; + } else { + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 100|0); + $15 = ((($0)) + 108|0); + $16 = ((($0)) + 8|0); + $17 = ((($4)) + 10|0); + $18 = ((($4)) + 33|0); + $$sroa$2$0$$sroa_idx13 = ((($3)) + 4|0); + $19 = ((($4)) + 46|0); + $20 = ((($4)) + 94|0); + $21 = ((($4)) + 1|0); + $22 = ((($4)) + 1|0); + $$0273429 = $1;$$0283428 = 0;$$0288425 = 0;$$0305423 = 0;$102 = 0;$24 = $11; + L6: while(1) { + $23 = $24&255; + $25 = (_isspace($23)|0); + $26 = ($25|0)==(0); + L8: do { + if ($26) { + $53 = ($24<<24>>24)==(37); + L10: do { + if ($53) { + $54 = ((($$0273429)) + 1|0); + $55 = HEAP8[$54>>0]|0; + L12: do { + switch ($55<<24>>24) { + case 37: { + break L10; + break; + } + case 42: { + $76 = ((($$0273429)) + 2|0); + $$0293 = 0;$$2275 = $76; + break; + } + default: { + $77 = $55&255; + $isdigittmp = (($77) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $78 = ((($$0273429)) + 2|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)==(36); + if ($80) { + $81 = (_arg_n($2,$isdigittmp)|0); + $82 = ((($$0273429)) + 3|0); + $$0293 = $81;$$2275 = $82; + break L12; + } + } + $arglist_current = HEAP32[$2>>2]|0; + $83 = $arglist_current; + $84 = ((0) + 4|0); + $expanded1 = $84; + $expanded = (($expanded1) - 1)|0; + $85 = (($83) + ($expanded))|0; + $86 = ((0) + 4|0); + $expanded5 = $86; + $expanded4 = (($expanded5) - 1)|0; + $expanded3 = $expanded4 ^ -1; + $87 = $85 & $expanded3; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $arglist_next = ((($88)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0293 = $89;$$2275 = $54; + } + } + } while(0); + $90 = HEAP8[$$2275>>0]|0; + $91 = $90&255; + $isdigittmp315414 = (($91) + -48)|0; + $isdigit316415 = ($isdigittmp315414>>>0)<(10); + if ($isdigit316415) { + $$0266417 = 0;$$3416 = $$2275;$95 = $91; + while(1) { + $92 = ($$0266417*10)|0; + $93 = (($92) + -48)|0; + $94 = (($93) + ($95))|0; + $96 = ((($$3416)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = $97&255; + $isdigittmp315 = (($98) + -48)|0; + $isdigit316 = ($isdigittmp315>>>0)<(10); + if ($isdigit316) { + $$0266417 = $94;$$3416 = $96;$95 = $98; + } else { + $$0266$lcssa = $94;$$3$lcssa = $96;$$lcssa355 = $97; + break; + } + } + } else { + $$0266$lcssa = 0;$$3$lcssa = $$2275;$$lcssa355 = $90; + } + $99 = ($$lcssa355<<24>>24)==(109); + $100 = ($$0293|0)!=(0|0); + $101 = ((($$3$lcssa)) + 1|0); + $$$0305 = $99 ? 0 : $$0305423; + $$327 = $99 ? 0 : $102; + $$$3 = $99 ? $101 : $$3$lcssa; + $narrow = $100 & $99; + $103 = ((($$$3)) + 1|0); + $104 = HEAP8[$$$3>>0]|0; + switch ($104<<24>>24) { + case 104: { + $105 = HEAP8[$103>>0]|0; + $106 = ($105<<24>>24)==(104); + $107 = ((($$$3)) + 2|0); + $$319 = $106 ? $107 : $103; + $$320 = $106 ? -2 : -1; + $$0268 = $$320;$$5 = $$319; + break; + } + case 108: { + $108 = HEAP8[$103>>0]|0; + $109 = ($108<<24>>24)==(108); + $110 = ((($$$3)) + 2|0); + $$321 = $109 ? $110 : $103; + $$322 = $109 ? 3 : 1; + $$0268 = $$322;$$5 = $$321; + break; + } + case 106: { + $$0268 = 3;$$5 = $103; + break; + } + case 116: case 122: { + $$0268 = 1;$$5 = $103; + break; + } + case 76: { + $$0268 = 2;$$5 = $103; + break; + } + case 110: case 112: case 67: case 83: case 91: case 99: case 115: case 88: case 71: case 70: case 69: case 65: case 103: case 102: case 101: case 97: case 120: case 117: case 111: case 105: case 100: { + $$0268 = 0;$$5 = $$$3; + break; + } + default: { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + } + } + $111 = HEAP8[$$5>>0]|0; + $112 = $111&255; + $113 = $112 & 47; + $114 = ($113|0)==(3); + $115 = $112 | 32; + $$ = $114 ? $115 : $112; + $$$0268 = $114 ? 1 : $$0268; + $trunc = $$&255; + switch ($trunc<<24>>24) { + case 99: { + $116 = ($$0266$lcssa|0)>(1); + $$$0266 = $116 ? $$0266$lcssa : 1; + $$1267 = $$$0266;$$1284 = $$0283428; + break; + } + case 91: { + $$1267 = $$0266$lcssa;$$1284 = $$0283428; + break; + } + case 110: { + $117 = ($$0283428|0)<(0); + $118 = $117 << 31 >> 31; + _store_int($$0293,$$$0268,$$0283428,$118); + $$11 = $$5;$$1289 = $$0288425;$$2285 = $$0283428;$$6311 = $$$0305;$307 = $$327; + break L8; + break; + } + default: { + ___shlim($0,0); + while(1) { + $119 = HEAP32[$13>>2]|0; + $120 = HEAP32[$14>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { + $122 = ((($119)) + 1|0); + HEAP32[$13>>2] = $122; + $123 = HEAP8[$119>>0]|0; + $124 = $123&255; + $126 = $124; + } else { + $125 = (___shgetc($0)|0); + $126 = $125; + } + $127 = (_isspace($126)|0); + $128 = ($127|0)==(0); + if ($128) { + break; + } + } + $129 = HEAP32[$14>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $$pre507 = HEAP32[$13>>2]|0; + $138 = $$pre507; + } else { + $131 = HEAP32[$13>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$13>>2] = $132; + $133 = $132; + $138 = $133; + } + $134 = HEAP32[$15>>2]|0; + $135 = HEAP32[$16>>2]|0; + $136 = (($134) + ($$0283428))|0; + $137 = (($136) + ($138))|0; + $139 = (($137) - ($135))|0; + $$1267 = $$0266$lcssa;$$1284 = $139; + } + } + ___shlim($0,$$1267); + $140 = HEAP32[$13>>2]|0; + $141 = HEAP32[$14>>2]|0; + $142 = ($140>>>0)<($141>>>0); + if ($142) { + $143 = ((($140)) + 1|0); + HEAP32[$13>>2] = $143; + $147 = $141; + } else { + $144 = (___shgetc($0)|0); + $145 = ($144|0)<(0); + if ($145) { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + } + $$pre509 = HEAP32[$14>>2]|0; + $147 = $$pre509; + } + $146 = ($147|0)==(0|0); + if (!($146)) { + $148 = HEAP32[$13>>2]|0; + $149 = ((($148)) + -1|0); + HEAP32[$13>>2] = $149; + } + L55: do { + switch ($trunc<<24>>24) { + case 91: case 99: case 115: { + $150 = ($$|0)==(99); + $151 = $$ | 16; + $152 = ($151|0)==(115); + L57: do { + if ($152) { + $153 = ($$|0)==(115); + _memset(($21|0),-1,256)|0; + HEAP8[$4>>0] = 0; + if ($153) { + HEAP8[$18>>0] = 0; + ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0; + $$9 = $$5; + } else { + $$9 = $$5; + } + } else { + $154 = ((($$5)) + 1|0); + $155 = HEAP8[$154>>0]|0; + $156 = ($155<<24>>24)==(94); + $157 = ((($$5)) + 2|0); + $$0292 = $156&1; + $$6 = $156 ? $157 : $154; + $158 = $156&1; + _memset(($22|0),($158|0),256)|0; + HEAP8[$4>>0] = 0; + $159 = HEAP8[$$6>>0]|0; + switch ($159<<24>>24) { + case 45: { + $$sink443 = $19; + label = 64; + break; + } + case 93: { + $$sink443 = $20; + label = 64; + break; + } + default: { + $$pre514 = $$0292 ^ 1; + $$pre515 = $$pre514&255; + $$7$ph = $$6;$$pre$phi516Z2D = $$pre515; + } + } + if ((label|0) == 64) { + label = 0; + $160 = ((($$6)) + 1|0); + $161 = $$0292 ^ 1; + $162 = $161&255; + HEAP8[$$sink443>>0] = $162; + $$7$ph = $160;$$pre$phi516Z2D = $162; + } + $$7 = $$7$ph; + while(1) { + $163 = HEAP8[$$7>>0]|0; + L69: do { + switch ($163<<24>>24) { + case 0: { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + break; + } + case 93: { + $$9 = $$7; + break L57; + break; + } + case 45: { + $164 = ((($$7)) + 1|0); + $165 = HEAP8[$164>>0]|0; + switch ($165<<24>>24) { + case 93: case 0: { + $$8 = $$7;$176 = 45; + break L69; + break; + } + default: { + } + } + $166 = ((($$7)) + -1|0); + $167 = HEAP8[$166>>0]|0; + $168 = ($167&255)<($165&255); + if ($168) { + $169 = $167&255; + $$0286420 = $169; + while(1) { + $170 = (($$0286420) + 1)|0; + $171 = (($4) + ($170)|0); + HEAP8[$171>>0] = $$pre$phi516Z2D; + $172 = HEAP8[$164>>0]|0; + $173 = $172&255; + $174 = ($170|0)<($173|0); + if ($174) { + $$0286420 = $170; + } else { + $$8 = $164;$176 = $172; + break; + } + } + } else { + $$8 = $164;$176 = $165; + } + break; + } + default: { + $$8 = $$7;$176 = $163; + } + } + } while(0); + $175 = $176&255; + $177 = (($175) + 1)|0; + $178 = (($4) + ($177)|0); + HEAP8[$178>>0] = $$pre$phi516Z2D; + $179 = ((($$8)) + 1|0); + $$7 = $179; + } + } + } while(0); + $180 = (($$1267) + 1)|0; + $181 = $150 ? $180 : 31; + $182 = ($$$0268|0)==(1); + L77: do { + if ($182) { + if ($narrow) { + $183 = $181 << 2; + $184 = (_malloc($183)|0); + $185 = ($184|0)==(0|0); + if ($185) { + $$7312 = 0;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $311 = $184; + } + } else { + $311 = $$0293; + } + HEAP32[$3>>2] = 0; + HEAP32[$$sroa$2$0$$sroa_idx13>>2] = 0; + $$0276$ph = $181;$$0278$ph = 0;$$ph = $311; + L82: while(1) { + $186 = ($$ph|0)==(0|0); + $$0278$ph336 = $$0278$ph; + while(1) { + L86: while(1) { + $187 = HEAP32[$13>>2]|0; + $188 = HEAP32[$14>>2]|0; + $189 = ($187>>>0)<($188>>>0); + if ($189) { + $190 = ((($187)) + 1|0); + HEAP32[$13>>2] = $190; + $191 = HEAP8[$187>>0]|0; + $192 = $191&255; + $195 = $192; + } else { + $193 = (___shgetc($0)|0); + $195 = $193; + } + $194 = (($195) + 1)|0; + $196 = (($4) + ($194)|0); + $197 = HEAP8[$196>>0]|0; + $198 = ($197<<24>>24)==(0); + if ($198) { + break L82; + } + $199 = $195&255; + HEAP8[$6>>0] = $199; + $200 = (_mbrtowc($5,$6,1,$3)|0); + switch ($200|0) { + case -1: { + $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; + label = 137; + break L6; + break; + } + case -2: { + break; + } + default: { + break L86; + } + } + } + if ($186) { + $$1279 = $$0278$ph336; + } else { + $201 = (($$ph) + ($$0278$ph336<<2)|0); + $202 = (($$0278$ph336) + 1)|0; + $203 = HEAP32[$5>>2]|0; + HEAP32[$201>>2] = $203; + $$1279 = $202; + } + $204 = ($$1279|0)==($$0276$ph|0); + $or$cond = $narrow & $204; + if ($or$cond) { + break; + } else { + $$0278$ph336 = $$1279; + } + } + $factor331 = $$0276$ph << 1; + $205 = $factor331 | 1; + $206 = $205 << 2; + $207 = (_realloc($$ph,$206)|0); + $208 = ($207|0)==(0|0); + if ($208) { + $$7312 = 0;$309 = $$ph;$narrow469 = 1; + label = 137; + break L6; + } else { + $$0278$ph$phi = $$0276$ph;$$0276$ph = $205;$$ph = $207;$$0278$ph = $$0278$ph$phi; + } + } + $209 = (_mbsinit($3)|0); + $210 = ($209|0)==(0); + if ($210) { + $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; + label = 137; + break L6; + } else { + $$4282 = $$0278$ph336;$$4309 = 0;$$5299 = $$ph;$312 = $$ph; + } + } else { + if ($narrow) { + $211 = (_malloc($181)|0); + $212 = ($211|0)==(0|0); + if ($212) { + $$7312 = 0;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $$1277$ph = $181;$$2280$ph = 0;$$2307$ph = $211; + } + while(1) { + $$2280 = $$2280$ph; + while(1) { + $213 = HEAP32[$13>>2]|0; + $214 = HEAP32[$14>>2]|0; + $215 = ($213>>>0)<($214>>>0); + if ($215) { + $216 = ((($213)) + 1|0); + HEAP32[$13>>2] = $216; + $217 = HEAP8[$213>>0]|0; + $218 = $217&255; + $221 = $218; + } else { + $219 = (___shgetc($0)|0); + $221 = $219; + } + $220 = (($221) + 1)|0; + $222 = (($4) + ($220)|0); + $223 = HEAP8[$222>>0]|0; + $224 = ($223<<24>>24)==(0); + if ($224) { + $$4282 = $$2280;$$4309 = $$2307$ph;$$5299 = 0;$312 = 0; + break L77; + } + $225 = $221&255; + $226 = (($$2280) + 1)|0; + $227 = (($$2307$ph) + ($$2280)|0); + HEAP8[$227>>0] = $225; + $228 = ($226|0)==($$1277$ph|0); + if ($228) { + break; + } else { + $$2280 = $226; + } + } + $factor = $$1277$ph << 1; + $229 = $factor | 1; + $230 = (_realloc($$2307$ph,$229)|0); + $231 = ($230|0)==(0|0); + if ($231) { + $$7312 = $$2307$ph;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $$2280$ph$phi = $$1277$ph;$$1277$ph = $229;$$2307$ph = $230;$$2280$ph = $$2280$ph$phi; + } + } + } + $232 = ($$0293|0)==(0|0); + if ($232) { + $250 = $147; + while(1) { + $248 = HEAP32[$13>>2]|0; + $249 = ($248>>>0)<($250>>>0); + if ($249) { + $251 = ((($248)) + 1|0); + HEAP32[$13>>2] = $251; + $252 = HEAP8[$248>>0]|0; + $253 = $252&255; + $256 = $253; + } else { + $254 = (___shgetc($0)|0); + $256 = $254; + } + $255 = (($256) + 1)|0; + $257 = (($4) + ($255)|0); + $258 = HEAP8[$257>>0]|0; + $259 = ($258<<24>>24)==(0); + if ($259) { + $$4282 = 0;$$4309 = 0;$$5299 = 0;$312 = 0; + break L77; + } + $$pre512 = HEAP32[$14>>2]|0; + $250 = $$pre512; + } + } else { + $$3281 = 0;$235 = $147; + while(1) { + $233 = HEAP32[$13>>2]|0; + $234 = ($233>>>0)<($235>>>0); + if ($234) { + $236 = ((($233)) + 1|0); + HEAP32[$13>>2] = $236; + $237 = HEAP8[$233>>0]|0; + $238 = $237&255; + $241 = $238; + } else { + $239 = (___shgetc($0)|0); + $241 = $239; + } + $240 = (($241) + 1)|0; + $242 = (($4) + ($240)|0); + $243 = HEAP8[$242>>0]|0; + $244 = ($243<<24>>24)==(0); + if ($244) { + $$4282 = $$3281;$$4309 = $$0293;$$5299 = 0;$312 = 0; + break L77; + } + $245 = $241&255; + $246 = (($$3281) + 1)|0; + $247 = (($$0293) + ($$3281)|0); + HEAP8[$247>>0] = $245; + $$pre511 = HEAP32[$14>>2]|0; + $$3281 = $246;$235 = $$pre511; + } + } + } + } while(0); + $260 = HEAP32[$14>>2]|0; + $261 = ($260|0)==(0|0); + if ($261) { + $$pre513 = HEAP32[$13>>2]|0; + $268 = $$pre513; + } else { + $262 = HEAP32[$13>>2]|0; + $263 = ((($262)) + -1|0); + HEAP32[$13>>2] = $263; + $264 = $263; + $268 = $264; + } + $265 = HEAP32[$15>>2]|0; + $266 = HEAP32[$16>>2]|0; + $267 = (($268) - ($266))|0; + $269 = (($267) + ($265))|0; + $270 = ($269|0)==(0); + if ($270) { + $$9314$ph = $$4309;$$ph353 = $312; + label = 139; + break L6; + } + $$not = $150 ^ 1; + $271 = ($269|0)==($$1267|0); + $or$cond318 = $271 | $$not; + if (!($or$cond318)) { + $$9314$ph = $$4309;$$ph353 = $312; + label = 139; + break L6; + } + do { + if ($narrow) { + if ($182) { + HEAP32[$$0293>>2] = $$5299; + break; + } else { + HEAP32[$$0293>>2] = $$4309; + break; + } + } + } while(0); + if ($150) { + $$10 = $$9;$$5310 = $$4309;$310 = $312; + } else { + $272 = ($$5299|0)==(0|0); + if (!($272)) { + $273 = (($$5299) + ($$4282<<2)|0); + HEAP32[$273>>2] = 0; + } + $274 = ($$4309|0)==(0|0); + if ($274) { + $$10 = $$9;$$5310 = 0;$310 = $312; + break L55; + } + $275 = (($$4309) + ($$4282)|0); + HEAP8[$275>>0] = 0; + $$10 = $$9;$$5310 = $$4309;$310 = $312; + } + break; + } + case 120: case 88: case 112: { + $$0272 = 16; + label = 125; + break; + } + case 111: { + $$0272 = 8; + label = 125; + break; + } + case 117: case 100: { + $$0272 = 10; + label = 125; + break; + } + case 105: { + $$0272 = 0; + label = 125; + break; + } + case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { + $285 = (+___floatscan($0,$$$0268,0)); + $286 = HEAP32[$15>>2]|0; + $287 = HEAP32[$13>>2]|0; + $288 = HEAP32[$16>>2]|0; + $289 = (($288) - ($287))|0; + $290 = ($286|0)==($289|0); + if ($290) { + $$9314$ph = $$$0305;$$ph353 = $$327; + label = 139; + break L6; + } + $291 = ($$0293|0)==(0|0); + if ($291) { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + } else { + switch ($$$0268|0) { + case 0: { + $292 = $285; + HEAPF32[$$0293>>2] = $292; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + case 1: { + HEAPF64[$$0293>>3] = $285; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + case 2: { + HEAPF64[$$0293>>3] = $285; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + default: { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + } + } + } + break; + } + default: { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + } + } + } while(0); + do { + if ((label|0) == 125) { + label = 0; + $276 = (___intscan($0,$$0272,0,-1,-1)|0); + $277 = tempRet0; + $278 = HEAP32[$15>>2]|0; + $279 = HEAP32[$13>>2]|0; + $280 = HEAP32[$16>>2]|0; + $281 = (($280) - ($279))|0; + $282 = ($278|0)==($281|0); + if ($282) { + $$9314$ph = $$$0305;$$ph353 = $$327; + label = 139; + break L6; + } + $283 = ($$|0)==(112); + $or$cond3 = $100 & $283; + if ($or$cond3) { + $284 = $276; + HEAP32[$$0293>>2] = $284; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break; + } else { + _store_int($$0293,$$$0268,$276,$277); + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break; + } + } + } while(0); + $293 = HEAP32[$15>>2]|0; + $294 = HEAP32[$13>>2]|0; + $295 = HEAP32[$16>>2]|0; + $296 = (($293) + ($$1284))|0; + $297 = (($296) + ($294))|0; + $298 = (($297) - ($295))|0; + $299 = $100&1; + $$0288$ = (($299) + ($$0288425))|0; + $$11 = $$10;$$1289 = $$0288$;$$2285 = $298;$$6311 = $$5310;$307 = $310; + break L8; + } + } while(0); + $56 = $53&1; + $57 = (($$0273429) + ($56)|0); + ___shlim($0,0); + $58 = HEAP32[$13>>2]|0; + $59 = HEAP32[$14>>2]|0; + $60 = ($58>>>0)<($59>>>0); + if ($60) { + $61 = ((($58)) + 1|0); + HEAP32[$13>>2] = $61; + $62 = HEAP8[$58>>0]|0; + $63 = $62&255; + $68 = $63; + } else { + $64 = (___shgetc($0)|0); + $68 = $64; + } + $65 = HEAP8[$57>>0]|0; + $66 = $65&255; + $67 = ($68|0)==($66|0); + if (!($67)) { + label = 22; + break L6; + } + $75 = (($$0283428) + 1)|0; + $$11 = $57;$$1289 = $$0288425;$$2285 = $75;$$6311 = $$0305423;$307 = $102; + } else { + $$1274 = $$0273429; + while(1) { + $27 = ((($$1274)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = (_isspace($29)|0); + $31 = ($30|0)==(0); + if ($31) { + break; + } else { + $$1274 = $27; + } + } + ___shlim($0,0); + while(1) { + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$14>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$13>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $39 = $37; + } else { + $38 = (___shgetc($0)|0); + $39 = $38; + } + $40 = (_isspace($39)|0); + $41 = ($40|0)==(0); + if ($41) { + break; + } + } + $42 = HEAP32[$14>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + $$pre = HEAP32[$13>>2]|0; + $51 = $$pre; + } else { + $44 = HEAP32[$13>>2]|0; + $45 = ((($44)) + -1|0); + HEAP32[$13>>2] = $45; + $46 = $45; + $51 = $46; + } + $47 = HEAP32[$15>>2]|0; + $48 = HEAP32[$16>>2]|0; + $49 = (($47) + ($$0283428))|0; + $50 = (($49) + ($51))|0; + $52 = (($50) - ($48))|0; + $$11 = $$1274;$$1289 = $$0288425;$$2285 = $52;$$6311 = $$0305423;$307 = $102; + } + } while(0); + $300 = ((($$11)) + 1|0); + $301 = HEAP8[$300>>0]|0; + $302 = ($301<<24>>24)==(0); + if ($302) { + $$3291 = $$1289; + break L4; + } else { + $$0273429 = $300;$$0283428 = $$2285;$$0288425 = $$1289;$$0305423 = $$6311;$102 = $307;$24 = $301; + } + } + if ((label|0) == 22) { + $69 = HEAP32[$14>>2]|0; + $70 = ($69|0)==(0|0); + if (!($70)) { + $71 = HEAP32[$13>>2]|0; + $72 = ((($71)) + -1|0); + HEAP32[$13>>2] = $72; + } + $73 = ($68|0)>(-1); + $74 = ($$0288425|0)!=(0); + $or$cond5 = $74 | $73; + if ($or$cond5) { + $$3291 = $$0288425; + break; + } else { + $$1271 = 0;$$8313 = $$0305423;$308 = $102; + label = 138; + } + } + else if ((label|0) == 137) { + $$328$le441 = $narrow469&1; + $$old4 = ($$0288425|0)==(0); + if ($$old4) { + $$1271 = $$328$le441;$$8313 = $$7312;$308 = $309; + label = 138; + } else { + $$2 = $$328$le441;$$2290 = $$0288425;$$9314 = $$7312;$304 = $309; + } + } + else if ((label|0) == 139) { + $$328$le439 = $narrow&1; + $$2 = $$328$le439;$$2290 = $$0288425;$$9314 = $$9314$ph;$304 = $$ph353; + } + if ((label|0) == 138) { + $$2 = $$1271;$$2290 = -1;$$9314 = $$8313;$304 = $308; + } + $303 = ($$2|0)==(0); + if ($303) { + $$3291 = $$2290; + } else { + _free($$9314); + _free($304); + $$3291 = $$2290; + } + } + } while(0); + $305 = ($306|0)==(0); + if (!($305)) { + ___unlockfile($0); + } + STACKTOP = sp;return ($$3291|0); +} +function _arg_n($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, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $vacopy_currentptr = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + $vacopy_currentptr = HEAP32[$0>>2]|0; + HEAP32[$2>>2] = $vacopy_currentptr; + $$0 = $1; + while(1) { + $3 = ($$0>>>0)>(1); + $arglist_current = HEAP32[$2>>2]|0; + $4 = $arglist_current; + $5 = ((0) + 4|0); + $expanded1 = $5; + $expanded = (($expanded1) - 1)|0; + $6 = (($4) + ($expanded))|0; + $7 = ((0) + 4|0); + $expanded5 = $7; + $expanded4 = (($expanded5) - 1)|0; + $expanded3 = $expanded4 ^ -1; + $8 = $6 & $expanded3; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $arglist_next = ((($9)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $11 = (($$0) + -1)|0; + if ($3) { + $$0 = $11; + } else { + break; + } + } + STACKTOP = sp;return ($10|0); +} +function _store_int($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0|0); + L1: do { + if (!($4)) { + switch ($1|0) { + case -2: { + $5 = $2&255; + HEAP8[$0>>0] = $5; + break L1; + break; + } + case -1: { + $6 = $2&65535; + HEAP16[$0>>1] = $6; + break L1; + break; + } + case 0: { + HEAP32[$0>>2] = $2; + break L1; + break; + } + case 1: { + HEAP32[$0>>2] = $2; + break L1; + break; + } + case 3: { + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $3; + break L1; + break; + } + default: { + break L1; + } + } + } + } while(0); + return; +} +function _mbsinit($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + $5 = 1; + } else { + $2 = HEAP32[$0>>2]|0; + $3 = ($2|0)==(0); + $5 = $3; + } + $4 = $5&1; + return ($4|0); +} +function ___string_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$027 = 0, $$027$ = 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 = ((($0)) + 84|0); + $4 = HEAP32[$3>>2]|0; + $5 = (($2) + 256)|0; + $6 = (_memchr($4,0,$5)|0); + $7 = ($6|0)==(0|0); + $8 = $6; + $9 = $4; + $10 = (($8) - ($9))|0; + $$027 = $7 ? $5 : $10; + $11 = ($$027>>>0)<($2>>>0); + $$027$ = $11 ? $$027 : $2; + _memcpy(($1|0),($4|0),($$027$|0))|0; + $12 = (($4) + ($$027$)|0); + $13 = ((($0)) + 4|0); + HEAP32[$13>>2] = $12; + $14 = (($4) + ($$027)|0); + $15 = ((($0)) + 8|0); + HEAP32[$15>>2] = $14; + HEAP32[$3>>2] = $14; + return ($$027$|0); +} +function _fseek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___fseeko($0,$1,$2)|0); + return ($3|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 ___fseeko($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, $9 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $7 = (___lockfile($0)|0); + $phitmp = ($7|0)==(0); + $8 = (___fseeko_unlocked($0,$1,$2)|0); + if ($phitmp) { + $9 = $8; + } else { + ___unlockfile($0); + $9 = $8; + } + } else { + $6 = (___fseeko_unlocked($0,$1,$2)|0); + $9 = $6; + } + return ($9|0); +} +function ___fseeko_unlocked($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$019 = 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, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(1); + if ($3) { + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($1) - ($5))|0; + $9 = (($8) + ($7))|0; + $$019 = $9; + } else { + $$019 = $1; + } + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 28|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>($13>>>0); + if ($14) { + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); + $17 = HEAP32[$10>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + $$0 = -1; + } else { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 5) { + $19 = ((($0)) + 16|0); + HEAP32[$19>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); + $23 = ($22|0)<(0); + if ($23) { + $$0 = -1; + } else { + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$0>>2]|0; + $27 = $26 & -17; + HEAP32[$0>>2] = $27; + $$0 = 0; + } + } + return ($$0|0); +} +function _strstr($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, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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 label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 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, $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, $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, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;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;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strrchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($2) + 1)|0; + $4 = (___memrchr($0,$1,$3)|0); + return ($4|0); +} +function ___memrchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1&255; + $$09 = $2; + while(1) { + $4 = (($$09) + -1)|0; + $5 = ($$09|0)==(0); + if ($5) { + $$0 = 0; + break; + } + $6 = (($0) + ($4)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==($3<<24>>24); + if ($8) { + $$0 = $6; + break; + } else { + $$09 = $4; + } + } + return ($$0|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 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]=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;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 24936; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; return; } function _rand() { 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; - $0 = 152; + $0 = 24936; $1 = $0; $2 = HEAP32[$1>>2]|0; $3 = (($0) + 4)|0; @@ -54780,7 +65496,7 @@ function _rand() { $7 = tempRet0; $8 = (_i64Add(($6|0),($7|0),1,0)|0); $9 = tempRet0; - $10 = 152; + $10 = 24936; $11 = $10; HEAP32[$11>>2] = $8; $12 = (($10) + 4)|0; @@ -54790,3664 +65506,319 @@ function _rand() { $15 = tempRet0; return ($14|0); } -function _fclose($f) { - $f = $f|0; - var $$pre = 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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - (___lockfile($f)|0); - } - $3 = HEAP32[$f>>2]|0; - $4 = $3 & 1; - $5 = ($4|0)!=(0); - if (!($5)) { - ___lock(((11076)|0)); - $6 = ((($f)) + 52|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - $9 = $7; - $$pre = ((($f)) + 56|0); - if (!($8)) { - $10 = HEAP32[$$pre>>2]|0; - $11 = ((($7)) + 56|0); - HEAP32[$11>>2] = $10; - } - $12 = HEAP32[$$pre>>2]|0; - $13 = ($12|0)==(0|0); - $14 = $12; - if (!($13)) { - $15 = ((($12)) + 52|0); - HEAP32[$15>>2] = $9; - } - $16 = HEAP32[(11072)>>2]|0; - $17 = ($16|0)==($f|0); - if ($17) { - HEAP32[(11072)>>2] = $14; - } - ___unlock(((11076)|0)); - } - $18 = (_fflush($f)|0); - $19 = ((($f)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = (FUNCTION_TABLE_ii[$20 & 15]($f)|0); - $22 = $21 | $18; - $23 = ((($f)) + 92|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)==(0|0); - if (!($25)) { - _free($24); - } - if (!($5)) { - _free($f); - } - return ($22|0); -} -function _feof($f) { - $f = $f|0; - var $$lobit = 0, $$lobit1 = 0, $$lobit2 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $5 = (___lockfile($f)|0); - $phitmp = ($5|0)==(0); - $6 = HEAP32[$f>>2]|0; - $7 = $6 >>> 4; - $$lobit = $7 & 1; - if ($phitmp) { - $$lobit2 = $$lobit; - } else { - ___unlockfile($f); - $$lobit2 = $$lobit; - } - } else { - $3 = HEAP32[$f>>2]|0; - $4 = $3 >>> 4; - $$lobit1 = $4 & 1; - $$lobit2 = $$lobit1; - } - return ($$lobit2|0); -} -function _fflush($f) { - $f = $f|0; - var $$0 = 0, $$01 = 0, $$012 = 0, $$014 = 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; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $r$0$lcssa = 0, $r$03 = 0, $r$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($f|0)==(0|0); - do { - if ($0) { - $7 = HEAP32[11300>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $27 = 0; - } else { - $9 = HEAP32[11300>>2]|0; - $10 = (_fflush($9)|0); - $27 = $10; - } - ___lock(((11076)|0)); - $$012 = HEAP32[(11072)>>2]|0; - $11 = ($$012|0)==(0|0); - if ($11) { - $r$0$lcssa = $27; - } else { - $$014 = $$012;$r$03 = $27; - while(1) { - $12 = ((($$014)) + 76|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)>(-1); - if ($14) { - $15 = (___lockfile($$014)|0); - $23 = $15; - } else { - $23 = 0; - } - $16 = ((($$014)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($$014)) + 28|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($17>>>0)>($19>>>0); - if ($20) { - $21 = (___fflush_unlocked($$014)|0); - $22 = $21 | $r$03; - $r$1 = $22; - } else { - $r$1 = $r$03; - } - $24 = ($23|0)==(0); - if (!($24)) { - ___unlockfile($$014); - } - $25 = ((($$014)) + 56|0); - $$01 = HEAP32[$25>>2]|0; - $26 = ($$01|0)==(0|0); - if ($26) { - $r$0$lcssa = $r$1; - break; - } else { - $$014 = $$01;$r$03 = $r$1; - } - } - } - ___unlock(((11076)|0)); - $$0 = $r$0$lcssa; - } else { - $1 = ((($f)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if (!($3)) { - $4 = (___fflush_unlocked($f)|0); - $$0 = $4; - break; - } - $5 = (___lockfile($f)|0); - $phitmp = ($5|0)==(0); - $6 = (___fflush_unlocked($f)|0); - if ($phitmp) { - $$0 = $6; - } else { - ___unlockfile($f); - $$0 = $6; - } - } - } while(0); - return ($$0|0); -} -function _fgetc($f) { - $f = $f|0; - 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, $3 = 0, $4 = 0; +function _fgetc($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, $3 = 0, $4 = 0; var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(0); - if ($2) { + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)<(0); + if ($3) { label = 3; } else { - $3 = (___lockfile($f)|0); - $4 = ($3|0)==(0); - if ($4) { + $4 = (___lockfile($0)|0); + $5 = ($4|0)==(0); + if ($5) { label = 3; } else { - $14 = ((($f)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($f)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($15>>>0)<($17>>>0); - if ($18) { - $19 = ((($15)) + 1|0); - HEAP32[$14>>2] = $19; - $20 = HEAP8[$15>>0]|0; - $21 = $20&255; - $23 = $21; + $15 = ((($0)) + 4|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($16>>>0)<($18>>>0); + if ($19) { + $20 = ((($16)) + 1|0); + HEAP32[$15>>2] = $20; + $21 = HEAP8[$16>>0]|0; + $22 = $21&255; + $24 = $22; } else { - $22 = (___uflow($f)|0); - $23 = $22; + $23 = (___uflow($0)|0); + $24 = $23; } - ___unlockfile($f); - $$0 = $23; + ___unlockfile($0); + $$0 = $24; } } do { if ((label|0) == 3) { - $5 = ((($f)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($f)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($6>>>0)<($8>>>0); - if ($9) { - $10 = ((($6)) + 1|0); - HEAP32[$5>>2] = $10; - $11 = HEAP8[$6>>0]|0; - $12 = $11&255; - $$0 = $12; - break; - } else { - $13 = (___uflow($f)|0); + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($7>>>0)<($9>>>0); + if ($10) { + $11 = ((($7)) + 1|0); + HEAP32[$6>>2] = $11; + $12 = HEAP8[$7>>0]|0; + $13 = $12&255; $$0 = $13; break; - } - } - } while(0); - return ($$0|0); -} -function _fgets($s,$n,$f) { - $s = $s|0; - $n = $n|0; - $f = $f|0; - var $$0 = 0, $$048 = 0, $$05 = 0, $$lcssa14 = 0, $$old2 = 0, $$pre = 0, $$sum$pre$phiZZ2D = 0, $$sum6 = 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; - 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, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $or$cond = 0, $or$cond3 = 0, $p$0 = 0, $p$1 = 0, $sext$mask = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $3 = (___lockfile($f)|0); - $12 = $3; - } else { - $12 = 0; - } - $4 = (($n) + -1)|0; - $5 = ($n|0)<(2); - if ($5) { - $6 = ((($f)) + 74|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7 << 24 >> 24; - $9 = (($8) + 255)|0; - $10 = $9 | $8; - $11 = $10&255; - HEAP8[$6>>0] = $11; - $13 = ($12|0)==(0); - if (!($13)) { - ___unlockfile($f); - } - $14 = ($4|0)==(0); - if ($14) { - HEAP8[$s>>0] = 0; - $$0 = $s; - } else { - $$0 = 0; - } - } else { - $$old2 = ($4|0)==(0); - L11: do { - if ($$old2) { - $p$1 = $s; - label = 18; } else { - $15 = ((($f)) + 4|0); - $16 = ((($f)) + 8|0); - $$05 = $4;$p$0 = $s; - while(1) { - $17 = HEAP32[$15>>2]|0; - $18 = HEAP32[$16>>2]|0; - $19 = $18; - $20 = $17; - $21 = (($19) - ($20))|0; - $22 = (_memchr($17,10,$21)|0); - $23 = ($22|0)==(0|0); - $24 = $22; - $25 = (1 - ($20))|0; - $26 = (($25) + ($24))|0; - $27 = $23 ? $21 : $26; - $28 = ($27>>>0)<($$05>>>0); - $29 = $28 ? $27 : $$05; - _memcpy(($p$0|0),($17|0),($29|0))|0; - $30 = HEAP32[$15>>2]|0; - $31 = (($30) + ($29)|0); - HEAP32[$15>>2] = $31; - $32 = (($p$0) + ($29)|0); - $33 = (($$05) - ($29))|0; - $or$cond = $23 & $28; - if (!($or$cond)) { - $p$1 = $32; - label = 18; - break L11; - } - $34 = HEAP32[$16>>2]|0; - $35 = ($31>>>0)<($34>>>0); - if ($35) { - $$sum6 = (($29) + 1)|0; - $36 = (($30) + ($$sum6)|0); - HEAP32[$15>>2] = $36; - $37 = HEAP8[$31>>0]|0; - $38 = $37&255; - $$sum$pre$phiZZ2D = $$sum6;$47 = $38; - } else { - $39 = (___uflow($f)|0); - $40 = ($39|0)<(0); - if ($40) { - $$lcssa14 = $32; - break; - } - $$pre = (($29) + 1)|0; - $$sum$pre$phiZZ2D = $$pre;$47 = $39; - } - $45 = (($33) + -1)|0; - $46 = $47&255; - $48 = (($p$0) + ($$sum$pre$phiZZ2D)|0); - HEAP8[$32>>0] = $46; - $sext$mask = $47 & 255; - $49 = ($sext$mask|0)!=(10); - $50 = ($45|0)!=(0); - $or$cond3 = $50 & $49; - if ($or$cond3) { - $$05 = $45;$p$0 = $48; - } else { - $p$1 = $48; - label = 18; - break L11; - } - } - $41 = ($$lcssa14|0)==($s|0); - if ($41) { - $$048 = 0; - } else { - $42 = HEAP32[$f>>2]|0; - $43 = $42 & 16; - $44 = ($43|0)==(0); - if ($44) { - $$048 = 0; - } else { - $p$1 = $$lcssa14; - label = 18; - } - } - } - } while(0); - if ((label|0) == 18) { - $51 = ($s|0)==(0|0); - if ($51) { - $$048 = 0; - } else { - HEAP8[$p$1>>0] = 0; - $$048 = $s; - } - } - $52 = ($12|0)==(0); - if ($52) { - $$0 = $$048; - } else { - ___unlockfile($f); - $$0 = $$048; - } - } - return ($$0|0); -} -function _fopen($filename,$mode) { - $filename = $filename|0; - $mode = $mode|0; - 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, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $0 = HEAP8[$mode>>0]|0; - $1 = $0 << 24 >> 24; - $memchr = (_memchr(31718,$1,4)|0); - $2 = ($memchr|0)==(0|0); - if ($2) { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 22; - $$0 = 0; - } else { - $4 = (___fmodeflags($mode)|0); - $5 = $4 | 32768; - HEAP32[$vararg_buffer>>2] = $filename; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $5; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 438; - $6 = (___syscall5(5,($vararg_buffer|0))|0); - $7 = (___syscall_ret($6)|0); - $8 = ($7|0)<(0); - if ($8) { - $$0 = 0; - } else { - $9 = (___fdopen($7,$mode)|0); - $10 = ($9|0)==(0|0); - if ($10) { - HEAP32[$vararg_buffer3>>2] = $7; - (___syscall6(6,($vararg_buffer3|0))|0); - $$0 = 0; - } else { - $$0 = $9; - } - } - } - STACKTOP = sp;return ($$0|0); -} -function _fputc($c,$f) { - $c = $c|0; - $f = $f|0; - 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)<(0); - if ($2) { - label = 3; - } else { - $3 = (___lockfile($f)|0); - $4 = ($3|0)==(0); - if ($4) { - label = 3; - } else { - $18 = ((($f)) + 75|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19 << 24 >> 24; - $21 = ($20|0)==($c|0); - if ($21) { - label = 10; - } else { - $22 = ((($f)) + 20|0); - $23 = HEAP32[$22>>2]|0; - $24 = ((($f)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($23>>>0)<($25>>>0); - if ($26) { - $27 = $c&255; - $28 = ((($23)) + 1|0); - HEAP32[$22>>2] = $28; - HEAP8[$23>>0] = $27; - $29 = $c & 255; - $31 = $29; - } else { - label = 10; - } - } - if ((label|0) == 10) { - $30 = (___overflow($f,$c)|0); - $31 = $30; - } - ___unlockfile($f); - $$0 = $31; - } - } - do { - if ((label|0) == 3) { - $5 = ((($f)) + 75|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6 << 24 >> 24; - $8 = ($7|0)==($c|0); - if (!($8)) { - $9 = ((($f)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($f)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - $14 = $c&255; - $15 = ((($10)) + 1|0); - HEAP32[$9>>2] = $15; - HEAP8[$10>>0] = $14; - $16 = $c & 255; - $$0 = $16; - break; - } - } - $17 = (___overflow($f,$c)|0); - $$0 = $17; - } - } while(0); - return ($$0|0); -} -function _fread($destv,$size,$nmemb,$f) { - $destv = $destv|0; - $size = $size|0; - $nmemb = $nmemb|0; - $f = $f|0; - var $$ = 0, $$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; - 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $dest$0$ph = 0, $dest$02 = 0, $l$0$ph = 0, $l$03 = 0, $l$03$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = Math_imul($nmemb, $size)|0; - $1 = ((($f)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($f)|0); - $31 = $4; - } else { - $31 = 0; - } - $5 = ((($f)) + 74|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6 << 24 >> 24; - $8 = (($7) + 255)|0; - $9 = $8 | $7; - $10 = $9&255; - HEAP8[$5>>0] = $10; - $11 = ((($f)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($f)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = $12; - $16 = $14; - $17 = (($15) - ($16))|0; - $18 = ($17|0)>(0); - if ($18) { - $19 = ($17>>>0)<($0>>>0); - $$ = $19 ? $17 : $0; - _memcpy(($destv|0),($14|0),($$|0))|0; - $20 = (($14) + ($$)|0); - HEAP32[$13>>2] = $20; - $21 = (($destv) + ($$)|0); - $22 = (($0) - ($$))|0; - $dest$0$ph = $21;$l$0$ph = $22; - } else { - $dest$0$ph = $destv;$l$0$ph = $0; - } - $23 = ($l$0$ph|0)==(0); - L7: do { - if ($23) { - label = 13; - } else { - $24 = ((($f)) + 32|0); - $dest$02 = $dest$0$ph;$l$03 = $l$0$ph; - while(1) { - $25 = (___toread($f)|0); - $26 = ($25|0)==(0); - if (!($26)) { - $l$03$lcssa = $l$03; - break; - } - $27 = HEAP32[$24>>2]|0; - $28 = (FUNCTION_TABLE_iiii[$27 & 15]($f,$dest$02,$l$03)|0); - $29 = (($28) + 1)|0; - $30 = ($29>>>0)<(2); - if ($30) { - $l$03$lcssa = $l$03; - break; - } - $35 = (($l$03) - ($28))|0; - $36 = (($dest$02) + ($28)|0); - $37 = ($l$03|0)==($28|0); - if ($37) { - label = 13; - break L7; - } else { - $dest$02 = $36;$l$03 = $35; - } - } - $32 = ($31|0)==(0); - if (!($32)) { - ___unlockfile($f); - } - $33 = (($0) - ($l$03$lcssa))|0; - $34 = (($33>>>0) / ($size>>>0))&-1; - $$0 = $34; - } - } while(0); - if ((label|0) == 13) { - $38 = ($31|0)==(0); - if ($38) { - $$0 = $nmemb; - } else { - ___unlockfile($f); - $$0 = $nmemb; - } - } - return ($$0|0); -} -function ___fseeko_unlocked($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $$0 = 0, $$01 = 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; - 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; - $0 = ($whence|0)==(1); - if ($0) { - $1 = ((($f)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($f)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2; - $6 = $4; - $7 = (($off) - ($5))|0; - $8 = (($7) + ($6))|0; - $$01 = $8; - } else { - $$01 = $off; - } - $9 = ((($f)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($f)) + 28|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)>($12>>>0); - if ($13) { - $14 = ((($f)) + 36|0); - $15 = HEAP32[$14>>2]|0; - (FUNCTION_TABLE_iiii[$15 & 15]($f,0,0)|0); - $16 = HEAP32[$9>>2]|0; - $17 = ($16|0)==(0|0); - if ($17) { - $$0 = -1; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - $18 = ((($f)) + 16|0); - HEAP32[$18>>2] = 0; - HEAP32[$11>>2] = 0; - HEAP32[$9>>2] = 0; - $19 = ((($f)) + 40|0); - $20 = HEAP32[$19>>2]|0; - $21 = (FUNCTION_TABLE_iiii[$20 & 15]($f,$$01,$whence)|0); - $22 = ($21|0)<(0); - if ($22) { - $$0 = -1; - } else { - $23 = ((($f)) + 8|0); - HEAP32[$23>>2] = 0; - $24 = ((($f)) + 4|0); - HEAP32[$24>>2] = 0; - $25 = HEAP32[$f>>2]|0; - $26 = $25 & -17; - HEAP32[$f>>2] = $26; - $$0 = 0; - } - } - return ($$0|0); -} -function ___fseeko($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $4 = (___lockfile($f)|0); - $phitmp = ($4|0)==(0); - $5 = (___fseeko_unlocked($f,$off,$whence)|0); - if ($phitmp) { - $6 = $5; - } else { - ___unlockfile($f); - $6 = $5; - } - } else { - $3 = (___fseeko_unlocked($f,$off,$whence)|0); - $6 = $3; - } - return ($6|0); -} -function _fseek($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___fseeko($f,$off,$whence)|0); - return ($0|0); -} -function ___ftello_unlocked($f) { - $f = $f|0; - 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 40|0); - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$f>>2]|0; - $3 = $2 & 128; - $4 = ($3|0)==(0); - if ($4) { - $10 = 1; - } else { - $5 = ((($f)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($f)) + 28|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($6>>>0)>($8>>>0); - $phitmp = $9 ? 2 : 1; - $10 = $phitmp; - } - $11 = (FUNCTION_TABLE_iiii[$1 & 15]($f,0,$10)|0); - $12 = ($11|0)<(0); - if ($12) { - $$0 = $11; - } else { - $13 = ((($f)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($f)) + 4|0); - $16 = HEAP32[$15>>2]|0; - $17 = $14; - $18 = $16; - $19 = ((($f)) + 20|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($f)) + 28|0); - $22 = HEAP32[$21>>2]|0; - $23 = $20; - $24 = $22; - $25 = (($11) - ($17))|0; - $26 = (($25) + ($18))|0; - $27 = (($26) + ($23))|0; - $28 = (($27) - ($24))|0; - $$0 = $28; - } - return ($$0|0); -} -function ___ftello($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $4 = (___lockfile($f)|0); - $phitmp = ($4|0)==(0); - $5 = (___ftello_unlocked($f)|0); - if ($phitmp) { - $6 = $5; - } else { - ___unlockfile($f); - $6 = $5; - } - } else { - $3 = (___ftello_unlocked($f)|0); - $6 = $3; - } - return ($6|0); -} -function _ftell($f) { - $f = $f|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___ftello($f)|0); - return ($0|0); -} -function ___fwritex($s,$l,$f) { - $s = $s|0; - $l = $l|0; - $f = $f|0; - var $$0 = 0, $$01 = 0, $$02 = 0, $$pre = 0, $$pre6 = 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; - 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$0 = 0, $i$0$lcssa10 = 0; - var $i$1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = (___towrite($f)|0); - $4 = ($3|0)==(0); - if ($4) { - $$pre = HEAP32[$0>>2]|0; - $7 = $$pre; - label = 4; - } else { - $$0 = 0; - } - } else { - $7 = $1; - label = 4; - } - L4: do { - if ((label|0) == 4) { - $5 = ((($f)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $8 = $7; - $9 = $6; - $10 = (($8) - ($9))|0; - $11 = ($10>>>0)<($l>>>0); - if ($11) { - $12 = ((($f)) + 36|0); - $13 = HEAP32[$12>>2]|0; - $14 = (FUNCTION_TABLE_iiii[$13 & 15]($f,$s,$l)|0); + $14 = (___uflow($0)|0); $$0 = $14; break; } - $15 = ((($f)) + 75|0); - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)>(-1); - L9: do { - if ($17) { - $i$0 = $l; - while(1) { - $18 = ($i$0|0)==(0); - if ($18) { - $$01 = $l;$$02 = $s;$29 = $6;$i$1 = 0; - break L9; - } - $19 = (($i$0) + -1)|0; - $20 = (($s) + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(10); - if ($22) { - $i$0$lcssa10 = $i$0; - break; - } else { - $i$0 = $19; - } - } - $23 = ((($f)) + 36|0); - $24 = HEAP32[$23>>2]|0; - $25 = (FUNCTION_TABLE_iiii[$24 & 15]($f,$s,$i$0$lcssa10)|0); - $26 = ($25>>>0)<($i$0$lcssa10>>>0); - if ($26) { - $$0 = $i$0$lcssa10; - break L4; - } - $27 = (($s) + ($i$0$lcssa10)|0); - $28 = (($l) - ($i$0$lcssa10))|0; - $$pre6 = HEAP32[$5>>2]|0; - $$01 = $28;$$02 = $27;$29 = $$pre6;$i$1 = $i$0$lcssa10; - } else { - $$01 = $l;$$02 = $s;$29 = $6;$i$1 = 0; - } - } while(0); - _memcpy(($29|0),($$02|0),($$01|0))|0; - $30 = HEAP32[$5>>2]|0; - $31 = (($30) + ($$01)|0); - HEAP32[$5>>2] = $31; - $32 = (($i$1) + ($$01))|0; - $$0 = $32; } } while(0); return ($$0|0); } -function _fwrite($src,$size,$nmemb,$f) { - $src = $src|0; - $size = $size|0; - $nmemb = $nmemb|0; - $f = $f|0; - var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0; +function ___ftello($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = Math_imul($nmemb, $size)|0; - $1 = ((($f)) + 76|0); + $1 = ((($0)) + 76|0); $2 = HEAP32[$1>>2]|0; $3 = ($2|0)>(-1); if ($3) { - $5 = (___lockfile($f)|0); + $5 = (___lockfile($0)|0); $phitmp = ($5|0)==(0); - $6 = (___fwritex($src,$0,$f)|0); + $6 = (___ftello_unlocked($0)|0); if ($phitmp) { $7 = $6; } else { - ___unlockfile($f); + ___unlockfile($0); $7 = $6; } } else { - $4 = (___fwritex($src,$0,$f)|0); + $4 = (___ftello_unlocked($0)|0); $7 = $4; } - $8 = ($7|0)==($0|0); + return ($7|0); +} +function ___ftello_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, $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, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 40|0); + $2 = HEAP32[$1>>2]|0; + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 128; + $5 = ($4|0)==(0); + if ($5) { + $11 = 1; + } else { + $6 = ((($0)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 28|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($7>>>0)>($9>>>0); + $phitmp = $10 ? 2 : 1; + $11 = $phitmp; + } + $12 = (FUNCTION_TABLE_iiii[$2 & 15]($0,0,$11)|0); + $13 = ($12|0)<(0); + if ($13) { + $$0 = $12; + } else { + $14 = ((($0)) + 8|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($0)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = (($12) - ($15))|0; + $23 = (($22) + ($17))|0; + $24 = (($23) + ($19))|0; + $25 = (($24) - ($21))|0; + $$0 = $25; + } + return ($$0|0); +} +function _fread($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 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, $41 = 0; + var $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = ($1|0)==(0); + $$ = $5 ? 0 : $2; + $6 = ((($3)) + 76|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>(-1); if ($8) { - $10 = $nmemb; + $9 = (___lockfile($3)|0); + $36 = $9; } else { - $9 = (($7>>>0) / ($size>>>0))&-1; - $10 = $9; + $36 = 0; } - return ($10|0); -} -function _rewind($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 76|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)>(-1); - if ($2) { - $3 = (___lockfile($f)|0); - $phitmp = ($3|0)==(0); - (___fseeko_unlocked($f,0,0)|0); - $4 = HEAP32[$f>>2]|0; - $5 = $4 & -33; - HEAP32[$f>>2] = $5; - if (!($phitmp)) { - ___unlockfile($f); - } + $10 = ((($3)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ((($3)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($3)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19; + $21 = (($17) - ($20))|0; + $22 = ($21|0)>(0); + $23 = ($21>>>0)<($4>>>0); + $$57 = $23 ? $21 : $4; + if ($22) { + $24 = (($4) - ($$57))|0; + $25 = (($0) + ($$57)|0); + _memcpy(($0|0),($19|0),($$57|0))|0; + $26 = (($19) + ($$57)|0); + HEAP32[$18>>2] = $26; + $$054$ph = $24;$$056$ph = $25; } else { - (___fseeko_unlocked($f,0,0)|0); - $6 = HEAP32[$f>>2]|0; - $7 = $6 & -33; - HEAP32[$f>>2] = $7; + $$054$ph = $4;$$056$ph = $0; } - return; -} -function _sscanf($s,$fmt,$varargs) { - $s = $s|0; - $fmt = $fmt|0; - $varargs = $varargs|0; - var $0 = 0, $ap = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $ap = sp; - HEAP32[$ap>>2] = $varargs; - $0 = (_vsscanf($s,$fmt,$ap)|0); - STACKTOP = sp;return ($0|0); -} -function _vfprintf($f,$fmt,$ap) { - $f = $f|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $$ = 0, $$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; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap2 = 0, $internal_buf = 0, $nl_arg = 0, $nl_type = 0; - var $ret$1 = 0, $ret$1$ = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; - $ap2 = sp + 120|0; - $nl_type = sp + 80|0; - $nl_arg = sp; - $internal_buf = sp + 136|0; - dest=$nl_type; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $vacopy_currentptr = HEAP32[$ap>>2]|0; - HEAP32[$ap2>>2] = $vacopy_currentptr; - $0 = (_printf_core(0,$fmt,$ap2,$nl_arg,$nl_type)|0); - $1 = ($0|0)<(0); - if ($1) { - $$0 = -1; - } else { - $2 = ((($f)) + 76|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(-1); - if ($4) { - $5 = (___lockfile($f)|0); - $32 = $5; + $27 = ($$054$ph|0)==(0); + L7: do { + if ($27) { + label = 13; } else { - $32 = 0; - } - $6 = HEAP32[$f>>2]|0; - $7 = $6 & 32; - $8 = ((($f)) + 74|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)<(1); - if ($10) { - $11 = $6 & -33; - HEAP32[$f>>2] = $11; - } - $12 = ((($f)) + 48|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0); - if ($14) { - $16 = ((($f)) + 44|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$16>>2] = $internal_buf; - $18 = ((($f)) + 28|0); - HEAP32[$18>>2] = $internal_buf; - $19 = ((($f)) + 20|0); - HEAP32[$19>>2] = $internal_buf; - HEAP32[$12>>2] = 80; - $20 = ((($internal_buf)) + 80|0); - $21 = ((($f)) + 16|0); - HEAP32[$21>>2] = $20; - $22 = (_printf_core($f,$fmt,$ap2,$nl_arg,$nl_type)|0); - $23 = ($17|0)==(0|0); - if ($23) { - $ret$1 = $22; - } else { - $24 = ((($f)) + 36|0); - $25 = HEAP32[$24>>2]|0; - (FUNCTION_TABLE_iiii[$25 & 15]($f,0,0)|0); - $26 = HEAP32[$19>>2]|0; - $27 = ($26|0)==(0|0); - $$ = $27 ? -1 : $22; - HEAP32[$16>>2] = $17; - HEAP32[$12>>2] = 0; - HEAP32[$21>>2] = 0; - HEAP32[$18>>2] = 0; - HEAP32[$19>>2] = 0; - $ret$1 = $$; + $28 = ((($3)) + 32|0); + $$05460 = $$054$ph;$$05659 = $$056$ph; + while(1) { + $29 = (___toread($3)|0); + $30 = ($29|0)==(0); + if (!($30)) { + break; + } + $31 = HEAP32[$28>>2]|0; + $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); + $33 = (($32) + 1)|0; + $34 = ($33>>>0)<(2); + if ($34) { + break; + } + $39 = (($$05460) - ($32))|0; + $40 = (($$05659) + ($32)|0); + $41 = ($39|0)==(0); + if ($41) { + label = 13; + break L7; + } else { + $$05460 = $39;$$05659 = $40; + } } + $35 = ($36|0)==(0); + if (!($35)) { + ___unlockfile($3); + } + $37 = (($4) - ($$05460))|0; + $38 = (($37>>>0) / ($1>>>0))&-1; + $$0 = $38; + } + } while(0); + if ((label|0) == 13) { + $42 = ($36|0)==(0); + if ($42) { + $$0 = $$; } else { - $15 = (_printf_core($f,$fmt,$ap2,$nl_arg,$nl_type)|0); - $ret$1 = $15; + ___unlockfile($3); + $$0 = $$; } - $28 = HEAP32[$f>>2]|0; - $29 = $28 & 32; - $30 = ($29|0)==(0); - $ret$1$ = $30 ? $ret$1 : -1; - $31 = $28 | $7; - HEAP32[$f>>2] = $31; - $33 = ($32|0)==(0); - if (!($33)) { - ___unlockfile($f); - } - $$0 = $ret$1$; } - STACKTOP = sp;return ($$0|0); + return ($$0|0); } -function _vfscanf($f,$fmt,$ap) { - $f = $f|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $$ = 0, $$10 = 0, $$11 = 0, $$12 = 0, $$9 = 0, $$lcssa = 0, $$lcssa38 = 0, $$lcssa384 = 0, $$not = 0, $$old4 = 0, $$pre = 0, $$pre$phi182Z2D = 0, $$pre168 = 0, $$pre170 = 0, $$pre172 = 0, $$pre174 = 0, $$pre176 = 0, $$pre178 = 0, $$pre180 = 0, $$pre181 = 0; - var $$size$0 = 0, $$width$0 = 0, $0 = 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, $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; - var $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, $310 = 0.0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0.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; - var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 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, $alloc$0 = 0, $alloc$0400 = 0, $alloc$1 = 0; - var $alloc$2 = 0, $ap2$i = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $base$0 = 0, $c$0100 = 0, $dest$0 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $factor = 0; - var $factor16 = 0, $i$0$i = 0, $i$0$ph = 0, $i$0$ph$phi = 0, $i$0$ph20 = 0, $i$0$ph20$lcssa = 0, $i$1 = 0, $i$2 = 0, $i$2$ph = 0, $i$2$ph$phi = 0, $i$3 = 0, $i$4 = 0, $invert$0 = 0, $isdigit = 0, $isdigit7 = 0, $isdigit795 = 0, $isdigittmp = 0, $isdigittmp6 = 0, $isdigittmp694 = 0, $k$0$ph = 0; - var $k$1$ph = 0, $matches$0$ = 0, $matches$0104 = 0, $matches$0104$lcssa = 0, $matches$0104376 = 0, $matches$1 = 0, $matches$2 = 0, $matches$3 = 0, $not$ = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond8 = 0, $p$0109 = 0, $p$1 = 0, $p$1$lcssa = 0, $p$10 = 0, $p$11 = 0, $p$2 = 0, $p$3$lcssa = 0; - var $p$396 = 0, $p$4 = 0, $p$5 = 0, $p$6 = 0, $p$7 = 0, $p$7$ph = 0, $p$8 = 0, $p$9 = 0, $pos$0108 = 0, $pos$1 = 0, $pos$2 = 0, $s$0107 = 0, $s$0107$lcssa = 0, $s$1 = 0, $s$2$ph = 0, $s$3 = 0, $s$4 = 0, $s$5 = 0, $s$6 = 0, $s$7 = 0; - var $s$8 = 0, $scanset = 0, $size$0 = 0, $st = 0, $vacopy_currentptr = 0, $wc = 0, $wcs$0103 = 0, $wcs$0103$lcssa = 0, $wcs$1 = 0, $wcs$2 = 0, $wcs$3$ph = 0, $wcs$3$ph$lcssa = 0, $wcs$4 = 0, $wcs$5 = 0, $wcs$6 = 0, $wcs$7 = 0, $wcs$8 = 0, $wcs$9 = 0, $width$0$lcssa = 0, $width$097 = 0; - var $width$1 = 0, label = 0, sp = 0; +function _ftell($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 304|0; - $ap2$i = sp + 16|0; - $st = sp + 8|0; - $scanset = sp + 33|0; - $wc = sp; - $0 = sp + 32|0; - $1 = ((($f)) + 76|0); + $1 = (___ftello($0)|0); + return ($1|0); +} +function _rewind($0) { + $0 = $0|0; + var $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) { - $4 = (___lockfile($f)|0); - $333 = $4; - } else { - $333 = 0; - } - $5 = HEAP8[$fmt>>0]|0; - $6 = ($5<<24>>24)==(0); - L4: do { - if ($6) { - $matches$3 = 0; - } else { - $7 = ((($f)) + 4|0); - $8 = ((($f)) + 100|0); - $9 = ((($f)) + 108|0); - $10 = ((($f)) + 8|0); - $11 = ((($scanset)) + 10|0); - $12 = ((($scanset)) + 33|0); - $13 = ((($st)) + 4|0); - $14 = ((($scanset)) + 46|0); - $15 = ((($scanset)) + 94|0); - $17 = $5;$matches$0104 = 0;$p$0109 = $fmt;$pos$0108 = 0;$s$0107 = 0;$wcs$0103 = 0; - L6: while(1) { - $16 = $17&255; - $18 = (_isspace($16)|0); - $19 = ($18|0)==(0); - L8: do { - if ($19) { - $46 = HEAP8[$p$0109>>0]|0; - $47 = ($46<<24>>24)==(37); - L10: do { - if ($47) { - $48 = ((($p$0109)) + 1|0); - $49 = HEAP8[$48>>0]|0; - L12: do { - switch ($49<<24>>24) { - case 37: { - break L10; - break; - } - case 42: { - $70 = ((($p$0109)) + 2|0); - $dest$0 = 0;$p$2 = $70; - break; - } - default: { - $71 = $49&255; - $isdigittmp = (($71) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $72 = ((($p$0109)) + 2|0); - $73 = HEAP8[$72>>0]|0; - $74 = ($73<<24>>24)==(36); - if ($74) { - $vacopy_currentptr = HEAP32[$ap>>2]|0; - HEAP32[$ap2$i>>2] = $vacopy_currentptr; - $i$0$i = $isdigittmp; - while(1) { - $75 = ($i$0$i>>>0)>(1); - $arglist_current = HEAP32[$ap2$i>>2]|0; - $76 = $arglist_current; - $77 = ((0) + 4|0); - $expanded4 = $77; - $expanded = (($expanded4) - 1)|0; - $78 = (($76) + ($expanded))|0; - $79 = ((0) + 4|0); - $expanded8 = $79; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $80 = $78 & $expanded6; - $81 = $80; - $82 = HEAP32[$81>>2]|0; - $arglist_next = ((($81)) + 4|0); - HEAP32[$ap2$i>>2] = $arglist_next; - $83 = (($i$0$i) + -1)|0; - if ($75) { - $i$0$i = $83; - } else { - $$lcssa = $82; - break; - } - } - $84 = ((($p$0109)) + 3|0); - $dest$0 = $$lcssa;$p$2 = $84; - break L12; - } - } - $arglist_current2 = HEAP32[$ap>>2]|0; - $85 = $arglist_current2; - $86 = ((0) + 4|0); - $expanded11 = $86; - $expanded10 = (($expanded11) - 1)|0; - $87 = (($85) + ($expanded10))|0; - $88 = ((0) + 4|0); - $expanded15 = $88; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $89 = $87 & $expanded13; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $arglist_next3 = ((($90)) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - $dest$0 = $91;$p$2 = $48; - } - } - } while(0); - $92 = HEAP8[$p$2>>0]|0; - $93 = $92&255; - $isdigittmp694 = (($93) + -48)|0; - $isdigit795 = ($isdigittmp694>>>0)<(10); - if ($isdigit795) { - $97 = $93;$p$396 = $p$2;$width$097 = 0; - while(1) { - $94 = ($width$097*10)|0; - $95 = (($94) + -48)|0; - $96 = (($95) + ($97))|0; - $98 = ((($p$396)) + 1|0); - $99 = HEAP8[$98>>0]|0; - $100 = $99&255; - $isdigittmp6 = (($100) + -48)|0; - $isdigit7 = ($isdigittmp6>>>0)<(10); - if ($isdigit7) { - $97 = $100;$p$396 = $98;$width$097 = $96; - } else { - $$lcssa38 = $99;$p$3$lcssa = $98;$width$0$lcssa = $96; - break; - } - } - } else { - $$lcssa38 = $92;$p$3$lcssa = $p$2;$width$0$lcssa = 0; - } - $101 = ($$lcssa38<<24>>24)==(109); - if ($101) { - $102 = ($dest$0|0)!=(0|0); - $103 = $102&1; - $104 = ((($p$3$lcssa)) + 1|0); - $$pre168 = HEAP8[$104>>0]|0; - $107 = $$pre168;$alloc$0 = $103;$p$4 = $104;$s$1 = 0;$wcs$1 = 0; - } else { - $107 = $$lcssa38;$alloc$0 = 0;$p$4 = $p$3$lcssa;$s$1 = $s$0107;$wcs$1 = $wcs$0103; - } - $105 = ((($p$4)) + 1|0); - $106 = $107&255; - switch ($106|0) { - case 104: { - $108 = HEAP8[$105>>0]|0; - $109 = ($108<<24>>24)==(104); - $110 = ((($p$4)) + 2|0); - $$9 = $109 ? $110 : $105; - $$10 = $109 ? -2 : -1; - $p$5 = $$9;$size$0 = $$10; - break; - } - case 108: { - $111 = HEAP8[$105>>0]|0; - $112 = ($111<<24>>24)==(108); - $113 = ((($p$4)) + 2|0); - $$11 = $112 ? $113 : $105; - $$12 = $112 ? 3 : 1; - $p$5 = $$11;$size$0 = $$12; - break; - } - case 106: { - $p$5 = $105;$size$0 = 3; - break; - } - case 116: case 122: { - $p$5 = $105;$size$0 = 1; - break; - } - case 76: { - $p$5 = $105;$size$0 = 2; - break; - } - case 110: case 112: case 67: case 83: case 91: case 99: case 115: case 88: case 71: case 70: case 69: case 65: case 103: case 102: case 101: case 97: case 120: case 117: case 111: case 105: case 100: { - $p$5 = $p$4;$size$0 = 0; - break; - } - default: { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = $s$1;$wcs$7 = $wcs$1; - label = 152; - break L6; - } - } - $114 = HEAP8[$p$5>>0]|0; - $115 = $114&255; - $116 = $115 & 47; - $117 = ($116|0)==(3); - $118 = $115 | 32; - $$ = $117 ? $118 : $115; - $$size$0 = $117 ? 1 : $size$0; - switch ($$|0) { - case 99: { - $119 = ($width$0$lcssa|0)<(1); - $$width$0 = $119 ? 1 : $width$0$lcssa; - $pos$1 = $pos$0108;$width$1 = $$width$0; - break; - } - case 91: { - $pos$1 = $pos$0108;$width$1 = $width$0$lcssa; - break; - } - case 110: { - $120 = ($pos$0108|0)<(0); - $121 = $120 << 31 >> 31; - $122 = ($dest$0|0)==(0|0); - if ($122) { - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - } - switch ($$size$0|0) { - case -2: { - $123 = $pos$0108&255; - HEAP8[$dest$0>>0] = $123; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - case -1: { - $124 = $pos$0108&65535; - HEAP16[$dest$0>>1] = $124; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - case 0: { - HEAP32[$dest$0>>2] = $pos$0108; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - case 1: { - HEAP32[$dest$0>>2] = $pos$0108; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - case 3: { - $125 = $dest$0; - $126 = $125; - HEAP32[$126>>2] = $pos$0108; - $127 = (($125) + 4)|0; - $128 = $127; - HEAP32[$128>>2] = $121; - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - break; - } - default: { - $matches$1 = $matches$0104;$p$11 = $p$5;$pos$2 = $pos$0108;$s$5 = $s$1;$wcs$6 = $wcs$1; - break L8; - } - } - break; - } - default: { - ___shlim($f,0); - while(1) { - $129 = HEAP32[$7>>2]|0; - $130 = HEAP32[$8>>2]|0; - $131 = ($129>>>0)<($130>>>0); - if ($131) { - $132 = ((($129)) + 1|0); - HEAP32[$7>>2] = $132; - $133 = HEAP8[$129>>0]|0; - $134 = $133&255; - $136 = $134; - } else { - $135 = (___shgetc($f)|0); - $136 = $135; - } - $137 = (_isspace($136)|0); - $138 = ($137|0)==(0); - if ($138) { - break; - } - } - $139 = HEAP32[$8>>2]|0; - $140 = ($139|0)==(0|0); - $$pre170 = HEAP32[$7>>2]|0; - if ($140) { - $144 = $$pre170; - } else { - $141 = ((($$pre170)) + -1|0); - HEAP32[$7>>2] = $141; - $144 = $141; - } - $142 = HEAP32[$9>>2]|0; - $143 = HEAP32[$10>>2]|0; - $145 = $144; - $146 = $143; - $147 = (($142) + ($pos$0108))|0; - $148 = (($147) + ($145))|0; - $149 = (($148) - ($146))|0; - $pos$1 = $149;$width$1 = $width$0$lcssa; - } - } - ___shlim($f,$width$1); - $150 = HEAP32[$7>>2]|0; - $151 = HEAP32[$8>>2]|0; - $152 = ($150>>>0)<($151>>>0); - if ($152) { - $153 = ((($150)) + 1|0); - HEAP32[$7>>2] = $153; - $156 = $151; - } else { - $154 = (___shgetc($f)|0); - $155 = ($154|0)<(0); - if ($155) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = $s$1;$wcs$7 = $wcs$1; - label = 152; - break L6; - } - $$pre172 = HEAP32[$8>>2]|0; - $156 = $$pre172; - } - $157 = ($156|0)==(0|0); - if (!($157)) { - $158 = HEAP32[$7>>2]|0; - $159 = ((($158)) + -1|0); - HEAP32[$7>>2] = $159; - } - L67: do { - switch ($$|0) { - case 91: case 99: case 115: { - $160 = ($$|0)==(99); - $161 = $$ & 239; - $162 = ($161|0)==(99); - L69: do { - if ($162) { - $163 = ($$|0)==(115); - _memset(($scanset|0),-1,257)|0; - HEAP8[$scanset>>0] = 0; - if ($163) { - HEAP8[$12>>0] = 0; - ;HEAP8[$11>>0]=0|0;HEAP8[$11+1>>0]=0|0;HEAP8[$11+2>>0]=0|0;HEAP8[$11+3>>0]=0|0;HEAP8[$11+4>>0]=0|0; - $p$9 = $p$5; - } else { - $p$9 = $p$5; - } - } else { - $164 = ((($p$5)) + 1|0); - $165 = HEAP8[$164>>0]|0; - $166 = ($165<<24>>24)==(94); - $167 = ((($p$5)) + 2|0); - $invert$0 = $166&1; - $168 = $166 ? $164 : $p$5; - $p$6 = $166 ? $167 : $164; - $169 = $166&1; - _memset(($scanset|0),($169|0),257)|0; - HEAP8[$scanset>>0] = 0; - $170 = HEAP8[$p$6>>0]|0; - switch ($170<<24>>24) { - case 45: { - $171 = ((($168)) + 2|0); - $172 = $invert$0 ^ 1; - $173 = $172&255; - HEAP8[$14>>0] = $173; - $$pre$phi182Z2D = $173;$p$7$ph = $171; - break; - } - case 93: { - $174 = ((($168)) + 2|0); - $175 = $invert$0 ^ 1; - $176 = $175&255; - HEAP8[$15>>0] = $176; - $$pre$phi182Z2D = $176;$p$7$ph = $174; - break; - } - default: { - $$pre180 = $invert$0 ^ 1; - $$pre181 = $$pre180&255; - $$pre$phi182Z2D = $$pre181;$p$7$ph = $p$6; - } - } - $p$7 = $p$7$ph; - while(1) { - $177 = HEAP8[$p$7>>0]|0; - L80: do { - switch ($177<<24>>24) { - case 0: { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = $s$1;$wcs$7 = $wcs$1; - label = 152; - break L6; - break; - } - case 93: { - $p$9 = $p$7; - break L69; - break; - } - case 45: { - $178 = ((($p$7)) + 1|0); - $179 = HEAP8[$178>>0]|0; - switch ($179<<24>>24) { - case 93: case 0: { - $190 = 45;$p$8 = $p$7; - break L80; - break; - } - default: { - } - } - $180 = ((($p$7)) + -1|0); - $181 = HEAP8[$180>>0]|0; - $182 = ($181&255)<($179&255); - if ($182) { - $183 = $181&255; - $c$0100 = $183; - while(1) { - $184 = (($c$0100) + 1)|0; - $185 = (($scanset) + ($184)|0); - HEAP8[$185>>0] = $$pre$phi182Z2D; - $186 = HEAP8[$178>>0]|0; - $187 = $186&255; - $188 = ($184|0)<($187|0); - if ($188) { - $c$0100 = $184; - } else { - $190 = $186;$p$8 = $178; - break; - } - } - } else { - $190 = $179;$p$8 = $178; - } - break; - } - default: { - $190 = $177;$p$8 = $p$7; - } - } - } while(0); - $189 = $190&255; - $191 = (($189) + 1)|0; - $192 = (($scanset) + ($191)|0); - HEAP8[$192>>0] = $$pre$phi182Z2D; - $193 = ((($p$8)) + 1|0); - $p$7 = $193; - } - } - } while(0); - $194 = (($width$1) + 1)|0; - $195 = $160 ? $194 : 31; - $196 = ($$size$0|0)==(1); - $197 = ($alloc$0|0)!=(0); - L88: do { - if ($196) { - if ($197) { - $198 = $195 << 2; - $199 = (_malloc($198)|0); - $200 = ($199|0)==(0|0); - if ($200) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = $199; - label = 152; - break L6; - } else { - $wcs$2 = $199; - } - } else { - $wcs$2 = $dest$0; - } - HEAP32[$st>>2] = 0; - HEAP32[$13>>2] = 0; - $i$0$ph = 0;$k$0$ph = $195;$wcs$3$ph = $wcs$2; - L94: while(1) { - $201 = ($wcs$3$ph|0)==(0|0); - $i$0$ph20 = $i$0$ph; - while(1) { - L98: while(1) { - $202 = HEAP32[$7>>2]|0; - $203 = HEAP32[$8>>2]|0; - $204 = ($202>>>0)<($203>>>0); - if ($204) { - $205 = ((($202)) + 1|0); - HEAP32[$7>>2] = $205; - $206 = HEAP8[$202>>0]|0; - $207 = $206&255; - $210 = $207; - } else { - $208 = (___shgetc($f)|0); - $210 = $208; - } - $209 = (($210) + 1)|0; - $211 = (($scanset) + ($209)|0); - $212 = HEAP8[$211>>0]|0; - $213 = ($212<<24>>24)==(0); - if ($213) { - $i$0$ph20$lcssa = $i$0$ph20;$wcs$3$ph$lcssa = $wcs$3$ph; - break L94; - } - $214 = $210&255; - HEAP8[$0>>0] = $214; - $215 = (_mbrtowc($wc,$0,1,$st)|0); - switch ($215|0) { - case -1: { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = $wcs$3$ph; - label = 152; - break L6; - break; - } - case -2: { - break; - } - default: { - break L98; - } - } - } - if ($201) { - $i$1 = $i$0$ph20; - } else { - $216 = HEAP32[$wc>>2]|0; - $217 = (($i$0$ph20) + 1)|0; - $218 = (($wcs$3$ph) + ($i$0$ph20<<2)|0); - HEAP32[$218>>2] = $216; - $i$1 = $217; - } - $219 = ($i$1|0)==($k$0$ph|0); - $or$cond = $197 & $219; - if ($or$cond) { - break; - } else { - $i$0$ph20 = $i$1; - } - } - $factor = $k$0$ph << 1; - $220 = $factor | 1; - $221 = $220 << 2; - $222 = (_realloc($wcs$3$ph,$221)|0); - $223 = ($222|0)==(0|0); - if ($223) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = $wcs$3$ph; - label = 152; - break L6; - } - $i$0$ph$phi = $k$0$ph;$k$0$ph = $220;$wcs$3$ph = $222;$i$0$ph = $i$0$ph$phi; - } - $224 = (_mbsinit($st)|0); - $225 = ($224|0)==(0); - if ($225) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = $wcs$3$ph$lcssa; - label = 152; - break L6; - } else { - $i$4 = $i$0$ph20$lcssa;$s$3 = 0;$wcs$4 = $wcs$3$ph$lcssa; - } - } else { - if ($197) { - $226 = (_malloc($195)|0); - $227 = ($226|0)==(0|0); - if ($227) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = 0;$wcs$7 = 0; - label = 152; - break L6; - } else { - $i$2$ph = 0;$k$1$ph = $195;$s$2$ph = $226; - } - while(1) { - $i$2 = $i$2$ph; - while(1) { - $228 = HEAP32[$7>>2]|0; - $229 = HEAP32[$8>>2]|0; - $230 = ($228>>>0)<($229>>>0); - if ($230) { - $231 = ((($228)) + 1|0); - HEAP32[$7>>2] = $231; - $232 = HEAP8[$228>>0]|0; - $233 = $232&255; - $236 = $233; - } else { - $234 = (___shgetc($f)|0); - $236 = $234; - } - $235 = (($236) + 1)|0; - $237 = (($scanset) + ($235)|0); - $238 = HEAP8[$237>>0]|0; - $239 = ($238<<24>>24)==(0); - if ($239) { - $i$4 = $i$2;$s$3 = $s$2$ph;$wcs$4 = 0; - break L88; - } - $240 = $236&255; - $241 = (($i$2) + 1)|0; - $242 = (($s$2$ph) + ($i$2)|0); - HEAP8[$242>>0] = $240; - $243 = ($241|0)==($k$1$ph|0); - if ($243) { - break; - } else { - $i$2 = $241; - } - } - $factor16 = $k$1$ph << 1; - $244 = $factor16 | 1; - $245 = (_realloc($s$2$ph,$244)|0); - $246 = ($245|0)==(0|0); - if ($246) { - $alloc$0400 = $alloc$0;$matches$0104376 = $matches$0104;$s$6 = $s$2$ph;$wcs$7 = 0; - label = 152; - break L6; - } else { - $i$2$ph$phi = $k$1$ph;$k$1$ph = $244;$s$2$ph = $245;$i$2$ph = $i$2$ph$phi; - } - } - } - $247 = ($dest$0|0)==(0|0); - if ($247) { - $265 = $156; - while(1) { - $263 = HEAP32[$7>>2]|0; - $264 = ($263>>>0)<($265>>>0); - if ($264) { - $266 = ((($263)) + 1|0); - HEAP32[$7>>2] = $266; - $267 = HEAP8[$263>>0]|0; - $268 = $267&255; - $271 = $268; - } else { - $269 = (___shgetc($f)|0); - $271 = $269; - } - $270 = (($271) + 1)|0; - $272 = (($scanset) + ($270)|0); - $273 = HEAP8[$272>>0]|0; - $274 = ($273<<24>>24)==(0); - if ($274) { - $i$4 = 0;$s$3 = 0;$wcs$4 = 0; - break L88; - } - $$pre176 = HEAP32[$8>>2]|0; - $265 = $$pre176; - } - } else { - $250 = $156;$i$3 = 0; - while(1) { - $248 = HEAP32[$7>>2]|0; - $249 = ($248>>>0)<($250>>>0); - if ($249) { - $251 = ((($248)) + 1|0); - HEAP32[$7>>2] = $251; - $252 = HEAP8[$248>>0]|0; - $253 = $252&255; - $256 = $253; - } else { - $254 = (___shgetc($f)|0); - $256 = $254; - } - $255 = (($256) + 1)|0; - $257 = (($scanset) + ($255)|0); - $258 = HEAP8[$257>>0]|0; - $259 = ($258<<24>>24)==(0); - if ($259) { - $i$4 = $i$3;$s$3 = $dest$0;$wcs$4 = 0; - break L88; - } - $260 = $256&255; - $261 = (($i$3) + 1)|0; - $262 = (($dest$0) + ($i$3)|0); - HEAP8[$262>>0] = $260; - $$pre174 = HEAP32[$8>>2]|0; - $250 = $$pre174;$i$3 = $261; - } - } - } - } while(0); - $275 = HEAP32[$8>>2]|0; - $276 = ($275|0)==(0|0); - $$pre178 = HEAP32[$7>>2]|0; - if ($276) { - $280 = $$pre178; - } else { - $277 = ((($$pre178)) + -1|0); - HEAP32[$7>>2] = $277; - $280 = $277; - } - $278 = HEAP32[$9>>2]|0; - $279 = HEAP32[$10>>2]|0; - $281 = $280; - $282 = $279; - $283 = (($281) - ($282))|0; - $284 = (($283) + ($278))|0; - $285 = ($284|0)==(0); - if ($285) { - $alloc$2 = $alloc$0;$matches$2 = $matches$0104;$s$8 = $s$3;$wcs$9 = $wcs$4; - break L6; - } - $$not = $160 ^ 1; - $286 = ($284|0)==($width$1|0); - $or$cond8 = $286 | $$not; - if (!($or$cond8)) { - $alloc$2 = $alloc$0;$matches$2 = $matches$0104;$s$8 = $s$3;$wcs$9 = $wcs$4; - break L6; - } - do { - if ($197) { - if ($196) { - HEAP32[$dest$0>>2] = $wcs$4; - break; - } else { - HEAP32[$dest$0>>2] = $s$3; - break; - } - } - } while(0); - if ($160) { - $p$10 = $p$9;$s$4 = $s$3;$wcs$5 = $wcs$4; - } else { - $287 = ($wcs$4|0)==(0|0); - if (!($287)) { - $288 = (($wcs$4) + ($i$4<<2)|0); - HEAP32[$288>>2] = 0; - } - $289 = ($s$3|0)==(0|0); - if ($289) { - $p$10 = $p$9;$s$4 = 0;$wcs$5 = $wcs$4; - break L67; - } - $290 = (($s$3) + ($i$4)|0); - HEAP8[$290>>0] = 0; - $p$10 = $p$9;$s$4 = $s$3;$wcs$5 = $wcs$4; - } - break; - } - case 120: case 88: case 112: { - $base$0 = 16; - label = 134; - break; - } - case 111: { - $base$0 = 8; - label = 134; - break; - } - case 117: case 100: { - $base$0 = 10; - label = 134; - break; - } - case 105: { - $base$0 = 0; - label = 134; - break; - } - case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { - $310 = (+___floatscan($f,$$size$0,0)); - $311 = HEAP32[$9>>2]|0; - $312 = HEAP32[$7>>2]|0; - $313 = HEAP32[$10>>2]|0; - $314 = $312; - $315 = $313; - $316 = (($315) - ($314))|0; - $317 = ($311|0)==($316|0); - if ($317) { - $alloc$2 = $alloc$0;$matches$2 = $matches$0104;$s$8 = $s$1;$wcs$9 = $wcs$1; - break L6; - } - $318 = ($dest$0|0)==(0|0); - if ($318) { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - } else { - switch ($$size$0|0) { - case 0: { - $319 = $310; - HEAPF32[$dest$0>>2] = $319; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L67; - break; - } - case 1: { - HEAPF64[$dest$0>>3] = $310; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L67; - break; - } - case 2: { - HEAPF64[$dest$0>>3] = $310; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L67; - break; - } - default: { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L67; - } - } - } - break; - } - default: { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - } - } - } while(0); - L168: do { - if ((label|0) == 134) { - label = 0; - $291 = (___intscan($f,$base$0,0,-1,-1)|0); - $292 = tempRet0; - $293 = HEAP32[$9>>2]|0; - $294 = HEAP32[$7>>2]|0; - $295 = HEAP32[$10>>2]|0; - $296 = $294; - $297 = $295; - $298 = (($297) - ($296))|0; - $299 = ($293|0)==($298|0); - if ($299) { - $alloc$2 = $alloc$0;$matches$2 = $matches$0104;$s$8 = $s$1;$wcs$9 = $wcs$1; - break L6; - } - $300 = ($$|0)==(112); - $301 = ($dest$0|0)!=(0|0); - $or$cond3 = $301 & $300; - if ($or$cond3) { - $302 = $291; - HEAP32[$dest$0>>2] = $302; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break; - } - $303 = ($dest$0|0)==(0|0); - if ($303) { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - } else { - switch ($$size$0|0) { - case -2: { - $304 = $291&255; - HEAP8[$dest$0>>0] = $304; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - case -1: { - $305 = $291&65535; - HEAP16[$dest$0>>1] = $305; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - case 0: { - HEAP32[$dest$0>>2] = $291; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - case 1: { - HEAP32[$dest$0>>2] = $291; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - case 3: { - $306 = $dest$0; - $307 = $306; - HEAP32[$307>>2] = $291; - $308 = (($306) + 4)|0; - $309 = $308; - HEAP32[$309>>2] = $292; - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - break; - } - default: { - $p$10 = $p$5;$s$4 = $s$1;$wcs$5 = $wcs$1; - break L168; - } - } - } - } - } while(0); - $320 = HEAP32[$9>>2]|0; - $321 = HEAP32[$7>>2]|0; - $322 = HEAP32[$10>>2]|0; - $323 = $321; - $324 = $322; - $325 = (($320) + ($pos$1))|0; - $326 = (($325) + ($323))|0; - $327 = (($326) - ($324))|0; - $not$ = ($dest$0|0)!=(0|0); - $328 = $not$&1; - $matches$0$ = (($328) + ($matches$0104))|0; - $matches$1 = $matches$0$;$p$11 = $p$10;$pos$2 = $327;$s$5 = $s$4;$wcs$6 = $wcs$5; - break L8; - } - } while(0); - $50 = $47&1; - $51 = (($p$0109) + ($50)|0); - ___shlim($f,0); - $52 = HEAP32[$7>>2]|0; - $53 = HEAP32[$8>>2]|0; - $54 = ($52>>>0)<($53>>>0); - if ($54) { - $55 = ((($52)) + 1|0); - HEAP32[$7>>2] = $55; - $56 = HEAP8[$52>>0]|0; - $57 = $56&255; - $61 = $57; - } else { - $58 = (___shgetc($f)|0); - $61 = $58; - } - $59 = HEAP8[$51>>0]|0; - $60 = $59&255; - $62 = ($61|0)==($60|0); - if (!($62)) { - $$lcssa384 = $61;$matches$0104$lcssa = $matches$0104;$s$0107$lcssa = $s$0107;$wcs$0103$lcssa = $wcs$0103; - label = 21; - break L6; - } - $69 = (($pos$0108) + 1)|0; - $matches$1 = $matches$0104;$p$11 = $51;$pos$2 = $69;$s$5 = $s$0107;$wcs$6 = $wcs$0103; - } else { - $p$1 = $p$0109; - while(1) { - $20 = ((($p$1)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = (_isspace($22)|0); - $24 = ($23|0)==(0); - if ($24) { - $p$1$lcssa = $p$1; - break; - } else { - $p$1 = $20; - } - } - ___shlim($f,0); - while(1) { - $25 = HEAP32[$7>>2]|0; - $26 = HEAP32[$8>>2]|0; - $27 = ($25>>>0)<($26>>>0); - if ($27) { - $28 = ((($25)) + 1|0); - HEAP32[$7>>2] = $28; - $29 = HEAP8[$25>>0]|0; - $30 = $29&255; - $32 = $30; - } else { - $31 = (___shgetc($f)|0); - $32 = $31; - } - $33 = (_isspace($32)|0); - $34 = ($33|0)==(0); - if ($34) { - break; - } - } - $35 = HEAP32[$8>>2]|0; - $36 = ($35|0)==(0|0); - $$pre = HEAP32[$7>>2]|0; - if ($36) { - $40 = $$pre; - } else { - $37 = ((($$pre)) + -1|0); - HEAP32[$7>>2] = $37; - $40 = $37; - } - $38 = HEAP32[$9>>2]|0; - $39 = HEAP32[$10>>2]|0; - $41 = $40; - $42 = $39; - $43 = (($38) + ($pos$0108))|0; - $44 = (($43) + ($41))|0; - $45 = (($44) - ($42))|0; - $matches$1 = $matches$0104;$p$11 = $p$1$lcssa;$pos$2 = $45;$s$5 = $s$0107;$wcs$6 = $wcs$0103; - } - } while(0); - $329 = ((($p$11)) + 1|0); - $330 = HEAP8[$329>>0]|0; - $331 = ($330<<24>>24)==(0); - if ($331) { - $matches$3 = $matches$1; - break L4; - } else { - $17 = $330;$matches$0104 = $matches$1;$p$0109 = $329;$pos$0108 = $pos$2;$s$0107 = $s$5;$wcs$0103 = $wcs$6; - } - } - if ((label|0) == 21) { - $63 = HEAP32[$8>>2]|0; - $64 = ($63|0)==(0|0); - if (!($64)) { - $65 = HEAP32[$7>>2]|0; - $66 = ((($65)) + -1|0); - HEAP32[$7>>2] = $66; - } - $67 = ($$lcssa384|0)>(-1); - $68 = ($matches$0104$lcssa|0)!=(0); - $or$cond5 = $68 | $67; - if ($or$cond5) { - $matches$3 = $matches$0104$lcssa; - break; - } else { - $alloc$1 = 0;$s$7 = $s$0107$lcssa;$wcs$8 = $wcs$0103$lcssa; - label = 153; - } - } - else if ((label|0) == 152) { - $$old4 = ($matches$0104376|0)==(0); - if ($$old4) { - $alloc$1 = $alloc$0400;$s$7 = $s$6;$wcs$8 = $wcs$7; - label = 153; - } else { - $alloc$2 = $alloc$0400;$matches$2 = $matches$0104376;$s$8 = $s$6;$wcs$9 = $wcs$7; - } - } - if ((label|0) == 153) { - $alloc$2 = $alloc$1;$matches$2 = -1;$s$8 = $s$7;$wcs$9 = $wcs$8; - } - $332 = ($alloc$2|0)==(0); - if ($332) { - $matches$3 = $matches$2; - } else { - _free($s$8); - _free($wcs$9); - $matches$3 = $matches$2; - } - } - } while(0); - $334 = ($333|0)==(0); - if (!($334)) { - ___unlockfile($f); - } - STACKTOP = sp;return ($matches$3|0); -} -function _vsnprintf($s,$n,$fmt,$ap) { - $s = $s|0; - $n = $n|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $$$02 = 0, $$0 = 0, $$01 = 0, $$02 = 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, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $b = 0, $f = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; - $b = sp + 112|0; - $f = sp; - dest=$f; src=11344; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $0 = (($n) + -1)|0; - $1 = ($0>>>0)>(2147483646); - if ($1) { - $2 = ($n|0)==(0); - if ($2) { - $$01 = $b;$$02 = 1; - label = 4; - } else { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 75; - $$0 = -1; + $4 = (___lockfile($0)|0); + $phitmp = ($4|0)==(0); + (___fseeko_unlocked($0,0,0)|0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & -33; + HEAP32[$0>>2] = $6; + if (!($phitmp)) { + ___unlockfile($0); } } else { - $$01 = $s;$$02 = $n; - label = 4; + (___fseeko_unlocked($0,0,0)|0); + $7 = HEAP32[$0>>2]|0; + $8 = $7 & -33; + HEAP32[$0>>2] = $8; } - if ((label|0) == 4) { - $4 = $$01; - $5 = (-2 - ($4))|0; - $6 = ($$02>>>0)>($5>>>0); - $$$02 = $6 ? $5 : $$02; - $7 = ((($f)) + 48|0); - HEAP32[$7>>2] = $$$02; - $8 = ((($f)) + 20|0); - HEAP32[$8>>2] = $$01; - $9 = ((($f)) + 44|0); - HEAP32[$9>>2] = $$01; - $10 = (($$01) + ($$$02)|0); - $11 = ((($f)) + 16|0); - HEAP32[$11>>2] = $10; - $12 = ((($f)) + 28|0); - HEAP32[$12>>2] = $10; - $13 = (_vfprintf($f,$fmt,$ap)|0); - $14 = ($$$02|0)==(0); - if ($14) { - $$0 = $13; - } else { - $15 = HEAP32[$8>>2]|0; - $16 = HEAP32[$11>>2]|0; - $17 = ($15|0)==($16|0); - $18 = $17 << 31 >> 31; - $19 = (($15) + ($18)|0); - HEAP8[$19>>0] = 0; - $$0 = $13; - } - } - STACKTOP = sp;return ($$0|0); -} -function _vsprintf($s,$fmt,$ap) { - $s = $s|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_vsnprintf($s,2147483647,$fmt,$ap)|0); - return ($0|0); -} -function _vsscanf($s,$fmt,$ap) { - $s = $s|0; - $fmt = $fmt|0; - $ap = $ap|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $f = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $f = sp; - dest=$f; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $0 = ((($f)) + 32|0); - HEAP32[$0>>2] = 7; - $1 = ((($f)) + 44|0); - HEAP32[$1>>2] = $s; - $2 = ((($f)) + 76|0); - HEAP32[$2>>2] = -1; - $3 = ((($f)) + 84|0); - HEAP32[$3>>2] = $s; - $4 = (_vfscanf($f,$fmt,$ap)|0); - STACKTOP = sp;return ($4|0); -} -function ___fdopen($fd,$mode) { - $fd = $fd|0; - $mode = $mode|0; - var $$0 = 0, $$pre = 0, $$pre1 = 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $tio = 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, dest = 0, label = 0; - var sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; - $vararg_buffer12 = sp + 40|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $tio = sp + 52|0; - $0 = HEAP8[$mode>>0]|0; - $1 = $0 << 24 >> 24; - $memchr = (_memchr(31718,$1,4)|0); - $2 = ($memchr|0)==(0|0); - if ($2) { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 22; - $$0 = 0; - } else { - $4 = (_malloc(1144)|0); - $5 = ($4|0)==(0|0); - if ($5) { - $$0 = 0; - } else { - dest=$4; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6 = (_strchr($mode,43)|0); - $7 = ($6|0)==(0|0); - if ($7) { - $8 = ($0<<24>>24)==(114); - $9 = $8 ? 8 : 4; - HEAP32[$4>>2] = $9; - } - $10 = (_strchr($mode,101)|0); - $11 = ($10|0)==(0|0); - if ($11) { - $12 = $0; - } else { - HEAP32[$vararg_buffer>>2] = $fd; - $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); - $$pre = HEAP8[$mode>>0]|0; - $12 = $$pre; - } - $13 = ($12<<24>>24)==(97); - if ($13) { - HEAP32[$vararg_buffer3>>2] = $fd; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 3; - $14 = (___syscall221(221,($vararg_buffer3|0))|0); - $15 = $14 & 1024; - $16 = ($15|0)==(0); - if ($16) { - $17 = $14 | 1024; - HEAP32[$vararg_buffer7>>2] = $fd; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = 4; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $17; - (___syscall221(221,($vararg_buffer7|0))|0); - } - $18 = HEAP32[$4>>2]|0; - $19 = $18 | 128; - HEAP32[$4>>2] = $19; - $26 = $19; - } else { - $$pre1 = HEAP32[$4>>2]|0; - $26 = $$pre1; - } - $20 = ((($4)) + 60|0); - HEAP32[$20>>2] = $fd; - $21 = ((($4)) + 120|0); - $22 = ((($4)) + 44|0); - HEAP32[$22>>2] = $21; - $23 = ((($4)) + 48|0); - HEAP32[$23>>2] = 1024; - $24 = ((($4)) + 75|0); - HEAP8[$24>>0] = -1; - $25 = $26 & 8; - $27 = ($25|0)==(0); - if ($27) { - HEAP32[$vararg_buffer12>>2] = $fd; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = 21505; - $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); - HEAP32[$vararg_ptr16>>2] = $tio; - $28 = (___syscall54(54,($vararg_buffer12|0))|0); - $29 = ($28|0)==(0); - if ($29) { - HEAP8[$24>>0] = 10; - } - } - $30 = ((($4)) + 32|0); - HEAP32[$30>>2] = 8; - $31 = ((($4)) + 36|0); - HEAP32[$31>>2] = 9; - $32 = ((($4)) + 40|0); - HEAP32[$32>>2] = 4; - $33 = ((($4)) + 12|0); - HEAP32[$33>>2] = 2; - $34 = HEAP32[(11052)>>2]|0; - $35 = ($34|0)==(0); - if ($35) { - $36 = ((($4)) + 76|0); - HEAP32[$36>>2] = -1; - } - ___lock(((11076)|0)); - $37 = HEAP32[(11072)>>2]|0; - $38 = ((($4)) + 56|0); - HEAP32[$38>>2] = $37; - $39 = ($37|0)==(0); - if (!($39)) { - $40 = $37; - $41 = ((($40)) + 52|0); - HEAP32[$41>>2] = $4; - } - HEAP32[(11072)>>2] = $4; - ___unlock(((11076)|0)); - $$0 = $4; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___fmodeflags($mode) { - $mode = $mode|0; - var $$ = 0, $$flags$4 = 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, $flags$0 = 0, $flags$0$ = 0, $flags$2 = 0; - var $flags$2$ = 0, $flags$4 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strchr($mode,43)|0); - $1 = ($0|0)==(0|0); - $2 = HEAP8[$mode>>0]|0; - $not$ = ($2<<24>>24)!=(114); - $$ = $not$&1; - $flags$0 = $1 ? $$ : 2; - $3 = (_strchr($mode,120)|0); - $4 = ($3|0)==(0|0); - $5 = $flags$0 | 128; - $flags$0$ = $4 ? $flags$0 : $5; - $6 = (_strchr($mode,101)|0); - $7 = ($6|0)==(0|0); - $8 = $flags$0$ | 524288; - $flags$2 = $7 ? $flags$0$ : $8; - $9 = ($2<<24>>24)==(114); - $10 = $flags$2 | 64; - $flags$2$ = $9 ? $flags$2 : $10; - $11 = ($2<<24>>24)==(119); - $12 = $flags$2$ | 512; - $flags$4 = $11 ? $12 : $flags$2$; - $13 = ($2<<24>>24)==(97); - $14 = $flags$4 | 1024; - $$flags$4 = $13 ? $14 : $flags$4; - return ($$flags$4|0); -} -function ___lockfile($f) { - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 0; -} -function ___unlockfile($f) { - $f = $f|0; - var label = 0, sp = 0; - sp = STACKTOP; return; } -function ___overflow($f,$_c) { - $f = $f|0; - $_c = $_c|0; - 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, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0; +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $c = sp; - $0 = $_c&255; - HEAP8[$c>>0] = $0; - $1 = ((($f)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - $4 = (___towrite($f)|0); - $5 = ($4|0)==(0); - if ($5) { - $$pre = HEAP32[$1>>2]|0; - $9 = $$pre; - label = 4; - } else { - $$0 = -1; - } - } else { - $9 = $2; - label = 4; - } - do { - if ((label|0) == 4) { - $6 = ((($f)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7>>>0)<($9>>>0); - if ($8) { - $10 = $_c & 255; - $11 = ((($f)) + 75|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12 << 24 >> 24; - $14 = ($10|0)==($13|0); - if (!($14)) { - $15 = ((($7)) + 1|0); - HEAP32[$6>>2] = $15; - HEAP8[$7>>0] = $0; - $$0 = $10; - break; - } - } - $16 = ((($f)) + 36|0); - $17 = HEAP32[$16>>2]|0; - $18 = (FUNCTION_TABLE_iiii[$17 & 15]($f,$c,1)|0); - $19 = ($18|0)==(1); - if ($19) { - $20 = HEAP8[$c>>0]|0; - $21 = $20&255; - $$0 = $21; - } else { - $$0 = -1; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); + $2 = HEAP32[1344]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); } -function ___stdio_close($f) { - $f = $f|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0; +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = ((($f)) + 60|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $1; - $2 = (___syscall6(6,($vararg_buffer|0))|0); - $3 = (___syscall_ret($2)|0); - STACKTOP = sp;return ($3|0); -} -function ___stdio_read($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - 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, $cnt$0 = 0, $iov = 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; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $iov = sp + 32|0; - HEAP32[$iov>>2] = $buf; - $0 = ((($iov)) + 4|0); - $1 = ((($f)) + 48|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)!=(0); - $4 = $3&1; - $5 = (($len) - ($4))|0; - HEAP32[$0>>2] = $5; - $6 = ((($iov)) + 8|0); - $7 = ((($f)) + 44|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$6>>2] = $8; - $9 = ((($iov)) + 12|0); - HEAP32[$9>>2] = $2; - $10 = HEAP32[11048>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { - $16 = ((($f)) + 60|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[$vararg_buffer3>>2] = $17; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $iov; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = 2; - $18 = (___syscall145(145,($vararg_buffer3|0))|0); - $19 = (___syscall_ret($18)|0); - $cnt$0 = $19; - } else { - _pthread_cleanup_push((27|0),($f|0)); - $12 = ((($f)) + 60|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer>>2] = $13; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $iov; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $14 = (___syscall145(145,($vararg_buffer|0))|0); - $15 = (___syscall_ret($14)|0); - _pthread_cleanup_pop(0); - $cnt$0 = $15; - } - $20 = ($cnt$0|0)<(1); - if ($20) { - $21 = $cnt$0 & 48; - $22 = $21 ^ 16; - $23 = HEAP32[$f>>2]|0; - $24 = $23 | $22; - HEAP32[$f>>2] = $24; - $25 = ((($f)) + 8|0); - HEAP32[$25>>2] = 0; - $26 = ((($f)) + 4|0); - HEAP32[$26>>2] = 0; - $$0 = $cnt$0; - } else { - $27 = HEAP32[$0>>2]|0; - $28 = ($cnt$0>>>0)>($27>>>0); - if ($28) { - $29 = (($cnt$0) - ($27))|0; - $30 = HEAP32[$7>>2]|0; - $31 = ((($f)) + 4|0); - HEAP32[$31>>2] = $30; - $32 = $30; - $33 = (($32) + ($29)|0); - $34 = ((($f)) + 8|0); - HEAP32[$34>>2] = $33; - $35 = HEAP32[$1>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $$0 = $len; - } else { - $37 = ((($32)) + 1|0); - HEAP32[$31>>2] = $37; - $38 = HEAP8[$32>>0]|0; - $39 = (($len) + -1)|0; - $40 = (($buf) + ($39)|0); - HEAP8[$40>>0] = $38; - $$0 = $len; - } - } else { - $$0 = $cnt$0; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___stdio_seek($f,$off,$whence) { - $f = $f|0; - $off = $off|0; - $whence = $whence|0; - var $$pre = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ret = 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; - $vararg_buffer = sp; - $ret = sp + 20|0; - $0 = ((($f)) + 60|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $1; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $off; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $ret; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $whence; - $2 = (___syscall140(140,($vararg_buffer|0))|0); - $3 = (___syscall_ret($2)|0); - $4 = ($3|0)<(0); - if ($4) { - HEAP32[$ret>>2] = -1; - $5 = -1; - } else { - $$pre = HEAP32[$ret>>2]|0; - $5 = $$pre; - } - STACKTOP = sp;return ($5|0); -} -function ___stdio_write($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $$0 = 0, $$phi$trans$insert = 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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt$0 = 0, $cnt$1 = 0, $iov$0 = 0, $iov$0$lcssa11 = 0, $iov$1 = 0, $iovcnt$0 = 0; - var $iovcnt$0$lcssa12 = 0, $iovcnt$1 = 0, $iovs = 0, $rem$0 = 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; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $iovs = sp + 32|0; - $0 = ((($f)) + 28|0); - $1 = HEAP32[$0>>2]|0; - HEAP32[$iovs>>2] = $1; - $2 = ((($iovs)) + 4|0); - $3 = ((($f)) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4; - $6 = (($5) - ($1))|0; - HEAP32[$2>>2] = $6; - $7 = ((($iovs)) + 8|0); - HEAP32[$7>>2] = $buf; - $8 = ((($iovs)) + 12|0); - HEAP32[$8>>2] = $len; - $9 = (($6) + ($len))|0; - $10 = ((($f)) + 60|0); - $11 = ((($f)) + 44|0); - $iov$0 = $iovs;$iovcnt$0 = 2;$rem$0 = $9; - while(1) { - $12 = HEAP32[11048>>2]|0; - $13 = ($12|0)==(0|0); - if ($13) { - $17 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer3>>2] = $17; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $iov$0; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $iovcnt$0; - $18 = (___syscall146(146,($vararg_buffer3|0))|0); - $19 = (___syscall_ret($18)|0); - $cnt$0 = $19; - } else { - _pthread_cleanup_push((28|0),($f|0)); - $14 = HEAP32[$10>>2]|0; - HEAP32[$vararg_buffer>>2] = $14; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $iov$0; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $iovcnt$0; - $15 = (___syscall146(146,($vararg_buffer|0))|0); - $16 = (___syscall_ret($15)|0); - _pthread_cleanup_pop(0); - $cnt$0 = $16; - } - $20 = ($rem$0|0)==($cnt$0|0); - if ($20) { - label = 6; - break; - } - $27 = ($cnt$0|0)<(0); - if ($27) { - $iov$0$lcssa11 = $iov$0;$iovcnt$0$lcssa12 = $iovcnt$0; - label = 8; - break; - } - $35 = (($rem$0) - ($cnt$0))|0; - $36 = ((($iov$0)) + 4|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($cnt$0>>>0)>($37>>>0); - if ($38) { - $39 = HEAP32[$11>>2]|0; - HEAP32[$0>>2] = $39; - HEAP32[$3>>2] = $39; - $40 = (($cnt$0) - ($37))|0; - $41 = ((($iov$0)) + 8|0); - $42 = (($iovcnt$0) + -1)|0; - $$phi$trans$insert = ((($iov$0)) + 12|0); - $$pre = HEAP32[$$phi$trans$insert>>2]|0; - $50 = $$pre;$cnt$1 = $40;$iov$1 = $41;$iovcnt$1 = $42; - } else { - $43 = ($iovcnt$0|0)==(2); - if ($43) { - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + ($cnt$0)|0); - HEAP32[$0>>2] = $45; - $50 = $37;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = 2; - } else { - $50 = $37;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = $iovcnt$0; - } - } - $46 = HEAP32[$iov$1>>2]|0; - $47 = (($46) + ($cnt$1)|0); - HEAP32[$iov$1>>2] = $47; - $48 = ((($iov$1)) + 4|0); - $49 = (($50) - ($cnt$1))|0; - HEAP32[$48>>2] = $49; - $iov$0 = $iov$1;$iovcnt$0 = $iovcnt$1;$rem$0 = $35; - } - if ((label|0) == 6) { - $21 = HEAP32[$11>>2]|0; - $22 = ((($f)) + 48|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + ($23)|0); - $25 = ((($f)) + 16|0); - HEAP32[$25>>2] = $24; - $26 = $21; - HEAP32[$0>>2] = $26; - HEAP32[$3>>2] = $26; - $$0 = $len; - } - else if ((label|0) == 8) { - $28 = ((($f)) + 16|0); - HEAP32[$28>>2] = 0; - HEAP32[$0>>2] = 0; - HEAP32[$3>>2] = 0; - $29 = HEAP32[$f>>2]|0; - $30 = $29 | 32; - HEAP32[$f>>2] = $30; - $31 = ($iovcnt$0$lcssa12|0)==(2); - if ($31) { - $$0 = 0; - } else { - $32 = ((($iov$0$lcssa11)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($len) - ($33))|0; - $$0 = $34; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___stdout_write($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tio = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer = sp; - $tio = sp + 12|0; - $0 = ((($f)) + 36|0); - HEAP32[$0>>2] = 9; - $1 = HEAP32[$f>>2]|0; - $2 = $1 & 64; - $3 = ($2|0)==(0); - if ($3) { - $4 = ((($f)) + 60|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 21505; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $tio; - $6 = (___syscall54(54,($vararg_buffer|0))|0); - $7 = ($6|0)==(0); - if (!($7)) { - $8 = ((($f)) + 75|0); - HEAP8[$8>>0] = -1; - } - } - $9 = (___stdio_write($f,$buf,$len)|0); - STACKTOP = sp;return ($9|0); -} -function ___string_read($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - 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, $k$0 = 0, $k$0$len = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 84|0); - $1 = HEAP32[$0>>2]|0; - $2 = (($len) + 256)|0; - $3 = (_memchr($1,0,$2)|0); - $4 = ($3|0)==(0|0); - $5 = $3; - $6 = $1; - $7 = (($5) - ($6))|0; - $k$0 = $4 ? $2 : $7; - $8 = ($k$0>>>0)<($len>>>0); - $k$0$len = $8 ? $k$0 : $len; - _memcpy(($buf|0),($1|0),($k$0$len|0))|0; - $9 = (($1) + ($k$0$len)|0); - $10 = ((($f)) + 4|0); - HEAP32[$10>>2] = $9; - $11 = (($1) + ($k$0)|0); - $12 = ((($f)) + 8|0); - HEAP32[$12>>2] = $11; - HEAP32[$0>>2] = $11; - return ($k$0$len|0); -} -function ___toread($f) { - $f = $f|0; - 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, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 74|0); - $1 = HEAP8[$0>>0]|0; - $2 = $1 << 24 >> 24; - $3 = (($2) + 255)|0; - $4 = $3 | $2; - $5 = $4&255; - HEAP8[$0>>0] = $5; - $6 = ((($f)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($f)) + 44|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($7>>>0)>($9>>>0); - if ($10) { - $11 = ((($f)) + 36|0); - $12 = HEAP32[$11>>2]|0; - (FUNCTION_TABLE_iiii[$12 & 15]($f,0,0)|0); - } - $13 = ((($f)) + 16|0); - HEAP32[$13>>2] = 0; - $14 = ((($f)) + 28|0); - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = 0; - $15 = HEAP32[$f>>2]|0; - $16 = $15 & 20; - $17 = ($16|0)==(0); - if ($17) { - $21 = HEAP32[$8>>2]|0; - $22 = ((($f)) + 8|0); - HEAP32[$22>>2] = $21; - $23 = ((($f)) + 4|0); - HEAP32[$23>>2] = $21; - $$0 = 0; - } else { - $18 = $15 & 4; - $19 = ($18|0)==(0); - if ($19) { - $$0 = -1; - } else { - $20 = $15 | 32; - HEAP32[$f>>2] = $20; - $$0 = -1; - } - } - return ($$0|0); -} -function ___towrite($f) { - $f = $f|0; - 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 74|0); - $1 = HEAP8[$0>>0]|0; - $2 = $1 << 24 >> 24; - $3 = (($2) + 255)|0; - $4 = $3 | $2; - $5 = $4&255; - HEAP8[$0>>0] = $5; - $6 = HEAP32[$f>>2]|0; - $7 = $6 & 8; - $8 = ($7|0)==(0); - if ($8) { - $10 = ((($f)) + 8|0); - HEAP32[$10>>2] = 0; - $11 = ((($f)) + 4|0); - HEAP32[$11>>2] = 0; - $12 = ((($f)) + 44|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($f)) + 28|0); - HEAP32[$14>>2] = $13; - $15 = ((($f)) + 20|0); - HEAP32[$15>>2] = $13; - $16 = $13; - $17 = ((($f)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($16) + ($18)|0); - $20 = ((($f)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $9 = $6 | 32; - HEAP32[$f>>2] = $9; - $$0 = -1; - } - return ($$0|0); -} -function ___uflow($f) { - $f = $f|0; - 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, $c = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $c = sp; - $0 = ((($f)) + 8|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - $3 = (___toread($f)|0); - $4 = ($3|0)==(0); + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { if ($4) { label = 3; } else { - $$0 = -1; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $5 = ((($f)) + 32|0); - $6 = HEAP32[$5>>2]|0; - $7 = (FUNCTION_TABLE_iiii[$6 & 15]($f,$c,1)|0); - $8 = ($7|0)==(1); - if ($8) { - $9 = HEAP8[$c>>0]|0; - $10 = $9&255; - $$0 = $10; - } else { - $$0 = -1; - } - } - STACKTOP = sp;return ($$0|0); -} -function _qsort($base,$nel,$width,$cmp) { - $base = $base|0; - $nel = $nel|0; - $width = $width|0; - $cmp = $cmp|0; - var $$0$i = 0, $$0$i30 = 0, $$02$i$i = 0, $$02$i3$i = 0, $$lcssa = 0, $$lcssa57 = 0, $$phi$trans$insert$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i11 = 0, $$pre$i20 = 0, $$pre$i5 = 0, $$pre$i8 = 0, $$pre1$i = 0, $$pre1$i12 = 0, $$pre1$i27$pre = 0, $$pre1$i6 = 0, $$pre1$i9 = 0, $$sum = 0, $$sum2 = 0; - var $0 = 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, $114 = 0, $115 = 0; - var $116 = 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, $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, $8$phi = 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, $head$0$lcssa = 0, $head$036 = 0; - var $head$1$be = 0, $head$153 = 0, $i$0 = 0, $lp = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $nTrailingZeros$03$i2$i$lcssa = 0, $or$cond = 0, $or$cond48 = 0, $or$cond4852 = 0, $or$cond51 = 0, $p = 0, $pshift$0$lcssa = 0, $pshift$037 = 0, $pshift$1 = 0, $pshift$2$be = 0, $pshift$254 = 0, $sum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 208|0; - $lp = sp + 8|0; - $p = sp; - $0 = Math_imul($width, $nel)|0; - $1 = $p; - $2 = $1; - HEAP32[$2>>2] = 1; - $3 = (($1) + 4)|0; - $4 = $3; - HEAP32[$4>>2] = 0; - $5 = ($0|0)==(0); - if (!($5)) { - $$sum = (($0) - ($width))|0; - $6 = ((($lp)) + 4|0); - HEAP32[$6>>2] = $width; - HEAP32[$lp>>2] = $width; - $10 = $width;$8 = $width;$i$0 = 2; - while(1) { - $7 = (($8) + ($width))|0; - $9 = (($7) + ($10))|0; - $11 = (($lp) + ($i$0<<2)|0); - HEAP32[$11>>2] = $9; - $12 = ($9>>>0)<($0>>>0); - $13 = (($i$0) + 1)|0; - if ($12) { - $8$phi = $10;$10 = $9;$i$0 = $13;$8 = $8$phi; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; } else { - break; - } - } - $14 = (0 - ($width))|0; - $15 = (($base) + ($$sum)|0); - $16 = ($$sum|0)>(0); - $$phi$trans$insert$i = ((($p)) + 4|0); - if ($16) { - $17 = $15; - $19 = 1;$head$036 = $base;$pshift$037 = 1; - while(1) { - $18 = $19 & 3; - $20 = ($18|0)==(3); - do { - if ($20) { - _sift($head$036,$width,$cmp,$pshift$037,$lp); - $$pre$i = HEAP32[$p>>2]|0; - $$pre1$i = HEAP32[$$phi$trans$insert$i>>2]|0; - $21 = $$pre$i >>> 2; - $22 = $$pre1$i << 30; - $23 = $22 | $21; - HEAP32[$p>>2] = $23; - $24 = $$pre1$i >>> 2; - HEAP32[$$phi$trans$insert$i>>2] = $24; - $25 = (($pshift$037) + 2)|0; - $48 = $23;$pshift$1 = $25; - } else { - $26 = (($pshift$037) + -1)|0; - $27 = (($lp) + ($26<<2)|0); - $28 = HEAP32[$27>>2]|0; - $29 = $head$036; - $30 = (($17) - ($29))|0; - $31 = ($28>>>0)<($30>>>0); - if ($31) { - _sift($head$036,$width,$cmp,$pshift$037,$lp); - } else { - _trinkle($head$036,$width,$cmp,$p,$pshift$037,0,$lp); - } - $32 = ($pshift$037|0)==(1); - if ($32) { - $$pre$i5 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i6 = HEAP32[$p>>2]|0; - $33 = $$pre$i5 << 1; - $34 = $$pre1$i6 >>> 31; - $35 = $34 | $33; - HEAP32[$$phi$trans$insert$i>>2] = $35; - $36 = $$pre1$i6 << 1; - HEAP32[$p>>2] = $36; - $48 = $36;$pshift$1 = 0; - break; - } - $37 = ($26>>>0)>(31); - if ($37) { - $38 = (($pshift$037) + -33)|0; - $39 = HEAP32[$p>>2]|0; - HEAP32[$$phi$trans$insert$i>>2] = $39; - HEAP32[$p>>2] = 0; - $$0$i = $38;$41 = $39;$44 = 0; - } else { - $$pre$i11 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i12 = HEAP32[$p>>2]|0; - $$0$i = $26;$41 = $$pre$i11;$44 = $$pre1$i12; - } - $40 = $41 << $$0$i; - $42 = (32 - ($$0$i))|0; - $43 = $44 >>> $42; - $45 = $43 | $40; - HEAP32[$$phi$trans$insert$i>>2] = $45; - $46 = $44 << $$0$i; - HEAP32[$p>>2] = $46; - $48 = $46;$pshift$1 = 1; - } - } while(0); - $47 = $48 | 1; - HEAP32[$p>>2] = $47; - $49 = (($head$036) + ($width)|0); - $50 = ($49>>>0)<($15>>>0); - if ($50) { - $19 = $47;$head$036 = $49;$pshift$037 = $pshift$1; - } else { - $head$0$lcssa = $49;$pshift$0$lcssa = $pshift$1; - break; - } - } - } else { - $head$0$lcssa = $base;$pshift$0$lcssa = 1; - } - _trinkle($head$0$lcssa,$width,$cmp,$p,$pshift$0$lcssa,0,$lp); - $51 = ((($p)) + 4|0); - $52 = ($pshift$0$lcssa|0)==(1); - $53 = HEAP32[$p>>2]|0; - $54 = ($53|0)==(1); - $or$cond51 = $52 & $54; - $55 = HEAP32[$51>>2]|0; - $56 = ($55|0)==(0); - $or$cond4852 = $or$cond51 & $56; - if (!($or$cond4852)) { - $59 = $53;$head$153 = $head$0$lcssa;$pshift$254 = $pshift$0$lcssa; - while(1) { - $57 = ($pshift$254|0)<(2); - if ($57) { - $58 = (($59) + -1)|0; - $60 = ($58|0)==(0); - do { - if ($60) { - $81 = 32; - label = 30; - } else { - $61 = $58 & 1; - $62 = ($61|0)==(0); - if ($62) { - $$02$i$i = $58;$nTrailingZeros$03$i$i = 0; - while(1) { - $63 = (($nTrailingZeros$03$i$i) + 1)|0; - $64 = $$02$i$i >>> 1; - $65 = $64 & 1; - $66 = ($65|0)==(0); - if ($66) { - $$02$i$i = $64;$nTrailingZeros$03$i$i = $63; - } else { - $$lcssa = $63; - break; - } - } - $67 = ($$lcssa|0)==(0); - if ($67) { - label = 24; - } else { - $78 = $$lcssa; - } - } else { - label = 24; - } - if ((label|0) == 24) { - label = 0; - $68 = HEAP32[$$phi$trans$insert$i>>2]|0; - $69 = ($68|0)==(0); - if ($69) { - $81 = 64; - label = 30; - break; - } - $70 = $68 & 1; - $71 = ($70|0)==(0); - if ($71) { - $$02$i3$i = $68;$nTrailingZeros$03$i2$i = 0; - } else { - $$0$i30 = 0;$84 = $59;$87 = $68;$91 = 0; - break; - } - while(1) { - $72 = (($nTrailingZeros$03$i2$i) + 1)|0; - $73 = $$02$i3$i >>> 1; - $74 = $73 & 1; - $75 = ($74|0)==(0); - if ($75) { - $$02$i3$i = $73;$nTrailingZeros$03$i2$i = $72; - } else { - $$lcssa57 = $72;$nTrailingZeros$03$i2$i$lcssa = $nTrailingZeros$03$i2$i; - break; - } - } - $76 = (($nTrailingZeros$03$i2$i$lcssa) + 33)|0; - $77 = ($$lcssa57|0)==(0); - if ($77) { - $$0$i30 = 0;$84 = $59;$87 = $68;$91 = 0; - break; - } else { - $78 = $76; - } - } - $79 = ($78>>>0)>(31); - if ($79) { - $81 = $78; - label = 30; - } else { - $$pre1$i27$pre = HEAP32[$$phi$trans$insert$i>>2]|0; - $$0$i30 = $78;$84 = $59;$87 = $$pre1$i27$pre;$91 = $78; - } - } - } while(0); - if ((label|0) == 30) { - label = 0; - $80 = (($81) + -32)|0; - $82 = HEAP32[$$phi$trans$insert$i>>2]|0; - HEAP32[$p>>2] = $82; - HEAP32[$$phi$trans$insert$i>>2] = 0; - $$0$i30 = $80;$84 = $82;$87 = 0;$91 = $81; - } - $83 = $84 >>> $$0$i30; - $85 = (32 - ($$0$i30))|0; - $86 = $87 << $85; - $88 = $86 | $83; - HEAP32[$p>>2] = $88; - $89 = $87 >>> $$0$i30; - HEAP32[$$phi$trans$insert$i>>2] = $89; - $90 = (($91) + ($pshift$254))|0; - $$pre = (($head$153) + ($14)|0); - $head$1$be = $$pre;$pshift$2$be = $90; - } else { - $$pre$i20 = HEAP32[$$phi$trans$insert$i>>2]|0; - $92 = $$pre$i20 << 2; - $93 = $59 >>> 30; - $94 = $93 | $92; - $95 = (($pshift$254) + -2)|0; - $96 = $59 << 1; - $97 = $96 & 2147483646; - $98 = $93 << 31; - $99 = $97 | $98; - $100 = $99 ^ 3; - HEAP32[$p>>2] = $100; - $101 = $94 >>> 1; - HEAP32[$$phi$trans$insert$i>>2] = $101; - $102 = (($lp) + ($95<<2)|0); - $103 = HEAP32[$102>>2]|0; - $sum = (($103) + ($width))|0; - $$sum2 = (0 - ($sum))|0; - $104 = (($head$153) + ($$sum2)|0); - $105 = (($pshift$254) + -1)|0; - _trinkle($104,$width,$cmp,$p,$105,1,$lp); - $$pre$i8 = HEAP32[$$phi$trans$insert$i>>2]|0; - $$pre1$i9 = HEAP32[$p>>2]|0; - $106 = $$pre$i8 << 1; - $107 = $$pre1$i9 >>> 31; - $108 = $107 | $106; - HEAP32[$$phi$trans$insert$i>>2] = $108; - $109 = $$pre1$i9 << 1; - $110 = $109 | 1; - HEAP32[$p>>2] = $110; - $111 = (($head$153) + ($14)|0); - _trinkle($111,$width,$cmp,$p,$95,1,$lp); - $head$1$be = $111;$pshift$2$be = $95; - } - $112 = ($pshift$2$be|0)==(1); - $113 = HEAP32[$p>>2]|0; - $114 = ($113|0)==(1); - $or$cond = $112 & $114; - $115 = HEAP32[$51>>2]|0; - $116 = ($115|0)==(0); - $or$cond48 = $or$cond & $116; - if ($or$cond48) { - break; - } else { - $59 = $113;$head$153 = $head$1$be;$pshift$254 = $pshift$2$be; - } - } - } - } - STACKTOP = sp;return; -} -function _memchr($src,$c,$n) { - $src = $src|0; - $c = $c|0; - $n = $n|0; - var $$0$lcssa = 0, $$0$lcssa44 = 0, $$019 = 0, $$1$lcssa = 0, $$110 = 0, $$110$lcssa = 0, $$24 = 0, $$3 = 0, $$lcssa = 0, $0 = 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, $or$cond = 0, $or$cond18 = 0, $s$0$lcssa = 0, $s$0$lcssa43 = 0, $s$020 = 0, $s$15 = 0, $s$2 = 0, $w$0$lcssa = 0, $w$011 = 0, $w$011$lcssa = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c & 255; - $1 = $src; - $2 = $1 & 3; - $3 = ($2|0)!=(0); - $4 = ($n|0)!=(0); - $or$cond18 = $4 & $3; - L1: do { - if ($or$cond18) { - $5 = $c&255; - $$019 = $n;$s$020 = $src; - while(1) { - $6 = HEAP8[$s$020>>0]|0; - $7 = ($6<<24>>24)==($5<<24>>24); - if ($7) { - $$0$lcssa44 = $$019;$s$0$lcssa43 = $s$020; - label = 6; - break L1; - } - $8 = ((($s$020)) + 1|0); - $9 = (($$019) + -1)|0; - $10 = $8; - $11 = $10 & 3; - $12 = ($11|0)!=(0); - $13 = ($9|0)!=(0); - $or$cond = $13 & $12; - if ($or$cond) { - $$019 = $9;$s$020 = $8; - } else { - $$0$lcssa = $9;$$lcssa = $13;$s$0$lcssa = $8; - label = 5; - break; - } - } - } else { - $$0$lcssa = $n;$$lcssa = $4;$s$0$lcssa = $src; - label = 5; - } - } while(0); - if ((label|0) == 5) { - if ($$lcssa) { - $$0$lcssa44 = $$0$lcssa;$s$0$lcssa43 = $s$0$lcssa; - label = 6; - } else { - $$3 = 0;$s$2 = $s$0$lcssa; - } - } - L8: do { - if ((label|0) == 6) { - $14 = HEAP8[$s$0$lcssa43>>0]|0; - $15 = $c&255; - $16 = ($14<<24>>24)==($15<<24>>24); - if ($16) { - $$3 = $$0$lcssa44;$s$2 = $s$0$lcssa43; - } else { - $17 = Math_imul($0, 16843009)|0; - $18 = ($$0$lcssa44>>>0)>(3); - L11: do { - if ($18) { - $$110 = $$0$lcssa44;$w$011 = $s$0$lcssa43; - while(1) { - $19 = HEAP32[$w$011>>2]|0; - $20 = $19 ^ $17; - $21 = (($20) + -16843009)|0; - $22 = $20 & -2139062144; - $23 = $22 ^ -2139062144; - $24 = $23 & $21; - $25 = ($24|0)==(0); - if (!($25)) { - $$110$lcssa = $$110;$w$011$lcssa = $w$011; - break; - } - $26 = ((($w$011)) + 4|0); - $27 = (($$110) + -4)|0; - $28 = ($27>>>0)>(3); - if ($28) { - $$110 = $27;$w$011 = $26; - } else { - $$1$lcssa = $27;$w$0$lcssa = $26; - label = 11; - break L11; - } - } - $$24 = $$110$lcssa;$s$15 = $w$011$lcssa; - } else { - $$1$lcssa = $$0$lcssa44;$w$0$lcssa = $s$0$lcssa43; - label = 11; - } - } while(0); - if ((label|0) == 11) { - $29 = ($$1$lcssa|0)==(0); - if ($29) { - $$3 = 0;$s$2 = $w$0$lcssa; - break; - } else { - $$24 = $$1$lcssa;$s$15 = $w$0$lcssa; - } - } + ;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;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; while(1) { - $30 = HEAP8[$s$15>>0]|0; - $31 = ($30<<24>>24)==($15<<24>>24); - if ($31) { - $$3 = $$24;$s$2 = $s$15; - break L8; - } - $32 = ((($s$15)) + 1|0); - $33 = (($$24) + -1)|0; - $34 = ($33|0)==(0); - if ($34) { - $$3 = 0;$s$2 = $32; + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { break; } else { - $$24 = $33;$s$15 = $32; + $$01824 = $20;$13 = $21; } } - } - } - } while(0); - $35 = ($$3|0)!=(0); - $36 = $35 ? $s$2 : 0; - return ($36|0); -} -function _memcmp($vl,$vr,$n) { - $vl = $vl|0; - $vr = $vr|0; - $n = $n|0; - var $$03 = 0, $$lcssa = 0, $$lcssa19 = 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, $l$04 = 0, $r$05 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)==(0); - L1: do { - if ($0) { - $11 = 0; - } else { - $$03 = $n;$l$04 = $vl;$r$05 = $vr; - while(1) { - $1 = HEAP8[$l$04>>0]|0; - $2 = HEAP8[$r$05>>0]|0; - $3 = ($1<<24>>24)==($2<<24>>24); - if (!($3)) { - $$lcssa = $1;$$lcssa19 = $2; - break; - } - $4 = (($$03) + -1)|0; - $5 = ((($l$04)) + 1|0); - $6 = ((($r$05)) + 1|0); - $7 = ($4|0)==(0); - if ($7) { - $11 = 0; - break L1; - } else { - $$03 = $4;$l$04 = $5;$r$05 = $6; - } - } - $8 = $$lcssa&255; - $9 = $$lcssa19&255; - $10 = (($8) - ($9))|0; - $11 = $10; - } - } while(0); - return ($11|0); -} -function ___memrchr($m,$c,$n) { - $m = $m|0; - $c = $c|0; - $n = $n|0; - var $$0 = 0, $$01 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c&255; - $$01 = $n; - while(1) { - $1 = (($$01) + -1)|0; - $2 = ($$01|0)==(0); - if ($2) { - $$0 = 0; - break; - } - $3 = (($m) + ($1)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==($0<<24>>24); - if ($5) { - $$0 = $3; - break; - } else { - $$01 = $1; - } - } - return ($$0|0); -} -function ___stpcpy($d,$s) { - $d = $d|0; - $s = $s|0; - var $$0$lcssa = 0, $$01$lcssa = 0, $$0115 = 0, $$016 = 0, $$03 = 0, $$1$ph = 0, $$12$ph = 0, $$128 = 0, $$19 = 0, $0 = 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, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $wd$0$lcssa = 0, $wd$010 = 0, $ws$0$lcssa = 0, $ws$011 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $s; - $1 = $d; - $2 = $0 ^ $1; - $3 = $2 & 3; - $4 = ($3|0)==(0); - L1: do { - if ($4) { - $5 = $0 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$0$lcssa = $s;$$01$lcssa = $d; - } else { - $$0115 = $d;$$016 = $s; - while(1) { - $7 = HEAP8[$$016>>0]|0; - HEAP8[$$0115>>0] = $7; - $8 = ($7<<24>>24)==(0); - if ($8) { - $$03 = $$0115; - break L1; - } - $9 = ((($$016)) + 1|0); - $10 = ((($$0115)) + 1|0); - $11 = $9; - $12 = $11 & 3; - $13 = ($12|0)==(0); - if ($13) { - $$0$lcssa = $9;$$01$lcssa = $10; - break; - } else { - $$0115 = $10;$$016 = $9; - } - } - } - $14 = HEAP32[$$0$lcssa>>2]|0; - $15 = (($14) + -16843009)|0; - $16 = $14 & -2139062144; - $17 = $16 ^ -2139062144; - $18 = $17 & $15; - $19 = ($18|0)==(0); - if ($19) { - $22 = $14;$wd$010 = $$01$lcssa;$ws$011 = $$0$lcssa; - while(1) { - $20 = ((($ws$011)) + 4|0); - $21 = ((($wd$010)) + 4|0); - HEAP32[$wd$010>>2] = $22; - $23 = HEAP32[$20>>2]|0; - $24 = (($23) + -16843009)|0; - $25 = $23 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if ($28) { - $22 = $23;$wd$010 = $21;$ws$011 = $20; - } else { - $wd$0$lcssa = $21;$ws$0$lcssa = $20; - break; - } - } - } else { - $wd$0$lcssa = $$01$lcssa;$ws$0$lcssa = $$0$lcssa; - } - $$1$ph = $ws$0$lcssa;$$12$ph = $wd$0$lcssa; - label = 8; - } else { - $$1$ph = $s;$$12$ph = $d; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $29 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$12$ph>>0] = $29; - $30 = ($29<<24>>24)==(0); - if ($30) { - $$03 = $$12$ph; - } else { - $$128 = $$12$ph;$$19 = $$1$ph; - while(1) { - $31 = ((($$19)) + 1|0); - $32 = ((($$128)) + 1|0); - $33 = HEAP8[$31>>0]|0; - HEAP8[$32>>0] = $33; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$03 = $32; - break; - } else { - $$128 = $32;$$19 = $31; - } - } - } - } - return ($$03|0); -} -function _strcat($dest,$src) { - $dest = $dest|0; - $src = $src|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen($dest)|0); - $1 = (($dest) + ($0)|0); - (_strcpy($1,$src)|0); - return ($dest|0); -} -function _strchr($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___strchrnul($s,$c)|0); - $1 = HEAP8[$0>>0]|0; - $2 = $c&255; - $3 = ($1<<24>>24)==($2<<24>>24); - $4 = $3 ? $0 : 0; - return ($4|0); -} -function ___strchrnul($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$02$lcssa = 0, $$0211 = 0, $$1 = 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; - 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond5 = 0, $w$0$lcssa = 0, $w$08 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = $c & 255; - $1 = ($0|0)==(0); - L1: do { - if ($1) { - $6 = (_strlen($s)|0); - $7 = (($s) + ($6)|0); - $$0 = $7; - } else { - $2 = $s; - $3 = $2 & 3; - $4 = ($3|0)==(0); - if ($4) { - $$02$lcssa = $s; - } else { - $5 = $c&255; - $$0211 = $s; - while(1) { - $8 = HEAP8[$$0211>>0]|0; - $9 = ($8<<24>>24)==(0); - $10 = ($8<<24>>24)==($5<<24>>24); - $or$cond = $9 | $10; - if ($or$cond) { - $$0 = $$0211; - break L1; - } - $11 = ((($$0211)) + 1|0); - $12 = $11; - $13 = $12 & 3; - $14 = ($13|0)==(0); - if ($14) { - $$02$lcssa = $11; - break; - } else { - $$0211 = $11; - } - } - } - $15 = Math_imul($0, 16843009)|0; - $16 = HEAP32[$$02$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - L10: do { - if ($21) { - $23 = $16;$w$08 = $$02$lcssa; - while(1) { - $22 = $23 ^ $15; - $24 = (($22) + -16843009)|0; - $25 = $22 & -2139062144; - $26 = $25 ^ -2139062144; - $27 = $26 & $24; - $28 = ($27|0)==(0); - if (!($28)) { - $w$0$lcssa = $w$08; - break L10; - } - $29 = ((($w$08)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (($30) + -16843009)|0; - $32 = $30 & -2139062144; - $33 = $32 ^ -2139062144; - $34 = $33 & $31; - $35 = ($34|0)==(0); - if ($35) { - $23 = $30;$w$08 = $29; - } else { - $w$0$lcssa = $29; - break; - } - } - } else { - $w$0$lcssa = $$02$lcssa; - } - } while(0); - $36 = $c&255; - $$1 = $w$0$lcssa; - while(1) { - $37 = HEAP8[$$1>>0]|0; - $38 = ($37<<24>>24)==(0); - $39 = ($37<<24>>24)==($36<<24>>24); - $or$cond5 = $38 | $39; - $40 = ((($$1)) + 1|0); - if ($or$cond5) { - $$0 = $$1; - break; - } else { - $$1 = $40; - } - } - } - } while(0); - return ($$0|0); -} -function _strcmp($l,$r) { - $l = $l|0; - $r = $r|0; - var $$014 = 0, $$05 = 0, $$lcssa = 0, $$lcssa2 = 0, $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, $or$cond = 0, $or$cond3 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $0 = HEAP8[$l>>0]|0; - $1 = HEAP8[$r>>0]|0; - $2 = ($0<<24>>24)!=($1<<24>>24); - $3 = ($0<<24>>24)==(0); - $or$cond3 = $3 | $2; - if ($or$cond3) { - $$lcssa = $0;$$lcssa2 = $1; - } else { - $$014 = $l;$$05 = $r; - while(1) { - $4 = ((($$014)) + 1|0); - $5 = ((($$05)) + 1|0); - $6 = HEAP8[$4>>0]|0; - $7 = HEAP8[$5>>0]|0; - $8 = ($6<<24>>24)!=($7<<24>>24); - $9 = ($6<<24>>24)==(0); - $or$cond = $9 | $8; - if ($or$cond) { - $$lcssa = $6;$$lcssa2 = $7; - break; - } else { - $$014 = $4;$$05 = $5; - } - } - } - $10 = $$lcssa&255; - $11 = $$lcssa2&255; - $12 = (($10) - ($11))|0; - return ($12|0); -} -function _strcpy($dest,$src) { - $dest = $dest|0; - $src = $src|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($dest,$src)|0); - return ($dest|0); -} -function _strcspn($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$027 = 0, $$03$lcssa = 0, $$035 = 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; - 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $byteset = 0, $div = 0, $div4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $byteset = sp; - $0 = HEAP8[$c>>0]|0; - $1 = ($0<<24>>24)==(0); - if ($1) { - label = 3; - } else { - $2 = ((($c)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - label = 3; - } else { - ;HEAP32[$byteset>>2]=0|0;HEAP32[$byteset+4>>2]=0|0;HEAP32[$byteset+8>>2]=0|0;HEAP32[$byteset+12>>2]=0|0;HEAP32[$byteset+16>>2]=0|0;HEAP32[$byteset+20>>2]=0|0;HEAP32[$byteset+24>>2]=0|0;HEAP32[$byteset+28>>2]=0|0; - $$027 = $c;$13 = $0; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div4 = ($13&255) >>> 5; - $16 = $div4&255; - $17 = (($byteset) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$027)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$027 = $20;$13 = $21; - } - } - $10 = HEAP8[$s>>0]|0; - $11 = ($10<<24>>24)==(0); - L7: do { + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); if ($11) { - $$03$lcssa = $s; + $$019$sink = $0; } else { - $$035 = $s;$23 = $10; + $$01922 = $0;$23 = $10; while(1) { $div = ($23&255) >>> 5; $24 = $div&255; - $25 = (($byteset) + ($24<<2)|0); + $25 = (($2) + ($24<<2)|0); $26 = HEAP32[$25>>2]|0; $27 = $23 & 31; $28 = $27&255; @@ -58455,1109 +65826,141 @@ function _strcspn($s,$c) { $30 = $26 & $29; $31 = ($30|0)==(0); if (!($31)) { - $$03$lcssa = $$035; - break L7; + $$019$sink = $$01922; + break L1; } - $32 = ((($$035)) + 1|0); + $32 = ((($$01922)) + 1|0); $33 = HEAP8[$32>>0]|0; $34 = ($33<<24>>24)==(0); if ($34) { - $$03$lcssa = $32; + $$019$sink = $32; break; } else { - $$035 = $32;$23 = $33; + $$01922 = $32;$23 = $33; } } } - } while(0); - $35 = $$03$lcssa; - $36 = $s; - $37 = (($35) - ($36))|0; - $$0 = $37; + } } - } + } while(0); if ((label|0) == 3) { - $5 = $0 << 24 >> 24; - $6 = (___strchrnul($s,$5)|0); - $7 = $6; - $8 = $s; - $9 = (($7) - ($8))|0; - $$0 = $9; + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; } - STACKTOP = sp;return ($$0|0); + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); } -function _strlen($s) { - $s = $s|0; - var $$0 = 0, $$01$lcssa = 0, $$014 = 0, $$1$lcssa = 0, $$lcssa20 = 0, $$pn = 0, $$pn15 = 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, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $w$0 = 0, $w$0$lcssa = 0, label = 0, sp = 0; +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = $s; - $1 = $0 & 3; - $2 = ($1|0)==(0); + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strncat($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$01013 = 0, $$01112 = 0, $$014 = 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 = (_strlen($0)|0); + $4 = (($0) + ($3)|0); + $5 = ($2|0)==(0); L1: do { - if ($2) { - $$01$lcssa = $s; - label = 4; + if ($5) { + $$0$lcssa = $4; } else { - $$014 = $s;$21 = $0; + $$01013 = $2;$$01112 = $1;$$014 = $4; while(1) { - $3 = HEAP8[$$014>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $$pn = $21; - break L1; - } - $5 = ((($$014)) + 1|0); - $6 = $5; - $7 = $6 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$01$lcssa = $5; - label = 4; - break; - } else { - $$014 = $5;$21 = $6; - } - } - } - } while(0); - if ((label|0) == 4) { - $w$0 = $$01$lcssa; - while(1) { - $9 = HEAP32[$w$0>>2]|0; - $10 = (($9) + -16843009)|0; - $11 = $9 & -2139062144; - $12 = $11 ^ -2139062144; - $13 = $12 & $10; - $14 = ($13|0)==(0); - $15 = ((($w$0)) + 4|0); - if ($14) { - $w$0 = $15; - } else { - $$lcssa20 = $9;$w$0$lcssa = $w$0; - break; - } - } - $16 = $$lcssa20&255; - $17 = ($16<<24>>24)==(0); - if ($17) { - $$1$lcssa = $w$0$lcssa; - } else { - $$pn15 = $w$0$lcssa; - while(1) { - $18 = ((($$pn15)) + 1|0); - $$pre = HEAP8[$18>>0]|0; - $19 = ($$pre<<24>>24)==(0); - if ($19) { - $$1$lcssa = $18; - break; - } else { - $$pn15 = $18; - } - } - } - $20 = $$1$lcssa; - $$pn = $20; - } - $$0 = (($$pn) - ($0))|0; - return ($$0|0); -} -function _strncmp($_l,$_r,$n) { - $_l = $_l|0; - $_r = $_r|0; - $n = $n|0; - var $$03 = 0, $$08 = 0, $$08$in = 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; - var $l$06 = 0, $or$cond = 0, $or$cond4 = 0, $r$0$lcssa = 0, $r$07 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($n|0)==(0); - if ($0) { - $$03 = 0; - } else { - $1 = HEAP8[$_l>>0]|0; - $2 = ($1<<24>>24)==(0); - L3: do { - if ($2) { - $13 = 0;$r$0$lcssa = $_r; - } else { - $$08$in = $n;$6 = $1;$l$06 = $_l;$r$07 = $_r; - while(1) { - $$08 = (($$08$in) + -1)|0; - $3 = HEAP8[$r$07>>0]|0; - $4 = ($3<<24>>24)!=(0); - $5 = ($$08|0)!=(0); - $or$cond = $5 & $4; - $7 = ($6<<24>>24)==($3<<24>>24); - $or$cond4 = $7 & $or$cond; - if (!($or$cond4)) { - $13 = $6;$r$0$lcssa = $r$07; - break L3; - } - $8 = ((($l$06)) + 1|0); - $9 = ((($r$07)) + 1|0); - $10 = HEAP8[$8>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $13 = 0;$r$0$lcssa = $9; - break; - } else { - $$08$in = $$08;$6 = $10;$l$06 = $8;$r$07 = $9; - } - } - } - } while(0); - $12 = $13&255; - $14 = HEAP8[$r$0$lcssa>>0]|0; - $15 = $14&255; - $16 = (($12) - ($15))|0; - $$03 = $16; - } - return ($$03|0); -} -function _strrchr($s,$c) { - $s = $s|0; - $c = $c|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_strlen($s)|0); - $1 = (($0) + 1)|0; - $2 = (___memrchr($s,$c,$1)|0); - return ($2|0); -} -function _strspn($s,$c) { - $s = $s|0; - $c = $c|0; - var $$0 = 0, $$028 = 0, $$03 = 0, $$03$lcssa = 0, $$1$lcssa = 0, $$16 = 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, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $byteset = 0, $div = 0, $div4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $byteset = sp; - ;HEAP32[$byteset>>2]=0|0;HEAP32[$byteset+4>>2]=0|0;HEAP32[$byteset+8>>2]=0|0;HEAP32[$byteset+12>>2]=0|0;HEAP32[$byteset+16>>2]=0|0;HEAP32[$byteset+20>>2]=0|0;HEAP32[$byteset+24>>2]=0|0;HEAP32[$byteset+28>>2]=0|0; - $0 = HEAP8[$c>>0]|0; - $1 = ($0<<24>>24)==(0); - do { - if ($1) { - $$0 = 0; - } else { - $2 = ((($c)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)==(0); - if ($4) { - $$03 = $s; - while(1) { - $5 = HEAP8[$$03>>0]|0; - $6 = ($5<<24>>24)==($0<<24>>24); - $7 = ((($$03)) + 1|0); - if ($6) { - $$03 = $7; - } else { - $$03$lcssa = $$03; - break; - } - } - $8 = $$03$lcssa; - $9 = $s; - $10 = (($8) - ($9))|0; - $$0 = $10; - break; - } else { - $$028 = $c;$14 = $0; - } - while(1) { - $13 = $14 & 31; - $15 = $13&255; - $16 = 1 << $15; - $div4 = ($14&255) >>> 5; - $17 = $div4&255; - $18 = (($byteset) + ($17<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19 | $16; - HEAP32[$18>>2] = $20; - $21 = ((($$028)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = ($22<<24>>24)==(0); - if ($23) { - break; - } else { - $$028 = $21;$14 = $22; - } - } - $11 = HEAP8[$s>>0]|0; - $12 = ($11<<24>>24)==(0); - L10: do { - if ($12) { - $$1$lcssa = $s; - } else { - $$16 = $s;$24 = $11; - while(1) { - $div = ($24&255) >>> 5; - $25 = $div&255; - $26 = (($byteset) + ($25<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = $24 & 31; - $29 = $28&255; - $30 = 1 << $29; - $31 = $27 & $30; - $32 = ($31|0)==(0); - if ($32) { - $$1$lcssa = $$16; - break L10; - } - $33 = ((($$16)) + 1|0); - $34 = HEAP8[$33>>0]|0; - $35 = ($34<<24>>24)==(0); - if ($35) { - $$1$lcssa = $33; - break; - } else { - $$16 = $33;$24 = $34; - } - } - } - } while(0); - $36 = $$1$lcssa; - $37 = $s; - $38 = (($36) - ($37))|0; - $$0 = $38; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _strstr($h,$n) { - $h = $h|0; - $n = $n|0; - var $$0 = 0, $$0$i = 0, $$0$lcssa$i = 0, $$0$lcssa$i11 = 0, $$01$i = 0, $$02$i = 0, $$02$i7 = 0, $$03$i = 0, $$lcssa$i = 0, $$lcssa$i10 = 0, $$lcssa$i4 = 0, $$lcssa281 = 0, $$lcssa284 = 0, $$lcssa287 = 0, $$lcssa301 = 0, $$lcssa304 = 0, $$lcssa307 = 0, $$lcssa322 = 0, $$pr$i = 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, $233$phi = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 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 $byteset$i = 0, $div$i = 0, $div4$i = 0, $hw$0$in2$i = 0, $hw$03$i = 0, $hw$03$i6 = 0, $ip$0$ph$lcssa$i = 0, $ip$0$ph$lcssa143$i = 0, $ip$0$ph76$i = 0, $ip$1$ip$0$$i = 0, $ip$1$ip$0$i = 0, $ip$1$ph$lcssa$i = 0, $ip$1$ph55$i = 0, $jp$0$ph13$ph70$i = 0, $jp$0$ph1365$i = 0, $jp$0$ph1365$i$lcssa = 0, $jp$0$ph1365$i$lcssa$lcssa = 0, $jp$0$ph77$i = 0, $jp$1$ph56$i = 0, $jp$1$ph9$ph49$i = 0; - var $jp$1$ph944$i = 0, $jp$1$ph944$i$lcssa = 0, $jp$1$ph944$i$lcssa$lcssa = 0, $k$059$i = 0, $k$139$i = 0, $k$2$i = 0, $k$338$i = 0, $k$338$i$lcssa = 0, $k$4$i = 0, $l$080$i = 0, $l$080$i$lcssa321 = 0, $mem$0$i = 0, $mem0$0$i = 0, $or$cond$i = 0, $or$cond$i2 = 0, $or$cond$i8 = 0, $or$cond5$i = 0, $p$0$ph$ph$lcssa32$i = 0, $p$0$ph$ph$lcssa32147$i = 0, $p$0$ph$ph71$i = 0; - var $p$1$p$0$i = 0, $p$1$ph$ph$lcssa23$i = 0, $p$1$ph$ph50$i = 0, $p$3$i = 0, $shift$i = 0, $z$0$i = 0, $z$1$i = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; - $byteset$i = sp + 1024|0; - $shift$i = sp; - $0 = HEAP8[$n>>0]|0; - $1 = ($0<<24>>24)==(0); - do { - if ($1) { - $$0 = $h; - } else { - $2 = $0 << 24 >> 24; - $3 = (_strchr($h,$2)|0); - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $5 = ((($n)) + 1|0); - $6 = HEAP8[$5>>0]|0; + $6 = HEAP8[$$01112>>0]|0; $7 = ($6<<24>>24)==(0); if ($7) { - $$0 = $3; + $$0$lcssa = $$014; + break L1; + } + $8 = (($$01013) + -1)|0; + $9 = ((($$01112)) + 1|0); + $10 = ((($$014)) + 1|0); + HEAP8[$$014>>0] = $6; + $11 = ($8|0)==(0); + if ($11) { + $$0$lcssa = $10; + break; } else { - $8 = ((($3)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$0 = 0; - } else { - $11 = ((($n)) + 2|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $14 = $0&255; - $15 = $14 << 8; - $16 = $6&255; - $17 = $16 | $15; - $18 = HEAP8[$3>>0]|0; - $19 = $18&255; - $20 = $19 << 8; - $21 = $9&255; - $22 = $20 | $21; - $$01$i = $8;$232 = $9;$233 = $3;$hw$0$in2$i = $22; - while(1) { - $23 = $hw$0$in2$i & 65535; - $24 = ($23|0)==($17|0); - if ($24) { - $$lcssa$i = $233;$31 = $232; - break; - } - $25 = $23 << 8; - $26 = ((($$01$i)) + 1|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = $28 | $25; - $30 = ($27<<24>>24)==(0); - if ($30) { - $$lcssa$i = $$01$i;$31 = 0; - break; - } else { - $233$phi = $$01$i;$$01$i = $26;$232 = $27;$hw$0$in2$i = $29;$233 = $233$phi; - } - } - $32 = ($31<<24>>24)!=(0); - $33 = $32 ? $$lcssa$i : 0; - $$0 = $33; - break; - } - $34 = ((($3)) + 2|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$0 = 0; - } else { - $37 = ((($n)) + 3|0); - $38 = HEAP8[$37>>0]|0; - $39 = ($38<<24>>24)==(0); - if ($39) { - $40 = $0&255; - $41 = $40 << 24; - $42 = $6&255; - $43 = $42 << 16; - $44 = $43 | $41; - $45 = $12&255; - $46 = $45 << 8; - $47 = $44 | $46; - $48 = HEAP8[$3>>0]|0; - $49 = $48&255; - $50 = $49 << 24; - $51 = $9&255; - $52 = $51 << 16; - $53 = $35&255; - $54 = $53 << 8; - $55 = $54 | $52; - $56 = $55 | $50; - $57 = ($56|0)==($47|0); - if ($57) { - $$0$lcssa$i = $34;$$lcssa$i4 = $35; - } else { - $$02$i = $34;$hw$03$i = $56; - while(1) { - $58 = ((($$02$i)) + 1|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = $60 | $hw$03$i; - $62 = $61 << 8; - $63 = ($59<<24>>24)==(0); - $64 = ($62|0)==($47|0); - $or$cond$i2 = $63 | $64; - if ($or$cond$i2) { - $$0$lcssa$i = $58;$$lcssa$i4 = $59; - break; - } else { - $$02$i = $58;$hw$03$i = $62; - } - } - } - $65 = ($$lcssa$i4<<24>>24)!=(0); - $66 = ((($$0$lcssa$i)) + -2|0); - $67 = $65 ? $66 : 0; - $$0 = $67; - break; - } - $68 = ((($3)) + 3|0); - $69 = HEAP8[$68>>0]|0; - $70 = ($69<<24>>24)==(0); - if ($70) { - $$0 = 0; - } else { - $71 = ((($n)) + 4|0); - $72 = HEAP8[$71>>0]|0; - $73 = ($72<<24>>24)==(0); - if ($73) { - $74 = $0&255; - $75 = $74 << 24; - $76 = $6&255; - $77 = $76 << 16; - $78 = $77 | $75; - $79 = $12&255; - $80 = $79 << 8; - $81 = $78 | $80; - $82 = $38&255; - $83 = $81 | $82; - $84 = HEAP8[$3>>0]|0; - $85 = $84&255; - $86 = $85 << 24; - $87 = $9&255; - $88 = $87 << 16; - $89 = $35&255; - $90 = $89 << 8; - $91 = $69&255; - $92 = $90 | $88; - $93 = $92 | $91; - $94 = $93 | $86; - $95 = ($94|0)==($83|0); - if ($95) { - $$0$lcssa$i11 = $68;$$lcssa$i10 = $69; - } else { - $$02$i7 = $68;$hw$03$i6 = $94; - while(1) { - $96 = $hw$03$i6 << 8; - $97 = ((($$02$i7)) + 1|0); - $98 = HEAP8[$97>>0]|0; - $99 = $98&255; - $100 = $99 | $96; - $101 = ($98<<24>>24)==(0); - $102 = ($100|0)==($83|0); - $or$cond$i8 = $101 | $102; - if ($or$cond$i8) { - $$0$lcssa$i11 = $97;$$lcssa$i10 = $98; - break; - } else { - $$02$i7 = $97;$hw$03$i6 = $100; - } - } - } - $103 = ($$lcssa$i10<<24>>24)!=(0); - $104 = ((($$0$lcssa$i11)) + -3|0); - $105 = $103 ? $104 : 0; - $$0 = $105; - break; - } - ;HEAP32[$byteset$i>>2]=0|0;HEAP32[$byteset$i+4>>2]=0|0;HEAP32[$byteset$i+8>>2]=0|0;HEAP32[$byteset$i+12>>2]=0|0;HEAP32[$byteset$i+16>>2]=0|0;HEAP32[$byteset$i+20>>2]=0|0;HEAP32[$byteset$i+24>>2]=0|0;HEAP32[$byteset$i+28>>2]=0|0; - $110 = $0;$l$080$i = 0; - while(1) { - $106 = (($3) + ($l$080$i)|0); - $107 = HEAP8[$106>>0]|0; - $108 = ($107<<24>>24)==(0); - if ($108) { - $$0$i = 0; - break; - } - $109 = $110 & 31; - $111 = $109&255; - $112 = 1 << $111; - $div4$i = ($110&255) >>> 5; - $113 = $div4$i&255; - $114 = (($byteset$i) + ($113<<2)|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 | $112; - HEAP32[$114>>2] = $116; - $117 = (($l$080$i) + 1)|0; - $118 = $110&255; - $119 = (($shift$i) + ($118<<2)|0); - HEAP32[$119>>2] = $117; - $120 = (($n) + ($117)|0); - $121 = HEAP8[$120>>0]|0; - $122 = ($121<<24>>24)==(0); - if ($122) { - $$lcssa322 = $117;$l$080$i$lcssa321 = $l$080$i; - label = 23; - break; - } else { - $110 = $121;$l$080$i = $117; - } - } - L32: do { - if ((label|0) == 23) { - $123 = ($$lcssa322>>>0)>(1); - L34: do { - if ($123) { - $234 = 1;$ip$0$ph76$i = -1;$jp$0$ph77$i = 0; - L35: while(1) { - $235 = $234;$jp$0$ph13$ph70$i = $jp$0$ph77$i;$p$0$ph$ph71$i = 1; - while(1) { - $236 = $235;$jp$0$ph1365$i = $jp$0$ph13$ph70$i; - L39: while(1) { - $133 = $236;$k$059$i = 1; - while(1) { - $129 = (($k$059$i) + ($ip$0$ph76$i))|0; - $130 = (($n) + ($129)|0); - $131 = HEAP8[$130>>0]|0; - $132 = (($n) + ($133)|0); - $134 = HEAP8[$132>>0]|0; - $135 = ($131<<24>>24)==($134<<24>>24); - if (!($135)) { - $$lcssa301 = $133;$$lcssa304 = $131;$$lcssa307 = $134;$jp$0$ph1365$i$lcssa = $jp$0$ph1365$i; - break L39; - } - $136 = ($k$059$i|0)==($p$0$ph$ph71$i|0); - $127 = (($k$059$i) + 1)|0; - if ($136) { - break; - } - $126 = (($127) + ($jp$0$ph1365$i))|0; - $128 = ($126>>>0)<($$lcssa322>>>0); - if ($128) { - $133 = $126;$k$059$i = $127; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $p$0$ph$ph71$i; - break L35; - } - } - $137 = (($jp$0$ph1365$i) + ($p$0$ph$ph71$i))|0; - $138 = (($137) + 1)|0; - $139 = ($138>>>0)<($$lcssa322>>>0); - if ($139) { - $236 = $138;$jp$0$ph1365$i = $137; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $p$0$ph$ph71$i; - break L35; - } - } - $140 = ($$lcssa304&255)>($$lcssa307&255); - $141 = (($$lcssa301) - ($ip$0$ph76$i))|0; - if (!($140)) { - $jp$0$ph1365$i$lcssa$lcssa = $jp$0$ph1365$i$lcssa; - break; - } - $124 = (($$lcssa301) + 1)|0; - $125 = ($124>>>0)<($$lcssa322>>>0); - if ($125) { - $235 = $124;$jp$0$ph13$ph70$i = $$lcssa301;$p$0$ph$ph71$i = $141; - } else { - $ip$0$ph$lcssa$i = $ip$0$ph76$i;$p$0$ph$ph$lcssa32$i = $141; - break L35; - } - } - $142 = (($jp$0$ph1365$i$lcssa$lcssa) + 1)|0; - $143 = (($jp$0$ph1365$i$lcssa$lcssa) + 2)|0; - $144 = ($143>>>0)<($$lcssa322>>>0); - if ($144) { - $234 = $143;$ip$0$ph76$i = $jp$0$ph1365$i$lcssa$lcssa;$jp$0$ph77$i = $142; - } else { - $ip$0$ph$lcssa$i = $jp$0$ph1365$i$lcssa$lcssa;$p$0$ph$ph$lcssa32$i = 1; - break; - } - } - $237 = 1;$ip$1$ph55$i = -1;$jp$1$ph56$i = 0; - while(1) { - $239 = $237;$jp$1$ph9$ph49$i = $jp$1$ph56$i;$p$1$ph$ph50$i = 1; - while(1) { - $238 = $239;$jp$1$ph944$i = $jp$1$ph9$ph49$i; - L54: while(1) { - $152 = $238;$k$139$i = 1; - while(1) { - $148 = (($k$139$i) + ($ip$1$ph55$i))|0; - $149 = (($n) + ($148)|0); - $150 = HEAP8[$149>>0]|0; - $151 = (($n) + ($152)|0); - $153 = HEAP8[$151>>0]|0; - $154 = ($150<<24>>24)==($153<<24>>24); - if (!($154)) { - $$lcssa281 = $152;$$lcssa284 = $150;$$lcssa287 = $153;$jp$1$ph944$i$lcssa = $jp$1$ph944$i; - break L54; - } - $155 = ($k$139$i|0)==($p$1$ph$ph50$i|0); - $146 = (($k$139$i) + 1)|0; - if ($155) { - break; - } - $145 = (($146) + ($jp$1$ph944$i))|0; - $147 = ($145>>>0)<($$lcssa322>>>0); - if ($147) { - $152 = $145;$k$139$i = $146; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $p$1$ph$ph50$i; - break L34; - } - } - $156 = (($jp$1$ph944$i) + ($p$1$ph$ph50$i))|0; - $157 = (($156) + 1)|0; - $158 = ($157>>>0)<($$lcssa322>>>0); - if ($158) { - $238 = $157;$jp$1$ph944$i = $156; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $p$1$ph$ph50$i; - break L34; - } - } - $159 = ($$lcssa284&255)<($$lcssa287&255); - $160 = (($$lcssa281) - ($ip$1$ph55$i))|0; - if (!($159)) { - $jp$1$ph944$i$lcssa$lcssa = $jp$1$ph944$i$lcssa; - break; - } - $164 = (($$lcssa281) + 1)|0; - $165 = ($164>>>0)<($$lcssa322>>>0); - if ($165) { - $239 = $164;$jp$1$ph9$ph49$i = $$lcssa281;$p$1$ph$ph50$i = $160; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $ip$1$ph55$i;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = $160; - break L34; - } - } - $161 = (($jp$1$ph944$i$lcssa$lcssa) + 1)|0; - $162 = (($jp$1$ph944$i$lcssa$lcssa) + 2)|0; - $163 = ($162>>>0)<($$lcssa322>>>0); - if ($163) { - $237 = $162;$ip$1$ph55$i = $jp$1$ph944$i$lcssa$lcssa;$jp$1$ph56$i = $161; - } else { - $ip$0$ph$lcssa143$i = $ip$0$ph$lcssa$i;$ip$1$ph$lcssa$i = $jp$1$ph944$i$lcssa$lcssa;$p$0$ph$ph$lcssa32147$i = $p$0$ph$ph$lcssa32$i;$p$1$ph$ph$lcssa23$i = 1; - break; - } - } - } else { - $ip$0$ph$lcssa143$i = -1;$ip$1$ph$lcssa$i = -1;$p$0$ph$ph$lcssa32147$i = 1;$p$1$ph$ph$lcssa23$i = 1; - } - } while(0); - $166 = (($ip$1$ph$lcssa$i) + 1)|0; - $167 = (($ip$0$ph$lcssa143$i) + 1)|0; - $168 = ($166>>>0)>($167>>>0); - $p$1$p$0$i = $168 ? $p$1$ph$ph$lcssa23$i : $p$0$ph$ph$lcssa32147$i; - $ip$1$ip$0$i = $168 ? $ip$1$ph$lcssa$i : $ip$0$ph$lcssa143$i; - $169 = (($n) + ($p$1$p$0$i)|0); - $170 = (($ip$1$ip$0$i) + 1)|0; - $171 = (_memcmp($n,$169,$170)|0); - $172 = ($171|0)==(0); - if ($172) { - $177 = (($$lcssa322) - ($p$1$p$0$i))|0; - $mem0$0$i = $177;$p$3$i = $p$1$p$0$i; - } else { - $173 = (($$lcssa322) - ($ip$1$ip$0$i))|0; - $174 = (($173) + -1)|0; - $175 = ($ip$1$ip$0$i>>>0)>($174>>>0); - $ip$1$ip$0$$i = $175 ? $ip$1$ip$0$i : $174; - $176 = (($ip$1$ip$0$$i) + 1)|0; - $mem0$0$i = 0;$p$3$i = $176; - } - $178 = $$lcssa322 | 63; - $179 = ($mem0$0$i|0)!=(0); - $180 = (($$lcssa322) - ($p$3$i))|0; - $$03$i = $3;$mem$0$i = 0;$z$0$i = $3; - L69: while(1) { - $181 = $z$0$i; - $182 = $$03$i; - $183 = (($181) - ($182))|0; - $184 = ($183>>>0)<($$lcssa322>>>0); - do { - if ($184) { - $185 = (_memchr($z$0$i,0,$178)|0); - $186 = ($185|0)==(0|0); - if ($186) { - $190 = (($z$0$i) + ($178)|0); - $z$1$i = $190; - break; - } else { - $187 = $185; - $188 = (($187) - ($182))|0; - $189 = ($188>>>0)<($$lcssa322>>>0); - if ($189) { - $$0$i = 0; - break L32; - } else { - $z$1$i = $185; - break; - } - } - } else { - $z$1$i = $z$0$i; - } - } while(0); - $191 = (($$03$i) + ($l$080$i$lcssa321)|0); - $192 = HEAP8[$191>>0]|0; - $div$i = ($192&255) >>> 5; - $193 = $div$i&255; - $194 = (($byteset$i) + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = $192 & 31; - $197 = $196&255; - $198 = 1 << $197; - $199 = $198 & $195; - $200 = ($199|0)==(0); - if ($200) { - $209 = (($$03$i) + ($$lcssa322)|0); - $$03$i = $209;$mem$0$i = 0;$z$0$i = $z$1$i; - continue; - } - $201 = $192&255; - $202 = (($shift$i) + ($201<<2)|0); - $203 = HEAP32[$202>>2]|0; - $204 = (($$lcssa322) - ($203))|0; - $205 = ($$lcssa322|0)==($203|0); - if (!($205)) { - $206 = ($mem$0$i|0)!=(0); - $or$cond$i = $179 & $206; - $207 = ($204>>>0)<($p$3$i>>>0); - $or$cond5$i = $or$cond$i & $207; - $k$2$i = $or$cond5$i ? $180 : $204; - $208 = (($$03$i) + ($k$2$i)|0); - $$03$i = $208;$mem$0$i = 0;$z$0$i = $z$1$i; - continue; - } - $210 = ($170>>>0)>($mem$0$i>>>0); - $211 = $210 ? $170 : $mem$0$i; - $212 = (($n) + ($211)|0); - $213 = HEAP8[$212>>0]|0; - $214 = ($213<<24>>24)==(0); - L83: do { - if ($214) { - $k$4$i = $170; - } else { - $$pr$i = $213;$k$338$i = $211; - while(1) { - $215 = (($$03$i) + ($k$338$i)|0); - $216 = HEAP8[$215>>0]|0; - $217 = ($$pr$i<<24>>24)==($216<<24>>24); - if (!($217)) { - $k$338$i$lcssa = $k$338$i; - break; - } - $218 = (($k$338$i) + 1)|0; - $219 = (($n) + ($218)|0); - $220 = HEAP8[$219>>0]|0; - $221 = ($220<<24>>24)==(0); - if ($221) { - $k$4$i = $170; - break L83; - } else { - $$pr$i = $220;$k$338$i = $218; - } - } - $222 = (($k$338$i$lcssa) - ($ip$1$ip$0$i))|0; - $223 = (($$03$i) + ($222)|0); - $$03$i = $223;$mem$0$i = 0;$z$0$i = $z$1$i; - continue L69; - } - } while(0); - while(1) { - $224 = ($k$4$i>>>0)>($mem$0$i>>>0); - if (!($224)) { - $$0$i = $$03$i; - break L32; - } - $225 = (($k$4$i) + -1)|0; - $226 = (($n) + ($225)|0); - $227 = HEAP8[$226>>0]|0; - $228 = (($$03$i) + ($225)|0); - $229 = HEAP8[$228>>0]|0; - $230 = ($227<<24>>24)==($229<<24>>24); - if ($230) { - $k$4$i = $225; - } else { - break; - } - } - $231 = (($$03$i) + ($p$3$i)|0); - $$03$i = $231;$mem$0$i = $mem0$0$i;$z$0$i = $z$1$i; - } - } - } while(0); - $$0 = $$0$i; - } - } - } + $$01013 = $8;$$01112 = $9;$$014 = $10; } } } } while(0); - STACKTOP = sp;return ($$0|0); + HEAP8[$$0$lcssa>>0] = 0; + return ($0|0); } -function _strtok($s,$sep) { - $s = $s|0; - $sep = $sep|0; - var $$0 = 0, $$01 = 0, $$sum = 0, $$sum2 = 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, label = 0, sp = 0; +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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; - $0 = ($s|0)==(0|0); - if ($0) { - $1 = HEAP32[11456>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { + $2 = ($0|0)==(0|0); + if ($2) { + $3 = HEAP32[7812]|0; + $4 = ($3|0)==(0|0); + if ($4) { $$0 = 0; } else { - $$01 = $1; + $$010 = $3; label = 3; } } else { - $$01 = $s; + $$010 = $0; label = 3; } do { if ((label|0) == 3) { - $3 = (_strspn($$01,$sep)|0); - $4 = (($$01) + ($3)|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)==(0); - if ($6) { - HEAP32[11456>>2] = 0; + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[7812] = 0; $$0 = 0; break; } - $7 = (_strcspn($4,$sep)|0); - $$sum = (($7) + ($3))|0; - $8 = (($$01) + ($$sum)|0); - HEAP32[11456>>2] = $8; - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - HEAP32[11456>>2] = 0; - $$0 = $4; + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[7812] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[7812] = 0; + $$0 = $6; break; } else { - $$sum2 = (($$sum) + 1)|0; - $11 = (($$01) + ($$sum2)|0); - HEAP32[11456>>2] = $11; - HEAP8[$8>>0] = 0; - $$0 = $4; + $13 = ((($10)) + 1|0); + HEAP32[7812] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; break; } } } while(0); return ($$0|0); } -function _scanexp($f,$pok) { - $f = $f|0; - $pok = $pok|0; - var $$lcssa22 = 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, $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, $c$0 = 0, $c$1$be = 0, $c$1$be$lcssa = 0, $c$112 = 0, $c$2$be = 0, $c$2$lcssa = 0, $c$27 = 0, $c$3$be = 0, $neg$0 = 0, $or$cond3 = 0, $x$013 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 100|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); - if ($4) { - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $7 = $6&255; - $9 = $7; - } else { - $8 = (___shgetc($f)|0); - $9 = $8; - } - $10 = ($9|0)==(45); - switch ($9|0) { - case 43: case 45: { - $11 = $10&1; - $12 = HEAP32[$0>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = ($12>>>0)<($13>>>0); - if ($14) { - $15 = ((($12)) + 1|0); - HEAP32[$0>>2] = $15; - $16 = HEAP8[$12>>0]|0; - $17 = $16&255; - $20 = $17; - } else { - $18 = (___shgetc($f)|0); - $20 = $18; - } - $19 = (($20) + -48)|0; - $21 = ($19>>>0)>(9); - $22 = ($pok|0)!=(0); - $or$cond3 = $22 & $21; - if ($or$cond3) { - $23 = HEAP32[$2>>2]|0; - $24 = ($23|0)==(0|0); - if ($24) { - $c$0 = $20;$neg$0 = $11; - } else { - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + -1|0); - HEAP32[$0>>2] = $26; - $c$0 = $20;$neg$0 = $11; - } - } else { - $c$0 = $20;$neg$0 = $11; - } - break; - } - default: { - $c$0 = $9;$neg$0 = 0; - } - } - $27 = (($c$0) + -48)|0; - $28 = ($27>>>0)>(9); - if ($28) { - $29 = HEAP32[$2>>2]|0; - $30 = ($29|0)==(0|0); - if ($30) { - $98 = -2147483648;$99 = 0; - } else { - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + -1|0); - HEAP32[$0>>2] = $32; - $98 = -2147483648;$99 = 0; - } - } else { - $c$112 = $c$0;$x$013 = 0; - while(1) { - $33 = ($x$013*10)|0; - $34 = (($c$112) + -48)|0; - $35 = (($34) + ($33))|0; - $36 = HEAP32[$0>>2]|0; - $37 = HEAP32[$2>>2]|0; - $38 = ($36>>>0)<($37>>>0); - if ($38) { - $39 = ((($36)) + 1|0); - HEAP32[$0>>2] = $39; - $40 = HEAP8[$36>>0]|0; - $41 = $40&255; - $c$1$be = $41; - } else { - $42 = (___shgetc($f)|0); - $c$1$be = $42; - } - $43 = (($c$1$be) + -48)|0; - $44 = ($43>>>0)<(10); - $45 = ($35|0)<(214748364); - $46 = $44 & $45; - if ($46) { - $c$112 = $c$1$be;$x$013 = $35; - } else { - $$lcssa22 = $35;$c$1$be$lcssa = $c$1$be; - break; - } - } - $47 = ($$lcssa22|0)<(0); - $48 = $47 << 31 >> 31; - $49 = (($c$1$be$lcssa) + -48)|0; - $50 = ($49>>>0)<(10); - if ($50) { - $53 = $$lcssa22;$54 = $48;$c$27 = $c$1$be$lcssa; - while(1) { - $55 = (___muldi3(($53|0),($54|0),10,0)|0); - $56 = tempRet0; - $57 = ($c$27|0)<(0); - $58 = $57 << 31 >> 31; - $59 = (_i64Add(($c$27|0),($58|0),-48,-1)|0); - $60 = tempRet0; - $61 = (_i64Add(($59|0),($60|0),($55|0),($56|0))|0); - $62 = tempRet0; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$2>>2]|0; - $65 = ($63>>>0)<($64>>>0); - if ($65) { - $66 = ((($63)) + 1|0); - HEAP32[$0>>2] = $66; - $67 = HEAP8[$63>>0]|0; - $68 = $67&255; - $c$2$be = $68; - } else { - $69 = (___shgetc($f)|0); - $c$2$be = $69; - } - $70 = (($c$2$be) + -48)|0; - $71 = ($70>>>0)<(10); - $72 = ($62|0)<(21474836); - $73 = ($61>>>0)<(2061584302); - $74 = ($62|0)==(21474836); - $75 = $74 & $73; - $76 = $72 | $75; - $77 = $71 & $76; - if ($77) { - $53 = $61;$54 = $62;$c$27 = $c$2$be; - } else { - $92 = $61;$93 = $62;$c$2$lcssa = $c$2$be; - break; - } - } - } else { - $92 = $$lcssa22;$93 = $48;$c$2$lcssa = $c$1$be$lcssa; - } - $51 = (($c$2$lcssa) + -48)|0; - $52 = ($51>>>0)<(10); - if ($52) { - while(1) { - $78 = HEAP32[$0>>2]|0; - $79 = HEAP32[$2>>2]|0; - $80 = ($78>>>0)<($79>>>0); - if ($80) { - $81 = ((($78)) + 1|0); - HEAP32[$0>>2] = $81; - $82 = HEAP8[$78>>0]|0; - $83 = $82&255; - $c$3$be = $83; - } else { - $84 = (___shgetc($f)|0); - $c$3$be = $84; - } - $85 = (($c$3$be) + -48)|0; - $86 = ($85>>>0)<(10); - if (!($86)) { - break; - } - } - } - $87 = HEAP32[$2>>2]|0; - $88 = ($87|0)==(0|0); - if (!($88)) { - $89 = HEAP32[$0>>2]|0; - $90 = ((($89)) + -1|0); - HEAP32[$0>>2] = $90; - } - $91 = ($neg$0|0)!=(0); - $94 = (_i64Subtract(0,0,($92|0),($93|0))|0); - $95 = tempRet0; - $96 = $91 ? $94 : $92; - $97 = $91 ? $95 : $93; - $98 = $97;$99 = $96; - } - tempRet0 = ($98); - return ($99|0); -} -function ___fflush_unlocked($f) { - $f = $f|0; - 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 20|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 28|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)>($3>>>0); - if ($4) { - $5 = ((($f)) + 36|0); - $6 = HEAP32[$5>>2]|0; - (FUNCTION_TABLE_iiii[$6 & 15]($f,0,0)|0); - $7 = HEAP32[$0>>2]|0; - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = -1; - } else { - label = 3; - } - } else { - label = 3; - } - if ((label|0) == 3) { - $9 = ((($f)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($f)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($10>>>0)<($12>>>0); - if ($13) { - $14 = ((($f)) + 40|0); - $15 = HEAP32[$14>>2]|0; - $16 = $10; - $17 = $12; - $18 = (($16) - ($17))|0; - (FUNCTION_TABLE_iiii[$15 & 15]($f,$18,1)|0); - } - $19 = ((($f)) + 16|0); - HEAP32[$19>>2] = 0; - HEAP32[$2>>2] = 0; - HEAP32[$0>>2] = 0; - HEAP32[$11>>2] = 0; - HEAP32[$9>>2] = 0; - $$0 = 0; - } - return ($$0|0); -} -function _printf_core($f,$fmt,$ap,$nl_arg,$nl_type) { - $f = $f|0; - $fmt = $fmt|0; - $ap = $ap|0; - $nl_arg = $nl_arg|0; - $nl_type = $nl_type|0; - var $$ = 0, $$$i = 0, $$0 = 0, $$0$i = 0, $$0$lcssa$i = 0, $$012$i = 0, $$013$i = 0, $$03$i33 = 0, $$07$i = 0.0, $$1$i = 0.0, $$114$i = 0, $$2$i = 0.0, $$20$i = 0.0, $$21$i = 0, $$210$$22$i = 0, $$210$$24$i = 0, $$210$i = 0, $$23$i = 0, $$3$i = 0.0, $$31$i = 0; - var $$311$i = 0, $$4$i = 0.0, $$412$lcssa$i = 0, $$41276$i = 0, $$5$lcssa$i = 0, $$51 = 0, $$587$i = 0, $$a$3$i = 0, $$a$3185$i = 0, $$a$3186$i = 0, $$fl$4 = 0, $$l10n$0 = 0, $$lcssa = 0, $$lcssa159$i = 0, $$lcssa318 = 0, $$lcssa323 = 0, $$lcssa324 = 0, $$lcssa325 = 0, $$lcssa326 = 0, $$lcssa327 = 0; - var $$lcssa329 = 0, $$lcssa339 = 0, $$lcssa342 = 0.0, $$lcssa344 = 0, $$neg52$i = 0, $$neg53$i = 0, $$p$$i = 0, $$p$0 = 0, $$p$5 = 0, $$p$i = 0, $$pn$i = 0, $$pr$i = 0, $$pr47$i = 0, $$pre = 0, $$pre$i = 0, $$pre$phi184$iZ2D = 0, $$pre179$i = 0, $$pre182$i = 0, $$pre183$i = 0, $$pre193 = 0; - var $$sum$i = 0, $$sum15$i = 0, $$sum16$i = 0, $$z$3$i = 0, $$z$4$i = 0, $0 = 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; +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 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; + var $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, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $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, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $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, $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; @@ -59571,21 +65974,21 @@ function _printf_core($f,$fmt,$ap,$nl_arg,$nl_type) { 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.0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0.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.0, $392 = 0.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.0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0.0, $412 = 0.0, $413 = 0.0, $414 = 0.0, $415 = 0.0, $416 = 0.0, $417 = 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.0, $443 = 0.0, $444 = 0.0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 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.0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0.0, $486 = 0.0, $487 = 0.0, $488 = 0, $489 = 0, $49 = 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.0, $597 = 0.0, $598 = 0; - var $599 = 0.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 $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; @@ -59596,2876 +65999,64 @@ function _printf_core($f,$fmt,$ap,$nl_arg,$nl_type) { 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 $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, $a$0 = 0, $a$1 = 0, $a$1$lcssa$i = 0, $a$1147$i = 0, $a$2 = 0, $a$2$ph$i = 0, $a$3$lcssa$i = 0, $a$3134$i = 0, $a$5$lcssa$i = 0, $a$5109$i = 0, $a$6$i = 0, $a$7$i = 0, $a$8$ph$i = 0, $arg = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0; - var $argpos$0 = 0, $big$i = 0, $buf = 0, $buf$i = 0, $carry$0140$i = 0, $carry3$0128$i = 0, $cnt$0 = 0, $cnt$1 = 0, $cnt$1$lcssa = 0, $d$0$i = 0, $d$0139$i = 0, $d$0141$i = 0, $d$1127$i = 0, $d$2$lcssa$i = 0, $d$2108$i = 0, $d$3$i = 0, $d$482$i = 0, $d$575$i = 0, $d$686$i = 0, $e$0123$i = 0; - var $e$1$i = 0, $e$2104$i = 0, $e$3$i = 0, $e$4$ph$i = 0, $e2$i = 0, $ebuf0$i = 0, $estr$0$i = 0, $estr$1$lcssa$i = 0, $estr$193$i = 0, $estr$2$i = 0, $exitcond$i = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0; - var $expanded8 = 0, $fl$0109 = 0, $fl$062 = 0, $fl$1 = 0, $fl$1$ = 0, $fl$3 = 0, $fl$4 = 0, $fl$6 = 0, $fmt39$lcssa = 0, $fmt39101 = 0, $fmt40 = 0, $fmt41 = 0, $fmt42 = 0, $fmt44 = 0, $fmt44$lcssa321 = 0, $fmt45 = 0, $i$0$lcssa = 0, $i$0$lcssa200 = 0, $i$0114 = 0, $i$0122$i = 0; - var $i$03$i = 0, $i$03$i25 = 0, $i$1$lcssa$i = 0, $i$1116$i = 0, $i$1125 = 0, $i$2100 = 0, $i$2100$lcssa = 0, $i$2103$i = 0, $i$398 = 0, $i$399$i = 0, $isdigit = 0, $isdigit$i = 0, $isdigit$i27 = 0, $isdigit10 = 0, $isdigit12 = 0, $isdigit2$i = 0, $isdigit2$i23 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp$i = 0; - var $isdigittmp$i26 = 0, $isdigittmp1$i = 0, $isdigittmp1$i22 = 0, $isdigittmp11 = 0, $isdigittmp4$i = 0, $isdigittmp4$i24 = 0, $isdigittmp9 = 0, $j$0$i = 0, $j$0115$i = 0, $j$0117$i = 0, $j$1100$i = 0, $j$2$i = 0, $l$0 = 0, $l$0$i = 0, $l$1$i = 0, $l$1113 = 0, $l$2 = 0, $l10n$0 = 0, $l10n$0$lcssa = 0, $l10n$0$phi = 0; - var $l10n$1 = 0, $l10n$2 = 0, $l10n$3 = 0, $mb = 0, $notlhs$i = 0, $notrhs$i = 0, $or$cond = 0, $or$cond$i = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond20 = 0, $or$cond240 = 0, $or$cond29$i = 0, $or$cond3$not$i = 0, $or$cond6$i = 0, $p$0 = 0, $p$1 = 0, $p$2 = 0, $p$2$ = 0, $p$3 = 0; - var $p$4198 = 0, $p$5 = 0, $pl$0 = 0, $pl$0$i = 0, $pl$1 = 0, $pl$1$i = 0, $pl$2 = 0, $prefix$0 = 0, $prefix$0$$i = 0, $prefix$0$i = 0, $prefix$1 = 0, $prefix$2 = 0, $r$0$a$8$i = 0, $re$169$i = 0, $round$068$i = 0.0, $round6$1$i = 0.0, $s$0$i = 0, $s$1$i = 0, $s$1$i$lcssa = 0, $s1$0$i = 0; - var $s7$079$i = 0, $s7$1$i = 0, $s8$0$lcssa$i = 0, $s8$070$i = 0, $s9$0$i = 0, $s9$183$i = 0, $s9$2$i = 0, $small$0$i = 0.0, $small$1$i = 0.0, $st$0 = 0, $st$0$lcssa322 = 0, $storemerge = 0, $storemerge13 = 0, $storemerge8108 = 0, $storemerge860 = 0, $sum = 0, $t$0 = 0, $t$1 = 0, $w$$i = 0, $w$0 = 0; - var $w$1 = 0, $w$2 = 0, $w$30$i = 0, $wc = 0, $ws$0115 = 0, $ws$1126 = 0, $z$0$i = 0, $z$0$lcssa = 0, $z$0102 = 0, $z$1 = 0, $z$1$lcssa$i = 0, $z$1146$i = 0, $z$2 = 0, $z$2$i = 0, $z$2$i$lcssa = 0, $z$3$lcssa$i = 0, $z$3133$i = 0, $z$4$i = 0, $z$6$$i = 0, $z$6$i = 0; - var $z$6$i$lcssa = 0, $z$6$ph$i = 0, label = 0, sp = 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, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 624|0; - $big$i = sp + 24|0; - $e2$i = sp + 16|0; - $buf$i = sp + 588|0; - $ebuf0$i = sp + 576|0; - $arg = sp; - $buf = sp + 536|0; - $wc = sp + 8|0; - $mb = sp + 528|0; - $0 = ($f|0)!=(0|0); - $1 = ((($buf)) + 40|0); - $2 = $1; - $3 = ((($buf)) + 39|0); - $4 = ((($wc)) + 4|0); - $5 = ((($ebuf0$i)) + 12|0); - $6 = ((($ebuf0$i)) + 11|0); - $7 = $buf$i; - $8 = $5; - $9 = (($8) - ($7))|0; - $10 = (-2 - ($7))|0; - $11 = (($8) + 2)|0; - $12 = ((($big$i)) + 288|0); - $13 = ((($buf$i)) + 9|0); - $14 = $13; - $15 = ((($buf$i)) + 8|0); - $cnt$0 = 0;$fmt41 = $fmt;$l$0 = 0;$l10n$0 = 0; - L1: while(1) { - $16 = ($cnt$0|0)>(-1); - do { - if ($16) { - $17 = (2147483647 - ($cnt$0))|0; - $18 = ($l$0|0)>($17|0); - if ($18) { - $19 = (___errno_location()|0); - HEAP32[$19>>2] = 75; - $cnt$1 = -1; - break; - } else { - $20 = (($l$0) + ($cnt$0))|0; - $cnt$1 = $20; - break; - } - } else { - $cnt$1 = $cnt$0; - } - } while(0); - $21 = HEAP8[$fmt41>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $cnt$1$lcssa = $cnt$1;$l10n$0$lcssa = $l10n$0; - label = 245; - break; - } else { - $23 = $21;$fmt40 = $fmt41; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $fmt39101 = $fmt40;$z$0102 = $fmt40; - label = 9; - break L9; - break; - } - case 0: { - $fmt39$lcssa = $fmt40;$z$0$lcssa = $fmt40; - break L9; - break; - } - default: { - } - } - $24 = ((($fmt40)) + 1|0); - $$pre = HEAP8[$24>>0]|0; - $23 = $$pre;$fmt40 = $24; - } - L12: do { - if ((label|0) == 9) { - while(1) { - label = 0; - $25 = ((($fmt39101)) + 1|0); - $26 = HEAP8[$25>>0]|0; - $27 = ($26<<24>>24)==(37); - if (!($27)) { - $fmt39$lcssa = $fmt39101;$z$0$lcssa = $z$0102; - break L12; - } - $28 = ((($z$0102)) + 1|0); - $29 = ((($fmt39101)) + 2|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(37); - if ($31) { - $fmt39101 = $29;$z$0102 = $28; - label = 9; - } else { - $fmt39$lcssa = $29;$z$0$lcssa = $28; - break; - } - } - } - } while(0); - $32 = $z$0$lcssa; - $33 = $fmt41; - $34 = (($32) - ($33))|0; - if ($0) { - $35 = HEAP32[$f>>2]|0; - $36 = $35 & 32; - $37 = ($36|0)==(0); - if ($37) { - (___fwritex($fmt41,$34,$f)|0); - } - } - $38 = ($z$0$lcssa|0)==($fmt41|0); - if (!($38)) { - $l10n$0$phi = $l10n$0;$cnt$0 = $cnt$1;$fmt41 = $fmt39$lcssa;$l$0 = $34;$l10n$0 = $l10n$0$phi; - continue; - } - $39 = ((($fmt39$lcssa)) + 1|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40 << 24 >> 24; - $isdigittmp = (($41) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $42 = ((($fmt39$lcssa)) + 2|0); - $43 = HEAP8[$42>>0]|0; - $44 = ($43<<24>>24)==(36); - $45 = ((($fmt39$lcssa)) + 3|0); - $$51 = $44 ? $45 : $39; - $$l10n$0 = $44 ? 1 : $l10n$0; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$pre193 = HEAP8[$$51>>0]|0; - $47 = $$pre193;$argpos$0 = $isdigittmp$;$l10n$1 = $$l10n$0;$storemerge = $$51; - } else { - $47 = $40;$argpos$0 = -1;$l10n$1 = $l10n$0;$storemerge = $39; - } - $46 = $47 << 24 >> 24; - $48 = $46 & -32; - $49 = ($48|0)==(32); - L25: do { - if ($49) { - $51 = $46;$56 = $47;$fl$0109 = 0;$storemerge8108 = $storemerge; - while(1) { - $50 = (($51) + -32)|0; - $52 = 1 << $50; - $53 = $52 & 75913; - $54 = ($53|0)==(0); - if ($54) { - $65 = $56;$fl$062 = $fl$0109;$storemerge860 = $storemerge8108; - break L25; - } - $55 = $56 << 24 >> 24; - $57 = (($55) + -32)|0; - $58 = 1 << $57; - $59 = $58 | $fl$0109; - $60 = ((($storemerge8108)) + 1|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61 << 24 >> 24; - $63 = $62 & -32; - $64 = ($63|0)==(32); - if ($64) { - $51 = $62;$56 = $61;$fl$0109 = $59;$storemerge8108 = $60; - } else { - $65 = $61;$fl$062 = $59;$storemerge860 = $60; - break; - } - } - } else { - $65 = $47;$fl$062 = 0;$storemerge860 = $storemerge; - } - } while(0); - $66 = ($65<<24>>24)==(42); - do { - if ($66) { - $67 = ((($storemerge860)) + 1|0); - $68 = HEAP8[$67>>0]|0; - $69 = $68 << 24 >> 24; - $isdigittmp11 = (($69) + -48)|0; - $isdigit12 = ($isdigittmp11>>>0)<(10); - if ($isdigit12) { - $70 = ((($storemerge860)) + 2|0); - $71 = HEAP8[$70>>0]|0; - $72 = ($71<<24>>24)==(36); - if ($72) { - $73 = (($nl_type) + ($isdigittmp11<<2)|0); - HEAP32[$73>>2] = 10; - $74 = HEAP8[$67>>0]|0; - $75 = $74 << 24 >> 24; - $76 = (($75) + -48)|0; - $77 = (($nl_arg) + ($76<<3)|0); - $78 = $77; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = ((($storemerge860)) + 3|0); - $l10n$2 = 1;$storemerge13 = $84;$w$0 = $80; - } else { - label = 24; - } - } else { - label = 24; - } - if ((label|0) == 24) { - label = 0; - $85 = ($l10n$1|0)==(0); - if (!($85)) { - $$0 = -1; - break L1; - } - if (!($0)) { - $fl$1 = $fl$062;$fmt42 = $67;$l10n$3 = 0;$w$1 = 0; - break; - } - $arglist_current = HEAP32[$ap>>2]|0; - $86 = $arglist_current; - $87 = ((0) + 4|0); - $expanded4 = $87; - $expanded = (($expanded4) - 1)|0; - $88 = (($86) + ($expanded))|0; - $89 = ((0) + 4|0); - $expanded8 = $89; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $90 = $88 & $expanded6; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $arglist_next = ((($91)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - $l10n$2 = 0;$storemerge13 = $67;$w$0 = $92; - } - $93 = ($w$0|0)<(0); - if ($93) { - $94 = $fl$062 | 8192; - $95 = (0 - ($w$0))|0; - $fl$1 = $94;$fmt42 = $storemerge13;$l10n$3 = $l10n$2;$w$1 = $95; - } else { - $fl$1 = $fl$062;$fmt42 = $storemerge13;$l10n$3 = $l10n$2;$w$1 = $w$0; - } - } else { - $96 = $65 << 24 >> 24; - $isdigittmp1$i = (($96) + -48)|0; - $isdigit2$i = ($isdigittmp1$i>>>0)<(10); - if ($isdigit2$i) { - $100 = $storemerge860;$i$03$i = 0;$isdigittmp4$i = $isdigittmp1$i; - while(1) { - $97 = ($i$03$i*10)|0; - $98 = (($97) + ($isdigittmp4$i))|0; - $99 = ((($100)) + 1|0); - $101 = HEAP8[$99>>0]|0; - $102 = $101 << 24 >> 24; - $isdigittmp$i = (($102) + -48)|0; - $isdigit$i = ($isdigittmp$i>>>0)<(10); - if ($isdigit$i) { - $100 = $99;$i$03$i = $98;$isdigittmp4$i = $isdigittmp$i; - } else { - $$lcssa = $98;$$lcssa318 = $99; - break; - } - } - $103 = ($$lcssa|0)<(0); - if ($103) { - $$0 = -1; - break L1; - } else { - $fl$1 = $fl$062;$fmt42 = $$lcssa318;$l10n$3 = $l10n$1;$w$1 = $$lcssa; - } - } else { - $fl$1 = $fl$062;$fmt42 = $storemerge860;$l10n$3 = $l10n$1;$w$1 = 0; - } - } - } while(0); - $104 = HEAP8[$fmt42>>0]|0; - $105 = ($104<<24>>24)==(46); - L46: do { - if ($105) { - $106 = ((($fmt42)) + 1|0); - $107 = HEAP8[$106>>0]|0; - $108 = ($107<<24>>24)==(42); - if (!($108)) { - $135 = $107 << 24 >> 24; - $isdigittmp1$i22 = (($135) + -48)|0; - $isdigit2$i23 = ($isdigittmp1$i22>>>0)<(10); - if ($isdigit2$i23) { - $139 = $106;$i$03$i25 = 0;$isdigittmp4$i24 = $isdigittmp1$i22; - } else { - $fmt45 = $106;$p$0 = 0; - break; - } - while(1) { - $136 = ($i$03$i25*10)|0; - $137 = (($136) + ($isdigittmp4$i24))|0; - $138 = ((($139)) + 1|0); - $140 = HEAP8[$138>>0]|0; - $141 = $140 << 24 >> 24; - $isdigittmp$i26 = (($141) + -48)|0; - $isdigit$i27 = ($isdigittmp$i26>>>0)<(10); - if ($isdigit$i27) { - $139 = $138;$i$03$i25 = $137;$isdigittmp4$i24 = $isdigittmp$i26; - } else { - $fmt45 = $138;$p$0 = $137; - break L46; - } - } - } - $109 = ((($fmt42)) + 2|0); - $110 = HEAP8[$109>>0]|0; - $111 = $110 << 24 >> 24; - $isdigittmp9 = (($111) + -48)|0; - $isdigit10 = ($isdigittmp9>>>0)<(10); - if ($isdigit10) { - $112 = ((($fmt42)) + 3|0); - $113 = HEAP8[$112>>0]|0; - $114 = ($113<<24>>24)==(36); - if ($114) { - $115 = (($nl_type) + ($isdigittmp9<<2)|0); - HEAP32[$115>>2] = 10; - $116 = HEAP8[$109>>0]|0; - $117 = $116 << 24 >> 24; - $118 = (($117) + -48)|0; - $119 = (($nl_arg) + ($118<<3)|0); - $120 = $119; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = (($120) + 4)|0; - $124 = $123; - $125 = HEAP32[$124>>2]|0; - $126 = ((($fmt42)) + 4|0); - $fmt45 = $126;$p$0 = $122; - break; - } - } - $127 = ($l10n$3|0)==(0); - if (!($127)) { - $$0 = -1; - break L1; - } - if ($0) { - $arglist_current2 = HEAP32[$ap>>2]|0; - $128 = $arglist_current2; - $129 = ((0) + 4|0); - $expanded11 = $129; - $expanded10 = (($expanded11) - 1)|0; - $130 = (($128) + ($expanded10))|0; - $131 = ((0) + 4|0); - $expanded15 = $131; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $132 = $130 & $expanded13; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $arglist_next3 = ((($133)) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - $fmt45 = $109;$p$0 = $134; - } else { - $fmt45 = $109;$p$0 = 0; - } - } else { - $fmt45 = $fmt42;$p$0 = -1; - } - } while(0); - $fmt44 = $fmt45;$st$0 = 0; - while(1) { - $142 = HEAP8[$fmt44>>0]|0; - $143 = $142 << 24 >> 24; - $144 = (($143) + -65)|0; - $145 = ($144>>>0)>(57); - if ($145) { - $$0 = -1; - break L1; - } - $146 = ((($fmt44)) + 1|0); - $147 = ((32754 + (($st$0*58)|0)|0) + ($144)|0); - $148 = HEAP8[$147>>0]|0; - $149 = $148&255; - $150 = (($149) + -1)|0; - $151 = ($150>>>0)<(8); - if ($151) { - $fmt44 = $146;$st$0 = $149; - } else { - $$lcssa323 = $146;$$lcssa324 = $148;$$lcssa325 = $149;$fmt44$lcssa321 = $fmt44;$st$0$lcssa322 = $st$0; - break; - } - } - $152 = ($$lcssa324<<24>>24)==(0); - if ($152) { - $$0 = -1; - break; - } - $153 = ($$lcssa324<<24>>24)==(19); - $154 = ($argpos$0|0)>(-1); - do { - if ($153) { - if ($154) { - $$0 = -1; - break L1; - } else { - label = 52; - } - } else { - if ($154) { - $155 = (($nl_type) + ($argpos$0<<2)|0); - HEAP32[$155>>2] = $$lcssa325; - $156 = (($nl_arg) + ($argpos$0<<3)|0); - $157 = $156; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = $arg; - $164 = $163; - HEAP32[$164>>2] = $159; - $165 = (($163) + 4)|0; - $166 = $165; - HEAP32[$166>>2] = $162; - label = 52; - break; - } - if (!($0)) { - $$0 = 0; - break L1; - } - _pop_arg($arg,$$lcssa325,$ap); - } - } while(0); - if ((label|0) == 52) { - label = 0; - if (!($0)) { - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue; - } - } - $167 = HEAP8[$fmt44$lcssa321>>0]|0; - $168 = $167 << 24 >> 24; - $169 = ($st$0$lcssa322|0)!=(0); - $170 = $168 & 15; - $171 = ($170|0)==(3); - $or$cond15 = $169 & $171; - $172 = $168 & -33; - $t$0 = $or$cond15 ? $172 : $168; - $173 = $fl$1 & 8192; - $174 = ($173|0)==(0); - $175 = $fl$1 & -65537; - $fl$1$ = $174 ? $fl$1 : $175; - L75: do { - switch ($t$0|0) { - case 110: { - switch ($st$0$lcssa322|0) { - case 0: { - $182 = HEAP32[$arg>>2]|0; - HEAP32[$182>>2] = $cnt$1; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 1: { - $183 = HEAP32[$arg>>2]|0; - HEAP32[$183>>2] = $cnt$1; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 2: { - $184 = ($cnt$1|0)<(0); - $185 = $184 << 31 >> 31; - $186 = HEAP32[$arg>>2]|0; - $187 = $186; - $188 = $187; - HEAP32[$188>>2] = $cnt$1; - $189 = (($187) + 4)|0; - $190 = $189; - HEAP32[$190>>2] = $185; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 3: { - $191 = $cnt$1&65535; - $192 = HEAP32[$arg>>2]|0; - HEAP16[$192>>1] = $191; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 4: { - $193 = $cnt$1&255; - $194 = HEAP32[$arg>>2]|0; - HEAP8[$194>>0] = $193; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 6: { - $195 = HEAP32[$arg>>2]|0; - HEAP32[$195>>2] = $cnt$1; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - case 7: { - $196 = ($cnt$1|0)<(0); - $197 = $196 << 31 >> 31; - $198 = HEAP32[$arg>>2]|0; - $199 = $198; - $200 = $199; - HEAP32[$200>>2] = $cnt$1; - $201 = (($199) + 4)|0; - $202 = $201; - HEAP32[$202>>2] = $197; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - break; - } - default: { - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $34;$l10n$0 = $l10n$3; - continue L1; - } - } - break; - } - case 112: { - $203 = ($p$0>>>0)>(8); - $204 = $203 ? $p$0 : 8; - $205 = $fl$1$ | 8; - $fl$3 = $205;$p$1 = $204;$t$1 = 120; - label = 64; - break; - } - case 88: case 120: { - $fl$3 = $fl$1$;$p$1 = $p$0;$t$1 = $t$0; - label = 64; - break; - } - case 111: { - $243 = $arg; - $244 = $243; - $245 = HEAP32[$244>>2]|0; - $246 = (($243) + 4)|0; - $247 = $246; - $248 = HEAP32[$247>>2]|0; - $249 = ($245|0)==(0); - $250 = ($248|0)==(0); - $251 = $249 & $250; - if ($251) { - $$0$lcssa$i = $1; - } else { - $$03$i33 = $1;$253 = $245;$257 = $248; - while(1) { - $252 = $253 & 7; - $254 = $252 | 48; - $255 = $254&255; - $256 = ((($$03$i33)) + -1|0); - HEAP8[$256>>0] = $255; - $258 = (_bitshift64Lshr(($253|0),($257|0),3)|0); - $259 = tempRet0; - $260 = ($258|0)==(0); - $261 = ($259|0)==(0); - $262 = $260 & $261; - if ($262) { - $$0$lcssa$i = $256; - break; - } else { - $$03$i33 = $256;$253 = $258;$257 = $259; - } - } - } - $263 = $fl$1$ & 8; - $264 = ($263|0)==(0); - if ($264) { - $a$0 = $$0$lcssa$i;$fl$4 = $fl$1$;$p$2 = $p$0;$pl$1 = 0;$prefix$1 = 33234; - label = 77; - } else { - $265 = $$0$lcssa$i; - $266 = (($2) - ($265))|0; - $267 = (($266) + 1)|0; - $268 = ($p$0|0)<($267|0); - $$p$0 = $268 ? $267 : $p$0; - $a$0 = $$0$lcssa$i;$fl$4 = $fl$1$;$p$2 = $$p$0;$pl$1 = 0;$prefix$1 = 33234; - label = 77; - } - break; - } - case 105: case 100: { - $269 = $arg; - $270 = $269; - $271 = HEAP32[$270>>2]|0; - $272 = (($269) + 4)|0; - $273 = $272; - $274 = HEAP32[$273>>2]|0; - $275 = ($274|0)<(0); - if ($275) { - $276 = (_i64Subtract(0,0,($271|0),($274|0))|0); - $277 = tempRet0; - $278 = $arg; - $279 = $278; - HEAP32[$279>>2] = $276; - $280 = (($278) + 4)|0; - $281 = $280; - HEAP32[$281>>2] = $277; - $286 = $276;$287 = $277;$pl$0 = 1;$prefix$0 = 33234; - label = 76; - break L75; - } - $282 = $fl$1$ & 2048; - $283 = ($282|0)==(0); - if ($283) { - $284 = $fl$1$ & 1; - $285 = ($284|0)==(0); - $$ = $285 ? 33234 : (33236); - $286 = $271;$287 = $274;$pl$0 = $284;$prefix$0 = $$; - label = 76; - } else { - $286 = $271;$287 = $274;$pl$0 = 1;$prefix$0 = (33235); - label = 76; - } - break; - } - case 117: { - $176 = $arg; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = (($176) + 4)|0; - $180 = $179; - $181 = HEAP32[$180>>2]|0; - $286 = $178;$287 = $181;$pl$0 = 0;$prefix$0 = 33234; - label = 76; - break; - } - case 99: { - $307 = $arg; - $308 = $307; - $309 = HEAP32[$308>>2]|0; - $310 = (($307) + 4)|0; - $311 = $310; - $312 = HEAP32[$311>>2]|0; - $313 = $309&255; - HEAP8[$3>>0] = $313; - $a$2 = $3;$fl$6 = $175;$p$5 = 1;$pl$2 = 0;$prefix$2 = 33234;$z$2 = $1; - break; - } - case 109: { - $314 = (___errno_location()|0); - $315 = HEAP32[$314>>2]|0; - $316 = (_strerror($315)|0); - $a$1 = $316; - label = 82; - break; - } - case 115: { - $317 = HEAP32[$arg>>2]|0; - $318 = ($317|0)!=(0|0); - $319 = $318 ? $317 : 33244; - $a$1 = $319; - label = 82; - break; - } - case 67: { - $326 = $arg; - $327 = $326; - $328 = HEAP32[$327>>2]|0; - $329 = (($326) + 4)|0; - $330 = $329; - $331 = HEAP32[$330>>2]|0; - HEAP32[$wc>>2] = $328; - HEAP32[$4>>2] = 0; - HEAP32[$arg>>2] = $wc; - $p$4198 = -1; - label = 86; - break; - } - case 83: { - $332 = ($p$0|0)==(0); - if ($332) { - _pad($f,32,$w$1,0,$fl$1$); - $i$0$lcssa200 = 0; - label = 98; - } else { - $p$4198 = $p$0; - label = 86; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $359 = +HEAPF64[$arg>>3]; - HEAP32[$e2$i>>2] = 0; - HEAPF64[tempDoublePtr>>3] = $359;$360 = HEAP32[tempDoublePtr>>2]|0; - $361 = HEAP32[tempDoublePtr+4>>2]|0; - $362 = ($361|0)<(0); - if ($362) { - $363 = -$359; - $$07$i = $363;$pl$0$i = 1;$prefix$0$i = 33251; - } else { - $364 = $fl$1$ & 2048; - $365 = ($364|0)==(0); - if ($365) { - $366 = $fl$1$ & 1; - $367 = ($366|0)==(0); - $$$i = $367 ? (33252) : (33257); - $$07$i = $359;$pl$0$i = $366;$prefix$0$i = $$$i; - } else { - $$07$i = $359;$pl$0$i = 1;$prefix$0$i = (33254); - } - } - HEAPF64[tempDoublePtr>>3] = $$07$i;$368 = HEAP32[tempDoublePtr>>2]|0; - $369 = HEAP32[tempDoublePtr+4>>2]|0; - $370 = $369 & 2146435072; - $371 = ($370>>>0)<(2146435072); - $372 = (0)<(0); - $373 = ($370|0)==(2146435072); - $374 = $373 & $372; - $375 = $371 | $374; - do { - if ($375) { - $391 = (+_frexpl($$07$i,$e2$i)); - $392 = $391 * 2.0; - $393 = $392 != 0.0; - if ($393) { - $394 = HEAP32[$e2$i>>2]|0; - $395 = (($394) + -1)|0; - HEAP32[$e2$i>>2] = $395; - } - $396 = $t$0 | 32; - $397 = ($396|0)==(97); - if ($397) { - $398 = $t$0 & 32; - $399 = ($398|0)==(0); - $400 = ((($prefix$0$i)) + 9|0); - $prefix$0$$i = $399 ? $prefix$0$i : $400; - $401 = $pl$0$i | 2; - $402 = ($p$0>>>0)>(11); - $403 = (12 - ($p$0))|0; - $404 = ($403|0)==(0); - $405 = $402 | $404; - do { - if ($405) { - $$1$i = $392; - } else { - $re$169$i = $403;$round$068$i = 8.0; - while(1) { - $406 = (($re$169$i) + -1)|0; - $407 = $round$068$i * 16.0; - $408 = ($406|0)==(0); - if ($408) { - $$lcssa342 = $407; - break; - } else { - $re$169$i = $406;$round$068$i = $407; - } - } - $409 = HEAP8[$prefix$0$$i>>0]|0; - $410 = ($409<<24>>24)==(45); - if ($410) { - $411 = -$392; - $412 = $411 - $$lcssa342; - $413 = $$lcssa342 + $412; - $414 = -$413; - $$1$i = $414; - break; - } else { - $415 = $392 + $$lcssa342; - $416 = $415 - $$lcssa342; - $$1$i = $416; - break; - } - } - } while(0); - $417 = HEAP32[$e2$i>>2]|0; - $418 = ($417|0)<(0); - $419 = (0 - ($417))|0; - $420 = $418 ? $419 : $417; - $421 = ($420|0)<(0); - $422 = $421 << 31 >> 31; - $423 = (_fmt_u($420,$422,$5)|0); - $424 = ($423|0)==($5|0); - if ($424) { - HEAP8[$6>>0] = 48; - $estr$0$i = $6; - } else { - $estr$0$i = $423; - } - $425 = $417 >> 31; - $426 = $425 & 2; - $427 = (($426) + 43)|0; - $428 = $427&255; - $429 = ((($estr$0$i)) + -1|0); - HEAP8[$429>>0] = $428; - $430 = (($t$0) + 15)|0; - $431 = $430&255; - $432 = ((($estr$0$i)) + -2|0); - HEAP8[$432>>0] = $431; - $notrhs$i = ($p$0|0)<(1); - $433 = $fl$1$ & 8; - $434 = ($433|0)==(0); - $$2$i = $$1$i;$s$0$i = $buf$i; - while(1) { - $435 = (~~(($$2$i))); - $436 = (33218 + ($435)|0); - $437 = HEAP8[$436>>0]|0; - $438 = $437&255; - $439 = $438 | $398; - $440 = $439&255; - $441 = ((($s$0$i)) + 1|0); - HEAP8[$s$0$i>>0] = $440; - $442 = (+($435|0)); - $443 = $$2$i - $442; - $444 = $443 * 16.0; - $445 = $441; - $446 = (($445) - ($7))|0; - $447 = ($446|0)==(1); - do { - if ($447) { - $notlhs$i = $444 == 0.0; - $or$cond3$not$i = $notrhs$i & $notlhs$i; - $or$cond$i = $434 & $or$cond3$not$i; - if ($or$cond$i) { - $s$1$i = $441; - break; - } - $448 = ((($s$0$i)) + 2|0); - HEAP8[$441>>0] = 46; - $s$1$i = $448; - } else { - $s$1$i = $441; - } - } while(0); - $449 = $444 != 0.0; - if ($449) { - $$2$i = $444;$s$0$i = $s$1$i; - } else { - $s$1$i$lcssa = $s$1$i; - break; - } - } - $450 = ($p$0|0)!=(0); - $$pre182$i = $s$1$i$lcssa; - $451 = (($10) + ($$pre182$i))|0; - $452 = ($451|0)<($p$0|0); - $or$cond240 = $450 & $452; - $453 = $432; - $454 = (($11) + ($p$0))|0; - $455 = (($454) - ($453))|0; - $456 = $432; - $457 = (($9) - ($456))|0; - $458 = (($457) + ($$pre182$i))|0; - $l$0$i = $or$cond240 ? $455 : $458; - $459 = (($l$0$i) + ($401))|0; - _pad($f,32,$w$1,$459,$fl$1$); - $460 = HEAP32[$f>>2]|0; - $461 = $460 & 32; - $462 = ($461|0)==(0); - if ($462) { - (___fwritex($prefix$0$$i,$401,$f)|0); - } - $463 = $fl$1$ ^ 65536; - _pad($f,48,$w$1,$459,$463); - $464 = (($$pre182$i) - ($7))|0; - $465 = HEAP32[$f>>2]|0; - $466 = $465 & 32; - $467 = ($466|0)==(0); - if ($467) { - (___fwritex($buf$i,$464,$f)|0); - } - $468 = $432; - $469 = (($8) - ($468))|0; - $sum = (($464) + ($469))|0; - $470 = (($l$0$i) - ($sum))|0; - _pad($f,48,$470,0,0); - $471 = HEAP32[$f>>2]|0; - $472 = $471 & 32; - $473 = ($472|0)==(0); - if ($473) { - (___fwritex($432,$469,$f)|0); - } - $474 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$459,$474); - $475 = ($459|0)<($w$1|0); - $w$$i = $475 ? $w$1 : $459; - $$0$i = $w$$i; - break; - } - $476 = ($p$0|0)<(0); - $$p$i = $476 ? 6 : $p$0; - if ($393) { - $477 = $392 * 268435456.0; - $478 = HEAP32[$e2$i>>2]|0; - $479 = (($478) + -28)|0; - HEAP32[$e2$i>>2] = $479; - $$3$i = $477;$480 = $479; - } else { - $$pre179$i = HEAP32[$e2$i>>2]|0; - $$3$i = $392;$480 = $$pre179$i; - } - $481 = ($480|0)<(0); - $$31$i = $481 ? $big$i : $12; - $482 = $$31$i; - $$4$i = $$3$i;$z$0$i = $$31$i; - while(1) { - $483 = (~~(($$4$i))>>>0); - HEAP32[$z$0$i>>2] = $483; - $484 = ((($z$0$i)) + 4|0); - $485 = (+($483>>>0)); - $486 = $$4$i - $485; - $487 = $486 * 1.0E+9; - $488 = $487 != 0.0; - if ($488) { - $$4$i = $487;$z$0$i = $484; - } else { - $$lcssa326 = $484; - break; - } - } - $$pr$i = HEAP32[$e2$i>>2]|0; - $489 = ($$pr$i|0)>(0); - if ($489) { - $490 = $$pr$i;$a$1147$i = $$31$i;$z$1146$i = $$lcssa326; - while(1) { - $491 = ($490|0)>(29); - $492 = $491 ? 29 : $490; - $d$0139$i = ((($z$1146$i)) + -4|0); - $493 = ($d$0139$i>>>0)<($a$1147$i>>>0); - do { - if ($493) { - $a$2$ph$i = $a$1147$i; - } else { - $carry$0140$i = 0;$d$0141$i = $d$0139$i; - while(1) { - $494 = HEAP32[$d$0141$i>>2]|0; - $495 = (_bitshift64Shl(($494|0),0,($492|0))|0); - $496 = tempRet0; - $497 = (_i64Add(($495|0),($496|0),($carry$0140$i|0),0)|0); - $498 = tempRet0; - $499 = (___uremdi3(($497|0),($498|0),1000000000,0)|0); - $500 = tempRet0; - HEAP32[$d$0141$i>>2] = $499; - $501 = (___udivdi3(($497|0),($498|0),1000000000,0)|0); - $502 = tempRet0; - $d$0$i = ((($d$0141$i)) + -4|0); - $503 = ($d$0$i>>>0)<($a$1147$i>>>0); - if ($503) { - $$lcssa327 = $501; - break; - } else { - $carry$0140$i = $501;$d$0141$i = $d$0$i; - } - } - $504 = ($$lcssa327|0)==(0); - if ($504) { - $a$2$ph$i = $a$1147$i; - break; - } - $505 = ((($a$1147$i)) + -4|0); - HEAP32[$505>>2] = $$lcssa327; - $a$2$ph$i = $505; - } - } while(0); - $z$2$i = $z$1146$i; - while(1) { - $506 = ($z$2$i>>>0)>($a$2$ph$i>>>0); - if (!($506)) { - $z$2$i$lcssa = $z$2$i; - break; - } - $507 = ((($z$2$i)) + -4|0); - $508 = HEAP32[$507>>2]|0; - $509 = ($508|0)==(0); - if ($509) { - $z$2$i = $507; - } else { - $z$2$i$lcssa = $z$2$i; - break; - } - } - $510 = HEAP32[$e2$i>>2]|0; - $511 = (($510) - ($492))|0; - HEAP32[$e2$i>>2] = $511; - $512 = ($511|0)>(0); - if ($512) { - $490 = $511;$a$1147$i = $a$2$ph$i;$z$1146$i = $z$2$i$lcssa; - } else { - $$pr47$i = $511;$a$1$lcssa$i = $a$2$ph$i;$z$1$lcssa$i = $z$2$i$lcssa; - break; - } - } - } else { - $$pr47$i = $$pr$i;$a$1$lcssa$i = $$31$i;$z$1$lcssa$i = $$lcssa326; - } - $513 = ($$pr47$i|0)<(0); - if ($513) { - $514 = (($$p$i) + 25)|0; - $515 = (($514|0) / 9)&-1; - $516 = (($515) + 1)|0; - $517 = ($396|0)==(102); - $519 = $$pr47$i;$a$3134$i = $a$1$lcssa$i;$z$3133$i = $z$1$lcssa$i; - while(1) { - $518 = (0 - ($519))|0; - $520 = ($518|0)>(9); - $521 = $520 ? 9 : $518; - $522 = ($a$3134$i>>>0)<($z$3133$i>>>0); - do { - if ($522) { - $526 = 1 << $521; - $527 = (($526) + -1)|0; - $528 = 1000000000 >>> $521; - $carry3$0128$i = 0;$d$1127$i = $a$3134$i; - while(1) { - $529 = HEAP32[$d$1127$i>>2]|0; - $530 = $529 & $527; - $531 = $529 >>> $521; - $532 = (($531) + ($carry3$0128$i))|0; - HEAP32[$d$1127$i>>2] = $532; - $533 = Math_imul($530, $528)|0; - $534 = ((($d$1127$i)) + 4|0); - $535 = ($534>>>0)<($z$3133$i>>>0); - if ($535) { - $carry3$0128$i = $533;$d$1127$i = $534; - } else { - $$lcssa329 = $533; - break; - } - } - $536 = HEAP32[$a$3134$i>>2]|0; - $537 = ($536|0)==(0); - $538 = ((($a$3134$i)) + 4|0); - $$a$3$i = $537 ? $538 : $a$3134$i; - $539 = ($$lcssa329|0)==(0); - if ($539) { - $$a$3186$i = $$a$3$i;$z$4$i = $z$3133$i; - break; - } - $540 = ((($z$3133$i)) + 4|0); - HEAP32[$z$3133$i>>2] = $$lcssa329; - $$a$3186$i = $$a$3$i;$z$4$i = $540; - } else { - $523 = HEAP32[$a$3134$i>>2]|0; - $524 = ($523|0)==(0); - $525 = ((($a$3134$i)) + 4|0); - $$a$3185$i = $524 ? $525 : $a$3134$i; - $$a$3186$i = $$a$3185$i;$z$4$i = $z$3133$i; - } - } while(0); - $541 = $517 ? $$31$i : $$a$3186$i; - $542 = $z$4$i; - $543 = $541; - $544 = (($542) - ($543))|0; - $545 = $544 >> 2; - $546 = ($545|0)>($516|0); - $547 = (($541) + ($516<<2)|0); - $$z$4$i = $546 ? $547 : $z$4$i; - $548 = HEAP32[$e2$i>>2]|0; - $549 = (($548) + ($521))|0; - HEAP32[$e2$i>>2] = $549; - $550 = ($549|0)<(0); - if ($550) { - $519 = $549;$a$3134$i = $$a$3186$i;$z$3133$i = $$z$4$i; - } else { - $a$3$lcssa$i = $$a$3186$i;$z$3$lcssa$i = $$z$4$i; - break; - } - } - } else { - $a$3$lcssa$i = $a$1$lcssa$i;$z$3$lcssa$i = $z$1$lcssa$i; - } - $551 = ($a$3$lcssa$i>>>0)<($z$3$lcssa$i>>>0); - do { - if ($551) { - $552 = $a$3$lcssa$i; - $553 = (($482) - ($552))|0; - $554 = $553 >> 2; - $555 = ($554*9)|0; - $556 = HEAP32[$a$3$lcssa$i>>2]|0; - $557 = ($556>>>0)<(10); - if ($557) { - $e$1$i = $555; - break; - } else { - $e$0123$i = $555;$i$0122$i = 10; - } - while(1) { - $558 = ($i$0122$i*10)|0; - $559 = (($e$0123$i) + 1)|0; - $560 = ($556>>>0)<($558>>>0); - if ($560) { - $e$1$i = $559; - break; - } else { - $e$0123$i = $559;$i$0122$i = $558; - } - } - } else { - $e$1$i = 0; - } - } while(0); - $561 = ($396|0)!=(102); - $562 = $561 ? $e$1$i : 0; - $563 = (($$p$i) - ($562))|0; - $564 = ($396|0)==(103); - $565 = ($$p$i|0)!=(0); - $566 = $565 & $564; - $$neg52$i = $566 << 31 >> 31; - $567 = (($563) + ($$neg52$i))|0; - $568 = $z$3$lcssa$i; - $569 = (($568) - ($482))|0; - $570 = $569 >> 2; - $571 = ($570*9)|0; - $572 = (($571) + -9)|0; - $573 = ($567|0)<($572|0); - if ($573) { - $574 = (($567) + 9216)|0; - $575 = (($574|0) / 9)&-1; - $$sum$i = (($575) + -1023)|0; - $576 = (($$31$i) + ($$sum$i<<2)|0); - $577 = (($574|0) % 9)&-1; - $j$0115$i = (($577) + 1)|0; - $578 = ($j$0115$i|0)<(9); - if ($578) { - $i$1116$i = 10;$j$0117$i = $j$0115$i; - while(1) { - $579 = ($i$1116$i*10)|0; - $j$0$i = (($j$0117$i) + 1)|0; - $exitcond$i = ($j$0$i|0)==(9); - if ($exitcond$i) { - $i$1$lcssa$i = $579; - break; - } else { - $i$1116$i = $579;$j$0117$i = $j$0$i; - } - } - } else { - $i$1$lcssa$i = 10; - } - $580 = HEAP32[$576>>2]|0; - $581 = (($580>>>0) % ($i$1$lcssa$i>>>0))&-1; - $582 = ($581|0)==(0); - if ($582) { - $$sum15$i = (($575) + -1022)|0; - $583 = (($$31$i) + ($$sum15$i<<2)|0); - $584 = ($583|0)==($z$3$lcssa$i|0); - if ($584) { - $a$7$i = $a$3$lcssa$i;$d$3$i = $576;$e$3$i = $e$1$i; - } else { - label = 163; - } - } else { - label = 163; - } - do { - if ((label|0) == 163) { - label = 0; - $585 = (($580>>>0) / ($i$1$lcssa$i>>>0))&-1; - $586 = $585 & 1; - $587 = ($586|0)==(0); - $$20$i = $587 ? 9007199254740992.0 : 9007199254740994.0; - $588 = (($i$1$lcssa$i|0) / 2)&-1; - $589 = ($581>>>0)<($588>>>0); - do { - if ($589) { - $small$0$i = 0.5; - } else { - $590 = ($581|0)==($588|0); - if ($590) { - $$sum16$i = (($575) + -1022)|0; - $591 = (($$31$i) + ($$sum16$i<<2)|0); - $592 = ($591|0)==($z$3$lcssa$i|0); - if ($592) { - $small$0$i = 1.0; - break; - } - } - $small$0$i = 1.5; - } - } while(0); - $593 = ($pl$0$i|0)==(0); - do { - if ($593) { - $round6$1$i = $$20$i;$small$1$i = $small$0$i; - } else { - $594 = HEAP8[$prefix$0$i>>0]|0; - $595 = ($594<<24>>24)==(45); - if (!($595)) { - $round6$1$i = $$20$i;$small$1$i = $small$0$i; - break; - } - $596 = -$$20$i; - $597 = -$small$0$i; - $round6$1$i = $596;$small$1$i = $597; - } - } while(0); - $598 = (($580) - ($581))|0; - HEAP32[$576>>2] = $598; - $599 = $round6$1$i + $small$1$i; - $600 = $599 != $round6$1$i; - if (!($600)) { - $a$7$i = $a$3$lcssa$i;$d$3$i = $576;$e$3$i = $e$1$i; - break; - } - $601 = (($598) + ($i$1$lcssa$i))|0; - HEAP32[$576>>2] = $601; - $602 = ($601>>>0)>(999999999); - if ($602) { - $a$5109$i = $a$3$lcssa$i;$d$2108$i = $576; - while(1) { - $603 = ((($d$2108$i)) + -4|0); - HEAP32[$d$2108$i>>2] = 0; - $604 = ($603>>>0)<($a$5109$i>>>0); - if ($604) { - $605 = ((($a$5109$i)) + -4|0); - HEAP32[$605>>2] = 0; - $a$6$i = $605; - } else { - $a$6$i = $a$5109$i; - } - $606 = HEAP32[$603>>2]|0; - $607 = (($606) + 1)|0; - HEAP32[$603>>2] = $607; - $608 = ($607>>>0)>(999999999); - if ($608) { - $a$5109$i = $a$6$i;$d$2108$i = $603; - } else { - $a$5$lcssa$i = $a$6$i;$d$2$lcssa$i = $603; - break; - } - } - } else { - $a$5$lcssa$i = $a$3$lcssa$i;$d$2$lcssa$i = $576; - } - $609 = $a$5$lcssa$i; - $610 = (($482) - ($609))|0; - $611 = $610 >> 2; - $612 = ($611*9)|0; - $613 = HEAP32[$a$5$lcssa$i>>2]|0; - $614 = ($613>>>0)<(10); - if ($614) { - $a$7$i = $a$5$lcssa$i;$d$3$i = $d$2$lcssa$i;$e$3$i = $612; - break; - } else { - $e$2104$i = $612;$i$2103$i = 10; - } - while(1) { - $615 = ($i$2103$i*10)|0; - $616 = (($e$2104$i) + 1)|0; - $617 = ($613>>>0)<($615>>>0); - if ($617) { - $a$7$i = $a$5$lcssa$i;$d$3$i = $d$2$lcssa$i;$e$3$i = $616; - break; - } else { - $e$2104$i = $616;$i$2103$i = $615; - } - } - } - } while(0); - $618 = ((($d$3$i)) + 4|0); - $619 = ($z$3$lcssa$i>>>0)>($618>>>0); - $$z$3$i = $619 ? $618 : $z$3$lcssa$i; - $a$8$ph$i = $a$7$i;$e$4$ph$i = $e$3$i;$z$6$ph$i = $$z$3$i; - } else { - $a$8$ph$i = $a$3$lcssa$i;$e$4$ph$i = $e$1$i;$z$6$ph$i = $z$3$lcssa$i; - } - $620 = (0 - ($e$4$ph$i))|0; - $z$6$i = $z$6$ph$i; - while(1) { - $621 = ($z$6$i>>>0)>($a$8$ph$i>>>0); - if (!($621)) { - $$lcssa159$i = 0;$z$6$i$lcssa = $z$6$i; - break; - } - $622 = ((($z$6$i)) + -4|0); - $623 = HEAP32[$622>>2]|0; - $624 = ($623|0)==(0); - if ($624) { - $z$6$i = $622; - } else { - $$lcssa159$i = 1;$z$6$i$lcssa = $z$6$i; - break; - } - } - do { - if ($564) { - $625 = $565&1; - $626 = $625 ^ 1; - $$p$$i = (($626) + ($$p$i))|0; - $627 = ($$p$$i|0)>($e$4$ph$i|0); - $628 = ($e$4$ph$i|0)>(-5); - $or$cond6$i = $627 & $628; - if ($or$cond6$i) { - $629 = (($t$0) + -1)|0; - $$neg53$i = (($$p$$i) + -1)|0; - $630 = (($$neg53$i) - ($e$4$ph$i))|0; - $$013$i = $629;$$210$i = $630; - } else { - $631 = (($t$0) + -2)|0; - $632 = (($$p$$i) + -1)|0; - $$013$i = $631;$$210$i = $632; - } - $633 = $fl$1$ & 8; - $634 = ($633|0)==(0); - if (!($634)) { - $$114$i = $$013$i;$$311$i = $$210$i;$$pre$phi184$iZ2D = $633; - break; - } - do { - if ($$lcssa159$i) { - $635 = ((($z$6$i$lcssa)) + -4|0); - $636 = HEAP32[$635>>2]|0; - $637 = ($636|0)==(0); - if ($637) { - $j$2$i = 9; - break; - } - $638 = (($636>>>0) % 10)&-1; - $639 = ($638|0)==(0); - if ($639) { - $i$399$i = 10;$j$1100$i = 0; - } else { - $j$2$i = 0; - break; - } - while(1) { - $640 = ($i$399$i*10)|0; - $641 = (($j$1100$i) + 1)|0; - $642 = (($636>>>0) % ($640>>>0))&-1; - $643 = ($642|0)==(0); - if ($643) { - $i$399$i = $640;$j$1100$i = $641; - } else { - $j$2$i = $641; - break; - } - } - } else { - $j$2$i = 9; - } - } while(0); - $644 = $$013$i | 32; - $645 = ($644|0)==(102); - $646 = $z$6$i$lcssa; - $647 = (($646) - ($482))|0; - $648 = $647 >> 2; - $649 = ($648*9)|0; - $650 = (($649) + -9)|0; - if ($645) { - $651 = (($650) - ($j$2$i))|0; - $652 = ($651|0)<(0); - $$21$i = $652 ? 0 : $651; - $653 = ($$210$i|0)<($$21$i|0); - $$210$$22$i = $653 ? $$210$i : $$21$i; - $$114$i = $$013$i;$$311$i = $$210$$22$i;$$pre$phi184$iZ2D = 0; - break; - } else { - $654 = (($650) + ($e$4$ph$i))|0; - $655 = (($654) - ($j$2$i))|0; - $656 = ($655|0)<(0); - $$23$i = $656 ? 0 : $655; - $657 = ($$210$i|0)<($$23$i|0); - $$210$$24$i = $657 ? $$210$i : $$23$i; - $$114$i = $$013$i;$$311$i = $$210$$24$i;$$pre$phi184$iZ2D = 0; - break; - } - } else { - $$pre183$i = $fl$1$ & 8; - $$114$i = $t$0;$$311$i = $$p$i;$$pre$phi184$iZ2D = $$pre183$i; - } - } while(0); - $658 = $$311$i | $$pre$phi184$iZ2D; - $659 = ($658|0)!=(0); - $660 = $659&1; - $661 = $$114$i | 32; - $662 = ($661|0)==(102); - if ($662) { - $663 = ($e$4$ph$i|0)>(0); - $664 = $663 ? $e$4$ph$i : 0; - $$pn$i = $664;$estr$2$i = 0; - } else { - $665 = ($e$4$ph$i|0)<(0); - $666 = $665 ? $620 : $e$4$ph$i; - $667 = ($666|0)<(0); - $668 = $667 << 31 >> 31; - $669 = (_fmt_u($666,$668,$5)|0); - $670 = $669; - $671 = (($8) - ($670))|0; - $672 = ($671|0)<(2); - if ($672) { - $estr$193$i = $669; - while(1) { - $673 = ((($estr$193$i)) + -1|0); - HEAP8[$673>>0] = 48; - $674 = $673; - $675 = (($8) - ($674))|0; - $676 = ($675|0)<(2); - if ($676) { - $estr$193$i = $673; - } else { - $estr$1$lcssa$i = $673; - break; - } - } - } else { - $estr$1$lcssa$i = $669; - } - $677 = $e$4$ph$i >> 31; - $678 = $677 & 2; - $679 = (($678) + 43)|0; - $680 = $679&255; - $681 = ((($estr$1$lcssa$i)) + -1|0); - HEAP8[$681>>0] = $680; - $682 = $$114$i&255; - $683 = ((($estr$1$lcssa$i)) + -2|0); - HEAP8[$683>>0] = $682; - $684 = $683; - $685 = (($8) - ($684))|0; - $$pn$i = $685;$estr$2$i = $683; - } - $686 = (($pl$0$i) + 1)|0; - $687 = (($686) + ($$311$i))|0; - $l$1$i = (($687) + ($660))|0; - $688 = (($l$1$i) + ($$pn$i))|0; - _pad($f,32,$w$1,$688,$fl$1$); - $689 = HEAP32[$f>>2]|0; - $690 = $689 & 32; - $691 = ($690|0)==(0); - if ($691) { - (___fwritex($prefix$0$i,$pl$0$i,$f)|0); - } - $692 = $fl$1$ ^ 65536; - _pad($f,48,$w$1,$688,$692); - do { - if ($662) { - $693 = ($a$8$ph$i>>>0)>($$31$i>>>0); - $r$0$a$8$i = $693 ? $$31$i : $a$8$ph$i; - $d$482$i = $r$0$a$8$i; - while(1) { - $694 = HEAP32[$d$482$i>>2]|0; - $695 = (_fmt_u($694,0,$13)|0); - $696 = ($d$482$i|0)==($r$0$a$8$i|0); - do { - if ($696) { - $700 = ($695|0)==($13|0); - if (!($700)) { - $s7$1$i = $695; - break; - } - HEAP8[$15>>0] = 48; - $s7$1$i = $15; - } else { - $697 = ($695>>>0)>($buf$i>>>0); - if ($697) { - $s7$079$i = $695; - } else { - $s7$1$i = $695; - break; - } - while(1) { - $698 = ((($s7$079$i)) + -1|0); - HEAP8[$698>>0] = 48; - $699 = ($698>>>0)>($buf$i>>>0); - if ($699) { - $s7$079$i = $698; - } else { - $s7$1$i = $698; - break; - } - } - } - } while(0); - $701 = HEAP32[$f>>2]|0; - $702 = $701 & 32; - $703 = ($702|0)==(0); - if ($703) { - $704 = $s7$1$i; - $705 = (($14) - ($704))|0; - (___fwritex($s7$1$i,$705,$f)|0); - } - $706 = ((($d$482$i)) + 4|0); - $707 = ($706>>>0)>($$31$i>>>0); - if ($707) { - $$lcssa339 = $706; - break; - } else { - $d$482$i = $706; - } - } - $708 = ($658|0)==(0); - do { - if (!($708)) { - $709 = HEAP32[$f>>2]|0; - $710 = $709 & 32; - $711 = ($710|0)==(0); - if (!($711)) { - break; - } - (___fwritex(33286,1,$f)|0); - } - } while(0); - $712 = ($$lcssa339>>>0)<($z$6$i$lcssa>>>0); - $713 = ($$311$i|0)>(0); - $714 = $713 & $712; - if ($714) { - $$41276$i = $$311$i;$d$575$i = $$lcssa339; - while(1) { - $715 = HEAP32[$d$575$i>>2]|0; - $716 = (_fmt_u($715,0,$13)|0); - $717 = ($716>>>0)>($buf$i>>>0); - if ($717) { - $s8$070$i = $716; - while(1) { - $718 = ((($s8$070$i)) + -1|0); - HEAP8[$718>>0] = 48; - $719 = ($718>>>0)>($buf$i>>>0); - if ($719) { - $s8$070$i = $718; - } else { - $s8$0$lcssa$i = $718; - break; - } - } - } else { - $s8$0$lcssa$i = $716; - } - $720 = HEAP32[$f>>2]|0; - $721 = $720 & 32; - $722 = ($721|0)==(0); - if ($722) { - $723 = ($$41276$i|0)>(9); - $724 = $723 ? 9 : $$41276$i; - (___fwritex($s8$0$lcssa$i,$724,$f)|0); - } - $725 = ((($d$575$i)) + 4|0); - $726 = (($$41276$i) + -9)|0; - $727 = ($725>>>0)<($z$6$i$lcssa>>>0); - $728 = ($$41276$i|0)>(9); - $729 = $728 & $727; - if ($729) { - $$41276$i = $726;$d$575$i = $725; - } else { - $$412$lcssa$i = $726; - break; - } - } - } else { - $$412$lcssa$i = $$311$i; - } - $730 = (($$412$lcssa$i) + 9)|0; - _pad($f,48,$730,9,0); - } else { - $731 = ((($a$8$ph$i)) + 4|0); - $z$6$$i = $$lcssa159$i ? $z$6$i$lcssa : $731; - $732 = ($$311$i|0)>(-1); - if ($732) { - $733 = ($$pre$phi184$iZ2D|0)==(0); - $$587$i = $$311$i;$d$686$i = $a$8$ph$i; - while(1) { - $734 = HEAP32[$d$686$i>>2]|0; - $735 = (_fmt_u($734,0,$13)|0); - $736 = ($735|0)==($13|0); - if ($736) { - HEAP8[$15>>0] = 48; - $s9$0$i = $15; - } else { - $s9$0$i = $735; - } - $737 = ($d$686$i|0)==($a$8$ph$i|0); - do { - if ($737) { - $741 = ((($s9$0$i)) + 1|0); - $742 = HEAP32[$f>>2]|0; - $743 = $742 & 32; - $744 = ($743|0)==(0); - if ($744) { - (___fwritex($s9$0$i,1,$f)|0); - } - $745 = ($$587$i|0)<(1); - $or$cond29$i = $733 & $745; - if ($or$cond29$i) { - $s9$2$i = $741; - break; - } - $746 = HEAP32[$f>>2]|0; - $747 = $746 & 32; - $748 = ($747|0)==(0); - if (!($748)) { - $s9$2$i = $741; - break; - } - (___fwritex(33286,1,$f)|0); - $s9$2$i = $741; - } else { - $738 = ($s9$0$i>>>0)>($buf$i>>>0); - if ($738) { - $s9$183$i = $s9$0$i; - } else { - $s9$2$i = $s9$0$i; - break; - } - while(1) { - $739 = ((($s9$183$i)) + -1|0); - HEAP8[$739>>0] = 48; - $740 = ($739>>>0)>($buf$i>>>0); - if ($740) { - $s9$183$i = $739; - } else { - $s9$2$i = $739; - break; - } - } - } - } while(0); - $749 = $s9$2$i; - $750 = (($14) - ($749))|0; - $751 = HEAP32[$f>>2]|0; - $752 = $751 & 32; - $753 = ($752|0)==(0); - if ($753) { - $754 = ($$587$i|0)>($750|0); - $755 = $754 ? $750 : $$587$i; - (___fwritex($s9$2$i,$755,$f)|0); - } - $756 = (($$587$i) - ($750))|0; - $757 = ((($d$686$i)) + 4|0); - $758 = ($757>>>0)<($z$6$$i>>>0); - $759 = ($756|0)>(-1); - $760 = $758 & $759; - if ($760) { - $$587$i = $756;$d$686$i = $757; - } else { - $$5$lcssa$i = $756; - break; - } - } - } else { - $$5$lcssa$i = $$311$i; - } - $761 = (($$5$lcssa$i) + 18)|0; - _pad($f,48,$761,18,0); - $762 = HEAP32[$f>>2]|0; - $763 = $762 & 32; - $764 = ($763|0)==(0); - if (!($764)) { - break; - } - $765 = $estr$2$i; - $766 = (($8) - ($765))|0; - (___fwritex($estr$2$i,$766,$f)|0); - } - } while(0); - $767 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$688,$767); - $768 = ($688|0)<($w$1|0); - $w$30$i = $768 ? $w$1 : $688; - $$0$i = $w$30$i; - } else { - $376 = $t$0 & 32; - $377 = ($376|0)!=(0); - $378 = $377 ? 33270 : 33274; - $379 = ($$07$i != $$07$i) | (0.0 != 0.0); - $380 = $377 ? 33278 : 33282; - $pl$1$i = $379 ? 0 : $pl$0$i; - $s1$0$i = $379 ? $380 : $378; - $381 = (($pl$1$i) + 3)|0; - _pad($f,32,$w$1,$381,$175); - $382 = HEAP32[$f>>2]|0; - $383 = $382 & 32; - $384 = ($383|0)==(0); - if ($384) { - (___fwritex($prefix$0$i,$pl$1$i,$f)|0); - $$pre$i = HEAP32[$f>>2]|0; - $386 = $$pre$i; - } else { - $386 = $382; - } - $385 = $386 & 32; - $387 = ($385|0)==(0); - if ($387) { - (___fwritex($s1$0$i,3,$f)|0); - } - $388 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$381,$388); - $389 = ($381|0)<($w$1|0); - $390 = $389 ? $w$1 : $381; - $$0$i = $390; - } - } while(0); - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $$0$i;$l10n$0 = $l10n$3; - continue L1; - break; - } - default: { - $a$2 = $fmt41;$fl$6 = $fl$1$;$p$5 = $p$0;$pl$2 = 0;$prefix$2 = 33234;$z$2 = $1; - } - } - } while(0); - L313: do { - if ((label|0) == 64) { - label = 0; - $206 = $arg; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - $209 = (($206) + 4)|0; - $210 = $209; - $211 = HEAP32[$210>>2]|0; - $212 = $t$1 & 32; - $213 = ($208|0)==(0); - $214 = ($211|0)==(0); - $215 = $213 & $214; - if ($215) { - $a$0 = $1;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 0;$prefix$1 = 33234; - label = 77; - } else { - $$012$i = $1;$217 = $208;$224 = $211; - while(1) { - $216 = $217 & 15; - $218 = (33218 + ($216)|0); - $219 = HEAP8[$218>>0]|0; - $220 = $219&255; - $221 = $220 | $212; - $222 = $221&255; - $223 = ((($$012$i)) + -1|0); - HEAP8[$223>>0] = $222; - $225 = (_bitshift64Lshr(($217|0),($224|0),4)|0); - $226 = tempRet0; - $227 = ($225|0)==(0); - $228 = ($226|0)==(0); - $229 = $227 & $228; - if ($229) { - $$lcssa344 = $223; - break; - } else { - $$012$i = $223;$217 = $225;$224 = $226; - } - } - $230 = $arg; - $231 = $230; - $232 = HEAP32[$231>>2]|0; - $233 = (($230) + 4)|0; - $234 = $233; - $235 = HEAP32[$234>>2]|0; - $236 = ($232|0)==(0); - $237 = ($235|0)==(0); - $238 = $236 & $237; - $239 = $fl$3 & 8; - $240 = ($239|0)==(0); - $or$cond17 = $240 | $238; - if ($or$cond17) { - $a$0 = $$lcssa344;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 0;$prefix$1 = 33234; - label = 77; - } else { - $241 = $t$1 >> 4; - $242 = (33234 + ($241)|0); - $a$0 = $$lcssa344;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 2;$prefix$1 = $242; - label = 77; - } - } - } - else if ((label|0) == 76) { - label = 0; - $288 = (_fmt_u($286,$287,$1)|0); - $a$0 = $288;$fl$4 = $fl$1$;$p$2 = $p$0;$pl$1 = $pl$0;$prefix$1 = $prefix$0; - label = 77; - } - else if ((label|0) == 82) { - label = 0; - $320 = (_memchr($a$1,0,$p$0)|0); - $321 = ($320|0)==(0|0); - $322 = $320; - $323 = $a$1; - $324 = (($322) - ($323))|0; - $325 = (($a$1) + ($p$0)|0); - $z$1 = $321 ? $325 : $320; - $p$3 = $321 ? $p$0 : $324; - $a$2 = $a$1;$fl$6 = $175;$p$5 = $p$3;$pl$2 = 0;$prefix$2 = 33234;$z$2 = $z$1; - } - else if ((label|0) == 86) { - label = 0; - $333 = HEAP32[$arg>>2]|0; - $i$0114 = 0;$l$1113 = 0;$ws$0115 = $333; - while(1) { - $334 = HEAP32[$ws$0115>>2]|0; - $335 = ($334|0)==(0); - if ($335) { - $i$0$lcssa = $i$0114;$l$2 = $l$1113; - break; - } - $336 = (_wctomb($mb,$334)|0); - $337 = ($336|0)<(0); - $338 = (($p$4198) - ($i$0114))|0; - $339 = ($336>>>0)>($338>>>0); - $or$cond20 = $337 | $339; - if ($or$cond20) { - $i$0$lcssa = $i$0114;$l$2 = $336; - break; - } - $340 = ((($ws$0115)) + 4|0); - $341 = (($336) + ($i$0114))|0; - $342 = ($p$4198>>>0)>($341>>>0); - if ($342) { - $i$0114 = $341;$l$1113 = $336;$ws$0115 = $340; - } else { - $i$0$lcssa = $341;$l$2 = $336; - break; - } - } - $343 = ($l$2|0)<(0); - if ($343) { - $$0 = -1; - break L1; - } - _pad($f,32,$w$1,$i$0$lcssa,$fl$1$); - $344 = ($i$0$lcssa|0)==(0); - if ($344) { - $i$0$lcssa200 = 0; - label = 98; - } else { - $345 = HEAP32[$arg>>2]|0; - $i$1125 = 0;$ws$1126 = $345; - while(1) { - $346 = HEAP32[$ws$1126>>2]|0; - $347 = ($346|0)==(0); - if ($347) { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break L313; - } - $348 = ((($ws$1126)) + 4|0); - $349 = (_wctomb($mb,$346)|0); - $350 = (($349) + ($i$1125))|0; - $351 = ($350|0)>($i$0$lcssa|0); - if ($351) { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break L313; - } - $352 = HEAP32[$f>>2]|0; - $353 = $352 & 32; - $354 = ($353|0)==(0); - if ($354) { - (___fwritex($mb,$349,$f)|0); - } - $355 = ($350>>>0)<($i$0$lcssa>>>0); - if ($355) { - $i$1125 = $350;$ws$1126 = $348; - } else { - $i$0$lcssa200 = $i$0$lcssa; - label = 98; - break; - } - } - } - } - } while(0); - if ((label|0) == 98) { - label = 0; - $356 = $fl$1$ ^ 8192; - _pad($f,32,$w$1,$i$0$lcssa200,$356); - $357 = ($w$1|0)>($i$0$lcssa200|0); - $358 = $357 ? $w$1 : $i$0$lcssa200; - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $358;$l10n$0 = $l10n$3; - continue; - } - if ((label|0) == 77) { - label = 0; - $289 = ($p$2|0)>(-1); - $290 = $fl$4 & -65537; - $$fl$4 = $289 ? $290 : $fl$4; - $291 = $arg; - $292 = $291; - $293 = HEAP32[$292>>2]|0; - $294 = (($291) + 4)|0; - $295 = $294; - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)!=(0); - $298 = ($296|0)!=(0); - $299 = $297 | $298; - $300 = ($p$2|0)!=(0); - $or$cond = $300 | $299; - if ($or$cond) { - $301 = $a$0; - $302 = (($2) - ($301))|0; - $303 = $299&1; - $304 = $303 ^ 1; - $305 = (($304) + ($302))|0; - $306 = ($p$2|0)>($305|0); - $p$2$ = $306 ? $p$2 : $305; - $a$2 = $a$0;$fl$6 = $$fl$4;$p$5 = $p$2$;$pl$2 = $pl$1;$prefix$2 = $prefix$1;$z$2 = $1; - } else { - $a$2 = $1;$fl$6 = $$fl$4;$p$5 = 0;$pl$2 = $pl$1;$prefix$2 = $prefix$1;$z$2 = $1; - } - } - $769 = $z$2; - $770 = $a$2; - $771 = (($769) - ($770))|0; - $772 = ($p$5|0)<($771|0); - $$p$5 = $772 ? $771 : $p$5; - $773 = (($pl$2) + ($$p$5))|0; - $774 = ($w$1|0)<($773|0); - $w$2 = $774 ? $773 : $w$1; - _pad($f,32,$w$2,$773,$fl$6); - $775 = HEAP32[$f>>2]|0; - $776 = $775 & 32; - $777 = ($776|0)==(0); - if ($777) { - (___fwritex($prefix$2,$pl$2,$f)|0); - } - $778 = $fl$6 ^ 65536; - _pad($f,48,$w$2,$773,$778); - _pad($f,48,$$p$5,$771,0); - $779 = HEAP32[$f>>2]|0; - $780 = $779 & 32; - $781 = ($780|0)==(0); - if ($781) { - (___fwritex($a$2,$771,$f)|0); - } - $782 = $fl$6 ^ 8192; - _pad($f,32,$w$2,$773,$782); - $cnt$0 = $cnt$1;$fmt41 = $$lcssa323;$l$0 = $w$2;$l10n$0 = $l10n$3; - } - L348: do { - if ((label|0) == 245) { - $783 = ($f|0)==(0|0); - if ($783) { - $784 = ($l10n$0$lcssa|0)==(0); - if ($784) { - $$0 = 0; - } else { - $i$2100 = 1; - while(1) { - $785 = (($nl_type) + ($i$2100<<2)|0); - $786 = HEAP32[$785>>2]|0; - $787 = ($786|0)==(0); - if ($787) { - $i$2100$lcssa = $i$2100; - break; - } - $789 = (($nl_arg) + ($i$2100<<3)|0); - _pop_arg($789,$786,$ap); - $790 = (($i$2100) + 1)|0; - $791 = ($790|0)<(10); - if ($791) { - $i$2100 = $790; - } else { - $$0 = 1; - break L348; - } - } - $788 = ($i$2100$lcssa|0)<(10); - if ($788) { - $i$398 = $i$2100$lcssa; - while(1) { - $794 = (($nl_type) + ($i$398<<2)|0); - $795 = HEAP32[$794>>2]|0; - $796 = ($795|0)==(0); - $792 = (($i$398) + 1)|0; - if (!($796)) { - $$0 = -1; - break L348; - } - $793 = ($792|0)<(10); - if ($793) { - $i$398 = $792; - } else { - $$0 = 1; - break; - } - } - } else { - $$0 = 1; - } - } - } else { - $$0 = $cnt$1$lcssa; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _do_read($f,$buf,$len) { - $f = $f|0; - $buf = $buf|0; - $len = $len|0; - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___string_read($f,$buf,$len)|0); - return ($0|0); -} -function _cleanup521($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 68|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - ___unlockfile($p); - } - return; -} -function _cleanup526($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 68|0); - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - ___unlockfile($p); - } - return; -} -function _sift($head,$width,$cmp,$pshift,$lp) { - $head = $head|0; - $width = $width|0; - $cmp = $cmp|0; - $pshift = $pshift|0; - $lp = $lp|0; - var $$0$be = 0, $$01$be = 0, $$012 = 0, $$03 = 0, $$pre = 0, $$sum = 0, $0 = 0, $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; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ar = 0, $i$0$lcssa = 0, $i$04 = 0, $sum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; - $ar = sp; - HEAP32[$ar>>2] = $head; - $0 = ($pshift|0)>(1); - L1: do { - if ($0) { - $1 = (0 - ($width))|0; - $$012 = $pshift;$$03 = $head;$7 = $head;$i$04 = 1; - while(1) { - $2 = (($$03) + ($1)|0); - $3 = (($$012) + -2)|0; - $4 = (($lp) + ($3<<2)|0); - $5 = HEAP32[$4>>2]|0; - $sum = (($5) + ($width))|0; - $$sum = (0 - ($sum))|0; - $6 = (($$03) + ($$sum)|0); - $8 = (FUNCTION_TABLE_iii[$cmp & 7]($7,$6)|0); - $9 = ($8|0)>(-1); - if ($9) { - $10 = (FUNCTION_TABLE_iii[$cmp & 7]($7,$2)|0); - $11 = ($10|0)>(-1); - if ($11) { - $i$0$lcssa = $i$04; - break L1; - } - } - $12 = (FUNCTION_TABLE_iii[$cmp & 7]($6,$2)|0); - $13 = ($12|0)>(-1); - $14 = (($i$04) + 1)|0; - $15 = (($ar) + ($i$04<<2)|0); - if ($13) { - HEAP32[$15>>2] = $6; - $16 = (($$012) + -1)|0; - $$0$be = $6;$$01$be = $16; - } else { - HEAP32[$15>>2] = $2; - $$0$be = $2;$$01$be = $3; - } - $17 = ($$01$be|0)>(1); - if (!($17)) { - $i$0$lcssa = $14; - break L1; - } - $$pre = HEAP32[$ar>>2]|0; - $$012 = $$01$be;$$03 = $$0$be;$7 = $$pre;$i$04 = $14; - } - } else { - $i$0$lcssa = 1; - } - } while(0); - _cycle($width,$ar,$i$0$lcssa); - STACKTOP = sp;return; -} -function _trinkle($head,$width,$cmp,$pp,$pshift,$trusty,$lp) { - $head = $head|0; - $width = $width|0; - $cmp = $cmp|0; - $pp = $pp|0; - $pshift = $pshift|0; - $trusty = $trusty|0; - $lp = $lp|0; - var $$0$i = 0, $$0$lcssa = 0, $$0$lcssa49 = 0, $$01162 = 0, $$01162$phi = 0, $$02$i$i = 0, $$02$i3$i = 0, $$02$lcssa = 0, $$02$lcssa51 = 0, $$02964 = 0, $$03$lcssa = 0, $$03865 = 0, $$lcssa = 0, $$lcssa75 = 0, $$pre = 0, $$sum = 0, $0 = 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, $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, $7 = 0, $8 = 0, $9 = 0, $ar = 0, $i$0$lcssa = 0, $i$0$lcssa50 = 0, $i$01063 = 0, $nTrailingZeros$03$i$i = 0, $nTrailingZeros$03$i2$i = 0, $nTrailingZeros$03$i2$i$lcssa = 0, $or$cond = 0, $phitmp = 0, $sum = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 240|0; - $ar = sp; - $0 = HEAP32[$pp>>2]|0; - $1 = ((($pp)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[$ar>>2] = $head; - $3 = (0 - ($width))|0; - $4 = ($0|0)!=(1); - $5 = ($2|0)!=(0); - $6 = $5 | $4; - L1: do { - if ($6) { - $7 = (($lp) + ($pshift<<2)|0); - $8 = HEAP32[$7>>2]|0; - $9 = (0 - ($8))|0; - $10 = (($head) + ($9)|0); - $11 = (FUNCTION_TABLE_iii[$cmp & 7]($10,$head)|0); - $12 = ($11|0)<(1); - if ($12) { - $$0$lcssa = $head;$$02$lcssa = $pshift;$$03$lcssa = $trusty;$i$0$lcssa = 1; - label = 19; - } else { - $phitmp = ($trusty|0)==(0); - $$01162 = $head;$$02964 = $pshift;$$03865 = $phitmp;$18 = $10;$27 = $0;$36 = $2;$i$01063 = 1; - while(1) { - $13 = ($$02964|0)>(1); - $or$cond = $$03865 & $13; - if ($or$cond) { - $14 = (($$01162) + ($3)|0); - $15 = (($$02964) + -2)|0; - $16 = (($lp) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $19 = (FUNCTION_TABLE_iii[$cmp & 7]($14,$18)|0); - $20 = ($19|0)>(-1); - if ($20) { - $$0$lcssa49 = $$01162;$$02$lcssa51 = $$02964;$i$0$lcssa50 = $i$01063; - label = 20; - break L1; - } - $sum = (($17) + ($width))|0; - $$sum = (0 - ($sum))|0; - $21 = (($$01162) + ($$sum)|0); - $22 = (FUNCTION_TABLE_iii[$cmp & 7]($21,$18)|0); - $23 = ($22|0)>(-1); - if ($23) { - $$0$lcssa49 = $$01162;$$02$lcssa51 = $$02964;$i$0$lcssa50 = $i$01063; - label = 20; - break L1; - } - } - $24 = (($i$01063) + 1)|0; - $25 = (($ar) + ($i$01063<<2)|0); - HEAP32[$25>>2] = $18; - $26 = (($27) + -1)|0; - $28 = ($26|0)==(0); - do { - if ($28) { - $49 = 32; - label = 16; - } else { - $29 = $26 & 1; - $30 = ($29|0)==(0); - if ($30) { - $$02$i$i = $26;$nTrailingZeros$03$i$i = 0; - while(1) { - $31 = (($nTrailingZeros$03$i$i) + 1)|0; - $32 = $$02$i$i >>> 1; - $33 = $32 & 1; - $34 = ($33|0)==(0); - if ($34) { - $$02$i$i = $32;$nTrailingZeros$03$i$i = $31; - } else { - $$lcssa = $31; - break; - } - } - $35 = ($$lcssa|0)==(0); - if ($35) { - label = 11; - } else { - $46 = $$lcssa; - } - } else { - label = 11; - } - if ((label|0) == 11) { - label = 0; - $37 = ($36|0)==(0); - if ($37) { - $49 = 64; - label = 16; - break; - } - $38 = $36 & 1; - $39 = ($38|0)==(0); - if ($39) { - $$02$i3$i = $36;$nTrailingZeros$03$i2$i = 0; - } else { - $$0$i = 0;$51 = $27;$54 = $36;$58 = 0; - break; - } - while(1) { - $40 = (($nTrailingZeros$03$i2$i) + 1)|0; - $41 = $$02$i3$i >>> 1; - $42 = $41 & 1; - $43 = ($42|0)==(0); - if ($43) { - $$02$i3$i = $41;$nTrailingZeros$03$i2$i = $40; - } else { - $$lcssa75 = $40;$nTrailingZeros$03$i2$i$lcssa = $nTrailingZeros$03$i2$i; - break; - } - } - $44 = (($nTrailingZeros$03$i2$i$lcssa) + 33)|0; - $45 = ($$lcssa75|0)==(0); - if ($45) { - $$0$i = 0;$51 = $27;$54 = $36;$58 = 0; - break; - } else { - $46 = $44; - } - } - $47 = ($46>>>0)>(31); - if ($47) { - $49 = $46; - label = 16; - } else { - $$0$i = $46;$51 = $27;$54 = $36;$58 = $46; - } - } - } while(0); - if ((label|0) == 16) { - label = 0; - $48 = (($49) + -32)|0; - $$0$i = $48;$51 = $36;$54 = 0;$58 = $49; - } - $50 = $51 >>> $$0$i; - $52 = (32 - ($$0$i))|0; - $53 = $54 << $52; - $55 = $53 | $50; - $56 = $54 >>> $$0$i; - $57 = (($58) + ($$02964))|0; - $59 = ($55|0)!=(1); - $60 = ($56|0)!=(0); - $61 = $60 | $59; - if (!($61)) { - $$0$lcssa49 = $18;$$02$lcssa51 = $57;$i$0$lcssa50 = $24; - label = 20; - break L1; - } - $$pre = HEAP32[$ar>>2]|0; - $62 = (($lp) + ($57<<2)|0); - $63 = HEAP32[$62>>2]|0; - $64 = (0 - ($63))|0; - $65 = (($18) + ($64)|0); - $66 = (FUNCTION_TABLE_iii[$cmp & 7]($65,$$pre)|0); - $67 = ($66|0)<(1); - if ($67) { - $$0$lcssa = $18;$$02$lcssa = $57;$$03$lcssa = 0;$i$0$lcssa = $24; - label = 19; - break; - } else { - $$01162$phi = $18;$$02964 = $57;$$03865 = 1;$18 = $65;$27 = $55;$36 = $56;$i$01063 = $24;$$01162 = $$01162$phi; - } - } - } - } else { - $$0$lcssa = $head;$$02$lcssa = $pshift;$$03$lcssa = $trusty;$i$0$lcssa = 1; - label = 19; - } - } while(0); - if ((label|0) == 19) { - $68 = ($$03$lcssa|0)==(0); - if ($68) { - $$0$lcssa49 = $$0$lcssa;$$02$lcssa51 = $$02$lcssa;$i$0$lcssa50 = $i$0$lcssa; - label = 20; - } - } - if ((label|0) == 20) { - _cycle($width,$ar,$i$0$lcssa50); - _sift($$0$lcssa49,$width,$cmp,$$02$lcssa51,$lp); - } - STACKTOP = sp;return; -} -function _cycle($width,$ar,$n) { - $width = $width|0; - $ar = $ar|0; - $n = $n|0; - var $$02 = 0, $$pre = 0, $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, $exitcond = 0, $i$01 = 0; - var $tmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $tmp = sp; - $0 = ($n|0)<(2); - L1: do { - if (!($0)) { - $1 = (($ar) + ($n<<2)|0); - HEAP32[$1>>2] = $tmp; - $2 = ($width|0)==(0); - if (!($2)) { - $$02 = $width;$6 = $tmp; - while(1) { - $3 = ($$02>>>0)>(256); - $4 = $3 ? 256 : $$02; - $5 = HEAP32[$ar>>2]|0; - _memcpy(($6|0),($5|0),($4|0))|0; - $i$01 = 0; - while(1) { - $7 = (($ar) + ($i$01<<2)|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($i$01) + 1)|0; - $10 = (($ar) + ($9<<2)|0); - $11 = HEAP32[$10>>2]|0; - _memcpy(($8|0),($11|0),($4|0))|0; - $12 = HEAP32[$7>>2]|0; - $13 = (($12) + ($4)|0); - HEAP32[$7>>2] = $13; - $exitcond = ($9|0)==($n|0); - if ($exitcond) { - break; - } else { - $i$01 = $9; - } - } - $14 = ($$02|0)==($4|0); - if ($14) { - break L1; - } - $15 = (($$02) - ($4))|0; - $$pre = HEAP32[$1>>2]|0; - $$02 = $15;$6 = $$pre; - } - } - } - } while(0); - STACKTOP = sp;return; -} -function _sn_write($f,$s,$l) { - $f = $f|0; - $s = $s|0; - $l = $l|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($f)) + 16|0); - $1 = HEAP32[$0>>2]|0; - $2 = ((($f)) + 20|0); - $3 = HEAP32[$2>>2]|0; - $4 = $1; - $5 = $3; - $6 = (($4) - ($5))|0; - $7 = ($6>>>0)>($l>>>0); - $l$ = $7 ? $l : $6; - _memcpy(($3|0),($s|0),($l$|0))|0; - $8 = HEAP32[$2>>2]|0; - $9 = (($8) + ($l$)|0); - HEAP32[$2>>2] = $9; - return ($l|0); -} -function _pop_arg($arg,$type,$ap) { - $arg = $arg|0; - $type = $type|0; - $ap = $ap|0; - var $$mask = 0, $$mask1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0.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, $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; - $0 = ($type>>>0)>(20); - L1: do { - if (!($0)) { - do { - switch ($type|0) { - case 9: { - $arglist_current = HEAP32[$ap>>2]|0; - $1 = $arglist_current; - $2 = ((0) + 4|0); - $expanded28 = $2; - $expanded = (($expanded28) - 1)|0; - $3 = (($1) + ($expanded))|0; - $4 = ((0) + 4|0); - $expanded32 = $4; - $expanded31 = (($expanded32) - 1)|0; - $expanded30 = $expanded31 ^ -1; - $5 = $3 & $expanded30; - $6 = $5; - $7 = HEAP32[$6>>2]|0; - $arglist_next = ((($6)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - HEAP32[$arg>>2] = $7; - break L1; - break; - } - case 10: { - $arglist_current2 = HEAP32[$ap>>2]|0; - $8 = $arglist_current2; - $9 = ((0) + 4|0); - $expanded35 = $9; - $expanded34 = (($expanded35) - 1)|0; - $10 = (($8) + ($expanded34))|0; - $11 = ((0) + 4|0); - $expanded39 = $11; - $expanded38 = (($expanded39) - 1)|0; - $expanded37 = $expanded38 ^ -1; - $12 = $10 & $expanded37; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $arglist_next3 = ((($13)) + 4|0); - HEAP32[$ap>>2] = $arglist_next3; - $15 = ($14|0)<(0); - $16 = $15 << 31 >> 31; - $17 = $arg; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (($17) + 4)|0; - $20 = $19; - HEAP32[$20>>2] = $16; - break L1; - break; - } - case 11: { - $arglist_current5 = HEAP32[$ap>>2]|0; - $21 = $arglist_current5; - $22 = ((0) + 4|0); - $expanded42 = $22; - $expanded41 = (($expanded42) - 1)|0; - $23 = (($21) + ($expanded41))|0; - $24 = ((0) + 4|0); - $expanded46 = $24; - $expanded45 = (($expanded46) - 1)|0; - $expanded44 = $expanded45 ^ -1; - $25 = $23 & $expanded44; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $arglist_next6 = ((($26)) + 4|0); - HEAP32[$ap>>2] = $arglist_next6; - $28 = $arg; - $29 = $28; - HEAP32[$29>>2] = $27; - $30 = (($28) + 4)|0; - $31 = $30; - HEAP32[$31>>2] = 0; - break L1; - break; - } - case 12: { - $arglist_current8 = HEAP32[$ap>>2]|0; - $32 = $arglist_current8; - $33 = ((0) + 8|0); - $expanded49 = $33; - $expanded48 = (($expanded49) - 1)|0; - $34 = (($32) + ($expanded48))|0; - $35 = ((0) + 8|0); - $expanded53 = $35; - $expanded52 = (($expanded53) - 1)|0; - $expanded51 = $expanded52 ^ -1; - $36 = $34 & $expanded51; - $37 = $36; - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $arglist_next9 = ((($37)) + 8|0); - HEAP32[$ap>>2] = $arglist_next9; - $44 = $arg; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - break L1; - break; - } - case 13: { - $arglist_current11 = HEAP32[$ap>>2]|0; - $48 = $arglist_current11; - $49 = ((0) + 4|0); - $expanded56 = $49; - $expanded55 = (($expanded56) - 1)|0; - $50 = (($48) + ($expanded55))|0; - $51 = ((0) + 4|0); - $expanded60 = $51; - $expanded59 = (($expanded60) - 1)|0; - $expanded58 = $expanded59 ^ -1; - $52 = $50 & $expanded58; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $arglist_next12 = ((($53)) + 4|0); - HEAP32[$ap>>2] = $arglist_next12; - $55 = $54&65535; - $56 = $55 << 16 >> 16; - $57 = ($56|0)<(0); - $58 = $57 << 31 >> 31; - $59 = $arg; - $60 = $59; - HEAP32[$60>>2] = $56; - $61 = (($59) + 4)|0; - $62 = $61; - HEAP32[$62>>2] = $58; - break L1; - break; - } - case 14: { - $arglist_current14 = HEAP32[$ap>>2]|0; - $63 = $arglist_current14; - $64 = ((0) + 4|0); - $expanded63 = $64; - $expanded62 = (($expanded63) - 1)|0; - $65 = (($63) + ($expanded62))|0; - $66 = ((0) + 4|0); - $expanded67 = $66; - $expanded66 = (($expanded67) - 1)|0; - $expanded65 = $expanded66 ^ -1; - $67 = $65 & $expanded65; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $arglist_next15 = ((($68)) + 4|0); - HEAP32[$ap>>2] = $arglist_next15; - $$mask1 = $69 & 65535; - $70 = $arg; - $71 = $70; - HEAP32[$71>>2] = $$mask1; - $72 = (($70) + 4)|0; - $73 = $72; - HEAP32[$73>>2] = 0; - break L1; - break; - } - case 15: { - $arglist_current17 = HEAP32[$ap>>2]|0; - $74 = $arglist_current17; - $75 = ((0) + 4|0); - $expanded70 = $75; - $expanded69 = (($expanded70) - 1)|0; - $76 = (($74) + ($expanded69))|0; - $77 = ((0) + 4|0); - $expanded74 = $77; - $expanded73 = (($expanded74) - 1)|0; - $expanded72 = $expanded73 ^ -1; - $78 = $76 & $expanded72; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $arglist_next18 = ((($79)) + 4|0); - HEAP32[$ap>>2] = $arglist_next18; - $81 = $80&255; - $82 = $81 << 24 >> 24; - $83 = ($82|0)<(0); - $84 = $83 << 31 >> 31; - $85 = $arg; - $86 = $85; - HEAP32[$86>>2] = $82; - $87 = (($85) + 4)|0; - $88 = $87; - HEAP32[$88>>2] = $84; - break L1; - break; - } - case 16: { - $arglist_current20 = HEAP32[$ap>>2]|0; - $89 = $arglist_current20; - $90 = ((0) + 4|0); - $expanded77 = $90; - $expanded76 = (($expanded77) - 1)|0; - $91 = (($89) + ($expanded76))|0; - $92 = ((0) + 4|0); - $expanded81 = $92; - $expanded80 = (($expanded81) - 1)|0; - $expanded79 = $expanded80 ^ -1; - $93 = $91 & $expanded79; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $arglist_next21 = ((($94)) + 4|0); - HEAP32[$ap>>2] = $arglist_next21; - $$mask = $95 & 255; - $96 = $arg; - $97 = $96; - HEAP32[$97>>2] = $$mask; - $98 = (($96) + 4)|0; - $99 = $98; - HEAP32[$99>>2] = 0; - break L1; - break; - } - case 17: { - $arglist_current23 = HEAP32[$ap>>2]|0; - $100 = $arglist_current23; - $101 = ((0) + 8|0); - $expanded84 = $101; - $expanded83 = (($expanded84) - 1)|0; - $102 = (($100) + ($expanded83))|0; - $103 = ((0) + 8|0); - $expanded88 = $103; - $expanded87 = (($expanded88) - 1)|0; - $expanded86 = $expanded87 ^ -1; - $104 = $102 & $expanded86; - $105 = $104; - $106 = +HEAPF64[$105>>3]; - $arglist_next24 = ((($105)) + 8|0); - HEAP32[$ap>>2] = $arglist_next24; - HEAPF64[$arg>>3] = $106; - break L1; - break; - } - case 18: { - $arglist_current26 = HEAP32[$ap>>2]|0; - $107 = $arglist_current26; - $108 = ((0) + 8|0); - $expanded91 = $108; - $expanded90 = (($expanded91) - 1)|0; - $109 = (($107) + ($expanded90))|0; - $110 = ((0) + 8|0); - $expanded95 = $110; - $expanded94 = (($expanded95) - 1)|0; - $expanded93 = $expanded94 ^ -1; - $111 = $109 & $expanded93; - $112 = $111; - $113 = +HEAPF64[$112>>3]; - $arglist_next27 = ((($112)) + 8|0); - HEAP32[$ap>>2] = $arglist_next27; - HEAPF64[$arg>>3] = $113; - break L1; - break; - } - default: { - break L1; - } - } - } while(0); - } - } while(0); - return; -} -function _fmt_u($0,$1,$s) { - $0 = $0|0; - $1 = $1|0; - $s = $s|0; - var $$0$lcssa = 0, $$01$lcssa$off0 = 0, $$05 = 0, $$1$lcssa = 0, $$12 = 0, $$lcssa20 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $y$03 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1>>>0)>(0); - $3 = ($0>>>0)>(4294967295); - $4 = ($1|0)==(0); - $5 = $4 & $3; - $6 = $2 | $5; - if ($6) { - $$05 = $s;$7 = $0;$8 = $1; - while(1) { - $9 = (___uremdi3(($7|0),($8|0),10,0)|0); - $10 = tempRet0; - $11 = $9 | 48; - $12 = $11&255; - $13 = ((($$05)) + -1|0); - HEAP8[$13>>0] = $12; - $14 = (___udivdi3(($7|0),($8|0),10,0)|0); - $15 = tempRet0; - $16 = ($8>>>0)>(9); - $17 = ($7>>>0)>(4294967295); - $18 = ($8|0)==(9); - $19 = $18 & $17; - $20 = $16 | $19; - if ($20) { - $$05 = $13;$7 = $14;$8 = $15; - } else { - $$lcssa20 = $13;$28 = $14;$29 = $15; - break; - } - } - $$0$lcssa = $$lcssa20;$$01$lcssa$off0 = $28; - } else { - $$0$lcssa = $s;$$01$lcssa$off0 = $0; - } - $21 = ($$01$lcssa$off0|0)==(0); - if ($21) { - $$1$lcssa = $$0$lcssa; - } else { - $$12 = $$0$lcssa;$y$03 = $$01$lcssa$off0; - while(1) { - $22 = (($y$03>>>0) % 10)&-1; - $23 = $22 | 48; - $24 = $23&255; - $25 = ((($$12)) + -1|0); - HEAP8[$25>>0] = $24; - $26 = (($y$03>>>0) / 10)&-1; - $27 = ($y$03>>>0)<(10); - if ($27) { - $$1$lcssa = $25; - break; - } else { - $$12 = $25;$y$03 = $26; - } - } - } - return ($$1$lcssa|0); -} -function _pad($f,$c,$w,$l,$fl) { - $f = $f|0; - $c = $c|0; - $w = $w|0; - $l = $l|0; - $fl = $fl|0; - var $$0$lcssa6 = 0, $$02 = 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; - var $8 = 0, $9 = 0, $or$cond = 0, $pad = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; - $pad = sp; - $0 = $fl & 73728; - $1 = ($0|0)==(0); - $2 = ($w|0)>($l|0); - $or$cond = $2 & $1; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ($0>>>0)<(245); do { - if ($or$cond) { - $3 = (($w) - ($l))|0; - $4 = ($3>>>0)>(256); - $5 = $4 ? 256 : $3; - _memset(($pad|0),($c|0),($5|0))|0; - $6 = ($3>>>0)>(255); - $7 = HEAP32[$f>>2]|0; - $8 = $7 & 32; - $9 = ($8|0)==(0); - if ($6) { - $10 = (($w) - ($l))|0; - $$02 = $3;$17 = $7;$18 = $9; - while(1) { - if ($18) { - (___fwritex($pad,256,$f)|0); - $$pre = HEAP32[$f>>2]|0; - $14 = $$pre; - } else { - $14 = $17; - } - $11 = (($$02) + -256)|0; - $12 = ($11>>>0)>(255); - $13 = $14 & 32; - $15 = ($13|0)==(0); - if ($12) { - $$02 = $11;$17 = $14;$18 = $15; - } else { - break; - } - } - $16 = $10 & 255; - if ($15) { - $$0$lcssa6 = $16; - } else { - break; - } - } else { - if ($9) { - $$0$lcssa6 = $3; - } else { - break; - } - } - (___fwritex($pad,$$0$lcssa6,$f)|0); - } - } while(0); - STACKTOP = sp;return; -} -function _malloc($bytes) { - $bytes = $bytes|0; - var $$3$i = 0, $$lcssa = 0, $$lcssa211 = 0, $$lcssa215 = 0, $$lcssa216 = 0, $$lcssa217 = 0, $$lcssa219 = 0, $$lcssa222 = 0, $$lcssa224 = 0, $$lcssa226 = 0, $$lcssa228 = 0, $$lcssa230 = 0, $$lcssa232 = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i22$i = 0, $$pre$i25 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i23$iZ2D = 0; - var $$pre$phi$i26Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi58$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre105 = 0, $$pre106 = 0, $$pre14$i$i = 0, $$pre43$i = 0, $$pre56$i$i = 0, $$pre57$i$i = 0, $$pre8$i = 0, $$rsize$0$i = 0, $$rsize$3$i = 0, $$sum = 0, $$sum$i$i = 0, $$sum$i$i$i = 0, $$sum$i13$i = 0, $$sum$i14$i = 0, $$sum$i17$i = 0, $$sum$i19$i = 0; - var $$sum$i2334 = 0, $$sum$i32 = 0, $$sum$i35 = 0, $$sum1 = 0, $$sum1$i = 0, $$sum1$i$i = 0, $$sum1$i15$i = 0, $$sum1$i20$i = 0, $$sum1$i24 = 0, $$sum10 = 0, $$sum10$i = 0, $$sum10$i$i = 0, $$sum11$i = 0, $$sum11$i$i = 0, $$sum1112 = 0, $$sum112$i = 0, $$sum113$i = 0, $$sum114$i = 0, $$sum115$i = 0, $$sum116$i = 0; - var $$sum117$i = 0, $$sum118$i = 0, $$sum119$i = 0, $$sum12$i = 0, $$sum12$i$i = 0, $$sum120$i = 0, $$sum121$i = 0, $$sum122$i = 0, $$sum123$i = 0, $$sum124$i = 0, $$sum125$i = 0, $$sum13$i = 0, $$sum13$i$i = 0, $$sum14$i$i = 0, $$sum15$i = 0, $$sum15$i$i = 0, $$sum16$i = 0, $$sum16$i$i = 0, $$sum17$i = 0, $$sum17$i$i = 0; - var $$sum18$i = 0, $$sum1819$i$i = 0, $$sum2 = 0, $$sum2$i = 0, $$sum2$i$i = 0, $$sum2$i$i$i = 0, $$sum2$i16$i = 0, $$sum2$i18$i = 0, $$sum2$i21$i = 0, $$sum20$i$i = 0, $$sum21$i$i = 0, $$sum22$i$i = 0, $$sum23$i$i = 0, $$sum24$i$i = 0, $$sum25$i$i = 0, $$sum27$i$i = 0, $$sum28$i$i = 0, $$sum29$i$i = 0, $$sum3$i = 0, $$sum3$i27 = 0; - var $$sum30$i$i = 0, $$sum3132$i$i = 0, $$sum34$i$i = 0, $$sum3536$i$i = 0, $$sum3738$i$i = 0, $$sum39$i$i = 0, $$sum4 = 0, $$sum4$i = 0, $$sum4$i$i = 0, $$sum4$i28 = 0, $$sum40$i$i = 0, $$sum41$i$i = 0, $$sum42$i$i = 0, $$sum5$i = 0, $$sum5$i$i = 0, $$sum56 = 0, $$sum6$i = 0, $$sum67$i$i = 0, $$sum7$i = 0, $$sum8$i = 0; - var $$sum9 = 0, $$sum9$i = 0, $$sum9$i$i = 0, $$tsize$1$i = 0, $$v$0$i = 0, $0 = 0, $1 = 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, $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, $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, $F$0$i$i = 0, $F1$0$i = 0, $F4$0 = 0, $F4$0$i$i = 0; - var $F5$0$i = 0, $I1$0$i$i = 0, $I7$0$i = 0, $I7$0$i$i = 0, $K12$029$i = 0, $K2$07$i$i = 0, $K8$051$i$i = 0, $R$0$i = 0, $R$0$i$i = 0, $R$0$i$i$lcssa = 0, $R$0$i$lcssa = 0, $R$0$i18 = 0, $R$0$i18$lcssa = 0, $R$1$i = 0, $R$1$i$i = 0, $R$1$i20 = 0, $RP$0$i = 0, $RP$0$i$i = 0, $RP$0$i$i$lcssa = 0, $RP$0$i$lcssa = 0; - var $RP$0$i17 = 0, $RP$0$i17$lcssa = 0, $T$0$lcssa$i = 0, $T$0$lcssa$i$i = 0, $T$0$lcssa$i25$i = 0, $T$028$i = 0, $T$028$i$lcssa = 0, $T$050$i$i = 0, $T$050$i$i$lcssa = 0, $T$06$i$i = 0, $T$06$i$i$lcssa = 0, $br$0$ph$i = 0, $cond$i = 0, $cond$i$i = 0, $cond$i21 = 0, $exitcond$i$i = 0, $i$02$i$i = 0, $idx$0$i = 0, $mem$0 = 0, $nb$0 = 0; - var $not$$i = 0, $not$$i$i = 0, $not$$i26$i = 0, $oldfirst$0$i$i = 0, $or$cond$i = 0, $or$cond$i30 = 0, $or$cond1$i = 0, $or$cond19$i = 0, $or$cond2$i = 0, $or$cond3$i = 0, $or$cond5$i = 0, $or$cond57$i = 0, $or$cond6$i = 0, $or$cond8$i = 0, $or$cond9$i = 0, $qsize$0$i$i = 0, $rsize$0$i = 0, $rsize$0$i$lcssa = 0, $rsize$0$i15 = 0, $rsize$1$i = 0; - var $rsize$2$i = 0, $rsize$3$lcssa$i = 0, $rsize$331$i = 0, $rst$0$i = 0, $rst$1$i = 0, $sizebits$0$i = 0, $sp$0$i$i = 0, $sp$0$i$i$i = 0, $sp$084$i = 0, $sp$084$i$lcssa = 0, $sp$183$i = 0, $sp$183$i$lcssa = 0, $ssize$0$$i = 0, $ssize$0$i = 0, $ssize$1$ph$i = 0, $ssize$2$i = 0, $t$0$i = 0, $t$0$i14 = 0, $t$1$i = 0, $t$2$ph$i = 0; - var $t$2$v$3$i = 0, $t$230$i = 0, $tbase$255$i = 0, $tsize$0$ph$i = 0, $tsize$0323944$i = 0, $tsize$1$i = 0, $tsize$254$i = 0, $v$0$i = 0, $v$0$i$lcssa = 0, $v$0$i16 = 0, $v$1$i = 0, $v$2$i = 0, $v$3$lcssa$i = 0, $v$3$ph$i = 0, $v$332$i = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ($bytes>>>0)<(245); - do { - if ($0) { - $1 = ($bytes>>>0)<(11); - $2 = (($bytes) + 11)|0; - $3 = $2 & -8; - $4 = $1 ? 16 : $3; - $5 = $4 >>> 3; - $6 = HEAP32[11572>>2]|0; - $7 = $6 >>> $5; - $8 = $7 & 3; - $9 = ($8|0)==(0); - if (!($9)) { - $10 = $7 & 1; - $11 = $10 ^ 1; - $12 = (($11) + ($5))|0; - $13 = $12 << 1; - $14 = (11612 + ($13<<2)|0); - $$sum10 = (($13) + 2)|0; - $15 = (11612 + ($$sum10<<2)|0); - $16 = HEAP32[$15>>2]|0; + if ($2) { + $3 = ($0>>>0)<(11); + $4 = (($0) + 11)|0; + $5 = $4 & -8; + $6 = $3 ? 16 : $5; + $7 = $6 >>> 3; + $8 = HEAP32[7813]|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 = (31292 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; - $19 = ($14|0)==($18|0); + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); do { - if ($19) { - $20 = 1 << $12; - $21 = $20 ^ -1; - $22 = $6 & $21; - HEAP32[11572>>2] = $22; + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[7813] = $24; } else { - $23 = HEAP32[(11588)>>2]|0; - $24 = ($18>>>0)<($23>>>0); - if ($24) { + $25 = HEAP32[(31268)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { _abort(); // unreachable; } - $25 = ((($18)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($16|0); - if ($27) { - HEAP32[$25>>2] = $14; - HEAP32[$15>>2] = $18; + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; break; } else { _abort(); @@ -62473,81 +66064,79 @@ function _malloc($bytes) { } } } while(0); - $28 = $12 << 3; - $29 = $28 | 3; - $30 = ((($16)) + 4|0); - HEAP32[$30>>2] = $29; - $$sum1112 = $28 | 4; - $31 = (($16) + ($$sum1112)|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - $mem$0 = $17; - return ($mem$0|0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); } - $34 = HEAP32[(11580)>>2]|0; - $35 = ($4>>>0)>($34>>>0); - if ($35) { - $36 = ($7|0)==(0); - if (!($36)) { - $37 = $7 << $5; - $38 = 2 << $5; - $39 = (0 - ($38))|0; - $40 = $38 | $39; - $41 = $37 & $40; + $37 = HEAP32[(31260)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; $42 = (0 - ($41))|0; - $43 = $41 & $42; - $44 = (($43) + -1)|0; - $45 = $44 >>> 12; - $46 = $45 & 16; - $47 = $44 >>> $46; - $48 = $47 >>> 5; - $49 = $48 & 8; - $50 = $49 | $46; - $51 = $47 >>> $49; - $52 = $51 >>> 2; - $53 = $52 & 4; - $54 = $50 | $53; - $55 = $51 >>> $53; - $56 = $55 >>> 1; - $57 = $56 & 2; - $58 = $54 | $57; - $59 = $55 >>> $57; - $60 = $59 >>> 1; - $61 = $60 & 1; - $62 = $58 | $61; - $63 = $59 >>> $61; - $64 = (($62) + ($63))|0; - $65 = $64 << 1; - $66 = (11612 + ($65<<2)|0); - $$sum4 = (($65) + 2)|0; - $67 = (11612 + ($$sum4<<2)|0); - $68 = HEAP32[$67>>2]|0; - $69 = ((($68)) + 8|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($66|0)==($70|0); + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (31292 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); do { - if ($71) { - $72 = 1 << $64; - $73 = $72 ^ -1; - $74 = $6 & $73; - HEAP32[11572>>2] = $74; - $88 = $34; + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[7813] = $77; + $98 = $77; } else { - $75 = HEAP32[(11588)>>2]|0; - $76 = ($70>>>0)<($75>>>0); - if ($76) { + $78 = HEAP32[(31268)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { _abort(); // unreachable; } - $77 = ((($70)) + 12|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)==($68|0); - if ($79) { - HEAP32[$77>>2] = $66; - HEAP32[$67>>2] = $70; - $$pre = HEAP32[(11580)>>2]|0; - $88 = $$pre; + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; break; } else { _abort(); @@ -62555,205 +66144,207 @@ function _malloc($bytes) { } } } while(0); - $80 = $64 << 3; - $81 = (($80) - ($4))|0; - $82 = $4 | 3; - $83 = ((($68)) + 4|0); - HEAP32[$83>>2] = $82; - $84 = (($68) + ($4)|0); - $85 = $81 | 1; - $$sum56 = $4 | 4; - $86 = (($68) + ($$sum56)|0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); HEAP32[$86>>2] = $85; - $87 = (($68) + ($80)|0); - HEAP32[$87>>2] = $81; - $89 = ($88|0)==(0); - if (!($89)) { - $90 = HEAP32[(11592)>>2]|0; - $91 = $88 >>> 3; - $92 = $91 << 1; - $93 = (11612 + ($92<<2)|0); - $94 = HEAP32[11572>>2]|0; - $95 = 1 << $91; - $96 = $94 & $95; - $97 = ($96|0)==(0); - if ($97) { - $98 = $94 | $95; - HEAP32[11572>>2] = $98; - $$pre105 = (($92) + 2)|0; - $$pre106 = (11612 + ($$pre105<<2)|0); - $$pre$phiZ2D = $$pre106;$F4$0 = $93; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(31272)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (31292 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[7813] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; } else { - $$sum9 = (($92) + 2)|0; - $99 = (11612 + ($$sum9<<2)|0); - $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[(11588)>>2]|0; - $102 = ($100>>>0)<($101>>>0); - if ($102) { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(31268)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { _abort(); // unreachable; } else { - $$pre$phiZ2D = $99;$F4$0 = $100; + $$0199 = $102;$$pre$phiZ2D = $101; } } - HEAP32[$$pre$phiZ2D>>2] = $90; - $103 = ((($F4$0)) + 12|0); - HEAP32[$103>>2] = $90; - $104 = ((($90)) + 8|0); - HEAP32[$104>>2] = $F4$0; - $105 = ((($90)) + 12|0); - HEAP32[$105>>2] = $93; + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; } - HEAP32[(11580)>>2] = $81; - HEAP32[(11592)>>2] = $84; - $mem$0 = $69; - return ($mem$0|0); + HEAP32[(31260)>>2] = $84; + HEAP32[(31272)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); } - $106 = HEAP32[(11576)>>2]|0; - $107 = ($106|0)==(0); - if ($107) { - $nb$0 = $4; + $108 = HEAP32[(31256)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; } else { - $108 = (0 - ($106))|0; - $109 = $106 & $108; - $110 = (($109) + -1)|0; - $111 = $110 >>> 12; - $112 = $111 & 16; - $113 = $110 >>> $112; - $114 = $113 >>> 5; - $115 = $114 & 8; - $116 = $115 | $112; - $117 = $113 >>> $115; - $118 = $117 >>> 2; - $119 = $118 & 4; - $120 = $116 | $119; - $121 = $117 >>> $119; - $122 = $121 >>> 1; - $123 = $122 & 2; - $124 = $120 | $123; - $125 = $121 >>> $123; - $126 = $125 >>> 1; - $127 = $126 & 1; - $128 = $124 | $127; - $129 = $125 >>> $127; - $130 = (($128) + ($129))|0; - $131 = (11876 + ($130<<2)|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($132)) + 4|0); + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (31556 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; - $135 = $134 & -8; - $136 = (($135) - ($4))|0; - $rsize$0$i = $136;$t$0$i = $132;$v$0$i = $132; - while(1) { - $137 = ((($t$0$i)) + 16|0); - $138 = HEAP32[$137>>2]|0; - $139 = ($138|0)==(0|0); - if ($139) { - $140 = ((($t$0$i)) + 20|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==(0|0); - if ($142) { - $rsize$0$i$lcssa = $rsize$0$i;$v$0$i$lcssa = $v$0$i; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; break; } else { - $144 = $141; + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; } - } else { - $144 = $138; } - $143 = ((($144)) + 4|0); - $145 = HEAP32[$143>>2]|0; - $146 = $145 & -8; - $147 = (($146) - ($4))|0; - $148 = ($147>>>0)<($rsize$0$i>>>0); - $$rsize$0$i = $148 ? $147 : $rsize$0$i; - $$v$0$i = $148 ? $144 : $v$0$i; - $rsize$0$i = $$rsize$0$i;$t$0$i = $144;$v$0$i = $$v$0$i; } - $149 = HEAP32[(11588)>>2]|0; - $150 = ($v$0$i$lcssa>>>0)<($149>>>0); - if ($150) { + $155 = HEAP32[(31268)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { _abort(); // unreachable; } - $151 = (($v$0$i$lcssa) + ($4)|0); - $152 = ($v$0$i$lcssa>>>0)<($151>>>0); - if (!($152)) { + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { _abort(); // unreachable; } - $153 = ((($v$0$i$lcssa)) + 24|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($v$0$i$lcssa)) + 12|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)==($v$0$i$lcssa|0); + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); do { - if ($157) { - $167 = ((($v$0$i$lcssa)) + 20|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==(0|0); - if ($169) { - $170 = ((($v$0$i$lcssa)) + 16|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==(0|0); - if ($172) { - $R$1$i = 0; - break; - } else { - $R$0$i = $171;$RP$0$i = $170; - } - } else { - $R$0$i = $168;$RP$0$i = $167; - } - while(1) { - $173 = ((($R$0$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if (!($175)) { - $R$0$i = $174;$RP$0$i = $173; - continue; - } - $176 = ((($R$0$i)) + 16|0); + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); $177 = HEAP32[$176>>2]|0; $178 = ($177|0)==(0|0); if ($178) { - $R$0$i$lcssa = $R$0$i;$RP$0$i$lcssa = $RP$0$i; + $$3$i = 0; break; } else { - $R$0$i = $177;$RP$0$i = $176; + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; } } - $179 = ($RP$0$i$lcssa>>>0)<($149>>>0); - if ($179) { + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { _abort(); // unreachable; } else { - HEAP32[$RP$0$i$lcssa>>2] = 0; - $R$1$i = $R$0$i$lcssa; + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; break; } } else { - $158 = ((($v$0$i$lcssa)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159>>>0)<($149>>>0); - if ($160) { - _abort(); - // unreachable; - } - $161 = ((($159)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($v$0$i$lcssa|0); - if (!($163)) { - _abort(); - // unreachable; - } - $164 = ((($156)) + 8|0); + $164 = ((($$0192$lcssa$i)) + 8|0); $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($v$0$i$lcssa|0); + $166 = ($165>>>0)<($155>>>0); if ($166) { - HEAP32[$161>>2] = $156; - HEAP32[$164>>2] = $159; - $R$1$i = $156; + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; break; } else { _abort(); @@ -62761,434 +66352,426 @@ function _malloc($bytes) { } } } while(0); - $180 = ($154|0)==(0|0); - do { - if (!($180)) { - $181 = ((($v$0$i$lcssa)) + 28|0); - $182 = HEAP32[$181>>2]|0; - $183 = (11876 + ($182<<2)|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($v$0$i$lcssa|0)==($184|0); - if ($185) { - HEAP32[$183>>2] = $R$1$i; - $cond$i = ($R$1$i|0)==(0|0); - if ($cond$i) { - $186 = 1 << $182; - $187 = $186 ^ -1; - $188 = HEAP32[(11576)>>2]|0; - $189 = $188 & $187; - HEAP32[(11576)>>2] = $189; - break; - } - } else { - $190 = HEAP32[(11588)>>2]|0; - $191 = ($154>>>0)<($190>>>0); - if ($191) { - _abort(); - // unreachable; - } - $192 = ((($154)) + 16|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==($v$0$i$lcssa|0); - if ($194) { - HEAP32[$192>>2] = $R$1$i; - } else { - $195 = ((($154)) + 20|0); - HEAP32[$195>>2] = $R$1$i; - } - $196 = ($R$1$i|0)==(0|0); - if ($196) { - break; - } - } - $197 = HEAP32[(11588)>>2]|0; - $198 = ($R$1$i>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($R$1$i)) + 24|0); - HEAP32[$199>>2] = $154; - $200 = ((($v$0$i$lcssa)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (31556 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(31256)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(31268)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { _abort(); // unreachable; } else { - $204 = ((($R$1$i)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $R$1$i; + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(31268)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; break; } } } while(0); - $206 = ((($v$0$i$lcssa)) + 20|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(11588)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(31268)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { _abort(); // unreachable; } else { - $211 = ((($R$1$i)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $R$1$i; + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; break; } } } } while(0); - $213 = ($rsize$0$i$lcssa>>>0)<(16); - if ($213) { - $214 = (($rsize$0$i$lcssa) + ($4))|0; - $215 = $214 | 3; - $216 = ((($v$0$i$lcssa)) + 4|0); - HEAP32[$216>>2] = $215; - $$sum4$i = (($214) + 4)|0; - $217 = (($v$0$i$lcssa) + ($$sum4$i)|0); - $218 = HEAP32[$217>>2]|0; - $219 = $218 | 1; - HEAP32[$217>>2] = $219; + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; } else { - $220 = $4 | 3; - $221 = ((($v$0$i$lcssa)) + 4|0); - HEAP32[$221>>2] = $220; - $222 = $rsize$0$i$lcssa | 1; - $$sum$i35 = $4 | 4; - $223 = (($v$0$i$lcssa) + ($$sum$i35)|0); - HEAP32[$223>>2] = $222; - $$sum1$i = (($rsize$0$i$lcssa) + ($4))|0; - $224 = (($v$0$i$lcssa) + ($$sum1$i)|0); - HEAP32[$224>>2] = $rsize$0$i$lcssa; - $225 = HEAP32[(11580)>>2]|0; - $226 = ($225|0)==(0); - if (!($226)) { - $227 = HEAP32[(11592)>>2]|0; - $228 = $225 >>> 3; - $229 = $228 << 1; - $230 = (11612 + ($229<<2)|0); - $231 = HEAP32[11572>>2]|0; - $232 = 1 << $228; - $233 = $231 & $232; - $234 = ($233|0)==(0); - if ($234) { - $235 = $231 | $232; - HEAP32[11572>>2] = $235; - $$pre$i = (($229) + 2)|0; - $$pre8$i = (11612 + ($$pre$i<<2)|0); - $$pre$phi$iZ2D = $$pre8$i;$F1$0$i = $230; + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(31272)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (31292 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[7813] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { - $$sum3$i = (($229) + 2)|0; - $236 = (11612 + ($$sum3$i<<2)|0); - $237 = HEAP32[$236>>2]|0; - $238 = HEAP32[(11588)>>2]|0; - $239 = ($237>>>0)<($238>>>0); - if ($239) { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(31268)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { _abort(); // unreachable; } else { - $$pre$phi$iZ2D = $236;$F1$0$i = $237; + $$0189$i = $240;$$pre$phi$iZ2D = $239; } } - HEAP32[$$pre$phi$iZ2D>>2] = $227; - $240 = ((($F1$0$i)) + 12|0); - HEAP32[$240>>2] = $227; - $241 = ((($227)) + 8|0); - HEAP32[$241>>2] = $F1$0$i; - $242 = ((($227)) + 12|0); - HEAP32[$242>>2] = $230; + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; } - HEAP32[(11580)>>2] = $rsize$0$i$lcssa; - HEAP32[(11592)>>2] = $151; + HEAP32[(31260)>>2] = $$0193$lcssa$i; + HEAP32[(31272)>>2] = $157; } - $243 = ((($v$0$i$lcssa)) + 8|0); - $mem$0 = $243; - return ($mem$0|0); + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); } } else { - $nb$0 = $4; + $$0197 = $6; } } else { - $244 = ($bytes>>>0)>(4294967231); - if ($244) { - $nb$0 = -1; + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; } else { - $245 = (($bytes) + 11)|0; - $246 = $245 & -8; - $247 = HEAP32[(11576)>>2]|0; - $248 = ($247|0)==(0); - if ($248) { - $nb$0 = $246; + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(31256)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; } else { - $249 = (0 - ($246))|0; - $250 = $245 >>> 8; - $251 = ($250|0)==(0); - if ($251) { - $idx$0$i = 0; + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; } else { - $252 = ($246>>>0)>(16777215); - if ($252) { - $idx$0$i = 31; + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; } else { - $253 = (($250) + 1048320)|0; - $254 = $253 >>> 16; - $255 = $254 & 8; - $256 = $250 << $255; - $257 = (($256) + 520192)|0; - $258 = $257 >>> 16; - $259 = $258 & 4; - $260 = $259 | $255; - $261 = $256 << $259; - $262 = (($261) + 245760)|0; - $263 = $262 >>> 16; - $264 = $263 & 2; - $265 = $260 | $264; - $266 = (14 - ($265))|0; - $267 = $261 << $264; - $268 = $267 >>> 15; - $269 = (($266) + ($268))|0; - $270 = $269 << 1; - $271 = (($269) + 7)|0; - $272 = $246 >>> $271; - $273 = $272 & 1; - $274 = $273 | $270; - $idx$0$i = $274; + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; } } - $275 = (11876 + ($idx$0$i<<2)|0); - $276 = HEAP32[$275>>2]|0; - $277 = ($276|0)==(0|0); - L123: do { - if ($277) { - $rsize$2$i = $249;$t$1$i = 0;$v$2$i = 0; - label = 86; + $278 = (31556 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; } else { - $278 = ($idx$0$i|0)==(31); - $279 = $idx$0$i >>> 1; - $280 = (25 - ($279))|0; - $281 = $278 ? 0 : $280; - $282 = $246 << $281; - $rsize$0$i15 = $249;$rst$0$i = 0;$sizebits$0$i = $282;$t$0$i14 = $276;$v$0$i16 = 0; + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; while(1) { - $283 = ((($t$0$i14)) + 4|0); - $284 = HEAP32[$283>>2]|0; - $285 = $284 & -8; - $286 = (($285) - ($246))|0; - $287 = ($286>>>0)<($rsize$0$i15>>>0); - if ($287) { - $288 = ($285|0)==($246|0); - if ($288) { - $rsize$331$i = $286;$t$230$i = $t$0$i14;$v$332$i = $t$0$i14; - label = 90; - break L123; + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; } else { - $rsize$1$i = $286;$v$1$i = $t$0$i14; + $$1343$i = $$0353$i;$$1348$i = $289; } } else { - $rsize$1$i = $rsize$0$i15;$v$1$i = $v$0$i16; + $$1343$i = $$0342$i;$$1348$i = $$0347$i; } - $289 = ((($t$0$i14)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = $sizebits$0$i >>> 31; - $292 = (((($t$0$i14)) + 16|0) + ($291<<2)|0); + $292 = ((($$0353$i)) + 20|0); $293 = HEAP32[$292>>2]|0; - $294 = ($290|0)==(0|0); - $295 = ($290|0)==($293|0); - $or$cond19$i = $294 | $295; - $rst$1$i = $or$cond19$i ? $rst$0$i : $290; - $296 = ($293|0)==(0|0); - $297 = $sizebits$0$i << 1; - if ($296) { - $rsize$2$i = $rsize$1$i;$t$1$i = $rst$1$i;$v$2$i = $v$1$i; - label = 86; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; break; } else { - $rsize$0$i15 = $rsize$1$i;$rst$0$i = $rst$1$i;$sizebits$0$i = $297;$t$0$i14 = $293;$v$0$i16 = $v$1$i; + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; } } } } while(0); - if ((label|0) == 86) { - $298 = ($t$1$i|0)==(0|0); - $299 = ($v$2$i|0)==(0|0); - $or$cond$i = $298 & $299; + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; if ($or$cond$i) { - $300 = 2 << $idx$0$i; - $301 = (0 - ($300))|0; - $302 = $300 | $301; - $303 = $247 & $302; - $304 = ($303|0)==(0); - if ($304) { - $nb$0 = $246; + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; break; } - $305 = (0 - ($303))|0; - $306 = $303 & $305; - $307 = (($306) + -1)|0; - $308 = $307 >>> 12; - $309 = $308 & 16; - $310 = $307 >>> $309; - $311 = $310 >>> 5; - $312 = $311 & 8; - $313 = $312 | $309; - $314 = $310 >>> $312; - $315 = $314 >>> 2; - $316 = $315 & 4; - $317 = $313 | $316; - $318 = $314 >>> $316; - $319 = $318 >>> 1; - $320 = $319 & 2; - $321 = $317 | $320; - $322 = $318 >>> $320; - $323 = $322 >>> 1; - $324 = $323 & 1; - $325 = $321 | $324; - $326 = $322 >>> $324; - $327 = (($325) + ($326))|0; - $328 = (11876 + ($327<<2)|0); - $329 = HEAP32[$328>>2]|0; - $t$2$ph$i = $329;$v$3$ph$i = 0; + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (31556 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; } else { - $t$2$ph$i = $t$1$i;$v$3$ph$i = $v$2$i; + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; } - $330 = ($t$2$ph$i|0)==(0|0); - if ($330) { - $rsize$3$lcssa$i = $rsize$2$i;$v$3$lcssa$i = $v$3$ph$i; + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; } else { - $rsize$331$i = $rsize$2$i;$t$230$i = $t$2$ph$i;$v$332$i = $v$3$ph$i; - label = 90; + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; } } - if ((label|0) == 90) { + if ((label|0) == 85) { while(1) { label = 0; - $331 = ((($t$230$i)) + 4|0); - $332 = HEAP32[$331>>2]|0; - $333 = $332 & -8; - $334 = (($333) - ($246))|0; - $335 = ($334>>>0)<($rsize$331$i>>>0); - $$rsize$3$i = $335 ? $334 : $rsize$331$i; - $t$2$v$3$i = $335 ? $t$230$i : $v$332$i; - $336 = ((($t$230$i)) + 16|0); - $337 = HEAP32[$336>>2]|0; - $338 = ($337|0)==(0|0); - if (!($338)) { - $rsize$331$i = $$rsize$3$i;$t$230$i = $337;$v$332$i = $t$2$v$3$i; - label = 90; - continue; - } - $339 = ((($t$230$i)) + 20|0); + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); $340 = HEAP32[$339>>2]|0; - $341 = ($340|0)==(0|0); - if ($341) { - $rsize$3$lcssa$i = $$rsize$3$i;$v$3$lcssa$i = $t$2$v$3$i; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; break; } else { - $rsize$331$i = $$rsize$3$i;$t$230$i = $340;$v$332$i = $t$2$v$3$i; - label = 90; + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; } } } - $342 = ($v$3$lcssa$i|0)==(0|0); - if ($342) { - $nb$0 = $246; + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; } else { - $343 = HEAP32[(11580)>>2]|0; - $344 = (($343) - ($246))|0; - $345 = ($rsize$3$lcssa$i>>>0)<($344>>>0); - if ($345) { - $346 = HEAP32[(11588)>>2]|0; - $347 = ($v$3$lcssa$i>>>0)<($346>>>0); - if ($347) { + $345 = HEAP32[(31260)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(31268)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { _abort(); // unreachable; } - $348 = (($v$3$lcssa$i) + ($246)|0); - $349 = ($v$3$lcssa$i>>>0)<($348>>>0); - if (!($349)) { + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { _abort(); // unreachable; } - $350 = ((($v$3$lcssa$i)) + 24|0); - $351 = HEAP32[$350>>2]|0; - $352 = ((($v$3$lcssa$i)) + 12|0); + $352 = ((($$4$lcssa$i)) + 24|0); $353 = HEAP32[$352>>2]|0; - $354 = ($353|0)==($v$3$lcssa$i|0); + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); do { - if ($354) { - $364 = ((($v$3$lcssa$i)) + 20|0); - $365 = HEAP32[$364>>2]|0; - $366 = ($365|0)==(0|0); - if ($366) { - $367 = ((($v$3$lcssa$i)) + 16|0); - $368 = HEAP32[$367>>2]|0; - $369 = ($368|0)==(0|0); - if ($369) { - $R$1$i20 = 0; + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; break; } else { - $R$0$i18 = $368;$RP$0$i17 = $367; + $$1370$i = $370;$$1374$i = $369; } } else { - $R$0$i18 = $365;$RP$0$i17 = $364; + $$1370$i = $367;$$1374$i = $366; } while(1) { - $370 = ((($R$0$i18)) + 20|0); - $371 = HEAP32[$370>>2]|0; - $372 = ($371|0)==(0|0); - if (!($372)) { - $R$0$i18 = $371;$RP$0$i17 = $370; + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; continue; } - $373 = ((($R$0$i18)) + 16|0); - $374 = HEAP32[$373>>2]|0; - $375 = ($374|0)==(0|0); - if ($375) { - $R$0$i18$lcssa = $R$0$i18;$RP$0$i17$lcssa = $RP$0$i17; + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { break; } else { - $R$0$i18 = $374;$RP$0$i17 = $373; + $$1370$i = $376;$$1374$i = $375; } } - $376 = ($RP$0$i17$lcssa>>>0)<($346>>>0); - if ($376) { + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { _abort(); // unreachable; } else { - HEAP32[$RP$0$i17$lcssa>>2] = 0; - $R$1$i20 = $R$0$i18$lcssa; + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; break; } } else { - $355 = ((($v$3$lcssa$i)) + 8|0); - $356 = HEAP32[$355>>2]|0; - $357 = ($356>>>0)<($346>>>0); - if ($357) { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { _abort(); // unreachable; } - $358 = ((($356)) + 12|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==($v$3$lcssa$i|0); - if (!($360)) { + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { _abort(); // unreachable; } - $361 = ((($353)) + 8|0); - $362 = HEAP32[$361>>2]|0; - $363 = ($362|0)==($v$3$lcssa$i|0); - if ($363) { - HEAP32[$358>>2] = $353; - HEAP32[$361>>2] = $356; - $R$1$i20 = $353; + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; break; } else { _abort(); @@ -63196,55 +66779,60 @@ function _malloc($bytes) { } } } while(0); - $377 = ($351|0)==(0|0); - do { - if (!($377)) { - $378 = ((($v$3$lcssa$i)) + 28|0); - $379 = HEAP32[$378>>2]|0; - $380 = (11876 + ($379<<2)|0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = ($v$3$lcssa$i|0)==($381|0); - if ($382) { - HEAP32[$380>>2] = $R$1$i20; - $cond$i21 = ($R$1$i20|0)==(0|0); - if ($cond$i21) { - $383 = 1 << $379; - $384 = $383 ^ -1; - $385 = HEAP32[(11576)>>2]|0; - $386 = $385 & $384; - HEAP32[(11576)>>2] = $386; - break; - } - } else { - $387 = HEAP32[(11588)>>2]|0; - $388 = ($351>>>0)<($387>>>0); - if ($388) { - _abort(); - // unreachable; - } - $389 = ((($351)) + 16|0); - $390 = HEAP32[$389>>2]|0; - $391 = ($390|0)==($v$3$lcssa$i|0); - if ($391) { - HEAP32[$389>>2] = $R$1$i20; + $382 = (31556 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(31256)>>2] = $387; + $470 = $387; + break L164; + } } else { - $392 = ((($351)) + 20|0); - HEAP32[$392>>2] = $R$1$i20; + $388 = HEAP32[(31268)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } } - $393 = ($R$1$i20|0)==(0|0); - if ($393) { - break; - } - } - $394 = HEAP32[(11588)>>2]|0; - $395 = ($R$1$i20>>>0)<($394>>>0); + } while(0); + $394 = HEAP32[(31268)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); // unreachable; } - $396 = ((($R$1$i20)) + 24|0); - HEAP32[$396>>2] = $351; - $397 = ((($v$3$lcssa$i)) + 16|0); + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); $398 = HEAP32[$397>>2]|0; $399 = ($398|0)==(0|0); do { @@ -63254,1754 +66842,1624 @@ function _malloc($bytes) { _abort(); // unreachable; } else { - $401 = ((($R$1$i20)) + 16|0); + $401 = ((($$3372$i)) + 16|0); HEAP32[$401>>2] = $398; $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $R$1$i20; + HEAP32[$402>>2] = $$3372$i; break; } } } while(0); - $403 = ((($v$3$lcssa$i)) + 20|0); + $403 = ((($$4$lcssa$i)) + 20|0); $404 = HEAP32[$403>>2]|0; $405 = ($404|0)==(0|0); - if (!($405)) { - $406 = HEAP32[(11588)>>2]|0; + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(31268)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); // unreachable; } else { - $408 = ((($R$1$i20)) + 20|0); + $408 = ((($$3372$i)) + 20|0); HEAP32[$408>>2] = $404; $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $R$1$i20; + HEAP32[$409>>2] = $$3372$i; + $470 = $250; break; } } } } while(0); - $410 = ($rsize$3$lcssa$i>>>0)<(16); - L199: do { + $410 = ($$4351$lcssa$i>>>0)<(16); + do { if ($410) { - $411 = (($rsize$3$lcssa$i) + ($246))|0; + $411 = (($$4351$lcssa$i) + ($249))|0; $412 = $411 | 3; - $413 = ((($v$3$lcssa$i)) + 4|0); + $413 = ((($$4$lcssa$i)) + 4|0); HEAP32[$413>>2] = $412; - $$sum18$i = (($411) + 4)|0; - $414 = (($v$3$lcssa$i) + ($$sum18$i)|0); - $415 = HEAP32[$414>>2]|0; - $416 = $415 | 1; - HEAP32[$414>>2] = $416; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; } else { - $417 = $246 | 3; - $418 = ((($v$3$lcssa$i)) + 4|0); - HEAP32[$418>>2] = $417; - $419 = $rsize$3$lcssa$i | 1; - $$sum$i2334 = $246 | 4; - $420 = (($v$3$lcssa$i) + ($$sum$i2334)|0); - HEAP32[$420>>2] = $419; - $$sum1$i24 = (($rsize$3$lcssa$i) + ($246))|0; - $421 = (($v$3$lcssa$i) + ($$sum1$i24)|0); - HEAP32[$421>>2] = $rsize$3$lcssa$i; - $422 = $rsize$3$lcssa$i >>> 3; - $423 = ($rsize$3$lcssa$i>>>0)<(256); - if ($423) { - $424 = $422 << 1; - $425 = (11612 + ($424<<2)|0); - $426 = HEAP32[11572>>2]|0; - $427 = 1 << $422; - $428 = $426 & $427; - $429 = ($428|0)==(0); - if ($429) { - $430 = $426 | $427; - HEAP32[11572>>2] = $430; - $$pre$i25 = (($424) + 2)|0; - $$pre43$i = (11612 + ($$pre$i25<<2)|0); - $$pre$phi$i26Z2D = $$pre43$i;$F5$0$i = $425; + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (31292 + ($425<<2)|0); + $427 = HEAP32[7813]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[7813] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { - $$sum17$i = (($424) + 2)|0; - $431 = (11612 + ($$sum17$i<<2)|0); - $432 = HEAP32[$431>>2]|0; - $433 = HEAP32[(11588)>>2]|0; - $434 = ($432>>>0)<($433>>>0); - if ($434) { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(31268)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { _abort(); // unreachable; } else { - $$pre$phi$i26Z2D = $431;$F5$0$i = $432; + $$0368$i = $433;$$pre$phi$i211Z2D = $432; } } - HEAP32[$$pre$phi$i26Z2D>>2] = $348; - $435 = ((($F5$0$i)) + 12|0); - HEAP32[$435>>2] = $348; - $$sum15$i = (($246) + 8)|0; - $436 = (($v$3$lcssa$i) + ($$sum15$i)|0); - HEAP32[$436>>2] = $F5$0$i; - $$sum16$i = (($246) + 12)|0; - $437 = (($v$3$lcssa$i) + ($$sum16$i)|0); - HEAP32[$437>>2] = $425; + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; break; } - $438 = $rsize$3$lcssa$i >>> 8; - $439 = ($438|0)==(0); - if ($439) { - $I7$0$i = 0; + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; } else { - $440 = ($rsize$3$lcssa$i>>>0)>(16777215); - if ($440) { - $I7$0$i = 31; + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; } else { - $441 = (($438) + 1048320)|0; - $442 = $441 >>> 16; - $443 = $442 & 8; - $444 = $438 << $443; - $445 = (($444) + 520192)|0; - $446 = $445 >>> 16; - $447 = $446 & 4; - $448 = $447 | $443; - $449 = $444 << $447; - $450 = (($449) + 245760)|0; - $451 = $450 >>> 16; - $452 = $451 & 2; - $453 = $448 | $452; - $454 = (14 - ($453))|0; - $455 = $449 << $452; - $456 = $455 >>> 15; - $457 = (($454) + ($456))|0; - $458 = $457 << 1; - $459 = (($457) + 7)|0; - $460 = $rsize$3$lcssa$i >>> $459; - $461 = $460 & 1; - $462 = $461 | $458; - $I7$0$i = $462; + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; } } - $463 = (11876 + ($I7$0$i<<2)|0); - $$sum2$i = (($246) + 28)|0; - $464 = (($v$3$lcssa$i) + ($$sum2$i)|0); - HEAP32[$464>>2] = $I7$0$i; - $$sum3$i27 = (($246) + 16)|0; - $465 = (($v$3$lcssa$i) + ($$sum3$i27)|0); - $$sum4$i28 = (($246) + 20)|0; - $466 = (($v$3$lcssa$i) + ($$sum4$i28)|0); + $464 = (31556 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; HEAP32[$466>>2] = 0; - HEAP32[$465>>2] = 0; - $467 = HEAP32[(11576)>>2]|0; - $468 = 1 << $I7$0$i; - $469 = $467 & $468; - $470 = ($469|0)==(0); - if ($470) { - $471 = $467 | $468; - HEAP32[(11576)>>2] = $471; - HEAP32[$463>>2] = $348; - $$sum5$i = (($246) + 24)|0; - $472 = (($v$3$lcssa$i) + ($$sum5$i)|0); - HEAP32[$472>>2] = $463; - $$sum6$i = (($246) + 12)|0; - $473 = (($v$3$lcssa$i) + ($$sum6$i)|0); - HEAP32[$473>>2] = $348; - $$sum7$i = (($246) + 8)|0; - $474 = (($v$3$lcssa$i) + ($$sum7$i)|0); - HEAP32[$474>>2] = $348; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(31256)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; break; } - $475 = HEAP32[$463>>2]|0; - $476 = ((($475)) + 4|0); - $477 = HEAP32[$476>>2]|0; - $478 = $477 & -8; - $479 = ($478|0)==($rsize$3$lcssa$i|0); - L217: do { - if ($479) { - $T$0$lcssa$i = $475; + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; } else { - $480 = ($I7$0$i|0)==(31); - $481 = $I7$0$i >>> 1; - $482 = (25 - ($481))|0; - $483 = $480 ? 0 : $482; - $484 = $rsize$3$lcssa$i << $483; - $K12$029$i = $484;$T$028$i = $475; - while(1) { - $491 = $K12$029$i >>> 31; - $492 = (((($T$028$i)) + 16|0) + ($491<<2)|0); - $487 = HEAP32[$492>>2]|0; - $493 = ($487|0)==(0|0); - if ($493) { - $$lcssa232 = $492;$T$028$i$lcssa = $T$028$i; - break; - } - $485 = $K12$029$i << 1; - $486 = ((($487)) + 4|0); - $488 = HEAP32[$486>>2]|0; - $489 = $488 & -8; - $490 = ($489|0)==($rsize$3$lcssa$i|0); - if ($490) { - $T$0$lcssa$i = $487; - break L217; - } else { - $K12$029$i = $485;$T$028$i = $487; + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(31268)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(31268)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(31260)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(31272)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(31272)>>2] = $511; + HEAP32[(31260)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(31260)>>2] = 0; + HEAP32[(31272)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(31264)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(31264)>>2] = $526; + $527 = HEAP32[(31276)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(31276)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[7931]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(31732)>>2] = 4096; + HEAP32[(31728)>>2] = 4096; + HEAP32[(31736)>>2] = -1; + HEAP32[(31740)>>2] = -1; + HEAP32[(31744)>>2] = 0; + HEAP32[(31696)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[7931] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(31732)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(31692)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(31684)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(31696)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(31276)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (31700); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(31728)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(31684)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(31692)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(31732)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(31696)>>2]|0; + $612 = $611 | 4; + HEAP32[(31696)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(31684)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(31684)>>2] = $627; + $628 = HEAP32[(31688)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(31688)>>2] = $627; + } + $630 = HEAP32[(31276)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(31268)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(31268)>>2] = $$749$i; + } + HEAP32[(31700)>>2] = $$749$i; + HEAP32[(31704)>>2] = $$723948$i; + HEAP32[(31712)>>2] = 0; + $635 = HEAP32[7931]|0; + HEAP32[(31288)>>2] = $635; + HEAP32[(31284)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (31292 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(31276)>>2] = $649; + HEAP32[(31264)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(31740)>>2]|0; + HEAP32[(31280)>>2] = $655; + } else { + $$024371$i = (31700); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(31264)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(31276)>>2] = $679; + HEAP32[(31264)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(31740)>>2]|0; + HEAP32[(31280)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(31268)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(31268)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (31700); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(31264)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(31264)>>2] = $727; + HEAP32[(31276)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(31272)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(31260)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(31260)>>2] = $733; + HEAP32[(31272)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (31292 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[7813]|0; + $760 = $759 & $758; + HEAP32[7813] = $760; + break; } - $494 = HEAP32[(11588)>>2]|0; - $495 = ($$lcssa232>>>0)<($494>>>0); - if ($495) { + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (31556 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(31256)>>2]|0; + $803 = $802 & $801; + HEAP32[(31256)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(31268)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(31268)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(31268)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { _abort(); // unreachable; } else { - HEAP32[$$lcssa232>>2] = $348; - $$sum11$i = (($246) + 24)|0; - $496 = (($v$3$lcssa$i) + ($$sum11$i)|0); - HEAP32[$496>>2] = $T$028$i$lcssa; - $$sum12$i = (($246) + 12)|0; - $497 = (($v$3$lcssa$i) + ($$sum12$i)|0); - HEAP32[$497>>2] = $348; - $$sum13$i = (($246) + 8)|0; - $498 = (($v$3$lcssa$i) + ($$sum13$i)|0); - HEAP32[$498>>2] = $348; - break L199; + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; } } } while(0); - $499 = ((($T$0$lcssa$i)) + 8|0); - $500 = HEAP32[$499>>2]|0; - $501 = HEAP32[(11588)>>2]|0; - $502 = ($500>>>0)>=($501>>>0); - $not$$i = ($T$0$lcssa$i>>>0)>=($501>>>0); - $503 = $502 & $not$$i; - if ($503) { - $504 = ((($500)) + 12|0); - HEAP32[$504>>2] = $348; - HEAP32[$499>>2] = $348; - $$sum8$i = (($246) + 8)|0; - $505 = (($v$3$lcssa$i) + ($$sum8$i)|0); - HEAP32[$505>>2] = $500; - $$sum9$i = (($246) + 12)|0; - $506 = (($v$3$lcssa$i) + ($$sum9$i)|0); - HEAP32[$506>>2] = $T$0$lcssa$i; - $$sum10$i = (($246) + 24)|0; - $507 = (($v$3$lcssa$i) + ($$sum10$i)|0); - HEAP32[$507>>2] = 0; + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (31292 + ($836<<2)|0); + $838 = HEAP32[7813]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[7813] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(31268)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (31556 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(31256)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(31256)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(31268)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(31268)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; break; } else { _abort(); // unreachable; } } - } while(0); - $508 = ((($v$3$lcssa$i)) + 8|0); - $mem$0 = $508; - return ($mem$0|0); - } else { - $nb$0 = $246; - } - } - } - } - } - } while(0); - $509 = HEAP32[(11580)>>2]|0; - $510 = ($509>>>0)<($nb$0>>>0); - if (!($510)) { - $511 = (($509) - ($nb$0))|0; - $512 = HEAP32[(11592)>>2]|0; - $513 = ($511>>>0)>(15); - if ($513) { - $514 = (($512) + ($nb$0)|0); - HEAP32[(11592)>>2] = $514; - HEAP32[(11580)>>2] = $511; - $515 = $511 | 1; - $$sum2 = (($nb$0) + 4)|0; - $516 = (($512) + ($$sum2)|0); - HEAP32[$516>>2] = $515; - $517 = (($512) + ($509)|0); - HEAP32[$517>>2] = $511; - $518 = $nb$0 | 3; - $519 = ((($512)) + 4|0); - HEAP32[$519>>2] = $518; - } else { - HEAP32[(11580)>>2] = 0; - HEAP32[(11592)>>2] = 0; - $520 = $509 | 3; - $521 = ((($512)) + 4|0); - HEAP32[$521>>2] = $520; - $$sum1 = (($509) + 4)|0; - $522 = (($512) + ($$sum1)|0); - $523 = HEAP32[$522>>2]|0; - $524 = $523 | 1; - HEAP32[$522>>2] = $524; - } - $525 = ((($512)) + 8|0); - $mem$0 = $525; - return ($mem$0|0); - } - $526 = HEAP32[(11584)>>2]|0; - $527 = ($526>>>0)>($nb$0>>>0); - if ($527) { - $528 = (($526) - ($nb$0))|0; - HEAP32[(11584)>>2] = $528; - $529 = HEAP32[(11596)>>2]|0; - $530 = (($529) + ($nb$0)|0); - HEAP32[(11596)>>2] = $530; - $531 = $528 | 1; - $$sum = (($nb$0) + 4)|0; - $532 = (($529) + ($$sum)|0); - HEAP32[$532>>2] = $531; - $533 = $nb$0 | 3; - $534 = ((($529)) + 4|0); - HEAP32[$534>>2] = $533; - $535 = ((($529)) + 8|0); - $mem$0 = $535; - return ($mem$0|0); - } - $536 = HEAP32[12044>>2]|0; - $537 = ($536|0)==(0); - do { - if ($537) { - $538 = (_sysconf(30)|0); - $539 = (($538) + -1)|0; - $540 = $539 & $538; - $541 = ($540|0)==(0); - if ($541) { - HEAP32[(12052)>>2] = $538; - HEAP32[(12048)>>2] = $538; - HEAP32[(12056)>>2] = -1; - HEAP32[(12060)>>2] = -1; - HEAP32[(12064)>>2] = 0; - HEAP32[(12016)>>2] = 0; - $542 = (_time((0|0))|0); - $543 = $542 & -16; - $544 = $543 ^ 1431655768; - HEAP32[12044>>2] = $544; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $545 = (($nb$0) + 48)|0; - $546 = HEAP32[(12052)>>2]|0; - $547 = (($nb$0) + 47)|0; - $548 = (($546) + ($547))|0; - $549 = (0 - ($546))|0; - $550 = $548 & $549; - $551 = ($550>>>0)>($nb$0>>>0); - if (!($551)) { - $mem$0 = 0; - return ($mem$0|0); - } - $552 = HEAP32[(12012)>>2]|0; - $553 = ($552|0)==(0); - if (!($553)) { - $554 = HEAP32[(12004)>>2]|0; - $555 = (($554) + ($550))|0; - $556 = ($555>>>0)<=($554>>>0); - $557 = ($555>>>0)>($552>>>0); - $or$cond1$i = $556 | $557; - if ($or$cond1$i) { - $mem$0 = 0; - return ($mem$0|0); - } - } - $558 = HEAP32[(12016)>>2]|0; - $559 = $558 & 4; - $560 = ($559|0)==(0); - L258: do { - if ($560) { - $561 = HEAP32[(11596)>>2]|0; - $562 = ($561|0)==(0|0); - L260: do { - if ($562) { - label = 174; - } else { - $sp$0$i$i = (12020); - while(1) { - $563 = HEAP32[$sp$0$i$i>>2]|0; - $564 = ($563>>>0)>($561>>>0); - if (!($564)) { - $565 = ((($sp$0$i$i)) + 4|0); - $566 = HEAP32[$565>>2]|0; - $567 = (($563) + ($566)|0); - $568 = ($567>>>0)>($561>>>0); - if ($568) { - $$lcssa228 = $sp$0$i$i;$$lcssa230 = $565; - break; - } - } - $569 = ((($sp$0$i$i)) + 8|0); - $570 = HEAP32[$569>>2]|0; - $571 = ($570|0)==(0|0); - if ($571) { - label = 174; - break L260; - } else { - $sp$0$i$i = $570; - } - } - $594 = HEAP32[(11584)>>2]|0; - $595 = (($548) - ($594))|0; - $596 = $595 & $549; - $597 = ($596>>>0)<(2147483647); - if ($597) { - $598 = (_sbrk(($596|0))|0); - $599 = HEAP32[$$lcssa228>>2]|0; - $600 = HEAP32[$$lcssa230>>2]|0; - $601 = (($599) + ($600)|0); - $602 = ($598|0)==($601|0); - $$3$i = $602 ? $596 : 0; - if ($602) { - $603 = ($598|0)==((-1)|0); - if ($603) { - $tsize$0323944$i = $$3$i; - } else { - $tbase$255$i = $598;$tsize$254$i = $$3$i; - label = 194; - break L258; - } - } else { - $br$0$ph$i = $598;$ssize$1$ph$i = $596;$tsize$0$ph$i = $$3$i; - label = 184; - } - } else { - $tsize$0323944$i = 0; - } - } - } while(0); - do { - if ((label|0) == 174) { - $572 = (_sbrk(0)|0); - $573 = ($572|0)==((-1)|0); - if ($573) { - $tsize$0323944$i = 0; - } else { - $574 = $572; - $575 = HEAP32[(12048)>>2]|0; - $576 = (($575) + -1)|0; - $577 = $576 & $574; - $578 = ($577|0)==(0); - if ($578) { - $ssize$0$i = $550; - } else { - $579 = (($576) + ($574))|0; - $580 = (0 - ($575))|0; - $581 = $579 & $580; - $582 = (($550) - ($574))|0; - $583 = (($582) + ($581))|0; - $ssize$0$i = $583; - } - $584 = HEAP32[(12004)>>2]|0; - $585 = (($584) + ($ssize$0$i))|0; - $586 = ($ssize$0$i>>>0)>($nb$0>>>0); - $587 = ($ssize$0$i>>>0)<(2147483647); - $or$cond$i30 = $586 & $587; - if ($or$cond$i30) { - $588 = HEAP32[(12012)>>2]|0; - $589 = ($588|0)==(0); - if (!($589)) { - $590 = ($585>>>0)<=($584>>>0); - $591 = ($585>>>0)>($588>>>0); - $or$cond2$i = $590 | $591; - if ($or$cond2$i) { - $tsize$0323944$i = 0; - break; - } - } - $592 = (_sbrk(($ssize$0$i|0))|0); - $593 = ($592|0)==($572|0); - $ssize$0$$i = $593 ? $ssize$0$i : 0; - if ($593) { - $tbase$255$i = $572;$tsize$254$i = $ssize$0$$i; - label = 194; - break L258; - } else { - $br$0$ph$i = $592;$ssize$1$ph$i = $ssize$0$i;$tsize$0$ph$i = $ssize$0$$i; - label = 184; - } - } else { - $tsize$0323944$i = 0; - } - } - } - } while(0); - L280: do { - if ((label|0) == 184) { - $604 = (0 - ($ssize$1$ph$i))|0; - $605 = ($br$0$ph$i|0)!=((-1)|0); - $606 = ($ssize$1$ph$i>>>0)<(2147483647); - $or$cond5$i = $606 & $605; - $607 = ($545>>>0)>($ssize$1$ph$i>>>0); - $or$cond6$i = $607 & $or$cond5$i; - do { - if ($or$cond6$i) { - $608 = HEAP32[(12052)>>2]|0; - $609 = (($547) - ($ssize$1$ph$i))|0; - $610 = (($609) + ($608))|0; - $611 = (0 - ($608))|0; - $612 = $610 & $611; - $613 = ($612>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($612|0))|0); - $615 = ($614|0)==((-1)|0); - if ($615) { - (_sbrk(($604|0))|0); - $tsize$0323944$i = $tsize$0$ph$i; - break L280; - } else { - $616 = (($612) + ($ssize$1$ph$i))|0; - $ssize$2$i = $616; - break; - } - } else { - $ssize$2$i = $ssize$1$ph$i; - } - } else { - $ssize$2$i = $ssize$1$ph$i; - } - } while(0); - $617 = ($br$0$ph$i|0)==((-1)|0); - if ($617) { - $tsize$0323944$i = $tsize$0$ph$i; - } else { - $tbase$255$i = $br$0$ph$i;$tsize$254$i = $ssize$2$i; - label = 194; - break L258; - } - } - } while(0); - $618 = HEAP32[(12016)>>2]|0; - $619 = $618 | 4; - HEAP32[(12016)>>2] = $619; - $tsize$1$i = $tsize$0323944$i; - label = 191; - } else { - $tsize$1$i = 0; - label = 191; - } - } while(0); - if ((label|0) == 191) { - $620 = ($550>>>0)<(2147483647); - if ($620) { - $621 = (_sbrk(($550|0))|0); - $622 = (_sbrk(0)|0); - $623 = ($621|0)!=((-1)|0); - $624 = ($622|0)!=((-1)|0); - $or$cond3$i = $623 & $624; - $625 = ($621>>>0)<($622>>>0); - $or$cond8$i = $625 & $or$cond3$i; - if ($or$cond8$i) { - $626 = $622; - $627 = $621; - $628 = (($626) - ($627))|0; - $629 = (($nb$0) + 40)|0; - $630 = ($628>>>0)>($629>>>0); - $$tsize$1$i = $630 ? $628 : $tsize$1$i; - if ($630) { - $tbase$255$i = $621;$tsize$254$i = $$tsize$1$i; - label = 194; - } - } - } - } - if ((label|0) == 194) { - $631 = HEAP32[(12004)>>2]|0; - $632 = (($631) + ($tsize$254$i))|0; - HEAP32[(12004)>>2] = $632; - $633 = HEAP32[(12008)>>2]|0; - $634 = ($632>>>0)>($633>>>0); - if ($634) { - HEAP32[(12008)>>2] = $632; - } - $635 = HEAP32[(11596)>>2]|0; - $636 = ($635|0)==(0|0); - L299: do { - if ($636) { - $637 = HEAP32[(11588)>>2]|0; - $638 = ($637|0)==(0|0); - $639 = ($tbase$255$i>>>0)<($637>>>0); - $or$cond9$i = $638 | $639; - if ($or$cond9$i) { - HEAP32[(11588)>>2] = $tbase$255$i; - } - HEAP32[(12020)>>2] = $tbase$255$i; - HEAP32[(12024)>>2] = $tsize$254$i; - HEAP32[(12032)>>2] = 0; - $640 = HEAP32[12044>>2]|0; - HEAP32[(11608)>>2] = $640; - HEAP32[(11604)>>2] = -1; - $i$02$i$i = 0; - while(1) { - $641 = $i$02$i$i << 1; - $642 = (11612 + ($641<<2)|0); - $$sum$i$i = (($641) + 3)|0; - $643 = (11612 + ($$sum$i$i<<2)|0); - HEAP32[$643>>2] = $642; - $$sum1$i$i = (($641) + 2)|0; - $644 = (11612 + ($$sum1$i$i<<2)|0); - HEAP32[$644>>2] = $642; - $645 = (($i$02$i$i) + 1)|0; - $exitcond$i$i = ($645|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $i$02$i$i = $645; - } - } - $646 = (($tsize$254$i) + -40)|0; - $647 = ((($tbase$255$i)) + 8|0); - $648 = $647; - $649 = $648 & 7; - $650 = ($649|0)==(0); - $651 = (0 - ($648))|0; - $652 = $651 & 7; - $653 = $650 ? 0 : $652; - $654 = (($tbase$255$i) + ($653)|0); - $655 = (($646) - ($653))|0; - HEAP32[(11596)>>2] = $654; - HEAP32[(11584)>>2] = $655; - $656 = $655 | 1; - $$sum$i13$i = (($653) + 4)|0; - $657 = (($tbase$255$i) + ($$sum$i13$i)|0); - HEAP32[$657>>2] = $656; - $$sum2$i$i = (($tsize$254$i) + -36)|0; - $658 = (($tbase$255$i) + ($$sum2$i$i)|0); - HEAP32[$658>>2] = 40; - $659 = HEAP32[(12060)>>2]|0; - HEAP32[(11600)>>2] = $659; - } else { - $sp$084$i = (12020); - while(1) { - $660 = HEAP32[$sp$084$i>>2]|0; - $661 = ((($sp$084$i)) + 4|0); - $662 = HEAP32[$661>>2]|0; - $663 = (($660) + ($662)|0); - $664 = ($tbase$255$i|0)==($663|0); - if ($664) { - $$lcssa222 = $660;$$lcssa224 = $661;$$lcssa226 = $662;$sp$084$i$lcssa = $sp$084$i; - label = 204; - break; - } - $665 = ((($sp$084$i)) + 8|0); - $666 = HEAP32[$665>>2]|0; - $667 = ($666|0)==(0|0); - if ($667) { - break; - } else { - $sp$084$i = $666; - } - } - if ((label|0) == 204) { - $668 = ((($sp$084$i$lcssa)) + 12|0); - $669 = HEAP32[$668>>2]|0; - $670 = $669 & 8; - $671 = ($670|0)==(0); - if ($671) { - $672 = ($635>>>0)>=($$lcssa222>>>0); - $673 = ($635>>>0)<($tbase$255$i>>>0); - $or$cond57$i = $673 & $672; - if ($or$cond57$i) { - $674 = (($$lcssa226) + ($tsize$254$i))|0; - HEAP32[$$lcssa224>>2] = $674; - $675 = HEAP32[(11584)>>2]|0; - $676 = (($675) + ($tsize$254$i))|0; - $677 = ((($635)) + 8|0); - $678 = $677; - $679 = $678 & 7; - $680 = ($679|0)==(0); - $681 = (0 - ($678))|0; - $682 = $681 & 7; - $683 = $680 ? 0 : $682; - $684 = (($635) + ($683)|0); - $685 = (($676) - ($683))|0; - HEAP32[(11596)>>2] = $684; - HEAP32[(11584)>>2] = $685; - $686 = $685 | 1; - $$sum$i17$i = (($683) + 4)|0; - $687 = (($635) + ($$sum$i17$i)|0); - HEAP32[$687>>2] = $686; - $$sum2$i18$i = (($676) + 4)|0; - $688 = (($635) + ($$sum2$i18$i)|0); - HEAP32[$688>>2] = 40; - $689 = HEAP32[(12060)>>2]|0; - HEAP32[(11600)>>2] = $689; - break; - } - } - } - $690 = HEAP32[(11588)>>2]|0; - $691 = ($tbase$255$i>>>0)<($690>>>0); - if ($691) { - HEAP32[(11588)>>2] = $tbase$255$i; - $755 = $tbase$255$i; - } else { - $755 = $690; - } - $692 = (($tbase$255$i) + ($tsize$254$i)|0); - $sp$183$i = (12020); - while(1) { - $693 = HEAP32[$sp$183$i>>2]|0; - $694 = ($693|0)==($692|0); - if ($694) { - $$lcssa219 = $sp$183$i;$sp$183$i$lcssa = $sp$183$i; - label = 212; - break; - } - $695 = ((($sp$183$i)) + 8|0); - $696 = HEAP32[$695>>2]|0; - $697 = ($696|0)==(0|0); - if ($697) { - $sp$0$i$i$i = (12020); - break; - } else { - $sp$183$i = $696; - } - } - if ((label|0) == 212) { - $698 = ((($sp$183$i$lcssa)) + 12|0); - $699 = HEAP32[$698>>2]|0; - $700 = $699 & 8; - $701 = ($700|0)==(0); - if ($701) { - HEAP32[$$lcssa219>>2] = $tbase$255$i; - $702 = ((($sp$183$i$lcssa)) + 4|0); - $703 = HEAP32[$702>>2]|0; - $704 = (($703) + ($tsize$254$i))|0; - HEAP32[$702>>2] = $704; - $705 = ((($tbase$255$i)) + 8|0); - $706 = $705; - $707 = $706 & 7; - $708 = ($707|0)==(0); - $709 = (0 - ($706))|0; - $710 = $709 & 7; - $711 = $708 ? 0 : $710; - $712 = (($tbase$255$i) + ($711)|0); - $$sum112$i = (($tsize$254$i) + 8)|0; - $713 = (($tbase$255$i) + ($$sum112$i)|0); - $714 = $713; - $715 = $714 & 7; - $716 = ($715|0)==(0); - $717 = (0 - ($714))|0; - $718 = $717 & 7; - $719 = $716 ? 0 : $718; - $$sum113$i = (($719) + ($tsize$254$i))|0; - $720 = (($tbase$255$i) + ($$sum113$i)|0); - $721 = $720; - $722 = $712; - $723 = (($721) - ($722))|0; - $$sum$i19$i = (($711) + ($nb$0))|0; - $724 = (($tbase$255$i) + ($$sum$i19$i)|0); - $725 = (($723) - ($nb$0))|0; - $726 = $nb$0 | 3; - $$sum1$i20$i = (($711) + 4)|0; - $727 = (($tbase$255$i) + ($$sum1$i20$i)|0); - HEAP32[$727>>2] = $726; - $728 = ($720|0)==($635|0); - L324: do { - if ($728) { - $729 = HEAP32[(11584)>>2]|0; - $730 = (($729) + ($725))|0; - HEAP32[(11584)>>2] = $730; - HEAP32[(11596)>>2] = $724; - $731 = $730 | 1; - $$sum42$i$i = (($$sum$i19$i) + 4)|0; - $732 = (($tbase$255$i) + ($$sum42$i$i)|0); - HEAP32[$732>>2] = $731; - } else { - $733 = HEAP32[(11592)>>2]|0; - $734 = ($720|0)==($733|0); - if ($734) { - $735 = HEAP32[(11580)>>2]|0; - $736 = (($735) + ($725))|0; - HEAP32[(11580)>>2] = $736; - HEAP32[(11592)>>2] = $724; - $737 = $736 | 1; - $$sum40$i$i = (($$sum$i19$i) + 4)|0; - $738 = (($tbase$255$i) + ($$sum40$i$i)|0); - HEAP32[$738>>2] = $737; - $$sum41$i$i = (($736) + ($$sum$i19$i))|0; - $739 = (($tbase$255$i) + ($$sum41$i$i)|0); - HEAP32[$739>>2] = $736; - break; - } - $$sum2$i21$i = (($tsize$254$i) + 4)|0; - $$sum114$i = (($$sum2$i21$i) + ($719))|0; - $740 = (($tbase$255$i) + ($$sum114$i)|0); - $741 = HEAP32[$740>>2]|0; - $742 = $741 & 3; - $743 = ($742|0)==(1); - if ($743) { - $744 = $741 & -8; - $745 = $741 >>> 3; - $746 = ($741>>>0)<(256); - L332: do { - if ($746) { - $$sum3738$i$i = $719 | 8; - $$sum124$i = (($$sum3738$i$i) + ($tsize$254$i))|0; - $747 = (($tbase$255$i) + ($$sum124$i)|0); - $748 = HEAP32[$747>>2]|0; - $$sum39$i$i = (($tsize$254$i) + 12)|0; - $$sum125$i = (($$sum39$i$i) + ($719))|0; - $749 = (($tbase$255$i) + ($$sum125$i)|0); - $750 = HEAP32[$749>>2]|0; - $751 = $745 << 1; - $752 = (11612 + ($751<<2)|0); - $753 = ($748|0)==($752|0); - do { - if (!($753)) { - $754 = ($748>>>0)<($755>>>0); - if ($754) { - _abort(); - // unreachable; - } - $756 = ((($748)) + 12|0); - $757 = HEAP32[$756>>2]|0; - $758 = ($757|0)==($720|0); - if ($758) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $759 = ($750|0)==($748|0); - if ($759) { - $760 = 1 << $745; - $761 = $760 ^ -1; - $762 = HEAP32[11572>>2]|0; - $763 = $762 & $761; - HEAP32[11572>>2] = $763; - break; - } - $764 = ($750|0)==($752|0); - do { - if ($764) { - $$pre57$i$i = ((($750)) + 8|0); - $$pre$phi58$i$iZ2D = $$pre57$i$i; - } else { - $765 = ($750>>>0)<($755>>>0); - if ($765) { - _abort(); - // unreachable; - } - $766 = ((($750)) + 8|0); - $767 = HEAP32[$766>>2]|0; - $768 = ($767|0)==($720|0); - if ($768) { - $$pre$phi58$i$iZ2D = $766; - break; - } - _abort(); - // unreachable; - } - } while(0); - $769 = ((($748)) + 12|0); - HEAP32[$769>>2] = $750; - HEAP32[$$pre$phi58$i$iZ2D>>2] = $748; - } else { - $$sum34$i$i = $719 | 24; - $$sum115$i = (($$sum34$i$i) + ($tsize$254$i))|0; - $770 = (($tbase$255$i) + ($$sum115$i)|0); - $771 = HEAP32[$770>>2]|0; - $$sum5$i$i = (($tsize$254$i) + 12)|0; - $$sum116$i = (($$sum5$i$i) + ($719))|0; - $772 = (($tbase$255$i) + ($$sum116$i)|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773|0)==($720|0); - do { - if ($774) { - $$sum67$i$i = $719 | 16; - $$sum122$i = (($$sum2$i21$i) + ($$sum67$i$i))|0; - $784 = (($tbase$255$i) + ($$sum122$i)|0); - $785 = HEAP32[$784>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$sum123$i = (($$sum67$i$i) + ($tsize$254$i))|0; - $787 = (($tbase$255$i) + ($$sum123$i)|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if ($789) { - $R$1$i$i = 0; - break; - } else { - $R$0$i$i = $788;$RP$0$i$i = $787; - } - } else { - $R$0$i$i = $785;$RP$0$i$i = $784; - } - while(1) { - $790 = ((($R$0$i$i)) + 20|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if (!($792)) { - $R$0$i$i = $791;$RP$0$i$i = $790; - continue; - } - $793 = ((($R$0$i$i)) + 16|0); - $794 = HEAP32[$793>>2]|0; - $795 = ($794|0)==(0|0); - if ($795) { - $R$0$i$i$lcssa = $R$0$i$i;$RP$0$i$i$lcssa = $RP$0$i$i; - break; - } else { - $R$0$i$i = $794;$RP$0$i$i = $793; - } - } - $796 = ($RP$0$i$i$lcssa>>>0)<($755>>>0); - if ($796) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$i$i$lcssa>>2] = 0; - $R$1$i$i = $R$0$i$i$lcssa; - break; - } - } else { - $$sum3536$i$i = $719 | 8; - $$sum117$i = (($$sum3536$i$i) + ($tsize$254$i))|0; - $775 = (($tbase$255$i) + ($$sum117$i)|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776>>>0)<($755>>>0); - if ($777) { - _abort(); - // unreachable; - } - $778 = ((($776)) + 12|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($720|0); - if (!($780)) { - _abort(); - // unreachable; - } - $781 = ((($773)) + 8|0); - $782 = HEAP32[$781>>2]|0; - $783 = ($782|0)==($720|0); - if ($783) { - HEAP32[$778>>2] = $773; - HEAP32[$781>>2] = $776; - $R$1$i$i = $773; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $797 = ($771|0)==(0|0); - if ($797) { - break; - } - $$sum30$i$i = (($tsize$254$i) + 28)|0; - $$sum118$i = (($$sum30$i$i) + ($719))|0; - $798 = (($tbase$255$i) + ($$sum118$i)|0); - $799 = HEAP32[$798>>2]|0; - $800 = (11876 + ($799<<2)|0); - $801 = HEAP32[$800>>2]|0; - $802 = ($720|0)==($801|0); - do { - if ($802) { - HEAP32[$800>>2] = $R$1$i$i; - $cond$i$i = ($R$1$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $803 = 1 << $799; - $804 = $803 ^ -1; - $805 = HEAP32[(11576)>>2]|0; - $806 = $805 & $804; - HEAP32[(11576)>>2] = $806; - break L332; - } else { - $807 = HEAP32[(11588)>>2]|0; - $808 = ($771>>>0)<($807>>>0); - if ($808) { - _abort(); - // unreachable; - } - $809 = ((($771)) + 16|0); - $810 = HEAP32[$809>>2]|0; - $811 = ($810|0)==($720|0); - if ($811) { - HEAP32[$809>>2] = $R$1$i$i; - } else { - $812 = ((($771)) + 20|0); - HEAP32[$812>>2] = $R$1$i$i; - } - $813 = ($R$1$i$i|0)==(0|0); - if ($813) { - break L332; - } - } - } while(0); - $814 = HEAP32[(11588)>>2]|0; - $815 = ($R$1$i$i>>>0)<($814>>>0); - if ($815) { - _abort(); - // unreachable; - } - $816 = ((($R$1$i$i)) + 24|0); - HEAP32[$816>>2] = $771; - $$sum3132$i$i = $719 | 16; - $$sum119$i = (($$sum3132$i$i) + ($tsize$254$i))|0; - $817 = (($tbase$255$i) + ($$sum119$i)|0); - $818 = HEAP32[$817>>2]|0; - $819 = ($818|0)==(0|0); - do { - if (!($819)) { - $820 = ($818>>>0)<($814>>>0); - if ($820) { - _abort(); - // unreachable; - } else { - $821 = ((($R$1$i$i)) + 16|0); - HEAP32[$821>>2] = $818; - $822 = ((($818)) + 24|0); - HEAP32[$822>>2] = $R$1$i$i; - break; - } - } - } while(0); - $$sum120$i = (($$sum2$i21$i) + ($$sum3132$i$i))|0; - $823 = (($tbase$255$i) + ($$sum120$i)|0); - $824 = HEAP32[$823>>2]|0; - $825 = ($824|0)==(0|0); - if ($825) { - break; - } - $826 = HEAP32[(11588)>>2]|0; - $827 = ($824>>>0)<($826>>>0); - if ($827) { - _abort(); - // unreachable; - } else { - $828 = ((($R$1$i$i)) + 20|0); - HEAP32[$828>>2] = $824; - $829 = ((($824)) + 24|0); - HEAP32[$829>>2] = $R$1$i$i; - break; - } - } - } while(0); - $$sum9$i$i = $744 | $719; - $$sum121$i = (($$sum9$i$i) + ($tsize$254$i))|0; - $830 = (($tbase$255$i) + ($$sum121$i)|0); - $831 = (($744) + ($725))|0; - $oldfirst$0$i$i = $830;$qsize$0$i$i = $831; - } else { - $oldfirst$0$i$i = $720;$qsize$0$i$i = $725; - } - $832 = ((($oldfirst$0$i$i)) + 4|0); - $833 = HEAP32[$832>>2]|0; - $834 = $833 & -2; - HEAP32[$832>>2] = $834; - $835 = $qsize$0$i$i | 1; - $$sum10$i$i = (($$sum$i19$i) + 4)|0; - $836 = (($tbase$255$i) + ($$sum10$i$i)|0); - HEAP32[$836>>2] = $835; - $$sum11$i$i = (($qsize$0$i$i) + ($$sum$i19$i))|0; - $837 = (($tbase$255$i) + ($$sum11$i$i)|0); - HEAP32[$837>>2] = $qsize$0$i$i; - $838 = $qsize$0$i$i >>> 3; - $839 = ($qsize$0$i$i>>>0)<(256); - if ($839) { - $840 = $838 << 1; - $841 = (11612 + ($840<<2)|0); - $842 = HEAP32[11572>>2]|0; - $843 = 1 << $838; - $844 = $842 & $843; - $845 = ($844|0)==(0); - do { - if ($845) { - $846 = $842 | $843; - HEAP32[11572>>2] = $846; - $$pre$i22$i = (($840) + 2)|0; - $$pre56$i$i = (11612 + ($$pre$i22$i<<2)|0); - $$pre$phi$i23$iZ2D = $$pre56$i$i;$F4$0$i$i = $841; - } else { - $$sum29$i$i = (($840) + 2)|0; - $847 = (11612 + ($$sum29$i$i<<2)|0); - $848 = HEAP32[$847>>2]|0; - $849 = HEAP32[(11588)>>2]|0; - $850 = ($848>>>0)<($849>>>0); - if (!($850)) { - $$pre$phi$i23$iZ2D = $847;$F4$0$i$i = $848; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i23$iZ2D>>2] = $724; - $851 = ((($F4$0$i$i)) + 12|0); - HEAP32[$851>>2] = $724; - $$sum27$i$i = (($$sum$i19$i) + 8)|0; - $852 = (($tbase$255$i) + ($$sum27$i$i)|0); - HEAP32[$852>>2] = $F4$0$i$i; - $$sum28$i$i = (($$sum$i19$i) + 12)|0; - $853 = (($tbase$255$i) + ($$sum28$i$i)|0); - HEAP32[$853>>2] = $841; - break; - } - $854 = $qsize$0$i$i >>> 8; - $855 = ($854|0)==(0); - do { - if ($855) { - $I7$0$i$i = 0; - } else { - $856 = ($qsize$0$i$i>>>0)>(16777215); - if ($856) { - $I7$0$i$i = 31; - break; - } - $857 = (($854) + 1048320)|0; - $858 = $857 >>> 16; - $859 = $858 & 8; - $860 = $854 << $859; - $861 = (($860) + 520192)|0; - $862 = $861 >>> 16; - $863 = $862 & 4; - $864 = $863 | $859; - $865 = $860 << $863; - $866 = (($865) + 245760)|0; - $867 = $866 >>> 16; - $868 = $867 & 2; - $869 = $864 | $868; - $870 = (14 - ($869))|0; - $871 = $865 << $868; - $872 = $871 >>> 15; - $873 = (($870) + ($872))|0; - $874 = $873 << 1; - $875 = (($873) + 7)|0; - $876 = $qsize$0$i$i >>> $875; - $877 = $876 & 1; - $878 = $877 | $874; - $I7$0$i$i = $878; - } - } while(0); - $879 = (11876 + ($I7$0$i$i<<2)|0); - $$sum12$i$i = (($$sum$i19$i) + 28)|0; - $880 = (($tbase$255$i) + ($$sum12$i$i)|0); - HEAP32[$880>>2] = $I7$0$i$i; - $$sum13$i$i = (($$sum$i19$i) + 16)|0; - $881 = (($tbase$255$i) + ($$sum13$i$i)|0); - $$sum14$i$i = (($$sum$i19$i) + 20)|0; - $882 = (($tbase$255$i) + ($$sum14$i$i)|0); - HEAP32[$882>>2] = 0; - HEAP32[$881>>2] = 0; - $883 = HEAP32[(11576)>>2]|0; - $884 = 1 << $I7$0$i$i; - $885 = $883 & $884; - $886 = ($885|0)==(0); - if ($886) { - $887 = $883 | $884; - HEAP32[(11576)>>2] = $887; - HEAP32[$879>>2] = $724; - $$sum15$i$i = (($$sum$i19$i) + 24)|0; - $888 = (($tbase$255$i) + ($$sum15$i$i)|0); - HEAP32[$888>>2] = $879; - $$sum16$i$i = (($$sum$i19$i) + 12)|0; - $889 = (($tbase$255$i) + ($$sum16$i$i)|0); - HEAP32[$889>>2] = $724; - $$sum17$i$i = (($$sum$i19$i) + 8)|0; - $890 = (($tbase$255$i) + ($$sum17$i$i)|0); - HEAP32[$890>>2] = $724; - break; - } - $891 = HEAP32[$879>>2]|0; - $892 = ((($891)) + 4|0); - $893 = HEAP32[$892>>2]|0; - $894 = $893 & -8; - $895 = ($894|0)==($qsize$0$i$i|0); - L418: do { - if ($895) { - $T$0$lcssa$i25$i = $891; - } else { - $896 = ($I7$0$i$i|0)==(31); - $897 = $I7$0$i$i >>> 1; - $898 = (25 - ($897))|0; - $899 = $896 ? 0 : $898; - $900 = $qsize$0$i$i << $899; - $K8$051$i$i = $900;$T$050$i$i = $891; - while(1) { - $907 = $K8$051$i$i >>> 31; - $908 = (((($T$050$i$i)) + 16|0) + ($907<<2)|0); - $903 = HEAP32[$908>>2]|0; - $909 = ($903|0)==(0|0); - if ($909) { - $$lcssa = $908;$T$050$i$i$lcssa = $T$050$i$i; - break; - } - $901 = $K8$051$i$i << 1; - $902 = ((($903)) + 4|0); - $904 = HEAP32[$902>>2]|0; - $905 = $904 & -8; - $906 = ($905|0)==($qsize$0$i$i|0); - if ($906) { - $T$0$lcssa$i25$i = $903; - break L418; - } else { - $K8$051$i$i = $901;$T$050$i$i = $903; - } - } - $910 = HEAP32[(11588)>>2]|0; - $911 = ($$lcssa>>>0)<($910>>>0); - if ($911) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa>>2] = $724; - $$sum23$i$i = (($$sum$i19$i) + 24)|0; - $912 = (($tbase$255$i) + ($$sum23$i$i)|0); - HEAP32[$912>>2] = $T$050$i$i$lcssa; - $$sum24$i$i = (($$sum$i19$i) + 12)|0; - $913 = (($tbase$255$i) + ($$sum24$i$i)|0); - HEAP32[$913>>2] = $724; - $$sum25$i$i = (($$sum$i19$i) + 8)|0; - $914 = (($tbase$255$i) + ($$sum25$i$i)|0); - HEAP32[$914>>2] = $724; - break L324; - } - } - } while(0); - $915 = ((($T$0$lcssa$i25$i)) + 8|0); - $916 = HEAP32[$915>>2]|0; - $917 = HEAP32[(11588)>>2]|0; - $918 = ($916>>>0)>=($917>>>0); - $not$$i26$i = ($T$0$lcssa$i25$i>>>0)>=($917>>>0); - $919 = $918 & $not$$i26$i; - if ($919) { - $920 = ((($916)) + 12|0); - HEAP32[$920>>2] = $724; - HEAP32[$915>>2] = $724; - $$sum20$i$i = (($$sum$i19$i) + 8)|0; - $921 = (($tbase$255$i) + ($$sum20$i$i)|0); - HEAP32[$921>>2] = $916; - $$sum21$i$i = (($$sum$i19$i) + 12)|0; - $922 = (($tbase$255$i) + ($$sum21$i$i)|0); - HEAP32[$922>>2] = $T$0$lcssa$i25$i; - $$sum22$i$i = (($$sum$i19$i) + 24)|0; - $923 = (($tbase$255$i) + ($$sum22$i$i)|0); - HEAP32[$923>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } } } while(0); - $$sum1819$i$i = $711 | 8; - $924 = (($tbase$255$i) + ($$sum1819$i$i)|0); - $mem$0 = $924; - return ($mem$0|0); - } else { - $sp$0$i$i$i = (12020); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); } } + $$0$i$i$i = (31700); while(1) { - $925 = HEAP32[$sp$0$i$i$i>>2]|0; - $926 = ($925>>>0)>($635>>>0); - if (!($926)) { - $927 = ((($sp$0$i$i$i)) + 4|0); - $928 = HEAP32[$927>>2]|0; - $929 = (($925) + ($928)|0); - $930 = ($929>>>0)>($635>>>0); - if ($930) { - $$lcssa215 = $925;$$lcssa216 = $928;$$lcssa217 = $929; + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { break; } } - $931 = ((($sp$0$i$i$i)) + 8|0); - $932 = HEAP32[$931>>2]|0; - $sp$0$i$i$i = $932; + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; } - $$sum$i14$i = (($$lcssa216) + -47)|0; - $$sum1$i15$i = (($$lcssa216) + -39)|0; - $933 = (($$lcssa215) + ($$sum1$i15$i)|0); - $934 = $933; - $935 = $934 & 7; - $936 = ($935|0)==(0); - $937 = (0 - ($934))|0; - $938 = $937 & 7; - $939 = $936 ? 0 : $938; - $$sum2$i16$i = (($$sum$i14$i) + ($939))|0; - $940 = (($$lcssa215) + ($$sum2$i16$i)|0); - $941 = ((($635)) + 16|0); - $942 = ($940>>>0)<($941>>>0); - $943 = $942 ? $635 : $940; - $944 = ((($943)) + 8|0); - $945 = (($tsize$254$i) + -40)|0; - $946 = ((($tbase$255$i)) + 8|0); - $947 = $946; - $948 = $947 & 7; - $949 = ($948|0)==(0); - $950 = (0 - ($947))|0; - $951 = $950 & 7; - $952 = $949 ? 0 : $951; - $953 = (($tbase$255$i) + ($952)|0); - $954 = (($945) - ($952))|0; - HEAP32[(11596)>>2] = $953; - HEAP32[(11584)>>2] = $954; - $955 = $954 | 1; - $$sum$i$i$i = (($952) + 4)|0; - $956 = (($tbase$255$i) + ($$sum$i$i$i)|0); - HEAP32[$956>>2] = $955; - $$sum2$i$i$i = (($tsize$254$i) + -36)|0; - $957 = (($tbase$255$i) + ($$sum2$i$i$i)|0); - HEAP32[$957>>2] = 40; - $958 = HEAP32[(12060)>>2]|0; - HEAP32[(11600)>>2] = $958; - $959 = ((($943)) + 4|0); - HEAP32[$959>>2] = 27; - ;HEAP32[$944>>2]=HEAP32[(12020)>>2]|0;HEAP32[$944+4>>2]=HEAP32[(12020)+4>>2]|0;HEAP32[$944+8>>2]=HEAP32[(12020)+8>>2]|0;HEAP32[$944+12>>2]=HEAP32[(12020)+12>>2]|0; - HEAP32[(12020)>>2] = $tbase$255$i; - HEAP32[(12024)>>2] = $tsize$254$i; - HEAP32[(12032)>>2] = 0; - HEAP32[(12028)>>2] = $944; - $960 = ((($943)) + 28|0); - HEAP32[$960>>2] = 7; - $961 = ((($943)) + 32|0); - $962 = ($961>>>0)<($$lcssa217>>>0); - if ($962) { - $964 = $960; - while(1) { - $963 = ((($964)) + 4|0); - HEAP32[$963>>2] = 7; - $965 = ((($964)) + 8|0); - $966 = ($965>>>0)<($$lcssa217>>>0); - if ($966) { - $964 = $963; - } else { - break; - } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(31276)>>2] = $946; + HEAP32[(31264)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(31740)>>2]|0; + HEAP32[(31280)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(31700)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(31700)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(31700)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(31700)+12>>2]|0; + HEAP32[(31700)>>2] = $$749$i; + HEAP32[(31704)>>2] = $$723948$i; + HEAP32[(31712)>>2] = 0; + HEAP32[(31708)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; } } - $967 = ($943|0)==($635|0); - if (!($967)) { - $968 = $943; - $969 = $635; - $970 = (($968) - ($969))|0; - $971 = HEAP32[$959>>2]|0; - $972 = $971 & -2; - HEAP32[$959>>2] = $972; - $973 = $970 | 1; - $974 = ((($635)) + 4|0); - HEAP32[$974>>2] = $973; - HEAP32[$943>>2] = $970; - $975 = $970 >>> 3; - $976 = ($970>>>0)<(256); - if ($976) { - $977 = $975 << 1; - $978 = (11612 + ($977<<2)|0); - $979 = HEAP32[11572>>2]|0; - $980 = 1 << $975; - $981 = $979 & $980; - $982 = ($981|0)==(0); - if ($982) { - $983 = $979 | $980; - HEAP32[11572>>2] = $983; - $$pre$i$i = (($977) + 2)|0; - $$pre14$i$i = (11612 + ($$pre$i$i<<2)|0); - $$pre$phi$i$iZ2D = $$pre14$i$i;$F$0$i$i = $978; + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (31292 + ($968<<2)|0); + $970 = HEAP32[7813]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[7813] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { - $$sum4$i$i = (($977) + 2)|0; - $984 = (11612 + ($$sum4$i$i<<2)|0); - $985 = HEAP32[$984>>2]|0; - $986 = HEAP32[(11588)>>2]|0; - $987 = ($985>>>0)<($986>>>0); - if ($987) { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(31268)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { _abort(); // unreachable; } else { - $$pre$phi$i$iZ2D = $984;$F$0$i$i = $985; + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; } } - HEAP32[$$pre$phi$i$iZ2D>>2] = $635; - $988 = ((($F$0$i$i)) + 12|0); - HEAP32[$988>>2] = $635; - $989 = ((($635)) + 8|0); - HEAP32[$989>>2] = $F$0$i$i; - $990 = ((($635)) + 12|0); - HEAP32[$990>>2] = $978; + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; break; } - $991 = $970 >>> 8; - $992 = ($991|0)==(0); - if ($992) { - $I1$0$i$i = 0; + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; } else { - $993 = ($970>>>0)>(16777215); - if ($993) { - $I1$0$i$i = 31; + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; } else { - $994 = (($991) + 1048320)|0; + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; $995 = $994 >>> 16; - $996 = $995 & 8; - $997 = $991 << $996; - $998 = (($997) + 520192)|0; - $999 = $998 >>> 16; - $1000 = $999 & 4; - $1001 = $1000 | $996; - $1002 = $997 << $1000; - $1003 = (($1002) + 245760)|0; - $1004 = $1003 >>> 16; - $1005 = $1004 & 2; - $1006 = $1001 | $1005; - $1007 = (14 - ($1006))|0; - $1008 = $1002 << $1005; - $1009 = $1008 >>> 15; - $1010 = (($1007) + ($1009))|0; - $1011 = $1010 << 1; - $1012 = (($1010) + 7)|0; - $1013 = $970 >>> $1012; - $1014 = $1013 & 1; - $1015 = $1014 | $1011; - $I1$0$i$i = $1015; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; } } - $1016 = (11876 + ($I1$0$i$i<<2)|0); - $1017 = ((($635)) + 28|0); - HEAP32[$1017>>2] = $I1$0$i$i; - $1018 = ((($635)) + 20|0); - HEAP32[$1018>>2] = 0; - HEAP32[$941>>2] = 0; - $1019 = HEAP32[(11576)>>2]|0; - $1020 = 1 << $I1$0$i$i; - $1021 = $1019 & $1020; - $1022 = ($1021|0)==(0); - if ($1022) { - $1023 = $1019 | $1020; - HEAP32[(11576)>>2] = $1023; - HEAP32[$1016>>2] = $635; - $1024 = ((($635)) + 24|0); - HEAP32[$1024>>2] = $1016; - $1025 = ((($635)) + 12|0); - HEAP32[$1025>>2] = $635; - $1026 = ((($635)) + 8|0); - HEAP32[$1026>>2] = $635; + $1007 = (31556 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(31256)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(31256)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; break; } - $1027 = HEAP32[$1016>>2]|0; - $1028 = ((($1027)) + 4|0); - $1029 = HEAP32[$1028>>2]|0; - $1030 = $1029 & -8; - $1031 = ($1030|0)==($970|0); - L459: do { - if ($1031) { - $T$0$lcssa$i$i = $1027; + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; } else { - $1032 = ($I1$0$i$i|0)==(31); - $1033 = $I1$0$i$i >>> 1; - $1034 = (25 - ($1033))|0; - $1035 = $1032 ? 0 : $1034; - $1036 = $970 << $1035; - $K2$07$i$i = $1036;$T$06$i$i = $1027; - while(1) { - $1043 = $K2$07$i$i >>> 31; - $1044 = (((($T$06$i$i)) + 16|0) + ($1043<<2)|0); - $1039 = HEAP32[$1044>>2]|0; - $1045 = ($1039|0)==(0|0); - if ($1045) { - $$lcssa211 = $1044;$T$06$i$i$lcssa = $T$06$i$i; - break; - } - $1037 = $K2$07$i$i << 1; - $1038 = ((($1039)) + 4|0); - $1040 = HEAP32[$1038>>2]|0; - $1041 = $1040 & -8; - $1042 = ($1041|0)==($970|0); - if ($1042) { - $T$0$lcssa$i$i = $1039; - break L459; - } else { - $K2$07$i$i = $1037;$T$06$i$i = $1039; - } - } - $1046 = HEAP32[(11588)>>2]|0; - $1047 = ($$lcssa211>>>0)<($1046>>>0); - if ($1047) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa211>>2] = $635; - $1048 = ((($635)) + 24|0); - HEAP32[$1048>>2] = $T$06$i$i$lcssa; - $1049 = ((($635)) + 12|0); - HEAP32[$1049>>2] = $635; - $1050 = ((($635)) + 8|0); - HEAP32[$1050>>2] = $635; - break L299; - } + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(31268)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(31268)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; } - } while(0); - $1051 = ((($T$0$lcssa$i$i)) + 8|0); - $1052 = HEAP32[$1051>>2]|0; - $1053 = HEAP32[(11588)>>2]|0; - $1054 = ($1052>>>0)>=($1053>>>0); - $not$$i$i = ($T$0$lcssa$i$i>>>0)>=($1053>>>0); - $1055 = $1054 & $not$$i$i; - if ($1055) { - $1056 = ((($1052)) + 12|0); - HEAP32[$1056>>2] = $635; - HEAP32[$1051>>2] = $635; - $1057 = ((($635)) + 8|0); - HEAP32[$1057>>2] = $1052; - $1058 = ((($635)) + 12|0); - HEAP32[$1058>>2] = $T$0$lcssa$i$i; - $1059 = ((($635)) + 24|0); - HEAP32[$1059>>2] = 0; - break; - } else { - _abort(); - // unreachable; } } } } while(0); - $1060 = HEAP32[(11584)>>2]|0; - $1061 = ($1060>>>0)>($nb$0>>>0); - if ($1061) { - $1062 = (($1060) - ($nb$0))|0; - HEAP32[(11584)>>2] = $1062; - $1063 = HEAP32[(11596)>>2]|0; - $1064 = (($1063) + ($nb$0)|0); - HEAP32[(11596)>>2] = $1064; - $1065 = $1062 | 1; - $$sum$i32 = (($nb$0) + 4)|0; - $1066 = (($1063) + ($$sum$i32)|0); - HEAP32[$1066>>2] = $1065; - $1067 = $nb$0 | 3; - $1068 = ((($1063)) + 4|0); - HEAP32[$1068>>2] = $1067; - $1069 = ((($1063)) + 8|0); - $mem$0 = $1069; - return ($mem$0|0); + $1048 = HEAP32[(31264)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(31264)>>2] = $1050; + $1051 = HEAP32[(31276)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(31276)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); } } - $1070 = (___errno_location()|0); - HEAP32[$1070>>2] = 12; - $mem$0 = 0; - return ($mem$0|0); + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); } -function _free($mem) { - $mem = $mem|0; - var $$lcssa = 0, $$pre = 0, $$pre$phi59Z2D = 0, $$pre$phi61Z2D = 0, $$pre$phiZ2D = 0, $$pre57 = 0, $$pre58 = 0, $$pre60 = 0, $$sum = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum1718 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0; - var $$sum25 = 0, $$sum26 = 0, $$sum27 = 0, $$sum28 = 0, $$sum29 = 0, $$sum3 = 0, $$sum30 = 0, $$sum31 = 0, $$sum5 = 0, $$sum67 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 0, $1 = 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, $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; - 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, $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, $F16$0 = 0, $I18$0 = 0, $K19$052 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0; - var $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$051 = 0, $T$051$lcssa = 0, $cond = 0, $cond47 = 0, $not$ = 0, $p$0 = 0, $psize$0 = 0, $psize$1 = 0, $sp$0$i = 0, $sp$0$in$i = 0, label = 0, sp = 0; +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $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; + var $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, $310 = 0, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = ($mem|0)==(0|0); - if ($0) { + $1 = ($0|0)==(0|0); + if ($1) { return; } - $1 = ((($mem)) + -8|0); - $2 = HEAP32[(11588)>>2]|0; - $3 = ($1>>>0)<($2>>>0); - if ($3) { + $2 = ((($0)) + -8|0); + $3 = HEAP32[(31268)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { _abort(); // unreachable; } - $4 = ((($mem)) + -4|0); - $5 = HEAP32[$4>>2]|0; - $6 = $5 & 3; - $7 = ($6|0)==(1); - if ($7) { + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { _abort(); // unreachable; } - $8 = $5 & -8; - $$sum = (($8) + -8)|0; - $9 = (($mem) + ($$sum)|0); - $10 = $5 & 1; - $11 = ($10|0)==(0); - do { - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = ($6|0)==(0); - if ($13) { + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { return; } - $$sum2 = (-8 - ($12))|0; - $14 = (($mem) + ($$sum2)|0); - $15 = (($12) + ($8))|0; - $16 = ($14>>>0)<($2>>>0); - if ($16) { + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { _abort(); // unreachable; } - $17 = HEAP32[(11592)>>2]|0; - $18 = ($14|0)==($17|0); - if ($18) { - $$sum3 = (($8) + -4)|0; - $103 = (($mem) + ($$sum3)|0); - $104 = HEAP32[$103>>2]|0; - $105 = $104 & 3; - $106 = ($105|0)==(3); - if (!($106)) { - $p$0 = $14;$psize$0 = $15; + $19 = HEAP32[(31272)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; break; } - HEAP32[(11580)>>2] = $15; - $107 = $104 & -2; - HEAP32[$103>>2] = $107; - $108 = $15 | 1; - $$sum20 = (($$sum2) + 4)|0; - $109 = (($mem) + ($$sum20)|0); - HEAP32[$109>>2] = $108; - HEAP32[$9>>2] = $15; + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(31260)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; return; } - $19 = $12 >>> 3; - $20 = ($12>>>0)<(256); - if ($20) { - $$sum30 = (($$sum2) + 8)|0; - $21 = (($mem) + ($$sum30)|0); - $22 = HEAP32[$21>>2]|0; - $$sum31 = (($$sum2) + 12)|0; - $23 = (($mem) + ($$sum31)|0); + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); $24 = HEAP32[$23>>2]|0; - $25 = $19 << 1; - $26 = (11612 + ($25<<2)|0); - $27 = ($22|0)==($26|0); - if (!($27)) { - $28 = ($22>>>0)<($2>>>0); - if ($28) { + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (31292 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { _abort(); // unreachable; } - $29 = ((($22)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==($14|0); - if (!($31)) { + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { _abort(); // unreachable; } } - $32 = ($24|0)==($22|0); - if ($32) { - $33 = 1 << $19; - $34 = $33 ^ -1; - $35 = HEAP32[11572>>2]|0; - $36 = $35 & $34; - HEAP32[11572>>2] = $36; - $p$0 = $14;$psize$0 = $15; + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[7813]|0; + $38 = $37 & $36; + HEAP32[7813] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; break; } - $37 = ($24|0)==($26|0); - if ($37) { - $$pre60 = ((($24)) + 8|0); - $$pre$phi61Z2D = $$pre60; + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; } else { - $38 = ($24>>>0)<($2>>>0); - if ($38) { + $40 = ($26>>>0)<($3>>>0); + if ($40) { _abort(); // unreachable; } - $39 = ((($24)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)==($14|0); - if ($41) { - $$pre$phi61Z2D = $39; + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; } else { _abort(); // unreachable; } } - $42 = ((($22)) + 12|0); - HEAP32[$42>>2] = $24; - HEAP32[$$pre$phi61Z2D>>2] = $22; - $p$0 = $14;$psize$0 = $15; + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; break; } - $$sum22 = (($$sum2) + 24)|0; - $43 = (($mem) + ($$sum22)|0); - $44 = HEAP32[$43>>2]|0; - $$sum23 = (($$sum2) + 12)|0; - $45 = (($mem) + ($$sum23)|0); + $45 = ((($16)) + 24|0); $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==($14|0); + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); do { - if ($47) { - $$sum25 = (($$sum2) + 20)|0; - $57 = (($mem) + ($$sum25)|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0|0); - if ($59) { - $$sum24 = (($$sum2) + 16)|0; - $60 = (($mem) + ($$sum24)|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $R$1 = 0; + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; break; } else { - $R$0 = $61;$RP$0 = $60; + $$1387 = $63;$$1390 = $59; } } else { - $R$0 = $58;$RP$0 = $57; + $$1387 = $61;$$1390 = $60; } while(1) { - $63 = ((($R$0)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $R$0 = $64;$RP$0 = $63; + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; continue; } - $66 = ((($R$0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67|0)==(0|0); - if ($68) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { break; } else { - $R$0 = $67;$RP$0 = $66; + $$1387 = $69;$$1390 = $68; } } - $69 = ($RP$0$lcssa>>>0)<($2>>>0); - if ($69) { + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { _abort(); // unreachable; } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; break; } } else { - $$sum29 = (($$sum2) + 8)|0; - $48 = (($mem) + ($$sum29)|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49>>>0)<($2>>>0); - if ($50) { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { _abort(); // unreachable; } - $51 = ((($49)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = ($52|0)==($14|0); - if (!($53)) { + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { _abort(); // unreachable; } - $54 = ((($46)) + 8|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)==($14|0); - if ($56) { - HEAP32[$51>>2] = $46; - HEAP32[$54>>2] = $49; - $R$1 = $46; + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; break; } else { _abort(); @@ -65009,294 +68467,285 @@ function _free($mem) { } } } while(0); - $70 = ($44|0)==(0|0); - if ($70) { - $p$0 = $14;$psize$0 = $15; + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; } else { - $$sum26 = (($$sum2) + 28)|0; - $71 = (($mem) + ($$sum26)|0); - $72 = HEAP32[$71>>2]|0; - $73 = (11876 + ($72<<2)|0); + $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = ($14|0)==($74|0); - if ($75) { - HEAP32[$73>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $76 = 1 << $72; - $77 = $76 ^ -1; - $78 = HEAP32[(11576)>>2]|0; - $79 = $78 & $77; - HEAP32[(11576)>>2] = $79; - $p$0 = $14;$psize$0 = $15; - break; - } - } else { - $80 = HEAP32[(11588)>>2]|0; - $81 = ($44>>>0)<($80>>>0); - if ($81) { - _abort(); - // unreachable; - } - $82 = ((($44)) + 16|0); - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)==($14|0); - if ($84) { - HEAP32[$82>>2] = $R$1; + $75 = (31556 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(31256)>>2]|0; + $81 = $80 & $79; + HEAP32[(31256)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } } else { - $85 = ((($44)) + 20|0); - HEAP32[$85>>2] = $R$1; + $82 = HEAP32[(31268)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } } - $86 = ($R$1|0)==(0|0); - if ($86) { - $p$0 = $14;$psize$0 = $15; - break; - } - } - $87 = HEAP32[(11588)>>2]|0; - $88 = ($R$1>>>0)<($87>>>0); - if ($88) { + } while(0); + $88 = HEAP32[(31268)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { _abort(); // unreachable; } - $89 = ((($R$1)) + 24|0); - HEAP32[$89>>2] = $44; - $$sum27 = (($$sum2) + 16)|0; - $90 = (($mem) + ($$sum27)|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)==(0|0); + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); do { - if (!($92)) { - $93 = ($91>>>0)<($87>>>0); - if ($93) { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { _abort(); // unreachable; } else { - $94 = ((($R$1)) + 16|0); - HEAP32[$94>>2] = $91; - $95 = ((($91)) + 24|0); - HEAP32[$95>>2] = $R$1; + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; break; } } } while(0); - $$sum28 = (($$sum2) + 20)|0; - $96 = (($mem) + ($$sum28)|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)==(0|0); - if ($98) { - $p$0 = $14;$psize$0 = $15; + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; } else { - $99 = HEAP32[(11588)>>2]|0; - $100 = ($97>>>0)<($99>>>0); - if ($100) { + $100 = HEAP32[(31268)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { _abort(); // unreachable; } else { - $101 = ((($R$1)) + 20|0); - HEAP32[$101>>2] = $97; - $102 = ((($97)) + 24|0); - HEAP32[$102>>2] = $R$1; - $p$0 = $14;$psize$0 = $15; + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; break; } } } } else { - $p$0 = $1;$psize$0 = $8; + $$1 = $2;$$1382 = $9;$113 = $2; } } while(0); - $110 = ($p$0>>>0)<($9>>>0); - if (!($110)) { + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { _abort(); // unreachable; } - $$sum19 = (($8) + -4)|0; - $111 = (($mem) + ($$sum19)|0); - $112 = HEAP32[$111>>2]|0; - $113 = $112 & 1; - $114 = ($113|0)==(0); - if ($114) { + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { _abort(); // unreachable; } - $115 = $112 & 2; - $116 = ($115|0)==(0); - if ($116) { - $117 = HEAP32[(11596)>>2]|0; - $118 = ($9|0)==($117|0); - if ($118) { - $119 = HEAP32[(11584)>>2]|0; - $120 = (($119) + ($psize$0))|0; - HEAP32[(11584)>>2] = $120; - HEAP32[(11596)>>2] = $p$0; - $121 = $120 | 1; - $122 = ((($p$0)) + 4|0); - HEAP32[$122>>2] = $121; - $123 = HEAP32[(11592)>>2]|0; - $124 = ($p$0|0)==($123|0); - if (!($124)) { + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(31276)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(31272)>>2]|0; + if ($121) { + $123 = HEAP32[(31264)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(31264)>>2] = $124; + HEAP32[(31276)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { return; } - HEAP32[(11592)>>2] = 0; - HEAP32[(11580)>>2] = 0; + HEAP32[(31272)>>2] = 0; + HEAP32[(31260)>>2] = 0; return; } - $125 = HEAP32[(11592)>>2]|0; - $126 = ($9|0)==($125|0); - if ($126) { - $127 = HEAP32[(11580)>>2]|0; - $128 = (($127) + ($psize$0))|0; - HEAP32[(11580)>>2] = $128; - HEAP32[(11592)>>2] = $p$0; - $129 = $128 | 1; - $130 = ((($p$0)) + 4|0); - HEAP32[$130>>2] = $129; - $131 = (($p$0) + ($128)|0); - HEAP32[$131>>2] = $128; + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(31260)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(31260)>>2] = $130; + HEAP32[(31272)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; return; } - $132 = $112 & -8; - $133 = (($132) + ($psize$0))|0; - $134 = $112 >>> 3; - $135 = ($112>>>0)<(256); - do { - if ($135) { - $136 = (($mem) + ($8)|0); - $137 = HEAP32[$136>>2]|0; - $$sum1718 = $8 | 4; - $138 = (($mem) + ($$sum1718)|0); + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); $139 = HEAP32[$138>>2]|0; - $140 = $134 << 1; - $141 = (11612 + ($140<<2)|0); - $142 = ($137|0)==($141|0); - if (!($142)) { - $143 = HEAP32[(11588)>>2]|0; - $144 = ($137>>>0)<($143>>>0); - if ($144) { + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (31292 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(31268)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { _abort(); // unreachable; } - $145 = ((($137)) + 12|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==($9|0); - if (!($147)) { + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { _abort(); // unreachable; } } - $148 = ($139|0)==($137|0); - if ($148) { - $149 = 1 << $134; - $150 = $149 ^ -1; - $151 = HEAP32[11572>>2]|0; - $152 = $151 & $150; - HEAP32[11572>>2] = $152; + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[7813]|0; + $154 = $153 & $152; + HEAP32[7813] = $154; break; } - $153 = ($139|0)==($141|0); - if ($153) { - $$pre58 = ((($139)) + 8|0); - $$pre$phi59Z2D = $$pre58; + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; } else { - $154 = HEAP32[(11588)>>2]|0; - $155 = ($139>>>0)<($154>>>0); - if ($155) { + $156 = HEAP32[(31268)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { _abort(); // unreachable; } - $156 = ((($139)) + 8|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($9|0); - if ($158) { - $$pre$phi59Z2D = $156; + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; } else { _abort(); // unreachable; } } - $159 = ((($137)) + 12|0); - HEAP32[$159>>2] = $139; - HEAP32[$$pre$phi59Z2D>>2] = $137; + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; } else { - $$sum5 = (($8) + 16)|0; - $160 = (($mem) + ($$sum5)|0); - $161 = HEAP32[$160>>2]|0; - $$sum67 = $8 | 4; - $162 = (($mem) + ($$sum67)|0); + $162 = ((($10)) + 24|0); $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($9|0); + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); do { - if ($164) { - $$sum9 = (($8) + 12)|0; - $175 = (($mem) + ($$sum9)|0); - $176 = HEAP32[$175>>2]|0; - $177 = ($176|0)==(0|0); - if ($177) { - $$sum8 = (($8) + 8)|0; - $178 = (($mem) + ($$sum8)|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $R7$1 = 0; + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; break; } else { - $R7$0 = $179;$RP9$0 = $178; + $$1398 = $181;$$1402 = $177; } } else { - $R7$0 = $176;$RP9$0 = $175; + $$1398 = $179;$$1402 = $178; } while(1) { - $181 = ((($R7$0)) + 20|0); - $182 = HEAP32[$181>>2]|0; - $183 = ($182|0)==(0|0); - if (!($183)) { - $R7$0 = $182;$RP9$0 = $181; + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; continue; } - $184 = ((($R7$0)) + 16|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($185|0)==(0|0); - if ($186) { - $R7$0$lcssa = $R7$0;$RP9$0$lcssa = $RP9$0; + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { break; } else { - $R7$0 = $185;$RP9$0 = $184; + $$1398 = $187;$$1402 = $186; } } - $187 = HEAP32[(11588)>>2]|0; - $188 = ($RP9$0$lcssa>>>0)<($187>>>0); - if ($188) { + $189 = HEAP32[(31268)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { _abort(); // unreachable; } else { - HEAP32[$RP9$0$lcssa>>2] = 0; - $R7$1 = $R7$0$lcssa; + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; break; } } else { - $165 = (($mem) + ($8)|0); - $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[(11588)>>2]|0; - $168 = ($166>>>0)<($167>>>0); - if ($168) { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(31268)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { _abort(); // unreachable; } - $169 = ((($166)) + 12|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==($9|0); - if (!($171)) { + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { _abort(); // unreachable; } - $172 = ((($163)) + 8|0); - $173 = HEAP32[$172>>2]|0; - $174 = ($173|0)==($9|0); - if ($174) { - HEAP32[$169>>2] = $163; - HEAP32[$172>>2] = $166; - $R7$1 = $163; + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; break; } else { _abort(); @@ -65304,1291 +68753,1280 @@ function _free($mem) { } } } while(0); - $189 = ($161|0)==(0|0); - if (!($189)) { - $$sum12 = (($8) + 20)|0; - $190 = (($mem) + ($$sum12)|0); - $191 = HEAP32[$190>>2]|0; - $192 = (11876 + ($191<<2)|0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = ($9|0)==($193|0); - if ($194) { - HEAP32[$192>>2] = $R7$1; - $cond47 = ($R7$1|0)==(0|0); - if ($cond47) { - $195 = 1 << $191; - $196 = $195 ^ -1; - $197 = HEAP32[(11576)>>2]|0; - $198 = $197 & $196; - HEAP32[(11576)>>2] = $198; - break; - } - } else { - $199 = HEAP32[(11588)>>2]|0; - $200 = ($161>>>0)<($199>>>0); - if ($200) { - _abort(); - // unreachable; - } - $201 = ((($161)) + 16|0); - $202 = HEAP32[$201>>2]|0; - $203 = ($202|0)==($9|0); - if ($203) { - HEAP32[$201>>2] = $R7$1; - } else { - $204 = ((($161)) + 20|0); - HEAP32[$204>>2] = $R7$1; - } - $205 = ($R7$1|0)==(0|0); - if ($205) { - break; - } - } - $206 = HEAP32[(11588)>>2]|0; - $207 = ($R7$1>>>0)<($206>>>0); - if ($207) { - _abort(); - // unreachable; - } - $208 = ((($R7$1)) + 24|0); - HEAP32[$208>>2] = $161; - $$sum13 = (($8) + 8)|0; - $209 = (($mem) + ($$sum13)|0); - $210 = HEAP32[$209>>2]|0; - $211 = ($210|0)==(0|0); + $194 = (31556 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); do { - if (!($211)) { - $212 = ($210>>>0)<($206>>>0); - if ($212) { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(31256)>>2]|0; + $200 = $199 & $198; + HEAP32[(31256)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(31268)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { _abort(); // unreachable; } else { - $213 = ((($R7$1)) + 16|0); - HEAP32[$213>>2] = $210; - $214 = ((($210)) + 24|0); - HEAP32[$214>>2] = $R7$1; + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(31268)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; break; } } } while(0); - $$sum14 = (($8) + 12)|0; - $215 = (($mem) + ($$sum14)|0); - $216 = HEAP32[$215>>2]|0; - $217 = ($216|0)==(0|0); - if (!($217)) { - $218 = HEAP32[(11588)>>2]|0; - $219 = ($216>>>0)<($218>>>0); - if ($219) { + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(31268)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { _abort(); // unreachable; } else { - $220 = ((($R7$1)) + 20|0); - HEAP32[$220>>2] = $216; - $221 = ((($216)) + 24|0); - HEAP32[$221>>2] = $R7$1; + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; break; } } } } } while(0); - $222 = $133 | 1; - $223 = ((($p$0)) + 4|0); - HEAP32[$223>>2] = $222; - $224 = (($p$0) + ($133)|0); - HEAP32[$224>>2] = $133; - $225 = HEAP32[(11592)>>2]|0; - $226 = ($p$0|0)==($225|0); - if ($226) { - HEAP32[(11580)>>2] = $133; + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(31272)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(31260)>>2] = $135; return; } else { - $psize$1 = $133; + $$2 = $135; } } else { - $227 = $112 & -2; - HEAP32[$111>>2] = $227; - $228 = $psize$0 | 1; - $229 = ((($p$0)) + 4|0); - HEAP32[$229>>2] = $228; - $230 = (($p$0) + ($psize$0)|0); - HEAP32[$230>>2] = $psize$0; - $psize$1 = $psize$0; + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; } - $231 = $psize$1 >>> 3; - $232 = ($psize$1>>>0)<(256); - if ($232) { - $233 = $231 << 1; - $234 = (11612 + ($233<<2)|0); - $235 = HEAP32[11572>>2]|0; - $236 = 1 << $231; - $237 = $235 & $236; - $238 = ($237|0)==(0); - if ($238) { - $239 = $235 | $236; - HEAP32[11572>>2] = $239; - $$pre = (($233) + 2)|0; - $$pre57 = (11612 + ($$pre<<2)|0); - $$pre$phiZ2D = $$pre57;$F16$0 = $234; + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (31292 + ($234<<2)|0); + $236 = HEAP32[7813]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[7813] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; } else { - $$sum11 = (($233) + 2)|0; - $240 = (11612 + ($$sum11<<2)|0); - $241 = HEAP32[$240>>2]|0; - $242 = HEAP32[(11588)>>2]|0; - $243 = ($241>>>0)<($242>>>0); - if ($243) { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(31268)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { _abort(); // unreachable; } else { - $$pre$phiZ2D = $240;$F16$0 = $241; + $$0403 = $242;$$pre$phiZ2D = $241; } } - HEAP32[$$pre$phiZ2D>>2] = $p$0; - $244 = ((($F16$0)) + 12|0); - HEAP32[$244>>2] = $p$0; - $245 = ((($p$0)) + 8|0); - HEAP32[$245>>2] = $F16$0; - $246 = ((($p$0)) + 12|0); - HEAP32[$246>>2] = $234; + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; return; } - $247 = $psize$1 >>> 8; - $248 = ($247|0)==(0); - if ($248) { - $I18$0 = 0; + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; } else { - $249 = ($psize$1>>>0)>(16777215); - if ($249) { - $I18$0 = 31; + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; } else { - $250 = (($247) + 1048320)|0; - $251 = $250 >>> 16; - $252 = $251 & 8; - $253 = $247 << $252; - $254 = (($253) + 520192)|0; - $255 = $254 >>> 16; - $256 = $255 & 4; - $257 = $256 | $252; - $258 = $253 << $256; - $259 = (($258) + 245760)|0; - $260 = $259 >>> 16; - $261 = $260 & 2; - $262 = $257 | $261; - $263 = (14 - ($262))|0; - $264 = $258 << $261; - $265 = $264 >>> 15; - $266 = (($263) + ($265))|0; - $267 = $266 << 1; - $268 = (($266) + 7)|0; - $269 = $psize$1 >>> $268; - $270 = $269 & 1; - $271 = $270 | $267; - $I18$0 = $271; + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; } } - $272 = (11876 + ($I18$0<<2)|0); - $273 = ((($p$0)) + 28|0); - HEAP32[$273>>2] = $I18$0; - $274 = ((($p$0)) + 16|0); - $275 = ((($p$0)) + 20|0); + $273 = (31556 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - HEAP32[$274>>2] = 0; - $276 = HEAP32[(11576)>>2]|0; - $277 = 1 << $I18$0; - $278 = $276 & $277; - $279 = ($278|0)==(0); - L199: do { - if ($279) { - $280 = $276 | $277; - HEAP32[(11576)>>2] = $280; - HEAP32[$272>>2] = $p$0; - $281 = ((($p$0)) + 24|0); - HEAP32[$281>>2] = $272; - $282 = ((($p$0)) + 12|0); - HEAP32[$282>>2] = $p$0; - $283 = ((($p$0)) + 8|0); - HEAP32[$283>>2] = $p$0; + $277 = HEAP32[(31256)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(31256)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; } else { - $284 = HEAP32[$272>>2]|0; - $285 = ((($284)) + 4|0); - $286 = HEAP32[$285>>2]|0; - $287 = $286 & -8; - $288 = ($287|0)==($psize$1|0); - L202: do { - if ($288) { - $T$0$lcssa = $284; - } else { - $289 = ($I18$0|0)==(31); - $290 = $I18$0 >>> 1; - $291 = (25 - ($290))|0; - $292 = $289 ? 0 : $291; - $293 = $psize$1 << $292; - $K19$052 = $293;$T$051 = $284; - while(1) { - $300 = $K19$052 >>> 31; - $301 = (((($T$051)) + 16|0) + ($300<<2)|0); - $296 = HEAP32[$301>>2]|0; - $302 = ($296|0)==(0|0); - if ($302) { - $$lcssa = $301;$T$051$lcssa = $T$051; - break; - } - $294 = $K19$052 << 1; - $295 = ((($296)) + 4|0); - $297 = HEAP32[$295>>2]|0; - $298 = $297 & -8; - $299 = ($298|0)==($psize$1|0); - if ($299) { - $T$0$lcssa = $296; - break L202; - } else { - $K19$052 = $294;$T$051 = $296; - } - } - $303 = HEAP32[(11588)>>2]|0; - $304 = ($$lcssa>>>0)<($303>>>0); - if ($304) { - _abort(); - // unreachable; - } else { - HEAP32[$$lcssa>>2] = $p$0; - $305 = ((($p$0)) + 24|0); - HEAP32[$305>>2] = $T$051$lcssa; - $306 = ((($p$0)) + 12|0); - HEAP32[$306>>2] = $p$0; - $307 = ((($p$0)) + 8|0); - HEAP32[$307>>2] = $p$0; - break L199; - } + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(31268)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(31268)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; } - } while(0); - $308 = ((($T$0$lcssa)) + 8|0); - $309 = HEAP32[$308>>2]|0; - $310 = HEAP32[(11588)>>2]|0; - $311 = ($309>>>0)>=($310>>>0); - $not$ = ($T$0$lcssa>>>0)>=($310>>>0); - $312 = $311 & $not$; - if ($312) { - $313 = ((($309)) + 12|0); - HEAP32[$313>>2] = $p$0; - HEAP32[$308>>2] = $p$0; - $314 = ((($p$0)) + 8|0); - HEAP32[$314>>2] = $309; - $315 = ((($p$0)) + 12|0); - HEAP32[$315>>2] = $T$0$lcssa; - $316 = ((($p$0)) + 24|0); - HEAP32[$316>>2] = 0; - break; - } else { - _abort(); - // unreachable; } } } while(0); - $317 = HEAP32[(11604)>>2]|0; - $318 = (($317) + -1)|0; - HEAP32[(11604)>>2] = $318; - $319 = ($318|0)==(0); - if ($319) { - $sp$0$in$i = (12028); + $314 = HEAP32[(31284)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(31284)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (31708); } else { return; } while(1) { - $sp$0$i = HEAP32[$sp$0$in$i>>2]|0; - $320 = ($sp$0$i|0)==(0|0); - $321 = ((($sp$0$i)) + 8|0); - if ($320) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { break; } else { - $sp$0$in$i = $321; + $$0212$in$i = $318; } } - HEAP32[(11604)>>2] = -1; + HEAP32[(31284)>>2] = -1; return; } -function _realloc($oldmem,$bytes) { - $oldmem = $oldmem|0; - $bytes = $bytes|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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $mem$0 = 0, label = 0, sp = 0; +function _calloc($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$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; - $0 = ($oldmem|0)==(0|0); - if ($0) { - $1 = (_malloc($bytes)|0); - $mem$0 = $1; - return ($mem$0|0); - } - $2 = ($bytes>>>0)>(4294967231); + $2 = ($0|0)==(0); if ($2) { - $3 = (___errno_location()|0); - HEAP32[$3>>2] = 12; - $mem$0 = 0; - return ($mem$0|0); - } - $4 = ($bytes>>>0)<(11); - $5 = (($bytes) + 11)|0; - $6 = $5 & -8; - $7 = $4 ? 16 : $6; - $8 = ((($oldmem)) + -8|0); - $9 = (_try_realloc_chunk($8,$7)|0); - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = ((($9)) + 8|0); - $mem$0 = $11; - return ($mem$0|0); - } - $12 = (_malloc($bytes)|0); - $13 = ($12|0)==(0|0); - if ($13) { - $mem$0 = 0; - return ($mem$0|0); - } - $14 = ((($oldmem)) + -4|0); - $15 = HEAP32[$14>>2]|0; - $16 = $15 & -8; - $17 = $15 & 3; - $18 = ($17|0)==(0); - $19 = $18 ? 8 : 4; - $20 = (($16) - ($19))|0; - $21 = ($20>>>0)<($bytes>>>0); - $22 = $21 ? $20 : $bytes; - _memcpy(($12|0),($oldmem|0),($22|0))|0; - _free($oldmem); - $mem$0 = $12; - return ($mem$0|0); -} -function _try_realloc_chunk($p,$nb) { - $p = $p|0; - $nb = $nb|0; - var $$pre = 0, $$pre$phiZ2D = 0, $$sum = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum15 = 0, $$sum16 = 0, $$sum17 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum22 = 0, $$sum23 = 0, $$sum2728 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum78 = 0; - var $$sum910 = 0, $0 = 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, $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, $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, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $cond = 0, $newp$0 = 0, $notlhs = 0; - var $notrhs = 0, $or$cond$not = 0, $or$cond30 = 0, $storemerge = 0, $storemerge21 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = ((($p)) + 4|0); - $1 = HEAP32[$0>>2]|0; - $2 = $1 & -8; - $3 = (($p) + ($2)|0); - $4 = HEAP32[(11588)>>2]|0; - $5 = $1 & 3; - $notlhs = ($p>>>0)>=($4>>>0); - $notrhs = ($5|0)!=(1); - $or$cond$not = $notrhs & $notlhs; - $6 = ($p>>>0)<($3>>>0); - $or$cond30 = $or$cond$not & $6; - if (!($or$cond30)) { - _abort(); - // unreachable; - } - $$sum2728 = $2 | 4; - $7 = (($p) + ($$sum2728)|0); - $8 = HEAP32[$7>>2]|0; - $9 = $8 & 1; - $10 = ($9|0)==(0); - if ($10) { - _abort(); - // unreachable; - } - $11 = ($5|0)==(0); - if ($11) { - $12 = ($nb>>>0)<(256); - if ($12) { - $newp$0 = 0; - return ($newp$0|0); - } - $13 = (($nb) + 4)|0; - $14 = ($2>>>0)<($13>>>0); - if (!($14)) { - $15 = (($2) - ($nb))|0; - $16 = HEAP32[(12052)>>2]|0; - $17 = $16 << 1; - $18 = ($15>>>0)>($17>>>0); - if (!($18)) { - $newp$0 = $p; - return ($newp$0|0); - } - } - $newp$0 = 0; - return ($newp$0|0); - } - $19 = ($2>>>0)<($nb>>>0); - if (!($19)) { - $20 = (($2) - ($nb))|0; - $21 = ($20>>>0)>(15); - if (!($21)) { - $newp$0 = $p; - return ($newp$0|0); - } - $22 = (($p) + ($nb)|0); - $23 = $1 & 1; - $24 = $23 | $nb; - $25 = $24 | 2; - HEAP32[$0>>2] = $25; - $$sum23 = (($nb) + 4)|0; - $26 = (($p) + ($$sum23)|0); - $27 = $20 | 3; - HEAP32[$26>>2] = $27; - $28 = HEAP32[$7>>2]|0; - $29 = $28 | 1; - HEAP32[$7>>2] = $29; - _dispose_chunk($22,$20); - $newp$0 = $p; - return ($newp$0|0); - } - $30 = HEAP32[(11596)>>2]|0; - $31 = ($3|0)==($30|0); - if ($31) { - $32 = HEAP32[(11584)>>2]|0; - $33 = (($32) + ($2))|0; - $34 = ($33>>>0)>($nb>>>0); - if (!($34)) { - $newp$0 = 0; - return ($newp$0|0); - } - $35 = (($33) - ($nb))|0; - $36 = (($p) + ($nb)|0); - $37 = $1 & 1; - $38 = $37 | $nb; - $39 = $38 | 2; - HEAP32[$0>>2] = $39; - $$sum22 = (($nb) + 4)|0; - $40 = (($p) + ($$sum22)|0); - $41 = $35 | 1; - HEAP32[$40>>2] = $41; - HEAP32[(11596)>>2] = $36; - HEAP32[(11584)>>2] = $35; - $newp$0 = $p; - return ($newp$0|0); - } - $42 = HEAP32[(11592)>>2]|0; - $43 = ($3|0)==($42|0); - if ($43) { - $44 = HEAP32[(11580)>>2]|0; - $45 = (($44) + ($2))|0; - $46 = ($45>>>0)<($nb>>>0); - if ($46) { - $newp$0 = 0; - return ($newp$0|0); - } - $47 = (($45) - ($nb))|0; - $48 = ($47>>>0)>(15); - if ($48) { - $49 = (($p) + ($nb)|0); - $50 = (($p) + ($45)|0); - $51 = $1 & 1; - $52 = $51 | $nb; - $53 = $52 | 2; - HEAP32[$0>>2] = $53; - $$sum19 = (($nb) + 4)|0; - $54 = (($p) + ($$sum19)|0); - $55 = $47 | 1; - HEAP32[$54>>2] = $55; - HEAP32[$50>>2] = $47; - $$sum20 = (($45) + 4)|0; - $56 = (($p) + ($$sum20)|0); - $57 = HEAP32[$56>>2]|0; - $58 = $57 & -2; - HEAP32[$56>>2] = $58; - $storemerge = $49;$storemerge21 = $47; - } else { - $59 = $1 & 1; - $60 = $59 | $45; - $61 = $60 | 2; - HEAP32[$0>>2] = $61; - $$sum17 = (($45) + 4)|0; - $62 = (($p) + ($$sum17)|0); - $63 = HEAP32[$62>>2]|0; - $64 = $63 | 1; - HEAP32[$62>>2] = $64; - $storemerge = 0;$storemerge21 = 0; - } - HEAP32[(11580)>>2] = $storemerge21; - HEAP32[(11592)>>2] = $storemerge; - $newp$0 = $p; - return ($newp$0|0); - } - $65 = $8 & 2; - $66 = ($65|0)==(0); - if (!($66)) { - $newp$0 = 0; - return ($newp$0|0); - } - $67 = $8 & -8; - $68 = (($67) + ($2))|0; - $69 = ($68>>>0)<($nb>>>0); - if ($69) { - $newp$0 = 0; - return ($newp$0|0); - } - $70 = (($68) - ($nb))|0; - $71 = $8 >>> 3; - $72 = ($8>>>0)<(256); - do { - if ($72) { - $$sum15 = (($2) + 8)|0; - $73 = (($p) + ($$sum15)|0); - $74 = HEAP32[$73>>2]|0; - $$sum16 = (($2) + 12)|0; - $75 = (($p) + ($$sum16)|0); - $76 = HEAP32[$75>>2]|0; - $77 = $71 << 1; - $78 = (11612 + ($77<<2)|0); - $79 = ($74|0)==($78|0); - if (!($79)) { - $80 = ($74>>>0)<($4>>>0); - if ($80) { - _abort(); - // unreachable; - } - $81 = ((($74)) + 12|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)==($3|0); - if (!($83)) { - _abort(); - // unreachable; - } - } - $84 = ($76|0)==($74|0); - if ($84) { - $85 = 1 << $71; - $86 = $85 ^ -1; - $87 = HEAP32[11572>>2]|0; - $88 = $87 & $86; - HEAP32[11572>>2] = $88; - break; - } - $89 = ($76|0)==($78|0); - if ($89) { - $$pre = ((($76)) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $90 = ($76>>>0)<($4>>>0); - if ($90) { - _abort(); - // unreachable; - } - $91 = ((($76)) + 8|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==($3|0); - if ($93) { - $$pre$phiZ2D = $91; - } else { - _abort(); - // unreachable; - } - } - $94 = ((($74)) + 12|0); - HEAP32[$94>>2] = $76; - HEAP32[$$pre$phiZ2D>>2] = $74; - } else { - $$sum = (($2) + 24)|0; - $95 = (($p) + ($$sum)|0); - $96 = HEAP32[$95>>2]|0; - $$sum2 = (($2) + 12)|0; - $97 = (($p) + ($$sum2)|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==($3|0); - do { - if ($99) { - $$sum4 = (($2) + 20)|0; - $109 = (($p) + ($$sum4)|0); - $110 = HEAP32[$109>>2]|0; - $111 = ($110|0)==(0|0); - if ($111) { - $$sum3 = (($2) + 16)|0; - $112 = (($p) + ($$sum3)|0); - $113 = HEAP32[$112>>2]|0; - $114 = ($113|0)==(0|0); - if ($114) { - $R$1 = 0; - break; - } else { - $R$0 = $113;$RP$0 = $112; - } - } else { - $R$0 = $110;$RP$0 = $109; - } - while(1) { - $115 = ((($R$0)) + 20|0); - $116 = HEAP32[$115>>2]|0; - $117 = ($116|0)==(0|0); - if (!($117)) { - $R$0 = $116;$RP$0 = $115; - continue; - } - $118 = ((($R$0)) + 16|0); - $119 = HEAP32[$118>>2]|0; - $120 = ($119|0)==(0|0); - if ($120) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; - break; - } else { - $R$0 = $119;$RP$0 = $118; - } - } - $121 = ($RP$0$lcssa>>>0)<($4>>>0); - if ($121) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; - break; - } - } else { - $$sum14 = (($2) + 8)|0; - $100 = (($p) + ($$sum14)|0); - $101 = HEAP32[$100>>2]|0; - $102 = ($101>>>0)<($4>>>0); - if ($102) { - _abort(); - // unreachable; - } - $103 = ((($101)) + 12|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)==($3|0); - if (!($105)) { - _abort(); - // unreachable; - } - $106 = ((($98)) + 8|0); - $107 = HEAP32[$106>>2]|0; - $108 = ($107|0)==($3|0); - if ($108) { - HEAP32[$103>>2] = $98; - HEAP32[$106>>2] = $101; - $R$1 = $98; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $122 = ($96|0)==(0|0); - if (!($122)) { - $$sum11 = (($2) + 28)|0; - $123 = (($p) + ($$sum11)|0); - $124 = HEAP32[$123>>2]|0; - $125 = (11876 + ($124<<2)|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($3|0)==($126|0); - if ($127) { - HEAP32[$125>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $128 = 1 << $124; - $129 = $128 ^ -1; - $130 = HEAP32[(11576)>>2]|0; - $131 = $130 & $129; - HEAP32[(11576)>>2] = $131; - break; - } - } else { - $132 = HEAP32[(11588)>>2]|0; - $133 = ($96>>>0)<($132>>>0); - if ($133) { - _abort(); - // unreachable; - } - $134 = ((($96)) + 16|0); - $135 = HEAP32[$134>>2]|0; - $136 = ($135|0)==($3|0); - if ($136) { - HEAP32[$134>>2] = $R$1; - } else { - $137 = ((($96)) + 20|0); - HEAP32[$137>>2] = $R$1; - } - $138 = ($R$1|0)==(0|0); - if ($138) { - break; - } - } - $139 = HEAP32[(11588)>>2]|0; - $140 = ($R$1>>>0)<($139>>>0); - if ($140) { - _abort(); - // unreachable; - } - $141 = ((($R$1)) + 24|0); - HEAP32[$141>>2] = $96; - $$sum12 = (($2) + 16)|0; - $142 = (($p) + ($$sum12)|0); - $143 = HEAP32[$142>>2]|0; - $144 = ($143|0)==(0|0); - do { - if (!($144)) { - $145 = ($143>>>0)<($139>>>0); - if ($145) { - _abort(); - // unreachable; - } else { - $146 = ((($R$1)) + 16|0); - HEAP32[$146>>2] = $143; - $147 = ((($143)) + 24|0); - HEAP32[$147>>2] = $R$1; - break; - } - } - } while(0); - $$sum13 = (($2) + 20)|0; - $148 = (($p) + ($$sum13)|0); - $149 = HEAP32[$148>>2]|0; - $150 = ($149|0)==(0|0); - if (!($150)) { - $151 = HEAP32[(11588)>>2]|0; - $152 = ($149>>>0)<($151>>>0); - if ($152) { - _abort(); - // unreachable; - } else { - $153 = ((($R$1)) + 20|0); - HEAP32[$153>>2] = $149; - $154 = ((($149)) + 24|0); - HEAP32[$154>>2] = $R$1; - break; - } - } - } - } - } while(0); - $155 = ($70>>>0)<(16); - if ($155) { - $156 = $1 & 1; - $157 = $68 | $156; - $158 = $157 | 2; - HEAP32[$0>>2] = $158; - $$sum910 = $68 | 4; - $159 = (($p) + ($$sum910)|0); - $160 = HEAP32[$159>>2]|0; - $161 = $160 | 1; - HEAP32[$159>>2] = $161; - $newp$0 = $p; - return ($newp$0|0); + $$0 = 0; } else { - $162 = (($p) + ($nb)|0); - $163 = $1 & 1; - $164 = $163 | $nb; - $165 = $164 | 2; - HEAP32[$0>>2] = $165; - $$sum5 = (($nb) + 4)|0; - $166 = (($p) + ($$sum5)|0); - $167 = $70 | 3; - HEAP32[$166>>2] = $167; - $$sum78 = $68 | 4; - $168 = (($p) + ($$sum78)|0); - $169 = HEAP32[$168>>2]|0; - $170 = $169 | 1; - HEAP32[$168>>2] = $170; - _dispose_chunk($162,$70); - $newp$0 = $p; - return ($newp$0|0); + $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); + $$ = $7 ? $3 : -1; + $$0 = $$; + } else { + $$0 = $3; + } } - return (0)|0; + $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 _dispose_chunk($p,$psize) { - $p = $p|0; - $psize = $psize|0; - var $$0 = 0, $$02 = 0, $$1 = 0, $$lcssa = 0, $$pre = 0, $$pre$phi50Z2D = 0, $$pre$phi52Z2D = 0, $$pre$phiZ2D = 0, $$pre48 = 0, $$pre49 = 0, $$pre51 = 0, $$sum = 0, $$sum1 = 0, $$sum10 = 0, $$sum11 = 0, $$sum12 = 0, $$sum13 = 0, $$sum14 = 0, $$sum16 = 0, $$sum17 = 0; - var $$sum18 = 0, $$sum19 = 0, $$sum2 = 0, $$sum20 = 0, $$sum21 = 0, $$sum22 = 0, $$sum23 = 0, $$sum24 = 0, $$sum25 = 0, $$sum3 = 0, $$sum4 = 0, $$sum5 = 0, $$sum7 = 0, $$sum8 = 0, $$sum9 = 0, $0 = 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, $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, $299 = 0, $3 = 0, $30 = 0; - var $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 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, $F16$0 = 0, $I19$0 = 0, $K20$043 = 0, $R$0 = 0, $R$0$lcssa = 0, $R$1 = 0, $R7$0 = 0, $R7$0$lcssa = 0, $R7$1 = 0, $RP$0 = 0, $RP$0$lcssa = 0, $RP9$0 = 0, $RP9$0$lcssa = 0, $T$0$lcssa = 0, $T$042 = 0, $T$042$lcssa = 0, $cond = 0; - var $cond39 = 0, $not$ = 0, label = 0, sp = 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; - $0 = (($p) + ($psize)|0); - $1 = ((($p)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = $2 & 1; - $4 = ($3|0)==(0); - do { - if ($4) { - $5 = HEAP32[$p>>2]|0; - $6 = $2 & 3; - $7 = ($6|0)==(0); - if ($7) { - return; + $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 $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 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, $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, $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 $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & -8; + $5 = (($0) + ($4)|0); + $6 = HEAP32[(31268)>>2]|0; + $7 = $3 & 3; + $notlhs = ($0>>>0)>=($6>>>0); + $notrhs = ($7|0)!=(1); + $or$cond$not = $notrhs & $notlhs; + $8 = ($0>>>0)<($5>>>0); + $or$cond3 = $or$cond$not & $8; + if (!($or$cond3)) { + _abort(); + // unreachable; + } + $9 = ((($5)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 & 1; + $12 = ($11|0)==(0); + if ($12) { + _abort(); + // unreachable; + } + $13 = ($7|0)==(0); + if ($13) { + $14 = ($1>>>0)<(256); + if ($14) { + $$2 = 0; + return ($$2|0); + } + $15 = (($1) + 4)|0; + $16 = ($4>>>0)<($15>>>0); + if (!($16)) { + $17 = (($4) - ($1))|0; + $18 = HEAP32[(31732)>>2]|0; + $19 = $18 << 1; + $20 = ($17>>>0)>($19>>>0); + if (!($20)) { + $$2 = $0; + return ($$2|0); } - $8 = (0 - ($5))|0; - $9 = (($p) + ($8)|0); - $10 = (($5) + ($psize))|0; - $11 = HEAP32[(11588)>>2]|0; - $12 = ($9>>>0)<($11>>>0); - if ($12) { - _abort(); - // unreachable; - } - $13 = HEAP32[(11592)>>2]|0; - $14 = ($9|0)==($13|0); - if ($14) { - $$sum = (($psize) + 4)|0; - $99 = (($p) + ($$sum)|0); - $100 = HEAP32[$99>>2]|0; - $101 = $100 & 3; - $102 = ($101|0)==(3); - if (!($102)) { - $$0 = $9;$$02 = $10; - break; - } - HEAP32[(11580)>>2] = $10; - $103 = $100 & -2; - HEAP32[$99>>2] = $103; - $104 = $10 | 1; - $$sum14 = (4 - ($5))|0; - $105 = (($p) + ($$sum14)|0); - HEAP32[$105>>2] = $104; - HEAP32[$0>>2] = $10; - return; - } - $15 = $5 >>> 3; - $16 = ($5>>>0)<(256); - if ($16) { - $$sum24 = (8 - ($5))|0; - $17 = (($p) + ($$sum24)|0); - $18 = HEAP32[$17>>2]|0; - $$sum25 = (12 - ($5))|0; - $19 = (($p) + ($$sum25)|0); - $20 = HEAP32[$19>>2]|0; - $21 = $15 << 1; - $22 = (11612 + ($21<<2)|0); - $23 = ($18|0)==($22|0); - if (!($23)) { - $24 = ($18>>>0)<($11>>>0); - if ($24) { - _abort(); - // unreachable; - } - $25 = ((($18)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==($9|0); - if (!($27)) { - _abort(); - // unreachable; - } - } - $28 = ($20|0)==($18|0); - if ($28) { - $29 = 1 << $15; - $30 = $29 ^ -1; - $31 = HEAP32[11572>>2]|0; - $32 = $31 & $30; - HEAP32[11572>>2] = $32; - $$0 = $9;$$02 = $10; - break; - } - $33 = ($20|0)==($22|0); - if ($33) { - $$pre51 = ((($20)) + 8|0); - $$pre$phi52Z2D = $$pre51; - } else { - $34 = ($20>>>0)<($11>>>0); - if ($34) { - _abort(); - // unreachable; - } - $35 = ((($20)) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)==($9|0); - if ($37) { - $$pre$phi52Z2D = $35; - } else { - _abort(); - // unreachable; - } - } - $38 = ((($18)) + 12|0); - HEAP32[$38>>2] = $20; - HEAP32[$$pre$phi52Z2D>>2] = $18; - $$0 = $9;$$02 = $10; - break; - } - $$sum16 = (24 - ($5))|0; - $39 = (($p) + ($$sum16)|0); - $40 = HEAP32[$39>>2]|0; - $$sum17 = (12 - ($5))|0; - $41 = (($p) + ($$sum17)|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($9|0); - do { - if ($43) { - $$sum18 = (16 - ($5))|0; - $$sum19 = (($$sum18) + 4)|0; - $53 = (($p) + ($$sum19)|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { - $56 = (($p) + ($$sum18)|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $R$1 = 0; - break; - } else { - $R$0 = $57;$RP$0 = $56; - } - } else { - $R$0 = $54;$RP$0 = $53; - } - while(1) { - $59 = ((($R$0)) + 20|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($60|0)==(0|0); - if (!($61)) { - $R$0 = $60;$RP$0 = $59; - continue; - } - $62 = ((($R$0)) + 16|0); - $63 = HEAP32[$62>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $R$0$lcssa = $R$0;$RP$0$lcssa = $RP$0; - break; - } else { - $R$0 = $63;$RP$0 = $62; - } - } - $65 = ($RP$0$lcssa>>>0)<($11>>>0); - if ($65) { - _abort(); - // unreachable; - } else { - HEAP32[$RP$0$lcssa>>2] = 0; - $R$1 = $R$0$lcssa; - break; - } - } else { - $$sum23 = (8 - ($5))|0; - $44 = (($p) + ($$sum23)|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45>>>0)<($11>>>0); - if ($46) { - _abort(); - // unreachable; - } - $47 = ((($45)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($9|0); - if (!($49)) { - _abort(); - // unreachable; - } - $50 = ((($42)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51|0)==($9|0); - if ($52) { - HEAP32[$47>>2] = $42; - HEAP32[$50>>2] = $45; - $R$1 = $42; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $66 = ($40|0)==(0|0); - if ($66) { - $$0 = $9;$$02 = $10; - } else { - $$sum20 = (28 - ($5))|0; - $67 = (($p) + ($$sum20)|0); - $68 = HEAP32[$67>>2]|0; - $69 = (11876 + ($68<<2)|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($9|0)==($70|0); - if ($71) { - HEAP32[$69>>2] = $R$1; - $cond = ($R$1|0)==(0|0); - if ($cond) { - $72 = 1 << $68; - $73 = $72 ^ -1; - $74 = HEAP32[(11576)>>2]|0; - $75 = $74 & $73; - HEAP32[(11576)>>2] = $75; - $$0 = $9;$$02 = $10; - break; - } - } else { - $76 = HEAP32[(11588)>>2]|0; - $77 = ($40>>>0)<($76>>>0); - if ($77) { - _abort(); - // unreachable; - } - $78 = ((($40)) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)==($9|0); - if ($80) { - HEAP32[$78>>2] = $R$1; - } else { - $81 = ((($40)) + 20|0); - HEAP32[$81>>2] = $R$1; - } - $82 = ($R$1|0)==(0|0); - if ($82) { - $$0 = $9;$$02 = $10; - break; - } - } - $83 = HEAP32[(11588)>>2]|0; - $84 = ($R$1>>>0)<($83>>>0); + } + $$2 = 0; + return ($$2|0); + } + $21 = ($4>>>0)<($1>>>0); + if (!($21)) { + $22 = (($4) - ($1))|0; + $23 = ($22>>>0)>(15); + if (!($23)) { + $$2 = $0; + return ($$2|0); + } + $24 = (($0) + ($1)|0); + $25 = $3 & 1; + $26 = $25 | $1; + $27 = $26 | 2; + HEAP32[$2>>2] = $27; + $28 = ((($24)) + 4|0); + $29 = $22 | 3; + HEAP32[$28>>2] = $29; + $30 = (($24) + ($22)|0); + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32 | 1; + HEAP32[$31>>2] = $33; + _dispose_chunk($24,$22); + $$2 = $0; + return ($$2|0); + } + $34 = HEAP32[(31276)>>2]|0; + $35 = ($5|0)==($34|0); + if ($35) { + $36 = HEAP32[(31264)>>2]|0; + $37 = (($36) + ($4))|0; + $38 = ($37>>>0)>($1>>>0); + $39 = (($37) - ($1))|0; + $40 = (($0) + ($1)|0); + if (!($38)) { + $$2 = 0; + return ($$2|0); + } + $41 = $39 | 1; + $42 = ((($40)) + 4|0); + $43 = $3 & 1; + $44 = $43 | $1; + $45 = $44 | 2; + HEAP32[$2>>2] = $45; + HEAP32[$42>>2] = $41; + HEAP32[(31276)>>2] = $40; + HEAP32[(31264)>>2] = $39; + $$2 = $0; + return ($$2|0); + } + $46 = HEAP32[(31272)>>2]|0; + $47 = ($5|0)==($46|0); + if ($47) { + $48 = HEAP32[(31260)>>2]|0; + $49 = (($48) + ($4))|0; + $50 = ($49>>>0)<($1>>>0); + if ($50) { + $$2 = 0; + return ($$2|0); + } + $51 = (($49) - ($1))|0; + $52 = ($51>>>0)>(15); + $53 = $3 & 1; + if ($52) { + $54 = (($0) + ($1)|0); + $55 = (($54) + ($51)|0); + $56 = $53 | $1; + $57 = $56 | 2; + HEAP32[$2>>2] = $57; + $58 = ((($54)) + 4|0); + $59 = $51 | 1; + HEAP32[$58>>2] = $59; + HEAP32[$55>>2] = $51; + $60 = ((($55)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = $61 & -2; + HEAP32[$60>>2] = $62; + $storemerge = $54;$storemerge1 = $51; + } else { + $63 = $53 | $49; + $64 = $63 | 2; + HEAP32[$2>>2] = $64; + $65 = (($0) + ($49)|0); + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = $67 | 1; + HEAP32[$66>>2] = $68; + $storemerge = 0;$storemerge1 = 0; + } + HEAP32[(31260)>>2] = $storemerge1; + HEAP32[(31272)>>2] = $storemerge; + $$2 = $0; + return ($$2|0); + } + $69 = $10 & 2; + $70 = ($69|0)==(0); + if (!($70)) { + $$2 = 0; + return ($$2|0); + } + $71 = $10 & -8; + $72 = (($71) + ($4))|0; + $73 = ($72>>>0)<($1>>>0); + if ($73) { + $$2 = 0; + return ($$2|0); + } + $74 = (($72) - ($1))|0; + $75 = $10 >>> 3; + $76 = ($10>>>0)<(256); + L49: do { + if ($76) { + $77 = ((($5)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = ((($5)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = $75 << 1; + $82 = (31292 + ($81<<2)|0); + $83 = ($78|0)==($82|0); + if (!($83)) { + $84 = ($78>>>0)<($6>>>0); if ($84) { _abort(); // unreachable; } - $85 = ((($R$1)) + 24|0); - HEAP32[$85>>2] = $40; - $$sum21 = (16 - ($5))|0; - $86 = (($p) + ($$sum21)|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)==(0|0); + $85 = ((($78)) + 12|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)==($5|0); + if (!($87)) { + _abort(); + // unreachable; + } + } + $88 = ($80|0)==($78|0); + if ($88) { + $89 = 1 << $75; + $90 = $89 ^ -1; + $91 = HEAP32[7813]|0; + $92 = $91 & $90; + HEAP32[7813] = $92; + break; + } + $93 = ($80|0)==($82|0); + if ($93) { + $$pre = ((($80)) + 8|0); + $$pre$phiZ2D = $$pre; + } else { + $94 = ($80>>>0)<($6>>>0); + if ($94) { + _abort(); + // unreachable; + } + $95 = ((($80)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)==($5|0); + if ($97) { + $$pre$phiZ2D = $95; + } else { + _abort(); + // unreachable; + } + } + $98 = ((($78)) + 12|0); + HEAP32[$98>>2] = $80; + HEAP32[$$pre$phiZ2D>>2] = $78; + } else { + $99 = ((($5)) + 24|0); + $100 = HEAP32[$99>>2]|0; + $101 = ((($5)) + 12|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)==($5|0); + do { + if ($103) { + $113 = ((($5)) + 16|0); + $114 = ((($113)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)==(0|0); + if ($116) { + $117 = HEAP32[$113>>2]|0; + $118 = ($117|0)==(0|0); + if ($118) { + $$3 = 0; + break; + } else { + $$1272 = $117;$$1275 = $113; + } + } else { + $$1272 = $115;$$1275 = $114; + } + while(1) { + $119 = ((($$1272)) + 20|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + $$1272 = $120;$$1275 = $119; + continue; + } + $122 = ((($$1272)) + 16|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)==(0|0); + if ($124) { + break; + } else { + $$1272 = $123;$$1275 = $122; + } + } + $125 = ($$1275>>>0)<($6>>>0); + if ($125) { + _abort(); + // unreachable; + } else { + HEAP32[$$1275>>2] = 0; + $$3 = $$1272; + break; + } + } else { + $104 = ((($5)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105>>>0)<($6>>>0); + if ($106) { + _abort(); + // unreachable; + } + $107 = ((($105)) + 12|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)==($5|0); + if (!($109)) { + _abort(); + // unreachable; + } + $110 = ((($102)) + 8|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)==($5|0); + if ($112) { + HEAP32[$107>>2] = $102; + HEAP32[$110>>2] = $105; + $$3 = $102; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $126 = ($100|0)==(0|0); + if (!($126)) { + $127 = ((($5)) + 28|0); + $128 = HEAP32[$127>>2]|0; + $129 = (31556 + ($128<<2)|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($5|0)==($130|0); do { - if (!($88)) { - $89 = ($87>>>0)<($83>>>0); - if ($89) { + if ($131) { + HEAP32[$129>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $132 = 1 << $128; + $133 = $132 ^ -1; + $134 = HEAP32[(31256)>>2]|0; + $135 = $134 & $133; + HEAP32[(31256)>>2] = $135; + break L49; + } + } else { + $136 = HEAP32[(31268)>>2]|0; + $137 = ($100>>>0)<($136>>>0); + if ($137) { _abort(); // unreachable; } else { - $90 = ((($R$1)) + 16|0); - HEAP32[$90>>2] = $87; - $91 = ((($87)) + 24|0); - HEAP32[$91>>2] = $R$1; + $138 = ((($100)) + 16|0); + $139 = HEAP32[$138>>2]|0; + $not$ = ($139|0)!=($5|0); + $$sink1 = $not$&1; + $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); + HEAP32[$140>>2] = $$3; + $141 = ($$3|0)==(0|0); + if ($141) { + break L49; + } else { + break; + } + } + } + } while(0); + $142 = HEAP32[(31268)>>2]|0; + $143 = ($$3>>>0)<($142>>>0); + if ($143) { + _abort(); + // unreachable; + } + $144 = ((($$3)) + 24|0); + HEAP32[$144>>2] = $100; + $145 = ((($5)) + 16|0); + $146 = HEAP32[$145>>2]|0; + $147 = ($146|0)==(0|0); + do { + if (!($147)) { + $148 = ($146>>>0)<($142>>>0); + if ($148) { + _abort(); + // unreachable; + } else { + $149 = ((($$3)) + 16|0); + HEAP32[$149>>2] = $146; + $150 = ((($146)) + 24|0); + HEAP32[$150>>2] = $$3; break; } } } while(0); - $$sum22 = (($$sum21) + 4)|0; - $92 = (($p) + ($$sum22)|0); - $93 = HEAP32[$92>>2]|0; - $94 = ($93|0)==(0|0); - if ($94) { - $$0 = $9;$$02 = $10; - } else { - $95 = HEAP32[(11588)>>2]|0; - $96 = ($93>>>0)<($95>>>0); - if ($96) { + $151 = ((($145)) + 4|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)==(0|0); + if (!($153)) { + $154 = HEAP32[(31268)>>2]|0; + $155 = ($152>>>0)<($154>>>0); + if ($155) { _abort(); // unreachable; } else { - $97 = ((($R$1)) + 20|0); - HEAP32[$97>>2] = $93; - $98 = ((($93)) + 24|0); - HEAP32[$98>>2] = $R$1; - $$0 = $9;$$02 = $10; + $156 = ((($$3)) + 20|0); + HEAP32[$156>>2] = $152; + $157 = ((($152)) + 24|0); + HEAP32[$157>>2] = $$3; + break; + } + } + } + } + } while(0); + $158 = ($74>>>0)<(16); + $159 = $3 & 1; + if ($158) { + $160 = $72 | $159; + $161 = $160 | 2; + HEAP32[$2>>2] = $161; + $162 = (($0) + ($72)|0); + $163 = ((($162)) + 4|0); + $164 = HEAP32[$163>>2]|0; + $165 = $164 | 1; + HEAP32[$163>>2] = $165; + $$2 = $0; + return ($$2|0); + } else { + $166 = (($0) + ($1)|0); + $167 = $159 | $1; + $168 = $167 | 2; + HEAP32[$2>>2] = $168; + $169 = ((($166)) + 4|0); + $170 = $74 | 3; + HEAP32[$169>>2] = $170; + $171 = (($166) + ($74)|0); + $172 = ((($171)) + 4|0); + $173 = HEAP32[$172>>2]|0; + $174 = $173 | 1; + HEAP32[$172>>2] = $174; + _dispose_chunk($166,$74); + $$2 = $0; + return ($$2|0); + } + return (0)|0; +} +function _dispose_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; + var $$sink4 = 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, $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, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 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); + L1: 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[(31268)>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + _abort(); + // unreachable; + } + $15 = HEAP32[(31272)>>2]|0; + $16 = ($11|0)==($15|0); + if ($16) { + $100 = ((($2)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = $101 & 3; + $103 = ($102|0)==(3); + if (!($103)) { + $$1 = $11;$$1418 = $12; + break; + } + $104 = (($11) + ($12)|0); + $105 = ((($11)) + 4|0); + $106 = $12 | 1; + $107 = $101 & -2; + HEAP32[(31260)>>2] = $12; + HEAP32[$100>>2] = $107; + HEAP32[$105>>2] = $106; + HEAP32[$104>>2] = $12; + return; + } + $17 = $7 >>> 3; + $18 = ($7>>>0)<(256); + if ($18) { + $19 = ((($11)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($11)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = $17 << 1; + $24 = (31292 + ($23<<2)|0); + $25 = ($20|0)==($24|0); + if (!($25)) { + $26 = ($20>>>0)<($13>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($11|0); + if (!($29)) { + _abort(); + // unreachable; + } + } + $30 = ($22|0)==($20|0); + if ($30) { + $31 = 1 << $17; + $32 = $31 ^ -1; + $33 = HEAP32[7813]|0; + $34 = $33 & $32; + HEAP32[7813] = $34; + $$1 = $11;$$1418 = $12; + break; + } + $35 = ($22|0)==($24|0); + if ($35) { + $$pre25 = ((($22)) + 8|0); + $$pre$phi26Z2D = $$pre25; + } else { + $36 = ($22>>>0)<($13>>>0); + if ($36) { + _abort(); + // unreachable; + } + $37 = ((($22)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==($11|0); + if ($39) { + $$pre$phi26Z2D = $37; + } else { + _abort(); + // unreachable; + } + } + $40 = ((($20)) + 12|0); + HEAP32[$40>>2] = $22; + HEAP32[$$pre$phi26Z2D>>2] = $20; + $$1 = $11;$$1418 = $12; + break; + } + $41 = ((($11)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($11)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==($11|0); + do { + if ($45) { + $55 = ((($11)) + 16|0); + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + $59 = HEAP32[$55>>2]|0; + $60 = ($59|0)==(0|0); + if ($60) { + $$3 = 0; + break; + } else { + $$1426 = $59;$$1429 = $55; + } + } else { + $$1426 = $57;$$1429 = $56; + } + while(1) { + $61 = ((($$1426)) + 20|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(0|0); + if (!($63)) { + $$1426 = $62;$$1429 = $61; + continue; + } + $64 = ((($$1426)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if ($66) { + break; + } else { + $$1426 = $65;$$1429 = $64; + } + } + $67 = ($$1429>>>0)<($13>>>0); + if ($67) { + _abort(); + // unreachable; + } else { + HEAP32[$$1429>>2] = 0; + $$3 = $$1426; + break; + } + } else { + $46 = ((($11)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47>>>0)<($13>>>0); + if ($48) { + _abort(); + // unreachable; + } + $49 = ((($47)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==($11|0); + if (!($51)) { + _abort(); + // unreachable; + } + $52 = ((($44)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($11|0); + if ($54) { + HEAP32[$49>>2] = $44; + HEAP32[$52>>2] = $47; + $$3 = $44; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $68 = ($42|0)==(0|0); + if ($68) { + $$1 = $11;$$1418 = $12; + } else { + $69 = ((($11)) + 28|0); + $70 = HEAP32[$69>>2]|0; + $71 = (31556 + ($70<<2)|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($11|0)==($72|0); + do { + if ($73) { + HEAP32[$71>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $74 = 1 << $70; + $75 = $74 ^ -1; + $76 = HEAP32[(31256)>>2]|0; + $77 = $76 & $75; + HEAP32[(31256)>>2] = $77; + $$1 = $11;$$1418 = $12; + break L1; + } + } else { + $78 = HEAP32[(31268)>>2]|0; + $79 = ($42>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } else { + $80 = ((($42)) + 16|0); + $81 = HEAP32[$80>>2]|0; + $not$1 = ($81|0)!=($11|0); + $$sink2 = $not$1&1; + $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); + HEAP32[$82>>2] = $$3; + $83 = ($$3|0)==(0|0); + if ($83) { + $$1 = $11;$$1418 = $12; + break L1; + } else { + break; + } + } + } + } while(0); + $84 = HEAP32[(31268)>>2]|0; + $85 = ($$3>>>0)<($84>>>0); + if ($85) { + _abort(); + // unreachable; + } + $86 = ((($$3)) + 24|0); + HEAP32[$86>>2] = $42; + $87 = ((($11)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)==(0|0); + do { + if (!($89)) { + $90 = ($88>>>0)<($84>>>0); + if ($90) { + _abort(); + // unreachable; + } else { + $91 = ((($$3)) + 16|0); + HEAP32[$91>>2] = $88; + $92 = ((($88)) + 24|0); + HEAP32[$92>>2] = $$3; + break; + } + } + } while(0); + $93 = ((($87)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)==(0|0); + if ($95) { + $$1 = $11;$$1418 = $12; + } else { + $96 = HEAP32[(31268)>>2]|0; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + _abort(); + // unreachable; + } else { + $98 = ((($$3)) + 20|0); + HEAP32[$98>>2] = $94; + $99 = ((($94)) + 24|0); + HEAP32[$99>>2] = $$3; + $$1 = $11;$$1418 = $12; break; } } } } else { - $$0 = $p;$$02 = $psize; + $$1 = $0;$$1418 = $1; } } while(0); - $106 = HEAP32[(11588)>>2]|0; - $107 = ($0>>>0)<($106>>>0); - if ($107) { + $108 = HEAP32[(31268)>>2]|0; + $109 = ($2>>>0)<($108>>>0); + if ($109) { _abort(); // unreachable; } - $$sum1 = (($psize) + 4)|0; - $108 = (($p) + ($$sum1)|0); - $109 = HEAP32[$108>>2]|0; - $110 = $109 & 2; - $111 = ($110|0)==(0); - if ($111) { - $112 = HEAP32[(11596)>>2]|0; - $113 = ($0|0)==($112|0); - if ($113) { - $114 = HEAP32[(11584)>>2]|0; - $115 = (($114) + ($$02))|0; - HEAP32[(11584)>>2] = $115; - HEAP32[(11596)>>2] = $$0; - $116 = $115 | 1; - $117 = ((($$0)) + 4|0); - HEAP32[$117>>2] = $116; - $118 = HEAP32[(11592)>>2]|0; - $119 = ($$0|0)==($118|0); - if (!($119)) { + $110 = ((($2)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = $111 & 2; + $113 = ($112|0)==(0); + if ($113) { + $114 = HEAP32[(31276)>>2]|0; + $115 = ($2|0)==($114|0); + $116 = HEAP32[(31272)>>2]|0; + if ($115) { + $117 = HEAP32[(31264)>>2]|0; + $118 = (($117) + ($$1418))|0; + HEAP32[(31264)>>2] = $118; + HEAP32[(31276)>>2] = $$1; + $119 = $118 | 1; + $120 = ((($$1)) + 4|0); + HEAP32[$120>>2] = $119; + $121 = ($$1|0)==($116|0); + if (!($121)) { return; } - HEAP32[(11592)>>2] = 0; - HEAP32[(11580)>>2] = 0; + HEAP32[(31272)>>2] = 0; + HEAP32[(31260)>>2] = 0; return; } - $120 = HEAP32[(11592)>>2]|0; - $121 = ($0|0)==($120|0); - if ($121) { - $122 = HEAP32[(11580)>>2]|0; - $123 = (($122) + ($$02))|0; - HEAP32[(11580)>>2] = $123; - HEAP32[(11592)>>2] = $$0; - $124 = $123 | 1; - $125 = ((($$0)) + 4|0); - HEAP32[$125>>2] = $124; - $126 = (($$0) + ($123)|0); - HEAP32[$126>>2] = $123; + $122 = ($2|0)==($116|0); + if ($122) { + $123 = HEAP32[(31260)>>2]|0; + $124 = (($123) + ($$1418))|0; + HEAP32[(31260)>>2] = $124; + HEAP32[(31272)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = (($$1) + ($124)|0); + HEAP32[$127>>2] = $124; return; } - $127 = $109 & -8; - $128 = (($127) + ($$02))|0; - $129 = $109 >>> 3; - $130 = ($109>>>0)<(256); - do { - if ($130) { - $$sum12 = (($psize) + 8)|0; - $131 = (($p) + ($$sum12)|0); - $132 = HEAP32[$131>>2]|0; - $$sum13 = (($psize) + 12)|0; - $133 = (($p) + ($$sum13)|0); - $134 = HEAP32[$133>>2]|0; - $135 = $129 << 1; - $136 = (11612 + ($135<<2)|0); - $137 = ($132|0)==($136|0); - if (!($137)) { - $138 = ($132>>>0)<($106>>>0); - if ($138) { + $128 = $111 & -8; + $129 = (($128) + ($$1418))|0; + $130 = $111 >>> 3; + $131 = ($111>>>0)<(256); + L96: do { + if ($131) { + $132 = ((($2)) + 8|0); + $133 = HEAP32[$132>>2]|0; + $134 = ((($2)) + 12|0); + $135 = HEAP32[$134>>2]|0; + $136 = $130 << 1; + $137 = (31292 + ($136<<2)|0); + $138 = ($133|0)==($137|0); + if (!($138)) { + $139 = ($133>>>0)<($108>>>0); + if ($139) { _abort(); // unreachable; } - $139 = ((($132)) + 12|0); - $140 = HEAP32[$139>>2]|0; - $141 = ($140|0)==($0|0); - if (!($141)) { + $140 = ((($133)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)==($2|0); + if (!($142)) { _abort(); // unreachable; } } - $142 = ($134|0)==($132|0); - if ($142) { - $143 = 1 << $129; - $144 = $143 ^ -1; - $145 = HEAP32[11572>>2]|0; - $146 = $145 & $144; - HEAP32[11572>>2] = $146; + $143 = ($135|0)==($133|0); + if ($143) { + $144 = 1 << $130; + $145 = $144 ^ -1; + $146 = HEAP32[7813]|0; + $147 = $146 & $145; + HEAP32[7813] = $147; break; } - $147 = ($134|0)==($136|0); - if ($147) { - $$pre49 = ((($134)) + 8|0); - $$pre$phi50Z2D = $$pre49; + $148 = ($135|0)==($137|0); + if ($148) { + $$pre23 = ((($135)) + 8|0); + $$pre$phi24Z2D = $$pre23; } else { - $148 = ($134>>>0)<($106>>>0); - if ($148) { + $149 = ($135>>>0)<($108>>>0); + if ($149) { _abort(); // unreachable; } - $149 = ((($134)) + 8|0); - $150 = HEAP32[$149>>2]|0; - $151 = ($150|0)==($0|0); - if ($151) { - $$pre$phi50Z2D = $149; + $150 = ((($135)) + 8|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)==($2|0); + if ($152) { + $$pre$phi24Z2D = $150; } else { _abort(); // unreachable; } } - $152 = ((($132)) + 12|0); - HEAP32[$152>>2] = $134; - HEAP32[$$pre$phi50Z2D>>2] = $132; + $153 = ((($133)) + 12|0); + HEAP32[$153>>2] = $135; + HEAP32[$$pre$phi24Z2D>>2] = $133; } else { - $$sum2 = (($psize) + 24)|0; - $153 = (($p) + ($$sum2)|0); - $154 = HEAP32[$153>>2]|0; - $$sum3 = (($psize) + 12)|0; - $155 = (($p) + ($$sum3)|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)==($0|0); + $154 = ((($2)) + 24|0); + $155 = HEAP32[$154>>2]|0; + $156 = ((($2)) + 12|0); + $157 = HEAP32[$156>>2]|0; + $158 = ($157|0)==($2|0); do { - if ($157) { - $$sum5 = (($psize) + 20)|0; - $167 = (($p) + ($$sum5)|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==(0|0); - if ($169) { - $$sum4 = (($psize) + 16)|0; - $170 = (($p) + ($$sum4)|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==(0|0); - if ($172) { - $R7$1 = 0; + if ($158) { + $168 = ((($2)) + 16|0); + $169 = ((($168)) + 4|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $172 = HEAP32[$168>>2]|0; + $173 = ($172|0)==(0|0); + if ($173) { + $$3435 = 0; break; } else { - $R7$0 = $171;$RP9$0 = $170; + $$1433 = $172;$$1437 = $168; } } else { - $R7$0 = $168;$RP9$0 = $167; + $$1433 = $170;$$1437 = $169; } while(1) { - $173 = ((($R7$0)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if (!($175)) { - $R7$0 = $174;$RP9$0 = $173; + $174 = ((($$1433)) + 20|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==(0|0); + if (!($176)) { + $$1433 = $175;$$1437 = $174; continue; } - $176 = ((($R7$0)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $R7$0$lcssa = $R7$0;$RP9$0$lcssa = $RP9$0; + $177 = ((($$1433)) + 16|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($178|0)==(0|0); + if ($179) { break; } else { - $R7$0 = $177;$RP9$0 = $176; + $$1433 = $178;$$1437 = $177; } } - $179 = ($RP9$0$lcssa>>>0)<($106>>>0); - if ($179) { + $180 = ($$1437>>>0)<($108>>>0); + if ($180) { _abort(); // unreachable; } else { - HEAP32[$RP9$0$lcssa>>2] = 0; - $R7$1 = $R7$0$lcssa; + HEAP32[$$1437>>2] = 0; + $$3435 = $$1433; break; } } else { - $$sum11 = (($psize) + 8)|0; - $158 = (($p) + ($$sum11)|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159>>>0)<($106>>>0); - if ($160) { + $159 = ((($2)) + 8|0); + $160 = HEAP32[$159>>2]|0; + $161 = ($160>>>0)<($108>>>0); + if ($161) { _abort(); // unreachable; } - $161 = ((($159)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($0|0); - if (!($163)) { + $162 = ((($160)) + 12|0); + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)==($2|0); + if (!($164)) { _abort(); // unreachable; } - $164 = ((($156)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($0|0); - if ($166) { - HEAP32[$161>>2] = $156; - HEAP32[$164>>2] = $159; - $R7$1 = $156; + $165 = ((($157)) + 8|0); + $166 = HEAP32[$165>>2]|0; + $167 = ($166|0)==($2|0); + if ($167) { + HEAP32[$162>>2] = $157; + HEAP32[$165>>2] = $160; + $$3435 = $157; break; } else { _abort(); @@ -66596,56 +70034,56 @@ function _dispose_chunk($p,$psize) { } } } while(0); - $180 = ($154|0)==(0|0); - if (!($180)) { - $$sum8 = (($psize) + 28)|0; - $181 = (($p) + ($$sum8)|0); - $182 = HEAP32[$181>>2]|0; - $183 = (11876 + ($182<<2)|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($0|0)==($184|0); - if ($185) { - HEAP32[$183>>2] = $R7$1; - $cond39 = ($R7$1|0)==(0|0); - if ($cond39) { - $186 = 1 << $182; - $187 = $186 ^ -1; - $188 = HEAP32[(11576)>>2]|0; - $189 = $188 & $187; - HEAP32[(11576)>>2] = $189; - break; - } - } else { - $190 = HEAP32[(11588)>>2]|0; - $191 = ($154>>>0)<($190>>>0); - if ($191) { - _abort(); - // unreachable; - } - $192 = ((($154)) + 16|0); - $193 = HEAP32[$192>>2]|0; - $194 = ($193|0)==($0|0); - if ($194) { - HEAP32[$192>>2] = $R7$1; + $181 = ($155|0)==(0|0); + if (!($181)) { + $182 = ((($2)) + 28|0); + $183 = HEAP32[$182>>2]|0; + $184 = (31556 + ($183<<2)|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($2|0)==($185|0); + do { + if ($186) { + HEAP32[$184>>2] = $$3435; + $cond17 = ($$3435|0)==(0|0); + if ($cond17) { + $187 = 1 << $183; + $188 = $187 ^ -1; + $189 = HEAP32[(31256)>>2]|0; + $190 = $189 & $188; + HEAP32[(31256)>>2] = $190; + break L96; + } } else { - $195 = ((($154)) + 20|0); - HEAP32[$195>>2] = $R7$1; + $191 = HEAP32[(31268)>>2]|0; + $192 = ($155>>>0)<($191>>>0); + if ($192) { + _abort(); + // unreachable; + } else { + $193 = ((($155)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $not$ = ($194|0)!=($2|0); + $$sink4 = $not$&1; + $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); + HEAP32[$195>>2] = $$3435; + $196 = ($$3435|0)==(0|0); + if ($196) { + break L96; + } else { + break; + } + } } - $196 = ($R7$1|0)==(0|0); - if ($196) { - break; - } - } - $197 = HEAP32[(11588)>>2]|0; - $198 = ($R7$1>>>0)<($197>>>0); + } while(0); + $197 = HEAP32[(31268)>>2]|0; + $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); // unreachable; } - $199 = ((($R7$1)) + 24|0); - HEAP32[$199>>2] = $154; - $$sum9 = (($psize) + 16)|0; - $200 = (($p) + ($$sum9)|0); + $199 = ((($$3435)) + 24|0); + HEAP32[$199>>2] = $155; + $200 = ((($2)) + 16|0); $201 = HEAP32[$200>>2]|0; $202 = ($201|0)==(0|0); do { @@ -66655,103 +70093,100 @@ function _dispose_chunk($p,$psize) { _abort(); // unreachable; } else { - $204 = ((($R7$1)) + 16|0); + $204 = ((($$3435)) + 16|0); HEAP32[$204>>2] = $201; $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $R7$1; + HEAP32[$205>>2] = $$3435; break; } } } while(0); - $$sum10 = (($psize) + 20)|0; - $206 = (($p) + ($$sum10)|0); + $206 = ((($200)) + 4|0); $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(11588)>>2]|0; + $209 = HEAP32[(31268)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); // unreachable; } else { - $211 = ((($R7$1)) + 20|0); + $211 = ((($$3435)) + 20|0); HEAP32[$211>>2] = $207; $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $R7$1; + HEAP32[$212>>2] = $$3435; break; } } } } } while(0); - $213 = $128 | 1; - $214 = ((($$0)) + 4|0); + $213 = $129 | 1; + $214 = ((($$1)) + 4|0); HEAP32[$214>>2] = $213; - $215 = (($$0) + ($128)|0); - HEAP32[$215>>2] = $128; - $216 = HEAP32[(11592)>>2]|0; - $217 = ($$0|0)==($216|0); + $215 = (($$1) + ($129)|0); + HEAP32[$215>>2] = $129; + $216 = HEAP32[(31272)>>2]|0; + $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(11580)>>2] = $128; + HEAP32[(31260)>>2] = $129; return; } else { - $$1 = $128; + $$2 = $129; } } else { - $218 = $109 & -2; - HEAP32[$108>>2] = $218; - $219 = $$02 | 1; - $220 = ((($$0)) + 4|0); + $218 = $111 & -2; + HEAP32[$110>>2] = $218; + $219 = $$1418 | 1; + $220 = ((($$1)) + 4|0); HEAP32[$220>>2] = $219; - $221 = (($$0) + ($$02)|0); - HEAP32[$221>>2] = $$02; - $$1 = $$02; + $221 = (($$1) + ($$1418)|0); + HEAP32[$221>>2] = $$1418; + $$2 = $$1418; } - $222 = $$1 >>> 3; - $223 = ($$1>>>0)<(256); + $222 = $$2 >>> 3; + $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (11612 + ($224<<2)|0); - $226 = HEAP32[11572>>2]|0; + $225 = (31292 + ($224<<2)|0); + $226 = HEAP32[7813]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[11572>>2] = $230; - $$pre = (($224) + 2)|0; - $$pre48 = (11612 + ($$pre<<2)|0); - $$pre$phiZ2D = $$pre48;$F16$0 = $225; + HEAP32[7813] = $230; + $$pre = ((($225)) + 8|0); + $$0438 = $225;$$pre$phiZ2D = $$pre; } else { - $$sum7 = (($224) + 2)|0; - $231 = (11612 + ($$sum7<<2)|0); + $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(11588)>>2]|0; + $233 = HEAP32[(31268)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); // unreachable; } else { - $$pre$phiZ2D = $231;$F16$0 = $232; + $$0438 = $232;$$pre$phiZ2D = $231; } } - HEAP32[$$pre$phiZ2D>>2] = $$0; - $235 = ((($F16$0)) + 12|0); - HEAP32[$235>>2] = $$0; - $236 = ((($$0)) + 8|0); - HEAP32[$236>>2] = $F16$0; - $237 = ((($$0)) + 12|0); + HEAP32[$$pre$phiZ2D>>2] = $$1; + $235 = ((($$0438)) + 12|0); + HEAP32[$235>>2] = $$1; + $236 = ((($$1)) + 8|0); + HEAP32[$236>>2] = $$0438; + $237 = ((($$1)) + 12|0); HEAP32[$237>>2] = $225; return; } - $238 = $$1 >>> 8; + $238 = $$2 >>> 8; $239 = ($238|0)==(0); if ($239) { - $I19$0 = 0; + $$0431 = 0; } else { - $240 = ($$1>>>0)>(16777215); + $240 = ($$2>>>0)>(16777215); if ($240) { - $I19$0 = 31; + $$0431 = 31; } else { $241 = (($238) + 1048320)|0; $242 = $241 >>> 16; @@ -66772,165 +70207,151 @@ function _dispose_chunk($p,$psize) { $257 = (($254) + ($256))|0; $258 = $257 << 1; $259 = (($257) + 7)|0; - $260 = $$1 >>> $259; + $260 = $$2 >>> $259; $261 = $260 & 1; $262 = $261 | $258; - $I19$0 = $262; + $$0431 = $262; } } - $263 = (11876 + ($I19$0<<2)|0); - $264 = ((($$0)) + 28|0); - HEAP32[$264>>2] = $I19$0; - $265 = ((($$0)) + 16|0); - $266 = ((($$0)) + 20|0); + $263 = (31556 + ($$0431<<2)|0); + $264 = ((($$1)) + 28|0); + HEAP32[$264>>2] = $$0431; + $265 = ((($$1)) + 16|0); + $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(11576)>>2]|0; - $268 = 1 << $I19$0; + $267 = HEAP32[(31256)>>2]|0; + $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(11576)>>2] = $271; - HEAP32[$263>>2] = $$0; - $272 = ((($$0)) + 24|0); + HEAP32[(31256)>>2] = $271; + HEAP32[$263>>2] = $$1; + $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; - $273 = ((($$0)) + 12|0); - HEAP32[$273>>2] = $$0; - $274 = ((($$0)) + 8|0); - HEAP32[$274>>2] = $$0; + $273 = ((($$1)) + 12|0); + HEAP32[$273>>2] = $$1; + $274 = ((($$1)) + 8|0); + HEAP32[$274>>2] = $$1; return; } $275 = HEAP32[$263>>2]|0; - $276 = ((($275)) + 4|0); - $277 = HEAP32[$276>>2]|0; - $278 = $277 & -8; - $279 = ($278|0)==($$1|0); - L191: do { - if ($279) { - $T$0$lcssa = $275; - } else { - $280 = ($I19$0|0)==(31); - $281 = $I19$0 >>> 1; - $282 = (25 - ($281))|0; - $283 = $280 ? 0 : $282; - $284 = $$1 << $283; - $K20$043 = $284;$T$042 = $275; - while(1) { - $291 = $K20$043 >>> 31; - $292 = (((($T$042)) + 16|0) + ($291<<2)|0); - $287 = HEAP32[$292>>2]|0; - $293 = ($287|0)==(0|0); - if ($293) { - $$lcssa = $292;$T$042$lcssa = $T$042; - break; - } - $285 = $K20$043 << 1; - $286 = ((($287)) + 4|0); - $288 = HEAP32[$286>>2]|0; - $289 = $288 & -8; - $290 = ($289|0)==($$1|0); - if ($290) { - $T$0$lcssa = $287; - break L191; - } else { - $K20$043 = $285;$T$042 = $287; - } - } - $294 = HEAP32[(11588)>>2]|0; - $295 = ($$lcssa>>>0)<($294>>>0); - if ($295) { - _abort(); - // unreachable; - } - HEAP32[$$lcssa>>2] = $$0; - $296 = ((($$0)) + 24|0); - HEAP32[$296>>2] = $T$042$lcssa; - $297 = ((($$0)) + 12|0); - HEAP32[$297>>2] = $$0; - $298 = ((($$0)) + 8|0); - HEAP32[$298>>2] = $$0; - return; + $276 = ($$0431|0)==(31); + $277 = $$0431 >>> 1; + $278 = (25 - ($277))|0; + $279 = $276 ? 0 : $278; + $280 = $$2 << $279; + $$0419 = $280;$$0420 = $275; + while(1) { + $281 = ((($$0420)) + 4|0); + $282 = HEAP32[$281>>2]|0; + $283 = $282 & -8; + $284 = ($283|0)==($$2|0); + if ($284) { + label = 121; + break; + } + $285 = $$0419 >>> 31; + $286 = (((($$0420)) + 16|0) + ($285<<2)|0); + $287 = $$0419 << 1; + $288 = HEAP32[$286>>2]|0; + $289 = ($288|0)==(0|0); + if ($289) { + label = 118; + break; + } else { + $$0419 = $287;$$0420 = $288; } - } while(0); - $299 = ((($T$0$lcssa)) + 8|0); - $300 = HEAP32[$299>>2]|0; - $301 = HEAP32[(11588)>>2]|0; - $302 = ($300>>>0)>=($301>>>0); - $not$ = ($T$0$lcssa>>>0)>=($301>>>0); - $303 = $302 & $not$; - if (!($303)) { - _abort(); - // unreachable; } - $304 = ((($300)) + 12|0); - HEAP32[$304>>2] = $$0; - HEAP32[$299>>2] = $$0; - $305 = ((($$0)) + 8|0); - HEAP32[$305>>2] = $300; - $306 = ((($$0)) + 12|0); - HEAP32[$306>>2] = $T$0$lcssa; - $307 = ((($$0)) + 24|0); - HEAP32[$307>>2] = 0; - return; + if ((label|0) == 118) { + $290 = HEAP32[(31268)>>2]|0; + $291 = ($286>>>0)<($290>>>0); + if ($291) { + _abort(); + // unreachable; + } + HEAP32[$286>>2] = $$1; + $292 = ((($$1)) + 24|0); + HEAP32[$292>>2] = $$0420; + $293 = ((($$1)) + 12|0); + HEAP32[$293>>2] = $$1; + $294 = ((($$1)) + 8|0); + HEAP32[$294>>2] = $$1; + return; + } + else if ((label|0) == 121) { + $295 = ((($$0420)) + 8|0); + $296 = HEAP32[$295>>2]|0; + $297 = HEAP32[(31268)>>2]|0; + $298 = ($296>>>0)>=($297>>>0); + $not$19 = ($$0420>>>0)>=($297>>>0); + $299 = $298 & $not$19; + if (!($299)) { + _abort(); + // unreachable; + } + $300 = ((($296)) + 12|0); + HEAP32[$300>>2] = $$1; + HEAP32[$295>>2] = $$1; + $301 = ((($$1)) + 8|0); + HEAP32[$301>>2] = $296; + $302 = ((($$1)) + 12|0); + HEAP32[$302>>2] = $$0420; + $303 = ((($$1)) + 24|0); + HEAP32[$303>>2] = 0; + return; + } } function runPostSets() { } -function _memcpy(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if ((num|0) >= 4096) return _emscripten_memcpy_big(dest|0, src|0, num|0)|0; - ret = dest|0; - if ((dest&3) == (src&3)) { - 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; - } - while ((num|0) >= 4) { - HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0); - dest = (dest+4)|0; - src = (src+4)|0; - num = (num-4)|0; - } - } - while ((num|0) > 0) { - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - dest = (dest+1)|0; - src = (src+1)|0; - num = (num-1)|0; - } - return ret|0; -} function _memset(ptr, value, num) { ptr = ptr|0; value = value|0; num = num|0; - var stop = 0, value4 = 0, stop4 = 0, unaligned = 0; - stop = (ptr + num)|0; - if ((num|0) >= 20) { - // This is unaligned, but quite large, so work hard to get to aligned settings - value = value & 0xff; - unaligned = ptr & 3; - value4 = value | (value << 8) | (value << 16) | (value << 24); - stop4 = stop & ~3; - if (unaligned) { - unaligned = (ptr + 4 - unaligned)|0; - while ((ptr|0) < (unaligned|0)) { // no need to check for stop, since we have large num - HEAP8[((ptr)>>0)]=value; - ptr = (ptr+1)|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; } - while ((ptr|0) < (stop4|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; } } - while ((ptr|0) < (stop|0)) { + // The remaining bytes. + while ((ptr|0) < (end|0)) { HEAP8[((ptr)>>0)]=value; ptr = (ptr+1)|0; } - return (ptr-num)|0; + return (end-num)|0; } function _i64Subtract(a, b, c, d) { a = a|0; b = b|0; c = c|0; d = d|0; @@ -66952,6 +70373,103 @@ function _i64Add(a, b, c, d) { 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 ___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 _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; @@ -66972,39 +70490,6 @@ function _memmove(dest, src, num) { } return dest | 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 _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 _llvm_cttz_i32(x) { x = x|0; var ret = 0; @@ -67015,200 +70500,84 @@ function _llvm_cttz_i32(x) { ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0); if ((ret|0) < 8) return (ret + 16)|0; return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0; - } - -// ======== compiled code from system/lib/compiler-rt , see readme therein -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 ___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, $1$1 ^ $a$1, $1$0, $1$1) | 0; - $4$1 = tempRet0; - $6$0 = _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 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, tempRet0 ^ $7$1, $7$0, $7$1) | 0; - return $10$0 | 0; -} -function ___remdi3($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, $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $10$0 = 0, $10$1 = 0, __stackBase__ = 0; - __stackBase__ = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; - $rem = __stackBase__ | 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, $1$1 ^ $a$1, $1$0, $1$1) | 0; - $4$1 = tempRet0; - $6$0 = _i64Subtract($2$0 ^ $b$0, $2$1 ^ $b$1, $2$0, $2$1) | 0; - ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, $rem) | 0; - $10$0 = _i64Subtract(HEAP32[$rem >> 2] ^ $1$0, HEAP32[$rem + 4 >> 2] ^ $1$1, $1$0, $1$1) | 0; - $10$1 = tempRet0; - STACKTOP = __stackBase__; - return (tempRet0 = $10$1, $10$0) | 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 ___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); + $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_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 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; - } - 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); + } else { + if (!$4) { + $_0$1 = 0; + $_0$0 = 0; + return (tempRet0 = $_0$1, $_0$0) | 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) { + 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; } - 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; + } + $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 << $126; + $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58; break; } if (($rem | 0) == 0) { @@ -67221,102 +70590,204 @@ function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) { $_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; + 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, $137$1, $r_sroa_0_0_insert_insert42$0, $r_sroa_0_0_insert_insert42$1) | 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, $r_sroa_0_0_insert_insert42$1, $151$0 & $d_sroa_0_0_insert_insert99$0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1) | 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; + } 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_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; + $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 ___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 _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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +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 _sbrk(increment) { + increment = increment|0; + var oldDynamicTop = 0; + var oldDynamicTopOnChange = 0; + var newDynamicTop = 0; + var totalMemory = 0; + increment = ((increment + 15) & -16)|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) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|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 dynCall_viiiii(index,a1,a2,a3,a4,a5) { @@ -67445,13 +70916,6 @@ function dynCall_i(index) { } -function dynCall_iiiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - return FUNCTION_TABLE_iiiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0)|0; -} - - function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { index = index|0; a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; @@ -67494,7 +70958,7 @@ function dynCall_viiii(index,a1,a2,a3,a4) { } function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(0); + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); } function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); @@ -67509,7 +70973,7 @@ function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); } function b1(p0) { - p0 = +p0; abort(1); + p0 = +p0; nullFunc_vd(1); } function _emscripten_glClearDepth__wrapper(p0) { p0 = +p0; _emscripten_glClearDepth(+p0); @@ -67521,7 +70985,7 @@ function _emscripten_glLineWidth__wrapper(p0) { p0 = +p0; _emscripten_glLineWidth(+p0); } function b2(p0,p1) { - p0 = p0|0;p1 = +p1; abort(2); + p0 = p0|0;p1 = +p1; nullFunc_vid(2); } function _emscripten_glUniform1f__wrapper(p0,p1) { p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); @@ -67530,7 +70994,7 @@ function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); } function b3(p0) { - p0 = p0|0; abort(3); + p0 = p0|0; nullFunc_vi(3); } function _emscripten_glDeleteShader__wrapper(p0) { p0 = p0|0; _emscripten_glDeleteShader(p0|0); @@ -67611,7 +71075,7 @@ function _emscripten_glBlendEquation__wrapper(p0) { p0 = p0|0; _emscripten_glBlendEquation(p0|0); } function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; abort(4); + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); } function _emscripten_glPixelStorei__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); @@ -67713,7 +71177,7 @@ function _emscripten_glDrawBuffers__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); } function b5(p0) { - p0 = p0|0; abort(5);return 0; + p0 = p0|0; nullFunc_ii(5);return 0; } function _emscripten_glGetString__wrapper(p0) { p0 = p0|0; return _emscripten_glGetString(p0|0)|0; @@ -67746,7 +71210,7 @@ function _emscripten_glIsEnabled__wrapper(p0) { p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; } function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; abort(6); + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); } function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); @@ -67755,7 +71219,7 @@ function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); } function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; abort(7); + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); } function _emscripten_glUniform2f__wrapper(p0,p1,p2) { p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); @@ -67764,10 +71228,10 @@ function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); } function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(8);return 0; + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; } function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; abort(9); + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); } function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); @@ -67779,7 +71243,7 @@ function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); } 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; abort(10); + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); } function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); @@ -67788,7 +71252,7 @@ function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); } function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; abort(11); + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); } function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); @@ -67878,7 +71342,7 @@ function _emscripten_glStencilOp__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); } function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; abort(12); + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); } function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); @@ -67887,13 +71351,13 @@ function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); } function b13(p0,p1) { - p0 = +p0;p1 = p1|0; abort(13); + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); } function _emscripten_glSampleCoverage__wrapper(p0,p1) { p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); } function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; abort(14); + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); } function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); @@ -67905,7 +71369,7 @@ function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); } function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; abort(15); + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); } function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); @@ -67917,7 +71381,7 @@ function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); } function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; abort(16);return 0; + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; } function _emscripten_glGetUniformLocation__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; @@ -67926,7 +71390,7 @@ function _emscripten_glGetAttribLocation__wrapper(p0,p1) { p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; } function b17() { - ; abort(17);return 0; + ; nullFunc_i(17);return 0; } function _emscripten_glCreateProgram__wrapper() { ; return _emscripten_glCreateProgram()|0; @@ -67934,17 +71398,14 @@ function _emscripten_glCreateProgram__wrapper() { function _emscripten_glGetError__wrapper() { ; return _emscripten_glGetError()|0; } -function b18(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; abort(18);return 0; -} -function b19(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; abort(19); +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); } function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); } -function b20(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; abort(20); +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); } function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); @@ -67955,8 +71416,8 @@ function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); } -function b21(p0,p1) { - p0 = +p0;p1 = +p1; abort(21); +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); } function _emscripten_glDepthRange__wrapper(p0,p1) { p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); @@ -67967,8 +71428,8 @@ function _emscripten_glDepthRangef__wrapper(p0,p1) { function _emscripten_glPolygonOffset__wrapper(p0,p1) { p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); } -function b22() { - ; abort(22); +function b21() { + ; nullFunc_v(21); } function _emscripten_glLoadIdentity__wrapper() { ; _emscripten_glLoadIdentity(); @@ -67982,14 +71443,14 @@ function _emscripten_glFinish__wrapper() { function _emscripten_glFlush__wrapper() { ; _emscripten_glFlush(); } -function b23(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; abort(23); +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); } function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); } -function b24(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; abort(24); +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); } function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); @@ -68077,51 +71538,241 @@ function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,_cleanup521,_cleanup526 +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 ,b3,b3,b3]; var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,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_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,_sn_write,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenInputCallback,_do_read,___stdio_read,___stdio_write,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdio_write,___stdio_seek,___stdout_write,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_read,_do_read,b8,b8,b8]; var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_stbi__YCbCr_to_RGB_row,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_stbi__idct_block,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; var FUNCTION_TABLE_iii = [b16,_point_compare,_uint32_compare,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16,b16,b16]; var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_iiiiii = [b18,_stbi__resample_row_hv_2,_resample_row_1,_stbi__resample_row_v_2,_stbi__resample_row_h_2,_stbi__resample_row_generic,b18,b18]; -var FUNCTION_TABLE_vdddddd = [b19,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b20,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b21,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b22,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b22,b22]; -var FUNCTION_TABLE_viid = [b23,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b24,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b24,b24,b24]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - return { _i64Subtract: _i64Subtract, _fflush: _fflush, _main: _main, _i64Add: _i64Add, _memmove: _memmove, _strstr: _strstr, _memset: _memset, _malloc: _malloc, _memcpy: _memcpy, _bitshift64Lshr: _bitshift64Lshr, _free: _free, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___errno_location: ___errno_location, _bitshift64Shl: _bitshift64Shl, runPostSets: runPostSets, _emscripten_replace_memory: _emscripten_replace_memory, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_iiiiii: dynCall_iiiiii, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, _emscripten_replace_memory: _emscripten_replace_memory, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; }) // EMSCRIPTEN_END_ASM (Module.asmGlobalArg, Module.asmLibraryArg, buffer); -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.apply(null, arguments); +}; + +var real__main = asm["_main"]; asm["_main"] = 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__main.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 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_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__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__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__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__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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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_GetProcAddress.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____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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.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_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__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__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; var _memmove = Module["_memmove"] = asm["_memmove"]; var _strstr = Module["_strstr"] = asm["_strstr"]; -var _memset = Module["_memset"] = asm["_memset"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; var _malloc = Module["_malloc"] = asm["_malloc"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; var _emscripten_replace_memory = Module["_emscripten_replace_memory"] = asm["_emscripten_replace_memory"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _free = Module["_free"] = asm["_free"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; @@ -68140,7 +71791,6 @@ var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_iiiiii = Module["dynCall_iiiiii"] = asm["dynCall_iiiiii"]; var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; @@ -68149,18 +71799,23 @@ var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; ; -Runtime.stackAlloc = asm['stackAlloc']; -Runtime.stackSave = asm['stackSave']; -Runtime.stackRestore = asm['stackRestore']; -Runtime.establishStackSpace = asm['establishStackSpace']; +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; -Runtime.setTempRet0 = asm['setTempRet0']; -Runtime.getTempRet0 = asm['getTempRet0']; +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; // === Auto-generated postamble setup entry stuff === +Module['asm'] = asm; + + + + function ExitStatus(status) { this.name = "ExitStatus"; @@ -68222,8 +71877,12 @@ Module['callMain'] = Module.callMain = function callMain(args) { Module['noExitRuntime'] = true; return; } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; + var toLog = e; + if (e && typeof e === 'object' && e.stack) { + toLog = [e, e.stack]; + } + Module.printErr('exception thrown: ' + toLog); + Module['quit'](1, e); } } finally { calledMain = true; @@ -68239,9 +71898,12 @@ function run(args) { if (preloadStartTime === null) preloadStartTime = Date.now(); if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); return; } + writeStackCookie(); + preRun(); if (runDependencies > 0) return; // a preRun added a dependency, run will be called later @@ -68251,12 +71913,15 @@ function run(args) { if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening Module['calledRun'] = true; - if (ABORT) return; + if (ABORT) return; ensureInitRuntime(); preMain(); + if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); @@ -68276,15 +71941,18 @@ function run(args) { } else { doRun(); } + checkStackCookie(); } Module['run'] = Module.run = run; function exit(status, implicit) { if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); return; } if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)'); } else { ABORT = true; @@ -68297,25 +71965,9 @@ function exit(status, implicit) { } if (ENVIRONMENT_IS_NODE) { - // Work around a node.js bug where stdout buffer is not flushed at process exit: - // Instead of process.exit() directly, wait for stdout flush event. - // See https://github.com/joyent/node/issues/1669 and https://github.com/kripken/emscripten/issues/2582 - // Workaround is based on https://github.com/RReverser/acorn/commit/50ab143cecc9ed71a2d66f78b4aec3bb2e9844f6 - process['stdout']['once']('drain', function () { - process['exit'](status); - }); - console.log(' '); // Make sure to print something to force the drain event to occur, in case the stdout buffer was empty. - // Work around another node bug where sometimes 'drain' is never fired - make another effort - // to emit the exit status, after a significant delay (if node hasn't fired drain by then, give up) - setTimeout(function() { - process['exit'](status); - }, 500); - } else - if (ENVIRONMENT_IS_SHELL && typeof quit === 'function') { - quit(status); + process['exit'](status); } - // if we reach here, we must throw an exception to halt the current execution - throw new ExitStatus(status); + Module['quit'](status, new ExitStatus(status)); } Module['exit'] = Module.exit = exit; @@ -68333,7 +71985,7 @@ function abort(what) { ABORT = true; EXITSTATUS = 1; - var extra = '\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.'; + var extra = ''; var output = 'abort(' + what + ') at ' + stackTrace() + extra; if (abortDecorators) { @@ -68369,7 +72021,6 @@ run(); - // {{MODULE_ADDITIONS}} diff --git a/examples/Makefile b/examples/Makefile index 979710296..18a5d1f4e 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -4,7 +4,7 @@ # # NOTE: By default examples are compiled using raylib static library and OpenAL Soft shared library # -# Copyright (c) 2013-2016 Ramon Santamaria (@raysan5) +# Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) # # This software is provided "as-is", without any express or implied warranty. In no event # will the authors be held liable for any damages arising from the use of this software. @@ -23,13 +23,22 @@ # #************************************************************************************************** +.PHONY: all clean + # define raylib platform to compile for # possible platforms: PLATFORM_DESKTOP PLATFORM_RPI PLATFORM_WEB # WARNING: To compile to HTML5, code must be redesigned to use emscripten.h and emscripten_set_main_loop() PLATFORM ?= PLATFORM_DESKTOP # define NO to use OpenAL Soft as static library (shared by default) -SHARED_OPENAL ?= YES +SHARED_OPENAL ?= NO + +ifeq ($(PLATFORM),PLATFORM_WEB) + SHARED_OPENAL = NO +endif + +# define raylib directory for include and library +RAYLIB_PATH ?= C:\raylib\raylib # determine PLATFORM_OS in case PLATFORM_DESKTOP selected ifeq ($(PLATFORM),PLATFORM_DESKTOP) @@ -74,7 +83,7 @@ endif # -std=gnu99 defines C language mode (GNU C from 1999 revision) # -fgnu89-inline declaring inline functions support (GCC optimized) # -Wno-missing-braces ignore invalid warning (GCC bug 53119) -# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB +# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),WINDOWS) CFLAGS = -O2 -s -Wall -std=c99 @@ -88,10 +97,11 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif ifeq ($(PLATFORM),PLATFORM_WEB) CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 --profiling - # -O2 # if used, also set --memory-init-file 0 - # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) - #-s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing - #-s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + # -O2 # if used, also set --memory-init-file 0 + # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) + # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing + # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + # --preload-file file.res # embbed file.res resource into .data file endif ifeq ($(PLATFORM),PLATFORM_RPI) CFLAGS = -O2 -s -Wall -std=gnu99 -fgnu89-inline @@ -101,24 +111,24 @@ endif # define raylib release directory for compiled library ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),WINDOWS) - RAYLIB_PATH = ../release/win32/mingw32 + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/win32/mingw32 endif ifeq ($(PLATFORM_OS),LINUX) - RAYLIB_PATH = ../release/linux + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/linux endif ifeq ($(PLATFORM_OS),OSX) - RAYLIB_PATH = ../release/osx + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/osx endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - RAYLIB_PATH = ../release/html5 + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/html5 endif ifeq ($(PLATFORM),PLATFORM_RPI) - RAYLIB_PATH = ../release/rpi + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/rpi endif # define any directories containing required header files -INCLUDES = -I. -I../src -I../src/external -I$(RAYLIB_PATH) +INCLUDES = -I. -I$(RAYLIB_RELEASE) -I$(RAYLIB_PATH)/src -I$(RAYLIB_PATH)/src/external ifeq ($(PLATFORM),PLATFORM_RPI) INCLUDES += -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads @@ -127,9 +137,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),WINDOWS) # external libraries headers # GLFW3 - INCLUDES += -I../src/external/glfw3/include + INCLUDES += -I$(RAYLIB_PATH)/src/external/glfw3/include # OpenAL Soft - INCLUDES += -I../src/external/openal_soft/include + INCLUDES += -I$(RAYLIB_PATH)/src/external/openal_soft/include endif ifeq ($(PLATFORM_OS),LINUX) # you may optionally create this directory and install raylib @@ -142,7 +152,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif # define library paths containing required libs -LFLAGS = -L. -L../src -L$(RAYLIB_PATH) +LFLAGS = -L. -L$(RAYLIB_RELEASE) -L$(RAYLIB_PATH)/src ifeq ($(PLATFORM),PLATFORM_RPI) LFLAGS += -L/opt/vc/lib @@ -152,9 +162,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),WINDOWS) # external libraries to link with # GLFW3 - LFLAGS += -L../src/external/glfw3/lib/$(LIBPATH) + LFLAGS += -L$(RAYLIB_PATH)/src/external/glfw3/lib/$(LIBPATH) # OpenAL Soft - LFLAGS += -L../src/external/openal_soft/lib/$(LIBPATH) + LFLAGS += -L$(RAYLIB_PATH)/src/external/openal_soft/lib/$(LIBPATH) endif endif @@ -166,7 +176,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) # requires the following packages: # libglfw3-dev libopenal-dev libegl1-mesa-dev LIBS = -lraylib -lglfw3 -lGL -lopenal -lm -lpthread -ldl - # on XWindow could require also below libraries, just uncomment + # on XWindow requires also below libraries LIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor else ifeq ($(PLATFORM_OS),OSX) @@ -194,19 +204,20 @@ ifeq ($(PLATFORM),PLATFORM_RPI) LIBS = -lraylib -lGLESv2 -lEGL -lpthread -lrt -lm -lbcm_host -lopenal endif ifeq ($(PLATFORM),PLATFORM_WEB) - # just adjust the correct path to libraylib.bc - LIBS = ../release/html5/libraylib.bc + # NOTE: Set the correct path to libraylib.bc + LIBS = $(RAYLIB_RELEASE)/libraylib.bc endif # define additional parameters and flags for windows ifeq ($(PLATFORM_OS),WINDOWS) # resources file contains windows exe icon # -Wl,--subsystem,windows hides the console window - WINFLAGS = ../src/resources -Wl,--subsystem,windows + WINFLAGS = $(RAYLIB_PATH)/src/resources -Wl,--subsystem,windows endif ifeq ($(PLATFORM),PLATFORM_WEB) EXT = .html + WEB_SHELL = --shell-file $(RAYLIB_PATH)\templates\web_shell\shell.html endif # define all object files required @@ -232,28 +243,31 @@ EXAMPLES = \ shapes/shapes_basic_shapes \ shapes/shapes_colors_palette \ shapes/shapes_logo_raylib_anim \ + shapes/shapes_lines_bezier \ textures/textures_logo_raylib \ textures/textures_image_loading \ textures/textures_rectangle \ textures/textures_srcrec_dstrec \ textures/textures_to_image \ textures/textures_raw_data \ + textures/textures_particles_blending \ textures/textures_image_processing \ textures/textures_image_drawing \ text/text_sprite_fonts \ text/text_bmfont_ttf \ - text/text_rbmf_fonts \ + text/text_raylib_fonts \ text/text_format_text \ text/text_writing_anim \ text/text_ttf_loading \ text/text_bmfont_unordered \ + text/text_input_box \ models/models_geometric_shapes \ models/models_box_collisions \ models/models_billboard \ models/models_obj_loading \ models/models_heightmap \ models/models_cubicmap \ - models/models_ray_picking \ + models/models_mesh_picking \ shaders/shaders_model_shader \ shaders/shaders_shapes_textures \ shaders/shaders_custom_uniform \ @@ -270,8 +284,7 @@ EXAMPLES = \ fix_dylib \ -# typing 'make' will invoke the default target entry called 'all', -# in this case, the 'default' target entry is raylib +# typing 'make' will invoke the default target entry all: examples # generic compilation pattern @@ -372,6 +385,10 @@ shapes/shapes_colors_palette: shapes/shapes_colors_palette.c # compile [shapes] example - raylib logo animation shapes/shapes_logo_raylib_anim: shapes/shapes_logo_raylib_anim.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + +# compile [shapes] example - lines bezier +shapes/shapes_lines_bezier: shapes/shapes_lines_bezier.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) # compile [textures] example - raylib logo texture loading textures/textures_logo_raylib: textures/textures_logo_raylib.c @@ -396,6 +413,10 @@ textures/textures_to_image: textures/textures_to_image.c # compile [textures] example - texture raw data textures/textures_raw_data: textures/textures_raw_data.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + +# compile [textures] example - texture particles blending +textures/textures_particles_blending: textures/textures_particles_blending.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) # compile [textures] example - texture image processing textures/textures_image_processing: textures/textures_image_processing.c @@ -413,8 +434,8 @@ text/text_sprite_fonts: text/text_sprite_fonts.c text/text_bmfont_ttf: text/text_bmfont_ttf.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) -# compile [text] example - raylib bitmap fonts (rBMF) -text/text_rbmf_fonts: text/text_rbmf_fonts.c +# compile [text] example - raylib fonts +text/text_raylib_fonts: text/text_raylib_fonts.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) # compile [text] example - text formatting @@ -432,6 +453,10 @@ text/text_ttf_loading: text/text_ttf_loading.c # compile [text] example - text bmfont unordered text/text_bmfont_unordered: text/text_bmfont_unordered.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + +# compile [text] example - text input box +text/text_input_box: text/text_input_box.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) # compile [models] example - basic geometric 3d shapes models/models_geometric_shapes: models/models_geometric_shapes.c @@ -461,8 +486,8 @@ models/models_heightmap: models/models_heightmap.c models/models_cubicmap: models/models_cubicmap.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) -# compile [models] example - model ray picking -models/models_ray_picking: models/models_ray_picking.c +# compile [models] example - model mesh picking +models/models_mesh_picking: models/models_mesh_picking.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) # compile [shaders] example - model shader @@ -499,23 +524,23 @@ audio/audio_raw_stream: audio/audio_raw_stream.c # compile [physac] example - physics demo physac/physics_demo: physac/physics_demo.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -lpthread -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) # compile [physac] example - physics friction physac/physics_friction: physac/physics_friction.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -lpthread -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) # compile [physac] example - physics movement physac/physics_movement: physac/physics_movement.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -lpthread -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) # compile [physac] example - physics restitution physac/physics_restitution: physac/physics_restitution.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -lpthread -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) # compile [physac] example - physics shatter physac/physics_shatter: physac/physics_shatter.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -lpthread -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) # fix dylib install path name for each executable (MAC) fix_dylib: @@ -533,7 +558,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),LINUX) find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -f else - del *.o *.exe + del *.o *.exe /s endif endif endif diff --git a/examples/models/models_mesh_picking.c b/examples/models/models_mesh_picking.c new file mode 100644 index 000000000..0b5247ec1 --- /dev/null +++ b/examples/models/models_mesh_picking.c @@ -0,0 +1,195 @@ +/******************************************************************************************* +* +* raylib [models] example - Mesh picking in 3d mode, ground plane, triangle, mesh +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2015 Ramon Santamaria (@raysan5) +* Example contributed by Joel Davis (@joeld42) +* +********************************************************************************************/ + +#include "raylib.h" +#include "raymath.h" + +#define FLT_MAX 3.40282347E+38F // Maximum value of a float, defined in + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [models] example - mesh picking"); + + // Define the camera to look into our 3d world + Camera camera; + camera.position = (Vector3){ 10.0f, 8.0f, 10.0f }; // Camera position + camera.target = (Vector3){ 0.0f, 2.3f, 0.0f }; // Camera looking at point + camera.up = (Vector3){ 0.0f, 1.6f, 0.0f }; // Camera up vector (rotation towards target) + camera.fovy = 45.0f; // Camera field-of-view Y + + Ray ray; // Picking ray + + Model tower = LoadModel("resources/tower.obj"); // Load OBJ model + Texture2D texture = LoadTexture("resources/tower.png"); // Load model texture + tower.material.texDiffuse = texture; // Set model diffuse texture + + Vector3 towerPos = { 0.0f, 0.0f, 0.0f }; // Set model position + BoundingBox towerBBox = CalculateBoundingBox(tower.mesh); + bool hitMeshBBox = false; + bool hitTriangle = false; + + // Test triangle + Vector3 ta = (Vector3){ -25.0, 0.5, 0.0 }; + Vector3 tb = (Vector3){ -4.0, 2.5, 1.0 }; + Vector3 tc = (Vector3){ -8.0, 6.5, 0.0 }; + + Vector3 bary = { 0.0f, 0.0f, 0.0f }; + + SetCameraMode(camera, CAMERA_FREE); // Set a free camera mode + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + UpdateCamera(&camera); // Update camera + + // Display information about closest hit + RayHitInfo nearestHit; + char *hitObjectName = "None"; + nearestHit.distance = FLT_MAX; + nearestHit.hit = false; + Color cursorColor = WHITE; + + // Get ray and test against ground, triangle, and mesh + ray = GetMouseRay(GetMousePosition(), camera); + + // Check ray collision aginst ground plane + RayHitInfo groundHitInfo = GetCollisionRayGround(ray, 0.0f); + + if ((groundHitInfo.hit) && (groundHitInfo.distance < nearestHit.distance)) + { + nearestHit = groundHitInfo; + cursorColor = GREEN; + hitObjectName = "Ground"; + } + + // Check ray collision against test triangle + RayHitInfo triHitInfo = GetCollisionRayTriangle(ray, ta, tb, tc); + + if ((triHitInfo.hit) && (triHitInfo.distance < nearestHit.distance)) + { + nearestHit = triHitInfo; + cursorColor = PURPLE; + hitObjectName = "Triangle"; + + bary = VectorBarycenter(nearestHit.hitPosition, ta, tb, tc); + hitTriangle = true; + } + else hitTriangle = false; + + RayHitInfo meshHitInfo; + + // Check ray collision against bounding box first, before trying the full ray-mesh test + if (CheckCollisionRayBox(ray, towerBBox)) + { + hitMeshBBox = true; + + // Check ray collision against mesh + meshHitInfo = GetCollisionRayMesh(ray, &tower.mesh); + + if ((meshHitInfo.hit) && (meshHitInfo.distance < nearestHit.distance)) + { + nearestHit = meshHitInfo; + cursorColor = ORANGE; + hitObjectName = "Mesh"; + } + + } hitMeshBBox = false; + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + Begin3dMode(camera); + + // Draw the tower + DrawModel(tower, towerPos, 1.0, WHITE); + + // Draw the test triangle + DrawLine3D(ta, tb, PURPLE); + DrawLine3D(tb, tc, PURPLE); + DrawLine3D(tc, ta, PURPLE); + + // Draw the mesh bbox if we hit it + if (hitMeshBBox) DrawBoundingBox(towerBBox, LIME); + + // If we hit something, draw the cursor at the hit point + if (nearestHit.hit) + { + DrawCube(nearestHit.hitPosition, 0.3, 0.3, 0.3, cursorColor); + DrawCubeWires(nearestHit.hitPosition, 0.3, 0.3, 0.3, RED); + + Vector3 normalEnd; + normalEnd.x = nearestHit.hitPosition.x + nearestHit.hitNormal.x; + normalEnd.y = nearestHit.hitPosition.y + nearestHit.hitNormal.y; + normalEnd.z = nearestHit.hitPosition.z + nearestHit.hitNormal.z; + + DrawLine3D(nearestHit.hitPosition, normalEnd, RED); + } + + DrawRay(ray, MAROON); + + DrawGrid(100, 1.0f); + + End3dMode(); + + // Draw some debug GUI text + DrawText(FormatText("Hit Object: %s", hitObjectName), 10, 50, 10, BLACK); + + if (nearestHit.hit) + { + int ypos = 70; + + DrawText(FormatText("Distance: %3.2f", nearestHit.distance), 10, ypos, 10, BLACK); + + DrawText(FormatText("Hit Pos: %3.2f %3.2f %3.2f", + nearestHit.hitPosition.x, + nearestHit.hitPosition.y, + nearestHit.hitPosition.z), 10, ypos + 15, 10, BLACK); + + DrawText(FormatText("Hit Norm: %3.2f %3.2f %3.2f", + nearestHit.hitNormal.x, + nearestHit.hitNormal.y, + nearestHit.hitNormal.z), 10, ypos + 30, 10, BLACK); + + if (hitTriangle) DrawText(FormatText("Barycenter: %3.2f %3.2f %3.2f", bary.x, bary.y, bary.z), 10, ypos + 45, 10, BLACK); + } + + DrawText("Use Mouse to Move Camera", 10, 430, 10, GRAY); + + DrawFPS(10, 10); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + UnloadModel(tower); // Unload model + UnloadTexture(texture); // Unload texture + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} \ No newline at end of file diff --git a/examples/models/models_mesh_picking.png b/examples/models/models_mesh_picking.png new file mode 100644 index 000000000..045db585c Binary files /dev/null and b/examples/models/models_mesh_picking.png differ diff --git a/examples/others/font_selector.c b/examples/others/font_selector.c deleted file mode 100644 index 5891bef7d..000000000 --- a/examples/others/font_selector.c +++ /dev/null @@ -1,158 +0,0 @@ -/******************************************************************************************* -* -* raylib [text] example - Font selector -* -* This example has been created using raylib 1.3 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) -* -* Copyright (c) 2015 Ramon Santamaria (@raysan5) -* -********************************************************************************************/ - -#include "raylib.h" - -int main() -{ - // Initialization - //-------------------------------------------------------------------------------------- - int screenWidth = 800; - int screenHeight = 450; - - InitWindow(screenWidth, screenHeight, "raylib [text] example - font selector"); - - // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) - SpriteFont fonts[8]; // SpriteFont array - - fonts[0] = LoadSpriteFont("resources/fonts/alagard.rbmf"); // SpriteFont loading - fonts[1] = LoadSpriteFont("resources/fonts/pixelplay.rbmf"); // SpriteFont loading - fonts[2] = LoadSpriteFont("resources/fonts/mecha.rbmf"); // SpriteFont loading - fonts[3] = LoadSpriteFont("resources/fonts/setback.rbmf"); // SpriteFont loading - fonts[4] = LoadSpriteFont("resources/fonts/romulus.rbmf"); // SpriteFont loading - fonts[5] = LoadSpriteFont("resources/fonts/pixantiqua.rbmf"); // SpriteFont loading - fonts[6] = LoadSpriteFont("resources/fonts/alpha_beta.rbmf"); // SpriteFont loading - fonts[7] = LoadSpriteFont("resources/fonts/jupiter_crash.rbmf"); // SpriteFont loading - - int currentFont = 0; // Selected font - - Color colors[8] = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD, RED }; - - const char fontNames[8][20] = { "[0] Alagard", "[1] PixelPlay", "[2] MECHA", "[3] Setback", - "[4] Romulus", "[5] PixAntiqua", "[6] Alpha Beta", "[7] Jupiter Crash" }; - - const char text[50] = "THIS is THE FONT you SELECTED!"; // Main text - - Vector2 textSize = MeasureTextEx(fonts[currentFont], text, fonts[currentFont].baseSize*3, 1); - - Vector2 mousePoint; - - Color btnNextOutColor = DARKBLUE; // Button color (outside line) - Color btnNextInColor = SKYBLUE; // Button color (inside) - - int framesCounter = 0; // Useful to count frames button is 'active' = clicked - - int positionY = 180; // Text selector and button Y position - - Rectangle btnNextRec = { 673, positionY, 109, 44 }; // Button rectangle (useful for collision) - - SetTargetFPS(60); // Set our game to run at 60 frames-per-second - //-------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - // Update - //---------------------------------------------------------------------------------- - - // Keyboard-based font selection (easy) - if (IsKeyPressed(KEY_RIGHT)) - { - if (currentFont < 7) currentFont++; - } - - if (IsKeyPressed(KEY_LEFT)) - { - if (currentFont > 0) currentFont--; - } - - if (IsKeyPressed('0')) currentFont = 0; - else if (IsKeyPressed('1')) currentFont = 1; - else if (IsKeyPressed('2')) currentFont = 2; - else if (IsKeyPressed('3')) currentFont = 3; - else if (IsKeyPressed('4')) currentFont = 4; - else if (IsKeyPressed('5')) currentFont = 5; - else if (IsKeyPressed('6')) currentFont = 6; - else if (IsKeyPressed('7')) currentFont = 7; - - // Mouse-based font selection (NEXT button logic) - mousePoint = GetMousePosition(); - - if (CheckCollisionPointRec(mousePoint, btnNextRec)) - { - // Mouse hover button logic - if (framesCounter == 0) - { - btnNextOutColor = DARKPURPLE; - btnNextInColor = PURPLE; - } - - if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) - { - framesCounter = 20; // Frames button is 'active' - btnNextOutColor = MAROON; - btnNextInColor = RED; - } - } - else - { - // Mouse not hover button - btnNextOutColor = DARKBLUE; - btnNextInColor = SKYBLUE; - } - - if (framesCounter > 0) framesCounter--; - - if (framesCounter == 1) // We change font on frame 1 - { - currentFont++; - if (currentFont > 7) currentFont = 0; - } - - // Text measurement for better positioning on screen - textSize = MeasureTextEx(fonts[currentFont], text, fonts[currentFont].baseSize*3, 1); - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - DrawText("font selector - use arroys, button or numbers", 160, 80, 20, DARKGRAY); - DrawLine(120, 120, 680, 120, DARKGRAY); - - DrawRectangle(18, positionY, 644, 44, DARKGRAY); - DrawRectangle(20, positionY + 2, 640, 40, LIGHTGRAY); - DrawText(fontNames[currentFont], 30, positionY + 13, 20, BLACK); - DrawText("< >", 610, positionY + 8, 30, BLACK); - - DrawRectangleRec(btnNextRec, btnNextOutColor); - DrawRectangle(675, positionY + 2, 105, 40, btnNextInColor); - DrawText("NEXT", 700, positionY + 13, 20, btnNextOutColor); - - DrawTextEx(fonts[currentFont], text, (Vector2){ screenWidth/2 - textSize.x/2, - 260 + (70 - textSize.y)/2 }, fonts[currentFont].baseSize*3, - 1, colors[currentFont]); - - EndDrawing(); - //---------------------------------------------------------------------------------- - } - - // De-Initialization - //-------------------------------------------------------------------------------------- - for (int i = 0; i < 8; i++) UnloadSpriteFont(fonts[i]); // SpriteFont(s) unloading - - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -} \ No newline at end of file diff --git a/examples/others/image_formats_loading.c b/examples/others/image_formats_loading.c deleted file mode 100644 index 446f3f3e7..000000000 --- a/examples/others/image_formats_loading.c +++ /dev/null @@ -1,244 +0,0 @@ -/******************************************************************************************* -* -* raylib [textures] example - texture formats loading (compressed and uncompressed) -* -* NOTE: This example requires raylib OpenGL 3.3+ or ES2 versions for compressed textures, -* OpenGL 1.1 does not support compressed textures, only uncompressed ones. -* -* This example has been created using raylib 1.3 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) -* -* Copyright (c) 2015 Ramon Santamaria (@raysan5) -* -********************************************************************************************/ - -#include "raylib.h" - -#define NUM_TEXTURES 24 - -typedef enum { - PNG_R8G8B8A8 = 0, - PVR_GRAYSCALE, - PVR_GRAY_ALPHA, - PVR_R5G6B5, - PVR_R5G5B5A1, - PVR_R4G4B4A4, - DDS_R5G6B5, - DDS_R5G5B5A1, - DDS_R4G4B4A4, - DDS_R8G8B8A8, - DDS_DXT1_RGB, - DDS_DXT1_RGBA, - DDS_DXT3_RGBA, - DDS_DXT5_RGBA, - PKM_ETC1_RGB, - PKM_ETC2_RGB, - PKM_ETC2_EAC_RGBA, - KTX_ETC1_RGB, - KTX_ETC2_RGB, - KTX_ETC2_EAC_RGBA, - ASTC_4x4_LDR, - ASTC_8x8_LDR, - PVR_PVRT_RGB, - PVR_PVRT_RGBA - -} TextureFormats; - -static const char *formatText[] = { - "PNG_R8G8B8A8", - "PVR_GRAYSCALE", - "PVR_GRAY_ALPHA", - "PVR_R5G6B5", - "PVR_R5G5B5A1", - "PVR_R4G4B4A4", - "DDS_R5G6B5", - "DDS_R5G5B5A1", - "DDS_R4G4B4A4", - "DDS_R8G8B8A8", - "DDS_DXT1_RGB", - "DDS_DXT1_RGBA", - "DDS_DXT3_RGBA", - "DDS_DXT5_RGBA", - "PKM_ETC1_RGB", - "PKM_ETC2_RGB", - "PKM_ETC2_EAC_RGBA", - "KTX_ETC1_RGB", - "KTX_ETC2_RGB", - "KTX_ETC2_EAC_RGBA", - "ASTC_4x4_LDR", - "ASTC_8x8_LDR", - "PVR_PVRT_RGB", - "PVR_PVRT_RGBA" -}; - -int main() -{ - // Initialization - //-------------------------------------------------------------------------------------- - int screenWidth = 800; - int screenHeight = 450; - - InitWindow(screenWidth, screenHeight, "raylib [textures] example - texture formats loading"); - - // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) - - Texture2D sonic[NUM_TEXTURES]; - - sonic[PNG_R8G8B8A8] = LoadTexture("resources/formats/sonic.png"); - - // Load UNCOMPRESSED PVR texture data - sonic[PVR_GRAYSCALE] = LoadTexture("resources/formats/sonic_GRAYSCALE.pvr"); - sonic[PVR_GRAY_ALPHA] = LoadTexture("resources/formats/sonic_L8A8.pvr"); - sonic[PVR_R5G6B5] = LoadTexture("resources/formats/sonic_R5G6B5.pvr"); - sonic[PVR_R5G5B5A1] = LoadTexture("resources/formats/sonic_R5G5B5A1.pvr"); - sonic[PVR_R4G4B4A4] = LoadTexture("resources/formats/sonic_R4G4B4A4.pvr"); - - // Load UNCOMPRESSED DDS texture data - sonic[DDS_R5G6B5] = LoadTexture("resources/formats/sonic_R5G6B5.dds"); - sonic[DDS_R5G5B5A1] = LoadTexture("resources/formats/sonic_A1R5G5B5.dds"); - sonic[DDS_R4G4B4A4] = LoadTexture("resources/formats/sonic_A4R4G4B4.dds"); - sonic[DDS_R8G8B8A8] = LoadTexture("resources/formats/sonic_A8R8G8B8.dds"); - - // Load COMPRESSED DXT DDS texture data (if supported) - sonic[DDS_DXT1_RGB] = LoadTexture("resources/formats/sonic_DXT1_RGB.dds"); - sonic[DDS_DXT1_RGBA] = LoadTexture("resources/formats/sonic_DXT1_RGBA.dds"); - sonic[DDS_DXT3_RGBA] = LoadTexture("resources/formats/sonic_DXT3_RGBA.dds"); - sonic[DDS_DXT5_RGBA] = LoadTexture("resources/formats/sonic_DXT5_RGBA.dds"); - - // Load COMPRESSED ETC texture data (if supported) - sonic[PKM_ETC1_RGB] = LoadTexture("resources/formats/sonic_ETC1_RGB.pkm"); - sonic[PKM_ETC2_RGB] = LoadTexture("resources/formats/sonic_ETC2_RGB.pkm"); - sonic[PKM_ETC2_EAC_RGBA] = LoadTexture("resources/formats/sonic_ETC2_EAC_RGBA.pkm"); - - sonic[KTX_ETC1_RGB] = LoadTexture("resources/formats/sonic_ETC1_RGB.ktx"); - sonic[KTX_ETC2_RGB] = LoadTexture("resources/formats/sonic_ETC2_RGB.ktx"); - sonic[KTX_ETC2_EAC_RGBA] = LoadTexture("resources/formats/sonic_ETC2_EAC_RGBA.ktx"); - - // Load COMPRESSED ASTC texture data (if supported) - sonic[ASTC_4x4_LDR] = LoadTexture("resources/formats/sonic_ASTC_4x4_ldr.astc"); - sonic[ASTC_8x8_LDR] = LoadTexture("resources/formats/sonic_ASTC_8x8_ldr.astc"); - - // Load COMPRESSED PVR texture data (if supported) - sonic[PVR_PVRT_RGB] = LoadTexture("resources/formats/sonic_PVRT_RGB.pvr"); - sonic[PVR_PVRT_RGBA] = LoadTexture("resources/formats/sonic_PVRT_RGBA.pvr"); - - int selectedFormat = PNG_R8G8B8A8; - - Rectangle selectRecs[NUM_TEXTURES]; - - for (int i = 0; i < NUM_TEXTURES; i++) - { - if (i < NUM_TEXTURES/2) selectRecs[i] = (Rectangle){ 40, 30 + 32*i, 150, 30 }; - else selectRecs[i] = (Rectangle){ 40 + 152, 30 + 32*(i - NUM_TEXTURES/2), 150, 30 }; - } - - // Texture sizes in KB - float textureSizes[NUM_TEXTURES] = { - 512*512*32/8/1024, //PNG_R8G8B8A8 (32 bpp) - 512*512*8/8/1024, //PVR_GRAYSCALE (8 bpp) - 512*512*16/8/1024, //PVR_GRAY_ALPHA (16 bpp) - 512*512*16/8/1024, //PVR_R5G6B5 (16 bpp) - 512*512*16/8/1024, //PVR_R5G5B5A1 (16 bpp) - 512*512*16/8/1024, //PVR_R4G4B4A4 (16 bpp) - 512*512*16/8/1024, //DDS_R5G6B5 (16 bpp) - 512*512*16/8/1024, //DDS_R5G5B5A1 (16 bpp) - 512*512*16/8/1024, //DDS_R4G4B4A4 (16 bpp) - 512*512*32/8/1024, //DDS_R8G8B8A8 (32 bpp) - 512*512*4/8/1024, //DDS_DXT1_RGB (4 bpp) -Compressed- - 512*512*4/8/1024, //DDS_DXT1_RGBA (4 bpp) -Compressed- - 512*512*8/8/1024, //DDS_DXT3_RGBA (8 bpp) -Compressed- - 512*512*8/8/1024, //DDS_DXT5_RGBA (8 bpp) -Compressed- - 512*512*4/8/1024, //PKM_ETC1_RGB (4 bpp) -Compressed- - 512*512*4/8/1024, //PKM_ETC2_RGB (4 bpp) -Compressed- - 512*512*8/8/1024, //PKM_ETC2_EAC_RGBA (8 bpp) -Compressed- - 512*512*4/8/1024, //KTX_ETC1_RGB (4 bpp) -Compressed- - 512*512*4/8/1024, //KTX_ETC2_RGB (4 bpp) -Compressed- - 512*512*8/8/1024, //KTX_ETC2_EAC_RGBA (8 bpp) -Compressed- - 512*512*8/8/1024, //ASTC_4x4_LDR (8 bpp) -Compressed- - 512*512*2/8/1024, //ASTC_8x8_LDR (2 bpp) -Compressed- - 512*512*4/8/1024, //PVR_PVRT_RGB (4 bpp) -Compressed- - 512*512*4/8/1024, //PVR_PVRT_RGBA (4 bpp) -Compressed- - }; - - SetTargetFPS(60); // Set our game to run at 60 frames-per-second - //--------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - // Update - //---------------------------------------------------------------------------------- - if (IsKeyPressed(KEY_DOWN)) - { - selectedFormat++; - if (selectedFormat >= NUM_TEXTURES) selectedFormat = 0; - } - else if (IsKeyPressed(KEY_UP)) - { - selectedFormat--; - if (selectedFormat < 0) selectedFormat = NUM_TEXTURES - 1; - } - else if (IsKeyPressed(KEY_RIGHT)) - { - if (selectedFormat < NUM_TEXTURES/2) selectedFormat += NUM_TEXTURES/2; - } - else if (IsKeyPressed(KEY_LEFT)) - { - if (selectedFormat >= NUM_TEXTURES/2) selectedFormat -= NUM_TEXTURES/2; - } - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - - BeginDrawing(); - - ClearBackground(RAYWHITE); - - // Draw rectangles - for (int i = 0; i < NUM_TEXTURES; i++) - { - if (i == selectedFormat) - { - DrawRectangleRec(selectRecs[i], SKYBLUE); - DrawRectangleLines(selectRecs[i].x, selectRecs[i].y, selectRecs[i].width, selectRecs[i].height, BLUE); - DrawText(formatText[i], selectRecs[i].x + selectRecs[i].width/2 - MeasureText(formatText[i], 10)/2, selectRecs[i].y + 11, 10, DARKBLUE); - } - else - { - DrawRectangleRec(selectRecs[i], LIGHTGRAY); - DrawRectangleLines(selectRecs[i].x, selectRecs[i].y, selectRecs[i].width, selectRecs[i].height, GRAY); - DrawText(formatText[i], selectRecs[i].x + selectRecs[i].width/2 - MeasureText(formatText[i], 10)/2, selectRecs[i].y + 11, 10, DARKGRAY); - } - } - - // Draw selected texture - if (sonic[selectedFormat].id != 0) - { - DrawTexture(sonic[selectedFormat], 350, -10, WHITE); - } - else - { - DrawRectangleLines(488, 165, 200, 110, DARKGRAY); - DrawText("FORMAT", 550, 180, 20, MAROON); - DrawText("NOT SUPPORTED", 500, 210, 20, MAROON); - DrawText("ON YOUR GPU", 520, 240, 20, MAROON); - } - - DrawText("Select texture format (use cursor keys):", 40, 10, 10, DARKGRAY); - DrawText("Required GPU memory size (VRAM):", 40, 427, 10, DARKGRAY); - DrawText(FormatText("%4.0f KB", textureSizes[selectedFormat]), 240, 420, 20, DARKBLUE); - - EndDrawing(); - //---------------------------------------------------------------------------------- - } - - // De-Initialization - //-------------------------------------------------------------------------------------- - for (int i = 0; i < NUM_TEXTURES; i++) UnloadTexture(sonic[i]); - - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -} \ No newline at end of file diff --git a/examples/others/resources/formats/sonic.png b/examples/others/resources/formats/sonic.png deleted file mode 100644 index 7a0968471..000000000 Binary files a/examples/others/resources/formats/sonic.png and /dev/null differ diff --git a/examples/others/resources/formats/sonic_A1R5G5B5.dds b/examples/others/resources/formats/sonic_A1R5G5B5.dds deleted file mode 100644 index 5e2347db1..000000000 Binary files a/examples/others/resources/formats/sonic_A1R5G5B5.dds and /dev/null differ diff --git a/examples/others/resources/formats/sonic_A4R4G4B4.dds b/examples/others/resources/formats/sonic_A4R4G4B4.dds deleted file mode 100644 index c5ccaf0cc..000000000 Binary files a/examples/others/resources/formats/sonic_A4R4G4B4.dds and /dev/null differ diff --git a/examples/others/resources/formats/sonic_A8R8G8B8.dds b/examples/others/resources/formats/sonic_A8R8G8B8.dds deleted file mode 100644 index fb71b7be7..000000000 Binary files a/examples/others/resources/formats/sonic_A8R8G8B8.dds and /dev/null differ diff --git a/examples/others/resources/formats/sonic_ASTC_4x4_ldr.astc b/examples/others/resources/formats/sonic_ASTC_4x4_ldr.astc deleted file mode 100644 index 9a98d9a06..000000000 Binary files a/examples/others/resources/formats/sonic_ASTC_4x4_ldr.astc and /dev/null differ diff --git a/examples/others/resources/formats/sonic_ASTC_8x8_ldr.astc b/examples/others/resources/formats/sonic_ASTC_8x8_ldr.astc deleted file mode 100644 index 360a264ad..000000000 Binary files a/examples/others/resources/formats/sonic_ASTC_8x8_ldr.astc and /dev/null differ diff --git a/examples/others/resources/formats/sonic_DXT1_RGB.dds b/examples/others/resources/formats/sonic_DXT1_RGB.dds deleted file mode 100644 index 9d0b45988..000000000 Binary files a/examples/others/resources/formats/sonic_DXT1_RGB.dds and /dev/null differ diff --git a/examples/others/resources/formats/sonic_DXT1_RGBA.dds b/examples/others/resources/formats/sonic_DXT1_RGBA.dds deleted file mode 100644 index 102bae7f1..000000000 Binary files a/examples/others/resources/formats/sonic_DXT1_RGBA.dds and /dev/null differ diff --git a/examples/others/resources/formats/sonic_DXT3_RGBA.dds b/examples/others/resources/formats/sonic_DXT3_RGBA.dds deleted file mode 100644 index 46d965cbd..000000000 Binary files a/examples/others/resources/formats/sonic_DXT3_RGBA.dds and /dev/null differ diff --git a/examples/others/resources/formats/sonic_DXT5_RGBA.dds b/examples/others/resources/formats/sonic_DXT5_RGBA.dds deleted file mode 100644 index b3a59a793..000000000 Binary files a/examples/others/resources/formats/sonic_DXT5_RGBA.dds and /dev/null differ diff --git a/examples/others/resources/formats/sonic_ETC1_RGB.ktx b/examples/others/resources/formats/sonic_ETC1_RGB.ktx deleted file mode 100644 index 66241b9d0..000000000 Binary files a/examples/others/resources/formats/sonic_ETC1_RGB.ktx and /dev/null differ diff --git a/examples/others/resources/formats/sonic_ETC1_RGB.pkm b/examples/others/resources/formats/sonic_ETC1_RGB.pkm deleted file mode 100644 index c6fc6df4c..000000000 Binary files a/examples/others/resources/formats/sonic_ETC1_RGB.pkm and /dev/null differ diff --git a/examples/others/resources/formats/sonic_ETC2_EAC_RGBA.ktx b/examples/others/resources/formats/sonic_ETC2_EAC_RGBA.ktx deleted file mode 100644 index b01812cb0..000000000 Binary files a/examples/others/resources/formats/sonic_ETC2_EAC_RGBA.ktx and /dev/null differ diff --git a/examples/others/resources/formats/sonic_ETC2_EAC_RGBA.old.pkm b/examples/others/resources/formats/sonic_ETC2_EAC_RGBA.old.pkm deleted file mode 100644 index 61ac48ce0..000000000 Binary files a/examples/others/resources/formats/sonic_ETC2_EAC_RGBA.old.pkm and /dev/null differ diff --git a/examples/others/resources/formats/sonic_ETC2_EAC_RGBA.pkm b/examples/others/resources/formats/sonic_ETC2_EAC_RGBA.pkm deleted file mode 100644 index 61ac48ce0..000000000 Binary files a/examples/others/resources/formats/sonic_ETC2_EAC_RGBA.pkm and /dev/null differ diff --git a/examples/others/resources/formats/sonic_ETC2_RGB.ktx b/examples/others/resources/formats/sonic_ETC2_RGB.ktx deleted file mode 100644 index 7f1207f7c..000000000 Binary files a/examples/others/resources/formats/sonic_ETC2_RGB.ktx and /dev/null differ diff --git a/examples/others/resources/formats/sonic_ETC2_RGB.pkm b/examples/others/resources/formats/sonic_ETC2_RGB.pkm deleted file mode 100644 index f290f019a..000000000 Binary files a/examples/others/resources/formats/sonic_ETC2_RGB.pkm and /dev/null differ diff --git a/examples/others/resources/formats/sonic_GRAYSCALE.pvr b/examples/others/resources/formats/sonic_GRAYSCALE.pvr deleted file mode 100644 index d31e26519..000000000 Binary files a/examples/others/resources/formats/sonic_GRAYSCALE.pvr and /dev/null differ diff --git a/examples/others/resources/formats/sonic_L8A8.pvr b/examples/others/resources/formats/sonic_L8A8.pvr deleted file mode 100644 index ccf5932e2..000000000 Binary files a/examples/others/resources/formats/sonic_L8A8.pvr and /dev/null differ diff --git a/examples/others/resources/formats/sonic_PVRT_RGB.pvr b/examples/others/resources/formats/sonic_PVRT_RGB.pvr deleted file mode 100644 index 22f3f66a1..000000000 Binary files a/examples/others/resources/formats/sonic_PVRT_RGB.pvr and /dev/null differ diff --git a/examples/others/resources/formats/sonic_PVRT_RGBA.pvr b/examples/others/resources/formats/sonic_PVRT_RGBA.pvr deleted file mode 100644 index feb9aeafb..000000000 Binary files a/examples/others/resources/formats/sonic_PVRT_RGBA.pvr and /dev/null differ diff --git a/examples/others/resources/formats/sonic_PVRT_RGBA_2bpp.pvr b/examples/others/resources/formats/sonic_PVRT_RGBA_2bpp.pvr deleted file mode 100644 index 9147e1bbc..000000000 Binary files a/examples/others/resources/formats/sonic_PVRT_RGBA_2bpp.pvr and /dev/null differ diff --git a/examples/others/resources/formats/sonic_PVRT_RGB_2bpp.pvr b/examples/others/resources/formats/sonic_PVRT_RGB_2bpp.pvr deleted file mode 100644 index 2a8aea8c9..000000000 Binary files a/examples/others/resources/formats/sonic_PVRT_RGB_2bpp.pvr and /dev/null differ diff --git a/examples/others/resources/formats/sonic_R4G4B4A4.pvr b/examples/others/resources/formats/sonic_R4G4B4A4.pvr deleted file mode 100644 index 3f7368a37..000000000 Binary files a/examples/others/resources/formats/sonic_R4G4B4A4.pvr and /dev/null differ diff --git a/examples/others/resources/formats/sonic_R5G5B5A1.pvr b/examples/others/resources/formats/sonic_R5G5B5A1.pvr deleted file mode 100644 index c7fa098d2..000000000 Binary files a/examples/others/resources/formats/sonic_R5G5B5A1.pvr and /dev/null differ diff --git a/examples/others/resources/formats/sonic_R5G6B5.dds b/examples/others/resources/formats/sonic_R5G6B5.dds deleted file mode 100644 index 217da954f..000000000 Binary files a/examples/others/resources/formats/sonic_R5G6B5.dds and /dev/null differ diff --git a/examples/others/resources/formats/sonic_R5G6B5.pvr b/examples/others/resources/formats/sonic_R5G6B5.pvr deleted file mode 100644 index 9bb8320e2..000000000 Binary files a/examples/others/resources/formats/sonic_R5G6B5.pvr and /dev/null differ diff --git a/examples/others/resources/formats/sonic_R8G8B8.pvr b/examples/others/resources/formats/sonic_R8G8B8.pvr deleted file mode 100644 index 072cf3ef2..000000000 Binary files a/examples/others/resources/formats/sonic_R8G8B8.pvr and /dev/null differ diff --git a/examples/others/resources/formats/sonic_R8G8B8A8.pvr b/examples/others/resources/formats/sonic_R8G8B8A8.pvr deleted file mode 100644 index f82534f9a..000000000 Binary files a/examples/others/resources/formats/sonic_R8G8B8A8.pvr and /dev/null differ diff --git a/examples/others/resources/formats/sonic_R8G8B8A8.raw b/examples/others/resources/formats/sonic_R8G8B8A8.raw deleted file mode 100644 index fc5858e7d..000000000 Binary files a/examples/others/resources/formats/sonic_R8G8B8A8.raw and /dev/null differ diff --git a/examples/physac/physics_demo.c b/examples/physac/physics_demo.c index b12ac7088..1b54d51b8 100644 --- a/examples/physac/physics_demo.c +++ b/examples/physac/physics_demo.c @@ -2,9 +2,11 @@ * * Physac - Physics demo * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread * -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition * @@ -15,7 +17,7 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" +#include "physac.h" int main() { @@ -26,7 +28,6 @@ int main() SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics demo"); - SetTargetFPS(60); // Physac logo drawing position int logoX = screenWidth - MeasureText("Physac", 30) - 10; @@ -42,6 +43,8 @@ int main() // Create obstacle circle physics body PhysicsBody circle = CreatePhysicsBodyCircle((Vector2){ screenWidth/2, screenHeight/2 }, 45, 10); circle->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) + + SetTargetFPS(60); //-------------------------------------------------------------------------------------- // Main game loop @@ -118,8 +121,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- ClosePhysics(); // Unitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + diff --git a/examples/physac/physics_friction.c b/examples/physac/physics_friction.c index db1b5f4c1..9472729aa 100644 --- a/examples/physac/physics_friction.c +++ b/examples/physac/physics_friction.c @@ -2,9 +2,11 @@ * * Physac - Physics friction * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread * -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition * @@ -15,7 +17,7 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" +#include "physac.h" int main() { @@ -26,7 +28,6 @@ int main() SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics friction"); - SetTargetFPS(60); // Physac logo drawing position int logoX = screenWidth - MeasureText("Physac", 30) - 10; @@ -61,6 +62,8 @@ int main() bodyB->staticFriction = 1; bodyB->dynamicFriction = 1; SetPhysicsBodyRotation(bodyB, 330*DEG2RAD); + + SetTargetFPS(60); //-------------------------------------------------------------------------------------- // Main game loop @@ -132,8 +135,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- ClosePhysics(); // Unitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + diff --git a/examples/physac/physics_movement.c b/examples/physac/physics_movement.c index 3345404d6..4b2c9ab0e 100644 --- a/examples/physac/physics_movement.c +++ b/examples/physac/physics_movement.c @@ -2,9 +2,11 @@ * * Physac - Physics movement * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread * -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition * @@ -15,9 +17,9 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" +#include "physac.h" -#define VELOCITY 0.5f +#define VELOCITY 0.5f int main() { @@ -28,7 +30,6 @@ int main() SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics movement"); - SetTargetFPS(60); // Physac logo drawing position int logoX = screenWidth - MeasureText("Physac", 30) - 10; @@ -54,6 +55,8 @@ int main() // Create movement physics body PhysicsBody body = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight/2 }, 50, 50, 1); body->freezeOrient = true; // Constrain body rotation to avoid little collision torque amounts + + SetTargetFPS(60); //-------------------------------------------------------------------------------------- // Main game loop @@ -118,8 +121,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- ClosePhysics(); // Unitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + diff --git a/examples/physac/physics_restitution.c b/examples/physac/physics_restitution.c index 534d125e0..2be8f42e4 100644 --- a/examples/physac/physics_restitution.c +++ b/examples/physac/physics_restitution.c @@ -2,9 +2,11 @@ * * Physac - Physics restitution * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread * -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition * @@ -15,7 +17,7 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" +#include "physac.h" int main() { @@ -26,7 +28,6 @@ int main() SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics restitution"); - SetTargetFPS(60); // Physac logo drawing position int logoX = screenWidth - MeasureText("Physac", 30) - 10; @@ -47,6 +48,8 @@ int main() circleB->restitution = 0.5f; PhysicsBody circleC = CreatePhysicsBodyCircle((Vector2){ screenWidth*0.75f, screenHeight/2 }, 30, 10); circleC->restitution = 1; + + SetTargetFPS(60); //-------------------------------------------------------------------------------------- // Main game loop @@ -111,8 +114,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- ClosePhysics(); // Unitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + diff --git a/examples/physac/physics_shatter.c b/examples/physac/physics_shatter.c index fac907148..6b474cd3a 100644 --- a/examples/physac/physics_shatter.c +++ b/examples/physac/physics_shatter.c @@ -2,9 +2,11 @@ * * Physac - Body shatter * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread * -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition * @@ -15,7 +17,7 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" +#include "physac.h" int main() { @@ -26,7 +28,6 @@ int main() SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Body shatter"); - SetTargetFPS(60); // Physac logo drawing position int logoX = screenWidth - MeasureText("Physac", 30) - 10; @@ -38,6 +39,8 @@ int main() // Create random polygon physics body to shatter PhysicsBody body = CreatePhysicsBodyPolygon((Vector2){ screenWidth/2, screenHeight/2 }, GetRandomValue(80, 200), GetRandomValue(3, 8), 10); + + SetTargetFPS(60); //-------------------------------------------------------------------------------------- // Main game loop @@ -103,8 +106,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- ClosePhysics(); // Unitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + diff --git a/examples/shaders/resources/fudesumi.png b/examples/shaders/resources/fudesumi.png index 8ba983dc2..9d9038fa2 100644 Binary files a/examples/shaders/resources/fudesumi.png and b/examples/shaders/resources/fudesumi.png differ diff --git a/examples/text/resources/fonts/alagard.png b/examples/text/resources/fonts/alagard.png new file mode 100644 index 000000000..3ac4bf1cf Binary files /dev/null and b/examples/text/resources/fonts/alagard.png differ diff --git a/examples/text/resources/fonts/alagard.rbmf b/examples/text/resources/fonts/alagard.rbmf deleted file mode 100644 index 8c9b68d3c..000000000 Binary files a/examples/text/resources/fonts/alagard.rbmf and /dev/null differ diff --git a/examples/text/resources/fonts/alpha_beta.png b/examples/text/resources/fonts/alpha_beta.png new file mode 100644 index 000000000..c362bfb18 Binary files /dev/null and b/examples/text/resources/fonts/alpha_beta.png differ diff --git a/examples/text/resources/fonts/alpha_beta.rbmf b/examples/text/resources/fonts/alpha_beta.rbmf deleted file mode 100644 index bdb2e7521..000000000 Binary files a/examples/text/resources/fonts/alpha_beta.rbmf and /dev/null differ diff --git a/examples/text/resources/fonts/jupiter_crash.png b/examples/text/resources/fonts/jupiter_crash.png new file mode 100644 index 000000000..1f5172fbe Binary files /dev/null and b/examples/text/resources/fonts/jupiter_crash.png differ diff --git a/examples/text/resources/fonts/jupiter_crash.rbmf b/examples/text/resources/fonts/jupiter_crash.rbmf deleted file mode 100644 index d797e0d65..000000000 Binary files a/examples/text/resources/fonts/jupiter_crash.rbmf and /dev/null differ diff --git a/examples/text/resources/fonts/mecha.png b/examples/text/resources/fonts/mecha.png new file mode 100644 index 000000000..8022d18c4 Binary files /dev/null and b/examples/text/resources/fonts/mecha.png differ diff --git a/examples/text/resources/fonts/mecha.rbmf b/examples/text/resources/fonts/mecha.rbmf deleted file mode 100644 index 0266a0654..000000000 Binary files a/examples/text/resources/fonts/mecha.rbmf and /dev/null differ diff --git a/examples/text/resources/fonts/pixantiqua.png b/examples/text/resources/fonts/pixantiqua.png new file mode 100644 index 000000000..ce422e7e7 Binary files /dev/null and b/examples/text/resources/fonts/pixantiqua.png differ diff --git a/examples/text/resources/fonts/pixantiqua.rbmf b/examples/text/resources/fonts/pixantiqua.rbmf deleted file mode 100644 index 04ef0e25e..000000000 Binary files a/examples/text/resources/fonts/pixantiqua.rbmf and /dev/null differ diff --git a/examples/text/resources/fonts/pixelplay.png b/examples/text/resources/fonts/pixelplay.png new file mode 100644 index 000000000..bf8f8818f Binary files /dev/null and b/examples/text/resources/fonts/pixelplay.png differ diff --git a/examples/text/resources/fonts/pixelplay.rbmf b/examples/text/resources/fonts/pixelplay.rbmf deleted file mode 100644 index 31d14038d..000000000 Binary files a/examples/text/resources/fonts/pixelplay.rbmf and /dev/null differ diff --git a/examples/text/resources/fonts/romulus.png b/examples/text/resources/fonts/romulus.png new file mode 100644 index 000000000..46ccc3273 Binary files /dev/null and b/examples/text/resources/fonts/romulus.png differ diff --git a/examples/text/resources/fonts/romulus.rbmf b/examples/text/resources/fonts/romulus.rbmf deleted file mode 100644 index be9da01a3..000000000 Binary files a/examples/text/resources/fonts/romulus.rbmf and /dev/null differ diff --git a/examples/text/resources/fonts/setback.png b/examples/text/resources/fonts/setback.png new file mode 100644 index 000000000..086f3e27b Binary files /dev/null and b/examples/text/resources/fonts/setback.png differ diff --git a/examples/text/resources/fonts/setback.rbmf b/examples/text/resources/fonts/setback.rbmf deleted file mode 100644 index 09572215c..000000000 Binary files a/examples/text/resources/fonts/setback.rbmf and /dev/null differ diff --git a/examples/text/resources/fonts/pixantiqua.fnt b/examples/text/resources/pixantiqua.fnt similarity index 100% rename from examples/text/resources/fonts/pixantiqua.fnt rename to examples/text/resources/pixantiqua.fnt diff --git a/docs/examples/src/text/text_rbmf_fonts.c b/examples/text/text_raylib_fonts.c similarity index 65% rename from docs/examples/src/text/text_rbmf_fonts.c rename to examples/text/text_raylib_fonts.c index b4bd851bd..6d8ef2b62 100644 --- a/docs/examples/src/text/text_rbmf_fonts.c +++ b/examples/text/text_raylib_fonts.c @@ -1,19 +1,21 @@ /******************************************************************************************* * -* raylib [text] example - raylib bitmap font (rbmf) loading and usage +* raylib [text] example - raylib font loading and usage * * NOTE: raylib is distributed with some free to use fonts (even for commercial pourposes!) * To view details and credits for those fonts, check raylib license file * -* This example has been created using raylib 1.3 (www.raylib.com) +* This example has been created using raylib 1.7 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * -* Copyright (c) 2015 Ramon Santamaria (@raysan5) +* Copyright (c) 2017 Ramon Santamaria (@raysan5) * ********************************************************************************************/ #include "raylib.h" +#define MAX_FONTS 8 + int main() { // Initialization @@ -21,21 +23,21 @@ int main() int screenWidth = 800; int screenHeight = 450; - InitWindow(screenWidth, screenHeight, "raylib [text] example - rBMF fonts"); + InitWindow(screenWidth, screenHeight, "raylib [text] example - raylib fonts"); // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) - SpriteFont fonts[8]; + SpriteFont fonts[MAX_FONTS]; - fonts[0] = LoadSpriteFont("resources/fonts/alagard.rbmf"); // rBMF font loading - fonts[1] = LoadSpriteFont("resources/fonts/pixelplay.rbmf"); // rBMF font loading - fonts[2] = LoadSpriteFont("resources/fonts/mecha.rbmf"); // rBMF font loading - fonts[3] = LoadSpriteFont("resources/fonts/setback.rbmf"); // rBMF font loading - fonts[4] = LoadSpriteFont("resources/fonts/romulus.rbmf"); // rBMF font loading - fonts[5] = LoadSpriteFont("resources/fonts/pixantiqua.rbmf"); // rBMF font loading - fonts[6] = LoadSpriteFont("resources/fonts/alpha_beta.rbmf"); // rBMF font loading - fonts[7] = LoadSpriteFont("resources/fonts/jupiter_crash.rbmf"); // rBMF font loading + fonts[0] = LoadSpriteFont("resources/fonts/alagard.png"); + fonts[1] = LoadSpriteFont("resources/fonts/pixelplay.png"); + fonts[2] = LoadSpriteFont("resources/fonts/mecha.png"); + fonts[3] = LoadSpriteFont("resources/fonts/setback.png"); + fonts[4] = LoadSpriteFont("resources/fonts/romulus.png"); + fonts[5] = LoadSpriteFont("resources/fonts/pixantiqua.png"); + fonts[6] = LoadSpriteFont("resources/fonts/alpha_beta.png"); + fonts[7] = LoadSpriteFont("resources/fonts/jupiter_crash.png"); - const char *messages[8] = { "ALAGARD FONT designed by Hewett Tsoi", + const char *messages[MAX_FONTS] = { "ALAGARD FONT designed by Hewett Tsoi", "PIXELPLAY FONT designed by Aleksander Shevchuk", "MECHA FONT designed by Captain Falcon", "SETBACK FONT designed by Brian Kent (AEnigma)", @@ -44,17 +46,22 @@ int main() "ALPHA_BETA FONT designed by Brian Kent (AEnigma)", "JUPITER_CRASH FONT designed by Brian Kent (AEnigma)" }; - const int spacings[8] = { 2, 4, 8, 4, 3, 4, 4, 1 }; + const int spacings[MAX_FONTS] = { 2, 4, 8, 4, 3, 4, 4, 1 }; - Vector2 positions[8]; + Vector2 positions[MAX_FONTS]; - for (int i = 0; i < 8; i++) + for (int i = 0; i < MAX_FONTS; i++) { - positions[i].x = screenWidth/2 - MeasureTextEx(fonts[i], messages[i], fonts[i].size*2, spacings[i]).x/2; - positions[i].y = 60 + fonts[i].size + 50*i; + positions[i].x = screenWidth/2 - MeasureTextEx(fonts[i], messages[i], fonts[i].baseSize*2, spacings[i]).x/2; + positions[i].y = 60 + fonts[i].baseSize + 45*i; } - Color colors[8] = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD }; + // Small Y position corrections + positions[3].y += 8; + positions[4].y += 2; + positions[7].y -= 8; + + Color colors[MAX_FONTS] = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD, RED }; //-------------------------------------------------------------------------------------- // Main game loop @@ -74,9 +81,9 @@ int main() DrawText("free fonts included with raylib", 250, 20, 20, DARKGRAY); DrawLine(220, 50, 590, 50, DARKGRAY); - for (int i = 0; i < 8; i++) + for (int i = 0; i < MAX_FONTS; i++) { - DrawTextEx(fonts[i], messages[i], positions[i], fonts[i].size*2, spacings[i], colors[i]); + DrawTextEx(fonts[i], messages[i], positions[i], fonts[i].baseSize*2, spacings[i], colors[i]); } EndDrawing(); @@ -85,10 +92,9 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - for (int i = 0; i < 8; i++) - { - UnloadSpriteFont(fonts[i]); // SpriteFont unloading - } + + // SpriteFonts unloading + for (int i = 0; i < MAX_FONTS; i++) UnloadSpriteFont(fonts[i]); CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/examples/text/text_raylib_fonts.png b/examples/text/text_raylib_fonts.png new file mode 100644 index 000000000..8f428a678 Binary files /dev/null and b/examples/text/text_raylib_fonts.png differ diff --git a/examples/text/text_rbmf_fonts.png b/examples/text/text_rbmf_fonts.png deleted file mode 100644 index c047c5037..000000000 Binary files a/examples/text/text_rbmf_fonts.png and /dev/null differ diff --git a/examples/text/text_ttf_loading.c b/examples/text/text_ttf_loading.c index 4e4903998..02b7f95fd 100644 --- a/examples/text/text_ttf_loading.c +++ b/examples/text/text_ttf_loading.c @@ -25,7 +25,7 @@ int main() // NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required) // TTF SpriteFont loading with custom generation parameters - SpriteFont font = LoadSpriteFontTTF("resources/KAISG.ttf", 96, 0, 0); + SpriteFont font = LoadSpriteFontEx("resources/KAISG.ttf", 96, 0, 0); // Generate mipmap levels to use trilinear filtering // NOTE: On 2D drawing it won't be noticeable, it looks like FILTER_BILINEAR @@ -82,7 +82,7 @@ int main() if (count == 1) // Only support one ttf file dropped { UnloadSpriteFont(font); - font = LoadSpriteFontTTF(droppedFiles[0], fontSize, 0, 0); + font = LoadSpriteFontEx(droppedFiles[0], fontSize, 0, 0); ClearDroppedFiles(); } } diff --git a/examples/textures/resources/fudesumi.png b/examples/textures/resources/fudesumi.png index 8ba983dc2..9d9038fa2 100644 Binary files a/examples/textures/resources/fudesumi.png and b/examples/textures/resources/fudesumi.png differ diff --git a/examples/textures/resources/fudesumi.raw b/examples/textures/resources/fudesumi.raw index e05fa0e15..dad6ff0aa 100644 Binary files a/examples/textures/resources/fudesumi.raw and b/examples/textures/resources/fudesumi.raw differ diff --git a/examples/textures/resources/scarfy.png b/examples/textures/resources/scarfy.png index a377a7125..beb5ffa06 100644 Binary files a/examples/textures/resources/scarfy.png and b/examples/textures/resources/scarfy.png differ diff --git a/examples/textures/textures_particles_blending.c b/examples/textures/textures_particles_blending.c new file mode 100644 index 000000000..842ac77de --- /dev/null +++ b/examples/textures/textures_particles_blending.c @@ -0,0 +1,135 @@ +/******************************************************************************************* +* +* raylib example - particles blending +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#define MAX_PARTICLES 200 + +// Particle structure with basic data +typedef struct { + Vector2 position; + Color color; + float alpha; + float size; + float rotation; + bool active; // NOTE: Use it to activate/deactive particle +} Particle; + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [textures] example - particles blending"); + + // Particles pool, reuse them! + Particle mouseTail[MAX_PARTICLES]; + + // Initialize particles + for (int i = 0; i < MAX_PARTICLES; i++) + { + mouseTail[i].position = (Vector2){ 0, 0 }; + mouseTail[i].color = (Color){ GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255 }; + mouseTail[i].alpha = 1.0f; + mouseTail[i].size = (float)GetRandomValue(1, 30)/20.0f; + mouseTail[i].rotation = GetRandomValue(0, 360); + mouseTail[i].active = false; + } + + float gravity = 3.0f; + + Texture2D smoke = LoadTexture("resources/smoke.png"); + + int blending = BLEND_ALPHA; + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + + // Activate one particle every frame and Update active particles + // NOTE: Particles initial position should be mouse position when activated + // NOTE: Particles fall down with gravity and rotation... and disappear after 2 seconds (alpha = 0) + // NOTE: When a particle disappears, active = false and it can be reused. + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (!mouseTail[i].active) + { + mouseTail[i].active = true; + mouseTail[i].alpha = 1.0f; + mouseTail[i].position = GetMousePosition(); + i = MAX_PARTICLES; + } + } + + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (mouseTail[i].active) + { + mouseTail[i].position.y += gravity; + mouseTail[i].alpha -= 0.01f; + + if (mouseTail[i].alpha <= 0.0f) mouseTail[i].active = false; + + mouseTail[i].rotation += 5.0f; + } + } + + if (IsKeyPressed(KEY_SPACE)) + { + if (blending == BLEND_ALPHA) blending = BLEND_ADDITIVE; + else blending = BLEND_ALPHA; + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(DARKGRAY); + + BeginBlendMode(blending); + + // Draw active particles + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (mouseTail[i].active) DrawTexturePro(smoke, (Rectangle){ 0, 0, smoke.width, smoke.height }, + (Rectangle){ mouseTail[i].position.x, mouseTail[i].position.y, smoke.width*mouseTail[i].size, smoke.height*mouseTail[i].size }, + (Vector2){ smoke.width*mouseTail[i].size/2, smoke.height*mouseTail[i].size/2 }, mouseTail[i].rotation, + Fade(mouseTail[i].color, mouseTail[i].alpha)); + } + + EndBlendMode(); + + DrawText("PRESS SPACE to CHANGE BLENDING MODE", 180, 20, 20, BLACK); + + if (blending == BLEND_ALPHA) DrawText("ALPHA BLENDING", 290, screenHeight - 40, 20, BLACK); + else DrawText("ADDITIVE BLENDING", 280, screenHeight - 40, 20, RAYWHITE); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + UnloadTexture(smoke); + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} \ No newline at end of file diff --git a/examples/textures/textures_particles_blending.png b/examples/textures/textures_particles_blending.png new file mode 100644 index 000000000..f90a87fd2 Binary files /dev/null and b/examples/textures/textures_particles_blending.png differ diff --git a/fonts/alagard.rbmf b/fonts/alagard.rbmf deleted file mode 100644 index 8c9b68d3c..000000000 Binary files a/fonts/alagard.rbmf and /dev/null differ diff --git a/fonts/alpha_beta.rbmf b/fonts/alpha_beta.rbmf deleted file mode 100644 index bdb2e7521..000000000 Binary files a/fonts/alpha_beta.rbmf and /dev/null differ diff --git a/fonts/jupiter_crash.rbmf b/fonts/jupiter_crash.rbmf deleted file mode 100644 index d797e0d65..000000000 Binary files a/fonts/jupiter_crash.rbmf and /dev/null differ diff --git a/fonts/mecha.rbmf b/fonts/mecha.rbmf deleted file mode 100644 index 0266a0654..000000000 Binary files a/fonts/mecha.rbmf and /dev/null differ diff --git a/fonts/pixantiqua.rbmf b/fonts/pixantiqua.rbmf deleted file mode 100644 index 04ef0e25e..000000000 Binary files a/fonts/pixantiqua.rbmf and /dev/null differ diff --git a/fonts/pixelplay.rbmf b/fonts/pixelplay.rbmf deleted file mode 100644 index 31d14038d..000000000 Binary files a/fonts/pixelplay.rbmf and /dev/null differ diff --git a/fonts/romulus.rbmf b/fonts/romulus.rbmf deleted file mode 100644 index be9da01a3..000000000 Binary files a/fonts/romulus.rbmf and /dev/null differ diff --git a/fonts/setback.rbmf b/fonts/setback.rbmf deleted file mode 100644 index 09572215c..000000000 Binary files a/fonts/setback.rbmf and /dev/null differ diff --git a/games/arkanoid.lua b/games/arkanoid.lua deleted file mode 100644 index 2dc592470..000000000 --- a/games/arkanoid.lua +++ /dev/null @@ -1,297 +0,0 @@ ---[[ - - raylib - sample game: arkanoid - - Sample game Marc Palau and Ramon Santamaria - - This game has been created using raylib v1.3 (www.raylib.com) - raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) - - Copyright (c) 2015 Ramon Santamaria (@raysan5) - - Translated to Lua by Ghassan Al-Mashareqa (ghassan@ghassan.pl) - ---]] - ------------------------------------------------------------------------------------- --- Some Defines ------------------------------------------------------------------------------------- -PLAYER_MAX_LIFE = 5 -LINES_OF_BRICKS = 5 -BRICKS_PER_LINE = 20 - ------------------------------------------------------------------------------------- --- Types and Structures Definition ------------------------------------------------------------------------------------- - -GameScreen = { LOGO = 0, TITLE = 1, GAMEPLAY = 2, ENDING = 3 } - -function Player() - return { position = Vector2(0,0), size = Vector2(0,0), life = 0 } -end - -function Ball() - return { position = Vector2(0,0), speed = Vector2(0,0), radius = 0, active = false } -end - -function Brick() - return { position = Vector2(0,0), active = false } -end - --------------------------------------------------------------------------------------- --- Global Variables Declaration --------------------------------------------------------------------------------------- -screenWidth = 800; -screenHeight = 450; - -framesCounter = 0; -gameOver = false; -pause = false; - -player = Player() -ball = Ball() -brick = {}--[LINES_OF_BRICKS][BRICKS_PER_LINE]; -for i = 0, LINES_OF_BRICKS-1 do - brick[i] = {} - for j = 0, BRICKS_PER_LINE-1 do - brick[i][j] = Brick() - end -end -brickSize = Vector2(0,0) - - --------------------------------------------------------------------------------------- --- Module Functions Definitions (local) --------------------------------------------------------------------------------------- - --- Initialize game variables -function InitGame() - - brickSize = Vector2(GetScreenWidth()/BRICKS_PER_LINE, 40) - - -- Initialize player - player.position = Vector2(screenWidth/2, screenHeight*7/8) - player.size = Vector2(screenWidth/10, 20) - player.life = PLAYER_MAX_LIFE; - - -- Initialize ball - ball.position = Vector2(screenWidth/2, screenHeight*7/8 - 30) - ball.speed = Vector2(0, 0) - ball.radius = 7; - ball.active = false; - - -- Initialize bricks - local initialDownPosition = 50; - - for i = 0, LINES_OF_BRICKS-1 do - for j = 0, BRICKS_PER_LINE-1 do - brick[i][j].position = Vector2(j*brickSize.x + brickSize.x/2, i*brickSize.y + initialDownPosition) - brick[i][j].active = true; - end - end -end - --- Update game (one frame) -function UpdateGame() - - if (not gameOver) then - if (IsKeyPressed(KEY.P)) then pause = not pause; end - - if (not pause) then - -- Player movement - if (IsKeyDown(KEY.LEFT)) then player.position.x = player.position.x - 5; end - if ((player.position.x - player.size.x/2) <= 0) then player.position.x = player.size.x/2; end - if (IsKeyDown(KEY.RIGHT)) then player.position.x = player.position.x + 5; end - if ((player.position.x + player.size.x/2) >= screenWidth) then player.position.x = screenWidth - player.size.x/2; end - - -- Launch ball - if (not ball.active) then - if (IsKeyPressed(KEY.SPACE)) then - ball.active = true; - ball.speed = Vector2(0, -5) - end - end - - UpdateBall(); - - -- Game over logic - if (player.life <= 0) then - gameOver = true; - else - gameOver = true; - - for i = 0, LINES_OF_BRICKS-1 do - for j = 0, BRICKS_PER_LINE-1 do - if (brick[i][j].active) then gameOver = false; end - end - end - end - end - else - if (IsKeyPressed(KEY.ENTER)) then - InitGame(); - gameOver = false; - end - end - -end - --- Draw game (one frame) -function DrawGame() - - BeginDrawing(); - - ClearBackground(RAYWHITE); - - if (not gameOver) then - -- Draw player bar - DrawRectangle(player.position.x - player.size.x/2, player.position.y - player.size.y/2, player.size.x, player.size.y, BLACK); - - -- Draw player lives - for i = 0, player.life-1 do - DrawRectangle(20 + 40*i, screenHeight - 30, 35, 10, LIGHTGRAY); - end - - -- Draw ball - DrawCircleV(ball.position, ball.radius, MAROON); - - -- Draw bricks - for i = 0, LINES_OF_BRICKS-1 do - for j = 0, BRICKS_PER_LINE-1 do - if (brick[i][j].active) then - if ((i + j) % 2 == 0) then - DrawRectangle(brick[i][j].position.x - brickSize.x/2, brick[i][j].position.y - brickSize.y/2, brickSize.x, brickSize.y, GRAY); - else - DrawRectangle(brick[i][j].position.x - brickSize.x/2, brick[i][j].position.y - brickSize.y/2, brickSize.x, brickSize.y, DARKGRAY); - end - end - end - end - - if (pause) then - DrawText("GAME PAUSED", screenWidth/2 - MeasureText("GAME PAUSED", 40)/2, screenHeight/2 - 40, 40, GRAY); - end - else - DrawText("PRESS [ENTER] TO PLAY AGAIN", GetScreenWidth()/2 - MeasureText("PRESS [ENTER] TO PLAY AGAIN", 20)/2, GetScreenHeight()/2 - 50, 20, GRAY); - end - - EndDrawing(); -end - --- Unload game variables -function UnloadGame() - -- TODO: Unload all dynamic loaded data (textures, sounds, models...) -end - --- Update and Draw (one frame) -function UpdateDrawFrame() - UpdateGame(); - DrawGame(); -end - ----------------------------------------------------------------------------------------- --- Additional module functions ----------------------------------------------------------------------------------------- -function UpdateBall() - -- Update position - if (ball.active) then - ball.position.x = ball.position.x + ball.speed.x; - ball.position.y = ball.position.y + ball.speed.y; - else - ball.position = Vector2(player.position.x, screenHeight*7/8 - 30); - end - - -- Bounce in x - if (((ball.position.x + ball.radius) >= screenWidth) or ((ball.position.x - ball.radius) <= 0)) - then - ball.speed.x = ball.speed.x * -1; - end - - -- Bounce in y - if ((ball.position.y - ball.radius) <= 0) then - ball.speed.y = ball.speed.y * -1; - end - - -- Ball reaches bottom of the screen - if ((ball.position.y + ball.radius) >= screenHeight) then - ball.speed = Vector2(0, 0); - ball.active = false; - - player.life = player.life - 1; - end - - -- Collision logic: ball vs player - if CheckCollisionCircleRec(ball.position, ball.radius, - Rectangle( - player.position.x - player.size.x/2, - player.position.y - player.size.y/2, - player.size.x, - player.size.y)) then - if (ball.speed.y > 0) then - ball.speed.y = ball.speed.y * -1; - ball.speed.x = (ball.position.x - player.position.x)/(player.size.x/2)*5; - end - end - - -- Collision logic: ball vs bricks - for i = 0,LINES_OF_BRICKS-1 do - for j = 0,BRICKS_PER_LINE-1 do - if (brick[i][j].active) then - -- Hit below - if (((ball.position.y - ball.radius) <= (brick[i][j].position.y + brickSize.y/2)) and - ((ball.position.y - ball.radius) > (brick[i][j].position.y + brickSize.y/2 + ball.speed.y)) and - ((math.abs(ball.position.x - brick[i][j].position.x)) < (brickSize.x/2 + ball.radius*2/3)) and (ball.speed.y < 0)) - then - brick[i][j].active = false; - ball.speed.y = ball.speed.y * -1; - -- Hit above - elseif (((ball.position.y + ball.radius) >= (brick[i][j].position.y - brickSize.y/2)) and - ((ball.position.y + ball.radius) < (brick[i][j].position.y - brickSize.y/2 + ball.speed.y)) and - ((math.abs(ball.position.x - brick[i][j].position.x)) < (brickSize.x/2 + ball.radius*2/3)) and (ball.speed.y > 0)) - then - brick[i][j].active = false; - ball.speed.y = ball.speed.y * -1; - -- Hit left - elseif (((ball.position.x + ball.radius) >= (brick[i][j].position.x - brickSize.x/2)) and - ((ball.position.x + ball.radius) < (brick[i][j].position.x - brickSize.x/2 + ball.speed.x)) and - ((math.abs(ball.position.y - brick[i][j].position.y)) < (brickSize.y/2 + ball.radius*2/3)) and (ball.speed.x > 0)) - then - brick[i][j].active = false; - ball.speed.x = ball.speed.x * -1; - -- Hit right - elseif (((ball.position.x - ball.radius) <= (brick[i][j].position.x + brickSize.x/2)) and - ((ball.position.x - ball.radius) > (brick[i][j].position.x + brickSize.x/2 + ball.speed.x)) and - ((math.abs(ball.position.y - brick[i][j].position.y)) < (brickSize.y/2 + ball.radius*2/3)) and (ball.speed.x < 0)) - then - brick[i][j].active = false; - ball.speed.x = ball.speed.x * -1; - end - end - end - end -end - -InitWindow(screenWidth, screenHeight, "sample game: arkanoid"); - -InitGame(); - -SetTargetFPS(60); ----------------------------------------------------------------------------------------- - --- Main game loop -while (not WindowShouldClose()) -- Detect window close button or ESC key -do - -- Update - ------------------------------------------------------------------------------------ - UpdateGame(); - ------------------------------------------------------------------------------------ - - -- Draw - ------------------------------------------------------------------------------------ - DrawGame(); - ------------------------------------------------------------------------------------ -end - -UnloadGame(); -- Unload loaded data (textures, sounds, models...) - -CloseWindow(); -- Close window and OpenGL context diff --git a/games/drturtle/makefile b/games/drturtle/makefile index ab7fd2065..898219290 100644 --- a/games/drturtle/makefile +++ b/games/drturtle/makefile @@ -1,17 +1,17 @@ #************************************************************************************************** # -# raylib - makefile to compile Dr.Turtle game +# raylib makefile for desktop platforms, Raspberry Pi and HTML5 (emscripten) # -# Copyright (c) 2014 Ramon Santamaria (@raysan5) -# -# This software is provided "as-is", without any express or implied warranty. In no event +# Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) +# +# This software is provided "as-is", without any express or implied warranty. In no event # will the authors be held liable for any damages arising from the use of this software. # -# Permission is granted to anyone to use this software for any purpose, including commercial +# Permission is granted to anyone to use this software for any purpose, including commercial # applications, and to alter it and redistribute it freely, subject to the following restrictions: # -# 1. The origin of this software must not be misrepresented; you must not claim that you -# wrote the original software. If you use this software in a product, an acknowledgment +# 1. The origin of this software must not be misrepresented; you must not claim that you +# wrote the original software. If you use this software in a product, an acknowledgment # in the product documentation would be appreciated but is not required. # # 2. Altered source versions must be plainly marked as such, and must not be misrepresented @@ -21,10 +21,23 @@ # #************************************************************************************************** -# define raylib platform if not defined (by default, compile for RPI) -# Other possible platform: PLATFORM_DESKTOP +.PHONY: all clean + +# define raylib platform to compile for +# possible platforms: PLATFORM_DESKTOP PLATFORM_RPI PLATFORM_WEB +# WARNING: To compile to HTML5, code must be redesigned to use emscripten.h and emscripten_set_main_loop() PLATFORM ?= PLATFORM_DESKTOP +# define NO to use OpenAL Soft as static library (shared by default) +SHARED_OPENAL ?= NO + +ifeq ($(PLATFORM),PLATFORM_WEB) + SHARED_OPENAL = NO +endif + +# define raylib directory for include and library +RAYLIB_PATH ?= C:\raylib\raylib + # determine PLATFORM_OS in case PLATFORM_DESKTOP selected ifeq ($(PLATFORM),PLATFORM_DESKTOP) # No uname.exe on MinGW!, but OS=Windows_NT on Windows! ifeq ($(UNAME),Msys) -> Windows @@ -60,48 +73,96 @@ endif endif # define compiler flags: -# -O2 defines optimization level -# -Wall turns on most, but not all, compiler warnings -# -std=c99 use standard C from 1999 revision -ifeq ($(PLATFORM),PLATFORM_RPI) - CFLAGS = -O2 -Wall -std=gnu99 -fgnu89-inline -else - CFLAGS = -O2 -Wall -std=c99 +# -O2 defines optimization level +# -Og enable debugging +# -s strip unnecessary data from build +# -Wall turns on most, but not all, compiler warnings +# -std=c99 defines C language mode (standard C from 1999 revision) +# -std=gnu99 defines C language mode (GNU C from 1999 revision) +# -fgnu89-inline declaring inline functions support (GCC optimized) +# -Wno-missing-braces ignore invalid warning (GCC bug 53119) +# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + CFLAGS = -O2 -s -Wall -std=c99 + endif + ifeq ($(PLATFORM_OS),LINUX) + CFLAGS = -O2 -s -Wall -std=c99 -D_DEFAULT_SOURCE + endif + ifeq ($(PLATFORM_OS),OSX) + CFLAGS = -O2 -s -Wall -std=c99 + endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -s USE_GLFW=3 --preload-file resources -s ALLOW_MEMORY_GROWTH=1 --shell-file ../../templates/web_shell/shell.html - #-s ASSERTIONS=1 --preload-file resources - #-s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing - #-s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 -s TOTAL_MEMORY=33554432 --profiling --preload-file resources + # -O2 # if used, also set --memory-init-file 0 + # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) + # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing + # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + # --preload-file file.res # embbed file.res resource into .data file +endif +ifeq ($(PLATFORM),PLATFORM_RPI) + CFLAGS = -O2 -s -Wall -std=gnu99 -fgnu89-inline +endif +#CFLAGSEXTRA = -Wextra -Wmissing-prototypes -Wstrict-prototypes + +# define raylib release directory for compiled library +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/win32/mingw32 + endif + ifeq ($(PLATFORM_OS),LINUX) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/linux + endif + ifeq ($(PLATFORM_OS),OSX) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/osx + endif +endif +ifeq ($(PLATFORM),PLATFORM_WEB) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/html5 +endif +ifeq ($(PLATFORM),PLATFORM_RPI) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/rpi endif # define any directories containing required header files +INCLUDES = -I. -I$(RAYLIB_RELEASE) -I$(RAYLIB_PATH)/src -I$(RAYLIB_PATH)/src/external + ifeq ($(PLATFORM),PLATFORM_RPI) - INCLUDES = -I. -I../../src -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -else - INCLUDES = -I. -I../../src -# external libraries headers -# GLFW3 - INCLUDES += -I../../external/glfw3/include -# GLEW - INCLUDES += -I../../external/glew/include -# OpenAL Soft - INCLUDES += -I../../external/openal_soft/include + INCLUDES += -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads +endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + # external libraries headers + # GLFW3 + INCLUDES += -I$(RAYLIB_PATH)/src/external/glfw3/include + # OpenAL Soft + INCLUDES += -I$(RAYLIB_PATH)/src/external/openal_soft/include + endif + ifeq ($(PLATFORM_OS),LINUX) + # you may optionally create this directory and install raylib + # and related headers there. Edit ../src/Makefile appropriately. + INCLUDES += -I/usr/local/include/raylib + endif + ifeq ($(PLATFORM_OS),OSX) + # additional directories for MacOS + endif endif # define library paths containing required libs +LFLAGS = -L. -L$(RAYLIB_RELEASE) -L$(RAYLIB_PATH)/src + ifeq ($(PLATFORM),PLATFORM_RPI) - LFLAGS = -L. -L../../src -L/opt/vc/lib -else - LFLAGS = -L. -L../../src - # external libraries to link with - # GLFW3 - LFLAGS += -L../../external/glfw3/lib/$(LIBPATH) - ifneq ($(PLATFORM_OS),OSX) - # OpenAL Soft - LFLAGS += -L../../external/openal_soft/lib/$(LIBPATH) - # GLEW - LFLAGS += -L../../external/glew/lib/$(LIBPATH) + LFLAGS += -L/opt/vc/lib +endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + # add standard directories for GNU/Linux + ifeq ($(PLATFORM_OS),WINDOWS) + # external libraries to link with + # GLFW3 + LFLAGS += -L$(RAYLIB_PATH)/src/external/glfw3/lib/$(LIBPATH) + # OpenAL Soft + LFLAGS += -L$(RAYLIB_PATH)/src/external/openal_soft/lib/$(LIBPATH) endif endif @@ -111,20 +172,27 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),LINUX) # libraries for Debian GNU/Linux desktop compiling # requires the following packages: - # libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw3 -lGLEW -lGL -lopenal -lm -pthread -ldl - # on XWindow could require also below libraries, just uncomment + # libglfw3-dev libopenal-dev libegl1-mesa-dev + LIBS = -lraylib -lglfw3 -lGL -lopenal -lm -lpthread -ldl + # on XWindow requires also below libraries LIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor else ifeq ($(PLATFORM_OS),OSX) - # libraries for OS X 10.9 desktop compiling + # libraries for OSX 10.9 desktop compiling # requires the following packages: - # libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw -framework OpenGL -framework OpenAl -framework Cocoa + # libglfw3-dev libopenal-dev libegl1-mesa-dev + LIBS = -lraylib -lglfw -framework OpenGL -framework OpenAL -framework Cocoa else # libraries for Windows desktop compiling # NOTE: GLFW3 and OpenAL Soft libraries should be installed - LIBS = -lraylib -lglfw3 -lglew32 -lopengl32 -lopenal32 -lgdi32 + LIBS = -lraylib -lglfw3 -lopengl32 -lgdi32 + # if static OpenAL Soft required, define the corresponding libs + ifeq ($(SHARED_OPENAL),NO) + LIBS += -lopenal32 -lwinmm + CFLAGS += -Wl,-allow-multiple-definition + else + LIBS += -lopenal32dll + endif endif endif endif @@ -134,30 +202,31 @@ ifeq ($(PLATFORM),PLATFORM_RPI) LIBS = -lraylib -lGLESv2 -lEGL -lpthread -lrt -lm -lbcm_host -lopenal endif ifeq ($(PLATFORM),PLATFORM_WEB) - LIBS = ../../src/libraylib.bc + # NOTE: Set the correct path to libraylib.bc + LIBS = $(RAYLIB_RELEASE)/libraylib.bc endif # define additional parameters and flags for windows ifeq ($(PLATFORM_OS),WINDOWS) # resources file contains windows exe icon # -Wl,--subsystem,windows hides the console window - WINFLAGS = ../../src/resources -Wl,--subsystem,windows + WINFLAGS = $(RAYLIB_PATH)/src/resources -Wl,--subsystem,windows endif ifeq ($(PLATFORM),PLATFORM_WEB) EXT = .html + WEB_SHELL = --shell-file $(RAYLIB_PATH)\templates\web_shell\shell.html endif # define all screen object files required SCREENS = \ -# typing 'make' will invoke the first target entry in the file, -# in this case, the 'default' target entry is advance_game +# typing 'make' will invoke the default target entry default: drturtle -# compile template - advance_game +# compile program drturtle: drturtle_final_web.c $(SCREENS) - $(CC) -o $@$(EXT) $< $(SCREENS) $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $^ $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # clean everything clean: @@ -167,10 +236,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) rm -f *.o else ifeq ($(PLATFORM_OS),LINUX) - find . -type f -executable -delete - rm -f *.o + find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -f else - del *.o *.exe + del *.o *.exe /s endif endif endif diff --git a/games/just_do/makefile b/games/just_do/makefile index 6bb973c04..6dc096fbb 100644 --- a/games/just_do/makefile +++ b/games/just_do/makefile @@ -1,19 +1,17 @@ #************************************************************************************************** # -# raylib - Advance Game +# raylib makefile for desktop platforms, Raspberry Pi and HTML5 (emscripten) # -# makefile to compile advance game for desktop platforms, Raspberry Pi and HTML5 (emscripten) +# Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) # -# Copyright (c) 2014 Ramon Santamaria (@raysan5) -# -# This software is provided "as-is", without any express or implied warranty. In no event +# This software is provided "as-is", without any express or implied warranty. In no event # will the authors be held liable for any damages arising from the use of this software. # -# Permission is granted to anyone to use this software for any purpose, including commercial +# Permission is granted to anyone to use this software for any purpose, including commercial # applications, and to alter it and redistribute it freely, subject to the following restrictions: # -# 1. The origin of this software must not be misrepresented; you must not claim that you -# wrote the original software. If you use this software in a product, an acknowledgment +# 1. The origin of this software must not be misrepresented; you must not claim that you +# wrote the original software. If you use this software in a product, an acknowledgment # in the product documentation would be appreciated but is not required. # # 2. Altered source versions must be plainly marked as such, and must not be misrepresented @@ -23,11 +21,23 @@ # #************************************************************************************************** +.PHONY: all clean + # define raylib platform to compile for # possible platforms: PLATFORM_DESKTOP PLATFORM_RPI PLATFORM_WEB # WARNING: To compile to HTML5, code must be redesigned to use emscripten.h and emscripten_set_main_loop() PLATFORM ?= PLATFORM_DESKTOP +# define NO to use OpenAL Soft as static library (shared by default) +SHARED_OPENAL ?= NO + +ifeq ($(PLATFORM),PLATFORM_WEB) + SHARED_OPENAL = NO +endif + +# define raylib directory for include and library +RAYLIB_PATH ?= C:\raylib\raylib + # determine PLATFORM_OS in case PLATFORM_DESKTOP selected ifeq ($(PLATFORM),PLATFORM_DESKTOP) # No uname.exe on MinGW!, but OS=Windows_NT on Windows! ifeq ($(UNAME),Msys) -> Windows @@ -63,50 +73,96 @@ endif endif # define compiler flags: -# -O2 defines optimization level -# -Wall turns on most, but not all, compiler warnings -# -std=c99 use standard C from 1999 revision -ifeq ($(PLATFORM),PLATFORM_RPI) - CFLAGS = -O2 -Wall -std=gnu99 -fgnu89-inline -else - CFLAGS = -O2 -Wall -std=c99 +# -O2 defines optimization level +# -Og enable debugging +# -s strip unnecessary data from build +# -Wall turns on most, but not all, compiler warnings +# -std=c99 defines C language mode (standard C from 1999 revision) +# -std=gnu99 defines C language mode (GNU C from 1999 revision) +# -fgnu89-inline declaring inline functions support (GCC optimized) +# -Wno-missing-braces ignore invalid warning (GCC bug 53119) +# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + CFLAGS = -O2 -s -Wall -std=c99 + endif + ifeq ($(PLATFORM_OS),LINUX) + CFLAGS = -O2 -s -Wall -std=c99 -D_DEFAULT_SOURCE + endif + ifeq ($(PLATFORM_OS),OSX) + CFLAGS = -O2 -s -Wall -std=c99 + endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -s USE_GLFW=3 --shell-file ../../templates/web_shell/shell.html - #-s ASSERTIONS=1 --preload-file resources - #-s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing - #-s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 --profiling --preload-file resources + # -O2 # if used, also set --memory-init-file 0 + # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) + # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing + # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + # --preload-file file.res # embbed file.res resource into .data file +endif +ifeq ($(PLATFORM),PLATFORM_RPI) + CFLAGS = -O2 -s -Wall -std=gnu99 -fgnu89-inline endif - #CFLAGSEXTRA = -Wextra -Wmissing-prototypes -Wstrict-prototypes -# define any directories containing required header files +# define raylib release directory for compiled library +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/win32/mingw32 + endif + ifeq ($(PLATFORM_OS),LINUX) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/linux + endif + ifeq ($(PLATFORM_OS),OSX) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/osx + endif +endif +ifeq ($(PLATFORM),PLATFORM_WEB) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/html5 +endif ifeq ($(PLATFORM),PLATFORM_RPI) - INCLUDES = -I. -I../../src -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -else - INCLUDES = -I. -I../../src -I../../../src -# external libraries headers -# GLFW3 - INCLUDES += -I../../external/glfw3/include -# GLEW - INCLUDES += -I../../external/glew/include -# OpenAL Soft - INCLUDES += -I../../external/openal_soft/include + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/rpi +endif + +# define any directories containing required header files +INCLUDES = -I. -I$(RAYLIB_RELEASE) -I$(RAYLIB_PATH)/src -I$(RAYLIB_PATH)/src/external + +ifeq ($(PLATFORM),PLATFORM_RPI) + INCLUDES += -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads +endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + # external libraries headers + # GLFW3 + INCLUDES += -I$(RAYLIB_PATH)/src/external/glfw3/include + # OpenAL Soft + INCLUDES += -I$(RAYLIB_PATH)/src/external/openal_soft/include + endif + ifeq ($(PLATFORM_OS),LINUX) + # you may optionally create this directory and install raylib + # and related headers there. Edit ../src/Makefile appropriately. + INCLUDES += -I/usr/local/include/raylib + endif + ifeq ($(PLATFORM_OS),OSX) + # additional directories for MacOS + endif endif # define library paths containing required libs +LFLAGS = -L. -L$(RAYLIB_RELEASE) -L$(RAYLIB_PATH)/src + ifeq ($(PLATFORM),PLATFORM_RPI) - LFLAGS = -L. -L../../src -L/opt/vc/lib -else - LFLAGS = -L. -L../../src -L../../../src - # external libraries to link with - # GLFW3 - LFLAGS += -L../../external/glfw3/lib/$(LIBPATH) - ifneq ($(PLATFORM_OS),OSX) - # OpenAL Soft - LFLAGS += -L../../external/openal_soft/lib/$(LIBPATH) - # GLEW - LFLAGS += -L../../external/glew/lib/$(LIBPATH) + LFLAGS += -L/opt/vc/lib +endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + # add standard directories for GNU/Linux + ifeq ($(PLATFORM_OS),WINDOWS) + # external libraries to link with + # GLFW3 + LFLAGS += -L$(RAYLIB_PATH)/src/external/glfw3/lib/$(LIBPATH) + # OpenAL Soft + LFLAGS += -L$(RAYLIB_PATH)/src/external/openal_soft/lib/$(LIBPATH) endif endif @@ -116,20 +172,27 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),LINUX) # libraries for Debian GNU/Linux desktop compiling # requires the following packages: - # libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw3 -lGLEW -lGL -lopenal -lm -pthread -ldl - # on XWindow could require also below libraries, just uncomment + # libglfw3-dev libopenal-dev libegl1-mesa-dev + LIBS = -lraylib -lglfw3 -lGL -lopenal -lm -lpthread -ldl + # on XWindow requires also below libraries LIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor else ifeq ($(PLATFORM_OS),OSX) - # libraries for OS X 10.9 desktop compiling + # libraries for OSX 10.9 desktop compiling # requires the following packages: - # libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw -framework OpenGL -framework OpenAl -framework Cocoa + # libglfw3-dev libopenal-dev libegl1-mesa-dev + LIBS = -lraylib -lglfw -framework OpenGL -framework OpenAL -framework Cocoa else # libraries for Windows desktop compiling # NOTE: GLFW3 and OpenAL Soft libraries should be installed - LIBS = -lraylib -lglfw3 -lglew32 -lopengl32 -lopenal32 -lgdi32 + LIBS = -lraylib -lglfw3 -lopengl32 -lgdi32 + # if static OpenAL Soft required, define the corresponding libs + ifeq ($(SHARED_OPENAL),NO) + LIBS += -lopenal32 -lwinmm + CFLAGS += -Wl,-allow-multiple-definition + else + LIBS += -lopenal32dll + endif endif endif endif @@ -139,18 +202,20 @@ ifeq ($(PLATFORM),PLATFORM_RPI) LIBS = -lraylib -lGLESv2 -lEGL -lpthread -lrt -lm -lbcm_host -lopenal endif ifeq ($(PLATFORM),PLATFORM_WEB) - LIBS = ../../src/libraylib.bc + # NOTE: Set the correct path to libraylib.bc + LIBS = $(RAYLIB_RELEASE)/libraylib.bc endif # define additional parameters and flags for windows ifeq ($(PLATFORM_OS),WINDOWS) # resources file contains windows exe icon # -Wl,--subsystem,windows hides the console window - WINFLAGS = ../../src/resources -Wl,--subsystem,windows + WINFLAGS = $(RAYLIB_PATH)/src/resources -Wl,--subsystem,windows endif ifeq ($(PLATFORM),PLATFORM_WEB) EXT = .html + WEB_SHELL = --shell-file $(RAYLIB_PATH)\templates\web_shell\shell.html endif # define all screen object files required @@ -167,14 +232,13 @@ SCREENS = \ screens/screen_level08.o \ screens/screen_level09.o \ -# typing 'make' will invoke the first target entry in the file, -# in this case, the 'default' target entry is just_do +# typing 'make' will invoke the default target entry default: just_do -# compile just_do +# compile program just_do: just_do.c $(SCREENS) - $(CC) -o $@$(EXT) $< $(SCREENS) $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) - + $(CC) -o $@$(EXT) $^ $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) + # compile screen LOGO screens/screen_logo.o: screens/screen_logo.c $(CC) -c $< -o $@ $(CFLAGS) $(INCLUDES) -D$(PLATFORM) @@ -227,10 +291,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) rm -f *.o else ifeq ($(PLATFORM_OS),LINUX) - find . -type f -executable -delete - rm -f *.o + find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -f else - del *.o *.exe + del *.o *.exe /s endif endif endif diff --git a/games/just_do/screens/screen_level02.c b/games/just_do/screens/screen_level02.c index a2d5e5622..584edcef4 100644 --- a/games/just_do/screens/screen_level02.c +++ b/games/just_do/screens/screen_level02.c @@ -154,17 +154,4 @@ void UnloadLevel02Screen(void) int FinishLevel02Screen(void) { return finishScreen; -} - -// Calculate distance between two points -float Vector2Distance(Vector2 v1, Vector2 v2) -{ - float result; - - float dx = v2.x - v1.x; - float dy = v2.y - v1.y; - - result = sqrt(dx*dx + dy*dy); - - return result; } \ No newline at end of file diff --git a/games/koala_seasons/Makefile b/games/koala_seasons/Makefile new file mode 100644 index 000000000..c9eee6ff7 --- /dev/null +++ b/games/koala_seasons/Makefile @@ -0,0 +1,282 @@ +#************************************************************************************************** +# +# raylib makefile for desktop platforms, Raspberry Pi and HTML5 (emscripten) +# +# Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) +# +# This software is provided "as-is", without any express or implied warranty. In no event +# will the authors be held liable for any damages arising from the use of this software. +# +# Permission is granted to anyone to use this software for any purpose, including commercial +# applications, and to alter it and redistribute it freely, subject to the following restrictions: +# +# 1. The origin of this software must not be misrepresented; you must not claim that you +# wrote the original software. If you use this software in a product, an acknowledgment +# in the product documentation would be appreciated but is not required. +# +# 2. Altered source versions must be plainly marked as such, and must not be misrepresented +# as being the original software. +# +# 3. This notice may not be removed or altered from any source distribution. +# +#************************************************************************************************** + +.PHONY: all clean + +# define raylib platform to compile for +# possible platforms: PLATFORM_DESKTOP PLATFORM_RPI PLATFORM_WEB +# WARNING: To compile to HTML5, code must be redesigned to use emscripten.h and emscripten_set_main_loop() +PLATFORM ?= PLATFORM_DESKTOP + +# define NO to use OpenAL Soft as static library (shared by default) +SHARED_OPENAL ?= NO + +ifeq ($(PLATFORM),PLATFORM_WEB) + SHARED_OPENAL = NO +endif + +# define raylib directory for include and library +RAYLIB_PATH ?= C:\raylib\raylib + +# determine PLATFORM_OS in case PLATFORM_DESKTOP selected +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + # No uname.exe on MinGW!, but OS=Windows_NT on Windows! ifeq ($(UNAME),Msys) -> Windows + ifeq ($(OS),Windows_NT) + PLATFORM_OS=WINDOWS + LIBPATH=win32 + else + UNAMEOS:=$(shell uname) + ifeq ($(UNAMEOS),Linux) + PLATFORM_OS=LINUX + LIBPATH=linux + else + ifeq ($(UNAMEOS),Darwin) + PLATFORM_OS=OSX + LIBPATH=osx + endif + endif + endif +endif + +# define compiler: gcc for C program, define as g++ for C++ +ifeq ($(PLATFORM),PLATFORM_WEB) + # define emscripten compiler + CC = emcc +else +ifeq ($(PLATFORM_OS),OSX) + # define llvm compiler for mac + CC = clang +else + # define default gcc compiler + CC = gcc +endif +endif + +# define compiler flags: +# -O2 defines optimization level +# -Og enable debugging +# -s strip unnecessary data from build +# -Wall turns on most, but not all, compiler warnings +# -std=c99 defines C language mode (standard C from 1999 revision) +# -std=gnu99 defines C language mode (GNU C from 1999 revision) +# -fgnu89-inline declaring inline functions support (GCC optimized) +# -Wno-missing-braces ignore invalid warning (GCC bug 53119) +# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + CFLAGS = -O2 -s -Wall -std=c99 + endif + ifeq ($(PLATFORM_OS),LINUX) + CFLAGS = -O2 -s -Wall -std=c99 -D_DEFAULT_SOURCE + endif + ifeq ($(PLATFORM_OS),OSX) + CFLAGS = -O2 -s -Wall -std=c99 + endif +endif +ifeq ($(PLATFORM),PLATFORM_WEB) + CFLAGS = -O1 -Wall -std=c99 -DPLATFORM_WEB -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 -s TOTAL_MEMORY=67108864 --profiling --preload-file resources + # -O2 # if used, also set --memory-init-file 0 + # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) + # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing + # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + # --preload-file file.res # embbed file.res resource into .data file +endif +ifeq ($(PLATFORM),PLATFORM_RPI) + CFLAGS = -O2 -s -Wall -std=gnu99 -fgnu89-inline +endif +#CFLAGSEXTRA = -Wextra -Wmissing-prototypes -Wstrict-prototypes + +# define raylib release directory for compiled library +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/win32/mingw32 + endif + ifeq ($(PLATFORM_OS),LINUX) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/linux + endif + ifeq ($(PLATFORM_OS),OSX) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/osx + endif +endif +ifeq ($(PLATFORM),PLATFORM_WEB) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/html5 +endif +ifeq ($(PLATFORM),PLATFORM_RPI) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/rpi +endif + +# define any directories containing required header files +INCLUDES = -I. -I$(RAYLIB_RELEASE) -I$(RAYLIB_PATH)/src -I$(RAYLIB_PATH)/src/external + +ifeq ($(PLATFORM),PLATFORM_RPI) + INCLUDES += -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads +endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + # external libraries headers + # GLFW3 + INCLUDES += -I$(RAYLIB_PATH)/src/external/glfw3/include + # OpenAL Soft + INCLUDES += -I$(RAYLIB_PATH)/src/external/openal_soft/include + endif + ifeq ($(PLATFORM_OS),LINUX) + # you may optionally create this directory and install raylib + # and related headers there. Edit ../src/Makefile appropriately. + INCLUDES += -I/usr/local/include/raylib + endif + ifeq ($(PLATFORM_OS),OSX) + # additional directories for MacOS + endif +endif + +# define library paths containing required libs +LFLAGS = -L. -L$(RAYLIB_RELEASE) -L$(RAYLIB_PATH)/src + +ifeq ($(PLATFORM),PLATFORM_RPI) + LFLAGS += -L/opt/vc/lib +endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + # add standard directories for GNU/Linux + ifeq ($(PLATFORM_OS),WINDOWS) + # external libraries to link with + # GLFW3 + LFLAGS += -L$(RAYLIB_PATH)/src/external/glfw3/lib/$(LIBPATH) + # OpenAL Soft + LFLAGS += -L$(RAYLIB_PATH)/src/external/openal_soft/lib/$(LIBPATH) + endif +endif + +# define any libraries to link into executable +# if you want to link libraries (libname.so or libname.a), use the -lname +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),LINUX) + # libraries for Debian GNU/Linux desktop compiling + # requires the following packages: + # libglfw3-dev libopenal-dev libegl1-mesa-dev + LIBS = -lraylib -lglfw3 -lGL -lopenal -lm -lpthread -ldl + # on XWindow requires also below libraries + LIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor + else + ifeq ($(PLATFORM_OS),OSX) + # libraries for OS X 10.9 desktop compiling + # requires the following packages: + # libglfw3-dev libopenal-dev libegl1-mesa-dev + LIBS = -lraylib -lglfw -framework OpenGL -framework OpenAL -framework Cocoa + else + # libraries for Windows desktop compiling + # NOTE: GLFW3 and OpenAL Soft libraries should be installed + LIBS = -lraylib -lglfw3 -lopengl32 -lgdi32 + # if static OpenAL Soft required, define the corresponding libs + ifeq ($(SHARED_OPENAL),NO) + LIBS += -lopenal32 -lwinmm + CFLAGS += -Wl,-allow-multiple-definition + else + LIBS += -lopenal32dll + endif + endif + endif +endif +ifeq ($(PLATFORM),PLATFORM_RPI) + # libraries for Raspberry Pi compiling + # NOTE: OpenAL Soft library should be installed (libopenal1 package) + LIBS = -lraylib -lGLESv2 -lEGL -lpthread -lrt -lm -lbcm_host -lopenal +endif +ifeq ($(PLATFORM),PLATFORM_WEB) + # NOTE: Set the correct path to libraylib.bc + LIBS = $(RAYLIB_RELEASE)/libraylib.bc +endif + +# define additional parameters and flags for windows +ifeq ($(PLATFORM_OS),WINDOWS) + # resources file contains windows exe icon + # -Wl,--subsystem,windows hides the console window + WINFLAGS = $(RAYLIB_PATH)/src/resources + #-Wl,--subsystem,windows +endif + +ifeq ($(PLATFORM),PLATFORM_WEB) + EXT = .html + WEB_SHELL = --shell-file $(RAYLIB_PATH)\templates\web_shell\shell.html +endif + +# define all screen object files required +SCREENS = \ + screens/screen_logo.o \ + screens/screen_title.o \ + screens/screen_gameplay.o \ + screens/screen_ending.o \ + +# typing 'make' will invoke the default target entry +default: koala_seasons + +# compile program +koala_seasons: koala_seasons.c $(SCREENS) + $(CC) -o $@$(EXT) $^ $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) + +# compile screen LOGO +screens/screen_logo.o: screens/screen_logo.c + $(CC) -c $< -o $@ $(CFLAGS) $(INCLUDES) -D$(PLATFORM) + +# compile screen TITLE +screens/screen_title.o: screens/screen_title.c + $(CC) -c $< -o $@ $(CFLAGS) $(INCLUDES) -D$(PLATFORM) + +# compile screen OPTIONS +screens/screen_options.o: screens/screen_options.c + $(CC) -c $< -o $@ $(CFLAGS) $(INCLUDES) -D$(PLATFORM) + +# compile screen GAMEPLAY +screens/screen_gameplay.o: screens/screen_gameplay.c + $(CC) -c $< -o $@ $(CFLAGS) $(INCLUDES) -D$(PLATFORM) + +# compile screen ENDING +screens/screen_ending.o: screens/screen_ending.c + $(CC) -c $< -o $@ $(CFLAGS) $(INCLUDES) -D$(PLATFORM) + +# clean everything +clean: +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),OSX) + find . -type f -perm +ugo+x -delete + rm -f *.o + else + ifeq ($(PLATFORM_OS),LINUX) + find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -f + else + del *.o *.exe /s + endif + endif +endif +ifeq ($(PLATFORM),PLATFORM_RPI) + find . -type f -executable -delete + rm -f *.o +endif +ifeq ($(PLATFORM),PLATFORM_WEB) + del *.o *.html *.js +endif + @echo Cleaning done + +# instead of defining every module one by one, we can define a pattern +# this pattern below will automatically compile every module defined on $(OBJS) +#%.exe : %.c +# $(CC) -o $@ $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) diff --git a/games/koala_seasons/koala_seasons.c b/games/koala_seasons/koala_seasons.c new file mode 100644 index 000000000..47311ca06 --- /dev/null +++ b/games/koala_seasons/koala_seasons.c @@ -0,0 +1,281 @@ +/******************************************************************************************* +* +* raylib - Koala Seasons game +* +* Koala Seasons is a runner, you must survive as long as possible jumping from tree to tree +* Ready to start the adventure? How long can you survive? +* +* This game has been created using raylib 1.5 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" +#include "screens/screens.h" // NOTE: Defines currentScreen + +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition (local to this module) +//---------------------------------------------------------------------------------- +static float transAlpha = 0; +static bool onTransition = false; +static bool transFadeOut = false; +static int transFromScreen = -1; +static int transToScreen = -1; +static int framesCounter = 0; + +static Music music; + +//---------------------------------------------------------------------------------- +// Local Functions Declaration +//---------------------------------------------------------------------------------- +void TransitionToScreen(int screen); +void UpdateTransition(void); +void DrawTransition(void); + +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main entry point +//---------------------------------------------------------------------------------- +#if defined(PLATFORM_ANDROID) +void android_main(struct android_app *app) +#else +int main(void) +#endif +{ + // Initialization + //--------------------------------------------------------- + const int screenWidth = 1280; + const int screenHeight = 720; + const char windowTitle[30] = "KOALA SEASONS"; + + //ShowLogo(); + //SetConfigFlags(FLAG_FULLSCREEN_MODE); + +#if defined(PLATFORM_ANDROID) + InitWindow(screenWidth, screenHeight, app); +#else + InitWindow(screenWidth, screenHeight, windowTitle); +#endif + + // Load global data here (assets that must be available in all screens, i.e. fonts) + font = LoadSpriteFont("resources/graphics/mainfont.png"); + + atlas01 = LoadTexture("resources/graphics/atlas01.png"); + atlas02 = LoadTexture("resources/graphics/atlas02.png"); + +#if defined(PLATFORM_WEB) || defined(PLATFORM_RPI) || defined(PLATFORM_ANDROID) + colorBlend = LoadShader("resources/shaders/glsl100/base.vs", "resources/shaders/glsl100/blend_color.fs"); +#else + colorBlend = LoadShader("resources/shaders/glsl330/base.vs", "resources/shaders/glsl330/blend_color.fs"); +#endif + + InitAudioDevice(); + + // Load sounds data + fxJump = LoadSound("resources/audio/jump.ogg"); + fxDash = LoadSound("resources/audio/dash.ogg"); + fxEatLeaves = LoadSound("resources/audio/eat_leaves.ogg"); + fxHitResin = LoadSound("resources/audio/resin_hit.ogg"); + fxWind = LoadSound("resources/audio/wind_sound.ogg"); + fxDieSnake = LoadSound("resources/audio/snake_die.ogg"); + fxDieDingo = LoadSound("resources/audio/dingo_die.ogg"); + fxDieOwl = LoadSound("resources/audio/owl_die.ogg"); + + + music = LoadMusicStream("resources/audio/jngl.xm"); + PlayMusicStream(music); + SetMusicVolume(music, 1.0f); + + // Define and init first screen + // NOTE: currentScreen is defined in screens.h as a global variable + currentScreen = TITLE; + + InitLogoScreen(); + //InitOptionsScreen(); + InitTitleScreen(); + InitGameplayScreen(); + InitEndingScreen(); + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) UpdateDrawFrame(); +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + UnloadEndingScreen(); + UnloadTitleScreen(); + UnloadGameplayScreen(); + UnloadLogoScreen(); + + UnloadTexture(atlas01); + UnloadTexture(atlas02); + UnloadSpriteFont(font); + + UnloadShader(colorBlend); // Unload color overlay blending shader + + UnloadSound(fxJump); + UnloadSound(fxDash); + UnloadSound(fxEatLeaves); + UnloadSound(fxHitResin); + UnloadSound(fxWind); + UnloadSound(fxDieSnake); + UnloadSound(fxDieDingo); + UnloadSound(fxDieOwl); + + UnloadMusicStream(music); + + CloseAudioDevice(); // Close audio device + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- +#if !defined(PLATFORM_ANDROID) + return 0; +#endif +} + +void TransitionToScreen(int screen) +{ + onTransition = true; + transFromScreen = currentScreen; + transToScreen = screen; +} + +void UpdateTransition(void) +{ + if (!transFadeOut) + { + transAlpha += 0.05f; + + if (transAlpha >= 1.0) + { + transAlpha = 1.0; + currentScreen = transToScreen; + transFadeOut = true; + framesCounter = 0; + } + } + else // Transition fade out logic + { + transAlpha -= 0.05f; + + if (transAlpha <= 0) + { + transAlpha = 0; + transFadeOut = false; + onTransition = false; + transFromScreen = -1; + transToScreen = -1; + } + } +} + +void DrawTransition(void) +{ + DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(BLACK, transAlpha)); +} + +// Update and Draw one frame +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (!onTransition) + { + switch (currentScreen) + { + case LOGO: + { + UpdateLogoScreen(); + + if (FinishLogoScreen()) TransitionToScreen(TITLE); + + } break; + case TITLE: + { + UpdateTitleScreen(); + + // NOTE: FinishTitleScreen() return an int defining the screen to jump to + if (FinishTitleScreen() == 1) + { + UnloadTitleScreen(); + //currentScreen = OPTIONS; + //InitOptionsScreen(); + } + else if (FinishTitleScreen() == 2) + { + UnloadTitleScreen(); + + InitGameplayScreen(); + TransitionToScreen(GAMEPLAY); + } + } break; + case GAMEPLAY: + { + UpdateGameplayScreen(); + + if (FinishGameplayScreen()) + { + UnloadGameplayScreen(); + + InitEndingScreen(); + TransitionToScreen(ENDING); + } + } break; + case ENDING: + { + UpdateEndingScreen(); + + if (FinishEndingScreen()) + { + UnloadEndingScreen(); + + InitGameplayScreen(); + TransitionToScreen(GAMEPLAY); + } + } break; + default: break; + } + } + else UpdateTransition(); + + UpdateMusicStream(music); + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(WHITE); + + switch (currentScreen) + { + case LOGO: DrawLogoScreen(); break; + case TITLE: DrawTitleScreen(); break; + case GAMEPLAY: DrawGameplayScreen(); break; + case ENDING: DrawEndingScreen(); break; + default: break; + } + + if (onTransition) DrawTransition(); + + DrawFPS(20, GetScreenHeight() - 30); + + DrawRectangle(GetScreenWidth() - 200, GetScreenHeight() - 50, 200, 40, Fade(WHITE, 0.6f)); + DrawText("ALPHA VERSION", GetScreenWidth() - 180, GetScreenHeight() - 40, 20, DARKGRAY); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} \ No newline at end of file diff --git a/games/koala_seasons/resources/audio/dash.ogg b/games/koala_seasons/resources/audio/dash.ogg new file mode 100644 index 000000000..ef1089bc4 Binary files /dev/null and b/games/koala_seasons/resources/audio/dash.ogg differ diff --git a/games/koala_seasons/resources/audio/dingo_die.ogg b/games/koala_seasons/resources/audio/dingo_die.ogg new file mode 100644 index 000000000..230bfca9c Binary files /dev/null and b/games/koala_seasons/resources/audio/dingo_die.ogg differ diff --git a/games/koala_seasons/resources/audio/eat_leaves.ogg b/games/koala_seasons/resources/audio/eat_leaves.ogg new file mode 100644 index 000000000..acdc71f27 Binary files /dev/null and b/games/koala_seasons/resources/audio/eat_leaves.ogg differ diff --git a/games/koala_seasons/resources/audio/jngl.xm b/games/koala_seasons/resources/audio/jngl.xm new file mode 100644 index 000000000..9136e7501 Binary files /dev/null and b/games/koala_seasons/resources/audio/jngl.xm differ diff --git a/games/koala_seasons/resources/audio/jump.ogg b/games/koala_seasons/resources/audio/jump.ogg new file mode 100644 index 000000000..a7ccbaccc Binary files /dev/null and b/games/koala_seasons/resources/audio/jump.ogg differ diff --git a/games/koala_seasons/resources/audio/owl_die.ogg b/games/koala_seasons/resources/audio/owl_die.ogg new file mode 100644 index 000000000..dc9fa3d78 Binary files /dev/null and b/games/koala_seasons/resources/audio/owl_die.ogg differ diff --git a/games/koala_seasons/resources/audio/resin_hit.ogg b/games/koala_seasons/resources/audio/resin_hit.ogg new file mode 100644 index 000000000..6dc1ba5e1 Binary files /dev/null and b/games/koala_seasons/resources/audio/resin_hit.ogg differ diff --git a/games/koala_seasons/resources/audio/snake_die.ogg b/games/koala_seasons/resources/audio/snake_die.ogg new file mode 100644 index 000000000..efadb1fa8 Binary files /dev/null and b/games/koala_seasons/resources/audio/snake_die.ogg differ diff --git a/games/koala_seasons/resources/audio/wind_sound.ogg b/games/koala_seasons/resources/audio/wind_sound.ogg new file mode 100644 index 000000000..16ec4f637 Binary files /dev/null and b/games/koala_seasons/resources/audio/wind_sound.ogg differ diff --git a/games/koala_seasons/resources/graphics/atlas01.png b/games/koala_seasons/resources/graphics/atlas01.png new file mode 100644 index 000000000..5b59446a8 Binary files /dev/null and b/games/koala_seasons/resources/graphics/atlas01.png differ diff --git a/games/koala_seasons/resources/graphics/atlas02.png b/games/koala_seasons/resources/graphics/atlas02.png new file mode 100644 index 000000000..c9c96d2d2 Binary files /dev/null and b/games/koala_seasons/resources/graphics/atlas02.png differ diff --git a/games/koala_seasons/resources/graphics/mainfont.png b/games/koala_seasons/resources/graphics/mainfont.png new file mode 100644 index 000000000..796b79bea Binary files /dev/null and b/games/koala_seasons/resources/graphics/mainfont.png differ diff --git a/games/koala_seasons/resources/shaders/glsl100/base.vs b/games/koala_seasons/resources/shaders/glsl100/base.vs new file mode 100644 index 000000000..b05d3463f --- /dev/null +++ b/games/koala_seasons/resources/shaders/glsl100/base.vs @@ -0,0 +1,25 @@ +#version 100 + +// Input vertex attributes +attribute vec3 vertexPosition; +attribute vec2 vertexTexCoord; +attribute vec4 vertexColor; + +// Input uniform values +uniform mat4 mvpMatrix; + +// Output vertex attributes (to fragment shader) +varying vec2 fragTexCoord; +varying vec4 fragColor; + +// NOTE: Add here your custom variables + +void main() +{ + // Send vertex attributes to fragment shader + fragTexCoord = vertexTexCoord; + fragColor = vertexColor; + + // Calculate final vertex position + gl_Position = mvpMatrix*vec4(vertexPosition, 1.0); +} \ No newline at end of file diff --git a/games/koala_seasons/resources/shaders/glsl100/blend_color.fs b/games/koala_seasons/resources/shaders/glsl100/blend_color.fs new file mode 100644 index 000000000..ae23f941f --- /dev/null +++ b/games/koala_seasons/resources/shaders/glsl100/blend_color.fs @@ -0,0 +1,63 @@ +#version 100 + +precision mediump float; + +// Input vertex attributes (from vertex shader) +varying vec2 fragTexCoord; +varying vec4 fragColor; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// NOTE: Add here your custom variables + +vec3 BlendOverlay(vec3 base, vec3 blend) +{ + float red; + float green; + float blue; + + if (base.r < 0.5) red = 2.0*base.r*blend.r; + else red = 1.0 - 2.0*(1.0 - base.r)*(1.0 - blend.r); + + if (base.g < 0.5) green = 2.0*base.g*blend.g; + else green = 1.0 - 2.0 *(1.0 - base.g)*(1.0 - blend.g); + + if (base.b < 0.5) blue = 2.0*base.b*blend.b; + else blue = 1.0 - 2.0 *(1.0 - base.b)*(1.0 - blend.b); + + return vec3(red, green, blue); +} + +void main() +{ + // Blending Overlay + vec4 base = texture2D(texture0, fragTexCoord); + + // No blending shader -> 64 FPS (1280x720) + //gl_FragColor = base*fragColor; + + // Option01 -> 50 FPS (1280x720), 200 FPS (640x360) + vec3 final = BlendOverlay(base.rgb, fragColor.rgb); + gl_FragColor = vec4(final.rgb, base.a*fragColor.a); + + // Option02 (Doesn't work) -> 63 FPS (1280x720) + //float luminance = (base.r*0.2126) + (base.g*0.7152) + (base.b*0.0722); + //gl_FragColor = vec4(tint*luminance, base.a); + + // Option03 (no branches, precalculated ifs) -> 28 FPS (1280x720) + /* + vec4 blend = fragColor; + //if (base.a == 0.0) discard; // No improvement + vec3 br = clamp(sign(base.rgb - vec3(0.5)), vec3(0.0), vec3(1.0)); + vec3 multiply = 2.0 * base.rgb * blend.rgb; + vec3 screen = vec3(1.0) - 2.0 * (vec3(1.0) - base.rgb)*(vec3(1.0) - blend.rgb); + vec3 overlay = mix(multiply, screen, br); + vec3 finalColor = mix(base.rgb, overlay, blend.a); + gl_FragColor = vec4(finalColor, base.a); + */ + + // Option04 (no branches, using built-in functions) -> 38 FPS (1280x720) + //gl_FragColor = vec4(mix(1 - 2*(1 - base.rgb)*(1 - tint), 2*base.rgb*tint, step(0.5, base.rgb)), base.a); +} diff --git a/games/koala_seasons/resources/shaders/glsl330/base.vs b/games/koala_seasons/resources/shaders/glsl330/base.vs new file mode 100644 index 000000000..395cee1b6 --- /dev/null +++ b/games/koala_seasons/resources/shaders/glsl330/base.vs @@ -0,0 +1,25 @@ +#version 330 + +// Input vertex attributes +in vec3 vertexPosition; +in vec2 vertexTexCoord; +in vec4 vertexColor; + +// Input uniform values +uniform mat4 mvpMatrix; + +// Output vertex attributes (to fragment shader) +out vec2 fragTexCoord; +out vec4 fragColor; + +// NOTE: Add here your custom variables + +void main() +{ + // Send vertex attributes to fragment shader + fragTexCoord = vertexTexCoord; + fragColor = vertexColor; + + // Calculate final vertex position + gl_Position = mvpMatrix*vec4(vertexPosition, 1.0); +} \ No newline at end of file diff --git a/games/koala_seasons/resources/shaders/glsl330/blend_color.fs b/games/koala_seasons/resources/shaders/glsl330/blend_color.fs new file mode 100644 index 000000000..de3fd2bc9 --- /dev/null +++ b/games/koala_seasons/resources/shaders/glsl330/blend_color.fs @@ -0,0 +1,64 @@ +#version 330 + +// Input vertex attributes (from vertex shader) +in vec2 fragTexCoord; +in vec4 fragColor; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// Output fragment color +out vec4 finalColor; + +// NOTE: Add here your custom variables + +vec3 BlendOverlay(vec3 base, vec3 blend) +{ + float red; + float green; + float blue; + + if (base.r < 0.5) red = 2.0*base.r*blend.r; + else red = 1.0 - 2.0*(1.0 - base.r)*(1.0 - blend.r); + + if (base.g < 0.5) green = 2.0*base.g*blend.g; + else green = 1.0 - 2.0 *(1.0 - base.g)*(1.0 - blend.g); + + if (base.b < 0.5) blue = 2.0*base.b*blend.b; + else blue = 1.0 - 2.0 *(1.0 - base.b)*(1.0 - blend.b); + + return vec3(red, green, blue); +} + +void main() +{ + // Blending Overlay + vec4 base = texture2D(texture0, fragTexCoord); + + // No blending shader -> 64 FPS (1280x720) + //gl_FragColor = base*tintColor; + + // Option01 -> 50 FPS (1280x720), 200 FPS (640x360) + vec3 final = BlendOverlay(base.rgb, fragColor.rgb); + finalColor = vec4(final.rgb, base.a*fragColor.a); + + // Option02 (Doesn't work) -> 63 FPS (1280x720) + //float luminance = (base.r*0.2126) + (base.g*0.7152) + (base.b*0.0722); + //gl_FragColor = vec4(tintColor.rgb*luminance, base.a); + + // Option03 (no branches, precalculated ifs) -> 28 FPS (1280x720) + /* + vec4 blend = tintColor; + //if (base.a == 0.0) discard; // No improvement + vec3 br = clamp(sign(base.rgb - vec3(0.5)), vec3(0.0), vec3(1.0)); + vec3 multiply = 2.0 * base.rgb * blend.rgb; + vec3 screen = vec3(1.0) - 2.0 * (vec3(1.0) - base.rgb)*(vec3(1.0) - blend.rgb); + vec3 overlay = mix(multiply, screen, br); + vec3 finalColor = mix(base.rgb, overlay, blend.a); + gl_FragColor = vec4(finalColor, base.a); + */ + + // Option04 (no branches, using built-in functions) -> 38 FPS (1280x720) + //gl_FragColor = vec4(mix(1 - 2*(1 - base.rgb)*(1 - tintColor.rgb), 2*base.rgb*tintColor.rgb, step(0.5, base.rgb)), base.a); +} diff --git a/games/koala_seasons/screens/atlas01.h b/games/koala_seasons/screens/atlas01.h new file mode 100644 index 000000000..0c963d4c3 --- /dev/null +++ b/games/koala_seasons/screens/atlas01.h @@ -0,0 +1,86 @@ +#define ending_button_replay (Rectangle){ 974, 1403, 123, 123 } +#define ending_button_share (Rectangle){ 954, 1528, 123, 123 } +#define ending_button_shop (Rectangle){ 958, 1653, 123, 123 } +#define ending_button_trophy (Rectangle){ 1479, 386, 123, 123 } +#define ending_goals_board (Rectangle){ 2, 254, 761, 422 } +#define ending_goals_check_plate (Rectangle){ 316, 2006, 36, 34 } +#define ending_goals_check_v (Rectangle){ 1727, 239, 50, 42 } +#define ending_goals_check_x (Rectangle){ 354, 1885, 42, 51 } +#define ending_goals_icon_death (Rectangle){ 1382, 516, 60, 60 } +#define ending_goals_icon_leaves (Rectangle){ 1444, 516, 60, 60 } +#define ending_goals_icon_special (Rectangle){ 1506, 511, 60, 60 } +#define ending_goals_icon_time (Rectangle){ 1568, 511, 60, 60 } +#define ending_paint_back (Rectangle){ 765, 254, 258, 305 } +#define ending_paint_frame (Rectangle){ 103, 1028, 334, 393 } +#define ending_paint_koalabee (Rectangle){ 439, 1060, 219, 216 } +#define ending_paint_koaladingo (Rectangle){ 439, 1278, 219, 216 } +#define ending_paint_koalaeagle (Rectangle){ 405, 1496, 219, 216 } +#define ending_paint_koalafire (Rectangle){ 771, 643, 219, 216 } +#define ending_paint_koalageneric (Rectangle){ 516, 678, 253, 250 } +#define ending_paint_koalaowl (Rectangle){ 661, 1790, 100, 81 } +#define ending_paint_koalasnake (Rectangle){ 774, 861, 219, 216 } +#define ending_plate_frame (Rectangle){ 2, 2, 1052, 250 } +#define ending_plate_headbee (Rectangle){ 1318, 516, 62, 60 } +#define ending_plate_headdingo (Rectangle){ 1481, 182, 56, 70 } +#define ending_plate_headeagle (Rectangle){ 1974, 116, 39, 48 } +#define ending_plate_headowl (Rectangle){ 226, 1885, 68, 52 } +#define ending_plate_headsnake (Rectangle){ 65, 1968, 46, 67 } +#define ending_score_enemyicon (Rectangle){ 661, 1697, 113, 91 } +#define ending_score_frame (Rectangle){ 419, 1714, 119, 123 } +#define ending_score_frameback (Rectangle){ 540, 1714, 119, 123 } +#define ending_score_leavesicon (Rectangle){ 1387, 254, 135, 130 } +#define ending_score_planklarge (Rectangle){ 1056, 132, 525, 48 } +#define ending_score_planksmall (Rectangle){ 1583, 116, 389, 48 } +#define ending_score_seasonicon (Rectangle){ 925, 1265, 135, 136 } +#define ending_score_seasonneedle (Rectangle){ 2032, 2, 12, 45 } +#define gameplay_countdown_1 (Rectangle){ 660, 1302, 110, 216 } +#define gameplay_countdown_2 (Rectangle){ 2, 1750, 110, 216 } +#define gameplay_countdown_3 (Rectangle){ 114, 1728, 110, 216 } +#define gameplay_enemy_bee (Rectangle){ 1025, 486, 250, 60 } +#define gameplay_enemy_dingo (Rectangle){ 755, 1079, 240, 150 } +#define gameplay_enemy_eagle (Rectangle){ 1570, 2, 460, 80 } +#define gameplay_enemy_eagle_death (Rectangle){ 1327, 386, 150, 128 } +#define gameplay_enemy_owl (Rectangle){ 765, 561, 240, 80 } +#define gameplay_enemy_snake (Rectangle){ 1025, 254, 360, 128 } +#define gameplay_fx_eaglealert (Rectangle){ 660, 1060, 93, 240 } +#define gameplay_fx_lightraymid (Rectangle){ 2, 1028, 54, 710 } +#define gameplay_gui_leafcounter_base (Rectangle){ 626, 1520, 178, 175 } +#define gameplay_gui_leafcounter_cell (Rectangle){ 972, 1231, 32, 32 } +#define gameplay_gui_leafcounter_glow (Rectangle){ 806, 1519, 146, 146 } +#define gameplay_gui_leafcounter_pulsel (Rectangle){ 226, 1728, 157, 155 } +#define gameplay_gui_seasonsclock_base (Rectangle){ 772, 1265, 151, 150 } +#define gameplay_gui_seasonsclock_disc (Rectangle){ 103, 1423, 300, 303 } +#define gameplay_koala_dash (Rectangle){ 1079, 1528, 100, 100 } +#define gameplay_koala_die (Rectangle){ 1083, 1630, 100, 100 } +#define gameplay_koala_fly (Rectangle){ 114, 1946, 200, 100 } +#define gameplay_koala_idle (Rectangle){ 1025, 384, 300, 100 } +#define gameplay_koala_jump (Rectangle){ 1083, 1732, 100, 100 } +#define gameplay_koala_menu (Rectangle){ 806, 1667, 150, 100 } +#define gameplay_koala_transform (Rectangle){ 772, 1417, 200, 100 } +#define gameplay_props_burnttree (Rectangle){ 58, 1028, 43, 720 } +#define gameplay_props_fire_spritesheet (Rectangle){ 516, 930, 256, 128 } +#define gameplay_props_ice_sprite (Rectangle){ 385, 1728, 32, 128 } +#define gameplay_props_leaf_big (Rectangle){ 1857, 166, 64, 64 } +#define gameplay_props_leaf_lil (Rectangle){ 1923, 166, 64, 64 } +#define gameplay_props_leaf_mid (Rectangle){ 316, 1940, 64, 64 } +#define gameplay_props_resin_sprite (Rectangle){ 405, 1423, 32, 64 } +#define gameplay_props_whirlwind_spritesheet (Rectangle){ 1056, 2, 512, 128 } +#define particle_dandelion (Rectangle){ 354, 2006, 32, 32 } +#define particle_ecualyptusflower (Rectangle){ 1989, 166, 32, 32 } +#define particle_ecualyptusleaf (Rectangle){ 1989, 200, 32, 32 } +#define particle_hit (Rectangle){ 296, 1885, 56, 53 } +#define particle_icecrystal (Rectangle){ 419, 1839, 32, 32 } +#define particle_planetreeleaf (Rectangle){ 453, 1839, 32, 32 } +#define particle_waterdrop (Rectangle){ 487, 1839, 32, 32 } +#define title_facebook (Rectangle){ 1539, 182, 92, 92 } +#define title_googleplay (Rectangle){ 1524, 276, 92, 92 } +#define title_music_off (Rectangle){ 1790, 166, 65, 66 } +#define title_music_on (Rectangle){ 1277, 486, 39, 66 } +#define title_speaker_off (Rectangle){ 2, 1968, 61, 71 } +#define title_speaker_on (Rectangle){ 1727, 166, 61, 71 } +#define title_textsnow01 (Rectangle){ 1570, 84, 439, 30 } +#define title_textsnow02 (Rectangle){ 1056, 182, 423, 48 } +#define title_textsnow03 (Rectangle){ 755, 1231, 215, 32 } +#define title_textsnow04 (Rectangle){ 1056, 232, 414, 20 } +#define title_titletext (Rectangle){ 2, 678, 512, 348 } +#define title_twitter (Rectangle){ 1633, 166, 92, 92 } diff --git a/games/koala_seasons/screens/atlas02.h b/games/koala_seasons/screens/atlas02.h new file mode 100644 index 000000000..dfae117a4 --- /dev/null +++ b/games/koala_seasons/screens/atlas02.h @@ -0,0 +1,40 @@ +#define background_fog02 (Rectangle){ 644, 2, 500, 311 } +#define background_transformation (Rectangle){ 2, 364, 500, 400 } +#define ending_background (Rectangle){ 2, 766, 256, 256 } +#define gameplay_back_fx_lightraymid (Rectangle){ 260, 766, 14, 216 } +#define gameplay_back_ground00 (Rectangle){ 1146, 2, 640, 77 } +#define gameplay_back_ground01 (Rectangle){ 1146, 81, 640, 77 } +#define gameplay_back_ground02 (Rectangle){ 1146, 160, 640, 77 } +#define gameplay_back_ground03 (Rectangle){ 1146, 239, 640, 77 } +#define gameplay_back_tree01_layer01 (Rectangle){ 1833, 353, 28, 335 } +#define gameplay_back_tree01_layer02 (Rectangle){ 1998, 338, 28, 335 } +#define gameplay_back_tree01_layer03 (Rectangle){ 660, 315, 28, 335 } +#define gameplay_back_tree02_layer01 (Rectangle){ 690, 315, 26, 332 } +#define gameplay_back_tree02_layer02 (Rectangle){ 718, 315, 26, 332 } +#define gameplay_back_tree02_layer03 (Rectangle){ 746, 315, 26, 332 } +#define gameplay_back_tree03_layer01 (Rectangle){ 2028, 338, 15, 329 } +#define gameplay_back_tree03_layer02 (Rectangle){ 774, 315, 15, 329 } +#define gameplay_back_tree03_layer03 (Rectangle){ 791, 315, 15, 329 } +#define gameplay_back_tree04_layer01 (Rectangle){ 1860, 2, 38, 334 } +#define gameplay_back_tree04_layer02 (Rectangle){ 1900, 2, 38, 334 } +#define gameplay_back_tree04_layer03 (Rectangle){ 1940, 2, 38, 334 } +#define gameplay_back_tree05_layer01 (Rectangle){ 504, 364, 32, 349 } +#define gameplay_back_tree05_layer02 (Rectangle){ 538, 364, 32, 349 } +#define gameplay_back_tree05_layer03 (Rectangle){ 572, 364, 32, 349 } +#define gameplay_back_tree06_layer01 (Rectangle){ 1980, 2, 31, 334 } +#define gameplay_back_tree06_layer02 (Rectangle){ 2013, 2, 31, 334 } +#define gameplay_back_tree06_layer03 (Rectangle){ 1863, 338, 31, 334 } +#define gameplay_back_tree07_layer01 (Rectangle){ 606, 364, 25, 349 } +#define gameplay_back_tree07_layer02 (Rectangle){ 633, 364, 25, 349 } +#define gameplay_back_tree07_layer03 (Rectangle){ 1833, 2, 25, 349 } +#define gameplay_back_tree08_layer01 (Rectangle){ 1896, 338, 32, 331 } +#define gameplay_back_tree08_layer02 (Rectangle){ 1930, 338, 32, 331 } +#define gameplay_back_tree08_layer03 (Rectangle){ 1964, 338, 32, 331 } +#define gameplay_background (Rectangle){ 2, 2, 640, 360 } +#define gameplay_props_owl_branch (Rectangle){ 808, 349, 36, 24 } +#define gameplay_props_tree (Rectangle){ 1788, 2, 43, 720 } +#define particle_dandelion_bw (Rectangle){ 504, 715, 32, 32 } +#define particle_ecualyptusflower_bw (Rectangle){ 808, 315, 32, 32 } +#define particle_icecrystal_bw (Rectangle){ 276, 766, 32, 32 } +#define particle_planetreeleaf_bw (Rectangle){ 538, 715, 32, 32 } +#define particle_waterdrop_bw (Rectangle){ 842, 315, 32, 32 } diff --git a/games/koala_seasons/screens/screen_ending.c b/games/koala_seasons/screens/screen_ending.c new file mode 100644 index 000000000..b345a3b20 --- /dev/null +++ b/games/koala_seasons/screens/screen_ending.c @@ -0,0 +1,530 @@ +/********************************************************************************************** +* +* raylib - Koala Seasons game +* +* Ending Screen Functions Definitions (Init, Update, Draw, Unload) +* +* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +#include "raylib.h" +#include "screens.h" + +#include + +#include "atlas01.h" +#include "atlas02.h" + +typedef enum { DELAY, SEASONS, LEAVES, KILLS, REPLAY } EndingCounter; + +typedef struct { + Vector2 position; + Vector2 speed; + float rotation; + float size; + Color color; + float alpha; + bool active; +} Particle; + +//---------------------------------------------------------------------------------- +// Global Variables Definition (local to this module) +//---------------------------------------------------------------------------------- + +// Ending screen global variables +static EndingCounter endingCounter; + +static int framesCounter; +static int finishScreen; +static int framesKillsCounter; + +static Rectangle playButton; +static Rectangle shopButton; +static Rectangle trophyButton; +static Rectangle shareButton; + +static Color buttonPlayColor; +static Color buttonShopColor; +static Color buttonTrophyColor; +static Color buttonShareColor; +static Color backgroundColor; + +static int currentScore; +static int seasonsCounter; +static int currentLeavesEnding; +static int finalYears; +static int replayTimer; +static int yearsElapsed; +static int initRotation; + +static float clockRotation; +static float finalRotation; + +static bool replaying; +static bool active[MAX_KILLS]; + +static char initMonthText[32]; +static char finalMonthText[32]; + +static Particle leafParticles[20]; + +static int drawTimer; + +// Death texts +const char textOwl01[32] = "Turned into a pretty"; +const char textOwl02[32] = "owl pellet"; +const char textDingo01[32] = "A dingo took your life"; +const char textFire01[32] = "Kissed by fire"; +const char textSnake01[32] = "Digested alive by a"; +const char textSnake02[32] = "big snake"; +const char textNaturalDeath01[32] = "LIFE KILLED YOU"; +const char textBee01[32] = "You turn out to be"; +const char textBee02[32] = "allergic to bee sting"; +const char textEagle[32] = "KOALA IS DEAD :("; + +static float LinearEaseIn(float t, float b, float c, float d) { return c*t/d + b; } + +//---------------------------------------------------------------------------------- +// Ending Screen Functions Definition +//---------------------------------------------------------------------------------- + +// Ending Screen Initialization logic +void InitEndingScreen(void) +{ + framesCounter = -10; + finishScreen = 0; + drawTimer = 15; + replayTimer = 0; + replaying = false; + finalYears = initYears + (seasons/4); + yearsElapsed = seasons/4; + + playButton = (Rectangle){ GetScreenWidth()*0.871, GetScreenHeight()*0.096, 123, 123}; + shopButton = (Rectangle){ GetScreenWidth()*0.871, GetScreenHeight()*0.303, 123, 123}; + trophyButton = (Rectangle){ GetScreenWidth()*0.871, GetScreenHeight()*0.513, 123, 123}; + shareButton = (Rectangle){ GetScreenWidth()*0.871, GetScreenHeight()*0.719, 123, 123}; + + buttonPlayColor = WHITE; + buttonShopColor = WHITE; + buttonTrophyColor = WHITE; + buttonShareColor = WHITE; + + currentScore = 0; + seasonsCounter = 0; + currentLeavesEnding = 0; + + endingCounter = DELAY; + + backgroundColor = (Color){ 176, 167, 151, 255}; + + for (int j = 0; j < 20; j++) + { + leafParticles[j].active = false; + leafParticles[j].position = (Vector2){ GetRandomValue(-20, 20), GetRandomValue(-20, 20) }; + leafParticles[j].speed = (Vector2){ (float)GetRandomValue(-500, 500)/100, (float)GetRandomValue(-500, 500)/100 }; + leafParticles[j].size = (float)GetRandomValue(3, 10)/5; + leafParticles[j].rotation = GetRandomValue(0, 360); + leafParticles[j].color = WHITE; + leafParticles[j].alpha = 1; + } + + // Seasons death texts + if (initSeason == 0) + { + sprintf(initMonthText, "SUMMER"); + clockRotation = 225; + initRotation = 225; + } + else if (initSeason == 1) + { + sprintf(initMonthText, "AUTUMN"); + clockRotation = 135; + initRotation = 135; + } + else if (initSeason == 2) + { + sprintf(initMonthText, "WINTER"); + clockRotation = 45; + initRotation = 45; + } + else if (initSeason == 3) + { + sprintf(initMonthText, "SPRING"); + clockRotation = 315; + initRotation = 315; + } + + if (currentSeason == 0) + { + sprintf(finalMonthText, "SUMMER"); + finalRotation = 225 + 360*yearsElapsed; + } + else if (currentSeason == 1) + { + sprintf(finalMonthText, "AUTUMN"); + finalRotation = 135 + 360*yearsElapsed; + } + else if (currentSeason == 2) + { + sprintf(finalMonthText, "WINTER"); + finalRotation = 45 + 360*yearsElapsed; + } + else if (currentSeason == 3) + { + sprintf(finalMonthText, "SPRING"); + finalRotation = 315 + 360*yearsElapsed; + } + + for (int i = 0; i < MAX_KILLS; i++) active[i] = false; +} + +// Ending Screen Update logic +void UpdateEndingScreen(void) +{ + framesCounter += 1*TIME_FACTOR; + + switch (endingCounter) + { + case DELAY: + { + if(framesCounter >= 10) + { + endingCounter = SEASONS; + framesCounter = 0; + } + + } break; + case SEASONS: + { + if (seasons > 0) + { + seasonsCounter = (int)LinearEaseIn((float)framesCounter, 0.0f, (float)(seasons), 90.0f); + clockRotation = LinearEaseIn((float)framesCounter, (float)initRotation, (float)-(finalRotation - initRotation), 90.0f); + + if (framesCounter >= 90) + { + endingCounter = LEAVES; + framesCounter = 0; + } + } + else endingCounter = LEAVES; + +#if (defined(PLATFORM_ANDROID) || defined(PLATFORM_WEB)) + if (IsGestureDetected(GESTURE_TAP)) + { + seasonsCounter = seasons; + clockRotation = finalRotation; + framesCounter = 0; + endingCounter = LEAVES; + } +#elif (defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)) + if (IsKeyPressed(KEY_ENTER)) + { + seasonsCounter = seasons; + clockRotation = finalRotation; + framesCounter = 0; + endingCounter = LEAVES; + } +#endif + } break; + case LEAVES: + { + if (currentLeaves > 0) + { + if (currentLeavesEnding == currentLeaves) + { + endingCounter = KILLS; + framesCounter = 0; + } + else if (currentLeavesEnding < currentLeaves) + { + if (framesCounter >= 4) + { + currentLeavesEnding += 1; + framesCounter = 0; + } + + for (int i = 0; i < 20; i++) + { + if (!leafParticles[i].active) + { + leafParticles[i].position = (Vector2){ GetScreenWidth()*0.46, GetScreenHeight()*0.32}; + leafParticles[i].alpha = 1.0f; + leafParticles[i].active = true; + } + } + } + } + else endingCounter = KILLS; + +#if (defined(PLATFORM_ANDROID) || defined(PLATFORM_WEB)) + if (IsGestureDetected(GESTURE_TAP)) + { + currentLeavesEnding = currentLeaves; + framesCounter = 0; + endingCounter = KILLS; + } +#elif (defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)) + if (IsKeyPressed(KEY_ENTER)) + { + currentLeavesEnding = currentLeaves; + framesCounter = 0; + endingCounter = KILLS; + } +#endif + } break; + case KILLS: + { + if (score > 0) + { + if (framesCounter <= 90 && !replaying) + { + currentScore = (int)LinearEaseIn((float)framesCounter, 0.0f, (float)(score), 90.0f); + } + + framesKillsCounter += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_KILLS; i++) + { + if (framesKillsCounter >= drawTimer && active[i] == false) + { + active[i] = true; + framesKillsCounter = 0; + } + } + + if (framesCounter >= 90) + { + endingCounter = REPLAY; + framesCounter = 0; + } + } + else endingCounter = REPLAY; + +#if (defined(PLATFORM_ANDROID) || defined(PLATFORM_WEB)) + if (IsGestureDetected(GESTURE_TAP)) + { + currentScore = score; + framesCounter = 0; + for (int i = 0; i < MAX_KILLS; i++) active[i] = true; + endingCounter = REPLAY; + } +#elif (defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)) + if (IsKeyPressed(KEY_ENTER)) + { + currentScore = score; + framesCounter = 0; + for (int i = 0; i < MAX_KILLS; i++) active[i] = true; + endingCounter = REPLAY; + } +#endif + } break; + case REPLAY: + { +#if (defined(PLATFORM_ANDROID) || defined(PLATFORM_WEB)) + if (IsGestureDetected(GESTURE_TAP)) replaying = true; +#elif (defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)) + if (IsKeyPressed(KEY_ENTER)) replaying = true; +#endif + if (replaying) + { + replayTimer += 1*TIME_FACTOR; + + if (replayTimer >= 30) + { + finishScreen = 1; + initSeason = GetRandomValue(0, 3); + } + + buttonPlayColor = GOLD; + } + } break; + } + + for (int i = 0; i < 20; i++) + { + if (leafParticles[i].active == true) + { + leafParticles[i].position.x += leafParticles[i].speed.x; + leafParticles[i].position.y += leafParticles[i].speed.y; + leafParticles[i].rotation += 6; + leafParticles[i].alpha -= 0.03f; + leafParticles[i].size -= 0.004; + + if (leafParticles[i].size <= 0) leafParticles[i].size = 0.0f; + + if (leafParticles[i].alpha <= 0) + { + leafParticles[i].alpha = 0.0f; + leafParticles[i].active = false; + } + } + } + + // Buttons logic +#if (defined(PLATFORM_ANDROID) || defined(PLATFORM_WEB)) + if ((IsGestureDetected(GESTURE_TAP)) && CheckCollisionPointRec(GetTouchPosition(0), playButton)) + { + endingCounter = REPLAY; + replaying = true; + } + +#elif (defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)) + if (CheckCollisionPointRec(GetMousePosition(), playButton)) + { + buttonPlayColor = GOLD; + if (IsMouseButtonPressed(0)) + { + endingCounter = REPLAY; + replaying = true; + } + } + else buttonPlayColor = WHITE; + + if (CheckCollisionPointRec(GetMousePosition(), shopButton)) buttonShopColor = GOLD; + else buttonShopColor = WHITE; + + if (CheckCollisionPointRec(GetMousePosition(), trophyButton)) buttonTrophyColor = GOLD; + else buttonTrophyColor = WHITE; + + if (CheckCollisionPointRec(GetMousePosition(), shareButton)) buttonShareColor = GOLD; + else buttonShareColor = WHITE; +#endif +} + +// Ending Screen Draw logic +void DrawEndingScreen(void) +{ + for (int x = 0; x < 15; x++) + { + DrawTextureRec(atlas02, ending_background, (Vector2){ending_background.width*(x%5), ending_background.height*(x/5)}, backgroundColor); + } + + // Frames and backgrounds + DrawTexturePro(atlas01, ending_plate_frame, (Rectangle){GetScreenWidth()*0.042, GetScreenHeight()*0.606, ending_plate_frame.width, ending_plate_frame.height}, (Vector2){ 0, 0}, 0, WHITE); + DrawTexturePro(atlas01, ending_paint_back, (Rectangle){GetScreenWidth()*0.133, GetScreenHeight()*0.097, ending_paint_back.width, ending_paint_back.height}, (Vector2){ 0, 0}, 0, WHITE); + + if (killer == 0) DrawTexturePro(atlas01, ending_paint_koalafire, (Rectangle){GetScreenWidth()*0.145, GetScreenHeight()*0.171, ending_paint_koalafire.width, ending_paint_koalafire.height}, (Vector2){ 0, 0}, 0, WHITE); + else if (killer == 1) DrawTexturePro(atlas01, ending_paint_koalasnake, (Rectangle){GetScreenWidth()*0.145, GetScreenHeight()*0.171, ending_paint_koalasnake.width, ending_paint_koalasnake.height}, (Vector2){ 0, 0}, 0, WHITE); + else if (killer == 2) DrawTexturePro(atlas01, ending_paint_koaladingo, (Rectangle){GetScreenWidth()*0.145, GetScreenHeight()*0.171, ending_paint_koaladingo.width, ending_paint_koaladingo.height}, (Vector2){ 0, 0}, 0, WHITE); + else if (killer == 3) DrawTexturePro(atlas01, ending_paint_koalaowl, (Rectangle){GetScreenWidth()*0.2, GetScreenHeight()*0.3, ending_paint_koalaowl.width, ending_paint_koalaowl.height}, (Vector2){ 0, 0}, 0, WHITE); + else if (killer == 4) DrawTexturePro(atlas01, ending_paint_koalageneric, (Rectangle){GetScreenWidth()*0.133, GetScreenHeight()*0.171, ending_paint_koalageneric.width, ending_paint_koalageneric.height}, (Vector2){ 0, 0}, 0, WHITE); + else if (killer == 5) DrawTexturePro(atlas01, ending_paint_koalabee, (Rectangle){GetScreenWidth()*0.145, GetScreenHeight()*0.171, ending_paint_koalabee.width, ending_paint_koalabee.height}, (Vector2){ 0, 0}, 0, WHITE); + else if (killer == 6) DrawTexturePro(atlas01, ending_paint_koalaeagle, (Rectangle){GetScreenWidth()*0.145, GetScreenHeight()*0.171, ending_paint_koalaeagle.width, ending_paint_koalaeagle.height}, (Vector2){ 0, 0}, 0, WHITE); + + DrawTexturePro(atlas01, ending_paint_frame, (Rectangle){GetScreenWidth()*0.102, GetScreenHeight()*0.035, ending_paint_frame.width, ending_paint_frame.height}, (Vector2){ 0, 0}, 0, WHITE); + + // UI Score planks + DrawTexturePro(atlas01, ending_score_planksmall, (Rectangle){GetScreenWidth()*0.521, GetScreenHeight()*0.163, ending_score_planksmall.width, ending_score_planksmall.height}, (Vector2){ 0, 0}, 0, WHITE); + DrawTexturePro(atlas01, ending_score_planklarge, (Rectangle){GetScreenWidth()*0.415, GetScreenHeight()*0.303, ending_score_planklarge.width, ending_score_planklarge.height}, (Vector2){ 0, 0}, 0, WHITE); + DrawTexturePro(atlas01, ending_score_planksmall, (Rectangle){GetScreenWidth()*0.521, GetScreenHeight()*0.440, ending_score_planksmall.width, ending_score_planksmall.height}, (Vector2){ 0, 0}, 0, WHITE); + + // UI Score icons and frames + DrawTexturePro(atlas01, ending_score_seasonicon, (Rectangle){GetScreenWidth()*0.529, GetScreenHeight()*0.096, ending_score_seasonicon.width, ending_score_seasonicon.height}, (Vector2){ 0, 0}, 0, WHITE); + DrawTexturePro(atlas01, ending_score_seasonneedle, (Rectangle){GetScreenWidth()*0.579, GetScreenHeight()*0.189, ending_score_seasonneedle.width, ending_score_seasonneedle.height}, (Vector2){ending_score_seasonneedle.width/2, ending_score_seasonneedle.height*0.9}, clockRotation, WHITE); + DrawTexturePro(atlas01, ending_score_frame, (Rectangle){GetScreenWidth()*0.535, GetScreenHeight()*0.11, ending_score_frame.width, ending_score_frame.height}, (Vector2){ 0, 0}, 0, WHITE); + + DrawTexturePro(atlas01, ending_score_frameback, (Rectangle){GetScreenWidth()*0.430, GetScreenHeight()*0.246, ending_score_frameback.width, ending_score_frameback.height}, (Vector2){ 0, 0}, 0, WHITE); + DrawTexturePro(atlas01, ending_score_frame, (Rectangle){GetScreenWidth()*0.429, GetScreenHeight()*0.244, ending_score_frame.width, ending_score_frame.height}, (Vector2){ 0, 0}, 0, WHITE); + + for (int i = 0; i < 20; i++) + { + if (leafParticles[i].active) + { + DrawTexturePro(atlas01, particle_ecualyptusleaf, + (Rectangle){ leafParticles[i].position.x, leafParticles[i].position.y, particle_ecualyptusleaf.width*leafParticles[i].size, particle_ecualyptusleaf.height*leafParticles[i].size }, + (Vector2){ particle_ecualyptusleaf.width/2*leafParticles[i].size, particle_ecualyptusleaf.height/2*leafParticles[i].size }, leafParticles[i].rotation, Fade(WHITE,leafParticles[i].alpha)); + } + } + + DrawTexturePro(atlas01, ending_score_leavesicon, (Rectangle){GetScreenWidth()*0.421, GetScreenHeight()*0.228, ending_score_leavesicon.width, ending_score_leavesicon.height}, (Vector2){ 0, 0}, 0, WHITE); + + DrawTexturePro(atlas01, ending_score_frameback, (Rectangle){GetScreenWidth()*0.536, GetScreenHeight()*0.383, ending_score_frameback.width, ending_score_frameback.height}, (Vector2){ 0, 0}, 0, WHITE); + DrawTexturePro(atlas01, ending_score_frame, (Rectangle){GetScreenWidth()*0.535, GetScreenHeight()*0.383, ending_score_frame.width, ending_score_frame.height}, (Vector2){ 0, 0}, 0, WHITE); + DrawTexturePro(atlas01, ending_score_enemyicon, (Rectangle){GetScreenWidth()*0.538, GetScreenHeight()*0.414, ending_score_enemyicon.width, ending_score_enemyicon.height}, (Vector2){ 0, 0}, 0, WHITE); + + // UI Buttons + DrawTexturePro(atlas01, ending_button_replay, (Rectangle){GetScreenWidth()*0.871, GetScreenHeight()*0.096, ending_button_replay.width, ending_button_replay.height}, (Vector2){ 0, 0}, 0, buttonPlayColor); + DrawTexturePro(atlas01, ending_button_shop, (Rectangle){GetScreenWidth()*0.871, GetScreenHeight()*0.303, ending_button_shop.width, ending_button_shop.height}, (Vector2){ 0, 0}, 0, buttonShopColor); + DrawTexturePro(atlas01, ending_button_trophy, (Rectangle){GetScreenWidth()*0.871, GetScreenHeight()*0.513, ending_button_trophy.width, ending_button_trophy.height}, (Vector2){ 0, 0}, 0, buttonTrophyColor); + DrawTexturePro(atlas01, ending_button_share, (Rectangle){GetScreenWidth()*0.871, GetScreenHeight()*0.719, ending_button_share.width, ending_button_share.height}, (Vector2){ 0, 0}, 0, buttonShareColor); + + DrawTextEx(font, FormatText("%03i", seasonsCounter), (Vector2){ GetScreenWidth()*0.73f, GetScreenHeight()*0.14f }, font.baseSize, 1, WHITE); + DrawTextEx(font, FormatText("%03i", currentLeavesEnding), (Vector2){ GetScreenWidth()*0.73f, GetScreenHeight()*0.29f }, font.baseSize, 1, WHITE); + DrawTextEx(font, FormatText("%04i", currentScore), (Vector2){ GetScreenWidth()*0.715f, GetScreenHeight()*0.426f }, font.baseSize, 1, WHITE); + + DrawTextEx(font, FormatText("%s %i - %s %i", initMonthText, initYears, finalMonthText, finalYears), (Vector2){ GetScreenWidth()*0.1f, GetScreenHeight()*0.7f }, font.baseSize/2.0f, 1, WHITE); + + for (int i = 0; i < MAX_KILLS; i++) + { + if (active[i]) + { + switch (killHistory[i]) + { + case 1: DrawTextureRec(atlas01, ending_plate_headsnake, (Vector2){GetScreenWidth()*0.448 + ending_plate_headsnake.width*(i%10), GetScreenHeight()*0.682 + (GetScreenHeight()*0.055)*(i/10)}, WHITE); break; + case 2: DrawTextureRec(atlas01, ending_plate_headdingo, (Vector2){GetScreenWidth()*0.448 + ending_plate_headdingo.width*(i%10), GetScreenHeight()*0.682 + (GetScreenHeight()*0.055)*(i/10)}, WHITE); break; + case 3: DrawTextureRec(atlas01, ending_plate_headowl, (Vector2){GetScreenWidth()*0.448 + ending_plate_headowl.width*(i%10), GetScreenHeight()*0.682 + (GetScreenHeight()*0.055)*(i/10)}, WHITE); break; + case 4: DrawTextureRec(atlas01, ending_plate_headbee, (Vector2){GetScreenWidth()*0.448 + ending_plate_headbee.width*(i%10), GetScreenHeight()*0.682 + (GetScreenHeight()*0.055)*(i/10)}, WHITE); break; + case 5: DrawTextureRec(atlas01, ending_plate_headeagle, (Vector2){GetScreenWidth()*0.448 + ending_plate_headeagle.width*(i%10), GetScreenHeight()*0.682 + (GetScreenHeight()*0.055)*(i/10)}, WHITE); break; + default: break; + } + } + } + +/* + DrawText(FormatText("KOALA IS DEAD :("), GetScreenWidth()/2 - MeasureText("YOU'RE DEAD ", 60)/2, GetScreenHeight()/3, 60, RED); + DrawText(FormatText("Score: %02i - HiScore: %02i", score, hiscore),GetScreenWidth()/2 - MeasureText("Score: 00 - HiScore: 00", 60)/2, GetScreenHeight()/3 +100, 60, RED); + DrawText(FormatText("You lived: %02i years", years),GetScreenWidth()/2 - MeasureText("You lived: 00", 60)/2 + 60, GetScreenHeight()/3 +200, 30, RED); + DrawText(FormatText("%02s killed you", killer),GetScreenWidth()/2 - MeasureText("killer killed you", 60)/2 + 90, GetScreenHeight()/3 +270, 30, RED); + //DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(BLACK, 0.5)); +*/ + + //DrawTextEx(font, FormatText("%02s", killer), (Vector2){ GetScreenWidth()*0.08, GetScreenHeight()*0.78 }, font.baseSize/2, 1, WHITE); + if (killer == 0) DrawTextEx(font, textFire01, (Vector2){ GetScreenWidth()*0.13f, GetScreenHeight()*0.78f }, font.baseSize/2.0f, 1, WHITE); + else if (killer == 2) DrawTextEx(font, textDingo01, (Vector2){ GetScreenWidth()*0.13f, GetScreenHeight()*0.78f }, font.baseSize/2.0f, 1, WHITE); + else if (killer == 1) + { + DrawTextEx(font, textSnake01, (Vector2){ GetScreenWidth()*0.13f, GetScreenHeight()*0.78f }, font.baseSize/2.0f, 1, WHITE); + DrawTextEx(font, textSnake02, (Vector2){ GetScreenWidth()*0.13f, GetScreenHeight()*0.83f }, font.baseSize/2.0f, 1, WHITE); + } + else if (killer == 3) + { + DrawTextEx(font, textOwl01, (Vector2){ GetScreenWidth()*0.13f, GetScreenHeight()*0.78f }, font.baseSize/2.0f, 1, WHITE); + DrawTextEx(font, textOwl02, (Vector2){ GetScreenWidth()*0.13f, GetScreenHeight()*0.83f }, font.baseSize/2.0f, 1, WHITE); + } + else if (killer == 4) DrawTextEx(font, textNaturalDeath01, (Vector2){ GetScreenWidth()*0.13f, GetScreenHeight()*0.78f }, font.baseSize/2.0f, 1, WHITE); + else if (killer == 5) + { + DrawTextEx(font, textBee01, (Vector2){ GetScreenWidth()*0.13f, GetScreenHeight()*0.78f }, font.baseSize/2.0f, 1, WHITE); + DrawTextEx(font, textBee02, (Vector2){ GetScreenWidth()*0.13f, GetScreenHeight()*0.83f }, font.baseSize/2.0f, 1, WHITE); + } + else if (killer == 6) DrawTextEx(font, textEagle, (Vector2){ GetScreenWidth()*0.13f, GetScreenHeight()*0.78f }, font.baseSize/2.0f, 1, WHITE); +} + +// Ending Screen Unload logic +void UnloadEndingScreen(void) +{ + // ... +} + +// Ending Screen should finish? +int FinishEndingScreen(void) +{ + return finishScreen; +} \ No newline at end of file diff --git a/games/koala_seasons/screens/screen_gameplay.c b/games/koala_seasons/screens/screen_gameplay.c new file mode 100644 index 000000000..6bbcfaafc --- /dev/null +++ b/games/koala_seasons/screens/screen_gameplay.c @@ -0,0 +1,3937 @@ +/********************************************************************************************** +* +* raylib - Koala Seasons game +* +* Gameplay Screen Functions Definitions (Init, Update, Draw, Unload) +* +* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +//---------------------------------------------------------------------------------- +// Defines and Macros +//---------------------------------------------------------------------------------- +#include "raylib.h" +#include "screens.h" + +#include +#include +#include + +#include "atlas01.h" +#include "atlas02.h" + +//#define DEBUG + +// DONE: Review MAX_* limits, don't waste memory!!! +#define MAX_ENEMIES 16 +#define MAX_BAMBOO 16 +#define MAX_LEAVES 14 +#define MAX_FIRE 10 +#define MAX_FIRE_FLAMES 20 +#define MAX_ICE 10 +#define MAX_RESIN 10 +#define MAX_WIND 10 +#define MAX_PARTICLES 128 +#define MAX_PARTICLES_RAY 8 +#define MAX_PARTICLES_SPEED 64 +#define MAX_PARTICLES_STORM 512 + +#define SPEED 3*TIME_FACTOR // Speed of koala, trees, enemies, ... +#define JUMP 15*TIME_FACTOR // Jump speed +#define FLYINGMOV 10*TIME_FACTOR // Up and Down speed when final form +#define GRAVITY 1*TIME_FACTOR // Gravity when grabbed to tree +#define ICEGRAVITY 4*TIME_FACTOR // Gravity when grabbed to an icy tree +#define KICKSPEED 3*TIME_FACTOR // Gravity when kicking +#define SEASONCHANGE 1200 // Frames duration per season +#define SEASONTRANSITION SEASONCHANGE/6 // Season transition time + +//SPAWNCHANCE - Chance of spawning things everytime a tree spawns +#define ICESPAWNCHANCE 30 // Chance of spawning ice everytime a tree spawns +#define RESINSPAWNCHANCE 30 // Chance of spawning resin everytime a tree spawns +#define FIRESPAWNCHANCE 30 // Chance of spawning fire everytime a tree spawns +#define WINDSPAWNCHANCE 30 // Chance of spawning wind everytime a tree spawns + +//ENEMYSPAWNCHANCE - Chance of spawning enemies everytime a tree spawns +#define DINGOSPAWNCHANCE 30 // Chance of spawning dingos everytime a tree spawns +#define OWLSPAWNCHANCE 30 // Chance of spawning owls everytime a tree spawns +#define SNAKESPAWNCHANCE 30 // Chance of spawning snakes everytime a tree spawns +#define BEE_SPAWNCHANCE 10 // Chance of spawning bees everytime a tree spawns +#define EAGLE_SPAWNCHANCE 5 // Chance of spawning eagles everytime a tree spawns + +#define EAGLE_TIME_DELAY 600 + +//SCORE - Score increase everytime an enemy is killed +#define DINGOSCORE 100 // Score increase everytime a dingo is killed +#define OWLSCORE 100 // Score increase everytime an owl is killed +#define SNAKESCORE 100 // Score increase everytime a snake is killed +#define BEESCORE 300 // Score increase everytime a bee is killed +#define EAGLESCORE 300 // Score increase everytime an eagle is killed + +#define LEAVESTOTRANSFORM 100 // Number of leaves recquired for the transformation +#define MAXTIMESPAWN 85 // Maximum time for tree spawn +#define MINTIMESPAWN 35 // Minimum time for tree spawn +#define STARTINGMONTH 0 // Starting month (0 = January (summer)) + +#define PROGRESION_START 3600 // Time to start the progresion +#define PROGRESION_DURATION 12000 // Maximum time +#define PROGRESOIN_MAX_SPAWNCHANCE 30 // Maximum spawn chance increase +#define PROGRESION_MAX_SPEED 0.5 // Maximum speed modification by progresion + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +typedef enum { WINTER, SPRING, SUMMER, FALL, TRANSITION} SeasonState; +typedef enum { JUMPING, KICK, FINALFORM, GRABED, ONWIND } KoalaState; + +typedef struct { + Vector2 position; + Vector2 speed; + float rotation; + float size; + Color color; + float alpha; + float rotPhy; + bool active; +} Particle; + +typedef struct { + Vector2 position; + Vector2 speed; + float rotation; + Vector2 size; + Color color; + float alpha; + bool active; +} ParticleSpeed; + +typedef struct { + Vector2 position; + Color color; + float alpha; + float size; + float rotation; + bool active; // NOTE: Use it to activate/deactive particles + bool fading; + float delayCounter; +} ParticleRay; + +typedef struct { + Vector2 position; + bool active; + int spawnTime; + int maxTime; + Particle particles[MAX_PARTICLES]; +} ParticleSystem; + +// DONE: Rename for coherence: ParticleSystemStorm +typedef struct { + Vector2 position; + bool active; + int spawnTime; + int maxTime; + Particle particles[MAX_PARTICLES_STORM]; +} ParticleSystemStorm; + +typedef struct { + Vector2 position; + bool active; + float alpha; + float scale; + int score; +} PopUpScore; + +typedef struct { + Vector2 position; + bool active; + int spawnTime; + int maxTime; + ParticleSpeed particle[MAX_PARTICLES_SPEED]; +} ParticleSystemSpeed; + +typedef struct { + Vector2 position; + bool active; + int spawnTime; + int maxTime; + ParticleRay particles[MAX_PARTICLES_RAY]; +} ParticleSystemRay; + +//---------------------------------------------------------------------------------- +// Global Variables Definition (local to this module) +//---------------------------------------------------------------------------------- +static float gravity; +static SeasonState season; +static KoalaState state; + +// Gameplay screen global variables +static int framesCounter; +static int finishScreen; +static int grabCounter; +static int velocity; +static int speed; +static int bambooTimer; +static int bambooSpawnTime; +static int colorTimer; +static int jumpSpeed; +static int power; +static int maxPower; +static int transCount; +static int posArray[2]; +static int posArrayDingo[2]; +static int enemyVel[MAX_ENEMIES]; +static int beeVelocity; +static int fireSpeed; +static int windCounter; +static int seasonTimer; +static int seasonChange; +static int resinCountjump; +static int resinCountdrag; +static int resinCount; +static int currentMonth; +static int monthTimer; +static int monthChange; +static int initMonth; +static int fireCounter[MAX_FIRE]; +static int fireOffset; +static int beeMov; +static int killCounter; +static int leafType[MAX_LEAVES]; +static int posArrayLeaf[3]; +static int transAniCounter; +static int globalFrameCounter; +static int startCounter; +static int animCounter; +static int startNum = 3; +static int finalFormEnd; +static int randomMessage; +static int parallaxBackOffset; +static int parallaxFrontOffset; + +// Animation Variables +static int thisFrame = 1; +static int currentFrame = 0; +static int thisFrameWind = 1; +static int currentFrameWind = 0; +static int thisFrameBee = 1; +static int thisFrameSnake = 1; +static int thisFrameDingo = 1; +static int thisFrameOwl = 1; +static int thisFrameEagle = 1; +static int curFrameEagle; +static int curFrameBee = 0; +static int curFrameSnake = 0; +static int curFrameDingo = 0; +static int curFrameOwl = 0; +static int curFrame; +static int curFrame1; +static int curFrame2; +static int curFrame3; +static int transitionFramesCounter; +static int thisFrameKoala; +static int curFrameKoala; +static int fogSpeed; +static int fogPosition; +static int progresionDelay; +static int progresionFramesCounter; +static int initLeaves; +static int eagleDelay; + +// Stage data variables +static int jumpCounter; +static int resinCounter; +static int tornadoCounter; +static int dashCounter; +static int superKoalaCounter; + +// Global data variables +static int snakeKillCounter; +static int dingoKillCounter; +static int owlKillCounter; +static int beeKillCounter; +static int eagleKillCounter; +static int globalKillCounter; +static int deathsCounter; + +static float scrollFront; +static float scrollMiddle; +static float scrollBack; +static float scrollSpeed; +static float rightAlpha = 0.5; +static float leftAlpha = 0.5; +static float speedMod; +static float groundPos; +static float transRotation; +static float clockRotation; +static float clockSpeedRotation; +static float numberAlpha; +static float numberScale; +static float fogAlpha; +static float speedIncrease; +static float speedProgresion; +static float progresionSpawnChance; +static float UIfade; +static float filterAlpha; +static float leafGUIglowFade; +static float leafGUIpulseFade; +static float leafGUIpulseScale; +static float clockInitRotation; +static float clockFinalRotation; + +// Game text strings +const char textFinalForm[32] = "THIS ISN'T EVEN MY FINAL FORM!"; +const char textSpring1[32] = "FLOWER POWER!"; +const char textSummer1[32] = "PREPARE FOR THE SUMMER!"; +const char textFall1[32] = "HERE COMES THE FALL!"; +const char textWinter1[32] = "WINTER IS COMING!"; +const char textSpring2[32] = "POLLEN IS IN THE AIR"; +const char textSummer2[32] = "HAPPY NEW YEAR!"; +const char textFall2[32] = "IT'S RAINING RAIN"; +const char textWinter2[32] = "LET IT SNOW!"; + +static bool snakeActive[MAX_ENEMIES]; +static bool dingoActive[MAX_ENEMIES]; +static bool owlActive[MAX_ENEMIES]; +static bool branchActive[MAX_ENEMIES]; +static bool bambooActive[MAX_BAMBOO]; +static bool leafActive[MAX_LEAVES]; +static bool fireActive[MAX_FIRE]; +static bool iceActive[MAX_ICE]; +static bool windActive[MAX_WIND]; +static bool resinActive[MAX_RESIN]; +static bool isHitSnake[MAX_ENEMIES]; +static bool isHitDingo[MAX_ENEMIES]; +static bool isHitOwl[MAX_ENEMIES]; +static bool isHitBee; +static bool isHitEagle; +static bool onFire[MAX_FIRE]; +static bool onIce; +static bool onResin; +static bool playerActive; +static bool play; +static bool transforming; +static bool onWind; +static bool glowing; +static bool beeActive; +static bool eagleActive; +static bool eagleAlert; +static bool alertActive; +static bool alertBeeActive; +static bool coolDown; +static bool leafSide[MAX_LEAVES]; +static bool transBackAnim; +static bool fog; +static bool leafGUIglow; + +static Rectangle player = {0, 0, 0, 0}; +static Rectangle leftButton = {0, 0, 0, 0}; +static Rectangle rightButton = {0, 0, 0, 0}; +static Rectangle powerButton = {0, 0, 0, 0}; +static Rectangle fire[MAX_FIRE]; +//static Rectangle flames[MAX_FLAMES]; +static Rectangle ice[MAX_ICE]; +static Rectangle resin[MAX_RESIN]; +static Rectangle wind[MAX_WIND]; +static Rectangle bamboo[MAX_BAMBOO]; +static Rectangle snake[MAX_ENEMIES]; +static Rectangle dingo[MAX_ENEMIES]; +static Rectangle owl[MAX_ENEMIES]; +static Rectangle leaf[MAX_LEAVES]; // DONE: Review name! +static Rectangle powerBar; +static Rectangle backBar; +static Rectangle fireAnimation; +static Rectangle windAnimation; +static Rectangle beeAnimation; +static Rectangle snakeAnimation; +static Rectangle dingoAnimation; +static Rectangle owlAnimation; +static Rectangle bee; +static Rectangle eagle; +static Rectangle eagleAnimation; +static Rectangle koalaAnimationIddle; +static Rectangle koalaAnimationJump; +static Rectangle koalaAnimationFly; +static Rectangle koalaAnimationTransform; +static Rectangle alertRectangle; +static Rectangle beeAlertRectangle; + +static time_t rawtime; +static struct tm *ptm; + +static Color finalColor; +static Color finalColor2; +static Color flyColor; +static Color counterColor; +static Color color00, color01, color02, color03; +static Color initcolor00, initcolor01, initcolor02, initcolor03; +static Color finalcolor00, finalcolor01, finalcolor02, finalcolor03; +static Vector2 zero; +static Vector2 firePos; +static Vector2 branchPos[MAX_ENEMIES]; +static Vector2 textSize; +static Vector2 clockPosition; + +static Particle enemyHit[MAX_ENEMIES]; +static ParticleSystem leafParticles[MAX_LEAVES]; // DONE: Review!!! Creating 40 ParticleSystem!!! -> 40*128 = 5120 Particles! Maybe better create a struct Leaf? +static ParticleSystem snowParticle; +static ParticleSystem backSnowParticle; +static ParticleSystem dandelionParticle; +static ParticleSystem dandelionBackParticle; +static ParticleSystem planetreeParticle; +static ParticleSystem backPlanetreeParticle; +static ParticleSystem flowerParticle; +static ParticleSystem backFlowerParticle; +static ParticleSystem rainParticle; +static ParticleSystem backRainParticle; +static ParticleSystemStorm rainStormParticle; +static ParticleSystemStorm snowStormParticle; +static ParticleSystemRay rayParticles; +static ParticleSystemRay backRayParticles; +static ParticleSystemSpeed speedFX; +static PopUpScore popupScore[MAX_ENEMIES]; +static PopUpScore popupLeaves[MAX_LEAVES]; +static PopUpScore popupBee; +static PopUpScore popupEagle; + +//---------------------------------------------------------------------------------- +// Module specific Functions Declaration +//---------------------------------------------------------------------------------- +static void BambooSpawn(void); +static void SnakeSpawn(int chance); +static void DingoSpawn(int chance); +static void OwlSpawn(int chance); +static void BeeSpawn(int chance); +static void EagleSpawn(int chance); +static void FireSpawn(int chance); +static void IceSpawn(int chance); +static void ResinSpawn(int chance); +static void WindSpawn(int chance); +static void LeafSpawn(void); + +static void DrawParallaxFront(void); +static void DrawParallaxMiddle(void); +static void DrawParallaxBack(void); +static float LinearEaseIn(float t, float b, float c, float d); + +static Color ColorTransition(Color initialColor, Color finalColor, int framesCounter); +static bool CheckArrayValue(int *array, int arrayLength, int value); + +static void Reset(void); + +//---------------------------------------------------------------------------------- +// Gameplay Screen Functions Definition +//---------------------------------------------------------------------------------- + +// Gameplay Screen Initialization logic +void InitGameplayScreen(void) +{ + // Get current time at the moment of running game + time(&rawtime); + ptm = gmtime(&rawtime); + + currentMonth = ptm->tm_mon; + initMonth = ptm->tm_mon; + years = 1900 + ptm->tm_year; + + Reset(); +} + +// Gameplay Screen Update logic +void UpdateGameplayScreen(void) +{ + //if ((IsKeyPressed(KEY_SPACE) || IsMouseButtonPressed(0)) && playerActive) play = true; + + if (play == false && playerActive) + { + startCounter+= 1*TIME_FACTOR; + + if (startCounter > 20 && startCounter < 110) + { + animCounter+=1*TIME_FACTOR; + numberAlpha -= 0.033f*TIME_FACTOR; + numberScale -= 0.0825f*TIME_FACTOR; + + if (animCounter <= 30) startNum = 3; + else if (animCounter > 30 && animCounter <= 60) startNum = 2; + else startNum = 1; + } + else if (startCounter >= 110) play = true; + + if (numberAlpha <= 0) numberAlpha = 1; + if (numberScale <= 0) numberScale = 2.5f; + + textSize = MeasureTextEx(font, FormatText("%01i", startNum), font.baseSize*numberScale, 2); + } + + if (playerActive) finishScreen = 0; + + if (play && playerActive) + { + seasonTimer += speedMod*TIME_FACTOR; + monthTimer += speedMod*TIME_FACTOR; + eagleDelay += speedMod*TIME_FACTOR; + + globalFrameCounter++; + + if (monthTimer >= monthChange) + { + if (currentMonth == 10) + { + clockInitRotation = 225; + clockFinalRotation = clockInitRotation + 90; + rainChance = GetRandomValue(0, 100); + clockSpeedRotation = 0; + seasons++; + } + else if (currentMonth == 1) + { + clockInitRotation = 315; + clockFinalRotation = clockInitRotation + 90; + rainChance = GetRandomValue(0, 100); + clockSpeedRotation = 0; + seasons++; + } + else if (currentMonth == 4) + { + clockInitRotation = 45; + clockFinalRotation = clockInitRotation + 90; + rainChance = GetRandomValue(0, 100); + clockSpeedRotation = 0; + seasons++; + } + else if (currentMonth == 7) + { + clockInitRotation = 135; + clockFinalRotation = clockInitRotation + 90; + rainChance = GetRandomValue(0, 100); + clockSpeedRotation = 0; + seasons++; + } + + currentMonth++; + monthTimer = 0; + + //EagleSpawn(); + } + + if (currentMonth > 11) + { + currentMonth = 0; + years++; + } + + if ((currentMonth == 11) || (currentMonth == 0) || ((currentMonth == 1) && (monthTimer <= SEASONTRANSITION))) + { + dandelionParticle.active = true; + dandelionBackParticle.active = true; + rayParticles.active = true; + backRayParticles.active = true; + + transitionFramesCounter = 0; + randomMessage = GetRandomValue(0, 10); + + fog = false; + + initcolor00 = color00; // Summer Color + initcolor01 = color01; + initcolor02 = color02; + initcolor03 = color03; + finalcolor00 = (Color){242, 113, 62, 255}; // Fall Autum + finalcolor01 = (Color){190, 135, 114, 255}; + finalcolor02 = (Color){144, 130, 101, 255}; + finalcolor03 = (Color){214, 133, 58, 255}; + season = SUMMER; + currentSeason = 0; + } + else if ((currentMonth == 2) || (currentMonth == 3) || ((currentMonth == 4) && (monthTimer <= SEASONTRANSITION))) + { + if ((rainChance <= 40) && (rainChance > 24)) + { + //rainParticle.active = true; + rainStormParticle.active = true; + backRainParticle.active = false; + fog = true; + } + else if (rainChance <= 24) + { + //rainParticle.active = true; + rainStormParticle.active = true; + backRainParticle.active = false; + fog = true; + } + else + { + planetreeParticle.active = true; + backPlanetreeParticle.active = true; + fog = false; + } + + transitionFramesCounter = 0; + randomMessage = GetRandomValue(0, 10); + + initcolor00 = color00; // Fall Color + initcolor01 = color01; + initcolor02 = color02; + initcolor03 = color03; + finalcolor00 = (Color){130, 130, 181, 255}; // Winter Autum + finalcolor01 = (Color){145, 145, 166, 255}; + finalcolor02 = (Color){104, 142, 144, 255}; + finalcolor03 = (Color){57, 140, 173, 255}; + + season = FALL; + currentSeason = 1; + } + else if ((currentMonth == 5) || (currentMonth == 6) || ((currentMonth == 7) && (monthTimer <= SEASONTRANSITION))) + { + if (rainChance <= 40) + { + //rainParticle.active = true; + snowStormParticle.active = true; + backSnowParticle.active = true; + fog = true; + } + else + { + snowParticle.active = true; + backSnowParticle.active = true; + fog = false; + } + + transitionFramesCounter = 0; + randomMessage = GetRandomValue(0, 10); + + initcolor00 = color00; // Winter Color + initcolor01 = color01; + initcolor02 = color02; + initcolor03 = color03; + finalcolor00 = (Color){196, 176, 49, 255}; // Spring Autum + finalcolor01 = (Color){178, 163, 67, 255}; + finalcolor02 = (Color){133, 143, 90, 255}; + finalcolor03 = (Color){133, 156, 42, 255}; + + season = WINTER; + currentSeason = 2; + } + else if ((currentMonth == 8) || (currentMonth == 9) || ((currentMonth == 10) && (monthTimer <= SEASONTRANSITION))) + { + flowerParticle.active = true; + backFlowerParticle.active = true; + + transitionFramesCounter = 0; + randomMessage = GetRandomValue(0, 9); + + fog = false; + + initcolor00 = color00; // Spring Color + initcolor01 = color01; + initcolor02 = color02; + initcolor03 = color03; + finalcolor00 = (Color){129, 172, 86, 255}; // Summer Autum + finalcolor01 = (Color){145, 165, 125, 255}; + finalcolor02 = (Color){161, 130, 73, 255}; + finalcolor03 = (Color){198, 103, 51, 255}; + + season = SPRING; + currentSeason = 3; + } + else + { + flowerParticle.active = false; + backFlowerParticle.active = false; + snowParticle.active = false; + backSnowParticle.active = false; + planetreeParticle.active = false; + backPlanetreeParticle.active = false; + dandelionParticle.active = false; + dandelionBackParticle.active = false; + rainParticle.active = false; + rainStormParticle.active = false; + backRainParticle.active = false; + rayParticles.active = false; + backRayParticles.active = false; + snowStormParticle.active = false; + + fog = false; + + transitionFramesCounter += speedMod*TIME_FACTOR; + + if(transitionFramesCounter <= SEASONTRANSITION) + { + color00 = ColorTransition(initcolor00, finalcolor00, transitionFramesCounter); + color01 = ColorTransition(initcolor01, finalcolor01, transitionFramesCounter); + color02 = ColorTransition(initcolor02, finalcolor02, transitionFramesCounter); + color03 = ColorTransition(initcolor03, finalcolor03, transitionFramesCounter); + } + + season = TRANSITION; + } + + // Update scrolling values + if (!transforming) + { + scrollFront -= scrollSpeed; + scrollMiddle -= (scrollSpeed*0.75f); + scrollBack -= scrollSpeed/2; + + fogPosition -= fogSpeed; + + groundPos -= speed; + clockRotation += clockSpeedRotation; + } + + player.y += gravity; + bambooTimer += (speedMod*TIME_FACTOR); + speed = SPEED*speedMod; + + if (player.x >= GetScreenWidth()*0.6 && state != FINALFORM) + { + speedIncrease = (player.x - GetScreenWidth()*0.6f)/GetScreenWidth(); + } + else if (player.x < GetScreenWidth()*0.6 && state != FINALFORM) + { + speedIncrease = 0; + } + + if (state != FINALFORM) speedMod = 1.2 + speedIncrease + speedProgresion; + + progresionDelay++; + + if (progresionDelay >= PROGRESION_START) + { + progresionFramesCounter++; + + if (progresionFramesCounter < PROGRESION_DURATION) + { + speedProgresion = LinearEaseIn((float)progresionFramesCounter, 0.0f, (float)PROGRESION_MAX_SPEED, (float)PROGRESION_DURATION); + progresionSpawnChance = LinearEaseIn((float)progresionFramesCounter, 0.0f, (float)PROGRESOIN_MAX_SPAWNCHANCE, (float)PROGRESION_DURATION); + } + } + + if (scrollFront <= -GetScreenWidth()) scrollFront = 0; + if (scrollMiddle <= -GetScreenWidth()) scrollMiddle = 0; + if (scrollBack <= -GetScreenWidth()) scrollBack = 0; + if (groundPos <= -GetScreenWidth()) groundPos = 0; + if (fogPosition <= -GetScreenWidth()) fogPosition = 0; + + if (fogAlpha > 0 && !fog) fogAlpha -= 0.03f*speedMod; + else if (fog && fogAlpha < 1) fogAlpha += 0.03f*speedMod; + + if (filterAlpha > 0 && !fog) filterAlpha -= 0.02f*speedMod; + else if (fog && filterAlpha < 0.15f) filterAlpha += 0.02f*speedMod; + + //if (state != FINALFORM) clockSpeedRotation = (float)((90/(float)seasonChange)*speedMod)*1.75; + clockSpeedRotation += speedMod*TIME_FACTOR; + + if (clockSpeedRotation <= (SEASONCHANGE)) clockRotation = (float)LinearEaseIn((float)clockSpeedRotation, clockInitRotation, 90.0f, (float)(SEASONCHANGE)); + else clockRotation = clockFinalRotation; + + if (CheckCollisionCircleRec(clockPosition, gameplay_gui_seasonsclock_disc.width, player)) + { + if (UIfade > 0.4f) UIfade -= 0.01f*TIME_FACTOR; + } + else + { + if (UIfade < 1) UIfade += 0.01f*TIME_FACTOR; + } + + //---------------------------------------------------------------------------------- + // Animations + //---------------------------------------------------------------------------------- + + // Wind Animation + thisFrameWind += 1*TIME_FACTOR; + + if (thisFrameWind >= 12) + { + currentFrameWind++; + thisFrameWind = 0; + } + + if (currentFrameWind > 3) currentFrameWind = 0; + + windAnimation.x = gameplay_props_whirlwind_spritesheet.x + windAnimation.width*currentFrameWind; + + // Fire Animation + thisFrame += 1*TIME_FACTOR; + + if (thisFrame >= 8) + { + curFrame++; + curFrame1++; + curFrame2++; + curFrame3++; + + thisFrame = 0; + } + + if (curFrame > 3) curFrame = 0; + if (curFrame1 > 3) curFrame1 = 0; + if (curFrame2 > 3) curFrame2 = 0; + if (curFrame3 > 3) curFrame3 = 0; + + if (!transforming) + { + // Eagle Animation + curFrameEagle += 1*TIME_FACTOR; + + if (curFrameEagle >= 6*TIME_FACTOR) + { + thisFrameEagle ++; + curFrameEagle = 0; + } + + if (thisFrameEagle > 1) thisFrameEagle = 0; + + eagleAnimation.x = gameplay_enemy_eagle.x + eagleAnimation.width*thisFrameEagle; + + // Bee Animation + curFrameBee += 1*TIME_FACTOR; + + if (curFrameBee >= 3*TIME_FACTOR) + { + thisFrameBee ++; + curFrameBee = 0; + } + + if (thisFrameBee > 3) thisFrameBee = 0; + + beeAnimation.x = gameplay_enemy_bee.x + beeAnimation.width*thisFrameBee; + + // Snake Animation + thisFrameSnake += 1*TIME_FACTOR; + + if (thisFrameSnake >= 24*TIME_FACTOR) + { + curFrameSnake ++; + thisFrameSnake = 0; + } + + if (curFrameSnake > 1) curFrameSnake = 0; + + snakeAnimation.x = gameplay_enemy_snake.x + snakeAnimation.width*curFrameSnake; + + // Dingo Animation + curFrameDingo += 1*TIME_FACTOR; + + if (curFrameDingo >= 24*TIME_FACTOR) + { + thisFrameDingo ++; + curFrameDingo = 0; + } + + if (thisFrameDingo > 1) thisFrameDingo = 0; + + dingoAnimation.x = gameplay_enemy_dingo.x + dingoAnimation.width*thisFrameDingo; + + // Owl Animation + curFrameOwl += 1*TIME_FACTOR; + + if (curFrameOwl >= 24*TIME_FACTOR) + { + thisFrameOwl ++; + curFrameOwl = 0; + } + + if (thisFrameOwl > 1) thisFrameOwl = 0; + + owlAnimation.x = gameplay_enemy_owl.x + owlAnimation.width*thisFrameOwl; + + // Alert Animation + if (alertActive) + { + if (eagleAlert) + { + alertRectangle.x -= 100*TIME_FACTOR; + alertRectangle.width += 100*TIME_FACTOR; + alertRectangle.height += 5*TIME_FACTOR; + alertRectangle.y -= 5*TIME_FACTOR; + + if (alertRectangle.height >= 100) eagleAlert = false; + } + else + { + alertRectangle.height -= 1*TIME_FACTOR; + alertRectangle.y += 1*TIME_FACTOR; + + if (alertRectangle.height <= 0) + { + eagleAlert = true; + eagleActive = true; + alertActive = false; + } + } + } + + // Eagle Logic + if (eagleActive == true && !isHitEagle) + { + eagle.x -= 10*speed*TIME_FACTOR; + + if (CheckCollisionRecs(eagle, player) && (state != FINALFORM) && (state != KICK)) + { + velocity = 8; + jumpSpeed = 2; + play = false; + playerActive = false; + killer = 6; + } + else if (CheckCollisionRecs(eagle, player) && (state == FINALFORM) && (state != KICK)) + { + isHitEagle = true; + beeVelocity = 8; + killHistory[killCounter] = 5; + killCounter++; + + score += EAGLESCORE; + eagleKillCounter++; + globalKillCounter++; + + popupEagle.position = (Vector2){ eagle.x, eagle.y }; + popupEagle.scale = 1.0f; + popupEagle.alpha = 1.0f; + popupEagle.score = EAGLESCORE; + popupEagle.active = true; + } + } + else if (isHitEagle) + { + if ((eagle.y + eagle.height) > GetScreenHeight()) + { + eagleActive = false; + isHitEagle = false; + } + + eagle.x += 2*TIME_FACTOR; + beeVelocity -= 1*TIME_FACTOR*TIME_FACTOR; + eagle.y -= beeVelocity*TIME_FACTOR; + } + + if (eagle.x + eagle.width <= 0) eagleActive = false; + + // Bee Alert Animation + if (alertBeeActive) + { + + beeAlertRectangle.x -= 100*TIME_FACTOR; + beeAlertRectangle.width += 100*TIME_FACTOR; + beeAlertRectangle.height += 2.5*TIME_FACTOR; + beeAlertRectangle.y += 1.25*TIME_FACTOR; + + if (beeAlertRectangle.height >= 100) + { + beeActive = true; + alertBeeActive = false; + } + } + + // Bee Logic + if (beeActive == true && !isHitBee) + { + bee.x -= 3*speed; + beeMov = sin(2*PI/400*bee.x) * 5; + bee.y += beeMov*TIME_FACTOR; + + if (CheckCollisionRecs(bee, player) && (state != FINALFORM) && (state != KICK)) + { + velocity = 8; + jumpSpeed = 2; + play = false; + playerActive = false; + killer = 5; + } + else if (CheckCollisionRecs(bee, player) && (state == FINALFORM) && (state != KICK)) + { + isHitBee = true; + beeVelocity = 8; + killHistory[killCounter] = 4; + killCounter++; + + score += BEESCORE; + beeKillCounter++; + globalKillCounter++; + + popupBee.position = (Vector2){ bee.x, bee.y }; + popupBee.scale = 1.0f; + popupBee.alpha = 1.0f; + popupBee.score = BEESCORE; + popupBee.active = true; + } + } + else if (isHitBee) + { + if ((bee.y + bee.height) > GetScreenHeight()) + { + beeActive = false; + isHitBee = false; + } + + bee.x += 2*TIME_FACTOR; + beeVelocity -= 1*TIME_FACTOR*TIME_FACTOR; + bee.y -= beeVelocity*TIME_FACTOR; + } + + if (bee.x + bee.width <= 0) beeActive = false; + } + + // Power bar logic + powerBar.width = power; + + if (power >= maxPower) power = maxPower; + + if (currentLeaves >= LEAVESTOTRANSFORM && !coolDown) + { + flyColor = ORANGE; + + if (leafGUIglow) + { + leafGUIglowFade += 0.01f*TIME_FACTOR; + if (leafGUIglowFade >= 1) leafGUIglow = false; + } + else + { + leafGUIglowFade -= 0.01f*TIME_FACTOR; + if (leafGUIglowFade <= 0) leafGUIglow = true; + } + + leafGUIpulseFade -= 0.01f*TIME_FACTOR; + leafGUIpulseScale += 0.005F*TIME_FACTOR; + + if (leafGUIpulseFade <= 0) + { + leafGUIpulseFade = 1; + leafGUIpulseScale = 1; + } + +#if (defined(PLATFORM_ANDROID) || defined(PLATFORM_WEB)) + if ((IsGestureDetected(GESTURE_TAP) && CheckCollisionPointRec(GetTouchPosition(0), powerButton)) && (state != FINALFORM)) + { + state = FINALFORM; + transforming = true; + //currentLeaves -= LEAVESTOTRANSFORM; + initLeaves = currentLeaves; + curFrameKoala = 0; + thisFrameKoala = 0; + superKoalaCounter++; + } +#elif (defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)) + + if ((IsKeyPressed(KEY_ENTER) || (CheckCollisionPointRec(GetMousePosition(), powerButton) && IsMouseButtonPressed(0))) && (state != FINALFORM)) + { + state = FINALFORM; + transforming = true; + //currentLeaves -= LEAVESTOTRANSFORM; + initLeaves = currentLeaves; + curFrameKoala = 0; + thisFrameKoala = 0; + superKoalaCounter++; + } +#endif + } +#if defined(DEBUG) + if (currentLeaves < LEAVESTOTRANSFORM && (IsKeyPressed(KEY_ENTER))) + { + currentLeaves += LEAVESTOTRANSFORM; + } +#endif + + if (coolDown) + { + power += 20; + + if (power >= maxPower) coolDown = false; + } + + colorTimer += 1*TIME_FACTOR; + + if (colorTimer > 10) + { + finalColor.r = GetRandomValue(0, 255); + finalColor.g = GetRandomValue(0, 255); + finalColor.b = GetRandomValue(0, 255); + colorTimer = 0; + } + + // Ice logic + for (int i = 0; i < MAX_ICE; i++) + { + if (!iceActive[i]) ice[i].x = -100; + + if (ice[i].x <= - ice[i].width) iceActive[i] = false; + + if (CheckCollisionRecs(ice[i], player) && (state == GRABED)) onIce = true; + } + + // Resin logic + for (int i = 0; i < MAX_RESIN; i++) + { + if (!resinActive[i]) resin[i].x = -100; + + if (resin[i].x <= -resin[i].width) resinActive[i] = false; + + if (CheckCollisionRecs(resin[i], player) && resinCount >= 30*TIME_FACTOR && state != FINALFORM) + { + if (!onResin) + { + PlaySound(fxHitResin); + resinCounter++; + } + + onResin = true; + grabCounter = 10; + + //gravity = 0; + state = GRABED; + } + } + + // Wind logic + for (int i = 0; i < MAX_WIND; i++) + { + if (!windActive[i]) wind[i].x = -500; + + else wind[i].x -= 9*speedMod*TIME_FACTOR; + + if (wind[i].x <= - wind[i].width) windActive[i] = false; + + if (CheckCollisionRecs(wind[i], player) && state != ONWIND && (windCounter >= 35) && state != FINALFORM) + { + state = ONWIND; + windCounter = 0; + velocity = JUMP; + grabCounter = 0; + jumpSpeed = 10; + rightAlpha = 1; + onIce = false; + onResin = false; + resinCountjump = 0; + resinCountdrag = 0; + tornadoCounter++; + } + } + + // Fire logic + for (int i = 0; i < MAX_FIRE; i++) + { + //fire[i].x -= speed; + + if (fireActive[i] == false) fire[i].x = -200; + + if (fire[i].x <= (player.x + player.width) && !onFire[i]) + { + onFire[i] = true; + } + + if (onFire[i] && fire[i].y > -50 && !transforming) + { + fireCounter[i]++; + fire[i].y -= fireSpeed*TIME_FACTOR; + fireCounter[i] = 0; + //fire[i].height += fireSpeed; + } + + if (fire[i].x <= -fire[i].width) + { + fireActive[i] = false; + onFire[i] = false; + } + + if (CheckCollisionRecs(player, fire[i])) + { + if (state != FINALFORM) + { + velocity = 8; + jumpSpeed = 2; + play = false; + playerActive = false; + killer = 0; + } + } + + for (int k = 0; k < MAX_ENEMIES; k++) + { + if (CheckCollisionRecs(fire[i], snake[k]) && !isHitSnake[k]) + { + isHitSnake[k] = true; + enemyVel[k] = 8; + } + } + } + + // Bamboo logic + for (int i = 0; i < MAX_BAMBOO; i++) + { + if (bambooActive[i]) + { + bamboo[i].x -= speed; + + if ((CheckCollisionRecs(player, bamboo[i])) && (state != FINALFORM)) + { + if (grabCounter >= 10) + { + player.x = bamboo[i].x - 25; + state = GRABED; + } + } + + if ((CheckCollisionRecs(player, bamboo[i])) && (state == FINALFORM)) + { + if (power <= 1) + { + state = JUMPING; + velocity = JUMP; + jumpSpeed = 6; + scrollSpeed = 1.6f; + speedMod = 1.2f; + coolDown = true; + flyColor = GRAY; + speedFX.active = false; + } + } + + for (int k = 0; k < MAX_ENEMIES; k++) + { + if ((CheckCollisionRecs(snake[k], bamboo[i])) && snakeActive[k] && !isHitSnake[k]) snake[k].x = bamboo[i].x - 15; + if ((CheckCollisionRecs(dingo[k], bamboo[i])) && dingoActive[k] && !isHitDingo[k]) dingo[k].x = bamboo[i].x - 15; + if ((CheckCollisionRecs(owl[k], bamboo[i])) && owlActive[k] && !isHitOwl[k]) owl[k].x = bamboo[i].x - 22; + if ((CheckCollisionRecs((Rectangle){branchPos[k].x, branchPos[k].y, gameplay_props_owl_branch.width, gameplay_props_owl_branch.height}, bamboo[i])) && branchActive[k]) branchPos[k].x = bamboo[i].x -24; + } + + for (int j = 0; j < MAX_LEAVES; j++) + { + if ((CheckCollisionRecs(leaf[j], bamboo[i])) && leafActive[j]) + { + if (leafSide[j])leaf[j].x = bamboo[i].x + 18; + else leaf[j].x = bamboo[i].x - 18; + } + + //else leaf[j].x -= speed; + } + + for (int z = 0; z < MAX_FIRE; z++) + { + if ((CheckCollisionRecs(fire[z], bamboo[i])) && fireActive[z]) fire[z].x = bamboo[i].x - 5; + //else fire[z].x -= speed; + } + + for (int n = 0; n < MAX_ICE; n++) + { + if ((CheckCollisionRecs(ice[n], bamboo[i])) && iceActive[n]) ice[n].x = bamboo[i].x; + } + + for (int m = 0; m < MAX_RESIN; m++) + { + if ((CheckCollisionRecs(resin[m], bamboo[i])) && resinActive[m]) resin[m].x = bamboo[i].x; + } + + if (bamboo[i].x <= -(bamboo[i].width + 30)) + { + bambooActive[i] = false; + } + } + } + + // Enemy logic + for (int k = 0; k < MAX_ENEMIES; k++) + { + //if (snakeActive[k] && !isHitSnake[k])snake[k].x -= speed; + + if (snake[k].x <= -snake[k].width) snakeActive[k] = false; + if (dingo[k].x <= -dingo[k].width) dingoActive[k] = false; + if (owl[k].x <= -owl[k].width) owlActive[k] = false; + if (branchPos[k].x <= -owl[k].width) branchActive[k] = false; + + if (!snakeActive[k]) snake[k].x = -500; + if (!dingoActive[k]) dingo[k].x = -500; + if (!owlActive[k]) owl[k].x = -500; + + if (CheckCollisionRecs(player, snake[k]) && (state != KICK) && !isHitSnake[k]) + { + if (state != FINALFORM) + { + velocity = 8; + jumpSpeed = 2; + enemyVel[k] = 8; + play = false; + playerActive = false; + killer = 1; + } + else if (state == FINALFORM) + { + isHitSnake[k] = true; + enemyVel[k] = 8; + killHistory[killCounter] = 1; + killCounter++; + + snakeKillCounter++; + globalKillCounter++; + score += SNAKESCORE; + + PlaySound(fxDieSnake); + + enemyHit[k].position = (Vector2){ snake[k].x, snake[k].y }; + enemyHit[k].speed = (Vector2){ 0, 0 }; + enemyHit[k].size = (float)GetRandomValue(0, 10)/30; + enemyHit[k].rotation = 0.0f; + //enemyHit[i].color = (Color){ GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255 }; + enemyHit[k].alpha = 1.0f; + enemyHit[k].active = true; + + popupScore[k].position = (Vector2){ snake[k].x,snake[k].y }; + popupScore[k].scale = 1.0f; + popupScore[k].alpha = 1.0f; + popupScore[k].score = SNAKESCORE; + popupScore[k].active = true; + } + } + + if (CheckCollisionRecs(player, dingo[k]) && (state != KICK) && !isHitDingo[k]) + { + if (state != FINALFORM) + { + velocity = 8; + jumpSpeed = 2; + play = false; + enemyVel[k] = 8; + playerActive = false; + killer = 2; + } + else if (state == FINALFORM) + { + isHitDingo[k] = true; + enemyVel[k] = 8; + killHistory[killCounter] = 2; + killCounter++; + + score += DINGOSCORE; + dingoKillCounter++; + globalKillCounter++; + + enemyHit[k].position = (Vector2){ dingo[k].x,dingo[k].y }; + enemyHit[k].speed = (Vector2){ 0, 0 }; + enemyHit[k].size = (float)GetRandomValue(5, 10)/30; + enemyHit[k].rotation = 0.0f; + //enemyHit[i].color = (Color){ GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255 }; + enemyHit[k].alpha = 1.0f; + enemyHit[k].active = true; + + popupScore[k].position = (Vector2){ dingo[k].x,dingo[k].y }; + popupScore[k].scale = 1.0f; + popupScore[k].alpha = 1.0f; + popupScore[k].score = DINGOSCORE; + popupScore[k].active = true; + } + } + + if (CheckCollisionRecs(player, owl[k]) && (state != KICK) && !isHitOwl[k]) + { + if (state != FINALFORM) + { + velocity = 8; + enemyVel[k] = 8; + jumpSpeed = 2; + play = false; + playerActive = false; + killer = 3; + } + else if (state == FINALFORM) + { + isHitOwl[k] = true; + enemyVel[k] = 8; + killHistory[killCounter] = 3; + killCounter++; + + score += OWLSCORE; + owlKillCounter++; + globalKillCounter++; + + enemyHit[k].position = (Vector2){ owl[k].x, owl[k].y }; + enemyHit[k].speed = (Vector2){ owl[k].x, owl[k].y }; + enemyHit[k].size = (float)GetRandomValue(5, 10)/30; + enemyHit[k].rotation = 0.0f; + //enemyHit[i].color = (Color){ GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255 }; + enemyHit[k].alpha = 1.0f; + enemyHit[k].active = true; + + popupScore[k].position = (Vector2){ owl[k].x,owl[k].y }; + popupScore[k].scale = 1.0f; + popupScore[k].alpha = 1.0f; + popupScore[k].score = OWLSCORE; + popupScore[k].active = true; + } + } + + if (isHitSnake[k]) + { + if ((snake[k].y + snake[k].height) > GetScreenHeight()) + { + snakeActive[k] = false; + isHitSnake[k] = false; + } + + snake[k].x += 2*TIME_FACTOR; + enemyVel[k] -= 1*TIME_FACTOR*TIME_FACTOR; + snake[k].y -= enemyVel[k]*TIME_FACTOR; + } + + if (isHitDingo[k]) + { + if ((dingo[k].y) > GetScreenHeight()) + { + dingoActive[k] = false; + isHitDingo[k] = false; + } + + dingo[k].x += 2*TIME_FACTOR; + enemyVel[k] -= 1*TIME_FACTOR*TIME_FACTOR; + dingo[k].y -= enemyVel[k]*TIME_FACTOR; + } + + if (isHitOwl[k]) + { + if ((owl[k].y) > GetScreenHeight()) + { + owlActive[k] = false; + isHitOwl[k] = false; + } + + owl[k].x += 2*TIME_FACTOR; + enemyVel[k] -= 1*TIME_FACTOR*TIME_FACTOR; + owl[k].y -= enemyVel[k]; + } + } + + // Leaves logic + for (int j = 0; j < MAX_LEAVES; j++) + { + //leaf[j].x -= speed; + + leafParticles[j].position = (Vector2){ leaf[j].x, leaf[j].y}; + + + if (leaf[j].x <= -leaf[j].width) leafActive[j] = false; + + if (CheckCollisionRecs(player, leaf[j]) && leafActive[j]) + { + //power += 20; + //printf("coin %c", coinType[j]); + + // DONE: Review + popupLeaves[j].position = (Vector2){ leaf[j].x, leaf[j].y }; + popupLeaves[j].scale = 1.0f; + popupLeaves[j].alpha = 1.0f; + popupLeaves[j].active = true; + + PlaySound(fxEatLeaves); + + if(leafType[j] == 0) + { + currentLeaves++; + popupLeaves[j].score = 1; + } + + else if(leafType[j] == 1) + { + currentLeaves += 2; + popupLeaves[j].score = 2; + } + + else if(leafType[j] == 2) + { + currentLeaves += 3; + popupLeaves[j].score = 3; + } + + else if(leafType[j] == 3) + { + currentLeaves += 4; + popupLeaves[j].score = 4; + } + + leafActive[j] = false; + leafParticles[j].active = true; + + for (int h = 0; h < 32; h++) + { + leafParticles[j].particles[h].active = true; + leafParticles[j].particles[h].position = (Vector2){ leafParticles[j].position.x, leafParticles[j].position.y}; + leafParticles[j].particles[h].speed = (Vector2){ (float)GetRandomValue(-400, 400)/100, (float)GetRandomValue(-400, 400)/100 }; + leafParticles[j].particles[h].size = (float)GetRandomValue(4, 8)/10; + leafParticles[j].particles[h].rotation = GetRandomValue(-180, 180); + //enemyHit[i].color = (Color){ GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255 }; + leafParticles[j].particles[h].alpha = 1.0f; + } + } + } + + //---------------------------------------------------------------------------------- + // Particles Logic + //---------------------------------------------------------------------------------- + + // Leaf particles logic + for (int i = 0; i < MAX_LEAVES; i++) + { + + if (leafParticles[i].active == true) + { + + for (int j = 0; j < 32; j++) + { + //enemyHit[i].speed.y -= 1; + + leafParticles[i].particles[j].position.x += leafParticles[i].particles[j].speed.x*TIME_FACTOR; + leafParticles[i].particles[j].position.y += leafParticles[i].particles[j].speed.y; + + //if (((enemyHitPosition.x + enemyHit[i].position.x + enemyHit[i].size) >= screenWidth) || ((enemyHitPosition.x + enemyHit[i].position.x - enemyHit[i].size) <= 0)) enemyHit[i].speed.x *= -1; + //if (((enemyHitPosition.y + enemyHit[i].position.y + enemyHit[i].size) >= screenHeight) || ((enemyHitPosition.y + enemyHit[i].position.y - enemyHit[i].size) <= 0)) enemyHit[i].speed.y *= -1; + + leafParticles[i].particles[j].rotation += 6*TIME_FACTOR; + leafParticles[i].particles[j].alpha -= 0.03f*TIME_FACTOR; + leafParticles[i].particles[j].size -= 0.004*TIME_FACTOR; + + if (leafParticles[i].particles[j].size <= 0) leafParticles[i].particles[j].size = 0.0f; + + if (leafParticles[i].particles[j].alpha <= 0) + { + leafParticles[i].particles[j].alpha = 0.0f; + leafParticles[i].particles[j].active = false; + leafParticles[i].active = false; + } + } + } + + if (popupLeaves[i].active) + { + //mouseTail[i].position.y += gravity; + popupLeaves[i].alpha -= 0.02f; + popupLeaves[i].scale += 0.1f; + popupLeaves[i].position.y -= 3.0f; + popupLeaves[i].position.x -= speed; + + if (popupLeaves[i].alpha <= 0.0f) popupLeaves[i].active = false; + } + } + + // Enemy Particles + for (int i = 0; i < MAX_ENEMIES; i++) + { + if (enemyHit[i].active) + { + //mouseTail[i].position.y += gravity; + enemyHit[i].alpha -= 0.1f*TIME_FACTOR; + enemyHit[i].size += 0.1f*TIME_FACTOR; + + if (enemyHit[i].alpha <= 0.0f) enemyHit[i].active = false; + } + + if (popupScore[i].active) + { + //mouseTail[i].position.y += gravity; + popupScore[i].alpha -= 0.02f; + popupScore[i].scale += 0.2f; + popupScore[i].position.y -= 4.0f; + popupScore[i].position.x -= speed; + + if (popupScore[i].alpha <= 0.0f) popupScore[i].active = false; + } + } + + if (popupBee.active) + { + //mouseTail[i].position.y += gravity; + popupBee.alpha -= 0.02f; + popupBee.scale += 0.2f; + popupBee.position.y -= 4.0f; + popupBee.position.x -= speed; + + if (popupBee.alpha <= 0.0f) popupBee.active = false; + } + + if (popupEagle.active) + { + //mouseTail[i].position.y += gravity; + popupEagle.alpha -= 0.02f; + popupEagle.scale += 0.2f; + popupEagle.position.y -= 4.0f; + popupEagle.position.x -= speed; + + if (popupEagle.alpha <= 0.0f) popupEagle.active = false; + } + + if (state != FINALFORM) + { + // Snow Particle + if (snowParticle.active) + { + snowParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (!snowParticle.particles[i].active && (snowParticle.spawnTime >= snowParticle.maxTime)) + { + snowParticle.particles[i].active = true; + snowParticle.particles[i].position = (Vector2){ GetRandomValue(0, GetScreenWidth() + 200), -10 }; + snowParticle.spawnTime = 0; + snowParticle.maxTime = GetRandomValue(5, 20); + } + } + } + + if (backSnowParticle.active) + { + snowParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (!backSnowParticle.particles[i].active && (backSnowParticle.spawnTime >= backSnowParticle.maxTime)) + { + backSnowParticle.particles[i].active = true; + backSnowParticle.particles[i].position = (Vector2){ GetRandomValue(0, GetScreenWidth() + 200), -10 }; + backSnowParticle.spawnTime = 0; + backSnowParticle.maxTime = GetRandomValue(3, 10); + } + } + } + + // Autumn leaves particles + if (planetreeParticle.active) + { + planetreeParticle.spawnTime += 1*TIME_FACTOR; + backPlanetreeParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (!planetreeParticle.particles[i].active && (planetreeParticle.spawnTime >= planetreeParticle.maxTime)) + { + planetreeParticle.particles[i].active = true; + planetreeParticle.particles[i].position = (Vector2){ GetRandomValue(0, GetScreenWidth() + 200), -10 }; + planetreeParticle.spawnTime = 0; + planetreeParticle.maxTime = GetRandomValue(5, 20); + } + + if (!backPlanetreeParticle.particles[i].active && (backPlanetreeParticle.spawnTime >= backPlanetreeParticle.maxTime)) + { + backPlanetreeParticle.particles[i].active = true; + backPlanetreeParticle.particles[i].position = (Vector2){ GetRandomValue(0, GetScreenWidth() + 200), -10 }; + backPlanetreeParticle.spawnTime = 0; + backPlanetreeParticle.maxTime = GetRandomValue(3, 10); + } + } + } + + // Dandelion particle + if (dandelionParticle.active) + { + dandelionParticle.spawnTime += 1*TIME_FACTOR; + dandelionBackParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (!dandelionParticle.particles[i].active && (dandelionParticle.spawnTime >= dandelionParticle.maxTime)) + { + dandelionParticle.particles[i].active = true; + dandelionParticle.particles[i].position = (Vector2){ GetRandomValue(0, GetScreenWidth() + 200), -10 }; + dandelionParticle.spawnTime = 0; + dandelionParticle.maxTime = GetRandomValue(5, 20); + } + + if (!dandelionBackParticle.particles[i].active && (dandelionBackParticle.spawnTime >= dandelionBackParticle.maxTime)) + { + dandelionBackParticle.particles[i].active = true; + dandelionBackParticle.particles[i].position = (Vector2){ GetRandomValue(0, GetScreenWidth() + 200), -10 }; + dandelionBackParticle.spawnTime = 0; + dandelionBackParticle.maxTime = GetRandomValue(3, 10); + } + } + } + + // Flower Particle + if (flowerParticle.active) + { + + flowerParticle.spawnTime += 1*TIME_FACTOR; + backFlowerParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (!flowerParticle.particles[i].active && (flowerParticle.spawnTime >= flowerParticle.maxTime)) + { + flowerParticle.particles[i].active = true; + flowerParticle.particles[i].position = (Vector2){ GetRandomValue(0, GetScreenWidth() + 200), -10 }; + flowerParticle.spawnTime = 0; + flowerParticle.maxTime = GetRandomValue(5, 20); + } + + if (!backFlowerParticle.particles[i].active && (backFlowerParticle.spawnTime >= backFlowerParticle.maxTime)) + { + backFlowerParticle.particles[i].active = true; + backFlowerParticle.particles[i].position = (Vector2){ GetRandomValue(0, GetScreenWidth() + 200), -10 }; + backFlowerParticle.spawnTime = 0; + backFlowerParticle.maxTime = GetRandomValue(3, 10); + } + } + } + + // Rain Particle + if (rainParticle.active) + { + rainParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (!rainParticle.particles[i].active && (rainParticle.spawnTime >= rainParticle.maxTime)) + { + rainParticle.particles[i].active = true; + rainParticle.particles[i].position = (Vector2){ GetRandomValue(0, GetScreenWidth() + 200), -10 }; + rainParticle.spawnTime = 0; + rainParticle.maxTime = GetRandomValue(1, 8); + } + } + } + + // BackRain Particles + if (backRainParticle.active) + { + backRainParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (!backRainParticle.particles[i].active && (backRainParticle.spawnTime >= backRainParticle.maxTime)) + { + backRainParticle.particles[i].active = true; + backRainParticle.particles[i].position = (Vector2){ GetRandomValue(0, GetScreenWidth() + 200), -10 }; + backRainParticle.spawnTime = 0; + backRainParticle.maxTime = GetRandomValue(1, 8); + } + } + } + + // Storm Particles + if (rainStormParticle.active) + { + rainStormParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_PARTICLES_STORM; i++) + { + if (!rainStormParticle.particles[i].active && (rainStormParticle.spawnTime >= rainStormParticle.maxTime)) + { + for (int j = 0; j < 16; j++) + { + rainStormParticle.particles[i+j].active = true; + rainStormParticle.particles[i+j].position = (Vector2){ GetRandomValue(100, GetScreenWidth() + 1000), GetRandomValue(-10,-20) }; + } + + rainStormParticle.spawnTime = 0; + rainStormParticle.maxTime = 4; + } + } + } + + // Snow Storm Particles + if (snowStormParticle.active) + { + snowStormParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_PARTICLES_STORM; i++) + { + if (!snowStormParticle.particles[i].active && (snowStormParticle.spawnTime >= snowStormParticle.maxTime)) + { + snowStormParticle.particles[i].active = true; + snowStormParticle.particles[i].position = (Vector2){ GetRandomValue(100, GetScreenWidth() + 800), -10 }; + snowStormParticle.spawnTime = 0; + snowStormParticle.maxTime = GetRandomValue(1, 2); + } + } + } + + } + + // Speed Particles + if (speedFX.active) + { + speedFX.spawnTime++; + + for (int i = 0; i < MAX_PARTICLES_SPEED; i++) + { + if (!speedFX.particle[i].active && (speedFX.spawnTime >= speedFX.maxTime)) + { + speedFX.particle[i].active = true; + speedFX.particle[i].alpha = 0.7f; + speedFX.particle[i].size = (Vector2){ GetScreenWidth(), GetRandomValue(5, 30) }; + speedFX.particle[i].position = (Vector2){ GetScreenWidth(), GetRandomValue(0, GetScreenHeight() - 10) }; + speedFX.spawnTime = 0; + speedFX.maxTime = GetRandomValue(1, 10); + //i = MAX_PARTICLES; + } + } + } + + for (int i = 0; i < MAX_PARTICLES_SPEED; i++) + { + if (speedFX.particle[i].active) + { + speedFX.particle[i].position.x -= 40; + speedFX.particle[i].alpha -= 0.015f; + speedFX.particle[i].size.y -= 0.1f; + + if (speedFX.particle[i].size.y <= 0) speedFX.particle[i].active = false; + } + } + + // Ray Particles + if (rayParticles.active) + { + rayParticles.spawnTime += 1*TIME_FACTOR; + backRayParticles.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_PARTICLES_RAY; i++) + { + if (!rayParticles.particles[i].active && (rayParticles.spawnTime >= rayParticles.maxTime)) + { + //printf("PARTICLEEES"); + rayParticles.particles[i].active = true; + rayParticles.particles[i].alpha = 0.0f; + rayParticles.particles[i].size = (float)(GetRandomValue(10, 20)/10); + rayParticles.particles[i].position = (Vector2){ GetRandomValue(300, GetScreenWidth() + 200), 0 }; + rayParticles.particles[i].rotation = -35; + rayParticles.spawnTime = 0; + rayParticles.particles[i].delayCounter = 0; + rayParticles.maxTime = GetRandomValue(20, 50); + } + + if (!backRayParticles.particles[i].active && (backRayParticles.spawnTime >= backRayParticles.maxTime)) + { + backRayParticles.particles[i].active = true; + backRayParticles.particles[i].alpha = 0.0f; + backRayParticles.particles[i].size = (float)(GetRandomValue(5, 15)/10); + backRayParticles.particles[i].position = (Vector2){ GetRandomValue(300, GetScreenWidth() + 200), 0 }; + backRayParticles.particles[i].rotation = -35; + backRayParticles.spawnTime = 0; + backRayParticles.particles[i].delayCounter = 0; + backRayParticles.maxTime = GetRandomValue(20, 50); + } + } + } + + // Particles Logic + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (snowParticle.particles[i].active) + { + snowParticle.particles[i].position.y += 2*speedMod*TIME_FACTOR; + snowParticle.particles[i].position.x -= 4*speedMod*TIME_FACTOR; + snowParticle.particles[i].rotation += 0.5*TIME_FACTOR; + + if (snowParticle.particles[i].position.y >= GetScreenHeight()) snowParticle.particles[i].active = false; + } + + if (backSnowParticle.particles[i].active) + { + backSnowParticle.particles[i].position.y += (int)1.5f*speedMod*TIME_FACTOR; + backSnowParticle.particles[i].position.x -= 5*speedMod*TIME_FACTOR; + backSnowParticle.particles[i].rotation += 0.5*TIME_FACTOR; + + if (backSnowParticle.particles[i].position.y >= GetScreenHeight()) backSnowParticle.particles[i].active = false; + } + + if (planetreeParticle.particles[i].active) + { + planetreeParticle.particles[i].position.y += 4*speedMod*TIME_FACTOR; + planetreeParticle.particles[i].position.x -= 5*speedMod*TIME_FACTOR; + planetreeParticle.particles[i].rotation += 0.5*TIME_FACTOR; + + if (planetreeParticle.particles[i].position.y >= GetScreenHeight()) planetreeParticle.particles[i].active = false; + } + + if (backPlanetreeParticle.particles[i].active) + { + backPlanetreeParticle.particles[i].position.y += 3*speedMod*TIME_FACTOR; + backPlanetreeParticle.particles[i].position.x -= 5*speedMod*TIME_FACTOR; + backPlanetreeParticle.particles[i].rotation += 0.5*TIME_FACTOR; + + if (backPlanetreeParticle.particles[i].position.y >= GetScreenHeight()) backPlanetreeParticle.particles[i].active = false; + } + + if (dandelionParticle.particles[i].active) + { + dandelionParticle.particles[i].position.y += 3*speedMod*TIME_FACTOR; + dandelionParticle.particles[i].position.x -= 5*speedMod*TIME_FACTOR; + dandelionParticle.particles[i].rotation = -(30*sin(2*PI/120*globalFrameCounter + dandelionParticle.particles[i].rotPhy) + 30); + + if (dandelionParticle.particles[i].position.y >= GetScreenHeight()) dandelionParticle.particles[i].active = false; + } + + if (dandelionBackParticle.particles[i].active) + { + dandelionBackParticle.particles[i].position.y += (int)1.5f*speedMod*TIME_FACTOR; + dandelionBackParticle.particles[i].position.x -= 5*speedMod*TIME_FACTOR; + dandelionBackParticle.particles[i].rotation = 30*sin(2*PI/120*globalFrameCounter + dandelionParticle.particles[i].rotPhy) + 30; + + if (dandelionBackParticle.particles[i].position.y >= GetScreenHeight()) dandelionBackParticle.particles[i].active = false; + } + + if (flowerParticle.particles[i].active) + { + flowerParticle.particles[i].position.y += 2.5f*speedMod*TIME_FACTOR; + flowerParticle.particles[i].position.x -= 4*speedMod*TIME_FACTOR; + flowerParticle.particles[i].rotation += 0.5*TIME_FACTOR; + + if (flowerParticle.particles[i].position.y >= GetScreenHeight()) flowerParticle.particles[i].active = false; + } + + if (backFlowerParticle.particles[i].active) + { + backFlowerParticle.particles[i].position.y += 2.5f*speedMod*TIME_FACTOR; + backFlowerParticle.particles[i].position.x -= 5*speedMod*TIME_FACTOR; + backFlowerParticle.particles[i].rotation += 0.5*TIME_FACTOR; + + if (backFlowerParticle.particles[i].position.y >= GetScreenHeight()) backFlowerParticle.particles[i].active = false; + } + + if (rainParticle.particles[i].active) + { + rainParticle.particles[i].position.y += 8*speedMod*TIME_FACTOR; + rainParticle.particles[i].position.x -= 10*speedMod*TIME_FACTOR; + //rainParticle.particles[i].rotation += 0.5; + + if (rainParticle.particles[i].position.y >= GetScreenHeight()) rainParticle.particles[i].active = false; + } + + if (backRainParticle.particles[i].active) + { + backRainParticle.particles[i].position.y += 6*speedMod*TIME_FACTOR; + backRainParticle.particles[i].position.x -= 6*speedMod*TIME_FACTOR; + //rainParticle.particles[i].rotation += 0.5; + + if (backRainParticle.particles[i].position.y >= GetScreenHeight()) backRainParticle.particles[i].active = false; + } + } + + for (int i = 0; i < MAX_PARTICLES_STORM; i++) + { + if (rainStormParticle.particles[i].active) + { + rainStormParticle.particles[i].position.y += 12*speedMod*TIME_FACTOR; + rainStormParticle.particles[i].position.x -= 15*speedMod*TIME_FACTOR; + //rainParticle.particles[i].rotation += 0.5; + + if (rainStormParticle.particles[i].position.y >= GetScreenHeight()) rainStormParticle.particles[i].active = false; + if (rainStormParticle.active == false)rainStormParticle.particles[i].alpha -= 0.01; + } + } + + for (int i = 0; i < MAX_PARTICLES_STORM; i++) + { + if (snowStormParticle.particles[i].active) + { + snowStormParticle.particles[i].position.y += 12*speedMod*TIME_FACTOR; + snowStormParticle.particles[i].position.x -= 15*speedMod*TIME_FACTOR; + snowStormParticle.particles[i].rotation += 0.5*TIME_FACTOR; + if (snowStormParticle.particles[i].position.y >= GetScreenHeight()) snowStormParticle.particles[i].active = false; + } + } + + for (int i = 0; i < MAX_PARTICLES_RAY; i++) + { + if (rayParticles.particles[i].active) + { + rayParticles.particles[i].position.x -= 0.5*speedMod*TIME_FACTOR; + //printf("RAY X: %i", rayParticles.particles[i].position.x); + + if (rayParticles.particles[i].fading) + { + rayParticles.particles[i].alpha -= 0.01f; + + if (rayParticles.particles[i].alpha <= 0) + { + rayParticles.particles[i].alpha = 0; + rayParticles.particles[i].delayCounter += 1; + if (rayParticles.particles[i].delayCounter >= 30) + { + rayParticles.particles[i].active = false; + rayParticles.particles[i].delayCounter = 0; + rayParticles.particles[i].fading = false; + } + } + } + else + { + rayParticles.particles[i].alpha += 0.01f; + + if (rayParticles.particles[i].alpha >= 0.5f) + { + rayParticles.particles[i].alpha = 0.5f; + rayParticles.particles[i].delayCounter += 1*TIME_FACTOR; + if (rayParticles.particles[i].delayCounter >= 30) + { + rayParticles.particles[i].delayCounter = 0; + rayParticles.particles[i].fading = true; + } + } + } + } + + if (backRayParticles.particles[i].active) + { + backRayParticles.particles[i].position.x -= 0.5*speedMod*TIME_FACTOR; + + if (backRayParticles.particles[i].fading) + { + backRayParticles.particles[i].alpha -= 0.01f; + + if (backRayParticles.particles[i].alpha <= 0) + { + backRayParticles.particles[i].alpha = 0; + backRayParticles.particles[i].delayCounter += 1; + + if (backRayParticles.particles[i].delayCounter >= 30) + { + backRayParticles.particles[i].active = false; + backRayParticles.particles[i].delayCounter = 0; + backRayParticles.particles[i].fading = false; + } + } + } + else + { + backRayParticles.particles[i].alpha += 0.01f; + + if (backRayParticles.particles[i].alpha >= 0.5f) + { + backRayParticles.particles[i].alpha = 0.5f; + backRayParticles.particles[i].delayCounter +=1; + + if (backRayParticles.particles[i].delayCounter >= 30) + { + backRayParticles.particles[i].delayCounter = 0; + backRayParticles.particles[i].fading = true; + } + } + } + } + } + + // Player States + switch (state) + { + case GRABED: + { + onWind = false; + windCounter += 1*TIME_FACTOR; + resinCount += 1*TIME_FACTOR; + //speedMod = 1; + + thisFrameKoala += 1*TIME_FACTOR; + + if (thisFrameKoala >= 24) + { + curFrameKoala += 1; + thisFrameKoala = 0; + } + + if (curFrameKoala > 2) curFrameKoala = 0; + + koalaAnimationIddle.x = gameplay_koala_idle.x + koalaAnimationIddle.width*curFrameKoala; + + if (!onResin) + { +#if (defined(PLATFORM_ANDROID) || defined(PLATFORM_WEB)) + if (((IsGestureDetected(GESTURE_TAP) || (GetGestureDetected() == GESTURE_DOUBLETAP)) && CheckCollisionPointRec(GetTouchPosition(0), rightButton))) + { + state = JUMPING; + velocity = JUMP; + grabCounter = 0; + jumpSpeed = 6; + rightAlpha = 1; + onIce = false; + onResin = false; + thisFrameKoala = 0; + PlaySound(fxJump); + + jumpCounter++; + } + + if (((IsGestureDetected(GESTURE_TAP) || (GetGestureDetected() == GESTURE_DOUBLETAP)) && CheckCollisionPointRec(GetTouchPosition(0), leftButton))) + { + if(!onIce)gravity = KICKSPEED; + else gravity = ICEGRAVITY; + PlaySound(fxDash); + + state = KICK; + grabCounter = 0; + leftAlpha = 1; + onResin = false; + dashCounter++; + //thisFrameKoala = 0; + } + else + { + if(!onIce)gravity = GRAVITY; + else gravity = ICEGRAVITY; + //thisFrameKoala = 0; + } +#elif (defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)) + + if (IsKeyPressed(KEY_SPACE) || (CheckCollisionPointRec(GetMousePosition(), rightButton) && IsMouseButtonPressed(0))) + { + state = JUMPING; + velocity = JUMP; + grabCounter = 0; + jumpSpeed = 6; + rightAlpha = 1; + onIce = false; + onResin = false; + thisFrameKoala = 0; + PlaySound(fxJump); + jumpCounter++; + } + + if (IsKeyPressed(KEY_DOWN) || (CheckCollisionPointRec(GetMousePosition(), leftButton) && IsMouseButtonPressed(0))) + { + if(!onIce)gravity = KICKSPEED; + else gravity = ICEGRAVITY; + PlaySound(fxDash); + + state = KICK; + grabCounter = 0; + leftAlpha = 1; + onResin = false; + dashCounter++; + //thisFrameKoala = 0; + } + else + { + if(!onIce)gravity = GRAVITY; + else gravity = ICEGRAVITY; + //thisFrameKoala = 0; + } +#endif + } + else + { +#if (defined(PLATFORM_ANDROID) || defined(PLATFORM_WEB)) + if (((IsGestureDetected(GESTURE_TAP) || (GetGestureDetected() == GESTURE_DOUBLETAP)) && CheckCollisionPointRec(GetTouchPosition(0), rightButton))) + { + resinCountjump++; + + if (resinCountjump >= 2) + { + //thisFrameKoala = 0; + + state = JUMPING; + velocity = JUMP; + grabCounter = 0; + jumpSpeed = 6; + rightAlpha = 1; + onIce = false; + onResin = false; + resinCountjump = 0; + resinCountdrag = 0; + resinCount = 0; + jumpCounter++; + } + } + + if (((IsGestureDetected(GESTURE_TAP) || (GetGestureDetected() == GESTURE_DOUBLETAP)) && CheckCollisionPointRec(GetTouchPosition(0), leftButton))) + { + resinCountdrag ++; + + if (resinCountdrag >= 2) + { + //thisFrameKoala = 0; + gravity = KICKSPEED; + state = KICK; + grabCounter = 0; + leftAlpha = 1; + onResin = false; + resinCountjump = 0; + resinCountdrag = 0; + resinCount = 0; + dashCounter++; + } + } + else + { + gravity = 0; + } +#elif (defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)) + if (IsKeyPressed(KEY_SPACE) || (CheckCollisionPointRec(GetMousePosition(), rightButton) && IsMouseButtonPressed(0))) + { + resinCountjump++; + + if (resinCountjump >= 2) + { + //thisFrameKoala = 0; + + state = JUMPING; + velocity = JUMP; + grabCounter = 0; + jumpSpeed = 6; + rightAlpha = 1; + onIce = false; + onResin = false; + resinCountjump = 0; + resinCountdrag = 0; + resinCount = 0; + jumpCounter++; + } + } + + if (IsKeyPressed(KEY_DOWN) || (CheckCollisionPointRec(GetMousePosition(), leftButton) && IsMouseButtonPressed(0))) + { + resinCountdrag ++; + + if (resinCountdrag >= 2) + { + //thisFrameKoala = 0; + gravity = KICKSPEED; + state = KICK; + grabCounter = 0; + leftAlpha = 1; + onResin = false; + resinCountjump = 0; + resinCountdrag = 0; + resinCount = 0; + dashCounter++; + } + } + else + { + gravity = 0; + } +#endif + } + } break; + case JUMPING: + { + player.x += jumpSpeed*TIME_FACTOR; + velocity -= 1*TIME_FACTOR*TIME_FACTOR; + player.y -= velocity; + framesCounter += 1*TIME_FACTOR; + grabCounter+= 1*TIME_FACTOR; + + } break; + case KICK: + { + gravity += 1*TIME_FACTOR*TIME_FACTOR; + player.y += gravity; + player.x -= speed; + grabCounter += 1*TIME_FACTOR; + + // DONE: Review, before checking collision with ALL enemies, check if they are active! + for (int i = 0; i < MAX_ENEMIES; i++) + { + if (CheckCollisionRecs(player, snake[i]) && !isHitSnake[i] && snakeActive[i]) + { + state = JUMPING; + velocity = JUMP; + enemyVel[i] = 8; + grabCounter = 3; + gravity = KICKSPEED; + isHitSnake[i] = true; + jumpSpeed = -3; + score += SNAKESCORE; + killHistory[killCounter] = 1; + killCounter++; + PlaySound(fxDieSnake); + snakeKillCounter++; + globalKillCounter++; + + enemyHit[i].position = (Vector2){ snake[i].x, snake[i].y }; + enemyHit[i].speed = (Vector2){ snake[i].x, snake[i].y }; + enemyHit[i].size = (float)GetRandomValue(5, 10)/30; + enemyHit[i].rotation = 0.0f; + //enemyHit[i].color = (Color){ GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255 }; + enemyHit[i].alpha = 1.0f; + enemyHit[i].active = true; + + popupScore[i].position = (Vector2){ snake[i].x,snake[i].y }; + popupScore[i].scale = 1.0f; + popupScore[i].alpha = 1.0f; + popupScore[i].score = SNAKESCORE; + popupScore[i].active = true; + } + + if (CheckCollisionRecs(player, dingo[i]) && !isHitDingo[i] && dingoActive[i]) + { + state = JUMPING; + velocity = JUMP; + enemyVel[i] = 8*TIME_FACTOR; + grabCounter = 3*TIME_FACTOR; + gravity = KICKSPEED; + isHitDingo[i] = true; + jumpSpeed = -3; + score += DINGOSCORE; + killHistory[killCounter] = 2; + killCounter++; + PlaySound(fxDieDingo); + dingoKillCounter++; + globalKillCounter++; + + enemyHit[i].position = (Vector2){ dingo[i].x, dingo[i].y }; + enemyHit[i].speed = (Vector2){ dingo[i].x, dingo[i].y }; + enemyHit[i].size = (float)GetRandomValue(5, 10)/30; + enemyHit[i].rotation = 0.0f; + //enemyHit[i].color = (Color){ GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255 }; + enemyHit[i].alpha = 1.0f; + enemyHit[i].active = true; + + popupScore[i].position = (Vector2){ dingo[i].x,dingo[i].y }; + popupScore[i].scale = 1.0f; + popupScore[i].alpha = 1.0f; + popupScore[i].score = DINGOSCORE; + popupScore[i].active = true; + } + + if (CheckCollisionRecs(player, owl[i]) && !isHitOwl[i] && owlActive[i]) + { + state = JUMPING; + velocity = JUMP; + enemyVel[i] = 8; + grabCounter = 3; + gravity = KICKSPEED; + isHitOwl[i] = true; + jumpSpeed = -3; + score += OWLSCORE; + killHistory[killCounter] = 3; + killCounter++; + PlaySound(fxDieOwl); + owlKillCounter++; + globalKillCounter++; + + enemyHit[i].position = (Vector2){ owl[i].x, owl[i].y }; + enemyHit[i].speed = (Vector2){ owl[i].x, owl[i].y }; + enemyHit[i].size = (float)GetRandomValue(5, 10)/30; + enemyHit[i].rotation = 0.0f; + //enemyHit[i].color = (Color){ GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255 }; + enemyHit[i].alpha = 1.0f; + enemyHit[i].active = true; + + popupScore[i].position = (Vector2){ owl[i].x,owl[i].y }; + popupScore[i].scale = 1.0f; + popupScore[i].alpha = 1.0f; + popupScore[i].score = OWLSCORE; + popupScore[i].active = true; + } + } + + if (CheckCollisionRecs(player, bee) && !isHitBee && beeActive) + { + state = JUMPING; + velocity = JUMP; + beeVelocity = 8; + grabCounter = 3; + gravity = KICKSPEED; + isHitBee = true; + jumpSpeed = -3; + score += BEESCORE; + killHistory[killCounter] = 4; + killCounter++; + beeKillCounter++; + globalKillCounter++; + + popupBee.position = (Vector2){ bee.x, bee.y }; + popupBee.scale = 1.0f; + popupBee.alpha = 1.0f; + popupBee.score = BEESCORE; + popupBee.active = true; + } + + if (CheckCollisionRecs(player, eagle) && !isHitEagle && eagleActive) + { + state = JUMPING; + velocity = JUMP; + beeVelocity = 8; + grabCounter = 3; + gravity = KICKSPEED; + isHitEagle = true; + jumpSpeed = -3; + score += EAGLESCORE; + killHistory[killCounter] = 5; + killCounter++; + eagleKillCounter++; + globalKillCounter++; + + popupEagle.position = (Vector2){ eagle.x, eagle.y }; + popupEagle.scale = 1.0f; + popupEagle.alpha = 1.0f; + popupEagle.score = EAGLESCORE; + popupEagle.active = true; + } + } break; + case FINALFORM: + { + if (transforming) + { + speedMod = 0; + transCount += 1*TIME_FACTOR; + transRotation += 1*TIME_FACTOR; + transAniCounter += 1*TIME_FACTOR; + + thisFrameKoala += 1*TIME_FACTOR; + + currentLeaves = LinearEaseIn((float)transCount, (float)initLeaves, (float)-LEAVESTOTRANSFORM, 120.0f); + + if (thisFrameKoala >= 24) + { + curFrameKoala += 1; + thisFrameKoala = 0; + } + + //if (curFrameKoala > 1) curFrameKoala = ; + + if(curFrameKoala <= 1 )koalaAnimationTransform.x = gameplay_koala_transform.x + koalaAnimationTransform.width*curFrameKoala; + + if (transAniCounter >= 5) + { + transBackAnim = !transBackAnim; + transAniCounter = 0; + } + + if (transBackAnim) + { + finalColor = RED; + finalColor2 = WHITE; + } + + if (!transBackAnim) + { + finalColor = WHITE; + finalColor2 = RED; + } + + if (transCount >= 120) + { + transforming = false; + thisFrameKoala = 0; + curFrameKoala = 0; + speedFX.active = true; + //speedMod = 2; + transCount = 0; + //printf ("THIS ISN'T EVEN MY FINAL FORM"); + bambooTimer += 15*TIME_FACTOR; + } + } + else if (!transforming) + { + speedMod = 5; + scrollSpeed = 3.2f*TIME_FACTOR; + power -= 1*TIME_FACTOR; + + thisFrameKoala += 1*TIME_FACTOR; + + if (thisFrameKoala >= 12) + { + curFrameKoala ++; + thisFrameKoala = 0; + } + + if (curFrameKoala > 1) curFrameKoala = 0; + if (curFrameKoala <= 1) koalaAnimationFly.x = gameplay_koala_fly.x + koalaAnimationFly.width*curFrameKoala; + if (player.x > GetScreenWidth()/3) player.x -= 2; + if (player.x < GetScreenWidth()/3) player.x++; + + if (power <= maxPower/5) + { + finalFormEnd += 1*TIME_FACTOR; + if (finalFormEnd >= 5) + { + transBackAnim = !transBackAnim; + finalFormEnd = 0; + } + + if (transBackAnim) + { + finalColor = RED; + } + + if (!transBackAnim) + { + finalColor = WHITE; + } + } + else finalColor = WHITE; + +#if (defined(PLATFORM_ANDROID) || defined(PLATFORM_WEB)) + if ((IsGestureDetected(GESTURE_HOLD) || (GetGestureDetected() == GESTURE_DRAG)) && CheckCollisionPointRec(GetTouchPosition(0), leftButton)) player.y += FLYINGMOV; + if ((IsGestureDetected(GESTURE_HOLD) || (GetGestureDetected() == GESTURE_DRAG)) && CheckCollisionPointRec(GetTouchPosition(0), rightButton)) player.y -= FLYINGMOV; +#elif (defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)) + if (IsKeyDown(KEY_DOWN) || (CheckCollisionPointRec(GetMousePosition(), leftButton) && IsMouseButtonDown(0))) player.y += FLYINGMOV; + if (IsKeyDown(KEY_UP) || (CheckCollisionPointRec(GetMousePosition(), rightButton) && IsMouseButtonDown(0))) player.y -= FLYINGMOV; +#endif + } + + gravity = 0; + grabCounter ++; + + } break; + case ONWIND: + { + player.x -= jumpSpeed*TIME_FACTOR; + velocity -= 2*TIME_FACTOR; + player.y -= velocity; + framesCounter += 1*TIME_FACTOR; + grabCounter += 1*TIME_FACTOR; + + } break; + default: break; + } + + if (player.x <= (-player.width)) + { + play = false; + playerActive = false; + killer = 4; + } + + if ((player.y + player.height) >= GetScreenHeight()) + { + if (state == FINALFORM) player.y = GetScreenHeight() - player.height; + else + { + play = false; + playerActive = false; + killer = 4; + } + } + + if ((player.y) <= 0 && state == FINALFORM) player.y = 0; + if (player.x >= (GetScreenWidth() - player.width)) player.x = (GetScreenWidth() - player.width); + if (player.y <= -32) player.y = -32; + + if (bambooTimer > bambooSpawnTime) + { + if (!transforming) + { + BambooSpawn(); + + if (state != FINALFORM && eagleDelay >= EAGLE_TIME_DELAY)EagleSpawn(EAGLE_SPAWNCHANCE); + + switch (season) + { + case WINTER: + IceSpawn(ICESPAWNCHANCE); + OwlSpawn(OWLSPAWNCHANCE + (int)progresionSpawnChance); + break; + case SPRING: + ResinSpawn(RESINSPAWNCHANCE); + if (state != FINALFORM)BeeSpawn(BEE_SPAWNCHANCE); + DingoSpawn(DINGOSPAWNCHANCE + (int)progresionSpawnChance); + break; + case SUMMER: + FireSpawn(FIRESPAWNCHANCE); + SnakeSpawn(SNAKESPAWNCHANCE + (int)progresionSpawnChance); + break; + case FALL: + WindSpawn(WINDSPAWNCHANCE); + SnakeSpawn(SNAKESPAWNCHANCE + (int)progresionSpawnChance); + break; + default: break; + } + + LeafSpawn(); + } + + bambooTimer = 0; + bambooSpawnTime = GetRandomValue(MINTIMESPAWN, MAXTIMESPAWN); + } + } + else if (!play && !playerActive) + { + if (score > hiscore) hiscore = score; + + player.x -= jumpSpeed; + velocity -= 1*TIME_FACTOR; + player.y -= velocity; + + if(player.y >= GetScreenHeight()) + { + deathsCounter++; + finishScreen = 1; + } + } +} + +// Gameplay Screen Draw logic +void DrawGameplayScreen(void) +{ + BeginShaderMode(colorBlend); + + DrawTexturePro(atlas02, gameplay_background, (Rectangle){0, 0, gameplay_background.width*2, gameplay_background.height*2}, (Vector2){0, 0}, 0, color02); + + // Draw parallax + DrawParallaxBack(); + DrawParallaxMiddle(); + + // Draw particles (only if active) + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (backSnowParticle.particles[i].active) DrawTexturePro(atlas02, particle_icecrystal_bw, + (Rectangle){ backSnowParticle.particles[i].position.x, backSnowParticle.particles[i].position.y, particle_icecrystal_bw.width*backSnowParticle.particles[i].size, particle_icecrystal_bw.height*backSnowParticle.particles[i].size }, + (Vector2){ particle_icecrystal_bw.width*backSnowParticle.particles[i].size/2, particle_icecrystal_bw.height*backSnowParticle.particles[i].size/2 }, backSnowParticle.particles[i].rotation, + Fade((Color){144, 214, 255, 255}, backSnowParticle.particles[i].alpha)); + + if (backPlanetreeParticle.particles[i].active) DrawTexturePro(atlas02, particle_planetreeleaf_bw, + (Rectangle){ backPlanetreeParticle.particles[i].position.x, backPlanetreeParticle.particles[i].position.y, particle_planetreeleaf_bw.width*backPlanetreeParticle.particles[i].size, particle_planetreeleaf_bw.height*backPlanetreeParticle.particles[i].size }, + (Vector2){ particle_planetreeleaf_bw.width*backPlanetreeParticle.particles[i].size/2, particle_planetreeleaf_bw.height*backPlanetreeParticle.particles[i].size/2 }, backPlanetreeParticle.particles[i].rotation, + Fade((Color){179, 86, 6, 255}, backPlanetreeParticle.particles[i].alpha)); + + if (dandelionBackParticle.particles[i].active) DrawTexturePro(atlas02, particle_dandelion_bw, + (Rectangle){ dandelionBackParticle.particles[i].position.x, dandelionBackParticle.particles[i].position.y, particle_dandelion_bw.width*dandelionBackParticle.particles[i].size, particle_dandelion_bw.height*dandelionBackParticle.particles[i].size }, + (Vector2){ particle_dandelion_bw.width*dandelionBackParticle.particles[i].size/2, particle_dandelion_bw.height*dandelionBackParticle.particles[i].size/2 }, dandelionBackParticle.particles[i].rotation, + Fade((Color){202, 167, 126, 255}, dandelionBackParticle.particles[i].alpha)); + + if (backFlowerParticle.particles[i].active) DrawTexturePro(atlas02, particle_ecualyptusflower_bw, + (Rectangle){ backFlowerParticle.particles[i].position.x, backFlowerParticle.particles[i].position.y, particle_ecualyptusflower_bw.width*backFlowerParticle.particles[i].size, particle_ecualyptusflower_bw.height*backFlowerParticle.particles[i].size }, + (Vector2){ particle_ecualyptusflower_bw.width*backFlowerParticle.particles[i].size/2, particle_ecualyptusflower_bw.height*backFlowerParticle.particles[i].size/2 }, backFlowerParticle.particles[i].rotation, + Fade((Color){218, 84, 108, 255}, backFlowerParticle.particles[i].alpha)); + + if (backRainParticle.particles[i].active) DrawTexturePro(atlas02, particle_waterdrop_bw, + (Rectangle){ backRainParticle.particles[i].position.x, backRainParticle.particles[i].position.y, particle_waterdrop_bw.width*backRainParticle.particles[i].size, particle_waterdrop_bw.height*backRainParticle.particles[i].size }, + (Vector2){ particle_waterdrop_bw.width*backRainParticle.particles[i].size/2, particle_waterdrop_bw.height*backRainParticle.particles[i].size/2 }, backRainParticle.particles[i].rotation, + Fade((Color){144, 183, 187, 255}, backRainParticle.particles[i].alpha)); + } + + for (int i = 0; i < MAX_PARTICLES_RAY; i++) + { + if (backRayParticles.particles[i].active) DrawTexturePro(atlas02, gameplay_back_fx_lightraymid, + (Rectangle){ backRayParticles.particles[i].position.x, backRayParticles.particles[i].position.y, gameplay_back_fx_lightraymid.width*backRayParticles.particles[i].size, gameplay_back_fx_lightraymid.height*backRayParticles.particles[i].size }, + (Vector2){ gameplay_back_fx_lightraymid.width*backRayParticles.particles[i].size/2, gameplay_back_fx_lightraymid.height*backRayParticles.particles[i].size/2 }, backRayParticles.particles[i].rotation, + Fade(backRayParticles.particles[i].color, backRayParticles.particles[i].alpha)); + } + + DrawParallaxFront(); + + for (int i = 0; i < MAX_BAMBOO; i++) + { + if (bambooActive[i]) + { + DrawTexturePro(atlas02, gameplay_props_tree, (Rectangle){bamboo[i].x, bamboo[i].y, 43, 720}, (Vector2){0, 0}, 0, color03); + } + } + + for (int i = 0; i < MAX_ENEMIES; i++) + { + if (branchActive[i]) + { + DrawTexturePro(atlas02, gameplay_props_owl_branch, (Rectangle){branchPos[i].x, branchPos[i].y, 36, 20}, (Vector2){0, 0}, 0, color03); + } + } + + EndShaderMode(); + + for (int i = 0; i < MAX_FIRE; i++) + { + DrawTexturePro(atlas01, (Rectangle){gameplay_props_burnttree.x, gameplay_props_burnttree.y + fire[i].y + gameplay_props_burnttree.height/14, gameplay_props_burnttree.width, gameplay_props_burnttree.height}, + (Rectangle){fire[i].x + 5, fire[i].y + gameplay_props_burnttree.height/14, gameplay_props_burnttree.width, gameplay_props_burnttree.height}, (Vector2){0, 0}, 0, WHITE); + DrawTextureRec(atlas01, fireAnimation, (Vector2){fire[i].x, GetScreenHeight() - gameplay_props_burnttree.height/7}, WHITE); + + for(int j = MAX_FIRE_FLAMES; j > -2; j--) + { + if ((fire[i].y - 25 <= (j*43)) && fireActive[i]) + { + if (j%2 > 0) + { + DrawTextureRec(atlas01, fireAnimation, (Vector2){fire[i].x + fireOffset - 10, 40*j}, WHITE); + fireAnimation.x = gameplay_props_fire_spritesheet.x + fireAnimation.width*curFrame1; + } + else if (j%2 + 1 == 1) + { + DrawTextureRec(atlas01, fireAnimation, (Vector2){fire[i].x - fireOffset , 40*j}, WHITE); + fireAnimation.x = gameplay_props_fire_spritesheet.x + fireAnimation.width*curFrame2; + } + else + { + DrawTextureRec(atlas01, fireAnimation, (Vector2){fire[i].x - fireOffset , 40*j}, WHITE); + fireAnimation.x = gameplay_props_fire_spritesheet.x + fireAnimation.width*curFrame3; + } + } + } + } + + for (int i = 0; i < MAX_ICE; i++) + { + if (iceActive[i]) for (int k = 0; k < GetScreenHeight(); k += (GetScreenHeight()/6)) DrawTexturePro(atlas01, gameplay_props_ice_sprite, (Rectangle){ice[i].x - 5, ice[i].y+k, gameplay_props_ice_sprite.width, gameplay_props_ice_sprite.height}, (Vector2){0,0}, 0, WHITE); + } + + BeginShaderMode(colorBlend); + + DrawTexturePro(atlas02, gameplay_back_ground00, (Rectangle){(int)groundPos + GetScreenWidth(), 637, gameplay_back_ground00.width*2, gameplay_back_ground00.height*2}, (Vector2){0,0}, 0, color00); + DrawTexturePro(atlas02, gameplay_back_ground00, (Rectangle){(int)groundPos, 637, gameplay_back_ground00.width*2, gameplay_back_ground00.height*2}, (Vector2){0,0}, 0, color00); + + EndShaderMode(); + + for (int i = 0; i < MAX_RESIN; i++) + { + if (resinActive[i]) DrawTextureRec(atlas01, gameplay_props_resin_sprite,(Vector2){ resin[i].x - resin[i].width/3, resin[i].y - resin[i].height/5}, WHITE); + } + + for (int i = 0; i < MAX_ENEMIES; i++) + { + if (snakeActive[i]) + { + if (!isHitSnake[i])DrawTextureRec(atlas01, snakeAnimation, (Vector2){snake[i].x - snake[i].width, snake[i].y - snake[i].height/2}, WHITE); + else DrawTextureRec(atlas01, (Rectangle){gameplay_enemy_snake.x + snakeAnimation.width*2, gameplay_enemy_snake.y, snakeAnimation.width, snakeAnimation.height}, (Vector2){snake[i].x - snake[i].width/2, snake[i].y - snake[i].height/2}, WHITE); + } + + if (dingoActive[i]) + { + if (!isHitDingo[i]) DrawTextureRec(atlas01, dingoAnimation, (Vector2){dingo[i].x - dingo[i].width/2, dingo[i].y - dingo[i].height/4}, WHITE); + else DrawTextureRec(atlas01, (Rectangle){gameplay_enemy_dingo.x + dingoAnimation.width*2, gameplay_enemy_dingo.y, dingoAnimation.width, dingoAnimation.height}, (Vector2){dingo[i].x - dingo[i].width/2, dingo[i].y - dingo[i].height/4}, WHITE); + } + + if (owlActive[i]) + { + if (!isHitOwl[i])DrawTextureRec(atlas01, owlAnimation, (Vector2){owl[i].x - owl[i].width*0.7, owl[i].y - owl[i].height*0.1}, WHITE); + else DrawTextureRec(atlas01, (Rectangle){gameplay_enemy_owl.x + owlAnimation.width*2, gameplay_enemy_owl.y, owlAnimation.width, owlAnimation.height}, (Vector2){owl[i].x - owl[i].width/2, owl[i].y - owl[i].height/6}, WHITE); + } + + if (enemyHit[i].active) + { + DrawTexturePro(atlas01, particle_hit, + (Rectangle){ enemyHit[i].position.x, enemyHit[i].position.y, particle_hit.width*enemyHit[i].size, particle_hit.height*enemyHit[i].size }, + (Vector2){ particle_hit.width*enemyHit[i].size/2, particle_hit.height*enemyHit[i].size/2 }, enemyHit[i].rotation, + Fade(enemyHit[i].color, enemyHit[i].alpha)); + } + } + + // Only one bee / eagle / alert at the same time + + for (int i = 0; i < MAX_LEAVES; i++) + { + if (leafActive[i]) + { + if (leafSide[i]) + { + if (leafType[i] == 0) DrawTextureRec(atlas01, (Rectangle){ gameplay_props_leaf_lil.x, gameplay_props_leaf_lil.y, -gameplay_props_leaf_lil.width, gameplay_props_leaf_lil.height }, (Vector2){ leaf[i].x, leaf[i].y - 15 }, WHITE); + else if (leafType[i] == 1) DrawTextureRec(atlas01, (Rectangle){ gameplay_props_leaf_lil.x, gameplay_props_leaf_lil.y, -gameplay_props_leaf_lil.width, gameplay_props_leaf_lil.height }, (Vector2){leaf[i].x, leaf[i].y + 10 }, WHITE); + else if (leafType[i] == 2) DrawTextureRec(atlas01, (Rectangle){ gameplay_props_leaf_mid.x, gameplay_props_leaf_mid.y, -gameplay_props_leaf_mid.width, gameplay_props_leaf_mid.height }, (Vector2){leaf[i].x, leaf[i].y - 15 }, WHITE); + else if (leafType[i] == 3) DrawTextureRec(atlas01, (Rectangle){ gameplay_props_leaf_big.x, gameplay_props_leaf_big.y, -gameplay_props_leaf_big.width, gameplay_props_leaf_big.height }, (Vector2){leaf[i].x, leaf[i].y - 15 }, WHITE); + } + else + { + if (leafType[i] == 0) DrawTextureRec(atlas01, gameplay_props_leaf_lil, (Vector2){ leaf[i].x - 25, leaf[i].y - 15 }, WHITE); + else if (leafType[i] == 1) DrawTextureRec(atlas01, gameplay_props_leaf_lil, (Vector2){leaf[i].x - 25, leaf[i].y + 10 }, WHITE); + else if (leafType[i] == 2) DrawTextureRec(atlas01, gameplay_props_leaf_mid, (Vector2){leaf[i].x - 25, leaf[i].y - 15 }, WHITE); + else if (leafType[i] == 3) DrawTextureRec(atlas01, gameplay_props_leaf_big, (Vector2){leaf[i].x - 25, leaf[i].y - 15 }, WHITE); + } +#if defined(DEBUG) + DrawRectangle(leaf[i].x, leaf[i].y, 64, 64, Fade(GREEN, 0.5f)); +#endif + } + + if (leafParticles[i].active) + { + for (int j = 0; j < 32; j++) + { + DrawTexturePro(atlas01, particle_ecualyptusleaf, + (Rectangle){ leafParticles[i].particles[j].position.x, leafParticles[i].particles[j].position.y, particle_ecualyptusleaf.width*leafParticles[i].particles[j].size, particle_ecualyptusleaf.height*leafParticles[i].particles[j].size }, + (Vector2){ particle_ecualyptusleaf.width/2*leafParticles[i].particles[j].size, particle_ecualyptusleaf.height/2*leafParticles[i].particles[j].size }, leafParticles[i].particles[j].rotation, Fade(WHITE,leafParticles[i].particles[j].alpha)); + } + } + } + + if (beeActive && !isHitBee) DrawTextureRec(atlas01, beeAnimation, (Vector2){bee.x, bee.y - gameplay_enemy_bee.height/2}, WHITE); + else if (beeActive && isHitBee) DrawTexturePro(atlas01, (Rectangle){gameplay_enemy_bee.x + beeAnimation.width*4, gameplay_enemy_bee.y, beeAnimation.width, gameplay_enemy_bee.height}, + (Rectangle){bee.x, bee.y, beeAnimation.width, gameplay_enemy_bee.height}, (Vector2){0, 0}, 0, WHITE); + + if (eagleActive && !isHitEagle) DrawTextureRec(atlas01, eagleAnimation, (Vector2){eagle.x, eagle.y}, WHITE); + else if (eagleActive && isHitEagle) DrawTextureRec(atlas01, gameplay_enemy_eagle_death, (Vector2){eagle.x, eagle.y}, WHITE); + + if (alertActive) DrawTexturePro(atlas01, gameplay_fx_eaglealert, alertRectangle, (Vector2){0, 0}, 0, Fade(RED, 0.7f)); + if (alertBeeActive) DrawTexturePro(atlas01, gameplay_fx_eaglealert, beeAlertRectangle, (Vector2){0, 0}, 0, Fade(ORANGE, 0.7f)); + + if (transforming) + { + for (int i = 0; i < 8; i++) + { + DrawTexturePro(atlas02, background_transformation, + (Rectangle){player.x + player.width/2 , player.y + player.height/2, background_transformation.width*4, background_transformation.height*4}, + (Vector2){0, background_transformation.height*2}, 45*i, Fade(finalColor, 0.7f)); + } + + for (int i = 0; i < 8; i++) + { + DrawTexturePro(atlas02, background_transformation, + (Rectangle){player.x + player.width/2 , player.y + player.height/2, background_transformation.width*4, background_transformation.height}, + (Vector2){0, background_transformation.height/2}, 22.5 + 45*i, Fade(finalColor2, 0.7f)); + } + } + + if (playerActive && play) + { + switch(state) + { + case GRABED: DrawTextureRec(atlas01, koalaAnimationIddle, (Vector2){player.x - player.width, player.y - gameplay_koala_idle.height/4}, WHITE); break; + case JUMPING: DrawTexturePro(atlas01, gameplay_koala_jump, (Rectangle){player.x - player.width, player.y - gameplay_koala_jump.height/4, gameplay_koala_jump.width, gameplay_koala_jump.height}, (Vector2){0, 0}, 0, WHITE); break; + case KICK:DrawTexturePro(atlas01, gameplay_koala_dash, (Rectangle){player.x - player.width, player.y - gameplay_koala_jump.height/4, gameplay_koala_dash.width, gameplay_koala_dash.height}, (Vector2){0, 0}, 0, WHITE); break; + case FINALFORM: + { + if(transforming)DrawTexturePro(atlas01, koalaAnimationTransform, (Rectangle){player.x - player.width, player.y - gameplay_koala_transform.height/4, gameplay_koala_transform.width/2, gameplay_koala_transform.height}, (Vector2){0, 0}, 0, finalColor); + else DrawTexturePro(atlas01, koalaAnimationFly, (Rectangle){player.x - gameplay_koala_fly.width/3, player.y - gameplay_koala_fly.height/4, gameplay_koala_fly.width/2, gameplay_koala_fly.height}, (Vector2){0, 0}, 0, finalColor);//DrawTextureRec((koalaFly), (Rectangle){0, 0, 128, 128}, (Vector2){player.x - 50, player.y - 40}, WHITE); + + } break; + case ONWIND: DrawTexturePro(atlas01, gameplay_koala_jump, (Rectangle){player.x - player.width, player.y - gameplay_koala_jump.height/4, gameplay_koala_jump.width, gameplay_koala_jump.height}, (Vector2) { 0, 0}, 0, WHITE); break; + default: break; + } + } + else if (play == false && playerActive) DrawTextureRec(atlas01, (Rectangle){gameplay_koala_idle.x, gameplay_koala_idle.y, gameplay_koala_idle.width/3, gameplay_koala_idle.height}, (Vector2){player.x - player.width, player.y - gameplay_koala_idle.height/4}, WHITE); + else DrawTexturePro(atlas01, gameplay_koala_die, (Rectangle){player.x - player.width, player.y - gameplay_koala_die.height/4, gameplay_koala_die.width, gameplay_koala_die.height}, (Vector2) { 0, 0}, 0, WHITE); + + for (int i = 0; i < MAX_WIND; i++) + { + if (windActive[i]) DrawTextureRec(atlas01, windAnimation, (Vector2){wind[i].x - 14, wind[i].y - 14}, WHITE); + } + + if (playerActive && !play) + { + if (initSeason == 0) DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade((Color){216, 200, 39, 255}, 0.4)); + else if (initSeason == 1) DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade((Color){155, 70, 22, 255}, 0.4)); + else if (initSeason == 2) DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade((Color){17, 129, 162, 255}, 0.4)); + else DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade((Color){82, 174, 7, 255}, 0.4)); + } + + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (snowParticle.particles[i].active) DrawTexturePro(atlas01, particle_icecrystal, + (Rectangle){ snowParticle.particles[i].position.x, snowParticle.particles[i].position.y, particle_icecrystal.width*snowParticle.particles[i].size, particle_icecrystal.height*snowParticle.particles[i].size }, + (Vector2){ particle_icecrystal.width*snowParticle.particles[i].size/2, particle_icecrystal.height*snowParticle.particles[i].size/2 }, snowParticle.particles[i].rotation, + Fade(snowParticle.particles[i].color, snowParticle.particles[i].alpha)); + + if (planetreeParticle.particles[i].active) DrawTexturePro(atlas01, particle_planetreeleaf, + (Rectangle){ planetreeParticle.particles[i].position.x, planetreeParticle.particles[i].position.y, particle_planetreeleaf.width*planetreeParticle.particles[i].size, particle_planetreeleaf.height*planetreeParticle.particles[i].size }, + (Vector2){ particle_planetreeleaf.width*planetreeParticle.particles[i].size/2, particle_planetreeleaf.height*planetreeParticle.particles[i].size/2 }, planetreeParticle.particles[i].rotation, + Fade(planetreeParticle.particles[i].color, planetreeParticle.particles[i].alpha)); + + if (dandelionParticle.particles[i].active) DrawTexturePro(atlas01, particle_dandelion, + (Rectangle){ dandelionParticle.particles[i].position.x, dandelionParticle.particles[i].position.y, particle_dandelion.width*dandelionParticle.particles[i].size, particle_dandelion.height*dandelionParticle.particles[i].size }, + (Vector2){ particle_dandelion.width*dandelionParticle.particles[i].size/2, particle_dandelion.height*dandelionParticle.particles[i].size/2 }, dandelionParticle.particles[i].rotation, + Fade(dandelionParticle.particles[i].color, dandelionParticle.particles[i].alpha)); + + if (flowerParticle.particles[i].active) DrawTexturePro(atlas01, particle_ecualyptusflower, + (Rectangle){ flowerParticle.particles[i].position.x, flowerParticle.particles[i].position.y, particle_ecualyptusflower.width*flowerParticle.particles[i].size, particle_ecualyptusflower.height*flowerParticle.particles[i].size }, + (Vector2){ particle_ecualyptusflower.width*flowerParticle.particles[i].size/2, particle_ecualyptusflower.height*flowerParticle.particles[i].size/2 }, flowerParticle.particles[i].rotation, + Fade(flowerParticle.particles[i].color, flowerParticle.particles[i].alpha)); + + if (rainParticle.particles[i].active) DrawTexturePro(atlas01, particle_waterdrop, + (Rectangle){ rainParticle.particles[i].position.x, rainParticle.particles[i].position.y, particle_waterdrop.width*rainParticle.particles[i].size, particle_waterdrop.height*rainParticle.particles[i].size }, + (Vector2){ particle_waterdrop.width*rainParticle.particles[i].size/2, particle_waterdrop.height*rainParticle.particles[i].size/2 }, rainParticle.particles[i].rotation, + Fade(rainParticle.particles[i].color, rainParticle.particles[i].alpha)); + } + + // Draw Speed Particles + for (int i = 0; i < MAX_PARTICLES_SPEED; i++) + { + if (speedFX.particle[i].active) DrawRectangle(speedFX.particle[i].position.x, speedFX.particle[i].position.y, speedFX.particle[i].size.x, speedFX.particle[i].size.y , Fade(WHITE, speedFX.particle[i].alpha)); + } + + for (int i = 0; i < MAX_PARTICLES_STORM; i++) + { + if (rainStormParticle.particles[i].active) DrawTexturePro(atlas01, particle_waterdrop, + (Rectangle){ rainStormParticle.particles[i].position.x, rainStormParticle.particles[i].position.y, particle_waterdrop.width*rainStormParticle.particles[i].size, particle_waterdrop.height*rainStormParticle.particles[i].size }, + (Vector2){ particle_waterdrop.width*rainStormParticle.particles[i].size/2, particle_waterdrop.height*rainStormParticle.particles[i].size/2 }, rainStormParticle.particles[i].rotation, + Fade(rainStormParticle.particles[i].color, rainStormParticle.particles[i].alpha)); + } + + for (int i = 0; i < MAX_PARTICLES_STORM; i++) + { + if (snowStormParticle.particles[i].active) DrawTexturePro(atlas01, particle_icecrystal, + (Rectangle){ snowStormParticle.particles[i].position.x, snowStormParticle.particles[i].position.y, particle_icecrystal.width*snowStormParticle.particles[i].size, particle_icecrystal.height*snowStormParticle.particles[i].size }, + (Vector2){ particle_icecrystal.width*snowStormParticle.particles[i].size/2, particle_icecrystal.height*snowStormParticle.particles[i].size/2 }, snowStormParticle.particles[i].rotation, + Fade(snowStormParticle.particles[i].color, snowStormParticle.particles[i].alpha)); + } + + for (int i = 0; i < MAX_PARTICLES_RAY; i++) + { + if (rayParticles.particles[i].active) DrawTexturePro(atlas01, gameplay_fx_lightraymid, + (Rectangle){ rayParticles.particles[i].position.x, rayParticles.particles[i].position.y, gameplay_fx_lightraymid.width*rayParticles.particles[i].size, gameplay_fx_lightraymid.height*rayParticles.particles[i].size }, + (Vector2){ gameplay_fx_lightraymid.width*rayParticles.particles[i].size/2, gameplay_fx_lightraymid.height*rayParticles.particles[i].size/2 }, rayParticles.particles[i].rotation, + Fade(rayParticles.particles[i].color, rayParticles.particles[i].alpha)); + } + + if (fogAlpha != 0) + { + DrawTexturePro(atlas02, background_fog02, (Rectangle){ fogPosition, GetScreenHeight()*0.6, GetScreenWidth(), background_fog02.height}, (Vector2){ 0 , 0 }, 0, Fade(WHITE, fogAlpha)); + DrawTexturePro(atlas02, background_fog02, (Rectangle){ fogPosition+GetScreenWidth(), GetScreenHeight()*0.6, GetScreenWidth(), background_fog02.height}, (Vector2){ 0 , 0 }, 0, Fade(WHITE, fogAlpha)); + } + + if (filterAlpha != 0 && state != FINALFORM) DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(SKYBLUE, filterAlpha)); + + DrawTexturePro(atlas01, gameplay_gui_leafcounter_base, (Rectangle){ 0, 0, gameplay_gui_leafcounter_base.width, gameplay_gui_leafcounter_base.height}, (Vector2){ 0 , 0 }, 0, WHITE); + + DrawTexturePro(atlas01, gameplay_gui_seasonsclock_disc, (Rectangle) {GetScreenWidth(), 0, gameplay_gui_seasonsclock_disc.width, gameplay_gui_seasonsclock_disc.height}, (Vector2) {gameplay_gui_seasonsclock_disc.width/2, gameplay_gui_seasonsclock_disc.height/2}, // Draw a part of a texture defined by a rectangle with 'pro' parameters + clockRotation, Fade(WHITE, UIfade)); + + DrawTexturePro(atlas01, gameplay_gui_seasonsclock_base, (Rectangle){ (GetScreenWidth() - gameplay_gui_seasonsclock_base.width ), 0, gameplay_gui_seasonsclock_base.width, gameplay_gui_seasonsclock_base.height}, (Vector2){ 0 , 0 }, 0, Fade(WHITE, UIfade)); + + for (int i = 0; i < 20; i++) + { + if (((currentLeaves/5) > i) && (state != FINALFORM)) DrawTexturePro(atlas01, gameplay_gui_leafcounter_cell, (Rectangle) {87, 83, gameplay_gui_leafcounter_cell.width, gameplay_gui_leafcounter_cell.height}, (Vector2) {gameplay_gui_leafcounter_cell.width/4, 69}, i*(-18), WHITE); + else if ((power/18 >= i) && (state == FINALFORM)) DrawTexturePro(atlas01, gameplay_gui_leafcounter_cell, (Rectangle) {87, 83, gameplay_gui_leafcounter_cell.width, gameplay_gui_leafcounter_cell.height}, (Vector2) {gameplay_gui_leafcounter_cell.width/4, 69}, i*(-18), WHITE); + } + + if ((currentLeaves >= LEAVESTOTRANSFORM) && (state != FINALFORM)) + { + DrawTexturePro(atlas01, gameplay_gui_leafcounter_pulsel, + (Rectangle){ 85, 84, gameplay_gui_leafcounter_pulsel.width*leafGUIpulseScale, gameplay_gui_leafcounter_pulsel.height*leafGUIpulseScale}, + (Vector2){ gameplay_gui_leafcounter_pulsel.width*leafGUIpulseScale/2 , gameplay_gui_leafcounter_pulsel.height*leafGUIpulseScale/2 }, 0, Fade((Color){126, 248, 25, 255}, leafGUIpulseFade)); + + DrawTexturePro(atlas01, gameplay_gui_leafcounter_glow, + (Rectangle){ 84, 83, gameplay_gui_leafcounter_glow.width, gameplay_gui_leafcounter_glow.height}, + (Vector2){ gameplay_gui_leafcounter_glow.width/2 , gameplay_gui_leafcounter_glow.height/2 }, 0, Fade(WHITE, leafGUIglowFade)); + } + + if ((play == false) && playerActive) + { + if (startNum == 3) DrawTexturePro(atlas01, gameplay_countdown_3, + (Rectangle){ GetScreenWidth()/2, GetScreenHeight()/2, gameplay_countdown_3.width*numberScale, gameplay_countdown_3.height*numberScale}, + (Vector2){ gameplay_countdown_3.width*numberScale/2 , gameplay_countdown_3.height*numberScale/2 }, 0, Fade(RED, numberAlpha)); + else if (startNum == 2) DrawTexturePro(atlas01, gameplay_countdown_2, + (Rectangle){ GetScreenWidth()/2, GetScreenHeight()/2, gameplay_countdown_2.width*numberScale, gameplay_countdown_2.height*numberScale}, + (Vector2){ gameplay_countdown_2.width*numberScale/2 , gameplay_countdown_2.height*numberScale/2 }, 0, Fade(RED, leafGUIpulseFade)); + else if (startNum == 1) DrawTexturePro(atlas01, gameplay_countdown_1, + (Rectangle){ GetScreenWidth()/2, GetScreenHeight()/2, gameplay_countdown_1.width*numberScale, gameplay_countdown_1.height*numberScale}, + (Vector2){ gameplay_countdown_1.width*numberScale/2 , gameplay_countdown_1.height*numberScale/2 }, 0, Fade(RED, leafGUIpulseFade)); + } + + // Draw text elements + //-------------------------- + for (int i = 0; i < MAX_ENEMIES; i++) + { + if (popupScore[i].active) + { + DrawTextEx(font, FormatText("%i", popupScore[i].score), popupScore[i].position, font.baseSize/4*popupScore[i].scale, -5, Fade((Color){255, 73, 73, 255}, popupScore[i].alpha)); + } + } + + if (popupBee.active) DrawTextEx(font, FormatText("%i", popupBee.score), popupBee.position, font.baseSize/4*popupBee.scale, -5, Fade((Color){255, 73, 73, 255}, popupBee.alpha)); + if (popupEagle.active) DrawTextEx(font, FormatText("%i", popupEagle.score), popupEagle.position, font.baseSize/4*popupEagle.scale, -5, Fade((Color){255, 73, 73, 255}, popupEagle.alpha)); + + for (int i = 0; i < MAX_LEAVES; i++) + { + if (popupLeaves[i].active) DrawTextEx(font, FormatText("+ %i", popupLeaves[i].score), popupLeaves[i].position, font.baseSize/4*popupLeaves[i].scale, -5, Fade((Color){139, 179, 0, 255}, popupLeaves[i].alpha)); + } + + + DrawTextEx(font, FormatText("%03i", currentLeaves), (Vector2){ 47, 50 }, font.baseSize, -8, counterColor); + + if (transforming) DrawTextEx(font, textFinalForm, (Vector2){ GetScreenWidth()/2 - MeasureText(textFinalForm, 40)/2, GetScreenHeight()/4}, font.baseSize, -5, (Color){246, 133, 133, 255}); + + if ((currentMonth == 7) && (transitionFramesCounter >= SEASONTRANSITION/2)) + { + if (randomMessage <= 4) DrawTextEx(font, textSpring1, (Vector2){GetScreenWidth()/2 - MeasureText(textSpring1, 40)/2, GetScreenHeight()/3}, font.baseSize, -5, (Color){185, 222, 105, 255}); + else DrawTextEx(font, textSpring2, (Vector2){GetScreenWidth()/2 - MeasureText(textSpring2, 40)/2, GetScreenHeight()/3}, font.baseSize, -5, (Color){185, 222, 105, 255}); + } + else if ((currentMonth == 10) && (transitionFramesCounter >= SEASONTRANSITION/2)) + { + if (randomMessage <= 4) DrawTextEx(font, textSummer1, (Vector2){GetScreenWidth()/2 - MeasureText(textSummer1, 40)/2, GetScreenHeight()/3}, font.baseSize, -5, (Color){253, 200, 108, 255}); + else DrawTextEx(font, textSummer2, (Vector2){GetScreenWidth()/2 - MeasureText(textSummer2, 40)/2, GetScreenHeight()/3}, font.baseSize, -5, (Color){253, 200, 108, 255}); + } + else if ((currentMonth == 1) && (transitionFramesCounter >= SEASONTRANSITION/2)) + { + if (randomMessage <= 4) DrawTextEx(font, textFall1, (Vector2){GetScreenWidth()/2 - MeasureText(textFall1, 40)/2, GetScreenHeight()/3}, font.baseSize, -5, (Color){255, 149, 107, 255}); + else DrawTextEx(font, textFall2, (Vector2){GetScreenWidth()/2 - MeasureText(textFall2, 40)/2, GetScreenHeight()/3}, font.baseSize, -5, (Color){255, 149, 107, 255}); + } + else if (currentMonth == 4 && transitionFramesCounter >= SEASONTRANSITION/2) + { + if (randomMessage <= 4) DrawTextEx(font, textWinter1, (Vector2){GetScreenWidth()/2 - MeasureText(textWinter1, 40)/2, GetScreenHeight()/3}, font.baseSize, -5, (Color){133, 249, 253, 255}); + else DrawTextEx(font, textWinter2, (Vector2){GetScreenWidth()/2 - MeasureText(textWinter2, 40)/2, GetScreenHeight()/3}, font.baseSize, -5, (Color){133, 249, 253, 255}); + } + +#if defined(DEBUG) + DrawRectangle(player.x, player.y, player.width, player.height, Fade(WHITE, 0.5)); + + for (int i = 0; i < MAX_WIND; i++) + { + if (windActive[i]) DrawRectangleRec(wind[i], Fade (GRAY, 0.4)); + } + + for (int i = 0; i < MAX_ENEMIES; i++) + { + if (owlActive[i]) DrawRectangleRec(owl[i], Fade(BLACK, 0.5f)); + if (dingoActive[i]) DrawRectangleRec(dingo[i], Fade(BLACK, 0.5f)); + if (snakeActive[i]) DrawRectangleRec(snake[i], BLACK); + } + + if (beeActive) DrawRectangleRec(bee, Fade(BLACK, 0.5f)); + if (eagleActive) DrawRectangleRec(eagle, Fade(BLACK, 0.5f)); + + switch (season) + { + case WINTER: + { + if (currentMonth == 5) DrawText("June", GetScreenWidth() - 140, GetScreenHeight() - 20, 20, RED); + if (currentMonth == 6) DrawText("July", GetScreenWidth() - 140, GetScreenHeight() - 20, 20, RED); + + } break; + case SPRING: + { + if (currentMonth == 8) DrawText("September", GetScreenWidth() - 140, GetScreenHeight() - 20, 20, RED); + if (currentMonth == 9) DrawText("October", GetScreenWidth() - 140, GetScreenHeight() - 20, 20, RED); + + } break; + case SUMMER: + { + if (currentMonth == 11) DrawText("December", GetScreenWidth() - 140, GetScreenHeight() - 20, 20, RED); + if (currentMonth == 0) DrawText("January", GetScreenWidth() - 140, GetScreenHeight() - 20, 20, RED); + + } break; + case FALL: + { + if (currentMonth == 2) DrawText("March", GetScreenWidth() - 140, GetScreenHeight() - 20, 20, RED); + if (currentMonth == 3) DrawText("April", GetScreenWidth() - 140, GetScreenHeight() - 20, 20, RED); + + } break; + case TRANSITION: + { + if (currentMonth == 4) DrawText("May", GetScreenWidth() - 140, GetScreenHeight() - 20, 20, RED); + + } break; + default: break; + } + + DrawText(FormatText("Score: %02i", score), 140, GetScreenHeight() - 20, 20, RED); + DrawText(FormatText("HighScore: %02i", hiscore), 600, GetScreenHeight() - 20, 20, RED); + DrawText(FormatText("SeasonChange: %03i", seasonTimer), 300, GetScreenHeight() - 20, 20, RED); +#endif +} + +// Gameplay Screen Unload logic +void UnloadGameplayScreen(void) +{ + // ... +} + +// Gameplay Screen should finish? +int FinishGameplayScreen(void) +{ + return finishScreen; +} + +// Tree Spawn +static void BambooSpawn(void) +{ + int counter = 0; + + for (int k = 0; k < MAX_ENEMIES; k++) + { + if ((!bambooActive[k]) && (counter < 1)) + { + bamboo[k].y = 0; + bamboo[k].x = GetScreenWidth(); + bambooActive[k] = true; + counter++; + } + } +} + +//Snake Spawn +static void SnakeSpawn(int chance) +{ + int position; + int counter = 0; + + for (int z = 0; z < 2; z++) posArray[z] = -1; + + if (GetRandomValue(0, 100) <= chance) + { + for (int k = 0; k < MAX_ENEMIES; k++) + { + if ((!snakeActive[k]) && (counter < 1)) + { + position = GetRandomValue(0, 4); + + if (counter == 0) posArray[counter] = position; + + snake[k].x = GetScreenWidth() - 15; + snake[k].y = 25 + GetScreenHeight()/5*position; + snakeActive[k] = true; + isHitSnake[k] = false; + counter++; + } + } + } +} + +// Dingo Spawn +static void DingoSpawn(int chance) +{ + int position; + int counter = 0; + + for (int z = 0; z < 2; z++) posArrayDingo[z] = -1; + + if (GetRandomValue(0, 100) <= chance) + { + for(int k = 0; k < MAX_ENEMIES; k++) + { + if ((!dingoActive[k]) && (counter < 1)) + { + position = GetRandomValue(1, 3); + + if (counter == 0) posArray[counter] = position; + + dingo[k].x = GetScreenWidth() - 15; + dingo[k].y = 25 + GetScreenHeight()/5*position; + dingoActive[k] = true; + isHitDingo[k] = false; + counter++; + } + } + } +} + +// Owl Spawn +static void OwlSpawn(int chance) +{ + int position; + int counter = 0; + + for (int z = 0; z < 2; z++) posArray[z] = -1; + + if (GetRandomValue(0, 100) <= chance) + { + for (int k = 0; k < MAX_ENEMIES; k++) + { + if ((!owlActive[k]) && (!branchActive[k]) && (counter < 1)) + { + position = GetRandomValue(1, 3); + + if (counter == 0) posArray[counter] = position; + + owl[k].x = GetScreenWidth() - 15; + owl[k].y = 25 + GetScreenHeight()/5*position; + owlActive[k] = true; + branchPos[k].x = owl[k].x; + branchPos[k].y = owl[k].y + 64; + branchActive[k] = true; + counter++; + } + } + } +} + +// Leaf spawn function +static void LeafSpawn(void) +{ + int counter = 0; + int maxLeavesCounter = GetRandomValue(0, 2); + + for (int z = 0; z < 2; z++) posArrayLeaf[z] = -1; + + for (int k = 0; k < MAX_LEAVES; k++) + { + if ((!leafActive[k]) && (counter <= maxLeavesCounter)) + { + int leafPosition = GetRandomValue(0, 4); + int leafTypeSelection = GetRandomValue(0,99); + int leafSideSelection = GetRandomValue(0,1); + leafSide[k] = leafSideSelection; + + if (counter == 0) + { + while (CheckArrayValue(posArray, 2, leafPosition)) leafPosition = GetRandomValue(0, 4); + posArrayLeaf[counter] = leafPosition; + } + else if (counter == 1) + { + while(leafPosition == posArrayLeaf[counter - 1] || CheckArrayValue(posArray, 2, leafPosition)) leafPosition = GetRandomValue(0, 4); + posArrayLeaf[counter] = leafPosition; + } + else if (counter == 2) + { + while((leafPosition == posArrayLeaf[counter - 1] || (leafPosition == posArrayLeaf[counter - 2])) || CheckArrayValue(posArray, 2, leafPosition)) leafPosition = GetRandomValue(0, 4); + posArrayLeaf[counter] = leafPosition; + } + + leaf[k].y = 30 + GetScreenHeight()/5*leafPosition; + leaf[k].x = GetScreenWidth() - 18; + leafActive[k] = true; + + if (leafTypeSelection <= 24) leafType[k] = 0; + else if ((leafTypeSelection > 24) && leafTypeSelection <= 50) leafType[k] = 1; + else if ((leafTypeSelection > 50) && leafTypeSelection <= 75) leafType[k] = 2; + else leafType[k] = 3; + + counter++; + } + } +} + +static void FireSpawn(int chance) +{ + int counter = 0; + + if (GetRandomValue(0, 100) <= chance) + { + for (int k = 0; k < MAX_FIRE; k++) + { + if ((!fireActive[k]) && (counter < 1)) + { + fire[k].y = GetScreenHeight() - 30; + fire[k].x = GetScreenWidth() - 5; + //fire[k].height = 30; + fireActive[k] = true; + onFire[k] = false; + counter++; + } + } + } +} + +static void IceSpawn(int chance) +{ + int counter = 0; + + if (GetRandomValue(0, 100) <= chance) + { + for (int k = 0; k < MAX_ICE; k++) + { + if ((!iceActive[k]) && (counter < 1)) + { + ice[k].y = 0; + ice[k].x = GetScreenWidth() + 5; + iceActive[k] = true; + counter++; + } + } + } +} + +static void ResinSpawn(int chance) +{ + int counter = 0; + + if (GetRandomValue(0, 100) <= chance) + { + for (int k = 0; k < MAX_RESIN; k++) + { + if ((!resinActive[k]) && (counter < 1)) + { + int resPosition = GetRandomValue(0, 4); + + while (CheckArrayValue(posArray, 2, resPosition)) resPosition = GetRandomValue(0, 4); + + resin[k].y = 25 + GetScreenHeight()/5*resPosition; + resin[k].x = GetScreenWidth() + 5; + resinActive[k] = true; + counter++; + } + } + } +} + +static void WindSpawn(int chance) +{ + int counter = 0; + + if (GetRandomValue(0, 100) <= chance) + { + for (int k = 0; k < MAX_WIND ; k++) + { + if ((!windActive[k]) && (counter < 1)) + { + int resPosition = GetRandomValue(0, 4); + + while (CheckArrayValue(posArray, 2, resPosition)) resPosition = GetRandomValue(0, 4); + + wind[k].y = 25 + GetScreenHeight()/5*resPosition; + wind[k].x = GetScreenWidth() + 5; + windActive[k] = true; + counter++; + } + } + } +} + +// Spawn bee enemy +static void BeeSpawn(int chance) +{ + if ((GetRandomValue(0, 100) <= chance) && !beeActive && !alertBeeActive) + { + bee.x = GetScreenWidth(); + bee.y = GetRandomValue(40, GetScreenHeight() - bee.height - 40); + beeAlertRectangle = (Rectangle){GetScreenWidth(), bee.y + gameplay_enemy_bee.height/2, 0, 0}; + beeActive = false; + alertBeeActive = true; + } +} + +// Spawn eagle enemy +static void EagleSpawn(int chance) +{ + if ((GetRandomValue(0, 100) <= chance) && !eagleActive && !alertActive) + { + eagleDelay = 0; + eagle.x = GetScreenWidth(); + eagle.y = player.y; + alertRectangle = (Rectangle){GetScreenWidth(), eagle.y + gameplay_enemy_eagle.height/2, 0, 0}; + eagleActive = false; + eagleAlert = true; + alertActive = true; + } +} + +// Check if the array contains a value +static bool CheckArrayValue(int *array, int arrayLength, int value) +{ + for (int n = 0; n < arrayLength; n++) + { + if (array[n] == value) return 1; + } + + return 0; +} + +// Scroll functions +// Front parallax drawing +static void DrawParallaxFront(void) +{ + Rectangle ground01 = gameplay_back_ground01; + + DrawTexturePro(atlas02, gameplay_back_tree01_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset, 60, gameplay_back_tree01_layer01.width*2, gameplay_back_tree01_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree02_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset + 140, 60, gameplay_back_tree02_layer01.width*2, gameplay_back_tree02_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree03_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset + 140*2, 55, gameplay_back_tree02_layer01.width*2, gameplay_back_tree02_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree04_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset + 140*3, 60, gameplay_back_tree04_layer01.width*2, gameplay_back_tree04_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree05_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset + 140*4, 60, gameplay_back_tree05_layer01.width*2, gameplay_back_tree05_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree06_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset + 140*5, 55, gameplay_back_tree06_layer01.width*2, gameplay_back_tree06_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree07_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset + 140*6, 60, gameplay_back_tree07_layer01.width*2, gameplay_back_tree07_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree08_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset + 140*7, 60, gameplay_back_tree08_layer01.width*2, gameplay_back_tree08_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_ground01, (Rectangle){(int)scrollFront, 559, ground01.width*2, ground01.height*2}, (Vector2){0,0}, 0, color01); + DrawTexturePro(atlas02, (Rectangle){ground01.x, ground01.y + ground01.height, ground01.width, -ground01.height}, (Rectangle){(int)scrollFront, -33, ground01.width*2, ground01.height*2}, (Vector2){0,0}, 0, color01); + + DrawTexturePro(atlas02, gameplay_back_tree01_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset + GetScreenWidth(), 60, gameplay_back_tree01_layer01.width*2, gameplay_back_tree01_layer01.height*2},(Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree02_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset + GetScreenWidth() + 140, 60, gameplay_back_tree02_layer01.width*2, gameplay_back_tree02_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree03_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset + GetScreenWidth() + 140*2, 55, gameplay_back_tree03_layer01.width*2, gameplay_back_tree03_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree04_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset + GetScreenWidth() + 140*3, 60, gameplay_back_tree04_layer01.width*2, gameplay_back_tree04_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree05_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset + GetScreenWidth() + 140*4, 60, gameplay_back_tree05_layer01.width*2, gameplay_back_tree05_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree06_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset + GetScreenWidth() + 140*5, 55, gameplay_back_tree06_layer01.width*2, gameplay_back_tree06_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree07_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset + GetScreenWidth() + 140*6, 60, gameplay_back_tree07_layer01.width*2, gameplay_back_tree07_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree08_layer01, (Rectangle){(int)scrollFront + parallaxFrontOffset+ GetScreenWidth() + 140*7, 60, gameplay_back_tree08_layer01.width*2, gameplay_back_tree08_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_ground01, (Rectangle){(int)scrollFront + GetScreenWidth(), 559, ground01.width*2, ground01.height*2}, (Vector2){0,0}, 0, color01); + DrawTexturePro(atlas02, (Rectangle){ground01.x, ground01.y + ground01.height, ground01.width, -ground01.height}, (Rectangle){(int)scrollFront+ GetScreenWidth(), -33, ground01.width*2, ground01.height*2}, (Vector2){0,0}, 0, color01); +} + +// Middle parallax drawing +static void DrawParallaxMiddle(void) +{ + Rectangle ground02 = gameplay_back_ground02; + + DrawTexturePro(atlas02, gameplay_back_tree01_layer02, (Rectangle){(int)scrollMiddle, 67, gameplay_back_tree01_layer02.width*2, gameplay_back_tree01_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree02_layer02, (Rectangle){(int)scrollMiddle + 140, 67, gameplay_back_tree02_layer02.width*2, gameplay_back_tree02_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree03_layer02, (Rectangle){(int)scrollMiddle + 140*2, 67, gameplay_back_tree03_layer02.width*2, gameplay_back_tree03_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree04_layer02, (Rectangle){(int)scrollMiddle + 140*3, 67, gameplay_back_tree04_layer02.width*2, gameplay_back_tree04_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree05_layer02, (Rectangle){(int)scrollMiddle + 140*4, 67, gameplay_back_tree05_layer02.width*2, gameplay_back_tree05_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree06_layer02, (Rectangle){(int)scrollMiddle + 140*5, 67, gameplay_back_tree06_layer02.width*2, gameplay_back_tree06_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree07_layer02, (Rectangle){(int)scrollMiddle + 140*6, 67, gameplay_back_tree07_layer02.width*2, gameplay_back_tree07_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree08_layer02, (Rectangle){(int)scrollMiddle + 140*7, 67, gameplay_back_tree08_layer02.width*2, gameplay_back_tree08_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_ground02, (Rectangle){(int)scrollMiddle, 509, ground02.width*2, ground02.height*2}, (Vector2){0,0}, 0, color01); + DrawTexturePro(atlas02, (Rectangle){ground02.x, ground02.y + ground02.height, ground02.width, -ground02.height}, (Rectangle){(int)scrollMiddle, 19, ground02.width*2, ground02.height*2}, (Vector2){0,0}, 0, color01); + + DrawTexturePro(atlas02, gameplay_back_tree02_layer02, (Rectangle){(int)scrollMiddle + GetScreenWidth() + 140, 67, gameplay_back_tree02_layer02.width*2, gameplay_back_tree02_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree03_layer02, (Rectangle){(int)scrollMiddle + GetScreenWidth() + 140*2, 67, gameplay_back_tree03_layer02.width*2, gameplay_back_tree03_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree04_layer02, (Rectangle){(int)scrollMiddle + GetScreenWidth() + 140*3, 67, gameplay_back_tree04_layer02.width*2, gameplay_back_tree04_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree05_layer02, (Rectangle){(int)scrollMiddle + GetScreenWidth() + 140*4, 67, gameplay_back_tree05_layer02.width*2, gameplay_back_tree05_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree06_layer02, (Rectangle){(int)scrollMiddle + GetScreenWidth() + 140*5, 67, gameplay_back_tree06_layer02.width*2, gameplay_back_tree06_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree07_layer02, (Rectangle){(int)scrollMiddle + GetScreenWidth() + 140*6, 67, gameplay_back_tree07_layer02.width*2, gameplay_back_tree07_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree08_layer02, (Rectangle){(int)scrollMiddle + GetScreenWidth() + 140*7, 67, gameplay_back_tree08_layer02.width*2, gameplay_back_tree08_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree01_layer02, (Rectangle){(int)scrollMiddle+ GetScreenWidth(), 67, gameplay_back_tree01_layer02.width*2, gameplay_back_tree01_layer02.height*2},(Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_ground02, (Rectangle){(int)scrollMiddle + GetScreenWidth(), 509, ground02.width*2, ground02.height*2},(Vector2){0,0}, 0, color01); + DrawTexturePro(atlas02, (Rectangle){ground02.x, ground02.y + ground02.height, ground02.width, -ground02.height}, (Rectangle){(int)scrollMiddle+ GetScreenWidth(), 19, ground02.width*2, ground02.height*2}, (Vector2){0,0}, 0, color01); +} + +// Back parallax drawing +static void DrawParallaxBack(void) +{ + Rectangle ground03 = gameplay_back_ground03; + + DrawTexturePro(atlas02, gameplay_back_tree01_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset, 67, gameplay_back_tree01_layer03.width*2, gameplay_back_tree01_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree02_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset + 140, 67, gameplay_back_tree02_layer03.width*2, gameplay_back_tree02_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree03_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset + 140*2, 67, gameplay_back_tree03_layer03.width*2, gameplay_back_tree03_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree04_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset + 140*3, 67, gameplay_back_tree04_layer03.width*2, gameplay_back_tree04_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree05_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset + 140*4, 67, gameplay_back_tree05_layer03.width*2, gameplay_back_tree05_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree06_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset + 140*5, 67, gameplay_back_tree06_layer03.width*2, gameplay_back_tree06_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree07_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset + 140*6, 67, gameplay_back_tree07_layer03.width*2, gameplay_back_tree07_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree08_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset + 140*7, 67, gameplay_back_tree08_layer03.width*2, gameplay_back_tree08_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_ground03, (Rectangle){(int)scrollBack, 469, ground03.width*2, ground03.height*2}, (Vector2){0,0}, 0, color01); + DrawTexturePro(atlas02, (Rectangle){ground03.x, ground03.y + ground03.height, ground03.width, -ground03.height}, (Rectangle){(int)scrollBack, 67, ground03.width*2, ground03.height*2}, (Vector2){0,0}, 0, color01); + + DrawTexturePro(atlas02, gameplay_back_tree01_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset+ GetScreenWidth(), 67, gameplay_back_tree01_layer03.width*2, gameplay_back_tree01_layer03.height*2},(Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree02_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset + GetScreenWidth() + 140, 67, gameplay_back_tree02_layer03.width*2, gameplay_back_tree02_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree03_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset + GetScreenWidth() + 140*2, 67, gameplay_back_tree03_layer03.width*2, gameplay_back_tree03_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree04_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset + GetScreenWidth() + 140*3, 67, gameplay_back_tree04_layer03.width*2, gameplay_back_tree04_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree05_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset + GetScreenWidth() + 140*4, 67, gameplay_back_tree05_layer03.width*2, gameplay_back_tree05_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree06_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset + GetScreenWidth() + 140*5, 67, gameplay_back_tree06_layer03.width*2, gameplay_back_tree06_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree07_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset + GetScreenWidth() + 140*6, 67, gameplay_back_tree07_layer03.width*2, gameplay_back_tree07_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree08_layer03, (Rectangle){(int)scrollBack + parallaxBackOffset + GetScreenWidth() + 140*7, 67, gameplay_back_tree08_layer03.width*2, gameplay_back_tree08_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_ground03, (Rectangle){(int)scrollBack + GetScreenWidth(), 469, ground03.width*2, ground03.height*2}, (Vector2){0,0}, 0, color01); + DrawTexturePro(atlas02, (Rectangle){ground03.x, ground03.y + ground03.height, ground03.width, -ground03.height}, (Rectangle){(int)scrollBack+ GetScreenWidth(), 67, ground03.width*2, ground03.height*2}, (Vector2){0,0}, 0, color01); +} + +// Linear easing animation +static float LinearEaseIn(float t, float b, float c, float d) { return c*t/d + b; } + +// Transition from one color to another +static Color ColorTransition(Color initialColor, Color finalColor, int framesCounter) +{ + Color currentColor; + + currentColor.r = (unsigned char)LinearEaseIn((float)framesCounter, (float)initialColor.r, (float)(finalColor.r - initialColor.r), (float)(SEASONTRANSITION)); + currentColor.g = (unsigned char)LinearEaseIn((float)framesCounter, (float)initialColor.g, (float)(finalColor.g - initialColor.g), (float)(SEASONTRANSITION)); + currentColor.b = (unsigned char)LinearEaseIn((float)framesCounter, (float)initialColor.b, (float)(finalColor.b - initialColor.b), (float)(SEASONTRANSITION)); + currentColor.a = 255; + + return currentColor; +} + +static void Reset(void) +{ + framesCounter = 0; + finishScreen = 0; + grabCounter = 10; + bambooTimer = 0; + bambooSpawnTime = 0; + gravity = 5; + speed = 3; + score = 0; + hiscore = 0; + power = 360; + resinCount = 0; + rightAlpha = 0.5; + leftAlpha = 0.5; + speedMod = 1.2f; + transCount = 0; + windCounter = 0; + maxPower = 360; + playerActive = true; + scrollFront = 0; + scrollMiddle = 0; + scrollBack = 0; + scrollSpeed = 1.6f*TIME_FACTOR; + groundPos = 0; + resinCountjump = 0; + resinCountdrag = 0; + colorTimer = 0; + play = false; + onIce = false; + onResin = false; + jumpSpeed = 6; + transforming = false; + eagleAlert = false; + alertActive = false; + fireSpeed = 4; + seasonTimer = 0; + seasonChange = SEASONCHANGE; + monthChange = seasonChange/3; + glowing = true; + currentFrame = 0; + curFrame = 0; + curFrame1 = 1; + curFrame2 = 2; + curFrame3 = 3; + curFrameBee = 0; + fireOffset = 20; + beeMov = 0; + killCounter = 0; + currentLeaves = 0; + clockRotation = 0; + flyColor = GRAY; + globalFrameCounter = 0; + startCounter = 0; + numberAlpha = 1; + numberScale = 2.5f; + startNum = 3; + animCounter = 0; + finalFormEnd = 0; + randomMessage = 0; + years = 0; + UIfade = 1; + fogAlpha = 0; + seasons = 0; + fog = false; + clockSpeedRotation = 0; + eagleDelay = 0; + + parallaxBackOffset = GetRandomValue (10, 100); + parallaxFrontOffset = GetRandomValue (100, 200); + + progresionDelay = 0; + progresionFramesCounter = 0; + speedProgresion = 0; + + jumpCounter = 0; + resinCounter = 0; + tornadoCounter = 0; + dashCounter = 0; + superKoalaCounter = 0; + + fogSpeed = 2; + + leafGUIglow = true; + leafGUIglowFade = 0; + leafGUIpulseFade = 1; + leafGUIpulseScale = 1; + + //initMonth = ptm->tm_mon; + initYears = 1900 + ptm->tm_year; + + //initMonth = STARTINGMONTH; + + if (initSeason == 0) + { + initMonth = 11; + clockRotation = 225; + clockInitRotation = 225; + clockFinalRotation = clockInitRotation + 90; + color00 = (Color){129, 172, 86, 255}; // Summer Color + color01 = (Color){145, 165, 125, 255}; + color02 = (Color){161, 130, 73, 255}; + color03 = (Color){198, 103, 51, 255}; + } + else if (initSeason == 1) + { + initMonth = 2; + clockRotation = 315; + clockInitRotation = 315; + clockFinalRotation = clockInitRotation + 90; + color00 = (Color){242, 113, 62, 255}; // Fall Color + color01 = (Color){190, 135, 114, 255}; + color02 = (Color){144, 130, 101, 255}; + color03 = (Color){214, 133, 58, 255}; + } + else if (initSeason == 2) + { + initMonth = 5; + clockRotation = 45; + clockInitRotation = 45; + clockFinalRotation = clockInitRotation + 90; + color00 = (Color){130, 130, 181, 255}; // Winter Color + color01 = (Color){145, 145, 166, 255}; + color02 = (Color){104, 142, 144, 255}; + color03 = (Color){57, 140, 173, 255}; + } + else if (initSeason == 3) + { + initMonth = 8; + clockRotation = 135; + clockInitRotation = 135; + clockFinalRotation = clockInitRotation + 90; + color00 = (Color){196, 176, 49, 255}; // Spring Color + color01 = (Color){178, 163, 67, 255}; + color02 = (Color){133, 143, 90, 255}; + color03 = (Color){133, 156, 42, 255}; + } + + currentMonth = initMonth; + + leftButton.x = 0; + leftButton.y = 200; + leftButton.width = GetScreenWidth()/2; + leftButton.height = GetScreenHeight(); + + rightButton.x = GetScreenWidth()/2; + rightButton.y = 200; + rightButton.width = GetScreenWidth()/2; + rightButton.height = GetScreenHeight(); + + powerButton.x = 0; + powerButton.y = 0; + powerButton.width = GetScreenWidth()/2; + powerButton.height = 200; + + finalColor.r = GetRandomValue(0, 255); + finalColor.g = GetRandomValue(0, 255); + finalColor.b = GetRandomValue(0, 255); + finalColor.a = 255; + + backBar.x = 20; + backBar.y = 22; + backBar.width = maxPower + 4; + backBar.height = 24; + powerBar.x = 22; + powerBar.y = 23; + powerBar.width = power; + powerBar.height = 22; + + fireAnimation.x = gameplay_props_fire_spritesheet.x; + fireAnimation.y = gameplay_props_fire_spritesheet.y; + fireAnimation.width = gameplay_props_fire_spritesheet.width/4; + fireAnimation.height = gameplay_props_fire_spritesheet.height; + + windAnimation.x = gameplay_props_whirlwind_spritesheet.x; + windAnimation.y = gameplay_props_whirlwind_spritesheet.y; + windAnimation.width = gameplay_props_whirlwind_spritesheet.width/4; + windAnimation.height = gameplay_props_whirlwind_spritesheet.height; + + beeAnimation.x = gameplay_enemy_bee.x; + beeAnimation.y = gameplay_enemy_bee.y; + beeAnimation.width = gameplay_enemy_bee.width/5; + beeAnimation.height = gameplay_enemy_bee.height; + + eagleAnimation.x = gameplay_enemy_eagle.x; + eagleAnimation.y = gameplay_enemy_eagle.y; + eagleAnimation.width = gameplay_enemy_eagle.width/2; + eagleAnimation.height = gameplay_enemy_eagle.height; + + snakeAnimation.x = gameplay_enemy_snake.x; + snakeAnimation.y = gameplay_enemy_snake.y; + snakeAnimation.width = gameplay_enemy_snake.width/3; + snakeAnimation.height = gameplay_enemy_snake.height; + + dingoAnimation.x = gameplay_enemy_dingo.x; + dingoAnimation.y = gameplay_enemy_dingo.y; + dingoAnimation.width = gameplay_enemy_dingo.width/3; + dingoAnimation.height = gameplay_enemy_dingo.height; + + owlAnimation.x = gameplay_enemy_owl.x; + owlAnimation.y = gameplay_enemy_owl.y; + owlAnimation.width = gameplay_enemy_owl.width/3; + owlAnimation.height = gameplay_enemy_owl.height; + + koalaAnimationIddle = gameplay_koala_idle; + koalaAnimationIddle.width = gameplay_koala_idle.width/3; + koalaAnimationJump = gameplay_koala_jump; + koalaAnimationFly = gameplay_koala_fly; + koalaAnimationFly.width = gameplay_koala_fly.width/2; + koalaAnimationTransform = gameplay_koala_transform; + koalaAnimationTransform.width = gameplay_koala_transform.width/2; + + snowParticle.position = (Vector2){ 0, 0 }; + snowParticle.active = false; + snowStormParticle.position = (Vector2){ 0, 0 }; + snowStormParticle.active = false; + backSnowParticle.position = (Vector2){ 0, 0 }; + backSnowParticle.active = false; + planetreeParticle.position = (Vector2){ 0, 0 }; + planetreeParticle.active = false; + backPlanetreeParticle.position = (Vector2){ 0, 0 }; + backPlanetreeParticle.active = false; + dandelionParticle.active = false; + dandelionBackParticle.position = (Vector2){ 0, 0}; + flowerParticle.position = (Vector2){ 0, 0 }; + flowerParticle.active = false; + backFlowerParticle.position = (Vector2){ 0, 0 }; + backFlowerParticle.active = false; + rainParticle.position = (Vector2){ 0, 0 }; + rainParticle.active = false; + rainStormParticle.position = (Vector2){ 0, 0 }; + rainStormParticle.active = false; + backRainParticle.position = (Vector2){ 0, 0 }; + backRainParticle.active = false; + rayParticles.position = (Vector2){ 0, 0 }; + rayParticles.active = false; + backRayParticles.position = (Vector2){ 0, 0 }; + backRayParticles.active = false; + speedFX.active = false; + + clockPosition = (Vector2){GetScreenWidth(), 0}; + + for (int j = 0; j < MAX_PARTICLES; j++) + { + snowParticle.particles[j].active = false; + snowParticle.particles[j].position = (Vector2){ 0, 0 }; + snowParticle.particles[j].size = (float)GetRandomValue(3, 9)/10; + snowParticle.particles[j].rotation = GetRandomValue(0, 360); + snowParticle.particles[j].color = WHITE; + snowParticle.particles[j].alpha = 1.0f; + + backSnowParticle.particles[j].active = false; + backSnowParticle.particles[j].position = (Vector2){ 0, 0 }; + backSnowParticle.particles[j].size = (float)GetRandomValue(2, 8)/10; + backSnowParticle.particles[j].rotation = GetRandomValue(0, 360); + backSnowParticle.particles[j].color = WHITE; + backSnowParticle.particles[j].alpha = 0.7f; + + planetreeParticle.particles[j].active = false; + planetreeParticle.particles[j].position = (Vector2){ 0, 0 }; + planetreeParticle.particles[j].size = (float)GetRandomValue(3, 9)/10; + planetreeParticle.particles[j].rotation = GetRandomValue(0, 360); + planetreeParticle.particles[j].color = WHITE; + planetreeParticle.particles[j].alpha = 1.0f; + + backPlanetreeParticle.particles[j].active = false; + backPlanetreeParticle.particles[j].position = (Vector2){ 0, 0 }; + backPlanetreeParticle.particles[j].size = (float)GetRandomValue(2, 8)/10; + backPlanetreeParticle.particles[j].rotation = GetRandomValue(0, 360); + backPlanetreeParticle.particles[j].color = WHITE; + backPlanetreeParticle.particles[j].alpha = 0.7f; + + dandelionParticle.particles[j].active = false; + dandelionParticle.particles[j].position = (Vector2){ 0, 0 }; + dandelionParticle.particles[j].size = (float)GetRandomValue(3, 9)/10; + dandelionParticle.particles[j].rotation = 0; + dandelionParticle.particles[j].color = WHITE; + dandelionParticle.particles[j].alpha = 1; + dandelionParticle.particles[j].rotPhy = GetRandomValue(0 , 180); + + dandelionBackParticle.particles[j].active = false; + dandelionBackParticle.particles[j].position = (Vector2){ 0, 0 }; + dandelionBackParticle.particles[j].size = (float)GetRandomValue(2, 8)/10; + dandelionBackParticle.particles[j].rotation = 0; + dandelionBackParticle.particles[j].color = WHITE; + dandelionBackParticle.particles[j].alpha = 0.7f; + dandelionBackParticle.particles[j].rotPhy = GetRandomValue(0 , 180); + + flowerParticle.particles[j].active = false; + flowerParticle.particles[j].position = (Vector2){ 0, 0 }; + flowerParticle.particles[j].size = (float)GetRandomValue(3, 9)/10; + flowerParticle.particles[j].rotation = GetRandomValue(0, 360); + flowerParticle.particles[j].color = WHITE; + flowerParticle.particles[j].alpha = 1.0f; + + backFlowerParticle.particles[j].active = false; + backFlowerParticle.particles[j].position = (Vector2){ 0, 0 }; + backFlowerParticle.particles[j].size = (float)GetRandomValue(2, 8)/10; + backFlowerParticle.particles[j].rotation = GetRandomValue(0, 360); + backFlowerParticle.particles[j].color = WHITE; + backFlowerParticle.particles[j].alpha = 0.7f; + + rainParticle.particles[j].active = false; + rainParticle.particles[j].position = (Vector2){ 0, 0 }; + rainParticle.particles[j].size = (float)GetRandomValue(3, 9)/10; + rainParticle.particles[j].rotation = -20; + rainParticle.particles[j].color = WHITE; + rainParticle.particles[j].alpha = 1.0f; + + backRainParticle.particles[j].active = false; + backRainParticle.particles[j].position = (Vector2){ 0, 0 }; + backRainParticle.particles[j].size = (float)GetRandomValue(2, 8)/10; + backRainParticle.particles[j].rotation = -20; + backRainParticle.particles[j].color = WHITE; + backRainParticle.particles[j].alpha = 0.7f; + + } + + for (int j = 0; j < MAX_PARTICLES_SPEED; j++) + { + speedFX.particle[j].position = (Vector2){ 0, 0 }; + speedFX.particle[j].color = WHITE; + speedFX.particle[j].alpha = 1.0f; + speedFX.particle[j].size = (Vector2){GetScreenWidth(), GetRandomValue(10, 50)/10}; + speedFX.particle[j].rotation = 0.0f; + speedFX.particle[j].active = false; + } + + for (int j = 0; j < MAX_PARTICLES_STORM; j++) + { + rainStormParticle.particles[j].active = false; + rainStormParticle.particles[j].position = (Vector2){ 0, 0 }; + rainStormParticle.particles[j].size = (float)GetRandomValue(3, 9)/10; + rainStormParticle.particles[j].rotation = -40; + rainStormParticle.particles[j].color = WHITE; + rainStormParticle.particles[j].alpha = 1.0f; + } + + for (int j = 0; j < MAX_PARTICLES_STORM; j++) + { + snowStormParticle.particles[j].active = false; + snowStormParticle.particles[j].position = (Vector2){ 0, 0 }; + snowStormParticle.particles[j].size = (float)GetRandomValue(2, 8)/10; + snowStormParticle.particles[j].rotation = 40; + snowStormParticle.particles[j].color = WHITE; + snowStormParticle.particles[j].alpha = 1.0f; + } + + for (int i = 0; i < MAX_PARTICLES_RAY; i++) + { + rayParticles.particles[i].position = (Vector2){ 0, 0 }; + rayParticles.particles[i].color.r = 255; + rayParticles.particles[i].color.g = 255; + rayParticles.particles[i].color.b = 182; + rayParticles.particles[i].color.a = 255; + rayParticles.particles[i].alpha = 0.0f; + rayParticles.particles[i].size = (float)(GetRandomValue(30, 70)/10); + rayParticles.particles[i].rotation = 0.0f; + rayParticles.particles[i].active = false; + rayParticles.particles[i].fading = false; + rayParticles.particles[i].delayCounter = 0; + + backRayParticles.particles[i].position = (Vector2){ 0, 0 }; + backRayParticles.particles[i].color.r = 255; + backRayParticles.particles[i].color.g = 255; + backRayParticles.particles[i].color.b = 182; + backRayParticles.particles[i].color.a = 255; + backRayParticles.particles[i].alpha = 0.0f; + backRayParticles.particles[i].size = (float)(GetRandomValue(10, 20)/10); + backRayParticles.particles[i].rotation = 0.0f; + backRayParticles.particles[i].active = false; + backRayParticles.particles[i].fading = false; + backRayParticles.particles[i].delayCounter = 0; + } + + for (int i = 0; i < MAX_KILLS; i++) killHistory[i] = 0; + + for (int i = 0; i < MAX_BAMBOO; i++) + { + bamboo[i].x = 150 + 200*i; + bamboo[i].y = 0; + bamboo[i].width = 50; + bamboo[i].height = GetScreenHeight(); + if(i > 5) bambooActive[i] = false; + else bambooActive[i] = true; + } + + for (int i = 0; i < MAX_FIRE; i++) + { + fire[i].x = -200; + fire[i].y = GetScreenHeight() - 30; + fire[i].width = 30; + fire[i].height = 720; + fireActive[i] = false; + onFire[i] = false; + fireCounter[i] = 0; + } + + for (int i = 0; i < MAX_ICE; i++) + { + ice[i].x = -100; + ice[i].y = 0; + ice[i].width = 10; + ice[i].height = GetScreenHeight(); + iceActive[i] = false; + } + + for (int i = 0; i < MAX_RESIN; i++) + { + resin[i].x = -100; + resin[i].y = 0; + resin[i].width = 32; + resin[i].height = 50; + resinActive[i] = false; + } + + for (int i = 0; i < MAX_WIND; i++) + { + wind[i].x = -100; + wind[i].y = 0; + wind[i].width = 70; + wind[i].height = 100; + windActive[i] = false; + } + + for (int i = 0; i < MAX_ENEMIES; i++) + { + snake[i].x = 0; + snake[i].y = 0; + snake[i].width = 50; + snake[i].height = 60; + snakeActive[i] = false; + isHitSnake[i] = false; + + dingo[i].x = -100; + dingo[i].y = 0; + dingo[i].width = 64; + dingo[i].height = 90; + dingoActive[i] = false; + isHitDingo[i] = false; + + owl[i].x = -100; + owl[i].y = 0; + owl[i].width = 40; + owl[i].height = 60; + owlActive[i] = false; + branchActive[i] = false; + isHitOwl[i] = false; + + branchPos[i].x = owl[i].x; + branchPos[i].y = owl[i].y; + + enemyHit[i].position = (Vector2){ GetRandomValue(-20, 20), GetRandomValue(-20, 20) }; + enemyHit[i].speed = (Vector2){ (float)GetRandomValue(-500, 500)/100, (float)GetRandomValue(-500, 500)/100 }; + enemyHit[i].size = (float)GetRandomValue(1, 45)/30; + enemyHit[i].rotation = GetRandomValue(0, 360); + enemyHit[i].color = RED; + enemyHit[i].alpha = 1.0f; + enemyHit[i].active = false; + + popupScore[i].position = (Vector2){ GetRandomValue(-20, 20), GetRandomValue(-20, 20) }; + popupScore[i].scale = (float)GetRandomValue(1, 45)/30; + popupScore[i].alpha = 1.0f; + popupScore[i].active = false; + } + + for (int i = 0; i < MAX_LEAVES; i++) + { + leaf[i].x = 0; + leaf[i].y = 0; + leaf[i].width = 30; + leaf[i].height = 30; + leafActive[i] = false; + leafType[i] = -1; + + leafParticles[i].position = (Vector2){ 0, 0 }; + leafParticles[i].active = false; + + popupLeaves[i].position = (Vector2){ GetRandomValue(-20, 20), GetRandomValue(-20, 20) }; + popupLeaves[i].scale = (float)GetRandomValue(1, 45)/30; + popupLeaves[i].alpha = 1.0f; + popupLeaves[i].score = 0; + popupLeaves[i].active = false; + + for (int j = 0; j < 32; j++) + { + + leafParticles[i].particles[j].active = false; + leafParticles[i].particles[j].position = (Vector2){ GetRandomValue(-20, 20), GetRandomValue(-20, 20) }; + leafParticles[i].particles[j].speed = (Vector2){ (float)GetRandomValue(-500, 500)/100, (float)GetRandomValue(-500, 500)/100 }; + leafParticles[i].particles[j].size = (float)GetRandomValue(3, 10)/5; + leafParticles[i].particles[j].rotation = GetRandomValue(0, 360); + leafParticles[i].particles[j].color = WHITE; + leafParticles[i].particles[j].alpha = 1.0f; + } + } + + player.x = GetScreenWidth()*0.26f; + player.y = 100; + player.width = 35; + player.height = 60; + + bee.x = -200; + bee.y = 0; + bee.width = 50; + bee.height = 32; + beeActive = false; + + popupBee.position = (Vector2){ GetRandomValue(-20, 20), GetRandomValue(-20, 20) }; + popupBee.scale = (float)GetRandomValue(1, 45)/30; + popupBee.alpha = 1.0f; + popupBee.active = false; + + eagle.x = -128; + eagle.y = 0; + eagle.width = 200; + eagle.height = 80; + eagleActive = false; + + popupEagle.position = (Vector2){ GetRandomValue(-20, 20), GetRandomValue(-20, 20) }; + popupEagle.scale = (float)GetRandomValue(1, 45)/30; + popupEagle.alpha = 1.0f; + popupEagle.active = false; + + counterColor.r = 255; + counterColor.g = 224; + counterColor.b = 185; + counterColor.a = 255; + + zero.x = 0; + zero.y = 0; + + firePos.x = -200; + firePos.y = 0; + + textSize = MeasureTextEx(font, "3", font.baseSize*5, 2); +} diff --git a/games/koala_seasons/screens/screen_logo.c b/games/koala_seasons/screens/screen_logo.c new file mode 100644 index 000000000..a3035b309 --- /dev/null +++ b/games/koala_seasons/screens/screen_logo.c @@ -0,0 +1,227 @@ +/********************************************************************************************** +* +* raylib - Standard Game template +* +* Logo Screen Functions Definitions (Init, Update, Draw, Unload) +* +* Copyright (c) 2014 Ramon Santamaria (Ray San - raysan@raysanweb.com) +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +#include "raylib.h" +#include "screens.h" + +#include + +//---------------------------------------------------------------------------------- +// Global Variables Definition (local to this module) +//---------------------------------------------------------------------------------- + +// Logo screen global variables +static int framesCounter; +static int finishScreen; + +const char msgLogoA[64] = "A simple and easy-to-use library"; +const char msgLogoB[64] = "to learn videogames programming"; + +int logoPositionX; +int logoPositionY; + +int raylibLettersCount = 0; + +int topSideRecWidth = 16; +int leftSideRecHeight = 16; + +int bottomSideRecWidth = 16; +int rightSideRecHeight = 16; + +char raylib[8] = " \0"; // raylib text array, max 8 letters + +int logoScreenState = 0; // Tracking animation states (State Machine) +bool msgLogoADone = false; +bool msgLogoBDone = false; + +int lettersCounter = 0; +char msgBuffer[128] = { ' ' }; + +//---------------------------------------------------------------------------------- +// Logo Screen Functions Definition +//---------------------------------------------------------------------------------- + +// Logo Screen Initialization logic +void InitLogoScreen(void) +{ + // Initialize LOGO screen variables here! + framesCounter = 0; + finishScreen = 0; + + logoPositionX = GetScreenWidth()/2 - 128; + logoPositionY = GetScreenHeight()/2 - 128; +} + +// Logo Screen Update logic +void UpdateLogoScreen(void) +{ + // Update LOGO screen + framesCounter++; // Count frames + + // Update LOGO screen variables + if (logoScreenState == 0) // State 0: Small box blinking + { + framesCounter++; + + if (framesCounter == 120) + { + logoScreenState = 1; + framesCounter = 0; // Reset counter... will be used later... + } + } + else if (logoScreenState == 1) // State 1: Top and left bars growing + { + topSideRecWidth += 4; + leftSideRecHeight += 4; + + if (topSideRecWidth == 256) logoScreenState = 2; + } + else if (logoScreenState == 2) // State 2: Bottom and right bars growing + { + bottomSideRecWidth += 4; + rightSideRecHeight += 4; + + if (bottomSideRecWidth == 256) + { + lettersCounter = 0; + for (int i = 0; i < (int)strlen(msgBuffer); i++) msgBuffer[i] = ' '; + + logoScreenState = 3; + } + } + else if (logoScreenState == 3) // State 3: Letters appearing (one by one) + { + framesCounter++; + + // Every 12 frames, one more letter! + if ((framesCounter%12) == 0) raylibLettersCount++; + + switch (raylibLettersCount) + { + case 1: raylib[0] = 'r'; break; + case 2: raylib[1] = 'a'; break; + case 3: raylib[2] = 'y'; break; + case 4: raylib[3] = 'l'; break; + case 5: raylib[4] = 'i'; break; + case 6: raylib[5] = 'b'; break; + default: break; + } + + if (raylibLettersCount >= 10) + { + // Write raylib description messages + if ((framesCounter%2) == 0) lettersCounter++; + + if (!msgLogoADone) + { + if (lettersCounter <= (int)strlen(msgLogoA)) strncpy(msgBuffer, msgLogoA, lettersCounter); + else + { + for (int i = 0; i < (int)strlen(msgBuffer); i++) msgBuffer[i] = ' '; + + lettersCounter = 0; + msgLogoADone = true; + } + } + else if (!msgLogoBDone) + { + if (lettersCounter <= (int)strlen(msgLogoB)) strncpy(msgBuffer, msgLogoB, lettersCounter); + else + { + msgLogoBDone = true; + framesCounter = 0; + //PlaySound(levelWin); + } + } + } + } + + // Wait for 2 seconds (60 frames) before jumping to TITLE screen + if (msgLogoBDone) + { + framesCounter++; + + if (framesCounter > 150) finishScreen = true; + } +} + +// Logo Screen Draw logic +void DrawLogoScreen(void) +{ + // Draw LOGO screen + if (logoScreenState == 0) + { + if ((framesCounter/15)%2) DrawRectangle(logoPositionX, logoPositionY - 60, 16, 16, BLACK); + } + else if (logoScreenState == 1) + { + DrawRectangle(logoPositionX, logoPositionY - 60, topSideRecWidth, 16, BLACK); + DrawRectangle(logoPositionX, logoPositionY - 60, 16, leftSideRecHeight, BLACK); + } + else if (logoScreenState == 2) + { + DrawRectangle(logoPositionX, logoPositionY - 60, topSideRecWidth, 16, BLACK); + DrawRectangle(logoPositionX, logoPositionY - 60, 16, leftSideRecHeight, BLACK); + + DrawRectangle(logoPositionX + 240, logoPositionY - 60, 16, rightSideRecHeight, BLACK); + DrawRectangle(logoPositionX, logoPositionY + 240 - 60, bottomSideRecWidth, 16, BLACK); + } + else if (logoScreenState == 3) + { + DrawRectangle(logoPositionX, logoPositionY - 60, topSideRecWidth, 16, BLACK); + DrawRectangle(logoPositionX, logoPositionY + 16 - 60, 16, leftSideRecHeight - 32, BLACK); + + DrawRectangle(logoPositionX + 240, logoPositionY + 16 - 60, 16, rightSideRecHeight - 32, BLACK); + DrawRectangle(logoPositionX, logoPositionY + 240 - 60, bottomSideRecWidth, 16, BLACK); + + DrawRectangle(GetScreenWidth()/2 - 112, GetScreenHeight()/2 - 112 - 60, 224, 224, RAYWHITE); + + DrawText(raylib, GetScreenWidth()/2 - 44, GetScreenHeight()/2 + 48 - 60, 50, BLACK); + + if (!msgLogoADone) DrawText(msgBuffer, GetScreenWidth()/2 - MeasureText(msgLogoA, 30)/2, logoPositionY + 230, 30, GRAY); + else + { + DrawText(msgLogoA, GetScreenWidth()/2 - MeasureText(msgLogoA, 30)/2, logoPositionY + 230, 30, GRAY); + + if (!msgLogoBDone) DrawText(msgBuffer, GetScreenWidth()/2 - MeasureText(msgLogoB, 30)/2, logoPositionY + 280, 30, GRAY); + else + { + DrawText(msgLogoB, GetScreenWidth()/2 - MeasureText(msgLogoA, 30)/2, logoPositionY + 280, 30, GRAY); + } + } + } +} + +// Logo Screen Unload logic +void UnloadLogoScreen(void) +{ + // TODO: Unload LOGO screen variables here! +} + +// Logo Screen should finish? +int FinishLogoScreen(void) +{ + return finishScreen; +} \ No newline at end of file diff --git a/games/koala_seasons/screens/screen_title.c b/games/koala_seasons/screens/screen_title.c new file mode 100644 index 000000000..ee99da031 --- /dev/null +++ b/games/koala_seasons/screens/screen_title.c @@ -0,0 +1,1069 @@ +/********************************************************************************************** +* +* raylib - Koala Seasons game +* +* Title Screen Functions Definitions (Init, Update, Draw, Unload) +* +* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +#include "raylib.h" +#include "screens.h" + +#include + +#include "atlas01.h" +#include "atlas02.h" + +#define MAX_DURATION 120 +#define MAX_particle 128 + +//---------------------------------------------------------------------------------- +// Global Variables Definition (local to this module) +//---------------------------------------------------------------------------------- + +typedef struct { + Vector2 position; + Vector2 speed; + float rotation; + float size; + Color color; + float alpha; + float rotPhy; + bool active; +} Particle; + +typedef struct { + Vector2 position; + Color color; + float alpha; + float size; + float rotation; + bool active; // NOTE: Use it to activate/deactive particle + bool fading; + float delayCounter; +} RayParticleTitle; + +typedef struct { + Vector2 position; + bool active; + int spawnTime; + int maxTime; + Particle particle[1024]; +} Stormparticleystem; + +typedef struct { + Vector2 position; + bool active; + int spawnTime; + int maxTime; + Particle particle[MAX_particle]; +} particleystemTitle; + +typedef struct { + Vector2 position; + bool active; + int spawnTime; + int maxTime; + RayParticleTitle particle[20]; +} RayparticleystemTitle; + +// Title screen global variables +static int framesCounter; +static int finishScreen; +static int globalFrameCounter; +static int currentFrame; +static int thisFrame; +static int parallaxBackOffset; +static int parallaxFrontOffset; + +static float currentValue1; +static float currentValue2; +static float initValue1; +static float initValue2; +static float finishValue1; +static float finishValue2; +static float duration; + +static Vector2 fontSize; + +static bool soundActive; +static bool musicActive; + +static Rectangle koalaMenu; + +static Rectangle bamboo[5]; +static Rectangle player = {0, 0, 0, 0}; +static Rectangle soundButton; +static Rectangle speakerButton; + +static Color color00, color01, color02, color03; + +static particleystemTitle snowParticle; +static particleystemTitle backSnowParticle; +static particleystemTitle dandelionParticle; +static particleystemTitle dandelionBackParticle; +static particleystemTitle planetreeParticle; +static particleystemTitle backPlanetreeParticle; +static particleystemTitle flowerParticle; +static particleystemTitle backFlowerParticle; +static particleystemTitle rainParticle; +static particleystemTitle backRainParticle; +static RayparticleystemTitle rayparticle; +static RayparticleystemTitle backRayparticle; +static Stormparticleystem rainStormParticle; +static Stormparticleystem snowStormParticle; + +const char pressToPlay[16] = "Press to play"; + +//---------------------------------------------------------------------------------- +// Title Screen Functions Definition +//---------------------------------------------------------------------------------- +static void DrawParallaxFront(void); +static void DrawParallaxMiddle(void); +static void DrawParallaxBack(void); + +static float BounceEaseOut(float t,float b , float c, float d); + +// Title Screen Initialization logic +void InitTitleScreen(void) +{ + framesCounter = 0; + finishScreen = 0; + initValue1 = -100; + finishValue1 = 100; + initValue2 = 700; + finishValue2 = finishValue1 + 220; + duration = MAX_DURATION; + initSeason = GetRandomValue(0, 3); + soundActive = true; + musicActive = true; + + parallaxBackOffset = GetRandomValue(10, 100); + parallaxFrontOffset = GetRandomValue(100, 200); + + rainChance = GetRandomValue(0, 100); + + snowParticle.position = (Vector2){ 0, 0 }; + snowParticle.active = false; + backSnowParticle.position = (Vector2){ 0, 0 }; + backSnowParticle.active = false; + planetreeParticle.position = (Vector2){ 0, 0 }; + planetreeParticle.active = false; + backPlanetreeParticle.position = (Vector2){ 0, 0 }; + backPlanetreeParticle.active = false; + dandelionParticle.active = false; + dandelionBackParticle.position = (Vector2){ 0, 0}; + flowerParticle.position = (Vector2){ 0, 0 }; + flowerParticle.active = false; + backFlowerParticle.position = (Vector2){ 0, 0 }; + backFlowerParticle.active = false; + rayparticle.position = (Vector2){ 0, 0 }; + rayparticle.active = false; + backRayparticle.position = (Vector2){ 0, 0 }; + backRayparticle.active = false; + rainStormParticle.position = (Vector2){ 0, 0 }; + rainStormParticle.active = false; + snowStormParticle.position = (Vector2){ 0, 0 }; + snowStormParticle.active = false; + + soundButton = (Rectangle){ GetScreenWidth()*0.85, GetScreenHeight()*0.7, title_music_on.width, title_music_on.height }; + speakerButton = (Rectangle){ GetScreenWidth()*0.85, GetScreenHeight()*0.85, title_speaker_on.width, title_speaker_on.height }; + + for (int j = 0; j < MAX_particle; j++) + { + snowParticle.particle[j].active = false; + snowParticle.particle[j].position = (Vector2){ 0, 0 }; + snowParticle.particle[j].size = (float)GetRandomValue(3, 9)/10; + snowParticle.particle[j].rotation = GetRandomValue(0, 360); + snowParticle.particle[j].color = WHITE; + snowParticle.particle[j].alpha = 1.0f; + + backSnowParticle.particle[j].active = false; + backSnowParticle.particle[j].position = (Vector2){ 0, 0 }; + backSnowParticle.particle[j].size = (float)GetRandomValue(2, 8)/10; + backSnowParticle.particle[j].rotation = GetRandomValue(0, 360); + backSnowParticle.particle[j].color = WHITE; + backSnowParticle.particle[j].alpha = 0.7f; + + planetreeParticle.particle[j].active = false; + planetreeParticle.particle[j].position = (Vector2){ 0, 0 }; + planetreeParticle.particle[j].size = (float)GetRandomValue(3, 9)/10; + planetreeParticle.particle[j].rotation = GetRandomValue(0, 360); + planetreeParticle.particle[j].color = WHITE; + planetreeParticle.particle[j].alpha = 1.0f; + + backPlanetreeParticle.particle[j].active = false; + backPlanetreeParticle.particle[j].position = (Vector2){ 0, 0 }; + backPlanetreeParticle.particle[j].size = (float)GetRandomValue(2, 8)/10; + backPlanetreeParticle.particle[j].rotation = GetRandomValue(0, 360); + backPlanetreeParticle.particle[j].color = WHITE; + backPlanetreeParticle.particle[j].alpha = 0.7f; + + dandelionParticle.particle[j].active = false; + dandelionParticle.particle[j].position = (Vector2){ 0, 0 }; + dandelionParticle.particle[j].size = (float)GetRandomValue(3, 9)/10; + dandelionParticle.particle[j].rotation = 0; + dandelionParticle.particle[j].color = WHITE; + dandelionParticle.particle[j].alpha = 1; + dandelionParticle.particle[j].rotPhy = GetRandomValue(0 , 180); + + dandelionBackParticle.particle[j].active = false; + dandelionBackParticle.particle[j].position = (Vector2){ 0, 0 }; + dandelionBackParticle.particle[j].size = (float)GetRandomValue(2, 8)/10; + dandelionBackParticle.particle[j].rotation = 0; + dandelionBackParticle.particle[j].color = WHITE; + dandelionBackParticle.particle[j].alpha = 0.7f; + dandelionBackParticle.particle[j].rotPhy = GetRandomValue(0 , 180); + + flowerParticle.particle[j].active = false; + flowerParticle.particle[j].position = (Vector2){ 0, 0 }; + flowerParticle.particle[j].size = (float)GetRandomValue(3, 9)/10; + flowerParticle.particle[j].rotation = GetRandomValue(0, 360); + flowerParticle.particle[j].color = WHITE; + flowerParticle.particle[j].alpha = 1.0f; + + backFlowerParticle.particle[j].active = false; + backFlowerParticle.particle[j].position = (Vector2){ 0, 0 }; + backFlowerParticle.particle[j].size = (float)GetRandomValue(2, 8)/10; + backFlowerParticle.particle[j].rotation = GetRandomValue(0, 360); + backFlowerParticle.particle[j].color = WHITE; + backFlowerParticle.particle[j].alpha = 0.7f; + + rainParticle.particle[j].active = false; + rainParticle.particle[j].position = (Vector2){ 0, 0 }; + rainParticle.particle[j].size = (float)GetRandomValue(3, 9)/10; + rainParticle.particle[j].rotation = -20; + rainParticle.particle[j].color = WHITE; + rainParticle.particle[j].alpha = 1.0f; + + backRainParticle.particle[j].active = false; + backRainParticle.particle[j].position = (Vector2){ 0, 0 }; + backRainParticle.particle[j].size = (float)GetRandomValue(2, 8)/10; + backRainParticle.particle[j].rotation = -20; + backRainParticle.particle[j].color = WHITE; + backRainParticle.particle[j].alpha = 0.7f; + } + + for (int j = 0; j < 1024; j++) + { + rainStormParticle.particle[j].active = false; + rainStormParticle.particle[j].position = (Vector2){ 0, 0 }; + rainStormParticle.particle[j].size = (float)GetRandomValue(3, 9)/10; + rainStormParticle.particle[j].rotation = -40; + rainStormParticle.particle[j].color = WHITE; + rainStormParticle.particle[j].alpha = 1.0f; + } + + for (int j = 0; j < 256; j++) + { + snowStormParticle.particle[j].active = false; + snowStormParticle.particle[j].position = (Vector2){ 0, 0 }; + snowStormParticle.particle[j].size = (float)GetRandomValue(4, 8)/10; + snowStormParticle.particle[j].rotation = 40; + snowStormParticle.particle[j].color = WHITE; + snowStormParticle.particle[j].alpha = 1.0f; + } + + for (int i = 0; i < 20; i++) + { + rayparticle.particle[i].position = (Vector2){ 0, 0 }; + rayparticle.particle[i].color.r = 255; + rayparticle.particle[i].color.g = 255; + rayparticle.particle[i].color.b = 182; + rayparticle.particle[i].color.a = 255; + rayparticle.particle[i].alpha = 0.0f; + rayparticle.particle[i].size = (float)GetRandomValue(15, 20)/10; + rayparticle.particle[i].rotation = 0.0f; + rayparticle.particle[i].active = false; + rayparticle.particle[i].fading = false; + rayparticle.particle[i].delayCounter = 0; + + backRayparticle.particle[i].position = (Vector2){ 0, 0 }; + backRayparticle.particle[i].color.r = 255; + backRayparticle.particle[i].color.g = 255; + backRayparticle.particle[i].color.b = 182; + backRayparticle.particle[i].color.a = 255; + backRayparticle.particle[i].alpha = 0.0f; + backRayparticle.particle[i].size = (float)GetRandomValue(5, 10)/10; + backRayparticle.particle[i].rotation = 0.0f; + backRayparticle.particle[i].active = false; + backRayparticle.particle[i].fading = false; + backRayparticle.particle[i].delayCounter = 0; + } + + for (int i = 0; i < 5; i++) + { + bamboo[i].x = 150 + 200*i; + bamboo[i].y = 0; + bamboo[i].width = 30; + bamboo[i].height = GetScreenHeight(); + } + + player.x = 350; + player.y = 100; + player.width = 35; + player.height = 60; + + koalaMenu.x = gameplay_koala_menu.x; + koalaMenu.y = gameplay_koala_menu.y; + koalaMenu.width = gameplay_koala_menu.width/2; + koalaMenu.height = gameplay_koala_menu.height; + + fontSize = MeasureTextEx(font, "PRESS TO PLAY", font.baseSize, 2); +} + +// Title Screen Update logic +void UpdateTitleScreen(void) +{ + framesCounter += 1*TIME_FACTOR; + globalFrameCounter += 1*TIME_FACTOR; + + if (framesCounter < duration) + { + currentValue1 = BounceEaseOut((float) framesCounter, initValue1, (finishValue1 - initValue1), duration); + currentValue2 = BounceEaseOut((float) framesCounter, initValue2, (finishValue2 - initValue2), duration); + } + + thisFrame += 1*TIME_FACTOR; + + if (thisFrame >= 40) + { + currentFrame++; + thisFrame = 0; + } + + if (currentFrame > 1) currentFrame = 0; + + koalaMenu.x = gameplay_koala_menu.x + koalaMenu.width*currentFrame; + + if (initSeason == 0) + { + dandelionParticle.active = true; + dandelionBackParticle.active = true; + rayparticle.active = true; + backRayparticle.active = true; + + rainParticle.active = false; + rainStormParticle.active = false; + backRainParticle.active = false; + + color00 = (Color){129, 172, 86, 255}; // Summer Color + color01 = (Color){145, 165, 125, 255}; + color02 = (Color){161, 130, 73, 255}; + color03 = (Color){198, 103, 51, 255}; + } + else if (initSeason == 1) + { + if (rainChance > 40) + { + planetreeParticle.active = true; + backPlanetreeParticle.active = true; + rainParticle.active = false; + backRainParticle.active = false; + } + else if (rainChance <= 40 && rainChance > 15) + { + rainStormParticle.active = true; + backRainParticle.active = false; + } + else if (rainChance <= 15) + { + rainStormParticle.active = true; + backRainParticle.active = false; + } + + color00 = (Color){242, 113, 62, 255}; // Fall Color + color01 = (Color){190, 135, 114, 255}; + color02 = (Color){144, 130, 101, 255}; + color03 = (Color){214, 133, 58, 255}; + + } + else if (initSeason == 2) + { + + if (rainChance > 40) + { + snowParticle.active = true; + backSnowParticle.active = true; + } + else + { + snowStormParticle.active = true; + backSnowParticle.active = true; + } + + rainParticle.active = false; + rainStormParticle.active = false; + backRainParticle.active = false; + + color00 = (Color){130, 130, 181, 255}; // Winter Color + color01 = (Color){145, 145, 166, 255}; + color02 = (Color){104, 142, 144, 255}; + color03 = (Color){57, 140, 173, 255}; + } + else if (initSeason == 3) + { + flowerParticle.active = true; + backFlowerParticle.active = true; + + rainParticle.active = false; + rainStormParticle.active = false; + backRainParticle.active = false; + + color00 = (Color){196, 176, 49, 255}; // Spring Color + color01 = (Color){178, 163, 67, 255}; + color02 = (Color){133, 143, 90, 255}; + color03 = (Color){133, 156, 42, 255}; + } + + // Snow Particle + if (snowParticle.active) + { + snowParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_particle; i++) + { + if (!snowParticle.particle[i].active && snowParticle.spawnTime >= snowParticle.maxTime) + { + snowParticle.particle[i].active = true; + snowParticle.particle[i].position = (Vector2){GetRandomValue(0, GetScreenWidth() + 200), -10}; + snowParticle.spawnTime = 0; + snowParticle.maxTime = GetRandomValue (5, 20); + } + } + } + + if (backSnowParticle.active) + { + backSnowParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_particle; i++) + { + if (!backSnowParticle.particle[i].active && backSnowParticle.spawnTime >= backSnowParticle.maxTime) + { + backSnowParticle.particle[i].active = true; + backSnowParticle.particle[i].position = (Vector2){GetRandomValue(0, GetScreenWidth() + 200), -10}; + backSnowParticle.spawnTime = 0; + backSnowParticle.maxTime = GetRandomValue (3, 10); + } + } + } + + // Autumn leaves particle + if (planetreeParticle.active) + { + planetreeParticle.spawnTime += 1*TIME_FACTOR; + backPlanetreeParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_particle; i++) + { + if (!planetreeParticle.particle[i].active && planetreeParticle.spawnTime >= planetreeParticle.maxTime) + { + planetreeParticle.particle[i].active = true; + planetreeParticle.particle[i].position = (Vector2){GetRandomValue(0, GetScreenWidth() + 200), -10}; + planetreeParticle.spawnTime = 0; + planetreeParticle.maxTime = GetRandomValue (5, 20); + } + + if (!backPlanetreeParticle.particle[i].active && backPlanetreeParticle.spawnTime >= backPlanetreeParticle.maxTime) + { + backPlanetreeParticle.particle[i].active = true; + backPlanetreeParticle.particle[i].position = (Vector2){GetRandomValue(0, GetScreenWidth() + 200), -10}; + backPlanetreeParticle.spawnTime = 0; + backPlanetreeParticle.maxTime = GetRandomValue (3, 10); + } + } + } + + // Dandelion particle + if (dandelionParticle.active) + { + dandelionParticle.spawnTime += 1*TIME_FACTOR; + dandelionBackParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_particle; i++) + { + if (!dandelionParticle.particle[i].active && dandelionParticle.spawnTime >= dandelionParticle.maxTime) + { + dandelionParticle.particle[i].active = true; + dandelionParticle.particle[i].position = (Vector2){GetRandomValue(0, GetScreenWidth() + 200), -10}; + dandelionParticle.spawnTime = 0; + dandelionParticle.maxTime = GetRandomValue (5, 20); + } + + if (!dandelionBackParticle.particle[i].active && dandelionBackParticle.spawnTime >= dandelionBackParticle.maxTime) + { + dandelionBackParticle.particle[i].active = true; + dandelionBackParticle.particle[i].position = (Vector2){GetRandomValue(0, GetScreenWidth() + 200), -10}; + dandelionBackParticle.spawnTime = 0; + dandelionBackParticle.maxTime = GetRandomValue (3, 10); + } + } + } + + // Flower Particle + if (flowerParticle.active) + { + + flowerParticle.spawnTime += 1*TIME_FACTOR; + backFlowerParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_particle; i++) + { + if (!flowerParticle.particle[i].active && flowerParticle.spawnTime >= flowerParticle.maxTime) + { + flowerParticle.particle[i].active = true; + flowerParticle.particle[i].position = (Vector2){GetRandomValue(0, GetScreenWidth() + 200), -10}; + flowerParticle.spawnTime = 0; + flowerParticle.maxTime = GetRandomValue (5, 20); + } + + if (!backFlowerParticle.particle[i].active && backFlowerParticle.spawnTime >= backFlowerParticle.maxTime) + { + backFlowerParticle.particle[i].active = true; + backFlowerParticle.particle[i].position = (Vector2){GetRandomValue(0, GetScreenWidth() + 200), -10}; + backFlowerParticle.spawnTime = 0; + backFlowerParticle.maxTime = GetRandomValue (3, 10); + } + } + } + + // Storm particle + if (rainStormParticle.active) + { + + rainStormParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < 1024; i++) + { + if (!rainStormParticle.particle[i].active && rainStormParticle.spawnTime >= rainStormParticle.maxTime) + { + for (int j = 0; j < 16; j++) + { + rainStormParticle.particle[i+j].active = true; + rainStormParticle.particle[i+j].position = (Vector2){GetRandomValue(100, GetScreenWidth() + 1000), GetRandomValue(-10,-20)}; + } + + rainStormParticle.spawnTime = 0; + rainStormParticle.maxTime = 4; + } + } + } + + // Snow Storm particle + if (snowStormParticle.active) + { + snowStormParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < 256; i++) + { + if (!snowStormParticle.particle[i].active && snowStormParticle.spawnTime >= snowStormParticle.maxTime) + { + snowStormParticle.particle[i].active = true; + snowStormParticle.particle[i].position = (Vector2){GetRandomValue(100, GetScreenWidth() + 800), -10}; + snowStormParticle.spawnTime = 0; + snowStormParticle.maxTime = GetRandomValue (1, 2); + } + } + } + + if (rayparticle.active) + { + rayparticle.spawnTime += 1*TIME_FACTOR; + backRayparticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < 20; i++) + { + if (!rayparticle.particle[i].active && rayparticle.spawnTime >= rayparticle.maxTime) + { + //printf("PARTICLEEES"); + rayparticle.particle[i].active = true; + rayparticle.particle[i].alpha = 0.0f; + rayparticle.particle[i].size = (float)(GetRandomValue(10, 20)/10); + rayparticle.particle[i].position = (Vector2){GetRandomValue(300, GetScreenWidth() + 200), 0}; + rayparticle.particle[i].rotation = -35; + rayparticle.spawnTime = 0; + rayparticle.particle[i].delayCounter = 0; + rayparticle.maxTime = GetRandomValue (20, 50); + } + + if (!backRayparticle.particle[i].active && backRayparticle.spawnTime >= backRayparticle.maxTime) + { + backRayparticle.particle[i].active = true; + backRayparticle.particle[i].alpha = 0.0f; + backRayparticle.particle[i].size = (float)(GetRandomValue(5, 15)/10); + backRayparticle.particle[i].position = (Vector2){GetRandomValue(300, GetScreenWidth() + 200), 0}; + backRayparticle.particle[i].rotation = -35; + backRayparticle.spawnTime = 0; + backRayparticle.particle[i].delayCounter = 0; + backRayparticle.maxTime = GetRandomValue (20, 50); + } + } + } + + if (rainParticle.active) + { + rainParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_particle; i++) + { + if (!rainParticle.particle[i].active && rainParticle.spawnTime >= rainParticle.maxTime) + { + rainParticle.particle[i].active = true; + rainParticle.particle[i].position = (Vector2){GetRandomValue(0, GetScreenWidth() + 200), -10}; + rainParticle.spawnTime = 0; + rainParticle.maxTime = GetRandomValue (1, 8); + } + } + } + + if (backRainParticle.active) + { + backRainParticle.spawnTime += 1*TIME_FACTOR; + + for (int i = 0; i < MAX_particle; i++) + { + + if (!backRainParticle.particle[i].active && backRainParticle.spawnTime >= backRainParticle.maxTime) + { + backRainParticle.particle[i].active = true; + backRainParticle.particle[i].position = (Vector2){GetRandomValue(0, GetScreenWidth() + 200), -10}; + backRainParticle.spawnTime = 0; + backRainParticle.maxTime = GetRandomValue (3, 10); + } + } + } + + // particle Logic + for (int i = 0; i < MAX_particle; i++) + { + if (snowParticle.particle[i].active) + { + snowParticle.particle[i].position.y += 2*TIME_FACTOR; + snowParticle.particle[i].position.x -= 2*TIME_FACTOR; + snowParticle.particle[i].rotation += 0.5*TIME_FACTOR; + if (snowParticle.particle[i].position.y >= GetScreenHeight()) snowParticle.particle[i].active = false; + } + + if (backSnowParticle.particle[i].active) + { + backSnowParticle.particle[i].position.y += 4*TIME_FACTOR; + backSnowParticle.particle[i].position.x -= 3*TIME_FACTOR; + backSnowParticle.particle[i].rotation += 0.5*TIME_FACTOR; + if (backSnowParticle.particle[i].position.y >= GetScreenHeight()) backSnowParticle.particle[i].active = false; + } + + if (planetreeParticle.particle[i].active) + { + planetreeParticle.particle[i].position.y += 4*TIME_FACTOR; + planetreeParticle.particle[i].position.x -= 2*TIME_FACTOR; + planetreeParticle.particle[i].rotation += 0.5*TIME_FACTOR; + if (planetreeParticle.particle[i].position.y >= GetScreenHeight()) planetreeParticle.particle[i].active = false; + } + + if (backPlanetreeParticle.particle[i].active) + { + backPlanetreeParticle.particle[i].position.y += 4*TIME_FACTOR; + backPlanetreeParticle.particle[i].position.x -= 3*TIME_FACTOR; + backPlanetreeParticle.particle[i].rotation += 0.5*TIME_FACTOR; + if (backPlanetreeParticle.particle[i].position.y >= GetScreenHeight()) backPlanetreeParticle.particle[i].active = false; + } + + if (dandelionParticle.particle[i].active) + { + dandelionParticle.particle[i].position.y += 2.5*TIME_FACTOR; + dandelionParticle.particle[i].position.x -= 2*TIME_FACTOR; + dandelionParticle.particle[i].rotation = -(30*sin(2*PI/120*globalFrameCounter + dandelionParticle.particle[i].rotPhy) + 30); + if (dandelionParticle.particle[i].position.y >= GetScreenHeight()) dandelionParticle.particle[i].active = false; + } + + if (dandelionBackParticle.particle[i].active) + { + dandelionBackParticle.particle[i].position.y += 2*TIME_FACTOR; + dandelionBackParticle.particle[i].position.x -= 3*TIME_FACTOR; + dandelionBackParticle.particle[i].rotation = -(30*sin(2*PI/120*globalFrameCounter + dandelionParticle.particle[i].rotPhy) + 30); + if (dandelionBackParticle.particle[i].position.y >= GetScreenHeight()) dandelionBackParticle.particle[i].active = false; + } + + if (flowerParticle.particle[i].active) + { + flowerParticle.particle[i].position.y += 2.5*TIME_FACTOR; + flowerParticle.particle[i].position.x -= 2*TIME_FACTOR; + flowerParticle.particle[i].rotation += 0.5*TIME_FACTOR; + if (flowerParticle.particle[i].position.y >= GetScreenHeight()) flowerParticle.particle[i].active = false; + } + + if (backFlowerParticle.particle[i].active) + { + backFlowerParticle.particle[i].position.y += 2*TIME_FACTOR; + backFlowerParticle.particle[i].position.x -= 3*TIME_FACTOR; + backFlowerParticle.particle[i].rotation += 0.5*TIME_FACTOR; + if (backFlowerParticle.particle[i].position.y >= GetScreenHeight()) backFlowerParticle.particle[i].active = false; + } + + if (rainParticle.particle[i].active) + { + rainParticle.particle[i].position.y += 4*TIME_FACTOR; + rainParticle.particle[i].position.x -= 5*TIME_FACTOR; + //rainParticle.particle[i].rotation += 0.5; + if (rainParticle.particle[i].position.y >= GetScreenHeight()) rainParticle.particle[i].active = false; + } + + if (backRainParticle.particle[i].active) + { + backRainParticle.particle[i].position.y += 3*TIME_FACTOR; + backRainParticle.particle[i].position.x -= 3*TIME_FACTOR; + //rainParticle.particle[i].rotation += 0.5; + if (backRainParticle.particle[i].position.y >= GetScreenHeight()) backRainParticle.particle[i].active = false; + } + } + + for (int i = 0; i < 1024; i++) + { + if (rainStormParticle.particle[i].active) + { + rainStormParticle.particle[i].position.y += 12*TIME_FACTOR; + rainStormParticle.particle[i].position.x -= 15*TIME_FACTOR; + //rainParticle.particle[i].rotation += 0.5; + if (rainStormParticle.particle[i].position.y >= GetScreenHeight()) rainStormParticle.particle[i].active = false; + if (rainStormParticle.active == false)rainStormParticle.particle[i].alpha -= 0.01; + } + } + + for (int i = 0; i < 256; i++) + { + if (snowStormParticle.particle[i].active) + { + snowStormParticle.particle[i].position.y += 12; + snowStormParticle.particle[i].position.x -= 15; + snowStormParticle.particle[i].rotation += 0.5; + if (snowStormParticle.particle[i].position.y >= GetScreenHeight()) snowStormParticle.particle[i].active = false; + } + } + + for (int i = 0; i < 20; i++) + { + if (rayparticle.particle[i].active) + { + rayparticle.particle[i].position.x -= 0.5*TIME_FACTOR; + + if (rayparticle.particle[i].fading) + { + rayparticle.particle[i].alpha -= 0.01f; + + if (rayparticle.particle[i].alpha <= 0) + { + rayparticle.particle[i].alpha = 0; + rayparticle.particle[i].delayCounter++; + if (rayparticle.particle[i].delayCounter >= 30) + { + rayparticle.particle[i].active = false; + rayparticle.particle[i].delayCounter = 0; + rayparticle.particle[i].fading = false; + } + } + } + else + { + rayparticle.particle[i].alpha += 0.01f; + + if (rayparticle.particle[i].alpha >= 0.5f) + { + rayparticle.particle[i].alpha = 0.5f; + rayparticle.particle[i].delayCounter++; + + if (rayparticle.particle[i].delayCounter >= 30) + { + rayparticle.particle[i].delayCounter = 0; + rayparticle.particle[i].fading = true; + } + } + } + } + + if (backRayparticle.particle[i].active) + { + backRayparticle.particle[i].position.x -= 0.5; + + if (backRayparticle.particle[i].fading) + { + backRayparticle.particle[i].alpha -= 0.01f; + if (backRayparticle.particle[i].alpha <= 0) + { + backRayparticle.particle[i].alpha = 0; + backRayparticle.particle[i].delayCounter++; + if (backRayparticle.particle[i].delayCounter >= 30) + { + backRayparticle.particle[i].active = false; + backRayparticle.particle[i].delayCounter = 0; + backRayparticle.particle[i].fading = false; + } + } + } + else + { + backRayparticle.particle[i].alpha += 0.01f; + if (backRayparticle.particle[i].alpha >= 0.5f) + { + backRayparticle.particle[i].alpha = 0.5f; + backRayparticle.particle[i].delayCounter++; + if (backRayparticle.particle[i].delayCounter >= 30) + { + backRayparticle.particle[i].delayCounter = 0; + backRayparticle.particle[i].fading = true; + } + } + } + } + } + + // Press enter to change to GAMEPLAY screen +#if (defined(PLATFORM_ANDROID) || defined(PLATFORM_WEB)) + if (((IsGestureDetected(GESTURE_TAP) || (GetGestureDetected() == GESTURE_DOUBLETAP)) && framesCounter >= duration)) + { + //finishScreen = 1; // OPTIONS + finishScreen = 2; // GAMEPLAY + } +#elif (defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)) + if ((IsKeyPressed(KEY_ENTER) && framesCounter >= duration)) + { + //finishScreen = 1; // OPTIONS + finishScreen = 2; // GAMEPLAY + } +#endif +} + +// Title Screen Draw logic +void DrawTitleScreen(void) +{ + BeginShaderMode(colorBlend); + + DrawTexturePro(atlas02,gameplay_background, (Rectangle){0, 0, gameplay_background.width*2, gameplay_background.height*2}, (Vector2){0, 0}, 0, color02); + + // Draw parallax + DrawParallaxBack(); + DrawParallaxMiddle(); + + for (int i = 0; i < MAX_particle; i++) + { + if (backSnowParticle.particle[i].active) DrawTexturePro(atlas02, particle_icecrystal_bw, + (Rectangle){ backSnowParticle.particle[i].position.x, backSnowParticle.particle[i].position.y, particle_icecrystal_bw.width*backSnowParticle.particle[i].size, particle_icecrystal_bw.height*backSnowParticle.particle[i].size }, + (Vector2){ particle_icecrystal_bw.width*backSnowParticle.particle[i].size/2, particle_icecrystal_bw.height*backSnowParticle.particle[i].size/2 }, backSnowParticle.particle[i].rotation, + Fade((Color){144, 214, 255, 255}, backSnowParticle.particle[i].alpha)); + + if (backPlanetreeParticle.particle[i].active) DrawTexturePro(atlas02, particle_planetreeleaf_bw, + (Rectangle){ backPlanetreeParticle.particle[i].position.x, backPlanetreeParticle.particle[i].position.y, particle_planetreeleaf_bw.width*backPlanetreeParticle.particle[i].size, particle_planetreeleaf_bw.height*backPlanetreeParticle.particle[i].size }, + (Vector2){ particle_planetreeleaf_bw.width*backPlanetreeParticle.particle[i].size/2, particle_planetreeleaf_bw.height*backPlanetreeParticle.particle[i].size/2 }, backPlanetreeParticle.particle[i].rotation, + Fade((Color){179, 86, 6, 255}, backPlanetreeParticle.particle[i].alpha)); + + if (dandelionBackParticle.particle[i].active) DrawTexturePro(atlas02, particle_dandelion_bw, + (Rectangle){ dandelionBackParticle.particle[i].position.x, dandelionBackParticle.particle[i].position.y, particle_dandelion_bw.width*dandelionBackParticle.particle[i].size, particle_dandelion_bw.height*dandelionBackParticle.particle[i].size }, + (Vector2){ particle_dandelion_bw.width*dandelionBackParticle.particle[i].size/2, particle_dandelion_bw.height*dandelionBackParticle.particle[i].size/2 }, dandelionBackParticle.particle[i].rotation, + Fade((Color){202, 167, 126, 255}, dandelionBackParticle.particle[i].alpha)); + + if (backFlowerParticle.particle[i].active) DrawTexturePro(atlas02, particle_ecualyptusflower_bw, + (Rectangle){ backFlowerParticle.particle[i].position.x, backFlowerParticle.particle[i].position.y, particle_ecualyptusflower_bw.width*backFlowerParticle.particle[i].size, particle_ecualyptusflower_bw.height*backFlowerParticle.particle[i].size }, + (Vector2){ particle_ecualyptusflower_bw.width*backFlowerParticle.particle[i].size/2, particle_ecualyptusflower_bw.height*backFlowerParticle.particle[i].size/2 }, backFlowerParticle.particle[i].rotation, + Fade((Color){218, 84, 108, 255}, backFlowerParticle.particle[i].alpha)); + + if (backRainParticle.particle[i].active) DrawTexturePro(atlas02, particle_waterdrop_bw, + (Rectangle){ backRainParticle.particle[i].position.x, backRainParticle.particle[i].position.y, particle_waterdrop_bw.width*backRainParticle.particle[i].size, particle_waterdrop_bw.height*backRainParticle.particle[i].size }, + (Vector2){ particle_waterdrop_bw.width*backRainParticle.particle[i].size/2, particle_waterdrop_bw.height*backRainParticle.particle[i].size/2 }, backRainParticle.particle[i].rotation, + Fade((Color){144, 183, 187, 255}, backRainParticle.particle[i].alpha)); + } + + for (int i = 0; i < 20; i++) + { + if (backRayparticle.particle[i].active) DrawTexturePro(atlas02, gameplay_back_fx_lightraymid, + (Rectangle){ backRayparticle.particle[i].position.x, backRayparticle.particle[i].position.y, gameplay_back_fx_lightraymid.width*backRayparticle.particle[i].size, gameplay_back_fx_lightraymid.height*backRayparticle.particle[i].size }, + (Vector2){ gameplay_back_fx_lightraymid.width*backRayparticle.particle[i].size/2, gameplay_back_fx_lightraymid.height*backRayparticle.particle[i].size/2 }, backRayparticle.particle[i].rotation, + Fade(GOLD, backRayparticle.particle[i].alpha)); + } + + DrawParallaxFront(); + + for (int i = 0; i < 5; i++) + { + DrawTexturePro(atlas02, gameplay_props_tree, (Rectangle){bamboo[i].x, bamboo[i].y, 43, 720}, (Vector2){0, 0}, 0, color03); + //DrawRectangleRec(bamboo[i], Fade(LIME, 0.5)); + } + + EndShaderMode(); + + DrawTextureRec(atlas01, koalaMenu, (Vector2){player.x - player.width, player.y - 40}, WHITE); + + BeginShaderMode(colorBlend); + + DrawTexturePro(atlas02, gameplay_back_ground00, (Rectangle){0, 637, gameplay_back_ground00.width*2, gameplay_back_ground00.height*2}, (Vector2){0,0}, 0, color00); + + EndShaderMode(); + + DrawTexturePro(atlas01, (Rectangle){title_titletext.x, title_titletext.y, title_titletext.width, 230}, (Rectangle){GetScreenWidth()*0.49F - title_titletext.width/2, currentValue1, title_titletext.width, 235}, (Vector2){0, 0}, 0, WHITE); + DrawTexturePro(atlas01, (Rectangle){title_titletext.x, title_titletext.y + 232, title_titletext.width, 116}, (Rectangle){GetScreenWidth()*0.49F - title_titletext.width/2, currentValue2, title_titletext.width, 116}, (Vector2){0, 0}, 0, WHITE); + + if ((framesCounter/60)%2 && framesCounter >= duration) DrawTextEx(font, pressToPlay, (Vector2){ GetScreenWidth()/2 - fontSize.x/2, GetScreenHeight()/2 + fontSize.y*2 }, font.baseSize, 2, (Color){247, 239, 209, 255}); + + for (int i = 0; i < MAX_particle; i++) + { + if (snowParticle.particle[i].active) DrawTexturePro(atlas01, particle_icecrystal, + (Rectangle){ snowParticle.particle[i].position.x, snowParticle.particle[i].position.y, particle_icecrystal.width*snowParticle.particle[i].size, particle_icecrystal.height*snowParticle.particle[i].size }, + (Vector2){ particle_icecrystal.width*snowParticle.particle[i].size/2, particle_icecrystal.height*snowParticle.particle[i].size/2 }, snowParticle.particle[i].rotation, + Fade(snowParticle.particle[i].color, snowParticle.particle[i].alpha)); + + if (planetreeParticle.particle[i].active) DrawTexturePro(atlas01, particle_planetreeleaf, + (Rectangle){ planetreeParticle.particle[i].position.x, planetreeParticle.particle[i].position.y, particle_planetreeleaf.width*planetreeParticle.particle[i].size, particle_planetreeleaf.height*planetreeParticle.particle[i].size }, + (Vector2){ particle_planetreeleaf.width*planetreeParticle.particle[i].size/2, particle_planetreeleaf.height*planetreeParticle.particle[i].size/2 }, planetreeParticle.particle[i].rotation, + Fade(planetreeParticle.particle[i].color, planetreeParticle.particle[i].alpha)); + + if (dandelionParticle.particle[i].active) DrawTexturePro(atlas01, particle_dandelion, + (Rectangle){ dandelionParticle.particle[i].position.x, dandelionParticle.particle[i].position.y, particle_dandelion.width*dandelionParticle.particle[i].size, particle_dandelion.height*dandelionParticle.particle[i].size }, + (Vector2){ particle_dandelion.width*dandelionParticle.particle[i].size/2, particle_dandelion.height*dandelionParticle.particle[i].size/2 }, dandelionParticle.particle[i].rotation, + Fade(dandelionParticle.particle[i].color, dandelionParticle.particle[i].alpha)); + + if (flowerParticle.particle[i].active) DrawTexturePro(atlas01, particle_ecualyptusflower, + (Rectangle){ flowerParticle.particle[i].position.x, flowerParticle.particle[i].position.y, particle_ecualyptusflower.width*flowerParticle.particle[i].size, particle_ecualyptusflower.height*flowerParticle.particle[i].size }, + (Vector2){ particle_ecualyptusflower.width*flowerParticle.particle[i].size/2, particle_ecualyptusflower.height*flowerParticle.particle[i].size/2 }, flowerParticle.particle[i].rotation, + Fade(flowerParticle.particle[i].color, flowerParticle.particle[i].alpha)); + + if (rainParticle.particle[i].active) DrawTexturePro(atlas01, particle_waterdrop, + (Rectangle){ rainParticle.particle[i].position.x, rainParticle.particle[i].position.y, particle_waterdrop.width*rainParticle.particle[i].size, particle_waterdrop.height*rainParticle.particle[i].size }, + (Vector2){ particle_waterdrop.width*rainParticle.particle[i].size/2, particle_waterdrop.height*rainParticle.particle[i].size/2 }, rainParticle.particle[i].rotation, + Fade(rainParticle.particle[i].color, rainParticle.particle[i].alpha)); + + } + + for (int i = 0; i < 1024; i++) + { + if (rainStormParticle.particle[i].active) DrawTexturePro(atlas01, particle_waterdrop, + (Rectangle){ rainStormParticle.particle[i].position.x, rainStormParticle.particle[i].position.y, particle_waterdrop.width*rainStormParticle.particle[i].size, particle_waterdrop.height*rainStormParticle.particle[i].size }, + (Vector2){ particle_waterdrop.width*rainStormParticle.particle[i].size/2, particle_waterdrop.height*rainStormParticle.particle[i].size/2 }, rainStormParticle.particle[i].rotation, + Fade(rainStormParticle.particle[i].color, rainStormParticle.particle[i].alpha)); + } + + for (int i = 0; i < 256; i++) + { + + if (snowStormParticle.particle[i].active) DrawTexturePro(atlas01, particle_icecrystal, + (Rectangle){ snowStormParticle.particle[i].position.x, snowStormParticle.particle[i].position.y, particle_icecrystal.width*snowStormParticle.particle[i].size, particle_icecrystal.height*snowStormParticle.particle[i].size }, + (Vector2){ particle_icecrystal.width*snowStormParticle.particle[i].size/2, particle_icecrystal.height*snowStormParticle.particle[i].size/2 }, snowStormParticle.particle[i].rotation, + Fade(snowStormParticle.particle[i].color, snowStormParticle.particle[i].alpha)); + } + + + for (int i = 0; i < 20; i++) + { + + if (rayparticle.particle[i].active) DrawTexturePro(atlas01, gameplay_fx_lightraymid, + (Rectangle){ rayparticle.particle[i].position.x, rayparticle.particle[i].position.y, gameplay_fx_lightraymid.width*rayparticle.particle[i].size, gameplay_fx_lightraymid.height*rayparticle.particle[i].size }, + (Vector2){ gameplay_fx_lightraymid.width*rayparticle.particle[i].size/2, gameplay_fx_lightraymid.height*rayparticle.particle[i].size/2 }, rayparticle.particle[i].rotation, + Fade(rayparticle.particle[i].color, rayparticle.particle[i].alpha)); + } + + /* + DrawTexturePro(atlas01, title_twitter, (Rectangle){ GetScreenWidth()*0.85, GetScreenHeight()*0.1, title_twitter.width, title_twitter.height}, (Vector2){0,0}, 0, WHITE); + DrawTexturePro(atlas01, title_facebook, (Rectangle){ GetScreenWidth()*0.85, GetScreenHeight()*0.3, title_facebook.width, title_facebook.height}, (Vector2){0,0}, 0, WHITE); + DrawTexturePro(atlas01, title_googleplay, (Rectangle){ GetScreenWidth()*0.85, GetScreenHeight()*0.5, title_googleplay.width, title_googleplay.height}, (Vector2){0,0}, 0, WHITE); + + if (soundActive)DrawTexturePro(atlas01, title_music_on, (Rectangle){soundButton.x, soundButton.y, title_music_on.width, title_music_on.height}, (Vector2){0,0}, 0, WHITE); + else DrawTexturePro(atlas01, title_music_off, (Rectangle){soundButton.x, soundButton.y, title_music_off.width, title_music_off.height}, (Vector2){0,0}, 0, WHITE); + + if (musicActive)DrawTexturePro(atlas01, title_speaker_on, (Rectangle){speakerButton.x, speakerButton.y, title_speaker_on.width, title_speaker_on.height}, (Vector2){0,0}, 0, WHITE); + else DrawTexturePro(atlas01, title_speaker_off, (Rectangle){speakerButton.x, speakerButton.y, title_speaker_off.width, title_speaker_off.height}, (Vector2){0,0}, 0, WHITE); + */ +} + +// Title Screen Unload logic +void UnloadTitleScreen(void) +{ + // ... +} + +// Title Screen should finish? +int FinishTitleScreen(void) +{ + return finishScreen; +} + +static void DrawParallaxFront(void) +{ + Rectangle ground01 = gameplay_back_ground01; + + //DrawTexturePro(atlas02, gameplay_back_tree01_layer03, (Rectangle){0, 21, gameplay_back_tree01_layer03.width*2, gameplay_back_tree01_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree01_layer01, (Rectangle){(int)parallaxFrontOffset, 60, gameplay_back_tree01_layer01.width*2, gameplay_back_tree01_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree02_layer01, (Rectangle){(int)parallaxFrontOffset + 140, 60, gameplay_back_tree02_layer01.width*2, gameplay_back_tree02_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree03_layer01, (Rectangle){(int)parallaxFrontOffset + 140*2, 55, gameplay_back_tree02_layer01.width*2, gameplay_back_tree02_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree04_layer01, (Rectangle){(int)parallaxFrontOffset + 140*3, 60, gameplay_back_tree04_layer01.width*2, gameplay_back_tree04_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree05_layer01, (Rectangle){(int)parallaxFrontOffset + 140*4, 60, gameplay_back_tree05_layer01.width*2, gameplay_back_tree05_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree06_layer01, (Rectangle){(int)parallaxFrontOffset + 140*5, 55, gameplay_back_tree06_layer01.width*2, gameplay_back_tree06_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree07_layer01, (Rectangle){(int)parallaxFrontOffset + 140*6, 60, gameplay_back_tree07_layer01.width*2, gameplay_back_tree07_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree08_layer01, (Rectangle){(int)parallaxFrontOffset + 140*7, 60, gameplay_back_tree08_layer01.width*2, gameplay_back_tree08_layer01.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_ground01, (Rectangle){0, 559, ground01.width*2, ground01.height*2}, (Vector2){0,0}, 0, color01); + DrawTexturePro(atlas02, (Rectangle){ground01.x, ground01.y + ground01.height, ground01.width, -ground01.height}, (Rectangle){0, -33, ground01.width*2, ground01.height*2}, (Vector2){0,0}, 0, color01); + } + +static void DrawParallaxMiddle(void) +{ + Rectangle ground02 = gameplay_back_ground02; + + //DrawTexturePro(atlas02, gameplay_back_tree02_layer03, (Rectangle){0, 67, gameplay_back_tree02_layer03.width*2, gameplay_back_tree02_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree01_layer02, (Rectangle){(int)0, 67, gameplay_back_tree01_layer02.width*2, gameplay_back_tree01_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree02_layer02, (Rectangle){(int)140, 67, gameplay_back_tree02_layer02.width*2, gameplay_back_tree02_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree03_layer02, (Rectangle){(int)140*2, 67, gameplay_back_tree03_layer02.width*2, gameplay_back_tree03_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree04_layer02, (Rectangle){(int)140*3, 67, gameplay_back_tree04_layer02.width*2, gameplay_back_tree04_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree05_layer02, (Rectangle){(int)140*4, 67, gameplay_back_tree05_layer02.width*2, gameplay_back_tree05_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree06_layer02, (Rectangle){(int)140*5, 67, gameplay_back_tree06_layer02.width*2, gameplay_back_tree06_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree07_layer02, (Rectangle){(int)140*6, 67, gameplay_back_tree07_layer02.width*2, gameplay_back_tree07_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree08_layer02, (Rectangle){(int)140*7, 67, gameplay_back_tree08_layer02.width*2, gameplay_back_tree08_layer02.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_ground02, (Rectangle){0, 509, ground02.width*2, ground02.height*2}, (Vector2){0,0}, 0, color01); + DrawTexturePro(atlas02, (Rectangle){ground02.x, ground02.y + ground02.height, ground02.width, -ground02.height}, (Rectangle){0, 19, ground02.width*2, ground02.height*2}, (Vector2){0,0}, 0, color01); +} + +static void DrawParallaxBack(void) +{ + Rectangle ground03 = gameplay_back_ground03; + + //DrawTexturePro(atlas02, gameplay_back_tree02_layer03, (Rectangle){0, 67, gameplay_back_tree02_layer03.width*2, gameplay_back_tree02_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree01_layer03, (Rectangle){(int)parallaxBackOffset, 67, gameplay_back_tree01_layer03.width*2, gameplay_back_tree01_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree02_layer03, (Rectangle){(int)parallaxBackOffset + 140, 67, gameplay_back_tree02_layer03.width*2, gameplay_back_tree02_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree03_layer03, (Rectangle){(int)parallaxBackOffset + 140*2, 67, gameplay_back_tree03_layer03.width*2, gameplay_back_tree03_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree04_layer03, (Rectangle){(int)parallaxBackOffset + 140*3, 67, gameplay_back_tree04_layer03.width*2, gameplay_back_tree04_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree05_layer03, (Rectangle){(int)parallaxBackOffset + 140*4, 67, gameplay_back_tree05_layer03.width*2, gameplay_back_tree05_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree06_layer03, (Rectangle){(int)parallaxBackOffset + 140*5, 67, gameplay_back_tree06_layer03.width*2, gameplay_back_tree06_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree07_layer03, (Rectangle){(int)parallaxBackOffset + 140*6, 67, gameplay_back_tree07_layer03.width*2, gameplay_back_tree07_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_tree08_layer03, (Rectangle){(int)parallaxBackOffset + 140*7, 67, gameplay_back_tree08_layer03.width*2, gameplay_back_tree08_layer03.height*2}, (Vector2){0,0}, 0, color02); + DrawTexturePro(atlas02, gameplay_back_ground03, (Rectangle){0, 469, ground03.width*2, ground03.height*2}, (Vector2){0,0}, 0, color01); + DrawTexturePro(atlas02, (Rectangle){ground03.x, ground03.y + ground03.height, ground03.width, -ground03.height}, (Rectangle){0, 67, ground03.width*2, ground03.height*2}, (Vector2){0,0}, 0, color01); +} + +static float BounceEaseOut(float t,float b , float c, float d) +{ + if ((t/=d) < (1/2.75f)) { + return c*(7.5625f*t*t) + b; + } else if (t < (2/2.75f)) { + float postFix = t-=(1.5f/2.75f); + return c*(7.5625f*(postFix)*t + .75f) + b; + } else if (t < (2.5/2.75)) { + float postFix = t-=(2.25f/2.75f); + return c*(7.5625f*(postFix)*t + .9375f) + b; + } else { + float postFix = t-=(2.625f/2.75f); + return c*(7.5625f*(postFix)*t + .984375f) + b; + } +} \ No newline at end of file diff --git a/games/koala_seasons/screens/screens.h b/games/koala_seasons/screens/screens.h new file mode 100644 index 000000000..ba62aa27c --- /dev/null +++ b/games/koala_seasons/screens/screens.h @@ -0,0 +1,125 @@ +/********************************************************************************************** +* +* raylib - Koala Seasons game +* +* Screens Functions Declarations (Init, Update, Draw, Unload) +* +* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +#ifndef SCREENS_H +#define SCREENS_H + +#define GAME_FPS 60.0 +#define TIME_FACTOR 60.0/GAME_FPS + +#define MAX_KILLS 128 + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +typedef enum GameScreen { LOGO, TITLE, OPTIONS, GAMEPLAY, ENDING } GameScreen; + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +GameScreen currentScreen; + +// NOTE: This is all the data used in the game +SpriteFont font; +Shader colorBlend; +Texture2D atlas01; +Texture2D atlas02; + +Sound fxJump; +Sound fxDash; +Sound fxEatLeaves; +Sound fxDieSnake; +Sound fxDieDingo; +Sound fxDieOwl; +Sound fxHitResin; +Sound fxWind; + +// Global Variables (required by ending screen and gameplay screen) +int score; +int hiscore; +int killHistory[MAX_KILLS]; +int killer; +int seasons; +int years; +int currentLeaves; +int currentSeason; +int initSeason; +int initYears; +int rainChance; + +#ifdef __cplusplus +extern "C" { // Prevents name mangling of functions +#endif + +//---------------------------------------------------------------------------------- +// Logo Screen Functions Declaration +//---------------------------------------------------------------------------------- +void InitLogoScreen(void); +void UpdateLogoScreen(void); +void DrawLogoScreen(void); +void UnloadLogoScreen(void); +int FinishLogoScreen(void); + +//---------------------------------------------------------------------------------- +// Title Screen Functions Declaration +//---------------------------------------------------------------------------------- +void InitTitleScreen(void); +void UpdateTitleScreen(void); +void DrawTitleScreen(void); +void UnloadTitleScreen(void); +int FinishTitleScreen(void); + +//---------------------------------------------------------------------------------- +// Options Screen Functions Declaration +//---------------------------------------------------------------------------------- +void InitOptionsScreen(void); +void UpdateOptionsScreen(void); +void DrawOptionsScreen(void); +void UnloadOptionsScreen(void); +int FinishOptionsScreen(void); + +//---------------------------------------------------------------------------------- +// Gameplay Screen Functions Declaration +//---------------------------------------------------------------------------------- +void InitGameplayScreen(void); +void UpdateGameplayScreen(void); +void DrawGameplayScreen(void); +void UnloadGameplayScreen(void); +int FinishGameplayScreen(void); + +//---------------------------------------------------------------------------------- +// Ending Screen Functions Declaration +//---------------------------------------------------------------------------------- +void InitEndingScreen(void); +void UpdateEndingScreen(void); +void DrawEndingScreen(void); +void UnloadEndingScreen(void); +int FinishEndingScreen(void); + +#ifdef __cplusplus +} +#endif + +#endif // SCREENS_H \ No newline at end of file diff --git a/games/light_my_ritual/makefile b/games/light_my_ritual/makefile index 5cd4ee6be..287538c53 100644 --- a/games/light_my_ritual/makefile +++ b/games/light_my_ritual/makefile @@ -1,19 +1,17 @@ #************************************************************************************************** # -# raylib - Advance Game +# raylib makefile for desktop platforms, Raspberry Pi and HTML5 (emscripten) # -# makefile to compile advance game for desktop platforms, Raspberry Pi and HTML5 (emscripten) +# Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) # -# Copyright (c) 2014 Ramon Santamaria (@raysan5) -# -# This software is provided "as-is", without any express or implied warranty. In no event +# This software is provided "as-is", without any express or implied warranty. In no event # will the authors be held liable for any damages arising from the use of this software. # -# Permission is granted to anyone to use this software for any purpose, including commercial +# Permission is granted to anyone to use this software for any purpose, including commercial # applications, and to alter it and redistribute it freely, subject to the following restrictions: # -# 1. The origin of this software must not be misrepresented; you must not claim that you -# wrote the original software. If you use this software in a product, an acknowledgment +# 1. The origin of this software must not be misrepresented; you must not claim that you +# wrote the original software. If you use this software in a product, an acknowledgment # in the product documentation would be appreciated but is not required. # # 2. Altered source versions must be plainly marked as such, and must not be misrepresented @@ -23,10 +21,23 @@ # #************************************************************************************************** -# define raylib platform if not defined (by default, compile for RPI) -# Other possible platform: PLATFORM_DESKTOP +.PHONY: all clean + +# define raylib platform to compile for +# possible platforms: PLATFORM_DESKTOP PLATFORM_RPI PLATFORM_WEB +# WARNING: To compile to HTML5, code must be redesigned to use emscripten.h and emscripten_set_main_loop() PLATFORM ?= PLATFORM_DESKTOP +# define NO to use OpenAL Soft as static library (shared by default) +SHARED_OPENAL ?= NO + +ifeq ($(PLATFORM),PLATFORM_WEB) + SHARED_OPENAL = NO +endif + +# define raylib directory for include and library +RAYLIB_PATH ?= C:\raylib\raylib + # determine PLATFORM_OS in case PLATFORM_DESKTOP selected ifeq ($(PLATFORM),PLATFORM_DESKTOP) # No uname.exe on MinGW!, but OS=Windows_NT on Windows! ifeq ($(UNAME),Msys) -> Windows @@ -62,48 +73,96 @@ endif endif # define compiler flags: -# -O2 defines optimization level -# -Wall turns on most, but not all, compiler warnings -# -std=c99 use standard C from 1999 revision -ifeq ($(PLATFORM),PLATFORM_RPI) - CFLAGS = -O2 -Wall -std=gnu99 -fgnu89-inline -else - CFLAGS = -O2 -Wall -std=c99 +# -O2 defines optimization level +# -Og enable debugging +# -s strip unnecessary data from build +# -Wall turns on most, but not all, compiler warnings +# -std=c99 defines C language mode (standard C from 1999 revision) +# -std=gnu99 defines C language mode (GNU C from 1999 revision) +# -fgnu89-inline declaring inline functions support (GCC optimized) +# -Wno-missing-braces ignore invalid warning (GCC bug 53119) +# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + CFLAGS = -O2 -s -Wall -std=c99 + endif + ifeq ($(PLATFORM_OS),LINUX) + CFLAGS = -O2 -s -Wall -std=c99 -D_DEFAULT_SOURCE + endif + ifeq ($(PLATFORM_OS),OSX) + CFLAGS = -O2 -s -Wall -std=c99 + endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -s USE_GLFW=3 --preload-file resources -s ALLOW_MEMORY_GROWTH=1 --shell-file ../../templates/web_shell/shell.html - #-s ASSERTIONS=1 --preload-file resources - #-s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing - #-s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 --profiling --preload-file resources -s ALLOW_MEMORY_GROWTH=1 + # -O2 # if used, also set --memory-init-file 0 + # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) + # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing + # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + # --preload-file file.res # embbed file.res resource into .data file +endif +ifeq ($(PLATFORM),PLATFORM_RPI) + CFLAGS = -O2 -s -Wall -std=gnu99 -fgnu89-inline +endif +#CFLAGSEXTRA = -Wextra -Wmissing-prototypes -Wstrict-prototypes + +# define raylib release directory for compiled library +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/win32/mingw32 + endif + ifeq ($(PLATFORM_OS),LINUX) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/linux + endif + ifeq ($(PLATFORM_OS),OSX) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/osx + endif +endif +ifeq ($(PLATFORM),PLATFORM_WEB) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/html5 +endif +ifeq ($(PLATFORM),PLATFORM_RPI) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/rpi endif # define any directories containing required header files +INCLUDES = -I. -I$(RAYLIB_RELEASE) -I$(RAYLIB_PATH)/src -I$(RAYLIB_PATH)/src/external + ifeq ($(PLATFORM),PLATFORM_RPI) - INCLUDES = -I. -I../../src -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -else - INCLUDES = -I. -I../../src -# external libraries headers -# GLFW3 - INCLUDES += -I../../external/glfw3/include -# GLEW - INCLUDES += -I../../external/glew/include -# OpenAL Soft - INCLUDES += -I../../external/openal_soft/include + INCLUDES += -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads +endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + # external libraries headers + # GLFW3 + INCLUDES += -I$(RAYLIB_PATH)/src/external/glfw3/include + # OpenAL Soft + INCLUDES += -I$(RAYLIB_PATH)/src/external/openal_soft/include + endif + ifeq ($(PLATFORM_OS),LINUX) + # you may optionally create this directory and install raylib + # and related headers there. Edit ../src/Makefile appropriately. + INCLUDES += -I/usr/local/include/raylib + endif + ifeq ($(PLATFORM_OS),OSX) + # additional directories for MacOS + endif endif # define library paths containing required libs +LFLAGS = -L. -L$(RAYLIB_RELEASE) -L$(RAYLIB_PATH)/src + ifeq ($(PLATFORM),PLATFORM_RPI) - LFLAGS = -L. -L../../src -L/opt/vc/lib -else - LFLAGS = -L. -L../../src - # external libraries to link with - # GLFW3 - LFLAGS += -L../../external/glfw3/lib/$(LIBPATH) - ifneq ($(PLATFORM_OS),OSX) - # OpenAL Soft - LFLAGS += -L../../external/openal_soft/lib/$(LIBPATH) - # GLEW - LFLAGS += -L../../external/glew/lib/$(LIBPATH) + LFLAGS += -L/opt/vc/lib +endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + # add standard directories for GNU/Linux + ifeq ($(PLATFORM_OS),WINDOWS) + # external libraries to link with + # GLFW3 + LFLAGS += -L$(RAYLIB_PATH)/src/external/glfw3/lib/$(LIBPATH) + # OpenAL Soft + LFLAGS += -L$(RAYLIB_PATH)/src/external/openal_soft/lib/$(LIBPATH) endif endif @@ -113,21 +172,28 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),LINUX) # libraries for Debian GNU/Linux desktop compiling # requires the following packages: - # libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw3 -lGLEW -lGL -lopenal -lm -lpthread -ldl - # on XWindow could require also below libraries, just uncomment + # libglfw3-dev libopenal-dev libegl1-mesa-dev + LIBS = -lraylib -lglfw3 -lGL -lopenal -lm -lpthread -ldl + # on XWindow requires also below libraries LIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor - endif + else ifeq ($(PLATFORM_OS),OSX) - # libraries for OS X 10.9 desktop compiling + # libraries for OSX 10.9 desktop compiling # requires the following packages: - # libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw -framework OpenGL -framework OpenAl -framework Cocoa - endif - ifeq ($(PLATFORM_OS),WINDOWS) + # libglfw3-dev libopenal-dev libegl1-mesa-dev + LIBS = -lraylib -lglfw -framework OpenGL -framework OpenAL -framework Cocoa + else # libraries for Windows desktop compiling # NOTE: GLFW3 and OpenAL Soft libraries should be installed - LIBS = -lraylib -lglfw3 -lglew32 -lopengl32 -lopenal32 -lgdi32 + LIBS = -lraylib -lglfw3 -lopengl32 -lgdi32 + # if static OpenAL Soft required, define the corresponding libs + ifeq ($(SHARED_OPENAL),NO) + LIBS += -lopenal32 -lwinmm + CFLAGS += -Wl,-allow-multiple-definition + else + LIBS += -lopenal32dll + endif + endif endif endif ifeq ($(PLATFORM),PLATFORM_RPI) @@ -136,18 +202,20 @@ ifeq ($(PLATFORM),PLATFORM_RPI) LIBS = -lraylib -lGLESv2 -lEGL -lpthread -lrt -lm -lbcm_host -lopenal endif ifeq ($(PLATFORM),PLATFORM_WEB) - LIBS = ../../src/libraylib.bc + # NOTE: Set the correct path to libraylib.bc + LIBS = $(RAYLIB_RELEASE)/libraylib.bc endif # define additional parameters and flags for windows ifeq ($(PLATFORM_OS),WINDOWS) # resources file contains windows exe icon # -Wl,--subsystem,windows hides the console window - WINFLAGS = ../../src/resources -Wl,--subsystem,windows + WINFLAGS = $(RAYLIB_PATH)/src/resources -Wl,--subsystem,windows endif ifeq ($(PLATFORM),PLATFORM_WEB) EXT = .html + WEB_SHELL = --shell-file $(RAYLIB_PATH)\templates\web_shell\shell.html endif # define all screen object files required @@ -156,13 +224,12 @@ SCREENS = \ screens/screen_title.o \ screens/screen_gameplay.o \ -# typing 'make' will invoke the first target entry in the file, -# in this case, the 'default' target entry is advance_game +# typing 'make' will invoke the default target entry default: light_my_ritual -# compile template - advance_game +# compile program light_my_ritual: light_my_ritual.c $(SCREENS) - $(CC) -o $@$(EXT) $< $(SCREENS) $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $^ $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile screen LOGO raylib screens/screen_logo_raylib.o: screens/screen_logo_raylib.c @@ -184,10 +251,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) rm -f *.o else ifeq ($(PLATFORM_OS),LINUX) - find . -type f -executable -delete - rm -f *.o + find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -f else - del *.o *.exe + del *.o *.exe /s endif endif endif diff --git a/games/makefile b/games/makefile index c48e4d686..60f38bffb 100644 --- a/games/makefile +++ b/games/makefile @@ -2,16 +2,16 @@ # # raylib makefile for desktop platforms, Raspberry Pi and HTML5 (emscripten) # -# Copyright (c) 2015 Ramon Santamaria (@raysan5) -# -# This software is provided "as-is", without any express or implied warranty. In no event +# Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) +# +# This software is provided "as-is", without any express or implied warranty. In no event # will the authors be held liable for any damages arising from the use of this software. # -# Permission is granted to anyone to use this software for any purpose, including commercial +# Permission is granted to anyone to use this software for any purpose, including commercial # applications, and to alter it and redistribute it freely, subject to the following restrictions: # -# 1. The origin of this software must not be misrepresented; you must not claim that you -# wrote the original software. If you use this software in a product, an acknowledgment +# 1. The origin of this software must not be misrepresented; you must not claim that you +# wrote the original software. If you use this software in a product, an acknowledgment # in the product documentation would be appreciated but is not required. # # 2. Altered source versions must be plainly marked as such, and must not be misrepresented @@ -21,11 +21,23 @@ # #************************************************************************************************** +.PHONY: all clean + # define raylib platform to compile for # possible platforms: PLATFORM_DESKTOP PLATFORM_RPI PLATFORM_WEB # WARNING: To compile to HTML5, code must be redesigned to use emscripten.h and emscripten_set_main_loop() PLATFORM ?= PLATFORM_DESKTOP +# define NO to use OpenAL Soft as static library (shared by default) +SHARED_OPENAL ?= NO + +ifeq ($(PLATFORM),PLATFORM_WEB) + SHARED_OPENAL = NO +endif + +# define raylib directory for include and library +RAYLIB_PATH ?= C:\raylib\raylib + # determine PLATFORM_OS in case PLATFORM_DESKTOP selected ifeq ($(PLATFORM),PLATFORM_DESKTOP) # No uname.exe on MinGW!, but OS=Windows_NT on Windows! ifeq ($(UNAME),Msys) -> Windows @@ -61,46 +73,96 @@ endif endif # define compiler flags: -# -O2 defines optimization level -# -Wall turns on most, but not all, compiler warnings -# -std=c99 use standard C from 1999 revision -ifeq ($(PLATFORM),PLATFORM_RPI) - CFLAGS = -O2 -Wall -std=gnu99 -fgnu89-inline -else - CFLAGS = -O2 -Wall -std=c99 +# -O2 defines optimization level +# -Og enable debugging +# -s strip unnecessary data from build +# -Wall turns on most, but not all, compiler warnings +# -std=c99 defines C language mode (standard C from 1999 revision) +# -std=gnu99 defines C language mode (GNU C from 1999 revision) +# -fgnu89-inline declaring inline functions support (GCC optimized) +# -Wno-missing-braces ignore invalid warning (GCC bug 53119) +# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + CFLAGS = -O2 -s -Wall -std=c99 + endif + ifeq ($(PLATFORM_OS),LINUX) + CFLAGS = -O2 -s -Wall -std=c99 -D_DEFAULT_SOURCE + endif + ifeq ($(PLATFORM_OS),OSX) + CFLAGS = -O2 -s -Wall -std=c99 + endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -s USE_GLFW=3 --shell-file ../../templates/web_shell/shell.html - #-s ASSERTIONS=1 # to check for memory allocation errors (-O1 disables it) - #-s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing - #-s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 -s --profiling + # -O2 # if used, also set --memory-init-file 0 + # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) + # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing + # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + # --preload-file file.res # embbed file.res resource into .data file +endif +ifeq ($(PLATFORM),PLATFORM_RPI) + CFLAGS = -O2 -s -Wall -std=gnu99 -fgnu89-inline endif - #CFLAGSEXTRA = -Wextra -Wmissing-prototypes -Wstrict-prototypes -# define any directories containing required header files +# define raylib release directory for compiled library +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/win32/mingw32 + endif + ifeq ($(PLATFORM_OS),LINUX) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/linux + endif + ifeq ($(PLATFORM_OS),OSX) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/osx + endif +endif +ifeq ($(PLATFORM),PLATFORM_WEB) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/html5 +endif ifeq ($(PLATFORM),PLATFORM_RPI) - INCLUDES = -I. -I../src -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -else - INCLUDES = -I. -I../src -# external libraries headers -# GLFW3 - INCLUDES += -I../external/glfw3/include -# OpenAL Soft - INCLUDES += -I../external/openal_soft/include + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/rpi +endif + +# define any directories containing required header files +INCLUDES = -I. -I$(RAYLIB_RELEASE) -I$(RAYLIB_PATH)/src -I$(RAYLIB_PATH)/src/external + +ifeq ($(PLATFORM),PLATFORM_RPI) + INCLUDES += -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads +endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + # external libraries headers + # GLFW3 + INCLUDES += -I$(RAYLIB_PATH)/src/external/glfw3/include + # OpenAL Soft + INCLUDES += -I$(RAYLIB_PATH)/src/external/openal_soft/include + endif + ifeq ($(PLATFORM_OS),LINUX) + # you may optionally create this directory and install raylib + # and related headers there. Edit ../src/Makefile appropriately. + INCLUDES += -I/usr/local/include/raylib + endif + ifeq ($(PLATFORM_OS),OSX) + # additional directories for MacOS + endif endif # define library paths containing required libs +LFLAGS = -L. -L$(RAYLIB_RELEASE) -L$(RAYLIB_PATH)/src + ifeq ($(PLATFORM),PLATFORM_RPI) - LFLAGS = -L. -L../src -L/opt/vc/lib -else - LFLAGS = -L. -L../src -# external libraries to link with - # GLFW3 - LFLAGS += -L../external/glfw3/lib/$(LIBPATH) - ifneq ($(PLATFORM_OS),OSX) - # OpenAL Soft - LFLAGS += -L../external/openal_soft/lib/$(LIBPATH) + LFLAGS += -L/opt/vc/lib +endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + # add standard directories for GNU/Linux + ifeq ($(PLATFORM_OS),WINDOWS) + # external libraries to link with + # GLFW3 + LFLAGS += -L$(RAYLIB_PATH)/src/external/glfw3/lib/$(LIBPATH) + # OpenAL Soft + LFLAGS += -L$(RAYLIB_PATH)/src/external/openal_soft/lib/$(LIBPATH) endif endif @@ -110,20 +172,27 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),LINUX) # libraries for Debian GNU/Linux desktop compiling # requires the following packages: - # libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw3 -lGLEW -lGL -lopenal -lm -lpthread -ldl - # on XWindow could require also below libraries: + # libglfw3-dev libopenal-dev libegl1-mesa-dev + LIBS = -lraylib -lglfw3 -lGL -lopenal -lm -lpthread -ldl + # on XWindow requires also below libraries LIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor else ifeq ($(PLATFORM_OS),OSX) - # libraries for OS X 10.9 desktop compiling + # libraries for OSX 10.9 desktop compiling # requires the following packages: - # libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw -framework OpenGL -framework OpenAl -framework Cocoa + # libglfw3-dev libopenal-dev libegl1-mesa-dev + LIBS = -lraylib -lglfw -framework OpenGL -framework OpenAL -framework Cocoa else # libraries for Windows desktop compiling # NOTE: GLFW3 and OpenAL Soft libraries should be installed - LIBS = -lraylib -lglfw3 -lopengl32 -lopenal32 -lgdi32 + LIBS = -lraylib -lglfw3 -lopengl32 -lgdi32 + # if static OpenAL Soft required, define the corresponding libs + ifeq ($(SHARED_OPENAL),NO) + LIBS += -lopenal32 -lwinmm + CFLAGS += -Wl,-allow-multiple-definition + else + LIBS += -lopenal32dll + endif endif endif endif @@ -134,18 +203,19 @@ ifeq ($(PLATFORM),PLATFORM_RPI) endif ifeq ($(PLATFORM),PLATFORM_WEB) # NOTE: Set the correct path to libraylib.bc - LIBS = ../src/libraylib.bc + LIBS = $(RAYLIB_RELEASE)/libraylib.bc endif # define additional parameters and flags for windows ifeq ($(PLATFORM_OS),WINDOWS) # resources file contains windows exe icon # -Wl,--subsystem,windows hides the console window - WINFLAGS = ../src/resources -Wl,--subsystem,windows + WINFLAGS = $(RAYLIB_PATH)/src/resources -Wl,--subsystem,windows endif ifeq ($(PLATFORM),PLATFORM_WEB) EXT = .html + WEB_SHELL = --shell-file $(RAYLIB_PATH)\templates\web_shell\shell.html endif # define all object files required @@ -164,8 +234,7 @@ SAMPLES = \ fix_dylib \ -# typing 'make' will invoke the first target entry in the file, -# in this case, the 'default' target entry is raylib +# typing 'make' will invoke the default target entry default: samples # compile all game samples @@ -173,47 +242,47 @@ samples: $(SAMPLES) # compile game sample - arkanoid arkanoid: arkanoid.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile game sample - steroids asteroids: asteroids.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile game sample - asteroids_survival asteroids_survival: asteroids_survival.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile game sample - floppy floppy: floppy.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile game sample - gold_fever gold_fever: gold_fever.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile game sample - gorilas gorilas: gorilas.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile game sample - missile_commander missile_commander: missile_commander.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile game sample - pang pang: pang.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile game sample - snake snake: snake.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile game sample - space_invaders space_invaders: space_invaders.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile game sample - tetris tetris: tetris.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # fix dylib install path name for each executable (MAC) fix_dylib: @@ -231,7 +300,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),LINUX) find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -f else - del *.o *.exe + del *.o *.exe /s endif endif endif diff --git a/games/raylib_demo/makefile b/games/raylib_demo/makefile deleted file mode 100644 index 4e8a9b1c7..000000000 --- a/games/raylib_demo/makefile +++ /dev/null @@ -1,191 +0,0 @@ -#************************************************************************************************** -# -# raylib - Basic Game -# -# makefile to compile advance game for desktop platforms, Raspberry Pi and HTML5 (emscripten) -# -# Copyright (c) 2014 Ramon Santamaria (@raysan5) -# -# This software is provided "as-is", without any express or implied warranty. In no event -# will the authors be held liable for any damages arising from the use of this software. -# -# Permission is granted to anyone to use this software for any purpose, including commercial -# applications, and to alter it and redistribute it freely, subject to the following restrictions: -# -# 1. The origin of this software must not be misrepresented; you must not claim that you -# wrote the original software. If you use this software in a product, an acknowledgment -# in the product documentation would be appreciated but is not required. -# -# 2. Altered source versions must be plainly marked as such, and must not be misrepresented -# as being the original software. -# -# 3. This notice may not be removed or altered from any source distribution. -# -#************************************************************************************************** - -# define raylib platform to compile for -# possible platforms: PLATFORM_DESKTOP PLATFORM_RPI PLATFORM_WEB -# WARNING: To compile to HTML5, code must be redesigned to use emscripten.h and emscripten_set_main_loop() -PLATFORM ?= PLATFORM_DESKTOP - -# determine PLATFORM_OS in case PLATFORM_DESKTOP selected -ifeq ($(PLATFORM),PLATFORM_DESKTOP) - # No uname.exe on MinGW!, but OS=Windows_NT on Windows! ifeq ($(UNAME),Msys) -> Windows - ifeq ($(OS),Windows_NT) - PLATFORM_OS=WINDOWS - LIBPATH=win32 - else - UNAMEOS:=$(shell uname) - ifeq ($(UNAMEOS),Linux) - PLATFORM_OS=LINUX - LIBPATH=linux - else - ifeq ($(UNAMEOS),Darwin) - PLATFORM_OS=OSX - LIBPATH=osx - endif - endif - endif -endif - -# define compiler: gcc for C program, define as g++ for C++ -ifeq ($(PLATFORM),PLATFORM_WEB) - # define emscripten compiler - CC = emcc -else -ifeq ($(PLATFORM_OS),OSX) - # define llvm compiler for mac - CC = clang -else - # define default gcc compiler - CC = gcc -endif -endif - -# define compiler flags: -# -O2 defines optimization level -# -Wall turns on most, but not all, compiler warnings -# -std=c99 use standard C from 1999 revision -ifeq ($(PLATFORM),PLATFORM_RPI) - CFLAGS = -O2 -Wall -std=gnu99 -fgnu89-inline -else - CFLAGS = -O2 -Wall -std=c99 -endif -ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -s USE_GLFW=3 --preload-file resources --shell-file ../../templates/web_shell/shell.html - #-s ASSERTIONS=1 # to check for memory allocation errors (-O1 disables it) - #-s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing - #-s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) -endif - -#CFLAGSEXTRA = -Wextra -Wmissing-prototypes -Wstrict-prototypes - -# define any directories containing required header files -ifeq ($(PLATFORM),PLATFORM_RPI) - INCLUDES = -I. -I../../src -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -else - INCLUDES = -I. -I../../src -# external libraries headers -# GLFW3 - INCLUDES += -I../../external/glfw3/include -# GLEW - Not required any more, replaced by GLAD - #INCLUDES += -I../external/glew/include -# OpenAL Soft - INCLUDES += -I../../external/openal_soft/include -endif - -# define library paths containing required libs -ifeq ($(PLATFORM),PLATFORM_RPI) - LFLAGS = -L. -L../../src -L/opt/vc/lib -else - LFLAGS = -L. -L../../src -LC:/raylib/raylib/src - # external libraries to link with - # GLFW3 - LFLAGS += -L../../external/glfw3/lib/$(LIBPATH) - ifneq ($(PLATFORM_OS),OSX) - # OpenAL Soft - LFLAGS += -L../../external/openal_soft/lib/$(LIBPATH) - # GLEW: Not used, replaced by GLAD - #LFLAGS += -L../../external/glew/lib/$(LIBPATH) - endif -endif - -# define any libraries to link into executable -# if you want to link libraries (libname.so or libname.a), use the -lname -ifeq ($(PLATFORM),PLATFORM_DESKTOP) - ifeq ($(PLATFORM_OS),LINUX) - # libraries for Debian GNU/Linux desktop compiling - # requires the following packages: - # libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw3 -lGLEW -lGL -lopenal -lm -pthread -ldl - # on XWindow could require also below libraries, just uncomment - LIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor - else - ifeq ($(PLATFORM_OS),OSX) - # libraries for OS X 10.9 desktop compiling - # requires the following packages: - # libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw -framework OpenGL -framework OpenAl -framework Cocoa - else - # libraries for Windows desktop compiling - # NOTE: GLFW3 and OpenAL Soft libraries should be installed - LIBS = -lraylib -lglfw3 -lopengl32 -lopenal32 -lgdi32 - endif - endif -endif -ifeq ($(PLATFORM),PLATFORM_RPI) - # libraries for Raspberry Pi compiling - # NOTE: OpenAL Soft library should be installed (libopenal1 package) - LIBS = -lraylib -lGLESv2 -lEGL -lpthread -lrt -lm -lbcm_host -lopenal -endif -ifeq ($(PLATFORM),PLATFORM_WEB) - # NOTE: Set the correct path to libraylib.bc - LIBS = ../../src/libraylib.bc -endif - -# define additional parameters and flags for windows -ifeq ($(PLATFORM_OS),WINDOWS) - # resources file contains windows exe icon - # -Wl,--subsystem,windows hides the console window - WINFLAGS = ../../src/resources -Wl,--subsystem,windows -endif - -ifeq ($(PLATFORM),PLATFORM_WEB) - EXT = .html -endif - -# typing 'make' will invoke the first target entry in the file, -# in this case, the 'default' target entry is qidv_raylib -default: raylib_demo - -# compile raylib demo -raylib_demo: raylib_demo.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) - -# clean everything -clean: -ifeq ($(PLATFORM),PLATFORM_DESKTOP) - ifeq ($(PLATFORM_OS),OSX) - find . -type f -perm +ugo+x -delete - rm -f *.o - else - ifeq ($(PLATFORM_OS),LINUX) - find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -f - else - del *.o *.exe - endif - endif -endif -ifeq ($(PLATFORM),PLATFORM_RPI) - find . -type f -executable -delete - rm -f *.o -endif -ifeq ($(PLATFORM),PLATFORM_WEB) - del *.o *.html *.js -endif - @echo Cleaning done - -# instead of defining every module one by one, we can define a pattern -# this pattern below will automatically compile every module defined on $(OBJS) -#%.exe : %.c -# $(CC) -o $@ $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) diff --git a/games/raylib_demo/raylib_demo.c b/games/raylib_demo/raylib_demo.c deleted file mode 100644 index 62f26c3fb..000000000 --- a/games/raylib_demo/raylib_demo.c +++ /dev/null @@ -1,932 +0,0 @@ -/******************************************************************************************* -* -* raylib - Features demo 01 (Learn Videogames Programming) -* -* This show has been created using raylib v1.4 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) -* -* Copyright (c) 2014 Ramon Santamaria (@raysan5) -* -********************************************************************************************/ - -#include "raylib.h" - -#if defined(PLATFORM_WEB) - #include -#endif - -#include -#include - -#define MAX_BALLS 16 - -//---------------------------------------------------------------------------------- -// Types and Structures Definition -//---------------------------------------------------------------------------------- -typedef enum TalkScreen { LOADING, LOGO, MODULES, ENDING, PONG } TalkScreen; -typedef enum Modules { CORE = 0, SHAPES, TEXTURES, TEXT, MODELS, AUDIO } Modules; - -//---------------------------------------------------------------------------------- -// Global Variables Definition (local to this module) -//---------------------------------------------------------------------------------- -int screenWidth = 1280; -int screenHeight = 720; - -const char msgLoading[30] = "LOADING..."; -const char msgPressEnter[30] = "Press ENTER to START"; - -const char msgCredits[40] = "by RAMON SANTAMARIA [@raysan5]"; -const char msgWeb[30] = "www.raylib.com"; - -const char msgLogoA[40] = "A simple and easy-to-use library"; -const char msgLogoB[40] = "to learn videogames programming"; - -const char msg1[50] = "THIS is a CUSTOM FONT..."; -const char msg2[50] = "...and ANOTHER CUSTOM ONE..."; -const char msg3[50] = "...AND ONE MORE! :)"; - -bool closeWindow = false; - -int totalTime = 60*60*60; // fps*sec*min -int timeCounter = 0; - -TalkScreen currentScreen = LOADING; - -// LOADING screen variables -int loadBarWidth = 0; -int loadBarMaxWidth = 600; - -// TITLE screen variables -SpriteFont fontAlagard; -SpriteFont fontPixelplay; -SpriteFont fontMecha; -SpriteFont fontSetback; -SpriteFont fontRomulus; - -Vector2 pongBallPosition; -Vector2 pongBallSpeed; -Rectangle pongPlayerRec; -Rectangle pongEnemyRec; -int pongScorePlayer = 0; -int pongScoreEnemy = 0; -bool pongAutoMode = true; -int pongAutoCounter = 0; -bool pongPaused = true; - -int lettersCounter = 0; -char msgBuffer[120] = { ' ' }; - -// LOGO screen variables -int logoPositionX; -int logoPositionY; - -int raylibLettersCount = 0; - -int topSideRecWidth = 16; -int leftSideRecHeight = 16; - -int bottomSideRecWidth = 16; -int rightSideRecHeight = 16; - -char raylib[8] = " \0"; // raylib text array, max 8 letters - -int logoScreenState = 0; // Tracking animation states (State Machine) -bool msgLogoADone = false; -bool msgLogoBDone = false; - -// MODULES screen variables -Modules selectedModule = CORE; - -Texture2D raylibWindow; -Texture2D raylibWindow01; -Texture2D raylibWindow02; -Texture2D raylibWindow03; -Texture2D platforms; -Texture2D raylibLogoB; -Texture2D lena; -Texture2D mandrill; -Texture2D texAlagard; -SpriteFont fontMechaC; -SpriteFont fontAlagardC; -SpriteFont fontJupiterC; - -int coreWindow = 1; - -int windowOffset = 0; -Vector2 ballPosition; - -Camera camera; - -Texture2D catTexture; -Model cat; - -Sound fxWav; -Sound fxOgg; - -Music music; - -Vector2 soundBallsPosition[MAX_BALLS]; -Color soundBallsColor[MAX_BALLS]; -bool soundBallsActive[MAX_BALLS]; -float soundBallsAlpha[MAX_BALLS]; -int soundBallsRadius[MAX_BALLS]; - -float scaleFactor = 0.0f; -float timePlayed = 0; - -// ENDING screen variables -Texture2D raylibLogoA; - -// Required variables to manage screen transitions (fade-in, fade-out) -float transAlpha = 0; -bool onTransition = false; -bool transFadeOut = false; -int transFromScreen = -1; -int transToScreen = -1; - -int framesCounter = 0; - -//---------------------------------------------------------------------------------- -// Local Functions Declaration -//---------------------------------------------------------------------------------- -void TransitionToScreen(int screen); -void UpdateTransition(void); -void DrawTransition(void); - -void UpdateDrawOneFrame(void); - -//---------------------------------------------------------------------------------- -// Main entry point -//---------------------------------------------------------------------------------- -int main() -{ - // Initialization - //-------------------------------------------------------------------------------------- - const char windowTitle[30] = "raylib functionality demo"; - - //SetupFlags(FLAG_FULLSCREEN_MODE); - InitWindow(screenWidth, screenHeight, windowTitle); - - InitAudioDevice(); // Initialize audio device - - // TITLE screen variables Initialization - fontAlagard = LoadSpriteFont("resources/fonts/alagard.rbmf"); // rBMF font loading - fontPixelplay = LoadSpriteFont("resources/fonts/pixelplay.rbmf"); // rBMF font loading - fontMecha = LoadSpriteFont("resources/fonts/mecha.rbmf"); // rBMF font loading - fontSetback = LoadSpriteFont("resources/fonts/setback.rbmf"); // rBMF font loading - fontRomulus = LoadSpriteFont("resources/fonts/romulus.rbmf"); // rBMF font loading - - pongBallPosition = (Vector2){ screenWidth/2, screenHeight/2 + 20 }; - pongBallSpeed = (Vector2){ 6, 6 }; - pongPlayerRec = (Rectangle){ 20, screenHeight/2 - 50 + 40, 20, 100 }; - pongEnemyRec = (Rectangle){ screenWidth - 40, screenHeight/2 - 60, 20, 120 }; - - // LOGO screen variables Initialization - logoPositionX = screenWidth/2 - 128; - logoPositionY = screenHeight/2 - 128; - - // MODULES screen variables Initialization - raylibWindow = LoadTexture("resources/raylib_window.png"); - raylibWindow01 = LoadTexture("resources/raylib_window_01.png"); - raylibWindow02 = LoadTexture("resources/raylib_window_02.png"); - raylibWindow03 = LoadTexture("resources/raylib_window_03.png"); - platforms = LoadTexture("resources/platforms.png"); - raylibLogoB = LoadTexture("resources/raylib_logo128x128.png"); - lena = LoadTexture("resources/lena.png"); - mandrill = LoadTexture("resources/mandrill.png"); - texAlagard = LoadTexture("resources/fonts/custom_alagard.png"); - fontMechaC = LoadSpriteFont("resources/fonts/custom_mecha.png"); - fontAlagardC = LoadSpriteFont("resources/fonts/custom_alagard.png"); - fontJupiterC = LoadSpriteFont("resources/fonts/custom_jupiter_crash.png"); - - ballPosition = (Vector2){ 520 + 656/2, 220 + 399/2 }; - - camera = (Camera){{ 0.0, 12.0, 15.0 }, { 0.0, 3.0, 0.0 }, { 0.0, 1.0, 0.0 }}; - - catTexture = LoadTexture("resources/catsham.png"); // Load model texture - cat = LoadModel("resources/cat.obj"); // Load OBJ model - cat.material.texDiffuse = catTexture; // Set cat model diffuse texture - - fxWav = LoadSound("resources/audio/weird.wav"); // Load WAV audio file - fxOgg = LoadSound("resources/audio/tanatana.ogg"); // Load OGG audio file - - music = LoadMusicStream("resources/audio/guitar_noodling.ogg"); // Load music - - for (int i = 0; i < MAX_BALLS; i++) - { - soundBallsPosition[i] = (Vector2){ 650 + 560/2 + GetRandomValue(-280, 280), 220 + 200 + GetRandomValue(-200, 200) }; - soundBallsColor[i] = (Color){ GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255 }; - soundBallsRadius[i] = GetRandomValue(2, 50); - soundBallsAlpha[i] = 1.0f; - - soundBallsActive[i] = false; - } - - // ENDING screen variables Initialization - raylibLogoA = LoadTexture("resources/raylib_logo.png"); - -#ifndef PLATFORM_WEB - SetTargetFPS(60); -#endif - -#if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawOneFrame, 0, 1); -#else - //-------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose() && !closeWindow) // Detect window close button or ESC key - { - UpdateDrawOneFrame(); - } -#endif - - // De-Initialization - //-------------------------------------------------------------------------------------- - - // Unload all loaded data (textures, fonts, audio) - UnloadSpriteFont(fontAlagard); // SpriteFont unloading - UnloadSpriteFont(fontPixelplay); // SpriteFont unloading - UnloadSpriteFont(fontMecha); // SpriteFont unloading - UnloadSpriteFont(fontSetback); // SpriteFont unloading - UnloadSpriteFont(fontRomulus); // SpriteFont unloading - - UnloadTexture(raylibWindow); - UnloadTexture(raylibWindow01); - UnloadTexture(raylibWindow02); - UnloadTexture(raylibWindow03); - UnloadTexture(platforms); - UnloadTexture(raylibLogoA); - UnloadTexture(raylibLogoB); - UnloadTexture(lena); - UnloadTexture(mandrill); - UnloadTexture(texAlagard); - - UnloadSpriteFont(fontMechaC); - UnloadSpriteFont(fontAlagardC); - UnloadSpriteFont(fontJupiterC); - - UnloadTexture(catTexture); - UnloadModel(cat); - - UnloadSound(fxWav); - UnloadSound(fxOgg); - - UnloadMusicStream(music); - - CloseAudioDevice(); - - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -} - -void TransitionToScreen(int screen) -{ - onTransition = true; - transFromScreen = currentScreen; - transToScreen = screen; -} - -void UpdateTransition(void) -{ - if (!transFadeOut) - { - transAlpha += 0.02f; - - if (transAlpha >= 1.0) - { - transAlpha = 1.0; - currentScreen = transToScreen; - transFadeOut = true; - framesCounter = 0; - } - } - else // Transition fade out logic - { - transAlpha -= 0.02f; - - if (transAlpha <= 0) - { - transAlpha = 0; - transFadeOut = false; - onTransition = false; - transFromScreen = -1; - transToScreen = -1; - } - } -} - -void DrawTransition(void) -{ - DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(RAYWHITE, transAlpha)); -} - -void UpdateDrawOneFrame(void) -{ - // Update - //---------------------------------------------------------------------------------- - if (!onTransition) - { - switch(currentScreen) - { - case LOADING: - { - // Update LOADING screen variables - framesCounter++; // Count frames - - if ((loadBarWidth < loadBarMaxWidth) && ((framesCounter%30) == 0)) loadBarWidth++; - - if (IsKeyDown(KEY_SPACE) && (loadBarWidth < loadBarMaxWidth)) loadBarWidth += 4; - - if (IsKeyPressed(KEY_ENTER) && (loadBarWidth >= loadBarMaxWidth)) TransitionToScreen(LOGO); - - } break; - case LOGO: - { - // Update LOGO screen variables - if (logoScreenState == 0) // State 0: Small box blinking - { - framesCounter++; - - if (framesCounter == 120) - { - logoScreenState = 1; - framesCounter = 0; // Reset counter... will be used later... - } - } - else if (logoScreenState == 1) // State 1: Top and left bars growing - { - topSideRecWidth += 4; - leftSideRecHeight += 4; - - if (topSideRecWidth == 256) logoScreenState = 2; - } - else if (logoScreenState == 2) // State 2: Bottom and right bars growing - { - bottomSideRecWidth += 4; - rightSideRecHeight += 4; - - if (bottomSideRecWidth == 256) - { - lettersCounter = 0; - for (int i = 0; i < strlen(msgBuffer); i++) msgBuffer[i] = ' '; - - logoScreenState = 3; - } - } - else if (logoScreenState == 3) // State 3: Letters appearing (one by one) - { - framesCounter++; - - // Every 12 frames, one more letter! - if ((framesCounter%12) == 0) raylibLettersCount++; - - switch (raylibLettersCount) - { - case 1: raylib[0] = 'r'; break; - case 2: raylib[1] = 'a'; break; - case 3: raylib[2] = 'y'; break; - case 4: raylib[3] = 'l'; break; - case 5: raylib[4] = 'i'; break; - case 6: raylib[5] = 'b'; break; - default: break; - } - - if (raylibLettersCount >= 10) - { - // Write raylib description messages - if ((framesCounter%2) == 0) lettersCounter++; - - if (!msgLogoADone) - { - if (lettersCounter <= strlen(msgLogoA)) strncpy(msgBuffer, msgLogoA, lettersCounter); - else - { - for (int i = 0; i < strlen(msgBuffer); i++) msgBuffer[i] = ' '; - - lettersCounter = 0; - msgLogoADone = true; - } - } - else if (!msgLogoBDone) - { - if (lettersCounter <= strlen(msgLogoB)) strncpy(msgBuffer, msgLogoB, lettersCounter); - else - { - msgLogoBDone = true; - framesCounter = 0; - } - } - } - } - - // Press enter to change to MODULES screen - if (IsKeyPressed(KEY_ENTER) && msgLogoBDone) TransitionToScreen(MODULES); - else if (IsKeyPressed(KEY_BACKSPACE)) TransitionToScreen(LOGO); - - } break; - case MODULES: - { - // Update MODULES screen variables here! - framesCounter++; - - if (IsKeyPressed(KEY_RIGHT) && (selectedModule < 5)) - { - selectedModule++; - framesCounter = 0; - } - else if (IsKeyPressed(KEY_LEFT) && (selectedModule > 0)) - { - selectedModule--; - framesCounter = 0; - } - - if (selectedModule == CORE) - { - if ((framesCounter > 60) && (windowOffset < 40)) - { - windowOffset++; - ballPosition.x++; - ballPosition.y++; - } - - if (framesCounter > 140) - { - if (IsKeyDown('A')) ballPosition.x -= 5; - if (IsKeyDown('D')) ballPosition.x += 5; - if (IsKeyDown('W')) ballPosition.y -= 5; - if (IsKeyDown('S')) ballPosition.y += 5; - - if (IsKeyPressed('1')) coreWindow = 1; - if (IsKeyPressed('2')) coreWindow = 2; - if (IsKeyPressed('3')) coreWindow = 3; - if (IsKeyPressed('4')) coreWindow = 4; - } - } - - if (selectedModule == TEXTURES) scaleFactor = (sinf(2*PI/240*framesCounter) + 1.0f)/2; - - if (selectedModule == AUDIO) - { - if (IsKeyPressed(KEY_SPACE) && !IsMusicPlaying(music)) PlayMusicStream(music); // Play music stream - - if (IsKeyPressed('S')) - { - StopMusicStream(music); - timePlayed = 0.0f; - - for (int i = 0; i < MAX_BALLS; i++) - { - soundBallsPosition[i] = (Vector2){ 650 + 560/2 + GetRandomValue(-280, 280), 220 + 200 + GetRandomValue(-200, 200) }; - soundBallsColor[i] = (Color){ GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255 }; - soundBallsRadius[i] = GetRandomValue(2, 50); - soundBallsAlpha[i] = 1.0f; - - soundBallsActive[i] = false; - } - } - - if (IsMusicPlaying(music)) - { - UpdateMusicStream(music); - - timePlayed = GetMusicTimePlayed(music)/GetMusicTimeLength(music)*100*4; - - if ((framesCounter%10) == 0) - { - for (int i = 0; i < MAX_BALLS; i++) - { - if (!soundBallsActive[i]) - { - soundBallsActive[i] = true; - break; - } - } - } - - for (int i = 0; i < MAX_BALLS; i++) - { - if (soundBallsActive[i]) soundBallsAlpha[i] -= 0.005f; - - if (soundBallsAlpha[i] <= 0) - { - soundBallsActive[i] = false; - - // Reset ball random - soundBallsPosition[i] = (Vector2){ 650 + 560/2 + GetRandomValue(-280, 280), 220 + 200 + GetRandomValue(-200, 200) }; - soundBallsColor[i] = (Color){ GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255 }; - soundBallsRadius[i] = GetRandomValue(2, 60); - soundBallsAlpha[i] = 1.0f; - } - } - } - - if (IsKeyPressed('N')) PlaySound(fxWav); - //if (IsKeyPressed('M')) PlaySound(fxOgg); - } - - // Press enter to change to ENDING screen - if (IsKeyPressed(KEY_ENTER)) TransitionToScreen(ENDING); - else if (IsKeyPressed(KEY_BACKSPACE)) TransitionToScreen(LOGO); - - } break; - case PONG: - { - // Update SECRET screen variables here! - framesCounter++; - - if (IsKeyPressed('P')) pongPaused = !pongPaused; - - if (!pongPaused) - { - pongBallPosition.x += pongBallSpeed.x; - pongBallPosition.y += pongBallSpeed.y; - - if ((pongBallPosition.x >= screenWidth - 5) || (pongBallPosition.x <= 5)) pongBallSpeed.x *= -1; - if ((pongBallPosition.y >= screenHeight - 5) || (pongBallPosition.y <= 5)) pongBallSpeed.y *= -1; - - if (IsKeyDown(KEY_UP) || IsKeyDown('W')) - { - pongPlayerRec.y -= 5; - pongAutoMode = false; - pongAutoCounter = 180; - } - else if (IsKeyDown(KEY_DOWN) || IsKeyDown('S')) - { - pongPlayerRec.y += 5; - pongAutoMode = false; - pongAutoCounter = 180; - } - else if (pongAutoCounter > 0) - { - pongAutoCounter--; - - if (pongAutoCounter == 0) pongAutoMode = true; - } - - if ((pongBallPosition.x < 600) && pongAutoMode) - { - if (pongBallPosition.y > (pongPlayerRec.y + pongPlayerRec.height/2)) pongPlayerRec.y += 5; - else if (pongBallPosition.y < (pongPlayerRec.y + pongPlayerRec.height/2)) pongPlayerRec.y -= 5; - } - - if (pongPlayerRec.y <= 0) pongPlayerRec.y = 0; - else if ((pongPlayerRec.y + pongPlayerRec.height) >= screenHeight) pongPlayerRec.y = screenHeight - pongPlayerRec.height; - - if (pongBallPosition.x > screenWidth - 600) - { - if (pongBallPosition.y > (pongEnemyRec.y + pongEnemyRec.height/2)) pongEnemyRec.y += 5; - else if (pongBallPosition.y < (pongEnemyRec.y + pongEnemyRec.height/2)) pongEnemyRec.y -= 5; - - if (pongEnemyRec.y <= 0) pongEnemyRec.y = 0; - else if ((pongEnemyRec.y + pongEnemyRec.height) >= screenHeight) pongEnemyRec.y = screenHeight - pongEnemyRec.height; - } - - if ((CheckCollisionCircleRec(pongBallPosition, 10, pongPlayerRec)) || (CheckCollisionCircleRec(pongBallPosition, 10, pongEnemyRec))) pongBallSpeed.x *= -1; - - if (pongBallPosition.x >= screenWidth - 5) pongScorePlayer++; - else if (pongBallPosition.x <= 5) pongScoreEnemy++; - } - - // Press enter to move back to MODULES screen - if (IsKeyPressed(KEY_ENTER)) TransitionToScreen(ENDING); - if (IsKeyPressed(KEY_BACKSPACE)) TransitionToScreen(ENDING); - } break; - case ENDING: - { - // Update ENDING screen - framesCounter++; - - // Press enter to move back to MODULES screen - if (IsKeyPressed(KEY_ENTER)) TransitionToScreen(PONG); - if (IsKeyPressed(KEY_BACKSPACE)) TransitionToScreen(MODULES); - - } break; - default: break; - } - - if ((currentScreen != LOADING) && (timeCounter < totalTime)) timeCounter++; - } - else UpdateTransition(); // Update transition (fade-in, fade-out) - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - switch(currentScreen) - { - case LOADING: - { - // Draw LOADING screen - if ((loadBarWidth < loadBarMaxWidth) && ((framesCounter/40)%2)) DrawText(msgLoading, 360, 240, 40, DARKGRAY); - - DrawRectangle(360 - 4, 300 - 4, loadBarMaxWidth + 8, 60 + 8, LIGHTGRAY); - DrawRectangle(360, 300, loadBarWidth - 1, 60, DARKGRAY); - DrawRectangleLines(360 - 4, 300 - 5, loadBarMaxWidth + 8, 60 + 8, DARKGRAY); - - if (loadBarWidth >= loadBarMaxWidth) - { - //DrawText(msgLoading, 360, 240, 40, DARKGRAY); - if ((framesCounter/30)%2) DrawText(msgPressEnter, screenWidth/2 - MeasureText(msgPressEnter, 40)/2 + 20, 400, 40, DARKGRAY); - } - else DrawText("PRESS SPACE to ACCELERATE LOADING! ;)", screenWidth/2 - 200, 400, 20, LIGHTGRAY); - - } break; - case LOGO: - { - // Draw LOGO screen - if (logoScreenState == 0) - { - if ((framesCounter/15)%2) DrawRectangle(logoPositionX, logoPositionY - 60, 16, 16, BLACK); - } - else if (logoScreenState == 1) - { - DrawRectangle(logoPositionX, logoPositionY - 60, topSideRecWidth, 16, BLACK); - DrawRectangle(logoPositionX, logoPositionY - 60, 16, leftSideRecHeight, BLACK); - } - else if (logoScreenState == 2) - { - DrawRectangle(logoPositionX, logoPositionY - 60, topSideRecWidth, 16, BLACK); - DrawRectangle(logoPositionX, logoPositionY - 60, 16, leftSideRecHeight, BLACK); - - DrawRectangle(logoPositionX + 240, logoPositionY - 60, 16, rightSideRecHeight, BLACK); - DrawRectangle(logoPositionX, logoPositionY + 240 - 60, bottomSideRecWidth, 16, BLACK); - } - else if (logoScreenState == 3) - { - DrawRectangle(logoPositionX, logoPositionY - 60, topSideRecWidth, 16, BLACK); - DrawRectangle(logoPositionX, logoPositionY + 16 - 60, 16, leftSideRecHeight - 32, BLACK); - - DrawRectangle(logoPositionX + 240, logoPositionY + 16 - 60, 16, rightSideRecHeight - 32, BLACK); - DrawRectangle(logoPositionX, logoPositionY + 240 - 60, bottomSideRecWidth, 16, BLACK); - - DrawRectangle(screenWidth/2 - 112, screenHeight/2 - 112 - 60, 224, 224, RAYWHITE); - - DrawText(raylib, screenWidth/2 - 44, screenHeight/2 + 48 - 60, 50, BLACK); - - if (!msgLogoADone) DrawText(msgBuffer, screenWidth/2 - MeasureText(msgLogoA, 30)/2, 460, 30, GRAY); - else - { - DrawText(msgLogoA, screenWidth/2 - MeasureText(msgLogoA, 30)/2, 460, 30, GRAY); - - if (!msgLogoBDone) DrawText(msgBuffer, screenWidth/2 - MeasureText(msgLogoB, 30)/2, 510, 30, GRAY); - else - { - DrawText(msgLogoB, screenWidth/2 - MeasureText(msgLogoA, 30)/2, 510, 30, GRAY); - - if ((framesCounter > 90) && ((framesCounter/30)%2)) DrawText("PRESS ENTER to CONTINUE", 930, 650, 20, GRAY); - } - } - } - } break; - case MODULES: - { - // Draw MODULES screen - DrawTexture(raylibLogoB, 40, 40, WHITE); - DrawText("raylib is composed of 6 main modules:", 128 + 40 + 30, 50, 20, GRAY); - - if (framesCounter < 120) - { - if (((framesCounter/30)%2) == 0) DrawRectangle(128 + 40 + 30 - 4 + 175*selectedModule, 128 + 40 - 70 - 8 - 4, 158, 78, RED); - } - else DrawRectangle(128 + 40 + 30 - 4 + 175*selectedModule, 128 + 40 - 70 - 8 - 4, 158, 78, RED); - - if (selectedModule != AUDIO) - { - DrawTriangle((Vector2){950 - 40, 685 - 10}, (Vector2){950 - 60, 685}, (Vector2){950 - 40, 685 + 10}, GRAY); - DrawTriangle((Vector2){950 - 30, 685 - 10}, (Vector2){950 - 30, 685 + 10}, (Vector2){950 - 10, 685}, GRAY); - DrawText("PRESS RIGHT or LEFT to EXPLORE MODULES", 960, 680, 10, GRAY); - } - - switch (selectedModule) - { - case CORE: - { - DrawText("This module give you functions to:", 48, 200, 10, GetColor(0x5c5a5aff)); - - DrawTextEx(fontRomulus, "Open-Close Window", (Vector2){ 48, 230 }, fontRomulus.baseSize*2, 4, GetColor(0x5c5a5aff)); - DrawTextEx(fontRomulus, "Manage Drawing Area", (Vector2){ 48, 260 }, fontRomulus.baseSize*2, 4, GetColor(0x5c5a5aff)); - DrawTextEx(fontRomulus, "Manage Inputs", (Vector2){ 48, 290 }, fontRomulus.baseSize*2, 4, GetColor(0x5c5a5aff)); - DrawTextEx(fontRomulus, "Manage Timming", (Vector2){ 48, 320 }, fontRomulus.baseSize*2, 4, GetColor(0x5c5a5aff)); - DrawTextEx(fontRomulus, "Auxiliar Functions", (Vector2){ 48, 350 }, fontRomulus.baseSize*2, 4, GetColor(0x5c5a5aff)); - - switch (coreWindow) - { - case 1: DrawTexture(raylibWindow, 520, 220, WHITE); break; - case 2: DrawTextureEx(raylibWindow01, (Vector2){ 450, 220 - 45 }, 0.0f, 4.0f, WHITE); break; - case 3: DrawTextureEx(raylibWindow02, (Vector2){ 430, 220 - 40 }, 0.0f, 4.0f, WHITE); break; - case 4: DrawTextureEx(raylibWindow03, (Vector2){ 470, 220 - 65 }, 0.0f, 4.0f, WHITE); break; - default: DrawTexture(raylibWindow, 520, 220, WHITE); break; - } - - if (framesCounter > 140) DrawText("Check the possible windows raylib can run on. PRESS KEY: 1, 2, 3 or 4", 520 + 8 + windowOffset + 160, 220 + windowOffset + 10, 10, LIGHTGRAY); - - DrawText("Compile raylib C code for the folowing platforms:", 48, 400, 10, MAROON); - - DrawTextureRec(platforms, (Rectangle){ 0, 0, platforms.width, platforms.height}, (Vector2){ 75, 420 }, WHITE); - - DrawRectangle(520 + 8 + windowOffset, 220 + 31 + windowOffset, 640, 360, RAYWHITE); - DrawRectangleLines(520 + 8 + windowOffset - 1, 220 + 31 + windowOffset - 2, 640 + 2, 360 + 2, GRAY); - DrawFPS(520 + 8 + windowOffset + 10, 220 + 31 + windowOffset + 10); - - DrawRectangle(ballPosition.x - 50, ballPosition.y - 50, 100, 100, Fade(MAROON, 0.5f)); - DrawRectangleRec(GetCollisionRec((Rectangle){ 520 + 8 + windowOffset - 1, 220 + 31 + windowOffset - 1, 640 + 2, 360 + 2 }, (Rectangle){ (int)ballPosition.x - 50, (int)ballPosition.y - 50, 100, 100 }), MAROON); - - if (framesCounter > 140) - { - DrawTextEx(fontMecha, "MOVE ME", (Vector2){ ballPosition.x - 26, ballPosition.y - 20 }, fontMecha.baseSize, 2, BLACK); - DrawTextEx(fontMecha, "[ W A S D ]", (Vector2){ ballPosition.x - 36, ballPosition.y }, fontMecha.baseSize, 2, BLACK); - } - } break; - case SHAPES: - { - DrawText("This module give you functions to:", 48, 200, 10, GetColor(0xcd5757ff)); - - DrawTextEx(fontRomulus, "Draw Basic Shapes", (Vector2){ 48, 230 }, fontRomulus.baseSize*2, 4, GetColor(0xcd5757ff)); - DrawTextEx(fontRomulus, "Basic Collision Detection", (Vector2){ 48, 260 }, fontRomulus.baseSize*2, 4, GetColor(0xcd5757ff)); - - DrawCircle(screenWidth/4, 120 + 240, 35, DARKBLUE); - DrawCircleGradient(screenWidth/4, 220 + 240, 60, GREEN, SKYBLUE); - DrawCircleLines(screenWidth/4, 340 + 240, 80, DARKBLUE); - - DrawRectangle(screenWidth/4*2 - 110, 100 + 180, 220, 100, LIME); - DrawRectangleGradient(screenWidth/4*2 - 90, 170 + 240, 180, 130, MAROON, GOLD); - DrawRectangleLines(screenWidth/4*2 - 80, 320 + 240, 160, 80, ORANGE); - - DrawTriangle((Vector2){screenWidth/4*3, 60 + 220}, (Vector2){screenWidth/4*3 - 60, 160 + 220}, (Vector2){screenWidth/4*3 + 60, 160 + 220}, VIOLET); - - DrawTriangleLines((Vector2){screenWidth/4*3, 140 + 220}, (Vector2){screenWidth/4*3 - 60, 210 + 260}, (Vector2){screenWidth/4*3 + 60, 210 + 260}, SKYBLUE); - - DrawPoly((Vector2){screenWidth/4*3, 320 + 240}, 6, 80, 0, BROWN); - - } break; - case TEXTURES: - { - DrawText("This module give you functions to:", 48, 200, 10, GetColor(0x60815aff)); - - DrawTextEx(fontRomulus, "Load Images and Textures", (Vector2){ 48, 230 }, fontRomulus.baseSize*2, 4, GetColor(0x60815aff)); - DrawTextEx(fontRomulus, "Draw Textures", (Vector2){ 48, 260 }, fontRomulus.baseSize*2, 4, GetColor(0x60815aff)); - - DrawRectangle(138, 348, 260, 260, GRAY); - DrawTexturePro(lena, (Rectangle){ 0, 0, lena.width, lena.height }, (Rectangle){ 140 + 128, 350 + 128, lena.width/2*scaleFactor, lena.height/2*scaleFactor }, (Vector2){ lena.width/4*scaleFactor, lena.height/4*scaleFactor }, 0.0f, WHITE); - - DrawTexture(lena, 600, 180, Fade(WHITE, 0.3f)); - DrawTextureRec(lena, (Rectangle){ 225, 240, 155, 50 }, (Vector2){ 600 + 256 - 82 + 50, 180 + 241 }, PINK); - - DrawTexturePro(mandrill, (Rectangle){ 0, 0, mandrill.width, mandrill.height }, (Rectangle){ screenWidth/2 - 40, 350 + 128, mandrill.width/2, mandrill.height/2 }, - (Vector2){ mandrill.width/4, mandrill.height/4 }, framesCounter, GOLD); - - } break; - case TEXT: - { - DrawText("This module give you functions to:", 48, 200, 10, GetColor(0x377764ff)); - - DrawTextEx(fontRomulus, "Load SpriteFonts", (Vector2){ 48, 230 }, fontRomulus.baseSize*2, 4, GetColor(0x377764ff)); - DrawTextEx(fontRomulus, "Draw Text", (Vector2){ 48, 260 }, fontRomulus.baseSize*2, 4, GetColor(0x377764ff)); - DrawTextEx(fontRomulus, "Text Formatting", (Vector2){ 48, 290 }, fontRomulus.baseSize*2, 4, GetColor(0x377764ff)); - - DrawTexture(texAlagard, 60, 360, WHITE); - - DrawTextEx(fontMechaC, msg1, (Vector2){ 540 + 168, 210 }, fontMechaC.baseSize, -3, WHITE); - DrawTextEx(fontAlagardC, msg2, (Vector2){ 460 + 140, 260 }, fontAlagardC.baseSize, -2, WHITE); - DrawTextEx(fontJupiterC, msg3, (Vector2){ 640 + 70, 300 }, fontJupiterC.baseSize, 2, WHITE); - - DrawTextEx(fontAlagard, "It also includes some...", (Vector2){ 650 + 70, 400 }, fontAlagard.baseSize*2, 2, MAROON); - DrawTextEx(fontPixelplay, "...free fonts in rBMF format...", (Vector2){ 705 - 26, 450 }, fontPixelplay.baseSize*2, 4, ORANGE); - DrawTextEx(fontMecha, "...to be used even in...", (Vector2){ 700 + 40, 500 }, fontMecha.baseSize*2, 4, DARKGREEN); - DrawTextEx(fontSetback, "...commercial projects...", (Vector2){ 710, 550 }, fontSetback.baseSize*2, 4, DARKBLUE); - DrawTextEx(fontRomulus, "...completely for free!", (Vector2){ 710 + 17, 600 }, fontRomulus.baseSize*2, 3, DARKPURPLE); - - DrawText("This is a custom font spritesheet, raylib can load it automatically!", 228, 360 + 295, 10, GRAY); - - } break; - case MODELS: - { - DrawText("This module give you functions to:", 48, 200, 10, GetColor(0x417794ff)); - - DrawTextEx(fontRomulus, "Draw Geometric Models", (Vector2){ 48, 230 }, fontRomulus.baseSize*2, 4, GetColor(0x417794ff)); - DrawTextEx(fontRomulus, "Load 3D Models", (Vector2){ 48, 260 }, fontRomulus.baseSize*2, 4, GetColor(0x417794ff)); - DrawTextEx(fontRomulus, "Draw 3D Models", (Vector2){ 48, 290 }, fontRomulus.baseSize*2, 4, GetColor(0x417794ff)); - - Begin3dMode(camera); - - DrawCube((Vector3){-4, 0, 2}, 2, 5, 2, RED); - DrawCubeWires((Vector3){-4, 0, 2}, 2, 5, 2, GOLD); - DrawCubeWires((Vector3){-4, 0, -2}, 3, 6, 2, MAROON); - - DrawSphere((Vector3){-1, 0, -2}, 1, GREEN); - DrawSphereWires((Vector3){1, 0, 2}, 2, 16, 16, LIME); - - DrawCylinder((Vector3){4, 0, -2}, 1, 2, 3, 4, SKYBLUE); - DrawCylinderWires((Vector3){4, 0, -2}, 1, 2, 3, 4, DARKBLUE); - DrawCylinderWires((Vector3){4.5, -1, 2}, 1, 1, 2, 6, BROWN); - - DrawCylinder((Vector3){1, 0, -4}, 0, 1.5, 3, 8, GOLD); - DrawCylinderWires((Vector3){1, 0, -4}, 0, 1.5, 3, 8, PINK); - - DrawModelEx(cat, (Vector3){ 8.0f, 0.0f, 2.0f }, (Vector3){ 0.0f, 1.0f, 0.0f }, 0.5f*framesCounter, (Vector3){ 0.1f, 0.1f, 0.1f }, WHITE); - DrawGizmo((Vector3){ 8.0f, 0.0f, 2.0f }); - - DrawGrid(10.0, 1.0); // Draw a grid - - End3dMode(); - - DrawFPS(900, 220); - - } break; - case AUDIO: - { - DrawText("This module give you functions to:", 48, 200, 10, GetColor(0x8c7539ff)); - - DrawTextEx(fontRomulus, "Load and Play Sounds", (Vector2){ 48, 230 }, fontRomulus.baseSize*2, 4, GetColor(0x8c7539ff)); - DrawTextEx(fontRomulus, "Play Music (streaming)", (Vector2){ 48, 260 }, fontRomulus.baseSize*2, 4, GetColor(0x8c7539ff)); - - DrawText("PRESS SPACE to START PLAYING MUSIC", 135, 350, 20, GRAY); - DrawRectangle(150, 390, 400, 12, LIGHTGRAY); - DrawRectangle(150, 390, (int)timePlayed, 12, MAROON); - - if (IsMusicPlaying(music)) - { - DrawText("PRESS 'S' to STOP PLAYING MUSIC", 165, 425, 20, GRAY); - - for (int i = 0; i < MAX_BALLS; i++) - { - if (soundBallsActive[i]) DrawPoly(soundBallsPosition[i], 18, soundBallsRadius[i], 0.0f, Fade(soundBallsColor[i], soundBallsAlpha[i])); - } - } - - DrawText("PRESS 'N' to PLAY a SOUND", 200, 540, 20, VIOLET); - - if ((framesCounter/30)%2) DrawText("PRESS ENTER to CONTINUE", 930, 650, 20, GRAY); - - } break; - default: break; - } - - // Draw modules menu - DrawRectangle(128 + 40 + 30, 128 + 40 - 70 - 8, 150, 70, GetColor(0x898888ff)); - DrawRectangle(128 + 40 + 30 + 8, 128 + 40 - 70, 150 - 16, 70 - 16, GetColor(0xe1e1e1ff)); - DrawText("CORE", 128 + 40 + 30 + 8 + 38, 128 + 40 - 50, 20, GetColor(0x5c5a5aff)); - - DrawRectangle(128 + 40 + 30 + 175, 128 + 40 - 70 - 8, 150, 70, GetColor(0xe66666ff)); - DrawRectangle(128 + 40 + 30 + 8 + 175, 128 + 40 - 70, 150 - 16, 70 - 16, GetColor(0xf0d6d6ff)); - DrawText("SHAPES", 128 + 40 + 30 + 8 + 175 + 28, 128 + 40 - 50, 20, GetColor(0xcd5757ff)); - - DrawRectangle(128 + 40 + 30 + 175*2, 128 + 40 - 70 - 8, 150, 70, GetColor(0x75a06dff)); - DrawRectangle(128 + 40 + 30 + 8 + 175*2, 128 + 40 - 70, 150 - 16, 70 - 16, GetColor(0xc8eabfff)); - DrawText("TEXTURES", 128 + 40 + 30 + 175*2 + 8 + 9, 128 + 40 - 50, 20, GetColor(0x60815aff)); - - DrawRectangle(128 + 40 + 30 + 175*3, 128 + 40 - 70 - 8, 150, 70, GetColor(0x52b296ff)); - DrawRectangle(128 + 40 + 30 + 8 + 175*3, 128 + 40 - 70, 150 - 16, 70 - 16, GetColor(0xbef0ddff)); - DrawText("TEXT", 128 + 40 + 30 + 8 + 175*3 + 38, 128 + 40 - 50, 20, GetColor(0x377764ff)); - - DrawRectangle(128 + 40 + 30 + 175*4, 128 + 40 - 70 - 8, 150, 70, GetColor(0x5d9cbdff)); - DrawRectangle(128 + 40 + 30 + 8 + 175*4, 128 + 40 - 70, 150 - 16, 70 - 16, GetColor(0xbedce8ff)); - DrawText("MODELS", 128 + 40 + 30 + 8 + 175*4 + 28, 128 + 40 - 50, 20, GetColor(0x417794ff)); - - DrawRectangle(128 + 40 + 30 + 175*5, 128 + 40 - 70 - 8, 150, 70, GetColor(0xd3b157ff)); - DrawRectangle(128 + 40 + 30 + 8 + 175*5, 128 + 40 - 70, 150 - 16, 70 - 16, GetColor(0xebddaeff)); - DrawText("AUDIO", 128 + 40 + 30 + 8 + 175*5 + 36, 128 + 40 - 50, 20, GetColor(0x8c7539ff)); - - } break; - case ENDING: - { - // Draw ENDING screen - DrawTextEx(fontAlagard, "LEARN VIDEOGAMES PROGRAMMING", (Vector2){ screenWidth/2 - MeasureTextEx(fontAlagard, "LEARN VIDEOGAMES PROGRAMMING", fontAlagard.baseSize*4, 4).x/2, 80 }, fontAlagard.baseSize*4, 4, MAROON); - - DrawTexture(raylibLogoA, logoPositionX, logoPositionY - 40, WHITE); - - DrawText(msgWeb, screenWidth/2 - MeasureText(msgWeb, 40)/2, 470, 40, DARKGRAY); - - if (framesCounter > 60) DrawText(msgCredits, screenWidth/2 - MeasureText(msgCredits, 30)/2, 550, 30, GRAY); - - if (framesCounter > 120) if ((framesCounter/30)%2) DrawText("PRESS ENTER to CONTINUE", screenWidth/2 - MeasureText("PRESS ENTER to CONTINUE", 20)/2, 640, 20, LIGHTGRAY); - - } break; - case PONG: - { - // Pong - DrawCircleV(pongBallPosition, 10, LIGHTGRAY); - DrawRectangleRec(pongPlayerRec, GRAY); - DrawRectangleRec(pongEnemyRec, GRAY); - - DrawText(FormatText("%02i", pongScorePlayer), 150, 10, 80, LIGHTGRAY); - DrawText(FormatText("%02i", pongScoreEnemy), screenWidth - MeasureText("00", 80) - 150, 10, 80, LIGHTGRAY); - - if (pongPaused) if ((framesCounter/30)%2) DrawText("GAME PAUSED [P]", screenWidth/2 - 100, 40, 20, MAROON); - } break; - default: break; - } - - if (currentScreen != LOADING) DrawRectangle(0, screenHeight - 10, ((float)timeCounter/(float)totalTime)*screenWidth, 10, LIGHTGRAY); - - if (onTransition) DrawTransition(); - - EndDrawing(); - //---------------------------------------------------------------------------------- -} diff --git a/games/raylib_demo/resources/audio/coin.wav b/games/raylib_demo/resources/audio/coin.wav deleted file mode 100644 index 6007509bf..000000000 Binary files a/games/raylib_demo/resources/audio/coin.wav and /dev/null differ diff --git a/games/raylib_demo/resources/audio/spring.wav b/games/raylib_demo/resources/audio/spring.wav deleted file mode 100644 index c7fbf1b9c..000000000 Binary files a/games/raylib_demo/resources/audio/spring.wav and /dev/null differ diff --git a/games/raylib_demo/resources/audio/weird.wav b/games/raylib_demo/resources/audio/weird.wav deleted file mode 100644 index 101029c5b..000000000 Binary files a/games/raylib_demo/resources/audio/weird.wav and /dev/null differ diff --git a/games/raylib_demo/resources/cat.obj b/games/raylib_demo/resources/cat.obj deleted file mode 100644 index 1faa9846b..000000000 --- a/games/raylib_demo/resources/cat.obj +++ /dev/null @@ -1,4731 +0,0 @@ -# -# object Cat -# - -v -0.00 30.40 -1.43 -v -0.00 30.01 1.57 -v 3.07 28.57 1.88 -v 3.23 28.74 -1.28 -v 2.93 30.52 -14.47 -v 0.00 31.65 -14.07 -v 0.00 32.03 -11.02 -v 3.49 30.39 -11.43 -v -0.00 22.66 -19.14 -v 1.98 22.94 -18.73 -v 2.33 19.32 -17.01 -v -0.00 18.98 -17.55 -v 6.09 25.02 -0.72 -v 6.05 25.40 2.15 -v 6.20 18.84 -0.16 -v 5.74 18.56 2.35 -v 6.32 19.78 -7.20 -v 4.52 16.56 -7.33 -v 4.70 16.75 -9.21 -v 6.65 19.94 -8.17 -v -0.00 30.43 5.21 -v 3.15 29.21 6.20 -v 3.46 15.19 3.29 -v 4.18 15.67 0.04 -v 2.28 13.77 0.12 -v 2.04 14.08 2.60 -v 2.38 14.74 -7.70 -v 2.27 15.37 -10.06 -v 5.58 26.84 7.17 -v 2.87 30.20 8.03 -v 4.93 27.37 9.73 -v 5.61 2.21 8.37 -v 6.14 3.22 9.74 -v 6.68 1.73 10.18 -v 5.68 -0.03 9.83 -v 4.08 -0.03 9.37 -v 4.02 1.99 7.98 -v 2.54 -0.03 10.04 -v 2.39 2.21 8.56 -v 1.77 1.73 10.48 -v 2.34 3.22 10.01 -v 2.52 3.27 11.56 -v 2.80 3.64 11.26 -v 3.32 3.62 11.86 -v 5.34 3.62 11.75 -v 5.75 3.64 11.07 -v 4.32 3.96 11.73 -v 4.34 3.73 12.02 -v 6.03 3.27 11.36 -v 7.00 1.16 12.70 -v 7.05 1.09 14.30 -v 6.62 -0.01 14.46 -v 6.67 -0.01 12.74 -v 5.94 -0.01 14.95 -v 5.34 -0.01 14.87 -v 4.29 -0.01 12.84 -v 4.47 -0.01 15.37 -v 3.58 -0.01 14.94 -v 1.67 1.17 12.96 -v 1.91 -0.01 12.93 -v 2.27 -0.01 14.65 -v 1.87 1.10 14.53 -v 2.04 2.51 14.08 -v 2.41 2.98 12.86 -v 3.07 3.33 12.99 -v 2.87 2.89 14.41 -v 4.95 3.61 13.06 -v 4.38 3.90 13.27 -v 4.41 3.41 14.79 -v 5.47 2.54 14.56 -v 6.74 2.51 13.88 -v 6.27 3.03 12.63 -v 5.58 1.24 15.03 -v 4.51 1.34 15.66 -v 3.48 1.25 15.07 -v 2.66 1.19 15.14 -v 3.54 2.56 14.63 -v 2.19 14.25 6.54 -v 1.39 14.12 6.98 -v 2.42 14.98 8.43 -v 1.36 14.78 9.20 -v 2.01 16.83 -13.60 -v -0.00 16.45 -13.91 -v 6.29 19.22 -3.91 -v 5.78 25.21 -4.36 -v 3.33 29.17 -4.90 -v 0.00 31.15 -4.95 -v -0.00 26.87 -17.74 -v 2.39 27.13 -17.55 -v -0.00 14.93 -10.66 -v -0.00 31.09 -16.51 -v 2.17 29.72 -16.78 -v 1.49 36.84 -24.79 -v 1.27 41.55 -26.64 -v 0.00 42.08 -25.44 -v -0.00 37.36 -23.33 -v 1.10 48.04 -27.60 -v 0.00 41.08 -28.03 -v 0.00 47.89 -28.89 -v -0.00 36.18 -26.27 -v -0.02 31.50 -23.55 -v 1.65 32.74 -22.14 -v 1.80 30.64 -19.84 -v -0.00 29.11 -21.24 -v -0.02 33.60 -20.56 -v -0.01 31.57 -18.45 -v 0.00 48.20 -26.51 -v 0.64 48.90 -27.72 -v -0.00 48.99 -27.04 -v 0.00 48.81 -28.52 -v 2.01 29.52 -17.72 -v -0.00 19.75 14.29 -v -0.00 17.45 12.46 -v 1.88 17.93 12.35 -v 1.57 20.12 14.04 -v 2.56 30.98 9.13 -v 4.46 28.79 10.92 -v -0.00 31.95 8.21 -v -0.00 31.29 7.02 -v 5.94 25.26 11.51 -v 4.93 26.82 12.64 -v -0.00 32.95 8.95 -v 2.56 32.43 9.79 -v 1.36 23.45 15.57 -v -0.00 23.15 15.81 -v 3.19 24.31 14.77 -v 3.17 20.72 13.42 -v 5.00 22.20 12.86 -v 4.13 24.96 14.05 -v 4.39 31.01 11.80 -v 4.76 29.65 13.36 -v 4.26 28.06 14.68 -v 3.28 27.06 15.56 -v -0.00 25.73 16.48 -v 1.41 26.15 16.41 -v 2.33 34.56 22.15 -v 2.25 34.47 22.31 -v 3.19 34.48 22.08 -v 3.11 34.55 21.97 -v 1.82 34.76 22.51 -v 1.98 34.86 22.25 -v 4.11 41.24 16.12 -v 4.12 40.53 17.30 -v 5.12 39.89 15.46 -v 5.50 40.64 14.98 -v 3.81 42.25 16.18 -v 5.77 38.26 15.33 -v 5.91 39.09 13.80 -v 7.55 38.39 15.53 -v 6.54 36.03 14.95 -v 5.79 37.39 13.19 -v 1.95 41.74 16.78 -v 1.50 41.82 17.78 -v 1.91 41.74 17.62 -v 4.44 44.21 17.57 -v 3.38 43.19 17.82 -v 4.27 42.62 18.08 -v 4.86 43.93 17.63 -v 6.27 42.25 15.15 -v 4.55 43.61 16.50 -v 8.27 41.13 15.27 -v 7.96 39.76 15.42 -v 6.37 40.27 13.65 -v 8.04 39.75 15.23 -v 7.03 42.62 14.09 -v 4.88 41.33 13.82 -v 5.86 43.29 14.36 -v 5.09 43.90 15.39 -v 3.78 42.25 15.07 -v 5.51 45.24 17.16 -v 5.70 45.19 17.08 -v 7.48 46.20 17.08 -v 7.08 44.48 15.93 -v 7.79 45.24 16.33 -v 8.24 43.92 15.60 -v 8.30 43.97 15.38 -v 7.56 44.53 15.35 -v 7.82 45.29 16.17 -v 6.80 44.94 15.49 -v 6.20 45.28 16.21 -v 7.45 46.19 16.92 -v 5.18 43.72 17.22 -v 8.33 42.51 15.28 -v 8.40 42.58 15.07 -v 5.09 41.88 17.65 -v 3.26 19.02 11.83 -v 4.39 16.04 -3.75 -v 2.33 13.93 -3.88 -v 0.00 13.05 0.04 -v 0.00 13.35 2.73 -v 0.00 14.05 -7.91 -v 0.00 13.86 7.43 -v 0.00 14.78 9.65 -v 2.74 18.21 -13.21 -v 0.00 13.25 -4.01 -v 5.80 25.70 -8.38 -v 3.34 30.05 -8.19 -v 0.00 31.71 -7.95 -v 2.16 35.87 22.31 -v 2.57 36.23 22.18 -v 2.55 36.31 22.34 -v 2.13 35.91 22.52 -v 1.80 35.20 22.55 -v 1.94 35.25 22.33 -v 4.17 35.18 21.38 -v 4.25 35.81 21.29 -v 4.16 35.76 21.28 -v 4.10 35.18 21.41 -v 3.86 34.75 21.73 -v 3.78 34.80 21.68 -v 3.07 36.36 21.96 -v 3.13 36.47 22.14 -v 3.78 3.59 13.14 -v 5.65 3.37 12.82 -v 6.11 2.84 14.28 -v 6.30 1.18 14.99 -v 2.96 -0.01 15.07 -v 6.25 36.31 15.33 -v 7.47 38.42 15.69 -v 3.13 41.25 17.80 -v 2.03 41.16 19.56 -v 2.31 41.56 17.79 -v 7.09 2.43 -19.06 -v 7.57 3.28 -17.72 -v 7.74 1.96 -17.50 -v 7.12 0.00 -18.53 -v 5.75 0.00 -19.00 -v 5.72 2.06 -19.83 -v 4.44 0.00 -18.31 -v 4.40 2.43 -18.89 -v 3.76 1.96 -17.22 -v 3.89 3.29 -17.47 -v 4.49 3.30 -16.19 -v 4.57 3.62 -16.49 -v 5.21 3.62 -15.90 -v 5.96 3.97 -15.94 -v 5.96 3.72 -15.75 -v 6.70 3.61 -16.01 -v 7.24 3.61 -16.67 -v 7.39 3.30 -16.39 -v 8.75 1.24 -15.02 -v 8.64 1.16 -12.80 -v 8.22 0.00 -12.58 -v 8.27 0.00 -14.95 -v 7.55 0.00 -11.91 -v 6.95 0.00 -12.02 -v 5.92 0.00 -14.81 -v 6.10 0.00 -11.32 -v 5.22 0.00 -11.92 -v 3.53 1.16 -12.48 -v 3.19 1.24 -14.66 -v 3.57 0.00 -14.69 -v 3.93 0.00 -12.32 -v 3.70 3.02 -13.10 -v 4.06 3.53 -14.81 -v 4.51 3.43 -12.65 -v 4.71 3.91 -14.62 -v 6.01 4.53 -14.23 -v 6.04 4.00 -12.13 -v 7.09 3.06 -12.44 -v 6.57 4.22 -14.52 -v 8.34 3.02 -13.38 -v 7.88 3.59 -15.12 -v 7.20 1.32 -11.80 -v 6.14 1.42 -10.92 -v 5.12 1.33 -11.73 -v 4.30 1.26 -11.65 -v 5.18 3.08 -12.34 -v 5.42 4.19 -14.41 -v 7.26 3.95 -14.86 -v 7.72 3.38 -12.82 -v 7.91 1.26 -11.85 -v 4.60 0.00 -11.75 -v 8.34 41.12 15.05 -v 1.05 31.27 23.35 -v 1.91 30.72 22.80 -v -0.00 30.42 21.70 -v 0.99 31.21 23.60 -v 0.44 31.50 23.77 -v -0.00 31.85 23.98 -v -0.00 31.64 23.83 -v 0.19 31.62 23.81 -v 0.77 31.44 23.53 -v 4.07 40.21 13.27 -v 2.70 41.60 14.81 -v 9.35 21.36 -11.82 -v 7.34 20.08 -8.75 -v 7.54 15.35 -9.52 -v 9.91 16.45 -13.25 -v 6.26 25.80 -8.91 -v 7.71 25.97 -11.69 -v 7.69 23.23 -16.57 -v 6.48 26.48 -15.68 -v 4.67 24.17 -19.26 -v 4.29 27.08 -17.03 -v 5.40 13.46 -20.28 -v 5.10 15.57 -19.07 -v 8.29 14.42 -17.91 -v 8.49 11.41 -19.26 -v 8.44 18.60 -17.05 -v 4.95 19.86 -19.38 -v 4.86 29.06 -14.93 -v 5.76 28.94 -11.95 -v 8.39 10.36 -17.19 -v 8.26 8.96 -17.63 -v 8.15 9.26 -19.80 -v 5.37 9.04 -22.20 -v 5.39 12.45 -21.46 -v 7.56 6.58 -19.65 -v 7.75 6.67 -17.92 -v 5.46 6.28 -20.78 -v 9.55 12.52 -15.65 -v 3.21 10.61 -16.85 -v 2.99 11.59 -19.22 -v 3.15 9.53 -19.54 -v 3.35 9.18 -17.26 -v 3.93 6.80 -17.69 -v 5.84 6.61 -16.48 -v 6.07 8.72 -15.66 -v 3.87 6.53 -19.23 -v 6.24 9.51 -15.18 -v 6.94 10.91 -13.09 -v 3.41 12.28 -13.94 -v 3.04 13.84 -15.32 -v 3.10 15.11 -17.16 -v 6.80 11.45 5.31 -v 5.08 11.25 4.62 -v 5.44 13.30 3.26 -v 7.01 13.17 4.27 -v 3.68 11.50 5.38 -v 3.96 13.36 4.06 -v 2.61 12.50 6.46 -v 3.54 12.74 10.35 -v 5.44 11.32 10.79 -v 5.71 12.69 10.92 -v 7.21 12.61 9.49 -v 6.74 10.48 9.44 -v 5.54 15.60 2.65 -v 7.56 15.57 3.60 -v 3.35 15.84 10.75 -v 5.70 16.02 11.41 -v 7.55 16.03 10.25 -v 7.92 12.48 7.83 -v 8.73 15.76 7.82 -v 7.08 21.62 3.10 -v 7.64 18.57 3.15 -v 6.65 24.62 10.50 -v 7.22 23.54 7.84 -v 7.48 10.15 8.22 -v 6.52 9.31 6.17 -v 6.51 9.30 6.16 -v 4.96 9.40 5.37 -v 2.67 3.40 8.13 -v 4.14 3.11 7.38 -v 2.39 4.06 8.96 -v 2.88 4.43 10.82 -v 8.62 19.59 7.86 -v 5.89 19.71 11.97 -v 7.55 19.76 10.61 -v 4.84 8.62 10.62 -v 4.95 9.57 10.50 -v 3.02 9.48 10.01 -v 2.97 8.56 10.21 -v 6.17 8.46 9.79 -v 6.32 9.42 9.66 -v 6.98 9.13 8.55 -v 6.79 8.23 8.68 -v 4.50 8.16 6.43 -v 6.08 8.40 7.10 -v 5.96 7.46 7.26 -v 4.41 7.23 6.64 -v 6.51 7.32 8.81 -v 3.52 10.12 5.88 -v 2.46 8.83 7.68 -v 2.69 6.46 7.45 -v 4.31 6.29 6.86 -v 2.48 7.01 8.20 -v 3.10 7.52 10.42 -v 4.48 4.59 11.31 -v 5.68 4.40 10.51 -v 6.11 4.22 9.23 -v 5.55 3.27 7.82 -v 2.19 28.58 17.74 -v -0.00 28.19 17.89 -v 0.00 27.08 17.06 -v 1.97 27.54 16.97 -v 4.13 28.54 16.42 -v 4.34 29.37 17.58 -v 5.44 30.14 15.70 -v 6.10 31.05 16.90 -v 5.84 30.72 18.56 -v 0.00 34.44 9.58 -v 3.01 33.84 10.45 -v 5.46 32.87 12.29 -v 5.78 31.44 14.37 -v 5.89 35.55 12.68 -v 3.31 36.61 10.82 -v -0.00 37.13 9.86 -v 0.92 34.95 23.68 -v -0.00 35.17 23.93 -v -0.00 34.52 24.34 -v 1.00 34.24 24.10 -v 1.13 33.50 24.60 -v -0.00 33.71 24.97 -v -0.00 32.81 24.82 -v 1.16 33.35 24.54 -v 0.17 32.79 24.76 -v 1.88 32.27 24.20 -v 1.06 32.47 24.68 -v 0.92 32.04 24.48 -v 1.63 31.75 24.03 -v 0.74 31.73 24.22 -v 1.35 31.33 23.89 -v 1.29 34.04 23.96 -v 3.21 30.53 21.75 -v 3.96 31.60 22.04 -v 2.75 31.57 23.20 -v 0.00 41.90 18.20 -v -0.00 41.15 20.18 -v 4.22 29.82 19.06 -v 6.42 33.99 19.85 -v 6.16 32.01 19.66 -v 6.88 32.41 18.06 -v 7.09 34.21 18.13 -v -0.00 36.61 23.40 -v -0.00 35.79 23.62 -v 0.93 35.61 23.37 -v 1.12 36.42 23.17 -v -0.00 31.48 23.97 -v 0.40 31.42 23.92 -v 4.14 32.81 22.39 -v 3.02 32.48 23.28 -v 1.78 36.12 22.84 -v 1.42 35.35 23.08 -v 2.07 40.06 21.08 -v -0.00 40.08 21.59 -v 3.19 36.68 22.18 -v 3.82 36.35 21.67 -v 4.00 36.52 21.64 -v 3.51 37.03 22.04 -v 3.07 40.70 12.84 -v -0.00 41.05 12.30 -v 0.00 41.95 14.79 -v 1.34 29.48 22.43 -v 1.78 29.30 21.35 -v 2.55 29.83 21.48 -v 1.89 29.97 22.46 -v 5.17 30.55 19.50 -v 4.32 30.50 20.82 -v 3.37 29.88 20.50 -v 2.28 29.22 19.09 -v 2.10 29.36 20.32 -v -0.00 33.98 24.85 -v 4.63 37.76 21.16 -v 3.35 38.38 21.86 -v 2.79 37.40 22.61 -v 3.80 39.63 20.44 -v 4.97 38.68 19.91 -v 1.86 38.83 22.55 -v 1.56 37.79 23.12 -v 5.08 36.64 20.39 -v 5.59 37.08 19.06 -v 4.94 39.75 16.71 -v 4.92 39.26 18.02 -v 5.85 37.70 17.08 -v 5.89 38.20 15.93 -v 0.84 29.87 23.02 -v -0.00 29.64 23.08 -v 0.00 29.17 22.48 -v -0.00 28.93 21.37 -v -0.00 29.08 20.37 -v -0.00 28.97 19.19 -v 5.06 31.74 21.03 -v 3.76 40.47 18.68 -v -0.00 38.87 22.78 -v 1.33 34.72 23.44 -v 5.28 36.00 20.21 -v 4.40 36.18 21.25 -v 4.48 35.84 21.14 -v -0.00 37.84 23.28 -v 2.39 33.29 23.39 -v 1.36 33.84 23.79 -v 1.63 32.77 24.35 -v 2.56 36.62 22.56 -v 4.19 36.02 21.35 -v 3.56 33.77 22.69 -v 3.37 39.54 11.68 -v -0.00 39.65 10.81 -v 6.54 34.68 14.01 -v 1.15 31.06 23.46 -v 1.39 30.16 23.06 -v 0.18 32.36 24.61 -v 0.15 32.09 24.44 -v -0.00 32.76 24.73 -v -0.00 32.34 24.55 -v -0.00 32.10 24.37 -v 0.81 31.29 23.67 -v 4.73 34.55 21.49 -v 5.24 33.33 21.28 -v 6.91 32.96 15.56 -v 7.07 34.54 16.53 -v 6.04 36.45 16.75 -v 5.76 36.16 18.45 -v -0.00 30.54 23.72 -v 0.85 30.42 23.55 -v 3.73 36.27 21.50 -v 4.11 35.97 21.31 -v 2.30 35.42 22.46 -v 2.29 35.79 22.39 -v 2.37 35.17 22.43 -v 2.58 34.97 22.35 -v 3.08 34.88 22.13 -v 3.42 35.10 21.98 -v 3.55 35.34 21.89 -v 3.46 35.98 21.87 -v 3.56 35.68 21.85 -v 3.04 36.19 22.04 -v 2.61 36.15 22.23 -v 2.97 35.56 22.36 -v 4.73 7.67 10.74 -v 5.94 7.50 9.91 -v 5.76 6.50 7.43 -v 2.55 7.46 7.26 -v 2.39 7.97 7.91 -v 2.76 8.38 7.02 -v 0.00 49.12 -27.78 -v -3.23 28.74 -1.28 -v -3.07 28.57 1.88 -v -2.93 30.52 -14.47 -v -3.49 30.39 -11.43 -v -2.33 19.32 -17.01 -v -1.98 22.94 -18.73 -v -6.09 25.02 -0.72 -v -6.05 25.40 2.15 -v -6.20 18.84 -0.16 -v -5.74 18.55 2.35 -v -6.32 19.78 -7.20 -v -6.65 19.94 -8.17 -v -4.70 16.75 -9.21 -v -4.52 16.56 -7.33 -v -3.15 29.21 6.20 -v -3.46 15.18 3.30 -v -4.18 15.67 0.04 -v -2.28 13.77 0.12 -v -2.04 14.08 2.60 -v -2.38 14.74 -7.70 -v -2.27 15.37 -10.06 -v -5.58 26.84 7.17 -v -4.93 27.37 9.73 -v -2.87 30.20 8.03 -v -5.61 2.21 8.37 -v -5.68 -0.03 9.83 -v -6.68 1.73 10.18 -v -6.14 3.22 9.74 -v -4.02 1.99 7.98 -v -4.08 -0.03 9.37 -v -2.39 2.21 8.56 -v -2.54 -0.03 10.04 -v -1.77 1.73 10.48 -v -2.34 3.22 10.01 -v -2.52 3.27 11.56 -v -2.80 3.64 11.26 -v -3.32 3.62 11.86 -v -4.32 3.96 11.73 -v -5.75 3.64 11.07 -v -5.34 3.62 11.75 -v -4.34 3.73 12.02 -v -6.03 3.27 11.36 -v -7.00 1.16 12.70 -v -6.67 -0.01 12.74 -v -6.62 -0.01 14.46 -v -7.05 1.09 14.30 -v -5.94 -0.01 14.95 -v -4.29 -0.01 12.84 -v -5.34 -0.01 14.87 -v -4.47 -0.01 15.37 -v -3.58 -0.01 14.94 -v -1.67 1.17 12.96 -v -1.87 1.10 14.53 -v -2.27 -0.01 14.65 -v -1.91 -0.01 12.93 -v -2.04 2.51 14.08 -v -2.41 2.98 12.86 -v -3.07 3.33 12.99 -v -2.87 2.89 14.41 -v -4.95 3.61 13.06 -v -5.47 2.54 14.56 -v -4.41 3.41 14.79 -v -4.38 3.90 13.27 -v -6.74 2.51 13.88 -v -6.27 3.03 12.63 -v -5.58 1.24 15.03 -v -4.51 1.34 15.66 -v -3.48 1.25 15.07 -v -2.66 1.19 15.14 -v -3.54 2.56 14.63 -v -2.19 14.25 6.54 -v -1.39 14.12 6.98 -v -2.42 14.98 8.43 -v -1.36 14.78 9.20 -v -2.01 16.83 -13.60 -v -6.29 19.22 -3.91 -v -5.78 25.21 -4.36 -v -3.33 29.17 -4.90 -v -2.39 27.13 -17.55 -v -2.17 29.71 -16.77 -v -1.49 36.84 -24.79 -v -1.27 41.55 -26.64 -v -1.10 48.04 -27.60 -v -1.80 30.62 -19.83 -v -1.73 32.71 -22.16 -v -0.64 48.90 -27.72 -v -2.01 29.49 -17.69 -v -1.57 20.12 14.04 -v -1.88 17.93 12.35 -v -2.56 30.98 9.13 -v -4.46 28.79 10.92 -v -5.94 25.30 11.45 -v -4.93 26.82 12.64 -v -2.56 32.43 9.79 -v -1.36 23.45 15.57 -v -3.19 24.31 14.77 -v -4.13 24.96 14.05 -v -5.00 22.20 12.86 -v -3.17 20.72 13.42 -v -4.39 31.01 11.80 -v -4.26 28.06 14.68 -v -4.76 29.65 13.36 -v -3.28 27.06 15.56 -v -1.41 26.15 16.41 -v -2.36 34.54 22.12 -v -3.17 34.53 21.93 -v -3.24 34.45 22.04 -v -2.28 34.44 22.27 -v -1.85 34.74 22.48 -v -2.01 34.84 22.21 -v -4.11 41.25 16.12 -v -5.14 39.91 15.45 -v -4.10 40.52 17.32 -v -5.51 40.65 14.97 -v -3.82 42.26 16.17 -v -5.78 38.23 15.31 -v -5.93 39.07 13.75 -v -5.77 37.37 13.20 -v -6.53 36.04 14.96 -v -7.55 38.38 15.52 -v -1.95 41.75 16.78 -v -1.91 41.74 17.62 -v -1.50 41.83 17.78 -v -4.44 44.22 17.56 -v -4.87 43.94 17.63 -v -4.27 42.64 18.07 -v -3.39 43.20 17.82 -v -4.55 43.63 16.49 -v -6.28 42.27 15.14 -v -8.27 41.15 15.26 -v -7.97 39.78 15.41 -v -6.38 40.27 13.63 -v -8.05 39.76 15.23 -v -7.04 42.64 14.09 -v -5.86 43.30 14.35 -v -4.81 41.35 13.62 -v -3.78 42.26 15.07 -v -5.09 43.91 15.39 -v -5.51 45.25 17.16 -v -7.48 46.22 17.08 -v -5.70 45.21 17.08 -v -7.08 44.49 15.93 -v -7.79 45.26 16.33 -v -8.24 43.93 15.60 -v -8.30 43.98 15.38 -v -7.82 45.31 16.17 -v -7.57 44.55 15.34 -v -6.80 44.96 15.49 -v -7.45 46.20 16.92 -v -6.20 45.30 16.21 -v -5.19 43.74 17.22 -v -8.33 42.53 15.28 -v -8.40 42.59 15.07 -v -5.08 41.92 17.73 -v -3.26 19.02 11.83 -v -4.39 16.04 -3.75 -v -2.33 13.93 -3.88 -v -2.74 18.21 -13.21 -v -5.80 25.70 -8.38 -v -3.34 30.05 -8.19 -v -2.22 35.87 22.27 -v -2.18 35.91 22.49 -v -2.62 36.32 22.31 -v -2.64 36.24 22.14 -v -1.99 35.24 22.30 -v -1.84 35.19 22.52 -v -4.24 35.17 21.32 -v -4.17 35.17 21.36 -v -4.22 35.77 21.22 -v -4.32 35.81 21.24 -v -3.84 34.78 21.64 -v -3.92 34.73 21.68 -v -3.20 36.48 22.11 -v -3.14 36.37 21.92 -v -3.78 3.59 13.14 -v -6.11 2.84 14.28 -v -5.65 3.37 12.82 -v -6.30 1.18 14.99 -v -2.96 -0.01 15.07 -v -7.48 38.41 15.68 -v -6.27 36.31 15.32 -v -3.13 41.25 17.80 -v -2.31 41.56 17.79 -v -2.03 41.16 19.56 -v -7.09 2.43 -19.06 -v -7.12 0.00 -18.53 -v -7.74 1.96 -17.50 -v -7.57 3.28 -17.72 -v -5.72 2.06 -19.83 -v -5.75 0.00 -19.00 -v -4.40 2.43 -18.89 -v -4.44 0.00 -18.31 -v -3.76 1.96 -17.22 -v -3.89 3.29 -17.47 -v -4.57 3.62 -16.49 -v -4.49 3.30 -16.19 -v -5.96 3.97 -15.94 -v -5.21 3.62 -15.90 -v -5.96 3.72 -15.75 -v -6.70 3.61 -16.01 -v -7.39 3.30 -16.39 -v -7.24 3.61 -16.67 -v -8.75 1.24 -15.02 -v -8.27 0.00 -14.95 -v -8.22 0.00 -12.58 -v -8.64 1.16 -12.80 -v -7.55 0.00 -11.91 -v -5.92 0.00 -14.81 -v -6.95 0.00 -12.02 -v -6.10 0.00 -11.32 -v -5.22 0.00 -11.92 -v -3.53 1.16 -12.48 -v -3.93 0.00 -12.32 -v -3.57 0.00 -14.69 -v -3.19 1.24 -14.66 -v -3.70 3.02 -13.10 -v -4.06 3.53 -14.81 -v -4.71 3.91 -14.62 -v -4.51 3.43 -12.65 -v -6.01 4.53 -14.23 -v -6.57 4.22 -14.52 -v -7.09 3.06 -12.44 -v -6.04 4.00 -12.13 -v -8.34 3.02 -13.38 -v -7.88 3.59 -15.12 -v -7.20 1.32 -11.80 -v -6.14 1.42 -10.92 -v -5.12 1.33 -11.73 -v -4.30 1.26 -11.65 -v -5.18 3.08 -12.34 -v -5.42 4.19 -14.41 -v -7.26 3.95 -14.86 -v -7.72 3.38 -12.82 -v -7.91 1.26 -11.85 -v -4.60 0.00 -11.75 -v -8.35 41.13 15.05 -v -1.05 31.27 23.35 -v -1.91 30.72 22.80 -v -0.44 31.50 23.77 -v -0.99 31.21 23.60 -v -0.18 31.62 23.81 -v -0.76 31.44 23.53 -v -3.97 40.15 13.10 -v -2.70 41.61 14.81 -v -9.35 21.36 -11.82 -v -9.91 16.45 -13.25 -v -7.54 15.35 -9.52 -v -7.34 20.08 -8.75 -v -6.26 25.80 -8.91 -v -7.71 25.97 -11.69 -v -6.48 26.48 -15.68 -v -7.69 23.23 -16.57 -v -4.67 24.17 -19.26 -v -4.29 27.08 -17.03 -v -5.40 13.46 -20.27 -v -8.49 11.41 -19.26 -v -8.29 14.42 -17.91 -v -5.10 15.57 -19.07 -v -4.95 19.86 -19.38 -v -8.44 18.60 -17.05 -v -5.76 28.94 -11.95 -v -4.86 29.06 -14.93 -v -8.39 10.36 -17.19 -v -8.15 9.26 -19.79 -v -8.25 8.95 -17.63 -v -5.39 12.45 -21.46 -v -5.37 9.04 -22.20 -v -7.55 6.57 -19.63 -v -7.74 6.66 -17.92 -v -5.46 6.28 -20.75 -v -9.55 12.52 -15.65 -v -3.21 10.61 -16.85 -v -3.35 9.18 -17.26 -v -3.15 9.53 -19.54 -v -2.99 11.59 -19.22 -v -3.95 6.80 -17.69 -v -6.07 8.71 -15.66 -v -5.84 6.61 -16.49 -v -3.89 6.53 -19.21 -v -6.24 9.51 -15.18 -v -3.41 12.28 -13.94 -v -6.94 10.91 -13.09 -v -3.04 13.84 -15.32 -v -3.10 15.11 -17.16 -v -6.80 11.45 5.31 -v -7.01 13.17 4.27 -v -5.44 13.30 3.26 -v -5.08 11.25 4.62 -v -3.96 13.36 4.06 -v -3.68 11.50 5.38 -v -2.61 12.50 6.46 -v -3.54 12.74 10.35 -v -5.71 12.69 10.92 -v -5.44 11.32 10.79 -v -7.21 12.61 9.49 -v -6.74 10.48 9.44 -v -7.56 15.56 3.62 -v -5.54 15.58 2.66 -v -3.35 15.84 10.75 -v -5.70 16.04 11.42 -v -7.55 16.04 10.26 -v -7.92 12.48 7.83 -v -8.73 15.76 7.84 -v -7.64 18.53 3.16 -v -7.08 21.58 3.09 -v -6.65 24.64 10.45 -v -7.22 23.54 7.80 -v -7.48 10.15 8.22 -v -6.51 9.30 6.16 -v -4.96 9.40 5.37 -v -6.52 9.31 6.17 -v -4.14 3.11 7.38 -v -2.67 3.40 8.13 -v -2.39 4.06 8.96 -v -2.88 4.43 10.82 -v -8.62 19.59 7.86 -v -5.89 19.76 11.97 -v -7.55 19.80 10.61 -v -4.84 8.62 10.62 -v -2.97 8.56 10.21 -v -3.02 9.48 10.01 -v -4.95 9.57 10.50 -v -6.17 8.46 9.79 -v -6.32 9.42 9.66 -v -6.98 9.13 8.55 -v -6.79 8.23 8.68 -v -4.50 8.16 6.43 -v -4.41 7.23 6.64 -v -5.96 7.46 7.26 -v -6.08 8.40 7.10 -v -6.51 7.32 8.81 -v -3.52 10.12 5.88 -v -2.46 8.83 7.68 -v -4.31 6.29 6.86 -v -2.69 6.46 7.45 -v -2.48 7.01 8.20 -v -3.10 7.52 10.42 -v -4.48 4.59 11.31 -v -5.68 4.40 10.51 -v -6.11 4.22 9.23 -v -5.55 3.27 7.82 -v -2.19 28.58 17.74 -v -1.97 27.54 16.97 -v -4.34 29.37 17.58 -v -4.13 28.54 16.42 -v -5.84 30.72 18.56 -v -6.10 31.05 16.90 -v -5.44 30.14 15.70 -v -3.01 33.84 10.45 -v -5.78 31.44 14.37 -v -5.46 32.87 12.29 -v -5.71 35.59 12.81 -v -3.31 36.61 10.82 -v -0.93 34.94 23.68 -v -1.00 34.24 24.10 -v -1.16 33.35 24.54 -v -0.17 32.79 24.76 -v -1.13 33.50 24.60 -v -1.88 32.27 24.20 -v -1.63 31.75 24.03 -v -0.92 32.04 24.48 -v -1.06 32.47 24.68 -v -1.35 31.33 23.89 -v -0.74 31.73 24.22 -v -1.30 34.03 23.96 -v -3.21 30.53 21.75 -v -2.75 31.57 23.20 -v -3.96 31.60 22.04 -v -4.22 29.82 19.06 -v -6.42 33.99 19.85 -v -7.09 34.21 18.13 -v -6.88 32.41 18.06 -v -6.16 32.01 19.66 -v -1.13 36.42 23.17 -v -0.94 35.60 23.36 -v -0.40 31.42 23.92 -v -3.03 32.48 23.28 -v -4.15 32.81 22.39 -v -1.82 36.12 22.82 -v -1.44 35.34 23.07 -v -2.07 40.06 21.08 -v -4.07 36.54 21.59 -v -3.89 36.36 21.63 -v -3.25 36.70 22.15 -v -3.56 37.05 22.01 -v -2.94 40.68 12.68 -v -1.34 29.48 22.43 -v -1.89 29.97 22.46 -v -2.55 29.83 21.48 -v -1.78 29.30 21.35 -v -5.17 30.55 19.50 -v -3.37 29.88 20.50 -v -4.32 30.50 20.82 -v -2.28 29.22 19.09 -v -2.10 29.36 20.32 -v -2.83 37.42 22.60 -v -3.36 38.39 21.85 -v -4.65 37.77 21.15 -v -3.79 39.63 20.44 -v -4.96 38.68 19.91 -v -1.86 38.83 22.55 -v -1.57 37.79 23.12 -v -5.57 37.08 19.06 -v -5.09 36.65 20.37 -v -4.94 39.76 16.71 -v -5.87 38.17 15.92 -v -5.83 37.68 17.08 -v -4.92 39.25 18.02 -v -0.84 29.87 23.02 -v -5.06 31.74 21.03 -v -3.72 40.46 18.75 -v -1.34 34.71 23.44 -v -5.29 36.00 20.18 -v -4.55 35.85 21.09 -v -4.47 36.19 21.20 -v -2.41 33.28 23.39 -v -1.63 32.77 24.35 -v -1.37 33.83 23.79 -v -2.62 36.63 22.54 -v -4.26 36.03 21.29 -v -3.60 33.75 22.67 -v -3.34 39.51 11.62 -v -6.49 34.69 14.03 -v -1.15 31.06 23.46 -v -1.39 30.16 23.06 -v -0.18 32.36 24.61 -v -0.15 32.09 24.44 -v -0.81 31.29 23.67 -v -4.78 34.53 21.45 -v -5.25 33.32 21.27 -v -6.91 32.96 15.56 -v -7.07 34.54 16.53 -v -6.06 36.46 16.74 -v -5.78 36.16 18.45 -v -0.85 30.42 23.55 -v -3.80 36.28 21.45 -v -4.18 35.98 21.26 -v -2.36 35.40 22.43 -v -2.35 35.78 22.36 -v -2.43 35.15 22.39 -v -2.64 34.95 22.32 -v -3.14 34.86 22.10 -v -3.48 35.09 21.94 -v -3.62 35.34 21.85 -v -3.62 35.68 21.80 -v -3.53 35.99 21.82 -v -3.11 36.20 22.00 -v -2.68 36.15 22.20 -v -3.03 35.56 22.32 -v -4.73 7.67 10.74 -v -5.94 7.50 9.91 -v -5.76 6.50 7.43 -v -2.55 7.46 7.26 -v -2.39 7.97 7.91 -v -2.76 8.38 7.02 -v 6.85 37.87 15.86 -v 7.57 39.02 15.60 -v 6.61 39.54 15.81 -v 6.25 40.55 15.97 -v 5.65 41.65 16.34 -v 5.11 42.24 16.66 -v 8.70 40.27 15.35 -v 7.52 41.07 15.29 -v 8.25 42.23 15.29 -v 6.63 42.67 15.79 -v 6.24 43.68 16.20 -v 4.53 42.44 16.97 -v 3.63 40.71 17.31 -v 4.99 43.52 16.35 -v 8.25 38.26 15.78 -v 6.14 36.94 15.33 -v -6.26 40.55 15.97 -v -6.62 39.52 15.80 -v -7.58 39.01 15.59 -v -6.85 37.85 15.85 -v -5.11 42.25 16.66 -v -5.66 41.66 16.34 -v -8.70 40.28 15.34 -v -7.53 41.09 15.28 -v -6.63 42.68 15.79 -v -8.25 42.24 15.29 -v -6.24 43.69 16.20 -v -3.61 40.71 17.32 -v -4.53 42.45 16.97 -v -5.00 43.53 16.35 -v -8.25 38.27 15.78 -v -6.16 36.93 15.32 -# 1013 vertices - -vn -0.00 0.99 0.14 -vn -0.00 1.00 0.00 -vn 0.61 0.79 -0.04 -vn 0.65 0.76 0.07 -vn 0.49 0.82 -0.29 -vn 0.00 0.99 -0.17 -vn 0.00 1.00 0.02 -vn 0.56 0.82 0.10 -vn -0.00 -0.08 -1.00 -vn -0.08 -0.02 -1.00 -vn -0.34 -0.51 -0.79 -vn -0.00 -0.63 -0.78 -vn 0.94 0.33 -0.02 -vn 0.90 0.42 -0.11 -vn 0.96 -0.27 0.06 -vn 0.80 -0.25 -0.55 -vn 0.97 -0.22 0.10 -vn 0.77 -0.64 -0.03 -vn 0.31 -0.83 0.46 -vn 0.77 -0.12 0.62 -vn -0.00 0.97 -0.26 -vn 0.60 0.77 -0.22 -vn 0.28 -0.83 -0.48 -vn 0.78 -0.62 0.03 -vn 0.50 -0.86 0.04 -vn 0.45 -0.89 0.10 -vn 0.47 -0.86 -0.18 -vn 0.41 -0.85 -0.32 -vn 0.82 0.57 -0.03 -vn 0.65 0.71 -0.27 -vn 0.86 0.51 -0.01 -vn 0.65 -0.32 -0.69 -vn 0.98 0.17 -0.11 -vn 0.95 -0.02 -0.30 -vn 0.44 -0.79 -0.42 -vn -0.04 -0.84 -0.53 -vn -0.08 -0.49 -0.87 -vn -0.52 -0.78 -0.35 -vn -0.76 -0.19 -0.62 -vn -0.99 0.03 -0.16 -vn -0.95 0.30 0.02 -vn -0.75 0.64 0.15 -vn -0.67 0.63 0.40 -vn -0.33 0.91 0.24 -vn 0.36 0.91 0.18 -vn 0.70 0.63 0.35 -vn 0.04 0.73 0.69 -vn 0.02 0.96 0.30 -vn 0.77 0.63 0.07 -vn 1.00 -0.00 -0.09 -vn 0.93 -0.01 0.37 -vn 0.60 -0.72 0.35 -vn 0.63 -0.78 -0.06 -vn 0.14 -0.67 0.73 -vn 0.14 -0.82 0.55 -vn 0.00 -1.00 0.00 -vn 0.01 -0.69 0.72 -vn -0.08 -0.82 0.57 -vn -1.00 0.03 0.03 -vn -0.66 -0.75 0.02 -vn -0.56 -0.71 0.42 -vn -0.87 -0.01 0.49 -vn -0.78 0.53 0.34 -vn -0.73 0.68 0.07 -vn -0.43 0.89 0.17 -vn -0.25 0.73 0.63 -vn 0.39 0.91 0.14 -vn 0.00 0.99 0.12 -vn -0.02 0.76 0.65 -vn 0.35 0.54 0.77 -vn 0.82 0.52 0.25 -vn 0.74 0.68 0.01 -vn 0.30 0.11 0.95 -vn 0.02 0.09 1.00 -vn -0.21 0.11 0.97 -vn -0.31 0.12 0.94 -vn -0.29 0.53 0.80 -vn -0.41 -0.91 0.06 -vn 0.27 -0.94 0.19 -vn 0.15 -0.89 0.43 -vn 0.33 -0.81 0.49 -vn 0.54 -0.71 -0.46 -vn 0.00 -0.87 -0.50 -vn 0.97 -0.24 -0.02 -vn 0.94 0.33 0.01 -vn 0.70 0.70 0.14 -vn -0.00 0.98 0.21 -vn -0.00 -0.07 -1.00 -vn 0.22 0.35 -0.91 -vn 0.00 -0.93 -0.36 -vn -0.00 0.99 -0.12 -vn 0.77 0.53 -0.35 -vn 1.00 0.02 -0.04 -vn 1.00 0.03 -0.03 -vn 0.00 0.28 0.96 -vn 0.00 0.51 0.86 -vn 0.97 0.23 0.00 -vn 0.00 -0.23 -0.97 -vn -0.00 0.11 -0.99 -vn 0.00 -0.42 -0.91 -vn 0.00 -0.61 -0.79 -vn 1.00 0.00 -0.05 -vn 1.00 0.03 -0.05 -vn 0.00 -0.77 -0.64 -vn -0.00 0.68 0.74 -vn -0.01 0.90 0.43 -vn 0.00 0.36 0.93 -vn 0.73 0.68 -0.05 -vn -0.00 0.77 0.64 -vn -0.00 0.61 -0.80 -vn 0.92 0.22 -0.32 -vn -0.00 -0.51 0.86 -vn -0.00 -0.68 0.73 -vn 0.44 -0.60 0.67 -vn 0.37 -0.47 0.80 -vn 0.67 0.52 -0.52 -vn 0.92 0.31 -0.22 -vn -0.00 0.75 -0.66 -vn -0.00 0.89 -0.46 -vn 0.86 0.28 0.42 -vn 0.94 0.13 0.31 -vn -0.00 0.46 -0.89 -vn 0.54 0.26 -0.80 -vn 0.35 -0.31 0.88 -vn 0.00 -0.34 0.94 -vn 0.57 -0.23 0.79 -vn 0.43 -0.43 0.80 -vn 0.65 -0.10 0.75 -vn 0.76 -0.09 0.65 -vn 0.85 -0.06 -0.53 -vn 0.97 -0.18 -0.15 -vn 0.90 -0.33 0.29 -vn 0.65 -0.42 0.63 -vn 0.33 -0.37 0.87 -vn 0.34 0.72 0.61 -vn 0.48 0.61 0.63 -vn 0.03 0.84 0.55 -vn 0.04 0.85 0.53 -vn 0.79 0.23 0.57 -vn 0.76 0.30 0.58 -vn 0.84 0.28 0.46 -vn 0.97 0.12 -0.19 -vn 0.68 0.22 0.70 -vn 0.29 0.04 0.96 -vn 0.93 -0.27 0.23 -vn -0.13 0.06 0.99 -vn 0.55 -0.05 -0.83 -vn 0.92 -0.39 -0.07 -vn 0.99 0.12 -0.04 -vn 0.81 0.20 -0.56 -vn -0.21 0.97 -0.11 -vn 0.17 0.97 0.15 -vn -0.07 0.95 0.31 -vn -0.50 0.70 0.50 -vn -0.56 0.64 0.53 -vn 0.18 0.03 0.98 -vn 0.43 0.09 0.90 -vn 0.15 -0.24 0.96 -vn 0.84 -0.52 0.16 -vn -0.10 0.04 0.99 -vn -0.11 0.19 0.98 -vn 0.38 -0.08 -0.92 -vn 0.93 -0.31 -0.20 -vn 0.30 0.25 -0.92 -vn -0.16 0.43 -0.89 -vn -0.21 0.50 -0.84 -vn -0.56 0.64 -0.52 -vn -0.49 0.67 -0.55 -vn -0.32 0.78 0.54 -vn 0.36 -0.26 0.89 -vn 0.12 0.99 -0.05 -vn 0.28 -0.58 0.77 -vn 0.47 -0.61 0.64 -vn 0.20 -0.48 0.85 -vn 0.12 -0.55 0.83 -vn 0.03 -0.35 0.94 -vn 0.88 0.32 -0.35 -vn 0.30 0.56 -0.77 -vn 0.78 0.54 -0.31 -vn -0.07 0.68 -0.73 -vn -0.42 0.77 -0.47 -vn 0.19 0.93 -0.32 -vn 0.71 -0.10 0.70 -vn -0.05 -0.13 0.99 -vn 0.95 0.06 -0.32 -vn 0.70 -0.26 -0.66 -vn 0.75 -0.25 -0.61 -vn 0.24 -0.51 0.82 -vn 0.78 -0.62 -0.05 -vn 0.51 -0.85 -0.10 -vn 0.00 -1.00 0.04 -vn 0.00 -1.00 0.09 -vn 0.00 -0.97 -0.25 -vn 0.00 -0.97 0.23 -vn -0.00 -0.82 0.57 -vn -0.11 -0.94 -0.33 -vn 0.00 -0.99 -0.12 -vn 0.85 0.39 0.35 -vn 0.68 0.72 0.14 -vn 0.83 -0.50 0.25 -vn 0.52 -0.75 0.41 -vn 0.56 -0.73 0.40 -vn 0.83 -0.49 0.26 -vn 0.84 -0.16 0.51 -vn 0.85 -0.22 0.48 -vn 0.43 0.22 0.88 -vn -0.12 -0.11 0.99 -vn -0.16 -0.00 0.99 -vn 0.44 0.29 0.85 -vn 0.04 0.65 0.76 -vn 0.02 0.67 0.75 -vn 0.26 -0.87 0.42 -vn 0.28 -0.86 0.43 -vn -0.38 0.91 0.18 -vn 0.43 0.89 0.13 -vn 0.35 0.71 0.61 -vn 0.39 0.12 0.91 -vn -0.10 -0.68 0.73 -vn -0.20 -0.05 0.98 -vn -0.17 0.11 0.98 -vn 0.34 -0.17 0.93 -vn 0.37 0.39 0.84 -vn 0.72 0.46 0.52 -vn 0.29 0.86 0.42 -vn 0.08 0.66 0.74 -vn 0.76 -0.13 -0.64 -vn 0.95 0.07 -0.32 -vn 0.54 -0.69 -0.48 -vn -0.05 -0.76 -0.64 -vn -0.05 -0.25 -0.97 -vn -0.57 -0.71 -0.41 -vn -0.80 -0.15 -0.58 -vn -0.98 0.05 -0.21 -vn -0.99 0.05 0.11 -vn -0.70 0.71 0.07 -vn -0.68 0.41 0.62 -vn -0.33 0.94 0.08 -vn 0.07 0.47 0.88 -vn 0.00 0.99 0.16 -vn 0.34 0.94 0.02 -vn 0.79 0.41 0.45 -vn 0.74 0.67 -0.09 -vn 0.99 -0.03 -0.16 -vn 0.94 -0.02 0.33 -vn 0.61 -0.73 0.30 -vn 0.60 -0.80 -0.09 -vn 0.17 -0.66 0.73 -vn 0.16 -0.85 0.49 -vn -0.09 -0.85 0.51 -vn -0.90 -0.02 0.43 -vn -1.00 -0.01 -0.05 -vn -0.64 -0.77 -0.03 -vn -0.59 -0.73 0.36 -vn -0.80 0.51 0.31 -vn -0.70 0.70 -0.12 -vn -0.28 0.76 0.59 -vn -0.41 0.91 -0.09 -vn -0.01 1.00 0.01 -vn -0.03 0.81 0.59 -vn 0.46 0.58 0.68 -vn 0.39 0.92 -0.06 -vn 0.84 0.50 0.22 -vn 0.69 0.70 -0.20 -vn 0.39 0.09 0.92 -vn 0.02 0.07 1.00 -vn -0.27 0.10 0.96 -vn -0.37 0.11 0.92 -vn -0.37 0.57 0.74 -vn -0.37 0.93 -0.04 -vn 0.37 0.92 -0.09 -vn 0.32 0.78 0.54 -vn 0.47 0.11 0.88 -vn -0.13 -0.67 0.73 -vn 0.95 -0.12 -0.30 -vn 0.96 0.14 0.25 -vn 0.81 -0.37 0.46 -vn 0.92 0.15 0.37 -vn 0.89 -0.20 0.42 -vn 0.96 0.09 0.27 -vn 0.94 -0.03 0.34 -vn 0.94 -0.11 0.33 -vn 0.17 0.83 -0.53 -vn 0.40 -0.78 -0.48 -vn 0.00 -0.41 -0.91 -vn -0.21 -0.86 0.46 -vn -0.35 -0.80 0.49 -vn 0.00 -0.85 0.53 -vn -0.00 0.87 -0.50 -vn 0.07 0.87 -0.49 -vn 0.08 0.86 -0.51 -vn 0.39 0.56 -0.73 -vn -0.06 0.92 -0.38 -vn 0.97 0.17 0.19 -vn 0.74 0.03 0.67 -vn 0.42 -0.42 0.81 -vn 0.99 -0.05 0.13 -vn 0.71 0.41 0.58 -vn 0.89 0.44 0.14 -vn 0.83 0.28 -0.49 -vn 0.75 0.50 -0.43 -vn 0.25 0.29 -0.92 -vn 0.38 0.60 -0.70 -vn -0.04 0.60 -0.80 -vn -0.21 0.19 -0.96 -vn 0.76 0.15 -0.64 -vn 0.90 0.14 -0.42 -vn 0.81 0.16 -0.56 -vn 0.02 -0.04 -1.00 -vn 0.58 0.69 -0.44 -vn 0.70 0.69 0.16 -vn 0.93 -0.31 0.18 -vn 0.92 -0.22 0.32 -vn 0.88 -0.10 -0.47 -vn -0.09 -0.11 -0.99 -vn -0.05 0.50 -0.86 -vn 0.83 -0.21 -0.52 -vn 0.93 -0.12 0.34 -vn -0.14 -0.34 -0.93 -vn 0.95 -0.30 -0.03 -vn -0.90 -0.29 0.33 -vn -0.92 0.13 -0.37 -vn -0.94 -0.13 -0.33 -vn -0.85 -0.25 0.47 -vn -0.87 -0.12 0.48 -vn 0.02 -0.06 1.00 -vn 0.06 -0.42 0.91 -vn -0.92 -0.19 -0.35 -vn 0.08 -0.74 0.67 -vn 0.21 -0.74 0.64 -vn -0.77 -0.45 0.45 -vn -0.99 -0.09 0.06 -vn -0.92 0.02 -0.39 -vn 0.71 -0.39 -0.58 -vn -0.07 -0.47 -0.88 -vn 0.00 -0.40 -0.92 -vn 0.72 -0.38 -0.58 -vn -0.65 -0.28 -0.70 -vn -0.61 -0.37 -0.70 -vn -0.97 -0.13 -0.22 -vn -0.70 -0.06 0.71 -vn 0.22 -0.17 0.96 -vn 0.25 -0.16 0.95 -vn 0.80 -0.18 0.57 -vn 0.73 -0.19 0.66 -vn 0.06 -0.20 -0.98 -vn 0.76 -0.20 -0.62 -vn -0.66 -0.23 0.72 -vn 0.17 -0.18 0.97 -vn 0.75 -0.13 0.65 -vn 0.98 -0.21 0.04 -vn 0.99 -0.13 0.09 -vn 0.84 0.13 -0.53 -vn 0.76 0.01 -0.65 -vn 0.89 0.36 0.26 -vn 0.93 0.36 -0.03 -vn 0.95 -0.29 0.11 -vn 0.67 -0.51 -0.54 -vn 0.39 -0.61 -0.69 -vn -0.04 -0.50 -0.87 -vn -0.77 -0.14 -0.62 -vn -0.08 -0.32 -0.94 -vn -1.00 0.00 -0.05 -vn -0.76 0.28 0.59 -vn 0.99 0.15 0.06 -vn 0.45 -0.15 0.88 -vn 0.81 0.05 0.58 -vn 0.17 0.11 0.98 -vn 0.15 -0.03 0.99 -vn -0.75 0.11 0.66 -vn -0.71 0.12 0.69 -vn 0.71 -0.05 0.70 -vn 0.69 -0.07 0.72 -vn 0.94 -0.31 0.16 -vn 0.97 -0.23 0.06 -vn -0.03 -0.42 -0.91 -vn 0.69 -0.48 -0.54 -vn 0.70 -0.25 -0.67 -vn 0.03 -0.23 -0.97 -vn 0.98 -0.21 0.06 -vn -0.58 -0.25 -0.77 -vn -1.00 0.03 -0.08 -vn -0.75 -0.15 -0.65 -vn 0.01 -0.19 -0.98 -vn -1.00 -0.03 0.04 -vn -0.67 0.12 0.73 -vn 0.18 0.34 0.92 -vn 0.80 0.23 0.55 -vn 1.00 -0.03 -0.04 -vn 0.68 -0.23 -0.70 -vn 0.28 -0.77 0.57 -vn 0.00 -0.74 0.68 -vn 0.00 -0.49 0.87 -vn 0.35 -0.56 0.75 -vn 0.66 -0.65 0.39 -vn 0.54 -0.79 0.29 -vn 0.85 -0.52 -0.02 -vn 0.83 -0.56 -0.05 -vn 0.74 -0.65 0.19 -vn 0.00 0.23 -0.97 -vn 0.48 0.15 -0.86 -vn 0.80 -0.15 -0.58 -vn 0.89 -0.36 -0.28 -vn 0.79 0.09 -0.60 -vn 0.47 0.16 -0.87 -vn 0.00 0.22 -0.98 -vn 0.48 0.43 0.77 -vn -0.00 0.48 0.88 -vn 0.00 0.61 0.79 -vn 0.50 0.52 0.69 -vn 0.65 0.14 0.75 -vn 0.00 0.15 0.99 -vn -0.00 -0.52 0.85 -vn 0.59 0.10 0.80 -vn 0.12 -0.29 0.95 -vn 0.58 -0.20 0.79 -vn 0.25 -0.18 0.95 -vn 0.41 -0.51 0.76 -vn -0.10 -0.71 0.69 -vn 0.18 -0.70 0.69 -vn 0.84 0.30 0.46 -vn 0.52 -0.61 0.60 -vn 0.63 -0.44 0.64 -vn 0.53 -0.47 0.71 -vn 0.47 -0.51 0.72 -vn 0.00 0.98 0.20 -vn 0.00 0.87 0.50 -vn 0.42 -0.86 0.28 -vn 0.86 0.11 0.50 -vn 0.83 -0.34 0.45 -vn 0.95 -0.30 0.13 -vn -0.00 0.16 0.99 -vn -0.00 0.35 0.94 -vn 0.42 0.25 0.87 -vn 0.32 0.05 0.95 -vn -0.00 0.25 0.97 -vn 0.38 0.31 0.87 -vn 0.27 0.68 0.68 -vn -0.00 0.66 0.75 -vn 0.67 -0.07 0.74 -vn 0.60 -0.04 0.80 -vn 0.51 -0.10 0.85 -vn 0.70 0.08 0.71 -vn 0.30 0.74 0.61 -vn 0.00 0.76 0.65 -vn 0.50 -0.23 0.84 -vn 0.49 -0.32 0.81 -vn 0.57 -0.18 0.80 -vn 0.58 -0.01 0.81 -vn -0.26 -0.76 0.59 -vn -0.16 -0.83 0.54 -vn 0.36 0.80 -0.48 -vn 0.01 0.84 -0.54 -vn 0.00 0.98 -0.18 -vn 0.36 -0.80 0.48 -vn 0.33 -0.93 0.17 -vn 0.51 -0.75 0.42 -vn 0.57 -0.53 0.62 -vn 0.62 -0.70 0.36 -vn 0.57 -0.66 0.48 -vn 0.41 -0.87 0.26 -vn 0.23 -0.93 0.28 -vn 0.25 -0.96 0.08 -vn 0.00 0.55 0.83 -vn 0.75 0.21 0.63 -vn 0.54 0.43 0.73 -vn 0.52 0.06 0.85 -vn 0.55 0.66 0.51 -vn 0.84 0.44 0.32 -vn 0.31 0.56 0.77 -vn 0.26 0.19 0.95 -vn 0.86 0.07 0.50 -vn 0.95 0.16 0.25 -vn 0.82 0.55 0.19 -vn 0.84 0.50 0.19 -vn 0.95 0.26 0.17 -vn 0.95 0.31 0.03 -vn 0.23 -0.68 0.70 -vn -0.00 -0.70 0.71 -vn -0.00 -0.90 0.44 -vn -0.00 -1.00 0.04 -vn -0.00 -1.00 -0.01 -vn 0.00 -0.96 0.30 -vn 0.72 -0.37 0.59 -vn 0.63 0.73 0.28 -vn 0.86 0.49 0.13 -vn 0.94 0.31 -0.16 -vn 0.00 0.57 0.82 -vn 0.77 0.29 0.57 -vn 0.83 0.23 0.51 -vn 0.67 -0.10 0.74 -vn 0.64 0.08 0.76 -vn 0.50 0.45 0.74 -vn 0.79 0.39 0.48 -vn 0.61 0.14 0.78 -vn 0.77 0.33 0.55 -vn 0.50 -0.31 0.81 -vn 0.54 -0.04 0.84 -vn 0.51 -0.15 0.85 -vn 0.59 -0.46 0.67 -vn 0.43 -0.27 0.86 -vn 0.42 0.43 0.80 -vn 0.14 0.69 0.72 -vn 0.42 0.64 0.64 -vn 0.47 0.49 -0.74 -vn 0.01 0.54 -0.84 -vn 0.95 -0.01 -0.32 -vn 0.62 0.13 0.77 -vn 0.56 -0.40 0.72 -vn -0.15 -0.42 0.90 -vn -0.23 -0.66 0.72 -vn -0.30 -0.78 0.55 -vn -0.04 -0.71 0.70 -vn -0.25 -0.45 0.86 -vn -0.32 -0.71 0.62 -vn 0.60 0.31 0.74 -vn 0.56 0.64 0.53 -vn 0.79 -0.15 0.60 -vn 0.62 -0.28 0.74 -vn 0.29 0.58 0.76 -vn 0.58 0.32 0.75 -vn 0.74 -0.00 0.67 -vn 0.24 0.32 0.92 -vn 0.95 -0.23 -0.23 -vn 0.98 0.19 -0.04 -vn 0.95 0.30 0.14 -vn 0.92 0.30 0.23 -vn -0.00 -0.44 0.90 -vn 0.36 -0.41 0.84 -vn 0.67 0.57 0.48 -vn -0.14 -0.87 0.47 -vn -0.04 -0.88 0.47 -vn -0.05 -0.48 0.87 -vn -0.14 -0.48 0.87 -vn -0.12 0.02 0.99 -vn -0.18 0.29 0.94 -vn -0.34 0.36 0.87 -vn -0.29 -0.10 0.95 -vn -0.15 -0.33 0.93 -vn -0.02 -0.23 0.97 -vn 0.17 -0.36 0.92 -vn 0.07 -0.45 0.89 -vn 0.41 -0.33 0.85 -vn 0.37 -0.37 0.85 -vn 0.55 -0.16 0.82 -vn 0.59 -0.11 0.80 -vn 0.67 0.06 0.74 -vn 0.64 0.03 0.77 -vn 0.63 0.12 0.76 -vn 0.41 -0.07 0.91 -vn 0.62 0.26 0.74 -vn 0.59 0.30 0.75 -vn 0.66 0.14 0.74 -vn 0.45 0.33 0.83 -vn 0.50 0.27 0.82 -vn 0.14 0.44 0.89 -vn 0.06 0.54 0.84 -vn 0.19 0.14 0.97 -vn 0.74 -0.02 0.67 -vn 0.70 -0.21 -0.69 -vn -0.78 -0.13 -0.62 -vn -1.00 0.02 -0.03 -vn -0.70 -0.14 -0.70 -vn -0.65 0.76 0.07 -vn -0.61 0.79 -0.04 -vn -0.49 0.82 -0.29 -vn -0.56 0.82 0.10 -vn 0.34 -0.51 -0.79 -vn 0.08 -0.02 -1.00 -vn -0.94 0.33 -0.02 -vn -0.90 0.42 -0.11 -vn -0.96 -0.27 0.06 -vn -0.80 -0.26 -0.55 -vn -0.97 -0.22 0.10 -vn -0.77 -0.12 0.62 -vn -0.31 -0.83 0.46 -vn -0.77 -0.64 -0.03 -vn -0.60 0.77 -0.22 -vn -0.28 -0.83 -0.48 -vn -0.78 -0.62 0.03 -vn -0.50 -0.86 0.04 -vn -0.45 -0.89 0.10 -vn -0.47 -0.86 -0.18 -vn -0.41 -0.85 -0.32 -vn -0.82 0.57 -0.03 -vn -0.86 0.51 -0.01 -vn -0.65 0.71 -0.27 -vn -0.65 -0.32 -0.69 -vn -0.44 -0.79 -0.42 -vn -0.95 -0.02 -0.30 -vn -0.98 0.17 -0.11 -vn 0.08 -0.49 -0.87 -vn 0.04 -0.84 -0.53 -vn 0.76 -0.19 -0.62 -vn 0.52 -0.78 -0.35 -vn 0.99 0.03 -0.16 -vn 0.95 0.30 0.02 -vn 0.75 0.64 0.15 -vn 0.67 0.63 0.40 -vn 0.33 0.91 0.24 -vn -0.04 0.73 0.69 -vn -0.70 0.63 0.35 -vn -0.36 0.91 0.18 -vn -0.02 0.96 0.30 -vn -0.77 0.63 0.07 -vn -1.00 -0.00 -0.09 -vn -0.63 -0.78 -0.06 -vn -0.60 -0.72 0.35 -vn -0.93 -0.01 0.37 -vn -0.14 -0.67 0.73 -vn -0.00 -1.00 0.00 -vn -0.14 -0.82 0.55 -vn -0.01 -0.69 0.72 -vn 0.08 -0.82 0.57 -vn 1.00 0.03 0.03 -vn 0.87 -0.01 0.49 -vn 0.56 -0.71 0.42 -vn 0.66 -0.75 0.02 -vn 0.78 0.53 0.34 -vn 0.73 0.68 0.07 -vn 0.43 0.89 0.17 -vn 0.25 0.73 0.63 -vn -0.39 0.91 0.14 -vn -0.35 0.54 0.77 -vn 0.02 0.76 0.65 -vn -0.00 0.99 0.12 -vn -0.82 0.52 0.25 -vn -0.74 0.68 0.01 -vn -0.30 0.11 0.95 -vn -0.02 0.09 1.00 -vn 0.21 0.11 0.97 -vn 0.31 0.12 0.94 -vn 0.29 0.53 0.80 -vn 0.41 -0.91 0.06 -vn -0.27 -0.94 0.19 -vn -0.15 -0.89 0.43 -vn -0.33 -0.81 0.49 -vn -0.54 -0.71 -0.46 -vn -0.97 -0.24 -0.02 -vn -0.94 0.33 0.01 -vn -0.70 0.70 0.14 -vn -0.21 0.35 -0.91 -vn -0.76 0.53 -0.36 -vn -1.00 0.02 -0.05 -vn -1.00 0.03 -0.03 -vn -0.97 0.23 0.00 -vn -1.00 -0.01 -0.06 -vn -0.73 0.68 -0.05 -vn -0.92 0.22 -0.33 -vn -0.37 -0.47 0.80 -vn -0.44 -0.60 0.67 -vn -0.67 0.52 -0.52 -vn -0.92 0.31 -0.22 -vn -0.87 0.28 0.41 -vn -0.94 0.13 0.31 -vn -0.54 0.26 -0.80 -vn -0.35 -0.31 0.88 -vn -0.57 -0.23 0.79 -vn -0.76 -0.09 0.65 -vn -0.66 -0.10 0.75 -vn -0.43 -0.43 0.79 -vn -0.85 -0.06 -0.53 -vn -0.90 -0.33 0.29 -vn -0.97 -0.18 -0.15 -vn -0.65 -0.42 0.63 -vn -0.33 -0.37 0.87 -vn -0.33 0.72 0.61 -vn -0.04 0.85 0.53 -vn -0.03 0.84 0.55 -vn -0.48 0.61 0.63 -vn -0.79 0.22 0.58 -vn -0.84 0.28 0.46 -vn -0.69 0.22 0.69 -vn -0.98 0.12 -0.16 -vn -0.29 0.04 0.96 -vn -0.93 -0.27 0.24 -vn 0.14 0.05 0.99 -vn -0.57 -0.07 -0.82 -vn -0.79 0.15 -0.60 -vn -0.99 0.10 -0.07 -vn -0.92 -0.38 -0.07 -vn 0.22 0.97 -0.11 -vn 0.07 0.95 0.31 -vn -0.17 0.97 0.15 -vn 0.51 0.70 0.50 -vn -0.43 0.09 0.90 -vn -0.16 0.05 0.99 -vn -0.83 -0.53 0.17 -vn -0.15 -0.24 0.96 -vn 0.10 0.04 0.99 -vn 0.11 0.18 0.98 -vn -0.41 -0.08 -0.91 -vn -0.93 -0.30 -0.20 -vn -0.32 0.26 -0.91 -vn 0.20 0.53 -0.82 -vn 0.17 0.43 -0.88 -vn 0.51 0.68 -0.53 -vn 0.56 0.64 -0.52 -vn -0.12 0.99 -0.05 -vn -0.36 -0.26 0.89 -vn -0.20 -0.48 0.85 -vn -0.47 -0.61 0.64 -vn -0.28 -0.58 0.77 -vn -0.12 -0.55 0.83 -vn -0.03 -0.35 0.94 -vn -0.88 0.32 -0.35 -vn -0.78 0.54 -0.31 -vn -0.30 0.56 -0.77 -vn 0.07 0.68 -0.73 -vn -0.19 0.93 -0.32 -vn 0.42 0.77 -0.47 -vn -0.71 -0.09 0.70 -vn 0.05 -0.13 0.99 -vn -0.95 0.06 -0.32 -vn -0.72 -0.27 -0.64 -vn -0.74 -0.27 -0.61 -vn -0.25 -0.51 0.83 -vn -0.78 -0.62 -0.05 -vn -0.51 -0.85 -0.10 -vn 0.11 -0.94 -0.33 -vn -0.85 0.39 0.35 -vn -0.68 0.72 0.14 -vn -0.82 -0.51 0.25 -vn -0.83 -0.49 0.27 -vn -0.56 -0.73 0.40 -vn -0.53 -0.74 0.42 -vn -0.84 -0.24 0.49 -vn -0.84 -0.18 0.52 -vn -0.43 0.22 0.87 -vn -0.45 0.29 0.85 -vn 0.16 -0.00 0.99 -vn 0.12 -0.11 0.99 -vn -0.02 0.67 0.75 -vn -0.04 0.65 0.76 -vn -0.29 -0.85 0.43 -vn -0.27 -0.86 0.42 -vn 0.38 0.91 0.18 -vn -0.35 0.71 0.61 -vn -0.43 0.89 0.13 -vn -0.39 0.12 0.91 -vn 0.10 -0.68 0.73 -vn 0.17 0.10 0.98 -vn 0.21 -0.05 0.98 -vn -0.31 -0.14 0.94 -vn -0.71 0.47 0.52 -vn -0.36 0.38 0.85 -vn -0.08 0.66 0.74 -vn -0.29 0.86 0.42 -vn -0.76 -0.13 -0.64 -vn -0.54 -0.69 -0.48 -vn -0.95 0.07 -0.32 -vn -1.00 0.03 -0.04 -vn 0.05 -0.25 -0.97 -vn 0.05 -0.76 -0.64 -vn 0.80 -0.14 -0.58 -vn 0.57 -0.71 -0.41 -vn 0.98 0.05 -0.21 -vn 0.99 0.05 0.11 -vn 0.68 0.41 0.62 -vn 0.70 0.71 0.07 -vn -0.07 0.47 0.88 -vn 0.33 0.94 0.08 -vn -0.00 0.99 0.16 -vn -0.34 0.94 0.02 -vn -0.74 0.67 -0.09 -vn -0.79 0.41 0.45 -vn -0.99 -0.03 -0.16 -vn -0.60 -0.80 -0.09 -vn -0.61 -0.73 0.30 -vn -0.94 -0.02 0.33 -vn -0.17 -0.66 0.73 -vn -0.16 -0.85 0.49 -vn 0.09 -0.85 0.51 -vn 0.90 -0.02 0.43 -vn 0.59 -0.73 0.36 -vn 0.64 -0.77 -0.03 -vn 1.00 -0.01 -0.05 -vn 0.80 0.51 0.31 -vn 0.70 0.70 -0.12 -vn 0.41 0.91 -0.09 -vn 0.28 0.76 0.59 -vn 0.01 1.00 0.01 -vn -0.39 0.92 -0.06 -vn -0.46 0.58 0.68 -vn 0.03 0.81 0.59 -vn -0.84 0.50 0.22 -vn -0.69 0.70 -0.20 -vn -0.39 0.09 0.92 -vn -0.02 0.07 1.00 -vn 0.27 0.10 0.96 -vn 0.37 0.11 0.92 -vn 0.37 0.57 0.74 -vn 0.37 0.93 -0.04 -vn -0.37 0.92 -0.09 -vn -0.47 0.11 0.88 -vn 0.13 -0.67 0.73 -vn -0.95 -0.12 -0.30 -vn -0.96 0.14 0.25 -vn -0.92 0.14 0.36 -vn -0.81 -0.37 0.46 -vn -0.89 -0.19 0.41 -vn -0.96 0.09 0.27 -vn -0.94 -0.11 0.33 -vn -0.94 -0.03 0.34 -vn -0.17 0.83 -0.53 -vn -0.40 -0.79 -0.47 -vn 0.35 -0.80 0.49 -vn 0.21 -0.86 0.46 -vn -0.07 0.87 -0.49 -vn -0.08 0.86 -0.51 -vn -0.40 0.56 -0.72 -vn 0.07 0.92 -0.38 -vn -0.97 0.17 0.19 -vn -0.99 -0.05 0.13 -vn -0.42 -0.42 0.81 -vn -0.74 0.03 0.67 -vn -0.71 0.41 0.58 -vn -0.89 0.44 0.14 -vn -0.75 0.50 -0.43 -vn -0.83 0.28 -0.49 -vn -0.25 0.29 -0.92 -vn -0.38 0.60 -0.70 -vn 0.04 0.60 -0.80 -vn -0.90 0.14 -0.42 -vn -0.76 0.15 -0.64 -vn 0.21 0.19 -0.96 -vn -0.02 -0.04 -1.00 -vn -0.81 0.16 -0.56 -vn -0.70 0.69 0.16 -vn -0.58 0.69 -0.44 -vn -0.93 -0.31 0.18 -vn -0.88 -0.11 -0.47 -vn -0.92 -0.22 0.32 -vn 0.05 0.50 -0.86 -vn 0.09 -0.12 -0.99 -vn -0.83 -0.21 -0.52 -vn -0.93 -0.12 0.34 -vn 0.14 -0.34 -0.93 -vn -0.95 -0.30 -0.03 -vn 0.90 -0.29 0.33 -vn 0.85 -0.25 0.47 -vn 0.94 -0.13 -0.33 -vn 0.92 0.13 -0.37 -vn 0.87 -0.12 0.48 -vn -0.06 -0.42 0.91 -vn -0.02 -0.06 1.00 -vn 0.92 -0.19 -0.35 -vn -0.08 -0.74 0.67 -vn 0.77 -0.45 0.45 -vn -0.21 -0.74 0.64 -vn 0.99 -0.09 0.06 -vn 0.92 0.02 -0.39 -vn -0.71 -0.39 -0.58 -vn -0.72 -0.38 -0.58 -vn -0.00 -0.40 -0.92 -vn 0.07 -0.47 -0.88 -vn 0.61 -0.37 -0.70 -vn 0.65 -0.28 -0.70 -vn 0.97 -0.13 -0.22 -vn 0.70 -0.06 0.71 -vn -0.25 -0.17 0.95 -vn -0.22 -0.17 0.96 -vn -0.80 -0.18 0.57 -vn -0.73 -0.19 0.66 -vn -0.76 -0.21 -0.62 -vn -0.06 -0.20 -0.98 -vn 0.66 -0.23 0.72 -vn -0.17 -0.18 0.97 -vn -0.75 -0.13 0.65 -vn -0.98 -0.21 0.04 -vn -0.99 -0.13 0.09 -vn -0.76 0.00 -0.65 -vn -0.83 0.12 -0.54 -vn -0.89 0.36 0.26 -vn -0.93 0.36 -0.03 -vn -0.95 -0.29 0.11 -vn -0.39 -0.61 -0.69 -vn 0.04 -0.50 -0.87 -vn -0.67 -0.51 -0.54 -vn 0.08 -0.32 -0.94 -vn 0.77 -0.14 -0.62 -vn 0.76 0.28 0.59 -vn -0.99 0.15 0.06 -vn -0.46 -0.15 0.88 -vn -0.81 0.05 0.58 -vn 0.71 0.12 0.69 -vn 0.75 0.11 0.66 -vn -0.15 -0.03 0.99 -vn -0.71 -0.05 0.70 -vn -0.69 -0.07 0.72 -vn -0.94 -0.31 0.16 -vn -0.97 -0.23 0.06 -vn 0.03 -0.42 -0.91 -vn -0.03 -0.23 -0.97 -vn -0.70 -0.25 -0.67 -vn -0.69 -0.48 -0.54 -vn -0.98 -0.21 0.06 -vn 0.58 -0.25 -0.77 -vn 1.00 0.03 -0.08 -vn -0.01 -0.19 -0.98 -vn 0.75 -0.15 -0.65 -vn 1.00 -0.03 0.04 -vn 0.67 0.12 0.73 -vn -0.18 0.34 0.92 -vn -0.80 0.23 0.55 -vn -1.00 -0.03 -0.04 -vn -0.68 -0.23 -0.70 -vn -0.28 -0.77 0.57 -vn -0.35 -0.56 0.75 -vn -0.54 -0.79 0.29 -vn -0.66 -0.65 0.39 -vn -0.74 -0.65 0.19 -vn -0.83 -0.56 -0.05 -vn -0.85 -0.52 -0.02 -vn -0.49 0.15 -0.86 -vn -0.89 -0.36 -0.28 -vn -0.80 -0.12 -0.58 -vn -0.76 0.08 -0.64 -vn -0.48 0.43 0.77 -vn -0.50 0.52 0.69 -vn -0.58 0.10 0.80 -vn -0.28 -0.34 0.90 -vn -0.65 0.14 0.75 -vn -0.58 -0.21 0.79 -vn -0.41 -0.51 0.76 -vn -0.25 -0.18 0.95 -vn -0.18 -0.70 0.69 -vn 0.10 -0.71 0.69 -vn -0.84 0.30 0.46 -vn -0.52 -0.61 0.60 -vn -0.47 -0.51 0.72 -vn -0.53 -0.47 0.71 -vn -0.63 -0.44 0.64 -vn -0.42 -0.86 0.28 -vn -0.86 0.11 0.50 -vn -0.95 -0.30 0.13 -vn -0.83 -0.34 0.45 -vn -0.32 0.05 0.95 -vn -0.43 0.25 0.87 -vn -0.27 0.68 0.68 -vn -0.38 0.31 0.87 -vn -0.60 -0.04 0.80 -vn -0.67 -0.07 0.74 -vn -0.51 -0.10 0.86 -vn -0.70 0.07 0.71 -vn -0.30 0.74 0.61 -vn -0.58 -0.18 0.79 -vn -0.49 -0.32 0.81 -vn -0.51 -0.22 0.83 -vn -0.59 -0.01 0.81 -vn 0.16 -0.83 0.54 -vn 0.26 -0.76 0.59 -vn -0.35 0.80 -0.49 -vn -0.36 -0.80 0.48 -vn -0.57 -0.53 0.62 -vn -0.51 -0.75 0.42 -vn -0.33 -0.93 0.17 -vn -0.62 -0.70 0.36 -vn -0.41 -0.87 0.26 -vn -0.57 -0.66 0.48 -vn -0.23 -0.93 0.28 -vn -0.25 -0.96 0.08 -vn -0.52 0.07 0.85 -vn -0.54 0.43 0.73 -vn -0.75 0.21 0.62 -vn -0.55 0.66 0.50 -vn -0.84 0.44 0.32 -vn -0.31 0.56 0.77 -vn -0.26 0.19 0.95 -vn -0.95 0.18 0.25 -vn -0.87 0.07 0.48 -vn -0.82 0.54 0.20 -vn -0.95 0.31 0.06 -vn -0.95 0.27 0.17 -vn -0.84 0.50 0.19 -vn -0.23 -0.68 0.70 -vn -0.72 -0.37 0.59 -vn -0.63 0.73 0.29 -vn -0.87 0.48 0.15 -vn -0.95 0.31 -0.10 -vn -0.77 0.29 0.57 -vn -0.84 0.24 0.50 -vn -0.65 0.08 0.76 -vn -0.68 -0.09 0.73 -vn -0.50 0.45 0.74 -vn -0.60 0.14 0.79 -vn -0.79 0.39 0.48 -vn -0.77 0.33 0.55 -vn -0.51 -0.30 0.81 -vn -0.55 -0.04 0.84 -vn -0.51 -0.15 0.85 -vn -0.44 -0.27 0.86 -vn -0.59 -0.46 0.67 -vn -0.42 0.43 0.80 -vn -0.42 0.66 0.63 -vn -0.13 0.70 0.71 -vn -0.48 0.47 -0.74 -vn -0.93 0.00 -0.36 -vn -0.62 0.13 0.77 -vn -0.56 -0.40 0.72 -vn 0.15 -0.42 0.90 -vn 0.04 -0.24 0.97 -vn 0.24 -0.66 0.72 -vn 0.30 -0.78 0.55 -vn 0.26 -0.45 0.86 -vn 0.10 -0.39 0.92 -vn 0.33 -0.71 0.62 -vn -0.60 0.31 0.74 -vn -0.61 -0.29 0.74 -vn -0.78 -0.17 0.61 -vn -0.28 0.58 0.76 -vn -0.58 0.32 0.75 -vn -0.75 -0.01 0.67 -vn -0.23 0.32 0.92 -vn -0.94 -0.23 -0.24 -vn -0.98 0.19 -0.04 -vn -0.94 0.31 0.14 -vn -0.92 0.32 0.24 -vn -0.36 -0.40 0.84 -vn -0.67 0.57 0.48 -vn 0.03 -0.88 0.47 -vn 0.14 -0.87 0.47 -vn 0.14 -0.48 0.87 -vn 0.05 -0.49 0.87 -vn 0.12 0.03 0.99 -vn 0.29 -0.10 0.95 -vn 0.34 0.37 0.87 -vn 0.18 0.30 0.94 -vn 0.15 -0.33 0.93 -vn 0.02 -0.23 0.97 -vn -0.17 -0.37 0.91 -vn -0.06 -0.45 0.89 -vn -0.41 -0.34 0.85 -vn -0.37 -0.37 0.85 -vn -0.56 -0.16 0.81 -vn -0.59 -0.12 0.80 -vn -0.65 0.02 0.76 -vn -0.68 0.05 0.73 -vn -0.63 0.26 0.73 -vn -0.42 -0.06 0.91 -vn -0.64 0.12 0.76 -vn -0.66 0.13 0.74 -vn -0.60 0.29 0.75 -vn -0.45 0.33 0.83 -vn -0.50 0.27 0.82 -vn -0.14 0.44 0.89 -vn -0.06 0.54 0.84 -vn -0.19 0.14 0.97 -vn -0.74 -0.02 0.67 -vn -0.70 -0.21 -0.69 -vn 0.78 -0.13 -0.62 -vn 1.00 0.02 -0.03 -vn 0.70 -0.14 -0.70 -vn 0.04 -0.08 1.00 -vn 0.16 0.09 0.98 -vn 0.31 -0.03 0.95 -vn 0.16 -0.17 0.97 -vn 0.42 0.01 0.91 -vn 0.51 -0.06 0.86 -vn 0.51 -0.03 0.86 -vn 0.44 0.07 0.90 -vn 0.34 0.14 0.93 -vn 0.25 0.15 0.96 -vn 0.47 0.02 0.88 -vn 0.39 -0.09 0.92 -vn 0.46 -0.04 0.89 -vn 0.37 0.04 0.93 -vn 0.49 0.07 0.87 -vn 0.20 0.22 0.96 -vn 0.20 0.25 0.95 -vn -0.01 0.23 0.97 -vn -0.09 -0.44 0.89 -vn -0.51 -0.06 0.86 -vn -0.42 0.01 0.91 -vn -0.31 -0.03 0.95 -vn -0.16 -0.18 0.97 -vn -0.16 0.09 0.98 -vn -0.04 -0.09 1.00 -vn -0.34 0.15 0.93 -vn -0.44 0.07 0.90 -vn -0.51 -0.03 0.86 -vn -0.25 0.15 0.96 -vn -0.47 0.02 0.88 -vn -0.46 -0.04 0.89 -vn -0.39 -0.09 0.92 -vn -0.37 0.04 0.93 -vn -0.19 0.23 0.95 -vn -0.49 0.07 0.87 -vn -0.20 0.25 0.95 -vn 0.02 0.23 0.97 -vn 0.08 -0.45 0.89 -# 1090 vertex normals - -vt 0.95 0.25 0.00 -vt 0.94 0.29 0.00 -vt 0.90 0.30 0.00 -vt 0.90 0.26 0.00 -vt 0.91 0.09 0.00 -vt 0.95 0.09 0.00 -vt 0.96 0.13 0.00 -vt 0.91 0.13 0.00 -vt 0.80 0.03 0.00 -vt 0.81 0.06 0.00 -vt 0.76 0.07 0.00 -vt 0.75 0.05 0.00 -vt 0.84 0.27 0.00 -vt 0.85 0.30 0.00 -vt 0.76 0.28 0.00 -vt 0.76 0.31 0.00 -vt 0.77 0.19 0.00 -vt 0.72 0.19 0.00 -vt 0.73 0.17 0.00 -vt 0.77 0.18 0.00 -vt 0.95 0.34 0.00 -vt 0.90 0.35 0.00 -vt 0.70 0.32 0.00 -vt 0.71 0.28 0.00 -vt 0.67 0.28 0.00 -vt 0.68 0.31 0.00 -vt 0.69 0.18 0.00 -vt 0.70 0.15 0.00 -vt 0.86 0.37 0.00 -vt 0.91 0.38 0.00 -vt 0.87 0.40 0.00 -vt 0.62 0.88 0.00 -vt 0.63 0.85 0.00 -vt 0.66 0.87 0.00 -vt 0.67 0.92 0.00 -vt 0.60 0.94 0.00 -vt 0.60 0.89 0.00 -vt 0.52 0.92 0.00 -vt 0.57 0.88 0.00 -vt 0.53 0.87 0.00 -vt 0.55 0.86 0.00 -vt 0.55 0.83 0.00 -vt 0.55 0.84 0.00 -vt 0.56 0.83 0.00 -vt 0.61 0.83 0.00 -vt 0.63 0.84 0.00 -vt 0.59 0.84 0.00 -vt 0.59 0.83 0.00 -vt 0.63 0.83 0.00 -vt 0.68 0.80 0.00 -vt 0.67 0.76 0.00 -vt 0.69 0.74 0.00 -vt 0.70 0.80 0.00 -vt 0.39 0.37 0.00 -vt 0.38 0.37 0.00 -vt 0.35 0.31 0.00 -vt 0.42 0.31 0.00 -vt 0.41 0.36 0.00 -vt 0.35 0.38 0.00 -vt 0.33 0.37 0.00 -vt 0.50 0.81 0.00 -vt 0.48 0.81 0.00 -vt 0.49 0.75 0.00 -vt 0.51 0.76 0.00 -vt 0.53 0.78 0.00 -vt 0.55 0.80 0.00 -vt 0.56 0.80 0.00 -vt 0.55 0.77 0.00 -vt 0.60 0.80 0.00 -vt 0.59 0.80 0.00 -vt 0.59 0.76 0.00 -vt 0.62 0.75 0.00 -vt 0.64 0.77 0.00 -vt 0.63 0.80 0.00 -vt 0.63 0.72 0.00 -vt 0.59 0.71 0.00 -vt 0.59 0.68 0.00 -vt 0.63 0.69 0.00 -vt 0.55 0.72 0.00 -vt 0.54 0.69 0.00 -vt 0.53 0.73 0.00 -vt 0.56 0.75 0.00 -vt 0.68 0.36 0.00 -vt 0.67 0.37 0.00 -vt 0.69 0.38 0.00 -vt 0.68 0.40 0.00 -vt 0.72 0.10 0.00 -vt 0.70 0.09 0.00 -vt 0.77 0.23 0.00 -vt 0.85 0.23 0.00 -vt 0.90 0.21 0.00 -vt 0.95 0.21 0.00 -vt 0.87 0.03 0.00 -vt 0.87 0.06 0.00 -vt 0.67 0.13 0.00 -vt 0.94 0.06 0.00 -vt 0.90 0.06 0.00 -vt 0.55 0.41 0.00 -vt 0.56 0.28 0.00 -vt 0.60 0.28 0.00 -vt 0.60 0.41 0.00 -vt 0.57 0.17 0.00 -vt 0.51 0.28 0.00 -vt 0.52 0.17 0.00 -vt 0.51 0.42 0.00 -vt 0.52 0.52 0.00 -vt 0.56 0.51 0.00 -vt 0.57 0.58 0.00 -vt 0.53 0.58 0.00 -vt 0.60 0.50 0.00 -vt 0.61 0.57 0.00 -vt 0.61 0.17 0.00 -vt 0.57 0.15 0.00 -vt 0.60 0.15 0.00 -vt 0.55 0.15 0.00 -vt 0.58 0.62 0.00 -vt 0.54 0.64 0.00 -vt 0.62 0.62 0.00 -vt 0.73 0.48 0.00 -vt 0.70 0.45 0.00 -vt 0.72 0.44 0.00 -vt 0.74 0.46 0.00 -vt 0.92 0.39 0.00 -vt 0.88 0.42 0.00 -vt 0.96 0.38 0.00 -vt 0.96 0.36 0.00 -vt 0.84 0.41 0.00 -vt 0.85 0.44 0.00 -vt 0.90 0.05 0.00 -vt 0.97 0.39 0.00 -vt 0.94 0.41 0.00 -vt 0.78 0.49 0.00 -vt 0.77 0.51 0.00 -vt 0.81 0.47 0.00 -vt 0.76 0.45 0.00 -vt 0.79 0.43 0.00 -vt 0.82 0.46 0.00 -vt 0.91 0.44 0.00 -vt 0.88 0.45 0.00 -vt 0.86 0.47 0.00 -vt 0.84 0.48 0.00 -vt 0.81 0.52 0.00 -vt 0.82 0.51 0.00 -vt 0.83 0.38 0.00 -vt 0.83 0.39 0.00 -vt 0.80 0.41 0.00 -vt 0.81 0.40 0.00 -vt 0.84 0.36 0.00 -vt 0.83 0.36 0.00 -vt 0.11 0.49 0.00 -vt 0.13 0.50 0.00 -vt 0.09 0.51 0.00 -vt 0.08 0.50 0.00 -vt 0.12 0.47 0.00 -vt 0.06 0.54 0.00 -vt 0.06 0.93 0.00 -vt 0.09 0.98 0.00 -vt 0.05 0.99 0.00 -vt 0.04 0.94 0.00 -vt 0.07 0.79 0.00 -vt 0.07 0.77 0.00 -vt 0.08 0.76 0.00 -vt 0.14 0.78 0.00 -vt 0.11 0.77 0.00 -vt 0.12 0.75 0.00 -vt 0.15 0.77 0.00 -vt 0.07 0.46 0.00 -vt 0.13 0.44 0.00 -vt 0.02 0.46 0.00 -vt 0.02 0.49 0.00 -vt 0.09 0.91 0.00 -vt 0.11 0.96 0.00 -vt 0.13 0.89 0.00 -vt 0.08 0.87 0.00 -vt 0.13 0.86 0.00 -vt 0.13 0.83 0.00 -vt 0.09 0.83 0.00 -vt 0.17 0.80 0.00 -vt 0.18 0.79 0.00 -vt 0.22 0.82 0.00 -vt 0.09 0.36 0.00 -vt 0.12 0.39 0.00 -vt 0.08 0.40 0.00 -vt 0.07 0.38 0.00 -vt 0.05 0.40 0.00 -vt 0.19 0.89 0.00 -vt 0.18 0.87 0.00 -vt 0.20 0.85 0.00 -vt 0.18 0.85 0.00 -vt 0.18 0.82 0.00 -vt 0.22 0.83 0.00 -vt 0.16 0.76 0.00 -vt 0.03 0.43 0.00 -vt 0.16 0.91 0.00 -vt 0.16 0.48 0.00 -vt 0.14 0.43 0.00 -vt 0.74 0.42 0.00 -vt 0.71 0.23 0.00 -vt 0.68 0.23 0.00 -vt 0.64 0.28 0.00 -vt 0.65 0.31 0.00 -vt 0.66 0.17 0.00 -vt 0.66 0.38 0.00 -vt 0.67 0.41 0.00 -vt 0.74 0.11 0.00 -vt 0.64 0.22 0.00 -vt 0.85 0.18 0.00 -vt 0.91 0.17 0.00 -vt 0.96 0.17 0.00 -vt 0.80 0.33 0.00 -vt 0.78 0.32 0.00 -vt 0.80 0.32 0.00 -vt 0.83 0.34 0.00 -vt 0.75 0.40 0.00 -vt 0.74 0.39 0.00 -vt 0.74 0.38 0.00 -vt 0.76 0.40 0.00 -vt 0.77 0.41 0.00 -vt 0.78 0.41 0.00 -vt 0.77 0.33 0.00 -vt 0.76 0.32 0.00 -vt 0.58 0.80 0.00 -vt 0.61 0.80 0.00 -vt 0.63 0.76 0.00 -vt 0.65 0.73 0.00 -vt 0.66 0.71 0.00 -vt 0.51 0.71 0.00 -vt 0.31 0.23 0.00 -vt 0.35 0.22 0.00 -vt 0.39 0.23 0.00 -vt 0.29 0.31 0.00 -vt 0.31 0.37 0.00 -vt 0.29 0.36 0.00 -vt 0.03 0.57 0.00 -vt 0.02 0.53 0.00 -vt 0.13 0.73 0.00 -vt 0.09 0.73 0.00 -vt 0.11 0.71 0.00 -vt 0.24 0.37 0.00 -vt 0.21 0.35 0.00 -vt 0.24 0.36 0.00 -vt 0.66 0.86 0.00 -vt 0.67 0.91 0.00 -vt 0.56 0.84 0.00 -vt 0.58 0.84 0.00 -vt 0.61 0.84 0.00 -vt 0.62 0.76 0.00 -vt 0.35 0.21 0.00 -vt 0.39 0.22 0.00 -vt 0.28 0.31 0.00 -vt 0.14 0.94 0.00 -vt 0.07 0.37 0.00 -vt 0.01 0.53 0.00 -vt 0.02 0.57 0.00 -vt 0.01 0.49 0.00 -vt 0.04 0.40 0.00 -vt 0.68 0.51 0.00 -vt 0.72 0.54 0.00 -vt 0.65 0.56 0.00 -vt 0.70 0.59 0.00 -vt 0.69 0.60 0.00 -vt 0.68 0.62 0.00 -vt 0.66 0.49 0.00 -vt 0.06 0.88 0.00 -vt 0.06 0.83 0.00 -vt 0.28 0.69 0.00 -vt 0.22 0.68 0.00 -vt 0.23 0.61 0.00 -vt 0.29 0.61 0.00 -vt 0.24 0.77 0.00 -vt 0.23 0.78 0.00 -vt 0.20 0.68 0.00 -vt 0.28 0.76 0.00 -vt 0.35 0.71 0.00 -vt 0.35 0.77 0.00 -vt 0.40 0.73 0.00 -vt 0.38 0.79 0.00 -vt 0.41 0.55 0.00 -vt 0.42 0.59 0.00 -vt 0.36 0.57 0.00 -vt 0.36 0.53 0.00 -vt 0.36 0.64 0.00 -vt 0.41 0.66 0.00 -vt 0.35 0.82 0.00 -vt 0.30 0.81 0.00 -vt 0.36 0.85 0.00 -vt 0.30 0.85 0.00 -vt 0.33 0.51 0.00 -vt 0.33 0.49 0.00 -vt 0.36 0.50 0.00 -vt 0.41 0.49 0.00 -vt 0.41 0.54 0.00 -vt 0.37 0.46 0.00 -vt 0.34 0.45 0.00 -vt 0.41 0.45 0.00 -vt 0.31 0.55 0.00 -vt 0.50 0.53 0.00 -vt 0.46 0.54 0.00 -vt 0.46 0.50 0.00 -vt 0.50 0.50 0.00 -vt 0.26 0.43 0.00 -vt 0.29 0.44 0.00 -vt 0.28 0.48 0.00 -vt 0.24 0.46 0.00 -vt 0.46 0.46 0.00 -vt 0.48 0.46 0.00 -vt 0.28 0.50 0.00 -vt 0.23 0.46 0.00 -vt 0.26 0.53 0.00 -vt 0.21 0.51 0.00 -vt 0.50 0.59 0.00 -vt 0.46 0.60 0.00 -vt 0.18 0.50 0.00 -vt 0.18 0.61 0.00 -vt 0.41 0.80 0.00 -vt 0.44 0.72 0.00 -vt 0.46 0.66 0.00 -vt 0.33 0.40 0.00 -vt 0.35 0.40 0.00 -vt 0.38 0.39 0.00 -vt 0.41 0.39 0.00 -vt 0.27 0.38 0.00 -vt 0.29 0.39 0.00 -vt 0.31 0.40 0.00 -vt 0.47 0.40 0.00 -vt 0.44 0.39 0.00 -vt 0.89 0.71 0.00 -vt 0.92 0.71 0.00 -vt 0.92 0.74 0.00 -vt 0.90 0.74 0.00 -vt 0.94 0.70 0.00 -vt 0.94 0.73 0.00 -vt 0.97 0.70 0.00 -vt 0.76 0.70 0.00 -vt 0.80 0.69 0.00 -vt 0.79 0.71 0.00 -vt 0.82 0.72 0.00 -vt 0.83 0.68 0.00 -vt 0.93 0.77 0.00 -vt 0.90 0.77 0.00 -vt 0.96 0.76 0.00 -vt 0.99 0.72 0.00 -vt 0.75 0.74 0.00 -vt 0.71 0.69 0.00 -vt 0.72 0.68 0.00 -vt 0.78 0.76 0.00 -vt 0.81 0.76 0.00 -vt 0.85 0.72 0.00 -vt 0.84 0.77 0.00 -vt 0.90 0.85 0.00 -vt 0.90 0.81 0.00 -vt 0.93 0.81 0.00 -vt 0.91 0.91 0.00 -vt 0.79 0.88 0.00 -vt 0.80 0.92 0.00 -vt 0.78 0.88 0.00 -vt 0.83 0.87 0.00 -vt 0.84 0.92 0.00 -vt 0.85 0.68 0.00 -vt 0.89 0.68 0.00 -vt 0.92 0.68 0.00 -vt 0.90 0.57 0.00 -vt 0.93 0.56 0.00 -vt 0.93 0.58 0.00 -vt 0.90 0.58 0.00 -vt 0.95 0.57 0.00 -vt 0.94 0.58 0.00 -vt 0.77 0.57 0.00 -vt 0.78 0.56 0.00 -vt 0.80 0.57 0.00 -vt 0.80 0.58 0.00 -vt 0.83 0.82 0.00 -vt 0.75 0.84 0.00 -vt 0.77 0.81 0.00 -vt 0.72 0.81 0.00 -vt 0.74 0.78 0.00 -vt 0.80 0.81 0.00 -vt 0.72 0.72 0.00 -vt 0.81 0.65 0.00 -vt 0.80 0.66 0.00 -vt 0.78 0.65 0.00 -vt 0.79 0.64 0.00 -vt 0.83 0.65 0.00 -vt 0.83 0.66 0.00 -vt 0.85 0.66 0.00 -vt 0.85 0.65 0.00 -vt 0.91 0.65 0.00 -vt 0.88 0.65 0.00 -vt 0.88 0.64 0.00 -vt 0.91 0.64 0.00 -vt 0.85 0.64 0.00 -vt 0.94 0.68 0.00 -vt 0.75 0.63 0.00 -vt 0.94 0.62 0.00 -vt 0.91 0.62 0.00 -vt 0.95 0.62 0.00 -vt 0.76 0.61 0.00 -vt 0.79 0.62 0.00 -vt 0.82 0.58 0.00 -vt 0.82 0.59 0.00 -vt 0.84 0.59 0.00 -vt 0.84 0.58 0.00 -vt 0.86 0.60 0.00 -vt 0.86 0.58 0.00 -vt 0.88 0.59 0.00 -vt 0.88 0.57 0.00 -vt 0.10 0.09 0.00 -vt 0.06 0.07 0.00 -vt 0.06 0.05 0.00 -vt 0.10 0.07 0.00 -vt 0.14 0.03 0.00 -vt 0.14 0.08 0.00 -vt 0.14 0.11 0.00 -vt 0.18 0.10 0.00 -vt 0.18 0.13 0.00 -vt 0.15 0.15 0.00 -vt 0.32 0.03 0.00 -vt 0.38 0.01 0.00 -vt 0.40 0.05 0.00 -vt 0.33 0.08 0.00 -vt 0.07 0.01 0.00 -vt 0.10 0.02 0.00 -vt 0.22 0.04 0.00 -vt 0.26 0.04 0.00 -vt 0.27 0.10 0.00 -vt 0.22 0.11 0.00 -vt 0.17 0.04 0.00 -vt 0.30 0.15 0.00 -vt 0.36 0.13 0.00 -vt 0.43 0.10 0.00 -vt 0.08 0.28 0.00 -vt 0.07 0.29 0.00 -vt 0.06 0.29 0.00 -vt 0.07 0.27 0.00 -vt 0.06 0.26 0.00 -vt 0.04 0.27 0.00 -vt 0.04 0.25 0.00 -vt 0.06 0.25 0.00 -vt 0.07 0.23 0.00 -vt 0.05 0.24 0.00 -vt 0.05 0.23 0.00 -vt 0.06 0.22 0.00 -vt 0.04 0.23 0.00 -vt 0.05 0.22 0.00 -vt 0.07 0.26 0.00 -vt 0.09 0.18 0.00 -vt 0.10 0.20 0.00 -vt 0.09 0.20 0.00 -vt 0.07 0.19 0.00 -vt 0.23 0.40 0.00 -vt 0.18 0.39 0.00 -vt 0.12 0.13 0.00 -vt 0.17 0.21 0.00 -vt 0.15 0.18 0.00 -vt 0.18 0.17 0.00 -vt 0.19 0.19 0.00 -vt 0.09 0.32 0.00 -vt 0.08 0.30 0.00 -vt 0.09 0.29 0.00 -vt 0.10 0.30 0.00 -vt 0.02 0.21 0.00 -vt 0.03 0.21 0.00 -vt 0.02 0.22 0.00 -vt 0.11 0.21 0.00 -vt 0.09 0.22 0.00 -vt 0.11 0.29 0.00 -vt 0.10 0.28 0.00 -vt 0.18 0.34 0.00 -vt 0.15 0.37 0.00 -vt 0.14 0.28 0.00 -vt 0.15 0.26 0.00 -vt 0.16 0.26 0.00 -vt 0.15 0.28 0.00 -vt 0.03 0.22 0.00 -vt 0.04 0.21 0.00 -vt 0.42 0.25 0.00 -vt 0.40 0.21 0.00 -vt 0.46 0.20 0.00 -vt 0.47 0.25 0.00 -vt 0.04 0.16 0.00 -vt 0.06 0.15 0.00 -vt 0.08 0.16 0.00 -vt 0.06 0.17 0.00 -vt 0.13 0.16 0.00 -vt 0.11 0.17 0.00 -vt 0.10 0.15 0.00 -vt 0.09 0.11 0.00 -vt 0.08 0.13 0.00 -vt 0.05 0.28 0.00 -vt 0.17 0.27 0.00 -vt 0.16 0.30 0.00 -vt 0.14 0.29 0.00 -vt 0.19 0.31 0.00 -vt 0.20 0.28 0.00 -vt 0.14 0.32 0.00 -vt 0.12 0.31 0.00 -vt 0.18 0.25 0.00 -vt 0.20 0.25 0.00 -vt 0.26 0.28 0.00 -vt 0.23 0.28 0.00 -vt 0.23 0.24 0.00 -vt 0.26 0.24 0.00 -vt 0.03 0.17 0.00 -vt 0.02 0.17 0.00 -vt 0.02 0.15 0.00 -vt 0.03 0.13 0.00 -vt 0.04 0.11 0.00 -vt 0.05 0.09 0.00 -vt 0.12 0.19 0.00 -vt 0.47 0.32 0.00 -vt 0.45 0.31 0.00 -vt 0.44 0.29 0.00 -vt 0.22 0.31 0.00 -vt 0.28 0.27 0.00 -vt 0.27 0.23 0.00 -vt 0.12 0.35 0.00 -vt 0.09 0.27 0.00 -vt 0.18 0.24 0.00 -vt 0.16 0.25 0.00 -vt 0.10 0.33 0.00 -vt 0.09 0.24 0.00 -vt 0.08 0.26 0.00 -vt 0.06 0.24 0.00 -vt 0.10 0.26 0.00 -vt 0.13 0.29 0.00 -vt 0.13 0.28 0.00 -vt 0.14 0.27 0.00 -vt 0.11 0.23 0.00 -vt 0.12 0.24 0.00 -vt 0.11 0.25 0.00 -vt 0.39 0.18 0.00 -vt 0.45 0.16 0.00 -vt 0.26 0.16 0.00 -vt 0.31 0.18 0.00 -vt 0.26 0.18 0.00 -vt 0.04 0.20 0.00 -vt 0.04 0.18 0.00 -vt 0.04 0.24 0.00 -vt 0.03 0.24 0.00 -vt 0.03 0.23 0.00 -vt 0.03 0.20 0.00 -vt 0.11 0.27 0.00 -vt 0.12 0.28 0.00 -vt 0.14 0.24 0.00 -vt 0.14 0.23 0.00 -vt 0.14 0.21 0.00 -vt 0.15 0.24 0.00 -vt 0.22 0.15 0.00 -vt 0.22 0.18 0.00 -vt 0.26 0.19 0.00 -vt 0.23 0.21 0.00 -vt 0.20 0.22 0.00 -vt 0.01 0.19 0.00 -vt 0.03 0.18 0.00 -vt 0.25 0.30 0.00 -vt 0.24 0.34 0.00 -vt 0.38 0.21 0.00 -vt 0.75 0.35 0.00 -vt 0.74 0.35 0.00 -vt 0.73 0.37 0.00 -vt 0.74 0.37 0.00 -vt 0.80 0.12 0.00 -vt 0.80 0.13 0.00 -vt 0.80 0.14 0.00 -vt 0.79 0.12 0.00 -vt 0.79 0.10 0.00 -vt 0.80 0.11 0.00 -vt 0.81 0.11 0.00 -vt 0.80 0.09 0.00 -vt 0.82 0.10 0.00 -vt 0.83 0.10 0.00 -vt 0.84 0.11 0.00 -vt 0.85 0.10 0.00 -vt 0.86 0.12 0.00 -vt 0.84 0.12 0.00 -vt 0.86 0.13 0.00 -vt 0.86 0.14 0.00 -vt 0.85 0.15 0.00 -vt 0.84 0.14 0.00 -vt 0.84 0.13 0.00 -vt 0.83 0.15 0.00 -vt 0.81 0.14 0.00 -vt 0.81 0.15 0.00 -vt 0.82 0.13 0.00 -vt 0.13 0.56 0.00 -vt 0.52 0.66 0.00 -vt 0.81 0.63 0.00 -vt 0.83 0.64 0.00 -vt 0.88 0.63 0.00 -vt 0.94 0.63 0.00 -vt 0.95 0.63 0.00 -vt 0.75 0.62 0.00 -vt 0.94 0.64 0.00 -vt 0.95 0.65 0.00 -vt 0.08 0.75 0.00 -vt 0.58 0.13 0.00 -vt 0.46 0.85 0.00 -vt 0.44 0.89 0.00 -vt 0.40 0.88 0.00 -vt 0.41 0.83 0.00 -vt 0.37 0.90 0.00 -vt 0.36 0.86 0.00 -vt 0.32 0.92 0.00 -vt 0.29 0.92 0.00 -vt 0.32 0.87 0.00 -vt 0.44 0.95 0.00 -vt 0.39 0.95 0.00 -vt 0.37 0.99 0.00 -vt 0.32 0.97 0.00 -vt 0.28 0.98 0.00 -vt 0.28 0.91 0.00 -vt 0.31 0.86 0.00 -vt 0.26 0.94 0.00 -vt 0.48 0.89 0.00 -vt 0.46 0.82 0.00 -# 615 texture coords - -g CatBombay -f 1/1/1 2/2/2 3/3/3 -f 3/3/3 4/4/4 1/1/1 -f 5/5/5 6/6/6 7/7/7 -f 7/7/7 8/8/8 5/5/5 -f 9/9/9 10/10/10 11/11/11 -f 11/11/11 12/12/12 9/9/9 -f 13/13/13 4/4/4 3/3/3 -f 3/3/3 14/14/14 13/13/13 -f 15/15/15 13/13/13 14/14/14 -f 14/14/14 16/16/16 15/15/15 -f 17/17/17 18/18/18 19/19/19 -f 19/19/19 20/20/20 17/17/17 -f 2/2/2 21/21/21 22/22/22 -f 22/22/22 3/3/3 2/2/2 -f 23/23/23 24/24/24 15/15/15 -f 15/15/15 16/16/16 23/23/23 -f 25/25/25 24/24/24 23/23/23 -f 23/23/23 26/26/26 25/25/25 -f 27/27/27 28/28/28 19/19/19 -f 19/19/19 18/18/18 27/27/27 -f 29/29/29 22/22/22 30/30/30 -f 30/30/30 31/31/31 29/29/29 -f 32/32/32 33/33/33 34/34/34 -f 34/34/34 35/35/35 32/32/32 -f 35/35/35 36/36/36 37/37/37 -f 37/37/37 32/32/32 35/35/35 -f 36/36/36 38/38/38 39/39/39 -f 39/39/39 37/37/37 36/36/36 -f 40/40/40 41/41/41 39/39/39 -f 39/39/39 38/38/38 40/40/40 -f 42/42/42 43/43/43 41/41/41 -f 41/41/41 40/40/40 42/42/42 -f 42/42/42 44/44/44 43/43/43 -f 45/45/45 46/46/46 47/47/47 -f 47/47/47 48/48/48 45/45/45 -f 33/33/33 46/46/46 49/49/49 -f 49/49/49 34/34/34 33/33/33 -f 50/50/50 51/51/51 52/52/52 -f 52/52/52 53/53/53 50/50/50 -f 54/54/54 55/55/55 56/56/56 -f 56/56/56 53/57/53 54/54/54 -f 53/57/53 52/58/52 54/54/54 -f 56/56/56 55/55/55 57/59/57 -f 57/59/57 58/60/58 56/56/56 -f 59/61/59 60/62/60 61/63/61 -f 61/63/61 62/64/62 59/61/59 -f 63/65/63 64/66/64 59/61/59 -f 59/61/59 62/64/62 63/65/63 -f 65/67/65 64/66/64 63/65/63 -f 63/65/63 66/68/66 65/67/65 -f 67/69/67 68/70/68 69/71/69 -f 69/71/69 70/72/70 67/69/67 -f 71/73/71 51/51/51 50/50/50 -f 50/50/50 72/74/72 71/73/71 -f 73/75/73 74/76/74 57/77/57 -f 57/77/57 55/78/55 73/75/73 -f 75/79/75 58/80/58 57/77/57 -f 57/77/57 74/76/74 75/79/75 -f 76/81/76 77/82/77 66/68/66 -f 66/68/66 63/65/63 76/81/76 -f 63/65/63 62/64/62 76/81/76 -f 70/72/70 69/71/69 74/76/74 -f 74/76/74 73/75/73 70/72/70 -f 78/83/78 79/84/79 26/26/26 -f 26/26/26 23/23/23 78/83/78 -f 80/85/80 81/86/81 79/84/79 -f 79/84/79 78/83/78 80/85/80 -f 82/87/82 83/88/83 12/12/12 -f 12/12/12 11/11/11 82/87/82 -f 22/22/22 29/29/29 14/14/14 -f 14/14/14 3/3/3 22/22/22 -f 84/89/84 85/90/85 13/13/13 -f 13/13/13 15/15/15 84/89/84 -f 85/90/85 86/91/86 4/4/4 -f 4/4/4 13/13/13 85/90/85 -f 86/91/86 87/92/87 1/1/1 -f 1/1/1 4/4/4 86/91/86 -f 88/93/88 89/94/89 10/10/10 -f 10/10/10 9/9/9 88/93/88 -f 82/87/82 28/28/28 90/95/90 -f 90/95/90 83/88/83 82/87/82 -f 91/96/91 6/6/6 5/5/5 -f 5/5/5 92/97/92 91/96/91 -f 93/98/93 94/99/94 95/100/95 -f 95/100/95 96/101/96 93/98/93 -f 97/102/97 94/99/94 98/103/98 -f 98/103/98 99/104/99 97/102/97 -f 98/103/98 94/99/94 93/98/93 -f 93/98/93 100/105/100 98/103/98 -f 101/106/101 102/107/102 103/108/103 -f 103/108/103 104/109/104 101/106/101 -f 103/108/103 102/107/102 105/110/105 -f 105/110/105 106/111/106 103/108/103 -f 93/98/93 96/101/96 105/110/105 -f 105/110/105 102/107/102 93/98/93 -f 94/99/94 97/102/97 107/112/107 -f 107/112/107 95/100/95 94/99/94 -f 107/112/107 97/102/97 108/113/108 -f 108/113/108 109/114/109 107/112/107 -f 99/104/99 110/115/110 108/113/108 -f 108/113/108 97/102/97 99/104/99 -f 101/106/101 100/105/100 93/98/93 -f 93/98/93 102/107/102 101/106/101 -f 104/109/104 103/108/103 111/116/111 -f 111/116/111 88/117/88 104/109/104 -f 103/108/103 106/111/106 91/118/91 -f 91/118/91 111/116/111 103/108/103 -f 112/119/112 113/120/113 114/121/114 -f 114/121/114 115/122/115 112/119/112 -f 116/123/116 117/124/117 31/31/31 -f 31/31/31 30/30/30 116/123/116 -f 118/125/118 116/123/116 30/30/30 -f 30/30/30 119/126/119 118/125/118 -f 120/127/120 31/31/31 117/124/117 -f 117/124/117 121/128/121 120/127/120 -f 91/96/91 92/97/92 111/129/111 -f 89/94/89 88/93/88 111/129/111 -f 89/94/89 111/129/111 92/97/92 -f 92/97/92 5/5/5 89/94/89 -f 21/21/21 119/126/119 30/30/30 -f 30/30/30 22/22/22 21/21/21 -f 116/123/116 118/125/118 122/130/122 -f 122/130/122 123/131/123 116/123/116 -f 115/122/115 124/132/124 125/133/125 -f 125/133/125 112/119/112 115/122/115 -f 126/134/126 127/135/127 128/136/128 -f 128/136/128 129/137/129 126/134/126 -f 120/127/120 121/128/121 129/137/129 -f 129/137/129 128/136/128 120/127/120 -f 116/123/116 123/131/123 130/138/130 -f 130/138/130 117/124/117 116/123/116 -f 117/124/117 130/138/130 131/139/131 -f 131/139/131 132/140/132 121/128/121 -f 121/128/121 117/124/117 131/139/131 -f 132/140/132 129/137/129 121/128/121 -f 132/140/132 133/141/133 126/134/126 -f 126/134/126 129/137/129 132/140/132 -f 134/142/125 125/133/125 124/132/124 -f 124/132/124 135/143/134 134/142/125 -f 136/144/135 137/145/136 138/146/137 -f 138/146/137 139/147/138 136/144/135 -f 140/148/139 137/145/136 136/144/135 -f 136/144/135 141/149/140 140/148/139 -f 142/150/141 143/151/142 144/152/143 -f 145/153/144 146/154/145 142/150/141 -f 142/150/141 144/152/143 145/153/144 -f 144/152/143 147/155/146 145/153/144 -f 148/156/147 149/157/148 150/158/149 -f 150/158/149 151/159/150 148/156/147 -f 152/160/151 153/161/152 154/162/153 -f 155/163/154 156/164/155 157/165/156 -f 157/165/156 158/166/157 155/163/154 -f 146/154/145 145/153/144 159/167/158 -f 159/167/158 160/168/159 146/154/145 -f 161/169/160 159/167/158 145/153/144 -f 145/153/144 162/170/161 161/169/160 -f 163/171/162 164/172/163 149/157/148 -f 149/157/148 148/156/147 163/171/162 -f 165/173/164 163/171/162 166/174/165 -f 166/174/165 167/175/166 165/173/164 -f 155/163/154 168/176/167 169/177/168 -f 169/177/168 156/164/155 155/163/154 -f 170/178/169 171/179/170 172/180/171 -f 172/181/172 171/182/173 173/183/174 -f 173/183/174 174/184/175 172/181/172 -f 173/183/174 175/185/176 174/184/175 -f 176/186/177 177/187/178 178/188/179 -f 179/189/180 180/190/181 181/191/182 -f 181/191/182 178/188/179 179/189/180 -f 178/188/179 177/187/178 179/189/180 -f 181/191/182 180/190/181 170/178/169 -f 170/178/169 172/180/171 181/191/182 -f 170/178/169 155/163/154 158/166/157 -f 158/166/157 182/192/183 171/179/170 -f 171/179/170 170/178/169 158/166/157 -f 173/183/174 171/182/173 160/168/159 -f 160/168/159 159/167/158 173/183/174 -f 159/167/158 183/193/184 175/185/176 -f 175/185/176 173/183/174 159/167/158 -f 165/173/164 167/175/166 177/187/178 -f 177/187/178 176/186/177 165/173/164 -f 176/186/177 184/194/185 165/173/164 -f 167/175/166 179/189/180 177/187/178 -f 170/178/169 180/190/181 168/176/167 -f 168/176/167 155/163/154 170/178/169 -f 143/151/142 142/150/141 146/154/145 -f 146/154/145 185/195/186 143/151/142 -f 160/168/159 182/196/187 185/195/186 -f 185/195/186 146/154/145 160/168/159 -f 160/168/159 171/182/173 182/196/187 -f 114/121/114 81/86/81 80/85/80 -f 80/85/80 186/197/188 114/121/114 -f 18/18/18 17/17/17 84/89/84 -f 84/89/84 187/198/189 18/18/18 -f 27/27/27 18/18/18 187/198/189 -f 187/198/189 188/199/190 27/27/27 -f 189/200/191 25/25/25 26/26/26 -f 26/26/26 190/201/192 189/200/191 -f 28/28/28 27/27/27 191/202/193 -f 191/202/193 90/95/90 28/28/28 -f 190/201/192 26/26/26 79/84/79 -f 79/84/79 192/203/194 190/201/192 -f 192/203/194 79/84/79 81/86/81 -f 81/86/81 193/204/195 192/203/194 -f 19/19/19 28/28/28 82/87/82 -f 82/87/82 194/205/196 19/19/19 -f 115/122/115 114/121/114 186/197/188 -f 186/197/188 127/135/127 115/122/115 -f 124/132/124 115/122/115 127/135/127 -f 127/135/127 126/134/126 124/132/124 -f 113/120/113 193/204/195 81/86/81 -f 81/86/81 114/121/114 113/120/113 -f 195/206/197 188/199/190 25/25/25 -f 25/25/25 189/200/191 195/206/197 -f 133/141/133 135/143/134 124/132/124 -f 124/132/124 126/134/126 133/141/133 -f 17/17/17 20/20/20 196/207/198 -f 196/207/198 8/8/8 197/208/199 -f 7/7/7 198/209/1 197/208/199 -f 197/208/199 8/8/8 7/7/7 -f 199/210/200 200/211/201 201/211/202 -f 201/211/202 202/212/203 199/210/200 -f 202/212/203 203/213/204 204/213/205 -f 204/213/205 199/210/200 202/212/203 -f 205/214/206 206/215/207 207/216/208 -f 207/216/208 208/217/209 205/214/206 -f 138/146/137 209/218/210 210/219/211 -f 210/219/211 139/147/138 138/146/137 -f 200/211/201 211/220/212 212/221/213 -f 212/221/213 201/211/202 200/211/201 -f 203/213/204 140/148/139 141/149/140 -f 141/149/140 204/213/205 203/213/204 -f 69/71/69 68/70/68 213/222/214 -f 213/222/214 77/82/77 69/71/69 -f 72/74/72 214/223/215 215/224/216 -f 215/224/216 71/73/71 72/74/72 -f 216/225/217 54/226/54 52/52/52 -f 52/52/52 51/51/51 216/225/217 -f 61/63/61 217/227/218 76/81/76 -f 76/81/76 62/64/62 61/63/61 -f 77/82/77 75/79/75 74/76/74 -f 74/76/74 69/71/69 77/82/77 -f 216/225/217 51/51/51 71/73/71 -f 71/73/71 215/224/216 216/225/217 -f 34/34/34 50/50/50 53/53/53 -f 53/53/53 35/35/35 34/34/34 -f 56/56/56 38/228/38 36/229/36 -f 36/229/36 35/230/35 56/56/56 -f 35/230/35 53/57/53 56/56/56 -f 56/56/56 60/231/60 38/228/38 -f 60/62/60 59/61/59 40/40/40 -f 40/40/40 38/38/38 60/62/60 -f 40/40/40 59/61/59 64/66/64 -f 64/66/64 42/42/42 40/40/40 -f 64/66/64 65/67/65 44/44/44 -f 44/44/44 42/42/42 64/66/64 -f 67/69/67 214/223/215 45/45/45 -f 45/45/45 48/48/48 67/69/67 -f 48/48/48 68/70/68 67/69/67 -f 34/34/34 49/49/49 72/74/72 -f 72/74/72 50/50/50 34/34/34 -f 44/44/44 65/67/65 213/222/214 -f 213/222/214 48/48/48 44/44/44 -f 213/222/214 68/70/68 48/48/48 -f 45/45/45 214/223/215 72/74/72 -f 72/74/72 49/49/49 45/45/45 -f 213/222/214 65/67/65 66/68/66 -f 66/68/66 77/82/77 213/222/214 -f 215/224/216 214/223/215 67/69/67 -f 67/69/67 70/72/70 215/224/216 -f 216/225/217 73/75/73 55/78/55 -f 55/78/55 54/226/54 216/225/217 -f 217/227/218 58/80/58 75/79/75 -f 75/79/75 76/81/76 217/227/218 -f 76/81/76 75/79/75 77/82/77 -f 215/224/216 70/72/70 73/75/73 -f 73/75/73 216/225/217 215/224/216 -f 217/232/218 60/231/60 56/56/56 -f 56/56/56 58/60/58 217/232/218 -f 217/232/218 61/233/61 60/231/60 -f 45/45/45 49/49/49 46/46/46 -f 47/47/47 43/43/43 44/44/44 -f 44/44/44 48/48/48 47/47/47 -f 147/155/146 218/234/219 219/235/220 -f 219/235/220 162/170/161 145/153/144 -f 145/153/144 147/155/146 219/235/220 -f 185/236/221 157/165/156 220/237/222 -f 220/237/222 143/238/223 185/236/221 -f 182/192/183 158/166/157 157/165/156 -f 157/165/156 185/236/221 182/192/183 -f 153/239/152 221/240/224 222/241/225 -f 222/241/225 154/239/153 153/239/152 -f 223/32/226 224/33/93 225/242/227 -f 225/242/227 226/243/228 223/32/226 -f 226/243/228 227/36/229 228/37/230 -f 228/37/230 223/32/226 226/243/228 -f 228/37/230 227/36/229 229/38/231 -f 229/38/231 230/39/232 228/37/230 -f 231/40/233 232/41/234 230/39/232 -f 230/39/232 229/38/231 231/40/233 -f 232/41/234 231/40/233 233/244/235 -f 233/244/235 234/244/236 232/41/234 -f 235/245/237 236/47/238 234/244/236 -f 234/244/236 233/244/235 235/245/237 -f 237/47/239 238/246/240 236/47/238 -f 224/33/93 239/46/241 240/49/242 -f 240/49/242 225/242/227 224/33/93 -f 241/50/243 242/51/244 243/52/245 -f 243/52/245 244/53/246 241/50/243 -f 245/54/247 246/55/248 247/56/56 -f 247/56/56 244/57/246 245/54/247 -f 244/57/246 243/58/245 245/54/247 -f 247/56/56 246/55/248 248/59/57 -f 248/59/57 249/60/249 247/56/56 -f 250/64/250 251/61/251 252/62/252 -f 252/62/252 253/63/253 250/64/250 -f 254/65/254 255/66/255 251/61/251 -f 251/61/251 250/64/250 254/65/254 -f 254/65/254 256/68/256 257/67/257 -f 257/67/257 255/66/255 254/65/254 -f 258/70/258 259/71/259 260/72/260 -f 260/72/260 261/69/261 258/70/258 -f 262/73/262 242/51/244 241/50/243 -f 241/50/243 263/74/263 262/73/262 -f 264/75/264 265/76/265 248/77/57 -f 248/77/57 246/78/248 264/75/264 -f 266/79/266 249/80/249 248/77/57 -f 248/77/57 265/76/265 266/79/266 -f 267/81/267 268/82/268 256/68/256 -f 256/68/256 254/65/254 267/81/267 -f 254/65/254 250/64/250 267/81/267 -f 260/72/260 259/71/259 265/76/265 -f 265/76/265 264/75/264 260/72/260 -f 258/70/258 269/222/269 268/82/268 -f 268/82/268 259/71/259 258/70/258 -f 270/223/270 271/247/271 262/73/262 -f 262/73/262 263/74/263 270/223/270 -f 272/225/272 245/226/247 243/52/245 -f 243/52/245 242/51/244 272/225/272 -f 253/63/253 273/227/273 267/81/267 -f 267/81/267 250/64/250 253/63/253 -f 268/82/268 266/79/266 265/76/265 -f 265/76/265 259/71/259 268/82/268 -f 262/73/262 271/247/271 272/225/272 -f 272/225/272 242/51/244 262/73/262 -f 226/243/228 225/242/227 241/50/243 -f 241/50/243 244/53/246 226/243/228 -f 247/56/56 229/228/231 227/248/229 -f 227/248/229 226/249/228 247/56/56 -f 226/249/228 244/57/246 247/56/56 -f 247/56/56 252/250/252 229/228/231 -f 229/38/231 252/62/252 251/61/251 -f 251/61/251 231/40/233 229/38/231 -f 231/40/233 251/61/251 255/66/255 -f 255/66/255 233/244/235 231/40/233 -f 255/66/255 257/67/257 235/245/237 -f 235/245/237 233/244/235 255/66/255 -f 261/69/261 270/223/270 238/246/240 -f 238/246/240 237/47/239 261/69/261 -f 237/47/239 269/222/269 258/70/258 -f 258/70/258 261/69/261 237/47/239 -f 225/242/227 240/49/242 263/74/263 -f 263/74/263 241/50/243 225/242/227 -f 235/245/237 257/67/257 269/222/269 -f 269/222/269 237/47/239 235/245/237 -f 238/246/240 270/223/270 263/74/263 -f 263/74/263 240/49/242 238/246/240 -f 269/222/269 257/67/257 256/68/256 -f 256/68/256 268/82/268 269/222/269 -f 270/223/270 261/69/261 260/72/260 -f 260/72/260 271/247/271 270/223/270 -f 272/225/272 264/75/264 246/78/248 -f 246/78/248 245/226/247 272/225/272 -f 273/227/273 249/80/249 266/79/266 -f 266/79/266 267/81/267 273/227/273 -f 267/81/267 266/79/266 268/82/268 -f 271/247/271 260/72/260 264/75/264 -f 264/75/264 272/225/272 271/247/271 -f 273/232/273 252/250/252 247/56/56 -f 247/56/56 249/60/249 273/232/273 -f 273/232/273 253/233/253 252/250/252 -f 239/46/241 236/47/238 238/246/240 -f 238/246/240 240/49/242 239/46/241 -f 235/245/237 237/47/239 236/47/238 -f 159/167/158 161/169/160 183/193/184 -f 184/194/185 274/251/274 165/173/164 -f 274/251/274 164/172/163 163/171/162 -f 163/171/162 165/173/164 274/251/274 -f 178/252/179 181/181/182 172/181/171 -f 172/181/171 174/184/275 178/252/179 -f 149/253/148 219/235/276 218/234/277 -f 218/234/277 150/254/149 149/253/148 -f 164/255/163 162/170/278 219/235/276 -f 219/235/276 149/253/148 164/255/163 -f 178/252/179 174/184/275 175/185/279 -f 175/185/279 176/256/177 178/252/179 -f 184/193/185 183/193/280 161/169/281 -f 161/169/281 274/169/274 184/193/185 -f 176/256/177 175/185/279 183/193/280 -f 183/193/280 184/193/185 176/256/177 -f 274/169/274 161/169/281 162/170/278 -f 162/170/278 164/255/163 274/169/274 -f 275/257/282 276/258/283 277/259/284 -f 277/259/284 278/260/285 279/261/286 -f 279/261/286 280/262/287 277/259/284 -f 276/258/283 278/260/285 277/259/284 -f 277/259/284 281/263/288 282/263/289 -f 282/263/289 283/257/290 277/259/284 -f 283/257/290 275/257/282 277/259/284 -f 151/159/150 284/264/291 148/156/147 -f 163/171/162 148/156/147 284/264/291 -f 284/264/291 166/174/165 163/171/162 -f 169/177/168 166/174/165 284/264/291 -f 284/264/291 285/265/292 169/177/168 -f 167/175/166 166/174/165 169/177/168 -f 169/177/168 168/176/167 167/175/166 -f 168/176/167 180/190/181 179/189/180 -f 179/189/180 167/175/166 168/176/167 -f 286/266/293 287/267/294 288/268/295 -f 288/268/295 289/269/296 286/266/293 -f 287/267/294 290/270/297 196/271/198 -f 196/271/198 20/272/20 287/267/294 -f 291/273/298 286/266/293 292/274/299 -f 292/274/299 293/275/300 291/273/298 -f 294/276/301 295/277/302 293/275/300 -f 293/275/300 292/274/299 294/276/301 -f 296/278/303 297/279/304 298/280/305 -f 298/280/305 299/281/306 296/278/303 -f 292/274/299 300/282/307 301/283/308 -f 301/283/308 294/276/301 292/274/299 -f 293/275/300 302/284/309 303/285/310 -f 303/285/310 291/273/298 293/275/300 -f 303/285/310 302/284/309 5/286/5 -f 5/286/5 8/287/8 303/285/310 -f 286/266/293 289/269/296 300/282/307 -f 300/282/307 292/274/299 286/266/293 -f 304/288/311 305/289/312 306/290/313 -f 306/290/313 299/281/306 304/288/311 -f 307/291/314 308/292/315 299/281/306 -f 299/281/306 306/290/313 307/291/314 -f 309/293/316 306/290/313 305/289/312 -f 305/289/312 310/294/317 309/293/316 -f 309/293/316 311/295/318 307/291/314 -f 307/291/314 306/290/313 309/293/316 -f 196/271/198 290/270/297 303/285/310 -f 303/285/310 8/287/8 196/271/198 -f 304/288/311 299/281/306 298/280/305 -f 298/280/305 312/296/319 304/288/311 -f 313/297/320 314/298/321 315/299/322 -f 315/299/322 316/300/323 313/297/320 -f 307/291/314 315/299/322 314/298/321 -f 314/298/321 308/292/315 307/291/314 -f 317/301/324 318/302/325 319/303/326 -f 319/303/326 316/304/323 317/301/324 -f 316/300/323 315/299/322 320/305/327 -f 320/305/327 317/306/324 316/300/323 -f 320/305/327 315/299/322 307/291/314 -f 307/291/314 311/295/318 320/305/327 -f 319/303/326 321/307/328 313/308/320 -f 313/308/320 316/304/323 319/303/326 -f 321/307/328 322/309/329 323/310/330 -f 323/310/330 313/308/320 321/307/328 -f 293/275/300 295/277/302 302/284/309 -f 324/311/331 325/312/332 314/298/321 -f 314/298/321 313/297/320 324/311/331 -f 313/308/320 323/310/330 324/313/331 -f 19/314/19 323/310/330 322/309/329 -f 322/309/329 288/268/295 19/314/19 -f 288/268/295 322/309/329 312/296/319 -f 312/296/319 289/269/296 288/268/295 -f 312/296/319 298/280/305 300/282/307 -f 300/282/307 289/269/296 312/296/319 -f 298/280/305 297/279/304 301/283/308 -f 301/283/308 300/282/307 298/280/305 -f 89/315/89 295/277/302 294/276/301 -f 294/276/301 10/316/10 89/315/89 -f 5/286/5 302/284/309 295/277/302 -f 295/277/302 89/315/89 5/286/5 -f 299/281/306 308/292/315 296/278/303 -f 296/278/303 308/292/315 314/298/321 -f 314/298/321 325/312/332 297/279/304 -f 297/279/304 296/278/303 314/298/321 -f 325/312/332 11/317/11 301/283/308 -f 301/283/308 297/279/304 325/312/332 -f 301/283/308 11/317/11 10/316/10 -f 10/316/10 294/276/301 301/283/308 -f 239/318/241 224/319/93 310/294/317 -f 224/319/93 223/320/226 309/293/316 -f 309/293/316 310/294/317 224/319/93 -f 311/295/318 309/293/316 223/320/226 -f 223/320/226 228/321/230 311/295/318 -f 317/301/324 232/322/234 234/323/236 -f 234/323/236 318/302/325 317/301/324 -f 234/323/236 236/324/238 318/302/325 -f 320/305/327 232/325/234 317/306/324 -f 230/326/232 320/305/327 311/295/318 -f 311/295/318 228/321/230 230/326/232 -f 288/268/295 287/267/294 20/272/20 -f 20/272/20 19/314/19 288/268/295 -f 326/327/333 327/328/334 328/329/335 -f 328/329/335 329/330/336 326/327/333 -f 327/328/334 330/331/337 331/332/338 -f 331/332/338 328/329/335 327/328/334 -f 332/333/339 331/332/338 330/331/337 -f 333/334/340 334/335/341 335/336/342 -f 336/337/343 335/336/342 334/335/341 -f 334/335/341 337/338/344 336/337/343 -f 328/329/335 338/339/345 339/340/346 -f 339/340/346 329/330/336 328/329/335 -f 331/332/338 23/341/23 338/339/345 -f 338/339/345 328/329/335 331/332/338 -f 78/342/78 23/341/23 331/332/338 -f 331/332/338 332/333/339 78/342/78 -f 340/343/347 78/344/78 332/345/339 -f 332/345/339 333/334/340 340/343/347 -f 341/346/348 340/343/347 333/334/340 -f 333/334/340 335/336/342 341/346/348 -f 342/347/349 341/346/348 335/336/342 -f 335/336/342 336/337/343 342/347/349 -f 343/348/350 344/349/351 342/347/349 -f 342/347/349 336/337/343 343/348/350 -f 345/350/352 346/351/353 16/352/16 -f 16/352/16 14/353/14 345/350/352 -f 347/354/354 31/355/31 120/356/120 -f 347/354/354 348/357/355 29/358/29 -f 29/358/29 31/355/31 347/354/354 -f 349/359/356 343/348/350 336/337/343 -f 336/337/343 337/338/344 349/359/356 -f 326/327/333 350/360/357 351/360/358 -f 351/360/358 352/361/359 327/328/334 -f 327/328/334 326/327/333 351/360/358 -f 37/362/37 39/363/39 353/364/360 -f 353/364/360 354/365/361 37/362/37 -f 353/364/360 39/363/39 41/366/41 -f 41/366/41 355/367/362 353/364/360 -f 355/368/362 41/369/41 43/370/43 -f 43/370/43 356/371/363 355/368/362 -f 349/359/356 350/360/357 326/327/333 -f 326/327/333 343/348/350 349/359/356 -f 326/327/333 329/330/336 343/348/350 -f 346/351/353 357/372/364 344/349/351 -f 344/349/351 339/340/346 346/351/353 -f 14/353/14 29/358/29 348/357/355 -f 348/357/355 345/350/352 14/353/14 -f 128/373/128 358/374/365 120/356/120 -f 358/374/365 128/373/128 127/375/127 -f 127/375/127 186/376/188 358/374/365 -f 120/356/120 358/374/365 359/377/366 -f 359/377/366 347/354/354 120/356/120 -f 357/372/364 348/357/355 347/354/354 -f 347/354/354 359/377/366 357/372/364 -f 357/372/364 346/351/353 345/350/352 -f 345/350/352 348/357/355 357/372/364 -f 339/340/346 338/339/345 16/352/16 -f 16/352/16 346/351/353 339/340/346 -f 23/341/23 16/352/16 338/339/345 -f 340/343/347 80/378/80 78/344/78 -f 186/376/188 340/343/347 341/346/348 -f 341/346/348 358/374/365 186/376/188 -f 358/374/365 341/346/348 342/347/349 -f 342/347/349 359/377/366 358/374/365 -f 359/377/366 342/347/349 344/349/351 -f 344/349/351 357/372/364 359/377/366 -f 329/330/336 339/340/346 344/349/351 -f 344/349/351 343/348/350 329/330/336 -f 340/343/347 186/376/188 80/378/80 -f 360/379/367 361/380/368 362/381/369 -f 362/381/369 363/382/370 360/379/367 -f 364/383/371 365/384/372 361/380/368 -f 361/380/368 360/379/367 364/383/371 -f 366/385/373 365/384/372 364/383/371 -f 364/383/371 367/386/374 366/385/373 -f 368/387/375 369/388/376 370/389/377 -f 370/389/377 371/390/378 368/387/375 -f 367/386/374 372/391/379 370/389/377 -f 370/389/377 369/388/376 367/386/374 -f 369/388/376 366/385/373 367/386/374 -f 352/361/359 373/392/380 330/331/337 -f 330/331/337 327/328/334 352/361/359 -f 332/333/339 330/331/337 373/392/380 -f 332/345/339 374/393/381 362/381/369 -f 362/381/369 333/334/340 332/345/339 -f 354/365/361 353/364/360 375/394/382 -f 375/394/382 376/395/383 354/365/361 -f 375/394/382 353/364/360 355/367/362 -f 355/367/362 377/396/384 375/394/382 -f 377/397/384 355/368/362 356/371/363 -f 356/371/363 378/398/385 377/397/384 -f 47/399/47 379/400/386 356/371/363 -f 356/371/363 43/370/43 47/399/47 -f 380/401/387 379/400/386 47/399/47 -f 47/399/47 46/402/46 380/401/387 -f 381/403/388 380/401/387 46/402/46 -f 46/402/46 33/404/33 381/403/388 -f 354/365/361 382/405/389 32/406/32 -f 32/406/32 37/362/37 354/365/361 -f 382/405/389 381/403/388 33/404/33 -f 33/404/33 32/406/32 382/405/389 -f 383/407/390 384/408/391 385/409/392 -f 385/409/392 386/410/393 383/407/390 -f 386/410/393 133/411/133 387/412/394 -f 387/412/394 383/407/390 386/410/393 -f 387/412/394 388/413/395 383/407/390 -f 388/413/395 387/412/394 389/414/396 -f 390/415/397 391/416/398 388/413/395 -f 388/413/395 389/414/396 390/415/397 -f 123/417/123 122/418/122 392/419/399 -f 392/419/399 393/420/400 123/417/123 -f 134/421/125 135/422/134 386/410/393 -f 386/410/393 385/409/392 134/421/125 -f 131/423/131 130/424/130 394/425/401 -f 394/425/401 395/426/402 131/423/131 -f 133/411/133 132/427/132 389/414/396 -f 389/414/396 387/412/394 133/411/133 -f 394/425/401 130/424/130 123/417/123 -f 123/417/123 393/420/400 394/425/401 -f 132/427/132 131/423/131 395/426/402 -f 395/426/402 389/414/396 132/427/132 -f 396/428/403 394/425/401 393/420/400 -f 393/420/400 397/429/404 396/428/403 -f 392/419/399 398/430/405 397/429/404 -f 397/429/404 393/420/400 392/419/399 -f 399/431/406 400/432/407 401/433/408 -f 401/433/408 402/434/409 399/431/406 -f 403/435/410 404/436/411 405/437/412 -f 405/437/412 406/438/413 403/435/410 -f 405/437/412 407/437/414 406/438/413 -f 408/439/415 409/440/416 410/441/175 -f 410/441/175 411/442/417 408/439/415 -f 411/442/417 410/441/175 412/443/418 -f 412/443/418 413/444/419 411/442/417 -f 403/435/410 406/438/413 414/445/420 -f 414/445/420 402/434/409 403/435/410 -f 415/446/421 416/447/422 417/448/423 -f 417/448/423 276/449/424 415/446/421 -f 221/240/224 153/239/152 418/450/425 -f 418/450/425 419/451/426 221/240/224 -f 391/416/398 420/452/427 388/413/395 -f 421/453/428 422/454/429 423/455/430 -f 423/455/430 424/456/293 421/453/428 -f 425/457/431 426/458/432 427/459/433 -f 427/459/433 428/460/434 425/457/431 -f 429/461/435 430/462/436 282/461/437 -f 282/461/437 281/463/438 429/461/435 -f 416/447/422 431/464/439 432/465/440 -f 432/465/440 417/448/423 416/447/422 -f 433/466/441 428/460/434 427/459/433 -f 427/459/433 434/467/442 433/466/441 -f 435/468/443 221/240/224 419/451/426 -f 419/451/426 436/469/444 435/468/443 -f 437/470/445 438/471/446 439/472/447 -f 439/472/447 440/473/448 437/470/445 -f 411/442/417 413/444/419 276/449/424 -f 276/449/424 417/448/423 411/442/417 -f 432/465/440 408/439/415 411/442/417 -f 411/442/417 417/448/423 432/465/440 -f 413/444/419 412/443/418 279/474/449 -f 279/474/449 278/475/450 413/444/419 -f 285/476/292 441/477/451 442/478/452 -f 442/478/452 443/479/453 285/476/292 -f 444/480/454 445/481/455 446/482/456 -f 446/482/456 447/483/457 444/480/454 -f 448/484/458 449/485/459 450/486/460 -f 450/486/460 420/452/427 448/484/458 -f 388/413/395 420/452/427 451/487/461 -f 451/487/461 383/407/390 388/413/395 -f 447/483/457 446/482/456 415/446/421 -f 415/446/421 276/449/424 447/483/457 -f 450/486/460 452/488/462 451/487/461 -f 451/487/461 420/452/427 450/486/460 -f 453/489/463 403/435/410 402/434/409 -f 402/434/409 401/433/408 453/489/463 -f 440/473/448 439/472/447 454/490/464 -f 454/490/464 455/491/465 440/473/448 -f 455/491/465 456/492/466 440/473/448 -f 457/493/467 455/491/465 454/490/464 -f 454/490/464 458/494/468 457/493/467 -f 459/495/469 460/496/470 456/492/466 -f 456/492/466 455/491/465 459/495/469 -f 454/490/464 461/497/471 462/498/472 -f 462/498/472 458/494/468 454/490/464 -f 463/499/473 464/500/474 465/501/475 -f 465/501/475 466/502/476 463/499/473 -f 467/503/477 468/504/478 469/505/479 -f 469/505/479 444/480/454 467/503/477 -f 445/481/455 444/480/454 469/505/479 -f 469/505/479 470/506/480 445/481/455 -f 445/481/455 470/506/480 471/507/481 -f 471/507/481 452/488/462 445/481/455 -f 383/407/390 451/487/461 472/508/482 -f 472/508/482 384/408/391 383/407/390 -f 473/509/483 449/485/459 448/484/458 -f 448/484/458 422/454/429 473/509/483 -f 443/479/453 418/510/425 153/511/152 -f 153/511/152 152/512/151 443/479/453 -f 221/240/224 435/468/443 457/493/467 -f 457/493/467 474/513/484 221/240/224 -f 144/514/485 463/499/473 466/502/476 -f 466/502/476 147/515/486 144/514/485 -f 435/468/443 459/495/469 455/491/465 -f 455/491/465 457/493/467 435/468/443 -f 436/469/444 475/516/487 459/495/469 -f 459/495/469 435/468/443 436/469/444 -f 476/517/488 399/431/406 402/434/409 -f 402/434/409 414/445/420 476/517/488 -f 477/518/489 461/497/471 478/519/490 -f 478/519/490 479/519/491 477/518/489 -f 459/495/469 475/516/487 480/520/435 -f 480/520/435 460/496/470 459/495/469 -f 481/521/492 482/522/493 406/438/413 -f 406/438/413 483/523/494 481/521/492 -f 482/522/493 140/524/495 476/517/488 -f 476/517/488 414/445/420 482/522/493 -f 440/473/448 456/492/466 484/525/496 -f 484/525/496 437/470/445 440/473/448 -f 460/496/470 428/460/434 433/466/441 -f 433/466/441 456/492/466 460/496/470 -f 433/466/441 484/525/496 456/492/466 -f 206/519/497 479/519/491 478/519/490 -f 478/519/490 485/519/498 206/519/497 -f 437/470/445 484/525/496 201/526/499 -f 201/526/499 212/527/500 437/470/445 -f 486/528/501 138/529/502 137/530/503 -f 137/530/503 481/521/492 486/528/501 -f 422/454/429 448/484/458 391/416/398 -f 391/416/398 390/415/397 423/455/430 -f 423/455/430 422/454/429 391/416/398 -f 487/531/504 397/429/404 398/430/405 -f 398/430/405 488/532/505 487/531/504 -f 489/533/506 396/428/403 151/534/150 -f 151/534/150 150/535/149 489/533/506 -f 396/428/403 397/429/404 487/531/504 -f 487/531/504 151/534/150 396/428/403 -f 386/410/393 135/422/134 133/411/133 -f 490/536/507 491/537/508 447/483/457 -f 447/483/457 276/449/424 490/536/507 -f 453/489/463 404/436/411 403/435/410 -f 409/440/416 406/438/413 407/437/414 -f 409/440/416 407/437/414 492/538/509 -f 492/538/509 410/441/175 409/440/416 -f 410/441/175 492/538/509 493/539/510 -f 493/539/510 412/443/418 410/441/175 -f 280/540/511 279/474/449 412/443/418 -f 412/443/418 493/539/510 280/540/511 -f 407/437/414 405/437/412 494/437/512 -f 495/539/513 492/538/509 407/437/414 -f 407/437/414 494/437/512 495/539/513 -f 493/539/510 492/538/509 495/539/513 -f 495/539/513 496/539/514 493/539/510 -f 282/461/437 430/462/436 497/541/515 -f 497/541/515 283/475/516 282/461/437 -f 434/467/442 203/542/517 202/543/518 -f 202/543/518 433/466/441 434/467/442 -f 209/544/519 138/529/502 486/528/501 -f 486/528/501 498/545/520 209/544/519 -f 140/524/495 203/542/517 434/467/442 -f 434/467/442 476/517/488 140/524/495 -f 399/431/406 476/517/488 434/467/442 -f 434/467/442 427/459/433 399/431/406 -f 400/432/407 399/431/406 427/459/433 -f 427/459/433 426/458/432 400/432/407 -f 432/465/440 431/464/439 486/528/501 -f 486/528/501 481/521/492 432/465/440 -f 408/439/415 432/465/440 481/521/492 -f 481/521/492 483/523/494 408/439/415 -f 422/454/429 421/453/428 499/546/521 -f 499/546/521 473/509/483 422/454/429 -f 205/547/522 498/545/520 479/519/491 -f 479/519/491 206/519/497 205/547/522 -f 421/453/428 477/518/489 479/519/491 -f 479/519/491 498/545/520 421/453/428 -f 500/548/523 489/533/506 150/535/149 -f 150/535/149 501/549/524 500/548/523 -f 218/550/277 147/515/486 466/502/476 -f 466/502/476 502/551/525 218/550/277 -f 466/502/476 465/501/475 502/551/525 -f 395/426/402 500/548/523 390/415/397 -f 390/415/397 389/414/396 395/426/402 -f 489/533/506 500/548/523 395/426/402 -f 395/426/402 394/425/401 489/533/506 -f 202/543/518 201/526/499 484/525/496 -f 484/525/496 433/466/441 202/543/518 -f 480/520/435 425/457/431 428/460/434 -f 428/460/434 460/496/470 480/520/435 -f 477/518/489 421/453/428 424/456/293 -f 424/456/293 503/552/526 477/518/489 -f 477/518/489 503/552/526 462/498/472 -f 462/498/472 461/497/471 477/518/489 -f 431/464/439 499/546/521 498/545/520 -f 498/545/520 486/528/501 431/464/439 -f 431/464/439 416/447/422 473/509/483 -f 473/509/483 499/546/521 431/464/439 -f 415/446/421 449/485/459 473/509/483 -f 473/509/483 416/447/422 415/446/421 -f 446/482/456 450/486/460 449/485/459 -f 449/485/459 415/446/421 446/482/456 -f 452/488/462 471/507/481 472/508/482 -f 472/508/482 451/487/461 452/488/462 -f 445/481/455 452/488/462 450/486/460 -f 450/486/460 446/482/456 445/481/455 -f 458/494/468 464/500/474 474/513/484 -f 474/513/484 457/493/467 458/494/468 -f 462/498/472 465/501/475 464/500/474 -f 464/500/474 458/494/468 462/498/472 -f 465/501/475 462/498/472 503/552/526 -f 503/552/526 502/551/525 465/501/475 -f 424/456/293 501/549/524 502/551/525 -f 502/551/525 503/552/526 424/456/293 -f 501/549/524 150/535/149 218/550/277 -f 218/550/277 502/551/525 501/549/524 -f 430/462/436 429/461/435 504/553/527 -f 505/554/528 497/541/515 430/462/436 -f 430/462/436 504/553/527 505/554/528 -f 467/503/477 505/554/528 504/553/527 -f 504/553/527 468/504/478 467/503/477 -f 497/541/515 490/536/507 275/536/529 -f 275/536/529 283/475/516 497/541/515 -f 491/537/508 490/536/507 497/541/515 -f 497/541/515 505/554/528 491/537/508 -f 491/537/508 505/554/528 467/503/477 -f 444/480/454 447/483/457 491/537/508 -f 491/537/508 467/503/477 444/480/454 -f 488/532/505 442/478/452 441/477/451 -f 441/477/451 487/531/504 488/532/505 -f 489/533/506 394/425/401 396/428/403 -f 275/536/529 490/536/507 276/449/424 -f 278/475/450 276/449/424 413/444/419 -f 474/513/484 464/500/474 463/499/473 -f 463/499/473 143/555/223 474/513/484 -f 409/440/416 483/523/494 406/438/413 -f 140/524/495 482/522/493 481/521/492 -f 481/521/492 137/530/503 140/524/495 -f 205/547/522 209/544/519 498/545/520 -f 391/416/398 448/484/458 420/452/427 -f 493/539/510 496/539/514 280/540/511 -f 482/522/493 414/445/420 406/438/413 -f 408/439/415 483/523/494 409/440/416 -f 474/513/484 143/555/223 220/556/222 -f 220/556/222 222/241/225 221/240/224 -f 221/240/224 474/513/484 220/556/222 -f 143/555/223 463/499/473 144/514/485 -f 498/545/520 499/546/521 421/453/428 -f 501/549/524 424/456/293 423/455/430 -f 423/455/430 500/548/523 501/549/524 -f 284/557/291 487/531/504 441/477/451 -f 285/476/292 284/557/291 441/477/451 -f 151/534/150 487/531/504 284/557/291 -f 423/455/430 390/415/397 500/548/523 -f 437/470/445 212/527/500 438/471/446 -f 478/519/490 439/472/447 438/471/446 -f 438/471/446 485/519/498 478/519/490 -f 454/490/464 439/472/447 478/519/490 -f 478/519/490 461/497/471 454/490/464 -f 304/288/311 321/307/328 319/303/326 -f 319/303/326 305/289/312 304/288/311 -f 310/294/317 305/289/312 319/303/326 -f 319/303/326 318/302/325 310/294/317 -f 318/302/325 236/324/238 239/318/241 -f 239/318/241 310/294/317 318/302/325 -f 211/220/212 506/558/530 438/559/531 -f 438/559/531 212/221/213 211/220/212 -f 209/218/210 205/214/206 208/217/209 -f 208/217/209 210/219/211 209/218/210 -f 207/216/208 206/215/207 485/560/532 -f 485/560/532 507/561/533 207/216/208 -f 438/559/531 506/559/530 507/561/533 -f 507/561/533 485/560/532 438/559/531 -f 508/562/534 509/563/535 199/564/536 -f 199/564/536 204/565/537 508/562/534 -f 141/566/538 510/567/539 508/562/534 -f 508/562/534 204/565/537 141/566/538 -f 511/568/540 510/567/539 141/566/538 -f 141/566/538 136/569/541 511/568/540 -f 512/570/542 511/568/540 136/569/541 -f 136/569/541 139/571/543 512/570/542 -f 513/572/544 512/570/542 139/571/543 -f 139/571/543 210/573/545 513/572/544 -f 210/573/545 208/574/546 514/575/547 -f 514/575/547 513/572/544 210/573/545 -f 207/576/548 507/577/549 506/578/550 -f 515/579/551 516/580/552 207/576/548 -f 207/576/548 506/578/550 515/579/551 -f 517/581/553 515/579/551 506/578/550 -f 506/578/550 211/581/554 517/581/553 -f 518/582/555 517/581/553 211/581/554 -f 211/581/554 200/583/556 518/582/555 -f 208/574/546 207/576/548 516/580/552 -f 516/580/552 514/575/547 208/574/546 -f 200/583/556 199/564/536 509/563/535 -f 509/563/535 518/582/555 200/583/556 -f 519/584/264 518/582/555 509/563/535 -f 509/563/535 508/562/534 519/584/264 -f 518/582/555 519/584/264 517/581/553 -f 519/584/264 516/580/552 515/579/551 -f 515/579/551 517/581/553 519/584/264 -f 516/580/552 519/584/264 514/575/547 -f 514/575/547 519/584/264 513/572/544 -f 513/572/544 519/584/264 512/570/542 -f 512/570/542 519/584/264 511/568/540 -f 519/584/264 508/562/534 510/567/539 -f 510/567/539 511/568/540 519/584/264 -f 11/11/11 194/205/196 82/87/82 -f 85/90/85 84/89/84 17/17/17 -f 17/17/17 196/207/198 85/90/85 -f 86/91/86 85/90/85 196/207/198 -f 196/207/198 197/208/199 86/91/86 -f 87/92/87 86/91/86 197/208/199 -f 197/208/199 198/209/1 87/92/87 -f 187/198/189 84/89/84 15/15/15 -f 15/15/15 24/24/24 187/198/189 -f 188/199/190 187/198/189 24/24/24 -f 24/24/24 25/25/25 188/199/190 -f 27/27/27 188/199/190 195/206/197 -f 195/206/197 191/202/193 27/27/27 -f 323/310/330 19/314/19 194/585/196 -f 194/585/196 324/313/331 323/310/330 -f 11/317/11 325/312/332 324/311/331 -f 324/311/331 194/586/196 11/317/11 -f 320/305/327 230/326/232 232/325/234 -f 290/270/297 287/267/294 286/266/293 -f 286/266/293 291/273/298 290/270/297 -f 290/270/297 291/273/298 303/285/310 -f 379/400/386 520/587/557 378/398/385 -f 378/398/385 356/371/363 379/400/386 -f 380/401/387 521/588/558 520/587/557 -f 520/587/557 379/400/386 380/401/387 -f 381/403/388 372/391/379 521/588/558 -f 521/588/558 380/401/387 381/403/388 -f 376/395/383 522/589/559 382/405/389 -f 382/405/389 354/365/361 376/395/383 -f 522/589/559 372/391/379 381/403/388 -f 381/403/388 382/405/389 522/589/559 -f 376/395/383 375/394/382 523/590/560 -f 523/590/560 371/390/378 376/395/383 -f 523/590/560 375/394/382 377/396/384 -f 377/396/384 524/591/561 523/590/560 -f 524/592/561 377/397/384 378/398/385 -f 378/398/385 363/382/370 524/592/561 -f 520/587/557 360/379/367 363/382/370 -f 363/382/370 378/398/385 520/587/557 -f 521/588/558 364/383/371 360/379/367 -f 360/379/367 520/587/557 521/588/558 -f 367/386/374 364/383/371 521/588/558 -f 521/588/558 372/391/379 367/386/374 -f 371/390/378 370/389/377 522/589/559 -f 522/589/559 376/395/383 371/390/378 -f 372/391/379 522/589/559 370/389/377 -f 371/390/378 523/590/560 525/593/562 -f 525/593/562 368/387/375 371/390/378 -f 525/593/562 523/590/560 524/591/561 -f 524/591/561 374/594/381 525/593/562 -f 374/393/381 524/592/561 363/382/370 -f 363/382/370 362/381/369 374/393/381 -f 361/380/368 334/335/341 333/334/340 -f 333/334/340 362/381/369 361/380/368 -f 337/338/344 334/335/341 361/380/368 -f 361/380/368 365/384/372 337/338/344 -f 349/359/356 337/338/344 365/384/372 -f 365/384/372 366/385/373 349/359/356 -f 350/360/357 349/359/356 366/385/373 -f 366/385/373 369/388/376 350/360/357 -f 368/387/375 351/360/358 350/360/357 -f 350/360/357 369/388/376 368/387/375 -f 351/360/358 368/387/375 352/361/359 -f 373/392/380 352/361/359 368/387/375 -f 368/387/375 525/593/562 373/392/380 -f 525/593/562 374/594/381 332/333/339 -f 332/333/339 373/392/380 525/593/562 -f 304/288/311 312/296/319 322/309/329 -f 322/309/329 321/307/328 304/288/311 -f 154/162/153 222/595/225 156/164/155 -f 169/177/168 285/265/292 152/160/151 -f 156/164/155 169/177/168 152/160/151 -f 154/162/153 156/164/155 152/160/151 -f 157/165/156 156/164/155 222/595/225 -f 222/595/225 220/237/222 157/165/156 -f 152/512/151 285/476/292 443/479/453 -f 108/113/108 110/115/110 526/596/91 -f 526/596/91 109/114/109 108/113/108 -f 1/1/1 527/4/563 528/3/564 -f 528/3/564 2/2/2 1/1/1 -f 529/5/565 530/8/566 7/7/7 -f 7/7/7 6/6/6 529/5/565 -f 9/9/9 12/12/12 531/11/567 -f 531/11/567 532/10/568 9/9/9 -f 533/13/569 534/14/570 528/3/564 -f 528/3/564 527/4/563 533/13/569 -f 535/15/571 536/16/572 534/14/570 -f 534/14/570 533/13/569 535/15/571 -f 537/17/573 538/20/574 539/19/575 -f 539/19/575 540/18/576 537/17/573 -f 2/2/2 528/3/564 541/22/577 -f 541/22/577 21/21/21 2/2/2 -f 542/23/578 536/16/572 535/15/571 -f 535/15/571 543/24/579 542/23/578 -f 544/25/580 545/26/581 542/23/578 -f 542/23/578 543/24/579 544/25/580 -f 546/27/582 540/18/576 539/19/575 -f 539/19/575 547/28/583 546/27/582 -f 548/29/584 549/31/585 550/30/586 -f 550/30/586 541/22/577 548/29/584 -f 551/32/587 552/35/588 553/34/589 -f 553/34/589 554/33/590 551/32/587 -f 552/35/588 551/32/587 555/37/591 -f 555/37/591 556/36/592 552/35/588 -f 556/36/592 555/37/591 557/39/593 -f 557/39/593 558/38/594 556/36/592 -f 559/40/595 558/38/594 557/39/593 -f 557/39/593 560/41/596 559/40/595 -f 561/42/597 559/40/595 560/41/596 -f 560/41/596 562/43/598 561/42/597 -f 561/42/597 562/43/598 563/44/599 -f 564/47/600 565/46/601 566/45/602 -f 566/45/602 567/48/603 564/47/600 -f 554/33/590 553/34/589 568/49/604 -f 568/49/604 565/46/601 554/33/590 -f 569/50/605 570/53/606 571/52/607 -f 571/52/607 572/51/608 569/50/605 -f 573/54/609 571/58/607 570/57/606 -f 574/56/610 575/55/611 573/54/609 -f 573/54/609 570/57/606 574/56/610 -f 576/59/612 575/55/611 574/56/610 -f 574/56/610 577/60/613 576/59/612 -f 578/61/614 579/64/615 580/63/616 -f 580/63/616 581/62/617 578/61/614 -f 582/65/618 579/64/615 578/61/614 -f 578/61/614 583/66/619 582/65/618 -f 584/67/620 585/68/621 582/65/618 -f 582/65/618 583/66/619 584/67/620 -f 586/69/622 587/72/623 588/71/624 -f 588/71/624 589/70/625 586/69/622 -f 590/73/626 591/74/627 569/50/605 -f 569/50/605 572/51/608 590/73/626 -f 592/75/628 575/78/611 576/77/612 -f 576/77/612 593/76/629 592/75/628 -f 594/79/630 593/76/629 576/77/612 -f 576/77/612 577/80/613 594/79/630 -f 595/81/631 579/64/615 582/65/618 -f 585/68/621 596/82/632 595/81/631 -f 595/81/631 582/65/618 585/68/621 -f 587/72/623 592/75/628 593/76/629 -f 593/76/629 588/71/624 587/72/623 -f 597/83/633 542/23/578 545/26/581 -f 545/26/581 598/84/634 597/83/633 -f 599/85/635 597/83/633 598/84/634 -f 598/84/634 600/86/636 599/85/635 -f 601/87/637 531/11/567 12/12/12 -f 12/12/12 83/88/83 601/87/637 -f 541/22/577 528/3/564 534/14/570 -f 534/14/570 548/29/584 541/22/577 -f 602/89/638 535/15/571 533/13/569 -f 533/13/569 603/90/639 602/89/638 -f 603/90/639 533/13/569 527/4/563 -f 527/4/563 604/91/640 603/90/639 -f 604/91/640 527/4/563 1/1/1 -f 1/1/1 87/92/87 604/91/640 -f 88/93/88 9/9/9 532/10/568 -f 532/10/568 605/94/641 88/93/88 -f 601/87/637 83/88/83 90/95/90 -f 90/95/90 547/28/583 601/87/637 -f 529/5/565 6/6/6 91/96/91 -f 91/96/91 606/97/642 529/5/565 -f 607/98/643 96/101/96 95/100/95 -f 95/100/95 608/99/644 607/98/643 -f 609/102/645 99/104/99 98/103/98 -f 98/103/98 608/99/644 609/102/645 -f 98/103/98 100/105/100 607/98/643 -f 607/98/643 608/99/644 98/103/98 -f 101/106/101 104/109/104 610/108/643 -f 610/108/643 611/107/646 101/106/101 -f 610/108/643 106/111/106 105/110/105 -f 105/110/105 611/107/646 610/108/643 -f 607/98/643 611/107/646 105/110/105 -f 105/110/105 96/101/96 607/98/643 -f 608/99/644 95/100/95 107/112/107 -f 107/112/107 609/102/645 608/99/644 -f 107/112/107 109/114/109 612/113/647 -f 612/113/647 609/102/645 107/112/107 -f 99/104/99 609/102/645 612/113/647 -f 612/113/647 110/115/110 99/104/99 -f 101/106/101 611/107/646 607/98/643 -f 607/98/643 100/105/100 101/106/101 -f 104/109/104 88/117/88 613/116/648 -f 613/116/648 610/108/643 104/109/104 -f 610/108/643 613/116/648 91/118/91 -f 91/118/91 106/111/106 610/108/643 -f 112/119/112 614/122/649 615/121/650 -f 615/121/650 113/120/113 112/119/112 -f 616/123/651 550/30/586 549/31/585 -f 549/31/585 617/124/652 616/123/651 -f 118/125/118 119/126/119 550/30/586 -f 550/30/586 616/123/651 118/125/118 -f 618/127/653 619/128/654 617/124/652 -f 617/124/652 549/31/585 618/127/653 -f 91/96/91 613/129/648 606/97/642 -f 605/94/641 613/129/648 88/93/88 -f 606/97/642 613/129/648 605/94/641 -f 605/94/641 529/5/565 606/97/642 -f 21/21/21 541/22/577 550/30/586 -f 550/30/586 119/126/119 21/21/21 -f 616/123/651 620/131/655 122/130/122 -f 122/130/122 118/125/118 616/123/651 -f 614/122/649 112/119/112 125/133/125 -f 125/133/125 621/132/656 614/122/649 -f 622/134/657 623/137/658 624/136/659 -f 624/136/659 625/135/660 622/134/657 -f 618/127/653 624/136/659 623/137/658 -f 623/137/658 619/128/654 618/127/653 -f 616/123/651 617/124/652 626/138/661 -f 626/138/661 620/131/655 616/123/651 -f 619/128/654 627/140/662 628/139/663 -f 628/139/663 617/124/652 619/128/654 -f 628/139/663 626/138/661 617/124/652 -f 619/128/654 623/137/658 627/140/662 -f 627/140/662 623/137/658 622/134/657 -f 622/134/657 629/141/664 627/140/662 -f 134/142/125 630/143/665 621/132/656 -f 621/132/656 125/133/125 134/142/125 -f 631/144/666 632/147/667 633/146/668 -f 633/146/668 634/145/669 631/144/666 -f 635/148/670 636/149/363 631/144/666 -f 631/144/666 634/145/669 635/148/670 -f 637/150/671 638/152/672 639/151/673 -f 640/153/674 638/152/672 637/150/671 -f 637/150/671 641/154/675 640/153/674 -f 638/152/672 640/153/674 642/155/676 -f 643/156/677 644/159/678 645/158/679 -f 645/158/679 646/157/680 643/156/677 -f 647/160/681 648/162/682 649/161/683 -f 650/163/684 651/166/685 652/165/686 -f 652/165/686 653/164/516 650/163/684 -f 641/154/675 654/168/687 655/167/688 -f 655/167/688 640/153/674 641/154/675 -f 656/169/689 657/170/690 640/153/674 -f 640/153/674 655/167/688 656/169/689 -f 658/171/691 643/156/677 646/157/680 -f 646/157/680 659/172/692 658/171/691 -f 660/173/693 661/175/694 662/174/695 -f 662/174/695 658/171/691 660/173/693 -f 650/163/684 653/164/516 663/177/696 -f 663/177/696 664/176/697 650/163/684 -f 665/178/271 666/180/698 667/179/699 -f 668/183/700 667/182/701 666/181/702 -f 666/181/702 669/184/703 668/183/700 -f 668/183/700 669/184/703 670/185/704 -f 671/186/705 672/188/706 673/187/707 -f 674/189/708 673/187/707 672/188/706 -f 675/191/709 676/190/710 674/189/708 -f 674/189/708 672/188/706 675/191/709 -f 675/191/709 666/180/698 665/178/271 -f 665/178/271 676/190/710 675/191/709 -f 667/179/699 677/192/711 651/166/685 -f 651/166/685 665/178/271 667/179/699 -f 651/166/685 650/163/684 665/178/271 -f 668/183/700 655/167/688 654/168/687 -f 654/168/687 667/182/701 668/183/700 -f 655/167/688 668/183/700 670/185/704 -f 670/185/704 678/193/712 655/167/688 -f 660/173/693 679/194/713 671/186/705 -f 673/187/707 661/175/694 660/173/693 -f 660/173/693 671/186/705 673/187/707 -f 673/187/707 674/189/708 661/175/694 -f 665/178/271 650/163/684 664/176/697 -f 664/176/697 676/190/710 665/178/271 -f 639/151/673 680/195/714 641/154/675 -f 641/154/675 637/150/671 639/151/673 -f 654/168/687 641/154/675 680/195/714 -f 680/195/714 677/196/715 654/168/687 -f 654/168/687 677/196/715 667/182/701 -f 615/121/650 681/197/716 599/85/635 -f 599/85/635 600/86/636 615/121/650 -f 540/18/576 682/198/717 602/89/638 -f 602/89/638 537/17/573 540/18/576 -f 546/27/582 683/199/718 682/198/717 -f 682/198/717 540/18/576 546/27/582 -f 189/200/191 190/201/192 545/26/581 -f 545/26/581 544/25/580 189/200/191 -f 547/28/583 90/95/90 191/202/193 -f 191/202/193 546/27/582 547/28/583 -f 190/201/192 192/203/194 598/84/634 -f 598/84/634 545/26/581 190/201/192 -f 192/203/194 193/204/195 600/86/636 -f 600/86/636 598/84/634 192/203/194 -f 539/19/575 684/205/719 601/87/637 -f 601/87/637 547/28/583 539/19/575 -f 614/122/649 625/135/660 681/197/716 -f 681/197/716 615/121/650 614/122/649 -f 621/132/656 622/134/657 625/135/660 -f 625/135/660 614/122/649 621/132/656 -f 113/120/113 615/121/650 600/86/636 -f 600/86/636 193/204/195 113/120/113 -f 195/206/197 189/200/191 544/25/580 -f 544/25/580 683/199/718 195/206/197 -f 629/141/664 622/134/657 621/132/656 -f 621/132/656 630/143/665 629/141/664 -f 537/17/573 685/207/720 538/20/574 -f 685/207/720 686/208/721 530/8/566 -f 7/7/7 530/8/566 686/208/721 -f 686/208/721 198/209/1 7/7/7 -f 687/210/722 688/212/723 689/211/724 -f 689/211/724 690/211/725 687/210/722 -f 688/212/723 687/210/722 691/213/726 -f 691/213/726 692/213/727 688/212/723 -f 693/214/728 694/217/729 695/216/730 -f 695/216/730 696/215/731 693/214/728 -f 633/146/668 632/147/667 697/219/732 -f 697/219/732 698/218/733 633/146/668 -f 690/211/725 689/211/724 699/221/734 -f 699/221/734 700/220/735 690/211/725 -f 692/213/727 691/213/726 636/149/363 -f 636/149/363 635/148/670 692/213/727 -f 588/71/624 596/82/632 701/222/736 -f 701/222/736 589/70/625 588/71/624 -f 591/74/627 590/73/626 702/224/737 -f 702/224/737 703/223/738 591/74/627 -f 704/225/739 572/51/608 571/52/607 -f 571/52/607 573/226/609 704/225/739 -f 580/63/616 579/64/615 595/81/631 -f 595/81/631 705/227/740 580/63/616 -f 596/82/632 588/71/624 593/76/629 -f 593/76/629 594/79/630 596/82/632 -f 704/225/739 702/224/737 590/73/626 -f 590/73/626 572/51/608 704/225/739 -f 553/34/589 552/35/588 570/53/606 -f 570/53/606 569/50/605 553/34/589 -f 574/56/610 570/57/606 552/230/588 -f 556/229/592 558/228/594 574/56/610 -f 574/56/610 552/230/588 556/229/592 -f 558/228/594 581/231/617 574/56/610 -f 581/62/617 558/38/594 559/40/595 -f 559/40/595 578/61/614 581/62/617 -f 559/40/595 561/42/597 583/66/619 -f 583/66/619 578/61/614 559/40/595 -f 583/66/619 561/42/597 563/44/599 -f 563/44/599 584/67/620 583/66/619 -f 586/69/622 589/70/625 567/48/603 -f 566/45/602 703/223/738 586/69/622 -f 586/69/622 567/48/603 566/45/602 -f 553/34/589 569/50/605 591/74/627 -f 591/74/627 568/49/604 553/34/589 -f 567/48/603 589/70/625 701/222/736 -f 701/222/736 584/67/620 563/44/599 -f 563/44/599 567/48/603 701/222/736 -f 566/45/602 568/49/604 591/74/627 -f 591/74/627 703/223/738 566/45/602 -f 701/222/736 596/82/632 585/68/621 -f 585/68/621 584/67/620 701/222/736 -f 702/224/737 587/72/623 586/69/622 -f 586/69/622 703/223/738 702/224/737 -f 704/225/739 573/226/609 575/78/611 -f 575/78/611 592/75/628 704/225/739 -f 705/227/740 595/81/631 594/79/630 -f 594/79/630 577/80/613 705/227/740 -f 596/82/632 594/79/630 595/81/631 -f 702/224/737 704/225/739 592/75/628 -f 592/75/628 587/72/623 702/224/737 -f 574/56/610 581/231/617 705/232/740 -f 705/232/740 577/60/613 574/56/610 -f 581/231/617 580/233/616 705/232/740 -f 566/45/602 565/46/601 568/49/604 -f 563/44/599 562/43/598 564/47/600 -f 564/47/600 567/48/603 563/44/599 -f 640/153/674 657/170/690 706/235/741 -f 706/235/741 642/155/676 640/153/674 -f 706/235/741 707/234/742 642/155/676 -f 680/236/743 639/238/744 708/237/745 -f 708/237/745 652/165/686 680/236/743 -f 677/192/711 680/236/743 652/165/686 -f 652/165/686 651/166/685 677/192/711 -f 649/239/683 648/239/682 709/241/746 -f 709/241/746 710/240/747 649/239/683 -f 711/32/748 712/243/749 713/242/750 -f 713/242/750 714/33/751 711/32/748 -f 712/243/749 711/32/748 715/37/752 -f 715/37/752 716/36/753 712/243/749 -f 715/37/752 717/39/754 718/38/755 -f 718/38/755 716/36/753 715/37/752 -f 719/40/756 718/38/755 717/39/754 -f 717/39/754 720/41/757 719/40/756 -f 720/41/757 721/244/758 722/244/759 -f 722/244/759 719/40/756 720/41/757 -f 721/244/758 723/47/760 724/245/761 -f 724/245/761 722/244/759 721/244/758 -f 725/47/762 723/47/760 726/246/763 -f 714/33/751 713/242/750 727/49/764 -f 727/49/764 728/46/765 714/33/751 -f 729/50/766 730/53/767 731/52/768 -f 731/52/768 732/51/769 729/50/766 -f 733/54/770 731/58/768 730/57/767 -f 734/56/610 735/55/771 733/54/770 -f 733/54/770 730/57/767 734/56/610 -f 736/59/612 735/55/771 734/56/610 -f 734/56/610 737/60/772 736/59/612 -f 738/64/773 739/63/774 740/62/775 -f 740/62/775 741/61/776 738/64/773 -f 742/65/777 738/64/773 741/61/776 -f 741/61/776 743/66/778 742/65/777 -f 742/65/777 743/66/778 744/67/779 -f 744/67/779 745/68/780 742/65/777 -f 746/70/781 747/69/782 748/72/783 -f 748/72/783 749/71/784 746/70/781 -f 750/73/785 751/74/786 729/50/766 -f 729/50/766 732/51/769 750/73/785 -f 752/75/787 735/78/771 736/77/612 -f 736/77/612 753/76/788 752/75/787 -f 754/79/789 753/76/788 736/77/612 -f 736/77/612 737/80/772 754/79/789 -f 755/81/790 738/64/773 742/65/777 -f 745/68/780 756/82/791 755/81/790 -f 755/81/790 742/65/777 745/68/780 -f 748/72/783 752/75/787 753/76/788 -f 753/76/788 749/71/784 748/72/783 -f 746/70/781 749/71/784 756/82/791 -f 756/82/791 757/222/792 746/70/781 -f 758/223/793 751/74/786 750/73/785 -f 750/73/785 759/247/169 758/223/793 -f 760/225/794 732/51/769 731/52/768 -f 731/52/768 733/226/770 760/225/794 -f 739/63/774 738/64/773 755/81/790 -f 755/81/790 761/227/795 739/63/774 -f 756/82/791 749/71/784 753/76/788 -f 753/76/788 754/79/789 756/82/791 -f 750/73/785 732/51/769 760/225/794 -f 760/225/794 759/247/169 750/73/785 -f 712/243/749 730/53/767 729/50/766 -f 729/50/766 713/242/750 712/243/749 -f 734/56/610 730/57/767 712/249/749 -f 716/248/753 718/228/755 734/56/610 -f 734/56/610 712/249/749 716/248/753 -f 718/228/755 740/250/775 734/56/610 -f 718/38/755 719/40/756 741/61/776 -f 741/61/776 740/62/775 718/38/755 -f 719/40/756 722/244/759 743/66/778 -f 743/66/778 741/61/776 719/40/756 -f 743/66/778 722/244/759 724/245/761 -f 724/245/761 744/67/779 743/66/778 -f 746/70/781 757/222/792 725/47/762 -f 725/47/762 747/69/782 746/70/781 -f 726/246/763 758/223/793 747/69/782 -f 747/69/782 725/47/762 726/246/763 -f 713/242/750 729/50/766 751/74/786 -f 751/74/786 727/49/764 713/242/750 -f 757/222/792 744/67/779 724/245/761 -f 724/245/761 725/47/762 757/222/792 -f 726/246/763 727/49/764 751/74/786 -f 751/74/786 758/223/793 726/246/763 -f 757/222/792 756/82/791 745/68/780 -f 745/68/780 744/67/779 757/222/792 -f 758/223/793 759/247/169 748/72/783 -f 748/72/783 747/69/782 758/223/793 -f 760/225/794 733/226/770 735/78/771 -f 735/78/771 752/75/787 760/225/794 -f 761/227/795 755/81/790 754/79/789 -f 754/79/789 737/80/772 761/227/795 -f 756/82/791 754/79/789 755/81/790 -f 759/247/169 760/225/794 752/75/787 -f 752/75/787 748/72/783 759/247/169 -f 734/56/610 740/250/775 761/232/795 -f 761/232/795 737/60/772 734/56/610 -f 740/250/775 739/233/774 761/232/795 -f 726/246/763 723/47/760 728/46/765 -f 728/46/765 727/49/764 726/246/763 -f 724/245/761 723/47/760 725/47/762 -f 655/167/688 678/193/712 656/169/689 -f 679/194/713 660/173/693 762/251/796 -f 762/251/796 660/173/693 658/171/691 -f 658/171/691 659/172/692 762/251/796 -f 672/252/706 669/184/797 666/181/698 -f 666/181/698 675/181/709 672/252/706 -f 646/253/680 645/254/679 707/234/798 -f 707/234/798 706/235/799 646/253/680 -f 659/255/692 646/253/680 706/235/799 -f 706/235/799 657/170/800 659/255/692 -f 672/252/706 671/256/705 670/185/801 -f 670/185/801 669/184/797 672/252/706 -f 679/193/713 762/169/796 656/169/802 -f 656/169/802 678/193/803 679/193/713 -f 671/256/705 679/193/713 678/193/803 -f 678/193/803 670/185/801 671/256/705 -f 762/169/796 659/255/692 657/170/800 -f 657/170/800 656/169/802 762/169/796 -f 763/257/804 277/259/284 764/258/805 -f 765/261/806 766/260/807 277/259/284 -f 277/259/284 280/262/287 765/261/806 -f 764/258/805 277/259/284 766/260/807 -f 767/263/808 281/263/288 277/259/284 -f 277/259/284 768/257/809 767/263/808 -f 768/257/809 277/259/284 763/257/804 -f 644/159/678 643/156/677 769/264/810 -f 658/171/691 662/174/695 769/264/810 -f 769/264/810 643/156/677 658/171/691 -f 663/177/696 770/265/811 769/264/810 -f 769/264/810 662/174/695 663/177/696 -f 661/175/694 664/176/697 663/177/696 -f 663/177/696 662/174/695 661/175/694 -f 664/176/697 661/175/694 674/189/708 -f 674/189/708 676/190/710 664/176/697 -f 771/266/812 772/269/813 773/268/814 -f 773/268/814 774/267/815 771/266/812 -f 774/267/815 538/272/574 685/271/720 -f 685/271/720 775/270/816 774/267/815 -f 776/273/817 777/275/818 778/274/819 -f 778/274/819 771/266/812 776/273/817 -f 779/276/820 778/274/819 777/275/818 -f 777/275/818 780/277/821 779/276/820 -f 781/278/822 782/281/823 783/280/824 -f 783/280/824 784/279/825 781/278/822 -f 778/274/819 779/276/820 785/283/826 -f 785/283/826 786/282/827 778/274/819 -f 777/275/818 776/273/817 787/285/828 -f 787/285/828 788/284/829 777/275/818 -f 787/285/828 530/287/566 529/286/565 -f 529/286/565 788/284/829 787/285/828 -f 771/266/812 778/274/819 786/282/827 -f 786/282/827 772/269/813 771/266/812 -f 789/288/830 782/281/823 790/290/831 -f 790/290/831 791/289/832 789/288/830 -f 782/281/823 792/292/833 793/291/834 -f 793/291/834 790/290/831 782/281/823 -f 794/293/835 795/294/836 791/289/832 -f 791/289/832 790/290/831 794/293/835 -f 794/293/835 790/290/831 793/291/834 -f 793/291/834 796/295/837 794/293/835 -f 685/271/720 530/287/566 787/285/828 -f 787/285/828 775/270/816 685/271/720 -f 789/288/830 797/296/838 783/280/824 -f 783/280/824 782/281/823 789/288/830 -f 798/297/839 799/300/840 800/299/841 -f 800/299/841 801/298/842 798/297/839 -f 801/298/842 800/299/841 793/291/834 -f 793/291/834 792/292/833 801/298/842 -f 802/301/843 799/304/840 803/303/844 -f 803/303/844 804/302/845 802/301/843 -f 799/300/840 802/306/843 805/305/846 -f 805/305/846 800/299/841 799/300/840 -f 805/305/846 796/295/837 793/291/834 -f 793/291/834 800/299/841 805/305/846 -f 803/303/844 799/304/840 798/308/839 -f 798/308/839 806/307/847 803/303/844 -f 806/307/847 798/308/839 807/310/848 -f 807/310/848 808/309/849 806/307/847 -f 777/275/818 788/284/829 780/277/821 -f 809/311/850 798/297/839 801/298/842 -f 801/298/842 810/312/851 809/311/850 -f 798/308/839 809/313/850 807/310/848 -f 539/314/575 773/268/814 808/309/849 -f 808/309/849 807/310/848 539/314/575 -f 773/268/814 772/269/813 797/296/838 -f 797/296/838 808/309/849 773/268/814 -f 797/296/838 772/269/813 786/282/827 -f 786/282/827 783/280/824 797/296/838 -f 783/280/824 786/282/827 785/283/826 -f 785/283/826 784/279/825 783/280/824 -f 605/315/641 532/316/568 779/276/820 -f 779/276/820 780/277/821 605/315/641 -f 529/286/565 605/315/641 780/277/821 -f 780/277/821 788/284/829 529/286/565 -f 782/281/823 781/278/822 792/292/833 -f 781/278/822 801/298/842 792/292/833 -f 801/298/842 781/278/822 784/279/825 -f 784/279/825 810/312/851 801/298/842 -f 810/312/851 784/279/825 785/283/826 -f 785/283/826 531/317/567 810/312/851 -f 532/316/568 531/317/567 785/283/826 -f 785/283/826 779/276/820 532/316/568 -f 728/318/765 795/294/836 714/319/751 -f 794/293/835 711/320/748 714/319/751 -f 714/319/751 795/294/836 794/293/835 -f 796/295/837 715/321/752 711/320/748 -f 711/320/748 794/293/835 796/295/837 -f 804/302/845 723/324/760 721/323/758 -f 721/323/758 720/322/757 802/301/843 -f 802/301/843 804/302/845 721/323/758 -f 805/305/846 802/306/843 720/325/757 -f 717/326/754 715/321/752 796/295/837 -f 796/295/837 805/305/846 717/326/754 -f 773/268/814 539/314/575 538/272/574 -f 538/272/574 774/267/815 773/268/814 -f 811/327/852 812/330/853 813/329/854 -f 813/329/854 814/328/855 811/327/852 -f 814/328/855 813/329/854 815/332/856 -f 815/332/856 816/331/857 814/328/855 -f 817/333/858 816/331/857 815/332/856 -f 818/334/859 819/336/860 820/335/861 -f 821/337/862 822/338/863 820/335/861 -f 820/335/861 819/336/860 821/337/862 -f 813/329/854 812/330/853 823/340/864 -f 823/340/864 824/339/865 813/329/854 -f 815/332/856 813/329/854 824/339/865 -f 824/339/865 542/341/578 815/332/856 -f 597/342/633 817/333/858 815/332/856 -f 815/332/856 542/341/578 597/342/633 -f 825/343/866 818/334/859 817/345/858 -f 817/345/858 597/344/633 825/343/866 -f 826/346/867 819/336/860 818/334/859 -f 818/334/859 825/343/866 826/346/867 -f 827/347/868 821/337/862 819/336/860 -f 819/336/860 826/346/867 827/347/868 -f 828/348/869 821/337/862 827/347/868 -f 827/347/868 829/349/870 828/348/869 -f 536/352/572 830/351/871 831/350/872 -f 831/350/872 534/353/570 536/352/572 -f 832/354/873 618/356/653 549/355/585 -f 832/354/873 549/355/585 548/358/584 -f 548/358/584 833/357/874 832/354/873 -f 834/359/875 822/338/863 821/337/862 -f 821/337/862 828/348/869 834/359/875 -f 835/360/876 811/327/852 814/328/855 -f 814/328/855 836/361/877 835/360/876 -f 835/360/876 837/360/878 811/327/852 -f 555/362/591 838/365/879 839/364/880 -f 839/364/880 557/363/593 555/362/591 -f 839/364/880 840/367/102 560/366/596 -f 560/366/596 557/363/593 839/364/880 -f 840/368/102 841/371/881 562/370/598 -f 562/370/598 560/369/596 840/368/102 -f 834/359/875 828/348/869 811/327/852 -f 811/327/852 837/360/878 834/359/875 -f 811/327/852 828/348/869 812/330/853 -f 830/351/871 823/340/864 829/349/870 -f 829/349/870 842/372/882 830/351/871 -f 534/353/570 831/350/872 833/357/874 -f 833/357/874 548/358/584 534/353/570 -f 624/373/659 618/356/653 843/374/883 -f 843/374/883 681/376/716 625/375/660 -f 625/375/660 624/373/659 843/374/883 -f 618/356/653 832/354/873 844/377/884 -f 844/377/884 843/374/883 618/356/653 -f 842/372/882 844/377/884 832/354/873 -f 832/354/873 833/357/874 842/372/882 -f 842/372/882 833/357/874 831/350/872 -f 831/350/872 830/351/871 842/372/882 -f 823/340/864 830/351/871 536/352/572 -f 536/352/572 824/339/865 823/340/864 -f 542/341/578 824/339/865 536/352/572 -f 825/343/866 597/344/633 599/378/635 -f 681/376/716 843/374/883 826/346/867 -f 826/346/867 825/343/866 681/376/716 -f 843/374/883 844/377/884 827/347/868 -f 827/347/868 826/346/867 843/374/883 -f 844/377/884 842/372/882 829/349/870 -f 829/349/870 827/347/868 844/377/884 -f 812/330/853 828/348/869 829/349/870 -f 829/349/870 823/340/864 812/330/853 -f 825/343/866 599/378/635 681/376/716 -f 845/379/220 846/382/885 847/381/886 -f 847/381/886 848/380/887 845/379/220 -f 849/383/888 845/379/220 848/380/887 -f 848/380/887 850/384/889 849/383/888 -f 851/385/890 852/386/891 849/383/888 -f 849/383/888 850/384/889 851/385/890 -f 853/387/892 854/390/893 855/389/894 -f 855/389/894 856/388/895 853/387/892 -f 852/386/891 851/385/890 856/388/895 -f 855/389/894 857/391/896 852/386/891 -f 852/386/891 856/388/895 855/389/894 -f 836/361/877 814/328/855 816/331/857 -f 816/331/857 858/392/897 836/361/877 -f 817/333/858 858/392/897 816/331/857 -f 817/345/858 818/334/859 847/381/886 -f 847/381/886 859/393/898 817/345/858 -f 838/365/879 860/395/899 861/394/900 -f 861/394/900 839/364/880 838/365/879 -f 861/394/900 862/396/901 840/367/102 -f 840/367/102 839/364/880 861/394/900 -f 862/397/901 863/398/902 841/371/881 -f 841/371/881 840/368/102 862/397/901 -f 564/399/600 562/370/598 841/371/881 -f 841/371/881 864/400/903 564/399/600 -f 865/401/904 565/402/601 564/399/600 -f 564/399/600 864/400/903 865/401/904 -f 866/403/905 554/404/590 565/402/601 -f 565/402/601 865/401/904 866/403/905 -f 838/365/879 555/362/591 551/406/587 -f 551/406/587 867/405/906 838/365/879 -f 867/405/906 551/406/587 554/404/590 -f 554/404/590 866/403/905 867/405/906 -f 868/407/907 869/410/908 385/409/392 -f 385/409/392 384/408/391 868/407/907 -f 868/407/907 870/413/909 871/412/910 -f 871/412/910 629/411/664 869/410/908 -f 869/410/908 868/407/907 871/412/910 -f 870/413/909 872/416/911 873/415/912 -f 873/415/912 874/414/913 870/413/909 -f 874/414/913 871/412/910 870/413/909 -f 620/417/655 875/420/914 392/419/399 -f 392/419/399 122/418/122 620/417/655 -f 134/421/125 385/409/392 869/410/908 -f 869/410/908 630/422/665 134/421/125 -f 628/423/663 876/426/915 877/425/916 -f 877/425/916 626/424/661 628/423/663 -f 629/411/664 871/412/910 874/414/913 -f 874/414/913 627/427/662 629/411/664 -f 877/425/916 875/420/914 620/417/655 -f 620/417/655 626/424/661 877/425/916 -f 627/427/662 874/414/913 876/426/915 -f 876/426/915 628/423/663 627/427/662 -f 878/428/917 879/429/914 875/420/914 -f 875/420/914 877/425/916 878/428/917 -f 392/419/399 875/420/914 879/429/914 -f 879/429/914 398/430/405 392/419/399 -f 880/431/918 881/434/919 401/433/408 -f 401/433/408 400/432/407 880/431/918 -f 882/438/920 883/437/921 405/437/412 -f 405/437/412 404/436/411 884/435/922 -f 884/435/922 882/438/920 405/437/412 -f 885/439/923 886/442/924 887/441/703 -f 887/441/703 888/440/925 885/439/923 -f 886/442/924 889/444/926 890/443/927 -f 890/443/927 887/441/703 886/442/924 -f 884/435/922 881/434/919 891/445/928 -f 891/445/928 882/438/920 884/435/922 -f 892/446/929 764/449/930 893/448/931 -f 893/448/931 894/447/932 892/446/929 -f 710/240/747 419/451/426 418/450/425 -f 418/450/425 649/239/683 710/240/747 -f 870/413/909 895/452/933 872/416/911 -f 896/453/934 897/456/812 898/455/935 -f 898/455/935 899/454/936 896/453/934 -f 425/457/431 900/460/937 901/459/938 -f 901/459/938 426/458/432 425/457/431 -f 429/461/435 281/463/438 767/461/939 -f 767/461/939 902/462/940 429/461/435 -f 894/447/932 893/448/931 903/465/941 -f 903/465/941 904/464/942 894/447/932 -f 905/466/943 906/467/944 901/459/938 -f 901/459/938 900/460/937 905/466/943 -f 907/468/945 436/469/444 419/451/426 -f 419/451/426 710/240/747 907/468/945 -f 908/472/946 909/471/947 910/470/948 -f 910/470/948 911/473/949 908/472/946 -f 886/442/924 893/448/931 764/449/930 -f 764/449/930 889/444/926 886/442/924 -f 903/465/941 893/448/931 886/442/924 -f 886/442/924 885/439/923 903/465/941 -f 889/444/926 766/475/950 765/474/951 -f 765/474/951 890/443/927 889/444/926 -f 770/476/811 443/479/453 442/478/452 -f 442/478/452 912/477/952 770/476/811 -f 913/480/953 914/483/954 915/482/955 -f 915/482/955 916/481/956 913/480/953 -f 917/484/957 895/452/933 918/486/958 -f 918/486/958 919/485/959 917/484/957 -f 870/413/909 868/407/907 920/487/960 -f 920/487/960 895/452/933 870/413/909 -f 914/483/954 764/449/930 892/446/929 -f 892/446/929 915/482/955 914/483/954 -f 918/486/958 895/452/933 920/487/960 -f 920/487/960 921/488/961 918/486/958 -f 453/489/463 401/433/408 881/434/919 -f 881/434/919 884/435/922 453/489/463 -f 911/473/949 922/492/962 923/491/963 -f 923/491/963 924/490/964 911/473/949 -f 925/493/965 926/494/966 924/490/964 -f 924/490/964 923/491/963 925/493/965 -f 927/495/967 923/491/963 922/492/962 -f 922/492/962 928/496/968 927/495/967 -f 924/490/964 926/494/966 929/498/969 -f 929/498/969 930/497/970 924/490/964 -f 931/499/971 932/502/972 933/501/973 -f 933/501/973 934/500/974 931/499/971 -f 935/503/975 913/480/953 469/505/479 -f 469/505/479 468/504/478 935/503/975 -f 916/481/956 470/506/480 469/505/479 -f 469/505/479 913/480/953 916/481/956 -f 916/481/956 921/488/961 471/507/481 -f 471/507/481 470/506/480 916/481/956 -f 868/407/907 384/408/391 472/508/482 -f 472/508/482 920/487/960 868/407/907 -f 936/509/976 899/454/936 917/484/957 -f 917/484/957 919/485/959 936/509/976 -f 443/479/453 647/512/681 649/511/683 -f 649/511/683 418/510/425 443/479/453 -f 710/240/747 937/513/977 925/493/965 -f 925/493/965 907/468/945 710/240/747 -f 638/514/978 642/515/979 932/502/972 -f 932/502/972 931/499/971 638/514/978 -f 907/468/945 925/493/965 923/491/963 -f 923/491/963 927/495/967 907/468/945 -f 436/469/444 907/468/945 927/495/967 -f 927/495/967 475/516/487 436/469/444 -f 938/517/980 891/445/928 881/434/919 -f 881/434/919 880/431/918 938/517/980 -f 924/490/964 908/472/946 911/473/949 -f 939/518/981 940/519/982 941/519/983 -f 941/519/983 930/497/970 939/518/981 -f 927/495/967 928/496/968 480/520/435 -f 480/520/435 475/516/487 927/495/967 -f 942/521/984 943/523/985 882/438/920 -f 882/438/920 944/522/986 942/521/984 -f 944/522/986 891/445/928 938/517/980 -f 938/517/980 635/524/987 944/522/986 -f 911/473/949 910/470/948 945/525/988 -f 945/525/988 922/492/962 911/473/949 -f 922/492/962 945/525/988 905/466/943 -f 905/466/943 900/460/937 928/496/968 -f 928/496/968 922/492/962 905/466/943 -f 696/519/989 946/519/990 941/519/983 -f 941/519/983 940/519/982 696/519/989 -f 910/470/948 699/527/991 689/526/992 -f 689/526/992 945/525/988 910/470/948 -f 947/528/993 942/521/984 634/530/994 -f 634/530/994 633/529/995 947/528/993 -f 898/455/935 873/415/912 872/416/911 -f 872/416/911 899/454/936 898/455/935 -f 872/416/911 917/484/957 899/454/936 -f 948/531/996 488/532/505 398/430/405 -f 398/430/405 879/429/914 948/531/996 -f 949/533/997 645/535/679 644/534/678 -f 644/534/678 878/428/917 949/533/997 -f 878/428/917 644/534/678 948/531/996 -f 948/531/996 879/429/914 878/428/917 -f 629/411/664 630/422/665 869/410/908 -f 950/536/998 764/449/930 914/483/954 -f 914/483/954 951/537/999 950/536/998 -f 453/489/463 884/435/922 404/436/411 -f 888/440/925 952/538/1000 883/437/1001 -f 883/437/1001 882/438/920 888/440/925 -f 888/440/925 887/441/703 952/538/1000 -f 887/441/703 890/443/927 953/539/1002 -f 953/539/1002 952/538/1000 887/441/703 -f 280/540/1003 953/539/1002 890/443/927 -f 890/443/927 765/474/951 280/540/1003 -f 883/437/921 494/437/512 405/437/412 -f 495/539/1004 494/437/1005 883/437/1001 -f 883/437/1001 952/538/1000 495/539/1004 -f 953/539/1002 496/539/1006 495/539/1004 -f 495/539/1004 952/538/1000 953/539/1002 -f 767/461/939 768/475/155 954/541/1007 -f 954/541/1007 902/462/940 767/461/939 -f 906/467/944 905/466/943 688/543/1008 -f 688/543/1008 692/542/1009 906/467/944 -f 698/544/1010 955/545/1011 947/528/993 -f 947/528/993 633/529/995 698/544/1010 -f 635/524/987 938/517/980 906/467/944 -f 906/467/944 692/542/1009 635/524/987 -f 880/431/918 901/459/938 906/467/944 -f 906/467/944 938/517/980 880/431/918 -f 400/432/407 426/458/432 901/459/938 -f 901/459/938 880/431/918 400/432/407 -f 903/465/941 942/521/984 947/528/993 -f 947/528/993 904/464/942 903/465/941 -f 885/439/923 943/523/985 942/521/984 -f 942/521/984 903/465/941 885/439/923 -f 899/454/936 936/509/976 956/546/1012 -f 956/546/1012 896/453/934 899/454/936 -f 693/547/1013 696/519/989 940/519/982 -f 940/519/982 955/545/1011 693/547/1013 -f 896/453/934 955/545/1011 940/519/982 -f 940/519/982 939/518/981 896/453/934 -f 957/548/1014 958/549/1015 645/535/679 -f 645/535/679 949/533/997 957/548/1014 -f 959/551/1016 933/501/973 932/502/972 -f 932/502/972 642/515/979 707/550/798 -f 707/550/798 959/551/1016 932/502/972 -f 876/426/915 874/414/913 873/415/912 -f 873/415/912 957/548/1014 876/426/915 -f 949/533/997 877/425/916 876/426/915 -f 876/426/915 957/548/1014 949/533/997 -f 688/543/1008 905/466/943 945/525/988 -f 945/525/988 689/526/992 688/543/1008 -f 480/520/435 928/496/968 900/460/937 -f 900/460/937 425/457/431 480/520/435 -f 939/518/981 960/552/1017 897/456/812 -f 897/456/812 896/453/934 939/518/981 -f 939/518/981 930/497/970 929/498/969 -f 929/498/969 960/552/1017 939/518/981 -f 904/464/942 947/528/993 955/545/1011 -f 955/545/1011 956/546/1012 904/464/942 -f 904/464/942 956/546/1012 936/509/976 -f 936/509/976 894/447/932 904/464/942 -f 892/446/929 894/447/932 936/509/976 -f 936/509/976 919/485/959 892/446/929 -f 915/482/955 892/446/929 919/485/959 -f 919/485/959 918/486/958 915/482/955 -f 921/488/961 920/487/960 472/508/482 -f 472/508/482 471/507/481 921/488/961 -f 916/481/956 915/482/955 918/486/958 -f 918/486/958 921/488/961 916/481/956 -f 926/494/966 925/493/965 937/513/977 -f 937/513/977 934/500/974 926/494/966 -f 929/498/969 926/494/966 934/500/974 -f 934/500/974 933/501/973 929/498/969 -f 933/501/973 959/551/1016 960/552/1017 -f 960/552/1017 929/498/969 933/501/973 -f 897/456/812 960/552/1017 959/551/1016 -f 959/551/1016 958/549/1015 897/456/812 -f 958/549/1015 959/551/1016 707/550/798 -f 707/550/798 645/535/679 958/549/1015 -f 902/462/940 954/541/1007 961/554/1018 -f 961/554/1018 504/553/527 902/462/940 -f 504/553/527 429/461/435 902/462/940 -f 935/503/975 468/504/478 504/553/527 -f 504/553/527 961/554/1018 935/503/975 -f 954/541/1007 768/475/155 763/536/1019 -f 763/536/1019 950/536/998 954/541/1007 -f 951/537/999 961/554/1018 954/541/1007 -f 954/541/1007 950/536/998 951/537/999 -f 951/537/999 914/483/954 913/480/953 -f 913/480/953 935/503/975 951/537/999 -f 935/503/975 961/554/1018 951/537/999 -f 488/532/505 948/531/996 912/477/952 -f 912/477/952 442/478/452 488/532/505 -f 949/533/997 878/428/917 877/425/916 -f 763/536/1019 764/449/930 950/536/998 -f 766/475/950 889/444/926 764/449/930 -f 931/499/971 934/500/974 937/513/977 -f 937/513/977 639/555/744 931/499/971 -f 888/440/925 882/438/920 943/523/985 -f 635/524/987 634/530/994 942/521/984 -f 942/521/984 944/522/986 635/524/987 -f 693/547/1013 955/545/1011 698/544/1010 -f 872/416/911 895/452/933 917/484/957 -f 953/539/1002 280/540/1003 496/539/1006 -f 944/522/986 882/438/920 891/445/928 -f 885/439/923 888/440/925 943/523/985 -f 710/240/747 709/241/746 708/556/745 -f 708/556/745 937/513/977 710/240/747 -f 708/556/745 639/555/744 937/513/977 -f 639/555/744 638/514/978 931/499/971 -f 955/545/1011 896/453/934 956/546/1012 -f 898/455/935 897/456/812 958/549/1015 -f 958/549/1015 957/548/1014 898/455/935 -f 769/557/810 912/477/952 948/531/996 -f 770/476/811 912/477/952 769/557/810 -f 644/534/678 769/557/810 948/531/996 -f 898/455/935 957/548/1014 873/415/912 -f 909/471/947 699/527/991 910/470/948 -f 941/519/983 946/519/990 909/471/947 -f 909/471/947 908/472/946 941/519/983 -f 924/490/964 930/497/970 941/519/983 -f 941/519/983 908/472/946 924/490/964 -f 789/288/830 791/289/832 803/303/844 -f 803/303/844 806/307/847 789/288/830 -f 795/294/836 804/302/845 803/303/844 -f 803/303/844 791/289/832 795/294/836 -f 804/302/845 795/294/836 728/318/765 -f 728/318/765 723/324/760 804/302/845 -f 700/220/735 699/221/734 909/559/1020 -f 909/559/1020 962/558/1021 700/220/735 -f 698/218/733 697/219/732 694/217/729 -f 694/217/729 693/214/728 698/218/733 -f 695/216/730 963/561/1022 946/560/1023 -f 946/560/1023 696/215/731 695/216/730 -f 909/559/1020 946/560/1023 963/561/1022 -f 963/561/1022 962/559/1021 909/559/1020 -f 964/562/1024 691/565/1025 687/564/1026 -f 687/564/1026 965/563/1027 964/562/1024 -f 636/566/1028 691/565/1025 964/562/1024 -f 964/562/1024 966/567/1029 636/566/1028 -f 967/568/1030 631/569/1031 636/566/1028 -f 636/566/1028 966/567/1029 967/568/1030 -f 968/571/1032 632/571/1033 631/569/1031 -f 631/569/1031 967/568/1030 968/571/1032 -f 969/572/1034 697/573/1035 632/571/1033 -f 632/571/1033 968/571/1032 969/572/1034 -f 697/573/1035 969/572/1034 970/575/1036 -f 970/575/1036 694/574/1037 697/573/1035 -f 962/578/1038 963/577/1039 695/576/1040 -f 695/576/1040 971/580/1041 972/579/1042 -f 972/579/1042 962/578/1038 695/576/1040 -f 973/581/1043 700/581/1044 962/578/1038 -f 962/578/1038 972/579/1042 973/581/1043 -f 974/582/1045 690/583/1046 700/581/1044 -f 700/581/1044 973/581/1043 974/582/1045 -f 694/574/1037 970/575/1036 971/580/1041 -f 971/580/1041 695/576/1040 694/574/1037 -f 690/583/1046 974/582/1045 965/563/1027 -f 965/563/1027 687/564/1026 690/583/1046 -f 965/563/1027 974/582/1045 975/584/787 -f 975/584/787 964/562/1024 965/563/1027 -f 974/582/1045 973/581/1043 975/584/787 -f 972/579/1042 971/580/1041 975/584/787 -f 975/584/787 973/581/1043 972/579/1042 -f 971/580/1041 970/575/1036 975/584/787 -f 970/575/1036 969/572/1034 975/584/787 -f 969/572/1034 968/571/1032 975/584/787 -f 968/571/1032 967/568/1030 975/584/787 -f 966/567/1029 964/562/1024 975/584/787 -f 975/584/787 967/568/1030 966/567/1029 -f 531/11/567 601/87/637 684/205/719 -f 603/90/639 685/207/720 537/17/573 -f 537/17/573 602/89/638 603/90/639 -f 604/91/640 686/208/721 685/207/720 -f 685/207/720 603/90/639 604/91/640 -f 87/92/87 198/209/1 686/208/721 -f 686/208/721 604/91/640 87/92/87 -f 682/198/717 543/24/579 535/15/571 -f 535/15/571 602/89/638 682/198/717 -f 683/199/718 544/25/580 543/24/579 -f 543/24/579 682/198/717 683/199/718 -f 546/27/582 191/202/193 195/206/197 -f 195/206/197 683/199/718 546/27/582 -f 807/310/848 809/313/850 684/585/719 -f 684/585/719 539/314/575 807/310/848 -f 531/317/567 684/586/719 809/311/850 -f 809/311/850 810/312/851 531/317/567 -f 805/305/846 720/325/757 717/326/754 -f 775/270/816 776/273/817 771/266/812 -f 771/266/812 774/267/815 775/270/816 -f 775/270/816 787/285/828 776/273/817 -f 864/400/903 841/371/881 863/398/902 -f 863/398/902 976/587/1047 864/400/903 -f 865/401/904 864/400/903 976/587/1047 -f 976/587/1047 977/588/1048 865/401/904 -f 866/403/905 865/401/904 977/588/1048 -f 977/588/1048 857/391/896 866/403/905 -f 860/395/899 838/365/879 867/405/906 -f 867/405/906 978/589/1049 860/395/899 -f 978/589/1049 867/405/906 866/403/905 -f 866/403/905 857/391/896 978/589/1049 -f 860/395/899 854/390/893 979/590/1050 -f 979/590/1050 861/394/900 860/395/899 -f 979/590/1050 980/591/1051 862/396/901 -f 862/396/901 861/394/900 979/590/1050 -f 980/592/1051 846/382/885 863/398/902 -f 863/398/902 862/397/901 980/592/1051 -f 976/587/1047 863/398/902 846/382/885 -f 846/382/885 845/379/220 976/587/1047 -f 977/588/1048 976/587/1047 845/379/220 -f 845/379/220 849/383/888 977/588/1048 -f 852/386/891 857/391/896 977/588/1048 -f 977/588/1048 849/383/888 852/386/891 -f 854/390/893 860/395/899 978/589/1049 -f 978/589/1049 855/389/894 854/390/893 -f 855/389/894 978/589/1049 857/391/896 -f 854/390/893 853/387/892 981/593/1052 -f 981/593/1052 979/590/1050 854/390/893 -f 981/593/1052 859/594/898 980/591/1051 -f 980/591/1051 979/590/1050 981/593/1052 -f 859/393/898 847/381/886 846/382/885 -f 846/382/885 980/592/1051 859/393/898 -f 848/380/887 847/381/886 818/334/859 -f 818/334/859 820/335/861 848/380/887 -f 822/338/863 850/384/889 848/380/887 -f 848/380/887 820/335/861 822/338/863 -f 834/359/875 851/385/890 850/384/889 -f 850/384/889 822/338/863 834/359/875 -f 837/360/878 856/388/895 851/385/890 -f 851/385/890 834/359/875 837/360/878 -f 835/360/876 836/361/877 853/387/892 -f 837/360/878 835/360/876 853/387/892 -f 853/387/892 856/388/895 837/360/878 -f 858/392/897 981/593/1052 853/387/892 -f 853/387/892 836/361/877 858/392/897 -f 981/593/1052 858/392/897 817/333/858 -f 817/333/858 859/594/898 981/593/1052 -f 789/288/830 806/307/847 808/309/849 -f 808/309/849 797/296/838 789/288/830 -f 648/162/682 653/164/516 709/595/746 -f 647/160/681 770/265/811 663/177/696 -f 647/160/681 663/177/696 653/164/516 -f 648/162/682 647/160/681 653/164/516 -f 652/165/686 708/237/745 709/595/746 -f 709/595/746 653/164/516 652/165/686 -f 647/512/681 443/479/453 770/476/811 -f 526/596/91 110/115/110 612/113/647 -f 612/113/647 109/114/109 526/596/91 -f 982/597/1053 983/598/1054 984/599/1055 -f 984/599/1055 466/600/1056 982/597/1053 -f 984/599/1055 985/601/1057 463/602/1058 -f 463/602/1058 466/600/1056 984/599/1055 -f 463/602/1058 985/601/1057 986/603/1059 -f 986/603/1059 987/604/1060 143/605/1061 -f 143/605/1061 463/602/1058 986/603/1059 -f 984/599/1055 983/598/1054 988/606/1062 -f 985/601/1057 984/599/1055 988/606/1062 -f 988/606/1062 989/607/1063 985/601/1057 -f 990/608/1064 991/609/1065 985/601/1057 -f 985/601/1057 989/607/1063 990/608/1064 -f 985/601/1057 991/609/1065 986/603/1059 -f 992/610/1066 987/604/1060 986/603/1059 -f 986/603/1059 991/609/1065 992/610/1066 -f 987/604/1060 993/611/1067 994/612/1068 -f 994/612/1068 143/605/1061 987/604/1060 -f 995/613/1069 993/611/1067 987/604/1060 -f 987/604/1060 992/610/1066 995/613/1069 -f 982/597/1053 996/614/1070 983/598/1054 -f 466/600/1056 997/615/1071 982/597/1053 -f 931/602/1072 998/601/1073 999/599/1074 -f 999/599/1074 932/600/1075 931/602/1072 -f 999/599/1074 1000/598/1076 1001/597/1077 -f 1001/597/1077 932/600/1075 999/599/1074 -f 639/605/1078 1002/604/1079 1003/603/1080 -f 1003/603/1080 931/602/1072 639/605/1078 -f 1003/603/1080 998/601/1073 931/602/1072 -f 1004/606/1081 999/599/1074 998/601/1073 -f 998/601/1073 1005/607/1082 1004/606/1081 -f 999/599/1074 1004/606/1081 1000/598/1076 -f 998/601/1073 1003/603/1080 1006/609/1083 -f 1007/608/1084 1005/607/1082 998/601/1073 -f 998/601/1073 1006/609/1083 1007/608/1084 -f 1008/610/1085 1006/609/1083 1003/603/1080 -f 1003/603/1080 1002/604/1079 1008/610/1085 -f 1009/612/1086 1010/611/1087 1002/604/1079 -f 1002/604/1079 639/605/1078 1009/612/1086 -f 1011/613/1088 1008/610/1085 1002/604/1079 -f 1002/604/1079 1010/611/1087 1011/613/1088 -f 1000/598/1076 1012/614/1089 1001/597/1077 -f 932/600/1075 1001/597/1077 1013/615/1090 -# 2000 faces - diff --git a/games/raylib_demo/resources/catsham.png b/games/raylib_demo/resources/catsham.png deleted file mode 100644 index 8d7978e06..000000000 Binary files a/games/raylib_demo/resources/catsham.png and /dev/null differ diff --git a/games/raylib_demo/resources/catwhite.png b/games/raylib_demo/resources/catwhite.png deleted file mode 100644 index b849c4c07..000000000 Binary files a/games/raylib_demo/resources/catwhite.png and /dev/null differ diff --git a/games/raylib_demo/resources/fonts/alagard.rbmf b/games/raylib_demo/resources/fonts/alagard.rbmf deleted file mode 100644 index 8c9b68d3c..000000000 Binary files a/games/raylib_demo/resources/fonts/alagard.rbmf and /dev/null differ diff --git a/games/raylib_demo/resources/fonts/alpha_beta.rbmf b/games/raylib_demo/resources/fonts/alpha_beta.rbmf deleted file mode 100644 index bdb2e7521..000000000 Binary files a/games/raylib_demo/resources/fonts/alpha_beta.rbmf and /dev/null differ diff --git a/games/raylib_demo/resources/fonts/custom_alagard.png b/games/raylib_demo/resources/fonts/custom_alagard.png deleted file mode 100644 index c3eb63b71..000000000 Binary files a/games/raylib_demo/resources/fonts/custom_alagard.png and /dev/null differ diff --git a/games/raylib_demo/resources/fonts/custom_jupiter_crash.png b/games/raylib_demo/resources/fonts/custom_jupiter_crash.png deleted file mode 100644 index 451b591f1..000000000 Binary files a/games/raylib_demo/resources/fonts/custom_jupiter_crash.png and /dev/null differ diff --git a/games/raylib_demo/resources/fonts/custom_mecha.png b/games/raylib_demo/resources/fonts/custom_mecha.png deleted file mode 100644 index 59caab2cc..000000000 Binary files a/games/raylib_demo/resources/fonts/custom_mecha.png and /dev/null differ diff --git a/games/raylib_demo/resources/fonts/jupiter_crash.rbmf b/games/raylib_demo/resources/fonts/jupiter_crash.rbmf deleted file mode 100644 index d797e0d65..000000000 Binary files a/games/raylib_demo/resources/fonts/jupiter_crash.rbmf and /dev/null differ diff --git a/games/raylib_demo/resources/fonts/mecha.rbmf b/games/raylib_demo/resources/fonts/mecha.rbmf deleted file mode 100644 index 0266a0654..000000000 Binary files a/games/raylib_demo/resources/fonts/mecha.rbmf and /dev/null differ diff --git a/games/raylib_demo/resources/fonts/pixantiqua.rbmf b/games/raylib_demo/resources/fonts/pixantiqua.rbmf deleted file mode 100644 index 04ef0e25e..000000000 Binary files a/games/raylib_demo/resources/fonts/pixantiqua.rbmf and /dev/null differ diff --git a/games/raylib_demo/resources/fonts/pixelplay.rbmf b/games/raylib_demo/resources/fonts/pixelplay.rbmf deleted file mode 100644 index 31d14038d..000000000 Binary files a/games/raylib_demo/resources/fonts/pixelplay.rbmf and /dev/null differ diff --git a/games/raylib_demo/resources/fonts/romulus.rbmf b/games/raylib_demo/resources/fonts/romulus.rbmf deleted file mode 100644 index be9da01a3..000000000 Binary files a/games/raylib_demo/resources/fonts/romulus.rbmf and /dev/null differ diff --git a/games/raylib_demo/resources/fonts/setback.rbmf b/games/raylib_demo/resources/fonts/setback.rbmf deleted file mode 100644 index 09572215c..000000000 Binary files a/games/raylib_demo/resources/fonts/setback.rbmf and /dev/null differ diff --git a/games/raylib_demo/resources/lena.png b/games/raylib_demo/resources/lena.png deleted file mode 100644 index 59ef68aab..000000000 Binary files a/games/raylib_demo/resources/lena.png and /dev/null differ diff --git a/games/raylib_demo/resources/mandrill.png b/games/raylib_demo/resources/mandrill.png deleted file mode 100644 index a1267573b..000000000 Binary files a/games/raylib_demo/resources/mandrill.png and /dev/null differ diff --git a/games/raylib_demo/resources/platforms.png b/games/raylib_demo/resources/platforms.png deleted file mode 100644 index ff69a6149..000000000 Binary files a/games/raylib_demo/resources/platforms.png and /dev/null differ diff --git a/games/raylib_demo/resources/raylib_logo.png b/games/raylib_demo/resources/raylib_logo.png deleted file mode 100644 index 665456277..000000000 Binary files a/games/raylib_demo/resources/raylib_logo.png and /dev/null differ diff --git a/games/raylib_demo/resources/raylib_logo128x128.png b/games/raylib_demo/resources/raylib_logo128x128.png deleted file mode 100644 index 99ba54374..000000000 Binary files a/games/raylib_demo/resources/raylib_logo128x128.png and /dev/null differ diff --git a/games/raylib_demo/resources/raylib_window.png b/games/raylib_demo/resources/raylib_window.png deleted file mode 100644 index e5e08bd45..000000000 Binary files a/games/raylib_demo/resources/raylib_window.png and /dev/null differ diff --git a/games/raylib_demo/resources/raylib_window_01.png b/games/raylib_demo/resources/raylib_window_01.png deleted file mode 100644 index 26607b01e..000000000 Binary files a/games/raylib_demo/resources/raylib_window_01.png and /dev/null differ diff --git a/games/raylib_demo/resources/raylib_window_02.png b/games/raylib_demo/resources/raylib_window_02.png deleted file mode 100644 index 4a636e69f..000000000 Binary files a/games/raylib_demo/resources/raylib_window_02.png and /dev/null differ diff --git a/games/raylib_demo/resources/raylib_window_03.png b/games/raylib_demo/resources/raylib_window_03.png deleted file mode 100644 index 176b26729..000000000 Binary files a/games/raylib_demo/resources/raylib_window_03.png and /dev/null differ diff --git a/games/skully_escape/makefile b/games/skully_escape/makefile index 7cfd3190c..70f7f5a3a 100644 --- a/games/skully_escape/makefile +++ b/games/skully_escape/makefile @@ -1,19 +1,17 @@ #************************************************************************************************** # -# raylib - Advance Game +# raylib makefile for desktop platforms, Raspberry Pi and HTML5 (emscripten) # -# makefile to compile advance game +# Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) # -# Copyright (c) 2014 Ramon Santamaria (@raysan5) -# -# This software is provided "as-is", without any express or implied warranty. In no event +# This software is provided "as-is", without any express or implied warranty. In no event # will the authors be held liable for any damages arising from the use of this software. # -# Permission is granted to anyone to use this software for any purpose, including commercial +# Permission is granted to anyone to use this software for any purpose, including commercial # applications, and to alter it and redistribute it freely, subject to the following restrictions: # -# 1. The origin of this software must not be misrepresented; you must not claim that you -# wrote the original software. If you use this software in a product, an acknowledgment +# 1. The origin of this software must not be misrepresented; you must not claim that you +# wrote the original software. If you use this software in a product, an acknowledgment # in the product documentation would be appreciated but is not required. # # 2. Altered source versions must be plainly marked as such, and must not be misrepresented @@ -23,10 +21,23 @@ # #************************************************************************************************** -# define raylib platform if not defined (by default, compile for RPI) -# Other possible platform: PLATFORM_DESKTOP +.PHONY: all clean + +# define raylib platform to compile for +# possible platforms: PLATFORM_DESKTOP PLATFORM_RPI PLATFORM_WEB +# WARNING: To compile to HTML5, code must be redesigned to use emscripten.h and emscripten_set_main_loop() PLATFORM ?= PLATFORM_DESKTOP +# define NO to use OpenAL Soft as static library (shared by default) +SHARED_OPENAL ?= NO + +ifeq ($(PLATFORM),PLATFORM_WEB) + SHARED_OPENAL = NO +endif + +# define raylib directory for include and library +RAYLIB_PATH ?= C:\raylib\raylib + # determine PLATFORM_OS in case PLATFORM_DESKTOP selected ifeq ($(PLATFORM),PLATFORM_DESKTOP) # No uname.exe on MinGW!, but OS=Windows_NT on Windows! ifeq ($(UNAME),Msys) -> Windows @@ -62,48 +73,96 @@ endif endif # define compiler flags: -# -O2 defines optimization level -# -Wall turns on most, but not all, compiler warnings -# -std=c99 use standard C from 1999 revision -ifeq ($(PLATFORM),PLATFORM_RPI) - CFLAGS = -O2 -Wall -std=gnu99 -fgnu89-inline -else - CFLAGS = -O2 -Wall -std=c99 +# -O2 defines optimization level +# -Og enable debugging +# -s strip unnecessary data from build +# -Wall turns on most, but not all, compiler warnings +# -std=c99 defines C language mode (standard C from 1999 revision) +# -std=gnu99 defines C language mode (GNU C from 1999 revision) +# -fgnu89-inline declaring inline functions support (GCC optimized) +# -Wno-missing-braces ignore invalid warning (GCC bug 53119) +# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + CFLAGS = -O2 -s -Wall -std=c99 + endif + ifeq ($(PLATFORM_OS),LINUX) + CFLAGS = -O2 -s -Wall -std=c99 -D_DEFAULT_SOURCE + endif + ifeq ($(PLATFORM_OS),OSX) + CFLAGS = -O2 -s -Wall -std=c99 + endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -s USE_GLFW=3 --preload-file resources -s ALLOW_MEMORY_GROWTH=1 --shell-file ../../templates/web_shell/shell.html - #-s ASSERTIONS=1 --preload-file resources - #-s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing - #-s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 -s TOTAL_MEMORY=67108864 --profiling --preload-file resources + # -O2 # if used, also set --memory-init-file 0 + # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) + # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing + # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + # --preload-file file.res # embbed file.res resource into .data file +endif +ifeq ($(PLATFORM),PLATFORM_RPI) + CFLAGS = -O2 -s -Wall -std=gnu99 -fgnu89-inline +endif +#CFLAGSEXTRA = -Wextra -Wmissing-prototypes -Wstrict-prototypes + +# define raylib release directory for compiled library +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/win32/mingw32 + endif + ifeq ($(PLATFORM_OS),LINUX) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/linux + endif + ifeq ($(PLATFORM_OS),OSX) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/osx + endif +endif +ifeq ($(PLATFORM),PLATFORM_WEB) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/html5 +endif +ifeq ($(PLATFORM),PLATFORM_RPI) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/rpi endif # define any directories containing required header files +INCLUDES = -I. -I$(RAYLIB_RELEASE) -I$(RAYLIB_PATH)/src -I$(RAYLIB_PATH)/src/external + ifeq ($(PLATFORM),PLATFORM_RPI) - INCLUDES = -I. -I../../src -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -else - INCLUDES = -I. -I../../src -# external libraries headers -# GLFW3 - INCLUDES += -I../../external/glfw3/include -# GLEW - INCLUDES += -I../../external/glew/include -# OpenAL Soft - INCLUDES += -I../../external/openal_soft/include + INCLUDES += -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads +endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + # external libraries headers + # GLFW3 + INCLUDES += -I$(RAYLIB_PATH)/src/external/glfw3/include + # OpenAL Soft + INCLUDES += -I$(RAYLIB_PATH)/src/external/openal_soft/include + endif + ifeq ($(PLATFORM_OS),LINUX) + # you may optionally create this directory and install raylib + # and related headers there. Edit ../src/Makefile appropriately. + INCLUDES += -I/usr/local/include/raylib + endif + ifeq ($(PLATFORM_OS),OSX) + # additional directories for MacOS + endif endif # define library paths containing required libs +LFLAGS = -L. -L$(RAYLIB_RELEASE) -L$(RAYLIB_PATH)/src + ifeq ($(PLATFORM),PLATFORM_RPI) - LFLAGS = -L. -L../../src -L/opt/vc/lib -else - LFLAGS = -L. -L../../src -L../../../src - # external libraries to link with - # GLFW3 - LFLAGS += -L../../external/glfw3/lib/$(LIBPATH) - ifneq ($(PLATFORM_OS),OSX) - # OpenAL Soft - LFLAGS += -L../../external/openal_soft/lib/$(LIBPATH) - # GLEW - LFLAGS += -L../../external/glew/lib/$(LIBPATH) + LFLAGS += -L/opt/vc/lib +endif +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + # add standard directories for GNU/Linux + ifeq ($(PLATFORM_OS),WINDOWS) + # external libraries to link with + # GLFW3 + LFLAGS += -L$(RAYLIB_PATH)/src/external/glfw3/lib/$(LIBPATH) + # OpenAL Soft + LFLAGS += -L$(RAYLIB_PATH)/src/external/openal_soft/lib/$(LIBPATH) endif endif @@ -113,20 +172,27 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),LINUX) # libraries for Debian GNU/Linux desktop compiling # requires the following packages: - # libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw3 -lGLEW -lGL -lopenal -lm -pthread -ldl - # on XWindow could require also below libraries, just uncomment + # libglfw3-dev libopenal-dev libegl1-mesa-dev + LIBS = -lraylib -lglfw3 -lGL -lopenal -lm -lpthread -ldl + # on XWindow requires also below libraries LIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor else ifeq ($(PLATFORM_OS),OSX) - # libraries for OS X 10.9 desktop compiling + # libraries for OSX 10.9 desktop compiling # requires the following packages: - # libglfw3-dev libopenal-dev libglew-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw -framework OpenGL -framework OpenAl -framework Cocoa + # libglfw3-dev libopenal-dev libegl1-mesa-dev + LIBS = -lraylib -lglfw -framework OpenGL -framework OpenAL -framework Cocoa else # libraries for Windows desktop compiling # NOTE: GLFW3 and OpenAL Soft libraries should be installed - LIBS = -lraylib -lglfw3 -lglew32 -lopengl32 -lopenal32 -lgdi32 + LIBS = -lraylib -lglfw3 -lopengl32 -lgdi32 + # if static OpenAL Soft required, define the corresponding libs + ifeq ($(SHARED_OPENAL),NO) + LIBS += -lopenal32 -lwinmm + CFLAGS += -Wl,-allow-multiple-definition + else + LIBS += -lopenal32dll + endif endif endif endif @@ -136,19 +202,20 @@ ifeq ($(PLATFORM),PLATFORM_RPI) LIBS = -lraylib -lGLESv2 -lEGL -lpthread -lrt -lm -lbcm_host -lopenal endif ifeq ($(PLATFORM),PLATFORM_WEB) - LIBS = ../../src/libraylib.bc + # NOTE: Set the correct path to libraylib.bc + LIBS = $(RAYLIB_RELEASE)/libraylib.bc endif # define additional parameters and flags for windows ifeq ($(PLATFORM_OS),WINDOWS) # resources file contains windows exe icon # -Wl,--subsystem,windows hides the console window - WINFLAGS = ../../src/resources - #-Wl,--subsystem,windows + WINFLAGS = $(RAYLIB_PATH)/src/resources -Wl,--subsystem,windows endif ifeq ($(PLATFORM),PLATFORM_WEB) EXT = .html + WEB_SHELL = --shell-file $(RAYLIB_PATH)\templates\web_shell\shell.html endif # define all screen object files required @@ -167,13 +234,12 @@ SCREENS = \ player.o \ monster.o \ -# typing 'make' will invoke the first target entry in the file, -# in this case, the 'default' target entry is advance_game +# typing 'make' will invoke the default target entry default: skully_escape -# compile template - advance_game +# compile program skully_escape: skully_escape.c $(SCREENS) - $(CC) -o $@$(EXT) $< $(SCREENS) $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $^ $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile screen LOGO screens/screen_logo.o: screens/screen_logo.c @@ -235,10 +301,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) rm -f *.o else ifeq ($(PLATFORM_OS),LINUX) - find . -type f -executable -delete - rm -f *.o + find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -f else - del *.o *.exe + del *.o *.exe /s endif endif endif diff --git a/games/wave_collector/Makefile b/games/wave_collector/Makefile index 186598f15..618ef22b7 100644 --- a/games/wave_collector/Makefile +++ b/games/wave_collector/Makefile @@ -1,19 +1,17 @@ #************************************************************************************************** # -# raylib - Advance Game +# raylib makefile for desktop platforms, Raspberry Pi and HTML5 (emscripten) # -# makefile to compile advance game for desktop platforms, Raspberry Pi and HTML5 (emscripten) +# Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) # -# Copyright (c) 2014 Ramon Santamaria (@raysan5) -# -# This software is provided "as-is", without any express or implied warranty. In no event +# This software is provided "as-is", without any express or implied warranty. In no event # will the authors be held liable for any damages arising from the use of this software. # -# Permission is granted to anyone to use this software for any purpose, including commercial +# Permission is granted to anyone to use this software for any purpose, including commercial # applications, and to alter it and redistribute it freely, subject to the following restrictions: # -# 1. The origin of this software must not be misrepresented; you must not claim that you -# wrote the original software. If you use this software in a product, an acknowledgment +# 1. The origin of this software must not be misrepresented; you must not claim that you +# wrote the original software. If you use this software in a product, an acknowledgment # in the product documentation would be appreciated but is not required. # # 2. Altered source versions must be plainly marked as such, and must not be misrepresented @@ -30,6 +28,16 @@ # WARNING: To compile to HTML5, code must be redesigned to use emscripten.h and emscripten_set_main_loop() PLATFORM ?= PLATFORM_DESKTOP +# define NO to use OpenAL Soft as static library (shared by default) +SHARED_OPENAL ?= NO + +ifeq ($(PLATFORM),PLATFORM_WEB) + SHARED_OPENAL = NO +endif + +# define raylib directory for include and library +RAYLIB_PATH ?= C:\raylib\raylib + # determine PLATFORM_OS in case PLATFORM_DESKTOP selected ifeq ($(PLATFORM),PLATFORM_DESKTOP) # No uname.exe on MinGW!, but OS=Windows_NT on Windows! ifeq ($(UNAME),Msys) -> Windows @@ -65,69 +73,99 @@ endif endif # define compiler flags: -# -O2 defines optimization level -# -Wall turns on most, but not all, compiler warnings -# -std=c99 use standard C from 1999 revision -ifeq ($(PLATFORM),PLATFORM_RPI) - CFLAGS = -O2 -Wall -std=gnu99 -fgnu89-inline -else - CFLAGS = -O2 -Wall -std=c99 +# -O2 defines optimization level +# -Og enable debugging +# -s strip unnecessary data from build +# -Wall turns on most, but not all, compiler warnings +# -std=c99 defines C language mode (standard C from 1999 revision) +# -std=gnu99 defines C language mode (GNU C from 1999 revision) +# -fgnu89-inline declaring inline functions support (GCC optimized) +# -Wno-missing-braces ignore invalid warning (GCC bug 53119) +# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + CFLAGS = -O2 -s -Wall -std=c99 + endif + ifeq ($(PLATFORM_OS),LINUX) + CFLAGS = -O2 -s -Wall -std=c99 -D_DEFAULT_SOURCE + endif + ifeq ($(PLATFORM_OS),OSX) + CFLAGS = -O2 -s -Wall -std=c99 + endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -s USE_GLFW=3 -s ALLOW_MEMORY_GROWTH=1 --preload-file resources --shell-file C:/raylib/raylib/templates/web_shell/shell.html - #-s ASSERTIONS=1 # to check for memory allocation errors (-O1 disables it) - #-s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing - #-s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 -s TOTAL_MEMORY=67108864 --profiling --preload-file resources + # -O2 # if used, also set --memory-init-file 0 + # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) + # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing + # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + # --preload-file file.res # embbed file.res resource into .data file +endif +ifeq ($(PLATFORM),PLATFORM_RPI) + CFLAGS = -O2 -s -Wall -std=gnu99 -fgnu89-inline endif - #CFLAGSEXTRA = -Wextra -Wmissing-prototypes -Wstrict-prototypes -# define any directories containing required header files +# define raylib release directory for compiled library +ifeq ($(PLATFORM),PLATFORM_DESKTOP) + ifeq ($(PLATFORM_OS),WINDOWS) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/win32/mingw32 + endif + ifeq ($(PLATFORM_OS),LINUX) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/linux + endif + ifeq ($(PLATFORM_OS),OSX) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/osx + endif +endif +ifeq ($(PLATFORM),PLATFORM_WEB) + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/html5 +endif ifeq ($(PLATFORM),PLATFORM_RPI) - INCLUDES = -I. -I../../src -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/rpi +endif + +# define any directories containing required header files +INCLUDES = -I. -I$(RAYLIB_RELEASE) -I$(RAYLIB_PATH)/src -I$(RAYLIB_PATH)/src/external + +ifeq ($(PLATFORM),PLATFORM_RPI) + INCLUDES += -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads endif ifeq ($(PLATFORM),PLATFORM_DESKTOP) - # add standard directories for GNU/Linux - ifeq ($(PLATFORM_OS),LINUX) - INCLUDES = -I. -I../src -I/usr/local/include/raylib/ - else - INCLUDES = -I. -I../../src -IC:/raylib/raylib/src + ifeq ($(PLATFORM_OS),WINDOWS) # external libraries headers # GLFW3 - INCLUDES += -I../../external/glfw3/include + INCLUDES += -I$(RAYLIB_PATH)/src/external/glfw3/include # OpenAL Soft - INCLUDES += -I../../external/openal_soft/include + INCLUDES += -I$(RAYLIB_PATH)/src/external/openal_soft/include + endif + ifeq ($(PLATFORM_OS),LINUX) + # you may optionally create this directory and install raylib + # and related headers there. Edit ../src/Makefile appropriately. + INCLUDES += -I/usr/local/include/raylib + endif + ifeq ($(PLATFORM_OS),OSX) + # additional directories for MacOS endif endif # define library paths containing required libs +LFLAGS = -L. -L$(RAYLIB_RELEASE) -L$(RAYLIB_PATH)/src + ifeq ($(PLATFORM),PLATFORM_RPI) - LFLAGS = -L. -L../../src -L/opt/vc/lib + LFLAGS += -L/opt/vc/lib endif ifeq ($(PLATFORM),PLATFORM_DESKTOP) # add standard directories for GNU/Linux - ifeq ($(PLATFORM_OS),LINUX) - LFLAGS = -L. -L../../src - else - LFLAGS = -L. -L../../src - ifeq ($(PLATFORM_OS),WINDOWS) - LFLAGS += -LC:/GitHub/raylib/src - endif + ifeq ($(PLATFORM_OS),WINDOWS) # external libraries to link with # GLFW3 - LFLAGS += -L../../external/glfw3/lib/$(LIBPATH) - ifneq ($(PLATFORM_OS),OSX) - # OpenAL Soft - LFLAGS += -L../../external/openal_soft/lib/$(LIBPATH) - endif + LFLAGS += -L$(RAYLIB_PATH)/src/external/glfw3/lib/$(LIBPATH) + # OpenAL Soft + LFLAGS += -L$(RAYLIB_PATH)/src/external/openal_soft/lib/$(LIBPATH) endif endif -ifeq ($(PLATFORM),PLATFORM_WEB) - INCLUDES = -I. -I.. - LFLAGS = -L. -L.. -endif - # define any libraries to link into executable # if you want to link libraries (libname.so or libname.a), use the -lname ifeq ($(PLATFORM),PLATFORM_DESKTOP) @@ -135,18 +173,26 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) # libraries for Debian GNU/Linux desktop compiling # requires the following packages: # libglfw3-dev libopenal-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw3 -lGL -lopenal -lm -pthread -ldl -lX11 \ - -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor + LIBS = -lraylib -lglfw3 -lGL -lopenal -lm -lpthread -ldl + # on XWindow requires also below libraries + LIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor else ifeq ($(PLATFORM_OS),OSX) - # libraries for OS X 10.9 desktop compiling + # libraries for OSX 10.9 desktop compiling # requires the following packages: # libglfw3-dev libopenal-dev libegl1-mesa-dev - LIBS = -lraylib -lglfw3 -framework OpenGL -framework OpenAl -framework Cocoa + LIBS = -lraylib -lglfw -framework OpenGL -framework OpenAL -framework Cocoa else # libraries for Windows desktop compiling # NOTE: GLFW3 and OpenAL Soft libraries should be installed - LIBS = -lraylib -lglfw3 -lopengl32 -lopenal32 -lwinmm -lgdi32 + LIBS = -lraylib -lglfw3 -lopengl32 -lgdi32 + # if static OpenAL Soft required, define the corresponding libs + ifeq ($(SHARED_OPENAL),NO) + LIBS += -lopenal32 -lwinmm + CFLAGS += -Wl,-allow-multiple-definition + else + LIBS += -lopenal32dll + endif endif endif endif @@ -157,19 +203,19 @@ ifeq ($(PLATFORM),PLATFORM_RPI) endif ifeq ($(PLATFORM),PLATFORM_WEB) # NOTE: Set the correct path to libraylib.bc - LIBS = libraylib.bc + LIBS = $(RAYLIB_RELEASE)/libraylib.bc endif # define additional parameters and flags for windows ifeq ($(PLATFORM_OS),WINDOWS) # resources file contains windows exe icon # -Wl,--subsystem,windows hides the console window - WINFLAGS = C:/raylib/raylib/src/resources -Wl,-allow-multiple-definition - # -Wl,--subsystem,windows + WINFLAGS = $(RAYLIB_PATH)/src/resources -Wl,--subsystem,windows endif ifeq ($(PLATFORM),PLATFORM_WEB) EXT = .html + WEB_SHELL = --shell-file $(RAYLIB_PATH)\templates\web_shell\shell.html endif # define all screen object files required @@ -179,13 +225,12 @@ SCREENS = \ screens/screen_gameplay.o \ screens/screen_ending.o \ -# typing 'make' will invoke the default target entry called 'all', -# in this case, the 'default' target entry is advance_game +# typing 'make' will invoke the default target entry default: wave_collector -# compile template - advance_game +# compile program wave_collector: wave_collector.c $(SCREENS) - $(CC) -o $@$(EXT) $< $(SCREENS) $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $^ $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile screen LOGO screens/screen_logo.o: screens/screen_logo.c @@ -208,22 +253,21 @@ clean: ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),OSX) find . -type f -perm +ugo+x -delete - rm -f screens/*.o + rm -f *.o else ifeq ($(PLATFORM_OS),LINUX) - find . -type f -executable -delete - rm -f screens/*.o + find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -f else - del screens\*.o *.exe + del *.o *.exe /s endif endif endif ifeq ($(PLATFORM),PLATFORM_RPI) find . -type f -executable -delete - rm -f screens/*.o + rm -f *.o endif ifeq ($(PLATFORM),PLATFORM_WEB) - del screens/*.o *.html *.js + del *.o *.html *.js endif @echo Cleaning done diff --git a/release/html5/libraylib.bc b/release/html5/libraylib.bc index 083a3c3df..bdd53addf 100644 Binary files a/release/html5/libraylib.bc and b/release/html5/libraylib.bc differ diff --git a/release/html5/raylib.h b/release/html5/raylib.h index a47d3c590..b82ec3429 100644 --- a/release/html5/raylib.h +++ b/release/html5/raylib.h @@ -1,51 +1,53 @@ /********************************************************************************************** * -* raylib 1.6.0 (www.raylib.com) +* raylib v1.7.0 * -* A simple and easy-to-use library to learn videogames programming +* A simple and easy-to-use library to learn videogames programming (www.raylib.com) * -* Features: -* Library written in plain C code (C99) -* Uses PascalCase/camelCase notation -* Hardware accelerated with OpenGL (1.1, 2.1, 3.3 or ES 2.0) -* Unique OpenGL abstraction layer (usable as standalone module): [rlgl] -* Powerful fonts module with SpriteFonts support (XNA bitmap fonts, AngelCode fonts, TTF) -* Multiple textures support, including compressed formats and mipmaps generation -* Basic 3d support for Shapes, Models, Billboards, Heightmaps and Cubicmaps -* Materials (diffuse, normal, specular) and Lighting (point, directional, spot) support -* Powerful math module for Vector, Matrix and Quaternion operations: [raymath] -* Audio loading and playing with streaming support and mixing channels [audio] -* VR stereo rendering support with configurable HMD device parameters -* Multiple platforms support: Windows, Linux, Mac, Android, Raspberry Pi, HTML5 and Oculus Rift CV1 -* Custom color palette for fancy visuals on raywhite background -* Minimal external dependencies (GLFW3, OpenGL, OpenAL) -* Complete binding for Lua [rlua] +* FEATURES: +* - Library written in plain C code (C99) +* - Uses PascalCase/camelCase notation +* - Hardware accelerated with OpenGL (1.1, 2.1, 3.3 or ES 2.0) +* - Unique OpenGL abstraction layer (usable as standalone module): [rlgl] +* - Powerful fonts module with SpriteFonts support (XNA bitmap fonts, AngelCode fonts, TTF) +* - Multiple textures support, including compressed formats and mipmaps generation +* - Basic 3d support for Shapes, Models, Billboards, Heightmaps and Cubicmaps +* - Powerful math module for Vector, Matrix and Quaternion operations: [raymath] +* - Audio loading and playing with streaming support and mixing channels: [audio] +* - VR stereo rendering support with configurable HMD device parameters +* - Multiple platforms support: Windows, Linux, Mac, Android, Raspberry Pi, HTML5 and Oculus Rift CV1 +* - Custom color palette for fancy visuals on raywhite background +* - Minimal external dependencies (GLFW3, OpenGL, OpenAL) +* - Complete bindings for Lua, Go and Pascal * -* External libs: -* GLFW3 (www.glfw.org) for window/context management and input [core] -* GLAD for OpenGL extensions loading (3.3 Core profile, only PLATFORM_DESKTOP) [rlgl] -* stb_image (Sean Barret) for images loading (JPEG, PNG, BMP, TGA) [textures] -* stb_image_write (Sean Barret) for image writting (PNG) [utils] -* stb_truetype (Sean Barret) for ttf fonts loading [text] -* stb_vorbis (Sean Barret) for ogg audio loading [audio] -* jar_xm (Joshua Reisenauer) for XM audio module loading [audio] -* jar_mod (Joshua Reisenauer) for MOD audio module loading [audio] -* dr_flac (David Reid) for FLAC audio file loading [audio] -* OpenAL Soft for audio device/context management [audio] -* tinfl for data decompression (DEFLATE algorithm) [utils] +* NOTES: +* 32bit Colors - All defined color are always RGBA (struct Color is 4 byte) +* One custom default font could be loaded automatically when InitWindow() [core] +* If using OpenGL 3.3 or ES2, several vertex buffers (VAO/VBO) are created to manage lines-triangles-quads +* If using OpenGL 3.3 or ES2, two default shaders could be loaded automatically (internally defined) * -* Some design decisions: -* 32bit Colors - All defined color are always RGBA (struct Color is 4 byte) -* One custom default font could be loaded automatically when InitWindow() [core] -* If using OpenGL 3.3 or ES2, several vertex buffers (VAO/VBO) are created to manage lines-triangles-quads -* If using OpenGL 3.3 or ES2, two default shaders could be loaded automatically (internally defined) +* DEPENDENCIES: +* GLFW3 (www.glfw.org) for window/context management and input [core] +* GLAD for OpenGL extensions loading (3.3 Core profile, only PLATFORM_DESKTOP) [rlgl] +* OpenAL Soft for audio device/context management [audio] * -* -- LICENSE -- +* OPTIONAL DEPENDENCIES: +* stb_image (Sean Barret) for images loading (JPEG, PNG, BMP, TGA) [textures] +* stb_image_write (Sean Barret) for image writting (PNG) [utils] +* stb_truetype (Sean Barret) for ttf fonts loading [text] +* stb_vorbis (Sean Barret) for ogg audio loading [audio] +* jar_xm (Joshua Reisenauer) for XM audio module loading [audio] +* jar_mod (Joshua Reisenauer) for MOD audio module loading [audio] +* dr_flac (David Reid) for FLAC audio file loading [audio] +* tinfl for data decompression (DEFLATE algorithm) [rres] +* +* +* LICENSE: zlib/libpng * * raylib is licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software: * -* Copyright (c) 2013-2016 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -98,13 +100,13 @@ #define RAD2DEG (180.0f/PI) // raylib Config Flags -#define FLAG_FULLSCREEN_MODE 1 -#define FLAG_RESIZABLE_WINDOW 2 -#define FLAG_SHOW_LOGO 4 -#define FLAG_SHOW_MOUSE_CURSOR 8 -#define FLAG_CENTERED_MODE 16 -#define FLAG_MSAA_4X_HINT 32 -#define FLAG_VSYNC_HINT 64 +#define FLAG_SHOW_LOGO 1 // Set to show raylib logo at startup +#define FLAG_FULLSCREEN_MODE 2 // Set to run program in fullscreen +#define FLAG_WINDOW_RESIZABLE 4 // Set to allow resizable window +#define FLAG_WINDOW_DECORATED 8 // Set to show window decoration (frame and buttons) +#define FLAG_WINDOW_TRANSPARENT 16 // Set to allow transparent window +#define FLAG_MSAA_4X_HINT 32 // Set to try enabling MSAA 4X +#define FLAG_VSYNC_HINT 64 // Set to try enabling V-Sync on GPU // Keyboard Function Keys #define KEY_SPACE 32 @@ -297,13 +299,9 @@ //---------------------------------------------------------------------------------- #ifndef __cplusplus // Boolean type - #ifndef __APPLE__ - #if !defined(_STDBOOL_H) - typedef enum { false, true } bool; - #define _STDBOOL_H - #endif - #else - #include + #if !defined(_STDBOOL_H) + typedef enum { false, true } bool; + #define _STDBOOL_H #endif #endif @@ -371,15 +369,21 @@ typedef struct RenderTexture2D { Texture2D depth; // Depth buffer attachment texture } RenderTexture2D; +// SpriteFont character info +typedef struct CharInfo { + int value; // Character value (Unicode) + Rectangle rec; // Character rectangle in sprite font + int offsetX; // Character offset X when drawing + int offsetY; // Character offset Y when drawing + int advanceX; // Character advance position X +} CharInfo; + // SpriteFont type, includes texture and charSet array data typedef struct SpriteFont { Texture2D texture; // Font texture - int size; // Base size (default chars height) - int numChars; // Number of characters - int *charValues; // Characters values array - Rectangle *charRecs; // Characters rectangles within the texture - Vector2 *charOffsets; // Characters offsets (on drawing) - int *charAdvanceX; // Characters x advance (on drawing) + int baseSize; // Base size (default chars height) + int charsCount; // Number of characters + CharInfo *chars; // Characters info data } SpriteFont; // Camera type, defines a camera position/orientation in 3d space @@ -466,25 +470,6 @@ typedef struct Model { Material material; // Shader and textures data } Model; -// Light type -typedef struct LightData { - unsigned int id; // Light unique id - bool enabled; // Light enabled - int type; // Light type: LIGHT_POINT, LIGHT_DIRECTIONAL, LIGHT_SPOT - - Vector3 position; // Light position - Vector3 target; // Light direction: LIGHT_DIRECTIONAL and LIGHT_SPOT (cone direction target) - float radius; // Light attenuation radius light intensity reduced with distance (world distance) - - Color diffuse; // Light diffuse color - float intensity; // Light intensity level - - float coneAngle; // Light cone max angle: LIGHT_SPOT -} LightData, *Light; - -// Light types -typedef enum { LIGHT_POINT, LIGHT_DIRECTIONAL, LIGHT_SPOT } LightType; - // Ray type (useful for raycast) typedef struct Ray { Vector3 position; // Ray position (origin) @@ -610,26 +595,34 @@ typedef enum { HMD_FOVE_VR, } VrDevice; -// rRES data returned when reading a resource, it contains all required data for user (24 byte) -typedef struct { +// rRES data returned when reading a resource, +// it contains all required data for user (24 byte) +typedef struct RRESData { unsigned int type; // Resource type (4 byte) - + unsigned int param1; // Resouce parameter 1 (4 byte) unsigned int param2; // Resouce parameter 2 (4 byte) unsigned int param3; // Resouce parameter 3 (4 byte) unsigned int param4; // Resouce parameter 4 (4 byte) - + void *data; // Resource data pointer (4 byte) } RRESData; +// RRESData type typedef enum { - RRES_RAW = 0, - RRES_IMAGE, - RRES_WAVE, - RRES_VERTEX, - RRES_TEXT + RRES_TYPE_RAW = 0, + RRES_TYPE_IMAGE, + RRES_TYPE_WAVE, + RRES_TYPE_VERTEX, + RRES_TYPE_TEXT, + RRES_TYPE_FONT_IMAGE, + RRES_TYPE_FONT_CHARDATA, // CharInfo data array + RRES_TYPE_DIRECTORY } RRESDataType; +// RRES type (pointer to RRESData array) +typedef struct RRESData *RRES; + #ifdef __cplusplus extern "C" { // Prevents name mangling of functions #endif @@ -652,6 +645,9 @@ RLAPI void CloseWindow(void); // Close Windo RLAPI bool WindowShouldClose(void); // Detect if KEY_ESCAPE pressed or Close icon pressed RLAPI bool IsWindowMinimized(void); // Detect if window has been minimized (or lost focus) RLAPI void ToggleFullscreen(void); // Fullscreen toggle (only PLATFORM_DESKTOP) +RLAPI void SetWindowIcon(Image image); // Set icon for window (only PLATFORM_DESKTOP) +RLAPI void SetWindowPosition(int x, int y); // Set window position on screen (only PLATFORM_DESKTOP) +RLAPI void SetWindowMonitor(int monitor); // Set monitor for the current window (fullscreen mode) RLAPI int GetScreenWidth(void); // Get current screen width RLAPI int GetScreenHeight(void); // Get current screen height @@ -679,7 +675,7 @@ RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Returns the RLAPI Matrix GetCameraMatrix(Camera camera); // Returns camera transform matrix (view matrix) RLAPI void SetTargetFPS(int fps); // Set target FPS (maximum) -RLAPI float GetFPS(void); // Returns current FPS +RLAPI int GetFPS(void); // Returns current FPS RLAPI float GetFrameTime(void); // Returns time in seconds for one frame RLAPI Color GetColor(int hexValue); // Returns a Color struct from hexadecimal value @@ -691,8 +687,11 @@ RLAPI float *MatrixToFloat(Matrix mat); // Converts Ma RLAPI int GetRandomValue(int min, int max); // Returns a random value between min and max (both included) RLAPI Color Fade(Color color, float alpha); // Color fade-in or fade-out, alpha goes from 0.0f to 1.0f -RLAPI void SetConfigFlags(char flags); // Setup some window configuration flags RLAPI void ShowLogo(void); // Activates raylib logo at startup (can be done with flags) +RLAPI void SetConfigFlags(char flags); // Setup some window configuration flags +//RLAPI void TraceLog(int logType, const char *text, ...); // Show trace log messages (INFO, WARNING, ERROR, DEBUG) +RLAPI void TakeScreenshot(void); // Takes a screenshot and saves it in the same folder as executable +RLAPI bool IsFileExtension(const char *fileName, const char *ext);// Check file extension RLAPI bool IsFileDropped(void); // Check if a file have been dropped into window RLAPI char **GetDroppedFiles(int *count); // Retrieve dropped files into window @@ -769,12 +768,15 @@ RLAPI void DrawPixel(int posX, int posY, Color color); RLAPI void DrawPixelV(Vector2 position, Color color); // Draw a pixel (Vector version) RLAPI void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw a line RLAPI void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (Vector version) +RLAPI void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line defining thickness +RLAPI void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line using cubic-bezier curves in-out RLAPI void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle RLAPI void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle RLAPI void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version) RLAPI void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline RLAPI void DrawRectangle(int posX, int posY, int width, int height, Color color); // Draw a color-filled rectangle RLAPI void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle +RLAPI void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color); // Draw a color-filled rectangle with pro parameters RLAPI void DrawRectangleGradient(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a gradient-filled rectangle RLAPI void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version) RLAPI void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline @@ -820,7 +822,7 @@ RLAPI Image ImageText(const char *text, int fontSize, Color color); RLAPI Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing, Color tint); // Create an image from text (custom sprite font) RLAPI void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec); // Draw a source image within a destination image RLAPI void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination) -RLAPI void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, +RLAPI void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, float fontSize, int spacing, Color color); // Draw text (custom sprite font) within an image (destination) RLAPI void ImageFlipVertical(Image *image); // Flip image vertically RLAPI void ImageFlipHorizontal(Image *image); // Flip image horizontally @@ -845,7 +847,7 @@ RLAPI void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle dest //------------------------------------------------------------------------------------ RLAPI SpriteFont GetDefaultFont(void); // Get the default SpriteFont RLAPI SpriteFont LoadSpriteFont(const char *fileName); // Load SpriteFont from file into GPU memory (VRAM) -RLAPI SpriteFont LoadSpriteFontTTF(const char *fileName, int fontSize, int numChars, int *fontChars); // Load SpriteFont from TTF font file with generation parameters +RLAPI SpriteFont LoadSpriteFontTTF(const char *fileName, int fontSize, int charsCount, int *fontChars); // Load SpriteFont from TTF font file with generation parameters RLAPI void UnloadSpriteFont(SpriteFont spriteFont); // Unload SpriteFont from GPU memory (VRAM) RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) @@ -876,7 +878,6 @@ RLAPI void DrawPlane(Vector3 centerPos, Vector2 size, Color color); RLAPI void DrawRay(Ray ray, Color color); // Draw a ray line RLAPI void DrawGrid(int slices, float spacing); // Draw a grid (centered at (0, 0, 0)) RLAPI void DrawGizmo(Vector3 position); // Draw simple gizmo -RLAPI void DrawLight(Light light); // Draw light in 3D world //DrawTorus(), DrawTeapot() could be useful? //------------------------------------------------------------------------------------ @@ -892,21 +893,19 @@ RLAPI void UnloadMesh(Mesh *mesh); RLAPI void UnloadModel(Model model); // Unload model from memory (RAM and/or VRAM) RLAPI Material LoadMaterial(const char *fileName); // Load material from file -RLAPI Material LoadMaterialEx(Shader shader, Texture2D diffuse, Color color); // Load material from basic shading data RLAPI Material LoadDefaultMaterial(void); // Load default material (uses default models shader) -RLAPI Material LoadStandardMaterial(void); // Load standard material (uses material attributes and lighting shader) RLAPI void UnloadMaterial(Material material); // Unload material from GPU memory (VRAM) RLAPI void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set) -RLAPI void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, +RLAPI void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model with extended parameters RLAPI void DrawModelWires(Model model, Vector3 position, float scale, Color tint); // Draw a model wires (with texture if set) -RLAPI void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, +RLAPI void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters RLAPI void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires) RLAPI void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint); // Draw a billboard texture -RLAPI void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, +RLAPI void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vector3 center, float size, Color tint); // Draw a billboard texture defined by sourceRec RLAPI BoundingBox CalculateBoundingBox(Mesh mesh); // Calculate mesh bounding box limits @@ -914,7 +913,7 @@ RLAPI bool CheckCollisionSpheres(Vector3 centerA, float radiusA, Vector3 centerB RLAPI bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Detect collision between two bounding boxes RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 centerSphere, float radiusSphere); // Detect collision between box and sphere RLAPI bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius); // Detect collision between ray and sphere -RLAPI bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, +RLAPI bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, Vector3 *collisionPoint); // Detect collision between ray and sphere, returns collision point RLAPI bool CheckCollisionRayBox(Ray ray, BoundingBox box); // Detect collision between ray and box RLAPI RayHitInfo GetCollisionRayMesh(Ray ray, Mesh *mesh); // Get collision info between ray and mesh @@ -930,7 +929,6 @@ RLAPI Shader LoadShader(char *vsFileName, char *fsFileName); // Loa RLAPI void UnloadShader(Shader shader); // Unload shader from GPU memory (VRAM) RLAPI Shader GetDefaultShader(void); // Get default shader -RLAPI Shader GetStandardShader(void); // Get standard shader RLAPI Texture2D GetDefaultTexture(void); // Get default texture RLAPI int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location @@ -946,19 +944,17 @@ RLAPI void EndShaderMode(void); // End RLAPI void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied) RLAPI void EndBlendMode(void); // End blending mode (reset to default: alpha blending) -RLAPI Light CreateLight(int type, Vector3 position, Color diffuse); // Create a new light, initialize it and add to pool -RLAPI void DestroyLight(Light light); // Destroy a light and take it out of the list - //------------------------------------------------------------------------------------ // VR experience Functions (Module: rlgl) // NOTE: This functions are useless when using OpenGL 1.1 //------------------------------------------------------------------------------------ -RLAPI void InitVrDevice(int vdDevice); // Init VR device -RLAPI void CloseVrDevice(void); // Close VR device -RLAPI bool IsVrDeviceReady(void); // Detect if VR device is ready -RLAPI bool IsVrSimulator(void); // Detect if VR simulator is running -RLAPI void UpdateVrTracking(Camera *camera); // Update VR tracking (position and orientation) and camera -RLAPI void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) +RLAPI void InitVrSimulator(int vrDevice); // Init VR simulator for selected device +RLAPI void CloseVrSimulator(void); // Close VR simulator for current device +RLAPI bool IsVrSimulatorReady(void); // Detect if VR device is ready +RLAPI void UpdateVrTracking(Camera *camera); // Update VR tracking (position and orientation) and camera +RLAPI void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) +RLAPI void BeginVrDrawing(void); // Begin VR simulator stereo rendering +RLAPI void EndVrDrawing(void); // End VR simulator stereo rendering //------------------------------------------------------------------------------------ // Audio Loading and Playing Functions (Module: audio) @@ -966,12 +962,13 @@ RLAPI void ToggleVrMode(void); // Enable/Disable VR experienc RLAPI void InitAudioDevice(void); // Initialize audio device and context RLAPI void CloseAudioDevice(void); // Close the audio device and context RLAPI bool IsAudioDeviceReady(void); // Check if audio device has been initialized successfully +RLAPI void SetMasterVolume(float volume); // Set master volume (listener) RLAPI Wave LoadWave(const char *fileName); // Load wave data from file RLAPI Wave LoadWaveEx(void *data, int sampleCount, int sampleRate, int sampleSize, int channels); // Load wave data from raw array data RLAPI Sound LoadSound(const char *fileName); // Load sound from file RLAPI Sound LoadSoundFromWave(Wave wave); // Load sound from wave data -RLAPI void UpdateSound(Sound sound, const void *data, int numSamples);// Update sound buffer with new data +RLAPI void UpdateSound(Sound sound, const void *data, int samplesCount);// Update sound buffer with new data RLAPI void UnloadWave(Wave wave); // Unload wave data RLAPI void UnloadSound(Sound sound); // Unload sound RLAPI void PlaySound(Sound sound); // Play a sound @@ -995,13 +992,14 @@ RLAPI void ResumeMusicStream(Music music); // Resume RLAPI bool IsMusicPlaying(Music music); // Check if music is playing RLAPI void SetMusicVolume(Music music, float volume); // Set volume for music (1.0 is max level) RLAPI void SetMusicPitch(Music music, float pitch); // Set pitch for a music (1.0 is base level) +RLAPI void SetMusicLoopCount(Music music, float count); // Set music loop count (loop repeats) RLAPI float GetMusicTimeLength(Music music); // Get music time length (in seconds) RLAPI float GetMusicTimePlayed(Music music); // Get current music time played (in seconds) RLAPI AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); // Init audio stream (to stream raw audio pcm data) -RLAPI void UpdateAudioStream(AudioStream stream, const void *data, int numSamples); // Update audio stream buffers with data +RLAPI void UpdateAudioStream(AudioStream stream, const void *data, int samplesCount); // Update audio stream buffers with data RLAPI void CloseAudioStream(AudioStream stream); // Close audio stream and free memory RLAPI bool IsAudioBufferProcessed(AudioStream stream); // Check if any audio stream buffers requires refill RLAPI void PlayAudioStream(AudioStream stream); // Play audio stream diff --git a/src/audio.c b/src/audio.c index 34be47895..d63047a84 100644 --- a/src/audio.c +++ b/src/audio.c @@ -68,6 +68,7 @@ //------------------------------------------------- #define SUPPORT_FILEFORMAT_WAV #define SUPPORT_FILEFORMAT_OGG +#define SUPPORT_FILEFORMAT_XM //------------------------------------------------- #if defined(AUDIO_STANDALONE) @@ -75,7 +76,7 @@ #include // Required for: va_list, va_start(), vfprintf(), va_end() #else #include "raylib.h" - #include "utils.h" // Required for: fopen() Android mapping, TraceLog() + #include "utils.h" // Required for: fopen() Android mapping #endif #ifdef __APPLE__ diff --git a/src/core.c b/src/core.c index 3f3bc6ea7..1bad23698 100644 --- a/src/core.c +++ b/src/core.c @@ -81,7 +81,7 @@ #include "raylib.h" #include "rlgl.h" // raylib OpenGL abstraction layer to OpenGL 1.1, 3.3+ or ES2 -#include "utils.h" // Required for: fopen() Android mapping, TraceLog() +#include "utils.h" // Required for: fopen() Android mapping #define RAYMATH_IMPLEMENTATION // Use raymath as a header-only library (includes implementation) #define RAYMATH_EXTERN_INLINE // Compile raymath functions as static inline (remember, it's a compiler hint) @@ -2719,6 +2719,8 @@ static EM_BOOL EmscriptenKeyboardCallback(int eventType, const EmscriptenKeyboar // Register mouse input events static EM_BOOL EmscriptenMouseCallback(int eventType, const EmscriptenMouseEvent *mouseEvent, void *userData) { + /* + // Lock mouse pointer when click on screen if (eventType == EMSCRIPTEN_EVENT_CLICK) { EmscriptenPointerlockChangeEvent plce; @@ -2732,6 +2734,7 @@ static EM_BOOL EmscriptenMouseCallback(int eventType, const EmscriptenMouseEvent //if (plce.isActive) TraceLog(WARNING, "Pointer lock exit did not work!"); } } + */ return 0; } diff --git a/src/external/stb_image.h b/src/external/stb_image.h index 4d8d01332..ae2ada6a6 100644 --- a/src/external/stb_image.h +++ b/src/external/stb_image.h @@ -1,4 +1,4 @@ -/* stb_image - v2.14 - public domain image loader - http://nothings.org/stb_image.h +/* stb_image - v2.15 - public domain image loader - http://nothings.org/stb_image.h no warranty implied; use at your own risk Do this: @@ -21,7 +21,7 @@ avoid problematic images and only need the trivial interface JPEG baseline & progressive (12 bpc/arithmetic not supported, same as stock IJG lib) - PNG 1/2/4/8-bit-per-channel (16 bpc not supported) + PNG 1/2/4/8/16-bit-per-channel TGA (not sure what subset, if a subset) BMP non-1bpp, non-RLE @@ -42,115 +42,19 @@ Full documentation under "DOCUMENTATION" below. - Revision 2.00 release notes: +LICENSE - - Progressive JPEG is now supported. + See end of file for license information. - - PPM and PGM binary formats are now supported, thanks to Ken Miller. +RECENT REVISION HISTORY: - - x86 platforms now make use of SSE2 SIMD instructions for - JPEG decoding, and ARM platforms can use NEON SIMD if requested. - This work was done by Fabian "ryg" Giesen. SSE2 is used by - default, but NEON must be enabled explicitly; see docs. - - With other JPEG optimizations included in this version, we see - 2x speedup on a JPEG on an x86 machine, and a 1.5x speedup - on a JPEG on an ARM machine, relative to previous versions of this - library. The same results will not obtain for all JPGs and for all - x86/ARM machines. (Note that progressive JPEGs are significantly - slower to decode than regular JPEGs.) This doesn't mean that this - is the fastest JPEG decoder in the land; rather, it brings it - closer to parity with standard libraries. If you want the fastest - decode, look elsewhere. (See "Philosophy" section of docs below.) - - See final bullet items below for more info on SIMD. - - - Added STBI_MALLOC, STBI_REALLOC, and STBI_FREE macros for replacing - the memory allocator. Unlike other STBI libraries, these macros don't - support a context parameter, so if you need to pass a context in to - the allocator, you'll have to store it in a global or a thread-local - variable. - - - Split existing STBI_NO_HDR flag into two flags, STBI_NO_HDR and - STBI_NO_LINEAR. - STBI_NO_HDR: suppress implementation of .hdr reader format - STBI_NO_LINEAR: suppress high-dynamic-range light-linear float API - - - You can suppress implementation of any of the decoders to reduce - your code footprint by #defining one or more of the following - symbols before creating the implementation. - - STBI_NO_JPEG - STBI_NO_PNG - STBI_NO_BMP - STBI_NO_PSD - STBI_NO_TGA - STBI_NO_GIF - STBI_NO_HDR - STBI_NO_PIC - STBI_NO_PNM (.ppm and .pgm) - - - You can request *only* certain decoders and suppress all other ones - (this will be more forward-compatible, as addition of new decoders - doesn't require you to disable them explicitly): - - STBI_ONLY_JPEG - STBI_ONLY_PNG - STBI_ONLY_BMP - STBI_ONLY_PSD - STBI_ONLY_TGA - STBI_ONLY_GIF - STBI_ONLY_HDR - STBI_ONLY_PIC - STBI_ONLY_PNM (.ppm and .pgm) - - Note that you can define multiples of these, and you will get all - of them ("only x" and "only y" is interpreted to mean "only x&y"). - - - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still - want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB - - - Compilation of all SIMD code can be suppressed with - #define STBI_NO_SIMD - It should not be necessary to disable SIMD unless you have issues - compiling (e.g. using an x86 compiler which doesn't support SSE - intrinsics or that doesn't support the method used to detect - SSE2 support at run-time), and even those can be reported as - bugs so I can refine the built-in compile-time checking to be - smarter. - - - The old STBI_SIMD system which allowed installing a user-defined - IDCT etc. has been removed. If you need this, don't upgrade. My - assumption is that almost nobody was doing this, and those who - were will find the built-in SIMD more satisfactory anyway. - - - RGB values computed for JPEG images are slightly different from - previous versions of stb_image. (This is due to using less - integer precision in SIMD.) The C code has been adjusted so - that the same RGB values will be computed regardless of whether - SIMD support is available, so your app should always produce - consistent results. But these results are slightly different from - previous versions. (Specifically, about 3% of available YCbCr values - will compute different RGB results from pre-1.49 versions by +-1; - most of the deviating values are one smaller in the G channel.) - - - If you must produce consistent results with previous versions of - stb_image, #define STBI_JPEG_OLD and you will get the same results - you used to; however, you will not get the SIMD speedups for - the YCbCr-to-RGB conversion step (although you should still see - significant JPEG speedup from the other changes). - - Please note that STBI_JPEG_OLD is a temporary feature; it will be - removed in future versions of the library. It is only intended for - near-term back-compatibility use. - - - Latest revision history: + 2.15 (2017-03-18) fix png-1,2,4; all Imagenet JPGs; no runtime SSE detection on GCC + 2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs 2.13 (2016-12-04) experimental 16-bit API, only for PNG so far; fixes 2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes 2.11 (2016-04-02) 16-bit PNGS; enable SSE2 in non-gcc x64 RGB-format JPEG; remove white matting in PSD; - allocate large structures on the stack; + allocate large structures on the stack; correct channel count for PNG & BMP 2.10 (2016-01-22) avoid warning introduced in 2.09 2.09 (2016-01-16) 16-bit TGA; comments in PNM files; STBI_REALLOC_SIZED @@ -174,32 +78,26 @@ Ken Miller (pgm, ppm) Richard Mitton (16-bit PSD) github:urraka (animated gif) Junggon Kim (PNM comments) Daniel Gibson (16-bit TGA) - socks-the-fox (16-bit TGA) + socks-the-fox (16-bit PNG) + Jeremy Sawicki (handle all ImageNet JPGs) Optimizations & bugfixes Fabian "ryg" Giesen Arseny Kapoulkine Bug & warning fixes Marc LeBlanc David Woo Guillaume George Martins Mozeiko - Christpher Lloyd Martin Golini Jerry Jansson Joseph Thomson - Dave Moore Roy Eltham Hayaki Saito Phil Jordan - Won Chun Luke Graham Johan Duparc Nathan Reed - the Horde3D community Thomas Ruf Ronny Chevalier Nick Verigakis - Janez Zemva John Bartholomew Michal Cichon github:svdijk - Jonathan Blow Ken Hamada Tero Hanninen Baldur Karlsson - Laurent Gomila Cort Stratton Sergio Gonzalez github:romigrou - Aruelien Pocheville Thibault Reuille Cass Everitt Matthew Gregan - Ryamond Barbiero Paul Du Bois Engin Manap github:snagar - Michaelangel007@github Oriol Ferrer Mesia Dale Weiler github:Zelex - Philipp Wiesemann Josh Tobin github:rlyeh github:grim210@github - Blazej Dariusz Roszkowski github:sammyhw - - -LICENSE - -This software is dual-licensed to the public domain and under the following -license: you are granted a perpetual, irrevocable license to copy, modify, -publish, and distribute this file as you see fit. + Christpher Lloyd Jerry Jansson Joseph Thomson Phil Jordan + Dave Moore Roy Eltham Hayaki Saito Nathan Reed + Won Chun Luke Graham Johan Duparc Nick Verigakis + the Horde3D community Thomas Ruf Ronny Chevalier Baldur Karlsson + Janez Zemva John Bartholomew Michal Cichon github:rlyeh + Jonathan Blow Ken Hamada Tero Hanninen github:romigrou + Laurent Gomila Cort Stratton Sergio Gonzalez github:svdijk + Aruelien Pocheville Thibault Reuille Cass Everitt github:snagar + Ryamond Barbiero Paul Du Bois Engin Manap github:Zelex + Michaelangel007@github Philipp Wiesemann Dale Weiler github:grim210 + Oriol Ferrer Mesia Josh Tobin Matthew Gregan github:sammyhw + Blazej Dariusz Roszkowski Gregory Mullen github:phprus */ @@ -274,13 +172,13 @@ publish, and distribute this file as you see fit. // and for best performance I may provide less-easy-to-use APIs that give higher // performance, in addition to the easy to use ones. Nevertheless, it's important // to keep in mind that from the standpoint of you, a client of this library, -// all you care about is #1 and #3, and stb libraries do not emphasize #3 above all. +// all you care about is #1 and #3, and stb libraries DO NOT emphasize #3 above all. // // Some secondary priorities arise directly from the first two, some of which // make more explicit reasons why performance can't be emphasized. // // - Portable ("ease of use") -// - Small footprint ("easy to maintain") +// - Small source code footprint ("easy to maintain") // - No dependencies ("ease of use") // // =========================================================================== @@ -312,13 +210,6 @@ publish, and distribute this file as you see fit. // (at least this is true for iOS and Android). Therefore, the NEON support is // toggled by a build flag: define STBI_NEON to get NEON loops. // -// The output of the JPEG decoder is slightly different from versions where -// SIMD support was introduced (that is, for versions before 1.49). The -// difference is only +-1 in the 8-bit RGB channels, and only on a small -// fraction of pixels. You can force the pre-1.49 behavior by defining -// STBI_JPEG_OLD, but this will disable some of the SIMD decoding path -// and hence cost some performance. -// // If for some reason you do not want to use any of SIMD code, or if // you have issues compiling it, you can disable it entirely by // defining STBI_NO_SIMD. @@ -374,20 +265,47 @@ publish, and distribute this file as you see fit. // says there's premultiplied data (currently only happens in iPhone images, // and only if iPhone convert-to-rgb processing is on). // +// =========================================================================== +// +// ADDITIONAL CONFIGURATION +// +// - You can suppress implementation of any of the decoders to reduce +// your code footprint by #defining one or more of the following +// symbols before creating the implementation. +// +// STBI_NO_JPEG +// STBI_NO_PNG +// STBI_NO_BMP +// STBI_NO_PSD +// STBI_NO_TGA +// STBI_NO_GIF +// STBI_NO_HDR +// STBI_NO_PIC +// STBI_NO_PNM (.ppm and .pgm) +// +// - You can request *only* certain decoders and suppress all other ones +// (this will be more forward-compatible, as addition of new decoders +// doesn't require you to disable them explicitly): +// +// STBI_ONLY_JPEG +// STBI_ONLY_PNG +// STBI_ONLY_BMP +// STBI_ONLY_PSD +// STBI_ONLY_TGA +// STBI_ONLY_GIF +// STBI_ONLY_HDR +// STBI_ONLY_PIC +// STBI_ONLY_PNM (.ppm and .pgm) +// +// - If you use STBI_NO_PNG (or _ONLY_ without PNG), and you still +// want the zlib decoder to be available, #define STBI_SUPPORT_ZLIB +// #ifndef STBI_NO_STDIO #include #endif // STBI_NO_STDIO -#define STBI_NO_HDR // RaySan: not required by raylib -//#define STBI_NO_SIMD // RaySan: issues when compiling with GCC 4.7.2 - -// NOTE: Added to work with raylib on Android -#if defined(PLATFORM_ANDROID) - #include "utils.h" // RaySan: Android fopen function map -#endif - #define STBI_VERSION 1 enum @@ -666,12 +584,14 @@ typedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1]; #define STBI__X86_TARGET #endif -#if defined(__GNUC__) && (defined(STBI__X86_TARGET) || defined(STBI__X64_TARGET)) && !defined(__SSE2__) && !defined(STBI_NO_SIMD) -// NOTE: not clear do we actually need this for the 64-bit path? +#if defined(__GNUC__) && defined(STBI__X86_TARGET) && !defined(__SSE2__) && !defined(STBI_NO_SIMD) // gcc doesn't support sse2 intrinsics unless you compile with -msse2, -// (but compiling with -msse2 allows the compiler to use SSE2 everywhere; -// this is just broken and gcc are jerks for not fixing it properly -// http://www.virtualdub.org/blog/pivot/entry.php?id=363 ) +// which in turn means it gets to use SSE2 everywhere. This is unfortunate, +// but previous attempts to provide the SSE2 functions with runtime +// detection caused numerous issues. The way architecture extensions are +// exposed in GCC/Clang is, sadly, not really suited for one-file libs. +// New behavior: if compiled with -msse2, we use SSE2 without any +// detection; if not, we don't use it at all. #define STBI_NO_SIMD #endif @@ -729,14 +649,10 @@ static int stbi__sse2_available() static int stbi__sse2_available() { -#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 // GCC 4.8 or later - // GCC 4.8+ has a nice way to do this - return __builtin_cpu_supports("sse2"); -#else - // portable way to do this, preferably without using GCC inline ASM? - // just bail for now. - return 0; -#endif + // If we're even attempting to compile this on GCC/Clang, that means + // -msse2 is on, which means the compiler is allowed to use SSE2 + // instructions at will, and so are we. + return 1; } #endif #endif @@ -1738,7 +1654,7 @@ typedef struct stbi__context *s; stbi__huffman huff_dc[4]; stbi__huffman huff_ac[4]; - stbi_uc dequant[4][64]; + stbi__uint16 dequant[4][64]; stbi__int16 fast_ac[4][1 << FAST_BITS]; // sizes for components, interleaved MCUs @@ -1774,6 +1690,8 @@ typedef struct int succ_high; int succ_low; int eob_run; + int jfif; + int app14_color_transform; // Adobe APP14 tag int rgb; int scan_n, order[4]; @@ -1844,7 +1762,7 @@ static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h) // magnitude code followed by receive_extend code int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits); int m = 1 << (magbits - 1); - if (k < m) k += (-1 << magbits) + 1; + if (k < m) k += (~0U << magbits) + 1; // if the result is small enough, we can fit it in fast_ac table if (k >= -128 && k <= 127) fast_ac[i] = (stbi__int16) ((k << 8) + (run << 4) + (len + magbits)); @@ -1859,6 +1777,7 @@ static void stbi__grow_buffer_unsafe(stbi__jpeg *j) int b = j->nomore ? 0 : stbi__get8(j->s); if (b == 0xff) { int c = stbi__get8(j->s); + while (c == 0xff) c = stbi__get8(j->s); // consume fill bytes if (c != 0) { j->marker = (unsigned char) c; j->nomore = 1; @@ -1983,7 +1902,7 @@ static stbi_uc stbi__jpeg_dezigzag[64+15] = }; // decode one 64-entry block-- -static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi_uc *dequant) +static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi__uint16 *dequant) { int diff,dc,k; int t; @@ -2692,7 +2611,7 @@ static stbi_uc stbi__get_marker(stbi__jpeg *j) x = stbi__get8(j->s); if (x != 0xff) return STBI__MARKER_none; while (x == 0xff) - x = stbi__get8(j->s); + x = stbi__get8(j->s); // consume repeated 0xff fill bytes return x; } @@ -2707,7 +2626,7 @@ static void stbi__jpeg_reset(stbi__jpeg *j) j->code_bits = 0; j->code_buffer = 0; j->nomore = 0; - j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = 0; + j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = j->img_comp[3].dc_pred = 0; j->marker = STBI__MARKER_none; j->todo = j->restart_interval ? j->restart_interval : 0x7fffffff; j->eob_run = 0; @@ -2839,7 +2758,7 @@ static int stbi__parse_entropy_coded_data(stbi__jpeg *z) } } -static void stbi__jpeg_dequantize(short *data, stbi_uc *dequant) +static void stbi__jpeg_dequantize(short *data, stbi__uint16 *dequant) { int i; for (i=0; i < 64; ++i) @@ -2881,13 +2800,14 @@ static int stbi__process_marker(stbi__jpeg *z, int m) L = stbi__get16be(z->s)-2; while (L > 0) { int q = stbi__get8(z->s); - int p = q >> 4; + int p = q >> 4, sixteen = (p != 0); int t = q & 15,i; - if (p != 0) return stbi__err("bad DQT type","Corrupt JPEG"); + if (p != 0 && p != 1) return stbi__err("bad DQT type","Corrupt JPEG"); if (t > 3) return stbi__err("bad DQT table","Corrupt JPEG"); + for (i=0; i < 64; ++i) - z->dequant[t][stbi__jpeg_dezigzag[i]] = stbi__get8(z->s); - L -= 65; + z->dequant[t][stbi__jpeg_dezigzag[i]] = sixteen ? stbi__get16be(z->s) : stbi__get8(z->s); + L -= (sixteen ? 129 : 65); } return L==0; @@ -2920,12 +2840,50 @@ static int stbi__process_marker(stbi__jpeg *z, int m) } return L==0; } + // check for comment block or APP blocks if ((m >= 0xE0 && m <= 0xEF) || m == 0xFE) { - stbi__skip(z->s, stbi__get16be(z->s)-2); + L = stbi__get16be(z->s); + if (L < 2) { + if (m == 0xFE) + return stbi__err("bad COM len","Corrupt JPEG"); + else + return stbi__err("bad APP len","Corrupt JPEG"); + } + L -= 2; + + if (m == 0xE0 && L >= 5) { // JFIF APP0 segment + static const unsigned char tag[5] = {'J','F','I','F','\0'}; + int ok = 1; + int i; + for (i=0; i < 5; ++i) + if (stbi__get8(z->s) != tag[i]) + ok = 0; + L -= 5; + if (ok) + z->jfif = 1; + } else if (m == 0xEE && L >= 12) { // Adobe APP14 segment + static const unsigned char tag[6] = {'A','d','o','b','e','\0'}; + int ok = 1; + int i; + for (i=0; i < 6; ++i) + if (stbi__get8(z->s) != tag[i]) + ok = 0; + L -= 6; + if (ok) { + stbi__get8(z->s); // version + stbi__get16be(z->s); // flags0 + stbi__get16be(z->s); // flags1 + z->app14_color_transform = stbi__get8(z->s); // color transform + L -= 6; + } + } + + stbi__skip(z->s, L); return 1; } - return 0; + + return stbi__err("unknown marker","Corrupt JPEG"); } // after we see SOS @@ -2999,7 +2957,7 @@ static int stbi__process_frame_header(stbi__jpeg *z, int scan) s->img_y = stbi__get16be(s); if (s->img_y == 0) return stbi__err("no header height", "JPEG format not supported: delayed height"); // Legal, but we don't handle it--but neither does IJG s->img_x = stbi__get16be(s); if (s->img_x == 0) return stbi__err("0 width","Corrupt JPEG"); // JPEG requires c = stbi__get8(s); - if (c != 3 && c != 1) return stbi__err("bad component count","Corrupt JPEG"); // JFIF requires + if (c != 3 && c != 1 && c != 4) return stbi__err("bad component count","Corrupt JPEG"); s->img_n = c; for (i=0; i < c; ++i) { z->img_comp[i].data = NULL; @@ -3012,13 +2970,8 @@ static int stbi__process_frame_header(stbi__jpeg *z, int scan) for (i=0; i < s->img_n; ++i) { static unsigned char rgb[3] = { 'R', 'G', 'B' }; z->img_comp[i].id = stbi__get8(s); - if (z->img_comp[i].id != i+1) // JFIF requires - if (z->img_comp[i].id != i) { // some version of jpegtran outputs non-JFIF-compliant files! - // somethings output this (see http://fileformats.archiveteam.org/wiki/JPEG#Color_format) - if (z->img_comp[i].id != rgb[i]) - return stbi__err("bad component ID","Corrupt JPEG"); - ++z->rgb; - } + if (s->img_n == 3 && z->img_comp[i].id == rgb[i]) + ++z->rgb; q = stbi__get8(s); z->img_comp[i].h = (q >> 4); if (!z->img_comp[i].h || z->img_comp[i].h > 4) return stbi__err("bad H","Corrupt JPEG"); z->img_comp[i].v = q & 15; if (!z->img_comp[i].v || z->img_comp[i].v > 4) return stbi__err("bad V","Corrupt JPEG"); @@ -3090,6 +3043,8 @@ static int stbi__process_frame_header(stbi__jpeg *z, int scan) static int stbi__decode_jpeg_header(stbi__jpeg *z, int scan) { int m; + z->jfif = 0; + z->app14_color_transform = -1; // valid values are 0,1,2 z->marker = STBI__MARKER_none; // initialize cached marker to empty m = stbi__get_marker(z); if (!stbi__SOI(m)) return stbi__err("no SOI","Corrupt JPEG"); @@ -3131,12 +3086,15 @@ static int stbi__decode_jpeg_image(stbi__jpeg *j) if (x == 255) { j->marker = stbi__get8(j->s); break; - } else if (x != 0) { - return stbi__err("junk before marker", "Corrupt JPEG"); } } // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0 } + } else if (stbi__DNL(m)) { + int Ld = stbi__get16be(j->s); + stbi__uint32 NL = stbi__get16be(j->s); + if (Ld != 4) stbi__err("bad DNL len", "Corrupt JPEG"); + if (NL != j->s->img_y) stbi__err("bad DNL height", "Corrupt JPEG"); } else { if (!stbi__process_marker(j, m)) return 0; } @@ -3355,38 +3313,9 @@ static stbi_uc *stbi__resample_row_generic(stbi_uc *out, stbi_uc *in_near, stbi_ return out; } -#ifdef STBI_JPEG_OLD -// this is the same YCbCr-to-RGB calculation that stb_image has used -// historically before the algorithm changes in 1.49 -#define float2fixed(x) ((int) ((x) * 65536 + 0.5)) -static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) -{ - int i; - for (i=0; i < count; ++i) { - int y_fixed = (y[i] << 16) + 32768; // rounding - int r,g,b; - int cr = pcr[i] - 128; - int cb = pcb[i] - 128; - r = y_fixed + cr*float2fixed(1.40200f); - g = y_fixed - cr*float2fixed(0.71414f) - cb*float2fixed(0.34414f); - b = y_fixed + cb*float2fixed(1.77200f); - r >>= 16; - g >>= 16; - b >>= 16; - if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } - if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } - if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } - out[0] = (stbi_uc)r; - out[1] = (stbi_uc)g; - out[2] = (stbi_uc)b; - out[3] = 255; - out += step; - } -} -#else // this is a reduced-precision calculation of YCbCr-to-RGB introduced // to make sure the code produces the same results in both SIMD and scalar -#define float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) +#define stbi__float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) { int i; @@ -3395,9 +3324,9 @@ static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc int r,g,b; int cr = pcr[i] - 128; int cb = pcb[i] - 128; - r = y_fixed + cr* float2fixed(1.40200f); - g = y_fixed + (cr*-float2fixed(0.71414f)) + ((cb*-float2fixed(0.34414f)) & 0xffff0000); - b = y_fixed + cb* float2fixed(1.77200f); + r = y_fixed + cr* stbi__float2fixed(1.40200f); + g = y_fixed + (cr*-stbi__float2fixed(0.71414f)) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* stbi__float2fixed(1.77200f); r >>= 20; g >>= 20; b >>= 20; @@ -3411,7 +3340,6 @@ static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc out += step; } } -#endif #if defined(STBI_SSE2) || defined(STBI_NEON) static void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc const *pcb, stbi_uc const *pcr, int count, int step) @@ -3530,9 +3458,9 @@ static void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc cons int r,g,b; int cr = pcr[i] - 128; int cb = pcb[i] - 128; - r = y_fixed + cr* float2fixed(1.40200f); - g = y_fixed + cr*-float2fixed(0.71414f) + ((cb*-float2fixed(0.34414f)) & 0xffff0000); - b = y_fixed + cb* float2fixed(1.77200f); + r = y_fixed + cr* stbi__float2fixed(1.40200f); + g = y_fixed + cr*-stbi__float2fixed(0.71414f) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); + b = y_fixed + cb* stbi__float2fixed(1.77200f); r >>= 20; g >>= 20; b >>= 20; @@ -3558,18 +3486,14 @@ static void stbi__setup_jpeg(stbi__jpeg *j) #ifdef STBI_SSE2 if (stbi__sse2_available()) { j->idct_block_kernel = stbi__idct_simd; - #ifndef STBI_JPEG_OLD j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; - #endif j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; } #endif #ifdef STBI_NEON j->idct_block_kernel = stbi__idct_simd; - #ifndef STBI_JPEG_OLD j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; - #endif j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; #endif } @@ -3590,9 +3514,16 @@ typedef struct int ypos; // which pre-expansion row we're on } stbi__resample; +// fast 0..255 * 0..255 => 0..255 rounded multiplication +static stbi_uc stbi__blinn_8x8(stbi_uc x, stbi_uc y) +{ + unsigned int t = x*y + 128; + return (stbi_uc) ((t + (t >>8)) >> 8); +} + static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp, int req_comp) { - int n, decode_n; + int n, decode_n, is_rgb; z->s->img_n = 0; // make stbi__cleanup_jpeg safe // validate req_comp @@ -3602,9 +3533,11 @@ static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp if (!stbi__decode_jpeg_image(z)) { stbi__cleanup_jpeg(z); return NULL; } // determine actual number of components to generate - n = req_comp ? req_comp : z->s->img_n; + n = req_comp ? req_comp : z->s->img_n >= 3 ? 3 : 1; - if (z->s->img_n == 3 && n < 3) + is_rgb = z->s->img_n == 3 && (z->rgb == 3 || (z->app14_color_transform == 0 && !z->jfif)); + + if (z->s->img_n == 3 && n < 3 && !is_rgb) decode_n = 1; else decode_n = z->s->img_n; @@ -3664,7 +3597,7 @@ static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp if (n >= 3) { stbi_uc *y = coutput[0]; if (z->s->img_n == 3) { - if (z->rgb == 3) { + if (is_rgb) { for (i=0; i < z->s->img_x; ++i) { out[0] = y[i]; out[1] = coutput[1][i]; @@ -3675,6 +3608,28 @@ static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp } else { z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); } + } else if (z->s->img_n == 4) { + if (z->app14_color_transform == 0) { // CMYK + for (i=0; i < z->s->img_x; ++i) { + stbi_uc k = coutput[3][i]; + out[0] = stbi__blinn_8x8(coutput[0][i], k); + out[1] = stbi__blinn_8x8(coutput[1][i], k); + out[2] = stbi__blinn_8x8(coutput[2][i], k); + out[3] = 255; + out += n; + } + } else if (z->app14_color_transform == 2) { // YCCK + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + for (i=0; i < z->s->img_x; ++i) { + stbi_uc k = coutput[3][i]; + out[0] = stbi__blinn_8x8(255 - out[0], k); + out[1] = stbi__blinn_8x8(255 - out[1], k); + out[2] = stbi__blinn_8x8(255 - out[2], k); + out += n; + } + } else { // YCbCr + alpha? Ignore the fourth channel for now + z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); + } } else for (i=0; i < z->s->img_x; ++i) { out[0] = out[1] = out[2] = y[i]; @@ -3682,17 +3637,45 @@ static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp out += n; } } else { - stbi_uc *y = coutput[0]; - if (n == 1) - for (i=0; i < z->s->img_x; ++i) out[i] = y[i]; - else - for (i=0; i < z->s->img_x; ++i) *out++ = y[i], *out++ = 255; + if (is_rgb) { + if (n == 1) + for (i=0; i < z->s->img_x; ++i) + *out++ = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); + else { + for (i=0; i < z->s->img_x; ++i, out += 2) { + out[0] = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); + out[1] = 255; + } + } + } else if (z->s->img_n == 4 && z->app14_color_transform == 0) { + for (i=0; i < z->s->img_x; ++i) { + stbi_uc k = coutput[3][i]; + stbi_uc r = stbi__blinn_8x8(coutput[0][i], k); + stbi_uc g = stbi__blinn_8x8(coutput[1][i], k); + stbi_uc b = stbi__blinn_8x8(coutput[2][i], k); + out[0] = stbi__compute_y(r, g, b); + out[1] = 255; + out += n; + } + } else if (z->s->img_n == 4 && z->app14_color_transform == 2) { + for (i=0; i < z->s->img_x; ++i) { + out[0] = stbi__blinn_8x8(255 - coutput[0][i], coutput[3][i]); + out[1] = 255; + out += n; + } + } else { + stbi_uc *y = coutput[0]; + if (n == 1) + for (i=0; i < z->s->img_x; ++i) out[i] = y[i]; + else + for (i=0; i < z->s->img_x; ++i) *out++ = y[i], *out++ = 255; + } } } stbi__cleanup_jpeg(z); *out_x = z->s->img_x; *out_y = z->s->img_y; - if (comp) *comp = z->s->img_n; // report original components, not output + if (comp) *comp = z->s->img_n >= 3 ? 3 : 1; // report original components, not output return output; } } @@ -3701,6 +3684,7 @@ static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int re { unsigned char* result; stbi__jpeg* j = (stbi__jpeg*) stbi__malloc(sizeof(stbi__jpeg)); + STBI_NOTUSED(ri); j->s = s; stbi__setup_jpeg(j); result = load_jpeg_image(j, x,y,comp,req_comp); @@ -3711,11 +3695,12 @@ static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int re static int stbi__jpeg_test(stbi__context *s) { int r; - stbi__jpeg j; - j.s = s; - stbi__setup_jpeg(&j); - r = stbi__decode_jpeg_header(&j, STBI__SCAN_type); + stbi__jpeg* j = (stbi__jpeg*)stbi__malloc(sizeof(stbi__jpeg)); + j->s = s; + stbi__setup_jpeg(j); + r = stbi__decode_jpeg_header(j, STBI__SCAN_type); stbi__rewind(s); + STBI_FREE(j); return r; } @@ -3727,7 +3712,7 @@ static int stbi__jpeg_info_raw(stbi__jpeg *j, int *x, int *y, int *comp) } if (x) *x = j->s->img_x; if (y) *y = j->s->img_y; - if (comp) *comp = j->s->img_n; + if (comp) *comp = j->s->img_n >= 3 ? 3 : 1; return 1; } @@ -3784,7 +3769,7 @@ stbi_inline static int stbi__bit_reverse(int v, int bits) return stbi__bitreverse16(v) >> (16-bits); } -static int stbi__zbuild_huffman(stbi__zhuffman *z, stbi_uc *sizelist, int num) +static int stbi__zbuild_huffman(stbi__zhuffman *z, const stbi_uc *sizelist, int num) { int i,k=0; int code, next_code[16], sizes[17]; @@ -4074,9 +4059,24 @@ static int stbi__parse_zlib_header(stbi__zbuf *a) return 1; } -// @TODO: should statically initialize these for optimal thread safety -static stbi_uc stbi__zdefault_length[288], stbi__zdefault_distance[32]; -static void stbi__init_zdefaults(void) +static const stbi_uc stbi__zdefault_length[288] = +{ + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8 +}; +static const stbi_uc stbi__zdefault_distance[32] = +{ + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5 +}; +/* +Init algorithm: { int i; // use <= to match clearly with spec for (i=0; i <= 143; ++i) stbi__zdefault_length[i] = 8; @@ -4086,6 +4086,7 @@ static void stbi__init_zdefaults(void) for (i=0; i <= 31; ++i) stbi__zdefault_distance[i] = 5; } +*/ static int stbi__parse_zlib(stbi__zbuf *a, int parse_header) { @@ -4104,7 +4105,6 @@ static int stbi__parse_zlib(stbi__zbuf *a, int parse_header) } else { if (type == 1) { // use fixed code lengths - if (!stbi__zdefault_distance[31]) stbi__init_zdefaults(); if (!stbi__zbuild_huffman(&a->z_length , stbi__zdefault_length , 288)) return 0; if (!stbi__zbuild_huffman(&a->z_distance, stbi__zdefault_distance, 32)) return 0; } else { @@ -4305,7 +4305,7 @@ static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 r for (j=0; j < y; ++j) { stbi_uc *cur = a->out + stride*j; - stbi_uc *prior = cur - stride; + stbi_uc *prior; int filter = *raw++; if (filter > 4) @@ -4317,6 +4317,7 @@ static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 r filter_bytes = 1; width = img_width_bytes; } + prior = cur - stride; // bugfix: need to compute this after 'cur +=' computation above // if first row, use special filter that doesn't sample previous row if (j == 0) filter = first_row_filter[filter]; @@ -4709,7 +4710,7 @@ static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) s->img_y = stbi__get32be(s); if (s->img_y > (1 << 24)) return stbi__err("too large","Very large image (corrupt?)"); z->depth = stbi__get8(s); if (z->depth != 1 && z->depth != 2 && z->depth != 4 && z->depth != 8 && z->depth != 16) return stbi__err("1/2/4/8/16-bit only","PNG not supported: 1/2/4/8/16-bit only"); color = stbi__get8(s); if (color > 6) return stbi__err("bad ctype","Corrupt PNG"); - if (color == 3 && z->depth == 16) return stbi__err("bad ctype","Corrupt PNG"); + if (color == 3 && z->depth == 16) return stbi__err("bad ctype","Corrupt PNG"); if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err("bad ctype","Corrupt PNG"); comp = stbi__get8(s); if (comp) return stbi__err("bad comp method","Corrupt PNG"); filter= stbi__get8(s); if (filter) return stbi__err("bad filter method","Corrupt PNG"); @@ -4992,7 +4993,7 @@ static void *stbi__bmp_parse_header(stbi__context *s, stbi__bmp_data *info) info->offset = stbi__get32le(s); info->hsz = hsz = stbi__get32le(s); info->mr = info->mg = info->mb = info->ma = 0; - + if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc("unknown BMP", "BMP type not supported: unknown"); if (hsz == 12) { s->img_x = stbi__get16le(s); @@ -5077,7 +5078,7 @@ static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req stbi__bmp_data info; STBI_NOTUSED(ri); - info.all_a = 255; + info.all_a = 255; if (stbi__bmp_parse_header(s, &info) == NULL) return NULL; // error code already set @@ -5196,7 +5197,7 @@ static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req stbi__skip(s, pad); } } - + // if alpha channel is all 0s, replace with all 255s if (target == 4 && all_a == 0) for (i=4*s->img_x*s->img_y-1; i >= 0; i -= 4) @@ -5979,9 +5980,11 @@ static stbi_uc *stbi__pic_load_core(stbi__context *s,int width,int height,int *c static void *stbi__pic_load(stbi__context *s,int *px,int *py,int *comp,int req_comp, stbi__result_info *ri) { stbi_uc *result; - int i, x,y; + int i, x,y, internal_comp; STBI_NOTUSED(ri); + if (!comp) comp = &internal_comp; + for (i=0; i<92; ++i) stbi__get8(s); @@ -6600,6 +6603,11 @@ static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp) char buffer[STBI__HDR_BUFLEN]; char *token; int valid = 0; + int dummy; + + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; if (stbi__hdr_test(s) == 0) { stbi__rewind( s ); @@ -6641,14 +6649,14 @@ static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp) void *p; stbi__bmp_data info; - info.all_a = 255; + info.all_a = 255; p = stbi__bmp_parse_header(s, &info); stbi__rewind( s ); if (p == NULL) return 0; - *x = s->img_x; - *y = s->img_y; - *comp = info.ma ? 4 : 3; + if (x) *x = s->img_x; + if (y) *y = s->img_y; + if (comp) *comp = info.ma ? 4 : 3; return 1; } #endif @@ -6656,7 +6664,10 @@ static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp) #ifndef STBI_NO_PSD static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) { - int channelCount; + int channelCount, dummy; + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; if (stbi__get32be(s) != 0x38425053) { stbi__rewind( s ); return 0; @@ -6689,9 +6700,13 @@ static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) #ifndef STBI_NO_PIC static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp) { - int act_comp=0,num_packets=0,chained; + int act_comp=0,num_packets=0,chained,dummy; stbi__pic_packet packets[10]; + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) { stbi__rewind(s); return 0; @@ -6777,7 +6792,7 @@ static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req *x = s->img_x; *y = s->img_y; - *comp = s->img_n; + if (comp) *comp = s->img_n; if (!stbi__mad3sizes_valid(s->img_n, s->img_x, s->img_y, 0)) return stbi__errpuc("too large", "PNM too large"); @@ -6831,16 +6846,20 @@ static int stbi__pnm_getinteger(stbi__context *s, char *c) static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp) { - int maxv; + int maxv, dummy; char c, p, t; - stbi__rewind( s ); + if (!x) x = &dummy; + if (!y) y = &dummy; + if (!comp) comp = &dummy; + + stbi__rewind(s); // Get identifier p = (char) stbi__get8(s); t = (char) stbi__get8(s); if (p != 'P' || (t != '5' && t != '6')) { - stbi__rewind( s ); + stbi__rewind(s); return 0; } @@ -6947,6 +6966,11 @@ STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int /* revision history: + 2.15 (2017-03-18) fix png-1,2,4 bug; now all Imagenet JPGs decode; + warning fixes; disable run-time SSE detection on gcc; + uniform handling of optional "return" values; + thread-safe initialization of zlib tables + 2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs 2.13 (2016-11-29) add 16-bit API, only supported for PNG right now 2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes 2.11 (2016-04-02) allocate large structures on the stack @@ -7108,3 +7132,46 @@ STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int 0.50 (2006-11-19) first released version */ + + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/src/external/stb_image_resize.h b/src/external/stb_image_resize.h index 5214ad6e3..b507e0498 100644 --- a/src/external/stb_image_resize.h +++ b/src/external/stb_image_resize.h @@ -1,4 +1,4 @@ -/* stb_image_resize - v0.92 - public domain image resizing +/* stb_image_resize - v0.94 - public domain image resizing by Jorge L Rodriguez (@VinoBS) - 2014 http://github.com/nothings/stb @@ -107,8 +107,8 @@ industry, it is still uncommon in the videogame/real-time world. If you linearly filter non-premultiplied alpha, strange effects - occur. (For example, the average of 1% opaque bright green - and 99% opaque black produces 50% transparent dark green when + occur. (For example, the 50/50 average of 99% transparent bright green + and 1% transparent black produces 50% transparent dark green when non-premultiplied, whereas premultiplied it produces 50% transparent near-black. The former introduces green energy that doesn't exist in the source image.) @@ -152,20 +152,20 @@ (For example, graphics hardware does not apply sRGB conversion to the alpha channel.) - ADDITIONAL CONTRIBUTORS + CONTRIBUTORS + Jorge L Rodriguez: Implementation Sean Barrett: API design, optimizations Aras Pranckevicius: bugfix REVISIONS + 0.94 (2017-03-18) fixed warnings + 0.93 (2017-03-03) fixed bug with certain combinations of heights 0.92 (2017-01-02) fix integer overflow on large (>2GB) images 0.91 (2016-04-02) fix warnings; fix handling of subpixel regions 0.90 (2014-09-17) first released version LICENSE - - This software is dual-licensed to the public domain and under the following - license: you are granted a perpetual, irrevocable license to copy, modify, - publish, and distribute this file as you see fit. + See end of file for license information. TODO Don't decode all of the image data when only processing a partial tile @@ -533,10 +533,11 @@ typedef struct int horizontal_num_contributors; int vertical_num_contributors; - int ring_buffer_length_bytes; // The length of an individual entry in the ring buffer. The total number of ring buffers is stbir__get_filter_pixel_width(filter) + int ring_buffer_length_bytes; // The length of an individual entry in the ring buffer. The total number of ring buffers is stbir__get_filter_pixel_width(filter) + int ring_buffer_num_entries; // Total number of entries in the ring buffer. int ring_buffer_first_scanline; int ring_buffer_last_scanline; - int ring_buffer_begin_index; + int ring_buffer_begin_index; // first_scanline is at this index in the ring buffer float* ring_buffer; float* encode_buffer; // A temporary buffer to store floats so we don't lose precision while we do multiply-adds. @@ -551,16 +552,17 @@ typedef struct int encode_buffer_size; } stbir__info; + +static const float stbir__max_uint8_as_float = 255.0f; +static const float stbir__max_uint16_as_float = 65535.0f; +static const double stbir__max_uint32_as_float = 4294967295.0; + + static stbir__inline int stbir__min(int a, int b) { return a < b ? a : b; } -static stbir__inline int stbir__max(int a, int b) -{ - return a > b ? a : b; -} - static stbir__inline float stbir__saturate(float x) { if (x < 0) @@ -1027,7 +1029,7 @@ static void stbir__calculate_sample_range_downsample(int n, float in_pixels_radi *out_last_pixel = (int)(floor(out_pixel_influence_upperbound - 0.5)); } -static void stbir__calculate_coefficients_upsample(stbir__info* stbir_info, stbir_filter filter, float scale, int in_first_pixel, int in_last_pixel, float in_center_of_out, stbir__contributors* contributor, float* coefficient_group) +static void stbir__calculate_coefficients_upsample(stbir_filter filter, float scale, int in_first_pixel, int in_last_pixel, float in_center_of_out, stbir__contributors* contributor, float* coefficient_group) { int i; float total_filter = 0; @@ -1077,7 +1079,7 @@ static void stbir__calculate_coefficients_upsample(stbir__info* stbir_info, stbi } } -static void stbir__calculate_coefficients_downsample(stbir__info* stbir_info, stbir_filter filter, float scale_ratio, int out_first_pixel, int out_last_pixel, float out_center_of_in, stbir__contributors* contributor, float* coefficient_group) +static void stbir__calculate_coefficients_downsample(stbir_filter filter, float scale_ratio, int out_first_pixel, int out_last_pixel, float out_center_of_in, stbir__contributors* contributor, float* coefficient_group) { int i; @@ -1107,7 +1109,7 @@ static void stbir__calculate_coefficients_downsample(stbir__info* stbir_info, st } } -static void stbir__normalize_downsample_coefficients(stbir__info* stbir_info, stbir__contributors* contributors, float* coefficients, stbir_filter filter, float scale_ratio, float shift, int input_size, int output_size) +static void stbir__normalize_downsample_coefficients(stbir__contributors* contributors, float* coefficients, stbir_filter filter, float scale_ratio, int input_size, int output_size) { int num_contributors = stbir__get_contributors(scale_ratio, filter, input_size, output_size); int num_coefficients = stbir__get_coefficient_width(filter, scale_ratio); @@ -1184,7 +1186,7 @@ static void stbir__normalize_downsample_coefficients(stbir__info* stbir_info, st // Each scan line uses the same kernel values so we should calculate the kernel // values once and then we can use them for every scan line. -static void stbir__calculate_filters(stbir__info* stbir_info, stbir__contributors* contributors, float* coefficients, stbir_filter filter, float scale_ratio, float shift, int input_size, int output_size) +static void stbir__calculate_filters(stbir__contributors* contributors, float* coefficients, stbir_filter filter, float scale_ratio, float shift, int input_size, int output_size) { int n; int total_contributors = stbir__get_contributors(scale_ratio, filter, input_size, output_size); @@ -1201,7 +1203,7 @@ static void stbir__calculate_filters(stbir__info* stbir_info, stbir__contributor stbir__calculate_sample_range_upsample(n, out_pixels_radius, scale_ratio, shift, &in_first_pixel, &in_last_pixel, &in_center_of_out); - stbir__calculate_coefficients_upsample(stbir_info, filter, scale_ratio, in_first_pixel, in_last_pixel, in_center_of_out, stbir__get_contributor(contributors, n), stbir__get_coefficient(coefficients, filter, scale_ratio, n, 0)); + stbir__calculate_coefficients_upsample(filter, scale_ratio, in_first_pixel, in_last_pixel, in_center_of_out, stbir__get_contributor(contributors, n), stbir__get_coefficient(coefficients, filter, scale_ratio, n, 0)); } } else @@ -1217,10 +1219,10 @@ static void stbir__calculate_filters(stbir__info* stbir_info, stbir__contributor stbir__calculate_sample_range_downsample(n_adjusted, in_pixels_radius, scale_ratio, shift, &out_first_pixel, &out_last_pixel, &out_center_of_in); - stbir__calculate_coefficients_downsample(stbir_info, filter, scale_ratio, out_first_pixel, out_last_pixel, out_center_of_in, stbir__get_contributor(contributors, n), stbir__get_coefficient(coefficients, filter, scale_ratio, n, 0)); + stbir__calculate_coefficients_downsample(filter, scale_ratio, out_first_pixel, out_last_pixel, out_center_of_in, stbir__get_contributor(contributors, n), stbir__get_coefficient(coefficients, filter, scale_ratio, n, 0)); } - stbir__normalize_downsample_coefficients(stbir_info, contributors, coefficients, filter, scale_ratio, shift, input_size, output_size); + stbir__normalize_downsample_coefficients(contributors, coefficients, filter, scale_ratio, input_size, output_size); } } @@ -1270,7 +1272,7 @@ static void stbir__decode_scanline(stbir__info* stbir_info, int n) int decode_pixel_index = x * channels; int input_pixel_index = stbir__edge_wrap(edge_horizontal, x, input_w) * channels; for (c = 0; c < channels; c++) - decode_buffer[decode_pixel_index + c] = ((float)((const unsigned char*)input_data)[input_pixel_index + c]) / 255; + decode_buffer[decode_pixel_index + c] = ((float)((const unsigned char*)input_data)[input_pixel_index + c]) / stbir__max_uint8_as_float; } break; @@ -1283,7 +1285,7 @@ static void stbir__decode_scanline(stbir__info* stbir_info, int n) decode_buffer[decode_pixel_index + c] = stbir__srgb_uchar_to_linear_float[((const unsigned char*)input_data)[input_pixel_index + c]]; if (!(stbir_info->flags&STBIR_FLAG_ALPHA_USES_COLORSPACE)) - decode_buffer[decode_pixel_index + alpha_channel] = ((float)((const unsigned char*)input_data)[input_pixel_index + alpha_channel]) / 255; + decode_buffer[decode_pixel_index + alpha_channel] = ((float)((const unsigned char*)input_data)[input_pixel_index + alpha_channel]) / stbir__max_uint8_as_float; } break; @@ -1293,7 +1295,7 @@ static void stbir__decode_scanline(stbir__info* stbir_info, int n) int decode_pixel_index = x * channels; int input_pixel_index = stbir__edge_wrap(edge_horizontal, x, input_w) * channels; for (c = 0; c < channels; c++) - decode_buffer[decode_pixel_index + c] = ((float)((const unsigned short*)input_data)[input_pixel_index + c]) / 65535; + decode_buffer[decode_pixel_index + c] = ((float)((const unsigned short*)input_data)[input_pixel_index + c]) / stbir__max_uint16_as_float; } break; @@ -1303,10 +1305,10 @@ static void stbir__decode_scanline(stbir__info* stbir_info, int n) int decode_pixel_index = x * channels; int input_pixel_index = stbir__edge_wrap(edge_horizontal, x, input_w) * channels; for (c = 0; c < channels; c++) - decode_buffer[decode_pixel_index + c] = stbir__srgb_to_linear(((float)((const unsigned short*)input_data)[input_pixel_index + c]) / 65535); + decode_buffer[decode_pixel_index + c] = stbir__srgb_to_linear(((float)((const unsigned short*)input_data)[input_pixel_index + c]) / stbir__max_uint16_as_float); if (!(stbir_info->flags&STBIR_FLAG_ALPHA_USES_COLORSPACE)) - decode_buffer[decode_pixel_index + alpha_channel] = ((float)((const unsigned short*)input_data)[input_pixel_index + alpha_channel]) / 65535; + decode_buffer[decode_pixel_index + alpha_channel] = ((float)((const unsigned short*)input_data)[input_pixel_index + alpha_channel]) / stbir__max_uint16_as_float; } break; @@ -1316,7 +1318,7 @@ static void stbir__decode_scanline(stbir__info* stbir_info, int n) int decode_pixel_index = x * channels; int input_pixel_index = stbir__edge_wrap(edge_horizontal, x, input_w) * channels; for (c = 0; c < channels; c++) - decode_buffer[decode_pixel_index + c] = (float)(((double)((const unsigned int*)input_data)[input_pixel_index + c]) / 4294967295); + decode_buffer[decode_pixel_index + c] = (float)(((double)((const unsigned int*)input_data)[input_pixel_index + c]) / stbir__max_uint32_as_float); } break; @@ -1326,10 +1328,10 @@ static void stbir__decode_scanline(stbir__info* stbir_info, int n) int decode_pixel_index = x * channels; int input_pixel_index = stbir__edge_wrap(edge_horizontal, x, input_w) * channels; for (c = 0; c < channels; c++) - decode_buffer[decode_pixel_index + c] = stbir__srgb_to_linear((float)(((double)((const unsigned int*)input_data)[input_pixel_index + c]) / 4294967295)); + decode_buffer[decode_pixel_index + c] = stbir__srgb_to_linear((float)(((double)((const unsigned int*)input_data)[input_pixel_index + c]) / stbir__max_uint32_as_float)); if (!(stbir_info->flags&STBIR_FLAG_ALPHA_USES_COLORSPACE)) - decode_buffer[decode_pixel_index + alpha_channel] = (float)(((double)((const unsigned int*)input_data)[input_pixel_index + alpha_channel]) / 4294967295); + decode_buffer[decode_pixel_index + alpha_channel] = (float)(((double)((const unsigned int*)input_data)[input_pixel_index + alpha_channel]) / stbir__max_uint32_as_float); } break; @@ -1411,6 +1413,8 @@ static float* stbir__add_empty_ring_buffer_entry(stbir__info* stbir_info, int n) int ring_buffer_index; float* ring_buffer; + stbir_info->ring_buffer_last_scanline = n; + if (stbir_info->ring_buffer_begin_index < 0) { ring_buffer_index = stbir_info->ring_buffer_begin_index = 0; @@ -1418,24 +1422,21 @@ static float* stbir__add_empty_ring_buffer_entry(stbir__info* stbir_info, int n) } else { - ring_buffer_index = (stbir_info->ring_buffer_begin_index + (stbir_info->ring_buffer_last_scanline - stbir_info->ring_buffer_first_scanline) + 1) % stbir_info->vertical_filter_pixel_width; + ring_buffer_index = (stbir_info->ring_buffer_begin_index + (stbir_info->ring_buffer_last_scanline - stbir_info->ring_buffer_first_scanline)) % stbir_info->ring_buffer_num_entries; STBIR_ASSERT(ring_buffer_index != stbir_info->ring_buffer_begin_index); } ring_buffer = stbir__get_ring_buffer_entry(stbir_info->ring_buffer, ring_buffer_index, stbir_info->ring_buffer_length_bytes / sizeof(float)); memset(ring_buffer, 0, stbir_info->ring_buffer_length_bytes); - stbir_info->ring_buffer_last_scanline = n; - return ring_buffer; } -static void stbir__resample_horizontal_upsample(stbir__info* stbir_info, int n, float* output_buffer) +static void stbir__resample_horizontal_upsample(stbir__info* stbir_info, float* output_buffer) { int x, k; int output_w = stbir_info->output_w; - int kernel_pixel_width = stbir_info->horizontal_filter_pixel_width; int channels = stbir_info->channels; float* decode_buffer = stbir__get_decode_buffer(stbir_info); stbir__contributors* horizontal_contributors = stbir_info->horizontal_contributors; @@ -1515,12 +1516,10 @@ static void stbir__resample_horizontal_upsample(stbir__info* stbir_info, int n, } } -static void stbir__resample_horizontal_downsample(stbir__info* stbir_info, int n, float* output_buffer) +static void stbir__resample_horizontal_downsample(stbir__info* stbir_info, float* output_buffer) { int x, k; int input_w = stbir_info->input_w; - int output_w = stbir_info->output_w; - int kernel_pixel_width = stbir_info->horizontal_filter_pixel_width; int channels = stbir_info->channels; float* decode_buffer = stbir__get_decode_buffer(stbir_info); stbir__contributors* horizontal_contributors = stbir_info->horizontal_contributors; @@ -1654,9 +1653,9 @@ static void stbir__decode_and_resample_upsample(stbir__info* stbir_info, int n) // Now resample it into the ring buffer. if (stbir__use_width_upsampling(stbir_info)) - stbir__resample_horizontal_upsample(stbir_info, n, stbir__add_empty_ring_buffer_entry(stbir_info, n)); + stbir__resample_horizontal_upsample(stbir_info, stbir__add_empty_ring_buffer_entry(stbir_info, n)); else - stbir__resample_horizontal_downsample(stbir_info, n, stbir__add_empty_ring_buffer_entry(stbir_info, n)); + stbir__resample_horizontal_downsample(stbir_info, stbir__add_empty_ring_buffer_entry(stbir_info, n)); // Now it's sitting in the ring buffer ready to be used as source for the vertical sampling. } @@ -1670,17 +1669,17 @@ static void stbir__decode_and_resample_downsample(stbir__info* stbir_info, int n // Now resample it into the horizontal buffer. if (stbir__use_width_upsampling(stbir_info)) - stbir__resample_horizontal_upsample(stbir_info, n, stbir_info->horizontal_buffer); + stbir__resample_horizontal_upsample(stbir_info, stbir_info->horizontal_buffer); else - stbir__resample_horizontal_downsample(stbir_info, n, stbir_info->horizontal_buffer); + stbir__resample_horizontal_downsample(stbir_info, stbir_info->horizontal_buffer); // Now it's sitting in the horizontal buffer ready to be distributed into the ring buffers. } // Get the specified scan line from the ring buffer. -static float* stbir__get_ring_buffer_scanline(int get_scanline, float* ring_buffer, int begin_index, int first_scanline, int ring_buffer_size, int ring_buffer_length) +static float* stbir__get_ring_buffer_scanline(int get_scanline, float* ring_buffer, int begin_index, int first_scanline, int ring_buffer_num_entries, int ring_buffer_length) { - int ring_buffer_index = (begin_index + (get_scanline - first_scanline)) % ring_buffer_size; + int ring_buffer_index = (begin_index + (get_scanline - first_scanline)) % ring_buffer_num_entries; return stbir__get_ring_buffer_entry(ring_buffer, ring_buffer_index, ring_buffer_length); } @@ -1715,19 +1714,23 @@ static void stbir__encode_scanline(stbir__info* stbir_info, int num_pixels, void // build a table of all channels that need colorspace correction, so // we don't perform colorspace correction on channels that don't need it. - for (x=0, num_nonalpha=0; x < channels; ++x) + for (x = 0, num_nonalpha = 0; x < channels; ++x) + { if (x != alpha_channel || (stbir_info->flags & STBIR_FLAG_ALPHA_USES_COLORSPACE)) - nonalpha[num_nonalpha++] = x; + { + nonalpha[num_nonalpha++] = (stbir_uint16)x; + } + } #define STBIR__ROUND_INT(f) ((int) ((f)+0.5)) #define STBIR__ROUND_UINT(f) ((stbir_uint32) ((f)+0.5)) #ifdef STBIR__SATURATE_INT - #define STBIR__ENCODE_LINEAR8(f) stbir__saturate8 (STBIR__ROUND_INT((f) * 255 )) - #define STBIR__ENCODE_LINEAR16(f) stbir__saturate16(STBIR__ROUND_INT((f) * 65535)) + #define STBIR__ENCODE_LINEAR8(f) stbir__saturate8 (STBIR__ROUND_INT((f) * stbir__max_uint8_as_float )) + #define STBIR__ENCODE_LINEAR16(f) stbir__saturate16(STBIR__ROUND_INT((f) * stbir__max_uint16_as_float)) #else - #define STBIR__ENCODE_LINEAR8(f) (unsigned char ) STBIR__ROUND_INT(stbir__saturate(f) * 255 ) - #define STBIR__ENCODE_LINEAR16(f) (unsigned short) STBIR__ROUND_INT(stbir__saturate(f) * 65535) + #define STBIR__ENCODE_LINEAR8(f) (unsigned char ) STBIR__ROUND_INT(stbir__saturate(f) * stbir__max_uint8_as_float ) + #define STBIR__ENCODE_LINEAR16(f) (unsigned short) STBIR__ROUND_INT(stbir__saturate(f) * stbir__max_uint16_as_float) #endif switch (decode) @@ -1782,7 +1785,7 @@ static void stbir__encode_scanline(stbir__info* stbir_info, int num_pixels, void for (n = 0; n < num_nonalpha; n++) { int index = pixel_index + nonalpha[n]; - ((unsigned short*)output_buffer)[index] = (unsigned short)STBIR__ROUND_INT(stbir__linear_to_srgb(stbir__saturate(encode_buffer[index])) * 65535); + ((unsigned short*)output_buffer)[index] = (unsigned short)STBIR__ROUND_INT(stbir__linear_to_srgb(stbir__saturate(encode_buffer[index])) * stbir__max_uint16_as_float); } if (!(stbir_info->flags&STBIR_FLAG_ALPHA_USES_COLORSPACE)) @@ -1799,7 +1802,7 @@ static void stbir__encode_scanline(stbir__info* stbir_info, int num_pixels, void for (n = 0; n < channels; n++) { int index = pixel_index + n; - ((unsigned int*)output_buffer)[index] = (unsigned int)STBIR__ROUND_UINT(((double)stbir__saturate(encode_buffer[index])) * 4294967295); + ((unsigned int*)output_buffer)[index] = (unsigned int)STBIR__ROUND_UINT(((double)stbir__saturate(encode_buffer[index])) * stbir__max_uint32_as_float); } } break; @@ -1812,11 +1815,11 @@ static void stbir__encode_scanline(stbir__info* stbir_info, int num_pixels, void for (n = 0; n < num_nonalpha; n++) { int index = pixel_index + nonalpha[n]; - ((unsigned int*)output_buffer)[index] = (unsigned int)STBIR__ROUND_UINT(((double)stbir__linear_to_srgb(stbir__saturate(encode_buffer[index]))) * 4294967295); + ((unsigned int*)output_buffer)[index] = (unsigned int)STBIR__ROUND_UINT(((double)stbir__linear_to_srgb(stbir__saturate(encode_buffer[index]))) * stbir__max_uint32_as_float); } if (!(stbir_info->flags&STBIR_FLAG_ALPHA_USES_COLORSPACE)) - ((unsigned int*)output_buffer)[pixel_index + alpha_channel] = (unsigned int)STBIR__ROUND_INT(((double)stbir__saturate(encode_buffer[pixel_index + alpha_channel])) * 4294967295); + ((unsigned int*)output_buffer)[pixel_index + alpha_channel] = (unsigned int)STBIR__ROUND_INT(((double)stbir__saturate(encode_buffer[pixel_index + alpha_channel])) * stbir__max_uint32_as_float); } break; @@ -1855,7 +1858,7 @@ static void stbir__encode_scanline(stbir__info* stbir_info, int num_pixels, void } } -static void stbir__resample_vertical_upsample(stbir__info* stbir_info, int n, int in_first_scanline, int in_last_scanline, float in_center_of_out) +static void stbir__resample_vertical_upsample(stbir__info* stbir_info, int n) { int x, k; int output_w = stbir_info->output_w; @@ -1865,7 +1868,7 @@ static void stbir__resample_vertical_upsample(stbir__info* stbir_info, int n, in int alpha_channel = stbir_info->alpha_channel; int type = stbir_info->type; int colorspace = stbir_info->colorspace; - int kernel_pixel_width = stbir_info->vertical_filter_pixel_width; + int ring_buffer_entries = stbir_info->ring_buffer_num_entries; void* output_data = stbir_info->output_data; float* encode_buffer = stbir_info->encode_buffer; int decode = STBIR__DECODE(type, colorspace); @@ -1876,7 +1879,6 @@ static void stbir__resample_vertical_upsample(stbir__info* stbir_info, int n, in float* ring_buffer = stbir_info->ring_buffer; int ring_buffer_begin_index = stbir_info->ring_buffer_begin_index; int ring_buffer_first_scanline = stbir_info->ring_buffer_first_scanline; - int ring_buffer_last_scanline = stbir_info->ring_buffer_last_scanline; int ring_buffer_length = stbir_info->ring_buffer_length_bytes/sizeof(float); int n0,n1, output_row_start; @@ -1900,7 +1902,7 @@ static void stbir__resample_vertical_upsample(stbir__info* stbir_info, int n, in for (k = n0; k <= n1; k++) { int coefficient_index = coefficient_counter++; - float* ring_buffer_entry = stbir__get_ring_buffer_scanline(k, ring_buffer, ring_buffer_begin_index, ring_buffer_first_scanline, kernel_pixel_width, ring_buffer_length); + float* ring_buffer_entry = stbir__get_ring_buffer_scanline(k, ring_buffer, ring_buffer_begin_index, ring_buffer_first_scanline, ring_buffer_entries, ring_buffer_length); float coefficient = vertical_coefficients[coefficient_group + coefficient_index]; for (x = 0; x < output_w; ++x) { @@ -1913,7 +1915,7 @@ static void stbir__resample_vertical_upsample(stbir__info* stbir_info, int n, in for (k = n0; k <= n1; k++) { int coefficient_index = coefficient_counter++; - float* ring_buffer_entry = stbir__get_ring_buffer_scanline(k, ring_buffer, ring_buffer_begin_index, ring_buffer_first_scanline, kernel_pixel_width, ring_buffer_length); + float* ring_buffer_entry = stbir__get_ring_buffer_scanline(k, ring_buffer, ring_buffer_begin_index, ring_buffer_first_scanline, ring_buffer_entries, ring_buffer_length); float coefficient = vertical_coefficients[coefficient_group + coefficient_index]; for (x = 0; x < output_w; ++x) { @@ -1927,7 +1929,7 @@ static void stbir__resample_vertical_upsample(stbir__info* stbir_info, int n, in for (k = n0; k <= n1; k++) { int coefficient_index = coefficient_counter++; - float* ring_buffer_entry = stbir__get_ring_buffer_scanline(k, ring_buffer, ring_buffer_begin_index, ring_buffer_first_scanline, kernel_pixel_width, ring_buffer_length); + float* ring_buffer_entry = stbir__get_ring_buffer_scanline(k, ring_buffer, ring_buffer_begin_index, ring_buffer_first_scanline, ring_buffer_entries, ring_buffer_length); float coefficient = vertical_coefficients[coefficient_group + coefficient_index]; for (x = 0; x < output_w; ++x) { @@ -1942,7 +1944,7 @@ static void stbir__resample_vertical_upsample(stbir__info* stbir_info, int n, in for (k = n0; k <= n1; k++) { int coefficient_index = coefficient_counter++; - float* ring_buffer_entry = stbir__get_ring_buffer_scanline(k, ring_buffer, ring_buffer_begin_index, ring_buffer_first_scanline, kernel_pixel_width, ring_buffer_length); + float* ring_buffer_entry = stbir__get_ring_buffer_scanline(k, ring_buffer, ring_buffer_begin_index, ring_buffer_first_scanline, ring_buffer_entries, ring_buffer_length); float coefficient = vertical_coefficients[coefficient_group + coefficient_index]; for (x = 0; x < output_w; ++x) { @@ -1958,7 +1960,7 @@ static void stbir__resample_vertical_upsample(stbir__info* stbir_info, int n, in for (k = n0; k <= n1; k++) { int coefficient_index = coefficient_counter++; - float* ring_buffer_entry = stbir__get_ring_buffer_scanline(k, ring_buffer, ring_buffer_begin_index, ring_buffer_first_scanline, kernel_pixel_width, ring_buffer_length); + float* ring_buffer_entry = stbir__get_ring_buffer_scanline(k, ring_buffer, ring_buffer_begin_index, ring_buffer_first_scanline, ring_buffer_entries, ring_buffer_length); float coefficient = vertical_coefficients[coefficient_group + coefficient_index]; for (x = 0; x < output_w; ++x) { @@ -1973,16 +1975,14 @@ static void stbir__resample_vertical_upsample(stbir__info* stbir_info, int n, in stbir__encode_scanline(stbir_info, output_w, (char *) output_data + output_row_start, encode_buffer, channels, alpha_channel, decode); } -static void stbir__resample_vertical_downsample(stbir__info* stbir_info, int n, int in_first_scanline, int in_last_scanline, float in_center_of_out) +static void stbir__resample_vertical_downsample(stbir__info* stbir_info, int n) { int x, k; int output_w = stbir_info->output_w; - int output_h = stbir_info->output_h; stbir__contributors* vertical_contributors = stbir_info->vertical_contributors; float* vertical_coefficients = stbir_info->vertical_coefficients; int channels = stbir_info->channels; - int kernel_pixel_width = stbir_info->vertical_filter_pixel_width; - void* output_data = stbir_info->output_data; + int ring_buffer_entries = stbir_info->ring_buffer_num_entries; float* horizontal_buffer = stbir_info->horizontal_buffer; int coefficient_width = stbir_info->vertical_coefficient_width; int contributor = n + stbir_info->vertical_filter_pixel_margin; @@ -1990,7 +1990,6 @@ static void stbir__resample_vertical_downsample(stbir__info* stbir_info, int n, float* ring_buffer = stbir_info->ring_buffer; int ring_buffer_begin_index = stbir_info->ring_buffer_begin_index; int ring_buffer_first_scanline = stbir_info->ring_buffer_first_scanline; - int ring_buffer_last_scanline = stbir_info->ring_buffer_last_scanline; int ring_buffer_length = stbir_info->ring_buffer_length_bytes/sizeof(float); int n0,n1; @@ -2005,7 +2004,7 @@ static void stbir__resample_vertical_downsample(stbir__info* stbir_info, int n, int coefficient_group = coefficient_width * contributor; float coefficient = vertical_coefficients[coefficient_group + coefficient_index]; - float* ring_buffer_entry = stbir__get_ring_buffer_scanline(k, ring_buffer, ring_buffer_begin_index, ring_buffer_first_scanline, kernel_pixel_width, ring_buffer_length); + float* ring_buffer_entry = stbir__get_ring_buffer_scanline(k, ring_buffer, ring_buffer_begin_index, ring_buffer_first_scanline, ring_buffer_entries, ring_buffer_length); switch (channels) { case 1: @@ -2071,7 +2070,7 @@ static void stbir__buffer_loop_upsample(stbir__info* stbir_info) stbir__calculate_sample_range_upsample(y, out_scanlines_radius, scale_ratio, stbir_info->vertical_shift, &in_first_scanline, &in_last_scanline, &in_center_of_out); - STBIR_ASSERT(in_last_scanline - in_first_scanline <= stbir_info->vertical_filter_pixel_width); + STBIR_ASSERT(in_last_scanline - in_first_scanline + 1 <= stbir_info->ring_buffer_num_entries); if (stbir_info->ring_buffer_begin_index >= 0) { @@ -2090,7 +2089,7 @@ static void stbir__buffer_loop_upsample(stbir__info* stbir_info) else { stbir_info->ring_buffer_first_scanline++; - stbir_info->ring_buffer_begin_index = (stbir_info->ring_buffer_begin_index + 1) % stbir_info->vertical_filter_pixel_width; + stbir_info->ring_buffer_begin_index = (stbir_info->ring_buffer_begin_index + 1) % stbir_info->ring_buffer_num_entries; } } } @@ -2103,7 +2102,7 @@ static void stbir__buffer_loop_upsample(stbir__info* stbir_info) stbir__decode_and_resample_upsample(stbir_info, stbir_info->ring_buffer_last_scanline + 1); // Now all buffers should be ready to write a row of vertical sampling. - stbir__resample_vertical_upsample(stbir_info, y, in_first_scanline, in_last_scanline, in_center_of_out); + stbir__resample_vertical_upsample(stbir_info, y); STBIR_PROGRESS_REPORT((float)y / stbir_info->output_h); } @@ -2148,7 +2147,7 @@ static void stbir__empty_ring_buffer(stbir__info* stbir_info, int first_necessar else { stbir_info->ring_buffer_first_scanline++; - stbir_info->ring_buffer_begin_index = (stbir_info->ring_buffer_begin_index + 1) % stbir_info->vertical_filter_pixel_width; + stbir_info->ring_buffer_begin_index = (stbir_info->ring_buffer_begin_index + 1) % stbir_info->ring_buffer_num_entries; } } } @@ -2172,7 +2171,7 @@ static void stbir__buffer_loop_downsample(stbir__info* stbir_info) stbir__calculate_sample_range_downsample(y, in_pixels_radius, scale_ratio, stbir_info->vertical_shift, &out_first_scanline, &out_last_scanline, &out_center_of_in); - STBIR_ASSERT(out_last_scanline - out_first_scanline <= stbir_info->vertical_filter_pixel_width); + STBIR_ASSERT(out_last_scanline - out_first_scanline + 1 <= stbir_info->ring_buffer_num_entries); if (out_last_scanline < 0 || out_first_scanline >= output_h) continue; @@ -2189,7 +2188,7 @@ static void stbir__buffer_loop_downsample(stbir__info* stbir_info) stbir__add_empty_ring_buffer_entry(stbir_info, stbir_info->ring_buffer_last_scanline + 1); // Now the horizontal buffer is ready to write to all ring buffer rows. - stbir__resample_vertical_downsample(stbir_info, y, out_first_scanline, out_last_scanline, out_center_of_in); + stbir__resample_vertical_downsample(stbir_info, y); } stbir__empty_ring_buffer(stbir_info, stbir_info->output_h); @@ -2246,13 +2245,16 @@ static stbir_uint32 stbir__calculate_memory(stbir__info *info) info->horizontal_num_contributors = stbir__get_contributors(info->horizontal_scale, info->horizontal_filter, info->input_w, info->output_w); info->vertical_num_contributors = stbir__get_contributors(info->vertical_scale , info->vertical_filter , info->input_h, info->output_h); + // One extra entry because floating point precision problems sometimes cause an extra to be necessary. + info->ring_buffer_num_entries = filter_height + 1; + info->horizontal_contributors_size = info->horizontal_num_contributors * sizeof(stbir__contributors); info->horizontal_coefficients_size = stbir__get_total_horizontal_coefficients(info) * sizeof(float); info->vertical_contributors_size = info->vertical_num_contributors * sizeof(stbir__contributors); info->vertical_coefficients_size = stbir__get_total_vertical_coefficients(info) * sizeof(float); info->decode_buffer_size = (info->input_w + pixel_margin * 2) * info->channels * sizeof(float); info->horizontal_buffer_size = info->output_w * info->channels * sizeof(float); - info->ring_buffer_size = info->output_w * info->channels * filter_height * sizeof(float); + info->ring_buffer_size = info->output_w * info->channels * info->ring_buffer_num_entries * sizeof(float); info->encode_buffer_size = info->output_w * info->channels * sizeof(float); STBIR_ASSERT(info->horizontal_filter != 0); @@ -2390,8 +2392,8 @@ static int stbir__resize_allocated(stbir__info *info, // This signals that the ring buffer is empty info->ring_buffer_begin_index = -1; - stbir__calculate_filters(info, info->horizontal_contributors, info->horizontal_coefficients, info->horizontal_filter, info->horizontal_scale, info->horizontal_shift, info->input_w, info->output_w); - stbir__calculate_filters(info, info->vertical_contributors, info->vertical_coefficients, info->vertical_filter, info->vertical_scale, info->vertical_shift, info->input_h, info->output_h); + stbir__calculate_filters(info->horizontal_contributors, info->horizontal_coefficients, info->horizontal_filter, info->horizontal_scale, info->horizontal_shift, info->input_w, info->output_w); + stbir__calculate_filters(info->vertical_contributors, info->vertical_coefficients, info->vertical_filter, info->vertical_scale, info->vertical_shift, info->input_h, info->output_h); STBIR_PROGRESS_REPORT(0); @@ -2578,3 +2580,45 @@ STBIRDEF int stbir_resize_region( const void *input_pixels , int input_w , int } #endif // STB_IMAGE_RESIZE_IMPLEMENTATION + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/src/external/stb_image_write.h b/src/external/stb_image_write.h index ae9180b03..df623393d 100644 --- a/src/external/stb_image_write.h +++ b/src/external/stb_image_write.h @@ -1,4 +1,4 @@ -/* stb_image_write - v1.03 - public domain - http://nothings.org/stb/stb_image_write.h +/* stb_image_write - v1.05 - public domain - http://nothings.org/stb/stb_image_write.h writes out PNG/BMP/TGA images to C stdio - Sean Barrett 2010-2015 no warranty implied; use at your own risk @@ -104,12 +104,11 @@ CREDITS: Filip Wasil Thatcher Ulrich github:poppolopoppo + Patrick Boettcher LICENSE -This software is dual-licensed to the public domain and under the following -license: you are granted a perpetual, irrevocable license to copy, modify, -publish, and distribute this file as you see fit. + See end of file for license information. */ @@ -294,10 +293,8 @@ static void stbiw__write_pixel(stbi__write_context *s, int rgb_dir, int comp, in s->func(s->context, &d[comp - 1], 1); switch (comp) { + case 2: // 2 pixels = mono + alpha, alpha is written separately, so same as 1-channel case case 1: - s->func(s->context,d,1); - break; - case 2: if (expand_mono) stbiw__write3(s, d[0], d[0], d[0]); // monochrome bmp else @@ -897,6 +894,7 @@ static unsigned char stbiw__paeth(int a, int b, int c) return STBIW_UCHAR(c); } +// @OPTIMIZE: provide an option that always forces left-predict or paeth predict unsigned char *stbi_write_png_to_mem(unsigned char *pixels, int stride_bytes, int x, int y, int n, int *out_len) { int ctype[5] = { -1, 0, 4, 2, 6 }; @@ -913,10 +911,10 @@ unsigned char *stbi_write_png_to_mem(unsigned char *pixels, int stride_bytes, in for (j=0; j < y; ++j) { static int mapping[] = { 0,1,2,3,4 }; static int firstmap[] = { 0,1,0,5,6 }; - int *mymap = j ? mapping : firstmap; + int *mymap = (j != 0) ? mapping : firstmap; int best = 0, bestval = 0x7fffffff; for (p=0; p < 2; ++p) { - for (k= p?best:0; k < 5; ++k) { + for (k= p?best:0; k < 5; ++k) { // @TODO: clarity: rewrite this to go 0..5, and 'continue' the unwanted ones during 2nd pass int type = mymap[k],est=0; unsigned char *z = pixels + stride_bytes*j; for (i=0; i < n; ++i) @@ -1018,6 +1016,9 @@ STBIWDEF int stbi_write_png_to_func(stbi_write_func *func, void *context, int x, #endif // STB_IMAGE_WRITE_IMPLEMENTATION /* Revision history + 1.04 (2017-03-03) + monochrome BMP expansion + 1.03 ??? 1.02 (2016-04-02) avoid allocating large structures on the stack 1.01 (2016-01-16) @@ -1047,3 +1048,45 @@ STBIWDEF int stbi_write_png_to_func(stbi_write_func *func, void *context, int x, first public release 0.90 first internal release */ + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/src/external/stb_rect_pack.h b/src/external/stb_rect_pack.h index c75527da1..f5eb8d335 100644 --- a/src/external/stb_rect_pack.h +++ b/src/external/stb_rect_pack.h @@ -1,4 +1,4 @@ -// stb_rect_pack.h - v0.10 - public domain - rectangle packing +// stb_rect_pack.h - v0.11 - public domain - rectangle packing // Sean Barrett 2014 // // Useful for e.g. packing rectangular textures into an atlas. @@ -27,11 +27,14 @@ // Sean Barrett // Minor features // Martins Mozeiko +// github:IntellectualKitty +// // Bugfixes / warning fixes // Jeremy Jaussaud // // Version history: // +// 0.11 (2017-03-03) return packing success/fail result // 0.10 (2016-10-25) remove cast-away-const to avoid warnings // 0.09 (2016-08-27) fix compiler warnings // 0.08 (2015-09-13) really fix bug with empty rects (w=0 or h=0) @@ -43,9 +46,7 @@ // // LICENSE // -// This software is dual-licensed to the public domain and under the following -// license: you are granted a perpetual, irrevocable license to copy, modify, -// publish, and distribute this file as you see fit. +// See end of file for license information. ////////////////////////////////////////////////////////////////////////////// // @@ -77,7 +78,7 @@ typedef int stbrp_coord; typedef unsigned short stbrp_coord; #endif -STBRP_DEF void stbrp_pack_rects (stbrp_context *context, stbrp_rect *rects, int num_rects); +STBRP_DEF int stbrp_pack_rects (stbrp_context *context, stbrp_rect *rects, int num_rects); // Assign packed locations to rectangles. The rectangles are of type // 'stbrp_rect' defined below, stored in the array 'rects', and there // are 'num_rects' many of them. @@ -98,6 +99,9 @@ STBRP_DEF void stbrp_pack_rects (stbrp_context *context, stbrp_rect *rects, int // arrays will probably produce worse packing results than calling it // a single time with the full rectangle array, but the option is // available. +// +// The function returns 1 if all of the rectangles were successfully +// packed and 0 otherwise. struct stbrp_rect { @@ -544,9 +548,9 @@ static int rect_original_order(const void *a, const void *b) #define STBRP__MAXVAL 0xffff #endif -STBRP_DEF void stbrp_pack_rects(stbrp_context *context, stbrp_rect *rects, int num_rects) +STBRP_DEF int stbrp_pack_rects(stbrp_context *context, stbrp_rect *rects, int num_rects) { - int i; + int i, all_rects_packed = 1; // we use the 'was_packed' field internally to allow sorting/unsorting for (i=0; i < num_rects; ++i) { @@ -576,8 +580,56 @@ STBRP_DEF void stbrp_pack_rects(stbrp_context *context, stbrp_rect *rects, int n // unsort STBRP_SORT(rects, num_rects, sizeof(rects[0]), rect_original_order); - // set was_packed flags - for (i=0; i < num_rects; ++i) + // set was_packed flags and all_rects_packed status + for (i=0; i < num_rects; ++i) { rects[i].was_packed = !(rects[i].x == STBRP__MAXVAL && rects[i].y == STBRP__MAXVAL); + if (!rects[i].was_packed) + all_rects_packed = 0; + } + + // return the all_rects_packed status + return all_rects_packed; } #endif + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/src/external/stb_truetype.h b/src/external/stb_truetype.h index 92b9a8754..fc5b97821 100644 --- a/src/external/stb_truetype.h +++ b/src/external/stb_truetype.h @@ -1,4 +1,4 @@ -// stb_truetype.h - v1.14 - public domain +// stb_truetype.h - v1.15 - public domain // authored from 2009-2016 by Sean Barrett / RAD Game Tools // // This library processes TrueType files: @@ -50,10 +50,13 @@ // Higor Euripedes // Thomas Fields // Derek Vinyard +// Cort Stratton // // VERSION HISTORY // -// 1.13 (2017-01-02) support OpenType fonts, certain Apple fonts, num-fonts-in-TTC function +// 1.15 (2017-03-03) make more arguments const +// 1.14 (2017-01-16) num-fonts-in-TTC function +// 1.13 (2017-01-02) support OpenType fonts, certain Apple fonts // 1.12 (2016-10-25) suppress warnings about casting away const with -Wcast-qual // 1.11 (2016-04-02) fix unused-variable warning // 1.10 (2016-04-02) user-defined fabs(); rare memory leak; remove duplicate typedef @@ -69,9 +72,7 @@ // // LICENSE // -// This software is dual-licensed to the public domain and under the following -// license: you are granted a perpetual, irrevocable license to copy, modify, -// publish, and distribute this file as you see fit. +// See end of file for license information. // // USAGE // @@ -494,7 +495,7 @@ typedef struct float x1,y1,s1,t1; // bottom-right } stbtt_aligned_quad; -STBTT_DEF void stbtt_GetBakedQuad(stbtt_bakedchar *chardata, int pw, int ph, // same data as above +STBTT_DEF void stbtt_GetBakedQuad(const stbtt_bakedchar *chardata, int pw, int ph, // same data as above int char_index, // character to display float *xpos, float *ypos, // pointers to current position in screen pixel space stbtt_aligned_quad *q, // output: quad to draw @@ -594,7 +595,7 @@ STBTT_DEF void stbtt_PackSetOversampling(stbtt_pack_context *spc, unsigned int h // To use with PackFontRangesGather etc., you must set it before calls // call to PackFontRangesGatherRects. -STBTT_DEF void stbtt_GetPackedQuad(stbtt_packedchar *chardata, int pw, int ph, // same data as above +STBTT_DEF void stbtt_GetPackedQuad(const stbtt_packedchar *chardata, int pw, int ph, // same data as above int char_index, // character to display float *xpos, float *ypos, // pointers to current position in screen pixel space stbtt_aligned_quad *q, // output: quad to draw @@ -3287,11 +3288,11 @@ static int stbtt_BakeFontBitmap_internal(unsigned char *data, int offset, // fo return bottom_y; } -STBTT_DEF void stbtt_GetBakedQuad(stbtt_bakedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q, int opengl_fillrule) +STBTT_DEF void stbtt_GetBakedQuad(const stbtt_bakedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q, int opengl_fillrule) { float d3d_bias = opengl_fillrule ? 0 : -0.5f; float ipw = 1.0f / pw, iph = 1.0f / ph; - stbtt_bakedchar *b = chardata + char_index; + const stbtt_bakedchar *b = chardata + char_index; int round_x = STBTT_ifloor((*xpos + b->xoff) + 0.5f); int round_y = STBTT_ifloor((*ypos + b->yoff) + 0.5f); @@ -3735,10 +3736,10 @@ STBTT_DEF int stbtt_PackFontRange(stbtt_pack_context *spc, unsigned char *fontda return stbtt_PackFontRanges(spc, fontdata, font_index, &range, 1); } -STBTT_DEF void stbtt_GetPackedQuad(stbtt_packedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q, int align_to_integer) +STBTT_DEF void stbtt_GetPackedQuad(const stbtt_packedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q, int align_to_integer) { float ipw = 1.0f / pw, iph = 1.0f / ph; - stbtt_packedchar *b = chardata + char_index; + const stbtt_packedchar *b = chardata + char_index; if (align_to_integer) { float x = (float) STBTT_ifloor((*xpos + b->xoff) + 0.5f); @@ -4016,3 +4017,45 @@ STBTT_DEF int stbtt_CompareUTF8toUTF16_bigendian(const char *s1, int len1, const // 0.2 (2009-03-11) Fix unsigned/signed char warnings // 0.1 (2009-03-09) First public release // + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/src/external/stb_vorbis.c b/src/external/stb_vorbis.c index 07d79318b..21638bcda 100644 --- a/src/external/stb_vorbis.c +++ b/src/external/stb_vorbis.c @@ -162,21 +162,23 @@ #endif #ifndef STB_VORBIS_NO_CRT -#include -#include -#include -#include -#if !(defined(__APPLE__) || defined(MACOSX) || defined(macintosh) || defined(Macintosh)) -#include -#if defined(__linux__) || defined(__linux) || defined(__EMSCRIPTEN__) -#include -#endif -#endif + #include + #include + #include + #include + + // find definition of alloca if it's not in stdlib.h: + #if defined(_MSC_VER) || defined(__MINGW32__) + #include + #endif + #if defined(__linux__) || defined(__linux) || defined(__EMSCRIPTEN__) + #include + #endif #else // STB_VORBIS_NO_CRT -#define NULL 0 -#define malloc(s) 0 -#define free(s) ((void) 0) -#define realloc(s) 0 + #define NULL 0 + #define malloc(s) 0 + #define free(s) ((void) 0) + #define realloc(s) 0 #endif // STB_VORBIS_NO_CRT #include @@ -597,17 +599,18 @@ static int ilog(int32 n) { static signed char log2_4[16] = { 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4 }; + if (n < 0) return 0; // signed n returns 0 + // 2 compares if n < 16, 3 compares otherwise (4 if signed or n > 1<<29) if (n < (1 << 14)) - if (n < (1 << 4)) return 0 + log2_4[n ]; - else if (n < (1 << 9)) return 5 + log2_4[n >> 5]; + if (n < (1 << 4)) return 0 + log2_4[n ]; + else if (n < (1 << 9)) return 5 + log2_4[n >> 5]; else return 10 + log2_4[n >> 10]; else if (n < (1 << 24)) - if (n < (1 << 19)) return 15 + log2_4[n >> 15]; + if (n < (1 << 19)) return 15 + log2_4[n >> 15]; else return 20 + log2_4[n >> 20]; - else if (n < (1 << 29)) return 25 + log2_4[n >> 25]; - else if (n < (1 << 31)) return 30 + log2_4[n >> 30]; - else return 0; // signed n returns 0 + else if (n < (1 << 29)) return 25 + log2_4[n >> 25]; + else return 30 + log2_4[n >> 30]; } #ifndef M_PI @@ -880,13 +883,13 @@ static void neighbors(uint16 *x, int n, int *plow, int *phigh) // this has been repurposed so y is now the original index instead of y typedef struct { - uint16 x,y; -} Point; + uint16 x,id; +} stbv__floor_ordering; static int STBV_CDECL point_compare(const void *p, const void *q) { - Point *a = (Point *) p; - Point *b = (Point *) q; + stbv__floor_ordering *a = (stbv__floor_ordering *) p; + stbv__floor_ordering *b = (stbv__floor_ordering *) q; return a->x < b->x ? -1 : a->x > b->x; } @@ -3095,11 +3098,13 @@ static int vorbis_finish_frame(stb_vorbis *f, int len, int left, int right) return right - left; } -static void vorbis_pump_first_frame(stb_vorbis *f) +static int vorbis_pump_first_frame(stb_vorbis *f) { - int len, right, left; - if (vorbis_decode_packet(f, &len, &left, &right)) + int len, right, left, res; + res = vorbis_decode_packet(f, &len, &left, &right); + if (res) vorbis_finish_frame(f, len, left, right); + return res; } #ifndef STB_VORBIS_NO_PUSHDATA_API @@ -3482,7 +3487,7 @@ static int start_decoder(vorb *f) g->book_list[j] = get_bits(f,8); return error(f, VORBIS_feature_not_supported); } else { - Point p[31*8+2]; + stbv__floor_ordering p[31*8+2]; Floor1 *g = &f->floor_config[i].floor1; int max_class = -1; g->partitions = get_bits(f, 5); @@ -3518,11 +3523,11 @@ static int start_decoder(vorb *f) // precompute the sorting for (j=0; j < g->values; ++j) { p[j].x = g->Xlist[j]; - p[j].y = j; + p[j].id = j; } qsort(p, g->values, sizeof(p[0]), point_compare); for (j=0; j < g->values; ++j) - g->sorted_order[j] = (uint8) p[j].y; + g->sorted_order[j] = (uint8) p[j].id; // precompute the neighbors for (j=2; j < g->values; ++j) { int low,hi; @@ -4226,8 +4231,9 @@ static int seek_to_sample_coarse(stb_vorbis *f, uint32 sample_number) // starting from the start is handled differently if (sample_number <= left.last_decoded_sample) { - stb_vorbis_seek_start(f); - return 1; + if (stb_vorbis_seek_start(f)) + return 1; + return 0; } while (left.page_end != right.page_start) { @@ -4328,7 +4334,10 @@ static int seek_to_sample_coarse(stb_vorbis *f, uint32 sample_number) skip(f, f->segments[i]); // start decoding (optimizable - this frame is generally discarded) - vorbis_pump_first_frame(f); + if (!vorbis_pump_first_frame(f)) + return 0; + if (f->current_loc > sample_number) + return error(f, VORBIS_seek_failed); return 1; error: @@ -4419,14 +4428,14 @@ int stb_vorbis_seek(stb_vorbis *f, unsigned int sample_number) return 1; } -void stb_vorbis_seek_start(stb_vorbis *f) +int stb_vorbis_seek_start(stb_vorbis *f) { - if (IS_PUSH_MODE(f)) { error(f, VORBIS_invalid_api_mixing); return; } + if (IS_PUSH_MODE(f)) { return error(f, VORBIS_invalid_api_mixing); } set_file_offset(f, f->first_audio_page_offset); f->previous_length = 0; f->first_decode = TRUE; f->next_seg = -1; - vorbis_pump_first_frame(f); + return vorbis_pump_first_frame(f); } unsigned int stb_vorbis_stream_length_in_samples(stb_vorbis *f) @@ -4591,6 +4600,7 @@ stb_vorbis * stb_vorbis_open_memory(const unsigned char *data, int len, int *err if (f) { *f = p; vorbis_pump_first_frame(f); + if (error) *error = VORBIS__no_error; return f; } } @@ -4956,6 +4966,7 @@ int stb_vorbis_get_samples_float(stb_vorbis *f, int channels, float **buffer, in #endif // STB_VORBIS_NO_PULLDATA_API /* Version history + 1.10 - 2017/03/03 - more robust seeking; fix negative ilog(); clear error in open_memory 1.09 - 2016/04/04 - back out 'avoid discarding last frame' fix from previous version 1.08 - 2016/04/02 - fixed multiple warnings; fix setup memory leaks; avoid discarding last frame of audio data @@ -5008,3 +5019,46 @@ int stb_vorbis_get_samples_float(stb_vorbis *f, int channels, float **buffer, in */ #endif // STB_VORBIS_HEADER_ONLY + + +/* +------------------------------------------------------------------------------ +This software is available under 2 licenses -- choose whichever you prefer. +------------------------------------------------------------------------------ +ALTERNATIVE A - MIT License +Copyright (c) 2017 Sean Barrett +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +------------------------------------------------------------------------------ +ALTERNATIVE B - Public Domain (www.unlicense.org) +This is free and unencumbered software released into the public domain. +Anyone is free to copy, modify, publish, use, compile, sell, or distribute this +software, either in source code form or as a compiled binary, for any purpose, +commercial or non-commercial, and by any means. +In jurisdictions that recognize copyright laws, the author or authors of this +software dedicate any and all copyright interest in the software to the public +domain. We make this dedication for the benefit of the public at large and to +the detriment of our heirs and successors. We intend this dedication to be an +overt act of relinquishment in perpetuity of all present and future rights to +this software under copyright law. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +------------------------------------------------------------------------------ +*/ diff --git a/src/external/stb_vorbis.h b/src/external/stb_vorbis.h index 624ce4bc2..9394e8130 100644 --- a/src/external/stb_vorbis.h +++ b/src/external/stb_vorbis.h @@ -1,4 +1,4 @@ -// Ogg Vorbis audio decoder - v1.09 - public domain +// Ogg Vorbis audio decoder - v1.10 - public domain // http://nothings.org/stb_vorbis/ // // Original version written by Sean Barrett in 2007. @@ -9,12 +9,7 @@ // // LICENSE // -// This software is dual-licensed to the public domain and under the following -// license: you are granted a perpetual, irrevocable license to copy, modify, -// publish, and distribute this file as you see fit. -// -// No warranty for any purpose is expressed or implied by the author (nor -// by RAD Game Tools). Report bugs and send enhancements to the author. +// See end of file for license information. // // Limitations: // @@ -37,6 +32,7 @@ // manxorist@github saga musix // // Partial history: +// 1.10 - 2017/03/03 - more robust seeking; fix negative ilog(); clear error in open_memory // 1.09 - 2016/04/04 - back out 'truncation of last frame' fix from previous version // 1.08 - 2016/04/02 - warnings; setup memory leaks; truncation of last frame // 1.07 - 2015/01/16 - fixes for crashes on invalid files; warning fixes; const @@ -280,7 +276,7 @@ extern int stb_vorbis_seek(stb_vorbis *f, unsigned int sample_number); // do not need to seek to EXACTLY the target sample when using get_samples_*, // you can also use seek_frame(). -extern void stb_vorbis_seek_start(stb_vorbis *f); +extern int stb_vorbis_seek_start(stb_vorbis *f); // this function is equivalent to stb_vorbis_seek(f,0) extern unsigned int stb_vorbis_stream_length_in_samples(stb_vorbis *f); diff --git a/src/models.c b/src/models.c index 55311a029..fa6faf169 100644 --- a/src/models.c +++ b/src/models.c @@ -607,13 +607,13 @@ Mesh LoadMesh(const char *fileName) } // Load mesh from vertex data -// NOTE: All vertex data arrays must be same size: numVertex -Mesh LoadMeshEx(int numVertex, float *vData, float *vtData, float *vnData, Color *cData) +// NOTE: All vertex data arrays must be same size: vertexCount +Mesh LoadMeshEx(int vertexCount, float *vData, float *vtData, float *vnData, Color *cData) { Mesh mesh = { 0 }; - mesh.vertexCount = numVertex; - mesh.triangleCount = numVertex/3; + mesh.vertexCount = vertexCount; + mesh.triangleCount = vertexCount/3; mesh.vertices = vData; mesh.texcoords = vtData; mesh.texcoords2 = NULL; @@ -754,9 +754,9 @@ static Mesh GenMeshHeightmap(Image heightmap, Vector3 size) Color *pixels = GetImageData(heightmap); // NOTE: One vertex per pixel - int numTriangles = (mapX-1)*(mapZ-1)*2; // One quad every four pixels + int triangleCount = (mapX-1)*(mapZ-1)*2; // One quad every four pixels - mesh.vertexCount = numTriangles*3; + mesh.vertexCount = triangleCount*3; mesh.vertices = (float *)malloc(mesh.vertexCount*3*sizeof(float)); mesh.normals = (float *)malloc(mesh.vertexCount*3*sizeof(float)); @@ -1615,10 +1615,10 @@ static Mesh LoadOBJ(const char *fileName) char dataType; char comments[200]; - int numVertex = 0; - int numNormals = 0; - int numTexCoords = 0; - int numTriangles = 0; + int vertexCount = 0; + int normalCount = 0; + int texcoordCount = 0; + int triangleCount = 0; FILE *objFile; @@ -1630,7 +1630,7 @@ static Mesh LoadOBJ(const char *fileName) return mesh; } - // First reading pass: Get numVertex, numNormals, numTexCoords, numTriangles + // First reading pass: Get vertexCount, normalCount, texcoordCount, triangleCount // NOTE: vertex, texcoords and normals could be optimized (to be used indexed on faces definition) // NOTE: faces MUST be defined as TRIANGLES (3 vertex per face) while (!feof(objFile)) @@ -1654,40 +1654,40 @@ static Mesh LoadOBJ(const char *fileName) if (dataType == 't') // Read texCoord { - numTexCoords++; + texcoordCount++; fgets(comments, 200, objFile); } else if (dataType == 'n') // Read normals { - numNormals++; + normalCount++; fgets(comments, 200, objFile); } else // Read vertex { - numVertex++; + vertexCount++; fgets(comments, 200, objFile); } } break; case 'f': { - numTriangles++; + triangleCount++; fgets(comments, 200, objFile); } break; default: break; } } - TraceLog(DEBUG, "[%s] Model num vertices: %i", fileName, numVertex); - TraceLog(DEBUG, "[%s] Model num texcoords: %i", fileName, numTexCoords); - TraceLog(DEBUG, "[%s] Model num normals: %i", fileName, numNormals); - TraceLog(DEBUG, "[%s] Model num triangles: %i", fileName, numTriangles); + TraceLog(DEBUG, "[%s] Model vertices: %i", fileName, vertexCount); + TraceLog(DEBUG, "[%s] Model texcoords: %i", fileName, texcoordCount); + TraceLog(DEBUG, "[%s] Model normals: %i", fileName, normalCount); + TraceLog(DEBUG, "[%s] Model triangles: %i", fileName, triangleCount); // Once we know the number of vertices to store, we create required arrays - Vector3 *midVertices = (Vector3 *)malloc(numVertex*sizeof(Vector3)); + Vector3 *midVertices = (Vector3 *)malloc(vertexCount*sizeof(Vector3)); Vector3 *midNormals = NULL; - if (numNormals > 0) midNormals = (Vector3 *)malloc(numNormals*sizeof(Vector3)); + if (normalCount > 0) midNormals = (Vector3 *)malloc(normalCount*sizeof(Vector3)); Vector2 *midTexCoords = NULL; - if (numTexCoords > 0) midTexCoords = (Vector2 *)malloc(numTexCoords*sizeof(Vector2)); + if (texcoordCount > 0) midTexCoords = (Vector2 *)malloc(texcoordCount*sizeof(Vector2)); int countVertex = 0; int countNormals = 0; @@ -1738,7 +1738,7 @@ static Mesh LoadOBJ(const char *fileName) // At this point all vertex data (v, vt, vn) has been gathered on midVertices, midTexCoords, midNormals // Now we can organize that data into our Mesh struct - mesh.vertexCount = numTriangles*3; + mesh.vertexCount = triangleCount*3; // Additional arrays to store vertex data as floats mesh.vertices = (float *)malloc(mesh.vertexCount*3*sizeof(float)); @@ -1750,11 +1750,11 @@ static Mesh LoadOBJ(const char *fileName) int tcCounter = 0; // Used to count texcoords float by float int nCounter = 0; // Used to count normals float by float - int vNum[3], vtNum[3], vnNum[3]; // Used to store triangle indices for v, vt, vn + int vCount[3], vtCount[3], vnCount[3]; // Used to store triangle indices for v, vt, vn rewind(objFile); // Return to the beginning of the file, to read again - if (numNormals == 0) TraceLog(INFO, "[%s] No normals data on OBJ, normals will be generated from faces data", fileName); + if (normalCount == 0) TraceLog(INFO, "[%s] No normals data on OBJ, normals will be generated from faces data", fileName); // Third reading pass: Get faces (triangles) data and fill VertexArray while (!feof(objFile)) @@ -1768,43 +1768,43 @@ static Mesh LoadOBJ(const char *fileName) { // NOTE: It could be that OBJ does not have normals or texcoords defined! - if ((numNormals == 0) && (numTexCoords == 0)) fscanf(objFile, "%i %i %i", &vNum[0], &vNum[1], &vNum[2]); - else if (numNormals == 0) fscanf(objFile, "%i/%i %i/%i %i/%i", &vNum[0], &vtNum[0], &vNum[1], &vtNum[1], &vNum[2], &vtNum[2]); - else if (numTexCoords == 0) fscanf(objFile, "%i//%i %i//%i %i//%i", &vNum[0], &vnNum[0], &vNum[1], &vnNum[1], &vNum[2], &vnNum[2]); - else fscanf(objFile, "%i/%i/%i %i/%i/%i %i/%i/%i", &vNum[0], &vtNum[0], &vnNum[0], &vNum[1], &vtNum[1], &vnNum[1], &vNum[2], &vtNum[2], &vnNum[2]); + if ((normalCount == 0) && (texcoordCount == 0)) fscanf(objFile, "%i %i %i", &vCount[0], &vCount[1], &vCount[2]); + else if (normalCount == 0) fscanf(objFile, "%i/%i %i/%i %i/%i", &vCount[0], &vtCount[0], &vCount[1], &vtCount[1], &vCount[2], &vtCount[2]); + else if (texcoordCount == 0) fscanf(objFile, "%i//%i %i//%i %i//%i", &vCount[0], &vnCount[0], &vCount[1], &vnCount[1], &vCount[2], &vnCount[2]); + else fscanf(objFile, "%i/%i/%i %i/%i/%i %i/%i/%i", &vCount[0], &vtCount[0], &vnCount[0], &vCount[1], &vtCount[1], &vnCount[1], &vCount[2], &vtCount[2], &vnCount[2]); - mesh.vertices[vCounter] = midVertices[vNum[0]-1].x; - mesh.vertices[vCounter + 1] = midVertices[vNum[0]-1].y; - mesh.vertices[vCounter + 2] = midVertices[vNum[0]-1].z; + mesh.vertices[vCounter] = midVertices[vCount[0]-1].x; + mesh.vertices[vCounter + 1] = midVertices[vCount[0]-1].y; + mesh.vertices[vCounter + 2] = midVertices[vCount[0]-1].z; vCounter += 3; - mesh.vertices[vCounter] = midVertices[vNum[1]-1].x; - mesh.vertices[vCounter + 1] = midVertices[vNum[1]-1].y; - mesh.vertices[vCounter + 2] = midVertices[vNum[1]-1].z; + mesh.vertices[vCounter] = midVertices[vCount[1]-1].x; + mesh.vertices[vCounter + 1] = midVertices[vCount[1]-1].y; + mesh.vertices[vCounter + 2] = midVertices[vCount[1]-1].z; vCounter += 3; - mesh.vertices[vCounter] = midVertices[vNum[2]-1].x; - mesh.vertices[vCounter + 1] = midVertices[vNum[2]-1].y; - mesh.vertices[vCounter + 2] = midVertices[vNum[2]-1].z; + mesh.vertices[vCounter] = midVertices[vCount[2]-1].x; + mesh.vertices[vCounter + 1] = midVertices[vCount[2]-1].y; + mesh.vertices[vCounter + 2] = midVertices[vCount[2]-1].z; vCounter += 3; - if (numNormals > 0) + if (normalCount > 0) { - mesh.normals[nCounter] = midNormals[vnNum[0]-1].x; - mesh.normals[nCounter + 1] = midNormals[vnNum[0]-1].y; - mesh.normals[nCounter + 2] = midNormals[vnNum[0]-1].z; + mesh.normals[nCounter] = midNormals[vnCount[0]-1].x; + mesh.normals[nCounter + 1] = midNormals[vnCount[0]-1].y; + mesh.normals[nCounter + 2] = midNormals[vnCount[0]-1].z; nCounter += 3; - mesh.normals[nCounter] = midNormals[vnNum[1]-1].x; - mesh.normals[nCounter + 1] = midNormals[vnNum[1]-1].y; - mesh.normals[nCounter + 2] = midNormals[vnNum[1]-1].z; + mesh.normals[nCounter] = midNormals[vnCount[1]-1].x; + mesh.normals[nCounter + 1] = midNormals[vnCount[1]-1].y; + mesh.normals[nCounter + 2] = midNormals[vnCount[1]-1].z; nCounter += 3; - mesh.normals[nCounter] = midNormals[vnNum[2]-1].x; - mesh.normals[nCounter + 1] = midNormals[vnNum[2]-1].y; - mesh.normals[nCounter + 2] = midNormals[vnNum[2]-1].z; + mesh.normals[nCounter] = midNormals[vnCount[2]-1].x; + mesh.normals[nCounter + 1] = midNormals[vnCount[2]-1].y; + mesh.normals[nCounter + 2] = midNormals[vnCount[2]-1].z; nCounter += 3; } else { // If normals not defined, they are calculated from the 3 vertices [N = (V2 - V1) x (V3 - V1)] - Vector3 norm = VectorCrossProduct(VectorSubtract(midVertices[vNum[1]-1], midVertices[vNum[0]-1]), VectorSubtract(midVertices[vNum[2]-1], midVertices[vNum[0]-1])); + Vector3 norm = VectorCrossProduct(VectorSubtract(midVertices[vCount[1]-1], midVertices[vCount[0]-1]), VectorSubtract(midVertices[vCount[2]-1], midVertices[vCount[0]-1])); VectorNormalize(&norm); mesh.normals[nCounter] = norm.x; @@ -1821,18 +1821,18 @@ static Mesh LoadOBJ(const char *fileName) nCounter += 3; } - if (numTexCoords > 0) + if (texcoordCount > 0) { // NOTE: If using negative texture coordinates with a texture filter of GL_CLAMP_TO_EDGE doesn't work! // NOTE: Texture coordinates are Y flipped upside-down - mesh.texcoords[tcCounter] = midTexCoords[vtNum[0]-1].x; - mesh.texcoords[tcCounter + 1] = 1.0f - midTexCoords[vtNum[0]-1].y; + mesh.texcoords[tcCounter] = midTexCoords[vtCount[0]-1].x; + mesh.texcoords[tcCounter + 1] = 1.0f - midTexCoords[vtCount[0]-1].y; tcCounter += 2; - mesh.texcoords[tcCounter] = midTexCoords[vtNum[1]-1].x; - mesh.texcoords[tcCounter + 1] = 1.0f - midTexCoords[vtNum[1]-1].y; + mesh.texcoords[tcCounter] = midTexCoords[vtCount[1]-1].x; + mesh.texcoords[tcCounter + 1] = 1.0f - midTexCoords[vtCount[1]-1].y; tcCounter += 2; - mesh.texcoords[tcCounter] = midTexCoords[vtNum[2]-1].x; - mesh.texcoords[tcCounter + 1] = 1.0f - midTexCoords[vtNum[2]-1].y; + mesh.texcoords[tcCounter] = midTexCoords[vtCount[2]-1].x; + mesh.texcoords[tcCounter + 1] = 1.0f - midTexCoords[vtCount[2]-1].y; tcCounter += 2; } } break; @@ -1843,7 +1843,7 @@ static Mesh LoadOBJ(const char *fileName) fclose(objFile); // Security check, just in case no normals or no texcoords defined in OBJ - if (numTexCoords == 0) for (int i = 0; i < (2*mesh.vertexCount); i++) mesh.texcoords[i] = 0.0f; + if (texcoordCount == 0) for (int i = 0; i < (2*mesh.vertexCount); i++) mesh.texcoords[i] = 0.0f; else { // Attempt to calculate mesh tangents and binormals using positions and texture coordinates diff --git a/src/physac.h b/src/physac.h index 1aa0adeeb..cec3afc93 100644 --- a/src/physac.h +++ b/src/physac.h @@ -2,22 +2,22 @@ * * Physac v1.0 - 2D Physics library for videogames * -* DESCRIPTION: +* DESCRIPTION: * -* Physac is a small 2D physics engine written in pure C. The engine uses a fixed time-step thread loop -* to simluate physics. A physics step contains the following phases: get collision information, -* apply dynamics, collision solving and position correction. It uses a very simple struct for physic +* Physac is a small 2D physics engine written in pure C. The engine uses a fixed time-step thread loop +* to simluate physics. A physics step contains the following phases: get collision information, +* apply dynamics, collision solving and position correction. It uses a very simple struct for physic * bodies with a position vector to be used in any 3D rendering API. -* +* * CONFIGURATION: -* +* * #define PHYSAC_IMPLEMENTATION * Generates the implementation of the library into the included file. -* If not defined, the library is in header only mode and can be included in other headers +* If not defined, the library is in header only mode and can be included in other headers * or source files without problems. But only ONE file should hold the implementation. * * #define PHYSAC_STATIC (defined by default) -* The generated implementation will stay private inside implementation file and all +* The generated implementation will stay private inside implementation file and all * internal symbols and functions will only be visible inside that file. * * #define PHYSAC_NO_THREADS @@ -30,7 +30,7 @@ * the user (check library implementation for further details). * * #define PHYSAC_DEBUG -* Traces log messages when creating and destroying physics bodies and detects errors in physics +* Traces log messages when creating and destroying physics bodies and detects errors in physics * calculations and reference exceptions; it is useful for debug purposes * * #define PHYSAC_MALLOC() @@ -39,10 +39,11 @@ * Otherwise it will include stdlib.h and use the C standard library malloc()/free() function. * * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) * -* Use the following code to compile (-static -lpthread): -* gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread +* Use the following code to compile: +* gcc -o physac_sample.exe physac_sample.c -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread \ * -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition * * VERY THANKS TO: @@ -51,7 +52,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2017 Victor Fisac +* Copyright (c) 2016-2017 Victor Fisac * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -73,7 +74,7 @@ #if !defined(PHYSAC_H) #define PHYSAC_H -#define PHYSAC_STATIC +// #define PHYSAC_STATIC // #define PHYSAC_NO_THREADS // #define PHYSAC_STANDALONE // #define PHYSAC_DEBUG @@ -250,6 +251,7 @@ PHYSACDEF void ClosePhysics(void); int __stdcall QueryPerformanceCounter(unsigned long long int *lpPerformanceCount); int __stdcall QueryPerformanceFrequency(unsigned long long int *lpFrequency); #elif defined(__linux__) || defined(PLATFORM_WEB) + #define _DEFAULT_SOURCE // Enables BSD function definitions and C99 POSIX compliance #include // Required for: timespec #include // Required for: clock_gettime() #include @@ -404,7 +406,7 @@ PHYSACDEF PhysicsBody CreatePhysicsBodyRectangle(Vector2 pos, float width, float // Initialize new body with generic values newBody->id = newId; newBody->enabled = true; - newBody->position = pos; + newBody->position = pos; newBody->velocity = (Vector2){ 0 }; newBody->force = (Vector2){ 0 }; newBody->angularVelocity = 0; @@ -512,7 +514,7 @@ PHYSACDEF PhysicsBody CreatePhysicsBodyPolygon(Vector2 pos, float radius, int si // Initialize new body with generic values newBody->id = newId; newBody->enabled = true; - newBody->position = pos; + newBody->position = pos; newBody->velocity = (Vector2){ 0 }; newBody->force = (Vector2){ 0 }; newBody->angularVelocity = 0; @@ -745,82 +747,74 @@ PHYSACDEF int GetPhysicsBodiesCount(void) // Returns a physics body of the bodies pool at a specific index PHYSACDEF PhysicsBody GetPhysicsBody(int index) { + PhysicsBody body = NULL; + if (index < physicsBodiesCount) { - PhysicsBody body = bodies[index]; - if (body != NULL) return body; - else + body = bodies[index]; + + if (body == NULL) { #if defined(PHYSAC_DEBUG) printf("[PHYSAC] error when trying to get a null reference physics body"); #endif - - return NULL; } } #if defined(PHYSAC_DEBUG) - else - { - printf("[PHYSAC] physics body index is out of bounds"); - return NULL; - } + else printf("[PHYSAC] physics body index is out of bounds"); #endif + + return body; } // Returns the physics body shape type (PHYSICS_CIRCLE or PHYSICS_POLYGON) PHYSACDEF int GetPhysicsShapeType(int index) { + int result = -1; + if (index < physicsBodiesCount) { PhysicsBody body = bodies[index]; - if (body != NULL) return body->shape.type; + + if (body != NULL) result = body->shape.type; #if defined(PHYSAC_DEBUG) - else - { - printf("[PHYSAC] error when trying to get a null reference physics body"); - return -1; - } + else printf("[PHYSAC] error when trying to get a null reference physics body"); #endif } #if defined(PHYSAC_DEBUG) - else - { - printf("[PHYSAC] physics body index is out of bounds"); - return -1; - } + else printf("[PHYSAC] physics body index is out of bounds"); #endif + + return result; } // Returns the amount of vertices of a physics body shape PHYSACDEF int GetPhysicsShapeVerticesCount(int index) { + int result = 0; + if (index < physicsBodiesCount) { PhysicsBody body = bodies[index]; + if (body != NULL) { switch (body->shape.type) { - case PHYSICS_CIRCLE: return PHYSAC_CIRCLE_VERTICES; break; - case PHYSICS_POLYGON: return body->shape.vertexData.vertexCount; break; + case PHYSICS_CIRCLE: result = PHYSAC_CIRCLE_VERTICES; break; + case PHYSICS_POLYGON: result = body->shape.vertexData.vertexCount; break; default: break; } } #if defined(PHYSAC_DEBUG) - else - { - printf("[PHYSAC] error when trying to get a null reference physics body"); - return 0; - } + else printf("[PHYSAC] error when trying to get a null reference physics body"); #endif } #if defined(PHYSAC_DEBUG) - else - { - printf("[PHYSAC] physics body index is out of bounds"); - return 0; - } + else printf("[PHYSAC] physics body index is out of bounds"); #endif + + return result; } // Returns transformed position of a body shape (body position + vertex transformed position) @@ -1082,7 +1076,7 @@ static void PhysicsStep(void) PhysicsManifold manifold = contacts[i]; if (manifold != NULL) DestroyPhysicsManifold(manifold); } - + // Reset physics bodies grounded state for (int i = 0; i < physicsBodiesCount; i++) { @@ -1208,7 +1202,7 @@ static PhysicsManifold CreatePhysicsManifold(PhysicsBody a, PhysicsBody b) } if (newId != -1) - { + { // Initialize new manifold with generic values newManifold->id = newId; newManifold->bodyA = a; @@ -1298,7 +1292,7 @@ static void SolvePhysicsManifold(PhysicsManifold manifold) } break; default: break; } - + // Update physics body grounded state if normal direction is down and grounded state is not set yet in previous manifolds if (!manifold->bodyB->isGrounded) manifold->bodyB->isGrounded = (manifold->normal.y < 0); } @@ -1395,7 +1389,7 @@ static void SolveCircleToPolygon(PhysicsManifold manifold) manifold->penetration = bodyA->shape.radius - separation; if (dot1 <= 0) // Closest to v1 - { + { if (DistSqr(center, v1) > bodyA->shape.radius*bodyA->shape.radius) return; manifold->contactsCount = 1; @@ -1600,7 +1594,7 @@ static void IntegratePhysicsImpulses(PhysicsManifold manifold) // Early out and positional correct if both objects have infinite mass if (fabs(bodyA->inverseMass + bodyB->inverseMass) <= PHYSAC_EPSILON) { - bodyA->velocity = (Vector2){ 0 }; + bodyA->velocity = (Vector2){ 0 }; bodyB->velocity = (Vector2){ 0 }; return; } @@ -1629,7 +1623,7 @@ static void IntegratePhysicsImpulses(PhysicsManifold manifold) // Calculate impulse scalar value float impulse = -(1.0f + manifold->restitution)*contactVelocity; - impulse /= inverseMassSum; + impulse /= inverseMassSum; impulse /= (float)manifold->contactsCount; // Apply impulse to each physics body diff --git a/src/raylib.h b/src/raylib.h index b82ec3429..6f510f9f9 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -74,7 +74,6 @@ //#define PLATFORM_ANDROID // Android device //#define PLATFORM_RPI // Raspberry Pi //#define PLATFORM_WEB // HTML5 (emscripten, asm.js) -//#define RLGL_OCULUS_SUPPORT // Oculus Rift CV1 (complementary to PLATFORM_DESKTOP) // Security check in case no PLATFORM_* defined #if !defined(PLATFORM_DESKTOP) && !defined(PLATFORM_ANDROID) && !defined(PLATFORM_RPI) && !defined(PLATFORM_WEB) @@ -295,7 +294,7 @@ #define RAYWHITE CLITERAL{ 245, 245, 245, 255 } // My own White (raylib logo) //---------------------------------------------------------------------------------- -// Types and Structures Definition +// Structures Definition //---------------------------------------------------------------------------------- #ifndef __cplusplus // Boolean type @@ -352,7 +351,7 @@ typedef struct Image { int format; // Data format (TextureFormat type) } Image; -// Texture2D type, bpp always RGBA (32bit) +// Texture2D type // NOTE: Data stored in GPU memory typedef struct Texture2D { unsigned int id; // OpenGL texture id @@ -516,6 +515,34 @@ typedef struct AudioStream { unsigned int buffers[2]; // OpenAL audio buffers (double buffering) } AudioStream; +// rRES data returned when reading a resource, +// it contains all required data for user (24 byte) +typedef struct RRESData { + unsigned int type; // Resource type (4 byte) + + unsigned int param1; // Resouce parameter 1 (4 byte) + unsigned int param2; // Resouce parameter 2 (4 byte) + unsigned int param3; // Resouce parameter 3 (4 byte) + unsigned int param4; // Resouce parameter 4 (4 byte) + + void *data; // Resource data pointer (4 byte) +} RRESData; + +// RRES type (pointer to RRESData array) +typedef struct RRESData *RRES; + +//---------------------------------------------------------------------------------- +// Enumerators Definition +//---------------------------------------------------------------------------------- +// Trace log type +typedef enum { + INFO = 0, + WARNING, + ERROR, + DEBUG, + OTHER +} LogType; + // Texture formats // NOTE: Support depends on OpenGL version and platform typedef enum { @@ -552,10 +579,18 @@ typedef enum { } TextureFilterMode; // Texture parameters: wrap mode -typedef enum { WRAP_REPEAT = 0, WRAP_CLAMP, WRAP_MIRROR } TextureWrapMode; +typedef enum { + WRAP_REPEAT = 0, + WRAP_CLAMP, + WRAP_MIRROR +} TextureWrapMode; // Color blending modes (pre-defined) -typedef enum { BLEND_ALPHA = 0, BLEND_ADDITIVE, BLEND_MULTIPLIED } BlendMode; +typedef enum { + BLEND_ALPHA = 0, + BLEND_ADDITIVE, + BLEND_MULTIPLIED +} BlendMode; // Gestures type // NOTE: It could be used as flags to enable only some gestures @@ -595,19 +630,6 @@ typedef enum { HMD_FOVE_VR, } VrDevice; -// rRES data returned when reading a resource, -// it contains all required data for user (24 byte) -typedef struct RRESData { - unsigned int type; // Resource type (4 byte) - - unsigned int param1; // Resouce parameter 1 (4 byte) - unsigned int param2; // Resouce parameter 2 (4 byte) - unsigned int param3; // Resouce parameter 3 (4 byte) - unsigned int param4; // Resouce parameter 4 (4 byte) - - void *data; // Resource data pointer (4 byte) -} RRESData; - // RRESData type typedef enum { RRES_TYPE_RAW = 0, @@ -620,9 +642,6 @@ typedef enum { RRES_TYPE_DIRECTORY } RRESDataType; -// RRES type (pointer to RRESData array) -typedef struct RRESData *RRES; - #ifdef __cplusplus extern "C" { // Prevents name mangling of functions #endif @@ -689,7 +708,7 @@ RLAPI Color Fade(Color color, float alpha); // Color fade- RLAPI void ShowLogo(void); // Activates raylib logo at startup (can be done with flags) RLAPI void SetConfigFlags(char flags); // Setup some window configuration flags -//RLAPI void TraceLog(int logType, const char *text, ...); // Show trace log messages (INFO, WARNING, ERROR, DEBUG) +RLAPI void TraceLog(int logType, const char *text, ...); // Show trace log messages (INFO, WARNING, ERROR, DEBUG) RLAPI void TakeScreenshot(void); // Takes a screenshot and saves it in the same folder as executable RLAPI bool IsFileExtension(const char *fileName, const char *ext);// Check file extension @@ -847,7 +866,7 @@ RLAPI void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle dest //------------------------------------------------------------------------------------ RLAPI SpriteFont GetDefaultFont(void); // Get the default SpriteFont RLAPI SpriteFont LoadSpriteFont(const char *fileName); // Load SpriteFont from file into GPU memory (VRAM) -RLAPI SpriteFont LoadSpriteFontTTF(const char *fileName, int fontSize, int charsCount, int *fontChars); // Load SpriteFont from TTF font file with generation parameters +RLAPI SpriteFont LoadSpriteFontEx(const char *fileName, int fontSize, int charsCount, int *fontChars); // Load SpriteFont from file with extended parameters RLAPI void UnloadSpriteFont(SpriteFont spriteFont); // Unload SpriteFont from GPU memory (VRAM) RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) diff --git a/src/rlgl.c b/src/rlgl.c index 5f7b6cb2e..1dc833148 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -22,7 +22,7 @@ * #define RLGL_STANDALONE * Use rlgl as standalone library (no raylib dependency) * -* #define SUPPORT_VR_SIMULATION / SUPPORT_STEREO_RENDERING +* #define SUPPORT_VR_SIMULATOR * Support VR simulation functionality (stereo rendering) * * #define SUPPORT_DISTORTION_SHADER @@ -56,7 +56,7 @@ // Default configuration flags (supported features) //------------------------------------------------- -#define SUPPORT_VR_SIMULATION +#define SUPPORT_VR_SIMULATOR #define SUPPORT_DISTORTION_SHADER //------------------------------------------------- @@ -64,7 +64,7 @@ #include // Required for: fopen(), fclose(), fread()... [Used only on LoadText()] #include // Required for: malloc(), free(), rand() -#include // Required for: strcmp(), strlen(), strtok() +#include // Required for: strcmp(), strlen(), strtok() [Used only in extensions loading] #include // Required for: atan2() #ifndef RLGL_STANDALONE @@ -222,6 +222,7 @@ typedef struct DrawCall { //Guint fboId; } DrawCall; +#if defined(SUPPORT_VR_SIMULATOR) // Head-Mounted-Display device parameters typedef struct VrDeviceInfo { int hResolution; // HMD horizontal resolution in pixels @@ -244,6 +245,7 @@ typedef struct VrStereoConfig { Matrix eyesProjection[2]; // VR stereo rendering eyes projection matrices Matrix eyesViewOffset[2]; // VR stereo rendering eyes view offset matrices } VrStereoConfig; +#endif //---------------------------------------------------------------------------------- // Global Variables Definition @@ -287,13 +289,16 @@ static bool texCompETC2Supported = false; // ETC2/EAC texture compression supp static bool texCompPVRTSupported = false; // PVR texture compression support static bool texCompASTCSupported = false; // ASTC texture compression support +#if defined(SUPPORT_VR_SIMULATOR) // VR global variables static VrDeviceInfo hmd; // Current VR device info static VrStereoConfig vrConfig; // VR stereo configuration for simulator static bool vrSimulatorReady = false; // VR simulator ready flag static bool vrStereoRender = false; // VR stereo rendering enabled/disabled flag // NOTE: This flag is useful to render data over stereo image (i.e. FPS) -#endif +#endif // defined(SUPPORT_VR_SIMULATOR) + +#endif // defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) // Extension supported flag: Anisotropic filtering static bool texAnisotropicFilterSupported = false; // Anisotropic texture filtering support @@ -339,13 +344,13 @@ static void UpdateDefaultBuffers(void); // Update default internal buffers ( static void DrawDefaultBuffers(void); // Draw default internal buffers vertex data static void UnloadDefaultBuffers(void); // Unload default internal buffers vertex data from CPU and GPU -// Configure stereo rendering (including distortion shader) with HMD device parameters -static void SetStereoConfig(VrDeviceInfo info); - -// Set internal projection and modelview matrix depending on eyes tracking data -static void SetStereoView(int eye, Matrix matProjection, Matrix matModelView); +#if defined(SUPPORT_VR_SIMULATOR) +static void SetStereoConfig(VrDeviceInfo info); // Configure stereo rendering (including distortion shader) with HMD device parameters +static void SetStereoView(int eye, Matrix matProjection, Matrix matModelView); // Set internal projection and modelview matrix depending on eye #endif +#endif // defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) + #if defined(GRAPHICS_API_OPENGL_11) static int GenerateMipmaps(unsigned char *data, int baseWidth, int baseHeight); static Color *GenNextMipmap(Color *srcData, int srcWidth, int srcHeight); @@ -1326,7 +1331,7 @@ Vector3 rlglUnproject(Vector3 source, Matrix proj, Matrix view) } // Convert image data to OpenGL texture (returns OpenGL valid Id) -unsigned int rlglLoadTexture(void *data, int width, int height, int textureFormat, int mipmapCount) +unsigned int rlglLoadTexture(void *data, int width, int height, int format, int mipmapCount) { glBindTexture(GL_TEXTURE_2D, 0); // Free any old binding @@ -1334,39 +1339,39 @@ unsigned int rlglLoadTexture(void *data, int width, int height, int textureForma // Check texture format support by OpenGL 1.1 (compressed textures not supported) #if defined(GRAPHICS_API_OPENGL_11) - if (textureFormat >= 8) + if (format >= COMPRESSED_DXT1_RGB) { TraceLog(WARNING, "OpenGL 1.1 does not support GPU compressed texture formats"); return id; } #endif - if ((!texCompDXTSupported) && ((textureFormat == COMPRESSED_DXT1_RGB) || (textureFormat == COMPRESSED_DXT1_RGBA) || - (textureFormat == COMPRESSED_DXT3_RGBA) || (textureFormat == COMPRESSED_DXT5_RGBA))) + if ((!texCompDXTSupported) && ((format == COMPRESSED_DXT1_RGB) || (format == COMPRESSED_DXT1_RGBA) || + (format == COMPRESSED_DXT3_RGBA) || (format == COMPRESSED_DXT5_RGBA))) { TraceLog(WARNING, "DXT compressed texture format not supported"); return id; } #if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) - if ((!texCompETC1Supported) && (textureFormat == COMPRESSED_ETC1_RGB)) + if ((!texCompETC1Supported) && (format == COMPRESSED_ETC1_RGB)) { TraceLog(WARNING, "ETC1 compressed texture format not supported"); return id; } - if ((!texCompETC2Supported) && ((textureFormat == COMPRESSED_ETC2_RGB) || (textureFormat == COMPRESSED_ETC2_EAC_RGBA))) + if ((!texCompETC2Supported) && ((format == COMPRESSED_ETC2_RGB) || (format == COMPRESSED_ETC2_EAC_RGBA))) { TraceLog(WARNING, "ETC2 compressed texture format not supported"); return id; } - if ((!texCompPVRTSupported) && ((textureFormat == COMPRESSED_PVRT_RGB) || (textureFormat == COMPRESSED_PVRT_RGBA))) + if ((!texCompPVRTSupported) && ((format == COMPRESSED_PVRT_RGB) || (format == COMPRESSED_PVRT_RGBA))) { TraceLog(WARNING, "PVRT compressed texture format not supported"); return id; } - if ((!texCompASTCSupported) && ((textureFormat == COMPRESSED_ASTC_4x4_RGBA) || (textureFormat == COMPRESSED_ASTC_8x8_RGBA))) + if ((!texCompASTCSupported) && ((format == COMPRESSED_ASTC_4x4_RGBA) || (format == COMPRESSED_ASTC_8x8_RGBA))) { TraceLog(WARNING, "ASTC compressed texture format not supported"); return id; @@ -1394,7 +1399,7 @@ unsigned int rlglLoadTexture(void *data, int width, int height, int textureForma // GL_RGBA8 GL_RGBA GL_UNSIGNED_BYTE // GL_RGB8 GL_RGB GL_UNSIGNED_BYTE - switch (textureFormat) + switch (format) { case UNCOMPRESSED_GRAYSCALE: { @@ -1435,7 +1440,7 @@ unsigned int rlglLoadTexture(void *data, int width, int height, int textureForma } #elif defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENGL_ES2) // NOTE: on OpenGL ES 2.0 (WebGL), internalFormat must match format and options allowed are: GL_LUMINANCE, GL_RGB, GL_RGBA - switch (textureFormat) + switch (format) { case UNCOMPRESSED_GRAYSCALE: glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE, width, height, 0, GL_LUMINANCE, GL_UNSIGNED_BYTE, (unsigned char *)data); break; case UNCOMPRESSED_GRAY_ALPHA: glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE_ALPHA, width, height, 0, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, (unsigned char *)data); break; @@ -2068,12 +2073,16 @@ void rlglDrawMesh(Mesh mesh, Material material, Matrix transform) } int eyesCount = 1; +#if defined(SUPPORT_VR_SIMULATOR) if (vrStereoRender) eyesCount = 2; +#endif for (int eye = 0; eye < eyesCount; eye++) { - if (eyesCount == 2) SetStereoView(eye, matProjection, matModelView); - else modelview = matModelView; + if (eyesCount == 1) modelview = matModelView; + #if defined(SUPPORT_VR_SIMULATOR) + else SetStereoView(eye, matProjection, matModelView); + #endif // Calculate model-view-projection matrix (MVP) Matrix matMVP = MatrixMultiply(modelview, projection); // Transform to screen-space coordinates @@ -2534,6 +2543,7 @@ void EndBlendMode(void) BeginBlendMode(BLEND_ALPHA); } +#if defined(SUPPORT_VR_SIMULATOR) // Init VR simulator for selected device // NOTE: It modifies the global variable: VrDeviceInfo hmd void InitVrSimulator(int vrDevice) @@ -2761,6 +2771,7 @@ void EndVrDrawing(void) } #endif } +#endif // SUPPORT_VR_SIMULATOR //---------------------------------------------------------------------------------- // Module specific Functions Definition @@ -3306,11 +3317,15 @@ static void DrawDefaultBuffers() Matrix matModelView = modelview; int eyesCount = 1; +#if defined(SUPPORT_VR_SIMULATOR) if (vrStereoRender) eyesCount = 2; +#endif for (int eye = 0; eye < eyesCount; eye++) { + #if defined(SUPPORT_VR_SIMULATOR) if (eyesCount == 2) SetStereoView(eye, matProjection, matModelView); + #endif // Set current shader and upload current MVP matrix if ((lines.vCounter > 0) || (triangles.vCounter > 0) || (quads.vCounter > 0)) @@ -3516,6 +3531,7 @@ static void UnloadDefaultBuffers(void) free(quads.indices); } +#if defined(SUPPORT_VR_SIMULATOR) // Configure stereo rendering (including distortion shader) with HMD device parameters static void SetStereoConfig(VrDeviceInfo hmd) { @@ -3607,6 +3623,8 @@ static void SetStereoView(int eye, Matrix matProjection, Matrix matModelView) SetMatrixModelview(eyeModelView); SetMatrixProjection(eyeProjection); } +#endif // defined(SUPPORT_VR_SIMULATOR) + #endif //defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) #if defined(GRAPHICS_API_OPENGL_11) diff --git a/src/rlgl.h b/src/rlgl.h index a870a907d..8358efb85 100644 --- a/src/rlgl.h +++ b/src/rlgl.h @@ -17,7 +17,9 @@ * #define GRAPHICS_API_OPENGL_21 * #define GRAPHICS_API_OPENGL_33 * #define GRAPHICS_API_OPENGL_ES2 -* Use selected OpenGL backend +* Use selected OpenGL graphics backend, should be supported by platform +* Those preprocessor defines are only used on rlgl module, if OpenGL version is +* required by any other module, use rlGetVersion() tocheck it * * #define RLGL_STANDALONE * Use rlgl as standalone library (no raylib dependency) @@ -57,11 +59,8 @@ #ifndef RLGL_H #define RLGL_H -//#define RLGL_STANDALONE // NOTE: To use rlgl as standalone lib, just uncomment this line - #ifndef RLGL_STANDALONE - #include "raylib.h" // Required for: Model, Shader, Texture2D - #include "utils.h" // Required for: TraceLog() + #include "raylib.h" // Required for: Model, Shader, Texture2D, TraceLog() #endif #ifdef RLGL_STANDALONE @@ -70,15 +69,6 @@ #include "raymath.h" // Required for: Vector3, Matrix -// Select desired OpenGL version -// NOTE: Those preprocessor defines are only used on rlgl module, -// if OpenGL version is required by any other module, it uses rlGetVersion() - -// Choose opengl version here or just define it at compile time: -DGRAPHICS_API_OPENGL_33 -//#define GRAPHICS_API_OPENGL_11 // Only available on PLATFORM_DESKTOP -//#define GRAPHICS_API_OPENGL_33 // Only available on PLATFORM_DESKTOP and RLGL_OCULUS_SUPPORT -//#define GRAPHICS_API_OPENGL_ES2 // Only available on PLATFORM_ANDROID or PLATFORM_RPI or PLATFORM_WEB - // Security check in case no GRAPHICS_API_OPENGL_* defined #if !defined(GRAPHICS_API_OPENGL_11) && !defined(GRAPHICS_API_OPENGL_21) && !defined(GRAPHICS_API_OPENGL_33) && !defined(GRAPHICS_API_OPENGL_ES2) #define GRAPHICS_API_OPENGL_11 @@ -165,28 +155,23 @@ typedef unsigned char byte; unsigned char b; unsigned char a; } Color; + + // Texture2D type + // NOTE: Data stored in GPU memory + typedef struct Texture2D { + unsigned int id; // OpenGL texture id + int width; // Texture base width + int height; // Texture base height + int mipmaps; // Mipmap levels, 1 by default + int format; // Data format (TextureFormat) + } Texture2D; - // Texture formats (support depends on OpenGL version) - typedef enum { - UNCOMPRESSED_GRAYSCALE = 1, // 8 bit per pixel (no alpha) - UNCOMPRESSED_GRAY_ALPHA, - UNCOMPRESSED_R5G6B5, // 16 bpp - UNCOMPRESSED_R8G8B8, // 24 bpp - UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha) - UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha) - UNCOMPRESSED_R8G8B8A8, // 32 bpp - COMPRESSED_DXT1_RGB, // 4 bpp (no alpha) - COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha) - COMPRESSED_DXT3_RGBA, // 8 bpp - COMPRESSED_DXT5_RGBA, // 8 bpp - COMPRESSED_ETC1_RGB, // 4 bpp - COMPRESSED_ETC2_RGB, // 4 bpp - COMPRESSED_ETC2_EAC_RGBA, // 8 bpp - COMPRESSED_PVRT_RGB, // 4 bpp - COMPRESSED_PVRT_RGBA, // 4 bpp - COMPRESSED_ASTC_4x4_RGBA, // 8 bpp - COMPRESSED_ASTC_8x8_RGBA // 2 bpp - } TextureFormat; + // RenderTexture2D type, for texture rendering + typedef struct RenderTexture2D { + unsigned int id; // Render texture (fbo) id + Texture2D texture; // Color buffer attachment texture + Texture2D depth; // Depth buffer attachment texture + } RenderTexture2D; // Vertex data definning a mesh typedef struct Mesh { @@ -228,23 +213,6 @@ typedef unsigned char byte; int mapTexture2Loc; // Map texture uniform location point (default-texture-unit = 2) } Shader; - // Texture2D type - // NOTE: Data stored in GPU memory - typedef struct Texture2D { - unsigned int id; // OpenGL texture id - int width; // Texture base width - int height; // Texture base height - int mipmaps; // Mipmap levels, 1 by default - int format; // Data format (TextureFormat) - } Texture2D; - - // RenderTexture2D type, for texture rendering - typedef struct RenderTexture2D { - unsigned int id; // Render texture (fbo) id - Texture2D texture; // Color buffer attachment texture - Texture2D depth; // Depth buffer attachment texture - } RenderTexture2D; - // Material type typedef struct Material { Shader shader; // Standard shader (supports 3 map types: diffuse, normal, specular) @@ -267,6 +235,37 @@ typedef unsigned char byte; Vector3 up; // Camera up vector (rotation over its axis) float fovy; // Camera field-of-view apperture in Y (degrees) } Camera; + + // TraceLog message types + typedef enum { + INFO = 0, + ERROR, + WARNING, + DEBUG, + OTHER + } TraceLogType; + + // Texture formats (support depends on OpenGL version) + typedef enum { + UNCOMPRESSED_GRAYSCALE = 1, // 8 bit per pixel (no alpha) + UNCOMPRESSED_GRAY_ALPHA, + UNCOMPRESSED_R5G6B5, // 16 bpp + UNCOMPRESSED_R8G8B8, // 24 bpp + UNCOMPRESSED_R5G5B5A1, // 16 bpp (1 bit alpha) + UNCOMPRESSED_R4G4B4A4, // 16 bpp (4 bit alpha) + UNCOMPRESSED_R8G8B8A8, // 32 bpp + COMPRESSED_DXT1_RGB, // 4 bpp (no alpha) + COMPRESSED_DXT1_RGBA, // 4 bpp (1 bit alpha) + COMPRESSED_DXT3_RGBA, // 8 bpp + COMPRESSED_DXT5_RGBA, // 8 bpp + COMPRESSED_ETC1_RGB, // 4 bpp + COMPRESSED_ETC2_RGB, // 4 bpp + COMPRESSED_ETC2_EAC_RGBA, // 8 bpp + COMPRESSED_PVRT_RGB, // 4 bpp + COMPRESSED_PVRT_RGBA, // 4 bpp + COMPRESSED_ASTC_4x4_RGBA, // 8 bpp + COMPRESSED_ASTC_8x8_RGBA // 2 bpp + } TextureFormat; // Texture parameters: filter mode // NOTE 1: Filtering considers mipmaps if available in the texture @@ -281,13 +280,18 @@ typedef unsigned char byte; } TextureFilterMode; // Texture parameters: wrap mode - typedef enum { WRAP_REPEAT = 0, WRAP_CLAMP, WRAP_MIRROR } TextureWrapMode; + typedef enum { + WRAP_REPEAT = 0, + WRAP_CLAMP, + WRAP_MIRROR + } TextureWrapMode; // Color blending modes (pre-defined) - typedef enum { BLEND_ALPHA = 0, BLEND_ADDITIVE, BLEND_MULTIPLIED } BlendMode; - - // TraceLog message types - typedef enum { INFO = 0, ERROR, WARNING, DEBUG, OTHER } TraceLogType; + typedef enum { + BLEND_ALPHA = 0, + BLEND_ADDITIVE, + BLEND_MULTIPLIED + } BlendMode; // VR Head Mounted Display devices typedef enum { @@ -366,7 +370,7 @@ void rlglClose(void); // De-init rlgl void rlglDraw(void); // Draw VAO/VBO void rlglLoadExtensions(void *loader); // Load OpenGL extensions -unsigned int rlglLoadTexture(void *data, int width, int height, int textureFormat, int mipmapCount); // Load texture in GPU +unsigned int rlglLoadTexture(void *data, int width, int height, int format, int mipmapCount); // Load texture in GPU RenderTexture2D rlglLoadRenderTexture(int width, int height); // Load a texture to be used for rendering (fbo with color and depth attachments) void rlglUpdateTexture(unsigned int id, int width, int height, int format, const void *data); // Update GPU texture with new data void rlglGenerateMipmaps(Texture2D *texture); // Generate mipmap data for selected texture diff --git a/src/text.c b/src/text.c index a057e3470..cba9a7d6f 100644 --- a/src/text.c +++ b/src/text.c @@ -50,7 +50,7 @@ #include // Required for: va_list, va_start(), vfprintf(), va_end() #include // Required for: FILE, fopen(), fclose(), fscanf(), feof(), rewind(), fgets() -#include "utils.h" // Required for: IsFileExtension() +#include "utils.h" // Required for: fopen() Android mapping #if defined(SUPPORT_FILEFORMAT_TTF) // Following libs are used on LoadTTF() @@ -316,7 +316,7 @@ SpriteFont LoadSpriteFont(const char *fileName) //UnloadResource(rres[0]); } #if defined(SUPPORT_FILEFORMAT_TTF) - else if (IsFileExtension(fileName, ".ttf")) spriteFont = LoadSpriteFontTTF(fileName, DEFAULT_TTF_FONTSIZE, 0, NULL); + else if (IsFileExtension(fileName, ".ttf")) spriteFont = LoadSpriteFontEx(fileName, DEFAULT_TTF_FONTSIZE, 0, NULL); #endif #if defined(SUPPORT_FILEFORMAT_FNT) else if (IsFileExtension(fileName, ".fnt")) spriteFont = LoadBMFont(fileName); @@ -341,7 +341,7 @@ SpriteFont LoadSpriteFont(const char *fileName) // Load SpriteFont from TTF font file with generation parameters // NOTE: You can pass an array with desired characters, those characters should be available in the font // if array is NULL, default char set is selected 32..126 -SpriteFont LoadSpriteFontTTF(const char *fileName, int fontSize, int charsCount, int *fontChars) +SpriteFont LoadSpriteFontEx(const char *fileName, int fontSize, int charsCount, int *fontChars) { SpriteFont spriteFont = { 0 }; diff --git a/src/textures.c b/src/textures.c index 8e3a1ee1f..2b61c241d 100644 --- a/src/textures.c +++ b/src/textures.c @@ -65,7 +65,7 @@ // Required for: rlglLoadTexture() rlDeleteTextures(), // rlglGenerateMipmaps(), some funcs for DrawTexturePro() -#include "utils.h" // Required for: fopen() Android mapping, TraceLog() +#include "utils.h" // Required for: fopen() Android mapping // Support only desired texture formats on stb_image #if !defined(SUPPORT_FILEFORMAT_BMP) @@ -154,14 +154,7 @@ static Image LoadASTC(const char *fileName); // Load ASTC file // Load image from file into CPU memory (RAM) Image LoadImage(const char *fileName) { - Image image; - - // Initialize image default values - image.data = NULL; - image.width = 0; - image.height = 0; - image.mipmaps = 0; - image.format = 0; + Image image = { 0 }; if (IsFileExtension(fileName, ".rres")) { @@ -195,9 +188,13 @@ Image LoadImage(const char *fileName) int imgWidth = 0; int imgHeight = 0; int imgBpp = 0; + + FILE *imFile = fopen(fileName, "rb"); // NOTE: Using stb_image to load images (Supports: BMP, TGA, PNG, JPG, ...) - image.data = stbi_load(fileName, &imgWidth, &imgHeight, &imgBpp, 0); + image.data = stbi_load_from_file(imFile, &imgWidth, &imgHeight, &imgBpp, 0); + + fclose(imFile); image.width = imgWidth; image.height = imgHeight; @@ -278,13 +275,7 @@ Image LoadImagePro(void *data, int width, int height, int format) // Load an image from RAW file data Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize) { - Image image; - - image.data = NULL; - image.width = 0; - image.height = 0; - image.mipmaps = 0; - image.format = 0; + Image image = { 0 }; FILE *rawFile = fopen(fileName, "rb"); @@ -338,7 +329,7 @@ Image LoadImageRaw(const char *fileName, int width, int height, int format, int // Load texture from file into GPU memory (VRAM) Texture2D LoadTexture(const char *fileName) { - Texture2D texture; + Texture2D texture = { 0 }; Image image = LoadImage(fileName); @@ -347,11 +338,7 @@ Texture2D LoadTexture(const char *fileName) texture = LoadTextureFromImage(image); UnloadImage(image); } - else - { - TraceLog(WARNING, "Texture could not be created"); - texture.id = 0; - } + else TraceLog(WARNING, "Texture could not be created"); return texture; } @@ -360,14 +347,7 @@ Texture2D LoadTexture(const char *fileName) // NOTE: image is not unloaded, it must be done manually Texture2D LoadTextureFromImage(Image image) { - Texture2D texture; - - // Init texture to default values - texture.id = 0; - texture.width = 0; - texture.height = 0; - texture.mipmaps = 0; - texture.format = 0; + Texture2D texture = { 0 }; texture.id = rlglLoadTexture(image.data, image.width, image.height, image.format, image.mipmaps); @@ -375,6 +355,8 @@ Texture2D LoadTextureFromImage(Image image) texture.height = image.height; texture.mipmaps = image.mipmaps; texture.format = image.format; + + TraceLog(INFO, "[TEX %i] Parameters: %ix%i, %i mips, format %i", texture.id, texture.width, texture.height, texture.mipmaps, texture.format); return texture; } @@ -504,9 +486,8 @@ Color *GetImageData(Image image) // NOTE: Compressed texture formats not supported Image GetTextureData(Texture2D texture) { - Image image; - image.data = NULL; - + Image image = { 0 }; + if (texture.format < 8) { image.data = rlglReadTexturePixels(texture); diff --git a/src/utils.h b/src/utils.h index 2b4d838b9..64592c739 100644 --- a/src/utils.h +++ b/src/utils.h @@ -46,8 +46,6 @@ //---------------------------------------------------------------------------------- // Types and Structures Definition //---------------------------------------------------------------------------------- -typedef enum { INFO = 0, ERROR, WARNING, DEBUG, OTHER } TraceLogType; - #ifdef __cplusplus extern "C" { // Prevents name mangling of functions #endif @@ -60,8 +58,6 @@ extern "C" { // Prevents name mangling of functions //---------------------------------------------------------------------------------- // Module Functions Declaration //---------------------------------------------------------------------------------- -void TraceLog(int msgType, const char *text, ...); // Outputs a trace log message - #if defined(PLATFORM_DESKTOP) || defined(PLATFORM_RPI) #if defined(SUPPORT_SAVE_BMP) void SaveBMP(const char *fileName, unsigned char *imgData, int width, int height, int compSize); diff --git a/templates/basic_game/Makefile b/templates/basic_game/Makefile index b9704b4b2..6114b1ce1 100644 --- a/templates/basic_game/Makefile +++ b/templates/basic_game/Makefile @@ -141,7 +141,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) else # libraries for Windows desktop compiling # NOTE: GLFW3 and OpenAL Soft libraries should be installed - LIBS = -lraylib -lglfw3 -lglew32 -lopengl32 -lopenal32 -lgdi32 + LIBS = -lraylib -lglfw3 -lopengl32 -lopenal32 -lgdi32 endif endif endif diff --git a/templates/web_shell/shell.html b/templates/web_shell/shell.html index c154ee7e4..b7cbb581c 100644 --- a/templates/web_shell/shell.html +++ b/templates/web_shell/shell.html @@ -49,7 +49,7 @@ float:left; position:relative; margin:10px; - background-image:url(http://www.raylib.com/img/raylib_logo64x64.png); + background-image:url(http://www.raylib.com/common/img/raylib_logo_64x64.png); } .emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; } @@ -57,7 +57,7 @@ div.emscripten_border { border: 1px solid black; } /* the canvas *must not* have any border or padding, or mouse coords will be wrong */ - canvas.emscripten { border: 0px none; } + canvas.emscripten { border: 0px none; background: black; } #emscripten_logo { display: inline-block; @@ -144,7 +144,7 @@
Downloading...
- +